summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/generic/markdown/CHANGES.md22
-rw-r--r--macros/generic/markdown/README.md37
-rw-r--r--macros/generic/markdown/VERSION2
-rw-r--r--macros/generic/markdown/examples/context-mkiv.tex13
-rw-r--r--macros/generic/markdown/examples/latex-luatex.tex29
-rw-r--r--macros/generic/markdown/examples/latex-pdftex.tex18
-rw-r--r--macros/generic/markdown/markdown.dtx767
-rw-r--r--macros/generic/markdown/markdown.html2
-rw-r--r--macros/generic/markdown/markdown.pdfbin1099548 -> 1116505 bytes
-rw-r--r--macros/latex-dev/required/l3backend/CHANGELOG.md15
-rw-r--r--macros/latex-dev/required/l3backend/README.md2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-basics.dtx14
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-code.pdfbin907792 -> 907105 bytes
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-color.dtx28
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-draw.dtx4
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-graphics.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-header.dtx4
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-opacity.dtx2
-rw-r--r--macros/latex-dev/required/l3backend/l3backend-pdf.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/CHANGELOG.md14
-rw-r--r--macros/latex-dev/required/l3kernel/README.md2
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.pdfbin610072 -> 610545 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.pdfbin1801762 -> 1803277 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3box.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3coffins.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3color.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3debug.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3deprecation.dtx9
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.dtx10
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.pdfbin565293 -> 565744 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.pdfbin150996 -> 151414 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3expan.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3file.dtx8
-rw-r--r--macros/latex-dev/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-parse.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fparray.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3int.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3intarray.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3keys.dtx309
-rw-r--r--macros/latex-dev/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3luatex.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3msg.dtx22
-rw-r--r--macros/latex-dev/required/l3kernel/l3names.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3news.pdfbin402149 -> 396223 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news01.pdfbin122973 -> 122959 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news02.pdfbin150932 -> 150919 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news03.pdfbin154694 -> 148747 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news04.pdfbin114764 -> 114754 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news05.pdfbin112536 -> 112524 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news06.pdfbin151602 -> 151591 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news07.pdfbin128356 -> 128344 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news08.pdfbin163496 -> 163484 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.pdfbin256114 -> 250161 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3news10.pdfbin156270 -> 150302 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news11.pdfbin176082 -> 170102 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news12.pdfbin210972 -> 205020 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3pdf.dtx15
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.csv9
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.pdfbin82732 -> 82856 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3prop.dtx58
-rw-r--r--macros/latex-dev/required/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3regex.dtx46
-rw-r--r--macros/latex-dev/required/l3kernel/l3seq.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.pdfbin296269 -> 296746 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.pdfbin231115 -> 231577 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.pdfbin241905 -> 242381 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-case.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3unicode.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/source3.pdfbin7624184 -> 7620398 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/acmart/README2
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx7
-rw-r--r--macros/latex/contrib/acmart/acmart.pdfbin918804 -> 918998 bytes
-rw-r--r--macros/latex/contrib/acmart/acmguide.pdfbin439778 -> 439778 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmcp.pdfbin214495 -> 214495 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmengage.pdfbin400681 -> 400681 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmlarge.pdfbin611542 -> 611542 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdfbin634239 -> 634239 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdfbin1056847 -> 1056847 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdfbin624039 -> 624039 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall.pdfbin621531 -> 621531 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdfbin569299 -> 569299 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog.pdfbin569061 -> 569061 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-manuscript.pdfbin623030 -> 623030 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdfbin1048753 -> 1048751 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdfbin622065 -> 622065 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdfbin1060242 -> 1060242 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf.pdfbin1044964 -> 1044964 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigplan.pdfbin1053423 -> 1053423 bytes
-rw-r--r--macros/latex/contrib/arraycols/arraycols.dtx148
-rw-r--r--macros/latex/contrib/arraycols/arraycols.ins4
-rw-r--r--macros/latex/contrib/arraycols/arraycols.pdfbin464654 -> 129129 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/latvian/README.md10
-rw-r--r--macros/latex/contrib/babel-contrib/latvian/latvian.dtx18
-rw-r--r--macros/latex/contrib/babel-contrib/latvian/latvian.pdfbin267036 -> 282377 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/welsh/README.md (renamed from macros/latex/contrib/babel-contrib/welsh/README)13
-rw-r--r--macros/latex/contrib/babel-contrib/welsh/welsh.dtx12
-rw-r--r--macros/latex/contrib/babel-contrib/welsh/welsh.pdfbin111128 -> 119975 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/DEPENDS.txt2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/README.md33
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamercolorthemerainbow.sty2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty199
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.pdfbin161174 -> 164420 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.tex164
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/DEPENDS.txt4
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md31
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc-settings.sty199
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdfbin177469 -> 178055 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex198
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/README3
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdfbin411119 -> 412844 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex29
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx41
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx2
-rw-r--r--macros/latex/contrib/colorblind/ChangeLog7
-rw-r--r--macros/latex/contrib/colorblind/README.md23
-rw-r--r--macros/latex/contrib/colorblind/bib.bib43
-rw-r--r--macros/latex/contrib/colorblind/colorblind.sty398
-rw-r--r--macros/latex/contrib/colorblind/documentation.pdfbin0 -> 105258 bytes
-rw-r--r--macros/latex/contrib/colorblind/documentation.tex365
-rw-r--r--macros/latex/contrib/csvsimple/CHANGES.md12
-rw-r--r--macros/latex/contrib/csvsimple/README.md2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-doc.sty6
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-example.pdfbin72044 -> 72044 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-example.tex2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.pdfbin937516 -> 951198 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.sty12
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.tex53
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.pdfbin690987 -> 690985 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.sty4
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.tex2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.pdfbin295559 -> 295659 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.sty4
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.tex2
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdfbin182916 -> 183174 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex6
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdfbin1399073 -> 1446315 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex185
-rw-r--r--macros/latex/contrib/customenvs/doc/envtexo_exemples.tex158
-rw-r--r--macros/latex/contrib/customenvs/tex/customenvs.sty267
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx666
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin608631 -> 632806 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex733
-rw-r--r--macros/latex/contrib/els-cas-templates/README2
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-common.sty11
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-dc-sample.pdfbin0 -> 909164 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-dc-sample.tex463
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-dc-template.tex61
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-dc.cls26
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-model2-names.bst8
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-refs.bib2
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-sc-sample.pdfbin0 -> 956878 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-sc-sample.tex457
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-sc-template.tex62
-rw-r--r--macros/latex/contrib/els-cas-templates/cas-sc.cls11
-rw-r--r--macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.pdfbin433973 -> 430989 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.tex6
-rw-r--r--macros/latex/contrib/els-cas-templates/doc/rvdtx.sty4
-rw-r--r--macros/latex/contrib/els-cas-templates/figs/cas-grabs.pdfbin0 -> 8354 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/figs/cas-munnar-2024.jpgbin0 -> 681950 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/figs/cas-pic1.pdfbin0 -> 2546 bytes
-rw-r--r--macros/latex/contrib/els-cas-templates/manifest.txt36
-rw-r--r--macros/latex/contrib/elteiktdk/LICENSE2
-rw-r--r--macros/latex/contrib/elteiktdk/README.md16
-rw-r--r--macros/latex/contrib/elteiktdk/README.pdfbin166760 -> 168708 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/README_hu.md10
-rw-r--r--macros/latex/contrib/elteiktdk/README_hu.pdfbin169068 -> 170214 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk.bib2
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk.cls10
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_en.pdfbin306031 -> 326320 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_en.tex5
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_hu.pdfbin324742 -> 331537 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_hu.tex5
-rw-r--r--macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdfbin0 -> 119514 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/LICENSE2
-rw-r--r--macros/latex/contrib/elteikthesis/README.md10
-rw-r--r--macros/latex/contrib/elteikthesis/README.pdfbin168297 -> 163898 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.md5
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.pdfbin172359 -> 167241 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.bib2
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.cls14
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_en.pdfbin434374 -> 461564 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_en.tex6
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_hu.pdfbin463564 -> 489954 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_hu.tex6
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_minted.pdfbin93792 -> 43367 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_minted.tex2
-rw-r--r--macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdfbin0 -> 119514 bytes
-rw-r--r--macros/latex/contrib/esindex/README.md4
-rw-r--r--macros/latex/contrib/esindex/esindex.pdfbin62539 -> 68921 bytes
-rw-r--r--macros/latex/contrib/esindex/esindex.sty37
-rw-r--r--macros/latex/contrib/esindex/esindex.tex8
-rw-r--r--macros/latex/contrib/exercisesheets/README17
-rw-r--r--macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex1.tex9
-rw-r--r--macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex2.lua7
-rw-r--r--macros/latex/contrib/exercisesheets/examples/exshexample-embedded.tex116
-rw-r--r--macros/latex/contrib/exercisesheets/examples/exshexample.tex286
-rw-r--r--macros/latex/contrib/exercisesheets/exercisesheets-doc.pdfbin0 -> 128498 bytes
-rw-r--r--macros/latex/contrib/exercisesheets/exercisesheets-doc.tex1086
-rw-r--r--macros/latex/contrib/exercisesheets/exercisesheets.sty1961
-rw-r--r--macros/latex/contrib/fadingimage/README.md20
-rw-r--r--macros/latex/contrib/fadingimage/doc/fadingimage.pdfbin228555 -> 137070 bytes
-rw-r--r--macros/latex/contrib/fadingimage/doc/fadingimage.tex74
-rw-r--r--macros/latex/contrib/fadingimage/tex/fadingimage.sty88
-rw-r--r--macros/latex/contrib/fancyhdr/README8
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.dtx90
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.pdfbin870150 -> 875225 bytes
-rw-r--r--macros/latex/contrib/fontscale/CHANGELOG.md33
-rw-r--r--macros/latex/contrib/fontscale/beery.cls5
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.pdfbin131367 -> 117192 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.tex52
-rw-r--r--macros/latex/contrib/fontscale/fontscale.sty668
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.dtx724
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.pdfbin580908 -> 864717 bytes
-rw-r--r--macros/latex/contrib/fvextra/CHANGELOG.md231
-rw-r--r--macros/latex/contrib/fvextra/fvextra.dtx210
-rw-r--r--macros/latex/contrib/fvextra/fvextra.ins4
-rw-r--r--macros/latex/contrib/fvextra/fvextra.pdfbin905185 -> 895911 bytes
-rw-r--r--macros/latex/contrib/huaz/README2
-rw-r--r--macros/latex/contrib/huaz/huaz.pdfbin328438 -> 371130 bytes
-rw-r--r--macros/latex/contrib/huaz/huaz.sty580
-rw-r--r--macros/latex/contrib/huaz/huaz.tex892
-rw-r--r--macros/latex/contrib/hvqrurl/Changes1
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.pdfbin117382 -> 118777 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.tex6
-rw-r--r--macros/latex/contrib/hvqrurl/latex/hvqrurl.sty33
-rw-r--r--macros/latex/contrib/jsonparse/README.md17
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.pdf1662
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.svg67
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.pdfbin386673 -> 578489 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.tex213
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse.sty772
-rw-r--r--macros/latex/contrib/lastpage/README6
-rw-r--r--macros/latex/contrib/lastpage/lastpage-example.pdfbin130736 -> 130201 bytes
-rw-r--r--macros/latex/contrib/lastpage/lastpage.dtx320
-rw-r--r--macros/latex/contrib/lastpage/lastpage.pdfbin448061 -> 440278 bytes
-rw-r--r--macros/latex/contrib/latex2pydata/CHANGELOG.md39
-rw-r--r--macros/latex/contrib/latex2pydata/README13
-rw-r--r--macros/latex/contrib/latex2pydata/latex2pydata.dtx282
-rw-r--r--macros/latex/contrib/latex2pydata/latex2pydata.ins4
-rw-r--r--macros/latex/contrib/latex2pydata/latex2pydata.pdfbin292477 -> 296929 bytes
-rw-r--r--macros/latex/contrib/litesolution/README.md20
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/Beautiful-realities.jpeg (renamed from macros/latex/contrib/litesolution/doc/Beautiful-realities.jpeg)bin94115 -> 94115 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/schrodinger.pdf (renamed from macros/latex/contrib/litesolution/doc/schrodinger.pdf)bin1996 -> 1996 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.pdfbin0 -> 97170 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.tex44
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.pdfbin551913 -> 276452 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.tex121
-rw-r--r--macros/latex/contrib/litesolution/tex/litesolution.cls226
-rw-r--r--macros/latex/contrib/mathgreeks/README.md30
-rw-r--r--macros/latex/contrib/mathgreeks/mathgreeks.dtx1330
-rw-r--r--macros/latex/contrib/mathgreeks/mathgreeks.ins56
-rw-r--r--macros/latex/contrib/mathgreeks/mathgreeks.pdfbin0 -> 1716766 bytes
-rw-r--r--macros/latex/contrib/mismath/README.md8
-rw-r--r--macros/latex/contrib/mismath/mismath.dtx1097
-rw-r--r--macros/latex/contrib/mismath/mismath.ins2
-rw-r--r--macros/latex/contrib/mismath/mismath.pdfbin155495 -> 438746 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/README.md18
-rw-r--r--macros/latex/contrib/msu-thesis/docs/msu-thesis.tex35
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.cls18
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.pdfbin114013 -> 117097 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.dtx34755
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.pdf51640
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdf7639
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex105
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdf8458
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.tex109
-rw-r--r--macros/latex/contrib/nmbib/Makefile6
-rw-r--r--macros/latex/contrib/nmbib/README2
-rw-r--r--macros/latex/contrib/nmbib/nmbib-sample.pdf (renamed from macros/latex/contrib/nmbib/nmsample.pdf)bin96763 -> 101693 bytes
-rw-r--r--macros/latex/contrib/nmbib/nmbib-sample.tex (renamed from macros/latex/contrib/nmbib/nmsample.tex)0
-rw-r--r--macros/latex/contrib/nmbib/nmbib.dtx4
-rw-r--r--macros/latex/contrib/nmbib/nmbib.pdfbin347244 -> 368243 bytes
-rw-r--r--macros/latex/contrib/nmbib/nmbibtex.1135
-rw-r--r--macros/latex/contrib/notebeamer/README.md25
-rw-r--r--macros/latex/contrib/notebeamer/doc/figures/beamerdemo.pdf (renamed from macros/latex/contrib/notebeamer/doc/images/newnote3sdemo.pdf)bin311010 -> 274146 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/figures/paperdemo.pdfbin0 -> 2670286 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/HDU.pdfbin84691 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/Inuyasa.jpgbin39979 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/newnote4sdemo.pdfbin1075706 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/newnotedemo.pdfbin8075486 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/titlepage1.pdfbin286314 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/images/titlepage2.pdfbin12057 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer-demo.pdfbin2963011 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer-demo.tex29
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer-doc.pdfbin3033387 -> 0 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer-doc.tex285
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer.pdfbin0 -> 907049 bytes
-rw-r--r--macros/latex/contrib/notebeamer/doc/notebeamer.tex142
-rw-r--r--macros/latex/contrib/notebeamer/tex/notebeamer.cls314
-rw-r--r--macros/latex/contrib/notebeamer/tex/notebeamer.sty160
-rw-r--r--macros/latex/contrib/osda/README.md4
-rw-r--r--macros/latex/contrib/osda/example.pngbin162079 -> 186840 bytes
-rw-r--r--macros/latex/contrib/osda/osda.dtx111
-rw-r--r--macros/latex/contrib/osda/osda.ins4
-rw-r--r--macros/latex/contrib/osda/osda.pdfbin192843 -> 219701 bytes
-rw-r--r--macros/latex/contrib/ppt-slides/README.md9
-rw-r--r--macros/latex/contrib/ppt-slides/ppt-slides.dtx4
-rw-r--r--macros/latex/contrib/ppt-slides/ppt-slides.pdfbin935972 -> 935953 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin10211376 -> 10330568 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCArbreChiffre.tex200
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex501
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex11
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex61
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCConversion.tex19
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex8
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex10
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex226
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex177
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPixelArt.tex118
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPythagore.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCReperage.tex12
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex9
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCStatistiques.tex19
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCThales.tex14
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex4
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCTrio.tex37
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCVisualisationMulDeci.tex135
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCVueCubes.tex99
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty122
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCObjets.mp257
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCScratch.mp7
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin1663998 -> 1783164 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdfbin73910 -> 74004 bytes
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty7
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex14
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex30
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex396
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-exams.tex152
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex189
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex183
-rw-r--r--macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdfbin288578 -> 298965 bytes
-rw-r--r--macros/latex/contrib/profmaquette/latex/ProfMaquette.sty407
-rw-r--r--macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx2
-rw-r--r--macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdfbin40793 -> 40800 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdfbin201564 -> 201562 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalnotes.pdfbin197819 -> 197818 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-sidenotes.pdfbin295209 -> 295212 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-tabular.pdfbin285556 -> 285559 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdfbin198959 -> 198959 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses.pdfbin198794 -> 198796 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-antilabe.pdfbin210969 -> 210970 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-cross_referencing.pdfbin198304 -> 198303 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdfbin201443 -> 201445 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-glossaries.pdfbin285503 -> 285501 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-indexing.pdfbin278070 -> 278069 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdfbin276219 -> 276219 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdfbin292434 -> 292435 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-linespacing.pdfbin286626 -> 286624 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdfbin288123 -> 288122 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-notes-width.pdfbin204669 -> 204669 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdfbin212242 -> 212239 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-performances.pdfbin284583 -> 284580 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdfbin36940 -> 36941 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdfbin310603 -> 310601 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin288795 -> 288795 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199918 -> 199919 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23442 -> 23444 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdfbin175650 -> 175645 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32047 -> 32049 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin289211 -> 289211 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin200041 -> 200045 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199278 -> 199281 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177110 -> 177110 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199681 -> 199684 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198615 -> 198615 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198665 -> 198673 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198797 -> 198798 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin214377 -> 214375 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin210488 -> 210491 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdfbin204974 -> 204973 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin298422 -> 298425 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin204015 -> 204015 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin225555 -> 225554 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdfbin251002 -> 251039 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin202381 -> 202382 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin198565 -> 198565 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin302774 -> 302779 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206955 -> 206948 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdfbin194198 -> 194201 bytes
-rw-r--r--macros/latex/contrib/reledmac/migration.pdfbin368423 -> 368433 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledmac.dtx29
-rw-r--r--macros/latex/contrib/reledmac/reledmac.pdfbin2159903 -> 2162033 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledpar.dtx4
-rw-r--r--macros/latex/contrib/reledmac/reledpar.pdfbin1046923 -> 1041243 bytes
-rw-r--r--macros/latex/contrib/rigidnotation/README.md31
-rw-r--r--macros/latex/contrib/rigidnotation/rigidnotation.dtx507
-rw-r--r--macros/latex/contrib/rigidnotation/rigidnotation.ins41
-rw-r--r--macros/latex/contrib/rigidnotation/rigidnotation.pdfbin0 -> 273004 bytes
-rw-r--r--macros/latex/contrib/rpgicons/LICENSE415
-rw-r--r--macros/latex/contrib/rpgicons/README.md30
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.pdfbin0 -> 500755 bytes
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.tex868
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-l3.sty2025
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-pgf.sty2596
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons.sty35
-rw-r--r--macros/latex/contrib/se2thesis/CHANGELOG.md31
-rw-r--r--macros/latex/contrib/se2thesis/se2colors.dtx7
-rw-r--r--macros/latex/contrib/se2thesis/se2fonts.dtx63
-rw-r--r--macros/latex/contrib/se2thesis/se2packages.dtx6
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdfbin231059 -> 232642 bytes
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex15
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.dtx78
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.ins6
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.pdfbin350351 -> 357376 bytes
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.tex2
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md23
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin645640 -> 646201 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-quantity.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-symbol.dtx91
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin703738 -> 703731 bytes
-rw-r--r--macros/latex/contrib/skillicons/README.md15
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark-eps-converted-to.pdfbin0 -> 4797 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark.epsbin0 -> 3388 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light-eps-converted-to.pdfbin0 -> 4809 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light.epsbin0 -> 3398 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark-eps-converted-to.pdfbin0 -> 2972 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark.epsbin0 -> 1684 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light.epsbin0 -> 1692 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark-eps-converted-to.pdfbin0 -> 2597 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark.epsbin0 -> 1295 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light.epsbin0 -> 1293 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark-eps-converted-to.pdfbin0 -> 5045 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark.epsbin0 -> 3670 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light-eps-converted-to.pdfbin0 -> 5059 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light.epsbin0 -> 3681 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis-eps-converted-to.pdfbin0 -> 2700 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis.epsbin0 -> 1398 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects-eps-converted-to.pdfbin0 -> 3463 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects.epsbin0 -> 2172 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark-eps-converted-to.pdfbin0 -> 6362 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark.epsbin0 -> 5237 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light-eps-converted-to.pdfbin0 -> 6346 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light.epsbin0 -> 5219 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark.epsbin0 -> 1224 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light-eps-converted-to.pdfbin0 -> 2522 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light.epsbin0 -> 1221 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark-eps-converted-to.pdfbin0 -> 4610 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark.epsbin0 -> 3234 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light-eps-converted-to.pdfbin0 -> 4609 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light.epsbin0 -> 3236 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark-eps-converted-to.pdfbin0 -> 4039 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark.epsbin0 -> 2656 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light-eps-converted-to.pdfbin0 -> 4038 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light.epsbin0 -> 2656 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark.epsbin0 -> 1314 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light.epsbin0 -> 1315 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible-eps-converted-to.pdfbin0 -> 3275 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible.epsbin0 -> 1893 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo-eps-converted-to.pdfbin0 -> 3733 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo.epsbin0 -> 2141 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark-eps-converted-to.pdfbin0 -> 3431 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark.epsbin0 -> 2088 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light-eps-converted-to.pdfbin0 -> 3428 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light.epsbin0 -> 2087 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite-eps-converted-to.pdfbin0 -> 3524 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite.epsbin0 -> 2159 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark-eps-converted-to.pdfbin0 -> 6959 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark.epsbin0 -> 3511 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light-eps-converted-to.pdfbin0 -> 6957 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light.epsbin0 -> 3513 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino-eps-converted-to.pdfbin0 -> 3877 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino.epsbin0 -> 2535 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Astro-eps-converted-to.pdfbin0 -> 6185 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Astro.epsbin0 -> 3447 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Atom-eps-converted-to.pdfbin0 -> 4785 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Atom.epsbin0 -> 3181 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Audition-eps-converted-to.pdfbin0 -> 3301 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Audition.epsbin0 -> 1997 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD-Light.epsbin0 -> 1702 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD_Dark.epsbin0 -> 1702 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Autocad-Light-eps-converted-to.pdfbin0 -> 3024 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azul-eps-converted-to.pdfbin0 -> 4443 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azul.epsbin0 -> 2854 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark-eps-converted-to.pdfbin0 -> 7499 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark.epsbin0 -> 4703 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light-eps-converted-to.pdfbin0 -> 7499 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light.epsbin0 -> 4701 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark-eps-converted-to.pdfbin0 -> 4603 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark.epsbin0 -> 3382 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light-eps-converted-to.pdfbin0 -> 4606 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light.epsbin0 -> 3383 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Babel-eps-converted-to.pdfbin0 -> 28831 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Babel.epsbin0 -> 27068 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark-eps-converted-to.pdfbin0 -> 3644 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark.epsbin0 -> 2304 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light-eps-converted-to.pdfbin0 -> 3658 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light.epsbin0 -> 2316 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark-eps-converted-to.pdfbin0 -> 4389 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark.epsbin0 -> 3055 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light-eps-converted-to.pdfbin0 -> 13642 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light.epsbin0 -> 13057 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark-eps-converted-to.pdf128
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark.epsbin0 -> 1960 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light-eps-converted-to.pdfbin0 -> 3532 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light.epsbin0 -> 1957 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark-eps-converted-to.pdfbin0 -> 3601 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark.epsbin0 -> 2267 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light-eps-converted-to.pdfbin0 -> 3605 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light.epsbin0 -> 2265 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap-eps-converted-to.pdf163
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap.epsbin0 -> 2653 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark-eps-converted-to.pdfbin0 -> 5928 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark.epsbin0 -> 4558 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light-eps-converted-to.pdfbin0 -> 5926 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light.epsbin0 -> 4556 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_C-eps-converted-to.pdfbin0 -> 2698 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_C.epsbin0 -> 1383 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark-eps-converted-to.pdfbin0 -> 5848 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark.epsbin0 -> 4177 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light-eps-converted-to.pdfbin0 -> 5848 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light.epsbin0 -> 4173 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark-eps-converted-to.pdf231
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark.epsbin0 -> 3114 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light-eps-converted-to.pdf230
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light.epsbin0 -> 3111 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CPP-eps-converted-to.pdfbin0 -> 2707 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CPP.epsbin0 -> 1408 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CS-eps-converted-to.pdfbin0 -> 2821 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CS.epsbin0 -> 1517 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CSS-eps-converted-to.pdf73
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CSS.epsbin0 -> 1351 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark-eps-converted-to.pdfbin0 -> 12025 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark.epsbin0 -> 12030 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light-eps-converted-to.pdfbin0 -> 12059 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light.epsbin0 -> 12066 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark-eps-converted-to.pdfbin0 -> 3589 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark.epsbin0 -> 2234 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light-eps-converted-to.pdfbin0 -> 3592 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light.epsbin0 -> 2233 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark-eps-converted-to.pdfbin0 -> 3288 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark.epsbin0 -> 1951 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light-eps-converted-to.pdfbin0 -> 3287 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light.epsbin0 -> 1948 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark-eps-converted-to.pdfbin0 -> 2752 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark.epsbin0 -> 1435 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light-eps-converted-to.pdfbin0 -> 2748 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light.epsbin0 -> 1434 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark-eps-converted-to.pdfbin0 -> 3558 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark.epsbin0 -> 2228 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light-eps-converted-to.pdfbin0 -> 3570 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light.epsbin0 -> 2235 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark-eps-converted-to.pdfbin0 -> 2682 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark.epsbin0 -> 1363 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light-eps-converted-to.pdfbin0 -> 2712 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light.epsbin0 -> 1369 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark-eps-converted-to.pdfbin0 -> 7506 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark.epsbin0 -> 5053 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light-eps-converted-to.pdfbin0 -> 7506 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light.epsbin0 -> 5052 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark-eps-converted-to.pdfbin0 -> 2791 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark.epsbin0 -> 1480 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light-eps-converted-to.pdfbin0 -> 2792 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light.epsbin0 -> 1476 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark-eps-converted-to.pdfbin0 -> 7375 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark.epsbin0 -> 5916 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light-eps-converted-to.pdfbin0 -> 7374 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light.epsbin0 -> 5914 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark-eps-converted-to.pdfbin0 -> 3029 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark.epsbin0 -> 1702 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light-eps-converted-to.pdfbin0 -> 3024 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light.epsbin0 -> 1703 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark-eps-converted-to.pdfbin0 -> 4376 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark.epsbin0 -> 2984 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light-eps-converted-to.pdfbin0 -> 4373 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light.epsbin0 -> 2981 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark-eps-converted-to.pdf79
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark.epsbin0 -> 1486 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light-eps-converted-to.pdfbin0 -> 2798 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light.epsbin0 -> 1487 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Discord-eps-converted-to.pdfbin0 -> 3211 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Discord.epsbin0 -> 1865 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots-eps-converted-to.pdfbin0 -> 3264 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots.epsbin0 -> 1968 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark-eps-converted-to.pdfbin0 -> 4353 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark.epsbin0 -> 3005 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light-eps-converted-to.pdfbin0 -> 4352 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light.epsbin0 -> 3003 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Django-eps-converted-to.pdfbin0 -> 2775 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Django.epsbin0 -> 1460 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Docker-eps-converted-to.pdfbin0 -> 2664 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Docker.epsbin0 -> 1436 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet-eps-converted-to.pdfbin0 -> 2836 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet.epsbin0 -> 1522 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark-eps-converted-to.pdfbin0 -> 3082 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark.epsbin0 -> 1778 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light-eps-converted-to.pdfbin0 -> 3082 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light.epsbin0 -> 1778 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark-eps-converted-to.pdfbin0 -> 2331 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark.epsbin0 -> 2874 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light-eps-converted-to.pdfbin0 -> 4531 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light.epsbin0 -> 2874 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark-eps-converted-to.pdfbin0 -> 3129 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark.epsbin0 -> 1845 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light-eps-converted-to.pdfbin0 -> 3130 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light.epsbin0 -> 1843 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Electron-eps-converted-to.pdfbin0 -> 5479 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Electron.epsbin0 -> 4060 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark-eps-converted-to.pdfbin0 -> 18746 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark.epsbin0 -> 12298 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light-eps-converted-to.pdfbin0 -> 18745 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light.epsbin0 -> 12296 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark-eps-converted-to.pdfbin0 -> 19140 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark.epsbin0 -> 17600 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light-eps-converted-to.pdfbin0 -> 19138 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light.epsbin0 -> 17598 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs-eps-converted-to.pdfbin0 -> 4010 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs.epsbin0 -> 2463 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ember-eps-converted-to.pdfbin0 -> 39149 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ember.epsbin0 -> 40887 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark-eps-converted-to.pdfbin0 -> 77591 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark.epsbin0 -> 75345 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light-eps-converted-to.pdfbin0 -> 77585 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light.epsbin0 -> 75343 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark-eps-converted-to.pdfbin0 -> 3261 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark.epsbin0 -> 1922 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light-eps-converted-to.pdfbin0 -> 3267 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light.epsbin0 -> 1927 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI.epsbin0 -> 1233 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark-eps-converted-to.pdfbin0 -> 4502 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark.epsbin0 -> 2799 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light-eps-converted-to.pdfbin0 -> 4502 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light.epsbin0 -> 2802 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark-eps-converted-to.pdfbin0 -> 2754 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark.epsbin0 -> 1439 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light-eps-converted-to.pdfbin0 -> 2750 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light.epsbin0 -> 1438 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark-eps-converted-to.pdfbin0 -> 32404 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark.epsbin0 -> 16147 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light-eps-converted-to.pdfbin0 -> 32404 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light.epsbin0 -> 16147 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark-eps-converted-to.pdfbin0 -> 9035 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark.epsbin0 -> 7650 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light-eps-converted-to.pdfbin0 -> 9035 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light.epsbin0 -> 7650 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark-eps-converted-to.pdfbin0 -> 2672 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark.epsbin0 -> 1370 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light.epsbin0 -> 1370 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Forth-eps-converted-to.pdfbin0 -> 2765 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Forth.epsbin0 -> 1474 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran-eps-converted-to.pdfbin0 -> 2815 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran.epsbin0 -> 1513 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark-eps-converted-to.pdfbin0 -> 3026 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark.epsbin0 -> 1719 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light-eps-converted-to.pdfbin0 -> 3031 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light.epsbin0 -> 1715 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark-eps-converted-to.pdfbin0 -> 2637 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark.epsbin0 -> 1369 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light.epsbin0 -> 1365 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio-eps-converted-to.pdf72
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio.epsbin0 -> 1203 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby-eps-converted-to.pdfbin0 -> 2614 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby.epsbin0 -> 1306 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark-eps-converted-to.pdfbin0 -> 4552 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark.epsbin0 -> 3179 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light-eps-converted-to.pdfbin0 -> 4556 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light.epsbin0 -> 3181 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Git-eps-converted-to.pdfbin0 -> 3425 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Git.epsbin0 -> 2111 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark-eps-converted-to.pdfbin0 -> 2653 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark.epsbin0 -> 1360 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light-eps-converted-to.pdfbin0 -> 2655 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light.epsbin0 -> 1362 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark-eps-converted-to.pdfbin0 -> 3546 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark.epsbin0 -> 2216 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light-eps-converted-to.pdfbin0 -> 3553 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light.epsbin0 -> 2224 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark-eps-converted-to.pdfbin0 -> 3241 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark.epsbin0 -> 1935 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light-eps-converted-to.pdfbin0 -> 3239 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light.epsbin0 -> 1931 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark.epsbin0 -> 1379 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light.epsbin0 -> 1381 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang-eps-converted-to.pdfbin0 -> 3412 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang.epsbin0 -> 2138 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark-eps-converted-to.pdfbin0 -> 4080 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark.epsbin0 -> 2708 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light-eps-converted-to.pdfbin0 -> 4079 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light.epsbin0 -> 2705 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark-eps-converted-to.pdfbin0 -> 3804 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark.epsbin0 -> 2440 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light-eps-converted-to.pdfbin0 -> 3815 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light.epsbin0 -> 2452 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark-eps-converted-to.pdfbin0 -> 6269 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark.epsbin0 -> 4605 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light-eps-converted-to.pdfbin0 -> 6340 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light.eps216
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark-eps-converted-to.pdfbin0 -> 3168 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark.epsbin0 -> 1862 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light-eps-converted-to.pdfbin0 -> 3168 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light.epsbin0 -> 1864 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp-eps-converted-to.pdfbin0 -> 3865 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp.epsbin0 -> 2508 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HTML-eps-converted-to.pdfbin0 -> 2606 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HTML.epsbin0 -> 1311 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark-eps-converted-to.pdfbin0 -> 2604 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark.epsbin0 -> 1295 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light-eps-converted-to.pdf79
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light.epsbin0 -> 1323 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark-eps-converted-to.pdfbin0 -> 2811 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark.epsbin0 -> 1498 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light-eps-converted-to.pdfbin0 -> 2805 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light.epsbin0 -> 1493 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark-eps-converted-to.pdf73
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark.epsbin0 -> 1284 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light-eps-converted-to.pdfbin0 -> 2600 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light.epsbin0 -> 1286 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku-eps-converted-to.pdfbin0 -> 2663 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku.epsbin0 -> 1351 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark-eps-converted-to.pdf72
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark.epsbin0 -> 1285 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light-eps-converted-to.pdfbin0 -> 2576 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light.epsbin0 -> 1278 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark-eps-converted-to.pdfbin0 -> 3648 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark.epsbin0 -> 2267 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light-eps-converted-to.pdfbin0 -> 3657 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light.epsbin0 -> 2275 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark-eps-converted-to.pdfbin0 -> 4555 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark.epsbin0 -> 2828 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light-eps-converted-to.pdfbin0 -> 4542 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light.epsbin0 -> 2820 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark-eps-converted-to.pdfbin0 -> 9094 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark.epsbin0 -> 7585 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light-eps-converted-to.pdfbin0 -> 9096 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light.epsbin0 -> 7581 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator-eps-converted-to.pdfbin0 -> 3043 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator.epsbin0 -> 1716 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram-eps-converted-to.pdfbin0 -> 7097 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram.epsbin0 -> 4824 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery-eps-converted-to.pdfbin0 -> 8062 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery.epsbin0 -> 6356 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark-eps-converted-to.pdfbin0 -> 3227 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark.epsbin0 -> 1939 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light-eps-converted-to.pdfbin0 -> 3238 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light.epsbin0 -> 1944 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript-eps-converted-to.pdfbin0 -> 2845 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript.epsbin0 -> 1541 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark-eps-converted-to.pdfbin0 -> 10702 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark.epsbin0 -> 9466 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light-eps-converted-to.pdfbin0 -> 10705 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light.epsbin0 -> 9467 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jest-eps-converted-to.pdfbin0 -> 4394 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Jest.epsbin0 -> 3044 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark-eps-converted-to.pdfbin0 -> 2682 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark.epsbin0 -> 1374 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light.epsbin0 -> 1381 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka-eps-converted-to.pdfbin0 -> 3269 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka.epsbin0 -> 1951 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark-eps-converted-to.pdfbin0 -> 7302 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark.epsbin0 -> 5357 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light-eps-converted-to.pdfbin0 -> 7309 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light.epsbin0 -> 5356 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark-eps-converted-to.pdf155
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark.epsbin0 -> 1857 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light-eps-converted-to.pdf156
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light.epsbin0 -> 1856 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark-eps-converted-to.pdfbin0 -> 2557 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark.epsbin0 -> 1254 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light-eps-converted-to.pdfbin0 -> 2554 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light.epsbin0 -> 1249 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes-eps-converted-to.pdfbin0 -> 5422 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes.epsbin0 -> 4033 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark-eps-converted-to.pdfbin0 -> 8103 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark.epsbin0 -> 6676 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light-eps-converted-to.pdfbin0 -> 8105 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light.epsbin0 -> 6670 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark-eps-converted-to.pdfbin0 -> 4466 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark.eps8539
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light-eps-converted-to.pdfbin0 -> 3824 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light.epsbin0 -> 2438 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark-eps-converted-to.pdfbin0 -> 6272 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark.epsbin0 -> 6733 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light-eps-converted-to.pdfbin0 -> 6273 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light.epsbin0 -> 6735 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn-eps-converted-to.pdfbin0 -> 2866 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn.epsbin0 -> 1545 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark-eps-converted-to.pdfbin0 -> 5071 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark.epsbin0 -> 3757 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light-eps-converted-to.pdfbin0 -> 5074 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light.epsbin0 -> 3756 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark-eps-converted-to.pdfbin0 -> 2555 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark.epsbin0 -> 1251 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light.epsbin0 -> 1244 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark-eps-converted-to.pdfbin0 -> 3355 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark.epsbin0 -> 2078 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light-eps-converted-to.pdfbin0 -> 3356 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light.epsbin0 -> 2076 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark-eps-converted-to.pdfbin0 -> 2597 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark.epsbin0 -> 1327 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light-eps-converted-to.pdfbin0 -> 2594 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light.epsbin0 -> 1326 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark-eps-converted-to.pdfbin0 -> 3030 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark.epsbin0 -> 1727 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light-eps-converted-to.pdfbin0 -> 3029 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light.epsbin0 -> 1729 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark-eps-converted-to.pdfbin0 -> 3943 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark.epsbin0 -> 2575 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light-eps-converted-to.pdfbin0 -> 3944 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light.epsbin0 -> 2575 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark-eps-converted-to.pdfbin0 -> 5929 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark.epsbin0 -> 4399 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light-eps-converted-to.pdfbin0 -> 5930 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light.epsbin0 -> 4391 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark-eps-converted-to.pdfbin0 -> 15567 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark.epsbin0 -> 14631 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light-eps-converted-to.pdfbin0 -> 15567 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light.epsbin0 -> 14631 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark-eps-converted-to.pdfbin0 -> 2929 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark.epsbin0 -> 1597 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light-eps-converted-to.pdfbin0 -> 2929 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light.epsbin0 -> 1598 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark-eps-converted-to.pdfbin0 -> 3187 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark.epsbin0 -> 1866 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light-eps-converted-to.pdfbin0 -> 3185 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light.epsbin0 -> 1866 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB-eps-converted-to.pdfbin0 -> 2885 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB.epsbin0 -> 1562 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark-eps-converted-to.pdfbin0 -> 4160 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark.epsbin0 -> 2808 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light-eps-converted-to.pdfbin0 -> 4165 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light.epsbin0 -> 2812 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark-eps-converted-to.pdfbin0 -> 7063 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark.epsbin0 -> 4396 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light-eps-converted-to.pdfbin0 -> 7062 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light.epsbin0 -> 4396 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark-eps-converted-to.pdfbin0 -> 7429 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark.epsbin0 -> 6050 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light-eps-converted-to.pdfbin0 -> 7428 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light.epsbin0 -> 6050 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark-eps-converted-to.pdfbin0 -> 5998 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark.epsbin0 -> 4248 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light-eps-converted-to.pdfbin0 -> 5997 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light.epsbin0 -> 4247 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark-eps-converted-to.pdfbin0 -> 3294 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark.epsbin0 -> 1953 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light-eps-converted-to.pdfbin0 -> 3291 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light.epsbin0 -> 1954 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx-eps-converted-to.pdf72
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx.epsbin0 -> 1334 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark-eps-converted-to.pdfbin0 -> 2940 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark.epsbin0 -> 1639 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light-eps-converted-to.pdfbin0 -> 2937 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light.epsbin0 -> 1635 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark-eps-converted-to.pdfbin0 -> 5949 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark.epsbin0 -> 4813 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light-eps-converted-to.pdfbin0 -> 5945 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light.epsbin0 -> 4810 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark-eps-converted-to.pdfbin0 -> 3931 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark.epsbin0 -> 2556 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light-eps-converted-to.pdfbin0 -> 3933 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light.epsbin0 -> 2553 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark-eps-converted-to.pdfbin0 -> 3241 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark.epsbin0 -> 1925 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light-eps-converted-to.pdfbin0 -> 3243 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light.epsbin0 -> 1925 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark-eps-converted-to.pdfbin0 -> 2641 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark.epsbin0 -> 1344 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light-eps-converted-to.pdfbin0 -> 2644 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light.epsbin0 -> 1346 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark-eps-converted-to.pdfbin0 -> 2901 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark.epsbin0 -> 1594 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light-eps-converted-to.pdfbin0 -> 2907 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light.epsbin0 -> 1591 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml-eps-converted-to.pdfbin0 -> 9685 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml.epsbin0 -> 3057 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark-eps-converted-to.pdfbin0 -> 25990 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark.epsbin0 -> 14873 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light-eps-converted-to.pdfbin0 -> 25987 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light.epsbin0 -> 14871 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark-eps-converted-to.pdfbin0 -> 3626 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark.epsbin0 -> 2104 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light-eps-converted-to.pdfbin0 -> 3627 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light.epsbin0 -> 2104 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark-eps-converted-to.pdfbin0 -> 3499 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark.epsbin0 -> 2199 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light-eps-converted-to.pdfbin0 -> 3500 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light.epsbin0 -> 2195 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift-eps-converted-to.pdfbin0 -> 4281 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift.epsbin0 -> 2913 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark-eps-converted-to.pdf77
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark.epsbin0 -> 1408 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light.epsbin0 -> 1407 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark-eps-converted-to.pdfbin0 -> 3239 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark.epsbin0 -> 1916 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light-eps-converted-to.pdfbin0 -> 3238 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light.epsbin0 -> 1917 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Perl-eps-converted-to.pdfbin0 -> 7822 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Perl.epsbin0 -> 6362 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop-eps-converted-to.pdfbin0 -> 3627 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop.epsbin0 -> 2277 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark-eps-converted-to.pdfbin0 -> 5691 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark.epsbin0 -> 4248 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light-eps-converted-to.pdfbin0 -> 5691 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light.epsbin0 -> 4248 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark-eps-converted-to.pdfbin0 -> 5974 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark.epsbin0 -> 4296 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light-eps-converted-to.pdfbin0 -> 5975 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light.epsbin0 -> 4296 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark-eps-converted-to.pdfbin0 -> 3945 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark.epsbin0 -> 2592 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light-eps-converted-to.pdfbin0 -> 3941 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light.epsbin0 -> 2590 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark-eps-converted-to.pdfbin0 -> 115454 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark.epsbin0 -> 112962 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light-eps-converted-to.pdfbin0 -> 115454 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light.epsbin0 -> 112965 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark-eps-converted-to.pdfbin0 -> 2585 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark.epsbin0 -> 1267 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light.epsbin0 -> 1255 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark.epsbin0 -> 1191 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light.epsbin0 -> 1192 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark-eps-converted-to.pdfbin0 -> 3877 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark.epsbin0 -> 2583 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light-eps-converted-to.pdfbin0 -> 4215 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light.epsbin0 -> 2960 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Postman-eps-converted-to.pdfbin0 -> 5334 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Postman.epsbin0 -> 3998 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark-eps-converted-to.pdfbin0 -> 4935 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark.epsbin0 -> 3255 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light-eps-converted-to.pdfbin0 -> 4937 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light.epsbin0 -> 3254 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere-eps-converted-to.pdfbin0 -> 3267 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere.epsbin0 -> 1937 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma-eps-converted-to.pdfbin0 -> 2675 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma.epsbin0 -> 1369 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark.epsbin0 -> 1262 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light-eps-converted-to.pdf73
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light.epsbin0 -> 1255 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus-eps-converted-to.pdfbin0 -> 2897 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus.epsbin0 -> 1582 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark-eps-converted-to.pdfbin0 -> 6871 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark.epsbin0 -> 5380 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light-eps-converted-to.pdfbin0 -> 6883 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light.epsbin0 -> 5388 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark-eps-converted-to.pdfbin0 -> 5630 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark.epsbin0 -> 4047 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light-eps-converted-to.pdfbin0 -> 5628 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light.epsbin0 -> 4046 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark-eps-converted-to.pdfbin0 -> 2678 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark.epsbin0 -> 1384 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light.epsbin0 -> 1383 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark-eps-converted-to.pdfbin0 -> 3938 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark.epsbin0 -> 2347 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light-eps-converted-to.pdfbin0 -> 3936 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light.epsbin0 -> 2344 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark-eps-converted-to.pdfbin0 -> 3060 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark.epsbin0 -> 1748 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light-eps-converted-to.pdfbin0 -> 3059 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light.epsbin0 -> 1747 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark-eps-converted-to.pdfbin0 -> 3932 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark.epsbin0 -> 2358 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light-eps-converted-to.pdfbin0 -> 3933 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light.epsbin0 -> 2359 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark-eps-converted-to.pdfbin0 -> 2917 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark.epsbin0 -> 1615 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light-eps-converted-to.pdfbin0 -> 2931 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light.epsbin0 -> 1625 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark-eps-converted-to.pdfbin0 -> 2795 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark.epsbin0 -> 1494 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light.epsbin0 -> 1494 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rails-eps-converted-to.pdfbin0 -> 3347 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rails.epsbin0 -> 2014 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark-eps-converted-to.pdfbin0 -> 5476 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark.epsbin0 -> 4091 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light-eps-converted-to.pdfbin0 -> 5478 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light.epsbin0 -> 4090 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark-eps-converted-to.pdfbin0 -> 3081 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark.epsbin0 -> 1789 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light-eps-converted-to.pdfbin0 -> 3082 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light.epsbin0 -> 1787 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark-eps-converted-to.pdfbin0 -> 10145 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark.epsbin0 -> 7340 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light-eps-converted-to.pdfbin0 -> 10143 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light.epsbin0 -> 7337 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark-eps-converted-to.pdfbin0 -> 2893 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark.epsbin0 -> 1584 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light-eps-converted-to.pdfbin0 -> 2893 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light.epsbin0 -> 1584 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark-eps-converted-to.pdfbin0 -> 3720 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark.epsbin0 -> 2401 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light-eps-converted-to.pdfbin0 -> 3720 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light.epsbin0 -> 2398 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redux-eps-converted-to.pdfbin0 -> 4032 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Redux.eps8471
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark-eps-converted-to.pdfbin0 -> 3952 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark.epsbin0 -> 2614 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light-eps-converted-to.pdfbin0 -> 3950 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light.epsbin0 -> 2612 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark-eps-converted-to.pdfbin0 -> 3162 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark.epsbin0 -> 1569 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light-eps-converted-to.pdf103
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light.epsbin0 -> 1573 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark-eps-converted-to.pdfbin0 -> 2621 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark.epsbin0 -> 1323 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light-eps-converted-to.pdf73
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light.epsbin0 -> 1318 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark-eps-converted-to.pdfbin0 -> 4935 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark.epsbin0 -> 3339 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light-eps-converted-to.pdfbin0 -> 4935 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light.epsbin0 -> 3338 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio-eps-converted-to.pdfbin0 -> 2527 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio.epsbin0 -> 1220 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket-eps-converted-to.pdfbin0 -> 6081 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket.epsbin0 -> 4391 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark-eps-converted-to.pdfbin0 -> 7977 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark.epsbin0 -> 5649 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light-eps-converted-to.pdfbin0 -> 7979 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light.epsbin0 -> 5648 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby-eps-converted-to.pdfbin0 -> 16451 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby.epsbin0 -> 14774 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rust-eps-converted-to.pdfbin0 -> 5956 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Rust.epsbin0 -> 4509 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite-eps-converted-to.pdfbin0 -> 15210 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite.epsbin0 -> 5041 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark-eps-converted-to.pdfbin0 -> 3929 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark.epsbin0 -> 2354 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light-eps-converted-to.pdfbin0 -> 3927 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light.epsbin0 -> 2356 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sass-eps-converted-to.pdfbin0 -> 4841 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sass.epsbin0 -> 3494 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark-eps-converted-to.pdfbin0 -> 3178 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark.epsbin0 -> 1875 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light-eps-converted-to.pdfbin0 -> 3181 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light.epsbin0 -> 1874 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light-eps-converted-to.pdfbin0 -> 5983 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light.epsbin0 -> 4618 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark-eps-converted-to.pdfbin0 -> 5978 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark.epsbin0 -> 4640 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium-eps-converted-to.pdfbin0 -> 4429 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium.epsbin0 -> 3043 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry-eps-converted-to.pdfbin0 -> 3399 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry.epsbin0 -> 2048 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark-eps-converted-to.pdfbin0 -> 3608 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark.epsbin0 -> 2290 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light-eps-converted-to.pdfbin0 -> 3609 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light.epsbin0 -> 2291 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark.epsbin0 -> 1332 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light-eps-converted-to.pdf76
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light.epsbin0 -> 1334 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark-eps-converted-to.pdfbin0 -> 9174 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark.epsbin0 -> 6368 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light-eps-converted-to.pdfbin0 -> 9175 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light.epsbin0 -> 6368 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity-eps-converted-to.pdfbin0 -> 3098 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity.epsbin0 -> 1375 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark-eps-converted-to.pdfbin0 -> 2968 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark.epsbin0 -> 1654 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light-eps-converted-to.pdfbin0 -> 2971 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light.epsbin0 -> 1653 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark.epsbin0 -> 1349 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light-eps-converted-to.pdfbin0 -> 2662 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light.epsbin0 -> 1348 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents-eps-converted-to.pdfbin0 -> 5455 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents.epsbin0 -> 3815 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark-eps-converted-to.pdfbin0 -> 3643 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark.epsbin0 -> 2114 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light-eps-converted-to.pdfbin0 -> 3644 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light.epsbin0 -> 2114 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark-eps-converted-to.pdfbin0 -> 5322 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark.epsbin0 -> 3040 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light-eps-converted-to.pdfbin0 -> 5324 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light.epsbin0 -> 3041 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte-eps-converted-to.pdfbin0 -> 3552 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte.epsbin0 -> 2219 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Swift-eps-converted-to.pdfbin0 -> 2842 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Swift.epsbin0 -> 1525 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark-eps-converted-to.pdfbin0 -> 3513 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark.epsbin0 -> 2161 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light-eps-converted-to.pdfbin0 -> 3526 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light.epsbin0 -> 2171 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark-eps-converted-to.pdfbin0 -> 3262 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark.epsbin0 -> 1723 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light-eps-converted-to.pdfbin0 -> 3263 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light.epsbin0 -> 1722 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark-eps-converted-to.pdfbin0 -> 3660 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark.epsbin0 -> 2335 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light-eps-converted-to.pdfbin0 -> 3663 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light.epsbin0 -> 2338 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark-eps-converted-to.pdfbin0 -> 2547 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark.epsbin0 -> 1242 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light-eps-converted-to.pdfbin0 -> 2547 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light.epsbin0 -> 1241 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark.epsbin0 -> 1271 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light-eps-converted-to.pdfbin0 -> 2579 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light.epsbin0 -> 1272 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark-eps-converted-to.pdfbin0 -> 2625 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark.epsbin0 -> 1347 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light-eps-converted-to.pdfbin0 -> 2613 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light.epsbin0 -> 1334 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter-eps-converted-to.pdfbin0 -> 2853 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter.epsbin0 -> 1539 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript-eps-converted-to.pdfbin0 -> 3155 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript.epsbin0 -> 1828 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark-eps-converted-to.pdfbin0 -> 3218 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark.epsbin0 -> 1913 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light-eps-converted-to.pdfbin0 -> 3214 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light.epsbin0 -> 1900 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark-eps-converted-to.pdfbin0 -> 3142 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark.epsbin0 -> 1813 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light-eps-converted-to.pdfbin0 -> 3142 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light.epsbin0 -> 1817 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine-eps-converted-to.pdfbin0 -> 3486 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine.epsbin0 -> 2148 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark.epsbin0 -> 1849 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light-eps-converted-to.pdfbin0 -> 2737 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light.epsbin0 -> 1850 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark-eps-converted-to.pdfbin0 -> 2757 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark.epsbin0 -> 1444 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light-eps-converted-to.pdfbin0 -> 2773 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light.epsbin0 -> 1485 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark-eps-converted-to.pdfbin0 -> 2849 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark.epsbin0 -> 1554 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light-eps-converted-to.pdfbin0 -> 2851 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light.epsbin0 -> 1556 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark-eps-converted-to.pdfbin0 -> 16653 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark.epsbin0 -> 2489 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light-eps-converted-to.pdfbin0 -> 16728 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light.eps142
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vala-eps-converted-to.pdfbin0 -> 5183 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vala.epsbin0 -> 3180 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark-eps-converted-to.pdf72
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark.epsbin0 -> 1154 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light-eps-converted-to.pdf72
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light.epsbin0 -> 1155 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark-eps-converted-to.pdfbin0 -> 17979 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark.epsbin0 -> 6904 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light-eps-converted-to.pdfbin0 -> 17979 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light.epsbin0 -> 6904 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark-eps-converted-to.pdfbin0 -> 4196 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark.epsbin0 -> 2586 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light-eps-converted-to.pdfbin0 -> 4193 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light.epsbin0 -> 2586 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark-eps-converted-to.pdfbin0 -> 3741 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark.epsbin0 -> 2101 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light-eps-converted-to.pdfbin0 -> 3745 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light.epsbin0 -> 2103 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark-eps-converted-to.pdf74
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark.epsbin0 -> 1240 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light-eps-converted-to.pdfbin0 -> 2546 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light.epsbin0 -> 1247 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark-eps-converted-to.pdfbin0 -> 2664 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark.epsbin0 -> 1350 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light.epsbin0 -> 1353 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly-eps-converted-to.pdfbin0 -> 2725 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly.epsbin0 -> 1427 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark-eps-converted-to.pdfbin0 -> 4228 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark.epsbin0 -> 2664 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light-eps-converted-to.pdfbin0 -> 4230 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light.epsbin0 -> 2664 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow-eps-converted-to.pdfbin0 -> 2664 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow.epsbin0 -> 1356 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark-eps-converted-to.pdfbin0 -> 2753 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark.epsbin0 -> 1448 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light-eps-converted-to.pdf75
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light.epsbin0 -> 1404 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark-eps-converted-to.pdf157
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark.epsbin0 -> 3352 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light-eps-converted-to.pdfbin0 -> 3827 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light.epsbin0 -> 3351 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark-eps-converted-to.pdfbin0 -> 2559 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark.epsbin0 -> 1253 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light-eps-converted-to.pdfbin0 -> 2560 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light.epsbin0 -> 1249 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress-eps-converted-to.pdfbin0 -> 3163 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress.epsbin0 -> 1835 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark-eps-converted-to.pdfbin0 -> 14551 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark.epsbin0 -> 9894 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light-eps-converted-to.pdfbin0 -> 14552 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light.epsbin0 -> 9894 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_XD-eps-converted-to.pdfbin0 -> 3582 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_XD.epsbin0 -> 2250 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark-eps-converted-to.pdfbin0 -> 5113 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark.epsbin0 -> 3684 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light-eps-converted-to.pdfbin0 -> 5113 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light.epsbin0 -> 3681 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark-eps-converted-to.pdfbin0 -> 2648 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark.epsbin0 -> 1364 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light-eps-converted-to.pdf78
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light.epsbin0 -> 1366 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark-eps-converted-to.pdfbin0 -> 2736 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark.epsbin0 -> 1437 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light-eps-converted-to.pdfbin0 -> 2737 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light.epsbin0 -> 1437 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_p5js-eps-converted-to.pdfbin0 -> 3844 bytes
-rw-r--r--macros/latex/contrib/skillicons/skill-icons/skillicons_p5js.epsbin0 -> 2501 bytes
-rw-r--r--macros/latex/contrib/skillicons/skillicons.pdfbin0 -> 1447019 bytes
-rw-r--r--macros/latex/contrib/skillicons/skillicons.sty28
-rw-r--r--macros/latex/contrib/skillicons/skillicons.tex584
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin93842 -> 91761 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty57
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex15
-rw-r--r--macros/latex/contrib/synthslant/LICENSE415
-rw-r--r--macros/latex/contrib/synthslant/Makefile302
-rw-r--r--macros/latex/contrib/synthslant/README.md64
-rw-r--r--macros/latex/contrib/synthslant/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/synthslant/docs/index.md4
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant-gauge.pdfbin0 -> 181403 bytes
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant.pdfbin0 -> 796407 bytes
-rw-r--r--macros/latex/contrib/synthslant/synthslant.dtx5264
-rw-r--r--macros/latex/contrib/synthslant/synthslant.ins67
-rw-r--r--macros/latex/contrib/tblr-extras/README.md12
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdfbin26714 -> 29492 bytes
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex19
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras.sty87
-rw-r--r--macros/latex/contrib/thesis-ekf/thesis-ekf.dtx21
-rw-r--r--macros/latex/contrib/thesis-ekf/thesis-ekf.pdfbin200001 -> 199974 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/README.md136
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex133
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex70
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex1
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex225
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex308
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-organization.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-presentation.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transfers.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transferts.tex150
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdfbin696762 -> 704147 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.pdfbin20611 -> 20614 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.pdfbin16392 -> 16396 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.pdfbin17158 -> 17162 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdfbin11343 -> 11341 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua15
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua48
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/README.md16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex35
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-documentation.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersection.tex70
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex36
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lua.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex427
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex122
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex72
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdfbin1116500 -> 1103289 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex268
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-arcs.tex262
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-ellipses.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-lines.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-protractor.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-sectors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-show.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-marks.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles-by.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-axesmin.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-lines.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-rnd.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty47
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-intersections.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-BB.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-angles.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-colors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/README.md25
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin552288 -> 551934 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin601729 -> 601729 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdfbin556834 -> 561720 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin570532 -> 570473 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin559914 -> 559914 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin567142 -> 567042 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin638055 -> 616232 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin536447 -> 536048 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin662437 -> 662470 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin527922 -> 527496 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin563698 -> 563701 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin627330 -> 615311 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex18
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex433
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex398
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty91
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty (renamed from macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2023.sty)76
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty41
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty (renamed from macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2023.sty)40
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty41
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty129
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty377
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty312
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty306
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2023.sty216
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty10
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty32
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty19
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty29
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls27
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo4
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls38
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo4
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg30
-rw-r--r--macros/latex/contrib/typog/Makefile302
-rw-r--r--macros/latex/contrib/typog/README.md79
-rw-r--r--macros/latex/contrib/typog/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/typog/docs/index.md5
-rw-r--r--macros/latex/contrib/typog/docs/typog-example.pdfbin0 -> 392419 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1428
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1.pdfbin0 -> 511632 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog.pdfbin0 -> 902362 bytes
-rw-r--r--macros/latex/contrib/typog/typog.dtx9974
-rw-r--r--macros/latex/contrib/typog/typog.ins74
-rw-r--r--macros/latex/contrib/ufrgscca/README.md8
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdfbin593642 -> 594046 bytes
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex89
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty36
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty17
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex24
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty15
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty23
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty65
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex145
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls26
-rw-r--r--macros/latex/contrib/univie-ling/README6
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx2
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx2
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdfbin130780 -> 132626 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdfbin126894 -> 127848 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdfbin200672 -> 201366 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex1
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdfbin200676 -> 200967 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex1
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdfbin158161 -> 172478 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdfbin154403 -> 167579 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdfbin227166 -> 227174 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdfbin224973 -> 224980 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdfbin171777 -> 190196 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdfbin168772 -> 186339 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdfbin372040 -> 250470 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdfbin371831 -> 250366 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdfbin457978 -> 458151 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex10
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdfbin448122 -> 448221 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdfbin454263 -> 455332 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex16
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdfbin450725 -> 454323 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex53
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdfbin458988 -> 459107 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex6
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdfbin345784 -> 345852 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex14
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.pdfbin365425 -> 365602 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.tex2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls20
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls47
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls73
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls70
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls21
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg12
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls43
-rw-r--r--macros/latex/contrib/ximera/LICENSE415
-rw-r--r--macros/latex/contrib/ximera/Makefile50
-rw-r--r--macros/latex/contrib/ximera/README18
-rw-r--r--macros/latex/contrib/ximera/README.md62
-rw-r--r--macros/latex/contrib/ximera/installingLocally.md91
-rw-r--r--macros/latex/contrib/ximera/pgfsys-ximera.def62
-rw-r--r--macros/latex/contrib/ximera/src/abstract.dtx14
-rw-r--r--macros/latex/contrib/ximera/src/activity.dtx158
-rw-r--r--macros/latex/contrib/ximera/src/answer.dtx111
-rw-r--r--macros/latex/contrib/ximera/src/banner.dtx21
-rw-r--r--macros/latex/contrib/ximera/src/choice.dtx226
-rw-r--r--macros/latex/contrib/ximera/src/clearEnv.dtx18
-rw-r--r--macros/latex/contrib/ximera/src/dialogue.dtx28
-rw-r--r--macros/latex/contrib/ximera/src/ending.dtx20
-rw-r--r--macros/latex/contrib/ximera/src/enumerate.dtx10
-rw-r--r--macros/latex/contrib/ximera/src/feedback.dtx72
-rw-r--r--macros/latex/contrib/ximera/src/foldable.dtx76
-rw-r--r--macros/latex/contrib/ximera/src/footnotes.dtx63
-rw-r--r--macros/latex/contrib/ximera/src/freeresponse.dtx60
-rw-r--r--macros/latex/contrib/ximera/src/graded.dtx20
-rw-r--r--macros/latex/contrib/ximera/src/hideEnv.dtx36
-rw-r--r--macros/latex/contrib/ximera/src/hints.dtx53
-rw-r--r--macros/latex/contrib/ximera/src/html.dtx20
-rw-r--r--macros/latex/contrib/ximera/src/hyperref.dtx12
-rw-r--r--macros/latex/contrib/ximera/src/image.dtx60
-rw-r--r--macros/latex/contrib/ximera/src/instructornotes.dtx101
-rw-r--r--macros/latex/contrib/ximera/src/interactives/desmos.dtx14
-rw-r--r--macros/latex/contrib/ximera/src/interactives/geogebra.dtx27
-rw-r--r--macros/latex/contrib/ximera/src/interactives/google.dtx26
-rw-r--r--macros/latex/contrib/ximera/src/interactives/graph.dtx14
-rw-r--r--macros/latex/contrib/ximera/src/interactives/include.dtx22
-rw-r--r--macros/latex/contrib/ximera/src/interactives/javascript.dtx31
-rw-r--r--macros/latex/contrib/ximera/src/interactives/sagemath.dtx43
-rw-r--r--macros/latex/contrib/ximera/src/interactives/video.dtx21
-rw-r--r--macros/latex/contrib/ximera/src/jax.dtx115
-rw-r--r--macros/latex/contrib/ximera/src/labels.dtx15
-rw-r--r--macros/latex/contrib/ximera/src/leash.dtx18
-rw-r--r--macros/latex/contrib/ximera/src/link.dtx31
-rw-r--r--macros/latex/contrib/ximera/src/logo.dtx30
-rw-r--r--macros/latex/contrib/ximera/src/macros.dtx14
-rw-r--r--macros/latex/contrib/ximera/src/makeCounter.dtx37
-rw-r--r--macros/latex/contrib/ximera/src/metadata.dtx32
-rw-r--r--macros/latex/contrib/ximera/src/only.dtx38
-rw-r--r--macros/latex/contrib/ximera/src/options.dtx123
-rw-r--r--macros/latex/contrib/ximera/src/optionsxourse.dtx27
-rw-r--r--macros/latex/contrib/ximera/src/outcomes.dtx34
-rw-r--r--macros/latex/contrib/ximera/src/packages.dtx54
-rw-r--r--macros/latex/contrib/ximera/src/pagesetup.dtx55
-rw-r--r--macros/latex/contrib/ximera/src/problem.dtx197
-rw-r--r--macros/latex/contrib/ximera/src/proof.dtx10
-rw-r--r--macros/latex/contrib/ximera/src/sectioning.dtx49
-rw-r--r--macros/latex/contrib/ximera/src/solution.dtx30
-rw-r--r--macros/latex/contrib/ximera/src/suppress.dtx33
-rw-r--r--macros/latex/contrib/ximera/src/textcolor.dtx20
-rw-r--r--macros/latex/contrib/ximera/src/theorems.dtx174
-rw-r--r--macros/latex/contrib/ximera/src/tikzexport.dtx42
-rw-r--r--macros/latex/contrib/ximera/src/title.dtx122
-rw-r--r--macros/latex/contrib/ximera/src/ungraded.dtx22
-rw-r--r--macros/latex/contrib/ximera/src/utilitymacros.dtx45
-rw-r--r--macros/latex/contrib/ximera/src/verbatim.dtx36
-rw-r--r--macros/latex/contrib/ximera/src/xkcd.dtx13
-rw-r--r--macros/latex/contrib/ximera/ximera.dtx363
-rw-r--r--macros/latex/contrib/ximera/ximera.ins211
-rw-r--r--macros/latex/contrib/ximera/ximera.pdfbin0 -> 320915 bytes
-rw-r--r--macros/latex/required/babel/base/README.md22
-rw-r--r--macros/latex/required/babel/base/babel-code.pdfbin646852 -> 647398 bytes
-rw-r--r--macros/latex/required/babel/base/babel.dtx165
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin422784 -> 423656 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
-rw-r--r--macros/latex/required/l3backend/CHANGELOG.md (renamed from macros/latex/contrib/l3backend/CHANGELOG.md)11
-rw-r--r--macros/latex/required/l3backend/README.md (renamed from macros/latex/contrib/l3backend/README.md)2
-rw-r--r--macros/latex/required/l3backend/l3backend-basics.dtx (renamed from macros/latex/contrib/l3backend/l3backend-basics.dtx)14
-rw-r--r--macros/latex/required/l3backend/l3backend-box.dtx (renamed from macros/latex/contrib/l3backend/l3backend-box.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-code.pdf (renamed from macros/latex/contrib/l3backend/l3backend-code.pdf)bin908163 -> 907780 bytes
-rw-r--r--macros/latex/required/l3backend/l3backend-code.tex (renamed from macros/latex/contrib/l3backend/l3backend-code.tex)0
-rw-r--r--macros/latex/required/l3backend/l3backend-color.dtx (renamed from macros/latex/contrib/l3backend/l3backend-color.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-draw.dtx (renamed from macros/latex/contrib/l3backend/l3backend-draw.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-graphics.dtx (renamed from macros/latex/contrib/l3backend/l3backend-graphics.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-header.dtx (renamed from macros/latex/contrib/l3backend/l3backend-header.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-opacity.dtx (renamed from macros/latex/contrib/l3backend/l3backend-opacity.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-pdf.dtx (renamed from macros/latex/contrib/l3backend/l3backend-pdf.dtx)106
-rw-r--r--macros/latex/required/l3backend/l3backend.ins (renamed from macros/latex/contrib/l3backend/l3backend.ins)0
-rw-r--r--macros/latex/required/l3kernel/CHANGELOG.md (renamed from macros/latex/contrib/l3kernel/CHANGELOG.md)28
-rw-r--r--macros/latex/required/l3kernel/README.md (renamed from macros/latex/contrib/l3kernel/README.md)2
-rw-r--r--macros/latex/required/l3kernel/expl3.dtx (renamed from macros/latex/contrib/l3kernel/expl3.dtx)4
-rw-r--r--macros/latex/required/l3kernel/expl3.pdf (renamed from macros/latex/contrib/l3kernel/expl3.pdf)bin610363 -> 610060 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.pdf (renamed from macros/latex/contrib/l3kernel/interface3.pdf)bin1795605 -> 1801752 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.tex (renamed from macros/latex/contrib/l3kernel/interface3.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3.ins (renamed from macros/latex/contrib/l3kernel/l3.ins)3
-rw-r--r--macros/latex/required/l3kernel/l3basics.dtx (renamed from macros/latex/contrib/l3kernel/l3basics.dtx)16
-rw-r--r--macros/latex/required/l3kernel/l3bitset.dtx (renamed from macros/latex/contrib/l3kernel/l3bitset.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3bootstrap.dtx (renamed from macros/latex/contrib/l3kernel/l3bootstrap.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3box.dtx (renamed from macros/latex/contrib/l3kernel/l3box.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3cctab.dtx (renamed from macros/latex/contrib/l3kernel/l3cctab.dtx)33
-rw-r--r--macros/latex/required/l3kernel/l3clist.dtx (renamed from macros/latex/contrib/l3kernel/l3clist.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3coffins.dtx (renamed from macros/latex/contrib/l3kernel/l3coffins.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3color.dtx (renamed from macros/latex/contrib/l3kernel/l3color.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3debug.dtx (renamed from macros/latex/contrib/l3kernel/l3debug.dtx)15
-rw-r--r--macros/latex/required/l3kernel/l3deprecation.dtx (renamed from macros/latex/contrib/l3kernel/l3deprecation.dtx)63
-rw-r--r--macros/latex/required/l3kernel/l3doc.dtx (renamed from macros/latex/contrib/l3kernel/l3doc.dtx)6
-rw-r--r--macros/latex/required/l3kernel/l3doc.pdf (renamed from macros/latex/contrib/l3kernel/l3doc.pdf)bin565279 -> 565282 bytes
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.dtx (renamed from macros/latex/contrib/l3kernel/l3docstrip.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.pdf (renamed from macros/latex/contrib/l3kernel/l3docstrip.pdf)bin151266 -> 150985 bytes
-rw-r--r--macros/latex/required/l3kernel/l3expan.dtx (renamed from macros/latex/contrib/l3kernel/l3expan.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3file.dtx (renamed from macros/latex/contrib/l3kernel/l3file.dtx)19
-rw-r--r--macros/latex/required/l3kernel/l3flag.dtx (renamed from macros/latex/contrib/l3kernel/l3flag.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-assign.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-assign.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-aux.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-aux.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-basics.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-basics.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-convert.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-convert.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-expo.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-expo.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-extended.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-extended.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-functions.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-functions.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-logic.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-logic.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-parse.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-parse.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-random.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-random.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-round.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-round.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-symbolic.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-symbolic.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-traps.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-traps.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-trig.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-trig.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-types.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-types.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp.dtx (renamed from macros/latex/contrib/l3kernel/l3fp.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fparray.dtx (renamed from macros/latex/contrib/l3kernel/l3fparray.dtx)57
-rw-r--r--macros/latex/required/l3kernel/l3int.dtx (renamed from macros/latex/contrib/l3kernel/l3int.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3intarray.dtx (renamed from macros/latex/contrib/l3kernel/l3intarray.dtx)75
-rw-r--r--macros/latex/required/l3kernel/l3kernel-functions.dtx (renamed from macros/latex/contrib/l3kernel/l3kernel-functions.dtx)29
-rw-r--r--macros/latex/required/l3kernel/l3keys.dtx (renamed from macros/latex/contrib/l3kernel/l3keys.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3legacy.dtx (renamed from macros/latex/contrib/l3kernel/l3legacy.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3luatex.dtx (renamed from macros/latex/contrib/l3kernel/l3luatex.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3msg.dtx (renamed from macros/latex/contrib/l3kernel/l3msg.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3names.dtx (renamed from macros/latex/contrib/l3kernel/l3names.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3news.pdf (renamed from macros/latex/contrib/l3kernel/l3news.pdf)bin396222 -> 396222 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news.tex (renamed from macros/latex/contrib/l3kernel/l3news.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news01.pdf (renamed from macros/latex/contrib/l3kernel/l3news01.pdf)bin122959 -> 122959 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news01.tex (renamed from macros/latex/contrib/l3kernel/l3news01.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news02.pdf (renamed from macros/latex/contrib/l3kernel/l3news02.pdf)bin150919 -> 150919 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news02.tex (renamed from macros/latex/contrib/l3kernel/l3news02.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news03.pdf (renamed from macros/latex/contrib/l3kernel/l3news03.pdf)bin148747 -> 148747 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news03.tex (renamed from macros/latex/contrib/l3kernel/l3news03.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news04.pdf (renamed from macros/latex/contrib/l3kernel/l3news04.pdf)bin114754 -> 114754 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news04.tex (renamed from macros/latex/contrib/l3kernel/l3news04.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news05.pdf (renamed from macros/latex/contrib/l3kernel/l3news05.pdf)bin112524 -> 112524 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news05.tex (renamed from macros/latex/contrib/l3kernel/l3news05.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news06.pdf (renamed from macros/latex/contrib/l3kernel/l3news06.pdf)bin151591 -> 151591 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news06.tex (renamed from macros/latex/contrib/l3kernel/l3news06.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news07.pdf (renamed from macros/latex/contrib/l3kernel/l3news07.pdf)bin128344 -> 128344 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news07.tex (renamed from macros/latex/contrib/l3kernel/l3news07.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news08.pdf (renamed from macros/latex/contrib/l3kernel/l3news08.pdf)bin163484 -> 163484 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news08.tex (renamed from macros/latex/contrib/l3kernel/l3news08.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news09.pdf (renamed from macros/latex/contrib/l3kernel/l3news09.pdf)bin250159 -> 250159 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news09.tex (renamed from macros/latex/contrib/l3kernel/l3news09.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news10.pdf (renamed from macros/latex/contrib/l3kernel/l3news10.pdf)bin150302 -> 150302 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news10.tex (renamed from macros/latex/contrib/l3kernel/l3news10.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news11.pdf (renamed from macros/latex/contrib/l3kernel/l3news11.pdf)bin170102 -> 170102 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news11.tex (renamed from macros/latex/contrib/l3kernel/l3news11.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news12.pdf (renamed from macros/latex/contrib/l3kernel/l3news12.pdf)bin205020 -> 205020 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news12.tex (renamed from macros/latex/contrib/l3kernel/l3news12.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3pdf.dtx (renamed from macros/latex/contrib/l3kernel/l3pdf.dtx)362
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.csv (renamed from macros/latex/contrib/l3kernel/l3prefixes.csv)0
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.pdf (renamed from macros/latex/contrib/l3kernel/l3prefixes.pdf)bin82720 -> 82720 bytes
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.tex (renamed from macros/latex/contrib/l3kernel/l3prefixes.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3prg.dtx (renamed from macros/latex/contrib/l3kernel/l3prg.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3prop.dtx (renamed from macros/latex/contrib/l3kernel/l3prop.dtx)40
-rw-r--r--macros/latex/required/l3kernel/l3quark.dtx (renamed from macros/latex/contrib/l3kernel/l3quark.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3regex.dtx (renamed from macros/latex/contrib/l3kernel/l3regex.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3seq.dtx (renamed from macros/latex/contrib/l3kernel/l3seq.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3skip.dtx (renamed from macros/latex/contrib/l3kernel/l3skip.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3sort.dtx (renamed from macros/latex/contrib/l3kernel/l3sort.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3str-convert.dtx (renamed from macros/latex/contrib/l3kernel/l3str-convert.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3str.dtx (renamed from macros/latex/contrib/l3kernel/l3str.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.pdf (renamed from macros/latex/contrib/l3kernel/l3styleguide.pdf)bin296553 -> 296259 bytes
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.tex (renamed from macros/latex/contrib/l3kernel/l3styleguide.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.pdf (renamed from macros/latex/contrib/l3kernel/l3syntax-changes.pdf)bin231402 -> 231103 bytes
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.tex (renamed from macros/latex/contrib/l3kernel/l3syntax-changes.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3sys.dtx (renamed from macros/latex/contrib/l3kernel/l3sys.dtx)21
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.pdf (renamed from macros/latex/contrib/l3kernel/l3term-glossary.pdf)bin242191 -> 241893 bytes
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.tex (renamed from macros/latex/contrib/l3kernel/l3term-glossary.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3text-case.dtx (renamed from macros/latex/contrib/l3kernel/l3text-case.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text-map.dtx (renamed from macros/latex/contrib/l3kernel/l3text-map.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text-purify.dtx (renamed from macros/latex/contrib/l3kernel/l3text-purify.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text.dtx (renamed from macros/latex/contrib/l3kernel/l3text.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3tl-analysis.dtx (renamed from macros/latex/contrib/l3kernel/l3tl-analysis.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3tl-build.dtx (renamed from macros/latex/contrib/l3kernel/l3tl-build.dtx)5
-rw-r--r--macros/latex/required/l3kernel/l3tl.dtx (renamed from macros/latex/contrib/l3kernel/l3tl.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3token.dtx (renamed from macros/latex/contrib/l3kernel/l3token.dtx)10
-rw-r--r--macros/latex/required/l3kernel/l3unicode.dtx (renamed from macros/latex/contrib/l3kernel/l3unicode.dtx)4
-rw-r--r--macros/latex/required/l3kernel/source3.pdf (renamed from macros/latex/contrib/l3kernel/source3.pdf)bin7574289 -> 7624172 bytes
-rw-r--r--macros/latex/required/l3kernel/source3.tex (renamed from macros/latex/contrib/l3kernel/source3.tex)2
-rw-r--r--macros/latex/required/l3kernel/source3body.tex (renamed from macros/latex/contrib/l3kernel/source3body.tex)0
-rw-r--r--macros/luatex/generic/luamplib/Makefile6
-rw-r--r--macros/luatex/generic/luamplib/NEWS82
-rw-r--r--macros/luatex/generic/luamplib/luamplib.dtx1579
-rw-r--r--macros/luatex/generic/luamplib/luamplib.pdfbin168963 -> 184266 bytes
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-latex.tex38
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-plain.tex115
-rw-r--r--macros/luatex/generic/luatexja/COPYING2
-rw-r--r--macros/luatex/generic/luatexja/README13
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin701120 -> 699725 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1143952 -> 1143479 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx5
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty415
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty415
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty12
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty114
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-base.lua13
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty76
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty12
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty6
-rw-r--r--macros/luatex/generic/luavlna/README.md2
-rw-r--r--macros/luatex/generic/luavlna/luavlna-doc.pdfbin92180 -> 85036 bytes
-rw-r--r--macros/luatex/generic/luavlna/luavlna-doc.tex8
-rw-r--r--macros/luatex/generic/luavlna/luavlna-langno.lua3
-rw-r--r--macros/luatex/generic/luavlna/luavlna.lua19
-rw-r--r--macros/luatex/generic/luavlna/luavlna.sty2
-rw-r--r--macros/luatex/generic/luavlna/luavlna.tex13
-rw-r--r--macros/luatex/latex/lua-typo/README.md4
-rw-r--r--macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdfbin16859 -> 16859 bytes
-rw-r--r--macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdfbin107762 -> 107094 bytes
-rw-r--r--macros/luatex/latex/lua-typo/doc/lua-typo.pdfbin215391 -> 215208 bytes
-rw-r--r--macros/luatex/latex/lua-typo/source/lua-typo.dtx196
-rw-r--r--macros/luatex/latex/novel/README.md9
-rw-r--r--macros/luatex/latex/novel/doc/novel-documentation.html5
-rw-r--r--macros/luatex/latex/novel/doc/novel.pdf186
-rw-r--r--macros/luatex/latex/novel/doc/novel.tex17
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-CGATSTR001.clo2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-DropCap.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-FOGRA39.clo2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-FileData.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-Fonts.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-Footnotes.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-Images.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-JC200103.clo2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-PostLayout.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-Sandbox.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-TextMacros.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-microtype.cfg2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-pdfx.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel-xmppacket.sty2
-rw-r--r--macros/luatex/latex/novel/lualatex/novel.cls4
-rw-r--r--macros/luatex/latex/piton/README.md2
-rw-r--r--macros/luatex/latex/piton/piton-french.pdf5459
-rw-r--r--macros/luatex/latex/piton/piton-french.tex278
-rw-r--r--macros/luatex/latex/piton/piton.dtx624
-rw-r--r--macros/luatex/latex/piton/piton.pdf23263
-rw-r--r--macros/plain/contrib/ifis-macros/README21
-rw-r--r--macros/plain/contrib/ifis-macros/ifis-macros-doc.pdfbin0 -> 22463 bytes
-rw-r--r--macros/plain/contrib/ifis-macros/ifis-macros-doc.tex138
-rw-r--r--macros/plain/contrib/ifis-macros/ifisdimension.tex93
-rw-r--r--macros/plain/contrib/ifis-macros/ifisinteger.tex44
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.dtx68
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.pdfbin743578 -> 752015 bytes
-rw-r--r--macros/unicodetex/latex/fontspec/CHANGES.md58
-rw-r--r--macros/unicodetex/latex/fontspec/README.md39
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-api.dtx226
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-closing.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-feat-aat.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-feat-opentype.dtx108
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-interfaces.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx179
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-keyval.dtx32
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-lang.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-load.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-math.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx48
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-opening.dtx33
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-opentype.dtx39
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx9
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-user.dtx9
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-vars.dtx9
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-xfss.dtx64
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code.ltx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code.pdfbin672898 -> 686785 bytes
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-api.tex30
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-enc.tex8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-featset.tex50
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-fontsel.tex55
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-intro.tex23
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-luatex.tex8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-opentype.tex112
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-style.sty8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-xetex.tex16
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-example.tex2
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-lua.dtx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec.dtx16
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec.ins10
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec.ltx8
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec.pdfbin578717 -> 524650 bytes
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.dtx297
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.pdfbin1261076 -> 1272240 bytes
1824 files changed, 119003 insertions, 102647 deletions
diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md
index 614cef6912..3ea1c8c837 100644
--- a/macros/generic/markdown/CHANGES.md
+++ b/macros/generic/markdown/CHANGES.md
@@ -1,8 +1,26 @@
# Changes
-## 3.5.0
+## 3.5.0 (2024-04-29)
-## 3.4.3
+Development:
+
+- Add `\markinline` plain TeX command. (#300, #439)
+- Support incremental definitions of token renderers and renderer prototypes
+ in the `\markdownSetup` command.
+ (#232, #435, 540a83c0, [matrix.org][matrix-435], #437, #438,
+ contributed by @eg9, @gucci-on-fleek, and @Skillmon
+ [on TeX StackExchange][tse-716400])
+
+ [matrix-435]: https://matrix.to/#/!UeAwznpYwwsinVTetR:matrix.org/$k4ky6I-uvxdp8ipVlHvef5JXfIfPQvFtXOAD_ogF2uU?via=matrix.org&via=im.f3l.de
+ [tse-716400]: https://tex.stackexchange.com/questions/716362/convert-control-sequence-with-a-variable-number-of-parameters-into-a-token-list/716400#716400
+
+Default Renderer Prototypes:
+
+- Add default renderers for unnumbered sections in LaTeX.
+ (#401, istqborg/istqb_product_base#23, #430, reported by @felinecrp,
+ sponsored by @istqborg)
+
+## 3.4.3 (2024-04-04)
Fixes:
diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md
index 76ad39d740..69fdc4ab30 100644
--- a/macros/generic/markdown/README.md
+++ b/macros/generic/markdown/README.md
@@ -193,14 +193,14 @@ For further information, consult one of the following:
- [Markdown 2.17.1: What's New, What's Next?][tb135],
- [Attributes in Markdown][tb136],
- Markdown 3 at TUG 2023: Reflections from the Q&A session ([preprint][tb138]), and
- - Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching ([work in progress][tb139]).
+ - Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching ([preprint][tb139]).
5. Journal articles published by [CSTUG Bulletin][csbul] (in Czech and Slovak):
- [Rendering Markdown inside TeX Documents][10.5300/2016-1-4/78],
- [Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX][10.5300/2020-1-2/48],
- [Markdown 2.10.0: LaTeX Themes & Snippets][10.5300/2021-1-4/76],
- [Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility][10.5300/2021-1-4/83],
- [High-Level Languages for TeX][10.5300/2022-1-4/35], and
- - Markdown 3: What's New, What's Next? ([preprint][10.5300/2023-?-?/??]).
+ - [Markdown 3: What's New, What's Next?][10.5300/2023-3-4/111].
6. Talks:
- [Five Years of Markdown in LaTeX: What, Why, How, and Whereto][pv212-fall2020] (in Czech),
- [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131-video] ([slides][tb131-slides]),
@@ -219,15 +219,15 @@ For further information, consult one of the following:
[overleaf-5]: https://www.overleaf.com/latex/examples/writing-posters-with-markdown/jtbgmmgqrqmh "Writing Posters with Markdown"
[overleaf-6]: https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm "Using Markdown in LaTeX documents"
- [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
- [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
- [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
- [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
- [tb133]: https://www.tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?"
- [tb135]: https://www.tug.org/TUGboat/tb43-3/tb135novotny-markdown.pdf "Markdown 2.17.1: What's New, What's Next?"
- [tb136]: https://www.tug.org/TUGboat/tb44-1/tb136novotny-markdown-attr.pdf "Attributes in Markdown"
- [tb138]: https://www.overleaf.com/read/mjghwhrbgmfj "Markdown 3 at TUG 2023: Reflections from the Q&A session"
- [tb139]: https://github.com/witiko/fast-regression-testing/releases/download/latest/main.pdf "Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching"
+ [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
+ [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
+ [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
+ [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
+ [tb133]: https://www.tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?"
+ [tb135]: https://www.tug.org/TUGboat/tb43-3/tb135novotny-markdown.pdf "Markdown 2.17.1: What's New, What's Next?"
+ [tb136]: https://www.tug.org/TUGboat/tb44-1/tb136novotny-markdown-attr.pdf "Attributes in Markdown"
+ [tb138]: https://www.overleaf.com/read/mjghwhrbgmfj "Markdown 3 at TUG 2023: Reflections from the Q&A session"
+ [tb139]: https://github.com/Witiko/fast-regression-testing/releases/download/latest/tb139starynovotny-testing.pdf "Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching"
[tb131-slides]: https://tug.org/tug2021/assets/pdf/tug2021-novotny-slides.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
[tb131-video]: https://youtu.be/i2GJMnLCZls "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
@@ -239,13 +239,13 @@ For further information, consult one of the following:
[tb137-slides]: https://tug.org/tug2023/files/sa-03-novotny-markdown3/novotny-markdown3-slides.pdf "Markdown 3: What's New, What's Next?"
[tb137-video]: https://youtu.be/U8XjTOhJkg0 "Markdown 3: What's New, What's Next?"
- [10.5300/2016-1-4/78]: https://www.doi.org/10.5300/2016-1-4/78 "Rendering Markdown inside TeX Documents"
- [10.5300/2020-1-2/48]: https://www.doi.org/10.5300/2020-1-2/48 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
- [10.5300/2021-1-4/76]: https://www.doi.org/10.5300/2021-1-4/76 "Markdown 2.10.0: LaTeX Themes & Snippets"
- [10.5300/2021-1-4/83]: https://www.doi.org/10.5300/2021-1-4/83 "Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility"
- [10.5300/2022-1-4/35]: https://www.doi.org/10.5300/2022-1-4/35 "High-Level Languages for TeX"
+ [10.5300/2016-1-4/78]: https://www.doi.org/10.5300/2016-1-4/78 "Rendering Markdown inside TeX Documents"
+ [10.5300/2020-1-2/48]: https://www.doi.org/10.5300/2020-1-2/48 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
+ [10.5300/2021-1-4/76]: https://www.doi.org/10.5300/2021-1-4/76 "Markdown 2.10.0: LaTeX Themes & Snippets"
+ [10.5300/2021-1-4/83]: https://www.doi.org/10.5300/2021-1-4/83 "Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility"
+ [10.5300/2022-1-4/35]: https://www.doi.org/10.5300/2022-1-4/35 "High-Level Languages for TeX"
- [10.5300/2023-?-?/??]: https://github.com/witiko/markdown-3-whats-new-whats-next/releases/download/latest/main.pdf "Markdown 3: What's New, What's Next?"
+ [10.5300/2023-3-4/111]: https://www.doi.org/10.5300/2023-3-4/111 "Markdown 3: What's New, What's Next?"
[pv212-fall2020]: https://is.muni.cz/elearning/io/?qurl=%2Fel%2Ffi%2Fpodzim2020%2FPV212%2Findex.qwarp;prejit=5595952
@@ -274,7 +274,7 @@ Acknowledgements
| [<img width="150" src="https://www.fi.muni.cz/images/fi-logo.png">][fimu] | I gratefully acknowledge the funding from the [Faculty of Informatics][fimu] at the [Masaryk University][mu] in Brno, Czech Republic, for the development of the Markdown package in projects [MUNI/33/12/2015][], [MUNI/33/1784/2020][], [MUNI/33/0776/2021][], [MUNI/33/1654/2022][], and [MUNI/33/1658/2022][]. |
| [<img width="150" src="https://cdn.overleaf.com/img/ol-brand/overleaf_og_logo.png">][overleaf] | Extensive user documentation for the Markdown package was kindly written by [Lian Tze Lim][liantze] and published by [Overleaf][]. |
| [<img width="150" src="https://pbs.twimg.com/profile_images/1004769879319334912/6Bh1UthD.jpg">][omedym] | Support for content slicing (Lua options [`shiftHeadings`][option-shift-headings] and [`slice`][option-slice]) and pipe tables (Lua options [`pipeTables`][option-pipe-tables] and [`tableCaptions`][option-table-captions]) was graciously sponsored by [David Vins][dvins] and [Omedym][]. |
-| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359], [#368][issue-368], and [#424][issue-424] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. |
+| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359], [#368][issue-368], [#401][issue-401], and [#424][issue-424] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. |
[dvins]: https://github.com/dvins "David Vins"
[fimu]: https://www.fi.muni.cz/index.html.en "Faculty of Informatics, Masaryk University"
@@ -284,6 +284,7 @@ Acknowledgements
[issue-359]: https://github.com/witiko/markdown/issues/359 "First item of a fancy list forms a separate list"
[issue-368]: https://github.com/witiko/markdown/issues/368 "Tables nested in list items have empty lines"
+ [issue-401]: https://github.com/witiko/markdown/issues/401 "Create an unnumbered section"
[issue-424]: https://github.com/witiko/markdown/issues/424 "E-mail addresses are incorrectly interpreted as bracketed citations"
[option-pipe-tables]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#pipe-tables "Markdown Package User Manual"
diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION
index d13fdfa34f..e4e9a98451 100644
--- a/macros/generic/markdown/VERSION
+++ b/macros/generic/markdown/VERSION
@@ -1 +1 @@
-3.4.3-0-ge2c6be1a (2024-04-04)
+3.5.0-0-gfd01a252 (2024-04-29)
diff --git a/macros/generic/markdown/examples/context-mkiv.tex b/macros/generic/markdown/examples/context-mkiv.tex
index 8b000e43ed..6cb185802a 100644
--- a/macros/generic/markdown/examples/context-mkiv.tex
+++ b/macros/generic/markdown/examples/context-mkiv.tex
@@ -72,16 +72,15 @@ kpse.set_program_name("luatex")
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\startmarkdown
-Here are some non-ASCII characters: *ěščřžýáíé*
-and ConTeXt special characters: *|*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
-Here is a hard line break that we inserted directly from the TeX source
-by typing two spaces at the end of a line.
-This is stretching TeX's abilities and is only supported in ConTeXt MkIV
-and later.
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
\stopmarkdown
diff --git a/macros/generic/markdown/examples/latex-luatex.tex b/macros/generic/markdown/examples/latex-luatex.tex
index 5aa7c85d7d..51be09c1f6 100644
--- a/macros/generic/markdown/examples/latex-luatex.tex
+++ b/macros/generic/markdown/examples/latex-luatex.tex
@@ -49,8 +49,33 @@ date: \today
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\begin{markdown}
-Here are some non-ASCII characters: *ěščřžýáíé*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
+
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
+\end{markdown}
+
+% Besides YAML, LaTeX, and Markdown, you can also type HTML in your documents.
+\begin{markdown}
+Here is some <b>HTML code</b> mixed *with Markdown*. In `\TeX`{=tex}, the HTML
+code will be silently ignored, whereas in `\TeX`{=tex}4ht, the HTML code will
+be passed through to the output:
+
+<table border="1">
+ <tr>
+ <td>Emil</td>
+ <td>Tobias</td>
+ <td>Linus</td>
+ </tr>
+ <tr>
+ <td>16</td>
+ <td>14</td>
+ <td>10</td>
+ </tr>
+</table>
\end{markdown}
\end{document}
diff --git a/macros/generic/markdown/examples/latex-pdftex.tex b/macros/generic/markdown/examples/latex-pdftex.tex
index 7d188d75f2..34f78707c3 100644
--- a/macros/generic/markdown/examples/latex-pdftex.tex
+++ b/macros/generic/markdown/examples/latex-pdftex.tex
@@ -50,15 +50,21 @@ date: \today
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\begin{markdown}
-Here are some non-ASCII characters: *ěščřžýáíé*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
+
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
\end{markdown}
-\begin{markdown}[hybrid]
-Here is some <b>HTML code</b> mixed *with Markdown*. In \TeX, the HTML code
-will be silently ignored, whereas in \TeX 4ht, the HTML code will be passed
-through to the output:
+% Besides YAML, LaTeX, and Markdown, you can also type HTML in your documents.
+\begin{markdown}
+Here is some <b>HTML code</b> mixed *with Markdown*. In `\TeX`{=tex}, the HTML
+code will be silently ignored, whereas in `\TeX`{=tex}4ht, the HTML code will
+be passed through to the output:
<table border="1">
<tr>
diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx
index dd4c7367fb..bbbd06e8bb 100644
--- a/macros/generic/markdown/markdown.dtx
+++ b/macros/generic/markdown/markdown.dtx
@@ -683,6 +683,12 @@ abbr {
\endgroup
%</techdoc-block-diagram>
%<*techdoc-bibliography>
+@online{starynovotny24,
+ author = {Starý Novotný, Vít and Enrico Gregorio and Max Chernoff and P. Spratte, Jonathan},
+ title = {Convert control sequence with a variable number of undelimited parameters into a token list},
+ url = {https://tex.stackexchange.com/q/716362/70941},
+ urldate = {2024-04-28},
+}
@book{tantau21,
author = {Till Tantau and Joseph Wright and Vedran Miletić},
title = {The Beamer class},
@@ -827,6 +833,8 @@ abbr {
\seq_map_inline:Nn
\l_@@_header_identifiers_seq
{ \label { sec:##1 } }
+ \seq_clear:N
+ \l_@@_header_identifiers_seq
},
},
}
@@ -11342,7 +11350,7 @@ pdftex --shell-escape document.tex
%### Typesetting Markdown {#tex-typesetting}
%
% The interface exposes the \mdef{markdownBegin}, \mdef{markdownEnd},
-% \mdef{markdownInput}, and \mdef{markdownEscape} macros.
+% \mdef{markinline}, \mdef{markdownInput}, and \mdef{markdownEscape} macros.
%
% The \mref{markdownBegin} macro marks the beginning of a markdown document
% fragment and the \mref{markdownEnd} macro marks its end.
@@ -11400,6 +11408,38 @@ pdftex --shell-escape document.tex
% \bye
% ```````
%
+% You can use the \mref{markinline} macro to input inline markdown content.
+%
+% \end{markdown}
+% \begin{macrocode}
+\let\markinline\relax
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% The following example plain \TeX{} code showcases the usage of the
+% \mref{markinline} macro:
+%
+% ``` tex
+% \input markdown
+% \markinline{_Hello_ **world**}
+% \bye
+% ```````
+%
+% The above code has the same effect as the below code:
+%
+% ``` tex
+% \input markdown
+% \markdownSetup{contentLevel=inline}
+% \markdownBegin
+% _Hello_ **world** ...
+% \markdownEnd
+% \bye
+% ```````
+%
+% The \mref{markinline} macro is subject to the same limitations as the
+% \mref{markdownBegin} and \mref{markdownEnd} macros.
+%
% You can use the \mref{markdownInput} macro to include markdown documents,
% similarly to how you might use the \mref{input} \TeX{} primitive to include
% \TeX{} documents. The \mref{markdownInput} macro accepts a single parameter
@@ -11413,7 +11453,7 @@ pdftex --shell-escape document.tex
% \par
% \begin{markdown}
%
-% This macro is not subject to the abovelisted limitations of the
+% This macro is not subject to the limitations of the
% \mref{markdownBegin} and \mref{markdownEnd} macros.
%
% The following example plain \TeX{} code showcases the usage of the
@@ -11906,11 +11946,11 @@ macro after loading the package has no effect.
%
% The \mdef{markdownOptionStripPercentSigns} macro controls whether a percent
% sign (`\%`) at the beginning of a line will be discarded when buffering
-% Markdown input (see Section <#sec:buffering>) or not. Notably, this
-% enables the use of markdown when writing \TeX{} package documentation using
-% the \pkg{Doc} \LaTeX{}~package~[@mittelbach17] or similar. The recognized
-% values of the macro are `true` (discard) and `false` (retain). It defaults
-% to `false`.
+% Markdown input (see sections <#sec:buffering-block> and
+% <#sec:buffering-inline>) or not. Notably, this enables the use of markdown
+% when writing \TeX{} package documentation using the \pkg{Doc}
+% \LaTeX{}~package~[@mittelbach17] or similar. The recognized values of the
+% macro are `true` (discard) and `false` (retain). It defaults to `false`.
%
% \end{markdown}
% \begin{macrocode}
@@ -20158,6 +20198,8 @@ following text:
}
\tl_new:N
\l_@@_renderer_definition_tl
+\bool_new:N
+ \g_@@_appending_renderer_bool
\cs_new:Nn \@@_define_renderer:nNn
{
\keys_define:nn
@@ -20171,6 +20213,17 @@ following text:
{ \cP\#0 }
{ #1 }
\l_@@_renderer_definition_tl
+ \bool_if:NT
+ \g_@@_appending_renderer_bool
+ {
+ \@@_tl_set_from_cs:NNn
+ \l_tmpa_tl
+ #2
+ { #3 }
+ \tl_put_left:NV
+ \l_@@_renderer_definition_tl
+ \l_tmpa_tl
+ }
\cs_generate_from_arg_count:NNnV
#2
\cs_set:Npn
@@ -20179,12 +20232,61 @@ following text:
},
}
}
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% We define the function \mdef{@@_tl_set_from_cs:NNn}
+% [@starynovotny24]. The function takes a token list, a control sequence with
+% undelimited parameters, and the number of parameters the control sequence
+% accepts, and locally assigns the replacement text of the control sequence
+% to the token list.
+%
+% \end{markdown}
+% \begin{macrocode}
+\cs_new_protected:Nn
+ \@@_tl_set_from_cs:NNn
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { #2 }
+ \int_step_inline:nn
+ { #3 }
+ {
+ \exp_args:NNc
+ \tl_put_right:Nn
+ \l_tmpa_tl
+ { @@_tl_set_from_cs_parameter_ ##1 }
+ }
+ \exp_args:NNV
+ \tl_set:No
+ \l_tmpb_tl
+ \l_tmpa_tl
+ \regex_replace_all:nnN
+ { \cP. }
+ { \0\0 }
+ \l_tmpb_tl
+ \int_step_inline:nn
+ { #3 }
+ {
+ \regex_replace_all:nnN
+ { \c { @@_tl_set_from_cs_parameter_ ##1 } }
+ { \cP\# ##1 }
+ \l_tmpb_tl
+ }
+ \tl_set:NV
+ #1
+ \l_tmpb_tl
+ }
\cs_generate_variant:Nn
\@@_define_renderer:nNn
{ ncV }
\cs_generate_variant:Nn
\cs_generate_from_arg_count:NNnn
{ NNnV }
+\cs_generate_variant:Nn
+ \tl_put_left:Nn
+ { Nv }
\keys_define:nn
{ markdown/options }
{
@@ -20194,7 +20296,6 @@ following text:
{ #1 }
},
}
-\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20211,13 +20312,92 @@ following text:
% }
% ```````
%
-% In addition to exact token renderer names, we also support wildcards
-% and enumerations that match multiple token renderer names:
+% \end{markdown}
+% \begin{macrocode}
+\tl_new:N
+ \l_@@_renderer_glob_definition_tl
+\seq_new:N
+ \l_@@_renderer_glob_results_seq
+\regex_const:Nn
+ \c_@@_appending_key_regex
+ { \s*+$ }
+\keys_define:nn
+ { markdown/options/renderers }
+ {
+ unknown .code:n = {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Besides defining renderers at once, we can also define them incrementally
+% using the appending operator (`+=`). This can be especially useful in
+% defining rules for processing different \acro{HTML} class names and
+% identifiers:
+% ``` tex
+% \markdownSetup{
+% renderers = {
+% \% Start with empty renderers.
+% headerAttributeContextBegin = {},
+% attributeClassName = {},
+% attributeIdentifier = {},
+% \% Define the processing of a single specific HTML class name.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% renderers = {
+% attributeClassName += {...},
+% },
+% }
+% },
+% \% Define the processing of a single specific HTML identifier.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% renderers = {
+% attributeIdentifier += {...},
+% },
+% }
+% },
+% },
+% }
+% ```````
+%
+% \end{markdown}
+% \begin{macrocode}
+ \regex_match:NVTF
+ \c_@@_appending_key_regex
+ \l_keys_key_str
+ {
+ \bool_gset_true:N
+ \g_@@_appending_renderer_bool
+ \tl_set:NV
+ \l_tmpa_tl
+ \l_keys_key_str
+ \regex_replace_once:NnN
+ \c_@@_appending_key_regex
+ { }
+ \l_tmpa_tl
+ \tl_set:Nx
+ \l_tmpb_tl
+ { { \l_tmpa_tl } = }
+ \tl_put_right:Nn
+ \l_tmpb_tl
+ { { #1 } }
+ \keys_set:nV
+ { markdown/options/renderers }
+ \l_tmpb_tl
+ \bool_gset_false:N
+ \g_@@_appending_renderer_bool
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% In addition to exact token renderer names, we also support wildcards (`*`)
+% and enumerations (`|`) that match multiple token renderer names:
% ``` tex
% \markdownSetup{
% renderers = {
% heading* = {{\bf #1}}, \% Render headings using the bold face.
-% jekyllData(String|Number) = { \% Render YAML string and numbers
+% jekyllData(String|Number) = {\% \% Render YAML string and numbers
% {\it #2}\% \% using italics.
% },
% }
@@ -20233,7 +20413,8 @@ following text:
% }
% ```````
%
-% To determine the current token renderer, you can use the parameter `#0`:
+% To determine the current token renderer, you can use the
+% pseudo-parameter `#0`:
% ``` tex
% \markdownSetup{
% renderers = {
@@ -20244,7 +20425,59 @@ following text:
%
% \end{markdown}
% \begin{macrocode}
-\ExplSyntaxOn
+ {
+ \@@_glob_seq:VnN
+ \l_keys_key_str
+ { g_@@_renderers_seq }
+ \l_@@_renderer_glob_results_seq
+ \seq_if_empty:NTF
+ \l_@@_renderer_glob_results_seq
+ {
+ \msg_error:nnV
+ { markdown }
+ { undefined-renderer }
+ \l_keys_key_str
+ }
+ {
+ \tl_set:Nn
+ \l_@@_renderer_glob_definition_tl
+ { \exp_not:n { #1 } }
+ \seq_map_inline:Nn
+ \l_@@_renderer_glob_results_seq
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { { ##1 } = }
+ \tl_put_right:Nx
+ \l_tmpa_tl
+ { { \l_@@_renderer_glob_definition_tl } }
+ \keys_set:nV
+ { markdown/options/renderers }
+ \l_tmpa_tl
+ }
+ }
+ }
+ },
+ }
+\msg_new:nnn
+ { markdown }
+ { undefined-renderer }
+ {
+ Renderer~#1~is~undefined.
+ }
+\cs_generate_variant:Nn
+ \@@_glob_seq:nnN
+ { VnN }
+\cs_generate_variant:Nn
+ \cs_generate_from_arg_count:NNnn
+ { cNVV }
+\cs_generate_variant:Nn
+ \msg_error:nnn
+ { nnV }
+\prg_generate_conditional_variant:Nnn
+ \regex_match:Nn
+ { NV }
+ { TF }
\prop_new:N
\g_@@_glob_cache_prop
\tl_new:N
@@ -20306,72 +20539,6 @@ following text:
\cs_generate_variant:Nn
\prop_gput:Nnn
{ NeV }
-\seq_new:N
- \l_@@_renderer_glob_results_seq
-\keys_define:nn
- { markdown/options/renderers }
- {
- unknown .code:n = {
- \@@_glob_seq:VnN
- \l_keys_key_str
- { g_@@_renderers_seq }
- \l_@@_renderer_glob_results_seq
- \seq_if_empty:NTF
- \l_@@_renderer_glob_results_seq
- {
- \msg_error:nnV
- { markdown }
- { undefined-renderer }
- \l_keys_key_str
- }
- {
- \tl_set:Nn
- \l_@@_renderer_definition_tl
- { #1 }
- \seq_map_inline:Nn
- \l_@@_renderer_glob_results_seq
- {
- \@@_renderer_tl_to_csname:nN
- { ##1 }
- \l_tmpa_tl
- \prop_get:NnN
- \g_@@_renderer_arities_prop
- { ##1 }
- \l_tmpb_tl
- \int_set:Nn
- \l_tmpa_int
- \l_tmpb_tl
- \tl_set:NV
- \l_tmpb_tl
- \l_@@_renderer_definition_tl
- \regex_replace_all:nnN
- { \cP\#0 }
- { ##1 }
- \l_tmpb_tl
- \cs_generate_from_arg_count:cNVV
- { \l_tmpa_tl }
- \cs_set:Npn
- \l_tmpa_int
- \l_tmpb_tl
- }
- }
- },
- }
-\msg_new:nnn
- { markdown }
- { undefined-renderer }
- {
- Renderer~#1~is~undefined.
- }
-\cs_generate_variant:Nn
- \@@_glob_seq:nnN
- { VnN }
-\cs_generate_variant:Nn
- \cs_generate_from_arg_count:NNnn
- { cNVV }
-\cs_generate_variant:Nn
- \msg_error:nnn
- { nnV }
% \end{macrocode}
% \begin{markdown}
%
@@ -20750,6 +20917,8 @@ following text:
}
\tl_new:N
\l_@@_renderer_prototype_definition_tl
+\bool_new:N
+ \g_@@_appending_renderer_prototype_bool
\cs_new:Nn \@@_define_renderer_prototype:nNn
{
\keys_define:nn
@@ -20763,6 +20932,17 @@ following text:
{ \cP\#0 }
{ #1 }
\l_@@_renderer_prototype_definition_tl
+ \bool_if:NT
+ \g_@@_appending_renderer_prototype_bool
+ {
+ \@@_tl_set_from_cs:NNn
+ \l_tmpa_tl
+ #2
+ { #3 }
+ \tl_put_left:NV
+ \l_@@_renderer_prototype_definition_tl
+ \l_tmpa_tl
+ }
\cs_generate_from_arg_count:NNnV
#2
\cs_set:Npn
@@ -20791,7 +20971,6 @@ following text:
\cs_generate_variant:Nn
\@@_define_renderer_prototype:nNn
{ ncV }
-\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20808,8 +20987,81 @@ following text:
% }
% ```````
%
-% In addition to exact token renderer names, we also support wildcards
-% and enumerations that match multiple token renderer prototype names:
+% \end{markdown}
+% \begin{macrocode}
+\keys_define:nn
+ { markdown/options/renderer-prototypes }
+ {
+ unknown .code:n = {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Besides defining renderer prototypes at once, we can also define them
+% incrementally using the appending operator (`+=`). This can be especially
+% useful in defining rules for processing different \acro{HTML} class names
+% and identifiers:
+% ``` tex
+% \markdownSetup{
+% rendererPrototypes = {
+% \% Start with empty renderer prototypes.
+% headerAttributeContextBegin = {},
+% attributeClassName = {},
+% attributeIdentifier = {},
+% \% Define the processing of a single specific HTML class name.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% rendererPrototypes = {
+% attributeClassName += {...},
+% },
+% }
+% },
+% \% Define the processing of a single specific HTML identifier.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% rendererPrototypes = {
+% attributeIdentifier += {...},
+% },
+% }
+% },
+% },
+% }
+% ```````
+%
+% \end{markdown}
+% \begin{macrocode}
+ \regex_match:NVTF
+ \c_@@_appending_key_regex
+ \l_keys_key_str
+ {
+ \bool_gset_true:N
+ \g_@@_appending_renderer_prototype_bool
+ \tl_set:NV
+ \l_tmpa_tl
+ \l_keys_key_str
+ \regex_replace_once:NnN
+ \c_@@_appending_key_regex
+ { }
+ \l_tmpa_tl
+ \tl_set:Nx
+ \l_tmpb_tl
+ { { \l_tmpa_tl } = }
+ \tl_put_right:Nn
+ \l_tmpb_tl
+ { { #1 } }
+ \keys_set:nV
+ { markdown/options/renderer-prototypes }
+ \l_tmpb_tl
+ \bool_gset_false:N
+ \g_@@_appending_renderer_prototype_bool
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% In addition to exact token renderer prototype names, we also support
+% wildcards (`*`) and enumerations (`|`) that match multiple token renderer
+% prototype names:
% ``` tex
% \markdownSetup{
% rendererPrototypes = {
@@ -20831,7 +21083,7 @@ following text:
% ```````
%
% To determine the current token renderer prototype, you can use the
-% parameter `#0`:
+% pseudo-parameter `#0`:
% ``` tex
% \markdownSetup{
% rendererPrototypes = {
@@ -20842,54 +21094,36 @@ following text:
%
% \end{markdown}
% \begin{macrocode}
-\ExplSyntaxOn
-\seq_new:N
- \l_@@_renderer_prototype_glob_results_seq
-\keys_define:nn
- { markdown/options/renderer-prototypes }
- {
- unknown .code:n = {
- \@@_glob_seq:VnN
- \l_keys_key_str
- { g_@@_renderers_seq }
- \l_@@_renderer_prototype_glob_results_seq
- \seq_if_empty:NTF
- \l_@@_renderer_prototype_glob_results_seq
{
- \msg_error:nnV
- { markdown }
- { undefined-renderer-prototype }
+ \@@_glob_seq:VnN
\l_keys_key_str
- }
- {
- \tl_set:Nn
- \l_@@_renderer_prototype_definition_tl
- { #1 }
- \seq_map_inline:Nn
- \l_@@_renderer_prototype_glob_results_seq
+ { g_@@_renderers_seq }
+ \l_@@_renderer_glob_results_seq
+ \seq_if_empty:NTF
+ \l_@@_renderer_glob_results_seq
{
- \@@_renderer_prototype_tl_to_csname:nN
- { ##1 }
- \l_tmpa_tl
- \prop_get:NnN
- \g_@@_renderer_arities_prop
- { ##1 }
- \l_tmpb_tl
- \int_set:Nn
- \l_tmpa_int
- \l_tmpb_tl
- \tl_set:NV
- \l_tmpb_tl
- \l_@@_renderer_prototype_definition_tl
- \regex_replace_all:nnN
- { \cP\#0 }
- { ##1 }
- \l_tmpb_tl
- \cs_generate_from_arg_count:cNVV
- { \l_tmpa_tl }
- \cs_set:Npn
- \l_tmpa_int
- \l_tmpb_tl
+ \msg_error:nnV
+ { markdown }
+ { undefined-renderer-prototype }
+ \l_keys_key_str
+ }
+ {
+ \tl_set:Nn
+ \l_@@_renderer_glob_definition_tl
+ { \exp_not:n { #1 } }
+ \seq_map_inline:Nn
+ \l_@@_renderer_glob_results_seq
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { { ##1 } = }
+ \tl_put_right:Nx
+ \l_tmpa_tl
+ { { \l_@@_renderer_glob_definition_tl } }
+ \keys_set:nV
+ { markdown/options/renderer-prototypes }
+ \l_tmpa_tl
+ }
}
}
},
@@ -21128,7 +21362,8 @@ pdflatex --shell-escape document.tex
%
%### Typesetting Markdown
% The interface exposes the \envmdef{markdown} and \envmdef{markdown*}
-% \LaTeX{} environments, and redefines the \mref{markdownInput} command.
+% \LaTeX{} environments, and redefines the \mref{markinline} and
+% \mref{markdownInput} commands.
%
% The \envmref{markdown} and \envmref{markdown*} \LaTeX{} environments are used
% to typeset markdown document fragments. Both \LaTeX{} environments accept
@@ -21169,6 +21404,13 @@ pdflatex --shell-escape document.tex
% \end{document} \end{document}
% ```````
%
+% The \mref{markinline} macro accepts a single mandatory parameter containing
+% inline markdown content and expands to the result of the conversion of the
+% input markdown document to plain \TeX{}. Unlike the \mref{markinline} macro
+% provided by the plain \TeX{} interface, this macro also accepts \LaTeX{}
+% interface options (see Section <#sec:latex-options>) as its optional
+% argument. These options will only influnce this markdown content.
+%
% The \mref{markdownInput} macro accepts a single mandatory parameter containing
% the filename of a markdown document and expands to the result of the
% conversion of the input markdown document to plain \TeX{}. Unlike the
@@ -25155,7 +25397,7 @@ function M.writer.new(options)
function self.blockquote(s)
if not self.is_writing then return "" end
return {"\\markdownRendererBlockQuoteBegin\n",s,
- "\n\\markdownRendererBlockQuoteEnd "}
+ "\\markdownRendererBlockQuoteEnd "}
end
% \end{macrocode}
% \par
@@ -25645,7 +25887,7 @@ function M.writer.new(options)
end
if self.is_writing and #normalized_attributes > 0 then
- table.insert(buf, "\\markdownRendererHeaderAttributeContextEnd ")
+ table.insert(buf, "\\markdownRendererHeaderAttributeContextEnd{}")
end
return buf
@@ -30663,7 +30905,7 @@ M.extensions.fenced_code = function(blank_before_code_fence,
table.insert(buf, {"\\markdownRendererInputFencedCode{",
name,"}{",self.string(i),"}{",self.infostring(i),"}"})
if attr ~= nil then
- table.insert(buf, "\\markdownRendererFencedCodeAttributeContextEnd")
+ table.insert(buf, "\\markdownRendererFencedCodeAttributeContextEnd{}")
end
return buf
end
@@ -30884,7 +31126,7 @@ M.extensions.fenced_divs = function(blank_before_div_fence)
function self.div_begin(attributes)
local start_output = {"\\markdownRendererFencedDivAttributeContextBegin\n",
self.attributes(attributes)}
- local end_output = {"\\markdownRendererFencedDivAttributeContextEnd "}
+ local end_output = {"\\markdownRendererFencedDivAttributeContextEnd{}"}
return self.push_attributes("div", attributes, start_output, end_output)
end
% \end{macrocode}
@@ -33453,7 +33695,7 @@ end
% \par
% \begin{markdown}
%
-%### Buffering Markdown Input {#buffering}
+%### Buffering Block-Level Markdown Input {#buffering-block}
%
% The macros \mdef{markdownInputFileStream} and \mdef{markdownOutputFileStream}
% contain the number of the input and output file streams that will be used for
@@ -33512,7 +33754,8 @@ end
|markdownIfOption{frozenCache}{}{@
|immediate|openout|markdownOutputFileStream@
|markdownOptionInputTempFileName|relax@
- |markdownInfo{Buffering markdown input into the temporary @
+ |markdownInfo{@
+ Buffering block-level markdown input into the temporary @
input file "|markdownOptionInputTempFileName" and scanning @
for the closing token sequence "#1"}@
}@
@@ -33694,6 +33937,125 @@ end
% \end{macrocode}
% \begin{markdown}
%
+%### Buffering Inline Markdown Input {#buffering-inline}
+%
+% This section describes the implementation of the macro \mref{markinline}.
+%
+% \end{markdown}
+% \begin{macrocode}
+\ExplSyntaxOn
+\tl_new:N
+ \g_@@_after_markinline_tl
+\tl_gset:Nn
+ \g_@@_after_markinline_tl
+ { \unskip }
+\cs_new:Npn
+ \markinline
+ {
+% \end{macrocode}
+% \begin{markdown}
+%
+% Locally change the category of the special plain \TeX{} characters
+% to *other* in order to prevent unwanted interpretation of the input
+% markdown text as \TeX{} code.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \group_begin:
+ \cctab_select:N
+ \c_other_cctab
+% \end{macrocode}
+% \begin{markdown}
+%
+% Unless we are reading markdown documents from the frozen cache,
+% open the file \Opt{inputTempFileName} for writing.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \@@_if_option:nF
+ { frozenCache }
+ {
+ \immediate
+ \openout
+ \markdownOutputFileStream
+ \markdownOptionInputTempFileName
+ \relax
+ \msg_info:nne
+ { markdown }
+ { buffering-markinline }
+ { \markdownOptionInputTempFileName }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% Peek ahead and extract the inline markdown text.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \peek_regex_replace_once:nnF
+ { { (.*?) } }
+ {
+% \end{macrocode}
+% \begin{markdown}
+%
+% Unless we are reading markdown documents from the frozen cache,
+% store the text in the file \Opt{inputTempFileName} and close it.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { @@_if_option:nF }
+ \cB { frozenCache \cE }
+ \cB {
+ \c { immediate }
+ \c { write }
+ \c { markdownOutputFileStream }
+ \cB { \1 \cE }
+ \c { immediate }
+ \c { closeout }
+ \c { markdownOutputFileStream }
+ \cE }
+% \end{macrocode}
+% \begin{markdown}
+%
+% Reset the category codes and `\input` the result of the conversion.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { group_end: }
+ \c { group_begin: }
+ \c { @@_setup:n }
+ \cB { contentLevel = inline \cE }
+ \c { markdownInput }
+ \cB {
+ \c { markdownOptionOutputDir } /
+ \c { markdownOptionInputTempFileName }
+ \cE }
+ \c { group_end: }
+ \c { tl_use:N }
+ \c { g_@@_after_markinline_tl }
+ }
+ {
+ \msg_error:nn
+ { markdown }
+ { markinline-peek-failure }
+ \group_end:
+ \tl_use:N
+ \g_@@_after_markinline_tl
+ }
+ }
+\msg_new:nnn
+ { markdown }
+ { buffering-markinline }
+ { Buffering~inline~markdown~input~into~the~temporary~input~file~"#1". }
+\msg_new:nnnn
+ { markdown }
+ { markinline-peek-failure }
+ { Use~of~\iow_char:N \\ markinline~doesn't~match~its~definition }
+ { The~macro~should~be~followed~by~inline~markdown~text~in~curly~braces }
+\ExplSyntaxOff
+% \end{macrocode}
+% \begin{markdown}
+%
%### Typesetting Markdown
%
% The \mref{markdownInput} macro uses an implementation of the
@@ -33821,21 +34183,49 @@ end
% \par
% \begin{markdown}
%
-%### Logging Facilities
-% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
-% Section <#sec:tex-interface-logging>) to use the \LaTeX{} `\PackageInfo`,
-% `\PackageWarning`, and `\PackageError` macros.
+%### Typesetting Markdown
+% The \mdef{markinlinePlainTeX} macro is used to store the original plain
+% \TeX{} implementation of the \mref{markinline} macro. The \mref{markinline}
+% macro is then redefined to accept an optional argument with options
+% recognized by the \LaTeX{} interface (see Section <#sec:latex-options>).
%
% \end{markdown}
% \begin{macrocode}
+\ExplSyntaxOn
+\cs_gset_eq:NN
+ \markinlinePlainTeX
+ \markinline
+\cs_gset:Npn
+ \markinline
+ {
+ \peek_regex_replace_once:nn
+ { ( \[ (.*?) \] ) ? }
+ {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Apply the options locally.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { group_begin: }
+ \c { @@_setup:n }
+ \cB { \2 \cE }
+ \c { tl_put_right:Nn }
+ \c { g_@@_after_markinline_tl }
+ \cB { \c { group_end: } \cE }
+ \c { markinlinePlainTeX }
+ }
+ }
+\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
%
-%### Typesetting Markdown
% The \mdef{markdownInputPlainTeX} macro is used to store the original plain
% \TeX{} implementation of the \mref{markdownInput} macro. The \mref{markdownInput}
-% is then redefined to accept an optional argument with options recognized by
+% macro is then redefined to accept an optional argument with options recognized by
% the \LaTeX{} interface (see Section <#sec:latex-options>).
%
% \end{markdown}
@@ -34718,35 +35108,86 @@ end
% \par
% \begin{markdown}
%
-% If identifier attributes appear at the beginning of a section, we make them
-% produce the `\label` macro.
+% If \acro{HTML} identifiers appear after a heading, we make them
+% produce `\label` macros.
%
% \end{markdown}
% \begin{macrocode}
\ExplSyntaxOn
-\seq_new:N \l_@@_header_identifiers_seq
-\markdownSetup{
- rendererPrototypes = {
- headerAttributeContextBegin = {
- \seq_clear:N \l_@@_header_identifiers_seq
- \markdownSetup
- {
- renderers = {
- attributeIdentifier = {
- \seq_put_right:Nn
- \l_@@_header_identifiers_seq
- { ##1 }
+\seq_new:N
+ \l_@@_header_identifiers_seq
+\markdownSetup
+ {
+ rendererPrototypes = {
+ headerAttributeContextBegin = {
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ attributeIdentifier = {
+ \seq_put_right:Nn
+ \l_@@_header_identifiers_seq
+ { ##1 }
+ },
},
- },
- }
+ }
+ },
+ headerAttributeContextEnd = {
+ \seq_map_inline:Nn
+ \l_@@_header_identifiers_seq
+ { \label { ##1 } }
+ \seq_clear:N
+ \l_@@_header_identifiers_seq
+ },
},
- headerAttributeContextEnd = {
- \seq_map_inline:Nn
- \l_@@_header_identifiers_seq
- { \label { ##1 } }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% If the `unnumbered` \acro{HTML} class (or the `{-}` shorthand) appears after
+% a heading the heading and all its subheadings will be unnumbered.
+%
+% \end{markdown}
+% \begin{macrocode}
+\bool_new:N
+ \l_@@_header_unnumbered_bool
+\markdownSetup
+ {
+ rendererPrototypes = {
+ headerAttributeContextBegin += {
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ attributeClassName = {
+ \bool_if:nT
+ {
+ \str_if_eq_p:nn
+ { ##1 }
+ { unnumbered } &&
+ ! \l_@@_header_unnumbered_bool
+ }
+ {
+ \group_begin:
+ \bool_set_true:N
+ \l_@@_header_unnumbered_bool
+ \c@secnumdepth = 0
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ sectionBegin = {
+ \group_begin:
+ },
+ sectionEnd = {
+ \group_end:
+ },
+ },
+ }
+ }
+ },
+ },
+ }
+ },
},
- },
-}
+ }
\ExplSyntaxOff
\markdownSetup{rendererPrototypes={
superscript = {\textsuperscript{#1}},
diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html
index 277f98bdeb..65f1de7d51 100644
--- a/macros/generic/markdown/markdown.html
+++ b/macros/generic/markdown/markdown.html
@@ -93,7 +93,7 @@
<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
<p class="author">Vít Starý Novotný</p>
-<p class="date">3.4.3-0-ge2c6be1a 2024-04-04</p>
+<p class="date">3.5.0-0-gfd01a252 2024-04-29</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf
index 8e42e32d0b..a4e313f081 100644
--- a/macros/generic/markdown/markdown.pdf
+++ b/macros/generic/markdown/markdown.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3backend/CHANGELOG.md b/macros/latex-dev/required/l3backend/CHANGELOG.md
index ecd8593881..68f697ac5f 100644
--- a/macros/latex-dev/required/l3backend/CHANGELOG.md
+++ b/macros/latex-dev/required/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Changed
+- Use built-in conversion for CMYK colors with `dvisvgm` (see \#1538)
+
+### Fixed
+- CMYK output from `dvisvgm`
+
## [2024-04-11]
### Added
@@ -40,7 +48,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2023-11-09]
### Changed
-- Changed `luaotfload` integration to allow coexistance with (x)color.
+- Changed `luaotfload` integration to allow coexistence with (x)color.
## [2023-11-04]
@@ -225,7 +233,7 @@ this project uses date-based 'snapshot' version identifiers.
backend)
### Changed
-- Implementation of color wtih (x)dvipdfmx (requires an up-to-date
+- Implementation of color with (x)dvipdfmx (requires an up-to-date
backend)
## [2020-09-24]
@@ -347,7 +355,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
diff --git a/macros/latex-dev/required/l3backend/README.md b/macros/latex-dev/required/l3backend/README.md
index 058fa63cc2..77eb591526 100644
--- a/macros/latex-dev/required/l3backend/README.md
+++ b/macros/latex-dev/required/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2024-04-11
+Release 2024-05-08
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex-dev/required/l3backend/l3backend-basics.dtx b/macros/latex-dev/required/l3backend/l3backend-basics.dtx
index fbac503317..81c51b5b72 100644
--- a/macros/latex-dev/required/l3backend/l3backend-basics.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-04-11}{}
+ {l3backend-dvipdfmx.def}{2024-05-08}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-04-11}{}
+ {l3backend-dvips.def}{2024-05-08}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-04-11}{}
+ {l3backend-dvisvgm.def}{2024-05-08}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-04-11}{}
+ {l3backend-luatex.def}{2024-05-08}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-04-11}{}
+ {l3backend-pdftex.def}{2024-05-08}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-04-11}{}
+ {l3backend-xetex.def}{2024-05-08}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex-dev/required/l3backend/l3backend-box.dtx b/macros/latex-dev/required/l3backend/l3backend-box.dtx
index 93d83293ef..8bfd0e1494 100644
--- a/macros/latex-dev/required/l3backend/l3backend-box.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-code.pdf b/macros/latex-dev/required/l3backend/l3backend-code.pdf
index acc3e33012..0908eddc1b 100644
--- a/macros/latex-dev/required/l3backend/l3backend-code.pdf
+++ b/macros/latex-dev/required/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3backend/l3backend-color.dtx b/macros/latex-dev/required/l3backend/l3backend-color.dtx
index 307432d554..1dae4b5ce9 100644
--- a/macros/latex-dev/required/l3backend/l3backend-color.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -920,7 +920,7 @@
% Here, \texttt{dvipdfmx}/\XeTeX{} we write direct PDF specials for the fill,
% and only use the stack for the stroke color (see above for comments on why
% we cannot use multiple stacks with these backends). \LuaTeX{} and \pdfTeX{}
-% have mutiple stacks that can deal with fill and stroke. For \texttt{dvips}
+% have multiple stacks that can deal with fill and stroke. For \texttt{dvips}
% we have to manage fill and stroke color ourselves. We also handle
% \texttt{dvisvgm} independently, as there we can create SVG directly.
%
@@ -1138,8 +1138,7 @@
% \@@_backend_fill_rgb:n ,
% \@@_backend_fill:n
% }
-% Fill color here is the same as general color \emph{except} we skip the
-% stroke part.
+% Fill color here is the same as general color.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_fill_cmyk:n #1
{ \@@_backend_fill:n { cmyk ~ #1 } }
@@ -1155,27 +1154,19 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_stroke_cmyk:n}
-% \begin{macro}{\@@_backend_stroke_cmyk:w}
% \begin{macro}{\@@_backend_stroke_gray:n, \@@_backend_stroke_gray_aux:n}
% \begin{macro}{\@@_backend_stroke_rgb:n}
% \begin{macro}{\@@_backend_stroke_rgb:w}
% \begin{macro}{\@@_backend:nnn}
-% For drawings in SVG, we use scopes for all stroke colors. That
-% requires using \texttt{RGB} values, which luckily are easy to
-% convert here (|cmyk| to |RGB| is a fixed function).
+% For drawings in SVG, we use scopes for all stroke colors. The backend
+% provides the necessary conversion for CMYK but only if that is set as
+% the main color: a little bit of gymnastics as a result.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_stroke_cmyk:n #1
- { \@@_backend_cmyk:w #1 \s_@@_stop }
-\cs_new_protected:Npn \@@_backend_stroke_cmyk:w
- #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
- \use:e
- {
- \@@_backend:nnn
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
- { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
- }
+ \@@_backend_fill_cmyk:n {#1}
+ \__kernel_backend_scope:n { stroke = "{?color}" }
+ \@@_backend_reset:
}
\cs_new_protected:Npn \@@_backend_stroke_gray:n #1
{
@@ -1221,7 +1212,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
diff --git a/macros/latex-dev/required/l3backend/l3backend-draw.dtx b/macros/latex-dev/required/l3backend/l3backend-draw.dtx
index c651ab92fe..02d84ed656 100644
--- a/macros/latex-dev/required/l3backend/l3backend-draw.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -776,7 +776,7 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_begin:, \@@_backend_end:}
-% A drawing needs to be set up such that the co-ordinate system is
+% A drawing needs to be set up such that the coordinate system is
% translated. That is done inside a scope, which as described below
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_begin:
diff --git a/macros/latex-dev/required/l3backend/l3backend-graphics.dtx b/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
index e20457368d..f487a323c1 100644
--- a/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-header.dtx b/macros/latex-dev/required/l3backend/l3backend-header.dtx
index 486f564822..4eb70cc536 100644
--- a/macros/latex-dev/required/l3backend/l3backend-header.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -184,7 +184,7 @@ false setglobal
% For finding the anchor point of a destination link. We make the use case
% a separate function as it comes up a lot, and as this makes it easier to
% adjust if we need additional effects. We also need a more complex approach
-% to convert a co-ordinate pair correctly when defining a rectangle: this
+% to convert a coordinate pair correctly when defining a rectangle: this
% can otherwise be out when using a landscape page. (Thanks to Alexander
% Grahn for the approach here.)
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3backend/l3backend-opacity.dtx b/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
index 0c29574c37..1798146eec 100644
--- a/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3backend/l3backend-pdf.dtx b/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
index cf09c0eec2..31ad60b7b6 100644
--- a/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
+++ b/macros/latex-dev/required/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -266,7 +266,7 @@
%
% \begin{macro}{\@@_backend_annotation:nnnn}
% Annotations are objects, but we track them separately. Notably, they are
-% not in the object data lists. Here, to get the co-ordinates of the
+% not in the object data lists. Here, to get the coordinates of the
% annotation, we need to have the data collected at the PostScript level.
% That requires a bit of box trickery (effectively a \LaTeXe{} |picture|
% of zero size). Once the data is collected, use it to set up the annotation
@@ -376,7 +376,7 @@
% \begin{macro}{\@@_backend_link_minima:}
% \begin{macro}{\@@_backend_link_outerbox:n}
% \begin{macro}{\@@_backend_link_sf_save:, \@@_backend_link_sf_restore:}
-% Links are crated like annotations but with dedicated code to allow for
+% Links are created like annotations but with dedicated code to allow for
% adjusting the size of the rectangle. In contrast to \pkg{hyperref}, we
% grab the link content as a box which can then unbox: this allows the same
% interface as for \pdfTeX{}.
diff --git a/macros/latex-dev/required/l3kernel/CHANGELOG.md b/macros/latex-dev/required/l3kernel/CHANGELOG.md
index e770f3fe36..82eb45806a 100644
--- a/macros/latex-dev/required/l3kernel/CHANGELOG.md
+++ b/macros/latex-dev/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-08]
+
+### Added
+- Full set of variants for `\prop_(g)put_if_not_in:Nnn`
+- `keys_set_groups:nnn(n)N` to match `keys_set_exclude_groups:nnn(n)N`
+
+### Fixed
+- Implementation of deprecated `\pdf_object_write:nn`
+
## [2024-04-11]
### Added
@@ -878,7 +887,7 @@ this project uses date-based 'snapshot' version identifiers.
improve target placement, solve pdfTeX and makeindex warnings
### Fixed
-- Evalutate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
+- Evaluate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
- Detect `\ior_map_inline:Nn` calls on undefined streams (issue [\#194](https://github.com/latex3/latex3/issues/194))
### Deprecated
@@ -1725,7 +1734,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD
+[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
diff --git a/macros/latex-dev/required/l3kernel/README.md b/macros/latex-dev/required/l3kernel/README.md
index 70d106b496..0928ea46ce 100644
--- a/macros/latex-dev/required/l3kernel/README.md
+++ b/macros/latex-dev/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-04-11
+Release 2024-05-08
Overview
--------
diff --git a/macros/latex-dev/required/l3kernel/expl3.dtx b/macros/latex-dev/required/l3kernel/expl3.dtx
index 56a62010fa..f4129aeb02 100644
--- a/macros/latex-dev/required/l3kernel/expl3.dtx
+++ b/macros/latex-dev/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-04-11}%
+\def\ExplFileDate{2024-05-08}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1287,7 +1287,7 @@
% still compatible) version in which the error mentioned above showed
% up. If loading as a package, \file{expl3-code.tex} got read and here
% the \pkg{expl3} syntax is on. Otherwise it was already loaded in a
-% sligtly older kernel, so we fire the incompatibility error message and
+% slightly older kernel, so we fire the incompatibility error message and
% abort loading.
% \begin{macrocode}
\ifodd\csname\detokenize{l__kernel_expl_bool}\endcsname
diff --git a/macros/latex-dev/required/l3kernel/expl3.pdf b/macros/latex-dev/required/l3kernel/expl3.pdf
index 892886a362..6c334e54d6 100644
--- a/macros/latex-dev/required/l3kernel/expl3.pdf
+++ b/macros/latex-dev/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.pdf b/macros/latex-dev/required/l3kernel/interface3.pdf
index a866590ab0..db66e71788 100644
--- a/macros/latex-dev/required/l3kernel/interface3.pdf
+++ b/macros/latex-dev/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.tex b/macros/latex-dev/required/l3kernel/interface3.tex
index 1bf31032ee..613eb673b0 100644
--- a/macros/latex-dev/required/l3kernel/interface3.tex
+++ b/macros/latex-dev/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/l3basics.dtx b/macros/latex-dev/required/l3kernel/l3basics.dtx
index eabf678caa..4c00ec0032 100644
--- a/macros/latex-dev/required/l3kernel/l3basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bitset.dtx b/macros/latex-dev/required/l3kernel/l3bitset.dtx
index b0bd996d26..22cf7dc1f7 100644
--- a/macros/latex-dev/required/l3kernel/l3bitset.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
index 2c51bf3bb0..e17c056909 100644
--- a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3box.dtx b/macros/latex-dev/required/l3kernel/l3box.dtx
index 2d4902950f..5d5aa54027 100644
--- a/macros/latex-dev/required/l3kernel/l3box.dtx
+++ b/macros/latex-dev/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -928,8 +928,8 @@
% \cs{box_set_viewport:Nnnnn} \meta{box} \Arg{llx} \Arg{lly} \Arg{urx} \Arg{ury}
% \end{syntax}
% Adjusts the bounding box of the \meta{box} such that it has lower-left
-% co-ordinates (\meta{llx}, \meta{lly}) and upper-right co-ordinates
-% (\meta{urx}, \meta{ury}). All four co-ordinate positions are
+% coordinates (\meta{llx}, \meta{lly}) and upper-right coordinates
+% (\meta{urx}, \meta{ury}). All four coordinate positions are
% \meta{dim exprs}. Material outside of the bounding box is
% still displayed in the output unless \cs{box_set_clipped:N} is
% subsequently applied.
@@ -1846,7 +1846,7 @@
% \put(40,49){E}
% \put(21,59){O}
% \end{picture}
-% \caption{Co-ordinates of a box prior to rotation.}
+% \caption{Coordinates of a box prior to rotation.}
% \label{fig:l3box:rotation}
% \end{figure}
% The formulae are, for a point $P$ and angle $\alpha$:
@@ -2066,7 +2066,7 @@
}
% \end{macrocode}
% With at least one real scaling to do, the next phase is to find the new
-% edge co-ordinates. In the $x$~direction this is relatively easy: just
+% edge coordinates. In the $x$~direction this is relatively easy: just
% scale the right edge. In the $y$~direction, both dimensions have to be
% scaled, and this again needs the absolute scale value.
% Once that is all done, the common resize/rescale code can be employed.
diff --git a/macros/latex-dev/required/l3kernel/l3cctab.dtx b/macros/latex-dev/required/l3kernel/l3cctab.dtx
index dd35fb00a3..a8c5232b3e 100644
--- a/macros/latex-dev/required/l3kernel/l3cctab.dtx
+++ b/macros/latex-dev/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3clist.dtx b/macros/latex-dev/required/l3kernel/l3clist.dtx
index c67f70db2c..ebbfa29ddc 100644
--- a/macros/latex-dev/required/l3kernel/l3clist.dtx
+++ b/macros/latex-dev/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3coffins.dtx b/macros/latex-dev/required/l3kernel/l3coffins.dtx
index 164d10019d..76bbc78d99 100644
--- a/macros/latex-dev/required/l3kernel/l3coffins.dtx
+++ b/macros/latex-dev/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -375,7 +375,7 @@
% poles of the coffin.
%
% Notice that the poles of a coffin are defined by four values:
-% the $x$ and $y$ co-ordinates of a point that the pole
+% the $x$ and $y$ coordinates of a point that the pole
% passes through and the $x$- and $y$-components of a
% vector denoting the direction of the pole. It is the ratio between
% the later, rather than the absolute values, which determines the
@@ -897,7 +897,7 @@
% Special coffins: these cannot be set up earlier as they need
% \cs{coffin_new:N}. The empty coffin is set as a box as the full
% coffin-setting system needs some material which is not yet available.
-% The empty coffin is creted entirely by hand: not everything is in place
+% The empty coffin is created entirely by hand: not everything is in place
% yet.
% \begin{macrocode}
\coffin_new:N \c_empty_coffin
@@ -1197,7 +1197,7 @@
% ($a$, $b$, $c$, $d$) and
% ($a'$, $b'$, $c'$, $d'$). These are arguments
% $1$--$4$ and $5$--$8$, respectively. In both
-% cases $a$ and $b$ are the co-ordinates of a point on the
+% cases $a$ and $b$ are the coordinates of a point on the
% pole and $c$ and $d$ define the direction of the pole. Finding
% the intersection depends on the directions of the poles, which are
% given by $d / c$ and $d' / c'$. However, if one of the poles
@@ -1541,7 +1541,7 @@
% \end{macro}
%
% \begin{macro}{\@@_rotate_pole:Nnnnnn}
-% Rotating a single pole simply means shifting the co-ordinate of
+% Rotating a single pole simply means shifting the coordinate of
% the pole and its direction. The rotation here is about the bottom-left
% corner of the coffin.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3color.dtx b/macros/latex-dev/required/l3kernel/l3color.dtx
index 0edc225c52..f9383d0404 100644
--- a/macros/latex-dev/required/l3kernel/l3color.dtx
+++ b/macros/latex-dev/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3debug.dtx b/macros/latex-dev/required/l3kernel/l3debug.dtx
index 6dbe13f96e..7fb64a8c13 100644
--- a/macros/latex-dev/required/l3kernel/l3debug.dtx
+++ b/macros/latex-dev/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-05-08}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -1152,7 +1152,7 @@
% \end{macrocode}
%
% The functions here can get a bit repetitive, so we define a helper
-% which can re-use the same patch code repeatedly. The main part of the
+% which can reuse the same patch code repeatedly. The main part of the
% patch is the same, so we just have to deal with the part which varies
% depending on the type of expression.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3deprecation.dtx b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
index 7af8700df7..d947bb4599 100644
--- a/macros/latex-dev/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -330,13 +330,14 @@
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{
\prop_gput:Nnn \g_@@_object_prop {#1} {#2}
- \@@_backend_object_new:n {#1}
+ \pdf_object_new:n {#1}
}
\__kernel_patch_deprecation:nnNNpn { 2022-08-30 } { [\pdf_object_write:n] }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{
- \exp_args:Nne \@@_backend_object_write:nnn
- {#1} { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
+ \exp_args:Nee \@@_backend_object_write:nnn
+ { \@@_object_retrieve:n {#1} }
+ { \prop_item:Nn \g_@@_object_prop {#1} } {#2}
\bool_gset_true:N \g_@@_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
diff --git a/macros/latex-dev/required/l3kernel/l3doc.dtx b/macros/latex-dev/required/l3kernel/l3doc.dtx
index 9156bd385e..24efea50c7 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.dtx
+++ b/macros/latex-dev/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-04-11}{}
+\ProvidesExplClass{l3doc}{2024-05-08}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
% \tableofcontents
%
@@ -365,7 +365,7 @@ and all files in that bundle must be distributed together.
% \begin{syntax}
% \cs{tn} \oarg{options} \marg{csname}
% \end{syntax}
-% Analoguous to \cs{cs} but intended for \enquote{traditional} \TeX{}
+% Analogous to \cs{cs} but intended for \enquote{traditional} \TeX{}
% or \LaTeXe{} commands; they are indexed accordingly. This is in
% fact equivalent to \cs{cs} |[module=TeX, replace=false,|
% \meta{options}|]| \Arg{csname}.
@@ -3320,7 +3320,7 @@ and all files in that bundle must be distributed together.
% we can check now whether the macro is tested. If the \env{macro}
% environment which is being ended is the outermost one, then wrap
% each macro in \tn{texttt} (with the addition of |TF| if relevant)
-% and typeset two informations: that this ends the definition of some
+% and typeset two pieces of information: that this ends the definition of some
% macros, and that they are documented on some page.
% \begin{macrocode}
\cs_new_protected:Npn \@@_macro_end:
@@ -4498,7 +4498,7 @@ and all files in that bundle must be distributed together.
%
% \begin{macro}{\@@_key_trim_module:n, \@@_key_drop_underscores:}
% Helper that removes from \cs{l_@@_index_module_tl} everything after
-% the first occurence of |#1|. Helper that removes any leading
+% the first occurrence of |#1|. Helper that removes any leading
% underscore from \cs{l_@@_index_key_tl}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_key_trim_module:n #1
diff --git a/macros/latex-dev/required/l3kernel/l3doc.pdf b/macros/latex-dev/required/l3kernel/l3doc.pdf
index 604acf43b6..8ebd6f5caf 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.pdf
+++ b/macros/latex-dev/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.dtx b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
index c2733e810e..a3b62db0af 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.pdf b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
index e68f61dcc5..019b64c130 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3expan.dtx b/macros/latex-dev/required/l3kernel/l3expan.dtx
index e79b5f32b9..7b859acaa5 100644
--- a/macros/latex-dev/required/l3kernel/l3expan.dtx
+++ b/macros/latex-dev/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -135,7 +135,7 @@
% then used to define variants of the
% \meta{original argument specifier} if these are not already
% defined; entries which correspond to existing functions are silently
-% ingored. For each \meta{variant} given, a function is created
+% ignored. For each \meta{variant} given, a function is created
% that expands its arguments as detailed and passes them
% to the \meta{parent control sequence}. So for example
% \begin{verbatim}
diff --git a/macros/latex-dev/required/l3kernel/l3file.dtx b/macros/latex-dev/required/l3kernel/l3file.dtx
index 6111d270ca..ba460e3fee 100644
--- a/macros/latex-dev/required/l3kernel/l3file.dtx
+++ b/macros/latex-dev/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -429,7 +429,7 @@
%
% \begin{function}[added = 2019-03-23]{\ior_get_term:nN, \ior_str_get_term:nN}
% \begin{syntax}
-% \cs{ior_get_term:nN} \meta{prompt} \meta{token list variable}
+% \cs{ior_get_term:nN} \Arg{prompt} \meta{token list variable}
% \end{syntax}
% Function that reads one or more lines (until an equal number of left
% and right braces are found) from the terminal and stores
@@ -673,7 +673,7 @@
% \end{texnote}
% \end{function}
%
-% \section{File opertions}
+% \section{File operations}
%
% \subsection{Basic file operations}
%
@@ -3818,7 +3818,7 @@
%
% The function starts by checking that the kernel date is defined, and
% if not zero is used to force the error route. The kernel date is
-% then compared with the argument requested date (ususally the
+% then compared with the argument requested date (usually the
% packaging date of the dependency). If the kernel date is less than
% the required date, it's an error and the loading should abort.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/l3kernel/l3flag.dtx b/macros/latex-dev/required/l3kernel/l3flag.dtx
index c3bd4a5085..bf7776f449 100644
--- a/macros/latex-dev/required/l3kernel/l3flag.dtx
+++ b/macros/latex-dev/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
index d54f092085..9ef1944a99 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
index c9d0c228f5..f788b85df9 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
index d3dcb68dde..83c9cc87fa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
index a0536c1299..e42fb383fe 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
index 6fbc9de52c..31eb49093d 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
index 356c32b232..e35f0ae55e 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
index f6c9ec346f..e7667eaa9b 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
index 9df6a4730a..49ad2b1c02 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
index ee2eedbc22..7999be7966 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -430,7 +430,7 @@
% second attempt would be to call \cs{@@_parse_operand:Nw} with the
% \meta{precedence} of the previous operator, but |0>-2+3| is then
% parsed as |0>-(2+3)|: the addition is performed because it binds more
-% tightly than the comparision which precedes~|-|. The correct approach
+% tightly than the comparison which precedes~|-|. The correct approach
% is for a unary~|-| to perform operations whose precedence is greater
% than both that of the previous operation, and that of the unary~|-|
% itself. The unary~|-| is given a precedence higher than
diff --git a/macros/latex-dev/required/l3kernel/l3fp-random.dtx b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
index ce5a0c48f7..2a3d00cb58 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-round.dtx b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
index 48ae82730c..b96d496b22 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
index 901ce7a27c..cdb7383949 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
index 5a4a3b41f9..bca459effa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
index d8585ebe66..8e8bc1cbf8 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-types.dtx b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
index 2c23c61393..9764606e83 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp.dtx b/macros/latex-dev/required/l3kernel/l3fp.dtx
index 7cef573970..d49d2431cb 100644
--- a/macros/latex-dev/required/l3kernel/l3fp.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fparray.dtx b/macros/latex-dev/required/l3kernel/l3fparray.dtx
index 24f4ac85f8..8b8026a6b8 100644
--- a/macros/latex-dev/required/l3kernel/l3fparray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -89,7 +89,7 @@
% Assignments are always global.
% \end{function}
%
-% \section{Couting entries in floating point arrays}
+% \section{Counting entries in floating point arrays}
%
% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
% \begin{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3int.dtx b/macros/latex-dev/required/l3kernel/l3int.dtx
index a1c9458436..c4e8408af2 100644
--- a/macros/latex-dev/required/l3kernel/l3int.dtx
+++ b/macros/latex-dev/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -186,7 +186,7 @@
% encountered that cannot form part of such an expression. If that
% token is \cs{scan_stop:} it is removed, otherwise not. Spaces do
% \emph{not} terminate the expression. However, spaces terminate
-% explict integers, and this may terminate the expression: for
+% explicit integers, and this may terminate the expression: for
% instance, \cs{int_eval:w} \verb*|1 + 1 9| (with explicit space
% tokens inserted using |~| in a code setting) expands to \texttt{29}
% since the digit~\texttt{9} is not part of the expression. Expansion
diff --git a/macros/latex-dev/required/l3kernel/l3intarray.dtx b/macros/latex-dev/required/l3kernel/l3intarray.dtx
index bbc41c0cdb..20e6219ef8 100644
--- a/macros/latex-dev/required/l3kernel/l3intarray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -109,7 +109,7 @@
% global.
% \end{function}
%
-% \section{Couting entries in integer arrays}
+% \section{Counting entries in integer arrays}
%
% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
% \begin{syntax}
@@ -277,7 +277,7 @@ end, 'protected', 'global')
% \end{macro}
% \end{macro}
%
-% Before we get to the first command implmented in Lua, we first need some
+% Before we get to the first command implemented in Lua, we first need some
% definitions. Since \texttt{token.create} only works correctly if \TeX{}
% has seen the tokens before, we first run a short \TeX{} sequence to ensure
% that all relevant control sequences are known.
diff --git a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
index 1706bb594a..6779a3ca6c 100644
--- a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3keys.dtx b/macros/latex-dev/required/l3kernel/l3keys.dtx
index a1d2c01169..f03c628a63 100644
--- a/macros/latex-dev/required/l3kernel/l3keys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -585,7 +585,7 @@
% by creating sub-keys of the choice key. This can be carried out in
% two ways.
%
-% In many cases, choices execute similar code which is dependant only
+% In many cases, choices execute similar code which is dependent only
% on the name of the choice or the position of the choice in the
% list of all possibilities. Here, the keys can share the same code, and can
% be rapidly created using the \texttt{.choices:nn} property.
@@ -876,7 +876,7 @@
% \cs{keys_set_exclude_groups:nnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{tl}
% \cs{keys_set_exclude_groups:nnnnN} \Arg{module} \Arg{groups} \Arg{keyval list} \meta{root} \meta{tl}
% \end{syntax}
-% Sets keys by excluding those in the specificied \meta{groups}.
+% Sets keys by excluding those in the specified \meta{groups}.
% The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
% group and are thus always set. The key--value pairs for each
@@ -891,10 +891,14 @@
% the key names and values are returned.
% \end{function}
%
-% \begin{function}[added = 2013-07-14, updated = 2017-05-27]
+% \begin{function}[added = 2013-07-14, updated = 2024-05-08]
% {
% \keys_set_groups:nnn, \keys_set_groups:nnV,
-% \keys_set_groups:nnv, \keys_set_groups:nno
+% \keys_set_groups:nnv, \keys_set_groups:nno,
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN,
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN,
% }
% \begin{syntax}
% \cs{keys_set_groups:nnn} \Arg{module} \Arg{groups} \Arg{keyval list}
@@ -902,7 +906,10 @@
% Activates key filtering in an \enquote{opt-in} sense: only keys assigned to
% one or more of the \meta{groups} specified are set. The \meta{groups} are
% given as a comma-separated list. Unknown keys are not assigned to any
-% group and are thus never set.
+% group and are thus never set. The key--value pairs for each
+% key which is filtered out are stored in the \meta{tl} in a
+% comma-separated form (\emph{i.e.}~an edited version of the \meta{keyval
+% list}). The \cs{keys_set_groups:nnn} version skips this stage
% \end{function}
%
% \section{Digesting keys}
@@ -1667,20 +1674,27 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_bool, \l_@@_filtered_bool}
+% \begin{variable}{\l_@@_selective_bool, \l_@@_exclude_bool}
% Two booleans for using key groups: one to indicate that \enquote{selective}
% setting is active, a second to specify which type (\enquote{opt-in}
% or \enquote{opt-out}).
% \begin{macrocode}
\bool_new:N \l_@@_selective_bool
-\bool_new:N \l_@@_filtered_bool
+\bool_new:N \l_@@_exclude_bool
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_selective_seq}
+% \begin{variable}{\l_@@_selective_clist}
% The list of key groups being filtered in or out during selective setting.
% \begin{macrocode}
-\seq_new:N \l_@@_selective_seq
+\seq_new:N \l_@@_selective_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_tmp_clist}
+% Scratch space used as a data dump.
+% \begin{macrocode}
+\seq_new:N \l_@@_tmp_clist
% \end{macrocode}
% \end{variable}
%
@@ -2787,36 +2801,58 @@
%
% \subsection{Setting keys}
%
-% \begin{macro}
-% {
-% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
-% \keys_set:no, \keys_set:nx,
-% \@@_set:nn
-% }
+% \begin{macro}{\@@_set:nnnnNn}
+% \begin{macro}{\@@_set:nnnnnnnNn}
+% \begin{macro}[EXP]{\@@_reset_bool:N, \@@_reset_var:N}
+% \begin{macro}{\@@_set:nn}
% \begin{macro}{\@@_set:nnn}
-% A simple wrapper allowing for nesting.
-% \begin{macrocode}
-\cs_new_protected:Npn \keys_set:nn #1#2
+% The aim here is to allow nesting of key setting without needing lots of
+% tracking. That is done by expanding the appropriate tokens \enquote{around}
+% the core keyval parsing. As there are several different sub-paths, this
+% needs a few steps and some generic auxiliaries. The arguments here are
+% \begin{enumerate}
+% \item The root for keys
+% \item The key groups
+% \item The keys themselves
+% \item The relative root for return of unset keys
+% \item The \texttt{clist} var for returning unset keys
+% \item The code to set up the correct selection approach
+% \end{enumerate}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set:nnnnNn
+ {
+ \exp_args:Nooo \@@_set:nnnnnnnNn
+ \l_@@_unused_clist
+ \l_@@_selective_clist
+ \l_@@_relative_tl
+ }
+\cs_new_protected:Npn \@@_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
{
+ \clist_clear:N \l_@@_unused_clist
+ \clist_set:Ne \l_@@_selective_clist { \tl_to_str:n {#5} }
+ \tl_set:Nn \l_@@_relative_tl {#7}
\use:e
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set:nn \exp_not:n { {#1} {#2} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \exp_not:n
+ {
+ #9
+ \@@_set:nn {#4} {#6}
+ }
+ \@@_reset_bool:N \l_@@_only_known_bool
+ \@@_reset_bool:N \l_@@_exclude_bool
+ \@@_reset_bool:N \l_@@_selective_bool
}
+ \clist_set_eq:NN #8 \l_@@_unused_clist
+ \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \__kernel_tl_set:Nx \l_@@_selective_clist {#2}
+ \__kernel_tl_set:Nx \l_@@_relative_tl { \exp_not:n {#3} }
+ }
+\cs_new:Npn \@@_reset_bool:N #1
+ {
+ \exp_not:c
+ { bool_set_ \bool_if:NTF #1 { true } { false } :N }
+ \exp_not:N #1
}
-\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
\cs_new_protected:Npn \@@_set:nn #1#2
{ \exp_args:No \@@_set:nnn \l_@@_module_str {#1} {#2} }
\cs_new_protected:Npn \@@_set:nnn #1#2#3
@@ -2828,80 +2864,72 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}
% {
-% \keys_set_known:nnN, \keys_set_known:nVN,
-% \keys_set_known:nvN, \keys_set_known:neN,
-% \keys_set_known:noN
+% \keys_set:nn, \keys_set:nV, \keys_set:nv, \keys_set:ne,
+% \keys_set:no, \keys_set:nx
% }
+% A simple wrapper allowing for nesting.
+% \begin{macrocode}
+\cs_new_protected:Npn \keys_set:nn #1#2
+ {
+ \@@_set:nnnnNn
+ {#1} { } {#2} { \q_@@_no_value } \l_@@_tmp_clist
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
+ }
+\cs_generate_variant:Nn \keys_set:nn { nV , nv , ne , no , nx }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}
% {
% \keys_set_known:nnnN, \keys_set_known:nVnN,
% \keys_set_known:nvnN, \keys_set_known:nenN,
% \keys_set_known:nonN
% }
-% \begin{macro}{\@@_set_known:nnnnN}
+% \begin{macro}
+% {
+% \keys_set_known:nnN, \keys_set_known:nVN,
+% \keys_set_known:nvN, \keys_set_known:neN,
+% \keys_set_known:noN
+% }
% \begin{macro}
% {
% \keys_set_known:nn, \keys_set_known:nV,
% \keys_set_known:nv, \keys_set_known:ne,
% \keys_set_known:no
% }
-% \begin{macro}{\@@_set_known:nnn}
-% Setting known keys simply means setting the appropriate boolean, then
-% running the standard code. To allow for nested setting, any existing
-% value of \cs{l_@@_unused_clist} is saved on the stack and reset
-% afterwards. Note that for speed/simplicity reasons we use a \texttt{tl}
-% operation to set the \texttt{clist} here!
+% Simply set the right variables.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
- {
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist \q_@@_no_value {#1} {#2} #3
- }
-\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nnnN #1#2#3#4
{
- \exp_args:No \@@_set_known:nnnnN
- \l_@@_unused_clist {#3} {#1} {#2} #4
+ \@@_set:nnnnNn
+ {#1} { } {#2} {#3} #4
+ {
+ \bool_set_true:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_false:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_known:nnnN { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnnnN #1#2#3#4#5
- {
- \clist_clear:N \l_@@_unused_clist
- \@@_set_known:nnn {#2} {#3} {#4}
- \__kernel_tl_set:Nx #5 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
- }
+\cs_new_protected:Npn \keys_set_known:nnN #1#2#3
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } #3 }
+\cs_generate_variant:Nn \keys_set_known:nnN { nV , nv , ne , no }
\cs_new_protected:Npn \keys_set_known:nn #1#2
- { \@@_set_known:nnn \q_@@_no_value {#1} {#2} }
+ { \keys_set_known:nnnN {#1} {#2} { \q_@@_no_value } \l_@@_tmp_clist }
\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , ne , no }
-\cs_new_protected:Npn \@@_set_known:nnn #1#2#3
- {
- \use:e
- {
- \bool_set_true:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_false:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set:nn \exp_not:n { {#2} {#3} }
- \bool_if:NF \l_@@_only_known_bool
- { \bool_set_false:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NT \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NT \l_@@_selective_bool
- { \bool_set_true:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}
% {
@@ -2913,97 +2941,68 @@
% \keys_set_exclude_groups:nnnnN, \keys_set_exclude_groups:nnVnN,
% \keys_set_exclude_groups:nnvnN, \keys_set_exclude_groups:nnonN
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnnnN}
% \begin{macro}
% {
% \keys_set_exclude_groups:nnn, \keys_set_exclude_groups:nnV,
% \keys_set_exclude_groups:nnv, \keys_set_exclude_groups:nno
% }
-% \begin{macro}{\@@_set_exclude_groups:nnnn}
% \begin{macro}
% {
-% \keys_set_groups:nnn, \keys_set_groups:nnV, \keys_set_groups:nnv,
-% \keys_set_groups:nno
+% \keys_set_groups:nnnN, \keys_set_groups:nnVN,
+% \keys_set_groups:nnvN, \keys_set_groups:nnoN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnnnN, \keys_set_groups:nnVnN,
+% \keys_set_groups:nnvnN, \keys_set_groups:nnonN
+% }
+% \begin{macro}
+% {
+% \keys_set_groups:nnn, \keys_set_groups:nnV,
+% \keys_set_groups:nnv, \keys_set_groups:nno
% }
-% \begin{macro}{\@@_set_selective:nnn}
-% \begin{macro}{\@@_set_selective:nnnn}
-% The idea of setting keys in a selective manner again uses booleans
-% wrapped around the basic code. The comments on \cs{keys_set_known:nnN}
-% also apply here. We have a bit more shuffling to do to keep everything
-% nestable.
+% The same for (exclusion) groups.
% \begin{macrocode}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
- {
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist
- \q_@@_no_value {#1} {#2} {#3} #4
- }
-\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_exclude_groups:nnnnN #1#2#3#4#5
{
- \exp_args:No \@@_set_exclude_groups:nnnnnN
- \l_@@_unused_clist {#4} {#1} {#2} {#3} #5
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
+ {
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_true:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
+ }
}
\cs_generate_variant:Nn \keys_set_exclude_groups:nnnnN { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnnnN #1#2#3#4#5#6
+\cs_new_protected:Npn \keys_set_exclude_groups:nnnN #1#2#3#4
+ { \keys_set_exclude_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
{
- \clist_clear:N \l_@@_unused_clist
- \@@_set_exclude_groups:nnnn {#2} {#3} {#4} {#5}
- \__kernel_tl_set:Nx #6 { \exp_not:o \l_@@_unused_clist }
- \__kernel_tl_set:Nx \l_@@_unused_clist { \exp_not:n {#1} }
+ \keys_set_exclude_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
-\cs_new_protected:Npn \keys_set_exclude_groups:nnn #1#2#3
- {\@@_set_exclude_groups:nnnn \q_@@_no_value {#1} {#2} {#3} }
\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_exclude_groups:nnnn #1#2#3#4
+\cs_new_protected:Npn \keys_set_groups:nnnnN #1#2#3#4#5
{
- \use:e
+ \@@_set:nnnnNn
+ {#1} {#2} {#3} {#4} #5
{
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_true:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl { \exp_not:n {#1} }
- \@@_set_selective:nnn \exp_not:n { {#2} {#3} {#4} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_false:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
+ \bool_set_false:N \l_@@_only_known_bool
+ \bool_set_false:N \l_@@_exclude_bool
+ \bool_set_true:N \l_@@_selective_bool
}
}
+\cs_generate_variant:Nn \keys_set_groups:nnnnN { nnV , nnv , nno }
+\cs_new_protected:Npn \keys_set_groups:nnnN #1#2#3#4
+ { \keys_set_groups:nnnnN {#1} {#2} {#3} { \q_@@_no_value } #4 }
+\cs_generate_variant:Nn \keys_set_groups:nnnN { nnV , nnv , nno }
\cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
{
- \use:e
- {
- \bool_set_false:N \exp_not:N \l_@@_only_known_bool
- \bool_set_false:N \exp_not:N \l_@@_filtered_bool
- \bool_set_true:N \exp_not:N \l_@@_selective_bool
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:N \q_@@_no_value }
- \@@_set_selective:nnn \exp_not:n { {#1} {#2} {#3} }
- \bool_if:NT \l_@@_only_known_bool
- { \bool_set_true:N \exp_not:N \l_@@_only_known_bool }
- \bool_if:NF \l_@@_filtered_bool
- { \bool_set_true:N \exp_not:N \l_@@_filtered_bool }
- \bool_if:NF \l_@@_selective_bool
- { \bool_set_false:N \exp_not:N \l_@@_selective_bool }
- \tl_set:Nn \exp_not:N \l_@@_relative_tl
- { \exp_not:o \l_@@_relative_tl }
- }
+ \keys_set_groups:nnnnN {#1} {#2} {#3}
+ { \q_@@_no_value } \l_@@_tmp_clist
}
\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
-\cs_new_protected:Npn \@@_set_selective:nnn
- { \exp_args:No \@@_set_selective:nnnn \l_@@_selective_seq }
-\cs_new_protected:Npn \@@_set_selective:nnnn #1#2#3#4
- {
- \exp_args:NNe \seq_set_from_clist:Nn
- \l_@@_selective_seq { \tl_to_str:n {#3} }
- \@@_set:nn {#2} {#4}
- \tl_set:Nn \l_@@_selective_seq {#1}
- }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3011,8 +3010,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\keys_precompile:nnN}
% A simple wrapper.
@@ -3127,7 +3124,7 @@
\@@_check_groups:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
@@ -3138,7 +3135,7 @@
% set active. That requires two mappings, and again a different outcome
% depending on whether opt-in or opt-out is set.
% It is safe to use \cs{clist_if_in:NnTF} because
-% both \cs{l_@@_selective_seq} and \cs{l_@@_groups_clist} contain the
+% both \cs{l_@@_selective_clist} and \cs{l_@@_groups_clist} contain the
% groups as strings, without leading/trailing spaces in any item,
% since the \pkg{l3clist} functions were applied to the result of
% applying \cs{tl_to_str:n}.
@@ -3146,22 +3143,22 @@
\cs_new_protected:Npn \@@_check_groups:
{
\bool_set_false:N \l_@@_tmp_bool
- \seq_map_inline:Nn \l_@@_selective_seq
+ \clist_map_inline:Nn \l_@@_selective_clist
{
\clist_if_in:NnT \l_@@_groups_clist {##1}
{
\bool_set_true:N \l_@@_tmp_bool
- \seq_map_break:
+ \clist_map_break:
}
}
\bool_if:NTF \l_@@_tmp_bool
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_store_unused:
\@@_execute:
}
{
- \bool_if:NTF \l_@@_filtered_bool
+ \bool_if:NTF \l_@@_exclude_bool
\@@_execute:
\@@_store_unused:
}
diff --git a/macros/latex-dev/required/l3kernel/l3legacy.dtx b/macros/latex-dev/required/l3kernel/l3legacy.dtx
index ed7dadf222..fd30799ea1 100644
--- a/macros/latex-dev/required/l3kernel/l3legacy.dtx
+++ b/macros/latex-dev/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3luatex.dtx b/macros/latex-dev/required/l3kernel/l3luatex.dtx
index f0107d465b..19d92a1591 100644
--- a/macros/latex-dev/required/l3kernel/l3luatex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -452,7 +452,7 @@ ltxutils.filedump = filedump
%
% \begin{macro}[int]{md5.HEX}
% Hash a string and return the hash in uppercase hexadecimal format.
-% In some engines, this is build-in. For traditional \LuaTeX{}, the conversion
+% In some engines, this is built-in. For traditional \LuaTeX{}, the conversion
% to hexadecimal has to be done by us.
% \begin{macrocode}
local md5_HEX = md5.HEX
@@ -664,7 +664,7 @@ end)
%<@@=lua>
% \end{macrocode}
%
-% The Lua state is not dumped when a forat is written, therefore any Lua
+% The Lua state is not dumped when a format is written, therefore any Lua
% variables filled doing format building need to be restored in order to
% be accessible during normal runs.
%
diff --git a/macros/latex-dev/required/l3kernel/l3msg.dtx b/macros/latex-dev/required/l3kernel/l3msg.dtx
index ab4d882dcb..96fc231193 100644
--- a/macros/latex-dev/required/l3kernel/l3msg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -92,7 +92,7 @@
% will allow to filter out specifically messages from the \texttt{submodule}.
%
% Some authors may find the need to include spaces as |~| characters
-% tedious. This can be avoided by locally reseting the cateogry code
+% tedious. This can be avoided by locally resetting the category code
% of \verb*| |.
% \begin{verbatim}
% \char_set_catcode_space:n { `\ }
@@ -203,7 +203,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_critical_text:n}
@@ -217,7 +219,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_error_text:n}
@@ -231,7 +235,9 @@
% \end{quote}
% This function can be redefined to alter the language in which the
% message is given, using |#1| as the name of the \meta{module} to
-% be included.
+% be included. Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_warning_text:n}
@@ -247,6 +253,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP]{\msg_info_text:n}
@@ -262,6 +271,9 @@
% message is given, using |#1| as the name of the \meta{module} to
% be included. The \meta{type} of \meta{module} may be adjusted:
% |Package| is the standard outcome: see \cs{msg_module_type:n}.
+% Any redefinition \emph{must} produce output containing
+% the \meta{module} name, and will affect all messages using the
+% \pkg{expl3} mechanism.
% \end{function}
%
% \begin{function}[EXP,updated = 2018-09-30]{\msg_see_documentation_text:n}
diff --git a/macros/latex-dev/required/l3kernel/l3names.dtx b/macros/latex-dev/required/l3kernel/l3names.dtx
index 468481c28c..c2af4697f2 100644
--- a/macros/latex-dev/required/l3kernel/l3names.dtx
+++ b/macros/latex-dev/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1540,7 +1540,7 @@ end, 'global')
% \begin{macro}[no-user-doc]{\tex_filedump:D}
% An emulated primitive for getting a hexdump from a (partial) file.
% The length has a default of |0|. This is consistent with
-% \pdfTeX, but it effectivly makes the primitive useless without an
+% \pdfTeX, but it effectively makes the primitive useless without an
% explicit |length|. Therefore we allow the keyword |whole| to be used
% instead of a length, indicating that the whole remaining file should
% be read.
diff --git a/macros/latex-dev/required/l3kernel/l3news.pdf b/macros/latex-dev/required/l3kernel/l3news.pdf
index 591ab927d3..dd143fa9e6 100644
--- a/macros/latex-dev/required/l3kernel/l3news.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news01.pdf b/macros/latex-dev/required/l3kernel/l3news01.pdf
index c8a490c9cb..5b3278a9c0 100644
--- a/macros/latex-dev/required/l3kernel/l3news01.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news02.pdf b/macros/latex-dev/required/l3kernel/l3news02.pdf
index f3ab2dbd18..cf92aa6e2b 100644
--- a/macros/latex-dev/required/l3kernel/l3news02.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news03.pdf b/macros/latex-dev/required/l3kernel/l3news03.pdf
index 268bfdca04..bfec3ed2d1 100644
--- a/macros/latex-dev/required/l3kernel/l3news03.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news04.pdf b/macros/latex-dev/required/l3kernel/l3news04.pdf
index b70a04f2bd..ffda2b9917 100644
--- a/macros/latex-dev/required/l3kernel/l3news04.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news05.pdf b/macros/latex-dev/required/l3kernel/l3news05.pdf
index 87c46a0c2a..36d6f0617b 100644
--- a/macros/latex-dev/required/l3kernel/l3news05.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news06.pdf b/macros/latex-dev/required/l3kernel/l3news06.pdf
index d4c6ce71a1..35f4d87bbd 100644
--- a/macros/latex-dev/required/l3kernel/l3news06.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news07.pdf b/macros/latex-dev/required/l3kernel/l3news07.pdf
index f11e905a9b..6e60a66006 100644
--- a/macros/latex-dev/required/l3kernel/l3news07.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news08.pdf b/macros/latex-dev/required/l3kernel/l3news08.pdf
index a56eff92d2..e1912b8a38 100644
--- a/macros/latex-dev/required/l3kernel/l3news08.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.pdf b/macros/latex-dev/required/l3kernel/l3news09.pdf
index 660eae9025..85edc9f516 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.tex b/macros/latex-dev/required/l3kernel/l3news09.tex
index 55ed700a2c..43293ff1d6 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.tex
+++ b/macros/latex-dev/required/l3kernel/l3news09.tex
@@ -1421,7 +1421,7 @@ Basically help is possible on any level and it doesn't need to involve programmi
\item help on shaping the document interface layer
\end{itemize}
These concepts, as well as their implementation, are under discussion on the list \texttt{latex-l}.\footnote{Instructions for joining and browsing archives at:\\ \url{http://latex-project.org/code.html}}
-The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementors. But this might change if more people join.
+The list has only a fairly low level of traffic right now as actual implementation and development tasks are typically discussed directly among the few active implementers. But this might change if more people join.
\subsection{And something else \dots}
diff --git a/macros/latex-dev/required/l3kernel/l3news10.pdf b/macros/latex-dev/required/l3kernel/l3news10.pdf
index f33607fe58..80187c9117 100644
--- a/macros/latex-dev/required/l3kernel/l3news10.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news11.pdf b/macros/latex-dev/required/l3kernel/l3news11.pdf
index 192d1d97cc..10daf64a29 100644
--- a/macros/latex-dev/required/l3kernel/l3news11.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news12.pdf b/macros/latex-dev/required/l3kernel/l3news12.pdf
index c974194673..3f5955a1fc 100644
--- a/macros/latex-dev/required/l3kernel/l3news12.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3pdf.dtx b/macros/latex-dev/required/l3kernel/l3pdf.dtx
index b0b17f2690..007cb5b5ad 100644
--- a/macros/latex-dev/required/l3kernel/l3pdf.dtx
+++ b/macros/latex-dev/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -179,11 +179,13 @@
% created. This is particularly useful for anonymous objects.
% \end{function}
%
-% \begin{function}[EXP, added = 2021-02-10]{\pdf_pageobject_ref:n}
+% \begin{function}[EXP, added = 2021-02-10, updated = 2024-04-22]
+% {\pdf_pageobject_ref:n}
% \begin{syntax}
-% \cs{pdf_pagobject_ref:n} \Arg{pageobject}
+% \cs{pdf_pageobject_ref:n} \Arg{abspage}
% \end{syntax}
-% Inserts the appropriate information to reference the \meta{pageobject}.
+% Inserts the appropriate information to reference the \meta{abspage};
+% the latter is expanded fully before further processing.
% \end{function}
%
% \section{Version}
@@ -230,6 +232,9 @@
% \end{syntax}
% Sets the page size (mediabox) of the PDF being created to the
% \meta{width} and \meta{height}, both of which are \meta{dimexpr}.
+% The page size can only be set at the start of the output with
+% \texttt{dvips}; with other backends, this can be adjusted on a
+% per-page basis.
% \end{function}
%
% \section{Compression}
@@ -659,7 +664,7 @@ end,'global')
% \begin{macro}{\pdf_pageobject_ref:n}
% \begin{macrocode}
\cs_new:Npn \pdf_pageobject_ref:n #1
- { \@@_backend_pageobject_ref:n {#1} }
+ { \exp_args:Ne \@@_backend_pageobject_ref:n {#1} }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.csv b/macros/latex-dev/required/l3kernel/l3prefixes.csv
index 54fb41bdeb..7baa984582 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.csv
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.csv
@@ -96,6 +96,7 @@ fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://g
fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-widows-and-orphans.git,https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues,2018-09-26,2018-09-26,
fnote,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
fnpct,fnpct,Clemens Niederberger,https://github.com/cgnieder/fnpct/,https://github.com/cgnieder/fnpct.git,https://github.com/cgnieder/fnpct/issues,2013-03-16,2020-04-14,
+fontscale,fontscale,Oliver Beery,https://github.com/beeryoliver/fontscale,https://github.com/beeryoliver/fontscale.git,https://github.com/beeryoliver/fontscale/issues,2024-04-18,2024-04-18,
fontsizes,fontsizes,Julien Rivaud,,,,,2018-06-13,
fontspec,fontspec,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/fontspec.git,https://github.com/latex3/fontspec/issues,2013-03-16,2024-02-15,
fp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -124,9 +125,11 @@ intarray,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,ht
ior,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
iot,iot,Island of TeX,https://islandoftex.gitlab.io,https://gitlab.com/islandoftex/texmf,https://gitlab.com/groups/islandoftex/texmf/-/issues,2023-07-18,2023-07-18,
iow,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+istqb,istqb,Vít Starý Novotný,https://github.com/istqborg/istqb_product_base/,https://github.com/istqborg/istqb_product_base.git,https://github.com/istqborg/istqb_product_base/issues,2024-04-24,2024-04-24,
iwonamath,iwonamath,Boris Veytsman,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath/issues,2023-09-04,2023-09-04,
jiazhu,jiazhu,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2020-05-17,2020-05-17,
job,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2021-04-23,2021-04-23,
+jsonparse,jsonparse,Jasper Habicht,https://github.com/jasperhabicht/jsonparse,https://github.com/jasperhabicht/jsonparse/jsponsparse.git,https://github.com/jasperhabicht/jsonparse/issues,2024-04-14,2024-04-14,
kernel,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -137,11 +140,11 @@ left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
lltxmath,lualatex-math,Philipp Stephani,https://github.com/phst/lualatex-math,https://github.com/phst/lualatex-math.git,https://github.com/phst/lualatex-math/issues,2012-11-07,2012-11-07,
log,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
lua,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
-luabridge,lt3luabridge,Vít Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2022-06-25,
+luabridge,lt3luabridge,Vít Starý Novotný,https://ctan.org/pkg/lt3luabridge,https://github.com/witiko/lt3luabridge.git,https://github.com/witiko/lt3luabridge/issues,2022-06-25,2024-04-24,
luatex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
lwc,lua-widow-control,Max Chernoff,https://github.com/gucci-on-fleek/lua-widow-control,https://github.com/gucci-on-fleek/lua-widow-control.git,https://github.com/gucci-on-fleek/lua-widow-control/issues,2022-02-24,2022-02-24,
mark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
-markdown,markdown,Vít Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2021-09-08,
+markdown,markdown,Vít Starý Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2024-04-24,
marks,l3kernel/xmarks,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-02-17,2020-02-17,
marks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2021-03-03,2021-03-03,
math,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -218,6 +221,7 @@ reverse,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
right,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
rivbook,rivbook,Julien Rivaud,,,,2018-06-13,2018-06-14,
rivmath,rivmath,Julien Rivaud,,,,2018-06-13,2018-06-13,
+rpgicons,rpgicons,Jasper Habicht,https://github.com/jasperhabicht/rpgicons,https://github.com/jasperhabicht/rpgicons/rpgicons.git,https://github.com/jasperhabicht/rpgicons/issues,2024-04-29,2024-04-29,
sanuml,sanitize-umlaut,Thomas F. Sturm,https://github.com/T-F-S/sanitize-umlaut,https://github.com/T-F-S/sanitize-umlaut.git,https://github.com/T-F-S/sanitize-umlaut/issues,2022-07-19,2022-07-19,
scan,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
schulma,schulmathematik,Keno Wehr,https://ctan.org/pkg/schulmathematik,,,2021-08-23,2021-08-23,
@@ -275,6 +279,7 @@ vcoffin,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
wheelchart,wheelchart,Matthias Floré,,,,2023-12-07,2023-12-07,
withargs,withargs,Michiel Helvensteijn,,,,2014-02-05,2014-02-05,
witharrows,witharrows,François Pantigny,,,,2019-12-19,2019-12-19,
+wstf,wrapstuff,Qing Lee,https://github.com/qinglee/wrapstuff,https://github.com/qinglee/wrapstuff.git,https://github.com/qinglee/wrapstuff/issues,2024-04-18,2024-04-18,
xeCJK,xecjk,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-05-26,2013-05-26,
xetex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xfrac,xfrac,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/xfrac.git,https://github.com/latex3/xfrac/issues,2012-09-27,2024-02-14,
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.pdf b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
index f3241dfd65..d90fd943f7 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3prg.dtx b/macros/latex-dev/required/l3kernel/l3prg.dtx
index ea76955d82..96ef859b3f 100644
--- a/macros/latex-dev/required/l3kernel/l3prg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3prop.dtx b/macros/latex-dev/required/l3kernel/l3prop.dtx
index 6d8054e956..3350b27792 100644
--- a/macros/latex-dev/required/l3kernel/l3prop.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -299,12 +299,24 @@
% codes are ignored.
% \end{function}
%
-% \begin{function}[added = 2024-03-30]
+% \begin{function}[added = 2024-03-30, updated = 2024-05-07]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{syntax}
% \cs{prop_put_if_not_in:Nnn} \meta{property list} \Arg{key} \Arg{value}
@@ -1940,10 +1952,22 @@
% }
% \begin{macro}[tested = m3prop002]
% {
-% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
-% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
-% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
-% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NnV, \prop_put_if_not_in:Nnv, \prop_put_if_not_in:Nne,
+% \prop_put_if_not_in:NVn, \prop_put_if_not_in:NVV, \prop_put_if_not_in:NVv, \prop_put_if_not_in:NVe,
+% \prop_put_if_not_in:Nvn, \prop_put_if_not_in:NvV, \prop_put_if_not_in:Nvv, \prop_put_if_not_in:Nve,
+% \prop_put_if_not_in:Nen, \prop_put_if_not_in:NeV, \prop_put_if_not_in:Nev, \prop_put_if_not_in:Nee,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cnV, \prop_put_if_not_in:cnv, \prop_put_if_not_in:cne,
+% \prop_put_if_not_in:cVn, \prop_put_if_not_in:cVV, \prop_put_if_not_in:cVv, \prop_put_if_not_in:cVe,
+% \prop_put_if_not_in:cvn, \prop_put_if_not_in:cvV, \prop_put_if_not_in:cvv, \prop_put_if_not_in:cve,
+% \prop_put_if_not_in:cen, \prop_put_if_not_in:ceV, \prop_put_if_not_in:cev, \prop_put_if_not_in:cee,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NnV, \prop_gput_if_not_in:Nnv, \prop_gput_if_not_in:Nne,
+% \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NVV, \prop_gput_if_not_in:NVv, \prop_gput_if_not_in:NVe,
+% \prop_gput_if_not_in:Nvn, \prop_gput_if_not_in:NvV, \prop_gput_if_not_in:Nvv, \prop_gput_if_not_in:Nve,
+% \prop_gput_if_not_in:Nen, \prop_gput_if_not_in:NeV, \prop_gput_if_not_in:Nev, \prop_gput_if_not_in:Nee,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cnV, \prop_gput_if_not_in:cnv, \prop_gput_if_not_in:cne,
+% \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cVV, \prop_gput_if_not_in:cVv, \prop_gput_if_not_in:cVe,
+% \prop_gput_if_not_in:cvn, \prop_gput_if_not_in:cvV, \prop_gput_if_not_in:cvv, \prop_gput_if_not_in:cve,
+% \prop_gput_if_not_in:cen, \prop_gput_if_not_in:ceV, \prop_gput_if_not_in:cev, \prop_gput_if_not_in:cee
% }
% \begin{macro}[tested = m3prop002]
% {
@@ -2006,9 +2030,19 @@
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
- { NnV , NV , c , cnV , cV }
+ {
+ NnV , Nnv , Nne , NV , NVV , NVv , NVe ,
+ Nv , NvV , Nvv , Nve , Ne , NeV , Nev , Nee ,
+ c , cnV , cnv , cne , cV , cVV , cVv , cVe ,
+ cv , cvV , cvv , cve , ce , ceV , cev , cee
+ }
% \end{macrocode}
% Since the true branch of \cs{@@_split:NnTFn} is used as the
% replacement text of an internal macro, and since the \meta{key} and
diff --git a/macros/latex-dev/required/l3kernel/l3quark.dtx b/macros/latex-dev/required/l3kernel/l3quark.dtx
index 6dba950462..c989bd4024 100644
--- a/macros/latex-dev/required/l3kernel/l3quark.dtx
+++ b/macros/latex-dev/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3regex.dtx b/macros/latex-dev/required/l3kernel/l3regex.dtx
index ce85b56262..ad44b8c6f9 100644
--- a/macros/latex-dev/required/l3kernel/l3regex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -2047,9 +2047,9 @@
% phase. Compiled regular expressions consist of the following:
% \begin{itemize}
% \item \cs{@@_class:NnnnN} \meta{boolean} \Arg{tests} \Arg{min}
-% \Arg{more} \meta{lazyness}
+% \Arg{more} \meta{laziness}
% \item \cs{@@_group:nnnN} \Arg{branches} \Arg{min} \Arg{more}
-% \meta{lazyness}, also \cs{@@_group_no_capture:nnnN} and
+% \meta{laziness}, also \cs{@@_group_no_capture:nnnN} and
% \cs{@@_group_resetting:nnnN} with the same syntax.
% \item \cs{@@_branch:n} \Arg{contents}
% \item \cs{@@_command_K:}
@@ -2638,7 +2638,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_compile_quantifier_lazyness:nnNN}
+% \begin{macro}{\@@_compile_quantifier_laziness:nnNN}
% Once the \enquote{main} quantifier (\texttt{?}, \texttt{*},
% \texttt{+} or a braced construction) is found, we check whether it
% is lazy (followed by a question mark). We then add to the compiled
@@ -2646,7 +2646,7 @@
% the start-point of the range, its end-point, and a boolean,
% \texttt{true} for lazy and \texttt{false} for greedy operators.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_compile_quantifier_lazyness:nnNN #1#2#3#4
+\cs_new_protected:Npn \@@_compile_quantifier_laziness:nnNN #1#2#3#4
{
\@@_two_if_eq:NNNNTF #3 #4 \@@_compile_special:N ?
{
@@ -2669,15 +2669,15 @@
% \@@_compile_quantifier_+:w
% }
% For each \enquote{basic} quantifier, |?|, |*|, |+|, feed the correct
-% arguments to \cs{@@_compile_quantifier_lazyness:nnNN}, $-1$ means
+% arguments to \cs{@@_compile_quantifier_laziness:nnNN}, $-1$ means
% that there is no upper bound on the number of repetitions.
% \begin{macrocode}
\cs_new_protected:cpn { @@_compile_quantifier_?:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { 1 } }
\cs_new_protected:cpn { @@_compile_quantifier_*:w }
- { \@@_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 0 } { -1 } }
\cs_new_protected:cpn { @@_compile_quantifier_+:w }
- { \@@_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
+ { \@@_compile_quantifier_laziness:nnNN { 1 } { -1 } }
% \end{macrocode}
% \end{macro}
%
@@ -2711,7 +2711,7 @@
{
{ \@@_compile_special:N \c_right_brace_str }
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } 0
}
{ \@@_compile_special:N , }
@@ -2731,7 +2731,7 @@
{
\@@_two_if_eq:NNNNTF #1 #2 \@@_compile_special:N \c_right_brace_str
{
- \exp_args:No \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:No \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int } { -1 }
}
{
@@ -2753,7 +2753,7 @@
\else:
\int_sub:Nn \l_@@_internal_b_int \l_@@_internal_a_int
\fi:
- \exp_args:Noo \@@_compile_quantifier_lazyness:nnNN
+ \exp_args:Noo \@@_compile_quantifier_laziness:nnNN
{ \int_use:N \l_@@_internal_a_int }
{ \int_use:N \l_@@_internal_b_int }
}
@@ -4517,13 +4517,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_build_transitions_lazyness:NNNNN}
+% \begin{macro}{\@@_build_transitions_laziness:NNNNN}
% This function creates a new state, and puts two transitions starting
% from the old current state. The order of the transitions is
% controlled by |#1|, true for lazy quantifiers, and false for greedy
% quantifiers.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_build_transitions_lazyness:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_build_transitions_laziness:NNNNN #1#2#3#4#5
{
\@@_build_new_state:
\@@_toks_put_right:Ne \l_@@_left_state_int
@@ -4545,7 +4545,7 @@
% \begin{macro}{\@@_class:NnnnN}
% \begin{macro}[rEXP]{\@@_tests_action_cost:n}
% The arguments are: \meta{boolean} \Arg{tests} \Arg{min} \Arg{more}
-% \meta{lazyness}. First store the tests with a trailing
+% \meta{laziness}. First store the tests with a trailing
% \cs{@@_action_cost:n}, in the true branch of
% \cs{@@_break_point:TF} for positive classes, or the false branch
% for negative classes. The integer \meta{more} is $0$ for fixed
@@ -4599,18 +4599,18 @@
% \cs{@@_class_repeat:n} for the code to match |#1| repetitions,
% and add free transitions from the last state to the previous one,
% and to a new one. In both cases, the order of transitions is
-% controlled by the lazyness boolean |#2|.
+% controlled by the laziness boolean |#2|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_class_repeat:nN #1#2
{
\if_int_compare:w #1 = \c_zero_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_tests_action_cost:n \l_@@_left_state_int
\else:
\@@_class_repeat:n {#1}
\int_set_eq:NN \l_@@_internal_a_int \l_@@_left_state_int
- \@@_build_transitions_lazyness:NNNNN #2
+ \@@_build_transitions_laziness:NNNNN #2
\@@_action_free:n \l_@@_right_state_int
\@@_action_free:n \l_@@_internal_a_int
\fi:
@@ -4634,7 +4634,7 @@
{ \l_@@_max_state_int + #2 - \c_one_int }
\prg_replicate:nn { #2 }
{
- \@@_build_transitions_lazyness:NNNNN #3
+ \@@_build_transitions_laziness:NNNNN #3
\@@_action_free:n \l_@@_internal_a_int
\@@_tests_action_cost:n \l_@@_right_state_int
}
@@ -4646,7 +4646,7 @@
%
% \begin{macro}{\@@_group_aux:nnnnN}
% Arguments: \Arg{label} \Arg{contents} \Arg{min} \Arg{more}
-% \meta{lazyness}. If \meta{min} is $0$, we need to add a state before
+% \meta{laziness}. If \meta{min} is $0$, we need to add a state before
% building the group, so that the thread which skips the group does
% not also set the start-point of the submatch. After adding one more
% state, the \texttt{left_state} is the left end of the group, from
@@ -4656,7 +4656,7 @@
% build the \textsc{nfa} states for the contents |#2| of the group,
% and we forget about the two integers. Once this is done, perform the
% repetition: either exactly |#3| times, or |#3| or more times, or
-% between |#3| and $|#3|+|#4|$ times, with lazyness |#5|. The
+% between |#3| and $|#3|+|#4|$ times, with laziness |#5|. The
% \meta{label} |#1| is used for submatch tracking. Each of the three
% auxiliaries expects \texttt{left_state} and \texttt{right_state} to
% be set properly.
@@ -4884,7 +4884,7 @@
%
% \begin{macro}{\@@_group_repeat:nnnN}
% We wish to repeat the group between |#2| and $|#2|+|#3|$ times, with
-% a lazyness controlled by |#4|. We insert submatch tracking up front:
+% a laziness controlled by |#4|. We insert submatch tracking up front:
% in principle, we could avoid recording submatches for the first |#2|
% copies of the group, but that forces us to treat specially the case
% $|#2|=0$. Repeat that group with submatch tracking $|#2|+|#3|$ times
@@ -8076,7 +8076,7 @@
% This is not technically a message, but seems related enough to go
% there. The arguments are: |#1| is the minimum number of repetitions;
% |#2| is the number of allowed extra repetitions ($-1$ for infinite
-% number), and |#3| tells us about lazyness.
+% number), and |#3| tells us about laziness.
% \begin{macrocode}
\cs_new:Npn \@@_msg_repeated:nnN #1#2#3
{
diff --git a/macros/latex-dev/required/l3kernel/l3seq.dtx b/macros/latex-dev/required/l3kernel/l3seq.dtx
index 6be32f7a83..713e4a33b1 100644
--- a/macros/latex-dev/required/l3kernel/l3seq.dtx
+++ b/macros/latex-dev/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1690,7 +1690,7 @@
}
% \end{macrocode}
% If the position is ok, \cs{@@_set_item:nNnnNNNN} makes the assignment
-% and returns \texttt{true} (in the case of conditionnals). Here |#1|
+% and returns \texttt{true} (in the case of conditionals). Here |#1|
% is an integer expression (position minus one), it needs to be
% evaluated. The sequence |#5| starts with \cs{s_@@} (even if empty),
% which stops the integer expression and is absorbed by it. The
diff --git a/macros/latex-dev/required/l3kernel/l3skip.dtx b/macros/latex-dev/required/l3kernel/l3skip.dtx
index a3d9256223..3eeb891e3d 100644
--- a/macros/latex-dev/required/l3kernel/l3skip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3sort.dtx b/macros/latex-dev/required/l3kernel/l3sort.dtx
index 81a025b474..9ba8713244 100644
--- a/macros/latex-dev/required/l3kernel/l3sort.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str-convert.dtx b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
index 75dbdd095b..0b280fb109 100644
--- a/macros/latex-dev/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str.dtx b/macros/latex-dev/required/l3kernel/l3str.dtx
index efc24fe8ea..d4e08b2dd2 100644
--- a/macros/latex-dev/required/l3kernel/l3str.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.pdf b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
index 89d4efff14..c3b43c90a8 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.tex b/macros/latex-dev/required/l3kernel/l3styleguide.tex
index da169cd8b1..2cffd774e3 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.tex
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\begin{document}
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
index 7823600916..83d368f738 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
index 85f83bf0e3..0b21c09da0 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3sys.dtx b/macros/latex-dev/required/l3kernel/l3sys.dtx
index 085b5f2c97..0417a963bc 100644
--- a/macros/latex-dev/required/l3kernel/l3sys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
index 7d03a9143b..7bd8b3b0fd 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.tex b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
index d1b4b0082c..86ad15568a 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3text-case.dtx b/macros/latex-dev/required/l3kernel/l3text-case.dtx
index 5010114fb4..888e6e97b9 100644
--- a/macros/latex-dev/required/l3kernel/l3text-case.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -1919,7 +1919,7 @@
% \end{macrocode}
% If there was a hit, output the result with the dot-above and move on.
% Otherwise, look for one of the three letters that can take a combining
-% accent: I, J nd I-ogonek.
+% accent: I, J, and I-ogonek.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_lower_lt_auxi:nnnnn #1#2#3#4#5
{
diff --git a/macros/latex-dev/required/l3kernel/l3text-map.dtx b/macros/latex-dev/required/l3kernel/l3text-map.dtx
index 213d8281a9..ab4a6db91e 100644
--- a/macros/latex-dev/required/l3kernel/l3text-map.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-purify.dtx b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
index a713cd6e40..ec85eb8be4 100644
--- a/macros/latex-dev/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text.dtx b/macros/latex-dev/required/l3kernel/l3text.dtx
index 56c9a5533c..a59e047bd7 100644
--- a/macros/latex-dev/required/l3kernel/l3text.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -887,7 +887,7 @@
% {\c_@@_chardef_group_begin_token, \c_@@_mathchardef_group_begin_token}
% \begin{variable}
% {\c_@@_chardef_group_end_token, \c_@@_mathchardef_group_end_token}
-% Markers for implict char handling.
+% Markers for implicit char handling.
% \begin{macrocode}
\tex_global:D \tex_chardef:D \c_@@_chardef_space_token = `\ %
\tex_global:D \tex_mathchardef:D \c_@@_mathchardef_space_token = `\ %
diff --git a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
index a4141dcfe4..80a7d74cef 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl-build.dtx b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
index 859dd5025c..708ea81680 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl.dtx b/macros/latex-dev/required/l3kernel/l3tl.dtx
index 30e16636e5..940b3cb8d0 100644
--- a/macros/latex-dev/required/l3kernel/l3tl.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -3339,7 +3339,7 @@
% }
% \begin{macro}[EXP]{\@@_use_none_delimit_by_q_act_stop:w}
% To help control the expansion, \cs{@@_act:NNNn} should always
-% be preceeded by \cs{exp:w} and ends by producing \cs{exp_end:}
+% be preceded by \cs{exp:w} and ends by producing \cs{exp_end:}
% once the result has been obtained. This way no internal token of it can be
% accidentally end up in the input stream.
% Because \cs{s_@@_act_stop} can't appear without braces around it in the
diff --git a/macros/latex-dev/required/l3kernel/l3token.dtx b/macros/latex-dev/required/l3kernel/l3token.dtx
index a38860b548..5c31ab04e7 100644
--- a/macros/latex-dev/required/l3kernel/l3token.dtx
+++ b/macros/latex-dev/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3unicode.dtx b/macros/latex-dev/required/l3kernel/l3unicode.dtx
index 0ee6858f5b..3b3bd007a4 100644
--- a/macros/latex-dev/required/l3kernel/l3unicode.dtx
+++ b/macros/latex-dev/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-04-11}
+% \date{Released 2024-05-08}
%
% \maketitle
%
@@ -52,7 +52,7 @@
% This module provides Unicode-specific functions along with loading data
% from a range of Unicode Consortium files. Most of the code here is
% internal, but there are a small set of public functions. These work with
-% Unicode \meta{codepoints} and are designed to give useable results with
+% Unicode \meta{codepoints} and are designed to give usable results with
% both Unicode-aware and $8$-bit engines.
%
% \begin{function}[EXP, added = 2022-10-09, updated = 2022-11-09]
diff --git a/macros/latex-dev/required/l3kernel/source3.pdf b/macros/latex-dev/required/l3kernel/source3.pdf
index a88cd68030..065674e225 100644
--- a/macros/latex-dev/required/l3kernel/source3.pdf
+++ b/macros/latex-dev/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/source3.tex b/macros/latex-dev/required/l3kernel/source3.tex
index f0aaeb20c8..623b9cc1a0 100644
--- a/macros/latex-dev/required/l3kernel/source3.tex
+++ b/macros/latex-dev/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-04-11}
+\date{Released 2024-05-08}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README
index 9ed398e5aa..22919f31f8 100644
--- a/macros/latex/contrib/acmart/README
+++ b/macros/latex/contrib/acmart/README
@@ -12,6 +12,8 @@ The production version is the one on CTAN and ACM sites.
Changes
+Version 2.07. Corrected typo in TELO eISSN.
+
Version 2.06. Added eISSN for a number of journals.
ACM no longer collects or prints authors'
postal addresses
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index 8516651ee4..baebaccaab 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -2262,7 +2262,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2024/04/13 v2.06 Typesetting articles for the Association for Computing Machinery]
+[2024/04/17 v2.07 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -4346,6 +4346,7 @@
% \changes{1.90}{2023/03/30}{Added TOPML eISSN}
% \changes{2.05}{2024/04/04}{New data for TELO}
% \changes{2.06}{2024/04/13}{Added eISSN for a number of journals}
+% \changes{2.07}{2024/04/17}{Another change for TELO}
%
% We use the |xkeyval| interface to define journal titles and the relevant
% information
@@ -4619,8 +4620,8 @@
\or % TELO
\def\@journalName{ACM Transactions on Evolutionary Learning and Optimization}%
\def\@journalNameShort{ACM Trans. Evol. Learn. Optim.}%
- \def\@permissionCodeOne{2688-3007}%
- \def\@permissionCodeTwo{2345-6789}%
+ \def\@permissionCodeOne{2688-299X}%
+ \def\@permissionCodeTwo{2688-3007}%
\or % THRI
\def\@journalName{ACM Transactions on Human-Robot Interaction}%
\def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf
index 6968505073..c19fdf3a8b 100644
--- a/macros/latex/contrib/acmart/acmart.pdf
+++ b/macros/latex/contrib/acmart/acmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf
index 79d2c75930..bd2ce2d7ba 100644
--- a/macros/latex/contrib/acmart/acmguide.pdf
+++ b/macros/latex/contrib/acmart/acmguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
index 248ec92fda..3f02d1ac9c 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
index 4f27c502b3..aa7fea6b41 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
index d40c026b0b..2637448012 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
index 68416d9b6d..dce1688580 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
index a41acf251c..f4fd622fcf 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
index 2ae43840f3..4086b70e26 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
index 25671b661e..6c3fbbb20a 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
index 750a6f6221..5493a7abf7 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
index dfe07e0656..be5a4b8e1c 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
index a0be04191c..a594aaec45 100644
--- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
index d27c922559..87c7559042 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
index e763de031c..26d05c90b6 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
index 76c620139f..4404065b41 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
index 1f2896d691..a29449278f 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
index 4d19efa089..7edc0c62bd 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
Binary files differ
diff --git a/macros/latex/contrib/arraycols/arraycols.dtx b/macros/latex/contrib/arraycols/arraycols.dtx
index b3a438be98..aebd0bb195 100644
--- a/macros/latex/contrib/arraycols/arraycols.dtx
+++ b/macros/latex/contrib/arraycols/arraycols.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2019-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+% Copyright (C) 2019-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%
% This file may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
@@ -20,16 +20,16 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{arraycols}
- [2023/09/13 v1.4 .dtx arraycols file]
+ [2024/05/04 v1.5 .dtx New column types for array and tabular]
%</package>
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french,english]{babel}
-\usepackage{lmodern}
+\usepackage[charter]{mathdesign}
\usepackage{arraycols}
-
+\usepackage{spacingtricks}
\usepackage{sectsty}
\usepackage{xcolor}
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
@@ -56,7 +56,7 @@
%</driver>
% \fi
%
-% \CheckSum{46}
+% \CheckSum{42}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -81,23 +81,29 @@
% minor changes in documentation}
% \changes{v1.2}{2021/09/20}{Incompatibility with siunitx package
% (called by pstricks-add) is solved}
-% \changes{v1.3}{2023/08/09}{Small changes in documentation}
-% \changes{v1.4}{2023/09/13}{More changes in documentation}
+% \changes{v1.3}{2023/08/09}{A few changes in the documentation}
+% \changes{v1.4}{2023/09/13}{More changes in the documentation}
+% \changes{v1.5}{2024/05/04}{Mention of the tabularray and mdwtab packages in the doc;
+% explanations about the gape and Gape macros from the makecell package}
%
% \GetFileInfo{arraycols.sty}
%
% \title{The \textsf{arraycols} package\thanks{This document
% corresponds to \textsf{arraycols}~\fileversion, dated \filedate.
-% Thanks to François Bastouil for assistance with the English translation.}}
+% Thanks to François Bastouil for initial assistance with the English translation.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{September 13, 2023}
+% \date{May 4, 2024}
% \maketitle
%
% \section{Introduction}
%
-% This package introduces new predefined column types for tables, in addition to
-% the \textsf{array} package by Frank Mittelbach and David Carlisle~\cite{ARRAY}.
-% It also includes a command for wide horizontal rule drawing.
+% Although the remarkable \textsf{tabularray} package by Jianrui Lyu~\cite{TABUL},
+% developed in \LaTeX 3, offers many new possibilities and great flexibility
+% in composing tables, many users are still familiar with
+% Frank Mittelbach and David Carlisle's \textsf{array} package~\cite{ARRAY}.
+% In addition to \textsf{array}, this modest \textsf{arraycols} package introduces
+% new predefined column types for tables and also includes a command
+% for wide horizontal rule drawing.
% Below is a summary of the column types and macro defined by \textsf{arraycols},
% which will be detailed in the following section.
%
@@ -142,7 +148,7 @@
% \end{tabular}
% \end{center}
%
-% Note that if a column type has been previously defined by another package,
+% If a column type has been previously defined by another package,
% using \textsf{arraycols} will overwrite it and display a warning message.
%
% In addition to loading the \textsf{array} package, \textsf{arraycols}
@@ -151,13 +157,10 @@
% Moreover it relies on
% \textsf{tabularx}~\cite{TABX} for \texttt{T} and \texttt{Z} column types and
% loads \textsf{makecell}~\cite{MKCELL} for creation of multilined tabular cells.
-% It's worth mentioning that the \textsf{tablestyles} package~\cite{TBLSTY}
-% also defines L, C, R and Z column types, but differently.
-% Nevertheless, \textsf{tablestyles} is incompatible with \textsf{makecell}
-% and consequently with \textsf{arraycols} as well.
-%
-% With its minimal code, \textsf{arraycols} makes no claim to develop new macros.
-% Its purpose is to combine and configure functionalities derived from other packages.
+% Note that the \textsf{tablestyles} package~\cite{TBLSTY}
+% also defines the column types L, C, R and Z, but differently.
+% However, \textsf{tablestyles} is incompatible with \textsf{makecell}
+% and therefore also with \textsf{arraycols} as well.
%
% \section{Usage}
%
@@ -171,14 +174,13 @@
% in a \texttt{tabular} environment.
% For instance, using the declaration "\begin{tabular}{|l|C|r|}" sets the second column
% in centered mathematical mode. Similarly, using the declaration "\begin{array}{|L|c|c|}"
-% sets the first column in text mode, left-aligned\footnote{The declarations
-% \texttt{L, C, R} do not work in a \texttt{tabularx} environment.
+% sets the first column in text mode, left-aligned
+% \footnote{The declarations \texttt{L, C, R} do not work in a \texttt{tabularx} environment.
% Additionally, the \mbox{\textsf{tabulary}} package by David Carlisle~\cite{TABY}
% already defines the \texttt{L, C, R} (and \texttt{J}) column types for specific alignments
% in tables of the same type as \texttt{tabularx}.
-% However, there is no incompatibility with \textsf{arraycols} because these column definitions
-% apply exclusively within \texttt{tabulary} environments.
-% }.
+% However, there is no incompatibility with \textsf{arraycols} because these
+% column definitions apply exclusively within \texttt{tabulary} environments.}.
%
% \medskip
% \DescribeEnv{t\marg{width}}
@@ -230,17 +232,18 @@
% \end{array}
% \]
%
-% The \textsf{cellspace} package is loaded with the \texttt{math} option\footnote{The
-% \texttt{math} option loads the \textsf{amsmath} package.
+% The \textsf{cellspace} package is loaded with the \texttt{math} option
+% \footnote{The \texttt{math} option loads the \textsf{amsmath} package.
% As mentionned in the \textsf{cellspace} package documentation:
% \og the \textsf{amsmath} package can be loaded beforehand with other
% packages (such as \texttt{empheq} or \texttt{mathtools}),
% were an incompatibility to arise from one’s loading it later\fg.}
% to efficiently manage row heights, including in matrices.
% Another option of \textsf{cellspace}, \texttt{column=Q}
-% (with \texttt{S} being the default in \textsf{cellspace})\footnote{The
-% letter Q is a substitute for the default column modifier S of the \textsf{cellspace}
-% package.}, was necessary to prevent any compatibility issues
+% (with \texttt{S} being the default in \textsf{cellspace})
+% \footnote{The letter Q is a substitute for the default column modifier
+% S of the \textsf{cellspace} package.},
+% was necessary to prevent any compatibility issues
% with the \textsf{siunitx} package (also loaded by \textsf{pstricks-add}).
% The \texttt{Q} declaration serves as a \og modifier \fg{}
% that, when placed before a column type declaration,
@@ -253,19 +256,44 @@
% excellent row height adjustment. However, regrettably, it doesn't handle the height
% of vertical separators ``"|"''.
% In order to achieve a similar vertical adjustment as \textsf{booktabs},
-% we set the \textsf{cellspace} parameters as follows:\\
-% \indent\indent"\setlength{\cellspacetoplimit}{3pt}", \\
-% \indent\indent"\setlength{\cellspacebottomlimit}{2pt}".
-%
-% Additionally, it's worth mentioning the \textsf{tabls} package by Donald Arneseau~\cite{TABLS}
-% that makes a good adjustment of row heights as well, but it is incompatible
-% with the \textsf{array} and \textsf{numprint} packages.
+% we set the \textsf{cellspace} parameters as follows:
+% \begin{center}
+% \begin{tabular}{l}
+% "\setlength{\cellspacetoplimit}{3pt}", \\
+% "\setlength{\cellspacebottomlimit}{2pt}".
+% \end{tabular}
+% \end{center}
%
% \medskip
-% Finally, manual adjustments can also be achieved using the "\vstrut" command
-% from the \textsf{spacingtricks} package~\cite{SPA}, or by utilizing "\gape" and "\Gape"
-% from the \textsf{makecell} package~\cite{MKCELL},
-% as well as employing "\bigstrut" from the \textsf{bigstrut} package~\cite{STRUT}.
+% A common issue with \LaTeX\ tables is that there isn’t enough space
+% around horizontal rules. As seen previously,
+% \textsf{cellspace} partially addresses this issue,
+% but if you want to add some more space around the horizontal rules, it's not straightforward.
+% First, note that Donald Arsenau's \textsf{tabls} package~\cite{TABLS} produces
+% a nice and automatic solution in this regard, but is not compatible with \textsf{array}
+% nor with \textsf{numprint}.
+%
+% Several other methods can be employed:
+% you can increase the space on top or bottom of a particular cell
+% by using
+% \begin{center}
+% "\gape"\oarg{\texttt{t} or \texttt{b}}\marg{text}
+% or "\Gape"\oarg{height}\oarg{depth}\marg{text}
+% \end{center}
+% from the \textsf{makecell} package~\cite{MKCELL}.
+% You have also the "\bigstrut" command from the \textsf{bigstrut} package~\cite{STRUT},
+% but it's less efficient and convenient.
+% An efficient method is provided by the \textsf{mdwtab} package
+% of Mark Wooding~\cite{MDWTAB} with its macros
+% "\vgap"\marg{length} or "\hlx"\marg{hlx-cmd},
+% where in \marg{hlx-cmd} you can place "h", representing "\hline", and "s"\oarg{length},
+% meaning "\vgap" (among others).
+% This package provides also many other interesting features.
+% Finally, manual adjustments of particular rows can be achieved using
+% the "\vstrut"\oarg{depth}\marg{height} command
+% from the \textsf{spacingtricks} package~\cite{SPA},
+% These packages are not loaded by \textsf{arraycols}, except \textsf{makecell}.
+% Have a look at their documentation.
%
% \medskip
% \DescribeEnv{z\marg{width}}
@@ -281,16 +309,19 @@
% the \texttt{X} column definition, which calculates its width in relation to
% the required width for the entire table. It aligns text to the left
% similar to \texttt{p}\marg{width}.
-% For instance, using "\begin{tabularx}{8cm}{|c|X|X|}"
+% Using "\begin{tabularx}{8cm}{|c|X|X|}"
% adjusts the width of the \texttt{X} columns
% to achieve a total width of 8\,cm. To complement this, we offer
% the \texttt{T} declaration, which performs a similar function
% but centers the content horizontally.
% Additionally the \texttt{Z} declaration activates mathematical
% mode and adjusts
-% line heights, comparable to \texttt{x} or \texttt{z}). Here's an example with
-% "\begin{tabularx}{\linewidth}{|T|y|x|Z|T|}".
+% line heights, comparable to \texttt{x} or \texttt{z}).
+% The following example is obtained with
% \begin{center}
+% "\begin{tabularx}{\linewidth}{|T|y|x|Z|T|}".
+%
+% \medskip
% \begin{tabularx}{\linewidth}{|T|y|x|Z|T|}
% \hline
% A good job &
@@ -301,6 +332,7 @@
% \hline
% \end{tabularx}
% \end{center}
+%
% Observe that cells 3 and 4 are not vertically centered to preserve
% the precise alignment of fraction bars within mathematical formulas
% across cells.
@@ -317,7 +349,8 @@
% compared to the one achieved
% with the standard declaration ``"|"''. For selecting the line thickness,
% we additionally provide the column
-% definition \texttt{V}\marg{thickness}\footnote{The definition of \texttt{V}
+% definition \texttt{V}\marg{thickness}
+% \footnote{The definition of \texttt{V}
% would have been simplified by utilizing an optional argument for \texttt{I},
% but unfortunately, this approach doesn't function.}.
%
@@ -334,14 +367,12 @@
% Horizontal rules at the beginning and end of the table are accomplished using "\whline",
% while a "\Xhline{0.8pt}" rule is employed after the legend rows.
% The formatting of header rows is achieved using the "\thead" command
-% from the \textsf{makecell} package. By default, \textsf{arraycols} sets:
-% "\renewcommand\theadfont{\footnotesize\sffamily}"
-% (in \textsf{makecell} it is |\footnotesize| only, without "\sffamily").
+% from the \textsf{makecell} package.
% Lastly, following a recommendation of the \textsf{array} package~\cite{ARRAY},
% an additional 1\,pt has been added to the standard height of each row within this table.
% This adjustment is implemented with the command
-% "\setlength{\extrarowheight}{1pt}"\footnote{As stated
-% in the \textsf{array} package documentation:
+% "\setlength{\extrarowheight}{1pt}"
+% \footnote{As stated in the \textsf{array} package documentation:
% \og This is important for tables with horizontal lines because those
% lines normally touch the capital letters\fg.}.
%
@@ -362,8 +393,8 @@
% The \textsf{cellspace} package provides the \texttt{S} modifier
% (we used \texttt{Q} instead), which,
% when placed before a column declaration, allows for the adjustment of cell content height
-% to prevent any overlap with horizontal rules. The spacing between the content and the rules
-% is governed by the parameters
+% to prevent any overlap with horizontal rules. The spacing between the content and the
+% horizontal rules is governed by the parameters
% "\cellspacetoplimit" and "\cellspacebottomlimit".
%
% \begin{macrocode}
@@ -400,32 +431,35 @@
\newcolumntype{V}[1]{!{\vrule width #1}}
\newlength\savedwidth
\newcommand{\whline}{%
- \noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 1pt}
+ \noalign{\global\savedwidth\arrayrulewidth
+ \global\arrayrulewidth 1pt}
\hline
\noalign{\global\arrayrulewidth\savedwidth}
}
-\renewcommand\theadfont{\footnotesize\sffamily}
% \end{macrocode}
%
% \bigskip
-% \begin{thebibliography}{11}
+% \begin{thebibliography}{13}
+% \bibitem{TABUL} \emph{Tabularray -- Typeset Tabulars and Arrays with \LaTeX 3},
+% Jianrui Lyu, CTAN, 2024A 2024/02/16.
% \bibitem{ARRAY} \emph{A new implementation of LATEX’s \textsf{tabular} and \textsf{array}
% environment}, Frank Mittelbach, David Carlisle, CTAN, v2.4k revised 2018/12/30.
% \bibitem{CELLSP} \emph{The \textsf{cellspace} package}, Josselin Noirel, CTAN,
% v1.8.1 2019/03/11.
% \bibitem{TABX} \emph{The \textsf{tabularx} package}, David Carlisle, CTAN, v2.11.b 2016/02/03.
% \bibitem{MKCELL} \emph{The \textsf{makecell} package}, Olga Lapko, CTAN, v0.1e 2009/08/03.
-% \bibitem{TABY} \emph{The \textsf{tabulary} package}, David Carlisle, CTAN, v1.10 2014/06/11.
% \bibitem{TBLSTY} \emph{The \textsf{tablestyles} package}, Matthias Pospiech, CTAN,
% v0.1 2014/06/27.
+% \bibitem{TABY} \emph{The \textsf{tabulary} package}, David Carlisle, CTAN, v1.10 2014/06/11.
% \bibitem{BOOK} \emph{Publication quality tables in \LaTeX}, package \textsf{booktabs} by
% Simon Fear, CTAN, v1.618033 2016/04/29.
% \bibitem{TABLS} \emph{The \textsf{tabls} package}, Donald Arseneau, CTAN, v3.5 2010/02/26.
% \bibitem{STRUT} \emph{The \textsf{multirow}, \textsf{bigstrut}
% and \textsf{bigdelim} packages},
% Piet van Oostrum, Øystein Bache, Jerry Leichter, CTAN, v2.4 2019/01/01.
+% \bibitem{MDWTAB} \emph{The \textsf{mdwtab} package}, Mark Wooding, CTAN, v1.9 1998/04/28.
% \bibitem{SPA} \emph{The \textsf{spacingtricks} package}, Antoine Missier,
-% CTAN, v1.3 2020/11/02.
+% CTAN, v1.8 2023/12/06.
% \bibitem{COMP} \emph{The \LaTeX\ Companion}. Frank Mittelbach, Michel Goossens,
% Johannes Braams, David Carlisle, Chris Rowley, 2nd edition, Pearson Education, 2004.
% \end{thebibliography}
diff --git a/macros/latex/contrib/arraycols/arraycols.ins b/macros/latex/contrib/arraycols/arraycols.ins
index 567b7a7540..66bf4af2f4 100644
--- a/macros/latex/contrib/arraycols/arraycols.ins
+++ b/macros/latex/contrib/arraycols/arraycols.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2019-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%% Copyright (C) 2019-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,7 +21,7 @@
This is a generated file.
-Copyright (C) 2019-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+Copyright (C) 2019-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
diff --git a/macros/latex/contrib/arraycols/arraycols.pdf b/macros/latex/contrib/arraycols/arraycols.pdf
index b42c461d36..d280a956f3 100644
--- a/macros/latex/contrib/arraycols/arraycols.pdf
+++ b/macros/latex/contrib/arraycols/arraycols.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/latvian/README.md b/macros/latex/contrib/babel-contrib/latvian/README.md
index dc9d7d99e9..6edd83b2a0 100644
--- a/macros/latex/contrib/babel-contrib/latvian/README.md
+++ b/macros/latex/contrib/babel-contrib/latvian/README.md
@@ -1,9 +1,15 @@
-## Latvian 2.0b
+## Latvian 2.0c
This is the babel style for Latvian. It bears the version number 2.0
because there were a 1.x, by Andris Lasis. Version 2.0 is heavily
based on the latter.
+### Changes 2.0c
+
+```
+* Fix an incompatibility with titlesec.
+```
+
### Changes 2.0b
```
@@ -17,5 +23,3 @@ based on the latter.
* Modififier t1composite, which redefines some T1 'composite commands'
related to the cedilla.
```
-
-2018-02-19 \ No newline at end of file
diff --git a/macros/latex/contrib/babel-contrib/latvian/latvian.dtx b/macros/latex/contrib/babel-contrib/latvian/latvian.dtx
index 82c44e2980..39555f81c4 100644
--- a/macros/latex/contrib/babel-contrib/latvian/latvian.dtx
+++ b/macros/latex/contrib/babel-contrib/latvian/latvian.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1999 - 2000 Andris Lasis, 2014-2018 Javier Bezos and any
+% Copyright 1999 - 2000 Andris Lasis, 2014-2024 Javier Bezos and any
% individual authors listed elsewhere in this file. All rights
% reserved.
%
@@ -37,8 +37,8 @@
%</dtx>
%<code>\ProvidesLanguage{latvian}
% \fi
-% \ProvidesLanguage{latvian}
- [2018/02/19 v2.0b Latvian support from the babel system]
+% \ProvidesFile{latvian}
+ [2024/04/27 v2.0c Latvian support from the babel system]
% \iffalse
%<*filedriver>
\documentclass{ltxdoc}
@@ -58,7 +58,7 @@
% \section{The Latvian Language}
%
% The file \textsf{latvian.ldf}\footnote{The file described in this
-% section has version number 2.0a and was last revised on 2018/02/19.}
+% section has version number 2.0c and was last revised on 2024/04/27.}
% defines the language definition macros for the Latvian language. It
% is heavily based on the work by Andris Lasis, and this file just
% cleans the code up and adapts it to babel 3.9.
@@ -192,11 +192,13 @@
%
% \begin{macrocode}
\gdef\the@chapter{%
- \ifx\chapter\undefined\relax\else
- \ifnum\c@chapter>\z@\thechapter\fi\fi}
+ \ifx\c@chapter\@undefined\else
+ \ifnum\c@chapter>\z@\thechapter\fi
+ \fi}
\def\thechapter{%
- \ifx\chapter\undefined\relax\else
- \arabic{chapter}.\fi}
+ \ifx\c@chapter\@undefined\else
+ \arabic{chapter}.%
+ \fi}
\def\thesection{\the@chapter\arabic{section}.}
\def\thesubsection{\thesection\arabic{subsection}.}
\def\thesubsubsection{\thesubsection\arabic{subsubsection}.}
diff --git a/macros/latex/contrib/babel-contrib/latvian/latvian.pdf b/macros/latex/contrib/babel-contrib/latvian/latvian.pdf
index fce2fa1395..2897bcc5a7 100644
--- a/macros/latex/contrib/babel-contrib/latvian/latvian.pdf
+++ b/macros/latex/contrib/babel-contrib/latvian/latvian.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/welsh/README b/macros/latex/contrib/babel-contrib/welsh/README.md
index 65ac842dc9..4f975962cb 100644
--- a/macros/latex/contrib/babel-contrib/welsh/README
+++ b/macros/latex/contrib/babel-contrib/welsh/README.md
@@ -1,12 +1,13 @@
-Welsh 1.1a
+## Welsh 1.1b
------------
This is the babel style for Welsh.
-Changes 1.1
------------
+## Changes 1.1b
+
+* Removed extra space in \ccname in TU strings.
+
+## Changes 1.1a
+
* Date fixed
* UTF-8 encoded strings for XeTeX and LuaTeX
-
-----------
-2015-09-03 \ No newline at end of file
diff --git a/macros/latex/contrib/babel-contrib/welsh/welsh.dtx b/macros/latex/contrib/babel-contrib/welsh/welsh.dtx
index d39ced6622..9e59856b2b 100644
--- a/macros/latex/contrib/babel-contrib/welsh/welsh.dtx
+++ b/macros/latex/contrib/babel-contrib/welsh/welsh.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1989-2015 Johannes L. Braams, Javier Bezos and any
+% Copyright 1989-2024 Johannes L. Braams, Javier Bezos and any
% individual authors listed elsewhere in this file. All rights
% reserved.
%
@@ -38,16 +38,13 @@
%<code>\ProvidesLanguage{welsh}
%\fi
%\ProvidesFile{welsh.dtx}
- [2015/09/03 v1.1a Welsh support from the babel system]
+ [2024/04/27 v1.1b Welsh support from the babel system]
%\iffalse
%% File `welsh.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 -- 2015
+%% Copyright (C) 1989 -- 2024
%% by Johannes Braams, TeXniek
% by Javier Bezos
-%
-% This file is part of the babel system, it provides the source
-% code for the Welsh language definition file.
%<*filedriver>
\documentclass{ltxdoc}
\newcommand*{\TeXhax}{\TeX hax}
@@ -126,11 +123,12 @@
% of \cs{today}}
% \changes{welsh-1.1a}{2015/09/03}{Strings are defined in the 3.9 way.
% Also Unicode strings}
+% \changes{welsh-1.1b}{2024/04/27}{Remove extra space in \cs{ccname}}
% \begin{macrocode}
\StartBabelCommands*{welsh}{captions}
[unicode, charset=utf8, fontenc=EU1 EU2]
\SetString{\enclname}{amgaeëdig}
- \SetString{\ccname}{copï au}
+ \SetString{\ccname}{copïau}
% \end{macrocode}
%
% And now, the generic branch, using the LICR and assuming T1.
diff --git a/macros/latex/contrib/babel-contrib/welsh/welsh.pdf b/macros/latex/contrib/babel-contrib/welsh/welsh.pdf
index fcac31cc60..6c8a9fc97c 100644
--- a/macros/latex/contrib/babel-contrib/welsh/welsh.pdf
+++ b/macros/latex/contrib/babel-contrib/welsh/welsh.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/DEPENDS.txt b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/DEPENDS.txt
new file mode 100644
index 0000000000..c8cacfa6a5
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/DEPENDS.txt
@@ -0,0 +1,2 @@
+hard beamer
+hard tools
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/README.md
index 3d8f35fb39..c5c10200dd 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/README.md
@@ -1,9 +1,34 @@
# beamertheme-rainbow
-A beamer colour theme which alternates theme colours on every frame
+[![GitHub](https://img.shields.io/github/license/samcarter/beamertheme-rainbow.svg?color=blue)](http://www.latex-project.org/lppl.txt)
+[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/samcarter/beamertheme-rainbow.svg?label=current%20version)](https://github.com/samcarter/beamertheme-rainbow/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/beamertheme-rainbow.svg)](https://ctan.org/pkg/beamertheme-rainbow)
-Current version: 2023/07/04 version v0.1
+A beamer colour theme which alternates theme colours on every frame.
-This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt .
-The project repository, including a bug tracker, can be found at https://github.com/samcarter/beamertheme-rainbow/issues
+The project repository, including a bug tracker, can be found at https://github.com/samcarter/beamertheme-rainbow/issues .
+
+### Usage
+
+```latex
+\documentclass{beamer}
+
+\usetheme{Berkeley}
+\usecolortheme{rainbow}
+
+\begin{document}
+
+\begin{frame}
+content...
+\end{frame}
+
+\begin{frame}
+content...
+\end{frame}
+
+\end{document}
+```
+
+For more details, please consult the [package documentation](https://github.com/samcarter/beamertheme-rainbow/blob/main/DOCUMENTATION.pdf).
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamercolorthemerainbow.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamercolorthemerainbow.sty
index 94e9a0f10c..f4f9a162ee 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamercolorthemerainbow.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamercolorthemerainbow.sty
@@ -12,7 +12,7 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{beamercolorthemerainbow}[2023/07/04 version v0.1 Beamer colour theme with alternating theme colours]
+\ProvidesPackage{beamercolorthemerainbow}[2024/04/28 version v0.2 Beamer colour theme with alternating theme colours]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty
new file mode 100644
index 0000000000..777cedba6e
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty
@@ -0,0 +1,199 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{iexec}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=$TMPDIR/minted/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.pdf b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.pdf
index beb9295d5f..78442b5a99 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.pdf
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.tex b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.tex
index 14f84a1b1a..e5819e54b9 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-rainbow/beamertheme-rainbow-doc.tex
@@ -1,5 +1,3 @@
-% !TeX TS-program = latexmk -time -pdf -pdflatex="pdflatex -synctex=1 -interaction=nonstopmode -shell-escape %%O %%S" % | txs:///view-log | txs:///view-pdf
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Documentation for the rainbow colour theme
@@ -13,82 +11,81 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[parskip=half]{scrartcl}
-
-% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[english]{babel}
-\let\hrulefillx\hrulefill
-\usepackage[bitstream-charter]{mathdesign}
-\let\hrulefill\hrulefillx
-\usepackage[most]{tcolorbox}
-\usepackage[paper=a4paper,hmargin=2.9cm,vmargin=2.5cm]{geometry}
-\usepackage{scrlayer-scrpage}
-\usepackage{gradient-text}
-\usepackage[colorlinks=true,breaklinks=true,urlcolor=blendedblue,linkcolor=blendedblue,citecolor=blendedblue,filecolor=blendedblue]{hyperref}
+% !TeX program = txs:///arara
+% arara: latexmk: {
+% arara: --> engine: pdflatex,
+% arara: --> options: [
+% arara: --> '-shell-escape',
+% arara: --> '-synctex=1',
+% arara: --> '-interaction=nonstopmode',
+% arara: --> ]
+% arara: --> }
+\documentclass{scrartcl}
-% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{blendedblue}{rgb}{0.2,0.2,0.7}
-\addtokomafont{sectioning}{\color{blendedblue}}
-\addtokomafont{date}{\normalsize}
-\addtokomafont{author}{\normalsize}
-\renewcommand*\dictumwidth{0.35\linewidth}
-\renewcommand*{\dictumrule}{\vskip1ex}
-\renewcommand*{\dictumauthorformat}[1]{#1}
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{\texorpdfstring{\gradient{HSB}{The rainbow beamer colour theme}{0,240,200}{240,240,200}}{The rainbow beamer colour theme}}
+\subtitle{A beamer colour theme which alternates theme colours on every frame}
+\author{%
+ \texorpdfstring{
+ \texttt{samcarter}\\
+ \url{https://github.com/samcarter/beamertheme-rainbow}\\
+ \url{https://www.ctan.org/pkg/beamertheme-rainbow}
+ }{samcarter}}
+\date{Version v0.2 \textendash{} 2024/04/28}
-\lstdefinestyle{tcolorboxstyle}{%
- language={[latex]TeX},
- tabsize=2,
- breaklines,
- basicstyle=\ttfamily,
- columns=fullflexible,
-}
+\usepackage[
+ themecolor=samlila
+]{\jobname-settings}
+
+\colorlet{orange}{samorange}
-\tcbset{%
- toptitle=1mm,
- left=2mm,
- title={Example},
- fonttitle=\large\sffamily,
- colbacktitle=blendedblue!75!black,
- colframe=blendedblue!75!black,
- colback=blendedblue!75!black!10!white,
- boxrule=0cm,
- frame hidden,
- arc=1.3mm,
- arc=2mm,
- sidebyside,
- listing options={style=tcolorboxstyle},
- bottom=0pt,
- top=0pt,
- lower separated=false,
- comment style={scale=2},
- enhanced,
- drop fuzzy shadow=black!90,
- title code app={
- \shade[top color=blendedblue!75!black,bottom color=blendedblue!75!black!10!white] (title.south west) rectangle ([yshift=-1mm]title.south east);
- }
+% rainbow text (based on the gradient-text package) %%%%%%%%%%%%%%%%%
+\makeatletter
+\ExplSyntaxOn
+\clist_new:N\l_gtext_First_clist
+\clist_new:N\l_gtext_Last_clist
+\int_new:N\l_gtext_MaxIndex_int
+\int_new:N\l_gtext_Ratio_int
+\newcommand{\gr@dient}[8]{
+ \int_set:Nn\l_gtext_MaxIndex_int{\int_eval:n{\str_count:n{#1}}}
+ \int_step_inline:nnn{1}{\l_gtext_MaxIndex_int}{
+ \exp_args:Ne\str_if_eq:nnTF{\str_item:Nn{#1}{##1}}{~}{}{
+ \int_set:Nn\l_gtext_Ratio_int{\int_eval:n{\l_gtext_Ratio_int+1}}
+ }
+ \color_select:nn{#8}{
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#5+(\l_gtext_MaxIndex_int-##1)*#2)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#6+(\l_gtext_MaxIndex_int-##1)*#3)/\l_gtext_MaxIndex_int},
+ \int_eval:n{(\int_use:N\l_gtext_Ratio_int*#7+(\l_gtext_MaxIndex_int-##1)*#4)/\l_gtext_MaxIndex_int}
+ }\str_item:Nn{#1}{##1}
+ }
}
-\lstset{style=tcolorboxstyle}
+\NewDocumentCommand\gradient{mmmm}{{
+ \clist_set:Nn\l_gtext_First_clist {#3}
+ \clist_set:Nn\l_gtext_Last_clist {#4}
+ \gr@dient{#2}
+ {\clist_item:Nn\l_gtext_First_clist{1}}
+ {\clist_item:Nn\l_gtext_First_clist{2}}
+ {\clist_item:Nn\l_gtext_First_clist{3}}
+ {\clist_item:Nn\l_gtext_Last_clist{1}}
+ {\clist_item:Nn\l_gtext_Last_clist{2}}
+ {\clist_item:Nn\l_gtext_Last_clist{3}}
+ {#1}
+}}
+\ExplSyntaxOff
+\makeatother
-\newcommand{\prefix}{./build}
+% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\renewcommand*\dictumwidth{0.35\linewidth}
+\renewcommand*{\dictumrule}{\vskip1ex}
+\renewcommand*{\dictumauthorformat}[1]{#1}
+
+\newcommand{\prefix}{./include}
\tcbset{
compilable listing/.style={listing file={\prefix/\jobname-listing-\thetcblistingcount.tex}},
run pdflatex/.style={run@system@command={cd\space \prefix;\space pdflatex}{\jobname-listing-\thetcblistingcount.tex}},%
}
-% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{\texorpdfstring{\gradientRGB{The rainbow beamer colour theme}{255,128,51}{51,51,255}}{The rainbow beamer coloir theme}}
-\subtitle{A beamer colour theme which alternates theme colours on every frame}
-\author{%
- \texorpdfstring{
- \texttt{samcarter}\\
- \url{https://github.com/samcarter/beamertheme-rainbow}\\
-% \url{https://www.ctan.org/pkg/beamertheme-rainbow}
- }{samcarter}}
-\date{Version v0.1 \textendash{} 2023/07/04}
-
\begin{document}
\maketitle
@@ -97,29 +94,28 @@
\section{Introduction}
\label{intro}
-The rainbow beamer colour theme will bring more colours to your presentation. It works similarly to the structure beamer colour theme, but instead of having just one theme colour throughout the whole presentation, the rainbow beamer colour theme will cycle through a list of colors and change the theme colour on every frame.
+The rainbow beamer colour theme will bring more colours to your presentation. It works similarly to the structure beamer colour theme, but instead of having just one theme colour throughout the whole presentation, the rainbow beamer colour theme will cycle through a list of colors and change the theme colour on every frame.
By default, it will cycle through colours of the rainbow (hence the name), but a custom set of colours is also possible.
-%The package is included in \TeX{}Live and MiK\TeX\ and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/beamertheme-tcolorbox}).
+The package is included in \TeX{}Live and MiK\TeX\ and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/beamertheme-tcolorbox}).
The development version of this package is located at \url{https://github.com/samcarter/beamertheme-rainbow}. If you have any problems, ideas or other feedback, please make constructive use of the issue tracker.
Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright} \texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}.
\section{Usage}
-The basic usage is fairly simple. After choosing a beamer theme, one can load the rainbow beamer colour theme via
-\begin{tcolorbox}[title={}]
-\begin{lstlisting}
+The basic usage is fairly simple. After choosing a beamer theme, one can load the rainbow beamer colour theme via
+\begin{tcolorbox}[title={Usage}]
+\begin{samcode}
\usecolortheme{rainbow}
-\end{lstlisting}
+\end{samcode}
\end{tcolorbox}
-This will work with most of the themes which are provided by the beamer class as well some third party themes. Notable exceptions are the \lstinline|AnnArbor| and \lstinline|CambridgeUS| themes.
-
-\newpage
+This will work with most of the themes which are provided by the beamer class as well some third party themes. Notable exceptions are the \saminline|AnnArbor| and \saminline|CambridgeUS| themes.
This basic usage will colour frames in alternating rainbow colours:
+\nopagebreak
\begin{tcblisting}{
listing and comment,
pdf comment,
@@ -129,7 +125,7 @@ This basic usage will colour frames in alternating rainbow colours:
comment={
\begin{tikzpicture}
\foreach \i in {1,...,6}{%
- \node at (0.4*\i,-0.7*\i) {\includegraphics[page=\i,width=4cm]{beamertheme-rainbow-doc-listing-1.pdf}};
+ \node at (0.35*\i,-0.7*\i) {\includegraphics[page=\i,width=3.7cm]{beamertheme-rainbow-doc-listing-1.pdf}};
}
\end{tikzpicture}
},
@@ -150,7 +146,7 @@ This basic usage will colour frames in alternating rainbow colours:
\end{document}
\end{tcblisting}
-As pretty as rainbow colours are, there might be some users who would like to choose their own colours. This can be done with the \lstinline|colors={...}| option which accepts a comma separated list of colours. The colours can be predefined colours e.g. from the \lstinline|xcolor| package, user-defined colours or (for more fun) from the \lstinline|xkcdcolors| package.
+As pretty as rainbow colours are, there might be some users who would like to choose their own colours. This can be done with the \saminline|colors={...}| option which accepts a comma separated list of colours. The colours can be predefined colours e.g. from the \saminline|xcolor| package, user-defined colours or (for more fun) from the \saminline|xkcdcolors| package.
\begin{tcblisting}{
listing and comment,
@@ -161,7 +157,7 @@ As pretty as rainbow colours are, there might be some users who would like to ch
comment={
\begin{tikzpicture}
\foreach \i in {1,...,6}{%
- \node at (0.4*\i,-0.7*\i) {\includegraphics[page=\i,width=4cm]{beamertheme-rainbow-doc-listing-2.pdf}};
+ \node at (0.35*\i,-0.7*\i) {\includegraphics[page=\i,width=3.7cm]{beamertheme-rainbow-doc-listing-2.pdf}};
}
\end{tikzpicture}
},
@@ -172,12 +168,12 @@ As pretty as rainbow colours are, there might be some users who would like to ch
\usetheme{Copenhagen}
\usepackage{xkcdcolors}
\definecolor{mycolor}
- {RGB}{127,0,127}
+ {RGB}{101,67,159}
\usecolortheme[
colors={
orange,
mycolor,
- xkcdVibrantBlue
+ xkcdMediumBlue
}
]{rainbow}
@@ -185,9 +181,11 @@ As pretty as rainbow colours are, there might be some users who would like to ch
% just for this test example
\ExplSyntaxOn
-\prg_replicate:nn{6}{\frame{\frametitle{title}}}
+\prg_replicate:nn{6}{
+ \frame{\frametitle{title}}
+}
\ExplSyntaxOff
-
+
\end{document}
\end{tcblisting}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/DEPENDS.txt b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/DEPENDS.txt
new file mode 100644
index 0000000000..09e806e193
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/DEPENDS.txt
@@ -0,0 +1,4 @@
+hard beamer
+hard tools
+hard tcolorbox
+hard tikzfill
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md
index 91f07c7663..b8501189d6 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md
@@ -1,9 +1,32 @@
# beamertheme-tcolorbox
-A beamer inner theme which reproduces standard beamer blocks using tcolorboxes
+[![GitHub](https://img.shields.io/github/license/samcarter/beamertheme-tcolorbox.svg?color=blue)](http://www.latex-project.org/lppl.txt)
+[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/samcarter/beamertheme-tcolorbox.svg?label=current%20version)](https://github.com/samcarter/beamertheme-tcolorbox/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/beamertheme-tcolorbox.svg)](https://ctan.org/pkg/beamertheme-tcolorbox)
-Current version: 2023/05/03 version v0.6
+A beamer inner theme which reproduces standard beamer blocks using tcolorboxes.
-This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt .
-The project repository, including a bug tracker, can be found at https://github.com/samcarter/beamertheme-tcolorbox/issues
+The project repository, including a bug tracker, can be found at https://github.com/samcarter/beamertheme-tcolorbox .
+
+### Usage
+
+```latex
+\documentclass{beamer}
+
+\usecolortheme{orchid}
+\useinnertheme{tcolorbox}
+
+\begin{document}
+
+\begin{frame}
+ \begin{block}{Title}
+ Content
+ \end{block}
+\end{frame}
+
+\end{document}
+```
+
+For more details, please consult the [package documentation](https://github.com/samcarter/beamertheme-tcolorbox/blob/main/DOCUMENTATION.pdf).
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
index 770a00d0b5..9469f0591e 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
@@ -12,7 +12,7 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{beamerinnerthemetcolorbox}[2023/05/03 version v0.6 Beamer blocks with tcolorboxes]
+\ProvidesPackage{beamerinnerthemetcolorbox}[2024/04/29 version v0.7 Beamer blocks with tcolorboxes]
\RequirePackage{tcolorbox}
\tcbuselibrary{skins,hooks}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc-settings.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc-settings.sty
new file mode 100644
index 0000000000..777cedba6e
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc-settings.sty
@@ -0,0 +1,199 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{iexec}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=$TMPDIR/minted/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdf b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdf
index db3b354834..fe64e72639 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdf
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex
index 8bd7fc2fa4..c17e7fc17e 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex
@@ -1,5 +1,3 @@
-% !TeX TS-program = latexmk -time -pdf -pdflatex="pdflatex -synctex=1 -interaction=nonstopmode -shell-escape %%O %%S" % | txs:///view-log | txs:///view-pdf
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Documentation for the tcolorbox inner theme
@@ -13,80 +11,37 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[parskip=half]{scrartcl}
-
-% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[english]{babel}
-\usepackage[bitstream-charter]{mathdesign}
-\usepackage[most]{tcolorbox}
-\usepackage[paper=a4paper,hmargin=2.9cm,vmargin=2.5cm]{geometry}
-\usepackage{scrlayer-scrpage}
-\usepackage[colorlinks=true,breaklinks=true,urlcolor=blendedblue,linkcolor=blendedblue,citecolor=blendedblue,filecolor=blendedblue]{hyperref}
-
-% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{blendedblue}{rgb}{0.2,0.2,0.7}
-\addtokomafont{sectioning}{\color{blendedblue}}
-\addtokomafont{date}{\normalsize}
-\addtokomafont{author}{\normalsize}
-
-\lstdefinestyle{tcolorboxstyle}{%
- language={[latex]TeX},
- tabsize=2,
- breaklines,
- basicstyle=\ttfamily,
- columns=fullflexible,
-% texcsstyle=*\color{blendedblue}\bfseries,
-% moretexcs={usetheme,useinnertheme},
-}
-
-\tcbset{%
- toptitle=1mm,
- left=2mm,
- title={Example},
- fonttitle=\large\sffamily,
- colbacktitle=blendedblue!75!black,
- colframe=blendedblue!75!black,
- colback=blendedblue!75!black!10!white,
- boxrule=0cm,
- frame hidden,
- arc=1.3mm,
- arc=2mm,
- sidebyside,
- listing options={style=tcolorboxstyle},
- bottom=0pt,
- top=0pt,
- lower separated=false,
- comment style={scale=2},
- enhanced,
- drop fuzzy shadow=black!90,
- title code app={
- \shade[top color=blendedblue!75!black,bottom color=blendedblue!75!black!10!white] (title.south west) rectangle ([yshift=-1mm]title.south east);
- }
-}
+% !TeX program = txs:///arara
+% arara: latexmk: {
+% arara: --> engine: pdflatex,
+% arara: --> options: [
+% arara: --> '-shell-escape',
+% arara: --> '-synctex=1',
+% arara: --> '-interaction=nonstopmode',
+% arara: --> ]
+% arara: --> }
+\documentclass{scrartcl}
-\lstset{style=tcolorboxstyle}
-
-%\makeatletter
-\newcommand{\prefix}{./build}
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{The tcolorbox beamer inner theme}
+\subtitle{A beamer inner theme to replicate standard beamer blocks with tcolorboxes}
+\author{%
+ \texorpdfstring{
+ \texttt{samcarter}\\
+ \url{https://github.com/samcarter/beamertheme-tcolorbox}\\
+ \url{https://www.ctan.org/pkg/beamertheme-tcolorbox}
+ }{samcarter}}
+\date{Version v0.7 \textendash{} 2024/04/29}
+
+\usepackage[
+ themecolor=samteal
+]{\jobname-settings}
+
+\newcommand{\prefix}{./include}
\tcbset{
compilable listing/.style={listing file={\prefix/\jobname-listing-\thetcblistingcount.tex}},
run pdflatex/.style={run@system@command={cd\space \prefix;\space pdflatex}{\jobname-listing-\thetcblistingcount.tex}},%
}
-%\makeatother
-
-
-% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{The tcolorbox beamer inner theme}
-\subtitle{A beamer inner theme to reproduce standard beamer blocks using tcolorboxes}
-\author{%
- \texorpdfstring{
- \texttt{samcarter}\\
- \url{https://github.com/samcarter/beamertheme-tcolorbox}\\
- \url{https://www.ctan.org/pkg/beamertheme-tcolorbox}
- }{samcarter}}
-\date{Version v0.6 \textendash{} 2023/05/03}
\begin{document}
\maketitle
@@ -94,77 +49,81 @@
\section{Introduction}
\label{intro}
-Over the last decade of answering beamer problems and more recently also being one of the maintainers of the beamer class, I saw countless of requests about beamer blocks. There were users who were looking for sometimes smaller, sometimes larger tweaks to the blocks in their document, for example "How to use the rectangular blocks with sharp corners, but with the shadows from the rounded beamer blocks". Other users encountered various tiny or something bigger problems with the default beamer blocks, like issues with some pdf viewers in which the seams of the underlying colorboxes would become visible.
+Over the last decade of answering beamer problems and more recently also being one of the maintainers of the beamer class, I saw countless of requests about beamer blocks. There were users who were looking for sometimes smaller, sometimes larger tweaks to the blocks in their document, for example "How to use the rectangular blocks with sharp corners, but with the shadows from the rounded beamer blocks". Other users encountered various tiny or something bigger problems with the default beamer blocks, like issues with some pdf viewers in which the seams of the underlying colorboxes would become visible.
For all these cases, there is now an alternative to the default beamer blocks: The tcolorbox inner beamer theme will replace the usual beamer mechanism to draw blocks with tcolorboxes. The tcolorboxes will automatically adopt the look and feel (round vs.\ sharp corners and shadows) as well as the colours of the normal beamer blocks.
-The package is included in \TeX{}Live and MiK\TeX\ and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/beamertheme-tcolorbox}).
+The package is included in \TeX{}Live and MiK\TeX\ and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/beamertheme-tcolorbox}).
The development version of this package is located at \url{https://github.com/samcarter/beamertheme-tcolorbox}. If you have any problems, ideas or other feedback, please make constructive use of the issue tracker.
Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright} \texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}.
\section{Usage}
-The basic usage is fairly simple. One just needs to load the theme via
-\begin{tcolorbox}[title={}]
-\begin{lstlisting}
+The basic usage is fairly simple. One just needs to load the theme via
+\begin{tcolorbox}[lower separated=false,title={Usage}]
+\begin{samcode}
\useinnertheme{tcolorbox}
-\end{lstlisting}
+\end{samcode}
\end{tcolorbox}
-and after that, one can use the normal beamer \lstinline|block| environment as usual.
+and after that, one can use the normal beamer \saminline|block| environment as usual.
-Behind the scenes, this will replace the default mechanism of puzzling together the block from two separate \lstinline|beamercolorboxes|, with one tcolorbox.
+Behind the scenes, this will replace the default mechanism of puzzling together the block from two separate \saminline|beamercolorboxes|, with one tcolorbox.
In this simple configuration, the look and feel of the new blocks will be taken from other themes loaded in the presentation. For example if the Madrid theme is loaded, the resulting tcolorbox will have the usual colours, rounded corners and a shadow:
\begin{tcblisting}{
+ title={Example},
listing and comment,
pdf comment,
freeze pdf,
compilable listing,
run pdflatex,
+ comment style={scale=2}
}
\documentclass{beamer}
\usetheme{Madrid}
\useinnertheme{tcolorbox}
\begin{document}
\begin{frame}
-\begin{block}{Title}
- Body
-\end{block}
-\begin{alertblock}{Title}
- Body
-\end{alertblock}
-\begin{exampleblock}{Title}
- Body
-\end{exampleblock}
+ \begin{block}{Title}
+ Body
+ \end{block}
+ \begin{alertblock}{Title}
+ Body
+ \end{alertblock}
+ \begin{exampleblock}{Title}
+ Body
+ \end{exampleblock}
\end{frame}
\end{document}
\end{tcblisting}
-Additional settings done by user, like e.g. \lstinline|\setbeamertemplate{blocks}[rounded]|, won't be taken into account and the \lstinline|tcolorbox| inner theme should be loaded after such modifications.
+Additional settings done by user, like e.g. \saminline|\setbeamertemplate{blocks}[rounded]|, won't be taken into account and the \saminline|tcolorbox| inner theme should be loaded after such modifications.
\section{Options}
In addition to automatically adopting settings from other themes, one can also explicitly influence the look and feel via these options:
\begin{description}
-\item[blocks] controls if tcolorboxes should be used for beamer blocks (default: \lstinline|true|)
-\item[inmargin] controls if the block titles are placed in the left sidebar instead of the top of the block, e.g. for themes like \lstinline|Bergen| (default: \lstinline|false|, but set to \lstinline|true| if the \lstinline|inmargin| inner theme is detected)
-\item[rounded] controls if corners are rounded or sharp (default: \lstinline|false|, but set to \lstinline|true| if the \lstinline|rounded| inner theme is detected)
-\item[shaded] controls if there is a short colour gradient between the title and the body (default: \lstinline|false|, but set to \lstinline|true| if the block corners are rounded)
-\item[shadow] controls if the block has a shadow (default: \lstinline|false|, but set to \lstinline|true| if the \lstinline|shadow| outer theme is detected)
-\item[showtitle] controls if a small coloured stripe is shown for blocks with empty title (default: \lstinline|true|, but set to \lstinline|false| if the block has rounded corners)
-\item[titlepage] controls if tcolorboxes should be used for the title page, section page etc. (default: \lstinline|true|)
+\item[blocks] controls if tcolorboxes should be used for beamer blocks (default: \saminline|true|)
+\item[inmargin] controls if the block titles are placed in the left sidebar instead of the top of the block, e.g. for themes like \saminline|Bergen| (default: \saminline|false|, but set to \saminline|true| if the \saminline|inmargin| inner theme is detected)
+\item[rounded] controls if corners are rounded or sharp (default: \saminline|false|, but set to \saminline|true| if the \saminline|rounded| inner theme is detected)
+\item[shaded] controls if there is a short colour gradient between the title and the body (default: \saminline|false|, but set to \saminline|true| if the block corners are rounded)
+\item[shadow] controls if the block has a shadow (default: \saminline|false|, but set to \saminline|true| if the \saminline|shadow| outer theme is detected)
+\item[showtitle] controls if a small coloured stripe is shown for blocks with empty title (default: \saminline|true|, but set to \saminline|false| if the block has rounded corners)
+\item[titlepage] controls if tcolorboxes should be used for the title page, section page etc. (default: \saminline|true|)
\end{description}
-These options can be set to \lstinline|true| or \lstinline|false| (calling either option without explicit \lstinline|true| or \lstinline|false| will set it to \lstinline|true|).
+These options can be set to \saminline|true| or \saminline|false| (calling either option without explicit \saminline|true| or \saminline|false| will set it to \saminline|true|).
-If one for example likes the Antibes theme, but prefers the blocks to have shadows, they can now easily be added: \nopagebreak
+If one, for example, likes the Antibes theme, but prefers the blocks to have shadows, they can now easily be added: \nopagebreak
\begin{tcblisting}{
+ title={Example},
listing and comment,
pdf comment,
freeze pdf,
compilable listing,
run pdflatex,
+ comment style={scale=2}
}
\documentclass{beamer}
\usetheme{Antibes}
@@ -173,46 +132,47 @@ If one for example likes the Antibes theme, but prefers the blocks to have shado
]{tcolorbox}
\begin{document}
\begin{frame}
-\begin{block}{Title}
- Body
-\end{block}
-\begin{alertblock}{Title}
- Body
-\end{alertblock}
-\begin{exampleblock}{Title}
- Body
-\end{exampleblock}
+ \begin{block}{Title}
+ Body
+ \end{block}
+ \begin{alertblock}{Title}
+ Body
+ \end{alertblock}
+ \begin{exampleblock}{Title}
+ Body
+ \end{exampleblock}
\end{frame}
\end{document}
\end{tcblisting}
-Beyond these two options, the users also has the myriads of options of the tcolobox package to their disposal, e.g.\ via \lstinline|\tcbset{...}| or \lstinline|\tcbsetforeverylayer{...}|:
+Beyond these two options, the users also has the myriads of options of the tcolobox package to their disposal, e.g.\ via \saminline|\tcbset{...}| or \saminline|\tcbsetforeverylayer{...}|:
\begin{tcblisting}{
+ title={Example},
listing and comment,
pdf comment,
freeze pdf,
compilable listing,
run pdflatex,
+ comment style={scale=2}
}
\documentclass{beamer}
\usetheme{Ilmenau}
\useinnertheme{tcolorbox}
\tcbsetforeverylayer{
- borderline={1pt}{0pt}{
- black,dashed}
+ borderline={1pt}{0pt}{black,dashed}
}
\begin{document}
\begin{frame}
-\begin{block}{Title}
- Body
-\end{block}
-\begin{alertblock}{Title}
- Body
-\end{alertblock}
-\begin{exampleblock}{Title}
- Body
-\end{exampleblock}
+ \begin{block}{Title}
+ Body
+ \end{block}
+ \begin{alertblock}{Title}
+ Body
+ \end{alertblock}
+ \begin{exampleblock}{Title}
+ Body
+ \end{exampleblock}
\end{frame}
\end{document}
\end{tcblisting}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
index 10c4d180a9..3cebed7b7b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
@@ -46,6 +46,9 @@ instructions.
== CHANGES ==
+* V. 2.9 (2025-05-09):
+ - Add bibchecks to exclude (specific kinds of) unpublished work.
+
* V. 2.8 (2024-03-08):
- Fix delimiter with plauthor second in a truncated author list (#50).
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
index 2fd5c90dbe..fb8333ecf7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
index 19b80cb4f2..aa64fc9861 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
@@ -115,7 +115,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 2.8, 2024/03/08}
+\date{Version 2.9, 2025/05/09}
\maketitle
\begin{abstract}
@@ -862,6 +862,28 @@ entries of diverse type and authors, specify:
Note that this method sometimes requires several reruns of \texttt{latex}
to fix the numbering.
+Sometimes you might also want to omit some publications from the list which are not yet
+published or not yet accepted (e.g., because they are under blind review and you do not
+want to reveal your identity yet). To this end, \bpl\ features some \joption{bibchecks}
+(for the concept, please refer to \cite[sec.~3.8.2]{bibltx}). Bibchecks can be activated
+by passing \joption{check=<bibcheck>} to the optional argument of \jfcsmacro{printbibliography}.
+
+The following bibchecks are available:
+\begin{itemize}
+ \item \joption{nosubmitted}: omits all entries with pubstate \joption{submitted}.
+ \item \joption{noprepared}: omits all entries with pubstate \joption{inpreparation}.
+ \item \joption{onlypublished}: omits all unpublished entries (i.e., entries that have
+ a pubstate) with the exception of \joption{prepublished} entries.
+ \item \joption{onlyaccepted}: omits all unpublished entries (i.e., entries that have
+ a pubstate) with the exception of \joption{prepublished} and \joption{forthcoming}
+ (and thus accepted) entries.
+\end{itemize}
+%
+Several of these bibchecks might be used in a row, e.g.:
+\begin{lstlisting}[moretexcs={[1]{printbibliography}}]
+\printbibliography[heading=none,filter=mine,check=nosubmitted,check=noprepared]
+\end{lstlisting}
+
\section{Sorting\label{sec:sorting}}
@@ -942,6 +964,11 @@ until further change).
\section{Revision Log}
\begin{description}
+ \item [{V. 2.9 (2025/05/09):}]~
+ \begin{itemize}
+ \item Add bibchecks to exclude (specific kinds of) unpublished work
+ (see sec.~\ref{sec:filtering}).
+ \end{itemize}
\item [{V. 2.8 (2024/03/08):}]~
\begin{itemize}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
index 7e955db150..c7d385b452 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.8}
-\def\bpl@rdate{2024/03/08}
+\def\bpl@version{2.9}
+\def\bpl@rdate{2025/05/09}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -1105,6 +1105,43 @@
\defbibfilter{mine}{category=filtered}
+%
+% bibchecks
+%
+% check to exclude submitted work (which is under review)
+% from publist
+\defbibcheck{nosubmitted}{%
+ \edef\tmpps{\bibstring{submitted}}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+}
+
+% check to exclude work in preparation
+% from publist
+\defbibcheck{noprepared}{%
+ \edef\tmpps{\bibstring{inpreparation}}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+}
+
+% check to exclude all work which is not (pre-)published
+\defbibcheck{onlypublished}{%
+ \iffieldundef{pubstate}{}{%
+ \edef\tmpps{\bibstring{prepublished}}%
+ \iffieldequals{pubstate}{\tmpps}{}{\skipentry}%
+ }%
+}
+
+% check to exclude all work which is not accepted or published
+\defbibcheck{onlyaccepted}{%
+ \iffieldundef{pubstate}{}{%
+ \edef\tmpps{\bibstring{prepublished}}%
+ \edef\tmppss{\bibstring{forthcoming}}%
+ \iffieldequals{pubstate}{\tmpps}{}{%
+ \iffieldequals{pubstate}{\tmppss}{}{%
+ \skipentry}%
+ }%
+ }%
+}
+
%
% Count non-plauthors
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
index d1b46b1ab9..bfc159a131 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
@@ -26,8 +26,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.8}
-\def\bpl@rdate{2024/03/08}
+\def\bpl@version{2.9}
+\def\bpl@rdate{2025/05/09}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
index 87aebdbf2b..d43f60a465 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
@@ -1,5 +1,5 @@
% publist.dbx, biblatex data model specification for the biblatex-publist
-% package, version 2.8 (2024/03/08).
+% package, version 2.9 (2025/05/09).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/colorblind/ChangeLog b/macros/latex/contrib/colorblind/ChangeLog
new file mode 100644
index 0000000000..a864cd215e
--- /dev/null
+++ b/macros/latex/contrib/colorblind/ChangeLog
@@ -0,0 +1,7 @@
+Package `colorblind` by Simon Pfahler
+https://github.com/simon-pfahler/colorblind
+
+History
+=======
+2024/05/12 v1.0
+* First published release.
diff --git a/macros/latex/contrib/colorblind/README.md b/macros/latex/contrib/colorblind/README.md
new file mode 100644
index 0000000000..0fd83d42f8
--- /dev/null
+++ b/macros/latex/contrib/colorblind/README.md
@@ -0,0 +1,23 @@
+## Package `colorblind` by Simon Pfahler
+
+Version 2024-05-12 v1.0
+
+In colorblind-safe documents, the contents are presented in a way that the same information is conveyed to readers regardless of a potential color vision deficiency.
+This package provides the tools necessary for colorblind-safe typesetting in LaTeX.
+It provides color schemes for a wide range of applications.
+The most commonly used schemes are qualitative schemes, providing easily distinguishable colors for use in graphics, but also for text coloring or highlighting.
+Additionally, diverging and sequential schemes are included which can be used for encoding quantitative information in the colors of a graphic.
+Therefore, colorblind-safeness is incorporated into the writing process, making it both less cumbersome and less error-prone.
+
+## Copyright (C)
+- 2023-2024 Simon Pfahler
+
+## License
+LaTeX Project Public License, version 1.3c or later.
+
+## Notes
+This package is available on github:
+https://github.com/simon-pfahler/colorblind
+
+If you find any bugs, please report them there.
+
diff --git a/macros/latex/contrib/colorblind/bib.bib b/macros/latex/contrib/colorblind/bib.bib
new file mode 100644
index 0000000000..4639115ad7
--- /dev/null
+++ b/macros/latex/contrib/colorblind/bib.bib
@@ -0,0 +1,43 @@
+%%
+%% ----------------------------------------------------------------
+%% Copyright (C) 2023-2024 by Simon Pfahler <simon.pfahler at ur dot de>
+%% ----------------------------------------------------------------
+%%
+@online{Tol,
+ author = {Paul Tol},
+ title = {Paul Tol's Notes: Colour schemes and templates},
+ year = {2021},
+ url = {https://personal.sron.nl/~pault/},
+ urldate = {2023-12-29},
+}
+
+@inproceedings{Ichihara_2008,
+ author = {Yasuyo G. Ichihara and Masataka Okabe and Koichi Iga and Yosuke Tanaka and Kohei Musha and Kei Ito},
+ title = {{Color universal design: the selection of four easily distinguishable colors for all color vision types}},
+ year = {2008},
+ volume = {6807},
+ booktitle = {Color Imaging XIII: Processing, Hardcopy, and Applications},
+ editor = {Reiner Eschbach and Gabriel G. Marcu and Shoji Tominaga},
+ organization = {International Society for Optics and Photonics},
+ publisher = {SPIE},
+ pages = {68070O},
+ keywords = {Color Universal Design, color vision, color category, visual communication},
+ doi = {10.1117/12.765420},
+ url = {https://doi.org/10.1117/12.765420},
+}
+
+@article{Wong_2011,
+ author={Wong, Bang},
+ title={Points of view: Color blindness},
+ journal={Nature Methods},
+ year={2011},
+ month={Jun},
+ day={01},
+ volume={8},
+ number={6},
+ pages={441-441},
+ issn={1548-7105},
+ doi={10.1038/nmeth.1618},
+ url={https://doi.org/10.1038/nmeth.1618}
+}
+
diff --git a/macros/latex/contrib/colorblind/colorblind.sty b/macros/latex/contrib/colorblind/colorblind.sty
new file mode 100644
index 0000000000..a549ea06f9
--- /dev/null
+++ b/macros/latex/contrib/colorblind/colorblind.sty
@@ -0,0 +1,398 @@
+%%
+%% ----------------------------------------------------------------
+%% Copyright (C) 2023-2024 by Simon Pfahler <simon.pfahler at ur dot de>
+%% ----------------------------------------------------------------
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{colorblind}[2024/05/12 Easy colorblind-safe typesetting]
+
+\RequirePackage{xcolor}
+\RequirePackage{ifthen}
+\RequirePackage{tikz}
+\usetikzlibrary{math}
+\RequirePackage{pgfplots}
+\pgfplotsset{compat=1.18}
+
+\DeclareOption{Tol}{
+%>>> Color schemes by Paul Tol, source: https://personal.sron.nl/~pault
+%
+%>>> Qualitative color schemes
+%
+% Bright Qualitative color scheme
+\providecolorset{RGB}{T-Q-B}{}{%
+ 1,68,119,170;%
+ 2,102,204,238;%
+ 3,34,136,51;%
+ 4,204,187,68;%
+ 5,238,102,119;%
+ 6,170,51,119;%
+ 0,187,187,187%
+}
+%
+% High-contrast qualitative color scheme
+\providecolorset{RGB}{T-Q-HC}{}{%
+ 1,255,255,255;%
+ 2,221,170,51;%
+ 3,187,85,102;%
+ 4,0,68,136;%
+ 0,0,0,0%
+}
+%
+% Vibrant qualitative color scheme
+\providecolorset{RGB}{T-Q-V}{}{%
+ 1,0,119,187;%
+ 2,51,187,238;%
+ 3,0,153,136;%
+ 4,238,119,51;%
+ 5,204,51,17;%
+ 6,238,51,119;%
+ 0,187,187,187%
+}
+%
+% Muted qualitative color scheme
+\providecolorset{RGB}{T-Q-M}{}{%
+ 1,51,34,136;%
+ 2,136,204,238;%
+ 3,68,170,153;%
+ 4,153,153,51;%
+ 5,221,204,119;%
+ 6,204,102,119;%
+ 7,136,34,85;%
+ 8,170,68,153;%
+ 0,221,221,221%
+}
+%
+% Medium-contrast qualitative color scheme
+\providecolorset{RGB}{T-Q-MC}{}{%
+ 1,255,255,255;%
+ 2,238,204,102;%
+ 3,238,153,170;%
+ 4,102,153,204;%
+ 5,153,119,0;%
+ 6,153,68,85;%
+ 7,0,68,136;%
+ 0,0,0,0%
+}
+%
+% Pale qualitative color scheme, for highlighting
+\providecolorset{RGB}{T-Q-PH}{}{%
+ 1,187,204,238;%
+ 2,204,238,255;%
+ 3,204,221,170;%
+ 4,238,238,187;%
+ 5,255,204,204;%
+ 0,221,221,221%
+}
+%
+% Dark qualitative color scheme, for text colors
+\providecolorset{RGB}{T-Q-DT}{}{%
+ 1,34,34,85;%
+ 2,34,85,85;%
+ 3,34,85,34;%
+ 4,102,102,51;%
+ 5,102,51,51;%
+ 0,85,85,85%
+}
+%
+% Light qualitative color scheme
+\providecolorset{RGB}{T-Q-L}{}{%
+ 1,119,170,221;%
+ 2,153,221,255;%
+ 3,68,187,153;%
+ 4,187,204,51;%
+ 5,170,170,0;%
+ 6,238,221,136;%
+ 7,238,136,102;%
+ 8,255,170,187;%
+ 0,221,221,221%
+}
+%
+%<<< Qualitative color schemes
+%
+%>>> Diverging color schemes
+%
+% Sunset diverging color scheme
+\providecolorset{RGB}{T-D-S}{}{%
+ 1,54,75,154;%
+ 2,74,123,183;%
+ 3,110,166,205;%
+ 4,152,202,225;%
+ 5,194,228,239;%
+ 6,234,236,204;%
+ 7,254,218,139;%
+ 8,253,179,102;%
+ 9,246,126,75;%
+ 10,221,61,45;%
+ 11,165,0,38;%
+ 0,255,255,255%
+}
+\pgfplotsset{
+ colormap={T-D-S}{color(0)=(T-D-S1) color(1)=(T-D-S2) color(2)=(T-D-S3) color(3)=(T-D-S4) color(4)=(T-D-S5) color(5)=(T-D-S6) color(6)=(T-D-S7) color(7)=(T-D-S8) color(8)=(T-D-S9) color(9)=(T-D-S10) color(10)=(T-D-S11)}
+}
+%
+% Nightfall diverging color scheme
+\providecolorset{RGB}{T-D-N}{}{%
+ 1,18,90,86;%
+ 2,0,118,123;%
+ 3,35,143,157;%
+ 4,66,167,198;%
+ 5,96,188,233;%
+ 6,157,204,239;%
+ 7,198,219,237;%
+ 8,222,230,231;%
+ 9,236,234,218;%
+ 10,240,230,178;%
+ 11,249,213,118;%
+ 12,255,185,84;%
+ 13,253,154,68;%
+ 14,245,118,52;%
+ 15,233,76,31;%
+ 16,209,24,7;%
+ 17,160,24,19;%
+ 0,255,255,255%
+}
+\pgfplotsset{
+ colormap={T-D-N}{color(0)=(T-D-N1) color(1)=(T-D-N2) color(2)=(T-D-N3) color(3)=(T-D-N4) color(4)=(T-D-N5) color(5)=(T-D-N6) color(6)=(T-D-N7) color(7)=(T-D-N8) color(8)=(T-D-N9) color(9)=(T-D-N10) color(10)=(T-D-N11) color(11)=(T-D-N12) color(12)=(T-D-N13) color(13)=(T-D-N14) color(14)=(T-D-N15) color(15)=(T-D-N16) color(16)=(T-D-N17)}
+}
+%
+% BuRd diverging color scheme
+\providecolorset{RGB}{T-D-BR}{}{%
+ 1,32,102,172;%
+ 2,67,147,195;%
+ 3,146,197,222;%
+ 4,209,229,240;%
+ 5,247,247,247;%
+ 6,253,219,199;%
+ 7,244,165,130;%
+ 8,214,96,77;%
+ 9,178,24,43;%
+ 0,255,238,153%
+}
+\pgfplotsset{
+ colormap={T-D-BR}{color(0)=(T-D-BR1) color(1)=(T-D-BR2) color(2)=(T-D-BR3) color(3)=(T-D-BR4) color(4)=(T-D-BR5) color(5)=(T-D-BR6) color(6)=(T-D-BR7) color(7)=(T-D-BR8) color(8)=(T-D-BR9)}
+}
+%
+% PRGn diverging color scheme
+\providecolorset{RGB}{T-D-PG}{}{%
+ 1,118,42,131;%
+ 2,153,112,171;%
+ 3,194,165,207;%
+ 4,231,212,232;%
+ 5,247,247,247;%
+ 6,217,240,211;%
+ 7,172,211,158;%
+ 8,90,174,97;%
+ 9,27,120,55;%
+ 0,255,238,153%
+}
+\pgfplotsset{
+ colormap={T-D-PG}{color(0)=(T-D-PG1) color(1)=(T-D-PG2) color(2)=(T-D-PG3) color(3)=(T-D-PG4) color(4)=(T-D-PG5) color(5)=(T-D-PG6) color(6)=(T-D-PG7) color(7)=(T-D-PG8) color(8)=(T-D-PG9)}
+}
+%
+%<<< Diverging color schemes
+%
+%>>> Sequential color schemes
+%
+% YlOrBr sequential color scheme
+\providecolorset{RGB}{T-S-YOB}{}{%
+ 1,255,255,229;%
+ 2,255,247,188;%
+ 3,254,227,145;%
+ 4,254,196,79;%
+ 5,251,154,41;%
+ 6,236,112,20;%
+ 7,204,76,2;%
+ 8,153,52,4;%
+ 9,102,37,6;%
+ 0,136,136,136%
+}
+\pgfplotsset{
+ colormap={T-S-YOB}{color(0)=(T-S-YOB1) color(1)=(T-S-YOB2) color(2)=(T-S-YOB3) color(3)=(T-S-YOB4) color(4)=(T-S-YOB5) color(5)=(T-S-YOB6) color(6)=(T-S-YOB7) color(7)=(T-S-YOB8) color(8)=(T-S-YOB9)}
+}
+%
+% Iridescent sequential color scheme
+\providecolorset{RGB}{T-S-IR}{}{%
+ 1,254,251,233;%
+ 2,252,247,213;%
+ 3,245,243,193;%
+ 4,234,240,181;%
+ 5,221,236,191;%
+ 6,208,231,202;%
+ 7,194,227,210;%
+ 8,181,221,216;%
+ 9,168,216,220;%
+ 10,155,210,225;%
+ 11,141,203,228;%
+ 12,129,196,231;%
+ 13,123,188,231;%
+ 14,126,178,228;%
+ 15,136,165,221;%
+ 16,147,152,210;%
+ 17,155,138,196;%
+ 18,157,125,178;%
+ 19,154,112,158;%
+ 20,144,99,136;%
+ 21,128,87,112;%
+ 22,104,73,87;%
+ 23,70,53,58;%
+ 0,153,153,153%
+}
+\pgfplotsset{
+ colormap={T-S-IR}{color(0)=(T-S-IR1) color(1)=(T-S-IR2) color(2)=(T-S-IR3) color(3)=(T-S-IR4) color(4)=(T-S-IR5) color(5)=(T-S-IR6) color(6)=(T-S-IR7) color(7)=(T-S-IR8) color(8)=(T-S-IR9) color(9)=(T-S-IR10) color(10)=(T-S-IR11) color(11)=(T-S-IR12) color(12)=(T-S-IR13) color(13)=(T-S-IR14) color(14)=(T-S-IR15) color(15)=(T-S-IR16) color(16)=(T-S-IR17) color(17)=(T-S-IR18) color(18)=(T-S-IR19) color(19)=(T-S-IR20) color(20)=(T-S-IR21) color(21)=(T-S-IR22) color(22)=(T-S-IR23)}
+}
+%
+% Incandescent sequential color scheme
+\providecolorset{RGB}{T-S-IN}{}{%
+ 1,206,255,255;%
+ 2,198,247,214;%
+ 3,162,244,155;%
+ 4,187,228,83;%
+ 5,213,206,4;%
+ 6,231,181,3;%
+ 7,241,153,3;%
+ 8,246,121,11;%
+ 9,249,73,2;%
+ 10,228,5,21;%
+ 11,168,0,3;%
+ 0,136,136,136%
+}
+\pgfplotsset{
+ colormap={T-S-IN}{color(0)=(T-S-IN1) color(1)=(T-S-IN2) color(2)=(T-S-IN3) color(3)=(T-S-IN4) color(4)=(T-S-IN5) color(5)=(T-S-IN6) color(6)=(T-S-IN7) color(7)=(T-S-IN8) color(8)=(T-S-IN9) color(9)=(T-S-IN10) color(10)=(T-S-IN11)}
+}
+%
+% Discrete rainbow color scheme
+\providecolorset{RGB}{T-S-DR}{}{%
+ 1,209,187,215;%
+ 2,174,118,163;%
+ 3,136,46,114;%
+ 4,25,101,176;%
+ 5,82,137,199;%
+ 6,123,175,222;%
+ 7,78,178,101;%
+ 8,144,201,135;%
+ 9,202,224,171;%
+ 10,247,240,86;%
+ 11,246,193,65;%
+ 12,241,147,45;%
+ 13,232,96,28;%
+ 14,220,5,12;%
+ 0,119,119,119%
+}
+%
+\providecolorset{RGB}{T-S-SR}{}{%
+ 1,232,236,251;%
+ 2,221,216,239;%
+ 3,209,193,225;%
+ 4,195,168,209;%
+ 5,181,143,194;%
+ 6,167,120,180;%
+ 7,155,98,167;%
+ 8,140,78,153;%
+ 9,111,76,155;%
+ 10,96,89,169;%
+ 11,85,104,184;%
+ 12,78,121,197;%
+ 13,77,138,198;%
+ 14,78,150,188;%
+ 15,84,158,179;%
+ 16,89,165,169;%
+ 17,96,171,158;%
+ 18,105,177,144;%
+ 19,119,183,125;%
+ 20,140,188,104;%
+ 21,166,190,84;%
+ 22,190,188,72;%
+ 23,209,181,65;%
+ 24,221,170,60;%
+ 25,228,156,57;%
+ 26,231,140,53;%
+ 27,230,121,50;%
+ 28,228,99,45;%
+ 29,223,72,40;%
+ 30,218,34,34;%
+ 31,184,34,30;%
+ 32,149,33,27;%
+ 33,114,30,23;%
+ 34,82,26,19;%
+ 0,102,102,102%
+}
+\pgfplotsset{
+ colormap={T-S-SR}{color(0)=(T-S-SR1) color(1)=(T-S-SR2) color(2)=(T-S-SR3) color(3)=(T-S-SR4) color(4)=(T-S-SR5) color(5)=(T-S-SR6) color(6)=(T-S-SR7) color(7)=(T-S-SR8) color(8)=(T-S-SR9) color(9)=(T-S-SR10) color(10)=(T-S-SR11) color(11)=(T-S-SR12) color(12)=(T-S-SR13) color(13)=(T-S-SR14) color(14)=(T-S-SR15) color(15)=(T-S-SR16) color(16)=(T-S-SR17) color(17)=(T-S-SR18) color(18)=(T-S-SR19) color(19)=(T-S-SR20) color(20)=(T-S-SR21) color(21)=(T-S-SR22) color(22)=(T-S-SR23) color(23)=(T-S-SR24) color(24)=(T-S-SR25) color(25)=(T-S-SR26) color(26)=(T-S-SR27) color(27)=(T-S-SR28) color(28)=(T-S-SR29) color(29)=(T-S-SR30) color(30)=(T-S-SR31) color(31)=(T-S-SR32) color(32)=(T-S-SR33) color(33)=(T-S-SR34)}
+}
+%
+%<<< Sequential color schemes
+%
+%<<< Color schemes by Paul Tol, source: https://personal.sron.nl/~pault
+}
+
+\DeclareOption{OkabeIto}{
+%>>> Qualitative color scheme by Okabe and Ito
+\providecolorset{RGB}{OI}{}{%
+ 1,230,159,0;%
+ 2,86,180,233;%
+ 3,0,158,115;%
+ 4,240,228,66;%
+ 5,0,114,178;%
+ 6,213,94,0;%
+ 7,204,121,167;%
+ 0,0,0,0%
+}
+%<<< Qualitative color scheme by Okabe and Ito
+}
+
+\DeclareOption*{\PackageWarning{colorblind}{Unknown '\CurrentOption'}}
+\ProcessOptions\relax
+
+%>>> Function to print a discrete color scheme
+\newcommand\@drawSchemeRadius{0.7cm}
+\newcommand\@drawSchemeOffset{1cm}
+\newcounter{ColorNum}
+\newcommand\drawScheme[1]{%
+ \tikz{%
+ \node[inner sep=1, fill=red] at (-1.2*\@drawSchemeRadius,2.3*\@drawSchemeRadius) {R};
+ \node[inner sep=1, fill=green] at (-1.2*\@drawSchemeRadius, 1.8*\@drawSchemeRadius) {G};
+ \node[inner sep=1, fill=blue] at (-1.2*\@drawSchemeRadius,1.3*\@drawSchemeRadius) {B};
+ \setcounter{ColorNum}{1}%
+ \whiledo{%
+ \@ifundefined{\string\color@#1\theColorNum}{\boolean{false}}{\boolean{true}}%
+ }{%
+ \extractcolorspecs{#1\the\value{ColorNum}}{\modelspec}{\colorspec}%
+ \tikzmath{
+ int \r, \g, \b;
+ \r = round(255*array({\colorspec},0));
+ \g = round(255*array({\colorspec},1));
+ \b = round(255*array({\colorspec},2));
+ }%
+ \node at (\value{ColorNum}*\@drawSchemeOffset-\@drawSchemeOffset,2.3*\@drawSchemeRadius) {\r};
+ \node at (\value{ColorNum}*\@drawSchemeOffset-\@drawSchemeOffset,1.8*\@drawSchemeRadius) {\g};
+ \node at (\value{ColorNum}*\@drawSchemeOffset-\@drawSchemeOffset,1.3*\@drawSchemeRadius) {\b};
+ \draw[fill=#1\the\value{ColorNum}] (\value{ColorNum}*\@drawSchemeOffset-\@drawSchemeOffset,0) circle (\@drawSchemeRadius);%
+ \node[rotate=25, anchor=north east] at (\value{ColorNum}*\@drawSchemeOffset-\@drawSchemeOffset,-1*\@drawSchemeRadius) {#1\theColorNum};%
+ \stepcounter{ColorNum}%
+ }%
+ \extractcolorspecs{#10}{\modelspec}{\colorspec}%
+ \tikzmath{
+ int \r, \g, \b;
+ \r = round(255*array({\colorspec},0));
+ \g = round(255*array({\colorspec},1));
+ \b = round(255*array({\colorspec},2));
+ }%
+ \node at (\value{ColorNum}*\@drawSchemeOffset-0.5*\@drawSchemeOffset,2.3*\@drawSchemeRadius) {\r};
+ \node at (\value{ColorNum}*\@drawSchemeOffset-0.5*\@drawSchemeOffset,1.8*\@drawSchemeRadius) {\g};
+ \node at (\value{ColorNum}*\@drawSchemeOffset-0.5*\@drawSchemeOffset,1.3*\@drawSchemeRadius) {\b};
+ \draw[fill=#10] (\value{ColorNum}*\@drawSchemeOffset-0.5*\@drawSchemeOffset,0) circle(\@drawSchemeRadius);%
+ \node[rotate=25, anchor=north east] at (\value{ColorNum}*\@drawSchemeOffset-0.5*\@drawSchemeOffset, -1*\@drawSchemeRadius) {#10};%
+ }%
+}
+%<<< Function to print a discrete color scheme
+
+%>>> Function to print a continuous color scheme
+\newcommand\drawSchemeC[2][0.5\textwidth]{%
+ \tikz{%
+ \pgfplotscolorbardrawstandalone[colormap name=#2, colorbar horizontal, colorbar style={width=#1, ticks=none}]%
+ \draw[fill=#20] (#1+0.5*\@drawSchemeOffset,-0.55cm) circle(0.5*\@drawSchemeRadius);%
+ }%
+}
+%<<< Function to print a continuous color scheme
+
+\endinput
diff --git a/macros/latex/contrib/colorblind/documentation.pdf b/macros/latex/contrib/colorblind/documentation.pdf
new file mode 100644
index 0000000000..f35c947328
--- /dev/null
+++ b/macros/latex/contrib/colorblind/documentation.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorblind/documentation.tex b/macros/latex/contrib/colorblind/documentation.tex
new file mode 100644
index 0000000000..a04188b570
--- /dev/null
+++ b/macros/latex/contrib/colorblind/documentation.tex
@@ -0,0 +1,365 @@
+%%
+%% ----------------------------------------------------------------
+%% Copyright (C) 2023-2024 by Simon Pfahler <simon.pfahler at ur dot de>
+%% ----------------------------------------------------------------
+%%
+%! TeX program = lualatex
+\documentclass{scrartcl}
+\usepackage[left=4cm,right=3cm,top=3cm,bottom=3cm, marginpar=3cm]{geometry}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex}
+
+\usepackage{cprotect}
+\usepackage{tikz}
+\usetikzlibrary{math}
+
+\usepackage{xcolor}
+\usepackage{soul}
+
+\usepackage{tikz}
+\usetikzlibrary{positioning, shapes, fit, arrows.meta, decorations.pathmorphing}
+\pgfdeclarelayer{bg}
+\pgfsetlayers{bg,main}
+
+\usepackage{pgfplots, pgfplotstable}
+\pgfplotsset{compat=1.18}
+
+%%%% from https://tex.stackexchange.com/questions/355713/pgfplots-show-error-marker-in-legend
+\pgfplotsset{error bar legend/.style={%
+ /pgfplots/legend image code/.prefix code={%
+ \pgfkeysgetvalue{/pgfplots/error bars/error mark}{\pgfplotserrorbarsmark}%
+ \draw[%
+ /pgfplots/every error bar,
+ mark=\pgfplotserrorbarsmark,
+ /pgfplots/error bars/error mark options,
+ sharp plot,
+ ##1
+ ] plot coordinates {(0.3cm, -0.15cm) (0.3cm, 0.15cm)};%
+ }
+ }
+}
+%%%%
+
+\pgfplotsset{custom area legend/.style={%
+ /pgfplots/legend image code/.prefix code={%
+ \fill[##1, draw=white] plot coordinates {(0cm, -0.1cm) (0.6cm,-0.1cm) (0.6cm, 0.1cm) (0cm, 0.1cm)};%
+ }
+ }
+}
+
+\def\w{420pt}
+
+\usepackage{hyperref}
+\hypersetup{
+ pdftitle={Easy colorblind-safe typesetting: the colorblind package},
+ pdfauthor={Simon Pfahler},
+}
+\usepackage{cleveref}
+
+\usepackage{csquotes}
+\usepackage[backend=biber, style=numeric-comp, seconds=true, sorting=none, subentry=true, doi=false, alldates=iso]{biblatex}
+\renewcommand*{\entrysetpunct}{\\[5pt]}
+\addbibresource{bib.bib}
+
+\usepackage[Tol, OkabeIto]{colorblind}
+
+\newcommand\colorblind{\textbf{colorblind} }
+\newcommand\hlc[2][T-Q-PH4]{{%
+ \colorlet{foo}{#1}%
+ \sethlcolor{foo}\hl{#2}}%
+}
+
+\reversemarginpar
+\newcommand\marg[1]{\leavevmode\marginpar{\raggedleft #1}}
+\newcommand\tbs{\textbackslash}
+
+\title{Easy colorblind-safe typesetting:\\ the \colorblind package}
+\author{Simon Pfahler}
+\date{\today\\Version 1.0}
+
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+ In colorblind-safe documents, the contents are presented in a way that the same information is conveyed to readers regardless of a potential color vision deficiency.
+ This package provides the tools necessary for colorblind-safe typesetting in \LaTeX.
+ It provides color schemes for a wide range of applications.
+ The most commonly used schemes are qualitative schemes, providing easily distinguishable colors for use in graphics, but also for text coloring or highlighting.
+ Additionally, diverging and sequential schemes are included which can be used for encoding quantitative information using colors.
+ This package incorporates colorblind-safeness into the writing process, making it both less cumbersome and less error-prone.
+\end{abstract}
+
+\tableofcontents
+\clearpage
+
+\section{Introduction}
+\subsection{Package options}
+\cprotect\marg{\verb!Tol!\\\verb!OkabeIto!}%
+The \colorblind package provides the color schemes by Paul Tol~\cite{Tol} and the Okabe Ito color palette~\cite{Ichihara_2008}.
+By default, no schemes are loaded.
+Providing one of the options \verb!Tol! or \verb!OkabeIto! loads all corresponding schemes.
+
+\subsection{Overview}
+As an example for how to use the colors, we look at the \emph{bright qualitative} color scheme by Tol.
+\cref{fig:T-Q-Bexample} shows the colors in the scheme
+
+\begin{figure}[ht]
+ \centering
+ \drawScheme{T-Q-B}
+ \caption{Bright qualitative color scheme by Tol.}
+ \label{fig:T-Q-Bexample}
+\end{figure}
+
+All colors in this model start with \verb!T-Q-B!, indicating that it is a scheme by \textbf{T}ol, that it is a \textbf{q}ualitative scheme, and that it is the \textbf{b}right scheme.
+The colors in the scheme are specified by a number following the scheme name, in this case ranging from \verb!T-Q-B1! to \verb!T-Q-B6! for the non-grey colors.
+The additional color \verb!T-Q-B0! provides a color that can be used, e.g., to indicate bad data.
+
+There are two reasons why color names are not based on natural color names (e.g., ``\hlc[T-Q-PH1]{blue}''):
+\begin{enumerate}
+ \item Certain colors (\hlc[T-Q-PH3]{green}, \hlc[T-Q-PH5]{red}) are often used by people with full color vision to convey certain meanings (\hlc[T-Q-PH3]{good}, \hlc[T-Q-PH5]{bad}).
+ This meaning is difficult for people with color vision deficiencies to pick up.
+ By not using natural color names, it is easier to write colorblind-safe documents that do not make use of said connotations.
+ \item Natural color names can be cumbersome, e.g., when multiple variations of a primary color are used. It is annoying having to look up if a color is called, e.g., \hlc[T-Q-PH1]{blue} or \hlc[T-Q-PH2]{cyan}.
+\end{enumerate}
+
+These colors are used the same way as any other colors. To change the text color to \verb!T-Q-B1! for example, use \verb!\color{T-Q-B1}!.
+
+\section{Guidelines}
+On its own, using colorblind-safe colors is not sufficient for making a document truly colorblind-safe.
+This section provides some general rules to follow for colorblind-safe typesetting.
+
+These rules apply to each visual unit of a document individually.
+A visual unit may be a graphic, a table or a paragraph of text.
+It might be advisable to be consistent also between different visual units (e.g., use the same color scheme for all graphics), but this is more of an aesthetic argument and is not strictly necessary for a colorblind-safe document.
+
+The most important rules are:
+\begin{enumerate}
+ \item \hlc{Do not mix the colors in qualitative schemes!}\newline
+ The colors in each scheme are defined with the purpose of being easily distinguishable.
+ Mixing of colors, e.g., \verb?T-Q-B1!50!T-Q-B5? interferes with this.
+ A special case of this is that qualitative colors should not be mixed in order to convey quantitative information.
+ In this case, a suitable non-qualitative color scheme (i.e.\ a diverging or sequential scheme) should be used.
+ \item \hlc{Only use colors from one color scheme for a given visual unit!}\newline
+ The colors between different schemes are not tuned to be distinguishable.
+ Using colors from multiple schemes therefore defies the point of this package.
+ \item \hlc{Do not use shades of colors!}\newline
+ Saturation and brightness are also used for distinguishability, so mixings involving \verb!white! and \verb!black! should also be avoided.
+\end{enumerate}
+
+The first two rules should be ensured in any visual unit. If the need for more colors arises, a different color scheme should be used alltogether.
+While the third rule should also be followed in most scenarios, there are some situations that might allow for breaking this rule. As an example, consider \cref{fig:errorbar_plot}, where the error band is colored with a lighter shade of the original color.
+This is ok because only few colors are used in the plot and the colors are not necessary for conveying the message of the plot.
+
+\begin{figure}[ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[
+ width=0.4*\w,
+ height=0.28*\w,
+ scale only axis=true,
+ xlabel = {x},
+ ylabel = {y},
+ x label style = {yshift=2mm},
+ y label style = {yshift=-2mm},
+ clip marker paths=true,
+ axis on top
+ ]
+
+ \fill[T-Q-B5!20] (0,0.1068558) -- (40,0.1068558) -- (40,0.0668558) -- (0,0.0668558) -- cycle;
+ \draw[T-Q-B5] (0,0.0868558) -- (40,0.0868558);
+
+ \addplot[color=T-Q-B1, mark=*, only marks, forget plot]
+ plot[/pgfplots/error bars/.cd, x dir=none, y dir=both, y explicit,
+ error mark=-, error bar style={color=T-Q-B1}]
+ coordinates {
+ (4,0.263148) +- (0.120064,0.120064)
+ (8,0.159158) +- (0.0621894,0.0621894)
+ (12,0.129892) +- (0.0543303,0.0543303)
+ (16,0.112302) +- (0.0358508,0.0358508)
+ (20,0.098435) +- (0.02648,0.02648)
+ (24,0.0909784) +- (0.0215048,0.0215048)
+ (28,0.0894657) +- (0.0212992,0.0212992)
+ (32,0.0869343) +- (0.0202553,0.0202553)
+ };
+ \addlegendimage{T-Q-B1, mark=*, only marks, error bar legend};
+ \addlegendentry{data};
+ \addlegendimage{draw=T-Q-B5, fill=T-Q-B5!20, custom area legend};
+ \addlegendentry{reference};
+
+ \end{axis}
+ \end{tikzpicture}
+ \cprotect\caption{This plot breaks rule 3 by using the shade \verb?T-Q-B5!20? for the error band of the reference, but it is still colorblind-safe.}
+ \label{fig:errorbar_plot}
+\end{figure}
+
+There are additional guidelines that should be kept in mind when typesetting colorblind-safe documents.
+Their importance may vary between different applications, so try to follow them as best as possible, at your own judgement.
+In no particular order, they are:
+\begin{itemize}
+ \item \hlc{Do not convey information only through color!}\newline
+ When possible, encode the information the color provides also in a different way, e.g., through text, patterns or symbols.
+ \item \hlc{Do not use color for information and aesthetics simultaneously!}\newline
+ Color is often also used for aesthetic reasons, e.g., on a scientific poster.
+ While this is ok in principle, do not mix information and aesthetics within the same visual unit, as this makes it more difficult to extract the encoded information.
+ \item \hlc{Do not use rainbow color schemes!}\newline
+ Due to the many different colors in a rainbow color scheme, they are very difficult to distinguish for people with color vision deficiencies (even when the scheme is tuned for this purpose).
+ Therefore, it is best to avoid them.
+ If you insist on using them, Paul Tol provides both a sequential as well as a continuous version, which are optimized to be as distinguishable as possible.
+\end{itemize}
+
+\section{Provided color schemes}\label{sec:colors}
+The color schemes provided are split into three groups:
+\begin{itemize}
+ \item Qualitative schemes:\newline
+ These schemes are used to convey qualitative information, such as different data sources, countries or manufacturers.
+ They should usually be used for coloring text or distinguishing different lines/bars in a plot.
+ \item Diverging color schemes:\newline
+ When quantitative data ranges between two extremes, and the middle is being considered ``neutral'', a diverging color scheme should be used.
+ Examples for this kind of data might be test grades, temperatures or pH values.
+ \item Sequential color schemes:\newline
+ For quantitative data without an important midpoint, sequential color schemes should be preferred over diverging ones.
+ This is especially true for quantites that start from $0$.
+ They can be used to denote for example velocities, concentrations or pressures.
+\end{itemize}
+
+For each type of schemes, this package provides a range of options.
+\Cref{sec:Tol_schemes} shows the schemes designed by Paul Tol~\cite{Tol}, which include qualitative, diverging and sequential schemes (see \cref{sec:T-Q,sec:T-D,sec:T-S}).
+In \cref{sec:OkabeIto}, the Okabe Ito color scheme~\cite{Ichihara_2008} is provided, which is probably the most famous qualitative colorblind-safe color scheme due to it being mentioned in various articles in high-ranking journals.
+
+All of the schemes are colorblind-safe, and some are optimized for printout or designed for a particular purpose.
+This is denoted under the scheme name.\clearpage
+
+\subsection{Paul Tol's color schemes}\label{sec:Tol_schemes}
+
+\subsubsection{Qualitative color schemes}\label{sec:T-Q}
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-B}}\\
+ \textbf{B}right\\
+ \phantom{pb}
+\end{minipage}\hfill%
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-V}}\\
+ \textbf{V}ibrant
+\end{minipage}
+
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-HC}}\\
+ \textbf{H}igh-\textbf{C}ontrast\\
+ works for black and white printout
+\end{minipage}\hfill%
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-MC}}\\
+ \textbf{M}edium-\textbf{C}ontrast\\
+ works for black and white printout
+\end{minipage}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-Q-M}}\\
+ \textbf{M}uted
+\end{center}
+
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-PH}}\\
+ \textbf{P}ale \textbf{H}ighlight\\
+ specifically for text background
+\end{minipage}\hfill%
+\begin{minipage}{0.5\textwidth}
+ \centering
+ \scalebox{0.7}{\drawScheme{T-Q-DT}}\\
+ \textbf{D}ark \textbf{T}ext\\
+ specifically for text color
+\end{minipage}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-Q-L}}\\
+ \textbf{L}ight\\
+ less distinguishable than other schemes,\\ mostly meant for filling in labelled cells
+\end{center}\clearpage
+
+\subsubsection{Diverging color schemes}\label{sec:T-D}
+For diverging schemes, when a continuous palette is needed, the colors are allowed to be linearly interpolated.
+When using \verb!pgfplots! (or \verb!TikZ!), the interpolations are available as colormaps with the names of their color scheme.
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-D-S}}\\
+ \drawSchemeC[0.6\textwidth]{T-D-S}\\
+ \textbf{S}unset
+\end{center}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-D-N}}\\
+ \drawSchemeC[0.9\textwidth]{T-D-N}\\
+ \textbf{N}ightfall
+\end{center}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-D-BR}}\\
+ \drawSchemeC[0.5\textwidth]{T-D-BR}\\
+ \textbf{B}u\textbf{R}d
+\end{center}\clearpage
+
+\subsubsection{Sequential color schemes}\label{sec:T-S}
+For most sequential schemes, a continuous palette can be obtained again by linearly interpolating the colors.
+The only exception to this is the \emph{discrete rainbow} scheme, which has an explicitly continuos variation, the \emph{smooth rainbow} scheme.
+When using \verb!pgfplots!, the interpolations are available as colormaps with the names of their color scheme.
+
+When the discrete scheme is not shown, this is because there are too many colors in them.
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-S-YOB}}\\
+ \drawSchemeC[0.5\textwidth]{T-S-YOB}\\
+ \textbf{Y}l\textbf{O}r\textbf{B}r
+\end{center}
+
+\begin{center}
+ \drawSchemeC[0.9\textwidth]{T-S-IR}\\
+ \textbf{Ir}idescent
+\end{center}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-S-IN}}\\
+ \drawSchemeC[0.6\textwidth]{T-S-IN}\\
+ \textbf{In}candescent\\
+ not print-friendly
+\end{center}
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{T-S-DR}}\\
+ \textbf{D}iscrete \textbf{R}ainbow\\
+ Do not interpolate!
+\end{center}
+
+\begin{center}
+ \drawSchemeC[\textwidth]{T-S-SR}\\
+ \textbf{S}mooth \textbf{R}ainbow\\
+\end{center}
+
+\subsection{Okabe Ito qualitative color scheme}\label{sec:OkabeIto}
+This is the qualitative color scheme commonly known as the \emph{Okabe Ito} color palette~\cite{Ichihara_2008}.
+
+\begin{center}
+ \scalebox{0.7}{\drawScheme{OI}}\\
+ \textbf{O}kabe \textbf{I}to
+\end{center}
+
+\section{Provided commands}
+\cprotect\marg{\verb!\drawScheme{...}!}%
+The discrete visualizations of color schemes given in this documentation are created with the command \verb!\drawScheme{...}!.
+The name of the color scheme should be provided to the command, e.g.\ \verb!\drawScheme{T-Q-B}! to print the \emph{qualitative bright} scheme by Tol.
+
+\cprotect\marg{\verb!\drawSchemeC{...}!}%
+The continuous visualizations of color schemes given in this documentation are created with the command \verb!\drawSchemeC{...}!.
+The name of the color scheme should be provided to the command, e.g.\ \verb!\drawSchemeC{T-D-S}! to print the \emph{diverging sunset} scheme by Tol.
+Note that this command only works for color schemes that are allowed to be interpolated.
+
+\clearpage
+\printbibliography
+
+\end{document}
diff --git a/macros/latex/contrib/csvsimple/CHANGES.md b/macros/latex/contrib/csvsimple/CHANGES.md
index 768f8f65cb..3178395f76 100644
--- a/macros/latex/contrib/csvsimple/CHANGES.md
+++ b/macros/latex/contrib/csvsimple/CHANGES.md
@@ -17,6 +17,18 @@ and this project adheres to
+## [2.6.1] - 2024-05-16
+
+### Changed
+- Documentation of `csvsim/filter fp`, `csvsim/and filter fp`, `\IfCsvsimFpCompareTF`,
+ and `\IfCsvsimIntCompareTF` clarified (issue #37)
+- Reset `data collection` to `\csvdatacollection` for every csv reader (issue #39)
+
+### Fixed
+- Documentation typos fixed (issue #38)
+
+
+
## [2.6.0] - 2024-01-19
### Added
diff --git a/macros/latex/contrib/csvsimple/README.md b/macros/latex/contrib/csvsimple/README.md
index d3e0860104..29196c03e9 100644
--- a/macros/latex/contrib/csvsimple/README.md
+++ b/macros/latex/contrib/csvsimple/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+# The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
> Copyright (c) 2008-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/csvsimple/csvsimple-doc.sty b/macros/latex/contrib/csvsimple/csvsimple-doc.sty
index 2f507037fb..c8d933c684 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-doc.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-doc.sty
@@ -1,5 +1,5 @@
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple-doc.sty: style file for the documentation
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%%
%% This work consists of all files listed in README.md
%%
-\def\version{2.6.0}%
-\def\datum{2024/01/19}%
+\def\version{2.6.1}%
+\def\datum{2024/05/16}%
\IfFileExists{csvsimple-doc.cfg}{\input{csvsimple-doc.cfg}}{}\providecommand\csvpkgprefix{}
diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.pdf b/macros/latex/contrib/csvsimple/csvsimple-example.pdf
index 5485a99c1e..f85684f6d1 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-example.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.tex b/macros/latex/contrib/csvsimple/csvsimple-example.tex
index 364596562a..0baf2183c7 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-example.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple-example.tex: an example for csvsimple
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
index bbef5c75a9..f17b9183c3 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.sty b/macros/latex/contrib/csvsimple/csvsimple-l3.sty
index 9aa9b2c428..849aa79aec 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple-l3.sty: Simple LaTeX CSV file processing (LaTeX3)
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README.md
%%
\NeedsTeXFormat{LaTeX2e}[2023-11-01]
-\ProvidesExplPackage{csvsimple-l3}{2024/01/19}{2.6.0}
+\ProvidesExplPackage{csvsimple-l3}{2024/05/16}{2.6.1}
{LaTeX3 CSV file processing}
@@ -1037,13 +1037,6 @@
}
-\keys_set:nn { csvsim }
- {
- data~collection = \csvdatacollection,
- }
-
-
-
%---- catcodes
\cs_new_protected_nopar:Npn \__csvsim_setup_catcode_list:
@@ -1606,6 +1599,7 @@
check~column~count,
head~to~column~names~prefix = ,
head~to~column~names = false,
+ data~collection = \csvdatacollection,
collect~data = false,
consume~collected~data = false,
column~count = 0,
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.tex b/macros/latex/contrib/csvsimple/csvsimple-l3.tex
index 9fad48644d..6c70fa3003 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.tex
@@ -1,7 +1,7 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
% !TeX spellcheck=en_US
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -214,7 +214,7 @@ way.
An even more comfortable and preferable way to create a table is setting
appropriate option keys. Note, that this gives you the possibility to create a
meta key (called style here) which contains the whole table creation
-using \refCom{csvstyle} or |keys_define:nn| from |l3keys|.
+using \refCom{csvstyle} or |\keys_define:nn| from |l3keys|.
\begin{dispExample}
\csvreader[
@@ -1182,9 +1182,10 @@ The following string compare filters \refKey{csvsim/filter strcmp} and
\end{docCsvKey}
-\begin{docCsvKey}[][doc new and updated={2021-06-25}{2022-10-21}]{filter fp}{=\marg{floating point expression}}{no default}
- Only data lines which fulfill a \LaTeX3 \meta{floating point expression}
- (|l3fp|, \ctanpkg{xfp}) are accepted.
+\enlargethispage*{1cm}
+\begin{docCsvKey}[][doc new and updated={2021-06-25}{2022-10-21}]{filter fp}{=\marg{floating point comparison}}{no default}
+ Only data lines which fulfill a \LaTeX3 \meta{floating point comparison}
+ are accepted. The evaluation is done using \docAuxCommand*{fp_compare_p:n}.
\begin{dispExample}
% \usepackage{booktabs}
\csvreader[
@@ -1316,7 +1317,7 @@ filter options:
\begin{docCsvKeys}[
- doc parameter = {=\marg{floating point expression}},
+ doc parameter = {=\marg{floating point comparison}},
doc description = {style, no default},
doc new = {2022-10-21}
]
@@ -1326,9 +1327,23 @@ filter options:
}
Like \refKey{csvsim/filter fp}, but appended to a required existing
expl3 based filter with \emph{and} (|&&|) resp. \emph{or} (\texttt{\textbar\textbar}).
+\begin{dispExample}
+% \usepackage{booktabs}
+\csvreader[
+ head to column names,
+ tabular = llll,
+ table head = \toprule & \bfseries Name & \bfseries Matr & \bfseries Grade\\\midrule,
+ table foot = \bottomrule,
+ %>> list only matriculation numbers greater than 20000 and grade less than 4.0 <<
+ filter fp = { \matriculation > 20000 },
+ and filter fp = { \grade < 4.0 },
+ ]{grade.csv}{}{%
+ \thecsvrow & \slshape\name, \givenname & \matriculation & \grade
+ }
+\end{dispExample}
\end{docCsvKeys}
-
+\enlargethispage*{1cm}
\begin{docCsvKeys}[
doc parameter = {=\marg{boolean expression}},
doc description = {style, no default},
@@ -2304,14 +2319,18 @@ If set to |false|, the collected data of a CSV file processed with
\refKey{csvsim/collect data} is saved into \refCom{csvdatacollection}.\par
Otherwise, if set to |true|, the collected data is not saved, but directly used
after reading the CSV file, see \refKey{csvsim/generic collected table}.
+After usage, the collected data is cleared, i.e. \refCom{csvdatacollection} is emptied.
\end{docCsvKey}
-\begin{docCsvKey}[][doc new=2021-07-06]{data collection}{=\meta{macro}}{no default, initially \refCom{csvdatacollection}}
+\begin{docCsvKey}[][doc new and updated={2021-07-06}{2024-05-16}]{data collection}{=\meta{macro}}{no default, initially \refCom{csvdatacollection}}
Sets the collection macro to an alternative for \refCom{csvdatacollection}.
\begin{dispListing}
data collection = \myData, % instead of \csvdatacollection
\end{dispListing}
+Note that until version 2.6.0 (2024/01/19), \refKey{csvsim/data collection} was
+not reset to the default \refCom{csvdatacollection} for following CSV files,
+but it is now.
\end{docCsvKey}
@@ -2432,29 +2451,35 @@ for backward compatibility.
\begin{docCommands}[
- doc parameter = \marg{floating point expression}\marg{token list B}\marg{true}\marg{false}
+ doc parameter = \marg{floating point comparison}\marg{true}\marg{false}
]
{
{ doc name = IfCsvsimFpCompareTF, doc new and updated = {2021-06-28}{2023-12-19} },
{ doc name = ifcsvfpcmp, color command=black }
}
- Evaluates the given \meta{floating point expression}
+ Evaluates the given \meta{floating point comparison}
and executes \meta{true} or \meta{false} appropriately.
- The evaluation is done using |\fp_compare:nTF|.
+ The evaluation is done using \docAuxCommand*{fp_compare:nTF}.\\
+ Basically, a \meta{floating point comparison} consists of
+ \mbox{\meta{fp expr\textsubscript{1}} \meta{relation} \meta{fp expr\textsubscript{2}}},
+ like \mbox{$x<y$}, but \docAuxCommand*{fp_compare:nTF} even allows a chain of comparisons.
\refCom{IfCsvsimFpCompareTF} is expandable.
\end{docCommands}
\begin{docCommands}[
- doc parameter = \marg{integer expression}\marg{token list B}\marg{true}\marg{false}
+ doc parameter = \marg{integer comparison}\marg{true}\marg{false}
]
{
{ doc name = IfCsvsimIntCompareTF, doc new and updated = {2021-06-28}{2023-12-19} },
{ doc name = ifcsvintcmp, color command=black }
}
- Evaluates the given \meta{integer expression}
+ Evaluates the given \meta{integer comparison}
and executes \meta{true} or \meta{false} appropriately.
- The evaluation is done using |\int_compare:nTF|.
+ The evaluation is done using \docAuxCommand*{int_compare:nTF}.\\
+ Basically, a \meta{integer comparison} consists of
+ \mbox{\meta{int expr\textsubscript{1}} \meta{relation} \meta{int expr\textsubscript{2}}},
+ like \mbox{$x<y$}, but \docAuxCommand*{int_compare:nTF} even allows a chain of comparisons.
\refCom{IfCsvsimIntCompareTF} is expandable.
\end{docCommands}
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
index 7079052a74..6138c507e3 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
index 28b5562b5d..ecaba4a7b0 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple-legacy.sty: Simple LaTeX CSV file processing (LaTeX2e)
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README.md
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{csvsimple-legacy}[2024/01/19 version 2.6.0 LaTeX2e CSV file processing]
+\ProvidesPackage{csvsimple-legacy}[2024/05/16 version 2.6.1 LaTeX2e CSV file processing]
%---- check package
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
index caa65712ec..ae40e8563d 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
@@ -1,6 +1,6 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/csvsimple/csvsimple.pdf b/macros/latex/contrib/csvsimple/csvsimple.pdf
index 7f4023fd07..8d148b5a6f 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple.sty b/macros/latex/contrib/csvsimple/csvsimple.sty
index 60776f67ce..01ccbb3f72 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple.sty: Simple LaTeX CSV file processing
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README.md
%%
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
-\ProvidesExplPackage{csvsimple}{2024/01/19}{2.6.0}
+\ProvidesExplPackage{csvsimple}{2024/05/16}{2.6.1}
{LaTeX CSV file processing}
\cs_if_exist:NT \c__csvsim_package_expl_bool
diff --git a/macros/latex/contrib/csvsimple/csvsimple.tex b/macros/latex/contrib/csvsimple/csvsimple.tex
index 7d34586a42..73d34f4c34 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple.tex
@@ -1,6 +1,6 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.6.0 (2024/01/19)
+%% The LaTeX package csvsimple - version 2.6.1 (2024/05/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
index f1bf30aacc..34320ab758 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
index b8352c628d..7335cdbb96 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
@@ -34,8 +34,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.4}
-\def\TPdate{04/04/2024}
+\def\TPversion{0.1.5}
+\def\TPdate{17/05/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,6 +111,8 @@
\section{History}
+\verb|v0.1.5|~:~~~~New macros for boxes with \textsf{tcolorbox} (see \texttt{[fr]} documentation)
+
\verb|v0.1.4|~:~~~~Create a SMS conversation
\verb|v0.1.3|~:~~~~Environment for exercise(s) (in french doc)
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
index 87d7507f61..9007eb82b0 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
index 9cdaeadf73..f76efcea01 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.4}
-\def\TPdate{4 avril 2024}
+\def\TPversion{0.1.5}
+\def\TPdate{17 mai 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -66,10 +66,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv},%
+ morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre},%
+ morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style},%
keywordstyle={\color{orange}}
},%
#1
@@ -149,6 +149,10 @@
\section{Historique}
+\verb|v0.1.5|~:~~~~Vignettes + Numéros encerclés + Création de boîtes 'simples'
+
+\verb|v0.1.4|~:~~~~Commande pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS
+
\verb|v0.1.3|~:~~~~Environnement/commande pour des exercices, avec personnalisation(s)
\verb|v0.1.2|~:~~~~Crayon de compétences
@@ -1058,4 +1062,177 @@ Le code proposé utilise l'environnement, mais la commande simple est complètem
\includegraphics{envtexo_exemples.pdf}
\end{DemoCode}
+\pagebreak
+
+\section{Boîtes divers}
+
+\subsection{Introduction}
+
+L'idée est de proposer (modestement) des commandes, basées sur \MontreCode{tcolorbox}, pour, avec un style prédéfini :
+
+\begin{itemize}
+ \item créer des boîtes de présentation ;
+ \item créer des titres de sujets d'examens, par exemple ;
+ \item créer des titres d'exercices, pour des sujets d'examens par exemple ;
+ \item créer des numéros encadrés ;
+ \item créer de vignettes.
+\end{itemize}
+
+\subsection{Boîtes de présentation}
+
+\begin{DemoCode}{listing only}
+\begin{BoiteSimple}[couleur]<options tcbox>{titre}
+ ...
+\end{BoiteSimple}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\begin{BoiteSimple}[red]{Propriété}
+Si M est la matrice d'adjacence d'un graphe simple orienté de sommets $A_1$, $A_2$, \dots, $A_n$, le nombre de chemins de longueur $p$ d'un sommet $A_i$ à un sommet $A_j$ est le nombre situé ligne $i$ et colonne $j$ dans la matrice $M^p$.
+\end{BoiteSimple}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\begin{BoiteSimple}[blue]<width=0.75\linewidth,flush right>{Propriété}
+Si M est la matrice d'adjacence d'un graphe simple orienté de sommets $A_1$, $A_2$, \dots, $A_n$, le nombre de chemins de longueur $p$ d'un sommet $A_i$ à un sommet $A_j$ est le nombre situé ligne $i$ et colonne $j$ dans la matrice $M^p$.
+\end{BoiteSimple}
+\end{DemoCode}
+
+\subsection{Titres de sujets d'examens, titres d'exercices}
+
+\begin{DemoCode}{listing only}
+\begin{TitreSujet}[Couleur=...,AlignH=...]<options tcbox>{titre onglet}
+...
+\end{TitreSujet}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\begin{TitreSujet}[Couleur=red!50!black]{SUJET}
+Métropole, SIO, 16 Mai 2024
+\end{TitreSujet}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\begin{TitreSujet}[Couleur=teal,AlignH=center]{CORRIGÉ}
+Baccalauréat Centres étrangers Groupe 1\\
+14 mars 2023
+\end{TitreSujet}
+\end{DemoCode}
+
+\begin{DemoCode}{listing only}
+\SujetTitreExo[couleur]{titre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\SujetTitreExo{Exercice 4 (5 points)}
+
+\SujetTitreExo[olive]{Exercice 1 [Matrices]\dotfill(5 points)}
+\end{DemoCode}
+
+\subsection{Numéros encerclés}
+
+\begin{DemoCode}{listing only}
+\CircledNumber[bg=...,txt=...,bthick=...,bcol=...,raise=true/false]%
+ {nombre}{noeud tikz}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+En ligne \CircledNumber{1} avec texte après.
+\end{DemoCode}
+
+\begin{DemoCode}{}
+{\bfseries\sffamily\Huge En ligne (\CircledNumber[bthick=0.25mm,bcol=red,bg=cyan!25,txt=darkgray]{7}) avec texte après}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+{\Large En ligne \CircledNumber[raise=false,bthick=0.5mm,bcol=cyan,bg=cyan!25,txt=orange]{4} avec texte après}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\begin{enumerate}[label={\CircledNumber[raise=false]{\arabic*}}]
+ \item A
+ \item B
+ \item C
+\end{enumerate}
+\end{DemoCode}
+
+\subsection{Vignettes}
+
+\begin{DemoCode}{listing only}
+\AffVignette(*)[Type=...,Couleur=...,Police=...]{texte}
+% la version étoilée active le \NoAutoSpacing
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette de base
+\AffVignette{test} ou \AffVignette[Couleur=magenta]{test}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type algo
+\AffVignette[Type=algo]{test} ou \AffVignette[Type=algo,Couleur=teal]{Renvoyer}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type python, classique
+\AffVignette[Type=py]{test} ou \AffVignette[Type=py,Couleur=lime]{return}
+
+%vignette type python, avec piton (et lualatex)
+%\AffVignette[Type=pypit]{from math import sqrt}
+
+%vignette type python, avec piton et pyluatex (et lualatex + shell-escape)
+%\AffVignette[Type=pyl,Couleur=blue]{1+4/5}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type graphique
+\AffVignette[Type=grph]{fonction} ou \AffVignette[Couleur=olive,Type=grph]{intersection}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type MPM
+\AffVignette[Type=mpm]{marge} ou \AffVignette[Type=mpm,Couleur=orange]{chemin}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type xcas
+\AffVignette[Type=xcas]{calcul formel} ou \AffVignette[Type=xcas,Couleur=brown]{calcul formel}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type shell
+\AffVignette[Type=shell,Couleur=red!50!orange]{fenêtre cmd}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type LaTeX
+\AffVignette[Type=tex]{code LaTeX}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%vignette type tableur
+\AffVignette[Type=sheet,Couleur=green!50!black,Police=\footnotesize\sffamily]
+ {cellule A3}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%création d'une macro personnelle
+\NewDocumentCommand\VignetteTableur{ m }{%
+ \AffVignette*[Type=sheet,Couleur=green!50!black,Police=\footnotesize\sffamily]
+ {#1}
+}
+On se place dans la plage \VignetteTableur{A3:B5} pour...
+
+\end{DemoCode}
+
+\subsection{Boîte arrondie}
+
+\begin{DemoCode}{listing only}
+\BoiteArrondie[Fond=...,Texte=...,EspH=...,Style=...]{texte}[noeud tikz]
+\end{DemoCode}
+
+\begin{DemoCode}{}
+On lance le logiciel \BoiteArrondie[Fond=cyan!33,Texte=violet,EspH=2mm,Style=rect]{situé sur le bureau} en cliquant \BoiteArrondie[Fond=lightgray!25,Texte=darkgray]{droit}.
+\end{DemoCode}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex b/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex
index e782579dec..2daa195179 100644
--- a/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex
+++ b/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex
@@ -1,80 +1,80 @@
-% !TeX TXS-program:compile = txs:///arara
-% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
-% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
-
-\documentclass[a5paper,11pt]{article}
-\usepackage[margin=1cm]{geometry}
-\usepackage{customenvs}
-%facultatif, pour les décorations
-\usepackage{graphicx}
-\usepackage{dashrulex}
-\usepackage{coloredbelts}
-\usepackage{pictochrono}
-%mise en page
-\usepackage{ipsum}
-\setlength{\parindent}{0pt}
-
-\begin{document}
-
-\begin{EnvtExo}%exo1
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Trait=pointilles]%exo2
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Trait=dashilles]%exo3
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Icone/\faPython]%exo4
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Ceinture/rouge]%exo5
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Chrono/20]%exo6
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Image/goku_ssj4]%exo7
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Image/sseiya_shura]%exo8
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Decoration=Points/7]%exo9
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Type=Perso/{Titre perso }]%exo10
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\StyleEnvtExo[Couleur=red,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}]
-
-\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo11
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Couleur=red,Trait=dashilles]%exo12
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\StyleEnvtExoDefaut
-
-\begin{EnvtExo}%
- [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo13
- \ipsum<Lang=FR,Type=sent>
-\end{EnvtExo}
-
-\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo14
-
-\ipsum<Lang=FR,Type=sent>
-
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a5paper,11pt]{article}
+\usepackage[margin=1cm]{geometry}
+\usepackage{customenvs}
+%facultatif, pour les décorations
+\usepackage{graphicx}
+\usepackage{dashrulex}
+\usepackage{coloredbelts}
+\usepackage{pictochrono}
+%mise en page
+\usepackage{ipsum}
+\setlength{\parindent}{0pt}
+
+\begin{document}
+
+\begin{EnvtExo}%exo1
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Trait=pointilles]%exo2
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Trait=dashilles]%exo3
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Icone/\faPython]%exo4
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Ceinture/rouge]%exo5
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Chrono/20]%exo6
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Image/goku_ssj4]%exo7
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Image/sseiya_shura]%exo8
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Points/7]%exo9
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Type=Perso/{Titre perso }]%exo10
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\StyleEnvtExo[Couleur=red,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}]
+
+\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo11
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Couleur=red,Trait=dashilles]%exo12
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\StyleEnvtExoDefaut
+
+\begin{EnvtExo}%
+ [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo13
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo14
+
+\ipsum<Lang=FR,Type=sent>
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/tex/customenvs.sty b/macros/latex/contrib/customenvs/tex/customenvs.sty
index ee8f4427a2..797a4e65bc 100644
--- a/macros/latex/contrib/customenvs/tex/customenvs.sty
+++ b/macros/latex/contrib/customenvs/tex/customenvs.sty
@@ -3,9 +3,10 @@
% source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2024/04/04 0.1.4 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/05/17 0.1.5 Custom classic environments]
%====HISTORIQUE
+% v 0.1.6 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
% v 0.1.4 Commande (en/fr) pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS
% v 0.1.3 Environnement/Commande pour présentation d'un exercice
% v 0.1.2 Crayon de compétences
@@ -54,8 +55,9 @@
\RequirePackage{listofitems}
\RequirePackage{calc}
\RequirePackage{tikz}
-\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc}
-\usepackage{tcolorbox}
+\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc,babel}
+\RequirePackage{tcolorbox}
+\RequirePackage{varwidth}
\tcbuselibrary{skins}
%%----COMMANDES FR
@@ -922,7 +924,7 @@
\setKVdefault[BoiteArrondie]{%
Fond=red,%
Texte=white,%
- EspH=0.25em,%
+ EspH=0.125em,%
Style=rect
}
\NewDocumentCommand\BoiteArrondie{ O{} m O{char} }{%
@@ -1346,25 +1348,23 @@
}
%====ROUNDED BOX
-\defKV[RoundedBox]{hmargin=\def\RoundedBoxDelta{#1},style=\def\RoundedBoxStyle{#1}}
-\setKVdefault[RoundedBox]{%
- bg=red,%
- txt=white,%
- hmargin=0.25em,%
- style=rect
-}
-
-
-
-\NewDocumentCommand\RoundedBox{ O{} m O{char} }{%
- \restoreKV[RoundedBox]%
- \setKV[RoundedBox]{#1}%
- \settototalheight{\tmpheightbox}{\hbox{(EazertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN)#2}}%hauteur globale
- \IfStrEqCase{\RoundedBoxStyle}{%
- {rect}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=rectangle,rounded corners=0.25em,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}\kern\RoundedBoxDelta#2\kern\RoundedBoxDelta};}}%
- {circle}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=circle,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}#2};}}%
- }\relax
-}
+% \defKV[RoundedBox]{hmargin=\def\RoundedBoxDelta{#1},style=\def\RoundedBoxStyle{#1}}
+% \setKVdefault[RoundedBox]{%
+ % bg=red,%
+ % txt=white,%
+ % hmargin=0.25em,%
+ % style=rect
+% }
+
+% \NewDocumentCommand\RoundedBox{ O{} m O{char} }{%
+ % \restoreKV[RoundedBox]%
+ % \setKV[RoundedBox]{#1}%
+ % \settototalheight{\tmpheightbox}{\hbox{(EazertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN)#2}}%hauteur globale
+ % \IfStrEqCase{\RoundedBoxStyle}{%
+ % {rect}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=rectangle,rounded corners=0.25em,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}\kern\RoundedBoxDelta#2\kern\RoundedBoxDelta};}}%
+ % {circle}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=circle,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}#2};}}%
+ % }\relax
+% }
%====Chat SMS
%===Keys [EN]
@@ -1489,5 +1489,226 @@
title={#2\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}%
}
+%====SMALL BOXES CREATION
+\tikzset{simpleboxrulearrow/.style={line width=0.8pt,|->,>=latex}}
+
+% \NewTColorBox{SimpleBox}{ O{blue} D<>{} m }{
+ % enhanced,nobeforeafter,blanker,size=small,bottom=1mm,before=\par\noindent,%top=0mm,left=1mm,right=1mm,
+ % title={#3},fonttitle=\sffamily\bfseries\color{#1},lefttitle=1em,
+ % finish={\draw[#1,simpleboxrulearrow] ([xshift=1em]title.west) --++ (-1em,0) |- (frame.south east) -- ($(frame.south east)!0.5!(frame.north east)$) ;},%
+ % #2
+% }
+
+\NewTColorBox{BoiteSimple}{ O{blue} D<>{} m }{
+ enhanced,nobeforeafter,blanker,size=small,bottom=1mm,before=\par\noindent,%top=0mm,left=1mm,right=1mm,
+ title={#3},fonttitle=\sffamily\bfseries\color{#1},lefttitle=1em,
+ finish={\draw[#1,simpleboxrulearrow] ([xshift=1em]title.west) --++ (-1em,0) |- (frame.south east) -- ($(frame.south east)!0.5!(frame.north east)$) ;},%
+ #2
+}
+
+% \NewDocumentCommand\GenSimpleBox{ O{blue} m }{%
+ % 1 = couleur
+ % 2 = nom
+ % \NewTColorBox{#2}{ O{} m }{
+ % enhanced,nobeforeafter,blanker,size=small,bottom=1mm,before=\par\noindent,%top=0mm,left=1mm,right=1mm,
+ % title={##2},fonttitle=\sffamily\bfseries\color{#1},lefttitle=1em,
+ % finish={\draw[#1,simpleboxrulearrow] ([xshift=1em]title.west) --++ (-1em,0) |- (frame.south east) -- ($(frame.south east)!0.5!(frame.north east)$) ;},%
+ % ##1
+ % }
+% }
+
+\NewDocumentCommand\GenereBoiteSimple{ O{blue} m }{%
+ %1 = couleur
+ %2 = nom
+ \NewTColorBox{#2}{ O{} m }{
+ enhanced,nobeforeafter,blanker,size=small,bottom=1mm,before=\par\noindent,%top=0mm,left=1mm,right=1mm,
+ title={##2},fonttitle=\sffamily\bfseries\color{#1},lefttitle=1em,
+ finish={\draw[#1,simpleboxrulearrow] ([xshift=1em]title.west) --++ (-1em,0) |- (frame.south east) -- ($(frame.south east)!0.5!(frame.north east)$) ;},%
+ ##1
+ }
+}
+
+%====CIRCLEDNUMBERSSIMPLE
+\defKV[CircledBoxNumber]{bg=\def\tmpbordernbcircbox{#1}}
+\setKVdefault[CircledBoxNumber]{bg={},txt=black,bthick=0.5pt,bcol=black,raise=true}
+
+\newlength{\tmpheightnbcircbox}
+\newlength{\tmpdepthnbcircbox}
+\NewDocumentCommand\CircledNumber{ O{} m O{circnb} }{%
+ \restoreKV[CircledBoxNumber]%
+ \setKV[CircledBoxNumber]{#1}%
+ \settototalheight{\tmpheightnbcircbox}{(1234567890)}%hauteur globale
+ \settodepth{\tmpdepthnbcircbox}{(1234567890)}%
+ \ifboolKV[CircledBoxNumber]{raise}%
+ {%
+ \IfEq{\tmpbordernbcircbox}{}%
+ {%
+ {\tikz[baseline={([yshift=\tmpdepthnbcircbox]current bounding box.south)}]\node[outer sep=0pt,inner sep=0.5pt,minimum height={\tmpheightnbcircbox-\useKV[CircledBoxNumber]{bthick}},draw,{\useKV[CircledBoxNumber]{bcol}},line width={\useKV[CircledBoxNumber]{bthick}},circle,text={\useKV[CircledBoxNumber]{txt}}] (#3) {\ifnum#2<10 #2\else\scalebox{0.5}[1]{#2}\fi} ;}%
+ }%
+ {%
+ {\tikz[baseline={([yshift=\tmpdepthnbcircbox]current bounding box.south)}]\node[outer sep=0pt,inner sep=0.5pt,minimum height={\tmpheightnbcircbox-\useKV[CircledBoxNumber]{bthick}},draw,{\useKV[CircledBoxNumber]{bcol}},line width={\useKV[CircledBoxNumber]{bthick}},circle,fill={\useKV[CircledBoxNumber]{bg}},text={\useKV[CircledBoxNumber]{txt}}] (#3) {\ifnum#2<10 #2\else\scalebox{0.5}[1]{#2}\fi} ;}%
+ }%
+ }%
+ {%
+ \IfEq{\tmpbordernbcircbox}{}%
+ {%
+ {\tikz[baseline=(#3.base)] \node[outer sep=0pt,inner sep=0.5pt,minimum height={\tmpheightnbcircbox-\useKV[CircledBoxNumber]{bthick}},draw,{\useKV[CircledBoxNumber]{bcol}},line width={\useKV[CircledBoxNumber]{bthick}},circle,text={\useKV[CircledBoxNumber]{txt}}] (#3) {\ifnum#2<10 #2\else\scalebox{0.5}[1]{#2}\fi} ;}%
+ }%
+ {%
+ {\tikz[baseline=(#3.base)] \node[outer sep=0pt,inner sep=0.5pt,minimum height={\tmpheightnbcircbox-\useKV[CircledBoxNumber]{bthick}},draw,{\useKV[CircledBoxNumber]{bcol}},line width={\useKV[CircledBoxNumber]{bthick}},circle,fill={\useKV[CircledBoxNumber]{bg}},text={\useKV[CircledBoxNumber]{txt}}] (#3) {\ifnum#2<10 #2\else\scalebox{0.5}[1]{#2}\fi} ;}%
+ }%
+ }%
+}
+
+%====EXAM BOX TITLE(s)
+\NewDocumentCommand\LetPhantomBox{}{%
+ \vphantom{(ÉAZERTYUIOPQSDFGHJKLMWXCVBN,éàço)}%
+}
+
+\tcbset{StyleTitreSujet/.style={%
+ enhanced,size=small,
+ colback=white!5,boxrule=1.25pt,
+ attach boxed title to top left={xshift=0.5cm,yshift=1mm-\tcboxedtitleheight},
+ varwidth boxed title*=-3cm,
+ boxed title style={frame code={
+ \path[fill=tcbcolframe!50!black]
+ ([yshift=-1mm,xshift=-1mm]frame.north west)
+ arc[start angle=0,end angle=180,radius=1mm]
+ ([yshift=-1mm,xshift=1mm]frame.north east)
+ arc[start angle=180,end angle=0,radius=1mm];
+ \path[fill=tcbcolframe] ([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east) [rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east) -- (frame.south east) -- (frame.south west) -- ([xshift=-1mm,yshift=-1mm]frame.north west) [sharp corners]-- cycle;
+ },interior engine=empty,size=fbox,
+ },
+ fonttitle=\bfseries\sffamily,
+ fontupper=\huge\bfseries\sffamily,
+ }
+}
+
+\defKV[tcbtitresujet]{%
+ AlignH=\def\tcbtitresujethalign{#1}
+}
+
+\setKVdefault[tcbtitresujet]{%
+ Couleur=black,
+ AlignH=center
+}
+
+\NewDocumentEnvironment{TitreSujet}{ O{} D<>{} m }%
+{%
+ \restoreKV[tcbtitresujet]%
+ \setKV[tcbtitresujet]{#1}%
+ \IfStrEqCase{\tcbtitresujethalign}{%
+ {right}{\tcbset{StyleTitreSujetAlign/.style={halign=flush right}}}%
+ {left}{\tcbset{StyleTitreSujetAlign/.style={halign=flush left}}}%
+ }[\tcbset{StyleTitreSujetAlign/.style={halign=flush center}}]%
+ \tcolorbox[colupper={\useKV[tcbtitresujet]{Couleur}},colframe={\useKV[tcbtitresujet]{Couleur}},StyleTitreSujet,StyleTitreSujetAlign,title={\vphantom{QJ}#3},before upper=\LetPhantomBox,after upper=\LetPhantomBox,#2]%
+}%
+{%
+ \endtcolorbox%
+}
+
+\tcbset{StyleTitreSujetSousEpreuve/.style={%
+ center,after skip=1pt,size=small,boxsep=3pt,boxrule=1pt,colback=white,left=2pt,right=2pt,%
+ sharp corners,rounded corners=downhill,arc=8pt,
+ fontupper={\sffamily\bfseries\large}
+ }
+}
+
+\NewDocumentCommand\SousTitreSujetEpreuve{ O{black} m }{%
+ \tcbset{StyleTitreSujetSousEpreuveCouleur/.style={colframe=#1,colupper=#1}}
+ \IfStrEqCase{#2}{%
+ {}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur]{#2}}%
+ {U21}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur,before upper=\faSortNumericDown\:\:,after upper=\:\:\faProjectDiagram]{Épreuve U2 - Mathématiques pour l'Informatique}}%
+ {U2}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur,before upper=\faSortNumericDown\:\:,after upper=\:\:\faProjectDiagram]{Épreuve U2 - Mathématiques pour l'Informatique}}%
+ {U2CG}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur,before upper=\faSortNumericDown\:\:,after upper=\:\:\faProjectDiagram]{Épreuve U2 - Mathématiques appliquées}}%
+ {UF2}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur,before upper=\faDice\:\:,after upper=\:\:\faChartLine]{Épreuve UF2 - Mathématiques Approfondies}}%
+ {U41OL}{\tcbox[StyleTitreSujetSousEpreuve,StyleTitreSujetSousEpreuveCouleur,before upper=\faDice\:\:,after upper=\:\:\faBezierCurve]{Épreuve U41 - Mathématiques}}
+ }%
+}
+
+\NewDocumentCommand\SujetTitreExo{ O{black} m }{%
+ \tcolorbox[enhanced,width=\linewidth,size=small,colback=white,colframe=#1,boxrule=0.75pt,fontupper=\color{#1}\Large\sffamily\bfseries,sharp corners,rounded corners=south,arc=4pt,before upper=\LetPhantomBox]
+ #2
+ \endtcolorbox%
+}
+
+%====vignettes
+\NewDocumentCommand\LetPhantomVignette{}{%
+ \vphantom{(AZERTYUIOPQSDFGHJKLMWXCVBN,éàço)}%
+}
+
+\tcbset{cevignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,arc=2pt,boxrule=0.65pt,left=1.75pt,right=1.25pt,top=1.25pt,bottom=0.5pt,colback=white,before upper=\LetPhantomVignette
+ }
+}
+
+\tcbset{cevignettepy/.style={%
+ cevignettes,left=6pt,coltitle=tcbcolframe,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{PY}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignettealgo/.style={%
+ cevignettes,left=6pt,coltitle=tcbcolframe,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{ALGO}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignettetableur/.style={%
+ cevignettes,left=6pt,coltitle=tcbcolframe,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.5}[0.75]{\textbf{EXCEL}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignetteMPM/.style={%
+ cevignettes,left=6pt,coltitle=white,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{MPM}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignettegraph/.style={%
+ cevignettes,left=6pt,coltitle=white,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{GRPH}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignetteshell/.style={%
+ cevignettes,left=6pt,coltitle=white,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black] {\scalebox{0.5}[0.75]{\textbf{SHELL}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignettelatex/.style={%
+ cevignettes,left=6pt,coltitle=white,
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{\LaTeX}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\tcbset{cevignettexcas/.style={%
+ cevignettes,left=6pt,coltitle=white,colback=white,%
+ underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{0.55}[0.75]{\textbf{XCAS}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}
+ }
+}
+
+\defKV[cevignette]{Type=\def\cevignettetype{#1},Couleur=\def\cevignettecolor{#1},Police=\def\cevignettefont{#1}}
+\setKVdefault[cevignette]{Type={},Couleur={darkgray},Police=\footnotesize}
+
+\NewDocumentCommand\AffVignette{ s O{} m }{%
+ \restoreKV[cevignette]%
+ \setKV[cevignette]{#2}%
+ \IfStrEqCase{\cevignettetype}{%
+ {}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettes]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {algo}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettealgo]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {py}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettepy]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {pypit}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettepy]{\piton{#3}}}%
+ {pyl}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettepy]{\piton{\py{#3}}}}%
+ {mpm}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignetteMPM]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {grph}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettegraph]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {xcas}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettexcas]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {shell}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignetteshell]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {tex}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettelatex]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ {sheet}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettetableur]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
+ }\relax%
+}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 64ece3b038..c6473783f9 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -14,8 +14,7 @@
% This work has the LPPL maintenance status `maintained'.
%<*class>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/04/02}{2024ar}
+\ProvidesExplClass{easybook}{2024/05/16}{2024br}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
@@ -29,7 +28,7 @@
\keys_define:nn { easybook }
{
newline .code:n = \bool_set_true:N \l__eb_title_newline_bool,
- scheme .code:n = \eb_put_ctexbook:n { scheme = #1 },
+ scheme .code:n = \eb_put_ctexbook:n { scheme = {#1} },
enmode .meta:n = { newline,scheme = plain },
font .choices:nn =
{ noto,times,times*,ebgaramond,libertine,palatino,auto }
@@ -47,7 +46,12 @@
unknown .code:n = \clist_gput_right:NV \g__eb_doc_options_clist \CurrentOption
}
-\ProcessKeysOptions{easybook}
+\cs_if_exist:NTF \ProcessKeyOptions
+ { \ProcessKeyOptions[easybook] }
+ {
+ \RequirePackage{l3keys2e}
+ \ProcessKeysOptions{easybook}
+ }
\PassOptionsToPackage{no-math,quiet,CJKmath}{xeCJK}
\eb_put_ctexbook:V \g__eb_doc_options_clist
\LoadClass[UTF8]{ctexbook}
@@ -81,7 +85,7 @@
{ \eb_set_family:xnn { \CJKsfdefault } {#2} {#1} }
\cs_new_protected:Npn \eb_setCJKmonofont:nn #1#2
{ \eb_set_family:xnn { \CJKttdefault } {#2} {#1} }
-\eb_seq_map_inline:nn
+\clist_map_inline:nn
{ main,sans,mono,CJKmain,CJKsans,CJKmono }
{
\exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}}
@@ -296,8 +300,8 @@
%</class>
%<*package>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/04/02}{2024ar}
+\RequirePackage{etoolbox}
+\ProvidesExplPackage{easybase}{2024/05/16}{2024br}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -308,16 +312,12 @@
\cs_generate_variant:Nn \skip_set:Nn { NV }
\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
\cs_generate_variant:Nn \ctex_define:nn { nx }
-\cs_generate_variant:Nn \eb_put_hyperref:n { x }
+\cs_generate_variant:Nn \eb_set_hyperref:n { x }
\cs_generate_variant:Nn \eb_at_begin_environment:nn { on }
+\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_set_protected:Npn \ctex_define:nn #1
{ \keys_define:nn { ctex/#1 } }
-\cs_new_protected:Npn \eb_seq_map_inline:nn #1#2
- {
- \seq_set_from_clist:Nn \l_tmpa_seq {#1}
- \seq_map_inline:Nn \l_tmpa_seq {#2}
- }
\cs_new_protected:Npn \eb_patch_cmd:Nnn #1#2#3
{
\ctex_patch_cmd_once:NnnnTF #1 { } {#2} {#3}
@@ -329,7 +329,7 @@
{ \AddToHook{cmd/#1/after}{#2} }
\cs_new_protected:Npn \eb_at_begin_environment:nn #1#2
{
- \eb_seq_map_inline:nn {#1}
+ \clist_map_inline:nn {#1}
{ \AtBeginEnvironment{##1}{#2} }
}
\cs_new_protected:Npn \eb_at_end_preamble:n
@@ -355,7 +355,7 @@
\RenewDocumentCommand{\usepackage}{O{}mO{}}
{
\PassOptionsToPackage{#1}{#2}
- \eb_seq_map_inline:nn {#2}
+ \clist_map_inline:nn {#2}
{
\eb_if_package_loaded:nnF {##1} {#1}
{ \eb@usepackage@save{##1}[#3] }
@@ -373,12 +373,12 @@
{\IfFileExists{#2.sty}{\RequirePackage{#2}[#3]}{}}
{\IfFileExists{#2.sty}{\RequirePackage[#1]{#2}[#3]}{}}
}
-\cs_new_protected:Npn \LoadPackage #1
+\cs_new_protected:Npn \ebloadpackage #1
{
\int_compare:nTF { \clist_count:n {#1} <= 1 }
{ \RequirePackage }
{
- \eb_seq_map_inline:nn {#1}
+ \clist_map_inline:nn {#1}
{ \eb_match_load_package:n {##1} }
}
}
@@ -420,7 +420,12 @@
\PassOptionsToPackage{list = off}{bicaption}
\PassOptionsToPackage{svgnames}{xcolor}
\PassOptionsToPackage{many}{tcolorbox}
-\ProcessKeysOptions{easybase}
+\cs_if_exist:NTF \ProcessKeyOptions
+ { \ProcessKeyOptions[easybase] }
+ {
+ \RequirePackage{l3keys2e}
+ \ProcessKeysOptions{easybase}
+ }
\PassOptionsToPackage{\g__eb_ctex_options_clist}{ctex}
\IfClassLoadedTF{ctexbook}{}
{
@@ -430,20 +435,29 @@
{\RequirePackage[heading]{ctex}}
}
}
+\ctex_disable_package:n { nccfoots }
+\ctex_disable_package:n { tocloft }
+\ctex_disable_package:n { titlesec }
\seq_set_from_clist:Nn \l__eb_module_paths_seq
{
- style,subfont,spread,
- bibset,thmset,tocset,
- hdrset,refset,geoset,float
+ tools,font,spread,
+ bib,thmt,toc,
+ hdr,float,ref,geo
}
\seq_map_inline:Nn \l__eb_module_paths_seq
{
\ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} }
- \cs_new_protected:cpn { eb#1 } ##1 { \ctex_set:nn {#1} {##1} }
+ \cs_new_protected:cpn { eb#1set } ##1 { \ctex_set:nn {#1} {##1} }
+ }
+\RenewDocumentCommand{\ctexset}{om}
+ {
+ \IfValueTF{#1}
+ {\ctex_set:nn {#1} {#2}}
+ {\ctex_set:n {#2}}
}
\bool_until_do:nn
- { \int_compare_p:nNn { \seq_count:N \l__eb_module_paths_seq } < { 8 } }
+ { \int_compare_p:nNn { \seq_count:N \l__eb_module_paths_seq } < { 9 } }
{ \seq_pop_right:NN \l__eb_module_paths_seq \l_tmpa_tl }
\seq_map_inline:Nn \l__eb_module_paths_seq
{
@@ -481,7 +495,7 @@
The~'\string\chapter'\ command~will~not~be~used.
}
-\LoadPackage
+\ebloadpackage
{
[text]{spbmark},
[normalem]{ulem},
@@ -525,7 +539,7 @@
\eb@tag@brackets@right
}
}
-\ctex_define:nn { style }
+\ctex_define:nn { tools }
{
multoc .int_set:N = \l__eb_toc_columns_int,
multoc .default:n = 2,
@@ -554,20 +568,20 @@
marginparsep = 8pt,
marginparwidth = 2.54cm
}
-\ctex_define:nn { geoset }
+\cs_new:Npn \eb_unknown_kv_handle:
+ {
+ \str_use:N \l_keys_key_str
+ \tl_if_novalue:VF \l_keys_value_tl
+ { = {\exp_not:V \l_keys_value_tl} }
+ }
+\ctex_define:nn { geo }
{
headruleskip .tl_set:N = \headruleskip,
headruleskip .initial:n = 0pt,
footruleskip .tl_set:N = \footruleskip,
footruleskip .initial:n = 3.5pt,
- unknown .code:n =
- {
- \exp_args:Nx \geometry
- {
- \l_keys_key_str
- \tl_if_empty:NF \l_keys_value_tl { = {#1} }
- }
- }
+ unknown .code:n = \exp_args:Nx \geometry { \eb_unknown_kv_handle: },
+ unknown .default:V = \c_novalue_tl
}
\cs_new_protected:Npn \blankpagestyle #1
@@ -595,7 +609,7 @@
\booltrue{@mainmatter}
\pagenumbering{arabic}
}
-\eb_seq_map_inline:nn
+\clist_map_inline:nn
{ chapter,section,subsection }
{
\exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
@@ -628,7 +642,7 @@
{ none* } { \text_lowercase:n }
}
}
-\ctex_define:nn { hdrset }
+\ctex_define:nn { hdr }
{
chap-mark .cs_set:Np = \eb@mark@chapter@whole #1,
chap-mark .initial:n =
@@ -710,7 +724,7 @@
\providecommand{\kaishu}{\itshape}
}
-\ctex_define:nn { style }
+\ctex_define:nn { tools }
{
fntnumwith .choices:nn =
{ part,page,chapter }
@@ -810,7 +824,7 @@
\cs_new_protected:Npn \eb_fnmarktext_short_label_set:Nn #1#2
{
\tl_set:Nn \l__eb_fnmarktext_short_tokens_tl {#2}
- \eb_seq_map_inline:nn
+ \clist_map_inline:nn
{ A,a,1,I,i,c,s }
{
\regex_match:nnT {##1} {#2}
@@ -866,7 +880,7 @@
\tl_new:N \l__eb_fnmarktext_format_tl
\tl_new:N \l__eb_fncustom_format_tl
\clist_new:N \l__eb_footnote_value_clist
-\ctex_define:nn { hdrset }
+\ctex_define:nn { hdr }
{
fnfirstindent .tl_set:N = \fnfirstindent,
fnfirstindent .initial:n = 1em,
@@ -882,7 +896,7 @@
fntext-code .initial:n = { ,\tl_if_eq:NnF \l__eb_fntext_position_tl { super } { ~ } },
fnmarktext-format .code:n = \eb_fnboth_format_set:nn {#1} { marktext },
fncustom-format .code:n = \eb_fnboth_format_set:nn {#1} { custom },
- fnboth-format .meta:n = { fnmarktext-format = #1,fncustom-format = #1 },
+ fnboth-format .meta:n = { fnmarktext-format = {#1},fncustom-format = {#1} },
footnotetype .multichoices:nn =
{ plain,hang,bottom,para,flush }
{ \eb_footnote_value_handle:n {#1} },
@@ -905,9 +919,9 @@
{ \eb_fnmarktext_normal_label_set:Nn \thefootnote {#1} },
fntext-num .value_required:n = true,
fntext-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \thefootnote {#1},
- fnmarktext-num .meta:n = { fntext-num = #1,fnmark-num = #1 },
+ fnmarktext-num .meta:n = { fntext-num = {#1},fnmark-num = {#1} },
fnmarktext-num .initial:n = plain,
- unknown .code:n = \eb_msg_deprecated_option:n { hdrset }
+ unknown .code:n = \eb_msg_deprecated_option:n { hdr }
}
\eb_at_end_preamble:n
@@ -1027,17 +1041,18 @@
\l__eb_fnpara_format_tl{#1}
\tl_if_eq:NnT \l__eb_footnote_value_tl { hang } { \par }
}
-\eb_seq_map_inline:nn { \@footnotetext,\@mpfootnotetext }
+\clist_map_inline:nn { \@footnotetext,\@mpfootnotetext }
{
\eb_patch_cmd:Nnn #1
{ \reset@font }
{
\setspread{\eb@spread@footnote}
- \eb@subfont@footnote
+ \eb@font@footnote
}
}
\cs_set_eq:NN \eb@@makefntext \@makefntext
\cs_set_eq:NN \eb@@footnotetext \@footnotetext
+\cs_set_eq:NN \eb@@mpfootnotetext \@mpfootnotetext
\ctex_at_end_package:nn { footmisc }
{
\eb_package_date_check:nn { footmisc } { 2022/02/10 }
@@ -1061,7 +1076,11 @@
hang,~symbol,~perpage,~marginal~or~flushmargin \\
options~of~'footmisc'~package.
}
-
+\ctex_at_end_package:nn { setspace }
+ {
+ \cs_set_eq:NN \@footnotetext \eb@@footnotetext
+ \cs_set_eq:NN \@mpfootnotetext \eb@@mpfootnotetext
+ }
\cs_set_protected:Npn \footref #1
{
\group_begin:
@@ -1138,19 +1157,18 @@
\bool_set_true:N \l__eb_normal_footnote_bool
\bool_new:N \l__eb_fnmarktext_format_match_bool
\bool_new:N \l__eb_fncustom_format_match_bool
+\cs_new:Npn \eb_fnmarktext_format_clear:n #1
+ {
+ \bool_if:cTF { l__eb_fn#1_format_match_bool }
+ { \tl_clear:N \l__eb_fnmarktext_format_tl }
+ { \spbset{spcmd = { }} }
+ }
\cs_new_protected:Npn \eb_fnmarktext_format_initial:
{
\bool_if:NTF \l__eb_normal_footnote_bool
- {
- \bool_if:NT \l__eb_fnmarktext_format_match_bool
- { \tl_clear:N \l__eb_fnmarktext_format_tl }
- }
- {
- \bool_if:NT \l__eb_fncustom_format_match_bool
- { \tl_clear:N \l__eb_fnmarktext_format_tl }
- }
- \bool_if:NF \l__eb_fnmarktext_format_match_bool { \spbset{spcmd = { }} }
- \eb@subfont@footnote
+ { \eb_fnmarktext_format_clear:n { marktext } }
+ { \eb_fnmarktext_format_clear:n { custom } }
+ \eb@font@footnote
}
\cs_new_protected:Npn \defupfntmark #1
{ \cs_set:Npn \@makefnmark { \hbox:n {#1} } }
@@ -1176,7 +1194,7 @@
\tl_use:N \l__eb_fntext_after_tl
}
-\tl_clear:N \@thefnmark
+\tl_clear_new:N \@thefnmark
\tl_new:N \@the@up@fnmark
\cs_new:Npn \eb@@makefnmark #1#2
{
@@ -1197,7 +1215,7 @@
\l__eb_fnmarktext_format_tl \l__eb_fncustom_format_tl
}
}
-\NewDocumentCommand{\Footnote}{O{#2}mm}
+\NewDocumentCommand{\Footnote}{O{#2}m+m}
{
\group_begin:
\eb_fncustom_format_initial:
@@ -1241,7 +1259,7 @@
\@addtoreset{#3}{#5}
\IfBooleanF{#1}
{
- \exp_args:Nc \cs_gset:Npn { the#3 }
+ \cs_gset:cpn { the#3 }
{ \use:c { the#5 }#4#2{#3} }
}
}
@@ -1255,28 +1273,28 @@
\cs_set:Npn \thebisection { \eb_section_counter_prefix:n { bi } }
\cs_set:Npn \thebisubsection { \thebisection.\@arabic\c@bisubsection }
\cs_set:Npn \thesection { \eb_section_counter_prefix:n { } }
-\tl_new:N \eb@before@addbitoc@hook
-\NewDocumentCommand{\BeforeAddBitoc}{sm}
+\tl_new:N \eb@before@bitocline@hook
+\NewDocumentCommand{\BeforeAddtoBitoc}{sm}
{
\IfBooleanTF{#1}
- {\tl_gset:Nn \eb@before@addbitoc@hook {#2}}
- {\tl_gput_right:Nn \eb@before@addbitoc@hook {#2}}
+ {\tl_gset:Nn \eb@before@bitocline@hook {#2}}
+ {\tl_gput_right:Nn \eb@before@bitocline@hook {#2}}
}
+\cs_set_eq:NN \BeforeAddBitoc \BeforeAddtoBitoc
\cs_new_protected:Npn \CTEX@addbitocline #1#2
{
\group_begin:
\def\CTEX@prechapter{\CTEX@prebichapter}
\def\CTEX@thechapter{\CTEX@bichapter@number}
\def\CTEX@postchapter{\CTEX@postbichapter}
- \eb@before@addbitoc@hook
+ \eb@before@bitocline@hook
\tl_if_eq:NnTF \g__eb_bilist_permute_value_tl { mix }
{ \addcontentsline{toc}{#1} }
{ \addcontentsline{tec}{#1} }
{ \use:c { CTEX@#1@tocline }{#1}{#2} }
\group_end:
}
-\eb_seq_map_inline:nn
- { chapter,section,subsection }
+\cs_new_protected:Npn \eb@register@bititle #1
{
\exp_args:Nc \NewDocumentCommand { bi#1 }{sO{##3}mm}
{
@@ -1285,7 +1303,6 @@
\use:c {#1}*{\phantomsection ##3}
\CTEX@addtocline{#1}{##2}
\tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} }
- \tl_set:Nn \l__eb__bitoc_mark_title_level_tl {#1}
\use:c { #1mark }{##2}
}{
\stepcounter{bi#1}
@@ -1294,28 +1311,82 @@
}
}
}
+\cs_new_protected:Npn \RegisterBititle #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@bititle
+ }
+\RegisterBititle{chapter,section,subsection}
\eb_preto_cmd:nn { @chapter }
{
\skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
{ \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
}
+\cs_new_protected:Npn \eb_title_base_set_eq:nn #1#2
+ {
+ \tl_set_eq:cc { CTEX@#2@beforeskip } { CTEX@#1@beforeskip }
+ \tl_set_eq:cc { CTEX@#2@afterskip } { CTEX@#1@afterskip }
+ \bool_set_eq:cc { CTEX@#2@numbering } { CTEX@#1@numbering }
+ \bool_set_eq:cc { CTEX@#2@fixskip } { CTEX@#1@fixskip }
+ \bool_set_eq:cc { CTEX@#2@hang } { CTEX@#1@hang }
+ \bool_set_eq:cc { CTEX@#2@runin } { CTEX@#1@runin }
+ \cs_set_eq:cc { CTEX@#2@tocline } { CTEX@#1@tocline }
+ \tl_set_eq:cc { CTEX@#2@break } { CTEX@#1@break }
+ \tl_set_eq:cc { CTEX@#2@format } { CTEX@#1@format }
+ \tl_set_eq:cc { CTEX@#2@nameformat } { CTEX@#1@nameformat }
+ \tl_set_eq:cc { CTEX@#2@numberformat } { CTEX@#1@numberformat }
+ \tl_set_eq:cc { CTEX@#2@titleformat } { CTEX@#1@titleformat }
+ \tl_set_eq:cc { CTEX@#2@aftername } { CTEX@#1@aftername }
+ \tl_set_eq:cc { CTEX@#2@aftertitle } { CTEX@#1@aftertitle }
+ }
+\NewDocumentCommand{\NewTitleCommand}{omm}
+ {
+ \newcounter{#2}
+ \cs_set_eq:cN { #2mark } \use_none:n
+ \tl_clear:N \l__ctex_tmp_tl
+ \__ctex_initial_heading:n {#2}
+ \__ctex_def_heading_keys:n {#2}
+ \exp_args:No \ctex_define:n { \l__ctex_tmp_tl }
+ \cs_gset_protected:cpx {#2}
+ {
+ \exp_not:N \@startsection{#2}{#3}
+ {\exp_not:c { CTEX@#2@indent }}
+ {\exp_not:c { CTEX@#2@beforeskip }}
+ {\exp_not:c { CTEX@#2@afterskip }}
+ {\exp_not:N \normalfont\exp_not:c { CTEX@#2@format }}
+ }
+ \cs_new:cpn { CTEX@#2@tocline } ##1##2
+ { \CTEXnumberline{##1}##2 }
+ \exp_args:Nc \providecommand { toclevel@#2 }{#3}
+ \IfValueT{#1}{\eb_title_base_set_eq:nn {#1} {#2}}
+ }
+\NewDocumentCommand{\NewTitleEntryCommand}{O{toc}m}
+ {
+ \cs_new_protected:cpn { #2entry } ##1
+ {
+ \bool_if:cTF { CTEX@#2@numbering }
+ { \CTEX@ifnametrue }
+ { \CTEX@ifnamefalse }
+ \addcontentsline{#1}{#2}{\use:c { CTEX@#2@tocline }{#2}{##1}}
+ }
+ }
-\ctex_define:nn { style }
+\ctex_define:nn { tools }
{
hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl,
hyphen-table .tl_set:N = \l__eb_hyphen_table_tl,
- hyphen-listing .tl_set:N = \l__eb_hyphen_lstlisting_tl,
+ hyphen-listing .tl_set:N = \l__eb_hyphen_listing_tl,
hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
hyphen-every .meta:n =
{
- hyphen-figure = #1,hyphen-table = #1,
- hyphen-listing = #1,hyphen-equation = #1
+ hyphen-figure = {#1},hyphen-table = {#1},
+ hyphen-listing = {#1},hyphen-equation = {#1}
},
hyphen-every .initial:n = .,
- unknown .code:n = \eb_msg_deprecated_option:n { style }
+ unknown .code:n = \eb_msg_deprecated_option:n { tools }
}
-\eb_seq_map_inline:nn
- { figure,table,lstlisting,equation }
+\clist_map_inline:nn
+ { figure,table,listing,equation }
{
\cs_set:cpn { the#1 }
{
@@ -1372,21 +1443,24 @@
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
plan .initial:n = cn,
- columns .meta:n = { multoc = #1 },
+ columns .meta:n = { multoc = {#1} },
title .code:n = \eb_assign_toc_title:n {#1},
bilist .code:n =
{
\tl_gset:Nn \g__eb_bilist_permute_value_tl {#1}
\str_if_eq:nnTF {#1} { mix }
{
- \eb_preto_cmd:nn { CTEX@addtocline }
- { \addtocontents{toc}{\boolfalse{bitoc}} }
- \eb_preto_cmd:nn { CTEX@addbitocline }
- { \addtocontents{toc}{\booltrue{bitoc}} }
+ \AddToHook{cmd/CTEX@addtocline/before}[bitoc]
+ {\addtocontents{toc}{\boolfalse{bitoc}}}
+ \AddToHook{cmd/CTEX@addbitocline/before}[bitoc]
+ {\addtocontents{toc}{\booltrue{bitoc}}}
}
{
- \RemoveFromHook{cmd/CTEX@addtocline/before}
- \RemoveFromHook{cmd/CTEX@addbitocline/before}
+ \IfHookEmptyTF{cmd/CTEX@addtocline/before}{}
+ {
+ \RemoveFromHook{cmd/CTEX@addtocline/before}[bitoc]
+ \RemoveFromHook{cmd/CTEX@addbitocline/before}[bitoc]
+ }
}
},
name .tl_set:N = \l__eb_print_index_name_tl,
@@ -1430,7 +1504,7 @@
{ \par }
}
}
-\cs_new_protected:Npn \eb_toc_float_list_parse:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \eb_toc_list_struct_parse:nnnnn #1#2#3#4#5
{
\group_begin:
\tl_set_eq:Nc \eb@toc@title { list#4name }
@@ -1451,7 +1525,7 @@
\cs_new_protected:Npn \DeclareFloatList #1#2
{
\exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
- {\eb_toc_float_list_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
+ {\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
\ctex_define:n
{
#1 .meta:nn = { ctex/#1 } {##1},
@@ -1498,7 +1572,7 @@
\bool_if:NT \l__eb_toc_plan_cn_bool
{
\IfBooleanF{#1}{\eb@toc@title@level{\eb@toc@title}{}}
- \eb_toc_if_title_between_hook:nn {#1} { main }
+ \eb_toc_if_title_between_hook:nn {#1} { title }
\eb_toc_start_multi_column_ext:n { toc }#4
}
\bool_if:NT \l__eb_toc_plan_bi_bool
@@ -1506,7 +1580,7 @@
\tl_if_eq:NnF \g__eb_bilist_permute_value_tl { mix }
{
\IfBooleanF{#1}{\eb@toc@title@level{\eb@bitoc@title}{}}
- \eb_toc_if_title_between_hook:nn {#1} { bimain }
+ \eb_toc_if_title_between_hook:nn {#1} { bititle }
\eb_toc_start_multi_column_ext:n { tec }
}
}
@@ -1519,19 +1593,6 @@
\seq_put_right:Nn \c__ctex_headings_seq { figure }
\seq_put_right:Nn \c__ctex_headings_seq { lstlisting }
\seq_remove_duplicates:N \c__ctex_headings_seq
-\cs_new_protected:Npn \eb_toc_entry_if_hang:n #1
- {
- \bool_if:NTF \l__eb_toc_entry_hang_bool
- { \contentspush }
- { \use:n }
- {
- \bool_if:NTF \l__eb_toc_number_color_bool
- { \textcolor{ctex@toc@number} }
- { \use:n }
- { \thecontentslabel }
- \tl_use:c { l__eb_toc_#1_after_tl }
- }
- }
\cs_new_protected:Npn \eb_toc_format_define:n #1
{
\ctex_define:n
@@ -1540,72 +1601,135 @@
#1/tocformat .tl_set:c = l__eb_toc_#1_format_tl,
#1/tocformat+ .code:n = \tl_put_right:cn { l__eb_toc_#1_format_tl } {##1},
#1/tocformat~+ .code:n = \tl_put_right:cn { l__eb_toc_#1_format_tl } {##1},
+ #1/tocformat* .tl_set:c = l__eb_toc_#1_entry_nolabel_tl,
#1/tocindent .tl_set:c = l__eb_toc_#1_indent_tl,
+ #1/toclabel .cs_set:cp = { eb_toc_entry_#1:nnn } ##1##2##3,
#1/tocrule .tl_set:c = l__eb_toc_#1_rule_tl,
#1/tocafter .tl_set:c = l__eb_toc_#1_after_tl,
- #1/tocbelow .tl_set:c = l__eb_toc_#1_below_tl
+ #1/tocbelow .tl_set:c = l__eb_toc_#1_below_tl,
+ #1/tocbegin .meta:n = { #1/tocbelow = {##1} },
+ #1/tocsep .tl_set:c = l__eb_toc_#1_sep_tl,
+ #1/tocend .tl_set:c = l__eb_toc_#1_end_tl
}
}
-\cs_new_protected:Npn \eb_toc_format_initial:n #1
+\tl_new:N \l__eb_toc_tmpa_tl
+\tl_new:N \l__eb_toc_tmpb_tl
+\cs_new_protected:Npn \eb_toc_format_initial:nn #1#2
{
- \titlecontents{#1}
- [\tl_use:c { l__eb_toc_#1_indent_tl }]
- {\tl_use:c { l__eb_toc_#1_format_tl }}
- {\eb_toc_entry_if_hang:n {#1}}{}
- {\tl_use:c { l__eb_toc_#1_rule_tl }}
- [\tl_use:c { l__eb_toc_#1_below_tl }]
- \ctex_set:nn {#1}
+ \exp_last_unbraced:Nx \titlecontents
+ {
+ \tl_use:N \l__eb_toc_tmpa_tl
+ \exp_not:n
+ {
+ {#2}
+ [\tl_use:c { l__eb_toc_#2_indent_tl }]
+ {\tl_use:c { l__eb_toc_#2_format_tl }}
+ {\use:c { eb_toc_entry_#2:nnn } { \thecontentslabel } {#2} {#1}}
+ {\tl_use:c { l__eb_toc_#2_entry_nolabel_tl }}
+ {\tl_use:c { l__eb_toc_#2_rule_tl }}
+ [\tl_use:c { l__eb_toc_#2_below_tl }]
+ }
+ \exp_not:o { \l__eb_toc_tmpb_tl }
+ }
+ \ctex_set:nn {#2}
{
- tocindent = 0em,
- tocrule = \tocrule{$\cdot$},
- tocafter = \hspace{1em}
+ tocformat = \IfBooleanT{#1}{\contentsmargin{0pt}},
+ tocindent = 0pt,
+ tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\tocrule{$\cdot$}},
+ toclabel =
+ {
+ \bool_if:NTF \l__eb_toc_entry_hang_bool
+ { \IfBooleanTF{##3}{\use:n}{\contentspush} }
+ { \use:n }
+ { ##1\tl_use:c { l__eb_toc_##2_after_tl } }
+ },
+ tocafter = \hspace{1em},
+ tocsep = .—,
+ tocend = .
}
}
-\cs_new_protected:Npn \RegisterTocName #1
+\seq_new:N \l__eb_toc_every_include_name_seq
+\cs_new_protected:Npn \ExcludeEveryTocName #1
{
- \eb_toc_format_define:n {#1}
- \eb_toc_format_initial:n {#1}
+ \clist_map_inline:nn {#1}
+ { \seq_remove_all:Nn \l__eb_toc_every_include_name_seq {##1} }
}
-\seq_map_function:NN
-\c__ctex_headings_seq \RegisterTocName
-\eb_seq_map_inline:nn
+\cs_new_protected:Npn \IncludeEveryTocName #1
{
- tocformat,tocformat+,tocformat~+,
- tocindent,tocrule,tocline,tocafter,between
+ \clist_map_inline:nn {#1}
+ {
+ \seq_put_right:Nn \l__eb_toc_every_include_name_seq {##1}
+ \seq_remove_duplicates:N \l__eb_toc_every_include_name_seq
+ }
}
+\cs_new_protected:Npn \eb@register@toc@name #1#2
{
- \ctex_define:n
+ \IfBooleanT{#1}
{
- float/#1 .meta:n =
+ \ctex_set:nn { toc } { between = { },bibetween = { } }
+ \tl_set:Nn \l__eb_toc_tmpa_tl {*}
+ \tl_set:Nn \l__eb_toc_tmpb_tl
{
- figure/#1 = ##1,table/#1 = ##1,
- lstlisting/#1 = ##1
+ [\tl_use:c { l__eb_toc_#2_sep_tl }]
+ [\tl_use:c { l__eb_toc_#2_end_tl }]
}
}
+ \IncludeEveryTocName{#2}
+ \eb_toc_format_define:n {#2}
+ \eb_toc_format_initial:nn {#1} {#2}
+ \tl_clear:N \l__eb_toc_tmpa_tl
+ \tl_clear:N \l__eb_toc_tmpb_tl
+ }
+\NewDocumentCommand{\RegisterTocName}{sm}
+ {
+ \clist_map_inline:nn {#2}
+ { \eb@register@toc@name{#1}{##1} }
}
-\eb_seq_map_inline:nn
- { tocafter,tocindent,tocrule }
+\clist_set_from_seq:NN
+\c__ctex_headings_clist \c__ctex_headings_seq
+\exp_args:NV \RegisterTocName \c__ctex_headings_clist
+\ctex_define:n { float/unknown .code:n = \eb_msg_deprecated_option:n { float } }
+\cs_new_protected:Npn \eb@register@every@toc@option #1
{
- \ctex_define:nn { tocset }
+ \ctex_define:nn { toc }
{
- #1-every .code:n =
+ #1-every .code:n =
{
- \ctex_set:n
+ \seq_map_inline:Nn \l__eb_toc_every_include_name_seq
+ { \ctex_set:n { ####1/#1 = {##1} } }
+ }
+ }
+ }
+\cs_new_protected:Npn \RegisterEveryTocOption #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@every@toc@option
+ }
+\RegisterEveryTocOption{tocafter,tocindent,tocrule}
+\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+ {
+ \normalsize\normalfont
+ \ttl@row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+ {
+ \IfBooleanF{#2}
+ {
+ \IfBooleanTF{#1}
+ {\thecontentspage}
{
- part/#1 = ##1,chapter/#1 = ##1,
- section/#1 = ##1,subsection/#1 = ##1,
- float/#1 = ##1
+ \bool_if:NTF \l__eb_toc_dot_align_bool
+ { \contentspage }
+ { \thecontentspage }
}
}
}
}
-\ctex_define:nn { tocset }
+\ctex_define:nn { toc }
{
lolskip .skip_set:N = \eb@toc@lol@skip,
lolskip .initial:n = 10pt,
- between .tl_set:N = \l__eb_toc_main_between_hook_tl,
+ between .tl_set:N = \l__eb_toc_title_between_hook_tl,
between .initial:n = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
- bibetween .tl_set:N = \l__eb_toc_bimain_between_hook_tl,
+ bibetween .tl_set:N = \l__eb_toc_bititle_between_hook_tl,
bibetween .initial:n = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
dotalign .bool_set:N = \l__eb_toc_dot_align_bool,
dotalign .default:n = true,
@@ -1615,25 +1739,63 @@
hang .initial:n = true,
pagenumwd .code:n = \contentsmargin{#1},
pagenumwd .initial:n = 1.55em,
- unknown .code:n = \eb_msg_deprecated_option:n { tocset }
+ unknown .code:n = \eb_msg_deprecated_option:n { toc }
}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+
+\NewHookWithArguments{starttoc/after}{1}
+\AddToHookWithArguments{starttoc/after}[aux]
{
- \normalsize\normalfont
- \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+ \ifbool{@filesw}
{
- \IfBooleanF{#2}
+ \tl_if_exist:cF { tf@#1 }
+ { \iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 } }
+ }
+ {}
+ }
+\cs_set:Npn \@starttoc #1
+ {
+ \group_begin:
+ \makeatletter
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+\AddToHook{enddocument/afterlastpage}
+ {
+ \IfHookEmptyTF{starttoc/after}{}
+ {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+ }
+\cs_set_protected:Npn \AllotPartialExt #1#2
+ {
+ \tl_set:cn { ttl@partial#1 } {#2}
+ \AddToHookWithArguments{cmd/ttl@writepartial/before}
+ {\ttl@topartial{#1}{##1}{##2}}
+ }
+\AllotPartialExt{lol}{pll}
+
+\cs_new_protected:Npn \RegisterTitleIfname #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@title@ifname
+ }
+\cs_new_protected:Npn \eb@register@title@ifname #1
+ {
+ \AddToHookWithArguments{cmd/addcontentsline/before}[title/ifname/#1]
+ {
+ \str_if_eq:nnT {##1} {#1}
{
- \IfBooleanTF{#1}
- {\thecontentspage}
- {
- \bool_if:NTF \l__eb_toc_dot_align_bool
- { \contentspage }
- { \thecontentspage }
- }
+ \addtocontents{##1}
+ {\CTEXifname{\CTEX@ifnametrue}{\CTEX@ifnamefalse}}
}
}
+ \AddToHook{file/\jobname.#1/before}
+ {\cs_set_eq:NN \eb@title@ifname@resume \CTEXifname}
+ \AddToHook{file/\jobname.#1/after}
+ {\cs_set_eq:NN \CTEXifname \eb@title@ifname@resume}
}
+\RegisterTitleIfname{toc}
+
\cs_set_eq:NN \eb@ctexsetii \ctex_set:nn
\cs_new_protected:Npn \SetTocStyle #1#2#3
{
@@ -1648,26 +1810,27 @@
}
\msg_new:nnn { easybase } { undefined-toc-style }
{ The~contents~style~'#1'~of~'#2'~is~not~defined. }
+
\ctex_set:n
{
part =
{
tocformat = \addvspace{1pc}\sffamily\large,
- tocindent = 0em,
+ tocindent = 0pt,
tocrule = \tocrule{}[\bfseries],
tocline = \CTEXnumberline{#1}#2
},
chapter =
{
tocformat = \addvspace{1pc}\sffamily,
- tocindent = 0em,
+ tocindent = 0pt,
tocrule = \tocrule{$\cdot$}[\bfseries],
tocline = \CTEXnumberline{#1}#2
},
section =
{
tocformat = \bool_if:NF \l__eb_class_mode_book_bool { \sffamily },
- tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 1.5em } { 0em },
+ tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 1.5em } { 0pt },
tocrule =
{
\bool_if:NTF \l__eb_class_mode_book_bool
@@ -1704,14 +1867,14 @@
binumber .initial:n = \arabic{chapter}
}
\cs_new_protected:Npn \eb_counter_zero:n #1
- { \eb_seq_map_inline:nn {#1} { \setcounter{##1}{0} } }
+ { \clist_map_inline:nn {#1} { \setcounter{##1}{0} } }
\RenewDocumentCommand{\appendix}
{O{Appendix\space}D(){\Alph{chapter}}}
{
\ctex_assign_heading_name:nn { biappendix } {#1}
\bool_if:NTF \l__eb_class_mode_book_bool
{
- \eb_preto_cmd:nn { eb@before@addbitoc@hook }
+ \eb_preto_cmd:nn { eb@before@bitocline@hook }
{
\def\CTEX@prechapter{\CTEX@prebiappendix}
\def\CTEX@thechapter{#2}
@@ -1737,53 +1900,52 @@
}
}
-\ctex_define:nn { subfont }
+\ctex_define:nn { font }
{
- caption-table .tl_set:N = \l__eb_subfont_caption_table_tl,
- caption-figure .tl_set:N = \l__eb_subfont_caption_figure_tl,
- caption-listing .tl_set:N = \l__eb_subfont_caption_listing_tl,
+ caption-table .tl_set:N = \l__eb_font_caption_table_tl,
+ caption-figure .tl_set:N = \l__eb_font_caption_figure_tl,
+ caption-listing .tl_set:N = \l__eb_font_caption_listing_tl,
caption-every .meta:n =
{
- caption-table = #1,caption-figure = #1,
- caption-listing = #1
+ caption-table = {#1},caption-figure = {#1},
+ caption-listing = {#1}
},
caption-every .initial:n = \sffamily\small,
- footnote .tl_set:N = \eb@subfont@footnote,
+ footnote .tl_set:N = \eb@font@footnote,
marginpar .tl_set:N = \marginfont,
marginpar .initial:n = \footnotesize,
- unknown .code:n = \eb_msg_deprecated_option:n { subfont }
+ unknown .code:n = \eb_msg_deprecated_option:n { font }
}
-\cs_new_protected:Npn \addtosubfont #1#2
+\cs_new_protected:Npn \ebaddtofont #1#2
{
- \str_case:nnF {#1}
+ \str_case:nn {#1}
{
{ table }
- { \tl_put_right:Nn \l__eb_subfont_caption_table_tl {#2} }
+ { \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} }
{ figure }
- { \tl_put_right:Nn \l__eb_subfont_caption_figure_tl {#2} }
+ { \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2} }
{ listing }
- { \tl_put_right:Nn \l__eb_subfont_caption_listing_tl {#2} }
+ { \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2} }
{ every }
{
- \tl_put_right:Nn \l__eb_subfont_caption_table_tl {#2}
- \tl_put_right:Nn \l__eb_subfont_caption_figure_tl {#2}
- \tl_put_right:Nn \l__eb_subfont_caption_listing_tl {#2}
+ \tl_put_right:Nn \l__eb_font_caption_table_tl {#2}
+ \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2}
+ \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2}
}
+ { footnote }
+ { \tl_put_right:Nn \eb@font@footnote {#2} }
+ { marginpar }
+ { \tl_put_right:Nn \marginfont {#2} }
}
- { \tl_put_right:cn { l__eb_subfont_#1_tl } {#2} }
}
+\cs_set_eq:NN \addtosubfont \ebaddtofont
+
\ctex_define:nn { spread }
{
line .code:n = \setspread{#1},
- line .initial:n =
- {
- \fp_compare:nNnTF { \l__ctex_line_spread_fp } = { 1.3 }
- { 1.354 }
- { \fp_use:N \l__ctex_line_spread_fp }
- },
table .fp_set:N = \l__eb_spread_table_fp,
- table .initial:n = 1.354,
- math .fp_set:N = \l__eb_spread_math_fp,
+ table .initial:n = 1.2,
+ math .tl_set:N = \eb@spread@math,
math .initial:n = 1.2,
footnote .code:n =
{
@@ -1800,17 +1962,17 @@
caption-listing .fp_set:N = \l__eb_spread_caption_listing_fp,
caption-every .meta:n =
{
- caption-table = #1,caption-figure = #1,
- caption-listing = #1
+ caption-table = {#1},caption-figure = {#1},
+ caption-listing = {#1}
},
caption-every .initial:n = 1.2,
every .meta:n =
{
- line = #1,table = #1,math = #1,
- caption-every = #1,footnote = #1
+ line = {#1},table = {#1},math = {#1},
+ caption-every = {#1},footnote = {#1}
},
abovedisplayskip .code:n =
- {\AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}}},
+ { \AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}} },
abovedisplayskip .initial:n = 0.5ex plus .1ex minus .1ex,
belowdisplayskip .code:n =
{
@@ -1823,16 +1985,21 @@
belowdisplayskip .initial:n = 0.5ex plus .1ex minus .1ex,
unknown .code:n = \eb_msg_deprecated_option:n { spread }
}
-\AfterPreamble
- {\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
+\tl_if_eq:NnT \l__ctex_scheme_tl { chinese }
+ {
+ \fp_compare:nNnTF { \l__ctex_line_spread_fp } = { 1.3 }
+ { \ctex_set:nn { spread } { line = 1.354,table = 1.354 } }
+ { \ctex_set:nn { spread } { line = \fp_use:N \l__ctex_line_spread_fp } }
+ }
+\AfterPreamble{\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
-\eb_seq_map_inline:nn
+\clist_map_inline:nn
{ table,figure,listing }
{
\DeclareCaptionFont{eb@#1@font}
{
\setspread{\fp_use:c { l__eb_spread_caption_#1_fp }}
- \tl_use:c { l__eb_subfont_caption_#1_tl }
+ \tl_use:c { l__eb_font_caption_#1_tl }
}
}
\captionsetup
@@ -1901,7 +2068,7 @@
}{}
\cs_new_protected:Npn \eb_enumitem_label_set:nn #1#2
{ \SetEnumitemValue{label}{#1}{\color{ctex@emph}#2} }
-\eb_seq_map_inline:nn
+\clist_map_inline:nn
{
{ bullet } { \textbullet },
{ endash } { \normalfont\bfseries\textendash },
@@ -1915,7 +2082,7 @@
\SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*}
\SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*}
\setlist{nosep,labelsep = 0.5em,listparindent = \parindent}
-\setlist[1]{leftmargin = *,align = left,mode = unboxed}
+\setlist[1]{leftmargin = *,align = left}
\setlist[itemize,1]{label = bullet}
\setlist[itemize,2]{label = endash}
\setlist[itemize,3]{label = asterisk}
@@ -1924,7 +2091,7 @@
\setlist[enumerate,3]{label = roman,ref = enumiii}
\setlist[description]{font = sf,style = standard}
\newlist{eb@eqcomp@list}{description}{1}
-\setlist[eb@eqcomp@list]{nosep,labelsep = 0em}
+\setlist[eb@eqcomp@list]{nosep,labelsep = 0pt}
\cs_new:Npn \seteqcomplist #1 { \setlist*[eb@eqcomp@list]{#1} }
\keys_define:nn { eb/eqcomp }
@@ -1932,7 +2099,7 @@
width .dim_set:N = \l__eb_eqsymb_width_dim,
width .initial:n = 10pt,
delim .tl_set:N = \l__eb_eqsymb_delim_tl,
- delim .initial:n = ——,
+ delim .initial:n = \tl_if_eq:NnTF \l__ctex_scheme_tl { chinese } { —— } { --- },
space .dim_set:N = \l__eb_eqsymb_space_dim,
space .initial:n = 0.25em,
item-align .tl_set:N = \l__eb_eqsymb_item_align_tl,
@@ -2007,15 +2174,22 @@
\bool_if:NT \l__eb_theorem_support_bool
{
\RequirePackage{amsthm,thmtools}
- \cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
+ \cs_set_eq:NN \eb@declaretheoremstyle@save \declaretheoremstyle
+ \cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
- {\eb@declaretheoremsyle@save[#1,#3]{#2}}
- \ctex_define:nn { thmset }
- { unknown .code:n = \eb_msg_deprecated_option:n { thmset } }
+ {\eb@declaretheoremstyle@save[#1,#3]{#2}}
+ \RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+ {\eb@declaretheorem@save[style = default,#1,#3]{#2}}
+ \ctex_define:nn { thmt }
+ {
+ loeskip .skip_set:N = \eb@thmt@loe@skip,
+ loeskip .initial:n = 10pt,
+ unknown .code:n = \eb_msg_deprecated_option:n { thmt }
+ }
\declaretheoremstyle{default}[
spaceabove = 0ex plus .1ex,
spacebelow = 0ex plus .1ex,
- headindent = 0em,
+ headindent = 0pt,
within = \bool_if:NT \l__eb_class_mode_book_bool { chapter },
headpunct = { },
headfont = \color{ctex@emph}\sffamily,
@@ -2024,6 +2198,36 @@
]
\theoremstyle{default}
\cs_undefine:N \proof
+ \DeclareFloatList{theorem}{loe}
+ \AllotPartialExt{loe}{ple}
+ \eb_preto_cmd:nn { listoftheorems }
+ {
+ \group_begin:
+ \def\contentsline #1 {\use:c { thmt@contentsline@#1 }{#1}}
+ }
+ \eb_appto_cmd:nn { listoftheorems } { \group_end: }
+ \eb_preto_cmd:nn { @chapter }
+ {
+ \skip_if_eq:nnF { \eb@thmt@loe@skip } { \c_zero_skip }
+ { \addtocontents{loe}{\protect\addvspace{\skip_use:N \eb@thmt@loe@skip}} }
+ }
+ \def\thmtlo@chaptervspacehack{}
+ \def\thmtname{\thmt@thmname}
+ \def\thmtenvname{\thmt@envname}
+ \def\thmtnote{\thmt@shortoptarg}
+ \def\thmtformatoptarg #1 {#1}
+ \def\thmtifname #1#2 {\ifbool{thmt@isstarred}{#2}{#1}}
+ \def\thmtifnote #1#2
+ {
+ \tl_if_empty:NTF \thmt@shortoptarg
+ {#2}
+ { \protect\thmtformatoptarg{#1} }
+ }
+ \NewDocumentCommand{\settheoremtocline}{smm}
+ {
+ \IfBooleanT{#1}{\def\thmt@contentslineIgnore{\thmt@contentsline}}
+ \cs_set:cpn { ll@#2 } {#3}
+ }
}
\setchemformula
@@ -2051,21 +2255,21 @@
cases,cases*,dcases,dcases*,rcases,rcases*,drcases,drcases*,
aligned,alignedat,gathered,multlined,lgathered,rgathered
}
- { \setspread{\fp_use:N \l__eb_spread_math_fp} }
-\eb_seq_map_inline:nn
+ { \setspread{\eb@spread@math} }
+\clist_map_inline:nn
{ \start@gather,\start@align,\start@multline }
{
\eb_patch_cmd:Nnn #1
{ \collect@body }
{
- \setspread{\fp_use:N \l__eb_spread_math_fp}
+ \setspread{\eb@spread@math}
\collect@body
}
}
\eb_patch_cmd:Nnn \gather@split
{ \spread@equation }
{
- \setspread{\fp_use:N \l__eb_spread_math_fp}
+ \setspread{\eb@spread@math}
\spread@equation
}
\ctex_at_end_package:nn { unicode-math }
@@ -2074,7 +2278,7 @@
{ \file_if_exist_input:n { eb-tcolorbox.cfg } }
\bool_set_true:N \l__eb_backend_bibtex_bool
-\ctex_define:nn { bibset }
+\ctex_define:nn { bib }
{
backend .choice:,
backend .value_required:n = true,
@@ -2084,9 +2288,9 @@
bibstyle .initial:n = numerical,
citestyle .tl_set:N = \l__eb_bib_cite_style_tl,
datafile .clist_set:N = \l__eb_bib_datafile_clist,
- bititle .tl_set:N = \eb@bib@bitoc@title,
+ bititle .tl_set:N = \bibibname,
bititle .initial:n = Bibliography,
- unknown .code:n = \eb_msg_deprecated_option:n { bibset }
+ unknown .code:n = \eb_msg_deprecated_option:n { bib }
}
\cs_new_protected:Npn \eb_bibtex_natbib_set:
@@ -2129,8 +2333,8 @@
\cs_new_protected:Npn \eb_biber_toc_title:n #1
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \bichapter*{#1}{\eb@bib@bitoc@title} }
- { \bisection*{#1}{\eb@bib@bitoc@title} }
+ { \bichapter*{#1}{\bibibname} }
+ { \bisection*{#1}{\bibibname} }
}
\cs_new_protected:Npn \eb_biber_biblatex_set:
{
@@ -2198,6 +2402,12 @@
\lstloadlanguages{C,C++,Java,Python,Matlab}
\clist_new:N \l__eb_hyperref_clist
+\cs_new_protected:Npn \eb_set_hyperref:n #1
+ {
+ \IfPackageLoadedTF{hyperref}
+ {\hypersetup}
+ {\eb_put_hyperref:n}{#1}
+ }
\cs_new_protected:Npn \eb_put_hyperref:n #1
{ \clist_put_right:Nn \l__eb_hyperref_clist {#1} }
\cs_new_protected:Npn \eb_define_link_color:nnn #1#2#3
@@ -2209,9 +2419,9 @@
\cs_new_protected:Npn \eb_define_theme_color:n #1
{ \definecolorset{HTML}{ctex@}{}{frame,#1;emph,#1;verb,#1} }
\cs_new_protected:Npn \DeclareLinkColor #1
- { \ctex_define:nx { refset } { \eb_link_color_set:n {#1} } }
+ { \ctex_define:nx { ref } { \eb_link_color_set:n {#1} } }
\cs_new_protected:Npn \DeclareThemeColor #1
- { \ctex_define:nx { style } { \eb_theme_color_set:n {#1} } }
+ { \ctex_define:nx { tools } { \eb_theme_color_set:n {#1} } }
\cs_new_protected:Npn \eb_color_assign_cmd_set:nn #1#2
{
\cs_new:cpn { eb_#2_color_set:n } ##1
@@ -2225,13 +2435,13 @@
},
}
}
-\eb_seq_map_inline:nn
+\clist_map_inline:nn
{
{ linkcolor } { link },
{ color } { theme }
}
{ \eb_color_assign_cmd_set:nn #1 }
-\ctex_define:nx { refset }
+\ctex_define:nx { ref }
{
linkcolor .choice:,
linkcolor .value_required:n = true,
@@ -2246,7 +2456,7 @@
linkcolor .initial:n = navyblue,
linkcolor-every .code:n = \eb_define_link_color:n { \exp_not:n {#1} }
}
-\ctex_define:nx { style }
+\ctex_define:nx { tools }
{
color .choice:,
color .value_required:n = true,
@@ -2262,37 +2472,21 @@
color-every .code:n = \eb_define_theme_color:n { \exp_not:n {#1} }
}
-\bool_new:N \l__eb_toc_number_color_bool
\cs_new_protected:Npn \eb_link_border_set:n #1
{
- \bool_set_false:N \l__eb_toc_number_color_bool
\ctex_at_end_package:nn { hyperref }
{
\def\@pdfborder{#1}
\def\Hy@colorlink ##1 {\begingroup}
\def\Hy@endcolorlink{\endgroup}
}
- \eb_put_hyperref:n { colorlinks = false }
+ \eb_set_hyperref:n { colorlinks = false }
}
\cs_new_protected:Npn \eb_link_colors_set:
- {
- \bool_set_true:N \l__eb_toc_number_color_bool
- \colorlet{ctex@toc@number}{ctex@link}
- \eb_put_hyperref:n { colorlinks }
- }
+ { \eb_set_hyperref:n { colorlinks } }
\cs_new_protected:Npn \eb_link_toc_put:n #1
- {
- \eb_put_hyperref:n { linktoc = #1 }
- \eb_seq_map_inline:nn { page,none }
- {
- \tl_if_eq:NnT \l_keys_value_tl {##1}
- {
- \colorlet{ctex@toc@number}{black}
- \seq_map_break:
- }
- }
- }
-\ctex_define:nn { refset }
+ { \eb_set_hyperref:n { linktoc = #1 } }
+\ctex_define:nn { ref }
{
linktype .choice:,
linktype .value_required:n = true,
@@ -2302,17 +2496,11 @@
linktype/various .meta:n = linktype/colors,
linktype .initial:n = edge,
linktoc .choice:,
+ linktoc .value_required:n = true,
linktoc/unknown .code:n = \eb_link_toc_put:n {#1},
- linktoc .default:n = all,
linktoc .initial:n = all,
- unknown .code:n =
- {
- \eb_put_hyperref:x
- {
- \l_keys_key_str
- \tl_if_empty:NF \l_keys_value_tl { = {#1} }
- }
- }
+ unknown .code:n = \eb_set_hyperref:x { \eb_unknown_kv_handle: },
+ unknown .default:V = \c_novalue_tl
}
\cs_new_protected:Npn \eb_allow_url_break:
@@ -2370,7 +2558,8 @@
\ctex_define:n
{
lstlistlistingname .tl_set:N = \listlstlistingname,
- lstlistingname .tl_set:N = \lstlistingname
+ lstlistingname .tl_set:N = \lstlistingname,
+ listtheoremname .tl_set:N = \listtheoremname
}
\tl_if_eq:NnTF \l__ctex_scheme_tl { chinese }
{
@@ -2380,7 +2569,8 @@
listfigurename = 插图清单,
listtablename = 附表清单,
lstlistlistingname = 代码清单,
- lstlistingname = 代码
+ lstlistingname = 代码,
+ listtheoremname = 定理清单
}
}
{
@@ -2392,7 +2582,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/02}{2024ar}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/16}{2024br}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 505b625244..989da36329 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index edd3c476ce..1c3687bbde 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -4,8 +4,8 @@
\usepackage[fontset = fandol]{ctex}
\usepackage
{
- enumitem,newtxmath,indentfirst,tabularray,
- fancyvrb,geometry,hologo,pifont,changelog,calc
+ enumitem,indentfirst,tabularray,fancyvrb,
+ geometry,hologo,pifont,changelog,calc
}
\definecolorscheme{blue}
{
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024ar,
- date = 2024/04/02,
+ version = v2024br,
+ date = 2024/05/16,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -47,28 +47,45 @@
\addtokomafont{subsubsection}{\normalfont\sffamily}
\DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section}
\DeclareFieldFormat[book]{title}{\textsf{#1}}
-\geometry{margin = 1in,marginparwidth = 0.6in}
+\geometry{margin = 1in,marginparwidth = 0.6in,footskip = 0.5in}
+\renewlist{cnltxlist}{description}{2}
\SetEnumitemValue{label}{smallbullet}{\small\color{DarkBlue}\textbullet}
\setlist{nosep,topsep = \smallskipamount,labelsep = 0.5em}
\setlist[1]{labelindent = \parindent}
\setlist[itemize,1]{label = smallbullet,leftmargin = *}
+\setlist[cnltxlist]
+ {
+ leftmargin = 0pt,
+ labelwidth = 2em,
+ itemindent = -1em,
+ labelsep = 0pt,
+ listparindent = 2em,
+ topsep = \smallskipamount,
+ itemsep = \smallskipamount,
+ partopsep = 0ex,
+ parsep = 0ex
+ }
\setcounter{tocdepth}{2}
-\SetTblrInner[talltblr]{hline{1,Z} = {0.8pt,DarkBlue}}
-\SetTblrTemplate{caption}{empty}
+\SetTblrInner[longtblr]{columns = c,hline{1,Z} = {1pt,DarkBlue}}
+\SetTblrOuter[longtblr]{presep = \bigskipamount,postsep = \bigskipamount}
+\DefTblrTemplate{caption-tag}{default}{表\thetable}
+\DefTblrTemplate{caption-sep}{default}{\quad}
\DefTblrTemplate{remark-sep}{default}{\space}
+\SetTblrStyle{caption-tag}{font = \bfseries}
\SetTblrStyle{remark}{font = \small\normalfont}
\ExplSyntaxOn\makeatletter
% * Do not add entries to the index
+% + Canceling the \item command in the list environment
% - Leave the option value blank
-\let\isvalue\cnltx@isvalue
-\NewDocumentCommand{\kvsplit}{st-mm}
+\NewDocumentCommand{\kvsplit}{st+t-mm}
{
- \item\code
+ \IfBooleanF{#2}{\item}
+ \code
{
- \IfBooleanTF{#1}{\option*{#3}}{\option{#3}}
+ \IfBooleanTF{#1}{\option*{#4}}{\option{#4}}
\cnltx@isvalue
- \IfBooleanTF{#2}{#4}{\splitmarg{#4}}
+ \IfBooleanTF{#3}{#5}{\splitmarg{#5}}
}
\cnltx@checkdefault{\hfill\newline}
}
@@ -113,6 +130,12 @@
\IfBooleanF{#1}{\cnltx@checkdefault{\hfill\newline}}
}
\newnote{\newtag}[1][New]{\fbox{#1}}
+\newnote{\newtagv}[2][New]{#1\\#2}
+\NewDocumentCommand{\optpath}{sm}
+ {
+ \IfBooleanF{#1}{\item}
+ \code{\textcolor{SlateGray}{#2}}
+ }
% Multi-row values alignment when there are many choices
\newcommand{\leftfillchoice}[2]
{
@@ -121,29 +144,8 @@
}
% Use a separate module margin marker to prevent overlap
\newcommand{\smodule}[1]{\cnltx@module@text*{\normalsize #1}}
-\newcommand{\noitemsep}{\setlength{\itemsep}{0ex}}
-\newcommand{\insertalltblr}[3][]
- {
- \begin{center}
- \begin{talltblr}[#1]{#2}
- #3
- \end{talltblr}
- \end{center}
- }
\renewcommand{\cnltx@package@abstract@width}{0.85\linewidth}
\renewcommand{\cnltx@write@lastname}{}
-\renewcommand{\cmltx@list@setup}
- {
- \setlength{\leftmargin}{0em}
- \setlength{\labelwidth}{2em}
- \setlength{\itemindent}{-1em}
- \setlength{\labelsep}{0em}
- \setlength{\listparindent}{2em}
- \setlength{\topsep}{\smallskipamount}
- \setlength{\itemsep}{\smallskipamount}
- \setlength{\partopsep}{0ex}
- \setlength{\parsep}{0ex}
- }
\newcounter{ctexexam}
\define@key{FV}{labelref}{\def\ctexexamlabelref{\label{#1}}}
\let\ctexexamlabelref\empty
@@ -156,13 +158,13 @@
rulecolor = \color{DarkBlue},
framerule = 0.5pt,
frame = single,
- framesep = 6pt
+ framesep = 8pt
}
\DefineVerbatimEnvironment{frameverb}{Verbatim}
{
listparameters =
{
- \setlength{\topsep}{\bigskipamount}
+ \setlength{\topsep}{1.2\bigskipamount}
\appto\FV@EndList{\nointerlineskip}
}
}
@@ -171,29 +173,40 @@
label = \rule{0pt}{12pt}\textnormal{\bfseries 例~\arabic{ctexexam}},
listparameters =
{
- \setlength{\topsep}{\bigskipamount}
+ \setlength{\topsep}{1.2\bigskipamount}
\appto\FV@EndList{\nointerlineskip}
\refstepcounter{ctexexam}\ctexexamlabelref
}
}
+\def\command{\cnltx@command}
+\def\environment{\cnltx@environment}
+\def\opt{\@cnltx@option@item\option}
+\def\keyval{\@cnltx@option@item\key}
+\def\keylit{\@cnltx@option@item\keyis}
+\def\keychoice{\@cnltx@option@item\choicekey}
+\def\keybool{\@cnltx@option@item\boolkey}
\makeatother\ExplSyntaxOff
\labelformat{section}{节#1}
\labelformat{subsection}{小节#1}
\labelformat{subsubsection}{小节#1}
\labelformat{ctexexam}{例#1}
+\labelformat{table}{表#1}
\begin{document}
\section{准备开始}
您在使用 \easybook{} 文档类编写文档前可能需要具备以下的条件:
\begin{itemize}
- \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
- \item 由于文档类用到了一些 \LaTeX 和依赖宏包较新的功能,需要版本至少在\textbf{2021/11/15}以后的 \LaTeX 内核支持。建议您安装最新的 \TeX 发行版。
- \item 虽然手册对基本用法做了介绍,但这并不是入门教程,所涉及到宏包的用法与命令也需要有了解。您应当具有一定的 \LaTeX 使用基础,可以在 \TeX 综合网站 \href{https://www.ctan.org/}{CTAN} 查看相关资源。
+ \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式之一。
+ \item 由于文档类用到了一些 \hologo{LaTeX} 和依赖宏包较新的功能,需要版本至少在\textbf{2021/11/15}以后的 \hologo{LaTeX} 内核支持。建议您安装最新的 \hologo{TeX} 发行版。
+ \item 虽然手册对基本用法做了介绍,但这并不是入门教程,所涉及到宏包的用法与命令并未进行详细介绍,需要对它们有所了解。您应当具有一定的 \hologo{LaTeX} 使用基础,可以在 \hologo{TeX} 综合网站 \href{https://www.ctan.org/}{CTAN} 查看相关资源。
\end{itemize}
+\subsection{前言}
+对于排版外文文档已有诸如 \cls*{KOMA-Script} 和 \cls*{memoir} 等应用广泛的文档类,但这些文档类并不是为中文用户设计的,难免有些水土不符,且用户手册繁杂,对于普通用户来说学习成本高,难以快速上手。中文文档的解决方案 \pkg*{ctex} 宏集解决了中文输出和章节标题格式的设置问题,但在编写文档过程中往往需要更多基本的定制功能,例如目录、图表标题、页眉页脚、脚注和页面边距等,这往往需要额外加载不同功能的宏包。\easybook{} 文档类在 \cls*{ctexbook} 基础上载入了一些使用频率较高且基本稳定的宏包,对它们的功能进行整合并优化联动使用,模块化的改装提供统一的接口兼容 \pkg*{ctex} 文档类,可以满足学术类文档例如中国学位论文模板的基本需求。\easybook{} 提供了与 \CTeX 相同现代化风格的键值设置,支持不同类型的选项与层次化的选项设置。
+
\subsection{基本用法}
\label{subsec:basic usage}
-以下一份简单的 \TeX 文档演示了 \easybook{} 的最基本用法,在导言区进行宏包载入与文档设置,一些详细的使用样例会不定期上传在 \href{https://www.latexstudio.net/}{\LaTeX 工作室} 的网站。
+以下一份简单的 \TeX 文档演示了 \easybook{} 的最基本用法,在导言区进行宏包载入与文档设置,一些详细的使用样例会不定期上传在 \href{https://www.latexstudio.net/}{\hologo{LaTeX} 工作室} 的网站。
\begin{frameverb}
\documentclass[文档类选项]{easybook}
@@ -236,31 +249,31 @@
\ding{72} 需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。
\subsection{依赖宏包}
-以下为 \pkg*{easybase} 直接调用的关键宏包清单,通常情况下它们是常用且稳定的。\colorbox{PaleTurquoise}{蓝色}背景的宏包表示修改了或依赖它们的内部命令。\colorbox{GreenYellow}{绿色}背景的宏包表示并未调用它们,但做了一些预配置,可在导言区手动载入以实现相关的功能。
-\insertalltblr
+\ref{table:package list} 为 \pkg*{easybase} 直接调用的关键宏包清单,通常情况下它们是常用且稳定的。\colorbox{PaleTurquoise}{蓝色}背景的宏包表示修改了或依赖它们的内部命令。\colorbox{GreenYellow}{绿色}背景的宏包表示并未调用它们,但做了一些预配置,可在导言区手动载入以实现相关的功能。
+\begin{longtblr}
+ [caption = 依赖的宏包清单,label = table:package list]
{
- colspec = *{5}{c},
- cells = {cmd = \pkg*},
- cell{1}{3,4} = PaleTurquoise,
- cell{2}{5} = PaleTurquoise,
- cell{3}{2,4} = PaleTurquoise,
- cell{5}{1} = GreenYellow,
- cell{1}{2} = GreenYellow,
- cell{3}{1,4} = GreenYellow
- }{
- amsthm & bicaption & ctex & caption & chemformula \\
- enumitem & etoolbox & fancyhdr & geometry & hyperref \\
- imakeidx & listings & marginnote & mathtools & multicol \\
- pifont & pdfpages & siunitx & spbmark & thmtools \\
- tcolorbox & titletoc & tabularray & ulem &
+ cells = {cmd = \pkg*},
+ cell{1}{3,4} = PaleTurquoise,
+ cell{2}{5} = PaleTurquoise,
+ cell{3}{2,4} = PaleTurquoise,
+ cell{5}{1} = GreenYellow,
+ cell{1}{2} = GreenYellow,
+ cell{3}{1,4} = GreenYellow
}
+ amsthm & bicaption & ctex & caption & chemformula \\
+ enumitem & etoolbox & fancyhdr & geometry & hyperref \\
+ imakeidx & listings & marginnote & mathtools & multicol \\
+ pifont & pdfpages & siunitx & spbmark & thmtools \\
+ tcolorbox & titletoc & tabularray & ulem &
+\end{longtblr}
\section{文档类选项}
\label{sec:document class options}
文档类选项应当在使用 \easybook{} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有 \ding{73} 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
\subsection{基本选项}
-\begin{options}
+\begin{cnltxlist}
\opt{draft}
开启草稿模式会加快编译速度,表现有显示页面边框、行溢出的地方显示黑色方块、图片变成占位方框、显示当前日期和关闭超链接渲染。不使用绘图宏包及依赖 \pkg*{tcolorbox} 宏包的盒子环境也会增快编译速度,详情见\ref{subsec:box}。
\opt{newline}\dtag
@@ -269,18 +282,18 @@
文档主题方案选项 \option{scheme} 扩展了 \CTeX 文档类中同名选项原有的作用范围,选项值 \code{plain} 可使各类标题变为英文形式。包括章节标题、图表标题和定理名等。
\opt{enmode}\dtag
同时开启 \option{newline} 和 \keyis{scheme}{plain} 选项以符合英文原生风格。
- \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\textcolor{SlateGray}{other paper}}
+ \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\optpath*{other paper}}
文档页面尺寸选项将参数交给 \pkg*{geometry} 宏包处理,可使用它支持的所有标准纸张规格。
\keyval{configs}{配置文件列表}\dtag\newtag[Chg]%
载入用户配置的文件名列表,文件列表以花括号包裹并以英文逗号分隔。文件名应包含如 \code{tex}、\code{def} 或 \code{cfg} 等扩展名。若配置文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.cfg}。
\keychoice{floatpage}{true,\fbox{false}}
开启这个选项后浮动环境 \env{table} 和 \env{figure} 的比例参数会使用默认值。关闭它则尽可能避免出现浮动页,使图表环境与正文段落更加紧凑,减少多余的空白版面。
\keychoice{theorem}{\fbox{true},false}
- 是否提供定理功能支持。选项开启时定理样式模块生效,此时会载入 \pkg*{amsthm} 和 \pkg*{thmtools} 宏包。
-\end{options}
+ 是否提供定理功能支持。选项开启时定理模块生效,此时会载入 \pkg*{amsthm} 和 \pkg*{thmtools} 宏包。
+\end{cnltxlist}
\subsection{配置字体}
-\begin{options}
+\begin{cnltxlist}
\keychoice{cjkfont}{adobe,fandol,founder,mac,macnew,macold,ubuntu,windows,none}\dtag
中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \option*{fontset} 选项是等效的,如果没有指定 \option{cjkfont} 的值,将会自动检测操作系统并选择相应的字体。
@@ -291,93 +304,89 @@
\setCJKmonofont{FangSong}
\newCJKfontfamily[song]\songti{SimSun}
\end{ctexexam}
-\end{options}
-
-\begin{options}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
- 预置的英文字体相关配置方案如下表所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用其它英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
- \insertalltblr[
- remark{\ding{72}} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。
- ]{
- colspec = @{}*{4}{c}@{},
- hline{2} = {0.5pt,DarkBlue},
- row{1} = {font = \sffamily},
- column{1} = {cmd = \code}
- }{
- & 正文字体 & 无衬线字体 & 等宽字体 \\
- noto & Noto Serif & Noto Sans & Noto Sans Mono \\
- times & XITS & TG Heros & TG Cursor \\
- times* & Times New Roman & Arial & Courier New \\
- ebgaramond & EB Garamond & Libertinus Sans & LM Mono \\
- palatino & TG Pagella & Libertinus Sans & LM Mono \\
- libertine & Libertinus Serif & Libertinus Sans & LM Mono
- }
-\end{options}
-
-\begin{options}
+ 预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用其它英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
+ \begin{longtblr}
+ [
+ caption = 英文字体预设方案,
+ label = table:english font,
+ remark{\ding{72}} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。,
+ postsep = \bigskipamount-\itemsep
+ ]{
+ hline{2} = {0.5pt,DarkBlue},
+ row{1} = {font = \sffamily},
+ column{1} = {cmd = \code}
+ }
+ & 正文字体 & 无衬线字体 & 等宽字体 \\
+ noto & Noto Serif & Noto Sans & Noto Sans Mono \\
+ times & XITS & TG Heros & TG Cursor \\
+ times* & Times New Roman & Arial & Courier New \\
+ ebgaramond & EB Garamond & Libertinus Sans & LM Mono \\
+ palatino & TG Pagella & Libertinus Sans & LM Mono \\
+ libertine & Libertinus Serif & Libertinus Sans & LM Mono
+ \end{longtblr}
\keychoice{mathfont}{\fbox{times},noto,notosans,nc,ncf,stix2,charter,ebgaramond,libertine}\dtag
\leftfillchoice{mathfont}{minion,garamondx,baskervaldx,baskerville,none} \\
选择合适的数学字体,将会加载 \pkg*{newtxmath} 和 \pkg*{bm} 宏包。使用选项 \code{none} 时可以使用 \pkg*{unicode-math} 等其它数学字体宏包定义字体。
-\end{options}
+\end{cnltxlist}
\subsection{\textsf{article} 模式}
-\begin{options}
+\begin{cnltxlist}
\keychoice{class}{\fbox{book},article}
使用 \easybook{} 文档类可以有两种模式,默认为 \cls*{book} 模式。选用 \code{article} 会变为 \code{oneside} 单面排版,同时使文档编号、结构等与标准 \cls*{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \cs*{chapter} 命令。此时\ref{subsec:directory command} 中目录命令的 \option{chapter} 选项会失效,将以 \code{section} 标题级别输出目录。如果使用 \cls*{ctexart} 配合 \pkg*{easybase} 宏包,则选项值 \code{book} 会失效。
\opt{book}
开启 \cls*{book} 书籍模式,与 \keyis*{class}{book} 等效。
\opt{article}
开启 \cls*{article} 文章模式,与 \keyis*{class}{article} 等效。
-\end{options}
+\end{cnltxlist}
\section{接口选项}
\label{sec:interface options}
-\begin{commands}
- \command*{ctexset}[\marg{键值列表}]
- \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如下表所示。模块名也是统一接口 \cs*{ctexset} 的路径,不同模块单独接口的命令名\textbf{加上前缀} \code{eb}:
- \insertalltblr
+\begin{cnltxlist}
+ \command*{ctexset}[\oarg{模块名}\marg{键值列表}]
+ \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如\ref{table:module List} 所示。
+ \begin{longtblr}
+ [caption = 模块功能和名称清单,label = table:module List]
{
- colspec = @{}*{5}{c}@{},
- hline{3} = {0.5pt,DarkBlue},
- row{1,3} = {font = \sffamily,belowsep = 0pt},
- row{2,4} = {cmd = \module*}
- }{
- \hyperref[subsec:style]{风格} & \hyperref[subsec:other font]{其它字体} & \hyperref[subsec:spacing]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
- style & subfont & spread & refset & bibset \\
- \hyperref[subsec:theorem of style]{定理样式} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog style]{目录样式} & \\
- thmset & geoset & hdrset & tocset &
+ hline{3} = {0.5pt,DarkBlue},
+ row{1,3} = {font = \sffamily},
+ row{2,4} = {cmd = \module*}
}
-
- 例如使用下面\ref{subsec:style} 介绍的风格 \module*{style} 模块,路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行:
- \begin{ctexexam}
+ \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:spread]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
+ tools & font & spread & ref & bib \\
+ \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\
+ thmt & geo & hdr & toc &
+ \end{longtblr}
+
+ \ref{exam:kv setting} 使用\ref{subsec:tools} 介绍的工具模块 \module*{tools} 举例三种键值列表设置方式:1. 各 \meta{模块名} 是统一接口 \cs*{ctexset} 的键路径。2. 不同模块还具有单独的接口命令 \cs*{eb}\meta{模块名}\code{\textcolor{cs}{set}}。3. \meta{模块名} 也可以使用 \cs*{ctexset} 命令的可选参数设置。路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行。
+ \begin{ctexexam}[labelref = exam:kv setting]
\ctexset
{
- style/color = seaside,
- style =
+ tools/color = seaside,
+ tools =
{
fntnumwith = page,
uppercase = first
}
}
- \ebstyle{hyphen-figure = {-}}
+ \ctexset[tools]{spcmd = \color{red}}
+ \ebtoolsset{hyphen-figure = {-}}
\end{ctexexam}
- 文档类有三种选项:布尔型 \choicekey*{key}{true,false},选项的值为真 \code{true} 或假 \code{false},如果不指定默认为真。键值型 \key*{key}{value} 需要为选项指定值,后面 \code{=} 号不能省略。选择型 \choicekey*{key}{one,\fbox{two},three} 根据提供的可选值进行设定。
-\end{commands}
+ \easybook{} 文档类有三种选项:布尔型 \choicekey*{key}{true,false},选项的值为真 \code{true} 或假 \code{false},如果不指定默认为真。键值型 \key*{key}{value} 需要为选项指定值,后面 \code{=} 号不能省略。选择型 \choicekey*{key}{one,\fbox{two},three} 根据提供的可选值进行设定。
+\end{cnltxlist}
-\subsection[风格]{风格\smodule{style}}
-\label{subsec:style}
-\begin{options}
+\subsection[工具]{工具\smodule{tools}}
+\label{subsec:tools}
+\begin{cnltxlist}
\keychoice{color}{\fbox{none},seaside,energy,cyberpunk}
- 预置了四种颜色主题,默认主题 \code{none} 为黑白页面,颜色主题不包括超链接。
- \begin{commands}
+ \easybook{} 预置了四种颜色主题,默认主题 \code{none} 为黑白页面,颜色主题不包括超链接。
\command{DeclareThemeColor}[\splitmarg{风格名称,颜色1,颜色2,颜色3}]
声明新的颜色主题命令。它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 \code{HTML} 颜色代码,构成主题颜色列表。其中 \meta{颜色1} 为标题标签,\meta{颜色2} 为列表编号、定理标签和公式编号括号,\meta{颜色3} 为代码抄录。类似地更改超链接颜色见\ref{subsec:hyperlinks}。
\begin{ctexexam}
\DeclareThemeColor{fancy,2acb25,60aacc,ebc01c}
- \ctexset{style/color = fancy}
+ \ctexset{tools/color = fancy}
\end{ctexexam}
- \end{commands}
\keyval{color-every}{HTML颜色代码}
统一设置主题的各部分颜色。参数是6个十六进制数字组成的 \code{HTML} 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
\keyval{multoc}{整数}\Default{2}
@@ -392,14 +401,14 @@
设置行间公式标签的括号及格式,以英文逗号分隔,分别代表左右括号。\meta{左括号} 的末尾可以是带有一个参数的命令,用于接受公式编号。将标签括号设置为方括号,并给编号使用无衬线字体:
\begin{ctexexam}
\newcommand{\bracketsf}[1]{[\textsf{#1}}
- \ebstyle{tagform = {\bracketsf,]}}
+ \ebtoolsset{tagform = {\bracketsf,]}}
\end{ctexexam}
\kvsplit-{figurepath}{\marg{路径名1}\marg{路径名2}$\cdots$\marg{路径名n}}
设置插入图片的文件夹路径名。可以有多个路径名,每个路径包含在花括号内分隔,只有一个路径时需要包含在两层括号内。
-\end{options}
+\end{cnltxlist}
\subsubsection{连字符}
-\begin{options}
+\begin{cnltxlist}
\keyval{hyphen-figure}{图片连字符}\Default{\Marg{.}}
设置图片题注编号的连字符。
\keyval{hyphen-table}{表格连字符}\Default{\Marg{.}}
@@ -410,11 +419,11 @@
设置公式题注编号的连字符。
\keyval{hyphen-every}{连字符}\Default{\Marg{.}}
统一设置上述所有编号的连字符。
-\end{options}
+\end{cnltxlist}
\subsubsection{上下标全局设置}
\label{subsubsec:super-sub-script}
-\begin{options}
+\begin{cnltxlist}
\keyval{spvmove}{刚性长度}\Default{0pt}
上标命令 \cs{super} 对应的上标垂直偏移量。
\keyval{sphmove}{刚性长度}\Default{0pt}
@@ -439,32 +448,30 @@
上下标命令 \cs{supersub} 对应的上下标额外垂直距离。前部分为上标的偏移量,后部分为下标的偏移量。如果只有前部分则上下标各自垂直移动当前值的一半。
\keychoice{halign}{\fbox{l},c,r}
上下标命令 \cs{supersub} 对应的上下标水平对齐方式,有左 \code{l}、居中 \code{c} 和右 \code{r} 三种对齐方式。
-\end{options}
+\end{cnltxlist}
-\subsection[超链接]{超链接\smodule{refset}}
+\subsection[超链接]{超链接\smodule{ref}}
\label{subsec:hyperlinks}
-模块 \module*{refset} 将超链接选项交给 \pkg*{hyperref} 宏包处理。除了一些超链接颜色的选项失效,其它由宏包全局和接口命令 \cs*{hypersetup} 支持的多数选项可用。
-\begin{options}
+模块 \module*{ref} 将超链接选项交给 \pkg*{hyperref} 宏包处理。除了一些超链接颜色的选项失效,其它由宏包全局和接口命令 \cs*{hypersetup} 支持的多数选项可用。
+\begin{cnltxlist}
\keychoice{linktype}{\fbox{edge},colors,none}
超链接类型。\code{edge} 使超链接形式为边框,\code{colors} 使超链接字体为彩色,\code{none} 关闭超链接边框与颜色,此时 \option{linkcolor} 选项无效。
\keychoice{linkcolor}{fresh,cutepink,\fbox{navyblue},crimson}
- 超链接颜色样式。预置了四种超链接颜色风格。为使相关颜色能够正确显示,选项 \option{linkcolor} 应当在 \option{linktype} 前使用。
- \begin{commands}
+ 当超链接类型为 \code{colors} 时文本的颜色样式。预置了四种超链接颜色风格,默认为海军蓝 \code{navyblue}。
\command{DeclareLinkColor}[\splitmarg{风格名称,颜色1,颜色2,颜色3}]
声明新的超链接颜色样式命令。它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 \code{HTML} 颜色代码,构成超链接颜色列表。其中 \meta{颜色1} 为普通链接,\meta{颜色2} 为网址,\meta{颜色3} 为参考文献引用。
- \end{commands}
\keyval{linkcolor-every}{HTML颜色代码}
统一设置超链接的各部分颜色。参数是6个十六进制数字组成的 \code{HTML} 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
\keychoice{linktoc}{none,section,page,\fbox{all}}
将目录中的超链接取消、置于标题上、置于页码上或置于标题和页码上。
-\end{options}
+\end{cnltxlist}
\subsection[行距]{行距\smodule{spread}}
-\label{subsec:spacing}
+\label{subsec:spread}
行距因子用于设置各种行距倍数,\meta{数值} 是不带有长度单位的浮点数。各类行距既可以在导言区全局设置,也可以在正文中设置对后面生效。
-\begin{options}
- \keyval{line}{数值}
- 正文行距因子。行距因子初始值为 \code{1.354}(相当于 \textsf{Word} 的1.25倍行距),如果设置了文类或 \pkg*{ctex} 宏包的全局行距选项 \option*{linespread} 则初始值设为它的值。
+\begin{cnltxlist}
+ \keyval{line}{数值}\Default{1.354}
+ 正文行距因子。中文主题下行距因子初始值为 \code{1.354}(相当于 \textsf{Word} 的1.25倍行距),如果设置了文类或 \pkg*{ctex} 宏包的全局行距选项 \option*{linespread} 则初始值设为它的值。
\keyval{table}{数值}\Default{1.354}
表格内容行距因子,对传统表格 \env{tabular} 和 \env{tabularx} 等环境生效。\pkg*{tabularray} 宏包的 \env{tblr} 环境自带 \option*{stretch} 和 \option*{rowsep} 等行间距选项,这里不做调整。
\keyval{math}{数值}\Default{1.2}
@@ -478,9 +485,9 @@
\keyval{caption-every}{数值}\Default{1.2}
同时设置图片、表格和代码题注的行距因子。
\keyval{footnote}{数值}\Default{1.2}
- 脚注内容整体的行距因子。可以使用 \module*{hdrset} 模块 \option{fnpara-format} 选项的代码单独覆盖每个脚注的行距,从而使脚注间和内容文本自身的行距不同。
+ 脚注内容整体的行距因子。可以使用 \module*{hdr} 模块 \option{fnpara-format} 选项的代码单独覆盖每个脚注的行距,从而使脚注间和内容文本自身的行距不同。
\begin{ctexexam}
- \ebspread{footnote = 1.3}
+ \ebspreadset{footnote = 1.3}
\ebhdrset{fnpara-format = \linespread{1.2}\selectfont}
\end{ctexexam}
\keyval{every}{数值}
@@ -489,11 +496,11 @@
行间公式与上面正文间的额外距离。
\keyval{belowdisplayskip}{弹性长度}\Default{0.5ex plus .1ex minus .1ex}\newtag%
行间公式与下面正文间的额外距离。
-\end{options}
+\end{cnltxlist}
-\subsection[其它字体]{其它字体\smodule{subfont}}
-\label{subsec:other font}
-\begin{options}
+\subsection[部件字体]{部件字体\smodule{font}}
+\label{subsec:font}
+\begin{cnltxlist}
\keyval{caption-table}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置表格题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{caption-figure}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
@@ -506,36 +513,27 @@
设置脚注标记与内容的字体,包括字体族、字体系列和字体形状命令。
\keyval{marginpar}{字体命令}\Default{\cs*{footnotesize}}
设置边注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
-\end{options}
-
-\begin{commands}
- \command{addtosubfont}[\marg{字体类型}\marg{字体命令}]
+ \command{ebaddtofont}[\marg{字体类型}\marg{字体命令}]
用于在上述各种字体原有的格式上附加代码。其中 \meta{字体命令} 也可以包括行距命令且相对于 \module*{spread} 模块具有优先性,不同题注的 \meta{字体类型} 则为相应选项的后缀名。
\begin{ctexexam}
- \addtosubfont{every}{\linespread{1.5}\selectfont}
- \addtosubfont{footnote}{\sffamily}
+ \ebaddtofont{every}{\linespread{1.5}\selectfont}
+ \ebaddtofont{footnote}{\sffamily}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
-\subsection[参考文献]{参考文献\smodule{bibset}}
+\subsection[参考文献]{参考文献\smodule{bib}}
\label{subsec:reference}
-\begin{options}
+\begin{cnltxlist}
\keychoice{backend}{\fbox{bibtex},biblatex}
参考文献处理后端。默认用传统的 \hologo{BibTeX} 处理参考文献\footnote{使用 \hologo{BibTeX} 引擎时加载 \pkg*{natbib} 宏包,使用 \hologo{biber} 时将加载 \pkg*{biblatex} 宏包。}。
- \keychoice{bibstyle}{\fbox{numerical},authoryear,\textcolor{SlateGray}{other sty}}
+ \keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
\keyval{citestyle}{标注风格}
标注参考文献的风格。后端为 \hologo{BibTeX} 时可使用 \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} 宏包带有的标注风格,后端为 \hologo{biber} 时可使用 \pkg*{biblatex} 宏包支持的标注风格。
\keyval{datafile}{数据库列表}
- 参考文献数据库的文件名列表,文件列表以花括号包裹并以英文逗号分隔。使用 \hologo{biber} 处理时文件名要带 \code{bib} 扩展名,若参考文献文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.bib}。不设置参考文献数据库名时 \module*{bibset} 模块中的选项会失效,即不自动载入 \pkg*{natbib} 或 \pkg*{biblatex} 宏包,此时需要手动载入相关宏包配置参考文献。
-\end{options}
-
-\begin{commands}
+ 参考文献数据库的文件名列表,文件列表以花括号包裹并以英文逗号分隔。使用 \hologo{biber} 处理时文件名要带 \code{bib} 扩展名,若参考文献文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.bib}。不设置参考文献数据库名时 \module*{bib} 模块中的选项会失效,即不自动载入 \pkg*{natbib} 或 \pkg*{biblatex} 宏包,此时需要手动载入相关宏包配置参考文献。
\command{printbibliography}[\oarg{键值列表}]
两种方式\textbf{均使用}此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与\ref{subsec:directory command} 目录命令的选项相同,使用 \hologo{biber} 处理时常用的选项如下:
-\end{commands}
-
-\begin{options}
\keychoice*{heading}{bibliography,subbibliography,\fbox{bibintoc},subbibintoc}
参考文献通常有一个章标题或者节标题,该选项选择由 \cs{defbibheading} 定义的标题名。
\keyval{title}{参考文献标题名}
@@ -558,26 +556,25 @@
\defbibentryset{Zhang2022}{张三2022,ZhangSan2022}
\cite{Zhang2022} % 在正文中引用
\end{ctexexam}
-\end{options}
+\end{cnltxlist}
-\subsection[定理样式]{定理样式\smodule{thmset}}
-\label{subsec:theorem of style}
-模块 \module*{thmset} 由 \pkg*{thmtools} 宏包提供支持,主要提供了定理环境和样式声明两个命令。定理环境声明命令 \cs{declaretheorem} 使用的定理样式由样式声明命令 \cs{declaretheoremstyle} 提供,文档类预置了一个定理样式 \code{default},但未定义任何定理环境。
-\begin{commands}
+\subsection[定理]{定理\smodule{thmt}}
+\label{subsec:theorem}
+定理模块 \module*{thmt} 由 \pkg*{thmtools} 宏包提供支持,主要提供了定理环境和样式声明两个命令。定理环境声明命令 \cs{declaretheorem} 使用的定理样式由样式声明命令 \cs{declaretheoremstyle} 提供。文档类未预声明任何定理环境,如果声明定理环境时不指定样式,则使用默认定理样式 \code{default},可以对它重新定义。
+\begin{cnltxlist}
\command{declaretheorem}[\oarg{键值列表1}\marg{环境名}\oarg{键值列表2}]
定理环境声明命令。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中常用的选项如下:
- \begin{options}
\keyval{name}{定理名}
定理环境的标题名称,默认为英文首字母大写的环境名。
- \keychoice{numbered}{no,yes,unless unique}
+ \keychoice{numbered}{no,\fbox{yes},unless unique}
定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
- \keychoice{within}{chapter,section,empty,\textcolor{SlateGray}{counter}}
+ \keychoice{within}{\fbox{chapter},section,\optpath*{empty},\optpath*{counter}}
定理编号跟随的计数器。当计数器值递增时定理编号会从零开始,通常这是一个章节计数器。
\keyval{numberlike}{计数器}
定理将使用此 \meta{计数器} 进行编号,通常这是另一个定理环境的名称。
\keyval{qed}{证毕符号}
证毕符号。位于定理段落末尾行的版心右边,可以设置成 \cs{qedsymbol} 默认是空心方块。
- \keyval{style}{定理样式}
+ \keyval{style}{定理样式}\Default{default}
选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定理样式。
使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境猜想,然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easyboxi} 增加背景:
@@ -586,31 +583,28 @@
\addtotcbstyle{tc-easyboxi}{colback = GreenYellow}
\tcolorboxenvironment{caixiang}{tc-easyboxi}
\end{ctexexam}
- \end{options}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
定理样式声明命令,键值列表支持自身以及定理声明命令 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中支持的选项如下:
- \begin{options}
- \keyval{headfont}{字体命令}
- 定理标题部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
- \keyval{notefont}{字体命令}
+ \keyval{headfont}{字体命令}\Default{\cs*{sffamily}}
+ 定理标题部分(包括题注)的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
+ \keyval{notefont}{字体命令}\Default{\cs*{sffamily}}
定理题注部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
- \keyval{bodyfont}{字体命令}
+ \keyval{bodyfont}{字体命令}\Default{\cs*{normalfont}}
定理内容部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{headpunct}{代码}
紧随定理标题末尾的标记代码,位于定理第一段内容的间距 \option{postheadspace} 之前,可以是字符或插入换行符 \cs*{newline} 等命令。
- \keyval{headindent}{刚性长度}
+ \keyval{headindent}{刚性长度}\Default{0pt}
定理标题的缩进。默认无缩进,可用 \cs*{parindent} 命令设置为段落缩进。
- \keyval{postheadspace}{刚性长度}
+ \keyval{postheadspace}{刚性长度}\Default{1em}
定理标题后与定理第一段内容的间距。
- \keyval{spaceabove}{弹性长度}
+ \keyval{spaceabove}{弹性长度}\Default{0ex plus .1ex}
定理环境前的间距,使用 \pkg*{tcolorbox} 的盒子环境包装后被覆盖。
- \keyval{spacebelow}{弹性长度}
+ \keyval{spacebelow}{弹性长度}\Default{0ex plus .1ex}
定理环境后的间距,使用 \pkg*{tcolorbox} 的盒子环境包装后被覆盖。
- \kvsplit-{notebraces}{\marg{左括号}\marg{右括号}}
+ \kvsplit-{notebraces}{\marg{左括号}\marg{右括号}}\Default{\Marg{(}\Marg{)}}
设置定理题注两边的括号,两个必选参数分别代表左括号和右括号。
\keyval{headformat}{标题排列}
定理标题各组成元素的位置排列和格式。定理标题由定理名、编号和题注组成,\meta{标题排列} 中命令 \cs*{NAME}、\cs*{NUMBER} 和 \cs*{NOTE} 分别代表定理名、编号和题注。
- \end{options}
\command{theoremstyle}[\marg{定理样式}]
设置其后由 \cs{declaretheorem} 命令声明的定理环境的样式。
@@ -626,12 +620,34 @@
bodyfont = \itshape
]
\end{ctexexam}
-\end{commands}
+ \begin{cnltxlist}[itemsep = 0ex]
+ \command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
+ \item\key{listoftheorems}{定理目录标题名}
+ \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024bb}%
+ 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
+ \end{cnltxlist}
+ \optpath{thmt/}\key{loeskip}{弹性长度}\Default{10pt}
+ 定理目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
+ \command{thmtifnote}[\marg{存在题注代码}\marg{不存在题注代码}]
+ 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 加入目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。
+ \command{thmtifname}[\marg{存在编号代码}\marg{不存在编号代码}]
+ 在 \meta{标题定义} 中测试当前定理是否有编号从而输出不同的内容,定理风格选项 \keyis{numbered}{no} 设置当前定理环境没有编号。
+ \begin{ctexexam}
+ \contentsuse{caixiang}{loe}
+ \RegisterTocName{caixiang}
+ \setlisttheoremstyle{ignoreall,show = caixiang}
+ \settheoremtocline{caixiang}
+ {%
+ \listnumberline{caixiang}
+ \thmtname\thmtifnote{[\thmtnote]}{}
+ }
+ \end{ctexexam}
+\end{cnltxlist}
-\subsection[页面尺寸]{页面尺寸\smodule{geoset}}
+\subsection[页面尺寸]{页面尺寸\smodule{geo}}
\label{subsec:page margins}
-模块 \module*{geoset} 会将选项(除了前两个为附加)交给页面尺寸宏包 \pkg*{geometry} 处理,并且支持它的键值列表,预置的页面尺寸与 \textsf{Word} 的默认值接近。下面列举几种代表性选项,其它选项可查阅宏包帮助文档。当在此设置纸张规格时,会覆盖文类选项 \option{paper} 的设置。
-\begin{options}\noitemsep
+模块 \module*{geo} 会将选项(除了前两个为附加)交给页面尺寸宏包 \pkg*{geometry} 处理,并且支持它的键值列表,预置的页面尺寸与 \textsf{Word} 的默认值接近。下面列举几种代表性选项,其它选项可查阅宏包帮助文档。当在此设置纸张规格时,会覆盖文类选项 \option{paper} 的设置。
+\begin{cnltxlist}[itemsep = 0ex]
\keyval{headruleskip}{页眉线间距}\Default*{0pt}
\keyval{footruleskip}{页脚线间距}\Default*{3.5pt}
\kvsplit{hdivide}{左边距,版心文本宽度,右边距}\default{}
@@ -647,12 +663,12 @@
vcentering
}
\end{ctexexam}
-\end{options}
+\end{cnltxlist}
-\subsection[页眉页脚]{页眉页脚\smodule{hdrset}}
+\subsection[页眉页脚]{页眉页脚\smodule{hdr}}
\label{subsec:header and footer}
-模块 \module*{hdrset} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chap-mark} 和 \option{sec-mark},在 \cls*{article} 模式时使用 \option{sec-mark} 和 \option{subsec-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。
-\begin{options}
+模块 \module*{hdr} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chap-mark} 和 \option{sec-mark},在 \cls*{article} 模式时使用 \option{sec-mark} 和 \option{subsec-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。
+\begin{cnltxlist}
\keyval{chap-mark}{标题标记}
\code{chapter} 级别标题标记的内容,包含了标签选项 \option{chap-label} 和章标题 \code{\#1}。
\keyval{sec-mark}{标题标记}
@@ -673,44 +689,47 @@
\kvsplit-{subsec-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
\code{subsection} 级别标题标记的标签,用法与 \option{chap-label} 类似。
\keyval{headrule}{横线命令}
- 绘制页眉横线的选项,可以使用 \cs*{hrule} 或下述 \cs{markrule} 等画线命令来绘制横线。
+ 绘制页眉横线的选项,可以使用 \cs*{hrule} 或\ref{exam:markrule} 所述 \cs{markrule} 等画线命令来绘制横线。
\keyval{footrule}{横线命令}
- 绘制页脚横线的选项,可以使用 \cs*{hrule} 或下述 \cs{markrule} 等画线命令来绘制横线。
+ 绘制页脚横线的选项,可以使用 \cs*{hrule} 或\ref{exam:markrule} 所述 \cs{markrule} 等画线命令来绘制横线。
\keyval{footnoterule}{横线命令}
- 绘制脚注横线的选项,可以使用 \cs*{hrule} 或下述 \cs{markrule} 等画线命令来绘制横线。
+ 绘制脚注横线的选项,可以使用 \cs*{hrule} 或\ref{exam:markrule} 所述 \cs{markrule} 等画线命令来绘制横线。
\keyval{headrulewd}{刚性长度}\Default{0.5pt}
页眉横线默认的粗细,使用 \option{headrule} 选项绘制横线后失效。
\keyval{footnoterulewd}{刚性长度}\Default{0.5pt}
脚注横线默认的粗细,使用 \option{footnoterule} 选项绘制横线后失效。
-\end{options}
-
-\begin{commands}\noitemsep
+ \begin{cnltxlist}[itemsep = 0ex]
+ \command{fancypagestyle}[\marg{风格名}\oarg{基础风格}\marg{风格定义}]
+ 定义名为 \meta{风格名} 的页面风格。\meta{风格定义} 中可包含设置页眉页脚不同位置格式的命令,如果为空则等于 \code{fancy} 风格。如果存在 \meta{基础风格},则在它的基础上进行定义。
+ \begin{ctexexam}
+ \fancypagestyle{plain}
+ {
+ \fancyhf{}
+ \fancyfoot[C]{\textbf{--~\thepage~--}}
+ \ebhdrset{headrule = {}}
+ }
+ \end{ctexexam}
\command{fancyhead}[\oarg{位置}\marg{内容}]\default{}
\command{fancyfoot}[\oarg{位置}\marg{内容}]
为了确保页面显示正确,使用 \cs{fancyhead} 和 \cs{fancyfoot} 等命令设置页眉页脚时需要在页边距的命令之后。默认设置的是一个名为 \code{fancy} 的页面风格。\pkg*{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中 \code{E} 和 \code{O} 代表偶数和奇数,\code{L}、\code{C} 和 \code{R} 代表左、中和右部分。单面打印时,含有偶数位置的命令无效。
-\end{commands}
-
-\begin{commands}\noitemsep
\command{markboth}[\marg{左页标题标记}\marg{右页标题标记}]\default{}
\command{markright}[\marg{右页标题标记}]\default{}
\command{markdouble}[\marg{双页标题标记}]
这三个命令用于手动设置当前页标题标记,特殊情况下可以使用它们定义与标题不同的页眉页脚标记。上述标记命令内容的选项便是基于这三个命令。其中 \cs{markdouble} 根据是否是双面打印设置相应标记。如果是单面打印,则 \meta{左页标题标记} 无效。
-\end{commands}
-
-\begin{commands}
+ \end{cnltxlist}
\command{markrule}[\oarg{长度}\darg{颜色名}\marg{线宽}\baroarg{上间距,下间距}]
实线命令 \cs{markrule} 既可在 \meta{横线命令} 中用于绘制页眉页脚横线,也可以在正文中使用。\meta{长度} 默认为版心的宽度,上下间距为横线与上下方部件的间距,带有长度单位,上下间距之间用符号 \code{|} 分开,若只有一部分则表示 \meta{上间距}。下面举一个设置页眉内容的例子:
- \begin{ctexexam}
+ \begin{ctexexam}[labelref = exam:markrule]
\ebhdrset{headrule = \markrule(DarkOrchid){0.5pt}[2pt|2pt]}
- \fancyhead[ER]{\leftmark}
+ \fancyhead[ER]{\FirstMark{2e-left}} % 来自ltmarks的标记机制
\fancyhead[OL]{\rightmark}
\fancyhead[EL,OR]{\textbf{\thepage}}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
-\subsection[脚注格式]{脚注格式\smodule{hdrset}}
-模块 \module*{hdrset} 还可以灵活调整脚注编号和内容的格式。格式主要包括脚注标记的编号类型、字体、附加符号和对齐方式等,以及脚注内容的首行缩进、行距和字体等。基本思想是提供常规和自定义标记(\code{fncustom})两种脚注,常规脚注的标记分为正文(\code{fnmark})和内容(\code{fntext})标记两种,且两者编号类型分离,自定义脚注的标记与其共享格式。目前脚注模块基本兼容 \pkg*{footmisc} 宏包。
-\begin{options}
+\subsection[脚注]{脚注\smodule{hdr}}
+模块 \module*{hdr} 还可以灵活调整脚注编号和内容的格式。格式主要包括脚注标记的编号类型、字体、附加符号和对齐方式等,以及脚注内容的首行缩进、行距和字体等。基本思想是提供常规和自定义标记(\code{fncustom})两种脚注,常规脚注的标记分为正文(\code{fnmark})和内容(\code{fntext})标记两种,且两者编号类型分离,自定义脚注的标记与其共享格式。目前脚注模块基本兼容 \pkg*{footmisc} 宏包。
+\begin{cnltxlist}
\keychoice{footnotetype}{plain,\fbox{hang},flush,bottom}
脚注的类型。悬挂缩进 \code{hang} 是默认值,\code{plain} 是原始的类型,\code{flush} 使脚注内容标记位于脚注首行边缘外侧并右对齐。当存在浮动环境排版时,脚注可能位于页面中间,\code{bottom} 使脚注始终位于页面底端。其中 \code{bottom} 是复合选项,可以与前三种类型重复或复合使用:
\begin{ctexexam}
@@ -727,19 +746,17 @@
不同脚注之间的距离,默认情况下它自适应 \module*{spread} 模块脚注行距选项 \option{footnote} 的值。
\keychoice{fntext-pos}{normal,\fbox{super}}
设置脚注内容标记的位置,正常文本或是上标形式。
- \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+ \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
脚注正文标记编号的类型。默认为原生样式 \code{plain},还可以改为 \code{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
短编号的参数与列表环境类似,有 \code{1}、\code{A}、\code{a}、\code{I} 和 \code{i},除此之外还增加了中文数字 \code{c} 和符号 \code{s} 格式。原生样式 \code{plain} 等同于单独使用数字 \code{1} 参数。这个选项可以用在正文中改变其后脚注编号类型。
- \begin{commands}
\command{footref}[\marg{脚注标签名}]
在当前位置对自动编号的脚注进行引用,与被引用的正文标记共享一个编号与格式。
- \end{commands}
\begin{ctexexam}
\ebhdrset{fnmark-num = 1} % 等于编号类型plain
\ebhdrset{fnmark-num = (a)}
\end{ctexexam}
- \begin{commands}\noitemsep
+ \begin{cnltxlist}[itemsep = 0ex]
\command{SetFntSymbsList}[\marg{符号表名}\marg{符号数量}\marg{符号列表}]\default{}
\command{UseFntSymbsList}[\marg{符号表名}]\newtag[Chg]%
这两个命令用于在脚注短编号标记为 \code{s} 自定义符号型时设置符号列表。\cs{SetFntSymbsList} 命令用于定义名为 \meta{符号表名} 的符号列表,\cs{UseFntSymbsList} 命令用于启用已定义的符号列表。默认的脚注符号列表是空的,注意使用符号型标记的脚注时计数器 \code{footnote} 的值仍然递增,以及定义新列表时 \meta{符号列表} 的写法和命令顺序:
@@ -748,18 +765,18 @@
\UseFntSymbsList{fancy}
\ebhdrset{fnmark-num = s}
\end{ctexexam}
- \end{commands}
- \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+ \end{cnltxlist}
+ \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
脚注内容标记编号的类型。用法与 \option{fnmark-num} 一样,所以脚注内容与正文标记编号类型\textbf{可以不同}。
- \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+ \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
同时设定脚注正文标记编号 \option{fnmark-num} 与脚注内容标记编号 \option{fntext-num} 的类型。目前脚注编号类型选项对于迷你页环境 \env*{minipage} 无效,其中的脚注保持默认英文字母的编号类型。
- \keychoice{fnmark-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+ \keychoice{fnmark-vmove}{\optpath*{fixed length},match}\Default{0pt}
脚注正文标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
- \keychoice{fnmark-hmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+ \keychoice{fnmark-hmove}{\optpath*{fixed length},match}\Default{0pt}
脚注正文标记的水平偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{sphmove} 全局的值。
- \keychoice{fntext-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+ \keychoice{fntext-vmove}{\optpath*{fixed length},match}\Default{0pt}
脚注内容标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
- \keychoice{fnmarktext-format}{\textcolor{SlateGray}{format code},match}
+ \keychoice{fnmarktext-format}{\optpath*{format code},match}
默认脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。一般配合 \keyis{fnmarktext-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs{circledtext} 给脚注标记添加圆圈:
\begin{ctexexam}
\usepackage{circledtext}
@@ -770,7 +787,6 @@
fnmarktext-format = \circledtext
}
\end{ctexexam}
- \begin{commands}
\command{defupfntmark}[\marg{脚注正文标记格式}]
定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。
\command{defdownfntmark}[\marg{脚注内容标记格式}]
@@ -783,15 +799,14 @@
保存正文标记编号类型选项 \option{fnmark-num} 指定的正文标记。
\command{thedownfootnote}
保存内容标记编号类型选项 \option{fntext-num} 指定的内容标记。
- \end{commands}
\begin{ctexexam}
\defupfntmark{\super[vmove = 2pt]{\theupfootnote}}
\defdownfntmark{\notminipage{\textcolor{blue}{\thedownfootnote}}{}}
\deffntpara{\makebox[2em][r]{\thefootnote}#1}
\end{ctexexam}
- \keychoice{fncustom-format}{\textcolor{SlateGray}{format code},match}
+ \keychoice{fncustom-format}{\optpath*{format code},match}
单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。自定义脚注内容和正文标记的命令与用法可以见下方和\ref{exam:custom footnote markers} 的介绍。
- \begin{commands}\noitemsep
+ \begin{cnltxlist}[itemsep = 0ex]
\command{Footnote}[\oarg{内容标记}\marg{正文标记}\marg{脚注文本}]\default{}
\command{Footnotetext}[\marg{内容标记}\marg{脚注文本}]\default{}
\command{Footnotemark}[\marg{正文标记}]
@@ -799,11 +814,11 @@
\begin{ctexexam}[labelref = exam:custom footnote markers]
\Footnote{*}{这是可以自定义标记的脚注。}
\end{ctexexam}
- \end{commands}
- \keychoice{fnboth-format}{\textcolor{SlateGray}{format code},match}
- 同时设定默认脚注标记 \option{fnmarktext-format} 和自定义脚注标记 \option{fncustom-format} 的格式。两种脚注标记匹配上标格式 \option{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。会覆盖 \module*{subfont} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注标记。
+ \end{cnltxlist}
+ \keychoice{fnboth-format}{\optpath*{format code},match}
+ 同时设定默认脚注标记 \option{fnmarktext-format} 和自定义脚注标记 \option{fncustom-format} 的格式。两种脚注标记匹配上标格式 \option{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。会覆盖 \module*{font} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注标记。
\keyval{fnpara-format}{格式代码}
- 脚注内容文本的格式。会覆盖 \module*{subfont} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注内容文本。
+ 脚注内容文本的格式。会覆盖 \module*{font} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注内容文本。
\kvsplit{fntext-code}{前代码,后代码}
可以用 \meta{前代码} 与 \meta{后代码} 额外增加脚注内容标记前后的代码。也可以只有前部分,\meta{前代码} 中最后一个格式命令可以带有一个参数接受脚注内容标记。由于脚注标记处于水平模式,可以配合盒子命令设置脚注内容标记的对齐方式,或在标记与脚注首行间插入一点距离。
\begin{ctexexam}
@@ -813,48 +828,59 @@
fntext-code = {\hspace{1em}\llap,\enskip}
}
\end{ctexexam}
-\end{options}
+\end{cnltxlist}
-\subsection[目录样式]{目录样式\smodule{tocset}}
-\label{subsec:catalog style}
-模块 \module*{tocset} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径,而使用 \module*{float} 路径可以统一设置图片、表格和代码目录的样式。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{tocset} 键路径下。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
-\begin{options}
+\subsection[目录]{目录\smodule{toc}}
+\label{subsec:catalog}
+模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
+\begin{cnltxlist}
\keyval{tocformat}{条目格式}\dtag
- 目录中各类型条目的格式。可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。
+ 目录中各类型条目的格式。可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。如果是段落型目录,格式代码仅在段落中当前级别条目前执行一次。也可以用 \cs{CTEXifname} 命令或 \option{tocformat*} 选项给有无编号的标题分别设置格式。
\keyval{tocformat+}{条目格式}\dtag
与选项 \option{tocformat} 用法一样,只是在已有的格式命令后附加代码。
+ \keyval{tocformat*}{条目格式}\dtag
+ 没有编号/名字标题的附加格式代码。目录中判断标题是否有编号/名字的依据为:如果在 \option{tocline} 选项中使用了 \cs{numberline} 命令输出标签,则判定为有编号/名字。格式最后的命令可带有一个参数,用于接受标题内容。
\keyval{tocindent}{刚性长度}\dtag
- 目录条目左边的缩进距离,通常标题级别越低缩进越大。
+ 目录条目左边的缩进距离,通常标题级别越低缩进越大。如果是段落型目录,仅在当前条目级别为段落中最高时有效。
\keyval{tocrule}{引导线命令}\dtag
- 引导线选项 \option{tocrule} 中一般可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制引导线。
- \begin{commands}
+ 目录条目的引导线和页码。引导线可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制(同时输出页码),如果是一般不需要引导线的段落型目录,可以使用 \cs{thecontentspage} 命令输出页码。
\command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
- 生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。命令带 \harg{} 号参数不添加目录页码,此时无格式的页码被保存在 \cs{thecontentspage} 命令中,可以配合盒子命令设置不同的页码左右间距和对齐方式。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 中最后一个命令可以带有一个参数为页码编号。
- \end{commands}
+ 生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。命令带 \harg{} 号参数不输出目录页码,此时无格式的页码被保存在 \cs{thecontentspage} 命令中,可以配合盒子命令设置不同的页码左右间距和对齐方式。\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 中最后一个命令可以带有一个参数用于接受页码。
+ \keyval{toclabel}{标题标签定义}\dtag\newtagv{2024as}%
+ 目录中各类型条目标题标签的定义,可与 \option{tocline} 选项联用设置标题。其中参数 \code{\#1} 代表标签的编号 \cs{thecontentslabel},参数 \code{\#2} 代表 \meta{条目名}。定义最后的命令可带有一个参数,用于接受标题内容,一些特殊情况例如需要将标题内容放在标签后,可以通过定义命令实现:
+ \begin{ctexexam}
+ \newcommand{\seqentry}[2]{#2-#1} % #2为标题内容
+ \ctexset{chapter/toclabel = \seqentry{#1}}
+ \end{ctexexam}
\keyval{tocafter}{距离命令}\dtag\Default{\cs*{hspace}\Marg{1em}}
目录条目标签与标题间的代码,默认为插入 \code{1em} 横向距离。
\keyval{tocbelow}{距离命令}\dtag
在目录条目下方执行的代码,可以插入垂直距离等命令。
- \keyval{tocline}{条目定义}\dtag[\textcolor{red}{\ding{73}}]
+ \keyval{tocline}{标题定义}\dtag[\textcolor{red}{\ding{73}}]
这个选项在章节标题基础上扩展了浮动环境的题注标题在目录文件中的定义。章节和题注标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 对应的计数器名称,参数 \code{\#2} 则代表相应标题内容。
\begin{ctexexam}
\ctexset
{
- chapter =
+ chapter =
{
- tocformat = \addvspace{8pt}\large,
- tocindent = 1.5em,
- tocrule = \tocrule[0.6pc](1.1){.}[\zihao{5}],
- tocline = \CTEXnumberline{#1}#2
+ tocformat = \CTEXifname{\addvspace{8pt}\large}{},
+ tocindent = \CTEXifname{2em}{1.5em},
+ tocrule = \tocrule[0.6pc](1.1){.}[\zihao{5}],
+ tocline = \CTEXnumberline{#1}#2
},
- section/tocrule = \tocrule-{}\makebox[1cm]{\rlap{\thecontentspage}}
+ section/toclabel = \contentspush{#1\hspace{0.5em}},
+ section/tocrule = \tocrule-{}\makebox[1cm]{\rlap{\thecontentspage}},
+ toc/pagenumwd = 0pt
}
\end{ctexexam}
-\end{options}
-
-\begin{commands}
- \command{RegisterTocName}[\marg{条目名}]
- 给条目类型名称为 \meta{条目名} 的标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后选项初始值与图表条目相同。
+ \command{RegisterTocName}[\sarg\marg{条目名列表}]\newtagv[Changed]{2024bo}%
+ 给 \meta{条目名列表} 中的每个 \meta{条目名} 标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
+ \keyval{tocbegin}{开始代码}\dtag\newtagv{2024as}%
+ 当前级别目录条目第一个标题前的代码,仅在存在更高级别的条目时有效。
+ \keyval{tocsep}{中间代码}\dtag\Default{\Marg{.—}}\newtagv{2024as}%
+ 当前级别目录条目每个标题之间的代码。
+ \keyval{tocend}{结束代码}\dtag\Default{\Marg{.}}\newtagv{2024as}%
+ 当前级别目录条目最后一个标题后的代码。
\command{contentsuse}[\marg{条目名}\marg{扩展名}]
激活条目类型名称为 \meta{条目名} 的目录定制功能,它使用的目录文件后缀为 \meta{扩展名}。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
\command{DeclareFloatList}[\marg{条目名}\marg{扩展名}]
@@ -869,14 +895,23 @@
\DeclareFloatList{algorithm}{loa}
\listofalgorithms[multoc] % 在正文中输出双栏算法目录
\end{ctexexam}
- \command{AllotCaptionExt}[\marg{条目名}\marg{扩展名}]\newtag%
+ \command{AllotCaptionExt}[\marg{条目名}\marg{扩展名}]
给条目类型名称为 \meta{条目名} 的标题分配目录文件 \meta{扩展名},注意 \meta{扩展名} 需要被定义在 \cs*{ext@}\meta{条目名} 命令中才有效(\pkg*{caption} 宏包的默认定义形式)。可以使不同的 \meta{条目名} 共享一个目录:
\begin{ctexexam}
\AllotCaptionExt{table}{lof}
\newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令
\end{ctexexam}
+ \command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
+ 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录,预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
+ \begin{ctexexam}
+ \AllotPartialExt{loa}{pla}
+ \startlist[fancy]{loa}
+ \captionof{algorithm}{算法标题}
+ \stoplist[fancy]{loa}
+ \printlist[fancy]{loa}{}{}
+ \end{ctexexam}
\command{SetTocStyle}[\marg{条目名}\marg{风格名}\marg{键值列表}]
- 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有 \ding{73} 符号的选项,\meta{条目名} 设置为 \module*{tocset}。
+ 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有 \ding{73} 符号的选项,\meta{条目名} 设置为 \module*{toc}。
\command{UseTocStyle}[\marg{条目名}\marg{风格名}\marg{扩展名}]
使用对应条目类型名称为 \meta{风格名} 的目录风格,随后标题在目录中的格式会改变。本命令导言区和正文区均可使用,第三个必选参数还需要指定条目标题加入目录文件的 \meta{扩展名}。
\begin{ctexexam}
@@ -894,33 +929,32 @@
\end{ctexexam}
\command{contentsmargin}[\oarg{修正距离}\marg{右边距}]
设置目录中引导线到版心右边的距离,用于条目页码的精细调整。当设计条目页码对齐方式或数字较大时,可以设置适当的 \meta{右边距}。\meta{修正距离} 是在过长而换行的标题右侧 \meta{右边距} 基础上附加的距离。此命令可在导言区全局使用或在 \option{tocformat} 选项给特定条目类型单独使用。
-\end{commands}
-
-\begin{options}
\keychoice{hang}{\fbox{true},false}
悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目标签及其与标题内容间距的长度和。通常情况下会统一设置条目标题是否悬挂缩进,因此这个选项被设计为对所有类型条目生效。
\keyval{lolskip}{弹性长度}\Default{10pt}
代码目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
\keyval{between}{代码钩子}\dtag[\textcolor{red}{\ding{73}}]
- 目录标题与条目内容间的钩子(作用于标题下方间距之后),如果是 \cls*{book} 模式则默认插入 \code{-10pt} 垂直距离抵消首行目录的额外垂直间距,这是由于图表和 由 \pkg*{newfloat} 宏包所创建环境的目录默认每使用一次章标题在题注目录中插入 \code{10pt} 距离。除了条目名的键路径外,此选项也可用于 \module*{tocset} 路径中,表示章节标题目录标题代码钩子,如果是 \cls*{book} 模式则默认插入 \code{-1pc} 垂直距离。
+ 目录标题与条目内容间的钩子(作用于标题下方间距之后),如果是 \cls*{book} 模式则默认插入 \code{-10pt} 垂直距离抵消首行目录的额外垂直间距,这是由于图表和 由 \pkg*{newfloat} 宏包所创建环境的目录默认每使用一次章标题在题注目录中插入 \code{10pt} 距离。除了条目名的键路径外,此选项也可用于 \module*{toc} 路径中,表示章节标题目录标题代码钩子,如果是 \cls*{book} 模式则默认插入 \code{-1pc} 垂直距离。
\keyval{bibetween}{代码钩子}
与选项 \option{between} 类似,是英文章节标题目录(如果启用)标题代码钩子。
\keychoice{dotalign}{\fbox{true},false}
- 引导线选项 \option{dotalign} 可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
+ 将目录页码装进一个右对齐的水平盒子里。这样可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
\keyval{pagenumwd}{刚性长度}\Default{1.55em}
- 目录条目页码的宽度。开启 \option{dotalign} 选项时宽度越大引导线与页码的距离就越大。
+ 设置开启 \option{dotalign} 选项时页码水平盒子的宽度。
\keyval{tocafter-every}{距离命令}\Default{\cs*{hspace}\Marg{1em}}
- 统一设置所有类型条目编号与标题间的代码(仅支持上述预注册的条目)。
+ 统一设置所有类型条目编号与标题间的代码。
\keyval{tocindent-every}{刚性长度}
- 统一设置所有类型条目的左边缩进(仅支持上述预注册的条目)。
+ 统一设置所有类型条目的左边缩进。
\keyval{tocrule-every}{引导线命令}
- 统一设置所有类型的目录引导线样式(仅支持上述预注册的条目)。
-\end{options}
+ 统一设置所有类型的目录引导线样式。
+ \command{ExcludeEveryTocName}[\marg{条目名列表}]\newtagv{2024bn}
+ 用于指定带有 \option*{every} 后缀选项排除的条目类型。
+\end{cnltxlist}
\section{环境和命令}
\subsection{文区命令}
-\begin{commands}
+\begin{cnltxlist}
\command{frontmatter}[\sarg\oarg{编号格式}]\Default{Roman}
前言区命令。使部分和章标题不编号,带有星号的变体命令不使用 \cs{cleardoublepage} 命令。页码 \meta{编号格式} 可设置为 \code{arabic}、\code{Alph}、\code{alph}、\code{Roman}、\code{roman} 和 \code{chinese} 形式。
\command{mainmatter}[\sarg]
@@ -931,19 +965,18 @@
清双页命令可以确保下一页文本总在奇数页开始,在奇数页使用它会产生空白偶数页。文区命令 \cs{frontmatter} 和 \cs{mainmatter} 会用到清双页命令,在启用文类选项 \option*{openright} 时标题命令 \cs*{part} 和 \cs*{chapter} 也会默认用到清双页命令。
\command{blankpagestyle}[\marg{页面风格}]
多出空白页的 \meta{页面风格} 用空白页面风格命令 \cs{blankpagestyle} 全局指定,或使用清双页命令的可选参数局部指定。空白页默认的风格为 \code{empty},即空的页眉页脚。
- \end{commands}
+\end{cnltxlist}
\subsection{目录命令}
\label{subsec:directory command}
-\begin{commands}
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
+\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
- \begin{options}
\keychoice{plan}{\fbox{cn},bi,both}\newtag[Exp]%
章节标题目录的输出方案。\code{cn} 只输出中文目录,\code{bi} 只输出英文目录。\code{both} 同时连续输出中文和英文目录,需要与双语目录标题命令 \cs{bichapter} 等或双语标题选项 \option{title} 配合使用。
\keyval{bicontentsname}{英文目录标题}\Default{Contents}
英文目录的标题,为通用接口命令 \cs*{ctexset} 的选项。
- \end{options}
\command{listoffigures}[\sarg\oarg{键值列表}]
输出图片目录命令。带有星号参数的命令不输出目录标题。
\command{listoftables}[\sarg\oarg{键值列表}]
@@ -952,11 +985,8 @@
输出代码目录命令。带有星号参数的命令不输出目录标题。
如果需要部分而不是全文的目录或其它类型的目录,可以查看 \pkg*{titletoc} 宏包的相关示例。如果需要双语图表目录,可以查看 \pkg*{bicaption} 宏包的相关示例。上面目录命令的可选参数改进了原本单一的功能,也提供了配置命令 \cs{SetTocOuter} 在目录命令外设置选项默认值。
- \begin{commands}
\command{SetTocOuter}[\marg{键值列表}]\newtag%
统一设置上述所有目录可选参数的默认值\footnote{由于目录命令通常只在文中使用一次,因此不设计为可以分别指定不同目录的参数。},其中 \meta{键值列表} 的选项如下:
- \end{commands}
- \begin{options}
\keyval{level}{标题命令}
设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
\begin{ctexexam}
@@ -975,7 +1005,6 @@
用于更改目录的双语标题。标题之间用一个英文逗号分开,对主目录来说前部分为中文目录标题,后部分为英文目录标题,对图表和代码目录来说后部分则是加入英文目录的条目。也可以只有一部分,表示中文目录的标题。
\keychoice{bilist}{mix,\fbox{new}}
确定章节标题目录中双语标题条目的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则在新建的英文目录中输出英文标题。这是个全局选项,在所有目录的可选参数中使用均可生效,但推荐在章节标题目录中使用。
- \begin{commands}
\command{ebifbitoc}[\marg{英文目录代码}\marg{中文目录代码}]\newtag%
启用混合双语目录条目即 \keyis{bilist}{mix} 时,在设置目录样式时可以配合 \cs{ebifbitoc} 命令判断当前条目是否为英文,从而输出不同的代码。
\begin{ctexexam}
@@ -987,7 +1016,6 @@
\UseTocStyle{section}{fancy}{toc}
\tableofcontents[bilist = mix]
\end{ctexexam}
- \end{commands}
\keyval{format}{目录标题格式}
设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
\keyval{aftername}{标签后代码}
@@ -998,12 +1026,11 @@
控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点,生效情形同上。
\keyval{pagestyle}{页面风格}\Default{empty}
目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
- \end{options}
-\end{commands}
+\end{cnltxlist}
-\subsection[双语标题]{双语标题\smodule{chapter}}
+\subsection{双语章节标题和新建标题}
双语目录标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录。类似于标准文档类,这三个标题命令分别具有独立的计数器\footnote{默认情况下与普通标题命令共享使用计数器。},并对应 \cs*{the}\meta{计数器} 的值,可以用于 \option{number} 选项更改英文目录中标题的编号格式。这个功能是为国内一些高校的学位论文模板的要求设计,在一般情况和英文模式下\textbf{不需要使用}。
-\begin{commands}
+\begin{cnltxlist}
\command{bichapter}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
\code{chapter} 章级别的双语目录标题命令,具有独立的 \code{bichapter} 计数器。
\command{bisection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
@@ -1011,33 +1038,45 @@
\command{bisubsection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
\code{subsection} 小节级别的双语目录标题命令,具有独立的 \code{bisubsection} 计数器。
- 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \cs*{chapter}\sarg{} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文条目,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。默认情况下双语目录条目的格式是一致的,共享使用 \module*{tocset} 模块的设置。提供了两个选项 \option{biname} 和 \option{binumber} 修改英文目录章标题条目的名字及编号:
- \begin{options}
- \kvsplit{biname}{英文目录前名字,英文目录后名字}\Default{Chapter\cs*{space}}
+ 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \cs*{chapter}\sarg{} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文条目,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。默认情况下双语目录条目的格式是一致的,共享使用 \module*{toc} 模块的设置。提供了两个选项 \option{biname} 和 \option{binumber} 修改英文目录章标题条目的名字及编号:
+ \optpath{chapter/}\kvsplit+{biname}{英文目录前名字,英文目录后名字}\Default{Chapter\cs*{space}}
更改英文目录 \code{chapter} 级别的标题条目编号前后名字,类似于 \CTeX 的 \option*{name} 选项。
- \keyval{binumber}{英文目录编号输出命令}\Default{\cs*{arabic}\Marg{chapter}}
+ \optpath{chapter/}\key{binumber}{英文目录编号输出命令}\Default{\cs*{arabic}\Marg{chapter}}
更改英文目录 \code{chapter} 级别的标题条目编号输出格式,类似于 \CTeX 的 \option*{number} 选项。下面两种设置英文目录中章标题编号的方式等效:
- \end{options}
\begin{ctexexam}
\ctexset{chapter/binumber = \arabic{chapter}}
- \BeforeAddBitoc{\ctexset{chapter/nmuber = \arabic{chapter}}}
+ \BeforeAddtoBitoc{\ctexset{chapter/nmuber = \arabic{chapter}}}
\end{ctexexam}
-\end{commands}
-
-\begin{commands}
\command{appendix}[\splitoarg{前名字,后名字}\darg{编号输出命令}]
附录起始命令,其后的章节标题变为附录形式。\meta{前名字} 为英文目录中附录标题的前名字,同理 \meta{后名字} 为英文目录中附录标题的后名字。前后名字之间用一个半角逗号分开,也可以只有一部分,表示英文目录中附录标题前名字。\meta{编号输出命令} 为附录标题计数器在英文目录中的编号命令。注意这两个参数仅对 \code{bichapter} 级别的标题生效。
- \command{BeforeAddBitoc}[\sarg\marg{英文标题加入目录前的代码}]
+ \command{BeforeAddtoBitoc}[\sarg\marg{英文标题加入目录前的代码}]
作用于局部范围的英文目录标题条目钩子,代码在标题加入目录前执行,可以插入条目标题定义命令临时改变英文目录中条目的格式,带有星号参数的命令会重置之前的代码。这个命令设置英文目录条目的标题格式具有最高优先级,放置在导言区或 \cs{bichapter} 等双语标题命令前生效。举一个在英文目录节标题条目编号前添加 \code{Section} 字符串的例子:
\begin{ctexexam}
- \BeforeAddBitoc{\ctexset{section/name = Section\space}}
+ \BeforeAddtoBitoc{\ctexset{section/name = Section\space}}
\bisection{中文标题}{English title}
\end{ctexexam}
-\end{commands}
+ \command{NewTitleCommand}[\oarg{基础标题}\marg{条目名}\marg{章节层次}]\newtagv{2024aw}%
+ 创建一个命令名为 \meta{条目名} 新章节标题,并且支持 \CTeX 中的标题样式选项机制。指定可选参数后标题格式除了编号/名字会与 \meta{基础标题} 相同,否则默认为空。同时创建一个名为 \meta{条目名} 的计数器和标记命令 \code{\textbackslash}\meta{条目名}\code{\textcolor{cs}{mark}}。同时还需指定标题的 \meta{章节层次},例如标准文档类中 \code{chapter} 级别为 \code{0}。
+ \command{NewTitleEntryCommand}[\oarg{扩展名}\marg{条目名}]\newtagv{2024aw}%
+ 创建一个命令 \code{\textbackslash}\meta{条目名}\code{\textcolor{cs}{entry}}\marg{标题},仅将 \meta{标题} 加入文件扩展名为 \meta{扩展名} 的目录中,而不在正文中输出标题,默认扩展名为 \code{toc}。
+ \begin{ctexexam}
+ \NewTitleCommand[chapter]{lchapter}{0}
+ \NewTitleEntryCommand{lchapter}
+ \contentsuse{lchapter}{toc}
+ \RegisterTocName{lchapter}
+ \ctexset
+ {
+ lchapter/runin = true,
+ lchapter/number = \thelchapter
+ }
+ \lchapter{正常标题}
+ \lchapterentry{加入目录的标题}
+ \end{ctexexam}
+\end{cnltxlist}
-\subsection[上标和下标]{上标和下标\smodule{style}}
+\subsection[上标和下标]{上标和下标\smodule{tools}}
上标和下标的功能来自 \pkg*{spbmark} 宏包,下面有三个命令可以用于输出上标和下标。可以使用键值列表的形式对上下标格式进行局部或全局设置,下面命令中两个可选参数的键值列表是等效的。全局设置的详情见\ref{subsubsec:super-sub-script},更多命令和详细用法见 \pkg*{spbmark} 宏包说明文档。
-\begin{commands}
+\begin{cnltxlist}
\command{super}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
输出上标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\^{}} 符号和 \cs*{sp} 命令。
\command{sub}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
@@ -1048,7 +1087,6 @@
根据上下标处于数学还是文本模式分别设置不同的值,应当在格式命令或偏移距离选项中使用。
上下标命令键值列表中共同的选项如下所示。当下面除 \option{mode} 以外的选项用于 \module*{style} 模块全局设置时,它们将根据前面最近一个命令的类型设定相应值。
- \begin{options}
\keyval{vmove}{刚性长度}\Default{0pt}
上标或下标的垂直偏移。如果是上下标命令使用则代表上标和上标间的额外垂直距离 \option{vsep}。
\keyval{hmove}{刚性长度}\Default{0pt}
@@ -1061,20 +1099,19 @@
段落中当前行上标或下标的基线与下一行的间距。
\keychoice{mode}{text,math,\fbox{match}}
上标或下标的输出格式。可以为文本 \code{text} 或数学 \code{math} 模式。当使用选项 \code{match} 时可以根据当前段落所处的模式自动匹配。
- \end{options}
-\end{commands}
+\end{cnltxlist}
\subsection{公式}
-\begin{environments}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\environment{equation}\default{}
\environment{multline}\default{}
\environment{gather}\default{}
\environment{align}
\pkg*{amsmath} 宏包提供了一系列行间数学环境,它们可以排布各种对齐或不对齐的公式组。\env{multline} 环境用于一行无法放下的长公式,\env{gather} 环境用于每行居中的公式组,\env{align} 环境用于多列对齐的公式组。还有例如 \pkg*{mathtools} 等对数学功能进行扩展的宏包,提供了更全面的数学命令与环境。
-\end{environments}
+\end{cnltxlist}
\subsection{表格}
-\begin{environments}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\environment{tabular}[\marg{列格式}]\default{}
\environment{tblr}[\marg{键值列表}]
\pkg*{tabularray} 是一个强大且全面的表格宏包,不依赖其它表格宏包所以同时使用不会产生冲突。不仅提供了各种传统表格宏包的功能,还实现了用键值列表方式简便地设置表格样式。具体用法可见宏包的说明文档,下面演示一个 \env{tblr} 表格的用法:
@@ -1096,10 +1133,10 @@
Rho & Sigma & Tau & Upsilon
\end{tblr}
\end{ctexexam}
-\end{environments}
+\end{cnltxlist}
\subsection{列表}
-\begin{commands}
+\begin{cnltxlist}
\command{setlist}[\sarg\splitoarg{列表类型,级别}\marg{键值列表}]
列表宏包 \pkg*{enumitem} 为系统预置的三个列表环境提供了灵活的标签以及间距控制,这是设置列表环境的通用接口命令。带有星号参数的命令在原有格式上补充。\meta{列表类型} 是排序列表 \code{enumerate}、常规列表 \code{itemize} 和主题列表 \code{description} 三个基本类型,也可以是 \cs{newlist} 新建的定理环境,若不指定则设置所有列表类型的格式。若不指定 \meta{级别} 则设置所有列表级别的格式。
\command{newlist}[\marg{列表名}\marg{列表类型}\marg{最大级别}]
@@ -1112,24 +1149,24 @@
\newlist{steps}{enumerate}{2}
\setlist[steps,1,2]{label = (\alph*)}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
-\begin{environments}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\environment{enumerate}[\oarg{键值列表}]\default{}
\environment{itemize}[\oarg{键值列表}]\default{}
\environment{description}[\oarg{键值列表}]
已为三种列表各自预置了三个级别。同种列表或不同种列表间的不同级别可相互嵌套,可以使用短编号的形式,带有星号的环境为行内列表。默认列表标签与标准文档类一致,下面举几个更改列表标签以及其它格式的例子:
\begin{ctexexam}
- \setlist*{wide = 0em} % 取消所有列表的左边距
+ \setlist*{wide = 0pt} % 取消所有列表的左边距
\begin{enumerate}[label = (\arabic*),leftmargin = 1cm,resume]
\begin{enumerate*}[(1)] % 短编号形式
\begin{itemize}[label = \textbullet,labelsep = *]
\begin{description}[font = \sffamily\bfseries,style = nextline]
\end{ctexexam}
-\end{environments}
+\end{cnltxlist}
\subsection{悬挂缩进}
-\begin{commands}
+\begin{cnltxlist}
\command{hangpara}[\marg{缩进长度}\marg{缩进开始行数}]
悬挂缩进命令 \cs{hangpara} 使其后的一个段落保持悬挂缩进。参数与 \env{hangparas} 环境相同,不过只有一个段落。\meta{缩进长度} 可以是带单位的数值或由文本长度测定命令 \cs{widthof} 提供。
\command{hangfrom}[\sarg\oarg{缩进长度}\marg{悬挂内容}\oarg{缩进开始行数}]\newtag%
@@ -1138,22 +1175,16 @@
\hangfrom[\hangwd + 1em]{悬挂标签\hspace{0.5em}}[1]
\hangfrom*[3em]{}
\end{ctexexam}
-\end{commands}
-
-\begin{environments}
\environment{hangparas}[\marg{缩进长度}\marg{缩进开始行数}]
悬挂缩进环境 \env{hangparas} 有两个必选参数,使其中的段落均保持悬挂缩进。每个段落的缩进将以 \meta{缩进长度} 从 \meta{缩进开始行数} 开始。
-\end{environments}
+\end{cnltxlist}
\subsection{代码}
-\begin{commands}
+\begin{cnltxlist}
\command{lstdefinestyle}[\marg{代码风格}\marg{键值列表}]
代码抄录宏包 \pkg*{listings} 的代码风格定义命令,提供大量选项对代码样式进行高度定制。可以根据需要的代码语言和样式定义多种风格,默认使用的 \meta{代码风格} 为 \code{lst-latex}。
\command{lstinline}[\oarg{键值列表}\marg{行内代码}]
行内代码抄录命令。较原生的 \cs*{verb} 命令有较大改进,具有代码语言和样式支持。
-\end{commands}
-
-\begin{environments}
\environment{lstlisting}[\oarg{键值列表}]
行间代码抄录环境。支持多种语言库,默认使用 \code{LaTeX} 代码语言,可使用 \meta{键值列表} 局部修改代码样式。另外还提供了 \cs{lstnewenvironment} 命令包装自定义名称的代码环境。
\begin{ctexexam}
@@ -1168,18 +1199,18 @@
}
\lstnewenvironment{mypascal}[1][]{\lstset{style = lst-pascal,#1}}{}
\end{ctexexam}
-\end{environments}
+\end{cnltxlist}
-\begin{options}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\keyval{lstlistlistingname}{代码目录标题名}\default{}
\keyval{lstlistingname}{代码题注标题名}
代码目录名与代码环境题注名选项 \option{lstlistlistingname} 和 \option{lstlistingname} 用法与 \CTeX 使用手册标题汉化一节类似,可以看作对这节的扩展。
-\end{options}
+\end{cnltxlist}
\subsection{盒子}
\label{subsec:box}
文档类预置了两个行间盒子环境和两个行内盒子命令,需要在导言区\textbf{手动载入} \pkg*{tcolorbox} 宏包提供支持。它们 \meta{配置选项} 的键值列表可见宏包文档的Option Keys一节,可以进行边距、字体及背景颜色等各种个性化设置。如果 \meta{配置选项} 较长且希望在原有基础上改为全局固定的样式,可以使用 \cs{addtotcbstyle} 命令设置,第一个参数为 \code{tc-}\meta{环境或命令名}。
-\begin{commands}
+\begin{cnltxlist}
\command{deftcbstyle}[\marg{盒子风格}\marg{键值列表}]
新建或重置一个名称为 \meta{盒子风格} 的 \pkg*{tcolorbox} 宏包盒子风格,可以与 \cs{addtotcbstyle} 命令联用。
\command{addtotcbstyle}[\marg{盒子风格}\marg{键值列表}]
@@ -1200,9 +1231,6 @@
盒子内容
\end{mytcbox}
\end{ctexexam}
-\end{commands}
-
-\begin{environments}
\environment{easyboxi}[\sarg\oarg{颜色名}\darg{段落标题}\oarg{配置选项}]
行间环境 \env{easyboxi} 创建一个带有三个可选参数的扁平盒子。使用星号参数时给盒子添加边框,\meta{颜色名} 选项设置背景颜色,\meta{段落标题} 选项可以设置标题,默认标题为空。
\begin{ctexexam}
@@ -1215,21 +1243,19 @@
\end{ctexexam}
\environment{easyboxii}[\sarg\oarg{颜色名}\darg{段落标题}\oarg{配置选项}]
环境 \env{easyboxii} 用法与 \env{easyboxi} 类似,同样带有三个可选参数。盒子的左边带有一条粗竖线,背景颜色为竖线颜色的浅色。\meta{颜色名} 选项可以设置竖线的颜色。使用星号参数则盒子无背景颜色。
-\end{environments}
-
-\begin{commands}
\command{eboxi}[\oarg{颜色名}\marg{内容}\oarg{配置选项}]
行内盒子命令 \cs{eboxi} 具有模糊边缘类似高亮的效果。
\command{eboxii}[\oarg{颜色名}\marg{内容}\oarg{配置选项}]
行内盒子命令 \cs{eboxii} 则有直角边缘和四周框线,效果类似带背景色的 \cs*{fbox} 盒子。
-\end{commands}
+\end{cnltxlist}
\section{扩展功能}
\subsection{物理量}
-\begin{commands}
+使用 \pkg*{siunitx} 宏包提供国际单位制的物理量支持。\pkg*{siunitx} 宏包旨在为 \hologo{LaTeX} 用户提供一种统一的方法,以便正确、轻松地排版数字和单位。\pkg*{siunitx} 的设计理念是默认遵循约定的规则,但允许通过选项设置进行更改。
+\begin{cnltxlist}
\command{num}[\oarg{键值列表}\marg{数字}]
- \pkg*{siunitx} 宏包的 \cs{num} 命令可以输出以科学计数法表示的数值。
+ \cs{num} 命令可以输出以科学计数法表示的数值。
\command{unit}[\oarg{键值列表}\marg{单位}]
单位格式化命令 \cs{unit} 包含文字元素(例如字母或数字)时,使用 \Marg{.} 和 \code{\~{}} 放置在单元乘积中间,并使用 \code{\_{}} 和 \code{\^{}} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。
\command{qty}[\oarg{键值列表}\marg{数字}\oarg{前缀}\marg{单位}]
@@ -1242,20 +1268,21 @@
\qty{5}{\mole}
\qtyrange[unit-color = green]{1.5}{4}{kg}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
\subsection{化学式}
-\begin{commands}
+除了以普通公式的方式,化学式的输出还可用 \pkg*{chemformula} 宏包实现。\pkg*{chemformula} 的工作原理与 \pkg*{mhchem} 非常相似,但对化合物、化学计量数和箭头的输入方式更为严格。同时 \pkg*{chemformula} 提供了多种自定义输出的可能性。
+\begin{cnltxlist}
\command{ch}[\oarg{键值列表}\marg{化学式}]
- 除了以普通公式的方式,化学式还可用 \pkg*{chemformula} 实现。无机化学式使用 \cs{ch} 命令书写。化合物表达式中的原子数不需要加下标符号,化学计量数与表达式间隔一个空格。
+ 无机化学式使用 \cs{ch} 命令书写。化合物表达式中的原子数不需要加下标符号,化学计量数与表达式间隔一个空格。
\begin{ctexexam}
\ch{[Cu(NH3)4]^2+}
\ch{Cu2S + 2 O2 - 2 e^- == 2 Cu^2+ + SO4^2-}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
\subsection{计数器}
-\begin{commands}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\command{newcounter}[\marg{计数器}\oarg{父计数器}]\default{}
\command{setcounter}[\marg{计数器}\marg{整数}]\default{}
\command{stepcounter}[\marg{计数器}]
@@ -1268,10 +1295,10 @@
\counterwithin[\Roman]{child}[-]{parent}
\counterwithout*{child}{parent}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
\subsection{标签引用}
-\begin{commands}
+\begin{cnltxlist}
\command{labelformat}[\marg{计数器}\marg{标签引用格式}]
标签格式命令 \cs{labelformat} 可以设置标签引用格式。\meta{标签引用格式} 中 \code{\#1} 代表 \cs*{the}\meta{计数器},可以设置引用序号的前缀和后缀。也可以使用 \pkg*{cleveref} 宏包提供更强大的标签功能。
\command{AtEndPreamble}[\marg{钩子代码}]
@@ -1281,47 +1308,46 @@
\labelformat{chapter}{第\thechapter 章}
\AtEndPreamble{\usepackage{cleveref}}
\end{ctexexam}
-\end{commands}
+\end{cnltxlist}
\subsection{图表题注}
-\begin{commands}
+\pkg*{caption} 宏包提供了多种方法来定制浮动环境(例如 \env{figure} 和 \env{table})中的标题,并可与许多其它宏包配合使用。功能包括旋转题注、侧向题注和连续题注等。
+\begin{cnltxlist}
\command{captionsetup}[\oarg{条目名}\marg{键值列表}]
这是 \pkg*{caption} 宏包的接口命令,\meta{键值列表} 提供多个选项更改图表题注的格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。
-\end{commands}
+\end{cnltxlist}
-\begin{commands}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
\command{captionof}[\sarg\marg{条目名}\oarg{目录标题}\marg{标题}]\default{}
\command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
题注命令 \cs{caption} 用于在图表上下方插入题注,需要在浮动环境 \env*{figure} 和 \env*{table} 中使用。在浮动环境外可以使用 \cs{captionof} 命令,第一个参数指定条目名。可以搭配 \pkg*{newfloat} 宏包创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令可以实现中英文双语题注,需要在导言区载入 \pkg*{bicaption} 宏包,具体用法见说明文档。
-\end{commands}
+\end{cnltxlist}
\subsection{索引}
-\begin{commands}
+\begin{cnltxlist}
\command{indexsetup}[\marg{键值列表}]
- \pkg*{imakeidx} 宏包增强了索引的功能。这是它的的接口命令,用于设置索引表的整体格式。
+ \pkg*{imakeidx} 宏包增强了索引的功能,可使用户在制作和排版文档的同时制作一个或多个索引。这是 \pkg*{imakeidx} 宏包的接口命令,用于设置索引表的整体格式。
\command{index}[\oarg{索引名}\marg{标签}]
索引标签命令的可选参数可以用不同的 \meta{索引名} 给多个索引表设置标签。
\command{makeindex}[\oarg{键值列表}]
用于导言区开启索引收集的命令。这个命令可以重复使用收集多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表没必要重复使用。
\command{printindex}[\sarg\oarg{键值列表}]
打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,但是接口命令 \cs{indexsetup} 的部分选项失效。
- \begin{options}
\keyval{name}{索引名}
指定输出名为 \meta{索引名} 的索引表,如果只使用一个索引表则默认为项目文件名不需要指定。
- \end{options}
-\end{commands}
+\end{cnltxlist}
\subsection{边注}
-\begin{commands}
+\begin{cnltxlist}
\command{marginnote}[\oarg{左文本}\marg{右文本}\oarg{垂直偏移}]
边注命令用于在两侧页边空白添加标注。如果只给定了 \meta{右文本},那么边注在奇偶数页文字相同。如果同时给定了 \meta{左文本},则偶数页使用 \meta{左文本} 的文字。
\command{reversemarginpar}
边注位置设置命令,用于将边注排版到与默认边空位置相反的边空中。
-\end{commands}
+\end{cnltxlist}
\subsection{公式符号对照}
-\begin{environments}
+\begin{cnltxlist}
\environment{eqcomp}[\oarg{键值列表1}\darg{键值列表2}]
一些公式之后可以使用基于列表环境的 \env{eqcomp} 进行符号对照。对照列表的 \meta{键值列表2} 与 \pkg*{enumitem} 的选项相同,一般较少用到,可以用于设置垂直间距等。
\begin{ctexexam}
@@ -1331,16 +1357,12 @@
\symb{C}[---] 符号说明
\end{eqcomp}
\end{ctexexam}
-\end{environments}
-
-\begin{commands}
\command{symb}[\sarg\marg{符号}\oarg{引导符}]
符号条目命令 \cs{symb} 类似 \cs*{item},需要在环境内使用,带有星号的命令可在文本段落单独使用。
\command{seteqcomplist}[\marg{键值列表2}]
对照列表条目格式的 \meta{键值列表2} 可以使用 \cs{seteqcomplist} 全局设置。
\command{seteqcomp}[\marg{键值列表1}]
对照环境的 \meta{键值列表1} 可以使用 \cs{seteqcomp} 全局设置,它的选项如下:
- \begin{options}
\keyval{width}{符号宽度}\Default{10pt}
设置适当的符号宽度可以防止文字重叠和边界溢出等问题。
\keyval{delim}{引导符}\Default{——}
@@ -1359,22 +1381,21 @@
符号的字体。数学和文本符号模式应采用不同的字体命令,最后一个命令可以接受一个参数,这个参数为符号。
\keychoice{mode}{\fbox{math},text}
符号字体模式,可以为数学字体或者文本字体。
- \end{options}
-\end{commands}
+\end{cnltxlist}
\subsection{插入文档}
-\begin{commands}
+\begin{cnltxlist}
\command{includepdf}[\oarg{键值列表}\marg{文档名}]
该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。可选参数可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。
-\end{commands}
+\end{cnltxlist}
\subsection{下划线}
-\begin{commands}\noitemsep
+\begin{cnltxlist}[itemsep = 0ex]
\command{uline}[\marg{下划直线}]\default{}
\command{uuline}[\marg{下划双直线}]\default{}
\command{uwave}[\marg{下划波浪线}]
\pkg*{ulem} 宏包提供了多种下划线命令,可以重新定义 \cs{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个允许深度根据当前字体变化的特殊标志,当然也可以使用 \cs*{setlength} 设定为指定深度。
-\end{commands}
+\end{cnltxlist}
\appendix
\setlist[1]{}
@@ -1421,6 +1442,22 @@
\item 新增目录文件扩展名分配命令 \cs{AllotCaptionExt}。
\end{version}
\shortversion{v = 2024aq,date = 2022/03/31,changes = 修复命令 \cs{ebifbitoc} 用于条目缩进选项 \option{tocindent} 失效的问题。}
+ \begin{version}[v = 2024as,date = 2024/04/19]
+ \changed
+ \item 目录条目样式注册命令 \cs{RegisterTocName} 增加星号参数,支持设置段落型目录。
+ \added
+ \item 新增目录条目标题标签定义的选项 \option{toclabel}。
+ \item 新增段落型目录条目附加代码的选项 \option{tocbegin}、\option{tocsep} 和 \option{tocend}。
+ \end{version}
+ \shortversion{v = 2024aw,date = 2022/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
+ \shortversion{v = 2024bb,date = 2022/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
+ \shortversion{v = 2024bk,date = 2022/05/07,changes = 新增局部题注目录分配命令 \cs{AllotPartialExt}。}
+ \begin{version}[v = 2024bn,date = 2022/05/10]
+ \fixed
+ \item 修复 \module*{toc} 模块中带有 \option*{every} 后缀的选项不对所有已注册条目有效的问题。
+ \added
+ \item 新增统一设置所有目录格式时的条目类型排除命令 \cs{ExcludeEveryTocName}。
+ \end{version}
\end{changelog}
\nocite{*}
diff --git a/macros/latex/contrib/els-cas-templates/README b/macros/latex/contrib/els-cas-templates/README
index c925f30042..ffc9f6d112 100644
--- a/macros/latex/contrib/els-cas-templates/README
+++ b/macros/latex/contrib/els-cas-templates/README
@@ -1,3 +1,5 @@
+Version 2.4
+
This bundle provides two classfiles, namely cas-sc.cls and cas-dc.cls
and corresponding template files for typesetting journal articles
supposed to go through Elsevier's updated workflow. cas-sc.cls is meant
diff --git a/macros/latex/contrib/els-cas-templates/cas-common.sty b/macros/latex/contrib/els-cas-templates/cas-common.sty
index 3ffe3ea218..e3e4154b7f 100644
--- a/macros/latex/contrib/els-cas-templates/cas-common.sty
+++ b/macros/latex/contrib/els-cas-templates/cas-common.sty
@@ -15,11 +15,11 @@
%% given in the file `manifest.txt'.
%%
-% $Id: cas-common.sty 66 2021-05-11 14:17:42Z rishi $
+% $Id: cas-common.sty 94 2024-05-04 09:27:09Z rishi $
\def\RCSfile{cas-common}%
- \def\RCSversion{2.3}%
- \def\RCSdate{2021/05/11}%
+ \def\RCSversion{2.4}%
+ \def\RCSdate{2024/05/04}%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\pretolerance=-1
@@ -1537,7 +1537,7 @@
\ifnum\theblind>0\relax
\vspace*{\the\baselineskip}
\else
- \seq_use:Nn \g_stm_prelimsau_seq { , }
+ \seq_use:Nn \g_stm_prelimsau_seq { ,~ }
\fi
\vskip12pt
\par
@@ -2628,7 +2628,7 @@
\xspaceaddexceptions{]}
-\ABD{\bibsep=0pt}
+\ABD{\@ifundefined{bibsep}{}{\bibsep=0pt}}
%\ifbool{casfinallayout}
% {%
\ABD{\gdef\bibfont{\fontsize{8pt}{10pt}\selectfont}%
@@ -2638,3 +2638,4 @@
% {}
\endinput
+
diff --git a/macros/latex/contrib/els-cas-templates/cas-dc-sample.pdf b/macros/latex/contrib/els-cas-templates/cas-dc-sample.pdf
new file mode 100644
index 0000000000..aeaa27f1a3
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/cas-dc-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/cas-dc-sample.tex b/macros/latex/contrib/els-cas-templates/cas-dc-sample.tex
new file mode 100644
index 0000000000..aeaa9e565c
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/cas-dc-sample.tex
@@ -0,0 +1,463 @@
+%%
+%% Copyright 2019-2024 Elsevier Ltd
+%%
+%% Version 2.4
+%%
+%% This file is part of the 'CAS Bundle'.
+%% --------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the 'CAS Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% Template article for cas-dc documentclass for
+%% double column output.
+
+%\documentclass[a4paper,fleqn,longmktitle]{cas-dc}
+\documentclass[a4paper,fleqn]{cas-dc}
+
+%\usepackage[authoryear,longnamesfirst]{natbib}
+%\usepackage[authoryear]{natbib}
+\usepackage[numbers]{natbib}
+
+%%%Author definitions
+\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
+\tsc{WGM}
+\tsc{QE}
+\tsc{EP}
+\tsc{PMS}
+\tsc{BEC}
+\tsc{DE}
+%%%
+
+\begin{document}
+\let\WriteBookmarks\relax
+\def\floatpagepagefraction{1}
+\def\textpagefraction{.001}
+\shorttitle{Leveraging social media news}
+\shortauthors{J.K. Krishnan et~al.}
+
+\title [mode = title]{This is a specimen $a_b$ title}
+\tnotemark[1,2]
+
+\tnotetext[1]{This document is the results of the research
+ project funded by the National Science Foundation.}
+
+\tnotetext[2]{The second title footnote which is a longer text matter
+ to fill through the whole text width and overflow into
+ another line in the footnotes area of the first page.}
+
+
+\author[1,3]{J.K. Krishnan}[type=editor,
+ auid=000,bioid=1,
+ prefix=Sir,
+ role=Researcher,
+ orcid=0000-0001-0000-0000]
+\cormark[1]
+\fnmark[1]
+\ead{jkk@example.in}
+\ead[url]{www.jkkrishnan.in}
+
+\credit{Conceptualization of this study, Methodology, Software}
+
+%\address[1]{, Street 129, 1043 NX Amsterdam, The Netherlands}
+\affiliation[1]{organization={Department of Physics, J.K. Institute of Science},
+ addressline={Jawahar Nagar},
+ city={Trivandrum},
+% citysep={}, % Uncomment if no comma needed between city and postcode
+ postcode={695013},
+ state={Kerala},
+ country={India}}
+
+\author[2,4]{Han Thane}[style=chinese]
+
+\author[2,3]{William {J. Hansen}}[%
+ role=Co-ordinator,
+ suffix=Jr,
+ ]
+\fnmark[2]
+\ead{wjh@example.org}
+\ead[URL]{https://www.university.org}
+
+\credit{Data curation, Writing - Original draft preparation}
+
+\affiliation[2]{organization={World Scientific University},
+ addressline={Street 29},
+ postcode={1011 NX},
+ postcodesep={},
+ city={Amsterdam},
+ country={The Netherlands}}
+
+\author[1,3]{T. Rafeeq}
+\cormark[2]
+\fnmark[1,3]
+\ead{t.rafeeq@example.in}
+\ead[URL]{www.campus.in}
+
+\affiliation[3]{organization={University of Intelligent Studies},
+ addressline={Street 15},
+ city={Jabaldesh},
+ postcode={825001},
+ state={Orissa},
+ country={India}}
+
+\cortext[cor1]{Corresponding author}
+\cortext[cor2]{Principal corresponding author}
+\fntext[fn1]{This is the first author footnote, but is common to third
+ author as well.}
+\fntext[fn2]{Another author footnote, this is a very long footnote and
+ it should be a really long footnote. But this footnote is not yet
+ sufficiently long enough to make two lines of footnote text.}
+
+\nonumnote{This note has no numbers. In this work we demonstrate $a_b$
+ the formation Y\_1 of a new type of polariton on the interface
+ between a cuprous oxide slab and a polystyrene micro-sphere placed
+ on the slab.
+ }
+
+\begin{abstract}
+This template helps you to create a properly formatted \LaTeX\ manuscript.
+
+\noindent\texttt{\textbackslash begin{abstract}} \dots
+\texttt{\textbackslash end{abstract}} and
+\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+
+which
+contain the abstract and keywords respectively.
+
+\noindent Each keyword shall be separated by a \verb+\sep+ command.
+\end{abstract}
+
+\begin{graphicalabstract}
+\includegraphics{figs/cas-grabs.pdf}
+\end{graphicalabstract}
+
+\begin{highlights}
+\item Research highlights item 1
+\item Research highlights item 2
+\item Research highlights item 3
+\end{highlights}
+
+\begin{keywords}
+quadrupole exciton \sep polariton \sep \WGM \sep \BEC
+\end{keywords}
+
+
+\maketitle
+
+\section{Introduction}
+
+The Elsevier cas-dc class is based on the
+standard article class and supports almost all of the functionality of
+that class. In addition, it features commands and options to format the
+\begin{itemize} \item document style \item baselineskip \item front
+matter \item keywords and MSC codes \item theorems, definitions and
+proofs \item lables of enumerations \item citation style and labeling.
+\end{itemize}
+
+This class depends on the following packages
+for its proper functioning:
+
+\begin{enumerate}
+\itemsep=0pt
+\item {natbib.sty} for citation processing;
+\item {geometry.sty} for margin settings;
+\item {fleqn.clo} for left aligned equations;
+\item {graphicx.sty} for graphics inclusion;
+\item {hyperref.sty} optional packages if hyperlinking is
+ required in the document;
+\end{enumerate}
+
+All the above packages are part of any
+standard \LaTeX{} installation.
+Therefore, the users need not be
+bothered about downloading any extra packages.
+
+\section{Installation}
+
+The package is available at author resources page at Elsevier
+(\url{http://www.elsevier.com/locate/latex}).
+The class may be moved or copied to a place, usually,\linebreak
+\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+or a folder which will be read
+by \LaTeX{} during document compilation. The \TeX{} file
+database needs updation after moving/copying class file. Usually,
+we use commands like \verb+mktexlsr+ or \verb+texhash+ depending
+upon the distribution and operating system.
+
+\section{Front matter}
+
+The author names and affiliations could be formatted in two ways:
+\begin{enumerate}[(1)]
+\item Group the authors per affiliation.
+\item Use footnotes to indicate the affiliations.
+\end{enumerate}
+See the front matter of this document for examples.
+You are recommended to conform your choice to the journal you
+are submitting to.
+
+\section{Bibliography styles}
+
+There are various bibliography styles available. You can select the
+style of your choice in the preamble of this document. These styles are
+Elsevier styles based on standard styles like Harvard and Vancouver.
+Please use Bib\TeX\ to generate your bibliography and include DOIs
+whenever available.
+
+Here are two sample references:
+\cite{Fortunato2010}
+\cite{Fortunato2010,NewmanGirvan2004}
+\cite{Fortunato2010,Vehlowetal2013}
+
+\section{Floats}
+{Figures} may be included using the command,\linebreak
+\verb+\includegraphics+ in
+combination with or without its several options to further control
+graphic. \verb+\includegraphics+ is provided by {graphic[s,x].sty}
+which is part of any standard \LaTeX{} distribution.
+{graphicx.sty} is loaded by default. \LaTeX{} accepts figures in
+the postscript format while pdf\LaTeX{} accepts {*.pdf},
+{*.mps} (metapost), {*.jpg} and {*.png} formats.
+pdf\LaTeX{} does not accept graphic files in the postscript format.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.9\columnwidth]{figs/cas-munnar-2024.jpg}
+ \caption{The beauty of Munnar, Kerala. (See also Table \protect\ref{tbl1}).}
+ \label{FIG:1}
+\end{figure}
+
+
+The \verb+table+ environment is handy for marking up tabular
+material. If users want to use {multirow.sty},
+{array.sty}, etc., to fine control/enhance the tables, they
+are welcome to load any package of their choice and
+{cas-dc.cls} will work in combination with all loaded
+packages.
+
+\begin{table}[width=.9\linewidth,cols=4,pos=h]
+\caption{This is a test caption. This is a test caption. This is a test
+caption. This is a test caption. Use \{table*\} instead of \{table\} if you
+want a two column spanned table.}\label{tbl1}
+\begin{tabular*}{\tblwidth}{@{} LLLL@{} }
+\toprule
+Col 1 & Col 2 & Col 3 & Col4\\
+\midrule
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+\bottomrule
+\end{tabular*}
+\end{table}
+
+\section[Theorem and ...]{Theorem and theorem like environments}
+
+{cas-dc.cls} provides a few shortcuts to format theorems and
+theorem-like environments with ease. In all commands the options that
+are used with the \verb+\newtheorem+ command will work exactly in the same
+manner. {cas-dc.cls} provides three commands to format theorem or
+theorem-like environments:
+
+\begin{verbatim}
+ \newtheorem{theorem}{Theorem}
+ \newtheorem{lemma}[theorem]{Lemma}
+ \newdefinition{rmk}{Remark}
+ \newproof{pf}{Proof}
+ \newproof{pot}{Proof of Theorem \ref{thm2}}
+\end{verbatim}
+
+
+The \verb+\newtheorem+ command formats a
+theorem in \LaTeX's default style with italicized font, bold font
+for theorem heading and theorem number at the right hand side of the
+theorem heading. It also optionally accepts an argument which
+will be printed as an extra heading in parentheses.
+
+\begin{verbatim}
+ \begin{theorem}
+ For system (8), consensus can be achieved with
+ $\|T_{\omega z}$ ...
+ \begin{eqnarray}\label{10}
+ ....
+ \end{eqnarray}
+ \end{theorem}
+\end{verbatim}
+
+
+\newtheorem{theorem}{Theorem}
+
+\begin{theorem}
+For system (8), consensus can be achieved with
+$\|T_{\omega z}$ ...
+\begin{eqnarray}\label{10}
+....
+\end{eqnarray}
+\end{theorem}
+
+The \verb+\newdefinition+ command is the same in
+all respects as its \verb+\newtheorem+ counterpart except that
+the font shape is roman instead of italic. Both
+\verb+\newdefinition+ and \verb+\newtheorem+ commands
+automatically define counters for the environments defined.
+
+The \verb+\newproof+ command defines proof environments with
+upright font shape. No counters are defined.
+
+\begin{figure*}
+ \centering
+ \includegraphics[width=.9\textwidth]{figs/cas-munnar-2024.jpg}
+ \caption{The beauty of Munnar, Kerala. (See also Table \protect\ref{tbl1}).}
+ \label{FIG:2}
+\end{figure*}
+
+
+\section[Enumerated ...]{Enumerated and Itemized Lists}
+{cas-dc.cls} provides an extended list processing macros
+which makes the usage a bit more user friendly than the default
+\LaTeX{} list macros. With an optional argument to the
+\verb+\begin{enumerate}+ command, you can change the list counter
+type and its attributes.
+
+\begin{verbatim}
+ \begin{enumerate}[1.]
+ \item The enumerate environment starts with an optional
+ argument `1.', so that the item counter will be suffixed
+ by a period.
+ \item You can use `a)' for alphabetical counter and '(i)'
+ for roman counter.
+ \begin{enumerate}[a)]
+ \item Another level of list with alphabetical counter.
+ \item One more item before we start another.
+ \item One more item before we start another.
+ \item One more item before we start another.
+ \item One more item before we start another.
+\end{verbatim}
+
+Further, the enhanced list environment allows one to prefix a
+string like `step' to all the item numbers.
+
+\begin{verbatim}
+ \begin{enumerate}[Step 1.]
+ \item This is the first step of the example list.
+ \item Obviously this is the second step.
+ \item The final step to wind up this example.
+ \end{enumerate}
+\end{verbatim}
+
+\section{Cross-references}
+In electronic publications, articles may be internally
+hyperlinked. Hyperlinks are generated from proper
+cross-references in the article. For example, the words
+\textcolor{black!80}{Fig.~1} will never be more than simple text,
+whereas the proper cross-reference \verb+\ref{tiger}+ may be
+turned into a hyperlink to the figure itself:
+\textcolor{blue}{Fig.~1}. In the same way,
+the words \textcolor{blue}{Ref.~[1]} will fail to turn into a
+hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+.
+Cross-referencing is possible in \LaTeX{} for sections,
+subsections, formulae, figures, tables, and literature
+references.
+
+\section{Bibliography}
+
+Two bibliographic style files (\verb+*.bst+) are provided ---
+{model1-num-names.bst} and {model2-names.bst} --- the first one can be
+used for the numbered scheme. This can also be used for the numbered
+with new options of {natbib.sty}. The second one is for the author year
+scheme. When you use model2-names.bst, the citation commands will be
+like \verb+\citep+, \verb+\citet+, \verb+\citealt+ etc. However when
+you use model1-num-names.bst, you may use only \verb+\cite+ command.
+
+\verb+thebibliography+ environment. Each reference is a\linebreak
+\verb+\bibitem+ and each \verb+\bibitem+ is identified by a label,
+by which it can be cited in the text:
+
+\noindent In connection with cross-referencing and
+possible future hyperlinking it is not a good idea to collect
+more that one literature item in one \verb+\bibitem+. The
+so-called Harvard or author-year style of referencing is enabled
+by the \LaTeX{} package {natbib}. With this package the
+literature can be cited as follows:
+
+\begin{enumerate}[\textbullet]
+\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \& Brown, 1996).
+\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996).
+\item An affix and part of a reference:\break
+\verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et
+al., 1997, Ch. 2).
+\end{enumerate}
+
+In the numbered scheme of citation, \verb+\cite{<label>}+ is used,
+since \verb+\citep+ or \verb+\citet+ has no relevance in the numbered
+scheme. {natbib} package is loaded by {cas-dc} with
+\verb+numbers+ as default option. You can change this to author-year
+or harvard scheme by adding option \verb+authoryear+ in the class
+loading command. If you want to use more options of the {natbib}
+package, you can do so with the \verb+\biboptions+ command. For
+details of various options of the {natbib} package, please take a
+look at the {natbib} documentation, which is part of any standard
+\LaTeX{} installation.
+
+\appendix
+\section{My Appendix}
+Appendix sections are coded under \verb+\appendix+.
+
+\verb+\printcredits+ command is used after appendix sections to list
+author credit taxonomy contribution roles tagged using \verb+\credit+
+in frontmatter.
+
+\printcredits
+
+%% Loading bibliography style file
+%\bibliographystyle{model1-num-names}
+\bibliographystyle{cas-model2-names}
+
+% Loading bibliography database
+\bibliography{cas-refs}
+
+
+%\vskip3pt
+
+\bio{}
+Author biography without author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+\bio{figs/cas-pic1}
+Author biography with author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+\bio{figs/cas-pic1}
+Author biography with author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+\end{document}
+
diff --git a/macros/latex/contrib/els-cas-templates/cas-dc-template.tex b/macros/latex/contrib/els-cas-templates/cas-dc-template.tex
index 5cefee69db..609fc3005c 100644
--- a/macros/latex/contrib/els-cas-templates/cas-dc-template.tex
+++ b/macros/latex/contrib/els-cas-templates/cas-dc-template.tex
@@ -1,14 +1,14 @@
%%
-%% Copyright 2019-2021 Elsevier Ltd
+%% Copyright 2019-2024 Elsevier Ltd
%%
%% This file is part of the 'CAS Bundle'.
%% --------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3c of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
@@ -47,21 +47,21 @@
\def\textpagefraction{.001}
% Short title
-\shorttitle{<short title of the paper for running head>}
+\shorttitle{}
% Short author
-\shortauthors{<short author list for running head>}
+\shortauthors{}
% Main title of the paper
-\title [mode = title]{<main title>}
+\title [mode = title]{}
% Title footnote mark
% eg: \tnotemark[1]
-\tnotemark[<tnote number>]
+\tnotemark[1]
% Title footnote 1.
% eg: \tnotetext[1]{Title footnote text}
-\tnotetext[<tnote number>]{<tnote text>}
+\tnotetext[1]{}
% First author
%
@@ -77,26 +77,26 @@
% linkedin=<linkedin id>,
% gplus=<gplus id>]
-\author[<aff no>]{<author name>}[<options>]
+\author[1]{}%[<options>]
% Corresponding author indication
-\cormark[<corr mark no>]
+\cormark[1]
% Footnote of the first author
-\fnmark[<footnote mark no>]
+\fnmark[1]
% Email id of the first author
-\ead{<email address>}
+\ead{}
% URL of the first author
-\ead[url]{<URL>}
+\ead[url]{}
% Credit authorship
% eg: \credit{Conceptualization of this study, Methodology, Software}
-\credit{<Credit authorship details>}
+\credit{}
% Address/affiliation
-\affiliation[<aff no>]{organization={},
+\affiliation[1]{organization={},
addressline={},
city={},
% citysep={}, % Uncomment if no comma needed between city and postcode
@@ -104,7 +104,7 @@
state={},
country={}}
-\author[<aff no>]{<author name>}[<options>]
+\author[2]{}%[]
% Footnote of the second author
\fnmark[2]
@@ -119,7 +119,7 @@
\credit{}
% Address/affiliation
-\affiliation[<aff no>]{organization={},
+\affiliation[2]{organization={},
addressline={},
city={},
% citysep={}, % Uncomment if no comma needed between city and postcode
@@ -138,7 +138,7 @@
% Here goes the abstract
\begin{abstract}
-
+Here goes the abstract \nocite{*}%% Remove this line from your manuscript.
\end{abstract}
% Use if graphical abstract is present
@@ -153,6 +153,9 @@
\item
\end{highlights}
+
+%\nocite{*}
+
% Keywords
% Each keyword is seperated by \sep
\begin{keywords}
@@ -187,15 +190,17 @@
%\item[]
%\end{description}
+\clearpage %%Remove this from your manuscript
+
% Figure
-\begin{figure}[<options>]
- \centering
- \includegraphics[<options>]{}
- \caption{}\label{fig1}
+\begin{figure}%[]
+ \centering
+% \includegraphics{}
+ \caption{}\label{fig1}
\end{figure}
-\begin{table}[<options>]
+\begin{table}%[]
\caption{}\label{tbl1}
\begin{tabular*}{\tblwidth}{@{}LL@{}}
\toprule
@@ -231,16 +236,16 @@
\bibliographystyle{cas-model2-names}
% Loading bibliography database
-\bibliography{}
+\bibliography{cas-refs}
% Biography
-\bio{}
+%\bio{}
% Here goes the biography details.
-\endbio
+%\endbio
-\bio{pic1}
+%\bio{pic1}
% Here goes the biography details.
-\endbio
+%\endbio
\end{document}
diff --git a/macros/latex/contrib/els-cas-templates/cas-dc.cls b/macros/latex/contrib/els-cas-templates/cas-dc.cls
index a96661bd27..674299c7f7 100644
--- a/macros/latex/contrib/els-cas-templates/cas-dc.cls
+++ b/macros/latex/contrib/els-cas-templates/cas-dc.cls
@@ -15,11 +15,11 @@
%% given in the file `manifest.txt'.
%%
-%% $Id: cas-dc.cls 66 2021-05-11 14:17:42Z rishi $
+%% $Id: cas-dc.cls 96 2024-05-04 09:29:44Z rishi $
\def\RCSfile{cas-dc}%
- \def\RCSversion{2.3}%
- \def\RCSdate{2021/05/11}%
+ \def\RCSversion{2.4}%
+ \def\RCSdate{2024/05/04}%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\RCSfile}[\RCSdate, \RCSversion: Formatting class
for CAS double column articles]
@@ -48,7 +48,7 @@
\DeclareOption{final}{\global\casfinallayouttrue}
\DeclareOption{review}{\global\casreviewlayouttrue}
-\ExecuteOptions{a4paper,10pt,oneside,fleqn,review}
+\ExecuteOptions{a4paper,10pt,oneside,fleqn}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
@@ -64,6 +64,8 @@
\RequirePackage{xspace,xstring,footmisc}
\RequirePackage[svgnames,dvipsnames]{xcolor}
+\ifbool{casreviewlayout}{\RequirePackage{setspace}}{}
+
\RequirePackage[colorlinks]{hyperref}
\colorlet{scolor}{black}
\colorlet{hscolor}{DarkSlateGrey}
@@ -112,17 +114,26 @@
\thispagestyle{first}
\ifbool{longmktitle}
{
- \LongMaketitleBox
+ \ifnum\theblind>0\relax
+ \LongMaketitleBox[Blind]
+ \else
+ \LongMaketitleBox
+ \fi
\ProcessLongTitleBox
}
{
- \twocolumn[\MaketitleBox]
+ \ifnum\theblind>0\relax
+ \twocolumn[{\MaketitleBox[blind]}]
+ \else
+ \twocolumn[\MaketitleBox]
+ \fi
\printFirstPageNotes
}
\setcounter{footnote}{\int_use:N \g_stm_fnote_int}
\renewcommand\thefootnote{\arabic{footnote}}
\gdef\@pdfauthor{\infoauthors}
\gdef\@pdfsubject{Complex ~STM ~Content}
+ \ifbool{casreviewlayout}{\doublespacing}{}
}
%
@@ -170,6 +181,7 @@
\endinput
%
-% End of class 'cas-sc'
+% End of class 'cas-dc'
%
+
diff --git a/macros/latex/contrib/els-cas-templates/cas-model2-names.bst b/macros/latex/contrib/els-cas-templates/cas-model2-names.bst
index 503b2b7a34..726b5f6acf 100644
--- a/macros/latex/contrib/els-cas-templates/cas-model2-names.bst
+++ b/macros/latex/contrib/els-cas-templates/cas-model2-names.bst
@@ -1,16 +1,16 @@
%%
-%% This is file `cas-model2-names.bst' (Version 2.3),
+%% This is file `cas-model2-names.bst' (Version 2.4),
%%
-%% Copyright 2009-2021 Elsevier Ltd
+%% Copyright 2009-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3c of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% $Id: cas-model2-names.bst$
diff --git a/macros/latex/contrib/els-cas-templates/cas-refs.bib b/macros/latex/contrib/els-cas-templates/cas-refs.bib
index ba1cb22d73..867e4283f7 100644
--- a/macros/latex/contrib/els-cas-templates/cas-refs.bib
+++ b/macros/latex/contrib/els-cas-templates/cas-refs.bib
@@ -205,7 +205,7 @@
}
@ARTICLE{Havensetal2013,
- author = {Havens, T. C. and Bezdek, J. C. and Leckie, C., Ramamohanarao, K. and Palaniswami, M.},
+ author = {Havens, T. C. and Bezdek, J. C. and Leckie, C. and Ramamohanarao, K. and Palaniswami, M.},
title = {A Soft Modularity Function For Detecting Fuzzy Communities in Social Networks},
journal = {IEEE Trans. Fuzzy Syst.},
volume = {21},
diff --git a/macros/latex/contrib/els-cas-templates/cas-sc-sample.pdf b/macros/latex/contrib/els-cas-templates/cas-sc-sample.pdf
new file mode 100644
index 0000000000..2e9931d2b0
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/cas-sc-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/cas-sc-sample.tex b/macros/latex/contrib/els-cas-templates/cas-sc-sample.tex
new file mode 100644
index 0000000000..8f7a3343c7
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/cas-sc-sample.tex
@@ -0,0 +1,457 @@
+%%
+%% Copyright 2019-2024 Elsevier Ltd
+%%
+%% Version 2.4
+%%
+%% This file is part of the 'CAS Bundle'.
+%% --------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the 'CAS Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% Template article for cas-sc documentclass for
+%% single column output.
+
+%\documentclass[a4paper,fleqn,longmktitle]{cas-sc}
+\documentclass[a4paper,fleqn]{cas-sc}
+
+%\usepackage[numbers]{natbib}
+%\usepackage[authoryear]{natbib}
+\usepackage[authoryear,longnamesfirst]{natbib}
+
+%%%Author macros
+\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
+\tsc{WGM}
+\tsc{QE}
+\tsc{EP}
+\tsc{PMS}
+\tsc{BEC}
+\tsc{DE}
+%%%
+
+\begin{document}
+\let\WriteBookmarks\relax
+\def\floatpagepagefraction{1}
+\def\textpagefraction{.001}
+\shorttitle{Leveraging social media news}
+\shortauthors{J.K. Krishnan et~al.}
+%\begin{frontmatter}
+
+\title [mode = title]{This is a specimen $a_b$ title}
+\tnotemark[1,2]
+
+\tnotetext[1]{This document is the results of the research
+ project funded by the National Science Foundation.}
+
+\tnotetext[2]{The second title footnote which is a longer text matter
+ to fill through the whole text width and overflow into
+ another line in the footnotes area of the first page.}
+
+
+\author[1,3]{J.K. Krishnan}[type=editor,
+ auid=000,bioid=1,
+ prefix=Sir,
+ role=Researcher,
+ orcid=0000-0001-0000-0000]
+\cormark[1]
+\fnmark[1]
+\ead{jkk@example.in}
+\ead[url]{www.jkkrishnan.in}
+
+\credit{Conceptualization of this study, Methodology, Software}
+
+\affiliation[1]{organization={Department of Physics, J.K. Institute of Science},
+ addressline={Jawahar Nagar},
+ city={Trivandrum},
+% citysep={}, % Uncomment if no comma needed between city and postcode
+ postcode={695013},
+ state={Kerala},
+ country={India}}
+
+\author[2,4]{Han Thane}[style=chinese]
+
+\author[2,3]{William {J. Hansen}}[%
+ role=Co-ordinator,
+ suffix=Jr,
+ ]
+\fnmark[2]
+\ead{wjh@example.org}
+\ead[URL]{https://www.university.org}
+
+\credit{Data curation, Writing - Original draft preparation}
+
+\affiliation[2]{organization={World Scientific University},
+ addressline={Street 29},
+ postcode={1011 NX},
+ postcodesep={},
+ city={Amsterdam},
+ country={The Netherlands}}
+
+\author[1,3]{T. Rafeeq}
+\cormark[2]
+\fnmark[1,3]
+\ead{t.rafeeq@example.in}
+\ead[URL]{www.campus.in}
+
+\affiliation[3]{organization={University of Intelligent Studies},
+ addressline={Street 15},
+ city={Jabaldesh},
+ postcode={825001},
+ state={Orissa},
+ country={India}}
+
+\cortext[cor1]{Corresponding author}
+\cortext[cor2]{Principal corresponding author}
+\fntext[fn1]{This is the first author footnote, but is common to third
+ author as well.}
+\fntext[fn2]{Another author footnote, this is a very long footnote and
+ it should be a really long footnote. But this footnote is not yet
+ sufficiently long enough to make two lines of footnote text.}
+
+\nonumnote{This note has no numbers. In this work we demonstrate $a_b$
+ the formation Y\_1 of a new type of polariton on the interface
+ between a cuprous oxide slab and a polystyrene micro-sphere placed
+ on the slab.
+ }
+
+\begin{abstract}
+This template helps you to create a properly formatted \LaTeX\ manuscript.
+
+\noindent\texttt{\textbackslash begin{abstract}} \dots
+\texttt{\textbackslash end{abstract}} and
+\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+
+which
+contain the abstract and keywords respectively.
+Each keyword shall be separated by a \verb+\sep+ command.
+\end{abstract}
+
+\begin{graphicalabstract}
+\includegraphics{figs/cas-grabs.pdf}
+\end{graphicalabstract}
+
+\begin{highlights}
+\item Research highlights item 1
+\item Research highlights item 2
+\item Research highlights item 3
+\end{highlights}
+
+\begin{keywords}
+quadrupole exciton \sep polariton \sep \WGM \sep \BEC
+\end{keywords}
+
+
+\maketitle
+
+
+\section{Introduction}
+
+The Elsevier cas-sc class is based on the
+standard article class and supports almost all of the functionality of
+that class. In addition, it features commands and options to format the
+\begin{itemize} \item document style \item baselineskip \item front
+matter \item keywords and MSC codes \item theorems, definitions and
+proofs \item lables of enumerations \item citation style and labeling.
+\end{itemize}
+
+This class depends on the following packages
+for its proper functioning:
+
+\begin{enumerate}
+\itemsep=0pt
+\item {natbib.sty} for citation processing;
+\item {geometry.sty} for margin settings;
+\item {fleqn.clo} for left aligned equations;
+\item {graphicx.sty} for graphics inclusion;
+\item {hyperref.sty} optional packages if hyperlinking is
+ required in the document;
+\end{enumerate}
+
+All the above packages are part of any
+standard \LaTeX{} installation.
+Therefore, the users need not be
+bothered about downloading any extra packages.
+
+\section{Installation}
+
+The package is available at author resources page at Elsevier
+(\url{http://www.elsevier.com/locate/latex}).
+The class may be moved or copied to a place, usually,
+\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+or a folder which will be read
+by \LaTeX{} during document compilation. The \TeX{} file
+database needs updation after moving/copying class file. Usually,
+we use commands like \verb+mktexlsr+ or \verb+texhash+ depending
+upon the distribution and operating system.
+
+\section{Front matter}
+
+The author names and affiliations could be formatted in two ways:
+\begin{enumerate}[(1)]
+\item Group the authors per affiliation.
+\item Use footnotes to indicate the affiliations.
+\end{enumerate}
+See the front matter of this document for examples.
+You are recommended to conform your choice to the journal you
+are submitting to.
+
+\section{Bibliography styles}
+
+There are various bibliography styles available. You can select the
+style of your choice in the preamble of this document. These styles are
+Elsevier styles based on standard styles like Harvard and Vancouver.
+Please use Bib\TeX\ to generate your bibliography and include DOIs
+whenever available.
+
+Here are two sample references:
+See \citet{Fortunato2010}. Also refer \citet{Fortunato2010,NewmanGirvan2004}.
+More citations are here \citep{Fortunato2010,Vehlowetal2013}.
+
+\section{Floats}
+{Figures} may be included using the command, \verb+\includegraphics+ in
+combination with or without its several options to further control
+graphic. \verb+\includegraphics+ is provided by {graphic[s,x].sty}
+which is part of any standard \LaTeX{} distribution.
+{graphicx.sty} is loaded by default. \LaTeX{} accepts figures in
+the postscript format while pdf\LaTeX{} accepts {*.pdf},
+{*.mps} (metapost), {*.jpg} and {*.png} formats.
+pdf\LaTeX{} does not accept graphic files in the postscript format.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.9\textwidth]{figs/cas-munnar-2024.jpg}
+ \caption{The beauty of Munnar, Kerala. (See also Table \protect\ref{tbl1}).}
+ \label{FIG:1}
+\end{figure}
+
+
+The \verb+table+ environment is handy for marking up tabular
+material. If users want to use {multirow.sty},
+{array.sty}, etc., to fine control/enhance the tables, they
+are welcome to load any package of their choice and
+{cas-sc.cls} will work in combination with all loaded
+packages.
+
+\begin{table}[width=.9\linewidth,cols=4,pos=h]
+\caption{This is a test caption. This is a test caption. This is a test
+caption. This is a test caption.}\label{tbl1}
+\begin{tabular*}{\tblwidth}{@{} LLLL@{} }
+\toprule
+Col 1 & Col 2 & Col 3 & Col4\\
+\midrule
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+12345 & 12345 & 123 & 12345 \\
+\bottomrule
+\end{tabular*}
+\end{table}
+
+\section[Theorem and ...]{Theorem and theorem like environments}
+
+{cas-sc.cls} provides a few shortcuts to format theorems and
+theorem-like environments with ease. In all commands the options that
+are used with the \verb+\newtheorem+ command will work exactly in the same
+manner. {cas-sc.cls} provides three commands to format theorem or
+theorem-like environments:
+
+\begin{verbatim}
+ \newtheorem{theorem}{Theorem}
+ \newtheorem{lemma}[theorem]{Lemma}
+ \newdefinition{rmk}{Remark}
+ \newproof{pf}{Proof}
+ \newproof{pot}{Proof of Theorem \ref{thm2}}
+\end{verbatim}
+
+
+The \verb+\newtheorem+ command formats a
+theorem in \LaTeX's default style with italicized font, bold font
+for theorem heading and theorem number at the right hand side of the
+theorem heading. It also optionally accepts an argument which
+will be printed as an extra heading in parentheses.
+
+\begin{verbatim}
+ \begin{theorem}
+ For system (8), consensus can be achieved with
+ $\|T_{\omega z}$ ...
+ \begin{eqnarray}\label{10}
+ ....
+ \end{eqnarray}
+ \end{theorem}
+\end{verbatim}
+
+\newtheorem{theorem}{Theorem}
+
+\begin{theorem}
+For system (8), consensus can be achieved with
+$\|T_{\omega z}$ ...
+\begin{eqnarray}\label{10}
+....
+\end{eqnarray}
+\end{theorem}
+
+The \verb+\newdefinition+ command is the same in
+all respects as its \verb+\newtheorem+ counterpart except that
+the font shape is roman instead of italic. Both
+\verb+\newdefinition+ and \verb+\newtheorem+ commands
+automatically define counters for the environments defined.
+
+The \verb+\newproof+ command defines proof environments with
+upright font shape. No counters are defined.
+
+
+\section[Enumerated ...]{Enumerated and Itemized Lists}
+{cas-sc.cls} provides an extended list processing macros
+which makes the usage a bit more user friendly than the default
+\LaTeX{} list macros. With an optional argument to the
+\verb+\begin{enumerate}+ command, you can change the list counter
+type and its attributes.
+
+\begin{verbatim}
+ \begin{enumerate}[1.]
+ \item The enumerate environment starts with an optional
+ argument `1.', so that the item counter will be suffixed
+ by a period.
+ \item You can use `a)' for alphabetical counter and '(i)' for
+ roman counter.
+ \begin{enumerate}[a)]
+ \item Another level of list with alphabetical counter.
+ \item One more item before we start another.
+ \item One more item before we start another.
+ \item One more item before we start another.
+ \item One more item before we start another.
+\end{verbatim}
+
+Further, the enhanced list environment allows one to prefix a
+string like `step' to all the item numbers.
+
+%\pagebreak
+\begin{verbatim}
+ \begin{enumerate}[Step 1.]
+ \item This is the first step of the example list.
+ \item Obviously this is the second step.
+ \item The final step to wind up this example.
+ \end{enumerate}
+\end{verbatim}
+
+\section{Cross-references}
+In electronic publications, articles may be internally
+hyperlinked. Hyperlinks are generated from proper
+cross-references in the article. For example, the words
+\textcolor{black!80}{Fig.~1} will never be more than simple text,
+whereas the proper cross-reference \verb+\ref{tiger}+ may be
+turned into a hyperlink to the figure itself:
+\textcolor{blue}{Fig.~1}. In the same way,
+the words \textcolor{blue}{Ref.~[1]} will fail to turn into a
+hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+.
+Cross-referencing is possible in \LaTeX{} for sections,
+subsections, formulae, figures, tables, and literature
+references.
+
+\section{Bibliography}
+
+Two bibliographic style files (\verb+*.bst+) are provided ---
+{model1-num-names.bst} and {model2-names.bst} --- the first one can be
+used for the numbered scheme. This can also be used for the numbered
+with new options of {natbib.sty}. The second one is for the author year
+scheme. When you use model2-names.bst, the citation commands will be
+like \verb+\citep+, \verb+\citet+, \verb+\citealt+ etc. However when
+you use model1-num-names.bst, you may use only \verb+\cite+ command.
+
+\verb+thebibliography+ environment. Each reference is a
+\verb+\bibitem+ and each \verb+\bibitem+ is identified by a label,
+by which it can be cited in the text:
+
+\noindent In connection with cross-referencing and
+possible future hyperlinking it is not a good idea to collect
+more that one literature item in one \verb+\bibitem+. The
+so-called Harvard or author-year style of referencing is enabled
+by the \LaTeX{} package {natbib}. With this package the
+literature can be cited as follows:
+
+
+\begin{enumerate}[\textbullet]
+\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \& Brown, 1996).
+\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996).
+\item An affix and part of a reference:
+\verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et
+al., 1997, Ch. 2).
+\end{enumerate}
+
+In the numbered scheme of citation, \verb+\cite{<label>}+ is used,
+since \verb+\citep+ or \verb+\citet+ has no relevance in the numbered
+scheme. {natbib} package is loaded by {cas-sc} with
+\verb+numbers+ as default option. You can change this to author-year
+or harvard scheme by adding option \verb+authoryear+ in the class
+loading command. If you want to use more options of the {natbib}
+package, you can do so with the \verb+\biboptions+ command. For
+details of various options of the {natbib} package, please take a
+look at the {natbib} documentation, which is part of any standard
+\LaTeX{} installation.
+
+\appendix
+\section{My Appendix}
+Appendix sections are coded under \verb+\appendix+.
+
+\verb+\printcredits+ command is used after appendix sections to list
+author credit taxonomy contribution roles tagged using \verb+\credit+
+in frontmatter.
+
+\printcredits
+
+%% Loading bibliography style file
+%\bibliographystyle{model1-num-names}
+\bibliographystyle{cas-model2-names}
+
+% Loading bibliography database
+\bibliography{cas-refs}
+
+
+%\vskip3pt
+
+\bio{}
+Author biography without author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+\bio{figs/cas-pic1}
+Author biography with author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+\vskip3pc
+
+\bio{figs/cas-pic1}
+Author biography with author photo.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+Author biography. Author biography. Author biography.
+\endbio
+
+
+\end{document}
+
diff --git a/macros/latex/contrib/els-cas-templates/cas-sc-template.tex b/macros/latex/contrib/els-cas-templates/cas-sc-template.tex
index 909bcdd024..c2cd7e58de 100644
--- a/macros/latex/contrib/els-cas-templates/cas-sc-template.tex
+++ b/macros/latex/contrib/els-cas-templates/cas-sc-template.tex
@@ -1,21 +1,21 @@
%%
-%% Copyright 2019-2021 Elsevier Ltd
+%% Copyright 2019-2024 Elsevier Ltd
%%
%% This file is part of the 'CAS Bundle'.
%% --------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3c of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
%% given in the file `manifest.txt'.
%%
%% Template article for cas-sc documentclass for
-%% single column output.
+%% double column output.
\documentclass[a4paper,fleqn]{cas-sc}
@@ -47,21 +47,21 @@
\def\textpagefraction{.001}
% Short title
-\shorttitle{<short title of the paper for running head>}
+\shorttitle{}
% Short author
-\shortauthors{<short author list for running head>}
+\shortauthors{}
% Main title of the paper
-\title [mode = title]{<main title>}
+\title [mode = title]{}
% Title footnote mark
% eg: \tnotemark[1]
-\tnotemark[<tnote number>]
+\tnotemark[1]
% Title footnote 1.
% eg: \tnotetext[1]{Title footnote text}
-\tnotetext[<tnote number>]{<tnote text>}
+\tnotetext[1]{}
% First author
%
@@ -77,26 +77,26 @@
% linkedin=<linkedin id>,
% gplus=<gplus id>]
-\author[<aff no>]{<author name>}[<options>]
+\author[1]{}%[<options>]
% Corresponding author indication
-\cormark[<corr mark no>]
+\cormark[1]
% Footnote of the first author
-\fnmark[<footnote mark no>]
+\fnmark[1]
% Email id of the first author
-\ead{<email address>}
+\ead{}
% URL of the first author
-\ead[url]{<URL>}
+\ead[url]{}
% Credit authorship
% eg: \credit{Conceptualization of this study, Methodology, Software}
-\credit{<Credit authorship details>}
+\credit{}
% Address/affiliation
-\affiliation[<aff no>]{organization={},
+\affiliation[1]{organization={},
addressline={},
city={},
% citysep={}, % Uncomment if no comma needed between city and postcode
@@ -104,7 +104,7 @@
state={},
country={}}
-\author[<aff no>]{<author name>}[<options>]
+\author[2]{}%[]
% Footnote of the second author
\fnmark[2]
@@ -119,7 +119,7 @@
\credit{}
% Address/affiliation
-\affiliation[<aff no>]{organization={},
+\affiliation[2]{organization={},
addressline={},
city={},
% citysep={}, % Uncomment if no comma needed between city and postcode
@@ -138,7 +138,7 @@
% Here goes the abstract
\begin{abstract}
-
+Here goes the abstract \nocite{*}%% Remove this line from your manuscript.
\end{abstract}
% Use if graphical abstract is present
@@ -153,6 +153,7 @@
\item
\end{highlights}
+
% Keywords
% Each keyword is seperated by \sep
\begin{keywords}
@@ -187,15 +188,18 @@
%\item[]
%\end{description}
+\clearpage %%Remove this from your manuscript
+
+
% Figure
-\begin{figure}[<options>]
- \centering
- \includegraphics[<options>]{}
- \caption{}\label{fig1}
+\begin{figure}%[]
+ \centering
+% \includegraphics{}
+ \caption{}\label{fig1}
\end{figure}
-\begin{table}[<options>]
+\begin{table}%[]
\caption{}\label{tbl1}
\begin{tabular*}{\tblwidth}{@{}LL@{}}
\toprule
@@ -231,16 +235,16 @@
\bibliographystyle{cas-model2-names}
% Loading bibliography database
-\bibliography{}
+\bibliography{cas-refs}
% Biography
-\bio{}
+%\bio{}
% Here goes the biography details.
-\endbio
+%\endbio
-\bio{pic1}
+%\bio{pic1}
% Here goes the biography details.
-\endbio
+%\endbio
\end{document}
diff --git a/macros/latex/contrib/els-cas-templates/cas-sc.cls b/macros/latex/contrib/els-cas-templates/cas-sc.cls
index d84d03c2f2..51f829742e 100644
--- a/macros/latex/contrib/els-cas-templates/cas-sc.cls
+++ b/macros/latex/contrib/els-cas-templates/cas-sc.cls
@@ -15,11 +15,11 @@
%% given in the file `manifest.txt'.
%%
-%% $Id: cas-sc.cls 66 2021-05-11 14:17:42Z rishi $
+%% $Id: cas-sc.cls 96 2024-05-04 09:29:44Z rishi $
\def\RCSfile{cas-sc}%
- \def\RCSversion{2.3}%
- \def\RCSdate{2021/05/11}%
+ \def\RCSversion{2.4}%
+ \def\RCSdate{2024/05/04}%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\RCSfile}[\RCSdate, \RCSversion: Formatting class
for CAS single column articles]
@@ -64,6 +64,8 @@
\RequirePackage{xspace,xstring,footmisc}
\RequirePackage[svgnames,dvipsnames]{xcolor}
+\ifbool{casreviewlayout}{\RequirePackage{setspace}}{}
+
\RequirePackage[colorlinks]{hyperref}
\colorlet{scolor}{black}
\colorlet{hscolor}{DarkSlateGrey}
@@ -161,8 +163,6 @@
{ \RequirePackage[scaled=.85]{inconsolata} }
{ \tex_gdef:D \ttdefault { cmtt } }
-\ifbool{casreviewlayout}{\RequirePackage{setspace}}{}
-
\ExplSyntaxOff
%
@@ -186,3 +186,4 @@
% End of class 'cas-sc'
%
+
diff --git a/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.pdf b/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.pdf
index 606232b3e3..b5ac0efabc 100644
--- a/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.pdf
+++ b/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.pdf
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.tex b/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.tex
index 6b5b7186eb..2128780862 100644
--- a/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.tex
+++ b/macros/latex/contrib/els-cas-templates/doc/elsdoc-cas.tex
@@ -5,16 +5,16 @@
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3c of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
%% given in the file `manifest.txt'.
%%
-%% $Id: elsdoc-cas.tex 71 2021-05-12 06:14:05Z rishi $
+%% $Id: elsdoc-cas.tex 76 2021-05-12 14:42:29Z rishi $
%%
\documentclass[a4paper,12pt]{article}
diff --git a/macros/latex/contrib/els-cas-templates/doc/rvdtx.sty b/macros/latex/contrib/els-cas-templates/doc/rvdtx.sty
index 06bb30edf6..0d94ff20a4 100644
--- a/macros/latex/contrib/els-cas-templates/doc/rvdtx.sty
+++ b/macros/latex/contrib/els-cas-templates/doc/rvdtx.sty
@@ -7,13 +7,13 @@
% Copyright (c) 2008-2021 CV Radhakrishnan <cvr@stmdocs.in>,
%
% This file may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.2 of this
+% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.3c or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
%
diff --git a/macros/latex/contrib/els-cas-templates/figs/cas-grabs.pdf b/macros/latex/contrib/els-cas-templates/figs/cas-grabs.pdf
new file mode 100644
index 0000000000..a1ff5be7a5
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/figs/cas-grabs.pdf
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/figs/cas-munnar-2024.jpg b/macros/latex/contrib/els-cas-templates/figs/cas-munnar-2024.jpg
new file mode 100644
index 0000000000..14b57f7be0
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/figs/cas-munnar-2024.jpg
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/figs/cas-pic1.pdf b/macros/latex/contrib/els-cas-templates/figs/cas-pic1.pdf
new file mode 100644
index 0000000000..97471d0bdd
--- /dev/null
+++ b/macros/latex/contrib/els-cas-templates/figs/cas-pic1.pdf
Binary files differ
diff --git a/macros/latex/contrib/els-cas-templates/manifest.txt b/macros/latex/contrib/els-cas-templates/manifest.txt
index 2ab9dfa0f1..a7443de7b8 100644
--- a/macros/latex/contrib/els-cas-templates/manifest.txt
+++ b/macros/latex/contrib/els-cas-templates/manifest.txt
@@ -1,14 +1,16 @@
-% Copyright 2019-2021 Elsevier Ltd
+% Copyright 2019-2024 Elsevier Ltd
+%
+% Version 2.4
%
% This file is part of the 'CAS Bundle'.
% --------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.3c or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% The list of all files belonging to the LaTeX 'CAS Bundle' is
@@ -19,6 +21,12 @@
Directory elsevier-cas-template/
+manifest.txt
+ This file
+
+README
+ A brief readme documentation
+
cas-sc.cls
Classfile to be used for single column format
@@ -29,21 +37,21 @@ cas-model2-names.bst
BibTeX style file
cas-sc-template.tex
- TeX template
+ TeX template to be used for manuscript preparation (single column).
cas-dc-template.tex
- TeX template
+ TeX template to be used for manuscript preparation (double column).
-manifest.txt
- this file
+cas-sc-sample.tex
+ Minimum working exmple (MWE) file - single column.
-README
- small readme documentation
+cas-dc-sample.tex
+ Minimum working exmple (MWE) file - double column.
Directory doc/
The following files are graphic files needed for creating pdf output
-of the documentation from elsdoc.tex:
+of the documentation from elsdoc-cas.tex:
dc-sample.pdf
sc-sample.pdf
@@ -76,3 +84,11 @@ Auxiliary packages needed to generate pdf output from elsdoc.tex:
pdfwidgets.sty
glyphtounicode.tex
+
+Directory figs/
+
+Contains images used in the sample PDF.
+
+ cas-grabs.pdf
+ cas-munnar-2024.jpg
+ cas-pic1.pdf
diff --git a/macros/latex/contrib/elteiktdk/LICENSE b/macros/latex/contrib/elteiktdk/LICENSE
index bc752874d2..57a02bc510 100644
--- a/macros/latex/contrib/elteiktdk/LICENSE
+++ b/macros/latex/contrib/elteiktdk/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2013-2023 Máté Cserép
+Copyright (c) 2013-2024 Máté Cserép
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/latex/contrib/elteiktdk/README.md b/macros/latex/contrib/elteiktdk/README.md
index fc5c76f0a1..bb64bd061e 100644
--- a/macros/latex/contrib/elteiktdk/README.md
+++ b/macros/latex/contrib/elteiktdk/README.md
@@ -1,3 +1,9 @@
+![CI status](https://github.com/mcserep/elteiktdk/workflows/Build%20LaTeX%20document/badge.svg)
+[![Overleaf template](https://img.shields.io/badge/Overleaf-TDK%20Thesis%20Template%20(ELTE%20FI)-brightgreen)](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd)
+
+
+See [Hungarian version](README_hu.md).
+
# ELTE FI TDK thesis template
The [elteiktdk_en.tex](elteiktdk_en.tex) and the produced [elteiktdk_en.pdf](elteiktdk_en.pdf) serves as an example of usage.
@@ -14,17 +20,14 @@ The template supports producing both Hungarian and English theses, which can be
# (PDF file contains incorrect references yet)
pdflatex elteiktdk_en.tex
# Generate bibliography
-bibtex elteiktdk
+biber elteiktdk_en
# Generate nomenclature (optional)
makeindex -s nomencl.ist -t elteiktdk_en.nlg \
-o elteiktdk_en.nls elteiktdk_en.nlo
# Generate final PDF file
pdflatex elteiktdk_en.tex
-pdflatex elteiktdk_en.tex
```
-**Note:** in case the bibliography changes, executing `bibtex`, then `pdflatex` _twice_ is required to generate to correct references in the PDF output.
-
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
## Syntax highlighting of code blocks
@@ -32,6 +35,11 @@ Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https
The minted package is also supported for syntax highlighting, for details see the [documentation](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted).
For its usage the Python interpreter and the `Pygments` package must be installed as a prerequisite, then you should uncomment its loading at the beginning of `elteiktdk_en.tex`.
+## Overleaf
+
+*Overleaf* is a free, easy to use online, collaborative LaTeX editor; similar like e.g. Google Docs, but for LateX documents.
+You can also find the latest release of this thesis template [on Overleaf](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd).
+
## Required packages (without completeness)
**Image handling:**
diff --git a/macros/latex/contrib/elteiktdk/README.pdf b/macros/latex/contrib/elteiktdk/README.pdf
index 2eed2928ac..68821eacfe 100644
--- a/macros/latex/contrib/elteiktdk/README.pdf
+++ b/macros/latex/contrib/elteiktdk/README.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/README_hu.md b/macros/latex/contrib/elteiktdk/README_hu.md
index 93c807602d..b3637d76aa 100644
--- a/macros/latex/contrib/elteiktdk/README_hu.md
+++ b/macros/latex/contrib/elteiktdk/README_hu.md
@@ -14,17 +14,14 @@ A sablon magyar és angol nyelvű dokumentumok elkészítését is támogatja (l
# (PDF fájl még hibás hivatkozásokat fog tartalmazni)
pdflatex elteiktdk_hu.tex
# Irodalomjegyzék generálása
-bibtex tdk
+biber elteiktdk_hu
# Jelölésjegyzék generálása (ha szükséges)
makeindex -s nomencl.ist -t elteiktdk_hu.nlg \
-o elteiktdk_hu.nls elteiktdk_hu.nlo
# Végleges PDF fájl generálása
pdflatex elteiktdk_hu.tex
-pdflatex elteiktdk_hu.tex
```
-**Megjegyzés:** az irodalomjegyzék változása esetén a `bibtex`, majd a `pdflatex` _kétszeri_ futtatása szükséges a helyes hivatkozások előállításához.
-
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
## Kódblokkok szintaxis kiemelése
@@ -32,6 +29,11 @@ A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStu
A *minted* csomag támogatott a forráskódok szedésére és szintaxis kiemelésére, részletekért ld. a [dokumentációt](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted).
Használatához szükséges a Python interpreter és a `Pygments` csomag telepítése, majd `elteiktdk_hu.tex` fájl elején a betöltésének az engedélyezése.
+## Overleaf
+
+Az *Overleaf* egy ingyenes, könnyen használható, kollaboratív, online LaTeX szerkesztő. Hasonló, mint például a Google Docs, de LateX dokumentumokhoz.
+Az ELTE IK TDK-dolgozat sablon legfrissebb kiadását [Overleafen is megtalálod](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd).
+
## Fontosabb függőségi csomagok
**Képkezelés:**
diff --git a/macros/latex/contrib/elteiktdk/README_hu.pdf b/macros/latex/contrib/elteiktdk/README_hu.pdf
index 9545a2b10e..86d0f55b84 100644
--- a/macros/latex/contrib/elteiktdk/README_hu.pdf
+++ b/macros/latex/contrib/elteiktdk/README_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk.bib b/macros/latex/contrib/elteiktdk/elteiktdk.bib
index 1e0ae403e3..4f5518ca4f 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk.bib
+++ b/macros/latex/contrib/elteiktdk/elteiktdk.bib
@@ -12,7 +12,7 @@
author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
title = {Introduction to Algorithms, Third Edition},
year = {2009},
- isbn = {0262033844, 9780262033848},
+ isbn = {978-0-262-53305-8},
edition = {3rd},
publisher = {The MIT Press},
}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk.cls b/macros/latex/contrib/elteiktdk/elteiktdk.cls
index 4e3ef4741f..4bd604bab0 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk.cls
+++ b/macros/latex/contrib/elteiktdk/elteiktdk.cls
@@ -1,7 +1,7 @@
%% MIT License
%%
-%% Version 2.0, 2023/04/10
-%% Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>
+%% Version 2.1, 2024/04/26
+%% Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@@ -22,10 +22,10 @@
%% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elteiktdk}[2023/04/10 ELTE FI TDK thesis template]
+\ProvidesClass{elteiktdk}[2024/04/26 ELTE FI TDK thesis template]
% Load document class
-\LoadClassWithOptions{elteikthesis}[2023/04/10]
+\LoadClassWithOptions{elteikthesis}[2024/04/26]
% ------------------------------
% ------------------------------
@@ -72,7 +72,7 @@
\newcommand{\lstcodelabel}{Forráskódjegyzék}
\newcommand{\lstnomencl}{Jelölésjegyzék}
\newcommand{\todolabel}{Teendők listája}
- \newcommand{\acklabel}{Köszönyetnyilvánítás}
+ \newcommand{\acklabel}{Köszönetnyilvánítás}
}
{ % English
\newcommand{\covertitle}{TDK-thesis}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf b/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
index 555c128d00..276a5139ec 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_en.tex b/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
index 1b83d16753..9cb07d9ca3 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
@@ -5,15 +5,14 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteiktdk}[2023/04/10]
+]{elteiktdk}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{TDK-dolgozat címe}
-\date{2023}
+\date{2024}
% Author(s)' metadata
\author{John Smith}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf b/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
index 216b52b3ba..c9924b2e64 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex b/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
index 58e0168c8d..c87c9b07e3 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
@@ -5,15 +5,14 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteiktdk}[2023/04/10]
+]{elteiktdk}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{TDK-dolgozat címe}
-\date{2023}
+\date{2024}
% Author(s)' metadata
\author{Hallgató Hanga}
diff --git a/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf b/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a0a7a2d61
--- /dev/null
+++ b/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/LICENSE b/macros/latex/contrib/elteikthesis/LICENSE
index 94e8bc6f6a..b355e209d0 100644
--- a/macros/latex/contrib/elteikthesis/LICENSE
+++ b/macros/latex/contrib/elteikthesis/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/latex/contrib/elteikthesis/README.md b/macros/latex/contrib/elteikthesis/README.md
index f00a96dccd..a6cb6bc591 100644
--- a/macros/latex/contrib/elteikthesis/README.md
+++ b/macros/latex/contrib/elteikthesis/README.md
@@ -1,3 +1,8 @@
+[![CI status](https://github.com/mcserep/elteikthesis/actions/workflows/ci.yml/badge.svg)](https://github.com/mcserep/elteikthesis/actions/workflows/ci.yml)
+[![Overleaf template](https://img.shields.io/badge/Overleaf-ELTE%20FI%20Thesis%20Template-brightgreen)](https://www.overleaf.com/latex/templates/elte-fi-thesis-template/scjzzzbjvwfz)
+
+See [Hungarian version](README_hu.md).
+
# ELTE FI bachelor and master thesis template
The [elteikthesis_en.tex](elteikthesis_en.tex) and the produced [elteikthesis_en.pdf](elteikthesis_en.pdf) serves as an example of usage.
@@ -14,17 +19,14 @@ The template supports producing both Hungarian and English theses, which can be
# (PDF file contains incorrect references yet)
pdflatex elteikthesis_en.tex
# Generate bibliography
-bibtex elteikthesis_en
+biber elteikthesis_en
# Generate nomenclature (optional)
makeindex -s nomencl.ist -t elteikthesis_en.nlg \
-o elteikthesis_en.nls elteikthesis_en.nlo
# Generate final PDF file
pdflatex elteikthesis_en.tex
-pdflatex elteikthesis_en.tex
```
-**Note:** in case the bibliography changes, executing `bibtex`, then `pdflatex` _twice_ is required to generate to correct references in the PDF output.
-
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
## Syntax highlighting of code blocks
diff --git a/macros/latex/contrib/elteikthesis/README.pdf b/macros/latex/contrib/elteikthesis/README.pdf
index 9578eacba5..8303259f35 100644
--- a/macros/latex/contrib/elteikthesis/README.pdf
+++ b/macros/latex/contrib/elteikthesis/README.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/README_hu.md b/macros/latex/contrib/elteikthesis/README_hu.md
index 5a8fe1e666..bfa56e3b7b 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.md
+++ b/macros/latex/contrib/elteikthesis/README_hu.md
@@ -14,17 +14,14 @@ A sablon magyar és angol nyelvű dokumentumok elkészítését is támogatja (l
# (PDF fájl még hibás hivatkozásokat fog tartalmazni)
pdflatex elteikthesis_hu.tex
# Irodalomjegyzék generálása
-bibtex elteikthesis_hu
+biber elteikthesis_hu
# Jelölésjegyzék generálása (ha szükséges)
makeindex -s nomencl.ist -t elteikthesis_hu.nlg \
-o elteikthesis_hu.nls elteikthesis_hu.nlo
# Végleges PDF fájl generálása
pdflatex elteikthesis_hu.tex
-pdflatex elteikthesis_hu.tex
```
-**Megjegyzés:** az irodalomjegyzék változása esetén a `bibtex`, majd a `pdflatex` _kétszeri_ futtatása szükséges a helyes hivatkozások előállításához.
-
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
## Kódblokkok szintaxis kiemelése
diff --git a/macros/latex/contrib/elteikthesis/README_hu.pdf b/macros/latex/contrib/elteikthesis/README_hu.pdf
index 33bdac7c47..36b1fae83f 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.pdf
+++ b/macros/latex/contrib/elteikthesis/README_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.bib b/macros/latex/contrib/elteikthesis/elteikthesis.bib
index 1e0ae403e3..4f5518ca4f 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.bib
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.bib
@@ -12,7 +12,7 @@
author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
title = {Introduction to Algorithms, Third Edition},
year = {2009},
- isbn = {0262033844, 9780262033848},
+ isbn = {978-0-262-53305-8},
edition = {3rd},
publisher = {The MIT Press},
}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.cls b/macros/latex/contrib/elteikthesis/elteikthesis.cls
index dbd181f9a5..d735972439 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.cls
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.cls
@@ -1,7 +1,7 @@
%% MIT License
%%
-%% Version 2.3.1, 2023/04/10
-%% Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+%% Version 2.4, 2024/04/26
+%% Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@@ -29,7 +29,7 @@
%% to the original package.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elteikthesis}[2023/04/10 ELTE FI bachelor and master thesis template]
+\ProvidesClass{elteikthesis}[2024/04/26 ELTE FI bachelor and master thesis template]
% LaTeX programming tools
\RequirePackage{etoolbox}
@@ -120,7 +120,7 @@
\newcommand{\lstcodelabel}{Forráskódjegyzék}
\newcommand{\lstnomencl}{Jelölésjegyzék}
\newcommand{\todolabel}{Teendők listája}
- \newcommand{\acklabel}{Köszönyetnyilvánítás}
+ \newcommand{\acklabel}{Köszönetnyilvánítás}
}
{ % English
\newcommand{\authorlabel}{Author}
@@ -394,7 +394,7 @@
% Bibliography
\RequirePackage[autostyle=true]{csquotes}
\RequirePackage[
- backend=bibtex,
+ backend=biber,
style=numeric, % style of bibliography
sorting=none % sorting of references
]{biblatex}
@@ -464,8 +464,8 @@
% ------------------------------
% List of TODOs
-% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/todonotes.html
-\RequirePackage[textwidth=30mm, textsize=small, color=todobackg, linecolor=orange, colorinlistoftodos, shadow, obeyFinal]{todonotes}
+% http://tug.ctan.org/macros/latex/contrib/todonotes/todonotes.pdf
+\RequirePackage[textwidth=30mm, textsize=small, color=todobackg, linecolor=orange, colorinlistoftodos, loadshadowlibrary, shadow, obeyFinal]{todonotes}
\RequirePackage[displaymath, tightpage]{preview}
% Place TODOs on the left margin
\reversemarginpar
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
index fee7fc0084..ec31001cea 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_en.tex b/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
index 8a405c74c3..e7af40ddfa 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
@@ -5,15 +5,15 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteikthesis}[2023/04/10]
+]{elteikthesis}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
+% See elteikthesis_minted.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{Title of the thesis} % title
-\date{2023} % year of defense
+\date{2024} % year of defense
% Author's metadata
\author{John Smith}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
index 495413b49e..d4c3feb44d 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex b/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
index 9dd6d9a74c..11a730db2d 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
@@ -5,15 +5,15 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteikthesis}[2023/04/10]
+]{elteikthesis}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
+% See elteikthesis_minted.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{Dolgozat címe} % title
-\date{2023} % year of defense
+\date{2024} % year of defense
% Author's metadata
\author{Hallgató Hanga}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
index a6e500ef59..dc4c7ed210 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex b/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
index e48693a45a..a214d95d92 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
@@ -1,4 +1,4 @@
-\documentclass{elteikthesis}[2023/04/10]
+\documentclass{elteikthesis}[2024/04/26]
\usepackage[newfloat]{minted}
diff --git a/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf b/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a0a7a2d61
--- /dev/null
+++ b/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/esindex/README.md b/macros/latex/contrib/esindex/README.md
index 6ebd7e4c79..b1163025c4 100644
--- a/macros/latex/contrib/esindex/README.md
+++ b/macros/latex/contrib/esindex/README.md
@@ -18,6 +18,10 @@ in the document.
### Recent changes
```
+1.8 2024-04-27
+ - Fix - Some replacements stopped working in pdflatex with utf8
+ because of a change the LaTeX LICR.
+
1.7 2019-10-10
- Fix - because of a change in a macro name, it stopped
working with xe/lua
diff --git a/macros/latex/contrib/esindex/esindex.pdf b/macros/latex/contrib/esindex/esindex.pdf
index bc78b36c15..9272dd8291 100644
--- a/macros/latex/contrib/esindex/esindex.pdf
+++ b/macros/latex/contrib/esindex/esindex.pdf
Binary files differ
diff --git a/macros/latex/contrib/esindex/esindex.sty b/macros/latex/contrib/esindex/esindex.sty
index a63bdba6eb..72a0937c4d 100644
--- a/macros/latex/contrib/esindex/esindex.sty
+++ b/macros/latex/contrib/esindex/esindex.sty
@@ -1,5 +1,5 @@
%
-% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
+% Copyright (C) 1998-2024 Javier Bezos http://www.texnia.com
%
% This file may be distributed and/or modified under the conditions of
% the MIT License. A version can be found at the end of this file.
@@ -7,7 +7,7 @@
% Repository: https://github.com/jbezos/esindex
%
-\ProvidesPackage{esindex}[2019/10/10 v1.7 Spanish indexes (and more)]
+\ProvidesPackage{esindex}[2024/04/27 v1.8 Spanish indexes (and more)]
\def\esx@level{`\!}
\def\esx@actual{`\@}
@@ -92,15 +92,40 @@
\gdef\esx@bar@eat#1|{\def\esx@a{|#1}}
}
-\gdef\esindexexpandkey{%
- \protected@edef\esindexkey{\esindexkey}}
+\gdef\esx@tolicr#1#2{%
+ \@ifundefined{u8\string:\string#1\string#2}%
+ {\unexpanded{#1#2}}%
+ {\@nameuse{u8\string:\string#1\string#2}}}
+
+\begingroup
+ \catcode`\^^c2=\active
+ \catcode`\^^c3=\active
+ \gdef\esx@expandkey#1{%
+ \ifnum\catcode`\^^c2=\active \ifnum\catcode`\^^c3=\active
+ \def\esx@a{^^c2^^c3}%
+ \protected@edef\esx@b{\esx@a}%
+ \ifx\esx@a\esx@b
+ \let\esx@cii ^^c2%
+ \let\esx@ciii ^^c3%
+ \def ^^c2{\esx@tolicr ^^c2}%
+ \def ^^c3{\esx@tolicr ^^c3}%
+ \protected@edef#1{#1}%
+ \let ^^c2\esx@cii
+ \let ^^c3\esx@ciii
+ \else
+ \protected@edef#1{#1}%
+ \fi
+ \fi\fi}
+\endgroup
+
+\gdef\esindexexpandkey{\esx@expandkey\esindexkey}
\gdef\esindexexpandsubkey{%
\ifx\esindexsubkey\relax\else
- \protected@edef\esindexsubkey{\esindexsubkey}%
+ \esx@expandkey\esindexsubkey
\fi}
\gdef\esindexexpandsubsubkey{%
\ifx\esindexsubsubkey\relax\else
- \protected@edef\esindexsubsubkey{\esindexsubsubkey}%
+ \esx@expandkey\esindexsubsubkey
\fi}
\gdef\esindexexpandkeys{%
diff --git a/macros/latex/contrib/esindex/esindex.tex b/macros/latex/contrib/esindex/esindex.tex
index 03d0b24386..64a6f18735 100644
--- a/macros/latex/contrib/esindex/esindex.tex
+++ b/macros/latex/contrib/esindex/esindex.tex
@@ -1,5 +1,5 @@
%
-% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
+% Copyright (C) 1998-2024 Javier Bezos http://www.texnia.com
%
% This file may be distributed and/or modified under the conditions of
% the MIT License. A version can be found at the end of this file.
@@ -14,7 +14,7 @@
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
-\title{\textsf{esindex}\\\large 1.7\quad 2019-10-10}
+\title{\textsf{esindex}\\\large 1.8\quad 2024-04-27}
\author{Javier Bezos}
@@ -46,7 +46,7 @@
{\LARGE Generating automatically sort keys for \textit{MakeIndex}
with \LaTeX\par}
\vspace*{1ex}
-Version 1.7 (2019-10-10)\par
+Version 1.8 (2024-04-27)\par
\texttt{https://github.com/jbezos/esindex}\par
Javier Bezos (\texttt{http://www.texnia.com})
@@ -100,6 +100,8 @@ three-level key use \verb|\esindexreplacesubsub| (with 4 arguments). With
with the definitions above the key for \verb|ràpid| is
\verb|rapid^^Ar1pid|.)
+(Version 1.8 is just a bug fix.)
+
\section{Spanish}
Este paquete ha sido diseñado para facilitar la escritura de índices
diff --git a/macros/latex/contrib/exercisesheets/README b/macros/latex/contrib/exercisesheets/README
new file mode 100644
index 0000000000..e9b2e49242
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/README
@@ -0,0 +1,17 @@
+The exercisesheets package
+
+The exercisesheets package provides a way to typeset exercise sheets as used in
+university courses. It evolved from a set of macros an environments that were
+finally combined into this package.
+
+Copyright (c) 2008-2024 Sebastian Kuhnert, Frank Fuhlbrück
+Licence: LPPL 1.3c or later
+Current Maintainer: Frank Fuhlbrück
+
+Files belonging to this package:
+exercisesheets.sty The package itself
+exercisesheets-doc.tex Documentation source
+exsh_lexercise.lua Helper file for internal lua code
+README This file
+examples Folder with example tex files
+examples/exercises Example exercise used by example tex files
diff --git a/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex1.tex b/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex1.tex
new file mode 100644
index 0000000000..395aef3156
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex1.tex
@@ -0,0 +1,9 @@
+\begin{exercise}
+ Include an exercise from an external file.
+ \begin{solution}[framed]
+ I just did this.
+ \pause
+ And this, too.
+ \end{solution}
+\end{exercise}
+
diff --git a/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex2.lua b/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex2.lua
new file mode 100644
index 0000000000..23012696cd
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/examples/exercises/exshexample-ex2.lua
@@ -0,0 +1,7 @@
+return exercise {
+ task = [[Include an exercise via the Lua interface.]],
+ solution=[[
+ I think this worked.
+ ]],
+}
+
diff --git a/macros/latex/contrib/exercisesheets/examples/exshexample-embedded.tex b/macros/latex/contrib/exercisesheets/examples/exshexample-embedded.tex
new file mode 100644
index 0000000000..d9cf557647
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/examples/exshexample-embedded.tex
@@ -0,0 +1,116 @@
+\documentclass[aspectratio=169]{beamer}
+\usetheme{Berlin}
+\usefonttheme{professionalfonts}
+\useoutertheme{infolines}
+\useinnertheme{rounded}
+\setbeamertemplate{itemize items}[circle]
+\setbeamertemplate{enumerate items}[circle]
+\setbeamertemplate{sections/subsections in toc}[circle]
+\setbeamercolor{item projected}{bg=black}
+\setbeamercolor{item}{fg=black}
+\setbeamertemplate{navigation symbols}{}
+
+\setbeamertemplate{footline}[frame number]
+
+\setbeamercolor{block title}{bg=black}
+\setbeamercolor{section in toc}{fg=red,bg=white}
+
+\AtBeginSection[]{
+\begin{frame}
+\begin{block}{Overview}
+\tableofcontents[sectionstyle=show/shaded,subsectionstyle=hide/hide/hide]
+\end{block}
+\end{frame}
+}
+
+\AtBeginSubsection[]{
+\begin{frame}[allowframebreaks]
+\begin{block}{Overview}
+\tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide]
+\end{block}
+\end{frame}
+}
+
+
+\author{Example Author}
+\title{Embedding Exercises}
+\subtitle{a never-ending journey}
+\makeatletter
+\date{compilation date: \the\year-\two@digits{\the\month}-\two@digits{\the\day}}
+\makeatother
+
+
+
+\newenvironment<>{stlist}[1][]{%
+ \setbeamertemplate{enumerate items}{\alph{enumi})}
+ \setbeamertemplate{enumerate subitem}{\arabic{enumii}.}
+ \setbeamertemplate{enumerate subsubitem}{\arabic{enumii}.}
+ \begin{enumerate}[#1]
+}{\end{enumerate}}
+
+%embedded already sets a lot of values, see documentation
+%in non-embedded mode, exercisesheets clears beamers headline
+%and footline if non of the beamerwith...line arguments are used.
+\usepackage[embedded]{exercisesheets}
+\makeatletter
+\exshset{
+ strings/sheet={Missions},
+ exercisespath=exercises,
+ subtask environment=stlist,
+ task restate font={\color{gray}},
+ imp/.style={pointsinfo=important},
+ vi/.style={pointsinfo=very important},
+}
+\makeatother
+
+\parindent 0pt
+\setlength{\parskip}{\baselineskip}
+
+
+
+\begin{document}
+\begin{frame}
+\maketitle
+\end{frame}
+
+\section{Introduction}
+
+\begin{frame}
+ Let me tell you everything \pause\textbf{about embedding exercises}.
+\end{frame}
+
+\section{Examples}
+
+\subsection{without a sheet environment}
+
+ \begin{frame}
+ \begin{block}{}
+ Since our exercises are already in a dedicated subsection,\pause
+ we do not need an extra sheet environment.
+ \end{block}
+ \end{frame}
+
+ \includeexercise*[imp]{exshexample-ex1}
+ \includeLexercise*[vi]{exshexample-ex2}
+
+\subsection{with a sheet environment}
+
+\begin{sheet}[note={The exercises are within a separated sheet
+ environment.}]
+ \includeexercise*[imp,solutions]{exshexample-ex1}
+\end{sheet}
+
+\begingroup
+\def\sheetfancy[#1]#2{\textcolor{red}{#2}}%nope, nothing happens
+\exshset{sheet sectioning cmd=\sheetfancy}
+
+\begin{sheet}[note={This sheet header looks exactly like the first one, because \texttt{sheet sectioning cmd} is only used for
+non-beamer documents.}]
+ \includeLexercise*[imp,solutions]{exshexample-ex2}
+\end{sheet}
+\endgroup
+
+
+\end{document}
+
+
diff --git a/macros/latex/contrib/exercisesheets/examples/exshexample.tex b/macros/latex/contrib/exercisesheets/examples/exshexample.tex
new file mode 100644
index 0000000000..815b7d54af
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/examples/exshexample.tex
@@ -0,0 +1,286 @@
+\long\def\ifbeamer#1#2{#2}
+\ifbeamer{\documentclass{beamer}}{\documentclass[a5paper]{article}}
+
+%navigation symbols and the title collide if
+%beamerwithheadline is set
+\ifbeamer{
+ \setbeamertemplate{navigation symbols}{}
+}{}
+
+%patchenumerate is the deafault
+\usepackage[patchenumerate=true,beamerwithheadline,
+ %when directly messing with page breaks
+ %and the sheet start page actio (as we do below)
+ %using exercisesheets' page numer redefinitions per
+ %sheet do not make much sense
+ patchpagenumbers=false,
+ beamerwithfootline,
+ beamercompatibility,
+ exercisespath=exercises]%
+ {exercisesheets}
+\usepackage{varioref}
+\usepackage{hyperref}
+\usepackage{xcolor}
+
+\exshset{solutions=true,
+task restate font={\color{black!60}},
+only={1-3,5-},
+}
+
+%solutions may be printed out on paper -> a4
+%exercises are read on (smartphone) screen -> a5
+\ifsolutions{
+ \usepackage[left=1cm,right=1cm,top=1cm,bottom=1.5cm,a4paper]{geometry}
+ }{
+ \usepackage[left=0.7cm,right=0.7cm,top=1cm,bottom=1.5cm]{geometry}
+}
+
+%Usually the person responsible for the entire course:
+\author{Exampleauthor}
+\date{Example term/semester}
+\title{Introduction to Exercise Sheets Creation}
+\subject{Introduction to Exercise Sheets Creation}
+%Only used for beamer at the moment:
+\exshset{exauthor={Author of exercises}}
+
+\ifbeamer{\exshset{beameruseblocks=false}}{}
+
+
+
+
+
+\begin{document}
+
+%1
+\begin{sheet}[note={Learn how to create nice exercise sheets.},
+ date={Novanuar 42, -2022},title={First Sheet}]
+
+ \includeexercise*{exshexample-ex1}
+ \includeLexercise*{exshexample-ex2}
+
+ \begin{exercise}[points={many, many},firstline={Read the manual.}]
+ \end{exercise}
+
+ \begin{exercise}[points={sum},firstline={After you read the manual:}]
+ Play around with this example. You might want to read further manuals like:
+ \begin{enumerate}
+ %pointsfloatright should be usually set globally
+ \item\points[pointsfloatright]{2}pgf (for pgfkeys)
+ \item enumitem and similar \points[abbrev,bonus]{1}
+ \begin{enumerate}
+ \item paralist \thesubex
+ \item
+ \begin{enumerate}
+ \item varioref
+ \end{enumerate}
+ \end{enumerate}
+ \item all the others \points[inplace]{3} (why not?)
+ \label{subex:man2}
+ \end{enumerate}
+ \end{exercise}
+\end{sheet}
+
+\begingroup
+\ifbeamer{}{
+ \exshset{
+ %default is \clearpage
+ sheet start page action={\pagebreak[3]\hrule},
+ sheet end page action={\vspace{4mm}\hrule\vspace{2cm}},
+ }
+}
+
+%2
+\begin{sheet}[date={Novanuar 35, -2022}]
+ \begin{exercise}[points={many, many},
+ firstline={Read the manual.}]
+ \end{exercise}
+ \begin{solution}[framed,fragile]
+ Oh no, it's quite long.
+ \newframe
+ Really long, but please \verb|\relax|.
+ Ok, but my brain feels like:
+ \begin{verbatim}
+%
+ x
+ $ t
+&
+
+
+\
+#
+ \end{verbatim}
+ And yours?
+ \end{solution}
+\end{sheet}
+
+%3
+\begin{sheet}[date={Novanuar 28, -2022},title={Third Sheet},
+ number within sheet]
+ \begin{exercise}[points={many, many},
+ firstline={Read the manual.}]
+ \begin{solution}
+ OK, done.
+ \newpage
+ still done.
+ \end{solution}
+ \end{exercise}
+\end{sheet}
+
+\endgroup
+
+%4
+\begin{sheet}
+ \begin{Lexercise}
+ task = [[
+ This exercise will be skipped.
+ ]],
+ \end{Lexercise}
+ \begin{Lexercise}
+ task = [[
+ \label{ex:skiplex}%
+ This exercise will be skipped, but it has a reference.
+ ]],
+ subexercises = {[[\label{subex:skiplexOne} first]]},
+ \end{Lexercise}
+ \begin{exercise}[points={many, many},%savetasks,
+ main task font={\tiny},subtask font={\itshape}
+ ]
+ \begin{maintask}
+ \label{ex:skipex} This exercise will be skipped.
+ Furt
+ \end{maintask}
+ \begin{subtasks}
+ \item {first \label{subex:skipexOneOne}} This is an \string\item\space inside a subtasks environment. If
+ \verb|subtask environment| is set to enumerate/itemize etc.,
+ this works with some caveats (font settings for substaks are not used).
+ \subtask{second}
+ \end{subtasks}
+ \begin{enumerate}
+ \setcounter{enumi}{2}
+ \subtask {first \label{subex:skipexOne}}
+ This is a \string\subtask{} without the susbtasks
+ environment, which is unsupported and a bad example!
+ \item {\label{subex:skipexTwo}} {12345}
+ \end{enumerate}
+ \end{exercise}
+\end{sheet}
+
+%5
+\begin{sheet}[date={Novanuar 21, -2022}]
+ \begin{exercise}[points={many, many},
+ firstline={Read the manual.}]
+ \begin{solution}[framed]
+ OK, done (again).
+ \newframe
+ Otherwise, I wouldn't know \textbackslash newframe now which
+ does not exist in beamer.
+ \end{solution}
+ \end{exercise}
+
+ Loading varioref enables you to refer to sub-exercises, like
+ this: Did you do \ref{subex:man2}? It is the subexercise
+ \subexnref{subex:man2} and has label \subexlref{subex:man2}.
+
+
+ \begin{exercise}[points={many, many},
+ firstline={Play around with the options.}]
+ Some exercise, there are far too few.
+ \begin{solution}[defersolutiontitle]
+ \begin{frame}
+ This is a dual-use solution with explicit
+ beamer frames (and no framed).
+ \solutiontitle
+ Note, that we can freely place the title, because of
+ defersolutiontitle.
+ \end{frame}
+ \end{solution}
+ \end{exercise}
+
+ \begin{exercise}[points={many, many},beamersolution,
+ firstline={Play around with the options.}]
+ \begin{solution}
+ This solution is only shown if using the non-beamer version, because the option beamersolution was used. Otherwise both
+ solutions would be shown. You can set
+ the option beamersolution for individual (normal) solutions
+ to ignore some but not all solutions of an exercise.
+ \end{solution}
+ \begin{beamersolution}[defersolutiontitle]
+ \begin{frame}[t]
+ \solutiontitle
+ This beamersolution is only shown if using the beamer
+ version.
+ \end{frame}
+ \end{beamersolution}
+ \end{exercise}
+
+
+
+ \begin{exercise}[points={many, many},savetasks,
+ main task font={\tiny},subtask font={\itshape}
+ ]
+ \begin{maintask}
+ The exercise task can be saved and restated.
+ \end{maintask}
+ \begin{subtasks}
+ \subtask{first}
+ \begin{solution}[framed]
+ None (yet).
+ \end{solution}
+ \subtask{second}
+ \end{subtasks}
+ I forgot all the tasks!
+ \restatetask
+ Yeah, but what about the subtasks? I forgot the \restatetask[1] and the \restatetask[2] one. Or did I?
+ \end{exercise}
+
+ \begin{Lexercise}
+ --use [[]] if you need \ or escape it: "\\"
+ firstline = [[Assume $\pi=4$.]],
+ points=10,
+ name="Pragmatic",
+ options=[[main task font={\itshape}]],
+ task = [[
+ This is the main task specified via the Lua
+ interface, like subexercise \ref{subex:skiplexOne} in \ref{ex:skiplex}, whereas \ref{subex:skipexOne}
+ and \ref{subex:skipexTwo} in
+ \ref{ex:skipex} use the \LaTeX~interface.
+ ]],
+ solution=[[
+ This is a solution for the main task.
+ ]],
+ altsolutions={
+ {
+ name="Alternative Solution",
+ text="This is also a solution."
+ },{
+ idea=true,
+ text="This is also a solution."
+ }
+ },
+ \end{Lexercise}
+
+ \begin{Lexercise}
+ firstline = "Assume $e=3$.",
+ points="sum",
+ task = [[
+ This exercise has some subexercises. The Lua interface
+ computes point sums in a single pass.
+ ]],
+ subexercises = {
+ {
+ task = "First things first.",
+ bonuspoints = 4,
+ pointoptions = "abbrev",--passed to LaTeX interface
+ solution = [[None.]],
+ },{
+ task = "Second things afterwards.",
+ points = 16,
+ altsolutions = { [[None.]],[[Yet.]] },
+ }
+ }
+ \end{Lexercise}
+
+\end{sheet}
+
+\end{document}
+
diff --git a/macros/latex/contrib/exercisesheets/exercisesheets-doc.pdf b/macros/latex/contrib/exercisesheets/exercisesheets-doc.pdf
new file mode 100644
index 0000000000..5aed5c6aa1
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/exercisesheets-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/exercisesheets/exercisesheets-doc.tex b/macros/latex/contrib/exercisesheets/exercisesheets-doc.tex
new file mode 100644
index 0000000000..eb89c48b9e
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/exercisesheets-doc.tex
@@ -0,0 +1,1086 @@
+%% exercisesheets.tex
+%% Copyright 2008-2024 Sebastian Kuhnert, Frank Fuhlbrück
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in https://www.latex-project.org/lppl.txt and
+% version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Frank Fuhlbrück.
+%
+% This work consists of the files listed in README.
+
+\documentclass[DIV12,BCOR0mm]{scrartcl}
+
+\usepackage{arev}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[activate]{microtype}
+\usepackage{csquotes}
+\usepackage{xspace}
+\usepackage{xcolor}
+\usepackage{calc}
+\usepackage{listings}
+\lstloadlanguages{TeX}
+\lstset{%
+ language=[LaTeX]TeX,
+ basicstyle=\ttfamily\color{blue!50!black},
+ texcs={def,let,renewcommand,long,begin,end,usepackage,ifdef},
+ texcsstyle=\color{blue!60!gray},
+ keywordstyle=\bfseries,
+ keywords={
+ beamersolution,
+ exshset,
+ exercise,
+ hint,
+ includeexercise,
+ inexlabel,
+ ifnonoralsolutions,
+ iforalsolutions,
+ ifsamplesolutions,
+ ifsolutions,
+ Lexercise,
+ loadexercise,
+ maintask,
+ newframe,
+ points,
+ restatetask,
+ restatetaskbeamer,
+ sheet,
+ solution,
+ subexnref,
+ subexlref,
+ subtask,
+ subtasks,
+ TODO,
+ },
+ keywordstyle=[2]\optionstyle,
+ keywords=[2]{
+ bonus,
+ firstline,
+ framed,
+ inplace,
+ name,
+ only,
+ optional,
+ options,
+ oral,
+ strings,
+ solutionsby,
+ },
+ identifierstyle=,%{}\color{red!60!gray},
+ texcl,
+ commentstyle=\itshape,
+ showstringspaces=false,
+ breaklines,
+ breakatwhitespace,
+ columns=flexible,
+ escapeinside={(*}{*)},
+ mathescape=false,
+}
+
+\usepackage[pdfusetitle,colorlinks]{hyperref}
+
+\newcommand{\exsh}{\texttt{exercisesheets}\xspace}
+
+\newcommand{\param}[1]{$\langle${\normalfont\itshape #1\/}$\rangle$}
+\newcommand{\maybe}[1]{\textcolor{green!50!black}{#1}}
+\newcommand{\mand}[1]{\textcolor{blue!50!black}{#1}}
+\newcommand{\codestyle}{\normalfont\ttfamily\color{blue!50!black}}
+\newcommand{\optionstyle}{\normalfont\ttfamily\color{red!50!black}}
+\newcommand{\option}[1]{{\optionstyle #1}}
+\newcommand{\optitem}[1][]{\item[{\codestyle #1}]}
+\newcommand{\vers}[1]{{\normalfont\ttfamily\color{black!90} #1}}
+\newcommand{\versitem}[1][]{\item[v. \vers{#1}]}
+\newcommand{\filename}[1]{{\normalfont\ttfamily\color{magenta!80!black}#1}}
+\newcommand{\binary}[1]{{\normalfont\ttfamily\color{yellow!50!black}#1}}
+\newcommand{\luadisp}[1]{{\normalfont\ttfamily\color{cyan!50!black}#1}}
+
+\usepackage[english,iso]{isodate}
+\title{The \exsh Package}
+\author{Sebastian Kuhnert\and Frank Fuhlbrück}
+\date{Version 0.17, \printdateTeX{2024/04/23}}
+
+\begin{document}
+\maketitle
+
+The \exsh package provides a way to typeset exercise sheets as used in university courses and school classes. It evolved from a set of macros an environments that were finally combined into this package. Starting from Version \vers{0.7}, there was an alternative variant designed for use with the beamer class, which is integrated into the main package since version \vers{0.11}. Not all combinations of options have been tested with the beamer variant. From version \vers{0.16} on, there is an embedded mode that allows using exercise in lecture notes etc. without requiring page breaks. Since the package includes a loading mechanism for exercises in external files, the same exercises can be reused in different contexts.
+
+
+\subsection*{Licence}
+Copyright \textcopyright{} 2008--2024 Sebastian Kuhnert and Frank Fuhlbrück.
+Permission is granted to copy, distribute and/or modify this software under the
+terms of the \LaTeX{} Project Public Licence, version 1.3c or later. This
+package is maintained, the Current Maintainer is
+Frank Fuhlbrück
+\footnote{\href{mailto:frank@fuhlbrueck.net}{frank@fuhlbrueck.net}}.
+
+
+\section{Reading this Document}
+
+\begin{itemize}
+ \item All macros and environments defined by this package are
+ printed in bold like this: \lstinline|\points| and
+ \lstinline|\begin{sheet}\end{sheet}|.
+ \item Key-value style options with a mandatory argument are
+ printed like this: {\codestyle \option{only}=\param{list of ranges}}, while optional (usually boolean) arguments
+ look like this: {\codestyle \option{embedded}\maybe{=\param{true/false}}}.
+\end{itemize}
+
+
+
+
+\section{Related Classes and Packages}
+
+\subsection{Packages with Similar Functionality}
+\begin{itemize}
+ \item The \texttt{exercise} package offers similar functionality, though the
+ concept is a bit different: That package provides explicit commands for
+ sub-exercises while \exsh (in its standard setting)
+ relies on other means like the \texttt{enumerate}
+ environment for this. An advantage of the \texttt{exercise} package is that
+ answers can be delayed. On the other hand \exsh's environment based user
+ interface is a bit cleaner and you have to care less about package internals.
+ \item The \texttt{xsim} (and its predecessor \texttt{exsheets}) package also offers a similar set of features for the average user. It also has a mechanism for hiding certain exercises and solutions that works a bit differently than the mechanism of
+ this package. There is (to my knowledge) no explicit beamer support.
+\end{itemize}
+
+\subsection{Recommended Additional Packages}
+\begin{itemize}
+ \item The use of \texttt{hyperref} is encouraged. Please use the options
+ \texttt{pdfusetitle}, \texttt{plainpages=false} and \texttt{pdfpagelabels} for
+ optimal results.
+ \item If the \texttt{babel} package is loaded, the appropriate
+ \option{language=\param{lang}}-option is automatically derived and can be
+ omitted.
+ \item The use of \texttt{enumitem} or \texttt{paralist} is recommended. Top
+ level enumerating lists are then modified to have the form (a), (b), \dots{},
+ which is useful in exercise definitions (you can override this).
+ \item If the \texttt{varioref} package is used, appropriate label formats are
+ installed for exercises and sub-exercises.
+ \item If the \texttt{xcolor} package is loaded, to-do markers generated with
+ \lstinline|\TODO| are printed in red.
+\end{itemize}
+
+\subsection{Packages Loaded by \exsh}
+\begin{itemize}
+ \item \texttt{etoolbox} (at least version
+ 1.7)
+ \item \texttt{scrlfile} (part of \KOMAScript{})
+ \item \texttt{pgfkeys} (part of PGF 2.0)
+ \item \texttt{ifthen}
+ \item \texttt{amsmath} (for \lstinline|\numberwithin|)
+ \item \texttt{iflualatex}
+ \item \texttt{refcount} (for \lstinline|\getrefnumber|)
+\end{itemize}
+
+
+\section{Basic Usage}
+
+\subsection{Package Loading}
+The beamer variant is integrated now and automatically activated
+if the current document class is beamer.
+
+\begin{lstlisting}
+\usepackage(*\maybe{[\param{options}]}*){exercisesheets}
+\end{lstlisting}
+
+The following options are available:
+\begin{description}
+ \optitem[{\option{only}=\mand{\param{list of ranges}}}] When given, only the mentioned
+ sheets will be included in the output. This is useful to speed up compilation
+ times for big documents. Some efforts are made that sheet and exercise
+ numbering remain consistent and references to exercises and enumerated lists
+ on skipped sheets still work as expected. References to other objects are
+ broken though (they currently point to the exercise or item containing them).
+ The \param{list of ranges} is a comma separated list of sheet numbers and
+ sheet ranges. If a comma is included in the range, it has to be protected with
+ a pair of braces. The special sheet \enquote{number} \texttt{last} stands for
+ the last sheet in the document (this may require an additional \LaTeX{} run).
+ Examples:
+ \begin{description}
+ \optitem[{\option{only}=3}] Only include the 3rd sheet of the document.
+ \optitem[{\option{only}=\{1,3,5,7\}}] Only include the sheets 1, 3, 5 and 7.
+ \optitem[{\option{only}=last}] Only include the last sheet of the document.
+ \optitem[{\option{only}=\{3-5,8-last\}}] Exclude the sheets 1, 2, 6 and 7.
+ \optitem[{\option{only}=\{-2,5-\}}] Exclude the sheets 3 and 4.
+ \end{description}
+ \optitem[{\option{all}}] Typeset all sheets (equivalent to \option{only=-}). This is
+ the default.
+ \optitem[{\option{solutions\maybe{=\param{true/false/oral/nonoral/sample oral/sample nonoral/sample all}}}}] By default,
+ solutions (provided in the \texttt{solution} environment) are not included in
+ the output. By providing the option \option{solutions=true} (or just
+ \option{solutions}) this can be changed. Choosing \option{solutions=oral}
+ shows only solutions for exercises marked \option{oral} (useful for printouts
+ taken to class). Choosing \option{solutions=nonoral} shows only solutions for
+ exercises that are not marked \option{oral} (useful for correcting).
+ If you want to provided sample solutions for your students but only for some
+ of your exercises you can use the \texttt{sample} key to select those
+ exercises along with any options starting with sample here.
+ Note that non-sample exercises are skipped completely (not only their solutions) if you
+ choose an option starting with sample.
+ \optitem[{\option{gradingguides\maybe{=\param{true/false}}}}]
+ Within \texttt{gradingguide} environments (usually used inside \texttt{solution}) you can
+ specify e.g. the amount of points to assign for certain solutions. This option
+ controls whether or not to include this guides in the output (e.g. solutions for
+ correcting contain them, but sample solutions for students don't).
+ \optitem[{\option{solutionsby}=\mand{\param{name/names}}}] Use this to give the authors of the
+ solutions. They are credited at the beginning of each sheet, if the solutions
+ are included in the output.
+ \optitem[{\option{language}=\mand{\param{lang}}}] Set the language of the sheet and
+ exercise heads to \param{lang}. If the \texttt{babel} package is loaded this
+ is not necessary, as the main document language will be automatically
+ detected. Currently \option{english}, \option{german} and \option{ngerman} are
+ supported. Other translations are welcome: Please contact the author.
+ \optitem[{\option{pointsfloatright}}] Use an alternative mechanism to place points for Sub-Exercises.
+ If this option is used, the points label for a Sub-Exercise is placed at the (right) end of the current line.
+ It is especially useful if used in a context like \texttt{$\backslash$item$\backslash$points$\{3\}$}.
+ This option exploits (and partially breaks) RTL-Support.
+ \optitem[{\option{exercisespath}}] Set the (relative) path of the
+ directory containing exercises to be included via
+ \lstinline|\includeexercise|.
+ \optitem[{\option{patchenumerate}\maybe{=\param{true/false}}}] Sets
+ enumerate item labels for the first four levels, starting with
+ a), b) etc. for the top-level (sub-exercises). Depending on other
+ loaded packages (\lstinline|enumitem|, \lstinline|paralist|) the mechanism
+ slightly differs. This option is active by default.
+ \optitem[{\option{settitle}\maybe{=\param{true/false}}}] If set to true
+ (which is the default),
+ the document \lstinline|\title| will be automatically set to the value
+ of \option{strings/sheets} and the value of \option{strings/solutions} will be
+ appended if \option{solutions} is not \lstinline|false|.
+ \optitem[{\option{patchpagenumbers}\maybe{=\param{true/false}}}] If true
+ (default), pages will be numbered within sheets and page numbers
+ get a prefix of the form ``{\codestyle\param{sheet number}-}''.
+ \optitem[{\option{usestartsection}\maybe{=\param{true/false}}}] If true
+ (default), the command \lstinline|\@startsection| is used to create
+ the header of any exercise as a section, which (among other
+ things) adds an entry to the TOC (if existent) at level 1
+ (usually corresponding to \lstinline|\section|).
+ \optitem[{\option{embedded}\maybe{=\param{true/false}}}] Default: false.
+ Embedded mode allows for exercise ``sheets'' which do not
+ interfere with a surrounding document. More explicitly, it does
+ not interfere with \lstinline|secnumdepth|, defines special counters
+ \lstinline|exshsheet| and \lstinline|exshexercise| to use them for
+ \option{sheet counter} and \option{exercise counter},
+ respectively and sets all of \option{patchenumerate},
+ \option{settitle}, \option{patchpagenumbers} and
+ \option{usestartsection} to \lstinline|false|.
+ An internally defined macro which basically does no extra
+ formatting or adding anything to the TOC is used as
+ \option{sheet sectioning cmd} instead of the usual \lstinline|\part|.
+ Finally,
+ the \option{sheet start page action} and the
+ \option{sheet end page action} are both set to \lstinline|\relax|.
+ If you want to override any of this, do it after setting
+ \option{embedded} to \lstinline|true|.
+ \item{\option{minskips\maybe{=\param{true/false}}}} Default: false.
+ If true, the values of
+ \option{above sheet title skip},
+ \option{below sheet header skip},
+ \option{above first exercise skip} and
+ \option{below exercise title skip} are all set to 0pt.
+ \optitem[{\option{showtodos} / \option{hidetodos}}]
+ \lstinline|\TODO| markers
+ are hidden by default, this option switches their behavior. This
+ option is usually set within \lstinline|\ifsamplesolutions| or
+ similar.
+ \optitem[{\option{beamercompatibility}\maybe{=\param{true/false}}}]
+ This option (which only is effective in the non-beamer version)
+ defines several beamer macros with as trivial
+ effects as possible, e.g., \lstinline|\pause| becomes \lstinline|\relax|
+ and overlay specifications are mostly ignored. Be careful to use
+ this option after loading \lstinline|enumitem| etc. as the enumerate
+ and itemize environment are defined to swallow overlay
+ specifications without effect, this also holds for
+ \lstinline|\item<1->|. If you load \lstinline|exercisesheets| before them
+ use \lstinline|\exshset| afterwards.
+ The current list of redefinitions is as
+ follows:
+\begin{lstlisting}
+ \let\pause\relax
+ \def\frame{}
+ \renewcommand{\frame}[1][]{}
+ \let\endframe\relax
+ \def\onslide<##1>{}
+ \def\only<##1>##2{##2}
+ \def\uncover<##1>##2{##2}
+ \def\visible<##1>##2{##2}
+ \def\invisible<##1>##2{##2}
+ \long\def\alt<##1>##2##3{##2}
+ \long\def\temporal<##1>##2##3##4{##3}
+ \let\exsh@origitem\item
+ \def\exsh@ovrlitem<##1>{\exsh@origitem}
+ \def\item{\@ifnextchar<\exsh@ovrlitem\exsh@origitem}
+ \let\exsh@origitemize\itemize
+ \def\exsh@ovrlitemize[##1]{\exsh@origitemize}
+ \def\itemize{\@ifnextchar[\exsh@ovrlitemize\exsh@origitemize}
+ \let\exsh@origenumerate\enumerate
+ \def\exsh@ovrlenumerate[##1]{\exsh@origenumerate}
+ \def\enumerate{%
+ \@ifnextchar[\exsh@ovrlenumerate\exsh@origenumerate}
+\end{lstlisting}
+
+\optitem[{\option{filenameasexercisename}\maybe{=\param{true/false}}}]
+This option (set to false by default) causes
+\lstinline|\includeexercise| to
+set the name of an exercise as the filename (without extension).
+This has two purposes: If you have nice file names you can
+automatically name the exercise. On the other hand this is helpful
+during exercise sheet composition because it shows the name of
+the corresponding file in the compiled file.
+\end{description}
+
+\subsection{Supplying Meta-Data}
+
+The following commands are enhanced (or provided) to set the options controlling
+the sheet headers (see Section~\ref{sec:sheet}):
+\begin{lstlisting}
+\subject{(*\param{subject}*)}
+\author{(*\param{author}*)}
+\date{(*\param{semester}*)}
+\end{lstlisting}
+
+If one of these commands is omitted (and the corresponding option is not used
+either), a warning is issued.
+
+Please do not include a \lstinline|\title| in your document, as \exsh will
+automatically generate an appropriate one (this may require an additional
+\LaTeX{} run). If you want to set the title yourself, set the
+option \option{settitle} to \lstinline|false|.
+
+All this information is included in the PDF meta-data if the \texttt{hyperref}
+package is loaded with the option \texttt{pdfusetitle}.
+
+There is also a related option:
+\begin{description}
+ \optitem[{\option{exauthor}=\mand{\param{list of names}}}] If you want to use the
+ \lstinline|\author| macro for the general author of a course but
+ there are different authors for individual exercises or all
+ exercises in general, you can set this key. Currently only
+ exercisesheets-baemer uses this for the footline, while
+ \option{author} is used for the headline.
+\end{description}
+
+\subsection{Defining Exercise Sheets}
+\label{sec:sheet}
+\begin{lstlisting}
+\begin{sheet}(*\maybe{[\param{options}]}*)
+ (*\param{sheet contents}*)
+\end{sheet}
+\end{lstlisting}
+
+Insert a sheet into the document. This environment can be repeated to combine
+several sheets in a single \LaTeX{} file. For each sheet, a new page is started
+and an appropriate header is generated. The \param{sheet contents} can be
+anything but will usually consist of several \texttt{exercise} environments (see
+Section~\ref{sec:exercises-solutions}).
+
+The following \param{options} are supported:
+\begin{description}
+ \optitem[{\option{date}=\mand{\param{date}}}] Set the date the sheet was/will be issued. This
+ information is included in the sheet header. By default, this information is
+ omitted. See also the \option{semester} option.
+ \optitem[{\option{note}=\mand{\param{note}}}] Include \param{note} in the sheet header.
+ Useful to inform students when the sheet is due. If you want a note consisting
+ of more than one line split at a particular position, use
+ \lstinline|\protect\linebreak|.
+ \optitem[{\option{title}=\mand{\param{title}}}]
+ Directly set the sheet title. When this option is used, different
+ page numbering conventions are used. This is useful to
+ typeset exams (combined with the next option).
+ \optitem[{\option{number within sheet\maybe{=\param{true/false}}}}]
+ Deviate from the usual numbering theme and
+ restart from one for exercises on the sheet. The previous
+ counter value is restored after the sheet, so you can insert
+ a special sheet.
+ \optitem[{\option{author}=\mand{\param{author}}}] Set the author included in the sheet
+ head. By default, the value passed to \lstinline|\author| is used.
+ \optitem[{\option{exauthor}=\mand{\param{exauthor}}}] Only used by the beamer
+ variant, see above.
+ \optitem[{\option{subject}=\mand{\param{subject}}}] Set the subject included in the sheet
+ head. By default, the value passed to \lstinline|\subject| is used.
+ \optitem[{\option{semester}=\mand{\param{semester}}}] Set the semester included in the
+ sheet head. By default, the value passed to \lstinline|\date| is used.
+ \optitem[{\option{beamerwithheadline\maybe{=\param{true/false}}}}] Controls whether a headline with author, subject etc. is shown on beamer slides, similar to the regular sheets. This options is off by default as headlines (and footers) take a considerable amount
+ off space. If you specify the embedded option the current default headers and footers will be used if you omit this option. Otherwise omitting it will imply an empty headline.
+ \optitem[{\option{beamerwithfootline\maybe{=\param{true/false}}}}]
+ The same for the footer.
+ \optitem[{\option{beameruseblocks\maybe{=\param{true/false}}}}]
+ Controls whether the exercise title is shown inside a
+ beamer block (\param{true}) or a simple colorbox
+ (\param{false}, the default). Depending on your style a
+ block might look fancier, but it usually consume more space.
+\end{description}
+
+
+\subsection{Defining Exercises and Solutions}
+\label{sec:exercises-solutions}
+\begin{lstlisting}
+\begin{exercise}(*\maybe{[\param{options}]}*)
+ (*\param{exercise text}*)
+ \begin{solution}(*\maybe{[\param{solution options}]}*)
+ (*\param{solution text}*)
+ \end{solution}
+ \begin{beamersolution}(*\maybe{[\param{solution options}]}*)
+ (*\param{solution text}*)
+ \end{beamersolution}
+\end{exercise}
+\end{lstlisting}
+
+This inserts an exercise into the current document. All
+\lstinline|beamersolution|s are ignored, if the
+\exsh package with any class but beamer, but using beamer
+\exsh also processes
+normal solutions by default (set option \option{beamersolution}
+to turn this off).
+
+The following options are
+supported:
+\begin{description}
+ \optitem[{\option{name}=\mand{\param{text}}}] Use \param{text} as the name of the exercise.
+ Useful for exercises that prove a famous theorem.
+ \optitem[{\option{firstline}=\mand{\param{text}}}] Save some space by text \param{text}
+ behind the exercise title.
+ \optitem[{\option{savetasks\maybe{=\param{true/false}}}}] Saves the main task and each sub task
+ for later use with \lstinline|\restatetask[|%
+ \param{which}], where \param{which} is either \lstinline|main|
+ (default) or the number of a sub task.
+ \optitem[{\option{points}=\mand{\param{number/oral/sum}}}] Assign this
+ exercise \param{number} points. By default, exercises are
+ unlabelled. \param{oral} works the same way as the option
+ \option{oral}. The value \param{sum} displays the sum of all
+ occurrences of \lstinline|\points| within the exercise: Ordinary and
+ bonus points are treated separately. If there are only bonus
+ points, the option \option{bonus} is automatically triggered. To
+ undo this, either delete the \filename{.aux} file or explicitly use
+ \lstinline|\points[bonus=false]{\param{number}}| for at least one
+ subexercise. Points can be summed up also during a single pass
+ by using the Lua interface.
+ \optitem[{\option{oral}}] Label this exercise as \emph{oral}. This supersedes and is
+ superseded by the option \option{points}.
+ \optitem[{\option{pointsinfo}=\mand{\param{text}}}] Supply \param{text} as additional
+ information to be displayed after the points.
+ \optitem[{\option{optional}}] Shortcut for \option{pointsinfo=optional} with
+ automatic translation and abbreviation (if requested).
+ \optitem[{\option{bonus}}] Change \enquote{points} to \enquote{bonus points} (with
+ automatic translation and abbreviation).
+ \optitem[{\option{abbrev}}] Use abbreviated labels.
+ \optitem[{\option{exercisemark}=\mand{\param{symbol}}}] Mark the exercise
+ with \param{symbol} in the left margin.
+ \optitem[{\option{difficult}}] Shortcut for \option{exercisemark=*}.
+ \optitem[{\option{solutions\maybe{=\param{true/false/oral/nonoral/...}}}}] Use this to override the
+ document (or sheet) default.
+ \optitem[{\option{sample}}] Include this exercise (and its solution) in while compiling
+ sample solutions.
+ \optitem[{\option{beamersolution}}] For beamer variant only. If this option
+ is set all normal solutions will not be included and only
+ \lstinline|beamersolution|s are typeset.
+ \optitem[{\option{framed}}] For beamer variant only, simply ignored
+ elsewhere. If this option
+ is set for a normal solution, its content will be put on one or
+ more frames. Use \lstinline|\newframe| to start a new frame. This
+ option is especially helpful if you provide your own definitions
+ of \lstinline|\only| etc. and/or use the \option{beamercompatibility}.
+ for non-beamer compilation. \lstinline|\newframe|
+ is already defined as \lstinline|\relax| in non-beamer \exsh,
+ even without invoking \option{beamercompatibility}.
+ \optitem[{\option{fragile}}] For beamer variant only and only
+ used combined with framed, simply ignored elsewhere. Frames are
+ declared as \texttt{fragile} und parsing of \lstinline|\newframe|
+ etc. is done via Lua\LaTeX. Thus Lua\LaTeX is required
+ (and this requires font setup via fontspec etc.), but
+ you do not have to use any Lua code yourself. Mostly useful
+ for listings and other verbatim stuff within solutions.
+\end{description}
+
+Solutions are only typeset, if the \option{solutions} option is in effect. There
+can be multiple solution environments within a single exercise environment; this
+is useful if the exercise consists of several sub-exercises. Sub-exercises can
+simply be defined with an \texttt{enumerate} or \texttt{compactenum}
+environment.
+
+\section{Utilities}
+
+\subsection{Loading Excercises From Files}
+\begin{lstlisting}
+\includeexercise(*\param{file name}*)
+\includeexercise*(*\param{file name}*)
+\end{lstlisting}
+
+Both load the exercise from exercisespath/\param{file name}. Note
+that the exercise environment must be contained in the file. The
+starred version is helpful for faster skipping of unused exercises.
+In this case, the file is not opened to search for labels. Whenever
+the exercise is not skipped and you use the starred version and also
+use labels within the exercise file, \exsh outputs an error. This is
+done to ensure that references are not overlooked when the exercise
+is actually skipped later.
+
+\subsection{Including Hints}
+
+\begin{lstlisting}
+\begin{hint}(*\maybe{[\param{options}]}*)
+ (*\param{hint text}*)
+\end{hint}
+\end{lstlisting}
+
+\begin{lstlisting}
+\begin{hint*}(*\maybe{[\param{options}]}*)
+ (*\param{hint text}*)
+\end{hint*}
+\end{lstlisting}
+
+These environments include hints in the exercise definition. The first form
+starts a new paragraph, the second one puts the hint in parenthesis.
+
+\subsection{TODO Markers}
+
+You can use the following to include a red TODO marker in your document. This is
+useful to mark places where work is still in progress. A warning is issued at
+each place. TODO markers can also contain an optional description
+of the task that needs to be done. If you switch off displaying
+TODO markers (s.a.) the warning will be issued nevertheless.
+
+\begin{lstlisting}
+\TODO[what needs to be done]
+\end{lstlisting}
+
+\subsection{Annotating Points for Sub-Exercises}
+\begin{lstlisting}
+\begin{exercise}[(*\option{points}*)=sum]%sum produces 4+6
+ \begin{enumerate}
+ \item Part 1 \points{oral}
+ \item Part 2 \points[optional]{oral}
+ \item Part 3 \points{4}
+ \item Part 4 \points[bonus]{6}
+ \end{enumerate}
+ Sub-Exercises within continuous text can be annotated like this \points[inplace]{3} without adding space.
+\end{exercise}
+\end{lstlisting}
+
+\subsection{Explicitly Stating Tasks}
+In principle, \exsh aims to be very lightweight and there is not
+much mandatory structure inside exercises. Furthermore, the
+\lstinline|enumi| counter is used for sub-exercise. There are, however,
+situations where we want more explicit structure, for instance to
+have special font for the main task or the subtasks or to reuse
+some of the tasks later. This is especially handy if using the
+beamer variant where the original task and a part of the solution might be on different slides. In the future it might be possible to
+use other counters then \lstinline|enumi|, which is also only possible
+if sub-exercises are not simply \lstinline|\item|s in
+\lstinline|enumerate|. If you want to reuse the main or any subtasks
+you may use \lstinline|\restatetask| or \lstinline|\restatetaskbeamer|
+(this shows noting if not compiled with beamer). There is also
+a starred version (\lstinline|\restatetask*| /
+\lstinline|\restatetaskbeamer*|) for each of them, which adds a newline.
+All four have an optional argument that allows to restate
+a subtask instead of the main task. This argument is either
+\lstinline|main|, a number of a \textbf{previous} subtask or
+\lstinline|cur| for the current subtask. Using \option{headerrestate}
+for your solution will automatically restate the current
+task within the beamer solution header (does noting without
+beamer).
+
+
+
+\begin{lstlisting}
+\begin{exercise}[(*\option{points}*)=oral]
+ \begin{maintask}
+ A and B are true.
+ \end{maintask}
+ \begin{subtasks}
+ \subtask{A is true}
+ \begin{solution}[framed]
+ We want to show: \restatetask %A and B are true.
+ \newframe
+ Out first step is to show: \restatetask[cur] %A is true
+ \end{solution}
+ \subtask{If A is true, B is true.}
+ \begin{solution}[framed]
+ Obvious (i.e.: homework).
+ \end{solution}
+ \subtask{B is true}
+ \begin{solution}[framed]
+ We already know: \restatetask[1] and
+ \restatetask[2], therefore B is also true.
+ \end{solution}
+ \end{subtasks}
+\end{exercise}
+\end{lstlisting}
+
+\subsection{Labels and References within an Exercise}
+While the global reference labels set via varioref (if loaded)
+are nice for references to subexercises far away, always mentioning
+the exercise number seems superfluous. Furthermore, for usage in indices etc. you might want to use the arabic representation instead. This is what the commands \lstinline|\subexnref| and
+\lstinline|\subexlref| are designed for. However, both of them still
+require an ordinary label, which is not allowed in
+exercises loaded with \lstinline|\loadexercise*|.
+For this purpose \lstinline|\inexlabel| can be used which is just a
+normal label that is not redefined to produce an error.
+Furthermore, we define a counter \lstinline|subex| (which is
+currently just an alias for enumi, but this might change). You can
+use this counter (alias) with common commands like
+\lstinline|\arabic| or \lstinline|\alph|.
+
+\begin{lstlisting}
+\begin{exercise}
+ \begin{enumerate}
+ \item \inexlabel{subex:xisseven} Let $x_{\thesubex}=7$.
+ \item Compute $x_{\subexnref{subex:xisseven}}+3$.
+ \begin{solution}
+ From \subexlref{subex:xisseven} %(a)
+ we know that $x_{\subexnref{subex:xisseven}}$ is $7$ and
+ thus the sum is $10$.
+ \end{solution}
+ \end{enumerate}
+\end{exercise}
+\end{lstlisting}
+
+
+
+\section{Advanced Usage}
+
+\subsection{Setting Options}
+
+Options can be given at different places.
+\begin{enumerate}
+ \item As local options to one of the environments.
+ \item As package options: This is convenient for global options but suffers
+ from shortcomings in way \LaTeX{} processes options: Macros are expanded and
+ spaces are stripped.
+ \item By the independent \lstinline|\exshset| command. This is especially useful in
+ the preamble to set options that would be garbled by the \LaTeX{} option
+ handling routine. It also allows to change an option for the rest of the
+ current scope.
+\end{enumerate}
+
+Example: Change the solution authors of the following sheets:
+\begin{lstlisting}
+(*\param{some sheets}*)
+\exshset{solutionsby=(*\param{other authors}*)}
+(*\param{more sheets}*)
+\end{lstlisting}
+
+\subsection{Changing Strings}
+
+For some languages, predefined sets of strings are provided and automatically
+activated. If your language is not supported or if you want to change (some of)
+the used strings, you can do so with the following options:
+\begin{description}
+ \optitem[{\option{strings/sheet}=\mand{\param{string}}}]
+ \optitem[{\option{strings/sheets}=\mand{\param{string}}}]
+ \optitem[{\option{strings/solutions}=\mand{\param{string}}}]
+ \optitem[{\option{strings/solutionsby}=\mand{\param{string}}}]
+ \optitem[{\option{strings/exercise}=\mand{\param{string}}}]
+ \optitem[{\option{strings/solution}=\mand{\param{string}}}]
+ \optitem[{\option{strings/hint}=\mand{\param{string}}}]
+ \optitem[{\option{strings/oral}=\mand{\param{string}}}]
+ \optitem[{\option{strings/oral abbrev}=\mand{\param{string}}}]
+ \optitem[{\option{strings/point}=\mand{\param{string}}}]
+ \optitem[{\option{strings/points}=\mand{\param{string}}}]
+ \optitem[{\option{strings/points abbrev}=\mand{\param{string}}}]
+ \optitem[{\option{strings/bonus point}=\mand{\param{string}}}]
+ \optitem[{\option{strings/bonus points}=\mand{\param{string}}}]
+ \optitem[{\option{strings/bonus points abbrev}=\mand{\param{string}}}]
+ \optitem[{\option{strings/optional}=\mand{\param{string}}}]
+ \optitem[{\option{strings/optional abbrev}=\mand{\param{string}}}]
+\end{description}
+
+Example: Give an introduction that should only be included in the version with
+solutions:
+
+\begin{lstlisting}
+\begin{solution}[(*\option{strings/solution}*)=Introduction]
+ (*\param{introduction text}*)
+\end{solution}
+\end{lstlisting}
+
+
+\subsection{Changing Fonts}
+
+The package \exsh comes with its own way to change the used fonts. Each font can
+be changed in the following way:
+\begin{lstlisting}
+\exshset{(*\param{font element}=\param{font specification}*)}
+\end{lstlisting}
+The available \param{font element}s are listed below together with their default
+values:
+\begin{description}
+ \optitem[{\option{sheet header font}}] The basic font for subject, author, semester,
+ date, note and solution authors in the sheet headers.\\
+ Default: \lstinline|\normalfont\normalsize|
+ \optitem[{\option{subject font}}] The font for the subject in the sheet header.\\
+ Default: \lstinline|\scshape|
+ \optitem[{\option{author font}}] The font for the author in the sheet header.\\
+ Default: \lstinline|\scshape|
+ \optitem[{\option{semester font}}] The font for the semester in the sheet header.\\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{date font}}] The font for the date in the sheet header.\\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{solutionsby font}}] The font for the information who has produced
+ the solutions provided below the sheet title.\\
+ Default: \lstinline|\itshape|
+ \optitem[{\option{sheet note font}}] The font for the note provided below the sheet
+ title.\\
+ Default: \lstinline|\itshape\bfseries|
+ \optitem[{\option{sheet title font}}] The font for the sheet title itself.\\
+ Default: \lstinline|\Large\bfseries|
+ \optitem[{\option{exercise title font}}] The font for the exercise title.\\
+ Default: \lstinline|\bfseries|
+ \optitem[{\option{points font}}] The font for the number of points in the exercise
+ head (relative to the exercise title) and for \lstinline|\points|.\\
+ Default: \lstinline|\itshape|
+ \optitem[{\option{main task font}}] The font for the
+ \lstinline|maintask| environment.\\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{subtask font}}] The font for each
+ \lstinline|\subtask|.\\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{task restate font}}] The font used for
+ \lstinline|\restatetask|.\\
+ Default: \lstinline|\itshape|
+ \optitem[{\option{hint font}}] The font for hints. \\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{hint title font}}] The font for the string \enquote{Hint:}.\\
+ Default: \lstinline|\itshape|
+ \optitem[{\option{solution font}}] The font for solutions.\\
+ Default: empty, i.\,e.\ no change.
+ \optitem[{\option{solution title font}}] The font for the string
+ \enquote{Solution:}\\
+ Default: \lstinline|\bfseries|
+ \optitem[{\option{grading guide font}}] The font for grading guides.\\
+ Default: \lstinline|\itshape|
+ \optitem[{\option{todo marker font}}] The font for the string \enquote{TODO}.\\
+ Default: \lstinline|\ifdef{\color}{\color{red}}{}\bfseries|
+\end{description}
+
+\subsection{Controlling the Spacing, Page Handling and Separations between Elements}
+
+The following options allow fine-tuning of the spacing:
+\begin{description}
+ \optitem[{\option{below slide headline skip}=\mand{\param{dimen}}}] The distance between
+ haedline (if present) and slide content. Only used by beamer
+ variant, ignored elsewhere.\\
+ Default: \texttt{0mm}
+ \optitem[{\option{above sheet title skip}=\mand{\param{dimen}}}] The distance between
+ author/date and sheet title.\\
+ Default: \texttt{4ex}
+ \optitem[{\option{above sheet note skip}=\mand{\param{dimen}}}] The distance above the
+ sheet note.\\
+ Default: \texttt{.7ex}
+ \optitem[{\option{above solutionsby skip}=\mand{\param{dimen}}}] The distance above the
+ solution author.\\
+ Default: \texttt{1ex}
+ \optitem[{\option{below sheet header skip}=\mand{\param{dimen}}}] The distance below the
+ sheet header.\\
+ Default: \texttt{4ex plus 1ex minus .5ex}
+ \optitem[{\option{above exercise skip}=\mand{\param{dimen}}}] The distance above
+ exercises.\\
+ Default: \texttt{3ex plus 1ex minus .5ex}
+ \optitem[{\option{below exercise title skip}=\mand{\param{dimen}}}] The distance below
+ exercise titles.\\
+ Default: \texttt{\textbackslash parskip}
+ \optitem[{\option{above solution skip}=\mand{\param{dimen}}}] The distance above
+ solutions.\\
+ Default: \texttt{1ex}
+ \optitem[{\option{above hint skip}=\mand{\param{dimen}}}] The distance above hints.\\
+ Default: \texttt{1ex}
+\end{description}
+
+The following two options control the page handling at the beginning and
+at the end of each sheet:
+\begin{description}
+ \optitem[{\option{sheet start page action}=\mand{\param{macro}}}] Executed at the beginning
+ of each sheet.\\
+ Default: \lstinline|\clearpage|
+ \optitem[{\option{sheet end page action}=\mand{\param{macro}}}] Executed at the end
+ of each sheet.\\
+ Default: \lstinline|\clearpage|
+\end{description}
+
+The following option controls what follows after the string
+\option{strings/solution} within a solution header. Using this, you can disable a solution header completely or, for instance, add
+a horizontal bar below each solution title.
+\begin{description}
+ \optitem[{\option{solution title separator}=\mand{\param{content}}}] Inserted directly after \option{strings/solution} in a solution title:\\
+ Default: \lstinline|:\par|
+\end{description}
+
+\subsection{Controlling the Sectioning (beta)}
+
+By default, exercises are sections and sheets are parts. They use
+the respective counters and commands. This is impractical, if you
+want to include exercise ``sheets'' as, e.g., a subsection within
+a section of a book or article. While the page handling options
+already allow to dismiss page breaks, sectioning commands might
+still break your layout or structure. Since version \vers{0.15} you
+can use your own counters and commands to start sheets and
+(to a certain degree) exercises. Exercises are currently still
+started by \lstinline|\@startsection| with the counter set to
+\option{exercise counter}, but the level set to 1 (e.g. section).
+This will likely change with one of the next versions, but needs
+some testing. Thus, if you use any of these options, watch for
+undesired consequences and report them via gitlab if possible.
+
+\begin{description}
+ \optitem[{\option{sheet sectioning cmd}=\mand{\param{macro}}}] This macro is
+ called only in one place in the following way:
+ \lstinline|\macro[short title]{long title}|, so it
+ must take one argument in [brackets] and one normal argument.\\
+ Default: \lstinline|\part|
+ \optitem[{\option{sheet counter}=\mand{\param{counter}}}] This counter will be
+ incremented wit every sheet. There was always an internal counter
+ \lstinline|sheetid| used to distinguish sheets for hyperref even if
+ \lstinline|part|s value changed. Do not use this counter here, as it will have strange effects (incremented twice).\\
+ Default: \lstinline|part|
+ \optitem[{\option{exercise counter}=\mand{\param{counter}}}] This counter will
+ be incremented wit every exercise (usually within each sheet).
+ Default: \lstinline|section|
+\end{description}
+
+\subsection{Special Code for Solutions}
+\begin{lstlisting}
+\ifsolutions{(*\param{if true}*)}{(*\param{if false}*)}
+\iforalsolutions{(*\param{if true}*)}{(*\param{if false}*)}
+\ifnonoralsolutions{(*\param{if true}*)}{(*\param{if false}*)}
+\ifsamplesolutions{(*\param{if true}*)}{(*\param{if false}*)}
+\end{lstlisting}
+
+There are also special options for conditionals to be used in the arguments of
+the environments defined by this package:
+\begin{description}
+ \item[\option{ifsolutions=\{\param{options if true}\}\{\param{options if
+ false}\}}] Execute \param{options if true} if solutions are included in
+ the current document, \param{options if false} otherwise.
+ \item[\option{iforalsolutions=\{\param{options if true}\}\{\param{options if
+ false}\}}] Execute \param{options if true} if solutions for oral exercises
+ are included in the current document, \param{options if false} otherwise.
+ \item[\option{ifnonoralsolutions=\{\param{options if true}\}\{\param{options if
+ false}\}}] Execute \param{options if true} if solutions for non-oral
+ exercises are included in the current document, \param{options if false}
+ otherwise.
+ \item[\option{ifsamplesolutions=\{\param{options if true}\}\{\param{options if
+ false}\}}] Execute \param{options if true} if sample solutions for marked
+ exercises are included in the current document, \param{options if false}
+ otherwise.
+\end{description}
+
+Example 1: Only include points for sub-exercises when solutions are typeset:
+\begin{lstlisting}
+\ifsolutions{}{\renewcommand{\points}[2][]{}}
+\end{lstlisting}
+
+Example 2: Modify the sheet header spacing in the non-solution version:
+\begin{lstlisting}
+\begin{sheet}[(*\option{ifsolutions}*)={}{(*\option{above title skip}*)=2ex}]% usually 4ex
+ \dots
+\end{sheet}
+\end{lstlisting}
+
+\subsection{Using Hooks}
+There are several hooks used by \exsh:
+\begin{description}
+ \optitem[{\option{every sheet}}] This is used at the beginning of every sheet.
+ \optitem[{\option{every exercise}}] This is used at the beginning of every exercise.
+ \optitem[{\option{every solution}}] This is used at the beginning of every solution.
+ \optitem[{\option{every hint}}] This is used at the beginning of every hint.
+\end{description}
+
+Hooks can be used to influence the behaviour of the respective environments.
+Users of \texttt{tikz} should be familiar with the concept.
+
+\subsection{Control Skipping of Custom Macros in Skipped Exercises}
+\begin{description}
+ \optitem[{\option{custom skip macro}=\mand{\param{macro}}}]
+\end{description}
+
+If an exercise is not printed, some macros like \lstinline|\label{}|
+are processed nevertheless. However, if you define your own macro
+using one of these, then this macro will be completely ignored
+if the exercise containing it is skipped. This option allows to
+define a custom handler for your macros. The most common use
+checks for your custom macros with
+nested \lstinline|\ifstrequal|s and then either
+executes a custom skipper, replaces your macro with
+the standard version or uses \lstinline|\expandafter| to
+deliver the expanded version of your macro to
+\lstinline|\exshskipcontinue|.
+
+Example:
+\begin{lstlisting}
+\def\mylabel#1{...}
+\def\myitem{...}
+\def\myitemtwo{...}
+\def\skipmylabel#1{...\exshskipcontinue}
+\long\def\customskip#1{
+ \ifstrequal{#1}{\mylabel}
+ {\skipmylabel}
+ {\ifstrequal{#1}{\myitem}
+ {\exshskipcontinue\item}
+ {\ifstrequal{#1}{\myitemtwo}
+ {\expandafter\exshskipcontinue\myitemtwo}
+ {\exshskipcontinue}
+ }
+ }
+}
+\exshset{custom skip macro={\customskip}}
+\end{lstlisting}
+
+\section{The Lua Interface}
+\label{sec:lua}
+
+Since version \vers{0.11} there is a Lua interface for the exercise
+environment. This interface will offer roughly the same features.
+Its main purpose will be allowing to reorder sub-exercises more
+easily and to offer more dynamic options for the display of
+solutions (one combined solution or single after each sub-%
+exercise). %TODO finish
+
+\begin{lstlisting}
+\begin{Lexercise}
+ --use [[]] if you need \ or escape it in "": "\\"
+ firstline = [[Assume $\pi=4$.]],
+ points=10,
+ name="Pragmatic",
+ options=[[main task font={\itshape}]],
+ task = [[
+ This is the main task specified via the Lua
+ interface.
+ ]],
+ solution=[[
+ This is a solution for the main task.
+ ]],
+\end{Lexercise}
+\end{lstlisting}
+
+\section{Usage Tips}
+\label{sec:usage-tips}
+
+\subsection{Seperate Solution File}
+\label{sec:seper-solut-file}
+
+If you do not want to temporarily comment out the \option{solutions} option in
+your main file, say \texttt{exercises.tex}, you can create an additional file
+\texttt{solutions.tex} with the following contents:
+\begin{lstlisting}
+\PassOptionsToPackage{solutions}{exercisesheets}
+\input{exercises.tex}
+\end{lstlisting}
+If you leave out the \option{solutions} option in you main file, running
+\texttt{pdflatex exercises.tex} will create \texttt{exercises.pdf} without
+solutions and \texttt{pdflatex solutions.tex} will create \texttt{solutions.pdf}
+with solutions.
+
+This also works well in combination with a makefile that generates
+\texttt{solutions.tex} as a temporary file.
+
+\subsection{Compatibilty with make4ht and tex4ebook}
+Since version \vers{0.15} this package can be used with make4ht and tex4ebook in non-beamer mode. Some code for the sheet and exercise header already provides a similar alignment as when producing PDF files. If your goal is an exercise (or solution) document within a single HTML file that looks as similar to the PDF as possible, consider \url{https://tex.stackexchange.com/questions/605478/}, \url{https://tex.stackexchange.com/questions/662445} and \url{https://tex.stackexchange.com/questions/630992}.
+
+\section{Changelog}
+\label{sec:changelog}
+
+\begin{itemize}
+ \versitem[0.17:] 2024-04-23
+ \begin{itemize}
+ \item Make embedded mode work better with beamer. This
+ includes not overriding headlines and footlines and
+ incrementing the frame counter for non-frames.
+ \item issue an explicit warning if \string\subtask is outside of a subtasks environment
+ \item clearify documentation and use consistent styling
+ \item additional example for embedding exercises
+ \end{itemize}
+ \versitem[0.16:] 2024-03-07
+ \begin{itemize}
+ \item Embedded mode and most of the additional options it
+ automatically sets.
+ \end{itemize}
+ \versitem[0.15.1:] 2023-12-14
+ \begin{itemize}
+ \item bugfix: beamer support was broken in \vers{0.15} due to
+ a missing macro.
+ \end{itemize}
+ \versitem[0.15:] 2023-11-30
+ \begin{itemize}
+ \item new option \option{solution title separator}
+ (initially set to\lstinline|:\par|). Among other things, this
+ allows for solutions without any caption or header by
+ setting \option{solution title separator},~
+ \option{solution title font} as well as
+ \option{strings/solution} to \lstinline|\relax|.
+ \item initial support for \binary{make4ht} and
+ \binary{tex4ebook} by avoiding certain behavior when these
+ modes are used. Note that both are incompatible with beamer
+ mode.
+ \item initial decoupling of exercise and sheet from
+ sections and parts using the new options (defaults in
+ parenthesis) \option{sheet sectioning cmd} (\lstinline|\part|),
+ \option{sheet counter} (\lstinline|part|) and
+ \option{exercise counter} (\lstinline|section|).
+ \end{itemize}
+ \versitem[0.14:] 2023-02-06
+ \begin{itemize}
+ \item new option \option{headerrestate} to restate
+ the current (if in subexercise) or main task within
+ a solutions header
+ \item bugfix: \lstinline|\restatetask| etc. give meaningful error if \option{savetasks} is not set.
+ \end{itemize}
+ \versitem[0.13.1:] 2022-11-22
+ \begin{itemize}
+ \item bugfix: \lstinline|\detokenize| filenames when
+ \option{filenameasexercisename} is active as otherwise,
+ e.g., underscores would not be allowed in filenames.
+ \end{itemize}
+ \versitem[0.12.2:] 2022-10-20
+ \versitem[0.13:] 2022-11-07
+ \begin{itemize}
+ \item bugfix: \lstinline|\begingroup| and \lstinline|\endgroup|
+ within \lstinline|\subtask| now contain everything up to the
+ next \lstinline|\subtask|.
+ \item \lstinline|\restatetask| has now a starred version that
+ adds a newline and beamer versions for both the
+ regular and the starred version. Furthermore, there
+ is an argument \option{cur} to restate the current
+ subtask (the one just given before). This is only
+ defined within the aforementioned group, i.e.,
+ throws an error after \lstinline|\end{subtasks}|.
+ \end{itemize}
+ \versitem[0.12.2:] 2022-10-20
+ \begin{itemize}
+ \item bugfix: \luadisp{dofile} with
+ \luadisp{kpse.find\_file}
+ \item docs: document option \option{fragile}
+ \end{itemize}
+ \versitem[0.12.1:] 2022-10-19
+ \begin{itemize}
+ \item bugfix for \lstinline|\begin{enumerate}[<+->]|
+ \end{itemize}
+ \versitem[0.12:] 2022-09-02
+ \begin{itemize}
+ \item new option \option{beamerwithfootline}
+ \end{itemize}
+ \versitem[0.11:] 2022-02-11
+ \begin{itemize}
+ \item Local references and the subex counter
+ \item Lua interface (not documented yet, see example and example file)
+ \item Framed solutions can now be fragile, however this
+ also requires Lua\LaTeX (but not using the Lua Interface).
+ \item beamer version is now included (no separate package)
+ \item some bug fixes
+ \end{itemize}
+\end{itemize}
+
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
+
+%%% Local IspellDict: british
diff --git a/macros/latex/contrib/exercisesheets/exercisesheets.sty b/macros/latex/contrib/exercisesheets/exercisesheets.sty
new file mode 100644
index 0000000000..34a68ce6a7
--- /dev/null
+++ b/macros/latex/contrib/exercisesheets/exercisesheets.sty
@@ -0,0 +1,1961 @@
+%% exercisesheets.sty
+%% Copyright 2008-2023 Sebastian Kuhnert, Frank Fuhlbrück
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in https://www.latex-project.org/lppl.txt and
+% version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Frank Fuhlbrück.
+%
+% This work consists of the files listed in README.
+
+
+%\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+
+% don't forget to update the version and date in exercisesheets.tex
+\def\exsh@version{0.17}
+\def\exsh@date{2024/04/23}
+
+\ProvidesPackage{exercisesheets}[\exsh@date\space\exsh@version\space Typesetting of exercise sheets]
+\message{`Typesetting of exercise sheets' \exsh@version\space <\exsh@date>}
+
+% TODO: fix "above hint skip"
+
+
+\RequirePackage{etoolbox}%[2008/06/28]
+\RequirePackage{scrlfile}
+\RequirePackage{environ}
+
+\RequirePackage{pgfkeys}
+\RequirePackage{keyval}
+\RequirePackage{kvoptions}
+
+\RequirePackage{ifthen}
+\RequirePackage{ifluatex}
+
+\RequirePackage{amsmath}
+
+\RequirePackage{currfile}
+\RequirePackage{catchfile}
+
+%we need getrefnumber
+\RequirePackage{refcount}
+
+% configuration keys
+
+\newif\ifexsh@beamer
+\@ifclassloaded{beamer}{\exsh@beamertrue}{}
+\newif\ifexsh@html
+\@ifclassloaded{tex4ht}{\exsh@htmltrue}{}
+\ifdefined\HCode
+ \exsh@htmltrue
+\fi
+\ifexsh@html
+ \def\exsh@inshtml#1{\HCode{#1}}
+\else
+ \def\exsh@inshtml#1{}
+\fi
+
+\newif\ifexsh@patchenumerate\exsh@patchenumeratetrue
+\newif\ifexsh@settitle\exsh@settitletrue
+\newif\ifexsh@patchpagenumbers\exsh@patchpagenumberstrue
+\newif\ifexsh@patchheadandfoot\exsh@patchheadandfoottrue
+\newif\ifexsh@usestartsection\exsh@usestartsectiontrue
+\newif\ifexsh@firstexonsheet
+\def\exsh@firstexonsheettrue{\global\let\ifexsh@firstexonsheet\iftrue}
+\def\exsh@firstexonsheetfalse{\global\let\ifexsh@firstexonsheet\iffalse}
+\newif\ifexsh@savetasks
+\newif\ifexsh@solutions
+\newif\ifexsh@oralsolutions
+\newif\ifexsh@nonoralsolutions
+\newif\ifexsh@samplesolutions
+\newif\ifexsh@exnumsheet
+\newif\ifexsh@forcesample %force printing sample sol. of wrong type
+%For beamer only
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifexsh@beamer
+\newif\ifexsh@beamerwithheadline
+\newif\ifexsh@beamerwithfootline
+\newif\ifexsh@beameruseblocks
+\newif\ifexsh@defersolutiontitle
+\newif\ifexsh@headerrestate
+\newif\ifexsh@framed
+\newif\ifexsh@fragile
+\fi
+%Also only true for beamer, but we want to use it elsewhere
+\newif\ifexsh@beamersolution
+%%
+\newif\ifexsh@gradingguides
+\newif\ifexsh@inplace
+\newif\ifexsh@sample
+\newif\ifexsh@hide%currently only set via sample in exercise env.
+\newif\ifexsh@pointsfloatright
+\newif\ifexsh@bonus
+\newif\ifexsh@abbrev
+\newif\ifexsh@sumuppoints
+\newif\ifexsh@filenameasexercisename
+\newif\ifexsh@showtodos
+\newif\ifexsh@beamercompatdone
+
+\def\exsh@beamercompatibility{
+\ifexsh@beamercompatdone
+ \PackageError{exercisesheets}{
+ beamercompatibility used twice}{}%
+\else
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+ %currently we do nothing if beamer is loaded,
+ %but this might change
+\else%--------- NON-BEAMER: ---------------------------------------
+ \let\pause\relax
+ \def\frame{}
+ \renewcommand{\frame}[1][]{}
+ \let\endframe\relax
+ \def\onslide<##1>{}
+ \def\only<##1>##2{##2}
+ \def\uncover<##1>##2{##2}
+ \def\visible<##1>##2{##2}
+ \def\invisible<##1>##2{##2}
+ \long\def\alt<##1>##2##3{##2}
+ \long\def\temporal<##1>##2##3##4{##3}
+ \let\exsh@origitem\item
+ \def\exsh@ovrlitem<##1>{\exsh@origitem}
+ \def\item{\@ifnextchar<\exsh@ovrlitem\exsh@origitem}
+ \let\exsh@origitemize\itemize
+ \def\exsh@ovrlitemize[##1]{\exsh@origitemize}
+ \def\itemize{\@ifnextchar[\exsh@ovrlitemize\exsh@origitemize}
+ \let\exsh@origenumerate\enumerate
+ \def\exsh@ovrlenumerate[##1]{\exsh@origenumerate}
+ \def\enumerate{\@ifnextchar[\exsh@ovrlenumerate\exsh@origenumerate}
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \exsh@beamercompatdonetrue
+\fi
+}
+
+\pgfkeys{/exsh/.is family,/exsh,
+ patchenumerate/.is if=exsh@patchenumerate,
+ patchenumerate/.default=true,
+ settitle/.is if=exsh@settitle,
+ settitle/.default=true,
+ patchpagenumbers/.is if=exsh@patchpagenumbers,
+ patchpagenumbers/.default=true,
+ usestartsection/.is if=exsh@usestartsection,
+ usestartsection/.default=true,
+ embedded/.code={%
+ \exsh@patchenumeratefalse
+ \exsh@settitlefalse
+ \exsh@patchpagenumbersfalse
+ \exsh@patchheadandfootfalse
+ \exsh@usestartsectionfalse
+ \pgfkeysalso{secnumdepth=keep}%
+ \def\exhs@sheetnoheader[##1]##2{}%
+ \newcounter{exshsheet}
+ \newcounter{exshexercise}
+ \pgfkeysalso{
+ sheet sectioning cmd=\exhs@sheetnoheader,
+ sheet counter=exshsheet,
+ exercise counter=exshexercise,
+ sheet start page action=\relax,
+ sheet end page action=\relax,
+ }%
+ },
+ minskips/.code={%
+ \pgfkeysalso{
+ above sheet title skip=0pt,
+ below sheet header skip=0pt,
+ above first exercise skip=0pt,
+ below exercise title skip=0pt,
+ }%
+ },
+ savetasks/.is if=exsh@savetasks,
+ savetasks/.default=true,
+ solutions/.is choice,
+ solutions/true/.code=\exsh@solutionstrue\exsh@oralsolutionstrue\exsh@nonoralsolutionstrue,
+ solutions/oral/.code=\exsh@solutionstrue\exsh@oralsolutionstrue\exsh@nonoralsolutionsfalse,
+ solutions/nonoral/.code=\exsh@solutionstrue\exsh@oralsolutionsfalse\exsh@nonoralsolutionstrue,
+ solutions/sample nonoral/.code=\exsh@solutionstrue\exsh@oralsolutionsfalse\exsh@nonoralsolutionstrue\exsh@samplesolutionstrue,
+ solutions/sample oral/.code=\exsh@solutionstrue\exsh@oralsolutionstrue\exsh@nonoralsolutionsfalse\exsh@samplesolutionstrue,
+ solutions/sample all/.code=\exsh@solutionstrue\exsh@oralsolutionstrue\exsh@nonoralsolutionstrue\exsh@samplesolutionstrue,
+ solutions/false/.code=\exsh@solutionsfalse\exsh@oralsolutionsfalse\exsh@nonoralsolutionsfalse,
+ solutions/.default=true,
+ number within sheet/.is if=exsh@exnumsheet,
+ number within sheet/.default=true,
+ forcesample/.is if=exsh@forcesample,
+ forcesample/.default=true,
+ gradingguides/.is if=exsh@gradingguides,
+ gradingguides/.default=true,
+ only/.initial={-},
+ all/.style={/exsh/only={-}},all/.value forbidden,
+ solutionsby/.code={\def\exsh@solutionsby{#1}},
+ solutionsby/.value required,
+ exercisespath/.code={\def\exsh@exercisespath{#1}},
+ exercisespath/.value required,
+ bonus/.is if=exsh@bonus,
+ bonus/.default=true,
+ inplace/.is if=exsh@inplace,
+ inplace/.default=true,
+ sample/.is if=exsh@sample,
+ sample/.default=true,
+ showtodos/.is if=exsh@showtodos,
+ showtodos/.default=true,
+ filenameasexercisename/.is if=exsh@filenameasexercisename,
+ filenameasexercisename/.default=true,
+ pointsfloatright/.is if=exsh@pointsfloatright,
+ pointsfloatright/.default=true,
+ abbrev/.is if=exsh@abbrev,
+ abbrev/.default=true,
+ beamercompatibility/.default={ignore},
+ beamercompatibility/.initial={ignore},
+ beamercompatibility/.code={\exsh@beamercompatibility}
+}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\pgfkeys{exsh,
+ beamerwithheadline/.is if=exsh@beamerwithheadline,
+ beamerwithheadline/.default=true,
+ beamerwithfootline/.is if=exsh@beamerwithfootline,
+ beamerwithfootline/.default=true,
+ beameruseblocks/.is if=exsh@beameruseblocks,
+ beameruseblocks/.default=true,
+ beamersolution/.is if=exsh@beamersolution,
+ beamersolution/.default=true,
+ defersolutiontitle/.is if=exsh@defersolutiontitle,
+ defersolutiontitle/.default=true,
+ headerrestate/.is if=exsh@headerrestate,
+ headerrestate/.default=true,
+ framed/.is if=exsh@framed,
+ framed/.default=true,
+ fragile/.is if=exsh@fragile,
+ fragile/.default=true,
+ beamersolution/.initial={false},
+ beamerwithheadline/.initial={false},
+ beamerwithfootline/.initial={false},
+ beameruseblocks/.initial={false},
+ defersolutiontitle/.initial={false},
+ headerrestate/.initial={false},
+ framed/.initial={false},
+}
+\else%--------- NON-BEAMER: ---------------------------------------
+\pgfkeys{exsh,
+ beamerwithheadline/.default={ignore},
+ beamerwithheadline/.initial={ignore},
+ beamerwithfootline/.default={ignore},
+ beamerwithfootline/.initial={ignore},
+ beamersolution/.default={ignore},
+ beamersolution/.initial={ignore},
+ defersolutiontitle/.default={ignore},
+ defersolutiontitle/.initial={ignore},
+ headerrestate/.default={ignore},
+ headerrestate/.initial={ignore},
+ framed/.default={ignore},
+ framed/.initial={ignore},
+ framed/.code={\let\newframe\relax},
+ fragile/.default={ignore},
+ fragile/.initial={ignore},
+}
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% store title data for sheet headers
+\ifundef\subject{% \subject is only provided by KOMA classes
+ \newcommand{\subject}[1]{}%
+ \def\@subject{}%
+}{}
+% beamer has subject, but not \@subject:
+\providecommand{\@subject}{}
+\apptocmd{\subject}{\pgfkeys{/exsh/subject={#1}}}{}{}%
+\ifdefempty{\@subject}{
+ \pgfkeys{exsh,subject/.initial={\PackageWarning{exercisesheets}{No \string\subject\space given}}}
+}{
+ \pgfkeys{/exsh/subject/.initial/.expand once=\@subject}
+}
+\ifdefstring{\@date}{\today}{
+ \pgfkeys{/exsh/semester/.initial={\PackageWarning{exercisesheets}{No semester given in \string\date}}}
+}{
+ \pgfkeys{/exsh/semester/.initial/.expand once=\@date}
+}
+\let\@exsh@origdate\date
+\renewcommand{\date}[1]{\@exsh@origdate{#1}\pgfkeys{/exsh/semester={#1}}}
+% this breaks (likely because of detokenization):
+% -> missing \begin{document}
+% \apptocmd{\date}{\pgfkeys{/exsh/semester={#1}}}{}{}
+\pgfkeys{/exsh/author/.code={%
+ \def\exsh@author{#1}%
+ \def\exsh@repeat{1}%
+ \loop\ifnum\exsh@repeat>0
+ \def\exsh@repeat{0}%
+ \patchcmd{\exsh@author}{\and}{, }{\def\exsh@repeat{1}}{}%
+ \repeat
+ },
+ /exsh/author/.expand once=\@author}
+\let\exsh@oldauthor\author
+\def\author#1{\exsh@oldauthor{#1}\pgfkeys{/exsh/author={#1}}}
+
+% helper macro for automatic language selection
+\newif\ifexsh@provideonly
+\def\exsh@deforprovide#1#2{%
+ \ifthenelse{\(\NOT\boolean{exsh@provideonly}\)
+ \OR \equal{}{\pgfkeysvalueof{#1}}}{%
+ \pgfkeys{#1=#2}%
+ }{}%
+}
+
+\pgfkeys{exsh,
+ %general package options
+ patchenumerate/.initial=true,
+ settitle/.initial=true,
+ patchpagenumbers/.initial=true,
+ custom skip macro/.initial=\exsh@skipcustomstuff,
+ showtodos/.initial={false},
+ hidetodos/.style={/exsh/showtodos=false},
+ hidetodos/.value forbidden,
+ % additional sheet info
+ title/.initial={},
+ date/.initial={},
+ note/.initial={},
+ exauthor/.initial={\exsh@author},
+ number within sheet/.initial={false},
+ %
+ % additional exercise info
+ name/.initial={},
+ forcesample/.initial={false},
+ firstline/.initial={},
+ points/.initial={},
+ oral/.style={/exsh/points=oral},oral/.value forbidden,
+ inplace/.initial={false},
+ sample/.initial={false},
+ filenameasexercisename/.initial={false},
+ pointsfloatright/.initial={false},
+ bonus/.initial={false},
+ nobonus/.style={/exsh/bonus=false},nobonus/.value forbidden,
+ abbrev/.initial={false},
+ noabbrev/.style={/exsh/abbrev=false},noabbrev/.value forbidden,
+ pointsinfo/.initial={},
+ optional/.style={/exsh/pointsinfo=\ifexsh@abbrev%
+ \pgfkeysvalueof{/exsh/strings/optional abbrev}%
+ \else%
+ \pgfkeysvalueof{/exsh/strings/optional}%
+ \fi},
+ optional/.value forbidden,
+ exercisemark/.initial={},
+ difficult/.style={/exsh/exercisemark=*},difficult/.value forbidden,
+ savetasks/.initial=false,
+}
+\pgfkeys{exsh,
+ %
+ % translatable strings
+ strings/sheet/.initial={},
+ strings/sheets/.initial={},
+ strings/solutions/.initial={},
+ strings/solutionsby/.initial={},
+ strings/gradingguide/.initial={},
+ strings/exercise/.initial={},
+ strings/solution/.initial={},
+ strings/idea/.initial={},
+ strings/hint/.initial={},
+ strings/remark/.initial={},
+ strings/oral/.initial={},
+ strings/oral abbrev/.initial={},
+ strings/point/.initial={},
+ strings/points/.initial={},
+ strings/points abbrev/.initial={},
+ strings/bonus point/.initial={},
+ strings/bonus points/.initial={},
+ strings/bonus points abbrev/.initial={},
+ strings/optional/.initial={},
+ strings/optional abbrev/.initial={},
+ %
+ % languages: predifined string sets
+ language/.is choice,
+ language/german/.code={%
+ \exsh@deforprovide{/exsh/strings/sheet} {\"Ubungsblatt}%
+ \exsh@deforprovide{/exsh/strings/sheets} {\"Ubungsbl\"atter}%
+ \exsh@deforprovide{/exsh/strings/solutions} {L\"osungsvorschl\"age}%
+ \exsh@deforprovide{/exsh/strings/solutionsby} {L\"osungen von}%
+ \exsh@deforprovide{/exsh/strings/gradingguide}{Bepunktung}%
+ \exsh@deforprovide{/exsh/strings/exercise} {Aufgabe}%
+ \exsh@deforprovide{/exsh/strings/solution} {L\"osung}%
+ \exsh@deforprovide{/exsh/strings/idea} {L\"osungsidee}%
+ \exsh@deforprovide{/exsh/strings/hint} {Hinweis}%
+ \exsh@deforprovide{/exsh/strings/remark} {Bemerkung}%
+ \exsh@deforprovide{/exsh/strings/oral} {m\"undlich}%
+ \exsh@deforprovide{/exsh/strings/oral abbrev} {mdl.}%
+ \exsh@deforprovide{/exsh/strings/point} {Punkt}%
+ \exsh@deforprovide{/exsh/strings/points} {Punkte}%
+ \exsh@deforprovide{/exsh/strings/points abbrev}{P.}%
+ \exsh@deforprovide{/exsh/strings/bonus point} {Zusatzpunkt}%
+ \exsh@deforprovide{/exsh/strings/bonus points}{Zusatzpunkte}%
+ \exsh@deforprovide{/exsh/strings/bonus points abbrev}{ZP.}%
+ \exsh@deforprovide{/exsh/strings/optional} {optional}%
+ \exsh@deforprovide{/exsh/strings/optional abbrev} {opt.}%
+ },language/german/.value forbidden,
+ language/ngerman/.style={/exsh/language/german=#1},
+ language/english/.code={%
+ \exsh@deforprovide{/exsh/strings/sheet} {Exercise Sheet}%
+ \exsh@deforprovide{/exsh/strings/sheets} {Exercise Sheets}%
+ \exsh@deforprovide{/exsh/strings/solutions} {Suggested Solutions}%
+ \exsh@deforprovide{/exsh/strings/solutionsby} {Solutions by}%
+ \exsh@deforprovide{/exsh/strings/gradingguide}{Grading guideline}%
+ \exsh@deforprovide{/exsh/strings/exercise} {Exercise}%
+ \exsh@deforprovide{/exsh/strings/solution} {Solution}%
+ \exsh@deforprovide{/exsh/strings/idea} {Idea for solution}%
+ \exsh@deforprovide{/exsh/strings/hint} {Hint}%
+ \exsh@deforprovide{/exsh/strings/remark} {Remark}%
+ \exsh@deforprovide{/exsh/strings/oral} {oral}%
+ \exsh@deforprovide{/exsh/strings/oral abbrev} {oral}%
+ \exsh@deforprovide{/exsh/strings/point} {point}%
+ \exsh@deforprovide{/exsh/strings/points} {points}%
+ \exsh@deforprovide{/exsh/strings/points abbrev}{p.}%
+ \exsh@deforprovide{/exsh/strings/bonus point} {bonus point}%
+ \exsh@deforprovide{/exsh/strings/bonus points}{bonus points}%
+ \exsh@deforprovide{/exsh/strings/bonus points abbrev}{b.p.}%
+ \exsh@deforprovide{/exsh/strings/optional} {optional}%
+ \exsh@deforprovide{/exsh/strings/optional abbrev} {opt.}%
+ },language/english/.value forbidden,
+ language/.unknown/.code={%
+ \PackageWarning{exercisesheets}{Unknown language \pgfkeyscurrentname.
+ Defaulting to English.}{}%
+ \pgfkeys{/exsh/language=english}%
+ },
+ %
+ % alternate strings
+ idea/.style={/exsh/strings/solution=\pgfkeysvalueof{/exsh/strings/idea}},
+ remark/.style={/exsh/strings/hint=\pgfkeysvalueof{/exsh/strings/remark}},
+ %
+ % hooks
+ every sheet/.code={},
+ every exercise/.code={},
+ every solution/.code={},
+ every hint/.code={},
+ %
+ % sectioning cmds and counters for sheet and exercise
+ % sheet sectioning cmd must take an optional
+ % and a mandatory argument
+ sheet sectioning cmd/.initial={\part},
+ sheet counter/.initial={part},
+ secnumdepth/.initial={-1},
+ exercise counter/.initial={section},
+ %
+ % font specifications
+ sheet header font/.initial=\normalfont\normalsize,
+ subject font/.initial=\scshape,
+ author font/.initial=\scshape,
+ semester font/.initial={},
+ date font/.initial={},
+ solutionsby font/.initial=\itshape,
+ sheet note font/.initial=\itshape\bfseries,
+ sheet title font/.initial=\Large\bfseries,
+ exercise title font/.initial=\bfseries,
+ points font/.initial=\itshape,
+ main task font/.initial={},
+ subtask font/.initial={},
+ task restate font/.initial=\itshape,
+ hint font/.initial={},
+ hint title font/.initial=\itshape,
+ solution font/.initial={},
+ solution title font/.initial=\bfseries,
+ solution title separator/.initial={:\par},
+ grading guide font/.initial=\itshape,
+ todo marker font/.initial=\ifdef{\color}{\color{red}}{}\bfseries,
+ %
+ % skip values
+ below slide headline skip/.initial={0mm},
+ above sheet title skip/.initial={4ex},
+ above sheet note skip/.initial={.7ex},
+ above solutionsby skip/.initial={1ex},
+ below sheet header skip/.initial={4ex plus 1ex minus .5ex},
+ above exercise skip/.initial={3ex plus 1ex minus .5em},
+ above first exercise skip/.initial={3ex plus 1ex minus .5em},
+ below exercise title skip/.initial={\parskip},
+ above solution skip/.initial={1ex},
+ above hint skip/.initial={1ex},
+ %
+ % page handling
+ sheet start page action/.initial={\clearpage},
+ sheet end page action/.initial={\clearpage},
+ %
+ % conditionals
+ ifsolutions/.code 2 args={\ifsolutions{\pgfkeysalso{#1}}{\pgfkeysalso{#2}}},
+ iforalsolutions/.code 2 args={\iforalsolutions{\pgfkeysalso{#1}}{\pgfkeysalso{#2}}},
+ ifnonoralsolutions/.code 2 args={\ifnonoralsolutions{\pgfkeysalso{#1}}{\pgfkeysalso{#2}}},
+}
+
+% default values
+\pgfkeys{exsh,solutions=false,all}
+
+% process package options
+\@expandtwoargs\pgfqkeys{/exsh}{\csname opt@exercisesheets.sty\endcsname}
+
+% mark options as processed
+\expandafter\undef\csname opt@exercisesheets.sty\endcsname
+
+% allow further keys to be set
+\def\exshset#1{\pgfkeys{exsh,#1}}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-ONLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\define@key{beamerframe}{t}[true]{% top
+ \beamer@frametopskip=-2pt\relax%
+ \beamer@framebottomskip=0pt plus 1fill\relax%
+ \beamer@frametopskipautobreak=\beamer@frametopskip\relax%
+ \beamer@framebottomskipautobreak=\beamer@framebottomskip\relax%
+}
+\fi
+%%%%%%%%%%%%%%% END BEAMER-ONLY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% automatic language selection
+\AfterEndPreamble{%
+ \exsh@provideonlytrue
+ \ifdef{\bbl@main@language}{%
+ \pgfkeys{/exsh/language=\bbl@main@language}%
+ }{%
+ \pgfkeys{/exsh/language=english}%
+ }%
+ \exsh@provideonlyfalse
+}%
+
+% range checks
+\newif\ifexsh@isinrange
+\newif\ifexsh@singularrange
+\def\exsh@checkrange#1{%
+ \edef\exsh@range@entry{#1}%
+ \def\exsh@range@curstart{}%
+ \exsh@isinrangefalse
+ \exsh@singularrangetrue
+ \pgfkeysgetvalue{/exsh/only}{\exsh@temp}%
+ \ifthenelse{\equal{-}{\exsh@temp}}{%
+ \exsh@isinrangetrue
+ \ifnumequal{\exsh@lastsheet}{1}{%
+ \exsh@singularrangetrue
+ }{%
+ \exsh@singularrangefalse
+ }%
+ }{%
+ \expandafter\exsh@range@parsestart\exsh@temp\exsh@range@end
+ }%
+}
+\def\exsh@range@parsestart#1{%
+ \ifstrequal{#1}{,}{%
+ \exsh@singularrangefalse
+ \ifdefstring{\exsh@range@curstart}{last}{%
+ \let\exsh@range@curstart\exsh@lastsheet
+ }{}%
+ \ifdefequal{\exsh@range@entry}{\exsh@range@curstart}{%
+ \exsh@isinrangetrue
+ }{}%
+ \def\exsh@range@curstart{}%
+ \exsh@range@parsestart
+ }{%
+ \ifstrequal{#1}{\exsh@range@end}{%
+ \ifdefstring{\exsh@range@curstart}{last}{%
+ \let\exsh@range@curstart\exsh@lastsheet
+ }{}%
+ \ifdefequal{\exsh@range@entry}{\exsh@range@curstart}{%
+ \exsh@isinrangetrue
+ }{}%
+ }{%
+ \ifdefequal{#1}{-}{%
+ \exsh@singularrangefalse
+ \ifdefstring{\exsh@range@curstart}{}{%
+ \def\exsh@range@curstart{0}%
+ }{}%
+ \ifdefstring{\exsh@range@curstart}{last}{%
+ \let\exsh@range@curstart\exsh@lastsheet
+ }{}%
+ \def\exsh@range@curend{}%
+ \exsh@range@parseend
+ }{%
+ \appto{\exsh@range@curstart}{#1}%
+ \exsh@range@parsestart
+ }%
+ }%
+ }%
+}
+\def\exsh@range@parseend#1{%
+ \ifstrequal{#1}{,}{%
+ \ifdefstring{\exsh@range@curend}{last}{%
+ \def\exsh@range@curend{10000}%
+ }{}%
+ \ifdefstring{\exsh@range@curend}{}{
+ \def\exsh@range@curend{10000}%
+ }{}%
+ \ifthenelse{\NOT \(\exsh@range@curstart > \exsh@range@entry
+ \OR \exsh@range@entry > \exsh@range@curend\)}{%
+ \exsh@isinrangetrue
+ }{}%
+ \def\exsh@range@curstart{}%
+ \exsh@range@parsestart
+ }{%
+ \ifstrequal{#1}{\exsh@range@end}{%
+ \ifdefstring{\exsh@range@curend}{last}{%
+ \def\exsh@range@curend{10000}%
+ }{}%
+ \ifdefstring{\exsh@range@curend}{}{
+ \def\exsh@range@curend{10000}%
+ }{}%
+ \ifthenelse{\NOT \(\exsh@range@curstart > \exsh@range@entry
+ \OR \exsh@range@entry > \exsh@range@curend\)}{%
+ \exsh@isinrangetrue
+ }{%
+ }%
+ }{%
+ \appto{\exsh@range@curend}{#1}%
+ \exsh@range@parseend
+ }%
+ }%
+}
+
+% remember last sheet (for range checks)
+\def\exsh@lastsheet{0}% to be overridden in aux file
+\AtEndDocument{%
+ \immediate\write\@auxout{\string\gdef\string\exsh@lastsheet{\arabic{\pgfkeysvalueof{/exsh/sheet counter}}}}%
+}
+
+\ifexsh@patchpagenumbers
+ \numberwithin{page}{\pgfkeysvalueof{/exsh/sheet counter}}
+ \renewcommand{\thepage}{\arabic{page}}%changed for every sheet
+\fi
+\ifthenelse{\equal{\pgfkeysvalueof{/exsh/secnumdepth}}{keep}}{}{
+ \setcounter{secnumdepth}{\pgfkeysvalueof{/exsh/secnumdepth}}
+}
+
+\AfterPackage*{hyperref}{%
+ % make PDF destinations unique:
+ \def\theHsection{\arabic{sheetid}.\arabic{\pgfkeysvalueof{/exsh/exercise counter}}}%
+ \ifexsh@patchpagenumbers
+ \def\theHpage{\arabic{sheetid}-\arabic{page}}%
+ \fi
+ %
+ % open bookmarks when typesetting a single sheet
+ \AtEndPreamble{%
+ \exsh@checkrange{0}%
+ \ifexsh@singularrange\hypersetup{bookmarksopen}\fi
+ }%
+}
+
+
+\ifexsh@settitle
+% automatic title selection
+\let\exsh@title\relax
+\let\exsh@title@new\relax
+\def\exsh@write@title#1{%
+ \xdef\exsh@title@new{\expandonce #1}%
+ \protected@write\@auxout{}{\string\gdef\string\exsh@title{\expandonce\exsh@title@new}}%
+}
+\AfterEndDocument{%
+ \ifthenelse{\equal{\exsh@title}{\exsh@title@new}}{}{%
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ }%
+}
+\AfterEndPreamble{%
+ \exsh@checkrange{0}%
+ \ifexsh@singularrange\else
+ \pgfkeysgetvalue{/exsh/strings/sheets}{\exsh@tmp}%
+ \exsh@write@title{\exsh@tmp}%
+ \fi
+}
+
+
+\AtBeginDocument{%
+ \ifexsh@solutions
+ \title{\exsh@title: \pgfkeysvalueof{/exsh/strings/solutions}}%
+ \else
+ \title{\exsh@title}
+ \fi
+}
+\else
+ \def\exsh@write@title#1{}
+\fi
+
+\newcounter{sheetid}% only used to disambiguate hyperref labels
+\newenvironment{sheet}[1][]{%
+ \pgfkeys{exsh,every sheet,#1}%
+% \pgfkeysvalueof{/exsh/sheet start page action}%
+ \stepcounter{sheetid}%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/title}}}{%
+ \numdef\exsh@tmp{\value{\pgfkeysvalueof{/exsh/sheet counter}}+1}%
+ \edef\exsh@temp{\expandonce{\pgfkeysvalueof{/exsh/strings/sheet}}\noexpand~\exsh@tmp}%
+ \pgfkeys{/exsh/title/.expand once={\exsh@temp}}%
+ \ifexsh@patchpagenumbers
+ \def\thepage{\arabic{\pgfkeysvalueof{/exsh/sheet counter}}-\arabic{page}}%
+ \fi
+ }{%
+ \ifexsh@patchpagenumbers
+ \def\thepage{\arabic{page}}%
+ \fi
+ }%
+ \ifexsh@exnumsheet
+ \edef\exsh@exnumstore{\arabic{\pgfkeysvalueof{/exsh/exercise counter}}}
+ \setcounter{\pgfkeysvalueof{/exsh/exercise counter}}{0}%
+ \fi
+ \numdef\exsh@tmp{\value{\pgfkeysvalueof{/exsh/sheet counter}}+1}%
+ \exsh@checkrange{\exsh@tmp}%
+ \ifexsh@isinrange
+ \ifexsh@singularrange
+ \pgfkeysgetvalue{/exsh/title}{\exsh@temp}%
+ \exsh@write@title{\exsh@temp}%
+ \fi
+ \exsh@sheethead
+ \else
+ \refstepcounter{\pgfkeysvalueof{/exsh/sheet counter}}%
+ \def\exsh@skipwhat{sheet}\expandafter\exsh@skipstuff
+ \fi
+}{%
+ \par
+ \begingroup
+ \ifnum\value{page}=1\thispagestyle{empty}\fi
+ \ifexsh@isinrange
+ \pgfkeysvalueof{/exsh/sheet end page action}%
+ \fi
+ \endgroup
+ \ifexsh@exnumsheet
+ \setcounter{\pgfkeysvalueof{/exsh/exercise counter}}{\exsh@exnumstore}%
+ \fi
+}
+\listadd{\exsh@enums}{enumerate}
+\listadd{\exsh@enums}{compactenum}
+\listadd{\exsh@enums}{asparaenum}
+\listadd{\exsh@enums}{inparaenum}
+\listadd{\exsh@enums}{subtasks}
+\listadd{\exsh@nonenums}{itemize}
+\listadd{\exsh@nonenums}{compactitem}
+\listadd{\exsh@nonenums}{asparaitem}
+\listadd{\exsh@nonenums}{inparaitem}
+\listadd{\exsh@nonenums}{description}
+\listadd{\exsh@nonenums}{compactdesc}
+\listadd{\exsh@nonenums}{asparadesc}
+\listadd{\exsh@nonenums}{inparadesc}
+\listadd{\exsh@nonenums}{asparablank}
+\listadd{\exsh@nonenums}{inparablank}
+\listadd{\exsh@nonenums}{list}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+ \let\exsh@hyper@itemtrue\relax
+\else%--------- NON-BEAMER: ---------------------------------------
+ \ifexsh@html
+ \let\exsh@hyper@itemtrue\relax%
+ \else
+ \def\exsh@hyper@itemtrue{\@hyper@itemtrue}%
+ \fi
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%TODO: We need some proper switch-case here
+%evaluate csname/csdef+detokenize
+\ExplSyntaxOn
+\cs_new_eq:NN \exsh@ifsingletoken \tl_if_single_token:nTF
+\ExplSyntaxOff
+\long\def\exsh@skipstuff#1{%
+ \exsh@ifsingletoken{#1}{%
+ \ifstrequal{#1}{\begin}{\exsh@skipstuff@begin}{%
+ \ifstrequal{#1}{\end}{\exsh@skipstuff@end}{%
+ \ifstrequal{#1}{\includeexercise}{\exsh@skipstuff@incex}{%
+ \ifstrequal{#1}{\includeLexercise}{\exsh@skipstuff@incLex}{%
+ \ifstrequal{#1}{\label}{\exsh@skipstuff@label}{%
+ \ifstrequal{#1}{\subtask}{\exsh@skipstuff@subtask}{%
+ \ifstrequal{#1}{\input}{\exsh@skipstuff@input}{%
+ \ifstrequal{#1}{\exsh@skipstuff@endfile}{\currfile@pop\exsh@skipstuff}{%
+ \ifstrequal{#1}{\setcounter}{\expandafter\exsh@skipstuff\setcounter}{%
+ \ifstrequal{#1}{\item}{\ifdef{\@enumctr}{\exsh@hyper@itemtrue\refstepcounter{\@enumctr}}{}}{}%
+ \pgfkeysvalueof{/exsh/custom skip macro}{#1}}}}}}}}}}%
+ }{%
+ \exsh@skipstuff#1%
+ }%
+}%
+\let\exshskipcontinue\exsh@skipstuff
+\long\def\exsh@skipcustomstuff#1{\exshskipcontinue}
+\def\exsh@skipstuff@end#1{%
+ \expandafter\ifstrequal\expandafter{\exsh@skipwhat}{#1}{%
+ \expandafter\end\expandafter{\exsh@skipwhat}%
+ \let\exsh@skipwhat\relax%
+ }{
+ \endgroup\exsh@skipstuff%
+ }%
+}
+\def\exsh@skipstuff@begin#1{%
+ \begingroup
+ \ifstrequal{#1}{Lexercise}{\exsh@skipstuff@Lexercise}{%
+ \ifstrequal{#1}{exercise}{\refstepcounter{\pgfkeysvalueof{/exsh/exercise counter}}%
+ % automatic label for the first exercise in every included file
+ \ifthenelse{\equal{\jobname}{\currfilebase}}{}{%
+ \ifcsdef{exsh@autolabel@\currfilebase}{}{%
+ \csdef{exsh@autolabel@\currfilebase}{}%
+ \exsh@autolabel{ex:\currfilebase}}}%
+ }{}%
+ \ifinlist{#1}{\exsh@enums}{%
+ \exsh@skipstuff@beginenum
+ }{%
+ \ifinlist{#1}{\exsh@nonenums}{%
+ \undef\@enumctr
+ }{}%
+ \exsh@skipstuff
+ }%
+ }%
+}
+\def\exsh@skipstuff@beginenum{%
+ \ifnum\@enumdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \setcounter{\@enumctr}{0}%
+ \fi
+ \@ifundefined{@enumlabel@}{%
+ \exsh@skipstuff
+ }{%
+ \@ifnextchar[{\@enumlabel@{\exsh@skipstuff}[}{\exsh@skipstuff}%
+ }%
+}
+\def\exsh@skipstuff@label#1{%
+ % Locally modify \protected@write to use \immediate\write instead.
+ % This is needed to include labels after the last shipout in the aux file.
+ \begingroup
+ \def\protected@write##1##2##3{%
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \immediate\write##1{##3}%
+ \endgroup
+ }%
+ \label{#1}%
+ \endgroup
+ \exsh@skipstuff
+}
+\def\exsh@skipstuff@subtask#1{%
+ \exsh@skipstuff \item #1
+}
+\def\exsh@skipstuff@input#1{%
+ \CatchFileDef{\exsh@inputfilecontent}{#1}{}%
+ \currfile@push
+ \currfile@set{#1}%
+ \expandafter\exsh@skipstuff\exsh@inputfilecontent\exsh@skipstuff@endfile
+}
+
+\def\exsh@skipstuff@incex{%
+ \@ifstar\exsh@skipstuff@incex@@\exsh@skipstuff@incex@%
+}
+
+\newcommand{\exsh@skipstuff@incex@}[2][]{%
+ \exsh@skipstuff\input{%
+ \ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}#2}%
+}
+
+\newcommand{\exsh@skipstuff@incex@@}[2][]{%
+ \refstepcounter{\pgfkeysvalueof{/exsh/exercise counter}}
+ \exsh@autolabel{ex:#2}
+ \exsh@skipstuff
+}
+
+\def\exsh@skipstuff@incLex{%
+ \@ifstar\exsh@skipstuff@incLex@@\exsh@skipstuff@incLex@%
+}
+
+\newcommand{\exsh@skipstuff@incLex@}[2][]{%
+ \exsh@dlua{
+ local prefix =
+ "\ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}"
+ exsh_cur_exercise=dofile(prefix .. "#2.lua")
+ }%
+ \expandafter\exsh@skipstuff%
+ \exsh@dlua{exsh_texprintlines(exsh_cur_exercise)}%
+}
+
+\let\exsh@skipstuff@incLex@@\exsh@skipstuff@incex@@
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\def\exsh@sheethead{%
+ \pgfkeysvalueof{/exsh/sheet start page action}%
+ \pgfkeysgetvalue{/exsh/title}{\exsh@tmp}%
+ \ifexsh@solutions
+ \expandafter\edef\expandafter\exsh@tmp{\expandonce\exsh@tmp:\noexpand~\pgfkeysvalueof{/exsh/strings/solutions}}%
+ \fi
+ \refstepcounter{\pgfkeysvalueof{/exsh/sheet counter}}%
+ \begin{frame}
+ \begin{block}{}
+ \centering\Large\exsh@tmp
+ \end{block}
+ \begingroup
+ \pgfkeysvalueof{/exsh/sheet header font}%
+ \ifexsh@solutions%
+ \ifdefvoid{\exsh@solutionsby}{}{%
+ \begingroup
+ \begin{block}{}
+ \pgfkeysvalueof{/exsh/solutionsby font}%
+ \vskip\pgfkeysvalueof{/exsh/above solutionsby skip}%
+ \relax%
+ \pgfkeysvalueof{/exsh/strings/solutionsby}%
+ ~\exsh@solutionsby\\\unskip%
+ \end{block}%
+ \endgroup
+ }%
+ \else
+ \fi
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/note}}}{%
+ }{%
+ \ifbool{exsh@samplesolutions}{}{%
+ \begingroup
+ \begin{block}{}
+ \pgfkeysvalueof{/exsh/sheet note font}%
+ \vskip\pgfkeysvalueof{/exsh/above sheet note skip}\relax
+ \pgfkeysvalueof{/exsh/note}\\\unskip%
+ \end{block}%
+ \endgroup
+ }%
+ }%
+ \endgroup
+% \stepcounter{page}%
+ \end{frame}
+}
+\global\def\exsh@alignright#1{\hfill #1}%
+\else%--------- NON-BEAMER: ---------------------------------------
+\ifexsh@html
+% \global\def\exsh@part[#1]#2{#2}
+% \exshset{sheet sectioning cmd/.initial={\exsh@part}}
+ \global\def\exsh@alignright#1{%
+ \exsh@inshtml{<span style="float:right">}#1%
+ \exsh@inshtml{</span>}
+ }
+ \global\def\exsh@centering#1{%
+ \exsh@inshtml{<span style="display: block;text-align:center">}#1%
+ \exsh@inshtml{</span>}
+ }
+\else
+ \global\def\exsh@alignright#1{\hfill #1}%
+ \global\def\exsh@centering#1{\centering #1}
+\fi
+\def\exsh@sheethead{%
+ \pgfkeysvalueof{/exsh/sheet start page action}%
+ \pgfkeysgetvalue{/exsh/title}{\exsh@tmp}%
+ \ifexsh@solutions
+ \expandafter\edef\expandafter\exsh@tmp{\expandonce\exsh@tmp:\noexpand~\pgfkeysvalueof{/exsh/strings/solutions}}%
+ \fi
+ \refstepcounter{\pgfkeysvalueof{/exsh/sheet counter}}%
+ \pgfkeysvalueof{/exsh/sheet sectioning cmd}[\pgfkeysvalueof{/exsh/title}]{\normalsize
+ \pgfkeysvalueof{/exsh/sheet header font}%
+ \begingroup\raggedright%
+ {\pgfkeysvalueof{/exsh/subject font}\pgfkeysvalueof{/exsh/subject}}%
+ \exsh@alignright{\pgfkeysvalueof{/exsh/semester font}%
+ \pgfkeysvalueof{/exsh/semester}%
+ }\\
+ {\pgfkeysvalueof{/exsh/author font}\exsh@author}%
+ \exsh@alignright{
+ \pgfkeysvalueof{/exsh/date font}\pgfkeysvalueof{/exsh/date}%
+ }\\
+ \vskip\pgfkeysvalueof{/exsh/above sheet title skip}\relax%
+ \endgroup
+ \begingroup
+ \exsh@centering{\pgfkeysvalueof{/exsh/sheet title font}\exsh@tmp\\}\unskip
+ \endgroup
+ \begingroup
+ \pgfkeysvalueof{/exsh/sheet header font}%
+ \ifexsh@solutions%
+ \ifdefvoid{\exsh@solutionsby}{}{%
+ \begingroup
+ \pgfkeysvalueof{/exsh/solutionsby font}%
+ \vskip\pgfkeysvalueof{/exsh/above solutionsby skip}\relax
+ \exsh@centering{\pgfkeysvalueof{/exsh/strings/solutionsby}~\exsh@solutionsby\\}\unskip%
+ \endgroup
+ }%
+ \else
+ \fi
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/note}}}{%
+ }{%
+ \ifbool{exsh@samplesolutions}{}{%
+ \begingroup
+ \pgfkeysvalueof{/exsh/sheet note font}%
+ \vskip\pgfkeysvalueof{/exsh/above sheet note skip}\relax
+ \exsh@centering{\pgfkeysvalueof{/exsh/note}\\}\unskip%
+ \endgroup
+ }%
+ }%
+ \endgroup
+ }%
+ \ifdim\z@=\pgfkeysvalueof{/exsh/below sheet header skip}\relax
+ \vskip-\parskip
+ \else
+ \unskip\vskip\pgfkeysvalueof{/exsh/below sheet header skip}\relax
+ \fi
+% \unskip
+% \vskip\pgfkeysvalueof{/exsh/below sheet header skip}\relax
+ \exsh@firstexonsheettrue
+ \ifexsh@patchpagenumbers%
+ \stepcounter{page}%
+ \fi
+}%
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifdef{\othersectionslevelsformat}{%
+ \renewcommand{\othersectionlevelsformat}[1]{%
+ \ifstrequal{#1}{section}%
+ {}%
+ {\csname the#1\endcsname\autodot\enskip}}%
+}{}
+
+%Do not use \let here as \label may change before its use
+\def\exsh@autolabel{\label}
+\def\inexlabel{\label}
+
+\newcounter{exsh@pts@cur}
+\newcounter{exsh@ptsbonus@cur}
+\newenvironment*{exercise}[1][]{%
+ % TODO: \edef is not safe with luatex and umlauts, only fixed for "oral" for now
+ % TODO: check whether the TODO above is still relevant
+ %\edef seams to work fine with lualatex from TeXLive 2020
+ \pgfkeys{exsh,every exercise,#1,includeoverride}%
+ \ifthenelse{\equal{sum}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifcsname exsh@sumpts@\the\numexpr\arabic{\pgfkeysvalueof{/exsh/exercise counter}}+1\endcsname
+ \edef\exsh@sumpts{%
+ \csname exsh@sumpts@\the\numexpr\arabic{\pgfkeysvalueof{/exsh/exercise counter}}+1%
+ \endcsname%
+ }%
+ \edef\exsh@sumptsbonus{%
+ \csname exsh@sumptsbonus@\the\numexpr\arabic{\pgfkeysvalueof{/exsh/exercise counter}}+1%
+ \endcsname%
+ }%
+ \ifnumequal{\exsh@sumpts}{0}{%
+ \ifnumequal{\exsh@sumptsbonus}{0}{}{%
+ \edef\exsh@sumpts{\exsh@sumptsbonus}%
+ \exshset{bonus}%
+ }%
+ }{%
+ \ifnumequal{\exsh@sumptsbonus}{0}{}{%
+ \edef\exsh@sumpts{\exsh@sumpts+\exsh@sumptsbonus}%
+ }%
+ }%
+ \else%
+ \def\exsh@sumpts{??}%
+ \fi%
+ \exshset{points/.expanded={\exsh@sumpts}}
+ \setcounter{exsh@pts@cur}{0}
+ \setcounter{exsh@ptsbonus@cur}{0}
+ \exsh@sumuppointstrue%
+ }{%
+ \exsh@sumuppointsfalse%
+ }%
+ \ifthenelse{\equal{off}{\pgfkeysvalueof{/exsh/points}}}{%
+ \def\exsh@points{}%
+ \def\exsh@shortpoints{}%
+ }{%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/points}}}{%
+ \edef\exsh@points{\pgfkeysvalueof{/exsh/pointsinfo}}%
+ }{%
+ \ifthenelse{\equal{oral}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifexsh@abbrev%
+ \pgfkeysgetvalue{/exsh/strings/oral abbrev}{\exsh@points}%
+ \else%
+ \pgfkeysgetvalue{/exsh/strings/oral}{\exsh@points}%
+ \fi%
+ }{%
+ \ifexsh@abbrev%
+ \ifexsh@bonus%
+ \edef\exsh@points{\pgfkeysvalueof{/exsh/points} \pgfkeysvalueof{/exsh/strings/bonus points abbrev}}%
+ \else%
+ \edef\exsh@points{\pgfkeysvalueof{/exsh/points} \pgfkeysvalueof{/exsh/strings/points abbrev}}%
+ \fi%
+ \else%
+ \ifthenelse{\equal{1}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifexsh@bonus%
+ \edef\exsh@points{1 \pgfkeysvalueof{/exsh/strings/bonus point}}%
+ \else%
+ \edef\exsh@points{1 \pgfkeysvalueof{/exsh/strings/point}}%
+ \fi%
+ }{%
+ \ifexsh@bonus%
+ \edef\exsh@points{\pgfkeysvalueof{/exsh/points} \pgfkeysvalueof{/exsh/strings/bonus points}}%
+ \else%
+ \edef\exsh@points{\pgfkeysvalueof{/exsh/points} \pgfkeysvalueof{/exsh/strings/points}}%
+ \fi%
+ }%
+ \fi%
+ }%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/pointsinfo}}}{}{%
+ \edef\exsh@points{\expandonce\exsh@points, \pgfkeysvalueof{/exsh/pointsinfo}}%
+ }%
+ }%
+ \ifthenelse{\equal{}{\exsh@points}}{%
+ \def\exsh@shortpoints{}%
+ }{%
+ \edef\exsh@shortpoints{ (\expandonce\exsh@points)}%
+ }%
+% \preto\exsh@points{
+% \exsh@inshtml{<span style="float:right">}\hfill
+% \enskip\exsh@alignright\bgroup%
+% \pgfkeysvalueof{/exsh/points font}}%
+% \appto\exsh@points{\egroup\exsh@inshtml{</span>}}%
+ \edef\exsh@points{\exsh@alignright{%
+ \pgfkeysvalueof{/exsh/points font}\expandonce\exsh@points
+ }}
+ }%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/firstline}}}{%
+ \def\exsh@firstline{}%
+ }{%
+ \def\exsh@firstline{\pgfkeysvalueof{/exsh/firstline}}%
+ \preto\exsh@firstline{\quad\bgroup\normalfont\normalsize}%
+ \appto\exsh@firstline{\egroup}%
+ }%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/name}}}{%
+ \def\exsh@exname{}%
+ \def\exsh@shortexname{}%
+ }{%
+ \edef\exsh@exname{\space(\pgfkeysvalueof{/exsh/name})}%
+ \edef\exsh@shortexname{:\space\pgfkeysvalueof{/exsh/name}}%
+ }%
+ \refstepcounter{\pgfkeysvalueof{/exsh/exercise counter}}%
+ \edef\exsh@tmp{[\pgfkeysvalueof{/exsh/strings/exercise} \arabic{\pgfkeysvalueof{/exsh/exercise counter}}\exsh@shortexname\expandonce\exsh@shortpoints]}%
+ \ifbool{exsh@samplesolutions}{\ifbool{exsh@sample}{\exsh@hidefalse}{\exsh@hidetrue}}{\exsh@hidefalse}%
+ \ifbool{exsh@hide}{%
+ \def\exsh@skipwhat{exercise}\exsh@skipstuff%
+ }{%
+ \expandafter\exsh@startheader\exsh@tmp{\noindent%
+ \hbox to 0pt{\hss\pgfkeysvalueof{/exsh/exercisemark}}%
+ \pgfkeysvalueof{/exsh/strings/exercise}~\arabic{\pgfkeysvalueof{/exsh/exercise counter}}\exsh@exname\exsh@firstline\expandonce\exsh@points}%
+ \ifdim\z@=\pgfkeysvalueof{/exsh/below exercise title skip}\relax
+ \vskip-\parskip
+ \else
+ \unskip\vskip\pgfkeysvalueof{/exsh/below exercise title skip}\relax
+ \fi
+ \@afterindentfalse
+ % automatic label for the first exercise in every included file
+ \ifthenelse{\equal{\jobname}{\currfilebase}}{}{%
+ \ifcsdef{exsh@autolabel@\currfilebase}{}{%
+ \csdef{exsh@autolabel@\currfilebase}{}%
+ \exsh@autolabel{ex:\currfilebase}}}%
+ % Use \leavevmode to ensure proper distances above environments that start
+ % with a new \par. Make sure that a \label does not mess up the layout.
+ \@ifnextchar\label{\exsh@label}{\leavevmode\ignorespaces}%
+ }%
+}{%
+ %before writing point sums check that we actually computed them
+ \ifexsh@sumuppoints%
+ \immediate\write\@auxout{
+ \string\expandafter\gdef%
+ \detokenize{\csname} exsh@sumpts@\arabic{\pgfkeysvalueof{/exsh/exercise counter}}\endcsname{%
+ \arabic{exsh@pts@cur}%
+ }%
+ \string\expandafter\gdef%
+ \detokenize{\csname} exsh@sumptsbonus@\arabic{\pgfkeysvalueof{/exsh/exercise counter}}\endcsname{%
+ \arabic{exsh@ptsbonus@cur}%
+ }%
+ }%
+ \fi
+ \ifexsh@beamer\clearpage\fi%%%% <<<<<BEAMER ONLY%%%%%%%%%%%%%%%%%
+}
+\newcommand{\exsh@label}[2]{#1{#2}\leavevmode\ignorespaces}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\newcommand{\exsh@startheader}[2][]{%
+ \newpage
+ \stepcounter{framenumber}
+% \begin{block}{}
+% \pgfkeysvalueof{/exsh/exercise title font}{#2}%
+% \end{block}
+ \ifbool{exsh@beameruseblocks}{%
+ \begingroup
+ \usebeamercolor{block title}
+ \setbeamercolor{block body}{bg=bg,fg=fg}
+ \block{}{\pgfkeysvalueof{/exsh/exercise title font}{#2}}%
+ \endblock
+ \endgroup
+ }{
+ \begin{beamercolorbox}[rounded=true,wd={\textwidth}]%
+ {block title}
+ \pgfkeysvalueof{/exsh/exercise title font}{#2}
+ \end{beamercolorbox}
+ }
+ \ifexsh@patchenumerate
+ \setbeamertemplate{enumerate items}{\insertenumlabel}
+ \renewcommand{\insertenumlabel}{
+ \ifnum\@enumdepth=1
+ \alph{enumi})
+ \else\ifnum\@enumdepth=2
+ \arabic{enumii}.
+ \else
+ \roman{enumiii}
+ \fi\fi
+ }
+ \fi
+}%
+\else%--------- NON-BEAMER: ---------------------------------------
+\ifexsh@usestartsection
+ \newcommand{\exsh@startheader}[2][]{%
+ \@startsection{section}{1}{\z@}{%
+ \ifexsh@firstexonsheet
+ \pgfkeysvalueof{/exsh/above first exercise skip}%
+ \else
+ \pgfkeysvalueof{/exsh/above exercise skip}
+ \fi
+ }{1em}% afterskip corrected below
+ {\pgfkeysvalueof{/exsh/exercise title font}}%
+ [#1]{#2}%
+ \exsh@firstexonsheetfalse
+ }%
+\else
+ \newcommand{\exsh@startheader}[2][]{%
+ \ifexsh@firstexonsheet
+ \ifdim\z@=\pgfkeysvalueof{/exsh/above first exercise skip}\relax
+ \vskip-\parskip
+ \else
+ \unskip%
+ \vskip\pgfkeysvalueof{/exsh/above first exercise skip}\relax
+ \fi
+ \else
+ \ifdim\z@=\pgfkeysvalueof{/exsh/above exercise skip}\relax
+ \vskip-\parskip
+ \else
+ \unskip%
+ \vskip\pgfkeysvalueof{/exsh/above exercise skip}\relax
+ \fi
+ \fi
+ {\pgfkeysvalueof{/exsh/exercise title font} #2}%
+ \exsh@firstexonsheetfalse
+ }
+\fi
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%includeoverride is not part of the public interface
+\exshset{includeoverride/.style={}}
+\def\includeexercise{%
+ \@ifstar\exsh@includeexercise@\exsh@includeexercise%
+}
+
+\newcommand{\exsh@includeexercise}[2][]{%
+ \ifbool{exsh@filenameasexercisename}{%
+ \exshset{includeoverride/.style={name={\detokenize{#2}},#1}}%
+ }{%
+ \exshset{includeoverride/.style={#1}}%
+ }%
+ \input{\ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}#2}
+ \exshset{includeoverride/.style={}}
+}
+
+\newcommand{\exsh@includeexercise@}[2][]{%
+ \ifbool{exsh@filenameasexercisename}{%
+ \exshset{includeoverride/.style={name={\detokenize{#2}},#1}}%
+ }{%
+ \exshset{includeoverride/.style={#1}}%
+ }%
+ \begingroup
+ %auto labelling is still allowed, but other labels are forbidden
+ %here we may use \let as the definition is close to its use
+ \let\exsh@autolabel\label
+ \let\inexlabel\label
+ \def\label##1{%
+ \PackageError{exercisesheets}{\string\label{##1}\space
+ inside \string\includeexercise*}{}%
+ }
+ \input{\ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}#2}
+ \endgroup
+ \exshset{includeoverride/.style={}}
+}
+
+
+\def\includeLexercise{%
+ \@ifstar\exsh@includeLexercise@\exsh@includeLexercise%
+}
+
+\ifluatex
+\newcommand{\exsh@includeLexercise}[2][]{%
+ \ifbool{exsh@filenameasexercisename}{%
+ \exshset{includeoverride/.style={name={#2},#1}}%
+ }{%
+ \exshset{includeoverride/.style={#1}}%
+ }%
+ \directlua{
+ local prefix =
+ "\ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}"
+ exsh_cur_exercise=dofile(prefix .. "#2.lua")
+ exsh_texprintlines(exsh_cur_exercise)
+ }%
+ \exshset{includeoverride/.style={}}%
+}
+
+\newcommand{\exsh@includeLexercise@}[2][]{%
+ \ifbool{exsh@filenameasexercisename}{%
+ \exshset{includeoverride/.style={name={#2},#1}}%
+ }{%
+ \exshset{includeoverride/.style={#1}}%
+ }%
+ \begingroup
+ %auto labelling is still allowed, but other labels are forbidden
+ %here we may use \let as the definition is close to its use
+ \let\exsh@autolabel\label
+ \def\label##1{%
+ \PackageError{exercisesheets}{\string\label{##1}\space
+ inside \string\includeLexercise*}{}%
+ }
+ \directlua{
+ local prefix =
+ "\ifdefvoid{\exsh@exercisespath}{}{\exsh@exercisespath/}"
+ exsh_cur_exercise=dofile(prefix .. "#2.lua")
+ exsh_texprintlines(exsh_cur_exercise)
+ }%
+ \endgroup
+ \exshset{includeoverride/.style={}}
+}
+\else
+ \newcommand{\exsh@includeLexercise}[2][]{
+ \refstepcounter{\pgfkeysvalueof{/exsh/exercise counter}}
+ Lexercise needs Lua\LaTeX!
+ }
+ \let\exsh@includeLexercise@\exsh@includeLexercise
+\fi
+
+\AfterPackage*{varioref}{
+ \labelformat{section}{\pgfkeysvalueof{/exsh/strings/exercise}~\arabic{section}}
+}
+
+
+\let\exsh@subexn\getrefnumber
+
+\ifexsh@patchenumerate
+ \AfterPackage*{varioref}{
+ \labelformat{enumi}{\arabic{\pgfkeysvalueof{/exsh/exercise counter}}.\alph{enumi}}
+ \def\exsh@afterdot#1.#2{#2}%x.y -> y
+ \def\exsh@subexn#1{%
+ \if\getrefnumber{#1}0%
+ 0%
+ \else%x.y->y, then inverse \@alph
+ \the\numexpr(\expandafter\expandafter\expandafter%
+ \expandafter\expandafter\expandafter%
+ \expandafter`\expandafter\expandafter\expandafter%
+ \exsh@afterdot\getrefnumber{#1}-`a+1)\relax%
+ \fi%
+ }
+ }
+ \AfterPackage*{paralist}{
+ \setdefaultenum{(a)}{(1)}{i.}{A.}
+ }
+ \AfterPackage*{enumitem}{
+ \setenumerate[1]{label=(\alph*)}
+ \setenumerate[2]{label=(\arabic*)}
+ \setenumerate[3]{label=\roman*.}
+ \setenumerate[4]{label=\Alph.}
+ }
+ \def\theHenumi{enumi.\arabic{\pgfkeysvalueof{/exsh/sheet counter}}.\arabic{\pgfkeysvalueof{/exsh/exercise counter}}.\arabic{enumi}}
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+ % code below breaks [] argument after \begin{enumerate}
+ % when beamer is used
+ % in beamer we set item labels separately
+ % see beamer specific def. of \exsh@startheader
+\else%--------- NON-BEAMER: ---------------------------------------
+ \AtEndPreamble{%
+ \@ifpackageloaded{paralist}{}{%
+ \@ifpackageloaded{enumitem}{}{%
+ \apptocmd{\enumerate}{
+ \ifnum\@enumdepth=1%
+ \def\labelenumi{(\alph{enumi})}
+ \def\labelenumii{\arabic{enumii}.}
+ \def\labelenumiii{\roman{enumiii}.}
+ \fi
+ }{}{}%
+ }%
+ }%
+ }%
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi
+
+\newcommand{\subexnref}[1]{\exsh@subexn{#1}}
+\newcommand{\subexlref}[1]{(\@alph{\exsh@subexn{#1}})}
+
+%for now this is not part of the public interface
+\exshset{subtask counter/.initial={enumi}}
+\exshset{subtask environment/.initial={enumerate}}
+\exshset{subtask item/.initial={item}}
+\edef\exsh@subtaskctr{\pgfkeysvalueof{/exsh/subtask counter}}
+\def\exsh@subtaskenv{\pgfkeysvalueof{/exsh/subtask environment}}
+\def\exsh@subtaskitm{\pgfkeysvalueof{/exsh/subtask item}}
+
+%define subex as an alias for enumi
+\expandafter\let\expandafter\c@subex%
+ \csname c@\exsh@subtaskctr\endcsname
+\expandafter\let\expandafter\p@subex%
+ \csname p@\exsh@subtaskctr\endcsname
+\expandafter\let\expandafter\thesubex%
+ \csname the\exsh@subtaskctr\endcsname
+\expandafter\let\expandafter\theHsubex%
+ \csname theH\exsh@subtaskctr\endcsname
+\expandafter\let\expandafter\cl@subex%
+ \csname cl@\exsh@subtaskctr\endcsname
+
+% reset equation numbering for each exercise
+\@addtoreset{equation}{\pgfkeysvalueof{/exsh/exercise counter}}
+
+\long\def\exsh@savemaintask#1{%
+ \global\def\exsh@restatetaskmain{#1}%
+ #1%
+}
+
+\newenvironment{maintask}[1][]{%
+ \pgfkeys{exsh,#1}%
+ \pgfkeysvalueof{/exsh/main task font}%
+ \ifbool{exsh@savetasks}{\Collect@Body\exsh@savemaintask}{}%
+ \ignorespaces
+}{}
+
+\newenvironment{subtasks}[1][]{%
+ \pgfkeys{exsh,#1}%
+ \begin{\exsh@subtaskenv}
+ \def\exsh@ifwithinsubt##1##2{##1}
+ \ignorespaces\begingroup
+}{
+ \endgroup
+ \end{\exsh@subtaskenv}%
+}
+
+\def\exsh@ifwithinsubt#1#2{#2}
+
+\def\exsh@ensuressubtasks{%
+ \exsh@ifwithinsubt{
+ \endgroup\begingroup
+ }{%
+ \PackageWarning{exercisesheets}{%
+ Using \subtask\space without a subtasks environment
+ is unsupported
+ }{}%
+ }%
+}
+
+\newcommand{\subtask}[2][]{%
+ \exsh@ensuressubtasks
+ \pgfkeys{exsh,#1}%
+ \csname\exsh@subtaskitm\endcsname%
+ {\pgfkeysvalueof{/exsh/subtask font} #2}%
+ \ifbool{exsh@savetasks}{%
+ \csgdef{exsh@restatetask\arabic{\exsh@subtaskctr}}{#2}%
+ \csdef{exsh@restatetaskcur}{#2}%
+ }{}%
+}
+
+\def\exsh@ensuresavetasks{%
+ \ifbool{exsh@savetasks}{}{%
+ \PackageError{exercisesheets}{%
+ If you want to restate something, you have to %
+ use the option savetasks.%
+ }{}%
+ }%
+}
+
+\def\restatetask{%
+ \exsh@ensuresavetasks%
+ \@ifstar\exsh@restatetask@\exsh@restatetask%
+}
+
+\newcommand{\exsh@restatetask}[1][main]{%
+ {\pgfkeysvalueof{/exsh/task restate font}%
+ \csname exsh@restatetask#1\endcsname}%
+}
+
+\newcommand{\exsh@restatetask@}[1][main]{%
+ {\pgfkeysvalueof{/exsh/task restate font}%
+ \csname exsh@restatetask#1\endcsname}\\%
+}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+ \let\restatetaskbeamer\restatetask
+\else%--------- NON-BEAMER: ---------------------------------------
+ \def\restatetaskbeamer{%
+ \@ifstar\exsh@restatetaskbeamer\exsh@restatetaskbeamer%
+ }
+ \newcommand{\exsh@restatetaskbeamer}[1][main]{}
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{hint}[1][]{%
+ \par
+ \pgfkeys{exsh,every hint,#1,hint font}%
+ \vskip\pgfkeysvalueof{/exsh/above hint skip}\relax\noindent
+ {\pgfkeysvalueof{/exsh/hint title font}\pgfkeysvalueof{/exsh/strings/hint}:}~\ignorespaces
+}{%
+ \par
+}
+\newenvironment{hint*}[1][]{%
+ \pgfkeys{exsh,every hint,#1,hint font}%
+ ({\pgfkeysvalueof{/exsh/hint title font}\pgfkeysvalueof{/exsh/strings/hint}:}\space%
+}{%
+ \unskip)%
+}
+
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+ \let\exsh@postsolutionclear\clearpage
+\else%--------- NON-BEAMER: ---------------------------------------
+ \let\exsh@postsolutionclear\par
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\providecommand{\solution}{}
+\renewenvironment{solution}[1][]{%
+ \pgfkeys{exsh,every solution,#1,solution font}%
+ \ifthenelse{\equal{oral}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifbool{exsh@oralsolutions}{%
+ \let\next\exsh@startsolution
+ }{%
+ \let\next\exsh@skipsolution
+ }%
+ }{%
+ \ifbool{exsh@nonoralsolutions}{%
+ \let\next\exsh@startsolution
+ }{%
+ \let\next\exsh@skipsolution
+ }%
+ }%
+ \ifbool{exsh@forcesample}{%
+ \ifbool{exsh@samplesolutions}{%
+ \let\next\exsh@startsolution
+ }{}%
+ }{}%
+ \ifbool{exsh@beamersolution}{%
+ \let\next\exsh@skipsolution
+ }{}%
+ \next
+}{%
+ \ifbool{exsh@beamersolution}{}{%
+ \ifthenelse{\equal{oral}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifbool{exsh@oralsolutions}{\exsh@postsolutionclear}{}%
+ }{%
+ \ifbool{exsh@nonoralsolutions}{\exsh@postsolutionclear}{}%
+ }%
+ }%
+}
+
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\def\exsh@solutiontitle#1{
+ \ifbool{exsh@beameruseblocks}{%
+ \begin{alertblock}{}%
+ {\pgfkeysvalueof{/exsh/solution title font}%
+ \pgfkeysvalueof{/exsh/strings/solution} %
+ (\pgfkeysvalueof{/exsh/strings/exercise} \arabic{\pgfkeysvalueof{/exsh/exercise counter}}%
+ \ifnum\@enumdepth>0\alph{subex}\fi)} %
+ \ifbool{exsh@headerrestate}{
+ \exsh@ensuresavetasks
+ \csname exsh@restatetask%
+ \ifnum\@enumdepth>0cur\else main\fi%
+ \endcsname%
+ }{}%
+ \end{alertblock}
+ }{
+ \begin{beamercolorbox}[rounded=true,wd={#1}]%
+ {block title alerted}
+ {\pgfkeysvalueof{/exsh/solution title font}%
+ \pgfkeysvalueof{/exsh/strings/solution} %
+ (\pgfkeysvalueof{/exsh/strings/exercise} \arabic{\pgfkeysvalueof{/exsh/exercise counter}}%
+ \ifnum\@enumdepth>0\alph{subex}\fi)} %
+ \ifbool{exsh@headerrestate}{
+ \exsh@ensuresavetasks
+ \csname exsh@restatetask%
+ \ifnum\@enumdepth>0cur\else main\fi%
+ \endcsname%
+ }{}%
+ \end{beamercolorbox}
+ }
+}
+\newcommand{\solutiontitle}[1][\linewidth]{
+ \ifhmode \linebreak\fi\exsh@solutiontitle{#1}
+}
+
+\newcommand{\deferredsolutiontitle}[1][\linewidth]{
+ \ifbool{exsh@defersolutiontitle}{%
+ \ifhmode \linebreak\fi\exsh@solutiontitle{#1}
+ }{}%
+}
+
+
+\long\def\exsh@processframes#1\newframe{%
+\ifstrequal{#1}{}{}{%
+\clearpage
+\begin{frame}[t]{}
+` \unskip\vskip1pt\vskip-\parskip
+ \solutiontitle[\textwidth]
+ #1
+\end{frame}%
+\exsh@processframes%
+}%no whitespace here is crucial for end detecttion
+}
+
+
+\long\def\exsh@collectedframe#1{
+\exsh@processframes#1\newframe\newframe
+}
+
+\else%--------- NON-BEAMER: ---------------------------------------
+%this command is only usefule for exercisesheets-beamer to place
+%the deferred title within a new frame
+\newcommand{\solutiontitle}[1][]{}
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\def\exsh@startsolution{%
+ \ifnum\@enumdepth=0
+ \ifbool{exsh@framed}{}{\clearpage\stepcounter{framenumber}}
+ \fi
+% \usebeamercolor{block title alerted}
+% \setbeamercolor{block body}{bg=bg,fg=fg}
+% \block{}
+% \pgfkeysvalueof{/exsh/solution title font}%
+% \pgfkeysvalueof{/exsh/strings/solution} %
+% (\pgfkeysvalueof{/exsh/strings/exercise} \arabic{\pgfkeysvalueof{/exsh/exercise counter}}%
+% \alph{subex})%
+% \endblock
+ \ifbool{exsh@framed}{\exsh@defersolutiontitletrue}{}
+ \ifbool{exsh@defersolutiontitle}{}{%
+ \ifhmode \linebreak\fi
+ \exsh@solutiontitle{\linewidth}
+ }%
+ \let\next\relax
+ \ifbool{exsh@framed}{%
+ \def\next{\Collect@Body\exsh@collectedframe}%
+ \ifbool{exsh@fragile}{%
+ \ifluatex%
+ \def\next{\exsh@start@lframed@}
+ \else
+ \PackageError{exercisesheets}{Fragile frames require
+ LuaLaTeX!}{}
+ \fi%
+ }{}%
+ }{}%
+ \next%
+}%
+\else%--------- NON-BEAMER: ---------------------------------------
+\def\exsh@startsolution{\@afterindentfalse
+ \vskip\pgfkeysvalueof{/exsh/above solution skip}\relax%
+ {\parindent \z@
+ \pgfkeysvalueof{/exsh/solution title font}%
+ \pgfkeysvalueof{/exsh/strings/solution}%
+ \pgfkeysvalueof{/exsh/solution title separator}%
+ }\nobreak%
+ \@afterheading
+}%
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\long\def\exsh@skipsolution#1{%
+ \ifstrequal{#1}{\end}{\exsh@endsolution}{\exsh@skipsolution}%
+}
+\def\exsh@endsolution#1{%
+ \ifstrequal{#1}{solution}{
+ \end{solution}
+ }{%
+ \ifstrequal{#1}{beamersolution}{
+ \end{beamersolution}
+ }{%
+ \exsh@skipsolution}%
+ }%
+}
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-SPECIFIC: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\newenvironment<>{beamersolution}[1][]{%
+ \pgfkeys{exsh,every solution,#1,solution font}%
+ \ifthenelse{\equal{oral}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifbool{exsh@oralsolutions}{%
+ \let\next\exsh@startsolution
+ }{%
+ \let\next\exsh@skipsolution
+ }%
+ }{%
+ \ifbool{exsh@nonoralsolutions}{%
+ \let\next\exsh@startsolution
+ }{%
+ \let\next\exsh@skipsolution
+ }%
+ }%
+ \ifbool{exsh@forcesample}{%
+ \ifbool{exsh@samplesolutions}{%
+ \let\next\exsh@startsolution
+ }{}%
+ }{}%
+ \next
+}{%
+% \ifbool{exsh@framed}{\end{frame}}{}
+ \ifthenelse{\equal{oral}{\pgfkeysvalueof{/exsh/points}}}{%
+ \ifbool{exsh@oralsolutions}{\clearpage}{}%
+ }{%
+ \ifbool{exsh@nonoralsolutions}{\clearpage}{}%
+ }%
+}
+\else%--------- NON-BEAMER: ---------------------------------------
+%the regular version of exercisesheets.sty skips all beamer solutions
+\newenvironment{beamersolution}[1][]{\exsh@skipsolution}{}%
+\fi
+%%%%%%%%%%%%%%% END BEAMER-SPECIFIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\points}[2][]{%
+ \ifthenelse{\equal{}{#2}}{}{\exshset{points=#2}}%
+ \bgroup%
+ \exshset{#1}%
+ \ifthenelse{\equal{}{\pgfkeysvalueof{/exsh/pointsinfo}}}{%
+ \def\exsh@tmp{}%
+ }{%
+ \def\exsh@tmp{, \pgfkeysvalueof{/exsh/pointsinfo}}%
+ }%
+ \ifthenelse{\equal{#2}{oral}}{%
+ \ifexsh@abbrev%
+ \exsh@subexpoints{\pgfkeysvalueof{/exsh/strings/oral abbrev}\exsh@tmp}%
+ \else%
+ \exsh@subexpoints{\pgfkeysvalueof{/exsh/strings/oral}\exsh@tmp}%
+ \fi%
+ }{%
+ \ifthenelse{\equal{#2}{}}{%
+ \exsh@subexpoints{\pgfkeysvalueof{/exsh/pointsinfo}}%
+ }{%
+ \ifexsh@abbrev%
+ \ifexsh@bonus%
+ \exsh@subexpoints{#2~\pgfkeysvalueof{/exsh/strings/bonus points abbrev}\exsh@tmp}%
+ \else%
+ \exsh@subexpoints{#2~\pgfkeysvalueof{/exsh/strings/points abbrev}\exsh@tmp}%
+ \fi%
+ \else%
+ \ifthenelse{\equal{#2}{1}}{%
+ \ifexsh@bonus%
+ \exsh@subexpoints{1~\pgfkeysvalueof{/exsh/strings/bonus point}\exsh@tmp}%
+ \else%
+ \exsh@subexpoints{1~\pgfkeysvalueof{/exsh/strings/point}\exsh@tmp}%
+ \fi%
+ }{%
+ \ifexsh@bonus%
+ \exsh@subexpoints{#2~\pgfkeysvalueof{/exsh/strings/bonus points}\exsh@tmp}%
+ \else%
+ \exsh@subexpoints{#2~\pgfkeysvalueof{/exsh/strings/points}\exsh@tmp}%
+ \fi%
+ }%
+ \fi%
+ \ifexsh@sumuppoints%
+ \ifexsh@bonus%
+ \addtocounter{exsh@ptsbonus@cur}{#2}
+ \else%
+ \addtocounter{exsh@pts@cur}{#2}
+ \fi%
+ \fi%
+ }%
+ }%
+ \egroup
+ \ignorespaces
+}
+
+\newenvironment{gradingguide}[1][]{%
+ \pgfkeys{exsh,#1,grading guide font}%
+ \ifbool{exsh@gradingguides}{%
+ \let\next\exsh@startguide
+ }{%
+ \let\next\exsh@skipguide
+ }%
+ \next
+}{}
+
+\def\exsh@startguide{\@afterindentfalse%
+ \par
+ {\parindent \z@
+ \pgfkeysvalueof{/exsh/strings/gradingguide}: }\nobreak%
+ \@afterheading
+}%
+
+\long\def\exsh@skipguide#1{%
+ \ifstrequal{#1}{\end}{\exsh@endguide}{\exsh@skipguide}%
+}
+\def\exsh@endguide#1{%
+ \ifstrequal{#1}{gradingguide}{\end{gradingguide}}{\exsh@skipguide}%
+}
+
+
+\ifluatex%
+ \ifdefined\luatextextdir
+ \def\exsh@putatend#1{%
+ \leavevmode\luatextextdir TRT\unskip{\luatextextdir TLT{\hfill~~#1}}\luatextextdir TLT}%
+ \else
+ \def\exsh@putatend#1{%
+ \leavevmode\textdir TRT\unskip{\textdir TLT{\hfill~~#1}}\textdir TLT}%
+ \fi
+\else%
+ \def\exsh@putatend#1{%
+ \TeXXeTstate=1%
+ \beginR\unskip{\beginL~~#1\endL}\hfill\beginL\TeXXeTstate=0}%
+\fi
+
+\def\exsh@leaveinplace#1{\unskip~{#1} }
+\def\exsh@insertFill#1{\unskip\nobreak\space\nobreak\hspace*{\fill}\allowbreak\hspace*{\fill}{#1}\unskip}
+
+\newcommand{\exsh@subexpoints}[1]{%
+ \ifexsh@inplace%
+ \exsh@leaveinplace{\pgfkeysvalueof{/exsh/points font}\mbox{(#1)}}%
+ \else%
+ \ifexsh@pointsfloatright% can be used directly after \item etc.
+ \exsh@putatend{\pgfkeysvalueof{/exsh/points font}\mbox{(#1)}}%
+ \else% original points macro with fill
+ \exsh@insertFill{\pgfkeysvalueof{/exsh/points font}\mbox{(#1)}}%
+ \fi%
+ \fi%
+}
+
+\newcommand{\TODO}[1][]{%
+ \ifexsh@showtodos
+ \ifmmode
+ \text{\pgfkeysvalueof{/exsh/todo marker font}TODO #1}%
+ \else
+ {\pgfkeysvalueof{/exsh/todo marker font}TODO #1}%
+ \fi
+ \fi
+ \PackageWarning{exercisesheets}{TODO marker found}%
+}
+
+\newcommand{\ifsolutions}[2]{%
+ \ifbool{exsh@solutions}{#1}{#2}%
+}
+
+\newcommand{\iforalsolutions}[2]{%
+ \ifbool{exsh@oralsolutions}{#1}{#2}%
+}
+\newcommand{\ifnonoralsolutions}[2]{%
+ \ifbool{exsh@nonoralsolutions}{#1}{#2}%
+}
+\newcommand{\ifsamplesolutions}[2]{%
+ \ifbool{exsh@samplesolutions}{#1}{#2}%
+}
+\newcommand{\samplehide}[1]{%
+ \ifbool{exsh@samplesolutions}{}{#1}%
+}
+
+
+%%%%%%%%%%%%%%% BEGIN BEAMER-ONLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifexsh@beamer
+\ifexsh@patchheadandfoot
+ \setbeamertemplate{headline}{}%
+ \setbeamertemplate{footline}{}%
+\fi
+\ifbool{exsh@beamerwithheadline}{%
+ \setbeamertemplate{headline}{%
+% \leavevmode%
+ \begin{beamercolorbox}[wd=\paperwidth,vmode]{frametitle}
+ \vspace{0.4em}
+ \leavevmode
+ \begingroup
+ \footnotesize%
+ \hspace*{2ex}{\pgfkeysvalueof{/exsh/subject font}%
+ \pgfkeysvalueof{/exsh/subject}} \hfill%
+ {\pgfkeysvalueof{/exsh/semester font}%
+ \pgfkeysvalueof{/exsh/semester}}\hspace{2ex}\hfil%
+ \vspace{1mm}\linebreak%
+ \hspace*{2ex}{\pgfkeysvalueof{/exsh/author font}\exsh@author}%
+ \hfill{\pgfkeysvalueof{/exsh/date font}%
+ \pgfkeysvalueof{/exsh/date}}%
+ \hspace{2ex}\hfil%\vspace{-1em}
+ \endgroup
+ \vspace{0.4em}
+ \end{beamercolorbox}%
+ \vspace*{3mm}
+ \vskip\pgfkeysvalueof{/exsh/below slide headline skip}\relax%
+ }
+ \addtobeamertemplate{frametitle}{\vspace{-3mm}}{}
+}{}%
+
+
+\ifbool{exsh@beamerwithfootline}{%
+ \setbeamertemplate{footline}{%
+ \leavevmode%
+ \hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm]{frametitle}%
+ {\pgfkeysvalueof{/exsh/author font}\pgfkeysvalueof{/exsh/exauthor}}
+ \end{beamercolorbox}%
+ \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{author in head/foot}%
+ \usebeamerfont{author in head/foot}
+ \inserttitle
+ \hfill\insertpagenumber
+ \end{beamercolorbox}}%
+ \vskip0pt%
+ }
+}{}%
+\fi
+%%%%%%%%%%%%%%% END BEAMER-ONLY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifluatex
+ \let\exsh@dlua\directlua
+\else
+ \def\exsh@dlua#1{}
+\fi
+
+%change only some catcodes to
+\begingroup
+\catcode`!=0
+\catcode`\@=11
+\catcode`\_=12
+\catcode`\{=12 %set those to the same value (11/12) as below!
+\catcode`\}=12 %
+\catcode`<=1
+\catcode`>=2
+\catcode`\~=11
+\catcode`\\=11
+%% Expanded, when \catcode`\^^M=12 holds
+!global!long!def!exsh@start@Lexercise#1\end{Lexercise}< %
+ !exsh@dlua<exsh_cur_exercise=exercise({#1})> %
+ !endgroup!end<Lexercise>%
+>
+!global!long!def!exsh@start@skip@Lexercise#1\end{Lexercise}< %
+ !exsh@dlua<exsh_cur_exercise=exercise({#1})> %
+ !ifluatex!else%
+ !refstepcounter<!pgfkeysvalueof</exsh/exercise counter>>%
+ !fi
+ !endgroup!endgroup%
+ !expandafter!exsh@skipstuff%
+ !exsh@dlua<exsh_texprintlines(exsh_cur_exercise)>%
+>
+!global!long!def!exsh@start@lframed#1\end{solution}< %
+ !exsh@dlua<exsh_cur_solution=fragileframed([[#1]])> %
+ !endgroup!end<solution>%
+ !exsh@dlua<exsh_texprintlines(exsh_cur_solution)>%
+>
+!endgroup
+
+\def\exsh@lua@catcodesBG{
+\begingroup
+\catcode`!=12
+\catcode`\$=12
+\catcode`\#=12
+\catcode`\_=12
+\catcode`\^=12
+\catcode`\&=12
+\catcode`\|=12
+\catcode`\{=12 %set those to the same value (11/12) as above!
+\catcode`\}=12 %
+\catcode`\~=12
+\catcode`\@=11
+\catcode`\%=12
+\catcode`\ =12
+\catcode9=12
+\catcode`\^^I=12
+\catcode`\^^J=12\catcode`\^^M=12\catcode`\\=11\endlinechar-1}
+
+\newenvironment{Lexercise}{%
+ \exsh@lua@catcodesBG\exsh@start@Lexercise%
+}{%
+ \ifluatex
+ \exsh@dlua{exsh_texprintlines(exsh_cur_exercise)}%
+ \else
+ \refstepcounter{\pgfkeysvalueof{/exsh/exercise counter}}
+ Lexercise needs Lua\LaTeX!
+ \fi
+}
+
+\def\exsh@skipstuff@Lexercise{\exsh@lua@catcodesBG\exsh@start@skip@Lexercise}%
+\def\exsh@start@lframed@{\exsh@lua@catcodesBG\exsh@start@lframed}
+
+\exsh@dlua{dofile(kpse.find_file("exsh_lexercise.lua"))}
diff --git a/macros/latex/contrib/fadingimage/README.md b/macros/latex/contrib/fadingimage/README.md
index 7140d126e3..9ed33c1695 100644
--- a/macros/latex/contrib/fadingimage/README.md
+++ b/macros/latex/contrib/fadingimage/README.md
@@ -1,17 +1,19 @@
-# The `FadingImage` package
+# The `fadingimage` package
-This package provides two commands for adding fading full width picture at the top or bottom of a page.
+This package provides macros for inputting full width picture at the edges of pages quickly.
-**Welcome to pull requests
-[here](https://github.com/xiamyphys/FadingImage).**
+**Welcome to pull requests [here](https://github.com/xiamyphys/fadingimage/pulls).**
## License
-This work may be distributed and/or modified under the conditions of the
-[LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
-either version 1.3c of this license or (at your option) any later version.
+This work may be distributed and/or modified under the conditions of the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version.
This work has the LPPL maintenance status `maintained`.
-The Current Maintainer of this work is
-[Mingyu Hsia](https://www.ctan.org/author/xia-my). \ No newline at end of file
+The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my).
+
+## Derivative Works
+
+- [notebeamer](https://ctan.org/pkg/notebeamer): Package provides macros for inputting slides on note papers quickly.
+
+- [litesolution](https://ctan.org/pkg/litesolution): Class designed for typesetting solutions of problems in exams, textbooks, etc.
diff --git a/macros/latex/contrib/fadingimage/doc/fadingimage.pdf b/macros/latex/contrib/fadingimage/doc/fadingimage.pdf
index f0e81ecf62..ad4ab7eb7f 100644
--- a/macros/latex/contrib/fadingimage/doc/fadingimage.pdf
+++ b/macros/latex/contrib/fadingimage/doc/fadingimage.pdf
Binary files differ
diff --git a/macros/latex/contrib/fadingimage/doc/fadingimage.tex b/macros/latex/contrib/fadingimage/doc/fadingimage.tex
index 043d13b129..ad1ebbc3ae 100644
--- a/macros/latex/contrib/fadingimage/doc/fadingimage.tex
+++ b/macros/latex/contrib/fadingimage/doc/fadingimage.tex
@@ -1,60 +1,58 @@
-\documentclass[11pt]{article}
-\usepackage{geometry,indentfirst,titlesec,authblk,hyperref}
+\documentclass[11pt,svgnames]{article}
+\usepackage{geometry,indentfirst,titlesec,authblk,hyperref,hologo}
\titleformat*{\section}{\bfseries\large}
-\usepackage{datetime}
-\usepackage[libertine,mono=false]{libertine}
+\hologoFontSetup{general=\sffamily}
+\usepackage{datetime}\yyyymmdddate
+\usepackage[libertine,mono=false]{newtx}
\usepackage{fadingimage}
-\hypersetup{colorlinks,urlcolor=moducolor}
-\definecolor{pkgcolor}{Hsb}{103,.8,.5}
-\definecolor{moducolor}{Hsb}{290,.8,.5}
-\definecolor{cmdcolor}{Hsb}{188,.8,.5}
-\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{
- \href{https://ctan.org/pkg/#1}{\textsf{#1}}}}{“#1”}}
-\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
-\def\cmd#1{\texorpdfstring{\textcolor{cmdcolor}{\textsf{#1}}}{“#1”}}
-\def\datechange#1#2{%
- \noindent{\makebox[\textwidth][r]{\color{H7}\rule{1.15\textwidth}{.4pt}}}
- \noindent\makebox[0pt][r]{\makebox[-3em][r]{\small\textbf{\textcolor{H7}{#1}}}\;\;}{\sffamily Update: \ignorespaces#2}}
-
-\title{\bfseries The \pkg{FadingImage} Package}
-\author{Hsia Mingyu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
-\yyyymmdddate\date{\today}
-\affil{\href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}}
-\date{\today\quad Version 0.1d\thanks{\url{https://github.com/xiamyphys/FadingImage}}}
-\begin{document}
+\hypersetup{colorlinks,urlcolor=MidnightBlue}
+\def\pkg#1{\textcolor{DarkGreen}{\textsf{#1}}}
+\def\mode#1{\textcolor{Indigo}{\textsf{#1}}}
+\def\cmd#1{\textcolor{MidnightBlue}{\texttt{\string#1}}}
+
+\title{\bfseries The \pkg{fadingimage} Package}
+\author{Mingyu Hsia, \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn}}
+\affil{Hangzhou Dianzi University}
+\date{\today\quad Version 0.3a\thanks{\url{https://github.com/xiamyphys/fadingimage}}}
+\begin{document}
\maketitle
-\UPFadingImage[trim={0 {.96\paperheight} 0 0},clip]{Beautiful-realities}
-\LOWFadingImage[trim={0 0 0 {.96\paperheight}},clip]{Beautiful-realities}
+\UPFadingImage*[trim={0 {.96\paperheight} 0 0},clip]{Beautiful-realities}
+\LOWFadingImage*[trim={0 0 0 {.96\paperheight}},clip]{Beautiful-realities}
\vspace{-6ex}
\begin{abstract}
-This is \textsf{\textbf{not only the document but also the demo}} for the \pkg{FadingImage} package, which provides three commands for adding fading full width picture at the top, bottom or both of them on a page. And this package is used for my template \pkg{LiteBook} and \pkg{LiteSolution}.
+
+This is \textsf{\textbf{not only the document but also the demo}} for the \pkg{fadingimage} package, which provides macros for inputting full width picture at the edges of pages quickly. This package is contained in the \pkg{LiteBook} and \pkg{LiteSolution} class.
+
+Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/fadingimage}{GitHub}.
+
\end{abstract}
-\section{The purpose of this package}
-This package provides three commands for adding fading full width picture at the top or bottom of a page. Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/fadingimage}{GitHub}.
+\section{Installing \pkg{fadingimage} and loading it}
This package requires \pkg{tikz} package to node images and \pkg{fading} library to support fading image.
-\section{Loading \pkg{FadingImage}}
-I strongly advise you to use terminal/cmd to implement the commands to update all the packages (and install this package) to the latest version or switch to portable version instead
+Simply download \verb|fadingimage.cls| file from \href{https://github.com/xiamyphys/fadingimage}{GitHub} or \href{https://ctan.org/pkg/fadingimage}{CTAN} and save it under your working directory. However, I strongly suggest to use terminal to install and update all packages to the latest version
+
\begin{verbatim}
- sudo tlmgr update --self --all
+ sudo tlmgr update --self --all
\end{verbatim}
-\section{Commands \cmd{UPFadingImage}, \cmd{LOWFadingImage} and \cmd{UPLOWFadingImage}}
-\begin{small}
+To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \hologo{TeX} distribution?}
+
+\section{Macros in this package}
+
\begin{verbatim}
- \UPFadingImage [<keyval list>]{<file>} \LOWFadingImage[<keyval list>]{<file>}
- \UPFadingImage [<keyval list>]{<file>} [<keyval list>]{<file>}
+ \UPFadingImage <*> [<keyval list>] {<file>} <!> % fading from top
+ \LOWFadingImage <*> [<keyval list>] {<file>} <!> % fading from bottom
+ \LTFadingImage <*> [<keyval list>] {<file>} <!> % fading from left
+ \RITFadingImage <*> [<keyval list>] {<file>} <!> % fading from right
\end{verbatim}
-\end{small}
-The first two commands all have 2 variables and the first one is optional. The second variable of the commands can assign the image that you want to insert, and the first one can assign the parameters of command \cmd{includegraphics}, such as clip to the inserted image.
+The four commands all have 2 variables and the first one is optional. The second variable can assign the image that you want to insert and the first one can assign the parameters of command \cmd{includegraphics}, such as clip to the inserted image.
-The third command is a combination of the first two commands and it will call the \cmd{tikz} environment for only once time to reduce compile time.
+If an exclamation \verb|<!>| is added at the end of the commands, the image inserted won't be faded. If a star \verb|<*>| is added after the commands it will automatically exit vertical mode \verb|\leavevmode| after inserting the image.
-If a star (*) is added after the commands (such as \verb|\UPFadingImage*[...]{...}|), then the image you inserted won't be faded.
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/fadingimage/tex/fadingimage.sty b/macros/latex/contrib/fadingimage/tex/fadingimage.sty
index 2b63cf0cbe..a4147cd3cf 100644
--- a/macros/latex/contrib/fadingimage/tex/fadingimage.sty
+++ b/macros/latex/contrib/fadingimage/tex/fadingimage.sty
@@ -1,60 +1,60 @@
-%% ****************************************************************************************************
-%% Copyright 2024 by Mingyu Hsia <xiamyphys@gmail.com> *
-%% *
-%% This work may be distributed and/or modified under * ***** * * *
-%% the conditions of the LaTeX Project Public License * ** * * *** * * *
-%% * * ** * * * ** *
-%% http://www.latex-project.org/lppl.txt * * * * ***** ** *
-%% * * ** * * * * *
-%% either version 1.3c of this license or any later ***** ** * * *** * * *
-%% version. *
-%% *
-%% This work has the LPPL maintenance status `maintained'. *
-%% *
-%% The Current Maintainer of this work is Mingyu Hsia. *
-%% *
-%% This work consists of the files fadingimage.sty, *
-%% and README.md. *
-%% available at https://github.com/xiamyphys/FadingImage *
-%% ****************************************************************************************************
+%% ***********************************************************
+%% Copyright 2024 by Mingyu Hsia <xiamyphys@hdu.edu.cn> *
+%% *
+%% This work may be distributed and/or modified under *
+%% the conditions of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later *
+%% version. *
+%% *
+%% This work has the LPPL maintenance status `maintained'. *
+%% *
+%% The Current Maintainer of this work is Mingyu Hsia. *
+%% *
+%% This work consists of the files fadingimage.sty, *
+%% and README.md. *
+%% available at https://github.com/xiamyphys/fadingimage *
+%% ***********************************************************
+% !Mode:: "TeX:UTF-8"
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesPackage{fadingimage}[2024/03/17/ v0.1d Package for adding fading full width picture at the top or bottom of a page.]
+\ProvidesPackage{fadingimage}[2024/05/06/ v0.3a Package provides macros for inputting full width picture at the edges of pages quickly.]
-\RequirePackage{tikz,xcolor}
-\usetikzlibrary{fadings}
-\NewDocumentCommand{\UPFadingImage}{ s O{} m }{
- \IfBooleanTF{#1}
- {
+\RequirePackage{tikz}\usetikzlibrary{fadings}
+\NewDocumentCommand{\UPFadingImage}{ s O{} m t! }{
+ \IfBooleanTF{#4}{
\tikz[remember picture,overlay]
\node[below,inner sep=0pt,outer sep=auto] at (current page.north) {\includegraphics[width=\paperwidth,#2]{#3}};
}{
\tikz[remember picture,overlay]
\node[scope fading=south,below,inner sep=0pt,outer sep=auto] at (current page.north) {\includegraphics[width=\paperwidth,#2]{#3}};
- }
+ }\IfBooleanT{#1}{\leavevmode}
}
-
-\NewDocumentCommand{\LOWFadingImage}{ s O{} m }{
- \IfBooleanTF{#1}
- {
+\NewDocumentCommand{\LOWFadingImage}{ s O{} m t! }{
+ \IfBooleanTF{#4}{
\tikz[remember picture,overlay]
\node[above,inner sep=0pt,outer sep=auto] at (current page.south) {\includegraphics[width=\paperwidth,#2]{#3}};
}{
\tikz[remember picture,overlay]
\node[scope fading=north,above,inner sep=0pt,outer sep=auto] at (current page.south) {\includegraphics[width=\paperwidth,#2]{#3}};
- }
+ }\IfBooleanT{#1}{\leavevmode}
}
-
-\NewDocumentCommand{\UPLOWFadingImage}{ s O{} m O{} m }{
- \IfBooleanTF{#1}
- {
- \tikz[remember picture,overlay]{
- \node[below,inner sep=0pt,outer sep=auto] at (current page.north) {\includegraphics[width=\paperwidth,#2]{#3}};
- \node[above,inner sep=0pt,outer sep=auto] at (current page.south) {\includegraphics[width=\paperwidth,#4]{#5}};
- }
+\NewDocumentCommand{\LTFadingImage}{ s O{} m t! }{
+ \IfBooleanTF{#4}{
+ \tikz[remember picture,overlay]
+ \node[right,inner sep=0pt,outer sep=auto] at (current page.west) {\includegraphics[height=\paperheight,#2]{#3}};
}{
- \tikz[remember picture,overlay]{
- \node[scope fading=south,below,inner sep=0pt,outer sep=auto] at (current page.north) {\includegraphics[width=\paperwidth,#2]{#3}};
- \node[scope fading=north,above,inner sep=0pt,outer sep=auto] at (current page.south) {\includegraphics[width=\paperwidth,#4]{#5}};
- }
- }
+ \tikz[remember picture,overlay]
+ \node[scope fading=east,right,inner sep=0pt,outer sep=auto] at (current page.west) {\includegraphics[height=\paperheight,#2]{#3}};
+ }\IfBooleanT{#1}{\leavevmode}
+}
+\NewDocumentCommand{\RITFadingImage}{ s O{} m t! }{
+ \IfBooleanTF{#4}{
+ \tikz[remember picture,overlay]
+ \node[left,inner sep=0pt,outer sep=auto] at (current page.east) {\includegraphics[height=\paperheight,#2]{#3}};
+ }{
+ \tikz[remember picture,overlay]
+ \node[scope fading=west,left,inner sep=0pt,outer sep=auto] at (current page.east) {\includegraphics[height=\paperheight,#2]{#3}};
+ }\IfBooleanT{#1}{\leavevmode}
} \ No newline at end of file
diff --git a/macros/latex/contrib/fancyhdr/README b/macros/latex/contrib/fancyhdr/README
index e03540dec7..4a7d219fdc 100644
--- a/macros/latex/contrib/fancyhdr/README
+++ b/macros/latex/contrib/fancyhdr/README
@@ -1,6 +1,8 @@
fancyhdr – Extensive control of page headers and footers in LaTeX2ε
-The package provides extensive facilities, both for constructing headers and footers, and for controlling their use (for example, at times when LaTeX would automatically change the heading style in use).
+The package provides extensive facilities, both for constructing headers
+and footers, and for controlling their use (for example, at times when
+LaTeX would automatically change the heading style in use).
The distribution package consists of the following files:
@@ -25,8 +27,8 @@ In order to latex the documentation you need to have a copy of
boxedminipage.sty (CTAN:/macros/latex/contrib/boxedminipage) and
refcount.sty (CTAN:/macros/latex/contrib/oberdiek/) installed.
-This is version 4.1 of fancyhdr.sty and extramarks.sty. They are
-described in the forthcoming third edition of The LaTeX Companion.
+This is version 4.2 of fancyhdr.sty and extramarks.sty. They are
+described in the third edition of The LaTeX Companion.
Extramarks.sty has not been changed, except for the version and
copyright information.
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.dtx b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
index 2995092da6..43c6631bba 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.dtx
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1994-2022 by Pieter van Oostrum <pieter@vanoostrum.org>
+% Copyright (C) 1994-2024 by Pieter van Oostrum <pieter@vanoostrum.org>
% -------------------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -26,11 +26,12 @@
%<fancyhdr>\ProvidesPackage{fancyhdr}%
%<fancyheadings>\ProvidesPackage{fancyheadings}
%<extramarks>\ProvidesPackage{extramarks}
-%<fancyhdr|fancyheadings|extramarks> [2022/11/09 v4.1
+%<fancyhdr|extramarks> [2024/04/23 v4.2
%<fancyhdr> Extensive control of page headers and footers]%
+%<fancyheadings> [2022/11/09 v4.1
%<fancyheadings> Legacy package to call fancyhdr]
%<extramarks> Extra marks for LaTeX]
-%<fancyhdr|extramarks>% Copyright (C) 1994-2022 by Pieter van Oostrum <pieter@vanoostrum.org>
+%<fancyhdr|extramarks>% Copyright (C) 1994-2024 by Pieter van Oostrum <pieter@vanoostrum.org>
%<fancyheadings>% Public domain
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \end{macrocode}
@@ -641,7 +642,7 @@
% \renewcommand{\footrulewidth}{2pt}
% \end{verbatim}
% (The \cs{thepage} macro displays the current page number.
-% \cs{textbf} puts it in bold face.)
+% \cs{textbf} puts its argument in bold face.)
%
% This is now fine, except that the first page does not need
% all these headers and footers. To eliminate all but the
@@ -847,14 +848,14 @@
% redefine existing page styles (like \texttt{plain}) or to define new ones,
% e.g. if part of your document needs a different page style. This command
% has two mandatory parameters: the first one is the name of the page style to be defined, the
-% second consists of commands that change the headers and/or footers, i.e.
-% \verb|fancyhead| etc. Also allowed are changes to \cs{headrulewidth} and
+% second consists of commands that change the headers and/or footers, i.e.,
+% \verb|\fancyhead| etc. Also allowed are changes to \cs{headrulewidth} and
% \cs{footrulewidth} or even \cs{headrule} and \cs{footrule}.
% The (re)defined page style uses the standard
% \texttt{fancy} definitions, amended by the definitions in the second
% parameter. In other words, those parts that are not redefined in the
% second parameter get their value from the \texttt{fancy} definition that
-% is current. In particular, if the second parameter is empty, i.e. given
+% is current. In particular, if the second parameter is empty, i.e., given
% as \verb+{}+, then the new page style is equal to page style
% \texttt{fancy}.
%
@@ -1051,7 +1052,7 @@
% before, we get a layout that is very similar to the page style \texttt{headings}.
%
% On the pages where new chapters start, we get a centered page number
-% in the footer; there is no header, and there are no decorative lines.
+% in the footer; there is nothing in the header, and there are no decorative lines.
%
% On an even page, we get the layout:
%
@@ -1617,6 +1618,15 @@
% \fancyheadoffset[LE,RO]{\marginparsep+\marginparwidth}
% \end{verbatim}
%
+% \textbf{NOTE:} If you change the \cs{textwidth} in the middle of your
+% document, for example by using the \Package{geometry}\TTindex{geometry} package,
+% by default the \cs{headwidth} will not change, as it picks up the value
+% of \cs{textwidth} at the beginning of the document. If you want it to track
+% the changes to \cs{textwidth}, you should use the command \verb|\fancyhfoffset{0pt}|
+% in the neighborhood of your header/footer definitions, unless you
+% already use such an \texttt{\ldots offset} command, of course.
+% \vspace{\baselineskip}
+%
% For the second example, we take the \amslatex/ book\footnote{George Gratzer,
% \textit{Math into LaTeX, An Introduction to \LaTeX{} and \amslatex/}, Birkhauser, Boston.}.
%
@@ -2303,9 +2313,9 @@
% \cs{firstxmark} will be `Continued\ldots'; (2) the block ends at a
% later page, therefore it does not contribute any marks to that page,
% and the marks are `inherited' from the last values of the previous page,
-% i.e. those from \texttt{\%~2}.
+% i.e., those from \texttt{\%~2}.
% On all of the pages after the block the values of \texttt{\%~4} will be used,
-% i.e. empty ones.
+% i.e., empty ones.
% This final \verb+\extramarks{}{}+ is to prevent the `Continued\ldots'
% header to spill over to the following pages.
% Of course in real life you would leave out the numbers.
@@ -2391,11 +2401,16 @@
% \extramarks{}{}%
% \extramarks{(Continued\ldots)}{Continued on next page\ldots}%
% \afterpage{\noindent\firstxmark\vspace{1ex}}%
-% }{\extramarks{(Continued\ldots)}{}%
+% \ignorespaces
+% }{%
+% \unskip\extramarks{(Continued\ldots)}{}%
% \extramarks{}{}\par
% }
% \end{verbatim}
%
+% Note how we use \cs{ignorespaces}, \cs{unskip} and \texttt{\%} to
+% prevent unwanted spaces to creep into the text.
+%
% It is a bit dangerous to use \cs{firstxmark} outside the page layout
% routine, but apparently with \cs{afterpage} this works. If you would
% need the information further on in the page you must remember the state of
@@ -2409,7 +2424,9 @@
% \newenvironment{continued}{\par
% \extramarks{}{}%
% \extramarks{(Continued\ldots)}{Continued on next page\ldots}%
-% }{\extramarks{(Continued\ldots)}{}%
+% \ignorespaces
+% }{%
+% \unskip\extramarks{(Continued\ldots)}{}%
% \extramarks{}{}\par\vspace{1ex}\mysaved}%
% }
% \fancyhead[L]{\leftmark}
@@ -2475,7 +2492,7 @@
% requires some hand-tuning to get the blobs nicely spaced out vertically.
% For the application that I originally designed this for, there were 12 sections,
% so I made the blobs
-% 18 mm apart, i.e. 9~mm blob separated by 9~mm whitespace. In order to avoid
+% 18 mm apart, i.e., 9~mm blob separated by 9~mm whitespace. In order to avoid
% calculations they are set in a \texttt{picture} environment with the
% \cs{unitlength} set to 18~mm. Page numbers are set in the headers at the
% outer sides, and the blobs are attached to these. In this example the
@@ -2585,7 +2602,7 @@
%
% In the first two cases you must first check if you have given the correct
% ``placement'' parameter to you float, e.g. \Cmd{begin\{figure\}[htp]}
-% specifies that your figure may be placed either: Here (i.e. in the text
+% specifies that your figure may be placed either: Here (i.e., in the text
% position where the command is given), on the Top of a page (which may be
% the page where you put the command), or on a separate Page of floats. You
% could also have specified ``\texttt{b}'' for Bottom of the page. The order of the
@@ -2701,7 +2718,7 @@
% in the preamble. Now you will be able to
% specify \texttt{[H]} as the position parameter, which will mean ``HERE
% and only HERE''. This may cause an unwanted page break however.
-% If you want to avoid the unwanted pagebreak, i.e. let
+% If you want to avoid the unwanted pagebreak, i.e., let
% \LaTeX{} move the float only if it doesn't fit on the page, then use the
% \Package{afterpage} package with:
% \TTindex{afterpage}\CmdIndex{afterpage}\CmdIndex{clearpage}%
@@ -2781,7 +2798,7 @@
% There isn't an equivalent ``\texttt{longfigure}'' solution, so for figures you
% will have to split yourself. In general this is less of a
% problem. However, the problem you get now is how to keep them together,
-% i.e. how to get the parts on subsequent pages, and how to get a single
+% i.e., how to get the parts on subsequent pages, and how to get a single
% entry in the list of figures.
%
% You will have to split the figure into pieces and put each part
@@ -3031,6 +3048,12 @@
% \item Make \Package{fancyhdr} compatible with the document class \Package{newlfm}.
% \item Make \cs{nouppercase} compatible with newer definitions of \cs{MakeUppercase}.
% \end{itemize}
+% \item Version 4.2, April 19-23, 2024
+% \begin{itemize}
+% \item Reset catcodes to their default values in order to facilitate
+% \cs{input} in headers/footers when \texttt{verbatim} is active.
+% (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)
+% \end{itemize}
% \end{itemize}
%
%
@@ -3315,7 +3338,7 @@
% conditionalized and they don't consume length registers. There is no need
% to have them as length registers unless you want to do calculations with
% them, which is unlikely. Note that this may make some uses of them
-% incompatible (i.e. if you have a file that uses \cs{setlength} or \cs{xxxx}!=)}
+% incompatible (i.e., if you have a file that uses \cs{setlength} or \cs{xxxx}!=)}
%
% \changes{fancyhdr v1.99a}{1996/05/10}{Added a few more \% signs.}
%
@@ -3485,7 +3508,7 @@
% \cs{f@nch@ifundefined}.
% This definition is copied from the \Package{tocloft} package by Peter
% Wilson and Will Robertson.
-% \begin{macrocode}
+% \begin{macrocode}
\newcommand{\f@nch@ifundefined}[1]{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1\endcsname\relax
@@ -3493,7 +3516,7 @@
\else
\expandafter\@secondoftwo
\fi}
-% \end{macrocode}
+% \end{macrocode}
% \end{macro}
%
% \changes{fancyhdr v4.0}{2019/03/17}{Added \texttt{headings} and
@@ -3992,11 +4015,23 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\f@nch@noUppercase}
+% We want \cs{nouppercase} to work with the various evolutionary stages of
+% \cs{MakeUppercase}. The current version (2022/11/09) accepts an optional
+% argument with a language specification. Therefore we define a dummy macro
+% \cs{f@nch@noUppercase} which copies its mandatory agument, as a
+% replacement for \cs{MakeUppercase} while \cs{nouppercase} is active.
+% \begin{macrocode}
+\newcommand\f@nch@noUppercase[2][]{#2}
+% \end{macrocode}
+%
% \begin{macro}{\f@nch@reset}
% Command to reset various things in the headers: a.o. single spacing
% (taken from setspace.sty) and the catcode of ^^M and
% \cs{endlinechar} (so that epsf files
-% in the header work if a verbatim crosses a page boundary) It also
+% in the header work if a verbatim crosses a page boundary).
+% Also reset the catcodes that are changed in verbatim environments,
+% \cs{makeatother} and \cs{ExplSyntaxOn}. It also
% defines a \cs{nouppercase} command that disables \cs{uppercase} and
% \cs{Makeuppercase}. It can only be used in the headers and footers. Set
% \cs{hsize} to \cs{headwidth} (this helps for multicol); reset
@@ -4006,15 +4041,16 @@
% \LaTeX{} output routine, so we don't have to do it here.
% \changes{fancyhdr v4.1}{2022/11/09}{Change \cs{nouppercase} to work with
% new definition of \cs{MakeUppercase}.}
-% \begin{macro}{\f@nch@noUppercase}
-% We want \cs{nouppercase} to work with the various evolutionary stages of
-% \cs{MakeUppercase}. The current version (2022/11/09) accepts an optional
-% argument with a language specification. Therefore we define a dummy macro
-% \cs{f@nch@noUppercase} which copies its mandatory agument, as a
-% replacement for \cs{MakeUppercase} while \cs{nouppercase} is active.
+% \changes{fancyhdr v4.2}{2024/04/19}{Reset catcodes to their default
+% values in order to facilitate \cs{input} in headers/footers when \texttt{verbatim}
+% is active. (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)}
% \begin{macrocode}
-\newcommand\f@nch@noUppercase[2][]{#2}
\def\f@nch@reset{\f@nch@everypar{}\restorecr\endlinechar=13
+ \catcode`\\=0\catcode`\{=1\catcode`\}=2\catcode`\$=3\catcode`\&=4
+ \catcode`\#=6\catcode`\^=7\catcode`\_=8\catcode`\ =10\catcode`\@=11
+ \catcode`\:=11\catcode`\~=13\catcode`\%=14
+ \catcode0=15 %NULL
+ \catcode9=10 %TAB
\let\\\@normalcr \let\raggedleft\f@nch@raggedleft
\let\raggedright\f@nch@raggedright \let\centering\f@nch@centering
\def\baselinestretch{1}%
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.pdf b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
index b9302285cc..9f781dad3b 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.pdf
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/CHANGELOG.md b/macros/latex/contrib/fontscale/CHANGELOG.md
index 802fb374ef..9706fbbe09 100644
--- a/macros/latex/contrib/fontscale/CHANGELOG.md
+++ b/macros/latex/contrib/fontscale/CHANGELOG.md
@@ -7,6 +7,39 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v1.3.0] - 2024-05-17
+
+### Added
+- `\fontscalesetup` now provides error checking for the keys `modular/ratio`,
+ `musical/ratio`, and `musical/notes`.
+- It is now documented that `\fontscalesetup` uses `\normalsize` after it
+ finishes processing the package keys.
+
+### Changed
+- The code now regularly uses `V`- and `v`-type arguments to get the value of a
+ variable.
+- The code now uses private `expl3` wrappers around the LaTeX2e commands
+ `\@setfontsize`, `\fontsize`, and `\selectfont`.
+
+## [v1.2.2] - 2024-04-29
+
+### Changed
+- Improved package messages when issuing errors and warnings.
+- Code improvements.
+
+### Fixed
+- The documentation no longer incorrectly compares `\ScaleFont` with
+ `\scalefont` from the `scalefnt` package.
+- The internal function for the key `reset=preamble` now correctly initializes
+ to `\prg_do_nothing:`.
+
+## [v1.2.1] - 2024-04-21
+
+### Changed
+- Improved the error message for `\SetFontStep*` when the current font step is
+ undefined.
+- Documentation improvements.
+
## [v1.2.0] - 2024-04-15
### Added
diff --git a/macros/latex/contrib/fontscale/beery.cls b/macros/latex/contrib/fontscale/beery.cls
index bfc38f9a59..4777c06a8e 100644
--- a/macros/latex/contrib/fontscale/beery.cls
+++ b/macros/latex/contrib/fontscale/beery.cls
@@ -4,13 +4,14 @@
\NeedsTeXFormat{LaTeX2e}[2023-06-01]
\ProvidesExplClass
{beery}
- {2024-04-15}
+ {2024-04-21}
{}
{}
\RequirePackage { fix-cm }
\LoadClass { article }
\RequirePackage { fontscale }
+\fontscalesetup { musical }
\RequirePackage [ list-final-separator = { ,~ and~ } ] { siunitx }
\RequirePackage { mathtools }
\RequirePackage [ shortcuts , allowbreakbefore ] { extdash }
@@ -179,7 +180,7 @@
\NewDocumentCommand \KeepNextPar { s }
{
\par
- \bool_if:NTF #1
+ \IfBooleanTF #1
{ \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } }
{ \nobreak \@afterheading }
}
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.pdf b/macros/latex/contrib/fontscale/fontscale-manual.pdf
index a1c5644e60..2637ef9c1f 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual.pdf
+++ b/macros/latex/contrib/fontscale/fontscale-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.tex b/macros/latex/contrib/fontscale/fontscale-manual.tex
index ca5b3224fd..9917636a04 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual.tex
+++ b/macros/latex/contrib/fontscale/fontscale-manual.tex
@@ -13,7 +13,7 @@ A user interface for setting document font sizes
Oliver Beery
-Version 1.2.0\quad{}15 April 2024
+Version 1.3.0\quad{}17 May 2024
\section{Introduction}
@@ -25,9 +25,9 @@ Version 1.2.0\quad{}15 April 2024
\listheading{The \pkg{fontscale} package provides the following functionalities:}
\begin{itemize}
\item
- Set document font sizes via a classic, modular, or musical typographic scale.
+ Set font sizes via a classic, modular, or musical typographic scale.
\item
- Set arbitrary scales, sizes, and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
+ Set arbitrary sizes and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
\item
Set the font size settings mid\-/document or within a local group.
\item
@@ -46,7 +46,7 @@ Version 1.2.0\quad{}15 April 2024
\label{subsec:loading}
This package requires the 10 October 2023 \pkg{l3kernel} update.
-Since this update is fairly recent, you may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
+You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
This package lets the user set arbitrary font sizes.
This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
@@ -167,13 +167,13 @@ Note that the font steps and the scale of \cs{normalsize} are constants and cann
\Key{\meta{font size command}/scale}[\meta{fp expr}]
\KeepNextPar*
-The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic-scale}.
+The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic\-/scale}.
The key \Key{normalsize\slash{}scale} is not defined.
\Key{\meta{font size command}/size}[\meta{dim expr}]
\KeepNextPar*
-The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic-scale} and \Key{\meta{font size command}\slash{}scale}.
+The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
\meta{dim expr} supplies a default unit of \unit{pt}.
The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
@@ -196,7 +196,7 @@ The number before/after the slash is the size/leading in \unit{pts}.
\KeepNextPar*
The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
-The magnitudes of the sizes and baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
+The magnitudes of the font sizes and font baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
This is important for typographic and syntactic consistency.
This package will issue a warning if they are not in the correct order.
The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
@@ -218,12 +218,12 @@ The user can disable this warning via the key \Key{ignore\-/order}[true] or just
These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
They can be used for printing or within calculations.
-Caution: \cs{CurrentFontStep} will expand to nothing if the current step is undefined.
+Caution: \cs{CurrentFontStep} will expand to nothing if the current font step is undefined.
Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
\cs{CurrentFontSize} expands to \texttt{f@size pt}.
\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
-Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} before expanding its second argument.
+Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} to the new font size before expanding its second argument.
This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
@@ -243,10 +243,10 @@ Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge
\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}.
The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step.
If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
-\cs{SetFontStep} will issue an error if the step is invalid.
-The starred version \cs{SetFontStep*} will also issue an error if the current step is invalid.
+\cs{SetFontStep} will issue an error if the calculated font step is invalid.
+The starred version \cs{SetFontStep*} will also issue an error if the current font step is invalid.
\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-If the step matches the step of any font size command, then that font size command will be used directly.
+If the calculated font step matches the step of any font size command, then that font size command will be used directly.
\listheading{Examples:}
\begin{itemize}
@@ -277,21 +277,20 @@ If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equ
\cs{SetFontSize} sets the font size to \meta{dim expr}.
\meta{dim expr} supplies a default unit of \unit{pt}.
-The font baselineskip is set to the font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current size.
+The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
+The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current font size.
For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
\cs{ScaleFont}\marg{\meta{fp expr}}
\KeepNextPar*
Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}.
-\cs{ScaleFont} resembles the \cs{scalefont} command provided by the \pkg{scalefnt} package, except that it uses floating point calculations and clears the stretch and shrink components of the font baselineskip.
For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}}
\KeepNextPar*
-Sets the font size and font baselineskip to \meta{dim expr} and \meta{skip expr}.
+Sets the font size to \meta{dim expr} and the font baselineskip to \meta{skip expr}.
Both arguments supply a default unit of \unit{pt}.
\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}.
@@ -305,8 +304,8 @@ I have used them often when developing this package so I think users will find t
\nopagebreak\newline
\cs{PrintAllFontParameters}
-\cs{PrintFontParameters} prints the current step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
-If the current step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
+\cs{PrintFontParameters} prints the current font step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
+If the current font step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
\cs{PrintSampleText}\oarg{\meta{text}}
@@ -317,15 +316,16 @@ If the current step is undefined (as explained for \cs{SetFontStep} in \S\ref{su
The starred version \cs{PrintSampleText*} reverses the sizing order.
The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
+One useful way of printing example text is by using
+\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
\cs{PrintFontSizeCommand}
\KeepNextPar*
-\cs{PrintFontSizeCommand} tests whether the current font size and font baselineskip match that of any font size command.
-If so, it prints the name of that font size command.
+\cs{PrintFontSizeCommand} tests whether the current font size and the current font baselineskip match the font size and font baselineskip of any font size command from \cs{tiny} to \cs{Huge}.
+If so, it prints the name of that font size command, including the backslash character.
If not, it instead prints \enquote{UNDEFINED\@}.
-One useful way of printing example text is by using
-\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
+\vfill\pagebreak%manual
\subsection
{%
@@ -338,8 +338,12 @@ One useful way of printing example text is by using
\cs{fontscalesetup}\marg{\meta{keyval list}}
\KeepNextPar*
-Sets and processes the \pkg{fontscale} package keys and uses \cs{normalsize}.
+Sets and processes the \pkg{fontscale} package keys and then uses \cs{normalsize}.
\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
+
+\Key{reset}[initial, preamble]
+\KeepNextPar*
+
The key \Key{reset} is also available.
Its value must be either \texttt{initial} or \texttt{preamble}.
The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
@@ -351,7 +355,7 @@ The key \Key{reset}[preamble] sets all the keys to their values at the end of th
This section is relevant to \LaTeX3 programmers.
-The user commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
+The document commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
\cs{text_purify:n} will correctly remove these commands and their arguments.
This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
diff --git a/macros/latex/contrib/fontscale/fontscale.sty b/macros/latex/contrib/fontscale/fontscale.sty
index 514350189c..d032e49860 100644
--- a/macros/latex/contrib/fontscale/fontscale.sty
+++ b/macros/latex/contrib/fontscale/fontscale.sty
@@ -8,8 +8,8 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{fontscale}
- {2024-04-15}
- {1.2.0}
+ {2024-05-17}
+ {1.3.0}
{A user interface for setting document font sizes}
% The 2023-10-10 l3kernel update added many 'e'-variants.
@@ -25,7 +25,9 @@
\msg_critical:nn { fontscale } { expl3-out-of-date }
}
-% SOME VARIABLES
+% This package does not require any other packages!
+
+% DECLARE FONT PARAMETER VARIABLES
\fp_const:Nn \c_fontscale_tiny_step_fp { -4 }
\fp_const:Nn \c_fontscale_scriptsize_step_fp { -3 }
@@ -40,41 +42,6 @@
\fp_const:Nn \c_fontscale_normalsize_scale_fp { 1 }
-\tl_const:Nn \c__fontscale_names_tl
- {
- {tiny} {scriptsize} {footnotesize} {small} {normalsize}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-\tl_const:Nn \c__fontscale_names_other_tl
- {
- {tiny} {scriptsize} {footnotesize} {small}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-
-\prop_new:N \l_fontscale_tiny_prop
-\prop_new:N \l_fontscale_scriptsize_prop
-\prop_new:N \l_fontscale_footnotesize_prop
-\prop_new:N \l_fontscale_small_prop
-\prop_new:N \l_fontscale_normalsize_prop
-\prop_new:N \l_fontscale_large_prop
-\prop_new:N \l_fontscale_Large_prop
-\prop_new:N \l_fontscale_LARGE_prop
-\prop_new:N \l_fontscale_huge_prop
-\prop_new:N \l_fontscale_Huge_prop
-
-\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
-\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
-\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
-\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
-\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
-\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
-\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
-
-\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
-
\fp_new:N \l_fontscale_tiny_scale_fp
\fp_new:N \l_fontscale_scriptsize_scale_fp
\fp_new:N \l_fontscale_footnotesize_scale_fp
@@ -107,21 +74,41 @@
\skip_new:N \l_fontscale_huge_baselineskip_skip
\skip_new:N \l_fontscale_Huge_baselineskip_skip
-\str_new:N \l__fontscale_typographic_scale_str
+\prop_new:N \l_fontscale_tiny_prop
+\prop_new:N \l_fontscale_scriptsize_prop
+\prop_new:N \l_fontscale_footnotesize_prop
+\prop_new:N \l_fontscale_small_prop
+\prop_new:N \l_fontscale_normalsize_prop
+\prop_new:N \l_fontscale_large_prop
+\prop_new:N \l_fontscale_Large_prop
+\prop_new:N \l_fontscale_LARGE_prop
+\prop_new:N \l_fontscale_huge_prop
+\prop_new:N \l_fontscale_Huge_prop
-% Used in floating point expressions for speed.
-\fp_new:N \l__fontscale_normalsize_size_fp
-\fp_new:N \l__fontscale_musical_notes_fp
+\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
+\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
+\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
+\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
+\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
+\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
+\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
+\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
+\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
+\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
-% Temporary variables
-\tl_new:N \l__fontscale_step_tl
-\tl_new:N \l__fontscale_scale_tl
-\dim_new:N \l__fontscale_size_dim
-\skip_new:N \l__fontscale_baselineskip_skip
+\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
-% INITIAL FONT PARAMETERS
+% INITIALIZE FONT PARAMETER VARIABLES
-\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
+\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
+\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
+\fp_set:Nn \l_fontscale_footnotesize_scale_fp { 0.8 }
+\fp_set:Nn \l_fontscale_small_scale_fp { 0.9 }
+\fp_set:Nn \l_fontscale_large_scale_fp { 1.1 }
+\fp_set:Nn \l_fontscale_Large_scale_fp { 1.2 }
+\fp_set:Nn \l_fontscale_LARGE_scale_fp { 1.4 }
+\fp_set:Nn \l_fontscale_huge_scale_fp { 1.6 }
+\fp_set:Nn \l_fontscale_Huge_scale_fp { 1.8 }
\dim_set:Nn \l_fontscale_tiny_size_dim { 6pt }
\dim_set:Nn \l_fontscale_scriptsize_size_dim { 7pt }
@@ -134,16 +121,6 @@
\dim_set:Nn \l_fontscale_huge_size_dim { 16pt }
\dim_set:Nn \l_fontscale_Huge_size_dim { 18pt }
-\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
-\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
-\fp_set:Nn \l_fontscale_footnotesize_scale_fp { 0.8 }
-\fp_set:Nn \l_fontscale_small_scale_fp { 0.9 }
-\fp_set:Nn \l_fontscale_large_scale_fp { 1.1 }
-\fp_set:Nn \l_fontscale_Large_scale_fp { 1.2 }
-\fp_set:Nn \l_fontscale_LARGE_scale_fp { 1.4 }
-\fp_set:Nn \l_fontscale_huge_scale_fp { 1.6 }
-\fp_set:Nn \l_fontscale_Huge_scale_fp { 1.8 }
-
\skip_set:Nn \l_fontscale_tiny_baselineskip_skip { 7.2pt }
\skip_set:Nn \l_fontscale_scriptsize_baselineskip_skip { 8.4pt }
\skip_set:Nn \l_fontscale_footnotesize_baselineskip_skip { 9.6pt }
@@ -187,21 +164,87 @@
\prop_put:Nnn \l_fontscale_huge_prop { baselineskip } { 19.2pt }
\prop_put:Nnn \l_fontscale_Huge_prop { baselineskip } { 21.6pt }
+% SOME VARIABLES
+
+% Used for mapping.
+\tl_const:Nn \c__fontscale_names_tl
+ {
+ {tiny} {scriptsize} {footnotesize} {small} {normalsize}
+ {large} {Large} {LARGE} {huge} {Huge}
+ }
+\tl_const:Nn \c__fontscale_names_other_tl
+ {
+ {tiny} {scriptsize} {footnotesize} {small}
+ {large} {Large} {LARGE} {huge} {Huge}
+ }
+
+% Used to speed up floating point calculations.
+\fp_new:N \l__fontscale_normalsize_size_fp
+\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
+\fp_new:N \l__fontscale_musical_notes_fp
+
+% Temporary variables
+\tl_new:N \l__fontscale_step_tl
+\tl_new:N \l__fontscale_scale_tl
+\dim_new:N \l__fontscale_size_dim
+
% SOME HELPER FUNCTIONS
-% Sets a dimen or skip variable, supplying a default unit of pt.
-\cs_new_protected:Npn \__fontscale_dim_set_with_default_unit:Nn #1#2
+% Sets a dimen/skip variable from a dimen/skip expression, supplying a default
+% unit of pt.
+\cs_new_protected:Npn \__fontscale_dim_set_with_default_pt:Nn #1#2
{ \@defaultunits #1 = \dimexpr #2 pt \relax \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_dim_set_with_default_unit:Nn { c }
-\cs_new_protected:Npn \__fontscale_skip_set_with_default_unit:Nn #1#2
+\cs_generate_variant:Nn \__fontscale_dim_set_with_default_pt:Nn { c }
+\cs_new_protected:Npn \__fontscale_skip_set_with_default_pt:Nn #1#2
{ \@defaultunits #1 = \glueexpr #2 pt \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_skip_set_with_default_unit:Nn { c }
+\cs_generate_variant:Nn \__fontscale_skip_set_with_default_pt:Nn { c }
+% Used to define \tiny to \Huge. Need \dim_use:N for compatibility with the
+% microtype package. Otherwise the following would do:
+% \cs_new_protected:Npn \__fontscale_fontsize:NNN { \@setfontsize }
+\cs_new_protected:Npn \__fontscale_fontsize:NNN #1#2
+ { \@setfontsize #1 { \dim_use:N #2 } }
+% Similar to \fontsize + \selectfont, except that it takes dimen and skip
+% expressions as arguments and avoids the issue where \f@size is set to the new
+% font size before the second argument is expanded.
+\skip_new:N \l__fontscale_fontsize_skip
+\cs_new_protected:Npn \__fontscale_fontsize:nn #1#2
+ {
+ \__fontscale_skip_set_with_default_pt:Nn \l__fontscale_fontsize_skip {#2}
+ \fontsize { = \dimexpr #1 pt \relax \relax } \l__fontscale_fontsize_skip
+ \selectfont
+ }
+% Similar to the above function, except that it sets the font baselineskip
+% equal to the new font size times the baselineskip-size-ratio.
+\cs_new_protected:Npn \__fontscale_fontsize:n #1
+ {
+ \fontsize { = \dimexpr #1 pt \relax \relax }
+ { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
+ \selectfont
+ }
% MESSAGES
+\msg_new:nnn { fontscale } { modular-ratio-out-of-bounds }
+ {
+ The~ value~ for~ the~ key~ 'modular / ratio'~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ 1.
+ }
+\msg_new:nnn { fontscale } { musical-ratio-out-of-bounds }
+ {
+ The~ value~ for~ the~ key~ 'musical / ratio'~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ 1.
+ }
+\msg_new:nnn { fontscale } { musical-notes-out-of-bounds }
+ {
+ The~ value~ for~ the~ key~ 'musical / notes'~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ integer.
+ }
\msg_new:nnn { fontscale } { key-font-scale-ignored }
{
- Key~ #1 / scale~
+ Key~ '#1 / scale'~
\msg_line_context: \c_space_tl
ignored.~
Setting~ the~ scale~ and~ size~ keys~ for~ the~ same~
@@ -213,11 +256,8 @@
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
The~ magnitude~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
- \token_to_str:N \tiny \c_space_tl
- to~
- \token_to_str:N \normalsize \c_space_tl
- to~
- \token_to_str:N \Huge .
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
+ '\iow_char:N \\Huge'.
}
\msg_new:nnn { fontscale } { font-baselineskips-out-of-order }
{
@@ -225,22 +265,29 @@
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
The~ magnitude~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
- \token_to_str:N \tiny \c_space_tl
- to~
- \token_to_str:N \normalsize \c_space_tl
- to~
- \token_to_str:N \Huge .
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
+ '\iow_char:N \\Huge'.
}
\msg_new:nnn { fontscale } { font-step-out-of-bounds }
{
The~ font~ step~
\msg_line_context: \c_space_tl
must~ be~ an~ integer~ from~ -4~ to~ 5,~
- unless~ the~ choice~ of~ typographic~ scale~ is~ modular~ or~ musical.
+ unless~ the~ value~ for~ the~ choice~ key~ 'typographic-scale'~
+ is~ 'modular'~ or~ 'musical'.
+ }
+\msg_new:nnn { fontscale } { current-font-step-out-of-bounds }
+ {
+ '\iow_char:N \\SetFontStep*'~
+ \msg_line_context: \c_space_tl
+ could~ not~ calculate~ the~ new~ font~ step~ because~
+ the~ current~ font~ step~ is~ undefined.
}
% DEFINE KEYS
+\str_new:N \l__fontscale_typographic_scale_str
+
\keys_define:nn { fontscale }
{
reset .choices:nn = { initial , preamble }
@@ -438,8 +485,8 @@
% PRE-COMPILE KEYS
-% Pre-compiles the keys with their initial values. The keys are pre-compiled
-% by hand for speed.
+% Pre-compiles the keys with their initial values and then sets the keys to
+% their initial values. This is done by hand for speed.
\cs_new_protected:Npn \__fontscale_keys_precompile_initial:
{
\bool_set_false:N \l__fontscale_ignore_order_bool
@@ -485,7 +532,8 @@
% Pre-compiles the keys with their values at the end of the preamble. The keys
% are pre-compiled by hand for speed.
-\cs_new_eq:NN \__fontscale_keys_precompile_preamble: \prg_do_nothing
+\cs_new_eq:NN \__fontscale_keys_precompile_preamble: \prg_do_nothing:
+% \AddToHook is passed only a single token for speed.
\AddToHook { begindocument / before }
{ \__fontscale_keys_precompile_preamble_set: }
\cs_new_protected:Npn \__fontscale_keys_precompile_preamble_set:
@@ -507,65 +555,65 @@
{ \int_use:N \l__fontscale_musical_notes_int }
\tl_set:Nn \exp_not:N \l__fontscale_tiny_scale_tl
- { \exp_not:o \l__fontscale_tiny_scale_tl }
+ { \exp_not:V \l__fontscale_tiny_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_scriptsize_scale_tl
- { \exp_not:o \l__fontscale_scriptsize_scale_tl }
+ { \exp_not:V \l__fontscale_scriptsize_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_footnotesize_scale_tl
- { \exp_not:o \l__fontscale_footnotesize_scale_tl }
+ { \exp_not:V \l__fontscale_footnotesize_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_small_scale_tl
- { \exp_not:o \l__fontscale_small_scale_tl }
+ { \exp_not:V \l__fontscale_small_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_large_scale_tl
- { \exp_not:o \l__fontscale_large_scale_tl }
+ { \exp_not:V \l__fontscale_large_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Large_scale_tl
- { \exp_not:o \l__fontscale_Large_scale_tl }
+ { \exp_not:V \l__fontscale_Large_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_LARGE_scale_tl
- { \exp_not:o \l__fontscale_LARGE_scale_tl }
+ { \exp_not:V \l__fontscale_LARGE_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_huge_scale_tl
- { \exp_not:o \l__fontscale_huge_scale_tl }
+ { \exp_not:V \l__fontscale_huge_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Huge_scale_tl
- { \exp_not:o \l__fontscale_Huge_scale_tl }
+ { \exp_not:V \l__fontscale_Huge_scale_tl }
\tl_set:Nn \exp_not:N \l__fontscale_tiny_size_tl
- { \exp_not:o \l__fontscale_tiny_size_tl }
+ { \exp_not:V \l__fontscale_tiny_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_scriptsize_size_tl
- { \exp_not:o \l__fontscale_scriptsize_size_tl }
+ { \exp_not:V \l__fontscale_scriptsize_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_footnotesize_size_tl
- { \exp_not:o \l__fontscale_footnotesize_size_tl }
+ { \exp_not:V \l__fontscale_footnotesize_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_small_size_tl
- { \exp_not:o \l__fontscale_small_size_tl }
+ { \exp_not:V \l__fontscale_small_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_normalsize_size_tl
- { \exp_not:o \l__fontscale_normalsize_size_tl }
+ { \exp_not:V \l__fontscale_normalsize_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_large_size_tl
- { \exp_not:o \l__fontscale_large_size_tl }
+ { \exp_not:V \l__fontscale_large_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Large_size_tl
- { \exp_not:o \l__fontscale_Large_size_tl }
+ { \exp_not:V \l__fontscale_Large_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_LARGE_size_tl
- { \exp_not:o \l__fontscale_LARGE_size_tl }
+ { \exp_not:V \l__fontscale_LARGE_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_huge_size_tl
- { \exp_not:o \l__fontscale_huge_size_tl }
+ { \exp_not:V \l__fontscale_huge_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Huge_size_tl
- { \exp_not:o \l__fontscale_Huge_size_tl }
+ { \exp_not:V \l__fontscale_Huge_size_tl }
\tl_set:Nn \exp_not:N \l__fontscale_tiny_baselineskip_tl
- { \exp_not:o \l__fontscale_tiny_baselineskip_tl }
+ { \exp_not:V \l__fontscale_tiny_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_scriptsize_baselineskip_tl
- { \exp_not:o \l__fontscale_scriptsize_baselineskip_tl }
+ { \exp_not:V \l__fontscale_scriptsize_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_footnotesize_baselineskip_tl
- { \exp_not:o \l__fontscale_footnotesize_baselineskip_tl }
+ { \exp_not:V \l__fontscale_footnotesize_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_small_baselineskip_tl
- { \exp_not:o \l__fontscale_small_baselineskip_tl }
+ { \exp_not:V \l__fontscale_small_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_normalsize_baselineskip_tl
- { \exp_not:o \l__fontscale_normalsize_baselineskip_tl }
+ { \exp_not:V \l__fontscale_normalsize_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_large_baselineskip_tl
- { \exp_not:o \l__fontscale_large_baselineskip_tl }
+ { \exp_not:V \l__fontscale_large_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Large_baselineskip_tl
- { \exp_not:o \l__fontscale_Large_baselineskip_tl }
+ { \exp_not:V \l__fontscale_Large_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_LARGE_baselineskip_tl
- { \exp_not:o \l__fontscale_LARGE_baselineskip_tl }
+ { \exp_not:V \l__fontscale_LARGE_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_huge_baselineskip_tl
- { \exp_not:o \l__fontscale_huge_baselineskip_tl }
+ { \exp_not:V \l__fontscale_huge_baselineskip_tl }
\tl_set:Nn \exp_not:N \l__fontscale_Huge_baselineskip_tl
- { \exp_not:o \l__fontscale_Huge_baselineskip_tl }
+ { \exp_not:V \l__fontscale_Huge_baselineskip_tl }
}
}
@@ -576,36 +624,59 @@
{
\keys_set:nn { fontscale } {#1}
\__fontscale_keys_process:
+ \normalsize
+ \prg_break:
+ \prg_break_point:
}
\cs_new_protected:Npn \__fontscale_keys_process:
{
+ \__fontscale_keys_process_check_modular_musical:
\__fontscale_keys_process_normalsize:
\__fontscale_keys_process_other:
- \__fontscale_keys_process_other_props:
\__fontscale_keys_process_check_order:
}
-% Sets the size and baselineskip of \normalsize, stores them in a property
-% list, and uses \normalsize.
+% Issues an error if the key 'modular/ratio', 'musical/ratio', or
+% 'musical/notes' is set to an impossible value.
+\cs_new_protected:Npn \__fontscale_keys_process_check_modular_musical:
+ {
+ \fp_compare:nNnF \l__fontscale_modular_ratio_fp > \c_one_fp
+ {
+ \msg_error:nn { fontscale } { modular-ratio-out-of-bounds }
+ \prg_break:
+ }
+ \fp_compare:nNnF \l__fontscale_musical_ratio_fp > \c_one_fp
+ {
+ \msg_error:nn { fontscale } { musical-ratio-out-of-bounds }
+ \prg_break:
+ }
+ \int_compare:nNnF \l__fontscale_musical_notes_int > 0
+ {
+ \msg_error:nn { fontscale } { musical-notes-out-of-bounds }
+ \prg_break:
+ }
+ }
+% Sets the size and baselineskip of \normalsize and updates their property list
+% entries.
\cs_new_protected:Npn \__fontscale_keys_process_normalsize:
{
\quark_if_no_value:NTF \l__fontscale_normalsize_size_tl
{
\dim_set:Nn \l_fontscale_normalsize_size_dim
{
- \str_case:on \l__fontscale_typographic_scale_str
+ \str_case:VnF \l__fontscale_typographic_scale_str
{
- { classic-10pt } { 10pt }
{ classic-11pt } { 11pt }
{ classic-12pt } { 12pt }
- { modular } { 10pt }
- { musical } { 10pt }
}
+ { 10pt }
}
}
{
- \__fontscale_dim_set_with_default_unit:Nn
+ \__fontscale_dim_set_with_default_pt:Nn
\l_fontscale_normalsize_size_dim { \l__fontscale_normalsize_size_tl }
}
+ \prop_put:NnV \l_fontscale_normalsize_prop { size }
+ \l_fontscale_normalsize_size_dim
\fp_set:Nn \l__fontscale_normalsize_size_fp
{ \l_fontscale_normalsize_size_dim }
\quark_if_no_value:NTF \l__fontscale_normalsize_baselineskip_tl
@@ -620,127 +691,97 @@
}
}
{
- \__fontscale_skip_set_with_default_unit:Nn
+ \__fontscale_skip_set_with_default_pt:Nn
\l_fontscale_normalsize_baselineskip_skip
{ \l__fontscale_normalsize_baselineskip_tl }
}
- \prop_put:Nno \l_fontscale_normalsize_prop { size }
- { \dim_use:N \l_fontscale_normalsize_size_dim }
- \prop_put:Nno \l_fontscale_normalsize_prop { baselineskip }
- { \skip_use:N \l_fontscale_normalsize_baselineskip_skip }
- \normalsize
+ \prop_put:NnV \l_fontscale_normalsize_prop { baselineskip }
+ \l_fontscale_normalsize_baselineskip_skip
}
-% Sets the size, scale, and baselineskip of the other font size commands.
-% Issues a warning if the user sets both the scale and size keys for the same
+% Auxiliary functions that expand to the font size depending on the name of the
% font size command.
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xpt:n #1
+\cs_new:Npn \__fontscale_keys_process_other_classic_xpt:n #1
{
- \dim_set:cn { l_fontscale_#1_size_dim }
+ \str_case:nn {#1}
{
- \str_case:nn {#1}
- {
- { tiny } { 6pt }
- { scriptsize } { 7pt }
- { footnotesize } { 8pt }
- { small } { 9pt }
- { large } { 11pt }
- { Large } { 12pt }
- { LARGE } { 14pt }
- { huge } { 16pt }
- { Huge } { 18pt }
- }
+ { tiny } { 6pt }
+ { scriptsize } { 7pt }
+ { footnotesize } { 8pt }
+ { small } { 9pt }
+ { large } { 11pt }
+ { Large } { 12pt }
+ { LARGE } { 14pt }
+ { huge } { 16pt }
+ { Huge } { 18pt }
}
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xipt:n #1
+\cs_new:Npn \__fontscale_keys_process_other_classic_xipt:n #1
{
- \dim_set:cn { l_fontscale_#1_size_dim }
+ \str_case:nn {#1}
{
- \str_case:nn {#1}
- {
- { tiny } { 7pt }
- { scriptsize } { 8pt }
- { footnotesize } { 9pt }
- { small } { 10pt }
- { large } { 12pt }
- { Large } { 14pt }
- { LARGE } { 16pt }
- { huge } { 18pt }
- { Huge } { 21pt }
- }
+ { tiny } { 7pt }
+ { scriptsize } { 8pt }
+ { footnotesize } { 9pt }
+ { small } { 10pt }
+ { large } { 12pt }
+ { Large } { 14pt }
+ { LARGE } { 16pt }
+ { huge } { 18pt }
+ { Huge } { 21pt }
}
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xiipt:n #1
+\cs_new:Npn \__fontscale_keys_process_other_classic_xiipt:n #1
{
- \dim_set:cn { l_fontscale_#1_size_dim }
+ \str_case:nn {#1}
{
- \str_case:nn {#1}
- {
- { tiny } { 8pt }
- { scriptsize } { 9pt }
- { footnotesize } { 10pt }
- { small } { 11pt }
- { large } { 14pt }
- { Large } { 16pt }
- { LARGE } { 18pt }
- { huge } { 21pt }
- { Huge } { 24pt }
- }
+ { tiny } { 8pt }
+ { scriptsize } { 9pt }
+ { footnotesize } { 10pt }
+ { small } { 11pt }
+ { large } { 14pt }
+ { Large } { 16pt }
+ { LARGE } { 18pt }
+ { huge } { 21pt }
+ { Huge } { 24pt }
}
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_modular:n #1
+\cs_new:Npn \__fontscale_keys_process_other_modular:n #1
{
- \dim_set:cn { l_fontscale_#1_size_dim }
+ \fp_to_dim:n
{
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
- ^ \use:c { c_fontscale_#1_step_fp }
- }
+ \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
+ ^ \use:c { c_fontscale_#1_step_fp }
}
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_musical:n #1
+\cs_new:Npn \__fontscale_keys_process_other_musical:n #1
{
- \dim_set:cn { l_fontscale_#1_size_dim }
+ \fp_to_dim:n
{
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
- ^ ( \use:c { c_fontscale_#1_step_fp }
- / \l__fontscale_musical_notes_fp )
- }
+ \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
+ ^ ( \use:c { c_fontscale_#1_step_fp }
+ / \l__fontscale_musical_notes_fp )
}
}
+% Sets the size, scale, and baselineskip of the other font size commands and
+% updates their property list entries. Issues a warning if the user sets both
+% the scale and size keys for the same font size command.
\cs_new_protected:Npn \__fontscale_keys_process_other:
{
- \str_case:on \l__fontscale_typographic_scale_str
+ \cs_set_eq:Nc \__fontscale_keys_process_other_typographic_scale:n
{
- { classic-10pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xpt:n
- }
- { classic-11pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xipt:n
- }
- { classic-12pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xiipt:n
- }
- { modular }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_modular:n
- }
- { musical }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_musical:n
- \fp_set:Nn \l__fontscale_musical_notes_fp
- { \l__fontscale_musical_notes_int }
- }
+ \str_case:Vn \l__fontscale_typographic_scale_str
+ {
+ { classic-10pt } { __fontscale_keys_process_other_classic_xpt:n }
+ { classic-11pt } { __fontscale_keys_process_other_classic_xipt:n }
+ { classic-12pt } { __fontscale_keys_process_other_classic_xiipt:n }
+ { modular } { __fontscale_keys_process_other_modular:n }
+ { musical } { __fontscale_keys_process_other_musical:n }
+ }
+ }
+ \str_if_eq:VnT \l__fontscale_typographic_scale_str { musical }
+ {
+ \fp_set:Nn \l__fontscale_musical_notes_fp
+ { \l__fontscale_musical_notes_int }
}
\tl_map_function:NN \c__fontscale_names_other_tl
\__fontscale_keys_process_other_aux:n
@@ -749,7 +790,7 @@
{
\quark_if_no_value:cF { l__fontscale_#1_size_tl }
{
- \__fontscale_dim_set_with_default_unit:cn { l_fontscale_#1_size_dim }
+ \__fontscale_dim_set_with_default_pt:cn { l_fontscale_#1_size_dim }
{ \use:c { l__fontscale_#1_size_tl } }
\quark_if_no_value:cF { l__fontscale_#1_scale_tl }
{ \msg_warning:nnn { fontscale } { key-font-scale-ignored } {#1} }
@@ -767,10 +808,15 @@
}
\prg_break:
}
- \prg_break:n { \__fontscale_keys_process_other_typographic_scale:n {#1} }
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ { \__fontscale_keys_process_other_typographic_scale:n {#1} }
+ \prg_break:
\prg_break_point:
\fp_set:cn { l_fontscale_#1_scale_fp }
{ \use:c { l_fontscale_#1_size_dim } / \l__fontscale_normalsize_size_fp }
+ \prop_put:cne { l_fontscale_#1_prop } { scale }
+ { \fp_use:c { l_fontscale_#1_scale_fp } }
+ \prop_put:cnv { l_fontscale_#1_prop } { size } { l_fontscale_#1_size_dim }
\quark_if_no_value:cTF { l__fontscale_#1_baselineskip_tl }
{
\skip_set:cn { l_fontscale_#1_baselineskip_skip }
@@ -783,74 +829,16 @@
}
}
{
- \__fontscale_skip_set_with_default_unit:cn
+ \__fontscale_skip_set_with_default_pt:cn
{ l_fontscale_#1_baselineskip_skip }
{ \use:c { l__fontscale_#1_baselineskip_tl } }
}
+ \prop_put:cnv { l_fontscale_#1_prop } { baselineskip }
+ { l_fontscale_#1_baselineskip_skip }
}
-% Puts the scale, size, and baselineskip of the other font size commands in
-% property lists.
-\cs_new_protected:Npn \__fontscale_keys_process_other_props:
- {
- \prop_put:Nne \l_fontscale_tiny_prop { scale }
- { \fp_use:N \l_fontscale_tiny_scale_fp }
- \prop_put:Nne \l_fontscale_scriptsize_prop { scale }
- { \fp_use:N \l_fontscale_scriptsize_scale_fp }
- \prop_put:Nne \l_fontscale_footnotesize_prop { scale }
- { \fp_use:N \l_fontscale_footnotesize_scale_fp }
- \prop_put:Nne \l_fontscale_small_prop { scale }
- { \fp_use:N \l_fontscale_small_scale_fp }
- \prop_put:Nne \l_fontscale_large_prop { scale }
- { \fp_use:N \l_fontscale_large_scale_fp }
- \prop_put:Nne \l_fontscale_Large_prop { scale }
- { \fp_use:N \l_fontscale_Large_scale_fp }
- \prop_put:Nne \l_fontscale_LARGE_prop { scale }
- { \fp_use:N \l_fontscale_LARGE_scale_fp }
- \prop_put:Nne \l_fontscale_huge_prop { scale }
- { \fp_use:N \l_fontscale_huge_scale_fp }
- \prop_put:Nne \l_fontscale_Huge_prop { scale }
- { \fp_use:N \l_fontscale_Huge_scale_fp }
-
- \prop_put:Nno \l_fontscale_tiny_prop { size }
- { \dim_use:N \l_fontscale_tiny_size_dim }
- \prop_put:Nno \l_fontscale_scriptsize_prop { size }
- { \dim_use:N \l_fontscale_scriptsize_size_dim }
- \prop_put:Nno \l_fontscale_footnotesize_prop { size }
- { \dim_use:N \l_fontscale_footnotesize_size_dim }
- \prop_put:Nno \l_fontscale_small_prop { size }
- { \dim_use:N \l_fontscale_small_size_dim }
- \prop_put:Nno \l_fontscale_large_prop { size }
- { \dim_use:N \l_fontscale_large_size_dim }
- \prop_put:Nno \l_fontscale_Large_prop { size }
- { \dim_use:N \l_fontscale_Large_size_dim }
- \prop_put:Nno \l_fontscale_LARGE_prop { size }
- { \dim_use:N \l_fontscale_LARGE_size_dim }
- \prop_put:Nno \l_fontscale_huge_prop { size }
- { \dim_use:N \l_fontscale_huge_size_dim }
- \prop_put:Nno \l_fontscale_Huge_prop { size }
- { \dim_use:N \l_fontscale_Huge_size_dim }
-
- \prop_put:Nno \l_fontscale_tiny_prop { baselineskip }
- { \skip_use:N \l_fontscale_tiny_baselineskip_skip }
- \prop_put:Nno \l_fontscale_scriptsize_prop { baselineskip }
- { \skip_use:N \l_fontscale_scriptsize_baselineskip_skip }
- \prop_put:Nno \l_fontscale_footnotesize_prop { baselineskip }
- { \skip_use:N \l_fontscale_footnotesize_baselineskip_skip }
- \prop_put:Nno \l_fontscale_small_prop { baselineskip }
- { \skip_use:N \l_fontscale_small_baselineskip_skip }
- \prop_put:Nno \l_fontscale_large_prop { baselineskip }
- { \skip_use:N \l_fontscale_large_baselineskip_skip }
- \prop_put:Nno \l_fontscale_Large_prop { baselineskip }
- { \skip_use:N \l_fontscale_Large_baselineskip_skip }
- \prop_put:Nno \l_fontscale_LARGE_prop { baselineskip }
- { \skip_use:N \l_fontscale_LARGE_baselineskip_skip }
- \prop_put:Nno \l_fontscale_huge_prop { baselineskip }
- { \skip_use:N \l_fontscale_huge_baselineskip_skip }
- \prop_put:Nno \l_fontscale_Huge_prop { baselineskip }
- { \skip_use:N \l_fontscale_Huge_baselineskip_skip }
- }
-% Issues a warning if the font sizes or font baselineskips are not in the
-% correct order.
+% Issues a warning if the font sizes or font baselineskips (ignoring the
+% stretch and shrink components) are not in the correct order unless the value
+% for the key 'ignore-order' is 'true'.
\cs_new_protected:Npn \__fontscale_keys_process_check_order:
{
\bool_if:NF \l__fontscale_ignore_order_bool
@@ -891,66 +879,64 @@
% The internal functions of each font size command are not used elsewhere in
% the code for compatibility with user-defined hooks
% (e.g. \AddToHook{cmd/normalsize/after}{<user-defined-function>}).
-% Need \dim_use:N for compatibility with the microtype package.
\DeclareDocumentCommand \tiny { } { \__fontscale_tiny: }
\cs_new_protected:Npn \__fontscale_tiny:
{
- \@setfontsize \tiny { \dim_use:N \l_fontscale_tiny_size_dim }
+ \__fontscale_fontsize:NNN \tiny \l_fontscale_tiny_size_dim
\l_fontscale_tiny_baselineskip_skip
}
\DeclareDocumentCommand \scriptsize { } { \__fontscale_scriptsize: }
\cs_new_protected:Npn \__fontscale_scriptsize:
{
- \@setfontsize \scriptsize { \dim_use:N \l_fontscale_scriptsize_size_dim }
+ \__fontscale_fontsize:NNN \scriptsize \l_fontscale_scriptsize_size_dim
\l_fontscale_scriptsize_baselineskip_skip
}
\DeclareDocumentCommand \footnotesize { } { \__fontscale_footnotesize: }
\cs_new_protected:Npn \__fontscale_footnotesize:
{
- \@setfontsize \footnotesize
- { \dim_use:N \l_fontscale_footnotesize_size_dim }
+ \__fontscale_fontsize:NNN \footnotesize \l_fontscale_footnotesize_size_dim
\l_fontscale_footnotesize_baselineskip_skip
}
\DeclareDocumentCommand \small { } { \__fontscale_small: }
\cs_new_protected:Npn \__fontscale_small:
{
- \@setfontsize \small { \dim_use:N \l_fontscale_small_size_dim }
+ \__fontscale_fontsize:NNN \small \l_fontscale_small_size_dim
\l_fontscale_small_baselineskip_skip
}
\DeclareDocumentCommand \normalsize { } { \__fontscale_normalsize: }
\cs_new_protected:Npn \__fontscale_normalsize:
{
- \@setfontsize \normalsize { \dim_use:N \l_fontscale_normalsize_size_dim }
+ \__fontscale_fontsize:NNN \normalsize \l_fontscale_normalsize_size_dim
\l_fontscale_normalsize_baselineskip_skip
}
\DeclareDocumentCommand \large { } { \__fontscale_large: }
\cs_new_protected:Npn \__fontscale_large:
{
- \@setfontsize \large { \dim_use:N \l_fontscale_large_size_dim }
+ \__fontscale_fontsize:NNN \large \l_fontscale_large_size_dim
\l_fontscale_large_baselineskip_skip
}
\DeclareDocumentCommand \Large { } { \__fontscale_Large: }
\cs_new_protected:Npn \__fontscale_Large:
{
- \@setfontsize \Large { \dim_use:N \l_fontscale_Large_size_dim }
+ \__fontscale_fontsize:NNN \Large \l_fontscale_Large_size_dim
\l_fontscale_Large_baselineskip_skip
}
\DeclareDocumentCommand \LARGE { } { \__fontscale_LARGE: }
\cs_new_protected:Npn \__fontscale_LARGE:
{
- \@setfontsize \LARGE { \dim_use:N \l_fontscale_LARGE_size_dim }
+ \__fontscale_fontsize:NNN \LARGE \l_fontscale_LARGE_size_dim
\l_fontscale_LARGE_baselineskip_skip
}
\DeclareDocumentCommand \huge { } { \__fontscale_huge: }
\cs_new_protected:Npn \__fontscale_huge:
{
- \@setfontsize \huge { \dim_use:N \l_fontscale_huge_size_dim }
+ \__fontscale_fontsize:NNN \huge \l_fontscale_huge_size_dim
\l_fontscale_huge_baselineskip_skip
}
\DeclareDocumentCommand \Huge { } { \__fontscale_Huge: }
\cs_new_protected:Npn \__fontscale_Huge:
{
- \@setfontsize \Huge { \dim_use:N \l_fontscale_Huge_size_dim }
+ \__fontscale_fontsize:NNN \Huge \l_fontscale_Huge_size_dim
\l_fontscale_Huge_baselineskip_skip
}
% Initializes to \normalsize.
@@ -974,7 +960,7 @@
{ \l_fontscale_Huge_size_dim } { 5 }
}
{
- \str_case:on \l__fontscale_typographic_scale_str
+ \str_case:Vn \l__fontscale_typographic_scale_str
{
{ modular }
{
@@ -1016,6 +1002,8 @@
{ \__fontscale_add_font_step:n {#2} }
{ \__fontscale_set_font_step:n {#2} }
}
+% Using \str_case: here is significantly faster (and easier to write) than
+% repeatedly testing \fp_compare:.
\cs_new_protected:Npn \__fontscale_set_font_step:n #1
{
\str_case:enF { \fp_eval:n {#1} }
@@ -1032,11 +1020,11 @@
{ 5 } { \Huge }
}
{
- \str_case:onF \l__fontscale_typographic_scale_str
+ \str_case:VnF \l__fontscale_typographic_scale_str
{
{ modular }
{
- \fontsize
+ \__fontscale_fontsize:n
{
\fp_to_dim:n
{
@@ -1044,15 +1032,10 @@
* \l__fontscale_modular_ratio_fp ^ (#1)
}
}
- {
- \fp_to_dim:n
- { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
- }
- \selectfont
}
{ musical }
{
- \fontsize
+ \__fontscale_fontsize:n
{
\fp_to_dim:n
{
@@ -1061,11 +1044,6 @@
^ ( (#1) / \l__fontscale_musical_notes_fp )
}
}
- {
- \fp_to_dim:n
- { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
- }
- \selectfont
}
}
{ \msg_error:nn { fontscale } { font-step-out-of-bounds } }
@@ -1075,7 +1053,7 @@
{
\tl_set:Ne \l__fontscale_step_tl { \__fontscale_current_font_step: }
\tl_if_empty:NTF \l__fontscale_step_tl
- { \msg_error:nn { fontscale } { font-step-out-of-bounds } }
+ { \msg_error:nn { fontscale } { current-font-step-out-of-bounds } }
{ \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_step_tl } }
}
\cs_new_eq:NN \__fontscale_add_font_step_aux:n \__fontscale_set_font_step:n
@@ -1088,17 +1066,13 @@
}
\cs_new_protected:Npn \__fontscale_set_font_scale:n #1
{
- \fontsize
+ \__fontscale_fontsize:n
{ \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) } }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
}
\cs_new_protected:Npn \__fontscale_add_font_scale:n #1
{
- \fontsize
+ \__fontscale_fontsize:n
{ \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) + \f@size } }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
}
\NewDocumentCommand \SetFontSize { s m }
@@ -1107,41 +1081,27 @@
{ \__fontscale_add_font_size:n {#2} }
{ \__fontscale_set_font_size:n {#2} }
}
-\cs_new_protected:Npn \__fontscale_set_font_size:n #1
- {
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
- \fontsize \l__fontscale_size_dim
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
- }
+\cs_new_eq:NN \__fontscale_set_font_size:n \__fontscale_fontsize:n
\cs_new_protected:Npn \__fontscale_add_font_size:n #1
{
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
+ \__fontscale_dim_set_with_default_pt:Nn \l__fontscale_size_dim {#1}
\dim_add:Nn \l__fontscale_size_dim { \f@size pt }
- \fontsize \l__fontscale_size_dim
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
+ \__fontscale_fontsize:n { \l__fontscale_size_dim }
}
-\NewDocumentCommand \ScaleFont { m } { \__fontscale_scalefont:n {#1} }
-\cs_new_protected:Npn \__fontscale_scalefont:n #1
+\NewDocumentCommand \ScaleFont { m }
+ { \__fontscale_scale_font_size_baselineskip:n {#1} }
+\cs_new_protected:Npn \__fontscale_scale_font_size_baselineskip:n #1
{
- \fontsize
+ \__fontscale_fontsize:nn
{ \fp_to_dim:n { \f@size * (#1) } }
{ \fp_to_dim:n { \dim_to_fp:n { \f@baselineskip } * (#1) } }
- \selectfont
}
\NewDocumentCommand \SetFontSizeBaselineskip { m m }
{ \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
-\cs_new_protected:Npn \__fontscale_set_font_size_baselineskip:nn #1#2
- {
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
- \__fontscale_skip_set_with_default_unit:Nn \l__fontscale_baselineskip_skip
- {#2}
- \fontsize \l__fontscale_size_dim \l__fontscale_baselineskip_skip
- \selectfont
- }
+\cs_new_eq:NN \__fontscale_set_font_size_baselineskip:nn
+ \__fontscale_fontsize:nn
\NewDocumentCommand \PrintFontParameters { }
{ \__fontscale_print_font_parameters: }
@@ -1212,70 +1172,72 @@
\NewDocumentCommand \PrintFontSizeCommand { } { \__fontscale_print_name: }
\cs_new_protected:Npn \__fontscale_print_name:
{
- \dim_case:nnF { \f@size pt }
+ \dim_case:nn { \f@size pt }
{
{ \l_fontscale_tiny_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_tiny_baselineskip_skip }
- { \token_to_str:N \tiny } { UNDEFINED \@ }
+ { \token_to_str:N \tiny \prg_break: }
}
{ \l_fontscale_scriptsize_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_scriptsize_baselineskip_skip }
- { \token_to_str:N \scriptsize } { UNDEFINED \@ }
+ { \token_to_str:N \scriptsize \prg_break: }
}
{ \l_fontscale_footnotesize_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_footnotesize_baselineskip_skip }
- { \token_to_str:N \footnotesize } { UNDEFINED \@ }
+ { \token_to_str:N \footnotesize \prg_break: }
}
{ \l_fontscale_small_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_small_baselineskip_skip }
- { \token_to_str:N \small } { UNDEFINED \@ }
+ { \token_to_str:N \small \prg_break: }
}
{ \l_fontscale_normalsize_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_normalsize_baselineskip_skip }
- { \token_to_str:N \normalsize } { UNDEFINED \@ }
+ { \token_to_str:N \normalsize \prg_break: }
}
{ \l_fontscale_large_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_large_baselineskip_skip }
- { \token_to_str:N \large } { UNDEFINED \@ }
+ { \token_to_str:N \large \prg_break: }
}
{ \l_fontscale_Large_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_Large_baselineskip_skip }
- { \token_to_str:N \Large } { UNDEFINED \@ }
+ { \token_to_str:N \Large \prg_break: }
}
{ \l_fontscale_LARGE_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_LARGE_baselineskip_skip }
- { \token_to_str:N \LARGE \@ } { UNDEFINED \@ }
+ { \token_to_str:N \LARGE \@ \prg_break: }
}
{ \l_fontscale_huge_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_huge_baselineskip_skip }
- { \token_to_str:N \huge } { UNDEFINED \@ }
+ { \token_to_str:N \huge \prg_break: }
}
{ \l_fontscale_Huge_size_dim }
{
- \skip_if_eq:nnTF { \f@baselineskip }
+ \skip_if_eq:nnT { \f@baselineskip }
{ \l_fontscale_Huge_baselineskip_skip }
- { \token_to_str:N \Huge } { UNDEFINED \@ }
+ { \token_to_str:N \Huge \prg_break: }
}
}
- { UNDEFINED \@ }
+ UNDEFINED \@
+ \prg_break:
+ \prg_break_point:
}
% TEXT PURIFY
diff --git a/macros/latex/contrib/frenchmath/frenchmath.dtx b/macros/latex/contrib/frenchmath/frenchmath.dtx
index edd050c10a..4b042e9ef6 100644
--- a/macros/latex/contrib/frenchmath/frenchmath.dtx
+++ b/macros/latex/contrib/frenchmath/frenchmath.dtx
@@ -20,7 +20,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{frenchmath}
- [2024/02/25 v2.10 .dtx Typesetting mathematics according to French rules]
+ [2024/05/07 v3.1 .dtx Typesetting mathematics according to French rules]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -28,26 +28,21 @@
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{lmodern}
-\usepackage[lgrmath]{frenchmath}
-\usepackage[Euler]{upgreek}
-\usepackage{textalpha}
+\usepackage[lgrmath,savegreeks,otherfonts]{frenchmath}
\usepackage{metalogo} % pour les logos XeLaTeX et LuaLaTeX
\usepackage{sectsty}
\usepackage{xcolor}
+%\usepackage{textalpha}
+\usepackage{tabls}
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\color{darkbrown}}
-% pour les lettres de upgreek avec l'option Symbol :
-\DeclareSymbolFont{ugrfm}{U}{psy}{m}{n}
-\DeclareMathSymbol{\upalphasym}{\mathord}{ugrfm}{`a}
-\DeclareMathSymbol{\upbetasym}{\mathord}{ugrfm}{`b}
-\DeclareMathSymbol{\uppisym}{\mathord}{ugrfm}{`p}
-% symbole \emptyset de computer modern au cas où veut changer la police de ce doc :
-\DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n}
-\DeclareMathSymbol{\cmemptyset}{\mathord}{cmsymbols}{'73} % code octal dans cmsy
+
+% symbole \emptyset de computer modern au cas où on change la police de ce doc :
+\def\CMemptyset{\mathord{\text{\usefont{OMS}{cmsy}{m}{n}\symbol{'73}}}}
% pour avoir le mu de micro :
\DeclareTextSymbol{\textmicro}{TS1}{181}
-\DeclareTextSymbolDefault{\textmicro}{TS1}
+%\DeclareTextSymbolDefault{\textmicro}{TS1}
\DisableCrossrefs
%\CodelineIndex
@@ -62,6 +57,7 @@
pdfauthor={Antoine Missier}
}
\begin{document}
+%\MakeShortVerb" % incompatible si placé avant
\DocInput{frenchmath.dtx}
%\PrintChanges
%\PrintIndex
@@ -69,7 +65,7 @@
%</driver>
% \fi
%
-% \CheckSum{594}
+% \CheckSum{322}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -118,7 +114,7 @@
% - ajout des macros pour les bases (i,j) et (i,j,k).}
%
% \changes{v1.6}{2022/10/16}{
-% - Remplacement de icomma par ncccomma, grâce à une proposition de J. F. Burnol,
+% - Remplacement de icomma par ncccomma, grâce à un "patch" de J. F. Burnol,
% - amélioration du code redéfinissant les majuscules mathématiques,
% - suppression de l'option capsup (capsit à false suffit),
% - remplacement de tgh par th pour la tangente hyperbolique.}
@@ -182,17 +178,31 @@
% - compatibilité des options de lettres grecques avec unicode-math (XeLaTeX uniquement)
% -> nouvelles macros SaveGreekItalics et upgreekUndefined,
% - commentaires dans la doc pour la compatibilité avec unicode-math.}
-
+%
% \changes{v2.10}{22/02/2024}{
% - Changements dans la doc concernant la gestion des lettres grecques et unicode-math.}
%
+% \changes{v3.0}{04/03/2024}{
+% - Redéfinition de cmod qui correspond au pod de amsmath,
+% - Modification du chargement conditionnel de dotlessj,
+% - Copie du code de legslant, geqslant, varnothing sans importer amssymb,
+% - Utilisation de AtEndPreamble pour pouvoir charger frenchmath avant unicode-math,
+% - Ajout d'une table des matières.}
+% \changes{v3.0}{12/04/2024}{
+% - Développement et intégration de l'extension mathgreeks
+% - Mise à jour de la documentation}
+%
+% \changes{v3.1}{07/05/2024}{
+% - Correction de bug pour les macros varnothing et AMSvarnothing}
+%
% \GetFileInfo{frenchmath.sty}
%
% \title{L'extension \textsf{frenchmath}\thanks{Ce document
-% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 25/02/2024.}}
+% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 07/05/2024.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{25 février 2024}
+% \date{7 mai 2024}
% \maketitle
+% \tableofcontents
%
% \section{Introduction}
% Cette extension, inspirée à l'origine de \textsf{mafr} de Christian Obrecht~\cite{MAFR},
@@ -206,19 +216,20 @@
% \footnote{Contrairement à \textsf{mafr} nous avons choisi de ne pas
% conserver le même nom de commande pour substituer
% des symboles français aux symboles anglais.}.
-% Depuis la version 2.0, \textsf{frenchmath} propose en outre deux options permettant
+% Depuis la version 2.0, \textsf{frenchmath} propose en outre des options permettant
% de composer les minuscules grecques du mode mathématique en forme droite.
%
% \medskip
% D'autres solutions existent pour composer les majuscules mathématiques en romain,
% par exemple avec \XeLaTeX\ ou \LuaLaTeX\ et l'extension \textsf{unicode-math}~\cite{UNIC}.
-% Celle-ci peut être utilisée avec \textsf{frenchmath} à condition d'être chargée \emph{avant}.
% Pour pdf\LaTeX\, nous avons les extensions \textsf{fourier} de Michel Bovani~\cite{FOUR}
-% (avec la famille des fontes Adobe Utopia)
-% ou encore \textsf{mathdesign} de Paul Pichaureau~\cite{DESIGN}
-% (avec les polices Adobe Utopia, URW Garamond ou Bitstream Charter).
+% (avec la famille des fontes Adobe Utopia),
+% \textsf{mathdesign} de Paul Pichaureau~\cite{DESIGN}
+% (avec les polices Adobe Utopia, URW Garamond ou Bitstream Charter)
+% ou encore \textsf{kpfonts} de Christophe Caignaert~\cite{KPF}.
% Mais \textsf{frenchmath} fournit une solution générique
-% s'adaptant à n'importe quelle police de caractères.
+% s'adaptant à n'importe quelle police de caractères
+% (et compatible avec \textsf{unicode-math}).
%
% \medskip
% Certaines préconisations, telles que composer en lettre droite
@@ -250,10 +261,11 @@
% (cf. \cite{RTIN} p.107, voir aussi~\cite{IGEN}).
% En utilisant \XeLaTeX\ ou \LuaLaTeX,
% avec l'option \texttt{math-style=french} de l'extension \textsf{unicode-math},
-% cette convention est assez commode à mettre en œuvre,
-% y compris avec les polices TrueType ou OpenType ;
+% cette convention est commode à mettre en œuvre,
% par contre, avec \LaTeX\ ou pdf\LaTeX, elle est peu respectée
-% et les extensions précitées ne fonctionnent qu'avec des polices particulières.
+% et les extensions comme \textsf{mathdesign} (avec \texttt{uppercase=upright}),
+% \textsf{fourier} (avec \texttt{upright}) ou \textsf{kpfonts} (avec \texttt{uprightRoman})
+% ne fonctionnent qu'avec des polices particulières.
% Par défaut \textsf{frenchmath} compose automatiquement les majuscules
% mathématiques latines en romain,
% quelle que soit la police utilisée.
@@ -302,28 +314,30 @@
% (sans espace), sinon c'est un caractère de ponctuation.
% \end{itemize}
%
-% Cette deuxième approche parait meilleure, néanmoins \textsf{ncccomma}
+% Cette deuxième approche est plus souple, néanmoins \textsf{ncccomma}
% ne fonctionne pas avec \textsf{babel-french} utilisé conjointement avec
-% l'extension \textsf{numprint} et son option \texttt{autolanguage}
+% l'option \texttt{autolanguage}
% \footnote{L'option \texttt{autolanguage} de \textsf{numprint} utilisée
% conjointement avec l'option \texttt{french} de \textsf{babel} garantit un espacement
% correct entre les groupes de trois chiffres dans les grands nombres,
% qui doit être une espace insécable et non dilatable~\cite{RTIN},
-% légèrement plus grande que l'espace que l'on obtient sans cette option.}.
+% légèrement plus grande que l'espace que l'on obtient sans cette option.}
+% de l'extension \textsf{numprint}.
% En outre \textsf{ncccomma} ne fonctionne pas non plus
% avec l'extension \textsf{unicode-math} (et bugue à l'appel |\setmathfont|).
% Dans son article \emph{Intelligent commas}~\cite{BECC},
% Claudio Beccari propose une autre solution,
% voisine de \textsf{ncccomma}, mais qui produit le même type d'incompatibilités.
-% Le code a donc été revu et simplifié afin de régler proprement ces incompatibilités.
-% Comme bien des pays utilisent la virgule comme
+% Le code a donc été revu afin de régler ces incompatibilités.
+% Comme de nombreux pays utilisent la virgule comme
% séparateur décimal, il fait l'objet d'une extension séparée,
% \mbox{\textsf{decimalcomma}}~\cite{DECC}, qui est chargée par \textsf{frenchmath}
% (depuis la version 2.7).
-% Mais, si on utilise \textsf{unicode-math}, il est alors impératif de charger
-% \textsf{frenchmath} \emph{après}.
+% Bien que \textsf{decimalcomma} ne fonctionne avec \textsf{unicode-math}
+% que s'il est chargé après
% \footnote{L'extension \textsf{icomma} présente la même limitation et doit être chargée
-% après \textsf{unicode-math}.}.
+% après \textsf{unicode-math}.},
+% \textsf{frenchmath} s'est affranchi de cette contrainte (depuis la version 2.11).
%
% \medskip
% Lorsque l'on utilise l'extension \textsf{pstricks-add} de \textsf{PSTricks}
@@ -340,7 +354,7 @@
% avec \textsf{frenchmath} ;
% le comportement de \og ;\fg devient identique à celui de \og:\fg.
%
-% \medskip
+% \bigskip
% \DescribeMacro{crochets}
% Alors que les Anglais utilisent généralement les parenthèses
% pour les intervalles ouverts $(0, +\infty)$, l'usage en français est d'utiliser
@@ -349,7 +363,7 @@
% Nous avons redéfini les crochets dans l'extension \textsf{ibrackets}~\cite{BRACKETS}
% qui est chargée par \textsf{frenchmath},
% \DescribeMacro{[noibrackets]}
-% sauf si l'on active l'option \texttt{noibrackets}
+% sauf si on la désactive avec l'option \texttt{noibrackets}
% \footnote{D'autres solutions existent,
% par exemple avec l'extension \textsf{interval}
% ou encore avec la macro \texttt{\string\DeclarePairedDelimiter}
@@ -374,8 +388,8 @@
% et le signe}: par exemple |$x \in ] -\infty, 0]$| produit
% $x \in ] -\infty, 0]$ au lieu de $x \in ]-\infty, 0]$.
% Mais au contraire lorsque l'on veut faire de l'algèbre sur les intervalles,
-% \emph{il faut laisser une espace entre le second crochet et l'opération} + ou -,
-% par exemple, |$[a,b] + [c,d]$| produit $[a,b] + [c,d]$
+% \emph{il faut laisser une espace entre le second crochet et l'opération} + ou --,
+% par exemple, |$[a,b] +[c,d]$| donne $[a,b] +[c,d]$
% mais |$[a,b]+ [c,d]$| produit $[a,b]+ [c,d]$.
%
% En cas de comportement problématique, par exemple si
@@ -405,15 +419,23 @@
% \DescribeMacro{\infeg} \DescribeMacro{\supeg}
% Les relations $\infeg$ et $\supeg$ s'obtiennent avec les commandes |\infeg| et |\supeg|
% et diffèrent des versions anglaises de |\leq| ($\leq$) et |\geq| ($\geq$).
-% Ce sont des alias de |\leqslant| et |\geqslant| de l'extension \textsf{amssymb},
-% chargée par \textsf{frenchmath}.
+% Ce sont des alias de |\leqslant| et |\geqslant| de l'extension \textsf{amssymb}
+% (non chargée par \textsf{frenchmath}).
%
% \medskip
% \DescribeMacro{\vide}
% Le symbole de l'ensemble vide $\vide$
-% s'obtient avec |\vide| (alias de la commande |\varnothing| de l'extension \textsf{amssymb}) ;
+% s'obtient avec |\vide| (alias de la commande |\varnothing|
+% de l'extension \textsf{amssymb}) ;
% il diffère de celui obtenu avec |\emptyset|,
-% particulièrement laid dans la fonte classique Latin Modern : $\cmemptyset$.
+% particulièrement laid dans la fonte classique Latin Modern : $\CMemptyset$.
+%
+% \DescribeMacro{\AMSvarnothing}
+% Avec \textsf{unicode-math} et la fonte mathématique Latin Modern Math
+% (appelée avec |\setmathfont|), |\varnothing| produit le même glyphe
+% laid que |\emptyset|. Pour corriger cela, on dispose de la commande
+% |\AMSvarnothing|, qui doit être appelée dans le préambule
+% et permet d'obtenir le même glyphe que celui de \textsf{amssymb}.
%
% \medskip
% \DescribeMacro{\paral}
@@ -431,10 +453,10 @@
%
% \medskip
% \DescribeMacro{\cmod}
-% Le modulo se compose normalement entre parenthèses, avec |\pmod|,
-% mais on rencontre aussi, en français, le modulo entre crochets,
-% ce que permet la commande |\cmod| en respectant le bon espacement
-% propre au modulo : $ 53 \equiv 5 \cmod{12}$.
+% Le modulo se compose normalement entre parenthèses, avec |\pod| ou |\pmod|,
+% mais, en français, on le rencontre aussi entre crochets,
+% ce que permet la commande |\cmod|, en respectant le bon espacement
+% propre au modulo : $53 \equiv 5 \cmod{12}$.
%
% \subsection{Identifiants de \og fonctions\fg classiques}
%
@@ -492,8 +514,9 @@
% Les repères classiques du plan ou de l'espace seront composés
% avec des hauteurs de flèches homogénéisées :
% |\Oij| compose \Oij, |\Oijk| compose \Oijk et |\Ouv| compose \Ouv
-% (utilisé dans le plan complexe). \DescribeMacro{\Ouv}
-% On peut écrire ces commandes en mode texte, sans les délimiteurs du mode mathématique.
+% (utilisé dans le plan complexe).
+% \DescribeMacro{\Ouv}
+% Ces commandes peuvent être utilisées sans expliciter les délimiteurs du mode mathématique.
%
% \DescribeMacro{\Oij*} \DescribeMacro{\Oijk*} \DescribeMacro{\Ouv*}
% Les versions étoilées utilisent le point-virgule et non la virgule
@@ -503,9 +526,10 @@
% \medskip
% \DescribeMacro{\ij} \DescribeMacro{\ijk}
% Enfin les macros |\ij|
-% \footnote{Notons que la macro \texttt{\string\ij} existait déjà
-% (ligature entre i et j pour le hollandais) et a été redéfinie.}
-% et |\ijk| composent les bases du plan et de l'espace, \ij
+% \footnote{Notons que la macro \texttt{\string\ij} existe déjà
+% (ligature entre i et j pour le hollandais) ; elle a été redéfinie pour le mode
+% mathématique uniquement, qui doit donc ici être explicite : \texttt{\$\string\ij \$}.}
+% et |\ijk| composent les bases du plan et de l'espace, $\ij$
% et \ijk, en homogénéisant la hauteur des flèches.
%
% Signalons que, pour l'extension \textsf{mathptmx} (basée sur la police de texte Times),
@@ -514,8 +538,9 @@
% ce qui permet aux macros ci-dessus de fonctionner normalement.
%
% \subsection{Lettres grecques}
-% La norme concernant l'usage des lettres grecques en italique ou en forme droite
-% pour les mathématiques françaises ne semble pas aussi claire que pour les lettres romaines
+% Dans les mathématiques françaises, la norme concernant l'usage
+% des lettres grecques minuscules en italique ou en forme droite
+% ne semble pas aussi claire que pour les lettres romaines
% et il y a parfois divergence sur ce point.
% Beaucoup recommandent l'usage des lettres grecques
% minuscules en forme droite (\cite{FOUR}~\cite{DESIGN}~\cite{PMISO}), mais certains
@@ -538,29 +563,17 @@
% la documentation de \textsf{isomath} de Günter Milde~\cite{ISOM}
% expose différentes méthodes pour obtenir les lettres grecques
% en forme droite.
-% Par exemple les extensions \textsf{mathdesign}~\cite{DESIGN},
-% \textsf{fourier}~\cite{FOUR}
+% Par exemple les extensions \textsf{fourier}~\cite{FOUR}
+% \mbox{\textsf{mathdesign}}~\cite{DESIGN},
% ou \textsf{kpfonts}~\cite{KPF} disposent d'options permettant
% l'écriture automatique des lettres grecques minuscules en forme droite
-% (ou des majuscules en italique).
+% (et aussi des majuscules en italique) dans la police donnée.
% Citons également \textsf{newpxmath}, \textsf{newtxmath}
-% \footnote{L'extension \textsf{newtxmath} doit être chargée
-% après \textsf{frenchmath} qui utilise \textsf{amssymb} car la compilation
-% produit sinon un message d'erreur ;
-% ou sinon on peut ajouter \texttt{\string\let\string\Bbbk\string\relax}
-% avant de charger \textsf{frenchmath}.}
-% et \textsf{libertinust1math}
-% de Michael Sharpe,
+% et \textsf{libertinust1math} de Michael Sharpe ou
% \textsf{pxgreeks}, \textsf{txgreeks}
-% \footnote{Si on utilise \textsf{amsmath} (ou \textsf{mismath}),
-% \textsf{pxgreeks} ou \textsf{txgreeks} doit être chargée
-% \emph{après} \textsf{amsmath} (ou \textsf{mismath}),
-% pour éviter une erreur de compilation due à la redéfinition des commandes
-% \texttt{\string\iint}, \texttt{\string\iiint}, \texttt{\string\iiiint},
-% \texttt{\string\idotsint}.}
% et \textsf{libgreek} de Jean-François Burnol,
-% qui donnent de beaux résultats pour une utilisation avec
-% respectivement les polices Palatino, Times et Libertinus.
+% qui fournissent les formes droites avec
+% les polices Palatino, Times et Libertine respectivement.
%
% Jean-François Burnol a également développé l'extension \textsf{lgrmath}~\cite{LGR}
% qui permet d'utiliser, en mode mathématique, les différentes fontes de lettres
@@ -571,171 +584,207 @@
% \medskip
% Enfin, comme pour les majuscules, l'extension \textsf{unicode-math}
% réalise cette tâche automatiquement avec l'option \texttt{math-style=french},
-% mais nécessite une compilation avec \XeLaTeX\ ou \LuaLaTeX.
-%
-% \medskip
-% L'extension \textsf{frenchmath} fournit les options décrites ci-dessous
-% qui permettent d'obtenir les lettres grecques en forme droite.
-% Ces options peuvent être utilisées y compris avec \textsf{unicode-math},
-% mais \textsf{frenchmath} doit toujours être chargé
-% \emph{après} \textsf{unicode-math}.
+% mais nécessite une compilation \XeLaTeX\ ou \LuaLaTeX.
%
% \medskip
-% \DescribeEnv{[lgrmath]}
-% En activant l'option \texttt{lgrmath}, \textsf{frenchmath}
-% charge l'extension du même nom avec son option \texttt{style=french}
-% et la fonte \texttt{fcm} (de l'extension \textsf{cm-lgc})
-% \footnote{Évidemment il faut que \textsf{cm-lgc} soit installée
-% sur votre distribution sans quoi la fonte de substitution LGR/cmr/m/n sera utilisée.}.
-% Celle-ci se marie particulièrement bien avec la police usuelle Latin Modern.
-% Les commandes |\alpha|, |\beta|, etc.
-% produisent alors les lettres en forme droite
-% $\alphaup$, $\betaup$, \ldots, $\piup$, etc.,
-% tandis que |\alphait|, |\betait|, etc. produisent des formes italiques
-% $\alphait$, $\betait$, \ldots, $\piit$, etc.
-% Ces dernières sont peu à notre goût, mais on conserve les lettres
-% d'origine avec |\italpha|, |\itbeta| : $\italpha$, $\itbeta$, \ldots, $\itpi$, etc.
-%
-% \DescribeMacro{\SaveGreekItalics}
-% On peut aussi choisir d'autres fontes en chargeant l'extension
-% \textsf{lgrmath} indépendamment de \textsf{frenchmath}
-% (voir par exemple les options \texttt{font=Alegreya-LF} ou \texttt{font=Cochineal-LF}
-% de \textsf{lgrmath}).
-% Dans ce cas, il ne faut pas activer l'option \texttt{lgrmath} de \textsf{frenchmath}
-% et, si l'on veut conserver les lettres italiques d'origine,
-% il faut précéder le chargement
-% de \textsf{lgrmath} de la commande |\SaveGreekItalics| ;
-% avec \textsf{unicode-math}, il faut en outre placer cette commande
-% dans un |\AtBeginDocument| avec |\usepackage[style=french,font=...]{lgrmath}|
-% et \emph{après} le chargement de \textsf{unicode-math}.
+% Avant la version 3.0, \textsf{frenchmath} disposait de deux options pour composer
+% les lettres grecques en forme droite : \texttt{lgrmath} et \texttt{upgreek}
+% \footnote{En fait il y avait une troisième option, \texttt{Upgreek}, mais celle-ci
+% est désormais obsolète.}.
+% Inspiré par le travail de Jean-François Burnol, nous avons développé, et intégré
+% à \textsf{frenchmath}, l'extension \textsf{mathgreeks}~\cite{MGREEK}
+% qui permet d'utiliser de nombreuses fontes de lettres grecques
+% sans modifier les autres caractères et symboles.
+% Il suffit d'appeler \textsf{frenchmath} avec une des options de fonte de
+% \textsf{mathgreeks}, de la forme \texttt{clé=valeur}.
+% Par exemple, les lettres grecques droites de la police Utopia,
+% telles que fournies par l'extension \textsf{mathdesign}, s'obtiennent avec
+% \begin{center}
+% |\usepackage[mathdesign=Utopia]{frenchmath}|.
+% \end{center}
+% L'extension \textsf{mathdesign} elle-même ne sera pas chargée.
+% Lorsqu'une valeur n'est pas précisée, il y a toujours une valeur par défaut.
+% Par exemple pour \texttt{mathdesign}, nous avons choisi \texttt{Charter}.
+% Pour \texttt{upgreek}, la fonte par défaut est \texttt{Symbol}.
+% Pour \texttt{lgrmath}, nous avons choisi \texttt{fcm}
+% \footnote{Il faut que l'extension \textsf{cm-lgc} (développée par Alexej Kryukov)
+% soit installée sur votre distribution,
+% sans quoi la fonte de substitution LGR/lmr/m/n sera utilisée.
+% Les formes italiques du thêta $\ittheta$ ou du rho $\itrho$ de \texttt{fcm}
+% ne sont pas vraiment ceux d'usage en mathématiques, mais les formes droites
+% sont bien adaptées.
+% \texttt{Alegreya-LF} est une autre fonte assez élégante pour \texttt{lgrmath},
+% {\mathgreeksfont{enc=LGR,fam=Alegreya-LF,shape=n}\
+% mais produit un \texttt{\string \phi} $\phi$} moins courant et sans la variante
+% $\phi$.
+% }
+% qui se marie particulièrement bien avec la police usuelle Latin Modern.
+% Ainsi les options précédentes de \textsf{frenchmath} fonctionnent toujours.
+%
+% Les commandes |\alpha|, |\beta|, \ldots |\pi|, etc.
+% produisent alors les lettres en forme droite $\alpha$, $\beta$, \ldots, $\pi$, etc.
+% tandis que |\italpha|, |\itbeta|, \ldots, |\itpi|, etc. produisent les formes italiques
+% $\italpha$, $\itbeta$, \ldots, $\itpi$, etc.
+% Si ces dernières déplaisent, on peut activer l'option \texttt{savegreeks}
+% (option booléenne passée à \textsf{mathgreeks}) pour conserver les lettres
+% d'origine avec |\backalpha|, |\backbeta|, \ldots, |\backpi|, etc. :
+% $\backalpha$, $\backbeta$, \ldots, $\backpi$, etc.
%
% \medskip
-% \DescribeEnv{[upgreek]}
-% Avec la même philosophie, \textsf{frenchmath} fournit aussi l'option \texttt{upgreek}
-% basée sur l'extension \textsf{upgreek} de Walter Schmidt~\cite{UPGREEK} qui donne
-% accès à d'autres fontes de lettres grecques minuscules en forme droite avec
-% |\upalpha|, |\upbeta|, etc.
-% L'extension \textsf{upgreek} sera chargée avec son option \texttt{Symbol}
-% \footnote{L'option \texttt{Symbol} de \textsf{upgreek} se marie bien
-% avec une police comme Times par exemple.}
-% utilisant la police Adobe Symbol et qui produit des lettres grecques assez grasses :
-% $\upalphasym$, $\upbetasym$, \ldots, $\uppisym$, etc.
-%
-% Si l'on veut utiliser l'extension \textsf{upgreek}
-% avec l'une des deux autres options disponibles, \texttt{Euler}
-% (qui produit $\upalpha, \upbeta, \ldots, \uppi$, etc.)
-% ou \texttt{Symbolsmallscale},
-% il faut charger l'extension \textsf{upgreek} avec l'option souhaitée
-% indépendamment de \mbox{\textsf{frenchmath}}.
-% Par contre, pour que les commandes |\alpha|, |\beta|\ldots correspondent
-% aux formes droites (comme alias de |\upalpha|, |\upbeta|\ldots),
-% il faut ici conserver l'option \texttt{upgreek} de \textsf{frenchmath}.
-% Comme pour \textsf{lgrmath}, si l'on veut que les formes italiques d'origine
-% restent toujours disponibles avec les commandes
-% |\italpha|, |\itbeta|, etc.,
-% il faut précéder le chargement de l'extension \textsf{upgreek} de la commande
-% |\SaveGreekItalics| ;
-% \DescribeMacro{\upgreekUndefined}
-% et si l'on utilise \textsf{unicode-math}, il faut en outre ajouter la commande
-% |\upgreekUndefined| avant le |\usepackage[...]{upgreek}| et les trois
-% dans un |\AtBeginDocument| placé \emph{entre} le chargement de \textsf{unicode-math}
-% et celui de \textsf{frenchmath}
-% \footnote{Tout cela est bien contraignant, mais c'est lié au fonctionnement capricieux
-% de \textsf{unicode-math} qui génère de nombreuses incompatibilités. Ceci dit,
-% on n'a en principe besoin de nos options de lettres grecques droites que si l'on n'est
-% pas satisfait de celles fournies par \textsf{unicode-math}.}.
+% Nous présentons ci-après quelques unes des nombreuses options possibles.
+% On se référera à la documentation de \textsf{mathgreeks}~\cite{MGREEK}
+% pour d'autres exemples ou pour les formes italiques correspondantes.
+% La seconde ligne de chaque exemple contient, outre les majuscules,
+% des variantes obtenues avec |\varpepsilon|, |\vartheta|, etc.
+% (sans effet avec la clé \texttt{lgrmath}, excepté pour |\varsigma|).
+% Les clés sans valeur sont en fait des booléens dont la valeur par défaut est \texttt{true}.
%
% \medskip
-% \DescribeEnv{[Upgreek]}
-% Avec \LaTeX, les lettres grecques majuscules sont automatiquement composées
-% en forme droite et l'option \texttt{upgreek} ne concerne que les minuscules.
-% Cependant l'extension \textsf{upgreek}
-% propose aussi |\Upgamma|, \ldots, |Upomega| : $\Upgamma, \ldots, \Upomega$.
-% Afin de conserver majuscules et minuscules dans le même style,
-% \textsf{frenchmath} fournit l'option \texttt{Upgreek} qui redéfinit les majuscules
-% |\Gamma|, \ldots, |\Omega| pour correspondre à ces variantes.
-% Par contre l'on n'a alors plus accès aux caractères d'origine : $\Gamma, \ldots, \Omega$.
-% L'option \texttt{Upgreek} reprend aussi
-% les minuscules grecques de l'option \texttt{upgreek}, qu'il est donc
-% inutile d'invoquer simultanément.
+% \DeleteShortVerb{\|}
+% \newcommand\eg{\texttt{=}}
+% \noindent\begin{tabular}{|l|c|}
+% \hline
+% Option \texttt{clé=valeur} & Résultat \\
+% \hline
+% \textbf{lgrmath\eg Cochineal-LF} &
+% \mathgreeksfont{enc=LGR, fam=Cochineal-LF, shape=n}
+% \greektable \\
+% \hline
+% \textbf{lgrmath\eg fcm} &
+% \mathgreeksfont{enc=LGR, fam=fcm, shape=n}
+% \greektable \\
+% \hline
+% \textbf{upgreek\eg Euler} &
+% \mathgreeksfont{enc=U, fam=eur, shape=n}
+% \greektable \\
+% \hline
+% \textbf{upgreek\eg Symbol} &
+% \mathgreeksfont{enc=U, fam=psy, shape=n}
+% \greektable \\
+% \hline
+% \textbf{mathdesign\eg Charter} &
+% \mathgreeksfont{enc=OML, fam=mdbch, shape=n}
+% \greektable \\
+% \hline
+% \textbf{fourier} &
+% \mathgreeksfont{enc=FML, fam=futm}
+% \greektable \\
+% \hline
+% \textbf{pxfonts} &
+% \mathgreeksfont{enc=U, fam=pxmia}
+% \greektable \\
+% \hline
+% \textbf{txfonts} &
+% \mathgreeksfont{enc=U, fam=txmia}
+% \greektable \\
+% \hline
+% \textbf{libertinus} &
+% \mathgreeksfont{enc=LS1, fam=libertinust1math, shape=n}
+% \greektable \\
+% \hline
+% \end{tabular}
+% \MakeShortVerb{|}
+
+% \bigskip
+% Une option spéciale, \texttt{libsans} (booléen), permet d'obtenir une fonte
+% sans empattement pour \texttt{libertinus}.
+% Une autre option, non présentée dans le tableau, est \textbf{kpfonts},
+% avec deux valeurs possibles. Enfin
+% deux autres options sont disponibles, mais pour une compilation avec
+% \LuaLaTeX\ (ou \XeLaTeX):
+% \begin{description}
+% \item[fontspec\eg \ldots] De nombreuses valeurs sont possibles, par exemple
+% \texttt{FreeSerif},
+% \texttt{LiberationSerif},
+% \texttt{GFS Artemisia},
+% \texttt{GFS Didot} (valeur par défaut)\ldots
+% mais aussi des polices non libres comme \texttt{Cambria}, \texttt{Arial},
+% \texttt{Palatino Linotype}, \texttt{Times New Roman}\ldots\
+% si elles sont installées sur votre système ;
+% nécessite de charger l'extension \textsf{fontspec}
+% \footnote{L'extension \textsf{fontspec} est chargée automatiquement par
+% \textsf{unicode-math} ou \textsf{mathspec} (cette dernière étant spécifique à
+% \XeLaTeX), mais l'option \texttt{fontspec} permet une variété de polices
+% TrueType ou OpenType bien plus grande que l'option \texttt{unicode-math}.}.
+%
+% \item[unicode-math\eg \ldots]
+% Donne un beau résultat avec \texttt{Latin Modern Math} (valeur par défaut)
+% ou \texttt{STIX Two Math} ; nécessite le module \textsf{unicode-math}.
+%
+% \end{description}
%
% \medskip
-% Signalons aussi l'extension \textsf{textalpha} de Günter Milde~\cite{ALPHA} qui
-% donne accès aux lettres en forme droite \textalpha, \textbeta, \ldots,
-% \textpi, etc.,
-% mais en mode texte avec |\textalpha|, |\textbeta|, etc.
-% Ces glyphes, semblables à celles de la fonte \texttt{lmr} accessible avec \textsf{lgrmath},
-% se marient également bien avec la police Latin Modern,
-% par contre le thêta produit, \texttheta, n'est pas vraiment
-% celui qui est d'usage en mathématiques.
+% Par défaut \LaTeX\ compose les majuscules grecques en forme droite et il
+% n'est donc pas indispensable de recoder celles-ci. L'option \texttt{uppercase=false}
+% permet de conserver les majuscules d'origine : $\backGamma$, $\backDelta$, \ldots,
+% $\backOmega$ (sans le préfixe |\back...|).
%
% \medskip
% Mentionnons pour finir ce commentaire de Walter Schmidt~\cite{UPGREEK} que le mu
-% utilisé pour le préfixe des unités physiques, \textmicro, doit se composer avec |\textmu|
+% utilisé pour le préfixe des unités physiques, \textmu, doit se composer avec |\textmu|
% \footnote{L'extension \textsf{textalpha} fournit à la place \texttt{\string\textmicro}
% (depuis 2020) car elle redéfinit \texttt{\string\textmu}.},
% disponible en mode texte dans beaucoup de fontes (ou avec \textsf{textcomp}) ;
-% il diffère du $\mu$ droit mathématique.
+% il diffère du $\mu$ droit mathématique, obtenu avec |$\mu$| si l'on a activé
+% une des options de fonte précédentes.
+%
%
% \StopEventually{}
%
% \section{Le code}
%
+% Les seules options de \textsf{frenchmath} sont \texttt{capsit} et \texttt{noibrackets}.
+% Tout le travail sur les lettre grecques est dorénavant géré par \textsf{mathgreeks}
+% et toute option inconnue de \textsf{frenchmath} sera passée à \textsf{mathgreeks}.
+% Auquel cas, l'on y ajoute automatiquement l'option \texttt{upright}
+% pour composer les lettres grecques en forme droite.
+% Si l'on donne une clé ou une valeur invalide, c'est alors \textsf{mathgreeks} qui produira
+% un message d'erreur.
+%
% \begin{macrocode}
-\newif\ifcapsit
-\DeclareOption{capsit}{\capsittrue}
-\newif\iflgrmath
-\DeclareOption{lgrmath}{\lgrmathtrue}
-\newif\ifupgreek
-\DeclareOption{upgreek}{\upgreektrue}
-\newif\ifUpgreek
-\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue}
-\newif\ifnoibrackets
-\DeclareOption{noibrackets}{\noibracketstrue}
+\newif\iffrenchmath@capsit
+\DeclareOption{capsit}{\frenchmath@capsittrue}
+\newif\iffrenchmath@noibrackets
+\DeclareOption{noibrackets}{\frenchmath@noibracketstrue}
+\newif\iffrenchmath@mathgreeks
+\DeclareOption*{\frenchmath@mathgreekstrue
+ \PassOptionsToPackage{\CurrentOption,upright}{mathgreeks}}
\ProcessOptions \relax
-\@ifpackageloaded{unicode-math}{
- \@ifpackageloaded{mathdesign}{
- \PackageInfo{frenchmath}{Package mathdesign
- is loaded, \MessageBreak
- I don't load mathrsfs and amssymb}
- }{
- %\let\circledS\relax % utilisé uniquement par mathdesign
- \let\eth\relax % 3 incompatibilités unicode-math / amssymb
- \let\digamma\relax
- \let\backepsilon\relax
- \RequirePackage{amssymb}
- \PackageInfo{frenchmath}{Package unicode-math
- is loaded, \MessageBreak
- I don't load mathrsfs}
- }
- \let\vide\varnothing % \varnothing sera écrasé par unicode-math
-}{
- \AtBeginDocument{
- \@ifpackageloaded{mathdesign}{
- \PackageInfo{frenchmath}{Package mathdesign
- is loaded, \MessageBreak
- I don't load mathrsfs and amssymb}
- }{
- \RequirePackage{amssymb} % \leqslant, \geqslant, \varnothing
- \@ifundefined{mathscr}{\RequirePackage{mathrsfs}}{
- \PackageInfo{frenchmath}{Command \string\mathscr\space
- already defined, \MessageBreak
- I don't load mathrsfs}
- }
- }
- }
-}
+% \end{macrocode}
+% Assurer une bonne compatibilité avec \textsf{unicode-math} est un peu compliqué
+% car \textsf{unicode-math} définit ou redéfinit de nombreux symboles, lettres,
+% signes dans |\AtBeginDocument|. Les extensions \textsf{decimalcomma}
+% et \textsf{ibrackets} font déjà appel à |\AtBeginDocument| mais pour garantir
+% que leur action soit bien postérieure à celle de \textsf{unicode-math}
+% leur appel a été placé dans un |\AtEndPreamble|, fourni par l'extension \textsf{etoolbox}.
+% Il y a par contre un problème si on utilise une instruction comme |\MakeShortVerb"| du
+% module \textsf{shortvrb} ou |\lstMakeShortInline"| du module \mbox{\textsf{listings}}.
+% Ce type d'instruction doit agir \emph{après} \textsf{frenchmath}, donc être
+% placée après |\begin{document}| ou bien dans un |\AtBeginDocument{...}|.
+%
+% L'extension \textsf{mathptmx} ne fournit pas de |\jmath| mais considère néanmoins
+% cette commande comme existante. Dans ce cas, nous la rendons donc \og indéfinie \fg
+% pour la définir ensuite dans une commande générale faisant appel
+% à l'extension \textsf{dotlessj}.
+% \begin{macrocode}
\RequirePackage{amsopn} % fournit \DeclareMathOperator
-\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}{}
\RequirePackage{xspace} % utile pour les commandes \ssi, \Oij
-\ifnoibrackets\else\RequirePackage{ibrackets}\fi % intelligent brackets
-\RequirePackage{decimalcomma} % depuis frenchmath 2.7
+\RequirePackage{etoolbox} % fournit \AtEndPreamble
+\iffrenchmath@mathgreeks \RequirePackage{mathgreeks} \fi
+\AtEndPreamble{
+ \RequirePackage{decimalcomma}
+ \iffrenchmath@noibrackets\else\RequirePackage{ibrackets}\fi
+ \@ifpackageloaded{mathptmx}{\let\jmath\@undefined}{}
+ \@ifundefined{jmath}{\RequirePackage{dotlessj}}{}
+ \@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}
+}
% \end{macrocode}
%
% \DescribeMacro{\DeclareMathUp}
-% Sauf si l'option \texttt{capsit} est activée, on redéfinit toutes les lettres majuscules
+% Sauf si l'on a invoqué l'option \texttt{capsup=false} (ou \texttt{capsit}),
+% on redéfinit toutes les lettres majuscules
% du mode mathématique grâce à la commande |\DeclareMathUp|.
% Contrairement aux bascules |\MathUp| et |\MathIt| de l'extension \textsf{mismath},
% |\DeclareMathUp| ne fonctionne que dans le préambule, mais son code est bien plus simple
@@ -753,14 +802,14 @@
% se trouve sur le forum de discussion \texttt{iterate190.rssing.com},
% en réponse à \og TeX How to iterate over a comma separated list$?$\fg.
% Que son auteur, Petr Olšák, soit remercié.
-% Cette macro a été définie de manière identique dans \textsf{mismath},
+% Cette macro a d'ailleurs été utilisée de manière identique dans \textsf{mismath},
% mais cela ne génère pas d'incompatibilité.}.
% |\AtBeginDocument| est nécessaire pour que ces définitions
% soient prises en compte avec la classe \textsf{beamer} par exemple,
% ou avec \textsf{unicode-math}.
% \smallskip
% \begin{macrocode}
-\newcommand*\DeclareMathUp[1]{
+\providecommand*\DeclareMathUp[1]{
\DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1}}
\def\apply#1#2{\apply@#1#2,\apply@,}
@@ -768,33 +817,103 @@
\else #1{#2}\afterfi@{\apply@#1}\fi}
\def\afterfi@#1#2\fi{\fi#1}
-\ifcapsit\else\AtBeginDocument{
+\AtEndPreamble{\iffrenchmath@capsit\else\AtBeginDocument{
\apply\DeclareMathUp{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}
- }
-\fi
+ }\fi
+}
-\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
-\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
+% \end{macrocode}
+% En utilisant |\AtEndPreamble| (de l'extension \mbox{\textsf{etoolbox}}),
+% avec |\AtBeginDocument| à l'intérieur, on garantit que certaines actions
+% auront bien lieu après celles de \textsf{unicode-math},
+% même si \textsf{frenchmath} est chargé avant \mbox{\textsf{unicode-math}}.
+%
+% Certains symboles, provenant de \textsf{amssymb} sont déjà définis par certaines
+% extensions (\textsf{mathdesign} ou \textsf{unicode-math}) et ne seront pas redéfinis.
+% Un avertissement sera affiché dans ce cas. Comme \textsf{amssymb}
+% (qui utilise \textsf{amsfonts}) charge plusieurs fontes mathématiques et un grand
+% nombre de symboles pas forcément nécessaires, nous n'avons extrait que les
+% trois symboles dont nous avons besoin dans cette extension :
+% |\leqslant|, |\geqslant| et |\varnothing|.
+% \begin{macrocode}
+\AtEndPreamble{% au cas où frenchmath est chargé avant unicode-math
+ \AtBeginDocument{% après actions de unicode-math
+ \DeclareMathSymbol{;}{\mathbin}{operators}{'73} % et non \mathpunct
+ \@ifundefined{mathscr}{\RequirePackage{mathrsfs}}{
+ \PackageWarningNoLine{frenchmath}{Command \string\mathscr\space
+ already defined, \MessageBreak
+ I don't load mathrsfs}
+ }
+ \@ifundefined{leqslant}{
+ \DeclareSymbolFont{AMSa}{U}{msa}{m}{n}% de amsfonts
+ \DeclareMathSymbol{\leqslant}{\mathrel}{AMSa}{"36}% de amssymb
+ \DeclareMathSymbol{\geqslant}{\mathrel}{AMSa}{"3E}
+ }{
+ \PackageWarningNoLine{frenchmath}{\string\leqslant\space
+ and \string\geqslant\space already defined,
+ \MessageBreak
+ they will not be redefined}
+ }
+ \@ifundefined{varnothing}{% de amssymb
+ \@ifundefined{text}{\RequirePackage{amstext}}{}
+ \newcommand\varnothing{% \usefont évite de déclarer AMSb
+ \mathord{\text{\usefont{U}{msb}{m}{n}\symbol{"3F}}}}
+ }{
+ \PackageWarningNoLine{frenchmath}{\string\varnothing\space
+ already defined,
+ \MessageBreak
+ it will not be redefined,
+ \MessageBreak
+ except by using \string\AMSvarnothing}
+ }
+ }
+}
% \end{macrocode}
-% Passons aux alias et identifiants de fonctions classiques.
+% Voyons les alias et quelques commandes particulières.
+%
+% La commande |\varnothing| produit $\varnothing$ mais par contre,
+% le symbole fournit par \textsf{unicode-math}, avec \textsf{Latin Modern Math},
+% est très laid et malheureusement identique à |\emptyset| : $\CMemptyset$.
+% Afin de récupérer le symbole de \textsf{amssymb}, sans être obligé de charger
+% cette extension, nous proposons la commande |\AMSvarnothing|,
+% à placer dans le préambule, après l'appel de \textsf{unicode-math}.
% \begin{macrocode}
\newcommand\curs{\mathscr}
\newcommand\infeg{\leqslant}
\newcommand\supeg{\geqslant}
-\@ifundefined{vide}{\newcommand\vide{\varnothing}}{}
+\newcommand\vide{\varnothing}
+\newcommand\AMSvarnothing{% doit être appelé après \setmathfont ?
+ \AtEndPreamble{\AtBeginDocument{% après actions de unicode-math
+ \renewcommand\varnothing{%
+ \mathord{\text{\usefont{U}{msb}{m}{n}\symbol{"3F}}}}
+ }}
+}
% \end{macrocode}
% La définition de |\paral| remplace, depuis la version 2.2,
% l'ancienne définition plus simple |\mathrel{/\!\!/}|, mais qui donnait des barres
-% trop serrées avec \textsf{mathastext} + \textsf{times} ou avec \textsf{libertinust1math}.
+% trop serrées avec \mbox{\textsf{mathastext}} + \textsf{times}
+% ou avec \textsf{libertinust1math}.
% Merci à Jean-François Burnol de me l'avoir fait remarquer
% et pour ses suggestions dans la mise au point d'une macro plus efficace.
+%
+% La macro |\cmod|, copiée du |\pod| de \textsf{amsmath} (depuis v2.11),
+% permet de gérer différemment
+% l'espacement en mode \og mathématiques centrées \fg (hors-ligne)
+% ou en mode \og en ligne \fg.
% \begin{macrocode}
\newcommand\paral{\mathrel{\ooalign{$\mkern-1.75mu/\mkern1.75mu$\cr%
$\mkern1.75mu/\mkern-1.75mu$}}}
\newcommand\ssi{si, et seulement si,\xspace}
-\newcommand*\cmod[1]{\quad[#1]}
+%\newcommand*\cmod[1]{\quad[#1]}
+\newif\if@display % provient de amsmath, peut être appelé 2 fois
+\everydisplay\@xp{\the\everydisplay \@displaytrue}
+\newcommand*\cmod[1]{\penalty \z@ % similaire à amsmath \allowbreak
+ \if@display\mkern 18mu\else\mkern 8mu\fi [#1]}
+% \end{macrocode}
+% Passons aux identifiants de fonctions classiques.
+% \begin{macrocode}
\DeclareMathOperator{\pgcd}{pgcd}
\DeclareMathOperator{\ppcm}{ppcm}
\DeclareMathOperator{\card}{card}
@@ -811,7 +930,7 @@
\DeclareMathOperator{\cosech}{cosech}
% \end{macrocode}
-% Présentons les commandes pour les bases et repères, qui peuvent être utilisées
+% Les commandes pour les bases et repères peuvent être utilisées
% en mode texte grâce à |\ensuremath| (et |\xspace| qui garantit le bon espacement).
% \begin{macrocode}
\newcommand\@Oij{%
@@ -838,9 +957,10 @@
\ensuremath{\left(O ; \vec{u}, \vec{v}\,\right)}\xspace}
\newcommand\Ouv{\@ifstar{\@@Ouv}{\@Ouv}}
-\AtBeginDocument{
- \renewcommand\ij{%
- \ensuremath{\left(\vec{\imath}, \vec{\jmath}\,\right)}\xspace}}
+\AtBeginDocument{\let\oldij\ij %\ij existe déjà (mode texte)
+ \renewcommand\ij{\TextOrMath{\oldij}{%
+ \left(\vec{\imath}, \vec{\jmath}\,\right)}}
+}
\newcommand\ijk{%
\ensuremath{%
\left(\vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath},
@@ -848,141 +968,9 @@
\xspace}
% \end{macrocode}
-% Ce n'est qu'à la fin du préambule, donc avec |\AtBeginDocument|, que l'on examine
-% les options \texttt{lgrmath} ou \texttt{upgreek},
-% pour que cela fonctionne avec \textsf{unicode-math} et
-% pour laisser à l'utilisateur la possibilité de charger \textsf{upgreek}
-% après \textsf{frenchmath} et éviter un conflit d'option.
-% On sauvegarde les lettres grecques d'origine dans les macros |\italpha|, \ldots,
-% |\itomega|, grâce à la commande |\SavedGreekItalics|.
-% La macro |\upgreekUndefined| ne sert que si l'on veut utiliser \textsf{upgreek}
-% avec \textsf{unicode-math} : elle permet de \og vider \fg la définition
-% de |\upalpha|, |\upbeta|\ldots, car sinon leur redéfinition par \textsf{upgreek}
-% est impossible.
-% \begin{macrocode}
-\providecommand\SaveGreekItalics{% pourrait être définie ailleurs
- \let\italpha\alpha
- \let\itbeta\beta
- \let\itgamma\gamma
- \let\itdelta\delta
- \let\itepsilon\epsilon
- \let\itzeta\zeta
- \let\iteta\eta
- \let\ittheta\theta
- \let\itiota\iota
- \let\itkappa\kappa
- \let\itlambda\lambda
- \let\itmu\mu
- \let\itnu\nu
- \let\itxi\xi
- \let\itpi\pi
- \let\itrho\rho
- \let\itsigma\sigma
- \let\ittau\tau
- \let\itupsilon\upsilon
- \let\itphi\phi
- \let\itchi\chi
- \let\itpsi\psi
- \let\itomega\omega
- \let\itvarepsilon\varepsilon
- \let\itvartheta\vartheta
- \let\itvarpi\varpi
- \let\itvarsigma\varsigma
- \let\itvarphi\varphi
-}
-
-\providecommand\upgreekUndefined{
- \let\upalpha\@undefined
- \let\upbeta\@undefined
- \let\upgamma\@undefined
- \let\updelta\@undefined
- \let\upepsilon\@undefined
- \let\upzeta\@undefined
- \let\upeta\@undefined
- \let\uptheta\@undefined
- \let\upiota\@undefined
- \let\upkappa\@undefined
- \let\uplambda\@undefined
- \let\upmu\@undefined
- \let\upnu\@undefined
- \let\upxi\@undefined
- \let\uppi\@undefined
- \let\uprho\@undefined
- \let\upsigma\@undefined
- \let\uptau\@undefined
- \let\upupsilon\@undefined
- \let\upphi\@undefined
- \let\upchi\@undefined
- \let\uppsi\@undefined
- \let\upomega\@undefined
- \let\upvarepsilon\@undefined
- \let\upvartheta\@undefined
- \let\upvarpi\@undefined
- \let\upvarrho\@undefined
- \let\upvarsigma\@undefined
- \let\upvarphi\@undefined
-}
-
-\AtBeginDocument{
- \iflgrmath
- \SaveGreekItalics
- \RequirePackage[font=fcm,style=french]{lgrmath}
- \fi
- \ifupgreek
- \@ifpackageloaded{upgreek}{}{
- \@ifpackageloaded{unicode-math}{\upgreekUndefined}{}
- \SaveGreekItalics
- \RequirePackage[Symbol]{upgreek}
- }
- \renewcommand\alpha{\upalpha}
- \renewcommand\beta{\upbeta}
- \renewcommand\gamma{\upgamma}
- \renewcommand\delta{\updelta}
- \renewcommand\epsilon{\upepsilon}
- \renewcommand\zeta{\upzeta}
- \renewcommand\eta{\upeta}
- \renewcommand\theta{\uptheta}
- \renewcommand\iota{\upiota}
- \renewcommand\kappa{\upkappa}
- \renewcommand\lambda{\uplambda}
- \renewcommand\mu{\upmu}
- \renewcommand\nu{\upnu}
- \renewcommand\xi{\upxi}
- \renewcommand\pi{\uppi}
- \renewcommand\rho{\uprho}
- \renewcommand\sigma{\upsigma}
- \renewcommand\tau{\uptau}
- \renewcommand\upsilon{\upupsilon}
- \renewcommand\phi{\upphi}
- \renewcommand\chi{\upchi}
- \renewcommand\psi{\uppsi}
- \renewcommand\omega{\upomega}
- \renewcommand\varepsilon{\upvarepsilon}
- \renewcommand\vartheta{\upvartheta}
- \renewcommand\varpi{\upvarpi}
- \renewcommand\varrho{\upvarrho}
- \renewcommand\varsigma{\upvarsigma}
- \renewcommand\varphi{\upvarphi}
- \fi
- \ifUpgreek
- % unicode-math utilise \upGamma, \upDelta...
- \renewcommand\Gamma{\Upgamma}
- \renewcommand\Delta{\Updelta}
- \renewcommand\Theta{\Uptheta}
- \renewcommand\Lambda{\Uplambda}
- \renewcommand\Xi{\Upxi}
- \renewcommand\Pi{\Uppi}
- \renewcommand\Sigma{\Upsigma}
- \renewcommand\Upsilon{\Upupsilon}
- \renewcommand\Phi{\Upphi}
- \renewcommand\Psi{\Uppsi}
- \renewcommand\Omega{\Upomega}
- \fi
-}
-% \end{macrocode}
%
% \medskip
-% \begin{thebibliography}{31}
+% \begin{thebibliography}{32}
% \begin{raggedright}
% \bibitem{RTIN} \emph{Lexique des règles typographiques en usage à l’Imprimerie Nationale},
% édition du 26/08/2002.
@@ -1010,6 +998,12 @@
% Claudio Beccari, CTAN, v1.2.00 2021/08/04.
% \bibitem{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht,
% CTAN, v1.0 17/09/2006.
+% \bibitem{BABEL} \emph{A Babel language definition file for French}, extension \LaTeX\
+% \textsf{babel-french} de Daniel Flipo, CTAN, v3.5c 14/09/2018.
+% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}, Yvon Henel,
+% CTAN, v1.3 22/06/2009.
+% \bibitem{TABL} \emph{L'extension \textsf{tablvar}}, Antoine Missier,
+% CTAN, v2.0 23/12/2023.
% \bibitem{UNIC} \emph{Experimental Unicode mathematical typesetting:
% The \textsf{unicode-math} package}, Will Robertson, Philipp Stephani, Joseph Wright,
% Khaled Hosny, and others, CTAN, v0.8r 13/08/2023.
@@ -1017,16 +1011,12 @@
% Michel Bovani, CTAN, v1.3 30/01/2005.
% \bibitem{DESIGN} \emph{The \textsf{mathdesign} package},
% Paul Pichaureau, CTAN, v2.31 29/08/2013.
-% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
-% Antoine Missier, CTAN, v2.10 20/02/2024.
+% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
+% Christophe Caignaert, CTAN, v3.34 20/09/2022.
+% \bibitem{MIS} \emph{Miscellaneous mathematical macros -- The \textsf{mismath} package},
+% Antoine Missier, CTAN, v3.0 04/05/2024.
% \bibitem{VECT} \emph{\textsf{esvect} -- Typesetting vectors with beautiful
% arrow with \LaTeXe}, Eddie Saudrais, CTAN, v1.3 11/07/2013.
-% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}, Yvon Henel,
-% CTAN, v1.3 22/06/2009.
-% \bibitem{TABL} \emph{L'extension \textsf{tablvar}}, Antoine Missier,
-% CTAN, v2.0 23/12/2023.
-% \bibitem{BABEL} \emph{A Babel language definition file for French}, extension \LaTeX\
-% \textsf{babel-french} de Daniel Flipo, CTAN, v3.5c 14/09/2018.
% \bibitem{ICOMMA} \emph{The \textsf{icomma} package for \LaTeXe}.
% Walter Schmidt, CTAN, v2.0 10/03/2002.
% \bibitem{NCC} \emph{The \textsf{ncccomma} package}. Alexander I.~Rozhenko,
@@ -1043,12 +1033,12 @@
% \bibitem{MATAL} \emph{The \textsf{mathalpha}, \textsc{aka} \textsf{mathalfa} package},
% Michael Sharpe, CTAN, v1.143 18/11/2021.
% \bibitem{DLJ} \emph{\textsf{dotlessj}}, David Carlisle, CTAN, v0.03 09/12/1998.
-% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
-% Christophe Caignaert, CTAN, v3.34 20/09/2022.
% \bibitem{LGR} \emph{The \textsf{lgrmath} package}, Jean-François B., CTAN,
% v1.0 16/11/2022.
% \bibitem{UPGREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt, CTAN,
% v2.0 12/03/2003.
+% \bibitem{MGREEK} \emph{The \textsf{mathgreeks} package}, Antoine Missier, CTAN,
+% v1.1 04/05/2024.
% \bibitem{ALPHA} \emph{The \textsf{textalpha} package}
% (partie de l'extension \textsf{greek-fontenc}), Günter Milde, CTAN, v2.1 14/06/2022.
% \bibitem{COMP} \emph{\LaTeX\ Companion}, Frank Mittelbach, Michel Goossens,
diff --git a/macros/latex/contrib/frenchmath/frenchmath.pdf b/macros/latex/contrib/frenchmath/frenchmath.pdf
index 566efe4362..070aec4914 100644
--- a/macros/latex/contrib/frenchmath/frenchmath.pdf
+++ b/macros/latex/contrib/frenchmath/frenchmath.pdf
Binary files differ
diff --git a/macros/latex/contrib/fvextra/CHANGELOG.md b/macros/latex/contrib/fvextra/CHANGELOG.md
new file mode 100644
index 0000000000..7556c74a2d
--- /dev/null
+++ b/macros/latex/contrib/fvextra/CHANGELOG.md
@@ -0,0 +1,231 @@
+# Changelog
+
+
+## v1.7.0 (2024/05/16)
+
+* Added new command `\VerbatimClearBuffer`.
+
+* `VerbatimBuffer` environments with the same buffer name now append to the
+ same buffer, regardless of the value of `globalbuffer`. Previously,
+ `globalbuffer=false` caused any pre-existing buffer to be cleared. Now,
+ `globalbuffer=false` causes anything that is appended to the buffer to be
+ removed at the end of the environment, but the entire buffer is not
+ cleared.
+
+* `\FVExtraUnexpandedReadStarOArgMArgBVArg` now checks that the final
+ argument it reads is braced (#22).
+
+* Text that immediately follows `\VerbatimInsertBuffer` is no longer indented
+ to start a new paragraph.
+
+* Updated `tcblisting` usage in docs for compatibility with the latest
+ `tcolorbox`.
+
+
+## v1.6.1 (2023/11/28)
+
+* Fixed bug from v1.6 that caused a space following a comma to be lost (#21).
+
+
+## v1.6 (2023/11/19)
+
+* Added new environment `VerbatimWrite`. This is similar to `fancyvrb`'s
+ `VerbatimOut`, except that it allows for writing to a file multiple times
+ and guarantees truly verbatim output via `\detokenize`.
+
+* Added new environment `VerbatimBuffer`. This stores the contents of an
+ environment verbatim in a "buffer," a sequence of numbered macros each of
+ which contains one line of the environment. The "buffered" lines can then
+ be looped over for further processing or later use.
+
+* Added new command `\VerbatimInsertBuffer`. This inserts an existing buffer
+ created by `VerbatimBuffer` as a `Verbatim` environment.
+
+* Redefined visible space `\FancyVerbSpace` so that it now has the correct
+ width. It had previously been redefined as `\textvisiblespace`, but that
+ was slightly too narrrow.
+
+* Added option `spacebreak`. This determines the line break that is inserted
+ around spaces when `showspaces=true` or `breakcollapsespaces=false`, by
+ defining the new macro `\FancyVerbSpaceBreak`.
+
+* `breakbefore`, `breakafter`, and `breakanywhere` now produce plain breaks
+ around spaces when `showspaces=true`, instead of breaks with a break symbol
+ at the end of wrapped lines. `\FancyVerbBreakAnywhereBreak`,
+ `\FancyVerbBreakBeforeBreak`, and `\FancyVerbBreakAfterBreak` are no longer
+ inserted next to spaces. Instead, `\FancyVerbSpaceBreak` is inserted or
+ (depending on options) `\FV@Space` is defined to include
+ `\FancyVerbSpaceBreak`.
+
+* Added option `breakcollapsespaces`. When `true` (default), a line break
+ within a run of regular spaces (`showspaces=false`) replaces all spaces
+ with a single break, and the wrapped line after the break starts with a
+ non-space character. When `false`, a line break within a run of regular
+ spaces preserves all spaces, and the wrapped line after the break may start
+ with one or more spaces. This causes regular spaces to behave exactly like
+ the visible spaces produced with `showspaces`; both give identical line
+ breaks, with the only difference being the appearance of spaces.
+
+* `breaklines` now automatically enables breaks after space characters when
+ `showspaces=true`.
+
+* Reimplemented definition of `\FV@Space` to work with new space options.
+
+* Added documentation about how reimplemented commands handle the `codes`
+ option differently compared to `fancyvrb` (#17).
+
+* Starred commands such as `\Verb*` now use both visible spaces and visible
+ tabs instead of just visible spaces. This is more similar to the current
+ behavior of `\verb*`, except that `\verb*` converts tabs into visible
+ spaces (#19).
+
+* The `mathescape` option now resets the ampersand `&` catcode (#18).
+
+
+## v1.5 (2022/11/30)
+
+* Added `\FancyVerbFormatInline` for customizing the formatting of inline
+ verbatim, such as `\Verb`. This parallels `\FancyVerbFormatLine` and
+ `\FancyVerbFormatText`.
+
+* Added line breaking option `breaknonspaceingroup`. When `commandchars` is
+ used to allow macros within verbatim, this inserts breaks within groups
+ `{...}`.
+
+* Added `\FVExtraUnexpandedReadStarOArgMArgBVArg` to support reimplementation
+ of `\mintinline` for `minted`.
+
+* Added `VerbEnv` environment, which is an environment variant of `\Verb`.
+ This supports reimplementation of `\mintinline` for `minted`.
+
+* `breakbefore` and `breakafter` now support the escaped comma `\,` (#15).
+
+* Fixed unintended line breaks after hyphens under LuaTeX (#14).
+
+* Added documentation on Pandoc compatibility (#11).
+
+* Replaced `breakbeforegroup` with `breakbeforeinrun`, and replaced
+ `breakaftergroup` with `breakafterinrun`. With the introduction of
+ `breaknonspaceingroup`, "`group`" is now reserved for referring to TeX
+ groups `{...}`.
+
+* Removed dependency on `ifthen` package.
+
+* `breakautoindent` now works correctly with Pygments output that treats
+ leading whitespace as a separate token or as part of a token.
+
+
+## v1.4 (2019/02/04)
+
+* Reimplemented `\Verb`. It now works as expected inside other commands
+ (with a few limitations), including in movable arguments, and is compatible
+ with `hyperref` for things like PDF bookmarks. It now supports
+ `breaklines` and relevant line-breaking options.
+
+* Reimplemented `\SaveVerb` and `\UseVerb` to be equivalent to the new
+ `\Verb`. The new option `retokenize` allows saved verbatim material to be
+ retokenized under new `commandchars` and `codes` when it is inserted with
+ `\UseVerb`.
+
+* New command `\EscVerb` works like the reimplemented `\Verb`, except that
+ special characters can be escaped with a backslash. It works inside other
+ commands without any limitations, including in movable arguments, and is
+ compatible with `hyperref` for things like PDF bookmarks.
+
+* Added `extra` option for switching between the reimplemented `\Verb`,
+ `\SaveVerb`, `\UseVerb` and the original `fancyvrb` definitions.
+ Reimplemented versions are used by default. This option will apply to any
+ future reimplemented commands and environments.
+
+* New command `\fvinlineset` only applies options to commands related to
+ typesetting verbatim inline, like `\Verb`, `\SaveVerb`, `\UseVerb`. It
+ only works with commands that are defined or reimplemented by `fvextra`.
+ It overrides options from `\fvset`.
+
+* Patched `fancyvrb` so that `\Verb` (either reimplemented version or
+ original) can use characters like `%` for delimiters when used outside any
+ commands.
+
+* `obeytabs` now works with the `calc` package's redefined `\setcounter`.
+ Since `minted` loads `calc`, this also fixes `minted` compatibility
+ (`minted` #221).
+
+* Added new option `fontencoding` (`minted` #208).
+
+* `highlightlines` now works correctly with `frame` (#7).
+
+
+## v1.3.1 (2017/07/08)
+
+* `beameroverlays` now works with `VerbatimOut`.
+
+
+## v1.3 (2017/07/08)
+
+* Added `beameroverlays` option, which enables `beamer` overlays using the
+ `<` and `>` characters.
+
+* Added options `breakindentnchars`, `breaksymbolsepleftnchars` (alias
+ `breaksymbolsepnchars`), `breaksymbolseprightnchars`,
+ `breaksymbolindentleftnchars` (alias `breaksymbolindentnchars`), and
+ `breaksymbolindentrightnchars`. These are identical to the pre-existing
+ options without the `nchars` suffix, except that they allow indentation to
+ be specified as an integer number of characters rather than as a dimension.
+ As a result of these new options, `\settowidth` is no longer used in the
+ preamble, resolving some font incompatibilities (#4).
+
+* Clarified in the docs that `breaksymbolsepright` is a *minimum*, rather
+ than exact, distance.
+
+
+## v1.2.1 (2016/09/02)
+
+* The package is now compatible with classes and packages that redefine
+ `\raggedright`.
+
+* Fixed a bug that introduced extra space in inline contexts such as
+ `\mintinline` when `breaklines=true` (#3).
+
+
+
+## v1.2 (2016/07/20)
+
+* Added support for line breaking when working with Pygments for syntax
+ highlighting.
+
+* The default `highlightcolor` is now defined with `rgb` for compatibility
+ with the `color` package. Fixed a bug in the conditional color definition
+ when `color` and `xcolor` are not loaded before `fvextra`.
+
+
+
+## v1.1 (2016/07/14)
+
+* The options `rulecolor` and `fillcolor` now accept color names directly;
+ using `\color{<color_name>}` is no longer necessary, though it still works.
+
+* Added `tabcolor` and `spacecolor` options for use with `showtabs` and
+ `showspaces`.
+
+* Added `highlightlines` option that takes a line number or range of line
+ numbers and highlights the corresponding lines. Added `highlightcolor`
+ option that controls hightlighting color.
+
+* `obeytabs` no longer causes lines to vanish when tabs are inside macro
+ arguments. Tabs and spaces inside a macro argument but otherwise at the
+ beginning of a line are expanded correctly. Tabs inside a macro argument
+ that are preceded by non-whitespace characters (not spaces or tabs) are
+ expanded based on the starting position of the run of whitespace in which
+ they occur.
+
+* The line breaking options `breakanywhere`, `breakbefore`, and `breakafter`
+ now work with multi-byte UTF-8 code points under pdfTeX with `inputenc`.
+ They were already fully functional under XeTeX and LuaTeX.
+
+* Added `curlyquotes` option, which essentially disables the `uquote` package.
+
+
+
+## v1.0 (2016/06/28)
+
+* Initial release.
diff --git a/macros/latex/contrib/fvextra/fvextra.dtx b/macros/latex/contrib/fvextra/fvextra.dtx
index ca5877ee0f..e4182b6f88 100644
--- a/macros/latex/contrib/fvextra/fvextra.dtx
+++ b/macros/latex/contrib/fvextra/fvextra.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2016-2023 by Geoffrey M. Poore <gpoore@gmail.com>
+% Copyright (C) 2016-2024 by Geoffrey M. Poore <gpoore@gmail.com>
% ---------------------------------------------------------------------------
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -26,7 +26,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{fvextra}
%<*package>
- [2023/11/28 v1.6.1 fvextra - extensions and patches for fancyvrb]
+ [2024/05/16 v1.7.0 fvextra - extensions and patches for fancyvrb]
%</package>
%
%<*driver>
@@ -66,23 +66,7 @@
\usepackage{tcolorbox}
\tcbuselibrary{listings}
-% strip leading percent symbols
-\def\tcbverbatimwrite#1{%
- \@bsphack
- \tcb@set@verbatim@finish%
- \tcb@allocate@tcb@out%
- \immediate\openout\tcb@out #1
- \tcb@verbatim@begin@hook%
- \let\do\@makeother\dospecials
- \tcb@verbatim@change@percent\catcode`\^^M\active \catcode`\^^I=12
- \def\verbatim@processline{%
- \immediate\write\tcb@out
- {\expandafter\@gobble\the\verbatim@line}}%
- \verbatim@start}%
-
-% fix redefinition by tcolorbox
-\def\verbatim@processline{%
- \expandafter\check@percent\the\verbatim@line\par}
+\tcbset{verbatim ignore percent}
\usepackage{hyperref}
@@ -223,22 +207,6 @@
\edef\hashchar{\string#}
-\newcommand{\changestext}{}
-\NewEnviron{changelog}[2]{%
- \g@addto@macro\changestext{\item[#1] (#2) \begin{itemize}}%
- \expandafter\g@addto@macro\expandafter\changestext\expandafter{\BODY}%
- \g@addto@macro\changestext{\end{itemize}}%
-}
-\newcommand{\PrintChangelog}{%
- %\addcontentsline{toc}{section}{Changelog}
- %\section*{Changelog}%
- \section{Changelog}%
- \label{sec:changelog}
- \begin{description}%
- \changestext
- \end{description}%
-}
-
%\EnableCrossrefs
%\CodelineIndex
%\RecordChanges
@@ -253,89 +221,6 @@
% \fi
%
%
-% \begin{changelog}{v1.6.1}{2023/11/28}
-% \item Fixed bug from v1.6 that caused a space following a comma to be lost (\#21).
-% \end{changelog}
-%
-% \begin{changelog}{v1.6}{2023/11/19}
-% \item Added new environment \Verb{VerbatimWrite}. This is similar to \Verb{fancyvrb}'s \Verb{VerbatimOut}, except that it allows for writing to a file multiple times and guarantees truly verbatim output via \Verb{\detokenize}.
-% \item Added new environment \Verb{VerbatimBuffer}. This stores the contents of an environment verbatim in a ``buffer,'' a sequence of numbered macros each of which contains one line of the environment. The ``buffered'' lines can then be looped over for further processing or later use.
-% \item Added new command \Verb{\VerbatimInsertBuffer}. This inserts an existing buffer created by \Verb{VerbatimBuffer} as a \Verb{Verbatim} environment.
-% \item Redefined visible space \Verb{\FancyVerbSpace} so that it now has the correct width. It had previously been redefined as \Verb{\textvisiblespace}, but that was slightly too narrrow.
-% \item Added option \Verb{spacebreak}. This determines the line break that is inserted around spaces when \Verb{showspaces=true} or \Verb{breakcollapsespaces=false}, by defining the new macro \Verb{\FancyVerbSpaceBreak}.
-% \item \Verb{breakbefore}, \Verb{breakafter}, and \Verb{breakanywhere} now produce plain breaks around spaces when \Verb{showspaces=true}, instead of breaks with a break symbol at the end of wrapped lines. \Verb{\FancyVerbBreakAnywhereBreak}, \Verb{\FancyVerbBreakBeforeBreak}, and \Verb{\FancyVerbBreakAfterBreak} are no longer inserted next to spaces. Instead, \Verb{\FancyVerbSpaceBreak} is inserted or (depending on options) \Verb{\FV@Space} is defined to include \Verb{\FancyVerbSpaceBreak}.
-% \item Added option \Verb{breakcollapsespaces}. When \Verb{true} (default), a line break within a run of regular spaces (\Verb{showspaces=false}) replaces all spaces with a single break, and the wrapped line after the break starts with a non-space character. When \Verb{false}, a line break within a run of regular spaces preserves all spaces, and the wrapped line after the break may start with one or more spaces. This causes regular spaces to behave exactly like the visible spaces produced with \Verb{showspaces}; both give identical line breaks, with the only difference being the appearance of spaces.
-% \item \Verb{breaklines} now automatically enables breaks after space characters when \Verb{showspaces=true}.
-% \item Reimplemented definition of \Verb{\FV@Space} to work with new space options.
-% \item Added documentation about how reimplemented commands handle the \Verb{codes} option differently compared to \fancyvrb\ (\#17).
-% \item Starred commands such as \Verb{\Verb*} now use both visible spaces and visible tabs instead of just visible spaces. This is more similar to the current behavior of \Verb{\verb*}, except that \Verb{\verb*} converts tabs into visible spaces (\#19).
-% \item The \Verb{mathescape} option now resets the ampersand \Verb{&} catcode (\#18).
-% \end{changelog}
-%
-%
-% \begin{changelog}{v1.5}{2022/11/30}
-% \item Added \cmd{\FancyVerbFormatInline} for customizing the formatting of inline verbatim, such as \cmd{\Verb}. This parallels \cmd{\FancyVerbFormatLine} and \cmd{\FancyVerbFormatText}.
-% \item Added line breaking option \Verb{breaknonspaceingroup}. When \cmd{commandchars} is used to allow macros within verbatim, this inserts breaks within groups \Verb{{...}}.
-% \item Added \cmd{\FVExtraUnexpandedReadStarOArgMArgBVArg} to support reimplementation of \cmd{\mintinline} for \pkg{minted}.
-% \item Added \cmd{VerbEnv} environment, which is an environment variant of \cmd{\Verb}. This supports reimplementation of \cmd{\mintinline} for \pkg{minted}.
-% \item \cmd{breakbefore} and \cmd{breakafter} now support the escaped comma \cmd{\,} (\#15).
-% \item Fixed unintended line breaks after hyphens under LuaTeX (\#14).
-% \item Added documentation on Pandoc compatibility (\#11).
-% \item Replaced \Verb{breakbeforegroup} with \Verb{breakbeforeinrun}, and replaced \Verb{breakaftergroup} with \Verb{breakafterinrun}. With the introduction of \Verb{breaknonspaceingroup}, ``\Verb{group}'' is now reserved for referring to TeX groups \Verb{{...}}.
-% \item Removed dependency on \Verb{ifthen} package.
-% \item \Verb{breakautoindent} now works correctly with Pygments output that treats leading whitespace as a separate token or as part of a token.
-% \end{changelog}
-%
-% \begin{changelog}{v1.4}{2019/02/04}
-% \item Reimplemented \texttt{\string\Verb}. It now works as expected inside other commands (with a few limitations), including in movable arguments, and is compatible with \texttt{hyperref} for things like PDF bookmarks. It now supports \texttt{breaklines} and relevant line-breaking options.
-% \item Reimplemented \texttt{\string\SaveVerb} and \texttt{\string\UseVerb} to be equivalent to the new \texttt{\string\Verb}. The new option \texttt{retokenize} allows saved verbatim material to be retokenized under new \texttt{commandchars} and \texttt{codes} when it is inserted with \texttt{\string\UseVerb}.
-% \item New command \texttt{\string\EscVerb} works like the reimplemented \texttt{\string\Verb}, except that special characters can be escaped with a backslash. It works inside other commands without any limitations, including in movable arguments, and is compatible with \texttt{hyperref} for things like PDF bookmarks.
-% \item Added \texttt{extra} option for switching between the reimplemented \texttt{\string\Verb}, \texttt{\string\SaveVerb}, \texttt{\string\UseVerb} and the original \texttt{fancyvrb} definitions. Reimplemented versions are used by default. This option will apply to any future reimplemented commands and environments.
-% \item New command \texttt{\string\fvinlineset} only applies options to commands related to typesetting verbatim inline, like \texttt{\string\Verb}, \texttt{\string\SaveVerb}, \texttt{\string\UseVerb}. It only works with commands that are defined or reimplemented by \texttt{fvextra}. It overrides options from \texttt{\string\fvset}.
-% \item Patched \texttt{fancyvrb} so that \texttt{\string\Verb} (either reimplemented version or original) can use characters like \texttt{\%} for delimiters when used outside any commands.
-% \item \texttt{obeytabs} now works with the \texttt{calc} package's redefined \texttt{\string\setcounter}. Since \texttt{minted} loads \texttt{calc}, this also fixes \texttt{minted} compatibility (\texttt{minted} \#221).
-% \item Added new option \texttt{fontencoding} (\texttt{minted} \#208).
-% \item \texttt{highlightlines} now works correctly with \texttt{frame} (\#7).
-% \end{changelog}
-%
-% \begin{changelog}{v1.3.1}{2017/07/08}
-% \item \texttt{beameroverlays} now works with \texttt{VerbatimOut}.
-% \end{changelog}
-%
-% \begin{changelog}{v1.3}{2017/07/08}
-% \item Added \texttt{beameroverlays} option, which enables \texttt{beamer} overlays using the \texttt{<} and \texttt{>} characters.
-% \item Added options \texttt{breakindentnchars}, \texttt{breaksymbolsepleftnchars} (alias \texttt{breaksymbolsepnchars}), \texttt{breaksymbolseprightnchars}, \texttt{breaksymbolindentleftnchars} (alias \texttt{breaksymbolindentnchars}), and \texttt{breaksymbolindentrightnchars}. These are identical to the pre-existing options without the \texttt{nchars} suffix, except that they allow indentation to be specified as an integer number of characters rather than as a dimension. As a result of these new options, \texttt{\string\settowidth} is no longer used in the preamble, resolving some font incompatibilities (\#4).
-% \item Clarified in the docs that \texttt{breaksymbolsepright} is a \emph{minimum}, rather than exact, distance.
-% \end{changelog}
-%
-%
-% \begin{changelog}{v1.2.1}{2016/09/02}
-% \item The package is now compatible with classes and packages that redefine \texttt{\string\raggedright}.
-% \item Fixed a bug that introduced extra space in inline contexts such as \texttt{\string\mintinline} when \texttt{breaklines=true} (\#3).
-% \end{changelog}
-%
-%
-% \begin{changelog}{v1.2}{2016/07/20}
-% \item Added support for line breaking when working with Pygments for syntax highlighting.
-% \item The default \texttt{highlightcolor} is now defined with \texttt{rgb} for compatibility with the \texttt{color} package. Fixed a bug in the conditional color definition when \texttt{color} and \texttt{xcolor} are not loaded before \texttt{fvextra}.
-% \end{changelog}
-%
-%
-% \begin{changelog}{v1.1}{2016/07/14}
-% \item The options \texttt{rulecolor} and \texttt{fillcolor} now accept color names directly; using \texttt{\string\color\{<color\_name>\}} is no longer necessary, though it still works.
-% \item Added \texttt{tabcolor} and \texttt{spacecolor} options for use with \texttt{showtabs} and \texttt{showspaces}.
-% \item Added \texttt{highlightlines} option that takes a line number or range of line numbers and highlights the corresponding lines. Added \texttt{highlightcolor} option that controls hightlighting color.
-% \item \texttt{obeytabs} no longer causes lines to vanish when tabs are inside macro arguments. Tabs and spaces inside a macro argument but otherwise at the beginning of a line are expanded correctly. Tabs inside a macro argument that are preceded by non-whitespace characters (not spaces or tabs) are expanded based on the starting position of the run of whitespace in which they occur.
-% \item The line breaking options \texttt{breakanywhere}, \texttt{breakbefore}, and \texttt{breakafter} now work with multi-byte UTF-8 code points under pdfTeX with \texttt{inputenc}. They were already fully functional under XeTeX and LuaTeX.
-% \item Added \texttt{curlyquotes} option, which essentially disables the \texttt{uquote} package.
-% \end{changelog}
-%
-%
-% \begin{changelog}{v1.0}{2016/06/28}
-% \item Initial release.
-% \end{changelog}
-%
-%
% \DoNotIndex{\newcommand,\newenvironment}
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
% \DoNotIndex{\@ne}
@@ -918,11 +803,11 @@
% Shortcut for setting |bufferlengthname| and |bufferlinename| simultaneously, using the same root name. This sets |bufferlengthname| to |<buffername>length| and |bufferlinename| to |<buffername>line|.
%
% \item[globalbuffer (bool) (false)]
-% This determines whether buffer line macros are defined globally, that is, whether they are accessible after the end of the |VerbatimBuffer| environment. It does not affect any |afterbuffer| macro, since that is invoked inside the environment. |globalbuffer| also determines whether the buffer length counter contains the buffer length or is reset to zero after the end of the |VerbatimBuffer| environment.
+% This determines whether buffer line macros are defined globally, that is, whether they are accessible after the end of the |VerbatimBuffer| environment. If the line macros are defined globally, then the buffer length counter is also increased appropriately outside the environment. |globalbuffer| does not affect any |afterbuffer| macro, since that is invoked inside the environment.
%
% When buffered lines are used immediately, consider using |afterbuffer| instead of |globalbuffer|. When buffered lines must be used later in a document, consider using |globalbuffer| with custom (and perhaps unique) |bufferlinename| and |bufferlengthname|.
%
-% When |globalbuffer=false|, at the end of the environment all buffer line macros based on the current |bufferlinename| are ``deleted'' (|\let| to an undefined macro), and the buffer length counter from |bufferlengthname| is set to zero. This means that a |VerbatimBuffer| environment with |globalbuffer=false| will clear the buffer created by any previous |VerbatimBuffer| that had |globalbuffer=true| and shared the same |bufferlinename|.
+% When |globalbuffer=true|, |VerbatimBuffer| environments with the same buffer name will append to a single buffer, so that it ultimately contains the concatenated contents of all environments. A |VerbatimBuffer| environment with |globalbuffer=false| will append to the buffer created by any previous |VerbatimBuffer| that had |globalbuffer=true| and shared the same buffer name. Any |afterbuffer| macro will have access to a buffer containing the concatenated data. At the very end of the environment with |globalbuffer=false|, after any |afterbuffer|, this appended content will be removed. All buffer line macros (from |bufferlinename|) that were created by that environment are ``deleted'' (|\let| to an undefined macro), and the buffer length counter (from |bufferlengthname|) is reduced proportionally.
% \end{optionlist}
%
%
@@ -936,6 +821,12 @@
% |\VerbatimInsertBuffer| is not implemented using the typical \fancyvrb\ command and environment implementation styles, so it is not compatible with |\RecustomVerbatimCommand| or |\RecustomVerbatimEnvironment|.
%
%
+% \subsection{\cmd{\VerbatimClearBuffer}}
+% \DescribeMacro{\VerbatimClearBuffer\oarg{options}}
+%
+% Clear an existing buffer created with \cmd{VerbatimBuffer}. |\global\let| all buffer line macros to an undefined macro and set the buffer length counter to zero.
+%
+%
%
%
% \section{Line breaking}
@@ -1503,8 +1394,6 @@
%
%
%
-% \PrintChangelog
-%
% \StopEventually{\PrintIndex}
%
% \section{Implementation}
@@ -2219,12 +2108,16 @@
% \begin{macrocode}
\def\FVExtraUnexpandedReadStarOArgMArgBVArg#1#{%
\FV@UnexpandedReadStarOArgMArgBVArg@i{#1}}
-\def\FV@UnexpandedReadStarOArgMArgBVArg@i#1#2#3{%
- \FVExtraAlwaysUnexpanded{\FVExtraUnexpandedReadStarOArgMArgBVArg#1{#2}{#3}}}
+\def\FV@UnexpandedReadStarOArgMArgBVArg@i#1#2{%
+ \FV@UnexpandedReadStarOArgMArgBVArg@ii{#1}{#2}}
+\def\FV@UnexpandedReadStarOArgMArgBVArg@ii#1#2#3#{%
+ \FV@UnexpandedReadStarOArgMArgBVArg@iii{#1}{#2}{#3}}
+\def\FV@UnexpandedReadStarOArgMArgBVArg@iii#1#2#3#4{%
+ \FVExtraAlwaysUnexpanded{\FVExtraUnexpandedReadStarOArgMArgBVArg#1{#2}#3{#4}}}
\FVExtrapdfstringdefDisableCommands{%
\makeatletter
- \def\FV@UnexpandedReadStarOArgMArgBVArg@i#1#2#3{%
- \FVExtraPDFStringVerbatimDetokenize{#3}}%
+ \def\FV@UnexpandedReadStarOArgMArgBVArg@iii#1#2#3#4{%
+ \FVExtraPDFStringVerbatimDetokenize{#4}}%
\makeatother}
% \end{macrocode}
% \end{macro}
@@ -4038,7 +3931,7 @@
% \begin{macro}{VerbatimBuffer}
% The environment implementation follows standard \fancyvrb\ environment style.
%
-% A special buffer counter is used to track line numbers while avoiding incrementing the regular counter that is used for typeset code. Some macros do nothing with the default |bufferer|, but are needed to enable \fancyvrb\ options when a custom |bufferer| is used in conjuction with optional environment arguments. These include |\FancyVerbDefineActive| and |\FancyVerbFormatCom|. Since counters are global, the location of |\setcounter| at the end of the environment relative to |\begingroup...\endgroup| is not important.
+% A special buffer counter is used to track line numbers while avoiding incrementing the regular counter that is used for typeset code. Some macros do nothing with the default |bufferer|, but are needed to enable \fancyvrb\ options when a custom |bufferer| is used in conjuction with optional environment arguments. These include |\FancyVerbDefineActive| and |\FancyVerbFormatCom|. Since counters are global, the exact location of the |\setcounter| commands at the end of the environment relative to |\begingroup...\endgroup| is not important.
% \begin{macrocode}
\newcounter{FancyVerbBufferLine}
\newcounter{FV@oldbufferlength}
@@ -4054,17 +3947,19 @@
\def\FVB@VerbatimBuffer{%
\@bsphack
\begingroup
- \setcounter{FancyVerbBufferLine}{0}%
- \let\c@FancyVerbLine\c@FancyVerbBufferLine
- \setcounter{FancyVerbBufferIndex}{0}%
- \setcounter{FV@oldbufferlength}{\expandafter\value\expandafter{\FV@bufferlengthname}}%
- \expandafter\setcounter\expandafter{\FV@bufferlengthname}{0}%
\FV@UseKeyValues
+ \setcounter{FancyVerbBufferLine}%
+ {\expandafter\value\expandafter{\FV@bufferlengthname}}%
+ \let\c@FancyVerbLine\c@FancyVerbBufferLine
+ \setcounter{FancyVerbBufferIndex}%
+ {\expandafter\value\expandafter{\FV@bufferlengthname}}%
\ifbool{FV@globalbuffer}%
{\global\booltrue{FV@globalbuffer@tmp}}%
- {\global\boolfalse{FV@globalbuffer@tmp}}%
- \global\let\FV@bufferlengthname@tmp\FV@bufferlengthname
- \global\let\FancyVerbBufferLineName@tmp\FancyVerbBufferLineName
+ {\global\boolfalse{FV@globalbuffer@tmp}%
+ \setcounter{FV@oldbufferlength}%
+ {\expandafter\value\expandafter{\FV@bufferlengthname}}%
+ \global\let\FV@bufferlengthname@tmp\FV@bufferlengthname
+ \global\let\FancyVerbBufferLineName@tmp\FancyVerbBufferLineName}%
\global\let\FV@afterbuffer@tmp\FV@afterbuffer
\FV@DefineWhiteSpace
\def\FV@ProcessLine{\stepcounter{FancyVerbBufferIndex}\FV@Bufferer}%
@@ -4074,28 +3969,27 @@
\FancyVerbFormatCom
\FV@Scan}
\def\FVE@VerbatimBuffer{%
- \endgroup
- \@esphack
- \expandafter\setcounter\expandafter{\FV@bufferlengthname@tmp}%
+ \expandafter\setcounter\expandafter{\FV@bufferlengthname}%
{\value{FancyVerbBufferIndex}}%
\setcounter{FancyVerbBufferIndex}{0}%
+ \endgroup
+ \@esphack
\begingroup
\FV@afterbuffer@tmp
+ \global\let\FV@afterbuffer@tmp\relax
\endgroup
\ifbool{FV@globalbuffer@tmp}%
{}%
- {\ifnum\value{FV@oldbufferlength}>%
- \expandafter\value\expandafter{\FV@bufferlengthname@tmp}\relax
- \expandafter\setcounter\expandafter{\FV@bufferlengthname@tmp}%
- {\value{FV@oldbufferlength}}%
- \fi
- \loop\unless\ifnum\expandafter\value\expandafter{\FV@bufferlengthname@tmp}=0\relax
+ {\loop\unless\ifnum\expandafter\value\expandafter{\FV@bufferlengthname@tmp}=
+ \value{FV@oldbufferlength}\relax
\expandafter\global\expandafter\let\csname
\FancyVerbBufferLineName@tmp
\expandafter\arabic\expandafter{\FV@bufferlengthname@tmp}%
\endcsname\FV@Undefined
\expandafter\addtocounter\expandafter{\FV@bufferlengthname@tmp}{-1}%
- \repeat}}
+ \repeat
+ \global\let\FV@bufferlengthname@tmp\relax
+ \global\let\FancyVerbBufferLineName@tmp\relax}}
\def\endVerbatimBuffer{\FVE@VerbatimBuffer}
% \end{macrocode}
% \end{macro}
@@ -4129,7 +4023,7 @@
\global\let\FV@EnvironName\relax
\let\next\relax
\else
- \ifcsname \FancyVerbBufferLineName\arabic{FancyVerbBufferIndex}\endcsname
+ \ifcsname\FancyVerbBufferLineName\arabic{FancyVerbBufferIndex}\endcsname
\expandafter\let\expandafter\FV@Line@Buffer
\csname\FancyVerbBufferLineName\arabic{FancyVerbBufferIndex}\endcsname
\expandafter\VerbatimInsertBuffer@def@FV@Line\expandafter{\FV@Line@Buffer}%
@@ -4148,6 +4042,30 @@
\FVB@Verbatim
\FVE@Verbatim
\setcounter{FancyVerbBufferIndex}{0}%
+ \endgroup
+ \@doendpe}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{\cmd{\VerbatimClearBuffer}}
+% \begin{macro}{\VerbatimClearBuffer}
+% Clear an existing buffer.
+% \begin{macrocode}
+\newcommand{\VerbatimClearBuffer}[1][]{%
+ \begingroup
+ \def\FV@KeyValues{#1}%
+ \FV@UseKeyValues
+ \setcounter{FancyVerbBufferIndex}%
+ {\expandafter\value\expandafter{\FV@bufferlengthname}}%
+ \expandafter\setcounter\expandafter{\FV@bufferlengthname}{0}%
+ \loop\unless\ifnum\value{FancyVerbBufferIndex}<1\relax
+ \expandafter\global\expandafter\let
+ \csname\FancyVerbBufferLineName\arabic{FancyVerbBufferIndex}\endcsname
+ \FV@Undefined
+ \addtocounter{FancyVerbBufferIndex}{-1}%
+ \repeat
+ \setcounter{FancyVerbBufferIndex}{0}%
\endgroup}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/fvextra/fvextra.ins b/macros/latex/contrib/fvextra/fvextra.ins
index f36b3c4715..17b718fa06 100644
--- a/macros/latex/contrib/fvextra/fvextra.ins
+++ b/macros/latex/contrib/fvextra/fvextra.ins
@@ -1,4 +1,4 @@
-%% Copyright (C) 2016-2022 by Geoffrey M. Poore <gpoore@gmail.com>
+%% Copyright (C) 2016-2024 by Geoffrey M. Poore <gpoore@gmail.com>
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -26,7 +26,7 @@
This is a generated file.
-Copyright (C) 2016-2022 by Geoffrey M. Poore <gpoore@gmail.com>
+Copyright (C) 2016-2024 by Geoffrey M. Poore <gpoore@gmail.com>
--------------------------------------------------------------------------
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/fvextra/fvextra.pdf b/macros/latex/contrib/fvextra/fvextra.pdf
index 9e1182bd63..b38e213561 100644
--- a/macros/latex/contrib/fvextra/fvextra.pdf
+++ b/macros/latex/contrib/fvextra/fvextra.pdf
Binary files differ
diff --git a/macros/latex/contrib/huaz/README b/macros/latex/contrib/huaz/README
index b37490a04a..4e8306629f 100644
--- a/macros/latex/contrib/huaz/README
+++ b/macros/latex/contrib/huaz/README
@@ -14,7 +14,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Tibor Tomacs.
+The Current Maintainer of this work is Tibor Tómács.
This work consists of the files
diff --git a/macros/latex/contrib/huaz/huaz.pdf b/macros/latex/contrib/huaz/huaz.pdf
index ab19e2a95f..1de65fbd30 100644
--- a/macros/latex/contrib/huaz/huaz.pdf
+++ b/macros/latex/contrib/huaz/huaz.pdf
Binary files differ
diff --git a/macros/latex/contrib/huaz/huaz.sty b/macros/latex/contrib/huaz/huaz.sty
index 8127c5b585..19ae1dacba 100644
--- a/macros/latex/contrib/huaz/huaz.sty
+++ b/macros/latex/contrib/huaz/huaz.sty
@@ -3,7 +3,7 @@
%%
%% Automatic Hungarian definite articles
%%
-%% Copyright 2022-2024 by Tibor Tomacs
+%% Copyright 2022-2024 by Tibor Tómács
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -15,10 +15,10 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Tibor Tomacs.
+%% The Current Maintainer of this work is Tibor Tómács.
%%
\NeedsTeXFormat{LaTeX2e}[2021/10/10]
-\ProvidesPackage{huaz}[2024/04/12 v1.1 Automatic Hungarian definite articles]
+\ProvidesPackage{huaz}[2024/05/05 v2.1 Automatic Hungarian definite articles]
\RequirePackage{xstring,refcount,iftex}
@@ -33,36 +33,62 @@
%=================================================
%
% utf8:
-% \huaz@list@A = ö,ü,ó,ő,ú,é,á,ű,í,Ö,Ü,Ó,Ő,Ú,É,Á,Ű,Í,Ä,À,Ã,Â,Ă,Å,Ą,Æ,ä,à,ã,â,ă,å,ą,æ,Ë,È,Ê,Ě,Ę,ë,è,ê,ě,ę,Ï,Í,Ì,Î,ï,ì,î,Ò,Õ,Ô,Ø,OE,ò,õ,ô,ø,Ù,Û,Ů,ù,û,ů
-% \huaz@list@X = Ĺ,Ł,ļ,ĺ,ł,Ņ,Ń,Ñ,Ň,Ŋ,ń,ñ,ň,ŋ,Ŗ,Ŕ,Ř,ŗ,ŕ,ř,Ş,Ș,Ś,Š,ş,ș,ś,š,Ÿ,Ý,ÿ,ý
+% \huaz@list@A = ö,ü,ó,ő,ú,é,á,ű,í,Ö,Ü,Ó,Ő,Ú,É,Á,Ű,Í,Ä,À,Ã,Â,Ă,Å,Ą,Æ,ä,à,ã,â,ă,å,ą,æ,
+% Ë,È,Ê,Ě,Ę,ë,è,ê,ě,ę,Ï,Í,Ì,Î,ï,ì,î,Ò,Õ,Ô,Ø,OE,ò,õ,ô,ø,Ù,Û,Ů,ù,û,ů
+% \huaz@list@S = Ĺ,Ł,ļ,ĺ,ł,Ņ,Ń,Ñ,Ň,Ŋ,ń,ñ,ň,ŋ,Ŗ,Ŕ,Ř,ŗ,ŕ,ř,Ş,Ș,Ś,Š,ş,ș,ś,š,Ÿ,Ý,ÿ,ý
%
% latin2:
% \huaz@list@A = Ą,ą,Á,Â,Ă,Ä,É,Ę,Ë,Ě,Í,Î,Ó,Ô,Ő,Ö,Ů,Ú,Ű,Ü,á,â,ă,ä,é,ę,ë,ě,í
-% \huaz@list@X = Ľ,Ś,Š,Ş,ś,š,ş,Ŕ,Ĺ,Ń,Ň,Ř,Ý,ĺ
+% \huaz@list@S = Ľ,Ś,Š,Ş,ś,š,ş,Ŕ,Ĺ,Ń,Ň,Ř,Ý,ĺ
%
%=================================================
-\ifpdftex
+\ifpdftex% latex, pdflatex
\def\huaz@utfviii{utf8}
\ifx\inputencodingname\huaz@utfviii
- \def\huaz@list@A{^^c3^^b6,^^c3^^bc,^^c3^^b3,^^c5^^91,^^c3^^ba,^^c3^^a9,^^c3^^a1,^^c5^^b1,^^c3^^ad,^^c3^^96,^^c3^^9c,^^c3^^93,^^c5^^90,^^c3^^9a,^^c3^^89,^^c3^^81,^^c5^^b0,^^c3^^8d,^^c3^^84,^^c3^^80,^^c3^^83,^^c3^^82,^^c4^^82,^^c3^^85,^^c4^^84,^^c3^^86,^^c3^^a4,^^c3^^a0,^^c3^^a3,^^c3^^a2,^^c4^^83,^^c3^^a5,^^c4^^85,^^c3^^a6,^^c3^^8b,^^c3^^88,^^c3^^8a,^^c4^^9a,^^c4^^98,^^c3^^ab,^^c3^^a8,^^c3^^aa,^^c4^^9b,^^c4^^99,^^c3^^8f,^^c3^^8d,^^c3^^8c,^^c3^^8e,^^c3^^af,^^c3^^ac,^^c3^^ae,^^c3^^92,^^c3^^95,^^c3^^94,^^c3^^98,^^4f^^45,^^c3^^b2,^^c3^^b5,^^c3^^b4,^^c3^^b8,^^c3^^99,^^c3^^9b,^^c5^^ae,^^c3^^b9,^^c3^^bb,^^c5^^af}
- \def\huaz@list@X{^^c4^^b9,^^c5^^81,^^c4^^bc,^^c4^^ba,^^c5^^82,^^c5^^85,^^c5^^83,^^c3^^91,^^c5^^87,^^c5^^8a,^^c5^^84,^^c3^^b1,^^c5^^88,^^c5^^8b,^^c5^^96,^^c5^^94,^^c5^^98,^^c5^^97,^^c5^^95,^^c5^^99,^^c5^^9e,^^c8^^98,^^c5^^9a,^^c5^^a0,^^c5^^9f,^^c8^^99,^^c5^^9b,^^c5^^a1,^^c5^^b8,^^c3^^9d,^^c3^^bf,^^c3^^bd}
+ \def\huaz@list@A{%
+ ^^c3^^b6,^^c3^^bc,^^c3^^b3,^^c5^^91,^^c3^^ba,^^c3^^a9,^^c3^^a1,^^c5^^b1,^^c3^^ad,%
+ ^^c3^^96,^^c3^^9c,^^c3^^93,^^c5^^90,^^c3^^9a,^^c3^^89,^^c3^^81,^^c5^^b0,^^c3^^8d,%
+ ^^c3^^84,^^c3^^80,^^c3^^83,^^c3^^82,^^c4^^82,^^c3^^85,^^c4^^84,^^c3^^86,^^c3^^a4,%
+ ^^c3^^a0,^^c3^^a3,^^c3^^a2,^^c4^^83,^^c3^^a5,^^c4^^85,^^c3^^a6,^^c3^^8b,^^c3^^88,%
+ ^^c3^^8a,^^c4^^9a,^^c4^^98,^^c3^^ab,^^c3^^a8,^^c3^^aa,^^c4^^9b,^^c4^^99,^^c3^^8f,%
+ ^^c3^^8d,^^c3^^8c,^^c3^^8e,^^c3^^af,^^c3^^ac,^^c3^^ae,^^c3^^92,^^c3^^95,^^c3^^94,%
+ ^^c3^^98,^^4f^^45,^^c3^^b2,^^c3^^b5,^^c3^^b4,^^c3^^b8,^^c3^^99,^^c3^^9b,^^c5^^ae,%
+ ^^c3^^b9,^^c3^^bb,^^c5^^af}
+ \def\huaz@list@S{%
+ ^^c4^^b9,^^c5^^81,^^c4^^bc,^^c4^^ba,^^c5^^82,^^c5^^85,^^c5^^83,^^c3^^91,^^c5^^87,%
+ ^^c5^^8a,^^c5^^84,^^c3^^b1,^^c5^^88,^^c5^^8b,^^c5^^96,^^c5^^94,^^c5^^98,^^c5^^97,%
+ ^^c5^^95,^^c5^^99,^^c5^^9e,^^c8^^98,^^c5^^9a,^^c5^^a0,^^c5^^9f,^^c8^^99,^^c5^^9b,%
+ ^^c5^^a1,^^c5^^b8,^^c3^^9d,^^c3^^bf,^^c3^^bd}
\huaz@must@oneunit@false
\fi
\def\huaz@latinii{latin2}
\ifx\inputencodingname\huaz@latinii
- \def\huaz@list@A{^^a1,^^b1,^^c1,^^c2,^^c3,^^c4,^^c9,^^ca,^^cb,^^cc,^^cd,^^ce,^^d3,^^d4,^^d5,^^d6,^^d9,^^da,^^db,^^dc,^^e1,^^e2,^^e3,^^e4,^^e5,^^e9,^^ea,^^eb,^^ec,^^ed,^^ee,^^f3,^^f4,^^f5,^^f6,^^f9,^^fa,^^fb,^^fc}
- \def\huaz@list@X{^^a3,^^a5,^^a6,^^a9,^^aa,^^b3,^^b6,^^b9,^^ba,^^c0,^^c5,^^d1,^^d2,^^d8,^^dd,^^df,^^e0,^^f1,^^f2,^^f8,^^fd}
+ \def\huaz@list@A{%
+ ^^a1,^^b1,^^c1,^^c2,^^c3,^^c4,^^c9,^^ca,^^cb,^^cc,^^cd,^^ce,^^d3,^^d4,^^d5,^^d6,%
+ ^^d9,^^da,^^db,^^dc,^^e1,^^e2,^^e3,^^e4,^^e5,^^e9,^^ea,^^eb,^^ec,^^ed,^^ee,^^f3,%
+ ^^f4,^^f5,^^f6,^^f9,^^fa,^^fb,^^fc}
+ \def\huaz@list@S{%
+ ^^a3,^^a5,^^a6,^^a9,^^aa,^^b3,^^b6,^^b9,^^ba,^^c0,^^c5,^^d1,^^d2,^^d8,^^dd,^^df,%
+ ^^e0,^^f1,^^f2,^^f8,^^fd}
\huaz@must@oneunit@true
\fi
- \ifx\inputencodingname\huaz@utfviii\else
- \ifx\inputencodingname\huaz@latinii\else
- \PackageError{huaz}{You should use utf8 or latin2 inputenc}{}
- \fi
- \fi
-\else
- \def\huaz@list@A{^^^^00f6,^^^^00fc,^^^^00f3,^^^^0151,^^^^00fa,^^^^00e9,^^^^00e1,^^^^0171,^^^^00ed,^^^^00d6,^^^^00dc,^^^^00d3,^^^^0150,^^^^00da,^^^^00c9,^^^^00c1,^^^^0170,^^^^00cd,^^^^00c4,^^^^00c0,^^^^00c3,^^^^00c2,^^^^0102,^^^^00c5,^^^^0104,^^^^00c6,^^^^00e4,^^^^00e0,^^^^00e3,^^^^00e2,^^^^0103,^^^^00e5,^^^^0105,^^^^00e6,^^^^00cb,^^^^00c8,^^^^00ca,^^^^011a,^^^^0118,^^^^00eb,^^^^00e8,^^^^00ea,^^^^011b,^^^^0119,^^^^00cf,^^^^00cd,^^^^00cc,^^^^00ce,^^^^00ef,^^^^00ec,^^^^00ee,^^^^00d2,^^^^00d5,^^^^00d4,^^^^00d8,^^^^004f,^^^^0045,^^^^00f2,^^^^00f5,^^^^00f4,^^^^00f8,^^^^00d9,^^^^00db,^^^^016e,^^^^00f9,^^^^00fb,^^^^016f}
- \def\huaz@list@X{^^^^0139,^^^^0141,^^^^013c,^^^^013a,^^^^0142,^^^^0145,^^^^0143,^^^^00d1,^^^^0147,^^^^014a,^^^^0144,^^^^00f1,^^^^0148,^^^^014b,^^^^0156,^^^^0154,^^^^0158,^^^^0157,^^^^0155,^^^^0159,^^^^015e,^^^^0218,^^^^015a,^^^^0160,^^^^015f,^^^^0219,^^^^015b,^^^^0161,^^^^0178,^^^^00dd,^^^^00ff,^^^^00fd}
+ \ifdefined\huaz@list@A\else\PackageError{huaz}{You should use utf8 or latin2 inputenc}{}\fi
+\else% xelatex lualatex
+ \def\huaz@list@A{%
+ ^^^^00f6,^^^^00fc,^^^^00f3,^^^^0151,^^^^00fa,^^^^00e9,^^^^00e1,^^^^0171,^^^^00ed,%
+ ^^^^00d6,^^^^00dc,^^^^00d3,^^^^0150,^^^^00da,^^^^00c9,^^^^00c1,^^^^0170,^^^^00cd,%
+ ^^^^00c4,^^^^00c0,^^^^00c3,^^^^00c2,^^^^0102,^^^^00c5,^^^^0104,^^^^00c6,^^^^00e4,%
+ ^^^^00e0,^^^^00e3,^^^^00e2,^^^^0103,^^^^00e5,^^^^0105,^^^^00e6,^^^^00cb,^^^^00c8,%
+ ^^^^00ca,^^^^011a,^^^^0118,^^^^00eb,^^^^00e8,^^^^00ea,^^^^011b,^^^^0119,^^^^00cf,%
+ ^^^^00cd,^^^^00cc,^^^^00ce,^^^^00ef,^^^^00ec,^^^^00ee,^^^^00d2,^^^^00d5,^^^^00d4,%
+ ^^^^00d8,^^^^004f,^^^^0045,^^^^00f2,^^^^00f5,^^^^00f4,^^^^00f8,^^^^00d9,^^^^00db,%
+ ^^^^016e,^^^^00f9,^^^^00fb,^^^^016f}
+ \def\huaz@list@S{%
+ ^^^^0139,^^^^0141,^^^^013c,^^^^013a,^^^^0142,^^^^0145,^^^^0143,^^^^00d1,^^^^0147,%
+ ^^^^014a,^^^^0144,^^^^00f1,^^^^0148,^^^^014b,^^^^0156,^^^^0154,^^^^0158,^^^^0157,%
+ ^^^^0155,^^^^0159,^^^^015e,^^^^0218,^^^^015a,^^^^0160,^^^^015f,^^^^0219,^^^^015b,%
+ ^^^^0161,^^^^0178,^^^^00dd,^^^^00ff,^^^^00fd}
\huaz@must@oneunit@true
\fi
@@ -74,15 +100,34 @@
\NewHook{huaz}
-\AddToHook{huaz}{% In \StrChar, these commands will be considered as one syntax unit.
- \let\"\relax\let\'\relax\let\H\relax\let\`\relax\let\~\relax\let\^\relax\let\v\relax\let\u\relax%
- \let\=\relax\let\k\relax\let\.\relax\let\AA\relax\let\aa\relax\let\AE\relax\let\ae\relax\let\&\relax%
- \let\#\relax\let\_\relax}
-
-\def\huaz@y@#1#{\@gobble}
-\def\huaz@deloptparam{\huaz@y@\relax}% \def\textcolor{\huaz@deloptparam} --> \textcolor[RGB]{0,255,0}{text} --> text; \textcolor{red}{text} --> text
-
-\AddToHook{huaz}{% Ignored commands
+\AddToHook{huaz}{%
+ %
+ % Accent commands are considered as one unit
+ \let\"\relax\let\'\relax\let\`\relax\let\~\relax% \def\'{} ==> \az*{\'{X}}=\az*{X}=\az*{10}=a is not correct
+ \let\^\relax\let\=\relax\let\.\relax%
+ \let\b\relax\let\B\relax\let\c\relax\let\d\relax%
+ \let\H\relax\let\k\relax\let\r\relax\let\u\relax\let\v\relax%
+ %
+ % Redefining letter commands
+ \def\AA{a}\def\aa{a}\def\AE{a}\def\ae{a}%
+ \def\IJ{a}\def\ij{a}\def\i{a}% \def\i{i} ==> \az*{\i x}=\az*{ix}=\az*{9}=a is not correct
+ \def\O{a}\def\o{a}\def\OE{a}\def\oe{a}%
+ \def\l{s}\def\NG{s}\def\ng{s}\def\SS{s}\def\ss{s}%
+ %
+ % Redefinition of punctuation commands to period
+ \def\&{.}\def\#{.}\def\%{.}\def\_{.}%
+ %
+ % Redefinition of space commands to normal space
+ \def\,{ }\def\:{ }\def\;{ }\def\enspace{ }\def\enskip{ }\def\quad{ }\def\qquad{ }%
+ %
+ % Ignore commands
+ \def\usefont#1#2#3#4{}%
+ \def\fontsize#1#2{}%
+ \def\fontencoding#1{}%
+ \def\fontfamily#1{}%
+ \def\fontseries#1{}%
+ \def\fontshape#1{}%
+ \def\selectfont{}%
\def\textrm{}\def\rmfamily{}%
\def\textsf{}\def\sffamily{}%
\def\texttt{}\def\ttfamily{}%
@@ -101,15 +146,106 @@
\def\tiny{}\def\scriptsize{}\def\footnotesize{}\def\small{}\def\normalsize{}%
\def\large{}\def\Large{}\def\LARGE{}\def\huge{}\def\Huge{}%
\def\uppercase{}\def\lowercase{}\def\MakeUppercase{}\def\MakeLowercase{}%
- \def\textcolor{\huaz@deloptparam}\def\color{\huaz@deloptparam}%
- \def\mbox{}\def\fbox{}%
- \def\told{}}
+ \def\textcolor#1#{\@gobble}% \textcolor[...]{...}{text} and \textcolor{...}{text} --> text
+ \def\color#1#{\@gobble}% \color[...]{...}text and \color{...}text --> text
+ \def\href#1#{\@gobble}% \href{URL}{text} --> text
+ \def\mbox{}\def\fbox{}\def\hbox{}%
+ \def\makebox#1#{}% \makebox{text} and \makebox[opt]{text} --> text
+ \def\framebox#1#{}% \framebox{text} and \framebox[opt]{text} --> text
+ \def\textqq{}%
+ \def\enquote#1#{}% \enquote{text} and \enquote*{text} --> text
+ \def\told{}%
+ \def\num#1#{}% (siunitx package) \num[...]{1000000} --> 1000000
+ \def\negthinspace{}\def\!{}%
+ %
+ % Expandable cross-references commands
+ \def\ref#1#{\getrefnumber}% \ref{...} and \ref*{...} --> \getrefnumber{...}
+ \def\pageref#1#{\getpagerefnumber}% \pageref{...} and \pageref*{...} --> \getpagerefnumber{...}
+ \def\eqref#1#{\getrefnumber}% \eqref{...} (amsmath) and \eqref*{...} (!!) --> \getrefnumber{...}
+ \def\refeq#1#{\getrefnumber}% \refeq{...} (mathtools) and \refeq*{...} (!!) --> \getrefnumber{...}
+ \def\cite{\huaz@cite}%
+ \def\citeauthor{\huaz@citeauthor}%
+ \def\textcite{\huaz@citeauthor}%
+ \def\citeyear{\huaz@citeyear}%
+ }
+
+%=================================================
+%
+% \huazignorecmd[option]{\command}
+% option: 0,1,...,9
+%
+% \huazignorecmd{\foo} = \AddToHook{huaz}{\def\foo{}}
+% ignored: \foo
+% for example: \huazignorecmd{\rmfamily}
+% \rmfamily text --> text
+%
+% \huazignorecmd[0]{\foo} = \AddToHook{huaz}{\def\foo#1#{}}
+% ignored: \foo, \foo*, \foo[...], \foo*[...]
+% for example: \huazignorecmd{\textrm}
+% \textrm{text} --> text
+% \huazignorecmd{\makebox}
+% \makebox[5cm]{text} --> text
+%
+% \huazignorecmd[1]{\foo} = \AddToHook{huaz}{\def\foo#1#{\@gobble}}
+% ignored: \foo{...}, \foo[...]{...}, \foo*[...]{...}
+% for example: \huazignorecmd{\textcolor}
+% \textcolor[RGB]{0,255,0}{text} --> text
+%
+% \huazignorecmd[2]{\foo} = \AddToHook{huaz}{\def\foo#1#{\huaz@gobble@ii}}
+% ignored: \foo{...}{...}, \foo[...]{...}{...}, \foo*[...]{...}{...}
+% for example: \huazignorecmd{\fontsize}
+% \fontsize{12pt}{12pt}text --> text
+%
+%=================================================
+
+\newcommand{\huaz@gobble@ii}[2]{}
+\newcommand{\huaz@gobble@iii}[3]{}
+\newcommand{\huaz@gobble@iv}[4]{}
+\newcommand{\huaz@gobble@v}[5]{}
+\newcommand{\huaz@gobble@vi}[6]{}
+\newcommand{\huaz@gobble@vii}[7]{}
+\newcommand{\huaz@gobble@viii}[8]{}
+\newcommand{\huaz@gobble@ix}[9]{}
+
+\def\huaz@check@opt#1{%
+ \def\huaz@opt{#1}%
+ \huaz@temp@if@false%
+ \@for\huaz@list:={,0,1,2,3,4,5,6,7,8,9,10}%
+ \do{\IfStrEq{\huaz@opt}{\huaz@list}{\huaz@temp@if@true}{}}%
+ \IfStrEq{\huaz@opt}{}{\def\huaz@opt{10}}{}%
+ \ifhuaz@temp@if@\else
+ \def\huaz@opt{10}%
+ \PackageWarning{huaz}{Valid options for \string\huazignorecmd: 0,1,...,9. The '[#1]' has been removed.}\fi}
+
+\NewDocumentCommand{\huazignorecmd}{>{\TrimSpaces}O{10}m}{%
+ \huaz@check@opt{#1}%
+ \ifcase\huaz@opt%
+ \AddToHook{huaz}{\def#2##1##{}}\or
+ \AddToHook{huaz}{\def#2##1##{\@gobble}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@ii}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@iii}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@iv}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@v}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@vi}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@vii}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@viii}}\or
+ \AddToHook{huaz}{\def#2##1##{\huaz@gobble@ix}}\or
+ \AddToHook{huaz}{\def#2{}}\fi}
+
+%=================================================
+%
+% \huazrefcmd{\foo} = \AddToHook{huaz}{\def\foo#1#{\getrefnumber}}
+% --> \foo{...}, \foo[...]{...}, \foo*[...]{...} --> \getrefnumber{...}
+%
+% \huazpagerefcmd{\foo} = \AddToHook{huaz}{\def\foo#1#{\getpagerefnumber}}
+% --> \foo{...}, \foo[...]{...}, \foo*[...]{...} --> \getpagerefnumber{...}
+%
+% \huazdefcmd{...} = \AddToHook{huaz}{...}
+%=================================================
-\AddToHook{huaz}{% Expandable cross-references commands
- \def\ref#1{\getrefnumber{#1}}%
- \def\eqref#1{\getrefnumber{#1}}%
- \def\pageref#1{\getpagerefnumber{#1}}%
- \def\cite{\huaz@cite}}
+\NewDocumentCommand{\huazrefcmd}{m}{\AddToHook{huaz}{\def#1##1##{\getrefnumber}}}
+\NewDocumentCommand{\huazpagerefcmd}{m}{\AddToHook{huaz}{\def#1##1##{\getpagerefnumber}}}
+\NewDocumentCommand{\huazdefcmd}{m}{\AddToHook{huaz}{#1}}
%=================================================
%
@@ -125,75 +261,141 @@
\UseHook{huaz}%
\huaz@must@z@false%
%
- % 1. syntax unit \AA,\aa,\AE,\ae,e,u,i,o,a,E,U,I,O,A,5
+ % 1. unit: e,u,i,o,a,E,U,I,O,A,5
+ %
\StrChar{#1}{1}[\huaz@temp]%
- \@for\huaz@list:={\AA,\aa,\AE,\ae,e,u,i,o,a,E,U,I,O,A,5}%
+ \@for\huaz@list:={e,u,i,o,a,E,U,I,O,A,5}%
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
%
- % 1. syntax unit accent command and 2. character e,u,i,o,a,E,U,I,O,A (e.g. "\'A")
+ % 1. unit: accent command
+ % 2. unit: e,u,i,o,a,E,U,I,O,A
+ % "\'A" "\'{A}"
+ %
\ifhuaz@must@z@\else%
\huaz@temp@if@false%
\StrChar{#1}{1}[\huaz@temp]%
- \@for\huaz@list:={\",\',\H,\`,\~,\^,\v,\u,\=,\k}%
+ \@for\huaz@list:={\",\',\`,\~,\^,\=,\.,\b,\B,\c,\d,\H,\k,\r,\u,\v}%
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
\ifhuaz@temp@if@%
\StrChar{#1}{2}[\huaz@temp]%
- \@for\huaz@list:={e,u,i,a,E,U,I,O,A}%
+ \@for\huaz@list:={e,u,i,o,a,E,U,I,O,A}%
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\fi%
\fi%
%
- % 1. character ö,ü,ó,ő,ú,é,á,ű,í,Ö,Ü,Ó,Ő,Ú,É,Á,Ű,Í,...
+ % 1. unit: \",\',\`,\~,\^,\=,\.
+ % 2. unit: space(s)
+ % 3. unit: e,u,i,o,a,E,U,I,O,A
+ % "\' A", "\' A", "\' {A}"
+ %
\ifhuaz@must@z@\else%
- \ifhuaz@must@oneunit@\StrLeft{#1}{1}[\huaz@tempa]\else\StrLeft{#1}{2}[\huaz@tempa]\fi% in pdflatex(utf8) Ő is two syntax units; in pdflatex(latin2)/xelatex/lualatex Ő is one syntax unit
+ \huaz@temp@if@false%
+ \StrChar{#1}{1}[\huaz@temp]%
+ \@for\huaz@list:={\",\',\`,\~,\^,\=,\.}%
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
+ \ifhuaz@temp@if@%
+ \huaz@temp@if@false%
+ \StrChar{#1}{2}[\huaz@temp]%
+ \IfStrEq{\huaz@temp}{ }{\huaz@temp@if@true}{}%
+ \fi%
+ \ifhuaz@temp@if@%
+ \StrChar{#1}{3}[\huaz@temp]%
+ \@for\huaz@list:={e,u,i,o,a,E,U,I,O,A}%
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
+ \fi%
+ \fi%
+ %
+ % 1. unit: \huaz@list@A
+ %
+ \ifhuaz@must@z@\else%
+ \ifhuaz@must@oneunit@\StrLeft{#1}{1}[\huaz@tempa]\else\StrLeft{#1}{2}[\huaz@tempa]\fi% in pdflatex(utf8) Ő is two units; in pdflatex(latin2)/xelatex/lualatex Ő is one unit
\@for\huaz@list:=\huaz@list@A%
\do{\StrLeft{\huaz@list}{2}[\huaz@tempb]%
\IfStrEq{\huaz@tempa}{\huaz@tempb}{\huaz@must@z@true}{}}%
\fi%
%
- % 1. character f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y and the 2. character is not letter (e.g. "M-10")
+ % 1. unit: f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y,\huaz@list@S(one unit)
+ % 2. unit: punctuation
+ % "M-10"
+ %
\ifhuaz@must@z@\else%
\huaz@temp@if@false%
\StrChar{#1}{2}[\huaz@temp]%
- \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\&,\#,\_,\unskip,\kern}% \kern, \unskip for active characters
+ \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
\ifhuaz@temp@if@%
\StrChar{#1}{1}[\huaz@temp]%
- \@for\huaz@list:={f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y}%
+ \@for\huaz@list:={f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y}%
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\ifhuaz@must@oneunit@%
\ifhuaz@must@z@\else%
- \@for\huaz@list:=\huaz@list@X% in pdflatex(latin2)/xelatex/lualatex Š is one syntax unit
+ \@for\huaz@list:=\huaz@list@S% in pdflatex(latin2)/xelatex/lualatex Š is one unit
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\fi%
\fi%
\fi%
\fi%
%
- % 1. syntax unit accent command, 2. character f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y and the 3. character is not letter (e.g. "\^Y.")
+ % 1. unit: accent command
+ % 2. unit: f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y
+ % 3. unit: punctuation
+ % "\^Y."
+ %
\ifhuaz@must@z@\else%
\huaz@temp@if@false%
\StrChar{#1}{3}[\huaz@temp]%
- \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\&,\#,\_,\unskip,\kern}% \kern, \unskip for active characters
+ \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
\ifhuaz@temp@if@%
\huaz@temp@if@false%
\StrChar{#1}{2}[\huaz@temp]%
- \@for\huaz@list:={f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y}%
+ \@for\huaz@list:={f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y}%
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
- \ifhuaz@temp@if@%
- \StrChar{#1}{1}[\huaz@temp]%
- \@for\huaz@list:={\",\',\H,\`,\~,\^,\v,\u,\=,\k}%
- \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
- \fi%
+ \fi%
+ \ifhuaz@temp@if@%
+ \StrChar{#1}{1}[\huaz@temp]%
+ \@for\huaz@list:={\",\',\`,\~,\^,\=,\.,\b,\B,\c,\d,\H,\k,\r,\u,\v}%
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\fi%
\fi%
%
- % first two characters ly,Ly,LY,ny,Ny,NY,sz,Sz,SZ,... and the 3. character is not letter (e.g. "NY" or "SZ-2")
+ % 1. unit: \",\',\`,\~,\^,\=,\.
+ % 2. unit: space(s)
+ % 3. unit: f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y
+ % 4. unit: punctuation
+ % "\^ Y."
+ %
+ \ifhuaz@must@z@\else%
+ \huaz@temp@if@false%
+ \StrChar{#1}{4}[\huaz@temp]%
+ \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
+ \ifhuaz@temp@if@%
+ \huaz@temp@if@false%
+ \StrChar{#1}{3}[\huaz@temp]%
+ \@for\huaz@list:={f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y}%
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
+ \fi%
+ \ifhuaz@temp@if@%
+ \huaz@temp@if@false%
+ \StrChar{#1}{2}[\huaz@temp]%
+ \IfStrEq{\huaz@temp}{ }{\huaz@temp@if@true}{}%
+ \fi%
+ \ifhuaz@temp@if@%
+ \StrChar{#1}{1}[\huaz@temp]%
+ \@for\huaz@list:={\",\',\`,\~,\^,\=,\.}%
+ \do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
+ \fi%
+ \fi%
+ %
+ % 1-2. units: ly,Ly,LY,ny,Ny,NY,sz,Sz,SZ,\huaz@list@S(two units)
+ % 3. unit: punctuation
+ % "NY" "SZ-2"
+ %
\ifhuaz@must@z@\else%
\huaz@temp@if@false%
\StrChar{#1}{3}[\huaz@temp]%
- \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\&,\#,\_,\unskip,\kern}% \kern, \unskip for active characters
+ \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@temp@if@true}{}}%
\ifhuaz@temp@if@%
\StrLeft{#1}{2}[\huaz@temp]%
@@ -201,14 +403,17 @@
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\ifhuaz@must@oneunit@\else%
\ifhuaz@must@z@\else%
- \@for\huaz@list:=\huaz@list@X% in pdflatex(utf8) Š is two syntax units
+ \@for\huaz@list:=\huaz@list@S% in pdflatex(utf8) Š is two units
\do{\IfStrEq{\huaz@temp}{\huaz@list}{\huaz@must@z@true}{}}%
\fi%
\fi%
\fi%
\fi%
%
- % 1. character 1 and the 2. character is not number (e.g. "1H")
+ % 1. unit: 1
+ % 2. unit: not digit
+ % "1H"
+ %
\ifhuaz@must@z@\else%
\StrChar{#1}{1}[\huaz@temp]%
\IfStrEq{\huaz@temp}{1}{%
@@ -217,14 +422,17 @@
}{}%
\fi%
%
- % 1000,...,1999 and the 5. character is not number ("ezer...")
+ % 1000,...,1999
+ % 5. unit: not digit
+ % "1000. sor" --> ezredik sor
+ %
\ifhuaz@must@z@\else%
\StrLen{#1}[\huaz@temp]%
\setcounter{huaz@temp@count}{\huaz@temp}%
\ifnum\value{huaz@temp@count}>3%
\StrChar{#1}{1}[\huaz@temp]%
\IfStrEq{\huaz@temp}{1}{%
- \StrMid{#1}{2}{4}[\huaz@temp]%
+ \StrLeft{#1}{4}[\huaz@temp]%
\IfInteger{\huaz@temp}{%
\StrChar{#1}{5}[\huaz@temp]%
\IfInteger{\huaz@temp}{}{\huaz@must@z@true}%
@@ -233,14 +441,17 @@
\fi%
\fi%
%
- % 1000000,...,1999999 and the 8. character is not number ("egymillió...")
+ % 1000000,...,1999999
+ % 8. unit: not digit
+ % "1000000 ember" --> egymillió ember
+ %
\ifhuaz@must@z@\else%
\StrLen{#1}[\huaz@temp]%
\setcounter{huaz@temp@count}{\huaz@temp}%
\ifnum\value{huaz@temp@count}>6%
\StrChar{#1}{1}[\huaz@temp]%
\IfStrEq{\huaz@temp}{1}{%
- \StrMid{#1}{2}{7}[\huaz@temp]%
+ \StrLeft{#1}{7}[\huaz@temp]%
\IfInteger{\huaz@temp}{%
\StrChar{#1}{8}[\huaz@temp]%
\IfInteger{\huaz@temp}{}{\huaz@must@z@true}%
@@ -249,14 +460,17 @@
\fi%
\fi%
%
- % 1000000000,...,1999999999 and the 11. character is not number ("egymilliárd...")
+ % 1000000000,...,1999999999
+ % 11. unit: not digit
+ % "1000000000 ember" --> egymilliárd ember
+ %
\ifhuaz@must@z@\else%
\StrLen{#1}[\huaz@temp]%
\setcounter{huaz@temp@count}{\huaz@temp}%
\ifnum\value{huaz@temp@count}>9%
\StrChar{#1}{1}[\huaz@temp]%
\IfStrEq{\huaz@temp}{1}{%
- \StrMid{#1}{2}{10}[\huaz@temp]%
+ \StrLeft{#1}{10}[\huaz@temp]%
\IfInteger{\huaz@temp}{%
\StrChar{#1}{11}[\huaz@temp]%
\IfInteger{\huaz@temp}{}{\huaz@must@z@true}%
@@ -291,36 +505,49 @@
%=================================================
%
-% \huaz@try@roman{<...>}
-% Collect the characters i,v,x,l,c,d,m,I,V,X,L,C,D,M from the beginning of <...>.
-% This string is saved into \huaz@try@roman@result.
-% If this string is empty, then \huaz@try@roman@result is <...>. E.g.
-% \huaz@try@roman{XIV.6}\huaz@try@roman@result --> "XIV"
-% \huaz@try@roman{xiii.x}\huaz@try@roman@result --> "xiii"
-% \huaz@try@roman{d.xiii}\huaz@try@roman@result --> "d"
-% \huaz@try@roman{a.xiii}\huaz@try@roman@result --> "a.xiii"
-% \huaz@try@roman{XIii}\huaz@try@roman@result --> "XIii"
-% \huaz@try@roman{aXIIII}\huaz@try@roman@result --> "aXIIII"
+% \huaz@collect@roman{<...>}
+% Collecting the characters i,v,x,l,c,d,m,I,V,X,L,C,D,M from the beginning of <...>
+% "XIII" --> result string is "XIII"
+% "xiii.x" --> result string is "xiii"
+% "x ii.x" --> result string is "x"
+% "VB" --> result string is "V"
+% "XIV6" --> result string is "XIV"
+% "aXIII" --> result string is ""
+% If the result string = <...>, then \huaz@collect@roman@result := result string
+% \huaz@collect@roman{XIII}\huaz@collect@roman@result --> "XIII"
+% If the result string is not empty and the first character after it is a punctuation mark or space in <...> , then \huaz@collect@roman@result := result string
+% \huaz@collect@roman{xiii.x}\huaz@collect@roman@result --> "xiii"
+% \huaz@collect@roman{x ii.x}\huaz@collect@roman@result --> "x"
+% If the result string is not empty and the first character after it is a letter or digit in <...> , then \huaz@collect@roman@result := ""
+% \huaz@collect@roman{VB}\huaz@collect@roman@result --> ""
+% \huaz@collect@roman{XIV6}\huaz@collect@roman@result --> ""
+% If the result string is empty then \huaz@collect@roman@result := ""
+% \huaz@collect@roman{aXIII}\huaz@collect@roman@result --> ""
%
%=================================================
-\NewDocumentCommand{\huaz@try@roman}{m}{%
+\NewDocumentCommand{\huaz@collect@roman}{m}{%
\begingroup%
\exploregroups%
\UseHook{huaz}%
\StrLen{#1}[\huaz@temp]%
\setcounter{huaz@temp@count}{\huaz@temp}%
\setcounter{huaz@temp@count@}{1}%
- \gdef\huaz@try@roman@result{}%
+ \gdef\huaz@collect@roman@result{}%
\loop%
- \huaz@temp@if@false%
\StrChar{#1}{\thehuaz@temp@count@}[\huaz@temp]%
- \IfSubStr{ivxlcdmIVXLCDM}{\huaz@temp}{%
- \expandafter\g@addto@macro\expandafter\huaz@try@roman@result\expandafter{\huaz@temp}}
+ \IfSubStr{ivxlcdmIVXLCDM}{\huaz@temp}
+ {\expandafter\g@addto@macro\expandafter\huaz@collect@roman@result\expandafter{\huaz@temp}}
{\setcounter{huaz@temp@count@}{\value{huaz@temp@count}}}%
\ifnum\value{huaz@temp@count@}<\value{huaz@temp@count}\stepcounter{huaz@temp@count@}%
\repeat%
- \ifx\huaz@try@roman@result\@empty\gdef\huaz@try@roman@result{#1}\fi%
+ \IfStrEq{\huaz@collect@roman@result}{}{}{%
+ \huaz@temp@if@false%
+ \StrBehind{#1}{\huaz@collect@roman@result}[\huaz@tempa]%
+ \StrChar{\huaz@tempa}{1}[\huaz@tempb]%
+ \@for\huaz@list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
+ \do{\IfStrEq{\huaz@tempb}{\huaz@list}{\huaz@temp@if@true}{}}%
+ \ifhuaz@temp@if@\else\gdef\huaz@collect@roman@result{}\fi}%
\endgroup}
%=================================================
@@ -333,21 +560,32 @@
%=================================================
%
+% \azseparator
+%
+%=================================================
+
+\def\azseparator#1{\def\huaz@sep{#1}}
+\def\huaz@sep{~}
+
+%=================================================
+%
% \huaz@text
%
%=================================================
\NewDocumentCommand{\huaz@text}{st{=}m}{%
- \huaz@try@roman{#3}%
- \def\huaz@tempa{-1}%
- \edef\huaz@tempb{\huaz@romantoarabic{\huaz@try@roman@result}}%
+ \huaz@collect@roman{#3}%
+ \huaz@temp@if@true%
+ \edef\huaz@temp{\huaz@romantoarabic{\huaz@collect@roman@result}}%
+ \IfStrEq{\huaz@temp}{0}{\huaz@temp@if@false}{}%
+ \IfStrEq{\huaz@temp}{-1}{\huaz@temp@if@false}{}%
\IfBooleanTF{#2}{\huaz@z{#3}}{%
- \ifx\huaz@tempb\huaz@tempa%
- \huaz@z{#3}%
+ \ifhuaz@temp@if@%
+ \huaz@z{\huaz@romantoarabic{\huaz@collect@roman@result}}%
\else%
- \huaz@z{\huaz@romantoarabic{\huaz@try@roman@result}}%
+ \huaz@z{#3}%
\fi}%
- \IfBooleanF{#1}{\ifhuaz@show@~#3\fi}%
+ \IfBooleanF{#1}{\ifhuaz@show@\huaz@sep{#3}\fi}%
\huaz@show@true}
%=================================================
@@ -356,10 +594,29 @@
%
%=================================================
-\DeclareDocumentCommand{\az}{sm}{\ifhuaz@show@ a\fi\IfBooleanTF{#1}{\huaz@text*{#2}}{\huaz@text{#2}}\xdef\azsaved{a\huaz@save}}
-\DeclareDocumentCommand{\Az}{sm}{\ifhuaz@show@ A\fi\IfBooleanTF{#1}{\huaz@text*{#2}}{\huaz@text{#2}}\xdef\azsaved{A\huaz@save}}
-\DeclareDocumentCommand{\azv}{sm}{\ifhuaz@show@ a\fi\IfBooleanTF{#1}{\huaz@text*={#2}}{\huaz@text={#2}}\xdef\azsaved{a\huaz@save}}
-\DeclareDocumentCommand{\Azv}{sm}{\ifhuaz@show@ A\fi\IfBooleanTF{#1}{\huaz@text*={#2}}{\huaz@text={#2}}\xdef\azsaved{A\huaz@save}}
+\DeclareDocumentCommand{\az}{s>{\TrimSpaces}m}{%
+ \ifhuaz@show@ a\fi
+ \IfBooleanTF{#1}{\huaz@text*{#2}}{\huaz@text{#2}}%
+ \IfBlankT{#2}{\PackageWarning{huaz}{Argument of \string\az\space is empty}\textup{(?)}}%
+ \xdef\azsaved{a\huaz@save}}
+
+\DeclareDocumentCommand{\Az}{s>{\TrimSpaces}m}{%
+ \ifhuaz@show@ A\fi
+ \IfBooleanTF{#1}{\huaz@text*{#2}}{\huaz@text{#2}}%
+ \IfBlankT{#2}{\PackageWarning{huaz}{Argument of \string\Az\space is empty}\textup{(?)}}%
+ \xdef\azsaved{A\huaz@save}}
+
+\DeclareDocumentCommand{\azv}{s>{\TrimSpaces}m}{%
+ \ifhuaz@show@ a\fi
+ \IfBooleanTF{#1}{\huaz@text*={#2}}{\huaz@text={#2}}%
+ \IfBlankT{#2}{\PackageWarning{huaz}{Argument of \string\azv\space is empty}\textup{(?)}}%
+ \xdef\azsaved{a\huaz@save}}
+
+\DeclareDocumentCommand{\Azv}{s>{\TrimSpaces}m}{%
+ \ifhuaz@show@ A\fi
+ \IfBooleanTF{#1}{\huaz@text*={#2}}{\huaz@text={#2}}%
+ \IfBlankT{#2}{\PackageWarning{huaz}{Argument of \string\Azv\space is empty}\textup{(?)}}%
+ \xdef\azsaved{A\huaz@save}}
%=================================================
%
@@ -367,10 +624,10 @@
%
%=================================================
-\DeclareDocumentCommand{\aref}{sm}{\IfBooleanTF{#1}{\az*{\ref{#2}}}{\az{\ref{#2}}}}
-\DeclareDocumentCommand{\Aref}{sm}{\IfBooleanTF{#1}{\Az*{\ref{#2}}}{\Az{\ref{#2}}}}
-\DeclareDocumentCommand{\avref}{sm}{\IfBooleanTF{#1}{\azv*{\ref{#2}}}{\azv{\ref{#2}}}}
-\DeclareDocumentCommand{\Avref}{sm}{\IfBooleanTF{#1}{\Azv*{\ref{#2}}}{\Azv{\ref{#2}}}}
+\DeclareDocumentCommand{\aref}{sm}{\IfBooleanTF{#1}{\az{\ref*{#2}}}{\az{\ref{#2}}}}
+\DeclareDocumentCommand{\Aref}{sm}{\IfBooleanTF{#1}{\Az{\ref*{#2}}}{\Az{\ref{#2}}}}
+\DeclareDocumentCommand{\avref}{sm}{\IfBooleanTF{#1}{\azv{\ref*{#2}}}{\azv{\ref{#2}}}}
+\DeclareDocumentCommand{\Avref}{sm}{\IfBooleanTF{#1}{\Azv{\ref*{#2}}}{\Azv{\ref{#2}}}}
%=================================================
%
@@ -378,10 +635,10 @@
%
%=================================================
-\DeclareDocumentCommand{\apageref}{sm}{\IfBooleanTF{#1}{\az*{\pageref{#2}}}{\az{\pageref{#2}}}}
-\DeclareDocumentCommand{\Apageref}{sm}{\IfBooleanTF{#1}{\Az*{\pageref{#2}}}{\Az{\pageref{#2}}}}
-\DeclareDocumentCommand{\avpageref}{sm}{\IfBooleanTF{#1}{\azv*{\pageref{#2}}}{\azv{\pageref{#2}}}}
-\DeclareDocumentCommand{\Avpageref}{sm}{\IfBooleanTF{#1}{\Azv*{\pageref{#2}}}{\Azv{\pageref{#2}}}}
+\DeclareDocumentCommand{\apageref}{sm}{\IfBooleanTF{#1}{\az{\pageref*{#2}}}{\az{\pageref{#2}}}}
+\DeclareDocumentCommand{\Apageref}{sm}{\IfBooleanTF{#1}{\Az{\pageref*{#2}}}{\Az{\pageref{#2}}}}
+\DeclareDocumentCommand{\avpageref}{sm}{\IfBooleanTF{#1}{\azv{\pageref*{#2}}}{\azv{\pageref{#2}}}}
+\DeclareDocumentCommand{\Avpageref}{sm}{\IfBooleanTF{#1}{\Azv{\pageref*{#2}}}{\Azv{\pageref{#2}}}}
%=================================================
%
@@ -389,10 +646,21 @@
%
%=================================================
-\DeclareDocumentCommand{\aeqref}{sm}{\IfBooleanTF{#1}{\az*{\eqref{#2}}}{\az{\eqref{#2}}}}
-\DeclareDocumentCommand{\Aeqref}{sm}{\IfBooleanTF{#1}{\Az*{\eqref{#2}}}{\Az{\eqref{#2}}}}
-\DeclareDocumentCommand{\aveqref}{sm}{\IfBooleanTF{#1}{\azv*{\eqref{#2}}}{\azv{\eqref{#2}}}}
-\DeclareDocumentCommand{\Aveqref}{sm}{\IfBooleanTF{#1}{\Azv*{\eqref{#2}}}{\Azv{\eqref{#2}}}}
+\DeclareDocumentCommand{\aeqref}{m}{\az{\eqref{#1}}}
+\DeclareDocumentCommand{\Aeqref}{m}{\Az{\eqref{#1}}}
+\DeclareDocumentCommand{\aveqref}{m}{\azv{\eqref{#1}}}
+\DeclareDocumentCommand{\Aveqref}{m}{\Azv{\eqref{#1}}}
+
+%=================================================
+%
+% \arefeq \Arefeq \avrefeq \Avrefeq
+%
+%=================================================
+
+\DeclareDocumentCommand{\arefeq}{m}{\az{\refeq{#1}}}
+\DeclareDocumentCommand{\Arefeq}{m}{\Az{\refeq{#1}}}
+\DeclareDocumentCommand{\avrefeq}{m}{\azv{\refeq{#1}}}
+\DeclareDocumentCommand{\Avrefeq}{m}{\Azv{\refeq{#1}}}
%=================================================
%
@@ -400,65 +668,10 @@
%
%=================================================
-\DeclareDocumentCommand{\acite}{som}{%
- \IfBooleanTF{#1}{%
- \IfNoValueTF{#2}{%
- \az*{\cite{#3}}%
- }{%
- \az*{\cite[#2]{#3}}%
- }%
- }{%
- \IfNoValueTF{#2}{%
- \az{\cite{#3}}%
- }{%
- \az{\cite[#2]{#3}}%
- }%
- }}
-
-\DeclareDocumentCommand{\Acite}{som}{%
- \IfBooleanTF{#1}{%
- \IfNoValueTF{#2}{%
- \Az*{\cite{#3}}%
- }{%
- \Az*{\cite[#2]{#3}}%
- }%
- }{%
- \IfNoValueTF{#2}{%
- \Az{\cite{#3}}%
- }{%
- \Az{\cite[#2]{#3}}%
- }%
- }}
-
-\DeclareDocumentCommand{\avcite}{som}{%
- \IfBooleanTF{#1}{%
- \IfNoValueTF{#2}{%
- \azv*{\cite{#3}}%
- }{%
- \azv*{\cite[#2]{#3}}%
- }%
- }{%
- \IfNoValueTF{#2}{%
- \azv{\cite{#3}}%
- }{%
- \azv{\cite[#2]{#3}}%
- }%
- }}
-
-\DeclareDocumentCommand{\Avcite}{som}{%
- \IfBooleanTF{#1}{%
- \IfNoValueTF{#2}{%
- \Azv*{\cite{#3}}%
- }{%
- \Azv*{\cite[#2]{#3}}%
- }%
- }{%
- \IfNoValueTF{#2}{%
- \Azv{\cite{#3}}%
- }{%
- \Azv{\cite[#2]{#3}}%
- }%
- }}
+\DeclareDocumentCommand{\acite}{om}{\IfNoValueTF{#1}{\az{\cite{#2}}}{\az{\cite[#1]{#2}}}}
+\DeclareDocumentCommand{\Acite}{om}{\IfNoValueTF{#1}{\Az{\cite{#2}}}{\Az{\cite[#1]{#2}}}}
+\DeclareDocumentCommand{\avcite}{om}{\IfNoValueTF{#1}{\azv{\cite{#2}}}{\azv{\cite[#1]{#2}}}}
+\DeclareDocumentCommand{\Avcite}{om}{\IfNoValueTF{#1}{\Azv{\cite{#2}}}{\Azv{\cite[#1]{#2}}}}
%=================================================
%
@@ -466,8 +679,8 @@
%
%=================================================
-\def\huaz@x@#1#{\huaz@citelist}
-\def\huaz@cite{\huaz@x@\relax}
+\def\huaz@cite@#1#{\huaz@citelist}
+\def\huaz@cite{\huaz@cite@\relax}
\def\huaz@citelist#1{\huaz@@citelist#1,\relax,}
\def\huaz@@citelist#1,{\ifx#1\relax\else\@nameuse{huaz@bib@#1},\expandafter\huaz@@citelist\fi}%
@@ -490,6 +703,7 @@
\def\bibcite#1#2{\global\@namedef{huaz@bib@#1}{\huaz@bibparam#2}\huaz@old@bibcite{#1}{#2}}
%
\@ifpackageloaded{biblatex}{
+ \settoggle{blx@labelalpha}{true}
\def\huaz@biblatexlabel{}
\ifx\blx@opt@eldt@style\@empty\ifx\blx@opt@eldt@citestyle\@empty\def\huaz@biblatexlabel{\strfield{labelnumber}}\fi\fi
\def\huaz@temp{numeric}
@@ -505,14 +719,46 @@
\ifx\blx@opt@eldt@style\huaz@temp\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
\ifx\blx@opt@eldt@citestyle\huaz@temp\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
\def\huaz@temp{authoryear}
- \ifx\blx@opt@eldt@style\huaz@temp\settoggle{blx@labelalpha}{true}\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
- \ifx\blx@opt@eldt@citestyle\huaz@temp\settoggle{blx@labelalpha}{true}\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
+ \ifx\blx@opt@eldt@style\huaz@temp\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
+ \ifx\blx@opt@eldt@citestyle\huaz@temp\def\huaz@biblatexlabel{\strfield{labelalpha}}\fi
\ifx\huaz@biblatexlabel\@empty\else
\AtEveryBibitem{\protected@write\@auxout{}{\string\global\string\@namedef{huaz@bib@\strfield{entrykey}}{\huaz@biblatexlabel}}}
\fi}{}}
%=================================================
%
+% \huaz@citeauthor
+%
+%=================================================
+
+\def\huaz@citeauthor@#1#{\huaz@citeauthorlist}
+\def\huaz@citeauthor{\huaz@citeauthor@\relax}
+\def\huaz@citeauthorlist#1{\huaz@@citeauthorlist#1,\relax,}
+\def\huaz@@citeauthorlist#1,{\ifx#1\relax\else\@nameuse{huaz@bibalpha@#1},\expandafter\huaz@@citeauthorlist\fi}
+
+\AddToHook{begindocument/before}{
+ \@ifpackageloaded{biblatex}{
+ \AtEveryBibitem{\protected@write\@auxout{}{\string\global\string\@namedef{huaz@bibalpha@\strfield{entrykey}}{\strfield{labelalpha}}}}
+ }{}}
+
+%=================================================
+%
+% \huaz@citeyear
+%
+%=================================================
+
+\def\huaz@citeyear@#1#{\huaz@citeyearlist}
+\def\huaz@citeyear{\huaz@citeyear@\relax}
+\def\huaz@citeyearlist#1{\huaz@@citeyearlist#1,\relax,}
+\def\huaz@@citeyearlist#1,{\ifx#1\relax\else\@nameuse{huaz@bibyear@#1},\expandafter\huaz@@citeyearlist\fi}
+
+\AddToHook{begindocument/before}{
+ \@ifpackageloaded{biblatex}{
+ \AtEveryBibitem{\protected@write\@auxout{}{\string\global\string\@namedef{huaz@bibyear@\strfield{entrykey}}{\strfield{year}}}}
+ }{}}
+
+%=================================================
+%
% end
%
%=================================================
diff --git a/macros/latex/contrib/huaz/huaz.tex b/macros/latex/contrib/huaz/huaz.tex
index c873d10fb4..4b178dbb44 100644
--- a/macros/latex/contrib/huaz/huaz.tex
+++ b/macros/latex/contrib/huaz/huaz.tex
@@ -1,7 +1,7 @@
%%
%% `huaz.tex' documentation of the huaz package
%%
-%% Copyright 2022 by Tibor Tomacs
+%% Copyright 2022-2024 by Tibor Tómács
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -13,44 +13,61 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Tibor Tomacs.
+%% The Current Maintainer of this work is Tibor Tómács.
%%
\documentclass[12pt]{article}
-\usepackage{listings,xcolor,lmodern,xurl}
-\usepackage[pdfstartview=FitH,colorlinks,allcolors=teal,bookmarksnumbered]{hyperref}
-\usepackage[a4paper,top=1in,bottom=1.2in]{geometry}
+\usepackage[a4paper,top=1in,bottom=1in]{geometry}
+\usepackage{listings,xcolor,lmodern,xurl,multicol}
\usepackage[T1]{fontenc}
-\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
+\PassOptionsToPackage{
+ defaults=hu-min,
+ labelitems=unchanged,
+ }{magyar.ldf}
\usepackage[english,magyar]{babel}
+\usepackage[
+ pdfstartview=FitH,
+ colorlinks,
+ allcolors=purple,
+ bookmarksnumbered,
+ bookmarksopen,
+ ]{hyperref}
+\usepackage{upquote}
+
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt}
+\def\codefont{\usefont{T1}{pcrs}{m}{n}}
+
\lstset{literate={<}{{$\langle$}}1{>}{{$\rangle$}}1
- {ö}{{\"o}}1{ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
-
-\lstnewenvironment{examplelst}{\lstset{
-aboveskip=\bigskipamount,
-basicstyle=\footnotesize\color{blue!70!black}\ttfamily,
-backgroundcolor=\color{black!3},
-rulecolor=\color{black!15},
-frame=trbl,
-framesep=5pt,
-columns=fullflexible,
-xleftmargin=5.4pt,
-xrightmargin=5.4pt,
-keepspaces}}{}
-
-\newcommand{\commandinline}{\hspace*{-15mm}\lstinline[
-delim={[is][\color{green!50!black}\normalfont\small\sffamily]{!}{!}},
-basicstyle=\color{red!70!black}\normalfont\ttfamily,
-columns=fullflexible,
-keepspaces]}
-
-\newcommand{\verbinline}{\lstinline[
-delim={[is][\color{green!50!black}\normalfont\small\sffamily]{!}{!}},
-basicstyle=\normalfont\ttfamily,
-columns=fullflexible,
-keepspaces]}
+ {ű}{{\H u}}1{ö}{{\"o}}1{ő}{{\H o}}1{ü}{{\"u}}1
+ {ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
+
+\lstnewenvironment{examplelst}{%
+ \lstset{
+ aboveskip=\bigskipamount,
+ basicstyle=\color{blue!70!black}\small\codefont,
+ backgroundcolor=\color{black!3},
+ rulecolor=\color{black!15},
+ frame=trbl,
+ framesep=5pt,
+ columns=fullflexible,
+ xleftmargin=5.4pt,
+ xrightmargin=5.4pt,
+ keepspaces}}{}
+
+\newcommand{\huazcmd}{\hspace*{-15mm}%
+ \lstinline[
+ delim={[is][\color{teal}\normalfont\small\sffamily]{!}{!}},
+ basicstyle=\color{magenta}\normalfont\small\codefont,
+ columns=fullflexible,
+ keepspaces]}
+
+\newcommand{\code}{%
+ \lstinline[
+ delim={[is][\color{teal}\normalfont\small\sffamily]{!}{!}},
+ basicstyle=\normalfont\small\codefont,
+ columns=fullflexible,
+ keepspaces]}
\makeatletter
\def\@oddfoot{\hfill\textsf{\color{gray}\thepage}\hfill}
@@ -58,274 +75,476 @@ keepspaces]}
\def\ps@plain{\def\@oddfoot{\hfill\textsf{\color{gray}\thepage}\hfill}}
\makeatother
-\def\huaz{\textbf{\sffamily hu\color{gray}az}}
+\definecolor{hured}{RGB}{207,36,54}
+\definecolor{hugreen}{RGB}{69,113,79}
+\usepackage{contour}
+\def\huazlogo{%
+ {\contourlength{.8pt}\Huge
+ \sbox0{\contour{black!30}{\Huge\bfseries\sffamily\color{white}HUAZ}}%
+ \mbox{}%
+ \lower-\dimeval{2\ht0/3}%
+ \rlap{{\color{hured}\rule{\wd0}{\dimeval{\ht0/3}}}}%
+ {\color{hugreen}\rule{\wd0}{\dimeval{\ht0/3}}}%
+ \llap{\usebox0}}}
+
+\def\huaz{\textbf{\sffamily hu\itshape\color{gray}az}}
+
+\def\labelenumi{\textbf{\theenumi.}}
+
+\def\huqq#1{,,{\color{gray}#1}''}
+
+\def\paragraph#1{\par\bigskip\textbf{#1.}}
\begin{document}
-\title{The \huaz\ package\\
- {\large v1.1 (2024/04/12)}}
+\title{\huazlogo\\ The \huaz\ package\\{\large v2.1 (2024/05/05)}}
\author{Tibor Tómács\\
- {\normalsize\href{email:tomacs.tibor@gmail.com}{\nolinkurl{tomacs.tibor@gmail.com}}}}
+ {\normalsize\href{email:tomacs.tibor@gmail.com}{\nolinkurl{tomacs.tibor@gmail.com}}}}
\date{}
\maketitle
\begin{otherlanguage}{english}
\begin{abstract}
-In Hungarian there are two definite articles, \emph{``a''} and \emph{``az''}, which are determined by the pronunciation of the subsequent word. The definite article is \emph{``az''}, if the first phoneme of the pronounced word is a vowel, otherwise it is \emph{``a''}.
-The \huaz\ package helps the user to insert automatically the correct definite article for cross-references and other commands containing text. Thus, if these change, the definite articles will also change accordingly.
+There are two definite articles in Hungarian, ``a'' and ``az'', depending on the first sound of the word that follows. If the word begins with a vowel sound, the definite article is ``az'', otherwise it is ``a''.
+
+The \huaz\ package helps the user to automatically insert the correct definite article for cross-references and other commands containing text.
+This way, if the number or text changes, the definite articles will change accordingly.
-\medskip
-\emph{Sorry, the documentation is in Hungarian. This is because only Hungar\-ian-speaking users are interested.}
+The documentation of the \huaz\ package is in Hungarian, as it is assumed that only Hungarian-speaking users are interested.
\end{abstract}
\end{otherlanguage}
\section{Bevezetés}
-A magyar nyelvben a határozott névelő egy szó előtt aszerint \emph{,,a''} vagy \emph{,,az''}, hogy a szó kiejtve mássalhangzóval vagy magánhangzóval kezdődik. Például \emph{,,a szék''} vagy \emph{,,az asztal''}. Ez egyszerűnek tűnik, de gondoljon a következő esetekre:
+A magyar nyelvben a határozott névelő egy szó előtt aszerint \huqq{a} vagy \huqq{az}, hogy a szó kiejtve mássalhangzóval vagy magánhangzóval kezdődik.
+Például \huqq{a szék} vagy \huqq{az asztal}.
+Ez egyszerű szabály, de írásban összetett vizsgálatot igényel.
+Itt felsorolunk néhány nehézséget:
\begin{itemize}
-\item Például ha oldalszámra akar hivatkozni, akkor a \verb|\pageref| parancsot szoktuk használni. Ha ez elé akar határozott névelőt rakni, akkor nem mindegy, hogy mi az oldalszám. Például \emph{,,az~1.~oldal''}, \emph{,,a~2.~oldal''}, \emph{,,az~5.~oldal''}, \emph{,,a~10.~oldal''}. Így egyáltalán nem biztos, hogy az ,,\verbinline|a \pageref{!<kulcs>!}|'' kód megfelelő eredményt ad. Hasonló a probléma minden kereszthivatkozás esetén (\verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite|).
-
-\item Az is fontos, hogy egy kifejezés római szám vagy sem. Például \emph{,,az~V.~fejezet''}, ha \emph{V} római szám, azaz 5 a jelentése. Ugyanakkor \emph{,,a~V.~fejezet''}, ha \emph{V} betűt jelöl vagy alfanumerikus szám esetén a 22 értéket (\emph{V} az angol ábécében a 22.~betű).
-
-\item Néhány mássalhangzó speciális tulajdonságú. Például \emph{,,az M betű''}, de \emph{,,a Magyar Közlöny''}; \emph{,,az Ny betű''}, de \emph{,,a Nyugdíjfolyósító Igazgatóság''}; stb.
+\item
+Ha oldalszámra akarunk hivatkozni, akkor a \code|\pageref| parancsot szoktuk használni.
+Ha ez elé kell határozott névelőt rakni, akkor nem mindegy, hogy mi az oldalszám.
+Például \huqq{az~1.~oldal}, \huqq{a~2.~oldal}, \huqq{az~5.~oldal}, \huqq{a~10.~oldal}.
+Így egyáltalán nem biztos, hogy az ,,\code|a \pageref{!<kulcs>!}|'' kód megfelelő eredményt ad.
+Hasonló a probléma minden kereszthivatkozás esetén (\code|\ref|, \code|\pageref|, \code|\eqref|, \code|\cite|).
+
+\item
+Az is fontos, hogy egy kifejezés római szám vagy sem.
+Például \huqq{az~V.~fejezet}, ha V római szám, azaz 5 a jelentése.
+Ugyanakkor \huqq{a~V.~fejezet}, ha V betűt jelöl vagy alfanumerikus szám esetén a 22 értéket (V az angol ábécében a 22.~betű).
+
+\item
+Néhány mássalhangzó speciális tulajdonságú.
+Például \huqq{a Magyar Közlöny} de \huqq{az M betű}; \huqq{a Nyugdíjfolyósító Igazgatóság} de \huqq{az Ny betű}; stb.
\end{itemize}
Először megemlítünk két eddigi megoldást a határozott névelők automatikus kezelésére, kiemelve azok hibáit és hiányosságait.
-\subsection{A magyar.ldf}
+\subsection{A \texttt{magyar.ldf}}
-Egyik lehetőség a \texttt{babel} csomag \texttt{magyar} opcióját beállító \texttt{magyar.ldf} fájl használata. Ennek teljes dokumentációja elérhető innen: \url{https://math.bme.hu/latex/magyarldf-doc.pdf}.
+Egyik lehetőség a \code{babel} csomag \code{magyar} opcióját beállító \code{magyar.ldf} fájl használata.
+Ennek teljes dokumentációja elérhető innen: \url{https://math.bme.hu/latex/magyarldf-doc.pdf}.
-Az ebben definiált \verb|\az|, \verb|\aref|, \verb|\apageref|, \verb|\acite|, stb. parancsok alapvetően jól használhatóak, de van néhány fontos hiba, melyek a \huaz\ csomag megírását motiválták:
+Az ebben definiált \code|\az|, \code|\aref|, \code|\apageref|, \code|\acite|, stb.~parancsok alapvetően jól használhatóak, de van néhány fontos hiba, melyek a \huaz\ csomag megírását motiválták:
\begin{itemize}
-\item Az \verb|\eqref| parancsnak nincs névelős verziója. Helyette az \verbinline|\aref({!<kulcs>!})| használható, de ez dőlt betűs környezetben nem álló betűs eredményt ad, mint az \verb|\eqref| esetében. Másik lehetőség, ami ezt a problémát megoldja, az \verbinline|\az{\eqref{!<kulcs>!}}| parancs. Ugyanakkor egyik megoldás sem kezeli a római számozású vagy a \verb|\tag| paranccsal címkézett egyenleteket.
-
-\item Az \verbinline|\az{\ref{!<kulcs>!}}| és \verbinline|\az{\pageref{!<kulcs>!}}| nem kezeli a római számozású hivatkozásokat.
-
-\item Az előző hiba akkor is fennáll, amikor az \verb|\az| parancsban egy római számmal kezdődő szöveg van. Például \verb|\az{V.~osztály}| eredménye \emph{,,a V.~osztály''}.
-
-\item Amennyiben nem kereszthivatkozáshoz, hanem egy szöveghez, vagy valamilyen szöveget tároló parancshoz kell automatikus névelő, akkor az ékezetes betűket UTF-8 kódolás esetén rosszul detektálja. A hiba alapvető oka, hogy az UTF-8 kódolású karakterek nem egy, hanem több bájton vannak kódolva, amit a \texttt{magyar.ldf} nem vesz figyelembe. Ezért például \verb|\az{ágy}| eredménye \emph{,,a ágy''}, mert nem betűként érzékeli az \emph{,,á''} betűt, így azt sem tudja, hogy ez magánhangzó. Meglepő módon \verb|\az{száz}| eredménye \emph{,,az száz''} is rossz. Ennek az az oka, hogy mivel számára az \emph{,,á''} nem betű, ezért az \emph{,,sz''} betűt különállónak tekinti, ami elé valóban \emph{,,az''} kell.
-
-\item Hibának ugyan nem tekinthető, de mindenesetre kényelmetlen, hogy például \verb|\az{\textbf{N betű}}| esetén a \verb|\textbf| parancs megzavarja a szó betűinek detektálását, így a névelő helytelenül \emph{,,a''} lesz.
+\item
+Az \code|\eqref| parancsnak nincs névelős verziója.
+Helyette az \code|\aref({!<kulcs>!})| használható, de ez dőlt betűs környezetben nem álló betűs eredményt ad, mint az \code|\eqref| esetében.
+Másik lehetőség, ami ezt a problémát megoldja, az \code|\az{\eqref{!<kulcs>!}}| parancs.
+Ugyanakkor egyik megoldás sem kezeli a római számozású vagy a \code|\tag| paranccsal címkézett egyenleteket.
+
+\item
+Az \code|\az{\ref{!<kulcs>!}}| és \code|\az{\pageref{!<kulcs>!}}| nem kezeli a római számozású hivatkozásokat.
+
+\item
+Az előző hiba akkor is fennáll, amikor az \code|\az| parancsban egy római számmal kezdődő szöveg van.
+Például \code|\az{V.~osztály}| eredménye \huqq{a V.~osztály}.
+
+\item
+Amennyiben nem kereszthivatkozáshoz, hanem egy szöveghez, vagy valamilyen szöveget tároló parancshoz kell automatikus névelő, akkor az ékezetes betűket \texttt{UTF-8} kódolás esetén rosszul detektálja, mivel azok nem egy, hanem több bájton vannak kódolva, amit a \code{magyar.ldf} nem vesz figyelembe.
+Ezért például \code|\az{ágy}| eredménye \huqq{a ágy}, mert nem betűként érzékeli az \huqq{á} betűt, így azt sem tudja, hogy ez magánhangzó.
+Meglepő módon \code|\az{száz}| eredménye \huqq{az száz} is rossz.
+Ennek oka, hogy számára az \huqq{á} nem betű, ezért az \huqq{sz} betűt különállónak tekinti, ami elé valóban \huqq{az} kell.
+
+\item
+Például \code|\az{\textbf{N betű}}| esetén a \code|\textbf| parancs megzavarja a szó betűinek detektálását, így a névelő helytelenül \huqq{a} lesz.
\end{itemize}
-\subsection{A nevelok csomag}
-
-2015-ben készült a \texttt{nevelok} csomag, ami szintén az automatikus határozott névelők kezelésére készült. A szerzője valószínűleg nem ismerte a \texttt{magyar.ldf} már akkor létező lehetőségeit, ezért készíthette ezt a jóval kevesebbet tudó csomagot.
+\subsection{A \texttt{nevelok} csomag}
-2022-ben telepített \TeX-rendszeren tesztelve azt tapasztaltam, hogy nem kezeli az ékezetes betűk semmilyen formáját és sok esetben ad kereszthivatkozásoknál is rossz névelőt. Az utóbbinak az az oka, hogy közvetlenül a \verb|\ref| parancsot vizsgálja, ami nem kifejthető parancs.
-
-Ezen dokumentáció elkészültéig semmilyen fejlesztése nem történt. Jelen állapotában nem javasolt ennek a csomagnak a használata.
+A \code{nevelok} csomag szintén a határozott névelők automatikus beillesztéséhez készült.
+Nem kezeli az ékezetes betűk semmilyen formáját és sok esetben ad kereszthivatkozásoknál rossz névelőt, ugyanis közvetlenül a \code|\ref| és \code|\pageref| parancsokat vizsgálja, amelyek nem kifejthetőek.
+Ezért ennek a csomagnak a jelenlegi verzióját nem szabad használni!
\subsection{A \texorpdfstring{\huaz}{huaz} csomag célja és működése}
-A \huaz\ csomag célja segíteni a felhasználót abban, hogy a kereszthivatkozásokhoz és szöveget tartalmazó parancsokhoz automatikusan beszúrja a megfelelő határozott névelőt. Így ha ezek változnak, akkor a határozott névelők is megfelelően változnak.
+A \huaz\ csomag segíti a felhasználót abban, hogy a kereszthivatkozásokhoz és szöveget tartalmazó parancsokhoz automatikusan beszúrja a megfelelő határozott névelőt.
+Így ha ezek változnak, akkor a határozott névelők is megfelelően változnak.
-A másik cél ezt úgy megtenni, hogy a \texttt{magyar.ldf} és a \texttt{nevelok.sty} hibáit és hiányosságait korrigálja illetve pótolja.
+Fontos cél volt ezt úgy megtenni, hogy a \code{magyar.ldf} és a \code{nevelok.sty} hibáit és hiányosságait korrigálja illetve pótolja.
-A \huaz\ csomag a következő esetekben illeszt az adott szöveg elé ,,az'' névelőt:
+A \huaz\ csomag a következő esetekben illeszt az adott szöveg elé \huqq{az} névelőt:
\begin{enumerate}
-\item Az első betű magánhangzó (legyen az kis- vagy nagybetű, ékezetes vagy sem, magyar vagy sem, UTF-8, ISO-8859-2 karakterrel vagy repülő ékezettel megadva).
+\item
+Az első betű magánhangzó (legyen az kis- vagy nagybetű, ékezetes vagy sem, magyar vagy sem, \texttt{UTF-8}, \texttt{ISO-8859-2} karakterrel vagy ékezet paranccsal megadva).
-\item Az első betű olyan kis vagy nagy mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például F, L, M, stb.) míg a második karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz. Például ,,M-10''. Ide soroltunk néhány nem magyar ékezetes mássalhangzót is. Például ,,Ň.1''.
+\item
+Az első betű olyan kis vagy nagy mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például F, L, M, stb.) míg a második karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz.
+Például \huqq{M-10}.
+Ide soroltunk néhány nem magyar ékezetes mássalhangzót is.
+Például \huqq{Ň.1}.
-\item Az első két karakter egy olyan kis vagy nagy kétjegyű mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például Ny, Ly, Sz, stb.) míg a harmadik karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz. Például ,,NY betű''.
+\item
+Az első két karakter egy olyan kis vagy nagy kétjegyű mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például NY, LY, SZ, stb.) míg a harmadik karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz.
+Például \huqq{SZ betű}.
-\item Az első karakter 5.
+\item
+Az első karakter 5.
-\item 1, 4, 7 vagy 10 jegyű számmal kezdődik és az első számjegy 1 (egy, ezer, egymillió, egymilliárd).
+\item
+1, 4, 7 vagy 10 jegyű számmal kezdődik és az első számjegy 1 (egy, ezer, egymillió, egymilliárd).
\end{enumerate}
-Ha a szó elején található karakterek római számként is értelmezhetőek, akkor megválasztható, hogy azt konvertálja arab számra és a névelőt ahhoz határozza meg vagy sem. Például ,,XII/A'' esetén.
+Ha a szó elején található karakterek római számként is értelmezhetőek, akkor megválasztható, hogy azt konvertálja arab számra és a névelőt ahhoz határozza meg vagy sem. Például \huqq{V. emelet} esetén.
\section{A \texorpdfstring{\huaz}{huaz} csomag használata}
A \huaz\ csomagot a szokott módon kell betölteni:
-\commandinline|\usepackage{huaz}|
+\huazcmd|\usepackage{huaz}|
-Csomagopciók nincsenek. UTF-8 (\texttt{utf8}) és ISO-8859-2 (\texttt{latin2}) kódolású forrásfájl esetén működik, de a repülő ékezeteket is jól kezeli. Kompatibilis a \texttt{pdflatex}, \texttt{xelatex} és \texttt{lualatex} fordítókkal is. Például \texttt{pdflatex} fordítóval a következő betöltés megfelelő:
+Kompatibilis a \code{latex}, \code{pdflatex}, \code{xelatex} és \code{lualatex} fordítókkal is.
+A \code{latex} és \code{pdflatex} fordítóval a következő betöltés megfelelő:
\begin{examplelst}
\documentclass{article}
\usepackage[T1]{fontenc}
-\usepackage{huaz}
\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
\usepackage[magyar]{babel}
+\usepackage{huaz}
\begin{document}
...
\end{document}
\end{examplelst}
-A \texttt{hyperref} csomaggal is kompatibilis, így az is betölthető a \huaz\ mellé.
-A \texttt{magyar.ldf} \texttt{defaults=hu-min} opciója bekapcsol néhány olyan opciót is, amely elérhetővé teszi a saját automatikus névelőparancsait. Ezt ugyan nem kötelező, de hasznos a \huaz\ csomag használata esetén kikapcsolni. Ehhez a
+Az ékezetes betűket \texttt{UTF-8} (\code{utf8}) és \texttt{ISO-8859-2} (\code{latin2}) kódolású forrásfájl esetén, illetve ékezet parancsokkal (\code|\'|, \code|\"|, \code|\H|, stb.) is jól kezeli.
+
+A \code{hyperref} csomaggal is kompatibilis, így az is betölthető a \huaz\ mellé.
+
+A \code{magyar.ldf} \code{defaults=hu-min} opciója bekapcsol néhány olyan opciót is, amely elérhetővé teszi a saját automatikus névelőparancsait.
+Ha ezeket a \huaz\ csomag használata esetén ki akarja kapcsolni, akkor a
\begin{examplelst}
\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
\end{examplelst}
sor helyett használja a következőt:
\begin{examplelst}
-\PassOptionsToPackage{defaults=hu-min,az=no,
- shortrefcmds=no,hunnewlabel=no}{magyar.ldf}
+\PassOptionsToPackage{
+ defaults=hu-min,
+ az=no,
+ shortrefcmds=no,
+ hunnewlabel=no
+ }{magyar.ldf}
\end{examplelst}
+Ezt nem kell feltétlenül megtenni, mert a \huaz\ csomag átdefiniálja a \code{magyar.ldf} névelőparancsait függetlenül attól, hogy a \code{babel} előtt vagy után töltötte be.
-A \texttt{xelatex} és \texttt{lualatex} fordítók esetén \texttt{babel} helyett a
+A \code{xelatex} és \code{lualatex} fordítók esetén \code{babel} helyett a
\begin{examplelst}
\usepackage{polyglossia}
\setdefaultlanguage{hungarian}
\end{examplelst}
is használható.
-A \huaz\ csomag felhasználja az \texttt{xstring}, \texttt{refcount} és \texttt{iftex} csomagok szolgáltatásait, így ezek is betöltődnek. Másrészt felhasználásra kerül néhány 2021. október 10-én bevezetett változás a \LaTeX\ kerneljében, így csak az ezután telepített rendszereken működik megfelelően a csomag.
+A \huaz\ csomag felhasználja az \code{xstring}, \code{refcount} és \code{iftex} csomagok szolgáltatásait, így ezek is betöltődnek.
+Felhasználásra kerül néhány 2021. október 10-én bevezetett változás a \LaTeX\ kerneljében, így csak az ezután telepített rendszereken működik megfelelően a csomag.
\subsection{Parancsok}
-\commandinline|\az{!<szöveg>!}|
+\huazcmd|\az{!<szöveg>!}|
-A \verbinline|!<szöveg>!| elé a megfelelő határozott névelő kerül kisbetűs alakban. Ha a \verbinline|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő az arab megfelelőjéhez igazodik. Például
+A \code|!<szöveg>!| elé a megfelelő határozott névelő kerül kisbetűs alakban.
+Ha a \code|!<szöveg>!| római számként is értelmezhető (pl.~\huqq{XII}), esetleg azt írásjel vagy szóköz követi (pl.~\huqq{XII.A}), akkor a névelő az arab megfelelőjéhez igazodik.
+Például
\begin{examplelst}
Idén \az{V.B}~osztály rendezi a farsangot.
\end{examplelst}
-eredménye ,,Idén az V.B~osztály rendezi a farsangot.''.
+eredménye \huqq{Idén az~V.B~osztály rendezi a farsangot.}.
+De
+\begin{examplelst}
+\az{VB}, \az{V4}
+\end{examplelst}
+eredménye \huqq{a~VB, a~V4} lesz, mert V után betű illetve szám következik, ezért nem 5-nek, hanem V betűnek értelmezi mindkét esetben.
-A \verbinline|!<szöveg>!| lehet szöveget tároló parancs is. Például
+A \code|!<szöveg>!| lehet szöveget tároló parancs is.
+Például
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\osztaly}~osztály rendezi a farsangot.
\end{examplelst}
-eredménye ,,Idén az V.B~osztály rendezi a farsangot.''.
+eredménye \huqq{Idén az~V.B~osztály rendezi a farsangot.}.
-A \verbinline|!<szöveg>!| tartalmazhat szövegformázó parancsokat is (bővebben lásd \az{\ref{subsec-kapocs}}.~alszakaszban). Például
+A \code|!<szöveg>!| tartalmazhat szövegformázó parancsokat is (bővebben lásd \az{\ref{subsec-ignoralt-parancsok}}.~alszakaszban).
+Például
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
\end{examplelst}
-eredménye ,,Idén az \textbf{V.B}~osztály rendezi a farsangot.''.
+eredménye \huqq{Idén az~\textbf{V.B}~osztály rendezi a farsangot.}.
-A \verbinline|!<szöveg>!| lehet standard kereszthivatkozás is (\verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite|). Például
+A \code|!<szöveg>!| lehet kereszthivatkozás is.
+Például
\begin{examplelst}
\section{Cím}\label{seca}
\section{Cím}\label{secb}
-\az{\ref{seca}}.~szakaszban, \az{\textbf{\ref{secb}}}.~szakaszban
+\az{\ref{seca}}.~szakaszban,
+\az{\textbf{\ref{secb}}}.~szakaszban
+\end{examplelst}
+eredménye \huqq{az~1.~szakaszban, a~\textbf{2}.~szakaszban}.
+
+Ha a \code{section} számláló kiírása római számozásra van állítva a
+\begin{examplelst}
+\renewcommand{\thesection}{\Roman{section}}
\end{examplelst}
-eredménye ,,az 1. szakaszban, a \textbf{2}. szakaszban''. Ha a \texttt{section} számláló kiírása római számozásra van állítva a \verb|\renewcommand{\thesection}{\Roman{section}}| paranccsal, akkor az előző kód eredménye ,,az I. szakaszban, a \textbf{II}. szakaszban''.
+paranccsal, akkor az előző kód eredménye \huqq{az I. szakaszban, a \textbf{II}. szakaszban}.
\subsubsection*{Korlátozások}
+
\begin{enumerate}
-\item A \verbinline|!<szöveg>!| elején csak a \verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite| kereszthivatkozásokkal működik helyesen. Például a \texttt{hyperref} csomag \verb|\ref*| és \verb|\pageref*| parancsai nem működnek közvetlenül \verbinline|!<szöveg>!|-ként, de ez megoldható a később ismertetett \verb|\az*| paranccsal.
+\item
+A \code|!<szöveg>!| elején a \code|\ref|, \code|\ref*|, \code|\pageref|, \code|\pageref*|, \code|\eqref|, \code|\refeq| kereszthivatkozásokkal működik helyesen.
+Az \code|\eqref| az \code{amsmath}, a \code|\refeq| pedig a \code{mathtools} csomaggal van definiálva.
-\item A \verbinline|!<szöveg>!| elején a \verb|\cite| parancs jól működik a \texttt{natbib} csomaggal és \texttt{bibtex} esetében is. A \texttt{biblatex} csomag használata esetén akkor működik jól, ha a \texttt{style} vagy \texttt{citestyle} opciók értéke \texttt{numeric}, \texttt{numeric-verb}, \texttt{alphabetic}, \texttt{alphabetic-verb} vagy \texttt{authoryear}. Akkor is jól működik, ha nem adjuk meg a \texttt{style} illetve \texttt{citestyle} opciók egyikét sem.
+\item
+A \code|!<szöveg>!| elején a \code|\cite| jól működik a \code{natbib} csomaggal és \code{bibtex} esetében is.
-\item A pdf vázlatfájába nem lehet \verb|\az| paranccsal szöveget beilleszteni. Tehát például a következő kód nem ad helyes vázlatfát, ha \texttt{hyperref} vagy \texttt{bookmark} csomagot használ:
+A \code{biblatex} csomaggal a \code|\cite|, \code|\citeauthor|, \code|\textcite|, \code|\citeyear| akkor működik jól, ha a \code{style} vagy \code{citestyle} opciók értéke:
+
+\code{numeric}\\
+\code{numeric-verb}\\
+\code{alphabetic}\\
+\code{alphabetic-verb}\\
+\code{authoryear}
+
+Akkor is jól működik, ha nem adjuk meg a \code{style} illetve \code{citestyle} opciók egyikét sem.
+
+\item
+A pdf vázlatfájába nem lehet \code|\az| paranccsal szöveget beilleszteni.
+Tehát például a következő kód nem ad helyes vázlatfát, ha \code{hyperref} vagy \code{bookmark} csomagot használ (bár a cím a szövegben, fejlécben és a tartalomjegyzékben jól fog megjelenni).
\begin{examplelst}
\section{...\az{\ref{sec}}...}
\end{examplelst}
-Viszont a cím a szövegben, fejlécben és a tartalomjegyzékben jól fog megjelenni. A problémát a később ismertetett \verb|\azsaved| paranccsal lehet megoldani.
+A problémát a később ismertetett \code|\azsaved| illetve \code|\aznotshow| parancsokkal lehet megoldani.
\end{enumerate}
-\commandinline|\az*{!<szöveg>!}|
+\huazcmd|\az*{!<szöveg>!}|
-Ugyanaz mint a \texttt{*} nélküli esetben, de ekkor csak a névelő kerül kiírásra. Például \texttt{hyperref} csomag használatával:
+Ugyanaz mint a \code|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
+Például, ha az \code{amsmath} és \code{hyperref} csomagok használata mellett szeretnénk egy link nélküli egyenlethivatkozást, akkor ezt (mivel nincs \code|\eqref*| definiálva) például így tehetjük meg:
\begin{examplelst}
-\section{Cím}\label{sec}
-\az*{\ref{sec}}~\ref*{sec}.~szakaszban
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \textup{(\ref*{eq})} egyenletet!}
+\end{examplelst}
+Szebb lenne a mondat határozott névelővel a képlet száma előtt, de most nem ad feltétlenül helyes eredményt az
+\begin{examplelst}
+\az{\textup{(\ref*{eq})}}
+\end{examplelst}
+kód, mert az első karakter a \code{(} jel lesz, és nem a képlet száma.
+Így minden esetben \huqq{a} lesz a névelő.
+Ezt a következő módon javíthatjuk:
+\begin{examplelst}
+\az*{\ref{eq}} \textup{(\ref*{eq})}
\end{examplelst}
-\commandinline|\azv{!<szöveg>!}|
+\huazcmd|\azv{!<szöveg>!}|
-Ugyanaz mint \verbinline|\az{!<szöveg>!}|, de ha a \verbinline|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő nem az arab megfelelőjéhez igazodik, hanem mint egyszerű karakterekhez. Például
+Ugyanaz mint az \code|\az{!<szöveg>!}|, de ha a \code|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő nem az arab megfelelőjéhez igazodik, hanem mint egyszerű karakterekhez.
+Például
\begin{examplelst}
\renewcommand{\thesection}{\Alph{section}}
\setcounter{section}{21}
\section{Cím}\label{sec}
\az{\ref{sec}}.~szakaszban, \azv{\ref{sec}}.~szakaszban
\end{examplelst}
-eredménye ,,az V.~szakaszban, a V.~szakaszban'', mert az első esetben a V betűt római számként értelmezte, a második esetben pedig nem. Mivel most alfanumerikus számra van beállítva a \texttt{section} számláló, ezért a második eset a jó.
+eredménye \huqq{az V.~szakaszban, a V.~szakaszban}, mert az első esetben a V betűt római számként értelmezte, a második esetben pedig nem.
+Mivel most alfanumerikus számra van beállítva a \code{section} számláló, ezért a második eset a jó.
-\commandinline|\azv*{!<szöveg>!}|
+\huazcmd|\azv*{!<szöveg>!}|
-Ugyanaz mint a \texttt{*} nélküli esetben, de ekkor csak a névelő kerül kiírásra.
+Ugyanaz mint a \code|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
-A parancsok nevében az ,,a'' betű kicserélhető ,,A'' betűre. Ekkor a határozott névelő nagybetűvel fog kezdődni, ami mondatok elején szükséges.
-
-\commandinline|\Az{!<szöveg>!}|\\
-\commandinline|\Az*{!<szöveg>!}|\\
-\commandinline|\Azv{!<szöveg>!}|\\
-\commandinline|\Azv*{!<szöveg>!}|
+\huazcmd|\Az{!<szöveg>!}|\\
+\huazcmd|\Az*{!<szöveg>!}|\\
+\huazcmd|\Azv{!<szöveg>!}|\\
+\huazcmd|\Azv*{!<szöveg>!}|
+Ugyanaz, mint a kis \code{a} betűvel kezdődő parancsok, de ekkor a határozott névelő nagybetűvel kezdődik, ami mondatok elején szükséges.
Például
\begin{examplelst}
\section{Cím}\label{sec}
-\Az{\ref{sec}}.~szakaszban áttekintjük a téma rövid történetét.
+\Az{\ref{sec}}.~szakaszban \dots
\end{examplelst}
-eredménye {,,Az 1.~szakaszban áttekintjük a téma rövid történetét.''}.
+eredménye \huqq{Az 1.~szakaszban \dots}.
-\commandinline|\azsaved|
+\huazcmd|\azsaved|
-Amikor kiadja az előző parancsok bármelyikét, akkor generálódik egy kifejthető \verb|\azsaved| parancs is. Ennek eredménye az a határozott névelő amelyik a szó elé kell.
+Az előző parancsok bármelyikét használva, generálódik egy kifejthető \code|\azsaved| parancs.
+Ennek eredménye az a határozott névelő amelyik a szó elé kell.
-Amikor \texttt{hyperref} vagy \texttt{bookmark} csomagot használ, akkor ahogyan azt korábban említettük, a következő kód esetén a cím, fejléc, tartalomjegyzék rendben lesz, de a pdf vázlatfája nem:
+Amikor \code{hyperref} vagy \code{bookmark} csomagot használ, akkor (ahogyan azt korábban említettük) a következő kód esetén a cím, fejléc, tartalomjegyzék rendben lesz, de a pdf vázlatfája nem:
\begin{examplelst}
\section{\Az{\ref{sec}}...}
\end{examplelst}
-Ez az \verb|\azsaved| paranccsal a következő módon oldható meg:
+Ez az \code|\azsaved| paranccsal a következő módon oldható meg:
\begin{examplelst}
-\section{\texorpdfstring{\Az{\ref{sec}}...}{\azsaved~\ref{sec}...}}
+\section{\texorpdfstring {\Az*{\ref{sec}}} {\azsaved}
+ \ref{sec}...}
\end{examplelst}
Ekkor a vázlatfába az
\begin{examplelst}
-\azsaved~\ref{sec}...
+\azsaved \ref{sec}...
\end{examplelst}
-kód kerül, ami már helyes eredményt ad. Ez a probléma a \verb|\texorpdfstring| helyett az
+kód kerül, ami már helyes eredményt ad.
-\commandinline|\aznotshow|
+\huazcmd|\aznotshow|
-paranccsal egyszerűbben is megoldható. Ugyanis ezt helyezve az \verb|\az| (vagy bármelyik verziója) elé, az eredmény nem jelenik meg, csak az \verb|\azsaved| generálódik le a megfelelő határozott névelővel. Így
+Az előző probléma a \code|\texorpdfstring| helyett ezzel a paranccsal egyszerűbben is megoldható.
+Ugyanis ezt helyezve az \code|\az| (vagy bármelyik verziója) elé, az eredmény nem jelenik meg, csak az \code|\azsaved| generálódik le a megfelelő határozott névelővel.
+Így
\begin{examplelst}
\aznotshow\Az{\ref{sec}}
-\section{\azsaved~\ref{sec}...}
+\section{\azsaved \ref{sec}...}
\end{examplelst}
szintén helyes eredményt ad a vázlatfában is.
+\huazcmd|\azseparator{!<kód>!}|
+
+Ezzel lehet megadni, hogy a határozott névelő és a \code|!<szöveg>!| mivel legyen elválasztva.
+Alapértelmezetten ez a törhetetlen normál méretű szóköz, ami
+\begin{examplelst}
+\azseparator{~}
+\end{examplelst}
+módon lett beállítva.
+Ha át akarjuk állítani például törhető szóközre akkor ez
+\begin{examplelst}
+\azseparator{ }
+\end{examplelst}
+módon tehető meg.
+
\subsection{Rövidítések}
-\commandinline|\aref{!<kulcs>!} | $\equiv$ \verbinline|\az{\ref{!<kulcs>!}}|\\
-\commandinline|\aref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\ref{!<kulcs>!}}|\\
-\commandinline|\avref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\ref{!<kulcs>!}}|\\
-\commandinline|\avref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\ref{!<kulcs>!}}|
+A \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\refeq|, \code|\pageref|, \code|\pageref*|, \code|\cite| kereszthivatkozások elé nem csak az előbbi parancsokkal tehetünk határozott névelőt, ugyanis mindegyiknek van egy rövidített egyparancsos verziója is:
+
+\huazcmd|\aref{!<kulcs>!} | $\equiv$ \code|\az{\ref{!<kulcs>!}}|\\
+\huazcmd|\aref*{!<kulcs>!} | $\equiv$ \code|\az{\ref*{!<kulcs>!}}|\\
+\huazcmd|\avref{!<kulcs>!} | $\equiv$ \code|\azv{\ref{!<kulcs>!}}|\\
+\huazcmd|\avref*{!<kulcs>!}| $\equiv$ \code|\azv{\ref*{!<kulcs>!}}|
-\commandinline|\aeqref{!<kulcs>!} | $\equiv$ \verbinline|\az{\eqref{!<kulcs>!}}|\\
-\commandinline|\aeqref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\eqref{!<kulcs>!}}|\\
-\commandinline|\aveqref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\eqref{!<kulcs>!}}|\\
-\commandinline|\aveqref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\eqref{!<kulcs>!}}|
+\huazcmd|\aeqref{!<kulcs>!} | $\equiv$ \code|\az{\eqref{!<kulcs>!}}|\\
+\huazcmd|\aveqref{!<kulcs>!} | $\equiv$ \code|\azv{\eqref{!<kulcs>!}}|
-\commandinline|\apageref{!<kulcs>!} | $\equiv$ \verbinline|\az{\pageref{!<kulcs>!}}|\\
-\commandinline|\apageref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\pageref{!<kulcs>!}}|\\
-\commandinline|\avpageref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\pageref{!<kulcs>!}}|\\
-\commandinline|\avpageref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\pageref{!<kulcs>!}}|
+\huazcmd|\arefeq{!<kulcs>!} | $\equiv$ \code|\az{\refeq{!<kulcs>!}}|\\
+\huazcmd|\avrefeq{!<kulcs>!} | $\equiv$ \code|\azv{\refeq{!<kulcs>!}}|
-\commandinline|\acite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\az{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\acite*[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\az*{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\avcite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\azv{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\avcite*[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}| $\equiv$ \verbinline|\azv*{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|
+\huazcmd|\apageref{!<kulcs>!} | $\equiv$ \code|\az{\pageref{!<kulcs>!}}|\\
+\huazcmd|\apageref*{!<kulcs>!} | $\equiv$ \code|\az{\pageref*{!<kulcs>!}}|\\
+\huazcmd|\avpageref{!<kulcs>!} | $\equiv$ \code|\azv{\pageref{!<kulcs>!}}|\\
+\huazcmd|\avpageref*{!<kulcs>!}| $\equiv$ \code|\azv{\pageref*{!<kulcs>!}}|
-A parancsok nevében az első ,,a'' betű kicserélhető ,,A'' betűre. Ekkor a határozott névelő nagybetűvel fog kezdődni, ami mondatok elején szükséges:
+\huazcmd|\acite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \code|\az{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
+\huazcmd|\avcite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \code|\azv{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|
-\commandinline|\Aref \Avref \Aeqref \Aveqref \Apageref \Avpageref \Acite \Avcite|
+A parancsok nevében az első \code{a} betű kicserélhető \code{A} betűre.
+Ekkor a határozott névelő nagybetűvel kezdődik, ami mondatok elején szükséges:
+
+\huazcmd|\Aref \Aref* \Avref \Avref*|\\
+\huazcmd|\Aeqref \Aveqref|\\
+\huazcmd|\Arefeq \Avrefeq|\\
+\huazcmd|\Apageref \Apageref* \Avpageref \Avpageref*|\\
+\huazcmd|\Acite \Avcite|
Például
\begin{examplelst}
\section{Cím}\label{seca}
\section{Cím}\label{secb}
-\Aref{seca}.~és \aref{secb}.~szakaszban
+\Aref{seca}.~és \aref{secb}.~szakaszokban
\end{examplelst}
-eredménye ,,Az 1. és a 2. szakaszban''.
-
-\subsection{A huaz kapocs}\label{subsec-kapocs}
-
-Amikor a \huaz\ csomag megkeresi a megfelelő határozott névelőt, akkor a szövegben található kereszthivatkozásokat lecseréli a kifejthető verziójukra, továbbá a kifejtés során a formázó parancsokat (\verb|\emph|, \verb|\textbf|, \verb|\small|, stb.) figyelmen kívül hagyja. Emiatt lehetséges, hogy például a következő kódok működnek:
+eredménye \huqq{Az 1. és a 2. szakaszokban}.
+
+\subsection{Ignorált parancsok}\label{subsec-ignoralt-parancsok}
+
+Amikor a \huaz\ csomag megkeresi a megfelelő határozott névelőt, akkor a szövegben a következő parancsokat a nem szöveget tároló argumentumaikkal együtt (ha van) figyelmen kívül hagyja:
+
+\begin{multicols}{4}
+\code|\bfseries|\\
+\code|\color|\\
+\code|\emph|\\
+\code|\em|\\
+\code|\enquote|\\
+\code|\fbox|\\
+\code|\fontencoding|\\
+\code|\fontfamily|\\
+\code|\fontseries|\\
+\code|\fontshape|\\
+\code|\fontsize|\\
+\code|\footnotesize|\\
+\code|\framebox|\\
+\code|\hbox|\\
+\code|\href|\\
+\code|\huge|\\
+\code|\Huge|\\
+\code|\itshape|\\
+\code|\large|\\
+\code|\Large|\\
+\code|\LARGE|\\
+\code|\lowercase|\\
+\code|\makebox|\\
+\code|\MakeLowercase|\\
+\code|\MakeUppercase|\\
+\code|\mbox|\\
+\code|\mdseries|\\
+\code|\negthinspace|\\
+\code|\normalfont|\\
+\code|\normalsize|\\
+\code|\num|\\
+\code|\rmfamily|\\
+\code|\scriptsize|\\
+\code|\scshape|\\
+\code|\selectfont|\\
+\code|\sffamily|\\
+\code|\slshape|\\
+\code|\small|\\
+\code|\sscshape|\\
+\code|\swshape|\\
+\code|\textbf|\\
+\code|\textcolor|\\
+\code|\textit|\\
+\code|\textmd|\\
+\code|\textnormal|\\
+\code|\textqq|\\
+\code|\textrm|\\
+\code|\textsc|\\
+\code|\textsf|\\
+\code|\textsl|\\
+\code|\textssc|\\
+\code|\textsw|\\
+\code|\texttt|\\
+\code|\textulc|\\
+\code|\textup|\\
+\code|\tiny|\\
+\code|\told|\\
+\code|\ttfamily|\\
+\code|\ulcshape|\\
+\code|\underline|\\
+\code|\uppercase|\\
+\code|\upshape|\\
+\code|\usefont|
+\end{multicols}
+
+Emiatt lehetséges, hogy a következő kódok jól működnek:
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
@@ -333,49 +552,376 @@ Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
\begin{examplelst}
\section{Cím}\label{sec}
-\az{\textbf{\ref{sec}}}
+\az{\footnotesize\ref{sec}}
\end{examplelst}
-\commandinline|\AddToHook{huaz}{!<kód>!}|
-
-A \huaz\ csomag azon szövegformázó parancsokat hagyja figyelmen kívül, melyek egy előre definiált listában szerepelnek. Amennyiben olyan formázó parancsot használ, ami még ezen a listán nem található, akkor az a felhasználó által is bővíthető. Például
+De ez is helyes eredményt ad:
\begin{examplelst}
\newcommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\newcommand{\mytext}{X.A~osztály}
-\az{\myfont{\mytext}}
+\newcommand{\osztaly}{V.A~osztály}
+\az{\myfont{\osztaly}}
\end{examplelst}
-esetén a \verb|\myfont| nincs ezen a listán, ezért ez a kód hibával fordul. A listára az
+Azért kapunk helyes eredményt, mert a \code|\myfont| kifejtésében található \code|\usefont| szerepel az előző listában. Ha a \code|\myfont| erős parancsként lett volna definiálva, akkor már nem működne megfelelően az előző kód (lásd később). Ebben az esetben a \code|\myfont| parancsot is fel kell venni a listára.
+
+\huazcmd|\huazignorecmd[!<opció>!]{!<parancs>!}|
+
+Az ignoráló listát ezzel lehet bővíteni.
+A \code|!<parancs>!| helyére az ignorálandó parancsot kell írni az argumentumai és \code{*} nélkül.
+Az \code|!<opció>!| \code{0} és \code{9} közötti egész szám lehet.
+Amennyiben ezektől eltérő a beírt \code|!<opció>!|, akkor erre figyelmeztet a fordító.
+A használata három esetre bontható.
+
+\paragraph{1. eset}
+%
+Opció nélkül használva, a \code|!<parancs>!| a névelő megállapításakor törlődik, de az utána írt \code{*}, opció vagy argumentum nem.
+Deklarációs parancsok esetén jól használható.
+Például a \code|\tiny| parancs így lett besorolva a listába:
\begin{examplelst}
-\AddToHook{huaz}{\def\myfont{}}
+\huazignorecmd{\tiny}
\end{examplelst}
-módon vehető fel. Ezzel azt érjük el, hogy a névelő megállapítása során a \verb|\myfont| parancs ne jelentsen semmit. Tehát a következő kód már megfelelően működik:
+Ugyanez alkalmazható abban az esetben is, ha a \code|!<parancs>!|-nak nincs csillagos verziója sem opciója, továbbá az első \code|{ }| jelek közé írt argumentuma a figyelembe vett szöveg. Például a \code|\textrm| ilyen, ezért így lett besorolva:
\begin{examplelst}
-\AddToHook{huaz}{\def\myfont{}}
-\newcommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\newcommand{\mytext}{X.A~osztály}
-\az{\myfont{\mytext}}
+\huazignorecmd{\textrm}
\end{examplelst}
-Az előző eset a \texttt{huaz} kapocs nélkül így is megoldható:
+
+A \code{shadowtext} csomag \code|\shadowtext| parancsa nincs a listában, ezért a következő kód eredménye hibás lesz:
\begin{examplelst}
-\newcommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\newcommand{\mytext}{X.A~osztály}
-\az*{\mytext}~\myfont{\mytext}
+\newcommand{\osztaly}{X.A~osztály}
+\az{\shadowtext{\osztaly}}
\end{examplelst}
-Ha a \verb|\myfont| a \verb|\mytext| definíciójában szerepel, akkor a \texttt{huaz} kapocs használata nem kerülhető meg:
+A listára
\begin{examplelst}
-\AddToHook{huaz}{\def\myfont{}}
-\newcommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\newcommand{\mytext}{\myfont{X.A~osztály}}
-\az{\mytext}
+\huazignorecmd{\shadowtext}
+\end{examplelst}
+módon vehető fel, mert a \code|\shadowtext| parancsnak sem opciója sem csillagos verziója nincs, továbbá egyetlen argumentuma a szöveg.
+Tehát a következő kód már megfelelően működik:
+\begin{examplelst}
+\huazignorecmd{\shadowtext}
+\newcommand{\osztaly}{X.A~osztály}
+\az{\shadowtext{\osztaly}}
+\end{examplelst}
+Megjegyezzük, hogy az előző eset így is megoldható:
+\begin{examplelst}
+\newcommand{\osztaly}{X.A~osztály}
+\az*{\osztaly}~\shadowtext{\osztaly}
+\end{examplelst}
+Ha a \code|\shadowtext| az \code|\osztaly| definíciójában szerepel, akkor nem tudjuk megkerülni a \code|\huazignorecmd| használatát az előző módon:
+\begin{examplelst}
+\huazignorecmd{\shadowtext}
+\newcommand{\osztaly}{\shadowtext{X.A~osztály}}
+\az{\osztaly}
+\end{examplelst}
+
+\paragraph{2. eset}
+%
+Ha az \code|!<opció>!| \code{0}, akkor a \code|!<parancs>!| és az utána található első \code|{| jelig található kódok mindegyike ignorálódik a névelő megállapításakor.
+Tehát például
+\begin{examplelst}
+\huazignorecmd[0]{\foo}
+\end{examplelst}
+esetén a
+\begin{examplelst}
+\foo{...} \foo*{...} \foo[...]{...} \foo*[...]{...}
+\end{examplelst}
+kódokban a
+\begin{examplelst}
+\foo \foo* \foo[...] \foo*[...]
\end{examplelst}
-Kereszthivatkozásnál, ha maga a számozás van standardtól különböző paranccsal formázva, akkor a \texttt{huaz} kapocs használata szintén nem kerülhető meg. Például
+mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+A \code|\makebox| például
\begin{examplelst}
-\AddToHook{huaz}{\def\myfont{}}
-\DeclareRobustCommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\renewcommand{\thesection}{\myfont{\arabic{section}}}
+\huazignorecmd[0]{\makebox}
+\end{examplelst}
+módon lett besorolva, ezért például
+\begin{examplelst}
+\makebox[2cm][s]{szöveg}
+\end{examplelst}
+esetén a \code|\makebox[2cm][s]| rész törlődik és csak a \huqq{szöveg} lesz figyelembe véve.
+
+
+Ha a formázó parancs erős, akkor a \code|\huazignorecmd| használata nem kerülhető meg még akkor sem, ha a listán szereplő parancsokkal épül fel.
+Például
+\begin{examplelst}
+\huazignorecmd[0]{\myfont}
+\DeclareRobustCommand{\myfont}[2][cmr]
+ {{\usefont{T1}{#1}{m}{n}#2}}
+\renewcommand{\thesection}{\myfont[yv1d]{\arabic{section}}}
\section{Cím}\label{sec}
\aref{sec}
\end{examplelst}
-Itt a \verb|\myfont| azért lett erős parancsként definiálva, mert mozgó argumentumba kerül. Az előző példa esete ritkán fordul elő, mert a számláló típusának megadásánál (arab, római, stb.) nem szokás szövegformázó parancsot is alkalmazni.
+Ebben a példában nem hagyható el a \code{[0]}, mert a \code|\myfont|-nak van opciója.
+
+\paragraph{3. eset}
+%
+Ha az \code|!<opció>!| \code{1} és \code{9} közötti egész szám, akkor a \code|\huazignorecmd| parancs a névelő megállapítása során a \code|!<parancs>!|-ot és az utána következő első \code|{| jelig tartó kódokat ignorálja, továbbá ezután az első \code|!<opció>!| darab \code|{ }| jelek közé írt részeket szintén figyelmen kívül hagyja.
+Tehát például
+\begin{examplelst}
+\huazignorecmd[1]{\foo}
+\end{examplelst}
+esetén a
+\begin{examplelst}
+\foo{...} \foo*{...} \foo[...]{...} \foo*[...]{...}
+\end{examplelst}
+kódok mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+Például a \code|\textcolor| parancs
+\begin{examplelst}
+\huazignorecmd[1]{\textcolor}
+\end{examplelst}
+módon lett a listába sorolva, így a
+\begin{examplelst}
+\textcolor[RGB]{20,30,40}{szöveg}
+\end{examplelst}
+parancsban a
+\begin{examplelst}
+\textcolor[RGB]{20,30,40}
+\end{examplelst}
+kódrész ignorálva lesz, és csak a ,,\code{szöveg}'' kerül vizsgálatra a névelő megállapításakor.
+Ha a
+\begin{examplelst}
+\huazignorecmd[2]{\foo}
+\end{examplelst}
+parancsot használjuk, akkor a
+\begin{examplelst}
+\foo{...}{...} \foo*{...}{...}
+\foo[...]{...}{...} \foo*[...]{...}{...}
+\end{examplelst}
+kódok mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+Például a \code|\fontsize| parancs
+\begin{examplelst}
+\huazignorecmd[2]{\fontsize}
+\end{examplelst}
+módon lett a listába sorolva, így a
+\begin{examplelst}
+\fontsize{14pt}{14pt}
+\end{examplelst}
+parancs figyelmen kívül lesz hagyva a névelő megállapításakor.
+
+\subsection{A kereszthivatkozások kifejthető verziói}
+
+Ha a szöveg elején kereszthivatkozás van, akkor a határozott névelő megállapítása előtt a kereszthivatkozás parancsát le kell cserélni annak kifejthető verziójára.
+A \code{refcount} csomag két ilyen parancsot definiál:
+A \code|\getrefnumber| a \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\refeq| esetén
+használható, a \code|\getpagerefnumber| pedig a \code|\pageref| és \code|\pageref*| esetén.
+
+\huazcmd|\huazrefcmd{!<parancs>!}|
+
+Ezzel a paranccsal elérhető, hogy a \code|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \code|\getrefnumber| paranccsal helyettesítse.
+
+A \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\refeq| parancsok így lettek besorolva a \huaz\ csomagban:
+\begin{examplelst}
+\huazrefcmd{\ref}
+\huazrefcmd{\eqref}
+\huazrefcmd{\refeq}
+\end{examplelst}
+Ezzel már az \code|\eqref*| és \code|\refeq*| is működne, de ezek a csillagos verziók nincsenek definiálva a csillag nélküli verziókat definiáló \code{amsmath} illetve \code{mathtools} csomagokban. Ezt mi is pótolhatjuk, amire \aref{subsec-eqref}.~alszakaszban láthatunk megoldást.
+
+\huazcmd|\huazpagerefcmd{!<parancs>!}|
+
+Ezzel a paranccsal elérhető, hogy a \code|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \code|\getpagerefnumber| paranccsal helyettesítse.
+
+A \code|\pageref| és \code|\pageref*| parancsok így lettek besorolva a \huaz\ csomagban:
+\begin{examplelst}
+\huazrefcmd{\pageref}
+\end{examplelst}
+
+Ezekre láthatunk egy alkalmazást \aref{subsec-autoref}.~alszakaszban.
+
+\subsection{Az \texttt{\textbackslash autoref} és \texttt{\textbackslash autopageref} parancsok}\label{subsec-autoref}
+
+Ezeket a parancsokat a \code{hyperref} csomag definiálja.
+Ezekkel hivatkozva egy címkére, nem csak a sorszám, hanem a sorszámozott egység neve (szakasz, alszakasz, oldal, stb.) is megjelenik link formájában.
+Ezeknek léteznek csillagos verzióik is, melyeknek ugyanaz a hatásuk, de nem generálnak linket.
+
+Magyar nyelvű dokumentumokban nem lehet közvetlenül alkalmazni, mert az angol szabály szerint \huqq{1.~szakasz} helyett \huqq{szakasz~1} lesz az eredménye a következőnek:
+\begin{examplelst}
+\section{Cím}\label{sec}
+\autoref*{sec}
+\end{examplelst}
+A használatához először magyarosítani kell a következő kóddal a \code{hyperref} betöltése után a preambulumban:
+\begin{examplelst}
+\usepackage{regexpatch}
+\makeatletter
+\xpatchcmd{\HyRef@autosetref}{\HyRef@currentHtag}{}{}{}
+\xpatchcmd{\HyRef@autosetref}{\null}
+ {\null.~\HyRef@currentHtag}{}{}
+\xpatchcmd*{\HyRef@testreftype}{~}{}{}{}
+\makeatother
+\RenewDocumentCommand{\autopageref}{sm}{%
+ \IfBooleanTF{#1}
+ {\pageref*{#2}.~oldal}
+ {\hyperref[{#2}]{\pageref*{#2}.~oldal}}}
+\end{examplelst}
+Ezután már \huqq{1.~szakasz} lesz az eredmény.
+
+Ha az így módosított \code|\autoref|, \code|\autoref*|, \code|\autopageref|, \code|\autopageref*| parancsokhoz automatikus határozott névelőt szeretnénk, akkor írjuk be a következőket a \huaz\ betöltése után:
+\begin{examplelst}
+\huazrefcmd{\autoref}
+\huazpagerefcmd{\autopageref}
+\end{examplelst}
+Ezután a következő kód eredménye \huqq{Az 1. szakasz az 1. oldalon kezdődik.} lesz:
+\begin{examplelst}
+\section{Cím}\label{sec}
+\Az{\autoref*{sec}} \az{\autopageref*{sec}on} kezdődik.
+\end{examplelst}
+
+\subsection{Az \texttt{\textbackslash eqref*} és \texttt{\textbackslash refeq*} parancsok}\label{subsec-eqref}
+
+A \code|\ref| és \code|\pageref| parancsoknak definiált a csillagos verziójuk is, amely alapesetben nem különbözik a normál verziótól, de a \code{hyperref} csomaggal használva a csillag nélküli verzió linket generál, míg a csillagos nem.
+
+Az \code{amsmath} csomag által definiált \code|\eqref| a \code{hyperref} csomaggal együtt használva szintén generál linket, de ennek nincs definiálva csillagos verziója, így ekkor a link nélküli verzió nem érhető el közvetlenül.
+További gond az ilyen link nélküli egyenlethivatkozás előtti automatikus névelő megadása.
+
+Négy lehetséges megoldást mutatunk.
+
+\begin{enumerate}
+\item
+A \code{NoHyper} környezet használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \begin{NoHyper}\aeqref{eq}\end{NoHyper}
+ egyenletet!}
+\end{examplelst}
+
+\item
+Az \code|\az*| parancs használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az*{\ref{eq}} \textup{(\ref*{eq})}
+ egyenletet!}
+\end{examplelst}
+
+\item
+Az \code|\eqrefstyle| parancs definiálásával és a \code|\huazignorecmd| paranccsal, amely az előzőnek egy kényelmesebben használható verziója:
+\begin{examplelst}
+\makeatletter
+\newcommand{\eqrefstyle}[1]{\textup{\tagform@{#1}}}
+\makeatother
+\huazignorecmd{\eqrefstyle}
+
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\eqrefstyle{\ref*{eq}}} egyenletet!}
+\end{examplelst}
+
+\item
+Ebben az esetben definiáljuk az \code|\eqref| csillagos verzióját (az \code{amsmath} betöltése után), amely nem generál linket a \code{hyperref} csomaggal együtt használva:
+\begin{examplelst}
+\makeatletter
+\DeclareDocumentCommand{\eqref}{ s m }{%
+ \textup{\tagform@{%
+ \IfBooleanTF{#1}{\ref*{#2}}{\ref{#2}}%
+ }}%
+}
+\makeatother
+\end{examplelst}
+Ezután a
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\eqref*{eq}} egyenletet!}
+\end{examplelst}
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak az \code|\eqref|, hanem az \code|\eqref*| is a kifejthető \code|\getrefnumber| parancsra lesz kicserélve a határozott névelő meghatározásánál.
+\end{enumerate}
+
+Ugyanez a probléma a \code{mathtools} csomag által definiált \code|\refeq| és a \code{hyperref} csomag együttes használata esetében.
+
+Az előző négy megoldás mindegyikét lehet alkalmazni megfelelő módosításokkal:
+\begin{enumerate}
+\item
+A \code{NoHyper} környezet használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \begin{NoHyper}\arefeq{eq}\end{NoHyper}
+ egyenletet!}
+\end{examplelst}
+
+\item
+Az \code|\az*| parancs használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az*{\ref{eq}} \textup{\ref*{eq}} egyenletet!}
+\end{examplelst}
+\item
+A \code|\refeqstyle| parancs definiálásával:
+\begin{examplelst}
+\newcommand{\refeqstyle}[1]{\textup{#1}}
+
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\refeqstyle{\ref*{eq}}} egyenletet!}
+\end{examplelst}
+Itt nincs szükség a \code|\huazignorecmd{\refeqstyle}| használatára.
+
+\item
+A \code|\refeq*| parancs definiálásával:
+\begin{examplelst}
+\DeclareDocumentCommand{\refeq}{ s m }{%
+ \textup{%
+ \IfBooleanTF{#1}{\ref*{#2}}{\ref{#2}}%
+ }%
+}
+\end{examplelst}
+Ezután a
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\refeq*{eq}} egyenletet!}
+\end{examplelst}
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak a \code|\refeq|, hanem a \code|\refeq*| is a kifejthető \code|\getrefnumber| parancsra lesz kicserélve a határozott névelő meghatározásánál.
+\end{enumerate}
+
+\subsection{Parancsok átdefiniálása a határozott névelő megállapításakor}
+
+A \code|\huazignorecmd|, \code|\huazrefcmd| és \code|\huazpagerefcmd| parancsok is a címben szereplő funkciót látják el, de speciális esetekben.
+Ezek általánosított verziója a következő parancs:
+
+\huazcmd|\huazdefcmd{!<átdefiniáló kód>!}|
+
+Az \code|!<átdefiniáló kód>!| helyére egy parancsnak azt a definícióját kell írni, amelynek a határozott névelő megállapítása során kell érvényesülnie.
+Felsorolunk néhány kódpárt, melyek ekvivalensek egymással:
+\begin{examplelst}
+\huazignorecmd{\tiny}
+\huazdefcmd{\def\tiny{}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazignorecmd[0]{\makebox}
+\huazdefcmd{\def\makebox#1#{}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazignorecmd[1]{\textcolor}
+\huazdefcmd{\def\textcolor#1#{\@gobble}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazrefcmd{\ref}
+\huazdefcmd{\def\ref#1#{\getrefnumber}}
+\end{examplelst}
+
+Alkalmazásként tekintsük a következő kódot, amely hibával fog fordulni:
+\begin{examplelst}
+\newcommand{\tananyag}{\LaTeX\ alapjai}
+A mai óra anyaga \az{\tananyag}.
+\end{examplelst}
+A megfelelő eredményhez a \code|\LaTeX| parancsot át kell definiálni a névelő megállapításakor:
+\begin{examplelst}
+\huazdefcmd{\def\LaTeX{latex}}
+\newcommand{\tananyag}{\LaTeX\ alapjai}
+A mai óra anyaga \az{\tananyag}.
+\end{examplelst}
+Az eredmény \huqq{A mai óra anyaga a \LaTeX.} lesz.
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvqrurl/Changes b/macros/latex/contrib/hvqrurl/Changes
index aa30416b54..ac9fca90d3 100644
--- a/macros/latex/contrib/hvqrurl/Changes
+++ b/macros/latex/contrib/hvqrurl/Changes
@@ -1,4 +1,5 @@
hvqrurl.sty:
+0.08 2024-05-14 - fix for color setting of the qrcode
0.07 2024-02-06 - allow active chars in linktext
0.06 2024-02-03 - fix for introduced bug with linktext
0.05a 2024-02-02 - modified documentation
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
index 95b739d2b2..0960eb3f17 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
index 89fd8cdea6..9886a639c0 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.tex 872 2024-02-06 16:11:47Z herbert $
+%% $Id: hvqrurl.tex 895 2024-05-14 19:22:17Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside=on,usegeometry]{scrartcl}
@@ -38,7 +38,7 @@
linktocpage, colorlinks=true}%
\begin{document}
-\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.07}
+\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.08}
\author{Herbert Voß\thanks{\protect\url{hvoss@tug.org}}}
\date{\today}
\maketitle
@@ -100,7 +100,7 @@ if hyperref is aktive.
\subsection{Color of the QR code}
-Without using \LPack{hyperref} the default color is \Lkeyval{black}. It can be changed by
+The default color is \Lkeyval{black}. It can be changed by
the optional argument \Lkeyword{qrcolor}. The package
\LPack{xcolor}\hvqrurl*[qrlink=nolink,qrcolor=red!40!white]{https://mirror.ctan.org/pkg/xcolor}
is loaded by default,
diff --git a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
index af29f1a446..da8f84fc10 100644
--- a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
+++ b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.sty 872 2024-02-06 16:11:47Z herbert $
+%% $Id: hvqrurl.sty 895 2024-05-14 19:22:17Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -7,7 +7,7 @@
% Copyright 2019,21,23,24 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{hvqrurl}[%
- 2024/02/06 v.0.07 (Herbert Voss) Supports qr images into the margin (hv)]
+ 2024/05/14 v.0.08 (Herbert Voss) Supports qr images into the margin (hv)]
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{url}
@@ -16,7 +16,9 @@
\RequirePackage{qrcode}
\RequirePackage{xkeyval}
-\newif\if@no@hyperref \@no@hyperreffalse
+\newif\if@no@hyperref
+\@no@hyperreffalse
+
\DeclareOption{nohyperref}{\@no@hyperreftrue}
\ProcessOptions
@@ -33,6 +35,8 @@
\define@key{hvqr}{linktext}[]{\def\qr@url@linktext{#1}}
\define@boolkey{hvqr}[hv@]{qrreverse}[true]{}
+\newcommand*\qr@url@qr@nolink{nolink}
+
\setkeys{hvqr}{qrheight,qrcolor=black,qradjust,qrlevel,qrlink=link,
qrreverse=false,linktext={}}% the default setting
@@ -46,10 +50,6 @@
\newcommand*\hvqr@@url[2][]{%
\begingroup
\providecommand*\qr@blank{0}%
- \ifx\relax#1\relax \else\hvqrset{#1}\fi
- % Set options for package qrcode
- \expandafter\qrset\expandafter{\qr@url@qrlink,height=\qr@url@qrheight,level=\qr@url@qrlevel}%
- \ifhv@qrreverse\reversemarginpar\fi
\if@tempswa
\ifx\@empty\qr@url@linktext % alternative link text?
\edef\hv@foo{\detokenize\expandafter{#2}}%
@@ -62,9 +62,24 @@
\href{\hv@fooA}{\hv@fooB}%
\fi
\fi
- \edef\reserved@a{\noexpand\marginnote{\noexpand\color{qr@url@qrcolor}\noexpand\qrcode{%
+% \endgroup
+% \begingroup
+ \ifx\relax#1\relax \else\hvqrset{#1}\fi
+ % Set options for package qrcode
+ \expandafter\qrset\expandafter{\qr@url@qrlink,height=\qr@url@qrheight,level=\qr@url@qrlevel}%
+ \ifhv@qrreverse\reversemarginpar\fi
+ \if@no@hyperref
+ \color{qr@url@qrcolor}%
+ \else
+ \ifx\qr@url@qrlink\qr@url@qr@nolink
+ \color{qr@url@qrcolor}%
+ \else
+ \hypersetup{urlcolor=qr@url@qrcolor}%
+ \fi
+ \fi
+ \edef\reserved@a{\noexpand\marginnote{\noexpand\qrcode{%
\detokenize\expandafter{#2}}}[\qr@url@qradjust]}%
- \reserved@a
+ \reserved@a
\endgroup
}
diff --git a/macros/latex/contrib/jsonparse/README.md b/macros/latex/contrib/jsonparse/README.md
index b2253c2a85..69258570db 100644
--- a/macros/latex/contrib/jsonparse/README.md
+++ b/macros/latex/contrib/jsonparse/README.md
@@ -1,10 +1,12 @@
-![Version 0.5.6](https://img.shields.io/badge/version-0.5.6-blue)
+![Version 0.8.3](https://img.shields.io/badge/version-0.8.3-blue)
+
+![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/d6abde3a-fa12-4b63-a213-ad8332e32199)
# The `jsonparse` package
-The `jsonparse` package provides an easy way to read in JSON data from files or strings in LaTeX documents, parse the data and store it in a user-defined token variable. The package allows accessing the stored data via a JavaScript-flavored syntax.
+The `jsonparse` package provides a handy way to read in JSON data from files or strings in LaTeX documents, parse the data and store it in a user-defined token variable. The package allows accessing the stored data via a JavaScript-flavored syntax.
-Using the commands `\JSONParseFromFile` or `\JSONParse`, JSON data can be stored in a token variable. Using the command `\JSONParseGetValue`, certain entried can be extracted from the stored data.
+Using the commands `\JSONParseFromFile` or `\JSONParse`, JSON data can be stored in a token variable. Using the command `\JSONParseValue`, entries can be extracted from the stored data.
---
@@ -32,7 +34,7 @@ Let's assume a file with the name `example.json` is stored in the working direct
}
],
"children": [
- "Tom,
+ "Tom",
"Doug",
"Harry"
],
@@ -40,6 +42,9 @@ Let's assume a file with the name `example.json` is stored in the working direct
}
```
-We can store it in the token variable `\myJSONdata` using the command `\JSONParseFromFile{\myJSONdata}{example.json}`. Calling the command `\JSONParseGetValue{\myJSONdata}{contactPoint[0].telephone}` would then result in the output `+1 (555) 555-1234` (indices are zero-based per default).
+We can store it in the token variable `\myJSONdata` using the command `\JSONParseFromFile{\myJSONdata}{example.json}`. Calling the command `\JSONParseValue{\myJSONdata}{contactPoint[0].telephone}` would then result in the output `+1 (555) 555-1234` (indices are zero-based per default).
+
+This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+
+Jason, the JSON parseing horse: Copyright 2024 Hannah Klöber.
-This package including all files is subject to the LPPL 1.3c license.
diff --git a/macros/latex/contrib/jsonparse/jason/jason.pdf b/macros/latex/contrib/jsonparse/jason/jason.pdf
new file mode 100644
index 0000000000..324458e684
--- /dev/null
+++ b/macros/latex/contrib/jsonparse/jason/jason.pdf
@@ -0,0 +1,1662 @@
+%PDF-1.5 %
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R]/Order 6 0 R/RBGroups[]>>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 53578/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">jason</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+ <xmp:CreatorTool>Adobe Illustrator CS6 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2024-04-28T16:34:40+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-04-28T16:34:40+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-04-28T16:34:40+02:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXlf5z+Y7yZ7XyZpU7W9xqCG51a5jNHis1NFUEftSvt8h75hazNwig5elxWbKaflX5&#xA;8n1m2k0DW3C+ZdLUCZjsLqAbJcp416P4H50yzTZ+MUebDUYeE2OT0DMlx3Yq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FVsssUUbSSuscairOxAAHuThAJ&#xA;2CCQBZfO1jqDa3q+s+ZnJb9K3bi1J7WlufSgX/gV3zQ558UiXc4ocMQF+oWNy9xbajptwbLWrBvU&#xA;sb1eqk7Mjj9pHGzA5CEzE2GcoiQoplb/AJzebrudrC7EOmapEPjgSMFXH88RkMnJT+Gdp2R+V1Ma&#xA;P953X93L9jxva8tVpzYI8M9QOXv5/tbl88ebJa8tTlFf5OKf8RAzfx7PwD+EOgl2jnP8ZUv8XeZ/&#xA;+rpc/wDIxv65P8lh/mR+TD89n/ny+ba+b/NCkEapcVHjISPuOA6HD/MCjX5/58vmioPzC83wkUvy&#xA;48JEjb8StfxyuXZmA/w/e2x7U1A/i+5NrT82tejIFzb29wvcgNG33gkf8LmLPsXEeRIcqHbmUcwC&#xA;n9h+bejSkLe2s1qT1ZSJUHz+y3/C5hZexMg+kg/Y5+LtzGfqBj9rKdM8xaHqYH1G9imcivpg8ZP+&#xA;Aajfhmty6XJj+qJDs8OrxZPpkD+O5Mcx3IdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi&#xA;rsVQmp6tp2mW5uL+4S3i7FjuT4Ko3Y/LLcWGeQ1EWWrNnhjFzNBgGufm0x5RaNb0HT6zcCp+axg/&#xA;rP0ZvNP2L1yH4D9bodT250xj4n9TzrzX5i1e8029ub67knaOGRkDNRQ3E04qPhXfwGZ+oxwwYJmA&#xA;AqJ+51+nyZM+eAmTK5D70LoWr6DZ6LY2z6jaxyRQRh0aaMEMVBaoLeOeWkPp6dW93a3K8reZJl/m&#xA;jYMPvBOBWLfmT6cWk2t2D6dzFdIIZ1HxqCrFqH/Y9Mtw5JQkJRNEMMkIziYyFgrtE1Z7tWtroBb+&#xA;BVMgX7MiMKpNH4q439s9G7I7UGqhR/vI8/1/jk+ddr9lnSzsf3cuX6vxzTXNw6d2KuxV2KuxVsEg&#xA;gg0I3BGKWR6N+YPmTTOKev8AW7cf7puKvt7P9sffTNfn7Mw5OnCfJ2Gn7UzY+vEPN6DoP5kaFqZS&#xA;G4JsLptuEpHpk/5Mmw/4KmaLU9lZce49UfL9Tv8ATdrYsmx9MvPl82WAgio6ZrHaOxV2KuxV2Kux&#xA;V2KuxV2KuxV2KuxV2KuxV2KuJCgsxoBuSegGKsC80fmfa2he00YLc3AqGujvEp/yR+38+nzzd6Ps&#xA;iUvVk2Hd1/Y6PWdsxj6ce57+n7Xmmoajfahctc3s7zzN1dzWg8AOgHsM6HFijjFRFB5vLllkNyNl&#xA;j2v+YU01RFDGbi9cVSIAkKDtzfjU0/Xmt7T7TGnFRHHkPT9Jdl2Z2YdQbkeDGOv6AgtNHla+kB1v&#xA;Uzd3p39Cf1LaBD4IjBAfmTvnlna/aPaGWXrEgO79nT8bvp3Zeg0OKPoonv8A2srXy75fCgLptrxA&#xA;2/cxn8aZzJ1WX+dL5l34wY/5o+SDu/JehysZrWNtOux9i4tGMRU/6o+Gn0Zfi7Ryw68Q82nJoscu&#xA;le5Jbi31281jTtC1eMXMFvL9bN8ook0MakAOvQNybifn9J2uTXRlgM47S5V5uBDSSGURO45pfqFt&#xA;PotylqTS4sS0uj3DdJ7UkmS1c/zLX4fw6jNn2R2mYyjlj9UeY/HQuv7U7OjOJxy+mXI/juZXaXMN&#xA;1bRXMJ5RSqHQ+xGet4csckBOPKQt8mzYpY5mEucTSrlrU7FXYq7FXYq7FXYqyPy3561nRCsQf61Y&#xA;jrayk0A/yG3Kfq9swNX2djzb8pd/63Y6TtLJh25x7v1dz1fy/wCaNI12DnZy0mUVltn2kT5juPcZ&#xA;zGp0eTCakNu/o9Rpdbjzi4nfu6pvmK5bsVdirsVdirsVdirsVdirsVdirsVQ+oajZ6faSXd5KsNv&#xA;GKs7fgAO5PYZZixSyS4Yiy15csccTKRoB5D5u8+32tu1tbcrbTK0EVfjk95CP+I9PnnU6Hs2OHc7&#xA;z+73PJ67tOWb0x2h9/vYpmzdW7FXYql/mC1iuNGvEdFcrDI0fIA0YKSCK9N8we0sUZ6eYIv0mvfT&#xA;ndm5ZQ1ECDXqF+60Dot3c+X7bT3nlafQNQiiKyyGrWs0ig8Sf99k/d+vxrX6IZAZRHrH2/tfYNHq&#xA;jA8Mvp+5muc47p2KoTVdJsNVs2tL2P1Ijup6MrDoynsRluHNLHLiid2vJijMUUgtvKetafD9W0/V&#xA;V+qqSYop4AzKCa05qwr18M6zRe2WowQEABQeZ1nspp88zMk8RXSQecLUcmgtdQjHVYGaGSnykqv4&#xA;5u9L7e2ayQ/R+v7nTan2HFfu5H7/ANTen61aXkrW5V7a9T+8tJ14SD3APUe4ztuzu18GrF4zv3PG&#xA;9odkZ9IfWNu/omGbR1jsVQF/rVnZyrb/ABXF4/8Ad2kC85T9A6D55rtd2ph031n1dw5/s+LstD2X&#xA;m1P0D0955ft+CyO08231GpBpMJ6c/wDSJ6eNBxQfKuctqfajLLbGBEfM/q+x6jTezGGP94TI/Ifr&#xA;+1XHlKeTe61m9du/oskC/cqnNTk7Z1Uuc5fDb7qdrj7I0seWOPx3+9d/g237anqQPj9Zb+Iyr+U9&#xA;T/qk/wDTH9bb/J2n/wBTh/pR+pKrN9asvMwi0PWLsR2BBu7uUxyFXP8AupDxFTT7Wb3sier1UiDM&#xA;+GPquj8N+v3Ok7WjpNLEEQHiH6asfHbp973vyZ+YVvqvCx1IrBqJ2jk+zHMfb+V/bv28Mz9f2Ycf&#xA;qhvD7v2OF2f2qMvpntP7/wBrNM1DuHYq7FXYq7FXYq7FXYq7FXYqhNV1Wx0uxkvb2QRwRj6WPZVH&#xA;cnLcOGWSQjEbtWbNHFEykdninmnzVfa/emSUmO0jP+j2wPwqPE+LHuc6/R6OOCND6upeN1utlnlZ&#xA;+noEkzMcJ2KqdzcwW0DzzuI4YxV3bYDK8uWOOJlI1ENmLFLJIRiLkUtgl13WRy06MWFg3S/uF5SO&#xA;PGKLw92zge1/baOMmGAb9/45fb7g912V7GmQEs5+H45/Z70YnkjSpBXUZbjUZDuTPK4Wv+SiFQB7&#xA;Zwmq7f1WY3KR/Hve103Y2mwioxCjffl5oM1q8VmJLGRx9uOR2U+AdHZgRX5ZRi7VyxPq9Qciegxk&#xA;bbJr5bhv4NEtYL//AHqgDROetRG5VDXvVADmLqpROQmP0lvwCQgBLmEyzHbnYq7FXYqlut6DaarA&#xA;A9YrqPe2u02kjbsQfDxGZej1uTTzEoFxtVpYZoGMxaU6LfXE8c1teALqFk/o3QHRiPsyD2cb57l2&#xA;H2oNZgE/4hz/AF/jrb4z232YdHnMf4Ty/V+OlKd9eX13ffojSSBc0DXd0RVbeM9D7uewzE7b7a8D&#xA;93j/ALzqe79rl9idjeP+8yf3fQfzv2J3o+hafpURW3QtM+89zJ8Usjdyzfw6ZwU5mRsmy93GIiKA&#xA;oJjkUuxVCatfLYaZdXjdIImcA92A+EfSdsIVIvL9m1rpMCybzyj1rhj1MknxMT770z1HsrTDDp4x&#xA;61Z95fMO1dSc2olLpdD3BMQSDUbEdDmxde9Q8hef/rJj0rV5P9I+za3bn7fgjn+bwPf59ec7S7N4&#xA;fXjG3UPSdmdp8X7vId+h/W9BzRO/dirsVdirsVdirsVdiqld3VvaW0tzcOI4IVLyOegAyUIGRAHM&#xA;sZzEYmR2AeI+b/NVzr+oF947GEkWsHgO7N/lN+HTOw0OjGCFfxHmXjNfrTnnf8I5BIcznAdirsVS&#xA;q2tV1rX5FnHPTdKK/uj9mS5YV+Idwg7eOeYe2vbEuPwIHYc/x9nzfSvY/sqIx+NIby+78b/Jlmec&#xA;PfOxV2KuxV2KuxV2KuxV2KsM803L6Rr6XkKF5NStjDHCN+dxG6iM/dIBnbeyXap08cnu29/T9LyP&#xA;tP2WNSYf1t/d1/QyDy9o40vT1jc+peTEy3k/d5W3Y18B0GOTIZyMpGyWzHjEIiMRQCZ5Bk7FXYqx&#xA;vzfJ9ZksNGXf65KJbkf8UQfGwP8ArNQDNj2VpfH1EY9L39w5uB2pqvA08p9a2955I3PUny52KuxV&#xA;61+XvnU6lGNK1CSuoRL+5lY7zIOx/wAtR9438c5jtPs/wzxw+k/Z+x6rsrtDxBwT+scvP9rN80zu&#xA;nYq7FXYq7FXYq7FXk/5lebTf3Z0izf8A0O2b/SGHSSUdv9VP1/RnT9k6Lgj4kvqPLyH7Xlu19dxy&#xA;8OP0jn5n9jBs3LpHYq7FXYqhPJskEPlw6hO6xpdTT3U0jkACshFST/kqM+f+2cpzauRG5J+/f9L7&#xA;t2XiGLTRHKh92yHufNl9dI8mkQRxWMYJfUr3ksZA6mNBRm+Zzb9m+yeXNDxMh4Mfefx93zdX2h7T&#xA;YsM/DgOPJ3D8fjuS/TR551pjNHqZttNY/u7gwJGzjxjT7XHwLMMwdZHR4JGMB4hHw/T+O4OdpZar&#xA;NESn6L+P6GV6TplxYpIJ76e+kkIJaYii0FPhAG1e+abNlE+URH3OzxYzHmSUflLa7FXYq7FXYq4k&#xA;KCSaAbknpTFWNaaP09rf6YcV02w5RaZXpJIdpJvltRf650+h03hQ3+qXP9TodXn8SW3IMlzMcV2K&#xA;uxVpmVVLMQFAqSdgAMVYFaazJe6ze6rFYXd4slLeyaKL92IEO55sVHxtvTN32T2vpdFxSyH1nbps&#xA;Pn1dN2t2VqdZwxx0IDfe9z8uiaC/19h+70KY9/jlhTb6Tmyl7c6Ucgfx8HWR9itQech+Pi02ranF&#xA;vPol4B/xUEl/BWy7H7a6OXOx8v0005PY3VDkYn5/tWf4p0lGC3Rls3O3G4ikj3+ZFPxza4PaLR5O&#xA;U/x8NnWZvZ7WY+cL+P4KZ6drNs08dxp94jTRMHjeJ1LKy7g7HNlDPhzCoyjIHzdbPBmwm5RlEjye&#xA;8+UPMsWvaStxst3FRLuIdnp9of5LdR93bOU12kOGdfwnk9doNWM+O/4hzTzMNzXYq7FXYq7FWMef&#xA;/Mv6F0cpA1L+8rHBTqo/bk+gdPfNj2bpPFyWfpjz/U63tPWeDjofVLl+t4rnXvGuxV2KuxV2KsP8&#xA;tRXGr6ba21yCuk6fVTAf93z8i1X/AMlOXTxzzz2e7Bhlyyz5BYvb8ff8u99C9oO3JYsccOM1Ijn3&#xA;D8cvn3JzLbLrGtx6Uf8AjnWKrPfIOjsf7qI07bciMl7a9rnFEYIGu/8AHl+kNfsf2WMhOeYvu/Hn&#xA;+gsuVVVQqgBQKADYADPKn0p2KuxV2KuxV2KrJpoYImlmdY4kFXkchVA8SThjEk0OaCQBZY3Pc3Hm&#xA;d2tLIvDoYNLu++y09OscNf2f5m/zO+0PZ/B65/V0Hc6nV6zi9MeTI4IIbeFIIUEcUahY0XYBRsAM&#xA;2jrlTFXYq7FWL+YdQm1W6PlvS3/eSf8AHTuh0hhr8S7dWbpT6PlVnzjFDiPwbcOE5JUGR2lrBaWs&#xA;VrbrwhhUJGvgFFM5OczImR5l6GMREUFXIsnYq5lVgVYAqeoO4xBVher6bpl/5lhtLe0hjjsAJ76a&#xA;NFVmkbeOIkAf6xzvfY7s+eoyccyTjj+B9v3F4v2s7Qjp8fBChOW36/x5s48oeYpNC1mO5JJtZP3d&#xA;2g7xnvTxXqM9N12lGbGR/F0fONBqzhyCX8PV7pHIkkayRsGRwGRhuCCKgjOMIINF7YEEWF2BLsVd&#xA;irTMqqWYgKBUk7AAYgKS8J83682t65PdAk2yH0rVfCNTsf8AZfa+nO00Om8HGI9evveI1+p8bKZd&#xA;OnuSXMxwnYq7FXYq7FUlndtMt4NJ0xBLqFyX+rp0C8mLNK/+Stc0Gv1kNBgEI/Wbr4nm7/Q6Oevz&#xA;mc/oFX8ByRPkKx+r22pSO5mmkvZUec9XEXw8vpbkfpzx/trNKebc2av4l9X7LxRhioCh+gMivL6z&#xA;soGuLuZIIV6u5oPl7nNXjxymaiLLsJzERZNJH/iDWNRFdFsONuRUahfExREeKxj42Hvm2w9k9Zn4&#xA;B12XtH+aPmluka9NHZQ6prF5Lc3V2W+oaXbLQlQSoPppQtWn7Rp9ODLpeKZx4o7DnI/j7mWPUVHj&#xA;yHnyCai585XnxQ2trp0R6C5ZppafKOij6Tl+PsmA+ok+7Zpn2jI8gAu+qec16ahZvXqGgYU+VGyw&#xA;9mYfP5tf5/J5NGw84y7PqtvbjxhtuZ/5KNko9m4R0J+KDrsp7nR+UbSWRZtVuZ9UlU1VbhqQg/5M&#xA;S0X765l48UIfSAHHnllP6jaeqqooVQFVRRVGwAHhk2tvFXYq4kAVOwHU4qxDVfNUl/fxaLokyxNc&#xA;MY31R/sDiKssPZ33/p4iGbJ4cDIi6bMWPjkI8mQaLoljpFp9XtVJLHlNM27yP3ZjnLajUSyyuTv8&#xA;OGOMUEflDa7FXYqoaheRWVjPeS/3cEbSMPHiK0+nJ4sZnIRHVjOYjEk9GN+XbaWPTxcXG93fMbq5&#xA;J68pNwP9itBTPe+wtCNNpYxrc7n8e58R7d1p1GplLoNh+Pemmbh071r8rdfN7pb6ZM1Z7GnpE9Wh&#xA;bp/wB2+VM5ftjTcE+Mcpfe9V2NquOHAecfu/YzfNO7p2KuxVi35j60dN8uyRRtS4vj6CU6hSKyH/&#xA;AIHb6c2XZWn8TKCeUd/1Os7W1Hh4SBzlt+t4vnXPHOxV2KuxV2KqF9ewWVnLdTmkUSlm8T4Ae5O2&#xA;U6jPHDjM5cot+nwSzZBCPOTvK+lTxpJqt+tNSv6Myn/dUXVIh/HPLdbq5ajIZy6/in1DR6WODGIR&#xA;5D7fNC6JqVtpmkavPcmiWd/cqwHVmLgqFHi3IUzmNfhlPOIjqA9Bo8ojhJPQq+maJNfSpq2uqJbt&#xA;vitrJt4rZT0AU7F/EnNtgwRxRqPz73W5s0shssgdQ6Mh6MCD9OXNSQ+VPLEWj2avPSXUXULLMdyq&#xA;jpGh7KPbrhPkqf4FdirsVdirsVdirTEhSQCxAqFHU+2+KscOm61rrctWJsNM7abE37yQf8XyDt/k&#xA;rkrpUyv9A0670waeIxBFHQ2zRDiYnH2XSnQg5FVHy5qdzcRTWF/Qapp7CK58HBFUlHs4zmtfpfCn&#xA;t9J5fqd7pM/iR3+oJxmC5bsVdiqQediX0iK1/Zvbq3t3/wBVnBP/ABHNx2BgGXVwie/79v0ur7Zz&#xA;HHpZyHQH7BaIz358MdihN/KmsnR9etbwmkIb07geMT7N93X6Mxdbg8XEY9envcvRajwsol06+570&#xA;CCKjpnEvcuxV2KvH/wA0dV+t+YhaKaxWMYSnb1H+Nz93EfRnVdj4eHFxdZPJds5uLNw9Ihh2bZ1D&#xA;sVdirsVdiqU3MP6T8wWmmkVtbRfrl4OzEHjEh/2W9M472o1n04R7z+j8e57H2X0e0sx/qj9LLc41&#xA;69hc2lzyeePqbiumysuqFOxkiX0t/wDZkEjBwC+LrVMuM1w9ObNMLF2KuxV2KuxV2KuxV2KuxV2K&#xA;uxV2Kse18fo3VrDXE+GLkLPUO1YpT8Dn/UfMbWYfExEdRuHI0uXgmD0ZDnKvQOxV2KpZ5j0uXUtM&#xA;aG3YJdROk9qzdBLGeS1+fTM3s/VnT5o5B0Li63TDPilA9QlOna3bXTG3mH1XUI/hms5fhcN/k1+0&#xA;PAjPc+ze2MGrgDEji7v1d74v2l2Pm0syJAmPf+vuTLNs6l2KvcfIeqnUvLFpIxrNADbyn3j2H3px&#xA;Ocb2jh8PMR0O/wA3tezc3iYYnqNvkyDMFz1ssiRRvI5oiKWY+AAqcIFmggmhZfPGoXkl7f3F5J9u&#xA;4keVvYuxNPxzu8UBCIiOgeAy5DORkeptD5Y1uxV2KuxVD6hf2thavdXL8I0+8nsqjuTlGp1MMMDO&#xA;ZoByNNpp5piEBZK7yrp1zFDcajep6d9qLiR4j1jjUUjjPuB1zy7W6o58ssh6vp+j0scGKOMdE9zE&#xA;clYYYjMs5UGZFZFfuFcgsPpKjFV+KuxV2KoG71J47yDTrK1l1HVrr/eewtxVyP52J2RB3Y5OEDI0&#xA;ESkALKdRfl7+bE0Pr/V9Ita7/VZridpR7Fo42jr9OZY0MnGOrik09xq2lalHpXmPTn0q+m/3lcsJ&#xA;baen++pl2Lf5J3GY2TDKHNvhkjLkjcqZuxV2KuxV2KuxVCatp8eo6bc2Un2Z42QE9iR8LfQd8IVC&#xA;+V9QkvtFgeaouoa290p6iWI8Wr7mlc5XW4fDykdOYeg0uTjxgprmK5DsVdiqC1PRdL1OMJfWyTgb&#xA;KxFGX/VYUYfQcuxaieM3E015MMZ/ULSo+TvS/wB4NUvLYdo2cTRj5K4/jm+03tVrMWwlf4+IdLqP&#xA;ZvSZdzAfj3btf4f8yJ9jWkk9pLVR+KsP1Zs4e3WqHMA/L9TrZ+xmkPKx8/1vSvyYfV7S41DTdQu4&#xA;7pJUW5gEcfp8ChCSd2ry5r92Z2j7fnr5kTFGIcfP2JDRRHATUi9TzYuGknna8Np5V1KUGhaIxA/8&#xA;ZSI/+NszOz4cWeI87+W7hdo5OHBI+VfPZ4TnaPEOxV2KuxVAanq8FkUiVGuL2ba3tI93c/wX3Oa7&#xA;tDtPFpY3LeXQdf7HY9n9mZdVKo7R6np/aqaV5cuJLlNS1tlmu03t7Rd4YK+H8z/5Wee6/tHJqZXM&#xA;7dB0D6DoOz8emjwwG/U9SyLNe5zsVdirsVdirsVZL+TVtp1l5Z1rzle0Nzdz3Lzz05NFaWRKrEPY&#xA;cCxp128M2+jgBC3XaqRMqeff9Dd336br+gIv0HzoU9Vvrfp1pz5f3fKm/Hj7cu+S/Mb8l/Lbc93t&#xA;HnjTNL82/l5dv1ins/r+nXDCjRyLF6sMg7qfGnaoy3LESgWnHIxk8m0S7kvNHsrqT+8mhjd/9YqK&#xA;/jmiLt0bgV2KuxV2KuxV2KsfsP8Acf5rvbLpBqUYvYB29VfglA9zs2antbFcRPu2dl2dkomLIM0T&#xA;tnYq7FXYq7FXYqt8kao8v5r2MMbkWtjDJFcEdDNcoeKnxoFBzt/Zfs+Rx5M3cP0/2vJe0WujHJjx&#xA;dSf0f2PfM37qGG/mtcen5YWMH+/uY0I9grP/AMa5tuxo3mvuiXUdtyrDXfIPIM6p5J2KuxVK9Q1S&#xA;c3I0zS4xcam4qQf7uFD/ALslP8O+aPtbtmOmHDHfJ93v/U7zsnsaWpPFLbH9/u/Wm2ieX7fTQ8zu&#xA;bnUZt7i8cfE3so/ZX2Gee5s88sjKZsl9Aw4YY4iMBUQmuVNjsVdirsVdirsVdiqp5P8ANll5RuNR&#xA;0fX4y/lPWZHmjugpkS3lnHGaKcCp9KTsR0++mfpdQIjhlycTUYTLcc0vg/5xv/LC7vzqlt5q9TQS&#xA;/qC1jkgYBCa8PrPI7dqla+9d8yhiid72aDmkNq3ZR5+/MLSbvR5PJnkuRLl5ohZ3V9b/ABWlpace&#xA;Dqsg+F3KfCoX79sr1GpiI8IZYMBJssetbeK2toraEUihRY4x4KooP1ZqnYKuKuxV2KuxV2KuxVIP&#xA;Noa3istYQHlpk6vJTr6En7uUfcRlebF4kDHvDZiycExLuT9WVlDKaqRUEdCDnIEPSOxV2KuxV2Kp&#xA;JrXmWK0kNjYr9b1ZxRLdN1j/AMuVv2VGbbsvsjNq5iMRt+Pxbre0e08WlgZTP4/HRV8lWp0nUrCR&#xA;39W5N3HcXc3d5GkBc/LtntOk7NjptIcUf5pv30+QartKWp1Yyn+cK91vpDOWetYD+b7kaXYJXZp2&#xA;NPklP45vOwx65e50Xbp9ER5vLM6R5h2KpTeX95dXZ0vRwHu/+Pq6O8dup7t4v4LnOds9tjAPDx75&#xA;P9z+16PsbsQ5/wB5k2x/7r9ie6NotnpNsYYKvI55z3D7ySOerMc4GczI2dy95GIiKGwTDIpdirsV&#xA;dirsVdirsVdirTKrKVYAqRQg7gg4qlcnlXy3JJ6jabb8vZAB9woMNlUxgt7e3iEVvEkMS/ZjjUKo&#xA;+QFBgVUxV2KuxV2KuxV2KuxVRvLWK7tJrWXeOdGjf5MKHFUr8oXUs2ix285/0qwZrO4H+VCeI+9a&#xA;HOZ7QxcGU9x3d9o8nFjHlsnWYTlOxVSu5Zord5IYWuJVFVhUqpY+FWIAyUIgmiaDGRIGwtg175g1&#xA;W8umttWmfy/ak0WJUYPIP+YgjiPozsuw+ytDkleXJ+PuHxeW7Z7S1mONYsf4+8/BOtKsdMtbYDT1&#xA;T0n3MqHmXPiX35Z6totNhxQrEBw943v4vl2t1ObLO8pPF3Havgj0co6uOqkEV9t8yyLDiA0X0fnA&#xA;Pobzz84VP1XTGpsJJQT7kL/TN92H9Uvg6Dt4emHxeY50TzSUXN5d6jePpOktxkTa9vuqQKeoXxkP&#xA;Yf5jmO2u3BivHiPr6nu/b93ven7G7DOWsuUejoO/9n3+5kOk6RZaVZra2ikKDyd23d2PVnPcnOEJ&#xA;JNl7kCuSNwK7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FWP2/8AoHnC4g6QatCJ&#xA;4/D1oPhcD5oQxzV9q4rgJd36XY9n5KkY97IM0Dt3Yq7FVssUUqGOVFkRtmRgCD8wcIJBsIIB5pHc&#xA;eTNJMhmsWl02c7l7Vyin5xmqU+jNro+3NTpzcZH8fjq67Vdk6fOKnEIR7HzbY7qYdWhH/RvP/GM5&#xA;2Og9u5DbNG/x5fqeT1vsTA74jw/jz/W+o8z2l5Z+fWtJY6XpdtBxl1S6ncWtsT1UJ8cjU34ptXMj&#xA;D2l+VEiBciNnG1HZv5oxBNRB3eOfou+mHO71S6Mp+0IH9GMfJVGajL2tqZmzOXwNfc7TF2TpoChC&#xA;PxF/eifLEsmjanHoxb1LK9DyWzlQJFlQcmV2UDlVe5zXS33dgNmZ5BLsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirsVdirsVdirsVdiqQ+b0aGzt9WiBM2lzrOadTEx4Sr9Kn8Mhlx8cDHvDZjnwSEu&#xA;5PUdHRXQhkYBlYdCDuDnIEVs9IDbeBXYq7FXYqlmq64lpcQWFtGbrVbtgtvaKd/iNObn9lRmy7N7&#xA;MyaqfDEbODr9fj00OKRfRueiPEvmjzbrTeYvPWr6sW52tnIdN00VqoitzSR1/wCMklWrmn1OTimX&#xA;a6eHDFBZjt6Bv3EN/pNzWgjvI0Y+CygoT+OKs4yCpfqGv6Lp1ReXkcTj/ddeT/8AALVvwwgKlT+d&#xA;Y5NrDTbq6HaRlEMZ+TOa/hh4VUv8U+YftfoeML/Ibkcvv4Ux4VTDR/NFtf3H1KeF7K/pyFvKQQ4H&#xA;UxuNmpgIVOsCuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVSubeK5tpbeUVimRo3HirChxVKf&#xA;J9xK2kCznNbrTZGs5v8AnkaIfkUpnNdo4uDKe6W7vdFk4sY8tk7zBct2KuxVLfMGsjS7H1ET1buZ&#xA;hFZwd3kbp9A6nMzQaKepyjHHq4us1UcGMzkdgs8haCV8xWL3DfWNRu7mJ724PcBgzKvgqgbDPa9H&#xA;2Xj0OlkIj1cO5/HT73yDVdp5Ndqok/RxbD9Pve7+ctaGh+VNW1atHs7WWWL3kCn0x9L0Gc3klwxJ&#xA;eohG5APmfSLY2+mW0R+2EDOT15t8Tfic0RdyjMVUbu0gu7d7edeUbihHQ7bgj3BxVDNp17KgiutV&#xA;u5oVFBHzCAgdnKgFsVVLTStOtN7e3RG/npVv+CNTjarrrUbC0oLmdIidwrMAT9HXFV9td2t0nO3l&#xA;SVRsShBofemKqOqWH1u3+AmO6hPqWsw2ZJF3BB/XirJtA1JtT0a0vmHGSZP3gHQOpKvT/ZKciQqY&#xA;YFdirsVdirsVdirsVdirsVSW4uZ5PNtpaRyOsMFpLcTxgkKxkYRpyA2NKEiuHoqdYFdirsVdirsV&#xA;dirH4/8AQPOMidINYgEi+Hr2+zAfOM1zWdq4uLGJfzT97sOz8lTMe9kGc+7h2KuxVicb/pXzFc3z&#xA;b22nE2lkOxk/3dJ9/wAOeq+xHZYjA55Dfp+Pd95fNfbPtMmQwRO3X8e/7g9B/LGyNx5qilpVbWKS&#xA;U/SPTH4vnW9r5OHAR/OIH6Xlux8fFnB/mgn9H6U2/P3WY4vK9r5fRgbnXLqNHj/a+rW7CaV/kCqD&#xA;6c4jWTqFd73Glhcr7nlWap2bsVdirsVSLzN5h/R0Yt7cg3kgrXqEXxPv4YQEMFJuLmepLTTyH3Zm&#xA;J/HJIZ55W0aXTrR2n2nuCpdP5QtaD5775ElKd4Eqvki6SOyl0eT4bqwkclT+3HK5dZF9vipgkoZL&#xA;kVdirsVdirsVdirsVdirsVY/5ZP1291PWjvHdSiC0PYw2/w8h7M1ThKsgwK7FXYq7FXYq7FUi84R&#xA;OmnRalCKz6XMl0oHUoppIvyKHfI5MYnExPUM8c+GQPcncUscsSSxnlHIoZGHQhhUHOPIINF6QGxa&#xA;7AlxBIIBofHFWLQ+U9X0+L09M1UGIFmEFzCrAljU1kWjZ1+g9sNRp4iAA4B0/G/2vL672W0+okZm&#xA;+M9fxt9j1j8lNP1aO01K81SGFJWkSCGSByysqDkxAYBl+2OudTDts6/EJcPDRPxeeHY0dDkIEuKw&#xA;Pg8r1rXp/NPme/8AMUzcrcu1rpMf7MdpE5UEe8jAs2aPPk45O8w4+GNKWUtrsVdirsVSabypplxc&#xA;vcXDSzSSHk3JwB8vhA2HTDaKR1jpOnWI/wBFgWNj1fcsf9kanBaUXiqgl7bPdPapIGnjXk6jegrT&#xA;c9K+2KoXUZTp95aazGeJtnEdzT9qCQhWB+VajFWd5BXYq7FXYq7FXYq7FXYqx/zBqE93KNB0x/8A&#xA;TLgUu5l3FvAftMxHRmGyjJDvVOrO0gs7SK1gXjDCgRB7AU3yKq2KuxV2KuxV2KuxVZNDHNDJDKvK&#xA;ORSjqehVhQjFUl8nTSDTH06Y1uNLme0cnqVQ1jb5FCKZznaeLhyk9Jbu80OTix13bJ7mvcx2KuxA&#xA;V7P5Z0w6bodpasKShOc21Dzf4mB+VafRnpeh0/g4Yw7hv7+v2vB6vN4uWU+8/Z0fMWn2cumPd6Lc&#xA;KUutKuJbaZD1orko3yZdwe+a3JGiQ7KErFozIMnYqhrvUbK04ieUK7UCRirOxOwoq1Y4gKmen+W/&#xA;PWqIJNN8s3jxNusl0Y7NSPEeuykj6Mvjp5no0yzwHVHv+Xn5nojO+gwIiglna/gCgDqT7DJflJsf&#xA;zUGPWen+ctV1VtM0KyttTnibhcXFrK01rEf8u4okP/AuciMBJobszmAFnZDeadF1O0vxoqa3Hean&#xA;GaamthGVtbU/yG4Y85H/AMkKKdz1AGTGIbXZXHMy3qgrabplrp9uIYF3O8kh+07eLHKW1Q8yEDRL&#xA;uu9VAA9ywA/HCFZzCpWJFb7SqAfmBlar8VdirsVdiqBu9c0e0r9ZvYImXYq0i8q/6ta4aVLj5xs5&#xA;9tMtLrUmOwaGJljr7yScQMeFbWtD5u1McZXi0a2bqsR9e5I7jnsi/MYdlTTStHsdLtzDaIQXPKWV&#xA;zykkb+Z2O5OAlUbgV2KuxV2KuxV2KuxV2Ksfb/cf5xVukGswcD/zEW+4r84zTNd2pi4sfF/N+4ud&#xA;oMlTrvZBnOu6diqe+TNI/SWuwq4rBb/v5vAhD8I38WoPlm47E0ni5wT9MN/1fa6ztbU+HhIHOW36&#xA;3rud88cwXz7+U+l+aLoapa3L6TrqqEN7EodJVX7KzxEjnQbA1BHvQZj5tOJ79W/FnMNujwHUpfMG&#xA;l32q2c0dtdDSZ5beaeNmjDNCKswVq5qpw4TTsoS4hadeSfLmo+bL/wDR+oatB5dnKpKti8b/AF6a&#xA;GRQ6SQiUJGVdTsVJI8MuxafiO5pqy5+EbC3t/l7yH5E8j2rXsccUMyitxrN/IrTHxLTSUCV8FoM2&#xA;MMUIBwJ5JTQNx+aialM9n5I0ufzJdqeL3aD6vp8Td/UuZAASOtEBr2OA5r2iL+5Iw19RpSl/L/VN&#xA;cQ3v5h619ZtY/wB62iWLNa6ZGq7/AL1iRLNx68nYUweEZbzPw6J8QD6B+thPm/8AM5by3by15BRd&#xA;N0OCsVxq9ugiDDo0dmoAoPGT7vE42bUgemDkYtOT6pMNs7O2s4Fgt0CRr95Pck9zmA5qtiqBuIv0&#xA;hq9hpafEPUF1d+AhiNaH/XagxVnGQVK9R8z6Jp7+lPchrjoLeIGSSvhxWtPpyUYGRoCyiUhEWTQS&#xA;9/Mus3H/ABz9IdEPSa8cRf8AJMcmzb4OwdVk/h4R57ft+x1Oft3S4/4uI+W/7PtUmHm25/vtRhsx&#xA;3S1h5f8ADykn8M2+H2UP8cx8Bf6vudTm9qo/wQPxNfr+9Sfy5FP/AL3Xt3eg9UlmYJ9CpxzZ4vZv&#xA;TR58Uvef1U6zL7SamXLhj7h+u1Py9pel2HmO7sTaxFZolubJ3QMyhTwkQMwJ60NM5bt3RDT56jtC&#xA;QsPUdia06jBcjc4mizIAAUHTNK7h2KuxV2KuxV2KuxV2KuxV2KuxVJPN1tK+kG7gFbrTnW8g+cRq&#xA;w+lK4JQEgYnkWUZGJBHRNrS5iurWG5iNYp0WRD7MKjOPnAxkQeYekjISAI6quRZPWPI+hnTNHEkq&#xA;8bq8pLKDsVWnwIfkDX5nPQeyNF4GEX9Utz+r4PF9parxspr6RsP1/FkWbV17sVfL3mW2L+avN9o+&#xA;zS6lc1/1ZlUqfuOaXUfWXb4foD0r8v38l+fvKNloXmCyhuNa0GBLW4t5arOqxKEWaKVSsnGRQCSr&#xA;dfozPwmOSIB5hwsoljkSORZHa/k7+X8NwlxNp738kX90t9cT3SL8o5XZPvGWjBDuajnkj/M/nfyj&#xA;5MsUS+nSFwtLTTLZQ07+AjhWlB7mi++SnkjAbohjlM7PEfN3nTzJ51kKX4Om6ArVi0eJvilp0a6k&#xA;FOX+oNh881mbUme3R2GLTiHvSxESNAiKFRRRVAoAB4DMZyF2Koe/vYbK1e4l6L9lR1Zj0Ue5xVdp&#xA;lza6BbtPqPKbXtSIkayiHOUL+xEB+yqjqTkoY5ZJCMRZYZMkYRMpGgF8kfmDVzyv5zp1meljat+8&#xA;Yf8AFkv8FzqtB7ME+rMa/oj9JeV13tMB6cIv+keXwCMsNK0+wThaQJEO7AVY/Nj8R+k51en0eLCK&#xA;xxEfx383ldRrMuY3kkZfju5IrMlxnYq7FUp1pvql5pmqDYWtwI5j29Gf925Py2zmvafT8WAT6xP2&#xA;H9tPS+zGo4cxh0mPtH7LZbnAvduxV2KuxV2KuxV2KuxV2KuxV2KtMqspVhVSKEHoQcVSHymzWq3u&#xA;iyH4tNmIhr1NvL8cR/EjNB2rh4cnF/O+93PZ+S4cPc9E8keXjqmpCeda2VoQ0lRs79VTf7z7fPMn&#xA;sLQeLk8SX0Q+0/jdx+19Z4cOAfVL7nqudy8k7FXYq8D/ADj0KXQ/OR17j/uJ15Y45pv2YryFeADe&#xA;AkjUEHxBzWazFR4u92OkyWK7mHy2aPcRXcUstrewbwXls7RTJ/quu+YYkRycogHmmUnmPz3ND9Xl&#xA;806h6AFP3bJFJ/yNRQ/45cdRPvavAh3JZb6dawSvOFMlzJvJcysZJWPiXYk5SSS2gUicCXYqtkkS&#xA;NGeRgqKKsxNAAPHFWPQfpbXdTW4swILC2Y/V7mRagMNjIqH7T/y/y/PNv2d2Pl1O49MP536u91Pa&#xA;Pa+LTCj6p/zf19zKNN0ezsAzRgyXEm811KeUrnuWY53ei7OxaaNQG/f1Lwmu7Ry6mVzO3QdAjszn&#xA;AdirsVdirsVQGv2v1rRb2DqWiYqP8pRyX8RmF2jh8TTzj/RP2bhzezs3h6iEv6Q+3Yp1o939c0mz&#xA;uiamaGN2/wBYqK/jnlRfU0ZgV2KuxV2KuxV2KuxV2KuxV2KuxVL4NA1O8856ZLpsRkN4r2l9T7KR&#xA;gGRJX8ApBqfoG+2VZ9GdRHgHO/7W3FqhhPEeT37SNKttL0+Kztx8KD4npu7H7TH3OdDptPHDAQjy&#xA;Do8+aWWZlLmUZl7U7FXYqhdV0rTtW0+fTtSt0urK5XhNBIKqw/WCDuCNwcEogiikEg2HifmT8l/M&#xA;+iu83leQaxpYqV024cR3UQ/ljlb4JFH+VQ9t812XRnnFz8erH8TBrrURYT/VtWt7jSrrp6N7E8J2&#xA;8CRxI965hygRzDlRkDyVY72zlFYp43Hirqf1HIsm3urZBV5kUeLMAPxxVAvrsEjmHTo31C4/lhHw&#xA;D/WkPwgZkafSZcxqETIuPqNVjwi5yEQrweX7m8dZtakEig8o7CKoiX/XPVz+Gdd2d7Nxh6s3qP8A&#xA;N6fHv+73vI9o+0kp+nD6R/O6/Du+/wByfIiIioihUUUVQKAAdAAM6mMQBQ5PLykSbO5bwsXYq7FX&#xA;Yq7FXYq0QCCDuDsRgItINKXkdifLNojGrRGWJv8AYSso/DPIcseGRHc+u45cUQe9PcrZOxV2KuxV&#xA;2KuxV2KuxV2KuxVUtrae5nSCBDJNIeKIu5JOShAyNDmiUhEWXrPlTyzDotnV6PfTAG4l8P8AIX2H&#xA;4/dTd4MIxxrq6nLlMzae5c1OxV2KuxV2KuxVSubW1uoTDdQpPC32o5VDqfmGBGAi0g0x28/LD8vL&#xA;ti03l2w5E1JjgSIk+/pha9cgcMD0DMZZDqpwflR+W8EnqJ5dsiw7SRCRf+BfkMAww7lOafew3zn+&#xA;Xf6HDXujw/7i+skCDeD6B1T37d86vszXxkBjlUZdOgP7Xk+1OzpRJyRuUevUj9jC83To3Yq7FXYq&#xA;7FXYq7FXYq7FUN5LNNOu4v8AfN9cp7bPXb788n18eHPMd0pfe+raGXFgge+MfuZBmI5TsVdirsVd&#xA;irsVdirsVdiqraWlzd3EdtbRmWeU8URepOThAyNBjOYiLL1Tyn5Tg0aD1ZaSahIP3knUID+wn8T3&#xA;zc4MAxjzdXmzGZ8mQ5e0uxV2KuxV2KuxV2KuxV2KuxVxAIodweoxV535w/LRZS99oSBJDVpbHop9&#xA;4uw/1enh4ZvtD2tXpy/P9bz+v7Iv1Yvl+r9TzWWGWGVopUaOVDxdGBDAjsQc6GMgRY5POyiQaPNZ&#xA;hYuxV2KuxV2KuxV2KoXyeaDV4+66jK1PAMiH8c8t7WjWqyf1i+o9lG9Nj/qhkOa5z3Yq7FXYq7FX&#xA;Yq7FXYqmOi6DqOsXHpWkdVX+9mbZEB8T/Ab5fhwSyHbk1Zc0Ye96l5f8s6fosFIR6ly4pNcsPibv&#xA;Qfyr7frzb4sMYCg6zJlMzZTfLWt2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVI/Mfk/R9djrcJ6V0BRL&#xA;uOgceAb+YexzM0uuyYTtvHucLV6DHnG+0u95X5h8ja5opaR4/rNmNxdQglQP8teq/Tt750ul7Rx5&#xA;trqXcXmNV2blw71ce8MezPde7FXYq7FXYq7FUJ5V+G+1uPwulev+vEpzzHtsVq5+99M7FN6WHu/S&#xA;yLNU7R2KuxV2KuxV2Kr4YZp5VihRpZXNEjQFmJ9gMlGJkaCJSAFlmmgflzNLxn1hjFHsRaoRzP8A&#xA;rsNl+Q3+WbDDoes/k4OXV9Is+tLS2tLdLe2iWGFBRUUUH+375sAANg4RNquFXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYqxjXPy88vaoWlWM2V02/rQUAJ/yk+yfooffNjp+1MuPa+Ief63W6nsr&#xA;Dl3rhl5fqYHq/wCWPmKyLPahb+EdDF8L090b+BObrB2vin9XpPn+t0efsfND6fUPL9TFri1ubaQx&#xA;XMTwyjrHIpRh9Boc2cZiQsGw6ycJRNEUVLJMHYq7FUH5a+HWteQfZElu30tCCc817fFaufw/3IfS&#xA;ewTekh8f90WR5pnbuxV2KuxVG6fomraiQLK1kmBNOYFEB93NFH35dDBOXINU80I8yyzSvyymaj6p&#xA;cCNevowbt07uwoKewOZuPQD+IuLPWH+EM00zRdL0yMpY26xV+0/V2+bGrHM6EBEUBTiSkZGyjckx&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqldWdpdx+ldQRzxH9iVQ6/cwOThkl&#xA;E3E0WE8cZCpAEMevfy58p3RJFqbdz+1A7L/wp5L+GZ2PtXPHrfvcDJ2Tgl0r3JJc/k/YMT9W1GWI&#xA;dvURZP8AiJjzMh25LrEH7P1uHPsGH8MiPhf6kvl/KDUh/dahC/8Aroy/q5ZeO3IdYlx5dhT6SCX6&#xA;X+TnmWy1bU7pruzeC99AxAPKGBjQo3IenTwpvnLdqYzqM5yR2Brn7gHqOzJfl8EcctyL5eZtNh+W&#xA;Wu97i19/ik/5ozAGgl1LnHWDoETB+V10w/0i/jjP/FcZf9ZTJjs/+l9jD86e5MbX8stIQD6xczzM&#xA;Dvx4xqfoox/HLY6LGO8tZ1cz5J3Z+U/Ltmaw2MZb+aWsp27j1C1PozIhhhHkGmWSUuZTYCmw6ZYw&#xA;dirsVdirsVdirsVdirsVdirsVf/Z</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:OriginalDocumentID>uuid:65E6390686CF11DBA6E2D887CEACB407</xmpMM:OriginalDocumentID>
+ <xmpMM:DocumentID>xmp.did:AAFD4D716C05EF11A916FAD4CB59D3F6</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:a8cd6e00-15a5-43a6-9809-50c4d7e4d80f</xmpMM:InstanceID>
+ <xmpMM:DerivedFrom rdf:parseType="Resource">
+ <stRef:instanceID>uuid:02dc5f24-85b4-40be-bdfc-38989c0de5dd</stRef:instanceID>
+ <stRef:documentID>xmp.did:27205CC46305EF1186B9D67BF1058F23</stRef:documentID>
+ <stRef:originalDocumentID>uuid:65E6390686CF11DBA6E2D887CEACB407</stRef:originalDocumentID>
+ <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+ </xmpMM:DerivedFrom>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:27205CC46305EF1186B9D67BF1058F23</stEvt:instanceID>
+ <stEvt:when>2024-04-28T15:32:32+02:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS6 (Windows)</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:AAFD4D716C05EF11A916FAD4CB59D3F6</stEvt:instanceID>
+ <stEvt:when>2024-04-28T16:34:38+02:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS6 (Windows)</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
+ <illustrator:StartupProfile>Web</illustrator:StartupProfile>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>450.000000</stDim:w>
+ <stDim:h>450.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>Weiß</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>Schwarz</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Rot</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Gelb</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Grün</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Cyan</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Blau</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Magenta</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=193 G=39 B=45</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>193</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>45</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=28 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>28</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=241 G=90 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>241</xmpG:red>
+ <xmpG:green>90</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=247 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>247</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=251 G=176 B=59</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>251</xmpG:red>
+ <xmpG:green>176</xmpG:green>
+ <xmpG:blue>59</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=252 G=238 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>252</xmpG:red>
+ <xmpG:green>238</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=217 G=224 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>217</xmpG:red>
+ <xmpG:green>224</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=198 B=63</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>198</xmpG:green>
+ <xmpG:blue>63</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=57 G=181 B=74</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>57</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>74</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=146 B=69</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>146</xmpG:green>
+ <xmpG:blue>69</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=104 B=55</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>104</xmpG:green>
+ <xmpG:blue>55</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=34 G=181 B=115</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>34</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>115</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=169 B=157</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>157</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=41 G=171 B=226</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>41</xmpG:red>
+ <xmpG:green>171</xmpG:green>
+ <xmpG:blue>226</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=113 B=188</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>113</xmpG:green>
+ <xmpG:blue>188</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=46 G=49 B=146</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>46</xmpG:red>
+ <xmpG:green>49</xmpG:green>
+ <xmpG:blue>146</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=27 G=20 B=100</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>27</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>100</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=45 B=145</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>45</xmpG:green>
+ <xmpG:blue>145</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=147 G=39 B=143</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>147</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>143</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=158 G=0 B=93</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>158</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>93</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=212 G=20 B=90</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>212</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>90</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=30 B=121</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>30</xmpG:green>
+ <xmpG:blue>121</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=199 G=178 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>199</xmpG:red>
+ <xmpG:green>178</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=134 B=117</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>134</xmpG:green>
+ <xmpG:blue>117</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=115 G=99 B=87</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>115</xmpG:red>
+ <xmpG:green>99</xmpG:green>
+ <xmpG:blue>87</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=83 G=71 B=65</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>83</xmpG:red>
+ <xmpG:green>71</xmpG:green>
+ <xmpG:blue>65</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=198 G=156 B=109</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>198</xmpG:red>
+ <xmpG:green>156</xmpG:green>
+ <xmpG:blue>109</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=166 G=124 B=82</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>166</xmpG:red>
+ <xmpG:green>124</xmpG:green>
+ <xmpG:blue>82</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=98 B=57</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>98</xmpG:green>
+ <xmpG:blue>57</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=117 G=76 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>117</xmpG:red>
+ <xmpG:green>76</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=96 G=56 B=19</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>96</xmpG:red>
+ <xmpG:green>56</xmpG:green>
+ <xmpG:blue>19</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=66 G=33 B=11</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>66</xmpG:red>
+ <xmpG:green>33</xmpG:green>
+ <xmpG:blue>11</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Graustufen</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=0 B=0</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=26 G=26 B=26</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>26</xmpG:red>
+ <xmpG:green>26</xmpG:green>
+ <xmpG:blue>26</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=51 G=51 B=51</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>51</xmpG:red>
+ <xmpG:green>51</xmpG:green>
+ <xmpG:blue>51</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=77 G=77 B=77</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>77</xmpG:red>
+ <xmpG:green>77</xmpG:green>
+ <xmpG:blue>77</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=102 B=102</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>102</xmpG:green>
+ <xmpG:blue>102</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=128 G=128 B=128</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>128</xmpG:red>
+ <xmpG:green>128</xmpG:green>
+ <xmpG:blue>128</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=153 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>153</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=179 G=179 B=179</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>179</xmpG:red>
+ <xmpG:green>179</xmpG:green>
+ <xmpG:blue>179</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=204 G=204 B=204</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>204</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>204</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=230 G=230 B=230</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>230</xmpG:red>
+ <xmpG:green>230</xmpG:green>
+ <xmpG:blue>230</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=242 G=242 B=242</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>242</xmpG:red>
+ <xmpG:green>242</xmpG:green>
+ <xmpG:blue>242</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Webfarben</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=63 G=169 B=245</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>63</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>245</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=122 G=201 B=67</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>122</xmpG:red>
+ <xmpG:green>201</xmpG:green>
+ <xmpG:blue>67</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=29 B=37</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>29</xmpG:green>
+ <xmpG:blue>37</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=123 B=172</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>123</xmpG:green>
+ <xmpG:blue>172</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=189 G=204 B=212</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>189</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>212</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 10.01</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[11.7476 0.0 450.0 430.838]/BleedBox[0.0 0.0 450.0 450.0]/Contents 8 0 R/LastModified(D:20240428163440+02'00')/MediaBox[0.0 0.0 450.0 450.0]/Parent 3 0 R/PieceInfo<</Illustrator 9 0 R>>/Resources<</ExtGState<</GS0 10 0 R>>/Properties<</MC0 5 0 R>>>>/Thumb 11 0 R/TrimBox[0.0 0.0 450.0 450.0]/Type/Page>> endobj 8 0 obj <</Filter/FlateDecode/Length 2581>>stream
+HM u@[Ƭа GfVwI=/n4"3GovtK[m㧿㖎\ǖ w}H}lKVk;-=xC}fW>J;tKNGj+兠Iҁkq{IYC*דt?\nӭcx-VYenϿ?J.6֗N\}J]W^Kɩ]ԳQOg|芯e>k?_8+ݒ?„e}Nɶ}TߛSͳΜB tL#kά籖PQGZ9Zq̬z -Hh?Dt3wr11zlGC' 0hLd}A[iju길~‖i,_G=vԆG C[(t'fth G<rAN^Iw3G%]3
+aҶSP,Se{F b8UpmD~uk"ph2 RSXf3иr"TBH.X`ߪ€p x%! Dt8.0j[sdsqbw%Ku7[j.d
+S@w%K;]dϯ )ms0;#r}>׫L I-iT3+o'5LSKIrx^6H.7! .
+51w/c[l@֯P4,x<2
+l%ђ*ĺue-^>^gN7foJOY5GQx :~kp v0[{lmmeUbz<b߷4ѭ p,YM׫S2N F)2<O5*t׍NH)R[>Lɏl{'kN)I+֫~9([
+%VO1|͗4=+|u?H-ph@ޗIiFI=u׉~!c_֍%߿
+endstream endobj 11 0 obj <</BitsPerComponent 8/ColorSpace 12 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 56/Length 874/Width 56>>stream
+8;YQVZ$#@d$q6LSV%LYg$TqB,_*^bY#5M7/;gFFC"Kh7r&0sPu[W>?c4G^)knC-J$
+805gDGi<j\;uBq\&gQh<N1X\cm$p#j6C:FD+R9g2M"++Qq0e7S=`]tJ6i[n?.EpUm
+on^hEPgXaW@0u[W4F]bq@D2:dI=n_W&GcelQE2q<!\9_>gf"nr)H.C]rT-gUeA*%8
+H%%arT3fs)!D>1"MhPg<_0HP"h5hkqQ@)@?ZQ<]SZWa6$9]Zs[]_$YrH,ZO-0jUf$
+*0nh3[.CPKZm:7$99lYB"*ku(-(9%;/nV\Om!n)seQ$&m6:)PEdktU24O`g33[$5X
+U/kuVV7IS(llRsA;<>S<3kFH^la%OS!Q@gW_L.(+7o.1_0YdHt'jEh;F:h55]Q/n4
+@[Z(SB"50NV:(F[IIoC]o[?.9GJF/4I2m]:]rq^Emim$$d"I$@K]6o`I!\)=>)h@.
+2@kojb\Tr=4M(ei5F0#"\qkoMV_CGdNqm;;)*=!/6*2MW4te0W_Y'bf/Xo_t)`gK&
+raFVajJm^)9:^QgCYZ;KjEdYCT!f])@Tk]f>^,ZP=/mdEqT!]Z_]_+YJCOJ-'Kql/
+IFTK_L%MpIXZApaK\M"g*GlrNF;CTq,!8l-q,d5)T`a1h?-hJ/[AG=XM-Y5AO"%h&
+SQ!:IK\Gk":<HpmA6+HYT%#kl<D&ZS(BYYg@[N4XP#n,toeQ9[B?l,NEj42t53c<D
+UFJ]pA">cHn_dmJC[#dYXh+\#MV7h^bIAq!m7%6O:X9Ph9NO*3DVN+(-\m-Z=.J=I
+Rf/(:p;2C;+AMSVIj,iu'Z7:q+4S!nV"Q',?6/"((LNt\HXX]oZBM-t\dEkXAZC&S
+1UY%8rXT!nDI2l~>
+endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 10 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 9 0 obj <</LastModified(D:20240428163440+02'00')/Private 16 0 R>> endobj 16 0 obj <</AIMetaData 17 0 R/AIPDFPrivateData1 18 0 R/AIPDFPrivateData10 19 0 R/AIPDFPrivateData2 20 0 R/AIPDFPrivateData3 21 0 R/AIPDFPrivateData4 22 0 R/AIPDFPrivateData5 23 0 R/AIPDFPrivateData6 24 0 R/AIPDFPrivateData7 25 0 R/AIPDFPrivateData8 26 0 R/AIPDFPrivateData9 27 0 R/ContainerVersion 11/CreatorVersion 16/NumBlock 10/RoundtripVersion 16>> endobj 17 0 obj <</Length 1005>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 16.0
+%%AI8_CreatorVersion: 16.0.3
+%%For: (DCW Laptop 1) ()
+%%Title: (jason.ai)
+%%CreationDate: 4/28/2024 4:34 PM
+%%Canvassize: 16383
+%%BoundingBox: 230 -502 665 -73
+%%HiResBoundingBox: 230.7476 -501.166 664.166 -73.1621
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%AI5_FileFormat 12.0
+%AI12_BuildNumber: 691
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 219 -504 669 -54
+%AI3_TemplateBox: 480.5 -280.5 480.5 -280.5
+%AI3_TileBox: 158.3999 -687.8398 729.5996 129.8398
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI9_OpenToView: -382 173 1 1588 914 18 0 0 50 117 0 0 0 1 1 0 1 1 0 1
+%AI5_OpenViewLayers: 7
+%%PageOrigin:80 -580
+%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 18 0 obj <</Length 27925>>stream
+%%BoundingBox: 230 -502 665 -73
+%%HiResBoundingBox: 230.7476 -501.166 664.166 -73.1621
+%AI7_Thumbnail: 128 128 8
+%%BeginData: 27768 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD33FF76FD7EFF7D4A51FD7CFFA8757C7576FD7BFF7D4AA17C4A7D
+%FD7AFF4BA0A0A77C51A8FD05FFA9AFA9AF85AF85AF85AFA9AFAFFD66FF7D
+%51FD04A0754B7D855A6137373637373736373737363737373661618585AF
+%FD60FF7C75A1A0A1A0A1754B2F3D3761373D3761373D3761373D3761373D
+%373D373737616185A9FD5BFFA94AA0A0A07CA0A0A0754B2E373637363736
+%37363736373637363736373637363736373637368585FD56FF85613075A0
+%A1A0A7A0A0A0A7A0752E6137613761376137613761376137613761376137
+%6137613761373D3785AFFD50FFA9613637372F6FA1A0A07CA0A0A07CA775
+%4A2E3D3737363D3737363D3737363D3737363D3737363D3737363D373736
+%375BA9AFFD4BFFAF5B3D373D37612E99A0A7A0A1A0A1A0A0A07C4A752F61
+%373D3761373D3761373D3761373D3761373D3761373D3761373D373D3761
+%85FD48FF846136373637373D37524A754B75517C76A0A0A0514A754B2F3D
+%363736373637363736373637363736373637363736373637363736373637
+%3685FD44FFAF613D3761376137612F524A75749974754A7551A0A0764A75
+%755137613761376137613761376137613761376137613761376137613761
+%37613761376185FD40FFA9853737363D3737375A4B7498C1C0C1C0C1C0C1
+%98754A7C4B996E7575523737363D3737363D3737363D3737363D3737363D
+%3737363D3737363D3737363D37375AFD3EFF85613761373D376137594A98
+%C0C1C0C1C1C1C0C1C1C1C09F4A4B9EC14A7C4B5A373D3761373D3761373D
+%3761373D3761373D3761373D3761373D3761373D37613737378BFD3BFF5A
+%373637363736373759275227514A9898C19EC198C19EC1C0996EC1C0994A
+%75283D373736373637363736373637363736373637363736373637363736
+%3D373D373D37371561A9FD37FFAF373D376137613761376136613761375A
+%277598C1C0C1C1C1C0C1C1C1C0C1C19F4A4B363D37613761376137613761
+%3761376137613761376137613761375B35592E592E532E592F5B84FD35FF
+%853737363D3737363D3737363D3737363D37534A4B98C198C1C0C198C1C0
+%C198C1C09F4A51275228532F37373D3737363D3737363D3737363D373D36
+%362E514AFD09754A2E61FD33FF853761373D3761373D3761373D3761373D
+%37612F99764B9EC1C0C1C1C1C0C1C1C1C0C1C1C198C1989874754B533661
+%373D3761373D3761373D375B2E514A9FA0A0A0A7A0A1A0A7A0C975523737
+%5BFD30FFA961363736373637363736373637363736FD04372F4BA05175C0
+%C198C19EC198C19EC198C1C0C1BAC1C0C1BAC16E4B2F3D37373637363736
+%3D372F267575FD05A07CA0A0A07CA0754B363D363736AFFD2DFFAF613761
+%3761376137613761376137613761375A2E524B754A752699C0C1C1C1C0C1
+%C1C1C0C1C1C1C0C1C1C1C0C1C1C198752E6137613761376136524AA0A0A1
+%A0A7A0A0A0A7A0A0A0A7A0752F613761373D37AFFD2BFFA95B363D373736
+%3D3737363D3737363D37372E516E9898C19EC174754AC1C0C1C0C198C1C0
+%C198C1C0C198C1C0C198C1C0C1C0742E3D363D373D365175FD05A07CA0A0
+%A07CFD05A02737363D3737363737AFFD29FFAF6137613761373D3761373D
+%3761373D375A4B7498C1C1C1C0C1C1C1C0759EC1C0C1C1C1C0C1C1C1C0C1
+%C1C1C0C1C1C1C0C1C1C1C0742F3D3761364B75A7A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A77553373D3761373D373D37AFFD27FFA95B363736373637363736
+%373637363D372E4AC0C0C198C19EC198C19EC198C1C0C198C19EC198C19E
+%C198C19EC198C19EC198C19EC198513737365175A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0752F3D363736373637363736A9FD26FF6137613761376137
+%6137613761376137526EC1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C16E5A375375A7A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A04B613761376137613761373D37FD25FF613737363D
+%3737363D3737363D373737354AC1C0C1C0C198C1C0C198C1C0C198C1C0C1
+%98C1C0C198C1C0C198C1C0C198C1C0C198C1C0C1C0982F364AA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA17552373D3737363D3737363D373736FD23FF
+%853761373D3761373D3761373D3761373D27C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1985227
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A075363D3761373D3761373D37
+%61373737FD21FF853637363736373637363736373637363D2F74BAC19EC1
+%98C1C0C198C1C0C198C19EC198C19EC198C19EC198C19EC198C19EC198C1
+%9EC198C1C0C12675A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A027373737
+%3637363736373637363736375AFD1FFFAF37613761376137613761376137
+%613761375374C7C1C1C0C1C1C1C0C1989F74C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C1C1C0C1C1C19E517CA7A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A775593761376137613761376137613761373D85FD1EFF363737
+%37363D3737363D3737363D3737363D2798C0C1C0C198744B4B264B4A7598
+%C1C0C198C1C0C198C1C0C198C1C0C198C1C0C198C1C0C198C1C07451A1A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA07C51373D373736FD04373D3737373D
+%3737363785FD1CFF61373761373D3761373D3761373D3761373D3651C0C1
+%C0C16E522F594B9998C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1
+%C1C1C0C1C1C1C09F4BA0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0752759
+%2E5252524B5252522E5A36373761373D3761FD1BFF843736373637363736
+%37363736373637363737374AC1C0982635372F4AC1C0C198C19EC198C19E
+%C198C19EC198C19EC198C19EC198C19EC198C1C0C14A7CA0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A02675749898C098C0FD04986E754A51282F2F37
+%1485FD19FFAF613761376137613761376137613761376137613675C09827
+%613D5A4AC1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1
+%C1C0C1C1C14A7CA0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A74B75C1C1C0
+%C1C1C1C0C1C1C1C0C1C0C1989F74742E6137AFFD18FF61363D3737363D37
+%37363D3737363D3737363D37374A98273737372798C0C1C0C198C1C0C198
+%C1C0C198C1C0C198C1C0C198C1C0C198C1C0C1C0C14A75FD04A07CA0A0A0
+%7CA0A0A07CA0A0A07CA1754A98C1C0C198C1C0C198C1C0C198C1C0C1C0C1
+%4A36373737FD17FFAF373D3761373D3761373D3761373D3761373D376136
+%4B4A5B373D2F98C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C14A76A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A1764B98
+%C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C17452373D373D85FD16FF363736
+%373637363736373637363736373637363736372653373D364B98C19EC198
+%C19EC198C1C0C1C0C19EC198C1C0C198C1C0C198C1C0C198994A75FD04A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0764B6EC1C0C198C19EC198C19EC198C1
+%9EC198C1984B363D36373637A9FD14FF853D376137613761376137613761
+%37613761376137613752366137524AC1C1C1C0C1C1C1C0C1C1C1989FC1C1
+%C0C1C1C1C0C1C1C1C0C1C0C1747551A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0C97C4B74C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1982E613761
+%37613785FD13FFAF37363D3737363D3737363D3737363D3737363D373736
+%372F3737534A75C0C1C0C198C1C0C198754A4A98C1C0986E754A756E756E
+%744A754B7575A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0754B74C1C0
+%C1C0C198C1C0C198C1C0C198C1C0C1C0C14A36373D3737363D37AFFD12FF
+%85373D3761373D3761373D3761373D3761373D3761373D376137594A7574
+%C1C0C1C1C1C09F6E7551519EC174754B7675A07C7C757C76A07CA1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A7754B98C1C1C1C0C1C1C1C0C1C1
+%C1C0C1C1C1C0C1C1C19852373D3761373D373D61FD12FF36373637363736
+%373637363736373637363736373637363737364AA04B99C0C198C198744A
+%76A0A04AC14A5175A0A0A07CFD07A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A04A4B4AC1C0C19EC198C19EC198C19EC198C19EC198C1C0742F
+%3D3637363736373637A9FD10FF853D376137613761376137613761376137
+%6137613761376137614BA0A07598C1C0C1985175A7A0A776754A7CA0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A04A
+%76A07C4AC1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C14B613761376137
+%6137613785FD10FF61363D3737363D3737363D3737363D3737363D373736
+%3D373D2875A0A04B99C0C174517CFD05A0267CA0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C754A7CA0A0A0754AC1C0
+%C198C1C0C198C1C0C198C1C0C198C19852373D3737363D3737363D37AFFD
+%0EFFAF373D3761373D3761373D3761373D3761373D3761373D37613575A0
+%A7A07574C798517CA7A0A0A0A1A07CA0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A7A05151FD04A0A1A05174C1C1C1C0C1
+%C1C1C0C1C1C1C0C1C1C1C0982E3D3761373D3761373D373D85FD0EFF5A37
+%36373637363736373637363736373637363736373637365175A07CA05174
+%984B75A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA075A07CA0A0A07CA0764A98C19EC198C19EC1
+%98C19EC198C19EC16E2F373736373637363736373661AFFD0CFFAF613761
+%3761376137613761376137613761376137613761375975A7A0A7A07C7499
+%51A7A0A7A0A0A0A7A0A1A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A1A0A7A0A0A0A7A0A75199C1C1C0C1C1C1C0C1
+%C1C1C0C1C1C1C09F2E3D3761376137613761376137AFFD0CFF85143D3737
+%363D3737363D3737363D3737363D3737363D373727A0A0A07CA07C4B4AA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A04AC1C0C198C1C0C198C1
+%C0C198C1C0C19851363D363D3737363D373736375BFD0CFF61373761373D
+%3761373D3761373D3761373D3761373D37612F75A0A1A0A0A0A74B51A0A1
+%A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A07574C1C1C1C0C1C1C1C0C1
+%C1C1C0C1C1C17452363D3761373D3761373D3761AFFD0AFFA83736373637
+%363736373637363736373637363736373637375275A07CFD04A0754BA07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0756E98C19EC198C19EC198
+%C19EC198C1C0C1744B2E36373D37373637373714AFFD0AFFAF3761376137
+%613761376137613761376137613761376137614BA0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A7A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A14BC1C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C0984A522F5A3661373D373D61FD0AFF5A37373736
+%3D3737363D3737363D3737363D3737363D373D2E75A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07575517575A0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0756EC1C0C198C1C0
+%C198C1C0C198C1C0C198C1C0C198986E754A514B522752A9FD09FF613761
+%373D3761373D3761373D3761373D3761373D37613651A0A7A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1FD04A04B767CA17C754AFD04A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A77C759EC1C1C1C0C1
+%C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C0C1BAC198C098CFFD08FFAF3637
+%363736373637363736373637363736373637363D304B75A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0754AA8FD05FFA14AA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA04B98C0C19EC1
+%98C19EC198C19EC198C19EC198C19EC198C1C0C198C1C0C0A0FD08FF8537
+%37613761376137613761376137613761376137612F5175A7A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A04AFD08FFA84AA0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A07C6EC1C1C1C0C1C1
+%C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1BAA0FD08FF85373736
+%3D3737363D3737363D3737363D3737373D2E4A75A1A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA14B7DFFFFFFA77DFD04FF7C75A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA07C4B98C1C0C1
+%98C1C0C198C1C0C198C1C0C198C1C0C198C1C0C198C1C0984BFD08FF5B3D
+%373D3761373D3761373D3761373D376137372775A0A1A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A075A8FFCA5220264BFFFFFFA175
+%A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A75199
+%C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C17459AFFD
+%06FFAF373637363736373637363736373637363737362675FD04A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A04ACAFFA1F82620207D
+%FFFFA84AA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CFD04
+%A07C4AC198C19EC198C19EC198C19EC198C19EC198C19EC198C19EC1984B
+%36AFFD07FF37613761376137613761376137613761375A4AA0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A075A1FFA82620
+%2620A8FFFF7C75A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A07598C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1
+%C1C0982F3D85FD06FF8537363D3737363D3737363D3737363D372F4AA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A075
+%75FFFF7D4B4B7DFFFFA85175A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA15198C0C1C0C198C1C0C198C1C0C198C1C0C198
+%C1C0C198C1C09827373785FD06FFAF373D3761373D3761373D3761373D37
+%534AA0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A15176FD06FFA87675A1A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1FD04A06EC1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1
+%C1C0C1C1C1C0994B36373D61FD06FF603736373637363736373637363D37
+%524AA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A04A517CA8A8A8764B51A0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C5198C198C19EC198C19EC198
+%C19EC198C19EC198C19874273637373661FD06FF85376137613761376137
+%613761375275A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0C97C75517551757CC9A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0C97599C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C1C1C0C174512F61376137615BFD06FF5A37373736
+%3D3737363D373D365175FD05A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CFD04A07C4AC19EC1
+%C0C198C1C0C198C1C0C19EC198754A53363D373D37373661FD06FF853761
+%373D3761373D3761365175A7A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1
+%A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A07598C1C0C1C1C1C0C1C1C1C0C1C1C1744B27363761373D3761373D37FD
+%06FF5A37363736373637363D304B75A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A04B74C0C198C19EC198C19EC198C19EC174754A522F37373D
+%36373637FD06FF613761376137613761365175A7A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7FD04A04AC1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C198
+%994B522F61376137FD06FF5B37363D3737363D364B75A1A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07C7598C198C1C0C198C1C0C198C1C0
+%C198C1C0C1C0C198744A522F37FD06FF61373D3761373D2F5175A7A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A15199C1C1C0C1C1C1C0
+%C1C1C1C0C1C1C1C0C1C1C1C0C1C0C198754BFD06FF5A37373D373D2F4A75
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A07C4AC1C0
+%C198C19EC198C19EC198C19EC198C19EC198C1C0C1C0C1FD06FF85375B2F
+%592E4B75C9A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A1A07598C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C1C1FD06
+%FF61364B754A754A5175A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A05175C0C198C1C0C198C1C0C198C1C0C198C1C0C198C1C0
+%C1C0C1FD06FF844A7C76A075A05175A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A04AC1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1C0C1C19F4BFD06FF4A75757C7576757C4AA07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A05198C19EC198C19EC198C19E
+%C198C19EC198C19EC1C098265AFD05FF7D7576A076A075A0767576A7A0A0
+%A0A7A0A0A0A7A0A1A0A7A0A1A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A77599C1C1C0C1
+%C1C1C0C1C1C1C0C1C1C1C0C1C1C1C09F4B3661FD04FFA851757C757C757C
+%75A04B76FD04A07CFD04A0A1A0A07CA075A07CA1A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%4AC1C0C198C1C0C198C1C0C198C1C0C198C1C09E26363785FD04FFA74AA0
+%76A075A076A0757575A7A0A1A0A0A0A7A0A075754B514A754B7575A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1
+%A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A07598C1C1C1C0C1C1C1C0C1C1C1C0C1C1C1C0C14A36373D
+%85FD04FF5175757C7576757C757C4B75FD04A07C754B514A514B76757675
+%7C754B4AA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CFD07A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA05174C0C19EC198C19EC198C19EC198C19EC16E2F37
+%3736AFFD04FF7575A076A075A076A075A04B7C767C51754B7575A076A076
+%A075A076A0767575A7A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A1A0A0A0A1A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A04AC1C1C1C0C1C1C1C0C1C1C1C0
+%C1C1C1985137613761FD04FFA84A7C757C757C757C757C75764A514A7575
+%7C75A0757C757C757C757C757C754B75A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A04AA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A05198C1C0C198
+%C1C0C198C1C0C198C1C0742F3D373736FD04FF7C7576A075A076A075A076
+%A075A076A075A076A075A076A075A076A075A076A07575A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A77575A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A77575C0C1C1C1C0C1C1C1C0C1C1C1C0C14B3D37613785FD04FF764B7C75
+%76757C7576757C7576757C7576757C757C75754B4B4A757576757C75764A
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CFD04A07551A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA04AC198C19EC198C19EC198C19EC16E2F3737363785FD
+%04FF4BA076A075A076A075A076A075A076A075A076A075754A4B4A4B4AA0
+%75A076A07575A0A1A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A74BA0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A0A0A7A07598C1C1C1C0C1C1C1C0C1C1C1C075
+%363D376137AFFFFFFFA84B757C757C757C757C757C757C757C757C75A075
+%4B264B4A4A2675757C757C75764AA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07551A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA17574C0C1C0C198
+%C1C0C198C1C0C16E754B522F5BFD04FFA14BA075A076A075A076A075A076
+%A075A076A075754A4B4A4B4A5175A076A075A0767575A7A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%7551A7A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1FD04A0
+%4AC1C0C1C1C1C0C1C1C1C0C1C1C1C0C1987476FD04FF4A757576757C7576
+%757C7576757C7576757C7575204B264A2651757C757C7576757C754B75A0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA04A7C7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07C7574C198C19EC198C19EC198C1C0C198C1BAC9FFFFFF7C
+%757CA075A076A075A076A075A076A075A076764A4B4A4B4B7C76A075A076
+%A075A076A07575A0A1A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0C97575A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0C97575C0C1C1C1C0C1C1C1C0C1C1C1C0
+%C1C0C1CFFFFFA84B75A0757C757C757C757C757C757C757C75A051755176
+%757C757C757C757C757C757C757C4A7CA0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0754B76A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CFD05A04AC1C0C1C0C198C1
+%C0C198C1C0C198C0A0FFFFFF7C51A075A076A075A076A075A076A075A076
+%A075A076A075A076A075A076A075A0757C75A076754BA7A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A7A05175A7A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%7598C1C0C1C1C1C0C1C1C1C0C1C1C1BACAFFFFFF4A767576757C7576757C
+%7576757C7576757C7576757C7576757C7576757C757C7551517C757C754B
+%76A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07C514BA07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07574C0C198C19EC198C19EC198C1BAC1A8FFFFFF7576
+%A075A076A075A076A075A076A075A076A075A076A075A076A076A0757651
+%5151A075A076A04BFD04A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A1757575A7A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A14BC1C0C1C1C1C0C1C1C1C0C1C1C1
+%A0FD04FF4A7C757C757C757C757C757C757C757C75A07575757675755175
+%75754A754B4A4BA0757C757C755175A0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CFD07A076764A4B75A1A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CFD04A07574C198C1C0C198C1C0C198
+%C198CFFD04FF7651A076A075A076A075A076A075A075754A754B75517675
+%7C4B4A4BA8A77575A075A076A075A04BA0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A7A0A0757651514BA0A0A1A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A17575C1C1C0
+%C1C1C1C0C1C1C1C0C8FD05FF7D4A757C7576757C7576757C75754A5176A7
+%A8FD04FFCF76517DFFA84B4BA07576757C757C75517CA07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA075754B754A514B7C7CFD05A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A04A
+%C1C0C198C19EC198C1C0C0A7FD06FF765175A076A076A076A075514BA8FD
+%06FFA87C4BA1FFFFA14B75A076A075A076A0767651A1A0A7A0A0A0A7A0A0
+%A0A7A0A7FD04A075754B514A7C76A0A0C9A0A1A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%7674C1C0C1C1C1C0C1C1C19FFD08FF7C514A75517675754A757DFD06FFCA
+%765176FFFFFF764B757C757C757C757C757C4A75A0A07CFD07A0759F7575
+%4A522E2F2F373651A0A1A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07575C0C1
+%98C1C0C198C198CAFD0AFF7D4A754A4A51CAFD06FFA8764BA1FD04FF764B
+%75A076A075A076A075A0755176A7A0A0A0A7A0A075754B512E5935373761
+%373D37612EA0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A04AC1C1C1C0C1
+%C1C1C0C8FD0BFF7D757575517676FFFFFFA8A14B757DFD04FFA84B51757C
+%757C7576757C757675754BA07CA0A0A075754A512E363637373D37373637
+%3637372F4AA07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0756EC19EC198C1
+%C0C0A7FD0BFFA84BA04AA8FF7C517C757676CAFD05FFA74A757CA075A076
+%A075A076A0767C4AA0A0A7A0A06F512E5A37613761376137613761376137
+%613651A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A17C75C1C1C0C1C1C1A0
+%FD0CFF7D75767576FFFFFFA8CACAFD05FFA87C4A75757C757C757C757C75
+%7C757C4A76A0A07575272F363D3737363D3737363D3737363D3737363D27
+%75FD04A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A04A99C0C198C19FFD0DFFA74A
+%A07551A8FD09FFA7514AA076A075A076A075A076A075A05175A0A075512F
+%61373D3761373D3761373D3761373D3761373D375975A1A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A1A0A0A0A1A0A0A0A1A0766EC1C1C1BACAFD0DFFA15175A0514BA7FD06FF
+%A8514B517C757C7576757C7576757C757C514B7C754A52363D3637363736
+%3736373637363736373637363736373051A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA07C4B98C1BAC2AFFD0EFF4BA076A075517CA8A8CA7D764A7576
+%A075A076A075A076A075A076A0FD0475275A376137613761376137613761
+%3761376137613761376137614BA0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A75199C0C1CAFD0FFF764BA0757C75754A514A755176757C757C757C75
+%7C757C757C757C75514A512E37373D3737363D3737363D3737363D373736
+%3D3737363D3737375275A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A07C4A
+%C1A7FD10FFA74B75A076A075A075A075A076A075A076A075A076A075A076
+%A076754A523661373D3761373D3761373D3761373D3761373D3761373D37
+%61373D2E75A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A075A0FD12FF76
+%4A757C7576757C7576757C7576757C7576757C7576757C75752653373736
+%3736373637363736373637363736373637363736373637363737354AA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA07CFD14FF765175A075A076A075
+%A076A075A076A075A076A075A075754B5A37613761376137613761376137
+%61376137613761376137613761376137613675A0A1A0A7A0A0A0A7A0A0A0
+%A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7FD05A0FD16FF7C4B4A7575A0757C757C757C757C757C75A075764A
+%4B2E37373D3737363D3737363D3737363D3737363D3737363D3737363D37
+%37363D37374AA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CFD18FFA87C4B
+%5175A076A075A076A075A076A075754A523661373D3761373D3761373D37
+%61373D3761373D3761373D3761373D3761373D37613751A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0
+%A1A0A0A0A1FD05A0CFFD1BFF7C764A514A754B7551754A754A4B27363737
+%363736373637363736373637363736373637363736373637363736373637
+%3637363727A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A076A8FD1FFFA8A17C7C76
+%7C757C7C5A36613761376137613761376137613761376137613761376137
+%61376137613761376137613761375275A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0
+%CFFD29FFAF61363D3737363D3737363D3737363D3737363D3737363D3737
+%363D3737363D3737363D3737363D2E75FD04A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA07CA8FD
+%2BFFAF613761373D3761373D3761373D3761373D3761373D3761373D3761
+%373D3761373D3761373D375375A1A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0
+%A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A07CCFFD2DFFAF
+%611437363736373637363736373637363736373637363736373637363736
+%3736373637363D2E75A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA07CA8FD30FF85373D376137
+%613761376137613761376137613761376137613761376137613761376137
+%5975A7A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0
+%A0A0A7A0A0A0A7FD04A0A1FD33FF853737363D3737363D3737363D373736
+%3D3737363D3737363D3737363D3737363D373D2F75A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A0A1
+%FD35FFAF37373761373D3761373D3761373D3761373D3761373D3761373D
+%3761373D3761375975A7A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1
+%A0A0A0A1A0A0A0A1A0A0A0A1FD04A0A8FD38FF5B37363736373637363736
+%37363736373637363736373637363736373637363D2F75FD04A07CA0A0A0
+%7CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA07BA1A8FD
+%3AFF85613761376137613761376137613761376137613761376137613761
+%3761375A75A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7
+%A0A0A0A7FD05A0A8FD3DFFA9853737363D3737363D3737363D3737363D37
+%37363D3737363D3737363D2F75FD04A07CA0A0A07CA0A0A07CA0A0A07CA0
+%A0A07CA0A0A07CA0A0A07CA0A0A07CFD41FFAF61373761373D3761373D37
+%61373D3761373D3761373D3761373D375A51A0A0A1A0A0A0A1A0A0A0A1A0
+%A0A0A1A0A0A0A1A0A0A0A1A0A0A0A1A0A0A0A7A8FD44FF85611437363736
+%373637363736373637363736373637363736372F75A0A07CA0A0A07CA0A0
+%A07CA0A0A07CA0A0A07CA0A0A07CA0A0A07CA07CA8A8FD47FFAF613D3761
+%376137613761376137613761376137613761375A51A0A0A7A0A0A0A7A0A0
+%A0A7A0A0A0A7A0A0A0A7A0A0A0A7A0A0A0A7A7FD4CFFA96136373737363D
+%3737363D3737363D3737363D37373651A0A07CA0A0A07CA0A0A07CA0A0A0
+%7CA0A0A07CA0A0A07BA0A0A8A8FD50FF856137373761373D3761373D3761
+%373D376137374BFD04A0A1A0A0A0A1A0A0A0A1A0A0A0A1FD05A0A7A8FD54
+%FFA9AF6161363736373637363736373637363D36517CA0A0A07CA0A0A07C
+%A0A0A07CA0A0A075A07CA7A8FD5CFF8585376137373761373D376137374B
+%FD04A0A7A0A0A0A1FD05A0A1A1CAA8FD62FFA9AF8561366137373637364B
+%75A07CA076A07CA07CA17DA7A7FD6EFFAFAF85AF7DCAA7CAA8CAA8FFA8FD
+%B5FFFF
+%%EndData
+
+endstream endobj 19 0 obj <</Filter[/FlateDecode]/Length 1592>>stream
+Hj^Gxi$hEqllN*WWpTnyG 4ˋ'߱oPR7jiؖߤWS(#Xꖭ9d_](2ʖK =bS(ގ<^d#V0 eD3?6BCNպ=.Ob."kr+6RCrUaL#=%بk(͹+cviZ̺KB7Q0%#IG
+6e $Hӷ1Hu\:KG6zfRM:մzsyaCJJCzK<*y?ljia?w)YCOy‹DVRtK:'s(nOPraL~ŐD26G*.W'P!Sem fs?/+`sFл 创' {R#o3{JZ cz
+AW[Gu韑kgQ+:MyBHjw\]1m/M|ǚ=gAx]y>EkɋNO
+싁ɓZC>9>r./7NjG_í?Zh<RH'iҖإz$4[ڑi5fZp8 Oˡ8X\05l6"V>ٟOk%@a&ԘU"pN7Aus0c5ȯfqAĤ
+%)`ր1ژS_AVI}ʳ & )iH7\7@N+צEjL.8\mIvhhI k~ȹfg̜
+endstream endobj 20 0 obj <</Filter[/FlateDecode]/Length 17764>>stream
+HW]oܸ}7><+DERYqb,ma(֮, 4d_+JCa[[I%y%᳿\^u:e+;>z,r3^{My͉+R|Wۺkۊi<K^x|y[Moۮ]%LdoP!U)ۏv[L?LP7۵뺽g^|4C/#4
+?oaU“T VA:MPiu7.nӮ홗~.[ŗG4'O7ohΣn*L $? ֻYݿX]՟07O߼XK8BoUrm+i1MoMoOWpYH0UƴbbKB1aIolu{յuꇫH}OovM;9[W ZMMI!owns/e2כ}۽2zA`3 !B'A2wִcL%}׷u{&L
+R{&οx1ai‰uqezu"`*tncB/e_ѫ񛸾lvvCw||-0ƯX)7'iU~Ʒ?%im9|ֻ_ct+۵soeSeч׮wU_6#pÓz
+
+p 0E\Ą0`JsTy7
+X,(!N/0r9[%w)A!(bi@.$y93~#?q9j̢5#3(c
+%HE&rQHX -LrX
+2e@3$\E*VJ*JU
+_
+9I*BbYHR9")5#qG!ENTȍB&Ȓ%C
+DgiU)0Fdٖ#Ⱦ>3q)rBnI,![3d
+Wpʼnv%C` j%(G0_-Itod#]3Y",.xqǜ&%8,4EIvyd7n*ljU q&;.W>AxyKPweҬ%ZsGf.+nl7[l4<|L:KN^?}Xj*3YWY)Uό얶N/5mfMb@S̓w=I6u@7q32#mf02;nڙ5獵\(,w/Sm?;3$_2_-xq]H fVG܇;Ix-Bx5=>p SΣ%ٚZ(0g?IjF P2@΁5 Rj4DdBIgBI )NPaZ!)')-R^ )1RfL?
+4qrxK/-s I)Rr$%IL ,YN|9
+'yFS zù!#)7ȑ3%Bx2t
+)Bc("S"Jf)@F\K[B-{G< Ӕ3Á%P02P
+w(EZzQ~ҭ => Ga`$rAmL8qocƶ´c]Vmlž k.lscNJ+6\8pz[3^ la5mk]Sy}5ٸxEe{> ~?4(::!#?>><}G+:$} r1;our.egz`jq8ԋ!5*u^U*XG9q^D_LC{մGc{łyLyLLVP1sAT W*!>lM;
+'.^զ__EuS:=ח?׷v7z~ЎP̳ *q%`3Sn<G֙T)p%`m2D԰|zTEI2I4I.=~!
+4SM+xG$Hqjgpk;th$jVNcMWv⹪WX8 ;ۀ\9P$x2)xhx7H4{?Azۋ(.@
+rȎ !<EAΐaz_p\$KW @YvNyv]y:rt\<7-c[cF>-4/->edx}r:w29?Q@?ytEwѦΜ)Gt^Lƴr<kǺ{tEkl~LDlL4
+1I3`QC*^6rϯ߲|S/Љl۷v. l/WBv|ޮfQE4fնhlɾ"'/6>ne3yj-=zkoj7Zf?b'6XW c?We?G,?M ?Y~c{ӿYfO`15?9&f{z>ngߢ.}<}GSX:_mxY>'Ϸc_>IS̴lx?-PxcbXk>5<
+Ibb q8&D8֞ A[f*LkB;"͍4ail8,M"I$$t-Rًe/U0ىYqb+VV  $b!K%C,&Wc& /^HM'^:̣(%d9uֈ P=ǣģ^h
+<Sх"Ji s>4mpoaFp"U4O`*NP\mzUU;TMN0wo.FgK'ͥ-t&z\_X{\XCkU7:gƓ{
+<7PV }ڸA o@T({ 6+lT4
+ק a{4#wH+D,O`cvp.頎
+YGɁRu
+{iK#s-;%8k|Dj?Yf\>~~}y^~}}k;|ϿLJeҗpÂ9ւ{H꣋誋 i?ޜ9t?ܛ&$,Rԙ936v{[=w,*Y1]&|Y[N||){GT qߗ/_erǞ8=sdaee$.1ja*`٤#$% H_S*/d&iI"3IO )Svuz $* E舞O4E%kg`dXZ:7Kht%>)RdM{CcH_Z0dSƜQwۡЭŌеhT~A )[ΰ^v} P_fHh0cH|eɚ#+y#wќXe
+v
+/ZR`xU \o0唲ɓGg$c+`Ykgj֒FE+ƀ -*F&{u=iIL_-}7B"~08Rr@O.va{haͺN{OK/CL}qv]
+dEAAh* `2##0h@B2du;ID ԐIsfK g@fL#Z
+l$N)Zl;((ָkcxqsӾ7s \8 I`!I#//XE2B(\h9~Yb*Q*J*'?cѥĕPַ/-YkYZUZaH}:&>VU)#VZ<43/G]}i4SoH%
+/K18CUSA Њe }FinjPM;.Rvt>`:xKzFU=Wo |3h*1 nMF/Hwdo o=yGabM.;Qǁlk0e#VH331œaakݣQݬrVVsՊ6{A:0gUZL=wt_tY g!'@O *{N<NJ|:ќbOW)> f7Ч¹B EDfRx1P9pÛφA{:FF_t
+RHqĖ/FH/.r/b/B[;5ؘP ǸAl9C9MWo`s<B1]/ChAr]vQ0bDZ-'4kTƜFrـcy-" NQ,y)sj
+]2$z0 K
+U/E S$%s{=SDӴjI2zIƬu{Sc+iP=Uń]@B^F8A,o@:0\C 0M׍í7_#x(=deEM#Ӗ$HEL}l઱5׿UՔHwsYUUӕ*}PeedCW}YLc2)J#@Qg=9|[fv.>ѨSIg3+hr}vxo18ޘ8
+x?Ҍ;Em8Cc -AB>8ҼYwj:S-JHZ܊lXFSUu ՚rnlO^+U
+ Dz(j萇퓗(*ܨ!jE/LOV~
+bUda.A<@y'Ф$hT'g1N0 x,h^oR߂ۮ[ܭ7_#͘e۶50q[uY'~-۲YyûPI=A@:rPSx'7`2N`ED8f`ԂBѓzy#Wt =}
++:h5C[;d]#/ 9K$r㏃gv:E^VVI]yd*h-@sRp
+NzN@O
+`*ig
+RϩK &FE+<Iy%]ǫHy3o}y
+&pCKZLZ( 38/aihmi)ZimW7{Ьm&FHjsY[v|Yi"3hBO
+
+r1 qK9`6i]=2<L-}Ej/R1OE5cJY$(5<\̀n}o-zNSp 'QQ9fvgnpm? m?l XK[o+4|$8̩G=m)zzLVVXѲ--+/n
+u&2mBnsx>'("Snb^ 傧BLo h| ofM0J^LmҮNډho00/!32ݲt::H6'uӵͮچC(/T+&K]kVI^ige:r]I8q~(YcEywzc1:GU[@F}&ʬs%?ApBr:SiUԺRcodۙnT҂ beաOѝjB'*1E?.7/$a1 bevfF"ۙY*lgf,2k؝h꾸
+p#tEA?2Fޗ㾌Eﳸߤ?0~B2J!A뿎} aƝ5t?m?7܈aW41!6(CхET %(:PT <?*|N
+ph@U"F,
+cɤ4Ą,IjiSҦu,ٜ&߿|Fh|`2/0*dh]MU!
+CQ 7ՂI՟E鉶rf+}ƫk4qtt6Ƌuެf:ٌ I-'uw尸'y~Qk<2>gsA )2`2ǁ73-ŴK,!#'Np([QTjw]z`@l$$<@Du;K
+%<Ks0՗q0-q\nޙR^Rk(ыNU-S9'ES+A 40َ\;yiXd+(r6M`y9QWh؂uA;ֆ_)I͋.1-R14iCۼn>X{}G$]k*Ը9O$F%yh lW1%2հEŢ8YФJ,Zި{V͟U]{Uv/TbZ3힡Fؿz2uŰ5R`JAĀZye5j7"*MA_AL}ux0y+KpfA=x7+NO'j=٨ JFc\d8-;ۏ2X31a4*Nب
+/T?Z,*} D I|_!i&eU2b_X$FF M{I8yᔰ?b/7jaJ,k@KjN͖pT&l5JVLoE"/+&`8tlz$Nw'wۨ_K. bzW[<jZrtO
+=?0p"mT+QJUJ*\ڨ$
+.pj} cQ)2lfS6ʘ%)]P+*]BVaOl%eR&&-qSeHzN11ѿ1,)аU%MP"KJ40Ŗ]14ۇ yiQbBfF֔2:Ť:&
+;stL1Kk8OFUCr.R"'WbP9)z<4k+Y3G#ܮ#Ynio@aO`P| Y”дU)[ADRz~drΉ8C
+5b7s438@tq;1h!d"T
+R) -1GtŁIP&W{0G&>2C&yvjYZWuL[`$fpӲ
+3pcbU X - 0摭t7Ko, t'+ -  {GEBNc6*Ni}+.Fג<.ʯ{m~䪶X?RgPQi~`p{Tk$n-ɇ}΃VF%Wi8JV9W,GW:}h=sk)O<
+nE<ټ )([NauDܬV50wjFkռsθEyբT
+L!:Tg-AKx]^`jqi"V), ;?QE#a~
+Oy@}H<8UlF44  &aeSyC6شgX_ (CO}XSt2yM[SӾd#5Ύ[p8ɊMeDb}]fT<!igmJ ö
+r*i0+杗]^?qG7]đp*QE݅*
+Ş~?)8rl@cvy*oFNtke"#>" {ﴚp]J+6̜U$к5/p]/]UQGY'0f?,VRUj  ̱s Gdd;Bt谌vkzrv#Ya
+Z~fAհR굚3Oǩ2KIz8[.rpSQ"̕[]IBN3|D4,Jj൬Ԟhyoguk^rGaj7 ֲy}#$ZD(h՟6ꐳ4:rGO!<l#Exc)}&-u,iH0D-u̦>c؁J9L
+ ъL`&eCڵd\(B
+4qI=i$ݪN%$[=ZaBlQ6{"F
+
+y26΋Ǜh<wQPBi06.S 9ʃ,+vHBHf<R{*1{?(Bbg'iQl@EIy]E>!]N`vMa3f:ؠ-*eAH`Q+>ҡ nV4O:Zq)8]LNdH(s*1՜]2ϦD`bhehPAJ3" 4 +|GYY&exTߕD
+gEp`Eڡ+04
+fY t7E}g Bjʗt`P_qHc#H?&0V0.bf )JODiߊn62@viIkj"6} -62W9*"Bdɲ-6RzZH7=N\}aF*>׶-7^\>[uuG t\k/EzNЋ0hb_!i9xZ'O2;XHX4Ǒ06Λe+Ow(TYKwMQ- mP@K,kr)J6{0樢3tXw6-c$lZd'L 4 @Y:Zv*[8*7ՒP¶DwXP,<R}(3r Nk(1&Z%* Xf71 zƈm(`$2E\+how5mEuzdC%b $
+ %'*%3 a 1&9WjvA>G\sp)Z}ԑMSk!FZ8bfu{#{>j5=yZxAdT>vs%BJ崱Q /4N m\ǫUU4j`IO F]3ޛ7:Oc}ghÏ2Nэ'iRem<eǍ'ˍgv$f{AdC-,e<ȗ󤝔ß"he4i/i
+endstream endobj 21 0 obj <</Filter[/FlateDecode]/Length 25827>>stream
+H s~N6qCK_388Wt/w%b1^޷G_˿|LOMا;ʓB|[f&6ΦpO)y`+Z2 1k!7hѕF֩cze'vS2O]f]O8ܬ=jT=I_NI%*V C<pXkOg5H|\ V?r/ģml#ԹuiUAƢ{zN:u!sr,Wz`#~${bY"Ash)zS`}G}D6N\SyXlU%s鯀y2?' Bj<~X3so'r,ͥ
+MۥCH3ӂOOhaLdF}|iD[)Cx3nWݓ*U^pR-ѵ.ȄGaHMIΉuq?h!Aʓ=WBxrqB`WmJ,~\#rUTTx+k*hV8>ex-`5GBEp[3s7x$7b xNۦT~;FO zPȄ?̙v OsS G΍ !oN^߶ޯNjwz =)Tt1TtEI{r2DWo#yW };8E@[g3 ?.@;ZZ%F}BF3'О[;] 6#h5u;>X@bGOF D"Loj8dfS9n؃E1 *ޖC[/Ue"nMm%W;l*db\ϧ <x>FD &` g{UdԵ6rFN1CJ\ X( (xAJ֝ Ÿ8f"U )Xr<dLOQzZJP
+ ]RKh(b]$-2WYHK˷y6Lk3E{&27n6~/ۻeu7l=%*^iQZO%d$!ͧI9\ )ސ<uopާ.dn]
+]8<=='$@K nX}jSSՃ:6$r SC K1YlcTJYgOXUR5OPbwoE#$G'IA 8٨a!ہQtbueBs놃nc}Dӽp_a(%A.F{u`~CBEP׈r%br.^H@el#ԭ)&\cj:tcvn-;Z>.Z P] H3Et%z
+feY-N*ZHyZ:s3[ZT.KJ#2Um/ocrQl#"z=+U)GDBJފ(G?
+He˽
+IRg5Ґ
+Gb{kFAe#&l+iK31ސRUkڣ^[U (5΀lab pxO]0rRgT*&g(_P|SS QfJf8/DccKkh), KK)+S_Ίb(%\ZL^ZͻMi!ӂ-{P՝+$btO3ީԉewDSRm
+
+,,m<1vyJ weS'29`+,cw)} ѩYB-La4(Ҥ(gvY![Y̹0KL C7l\oA[oM㮅 Y[?3y3<7[؍SThsk\Wle!S{BΐEWU?*9jẓ,#ڧ*h$Fߩ AKuݵǵj;`(5SA87R1e@h:Β\sOJ>D%
+`2VMŻD9^@2
+d=9a"ZQ `!D2|NI::bI:|KRR4xsC4 &* YÔ+Ϩp!Li<l;G v`AA'EĮd- SZ^9@OA g+]-v#_-7g3'Ƹ^uuF@>&AasIONN40@Q|֒ Ys8j6 3sUUxN鞗<PqI rj&Ca^7|:<yٚ:P=׶16~\6سmYIw
+gB"3A #URQ!+S,s{chPaYWbeƥ6z`B7C'Y)oHDP5a<=NrZ!1;SD( L&_ b\ Q`{ƘR-Yэu3a$MDDUZ*5TD9j(bDKX<GGxQIΘ!4FY:]9Q-0}3DV[?0Us>o*[-<[h)} 2BK.m C @bWI7D u#tqe&^Bp>1 ׁ\8RnP)6Y2cĬ/ V&G\3D 414T7>[ƢMNjf.QR rS(/]`rI Z bMMk m:["Mc׋s BwW6mC4h}As[a Sgj1AdNOCU&N- ;Il%`~7
+nU'Pab L2|k=BeRE~ߚHcyE`L+P_m(DMfv
+ZKo
+giw6s|W(̭^W2#a|ImY*ĐO  ͟²e#ah߇>_!0 *+qAOLB&߶>
+*NښZd ֥"F<46[h}x4P 2 s YWS%/
+KGB3(ax9[Fn- dԝNBWn|DBKˌ4
+N ֍.͏NCq]C<.w0Fap'mlODsC Ԓq3DVi HF&BKsУ%"G.Zф
+ae:oj*C6[;0nimh<u_Bj
+dCIf]dLwHQ:U zXY3vٽxoCcՉ"5tLy~3[DgDI :x(Aʭ8*hw &pIH0wIjN
+ΰIv3˘mT5wѦ϶2VBe~]Χ*˶ndE0ƷlӘ8V3'ʹ#J4 y%iʉZXq20PΓ @Vq w,rA h3sߣIHce2SY`
+˃MBC
+eich
+qY׀giGڼ{˓zo ivk~o8H</rx[?9xǶgn.W ٓ7FP*}.vDT>tk_Lxs}?>xf8կI()zˉp|v{o!<gf<<?^)7ǟ};J%J6WSȏob/vo/o`uv?쓾Aq9h']߁-[FſW؟.NY*_}2DH&Wh\˵E=4M̝xǙ ?Da@
+ ;z E0n
+!Al_@lS=͕env';(Nw~xWG>5m#=}q]w: -N}?Q&_-Wi ߦUs\R+{WiEqR{j>QABY˯RFBe
+Ph M;FCK
+]K5OMUXJlqUS:}
+OrËRd򼕞"ktzǂ %ZnH$P. bNI#="tB[i49cQ
+((*o@c8f
+^?wHoEDcF3:|1Gai}$M< e{(QmvS'P}-(1'^U_?{(f NE_޷ q3-Jc v?P4VkgԗDB1QB& ܦעNL;EmV;]#ud{=K 2pu?{I'EhpG:nLm0y`:u┷5w{HЊiF'%ZM5]pOsOj?wǝ4UU㌣&NJ=ZH߳NGp=O9BiA}4Y|o :A@yeEa<6~
++u(VP(vd3&:T
+PI)waFT x*&#ё1NZdȨH~"w <q*^FtTص4+ܯ
+蘼wݡfXAhpwiʽ[kf62\ Oe0e9ȝSrwMfAH9XS?
+(]%o$ڽ|+ DP#1hTMw2)9 *q;PuW_t1RۻQuVm[^/1Gm._@Ab+Sܼ3"IOe}S'SjfL*s#eTZu3y^.2_8|ﺶ2Œ ~Z:)xa}/H4²8U=w(/IxK,.5 {VXhB9aw\q߅C) w
+ Z (<h0Q:EMciuY+.(}g״DH]H{z<NJ}ٺs 虬Mi9C]?;XAyY{Bj$XH}k Ҧ(skgC0( +xYjnM,4gɊ-߁_LmMeKO5I*x' ^ BS1tHyg/uanDI67êB5RfB-yN_$!XmG=h<@
++U+?
+5T" Q[`I|缍tԻ+*0w\ќ>T= ^[K7iįޥeMj"%wF5@~hF2SaB"K3$mZ>| ZRVѻRvBjg-n
+n85E=!ϱ5d+VZ<W}#Ҁ]ެ\*պS iACG߸$:82\Ib!FHZl'%^-LXz.4 ,v9Q3ɿ+. ǫ_ ڳG~sZ慸5ҙ#|!a>cz.Ev.w5
+˕-`V z(ث5A!A5iBU r2
+N!]iDRnpW/)BZlsSHg:ͱnoGEM}&\lա!$r49Q:=غgh,jlwh.A/1{
+Y<;2a?#jkd(\vY }Dj"-Wf&Gm[I c_~2
+ {I3"(}jst.lEP&^eڰ
+@ʱ= ҽ吽0Ȅ'pb ٮEozʱQ2c#>GnR`ɩ1`3zZ[?L kYգz<Ziə%6P ?8@j#U5h}J;Z4gyb&zy2T^-x*Q헩" 
+Z{׬Jg&.98
+nPQFkW .#8sty
+#Ϣ㢨r@B
+^WFuhnS7!G=xY.xbNcNlkY*ґws\YG
+a3J
+wJ، bkSq<LhP:*jEK
+SGDLVY4vlNS8{*S'~
+LT7HSLaJax6ʖoF~
+
+x"eMLX
+*je~N}娄L06 .ޯh7WX"ӲR${nm'tEو
+71p)34wlLˍjbPJC8GyJt)WGw ( !Ce6g#-\^f\Z:(W 1<@f!`-HoU}." CݗZ9K΋VQXj~w~bȆ\RgTcǹ.p i W,a@k>:9]7 p^BT&6:x(9 #=[x9Rb'@ C]]Cꌇяr HI|"Иǎ[[S@V>eŪ
+GQEơ}K#A]˔*VʯgQ߳@%Kh\+)8'fQY=Iv/t`?j|s*(;WSZ wz0aΧD)i٠h5 +~0KdЊzXەʔ*U
+5hKRRP*Im]qR 4*%=p'mXfYlӋF~Iͺ~2j RE CM6@ -5ԿBSY}x݌ǥQhlX#ОhUchsoh;g@ u
+S'hĘ7G/*! UNYn O79{sm(l
+IqN_ZaI6̢]F` t%`7#K=[[ 2+gT+ .)P-JuW&U] F`WZBߢdPD<sSUf}%JϔZh%u>}h,D"²LfapD.7:v26Oh|.e׍rJZdЊj-}|x\kRg^9e݅Q ΎkXb;ˆFd*al
+C8ƵLs{9zo:ZuZUA,鄵?Q2.qy׹q ˆ{Zxn#QDq$<#,{%|ŁtfL?b[N4^2+2y{neSgtT):H2LE%IdWXQ~Vwe(܀UT]f[CnL*i^dUG&a6I%%X4e|p r<# S~YdDQWU/N*Ԭ yΫWη`VCДf1%̊SϚ#G+e]1nIk#
+2a_]^1*Ҏ`jRZ>zvz cAنs&E1y,o0Z|-?ry*)끄"r,e*H)$1>){f >ڊwQw迎5]=gbjH& WE 0qL&V/;_.|(hvPoD9}3Z7c߷mJC 3߇"]KH6+nx5ߋIjv4J("UWG$y}_N%bZIN@+]1j LvH~Dk-5@ܰL A#, 羝h> \~!,^;%ܸ
+y(B
+
+׀d/2T T Wu:f=eG.L^O%Y:<g4c ^\4 vK>Z@?ib]%R֧,;hZרfU4e(dy8™4oI%9P;OIwR XJ$>ȃܯQʰ*2ַ"d=@qgC ?x0Ac-Dv^CaJ$ig;zafAz3N+D &;Πü7Iy+yǰ tb<!ᇑd( Bt#T 1|JR㶽^ɠ%矋ΈE夺OLZ2)Ɏ[}nRpѲs{L]3
+4>%,fƢƢ{))8;QysTwzrMʤO"OXڴn@ZjaGt -ĸLeEFv G%)3⯕K&;{\s9doC
+D.k)IJhfCk.$ _kdRD1~DH0&j"DZBtDڍ?6asLZlhi,UwyrMCJLi!ЌrN.zK}Yp_w  ^g ``CNNk ݟh~kouTE7qj-)I 0m4ֹ"}VԮ-yӷ+l6:.g[Þ?
+}6Bw׋1fF Z k{:}3*eʄk6В(P)Uuh;_[au:VJ > /6?엥XߪE$LD]ât^
+,[ <;:Q=iIxH1_[hh vVȺ)ڏǪT?VtMS
+u3yMڅʦ{Ӝ,|]9 qѥ⯴S>9ww*Sy+i%Vhi
+RT~i:%$69E\/vR<3J>\:v=$Ǯ㈢[XR=+j`p` w{nd_
+(>I!R^9hT@Cvڻ۟
+X3zlsJH//z:Pv9vz %a㏼JG>P.-J-;g
+P"qTzR75Ät X=m<B3iQG)X'ʋ} RH'0Շӟ(dkKT`ubr-n;J {UeTN՝Ů{_)OڷXl+F]DU٣P ;>`DkGԽQ@Ӛ"G?M3iYߌ4()p< z )-&lbx's-<wʜJk!uh[̊桹@&z+cT0#fR_
+$Id X}h
+uJbAo+Nۃ$PS}QkOcR&K3qk$½5iP+ *H~Wl+dMqH\TI跧k`m<,A_n9 UvKUB8Iϖ-@@)t+v5O=W#έ"-}{ Uo_jKFzh
+BMՅTnOGŮi֪ϤQ9j {\bQ c[{^uCphB
+Z+*$xJ뚄̑KMԣqOA4`? lܠJY0ޝ5J^B\xEpGPgtӄNVޟ @Kh]%Ҁ(Z&X|жL/m4!NWy؊ l%BFm樝Jk P\G|]j@"
+T>u7ZLSQk[C jo4[~mZ/Gj\4:6@$Ѫe4~@38ǃ0?K; GeZ~iؚC2iûj^c{</my^nFr{EJ_"F]b#Y5ޡ9rp(JSR*PtL*}{G{ì2N<W!, %%aͅt'cz!UcBPf
+! #7 *"oVt*\ʲ[ş9[Lp9XcUW{z|j:ƶN93 _TWN/+\+RiڽH#hMڳݍt ʞ14\cܗ[y&*a%/a?;e-G',x*DZ|%l2tQE,rYG}> V=œ)g,k8!I8E38*:6GJ8R:Mt+fKtoTۣ<j ]:%VF)ha
+()h?`_4TY⩙mN"R%j(h*RUG#SBit= -T7ƕ`MW˩&T <UN +Ϫ`W!}m(=UنT̼pbـ8,#ې]4ދ
+E(Khք&JYp*Oq4Μ:
+V&Scuk§):P9RJ, 5[g&r053TT oVڏz[mB}{%KЈ1-Jp(G-z[`  F7:Օ|
+ݐĺުq͖jXiKt]Bb)ά@Ί7B $~s<‚ Nd?p??GӅyILkU2OqO!0?K^,,e!B,!GZ߻z7q1fthpAq2;88i$o 'K21T;k +;g{ƴQN9&nSd2hA(q!RȑvUAU{ƳZtR鵱<*Òq|(haYc~p
+EwYH |ΝZtPXe0JR ,bRM"A3͋T/X;`N&S*w2g@^=T~XqX9515BơYˆ IETcc /w
+:aa15^<{zY[LL<$JrL&]9sOKJ,}B鮌Uf~|dP"hnv^IJ(7բ^
+ơ]0nw^^şۻO>7~?=yO_/}ݳ?<'}}Z*!h{R9ũ%0EjOoY>e~o .%) 4FxÍ6ke3ā
+ơLF
+<k.UVQkFE׭Ly;) W}.:Rqn%eMr#~⣤I"yc
+1K]P`v!;'ڨm
+}bׄ!/.TrN1#o@<D+iv{)yC
+Ilļփx^Vy+ñHPDHnKyl;=zTbѳDÔ˹ RU|㏝\z6ivI4\.*1čDlm:Č$T5B|OYV $K؜АCC)k*dXھ~l7hI$lU42zD+D4OT'̰R D-iIV7#c`
+[۳ԝr ?(lQn@\9 KR)F'HK YJX)6&}U} 5ڲx>OReUv!h\Qh57W!Gimgs/k
+LdKu#$K:+bCb]BцYuSQ}"}$Uz?k^*
+endstream endobj 22 0 obj <</Filter[/FlateDecode]/Length 22972>>stream
+HTW;6 ];LK$bdr@z6-A$ϿdzG[,cџȶ?[ָ֟Y<|>-SY3x~Ewqˎ',[Z{γ I b暵-NO!}f+ pOg⺳= [?zjOzӵ¡{Ccԉ=p:pJxiaB
+:"-ĩ !LK{zQ ̏`. 45 ||}\%Ԁ aSg,z`UoN`SO_A05܃i'>xϴ8!QŘo,3rC˙,@@ DOk>ܘ!GM8h*ӸމdOU<G QQl4X?~q:oY>@q@o9_^7v`.4&&28Q <_qՑ[pT#ЈOf8Ji?"7߁~
+Mf}uM'J\6@Ggg蓀f,QZ9 LC0q?-\5hOkVXRY. -2Ņ^< !ŗPNB"&o-Ɣ R]>bD6蚆$Em%/!D$UN!%bYY} j\s%@h+Jc
+Mh_aWէ[)̛J6rxeD(*7CZz)yE"jiSX)~{ ޒyDjoD6󝺟4<HddE
+'@1B} 6ҏb6:. "xY+Ke$АlY{K
+$CHl-0JP;ϟ]hu$긓Uzq\
+9v>"fsϹPF=ۛ*_ ؈SY bC v0F_Zz\wAc'
+E[mlj?3E)Wёj\!}>\?\VoGT^!7b*e-z
+Z6#o Bsd̤|aGVn@AV_4 ȸkN[fi#0YKTSQgfgs:n5xp+S
+(ās11
+ l9#QUF-.;qv/^LuD^>׷CǕDtA-5?DKNx]F0}Coy7g:$ ;- NQm۱C)_Q Wn¾ya?m*6Hz.yxp
+ƈ3ů4r bӼډL WFI6ݾDA4o~`z[(VUN~PT)<LEɋb\()C5sV95y0sm\VqzRvgtˡ8A|K ?5*}g*#M۶ɗ$
+J38$`sT,|d3ap!4S#)g!g]-+}Ze,g>sDA8!|Z>ݡL6h'V(aT*kWF*ĎXkELz}r宙c`g
+13_⠡Gf5[eC*lPuK)$R0էQOuS}M7u)`E ; U ܲR;z {2y-Ȣ$}< Q:^!^˨xUGh+JvQv+FkIV5O
+#piFn~$+OU=ZeSz*'S
+
+NUvɞDM=zR^QvIvl%s򤺑Ea*mB!^ {G!?o|?~_O_|;wMo?_~w?߿~boe?+^Z*>r>Y{>NO+ dW(q v;-ANFF
+˧RY`D^H,^:A`k·ą^ 9Fl㶺dPSfUե/,5Fq4dI=[;g=l7(wӈioPjWm阙ݟ+P&{p7^ Dƅ8yR w9VN5yTZ.dy`%½$b*NVDFt$'sPeL0F*b>.3O.iKKA;/kT,VubIwūq>nI%&3+پaw@W-\zq^SWS"mo&Xa)σ
+^p̸ՈXHN0ʥ/+Ns
+ .iIqNJ-v>pg3Q?{JŽ=x
+'qr}H5
+%Z(؊ܩi6z{S+k`%ۥȑe/DV(qtP3/ \{'}}u
+6Ie&>ԇxg)#r۹yIlP})`1\}Bbҿn5
+~
+NsDn^=hBB9 jKUjoh圧(~{Պ[,$KVy8>t)I\.U* X{y1kpw=
+w!FZ
+c7oȸO~G/\ӌ"h+H83uTa).]X'5}CGOj%'8vKirDNM~2N9<](i$
+_NnfyEj ; _srdK;'D;"-(zamިaKu,IK{hrTQUji4 B^ !$wn$K2 =;72̰3Ș=Qs;uH!6L.y#QSi7"cYUuvApDՙ:s'|o1EvLY#0:<SEs vH6`5{e+*ƫ`n=2?,vSL՜9^%o_8ׂBx@>BwG
+E/g̽We츎P !D%f
+  WϢ3Y6٫W/D5<4Y.c4 6ojWiz% `)>>EHlZ{Ч r-$H$qnt)<\3әk*o!lh2Ot|3X ar̆ %x9UDܹ<Buqݏg ?=URE&^< ֯wƒ̄TTF .@FρZbUwřگp#
+֨قRw/{nw;?g' PGX&u*= h,e~sM%
+ftͤ\)Z<n*Č?sPA'I_5h!^TWQdMo9W ܍'eRNR{)wMu-)l .iGכr.3A|UE9QC]b5Lޕįԃ8 1q0νgL
+ln<A THA W)fQmsQzL8j9(]U?SɌy!V* bXD
+^)YJ1Uo5r8 lqBe)JS)q{`P1j:8)5tzհiuy;R#i sB_]@(똅JA<r3 3rG l3Ar< 2pqCB%=MSΙ d[e,Rޮ6rXb/y,c"v;먲{#nM{lvA#8A#J
+dOFJbnD"tz"$d~p0*0}!GN1g*ݾ]3u7VlѺj%c<'?q'8֐C|L"HO0OQMNt}_
+
+
+w1#9ߪkBMWN3_'S0 jm;.+e_'(---Q8ţ4F+Ȟe$%*O|SZxؔ>}WkFGU ?'U T8Dr7SĎƶºR;qu>FܻGp
+iqOE 0|t<Q놲%3HsyZVY ѫuH5vs/ :Ϟ124"AL"4=E7˴AM&`@u}Q^f?cV"JF@)yZy(?h yM˦tiXC?:S@Ĺn2f9oɲpeex|Lq T{Wr+y?g01"w[Y|}Fr"0?
+osktI^4Ժ~GhڙO'%paV(? w.+2CPw\4ķr]dubI !s=J\Q$z;XR/gJL{}Z{넮i' 0 ΋ǺY\kLQܩn IIu؟TmU `Ji1(Ido"Ժ
+5֍Z6pOئ@8_;:
+`q;Tôs
+͡/SU=mXJ{N167mbCxϴ9Bj
+ff#1WGT7gE"!T}2W(*Wh~Y`J~r(mUS",-bC_L/';511yQ}?VC dqJզIp@߽E}Uۊ/l1'#J6 o]&,3?eGR kL.|4AU[Pۆ͛= <JeN_65(",UY *q:4ʅZXF4\g1gK{|x48J}nLiʒ{ \D.]O@OYS>o׿~_)1U+5h# pcd3ŵ(AxRǦj궂ڵl.Lej
+X(X-nIf,B(a$ʝԯPYX4s?>Iˉ0isXx2
+>ei0+@N=>JYxjQY0ބ@RsMPM'HeuΗv=Ab12]o(wiP!9jdf~^Rb ]Xj A3^:
+<o"3 7 >AߠC UCNas rnΰ9#JQfRdx/ <C[j*L.͊+J-!^A,Ez od޿Bj2oN
+ZOB
+P󤺹9՞ul8nd  )\Rqiz7#vf(@FFSûD3U2(Q nT9vS<fPm6?̡Ǜ԰~W76h "] >J27z n(YW:bQ[5TM`bl6r6uLA
+VqyG7xY#=܏*X>m*;P@FkGZ}
+.0J 0alt dNwY;zÜ2
+Lҩ~e>7r&3mf:4%>GܢDZ9kr/@s尮N$rѩ0E
+O'f).׍.Ioì #;H&w@q\ 
+i:=Mwq(MK'ˆ"fhV>>BWkvZ8/j𸦖oXT
+@(
+7P'"/{8O(IpyU'PqXM+jR~ų4꿟Ĩv *<1N+^!xeE?9kgQWz-5m1W!jG
+䤓1DZdU?Q'E,뽍ܐay¿ &To P4BF8X19혰xXIQަJ:@CΞ>:fXH5]!BC>SkKSOo*8EBMVFꝝ})qf*Hd+[4w^PU=O%R.܌Rmr|Շ Jv0x tsDOBYd>QBexf,Z07yIDzLp~Y7.9$-ڑU}{~d&wJ
+yL-$af`
+!cp`reG
+¯ˁK0,@@k4/Nf2+9qfR0z$rm;\|"7zybKDzcydY鉺˔(8+\%a>R(px0z9YiU۳0]LRş!WSgkndMݖ6ǫfRos\I~6R.߯څ[ޙw-Ү)GbeL@H-(u`&U.ER|A5(~/ƍǕ1$i[4stZ F7mz.`{J|F=ٚ#\3\B}E :M@TMYbz ;%dq6TCRJRqv\I:ՇO-kIH)XuZmeȀkp:?c !'+kzbgbu
+q%Yeb ϷΚ05f!$WNr
+U!N,2f I6o&ĥ}BJ,+BL% ̚C[pzSu;^"nH\ϥpB+}:Ͼ[?^;@ʳ[D \@̻pbh&?I{?"ȝ8oYETx<ⵧ-B[tĈsUKT[J
+kK6ZװaH@kk
+/
+jd4dm MeN#!K*P(gf޴|a
+OiX;s6q{. ;֖$Զj>yK^iF
+I3ED{b nY'ovȲTPIJ
+5 ~iyưI
+81vk
+{j.fYnR̓ E)5Wwrᄶa,v38cHrO;
+IWA;Յ!#BtPb[9 "jU_ tL@rRB 1Vk%zGasv%|c&`7a 2h)~Rr%/d>ΐ [5-Gm{Eh3bġyȘض'd*h9iG^'AsӐebgλ^GDt)8YIl! AHVm恳8JÐh)e7Z/ fGCN͡`ҩc'BG %
+sjѧi;653hXɚm;P(YA $$qnc25|Z4!Hс/ftˌڳ맧wt[JTE7U?˕
+FJ'-ωz1T@+ VlZic\0>fuyOD¶ϙ/6ךm&R'l2784vQ)`1 2I\yV4=eO3 I4w*B"(fr d/W%fpi gsWyÄ)mdY&_hkϞL\fG=zhhK `˺H 4J: #!ޝ@J@bf\m\@+ Vl?/tʿ1Ҙ\\
+?gs1
+?F~u\
+5 b qXLkPoధVƇddvKK-@-h!pqK E+ j@ =6jPO=#0=HV@MÞJro|؎*vvR>qR&5NӻYO*gzLh8>| Z Xh%фQih-L]
+5V"M8 ( Z+󄈐B\|
+
+MEDq5D@}g\.8BvsЊηN7w?>x{{uէ/{?zuu?Oxg:,g=O/+a^Nޛ~q)64g~_mٳZ3VK-eYk3 #4)aI+t㰘nPIX
+)= /Z6]0b$펡7fFZEBX_ɛ]Au-.*sø
+f7UʡtZ'Ք
+.>-8&[mRG0#H CPwZ,]#W/H]ͭꦰN
+`kEvg}hcVPZUiB+&-q [(EB{-T5iB+&&#W.
+@c@+7
+H+ 8Zl4+!vS:'Ak4}Bf%-ӤP`a;P@vABPDhs9A VP+So
+)q0G; 좆~Q-*4m~0[Xη"P]p*Ɓbo'Ӈgӛ|Wӗ?^_]NL'5ng&A? zJ䦗ӻfN)D~2nBiSG_³:_95-H ω>~l}YJT1gX4lXbN7zqu[67AWepp\?.`X(I{cn_LЫ/t+FsT˫@@Hig~ ֡Z7/u)U\!Tߍ'|u:ZT0/wK_c%Mx'p'WLdvChFc۵R
+E}&cgf_۩bROQm [AnjO;A}q]SNk-hS(B$C;%@ ̾xF`.6ŹzD`,iMnzP(R VjV<,m׍q5i1+rB!.փWފR-.B#έ5 u0SVr}m+pކ0=BaL)IuǍ Z ٖ`H$Qk5=޾J(S;ElCG.ntcV13b\Kia"vl|[Ey0
+%
+ɒRc=:rˆZK+#lp~Kx+Wvð_:ŎDRz[י:@]_OJü<E)pZ|3%$k-/`I_OM
+MV.kimdxfFXilű_@bǐ
+sʨCc䉏 (bk,sƣ$=C$S[*j$G mZ̒O#5moCR9
+^֟C~7+YBMD9wÎ(T=Gz`Y )Pu28Zt1 x
+JdRQ1 >{Tط6;(9k}͜0 no'q: go`K;`LN;.2XiTsΗYy`L_ミ+lǠ:7
+-r91:u ~O3{?a0<!_?h:L8#P b!YX_\G y:`+oqj
+yIJgiV |.jgR+P#R
+veË㬅JgY#8edubd(y Zarbn GBb-hs~@&뀸MK=gTz;I\q7DȽlaAZL,N- :WOʍ-q9I5umӒZ*> @4PLgǍm%xt6L\v^n *3t|o7;VXh"UA,B ۼćZFzfޜQ^uq>g`>PJ>ƫ)4"5m*[3<FˑO#i I|F#CE`G Kts[Akn|$\I Oھ%5#wYK`x[E[HDNR7C$igk\'K^jbͱ[!S U <aJTfKcEJ൰{;jUӳjuiTF9znר*InrnDhM
+Xh*f[צ,ݖxYaih2@<&\.מ~c[Mh!Q|EPcz:UסZ*9C66X(X
+"CYN84F 9AuvS~Opas8 Ps-08$}{lñsJP|p'/2I*!ӡt(Z-!-W&AW!._udnhHPY"?86dc&ɱ "-'Hi=7pEشfOE]H'݃ij9?|N)OgcV&=^〔丞=Ν"]wt NiN'9xR-Xr7-:p-6ރ7&cG@tw5鶁cw;hijaY'ȍZ_*l`MW
+W +ߏYRrAVg| nzn9U<P ҕJtc!O(!
+$$
+6B@|Wch{g͋ ϟΕ: XYsd^:Ͱ҅z ,egFxRD^sp8'X20ƁR@ZqF0C )@A`]
+endstream endobj 23 0 obj <</Filter[/FlateDecode]/Length 9026>>stream
+HlW;%7 s?GRwpŢzw j)~5af_?/>=x7qa7uħ~mp~h~@A%a!<SM\mѾzddiE]8idx|5q06>_Mҍ53pK &4tk"j.3à0;OE
+3ƹ7DΖ>NFNE&Er3ּkv'SJ#י;5llk8L㥋'?e\KZv?9 `G廚ܯ E/.XI 5:=,IN*i `l9G~-؀֥Vq4
+@Jg{m{%hkڠ9?XL'8@)Ϋ[7cunm^kH<բܕ7eCC4=\b~5Ō 6˃e|<J9۽,_Xj@[\/nvsct R18͡i
+c 6' FgAm!z*vMwn$6}`v" .jK}\rG7 pL^oIV|dn/jiY`ͬumv nYf`嗁hc2cCWK`E;@H`Y
+6Wsaˀ)8OaZxղSF{;j?Rr3Cǝji7ze】,T睟 g Ib+ƈ0+k t26=8#TbF_ ,_ĮLEy#oz: ɠyIi){\ rg \^m,vf^Vug#<dWۑE9
+Ke"貍Coݿ[*. Çk%Հj$3oUy{"Iy`N('` uCw+³x-0|p .x#+0 s]9PE |"ֆM f?Q%v_24 edz]韁g->~ܰl^P}
+Td23 -*o.-i2I:ě<hR[}~#(g}2BI}
+JP7ôZr8p*3'=,umRu(7v9P*zw2&zks؄j1;.f\H}F4l[<וYR]sF(88x?OtP'@gw ] :ѵ1"rV*;di<#vrhyRkykt:Sw-H_G<oɰۨ/#g||RRH萊|GXi8>:.gk%R&Ĕk0[VEn>Vëk9<]:=\:prd$DtM"CQ7ptּ]+
+jcg_:mY c76aSVƒm]E⮹ӗF+4nxu$~h:Hҍ?3uɣrlpX:a6p^[YX 9B{ ytp.)k5΢cA@&.#?R(w%+).25@vCqp~y뫂4bۄʣQA;Ť[c˝PA:yjl?l%{LI`gd
+38?krv
+OUr
+ڛ7{jCrhnbT)ImŅsxxx$MBuV>&bȓp ﶇ,|xL脟qWVLICJM9+,(nsX
+;z.R2<,Dz[r{YyaD_;[aJsGgpQ@g̡ۡ4`ߜ-Alkl3^2yͲe^l#@
+\Y7H4li:qy7LxIWO(gLLN/?Y 0NOA7{]YyR/x Ҳ:o1~r
+Mˀ6O{݆&#sB$;)бx`xE_mm#GUNb`0v$V\/U[T9l?ɏ&H[[fLӡAb⍅50!ŝ 5&kIMr5, c:6}r
+5GlFI 6F/266$r "11o XSxF]VʔYmbLy\ʕPI
+7\1FfKLe#a0+|O`$%t R̸zbz/Zvj$8!1*{/ y @GP6GnT.ݤƈ0ƝEzXt(1\;,Ȏ3[(^('fr.}%7X6 h4{;5Y*_j| m԰5ھ!1
+PI8Ļݖ"j#(Ýѳt@~uɤVa1:l> j }5>UӪ?fpA__~yZ.ꊘ]nI8#@i P9s `c(^r@:3Mh4A>Ƿ[
+M 6o 8(QCKkN"F{rYF(.aѷ2Z'mlCEjhmAMvj[‡a^Cj1n^Y#cF(B~#l;ob#ms(#lj 3401M(sWi:A2O`j*(HTS>\ݸ4F=4= gd;Dq Q'+e8eԜhoDck&m
+ǟ&y.ҀXvSwًx + '픣#CÎ1qJw~} V?QĈ=i~­q6&iu+ :ٙPD
+S̻}nqiQ#Xhۚ8vRͅʪ6]ٍ[q\!Vrnc+5x3n{d ʛXhY\2eE3zҤkݥt\ i`n!O9Mm>q[d36m"צ-e-ÚLj`׾d_C\Fy Y|ݢ
+FbmL[=S($ʡDuJ r<eJ%OcHGAd v¬,3"cp4nn^ S 1ZL)XU02АS$;onc7ɰIl8~ Bg%o #m=@J_V8a'OM~ON_G/YլI]PV&o}uVܜɊ/]|O8UCǏۿ'?f\y6H=?4yz g񴪒myJʃL.Gn%ԏO}=y6yK>ͦ$os*{,7?O٢Nݱ<y2OkśSYť ;[>i('#޹?ݑ@utkؗuu8D~3_ WyS9ĺ{-nV6\4q'O
+,w͞Zg5+ao|O^z 냩B\/J#vV633aYcr%.ݗCĬl8Wi҃If'<>|G(rW.6opבCU @{ Ghsn Cԣz<:]:?0γ}2ZK]T*QLvrh#^,o0QyǬzH_5H$k>🟋OX_/^Oo|{\ĩnSS}}u͸C볲)YyS1kw iJK $[<|p=t/;;
+@{j y"Mu䢘`{^=jx{6YGуv V3ȫd-^U <x~l(E9zg
+vகYQ7>
+lKgX7y݃W}SrURQbV5 kV6\\T*=7x(rrz
+JE?e,<JGN+)UZ卻
+&hz4FB$YAIF$:_J8Ѕ2;RH};?/IE(&kÄflU]dј]|hbخ^еy980J$lb
+绔N.4]9@<w.%%‽*5EgZ?Zp8mܗuh]+L<(xN2$a/Jg'gئBO0Q
+1o{%/-|_tuDě&<ԐPwi4a(>F4Q'וD
+i)[ZqM LO|>:=sn-<NӔ%(] $ep6|fo"f6wW
+endstream endobj 24 0 obj <</Filter[/FlateDecode]/Length 3723>>stream
+HWQo~/KJ'˪'+r(mn[.e~[Ǻ$pHLY3~|ILVB*BQ**:kԋuU.z=W?OoG;iїtP._K DkmyJ;/>s xxR>G-M(c‡~ ޢ)\2cjfqXBr@f10tע,
+)ϐlf(rU^IbV\nӴ
+3Ck;1'\.{-‚l𸶷q '1U!wQ/*;YoMǔB|LvwV;Րp"3S[̗2&xŖUiIvJV
+㧃r2 zvdVUl :L"#X ȓ5x}Uvo{AbIhC< exlp.hfb76N1fƹ+ckD# O
+VM^~o747uF #!QK - IQD<sH%Lo[8le/Tc<vjF`%|iYAWM Z'x^e@qOV<
+LnӴ
+L`%X}V B"xI4֥ťI*]4h<0eV*Be8D:|¨Ѳ BS'</\# 744.Öՠ4)[دë@ u/6x`~;ai`'aAprDrj˅oSk2TY$eF?AReQHNJ R\~nvrgZ͞K!nӴ
+L`%X}V B"xkQzJYiP,'S g3aBO/yt R9ϊ ȓ5x}UvQhPwWRL؍MԱixąTKPEkn!31i"1(:TóppF!8.R[cpDL$ɶn|XJORu"lqH$#ԽY(".氠,3pzA/g{߈ИG<ijnqBˌ2wh
+L`%XxY\5:WmBԖRѤ73BK_Br j‚/Xϣ)\(VݖZ69X |mk+ 6t؀_l~-[D/`]9u@`"G<;X6ÏGmZl 3.xD9Qͅn#p28%L>x|kj)lB~O F*<EC]wc¥fb76NQfMc> O?5">8N%~kn!31i"1(:TX97) fT(J%߳1gH'J! DK BS'epADN:T@l6Ӹ{x EwN^l*ꄥ.氠,3p.` zѠ7y`񬛛2iaa%XI=fW]U5T49LicPRB"ڦKhG
+ע,
+)c% 2M.XZQ"W=n@)sb|Yl!د%Q4g~ FgOҦ~I$lfqwAڠdQI{صc!3+R)좹:TjٶT4:5&QOCq\fZ.~<$NvCF%5)OdAĻ:SThД6ج߰z$#ԽyWㄥ٠]#ݼF GJ04
+B22V^nǖ!ig)yhQ|P"PPxj)lMf[! SH/uj|TҏarS{k/L>Auc~
+4^:/jKei>-7`lȦ,ZV\>cwwM-df7T
+/h.Tjf5jmK97]F)`WD*~})? uo58ݙY~DYk%\@M|ZKr&5| xR*ZOF DHoOx/|qWhД62C#񑜲#x EA .xp3XP83MIAkpɃ|}b ax]}ly l#cӿp^ytҦ*F-)F:_,T^)U³T+aK<BK-Ka[jDv<\s _cl{gq7$ospC!|[تK\LlY0y&aQB6x[g?R|L)j8]֩]Tgb;QϘZ6 .
+%x1K5cZBuu"MzN(O&to[be|{f=kNHbճRH~t"J{[GI ksmUN;HЖF0Cs[QĥЃ$Ÿ&XnJvZD%#xPf3]pcb"34sJa+
+endstream endobj 25 0 obj <</Filter[/FlateDecode]/Length 12564>>stream
+HW[o۸~/
+]Ŀ漜 )R[tMMǹp&\ Sr>;r6X'ޣihGha6-O<'Ўcl' m&d1 ^q<ߍI(d48rfIF~{%1Y~
+@yiͥmA3rZn-o͏ߘ/I|O;18Jcs*Y*
+42CXogL>IFQ
+Nߝ%3jb2'vr/#,ݥ۰=Dq [)c,tٷpxM]AstBb7^ ceCX
+M٘B+El]aPwvtl^LbǻU?CwѾӊv賢т(g-MK۔G$z.ڇȌ|MiCIV6U%ќv퐼
+aCޡi 6Zݻ|F>E<Z4K{~B;Gό5Ƈ}x;<낾 ܓ&qEIFQ(zn3_ڤe0'HSDid;Z64ReD7uˀ[G-&-r[wNQip$#!ypvjj/w81,]0򯞿Q+L]AafLC#;.??)Cw5[PWWt؆˿?GU=j{uߢ[}oQ-oQnު5.M HI@PG ;5/iJ#z$ߝ#=~2@A0{:x)~M$ٿ%fa Fnh1ƪz
+z!+O]\GB:#P'xEpQ>9,L(c`)\Rhg75їlTnLU:fN 0f ݔ5,n@ HWb1HG!,6xcfEYN<=Lb,e 12,,T(eRN[v2d2+Flo]TyU=fťN%:t31*,]Ҡ0&-F+w'I֪`R1,Y樝LT- wtC!SnaY]52"aKLN~hlJ
+RH,L{t.&2[!۔XSRtiUq8G,>Շ#<.ޅh8ip%6%fypBSkFŊc:
+$JBgȂT:Q9VO'[՛1fz3f9PJC'DOmuCg@VMT#:˨6eI0!F NObqgDRBYAflGj*CU|zB ᕒJI8RWW Y+NQHdsb|Y o216 8"#vK n1)pcef2;\/~بK]0Q Q-:9"gPp/y+PF]$@1hA|xA[R IM YeYRYFWbdpD{S7Edu]Z0Ŵ̷̛1E-hePxˍtlR>ĐdؗH @H= (1H+EI4(T:{A8)eN5^Ġ]]XԴ,d Yy
+$Z/+'<UT^Vm5N89ċB;^$,~M n_I=S"t4</v8ƾ琱c^x{/dy>P: 7[$MN Gȯ'g'>ϣ8)HJ{xre0lA@P,܍IHcp!'ݤcdTr6~wX{D{?F)V߲,MB`#UzE*̾醊̾iʼntA!>QϦN
+XٔR+[)-\leqΪ+[pS\h"ĦUJYw8+=9ϕ_@]<xzy ֛w\8:иO.mO|ͺ>-Ah'5DziBBM|ɋ~=M"Ҥf8꼢D6Yh;C7YK:шwY-=EUUZY)-
+]!-x[<gE&|ͽ*\Rു@D>GqHE#7*4
+ ޤ׽JmV'-]Φ/U_Wm^lT[K.pqCi㳨~/7S/(rN0uVô'̸~kN+M5\Tqhk&Vmz0:hBԸ!ءUIz8m^EdRXV 1WvX=S&9BvVM(ZNYNƑ% ,%sK*vn\X~,\&ZPC`b; lkX0uݟp1>I8ѽ;@~˘޴1
+Gyв[r>wh!`"'K$*/>o;څAyLlH zlojڒT&W;eVWw6;:e94NʳKz?AK Lx]-&Y.^߾^YۼZ(DJiZpR~iv$ B|r!uo@@a )Ү)-12*A(bKiSkl[ 򐠕Ϙ6SBmDt.AـT q$1BOzζ$s_=aU@ fF6xj,;0-. 
+@MB+F5=KCPJK[΅`
+WF٭a$_ZJ%y~
+$B'4n
+AHA~NBV vgx|$xad|*/n{\\ Bi h
+OY 聵t}}H)
+} ޼>]vţw.ώ޺t.(Go*=ʆVg/^Mf~\H 91":dDk_V_)m8-\쭷iJ%-lGG^T3s"PG\tPȔ5
+R.V֟"W֟"X֟ YvѲ~T3 ׏\[
+`{s%y6qq f՛.|}_\^,5NtW(dT0:|qV{_2!2p&GK lلc[JTRzdWpodpUA[
+QL
+kIm H 6H*%\vP).gF؋Q'"GꝈCN$މU6`ȔXGp=Ї`MmG9c(BL
+391n^&]A$DXږkbqV%y%V`K<¸K:BRVPh@u ;Ȗ>^n
+8zղ\y3*y z!#a]piD^v] 9FÐ|p[
+1dY
+VpNQo$}R 8
+B"
+g
+Œ%$"n,,й'h!aAzn?js}$:,t]a]ϦuW?ލ/g<~Wyooߧbt>ޠwv(K'Uj9~?i=}?rU* Ғh?kD9qd?*=?'/ٰwv_|/zǎP!҇;^k&fw_'ZP6t61<Z7iϭzP+$tzbwny09B&J5~ud}e{*ը+un/,ۉd湜KmS
+B0A'SX7rVUy䗠vE g1zm~:3%b|9XWAG>uo4:1qe7k]]aש*qՔu !e-4qJH&2@v[-O} w 7 =&Yc 5\ʖGNt^dYN>R˼pϜ\'I%)M=%A
+] T :#Ӻt_M8*Wk&|i<}PY-N@,
+Zh /'x'YꌢN2A:˼q%٫T5LDs\P}ֺ{kԶ2 SE=)UӲ0bUYqSIJ`(([GUX[%fwT5.핉Πa@WAH\wb39"e8@,ثT5LDxR1œ9rg]=5jUE7kWRrĪ}~XmC m?޺DXjk κj/o^wBPfC l?8غmgr0d )dN,  (:1cZ
+0ϜE92FX<q.j1T9 !n !ɮ
+
+7[8âv)TH!"r|"2@z3`g-~ET&tX,&s4hx&{]N[>{?j5]ˇӖc>F":߭[{]u,Oڌ\޵/dc08vy 74O.n.3+A{=C:qN=O^ =ם<o#9Mt>jDk% >īT4cm ՃA~/}%$ =En6Mo
+tJLm޿gR@ؠkhô 96N؅ŷbD:K8Ђ% }Ki7AuoAK@h϶ uOYSfl8޵~P OMY4-J3cNa\V've6y;S9M+Jys1^W%׫tBRN`9ej9˽}mHZbX̂/Y~:ij_o˕07imYK,+*$z&j(N
+s ByfvZmє>K񤩨 HͲ&Y97KT5|&P@r\GًC'h,Mfk)
+щ<>qdUj
+Z8YSMBשn(]/տȯ9n#zЗÎdr7`R ~+c?d7g:Zh]bU꽨;e/p|8(_6,Rn~</.4SYeٮ|i!qrs.6Ů0
+ (Wg, <0} 3㦑Y8}D% ZBvp7|g+UPRaNU@Qux{|=?^\_\ov'^nٮ(
+at)| *)6iZH{ˎ\ L`3nae(Y1h蓝iA}G q(g!Z HVdn:1J-3NV%h>NЃo*g_#?158b.DXT$ce5,T e dJń*kTZv'/
+9CCtKŶ0C޺X=
+W@͠n[f& ̫
+5u:yUR@]plQ@4$@/}y(f;3>fc+OsOkҼW<B=Һ^R3[9V)zڤsH=.7%A}6wBn#A:@ 0=*tI#'5 cWb PbR @D*
+j fB,i 4ȚG! M8$@{eneQS,D麢! O
+ZV3 ύ]M<rz'J$<17jӈޤL(j0z1U\,j@@Ay;x-F{MaXLD/y]
+csǎGr F.UG#39»ZςJrfђAێ^ 2#P̖, [Mɒu2zp ({#kb7÷
+X֢q G>F-H/ʓq`"%c/NGY"rzDjZ QBEN"Q x%XRH@(l"Ŭ_Eq/U5q4v
+f0ݳ6$8}tf!۬TY̦g^ sƷ_(KHGYV
+bs8bi1eY#|A,7lD(TLtjrTB?ga :/#t!`Ea,lIc$1B󙫛,|=Cr*j2q"n{ #g1ppĶ"b
+z{w;$r #ɇ N+[!!FQE!&U<'gs@j
+;qZ[>ubXA6KkJQ'(o|\^;}zZ7O;Uۓ8_49iKOz|)\b )tjmI_T7[JʉG5R^v;3s6ac&)ڃ2L2l@+J1:sM"#D¿#g29"!B7 \:I]|&,
+綖N=S<Jb(ֲBc<&HQ Sq Z=q7wjaMt}g߸!c}W (|MαӘ:A fELt|Y/k9/]w!3sLŮKz U`-z!5av5mc!EzLa; |XmO )]M{ n=|4k/
+Q7pyoW5VRuU0%ؿiV`5-cmkX[lbHeHXҐUVH)Lu0UZf-'Y9t^hQQ$W
+endstream endobj 26 0 obj <</Filter[/FlateDecode]/Length 16172>>stream
+HWNK}?H4u$$XDDQ.pn%?s~dc`%R(Vjյ_6C`/'QCT{EuQzbdži6tuwlV qv^!Zy +<Fz4Jfʋnh8וm[q/AOQU<
+Ax;4n|K&}>[y0N
+<q}
+ T]r#M㨸Y\s1>KS8<`/zfg܋m2X\]w&r:<S>06IO*Hq=jQ:pl5W0Yo[۰%%F"pFsArn0s0d>Hg]}8ײzȂ":^( ._6
+ ;]2w~},lie:HSɖnt` i#-mFʧ4er, %U\@ j8wG/wOa
+ r#Jb('@pbE %rQ%5iIL˫(FqO+XTƍfE;ϓ'H_:pl1jNU'g:yA W0V
+l)* f"iY7p_LX%1++$1
+o5k)#TjC@7eCs'7nP|
+b)%ɵg}xFE}qp#$<H=m]Lk#M㨸YJ"GliZsylw_Bt[Y7m~ES]0Co$b69C
+ǶYOd'glw驗v%]a| Ъ#&"nBF?!  Wp!B7)! S'^~{3
+.a=M˅t}Yqta^6·H۟`kuhӏQm}NՆȎ$B{vƁ]=۱A\=dQڗ#i]>q'6~Ii"[{|_BIA8DH~iq]+(У^~L0(9p88+l_Br.hZKw2_u;GŸ/{4,OSz{ >B?Hp}'# SiܵD*,8%C=~n  M" 4S{:Y#gI}DUuy)QwR(dsTuIϬZejdZn~'^:{ޞ+$-  q)Ŏnށ޻RD*"Z5$nB/^?h#sB=6`ʇ&IRzphYw ?ĕ$vCwkv-ơ
+KP^׃㇂LKGXF$Kc))ugjYВ
+Lxzk7X(J 1 J%a`JD8PAS\!;y~
+b1J_`/iJv3mG`Ch!EO
+Iv,De̅k7aҶo1תbHskLK5@V\U CcU )N^3ƶpBm>fL>oﱍ`pLsa"(P0M=
+^<<&
+6"y:ӫ)5@]8;F}%
+CF1>!IA3c&9ԡ0Ab xx`FBAc.nb"m1l
+
+,h.B{Tµ?HXBpM!<qdpΛo* a
+®U;ft.nߤD&Tscqz{?2gy6*i 秊L#YD,+ 掊S'#RsgRD֪p.Ur6G.WE>l -n}8:z;⚇Ӈ,K?eR-?=؃9P ઻>V3U(4K}sOk9)<>퍱b.T8JGhpʞU.QԞ> 5AVwp>xw^<\MhzFvN}VĐ?g4'E=K0 \_}S<'ټ,W`?7/ ϫ8Keۋ,R[|\')ATy@QQ_UWzKO!p1 (Er<>KZˢy94ˤnr`*V͇jMvtKꋿ g,f$vrҊ~͢ _n,Q;u.'«aAGk?6f=i*:O
+%GxZ|ԓ~\=aO8С:QŠ[N2O[YY~T|E'4[νvZLF- #*ɮƢIVx|L-$}g$`q^j":Q Y'Suae06d-2eyy̳jLb#E(mnͳ
+ft*seY"6 qlU9wi6YYY6.DVbFҡ\Nkl
+?k?fׂ fEA9
+9kYe~VP6Ll%}pgXZѓ&Gez/ TN
+U^97c弉J$l!{W"&wYw:չs
+ T
+ǷTNE[ڭ\e\+(W1C^tY˥r&Yޖ/9KLU^'epךqomMd6LTQ
+
+VÓRaD.Gn:MS׺BlC 3Uw$U"{r} _M_N,+ vK |s>"ʹ.%Tk怄 8!el5+
+dM k7M("4B+>;QDv e ^TʽM?,kdnI DMw=ש۪ÐY^$H'U1;L3,CH͍O>858=xeijƳoŲ}z{(F ck&&@
+MNVN"[.f|qA)S3_pgxHE.[@H+{.@5qnH/+sR]Ll7=vIRL_.y8 d#
+kX[!xsU RO65=Xz$|ik}'h/`$a R6K1AP͹;*aẞ
+++^.
+ha 7} ]mLC;Nǥ
+ uUK~ `rhQ0V"X-Fr?Ҡ IPOt@m_t4g1@+gYSWĽ9A%Qa^W rC~7Ѩ@c˂lnO3ZWS `KٯHsŔ$ϫ@NI.:0xI#(8AUbE(",bT9 q0rdh:o!fm o;^͸}84\pbsr%?n0zl[8%L.`det㏔r؛ǒC4Ekv*f'x%qA;@y\bE54A܊t5H-8%tqmW
+v&KК}SA_%;{g4޼Lt cZT%
+% M~aaˍ 2Ls҄AG*pi 2NC4WxE@HGV]גn
+?א
+ܖFEqYV/nڳUoNvY5hpϞD߯Ls]hNS~qTV3Ţξ|z!?wyU_pm452ݸۮIO<,I,|bGM`ߟi(cjlrz. (5DiW?mݦNnrld/5x{1b\0+K|i۾8ن h|Q/v( !=9v`lloU}mqu{'=d~LGU5$v]*8JߚH`S-d/|OhU7K&w~*Ps
+Bk[7KISuY(4^"ϳyHƾÏQ7lgfYMǵg:TOyɵfyyv#R9>8Uf~mЩ0.3lkrvS?XV,)V/ΠԞ^f[+(N/y%}F nP =QjvVY_TwgsWN]}+ޠok\-@S?2pHx?]n tڳ֐H)]LR}u2]%l_K)S} ^m^.*5jV
+~e7S..6nZs3;`S՚(چ:m#N5}w*NUKb, FqF5` { Ɯ>PE_M>N=t(] VJW[ XbE Zg4\1%Ornw+iWSF5k"vCI,l f
+'*3*3vMlu]&᧽|K/~./C|o:T\hځD 1:^@O
+*J‘K/RdRo b,E
+Y. iW } mjwPj/$׉>!s Λ+
+te N`vn'JExyqqp$C TokJ!UEs @ bolcu
+ٿ,# maF4o7+xo:n۵l+W2$O`L|fK{ck`k{Kr<&Zkp^2;kQZ\gf"pl -:FM (LSP 35#_8
+1Ut}x]$bYV:e3={~15R
+G[q>KX;MQh9X
+JFտhH2xjFx1>$*H2,Ow۬XX^K-Ǧv ¯f.մoU LR@adh! lm#p個X #ROw5H%~_ s_ ·:Ia3 cuk[O{8{ځL}ܩ]ׅ/dҏ@ZP*H͕^/+FB0l9#-opV駠QB¨ѳ"k<-l<OlomCX^YAHuq
+_}:{.D㻷M=} k naV:9 ⱲQ͖CߡYg{-1VI9-ey4W~"{rm2JGefq%TZ5R
+!4*Uۺg0Y2 3]q4|4(796+L{%;xj̑W+͛|M(z}j>Ŵ5ņ9FkJrӫP{VЫֆ+2K~ 劑ٙJ~][9>|7fi;@k'/f4{HR| x'V xڇV &ta)`)(>)-Z8M*گ3mi0hI~˷4AG~^=fܮp%A|3SԲ~pNԬ}YDz2A/9 WZ~GA!,`VGy N9&j*V^2Ar2|M>$]7MC'˯}ݎngƠK`/i 0Y
+,`7qIA<5T͸7-Y0sVO.`3l>gvSw\ +l bBjfzG&^ٮֻ3|VL\IZEͮZd?r2`ɧj?m9ƥX40Ht
+*䚶|P)؍\^Z#darw1.JUFއε
+\w=BϝLabN=ܮDg4䂤5h]
+Рnv!!99
+3tR
+q;Z)G.m>ˌqFմ QX*˅N#p$;Lɇ{ ]+ζlC9z'q'uoރQ#A 2p3kM'&DjgsDǘ=Q &bnIQD`U"}m8C$yXcXɑ#W4] Ke"ӢS{-hhm)CHP%l&<$]|aٍ;_zjyKѮki dy,m8~'04BMY~ y2
+ [%BR +RtAt]F:1CFL d"RA 0d!It T@9U'8ߞ+=Ͽ~#ԙ6»:eȖio'E)Wd`X:6^CH\z+W\}Wl'soJ̋u۹C[> ݫQ_2M
+ԥ1@2把0 UiH.4&-\@aea88N(tHvAu߄82@$t?[~(/d_nt"ljJ7 %t7!@~j3]PCzQMB6?HO+M Fʟm~#wf#3tgs{H
+3 3 ;lpA"m~J[R,'ӏG$/`9<B]ʐlO\`ZjzK>$q1?V.gj\D5J}$mǬ{iss|0?-4p3|ˌoV4~\t$;>\ QtRE䵥_,$lP%<l>,j?%&jЭRGC;`\,N)#Cf[=|ˤy},.Rk yQ<=BY,ݵGe4rQc
+r++OC-R <gays+N=p:]R%i 溅j5)
+p_,;.L{SŅSdh_BPwWb\7݉)wAg`(ofܭA7 6[(9٥|"gL]
+vX&]q>2|<A?[YjQ2
+
+sLo"%㺾3 v.~n@ 7`*4Q#Qux}hX$;됨\#|)j,BOmܙ/z>
+XP O `ZX-f'`~< FmݡY QL7{SL)b}D'/R~Il+V.v:H1T
+0"ph.p0'PnOH"*͔n+Z, ubpTt~;u[qzEh n<FvQ6aySxj#xSi<XС!uZ"l63=c]QysY(ΌO?OxDVȒ SkXjRc?4
+i8 =h_I5S9Z
+ԹYR}>~pcKGZ A{LNCDžE$"0y CMLɡ>|MQ%:@~e Z(:6 `rbgrI<_hx={.)z՜u9<F ;MCq8囩Mkq,SzACua"f$z]khfT.Ix}PDU6?h'CJ/z=2J}G_>Vzp\
+o}h.uIB! !O"QUkxACZq!|٨"f+*{SD'ng\5_(k~'wNÙw3)zMy5]^sVKSK
+G<ڲtB
+(鄳KbV!fP@J
+Dc; ͕ j]³Fkg34 ~.*KۈRvZQ
+i+2bC:_Hb.
+ pL˚lrb @S+D.z;adDU)oAU=u2j$F9jdSx&֏FmڨP R=fh<*֬+[#Neu&L[hu֕y몾+.|WݦHݒW'g,pBuQ74lu/R7}
+endstream endobj 27 0 obj <</Filter[/FlateDecode]/Length 15293>>stream
+HWV"}kݏ`*ƂV)PT.4MRST
+0%PIÀ wDH' `DP ofCϺK0$D7Q
+?N?G1{У=de. ǝ[FnZurkcR{_ji
+=~R`dtlJllkSd-E6~A+s $Nڷt(ir9̈F?.n ` )$bdI/a jAj[B0=CPXikl~4q#u /Q1i* |Ntf++wZ$f4{KEn7%׫q8 {#0\gZ?gxVe՞Q$rm0Zyk5xu p=rNp(f5fuEp [y*eՋGXVAOtRBx/գH?q)7Xߪzq*Sیm8pBZ]Yj1}CH`xZt]@9ňwW8{Z֗Oe >GfVA?/6?<`y ߊf(OwGr8R@،1v_#ŭ+,_) 0_3k"˛ &@%mBB5,O=wn s/ (aLR.m|_#vsB׭R 
+Opz}F7JUJ >:an+5J·rfVhxϹ_Y8K*]'}GctP{cWu>عRބ9c |8/]
+i*HI;<NFx^)`
+SK?,yS€{OS
+6=>Vh}#~~:+2"3 $R!S%V)u`bIdqK9 *̦M\3Y4Eg'i?U3MoT>m|".;|"Y-*"r2\lF.9giEip˛dy nDuZU21\jxOE#O@<Gp*+8[ 8
+z kp\1;.Z b.!ə- weA\x*1$s3\&̓$x ;x ZҤWn>nBڛi9!&#yC6GC@A)uG<NAp%OG*8]JAnFet),|
+ 6!e_e+gOR'Dҹ!s'DnxJLؒ1: &R] LZע$7 o V,g
+< R^*<<xTct, ܣqc7yC
+l<~hqc\BIWz7/=AA3'1]j?S'-3tgP1H1b42dmxW߁H1C.op^B@ I4#p7m6F00i])
+˔^c{4#v4^AͫWY4Qkbfd`HH[ֺˠSXʗ3_o4E&z=}jܔڧAmPk z%"ŖM(8"".#Ew\$M$$i
+ƒN7]
+׉3/.{b-D8=}yv`tqnw0-%hVCQ/=U;ы wHs6[OrV?TXo>vx4o>W MpXA^ )8Zsĭܸ>l+pc^LUĄj#*7@emT>w ¢iPa凢P SS0#KOՕjFK? ר?-b)>i|_Pu}9(rS:Bw@{)!gM}ՑO|=^`|\&wn6[b L@SPNRX@w/*PxZ@8% ̴}c7uԛܮ0PjjslցË6t<j9 'A<Mbl83vW<ңh`'SRz!bOa0u&c
+Au/V ET*D9xH(9KtJގg c~p|J\4mdCljsSNMvQwuZw;IHpbz$J5d?M[hubRD~ Iqtb dMlbm(hC614)/^Ñ,iO"+&9o
+ vdgG-/iyẍֆΏ)QM ƊeA^vS&7ϘչAhk` Ć^6g :.
+|P^M:jJ\]3Qh- VApNݠl
+j %Ƙ0ƾ&4*1Jb/FxKs6@.M O BA[M!7x2vn6[<S[02{~~5eZAS^"S=9GnNg0"hm(2h0Z֋7RN5~U pS=x;?R_F&:> "@G6
+IZ_wIOs/vRwTKZ
+?L /? ~/64yO+Z_N+ZU\p^̦ʞkVk`8#E(tza j-_e4&* &,:&ZG3!KFQ,' Jb6b?*+e6TX7oj_yC""hOiLN炙di=.m,CFxz[/|\pDxuYR ./[tuYEZQKe.ENc!arq&즎+GEL5s'$6nJ4NɄ)_y/PsEuR ID 60iS5К)1)F'C6(j2'ȒⲩKo':< ,|E%֖
+(EzUD@"xFI'_ɚ]^EX s:z|+͢_C [ N,2\EzNY<p:eUcT+x)d
+,j`T7Dj6IAӛeЅ!sV4Krx.gT\Z"0:̅A<?
+GzҠb/vd40Eʱ7/@^騒->X.
+I 2ڴ<lCZU,E~EUzoU9t,N5guyYUM{ì@M'A,@%`*,f4'2T+[ЛSwYcXڄ91?Gؤ2{:T16鵀YN&iY YrNI\f hdI6U~*F|7E`V v"V,%̎(wӂ~DDkz n1Aiگgz𩗮m+6a-s:q1sseفf+<9t_˺6Am f2GG\8-t66yv7ȳMlHy
+817GmE+7\o{BP2rB3Eh
+ `qQ^ ; ij2шN.cVrs@hBm %quuYEA%:d
+(G%@oeFʶvc
+a8GAJ^@@ lhO A''H(aWҁ `E#he6~b,YS# NO
+ڀ|a"p#@
+"-8*ǡh,Yh@
+KH>`#JV+W/2ڣ!*y㵌 )hSc),QTr\![ srx{yLP1!W"(琑?ǬrƩkeesąo9F$8n'{#~'P ^?D$52[9~!+]Z|H%sxc*݌S]3vbN0Aӆ%0mR0?_j8 hȒ*WYS2K}_Jo 4
+"( 
+1O'«:/]]y%7͑ґFc2RL2Mk oRr#{k 
+P?mw63c~CEBP/׉S-E*p̉s!θeYl
+SB$% /ainaȲM%:KCWU^Y*+;&Uʄe }nhL-moBx }TM=PbSoQomvlF7fታ:]:.UӗUpTS*؏0F=Ce""<FE$*|O tT cLC`g8eҭ1:[c|L]Nka~Q1o bh2IW ֮"~Ho۔6=tLE;(ځ<ZZ*W{i&o~\s!3>[C[yy1nQxMT]LVf00FE/yUłxX6R;3v 6fRQm#m6 aQ2Q2R~wƾ tܹEJ0`?P:[$CO5OM_<_ 07-ܹx0ƫ&3pQ~H(o~AO<_"FW 2s$?B"0R"G'(TaDeQ9qHm` u<wal\yM[ԘS^kG!-HLѤPN,'Y
+P9OU1~@ݻ*jjU *Rq\+l(\,KϪJ%\4C @EY5~br ÝX\1q5 )ȷOwP4qxrfo? -./9WQj.?cr]REz2cihbNtgy@//Lo352^nbTb7-#M8^B~FNz܋h 8{w{ҽ26y1E`T+̝k,?)lc.+5(X,p6 vQt~!o]kN;.yf$9x. tf+Fܠޠ # #^wLzwhrh)2aC;5&% r&HCzE ɤ!kOQ59 5E7k`MyA=̊⢟tutJ6(KTL,goUgc`1~9劔}t Zd@^uZ$ߏTȞe#?P˛PnPaǀF]&"`V\ R*-H7jnMrN}x9`<W;&aR =mcR68mIEG{kKÌ("][Ⱥ0(DXmܖ-;:U8xVtWiS">Pn^wYdUAA/
+(o2W #:j:u u{2neR.ۼ':ӗג[RhT tuŵ<?F,hk}fཙ8!c %R!9J7-M}3qNluJhkH'NC;/;
+0
+m"[AC
+.Q^RFYnV!#R'Pg3Zpr\x@RgA@LP*.z%瘸H8vNؑ힝
+8:Y7r+=PY(&-K[$K@[jaO:b}Lbc IY󆝔Q@S1GDrXC f
+-tW<wKɕO˰Ldž 9(Fc ;=9<\uYuҨKbc_PAb `
+"LNٓhd #Q-}MnY_y+u{U,L^4i&(г
+bY҉% nK0 i п cPaVa_OP-X.uV%M1}.3c|jFl#ix\M>14f^jMa@8Ńm|vթ!М 9 (I͊$
+$k_b,c4cR-. bAN,b^l
+[FzW;JJps;Hi|LJNswsFb#$ߟGK$ W\F(/Yl>VJ3c
+lK]/
+&, bxM"OL20G1dQ`07J0o &LK;6z{V^l 9=RYATDC7"2$S5 O0 ]C1*BM(ĺb5Uv
+z4=QB $WdE 'bM0E"XpYg1ɔz{簉n=*)5+%Lɒk!ynWk劾 cY^JѶys5Lhy xK+ᣌINTHFx5i+&k^(ڢi\*H5:6a(b>AZGFz^TS0C`k`4ۭ)&s@toማ2>=]c3k(u-*
+W
+endstream endobj 6 0 obj [5 0 R] endobj 28 0 obj <</CreationDate(D:20240428163440+02'00')/Creator(Adobe Illustrator CS6 \(Windows\))/ModDate(D:20240428163440+02'00')/Producer(Adobe PDF library 10.01)/Title(jason)>> endobj xref
+0 29
+0000000000 65535 f
+0000000016 00000 n
+0000000144 00000 n
+0000053800 00000 n
+0000000000 00000 f
+0000058408 00000 n
+0000213771 00000 n
+0000053851 00000 n
+0000054179 00000 n
+0000058707 00000 n
+0000058594 00000 n
+0000056830 00000 n
+0000057846 00000 n
+0000057894 00000 n
+0000058478 00000 n
+0000058509 00000 n
+0000058780 00000 n
+0000059140 00000 n
+0000060197 00000 n
+0000088175 00000 n
+0000089840 00000 n
+0000107678 00000 n
+0000133579 00000 n
+0000156625 00000 n
+0000165724 00000 n
+0000169520 00000 n
+0000182158 00000 n
+0000198404 00000 n
+0000213794 00000 n
+trailer
+<</Size 29/Root 1 0 R/Info 28 0 R/ID[<533976EE79E2684BA015A921443B9E75><D8242482EBE1814DB4EE97872CA857B8>]>>
+startxref
+213976
+%%EOF
diff --git a/macros/latex/contrib/jsonparse/jason/jason.svg b/macros/latex/contrib/jsonparse/jason/jason.svg
new file mode 100644
index 0000000000..fe8793dfa8
--- /dev/null
+++ b/macros/latex/contrib/jsonparse/jason/jason.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="250px" height="250px" viewBox="0 0 450 450" enable-background="new 0 0 449.5 435" xml:space="preserve">
+<circle fill="#3FA9F5" cx="239" cy="226" r="206.166"/>
+<g>
+ <defs>
+ <circle id="SVGID_1_" cx="239" cy="226" r="206.166"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <path clip-path="url(#SVGID_2_)" fill="#C69C6D" d="M418.334,389.667c0,0-10.334-12.333-36-86.667S344,189.333,333.667,163
+ c-5.552-14.149-12.545-22.326-17.83-26.869c7.769-5.957,15.778-13.185,19.83-20.131c6.902-11.834,11.667-24.5,15.667-38.5
+ C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5c-1.534,2.754-3.036,5.383-4.538,7.892l-125.587,25.33
+ C141.705,137.165,130.648,151.436,126,166c-4.127,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774l12.106,48.851
+ l56.113,69.247c13.436-9.009,28.206-20.065,46.512-27.122c13.874-5.348,33.133-8.479,51.113-12.082
+ c2.555,6.323,8.828,23.014,11.387,40.332c3.25,22,4.5,91.5,4.5,91.5L418.334,389.667z"/>
+ <path clip-path="url(#SVGID_2_)" fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M465.5,307.334
+ c0,0-9.667-14.833-21.667-21c-11.409-5.863-24.5-7.167-24.5-7.167s2.853-11.646,11.167-22.833C439.667,244,456,233.667,456,233.667
+ l-51.499-17.5c0,0,17.166-6.5,25.166-13.833c9.095-8.336,13.333-30,13.333-30s-47.621,2.806-54.333-15.167
+ C383.501,143.333,402.001,114,402.001,114s-27.334-6.333-41.167-6.167c-7.572,0.091-15.827,0.876-22.104,2.556
+ c-0.978,1.889-1.986,3.764-3.063,5.611c-4.052,6.946-12.062,14.174-19.83,20.131c5.285,4.543,12.278,12.72,17.83,26.869
+ c10.333,26.333,23.001,65.666,48.667,140s36,86.667,36,86.667l32.5-36.5c-15.167-3-22.334-20.5-22.334-20.5L465.5,307.334z"/>
+ <path clip-path="url(#SVGID_2_)" fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M234,448.5
+ c0,0-1.25-69.5-4.5-91.5c-2.559-17.318-8.832-34.009-11.387-40.332c-0.185,0.037-0.369,0.074-0.554,0.111"/>
+</g>
+<path fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M267.334,75.167
+ C256.668,65.5,245.5,64.333,236.667,64c-15.107-0.57-25-26.667-25-26.667s0,15.167-3,18.333c-6.167-9.333-19.333-11.833-29.667-11
+ c-14.596,1.177-24,11.667-24,11.667s14.5-2.833,24.167,7.167c9.667,10,10.167,15.167,10.167,15.167
+ c-7.167-9-25.834-6.334-42.167,5.333s-11.5,43-11.5,43s3.667-12.833,20.667-20.667c6.572-3.028,24-3.667,24-3.667
+ S155.5,103.5,150.667,132.5c-2.909,17.455,3.667,32.333,3.667,32.333s1.5-15.5,16.333-24.667c10.31-6.371,21.833-9.333,21.833-9.333
+ c-5.167,3.833-3.166,14.833-3.166,14.833s9-15.167,32.833-13.667c30.479,1.918,43.022-10.208,55.629-31.275
+ C277.24,94.63,275.157,82.257,267.334,75.167z"/>
+<path fill="#A67C52" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.487,355.872
+ c8.348-10.395,19.908-25.626,22.763-33.622c7.5-21-1.25-30.75-6-38s3.25-11.5-10-24.25S73.5,268.25,68,265.75S63,260,61.5,249
+ s-7.183-12.182-16.5-11c-12.646,1.604-18.5,24.5-21.75,40.25s-11.549,15.507-9.75,29c0.854,6.402,4.447,12.983,15.898,15.396
+ c-0.721,5.758-0.935,12.787,0.283,20.442c3.164,19.888,34.804,29.832,58.308,27.572C98.749,369.626,109.143,363.479,120.487,355.872
+ z"/>
+<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M189.334,78.667c0,0-0.5-5.167-10.167-15.167
+ c-1.713-1.772-3.58-3.135-5.489-4.188c0.317,6.082,0.921,11.189,1.303,14.006C181.138,73.124,186.281,74.833,189.334,78.667z"/>
+<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M179,44.667c10.334-0.833,23.5,1.667,29.667,11
+ c3-3.167,3-18.333,3-18.333s7.525,19.843,19.471,25.298c-4.58-16.15-21.08-31.12-27.888-36.632
+ c-7-5.667-16.625-19.333-16.625-19.333s-8.979,11.333-11.979,29c-0.542,3.195-0.864,6.542-1.031,9.882
+ C175.318,45.129,177.115,44.819,179,44.667z"/>
+<ellipse fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" cx="223.167" cy="190.959" rx="19.5" ry="17.375"/>
+<ellipse fill="#42210B" cx="221.751" cy="193" rx="7.917" ry="7"/>
+<path fill="#603813" d="M80.519,293.464c0,0,2.443-4.219,6.106-9.089C91.052,278.49,99.007,273.351,103,273
+ c7.125-0.625,12.198,1.105,9.299,6.695S99.936,291.193,93,292.125S80.519,293.464,80.519,293.464z"/>
+<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M296,149.5c0,0,30.334-17.5,39.667-33.5
+ c6.902-11.834,11.667-24.5,15.667-38.5C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5
+ c-1.534,2.754-3.036,5.383-4.538,7.892"/>
+<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.488,355.872
+ c13.437-9.009,28.207-20.065,46.512-27.122c24.045-9.269,64.273-11.878,85.969-21.821s24.408-43.392,24.408-43.392"/>
+<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M127.5,299.5c0,0-0.749,0.729-2.083,1.995
+ C126.919,300.316,127.5,299.5,127.5,299.5z"/>
+<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M39.236,323.495
+ c-0.724,4.556-1.093,11.276,2.014,15.005c5,6,14.5,15,36,2c18.048-10.912,41.196-32.388,48.167-39.005
+ c-4.023,3.157-14.707,8.937-38.917,8.755C59.839,310.05,53.549,322.611,39.236,323.495z"/>
+<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M29.398,322.646c1.963,0.413,4.15,0.708,6.602,0.854
+ c1.129,0.067,2.202,0.06,3.236-0.005"/>
+<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M108.345,308.401
+ c-16.22,8.63-44.097,22.899-51.74,23.26c-7.288,0.344-13.568-4.744-16.966-8.201c-0.135,0.01-0.266,0.026-0.403,0.035"/>
+<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M152.209,126.056
+ C141.705,137.165,130.648,151.436,126,166c-4.126,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774"/>
+</svg>
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
index 6e81ca7c44..ed7a1dded6 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.tex b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
index 2b0eff21c8..1cfcde1e18 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.tex
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
@@ -1,18 +1,18 @@
% File: jsonparse-doc.tex
-% Copyright 2024 Jasper Habicht (mail@jasperhabicht.de).
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%
-% This file is part of the `jsonparse' package (The Work in LPPL)
+% This file is part of the `jsonparse' package (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
-% This work has the LPPL maintenance status `author-maintained'.
+% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\jsonparsefileversion{0.5.6}
-\def\jsonparsefiledate{11 April 2024}
+\def\jsonparsefileversion{0.8.3}
+\def\jsonparsefiledate{28 April 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -182,16 +182,25 @@
\makedoctitle
[The jsonparse package]
{The \titlemacro{jsonparse} package}
- {An easy way to parse, store and access JSON data from files or strings in LaTeX documents}
- {Jasper Habicht}[E-mail: \href{mailto:mail@jasperhabicht.de}{mail@jasperhabicht.de}]
+ {A handy way to parse, store and access JSON data from files or strings in LaTeX documents}
+ {Jasper Habicht}[E-mail: \href{mailto:mail@jasperhabicht.de}{mail@jasperhabicht.de}. I am grateful to Joseph Wright, Jonathan P. Spratte and David Carlisle who helped me navigating the peculiarities of TeX and optimizing the code. Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber.]
{Version \jsonparsefileversion, released on \jsonparsefiledate}
\changes{v0.3.0}{2024/04/08}{First public beta release.}
\changes{v0.5.0}{2024/04/09}{Changed from string token variables to token lists to support Unicode.}
\changes{v0.5.5}{2024/04/09}{Bug fixes, introduction and enhancement of user functions.}
\changes{v0.5.6}{2024/04/11}{Bug fixes, escaping of special chars added.}
+\changes{v0.5.7}{2024/04/14}{Bug fixes, key-value option setting added.}
+\changes{v0.6.0}{2024/04/15}{Bug fixes, renaming of several commands.}
+\changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.}
+\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.}
+\changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.}
+\changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.}
+\changes{v0.8.3}{2024/04/28}{Escaping of characters with special meaning in TeX.}
\begin{document}
+\vspace*{-1cm}
+\noindent\hspace*{-3.5mm}\includegraphics[width=5cm]{jason/jason.pdf}
\printdoctitle
@@ -199,66 +208,117 @@
\section{Introduction}
-The \macro{jsonparse} package provides an easy way to read in JSON data from files or strings in LaTeX documents, parse the data and store it in a user-defined token variable. The package allows accessing the stored data via a JavaScript-flavored syntax.
+Hello guys, I am Jason, the JSON parsing horse. JSON data is my favorite thing to parse! But I found that converting JSON to TeX can be a bit tricky. Therefore, I created this package which I am happy to introduce to you.
+
+The \macro{jsonparse} package provides a handy way to read in JSON data from files or strings in LaTeX documents, parse the data and store it in a user-defined token variable. The package allows accessing the stored data via a JavaScript-flavored syntax.
This package is still in a beta stage and not thoroughly tested. Bugs or improvements can be issued via GitHub at \url{https://github.com/jasperhabicht/jsonparse/issues}.
\section{Loading the package}
-To install the package, copy the package file \macro{jsonparse.sty} into the working directory or into the \macro{texmf} directory. After the package has been installted, the \macro{jsonparse} package is loaded by calling \macro{\usepackage{jsonparse}} in the preamble of the document.
+To install the package, copy the package file \macro{jsonparse.sty} into the working directory or into the \macro{texmf} directory. After the package has been installed, the \macro{jsonparse} package is loaded by calling \macro{\usepackage{jsonparse}} in the preamble of the document.
The package does not load any dependencies.
-\begin{macrodef}debug\end{macrodef}
+\begin{macrodef}
+|debug|
+\end{macrodef}
The package can be loaded with the option \macro{debug}. It will then output to the log file every instance of a string, a boolean (true or false) value, a null value, a number as well as the start and end of every object and the start and end of every array that is found while parsing the JSON string or JSON file.
-\section{Escaping and special treatment of the input}
+\section{Escaping and special treatment of the input}\label{sec:escaping}
+
+In general, the package reads the JSON source as string, which means that all characters have category code 12 (other), except for spaces which have category code 10 (space). The \macro{\endlinechar} value is set to $-1$. Furthermore, if PDFLaTeX is used, the upper-half of the 8-bit range is set to ``active''. JSON, however, defines a small set of escape sequences and in order to be able to process these, the category code of the backslash is set to 0 (escpape).
+
+JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX control symbols \macro{\"}, \macro{\/}, \macro{\\}, \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} and \macro{\u}. These control symbols are prevented from expanding during parsing. For example, \macro{\"} is first defined as \macro{\exp_not:N \"} and only hen typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly.
+
+Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting keys below in section \ref{sec:settings}.
+
+It is possible to insert TeX macros to the JSON source that will eventually be parsed when typesetting. Backslashes of TeX macros need to be escaped by another backslash. The TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively.
+
+\begin{macrodef}
+|\x|[<token variable name>][<key>]
+\end{macrodef}
+Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by square brackets. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
-The package allows for empty lines in JSON strings. During parsing, every instance of the TeX macro \macro{\par} is replaced by a space.
+\begin{codeexamplecolumns}
+ \JSONParse{\myJSONdataA}{
+ { "a" : { "b" : "c" } }
+ }
-JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX macros \macro{\"}, \macro{\/} and \macro{\\}. During parsing, \macro{\"} expands to \macro{\exp_not:N \"} (i.\,e. it is prevented to expand during parsing) and only when typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly. Similarly, \macro{\/} expands to \macro{\exp_not:N \/} and finally to \macro{/} while \macro{\\} expands to \macro{\exp_not:N \\} and finally to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12).
+ \JSONParse{\myJSONdataB}{
+ { "d" : \x[myJSONdataA][a] }
+ }
-Due to the above procedure, the TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively.
+ \JSONParseValue{\myJSONdataB}{d.b}
+\end{codeexamplecolumns}
-Other escape sequences defined by JSON, such as \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (the latter followed by a hex value) are not escaped and it is up to the user to process these sequences before feeding them into the commands provided by this package.
+\begin{macrodef}
+|escape|={<all>}
+|escape|={<none>}
+|escape|={<number sign>}
+|escape|={<dollar sign>}
+|escape|={<percent sign>}
+|escape|={<ampersand>}
+|escape|={<circumflex accent>}
+|escape|={<low line>}
+|escape|={<tilde>}
+\end{macrodef}
+The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into their relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
-Characters that are special to TeX are not handled in a special way and will be treated by TeX the same way as if the user had input them in the document.
+The naming of the relevant characters follows their Unicode names. However, \macro{hash} exists as alias for \macro{number sign}, \macro{dollar} as alias for \macro{dollar sign}, \macro{percent} for \macro{percent sign}, \macro{circumflex} for \macro{circumflex accent} and \macro{underscore} for \macro{low line}.
-Setting the internal boolean \macro{\l_jsonparse_escape_input_bool} to false disables the treatment of the input as described in this section.
+\begin{macrodef}
+replacement/|backspace|={<string>}
+replacement/|formfeed|={<string>}
+replacement/|linefeed|={<string>}
+replacement/|carriage return|={<string>}
+replacement/|horizontal tab|={<string>}
+\end{macrodef}
+These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement.
\section{Main user commands}
\begin{macrodef}
-|\JSONParse|{<token variable>}{<JSON string>}
+|\JSONParse|[<file name>]{<token variable>}{<JSON string>}
\end{macrodef}
-The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The first argument takes the name of the token variable that is created by the command. The second argument takes the JSON string to be parsed.
+The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed.
-For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseGetValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
+For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
+
+The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below.
\begin{macrodef}
-|\JSONParseFromFile|{<token variable>}{<JSON file>}
+|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>}
\end{macrodef}
-The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as second argument the path to the JSON file relative to the working directory.
+The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory.
\begin{macrodef}
-|\JSONParseGetValue|{<token variable>}{<key>}
-|\JSONParseGetValue*|{<token variable>}{<key>}
+|\JSONParseKeys|{<token variable>}{<token variable>}
\end{macrodef}
-The command \macro{\JSONParseGetValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax.
+The command \macro{\JSONParseKeys} is used to store all top-level keys of a parsed JSON object as array into a token variable. The command takes as first argument the token variable that holds the parsed JSON data. The second argument takes the token variable that is assigned a JSON array containing the top-level keys of the object represented by the token variable in the first argument. The token variable to store the keys as array is created if it does not exist.
+
+\begin{macrodef}
+|\JSONParseValue|{<token variable>}{<key>}
+|\JSONParseValue*|{<token variable>}{<key>}
+|\JSONParseExpandableValue|{<token variable>}{<key>}
+\end{macrodef}
+The command \macro{\JSONParseValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax.
+
+If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable \macro{\myJSONdata}, using \macro{\JSONParseValue{\myJSONdata}{key}} would extract the value associated with the key \macro{key}, which in this case is \macro{value}, and typeset it to the document.
-If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable \macro{\myJSONdata}, using \macro{\JSONParseGetValue{\myJSONdata}{key}} would extract the value associated with the key \macro{key}, which in this case is \macro{value}, and typeset it to the document.
+Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseValue{\myJSONdata}{outer_key.inner_key}} can be used. To give an example for an array, the command \macro{\JSONParseValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the JSON string \macro{{ "key" : [ "one" , "two" ] }}.
-Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseGetValue{\myJSONdata}{outer_key.inner_key}} can be used. The command \macro{\JSONParseGetValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the parsed JSON string \macro{{ "key" : [ "one" , "two" ] }}.
+The non-starred variant of this command, \macro{\JSONParseValue}, rescans the token list before it is typeset (which means that all category codes that may have been changed before are set to the default values). The starred variant, \macro{\JSONParseValue*}, does not rescan the ouput. The non-starred variants of this and similar commands should therefore not be placed in a \macro{\JSONParse} command.
-When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using \macro{\JSONParseSetChildSeparator}) returns the whole JSON object as string. The output of whole objects or arrays is not meant to be printed, but it can again be parsed using \macro{\JSONParse}.
+When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using the key \macro{child sep}) returns the whole JSON object as string.
-The starred variant, \macro{\JSONParseGetValue*}, rescans the token list before it is typeset, making it possible to place TeX commands in the JSON file. The starred variants of this and similar commands should not be placed in a \macro{\JSONParse} command. In order to adhere to proper JSON syntax, backslashes need to be escaped in the JSON source with another backslash.
+Whole objects or arrays can also be output as JSON string for further use in other macros using the expandable command \macro{\JSONParseExpandableValue}.
\begin{macrodef}
-|\JSONParseGetArrayValues|{<token variable>}{<key>}[<subkey>]{<string>}
-|\JSONParseGetArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>}
+|\JSONParseArrayValues|{<token variable>}{<key>}[<subkey>]{<string>}
+|\JSONParseArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>}
\end{macrodef}
-The command \macro{\JSONParseGetArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional an can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset.
+The command \macro{\JSONParseArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional and can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset.
For example, let us assume the following JSON data structure is parsed into the token variable \macro{\myJSONdata}:
@@ -277,15 +337,15 @@ For example, let us assume the following JSON data structure is parsed into the
}
\end{codeexample}
-Then using \macro{\JSONParseGetArrayValues{\myJSONdata}{array}[key_a]{, }}, the text \macro{one, three} is typeset to the document.
+Then, when using \macro{\JSONParseArrayValues{\myJSONdata}{array}[key_a]{, }}, `one, three' is typeset to the document.
-The starred variant, \macro{\JSONParseGetArrayValues*}, rescans the token lists before they are typeset.
+The starred variant, \macro{\JSONParseArrayValues*}, does not rescan the token lists before they are typeset.
\begin{macrodef}
-|\JSONParseUseArrayValues|{<token variable>}{<key>}[<subkey>]{<command name>}
-|\JSONParseUseArrayValues*|{<token variable>}{<key>}[<subkey>]{<command name>}
+|\JSONParseArrayValuesMap|{<token variable>}{<key>}[<subkey>]{<command name>}
+|\JSONParseArrayValuesMap*|{<token variable>}{<key>}[<subkey>]{<command name>}
\end{macrodef}
-The command \macro{\JSONParseUseArrayValues} takes the same first three arguments as the command \macro{\JSONParseGetArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its defintion, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively.
+The command \macro{\JSONParseArrayValuesMap} takes the same first three arguments as the command \macro{\JSONParseArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its definition, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively.
For example, let us assume the same JSON data structure as defined above parsed into the token variable \macro{\myJSONdata}. Then, the following can be done:
@@ -297,85 +357,76 @@ For example, let us assume the same JSON data structure as defined above parsed
}
\begin{itemize}
- \JSONParseUseArrayValues{\myJSONdata}
+ \JSONParseArrayValuesMap{\myJSONdata}
{array}[key_a]{myJSONitem}
\end{itemize}
\end{codeexamplecolumns}
-The starred variant, \macro{\JSONParseUseArrayValues*}, rescans the token lists before they are typeset.
+The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the token lists before they are typeset.
\begin{macrodef}
-|\JSONParseGetArrayCount|{<token variable>}{<key>}
+|\JSONParseArrayCount|{<token variable>}{<key>}
\end{macrodef}
-The command \macro{\JSONParseGetArrayCount} takes as frist argument a token variable that holds a parsed JSON string or JSON file and as second argument a key. It returns an integer representing the number of items contained in the selected array.
+The command \macro{\JSONParseArrayCount} takes as first argument a token variable holding a parsed JSON string or JSON file and as second argument a key. It returns an integer representing the number of items contained in the selected array.
-\subsection{Commands to alter separators and output}
+\subsection{Externalising parsed JSON data}\label{sec:externalizing}
-The package provides a set of commands that can be used to change the separators used to select the relevant value in the JSON structure as well as the output that is generated from the JSON data.
+Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again.
\begin{macrodef}
-|\JSONParseSetChildSeparator|{<string>}
-|\JSONParseSetArraySeparator|{<string>}{<string>}
+|\JSONParsePut|{<token variable>}{<key>}[<JSON string>]
\end{macrodef}
-The two commands \macro{\JSONParseSetChildSeparator} and \macro{\JSONParseSetArraySeparator} can be used to change the separators for child objects or array items in the syntax used to select a specific value in the JSON data structure. Per default, the child separator is a dot (\macro{.}) while the array separators are sqare brackets (\macro{[} and \macro{]}). The command \macro{\JSONParseSetArraySeparator} takes two arguments of which the first is the character used before the array separator and the second is used after. Changing the separators can be useful if keys in the JSON structure already use these characters.
+The command \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It just adds a key-value pair to the property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data.
+
+\subsection{Changing separators, output and other settings}\label{sec:settings}
+
+The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things.
\begin{macrodef}
-|\JSONParseSetTrueString|{<string>}
-|\JSONParseSetFalseString|{<string>}
-|\JSONParseSetNullString|{<string>}
+|\JSONParseSet|{<key-value list>}
\end{macrodef}
-The commands \macro{\JSONParseSetTrueString} and \macro{\JSONParseSetFalseString} as well as the command \macro{\JSONParseSetNullString} can be used to change the output that is typeset if the JSON value is \macro{true}, \macro{false} or \macro{null}. The default strings that are typeset are \macro{true}, \macro{false} or \macro{null} resepctively.
+The commands \macro{\JSONParseSet} can be used to specify settings via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. The following keys are available:
\begin{macrodef}
-|\JSONParseSetArrayIndexZeroBased|
-|\JSONParseSetArrayIndexOneBased|
+separator/|child|={<string>}
\end{macrodef}
-The command \macro{\JSONParseSetArrayIndexZeroBased} sets the numbering of the index of array items to zero-based. With the command \macro{\JSONParseSetArrayIndexOneBased}, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
-
-\subsection{Internal variables and commands}
+With the key \macro{child sep}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
\begin{macrodef}
-|\l_jsonparse_debug_mode_bool|
+separator/|array left|={<string>}
+separator/|array right|={<string>}
\end{macrodef}
-The token variable \macro{\l_jsonparse_debug_mode_bool} holds the boolean value true if the package is loaded with the \macro{debug} option and false otherwise. If set to true, the debug mode will be used for the following use of \macro{\jsonparse_parse:n}.
+With the keys \macro{array sep left} and \macro{array sep right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters.
\begin{macrodef}
-|\l_jsonparse_child_sep_str|
-|\l_jsonparse_array_sep_left_str|
-|\l_jsonparse_array_sep_right_str|
-|\l_jsonparse_true_str|
-|\l_jsonparse_false_str|
-|\l_jsonparse_null_str|
-|\l_jsonparse_array_index_zero_based_bool|
+replacement/|true|={<string>}
+replacement/|false|={<string>}
+replacement/|null|={<string>}
\end{macrodef}
-The token variable \macro{\l_jsonparse_child_sep_str} holds the string \macro{.} per default or the string set by the user command \macro{\JSONParseSetChildSeparator}.
-
-The token variable \macro{\l_jsonparse_array_sep_left_str} holds the string \macro{[} per default or the string given as first argument to the user command \macro{\JSONParseSetArraySeparator}.
-
-The token variable \macro{\l_jsonparse_array_sep_right_str} holds the string \macro{]} per default or the string given as second argument to the user command \macro{\JSONParseSetArraySeparator}.
-
-The token variable \macro{\l_jsonparse_true_str} holds the string \macro{true} per default or the string set by the user command \macro{\JSONParseSetTrueString}.
-
-{\sloppy The token variable \macro{\l_jsonparse_false_str} holds the string \macro{false} per default or the string set by the user command \macro{\JSONParseSetFalseString}. \par}
-
-The token variable \macro{\l_jsonparse_null_str} holds the string \macro{null} per default or the string set by the user command \macro{\JSONParseSetNullString}.
-
-The token variable \macro{\l_jsonparse_array_index_zero_based_bool} holds a boolean value which is \macro{true} per default or if the user command \macro{\JSONParseSetArrayIndexZeroBased} was called. The boolean value is \macro{false} if the user command \macro{\JSONParseSetArrayIndexOneBased} was called.
+With the keys \macro{true}, \macro{false} and \macro{null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement.
\begin{macrodef}
-|\g_jsonparse_entries_prop|
+|array index zero-based|
+|array index zero-based|={<boolean>}
\end{macrodef}
-The token variable (property list) \macro{\g_jsonparse_entries_prop} holds key-value pairs representing all elements of a JSON data structure generated by a previous run of \macro{\jsonparse_parse:n}.
+If set (or explicitly set to \macro{true}), the key \macro{array index zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+
+\subsection{L3 commands}
\begin{macrodef}
|\jsonparse_parse:n| {<JSON string>}
\end{macrodef}
-The command \macro{\jsonparse_parse:n} takes as argument a JSON string and populates the token variable (property list) \macro{\g_jsonparse_entries_prop} with key-value pairs representing all elements of the JSON data structure represented by this string.
+The command \macro{\jsonparse_parse:n} takes as argument a JSON string and populates the token variable (property list) \macro{\g_jsonparse_entries_prop} with key-value pairs representing all elements of the JSON data structure represented by this string. This command does not escape the input in any way.
\begin{macrodef}
|\jsonparse_parse_to_prop:Nn| <token variable> {<JSON string>}
\end{macrodef}
-The command \macro{\jsonparse_parse_to_prop:Nn} creates the token variable given as the first arguments as property list and, after having called \macro{\jsonparse_parse:n} using the second argument, sets this newly created property list equal to \macro{\g_jsonparse_entries_prop}.
+The command \macro{\jsonparse_parse_to_prop:Nn} creates the token variable given as the first arguments as property list and, after having called \macro{\jsonparse_parse:n} using the second argument, sets this newly created property list equal to \macro{\g_jsonparse_entries_prop}. If escaping is activated, this command will pre-process the input according to the selected escaping mode before forwarding it to \macro{\jsonparse_parse:n}. See more on escaping above in section \ref{sec:escaping}.
+
+\begin{macrodef}
+|\jsonparse_filter:Nn| <token variable> {<key>}
+\end{macrodef}
+The command \macro{\jsonparse_parse_to_prop:Nn} processes the token variable given as the first arguments as property list and filters it according to the key given as second argument. Filtering means that for every entry in the property list, the key of this entry is compared against the key given to the command. If the key in the property list starts with the given key, the matching part is removed from the key in the property list. If the keys do not match, the entry is completely removed from the property list.
% =====
diff --git a/macros/latex/contrib/jsonparse/jsonparse.sty b/macros/latex/contrib/jsonparse/jsonparse.sty
index a50bafc52d..680e89bfca 100644
--- a/macros/latex/contrib/jsonparse/jsonparse.sty
+++ b/macros/latex/contrib/jsonparse/jsonparse.sty
@@ -1,113 +1,215 @@
% File: jsonparse.sty
-% Copyright 2024 Jasper Habicht (mail@jasperhabicht.de).
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%
-% This file is part of the `jsonparse' package (The Work in LPPL)
+% This file is part of the `jsonparse' package (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
-% This work has the LPPL maintenance status `author-maintained'.
+% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {jsonparse} {2024-04-11} {0.5.6}
+\ProvidesExplPackage {jsonparse} {2024-04-28} {0.8.3}
{JSON Parse}
-\bool_new:N \l_jsonparse_debug_mode_bool
+\bool_new:N \l__jsonparse_debug_mode_bool
\keys_define:nn { jsonparse } {
- debug .bool_set:N = \l_jsonparse_debug_mode_bool ,
- debug .default:n = { true } ,
+ debug .bool_set:N = \l__jsonparse_debug_mode_bool ,
+ debug .default:n = { true } ,
}
\ProcessKeyOptions [ jsonparse ]
+\msg_new:nnn { jsonparse } { debug-info } {
+ #1
+}
+
\msg_new:nnn { jsonparse } { parsing-error } {
- \msg_warning_text:n { jsonparse } \iow_newline:
+ \msg_error_text:n { jsonparse } \iow_newline:
Could ~ not ~ parse ~ JSON. \iow_newline:
Parsing ~ error ~ at ~ key ~ `#1` ~ with ~ value ~ `#2`.
}
-\msg_new:nnn { jsonparse } { debug-info } {
- #1
+\msg_new:nnn { jsonparse } { nested-non-expandable } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ Nested ~ use ~ of ~ \token_to_str:N \JSONParseValue \c_space_tl not ~ allowed. \iow_newline:
+ Use ~ \token_to_str:N \JSONParseExpandableValue \c_space_tl instead.
}
-% ===
-
-\str_new:N \l_jsonparse_child_sep_str
-\str_set:Nn \l_jsonparse_child_sep_str { . }
-\str_new:N \l_jsonparse_array_sep_left_str
-\str_set:Nn \l_jsonparse_array_sep_left_str { [ }
-\str_new:N \l_jsonparse_array_sep_right_str
-\str_set:Nn \l_jsonparse_array_sep_right_str { ] }
-\str_new:N \l_jsonparse_true_str
-\str_set:Nn \l_jsonparse_true_str { true }
-\str_new:N \l_jsonparse_false_str
-\str_set:Nn \l_jsonparse_false_str { false }
-\str_new:N \l_jsonparse_null_str
-\str_set:Nn \l_jsonparse_null_str { null }
+\msg_new:nnn { jsonparse } { file-not-found } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ Could ~ not ~ find ~ file ~ #1.
+}
-\bool_new:N \l_jsonparse_array_index_zero_based_bool
-\bool_set_true:N \l_jsonparse_array_index_zero_based_bool
+\msg_new:nnn { jsonparse } { file-exists } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ File ~ #1 ~ already ~ existing.
+}
-\bool_new:N \l_jsonparse_escape_input_bool
-\bool_set_true:N \l_jsonparse_escape_input_bool
+\msg_new:nnn { jsonparse } { escape-in-key } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ Invalid ~ escape ~ sequence ~ #1 ~ in ~ key.
+}
-\NewDocumentCommand { \JSONParseSetChildSeparator } { m } {
- \str_set:Nn \l_jsonparse_child_sep_str { #1 }
+\msg_new:nnn { jsonparse } { escape-char-not-found } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ Escape ~ character ~ #1 ~ not ~ found.
}
-\NewDocumentCommand { \JSONParseSetArraySeparator } { m m } {
- \str_set:Nn \l_jsonparse_array_sep_left_str { #1 }
- \str_set:Nn \l_jsonparse_array_sep_right_str { #2 }
+\msg_new:nnn { jsonparse } { saving-external } {
+ \msg_info_text:n { jsonparse } \iow_newline:
+ Saving ~ external ~ file: ~ #1.
}
-\NewDocumentCommand { \JSONParseSetTrueString } { m } {
- \str_set:Nn \l_jsonparse_true_str { #1 }
+\msg_new:nnn { jsonparse } { loading-external } {
+ \msg_info_text:n { jsonparse } \iow_newline:
+ Loading ~ from ~ external ~ file: ~ #1.
}
-\NewDocumentCommand { \JSONParseSetFalseString } { m } {
- \str_set:Nn \l_jsonparse_false_str { #1 }
+% ===
+
+\str_new:N \l__jsonparse_child_sep_str
+\str_new:N \l__jsonparse_array_sep_left_str
+\str_new:N \l__jsonparse_array_sep_right_str
+\str_new:N \l__jsonparse_true_str
+\str_new:N \l__jsonparse_false_str
+\str_new:N \l__jsonparse_null_str
+\bool_new:N \l__jsonparse_array_index_zero_based_bool
+
+\str_new:N \l__jsonparse_backspace_str
+\str_new:N \l__jsonparse_formfeed_str
+\str_new:N \l__jsonparse_linefeed_str
+\str_new:N \l__jsonparse_carriage_return_str
+\str_new:N \l__jsonparse_horizontal_tab_str
+
+\clist_new:N \l__jsonparse_escape_tex_chars_clist
+\clist_set:Nn \l__jsonparse_escape_tex_chars_clist {
+ number_sign ,
+ dollar_sign ,
+ percent_sign ,
+ ampersand ,
+ circumflex_accent ,
+ low_line ,
+ tilde
}
-\NewDocumentCommand { \JSONParseSetNullString } { m } {
- \str_set:Nn \l_jsonparse_null_str { #1 }
+\str_new:N \l__jsonparse_escape_temp_str
+\clist_map_inline:Nn \l__jsonparse_escape_tex_chars_clist {
+ \bool_new:c { l__jsonparse_escape_ #1 _bool }
}
-\NewDocumentCommand { \JSONParseSetArrayIndexZeroBased } { } {
- \bool_set_true:N \l_jsonparse_array_index_zero_based_bool
+\keys_define:nn { jsonparse } {
+ array ~ index ~ zero-based .bool_set:N = \l__jsonparse_array_index_zero_based_bool ,
+ array ~ index ~ zero-based .default:n = { true } ,
+ array ~ index ~ zero-based .initial:n = { true } ,
+ separator .code:n = { \keys_set:nn { jsonparse / separator } {#1} },
+ separator / child .str_set:N = \l__jsonparse_child_sep_str ,
+ separator / child .initial:n = { . } ,
+ separator / array ~ left .str_set:N = \l__jsonparse_array_sep_left_str ,
+ separator / array ~ left .initial:n = { [ } ,
+ separator / array ~ right .str_set:N = \l__jsonparse_array_sep_right_str ,
+ separator / array ~ right .initial:n = { ] } ,
+ replacement .code:n = { \keys_set:nn { jsonparse / replacement } {#1} },
+ replacement / true .str_set:N = \l__jsonparse_true_str ,
+ replacement / true .initial:n = { true } ,
+ replacement / false .str_set:N = \l__jsonparse_false_str ,
+ replacement / false .initial:n = { false } ,
+ replacement / null .str_set:N = \l__jsonparse_null_str ,
+ replacement / null .initial:n = { null } ,
+ replacement / backspace .str_set:N = \l__jsonparse_backspace_str ,
+ replacement / backspace .initial:n = { ~ } ,
+ replacement / formfeed .str_set:N = \l__jsonparse_formfeed_str ,
+ replacement / formfeed .initial:n = { ~ } ,
+ replacement / linefeed .str_set:N = \l__jsonparse_linefeed_str ,
+ replacement / linefeed .initial:n = { ~ } ,
+ replacement / carriage ~ return .str_set:N = \l__jsonparse_carriage_return_str ,
+ replacement / carriage ~ return .initial:n = { ~ } ,
+ replacement / horizontal ~ tab .str_set:N = \l__jsonparse_horizontal_tab_str ,
+ replacement / horizontal ~ tab .initial:n = { ~ } ,
+ escape .code:n = {
+ \str_case:nnF {#1} {
+ { all } {
+ \clist_map_inline:Nn \l__jsonparse_escape_tex_chars_clist {
+ \bool_set_true:c { l__jsonparse_escape_ ##1 _bool }
+ }
+ }
+ { none } {
+ \clist_map_inline:Nn \l__jsonparse_escape_tex_chars_clist {
+ \bool_set_false:c { l__jsonparse_escape_ ##1 _bool }
+ }
+ }
+ } {
+ \clist_map_inline:nn {#1} {
+ \str_set:Nn \l__jsonparse_escape_temp_str {##1}
+ \str_replace_all:Nnn \l__jsonparse_escape_temp_str { ~ } { _ }
+ \bool_if_exist:cTF { l__jsonparse_escape_ \l__jsonparse_escape_temp_str _bool } {
+ \bool_set_true:c { l__jsonparse_escape_ \l__jsonparse_escape_temp_str _bool }
+ } {
+ \str_case:nnF {##1} {
+ { hash } {
+ \bool_set_true:c { l__jsonparse_escape_number_sign_bool }
+ }
+ { dollar } {
+ \bool_set_true:c { l__jsonparse_escape_dollar_sign_bool }
+ }
+ { percent } {
+ \bool_set_true:c { l__jsonparse_escape_percent_sign_bool }
+ }
+ { circumflex } {
+ \bool_set_true:c { l__jsonparse_escape_circumflex_accent_bool }
+ }
+ { underscore } {
+ \bool_set_true:c { l__jsonparse_escape_low_line_bool }
+ }
+ } {
+ \msg_error:nno { jsonparse } { escape-char-not-found }
+ {##1}
+ }
+ }
+ }
+ }
+ }
}
-\NewDocumentCommand { \JSONParseSetArrayIndexOneBased } { } {
- \bool_set_false:N \l_jsonparse_array_index_zero_based_bool
+\NewDocumentCommand { \JSONParseSet } { m } {
+ \keys_set:nn { jsonparse } {#1}
}
% ===
-\cs_generate_variant:Nn \tl_count:n { e }
+\cs_if_exist:NF \str_casefold:n {
+ \cs_new:Npn \str_casefold:n { \str_foldcase:n }
+}
+
+\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nne }
\cs_generate_variant:Nn \tl_range:nnn { nne , nen }
\cs_generate_variant:Nn \tl_range:Nnn { Nne , Nen }
-\cs_generate_variant:Nn \tl_remove_once:Nn { Ne }
-\cs_generate_variant:Nn \tl_rescan:nn { ne }
+\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
+\cs_generate_variant:Nn \tl_replace_all:Nnn { Non , Noe }
+\cs_generate_variant:Nn \tl_replace_once:Nnn { Non }
+\cs_generate_variant:Nn \tl_rescan:nn { no , ne }
\cs_generate_variant:Nn \tl_set:Nn { Ne }
-\cs_generate_variant:Nn \tl_set_rescan:Nnn { Nne }
-\cs_generate_variant:Nn \tl_trim_spaces:n { V }
+\cs_generate_variant:Nn \tl_trim_spaces:n { e }
\cs_generate_variant:Nn \str_case_e:nn { en }
-\cs_generate_variant:Nn \str_head_ignore_spaces:n { e }
-\cs_generate_variant:Nn \str_set:Nn { Ne }
+\cs_generate_variant:Nn \str_casefold:n { o }
+\cs_generate_variant:Nn \str_head_ignore_spaces:n { o }
\cs_generate_variant:Nn \prop_gput:Nnn { Nee }
-\cs_generate_variant:Nn \prop_put:Nnn { Nee }
-\cs_generate_variant:Nn \seq_use:Nn { Ne }
-\cs_generate_variant:Nn \msg_log:nnn { nno }
-
-\prg_generate_conditional_variant:Nnn \tl_if_head_is_group:n { e } { TF }
-\prg_generate_conditional_variant:Nnn \str_case:nn { en } { F }
-\prg_generate_conditional_variant:Nnn \str_case_e:nn { en } { F }
-\prg_generate_conditional_variant:Nnn \str_if_eq:nn { ee } { T }
-\prg_generate_conditional_variant:Nnn \str_if_eq:nn { en } { T , TF }
+\cs_generate_variant:Nn \prop_item:Nn { Ne , ce }
+\cs_generate_variant:Nn \prop_put:Nnn { Nen , Nee }
+\cs_generate_variant:Nn \iow_now:Nn { Ne }
+\cs_generate_variant:Nn \msg_error:nnn { nno }
+\cs_generate_variant:Nn \msg_error:nnnn { nnoo }
+\cs_generate_variant:Nn \msg_log:nnn { nne }
+
+\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { en } { T }
+\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { oN } { T , TF }
+\prg_generate_conditional_variant:Nnn \tl_if_in:nn { nV } { F }
+\prg_generate_conditional_variant:Nnn \str_if_eq:nn { en , eV } { T , TF }
\prop_new:N \g_jsonparse_entries_prop
\prop_new:N \l__jsonparse_temp_prop
-\tl_new:N \l__jsonparse_json_tl
+\tl_new:N \g__jsonparse_json_tl
\tl_new:N \l__jsonparse_input_tl
\tl_new:N \l__jsonparse_temp_tl
\tl_new:N \l__jsonparse_prefix_tl
@@ -115,127 +217,164 @@
\tl_new:N \l__jsonparse_val_tl
\tl_new:N \l__jsonparse_object_array_key_tl
\tl_new:N \l__jsonparse_object_array_val_tl
-\tl_new:N \l__jsonparse_array_prefix_tl
\tl_new:N \l__jsonparse_remainder_tl
\int_new:N \l__jsonparse_array_index_int
\int_new:N \l__jsonparse_array_count_int
\int_new:N \l__jsonparse_array_count_last_int
-\bool_new:N \l__prop_map_first_bool
+\bool_new:N \l__jsonparse_prop_map_first_bool
+\bool_new:N \l__jsonparse_load_external_bool
\ior_new:N \l__jsonparse_json_ior
+\iow_new:N \g__jsonparse_externalize_iow
+
+% ===
+
+\cctab_const:Nn \c__jsonparse_json_escape_cctab {
+ \cctab_select:N \c_str_cctab
+ \char_set_catcode_escape:n { 92 }
+ \bool_lazy_or:nnF
+ { \sys_if_engine_xetex_p: } { \sys_if_engine_luatex_p: }
+ { \int_step_function:nnN { 128 } { 255 } \char_set_catcode_active:n }
+}
% ===
-\cs_new:Npn \jsonparse_parse_to_prop:Nn #1#2 {
- \bool_if:NT \l_jsonparse_debug_mode_bool {
+\cs_new_protected:Npn \jsonparse_parse_to_prop:Nn #1#2 {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nne { jsonparse } { debug-info } {
\iow_newline:
Parsing ~ JSON ~ ...
}
}
\prop_gclear:N \g_jsonparse_entries_prop
- \group_begin:
- \bool_if:NT \l_jsonparse_escape_input_bool {
- \tl_set_eq:NN \par \c_space_tl
- \tl_set:Nn \" { \exp_not:N \" }
- \tl_set:Nn \/ { \exp_not:N \/ }
- \tl_set:Nn \\ { \exp_not:N \\ }
- }
- \jsonparse_parse:n {#2}
- \group_end:
- \prop_set_eq:NN #1 \g_jsonparse_entries_prop
- \bool_if:NT \l_jsonparse_debug_mode_bool {
+ \jsonparse_parse:n {#2}
+ \prop_gset_eq:NN #1 \g_jsonparse_entries_prop
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nne { jsonparse } { debug-info } {
JSON ~ parsing ~ done. \iow_newline:
}
}
}
-\cs_new:Npn \jsonparse_parse:n #1 {
- \tl_set:Ne \l__jsonparse_input_tl { \tl_trim_spaces:n {#1} }
- \tl_if_head_is_group:eTF { \l__jsonparse_input_tl } {
- \exp_last_unbraced:Ne
- \__jsonparse_parse_object:w \l__jsonparse_input_tl \q_stop
+\cs_new_protected:Npn \jsonparse_parse:n #1 {
+ \tl_set:Ne \l__jsonparse_input_tl { \tl_trim_spaces:e {#1} }
+ \cs_if_exist_use:cTF { __jsonparse_parse_ \str_head_ignore_spaces:o { \l__jsonparse_input_tl } :w } {
+ \l__jsonparse_input_tl \q_stop
} {
- \str_case_e:enF { \str_head_ignore_spaces:e { \l__jsonparse_input_tl } } {
- { [ } {
- \exp_last_unbraced:Ne
- \__jsonparse_parse_array_begin:w \l__jsonparse_input_tl \q_stop
- }
- { ] } {
- \exp_last_unbraced:Ne
- \__jsonparse_parse_array_end:w \l__jsonparse_input_tl \q_stop
- }
- { " } {
- \exp_last_unbraced:Ne
- \__jsonparse_parse_string_key:w \l__jsonparse_input_tl \q_stop
- }
- } {
- % other
- \exp_last_unbraced:Ne
- \__jsonparse_parse_other:w \l__jsonparse_input_tl \q_stop
- }
+ % other
+ \exp_last_unbraced:No
+ \__jsonparse_parse_other:w \l__jsonparse_input_tl \q_stop
}
}
% ===
-\cs_new:Npn \__jsonparse_parse_object:w #1#2 \q_stop {
+\cs_new:cpn { __jsonparse_parse_ \c_left_brace_str :w } #1 \q_stop {
+ \exp_last_unbraced:No
+ \__jsonparse_parse_object_begin:w #1 \q_stop
+}
+
+\cs_new:cpn { __jsonparse_parse_ \c_right_brace_str :w } #1 \q_stop {
+ \exp_last_unbraced:No
+ \__jsonparse_parse_object_end:w #1 \q_stop
+}
+
+\cs_new:cpn { __jsonparse_parse_ [ :w } #1 \q_stop {
+ \exp_last_unbraced:No
+ \__jsonparse_parse_array_begin:w #1 \q_stop
+}
+
+\cs_new:cpn { __jsonparse_parse_ ] :w } #1 \q_stop {
+ \exp_last_unbraced:No
+ \__jsonparse_parse_array_end:w #1 \q_stop
+}
+
+\cs_new:cpn { __jsonparse_parse_ " :w } #1 \q_stop {
+ \exp_last_unbraced:No
+ \__jsonparse_parse_string_key:w #1 \q_stop
+}
+
+\cs_new:Npn \__jsonparse_array_key_set: {
+ \str_if_eq:eVT {
+ \tl_range:Nen \l__jsonparse_prefix_tl {
+ \int_eval:n {
+ -1 * \tl_count:N \l__jsonparse_array_sep_left_str
+ }
+ } { -1 }
+ } \l__jsonparse_array_sep_left_str {
+ \int_incr:N \l__jsonparse_array_index_int
+ \tl_set:Ne \l__jsonparse_key_tl {
+ \l__jsonparse_prefix_tl \int_use:N \l__jsonparse_array_index_int \l__jsonparse_array_sep_right_str
+ }
+ }
+}
+
+\exp_last_unbraced:NNo \cs_new:Npn \__jsonparse_parse_object_begin:w \c_left_brace_str #1 \q_stop {
\__jsonparse_array_key_set:
- \tl_set:Ne \l__jsonparse_remainder_tl {#2}
\group_begin:
+ \tl_set:Nn \l__jsonparse_remainder_tl {#1}
% object begin
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nnn { jsonparse } { debug-info } {
(obj ~ begin)
}
}
\tl_if_empty:NTF \l__jsonparse_key_tl {
- \tl_set:Ne \l__jsonparse_object_array_key_tl { \l_jsonparse_child_sep_str }
+ \tl_set_eq:NN \l__jsonparse_object_array_key_tl \l__jsonparse_child_sep_str
} {
- \tl_set:Ne \l__jsonparse_object_array_key_tl { \l__jsonparse_key_tl }
- \tl_set:Ne \l__jsonparse_prefix_tl { \l__jsonparse_key_tl \l_jsonparse_child_sep_str }
- \tl_set:Ne \l__jsonparse_val_tl {#1}
+ \tl_set_eq:NN \l__jsonparse_object_array_key_tl \l__jsonparse_key_tl
+ \tl_set:Ne \l__jsonparse_prefix_tl { \l__jsonparse_key_tl \l__jsonparse_child_sep_str }
+ }
+ \tl_set:Nn \l__jsonparse_object_array_val_tl { \c_left_brace_str #1 }
+ \__jsonparse_parse_remainder:
+}
+
+\exp_last_unbraced:NNo \cs_new:Npn \__jsonparse_parse_object_end:w \c_right_brace_str #1 \q_stop {
+ \tl_set:Ne \l__jsonparse_object_array_val_tl {
+ \tl_range:Nne \l__jsonparse_object_array_val_tl { 1 } {
+ \int_eval:n {
+ -1 * \tl_count:n {#1} - 1
+ }
+ }
}
- \tl_set:Ne \l__jsonparse_object_array_val_tl { { #1 } }
- \exp_args:Ne \jsonparse_parse:n {#1}
\prop_gput:Nee \g_jsonparse_entries_prop
{ \l__jsonparse_object_array_key_tl } { \l__jsonparse_object_array_val_tl }
- \bool_if:NT \l_jsonparse_debug_mode_bool {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nne { jsonparse } { debug-info } {
(key) ~ \str_use:N \l__jsonparse_object_array_key_tl : \iow_newline:
\iow_char:N \ \iow_char:N \ (obj) ~ \str_use:N \l__jsonparse_object_array_val_tl
}
}
- % object end
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
- (obj ~ end)
- }
- }
\group_end:
+ % object end
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nnn { jsonparse } { debug-info } {
+ (obj ~ end)
+ }
+ }
+ \tl_set:Nn \l__jsonparse_remainder_tl {#1}
\__jsonparse_parse_remainder:
}
\cs_new:Npn \__jsonparse_parse_array_begin:w [ #1 \q_stop {
\__jsonparse_array_key_set:
\group_begin:
- \tl_set:Ne \l__jsonparse_remainder_tl {#1}
+ \tl_set:Nn \l__jsonparse_remainder_tl {#1}
% array begin
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nnn { jsonparse } { debug-info } {
(arr ~ begin)
}
}
\int_zero:N \l__jsonparse_array_index_int
- \bool_if:NT \l_jsonparse_array_index_zero_based_bool {
+ \bool_if:NT \l__jsonparse_array_index_zero_based_bool {
\int_decr:N \l__jsonparse_array_index_int
}
- \tl_set:Ne \l__jsonparse_object_array_key_tl { \l__jsonparse_key_tl }
+ \tl_set_eq:NN \l__jsonparse_object_array_key_tl \l__jsonparse_key_tl
\tl_set:Nn \l__jsonparse_object_array_val_tl { [ #1 }
- \tl_set:Ne \l__jsonparse_prefix_tl { \l__jsonparse_key_tl \l_jsonparse_array_sep_left_str }
+ \tl_set:Ne \l__jsonparse_prefix_tl { \l__jsonparse_key_tl \l__jsonparse_array_sep_left_str }
\__jsonparse_parse_remainder:
}
@@ -243,133 +382,74 @@
\tl_set:Ne \l__jsonparse_object_array_val_tl {
\tl_range:Nne \l__jsonparse_object_array_val_tl { 1 } {
\int_eval:n {
- -1 * \tl_count:e {#1} - 1
+ -1 * \tl_count:n {#1} - 1
}
}
}
\prop_gput:Nee \g_jsonparse_entries_prop
{ \l__jsonparse_object_array_key_tl } { \l__jsonparse_object_array_val_tl }
- \bool_if:NT \l_jsonparse_debug_mode_bool {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nne { jsonparse } { debug-info } {
(key) ~ \str_use:N \l__jsonparse_object_array_key_tl : \iow_newline:
\iow_char:N \ \iow_char:N \ (arr) ~ \str_use:N \l__jsonparse_object_array_val_tl
}
}
\group_end:
- \tl_set:Ne \l__jsonparse_remainder_tl {#1}
% array end
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nnn { jsonparse } { debug-info } {
(arr ~ end)
}
}
+ \tl_set:Nn \l__jsonparse_remainder_tl {#1}
\__jsonparse_parse_remainder:
}
-\cs_new:Npn \__jsonparse_array_key_set: {
- \str_if_eq:eeT { \tl_item:Nn \l__jsonparse_prefix_tl { -1 } }
- { \l_jsonparse_array_sep_left_str } {
- \int_incr:N \l__jsonparse_array_index_int
- \tl_set:Ne \l__jsonparse_key_tl {
- \l__jsonparse_prefix_tl \int_use:N \l__jsonparse_array_index_int \l_jsonparse_array_sep_right_str
- }
- }
-}
-
\cs_new:Npn \__jsonparse_parse_string_key:w " #1 " #2 \q_stop {
\__jsonparse_array_key_set:
- \tl_set:Ne \l__jsonparse_remainder_tl {#2}
+ \tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:n {#2} }
% key or string?
- \str_if_eq:enTF { \tl_head:n { #2 } } { : } {
- \tl_remove_once:Ne \l__jsonparse_remainder_tl { \c_colon_str }
+ \tl_if_head_eq_charcode:oNTF { \l__jsonparse_remainder_tl } : {
+ \tl_remove_once:NV \l__jsonparse_remainder_tl \c_colon_str
\tl_set:Ne \l__jsonparse_key_tl { \l__jsonparse_prefix_tl #1 }
- } {
- \group_begin:
- \tl_set:Nn \" { " }
- \tl_set:Nn \/ { / }
- \tl_set:Nn \\ { \c_backslash_str }
- \tl_set:Ne \l__jsonparse_val_tl {#1}
- \prop_gput:Nee \g_jsonparse_entries_prop
- { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
- % string
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
- (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
- \iow_char:N \ \iow_char:N \ (str) ~ \str_use:N \l__jsonparse_val_tl
- }
- }
- \group_end:
+ } {
+ \tl_set:Nn \l__jsonparse_val_tl {#1}
+ \prop_gput:Nee \g_jsonparse_entries_prop
+ { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
+ % string
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nne { jsonparse } { debug-info } {
+ (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
+ \iow_char:N \ \iow_char:N \ (str) ~ \str_use:N \l__jsonparse_val_tl
+ }
+ }
}
\__jsonparse_parse_remainder:
}
\cs_new:Npn \__jsonparse_parse_other:w #1 \q_stop {
\__jsonparse_array_key_set:
- \tl_set:Ne \l__jsonparse_remainder_tl {#1}
- \tl_set:Ne \l__jsonparse_temp_tl { #1 , }
+ \tl_set:Nn \l__jsonparse_remainder_tl {#1}
+ \tl_set:Nn \l__jsonparse_temp_tl { #1 , }
\tl_replace_once:Nnn \l__jsonparse_temp_tl { ] } { , }
- \exp_last_unbraced:Ne
+ \tl_replace_once:Non \l__jsonparse_temp_tl { \c_right_brace_str } { , }
+ \exp_last_unbraced:No
\__jsonparse_parse_other_aux:w \l__jsonparse_temp_tl \q_stop
}
\cs_new:Npn \__jsonparse_parse_other_aux:w #1 , #2 \q_stop {
- \tl_set:Ne \l__jsonparse_temp_tl {#1}
- \str_case:enF {
- \str_lowercase:f { \l__jsonparse_temp_tl }
- } {
- { true } {
- \tl_set:Ne \l__jsonparse_val_tl {
- \l_jsonparse_true_str
- }
- \prop_gput:Nee \g_jsonparse_entries_prop
- { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
- % true
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
- (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
- \iow_char:N \ \iow_char:N \ (tru) ~ \str_use:N \l__jsonparse_val_tl
- }
- }
- }
- { false } {
- \tl_set:Ne \l__jsonparse_val_tl {
- \l_jsonparse_false_str
- }
- \prop_gput:Nee \g_jsonparse_entries_prop
- { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
- % false
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
- (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
- \iow_char:N \ \iow_char:N \ (fal) ~ \str_use:N \l__jsonparse_val_tl
- }
- }
- }
- { null } {
- \tl_set:Ne \l__jsonparse_val_tl {
- \l_jsonparse_null_str
- }
- \prop_gput:Nee \g_jsonparse_entries_prop
- { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
- % null
- \bool_if:NT \l_jsonparse_debug_mode_bool {
- \msg_log:nne { jsonparse } { debug-info } {
- (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
- \iow_char:N \ \iow_char:N \ (nul) ~ \str_use:N \l__jsonparse_val_tl
- }
- }
- }
- } {
- \fp_compare:nNnTF {#1} ? { 0 } {
+ \tl_set:Ne \l__jsonparse_temp_tl { \tl_trim_spaces:n {#1} }
+ \cs_if_exist_use:cF { __jsonparse_parse_ \str_casefold:o { \l__jsonparse_temp_tl } : } {
+ \fp_if_nan:nTF {#1} {
% nan
- \msg_error:nnee { jsonparse } { parsing-error }
+ \msg_error:nnoo { jsonparse } { parsing-error }
{ \l__jsonparse_key_tl } {#1}
} {
- \tl_set:Ne \l__jsonparse_val_tl {#1}
+ \tl_set:Nn \l__jsonparse_val_tl {#1}
\prop_gput:Nee \g_jsonparse_entries_prop
{ \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
% number
- \bool_if:NT \l_jsonparse_debug_mode_bool {
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nne { jsonparse } { debug-info } {
(key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
\iow_char:N \ \iow_char:N \ (num) ~ \str_use:N \l__jsonparse_val_tl
@@ -377,39 +457,79 @@
}
}
}
- \tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:V \l__jsonparse_remainder_tl }
+ \tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:e { \l__jsonparse_remainder_tl } }
\tl_set:Ne \l__jsonparse_remainder_tl {
\tl_range:Nen \l__jsonparse_remainder_tl {
\int_eval:n {
- \tl_count:e { #1 } + 1
+ \tl_count:n {#1} + 1
}
} { -1 }
}
\__jsonparse_parse_remainder:
}
+\cs_new:Npn \__jsonparse_parse_true: {
+ \tl_set_eq:NN \l__jsonparse_val_tl \l__jsonparse_true_str
+ \prop_gput:Nee \g_jsonparse_entries_prop
+ { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
+ % true
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nne { jsonparse } { debug-info } {
+ (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
+ \iow_char:N \ \iow_char:N \ (tru) ~ \str_use:N \l__jsonparse_val_tl
+ }
+ }
+}
+
+\cs_new:Npn \__jsonparse_parse_false: {
+ \tl_set_eq:NN \l__jsonparse_val_tl \l__jsonparse_false_str
+ \prop_gput:Nee \g_jsonparse_entries_prop
+ { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
+ % false
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nne { jsonparse } { debug-info } {
+ (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
+ \iow_char:N \ \iow_char:N \ (fal) ~ \str_use:N \l__jsonparse_val_tl
+ }
+ }
+}
+
+\cs_new:Npn \__jsonparse_parse_null: {
+ \tl_set_eq:NN \l__jsonparse_val_tl \l__jsonparse_null_str
+ \prop_gput:Nee \g_jsonparse_entries_prop
+ { \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
+ % null
+ \bool_if:NT \l__jsonparse_debug_mode_bool {
+ \msg_log:nne { jsonparse } { debug-info } {
+ (key) ~ \str_use:N \l__jsonparse_key_tl : \iow_newline:
+ \iow_char:N \ \iow_char:N \ (nul) ~ \str_use:N \l__jsonparse_val_tl
+ }
+ }
+}
+
\cs_new:Npn \__jsonparse_parse_remainder: {
- \tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:V \l__jsonparse_remainder_tl }
- \str_if_eq:enT { \tl_head:N \l__jsonparse_remainder_tl } { , } {
+ \tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:e { \l__jsonparse_remainder_tl } }
+ \tl_if_head_eq_charcode:oNT { \l__jsonparse_remainder_tl } , {
\tl_remove_once:Nn \l__jsonparse_remainder_tl { , }
}
\tl_if_empty:NF \l__jsonparse_remainder_tl {
- \exp_args:Ne \jsonparse_parse:n { \l__jsonparse_remainder_tl }
+ \exp_args:No \jsonparse_parse:n { \l__jsonparse_remainder_tl }
}
}
-\cs_new:Npn \jsonparse_filter:Nn #1#2 {
+\cs_new_protected:Npn \jsonparse_filter:Nn #1#2 {
+ \prop_clear:N \l__jsonparse_temp_prop
\prop_map_inline:Nn #1 {
\str_case_e:en {
- \tl_range:nne {##1} { 1 } { \int_eval:n { \tl_count:e {#2} + 1 } }
+ \tl_range:nne {##1} { 1 } { \int_eval:n { \tl_count:n {#2} + 1 } }
} {
- { #2 \l_jsonparse_child_sep_str } {
- \prop_put:Nee \l__jsonparse_temp_prop
- { \tl_range:nen {##1} { \int_eval:n { \tl_count:e {#2} + 2 } } { -1 } } {##2}
+ { #2 \l__jsonparse_child_sep_str } {
+ \prop_put:Nen \l__jsonparse_temp_prop
+ { \tl_range:nen {##1} { \int_eval:n { \tl_count:n {#2} + 2 } } { -1 } } {##2}
}
- { #2 \l_jsonparse_array_sep_left_str } {
- \prop_put:Nee \l__jsonparse_temp_prop
- { \tl_range:nen {##1} { \int_eval:n { \tl_count:e {#2} + 1 } } { -1 } } {##2}
+ { #2 \l__jsonparse_array_sep_left_str } {
+ \prop_put:Nen \l__jsonparse_temp_prop
+ { \tl_range:nen {##1} { \int_eval:n { \tl_count:n {#2} + 1 } } { -1 } } {##2}
}
}
}
@@ -418,50 +538,196 @@
% ===
-\NewExpandableDocumentCommand { \JSONParse } { m +m } {
- \prop_new:N #1
- \jsonparse_parse_to_prop:Nn #1 {#2}
+\NewDocumentCommand { \JSONParsePut } { m m +v } {
+ \prop_if_exist:NF #1 {
+ \prop_new:N #1
+ }
+ \prop_gput:Nnn #1 { #2 } { #3 }
+}
+
+\cs_new:Npn \__jsonparse_externalize:Nn #1#2 {
+ \file_if_exist:nTF {#2} {
+ \msg_error:nnn { jsonparse } { file-exists }
+ {#2}
+ } {
+ \iow_open:Nn \g__jsonparse_externalize_iow {#2}
+ \prop_map_inline:Nn #1 {
+ \iow_now:Nn \g__jsonparse_externalize_iow {
+ \JSONParsePut {#1} {##1} {##2}
+ }
+ }
+ \iow_close:N \g__jsonparse_externalize_iow
+ \msg_info:nnn { jsonparse } { saving-external }
+ {#2}
+ }
+}
+
+% ===
+
+\NewDocumentCommand { \JSONParse } { o m +v } {
+ \bool_set_false:N \l__jsonparse_load_external_bool
+ \tl_if_novalue:nF {#1} {
+ \file_if_exist:nT { #1 .jsonparse } {
+ \bool_set_true:N \l__jsonparse_load_external_bool
+ }
+ }
+ \bool_if:NTF \l__jsonparse_load_external_bool {
+ \msg_info:nnn { jsonparse } { loading-external }
+ { #1 .jsonparse }
+ \file_input:n { #1 .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \tl_if_novalue:nF {#1} {
+ \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ }
+ }
}
-\NewExpandableDocumentCommand { \JSONParseFromFile } { m m } {
- \ior_open:Nn \l__jsonparse_json_ior {#2}
-
- \tl_clear:N \l__jsonparse_json_tl
- \ior_map_inline:Nn \l__jsonparse_json_ior {
- \tl_put_right:Nn \l__jsonparse_json_tl {##1}
+\NewDocumentCommand { \JSONParseFromFile } { o m m } {
+ \file_if_exist:nF {#3} {
+ \msg_error:nnn { jsonparse } { file-not-found }
+ {#3}
}
-
- \ior_close:N \l__jsonparse_json_ior
+ \bool_set_false:N \l__jsonparse_load_external_bool
+ \tl_if_novalue:nF {#1} {
+ \file_if_exist:nT { #1 .jsonparse } {
+ \bool_set_true:N \l__jsonparse_load_external_bool
+ }
+ }
+ \bool_if:NTF \l__jsonparse_load_external_bool {
+ \msg_info:nnn { jsonparse } { loading-external }
+ { #1 .jsonparse }
+ \file_input:n { #1 .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \tl_if_novalue:nF {#1} {
+ \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ }
+ }
+}
- \prop_new:N #1
- \jsonparse_parse_to_prop:Nn #1 { \l__jsonparse_json_tl }
+\NewExpandableDocumentCommand { \JSONParseExpandableValue } { m m } {
+ \prop_item:Ne #1 {#2}
}
-\NewExpandableDocumentCommand { \JSONParseGetValue } { s m m } {
+\cs_set_eq:NN \__jsonparse_tex_quote \"
+\cs_set_eq:NN \__jsonparse_tex_backslash \\
+
+\cs_new:Npn \__jsonparse_rescan:n #1 {
+ \group_begin:
+ \cs_set:Npn \" { " }
+ \cs_set:Npn \/ { / }
+ \cs_set:Npn \\ { \c_backslash_str }
+ \cs_set:Npn \b { \l__jsonparse_backspace_str }
+ \cs_set:Npn \f { \l__jsonparse_formfeed_str }
+ \cs_set:Npn \n { \l__jsonparse_linefeed_str }
+ \cs_set:Npn \r { \l__jsonparse_carriage_return_str }
+ \cs_set:Npn \t { \l__jsonparse_horizontal_tab_str }
+ \cs_set:Npn \u { \char" }
+ \tl_set:Ne \l__jsonparse_temp_tl {#1}
+ \cs_set_eq:NN \" \__jsonparse_tex_quote
+ \cs_set_eq:NN \\ \__jsonparse_tex_backslash
+ \bool_if:NT \l__jsonparse_escape_number_sign_bool {
+ \tl_replace_all:Noe \l__jsonparse_temp_tl { \c_hash_str } { \c_backslash_str \c_hash_str }
+ }
+ \bool_if:NT \l__jsonparse_escape_dollar_sign_bool {
+ \tl_replace_all:Noe \l__jsonparse_temp_tl { \c_dollar_str } { \c_backslash_str \c_dollar_str }
+ }
+ \bool_if:NT \l__jsonparse_escape_percent_sign_bool {
+ \tl_replace_all:Noe \l__jsonparse_temp_tl { \c_percent_str } { \c_backslash_str \c_percent_str }
+ }
+ \bool_if:NT \l__jsonparse_escape_ampersand_bool {
+ \tl_replace_all:Noe \l__jsonparse_temp_tl { \c_ampersand_str } { \c_backslash_str \c_ampersand_str }
+ }
+ \bool_if:NT \l__jsonparse_escape_circumflex_accent_bool {
+ \tl_replace_all:Non \l__jsonparse_temp_tl { \c_circumflex_str } { \textasciicircum }
+ }
+ \bool_if:NT \l__jsonparse_escape_low_line_bool {
+ \tl_replace_all:Noe \l__jsonparse_temp_tl { \c_underscore_str } { \c_backslash_str \c_underscore_str }
+ }
+ \bool_if:NT \l__jsonparse_escape_tilde_bool {
+ \tl_replace_all:Non \l__jsonparse_temp_tl { \c_tilde_str } { \textasciitilde }
+ }
+ \tl_rescan:no { } { \l__jsonparse_temp_tl }
+ \group_end:
+}
+
+\NewDocumentCommand { \JSONParseValue } { s m m } {
\bool_if:NTF #1 {
- \tl_rescan:ne { } { \prop_item:Nn #2 {#3} }
+ \prop_item:Ne #2 {#3}
} {
- \prop_item:Nn #2 {#3}
+ \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
}
}
-\NewExpandableDocumentCommand { \JSONParseGetArrayValues } { s m m O{} m } {
+\NewDocumentCommand { \JSONParseKeys } { m m } {
+ \tl_if_exist:NF #2 {
+ \tl_new:N #2
+ }
+ \bool_set_true:N \l__jsonparse_prop_map_first_bool
+ \tl_set:Nn \l__jsonparse_temp_tl { [ }
+ \prop_map_inline:Nn #1 {
+ \tl_if_in:nVF {##1} \l__jsonparse_child_sep_str {
+ \bool_if:NTF \l__jsonparse_prop_map_first_bool {
+ \bool_set_false:N \l__jsonparse_prop_map_first_bool
+ } {
+ \tl_put_right:Nn \l__jsonparse_temp_tl { , }
+ }
+ \tl_put_right:Nn \l__jsonparse_temp_tl { " ##1 " }
+ }
+ }
+ \tl_put_right:Nn \l__jsonparse_temp_tl { ] }
+ \tl_set_eq:NN #2 \l__jsonparse_temp_tl
+}
+
+\NewDocumentCommand { \JSONParseArrayValues } { s m m O{} m } {
\group_begin:
- \jsonparse_filter:Nn #2 {#3}
- \bool_set_true:N \l__prop_map_first_bool
- \prop_map_inline:Nn #2 {
+ \tl_set:Nn \l__jsonparse_temp_tl {#2}
+ \jsonparse_filter:Nn \l__jsonparse_temp_tl {#3}
+ \bool_set_true:N \l__jsonparse_prop_map_first_bool
+ \prop_map_inline:Nn \l__jsonparse_temp_tl {
\str_if_eq:enT {
\tl_range:nen {##1} { \int_eval:n { -1 * \tl_count:n {#4} } } { -1 }
} {#4} {
- \bool_if:NTF \l__prop_map_first_bool {
- \bool_set_false:N \l__prop_map_first_bool
+ \bool_if:NTF \l__jsonparse_prop_map_first_bool {
+ \bool_set_false:N \l__jsonparse_prop_map_first_bool
} {
#5
}
\bool_if:NTF #1 {
- \tl_rescan:ne { } {##2}
+ ##2
} {
- ##2
+ \__jsonparse_rescan:n {##2}
}
}
}
@@ -472,7 +738,7 @@
#1
}
-\NewExpandableDocumentCommand { \JSONParseGetArrayCount } { m m } {
+\NewDocumentCommand { \JSONParseArrayCount } { m m } {
\group_begin:
\jsonparse_filter:Nn #1 {#2}
\int_zero:N \l__jsonparse_array_count_int
@@ -491,7 +757,11 @@
\group_end:
}
-\NewExpandableDocumentCommand { \JSONParseUseArrayValues } { s m m O{} m } {
+\tl_new:N \JSONParseArrayIndex
+\tl_new:N \JSONParseArrayKey
+\tl_new:N \JSONParseArrayValue
+
+\NewDocumentCommand { \JSONParseArrayValuesMap } { s m m O{} m } {
\group_begin:
\jsonparse_filter:Nn #2 {#3}
\prop_map_inline:Nn #2 {
@@ -500,11 +770,11 @@
} {#4} {
\int_incr:N \l__jsonparse_array_index_int
\tl_set:Ne \JSONParseArrayIndex { \__jsonparse_get_array_index:w ##1 \q_stop }
- \tl_set:Ne \JSONParseArrayKey { ##1 }
+ \tl_set:Nn \JSONParseArrayKey {##1}
\bool_if:NTF #1 {
- \tl_set_rescan:Nne \JSONParseArrayValue { } { \prop_item:Nn #2 {##1} }
+ \tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
} {
- \tl_set:Ne \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
+ \tl_set:Nn \JSONParseArrayValue { \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Nn #2 {##1} } }
}
\use:c {#5}
}
diff --git a/macros/latex/contrib/lastpage/README b/macros/latex/contrib/lastpage/README
index 50b80f6b3a..4545b13a60 100644
--- a/macros/latex/contrib/lastpage/README
+++ b/macros/latex/contrib/lastpage/README
@@ -1,4 +1,4 @@
-README for lastpage package, 2023-10-14, v2.0e
+README for lastpage package, 2024-04-27, v2.1a
TABLE OF CONTENTS
@@ -50,7 +50,7 @@ the manual (lastpage.pdf), the example (lastpage-example.tex),
the compiled example (lastpage-example.pdf),
driver (lastpage.drv), lastpage.dtx,
installation file (lastpage.ins),
-the style files (lastpage.sty, lastpage209.sty, lastpage23.sty,
+the style files (lastpage.sty, lastpage209.sty, lastpage2e.sty,
lastpageclassic.sty, lastpagemodern.sty),
and this README, already sorted in a TDS tree:
https://mirror.ctan.org/install/macros/latex/contrib/lastpage.tds.zip
@@ -83,7 +83,7 @@ b) Generate the package and driver files:
c) Install the files "*.sty" in your TDS tree:
cp lastpage.sty TDS:tex/latex/lastpage/
cp lastpage209.sty TDS:tex/latex/lastpage/
- cp lastpage23.sty TDS:tex/latex/lastpage/
+ cp lastpage2e.sty TDS:tex/latex/lastpage/
cp lastpageclassic.sty TDS:tex/latex/lastpage/
cp lastpagemodern.sty TDS:tex/latex/lastpage/
Replace "TDS:" by the prefix of your TDS tree
diff --git a/macros/latex/contrib/lastpage/lastpage-example.pdf b/macros/latex/contrib/lastpage/lastpage-example.pdf
index 1062a3273e..6d1c748525 100644
--- a/macros/latex/contrib/lastpage/lastpage-example.pdf
+++ b/macros/latex/contrib/lastpage/lastpage-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/lastpage/lastpage.dtx b/macros/latex/contrib/lastpage/lastpage.dtx
index ed088fea50..104d6b8418 100644
--- a/macros/latex/contrib/lastpage/lastpage.dtx
+++ b/macros/latex/contrib/lastpage/lastpage.dtx
@@ -1,19 +1,18 @@
% \iffalse meta-comment
%
% File: lastpage.dtx
-% Version: 2023-10-14 v2.0e
+% Version: 2024-04-27 v2.1a
% Info: Refers to last page's name
%
-% Copyright © 2010 - 2023 by
+% Copyright © 2010 - 2024 by
% H.-Martin Münch <Martin dot Muench at Uni-Bonn dot de>
% Portions of code copyrighted by other people as marked.
%
% This package was invented by Jeffrey P. Goldberg.
% I thought that a replacement was needed and therefore created the pageslts package,
-% https://ctan.org/pkg/pageslts
-% . Nevertheless, for compatibility with existing documents/packages as well as for
-% the low amount of resources needed by the lastpage package (no new counter!),
-% I updated this package.
+% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+% documents/packages as well as for the low amount of resources needed by the
+% lastpage package (no new counter!), I updated this package.
% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%
% While this package allows for things like "Page \thepage{} of \pageref{LastPage}"
@@ -66,7 +65,7 @@
\input docstrip.tex
\Msg{**********************************************************************}
\Msg{* Installation *}
-\Msg{* Package: lastpage 2023-10-14 v2.0e Refers to last page's name (HMM)*}
+\Msg{* Package: lastpage 2024-04-27 v2.1a Refers to last page's name (HMM)*}
\Msg{**********************************************************************}
\keepsilent
@@ -78,10 +77,10 @@
This is a generated file.
Project: lastpage
-Version: 2023-10-14 v2.0e
+Version: 2024-04-27 v2.1a
Info: Refers to last page's name
-Copyright (C) 2010 - 2023 by
+Copyright (C) 2010 - 2024 by
H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de>
Portions of code copyrighted by other people as marked.
@@ -184,9 +183,9 @@ In memoriam
%
% \begin{macrocode}
%<*driver>
-\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesFile{lastpage.drv}%
- [2023-10-14 v2.0e Refers to last page's name (HMM)]
+ [2024-04-27 v2.1a Refers to last page's name (HMM)]
\documentclass{ltxdoc}[2023/03/28]% v2.1j Standard LaTeX documentation class
\usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO)
\hypersetup{%
@@ -251,7 +250,7 @@ In memoriam
% \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\wd,\write}
%
% \title{The \xpackage{lastpage} package}
-% \date{2023-10-14 v2.0e}
+% \date{2024-04-27 v2.1a}
% \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}\\
% invented by Jeffrey P. Goldberg\\\xemail{jeffrey+news at goldmark.org}}
%
@@ -370,7 +369,7 @@ In memoriam
% \section{Some \textsc{Warnings}\label{sec:warn}}
% \subsection{\texttt{\textbackslash AtEndDocument}\label{ssec:aed}}
% \indent {\bfseries |\AtEndDocument| is not used by the \pkg{lastpagemodern.sty}
-% version of the lastpage package, requiring \LaTeX -format 2022-11-01
+% version of the lastpage package, requiring \LaTeX -format 2023-06-01
% or newer. Instead |\AddToHook{enddocument/afterlastpage}| is used
% and the problem does not arise.}
% \bigskip
@@ -413,7 +412,7 @@ In memoriam
% \subsection{Interaction with ancient versions of the \xpackage{endfloat} package\label{sec:endfloat}}
%
% \indent {\bfseries |\AtEndDocument| is not used by the \pkg{lastpagemodern.sty}
-% version of the lastpage package, requiring \LaTeX -format 2022-11-01
+% version of the lastpage package, requiring \LaTeX -format 2023-06-01
% or newer. Instead |\AddToHook{enddocument/afterlastpage}| is used
% and the problem does not arise.}
%
@@ -552,22 +551,13 @@ In memoriam
% (with appropriate options) can do this.
%
% \subsection{Other packages manipulating \texttt{\textbackslash lastpage@putlabel}}
-% The \xpackage{hyperref} package redefined the |\lastpage@putlabel| command,
-% and the \xpackage{revtex4} class still redefines the |\lastpage@putlabel| command,
-% and the \xpackage{hyperref} package redefined the |\lastpage@putlabel| command,
-% if the \xpackage{revtex4} class was used, and the \xpackage{pageslts} package
+% The \xpackage{revtex4} class redefines the |\lastpage@putlabel| command
+% (with outdated two arguments), and the \xpackage{pageslts} package
% \textquotedblleft kills\textquotedblright{} the |\lastpage@putlabel| command,
% because that package uses more advanced labels.\newline
-% In my humble opinion it would be preferably if one package (the original one,
-% i.\,e. \xpackage{lastpage}) would do the job right, all others packages would
-% check for the version of that package, and if an old version is found,
-% an error (or at least a warning) message about the use of an outdated
-% package is given, and \textit{then} as
-% \textquotedblleft last aid\textquotedblright{} the command of the outdated
-% package is redefined.\newline
-% Therefore here none of the definitions or commands of the other packages
-% is altered, but |\lastpage@putlabel| was replaced by |\lastpage@putl@bel|.
-% Because |\lastpage@putlabel| is no longer called, now there should not be any
+% None of the definitions or commands of the other packages are altered,
+% but |\lastpage@putlabel| was replaced by |\lastpage@putl@bel|.
+% Because \linebreak |\lastpage@putlabel| is no longer called, now there should not be any
% double definitions of the \texttt{lastpage} label.
% \newpage
%
@@ -740,9 +730,9 @@ In memoriam
\message{^^JLaTeX Info: Executing hook `enddocument/afterlastpage'.}}%
}{\AtEndDocument{\message{^^JLaTeX Info: Executing hook `AtEndDocument'.}}%
}
-\usepackage[draft]{showkeys}[2023/05/11]% v3.19 Show cite and label keys (DPC, MH)
+\usepackage[draft]{showkeys}[2023/07/08]% v3.19 Show cite and label keys (DPC, MH)
%% Use final instead of draft to hide the keys. %%
-\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2023-07-08]% v7.01b
+\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2024-01-20]% v7.01h
%% Hypertext links for LaTeX
\hypersetup{extension=pdf,%
plainpages=false,%
@@ -756,7 +746,7 @@ In memoriam
pdfpagelayout=SinglePage%
}
\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4
-\usepackage{lastpage}[2023-10-14]% v2.0e
+\usepackage{lastpage}[2024/04/27]% v2.1a
\renewcommand{\@evenfoot}{%
\normalsize\slshape \today\hfil \upshape %
page \thepage{} of \pageref{LastPage}}
@@ -768,7 +758,7 @@ In memoriam
\section*{Example for lastpage}
\markboth{Example for lastpage}{Example for lastpage}
This example demonstrates the use of package\newline
-\textsf{lastpage}, v2.0e as of 2023-10-14 (HMM; JPG).\newline
+\textsf{lastpage}, v2.1a as of 2024-04-27 (HMM; JPG).\newline
The package takes no options.\newline
For more details please see the documentation!\newline
@@ -793,7 +783,7 @@ trademark owner. There is no intention of infringement; the
usage is to the benefit of the trademark owner.\newline
\textbf{Tip}: Use \textit{logical page numbers}
-for the display of the pdf (in Adobe Acrobat Reader 2023.006.20320:
+for the display of the pdf (in Adobe Acrobat Reader 2024.002.20687:
Edit $>$ Preferences $>$ Page Display $>$
Page Content and Information: Use logical page numbers)!\newline
@@ -866,7 +856,7 @@ Last page's name (LastPage): \pageref{LastPage}
With modern \LaTeX{} it is possible to say:
\begin{quote}
\begin{verbatim}
-\NeedsTeXFormat{LaTeX2e}[2023-06-01]
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\documentclass{article}
\pagenumbering{fnsymbol}
\begin{document}
@@ -904,7 +894,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \DescribeMacro{lastpage.sty}
% We first need to determine whether we are on \TeX~2.09 or \LaTeX2e.\newline
% (That line, which is too long for the documentation, reads:\newline
-% |\def\loadlastpage{\ProvidesPackage{lastpage}[2023/10/14 v2.0e lastpage:|\linebreak
+% |\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage:|\linebreak
% | 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}|.)
%
% \begin{macrocode}
@@ -912,7 +902,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%% Part of the "lastpage" package
%% loads either lastpage2.09.sty for TeX 2.09 or lastpage2e.sty for LaTeX 2e
%% with code from https://groups.google.com/g/comp.text.tex/c/-Qmhj1ZI4xM
-\def\loadlastpage{\ProvidesPackage{lastpage}[2023/10/14 v2.0e lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
+\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
\begingroup \expandafter \ifx \csname documentclass\endcsname\relax
\endgroup \expandafter \input{lastpage209.sty}
\else \endgroup \expandafter \loadlastpage
@@ -952,9 +942,9 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpage2e>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpage2e}[2023/10/14 v2.0e %
+\ProvidesPackage{lastpage2e}[2024/04/27 v2.1a %
Decide which 2e lastpage version to use (HMM)]
-\@ifl@t@r\fmtversion{2022/11/01}{\RequirePackage{lastpagemodern}}{%
+\@ifl@t@r\fmtversion{2023/06/01}{\RequirePackage{lastpagemodern}}{%
\RequirePackage{lastpageclassic}}
\message{^^J}
%</lastpage2e>
@@ -967,7 +957,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpageclassic>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpageclassic}[2023/10/14 v2.0e %
+\ProvidesPackage{lastpageclassic}[2024/04/27 v2.1a %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9"
@@ -1384,8 +1374,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{macrocode}
%<*lastpagemodern>
%% Part of the "lastpage" package
-\NeedsTeXFormat{LaTeX2e}[2022-11-01]
-\ProvidesPackage{lastpagemodern}[2023-10-14 v2.0e %
+\NeedsTeXFormat{LaTeX2e}[2023-06-01]
+\ProvidesPackage{lastpagemodern}[2024-04-27 v2.1a %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9" or "Page VII of IX";
@@ -1413,58 +1403,33 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
%
-% People use the label |LastPage| for calculations, for example with
-% \begin{quote}
-%\begin{verbatim}
-%\getrefbykeydefault{LastPage}{page}{0}
-%\end{verbatim}
-% \end{quote}
-% and with
-% \begin{quote}
-%\begin{verbatim}
-%\getpagerefnumber{LastPage}
-%\end{verbatim}
-% \end{quote}
-% (using the \pkg{refcount} package). On the one hand, direct calculations do not work,
-% if the page \textquotedblleft number\textquotedblright{} is not
-% a plain arabic number (1, 2, 3,\ldots) but |alph| (a, b, c,\ldots), |Alph| (A, B, C,\ldots),
-% |roman| (i, ii, iii, iv,\ldots), |Roman| (I, II, III, IV,\ldots),
-% |fnsymbol| (foot note symbols: \textasteriskcentered{} (asterisk), \textdagger{} (dagger),
-% \textdaggerdbl{} (double dagger), \textsection{} (section symbol),\ldots) or some other fancy name.
-% On the other hand, if the page number \emph{is} a plain arabic number,
-% calculations do work, if that plain number can be extracted from the label.
-% To handle non-numeric page \textquotedblleft number\textquotedblright{} as well as providing
-% extractable numeric page numbers, we need to determine (later), whether a page number is numeric or not:
-%
-% \begin{macro}{\lastpage@gobbleminus}
+% \begin{macro}{\lastpage@IfNumericTF}
+% |\lastpage@IfNumericTF| was needed to determine whether a page number was numeric or not.
+% Although it is no longer used, I am reluctant to remove it because it may have been used
+% in other places in documents.
+%
% \begin{macrocode}
\newcommand\lastpage@gobbleminus[1]{\ifx-#1\else#1\fi}
-%% from https://texfaq.org/FAQ-isitanum
-
% \end{macrocode}
-% \end{macro}
+% which is from \url{https://texfaq.org/FAQ-isitanum},
% \begin{macrocode}
\newcounter{lastpagecount}
-
% \end{macrocode}
-% \begin{macro}{\lastpage@IfNumericTF}
+% and similar to \url{https://tex.stackexchange.com/a/12811/17119}
% \begin{macrocode}
\newcommand{\lastpage@IfNumericTF}[3]{%
-%% similar to https://tex.stackexchange.com/a/17119
\sbox\z@{\c@lastpagecount=0\lastpage@gobbleminus{#1}\relax}%
\ifdim\wd0>\z@\relax#3% is not numeric
\else#2% is numeric
-\fi%
-}
+\fi}
% \end{macrocode}
% \end{macro}
%
% \DescribeMacro{\AddToHook\{begindocument/end\}}
% \indent |\lastpage@putlabel|, used by older versions of this package,
-% is redefined e.\,g. by \xpackage{revtex}, \xpackage{frenchle},
-% \xpackage{PPRcorners}, and old versions of \xpackage{hyperref}.
-% While now |\lastpage@putl@bel| is used instead, \xpackage{revtex}
+% is/was redefined by other packages.
+% While now |\lastpage@putl@bel| is used instead, other packages
% could also define a label \texttt{LastPage},
% which then would be multiply defined. (Which is no big issue,
% if it is associated with the same page.) Therefore we define
@@ -1483,8 +1448,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% (thanks to Ulrike Fischer for the report).
%
% \begin{macrocode}
-%% From https://tex.stackexchange.com/a/542425 with thanks to
-%% Prof. Enrico Gregorio
+%% from https://tex.stackexchange.com/a/12811/542425
+%% with thanks to Prof. Enrico Gregorio
\long\def\protected@iwrite#1#2#3{%
\begingroup%
#2%
@@ -1498,42 +1463,15 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
%
-% We need two macros for writing numeric and non-numeric page
-% \textquotedblleft numbers\textquotedblright{} into the \xfile{aux} file:
-%
-% \begin{macro}{\lastpage@numeric}
+% \begin{macro}{\lastpage@rmpage}
+% Just once we need |\@currentHpage| without the \mbox{\textquotedblleft |page.|\textquotedblright :}
% \begin{macrocode}
-\newcommand{\lastpage@numeric}{\protected@iwrite\@auxout{}{%
- \string\newlabel{LastPage}{%
- {\@currentlabel}%
- {\thepage}%
- {\@currentlabelname}%
- {\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor page.\Hy@temp\fi%
- }{\@currentHref}}%
- {\@kernel@reserved@label@data}}}%
- }
+%% similar to https://tex.stackexchange.com/a/12811/6865
+\def\lastpage@rmpage#1{\expandafter\lastpage@currentH#1\relax}
+\def\lastpage@currentH#1.#2\relax{#2}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\lastpage@nonnumeric}
-% \begin{macrocode}
-\newcommand{\lastpage@nonnumeric}{\protected@iwrite\@auxout{}{%
- \string\newlabel{LastPage}{%
- {\@currentlabel}%
- {\IfPackageLoadedTF{hyperref}{\string\begingroup%
- \string\pdfstringdefDisableCommands{\string\let%
- \string\TextOrMath\string\@firstoftwo}\thepage%
- \string\endgroup%
- }{\thepage}}%
- {\@currentlabelname}%
- {\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor page.\Hy@temp\fi%
- }{\@currentHref}}%
- {\@kernel@reserved@label@data}}}%
- }
-
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\lastpage@putl@bel}
% \indent This command does the writing of the label.
% If the \xpackage{pageslts} package is used, this \xpackage{lastpage} package
@@ -1544,22 +1482,28 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
\newcommand{\lastpage@putl@bel}{%
\IfPackageLoadedTF{pageslts}{\relax}{%
% \end{macrocode}
-%
-% \noindent Otherwise the label is set:\newpage
-%
+% \noindent Otherwise the label is set:
% \noindent If the \xpackage{hyperref} package is used, but page-anchors are disabled,
% the hyperlinking will not work. (The warning will also be shown, when only
% |\pageref*{LastPage}| is used (or neither one), but without messing with |\pageref|
% we cannot detect this.)
%
% \begin{macrocode}
- \IfPackageLoadedTF{hyperref}{\ifHy@pageanchor\else%
- \PackageWarningNoLine{lastpage}{%
- The \string\pageref{LastPage} link does not work\MessageBreak%
- using hyperref with disabled option `pageanchor'.\MessageBreak%
- Better enable `pageanchor' or use\MessageBreak%
- \string\pageref*{LastPage} (not generating a link)%
- }\fi}{}%
+ \IfPackageLoadedTF{hyperref}{%
+ \IfPackageAtLeastTF{hyperref}{2023-11-07}{\relax}{%
+ \PackageError{lastpage}{hyperref package version too old}{%
+ required version: 2023-11-07 or newer, found version:\MessageBreak%
+ \csname ver@hyperref.sty\endcsname\MessageBreak%
+ Update hyperref or use lastpageclassic.sty instead of\MessageBreak%
+ lastpagemodern.sty!}}%
+ \ifHy@pageanchor\else%
+ \PackageWarningNoLine{lastpage}{%
+ The \string\pageref{LastPage} link does not work\MessageBreak%
+ using hyperref with disabled option `pageanchor'.\MessageBreak%
+ Better enable `pageanchor' or use\MessageBreak%
+ \string\pageref*{LastPage} (not generating a link)}%
+ \fi%
+ }{}%
\begingroup%
% \end{macrocode}
%
@@ -1577,65 +1521,25 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% may be no more invocations of the output routines.
% To force the write out, we need to do an |\immediate| protected write
% into the \xfile{aux} file.
-%
-% \begin{macrocode}
- \IfPackageLoadedTF{hyperref}{%
- % with code from \Hy@EveryPageAnchor of the hyperref package,
- % 2023-07-08 v7.01b
- \ifHy@pageanchor%
- \ifHy@hypertexnames%
- \ifHy@plainpages%
- \def\Hy@temp{\the\c@page}%
- \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
- \Hy@PageAnchorSlidesPlain%
- \else%
- % No \begingroup, because we are in a group anyway.
- \let\@number\@firstofone%
- \Hy@unicodefalse%
- \Hy@PageAnchorSlide%
- \pdfstringdef\@the@H@page{\thepage}%
- % No \endgroup, because we are in a group anyway.
- \EdefUnescapeString\@the@H@page{\@the@H@page}%
- \def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
- \def\Hy@temp{\@the@H@page}%
- \fi%
- \else%
- % NOT! \Hy@GlobalStepCount\Hy@pagecounter
- \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
- \def\Hy@temp{\the\Hy@pagecounter}%
- \fi%
- \fi%
- }{}%
- \IfFormatAtLeastTF{2023/06/01}{%
-% \end{macrocode}
-%
-% \noindent The |\label| command has been extended, see \LaTeX{} News Issue~37,
-% June~2023 (\LaTeX{} release 2023-06-01),
-% \url{https://www.latex-project.org/news/latex2e-news/ltnews37.pdf}.
-%
-% Here we need to distinguish between numeric page numbers, which shall be extractable,
-% and non-numeric ones, which need some protection:
% \begin{macrocode}
- \lastpage@IfNumericTF{\thepage}{\lastpage@numeric}{\lastpage@nonnumeric}%
- }{\IfPackageLoadedTF{hyperref}{\protected@iwrite\@auxout{}{%
- \string\newlabel{LastPage}{{}{\thepage}{}{%
- \ifHy@pageanchor page.\Hy@temp\fi}{}}}%
- }{\IfPackageLoadedTF{nameref}{\protected@iwrite\@auxout{}{%
- \string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
- }{\protected@iwrite\@auxout{}{\string\newlabel{LastPage}{%
- {}{\thepage}}}%
- }%
- }%
- }%
+ \protected@iwrite\@auxout{}{\string\newlabel{LastPage}{%
+ {\@currentlabel}{\thepage}{\@currentlabelname}%
+ {\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor\@currentHpage\fi%
+ }{\@currentHref}}%
+ {\@kernel@reserved@label@data}}%
+ }%
% \end{macrocode}
-%
+% \pagebreak
% \noindent We also save the values, so that we can later (next rerun) check,
% whether they have been saved in the \xfile{aux} file.
%
% \begin{macrocode}
- \protected@iwrite\@auxout{}{\string\gdef\string\lastpage@lastpage{\thepage}}%
- \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor\Hy@temp\fi}{}}%
- \protected@iwrite\@auxout{}{\string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}%
+ \protected@iwrite\@auxout{}{%
+ \string\gdef\string\lastpage@lastpage{\thepage}}%
+ \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{%
+ \ifHy@pageanchor\lastpage@rmpage{\@currentHpage}\fi}{}}%
+ \protected@iwrite\@auxout{}{%
+ \string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}%
% \end{macrocode}
%
% \noindent After the write-out we restore the page number again,
@@ -1691,7 +1595,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
-% \newpage
%
% \begin{macro}{\lastpage@fileswtestHy}
% \indent \hspace*{2em}When the \xpackage{hyperref} package has been loaded,
@@ -1702,7 +1605,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{macrocode}
\newcommand{\lastpage@fileswtestHy}{%
\ifHy@pageanchor%
- \lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}%
+ \lastpage@fileswtest{\@currentHpage}{\@the@H@page}%
\else%
\lastpage@fileswtest{\empty}{\lastpage@lastpageHy}%
\fi%
@@ -1789,7 +1692,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX, \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1799,10 +1702,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX-format \LaTeX{}, v2.09
%
-% \item[-] package \xpackage{lastpage209}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage209}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
-% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}.
+% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}.\smallskip
%
% \DescribeMacro{lastpage2e.sty}
% The |lastpage2e.sty| for \LaTeXe{} (i.\,e. each document using
@@ -1811,7 +1714,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} 1994/12/01 or newer,
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1819,39 +1722,42 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% The |lastpageclassic.sty| for \LaTeXe{} (i.\,e. each document using
% the \xpackage{lastpageclassic} package) requires:
% \begin{description}
-% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2022/11/01,\newline
+% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2023-05-31,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
% \begin{description}
% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b,
-% \url{https://ctan.org/pkg/hyperref}
+% \url{https://ctan.org/pkg/hyperref}\newline
+% (probably also some older and newer versions)
% \end{description}
%
% \DescribeMacro{lastpagemodern.sty}
% The |lastpagemodern.sty| for \LaTeXe{} (i.\,e. each document using
% the \xpackage{lastpagemodern} package) requires:
% \begin{description}
-% \item[-] \TeX-format \LaTeXe{} 2022-11-01, better yet 2023-06-01 or newer,\newline
+% \item[-] \TeX-format \LaTeXe{} 2023-06-01 or newer,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
% \begin{description}
-% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b,
+% \item[-] package \xpackage{hyperref}, 2023-11-07 and newer
+% (tested with: 2024-01-20, v7.01h),
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
+% \pagebreak
%
% \DescribeMacro{lastpage-example.tex}
% The |lastpage-example.tex| requires the same file as all
% documents using the \xpackage{lastpage} package, i.\,e.
% \begin{description}
-% \item[-] package \xpackage{lastpage}, 2023-10-14, v2.0e,
+% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
% \url{https://ctan.org/pkg/lastpage}\newline
% (Well, it is the example file for this package, and because you are reading the
% documentation for the \xpackage{lastpage} package, it can be assumed that you already
@@ -1862,10 +1768,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] class \xpackage{article}, 2023-05-17, v1.4n, from \xpackage{classes}:
% \url{https://ctan.org/pkg/classes}
%
-% \item[-] package \xpackage{showkeys}, 2023-05-11, v3.19,
+% \item[-] package \xpackage{showkeys}, 2023-07-08, v3.19,
% \url{https://ctan.org/pkg/showkeys}
%
-% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b,
+% \item[-] package \xpackage{hyperref}, 2024-01-20, v7.01h,
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
%
@@ -1886,7 +1792,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \xpackage{fancyheadings}), but because they were mentioned, also they are listed
% here:
% \begin{description}
-% \item[-] package \xpackage{fancyhdr}, 2022-11-09, v4.1,
+% \item[-] package \xpackage{fancyhdr}, 2024/04/23, v4.2,
% \url{https://ctan.org/pkg/fancyhdr}
%
% \item[-] package \xpackage{nccfancyhdr}, 2004/12/07, v1.1,
@@ -1929,7 +1835,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] package \xpackage{zref}, 2023-09-14, v2.35,
% \url{https://ctan.org/pkg/zref}
%
-% \item[-] class \xpackage{memoir}, 2023-08-21, v3.8.1,
+% \item[-] class \xpackage{memoir}, 2024-01-26, v3.8.2,
% \url{https://ctan.org/pkg/memoir}.
% \end{description}
%
@@ -1971,13 +1877,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{description}
% which additionally contains\\
% \begin{tabular}{ll}
-% lastpage.ins & The installation file.\\
-% lastpage.drv & The driver to generate the documentation.\\
-% lastpage.sty & The \xext{sty}le file.\\
-% lastpage209.sty & The \xext{sty}le file for \LaTeX2.09{} \textbf{only}.\\
-% lastpage2e.sty & The \xext{sty}le file to determine which 2e-style to use.\\
-% lastpageclassic.sty & The \xext{sty}le file for older \LaTeX-formats.\\
-% lastpagemodern.sty & The \xext{sty}le file for the recent \LaTeX-format.\\
+% lastpage.ins & The \texttt{ins}tallation file.\\
+% lastpage.drv & The \mbox{\texttt{dr}i\texttt{v}er} to generate the documentation.\\
+% lastpage.sty & The \texttt{sty}le file.\\
+% lastpage209.sty & The \texttt{sty}le file for \LaTeX2.09{} \textbf{only}.\\
+% lastpage2e.sty & The \texttt{sty}le file to determine which 2e-style to use.\\
+% lastpageclassic.sty & The \texttt{sty}le file for older \LaTeX-formats.\\
+% lastpagemodern.sty & The \texttt{sty}le file for the recent \LaTeX-format.\\
% lastpage-example.tex & The example file.%
% \end{tabular}
%
@@ -2131,12 +2037,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% inventing the \xpackage{lastpage} package as well as for allowing me
% to update it. Further I would like to thank \textsc{Heiko Oberdiek}
% for providing a~lot~(!) of useful packages (from which I also learned everything
-% I know about creating a file in \xfile{dtx} format, OK, say it: copying),
-% and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
-% newsgroups for their help in all things \TeX{}. Thanks for bug reports
-% to \textsc{Ulrike Fischer} (twice), \textsc{Sebastian Bank}, \textsc{James Hedges},
-% \textsc{Mikhail Titov}, \textsc{Micha\l{} Herman}, \textsc{Matteo Gamboz}, and
-% \textsc{James Small}.
+% I know about creating a file in \xfile{dtx} format, OK, say it: copying).
+% Thanks for bug reports go to \textsc{Ulrike Fischer} (twice),
+% \textsc{Sebastian Bank}, \textsc{James Hedges}, \textsc{Mikhail Titov},
+% \textsc{Micha\l{} Herman}, \textsc{Matteo Gamboz}, and \textsc{James Small}.
% Thanks to \textsc{Sven Siegmund} for pointing out a necessary further
% explanation in the documentation.
%
@@ -2315,7 +2219,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item Replaced |\immediate\write| by a form of (pseudo-code!) |\immediate\protected@write|.
% (Thanks to \textsc{Ulrike Fischer} for the error report and solution!)
% \item Update of the |\lastpage@putl@bel| code to \pkg{hyperref} 2023-07-08, v7.01b,
-% which now allows fnsymbol as page numbering scheme.
+% which now allows fnsymbol as page numbering scheme (while links to, for example,
+% a page named $\|$ still do not work).
% \end{Version}
% \begin{Version}{2023-10-06 v2.0d}
% \item For plain arabic page numbers only, \pkg{lastpage} again writes the page number
@@ -2325,6 +2230,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{Version}{2023-10-14 v2.0e}
% \item Replaced a |\PackageError| by |\PackageWarningNoLine| as suggested by \textsc{Ulrike Fischer}.
% \end{Version}
+% \begin{Version}{2024-04-27 v2.1a}
+% \item Utilizes the new |\@currentHpage| provided by the \LaTeX -kernel.
+% \item The issue with |\thepage| (former |\lastpage@nonnumeric| command) has has been fixed
+% at 2023-11-07, \url{https://github.com/latex3/hyperref/issues/303}.
+% \item |\lastpage@IfNumericTF| is no longer needed, but has not been removed
+% so as not to break older documents that use it in a different context.
+% \end{Version}
% \end{History}
% \bigskip
%
diff --git a/macros/latex/contrib/lastpage/lastpage.pdf b/macros/latex/contrib/lastpage/lastpage.pdf
index bd129a18b2..02cb1362b7 100644
--- a/macros/latex/contrib/lastpage/lastpage.pdf
+++ b/macros/latex/contrib/lastpage/lastpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/latex2pydata/CHANGELOG.md b/macros/latex/contrib/latex2pydata/CHANGELOG.md
new file mode 100644
index 0000000000..f079e3c167
--- /dev/null
+++ b/macros/latex/contrib/latex2pydata/CHANGELOG.md
@@ -0,0 +1,39 @@
+# Changelog — latex2pydata LaTeX package
+
+
+## v0.2.0 (2024-05-16)
+
+* Operations on file handles, file names, and buffers are now global.
+ This prevents errors due to groups.
+
+* `\pydatasetfilehandle`, `\pydatareleasefilehandle`, `\pydatasetfilename`,
+ and `\pydataclosefilename` are redesigned to deal with cases where the same
+ file is opened, written, closed, and then later reopened and overwritten.
+ `\pydatasetfilename` now reuses file handles when the same file is
+ opened and closed multiple times. `\pydataclosefilename` no longer
+ attempts to close files `\AtEndDocument`, since that can interfere with
+ files that need to remain open as long as possible.
+
+* Added new commands `\pydatawritekeyedefvalue` and
+ `\pydatabufferkeyedefvalue`. These `\edef` the value before interpreting
+ it as verbatim text.
+
+* Simplified implementation of `pydatabuffermlvalue` environment, based on
+ latest `fvextra`.
+
+* Added error messages for unknown file handles and file names.
+
+* Added additional state and data checks in `\pydatawritebuffer`.
+
+* Added documentation for `\pydatawritemlvaluestart`,
+ `\pydatawritemlvalueline`, `\pydatawritemlvalueend`,
+ `\pydatabuffermlvaluestart`, `\pydatabuffermlvalueline`,
+ `\pydatabuffermlvalueend`.
+
+* Updated `tcblisting` usage in docs for compatibility with the latest
+ `tcolorbox`.
+
+
+## v0.1.0 (2023-11-19)
+
+* Initial release.
diff --git a/macros/latex/contrib/latex2pydata/README b/macros/latex/contrib/latex2pydata/README
index 678217ebc7..4f7751d62b 100644
--- a/macros/latex/contrib/latex2pydata/README
+++ b/macros/latex/contrib/latex2pydata/README
@@ -2,14 +2,15 @@ latex2pydata - write data to file in Python literal format
Author: Geoffrey M. Poore
License: LPPL v1.3c or later
-Development: https://github.com/gpoore/latex2pydata_tex
+Development: https://github.com/gpoore/latex2pydata/tree/main/latex
latex2pydata is a LaTeX package for writing data to file using Python literal
syntax (https://docs.python.org/3/reference/lexical_analysis.html#literals).
The data may be loaded safely in Python using the ast.literal_eval() function
(https://docs.python.org/3/library/ast.html#ast.literal_eval) or the
-latex2pydata Python package https://github.com/gpoore/latex2pydata_py).
+latex2pydata Python package
+https://github.com/gpoore/latex2pydata/tree/main/python).
The top-level data structure can be configured as either a Python dict or a
list of dicts. Within dicts, all keys and values are written to file as
@@ -20,10 +21,10 @@ data types such as dicts, lists, sets, bools, and numbers.
The data is suitable for direct loading in Python with ast.literal_eval().
It is also possible to load data using the latex2pydata Python package
-(https://github.com/gpoore/latex2pydata_py). This functions as a wrapper for
-ast.literal_eval(). The package requires all keys to match the regex
-"[A-Za-z_][0-9A-Za-z_]*". Periods in keys are interpreted as key paths and
-indicate sub-dicts. For example, the key path "main.sub" represents a key
+(https://github.com/gpoore/latex2pydata/tree/main/python). This functions as
+a wrapper for ast.literal_eval(). The package requires all keys to match the
+regex "[A-Za-z_][0-9A-Za-z_]*". Periods in keys are interpreted as key paths
+and indicate sub-dicts. For example, the key path "main.sub" represents a key
"main" in the main dict that maps to a sub-dict containing a key "sub". The
Python package supports the schema features provided by the LaTeX package, so
that data types other than dicts of strings are possible.
diff --git a/macros/latex/contrib/latex2pydata/latex2pydata.dtx b/macros/latex/contrib/latex2pydata/latex2pydata.dtx
index c49c732037..a9d1751557 100644
--- a/macros/latex/contrib/latex2pydata/latex2pydata.dtx
+++ b/macros/latex/contrib/latex2pydata/latex2pydata.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2023 by Geoffrey M. Poore <gpoore@gmail.com>
+% Copyright (C) 2023-2024 by Geoffrey M. Poore <gpoore@gmail.com>
% ---------------------------------------------------------------------------
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -26,7 +26,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{latex2pydata}
%<*package>
- [2023/11/19 v0.1 latex2pydata - write data to file in Python literal format]
+ [2024/05/16 v0.2.0 latex2pydata - write data to file in Python literal format]
%</package>
%
%<*driver>
@@ -67,23 +67,7 @@
\usepackage{tcolorbox}
\tcbuselibrary{listings}
-% strip leading percent symbols
-\def\tcbverbatimwrite#1{%
- \@bsphack
- \tcb@set@verbatim@finish%
- \tcb@allocate@tcb@out%
- \immediate\openout\tcb@out #1
- \tcb@verbatim@begin@hook%
- \let\do\@makeother\dospecials
- \tcb@verbatim@change@percent\catcode`\^^M\active \catcode`\^^I=12
- \def\verbatim@processline{%
- \immediate\write\tcb@out
- {\expandafter\@gobble\the\verbatim@line}}%
- \verbatim@start}%
-
-% fix redefinition by tcolorbox
-\def\verbatim@processline{%
- \expandafter\check@percent\the\verbatim@line\par}
+\tcbset{verbatim ignore percent}
\usepackage{hyperref}
\hypersetup{
@@ -248,27 +232,11 @@
\edef\hashchar{\string#}
-\newcommand{\changestext}{}
-\NewEnviron{changelog}[2]{%
- \g@addto@macro\changestext{\item[#1] (#2) \begin{itemize}}%
- \expandafter\g@addto@macro\expandafter\changestext\expandafter{\BODY}%
- \g@addto@macro\changestext{\end{itemize}}%
-}
-\newcommand{\PrintChangelog}{%
- %\addcontentsline{toc}{section}{Changelog}
- %\section*{Changelog}%
- \section{Changelog}
- \label{sec:changelog}
- \begin{description}%
- \changestext
- \end{description}%
-}
-
\begingroup
\catcode`\#=12\relax
\gdef\astliteval{\href{https://docs.python.org/3/library/ast.html#ast.literal_eval}{\code{ast.literal_eval()}}}
\endgroup
-\def\pydatapy{\href{https://github.com/gpoore/latex2pydata_py}{\pkg{latex2pydata} Python package}}
+\def\pydatapy{\href{https://github.com/gpoore/latex2pydata/tree/main/python}{\pkg{latex2pydata} Python package}}
\def\fvextra{\href{https://github.com/gpoore/fvextra/}{\pkg{fvextra}}}
\def\fancyvrb{\href{https://ctan.org/pkg/fancyvrb}{\pkg{fancyvrb}}}
@@ -286,11 +254,6 @@
% \fi
%
%
-% \begin{changelog}{v0.1}{2023-11-19}
-% \item Initial release.
-% \end{changelog}
-%
-%
% \DoNotIndex{\newcommand,\newenvironment}
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
% \DoNotIndex{\@ne}
@@ -303,7 +266,7 @@
% \GetFileInfo{latex2pydata.dtx}
%
% \title{\vspace{-0.5in}The \pydata\ package}
-% \author{Geoffrey M.\ Poore \\ \href{mailto://gpoore@gmail.com}{\texttt{gpoore@gmail.com}} \\ \href{https://github.com/gpoore/latex2pydata_tex}{\Verb{github.com/gpoore/latex2pydata_tex}}}
+% \author{Geoffrey M.\ Poore \\ \href{mailto://gpoore@gmail.com}{\texttt{gpoore@gmail.com}} \\ \href{https://github.com/gpoore/latex2pydata/tree/main/latex}{\Verb{github.com/gpoore/latex2pydata/tree/main/latex}}}
% \date{\fileversion~from \filedate}
%
% \maketitle
@@ -385,6 +348,8 @@
%
% \subsection{File handling}
%
+% All file handling commands operate globally (|\global|, |\gdef|, etc.).
+%
% \DescMacro{\pydatasetfilehandle\marg{filehandle}}
% Configure writing to file using an existing file handle created with |\newwrite|. This allows manual management of the file handle. For example:
% \begin{Verbatim}[gobble=2]
@@ -398,10 +363,12 @@
%
% To switch from one file handle to another, simply use |\pydatasetfilehandle| with the new file handle. When the file handle is no longer in use, |\pydatareleasefilehandle| is recommended (but not required) to remove references to the file handle and perform basic checking for incomplete or malformed data written to file.
%
+% |\pydatasetfilehandle| sets the file handle globally.
+%
% \DescMacro{\pydatareleasefilehandle\marg{filehandle}}
% When a file handle is no longer needed, remove references to it. Also perform basic checking for incomplete or malformed data written to file.
%
-% This should only be used once per file handle, after all data has been written. It is not needed when switching from one file handle to another when both files remain open; in that case, only |\pydatasetfilehandle| is needed.
+% This should only be used once per opened file, after all data has been written, just before the file is closed. It is not needed when switching from one file handle to another when both files remain open; in that case, only |\pydatasetfilehandle| is needed. If |\pydatareleasefilehandle| is used before all data is written, or it is used multiple times while writing to the same file, then it is no longer possible to detect incomplete or malformed data.
%
% \DescMacro{\pydatasetfilename\marg{filename}}
% Configure a file for writing based on filename, opening the file if necessary. For example:
@@ -412,6 +379,8 @@
%
% To switch from one file to another, simply use |\pydatasetfilename| with the new filename. When the file is no longer in use, |\pydataclosefilename| is recommended.
%
+% |\pydatasetfilename| sets the filename globally.
+%
% \DescMacro{\pydataclosefilename\marg{filename}}
% Close a file previously opened with |\pydatasetfilename|. Also perform basic checking for incomplete or malformed data written to file.
%
@@ -465,7 +434,13 @@
% \subsection{Writing keys and values}
% All keys must be single-line strings of text without a newline. Both single-line and multi-line values are supported. Keys and values are written to the file previously configured via |\pydatasetfilehandle| or |\pydatasetfilename|.
%
-% The \pydata\ commands read keys and values verbatim. When these commands are used inside other commands, they use macros from \fvextra\ to attempt to interpret their arguments as verbatim. However, there are limitations in this case because the arguments are already tokenized:
+% Commands for writing keys and values may read these keys and values in one of two ways.
+% \begin{itemize}
+% \item Commands whose names contain |key| or |value| read these arguments verbatim, as described below.
+% \item Commands whose names contain |edefkey| or |edefvalue| read these arguments normally, then expand the arguments via |\edef|, and finally interpret the result as verbatim text.
+% \end{itemize}
+%
+% The \pydata\ commands that read keys and values verbatim have some limitations. When these commands are used inside other commands, they use macros from \fvextra\ to attempt to interpret their arguments as verbatim. However, there are limitations in this case because the arguments are already tokenized:
% \begin{itemize}
% \item |#| and |%| cannot be used.
% \item Curly braces are only allowed in pairs.
@@ -473,7 +448,7 @@
% \item Be careful with backslashes. A backslash that is followed by one or more ASCII letters will cause a following space to be lost, if the space is not immediately followed by an ASCII letter.
% \item A single |^| is fine, but |^^| will serve as an escape sequence for an ASCII command character.
% \end{itemize}
-% When the \pydata\ commands are used inside other commands that pass their arguments to the \pydata\ commands, it will usually be best to avoid these limitations by defining the other commands to read their arguments verbatim. Consider using the \href{https://ctan.org/pkg/xparse}{\pkg{xparse}} package. It is also possible to use |\FVExtraReadVArg| from \fvextra; for an example, see the implementation of |\pydatawritekey|.
+% When the \pydata\ commands are used inside other commands that pass their arguments to the \pydata\ commands, it may be best to avoid these limitations by defining the other commands to read their arguments verbatim. Consider using the \href{https://ctan.org/pkg/xparse}{\pkg{xparse}} package. It is also possible to use |\FVExtraReadVArg| from \fvextra; for an example, see the implementation of |\pydatawritekey|.
%
% Because the \pydata\ commands treat keys and values as verbatim, any desired macro expansion must be performed before passing the keys and values to the \pydata\ commands.
%
@@ -486,11 +461,22 @@
% \DescMacro{\pydatawritekeyvalue\marg{key}\marg{value}}
% Write a key and a single-line value to file simultaneously.
%
+% \DescMacro{\pydatawritekeyedefvalue\marg{key}\marg{value}}
+% Write a key and a single-line value to file simultaneously. The value is expanded via |\edef| before being interpreted as verbatim text and then written.
+%
% \DescEnv{pydatawritemlvalue}
% Write a multi-line value to file.
%
% This environment uses \fvextra\ and \fancyvrb\ internally to capture the environment contents verbatim. If a new environment is defined as a wrapper for |pydatawritemlvalue|, then |\VerbatimEnvironment| must be used at the beginning of the new environment definition. This configures \fancyvrb\ to find the end of the new environment correctly.
%
+% \DescMacro{\pydatawritemlvaluestart}
+%
+% \DescMacro{\pydatawritemlvalueline\marg{line}}
+%
+% \DescMacro{\pydatawritemlvalueend}
+% These commands allow writing a multi-line value to file one line at a time. \meta{line} is interpreted verbatim.
+%
+%
%
% \subsection{Buffer}
%
@@ -498,6 +484,8 @@
%
% A buffer consists of a sequence of macros of the form |\|\meta{buffername}|line|\meta{n}, where each line of data corresponds to a macro and \meta{n} is an integer greater than or equal to one (one-based indexing). The length of the buffer is stored in the counter \meta{buffername}|length|. Buffers are limited to containing comma-separated key-value data, without any opening or closing dict delimiters |{}|.
%
+% All buffer commands that set the buffer or modify the buffer operate globally (|\global|, |\gdef|, etc.).
+%
%
% \subsubsection{Creating and deleting buffers}
%
@@ -538,15 +526,23 @@
% \DescMacro{\pydatabufferkeyvalue\marg{key}\marg{value}}
% Append a key and a single-line value to the buffer simultaneously.
%
+% \DescMacro{\pydatabufferkeyedefvalue\marg{key}\marg{value}}
+% Append a key and a single-line value to the buffer simultaneously. The value is expanded via |\edef| before being interpreted as verbatim text and then buffered.
+%
% \DescEnv{pydatabuffermlvalue}
% Append a multi-line value to the buffer.
%
% This environment uses \fvextra\ and \fancyvrb\ internally to capture the environment contents verbatim. If a new environment is defined as a wrapper for |pydatabuffermlvalue|, then |\VerbatimEnvironment| must be used at the beginning of the new environment definition. This configures \fancyvrb\ to find the end of the new environment correctly.
%
+% \DescMacro{\pydatabuffermlvaluestart}
+%
+% \DescMacro{\pydatabuffermlvalueline\marg{line}}
+%
+% \DescMacro{\pydatabuffermlvalueend}
+% These commands allow buffering a multi-line value one line at a time. \meta{line} is interpreted verbatim.
%
%
%
-% \PrintChangelog
%
% \StopEventually{\PrintIndex}
%
@@ -582,7 +578,7 @@
% \begin{macrocode}
\RequirePackage{etoolbox}
\RequirePackage{fvextra}
-\IfPackageAtLeastTF{fvextra}{2023/11/19}%
+\IfPackageAtLeastTF{fvextra}{2024/05/16}%
{}{\pydata@error{package fvextra is outdated; upgrade to the latest version}}
\RequirePackage{pdftexcmds}
% \end{macrocode}
@@ -599,55 +595,83 @@
% \end{macro}
%
%
+% \begin{macro}{\pydata@newglobalbool, \pydata@provideglobalbool}
+% Variants of \pkg{etoolbox}'s |\newbool| and |\providebool| that create bools whose state is always global. When these global bools are used with |\setbool|, |\booltrue|, or |\boolfalse|, the global state is updated regardless of whether the command is prefixed with |\global|. These use a global variant of \LaTeX's |\newif| internally.
+% \begin{macrocode}
+\def\pydata@gnewif#1{%
+ \count@\escapechar
+ \escapechar\m@ne
+ \global\let#1\iffalse
+ \pydata@gif#1\iftrue
+ \pydata@gif#1\iffalse
+ \escapechar\count@}
+\def\pydata@gif#1#2{%
+ \expandafter\gdef\csname
+ \expandafter\@gobbletwo\string#1\expandafter\@gobbletwo\string#2\endcsname
+ {\global\let#1#2}}
+\newrobustcmd*{\pydata@newglobalbool}[1]{%
+ \begingroup
+ \let\newif\pydata@gnewif
+ \newbool{#1}%
+ \endgroup}
+\newrobustcmd*{\pydata@provideglobalbool}[1]{%
+ \begingroup
+ \let\newif\pydata@gnewif
+ \providebool{#1}%
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+%
%
% \subsection{State}
%
-% Track state of writing data and of buffering data.
+% Track state of writing data and of buffering data. Notice that bools for tracking state are a special, custom variant that is always global.
%
% \begin{macro}{pydata@canwrite}
% Whether data can be written. False if a file handle has not been set or if the top-level data structure has been closed.
% \begin{macrocode}
-\newbool{pydata@canwrite}
+\pydata@newglobalbool{pydata@canwrite}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{pydata@hasmeta}
% Whether metadata was written. Metadata is a \code{dict[str, str | dict[str, str]]}.
% \begin{macrocode}
-\newbool{pydata@hasmeta}
+\pydata@newglobalbool{pydata@hasmeta}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{pydata@topexists}
% Whether the top-level data structure has been configured. The top-level data structure can be a list or a dict. The overall data structure must be either |dict[str, str]| or |list[dict[str, str]]|.
% \begin{macrocode}
-\newbool{pydata@topexists}
+\pydata@newglobalbool{pydata@topexists}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{pydata@topislist}
% Whether the top-level data structure is a list.
% \begin{macrocode}
-\newbool{pydata@topislist}
+\pydata@newglobalbool{pydata@topislist}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{pydata@indict}
% Whether a dict has been opened.
% \begin{macrocode}
-\newbool{pydata@indict}
+\pydata@newglobalbool{pydata@indict}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{pydata@haskey}
% Whether a key has been written (waiting for a value).
% \begin{macrocode}
-\newbool{pydata@haskey}
+\pydata@newglobalbool{pydata@haskey}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\pydata@fhstartstate, \pydata@fhstopstate}
-% Start and stop state tracking for a file handle (|\newwrite|). Each file handle has its own set of state bools of the form |pydata@|\meta{boolname}|@|\meta{fh}. When a file handle is in use, the values of these bools are copied into the |pydata@|\meta{boolname} bools; when the file handle is no longer in use, |pydata@|\meta{boolname} values are copied back into |pydata@|\meta{boolname}|@|\meta{fh}.
+% \begin{macro}{\pydata@fhstartstate, \pydata@fhstopstate, \pydata@fhresetstate}
+% Start and stop state tracking for a file handle (|\newwrite|), or reset state after writing is complete. Each file handle has its own set of state bools of the form |pydata@|\meta{boolname}|@|\meta{fh}. When a file handle is in use, the values of these bools are copied into the |pydata@|\meta{boolname} bools; when the file handle is no longer in use, |pydata@|\meta{boolname} values are copied back into |pydata@|\meta{boolname}|@|\meta{fh}.
% \begin{macrocode}
\def\pydata@fhstartstate#1{%
\expandafter\pydata@fhstartstate@i\expandafter{\number#1}}
@@ -659,10 +683,13 @@
\booltrue{pydata@fhnewstate}%
\fi
\def\do##1{%
- \providebool{pydata@##1@#1}%
+ \pydata@provideglobalbool{pydata@##1@#1}%
\ifbool{pydata@##1@#1}{\booltrue{pydata@##1}}{\boolfalse{pydata@##1}}}%
\docsvlist{canwrite, hasmeta, topexists, topislist, indict, haskey}%
- \ifbool{pydata@fhnewstate}{\booltrue{pydata@canwrite}{}}{}}
+ \ifbool{pydata@fhnewstate}%
+ {\booltrue{pydata@canwrite}}{}%
+ \ifbool{pydata@fhisreleased@#1}%
+ {\boolfalse{pydata@fhisreleased@#1}\booltrue{pydata@canwrite}}{}}
\def\pydata@fhstopstate#1{%
\expandafter\pydata@fhstopstate@i\expandafter{\number#1}}
\def\pydata@fhstopstate@i#1{%
@@ -672,6 +699,12 @@
\boolfalse{pydata@##1}}%
\docsvlist{canwrite, hasmeta, topexists, topislist, indict, haskey}%
\fi}
+\def\pydata@fhresetstate#1{%
+ \expandafter\pydata@fhresetstate@i\expandafter{\number#1}}
+\def\pydata@fhresetstate@i#1{%
+ \def\do##1{%
+ \boolfalse{pydata@##1@#1}}%
+ \docsvlist{canwrite, hasmeta, topexists, topislist, indict, haskey}}
% \end{macrocode}
% \end{macro}
%
@@ -680,7 +713,7 @@
%
% If multiple buffers are in use, all buffers use the same |pydata@bufferhaskey|. Inconsistent state is avoided by requiring that |\pydatasetbuffername| can only be invoked when |pydata@bufferhaskey| is false.
% \begin{macrocode}
-\newbool{pydata@bufferhaskey}
+\pydata@newglobalbool{pydata@bufferhaskey}
% \end{macrocode}
% \end{macro}
%
@@ -709,49 +742,68 @@
% Set and release file handle. Release isn't strictly required, but it is necessary for basic data checking on the \LaTeX\ side.
% \begin{macrocode}
\def\pydatasetfilehandle#1{%
+ \if\relax\detokenize{#1}\relax
+ \pydata@error{Missing file handle}%
+ \fi
\ifx\pydata@filehandle\relax
+ \else\ifx\pydata@filehandle#1\relax
\else
\pydata@fhstopstate{\pydata@filehandle}%
- \fi
- \let\pydata@filehandle#1\relax
- \pydata@fhstartstate{#1}}
+ \fi\fi
+ \ifx\pydata@filehandle#1\relax
+ \else
+ \global\let\pydata@filehandle#1\relax
+ \pydata@provideglobalbool{pydata@fhisreleased@\number#1}%
+ \pydata@fhstartstate{#1}%
+ \fi}
\def\pydatareleasefilehandle#1{%
- \ifx\pydata@filehandle\relax
+ \ifcsname ifpydata@canwrite@\number#1\endcsname
\else
- \ifx\pydata@filehandle#1\relax
- \pydata@fhstopstate{#1}%
- \let\pydata@filehandle\relax
- \fi
+ \pydata@error{Unknown file handle #1}%
\fi
- \ifcsname ifpydata@canwrite@\number#1\endcsname
- \ifbool{pydata@canwrite@\number#1}%
- {\ifbool{pydata@haskey@\number#1}%
- {\pydata@error{Incomplete data: key is waiting for value}}{}%
- \ifbool{pydata@indict@\number#1}%
- {\pydata@error{Incomplete data: dict is not closed}}{}%
- \ifbool{pydata@topislist@\number#1}%
- {\pydata@error{Incomplete data: list is not closed}}{}}%
- {}%
- \fi}
+ \ifx\pydata@filehandle#1\relax
+ \pydata@fhstopstate{#1}%
+ \global\let\pydata@filehandle\relax
+ \fi
+ \ifbool{pydata@canwrite@\number#1}%
+ {\ifbool{pydata@haskey@\number#1}%
+ {\pydata@error{Incomplete data: key is waiting for value}}{}%
+ \ifbool{pydata@indict@\number#1}%
+ {\pydata@error{Incomplete data: dict is not closed}}{}%
+ \ifbool{pydata@topislist@\number#1}%
+ {\pydata@error{Incomplete data: list is not closed}}{}}%
+ {}%
+ \pydata@fhresetstate{#1}%
+ \booltrue{pydata@fhisreleased@\number#1}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pydatasetfilename, \pydataclosefilename}
-% Shortcut for creating a |\newwrite| and then passing the file handle to |\pydatasetfilehandle|. Automatically attempt to close the file handle (if it still exists) at the end of the document. This isn't strictly required since \TeX\ will \href{https://tex.stackexchange.com/a/337291}{automatically close open writes}. Invoking the close macro is necessary for basic data checking on the \LaTeX\ side.
+% Shortcut for creating a |\newwrite| and then passing the file handle to |\pydatasetfilehandle|. File handles are global. If the close macro is not invoked, then basic data checking on the \LaTeX\ side will not be performed. However, \TeX\ will \href{https://tex.stackexchange.com/a/337291}{automatically close open writes at the end of the compile}.
% \begin{macrocode}
\def\pydatasetfilename#1{%
+ \if\relax\detokenize{#1}\relax
+ \pydata@error{Missing filename}%
+ \fi
\ifcsname pydata@fh@#1\endcsname
\else
\expandafter\newwrite\csname pydata@fh@#1\endcsname
- \expandafter\immediate\expandafter\openout\csname pydata@fh@#1\endcsname=#1\relax
- \AtEndDocument{\pydataclosefilename{#1}}%
\fi
+ \pydata@provideglobalbool{pydata@fileisopen@#1}%
+ \ifbool{pydata@fileisopen@#1}%
+ {}%
+ {\expandafter\immediate\expandafter\openout\csname pydata@fh@#1\endcsname=#1\relax
+ \booltrue{pydata@fileisopen@#1}}%
\expandafter\pydatasetfilehandle\expandafter{\csname pydata@fh@#1\endcsname}}
\def\pydataclosefilename#1{%
\ifcsname pydata@fh@#1\endcsname
- \expandafter\pydatareleasefilehandle\expandafter{\csname pydata@fh@#1\endcsname}%
- \expandafter\immediate\expandafter\closeout\csname pydata@fh@#1\endcsname
- \expandafter\let\csname pydata@fh@#1\endcsname\pydata@undefined
+ \ifbool{pydata@fileisopen@#1}%
+ {\expandafter\pydatareleasefilehandle\expandafter{\csname pydata@fh@#1\endcsname}%
+ \expandafter\immediate\expandafter\closeout\csname pydata@fh@#1\endcsname
+ \boolfalse{pydata@fileisopen@#1}}%
+ {}%
+ \else
+ \pydata@error{Unknown file name "#1"}%
\fi}
% \end{macrocode}
% \end{macro}
@@ -779,14 +831,13 @@
\ifbool{pydata@bufferhaskey}%
{\pydata@error{Cannot change buffers when a buffered key is waiting for a value}}%
{}%
- \def\pydata@buffername{#1}%
- \def\pydata@bufferlinename{#1line}%
- \def\pydata@bufferlengthname{#1length}%
+ \gdef\pydata@buffername{#1}%
+ \gdef\pydata@bufferlinename{#1line}%
+ \gdef\pydata@bufferlengthname{#1length}%
\ifcsname c@\pydata@bufferlengthname\endcsname
\else
\expandafter\newcounter\expandafter{\pydata@bufferlengthname}%
- \fi
- \expandafter\setcounter\expandafter{\pydata@bufferlengthname}{0}}
+ \fi}
\pydatasetbuffername{pydata@defaultbuffer}
% \end{macrocode}
% \end{macro}
@@ -798,7 +849,10 @@
\ifnum\expandafter\value\expandafter{\pydata@bufferlengthname}<1\relax
\pydata@error{Cannot write empty buffer}%
\fi
- \ifbool{pydata@indict}{}{\pydata@error{Cannot write a buffer unless in a dict}}%
+ \pydata@checkfilehandle
+ \ifbool{pydata@indict}{}{\pydata@error{Cannot write buffer unless in a dict}}%
+ \ifbool{pydata@haskey}%
+ {\pydata@error{Cannot write buffer when file has a key waiting for a value}}{}%
\ifbool{pydata@bufferhaskey}%
{\pydata@error{Cannot write buffer when a buffered key is waiting for a value}}{}%
\setcounter{pydata@bufferindex}{1}%
@@ -824,7 +878,7 @@
\fi
\setcounter{pydata@bufferindex}{1}%
\loop\unless\ifnum\value{pydata@bufferindex}>\value{#1length}\relax
- \expandafter\let
+ \expandafter\global\expandafter\let
\csname#1line\arabic{pydata@bufferindex}\endcsname\pydata@undefined
\stepcounter{pydata@bufferindex}%
\repeat
@@ -948,7 +1002,7 @@
\else
\pydata@error{Invalid schema missing setting #1}%
\fi
- \def\pydata@schemamissing{#1}}
+ \gdef\pydata@schemamissing{#1}}
\pydatasetschemamissing{error}
% \end{macrocode}
% \end{macro}
@@ -972,7 +1026,7 @@
% Delete existing schema. This isn't done automatically upon writing so that a schema can be defined and then reused.
% \begin{macrocode}
\def\pydataclearschema{%
- \def\pydata@schema{}}
+ \gdef\pydata@schema{}}
% \end{macrocode}
% \end{macro}
%
@@ -1111,7 +1165,7 @@
\ifbool{pydata@bufferhaskey}%
{\pydata@error{Cannot buffer a key when waiting for a value}}{}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@quotestr{#1}:%
@@ -1140,7 +1194,7 @@
\ifbool{pydata@bufferhaskey}%
{}{\pydata@error{Cannot buffer value when waiting for a key}}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@quotestr{#1},%
@@ -1150,7 +1204,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\pydatawritekeyvalue, \pydatabufferkeyvalue}
+% \begin{macro}{\pydatawritekeyvalue, \pydatawritekeyedefvalue, \pydatabufferkeyvalue, \pydatabufferkeyedefvalue}
% Write a key and a single-line value to file simultaneously, or append them to the buffer.
% \begin{macrocode}
\begingroup
@@ -1166,6 +1220,13 @@
\immediate\write\pydata@filehandle{%
\pydata@quotestr{#1}: \pydata@quotestr{#2},%
}}
+\gdef\pydatawritekeyedefvalue{%
+ \FVExtraReadVArg{\FVExtraDetokenizeVArg{\pydatawritekeyedefvalue@i}}}
+\gdef\pydatawritekeyedefvalue@i#1#2{%
+ \edef\pydata@tmp{#2}%
+ \expandafter\pydatawritekeyedefvalue@ii\expandafter{\pydata@tmp}{#1}}
+\gdef\pydatawritekeyedefvalue@ii#1#2{%
+ \FVExtraDetokenizeVArg{\pydatawritekeyvalue@ii{#2}}{#1}}
\gdef\pydatabufferkeyvalue{%
\FVExtraReadVArg{\FVExtraDetokenizeVArg{\pydatabufferkeyvalue@i}}}
\gdef\pydatabufferkeyvalue@i#1{%
@@ -1174,11 +1235,18 @@
\ifbool{pydata@bufferhaskey}%
{\pydata@error{Cannot buffer a key when waiting for a value}}{}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@quotestr{#1}: \pydata@quotestr{#2},%
}}
+\gdef\pydatabufferkeyedefvalue{%
+ \FVExtraReadVArg{\FVExtraDetokenizeVArg{\pydatabufferkeyedefvalue@i}}}
+\gdef\pydatabufferkeyedefvalue@i#1#2{%
+ \edef\pydata@tmp{#2}%
+ \expandafter\pydatabufferkeyedefvalue@ii\expandafter{\pydata@tmp}{#1}}
+\gdef\pydatabufferkeyedefvalue@ii#1#2{%
+ \FVExtraDetokenizeVArg{\pydatabufferkeyvalue@ii{#2}}{#1}}
\endgroup
% \end{macrocode}
% \end{macro}
@@ -1209,7 +1277,7 @@
\ifbool{pydata@bufferhaskey}%
{}{\pydata@error{Cannot buffer value when waiting for a key}}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@mlstropen
@@ -1218,7 +1286,7 @@
\ifbool{pydata@bufferhaskey}%
{}{\pydata@error{Cannot buffer value when waiting for a key}}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@escstrtext{#1}%
@@ -1227,7 +1295,7 @@
\ifbool{pydata@bufferhaskey}%
{}{\pydata@error{Cannot buffer value when waiting for a key}}%
\expandafter\stepcounter\expandafter{\pydata@bufferlengthname}%
- \expandafter\edef\csname
+ \expandafter\xdef\csname
\pydata@bufferlinename\expandafter\arabic\expandafter{\pydata@bufferlengthname}%
\endcsname{%
\pydata@mlstrclose,%
@@ -1252,21 +1320,9 @@
% \begin{macrocode}
\newenvironment{pydatabuffermlvalue}%
{\VerbatimEnvironment
- \begin{VerbatimBuffer}[buffername=pydata@tmpbuffer, globalbuffer=true]}%
- {\end{VerbatimBuffer}}
-\AfterEndEnvironment{pydatabuffermlvalue}{%
\pydatabuffermlvaluestart
- \setcounter{pydata@bufferindex}{1}%
- \loop\unless\ifnum\value{pydata@bufferindex}>\value{pydata@tmpbufferlength}\relax
- \expandafter\let\expandafter\pydata@tmpbufferline
- \csname pydata@tmpbufferline\arabic{pydata@bufferindex}\endcsname
- \expandafter\let
- \csname pydata@tmpbufferline\arabic{pydata@bufferindex}\endcsname\pydata@undefined
- \expandafter\pydatabuffermlvalueline\expandafter{\pydata@tmpbufferline}%
- \stepcounter{pydata@bufferindex}%
- \repeat
- \setcounter{pydata@tmpbufferlength}{0}%
- \setcounter{pydata@bufferindex}{0}%
+ \begin{VerbatimBuffer}[bufferer=\pydatabuffermlvalueline]}%
+ {\end{VerbatimBuffer}%
\pydatabuffermlvalueend}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/latex2pydata/latex2pydata.ins b/macros/latex/contrib/latex2pydata/latex2pydata.ins
index 6367807032..ed696a1f38 100644
--- a/macros/latex/contrib/latex2pydata/latex2pydata.ins
+++ b/macros/latex/contrib/latex2pydata/latex2pydata.ins
@@ -1,4 +1,4 @@
-%% Copyright (C) 2023 by Geoffrey M. Poore <gpoore@gmail.com>
+%% Copyright (C) 2023-2024 by Geoffrey M. Poore <gpoore@gmail.com>
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -26,7 +26,7 @@
This is a generated file.
-Copyright (C) 2023 by Geoffrey M. Poore <gpoore@gmail.com>
+Copyright (C) 2023-2024 by Geoffrey M. Poore <gpoore@gmail.com>
--------------------------------------------------------------------------
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/latex2pydata/latex2pydata.pdf b/macros/latex/contrib/latex2pydata/latex2pydata.pdf
index 96eca7e89d..815d40d7be 100644
--- a/macros/latex/contrib/latex2pydata/latex2pydata.pdf
+++ b/macros/latex/contrib/latex2pydata/latex2pydata.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/README.md b/macros/latex/contrib/litesolution/README.md
index a7a7996604..f597d5fb09 100644
--- a/macros/latex/contrib/litesolution/README.md
+++ b/macros/latex/contrib/litesolution/README.md
@@ -1,17 +1,19 @@
-# The `LiteSolution` package
+# The `LiteSolution` class
-This template provides a fresh design for typesetting solutions of midterm or final exam, textbooks and other exercises.
+The LiteSolution class is designed for typesetting solutions of problems in exams, textbooks, etc.
-**Welcome to pull requests
-[here](https://github.com/xiamyphys/LiteSolution).**
+**Welcome to pull requests [here](https://github.com/xiamyphys/litesolution/pulls).**
## License
-This work may be distributed and/or modified under the conditions of the
-[LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
-either version 1.3c of this license or (at your option) any later version.
+This work may be distributed and/or modified under the conditions of the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version.
This work has the LPPL maintenance status `maintained`.
-The Current Maintainer of this work is
-[Mingyu Hsia](https://www.ctan.org/author/xia-my). \ No newline at end of file
+The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my).
+
+## Derivative Works
+
+- [notebeamer](https://ctan.org/pkg/notebeamer): Package provides macros for inputting slides on note papers quickly.
+
+- [fadingimage](https://ctan.org/pkg/fadingimage): Package provides macros for inputting full width picture at the edges of pages quickly.
diff --git a/macros/latex/contrib/litesolution/doc/Beautiful-realities.jpeg b/macros/latex/contrib/litesolution/doc/figure/Beautiful-realities.jpeg
index 2b6036083d..2b6036083d 100644
--- a/macros/latex/contrib/litesolution/doc/Beautiful-realities.jpeg
+++ b/macros/latex/contrib/litesolution/doc/figure/Beautiful-realities.jpeg
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/schrodinger.pdf b/macros/latex/contrib/litesolution/doc/figure/schrodinger.pdf
index c9278e8113..c9278e8113 100644
--- a/macros/latex/contrib/litesolution/doc/schrodinger.pdf
+++ b/macros/latex/contrib/litesolution/doc/figure/schrodinger.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.pdf b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
new file mode 100644
index 0000000000..6ebe5201dc
--- /dev/null
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.tex b/macros/latex/contrib/litesolution/doc/figure/universe.tex
new file mode 100644
index 0000000000..f2fa69eaab
--- /dev/null
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.tex
@@ -0,0 +1,44 @@
+\documentclass[svgnames,tikz]{standalone}
+
+\usepackage{xcolor}
+\usepackage{newtxtext,mtpro2,cancel,physics2,xfrac}
+\usephysicsmodule{ab.legacy}
+\usetikzlibrary{tikzmark}
+\tikzset{every node/.style={align=center,DarkSlateGray!30},
+ every path/.style={DarkSlateGray!30,line cap=round}}
+
+\begin{document}\tikz{
+ \node [above right] at (0,0) {$\color{DarkSlateGray!30}
+ \tikzmarknode a\Psi=\displaystyle\tikzmarknode b\int
+ \tikzmarknode c{\mathrm e}^{
+ \sfrac{\tikzmarknode d{\mathrm i}}{\tikzmarknode e\hbar}
+ \int\ab(\frac{\tikzmarknode fR}{16\pi \tikzmarknode gG}-\frac14\tikzmarknode hF^2
+ +\overline\psi\mathrm i\tikzmarknode{i}{\cancel D}\psi-\tikzmarknode j\lambda
+ \tikzmarknode k{\varphi\overline\psi}\psi
+ +\abs{D\tikzmarknode l\varphi}^2-V(\varphi))}$};
+ \draw ([yshift=-1ex] a.south) coordinate (A) --++ (0,-.5)
+ node [scale=.45,below] {Schr\"odinger\\\footnotesize wave function};
+ \draw ([yshift=1ex] b.north) coordinate (B) --++ (0,.55)
+ node [scale=.45,above] {\footnotesize path integral\\Feynmann};
+ \draw ([yshift=-1ex] c.south) coordinate (C) --++ (0,-.7)
+ node [scale=.45,below] {Euler\\\footnotesize exponential};
+ \draw ([yshift=1ex] d.north) coordinate (D) --++ (0,.45)
+ node [scale=.45,above,xshift=1ex] {\footnotesize imaginary unit};
+ \draw ([yshift=-1ex] e.south) coordinate (E) --++ (0,-.5)
+ node [scale=.45,below,xshift=2ex] {Planck\\\footnotesize quantum};
+ \draw ([yshift=1ex] f.north) coordinate (F) --++ (0,.7)
+ node [scale=.45,above] {\footnotesize spacetime-relativity\\Einstein};
+ \draw ([yshift=-1ex] g.south) coordinate (G) --++ (0,-.5)
+ node [scale=.45,below] {Newton\\\footnotesize gravitation};
+ \draw ([yshift=1ex] h.north) coordinate (H) --++ (0,.5)
+ node [scale=.45,above,xshift=5ex] {\footnotesize strong/weak/e.m. interactions\\Maxwell Yang-Mills};
+ \draw ([yshift=-1ex] i.south) coordinate (I) --++ (0,-.6)
+ node [scale=.45,below] {Dirac\\\footnotesize relativistic wave function};
+ \draw ([yshift=-1ex] j.south) coordinate (J) --++ (0,-.2)
+ node [scale=.45,below,xshift=3ex] {Kobayashi-Maskawa\\\footnotesize CKM matrix};
+ \draw ([yshift=1ex] k.north) coordinate (K) --++ (0,.5)
+ node [scale=.45,above] {\footnotesize $\varphi$ - $\psi$ interaction\\Yukawa};
+ \draw ([yshift=-1ex] l.south) coordinate (L) --++ (0,-.3)
+ node [scale=.45,below] {Higgs\\\footnotesize Boson};
+ \foreach \x in {A,B,...,L}\fill [DarkSlateGray!30] (\x) circle (.025);}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.pdf b/macros/latex/contrib/litesolution/doc/litesolution.pdf
index a5550aae17..8d9efb2ba3 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.pdf
+++ b/macros/latex/contrib/litesolution/doc/litesolution.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.tex b/macros/latex/contrib/litesolution/doc/litesolution.tex
index 821a84006b..678e4cd4aa 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.tex
+++ b/macros/latex/contrib/litesolution/doc/litesolution.tex
@@ -1,32 +1,30 @@
-\documentclass[ans,mtpro2]{litesolution}
+\documentclass[mtpro2,twoside,openany]{litesolution}
\usepackage[listings]{tcolorbox}
+\lstset{language=[LaTeX]TeX,basicstyle=\small\ttfamily,breaklines=true,columns=flexible}
-\cover{schrodinger}
\title{\sffamily The \pkg{LiteSolution} Class}
\subtitle{\sffamily\scshape Hangzhou Dianzi University}
-\bioinfo{\scshape\sffamily Mingyu Hsia, \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} | \today, Version 2.1a}
-\coverdecoration{$\Psi=\displaystyle\int\e^{\frac i\hbar\int\ab(\frac{R}{16\pi G}-\frac14F^2+\overline\psi i\cancel D\psi-\lambda\varphi\overline\psi\psi+\abs{D\varphi}^2-V(\varphi))}$}
+\bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})\quad|\quad\today\quad|\quad Version 2.2b}
+\cover[checkerboard]{schrodinger}\coverhead[3]{universe}
\begin{document}
-\maketitle
+\maketitle[DarkSlateGray]
+\frontmatter\tableofcontents\mainmatter
+\chapterimage{\UPFadingImage*[trim={0 {.9\paperheight} 0 0},clip]{Beautiful-realities}}
-\chapterimage{\UPFadingImage[trim={0 {.9\paperheight} 0 0},clip]{Beautiful-realities}}
+\chapter{Introduction to the \pkg{LiteSolution} Class}
-\chapter{An Introduction to the \pkg{LiteSolution} Class}
+\section{Preface}
-\section{Introduction}
+This is the document for the \pkg{LiteSolution} class, which is designed for typesetting solutions of problems in exams, textbooks, etc.
-This is the document for \pkg{litesolution} template, which provides a lite design of the solution of test paper.
+Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
-\subsection{The purpose of this template}
+\subsection{Installing \pkg{LiteSolution} and loading it}
-This template provides a fresh design for typesetting solutions of exams, textbooks or other exercises. Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
-
-\subsection{Installing \pkg{Litesolution} and loading it}
-
-Simply download \verb|litesolution.cls| file from \href{https://github.com/xiamyphys/LiteSolution}{GitHub} or \href{https://ctan.org/pkg/litesolution}{CTAN} and save it under your working directory. However, I strongly suggest to use terminal to install and update all packages to the latest version
+Simply download \verb|litesolution.cls| file from \href{https://github.com/xiamyphys/litesolution}{GitHub} or \href{https://ctan.org/pkg/litesolution}{CTAN} and save it under your working directory. However, I strongly suggest to use terminal to install and update all packages to the latest version
\begin{verbatim}
sudo tlmgr update --self --all
@@ -35,9 +33,10 @@ Simply download \verb|litesolution.cls| file from \href{https://github.com/xiamy
To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \hologo{TeX} distribution?}
\subsection{Compatibility}
-The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf and they all work fine for \hologo{pdfLaTeX} and \hologo{XeLaTeX} compilers. Windows, Linux and Unix platforms compatibility unknown.
-\section{Global Options of \pkg{Litesolution}}
+The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf / Ubuntu 22.04.2 + \hologo{TeX} Live 2024 and they all work fine for \hologo{pdfLaTeX} and \hologo{XeLaTeX} compilers. Windows and Unix platforms compatibility unknown.
+
+\section{Global Options of this Class}
\begin{verbatim}
\documentclass[<options>]{litesolution}
@@ -45,32 +44,40 @@ The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf and they all w
\subsection{The \mode{answer} option}
-This option has two modes, \mode{ans} and \mode{noans}, which can show or hide answers. After the \mode{noans} mode is enabled, the environment \cmd{solution} will be deactivated and contents in command \cmd{ans} will be hidden.
+The \mode{hideanswer} mode can hide contents in \cmd{solution} environment and \cmd{ans} command.
+
+\subsection{The \mode{math} option}
-\subsection{The \mode{counter} option}
+The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of formulas in the document. Please check if mtpro2 font has been installed on your computer correctly before using \mode{mtpro2} mode.
-This option has two modes, \mode{separate} and \mode{continuous}, which can make the page number between chapters be reset or continuous.
+\section{Related Packages}
+\begin{description}
+ \item[Package \pkg{notebeamer}] provides macros for inputting slides on note papers quickly.
+ \item[Package \pkg{fadingimage}] provides macros for inputting full width picture at the edges of pages quickly.
+\end{description}
+
+\chapter{Settings \& Usages of this Class}
\section{Cover Configurations}
\subsection{The cover page configurations}
\begin{verbatim}
- \cover{<image name>} \title{<title>} \subtitle{<vertical subtitle>}
- \bioinfo{<bioinfo on bottom>} \coverdecoration{<above contents>}
-\end{verbatim}
+ \title{<content>} \subtitle{<content>}
+ \bioinfo{<content>} \cover[<pattern>]{<image>}
+ \coverhead[<angle>]{<image>} \coverhead*[<angle>]{<content>}
-The same as the \pkg{book} class, the macro title could not be omitted, or it will return an error. The following is the cover configurations of this document
+ \begin{document} \maketitle[<color>]
+\end{verbatim}
\begin{verbatim}
- \title{\sffamily The \pkg{litesolution} Class}
+ \title{\sffamily The \pkg{LiteSolution} Class}
\subtitle{\sffamily\scshape Hangzhou Dianzi University}
- \bioinfo{\scshape\sffamily Mingyu Hsia, \href{mailto:xiamyphys@gmail.com}
- {\ttfamily xiamyphys@gmail.com} | \today, Version 2.1a}
- \coverdecoration{$\Psi=\displaystyle\int\e^{\frac i\hbar
- \int\ab(\frac{R}{16\pi G}-\frac14F^2+\overline\psi i\cancel D\psi
- -\lambda\varphi\overline\psi\psi+\abs{D\varphi}^2-V(\varphi))}$}
- \cover{schrodinger}
+ \bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})
+ \quad|\quad\today\quad|\quad Version 2.2b}
+ \cover[checkerboard]{schrodinger} \coverhead[5]{universe}
+
+ \begin{document} \maketitle[Midnightblue]
\end{verbatim}
\subsection{The chapter head configurations}
@@ -81,6 +88,32 @@ The same as the \pkg{book} class, the macro title could not be omitted, or it wi
This command can assign the format of the image at every chapters begin and you can adjust the format of the image with the \pkg{fadingimage} package.
+\section{Preset Packages}
+
+This template has preset many packages. The following packages are the common ones
+
+\begin{table}[htbp]
+ \centering\small
+ \begin{tabular}{l l l l l l l l}
+ \toprule
+ \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} & \pkg{booktabs} &
+ \pkg{cancel} & \pkg{caption} & \pkg{circuitikz} & \pkg{datetime} \\
+ \midrule
+ \pkg{derivative} & \pkg{diagbox} & \pkg{esvect} & \pkg{extarrows} &
+ \pkg{fadingimage} & \pkg{fancyhdr} & \pkg{fixdif} & \pkg{fontawesome5} \\
+ \midrule
+ \pkg{geometry} & \pkg{graphics} & \pkg{graphicx} & \pkg{hyperref} &
+ \pkg{indentfirst} & \pkg{lipsum} & \pkg{mathtools} & \pkg{multicol} \\
+ \midrule
+ \pkg{multirow} & \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol} &
+ \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} & \pkg{refstyle} \\
+ \midrule
+ \pkg{setspace} & \pkg{siunitx} & \pkg{tabularx} & \pkg{tasks} &
+ \pkg{wallpaper} & \pkg{xcolor} & \pkg{xeCJK} & \pkg{xfrac} \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
\section{Preset Commands}
\subsection{The \cmd{ans} command}
@@ -89,7 +122,7 @@ This command can assign the format of the image at every chapters begin and you
\ans {<contents>}
\end{verbatim}
-This command can underline the answer, and if mode \mode{noans} is enabled, the answer will be hidden.
+This command can underline the answer, and if mode \mode{noans} is enabled the answer will be hidden.
\subsection{The \cmd{solute} command}
@@ -101,14 +134,17 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl
\subsection{Other preset commands}
-This template provides the same math commands as \S 1.5 of the template \pkg{LiteBook} described additionly.
+\begin{verbatim}
+ \def\i{\mathrm i} \def\e{\mathrm e} \def\T{\mathsf T}
+ \let\leq\leqslant \let\geq\geqslant \let\vec\vv
+\end{verbatim}
\section{Preset \pkg{amsthm} Environments}
\subsection{The \cmd{problem} environment}
\begin{tcblisting}{sidebyside,colback=DarkGreen!5,colframe=DarkGreen!80}
-\begin{problem}\leavevmode
+\begin{problem}[<Keywords>]\leavevmode
\begin{tasks}(2)
\task Choice A \task[\true] Choice B
\task Choice C \task Choice D
@@ -134,17 +170,16 @@ This template provides the same math commands as \S 1.5 of the template \pkg{Lit
\end{tcblisting}
\end{minipage}
-\appendix
-\def\thesection{Appendix \Alph{section}}
-
-\section{An Introduction to The \pkg{notebeamer} Class}
-
-This class provides an easy way to input Beamers on note papers and make notebook quickly. It's optimized for Goodnotes' default paper size and there won't have difference between papers.
+\section{Equation test}
-In the future, this class will be redesigned to a package that optimized for the \pkg{litesolution} class.
+\[\begin{cases}
+ \i\hbar\partial_t\psi(\mathbf x,t)=\ab(-\frac{\hbar^2}{2m}\bm\nabla^2+V)\\
+ \i\hbar\partial_t\psi(\mathbf x,t)=-(\i\hbar c\bm\alpha\cdot\bm\nabla+\beta mc^2)\psi(\mathbf x,t)
+\end{cases}\]
-\section{An Introduction to The \pkg{fadingimage} Package}
+\section*{Original Code for the Cover Head}
-This package provides three commands for adding fading full width picture at the top or bottom of a page.
+\setstretch{1.15}
+\lstinputlisting{figure/universe.tex}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litesolution/tex/litesolution.cls b/macros/latex/contrib/litesolution/tex/litesolution.cls
index ecba593464..0f59d89630 100644
--- a/macros/latex/contrib/litesolution/tex/litesolution.cls
+++ b/macros/latex/contrib/litesolution/tex/litesolution.cls
@@ -1,5 +1,5 @@
%% ***********************************************************
-%% Copyright 2024 by Mingyu Hsia <xiamyphys@gmail.com> *
+%% Copyright 2024 by Mingyu Hsia <xiamyphys@hdu.edu.cn> *
%% *
%% This work may be distributed and/or modified under *
%% the conditions of the LaTeX Project Public License *
@@ -15,38 +15,31 @@
%% *
%% This work consists of the files litesolution.cls, *
%% and README.md. *
-%% available at https://github.com/xiamyphys/LitSolution *
+%% available at https://github.com/xiamyphys/litsolution *
%% ***********************************************************
% !Mode:: "TeX:UTF-8"
\NeedsTeXFormat{LaTeX2e}
+\PassOptionsToPackage{no-math}{fontspec}
\PassOptionsToPackage{svgnames}{xcolor}
-\ProvidesClass{litesolution}[2024/04/17 v2.1a LiteSolution document class]
+\ProvidesClass{litesolution}[2024/05/07 v2.2b LiteSolution document class]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{family=LITE, prefix=LITE@, setkeys=\kvsetkeys}
\def\ekv#1{\kvsetkeys{LITE}{#1}}
-\DeclareStringOption[ans]{answer}
-\DeclareVoidOption{ans}{\ekv{answer=ans}}
-\DeclareVoidOption{noans}{\ekv{answer=noans}}
+\DeclareStringOption{answer}
+\DeclareVoidOption{hideanswer}{\ekv{answer=hideanswer}}
\DeclareStringOption[newtx]{math}
\DeclareVoidOption{newtx}{\ekv{math=newtx}}
+\DeclareVoidOption{newtxsf}{\ekv{math=newtxsf}}
\DeclareVoidOption{mtpro2}{\ekv{math=mtpro2}}
-\DeclareStringOption[separate]{counter}
-\DeclareVoidOption{separate}{\ekv{counter=separate}}
-\DeclareVoidOption{continuous}{\ekv{counter=continuous}}
-
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessKeyvalOptions*\relax
-\LoadClass[letterpaper,11pt,openany]{book}
+\LoadClass[letterpaper,11pt]{book}
-\RequirePackage{geometry,setspace,datetime,caption,booktabs,multicol,diagbox,paracol,float,enumitem}
-\RequirePackage[nokeyprefix]{refstyle}
-\newref{fig}{name={\sffamily\bfseries Figure~}}
-\newref{tab}{name={\sffamily\bfseries Table~}}
-\geometry{margin = 1in}
+\RequirePackage{setspace,datetime,caption,booktabs,multicol,diagbox,paracol}
\linespread{1.3}
\ddmmyyyydate
\captionsetup{labelsep=period,labelfont={bf,sf},font=small}
@@ -55,10 +48,17 @@
\AtBeginEnvironment{paracol}{\nointerlineskip}
\AfterEndEnvironment{paracol}{\nointerlineskip}
\columnratio{.64}
+\RequirePackage[inline]{enumitem}
\setlist[enumerate]{itemsep=.5ex}
\setlist[itemize]{itemsep=.5ex}
+\RequirePackage[notelinecolor=MidnightBlue,notemargin=.75in]{notebeamer}
+\geometry{margin=1in}
+\RequirePackage[nokeyprefix]{refstyle}
+\newref{eq}{refcmd=(\ref{#1}),name={\sffamily eq.~},Name={\sffamily Eq.~}}
+\newref{fig}{name={\sffamily fig.~},Name={\sffamily Fig.~}}
+\newref{tab}{name={\sffamily tab.~},Name={\sffamily Tab.~}}
-\RequirePackage{graphics,graphicx,wallpaper}
+\RequirePackage{graphics,graphicx,wallpaper,pagecolor}
\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}}
\RequirePackage{ifxetex}
@@ -69,29 +69,39 @@
\fi
\ifdefstring{\LITE@math}{mtpro2}{%
- \RequirePackage{amssymb}
- \let\Bbbk\relax
\RequirePackage[mtpscr,mtpccal,mtpfrak]{mtpro2}
+ \let\Bbbk\relax
\RequirePackage[mono=false]{libertine}
}{\relax}
-
\ifdefstring{\LITE@math}{newtx}{%
\RequirePackage[libertine,mono=false]{newtx}
+ \let\Bbbk\relax
+}{\relax}
+\ifdefstring{\LITE@math}{newtxsf}{%
+ \RequirePackage{newtxsf,mathrsfs}
+ \RequirePackage[mono=false]{libertine}
}{\relax}
\let\openbox\relax\def\hmmax{0}\def\bmmax{0}
-\RequirePackage{amsthm,mdframed,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
+\RequirePackage{amsthm,amssymb,mathtools,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
+\renewcommand\qedsymbol{$\color{gray}\blacksquare$}
\usephysicsmodule{ab,braket,diagmat,doubleprod,xmat,ab.legacy,op.legacy}
\RequirePackage[e]{esvect}
+\let\vec\vv
+\renewcommand*\env@cases[1][.84]{%
+ \let\@ifnextchar\new@ifnextchar
+ \left\lbrace
+ \def\arraystretch{#1}%
+ \array{@{}l@{\quad}l@{}}%
+}
\AtBeginDocument{%
- \def\i{\mathrm i}
- \def\e{\mathrm e}
- \def\T{\mathsf T}
+ \def\i{\mathrm i}\def\e{\mathrm e}\def\T{\mathsf T}
\let\leq\leqslant\let\geq\geqslant
\setlength{\abovedisplayskip}{9pt}
\setlength{\belowdisplayskip}{9pt}
}
\RequirePackage[hidelinks]{hyperref}
+\def\mailto#1{\href{mailto:#1}{\ttfamily #1}}
\RequirePackage{fontawesome5}
\AddToHook{cmd/faIcon/before}{%
\begingroup\fontsize{\fpeval{\f@size*.8}}{0}\selectfont
@@ -99,13 +109,13 @@
\AddToHook{cmd/faIcon/after}{\endgroup}
\RequirePackage{circuitikz,pgfplots,fadingimage}
-\usetikzlibrary{arrows,tikzmark,patterns,calc,fadings,angles,quotes,intersections,}
+\usetikzlibrary{arrows,tikzmark,patterns,calc,angles,quotes,intersections}
\tikzset{>=stealth',
-every picture/.append style={%
+ every picture/.append style={%
line join=round,line cap=round,thick
}}
\pgfplotsset{compat=1.8}
-\ctikzset{capacitors/width=0.12,capacitors/height=0.3}
+\ctikzset{capacitors/width=.12,capacitors/height=.3}
\NewDocumentCommand\length{ O{} m m m m m }{%
\node [#1] at ($.5*($#3+#2$)$) {#4}#6
\draw [->|,thick] ($.5*($#3+#2+#5$)$) -- #3#6
@@ -125,94 +135,140 @@ every picture/.append style={%
\def\subtitle#1{\gdef\@subtitle{#1}}
\def\bioinfo#1{\gdef\@bioinfo{#1}}
-\def\coverdecoration#1{\gdef\@coverdecoration{#1}}
-\def\cover#1{\gdef\@cover{#1}}
-\renewcommand*\maketitle{
- \newgeometry{margin = 0in}
+\NewDocumentCommand\coverhead{ O{0} m }{
+ \gdef\@coverheadrotate{#1}\gdef\@coverhead{#2}
+}
+\NewDocumentCommand\cover{ o m }{
+ \IfValueT{#1}{\gdef\@coverpattern{#1}}
+ \gdef\@cover{#2}}
+\RenewDocumentCommand\maketitle{O{MidnightBlue}}{
+ \begin{titlepage}
+ \newgeometry{margin=0in}\newpagecolor{#1!15}
\tikz[remember picture,overlay]{
- \fill [MidnightBlue!10] (current page.north west) rectangle (current page.south east);
+ \ifcsname @coverhead\endcsname
+ \node [rotate=\@coverheadrotate] at ($(current page.center)+(0,.35*\paperheight)$) {\includegraphics[width=\paperwidth]{\@coverhead}};
+ \fi
\fill [white,opacity=.5] ($(current page.south west)+(.2*\paperwidth,.6*\paperheight)$) rectangle (current page.south east);
\fill [white,opacity=.5] ($(current page.south west)+(.3*\paperwidth,.7*\paperheight)$) rectangle (current page.south east);
\ifcsname @cover\endcsname
\node [opacity=.5] at ($(current page.south west)+(.65*\paperwidth,.3*\paperheight)$) {\includegraphics[height=.3\paperheight]{\@cover}};
- \foreach \a in {0,1,...,50}
- \fill [pattern=checkerboard,pattern color=MidnightBlue!10!white!50!white!50] ($(current page.south west)+(.3*\paperwidth,0)$) rectangle ++ (.7*\paperwidth,.6\paperheight);
- \fi
+ \ifcsname @coverpattern\endcsname
+ \fill [pattern=\@coverpattern,pattern color=#1!15!white!25] ($(current page.south west)+(.3*\paperwidth,0)$) rectangle ++ (.7*\paperwidth,.6\paperheight);
+ \fi\fi
\node [darkgray] at ($(current page.south west)+(.65*\paperwidth,.65*\paperheight)$) {\Huge\bfseries\@title};
\ifcsname @subtitle\endcsname
- \node [rotate=90,gray!60] at ($(current page.south west)+(.25*\paperwidth,.3*\paperheight)$) {\huge\bfseries\@subtitle};
- \fi
- \ifcsname @coverdecoration\endcsname
- \node[opacity=0.5,scale=2,color=MidnightBlue!40,rotate=15] at ($(current page.center)+(0,.35*\paperheight)$) {\@coverdecoration};
+ \node [rotate=90,gray,opacity=.6] at ($(current page.south west)+(.25*\paperwidth,.3*\paperheight)$) {\huge\bfseries\@subtitle};
\fi
\ifcsname @bioinfo\endcsname
- \node [gray!40] at ($(current page.south)+(.15*\paperwidth,.075*\paperheight)$) {\large\@bioinfo};
- \fi
- }\restoregeometry
+ \node [gray,opacity=.4] at ($(current page.south)+(.15*\paperwidth,.075*\paperheight)$) {\large\@bioinfo};
+ \fi}
+ \end{titlepage}
+ \restoregeometry\restorepagecolor
+ \if@twoside
+ \clearpage%
+ \newpagecolor{#1!15!white!50}
+ \thispagestyle{empty}%
+ \null\clearpage
+ \fi\restorepagecolor
}
+\RequirePackage{tocloft}
+\setlength{\cftbeforetoctitleskip}{6\p@}
+\setlength{\cftaftertoctitleskip}{24\p@}
+\setlength{\cftbeforesecskip}{3\p@}
+\def\contentsname{\sffamily\scshape\hfill Contents\hfill}
+\setcounter{tocdepth}{1}
+
+\let\@chapapptmp\@chapapp
+\def\@chapapp{\textsc{\@chapapptmp}}
\def\chapterimage#1{\gdef\@chapterimage{#1}}
+\def\HUGE{\@setfontsize\HUGE{30}{40}}
\def\@makechapterhead#1{%
+ \def\thesection{\arabic{chapter}.\arabic{section}}
+ \def\theproblem{\thechapter.\arabic{problem}}
+ \vspace*{-36\p@}{%
+ \parindent \z@ \raggedright \normalfont
+ \ifcsname @chapterimage\endcsname
+ \@chapterimage
+ \else\leavevmode
+ \fi
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \parbox{6em}
+ {\centering\HUGE\normalfont\bfseries\textcolor{darkgray}\thechapter\vskip4\p@\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\@chapapp}}%
+ \fi
+ \fi
+ \interlinepenalty\@M\hspace*{3ex}
+ \huge\bfseries #1\par\nobreak
+ \vskip 36\p@
+}}
+\def\@makeschapterhead#1{%
+ \def\thesection{\arabic{section}}
+ \def\theproblem{\arabic{problem}}
\setcounter{section}{0}
\setcounter{problem}{0}
- \setcounter{page}{1}{\centering
+ {\centering
\ifcsname @chapterimage\endcsname
\@chapterimage
- \fi\leavevmode\vskip-42\p@
+ \fi\vskip-40\p@
\parindent \z@ \normalfont
\interlinepenalty\@M
\huge \bfseries #1\par\nobreak
- \vskip 26\p@}}
-
-\def\mailto#1{\href{mailto:#1}{\ttfamily #1}}
-\def\thesection{\arabic{section}}
-\def\ans#1{\underline{~#1~}}
-\AddToHook{cmd/section/before}{\setcounter{problem}{0}}
+ \vskip 28\p@}}
+\let\cleardoublepage=\clearpage
+\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
+\ifnum \thechapter=0
+ \vspace*{\fill}
+ {\centering\itshape\Large This page was intentionally left blank.\par}
+ \vspace{\fill}
+\else
+ \clearpage%
+ \thispagestyle{empty}%
+ \null\clearpage
+\fi
+\thispagestyle{empty}\newpage
+\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\let\oldheadrule\headrule
\renewcommand{\headrule}{{\color{gray}\oldheadrule}}
- \renewcommand{\headrulewidth}{1pt}\cfoot{}
- \fancyhead[OL]{\textsc{\color{darkgray}\nouppercase\leftmark}}
- \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
- \fancyhead[ER]{\textsc{\color{darkgray}\nouppercase\rightmark}}
- \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
+ \renewcommand{\headrulewidth}{1pt}
+ \if@twoside\cfoot{}
+ \fancyhead[OL]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
+ \fancyhead[ER]{\color{darkgray}\nouppercase\rightmark}
+ \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
+ \else
+ \fancyhead[L]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[R]{\color{darkgray}\nouppercase\rightmark}
+ \cfoot{\color{darkgray}\sffamily\thepage}
+ \fi
\setlength{\headheight}{14pt}
+\theoremstyle{definition}
+\newtheorem{problem}{\color{DarkGreen}\faIcon{pen-square}~\textsc{\textsf{Problem}}}[chapter]
+\newtheorem*{solution}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Solution}}}
+\newtheorem*{scratch}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Scratch}}}
+\newtheorem*{note}{\color{DarkRed}\faIcon{info-circle}~\textsc{\textsf{Note}}}
\RequirePackage{comment}
-\ifdefstring{\LITE@answer}{ans}{%
- \def\ans#1{\underline{~#1~}}
- \def\s@solute#1{\relax}\def\@solute#1{\relax}
- \AtBeginDocument{%
- \excludecomment{draft}
- \let\enddraft\relax}
- \def\true{%
- \addtocounter{task}{1}%
- \faIcon{check-circle}}
-}{\relax}
-
-\ifdefstring{\LITE@answer}{noans}{%
+\ifdefstring{\LITE@answer}{hideanswer}{%
\def\ans#1{\underline{\phantom{#1}}}
\def\choiceans#1{\phantom{#1}}
- \def\s@solute#1{\begin{draft}#1\end{draft}}
- \def\@solute#1{\begin{draft}\leavevmode\vspace*{#1ex}\end{draft}}
+ \def\s@solute#1{\begin{scratch}#1\end{scratch}}
+ \def\@solute#1{\begin{scratch}\leavevmode\vspace*{#1ex}\end{scratch}}
\AtBeginDocument{%
\excludecomment{solution}\excludecomment{note}
\let\endsolution\relax\let\endnote\relax}
- \def\true{%
- \addtocounter{task}{1}%
- \thetask
- }
-}{\relax}
-\def\solute{\@ifstar\s@solute\@solute}
-
-\newtheoremstyle{tags}{3pt}{3pt}{}{}{}{}{.5em}
- {\bfseries \thmname{#1} \thmnumber{#2}. \hfill \thmnote{\normalfont\faIcon{rss}~#3}\\\leavevmode}
-\theoremstyle{tags}
-\theoremstyle{definition}
-\newtheorem{problem}{\scshape\sffamily\color{DarkGreen}\faIcon{pen-square}~\scshape Problem}[chapter]
-\def\theproblem{\arabic{problem}}
-\newtheorem*{solution}{\scshape\sffamily\color{MidnightBlue}\faIcon{check-square}~\scshape Solution}
-\newtheorem*{draft}{\scshape\sffamily\color{MidnightBlue}\faIcon{check-square}~\scshape Solution}
-\newtheorem*{note}{\scshape\sffamily\color{DarkRed}\faIcon{info-circle}~\scshape Note} \ No newline at end of file
+ \def\true{\addtocounter{task}{1}\thetask}
+}{
+ \def\ans#1{\underline{~#1~}}
+ \def\s@solute#1{\relax}\def\@solute#1{\relax}
+ \AtBeginDocument{%
+ \excludecomment{scratch}
+ \let\endscratch\relax}
+ \def\true{\addtocounter{task}{1}\faIcon{check-circle}}
+}
+\DeclareRobustCommand\solute{\@ifstar\s@solute\@solute}
+%%
+%% End of file `litesolution.cls'.
diff --git a/macros/latex/contrib/mathgreeks/README.md b/macros/latex/contrib/mathgreeks/README.md
new file mode 100644
index 0000000000..971fa77dc7
--- /dev/null
+++ b/macros/latex/contrib/mathgreeks/README.md
@@ -0,0 +1,30 @@
+# Math Greek letters - The mathgreeks package
+
+
+## Presentation
+
+The purpose of this package is to provide access to numerous Greek letter fonts
+for math mode, without altering other mathematical characters and symbols
+and without loading whole extensions that provide these fonts.
+Moreover, the chosen font or shape can be changed dynamically throughout the document.
+
+
+## Installation
+
+- run LaTeX on mathgreeks.ins, you obtain the file mathgreeks.sty;
+- if then you run LuaLaTeX on mathgreeks.dtx you get the file mathgreeks.pdf which is also in the archive;
+- if you run pdfLaTex on mathgreeks.dtx you get a shorter version of this pdf file without the examples using fontspec or unicode-math;
+- put the files mathgreeks.sty and mathgreeks.pdf in your TeX Directory Structure.
+
+
+## Author
+
+Antoine Missier
+
+Email: antoine.missier@ac-toulouse.fr
+
+
+## License
+
+Released under the LaTeX Project Public License v1.3 or later.
+See http://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/mathgreeks/mathgreeks.dtx b/macros/latex/contrib/mathgreeks/mathgreeks.dtx
new file mode 100644
index 0000000000..1290c1a7fd
--- /dev/null
+++ b/macros/latex/contrib/mathgreeks/mathgreeks.dtx
@@ -0,0 +1,1330 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%
+% This file may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, either version 1.3 of this license
+% or (at your option) any later version. The latest version of this
+% license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX version
+% 2005/12/01 or later.
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{mathgreeks.dtx}
+%</driver>
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{mathgreeks}
+ [2024/05/07 v1.2 .dtx Math Greek letters]
+%</package>
+%<*driver>
+\documentclass[11pt]{article}
+%\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[english]{babel}
+\usepackage{doc}
+\usepackage{geometry}
+\usepackage[mathdesign=Charter,otherfonts]{mathgreeks}
+\usepackage{sectsty}
+\usepackage{xcolor}
+\usepackage{spacingtricks}
+\usepackage{metalogo}
+%\usepackage{supertabular} % incompatible with tabls
+\usepackage{tabls}
+\usepackage{multirow}
+\usepackage{ifluatex}
+\ifluatex
+ \usepackage{unicode-math}
+ \setmainfont{XCharter}
+\else
+ \usepackage{charter}
+\fi
+\geometry{scale=0.73,vmarginratio=3:4,heightrounded}
+\MakeShortVerb{"}
+\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
+\allsectionsfont{\color{darkbrown}}
+\newcommand\bs{\textbackslash}
+\DisableCrossrefs
+%\CodelineIndex
+%\RecordChanges
+\OnlyDescription
+\usepackage{hyperref}
+\title{The \textsf{mathgreeks} package}
+\author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
+\date{\filedate, \fileversion}
+\hypersetup{%
+ colorlinks,
+ linkcolor=blue,
+ citecolor=red,
+ pdftitle={mathgreeks},
+ pdfsubject={LaTeX package},
+ pdfauthor={Antoine Missier}
+}
+
+\begin{document}
+\DocInput{mathgreeks.dtx}
+%\PrintChanges
+%\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{1061}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \changes{v1.0}{2024/04/30}{Initial version}
+% \changes{v1.1}{2024/05/04}{Adding the libsans option; a few changes in the doc}
+% \changes{v1.2}{2024/05/07}{A clarification in the documentation about the option shape=it}
+%
+% \GetFileInfo{mathgreeks.sty}
+%
+% \maketitle
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% The purpose of this package is to provide access to numerous Greek letter fonts
+% for math mode, without altering other mathematical characters and symbols
+% and without loading whole extensions that provide these fonts.
+%
+% The commands "\italpha", "\itbeta"\ldots\ produce the italic forms of the chosen font,
+% and "\upalpha", "\upbeta" \ldots\ produce the upright forms.
+% Style options allow choosing between italic or upright forms for the basic commands
+% "\alpha", "\beta"\ldots
+% Only letters whose glyph differs from the corresponding Roman letter
+% will be defined this way.
+% Therefore, the package does not provide a command "\omicron",
+% whose letter is identical to the Roman `o', and only a few uppercase letters are defined:
+% "\Gamma", "\Delta", "\Theta"\ldots
+%
+% \medskip
+% An ISO recommendation, rarely followed, is to typeset uppercase
+% Greek letters in italic shape, as for other variables~\cite{ICTNS}.
+% This is automatically achieved, for some particular fonts, with packages
+% such as \textsf{fixmath} by Walter Schmidt~\cite{FIXM},
+% \mbox{\textsf{isomath}} by Günter Milde~\cite{ISOM}
+% or \textsf{pm-isomath} by Claudio Beccari~\cite{PMISO} and optionally with some others
+% (such as \textsf{mathpazo} or \textsf{mathptmx} with the option \texttt{slantedGreek}).
+% When running through \LuaLaTeX\ or \XeLaTeX\ you can also get this result
+% with the option \mbox{\texttt{math-style=ISO}} provided
+% by the \textsf{unicode-math} package~\cite{UNIC}.
+%
+% \pagebreak ^^A To get the same page breaking when compiling with pdfLaTeX
+% Furthermore there are several packages that provide the uppercase Greek letters
+% in italic and have also options to typeset the lowercase Greek
+% letters in upright shape.
+% Notably, let us mention
+% \mbox{\textsf{mathdesign}}~\cite{DESIGN},
+% \mbox{\textsf{kpfonts}}~\cite{KPF},
+% \mbox{\textsf{fourier}}~\cite{FOUR}, but also
+% \mbox{\textsf{pxgreeks}} (using \textsf{pxfonts}~\cite{PX}), \mbox{\textsf{txgreeks}}
+% (using \textsf{txfonts}~\cite{TX}),
+% \mbox{\textsf{libertinust1math}}~\cite{LIB}, \mbox{\textsf{libgreek}}, etc.
+% A special mention goes to \textsf{lgrmath} of Jean-François Burnol~\cite{LGR}
+% which allows the use of any Greek LGR-encoded font in math mode,
+% an idea taken up in \textsf{mathgreeks}.
+% Also note \textsf{newtxmath}~\cite{NTX} which has several font options.
+% For upright lowercase letters, we have the nice \textsf{upgreek}~\cite{GREEK} package.
+%
+% \medskip
+% The interest of \textsf{mathgreeks} lies in being able to choose the Greek letters font
+% from one of these packages or from a TrueType or OpenType font installed on your computer.
+% The package sets Greek letters in the desired font and shape
+% and enables to change font or shape dynamically within the document.
+%
+% \section{Options and settings}
+%
+% \subsection{Package options}
+%
+% When calling the package, there are three types of options:
+% \begin{itemize}
+% \item Font options,
+% \item Shape options (the style),
+% \item Additional options.
+% \end{itemize}
+% These options use the `\texttt{key=value}' mechanism.
+% When a default value is set, the key can be used without specifying a value
+% (which will then be the default value).
+% Some keys represent booleans with the default value being `\texttt{true}'.
+%
+% \bigskip
+% The first table, in two parts, presents the different keys corresponding to font options,
+% the list of possible values (complete when it is reduced).
+% The default value is indicated in bold, the second part consist in boolean options.
+% Results are presented in section~\ref{examples}.
+%
+% \begin{table}[h]
+% \begin{center}\ttfamily
+% \begin{tabular}{ll}
+% \hline
+% \vstrut{2ex}\normalfont{Option} & \normalfont{Values} \\
+% \hline
+% lgrmath & Alegreya-LF, Cochineal-LF, \textbf{fcm}\ldots \\
+% fontspec & FreeSerif, \textbf{GFS Didot}, Cambria\ldots \\
+% unicode-math & \textbf{Latin Modern Math}, STIX Two Math\ldots \\
+% upgreek & Euler, \textbf{Symbol}, Symbolsmallscale \\
+% mathdesign & Utopia, Garamond, \textbf{Charter} \\
+% kpfonts & \textbf{normal}, light \\
+% \hline
+% \end{tabular}
+% \hspace{1cm}
+% \begin{tabular}{l}
+% \hline
+% \vstrut{2ex}\normalfont{Booleans} \\
+% \hline
+% fourier \\
+% pxfonts \\
+% txfonts \\
+% libertinus \\
+% concrete \\
+% cmbright \\
+% \hline
+% \end{tabular}
+% \caption{\normalfont{font options}\label{table:font}}
+% \end{center}
+% \end{table}
+%
+% \vspace{-1\baselineskip}
+% The \texttt{fontspec} and \texttt{unicode-math} options require loading
+% the corresponding packages, and these can only work when running through
+% \LuaLaTeX\ (or \XeLaTeX).
+% The \texttt{fontspec} option allows for the use of most TrueType or OpenType
+% fonts installed on your computer, those that have Greek letters.
+% Although the \textsf{unicode-math} package loads the \textsf{fontspec} package,
+% the fonts usable with one of these options are not necessarily usable with the other;
+% \texttt{fontspec} has a large number of possible values.
+%
+% When calling "\boldmath" (outside the math environment), you get the letters in bold face,
+% but the command "\mathbf" doesn't work here.
+%
+% \bigskip
+% The second table below presents the shape options. If the shape option
+% is not specified, the italic shape is chosen by default, meaning that the commands
+% "\alpha", "\beta", \ldots, "\Delta", "\Gamma"\ldots\ will produce the same result
+% as the corresponding "\it"\meta{letter} commands.
+%
+% \begin{table}[h]
+% \begin{center}
+% \begin{tabular}{ll}
+% \hline
+% \vstrut{2ex}\normalfont{Option} & \normalfont{Description} \\
+% \hline
+% \texttt{greekup} & lowercase letters in upright shape \\
+% \texttt{Greekup} & uppercase letters in upright shape \\
+% \texttt{TeX} & lowercase=italic, uppercase=upright \\
+% \texttt{ISO} & lowercase=italic, uppercase=italic \\
+% \texttt{upright} & lowercase=upright, uppercase=upright \\
+% \texttt{style} & possible values: \texttt{TeX}, \texttt{ISO}, \texttt{upright} \\
+% \hline
+% \end{tabular}
+% \caption{shape options\label{table:shape}}
+% \end{center}
+% \end{table}
+%
+% \vspace{-1\baselineskip}
+% \begin{itemize}
+% \item Except for \texttt{style}, all these options are booleans.
+% \item The \texttt{Greekup} option est initialized to \texttt{true} (corresponding
+% to the \texttt{TeX} style).
+% \item The \texttt{style=ISO} option produces the same result as the simple
+% \texttt{ISO} option, and the same applies to the other two styles
+% (\texttt{TeX}, \texttt{upright}).
+% \item To get lowercase letters in upright shape and uppercase letters in italic,
+% activate \begin{center}\texttt{greekup=true,Greekup=false}.\end{center}
+% \end{itemize}
+%
+% \bigskip
+% The following list presents the additional options, which are also booleans:
+% \begin{description}
+% \item[\texttt{savegreeks}] Saves the letters corresponding to the original commands
+% "\alpha", "\beta"\ldots so that they remain accessible through the commands
+% "\backalpha", "\backbeta"\ldots
+% \item[\texttt{otherfonts}] Allows dynamic font switching (see next section)
+% for later use of \texttt{lgrmath}, \texttt{fourier}, \texttt{libertinus}
+% or \texttt{upgreek}.
+% \item[\texttt{libsans}] This is a special option that works only with \texttt{libertinus}
+% to produce a sanserif font.
+% \item[\texttt{lowercase}] This option is initialized to \texttt{true};
+% \texttt{lowercase=false} allows keeping the original lowercase Greek letters
+% without redefining the commands "\alpha", "\beta"\ldots
+% \item[\texttt{uppercase}] This option is initialized to \texttt{true};
+% \texttt{uppercase=false} allows keeping the original uppercase Greek letters
+% without redefining the commands "\Gamma", "\Delta"\ldots
+% \end{description}
+%
+% \subsection{Dynamic settings commands}
+%
+% There are two commands for dynamic settings:
+% \begin{description}
+% \item[] "\setmathgreeks"
+% This command takes a mandatory parameter which is a list of
+% `\texttt{key=value}' settings among the shape options presented
+% in table~\ref{table:shape} (the other options are not usable in this command).
+% This allows modifying these settings in the body of the document,
+% with a global effect, or local if the command is called in an environment
+% or a group (delimited by braces).
+%
+% \item[] "\mathgreeksfont"
+% This command allows modifying the font of Greek letters throughout the document,
+% with a global or local effect.
+% The possible options fall into two categories:
+% \begin{center}
+% \texttt{fontspec}, \texttt{unicode-math}, \\
+% \texttt{enc}, \texttt{fam}, \texttt{series}, \texttt{shape}.
+% \end{center}
+% The \texttt{fontspec} and \texttt{unicode-math} options are identical
+% to those in table~\ref{table:font}. In that case, the shape is set by "\setmathgreeks"
+% (before or after).
+% The other previous font options (\texttt{lgrmath}, \texttt{mathdesign},
+% \texttt{fourier}, etc.)\@ are not usable in "\mathgreeksfont".
+% However, these fonts can be obtained by specifying the encoding (option \texttt{enc}),
+% family (option \texttt{fam}), series and shape: the New Font Selection Scheme (NFSS).
+% The series defines the `boldness' and has a default value: \texttt{series=m} (medium).
+% For the shape, the default value is \texttt{shape=it};
+% \texttt{enc} and \texttt{fam} have no default value.
+% For example,
+% \begin{center}
+% "\mathgreeksfont{enc=OML,fam=mdbch,shape=n}"
+% \end{center}
+% will produce upright letters from the Charter font provided by \textsf{mathdesign}.
+% For each font option seen previously,
+% the following examples (section~\ref{examples}) indicates
+% the values to give to \texttt{enc}, \texttt{fam}, and \texttt{shape}.
+% The font definition by NFSS attributes will not produce specific commands for italics
+% "\it"\meta{letter} or for upright letters "\up"\meta{letter}.
+% Only the commands "\alpha", "\beta"\ldots will be redefined according to the
+% selected shape.
+%
+% When using the \texttt{fontspec} or \texttt{unicode-math} option,
+% these NFSS options have no effect.
+%
+% Notice that the encoding obtained by the package font options is faster, moreover
+% the command "\boldmath" doesn't work anymore
+% when changing the font with \texttt{enc}, \texttt{fam} and \texttt{shape},
+% but you can obtain the boldface
+% letters with \texttt{series=b}, or \texttt{series=bx} (bold extended).
+%
+% \end{description}
+%
+% \section{Examples} \label{examples}
+% \begin{description}
+% \item[] "\greektable"
+% The following examples are produced with the "\greektable" command.
+% This command generates a table with two rows: the first contains the lowercase letters
+% obtained with "\alpha", \ldots, "\omega", and the second contains variants
+% "\varepsilon", "\vartheta"\ldots\ of certain letters as well as the uppercase letters
+% obtained with "\Gamma", "\Delta", \ldots, "\Omega"
+% (for those who differ from their Latin equivalent).
+% \end{description}
+%
+% \subsection{PostScript font options}
+%
+% The \texttt{upgreek} option, as its name suggests, produces only upright letters,
+% and the \texttt{Euler} font does not have the variants "\varrho" and "\varsigma".
+% The \texttt{Symbolsmallscale} font is identical to Symbol but reduced in size by 90\,\%;
+% \texttt{Symbol} and \texttt{Symbolsmallscale} have no bold version.
+% ^^A\texttt{mathdesign=Garamond} yields a virtual font that may not always work.
+% For several fonts, the upright shape is obtained with the attribute \texttt{shape=it}
+% and not \texttt{shape=n}.
+%
+% \newlength\legendwidth
+% \setlength\legendwidth{3.2cm}
+% \newcommand*\doublerows[1]{\multirow{2}{\legendwidth}[-1.5ex]{\bfseries#1}}
+
+% \begin{center}
+% \begin{tabular}{|l|@{}c@{}|c@{$\;$}c@{\:}c|}
+% \hline
+% \makebox[\legendwidth][l]{\textbf{upgreek=...}} & \makebox[8.4cm]{Result}
+% & \makebox[1cm]{enc} & \makebox[1cm]{fam} & shape \\
+% \hline
+% \textbf{Symbol}
+% & \mathgreeksfont{enc=U,fam=psy,shape=n}\greektable
+% & U & psy & n \\
+% \hline
+% \textbf{Symbolsmallscale}
+% & \mathgreeksfont{enc=U,fam=fsy,shape=n} \greektable
+% & U & fsy & n \\
+% \hline
+% \textbf{Euler}
+% & \mathgreeksfont{enc=U,fam=eur,shape=n} \greektable
+% & U & eur & n \\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+% \begin{center}
+% \begin{tabular}{|l|@{}c@{}|c@{$\;$}c@{}c|}
+% \hline
+% \textbf{mathdesign=...} & \makebox[8.4cm]{Result} & enc & fam & shape \\
+% \hline
+% \doublerows{Utopia}
+% & \mathgreeksfont{enc=OML,fam=mdput} \greektable
+% & OML & mdput & it \\
+% & \mathgreeksfont{enc=OML,fam=mdput,shape=n} \greektable
+% & OML & mdput & n \\
+% \hline
+% \doublerows{Garamond}
+% & \mathgreeksfont{enc=OML,fam=mdugm} \greektable
+% & OML & mdugm & it \\
+% & \mathgreeksfont{enc=OML,fam=mdugm,shape=n} \greektable
+% & OML & mdugm & n \\
+% \hline
+% \doublerows{Charter}
+% & \mathgreeksfont{enc=OML,fam=mdbch} \greektable
+% & OML & mdbch & it \\
+% & \mathgreeksfont{enc=OML,fam=mdbch,shape=n} \greektable
+% & OML & mdbch & n \\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+% \begin{center}
+% \begin{tabular}{|l|@{}c@{}|c@{$\;$}c@{}c|}
+% \hline
+% \textbf{kpfonts=...} & \makebox[8.4cm]{Result} & enc & fam & shape \\
+% \hline
+% \doublerows{normal}
+% & \mathgreeksfont{enc=OML,fam=jkp} \greektable
+% & OML & jkp & it \\
+% & \mathgreeksfont{enc=U,fam=jkpmia} \greektable
+% & U & jkpmia & it \\
+% \hline
+% \doublerows{light}
+% & \mathgreeksfont{enc=OML,fam=jkpl} \greektable
+% & OML & jkpl & it \\
+% & \mathgreeksfont{enc=U,fam=jkplmia} \greektable
+% & U & jkplmia & it \\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+% \begin{center}
+% \begin{tabular}{|l|@{}c@{}|c@{$\;$}c@{}c|}
+% \hline
+% Boolean options & \makebox[8.2cm]{Result} & enc & fam & shape \\
+% \hline
+% \doublerows{fourier}
+% & \mathgreeksfont{enc=FML,fam=futmi} \greektable
+% & FML & futmi & it \\
+% & \mathgreeksfont{enc=FML,fam=futm} \greektable
+% & FML & futm & it \\
+% \hline
+% % \doublerows{pxfonts}
+% & \mathgreeksfont{enc=OML,fam=pxmi} \greektable
+% & OML & pxmi & it \\
+% & \mathgreeksfont{enc=U,fam=pxmia} \greektable
+% & U & pxmia & it \\
+% \hline
+% \doublerows{txfonts}
+% & \mathgreeksfont{enc=OML,fam=txmi} \greektable
+% & OML & txmi & it \\
+% & \mathgreeksfont{enc=U,fam=txmia} \greektable
+% & U & txmia & it \\
+% \hline
+% \doublerows{libertinus}
+% & \mathgreeksfont{enc=LS1,fam=libertinust1math} \greektable
+% & LS1 & * & it \\
+% & \mathgreeksfont{enc=LS1,fam=libertinust1math,shape=n} \greektable
+% & LS1 & * & n \\
+% \hline
+% \textbf{concrete}
+% & \mathgreeksfont{enc=OML,fam=ccm} \greektable
+% & OML & ccl & it \\
+% \hline
+% \textbf{cmbright}
+% & \mathgreeksfont{enc=OML,fam=cmbrm} \greektable
+% & OML & cmbrm & it \\
+% \hline
+% \end{tabular}
+% \end{center}
+% \emph{* The asterisks for the} \textbf{libertinus} \emph{family corresponds to}
+% \textnormal{`libertinust1math'} \emph{a name too long to appear in this table.
+% Activating the} \texttt{libsans} \emph{package option yields a sanserif font.}
+%
+% \subsection{The \texttt{lgrmath} option}
+%
+% The \texttt{lgrmath} option, inspired by the eponymous package of J.F. Burnol,
+% has a large number of possible values. We present here only a few.
+% The documentation of the \textsf{lgrmath} package~\cite{LGR} explains how
+% to list the fonts available on your distribution with the LGR encoding.
+% One can also consult with profit the documentation of \textsf{cb-fonts}\cite{CB},
+% the Greek fonts of Claudio Beccari.
+%
+% With the \texttt{lgrmath} option, the alternative commands for the variants
+% produce the same glyphs as those of the normal letters except for "\varsigma".
+% However, the "\varsigma" $\varsigma$ often substitutes for the usual "\sigma" $\sigma$
+% when using dynamic font changes through "\mathgreeksfont" with \texttt{enc=LGR}.
+%
+% We have not presented here the third column previously indicating the values for
+% \texttt{enc}, \texttt{fam}, and \texttt{shape} because, for this entire section,
+% we have \texttt{enc=LGR}, \texttt{fam=\meta{font-name}}, the name of the font presented,
+% and \texttt{shape=it}, for the italic shape, or \texttt{shape=n}, for the upright shape.
+% Example:
+% \begin{center}
+% "\mathgreeksfont{enc=LGR,fam=Alegreya-LF,shape=n}"
+% \end{center}
+%
+%\setlength\legendwidth{4cm}
+% \newcommand\lgrtbl[1]{%
+% \doublerows{#1}
+% & \mathgreeksfont{enc=LGR,fam=#1} \greektable \\
+% & \mathgreeksfont{enc=LGR,fam=#1,shape=n} \greektable \\
+% \hline
+% }
+%
+% \begin{center}
+% \begin{tabular}{|l|c|}
+% \hline
+% \textbf{lgrmath=...} & Result \\
+% \hline
+% \lgrtbl{Alegreya-LF}
+% \lgrtbl{Cochineal-LF}
+% \lgrtbl{LibertinusSerif-LF}
+% \lgrtbl{LibertinusSans-LF}
+% \lgrtbl{NotoSerif-LF}
+% \lgrtbl{droidserif}
+% \lgrtbl{fcm}
+% \lgrtbl{gentium}
+% \lgrtbl{lmss}
+% \end{tabular}
+% \end{center}
+%
+% \ifluatex
+% \subsection{The \texttt{fontspec} option}
+%
+% Most TrueType or OpenType fonts can be used here.
+% ^^A Needs the \textsf{fontspec} package and must be run through \LuaLaTeX\ or \XeLaTeX.
+% Some of the fonts below are non free, and some do not have all the variants,
+% for example Arial, Palatino Linotype, Times New Roman.
+%
+% \newcommand\fontspectbl[2][fontspec]{%
+% \doublerows{#2}
+% & \mathgreeksfont{#1=#2}
+% \setmathgreeks{style=ISO} \greektable \\
+% & \mathgreeksfont{fontspec=#2}
+% \setmathgreeks{style=upright} \greektable \\
+% \hline
+% }
+%
+% \begin{center}
+% \begin{tabular}{|l|c|}
+% \hline
+% \textbf{fontspec=...} & Result \\
+% \hline
+% \fontspectbl{DejaVu Serif}
+% \fontspectbl{DejaVu Sans}
+% \fontspectbl{FreeSerif}
+% \fontspectbl{FreeSans}
+% \fontspectbl{GFS Artemisia}
+% \fontspectbl{GFS Didot}
+% \fontspectbl{Liberation Serif}
+% \fontspectbl{Liberation Sans}
+% \end{tabular}
+% \end{center}
+%
+% \begin{center}
+% \begin{tabular}{|l|c|}
+% \hline
+% \textbf{fontspec=...} & Result \\
+% \hline
+% \fontspectbl{Linux Libertine O}
+% ^^A\fontspectbl{Linux Biolinum O}
+% \fontspectbl{Arial}
+% \fontspectbl{Cambria}
+% \fontspectbl{Palatino Linotype}
+% \fontspectbl{Times New Roman}
+% \end{tabular}
+% \end{center}
+%
+%
+% \subsection{The \texttt{unicode-math} option}
+%
+% \begin{center}
+% \begin{tabular}{|l|c|}
+% \hline
+% \textbf{unicode-math=...} & Result \\
+% \hline
+% \fontspectbl[unicode-math]{Latin Modern Math}
+% \fontspectbl[unicode-math]{STIX Two Math}
+% \fontspectbl[unicode-math]{Fira Math}
+% \end{tabular}
+% \end{center}
+%
+% \else
+% \typeout{This is a short version of the documentation.
+% Use LuaLaTeX to get the complete version}
+% \fi
+%
+% \StopEventually{
+% \begin{thebibliography}{20}
+% \begin{raggedright}
+% \bibitem{ICTNS} \emph{On the Use of Italic and up Fonts for Symbols in Scientific Text},
+% I.M.~Mills and W.V.~Metanomski, ICTNS (Interdivisional Committee
+% on Terminology, Nomenclature and Symbols), dec 1999,
+% \url{https://old.iupac.org/standing/idcns/italic-roman_dec99.pdf}.
+% \bibitem{UNIC} \emph{Experimental Unicode mathematical typesetting:
+% The \textsf{unicode-math} package}, Will Robertson, Philipp Stephani, Joseph Wright,
+% Khaled Hosny, and others, CTAN, v0.8r 2023/08/13.
+% \bibitem{FSPEC} \emph{The \textsf{fontspec} package -- Font selection for \XeLaTeX\
+% and \LuaLaTeX}, Will Robertson, CTAN, v2.9b 2024/04/27.
+% \bibitem{FIXM} \emph{The \textsf{fixmath} package for \LaTeXe}, Walter Schmidt,
+% CTAN, v0.9 2000/04/11.
+% \bibitem{ISOM} \emph{\textsf{isomath} -- Mathematical style for science and technology},
+% Günter Milde, CTAN, v0.6.1 2012/09/04.
+% \bibitem{PMISO} \emph{\textsf{PM-ISOmath}, The Poor Man ISO math bundle},
+% the \textsf{pm-isomath} package by Claudio Beccari, CTAN, v1.2.00 2021/08/04.
+% \bibitem{GREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt,
+% CTAN, v2.0 2003/02/12.
+% \bibitem{DESIGN} \emph{The \textsf{mathdesign} package},
+% Paul Pichaureau, CTAN, v2.31 2013/08/29.
+% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
+% Christophe Caignaert, CTAN, v3.34 20/09/2022.
+% \bibitem{FOUR} \textsf{Fourier-GUT\hspace{-0.1em}\emph{enberg}},
+% Michel Bovani, CTAN, v1.3 2005/01/30.
+% \bibitem{PX} \emph{\textsf{PX Fonts} -- Palatino-like fonts in support of mathematics},
+% Young Ryu, CTAN, 2000/12/14.
+% \bibitem{TX} \emph{\textsf{TX Fonts} -- Times-like fonts in support of mathematics},
+% Young Ryu, CTAN, 2000/12/15.
+% \bibitem{CB} \emph{The CB Greek fonts}, Claudio Beccari, CTAN, 2008/01/01.
+% \bibitem{PXG} \emph{The \textsf{pxgreeks} package}, Jean-François Burnol,
+% CTAN v1.0 2011/03/16.
+% \bibitem{TXG} \emph{The \textsf{txgreeks} package}, Jean-François Burnol,
+% CTAN v1.0 2011/03/16.
+% \bibitem{LIBG} \emph{The \textsf{libgreek} package}, Jean-François Burnol,
+% CTAN v1.1 2022/11/11.
+% \bibitem{LGR} \emph{The \textsf{lgrmath} package}, Jean-François B., CTAN, v1.0 2022/11/16.
+% \bibitem{NTX} \emph{New TX font package}, Michael Sharpe, CTAN, v1.735 2024/03/01.
+% \bibitem{LIB} \emph{The LibertinusT1 Math Package}, Michael Sharpe, CTAN,
+% v2.0.4 2024/01/14.
+% \bibitem{CHEM} \emph{\textsf{chemgreek} -- Upright Greek letters in chemistry},
+% Clemens Niederberger, CTAN, v1.1a 2020/01/16.
+% \end{raggedright}
+% \end{thebibliography}
+% }
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
+\RequirePackage{kvoptions}
+%\SetupKeyvalOptions{family=mgr} % mathgreeks by default
+
+\DeclareStringOption{lgrmath}[fcm]
+\newif\ifmathgreeks@lgrmath
+\AddToKeyvalOption*{lgrmath}{\mathgreeks@lgrmathtrue}
+\DeclareStringOption{fontspec}[GFS Didot]
+\newif\ifmathgreeks@fontspec
+\AddToKeyvalOption*{fontspec}{\mathgreeks@fontspectrue}
+\newif\ifmathgreeks@unicodemath
+\define@key{mathgreeks}{unicode-math}[Latin Modern Math]{
+ \newcommand*{\mathgreeks@unicodemath}{#1}
+ \mathgreeks@unicodemathtrue}
+\DeclareStringOption{upgreek}[Symbol]
+\newif\ifmathgreeks@upgreek
+\AddToKeyvalOption*{upgreek}{\mathgreeks@upgreektrue
+ \mathgreeks@Greekuptrue\mathgreeks@greekuptrue}
+\DeclareStringOption{mathdesign}[Charter]
+\newif\ifmathgreeks@mathdesign
+\AddToKeyvalOption*{mathdesign}{\mathgreeks@mathdesigntrue}
+\DeclareBoolOption{fourier}% false by default
+\DeclareStringOption{kpfonts}[normal]
+\newif\ifmathgreeks@kpfonts
+\AddToKeyvalOption*{kpfonts}{\mathgreeks@kpfontstrue}
+\DeclareBoolOption{pxfonts}
+\DeclareBoolOption{txfonts}
+\DeclareBoolOption{libertinus}
+\DeclareBoolOption{concrete}
+\DeclareBoolOption{cmbright}
+
+\DeclareBoolOption{savegreeks}
+\DeclareBoolOption{otherfonts}
+\DeclareBoolOption{libsans}
+\DeclareBoolOption[true]{lowercase}
+\DeclareBoolOption[true]{uppercase}
+
+% dynamic options
+\DeclareBoolOption[true]{Greekup}
+\DeclareBoolOption{greekup}
+\DeclareBoolOption{upright}
+\AddToKeyvalOption*{upright}{\mathgreeks@Greekuptrue
+ \mathgreeks@greekuptrue}
+\DeclareBoolOption{ISO}
+\AddToKeyvalOption*{ISO}{\mathgreeks@Greekupfalse
+ \mathgreeks@greekupfalse}
+\DeclareBoolOption{TeX}
+\AddToKeyvalOption*{TeX}{\mathgreeks@Greekuptrue
+ \mathgreeks@greekupfalse}
+\DeclareStringOption{style}
+\AddToKeyvalOption*{style}{\setkeys{mathgreeks}{\mathgreeks@style}}
+
+\DeclareDefaultOption{\PackageError{mathgreeks}{%
+ Option key `\CurrentOptionKey' undefined}{}}
+\ProcessLocalKeyvalOptions* % \setkeys is done here
+
+\RequirePackage{etoolbox} % provides \AtEndPreamble
+
+\newif\ifkp@upRm % from kpgonts, bugs if after \ifmathgreeks@kpfonts
+\newif\iflibus@sansmath % from libertinust1math
+\newif\ifmathgreeks@Symbol % for codes definition
+\newif\ifmathgreeks@itgreek % for fonts without upright shape
+\newif\ifmathgreeks@font % if font option at package call
+\mathgreeks@fonttrue
+
+
+%%%%%%%%%%%%%%%% INITIAL SETTINGS %%%%%%%%%%%%%%%
+
+\ifmathgreeks@otherfonts
+ \DeclareFontEncoding{LGR}{}{}
+ \DeclareFontEncoding{FML}{}{}
+ \DeclareFontSubstitution{FML}{futm}{m}{it}
+ \ifmathgreeks@libsans \libus@sansmathtrue\fi % taken up at encoding time
+ \DeclareFontEncoding{LS1}{}{}
+ \DeclareFontSubstitution{LS1}{libertinust1math}{m}{n}
+
+ % from the upgreek package
+ \DeclareFontFamily{U}{eur}{\skewchar\font'177}
+ \DeclareFontShape{U}{eur}{m}{n}{%
+ <-6> eurm5 <6-8> eurm7 <8-> eurm10}{}
+ \DeclareFontShape{U}{eur}{b}{n}{%
+ <-6> eurb5 <6-8> eurb7 <8-> eurb10}{}
+ \DeclareFontFamily{U}{fsy}{}
+ \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
+
+\fi
+
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{lgrmath}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{fontspec}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{unicodemath}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{upgreek}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{mathdesign}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{fourier}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{kpfonts}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{pxfonts}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{txfonts}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{savegreeks}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{otherfonts}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{libsans}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{lowercase}
+\DisableKeyvalOption[action=warning,package=mathgreeks]{mathgreeks}{uppercase}
+
+
+\AtEndPreamble{\AtBeginDocument{
+ \@ifundefined{text}{\RequirePackage{amstext}}{}
+
+ \ifmathgreeks@lgrmath
+ \DeclareFontEncoding{LGR}{}{}
+ \DeclareSymbolFont{mgr@it}{LGR}{\mathgreeks@lgrmath}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{LGR}{\mathgreeks@lgrmath}{b}{it}
+ \DeclareSymbolFont{mgr@up}{LGR}{\mathgreeks@lgrmath}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{LGR}{\mathgreeks@lgrmath}{b}{n}
+
+ \else\ifmathgreeks@fontspec
+ \@ifpackageloaded{fontspec}{}{
+ \PackageError{mathgreeks}{`fontspec' or `unicodemath'
+ options need the fontspec package\MessageBreak
+ which must be run with LuaLaTeX or XeLaTeX}{}
+ }
+ \newfontfamily\MathGreeksFont{\mathgreeks@fontspec}%
+ [NFSSFamily=mgru]
+ \DeclareSymbolFont{mgr@it}{TU}{mgru}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{TU}{mgru}{b}{it}
+ \DeclareSymbolFont{mgr@up}{TU}{mgru}{m}{n}
+ \SetSymbolFont{mgr@it}{bold}{TU}{mgru}{b}{n}
+
+ \else\ifmathgreeks@unicodemath
+ \@ifpackageloaded{unicode-math}{}{
+ \PackageError{mathgreeks}{`unicodemath' option needs
+ the unicode-math package\MessageBreak
+ which must be run with LuaLaTeX or XeLaTeX}{}
+ }
+ \setmathfont{\mathgreeks@unicodemath}[range=it/{greek,Greek}]
+ \setmathfont{\mathgreeks@unicodemath}[range=up/{greek,Greek}]
+ \mathgreeks@fontspectrue % for \mgr@CodeGreeks
+ \let\mgr@UnicodeGreek\mgr@UnicodemathGreek
+
+ \else\ifmathgreeks@upgreek
+ \ifdefstring{\mathgreeks@upgreek}{Euler}{
+ \DeclareFontFamily{U}{eur}{\skewchar\font'177}
+ \DeclareFontShape{U}{eur}{m}{n}{%
+ <-6> eurm5 <6-8> eurm7 <8-> eurm10}{}
+ \DeclareFontShape{U}{eur}{b}{n}{%
+ <-6> eurb5 <6-8> eurb7 <8-> eurb10}{}
+ \DeclareSymbolFont{mgr@up}{U}{eur}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{U}{eur}{b}{n}
+ }{
+ \ifdefstring{\mathgreeks@upgreek}{Symbol}{
+ \DeclareSymbolFont{mgr@up}{U}{psy}{m}{n} % no bold face
+ \mathgreeks@Symboltrue
+ }{
+ \ifdefstring{\mathgreeks@upgreek}{Symbolsmallscale}{
+ \DeclareFontFamily{U}{fsy}{}
+ \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
+ \DeclareSymbolFont{mgr@up}{U}{fsy}{m}{n}
+ \mathgreeks@Symboltrue
+ }{
+ \PackageError{mathgreeks}{Invalid value
+ `\mathgreeks@upgreek' with `upgreek' key}{With `upgreek'
+ possible values are: Euler, Symbol, Symbolsmallscale.}
+ }}}
+
+ \else\ifmathgreeks@mathdesign
+ \ifdefstring{\mathgreeks@mathdesign}{Utopia}{
+ \DeclareSymbolFont{mgr@it}{OML}{mdput}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{mdput}{b}{it}
+ \DeclareSymbolFont{mgr@up}{OML}{mdput}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{OML}{mdput}{b}{n}
+ }{
+ \ifdefstring{\mathgreeks@mathdesign}{Garamond}{
+ \DeclareSymbolFont{mgr@it}{OML}{mdugm}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{mdugm}{b}{it}
+ \DeclareSymbolFont{mgr@up}{OML}{mdugm}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{OML}{mdugm}{b}{n}
+ }{
+ \ifdefstring{\mathgreeks@mathdesign}{Charter}{
+ \DeclareSymbolFont{mgr@it}{OML}{mdbch}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{mdbch}{b}{it}
+ \DeclareSymbolFont{mgr@up}{OML}{mdbch}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{OML}{mdbch}{b}{n}
+ }{
+ \PackageError{mathgreeks}{Invalid value
+ `\mathgreeks@mathdesign' with `mathdesign' key}{With
+ `mathdesign' possible values are:
+ Utopia, Garamond, Charter.}
+ }}}
+
+ \else\ifmathgreeks@fourier
+ \DeclareFontEncoding{FML}{}{}
+ \DeclareFontSubstitution{FML}{futm}{m}{it}
+ \DeclareSymbolFont{mgr@it}{FML}{futmi}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{FML}{futmi}{b}{it}
+ \DeclareSymbolFont{mgr@up}{FML}{futm}{m}{it}
+ \SetSymbolFont{mgr@up}{bold}{FML}{futm}{b}{it}
+
+ \else\ifmathgreeks@kpfonts
+ \ifdefstring{\mathgreeks@kpfonts}{normal}{
+ \DeclareSymbolFont{mgr@it}{OML}{jkp}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{jkp}{bx}{it}
+ \DeclareSymbolFont{mgr@up}{U}{jkpmia}{m}{it}
+ \SetSymbolFont{mgr@up}{bold}{U}{jkpmia}{bx}{it}
+ }{
+ \ifdefstring{\mathgreeks@kpfonts}{light}{
+ \DeclareSymbolFont{mgr@it}{OML}{jkpl}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{jkpl}{bx}{it}
+ \DeclareSymbolFont{mgr@up}{U}{jkplmia}{m}{it}
+ \SetSymbolFont{mgr@up}{bold}{U}{jkplmia}{bx}{it}
+ }{
+ \PackageError{mathgreeks}{Invalid value
+ `\mathgreeks@kpfonts' with `kpfonts' key}{With
+ `kpfonts' possible values are: normal, light.}
+ }}
+
+ \else\ifmathgreeks@pxfonts % no font option specified
+ \DeclareSymbolFont{mgr@it}{OML}{pxmi}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{pxmi}{bx}{it}
+ \DeclareSymbolFont{mgr@up}{U}{pxmia}{m}{it}
+ \SetSymbolFont{mgr@up}{bold}{U}{pxmia}{bx}{it}
+
+ \else\ifmathgreeks@txfonts
+ \DeclareSymbolFont{mgr@it}{OML}{txmi}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{txmi}{bx}{it}
+ \DeclareSymbolFont{mgr@up}{U}{txmia}{m}{it}
+ \SetSymbolFont{mgr@up}{bold}{U}{txmia}{bx}{it}
+
+ \else\ifmathgreeks@libertinus
+ \ifmathgreeks@libsans \libus@sansmathtrue\fi
+ \DeclareFontEncoding{LS1}{}{}
+ \DeclareFontSubstitution{LS1}{libertinust1math}{m}{n}
+ \DeclareSymbolFont{mgr@it}{LS1}{libertinust1math}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{LS1}{libertinust1math}{m}{it}
+ \DeclareSymbolFont{mgr@up}{LS1}{libertinust1math}{m}{n}
+ \SetSymbolFont{mgr@up}{bold}{LS1}{libertinust1math}{m}{n}
+
+ \else\ifmathgreeks@concrete
+ \DeclareSymbolFont{mgr@it}{OML}{ccm}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{ccm}{b}{it}
+ \mathgreeks@itgreektrue
+
+ \else\ifmathgreeks@cmbright
+ \DeclareSymbolFont{mgr@it}{OML}{cmbrm}{m}{it}
+ \SetSymbolFont{mgr@it}{bold}{OML}{cmbrm}{b}{it}
+ \mathgreeks@itgreektrue
+
+ \else
+ \PackageWarningNoLine{mathgreeks}{No font option specified}
+ \mathgreeks@fontfalse
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+
+ \ifmathgreeks@savegreeks \SaveGreeks \fi
+
+ \ifmathgreeks@font
+ \ifmathgreeks@upgreek
+ \mathgreeks@Greekuptrue \mathgreeks@greekuptrue
+ \PackageWarningNoLine{mathgreeks}{Commands \string \italpha,
+ \string\itbeta... \MessageBreak
+ not available with the `upgreek' option}
+ \else
+ \mgr@CodeGreeks{it}
+ \fi
+ \ifmathgreeks@itgreek
+ \mathgreeks@Greekupfalse \mathgreeks@greekupfalse
+ \PackageWarningNoLine{mathgreeks}{Commands \string \upalpha,
+ \string\upbeta... \MessageBreak
+ not available with `concrete' or 'cmbright}
+ \else
+ \mgr@CodeGreeks{up}
+ \fi
+ \mgr@DefaultGreeks
+ \fi
+}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\re@DeclareMathSymbol#1#2#3#4{% from kpfonts, pxfonts, txfonts
+ \let#1=\undefined
+ \DeclareMathSymbol{#1}{#2}{#3}{#4}}
+
+%\def\re@DeclareMathSymbol#1#2#3#4{% from newtxmath
+%\if\relax\noexpand#1\let#1=\undefined \fi
+%\DeclareMathSymbol{#1}{#2}{#3}{#4}}
+
+\newcommand{\mgr@CodeGreek}[3]{% #1 = it or up
+ \expandafter\re@DeclareMathSymbol\csname#1#2\endcsname%
+ {\mathalpha}{mgr@#1}{#3} % perhaps \mathord is better
+}
+
+\newcommand{\mgr@UnicodeGreek}[3]{%
+ \expandafter\Umathchardef\csname#1#2\endcsname="7 % mathalpha
+ \csname symmgr@#1\endcsname #3
+}
+
+\def\mgr@UnicodemathGreek#1#2#3{\unskip
+ \expandafter\DeclareRobustCommand\csname#1#2\endcsname
+ {\csname sym#1\endcsname{\symbol{#3}}}\ignorespaces
+}
+
+\newcommand{\mgr@CodeGreeks}[1]{% #1 = it or up
+ \ifmathgreeks@lgrmath % LGR encoding
+ \mgr@CodeGreek{#1}{Gamma}{71}
+ \mgr@CodeGreek{#1}{Delta}{68}
+ \mgr@CodeGreek{#1}{Theta}{74}
+ \mgr@CodeGreek{#1}{Lambda}{76}
+ \mgr@CodeGreek{#1}{Xi}{88}
+ \mgr@CodeGreek{#1}{Pi}{80}
+ \mgr@CodeGreek{#1}{Sigma}{83}
+ \mgr@CodeGreek{#1}{Upsilon}{85}
+ \mgr@CodeGreek{#1}{Phi}{70}
+ \mgr@CodeGreek{#1}{Psi}{89}
+ \mgr@CodeGreek{#1}{Omega}{87}
+ \mgr@CodeGreek{#1}{alpha}{97}
+ \mgr@CodeGreek{#1}{beta}{98}
+ \mgr@CodeGreek{#1}{gamma}{103}
+ \mgr@CodeGreek{#1}{delta}{100}
+ \mgr@CodeGreek{#1}{epsilon}{101}
+ \mgr@CodeGreek{#1}{zeta}{122}
+ \mgr@CodeGreek{#1}{eta}{104}
+ \mgr@CodeGreek{#1}{theta}{106}
+ \mgr@CodeGreek{#1}{iota}{105}
+ \mgr@CodeGreek{#1}{kappa}{107}
+ \mgr@CodeGreek{#1}{lambda}{108}
+ \mgr@CodeGreek{#1}{mu}{109}
+ \mgr@CodeGreek{#1}{nu}{110}
+ \mgr@CodeGreek{#1}{xi}{120}
+ \mgr@CodeGreek{#1}{pi}{112}
+ \mgr@CodeGreek{#1}{rho}{114}
+ \mgr@CodeGreek{#1}{sigma}{115}
+ \mgr@CodeGreek{#1}{tau}{116}
+ \mgr@CodeGreek{#1}{upsilon}{117}
+ \mgr@CodeGreek{#1}{phi}{102}
+ \mgr@CodeGreek{#1}{chi}{113}
+ \mgr@CodeGreek{#1}{psi}{121}
+ \mgr@CodeGreek{#1}{omega}{119}
+ \mgr@CodeGreek{#1}{varepsilon}{101} % = epsilon
+ \mgr@CodeGreek{#1}{vartheta}{106} % = theta
+ \mgr@CodeGreek{#1}{varpi}{112} % = pi
+ \mgr@CodeGreek{#1}{varrho}{114} % = rho
+ \mgr@CodeGreek{#1}{varsigma}{99}
+ \mgr@CodeGreek{#1}{varphi}{102} % = phi
+ \else\ifmathgreeks@fontspec % unicode encoding
+ \mgr@UnicodeGreek{#1}{Gamma}{"0393}
+ \mgr@UnicodeGreek{#1}{Delta}{"0394}
+ \mgr@UnicodeGreek{#1}{Theta}{"0398}
+ \mgr@UnicodeGreek{#1}{Lambda}{"039B}
+ \mgr@UnicodeGreek{#1}{Xi}{"039E}
+ \mgr@UnicodeGreek{#1}{Pi}{"03A0}
+ \mgr@UnicodeGreek{#1}{Sigma}{"03A3}
+ \mgr@UnicodeGreek{#1}{Upsilon}{"03A5}
+ \mgr@UnicodeGreek{#1}{Phi}{"03A6}
+ \mgr@UnicodeGreek{#1}{Psi}{"03A8}
+ \mgr@UnicodeGreek{#1}{Omega}{"03A9}
+ \mgr@UnicodeGreek{#1}{alpha}{"03B1}
+ \mgr@UnicodeGreek{#1}{beta}{"03B2}
+ \mgr@UnicodeGreek{#1}{gamma}{"03B3}
+ \mgr@UnicodeGreek{#1}{delta}{"03B4}
+ \mgr@UnicodeGreek{#1}{epsilon}{"03B5}
+ \mgr@UnicodeGreek{#1}{zeta}{"03B6}
+ \mgr@UnicodeGreek{#1}{eta}{"03B7}
+ \mgr@UnicodeGreek{#1}{theta}{"03B8}
+ \mgr@UnicodeGreek{#1}{iota}{"03B9}
+ \mgr@UnicodeGreek{#1}{kappa}{"03BA}
+ \mgr@UnicodeGreek{#1}{lambda}{"03BB}
+ \mgr@UnicodeGreek{#1}{mu}{"03BC}
+ \mgr@UnicodeGreek{#1}{nu}{"03BD}
+ \mgr@UnicodeGreek{#1}{xi}{"03BE} % not omicron
+ \mgr@UnicodeGreek{#1}{pi}{"03C0}
+ \mgr@UnicodeGreek{#1}{rho}{"03C1}
+ \mgr@UnicodeGreek{#1}{sigma}{"03C3}
+ \mgr@UnicodeGreek{#1}{tau}{"03C4}
+ \mgr@UnicodeGreek{#1}{upsilon}{"03C5}
+ \mgr@UnicodeGreek{#1}{phi}{"03C6}
+ \mgr@UnicodeGreek{#1}{chi}{"03C7}
+ \mgr@UnicodeGreek{#1}{psi}{"03C8}
+ \mgr@UnicodeGreek{#1}{omega}{"03C9}
+ \mgr@UnicodeGreek{#1}{varepsilon}{"03F5}
+ \mgr@UnicodeGreek{#1}{vartheta}{"03D1}
+ \mgr@UnicodeGreek{#1}{varpi}{"03D6}
+ \mgr@UnicodeGreek{#1}{varrho}{"03F1}
+ \mgr@UnicodeGreek{#1}{varsigma}{"03C2}
+ \mgr@UnicodeGreek{#1}{varphi}{"03D5}
+ \else\ifmathgreeks@Symbol % Symbol encoding
+ \mgr@CodeGreek{#1}{Gamma}{`G}
+ \mgr@CodeGreek{#1}{Delta}{`D}
+ \mgr@CodeGreek{#1}{Theta}{`Q}
+ \mgr@CodeGreek{#1}{Lambda}{`L}
+ \mgr@CodeGreek{#1}{Xi}{`X}
+ \mgr@CodeGreek{#1}{Pi}{`P}
+ \mgr@CodeGreek{#1}{Sigma}{`S}
+ \mgr@CodeGreek{#1}{Upsilon}{`U}
+ \mgr@CodeGreek{#1}{Phi}{`F}
+ \mgr@CodeGreek{#1}{Psi}{`Y}
+ \mgr@CodeGreek{#1}{Omega}{`W}
+ \mgr@CodeGreek{#1}{alpha}{`a}
+ \mgr@CodeGreek{#1}{beta}{`b}
+ \mgr@CodeGreek{#1}{gamma}{`g}
+ \mgr@CodeGreek{#1}{delta}{`d}
+ \mgr@CodeGreek{#1}{epsilon}{`e}
+ \mgr@CodeGreek{#1}{zeta}{`z}
+ \mgr@CodeGreek{#1}{eta}{`h}
+ \mgr@CodeGreek{#1}{theta}{`q}
+ \mgr@CodeGreek{#1}{iota}{`i}
+ \mgr@CodeGreek{#1}{kappa}{`k}
+ \mgr@CodeGreek{#1}{lambda}{`l}
+ \mgr@CodeGreek{#1}{mu}{`m}
+ \mgr@CodeGreek{#1}{nu}{`n}
+ \mgr@CodeGreek{#1}{xi}{`x}
+ \mgr@CodeGreek{#1}{pi}{`p}
+ \mgr@CodeGreek{#1}{rho}{`r}
+ \mgr@CodeGreek{#1}{sigma}{`s}
+ \mgr@CodeGreek{#1}{tau}{`t}
+ \mgr@CodeGreek{#1}{upsilon}{`u}
+ \mgr@CodeGreek{#1}{phi}{`f}
+ \mgr@CodeGreek{#1}{chi}{`c}
+ \mgr@CodeGreek{#1}{psi}{`y}
+ \mgr@CodeGreek{#1}{omega}{`w}
+ \mgr@CodeGreek{#1}{varepsilon}{`u} % = epsilon
+ \mgr@CodeGreek{#1}{vartheta}{`J}
+ \mgr@CodeGreek{#1}{varpi}{`v}
+ \mgr@CodeGreek{#1}{varrho}{`r} % = rho
+ \mgr@CodeGreek{#1}{varsigma}{`s} % = sigma
+ \mgr@CodeGreek{#1}{varphi}{`j}
+ \else % OML (or U) encoding
+ \mgr@CodeGreek{#1}{Gamma}{"00}
+ \mgr@CodeGreek{#1}{Delta}{"01}
+ \mgr@CodeGreek{#1}{Theta}{"02}
+ \mgr@CodeGreek{#1}{Lambda}{"03}
+ \mgr@CodeGreek{#1}{Xi}{"04}
+ \mgr@CodeGreek{#1}{Pi}{"05}
+ \mgr@CodeGreek{#1}{Sigma}{"06}
+ \mgr@CodeGreek{#1}{Upsilon}{"07}
+ \mgr@CodeGreek{#1}{Phi}{"08}
+ \mgr@CodeGreek{#1}{Psi}{"09}
+ \mgr@CodeGreek{#1}{Omega}{"0A}
+ \mgr@CodeGreek{#1}{alpha}{"0B}
+ \mgr@CodeGreek{#1}{beta}{"0C}
+ \mgr@CodeGreek{#1}{gamma}{"0D}
+ \mgr@CodeGreek{#1}{delta}{"0E}
+ \mgr@CodeGreek{#1}{epsilon}{"0F}
+ \mgr@CodeGreek{#1}{zeta}{"10}
+ \mgr@CodeGreek{#1}{eta}{"11}
+ \mgr@CodeGreek{#1}{theta}{"12}
+ \mgr@CodeGreek{#1}{iota}{"13}
+ \mgr@CodeGreek{#1}{kappa}{"14}
+ \mgr@CodeGreek{#1}{lambda}{"15}
+ \mgr@CodeGreek{#1}{mu}{"16}
+ \mgr@CodeGreek{#1}{nu}{"17}
+ \mgr@CodeGreek{#1}{xi}{"18}
+ \mgr@CodeGreek{#1}{pi}{"19}
+ \mgr@CodeGreek{#1}{rho}{"1A}
+ \mgr@CodeGreek{#1}{sigma}{"1B}
+ \mgr@CodeGreek{#1}{tau}{"1C}
+ \mgr@CodeGreek{#1}{upsilon}{"1D}
+ \mgr@CodeGreek{#1}{phi}{"1E}
+ \mgr@CodeGreek{#1}{chi}{"1F}
+ \mgr@CodeGreek{#1}{psi}{"20}
+ \mgr@CodeGreek{#1}{omega}{"21}
+ \mgr@CodeGreek{#1}{varepsilon}{"22}
+ \mgr@CodeGreek{#1}{vartheta}{"23}
+ \mgr@CodeGreek{#1}{varpi}{"24}
+ \mgr@CodeGreek{#1}{varrho}{"25}
+ \mgr@CodeGreek{#1}{varsigma}{"26}
+ \mgr@CodeGreek{#1}{varphi}{"27}
+ %\mgr@CodeGreek{#1}{varkappa}{"FE}
+ \fi\fi\fi
+}
+
+\newcommand\mgr@DefaultGreeks{%
+ \ifmathgreeks@uppercase
+ \ifmathgreeks@Greekup
+ \let\Gamma\upGamma
+ \let\Delta\upDelta
+ \let\Theta\upTheta
+ \let\Lambda\upLambda
+ \let\Xi\upXi
+ \let\Pi\upPi
+ \let\Sigma\upSigma
+ \let\Upsilon\upUpsilon
+ \let\Phi\upPhi
+ \let\Psi\upPsi
+ \let\Omega\upOmega
+ \else
+ \let\Gamma\itGamma
+ \let\Delta\itDelta
+ \let\Theta\itTheta
+ \let\Lambda\itLambda
+ \let\Xi\itXi
+ \let\Pi\itPi
+ \let\Sigma\itSigma
+ \let\Upsilon\itUpsilon
+ \let\Phi\itPhi
+ \let\Psi\itPsi
+ \let\Omega\itOmega
+ \fi\fi
+ \ifmathgreeks@lowercase
+ \ifmathgreeks@greekup
+ \let\alpha\upalpha
+ \let\beta\upbeta
+ \let\gamma\upgamma
+ \let\delta\updelta
+ \let\epsilon\upepsilon
+ \let\zeta\upzeta
+ \let\eta\upeta
+ \let\theta\uptheta
+ \let\iota\upiota
+ \let\kappa\upkappa
+ \let\lambda\uplambda
+ \let\mu\upmu
+ \let\nu\upnu
+ \let\xi\upxi
+ \let\pi\uppi
+ \let\rho\uprho
+ \let\sigma\upsigma
+ \let\tau\uptau
+ \let\upsilon\upupsilon
+ \let\phi\upphi
+ \let\chi\upchi
+ \let\psi\uppsi
+ \let\omega\upomega
+ \let\varepsilon\upvarepsilon
+ \let\vartheta\upvartheta
+ \let\varpi\upvarpi
+ \let\varrho\upvarrho
+ \let\varsigma\upvarsigma
+ \let\varphi\upvarphi
+ \else
+ \let\alpha\italpha
+ \let\beta\itbeta
+ \let\gamma\itgamma
+ \let\delta\itdelta
+ \let\epsilon\itepsilon
+ \let\zeta\itzeta
+ \let\eta\iteta
+ \let\theta\ittheta
+ \let\iota\itiota
+ \let\kappa\itkappa
+ \let\lambda\itlambda
+ \let\mu\itmu
+ \let\nu\itnu
+ \let\xi\itxi
+ \let\pi\itpi
+ \let\rho\itrho
+ \let\sigma\itsigma
+ \let\tau\ittau
+ \let\upsilon\itupsilon
+ \let\phi\itphi
+ \let\chi\itchi
+ \let\psi\itpsi
+ \let\omega\itomega
+ \let\varepsilon\itvarepsilon
+ \let\vartheta\itvartheta
+ \let\varpi\itvarpi
+ \let\varrho\itvarrho
+ \let\varsigma\itvarsigma
+ \let\varphi\itvarphi
+ \fi\fi
+}
+
+\providecommand\SaveGreeks{%
+ \let\backGamma\Gamma
+ \let\backDelta\Delta
+ \let\backTheta\Theta
+ \let\backLambda\Lambda
+ \let\backXi\Xi
+ \let\backPi\Pi
+ \let\backSigma\Sigma
+ \let\backUpsilon\Upsilon
+ \let\backPhi\Phi
+ \let\backPsi\Psi
+ \let\backOmega\Omega
+ \let\backalpha\alpha
+ \let\backbeta\beta
+ \let\backgamma\gamma
+ \let\backdelta\delta
+ \let\backepsilon\epsilon
+ \let\backzeta\zeta
+ \let\backeta\eta
+ \let\backtheta\theta
+ \let\backiota\iota
+ \let\backkappa\kappa
+ \let\backlambda\lambda
+ \let\backmu\mu
+ \let\backnu\nu
+ \let\backxi\xi
+ \let\backpi\pi
+ \let\backrho\rho
+ \let\backsigma\sigma
+ \let\backtau\tau
+ \let\backupsilon\upsilon
+ \let\backphi\phi
+ \let\backchi\chi
+ \let\backpsi\psi
+ \let\backomega\omega
+ \let\backvarepsilon\varepsilon
+ \let\backvartheta\vartheta
+ \let\backvarpi\varpi
+ \let\backvarrtho\varrho
+ \let\backvarsigma\varsigma
+ \let\backvarphi\varphi
+}
+
+
+%%%%%%%%%%%%%% Macros for changing font dynamically %%%%%%%%%%%%%
+
+\def\setmathgreeks#1{\setkeys{mathgreeks}{#1}\unskip
+ \ifmathgreeks@upgreek
+ \mathgreeks@Greekuptrue
+ \mathgreeks@greekuptrue
+ \PackageWarning{mathgreeks}{Style is set to `upright'
+ \MessageBreak with the `upgreek' option}
+ \fi
+ \mgr@DefaultGreeks\ignorespaces
+}
+
+\newif\ifmgrfont@unicodemath
+\define@key{mgrfont}{unicode-math}[Latin Modern Math]{%
+ \def\mgrfont@unicodemath{#1}\mgrfont@unicodemathtrue}
+\newif\ifmgrfont@fontspec
+\define@key{mgrfont}{fontspec}[GFS Didot]{%
+ \def\mgrfont@fontspec{#1}\mgrfont@fontspectrue}
+\define@key{mgrfont}{enc}{\def\mgrfont@enc{#1}}
+\define@key{mgrfont}{fam}{\def\mgrfont@fam{#1}}
+\newcommand*\mgrfont@series{m} % default value
+\define@key{mgrfont}{series}{\renewcommand*\mgrfont@series{#1}}
+\newcommand*\mgrfont@shape{it} % default value
+\define@key{mgrfont}{shape}{\renewcommand*\mgrfont@shape{#1}}
+
+\def\mathgreeksfont#1{%
+ \mgrfont@unicodemathfalse
+ \mgrfont@fontspecfalse
+ \renewcommand*\mgrfont@series{m}
+ \renewcommand*\mgrfont@shape{it}
+ \mathgreeks@lgrmathfalse
+ \mathgreeks@fontspecfalse
+ \mathgreeks@Symbolfalse
+ \mathgreeks@upgreekfalse
+ \setkeys{mgrfont}{#1}
+ \ifmgrfont@unicodemath
+ \setmathfont{\mgrfont@unicodemath}[range=it/{greek,Greek}]
+ \setmathfont{\mgrfont@unicodemath}[range=up/{greek,Greek}]
+ \let\mgr@UnicodeGreek\mgr@UnicodemathGreek
+ \mathgreeks@fontspectrue % for \mgr@CodeGreeks
+ \mgr@CodeGreeks{it}
+ \mgr@CodeGreeks{up}
+ \mgr@DefaultGreeks
+ \else\ifmgrfont@fontspec
+ \let\MathGreeksFont\relax
+ \newfontfamily\MathGreeksFont{\mgrfont@fontspec}
+ \let\mgr@UnicodeGreek\mgr@NewUnicodeGreek
+ \mathgreeks@fontspectrue
+ \mgr@CodeGreeks{it}
+ \mgr@CodeGreeks{up}
+ \mgr@DefaultGreeks
+ \else
+ \let\mgr@CodeGreek\mgr@NewCodeGreek
+ \ifdefstring{\mgrfont@enc}{LGR}{
+ \mathgreeks@lgrmathtrue
+ }{
+ \ifdefstring{\mgrfont@fam}{psy}{
+ \mathgreeks@Symboltrue
+ }{
+ \ifdefstring{\mgrfont@fam}{fsy}{
+ \mathgreeks@Symboltrue
+ }{
+ }}}
+ \mgr@CodeGreeks{}
+ \fi\fi
+}
+
+\def\mgr@NewCodeGreek#1#2#3{\unskip
+ \expandafter\DeclareRobustCommand\csname#1#2\endcsname
+ {\mathalpha{\text{\usefont{\mgrfont@enc}{\mgrfont@fam}
+ {\mgrfont@series}{\mgrfont@shape}\symbol{#3}}
+ }}\ignorespaces
+}
+
+\def\mgr@NewUnicodeGreek#1#2#3{\unskip % only with fontspec
+ \expandafter\DeclareRobustCommand\csname#1#2\endcsname
+ {\mathalpha{\text{\csname#1shape\endcsname%
+ \MathGreeksFont\symbol{#3}}
+ }}\ignorespaces
+}
+
+\providecommand\greektable{
+ $\begin{array}{c}
+ \begin{array}{*{23}{@{\;}c}@{\;}}
+ \alpha & \beta & \gamma & \delta & \epsilon & \zeta & \eta &
+ \theta & \iota & \kappa & \lambda & \mu & \nu & \xi & \pi &
+ \rho & \sigma & \tau & \upsilon & \phi & \chi & \psi & \omega
+ \end{array}
+ \\
+ \begin{array}{*{18}{@{\;}c}@{\;}}
+ \varepsilon & \vartheta & \varpi & \varrho & \varsigma & \varphi
+ & | &
+ \Gamma & \Delta & \Theta & \Lambda & \Xi & \Pi & \Sigma &
+ \Upsilon & \Phi & \Psi & \Omega
+ \end{array}
+ \end{array}$
+}
+
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/mathgreeks/mathgreeks.ins b/macros/latex/contrib/mathgreeks/mathgreeks.ins
new file mode 100644
index 0000000000..e7e74d9458
--- /dev/null
+++ b/macros/latex/contrib/mathgreeks/mathgreeks.ins
@@ -0,0 +1,56 @@
+%%
+%% Copyright (C) 2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/mathgreeks}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3 of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX version
+2005/12/01 or later.
+
+\endpreamble
+
+\generate{\file{mathgreeks.sty}{\from{mathgreeks.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* mathgreeks.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* mathgreeks.dtx through LuaLaTeX *}
+\Msg{* (or LaTeX for a shorter version of the doc). *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/mathgreeks/mathgreeks.pdf b/macros/latex/contrib/mathgreeks/mathgreeks.pdf
new file mode 100644
index 0000000000..5addc4ecb1
--- /dev/null
+++ b/macros/latex/contrib/mathgreeks/mathgreeks.pdf
Binary files differ
diff --git a/macros/latex/contrib/mismath/README.md b/macros/latex/contrib/mismath/README.md
index 2ebf631307..9cafc74719 100644
--- a/macros/latex/contrib/mismath/README.md
+++ b/macros/latex/contrib/mismath/README.md
@@ -5,17 +5,19 @@
The package provides some mathematical macros to typeset:
- mathematical constants e, i, pi in upright shape (automatically) as recommended by ISO 80000-2,
-- vectors with nice arrows and adjusted norm (and tensors),
+- vectors with nice arrows and adjusted norm,
+- tensors in sans serif bold italic shape (ISO recommendation),
- some standard operator names,
+- several commands with useful aliases,
- improved spacings in mathematical formulas,
- systems of equations and small matrices,
-- displaymath in double columns for lengthy calculations.
+- displaymath in double columns for lengthy calculations with short expressions.
## Installation
- run LaTeX on mismath.ins, you obtain the file mismath.sty,
-- if then you run XeLaTeX or LuaLaTeX on mismath.dtx you get the file mismath.pdf which is also in the archive,
+- if then you run pdfLaTeX on mismath.dtx you get the file mismath.pdf which is also in the archive,
- put the files mismath.sty and mismath.pdf in your TeX Directory Structure.
diff --git a/macros/latex/contrib/mismath/mismath.dtx b/macros/latex/contrib/mismath/mismath.dtx
index 88793e7e9e..f3fd2168bc 100644
--- a/macros/latex/contrib/mismath/mismath.dtx
+++ b/macros/latex/contrib/mismath/mismath.dtx
@@ -20,16 +20,16 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mismath}
- [2024/02/29 v2.12 .dtx Miscellaneous mathematical macros]
+ [2024/05/04 v3.0 .dtx Miscellaneous mathematical macros]
%</package>
%<*driver>
\documentclass{ltxdoc}
-%\usepackage[utf8]{inputenc} % running through XeLaTeX
+\usepackage[utf8]{inputenc} % run through XeLaTeX
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
-\usepackage{fontspec}
+%\usepackage{fontspec}
\usepackage{fourier} % in case of font change, modify 2.1 (3rd §)
-\usepackage[ibrackets,decimalcomma]{mismath}
+\usepackage[ibrackets,decimalcomma,otherReIm]{mismath}
%\usepackage{amssymb} % unnecessary with fourier
\usepackage{multicol}
\usepackage{sectsty}
@@ -40,33 +40,37 @@
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\color{darkbrown}}
-% The following commands provides several shapes of pi
-% the maximum number of authorized math fonts is reached
+
+% The following commands provide several shapes for pi
\DeclareFontEncoding{LGR}{}{}
-\DeclareSymbolFont{lgrlmr}{LGR}{lmr}{m}{n}
-\DeclareMathSymbol{\pilmr}{\mathalpha}{lgrlmr}{112}
-\DeclareSymbolFont{lgrAlegreya}{LGR}{Alegreya-LF}{m}{n}
-\DeclareMathSymbol{\piAlegreya}{\mathalpha}{lgrAlegreya}{112}
-\DeclareSymbolFont{lgrCochineal}{LGR}{Cochineal-LF}{m}{n}
-\DeclareMathSymbol{\piCochineal}{\mathalpha}{lgrCochineal}{112}
-\pinumber[upgreek=Euler]
-\DeclareSymbolFont{upgreekSymbol}{U}{psy}{m}{n}
-\DeclareMathSymbol{\piSymbol}{\mathord}{upgreekSymbol}{`p}
-\DeclareSymbolFont{mdCharter}{OML}{mdbch}{m}{n}
-\DeclareMathSymbol{\piCharter}{\mathord}{mdCharter}{"19}
-\DeclareSymbolFont{kp}{U}{jkpmia}{m}{it}
-\DeclareMathSymbol{\pikp}{\mathord}{kp}{"19}
-\DeclareSymbolFont{px}{U}{pxmia}{m}{it}
-\DeclareMathSymbol{\pipx}{\mathord}{px}{"19}
-\DeclareSymbolFont{tx}{U}{txmia}{m}{it}
-\DeclareMathSymbol{\pitx}{\mathord}{tx}{"19}
-% For showing original \i and \j in text mode:
-\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont}
+\def\pilmr{\text{\usefont{LGR}{lmr}{m}{n}\symbol{112}}}
+\def\piAlegreya{\text{\usefont{LGR}{Alegreya-LF}{m}{n}\symbol{112}}}
+\def\piCochineal{\text{\usefont{LGR}{Cochineal-LF}{m}{n}\symbol{112}}}
+\def\piLibSerif{\text{\usefont{LGR}{LibertinusSerif-LF}{m}{n}\symbol{112}}}
+\def\piLibSans{\text{\usefont{LGR}{LibertinusSans-LF}{m}{n}\symbol{112}}}
+\def\pilmss{\text{\usefont{LGR}{lmss}{m}{n}\symbol{112}}}
+\def\pigentium{\text{\usefont{LGR}{gentium}{m}{n}\symbol{112}}}
+\def\pilato{\text{\usefont{LGR}{lato-LF}{m}{n}\symbol{112}}}
+\DeclareFontFamily{U}{eur}{\skewchar\font'177}
+\DeclareFontShape{U}{eur}{m}{n}{%
+ <-6> eurm5 <6-8> eurm7 <8-> eurm10}{}
+\def\piEuler{\text{\usefont{U}{eur}{m}{n}\symbol{"19}}}
+\def\piSymbol{\text{\usefont{U}{psy}{m}{n}\symbol{`p}}}
+\def\piCharter{\text{\usefont{OML}{mdbch}{m}{n}\symbol{"19}}}
+\def\pikp{\text{\usefont{U}{jkpmia}{m}{it}\symbol{"19}}}
+\pinumber[otherpi] % fourier
+\def\pipx{\text{\usefont{U}{pxmia}{m}{it}\symbol{"19}}}
+\def\pitx{\text{\usefont{U}{txmia}{m}{it}\symbol{"19}}}
+
+% Next command is used for showing original Latin Modern \i and \j in text mode:
+%\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont} % useless with fourier
\DisableCrossrefs
%\CodelineIndex
%\RecordChanges
+
\usepackage{hyperref}
+\let\C\relax % "\C already defined" with hyperref when compiling with xelatex or lualatex
\hypersetup{%
colorlinks,
linkcolor=blue,
@@ -83,7 +87,7 @@
%</driver>
% \fi
%
-% \CheckSum{831}
+% \CheckSum{845}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -159,8 +163,8 @@
% (and LGR encoding pi by default), it is no longer compatible with the older,
% - paren command has been removed,
% - hvect and hlbar have been slightly modified (phantom t instead of phantom h),
-% - several changes in documentation,
-% - now using the Charter font (with the package mathdesign)}
+% - several changes in the documentation,
+% - now using the Charter font in the doc (with the package mathdesign)}
%
% \changes{v2.1}{2022/12/26}{
% - Improved management of square brackets with the ibrackets package,
@@ -225,26 +229,41 @@
%
% \changes{v2.12}{2024/02/29}{
% - The xparse package has been removed by mistake in v2.11,
-% this may cause some compatibility problems with unicode-math;
+% this may cause some compatibility problems;
% it is loaded again by mismath
% - Improvements to make pinumber work perfectly with unicode-math
% - Small corrections in the doc}
%
+% \changes{v3.0}{2024/03/15}{
+% - Rewriting of the pinumber command including the pifonts macro
+% - Presenting other lgrmath values for pinumber in the doc
+% - The \C macro is now in AtBeginDocument
+% - amsmath isn't loaded anymore because mathtools loads it
+% - Bug fix with options decimalcomma and ibrackets
+% - New option 'nofunction' to lighten the package loading
+% - Addition of coker and Res in standard operator names
+% - New option 'classicReIm' to deactivate Im and Re redefinition
+% - New option 'otherReIm' to provide an alternative writing with cmsy font
+% - Removal of the PEupright command
+% - Additional space in the lfrac macro increased from \: (5mu) to 7mu
+% - New optional parameter for adjusting the space in lfrac
+% - Changing the vphantom in hvect, hvec and lbar from `t' to `A', looks better}
+%
% \GetFileInfo{mismath.sty}
%
% \title{Miscellaneous mathematical macros \\The \textsf{mismath} package\thanks{This document
% corresponds to \textsf{mismath}~\fileversion, dated \filedate.
% Thanks to François Bastouil for initial help in English translation.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{February 29, 2024}
+% \date{May 04, 2024}
%
% \maketitle
% \tableofcontents
%
% \section{Introduction}
%
-% According to the International Standards ISO~31-0:1992 to ISO~31-13:1992
-% (superseded by ISO~80000-2:2009), mathematical \emph{constants} $\e$, $\i$, $\otherpi$
+% According to the International Standards ISO~31-0:1992 to ISO~31-13:1992
+% (superseded by ISO~80000-2:2009), mathematical \emph{constants} $\e$, $\i$, $\pi$
% should be typeset in roman (upright shape) and not in italic like
% variables (see~\cite{TYPMA}~\cite{NIST}~\cite{SI}~\cite{ICTNS}).
% This package provides some tools to achieve this automatically.
@@ -262,14 +281,15 @@
% or worse $\left\Vert \vect{AB} \right\Vert$ (when using |\left|\ldots |\right|).
%
% \smallskip
-% The package also offers other macros for:
+% The package also offers other macros to typeset:
% \begin{itemize}
-% \item tensors,
-% \item some common operator names,
-% \item a few useful aliases,
-% \item enhancing spacing in mathematical formulas,
+% \item tensors in sans serif bold italic shape
+% (ISO recommendation~\cite{TYPMA}~\cite{NIST}~\cite{SI}),
+% \item some standard operator names,
+% \item several commands with useful aliases,
+% \item improved spacings in mathematical formulas,
% \item systems of equations and small matrices,
-% \item displaymath in double columns for lengthy calculations.
+% \item displaymath in double columns for lengthy calculations with short expressions.
% \end{itemize}
%
% To avoid compatibility issues,
@@ -282,36 +302,38 @@
%
% \medskip
% \DescribeEnv{\oarg{options}}
-% The \textsf{mismath} package loads the \textsf{amsmath} package~\cite{AMS}
-% without any options.
-% If you want to use \textsf{amsmath} with specific options (refer to its documentation),
-% you can include these options when calling \textsf{mismath}, or
-% you can load \textsf{amsmath}
-% with the desired options before loading \textsf{mismath}.
-% \emph{When using the package \textsf{unicode-math}~\cite{UNIC}, \textsf{mismath}
-% must be loaded before \textsf{unicode-math}}, just like \textsf{amsmath}.
+% The \textsf{mismath} package loads the \textsf{mathtools}
+% \footnote{The \textsf{mathtools} package offers numerous helpful macros and improvements
+% of the \textsf{amsmath} package.}
+% package by Morten Høgholm and Lars Madsen~\cite{TOOL} which in turn loads
+% the \textsf{amsmath} package~\cite{AMS}.
+% If you want to use \mbox{\textsf{amsmath}} or \textsf{mathtools} with specific options,
+% you can include these options as options of \mbox{\textsf{mismath}}, or
+% you can load \textsf{amsmath} or \textsf{mathtools}
+% with the desired options before loading \mbox{\textsf{mismath}}.
+% When using the package \textsf{unicode-math}~\cite{UNIC}, \textsf{mismath}
+% should be loaded before \textsf{unicode-math}, just like \textsf{amsmath}.
%
% \medskip
-% In addition \textsf{mismath} loads the \textsf{mathtools} package
-% by Morten Høgholm and Lars Madsen~\cite{TOOL}.
-% This package offers numerous helpful macros and improvements of the \textsf{amsmath} package.
-%
-% \medskip
-% A recommendation, although rarely followed, is to typeset uppercase
+% An ISO recommendation, although rarely followed, is to typeset uppercase
% Greek letters in italic shape,
-% similar to other variables~\cite{ICTNS}. This can be automatically achieved,
+% as for other variables~\cite{ICTNS}. This is automatically achieved,
% for some particular fonts, with packages
% such as \textsf{fixmath} by Walter Schmidt~\cite{FIXM},
% \mbox{\textsf{isomath}} by Günter Milde~\cite{ISOM}
% or \textsf{pm-isomath} by Claudio Beccari~\cite{PMISO} and optionally with many others
% (such as \textsf{mathpazo} or \textsf{mathptmx} with the option \texttt{slantedGreek}).
+% When running through \LuaLaTeX\ or \XeLaTeX\ you can also get this result
+% with the option \mbox{\texttt{math-style=ISO}} provided
+% by the \textsf{unicode-math} package.
+% We also have the new \mbox{\textsf{mathgreeks}} package~\cite{MGREEK} which offers
+% a wide range of fonts and different settings with Greek letters.
% However this feature is not implemented here due to a conflicting rule in France,
% where all capital letters in mathematics
% are required to be typeset in upright shape
% \footnote{The \textsf{frenchmath} package~\cite{FR}
% ensures to follow the recommended French rules.}.
-% When running through \LuaLaTeX\ or \XeLaTeX\ you can also get this result by
-% setting the option \mbox{\texttt{math-style=ISO}} in the \textsf{unicode-math} package.
+% The user is free to choose loading one of these packages or not.
%
%
% \section{Usage}
@@ -338,12 +360,12 @@
%
% \medskip
% \DescribeMacro{\e} \DescribeMacro{\i} \DescribeMacro{\j}
-% To avoid cluttering a document that contains many occurrences of Euler's number (e)
-% or imaginary numbers (i) with |\mathup{e}| or |\mathup{i}|,
-% the package provides the |\e| command for Euler’s number
+% To avoid cluttering a document that contains many occurrences of Euler's number $\e$,
+% or imaginary number $\i$, with |\mathup{e}| or |\mathup{i}|,
+% the package provides the |\e| command for Euler's number
% and |\i| or |\j| for imaginary numbers.
% Let us notice that |\i| and |\j| already exist in LaTeX. In LR (left-to-right) mode,
-% they produce \mbox{`\extrafont{\i,\ \j}'} without the dot,
+% they produce \mbox{`\i,\ \j'} without the dot,
% allowing you to place accents on them.
% However, in mathematical mode, they produce the warning
% ``\texttt{LaTeX Warning: Command \string \i\space invalid in math mode on input line}
@@ -355,19 +377,21 @@
% \DescribeMacro{\MathUp}
% Indeed, typing a lot of backslashes for constants like $\e$, $\i$, or $\j$
% in a document with numerous formulas can become tiresome.
-% To alleviate this, the package proposes a powerful solution
+% To alleviate this, the package proposes another solution
% with the macro |\MathUp|\marg{char}.
% For example, when |\MathUp{e}| is called, any subsequent occurrence of $\e$
% will automatically be set in roman (upright shape),
% without the need to type |\e| explicitly. The effect of this macro
% can be either global or local, depending on whether it is used outside or inside an
% environment or braces.
-% Furthermore, you can call this macro in the preamble to apply the change
-% from the beginning of the document. This powerful feature allows you
-% to bring a document up to the standards effortlessly.
+% Furthermore, you can also call this macro in the preamble, then the change will apply
+% from the beginning of the document. This powerful command allows you
+% to bring a document up to the standards effortlessly and without changing anything
+% in your mathematical formulas.
% In fact, |\MathUp| can be applied to any valid single character,
-% offering flexibility for various use cases (another use of it with probability
-% will be presented in section \ref{operators}).
+% offering flexibility for various use cases
+% \footnote{Another use of it with probability
+% will be presented in section \ref{operators}.}.
%
% \medskip
% \DescribeMacro{\MathIt}
@@ -387,37 +411,47 @@
% In |\MathNumbers|, the comma separator between letters can be modified
% or removed as needed. In fact, this macro only affects the letters e, i, or j;
% it has no effect on other characters.
-% On the other hand, |\MathNormal| can be utilized for probability as well
-% (refer to section \ref{operators}), and it accepts any comma-separated list of arguments.
+% On the other hand, |\MathNormal| accepts any comma-separated list of arguments.
% This means you can apply the normal italic math mode typesetting to various letters
% at once using |\MathNormal|.
+%
+% \medskip
+% \DescribeMacro{\enumber}\DescribeMacro{\inumber}\DescribeMacro{\jnumber}
+% These three commands, used until version 2.2 but only functioning within the preamble,
+% serve now as aliases for the commands |\MathUp{e}|, |\MathUp{i}| or |\MathUp{j}|,
+% so they can be used anywhere
+% in the document or preamble and has an inverse switches with |\MathIt|.
%
% \medskip
% \DescribeMacro{\pinumber[\meta{option}]}
-% The mathematical constant $\otherpi$ should also be typeset in upright shape
+% The constant $\pi$ should also be typeset in upright shape
% (see~\cite{TYPMA}, \cite{NIST}, \cite{ICTNS}), which is different from italicized $\itpi$.
% However, this recommendation is even less commonly followed compared to the one
% concerning $\e$ and $\i$~\cite{TYPMA}.
-% The |\pinumber| command replaces the italic $\itpi$ with an upright $\otherpi$
-% each time |\pi| is called. It functions in two different ways.
+% Thanks to the |\pinumber| command, the italic $\itpi$ will be replaced
+% with an upright $\pi$
+% each time |\pi| is called. Thus |\pinumber| makes your document compliant with standards
+% without changing the source code of your mathematical formulas.
+% It functions in two different ways.
%
% \begin{enumerate}
-% \item You can install a Greek letters package that provides the glyphs in upright shape.
+% \item You can load a Greek letters package that provides the glyphs in upright shape.
% There are many available.
% Notably, let us mention \textsf{upgreek}~\cite{GREEK},
% \mbox{\textsf{mathdesign}}~\cite{DESIGN},
% \mbox{\textsf{kpfonts}}~\cite{KPF},
-% \mbox{\textsf{fourier}}~\cite{FOUR} (used in the present document),
-% \mbox{\textsf{libertinust1math}},
-% \mbox{\textsf{pxgreeks}} (using \textsf{pxfonts}), \mbox{\textsf{txgreeks}}
-% (using \textsf{txfonts})
+% \mbox{\textsf{fourier}}~\cite{FOUR} (used in the present document), but also
+% \mbox{\textsf{pxgreeks}} (using \textsf{pxfonts}~\cite{PX}), \mbox{\textsf{txgreeks}}
+% (using \textsf{txfonts}~\cite{TX})
% \footnote{When using \textsf{pxgreeks} or \textsf{txgreeks},
% they should be loaded \emph{after} \textsf{mismath} to avoid an error
% due to conflict with the existing macros \texttt{\string\iint}, \texttt{\string\iiint},
% \texttt{\string\iiiint}, \texttt{\string\idotsint} in \textsf{amsmath}.},
-% \textsf{libgreek}, etc.
+% \mbox{\textsf{libertinust1math}}~\cite{LIB}, \textsf{libgreek}, etc.
% A special mention goes to \textsf{lgrmath} of Jean-François Burnol~\cite{LGR}
-% which allows the use of any Greek LGR-encoded font in math mode.
+% which allows the use of any Greek LGR-encoded font in math mode,
+% an idea taken up in \textsf{mathgreeks}~\cite{MGREEK}.
+% Also note \textsf{newtxmath}~\cite{NTX} which has several font options.
% These packages provide commands like |\uppi| (\textsf{upgreek}),
% |\piup| (\textsf{mathdesign}, \textsf{kpfonts}, \textsf{lgrmath}),
% |\otherpi| (\textsf{fourier}), etc.
@@ -425,101 +459,122 @@
% letters in upright shape by default, but this in not our goal here.}
%
% In this case, |\pinumber| must be called in the preamble
-% with the name of the command (without the backslash) giving access to the upright pi
-% (piup, uppi, otherpi \ldots) as the argument for the optional parameter.
+% with an optional argument being the name of the command, \emph{without the backslash},
+% giving access to the upright pi:
+% piup, uppi, otherpi\ldots
% However, installing such a Greek letters package will modify
% all the other Greek letter glyphs.
% ^^A even if, except for pi, they will be in italics.
%
-% By using the preliminary code |\MathNumbers{ei}\pinumber[otherpi]|
-% (assuming the \textsf{fourier} package is loaded)
+% By calling in the preamble |\MathNumbers{ei}\pinumber[otherpi]|
+% (assuming the \textsf{fourier} package is loaded),
% you can achieve the following result:
% \begin{center}
-% |$e^{i\pi} = -1$| \quad yields \quad $\e^{\i\otherpi}=-1$.
+% |$e^{i\pi} = -1$| \quad yields \quad $\e^{\i\pi}=-1$.
% \end{center}
%
% \item Without installing a package, it is possible to change only the glyph of pi
-% without altering the original glyphs for the other Greek letters,
-% which are typically in italics.
-% ^^A The original pi will still be accessible with |\itpi|.
+% without altering the other Greek letters,
+% which are typically in italics.
%
% In this case, |\pinumber| must be called in the preamble with an optional argument
% of the \texttt{key=value} type. The key name corresponds to a package
% providing the same glyph.
-% When a key is given without a value, |\pinumber| will choose a default value
-% specified below (depending on the key) .
% The following table summarizes the available options.
+% When a key is given without a value, |\pinumber| will choose a default value
+% specified in the following text (depending on the key).
%
% \begin{center}
% \setlength{\extrarowheight}{1pt}
% \begin{tabular}{>{\ttfamily}l>{$}c<{$}}
% \hline
-% \normalfont Option & \mbox{Result} \\
+% {\normalfont Option} lgrmath=... & \mbox{Result} \\
% \hline
-% lgrmath=lmr & \pilmr \\
-% lgrmath=Alegreya-LF & \piAlegreya \\
-% lgrmath=Cochineal-LF & \piCochineal \\
-% lgrmath=\ldots & \ldots\\
-% upgreek=Euler & \pi \\
-% upgreek=Symbol & \piSymbol \\
+% Alegreya-LF & \piAlegreya \\
+% Cochineal-LF & \piCochineal \\
+% LibertinusSerif-LF & \piLibSerif \\
+% LibertinusSans-LF & \piLibSans \\
+% lmr & \pilmr \\
+% lmss & \pilmss \\
+% gentium & \pigentium\\
+% lato-LF & \pilato \\
% \hline
% \end{tabular}
-% \qquad
+% \qquad
% \begin{tabular}{>{\ttfamily}l>{$}c<{$}}
% \hline
-% \normalfont Option & \mbox{Result} \\
+% \normalfont Other options & \mbox{Result} \\
% \hline
+% fontspec=\ldots & \ldots \\
+% upgreek=Euler & \piEuler \\
+% upgreek=Symbol & \piSymbol \\
% mathdesign & \piCharter \\
% kpfonts & \pikp \\
-% fourier & \otherpi\\
+% fourier & \pi\\
% pxfonts & \pipx \\
% txfonts & \pitx \\
-% & \\
% \hline
% \end{tabular}
% \end{center}
%
+% \medskip
% \begin{itemize}
+%
% \item With the \texttt{lgrmath} key, we actually have numerous possibilities
-% for values (any Greek letters math fonts in LGR encoding).
+% for values (any Greek letters math font in LGR encoding).
% The documentation of the \textsf{lgrmath}
% package explains how to check an visualize all available fonts on your distribution.
-% We have only presented three of them. The default value is \texttt{lmr}.
+% We have only presented seven of them. The default value is \texttt{lmr}.
+% Other interesting values are \texttt{NotoSerif-LF}, \texttt{Clara-TLF},
+% \texttt{droidserif}, \texttt{fct}, \texttt{llcmss}.
%
+% \item When |\pinumber| is called without an argument in the preamble,
+% it corresponds to the option \texttt{lgrmath=lmr}.
+% This $\pilmr$ character is well-suited
+% for use with the Latin Modern font family
+% \footnote{It will look the same as the one provided by \texttt{lgrmath=cmr} or by
+% Günter Milde's \textsf{textalpha} package~\cite{ALPHA}.}.
+%
+% \item With the \texttt{fontspec} key, there are also many possible values,
+% corresponding to the TrueType or OpenType fonts installed on your system
+% (works with \LuaLaTeX\ or \XeLaTeX).
+% See the \textsf{mathgreeks} documentation for examples.
+
% \item With the \texttt{upgreek} key, the default value is \texttt{Symbol}.
% There is a third possible value, \texttt{Symbolsmallscale},
% which provides the same character as \texttt{Symbol} but reduced in size by 10\,\%.
%
% \item With the \texttt{mathdesign} key, there are actually 3 possible values:
-% \texttt{Utopia}, \texttt{Garamond}, or \texttt{Charter} (default value),
-% but the glyphs obtained for pi look very similar.
+% \texttt{Utopia}, \texttt{Garamond} or \texttt{Charter} (the default value),
+% but the glyphs obtained for pi look quite similar.
%
% \item With the \texttt{kpfonts} key, we have two possible values:
% \texttt{normal} (default) and \texttt{light}. The option \texttt{kpfonts=light}
% provides a slightly less bold character.
%
-% \item The keys \texttt{fourier} (based on Utopia), \texttt{pxfonts} (based on Palatino)
-% and \texttt{txfonts} (based on Times)
+% \item The last keys, \texttt{fourier} (based on Utopia), \texttt{pxfonts}
+% (based on Palatino),
+% \texttt{txfonts} (based on Times)
% are booleans whose default value is \texttt{true} (when called).
+% The \texttt{txfonts} option yields the same glyph than \texttt{lgrmath=txr}.
%
-% \item When |\pinumber| is called without an argument in the preamble,
-% it corresponds to the option \texttt{lgrmath=lmr}.
-% This $\pilmr$ character is particularly well-suited
-% for use with the default Computer Modern or Latin Modern font family
-% \footnote{It will look the same as the one provided by
-% Günter Milde's \textsf{textalpha} package~\cite{ALPHA}.}.
% \end{itemize}
% \end{enumerate}
%
% The \textsf{unicode-math} package~\cite{UNIC} provides |\uppi|, and you can use
-% |\pinumber[uppi]| to produce automatic upright pi, but, with \textsf{unicode-math},
-% it can be quite complicated
-% to make some other Greek letters packages work.
-% In any case, such a package must be loaded after \textsf{unicode-math} and in
-% |\AtBeginDocument|.
-% However, \textsf{unicode-math} supports |\pinumber| very well with the
-% previous \texttt{key=value} options, by calling |\pinumber[option]| after
-% \mbox{\textsf{unicode-math}}.
+% |\pinumber[uppi]| to produce automatic upright pi in the selected math font,
+% but |\pinumber[uppi]| must be called \emph{after} \mbox{\textsf{unicode-math}},
+% and a math font must have been explicitly chosen with |\setmathfont|.
+% You can also use the \texttt{fontspec} key option to obtain pi in any font
+% that is supported by \mbox{\textsf{unicode-math}} \eg
+% |\pinumber[fontspec=STIX Two Math]|.
+%
+% For other fonts, it can be quite complicated to make Greek letters packages
+% work with \textsf{unicode-math}. In any case, such a package must be loaded
+% after \textsf{unicode-math} and in |\AtBeginDocument|.
+% However, |\pinumber| supports \textsf{unicode-math} very well with any previous
+% \texttt{key=value} option, by calling |\pinumber|\oarg{option}
+% after \textsf{unicode-math}.
%
% \medskip
% \DescribeMacro{\itpi}
@@ -555,7 +610,7 @@
% If you wish to use a different type of arrow, you must call \textsf{esvect}
% with the appropriate option \emph{before} loading \textsf{mismath}.
% For example, using |\usepackage[d]{esvect}|
-% will provide the arrows produced by default in~\cite{VECT}.
+% will provide the same arrows that are used by default in~\cite{VECT}.
%
% \medskip
% \DescribeMacro{\boldvect}
@@ -567,11 +622,11 @@
% \begin{minipage}{8cm}
% \begin{verbatim}
%\[ \boldvect \vect{v}
-% =\lambda\vect{e}_x+\mu\vect{e}_y. \]
+% =\lambda\vect{e}_x+\mu\vect{e}_y \]
% \end{verbatim}
% \end{minipage}
% \begin{minipage}{4cm}\vspace{-2ex}
-% $\boldvect \vect{v}=\lambda\vect{e}_x +\mu\vect{e}_y$.
+% $\boldvect \vect{v}=\lambda\vect{e}_x +\mu\vect{e}_y$
% \end{minipage}
%
% \DescribeMacro{\boldvectcommand}
@@ -586,9 +641,12 @@
% \textsf{unicode-math} provides the |\symbfit| command.
% To use an alternative command instead of |\boldsymbol| in \textsf{mismath},
% redefine |\boldvectcommand|,
-% for instance after loading \textsf{fixmath}:
-% \begin{center} |\renewcommand\boldvectcommand{\mathbold}|. \end{center}
+% for instance after loading \textsf{fixmath}:
+%
+% \medskip
+% \centeredline{|\renewcommand\boldvectcommand{\mathbold}|}
%
+% \medskip
% According to ISO rules, symbols for matrices are also in bold italic.
% Therefore you can use the same |\boldvect| command or create another alias.
%
@@ -604,28 +662,31 @@
% \DescribeMacro{\hvect}
% When vectors with arrows are typeset side by side,
% the arrows can be set up slightly higher using |\hvect|
-% (which places a vertical phantom box containing ``$t$'')
+% (which places a vertical phantom box containing `$A$')
% to avoid inelegant effects. For example, writing
% \begin{itemize}
-% \item $\vect{AB}=\hvect{u}+ \vect{AC}$, obtained with |\hvect{u}|,
-% is better than $\vect{AB}=\vect{u}+ \vect{AC}$;
+% \item $\vect{AB}=\hvect{u} + \vect{AC}$, obtained with |\hvect{u}|,
+% looks better than $\vect{AB}=\vect{u}+ \vect{AC}$;
% \item $\hvect{a} \cdot \vect{b}=0$, obtained with |\hvect{a}|,
-% is better thant $\vect{a} \cdot \vect{b}=0$.
+% looks better than $\vect{a} \cdot \vect{b}=0$.
% \end{itemize}
-% This adjustment ensures a more visually pleasing appearance when vectors
-% with arrows are combined in an equation.
+% This adjustment ensures a nicer appearance when vectors
+% with arrows are combined in an equation
+% \footnote{For a fine tuning you can also use the \texttt{\string\vstrut} or
+% \texttt{\string\cstrut} macros from the \textsf{spacingtricks} package~\cite{SPA}.}.
% The |\boldvect| and |\arrowvect| switches have the same effect on |\hvect|
% as they do on |\vect|.
%
% \DescribeMacro{\hvec}
% In a similar way, |\hvec| raises the little arrow produced by
-% the \LaTeX\ command |\vec|, to the height of the letter ``$t$''
-% (but |\boldvect| have no effect here):
+% the \LaTeX\ command |\vec|, to the height of the letter `$A$'
+% (but |\boldvect| have no effect on |\vec| nor |\hvec|):
% \begin{itemize}
% \item $\mathcal{P}=\vec{f}\cdot\hvec{v}$, obtained with |\hvec{v}|,
-% is better than $\mathcal{P}=\vec{f}\cdot\vec{v}$.
+% seems better than $\mathcal{P}=\vec{f}\cdot\vec{v}$;
+% ^^A (the result of |\vec| with \textsf{fourier} may be bad with high letters, \eg $\vec{h}$)
% \item $\vec{f} =m \hvec{a}$, obtained with |\hvec{a}|,
-% is better than $\vec{f} =m \vec{a}$.
+% seems better than $\vec{f} =m \vec{a}$.
% \end{itemize}
%
% \DescribeMacro{\norm}
@@ -639,11 +700,11 @@
% instead of $\Vert\vec{h}\Vert$ or $\left\Vert \vec{h} \right\Vert$.
% Let's notice that the height of the bars don't adjust to content,
% but however to context: main text, subscripts or exponents,
-% \eg $\e^{\norm{\vec{h}}}$.
+% \eg $X^{\norm{\vec{h}}}$.
% This macro is useful only for arguments of special height, such as $\vec{h}$ or $\vect{AB}$
% and may give bad results in other situations.
%
-% \pagebreak
+% \medskip
% \DescribeMacro{\mathbfsfit}\DescribeMacro{\tensor}
% For tensors symbols, ISO rules recommend using
% sans serif bold italic, but there
@@ -651,7 +712,7 @@
% However, the \mbox{\textsf{mismath}} package defines this alphabet
% (assuming the font encoding and package you use permits it)
% and provides the macro |\mathbfsfit| or its alias |\tensor|.
-% By using |\tensor{T}| you can produce $\tensor{T}$.
+% By writing |\tensor{S}\otimes\tensor{T}|, you get $\tensor{S}\otimes\tensor{T}$.
%
% \subsection{Standard operator names}\label{operators}
%
@@ -681,12 +742,12 @@
% \[m\frac{\di^2x}{\di t^2}+h\frac{\di x}{\di t}+kx=0\]
% \end{minipage}
%
-% This command can also represent \emph{distance} (hence its name):
-% \[\lambda\di(A, \mathcal{F})+\mu\di(B, \mathcal{H}).\]
+% The command |\di| can also represent the \emph{distance}, hence its name:
+% \[\di(u, \cmmathcal{H}) = \frac{\abs{\langle u,v\rangle}}{\lVert v \rVert}.\]
%
% \DescribeMacro{\P} \DescribeMacro{\E}
% To refer to probability
-% \footnote{\LaTeX\ provides also \texttt{\string Pr} which gives $\Pr$.}
+% \footnote{\LaTeX\ provides also \texttt{\string \Pr} which gives $\Pr$.}
% and expectation the proper use is to typeset the capital letters $\P$, $\E$
% in roman just like any standard function identifier.
% This can be achieved with |\P| and |\E| commands.
@@ -698,43 +759,45 @@
%
% \medskip
% \DescribeMacro{\V}
-% Variance is generally denoted by $\var$ or $\Var$ (see table below),
+% Variance is generally denoted by $\var$ or $\Var$ (see the following table),
% but some authors prefer to use $\V$, which can be produced using |\V|.
%
-% \medskip
+% \pagebreak
% \DescribeMacro{\MathProba}\DescribeMacro{\MathNormal}
% As for $\e$, $\i$ or $\j$, you can use |\MathUp{P}|, |\MathUp{E}|
% or |\MathUp{V}| to avoid typing many |\P|, |\E| or |\V|.
% However you can also achieve this in a single command with |\MathProba|,
-% for example |\MathProba{P,E}|. We get the inverse toggle with
+% for example |\MathProba{PE}|. We get the inverse toggle with
% |\MathIt| for any individual letter or |\MathNormal| for a list.
%
% \medskip
% \DescribeMacro{\probastyle}
-% Some authors use ``blackboard bold'' font to represent probability, expectation
+% Some authors use ``outline'' font shape to represent probability, expectation
% and variance: $\mathbb{P}, \mathbb{E}, \mathbb{V}$.
% The |\probastyle| macro sets the appearance of |\P|, |\E| and |\V|.
% For instance |\renewcommand\probastyle{\mathbb}|
% \footnote{The effect of this redefinition is global or local to the container environment
% in which it is used.}
-% brings the previous ``double-struck'' letters.
-% The |\mathbb| command comes from \textsf{amsfonts} package
-% (loaded by \textsf{amssymb} but also available standalone)
-% which needs to be called in the preamble.
+% brings the double-struck letters.
+% The |\mathbb| command is provided by \textsf{amsfonts} package
+% (which needs to be called in the preamble), but also by other complete math font
+% packages such as \textsf{mathdesign}, \textsf{kpfonts}, \textsf{fourier},
+% \textsf{unicode-math}\ldots
+% \hypertarget{nofunction}{}
%
% \medskip
% The following standard operator names are defined in \textsf{mismath}:
% \begin{center}
% \begin{tabular}{rlrlrl}
-% |\adj| & $\adj$ \qquad\mbox{} & |\erf| & $\erf$ \qquad\mbox{} & |\Re| & $\Re$ \\
-% |\Aut| & $\Aut$ & |\grad| & $\grad$ & |\rot| & $\rot$ \\
-% |\codim| & $\codim$ & |\id| & $\id$ & |\sgn| & $\sgn$ \\
-% |\Conv| & $\Conv$ & |\Id| & $\Id$ & |\sinc| & $\sinc$ \\
-% |\cov| & $\cov$ & |\im| & $\im$ & |\spa| & $\spa$ \\
-% |\Cov| & $\Cov$ & |\Im| & $\Im$ & |\tr| & $\tr$ \\
-% |\curl| & $\curl$ & |\lb| & $\lb$ & |\var| & $\var$ \\
-% |\divg| & $\divg$ & |\lcm| & $ \lcm$ & |\Var| & $\Var$ \\
-% |\End| & $\End$ & |\rank| & $\rank$ & |\Zu| & $\Zu$
+% |\adj| & $\adj$ \qquad\mbox{} & |\End| & $\End$ \qquad\mbox{} & |\Res| & $\Res$ \\
+% |\Aut| & $\Aut$ & |\erf| & $\erf$ & |\rot| & $\rot$ \\
+% |\codim| & $\codim$ & |\grad| & $\grad$ & |\sgn| & $\sgn$ \\
+% |\coker| & $\coker$ & |\id| & $\id$ & |\sinc| & $\sinc$ \\
+% |\Conv| & $\Conv$ & |\Id| & $\Id$ & |\spa| & $\spa$ \\
+% |\Cov| & $\Cov$ & |\im| & $\im$ & |\tr| & $\tr$ \\
+% |\cov| & $\cov$ & |\lb| & $\lb$ & |\var| & $\var$ \\
+% |\curl| & $\curl$ & |\lcm| & $ \lcm$ & |\Var| & $\Var$ \\
+% |\divg| & $\divg$ & |\rank| & $\rank$ & |\Zu| & $\Zu$
% \end{tabular}
% \end{center}
%
@@ -745,26 +808,15 @@
% For the variance, the covariance and the identity function,
% two notations are proposed, with or without a first capital letter,
% because both are very common.
-% On the other hand, `$\im$' stands for the image of a linear transformation
-% (like `$\ker$' for the kernel)
-% whereas `$\Im$' is the imaginary part of a complex number.
% Please note that |\div| already exists ($\div$) and |\span| is a \TeX\ primitive;
% they haven't been redefined. Therefore the provided macros are called |\divg| (divergence)
% and |\spa| (span of a set of vectors).
% Furthermore |\Z| is used to denote the set of integers (see \ref{aliases}),
-% which is why we used |\Zu|,
+% which is why we propose |\Zu|,
% to designate the center of a group: $\Zu(G)$ (from German Zentrum).
%
-%\medskip
-% \DescribeMacro{\oldRe} \DescribeMacro{\oldIm}
-% The |\Re| and |\Im| macros already existed to refer to real and imaginary part
-% of a complex number, producing outdated symbols $\oldRe$ and $\oldIm$.
-% However, they have been redefined according to current usage,
-% as mentioned in the above table. Nevertheless,
-% it is still possible to obtain the old symbols with |\oldRe| and |\oldIm|.
-%
% \medskip
-% The package \textsf{mismath} also provides some (inverse) circular or hyperbolic functions,
+% The \textsf{mismath} package also provides some (inverse) circular or hyperbolic functions,
% that are missing in \LaTeX:
% \begin{center}
% \begin{tabular}{rlrlrl}
@@ -773,21 +825,44 @@
% |\sech| & $\sech$ & |\arcosh| & $\arcosh$ & |\arsech| & $\arsech$ \\
% |\csch| & $\csch$ & |\artanh| & $\artanh$ & |\arcsch| & $\arcsch$
% \end{tabular}
-% \end{center}
+% \end{center}
+%
+% \DescribeMacro{[nofunction]}
+% Some may find that the definition of all these operators and functions is not useful
+% for their needs. So, the above definitions (on this page)
+% can be disabled with the \texttt{nofunction} option.
+% \hypertarget{classicReIm}{}
+%
+% \medskip
+% \DescribeMacro{\Re} \DescribeMacro{\Im}
+% The |\Re| and |\Im| macros refer to real and imaginary part
+% of a complex number. They have been redefined to produce $\mathup{Re}$ and $\mathup{Im}$,
+% in place of outdated symbols $\oldRe$ and $\oldIm$.
+% Nevertheless, it is still possible to obtain the old symbols
+% with |\oldRe| and |\oldIm|.
+%
+% \medskip
+% \DescribeMacro{[otherReIm]}
+% An alternative notation $\Re$, $\Im$ is provided by invoking the \texttt{otherReIm}
+% package option,
+% \DescribeMacro{[classicReIm]}
+% whereas the \texttt{classicReIm} option deactivates these redefinitions.
%
% \DescribeMacro{\bigO} \DescribeMacro{\bigo} \DescribeMacro{\lito}
-% Asymptotic comparison operators (in Landau notation) are obtained with
-% |\bigO| or |\bigo| and |\lito| commands:
-% \[ n^2+\bigO(n\log n) \txt{or} n^2+\bigo(n\log n)\txt{and} \e^x=1+x+\lito(x^2).\]
+% Asymptotic comparison operators (in Bachmann-Landau notation) are obtained with
+% |\bigO| or |\bigo| and |\lito| commands. The first one uses
+% the |\cmmathcal| alphabet and the last two compose the letters `O' and `o' in
+% roman, as for any operator:
+% \[ n^2+\bigO(n\log n) \txt{or} n^2+\bigo(n\log n)\txt{and}
+% \e^x=1+x+\frac{x^2}{2}+\lito\bigl(x^2\bigr).\]
%
% \subsection{A few useful aliases} \label{aliases}
%
-% \onlymathC
% In the tradition of Bourbaki and D.~Knuth, proper use requires
% that classic sets of numbers are typeset in bold roman:
% $\R, \C, \Z, \N, \Q$,
-% whereas ``double-barred'' or ``openwork'' letters
-% ($\mathbb{R}, \mathbb{C}, \mathbb{Z}, \ldots$)
+% whereas double-struck letters
+% ($\mathbb{R}, \mathbb{C}, \mathbb{Z}, \mathbb{N}, \mathbb{Q}$)
% are reserved for writing at the blackboard~\cite{LSHORT}.
% Similarly, to designate a field we use $\F$ or $\K$ (Körper in German).
% We obtain these symbols with the following macros:
@@ -795,23 +870,22 @@
% |\R|, |\C|, |\Z|, |\N|, |\Q|, |\F|, |\K|.
% \end{center}
%
-% \medskip
+% \smallskip
% \DescribeMacro{\mathset}
% The |\mathset| command enables you to change the behavior
% of all these macros in a global way.
-% By default, |\mathset| is an alias for |\mathbf|, but if you prefer openwork letters,
-% you can simply place |\renewcommand\mathset{\mathbb}| where you want,
-% for instance in the preamble after loading the \textsf{amsfonts} package
-% (which provides the ``blackboard bold'' typeface,
-% also loaded by \textsf{amssymb}).
+% By default, |\mathset| is an alias for |\mathbf|, but if you prefer outline letters,
+% you can simply use |\renewcommand\mathset{\mathbb}| (with local effect when
+% inside an environment or a pair of curly braces).
%
% \smallskip
% \DescribeMacro{\onlymathC}
% The macro |\onlymathC| is designed for cases when |\C| is already defined,
-% but only in text mode (usually when loading the Russian language with \textsf{babel}
-% or \textsf{polyglossia}). The macro preserves the original definition for text mode
+% but only in text mode (usually with the Russian language). Then you get the message:
+% ``\texttt{Command \string\C\space invalid in math mode}''.
+% This macro preserves the original definition for text mode
% and allows you to use |\C| for the complex number set in math mode.
-% For this purpose, simply call |\onlymathC| once in the preamble or anywhere in the document.
+% Simply call |\onlymathC| once in the preamble or anywhere in the document.
%
% \medskip
% \DescribeMacro{\ds}
@@ -844,11 +918,11 @@
% \DescribeMacro{\lbar} \DescribeMacro{\hlbar}
% Large bars over expressions are obtained with |\overline|
% or its alias |\lbar|, to get for instance $\lbar{z_1z_2}$.
-% Similar to vectors, you can raise the bar (from the height of ``$h$'') with
+% Similar to vectors, you can raise the bar (from the height of `$A$') with
% the |\hlbar| command, to correct uneven bars heights.
% \begin{center}
% $\lbar{z+z'}=\hlbar{z}+\lbar{z'}$, obtained with |\hlbar{z}|,
-% is better than $\lbar{z+z'}=\lbar{z}+\lbar{z'}$.
+% looks better than $\lbar{z+z'}=\lbar{z}+\lbar{z'}$.
% \end{center}
%
% \DescribeMacro{\eqdef} \DescribeMacro{\eqdef*}
@@ -918,36 +992,36 @@
% (ordinary symbol) and leaving less space around than |\times|:
% \begin{center}
% $\lambda+\alpha \mul b-\beta \mul c$, obtained with |\mul|,
-% is better than $\lambda+\alpha \times b-\beta \times c$.
+% looks better than $\lambda+\alpha \times b-\beta \times c$.
% \end{center}
%
% When using |\mul| before a function name or around a |\left...\right| structure,
% the space may be too large on one side of |\mul|.
-% To ensure the same amount of space on both sides of |\mul|,
+% To ensure the same amount of space on both sides,
% you can use thin negative spaces |\!|
% or enclose the function or structure with braces:
% \begin{center}
-% $x\mul{\sin x}$, obtained with |x\mul{\sin x}|, is slightly better than $x\mul\sin x$.\\[1ex]
+% $x\mul{\sin x}$, obtained with |x\mul{\sin x}|, is slightly better than $x\mul\sin x$;\\[1ex]
% |$\sin\!{\left( \frac{\pi}{3} \right)} \mul 2$|\\
-% gives $\sin\!{\left(\frac{\pi}{3}\right)}\mul 2$, which is better than
+% yields $\sin\!{\left(\frac{\pi}{3}\right)}\mul 2$, which looks better than
% $\sin\left(\frac{\pi}{3}\right)\mul 2$.
% \end{center}
-% The thin negative space after the function name is not relative to |\mul|,
-% but is due to the fact that spaces around a |\left...\right| structure
-% are bigger than those produced by single parenthesis |(...)|.
+% The negative thin space after the function name is not related to |\mul|,
+% but to the ``excessive'' spaces around the |\left... \right| structure.
%
% \medskip
% \DescribeMacro{\pow}
% In the same way, when typesetting an exponent after a closing \emph{big}
% parenthesis produced by |\right)|,
% the exponent appears to be a little to far from the parenthesis.
-% To address this issue, the |\pow|\marg{expr}\marg{pow} command is provided, which sets
-% \meta{expr} between parentheses and adjusts the positioning of the exponent \meta{pow}
-% slightly closer to the right parenthesis
-% \footnote{This macro gives bad results with normal-sized parenthesis.}.
+% To address this issue, the |\pow|\marg{expr}\marg{pow} command is provided
+% \footnote{This macro gives bad results with \emph{normal-sized} parenthesis.},
+% which sets the positioning of the exponent \meta{pow}
+% slightly closer to the right parenthesis.
% Compare:
-% \[ \e^a \sim\pow{1+\frac{a}{n}}{n} \txt{which may be better than}
-% \e^a \sim\left(1+\frac{a}{n}\right)^{n}.\]
+% \[ \e^a =\lim_{n \to +\infty}\pow{1+\frac{a}{n}}{n}
+% \txt{obtained with \texttt{\string \pow}, rather than}
+% \e^a =\lim_{n \to +\infty}\left(1+\frac{a}{n}\right)^{n}.\]
%
% \DescribeMacro{\abs}
% The correct typesetting of absolute value (or modular for a complex number) is achieved
@@ -964,16 +1038,18 @@
% \DescribeMacro{\lfrac}
% The |\lfrac| macro behaves like |\frac|
% but with thicker spaces around the arguments,
-% making the corresponding fraction bar slightly longer:\\[2ex]
-% \begin{minipage}{8cm}
-% \begin{verbatim}
-%\[ \lbar{Z} =
-% \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \]
-% \end{verbatim}
-% \end{minipage}
-% \begin{minipage}{4cm}\vspace{-3ex}
-% \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \]
-% \end{minipage}
+% making the corresponding fraction bar slightly longer. See the following examples:
+% \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \qquad
+% u(x)= \lfrac{\frac{1-2x}{5}}{x^2+1} \qquad
+% y'+xy=\lfrac[4mu]{1}{\sqrt{x}}
+% \]
+%
+% This macro has an optional parameter |\lfrac|\oarg{space}\marg{num}\marg{denom}
+% to adjust the length of the fraction bar. The optional \meta{space} argument must be given
+% in \emph{math units} (\texttt{mu});
+% the default value is \texttt{7mu} (equivalent to |\:\,|),
+% \texttt{4mu} in the last example.
+% \hypertarget{ibrackets}{}
%
% \medskip
% \DescribeMacro{[ibrackets]}
@@ -984,17 +1060,14 @@
% To address this issue, we have redefined the brackets in the \textsf{ibrackets}
% package~\cite{BRACKET}.
% This one can be optionally
-% \footnote{This functionality is optional because there is a conflict
-% when using another command for open intervals with square brackets defined by
-% \texttt{\string \DeclarePairedDelimiter} from \textsf{mathtools}~\cite{TOOL}.}
% loaded by \textsf{mismath} using the \texttt{ibrackets} package option.
% Thus |$x\in ]-\pi,0[ \cup ]2\pi,3\pi[$|
% \begin{align*}
% \mbox{yields \ }
-% x\in ]-\otherpi, 0[ \cup ]2\otherpi, 3\otherpi[ & \mbox{\ with \textsf{ibrackets}}, \\
+% x\in ]-\pi, 0[ \cup ]2\pi, 3\pi[ & \mbox{\ with \textsf{ibrackets}}, \\
% \mbox{instead of \ }
-% x\in \mathclose{]}-\otherpi, 0 \mathopen{[} \cup
-% \mathclose{]} 2\otherpi, 3\otherpi \mathopen{[}
+% x\in \mathclose{]}-\pi, 0 \mathopen{[} \cup
+% \mathclose{]} 2\pi, 3\pi \mathopen{[}
% &\mbox{\ without \textsf{ibrackets}}.
% \end{align*}
%
@@ -1017,10 +1090,15 @@
% For instance |$[a,b] +[c,d]$| yields $[a,b] +[c,d]$
% but |$[a,b]+ [c,d]$| yields $[a, b]+ [c, d]$.
%
-% Besides, there are other approaches, for example the |\interval| macro
+% \medskip
+% Note that there are other ways to proceed,
+% for example with |\interval|,
% from the \textsf{interval} package~\cite{INT},
-% or |\DeclarePairedDelimiters| from the \textsf{mathtools} package~\cite{TOOL}
-% (but this command is incompatible with \textsf{ibrackets}).
+% or with |\DeclarePairedDelimiter|
+% \footnote{You cannot use \texttt{\string\DeclarePairedDelimiter} with square brackets
+% when \textsf{ibrackets} is loaded.}
+% from \mbox{\textsf{mathtools}}~\cite{TOOL}.
+% \hypertarget{decimalcomma}{}
%
% \medskip
%\DescribeMacro{[decimalcomma]}
@@ -1040,11 +1118,10 @@
% in particular when running through Lua\LaTeX, using \textsf{unicode-math}
% and calling |\setmathfont|.
% Therefore we propose the \textsf{decimalcomma} package~\cite{DEC},
-% functionally identical to that of \textsf{ncccomma} but with lighter code
-% and without the aforementioned incompatibility.
+% functionally identical to that of \textsf{ncccomma} but
+% without the aforementioned incompatibility.
% It can be loaded by \textsf{mismath} using the \texttt{decimalcomma}
-% package option\footnote{\texttt{ibrackets} and \texttt{decimalcomma} are the only
-% options specific to the \textsf{mismath} package.}.
+% package option.
%
% \subsection{Environments for systems of equations and small matrices}
%
@@ -1159,7 +1236,8 @@
%
% \DescribeEnv{mathcols}
% The \texttt{mathcols} environment allows you to arrange
-% ``long'' calculations in double columns, separated with a central rule,
+% lengthy calculations with short expressions across two columns
+% separated by a vertical line,
% as shown in the following example.
% However, to use this feature, the \textsf{multicol} package must be loaded in the preamble.
% The \texttt{mathcols} environment activates mathematical mode
@@ -1194,96 +1272,85 @@
% \end{verbatim}
%
% \vspace{-4ex}
-% \subsection{Old commands}
-%
-% Here is a summary table of old commands that were used until version 2.2.
-% These commands are still functional and will be maintained for the time being,
-% but a warning message indicates the new alternative.
-% They used to work only in the preamble, affecting the entire document globally,
-% and lacked an inverse switch.
-% These old commands can now be replaced by the more
-% versatile and powerful |\MathUp| macro, which can be used anywhere
-% in the document or preamble and has an inverse switch |\MathIt|.
-%
-% \begin{center}
+% \subsection{Summary of the package options}
+%
+% The following table summarizes the possible package options.
+% You can add to them any option you want to pass to \textsf{amsmath} or \textsf{mathtools}.
+% The hyperlinks (in blue) redirect to the paragraphs in the documentation
+% where these options are described.
+% \begin{center}
% \setlength{\extrarowheight}{1pt}
-% \begin{tabular}{ll}
+% \begin{tabular}{>{\ttfamily}ll}
% \hline
-% Old command & New alternative \\
+% \normalfont Option & \mbox{Effect} \\
% \hline
-% |\enumber| & |\MathUp{e}| \\
-% |\inumber| & |\MathUp{i}| \\
-% |\jnumber| & |\MathUp{j}| \\
-% |\PEupright| & |\MathProba{PE}| \\
+% \hyperlink{nofunction}{nofunction} & don't load some additional function definitions \\
+% \hyperlink{classicReIm}{otherReIm} & typesets |\Re| and |\Im| as $\Re$ and $\Im$ \\
+% \hyperlink{classicReIm}{classicReIm} & preserves |\Re| and |\Im| as $\oldRe$ and $\oldIm$ \\
+% \hyperlink{ibrackets}{ibrackets} & loads the \textsf{ibrackets} package\\
+% \hyperlink{decimalcomma}{decimalcomma} & loads the \textsf{decimalcomma} package \\
% \hline
% \end{tabular}
% \end{center}
-%
-% \medskip
-% You can also utilize |\MathNumbers| instead of |\MathUp| with an argument containing
-% all the constants you want to be typeset in roman (among `e, i, j').
-%
-% Additionally you can include V in the argument of |\MathProba| to refer to variance,
-% (or even use |\MathUp{P}\MathUp{E}|).
-%
-% \medskip
-% In version 2.3 we attempted to replace these old commands
-% with package options based on keyval. However, we found that this method was
-% less efficient and have decided to abandon it.
-% As a result, the command |\mismathset| is now obsolete.
-% Additionally, the command, |\paren|, which was used before version 2.0,
-% is no longer supported.
-%
% \StopEventually{}
% \section{Implementation}
%
% We load certain packages conditionally to avoid 'option clash' errors in cases
% where these packages have been previously loaded with other options.
+% The \textsf{amsmath} package is loaded by \textsf{mathtools}.
% \begin{macrocode}
\newif\ifmm@ibrackets % initialized to false
-\newif\ifmm@decimalcomma
\DeclareOption{ibrackets}{\mm@ibracketstrue}
+\newif\ifmm@decimalcomma
\DeclareOption{decimalcomma}{\mm@decimalcommatrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{amsmath}}
+\newif\ifmm@nofunction
+\DeclareOption{nofunction}{\mm@nofunctiontrue}
+\newif\ifmm@otherReIm
+\DeclareOption{otherReIm}{\mm@otherReImtrue}
+\newif\ifmm@classicReIm
+\DeclareOption{classicReIm}{\mm@classicReImtrue}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{mathtools}}
\ProcessOptions \relax
-\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
+%\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
\@ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
\@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}}
\RequirePackage{ifthen}
\RequirePackage{xparse} % provides \NewDocumentCommand, now in LaTeX3
-\RequirePackage{xspace}
+\RequirePackage{xspace} % for \iif command
\RequirePackage{iftex}
\RequirePackage{etoolbox} % provides \AtEndPreamble
-\RequirePackage{xkeyval}
+\RequirePackage{xkeyval} % for \pinumber options
% \end{macrocode}
%
% The package \textsf{unicode-math} causes some compatibility issues
-% with the options \texttt{ibrackets} or \texttt{decimalcomma}: the respective packages
+% with \textsf{ibrackets} and \textsf{decimalcomma}: theses packages
% must be loaded \emph{after} \textsf{unicode-math},
-% but \textsf{mismath} (like \textsf{amsmath}) must be loaded \emph{before}
+% but \textsf{mismath} (like \textsf{amsmath}) should be loaded \emph{before}
% \textsf{unicode-math}.
-% And to complicate matters, \textsf{unicode-math} defines all its commands
+% And to complicate matters, \mbox{\textsf{unicode-math}} defines all its commands
% by |\AtBeginDocument|.
-% Therefore we used the command |\AtBeginDocument| within
-% |\AtEndPreamble| (from the \textsf{etoolbox} package).
+% Therefore we used the command |\AtEndPreamble|, from the \textsf{etoolbox} package,
+% which makes the job (because both \textsf{ibrackets} and \textsf{decimalcomma}
+% work also in |\AtBeginDocument|).
%
% Moreover the command |\mathbfsfit| (used for tensors) is already defined
% in \textsf{unicode-math} and will not be redefined if \textsf{unicode-math}
% is loaded.
% \begin{macrocode}
+\@ifpackageloaded{unicode-math}{
+ \PackageWarningNoLine{mismath}{The package unicode-math\MessageBreak
+ should be loaded after mismath}
+}{}
\newif\ifmm@unicodemath
\newif\ifmm@multicol
\AtEndPreamble{% necessary to work with unicode-math
- \@ifpackageloaded{multicol}{\mm@multicoltrue}{\mm@multicolfalse}
+ \ifmm@decimalcomma\RequirePackage{decimalcomma}\fi
+ \ifmm@ibrackets\RequirePackage{ibrackets}\fi
+ \@ifpackageloaded{multicol}{\mm@multicoltrue}{}
\@ifpackageloaded{unicode-math}{\mm@unicodemathtrue}{
- \mm@unicodemathfalse
\DeclareMathAlphabet{\mathbfsfit}{\encodingdefault}%
{\sfdefault}{bx}{it}}
- \AtBeginDocument{% necessary to work with unicode-math
- \ifmm@ibrackets\RequirePackage{ibrackets}\fi
- \ifmm@decimalcomma\RequirePackage{decimalcomma}\fi
- }
}
% \end{macrocode}
@@ -1299,7 +1366,6 @@
% \end{macrocode}
%
-% \medskip
% \DescribeMacro{\mm@warning} \DescribeMacro{\mm@macro} \DescribeMacro{\mm@operator}
% The next three internal macros serve as meta commands for
% conditionally defining macros while providing a warning message if the macro already exists.
@@ -1307,8 +1373,8 @@
% \medskip
% \begin{macrocode}
\newcommand\mm@warning[1]{
- \PackageWarningNoLine{mismath}{
- Command \bslash #1 already exist and will not be redefined}
+ \PackageWarningNoLine{mismath}{Command \bslash #1 already exist
+ \MessageBreak and will not be redefined}
}
\newcommand\mm@macro[2]{
\@ifundefined{#1}{
@@ -1336,7 +1402,7 @@
% \begin{macrocode}
\@ifundefined{mathup}{
\providecommand*{\mathup}[1]{{\operatorfont #1}}
- }{\mm@warning{mathup} } % also in kpfonts (and unicode-math)
+ }{\mm@warning{mathup} } % also in kpfonts and unicode-math
\mm@macro{e}{\mathup{e}}
\AtBeginDocument{\let\oldi\i \let\oldj\j
\renewcommand{\i}{\TextOrMath{\oldi}{\mathup{i}}}
@@ -1443,11 +1509,8 @@
% and may not have a straightforward solution.
%
% \medskip
-% In addition to |\MathUp| and |\MathIt|, we also offer the following two commands
-% to set a group of letters in roman typeface: one for for mathematical constants,
-% among `e, i, j', and the other for probability operators, among or `P, E, V'.
-%
-% \medskip
+% In addition to |\MathUp| and |\MathIt|, we also offer the following command
+% to set a group of letters, among `e, i, j', in roman typeface.
% \begin{macrocode}
\newcommand*\MathNumbers[1]{%
\in@{e}{#1} \ifin@ \MathUp{e} \fi
@@ -1455,12 +1518,6 @@
\in@{j}{#1} \ifin@ \MathUp{j} \fi
}
-\newcommand*\MathProba[1]{%
- \in@{P}{#1} \ifin@ \MathUp{P} \fi
- \in@{E}{#1} \ifin@ \MathUp{E} \fi
- \in@{V}{#1} \ifin@ \MathUp{V} \fi
-}
-
% \end{macrocode}
% \DescribeMacro{\apply}
% With the inverse switch |\MathNormal|, you can apply the normal (italic) style
@@ -1471,7 +1528,7 @@
% I discovered this powerfull macro on \texttt{iterate190.rssing.com} by searching for
% ``TeX How to iterate over a comma separated list''.
% The answer was posted under the pseudonym `wipet' on 2021/02/26.
-% Let its author, Petr Ol\v sák, be thanked.
+% Let its author, Petr Ol\v{s}ák, be thanked.
% This macro allows to accomplish tasks that
% usual loop instructions like |\@for| or |\foreach| cannot achieve due to
% errors like ``!~Improper alphabetic constant''.
@@ -1496,44 +1553,24 @@
% They were intended to set some letters in upright shape
% in math mode, but only worked in the preamble.
% This is now managed by the more powerful |\MathUp| command, and
-% the old commands are maintained for compatibility reasons.
+% the old commands are maintained but as alias for |\MathUp|.
% \medskip
%
% \begin{macrocode}
-\newcommand{\enumber}{%
- \PackageWarning{mismath}{Old command \string\enumber\space
- is used. \MessageBreak
- It can be replaced by \string\MathUp{e}}
- \MathUp{e}
-}
-\newcommand{\inumber}{%
- \PackageWarning{mismath}{Old command \string\inumber\space
- is used. \MessageBreak
- It can be replaced by \string\MathUp{i}}
- \MathUp{i}
-}
-\newcommand{\jnumber}{
- \PackageWarning{mismath}{Old command \string\jnumber\space
- is used. \MessageBreak
- It can be replaced by \string\MathUp{j}}
- \MathUp{j}
-}
-\newcommand{\PEupright}{
- \PackageWarning{mismath}{Old command \string\PEupright\space
- is used. \MessageBreak
- It can be replaced by \string\MathProba{PE}}
- \MathUp{P}\MathUp{E}
-}
+\newcommand{\enumber}{\MathUp{e}}
+\newcommand{\inumber}{\MathUp{i}}
+\newcommand{\jnumber}{\MathUp{j}}
% \end{macrocode}
%
-% Obtaining an upright Greek letter $\otherpi$ must be handled differently.
+% Obtaining an upright Greek letter $\pi$ must be handled differently.
% The switches are called |\pinumber| and |\pinormal|
% and can be used anywhere in the document.
%
% But |\pinumber| must be called first in the preamble with an optional argument.
% This argument can be a valid command name that produces an upright pi letter
% (after having loading an appropriate package).
+% Compatibility with \textsf{unicode-math} is a bit tricky!
% When given without an argument in the preamble,
% |\pinumber| uses an LGR font encoding called \texttt{lmr}.
% A new feature (v2.11) is to use |\pinumber| with a keyval option to
@@ -1541,129 +1578,130 @@
% a whole package, thus without altering the other (italic) Greek letters.
% We achieve this with |\DeclareSymbolFont| and |\DeclareMathSymbol|.
% We just have to know the ``name'' of the desired symbol font.
-% Compatibility with \textsf{unicode-math} is a bit tricky!
%
% \medskip
% \begin{macrocode}
\newif\ifmm@lgr
-\define@cmdkey{pinumber}[mm@]{lgrmath}[lmr]{\mm@lgrtrue}
+\define@cmdkey{pifonts}[mm@]{lgrmath}[lmr]{\mm@lgrtrue}
\newif\ifmm@upgreek
-\define@choicekey{pinumber}{upgreek}[\mm@upgreek@option]%
- {Euler,Symbol,Symbolsmallscale}[Symbol]{\mm@upgreektrue}
+\define@choicekey{pifonts}{upgreek}[\mm@upgreek@option]%
+ {Euler,Symbol,Symbolsmallscale}[Symbol]{\mm@upgreektrue}
\newif\ifmm@mathdesign
-\define@choicekey{pinumber}{mathdesign}[\mm@mathdesign@option]%
- {Utopia,Garamond,Charter}[Charter]{\mm@mathdesigntrue}
+\define@choicekey{pifonts}{mathdesign}[\mm@mathdesign@option]%
+ {Utopia,Garamond,Charter}[Charter]{\mm@mathdesigntrue}
\newif\ifmm@kpfonts
-\define@choicekey{pinumber}{kpfonts}[\mm@kp@option]%
- {normal,light}[normal]{\mm@kpfontstrue}
-\define@boolkey{pinumber}[mm@]{fourier}[true]{}
-\define@boolkey{pinumber}[mm@]{pxfonts}[true]{}
-\define@boolkey{pinumber}[mm@]{txfonts}[true]{}
+\define@choicekey{pifonts}{kpfonts}[\mm@kp@option]%
+ {normal,light}[normal]{\mm@kpfontstrue}
+\define@boolkeys{pifonts}[mm@]{fourier,pxfonts,txfonts}[true]
+\newif\ifmm@fontspec
+\define@cmdkey{pifonts}[mm@]{fontspec}[GFS Didot]{\mm@fontspectrue}
-\newcommand*\pinumber[1][]{%
- \ifthenelse{\equal{#1}{}}{% no argument given
- \ifx\@onlypreamble\@notprerr % not in preamble
- \@ifundefined{savedpi}{
- \PackageWarning{mismath}{%
- \string\pinumber\space
- must be used in the preamble first}
- }{\let\pi\savedpi}
- \else % in the preamble
- \AtBeginDocument{\let\itpi\pi}% must be here with unicode-math
- \AtEndPreamble{\AtBeginDocument{
- %\let\itpi\pi
- \let\pi\relax
- \DeclareFontEncoding{LGR}{}{}
- \DeclareSymbolFont{mm@grup}{LGR}{lmr}{m}{n}
- \DeclareMathSymbol{\pi}\mathalpha{mm@grup}{"70}
- \let\savedpi\pi
- }}
- \fi
- }{% command name or keyval options, necessarily in the preamble
- \AtBeginDocument{\let\itpi\pi}% must be here with unicode-math
- \AtEndPreamble{\AtBeginDocument{
- \@ifundefined{#1}{%
- \setkeys{pinumber}{#1}
- \let\pi\relax
- \ifmm@lgr
- \DeclareFontEncoding{LGR}{}{}
- \DeclareSymbolFont{mm@grup}{LGR}{\mm@lgrmath}{m}{n}
- % may work with bold (b) instead of m
- \DeclareMathSymbol{\pi}{\mathalpha}{mm@grup}{112}
-
- \else\ifmm@upgreek
- \ifdefstring{\mm@upgreek@option}{Euler}{
+\newcommand*\pifonts[1]{%
+ \setkeys{pifonts}{#1}
+ \let\pi\relax
+
+ \ifmm@lgr
+ \DeclareFontEncoding{LGR}{}{}
+ \DeclareSymbolFont{mmupgr}{LGR}{\mm@lgrmath}{m}{n}
+ % may work with bold (b) instead of m
+ \DeclareMathSymbol{\pi}{\mathord}{mmupgr}{112}
+
+ \else\ifmm@fontspec
+ \@ifpackageloaded{fontspec}{}{
+ \PackageError{mismath}{\string\pinumber\space with
+ the `fontspec' option\MessageBreak
+ needs the fontspec package,\MessageBreak
+ which must be run with LuaLaTeX or XeLaTeX}{}
+ }
+ \newfontfamily\mismathgreekfont{\mm@fontspec}[NFSSFamily=mgr]
+ \DeclareSymbolFont{mmupgr}{TU}{mgr}{m}{n}
+ \Umathchardef\pi="7 \symmmupgr "03C0
+
+ \else\ifmm@upgreek
+ \ifdefstring{\mm@upgreek@option}{Euler}{
\DeclareFontFamily{U}{eur}{\skewchar\font'177}
\DeclareFontShape{U}{eur}{m}{n}{%
<-6> eurm5 <6-8> eurm7 <8-> eurm10}{}
- \DeclareFontShape{U}{eur}{b}{n}{%
- <-6> eurb5 <6-8> eurb7 <8-> eurb10}{}
- \DeclareSymbolFont{mm@grup}{U}{eur}{m}{n}
- \DeclareMathSymbol{\pi}{\mathord}{mm@grup}{"19} % 25
- }{
- \ifdefstring{\mm@upgreek@option}{Symbol}{
- \DeclareSymbolFont{mm@grup}{U}{psy}{m}{n}
- \DeclareMathSymbol{\pi}{\mathord}{mm@grup}{`p}
- }{
- \ifdefstring{\mm@upgreek@option}{Symbolsmallscale}{
+ \DeclareSymbolFont{mmupgr}{U}{eur}{m}{n}
+ \DeclareMathSymbol{\pi}{\mathord}{mmupgr}{"19}
+ }{
+ \ifdefstring{\mm@upgreek@option}{Symbol}{
+ \DeclareSymbolFont{mmupgr}{U}{psy}{m}{n}
+ \DeclareMathSymbol{\pi}{\mathord}{mmupgr}{`p}
+ }{
+ \ifdefstring{\mm@upgreek@option}{Symbolsmallscale}{
\DeclareFontFamily{U}{fsy}{}
\DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
- \DeclareSymbolFont{mm@grup}{U}{fsy}{m}{n}
- \DeclareMathSymbol{\pi}{\mathord}{mm@grup}{`p}
- }{}}}
+ \DeclareSymbolFont{mmupgr}{U}{fsy}{m}{n}
+ \DeclareMathSymbol{\pi}{\mathord}{mmupgr}{`p}
+ }{}}}
- \else\ifmm@mathdesign
- \ifdefstring{\mm@mathdesign@option}{Utopia}{
- \DeclareSymbolFont{mm@grup}{OML}{mdput}{m}{n}
- }{
- \ifdefstring{\mm@mathdesign@option}{Garamond}{
- \DeclareSymbolFont{mm@grup}{OML}{mdugm}{m}{n}
- }{
- \ifdefstring{\mm@mathdesign@option}{Charter}{
- \DeclareSymbolFont{mm@grup}{OML}{mdbch}{m}{n}
- }{}}}
+ \else\ifmm@mathdesign
+ \ifdefstring{\mm@mathdesign@option}{Utopia}{
+ \DeclareSymbolFont{mmupgr}{OML}{mdput}{m}{n}
+ }{
+ \ifdefstring{\mm@mathdesign@option}{Garamond}{
+ \DeclareSymbolFont{mmupgr}{OML}{mdugm}{m}{n}
+ }{
+ \ifdefstring{\mm@mathdesign@option}{Charter}{
+ \DeclareSymbolFont{mmupgr}{OML}{mdbch}{m}{n}
+ }{}}}
- \else\ifmm@fourier
- \DeclareFontEncoding{FML}{}{}
- \DeclareSymbolFont{mm@grup}{FML}{futm}{m}{it}
-
- \else\ifmm@kpfonts
- \ifdefstring{\mm@kp@option}{normal}{
- \DeclareSymbolFont{mm@grup}{U}{jkpmia}{m}{it}
- }{
- \ifdefstring{\mm@kp@option}{light}{
- \DeclareSymbolFont{mm@grup}{U}{jkplmia}{m}{it}
- }}
-
- \else\ifmm@pxfonts
- \DeclareSymbolFont{mm@grup}{U}{pxmia}{m}{it}
-
- \else\ifmm@txfonts
- \DeclareSymbolFont{mm@grup}{U}{txmia}{m}{it}
- \fi\fi\fi\fi\fi
-
- \DeclareMathSymbol{\pi}{\mathord}{mm@grup}{"19}
- \fi\fi
-
- \let\savedpi\pi
+ \else\ifmm@fourier
+ \DeclareFontEncoding{FML}{}{}
+ \DeclareSymbolFont{mmupgr}{FML}{futm}{m}{it}
+
+ \else\ifmm@kpfonts
+ \ifdefstring{\mm@kp@option}{normal}{
+ \DeclareSymbolFont{mmupgr}{U}{jkpmia}{m}{it}
}{
- \ifmm@unicodemath
- \ifthenelse{\equal{#1}{uppi}}{
- \AtBeginDocument{%
- \let\pi\relax
- \def\pi{\symup{\symbol{"003C0}}}
- \let\itpi\relax
- \def\itpi{\symit{\symbol{"003C0}}} % or "1D70B
- }
- }{\renewcommand{\pi}{\csname #1\endcsname}}
- \else
- \renewcommand{\pi}{\csname #1\endcsname}
- \fi
-
- \let\savedpi\pi
- }
- }}
- }
+ \ifdefstring{\mm@kp@option}{light}{
+ \DeclareSymbolFont{mmupgr}{U}{jkplmia}{m}{it}
+ }{}}
+
+ \else\ifmm@pxfonts
+ \DeclareSymbolFont{mmupgr}{U}{pxmia}{m}{it}
+
+ \else\ifmm@txfonts
+ \DeclareSymbolFont{mmupgr}{U}{txmia}{m}{it}
+
+ \fi\fi\fi\fi\fi
+ \DeclareMathSymbol{\pi}{\mathord}{mmupgr}{"19}
+ \fi\fi\fi
+}
+
+\newcommand*\pinumber[1][]{%
+ \ifthenelse{\equal{#1}{}}{% no argument given
+ \ifx\@onlypreamble\@notprerr % not in preamble
+ \@ifundefined{savedpi}{
+ \PackageWarning{mismath}{%
+ \string\pinumber\space
+ must be used in the preamble first}
+ }{\let\pi\savedpi}
+ \else % in the preamble
+ \AtBeginDocument{
+ \let\itpi\pi
+ \pifonts{lgrmath}
+ \let\savedpi\pi
+ }
+ \fi
+ }{% command name or keyval options, necessarily in the preamble
+ \AtBeginDocument{% must be here with unicode-math
+ \let\itpi\pi
+ \@ifundefined{#1}{%
+ \pifonts{#1}
+ }{
+ \ifmm@unicodemath
+ \ifthenelse{\equal{#1}{uppi}}{% or "1D70B
+ \renewcommand\pi{\symup{\symbol{"03C0}}}
+ \renewcommand\itpi{\symit{\symbol{"03C0}}}
+ }{\renewcommand{\pi}{\csname #1\endcsname}}
+ \else
+ \renewcommand{\pi}{\csname #1\endcsname}
+ \fi
+ }
+ \let\savedpi\pi}
+ }
}
\newcommand{\pinormal}{%
@@ -1683,8 +1721,29 @@
}
% \end{macrocode}
+% When |\pinumber|\oarg{keyval} has been called, you can also get
+% some other mathematical constants using Greek letters,
+% \eg $\othergamma$, the Euler-Mascheroni constant:
+% \begin{verbatim}
+% \let\gamma\relax
+% \DeclareMathSymbol{\gamma}{\mathord}{mmupgr}{"0D}
+% \end{verbatim}
+% \vspace{-2ex}
+% If \textsf{unicode-math} is used, you must put these commands in
+% |\AtBeginDocument|.
+% The hexadecimal code |"0D| depends on the option passed to |\pinumber|
+% in the preamble (see the command |\pifonts| above and search in package docs). \\
+% And to get the golden ratio $\othervarphi$:
+% \begin{verbatim}
+% \let\phi\relax
+% \DeclareMathSymbol{\varphi}{\mathord}{mmupgr}{"27}
+% \end{verbatim}
+% \vspace{-2ex}
+% To preserve the original $\gamma$ or $\varphi$,
+% you can define |\upgamma| or |\upvarphi| instead.
%
-% And now the commands for vectors (and tensors).
+% \medskip
+% And now the commands for vectors and tensors.
% \medskip
% \begin{macrocode}
\newboolean{arrowvect}
@@ -1693,9 +1752,9 @@
\newcommand{\boldvect}{\setboolean{arrowvect}{false}}
\newcommand{\boldvectcommand}{\boldsymbol} % from amsbsy package
\mm@macro{vect}{\ifthenelse{\boolean{arrowvect}}{
- \vv}{\boldvectcommand}} % doesn't work well with \if... \fi
-\newcommand*{\hvect}[1]{\vect{\vphantom{t}#1}}
-\newcommand*{\hvec}[1]{\vec{\vphantom{t}#1}}
+ \vv}{\boldvectcommand}} % doesn't work well with \if... \fi
+\newcommand*{\hvect}[1]{\vect{\vphantom{A}#1}}
+\newcommand*{\hvec}[1]{\vec{\vphantom{A}#1}}
\newcommand*{\@norm}[1]{
\mbox{\raisebox{1.75pt}{\small$\bigl\Vert$}} #1
@@ -1715,9 +1774,7 @@
\newcommand{\tensor}{\mathbfsfit} % isomath uses \mathsfbfit
% \end{macrocode}
-%
-% Classic identifiers are presented below.
-% \medskip
+
% \begin{macrocode}
\mm@macro{di}{\mathop{}\!\mathup{d}}
\newcommand\probastyle{}
@@ -1726,62 +1783,121 @@
\mm@macro{E}{\operatorname{\probastyle{E}}}
\mm@macro{V}{\operatorname{\probastyle{V}}}
-\mm@operator{\adj}{adj}
-\mm@operator{\Aut}{Aut}
-\mm@operator{\codim}{codim}
-\mm@operator{\Conv}{Conv}
-\mm@operator{\cov}{cov}
-\mm@operator{\Cov}{Cov}
-\mm@macro{curl}{\operatorname{\vect{\mathup{curl}}}}
-\mm@operator[divg]{\divg}{div}
-\mm@operator{\End}{End}
+\newcommand*\MathProba[1]{%
+ \in@{P}{#1} \ifin@ \MathUp{P} \fi
+ \in@{E}{#1} \ifin@ \MathUp{E} \fi
+ \in@{V}{#1} \ifin@ \MathUp{V} \fi
+}
-\mm@operator{\erf}{erf}
-\mm@macro{grad}{\operatorname{\vect{\mathup{grad}}}}
-\mm@operator{\id}{id} % mathop or mathord?
-\mm@operator{\Id}{Id}
-\mm@operator{\im}{im}
-\let\oldIm\Im \renewcommand{\Im}{\operatorname{Im}}
-\mm@operator{\lb}{lb}
-\mm@operator{\lcm}{lcm}
+% \end{macrocode}
+% Classic identifiers are presented below. They will be defined only
+% if the option \texttt{nofunction} has not been activated.
+% \medskip
+% \begin{macrocode}
+\ifmm@nofunction\else
+ \mm@operator{\adj}{adj}
+ \mm@operator{\Aut}{Aut}
+ \mm@operator{\codim}{codim}
+ \mm@operator{\coker}{coker}
+ \mm@operator{\Conv}{Conv}
+ \mm@operator{\cov}{cov}
+ \mm@operator{\Cov}{Cov}
+ \mm@macro{curl}{\operatorname{\vect{\mathup{curl}}}}
+ \mm@operator[divg]{\divg}{div}
+
+ \mm@operator{\End}{End}
+ \mm@operator{\erf}{erf}
+ \mm@macro{grad}{\operatorname{\vect{\mathup{grad}}}}
+ \mm@operator{\id}{id} % mathop or mathord?
+ \mm@operator{\Id}{Id}
+ \mm@operator{\im}{im}
+ \mm@operator{\lb}{lb}
+ \mm@operator{\lcm}{lcm}
+ \mm@operator{\rank}{rank}
+
+ \mm@operator{\Res}{Res}
+ \mm@macro{rot}{\operatorname{\vect{\mathup{rot}}}}
+ \mm@operator{\sgn}{sgn}
+ \mm@operator{\sinc}{sinc}
+ \mm@operator[spa]{\spa}{span}
+ \mm@operator{\tr}{tr}
+ \mm@operator{\var}{var}
+ \mm@operator{\Var}{Var}
+ \mm@operator[Zu]{\Zu}{Z}
+
+ \mm@operator{\arccot}{arccot}
+ \mm@operator{\sech}{sech}
+ \mm@operator{\csch}{csch}
+ \mm@operator{\arsinh}{arsinh}
+ \mm@operator{\arcosh}{arcosh}
+ \mm@operator{\artanh}{artanh}
+ \mm@operator{\arcoth}{arcoth}
+ \mm@operator{\arsech}{arsech}
+ \mm@operator{\arcsch}{arcsch}
+\fi
-\mm@operator{\rank}{rank}
-\let\oldRe\Re \renewcommand{\Re}{\operatorname{Re}}
-\mm@macro{rot}{\operatorname{\vect{\mathup{rot}}}}
-\mm@operator{\sgn}{sgn}
-\mm@operator{\sinc}{sinc}
-\mm@operator[spa]{\spa}{span}
-\mm@operator{\tr}{tr}
-\mm@operator{\var}{var}
-\mm@operator{\Var}{Var}
-\mm@operator[Zu]{\Zu}{Z}
+% \end{macrocode}
+%
+% The |\mathcal| alphabet, from the original Computer Modern font family,
+% is used here to produce $\Re$, $\Im$ and $\bigO$.
+% Several font packages redefines this alphabet producing glyphs that may seem less
+% suitable for the commands below.
+% We have therefore retained the original |\cmmathcal| math alphabet,
+% which can be used for other letters.
+% If \textsf{unicode-math} is called, it will redefine the commands |\Re| and |\Im|
+% in |\AtBeginDocument|, hence the use of `|\AtEndPreamble{\AtBeginDocument{|'
+% to ensure that the \textsf{mismath} redefinition occur after the actions
+% of \textsf{unicode-math}.
+%
+% \begin{macrocode}
+\DeclareFontFamily{U}{cmsy}{\skewchar\font48 }
+\DeclareFontShape{U}{cmsy}{m}{n}{% from mathalpha
+ <-5.5> cmsy5%
+ <5.5-6.5> cmsy6%
+ <6.5-7.5> cmsy7%
+ <7.5-8.5> cmsy8%
+ <8.5-9.5> cmsy9%
+ <9.5-> cmsy10}{}
+\DeclareMathAlphabet{\cmmathcal}{U}{cmsy}{m}{n}
-\mm@operator{\arccot}{arccot}
-\mm@operator{\sech}{sech}
-\mm@operator{\csch}{csch}
-\mm@operator{\arsinh}{arsinh}
-\mm@operator{\arcosh}{arcosh}
-\mm@operator{\artanh}{artanh}
-\mm@operator{\arcoth}{arcoth}
-\mm@operator{\arsech}{arsech}
-\mm@operator{\arcsch}{arcsch}
+\AtEndPreamble{\AtBeginDocument{
+ \ifmm@classicReIm\else
+ \let\oldRe\Re
+ \let\oldIm\Im
+ \ifmm@otherReIm
+ \renewcommand{\Re}{\cmmathcal{R}\mathit{e}}
+ \renewcommand{\Im}{\cmmathcal{I}\mathit{m}}
+ \else
+ \renewcommand{\Re}{\operatorname{Re}}
+ \renewcommand{\Im}{\operatorname{Im}}
+ \fi\fi
+}}
-\mm@operator[bigO]{\bigO}{\mathcal{O}}
+\mm@operator[bigO]{\bigO}{\cmmathcal{O}}
\mm@operator[bigo]{\bigo}{O}
\mm@operator[lito]{\lito}{o}
% \end{macrocode}
% And finally we present the remaining macros.
%
-% With Cyrillic languages, the command |\C| may already be defined (only for text mode).
-% Thus, it will not be redefined by \textsf{mismath}. However, one may still want
-% to use our |\C| macro only for math mode without interfering the definition of
-% the text |\C|, therefore the |\onlymathC| macro.
+% With Cyrillic languages, the command |\C| may already be defined but only for text mode.
+% Thus, it will not be redefined by \textsf{mismath}. However, when activating
+% |\onlymathC|, you can to use our |\C| macro only for math mode,
+% without interfering the definition of the text |\C| that is already defined.
+%
+% When using \XeTeX\ or \LuaTeX\ engines with the \textsf{hyperref} package,
+% |\C| will be already defined and
+% you get the message "\texttt{Command \string\C\space unavailable in encoding TU}".
+% Therefore |\onlymathC| is automatically called in that case.
% \medskip
% \begin{macrocode}
\mm@macro{mathset}{\mathbf}
\mm@macro{R}{\mathset{R}}
-\mm@macro{C}{\mathset{C}}
+\AtBeginDocument{
+ \@ifpackageloaded{hyperref}%
+ {\iftutex\onlymathC\fi}% LuaTex or XeTeX engines
+ {\mm@macro{C}{\mathset{C}}}
+}
\providecommand\onlymathC{\let\oldC\C
\renewcommand{\C}{\TextOrMath{\oldC}{\mathset{C}}} }
\mm@macro{N}{\mathset{N}}
@@ -1799,7 +1915,7 @@
\mm@macro{lbar}{\overline}
\@ifundefined{hlbar}{
- \providecommand*{\hlbar}[1]{\overline{\vphantom{t}#1}}}{
+ \providecommand*{\hlbar}[1]{\overline{\vphantom{A}#1}}}{
\mm@warning{hlbar} }
\newcommand\@eqdef{\stackrel{\mathup{def}}{=}}
\newcommand\@@eqdef{\stackrel{\mathrm{\Delta}}{=}}
@@ -1827,7 +1943,8 @@
\providecommand*{\abs}[1]{\left\vert#1\right\vert} }{
\mm@warning{abs} }
\@ifundefined{lfrac}{
- \providecommand*{\lfrac}[2]{\frac{\;#1\;}{\;#2\;}} }{
+ \providecommand*{\lfrac}[3][7mu]{%
+ \frac{\mkern#1#2\mkern#1}{\mkern#1#3\mkern#1}} }{
\mm@warning{lfrac} }
\newcommand{\systemstretch}{1.2}
@@ -1850,8 +1967,8 @@
\begin{math}\begin{aligned}\displaystyle
\else
\PackageError{mismath}{The mathcols environment
- needs the multicol package}{Add the package multicol
- to your preamble.}
+ needs the multicol package}{Call the package multicol
+ in your preamble.}
\fi
}{%
\end{aligned}\end{math} \hfill\mbox{}
@@ -1864,7 +1981,7 @@
}
% \end{macrocode}
%
-% \begin{thebibliography}{28}
+% \begin{thebibliography}{34}
% \begin{raggedright}
% \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according
% to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), No.~1.
@@ -1880,31 +1997,43 @@
% \url{https://old.iupac.org/standing/idcns/italic-roman_dec99.pdf}.
% \bibitem{VECT} \emph{\textsf{esvect} -- Typesetting vectors with beautiful
% arrow with \LaTeXe}, Eddie Saudrais, CTAN, v1.3 2013/07/11.
+% \bibitem{TOOL} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen, CTAN,
+% v1.29 2022/06/29.
% \bibitem{AMS} \emph{\textsf{amsmath} -- \AmS\ mathmatical facilities for \LaTeX},
% Frank Mittelbach, Rainer Schöpf, Michael Downes, Davis M.~Jones, David Carlisle,
% CTAN, v2.17n 2022/04/08.
% \bibitem{UNIC} \emph{Experimental Unicode mathematical typesetting:
% The \textsf{unicode-math} package}, Will Robertson, Philipp Stephani, Joseph Wright,
% Khaled Hosny, and others, CTAN, v0.8r 2023/08/13.
-% \bibitem{TOOL} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen, CTAN,
-% v1.29 2022/06/29.
% \bibitem{FIXM} \emph{The \textsf{fixmath} package for \LaTeXe}, Walter Schmidt,
% CTAN, v0.9 2000/04/11.
% \bibitem{ISOM} \emph{\textsf{isomath} -- Mathematical style for science and technology},
% Günter Milde, CTAN, v0.6.1 2012/09/04.
% \bibitem{PMISO} \emph{\textsf{PM-ISOmath}, The Poor Man ISO math bundle},
% the \textsf{pm-isomath} package by Claudio Beccari, CTAN, v1.2.00 2021/08/04.
+% \bibitem{MGREEK} \emph{The \textsf{mathgreeks} package}, Antoine Missier, CTAN,
+% v1.1 2024/05/04.
% \bibitem{GREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt,
% CTAN, v2.0 2003/02/12.
% \bibitem{DESIGN} \emph{The \textsf{mathdesign} package},
% Paul Pichaureau, CTAN, v2.31 2013/08/29.
-% \bibitem{ALPHA} \emph{The \textsf{textalpha} package}
-% (part of the \textsf{greek-fontenc} bundle), Günter Milde, CTAN, v2.1 14/06/2022.
% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
% Christophe Caignaert, CTAN, v3.34 20/09/2022.
% \bibitem{FOUR} \textsf{Fourier-GUT\hspace{-0.1em}\emph{enberg}},
-% Michel Bovani, CTAN, v1.3 30/01/2005.
+% Michel Bovani, CTAN, v1.3 2005/01/30.
+% \bibitem{PX} \emph{\textsf{PX Fonts} -- Palatino-like fonts in support of mathematics},
+% Young Ryu, CTAN, 2000/12/14.
+% \bibitem{TX} \emph{\textsf{TX Fonts} -- Times-like fonts in support of mathematics},
+% Young Ryu, CTAN, 2000/12/15.
+% \bibitem{LIB} \emph{The LibertinusT1 Math Package}, Michael Sharpe, CTAN, v2.0.4 2024/01/14.
% \bibitem{LGR} \emph{The \textsf{lgrmath} package}, Jean-François B., CTAN, v1.0 2022/11/16.
+% \bibitem{NTX} \emph{New TX font package}, Micahel Sharpe, CTAN, v1.735 2024/03/01.
+% \bibitem{ALPHA} \emph{The \textsf{textalpha} package}
+% (part of the \textsf{greek-fontenc} bundle), Günter Milde, CTAN, v2.1 2022/06/14.
+% \bibitem{SPA} \emph{The \textsf{spacingtricks} package}, Antoine Missier, CTAN,
+% v1.8 2023/12/06.
+% \bibitem{BRACKET} \emph{Intelligent brackets -- The \textsf{ibrackets} package},
+% Antoine Missier, CTAN, v1.2, 2023/07/26.
% \bibitem{INT} \emph{The \textsf{interval} package}, Lars Madsen, CTAN,
% v0.4 2019/03/06.
% \bibitem{ICOMMA} \emph{The \textsf{icomma} package for \LaTeXe},
@@ -1918,9 +2047,7 @@
% \bibitem{SPAL} \emph{The \textsf{spalign} package}, Joseph Rabinoff, CTAN, 2016/10/05.
% \bibitem{NMATX} \emph{The package \textsf{nicematrix}}, François Pantigny, CTAN,
% v6.14 2023/02/18.
-% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}, Antoine Missier, CTAN, v2.10 2024/02/25.
-% \bibitem{BRACKET} \emph{Intelligent brackets -- The \textsf{ibrackets} package},
-% Antoine Missier, CTAN, v1.2, 2023/07/26.
+% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}, Antoine Missier, CTAN, v3.0 2024/05/04.
% \bibitem{LSHORT} \emph{The Not So Short Introduction to \LaTeXe},
% the \textsf{lshort} package by
% Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl, CTAN, v6.4 2021/04/09.
diff --git a/macros/latex/contrib/mismath/mismath.ins b/macros/latex/contrib/mismath/mismath.ins
index b57ee6b828..5a39f8da29 100644
--- a/macros/latex/contrib/mismath/mismath.ins
+++ b/macros/latex/contrib/mismath/mismath.ins
@@ -46,7 +46,7 @@ and version 1.3 or later is part of all distributions of LaTeX version
\Msg{* mismath.sty *}
\Msg{* *}
\Msg{* To produce the documentation run the file mismath.dtx *}
-\Msg{* through XeLaTeX or LuaLaTeX. *}
+\Msg{* through LaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/mismath/mismath.pdf b/macros/latex/contrib/mismath/mismath.pdf
index 5b97173faa..fd41e6702c 100644
--- a/macros/latex/contrib/mismath/mismath.pdf
+++ b/macros/latex/contrib/mismath/mismath.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md
index 31d83c056a..8e706e6de9 100644
--- a/macros/latex/contrib/msu-thesis/README.md
+++ b/macros/latex/contrib/msu-thesis/README.md
@@ -1,4 +1,4 @@
-# MSU Thesis Class Version 4.2 2024/02/18
+# MSU Thesis Class Version 4.2b 2024/05/16
Copyright 2011-2024 by Alan Munn <amunn@msu.edu>
@@ -9,6 +9,13 @@ Submission of Master's Theses and Dissertations (January 2023).
The class is based on the `memoir` document class, and therefore inherits
all of the functionality of that class.
+# TeX distribution requirements
+
+The `msu-thesis` class requires an up-to-date TeX distribution, 2022 release or later.
+
+# Engine requirements
+
+The `msu-thesis` class works with all LaTeX engines (pdfLaTeX, XeLaTeX, LuaLaTeX).
# Update on new formatting requirements (Fall 2022)
@@ -30,7 +37,7 @@ Please [read the documentation!](https://amunn.github.io/msu-thesis/)
## Installation:
-The `msu-thesis` class is part of both TeXLive and MikTeX, so you should either already have it or should be able to install it with your package manager.
+The `msu-thesis` class is part of both TeXLive and MikTeX, so you should either already have it or should be able to install it with your package manager if you have an up-to-date distribution.
If you wish to install it locally, follow the directions below:
@@ -42,9 +49,16 @@ Put `msu-thesis.tex`, `msu-thesis.pdf` and the `samples` folder into
`<local texmf>/doc/latex/msu-thesis`
+Alternatively, you can simply put a copy of `msu-thesis.cls` in the same folder as your thesis source file.
+
The samples folder contains two thesis test-files and
a template.
+## Overleaf users
+
+If you are using Overleaf, you should upload a copy of `msu-thesis.cls` to your project. It *must* have exactly this name to be found. Click on the Menu icon and make sure to choose the latest version of TeX Live for compilation.
+
+
This package may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license or
any later version. The latest version of this license is in
diff --git a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
index 01ca59e7ad..7ea3b12edf 100644
--- a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+++ b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{4.2}
-\def\msudate{2024/02/18}
+\def\msuversion{4.2b}
+\def\msudate{2024/05/16}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -59,8 +59,12 @@
\abstract{\noindent\begin{quote} This is a class file for MSU theses and dissertations. It is based on the \pkg{memoir}\ class, and therefore supports all of the functionality of that class. It should generate a document which meets all the basic formatting requirements laid out by the \href{https://grad.msu.edu/etd/formatting-guide}{Formatting Guide For Submission of Master’s Theses and Doctoral Dissertations}\ (January, 2023) produced by the Graduate School, including requirements for margins, titlepage, page numbering, section titles, sub- and superscript sizes etc.\end{quote}}
\section{Introduction}
Formatting a dissertation according to a University's thesis requirements is not always a simple task in \LaTeX, especially since the requirements are generally aimed at MSWord users. Furthermore, most of the work of formatting a document is supposed to be done by the document class itself, and not by the individual user. Fortunately, Michigan State University's thesis requirements are for the most part sane, (even if the thesis office itself isn’t) and fairly straightforward. The present class file is designed to further make the process easier for \LaTeX\ users, by doing all the heavy lifting for you, so that you can focus on the content and not the formatting.
-\section{Background}
+\section{Background and requirements}
The MSU Thesis Class is based on the \pkg{memoir}\ document class. The \pkg{memoir}\ class is an extensive class that incorporates the functionality of many other packages into it. The class is extensively documented, and the documentation (\pkg{memman.pdf}) should be available with any \TeX\ distribution. I strongly recommend that you familiarize yourself with \pkg{memoir}\ as you use the present class.
+\subsection{TeX distribution requirements}
+The \pkg{msu-thesis}\ class requires a reasonably up-to-date TeX distribution, 2022 or later.
+\subsection{Engine requirements}
+The class may be used with any LaTeX engine: pdfLaTeX, XeLaTeX, or LuaLaTeX.
\section{Class Options}
In addition to any options passed to the \pkg{memoir}\ class (e.g. |oldfontcommands|; see Section \ref{sec:fonts}, font size), the \pkg{msu-thesis}\ class takes six options: one to specify the type of degree, (see Table~\ref{degrees}), one to enable landscape page numbering, two to enable per-chapter bibliographies and appendices, two to make small adjustments to Table of Contents. If no degree option is specified, a Ph.D. dissertation is assumed.
\begin{table}[htpb]
@@ -189,16 +193,25 @@ The \pkg{memoir}\ class provides commands for single and double spacing (|\Singl
The \pkg{memoir}\ class replicates the functionality of many independent packages, so if you are transferring \LaTeX\ source from other documents using the \pkg{article}\ class, you may encounter some warnings or errors. The \pkg{memoir}\ documentation has substantial information about the packages it emulates, and the packages for which it provides equivalent functionality. See Chap. 18 Sec. 24 of the \pkg{memoir}\ manual for details. Quoting from the manual:
\begin{quote} At the time of writing the emulated packages are: {\sffamily abstract, appendix, booktabs, ccaption, chngcntr, crop, enumerate, epigraph, ifmtarg, ifpdf, index, makeidx, moreverb, needspace, newfile, nextpage, pagenote, patchcmd, parskip, setspace, shortvrb, showidx, titleref, tocbibind, tocloft, verbatim, and verse.} As well as the emulated packages memoir provides functions equivalent to those in the following packages, although the class does not prevent you from using them: {\sffamily fancyhdr, framed, geometry, sidecap, subfigure, and titlesec.}\\\hfill{\normalfont\emph{The Memoir Class} 10th impression, 2015, p.345}
\end{quote}
-\subsection{Captions}
-\subsubsection{Caption delimiter}\label{captiondelim}
-Because the thesis office doesn't understand anything about punctuation, it requires the colon that would appear in a caption to also appear in the contents lists. Since they don't care about the colon itself, but just consistency I've removed colons from the captions entirely, since leaving it in makes the contents lists look really stupid. But in case you or your advisor want the colon in captions, you can add the colon back in by adding |\renewcommand{\msucaptiondelim}{:\space}| to your preamble, and the class will make sure the Lists of Tables and Figures match in formatting. If you have other floating objects with captions (e.g., algorithms, listings) you may need to change their delimiter too (see below). How you do this may depend on the particular packages you are using.
-
+\subsection{Table of Contents issues}
\subsubsection{Simplified vs. full contents}
The thesis guide suggests that you use a simplified table of contents that lists only chapter levels, but that you are welcome to use a more detailed table of contents if you wish. As with most, if not all of the “design” decisions made by the thesis office, this one makes very little typographic sense, and so I have left the default TOC level to be 1, i.e., chapters and sections will be listed in the TOC. If you wish to use the simplified contents format that just lists chapters, add the following to your preamble:
\begin{quote}
|\setcounter{msutocdepth}{0}|
\end{quote}
+\subsubsection{Ensuring the minimum number of leader dots}
+If your chapter titles are very long, they sometimes fail to put any leader dots before the page number in the Table of Contents. The thesis office requires a minimum of three dots of leaders for any TOC line. You can solve this problem by putting a line break into the TOC entry title. To do this, use the optional argument of the corresponding |\chapter| or |\section| etc. command. Note that the line break needs to be preceded by |\protect|.
+
+%\begin{quote}
+\begin{lstlisting}[frame=none,xleftmargin=2.5em]
+\chapter[Long chapter title that will\protect\\ break at this point]
+ {Long chapter title that will break at this point}
+\end{lstlisting}
+%\end{quote}
+\subsection{Captions}
+\subsubsection{Caption delimiter}\label{captiondelim}
+Because the thesis office doesn't understand anything about punctuation, it requires the colon that would appear in a caption to also appear in the contents lists. Since they don't care about the colon itself, but just consistency I've removed colons from the captions entirely, since leaving it in makes the contents lists look really stupid. But in case you or your advisor want the colon in captions, you can add the colon back in by adding |\renewcommand{\msucaptiondelim}{:\space}| to your preamble, and the class will make sure the Lists of Tables and Figures match in formatting. If you have other floating objects with captions (e.g., algorithms, listings) you may need to change their delimiter too (see below). How you do this may depend on the particular packages you are using.
\subsubsection{New lists and floats}
Note that the thesis office no longer seems to \emph{require} lists of anything other than the main table of contents. This is another odd decision on their part. If do include a List of Tables and List of Figures and need to add other lists, you can follow the directions here. Note that lists of algorithms require special treatment. See §\ref{algorithms}.
@@ -273,11 +286,13 @@ If you have changed the |\msucaptiondelimeter| to use a colon (see \ref{captiond
The first method removes the colon from the word Algorithm in the List of Algorithms:
\begin{quote}
+\begin{minipage}{\linewidth}
\begin{lstlisting}
% Use this code after loading any algorithm package and the float package
% This removes the colon after the word Algorithm in the List of Algorithms
\renewcommand*{\cftalgorithmaftersnum}{}
\end{lstlisting}
+\end{minipage}
\end{quote}
The second method adds a colon to the word Algorithm in the captions of the algorithms
@@ -394,6 +409,8 @@ Despite there being no explicit formatting requirements for Chapter headings (ot
\end{itemize}
\subsection{Master’s Theses}
Master’s theses are sometimes relatively short, and you may think that you can just have |\section| commands with no chapters. This will \emph{not} work. The class is designed to use chapters (and as far as I can tell, the Graduate School also expects chapters).
+\subsection{Overleaf users}
+If you're using Overleaf, it's usually best to upload a copy of the class to your project. Please remember that the file \emph{must} be called |msu-thesis.cls|. Naming it something different will cause it not to be found, and an older version will be loaded. Additionally, since Overleaf preserves the TeX Live year that you first opened the project, it's a good idea to change to the most recent TeX Live year that the site offers. You can do this by clicking on the Menu icon in the editor and then selecting the most recent TeX Live version.
\section{Bugs and redistribution}
\subsection{Current version}
@@ -444,11 +461,11 @@ to Wolfgang Sternefeld for supplying the \pkg{linguex}\ spacing fix code, Leo Li
landscape page numbering code, which greatly simplified my original version. Thanks to
Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fischer for the
current \pkg{hyperref} code. Thanks to David Carlisle for helping me understand a ridiculous spacing problem.
-Thanks also to the following students who have reported
+Thanks also to the following people who have reported
problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank,
Nathan Brugnone, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
Jung, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka
-Pai, Alicia Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam
+Pai, Alicia Parrish, Victoria Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam
Soliman, Mookyong Son, Erik Stitt, Fanurs C.E. Teh, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Atacan Yücesoy, Ali
Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy
of his entire thesis which allowed me to debug some especially subtle spacing
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls
index c73d4be4d0..f873f7a964 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.cls
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls
@@ -192,12 +192,26 @@
% Version 4.1h 2023/10/07 Changed option processing code
% Version 4.1i 2023/12/02 Fixed spurious blank page with biblatex bibliography
% Version 4.2 2024/02/18 Changed spacing for sections to address complaints about adjacent sectioning commands
+% Version 4.2b 2024/05/16 Added version check for l3kernel.
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{4.2}
-\def\msu@date{2024/02/18}
+\def\msu@version{4.2b}
+\def\msu@date{2024/05/16}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
+\@ifundefined{ExplLoaderFileDate}
+ {\RequirePackage{expl3}}
+ {}
+\@ifl@t@r\ExplLoaderFileDate{2022-06-01}
+ {}
+ {%
+ \ClassError{msu-thesis}{Support package expl3 too old}
+ {%
+ You need to update your TeX distribution: 'l3kernel' of 2022-06-01 or later is required.\MessageBreak
+ Loading msu-thesis will abort!%
+ }%
+ \endinput
+ }%
\DeclareKeys[msu-thesis]
{
PhD.code = {\gdef\msu@degree{Doctor of Philosophy}},
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
index 533ec424b9..89f49a4d54 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.dtx b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
index 79d804eb1c..340d2e0f5e 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
@@ -1,17349 +1,17406 @@
-% \iffalse meta-comment
-%
-% This file should be compiled with $xelatex$.
-%
-% Copyright (C) 2018-2024 by F. Pantigny
-% ------------------------------------------
-%
-% This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% \fi
-% \iffalse
-\def\myfileversion{6.27a}
-\def\myfiledate{2024/02/19}
-%
-%
-%<*batchfile>
-\begingroup
-\input l3docstrip.tex
-\keepsilent
-\usedir{tex/latex/nicematrix}
-\preamble
-
-
-Copyright (C) 2018-2024 by F. Pantigny
------------------------------------
-
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in:
-
-http://www.latex-project.org/lppl.txt
-
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-\endpreamble
-\askforoverwritefalse
-\endgroup
-%</batchfile>
-%
-%<*driver>
-\documentclass[dvipsnames]{l3doc}% dvipsnames is for xcolor (loaded by Tikz)
-\VerbatimFootnotes
-
-\usepackage[luatex]{geometry}
-\geometry{left=2.8cm,right=2.8cm,top=2.5cm,bottom=2.5cm,papersize={21cm,29.7cm}}
-
-\usepackage{tikz}
-\usetikzlibrary{fit}
-\usepackage{nicematrix}
-
-\NewDocumentEnvironment {scope} {} {} {}
-\def\interitem{\vspace{7mm plus 2 mm minus 3mm}}
-
-\fvset{formatcom=\color{gray}}
-
-\usepackage{upquote}
-
-\usepackage{titlesec}
-\titlespacing*{\section}{0pt}{6.5ex plus 1ex minus .2ex}{4.3ex plus .2ex}
-\titlespacing*{\subsection}{0pt}{4.5ex plus 1ex minus .2ex}{2ex plus .2ex}
-\parindent 0pt
-\skip \footins = 2 \bigskipamount
-
-
-\begin{document}
-\DocInput{nicematrix-code.dtx}
-\end{document}
-%</driver>
-% \fi
-% \title{The code of the package \pkg{nicematrix}\thanks{This document corresponds to the version~\myfileversion\space of \pkg{nicematrix},
-% at the date of~\myfiledate.}}
-% \author{F. Pantigny \\ \texttt{fpantigny@wanadoo.fr}}
-%
-% \hypersetup
-% {
-% pdfinfo =
-% {
-% Title = The code of the package 'nicematrix' ,
-% Subject = A LaTeX package ,
-% Author = F. Pantigny
-% }
-% }
-%
-%
-% \maketitle
-%
-% \begin{abstract}
-% This document is the documented code of the LaTeX package \pkg{nicematrix}. It
-% is \emph{not} its user's guide. The guide of utilisation is the document
-% |nicematrix.pdf| (with a French traduction: |nicematrix-french.pdf|).
-% \end{abstract}
-%
-%
-% \bigskip
-% By default, the package \pkg{nicematrix} doesn't patch any existing code.
-%
-% \smallskip
-% However, when the option |renew-dots| is used, the commands |\cdots|,
-% |\ldots|, |\dots|, |\vdots|, |\ddots| and |\iddots| are redefined in the
-% environments provided by \pkg{nicematrix}. In the same way, if the option
-% |renew-matrix| is used, the environment |{matrix}| of \pkg{amsmath} is
-% redefined.
-%
-% \smallskip
-% On the other hand, the environment |{array}| is never redefined.
-%
-% \smallskip
-% Of course, the package \pkg{nicematrix} uses the features of the package
-% \pkg{array}. It tries to be independent of its implementation. Unfortunately,
-% it was not possible to be strictly independent. For example, the package
-% \pkg{nicematrix} relies upon the fact that the package |{array}| uses
-% |\ialign| to begin the |\halign|.
-%
-%
-% \bigskip
-% \section{Declaration of the package and packages loaded}
-%
-%
-% The prefix |nicematrix| has been registred for this package.
-%
-% See: |http://mirrors.ctan.org/macros/latex/contrib/l3kernel/l3prefixes.pdf|
-%
-%<@@=nicematrix>
-%
-% \bigskip
-% First, we load \pkg{pgfcore} and the module \pkg{shapes}. We do so because
-% it's not possible to use |\usepgfmodule| in |\ExplSyntaxOn|.
-% \begin{macrocode}
-\RequirePackage{pgfcore}
-\usepgfmodule{shapes}
-% \end{macrocode}
-%
-%
-% We give the traditional declaration of a package written with the L3
-% programming layer.
-% \begin{macrocode}
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {nicematrix}
- {\myfiledate}
- {\myfileversion}
- {Enhanced arrays with the help of PGF/TikZ}
-% \end{macrocode}
-%
-%
-% \bigskip
-% The command for the treatment of the options of |\usepackage| is at the end of
-% this package for technical reasons.
-%
-% \bigskip
-% We load some packages.
-% \begin{macrocode}
-\RequirePackage { array }
-\RequirePackage { amsmath }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_error:n { \msg_error:nn { nicematrix } }
-\cs_new_protected:Npn \@@_warning:n { \msg_warning:nn { nicematrix } }
-\cs_new_protected:Npn \@@_error:nn { \msg_error:nnn { nicematrix } }
-\cs_generate_variant:Nn \@@_error:nn { n e }
-\cs_new_protected:Npn \@@_error:nnn { \msg_error:nnnn { nicematrix } }
-\cs_new_protected:Npn \@@_fatal:n { \msg_fatal:nn { nicematrix } }
-\cs_new_protected:Npn \@@_fatal:nn { \msg_fatal:nnn { nicematrix } }
-\cs_new_protected:Npn \@@_msg_new:nn { \msg_new:nnn { nicematrix } }
-% \end{macrocode}
-%
-% With Overleaf, by default, a document is compiled in non-stop mode. When there
-% is an error, there is no way to the user to use the key H in order to have
-% more information. That's why we decide to put that piece of information (for
-% the messages with such information) in the main part of the message when the
-% key |messages-for-Overleaf| is used (at load-time).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_msg_new:nnn #1 #2 #3
- {
- \bool_if:NTF \g_@@_messages_for_Overleaf_bool
- { \msg_new:nnn { nicematrix } { #1 } { #2 \\ #3 } }
- { \msg_new:nnnn { nicematrix } { #1 } { #2 } { #3 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We also create a command which will generate usually an error but only a
-% warning on Overleaf. The argument is given by curryfication.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_error_or_warning:n
- { \bool_if:NTF \g_@@_messages_for_Overleaf_bool \@@_warning:n \@@_error:n }
-% \end{macrocode}
-%
-% We try to detect whether the compilation is done on Overleaf. We use
-% |\c_sys_jobname_str| because, with Overleaf, the value of |\c_sys_jobname_str|
-% is always ``|output|''.
-% \begin{macrocode}
-\bool_new:N \g_@@_messages_for_Overleaf_bool
-\bool_gset:Nn \g_@@_messages_for_Overleaf_bool
- {
- \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs
- || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_msg_redirect_name:nn
- { \msg_redirect_name:nnn { nicematrix } }
-\cs_new_protected:Npn \@@_gredirect_none:n #1
- {
- \group_begin:
- \globaldefs = 1
- \@@_msg_redirect_name:nn { #1 } { none }
- \group_end:
- }
-\cs_new_protected:Npn \@@_err_gredirect_none:n #1
- {
- \@@_error:n { #1 }
- \@@_gredirect_none:n { #1 }
- }
-\cs_new_protected:Npn \@@_warning_gredirect_none:n #1
- {
- \@@_warning:n { #1 }
- \@@_gredirect_none:n { #1 }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{Security test}
-%
-% Within the package \pkg{nicematrix}, we will have to test whether a cell of a
-% |{NiceTabular}| is empty. For the cells of the columns of type |p|, |b|, |m|,
-% |X| and |V|, we will test whether the cell is syntactically empty (that is to
-% say that there is only spaces between the ampersands |&|). That test will be
-% done with the command |\@@_test_if_empty:| by testing if the two first tokens
-% in the cells are (during the TeX process) are |\ignorespaces| and |\unskip|.
-%
-% However, if, one day, there is a changement in the implementation of
-% \pkg{array}, maybe that this test will be broken (and \pkg{nicematrix} also).
-%
-% That's why, by security, we will take a test in a small |{tabular}| composed
-% in the box |\l_tmpa_box| used as sandbox.
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Internal~error }
- {
- Potential~problem~when~using~nicematrix.\\
- The~package~nicematrix~have~detected~a~modification~of~the~
- standard~environment~{array}~(of~the~package~array).~Maybe~you~will~encounter~
- some~slight~problems~when~using~nicematrix.~If~you~don't~want~to~see~
- this~message~again,~load~nicematrix~with:~\token_to_str:N
- \usepackage[no-test-for-array]{nicematrix}.
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\@@_msg_new:nn { mdwtab~loaded }
- {
- The~packages~'mdwtab'~and~'nicematrix'~are~incompatible.~
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_security_test:n #1
- {
- \peek_meaning:NTF \ignorespaces
- { \@@_security_test_i:w }
- { \@@_error:n { Internal~error } }
- #1
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_security_test_i:w \ignorespaces #1
- {
- \peek_meaning:NF \unskip { \@@_error:n { Internal~error } }
- #1
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here, the box |\l_tmpa_box| will be used as sandbox to take our security test.
-% This code has been modified in version 6.18 (see question 682891 on TeX
-% StackExchange).
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument / after } { . }
- {
- \IfPackageLoadedTF { mdwtab }
- { \@@_fatal:n { mdwtab~loaded } }
- {
- \bool_if:NF \g_@@_no_test_for_array_bool
- {
- \group_begin:
- \hbox_set:Nn \l_tmpa_box
- {
- \begin { tabular } { c > { \@@_security_test:n } c c }
- text & & text
- \end { tabular }
- }
- \group_end:
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{Collecting options}
-%
-% The following technic allows to create user commands with the ability to put
-% an arbitrary number of |[|\textsl{list of (key=val)}|]| after the name of the
-% command.
-%
-% \medskip
-% \emph{Exemple} :\par\nobreak
-%
-% |\@@_collect_options:n { \F } [x=a,y=b] [z=c,t=d] { arg }|
-%
-% will be transformed in :\quad |\F{x=a,y=b,z=c,t=d}{arg}|
-%
-% \smallskip
-% Therefore, by writing : |\def\G{\@@_collect_options:n{\F}}|,
-%
-% the command |\G| takes in an arbitrary number of optional arguments between
-% square brackets.
-%
-% Be careful: that command is \emph{not} ``fully expandable'' (because of
-% |\peek_meaning:NTF|).
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_collect_options:n #1
- {
- \peek_meaning:NTF [
- { \@@_collect_options:nw { #1 } }
- { #1 { } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We use |\NewDocumentCommand| in order to be able to allow nested brackets
-% within the argument between |[| and |]|.
-% \begin{macrocode}
-\NewDocumentCommand \@@_collect_options:nw { m r[] }
- { \@@_collect_options:nn { #1 } { #2 } }
-
-\cs_new_protected:Npn \@@_collect_options:nn #1 #2
- {
- \peek_meaning:NTF [
- { \@@_collect_options:nnw { #1 } { #2 } }
- { #1 { #2 } }
- }
-
-\cs_new_protected:Npn \@@_collect_options:nnw #1#2[#3]
- { \@@_collect_options:nn { #1 } { #2 , #3 } }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{Technical definitions}
-%
-%
-% The following constants are defined only for efficiency in the tests.
-% \begin{macrocode}
-\tl_const:Nn \c_@@_b_tl { b }
-\tl_const:Nn \c_@@_c_tl { c }
-\tl_const:Nn \c_@@_l_tl { l }
-\tl_const:Nn \c_@@_r_tl { r }
-\tl_const:Nn \c_@@_all_tl { all }
-\tl_const:Nn \c_@@_dot_tl { . }
-\tl_const:Nn \c_@@_default_tl { default }
-\tl_const:Nn \c_@@_star_tl { * }
-\str_const:Nn \c_@@_r_str { r }
-\str_const:Nn \c_@@_c_str { c }
-\str_const:Nn \c_@@_l_str { l }
-\str_const:Nn \c_@@_R_str { R }
-\str_const:Nn \c_@@_C_str { C }
-\str_const:Nn \c_@@_L_str { L }
-\str_const:Nn \c_@@_j_str { j }
-\str_const:Nn \c_@@_si_str { si }
-% \end{macrocode}
-%
-% The following token list will be used for definitions of user commands (with
-% |\NewDocumentCommand|) with an embellishment using an \emph{underscore} (there
-% may be problems because of the catcode of the underscore).
-% \begin{macrocode}
-\tl_new:N \l_@@_argspec_tl
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_generate_variant:Nn \seq_set_split:Nnn { N V n }
-\cs_generate_variant:Nn \str_lowercase:n { V }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { tikz }
- {
-% \end{macrocode}
-% In some constructions, we will have to use a |{pgfpicture}| which \emph{must}
-% be replaced by a |{tikzpicture}| if Tikz is loaded. However, this switch
-% between |{pgfpicture}| and |{tikzpicture}| can't be done dynamically with a
-% conditional because, when the Tikz library |external| is loaded by the user,
-% the pair |\tikzpicture|-|\endtikpicture| (or
-% |\begin{tikzpicture}-\end{tikzpicture}|) must be statically ``visible'' (even
-% when externalization is not activated).
-%
-% That's why we create |\c_@@_pgfortikzpicture_tl| and
-% |\c_@@_endpgfortikzpicture_tl| which will be used to construct in a
-% |\AtBeginDocument| the correct version of some commands. The tokens
-% |\exp_not:N| are mandatory.
-% \begin{macrocode}
- \tl_const:Nn \c_@@_pgfortikzpicture_tl { \exp_not:N \tikzpicture }
- \tl_const:Nn \c_@@_endpgfortikzpicture_tl { \exp_not:N \endtikzpicture }
- }
- {
- \tl_const:Nn \c_@@_pgfortikzpicture_tl { \exp_not:N \pgfpicture }
- \tl_const:Nn \c_@@_endpgfortikzpicture_tl { \exp_not:N \endpgfpicture }
- }
- }
-% \end{macrocode}
-%
-% We test whether the current class is \cls{revtex4-1} (deprecated) or
-% \cls{revtex4-2} because these classes redefines |\array| (of \pkg{array}) in a
-% way incompatible with our programmation. At the date May 2023, the current
-% version \cls{revtex4-2} is 4.2f (compatible with \pkg{booktabs}).
-%
-% \begin{macrocode}
-\IfClassLoadedTF { revtex4-1 }
- { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
- {
- \IfClassLoadedTF { revtex4-2 }
- { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
- {
-% \end{macrocode}
-% Maybe one of the previous classes will be loaded inside another class... We
-% try to detect that situation.
-% \begin{macrocode}
- \cs_if_exist:NT \rvtx@ifformat@geq
- { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
- { \bool_const:Nn \c_@@_revtex_bool \c_false_bool }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_generate_variant:Nn \tl_if_single_token_p:n { V }
-% \end{macrocode}
-%
-%
-% \bigskip
-% If the final user uses \pkg{nicematrix}, PGF/Tikz will write instruction
-% |\pgfsyspdfmark| in the |aux| file. If he changes its mind and no longer loads
-% \pkg{nicematrix}, an error may occur at the next compilation because of
-% remanent instructions |\pgfsyspdfmark| in the |aux| file. With the following
-% code, we try to avoid that situation.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_provide_pgfsyspdfmark:
- {
- \iow_now:Nn \@mainaux
- {
- \ExplSyntaxOn
- \cs_if_free:NT \pgfsyspdfmark
- { \cs_set_eq:NN \pgfsyspdfmark \@gobblethree }
- \ExplSyntaxOff
- }
- \cs_gset_eq:NN \@@_provide_pgfsyspdfmark: \prg_do_nothing:
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% We define a command |\iddots| similar to |\ddots| ($\ddots$) but with dots
-% going forward ($\iddots$). We use |\ProvideDocumentCommand| and so, if the
-% command |\iddots| has already been defined (for example by the package
-% \pkg{mathdots}), we don't define it again.
-%
-% \begin{macrocode}
-\ProvideDocumentCommand \iddots { }
- {
- \mathinner
- {
- \tex_mkern:D 1 mu
- \box_move_up:nn { 1 pt } { \hbox { . } }
- \tex_mkern:D 2 mu
- \box_move_up:nn { 4 pt } { \hbox { . } }
- \tex_mkern:D 2 mu
- \box_move_up:nn { 7 pt }
- { \vbox:n { \kern 7 pt \hbox { . } } }
- \tex_mkern:D 1 mu
- }
- }
-% \end{macrocode}
-%
-% This definition is a variant of the standard definition of |\ddots|.
-%
-%
-% \bigskip
-% In the |aux| file, we will have the references of the PGF/Tikz nodes created
-% by \pkg{nicematrix}. However, when \pkg{booktabs} is used, some nodes (more
-% precisely, some |row| nodes) will be defined twice because their position will
-% be modified. In order to avoid an error message in this case, we will redefine
-% |\pgfutil@check@rerun| in the |aux| file.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { booktabs }
- { \iow_now:Nn \@mainaux \nicematrix@redefine@check@rerun }
- { }
- }
-\cs_set_protected:Npn \nicematrix@redefine@check@rerun
- {
- \cs_set_eq:NN \@@_old_pgfutil@check@rerun \pgfutil@check@rerun
-% \end{macrocode}
-% The new version of |\pgfutil@check@rerun| will not check the PGF nodes whose
-% names start with |nm-| (which is the prefix for the nodes created by
-% \pkg{nicematrix}).
-% \begin{macrocode}
- \cs_set_protected:Npn \pgfutil@check@rerun ##1 ##2
- {
- \str_if_eq:eeF { nm- } { \tl_range:nnn { ##1 } 1 3 }
- { \@@_old_pgfutil@check@rerun { ##1 } { ##2 } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We have to know whether \pkg{colortbl} is loaded in particular for the
-% redefinition of |\everycr|.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- { }
- {
-% \end{macrocode}
-% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
-% the rules in the array. We will use it to store the instruction of color for
-% the rules even if \pkg{colortbl} is not loaded.
-% \begin{macrocode}
- \cs_set_protected:Npn \CT@arc@ { }
- \cs_set:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
- \cs_set:Npn \CT@arc #1 #2
- {
- \dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
- { \cs_gset_nopar:Npn \CT@arc@ { \color #1 { #2 } } }
- }
-% \end{macrocode}
-% Idem for |\CT@drs@|.
-% \begin{macrocode}
- \cs_set:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
- \cs_set:Npn \CT@drs #1 #2
- {
- \dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
- { \cs_gset:Npn \CT@drsc@ { \color #1 { #2 } } }
- }
- \cs_set:Npn \hline
- {
- \noalign { \ifnum 0 = `} \fi
- \cs_set_eq:NN \hskip \vskip
- \cs_set_eq:NN \vrule \hrule
- \cs_set_eq:NN \@width \@height
- { \CT@arc@ \vline }
- \futurelet \reserved@a
- \@xhline
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We have to redefine |\cline| for several reasons. The command |\@@_cline| will
-% be linked to |\cline| in the beginning of |{NiceArrayWithDelims}|. The
-% following commands must \emph{not} be protected.
-% \begin{macrocode}
-\cs_set:Npn \@@_standard_cline #1 { \@@_standard_cline:w #1 \q_stop }
-\cs_set:Npn \@@_standard_cline:w #1-#2 \q_stop
- {
- \int_if_zero:nT \l_@@_first_col_int { \omit & }
- \int_compare:nNnT { #1 } > \c_one_int
- { \multispan { \int_eval:n { #1 - 1 } } & }
- \multispan { \int_eval:n { #2 - #1 + 1 } }
- {
- \CT@arc@
- \leaders \hrule \@height \arrayrulewidth \hfill
-% \end{macrocode}
-% The following |\skip_horizontal:N \c_zero_dim| is to prevent a potential
-% |\unskip| to delete the |\leaders|\footnote{See question 99041 on TeX
-% StackExchange.}
-% \begin{macrocode}
- \skip_horizontal:N \c_zero_dim
- }
-% \end{macrocode}
-% Our |\everycr| has been modified. In particular, the creation of the |row|
-% node is in the |\everycr| (maybe we should put it with the incrementation of
-% |\c@iRow|). Since the following |\cr| correspond to a ``false row'', we have
-% to nullify |\everycr|.
-% \begin{macrocode}
- \everycr { }
- \cr
- \noalign { \skip_vertical:N -\arrayrulewidth }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following version of |\cline| spreads the array of a quantity equal
-% to |\arrayrulewidth| as does |\hline|. It will be loaded excepted if the key
-% |standard-cline| has been used.
-% \begin{macrocode}
-\cs_set:Npn \@@_cline
-% \end{macrocode}
-% We have to act in a fully expandable way since there may be |\noalign| (in the
-% |\multispan|) to detect. That's why we use |\@@_cline_i:en|.
-% \begin{macrocode}
- { \@@_cline_i:en \l_@@_first_col_int }
-% \end{macrocode}
-% The command |\cline_i:nn| has two arguments. The first is the number of the
-% current column (it \emph{must} be used in that column). The second is a
-% standard argument of |\cline| of the form \textsl{i}-\textsl{j} or the form
-% \textsl{i}.
-% \begin{macrocode}
-\cs_set:Npn \@@_cline_i:nn #1 #2 { \@@_cline_i:w #1|#2- \q_stop }
-\cs_set:Npn \@@_cline_i:w #1|#2-#3 \q_stop
- {
- \tl_if_empty:nTF { #3 }
- { \@@_cline_iii:w #1|#2-#2 \q_stop }
- { \@@_cline_ii:w #1|#2-#3 \q_stop }
- }
-\cs_set:Npn \@@_cline_ii:w #1|#2-#3-\q_stop
- { \@@_cline_iii:w #1|#2-#3 \q_stop }
-\cs_set:Npn \@@_cline_iii:w #1|#2-#3 \q_stop
- {
-% \end{macrocode}
-% Now, |#1| is the number of the current column and we have to draw a line from
-% the column |#2| to the column |#3| (both included).
-% \begin{macrocode}
- \int_compare:nNnT { #1 } < { #2 }
- { \multispan { \int_eval:n { #2 - #1 } } & }
- \multispan { \int_eval:n { #3 - #2 + 1 } }
- {
- \CT@arc@
- \leaders \hrule \@height \arrayrulewidth \hfill
- \skip_horizontal:N \c_zero_dim
- }
-% \end{macrocode}
-% You look whether there is another |\cline| to draw (the final user may put
-% several |\cline|).
-% \begin{macrocode}
- \peek_meaning_remove_ignore_spaces:NTF \cline
- { & \@@_cline_i:en { \int_eval:n { #3 + 1 } } }
- { \everycr { } \cr }
- }
-\cs_generate_variant:Nn \@@_cline_i:nn { e n }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command will be nullified in the environment |{NiceTabular}|,
-% |{NiceTabular*}| and |{NiceTabularX}|.
-% \begin{macrocode}
-\cs_set_eq:NN \@@_math_toggle: \c_math_toggle_token
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_CT@arc@:n #1
- {
- \tl_if_blank:nF { #1 }
- {
- \tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@arc@ { \color #1 } }
- { \cs_set:Npn \CT@arc@ { \color { #1 } } }
- }
- }
-\cs_generate_variant:Nn \@@_set_CT@arc@:n { o }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_CT@drsc@:n #1
- {
- \tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@drsc@ { \color #1 } }
- { \cs_set:Npn \CT@drsc@ { \color { #1 } } }
- }
-\cs_generate_variant:Nn \@@_set_CT@drsc@:n { o }
-% \end{macrocode}
-%
-% \bigskip
-% The following command must \emph{not} be protected since it will be used to
-% write instructions in the (internal) |\CodeBefore|.
-% \begin{macrocode}
-\cs_new:Npn \@@_exp_color_arg:Nn #1 #2
- {
- \tl_if_head_eq_meaning:nNTF { #2 } [
- { #1 #2 }
- { #1 { #2 } }
- }
-\cs_generate_variant:Nn \@@_exp_color_arg:Nn { N o }
-% \end{macrocode}
-%
-% The following command must be protected because of its use of the command |\color|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_color:n #1
- { \tl_if_blank:nF { #1 } { \@@_exp_color_arg:Nn \color { #1 } } }
-\cs_generate_variant:Nn \@@_color:n { o }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_pgfpointanchor \pgfpointanchor
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rescan_for_spanish:N #1
- {
- \tl_set_rescan:Nno
- #1
- {
- \char_set_catcode_other:N >
- \char_set_catcode_other:N <
- }
- #1
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{Parameters}
-%
-% \bigskip
-% The following counter will count the environments |{NiceArray}|. The value of
-% this counter will be used to prefix the names of the Tikz nodes created in the
-% array.
-% \begin{macrocode}
-\int_new:N \g_@@_env_int
-% \end{macrocode}
-%
-% \bigskip
-% The following command is only a syntaxic shortcut. It must \emph{not} be
-% protected (it will be used in names of \textsc{pgf} nodes).
-% \begin{macrocode}
-\cs_new:Npn \@@_env: { nm - \int_use:N \g_@@_env_int }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\NiceMatrixLastEnv| is not used by the package \pkg{nicematrix}.
-% It's only a facility given to the final user. It gives the number of the last
-% environment (in fact the number of the current environment but it's meant to
-% be used after the environment in order to refer to that environment --- and
-% its nodes --- without having to give it a name). This command \emph{must} be
-% expandable since it will be used in \pkg{pgf} nodes.
-% \begin{macrocode}
-\NewExpandableDocumentCommand \NiceMatrixLastEnv { }
- { \int_use:N \g_@@_env_int }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command is only a syntaxic shortcut. The |q| in |qpoint| means
-% \emph{quick}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_qpoint:n #1
- { \pgfpointanchor { \@@_env: - #1 } { center } }
-% \end{macrocode}
-%
-% \bigskip
-% If the user uses |{NiceTabular}|, |{NiceTabular*}| or |{NiceTabularX}|, we
-% will raise the following flag.
-% \begin{macrocode}
-\bool_new:N \l_@@_tabular_bool
-% \end{macrocode}
-%
-% \bigskip
-% |\g_@@_delims_bool| will be true for the environments with delimiters (ex. :
-% |{pNiceMatrix}|, |{pNiceArray}|, |\pAutoNiceMatrix|, etc.).
-% \begin{macrocode}
-\bool_new:N \g_@@_delims_bool
-\bool_gset_true:N \g_@@_delims_bool
-% \end{macrocode}
-% In fact, if there is delimiters in the preamble of |{NiceArray}| (eg:
-% |[cccc]|), this boolean will be set to false.
-%
-% \medskip
-% The following boolean will be equal to |true| in the environments which have
-% a preamble (provided by the final user): |{NiceTabular}|, |{NiceArray}|,
-% |{pNiceArray}|, etc.
-% \begin{macrocode}
-\bool_new:N \l_@@_preamble_bool
-\bool_set_true:N \l_@@_preamble_bool
-% \end{macrocode}
-%
-% \medskip
-% We need a special treatment for |{NiceMatrix}| when |vlines| is not used, in
-% order to retrieve |\arraycolsep| on both sides.
-% \begin{macrocode}
-\bool_new:N \l_@@_NiceMatrix_without_vlines_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following counter will count the environments |{NiceMatrixBlock}|.
-% \begin{macrocode}
-\int_new:N \g_@@_NiceMatrixBlock_int
-% \end{macrocode}
-%
-% \bigskip
-% It's possible to put tabular notes (with |\tabularnote|) in the caption if
-% that caption is composed \emph{above} the tabular. In such case, we will count
-% in |\g_@@_notes_caption_int| the number of uses of the command
-% |\tabularnote| \emph{without optional argument} in that caption.
-% \begin{macrocode}
-\int_new:N \g_@@_notes_caption_int
-% \end{macrocode}
-%
-% \bigskip
-% The dimension |\l_@@_columns_width_dim| will be used when the options specify
-% that all the columns must have the same width (but, if the key |columns-width|
-% is used with the special value |auto|, the boolean
-% |\l_@@_auto_columns_width_bool| also will be raised).
-% \begin{macrocode}
-\dim_new:N \l_@@_columns_width_dim
-% \end{macrocode}
-%
-% \bigskip
-% The dimension |\l_@@_col_width_dim| will be available in each cell which
-% belongs to a column of fixed width: |w{...}{...}|, |W{...}{...}|, |p{...}|,
-% |m{...}|, |b{...}| but also |X| (when the actual width of that column is known, that
-% is to say after the first compilation). It's the width of that column. It will
-% be used by some commands |\Block|. A non positive value means that the column
-% has no fixed width (it's a column of type |c|, |r|, |l|, etc.).
-% \begin{macrocode}
-\dim_new:N \l_@@_col_width_dim
-\dim_set:Nn \l_@@_col_width_dim { -1 cm }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following counters will be used to count the numbers of rows and columns
-% of the array.
-% \begin{macrocode}
-\int_new:N \g_@@_row_total_int
-\int_new:N \g_@@_col_total_int
-% \end{macrocode}
-%
-% \bigskip
-% The following parameter will be used by |\@@_create_row_node:| to avoid to
-% create the same row-node twice (at the end of the array).
-% \begin{macrocode}
-\int_new:N \g_@@_last_row_node_int
-% \end{macrocode}
-%
-% \bigskip
-% The following counter corresponds to the key |nb-rows| of the command
-% |\RowStyle|.
-% \begin{macrocode}
-\int_new:N \l_@@_key_nb_rows_int
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following token list will contain the type of horizontal alignment of the
-% current cell as provided by the corresponding column. The possible values are
-% |r|, |l|, |c| and |j|. For example, a column |p[l]{3cm}| will provide the
-% value |l| for all the cells of the column.
-% \begin{macrocode}
-\tl_new:N \l_@@_hpos_cell_tl
-\tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_c_tl
-% \end{macrocode}
-%
-%
-% \bigskip
-% When there is a mono-column block (created by the command |\Block|), we want
-% to take into account the width of that block for the width of the column.
-% That's why we compute the width of that block in the |\g_@@_blocks_wd_dim|
-% and, after the construction of the box |\l_@@_cell_box|, we change the width
-% of that box to take into account the length |\g_@@_blocks_wd_dim|.
-% \begin{macrocode}
-\dim_new:N \g_@@_blocks_wd_dim
-% \end{macrocode}
-%
-% \bigskip
-% Idem for the mono-row blocks.
-% \begin{macrocode}
-\dim_new:N \g_@@_blocks_ht_dim
-\dim_new:N \g_@@_blocks_dp_dim
-% \end{macrocode}
-%
-% \bigskip
-% The following dimension correspond to the key |width| (which may be fixed in
-% |\NiceMatrixOptions| but also in an environment |{NiceTabular}|).
-% \begin{macrocode}
-\dim_new:N \l_@@_width_dim
-% \end{macrocode}
-%
-% \bigskip
-% The sequence |\g_@@_names_seq| will be the list of all the names of
-% environments used (via the option |name|) in the document: two environments
-% must not have the same name. However, it's possible to use the option
-% |allow-duplicate-names|.
-% \begin{macrocode}
-\seq_new:N \g_@@_names_seq
-% \end{macrocode}
-%
-% \bigskip
-% We want to know whether we are in an environment of \pkg{nicematrix} because we
-% will raise an error if the user tries to use nested environments.
-% \begin{macrocode}
-\bool_new:N \l_@@_in_env_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following key corresponds to the key |notes/detect_duplicates|.
-% \begin{macrocode}
-\bool_new:N \l_@@_notes_detect_duplicates_bool
-\bool_set_true:N \l_@@_notes_detect_duplicates_bool
-% \end{macrocode}
-%
-% \bigskip
-% If the user uses |{NiceTabular*}|, the width of the tabular (in the first
-% argument of the environment |{NiceTabular*}|) will be stored in the following
-% dimension.
-% \begin{macrocode}
-\dim_new:N \l_@@_tabular_width_dim
-% \end{macrocode}
-%
-% \bigskip
-% The following dimension will be used for the total width of composite rules
-% (\emph{total} means that the spaces on both sides are included).
-% \begin{macrocode}
-\dim_new:N \l_@@_rule_width_dim
-% \end{macrocode}
-%
-% \bigskip
-% The key |color| in a command of rule such as |\Hline| (or the specifier
-% ``\verb+|+'' in the preamble of an environment).
-% \begin{macrocode}
-\tl_new:N \l_@@_rule_color_tl
-% \end{macrocode}
-%
-% \bigskip
-% The following boolean will be raised when the command |\rotate| is used.
-% \begin{macrocode}
-\bool_new:N \g_@@_rotate_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following boolean will be raise then the command |\rotate| is used with
-% the key |c|.
-% \begin{macrocode}
-\bool_new:N \g_@@_rotate_c_bool
-% \end{macrocode}
-%
-% \bigskip
-% In a cell, it will be possible to know whether we are in a cell of a column of
-% type |X| thanks to that flag.
-% \begin{macrocode}
-\bool_new:N \l_@@_X_bool
-% \end{macrocode}
-%
-% \begin{macrocode}
-\bool_new:N \g_@@_caption_finished_bool
-% \end{macrocode}
-%
-% \bigskip
-% We will write in |\g_@@_aux_tl| all the instructions that we have to write on
-% the |aux| file for the current environment. The contain of that token list
-% will be written on the |aux| file at the end of the environment (in an
-% instruction |\tl_gset:cn { c_@@_ \int_use:N \g_@@_env_int _ tl }|).
-% \begin{macrocode}
-\tl_new:N \g_@@_aux_tl
-% \end{macrocode}
-%
-% During the second run, if informations concerning the current environment has
-% been found in the |aux| file, the following flag will be raised.
-% \begin{macrocode}
-\bool_new:N \g_@@_aux_found_bool
-% \end{macrocode}
-%
-% \bigskip
-% In particuler, in that |aux| file, there will be, for each environment of
-% \pkg{nicematrix}, an affectation for the the following sequence that will
-% contain informations about the size of the array.
-% \begin{macrocode}
-\seq_new:N \g_@@_size_seq
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\tl_new:N \g_@@_left_delim_tl
-\tl_new:N \g_@@_right_delim_tl
-% \end{macrocode}
-%
-% \bigskip
-% The token list |\g_@@_user_preamble_tl| will contain the preamble provided by
-% the the final user of \pkg{nicematrix} (eg the preamble of an environment
-% |{NiceTabular}|).
-% \begin{macrocode}
-\tl_new:N \g_@@_user_preamble_tl
-% \end{macrocode}
-% The token list |\g_@@_array_preamble_tl| will contain the preamble constructed
-% by \pkg{nicematrix} for the environment |{array}| (of \pkg{array}).
-% \begin{macrocode}
-\tl_new:N \g_@@_array_preamble_tl
-% \end{macrocode}
-% For |\multicolumn|.
-% \begin{macrocode}
-\tl_new:N \g_@@_preamble_tl
-% \end{macrocode}
-%
-% \bigskip
-% The following parameter corresponds to the key |columns-type| of the
-% environments |{NiceMatrix}|, |{pNiceMatrix}|, etc. and also the key
-% |matrix / columns-type| of |\NiceMatrixOptions|.
-% \begin{macrocode}
-\tl_new:N \l_@@_columns_type_tl
-\str_set:Nn \l_@@_columns_type_tl { c }
-% \end{macrocode}
-%
-% \bigskip
-% The following parameters correspond to the keys |down|, |up| and |middle| of a
-% command such as |\Cdots|. Usually, the final user doesn't use that keys
-% directly because he uses the syntax with the embellishments |_|, |^| and |:|.
-% \begin{macrocode}
-\tl_new:N \l_@@_xdots_down_tl
-\tl_new:N \l_@@_xdots_up_tl
-\tl_new:N \l_@@_xdots_middle_tl
-% \end{macrocode}
-%
-% \bigskip
-% We will store in the following sequence informations provided by the
-% instructions |\rowlistcolors| in the main array (not in the |\CodeBefore|).
-% \begin{macrocode}
-\seq_new:N \g_@@_rowlistcolors_seq
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_math_mode:
- {
- \if_mode_math: \else:
- \@@_fatal:n { Outside~math~mode }
- \fi:
- }
-% \end{macrocode}
-%
-%
-% The list of the columns where vertical lines in sub-matrices (vlism) must be
-% drawn. Of course, the actual value of this sequence will be known after the
-% analyse of the preamble of the array.
-% \begin{macrocode}
-\seq_new:N \g_@@_cols_vlism_seq
-% \end{macrocode}
-%
-% \bigskip
-% The following colors will be used to memorize the color of the potential ``first
-% col'' and the potential ``first row''.
-% \begin{macrocode}
-\colorlet { nicematrix-last-col } { . }
-\colorlet { nicematrix-last-row } { . }
-% \end{macrocode}
-% \bigskip
-% The following string is the name of the current environment or the current
-% command of \pkg{nicematrix} (despite its name which contains \textsl{env}).
-% \begin{macrocode}
-\str_new:N \g_@@_name_env_str
-% \end{macrocode}
-%
-% \bigskip
-% The following string will contain the word \emph{command} or
-% \emph{environment} whether we are in a command of \pkg{nicematrix} or in an
-% environment of \pkg{nicematrix}. The default value is \emph{environment}.
-% \begin{macrocode}
-\tl_new:N \g_@@_com_or_env_str
-\tl_gset:Nn \g_@@_com_or_env_str { environment }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\bool_new:N \l_@@_bold_row_style_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be able to reconstruct the full name of the current
-% command or environment (despite its name which contains \textsl{env}). This
-% command must \emph{not} be protected since it will be used in error messages
-% and we have to use |\str_if_eq:VnTF| and not |\tl_if_eq:NnTF| because we need
-% to be fully expandable).
-% \begin{macrocode}
-\cs_new:Npn \@@_full_name_env:
- {
- \str_if_eq:VnTF \g_@@_com_or_env_str { command }
- { command \space \c_backslash_str \g_@@_name_env_str }
- { environment \space \{ \g_@@_name_env_str \} }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% For the key |code| of the command |\SubMatrix| (itself in the main
-% |\CodeAfter|), we will use the following token list.
-% \begin{macrocode}
-\tl_new:N \l_@@_code_tl
-% \end{macrocode}
-%
-% \bigskip
-% For the key |pgf-node-code|. That code will be used when the nodes of the
-% cells (that is to say the nodes of the form |i-j|) will be created.
-% \begin{macrocode}
-\tl_new:N \l_@@_pgf_node_code_tl
-% \end{macrocode}
-%
-%
-% \bigskip
-% The so-called |\CodeBefore| is splitted in two parts because we want to control
-% the order of execution of some instructions.
-% \begin{macrocode}
-\tl_new:N \g_@@_pre_code_before_tl
-\tl_new:N \g_nicematrix_code_before_tl
-% \end{macrocode}
-% The value of the key |code-before| will be added to the left of
-% |\g_@@_pre_code_before_tl|. Idem for the code between |\CodeBefore| and
-% |\Body|.
-%
-% \bigskip
-% The so-called |\CodeAfter| is splitted in two parts because we want to control
-% the order of execution of some instructions.
-% \begin{macrocode}
-\tl_new:N \g_@@_pre_code_after_tl
-\tl_new:N \g_nicematrix_code_after_tl
-% \end{macrocode}
-% The |\CodeAfter| provided by the final user (with the key |code-after| or the
-% keyword |\CodeAfter|) will be stored in the second token list.
-%
-% \bigskip
-% \begin{macrocode}
-\bool_new:N \l_@@_in_code_after_bool
-% \end{macrocode}
-%
-% \bigskip
-% The counters |\l_@@_old_iRow_int| and |\l_@@_old_jCol_int| will be used to
-% save the values of the potential LaTeX counters |iRow| and |jCol|. These LaTeX
-% counters will be restored at the end of the environment.
-% \begin{macrocode}
-\int_new:N \l_@@_old_iRow_int
-\int_new:N \l_@@_old_jCol_int
-% \end{macrocode}
-% The TeX counters |\c@iRow| and |\c@jCol| will be created in the beginning of
-% |{NiceArrayWithDelims}| (if they don't exist previously).
-%
-% \bigskip
-% The following sequence will contain the names (without backslash) of the
-% commands created by |custom-line| by the key |command| or |ccommand| (commands
-% used by the final user in order to draw horizontal rules).
-% \begin{macrocode}
-\seq_new:N \l_@@_custom_line_commands_seq
-% \end{macrocode}
-%
-% \bigskip
-% The following token list corresponds to the key |rules/color| available
-% in the environments.
-% \begin{macrocode}
-\tl_new:N \l_@@_rules_color_tl
-% \end{macrocode}
-%
-% \bigskip
-% The sum of the weights of all the |X|-columns in the preamble. The weight of a
-% |X|-column is given as an optional argument between square brackets. The
-% default value, of course, is $1$.
-% \begin{macrocode}
-\int_new:N \g_@@_total_X_weight_int
-% \end{macrocode}
-%
-% If there is at least one |X|-column in the preamble of the array, the
-% following flag will be raised via the |aux| file. The length
-% |l_@@_x_columns_dim| will be the width of |X|-columns of weight $1$ (the width
-% of a column of weigth $n$ will be that dimension multiplied by~$n$). That
-% value is computed after the construction of the array during the first
-% compilation in order to be used in the following run.
-% \begin{macrocode}
-\bool_new:N \l_@@_X_columns_aux_bool
-\dim_new:N \l_@@_X_columns_dim
-% \end{macrocode}
-%
-%
-% \bigskip
-% This boolean will be used only to detect in an expandable way whether we are
-% at the beginning of the (potential) column zero, in order to raise an error if
-% |\Hdotsfor| is used in that column.
-% \begin{macrocode}
-\bool_new:N \g_@@_after_col_zero_bool
-% \end{macrocode}
-%
-% \bigskip
-% A kind of false row will be inserted at the end of the array for the
-% construction of the |col| nodes (and also to fix the width of the columns when
-% |columns-width| is used). When this special row will be created, we will raise
-% the flag |\g_@@_row_of_col_done_bool| in order to avoid some actions set in
-% the redefinition of |\everycr| when the last |\cr| of the |\halign| will occur
-% (after that row of |col| nodes).
-% \begin{macrocode}
-\bool_new:N \g_@@_row_of_col_done_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% It's possible to use the command |\NotEmpty| to specify explicitely that a
-% cell must be considered as non empty by \pkg{nicematrix} (the Tikz nodes are
-% constructed only in the non empty cells).
-% \begin{macrocode}
-\bool_new:N \g_@@_not_empty_cell_bool
-% \end{macrocode}
-%
-% \bigskip
-% |\l_@@_code_before_tl| may contain two types of informations:
-% \begin{itemize}
-% \item A |code-before| written in the |aux| file by a previous run. When the
-% |aux| file is read, this |code-before| is stored in
-% |\g_@@_code_before_|\textsl{i}|_tl| (where \textsl{i} is the number of the
-% environment) and, at the beginning of the environment, it will be put in
-% |\l_@@_code_before_tl|.
-% \item The final user can explicitly add material in |\l_@@_code_before_tl| by
-% using the key |code-before| or the keyword |\CodeBefore| (with the keyword
-% |\Body|).
-% \end{itemize}
-% \begin{macrocode}
-\tl_new:N \l_@@_code_before_tl
-\bool_new:N \l_@@_code_before_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following token list will contain the code inserted in each cell of the
-% current row (this token list will be cleared at the beginning of each row).
-% \begin{macrocode}
-\tl_new:N \g_@@_row_style_tl
-% \end{macrocode}
-%
-% \bigskip
-% The following dimensions will be used when drawing the dotted lines.
-% \begin{macrocode}
-\dim_new:N \l_@@_x_initial_dim
-\dim_new:N \l_@@_y_initial_dim
-\dim_new:N \l_@@_x_final_dim
-\dim_new:N \l_@@_y_final_dim
-% \end{macrocode}
-%
-% \bigskip
-% The L3 programming layer provides scratch dimensions |\l_tmpa_dim| and
-% |\l_tmpb_dim|. We creates two more in the same spirit.
-% \begin{macrocode}
-\dim_zero_new:N \l_@@_tmpc_dim
-\dim_zero_new:N \l_@@_tmpd_dim
-% \end{macrocode}
-%
-% \bigskip
-% Some cells will be declared as ``empty'' (for example a cell with an
-% instruction |\Cdots|).
-% \begin{macrocode}
-\bool_new:N \g_@@_empty_cell_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following dimensions will be used internally to compute the width of the
-% potential ``first column'' and ``last column''.
-% \begin{macrocode}
-\dim_new:N \g_@@_width_last_col_dim
-\dim_new:N \g_@@_width_first_col_dim
-% \end{macrocode}
-%
-% \bigskip
-% The following sequence will contain the characteristics of the blocks of the
-% array, specified by the command |\Block|. Each block is represented by 6
-% components surrounded by curly braces:
-%
-% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|\textsl{options}|}{|\textsl{contents}|}|.
-%
-% The variable is global because it will be modified in the cells of the array.
-% \begin{macrocode}
-\seq_new:N \g_@@_blocks_seq
-% \end{macrocode}
-% We also manage a sequence of the \emph{positions} of the blocks. In that
-% sequence, each block is represented by only five components:
-% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|%
-% \textsl{name}|}|. A block with the key |hvlines| won't appear in that
-% sequence (otherwise, the lines in that block would not be drawn!).
-% \begin{macrocode}
-\seq_new:N \g_@@_pos_of_blocks_seq
-% \end{macrocode}
-% In fact, this sequence will also contain the positions of the cells with a
-% |\diagbox|. The sequence |\g_@@_pos_of_blocks_seq| will be used when we will
-% draw the rules (which respect the blocks).
-%
-% \bigskip
-% We will also manage a sequence for the positions of the dotted lines. These
-% dotted lines are created in the array by |\Cdots|, |\Vdots|, |\Ddots|, etc.
-% However, their positions, that is to say, their extremities, will be
-% determined only after the construction of the array. In this sequence, each
-% item contains five components:
-% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|%
-% \textsl{name}|}|.
-% \begin{macrocode}
-\seq_new:N \g_@@_pos_of_xdots_seq
-% \end{macrocode}
-% The sequence |\g_@@_pos_of_xdots_seq| will be used when we will draw the rules
-% required by the key |hvlines| (these rules won't be drawn within the virtual
-% blocks corresponding to the dotted lines).
-%
-% \medskip
-% The final user may decide to ``stroke'' a block (using, for example, the key
-% |draw=red!15| when using the command |\Block|). In that case, the rules
-% specified, for instance, by |hvlines| must not be drawn around the block.
-% That's why we keep the information of all that stroken blocks in the following
-% sequence.
-% \begin{macrocode}
-\seq_new:N \g_@@_pos_of_stroken_blocks_seq
-% \end{macrocode}
-%
-%
-% \medskip
-% If the user has used the key |corners|, all the cells which are in an (empty)
-% corner will be stored in the following sequence.
-% \begin{macrocode}
-\seq_new:N \l_@@_corners_cells_seq
-% \end{macrocode}
-%
-% \medskip
-% The list of the names of the potential |\SubMatrix| in the |\CodeAfter| of an
-% environment. Unfortunately, that list has to be global (we have to use it
-% inside the group for the options of a given |\SubMatrix|).
-% \begin{macrocode}
-\seq_new:N \g_@@_submatrix_names_seq
-% \end{macrocode}
-%
-% \medskip
-% The following flag will be raised if the key |width| is used in an environment
-% |{NiceTabular}| (not in a command |\NiceMatrixOptions|). You use it to raise
-% an error when this key is used while no column |X| is used.
-% \begin{macrocode}
-\bool_new:N \l_@@_width_used_bool
-% \end{macrocode}
-%
-% \medskip
-% The sequence |\g_@@_multicolumn_cells_seq| will contain the list of the cells
-% of the array where a command |\multicolumn{|$n$|}{...}{...}| with $n>1$ is
-% issued. In |\g_@@_multicolumn_sizes_seq|, the ``sizes'' (that is to say the
-% values of $n$) correspondant will be stored. These lists will be used for the
-% creation of the ``medium nodes'' (if they are created).
-% \begin{macrocode}
-\seq_new:N \g_@@_multicolumn_cells_seq
-\seq_new:N \g_@@_multicolumn_sizes_seq
-% \end{macrocode}
-%
-% \medskip
-% The following counters will be used when searching the extremities of a dotted
-% line (we need these counters because of the potential ``open'' lines in the
-% |\SubMatrix|---the |\SubMatrix| in the |code-before|).
-% \begin{macrocode}
-\int_new:N \l_@@_row_min_int
-\int_new:N \l_@@_row_max_int
-\int_new:N \l_@@_col_min_int
-\int_new:N \l_@@_col_max_int
-% \end{macrocode}
-% \medskip
-% The following counters will be used when drawing the rules.
-% \begin{macrocode}
-\int_new:N \l_@@_start_int
-\int_set_eq:NN \l_@@_start_int \c_one_int
-\int_new:N \l_@@_end_int
-\int_new:N \l_@@_local_start_int
-\int_new:N \l_@@_local_end_int
-% \end{macrocode}
-%
-% \medskip
-% The following sequence will be used when the command |\SubMatrix| is used in
-% the |\CodeBefore| (and not in the |\CodeAfter|). It will contain the position of
-% all the sub-matrices specified in the |\CodeBefore|. Each sub-matrix is
-% represented by an ``object'' of the form |{|$i$|}{|$j$|}{|$k$|}{|$l$|}|
-% where $i$ and $j$ are the number of row and column of the upper-left cell and
-% $k$ and $l$ the number of row and column of the lower-right cell.
-% \begin{macrocode}
-\seq_new:N \g_@@_submatrix_seq
-% \end{macrocode}
-%
-% \medskip
-% We are able to determine the number of columns specified in the preamble (for
-% the environments with explicit preamble of course and without the potential
-% exterior columns).
-% \begin{macrocode}
-\int_new:N \g_@@_static_num_of_col_int
-% \end{macrocode}
-%
-% \medskip
-% The following parameters correspond to the keys |fill|, |opacity|, |draw|,
-% |tikz|, |borders|, and |rounded-corners| of the command |\Block|.
-% \begin{macrocode}
-\tl_new:N \l_@@_fill_tl
-\tl_new:N \l_@@_opacity_tl
-\tl_new:N \l_@@_draw_tl
-\seq_new:N \l_@@_tikz_seq
-\clist_new:N \l_@@_borders_clist
-\dim_new:N \l_@@_rounded_corners_dim
-% \end{macrocode}
-% The last parameter has no direct link with the [empty] corners of the array
-% (which are computed and taken into account by \pkg{nicematrix} when the key
-% |corners| is used).
-%
-% \medskip
-% The following dimension corresponds to the key |rounded-corners| available in
-% an individual environment |{NiceTabular}|. When that key is used, a clipping
-% is applied in the |\CodeBefore| of the environment in order to have rounded
-% corners for the potential colored panels.
-% \begin{macrocode}
-\dim_new:N \l_@@_tab_rounded_corners_dim
-% \end{macrocode}
-%
-% \medskip
-% The following token list correspond to the key |color| of the command |\Block|
-% and also the key |color| of the command |\RowStyle|.
-% \begin{macrocode}
-\tl_new:N \l_@@_color_tl
-% \end{macrocode}
-%
-% \medskip
-% In the key |tikz| of a command |\Block| or in the argument of a command
-% |\TikzEveryCell|, the final user puts a list of tikz keys. But, you have added
-% another key, named |offset| (which means that an offset will be used for the
-% frame of the block or the cell). The following parameter corresponds to that key.
-% \begin{macrocode}
-\dim_new:N \l_@@_offset_dim
-% \end{macrocode}
-%
-% \medskip
-% Here is the dimension for the width of the rule when a block (created by
-% |\Block|) is stroked.
-% \begin{macrocode}
-\dim_new:N \l_@@_line_width_dim
-% \end{macrocode}
-%
-% \medskip
-% The parameters of the horizontal position of the label of a block. If the user
-% uses the key |c| or |C|, the value is |c|. If the user uses the key |l| or
-% |L|, the value is |l|. If the user uses the key |r| or |R|, the value is |r|.
-% If the user has used a capital letter, the boolean
-% |\l_@@_hpos_of_block_cap_bool| will be raised (in the second pass of the
-% analyze of the keys of the command |\Block|).
-% \begin{macrocode}
-\str_new:N \l_@@_hpos_block_str
-\str_set:Nn \l_@@_hpos_block_str { c }
-\bool_new:N \l_@@_hpos_of_block_cap_bool
-% \end{macrocode}
-%
-% \medskip
-% If the final user has used the special color ``|nocolor|'', the following flag
-% will be raised.
-% \begin{macrocode}
-\bool_new:N \@@_nocolor_used_bool
-% \end{macrocode}
-%
-% \medskip
-% For the vertical position, the possible values are |c|, |t| and |b|.
-% \begin{macrocode}
-\str_new:N \l_@@_vpos_block_str
-\str_set:Nn \l_@@_vpos_block_str { c }
-% \end{macrocode}
-%
-%
-% \medskip
-% Used when the key |draw-first| is used for |\Ddots| or |\Iddots|.
-% \begin{macrocode}
-\bool_new:N \l_@@_draw_first_bool
-% \end{macrocode}
-%
-% \medskip
-% The following flag corresponds to the keys |vlines| and |hlines| of the
-% command |\Block| (the key |hvlines| is the conjunction of both).
-% \begin{macrocode}
-\bool_new:N \l_@@_vlines_block_bool
-\bool_new:N \l_@@_hlines_block_bool
-% \end{macrocode}
-%
-%
-% \medskip
-% The blocks which use the key |-| will store their content in a box. These
-% boxes are numbered with the following counter.
-% \begin{macrocode}
-\int_new:N \g_@@_block_box_int
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\dim_new:N \l_@@_submatrix_extra_height_dim
-\dim_new:N \l_@@_submatrix_left_xshift_dim
-\dim_new:N \l_@@_submatrix_right_xshift_dim
-\clist_new:N \l_@@_hlines_clist
-\clist_new:N \l_@@_vlines_clist
-\clist_new:N \l_@@_submatrix_hlines_clist
-\clist_new:N \l_@@_submatrix_vlines_clist
-% \end{macrocode}
-%
-% \medskip
-% The following key is set when the keys |hvlines| and |hvlines-except-borders|
-% are used. It's used only to change slightly the clipping path set by the key
-% |rounded-corners| (for a |{tabular}|).
-% \begin{macrocode}
-\bool_new:N \l_@@_hvlines_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following flag will be used by (for instance) |\@@_vline_ii:|.
-% When |\l_@@_dotted_bool| is |true|, a dotted line (with our system) will be drawn.
-% \begin{macrocode}
-\bool_new:N \l_@@_dotted_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following flag will be set to true during the composition of a caption
-% specified (by the key |caption|).
-% \begin{macrocode}
-\bool_new:N \l_@@_in_caption_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% \textbf{Variables for the exterior rows and columns}\par\nobreak
-%
-% \medskip
-% The keys for the exterior rows and columns are |first-row|, |first-col|,
-% |last-row| and |last-col|. However, internally, these keys are not coded in a
-% similar way.
-%
-% \bigskip
-% \begin{itemize}
-% \item \textbf{First row}\par\nobreak
-% The integer |\l_@@_first_row_int| is the number of the first row of the
-% array. The default value is $1$, but, if the option |first-row| is used,
-% the value will be~$0$.
-% \begin{macrocode}
-\int_new:N \l_@@_first_row_int
-\int_set:Nn \l_@@_first_row_int 1
-% \end{macrocode}
-%
-% \medskip
-% \item \textbf{First column}\par\nobreak
-% The integer |\l_@@_first_col_int| is the number of the first column of the
-% array. The default value is $1$, but, if the option |first-col| is used,
-% the value will be~$0$.
-% \begin{macrocode}
-\int_new:N \l_@@_first_col_int
-\int_set_eq:NN \l_@@_first_col_int \c_one_int
-% \end{macrocode}
-%
-% \medskip
-% \item \textbf{Last row}\par\nobreak
-% The counter |\l_@@_last_row_int| is the number of the potential ``last row'',
-% as specified by the key |last-row|. A value of $-2$ means that there is no
-% ``last row''. A value of $-1$ means that there is a ``last row'' but we don't
-% know the number of that row (the key |last-row| has been used without value
-% and the actual value has not still been read in the |aux| file).
-% \begin{macrocode}
-\int_new:N \l_@@_last_row_int
-\int_set:Nn \l_@@_last_row_int { -2 }
-% \end{macrocode}
-%
-% \smallskip
-% If, in an environment like |{pNiceArray}|, the option |last-row| is used
-% without value, we will globally raise the following flag. It will be used to
-% know if we have, after the construction of the array, to write in the |aux|
-% file the number of the ``last row''.\footnote{We can't use
-% |\l_@@_last_row_int| for this usage because, if \pkg{nicematrix} has read its
-% value from the |aux| file, the value of the counter won't be $-1$ any longer.}
-% \begin{macrocode}
-\bool_new:N \l_@@_last_row_without_value_bool
-% \end{macrocode}
-%
-% \smallskip
-% Idem for |\l_@@_last_col_without_value_bool|
-% \begin{macrocode}
-\bool_new:N \l_@@_last_col_without_value_bool
-% \end{macrocode}
-%
-% \medskip
-% \item \textbf{Last column}\par\nobreak
-%
-% For the potential ``last column'', we use an integer. A value of $-2$ means
-% that there is no last column. A value of $-1$ means that we are in an
-% environment without preamble (e.g. |{bNiceMatrix}|) and there is a last column
-% but we don't know its value because the user has used the option |last-col|
-% without value. A value of $0$ means that the option |last-col| has been used
-% in an environment with preamble (like |{pNiceArray}|): in this case, the key
-% was necessary without argument. The command |\NiceMatrixOptions| also sets
-% |\l_@@_last_col_int| to~$0$.
-% \begin{macrocode}
-\int_new:N \l_@@_last_col_int
-\int_set:Nn \l_@@_last_col_int { -2 }
-% \end{macrocode}
-%
-% However, we have also a boolean. Consider the following code:
-% \begin{center}
-% \begin{BVerbatim}
-% \begin{pNiceArray}{cc}[last-col]
-% 1 & 2 \\
-% 3 & 4
-% \end{pNiceArray}
-% \end{BVerbatim}
-% \end{center}
-% In such a code, the ``last column'' specified by the key |last-col| is not
-% used. We want to be able to detect such a situation and we create a boolean
-% for that job.
-% \begin{macrocode}
-\bool_new:N \g_@@_last_col_found_bool
-% \end{macrocode}
-% This boolean is set to |false| at the end of |\@@_pre_array_ii:|.
-%
-% \medskip
-% In the last column, we will raise the following flag (it will be used by
-% |\OnlyMainNiceMatrix|).
-% \begin{macrocode}
-\bool_new:N \l_@@_in_last_col_bool
-% \end{macrocode}
-% \end{itemize}
-%
-% \bigskip
-% \textbf{Some utilities}
-%
-% \medskip
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_cut_on_hyphen:w #1-#2\q_stop
- {
- \cs_set_nopar:Npn \l_tmpa_tl { #1 }
- \cs_set_nopar:Npn \l_tmpb_tl { #2 }
- }
-% \end{macrocode}
-%
-%
-% The following takes as argument the name of a |clist| and which should be a
-% list of intervals of integers. It \emph{expands} that list, that is to say,
-% it replaces (by a sort of |mapcan| or |flat_map|) the interval by the explicit
-% list of the integers.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_expand_clist:N #1
- {
- \clist_if_in:NVF #1 \c_@@_all_tl
- {
- \clist_clear:N \l_tmpa_clist
- \clist_map_inline:Nn #1
- {
- \tl_if_in:nnTF { ##1 } { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- {
- \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
- \cs_set_nopar:Npn \l_tmpb_tl { ##1 }
- }
- \int_step_inline:nnn { \l_tmpa_tl } { \l_tmpb_tl }
- { \clist_put_right:Nn \l_tmpa_clist { ####1 } }
- }
- \tl_set_eq:NN #1 \l_tmpa_clist
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following internal parameters are for:
-% \begin{itemize}
-% \item |\Ldots| \emph{with both extremities open} (and hence also |\Hdotsfor| in an
-% exterior row;
-% \item |\Vdots| \emph{with both extremities open} (and hence also |\Vdotsfor| in an
-% exterior column;
-% \item when the special character ``|:|'' is used in order to put the label of
-% a so-called ``dotted line'' \emph{on the line}, a margin of
-% |\c_@@_innersep_middle_dim| will be added around the label.
-% \end{itemize}
-%
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \dim_const:Nn \c_@@_shift_Ldots_last_row_dim { 0.5 em }
- \dim_const:Nn \c_@@_shift_exterior_Vdots_dim { 0.6 em }
- \dim_const:Nn \c_@@_innersep_middle_dim { 0.17 em }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The command \textbackslash tabularnote}
-%
-% \bigskip
-% Of course, it's possible to use |\tabularnote| in the main tabular. But there
-% is also the possibility to use that command in the caption of the tabular. And
-% the caption may be specified by two means:
-%
-% \begin{itemize}
-% \item The caption may of course be provided by the command |\caption| in a
-% floating environment. Of course, a command |\tabularnote| in that |\caption|
-% makes sens only if the |\caption| is \emph{before} the |{tabular}|.
-% \item It's also possible to use |\tabularnote| in the value of the key
-% |caption| of the |{NiceTabular}| when the key |caption-above| is in force.
-% However, in that case, one must remind that the caption is composed
-% \emph{after} the composition of the box which contains the main tabular
-% (that's mandatory since that caption must be wrapped with a line width equal
-% to the width ot the tabular). However, we want the labels of the successive
-% tabular notes in the logical order. That's why:
-% \begin{itemize}
-% \item The number of tabular notes present in the caption will be written on
-% the |aux| file and available in |\g_@@_notes_caption_int|.\footnote{More
-% precisely, it's the number of tabular notes which do not use the optional
-% argument of |\tabularnote|.}
-% \item During the composition of the main tabular, the tabular notes will be
-% numbered from |\g_@@_notes_caption_int|+1 and the notes will be stored in
-% |\g_@@_notes_seq|. Each component of |\g_@@_notes_seq| will be a kind of
-% couple of the form : \texttt{\{\textsl{label}\}\{\textsl{text of the
-% tabularnote}\}}. The first component is the optional argument (between square
-% brackets) of the command |\tabularnote| (if the optional argument is not used,
-% the value will be the special marker expressed by |\c_novalue_tl|).
-% \item During the composition of the caption (value of |\l_@@_caption_tl|), the
-% tabular notes will be numbered from $1$ to |\g_@@_notes_caption_int| and the
-% notes themselves will be stored in |\g_@@_notes_in_caption_seq|. The structure
-% of the components of that sequence will be the same as for |\g_@@_notes_seq|.
-% \item After the composition of the main tabular and after the composition of
-% the caption, the sequences |\g_@@_notes_in_caption_seq| and |\g_@@_notes_seq|
-% will be merged (in that order) and the notes will be composed.
-% \end{itemize}
-% \end{itemize}
-%
-%
-% \bigskip
-% The LaTeX counter |tabularnote| will be used to count the tabular notes during
-% the construction of the array (this counter won't be used during the
-% composition of the notes at the end of the array). You use a LaTeX counter
-% because we will use |\refstepcounter| in order to have the tabular notes
-% referenceable.
-% \begin{macrocode}
-\newcounter { tabularnote }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\seq_new:N \g_@@_notes_seq
-\seq_new:N \g_@@_notes_in_caption_seq
-% \end{macrocode}
-%
-% \bigskip
-% Before the actual tabular notes, it's possible to put a text
-% specified by the key |tabularnote| of the environment. The token list
-% |\g_@@_tabularnote_tl| corresponds to the value of that key.
-% \begin{macrocode}
-\tl_new:N \g_@@_tabularnote_tl
-% \end{macrocode}
-%
-% \bigskip
-% We prepare the tools for the formatting of the references of the footnotes (in
-% the tabular itself). There may have several references of footnote at the same
-% point and we have to take into account that point.
-% \begin{macrocode}
-\seq_new:N \l_@@_notes_labels_seq
-\newcounter{nicematrix_draft}
-\cs_new_protected:Npn \@@_notes_format:n #1
- {
- \setcounter { nicematrix_draft } { #1 }
- \@@_notes_style:n { nicematrix_draft }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following function can be redefined by using the key |notes/style|.
-% \begin{macrocode}
-\cs_new:Npn \@@_notes_style:n #1 { \textit { \alph { #1 } } }
-% \end{macrocode}
-%
-% \bigskip
-% The following fonction can be redefined by using the key
-% |notes/label-in-tabular|.
-% \begin{macrocode}
-\cs_new:Npn \@@_notes_label_in_tabular:n #1 { \textsuperscript { #1 } }
-% \end{macrocode}
-%
-% \bigskip
-% The following function can be redefined by using the key |notes/label-in-list|.
-% \begin{macrocode}
-\cs_new:Npn \@@_notes_label_in_list:n #1 { \textsuperscript { #1 } }
-% \end{macrocode}
-%
-% \bigskip
-% We define |\thetabularnote| because it will be used by LaTeX if the user want
-% to reference a tabular which has been marked by a |\label|. The TeX group is
-% for the case where the user has put an instruction such as |\color{red}| in
-% |\@@_notes_style:n|.
-% \begin{macrocode}
-\cs_set:Npn \thetabularnote { { \@@_notes_style:n { tabularnote } } }
-% \end{macrocode}
-%
-% \bigskip
-% The tabular notes will be available for the final user only when
-% \pkg{enumitem} is loaded. Indeed, the tabular notes will be composed at the end
-% of the array with a list customized by \pkg{enumitem} (a list |tabularnotes|
-% in the general case and a list |tabularnotes*| if the key |para| is in force).
-% However, we can test whether \pkg{enumitem} has been loaded only at the
-% beginning of the document (we want to allow the user to load \pkg{enumitem}
-% after \pkg{nicematrix}).
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { enumitem }
- {
-% \end{macrocode}
-% The type of list |tabularnotes| will be used to format the tabular notes at
-% the end of the array in the general case and |tabularnotes*| will be used if
-% the key |para| is in force.
-% \begin{macrocode}
- \newlist { tabularnotes } { enumerate } { 1 }
- \setlist [ tabularnotes ]
- {
- topsep = 0pt ,
- noitemsep ,
- leftmargin = * ,
- align = left ,
- labelsep = 0pt ,
- label =
- \@@_notes_label_in_list:n { \@@_notes_style:n { tabularnotesi } } ,
- }
- \newlist { tabularnotes* } { enumerate* } { 1 }
- \setlist [ tabularnotes* ]
- {
- afterlabel = \nobreak ,
- itemjoin = \quad ,
- label =
- \@@_notes_label_in_list:n { \@@_notes_style:n { tabularnotes*i } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% One must remind that we have allowed a |\tabular| in the caption and
-% that caption may also be found in the list of tables (|\listoftables|). We
-% want the command |\tabularnote| be no-op during the composition of that list.
-% That's why we program |\tabularnote| to be no-op excepted in a floating
-% environment or in an environment of \pkg{nicematrix}.
-% \begin{macrocode}
- \NewDocumentCommand \tabularnote { o m }
- {
- \bool_lazy_or:nnT { \cs_if_exist_p:N \@captype } \l_@@_in_env_bool
- {
- \bool_lazy_and:nnTF { ! \l_@@_tabular_bool } \l_@@_in_env_bool
- { \@@_error:n { tabularnote~forbidden } }
- {
- \bool_if:NTF \l_@@_in_caption_bool
- \@@_tabularnote_caption:nn
- \@@_tabularnote:nn
- { #1 } { #2 }
- }
- }
- }
- }
- {
- \NewDocumentCommand \tabularnote { o m }
- {
- \@@_error_or_warning:n { enumitem~not~loaded }
- \@@_gredirect_none:n { enumitem~not~loaded }
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_first_novalue:nnn #1 #2 #3
- { \tl_if_novalue:nT { #1 } { #3 } }
-% \end{macrocode}
-%
-% \bigskip
-% For the version in normal conditions, that is to say not in the |caption|.
-% |#1| is the optional argument of |\tabularnote| (maybe equal to the special
-% marker expressed by |\c_novalue_tl|) and |#2| is the mandatory argument of
-% |\tabularnote|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_tabularnote:nn #1 #2
- {
-% \end{macrocode}
-% You have to see whether the argument of |\tabularnote| has yet been used as
-% argument of another |\tabularnote| in the same tabular. In that case, there
-% will be only one note (for both commands |\tabularnote|) at the end of the
-% tabular. We search the argument of our command |\tabularnote| in
-% |\g_@@_notes_seq|. The position in the sequence will be stored in
-% |\l_tmpa_int| (0 if the text is not in the sequence yet).
-% \begin{macrocode}
- \int_zero:N \l_tmpa_int
- \bool_if:NT \l_@@_notes_detect_duplicates_bool
- {
-% \end{macrocode}
-% We recall that each component of |\g_@@_notes_seq| is a kind of couple of the form
-% \begin{center}
-% \texttt{\{\textsl{label}\}\{\textsl{text of the tabularnote}\}}.
-% \end{center}
-% If the user have used |\tabularnote| without the optional argument, the
-% \texttt{\textsl{label}} will be the special marker expressed by |\c_novalue_tl|.
-%
-% When we will go through the sequence |\g_@@_notes_seq|, we will count in
-% |\l_tmpb_int| the notes without explicit label in order to have the
-% ``current'' value of the counter |\c@tabularnote|.
-% \begin{macrocode}
- \int_zero:N \l_tmpb_int
- \seq_map_indexed_inline:Nn \g_@@_notes_seq
- {
- \@@_test_first_novalue:nnn ##2 { \int_incr:N \l_tmpb_int }
- \tl_if_eq:nnT { { #1 } { #2 } } { ##2 }
- {
- \tl_if_novalue:nTF { #1 }
- { \int_set_eq:NN \l_tmpa_int \l_tmpb_int }
- { \int_set:Nn \l_tmpa_int { ##1 } }
- \seq_map_break:
- }
- }
- \int_if_zero:nF \l_tmpa_int
- { \int_add:Nn \l_tmpa_int \g_@@_notes_caption_int }
- }
- \int_if_zero:nT \l_tmpa_int
- {
- \seq_gput_right:Nn \g_@@_notes_seq { { #1 } { #2 } }
- \tl_if_novalue:nT { #1 } { \int_gincr:N \c@tabularnote }
- }
- \seq_put_right:Nx \l_@@_notes_labels_seq
- {
- \tl_if_novalue:nTF { #1 }
- {
- \@@_notes_format:n
- {
- \int_eval:n
- {
- \int_if_zero:nTF \l_tmpa_int
- \c@tabularnote
- \l_tmpa_int
- }
- }
- }
- { #1 }
- }
- \peek_meaning:NF \tabularnote
- {
-% \end{macrocode}
-% If the following token is \emph{not} a |\tabularnote|, we have finished the
-% sequence of successive commands |\tabularnote| and we have to format the
-% labels of these tabular notes (in the array). We compose those labels in a box
-% |\l_tmpa_box| because we will do a special construction in order to have this
-% box in an overlapping position if we are at the end of a cell when
-% |\l_@@_hpos_cell_tl| is equal to |c| or |r|.
-% \begin{macrocode}
- \hbox_set:Nn \l_tmpa_box
- {
-% \end{macrocode}
-% We remind that it is the command |\@@_notes_label_in_tabular:n| that will
-% put the labels in a |\textsuperscript|.
-% \begin{macrocode}
- \@@_notes_label_in_tabular:n
- {
- \seq_use:Nnnn
- \l_@@_notes_labels_seq { , } { , } { , }
- }
- }
-% \end{macrocode}
-% We want the (last) tabular note referenceable (with the standard command |\label|).
-% \begin{macrocode}
- \int_gdecr:N \c@tabularnote
- \int_set_eq:NN \l_tmpa_int \c@tabularnote
- \refstepcounter { tabularnote }
- \int_compare:nNnT \l_tmpa_int = \c@tabularnote
- { \int_gincr:N \c@tabularnote }
- \seq_clear:N \l_@@_notes_labels_seq
- \bool_lazy_or:nnTF
- { \tl_if_eq_p:NN \l_@@_hpos_cell_tl \c_@@_c_tl }
- { \tl_if_eq_p:NN \l_@@_hpos_cell_tl \c_@@_r_tl }
- {
- \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
-% \end{macrocode}
-% If the command |\tabularnote| is used exactly at the end of the cell, the
-% |\unskip| (inserted by \pkg{array}?) will delete the skip we insert now
-% and the label of the footnote will be composed in an overlapping position (by
-% design).
-% \begin{macrocode}
- \skip_horizontal:n { \box_wd:N \l_tmpa_box }
- }
- { \box_use:N \l_tmpa_box }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Now the version when the command is used in the key |caption|. The main
-% difficulty is that the argument of the command |\caption| is composed several
-% times. In order to know the number of commands |\tabularnote| in the caption,
-% we will consider that there should not be the same tabular note twice in the
-% caption (in the main tabular, it's possible). Once we have found a tabular
-% note which has yet been encountered, we consider that you are in a new
-% composition of the argument of |\caption|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_tabularnote_caption:nn #1 #2
- {
- \bool_if:NTF \g_@@_caption_finished_bool
- {
- \int_compare:nNnT \c@tabularnote = \g_@@_notes_caption_int
- { \int_gzero:N \c@tabularnote }
-% \end{macrocode}
-% Now, we try to detect duplicate notes in the caption.
-% Be careful! We must put |\tl_if_in:NnF| and not |\tl_if_in:NnT|!
-% \begin{macrocode}
- \seq_if_in:NnF \g_@@_notes_in_caption_seq { { #1 } { #2 } }
- { \@@_error:n { Identical~notes~in~caption } }
- }
- {
-% \end{macrocode}
-% In the following code, we are in the first composition of the caption or at
-% the first |\tabularnote| of the second composition.
-% \begin{macrocode}
- \seq_if_in:NnTF \g_@@_notes_in_caption_seq { { #1 } { #2 } }
- {
-% \end{macrocode}
-% Now, we know that are in the second composition of the caption since we are
-% reading a tabular note which has yet been read. Now, the value of
-% |\g_@@_notes_caption_int| won't change anymore: it's the number of uses
-% \emph{without optional argument} of the command |\tabularnote| in the caption.
-% \begin{macrocode}
- \bool_gset_true:N \g_@@_caption_finished_bool
- \int_gset_eq:NN \g_@@_notes_caption_int \c@tabularnote
- \int_gzero:N \c@tabularnote
- }
- { \seq_gput_right:Nn \g_@@_notes_in_caption_seq { { #1 } { #2 } } }
- }
-% \end{macrocode}
-% Now, we will compose the label of the footnote (in the caption). Even if we
-% are not in the first composition, we have to compose that label!
-% \begin{macrocode}
- \tl_if_novalue:nT { #1 } { \int_gincr:N \c@tabularnote }
- \seq_put_right:Nx \l_@@_notes_labels_seq
- {
- \tl_if_novalue:nTF { #1 }
- { \@@_notes_format:n { \int_use:N \c@tabularnote } }
- { #1 }
- }
- \peek_meaning:NF \tabularnote
- {
- \@@_notes_label_in_tabular:n
- { \seq_use:Nnnn \l_@@_notes_labels_seq { , } { , } { , } }
- \seq_clear:N \l_@@_notes_labels_seq
- }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_count_novalue_first:nn #1 #2
- { \tl_if_novalue:nT { #1 } { \int_gincr:N \g_@@_notes_caption_int } }
-% \end{macrocode}
-%
-%
-% \section{Command for creation of rectangle nodes}
-%
-% The following command should be used in a |{pgfpicture}|. It creates a
-% rectangle (empty but with a name).
-%
-% |#1| is the name of the node which will be created;
-% |#2| and |#3| are the coordinates of one of the corner of the rectangle;
-% |#4| and |#5| are the coordinates of the opposite corner.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pgf_rect_node:nnnnn #1 #2 #3 #4 #5
- {
- \begin { pgfscope }
- \pgfset
- {
- inner~sep = \c_zero_dim ,
- minimum~size = \c_zero_dim
- }
- \pgftransformshift { \pgfpoint { 0.5 * ( #2 + #4 ) } { 0.5 * ( #3 + #5 ) } }
- \pgfnode
- { rectangle }
- { center }
- {
- \vbox_to_ht:nn
- { \dim_abs:n { #5 - #3 } }
- {
- \vfill
- \hbox_to_wd:nn { \dim_abs:n { #4 - #2 } } { }
- }
- }
- { #1 }
- { }
- \end { pgfscope }
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\@@_pgf_rect_node:nnn| is a variant of |\@@_pgf_rect_node:nnnnn|:
-% it takes two \textsc{pgf} points as arguments instead of the four dimensions
-% which are the coordinates.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pgf_rect_node:nnn #1 #2 #3
- {
- \begin { pgfscope }
- \pgfset
- {
- inner~sep = \c_zero_dim ,
- minimum~size = \c_zero_dim
- }
- \pgftransformshift { \pgfpointscale { 0.5 } { \pgfpointadd { #2 } { #3 } } }
- \pgfpointdiff { #3 } { #2 }
- \pgfgetlastxy \l_tmpa_dim \l_tmpb_dim
- \pgfnode
- { rectangle }
- { center }
- {
- \vbox_to_ht:nn
- { \dim_abs:n \l_tmpb_dim }
- { \vfill \hbox_to_wd:nn { \dim_abs:n \l_tmpa_dim } { } }
- }
- { #1 }
- { }
- \end { pgfscope }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The options}
-%
-% The following parameter corresponds to the keys |caption|, |short-caption| and
-% |label| of the environment |{NiceTabular}|.
-% \begin{macrocode}
-\tl_new:N \l_@@_caption_tl
-\tl_new:N \l_@@_short_caption_tl
-\tl_new:N \l_@@_label_tl
-% \end{macrocode}
-%
-% \bigskip
-% The following parameter corresponds to the key |caption-above| of
-% |\NiceMatrixOptions|. When this paremeter is |true|, the captions of the
-% environments |{NiceTabular}|, specified with the key |caption| are put above
-% the tabular (and below elsewhere).
-% \begin{macrocode}
-\bool_new:N \l_@@_caption_above_bool
-% \end{macrocode}
-%
-% \bigskip
-% By default, the commands |\cellcolor| and |\rowcolor| are available for the
-% user in the cells of the tabular (the user may use the commands provided by
-% |\colortbl|). However, if the key |color-inside| is used, these
-% commands are available.
-% \begin{macrocode}
-\bool_new:N \l_@@_color_inside_bool
-% \end{macrocode}
-%
-% \bigskip
-% By default, the behaviour of |\cline| is changed in the environments of
-% \pkg{nicematrix}: a |\cline| spreads the array by an amount equal to
-% |\arrayrulewidth|. It's possible to disable this feature with the key
-% |\l_@@_standard_line_bool|.
-% \begin{macrocode}
-\bool_new:N \l_@@_standard_cline_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following dimensions correspond to the options |cell-space-top-limit| and co
-% (these parameters are inspired by the package \pkg{cellspace}).
-% \begin{macrocode}
-\dim_new:N \l_@@_cell_space_top_limit_dim
-\dim_new:N \l_@@_cell_space_bottom_limit_dim
-% \end{macrocode}
-%
-% \bigskip
-% The following parameter corresponds to the key |xdots/horizontal_labels|.
-% \begin{macrocode}
-\bool_new:N \l_@@_xdots_h_labels_bool
-% \end{macrocode}
-% \bigskip
-% The following dimension is the distance between two dots for the dotted lines
-% (when |line-style| is equal to |standard|, which is the initial value). The
-% initial value is 0.45~em but it will be changed if the option |small| is used.
-% \begin{macrocode}
-\dim_new:N \l_@@_xdots_inter_dim
-\hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_inter_dim { 0.45 em } }
-% \end{macrocode}
-% The unit is |em| and that's why we fix the dimension after the preamble.
-%
-% \bigskip
-% The following dimension is the distance between a node (in fact an
-% anchor of that node) and a dotted line (for real dotted lines, the actual
-% distance may, of course, be a bit larger, depending of the exact position of
-% the dots).
-% \begin{macrocode}
-\dim_new:N \l_@@_xdots_shorten_start_dim
-\dim_new:N \l_@@_xdots_shorten_end_dim
-\hook_gput_code:nnn { begindocument } { . }
- {
- \dim_set:Nn \l_@@_xdots_shorten_start_dim { 0.3 em }
- \dim_set:Nn \l_@@_xdots_shorten_end_dim { 0.3 em }
- }
-% \end{macrocode}
-% The unit is |em| and that's why we fix the dimension after the preamble.
-%
-% \bigskip
-% The following dimension is the radius of the dots for the dotted lines (when
-% |line-style| is equal to |standard|, which is the initial value). The initial
-% value is 0.53~pt but it will be changed if the option |small| is used.
-% \begin{macrocode}
-\dim_new:N \l_@@_xdots_radius_dim
-\hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_radius_dim { 0.53 pt } }
-% \end{macrocode}
-% The unit is |em| and that's why we fix the dimension after the preamble.
-%
-%
-% \bigskip
-% The token list |\l_@@_xdots_line_style_tl| corresponds to the option |tikz| of the
-% commands |\Cdots|, |\Ldots|, etc. and of the options |line-style| for the
-% environments and |\NiceMatrixOptions|. The constant |\c_@@_standard_tl| will
-% be used in some tests.
-% \begin{macrocode}
-\tl_new:N \l_@@_xdots_line_style_tl
-\tl_const:Nn \c_@@_standard_tl { standard }
-\tl_set_eq:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl
-% \end{macrocode}
-%
-% \bigskip
-% The boolean |\l_@@_light_syntax_bool| corresponds to the option |light-syntax|
-% and the boolean |\l_@@_light_syntax_expanded_bool| correspond to the the
-% option |light-syntax-expanded|.
-% \begin{macrocode}
-\bool_new:N \l_@@_light_syntax_bool
-\bool_new:N \l_@@_light_syntax_expanded_bool
-% \end{macrocode}
-%
-% \bigskip
-% The string |\l_@@_baseline_tl| may contain one of the three values |t|,
-% |c| or |b| as in the option of the environment |{array}|. However, it may also
-% contain an integer (which represents the number of the row to which align the
-% array).
-% \begin{macrocode}
-\tl_new:N \l_@@_baseline_tl
-\tl_set:Nn \l_@@_baseline_tl { c }
-% \end{macrocode}
-%
-% \bigskip
-% The flag |\l_@@_exterior_arraycolsep_bool| corresponds to the option
-% |exterior-arraycolsep|. If this option is set, a space equal to |\arraycolsep|
-% will be put on both sides of an environment |{NiceArray}| (as it is done in
-% |{array}| of \pkg{array}).
-% \begin{macrocode}
-\bool_new:N \l_@@_exterior_arraycolsep_bool
-% \end{macrocode}
-%
-% \bigskip
-% The flag |\l_@@_parallelize_diags_bool| controls whether the diagonals are
-% parallelized. The initial value is~|true|.
-% \begin{macrocode}
-\bool_new:N \l_@@_parallelize_diags_bool
-\bool_set_true:N \l_@@_parallelize_diags_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following parameter correspond to the key |corners|. The elements of that
-% |clist| must be within |NW|, |SW|, |NE| and |SE|.
-% \begin{macrocode}
-\clist_new:N \l_@@_corners_clist
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\dim_new:N \l_@@_notes_above_space_dim
-\hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_notes_above_space_dim { 1 mm } }
-% \end{macrocode}
-% We use a hook only by security in case \cls{revtex4-1} is used (even though it
-% is obsolete).
-%
-% \bigskip
-% The flag |\l_@@_nullify_dots_bool| corresponds to the option |nullify-dots|.
-% When the flag is down, the instructions like |\vdots| are inserted within a
-% |\hphantom| (and so the constructed matrix has exactly the same size as a
-% matrix constructed with the classical |{matrix}| and |\ldots|, |\vdots|,
-% etc.).
-% \begin{macrocode}
-\bool_new:N \l_@@_nullify_dots_bool
-% \end{macrocode}
-%
-% \medskip
-% When the key |respect-arraystretch| is used, the following command will be nullified.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_reset_arraystretch:
- { \cs_set_nopar:Npn \arraystretch { 1 } }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following flag will be used when the current options specify that all the
-% columns of the array must have the same width equal to the largest width of a
-% cell of the array (except the cells of the potential exterior columns).
-% \begin{macrocode}
-\bool_new:N \l_@@_auto_columns_width_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following boolean corresponds to the key |create-cell-nodes| of the
-% keyword |\CodeBefore|.
-% \begin{macrocode}
-\bool_new:N \g_@@_recreate_cell_nodes_bool
-% \end{macrocode}
-%
-% \bigskip
-% The string |\l_@@_name_str| will contain the optional name of the
-% environment: this name can be used to access to the Tikz nodes created in the
-% array from outside the environment.
-% \begin{macrocode}
-\str_new:N \l_@@_name_str
-% \end{macrocode}
-%
-% \bigskip
-% The boolean |\l_@@_medium_nodes_bool| will be used to indicate whether the
-% ``medium nodes'' are created in the array. Idem for the ``large nodes''.
-% \begin{macrocode}
-\bool_new:N \l_@@_medium_nodes_bool
-\bool_new:N \l_@@_large_nodes_bool
-% \end{macrocode}
-%
-% \bigskip
-% The boolean |\l_@@_except_borders_bool| will be raised when the key
-% |hvlines-except-borders| will be used (but that key has also other effects).
-% \begin{macrocode}
-\bool_new:N \l_@@_except_borders_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% The dimension |\l_@@_left_margin_dim| correspond to the option |left-margin|.
-% Idem for the right margin. These parameters are involved in the creation of
-% the ``medium nodes'' but also in the placement of the delimiters and the
-% drawing of the horizontal dotted lines (|\hdottedline|).
-% \begin{macrocode}
-\dim_new:N \l_@@_left_margin_dim
-\dim_new:N \l_@@_right_margin_dim
-% \end{macrocode}
-%
-%
-% \bigskip
-% The dimensions |\l_@@_extra_left_margin_dim| and
-% |\l_@@_extra_right_margin_dim| correspond to the options |extra-left-margin|
-% and |extra-right-margin|.
-% \begin{macrocode}
-\dim_new:N \l_@@_extra_left_margin_dim
-\dim_new:N \l_@@_extra_right_margin_dim
-% \end{macrocode}
-%
-% \medskip
-% The token list |\l_@@_end_of_row_tl| corresponds to the option |end-of-row|.
-% It specifies the symbol used to mark the ends of rows when the light syntax is
-% used.
-% \begin{macrocode}
-\tl_new:N \l_@@_end_of_row_tl
-\tl_set:Nn \l_@@_end_of_row_tl { ; }
-% \end{macrocode}
-%
-% \medskip
-% The following parameter is for the color the dotted lines drawn by |\Cdots|,
-% |\Ldots|, |\Vdots|, |\Ddots|, |\Iddots| and |\Hdotsfor| but \emph{not} the
-% dotted lines drawn by |\hdottedline| and ``|:|''.
-% \begin{macrocode}
-\tl_new:N \l_@@_xdots_color_tl
-% \end{macrocode}
-%
-% \bigskip
-% The following token list corresponds to the key |delimiters/color|.
-% \begin{macrocode}
-\tl_new:N \l_@@_delimiters_color_tl
-% \end{macrocode}
-%
-%
-% \bigskip
-% Sometimes, we want to have several arrays vertically juxtaposed in order to
-% have an alignment of the columns of these arrays. To acheive this goal, one
-% may wish to use the same width for all the columns (for example with the
-% option |columns-width| or the option |auto-columns-width| of the environment
-% |{NiceMatrixBlock}|). However, even if we use the same type of delimiters, the
-% width of the delimiters may be different from an array to another because the
-% width of the delimiter is fonction of its size. That's why we create an option
-% called |delimiters/max-width| which will give to the delimiters the width of
-% a delimiter (of the same type) of big size. The following boolean corresponds
-% to this option.
-% \begin{macrocode}
-\bool_new:N \l_@@_delimiters_max_width_bool
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / xdots }
- {
- shorten-start .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 } } ,
- shorten-end .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 } } ,
- shorten-start .value_required:n = true ,
- shorten-end .value_required:n = true ,
- shorten .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- {
- \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 }
- \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 }
- } ,
- shorten .value_required:n = true ,
- horizontal-labels .bool_set:N = \l_@@_xdots_h_labels_bool ,
- horizontal-labels .default:n = true ,
- line-style .code:n =
- {
- \bool_lazy_or:nnTF
- { \cs_if_exist_p:N \tikzpicture }
- { \str_if_eq_p:nn { #1 } { standard } }
- { \tl_set:Nn \l_@@_xdots_line_style_tl { #1 } }
- { \@@_error:n { bad~option~for~line-style } }
- } ,
- line-style .value_required:n = true ,
- color .tl_set:N = \l_@@_xdots_color_tl ,
- color .value_required:n = true ,
- radius .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_radius_dim { #1 } } ,
- radius .value_required:n = true ,
- inter .code:n =
- \hook_gput_code:nnn { begindocument } { . }
- { \dim_set:Nn \l_@@_xdots_inter_dim { #1 } } ,
- radius .value_required:n = true ,
-% \end{macrocode}
-% The options |down|, |up| and |middle| are not documented for the final user
-% because he should use the syntax with |^|, |_| and |:|. We use
-% |\tl_put_right:Nn| and not |\tl_set:Nn| (or |.tl_set:N|) because we don't want
-% a direct use of |up=...| erased by a absent |^{...}|.
-% \begin{macrocode}
- down .code:n = \tl_put_right:Nn \l_@@_xdots_down_tl { #1 } ,
- up .code:n = \tl_put_right:Nn \l_@@_xdots_up_tl { #1 } ,
- middle .code:n = \tl_put_right:Nn \l_@@_xdots_middle_tl { #1 } ,
-% \end{macrocode}
-% The key |draw-first|, which is meant to be used only with |\Ddots| and
-% |\Iddots|, will be catched when |\Ddots| or |\Iddots| is used (during the
-% construction of the array and not when we draw the dotted lines).
-% \begin{macrocode}
- draw-first .code:n = \prg_do_nothing: ,
- unknown .code:n = \@@_error:n { Unknown~key~for~xdots }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rules }
- {
- color .tl_set:N = \l_@@_rules_color_tl ,
- color .value_required:n = true ,
- width .dim_set:N = \arrayrulewidth ,
- width .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~rules }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% First, we define a set of keys ``|NiceMatrix / Global|'' which will be used
-% (with the mechanism of |.inherit:n|) by other sets of keys.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Global }
- {
- no-cell-nodes .code:n =
- \cs_set_protected:Npn \@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box } ,
- no-cell-nodes .value_forbidden:n = true ,
- rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
- rounded-corners .default:n = 4 pt ,
- custom-line .code:n = \@@_custom_line:n { #1 } ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
- rules .value_required:n = true ,
- standard-cline .bool_set:N = \l_@@_standard_cline_bool ,
- standard-cline .default:n = true ,
- cell-space-top-limit .dim_set:N = \l_@@_cell_space_top_limit_dim ,
- cell-space-top-limit .value_required:n = true ,
- cell-space-bottom-limit .dim_set:N = \l_@@_cell_space_bottom_limit_dim ,
- cell-space-bottom-limit .value_required:n = true ,
- cell-space-limits .meta:n =
- {
- cell-space-top-limit = #1 ,
- cell-space-bottom-limit = #1 ,
- } ,
- cell-space-limits .value_required:n = true ,
- xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
- light-syntax .code:n =
- \bool_set_true:N \l_@@_light_syntax_bool
- \bool_set_false:N \l_@@_light_syntax_expanded_bool ,
- light-syntax .value_forbidden:n = true ,
- light-syntax-expanded .code:n =
- \bool_set_true:N \l_@@_light_syntax_bool
- \bool_set_true:N \l_@@_light_syntax_expanded_bool ,
- light-syntax-expanded .value_forbidden:n = true ,
- end-of-row .tl_set:N = \l_@@_end_of_row_tl ,
- end-of-row .value_required:n = true ,
- first-col .code:n = \int_zero:N \l_@@_first_col_int ,
- first-row .code:n = \int_zero:N \l_@@_first_row_int ,
- last-row .int_set:N = \l_@@_last_row_int ,
- last-row .default:n = -1 ,
- code-for-first-col .tl_set:N = \l_@@_code_for_first_col_tl ,
- code-for-first-col .value_required:n = true ,
- code-for-last-col .tl_set:N = \l_@@_code_for_last_col_tl ,
- code-for-last-col .value_required:n = true ,
- code-for-first-row .tl_set:N = \l_@@_code_for_first_row_tl ,
- code-for-first-row .value_required:n = true ,
- code-for-last-row .tl_set:N = \l_@@_code_for_last_row_tl ,
- code-for-last-row .value_required:n = true ,
- hlines .clist_set:N = \l_@@_hlines_clist ,
- vlines .clist_set:N = \l_@@_vlines_clist ,
- hlines .default:n = all ,
- vlines .default:n = all ,
- vlines-in-sub-matrix .code:n =
- {
- \tl_if_single_token:nTF { #1 }
- {
- \tl_if_in:NnTF \c_@@_forbidden_letters_tl { #1 }
- { \@@_error:nn { Forbidden~letter } { #1 } }
-% \end{macrocode}
-% We write directly a command for the automata which reads the preamble provided
-% by the final user.
-% \begin{macrocode}
- { \cs_set_eq:cN { @@ _ #1 } \@@_make_preamble_vlism:n }
- }
- { \@@_error:n { One~letter~allowed } }
- } ,
- vlines-in-sub-matrix .value_required:n = true ,
- hvlines .code:n =
- {
- \bool_set_true:N \l_@@_hvlines_bool
- \tl_set_eq:NN \l_@@_vlines_clist \c_@@_all_tl
- \tl_set_eq:NN \l_@@_hlines_clist \c_@@_all_tl
- } ,
- hvlines-except-borders .code:n =
- {
- \tl_set_eq:NN \l_@@_vlines_clist \c_@@_all_tl
- \tl_set_eq:NN \l_@@_hlines_clist \c_@@_all_tl
- \bool_set_true:N \l_@@_hvlines_bool
- \bool_set_true:N \l_@@_except_borders_bool
- } ,
- parallelize-diags .bool_set:N = \l_@@_parallelize_diags_bool ,
-% \end{macrocode}
-%
-% \bigskip
-% With the option |renew-dots|, the command |\cdots|, |\ldots|, |\vdots|,
-% |\ddots|, etc. are redefined and behave like the commands |\Cdots|, |\Ldots|,
-% |\Vdots|, |\Ddots|, etc.
-% \begin{macrocode}
- renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
- renew-dots .value_forbidden:n = true ,
- nullify-dots .bool_set:N = \l_@@_nullify_dots_bool ,
- create-medium-nodes .bool_set:N = \l_@@_medium_nodes_bool ,
- create-large-nodes .bool_set:N = \l_@@_large_nodes_bool ,
- create-extra-nodes .meta:n =
- { create-medium-nodes , create-large-nodes } ,
- left-margin .dim_set:N = \l_@@_left_margin_dim ,
- left-margin .default:n = \arraycolsep ,
- right-margin .dim_set:N = \l_@@_right_margin_dim ,
- right-margin .default:n = \arraycolsep ,
- margin .meta:n = { left-margin = #1 , right-margin = #1 } ,
- margin .default:n = \arraycolsep ,
- extra-left-margin .dim_set:N = \l_@@_extra_left_margin_dim ,
- extra-right-margin .dim_set:N = \l_@@_extra_right_margin_dim ,
- extra-margin .meta:n =
- { extra-left-margin = #1 , extra-right-margin = #1 } ,
- extra-margin .value_required:n = true ,
- respect-arraystretch .code:n =
- \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
- respect-arraystretch .value_forbidden:n = true ,
- pgf-node-code .tl_set:N = \l_@@_pgf_node_code_tl ,
- pgf-node-code .value_required:n = true
- }
-% \end{macrocode}
-%
-% \bigskip
-% We define a set of keys used by the environments of \pkg{nicematrix} (but not
-% by the command |\NiceMatrixOptions|).
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Env }
- {
- corners .clist_set:N = \l_@@_corners_clist ,
- corners .default:n = { NW , SW , NE , SE } ,
- code-before .code:n =
- {
- \tl_if_empty:nF { #1 }
- {
- \tl_gput_left:Nn \g_@@_pre_code_before_tl { #1 }
- \bool_set_true:N \l_@@_code_before_bool
- }
- } ,
- code-before .value_required:n = true ,
-% \end{macrocode}
-% \bigskip
-% The options |c|, |t| and |b| of the environment |{NiceArray}| have the same
-% meaning as the option of the classical environment |{array}|.
-% \begin{macrocode}
- c .code:n = \tl_set:Nn \l_@@_baseline_tl c ,
- t .code:n = \tl_set:Nn \l_@@_baseline_tl t ,
- b .code:n = \tl_set:Nn \l_@@_baseline_tl b ,
- baseline .tl_set:N = \l_@@_baseline_tl ,
- baseline .value_required:n = true ,
- columns-width .code:n =
- \tl_if_eq:nnTF { #1 } { auto }
- { \bool_set_true:N \l_@@_auto_columns_width_bool }
- { \dim_set:Nn \l_@@_columns_width_dim { #1 } } ,
- columns-width .value_required:n = true ,
- name .code:n =
-% \end{macrocode}
-% We test whether we are in the measuring phase of an environment of
-% \pkg{amsmath} (always loaded by \pkg{nicematrix}) because we want to avoid a
-% fallacious message of duplicate name in this case.
-% \begin{macrocode}
- \legacy_if:nF { measuring@ }
- {
- \str_set:Nx \l_tmpa_str { #1 }
- \seq_if_in:NVTF \g_@@_names_seq \l_tmpa_str
- { \@@_error:nn { Duplicate~name } { #1 } }
- { \seq_gput_left:NV \g_@@_names_seq \l_tmpa_str }
- \str_set_eq:NN \l_@@_name_str \l_tmpa_str
- } ,
- name .value_required:n = true ,
- code-after .tl_gset:N = \g_nicematrix_code_after_tl ,
- code-after .value_required:n = true ,
- color-inside .code:n =
- \bool_set_true:N \l_@@_color_inside_bool
- \bool_set_true:N \l_@@_code_before_bool ,
- color-inside .value_forbidden:n = true ,
- colortbl-like .meta:n = color-inside
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / notes }
- {
- para .bool_set:N = \l_@@_notes_para_bool ,
- para .default:n = true ,
- code-before .tl_set:N = \l_@@_notes_code_before_tl ,
- code-before .value_required:n = true ,
- code-after .tl_set:N = \l_@@_notes_code_after_tl ,
- code-after .value_required:n = true ,
- bottomrule .bool_set:N = \l_@@_notes_bottomrule_bool ,
- bottomrule .default:n = true ,
- style .cs_set:Np = \@@_notes_style:n #1 ,
- style .value_required:n = true ,
- label-in-tabular .cs_set:Np = \@@_notes_label_in_tabular:n #1 ,
- label-in-tabular .value_required:n = true ,
- label-in-list .cs_set:Np = \@@_notes_label_in_list:n #1 ,
- label-in-list .value_required:n = true ,
- enumitem-keys .code:n =
- {
- \hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { enumitem }
- { \setlist* [ tabularnotes ] { #1 } }
- { }
- }
- } ,
- enumitem-keys .value_required:n = true ,
- enumitem-keys-para .code:n =
- {
- \hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { enumitem }
- { \setlist* [ tabularnotes* ] { #1 } }
- { }
- }
- } ,
- enumitem-keys-para .value_required:n = true ,
- detect-duplicates .bool_set:N = \l_@@_notes_detect_duplicates_bool ,
- detect-duplicates .default:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~notes }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / delimiters }
- {
- max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
- max-width .default:n = true ,
- color .tl_set:N = \l_@@_delimiters_color_tl ,
- color .value_required:n = true ,
- }
-% \end{macrocode}
-%
-% \bigskip
-% We begin the construction of the major sets of keys (used by the different
-% user commands and environments).
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix }
- {
- NiceMatrixOptions .inherit:n =
- { NiceMatrix / Global } ,
- NiceMatrixOptions / xdots .inherit:n = NiceMatrix / xdots ,
- NiceMatrixOptions / rules .inherit:n = NiceMatrix / rules ,
- NiceMatrixOptions / notes .inherit:n = NiceMatrix / notes ,
- NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- SubMatrix / rules .inherit:n = NiceMatrix / rules ,
- CodeAfter / xdots .inherit:n = NiceMatrix / xdots ,
- CodeBefore / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceMatrix .inherit:n =
- {
- NiceMatrix / Global ,
- NiceMatrix / Env ,
- } ,
- NiceMatrix / xdots .inherit:n = NiceMatrix / xdots ,
- NiceMatrix / rules .inherit:n = NiceMatrix / rules ,
- NiceTabular .inherit:n =
- {
- NiceMatrix / Global ,
- NiceMatrix / Env
- } ,
- NiceTabular / xdots .inherit:n = NiceMatrix / xdots ,
- NiceTabular / rules .inherit:n = NiceMatrix / rules ,
- NiceTabular / notes .inherit:n = NiceMatrix / notes ,
- NiceArray .inherit:n =
- {
- NiceMatrix / Global ,
- NiceMatrix / Env ,
- } ,
- NiceArray / xdots .inherit:n = NiceMatrix / xdots ,
- NiceArray / rules .inherit:n = NiceMatrix / rules ,
- pNiceArray .inherit:n =
- {
- NiceMatrix / Global ,
- NiceMatrix / Env ,
- } ,
- pNiceArray / xdots .inherit:n = NiceMatrix / xdots ,
- pNiceArray / rules .inherit:n = NiceMatrix / rules ,
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% We finalise the definition of the set of keys
-% ``|NiceMatrix / NiceMatrixOptions|'' with the options specific to
-% |\NiceMatrixOptions|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrixOptions }
- {
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
- delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
- delimiters .value_required:n = true ,
- width .dim_set:N = \l_@@_width_dim ,
- width .value_required:n = true ,
- last-col .code:n =
- \tl_if_empty:nF { #1 }
- { \@@_error:n { last-col~non~empty~for~NiceMatrixOptions } }
- \int_zero:N \l_@@_last_col_int ,
- small .bool_set:N = \l_@@_small_bool ,
- small .value_forbidden:n = true ,
-% \end{macrocode}
-%
-% With the option |renew-matrix|, the environment |{matrix}| of \pkg{amsmath}
-% and its variants are redefined to behave like the environment |{NiceMatrix}|
-% and its variants.
-% \begin{macrocode}
- renew-matrix .code:n = \@@_renew_matrix: ,
- renew-matrix .value_forbidden:n = true ,
-% \end{macrocode}
-%
-% \bigskip
-% The option |exterior-arraycolsep| will have effect only in |{NiceArray}| for
-% those who want to have for |{NiceArray}| the same behaviour as |{array}|.
-% \begin{macrocode}
- exterior-arraycolsep .bool_set:N = \l_@@_exterior_arraycolsep_bool ,
-% \end{macrocode}
-%
-% \bigskip
-% If the option |columns-width| is used, all the columns will have the same
-% width.
-%
-% In |\NiceMatrixOptions|, the special value |auto| is not available.
-% \begin{macrocode}
- columns-width .code:n =
- \tl_if_eq:nnTF { #1 } { auto }
- { \@@_error:n { Option~auto~for~columns-width } }
- { \dim_set:Nn \l_@@_columns_width_dim { #1 } } ,
-% \end{macrocode}
-%
-% \bigskip
-% Usually, an error is raised when the user tries to give the same name to two
-% distincts environments of \pkg{nicematrix} (these names are global and not
-% local to the current TeX scope). However, the option |allow-duplicate-names|
-% disables this feature.
-% \begin{macrocode}
- allow-duplicate-names .code:n =
- \@@_msg_redirect_name:nn { Duplicate~name } { none } ,
- allow-duplicate-names .value_forbidden:n = true ,
- notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
- notes .value_required:n = true ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
- sub-matrix .value_required:n = true ,
- matrix / columns-type .tl_set:N = \l_@@_columns_type_tl ,
- matrix / columns-type .value_required:n = true ,
- caption-above .bool_set:N = \l_@@_caption_above_bool ,
- caption-above .default:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrixOptions }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% |\NiceMatrixOptions| is the command of the \pkg{nicematrix} package to fix
-% options at the document level. The scope of these specifications is the
-% current TeX group.
-% \begin{macrocode}
-\NewDocumentCommand \NiceMatrixOptions { m }
- { \keys_set:nn { NiceMatrix / NiceMatrixOptions } { #1 } }
-% \end{macrocode}
-%
-%
-% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceMatrix|''.
-% That set of keys will be used by |{NiceMatrix}|, |{pNiceMatrix}|,
-% |{bNiceMatrix}|, etc.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrix }
- {
- last-col .code:n = \tl_if_empty:nTF { #1 }
- {
- \bool_set_true:N \l_@@_last_col_without_value_bool
- \int_set:Nn \l_@@_last_col_int { -1 }
- }
- { \int_set:Nn \l_@@_last_col_int { #1 } } ,
- columns-type .tl_set:N = \l_@@_columns_type_tl ,
- columns-type .value_required:n = true ,
- l .meta:n = { columns-type = l } ,
- r .meta:n = { columns-type = r } ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
- delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
- delimiters .value_required:n = true ,
- small .bool_set:N = \l_@@_small_bool ,
- small .value_forbidden:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrix }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceArray|''
-% with the options specific to |{NiceArray}|.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceArray }
- {
-% \end{macrocode}
-%
-% In the environments |{NiceArray}| and its variants, the option |last-col| must
-% be used without value because the number of columns of the array is read
-% from the preamble of the array.
-% \begin{macrocode}
- small .bool_set:N = \l_@@_small_bool ,
- small .value_forbidden:n = true ,
- last-col .code:n = \tl_if_empty:nF { #1 }
- { \@@_error:n { last-col~non~empty~for~NiceArray } }
- \int_zero:N \l_@@_last_col_int ,
- r .code:n = \@@_error:n { r~or~l~with~preamble } ,
- l .code:n = \@@_error:n { r~or~l~with~preamble } ,
- unknown .code:n = \@@_error:n { Unknown~key~for~NiceArray }
- }
-% \end{macrocode}
-%
-%
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / pNiceArray }
- {
- first-col .code:n = \int_zero:N \l_@@_first_col_int ,
- last-col .code:n = \tl_if_empty:nF {#1}
- { \@@_error:n { last-col~non~empty~for~NiceArray } }
- \int_zero:N \l_@@_last_col_int ,
- first-row .code:n = \int_zero:N \l_@@_first_row_int ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
- delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
- delimiters .value_required:n = true ,
- small .bool_set:N = \l_@@_small_bool ,
- small .value_forbidden:n = true ,
- r .code:n = \@@_error:n { r~or~l~with~preamble } ,
- l .code:n = \@@_error:n { r~or~l~with~preamble } ,
- unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrix }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceTabular|''
-% with the options specific to |{NiceTabular}|.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceTabular }
- {
-% \end{macrocode}
-% The dimension |width| will be used if at least a column of type |X| is used.
-% If there is no column of type |X|, an error will be raised.
-% \begin{macrocode}
- width .code:n = \dim_set:Nn \l_@@_width_dim { #1 }
- \bool_set_true:N \l_@@_width_used_bool ,
- width .value_required:n = true ,
- notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
- tabularnote .tl_gset:N = \g_@@_tabularnote_tl ,
- tabularnote .value_required:n = true ,
- caption .tl_set:N = \l_@@_caption_tl ,
- caption .value_required:n = true ,
- short-caption .tl_set:N = \l_@@_short_caption_tl ,
- short-caption .value_required:n = true ,
- label .tl_set:N = \l_@@_label_tl ,
- label .value_required:n = true ,
- last-col .code:n = \tl_if_empty:nF {#1}
- { \@@_error:n { last-col~non~empty~for~NiceArray } }
- \int_zero:N \l_@@_last_col_int ,
- r .code:n = \@@_error:n { r~or~l~with~preamble } ,
- l .code:n = \@@_error:n { r~or~l~with~preamble } ,
- unknown .code:n = \@@_error:n { Unknown~key~for~NiceTabular }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The |\CodeAfter| (inserted with the key |code-after| or after the keyword
-% |\CodeAfter|) may always begin with a list of pairs \textsl{key=value} between
-% square brackets. Here is the corresponding set of keys.
-%
-% We \emph{must} put the following instructions \emph{after} the :
-%
-% \begin{verbatim}
-% CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
-% \end{verbatim}
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / CodeAfter }
- {
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
- rules .value_required:n = true ,
- xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
- sub-matrix .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{Important code used by \{NiceArrayWithDelims\} }
-%
-% The pseudo-environment |\@@_cell_begin:w|--|\@@_cell_end:| will be used to format the
-% cells of the array. In the code, the affectations are global because this
-% pseudo-environment will be used in the cells of a |\halign| (via an
-% environment |{array}|).
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cell_begin:w
- {
-% \end{macrocode}
-% |\g_@@_cell_after_hook_tl| will be set during the composition of the box
-% |\l_@@_cell_box| and will be used \emph{after} the composition in order to
-% modify that box.
-% \begin{macrocode}
- \tl_gclear:N \g_@@_cell_after_hook_tl
-% \end{macrocode}
-% At the beginning of the cell, we link |\CodeAfter| to a command which do
-% begin with |\\| (whereas the standard version of |\CodeAfter| does
-% not).
-% \begin{macrocode}
- \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
-% \end{macrocode}
-% We increment the LaTeX counter |jCol|, which is the counter of the columns.
-% \begin{macrocode}
- \int_gincr:N \c@jCol
-% \end{macrocode}
-% Now, we increment the counter of the rows. We don't do this incrementation in
-% the |\everycr| because some packages, like \pkg{arydshln}, create special rows
-% in the |\halign| that we don't want to take into account.
-% \begin{macrocode}
- \int_compare:nNnT \c@jCol = \c_one_int
- { \int_compare:nNnT \l_@@_first_col_int = \c_one_int \@@_begin_of_row: }
-% \end{macrocode}
-% The content of the cell is composed in the box |\l_@@_cell_box|. The
-% |\hbox_set_end:| corresponding to this |\hbox_set:Nw| is in the
-% |\@@_cell_end:|.
-% \begin{macrocode}
- \hbox_set:Nw \l_@@_cell_box
-% \end{macrocode}
-% The following command is nullified in the tabulars.
-% \begin{macrocode}
- \@@_tuning_not_tabular_begin:
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@@_tuning_first_row:
- \@@_tuning_last_row:
- \g_@@_row_style_tl
- }
-% \end{macrocode}
-%
-% The following command will be nullified unless there is a first row.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_tuning_first_row:
- {
- \int_if_zero:nT \c@iRow
- {
- \int_compare:nNnT \c@jCol > \c_zero_int
- {
- \l_@@_code_for_first_row_tl
- \xglobal \colorlet { nicematrix-first-row } { . }
- }
- }
- }
-% \end{macrocode}
-%
-% The following command will be nullified unless there is a last row and we
-% know its value (\emph{ie}: |\l_@@_lat_row_int > 0|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_tuning_last_row:
- {
- \int_compare:nNnT \c@iRow = \l_@@_last_row_int
- {
- \l_@@_code_for_last_row_tl
- \xglobal \colorlet { nicematrix-last-row } { . }
- }
- }
-% \end{macrocode}
-%
-% A different value will be provided to the following command when the key
-% |small| is in force.
-% \begin{macrocode}
-\cs_set_eq:NN \@@_tuning_key_small: \prg_do_nothing:
-% \end{macrocode}
-%
-% The following commands are nullified in the tabulars.
-% \begin{macrocode}
-\cs_set_nopar:Npn \@@_tuning_not_tabular_begin:
- {
- \c_math_toggle_token
-% \end{macrocode}
-% A special value is provided by the following controls sequence when the key
-% |small| is in force.
-% \begin{macrocode}
- \@@_tuning_key_small:
- }
-\cs_set_eq:NN \@@_tuning_not_tabular_end: \c_math_toggle_token
-% \end{macrocode}
-%
-% \interitem
-% The following macro |\@@_begin_of_row| is usually used in the cell
-% number~$1$ of the row. However, when the key |first-col| is used,
-% |\@@_begin_of_row| is executed in the cell number~$0$ of the row.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_begin_of_row:
- {
- \int_gincr:N \c@iRow
- \dim_gset_eq:NN \g_@@_dp_ante_last_row_dim \g_@@_dp_last_row_dim
- \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
- \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate
- { \@@_env: - row - \int_use:N \c@iRow - base }
- { \pgfpoint \c_zero_dim { 0.5 \arrayrulewidth } }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - row - \int_use:N \c@iRow - base }
- { \@@_env: - row - \int_use:N \c@iRow - base }
- }
- \endpgfpicture
- }
-% \end{macrocode}
-% Remark: If the key |recreate-cell-nodes| of the |\CodeBefore| is used, then we
-% will add some lines to that command.
-%
-%
-% \interitem
-% The following code is used in each cell of the array. It actualises quantities
-% that, at the end of the array, will give informations about the vertical
-% dimension of the two first rows and the two last rows. If the user uses the
-% |last-row|, some lines of code will be dynamically added to this command.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_update_for_first_and_last_row:
- {
- \int_if_zero:nTF \c@iRow
- {
- \dim_gset:Nn \g_@@_dp_row_zero_dim
- { \dim_max:nn \g_@@_dp_row_zero_dim { \box_dp:N \l_@@_cell_box } }
- \dim_gset:Nn \g_@@_ht_row_zero_dim
- { \dim_max:nn \g_@@_ht_row_zero_dim { \box_ht:N \l_@@_cell_box } }
- }
- {
- \int_compare:nNnT \c@iRow = \c_one_int
- {
- \dim_gset:Nn \g_@@_ht_row_one_dim
- { \dim_max:nn \g_@@_ht_row_one_dim { \box_ht:N \l_@@_cell_box } }
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rotate_cell_box:
- {
- \box_rotate:Nn \l_@@_cell_box { 90 }
- \bool_if:NTF \g_@@_rotate_c_bool
- {
- \hbox_set:Nn \l_@@_cell_box
- {
- \c_math_toggle_token
- \vcenter { \box_use:N \l_@@_cell_box }
- \c_math_toggle_token
- }
- }
- {
- \int_compare:nNnT \c@iRow = \l_@@_last_row_int
- {
- \vbox_set_top:Nn \l_@@_cell_box
- {
- \vbox_to_zero:n { }
- \skip_vertical:n { - \box_ht:N \@arstrutbox + 0.8 ex }
- \box_use:N \l_@@_cell_box
- }
- }
- }
- \bool_gset_false:N \g_@@_rotate_bool
- \bool_gset_false:N \g_@@_rotate_c_bool
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_adjust_size_box:
- {
- \dim_compare:nNnT \g_@@_blocks_wd_dim > \c_zero_dim
- {
- \box_set_wd:Nn \l_@@_cell_box
- { \dim_max:nn { \box_wd:N \l_@@_cell_box } \g_@@_blocks_wd_dim }
- \dim_gzero:N \g_@@_blocks_wd_dim
- }
- \dim_compare:nNnT \g_@@_blocks_dp_dim > \c_zero_dim
- {
- \box_set_dp:Nn \l_@@_cell_box
- { \dim_max:nn { \box_dp:N \l_@@_cell_box } \g_@@_blocks_dp_dim }
- \dim_gzero:N \g_@@_blocks_dp_dim
- }
- \dim_compare:nNnT \g_@@_blocks_ht_dim > \c_zero_dim
- {
- \box_set_ht:Nn \l_@@_cell_box
- { \dim_max:nn { \box_ht:N \l_@@_cell_box } \g_@@_blocks_ht_dim }
- \dim_gzero:N \g_@@_blocks_ht_dim
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cell_end:
- {
-% \end{macrocode}
-% The following command is nullified in the tabulars.
-% \begin{macrocode}
- \@@_tuning_not_tabular_end:
- \hbox_set_end:
- \@@_cell_end_i:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cell_end_i:
- {
-% \end{macrocode}
-% The token list |\g_@@_cell_after_hook_tl| is (potentially) set during the
-% composition of the box |\l_@@_cell_box| and is used now \emph{after} the
-% composition in order to modify that box.
-% \begin{macrocode}
- \g_@@_cell_after_hook_tl
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
- \@@_adjust_size_box:
-% \end{macrocode}
-%
-% \begin{macrocode}
- \box_set_ht:Nn \l_@@_cell_box
- { \box_ht:N \l_@@_cell_box + \l_@@_cell_space_top_limit_dim }
- \box_set_dp:Nn \l_@@_cell_box
- { \box_dp:N \l_@@_cell_box + \l_@@_cell_space_bottom_limit_dim }
-% \end{macrocode}
-%
-% We want to compute in |\g_@@_max_cell_width_dim| the width of the widest cell
-% of the array (except the cells of the ``first column'' and the ``last
-% column'').
-% \begin{macrocode}
- \@@_update_max_cell_width:
-% \end{macrocode}
-%
-% The following computations are for the ``first row'' and the ``last row''.
-% \begin{macrocode}
- \@@_update_for_first_and_last_row:
-% \end{macrocode}
-%
-% \medskip
-% If the cell is empty, or may be considered as if, we must not create the
-% \textsc{pgf} node, for two reasons:
-% \begin{itemize}
-% \item it's a waste of time since such a node would be rather pointless;
-% \item we test the existence of these nodes in order to determine whether a
-% cell is empty when we search the extremities of a dotted line.
-% \end{itemize}
-% However, it's very difficult to determine whether a cell is empty. Up to now
-% we use the following technic:
-% \begin{itemize}
-% \item for the columns of type |p|, |m|, |b|, |V| (of \pkg{varwidth}) or |X|,
-% we test whether the cell is syntactically empty with |\@@_test_if_empty:| and
-% |\@@_test_if_empty_for_S:|
-% \item if the width of the box |\l_@@_cell_box| (created with the content of
-% the cell) is equal to zero, we consider the cell as empty (however,
-% this is not perfect since the user may have used a |\rlap|, |\llap|, |\clap|
-% or a |\mathclap| of \pkg{mathtools}).
-% \item the cells with a command |\Ldots| or |\Cdots|, |\Vdots|, etc.,
-% should also be considered as empty; if |nullify-dots| is in force, there would
-% be nothing to do (in this case the previous commands only write an instruction
-% in a kind of |\CodeAfter|); however, if |nullify-dots| is not in force, a
-% phantom of |\ldots|, |\cdots|, |\vdots| is inserted and its width is not equal
-% to zero; that's why these commands raise a boolean |\g_@@_empty_cell_bool| and
-% we begin by testing this boolean.
-% \end{itemize}
-% \begin{macrocode}
- \bool_if:NTF \g_@@_empty_cell_bool
- { \box_use_drop:N \l_@@_cell_box }
- {
- \bool_if:NTF \g_@@_not_empty_cell_bool
- \@@_node_for_cell:
- {
- \dim_compare:nNnTF { \box_wd:N \l_@@_cell_box } > \c_zero_dim
- \@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box }
- }
- }
- \int_gset:Nn \g_@@_col_total_int { \int_max:nn \g_@@_col_total_int \c@jCol }
- \bool_gset_false:N \g_@@_empty_cell_bool
- \bool_gset_false:N \g_@@_not_empty_cell_bool
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be nullified in our redefinition of |\multicolumn|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_update_max_cell_width:
- {
- \dim_gset:Nn \g_@@_max_cell_width_dim
- { \dim_max:nn \g_@@_max_cell_width_dim { \box_wd:N \l_@@_cell_box } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following variant of |\@@_cell_end:| is only for the columns of type
-% |w{s}{...}| or |W{s}{...}| (which use the horizontal alignement key |s| of
-% |\makebox|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cell_end_for_w_s:
- {
- \@@_math_toggle:
- \hbox_set_end:
- \bool_if:NF \g_@@_rotate_bool
- {
- \hbox_set:Nn \l_@@_cell_box
- {
- \makebox [ \l_@@_col_width_dim ] [ s ]
- { \hbox_unpack_drop:N \l_@@_cell_box }
- }
- }
- \@@_cell_end_i:
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\pgfset
- {
- nicematrix / cell-node /.style =
- {
- inner~sep = \c_zero_dim ,
- minimum~width = \c_zero_dim
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command creates the \textsc{pgf} name of the node with, of
-% course, |\l_@@_cell_box| as the content.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_node_for_cell:
- {
- \pgfpicture
- \pgfsetbaseline \c_zero_dim
- \pgfrememberpicturepositiononpagetrue
- \pgfset { nicematrix / cell-node }
- \pgfnode
- { rectangle }
- { base }
- {
-% \end{macrocode}
-% The following instruction |\set@color| has been added on 2022/10/06. It's
-% necessary only with XeLaTeX and not with the other engines (we don't know why).
-% \begin{macrocode}
- \set@color
- \box_use_drop:N \l_@@_cell_box
- }
- { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol }
- { \l_@@_pgf_node_code_tl }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \int_use:N \c@iRow - \int_use:N \c@jCol }
- { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol }
- }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \medskip
-% As its name says, the following command is a patch for the command
-% |\@@_node_for_cell:|. This patch will be appended on the left of
-% |\@@_node_for_the_cell:| when the construction of the cell nodes (of the form
-% |(i-j)|) in the |\CodeBefore| is required.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_node_for_cell:n #1
- {
- \cs_new_protected:Npn \@@_patch_node_for_cell:
- {
- \hbox_set:Nn \l_@@_cell_box
- {
- \box_move_up:nn { \box_ht:N \l_@@_cell_box}
- \hbox_overlap_left:n
- {
- \pgfsys@markposition
- { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol - NW }
-% \end{macrocode}
-% I don't know why the following adjustement is needed when the compilation is
-% done with XeLaTeX or with the classical way |latex|, |divps|, |ps2pdf| (or
-% Adobe Distiller). However, it seems to work.
-% \begin{macrocode}
- #1
- }
- \box_use:N \l_@@_cell_box
- \box_move_down:nn { \box_dp:N \l_@@_cell_box }
- \hbox_overlap_left:n
- {
- \pgfsys@markposition
- { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol - SE }
- #1
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We have no explanation for the different behaviour between the TeX engines...
-% \begin{macrocode}
-\bool_lazy_or:nnTF \sys_if_engine_xetex_p: \sys_if_output_dvi_p:
- {
- \@@_patch_node_for_cell:n
- { \skip_horizontal:n { 0.5 \box_wd:N \l_@@_cell_box } }
- }
- { \@@_patch_node_for_cell:n { } }
-% \end{macrocode}
-%
-%
-% \interitem
-% The second argument of the following command |\@@_instruction_of_type:nnn|
-% defined below is the type of the instruction (|Cdots|, |Vdots|, |Ddots|,
-% etc.). The third argument is the list of options. This command writes in the
-% corresponding |\g_@@_|\textsl{type}|_lines_tl| the instruction which will
-% actually draw the line after the construction of the matrix.
-%
-% \medskip
-% For example, for the following matrix,
-%
-% \smallskip
-% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% \begin{pNiceMatrix}
-% 1 & 2 & 3 & 4 \\
-% 5 & \Cdots & & 6 \\
-% 7 & \Cdots[color=red]
-% \end{pNiceMatrix}
-% \end{BVerbatim}
-% $\begin{pNiceMatrix}
-% 1 & 2 & 3 & 4 \\
-% 5 & \Cdots & & 6 \\
-% 7 & \Cdots[color=red]
-% \end{pNiceMatrix}$
-%
-% \smallskip
-% the content of |\g_@@_Cdots_lines_tl| will be:
-%
-% \smallskip
-% \begin{scope}
-% \color{gray}
-% |\@@_draw_Cdots:nnn {2}{2}{}|
-%
-% |\@@_draw_Cdots:nnn {3}{2}{color=red}|
-% \end{scope}
-%
-%
-% \bigskip
-% The first argument is a boolean which indicates whether you must put the
-% instruction on the left or on the right on the list of instructions (with
-% consequences for the parallelisation of the diagonal lines).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_instruction_of_type:nnn #1 #2 #3
- {
- \bool_if:nTF { #1 } \tl_gput_left:cx \tl_gput_right:cx
- { g_@@_ #2 _ lines _ tl }
- {
- \use:c { @@ _ draw _ #2 : nnn }
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { \exp_not:n { #3 } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_array:
- {
-% \begin{macrocode}
- \dim_set:Nn \col@sep
- { \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
- \dim_compare:nNnTF \l_@@_tabular_width_dim = \c_zero_dim
- { \cs_set_nopar:Npn \@halignto { } }
- { \cs_set_nopar:Npx \@halignto { to \dim_use:N \l_@@_tabular_width_dim } }
-% \end{macrocode}
-% It \pkg{colortbl} is loaded, |\@tabarray| has been redefined to incorporate
-% |\CT@start|.
-% \begin{macrocode}
- \@tabarray
-% \end{macrocode}
-% |\l_@@_baseline_tl| may have the value |t|, |c| or |b|. However, if the value
-% is |b|, we compose the |\array| (of \pkg{array}) with the option |t| and the
-% right translation will be done further. Remark that |\str_if_eq:VnTF| is
-% fully expandable and we need something fully expandable here.
-% \begin{macrocode}
- [ \str_if_eq:VnTF \l_@@_baseline_tl c c t ]
- }
-% \end{macrocode}
-%
-% \medskip
-% We keep in memory the standard version of |\ialign| because we will redefine
-% |\ialign| in the environment |{NiceArrayWithDelims}| but restore the standard
-% version for use in the cells of the array.
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_ialign: \ialign
-% \end{macrocode}
-%
-%
-% The following command creates a |row| node (and not a row of nodes!).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_row_node:
- {
- \int_compare:nNnT \c@iRow > \g_@@_last_row_node_int
- {
- \int_gset_eq:NN \g_@@_last_row_node_int \c@iRow
- \@@_create_row_node_i:
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_row_node_i:
- {
-% \end{macrocode}
-% The |\hbox:n| (or |\hbox|) is mandatory.
-% \begin{macrocode}
- \hbox
- {
- \bool_if:NT \l_@@_code_before_bool
- {
- \vtop
- {
- \skip_vertical:N 0.5\arrayrulewidth
- \pgfsys@markposition
- { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
- \skip_vertical:N -0.5\arrayrulewidth
- }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
- { \pgfpoint \c_zero_dim { - 0.5 \arrayrulewidth } }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - row - \int_eval:n { \c@iRow + 1 } }
- { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
- }
- \endpgfpicture
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The following must \emph{not} be protected because it begins with |\noalign|.
-% \begin{macrocode}
-\cs_new:Npn \@@_everycr: { \noalign { \@@_everycr_i: } }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_everycr_i:
- {
- \int_gzero:N \c@jCol
- \bool_gset_false:N \g_@@_after_col_zero_bool
- \bool_if:NF \g_@@_row_of_col_done_bool
- {
- \@@_create_row_node:
-% \end{macrocode}
-% We don't draw now the rules of the key |hlines| (or |hvlines|) but we reserve the
-% vertical space for theses rules (the rules will be drawn by \textsc{pgf}).
-% \begin{macrocode}
- \tl_if_empty:NF \l_@@_hlines_clist
- {
- \tl_if_eq:NNF \l_@@_hlines_clist \c_@@_all_tl
- {
- \exp_args:NNe
- \clist_if_in:NnT
- \l_@@_hlines_clist
- { \int_eval:n { \c@iRow + 1 } }
- }
- {
-% \end{macrocode}
-% The counter |\c@iRow| has the value $-1$ only if there is a ``first
-% row'' and that we are before that ``first row'', i.e. just before the
-% beginning of the array.
-% \begin{macrocode}
- \int_compare:nNnT \c@iRow > { -1 }
- {
- \int_compare:nNnF \c@iRow = \l_@@_last_row_int
-% \end{macrocode}
-% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
-% the rules in the array. The package \pkg{nicematrix} uses it even if
-% \pkg{colortbl} is not loaded. We use a TeX group in order to limit the scope
-% of |\CT@arc@|.
-% \begin{macrocode}
- { \hrule height \arrayrulewidth width \c_zero_dim }
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% When the key |renew-dots| is used, the following code will be executed.
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_renew_dots:
- {
- \cs_set_eq:NN \ldots \@@_Ldots
- \cs_set_eq:NN \cdots \@@_Cdots
- \cs_set_eq:NN \vdots \@@_Vdots
- \cs_set_eq:NN \ddots \@@_Ddots
- \cs_set_eq:NN \iddots \@@_Iddots
- \cs_set_eq:NN \dots \@@_Ldots
- \cs_set_eq:NN \hdotsfor \@@_Hdotsfor:
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_color_inside:
- {
- \bool_if:NF \l_@@_color_inside_bool
- {
-% \end{macrocode}
-% We will issue an error only during the first run.
-% \begin{macrocode}
- \bool_if:NF \g_@@_aux_found_bool
- { \@@_error:n { without~color-inside } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_redefine_everycr: { \everycr { \@@_everycr: } }
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- {
- \cs_set_protected:Npn \@@_redefine_everycr:
- {
- \CT@everycr
- {
- \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
- \@@_everycr:
- }
- }
- }
- { }
- }
-% \end{macrocode}
-%
-% If \pkg{booktabs} is loaded, we have to patch the macro |\@BTnormal| which is
-% a macro of \pkg{booktabs}. The macro |\@BTnormal| draws an horizontal rule but
-% it occurs after a vertical skip done by a low level TeX command. When this
-% macro |\@BTnormal| occurs, the |row| node has yet been inserted by
-% \pkg{nicematrix} \emph{before} the vertical skip (and thus, at a wrong place).
-% That why we decide to create a new |row| node (for the same row). We patch the
-% macro |\@BTnormal| to create this |row| node. This new |row| node will
-% overwrite the previous definition of that |row| node and we have managed to
-% avoid the error messages of that redefinition
-% \footnote{cf. |\nicematrix@redefine@check@rerun|}.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { booktabs }
- {
- \cs_new_protected:Npn \@@_patch_booktabs:
- { \tl_put_left:Nn \@BTnormal \@@_create_row_node_i: }
- }
- { \cs_new_protected:Npn \@@_patch_booktabs: { } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following code |\@@_pre_array_ii:| is used in |{NiceArrayWithDelims}|. It
-% exists as a standalone macro only for legibility.
-% \label{prearray}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pre_array_ii:
- {
-% \end{macrocode}
-% The number of letters |X| in the preamble of the array.
-% \begin{macrocode}
- \int_gzero:N \g_@@_total_X_weight_int
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@@_expand_clist:N \l_@@_hlines_clist
- \@@_expand_clist:N \l_@@_vlines_clist
- \@@_patch_booktabs:
- \box_clear_new:N \l_@@_cell_box
- \normalbaselines
-% \end{macrocode}
-% If the option |small| is used, we have to do some tuning. In particular, we
-% change the value of |\arraystretch| (this parameter is used in the
-% construction of |\@arstrutbox| in the beginning of |{array}|).
-% \begin{macrocode}
- \bool_if:NT \l_@@_small_bool
- {
-% \end{macrocode}
-% \begin{macrocode}
- \cs_set_nopar:Npn \arraystretch { 0.47 }
- \dim_set:Nn \arraycolsep { 1.45 pt }
-% \end{macrocode}
-% By default, |\@@_small_scripstyle:| is null.
-% \begin{macrocode}
- \cs_set_eq:NN \@@_tuning_key_small: \scriptstyle
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \bool_if:NT \g_@@_recreate_cell_nodes_bool
- {
- \tl_put_right:Nn \@@_begin_of_row:
- {
- \pgfsys@markposition
- { \@@_env: - row - \int_use:N \c@iRow - base }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The environment |{array}| uses internally the command |\ialign|. We change the
-% definition of |\ialign| for several reasons. In particular, |\ialign| sets
-% |\everycr| to |{ }| and we \emph{need} to have to change the value of
-% |\everycr|.
-% \begin{macrocode}
- \cs_set_nopar:Npn \ialign
- {
- \@@_redefine_everycr:
- \tabskip = \c_zero_skip
-% \end{macrocode}
-%
-% The box |\@arstrutbox| is a box constructed in the beginning of the
-% environment |{array}|. The construction of that box takes into account the
-% current value of |\arraystretch|\footnote{The option |small| of
-% \pkg{nicematrix} changes (among others) the value of |\arraystretch|. This is
-% done, of course, before the call of |{array}|.} and |\extrarowheight| (of
-% \pkg{array}). That box is inserted (via |\@arstrut|) in the beginning of each
-% row of the array. That's why we use the dimensions of that box to initialize
-% the variables which will be the dimensions of the potential first and last row
-% of the environment. This initialization must be done after the creation of
-% |\@arstrutbox| and that's why we do it in the |\ialign|.
-% \begin{macrocode}
- \dim_gzero_new:N \g_@@_dp_row_zero_dim
- \dim_gset:Nn \g_@@_dp_row_zero_dim { \box_dp:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_ht_row_zero_dim
- \dim_gset:Nn \g_@@_ht_row_zero_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_ht_row_one_dim
- \dim_gset:Nn \g_@@_ht_row_one_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_dp_ante_last_row_dim
- \dim_gzero_new:N \g_@@_ht_last_row_dim
- \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_dp_last_row_dim
- \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
-% \end{macrocode}
-% After its first use, the definition of |\ialign| will revert
-% automatically to its default definition. With this programmation, we will
-% have, in the cells of the array, a clean version of |\ialign|.
-% \begin{macrocode}
- \cs_set_eq:NN \ialign \@@_old_ialign:
- \halign
- }
-% \end{macrocode}
-%
-% We keep in memory the old versions or |\ldots|, |\cdots|, etc. only because we
-% use them inside |\phantom| commands in order that the new commands |\Ldots|,
-% |\Cdots|, etc. give the same spacing (except when the option |nullify-dots| is
-% used).
-% \begin{macrocode}
- \cs_set_eq:NN \@@_old_ldots \ldots
- \cs_set_eq:NN \@@_old_cdots \cdots
- \cs_set_eq:NN \@@_old_vdots \vdots
- \cs_set_eq:NN \@@_old_ddots \ddots
- \cs_set_eq:NN \@@_old_iddots \iddots
- \bool_if:NTF \l_@@_standard_cline_bool
- { \cs_set_eq:NN \cline \@@_standard_cline }
- { \cs_set_eq:NN \cline \@@_cline }
- \cs_set_eq:NN \Ldots \@@_Ldots
- \cs_set_eq:NN \Cdots \@@_Cdots
- \cs_set_eq:NN \Vdots \@@_Vdots
- \cs_set_eq:NN \Ddots \@@_Ddots
- \cs_set_eq:NN \Iddots \@@_Iddots
- \cs_set_eq:NN \Hline \@@_Hline:
- \cs_set_eq:NN \Hspace \@@_Hspace:
- \cs_set_eq:NN \Hdotsfor \@@_Hdotsfor:
- \cs_set_eq:NN \Vdotsfor \@@_Vdotsfor:
- \cs_set_eq:NN \Block \@@_Block:
- \cs_set_eq:NN \rotate \@@_rotate:
- \cs_set_eq:NN \OnlyMainNiceMatrix \@@_OnlyMainNiceMatrix:n
- \cs_set_eq:NN \dotfill \@@_dotfill:
- \cs_set_eq:NN \CodeAfter \@@_CodeAfter:
- \cs_set_eq:NN \diagbox \@@_diagbox:nn
- \cs_set_eq:NN \NotEmpty \@@_NotEmpty:
- \cs_set_eq:NN \RowStyle \@@_RowStyle:n
- \seq_map_inline:Nn \l_@@_custom_line_commands_seq
- { \cs_set_eq:cc { ##1 } { nicematrix - ##1 } }
- \cs_set_eq:NN \cellcolor \@@_cellcolor_tabular
- \cs_set_eq:NN \rowcolor \@@_rowcolor_tabular
- \cs_set_eq:NN \rowcolors \@@_rowcolors_tabular
- \cs_set_eq:NN \rowlistcolors \@@_rowlistcolors_tabular
- \int_compare:nNnT \l_@@_first_row_int > \c_zero_int
- { \cs_set_eq:NN \@@_tuning_first_row: \prg_do_nothing: }
- \int_compare:nNnT \l_@@_last_row_int < \c_zero_int
- { \cs_set_eq:NN \@@_tuning_last_row: \prg_do_nothing: }
- \bool_if:NT \l_@@_renew_dots_bool \@@_renew_dots:
-% \end{macrocode}
-% We redefine |\multicolumn| and, since we want |\multicolumn| to be available
-% in the potential environments |{tabular}| nested in the environments of
-% \pkg{nicematrix}, we patch |{tabular}| to go back to the original definition.
-% \begin{macrocode}
- \cs_set_eq:NN \multicolumn \@@_multicolumn:nnn
- \hook_gput_code:nnn { env / tabular / begin } { . }
- { \cs_set_eq:NN \multicolumn \@@_old_multicolumn }
- \@@_revert_colortbl:
-% \end{macrocode}
-% If there is one or several commands |\tabularnote| in the caption specified
-% by the key |caption| and if that caption has to be composed above the tabular,
-% we have now that information because it has been written in the |aux| file at
-% a previous run. We use that information to start counting the tabular notes in
-% the main array at the right value (we remember that the caption will be
-% composed \emph{after} the array!).
-% \begin{macrocode}
- \tl_if_exist:NT \l_@@_note_in_caption_tl
- {
- \tl_if_empty:NF \l_@@_note_in_caption_tl
- {
- \int_gset_eq:NN \g_@@_notes_caption_int \l_@@_note_in_caption_tl
- \int_gset:Nn \c@tabularnote { \l_@@_note_in_caption_tl }
- }
- }
-% \end{macrocode}
-%
-%
-% The sequence |\g_@@_multicolumn_cells_seq| will contain the list of the cells
-% of the array where a command |\multicolumn{|$n$|}{...}{...}| with $n>1$ is
-% issued. In |\g_@@_multicolumn_sizes_seq|, the ``sizes'' (that is to say the
-% values of $n$) correspondant will be stored. These lists will be used for the
-% creation of the ``medium nodes'' (if they are created).
-% \begin{macrocode}
- \seq_gclear:N \g_@@_multicolumn_cells_seq
- \seq_gclear:N \g_@@_multicolumn_sizes_seq
-% \end{macrocode}
-%
-% The counter |\c@iRow| will be used to count the rows of the array (its
-% incrementation will be in the first cell of the row).
-% \begin{macrocode}
- \int_gset:Nn \c@iRow { \l_@@_first_row_int - 1 }
-% \end{macrocode}
-%
-% At the end of the environment |{array}|, |\c@iRow| will be the total
-% number de rows.
-%
-% |\g_@@_row_total_int| will be the number or rows excepted the last row (if
-% |\l_@@_last_row_bool| has been raised with the option |last-row|).
-% \begin{macrocode}
- \int_gzero_new:N \g_@@_row_total_int
-% \end{macrocode}
-%
-% The counter |\c@jCol| will be used to count the columns of the array.
-% Since we want to know the total number of columns of the matrix, we also
-% create a counter |\g_@@_col_total_int|. These counters are updated in the
-% command |\@@_cell_begin:w| executed at the beginning of each cell.
-% \begin{macrocode}
- \int_gzero_new:N \g_@@_col_total_int
-% \end{macrocode}
-%
-% \begin{macrocode}
- \cs_set_eq:NN \@ifnextchar \new@ifnextchar
-% \end{macrocode}
-%
-% \begin{macrocode}
- \bool_gset_false:N \g_@@_last_col_found_bool
-% \end{macrocode}
-%
-% \medskip
-% During the construction of the array, the instructions |\Cdots|, |\Ldots|,
-% etc. will be written in token lists |\g_@@_Cdots_lines_tl|, etc. which will be
-% executed after the construction of the array.
-% \begin{macrocode}
- \tl_gclear_new:N \g_@@_Cdots_lines_tl
- \tl_gclear_new:N \g_@@_Ldots_lines_tl
- \tl_gclear_new:N \g_@@_Vdots_lines_tl
- \tl_gclear_new:N \g_@@_Ddots_lines_tl
- \tl_gclear_new:N \g_@@_Iddots_lines_tl
- \tl_gclear_new:N \g_@@_HVdotsfor_lines_tl
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \tl_gclear:N \g_nicematrix_code_before_tl
- \tl_gclear:N \g_@@_pre_code_before_tl
- }
-% \end{macrocode}
-% This is the end of |\@@_pre_array_ii:|.
-%
-%
-% \bigskip
-% The command |\@@_pre_array:| will be executed after analyse of the keys of the
-% environment.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pre_array:
- {
- \cs_if_exist:NT \theiRow { \int_set_eq:NN \l_@@_old_iRow_int \c@iRow }
- \int_gzero_new:N \c@iRow
- \cs_if_exist:NT \thejCol { \int_set_eq:NN \l_@@_old_jCol_int \c@jCol }
- \int_gzero_new:N \c@jCol
-% \end{macrocode}
-%
-% \bigskip
-% We recall that |\l_@@_last_row_int| and |\l_@@_last_column_int| are \emph{not}
-% the numbers of the last row and last column of the array. There are only the
-% values of the keys |last-row| and |last-column| (maybe the user has provided
-% erroneous values). The meaning of that counters does not change during the
-% environment of \pkg{nicematrix}. There is only a slight adjustment: if the
-% user have used one of those keys without value, we provide now the right value
-% as read on the |aux| file (of course, it's possible only after the first compilation).
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_row_int = { -1 }
- {
- \bool_set_true:N \l_@@_last_row_without_value_bool
- \bool_if:NT \g_@@_aux_found_bool
- { \int_set:Nn \l_@@_last_row_int { \seq_item:Nn \g_@@_size_seq 3 } }
- }
- \int_compare:nNnT \l_@@_last_col_int = { -1 }
- {
- \bool_if:NT \g_@@_aux_found_bool
- { \int_set:Nn \l_@@_last_col_int { \seq_item:Nn \g_@@_size_seq 6 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% If there is an exterior row, we patch a command used in |\@@_cell_begin:w| in order to
-% keep track of some dimensions needed to the construction of that ``last row''.
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_row_int > { -2 }
- {
- \tl_put_right:Nn \@@_update_for_first_and_last_row:
- {
- \dim_gset:Nn \g_@@_ht_last_row_dim
- { \dim_max:nn \g_@@_ht_last_row_dim { \box_ht:N \l_@@_cell_box } }
- \dim_gset:Nn \g_@@_dp_last_row_dim
- { \dim_max:nn \g_@@_dp_last_row_dim { \box_dp:N \l_@@_cell_box } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \seq_gclear:N \g_@@_cols_vlism_seq
- \seq_gclear:N \g_@@_submatrix_seq
-% \end{macrocode}
-%
-% \bigskip
-% Now the |\CodeBefore|.
-% \begin{macrocode}
- \bool_if:NT \l_@@_code_before_bool \@@_exec_code_before:
-% \end{macrocode}
-%
-% \bigskip
-% The value of |\g_@@_pos_of_blocks_seq| has been written on the |aux| file and
-% loaded before the (potential) execution of the |\CodeBefore|. Now, we clear
-% that variable because it will be reconstructed during the creation of the
-% array.
-% \begin{macrocode}
- \seq_gclear:N \g_@@_pos_of_blocks_seq
-% \end{macrocode}
-% Idem for other sequences written on the |aux| file.
-% \begin{macrocode}
- \seq_gclear_new:N \g_@@_multicolumn_cells_seq
- \seq_gclear_new:N \g_@@_multicolumn_sizes_seq
-% \end{macrocode}
-%
-% \bigskip
-% The command |\create_row_node:| will create a row-node (and not a row of
-% nodes!). However, at the end of the array we construct a ``false row'' (for
-% the col-nodes) and it interfers with the construction of the last row-node
-% of the array. We don't want to create such row-node twice (to avaid warnings
-% or, maybe, errors). That's why the command |\@@_create_row_node:| will use the
-% following counter to avoid such construction.
-% \begin{macrocode}
- \int_gset:Nn \g_@@_last_row_node_int { -2 }
-% \end{macrocode}
-% The value $-2$ is important.
-%
-%
-% \interitem
-% The code in |\@@_pre_array_ii:| is used only here.
-% \begin{macrocode}
- \@@_pre_array_ii:
-% \end{macrocode}
-%
-% \medskip
-% The array will be composed in a box (named |\l_@@_the_array_box|) because we
-% have to do manipulations concerning the potential exterior rows.
-% \begin{macrocode}
- \box_clear_new:N \l_@@_the_array_box
-% \end{macrocode}
-%
-% \medskip
-% We compute the width of both delimiters. We remind that, when the
-% environment |{NiceArray}| is used, it's possible to specify the delimiters in
-% the preamble (eg |[ccc]|).
-% \begin{macrocode}
- \dim_zero_new:N \l_@@_left_delim_dim
- \dim_zero_new:N \l_@@_right_delim_dim
- \bool_if:NTF \g_@@_delims_bool
- {
-% \end{macrocode}
-% The command |\bBigg@| is a command of \pkg{amsmath}.
-% \begin{macrocode}
- \hbox_set:Nn \l_tmpa_box { $ \bBigg@ 5 \g_@@_left_delim_tl $ }
- \dim_set:Nn \l_@@_left_delim_dim { \box_wd:N \l_tmpa_box }
- \hbox_set:Nn \l_tmpa_box { $ \bBigg@ 5 \g_@@_right_delim_tl $ }
- \dim_set:Nn \l_@@_right_delim_dim { \box_wd:N \l_tmpa_box }
- }
- {
- \dim_gset:Nn \l_@@_left_delim_dim
- { 2 \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
- \dim_gset_eq:NN \l_@@_right_delim_dim \l_@@_left_delim_dim
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here is the beginning of the box which will contain the array. The
-% |\hbox_set_end:| corresponding to this |\hbox_set:Nw| will be in the second
-% part of the environment (and the closing |\c_math_toggle_token| also).
-% \begin{macrocode}
- \hbox_set:Nw \l_@@_the_array_box
-% \end{macrocode}
-%
-% \begin{macrocode}
- \skip_horizontal:N \l_@@_left_margin_dim
- \skip_horizontal:N \l_@@_extra_left_margin_dim
- \c_math_toggle_token
- \bool_if:NTF \l_@@_light_syntax_bool
- { \use:c { @@-light-syntax } }
- { \use:c { @@-normal-syntax } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command |\@@_CodeBefore_Body:w| will be used when the keyword
-% |\CodeBefore| is present at the beginning of the environment.
-% \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_CodeBefore_Body:w #1 \Body
- {
- \tl_set:Nn \l_tmpa_tl { #1 }
- \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
- { \@@_rescan_for_spanish:N \l_tmpa_tl }
- \tl_gput_left:NV \g_@@_pre_code_before_tl \l_tmpa_tl
- \bool_set_true:N \l_@@_code_before_bool
-% \end{macrocode}
-% We go on with |\@@_pre_array:| which will (among other) execute the
-% |\CodeBefore| (specified in the key |code-before| or after the keyword
-% |\CodeBefore|). By definition, the |\CodeBefore| must be executed before the
-% body of the array...
-% \begin{macrocode}
- \@@_pre_array:
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% \section{The \textbackslash CodeBefore}
-%
-% The following command will be executed if the |\CodeBefore| has to be actually
-% executed (that commmand will be used only once and is present only for legibility).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pre_code_before:
- {
-% \end{macrocode}
-% First, we give values to the LaTeX counters |iRow| and |jCol|. We remind that,
-% in the |\CodeBefore| (and in the |\CodeAfter|) they represent the numbers of
-% rows and columns of the array (without the potential last row and last
-% column). The value of |\g_@@_row_total_int| is the number of the last row
-% (with potentially a last exterior row) and |\g_@@_col_total_int| is the number
-% of the last column (with potentially a last exterior column).
-% \begin{macrocode}
- \int_set:Nn \c@iRow { \seq_item:Nn \g_@@_size_seq 2 }
- \int_set:Nn \c@jCol { \seq_item:Nn \g_@@_size_seq 5 }
- \int_set_eq:NN \g_@@_row_total_int { \seq_item:Nn \g_@@_size_seq 3 }
- \int_set_eq:NN \g_@@_col_total_int { \seq_item:Nn \g_@@_size_seq 6 }
-% \end{macrocode}
-%
-%
-% Now, we will create all the |col| nodes and |row| nodes with the informations
-% written in the |aux| file. You use the technique described in the page~1229 of
-% |pgfmanual.pdf|, version~3.1.4b.
-% \begin{macrocode}
- \pgfsys@markposition { \@@_env: - position }
- \pgfsys@getposition { \@@_env: - position } \@@_picture_position:
- \pgfpicture
- \pgf@relevantforpicturesizefalse
-% \end{macrocode}
-% First, the recreation of the |row| nodes.
-% \begin{macrocode}
- \int_step_inline:nnn \l_@@_first_row_int { \g_@@_row_total_int + 1 }
- {
- \pgfsys@getposition { \@@_env: - row - ##1 } \@@_node_position:
- \pgfcoordinate { \@@_env: - row - ##1 }
- { \pgfpointdiff \@@_picture_position: \@@_node_position: }
- }
-% \end{macrocode}
-% Now, the recreation of the |col| nodes.
-% \begin{macrocode}
- \int_step_inline:nnn \l_@@_first_col_int { \g_@@_col_total_int + 1 }
- {
- \pgfsys@getposition { \@@_env: - col - ##1 } \@@_node_position:
- \pgfcoordinate { \@@_env: - col - ##1 }
- { \pgfpointdiff \@@_picture_position: \@@_node_position: }
- }
-% \end{macrocode}
-% Now, you recreate the diagonal nodes by using the |row| nodes and the |col|
-% nodes.
-% \begin{macrocode}
- \@@_create_diag_nodes:
-% \end{macrocode}
-%
-% \medskip
-% Now, the creation of the cell nodes |(i-j)|, and, maybe also the ``medium
-% nodes'' and the ``large nodes''.
-% \begin{macrocode}
- \bool_if:NT \g_@@_recreate_cell_nodes_bool \@@_recreate_cell_nodes:
- \endpgfpicture
-% \end{macrocode}
-%
-% \medskip
-% Now, the recreation of the nodes of the blocks \emph{which have a name}.
-% \begin{macrocode}
- \@@_create_blocks_nodes:
-% \end{macrocode}
-%
-% \begin{macrocode}
- \IfPackageLoadedTF { tikz }
- {
- \tikzset
- {
- every~picture / .style =
- { overlay , name~prefix = \@@_env: - }
- }
- }
- { }
- \cs_set_eq:NN \cellcolor \@@_cellcolor
- \cs_set_eq:NN \rectanglecolor \@@_rectanglecolor
- \cs_set_eq:NN \roundedrectanglecolor \@@_roundedrectanglecolor
- \cs_set_eq:NN \rowcolor \@@_rowcolor
- \cs_set_eq:NN \rowcolors \@@_rowcolors
- \cs_set_eq:NN \rowlistcolors \@@_rowlistcolors
- \cs_set_eq:NN \arraycolor \@@_arraycolor
- \cs_set_eq:NN \columncolor \@@_columncolor
- \cs_set_eq:NN \chessboardcolors \@@_chessboardcolors
- \cs_set_eq:NN \SubMatrix \@@_SubMatrix_in_code_before
- \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
- \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_exec_code_before:
- {
- \seq_gclear_new:N \g_@@_colors_seq
-% \end{macrocode}
-% The sequence |\g_@@_colors_seq| will always contain as first element the
-% special color |nocolor|: when that color is used, no color will be applied in
-% the corresponding cells by the other coloring commands of \pkg{nicematrix}.
-% \begin{macrocode}
- \@@_add_to_colors_seq:nn { { nocolor } } { }
- \bool_gset_false:N \g_@@_recreate_cell_nodes_bool
- \group_begin:
-% \end{macrocode}
-%
-% We compose the |\CodeBefore| in math mode in order to nullify the spaces put
-% by the user between instructions in the |\CodeBefore|.
-% \begin{macrocode}
- \bool_if:NT \l_@@_tabular_bool \c_math_toggle_token
-% \end{macrocode}
-%
-% \bigskip
-% The following code is a security for the case the user has used \pkg{babel}
-% with the option \pkg{spanish}: in that case, the characters |<| (de code
-% \textsc{ascci} 60) and |>| are activated and Tikz is not able to solve the
-% problem (even with the Tikz library \pkg{babel}).
-% \begin{macrocode}
- \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
- { \@@_rescan_for_spanish:N \l_@@_code_before_tl }
-% \end{macrocode}
-%
-% Here is the |\CodeBefore|. The construction is a bit complicated because
-% |\g_@@_pre_code_before_tl| may begin with keys between square brackets. Moreover,
-% after the analyze of those keys, we sometimes have to decide to do \emph{not}
-% execute the rest of |\g_@@_pre_code_before_tl| (when it is asked for the creation
-% of cell nodes in the |\CodeBefore|). That's why we use a |\q_stop|: it
-% will be used to discard the rest of |\g_@@_pre_code_before_tl|.
-% \begin{macrocode}
- \exp_last_unbraced:NV \@@_CodeBefore_keys:
- \g_@@_pre_code_before_tl
-% \end{macrocode}
-% Now, all the cells which are specified to be colored by instructions in the
-% |\CodeBefore| will actually be colored. It's a two-stages mechanism because we
-% want to draw all the cells with the same color at the same time to absolutely
-% avoid thin white lines in some \textsc{pdf} viewers.
-% \begin{macrocode}
- \@@_actually_color:
- \l_@@_code_before_tl
- \q_stop
- \bool_if:NT \l_@@_tabular_bool \c_math_toggle_token
- \group_end:
- \bool_if:NT \g_@@_recreate_cell_nodes_bool
- { \tl_put_left:Nn \@@_node_for_cell: \@@_patch_node_for_cell: }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / CodeBefore }
- {
- create-cell-nodes .bool_gset:N = \g_@@_recreate_cell_nodes_bool ,
- create-cell-nodes .default:n = true ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
- sub-matrix .value_required:n = true ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~CodeBefore }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_CodeBefore_keys: { O { } }
- {
- \keys_set:nn { NiceMatrix / CodeBefore } { #1 }
- \@@_CodeBefore:w
- }
-% \end{macrocode}
-%
-% We have extracted the options of the keyword |\CodeBefore| in order to see
-% whether the key |create-cell-nodes| has been used. Now, you can execute the
-% rest of the |\CodeBefore|, excepted, of course, if we are in the first
-% compilation.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_CodeBefore:w #1 \q_stop
- {
- \bool_if:NT \g_@@_aux_found_bool
- {
- \@@_pre_code_before:
- #1
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% By default, if the user uses the |\CodeBefore|, only the |col| nodes, |row|
-% nodes and |diag| nodes are available in that |\CodeBefore|. With the key
-% |create-cell-nodes|, the cell nodes, that is to say the nodes of the form
-% |(i-j)| (but not the extra nodes) are also available because those nodes also
-% are recreated and that recreation is done by the following command.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_recreate_cell_nodes:
- {
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \pgfsys@getposition { \@@_env: - ##1 - base } \@@_node_position:
- \pgfcoordinate { \@@_env: - row - ##1 - base }
- { \pgfpointdiff \@@_picture_position: \@@_node_position: }
- \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
- {
- \cs_if_exist:cT
- { pgf @ sys @ pdf @ mark @ pos @ \@@_env: - ##1 - ####1 - NW }
- {
- \pgfsys@getposition
- { \@@_env: - ##1 - ####1 - NW }
- \@@_node_position:
- \pgfsys@getposition
- { \@@_env: - ##1 - ####1 - SE }
- \@@_node_position_i:
- \@@_pgf_rect_node:nnn
- { \@@_env: - ##1 - ####1 }
- { \pgfpointdiff \@@_picture_position: \@@_node_position: }
- { \pgfpointdiff \@@_picture_position: \@@_node_position_i: }
- }
- }
- }
- \int_step_inline:nn \c@iRow
- {
- \pgfnodealias
- { \@@_env: - ##1 - last }
- { \@@_env: - ##1 - \int_use:N \c@jCol }
- }
- \int_step_inline:nn \c@jCol
- {
- \pgfnodealias
- { \@@_env: - last - ##1 }
- { \@@_env: - \int_use:N \c@iRow - ##1 }
- }
- \@@_create_extra_nodes:
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_blocks_nodes:
- {
- \pgfpicture
- \pgf@relevantforpicturesizefalse
- \pgfrememberpicturepositiononpagetrue
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_create_one_block_node:nnnnn ##1 }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% The following command is called |\@@_create_one_block_node:nnnnn| but, in
-% fact, it creates a node only if the last argument (|#5|) which is the name of
-% the block, is not empty.\footnote{Moreover, there is also in the list
-% |\g_@@_pos_of_blocks_seq| the positions of the dotted lines (created by
-% |\Cdots|, etc.) and, for these entries, there is, of course, no name (the
-% fifth component is empty).}
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_one_block_node:nnnnn #1 #2 #3 #4 #5
- {
- \tl_if_empty:nF { #5 }
- {
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { #1 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@y
- \@@_qpoint:n { col - \int_eval:n { #4 + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
- \@@_qpoint:n { \int_eval:n { #3 + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@y
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #5 }
- { \dim_use:N \l_tmpa_dim }
- { \dim_use:N \l_tmpb_dim }
- { \dim_use:N \l_@@_tmpc_dim }
- { \dim_use:N \l_@@_tmpd_dim }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_for_revtex:
- {
- \cs_set_eq:NN \@addamp \@addamp@LaTeX
- \cs_set_eq:NN \insert@column \insert@column@array
- \cs_set_eq:NN \@classx \@classx@array
- \cs_set_eq:NN \@xarraycr \@xarraycr@array
- \cs_set_eq:NN \@arraycr \@arraycr@array
- \cs_set_eq:NN \@xargarraycr \@xargarraycr@array
- \cs_set_eq:NN \array \array@array
- \cs_set_eq:NN \@array \@array@array
- \cs_set_eq:NN \@tabular \@tabular@array
- \cs_set_eq:NN \@mkpream \@mkpream@array
- \cs_set_eq:NN \endarray \endarray@array
- \cs_set:Npn \@tabarray { \@ifnextchar [ { \@array } { \@array [ c ] } }
- \cs_set:Npn \endtabular { \endarray $\egroup} % $
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The environment \{NiceArrayWithDelims\}}
-%
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceArrayWithDelims }
- { m m O { } m ! O { } t \CodeBefore }
- {
- \bool_if:NT \c_@@_revtex_bool \@@_patch_for_revtex:
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@@_provide_pgfsyspdfmark:
- \bool_if:NT \g_@@_footnote_bool \savenotes
-% \end{macrocode}
-%
-% The aim of the following |\bgroup| (the corresponding |\egroup| is, of course,
-% at the end of the environment) is to be able to put an exposant to a matrix in
-% a mathematical formula.
-% \begin{macrocode}
- \bgroup
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \tl_gset:Nn \g_@@_left_delim_tl { #1 }
- \tl_gset:Nn \g_@@_right_delim_tl { #2 }
- \tl_gset:Nn \g_@@_user_preamble_tl { #4 }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
- \int_gzero:N \g_@@_block_box_int
- \dim_zero:N \g_@@_width_last_col_dim
- \dim_zero:N \g_@@_width_first_col_dim
- \bool_gset_false:N \g_@@_row_of_col_done_bool
- \str_if_empty:NT \g_@@_name_env_str
- { \str_gset:Nn \g_@@_name_env_str { NiceArrayWithDelims } }
- \bool_if:NTF \l_@@_tabular_bool
- \mode_leave_vertical:
- \@@_test_if_math_mode:
- \bool_if:NT \l_@@_in_env_bool { \@@_fatal:n { Yet~in~env } }
- \bool_set_true:N \l_@@_in_env_bool
-% \end{macrocode}
-% The command |\CT@arc@| contains the instruction of color for the rules of the
-% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|}. This command is used by |\CT@arc@| but
-% we use it also for compatibility with \pkg{colortbl}. But we want also to be
-% able to use color for the rules of the array when \pkg{colortbl} is \emph{not}
-% loaded. That's why we do the following instruction which is in the patch of
-% the beginning of arrays done by \pkg{colortbl}. Of course, we restore the
-% value of |\CT@arc@| at the end of our environment.
-% \begin{macrocode}
- \cs_gset_eq:NN \@@_old_CT@arc@ \CT@arc@
-% \end{macrocode}
-%
-% We deactivate Tikz externalization because we will use \textsc{pgf} pictures
-% with the options |overlay| and |remember picture| (or equivalent forms). We
-% deactivate with |\tikzexternaldisable| and not with
-% |\tikzset{external/export=false}| which is \emph{not} equivalent.
-% \begin{macrocode}
- \cs_if_exist:NT \tikz@library@external@loaded
- {
- \tikzexternaldisable
- \cs_if_exist:NT \ifstandalone
- { \tikzset { external / optimize = false } }
- }
-% \end{macrocode}
-%
-% We increment the counter |\g_@@_env_int| which counts the environments
-% of the package.
-% \begin{macrocode}
- \int_gincr:N \g_@@_env_int
- \bool_if:NF \l_@@_block_auto_columns_width_bool
- { \dim_gzero_new:N \g_@@_max_cell_width_dim }
-% \end{macrocode}
-%
-%
-% The sequence |\g_@@_blocks_seq| will contain the carateristics of the blocks
-% (specified by |\Block|) of the array. The sequence |\g_@@_pos_of_blocks_seq|
-% will contain only the position of the blocks (except the blocks with the key
-% |hvlines|).
-% \begin{macrocode}
- \seq_gclear:N \g_@@_blocks_seq
- \seq_gclear:N \g_@@_pos_of_blocks_seq
-% \end{macrocode}
-% In fact, the sequence |\g_@@_pos_of_blocks_seq| will also contain the
-% positions of the cells with a |\diagbox| and the |\multicolumn|.
-%
-% \begin{macrocode}
- \seq_gclear:N \g_@@_pos_of_stroken_blocks_seq
- \seq_gclear:N \g_@@_pos_of_xdots_seq
- \tl_gclear_new:N \g_@@_code_before_tl
- \tl_gclear:N \g_@@_row_style_tl
-% \end{macrocode}
-%
-% \bigskip
-% We load all the informations written in the |aux| file during previous
-% compilations corresponding to the current environment.
-% \begin{macrocode}
- \tl_if_exist:cTF { c_@@ _ \int_use:N \g_@@_env_int _ tl }
- {
- \bool_gset_true:N \g_@@_aux_found_bool
- \use:c { c_@@ _ \int_use:N \g_@@_env_int _ tl }
- }
- { \bool_gset_false:N \g_@@_aux_found_bool }
-% \end{macrocode}
-% Now, we prepare the token list for the instructions that we will have to write
-% on the |aux| file at the end of the environment.
-% \begin{macrocode}
- \tl_gclear:N \g_@@_aux_tl
-% \end{macrocode}
-%
-% \begin{macrocode}
- \tl_if_empty:NF \g_@@_code_before_tl
- {
- \bool_set_true:N \l_@@_code_before_bool
- \tl_put_right:NV \l_@@_code_before_tl \g_@@_code_before_tl
- }
- \tl_if_empty:NF \g_@@_pre_code_before_tl
- { \bool_set_true:N \l_@@_code_before_bool }
-% \end{macrocode}
-%
-% The set of keys is not exactly the same for |{NiceArray}| and for the variants
-% of |{NiceArray}| (|{pNiceArray}|, |{bNiceArray}|, etc.) because, for
-% |{NiceArray}|, we have the options |t|, |c|, |b| and |baseline|.
-% \begin{macrocode}
- \bool_if:NTF \g_@@_delims_bool
- { \keys_set:nn { NiceMatrix / pNiceArray } }
- { \keys_set:nn { NiceMatrix / NiceArray } }
- { #3 , #5 }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \@@_set_CT@arc@:o \l_@@_rules_color_tl
-% \end{macrocode}
-%
-% \bigskip
-% The argument |#6| is the last argument of |{NiceArrayWithDelims}|. With that
-% argument of type ``|t \CodeBefore|'', we test whether there is the keyword
-% |\CodeBefore| at the beginning of the body of the environment. If that keyword
-% is present, we have now to extract all the content between that keyword
-% |\CodeBefore| and the (other) keyword |\Body|. It's the job that will do the
-% command |\@@_CodeBefore_Body:w|. After that job, the command |\@@_CodeBefore_Body:w|
-% will go on with |\@@_pre_array:|.
-% \begin{macrocode}
- \IfBooleanTF { #6 } \@@_CodeBefore_Body:w \@@_pre_array:
- }
-% \end{macrocode}
-%
-% Now, the second part of the environment |{NiceArrayWithDelims}|.
-% \begin{macrocode}
- {
- \bool_if:NTF \l_@@_light_syntax_bool
- { \use:c { end @@-light-syntax } }
- { \use:c { end @@-normal-syntax } }
- \c_math_toggle_token
- \skip_horizontal:N \l_@@_right_margin_dim
- \skip_horizontal:N \l_@@_extra_right_margin_dim
- \hbox_set_end:
-% \end{macrocode}
-% End of the construction of the array (in the box |\l_@@_the_array_box|).
-%
-% \bigskip
-% If the user has used the key |width| without any column |X|, we raise an error.
-% \begin{macrocode}
- \bool_if:NT \l_@@_width_used_bool
- {
- \int_if_zero:nT \g_@@_total_X_weight_int
- { \@@_error_or_warning:n { width~without~X~columns } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Now, if there is at least one |X|-column in the environment, we compute the
-% width that those columns will have (in the next compilation). In fact,
-% |l_@@_X_columns_dim| will be the width of a column of weight $1$. For a
-% |X|-column of weight~$n$, the width will be |\l_@@_X_columns_dim| multiplied
-% by~$n$.
-% \begin{macrocode}
- \int_compare:nNnT \g_@@_total_X_weight_int > \c_zero_int
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \bool_set_true:N \l_@@_X_columns_aux_bool
- \dim_set:Nn \l_@@_X_columns_dim
- {
- \dim_compare:nNnTF
- {
- \dim_abs:n
- { \l_@@_width_dim - \box_wd:N \l_@@_the_array_box }
- }
- <
- { 0.001 pt }
- { \dim_use:N \l_@@_X_columns_dim }
- {
- \dim_eval:n
- {
- ( \l_@@_width_dim - \box_wd:N \l_@@_the_array_box )
- / \int_use:N \g_@@_total_X_weight_int
- + \l_@@_X_columns_dim
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% It the user has used the key |last-row| with a value, we control that the
-% given value is correct (since we have just constructed the array, we know the
-% actual number of rows of the array).
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_row_int > { -2 }
- {
- \bool_if:NF \l_@@_last_row_without_value_bool
- {
- \int_compare:nNnF \l_@@_last_row_int = \c@iRow
- {
- \@@_error:n { Wrong~last~row }
- \int_gset_eq:NN \l_@@_last_row_int \c@iRow
- }
- }
- }
-% \end{macrocode}
-%
-% Now, the definition of |\c@jCol| and |\g_@@_col_total_int| change: |\c@jCol|
-% will be the number of columns without the ``last column'';
-% |\g_@@_col_total_int| will be the number of columns with this ``last
-% column''.\footnote{We remind that the potential ``first column'' (exterior)
-% has the number~$0$.}
-% \begin{macrocode}
- \int_gset_eq:NN \c@jCol \g_@@_col_total_int
- \bool_if:NTF \g_@@_last_col_found_bool
- { \int_gdecr:N \c@jCol }
- {
- \int_compare:nNnT \l_@@_last_col_int > { -1 }
- { \@@_error:n { last~col~not~used } }
- }
-% \end{macrocode}
-%
-% We fix also the value of |\c@iRow| and |\g_@@_row_total_int| with the
-% same principle.
-% \begin{macrocode}
- \int_gset_eq:NN \g_@@_row_total_int \c@iRow
- \int_compare:nNnT \l_@@_last_row_int > { -1 } { \int_gdecr:N \c@iRow }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \textbf{Now, we begin the real construction in the output flow of TeX}. First, we take
-% into account a potential ``first column'' (we remind that this ``first
-% column'' has been constructed in an overlapping position and that we have
-% computed its width in |\g_@@_width_first_col_dim|: see
-% p.~\pageref{overlap-left}).
-% \begin{macrocode}
- \int_if_zero:nT \l_@@_first_col_int
- { \skip_horizontal:N \g_@@_width_first_col_dim }
-% \end{macrocode}
-%
-% The construction of the real box is different whether we have delimiters to
-% put.
-% \begin{macrocode}
- \bool_if:nTF { ! \g_@@_delims_bool }
- {
- \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_c_tl
- \@@_use_arraybox_with_notes_c:
- {
- \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_b_tl
- \@@_use_arraybox_with_notes_b:
- \@@_use_arraybox_with_notes:
- }
- }
-% \end{macrocode}
-%
-% Now, in the case of an environment with delimiters. We compute |\l_tmpa_dim|
-% which is the total height of the ``first row'' above the array (when the key
-% |first-row| is used).
-% \begin{macrocode}
- {
- \int_if_zero:nTF \l_@@_first_row_int
- {
- \dim_set_eq:NN \l_tmpa_dim \g_@@_dp_row_zero_dim
- \dim_add:Nn \l_tmpa_dim \g_@@_ht_row_zero_dim
- }
- { \dim_zero:N \l_tmpa_dim }
-% \end{macrocode}
-%
-% We compute |\l_tmpb_dim| which is the total height of the ``last row''
-% below the array (when the key |last-row| is used). A value of $-2$ for
-% |\l_@@_last_row_int| means that there is no ``last row''.\footnote{A value of
-% $-1$ for |\l_@@_last_row_int| means that there is a ``last row'' but the
-% the user have not set the value with the option |last row| (and we are in the
-% first compilation).}
-% \begin{macrocode}
- \int_compare:nNnTF \l_@@_last_row_int > { -2 }
- {
- \dim_set_eq:NN \l_tmpb_dim \g_@@_ht_last_row_dim
- \dim_add:Nn \l_tmpb_dim \g_@@_dp_last_row_dim
- }
- { \dim_zero:N \l_tmpb_dim }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \hbox_set:Nn \l_tmpa_box
- {
- \c_math_toggle_token
- \@@_color:o \l_@@_delimiters_color_tl
- \exp_after:wN \left \g_@@_left_delim_tl
- \vcenter
- {
-% \end{macrocode}
-% We take into account the ``first row'' (we have previously computed its total
-% height in |\l_tmpa_dim|). The |\hbox:n| (or |\hbox|) is necessary here.
-% \begin{macrocode}
- \skip_vertical:n { -\l_tmpa_dim - \arrayrulewidth }
- \hbox
- {
- \bool_if:NTF \l_@@_tabular_bool
- { \skip_horizontal:N -\tabcolsep }
- { \skip_horizontal:N -\arraycolsep }
- \@@_use_arraybox_with_notes_c:
- \bool_if:NTF \l_@@_tabular_bool
- { \skip_horizontal:N -\tabcolsep }
- { \skip_horizontal:N -\arraycolsep }
- }
-% \end{macrocode}
-% We take into account the ``last row'' (we have previously computed its total
-% height in |\l_tmpb_dim|).
-% \begin{macrocode}
- \skip_vertical:N -\l_tmpb_dim
- \skip_vertical:N \arrayrulewidth
- }
- \exp_after:wN \right \g_@@_right_delim_tl
- \c_math_toggle_token
- }
-% \end{macrocode}
-% Now, the box |\l_tmpa_box| is created with the correct delimiters.
-%
-% \smallskip
-% We will put the box in the TeX flow. However, we have a small work to do
-% when the option |delimiters/max-width| is used.
-% \begin{macrocode}
- \bool_if:NTF \l_@@_delimiters_max_width_bool
- {
- \@@_put_box_in_flow_bis:nn
- \g_@@_left_delim_tl
- \g_@@_right_delim_tl
- }
- \@@_put_box_in_flow:
- }
-% \end{macrocode}
-%
-% We take into account a potential ``last column'' (this ``last column'' has
-% been constructed in an overlapping position and we have computed its width in
-% |\g_@@_width_last_col_dim|: see p.~\pageref{overlap-right}).
-% \begin{macrocode}
- \bool_if:NT \g_@@_last_col_found_bool
- { \skip_horizontal:N \g_@@_width_last_col_dim }
- \bool_if:NT \l_@@_preamble_bool
- {
- \int_compare:nNnT \c@jCol < \g_@@_static_num_of_col_int
- { \@@_warning_gredirect_none:n { columns~not~used } }
- }
- \@@_after_array:
-% \end{macrocode}
-% The aim of the following |\egroup| (the corresponding |\bgroup| is, of course,
-% at the beginning of the environment) is to be able to put an exposant to a matrix in
-% a mathematical formula.
-% \begin{macrocode}
- \egroup
-% \end{macrocode}
-%
-% \bigskip
-% We write on the |aux| file all the informations corresponding to the
-% current environment.
-% \begin{macrocode}
- \iow_now:Nn \@mainaux { \ExplSyntaxOn }
- \iow_now:Nn \@mainaux { \char_set_catcode_space:n { 32 } }
- \iow_now:Nx \@mainaux
- {
- \tl_gset:cn { c_@@_ \int_use:N \g_@@_env_int _ tl }
- { \exp_not:o \g_@@_aux_tl }
- }
- \iow_now:Nn \@mainaux { \ExplSyntaxOff }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \bool_if:NT \g_@@_footnote_bool \endsavenotes
- }
-% \end{macrocode}
-% This is the end of the environment |{NiceArrayWithDelims}|.
-%
-% \vspace{1cm}
-% \section{We construct the preamble of the array}
-%
-% \bigskip
-% The final user provides a preamble, but we must convert that preamble into a
-% preamble that will be given to |{array}| (of the package \pkg{array}).
-%
-% \bigskip
-% The preamble given by the final user is stored in |\g_@@_user_preamble_tl|.
-% The modified version will be stored in |\g_@@_array_preamble_tl| also.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_transform_preamble:
- {
- \@@_transform_preamble_i:
- \@@_transform_preamble_ii:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_transform_preamble_i:
- {
- \int_gzero:N \c@jCol
-% \end{macrocode}
-% The sequence |\g_@@_cols_vlsim_seq| will contain the numbers of the columns
-% where you will to have to draw vertical lines in the potential sub-matrices
-% (hence the name |vlism|).
-% \begin{macrocode}
- \seq_gclear:N \g_@@_cols_vlism_seq
-% \end{macrocode}
-% |\g_tmpb_bool| will be raised if you have a \verb+|+ at the end of the
-% preamble provided by the final user.
-% \begin{macrocode}
- \bool_gset_false:N \g_tmpb_bool
-% \end{macrocode}
-%
-% The following sequence will store the arguments of the successive |>| in the
-% preamble.
-% \begin{macrocode}
- \tl_gclear_new:N \g_@@_pre_cell_tl
-% \end{macrocode}
-% The counter |\l_tmpa_int| will count the number of consecutive occurrences
-% of the symbol \verb+|+.
-% \begin{macrocode}
- \int_zero:N \l_tmpa_int
- \tl_gclear:N \g_@@_array_preamble_tl
- \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
- {
- \tl_gset:Nn \g_@@_array_preamble_tl
- { ! { \skip_horizontal:N \arrayrulewidth } }
- }
- {
- \clist_if_in:NnT \l_@@_vlines_clist 1
- {
- \tl_gset:Nn \g_@@_array_preamble_tl
- { ! { \skip_horizontal:N \arrayrulewidth } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Now, we actually make the preamble (which will be given to |{array}|). It will
-% be stored in |\g_@@_array_preamble_tl|.
-% \begin{macrocode}
- \exp_last_unbraced:NV \@@_rec_preamble:n \g_@@_user_preamble_tl \stop
- \int_gset_eq:NN \g_@@_static_num_of_col_int \c@jCol
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \@@_replace_columncolor:
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- {
- \regex_const:Nn \c_@@_columncolor_regex { \c { columncolor } }
- \cs_new_protected:Npn \@@_replace_columncolor:
- {
- \regex_replace_all:NnN
- \c_@@_columncolor_regex
- { \c { @@_columncolor_preamble } }
- \g_@@_array_preamble_tl
- }
- }
- {
- \cs_new_protected:Npn \@@_replace_columncolor:
- { \cs_set_eq:NN \columncolor \@@_columncolor_preamble }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_transform_preamble_ii:
- {
-% \end{macrocode}
-%
-% \medskip
-% If there were delimiters at the beginning or at the end of the preamble, the
-% environment |{NiceArray}| is transformed into an environment |{xNiceMatrix}|.
-% \begin{macrocode}
- \tl_if_eq:NNTF \g_@@_left_delim_tl \c_@@_dot_tl
- {
- \tl_if_eq:NNF \g_@@_right_delim_tl \c_@@_dot_tl
- { \bool_gset_true:N \g_@@_delims_bool }
- }
- { \bool_gset_true:N \g_@@_delims_bool }
-% \end{macrocode}
-%
-% \medskip
-% We want to remind whether there is a specifier \verb+|+ at the end of the preamble.
-% \begin{macrocode}
- \bool_if:NT \g_tmpb_bool { \bool_set_true:N \l_@@_bar_at_end_of_pream_bool }
-% \end{macrocode}
-%
-% \bigskip
-% We complete the preamble with the potential ``exterior columns'' (on both sides).
-% \begin{macrocode}
- \int_if_zero:nTF \l_@@_first_col_int
- { \tl_gput_left:No \g_@@_array_preamble_tl \c_@@_preamble_first_col_tl }
- {
- \bool_if:NF \g_@@_delims_bool
- {
- \bool_if:NF \l_@@_tabular_bool
- {
- \tl_if_empty:NT \l_@@_vlines_clist
- {
- \bool_if:NF \l_@@_exterior_arraycolsep_bool
- { \tl_gput_left:Nn \g_@@_array_preamble_tl { @ { } } }
- }
- }
- }
- }
- \int_compare:nNnTF \l_@@_last_col_int > { -1 }
- { \tl_gput_right:No \g_@@_array_preamble_tl \c_@@_preamble_last_col_tl }
- {
- \bool_if:NF \g_@@_delims_bool
- {
- \bool_if:NF \l_@@_tabular_bool
- {
- \tl_if_empty:NT \l_@@_vlines_clist
- {
- \bool_if:NF \l_@@_exterior_arraycolsep_bool
- { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { } } }
- }
- }
- }
- }
-% \end{macrocode}
-% We add a last column to raise a good error message when the user puts more
-% columns than allowed by its preamble. However, for technical reasons, it's not
-% possible to do that in |{NiceTabular*}| (we control that with the value of
-% |\l_@@_tabular_width_dim|).
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_tabular_width_dim = \c_zero_dim
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { > { \@@_error_too_much_cols: } l }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The preamble provided by the final user will be read by a finite
-% automata. The following function |\@@_rec_preamble:n| will read that preamble
-% (usually letter by letter) in a recursive way (hence the name of that function).
-% in the preamble.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rec_preamble:n #1
- {
-% \end{macrocode}
-% For the majority of the letters, we will trigger the corresponding action by
-% calling directly a function in the main hashtable of TeX (thanks to the
-% mechanism |\csname...\endcsname|. Be careful: all these functions take in as
-% first argument the letter (or token) itself.\footnote{We do that because it's
-% an easy way to insert the letter at some places in the code that we will add to
-% |\g_@@_array_preamble_tl|.}
-% \begin{macrocode}
- \cs_if_exist:cTF { @@ _ \token_to_str:N #1 }
- { \use:c { @@ _ \token_to_str:N #1 } { #1 } }
- {
-% \end{macrocode}
-% Now, the columns defined by |\newcolumntype| of \pkg{array}.
-% \begin{macrocode}
- \cs_if_exist:cTF { NC @ find @ #1 }
- {
- \tl_set_eq:Nc \l_tmpb_tl { NC @ rewrite @ #1 }
- \exp_last_unbraced:NV \@@_rec_preamble:n \l_tmpb_tl
- }
- {
- \tl_if_eq:nnT { #1 } { S }
- { \@@_fatal:n { unknown~column~type~S } }
- { \@@_fatal:nn { unknown~column~type } { #1 } }
- }
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% For |c|, |l| and |r|
-% \begin{macrocode}
-\cs_new:Npn \@@_c #1
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { > \@@_cell_begin:w c < \@@_cell_end: }
-% \end{macrocode}
-%
-% We increment the counter of columns and then we test for the presence of a |<|.
-% \begin{macrocode}
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-% \begin{macrocode}
-\cs_new:Npn \@@_l #1
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > { \@@_cell_begin:w \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_l_tl }
- l
- < \@@_cell_end:
- }
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-% \begin{macrocode}
-\cs_new:Npn \@@_r #1
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > { \@@_cell_begin:w \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_r_tl }
- r
- < \@@_cell_end:
- }
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-%
-% \medskip
-% For |!| and |@|
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N ! } #1 #2
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { #1 { #2 } }
- \@@_rec_preamble:n
- }
-\cs_set_eq:cc { @@ _ \token_to_str:N @ } { @@ _ \token_to_str:N ! }
-% \end{macrocode}
-%
-%
-% \medskip
-% For \verb+|+
-% \begin{macrocode}
-\cs_new:cpn { @@ _ | } #1
- {
-% \end{macrocode}
-% |\l_tmpa_int| is the number of successive occurrences of \verb+|+
-% \begin{macrocode}
- \int_incr:N \l_tmpa_int
- \@@_make_preamble_i_i:n
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_i_i:n #1
- {
- \str_if_eq:nnTF { #1 } |
- { \use:c { @@ _ | } | }
- { \@@_make_preamble_i_ii:nn { } #1 }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_i_ii:nn #1 #2
- {
- \str_if_eq:nnTF { #2 } [
- { \@@_make_preamble_i_ii:nw { #1 } [ }
- { \@@_make_preamble_i_iii:nn { #2 } { #1 } }
- }
-\cs_new_protected:Npn \@@_make_preamble_i_ii:nw #1 [ #2 ]
- { \@@_make_preamble_i_ii:nn { #1 , #2 } }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_i_iii:nn #1 #2
- {
- \@@_compute_rule_width:n { multiplicity = \l_tmpa_int , #2 }
- \tl_gput_right:Nx \g_@@_array_preamble_tl
- {
-% \end{macrocode}
-% Here, the command |\dim_eval:n| is mandatory.
-% \begin{macrocode}
- \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l_@@_rule_width_dim } } }
- }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_vline:n
- {
- position = \int_eval:n { \c@jCol + 1 } ,
- multiplicity = \int_use:N \l_tmpa_int ,
- total-width = \dim_use:N \l_@@_rule_width_dim ,
- #2
- }
-% \end{macrocode}
-% We don't have provided value for |start| nor for |end|, which means that the
-% rule will cover (potentially) all the rows of the array.
-%
-% \begin{macrocode}
- }
- \int_zero:N \l_tmpa_int
- \str_if_eq:nnT { #1 } { \stop } { \bool_gset_true:N \g_tmpb_bool }
- \@@_rec_preamble:n #1
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new:cpn { @@ _ > } #1 #2
- {
- \tl_gput_right:Nn \g_@@_pre_cell_tl { > { #2 } }
- \@@_rec_preamble:n
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\bool_new:N \l_@@_bar_at_end_of_pream_bool
-% \end{macrocode}
-%
-% \bigskip
-% The specifier |p| (and also the specifiers |m|, |b|, |V| and |X|) have an
-% optional argument between square brackets for a list of
-% \emph{key}-\emph{value} pairs. Here are the corresponding keys.
-% \begin{macrocode}
-\keys_define:nn { WithArrows / p-column }
- {
- r .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_r_str ,
- r .value_forbidden:n = true ,
- c .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_c_str ,
- c .value_forbidden:n = true ,
- l .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_l_str ,
- l .value_forbidden:n = true ,
- R .code:n =
- \IfPackageLoadedTF { ragged2e }
- { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_R_str }
- {
- \@@_error_or_warning:n { ragged2e~not~loaded }
- \str_set_eq:NN \l_@@_hpos_col_str \c_@@_r_str
- } ,
- R .value_forbidden:n = true ,
- L .code:n =
- \IfPackageLoadedTF { ragged2e }
- { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_L_stsr }
- {
- \@@_error_or_warning:n { ragged2e~not~loaded }
- \str_set_eq:NN \l_@@_hpos_col_str \c_@@_l_str
- } ,
- L .value_forbidden:n = true ,
- C .code:n =
- \IfPackageLoadedTF { ragged2e }
- { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_C_str }
- {
- \@@_error_or_warning:n { ragged2e~not~loaded }
- \str_set_eq:NN \l_@@_hpos_col_str \c_@@_c_str
- } ,
- C .value_forbidden:n = true ,
- S .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_si_str ,
- S .value_forbidden:n = true ,
- p .code:n = \str_set:Nn \l_@@_vpos_col_str { p } ,
- p .value_forbidden:n = true ,
- t .meta:n = p ,
- m .code:n = \str_set:Nn \l_@@_vpos_col_str { m } ,
- m .value_forbidden:n = true ,
- b .code:n = \str_set:Nn \l_@@_vpos_col_str { b } ,
- b .value_forbidden:n = true ,
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% For |p|, |b| and |m|.
-% \begin{macrocode}
-\cs_new:Npn \@@_p #1
- {
- \str_set:Nn \l_@@_vpos_col_str { #1 }
-% \end{macrocode}
-% Now, you look for a potential character |[| after the letter of the specifier
-% (for the options).
-% \begin{macrocode}
- \@@_make_preamble_ii_i:n
- }
-\cs_set_eq:NN \@@_b \@@_p
-\cs_set_eq:NN \@@_m \@@_p
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_ii_i:n #1
- {
- \str_if_eq:nnTF { #1 } { [ }
- { \@@_make_preamble_ii_ii:w [ }
- { \@@_make_preamble_ii_ii:w [ ] { #1 } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_ii_ii:w [ #1 ]
- { \@@_make_preamble_ii_iii:nn { #1 } }
-% \end{macrocode}
-%
-% \medskip
-% |#1| is the optional argument of the specifier (a list of
-% \emph{key}-\emph{value} pairs).
-%
-% |#2| is the mandatory argument of the specifier: the width of the column.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_ii_iii:nn #1 #2
- {
-% \end{macrocode}
-% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
-% the initial value), |l|, |c|, |r|, |L|, |C| and |R| (when the user has used
-% the corresponding key in the optional argument of the specifier).
-% \begin{macrocode}
- \str_set_eq:NN \l_@@_hpos_col_str \c_@@_j_str
- \@@_keys_p_column:n { #1 }
- \@@_make_preamble_ii_iv:nnn { #2 } { minipage } { }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_keys_p_column:n #1
- { \keys_set_known:nnN { WithArrows / p-column } { #1 } \l_tmpa_tl }
-% \end{macrocode}
-%
-% \medskip
-% The first argument is the width of the column. The second is the type of
-% environment: |minipage| or |varwidth|. The third is some code added at the
-% beginning of the cell.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_ii_iv:nnn #1 #2 #3
- {
- \use:e
- {
- \@@_make_preamble_ii_v:nnnnnnnn
- { \str_if_eq:onTF \l_@@_vpos_col_str { p } { t } { b } }
- { \dim_eval:n { #1 } }
- {
-% \end{macrocode}
-% The parameter |\l_@@_hpos_col_str| (as |\l_@@_vpos_col_str|) exists only
-% during the construction of the preamble. During the composition of the array
-% itself, you will have, in each cell, the parameter |\l_@@_hpos_cell_tl| which
-% will provide the horizontal alignment of the column to which belongs the cell.
-% \begin{macrocode}
- \str_if_eq:NNTF \l_@@_hpos_col_str \c_@@_j_str
- { \tl_clear:N \exp_not:N \l_@@_hpos_cell_tl }
- {
- \cs_set_nopar:Npn \exp_not:N \l_@@_hpos_cell_tl
- { \str_lowercase:V \l_@@_hpos_col_str }
- }
- \str_case:on \l_@@_hpos_col_str
- {
- c { \exp_not:N \centering }
- l { \exp_not:N \raggedright }
- r { \exp_not:N \raggedleft }
- C { \exp_not:N \Centering }
- L { \exp_not:N \RaggedRight }
- R { \exp_not:N \RaggedLeft }
- }
- #3
- }
- { \str_if_eq:onT \l_@@_vpos_col_str { m } \@@_center_cell_box: }
- { \str_if_eq:onT \l_@@_hpos_col_str { si } \siunitx_cell_begin:w }
- { \str_if_eq:onT \l_@@_hpos_col_str { si } \siunitx_cell_end: }
- { #2 }
- {
- \str_case:onF \l_@@_hpos_col_str
- {
- { j } { c }
- { si } { c }
- }
-% \end{macrocode}
-% We use |\str_lowercase:n| to convert |R| to |r|, etc.
-% \begin{macrocode}
- { \str_lowercase:V \l_@@_hpos_col_str }
- }
- }
-% \end{macrocode}
-%
-% We increment the counter of columns, and then we test for the presence of a |<|.
-% \begin{macrocode}
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-%
-% \medskip
-% |#1| is the optional argument of |{minipage}| (or |{varwidth}|): |t| or |b|.
-% Indeed, for the columns of type |m|, we use the value |b| here because there
-% is a special post-action in order to center vertically the box (see |#4|).
-%
-% |#2| is the width of the |{minipage}| (or |{varwidth}|), that is to say also
-% the width of the column.
-%
-% |#3| is the coding for the horizontal position of the content of the cell
-% (|\centering|, |\raggedright|, |\raggedleft| or nothing). It's also possible
-% to put in that |#3| some code to fix the value of |\l_@@_hpos_cell_tl| which
-% will be available in each cell of the column.
-%
-% |#4| is an extra-code which contains |\@@_center_cell_box:| (when the column
-% is a |m| column) or nothing (in the other cases).
-%
-% |#5| is a code put just before the |c| (or |r| or |l|: see |#8|).
-%
-% |#6| is a code put just after the |c| (or |r| or |l|: see |#8|).
-%
-% |#7| is the type of environment: |minipage| or |varwidth|.
-%
-% |#8| is the letter |c| or |r| or |l| which is the basic specificier of column
-% which is used \emph{in fine}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_ii_v:nnnnnnnn #1 #2 #3 #4 #5 #6 #7 #8
- {
- \tl_if_eq:NNTF \l_@@_hpos_col_str \c_@@_si_str
- { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty_for_S: } } }
- { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty: } } }
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > {
-% \end{macrocode}
-% The parameter |\l_@@_col_width_dim|, which is the width of the current column,
-% will be available in each cell of the column. It will be used by the
-% mono-column blocks.
-% \begin{macrocode}
- \dim_set:Nn \l_@@_col_width_dim { #2 }
- \@@_cell_begin:w
-% \end{macrocode}
-% We use the form |\minipage|--|\endminipage| (|\varwidth|--|\endvarwidth|) for
-% compatibility with \pkg{collcell} (2023-10-31).
-% \begin{macrocode}
- \use:c { #7 } [ #1 ] { #2 }
-% \end{macrocode}
-% The following lines have been taken from |array.sty|.
-% \begin{macrocode}
- \everypar
- {
- \vrule height \box_ht:N \@arstrutbox width \c_zero_dim
- \everypar { }
- }
-% \end{macrocode}
-% Now, the potential code for the horizontal position of the content of the cell
-% (|\centering|, |\raggedright|, |\RaggedRight|, etc.).
-% \begin{macrocode}
- #3
-% \end{macrocode}
-% The following code is to allow something like |\centering| in |\RowStyle|.
-% \begin{macrocode}
- \g_@@_row_style_tl
- \arraybackslash
- #5
- }
- #8
- < {
- #6
-% \end{macrocode}
-% The following line has been taken from |array.sty|.
-% \begin{macrocode}
- \@finalstrut \@arstrutbox
- \use:c { end #7 }
-% \end{macrocode}
-% If the letter in the preamble is |m|, |#4| will be equal to
-% |\@@_center_cell_box:| (see just below).
-% \begin{macrocode}
- #4
- \@@_cell_end:
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-%
-% \begin{macrocode}
-\str_new:N \c_@@_ignorespaces_str
-\str_set:Nx \c_@@_ignorespaces_str { \ignorespaces }
-\str_remove_all:Nn \c_@@_ignorespaces_str { ~ }
-% \end{macrocode}
-%
-% \bigskip
-% In order to test whether a cell is empty, we test whether it begins by
-% |\ignorespaces\unskip|. However, in some circunstancies, for example when
-% |\collectcell| of \pkg{collcell} is used, the cell does not begin with
-% |\ignorespaces|. In that case, we consider as not empty...
-%
-% First, we test if the next token is |\ignorespaces| and it's not very easy...
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_empty: { \peek_after:Nw \@@_test_if_empty_i: }
-\cs_new_protected:Npn \@@_test_if_empty_i:
- {
- \str_set:Nx \l_tmpa_str { \token_to_meaning:N \l_peek_token }
- \str_if_eq:NNT \l_tmpa_str \c_@@_ignorespaces_str
- { \@@_test_if_empty:w }
- }
-\cs_new_protected:Npn \@@_test_if_empty:w \ignorespaces
- {
- \peek_meaning:NT \unskip
- {
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- {
- \box_set_wd:Nn \l_@@_cell_box \c_zero_dim
- \skip_horizontal:N \l_@@_col_width_dim
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_empty_for_S:
- {
- \peek_meaning:NT \__siunitx_table_skip:n
- {
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- { \box_set_wd:Nn \l_@@_cell_box \c_zero_dim }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command will be used in |m|-columns in order to center
-% vertically the box. In fact, despite its name, the command does not always
-% center the cell. Indeed, if there is only one row in the cell, it should not
-% be centered vertically. It's not possible to know the number of rows of the
-% cell. However, we consider (as in \pkg{array}) that if the height of the cell
-% is no more that the height of |\@arstrutbox|, there is only one row.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_center_cell_box:
- {
-% \end{macrocode}
-% By putting instructions in |\g_@@_cell_after_hook_tl|, we require a
-% post-action of the box |\l_@@_cell_box|.
-% \begin{macrocode}
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- {
- \int_compare:nNnT
- { \box_ht:N \l_@@_cell_box }
- >
-% \end{macrocode}
-% Previously, we had |\@arstrutbox| and not |\strutbox| in the following line
-% but the code in \pkg{array} has changed in v 2.5g and we follow the change
-% (see \emph{array: Correctly identify single-line m-cells} in LaTeX~News~36).
-% \begin{macrocode}
- { \box_ht:N \strutbox }
- {
- \hbox_set:Nn \l_@@_cell_box
- {
- \box_move_down:nn
- {
- ( \box_ht:N \l_@@_cell_box - \box_ht:N \@arstrutbox
- + \baselineskip ) / 2
- }
- { \box_use:N \l_@@_cell_box }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% For |V| (similar to the |V| of \pkg{varwidth}).
-% \begin{macrocode}
-\cs_new:Npn \@@_V #1 #2
- {
- \str_if_eq:nnTF { #2 } { [ }
- { \@@_make_preamble_V_i:w [ }
- { \@@_make_preamble_V_i:w [ ] { #2 } }
- }
-\cs_new_protected:Npn \@@_make_preamble_V_i:w [ #1 ]
- { \@@_make_preamble_V_ii:nn { #1 } }
-\cs_new_protected:Npn \@@_make_preamble_V_ii:nn #1 #2
- {
- \str_set:Nn \l_@@_vpos_col_str { p }
- \str_set_eq:NN \l_@@_hpos_col_str \c_@@_j_str
- \@@_keys_p_column:n { #1 }
- \IfPackageLoadedTF { varwidth }
- { \@@_make_preamble_ii_iv:nnn { #2 } { varwidth } { } }
- {
- \@@_error_or_warning:n { varwidth~not~loaded }
- \@@_make_preamble_ii_iv:nnn { #2 } { minipage } { }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% For |w| and |W|
-% \begin{macrocode}
-\cs_new:Npn \@@_w { \@@_make_preamble_w:nnnn { } }
-\cs_new:Npn \@@_W { \@@_make_preamble_w:nnnn { \@@_special_W: } }
-% \end{macrocode}
-%
-% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for |W|;
-%
-% |#2| is the type of column (|w| or |W|);
-%
-% |#3| is the type of horizontal alignment (|c|, |l|, |r| or |s|);
-%
-% |#4| is the width of the column.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_w:nnnn #1 #2 #3 #4
- {
- \str_if_eq:nnTF { #3 } { s }
- { \@@_make_preamble_w_i:nnnn { #1 } { #4 } }
- { \@@_make_preamble_w_ii:nnnn { #1 } { #2 } { #3 } { #4 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% First, the case of an horizontal alignment equal to |s| (for \emph{stretch}).
-%
-% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for
-% |W|;
-%
-% |#2| is the width of the column.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_w_i:nnnn #1 #2
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > {
- \dim_set:Nn \l_@@_col_width_dim { #2 }
- \@@_cell_begin:w
- \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_c_tl
- }
- c
- < {
- \@@_cell_end_for_w_s:
- #1
- \@@_adjust_size_box:
- \box_use_drop:N \l_@@_cell_box
- }
- }
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-%
-% \bigskip
-% Then, the most important version, for the horizontal alignments types of |c|,
-% |l| and |r| (and not |s|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_w_ii:nnnn #1 #2 #3 #4
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > {
-% \end{macrocode}
-% The parameter |\l_@@_col_width_dim|, which is the width of the current column,
-% will be available in each cell of the column. It will be used by the
-% mono-column blocks.
-% \begin{macrocode}
- \dim_set:Nn \l_@@_col_width_dim { #4 }
- \hbox_set:Nw \l_@@_cell_box
- \@@_cell_begin:w
- \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #3 }
- }
- c
- < {
- \@@_cell_end:
- \hbox_set_end:
- #1
- \@@_adjust_size_box:
- \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
- }
- }
-% \end{macrocode}
-% We increment the counter of columns and then we test for the presence of a |<|.
-% \begin{macrocode}
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_special_W:
- {
- \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } > \l_@@_col_width_dim
- { \@@_warning:n { W~warning } }
- }
-% \end{macrocode}
-%
-% \medskip
-% For |S| (of \pkg{siunitx}).
-% \begin{macrocode}
-\cs_new:Npn \@@_S #1 #2
- {
- \str_if_eq:nnTF { #2 } { [ }
- { \@@_make_preamble_S:w [ }
- { \@@_make_preamble_S:w [ ] { #2 } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_S:w [ #1 ]
- { \@@_make_preamble_S_i:n { #1 } }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_S_i:n #1
- {
- \IfPackageLoadedTF { siunitx }
- {
- \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
- \tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > {
- \@@_cell_begin:w
- \keys_set:nn { siunitx } { #1 }
- \siunitx_cell_begin:w
- }
- c
- < { \siunitx_cell_end: \@@_cell_end: }
- }
-% \end{macrocode}
-% We increment the counter of columns and then we test for the presence of a |<|.
-% \begin{macrocode}
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
- { \@@_fatal:n { siunitx~not~loaded } }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% For |(|, |[| and |\{|.
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N ( } #1 #2
- {
- \bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
-% \end{macrocode}
-% If we are before the column 1 and not in |{NiceArray}|, we reserve space for
-% the left delimiter.
-% \begin{macrocode}
- \int_if_zero:nTF \c@jCol
- {
- \tl_if_eq:NNTF \g_@@_left_delim_tl \c_@@_dot_tl
- {
-% \end{macrocode}
-% In that case, in fact, the first letter of the preamble must be considered as
-% the left delimiter of the array.
-% \begin{macrocode}
- \tl_gset:Nn \g_@@_left_delim_tl { #1 }
- \tl_gset_eq:NN \g_@@_right_delim_tl \c_@@_dot_tl
- \@@_rec_preamble:n #2
- }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
- \@@_make_preamble_iv:nn { #1 } { #2 }
- }
- }
- { \@@_make_preamble_iv:nn { #1 } { #2 } }
- }
-\cs_set_eq:cc { @@ _ \token_to_str:N [ } { @@ _ \token_to_str:N ( }
-\cs_set_eq:cc { @@ _ \token_to_str:N \{ } { @@ _ \token_to_str:N ( }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_iv:nn #1 #2
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_eval:n { \c@jCol + 1 } } \c_true_bool }
- \tl_if_in:nnTF { ( [ \{ ) ] \} \left \right } { #2 }
- {
- \@@_error:nn { delimiter~after~opening } { #2 }
- \@@_rec_preamble:n
- }
- { \@@_rec_preamble:n #2 }
- }
-% \end{macrocode}
-%
-% In fact, if would be possible to define |\left| and |\right| as no-op.
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N \left } #1 { \use:c { @@ _ \token_to_str:N ( } }
-% \end{macrocode}
-%
-% \bigskip
-% For the closing delimiters. We have two arguments for the following command because
-% we directly read the following letter in the preamble (we have to see whether
-% we have a opening delimiter following and we also have to see whether we are
-% at the end of the preamble because, in that case, our letter must be
-% considered as the right delimiter of the environment if the environment is
-% |{NiceArray}|).
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N ) } #1 #2
- {
- \bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
- \tl_if_in:nnTF { ) ] \} } { #2 }
- { \@@_make_preamble_v:nnn #1 #2 }
- {
- \tl_if_eq:nnTF { \stop } { #2 }
- {
- \tl_if_eq:NNTF \g_@@_right_delim_tl \c_@@_dot_tl
- { \tl_gset:Nn \g_@@_right_delim_tl { #1 } }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_rec_preamble:n #2
- }
- }
- {
- \tl_if_in:nnT { ( [ \{ \left } { #2 }
- { \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } } }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_rec_preamble:n #2
- }
- }
- }
-\cs_set_eq:cc { @@ _ \token_to_str:N ] } { @@ _ \token_to_str:N ) }
-\cs_set_eq:cc { @@ _ \token_to_str:N \} } { @@ _ \token_to_str:N ) }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_v:nnn #1 #2 #3
- {
- \tl_if_eq:nnTF { \stop } { #3 }
- {
- \tl_if_eq:NNTF \g_@@_right_delim_tl \c_@@_dot_tl
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \tl_gset:Nn \g_@@_right_delim_tl { #2 }
- }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_error:nn { double~closing~delimiter } { #2 }
- }
- }
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_error:nn { double~closing~delimiter } { #2 }
- \@@_rec_preamble:n #3
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N \right } #1
- { \use:c { @@ _ \token_to_str:N ) } }
-% \end{macrocode}
-%
-%
-% \bigskip
-% After a specifier of column, we have to test whether there is one or several
-% |<{..}| because, after those potential |<{...}|, we have to insert
-% |!{\skip_horizontal:N ...}| when the key |vlines| is used. In fact, we have
-% also to test whether there is, after the |<{...}|, a |@{...}|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rec_preamble_after_col:n #1
- {
- \str_if_eq:nnTF { #1 } { < }
- \@@_rec_preamble_after_col_i:n
- {
- \str_if_eq:nnTF { #1 } { @ }
- \@@_rec_preamble_after_col_ii:n
- {
- \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { ! { \skip_horizontal:N \arrayrulewidth } }
- }
- {
- \exp_args:NNe
- \clist_if_in:NnT \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { ! { \skip_horizontal:N \arrayrulewidth } }
- }
- }
- \@@_rec_preamble:n { #1 }
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rec_preamble_after_col_i:n #1
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl { < { #1 } }
- \@@_rec_preamble_after_col:n
- }
-% \end{macrocode}
-%
-% We have to catch a |@{...}| after a specifier of column because, if we have to
-% draw a vertical rule, we have to add in that |@{...}| a |\hskip| corresponding
-% to the width of the vertical rule.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rec_preamble_after_col_ii:n #1
- {
- \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { @ { #1 \skip_horizontal:N \arrayrulewidth } }
- }
- {
- \exp_args:NNe
- \clist_if_in:NnTF \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- { @ { #1 \skip_horizontal:N \arrayrulewidth } }
- }
- { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { #1 } } }
- }
- \@@_rec_preamble:n
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new:cpn { @@ _ * } #1 #2 #3
- {
- \tl_clear:N \l_tmpa_tl
- \int_step_inline:nn { #2 } { \tl_put_right:Nn \l_tmpa_tl { #3 } }
- \exp_last_unbraced:No \@@_rec_preamble:n \l_tmpa_tl
- }
-% \end{macrocode}
-%
-% \bigskip
-% The token |\NC@find| is at the head of the definition of the columns type done
-% by |\newcolumntype|. We wan't that token to be no-op here.
-% \begin{macrocode}
-\cs_new:cpn { @@ _ \token_to_str:N \NC@find } #1 { \@@_rec_preamble:n }
-% \end{macrocode}
-%
-% \bigskip
-% For the case of a letter |X|. This specifier may take in an optional argument
-% (between square brackets). That's why we test whether there is a |[| after the
-% letter |X|.
-% \begin{macrocode}
-\cs_new:Npn \@@_X #1 #2
- {
- \str_if_eq:nnTF { #2 } { [ }
- { \@@_make_preamble_X:w [ }
- { \@@_make_preamble_X:w [ ] #2 }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_X:w [ #1 ]
- { \@@_make_preamble_X_i:n { #1 } }
-% \end{macrocode}
-% |#1| is the optional argument of the |X| specifier (a list of
-% \emph{key}-\emph{value} pairs).
-%
-% \medskip
-% The following set of keys is for the specifier |X| in the preamble of the
-% array. Such specifier may have as keys all the keys of
-% |{ WithArrows / p-column }| but also a key as 1, 2, 3, etc. The following set
-% of keys will be used to retrieve that value (in the counter |\l_@@_weight_int|).
-% \begin{macrocode}
-\keys_define:nn { WithArrows / X-column }
- { unknown .code:n = \int_set:Nn \l_@@_weight_int { \l_keys_key_str } }
-% \end{macrocode}
-%
-%
-% \medskip
-% In the following command, |#1| is the list of the options of the specifier |X|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_X_i:n #1
- {
-% \end{macrocode}
-% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
-% the initial value), |l|, |c| and |r| (when the user has used the corresponding
-% key in the optional argument of the specifier |X|).
-% \begin{macrocode}
- \str_set:Nn \l_@@_hpos_col_str { j }
-% \end{macrocode}
-% The possible values of |\l_@@_vpos_col_str| are |p| (the initial value), |m| and |b|
-% (when the user has used the corresponding key in the optional argument of the
-% specifier |X|).
-% \begin{macrocode}
- \str_set:Nn \l_@@_vpos_col_str { p }
-% \end{macrocode}
-%
-% The integer |\l_@@_weight_int| will be the weight of the |X| column (the
-% initial value is $1$). The user may specify a different value (such as $2$,
-% $3$, etc.) by putting that value in the optional argument of the specifier.
-% The weights of the |X| columns are used in the computation of the actual width
-% of those columns as in \pkg{tabu} (now obsolete) or \pkg{tabularray}.
-% \begin{macrocode}
- \int_zero_new:N \l_@@_weight_int
- \int_set_eq:NN \l_@@_weight_int \c_one_int
- \@@_keys_p_column:n { #1 }
-% \end{macrocode}
-% The unknown keys are put in |\l_tmpa_tl|
-% \begin{macrocode}
- \keys_set:no { WithArrows / X-column } \l_tmpa_tl
- \int_compare:nNnT \l_@@_weight_int < \c_zero_int
- {
- \@@_error_or_warning:n { negative~weight }
- \int_set:Nn \l_@@_weight_int { - \l_@@_weight_int }
- }
- \int_gadd:Nn \g_@@_total_X_weight_int \l_@@_weight_int
-% \end{macrocode}
-%
-% We test whether we know the width of the |X|-columns by reading the |aux| file
-% (after the first compilation, the width of the |X|-columns is computed and
-% written in the |aux| file).
-% \begin{macrocode}
- \bool_if:NTF \l_@@_X_columns_aux_bool
- {
- \exp_args:Nne
- \@@_make_preamble_ii_iv:nnn
- { \l_@@_weight_int \l_@@_X_columns_dim }
- { minipage }
- { \@@_no_update_width: }
- }
- {
- \tl_gput_right:Nn \g_@@_array_preamble_tl
- {
- > {
- \@@_cell_begin:w
- \bool_set_true:N \l_@@_X_bool
-% \end{macrocode}
-% You encounter a problem on 2023-03-04: for an environment with |X| columns,
-% during the first compilations (which are not the definitive one), sometimes,
-% some cells are declared empty even if they should not. That's a problem
-% because user's instructions may use these nodes. That's why we have added the
-% following |\NotEmpty|.
-% \begin{macrocode}
- \NotEmpty
-% \end{macrocode}
-% The following code will nullify the box of the cell.
-% \begin{macrocode}
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- { \hbox_set:Nn \l_@@_cell_box { } }
-% \end{macrocode}
-% We put a |{minipage}| to give to the user the ability to put a command such as
-% |\centering| in the |\RowStyle|.
-% \begin{macrocode}
- \begin { minipage } { 5 cm } \arraybackslash
- }
- c
- < {
- \end { minipage }
- \@@_cell_end:
- }
- }
- \int_gincr:N \c@jCol
- \@@_rec_preamble_after_col:n
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_no_update_width:
- {
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- { \cs_set_eq:NN \@@_update_max_cell_width: \prg_do_nothing: }
- }
-% \end{macrocode}
-%
-% \medskip
-% For the letter set by the user with |vlines-in-sub-matrix| (vlism).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_preamble_vlism:n #1
- {
- \seq_gput_right:Nx \g_@@_cols_vlism_seq
- { \int_eval:n { \c@jCol + 1 } }
- \tl_gput_right:Nx \g_@@_array_preamble_tl
- { \exp_not:N ! { \skip_horizontal:N \arrayrulewidth } }
- \@@_rec_preamble:n
- }
-% \end{macrocode}
-%
-% \medskip
-% The token |\stop| is a marker that we have inserted to mark the end of the
-% preamble (as provided by the final user) that we have inserted in the TeX flow.
-% \begin{macrocode}
-\cs_set_eq:cN { @@ _ \token_to_str:N \stop } \use_none:n
-% \end{macrocode}
-%
-% \medskip
-% The following lines try to catch some errors (when the final user has
-% forgotten the preamble of its environment).
-% \begin{macrocode}
-\cs_new_protected:cpn { @@ _ \token_to_str:N \hline }
- { \@@_fatal:n { Preamble~forgotten } }
-\cs_set_eq:cc { @@ _ \token_to_str:N \Hline } { @@ _ \token_to_str:N \hline }
-\cs_set_eq:cc { @@ _ \token_to_str:N \toprule } { @@ _ \token_to_str:N \hline }
-\cs_set_eq:cc { @@ _ \token_to_str:N \CodeBefore } { @@ _ \token_to_str:N \hline }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The redefinition of \textbackslash multicolumn}
-%
-% \medskip
-% The following command must \emph{not} be protected since it begins with
-% |\multispan| (a TeX primitive).
-% \begin{macrocode}
-\cs_new:Npn \@@_multicolumn:nnn #1 #2 #3
- {
-% \end{macrocode}
-% The following lines are from the definition of |\multicolumn| in \pkg{array}
-% (and \emph{not} in standard LaTeX). The first line aims to raise an error if
-% the user has put more that one column specifier in the preamble of
-% |\multicolumn|.
-% \begin{macrocode}
- \multispan { #1 }
- \cs_set_eq:NN \@@_update_max_cell_width: \prg_do_nothing: % added 2023-10-04
- \begingroup
- \cs_set:Npn \@addamp
- { \legacy_if:nTF { @firstamp } { \@firstampfalse } { \@preamerr 5 } }
-% \end{macrocode}
-%
-% \medskip
-% Now, we patch the (small) preamble as we have done with the main preamble of
-% the array.
-% \begin{macrocode}
- \tl_gclear:N \g_@@_preamble_tl
- \@@_make_m_preamble:n #2 \q_stop
-% \end{macrocode}
-%
-% \medskip
-% The following lines are an adaptation of the definition of |\multicolumn| in
-% \pkg{array}.
-% \begin{macrocode}
- \exp_args:No \@mkpream \g_@@_preamble_tl
- \@addtopreamble \@empty
- \endgroup
-% \end{macrocode}
-%
-% \medskip
-% Now, we do a treatment specific to \pkg{nicematrix} which has no equivalent
-% in the original definition of |\multicolumn|.
-% \begin{macrocode}
- \int_compare:nNnT { #1 } > \c_one_int
- {
- \seq_gput_left:Nx \g_@@_multicolumn_cells_seq
- { \int_use:N \c@iRow - \int_eval:n { \c@jCol + 1 } }
- \seq_gput_left:Nn \g_@@_multicolumn_sizes_seq { #1 }
- \seq_gput_right:Nx \g_@@_pos_of_blocks_seq
- {
- {
- \int_if_zero:nTF \c@jCol
- { \int_eval:n { \c@iRow + 1 } }
- { \int_use:N \c@iRow }
- }
- { \int_eval:n { \c@jCol + 1 } }
- {
- \int_if_zero:nTF \c@jCol
- { \int_eval:n { \c@iRow + 1 } }
- { \int_use:N \c@iRow }
- }
- { \int_eval:n { \c@jCol + #1 } }
- { } % for the name of the block
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% The following lines were in the original definition of |\multicolumn|.
-% \begin{macrocode}
- \cs_set:Npn \@sharp { #3 }
- \@arstrut
- \@preamble
- \null
-% \end{macrocode}
-%
-% \medskip
-% We add some lines.
-% \begin{macrocode}
- \int_gadd:Nn \c@jCol { #1 - 1 }
- \int_compare:nNnT \c@jCol > \g_@@_col_total_int
- { \int_gset_eq:NN \g_@@_col_total_int \c@jCol }
- \ignorespaces
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following commands will patch the (small) preamble of the |\multicolumn|.
-% All those commands have a |m| in their name to recall that they deal with the
-% redefinition of |\multicolumn|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble:n #1
- {
- \str_case:nnF { #1 }
- {
- c { \@@_make_m_preamble_i:n #1 }
- l { \@@_make_m_preamble_i:n #1 }
- r { \@@_make_m_preamble_i:n #1 }
- > { \@@_make_m_preamble_ii:nn #1 }
- ! { \@@_make_m_preamble_ii:nn #1 }
- @ { \@@_make_m_preamble_ii:nn #1 }
- | { \@@_make_m_preamble_iii:n #1 }
- p { \@@_make_m_preamble_iv:nnn t #1 }
- m { \@@_make_m_preamble_iv:nnn c #1 }
- b { \@@_make_m_preamble_iv:nnn b #1 }
- w { \@@_make_m_preamble_v:nnnn { } #1 }
- W { \@@_make_m_preamble_v:nnnn { \@@_special_W: } #1 }
- \q_stop { }
- }
- {
- \cs_if_exist:cTF { NC @ find @ #1 }
- {
- \tl_set_eq:Nc \l_tmpa_tl { NC @ rewrite @ #1 }
- \exp_last_unbraced:No \@@_make_m_preamble:n \l_tmpa_tl
- }
- {
- \tl_if_eq:nnT { #1 } { S }
- { \@@_fatal:n { unknown~column~type~S } }
- { \@@_fatal:nn { unknown~column~type } { #1 } }
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% For |c|, |l| and |r|
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_i:n #1
- {
- \tl_gput_right:Nn \g_@@_preamble_tl
- {
- > { \@@_cell_begin:w \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #1 } }
- #1
- < \@@_cell_end:
- }
-% \end{macrocode}
-%
-% We test for the presence of a |<|.
-% \begin{macrocode}
- \@@_make_m_preamble_x:n
- }
-% \end{macrocode}
-%
-% \medskip
-% For |>|, |!| and |@|
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_ii:nn #1 #2
- {
- \tl_gput_right:Nn \g_@@_preamble_tl { #1 { #2 } }
- \@@_make_m_preamble:n
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% For \verb+|+
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_iii:n #1
- {
- \tl_gput_right:Nn \g_@@_preamble_tl { #1 }
- \@@_make_m_preamble:n
- }
-% \end{macrocode}
-%
-% \medskip
-% For |p|, |m| and |b|
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_iv:nnn #1 #2 #3
- {
- \tl_gput_right:Nn \g_@@_preamble_tl
- {
- > {
- \@@_cell_begin:w
- \begin { minipage } [ #1 ] { \dim_eval:n { #3 } }
- \mode_leave_vertical:
- \arraybackslash
- \vrule height \box_ht:N \@arstrutbox depth 0 pt width 0 pt
- }
- c
- < {
- \vrule height 0 pt depth \box_dp:N \@arstrutbox width 0 pt
- \end { minipage }
- \@@_cell_end:
- }
- }
-% \end{macrocode}
-% We test for the presence of a |<|.
-% \begin{macrocode}
- \@@_make_m_preamble_x:n
- }
-% \end{macrocode}
-%
-% \medskip
-% For |w| and |W|
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_v:nnnn #1 #2 #3 #4
- {
- \tl_gput_right:Nn \g_@@_preamble_tl
- {
- > {
- \dim_set:Nn \l_@@_col_width_dim { #4 }
- \hbox_set:Nw \l_@@_cell_box
- \@@_cell_begin:w
- \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #3 }
- }
- c
- < {
- \@@_cell_end:
- \hbox_set_end:
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
- #1
- \@@_adjust_size_box:
- \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
- }
- }
-% \end{macrocode}
-% We test for the presence of a |<|.
-% \begin{macrocode}
- \@@_make_m_preamble_x:n
- }
-% \end{macrocode}
-%
-%
-% After a specifier of column, we have to test whether there is one or several
-% |<{..}|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_x:n #1
- {
- \str_if_eq:nnTF { #1 } { < }
- \@@_make_m_preamble_ix:n
- { \@@_make_m_preamble:n { #1 } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_make_m_preamble_ix:n #1
- {
- \tl_gput_right:Nn \g_@@_preamble_tl { < { #1 } }
- \@@_make_m_preamble_x:n
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The command |\@@_put_box_in_flow:| puts the box |\l_tmpa_box| (which contains
-% the array) in the flow. It is used for the environments with delimiters.
-% First, we have to modify the height and the depth to take back into account
-% the potential exterior rows (the total height of the first row has been
-% computed in |\l_tmpa_dim| and the total height of the potential last row in
-% |\l_tmpb_dim|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_put_box_in_flow:
- {
- \box_set_ht:Nn \l_tmpa_box { \box_ht:N \l_tmpa_box + \l_tmpa_dim }
- \box_set_dp:Nn \l_tmpa_box { \box_dp:N \l_tmpa_box + \l_tmpb_dim }
- \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_c_tl
- { \box_use_drop:N \l_tmpa_box }
- \@@_put_box_in_flow_i:
- }
-% \end{macrocode}
-%
-% \bigskip
-%
-% \medskip
-% The command |\@@_put_box_in_flow_i:| is used when the value of
-% |\l_@@_baseline_tl| is different of |c| (which is the initial value and the
-% most used).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_put_box_in_flow_i:
- {
- \pgfpicture
- \@@_qpoint:n { row - 1 }
- \dim_gset_eq:NN \g_tmpa_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { \c@iRow + 1 } }
- \dim_gadd:Nn \g_tmpa_dim \pgf@y
- \dim_gset:Nn \g_tmpa_dim { 0.5 \g_tmpa_dim }
-% \end{macrocode}
-% Now, |\g_tmpa_dim| contains the $y$-value of the center of the array (the
-% delimiters are centered in relation with this value).
-% \begin{macrocode}
- \tl_if_in:NnTF \l_@@_baseline_tl { line- }
- {
- \int_set:Nn \l_tmpa_int
- {
- \str_range:Nnn
- \l_@@_baseline_tl
- 6
- { \tl_count:o \l_@@_baseline_tl }
- }
- \@@_qpoint:n { row - \int_use:N \l_tmpa_int }
- }
- {
- \tl_if_eq:NnTF \l_@@_baseline_tl { t }
- { \int_set_eq:NN \l_tmpa_int \c_one_int }
- {
- \tl_if_eq:NnTF \l_@@_baseline_tl { b }
- { \int_set_eq:NN \l_tmpa_int \c@iRow }
- { \int_set:Nn \l_tmpa_int \l_@@_baseline_tl }
- }
- \bool_lazy_or:nnT
- { \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
- { \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
- {
- \@@_error:n { bad~value~for~baseline }
- \int_set_eq:NN \l_tmpa_int \c_one_int
- }
- \@@_qpoint:n { row - \int_use:N \l_tmpa_int - base }
-% \end{macrocode}
-% We take into account the position of the mathematical axis.
-% \begin{macrocode}
- \dim_gsub:Nn \g_tmpa_dim { \fontdimen22 \textfont2 }
- }
- \dim_gsub:Nn \g_tmpa_dim \pgf@y
-% \end{macrocode}
-% Now, |\g_tmpa_dim| contains the value of the $y$ translation we have to to.
-% \begin{macrocode}
- \endpgfpicture
- \box_move_up:nn \g_tmpa_dim { \box_use_drop:N \l_tmpa_box }
- \box_use_drop:N \l_tmpa_box
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command is \emph{always} used by |{NiceArrayWithDelims}| (even
-% if, in fact, there is no tabular notes: in fact, it's not possible to know
-% whether there is tabular notes or not before the composition of the blocks).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_use_arraybox_with_notes_c:
- {
-% \end{macrocode}
-% With an environment |{Matrix}|, you want to remove the exterior |\arraycolsep|
-% but we don't know the number of columns (since there is no preamble) and
-% that's why we can't put |@{}| at the end of the preamble. That's why we remove
-% a |\arraycolsep| now.
-% \begin{macrocode}
- \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
- {
- \int_compare:nNnT \c@jCol > \c_one_int
- {
- \box_set_wd:Nn \l_@@_the_array_box
- { \box_wd:N \l_@@_the_array_box - \arraycolsep }
- }
- }
-% \end{macrocode}
-% We need a |{minipage}| because we will insert a LaTeX list for the tabular
-% notes (that means that a |\vtop{\hsize=...}| is not enough).
-% \begin{macrocode}
- \begin { minipage } [ t ] { \box_wd:N \l_@@_the_array_box }
- \bool_if:NT \l_@@_caption_above_bool
- {
- \tl_if_empty:NF \l_@@_caption_tl
- {
-% \end{macrocode}
-% \begin{macrocode}
- \bool_set_false:N \g_@@_caption_finished_bool
- \int_gzero:N \c@tabularnote
- \@@_insert_caption:
-% \end{macrocode}
-% If there is one or several commands |\tabularnote| in the caption, we will
-% write in the |aux| file the number of such tabular notes... but only the
-% tabular notes for which the command |\tabularnote| has been used without its
-% optional argument (between square brackets).
-% \begin{macrocode}
- \int_compare:nNnT \g_@@_notes_caption_int > \c_zero_int
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \tl_set:Nn \exp_not:N \l_@@_note_in_caption_tl
- { \int_use:N \g_@@_notes_caption_int }
- }
- \int_gzero:N \g_@@_notes_caption_int
- }
- }
- }
-% \end{macrocode}
-% The |\hbox| avoids that the |pgfpicture| inside |\@@_draw_blocks| adds a extra
-% vertical space before the notes.
-% \begin{macrocode}
- \hbox
- {
- \box_use_drop:N \l_@@_the_array_box
-% \end{macrocode}
-% We have to draw the blocks right now because there may be tabular notes in
-% some blocks (which are not mono-column: the blocks which are mono-column
-% have been composed in boxes yet)... and we have to create (potentially) the
-% extra nodes before creating the blocks since there are |medium| nodes to create
-% for the blocks.
-% \begin{macrocode}
- \@@_create_extra_nodes:
- \seq_if_empty:NF \g_@@_blocks_seq \@@_draw_blocks:
- }
-% \end{macrocode}
-% We don't do the following test with |\c@tabularnote| because the value of that
-% counter is not reliable when the command |\ttabbox| of \pkg{floatrow} is used
-% (because |\ttabbox| de-activate |\stepcounter| because if compiles several
-% twice its tabular).
-% \begin{macrocode}
- \bool_lazy_any:nT
- {
- { ! \seq_if_empty_p:N \g_@@_notes_seq }
- { ! \seq_if_empty_p:N \g_@@_notes_in_caption_seq }
- { ! \tl_if_empty_p:o \g_@@_tabularnote_tl }
- }
- \@@_insert_tabularnotes:
- \cs_set_eq:NN \tabularnote \@@_tabularnote_error:n
- \bool_if:NF \l_@@_caption_above_bool \@@_insert_caption:
- \end { minipage }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_insert_caption:
- {
- \tl_if_empty:NF \l_@@_caption_tl
- {
- \cs_if_exist:NTF \@captype
- { \@@_insert_caption_i: }
- { \@@_error:n { caption~outside~float } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_insert_caption_i:
- {
- \group_begin:
-% \end{macrocode}
-% The flag |\l_@@_in_caption_bool| affects only the behaviour of the command
-% |\tabularnote| when used in the caption.
-% \begin{macrocode}
- \bool_set_true:N \l_@@_in_caption_bool
-% \end{macrocode}
-% The package \pkg{floatrow} does a redefinition of |\@makecaption| which will
-% extract the caption from the tabular. However, the old version of
-% |\@makecaption| has been stored by \pkg{floatrow} in |\FR@makecaption|. That's
-% why we restore the old version.
-% \begin{macrocode}
- \IfPackageLoadedTF { floatrow }
- { \cs_set_eq:NN \@makecaption \FR@makecaption }
- { }
- \tl_if_empty:NTF \l_@@_short_caption_tl
- { \caption }
- { \caption [ \l_@@_short_caption_tl ] }
- { \l_@@_caption_tl }
-% \end{macrocode}
-% In some circonstancies (in particular when the package \pkg{caption} is
-% loaded), the caption is composed several times. That's why, when the same
-% tabular note is encountered (in the caption!), we consider that you are in the
-% second compilation and you can give to |\g_@@_notes_caption_int| its final
-% value, which is the number of tabular notes in the caption. But sometimes, the
-% caption is composed only once. In that case, we fix the value of
-% |\g_@@_caption_finished_bool| now.
-% \begin{macrocode}
- \bool_if:NF \g_@@_caption_finished_bool
- {
- \bool_gset_true:N \g_@@_caption_finished_bool
- \int_gset_eq:NN \g_@@_notes_caption_int \c@tabularnote
- \int_gzero:N \c@tabularnote
- }
- \tl_if_empty:NF \l_@@_label_tl { \label { \l_@@_label_tl } }
- \group_end:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_tabularnote_error:n #1
- {
- \@@_error_or_warning:n { tabularnote~below~the~tabular }
- \@@_gredirect_none:n { tabularnote~below~the~tabular }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_insert_tabularnotes:
- {
- \seq_gconcat:NNN \g_@@_notes_seq \g_@@_notes_in_caption_seq \g_@@_notes_seq
- \int_set:Nn \c@tabularnote { \seq_count:N \g_@@_notes_seq }
- \skip_vertical:N 0.65ex
-% \end{macrocode}
-% The TeX group is for potential specifications in the
-% |\l_@@_notes_code_before_tl|.
-% \begin{macrocode}
- \group_begin:
- \l_@@_notes_code_before_tl
- \tl_if_empty:NF \g_@@_tabularnote_tl
- {
- \g_@@_tabularnote_tl \par
- \tl_gclear:N \g_@@_tabularnote_tl
- }
-% \end{macrocode}
-% We compose the tabular notes with a list of \pkg{enumitem}. The |\strut| and
-% the |\unskip| are designed to give the ability to put a |\bottomrule| at the
-% end of the notes with a good vertical space.
-% \begin{macrocode}
- \int_compare:nNnT \c@tabularnote > \c_zero_int
- {
- \bool_if:NTF \l_@@_notes_para_bool
- {
- \begin { tabularnotes* }
- \seq_map_inline:Nn \g_@@_notes_seq
- { \@@_one_tabularnote:nn ##1 }
- \strut
- \end { tabularnotes* }
-% \end{macrocode}
-% The following |\par| is mandatory for the event that the user has put
-% |\footnotesize| (for example) in the |notes/code-before|.
-% \begin{macrocode}
- \par
- }
- {
- \tabularnotes
- \seq_map_inline:Nn \g_@@_notes_seq
- { \@@_one_tabularnote:nn ##1 }
- \strut
- \endtabularnotes
- }
- }
- \unskip
- \group_end:
- \bool_if:NT \l_@@_notes_bottomrule_bool
- {
- \IfPackageLoadedTF { booktabs }
- {
-% \end{macrocode}
-% The two dimensions |\aboverulesep| et |\heavyrulewidth| are parameters defined
-% by \pkg{booktabs}.
-% \begin{macrocode}
- \skip_vertical:N \aboverulesep
-% \end{macrocode}
-% |\CT@arc@| is the specification of color defined by \pkg{colortbl} but you use it
-% even if \pkg{colortbl} is not loaded.
-% \begin{macrocode}
- { \CT@arc@ \hrule height \heavyrulewidth }
- }
- { \@@_error_or_warning:n { bottomrule~without~booktabs } }
- }
- \l_@@_notes_code_after_tl
- \seq_gclear:N \g_@@_notes_seq
- \seq_gclear:N \g_@@_notes_in_caption_seq
- \int_gzero:N \c@tabularnote
- }
-% \end{macrocode}
-%
-% \medskip
-% The following command will format (after the main tabular) one tabularnote
-% (with the command |\item|) . |#1| is the label (when the command
-% |\tabularnote| has been used with an optional argument between square
-% brackets) and |#2| is the text of the note. The second argument is provided by
-% curryfication.
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_one_tabularnote:nn #1
- {
- \tl_if_novalue:nTF { #1 }
- { \item }
- { \item [ \@@_notes_label_in_list:n { #1 } ] }
- }
-% \end{macrocode}
-%
-% \medskip
-% The case of |baseline| equal to |b|. Remember that, when the key |b| is used,
-% the |{array}| (of \pkg{array}) is constructed with the option |t| (and not
-% |b|). Now, we do the translation to take into account the option |b|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_use_arraybox_with_notes_b:
- {
- \pgfpicture
- \@@_qpoint:n { row - 1 }
- \dim_gset_eq:NN \g_tmpa_dim \pgf@y
- \@@_qpoint:n { row - \int_use:N \c@iRow - base }
- \dim_gsub:Nn \g_tmpa_dim \pgf@y
- \endpgfpicture
- \dim_gadd:Nn \g_tmpa_dim \arrayrulewidth
- \int_if_zero:nT \l_@@_first_row_int
- {
- \dim_gadd:Nn \g_tmpa_dim \g_@@_ht_row_zero_dim
- \dim_gadd:Nn \g_tmpa_dim \g_@@_dp_row_zero_dim
- }
- \box_move_up:nn \g_tmpa_dim { \hbox { \@@_use_arraybox_with_notes_c: } }
- }
-% \end{macrocode}
-%
-% \medskip
-% Now, the general case.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_use_arraybox_with_notes:
- {
-% \end{macrocode}
-% We convert a value of |t| to a value of |1|.
-% \begin{macrocode}
- \tl_if_eq:NnT \l_@@_baseline_tl { t }
- { \cs_set_nopar:Npn \l_@@_baseline_tl { 1 } }
-% \end{macrocode}
-% Now, we convert the value of |\l_@@_baseline_tl| (which should represent an
-% integer) to an integer stored in |\l_tmpa_int|.
-% \begin{macrocode}
- \pgfpicture
- \@@_qpoint:n { row - 1 }
- \dim_gset_eq:NN \g_tmpa_dim \pgf@y
- \str_if_in:NnTF \l_@@_baseline_tl { line- }
- {
- \int_set:Nn \l_tmpa_int
- {
- \str_range:Nnn
- \l_@@_baseline_tl
- 6
- { \tl_count:o \l_@@_baseline_tl }
- }
- \@@_qpoint:n { row - \int_use:N \l_tmpa_int }
- }
- {
- \int_set:Nn \l_tmpa_int \l_@@_baseline_tl
- \bool_lazy_or:nnT
- { \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
- { \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
- {
- \@@_error:n { bad~value~for~baseline }
- \int_set:Nn \l_tmpa_int 1
- }
- \@@_qpoint:n { row - \int_use:N \l_tmpa_int - base }
- }
- \dim_gsub:Nn \g_tmpa_dim \pgf@y
- \endpgfpicture
- \dim_gadd:Nn \g_tmpa_dim \arrayrulewidth
- \int_if_zero:nT \l_@@_first_row_int
- {
- \dim_gadd:Nn \g_tmpa_dim \g_@@_ht_row_zero_dim
- \dim_gadd:Nn \g_tmpa_dim \g_@@_dp_row_zero_dim
- }
- \box_move_up:nn \g_tmpa_dim { \hbox { \@@_use_arraybox_with_notes_c: } }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The command |\@@_put_box_in_flow_bis:| is used when the option
-% |delimiters/max-width| is used because, in this case, we have to adjust the
-% widths of the delimiters. The arguments |#1| and |#2| are the delimiters
-% specified by the user.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_put_box_in_flow_bis:nn #1 #2
- {
-% \end{macrocode}
-% We will compute the real width of both delimiters used.
-% \begin{macrocode}
- \dim_zero_new:N \l_@@_real_left_delim_dim
- \dim_zero_new:N \l_@@_real_right_delim_dim
- \hbox_set:Nn \l_tmpb_box
- {
- \c_math_toggle_token
- \left #1
- \vcenter
- {
- \vbox_to_ht:nn
- { \box_ht_plus_dp:N \l_tmpa_box }
- { }
- }
- \right .
- \c_math_toggle_token
- }
- \dim_set:Nn \l_@@_real_left_delim_dim
- { \box_wd:N \l_tmpb_box - \nulldelimiterspace }
- \hbox_set:Nn \l_tmpb_box
- {
- \c_math_toggle_token
- \left .
- \vbox_to_ht:nn
- { \box_ht_plus_dp:N \l_tmpa_box }
- { }
- \right #2
- \c_math_toggle_token
- }
- \dim_set:Nn \l_@@_real_right_delim_dim
- { \box_wd:N \l_tmpb_box - \nulldelimiterspace }
-% \end{macrocode}
-%
-% Now, we can put the box in the TeX flow with the horizontal adjustments on
-% both sides.
-% \begin{macrocode}
- \skip_horizontal:N \l_@@_left_delim_dim
- \skip_horizontal:N -\l_@@_real_left_delim_dim
- \@@_put_box_in_flow:
- \skip_horizontal:N \l_@@_right_delim_dim
- \skip_horizontal:N -\l_@@_real_right_delim_dim
- }
-% \end{macrocode}
-%
-% \interitem
-% The construction of the array in the environment |{NiceArrayWithDelims}| is,
-% in fact, done by the environment |{@@-light-syntax}| or by the environment
-% |{@@-normal-syntax}| (whether the option |light-syntax| is in force or not).
-% When the key |light-syntax| is not used, the construction is a standard
-% environment (and, thus, it's possible to use verbatim in the array).
-% \begin{macrocode}
-\NewDocumentEnvironment { @@-normal-syntax } { }
-% \end{macrocode}
-% First, we test whether the environment is empty. If it is empty, we raise a
-% fatal error (it's only a security). In order to detect whether it is empty, we
-% test whether the next token is |\end| and, if it's the case, we test if this
-% is the end of the environment (if it is not, an standard error will be raised
-% by LaTeX for incorrect nested environments).
-% \begin{macrocode}
- {
- \peek_remove_spaces:n
- {
- \peek_meaning:NTF \end
- \@@_analyze_end:Nn
- {
- \@@_transform_preamble:
-% \end{macrocode}
-% Here is the call to |\array| (we have a dedicated macro |\@@_array:| because
-% of compatibility with the classes \cls{revtex4-1} and \cls{revtex4-2}).
-% \begin{macrocode}
- \exp_args:No \@@_array: \g_@@_array_preamble_tl
- }
- }
- }
- {
- \@@_create_col_nodes:
- \endarray
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% When the key |light-syntax| is in force, we use an environment which takes its
-% whole body as an argument (with the specifier |b|).
-% % \label{code-light-syntax}
-% \begin{macrocode}
-\NewDocumentEnvironment { @@-light-syntax } { b }
- {
-% \end{macrocode}
-% First, we test whether the environment is empty. It's only a security. Of
-% course, this test is more easy than the similar test for the ``normal syntax''
-% because we have the whole body of the environment in |#1|.
-% \begin{macrocode}
- \tl_if_empty:nT { #1 } { \@@_fatal:n { empty~environment } }
- \tl_map_inline:nn { #1 }
- {
- \str_if_eq:nnT { ##1 } { & }
- { \@@_fatal:n { ampersand~in~light-syntax } }
- \str_if_eq:nnT { ##1 } { \\ }
- { \@@_fatal:n { double-backslash~in~light-syntax } }
- }
-% \end{macrocode}
-% Now, you extract the |\CodeAfter| of the body of the environment. Maybe, there
-% is no command |\CodeAfter| in the body. That's why you put a marker
-% |\CodeAfter| after |#1|. If there is yet a |\CodeAfter| in |#1|, this second
-% (or third...) |\CodeAfter| will be catched in the value of
-% |\g_nicematrix_code_after_tl|. That doesn't matter because |\CodeAfter| will
-% be set to \textsl{no-op} before the execution of
-% |\g_nicematrix_code_after_tl|.
-% \begin{macrocode}
- \@@_light_syntax_i:w #1 \CodeAfter \q_stop
-% \end{macrocode}
-% The command |\array| is hidden somewhere in |\@@_light_syntax_i:w|.
-% \begin{macrocode}
- }
-% \end{macrocode}
-% Now, the second part of the environment. We must leave these lines in the
-% second part (and not put them in the first part even though we caught the
-% whole body of the environment with an argument of type |b|) in order to have
-% the columns |S| of \pkg{siunitx} working fine.
-% \begin{macrocode}
- {
- \@@_create_col_nodes:
- \endarray
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_light_syntax_i:w #1\CodeAfter #2\q_stop
- {
- \tl_gput_right:Nn \g_nicematrix_code_after_tl { #2 }
-% \end{macrocode}
-% The body of the array, which is stored in the argument |#1|, is now
-% splitted into items (and \emph{not} tokens).
-% \begin{macrocode}
- \seq_clear_new:N \l_@@_rows_seq
-% \end{macrocode}
-% We rescan the character of end of line in order to have the correct catcode.
-% \begin{macrocode}
- \tl_set_rescan:Nno \l_@@_end_of_row_tl { } \l_@@_end_of_row_tl
- \bool_if:NTF \l_@@_light_syntax_expanded_bool
- \seq_set_split:Nee
- \seq_set_split:NVn
- \l_@@_rows_seq \l_@@_end_of_row_tl { #1 }
-% \end{macrocode}
-% We delete the last row if it is empty.
-% \begin{macrocode}
- \seq_pop_right:NN \l_@@_rows_seq \l_tmpa_tl
- \tl_if_empty:NF \l_tmpa_tl
- { \seq_put_right:No \l_@@_rows_seq \l_tmpa_tl }
-% \end{macrocode}
-% If the environment uses the option |last-row| without value (i.e. without
-% saying the number of the rows), we have now the opportunity to compute that
-% value. We do it, and so, if the token list |\l_@@_code_for_last_row_tl| is not
-% empty, we will use directly where it should be.
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_row_int = { -1 }
- { \int_set:Nn \l_@@_last_row_int { \seq_count:N \l_@@_rows_seq } }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The new value of the body (that is to say after replacement of the separators
-% of rows and columns by |\\| and |&|) of the environment will be stored in
-% |\l_@@_new_body_tl| in order to allow the use of commands such as
-% |\hline| or |\hdottedline| with the key |light-syntax|).
-% \begin{macrocode}
- \tl_build_begin:N \l_@@_new_body_tl
- \int_zero_new:N \l_@@_nb_cols_int
-% \end{macrocode}
-% First, we treat the first row.
-% \begin{macrocode}
- \seq_pop_left:NN \l_@@_rows_seq \l_tmpa_tl
- \@@_line_with_light_syntax:o \l_tmpa_tl
-% \end{macrocode}
-% Now, the other rows (with the same treatment, excepted that we have to insert
-% |\\| between the rows).
-% \begin{macrocode}
- \seq_map_inline:Nn \l_@@_rows_seq
- {
- \tl_build_put_right:Nn \l_@@_new_body_tl { \\ }
- \@@_line_with_light_syntax:n { ##1 }
- }
- \tl_build_end:N \l_@@_new_body_tl
-% \end{macrocode}
-%
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_last_col_int = { -1 }
- {
- \int_set:Nn \l_@@_last_col_int
- { \l_@@_nb_cols_int - 1 + \l_@@_first_col_int }
- }
-% \end{macrocode}
-%
-% Now, we can construct the preamble: if the user has used the key |last-col|,
-% we have the correct number of columns even though the user has used |last-col|
-% without value.
-% \begin{macrocode}
- \@@_transform_preamble:
-% \end{macrocode}
-% \bigskip
-%
-% The call to |\array| is in the following command (we have a dedicated macro
-% |\@@_array:| because of compatibility with the classes \cls{revtex4-1} and
-% \cls{revtex4-2}).
-% \begin{macrocode}
- \exp_args:No \@@_array: \g_@@_array_preamble_tl \l_@@_new_body_tl
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_line_with_light_syntax:n #1
- {
- \seq_clear_new:N \l_@@_cells_seq
- \seq_set_split:Nnn \l_@@_cells_seq { ~ } { #1 }
- \int_set:Nn \l_@@_nb_cols_int
- {
- \int_max:nn
- \l_@@_nb_cols_int
- { \seq_count:N \l_@@_cells_seq }
- }
- \seq_pop_left:NN \l_@@_cells_seq \l_tmpa_tl
- \exp_args:NNo \tl_build_put_right:Nn \l_@@_new_body_tl \l_tmpa_tl
- \seq_map_inline:Nn \l_@@_cells_seq
- { \tl_build_put_right:Nn \l_@@_new_body_tl { & ##1 } }
- }
-\cs_generate_variant:Nn \@@_line_with_light_syntax:n { o }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command is used by the code which detects whether the
-% environment is empty (we raise a fatal error in this case: it's only a
-% security). When this command is used, |#1| is, in fact, always |\end|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_analyze_end:Nn #1 #2
- {
- \str_if_eq:onT \g_@@_name_env_str { #2 }
- { \@@_fatal:n { empty~environment } }
-% \end{macrocode}
-% We reput in the stream the |\end{...}| we have extracted and the user will
-% have an error for incorrect nested environments.
-% \begin{macrocode}
- \end { #2 }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_create_col_nodes:| will construct a special last row.
-% That last row is a false row used to create the |col| nodes and to fix the
-% width of the columns (when the array is constructed with an option which
-% specifies the width of the columns).
-% \begin{macrocode}
-\cs_new:Npn \@@_create_col_nodes:
- {
- \crcr
- \int_if_zero:nT \l_@@_first_col_int
- {
- \omit
- \hbox_overlap_left:n
- {
- \bool_if:NT \l_@@_code_before_bool
- { \pgfsys@markposition { \@@_env: - col - 0 } }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - 0 } \pgfpointorigin
- \str_if_empty:NF \l_@@_name_str
- { \pgfnodealias { \l_@@_name_str - col - 0 } { \@@_env: - col - 0 } }
- \endpgfpicture
- \skip_horizontal:N 2\col@sep
- \skip_horizontal:N \g_@@_width_first_col_dim
- }
- &
- }
- \omit
-% \end{macrocode}
-% The following instruction must be put after the instruction |\omit|.
-% \begin{macrocode}
- \bool_gset_true:N \g_@@_row_of_col_done_bool
-% \end{macrocode}
-% First, we put a |col| node on the left of the first column (of course, we
-% have to do that \emph{after} the |\omit|).
-% \begin{macrocode}
- \int_if_zero:nTF \l_@@_first_col_int
- {
- \bool_if:NT \l_@@_code_before_bool
- {
- \hbox
- {
- \skip_horizontal:N -0.5\arrayrulewidth
- \pgfsys@markposition { \@@_env: - col - 1 }
- \skip_horizontal:N 0.5\arrayrulewidth
- }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - 1 }
- { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
- \str_if_empty:NF \l_@@_name_str
- { \pgfnodealias { \l_@@_name_str - col - 1 } { \@@_env: - col - 1 } }
- \endpgfpicture
- }
- {
- \bool_if:NT \l_@@_code_before_bool
- {
- \hbox
- {
- \skip_horizontal:N 0.5\arrayrulewidth
- \pgfsys@markposition { \@@_env: - col - 1 }
- \skip_horizontal:N -0.5\arrayrulewidth
- }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - 1 }
- { \pgfpoint { 0.5 \arrayrulewidth } \c_zero_dim }
- \str_if_empty:NF \l_@@_name_str
- { \pgfnodealias { \l_@@_name_str - col - 1 } { \@@_env: - col - 1 } }
- \endpgfpicture
- }
-% \end{macrocode}
-% We compute in |\g_tmpa_skip| the common width of the columns (it's a skip and
-% not a dimension). We use a global variable because we are in a cell of an
-% |\halign| and because we have to use that variable in other cells (of the same
-% row). The affectation of |\g_tmpa_skip|, like all the affectations, must be
-% done after the |\omit| of the cell.
-%
-% \smallskip
-% We give a default value for |\g_tmpa_skip| (|0 pt plus 1 fill|) but we will
-% add some dimensions to it.
-% \begin{macrocode}
- \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill }
- \bool_if:NF \l_@@_auto_columns_width_bool
- { \dim_compare:nNnT \l_@@_columns_width_dim > \c_zero_dim }
- {
- \bool_lazy_and:nnTF
- \l_@@_auto_columns_width_bool
- { \bool_not_p:n \l_@@_block_auto_columns_width_bool }
- { \skip_gadd:Nn \g_tmpa_skip \g_@@_max_cell_width_dim }
- { \skip_gadd:Nn \g_tmpa_skip \l_@@_columns_width_dim }
- \skip_gadd:Nn \g_tmpa_skip { 2 \col@sep }
- }
- \skip_horizontal:N \g_tmpa_skip
- \hbox
- {
- \bool_if:NT \l_@@_code_before_bool
- {
- \hbox
- {
- \skip_horizontal:N -0.5\arrayrulewidth
- \pgfsys@markposition { \@@_env: - col - 2 }
- \skip_horizontal:N 0.5\arrayrulewidth
- }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - 2 }
- { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
- \str_if_empty:NF \l_@@_name_str
- { \pgfnodealias { \l_@@_name_str - col - 2 } { \@@_env: - col - 2 } }
- \endpgfpicture
- }
-% \end{macrocode}
-% We begin a loop over the columns. The integer |\g_tmpa_int| will be the
-% number of the current column. This integer is used for the Tikz nodes.
-% \begin{macrocode}
- \int_gset_eq:NN \g_tmpa_int \c_one_int
- \bool_if:NTF \g_@@_last_col_found_bool
- { \prg_replicate:nn { \int_max:nn { \g_@@_col_total_int - 3 } \c_zero_int } }
- { \prg_replicate:nn { \int_max:nn { \g_@@_col_total_int - 2 } \c_zero_int } }
- {
- &
- \omit
- \int_gincr:N \g_tmpa_int
-% \end{macrocode}
-% The incrementation of the counter |\g_tmpa_int| must be done after the |\omit|
-% of the cell.
-% \begin{macrocode}
- \skip_horizontal:N \g_tmpa_skip
- \bool_if:NT \l_@@_code_before_bool
- {
- \hbox
- {
- \skip_horizontal:N -0.5\arrayrulewidth
- \pgfsys@markposition
- { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- \skip_horizontal:N 0.5\arrayrulewidth
- }
- }
-% \end{macrocode}
-% We create the |col| node on the right of the current column.
-% \begin{macrocode}
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - col - \int_eval:n { \g_tmpa_int + 1 } }
- { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- &
- \omit
-% \end{macrocode}
-% The two following lines have been added on 2021-12-15 to solve a bug
-% mentionned by Joao Luis Soares by mail.
-% \begin{macrocode}
- \int_if_zero:nT \g_@@_col_total_int
- { \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill } }
- \skip_horizontal:N \g_tmpa_skip
- \int_gincr:N \g_tmpa_int
- \bool_lazy_any:nF % modified 2023/12/13
- {
- \g_@@_delims_bool
- \l_@@_tabular_bool
- { ! \clist_if_empty_p:N \l_@@_vlines_clist }
- \l_@@_exterior_arraycolsep_bool
- \l_@@_bar_at_end_of_pream_bool
- }
- { \skip_horizontal:N -\col@sep }
- \bool_if:NT \l_@@_code_before_bool
- {
- \hbox
- {
- \skip_horizontal:N -0.5\arrayrulewidth
-% \end{macrocode}
-% With an environment |{Matrix}|, you want to remove the exterior |\arraycolsep|
-% but we don't know the number of columns (since there is no preamble) and
-% that's why we can't put |@{}| at the end of the preamble. That's why we remove
-% a |\arraycolsep| now.
-% \begin{macrocode}
- \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
- { \skip_horizontal:N -\arraycolsep }
- \pgfsys@markposition
- { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- \skip_horizontal:N 0.5\arrayrulewidth
- \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
- { \skip_horizontal:N \arraycolsep }
- }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- {
- \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
- {
- \pgfpoint
- { - 0.5 \arrayrulewidth - \arraycolsep }
- \c_zero_dim
- }
- { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
- }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - col - \int_eval:n { \g_tmpa_int + 1 } }
- { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
- }
- \endpgfpicture
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \bool_if:NT \g_@@_last_col_found_bool
- {
- \hbox_overlap_right:n
- {
- \skip_horizontal:N \g_@@_width_last_col_dim
- \skip_horizontal:N \col@sep % added 2023-11-05
- \bool_if:NT \l_@@_code_before_bool
- {
- \pgfsys@markposition
- { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
- }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgfcoordinate
- { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
- \pgfpointorigin
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- {
- \l_@@_name_str - col
- - \int_eval:n { \g_@@_col_total_int + 1 }
- }
- { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
- }
- \endpgfpicture
- }
- }
- \cr
- }
-% \end{macrocode}
-%
-%
-% \interitem
-% Here is the preamble for the ``first column'' (if the user uses the key
-% |first-col|)
-% \begin{macrocode}
-\tl_const:Nn \c_@@_preamble_first_col_tl
- {
- >
- {
-% \end{macrocode}
-% At the beginning of the cell, we link |\CodeAfter| to a command which do
-% begins with |\\| (whereas the standard version of |\CodeAfter| begins does
-% not).
-% \begin{macrocode}
- \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
- \bool_gset_true:N \g_@@_after_col_zero_bool
- \@@_begin_of_row:
-% \end{macrocode}
-% The contents of the cell is constructed in the box |\l_@@_cell_box| because we
-% have to compute some dimensions of this box.
-% \begin{macrocode}
- \hbox_set:Nw \l_@@_cell_box
- \@@_math_toggle:
- \@@_tuning_key_small:
-% \end{macrocode}
-% We insert |\l_@@_code_for_first_col_tl|... but we don't insert it in the
-% potential ``first row'' and in the potential ``last row''.
-% \begin{macrocode}
- \int_compare:nNnT \c@iRow > \c_zero_int
- {
- \bool_lazy_or:nnT
- { \int_compare_p:nNn \l_@@_last_row_int < \c_zero_int }
- { \int_compare_p:nNn \c@iRow < \l_@@_last_row_int }
- {
- \l_@@_code_for_first_col_tl
- \xglobal \colorlet { nicematrix-first-col } { . }
- }
- }
- }
-% \end{macrocode}
-% Be careful: despite this letter |l| the cells of the ``first column'' are
-% composed in a |R| manner since they are composed in a |\hbox_overlap_left:n|.
-% \begin{macrocode}
- l
- <
- {
- \@@_math_toggle:
- \hbox_set_end:
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
- \@@_adjust_size_box:
- \@@_update_for_first_and_last_row:
-% \end{macrocode}
-% We actualise the width of the ``first column'' because we will use this width
-% after the construction of the array.
-% \begin{macrocode}
- \dim_gset:Nn \g_@@_width_first_col_dim
- { \dim_max:nn \g_@@_width_first_col_dim { \box_wd:N \l_@@_cell_box } }
-% \end{macrocode}
-% The content of the cell is inserted in an overlapping position.
-% \label{overlap-left}
-% \begin{macrocode}
- \hbox_overlap_left:n
- {
- \dim_compare:nNnTF { \box_wd:N \l_@@_cell_box } > \c_zero_dim
- \@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box }
- \skip_horizontal:N \l_@@_left_delim_dim
- \skip_horizontal:N \l_@@_left_margin_dim
- \skip_horizontal:N \l_@@_extra_left_margin_dim
- }
- \bool_gset_false:N \g_@@_empty_cell_bool
- \skip_horizontal:N -2\col@sep
- }
- }
-% \end{macrocode}
-%
-%
-% Here is the preamble for the ``last column'' (if the user uses the key
-% |last-col|).
-% \begin{macrocode}
-\tl_const:Nn \c_@@_preamble_last_col_tl
- {
- >
- {
- \bool_set_true:N \l_@@_in_last_col_bool
-% \end{macrocode}
-% At the beginning of the cell, we link |\CodeAfter| to a command which
-% begins with |\\| (whereas the standard version of |\CodeAfter| begins does
-% not).
-% \begin{macrocode}
- \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
-% \end{macrocode}
-% With the flag |\g_@@_last_col_found_bool|, we will know that the ``last
-% column'' is really used.
-% \begin{macrocode}
- \bool_gset_true:N \g_@@_last_col_found_bool
- \int_gincr:N \c@jCol
- \int_gset_eq:NN \g_@@_col_total_int \c@jCol
-% \end{macrocode}
-% The contents of the cell is constructed in the box |\l_tmpa_box| because we
-% have to compute some dimensions of this box.
-% \begin{macrocode}
- \hbox_set:Nw \l_@@_cell_box
- \@@_math_toggle:
- \@@_tuning_key_small:
-% \end{macrocode}
-% We insert |\l_@@_code_for_last_col_tl|... but we don't insert it in the
-% potential ``first row'' and in the potential ``last row''.
-% \begin{macrocode}
- \int_compare:nNnT \c@iRow > \c_zero_int
- {
- \bool_lazy_or:nnT
- { \int_compare_p:nNn \l_@@_last_row_int < \c_zero_int }
- { \int_compare_p:nNn \c@iRow < \l_@@_last_row_int }
- {
- \l_@@_code_for_last_col_tl
- \xglobal \colorlet { nicematrix-last-col } { . }
- }
- }
- }
- l
- <
- {
- \@@_math_toggle:
- \hbox_set_end:
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
- \@@_adjust_size_box:
- \@@_update_for_first_and_last_row:
-% \end{macrocode}
-% We actualise the width of the ``last column'' because we will use this width
-% after the construction of the array.
-% \begin{macrocode}
- \dim_gset:Nn \g_@@_width_last_col_dim
- { \dim_max:nn \g_@@_width_last_col_dim { \box_wd:N \l_@@_cell_box } }
- \skip_horizontal:N -2\col@sep
-% \end{macrocode}
-% The content of the cell is inserted in an overlapping position.
-% \label{overlap-right}
-% \begin{macrocode}
- \hbox_overlap_right:n
- {
- \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } > \c_zero_dim
- {
- \skip_horizontal:N \l_@@_right_delim_dim
- \skip_horizontal:N \l_@@_right_margin_dim
- \skip_horizontal:N \l_@@_extra_right_margin_dim
- \@@_node_for_cell:
- }
- }
- \bool_gset_false:N \g_@@_empty_cell_bool
- }
- }
-% \end{macrocode}
-%
-%
-% \interitem
-% The environment |{NiceArray}| is constructed upon the environment
-% |{NiceArrayWithDelims}|.
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceArray } { }
- {
- \bool_gset_false:N \g_@@_delims_bool
- \str_if_empty:NT \g_@@_name_env_str
- { \str_gset:Nn \g_@@_name_env_str { NiceArray } }
-% \end{macrocode}
-% We put . and . for the delimiters but, in fact, that doesn't matter because
-% these arguments won't be used in |{NiceArrayWithDelims}| (because the flag
-% |\g_@@_delims_bool| is set to false).
-% \begin{macrocode}
- \NiceArrayWithDelims . .
- }
- { \endNiceArrayWithDelims }
-% \end{macrocode}
-%
-%
-% \interitem
-% We create the variants of the environment |{NiceArrayWithDelims}|.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_def_env:nnn #1 #2 #3
- {
- \NewDocumentEnvironment { #1 NiceArray } { }
- {
- \bool_gset_true:N \g_@@_delims_bool
- \str_if_empty:NT \g_@@_name_env_str
- { \str_gset:Nn \g_@@_name_env_str { #1 NiceArray } }
- \@@_test_if_math_mode:
- \NiceArrayWithDelims #2 #3
- }
- { \endNiceArrayWithDelims }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_def_env:nnn p ( )
-\@@_def_env:nnn b [ ]
-\@@_def_env:nnn B \{ \}
-\@@_def_env:nnn v | |
-\@@_def_env:nnn V \| \|
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The environment \{NiceMatrix\} and its variants}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_begin_of_NiceMatrix:nn #1 #2
- {
- \bool_set_false:N \l_@@_preamble_bool
- \tl_clear:N \l_tmpa_tl
- \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
- { \tl_set:Nn \l_tmpa_tl { @ { } } }
- \tl_put_right:Nn \l_tmpa_tl
- {
- *
- {
- \int_case:nnF \l_@@_last_col_int
- {
- { -2 } { \c@MaxMatrixCols }
- { -1 } { \int_eval:n { \c@MaxMatrixCols + 1 } }
-% \end{macrocode}
-% The value $0$ can't occur here since we are in a matrix (which is an
-% environment without preamble).
-% \begin{macrocode}
- }
- { \int_eval:n { \l_@@_last_col_int - 1 } }
- }
- { #2 }
- }
- \tl_set:Nn \l_tmpb_tl { \use:c { #1 NiceArray } }
- \exp_args:No \l_tmpb_tl \l_tmpa_tl
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_generate_variant:Nn \@@_begin_of_NiceMatrix:nn { n V }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\clist_map_inline:nn { p , b , B , v , V }
- {
- \NewDocumentEnvironment { #1 NiceMatrix } { ! O { } }
- {
- \bool_gset_true:N \g_@@_delims_bool
- \str_gset:Nn \g_@@_name_env_str { #1 NiceMatrix }
- % added 2023/10/01
- \int_if_zero:nT \l_@@_last_col_int
- {
- \bool_set_true:N \l_@@_last_col_without_value_bool
- \int_set:Nn \l_@@_last_col_int { -1 }
- }
- \keys_set:nn { NiceMatrix / NiceMatrix } { ##1 }
- \@@_begin_of_NiceMatrix:nV { #1 } \l_@@_columns_type_tl
- }
- { \use:c { end #1 NiceArray } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We define also an environment |{NiceMatrix}|
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceMatrix } { ! O { } }
- {
- \str_gset:Nn \g_@@_name_env_str { NiceMatrix }
- % added 2023/10/01
- \int_if_zero:nT \l_@@_last_col_int
- {
- \bool_set_true:N \l_@@_last_col_without_value_bool
- \int_set:Nn \l_@@_last_col_int { -1 }
- }
- \keys_set:nn { NiceMatrix / NiceMatrix } { #1 }
- \bool_lazy_or:nnT
- { \clist_if_empty_p:N \l_@@_vlines_clist }
- { \l_@@_except_borders_bool }
- { \bool_set_true:N \l_@@_NiceMatrix_without_vlines_bool }
- \@@_begin_of_NiceMatrix:nV { } \l_@@_columns_type_tl
- }
- { \endNiceArray }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be linked to |\NotEmpty| in the environments of
-% \pkg{nicematrix}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_NotEmpty:
- { \bool_gset_true:N \g_@@_not_empty_cell_bool }
-% \end{macrocode}
-%
-% \bigskip
-% \section{\{NiceTabular\}, \{NiceTabularX\} and \{NiceTabular*\}}
-%
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceTabular } { O { } m ! O { } }
- {
-% \end{macrocode}
-% If the dimension |\l_@@_width_dim| is equal to $0$~pt, that means that it has
-% not be set by a previous use of |\NiceMatrixOptions|.
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_width_dim = \c_zero_dim
- { \dim_set_eq:NN \l_@@_width_dim \linewidth }
- \str_gset:Nn \g_@@_name_env_str { NiceTabular }
- \keys_set:nn { NiceMatrix / NiceTabular } { #1 , #3 }
- \tl_if_empty:NF \l_@@_short_caption_tl
- {
- \tl_if_empty:NT \l_@@_caption_tl
- {
- \@@_error_or_warning:n { short-caption~without~caption }
- \tl_set_eq:NN \l_@@_caption_tl \l_@@_short_caption_tl
- }
- }
- \tl_if_empty:NF \l_@@_label_tl
- {
- \tl_if_empty:NT \l_@@_caption_tl
- { \@@_error_or_warning:n { label~without~caption } }
- }
- \NewDocumentEnvironment { TabularNote } { b }
- {
- \bool_if:NTF \l_@@_in_code_after_bool
- { \@@_error_or_warning:n { TabularNote~in~CodeAfter } }
- {
- \tl_if_empty:NF \g_@@_tabularnote_tl
- { \tl_gput_right:Nn \g_@@_tabularnote_tl { \par } }
- \tl_gput_right:Nn \g_@@_tabularnote_tl { ##1 }
- }
- }
- { }
- \@@_settings_for_tabular:
- \NiceArray { #2 }
- }
- { \endNiceArray }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_settings_for_tabular:
- {
- \bool_set_true:N \l_@@_tabular_bool
- \cs_set_eq:NN \@@_math_toggle: \prg_do_nothing:
- \cs_set_eq:NN \@@_tuning_not_tabular_begin: \prg_do_nothing:
- \cs_set_eq:NN \@@_tuning_not_tabular_end: \prg_do_nothing:
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceTabularX } { m O { } m ! O { } }
- {
- \str_gset:Nn \g_@@_name_env_str { NiceTabularX }
- \dim_zero_new:N \l_@@_width_dim
- \dim_set:Nn \l_@@_width_dim { #1 }
- \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
- \@@_settings_for_tabular:
- \NiceArray { #3 }
- }
- {
- \endNiceArray
- \int_if_zero:nT \g_@@_total_X_weight_int
- { \@@_error:n { NiceTabularX~without~X } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceTabular* } { m O { } m ! O { } }
- {
- \str_gset:Nn \g_@@_name_env_str { NiceTabular* }
- \dim_set:Nn \l_@@_tabular_width_dim { #1 }
- \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
- \@@_settings_for_tabular:
- \NiceArray { #3 }
- }
- { \endNiceArray }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{After the construction of the array}
-%
-% \bigskip
-% The following command will be used when the key |rounded-corners| is in force
-% (this is the key |rounded-corners| for the whole environment and \emph{not}
-% the key |rounded-corners| of a command |\Block|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_deal_with_rounded_corners:
- {
- \bool_lazy_all:nT
- {
- { \int_compare_p:nNn \l_@@_tab_rounded_corners_dim > \c_zero_dim }
- \l_@@_hvlines_bool
- { ! \g_@@_delims_bool }
- { ! \l_@@_except_borders_bool }
- }
- {
- \bool_set_true:N \l_@@_except_borders_bool
- \clist_if_empty:NF \l_@@_corners_clist
- { \@@_error:n { hvlines,~rounded-corners~and~corners } }
- \tl_gput_right:Nn \g_@@_pre_code_after_tl
- {
- \@@_stroke_block:nnn
- {
- rounded-corners = \dim_use:N \l_@@_tab_rounded_corners_dim ,
- draw = \l_@@_rules_color_tl
- }
- { 1-1 }
- { \int_use:N \c@iRow - \int_use:N \c@jCol }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_after_array:
- {
- \group_begin:
-% \end{macrocode}
-% When the option |last-col| is used in the environments with explicit preambles
-% (like |{NiceArray}|, |{pNiceArray}|, etc.) a special type of column is used at
-% the end of the preamble in order to compose the cells in an overlapping
-% position (with |\hbox_overlap_right:n|) but (if |last-col| has been used), we
-% don't have the number of that last column. However, we have to know that
-% number for the color of the potential |\Vdots| drawn in that last column.
-% That's why we fix the correct value of |\l_@@_last_col_int| in that case.
-% \begin{macrocode}
- \bool_if:NT \g_@@_last_col_found_bool
- { \int_set_eq:NN \l_@@_last_col_int \g_@@_col_total_int }
-% \end{macrocode}
-%
-% If we are in an environment without preamble (like |{NiceMatrix}| or
-% |{pNiceMatrix}|) and if the option |last-col| has been used without value
-% we also fix the real value of |\l_@@_last_col_int|.
-% \begin{macrocode}
- \bool_if:NT \l_@@_last_col_without_value_bool
- { \int_set_eq:NN \l_@@_last_col_int \g_@@_col_total_int }
-% \end{macrocode}
-%
-% \medskip
-% It's also time to give to |\l_@@_last_row_int| its real value.
-% \begin{macrocode}
- \bool_if:NT \l_@@_last_row_without_value_bool
- { \int_set_eq:NN \l_@@_last_row_int \g_@@_row_total_int }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \seq_gset_from_clist:Nn \exp_not:N \g_@@_size_seq
- {
- \int_use:N \l_@@_first_row_int ,
- \int_use:N \c@iRow ,
- \int_use:N \g_@@_row_total_int ,
- \int_use:N \l_@@_first_col_int ,
- \int_use:N \c@jCol ,
- \int_use:N \g_@@_col_total_int
- }
- }
-% \end{macrocode}
-% We write also the potential content of |\g_@@_pos_of_blocks_seq|. It will be
-% used to recreate the blocks with a name in the |\CodeBefore| and also if the
-% command |\rowcolors| is used with the key |respect-blocks|).
-% \begin{macrocode}
- \seq_if_empty:NF \g_@@_pos_of_blocks_seq
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \seq_gset_from_clist:Nn \exp_not:N \g_@@_pos_of_blocks_seq
- { \seq_use:Nnnn \g_@@_pos_of_blocks_seq , , , }
- }
- }
- \seq_if_empty:NF \g_@@_multicolumn_cells_seq
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \seq_gset_from_clist:Nn \exp_not:N \g_@@_multicolumn_cells_seq
- { \seq_use:Nnnn \g_@@_multicolumn_cells_seq , , , }
- \seq_gset_from_clist:Nn \exp_not:N \g_@@_multicolumn_sizes_seq
- { \seq_use:Nnnn \g_@@_multicolumn_sizes_seq , , , }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% Now, you create the diagonal nodes by using the |row| nodes and the |col|
-% nodes.
-% \begin{macrocode}
- \@@_create_diag_nodes:
-% \end{macrocode}
-%
-% \medskip
-% We create the aliases using |last| for the nodes of the cells in the last row
-% and the last column.
-% \begin{macrocode}
- \pgfpicture
- \int_step_inline:nn \c@iRow
- {
- \pgfnodealias
- { \@@_env: - ##1 - last }
- { \@@_env: - ##1 - \int_use:N \c@jCol }
- }
- \int_step_inline:nn \c@jCol
- {
- \pgfnodealias
- { \@@_env: - last - ##1 }
- { \@@_env: - \int_use:N \c@iRow - ##1 }
- }
- \str_if_empty:NF \l_@@_name_str
- {
- \int_step_inline:nn \c@iRow
- {
- \pgfnodealias
- { \l_@@_name_str - ##1 - last }
- { \@@_env: - ##1 - \int_use:N \c@jCol }
- }
- \int_step_inline:nn \c@jCol
- {
- \pgfnodealias
- { \l_@@_name_str - last - ##1 }
- { \@@_env: - \int_use:N \c@iRow - ##1 }
- }
- }
- \endpgfpicture
-% \end{macrocode}
-%
-% By default, the diagonal lines will be parallelized\footnote{It's possible to
-% use the option |parallelize-diags| to disable this parallelization.}. There
-% are two types of diagonals lines: the $|\Ddots|$ diagonals and the |\Iddots|
-% diagonals. We have to count both types in order to know whether a diagonal is
-% the first of its type in the current |{NiceArray}| environment.
-% \begin{macrocode}
- \bool_if:NT \l_@@_parallelize_diags_bool
- {
- \int_gzero_new:N \g_@@_ddots_int
- \int_gzero_new:N \g_@@_iddots_int
-% \end{macrocode}
-%
-% The dimensions |\g_@@_delta_x_one_dim| and |\g_@@_delta_y_one_dim| will
-% contain the $\Delta_x$ and $\Delta_y$ of the first |\Ddots| diagonal. We have
-% to store these values in order to draw the others |\Ddots| diagonals parallel
-% to the first one. Similarly |\g_@@_delta_x_two_dim| and
-% |\g_@@_delta_y_two_dim| are the $\Delta_x$ and $\Delta_y$ of the first
-% |\Iddots| diagonal.
-% \begin{macrocode}
- \dim_gzero_new:N \g_@@_delta_x_one_dim
- \dim_gzero_new:N \g_@@_delta_y_one_dim
- \dim_gzero_new:N \g_@@_delta_x_two_dim
- \dim_gzero_new:N \g_@@_delta_y_two_dim
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \int_zero_new:N \l_@@_initial_i_int
- \int_zero_new:N \l_@@_initial_j_int
- \int_zero_new:N \l_@@_final_i_int
- \int_zero_new:N \l_@@_final_j_int
- \bool_set_false:N \l_@@_initial_open_bool
- \bool_set_false:N \l_@@_final_open_bool
-% \end{macrocode}
-%
-% If the option |small| is used, the values |\l_@@_xdots_radius_dim| and
-% |\l_@@_xdots_inter_dim| (used to draw the dotted lines created by
-% |\hdottedline| and |\vdottedline| and also for all the other dotted lines when
-% |line-style| is equal to |standard|, which is the initial value) are changed.
-% \begin{macrocode}
- \bool_if:NT \l_@@_small_bool
- {
- \dim_set:Nn \l_@@_xdots_radius_dim { 0.7 \l_@@_xdots_radius_dim }
- \dim_set:Nn \l_@@_xdots_inter_dim { 0.55 \l_@@_xdots_inter_dim }
-% \end{macrocode}
-% The dimensions |\l_@@_xdots_shorten_start_dim| and
-% |\l_@@_xdots_shorten_start_dim| correspond to the options
-% |xdots/shorten-start| and |xdots/shorten-end| available to the user.
-% \begin{macrocode}
- \dim_set:Nn \l_@@_xdots_shorten_start_dim
- { 0.6 \l_@@_xdots_shorten_start_dim }
- \dim_set:Nn \l_@@_xdots_shorten_end_dim
- { 0.6 \l_@@_xdots_shorten_end_dim }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Now, we actually draw the dotted lines (specified by |\Cdots|, |\Vdots|,
-% etc.).
-% \begin{macrocode}
- \@@_draw_dotted_lines:
-% \end{macrocode}
-%
-% \bigskip
-% The following computes the ``corners'' (made up of empty cells) but if there
-% is no corner to compute, it won't do anything. The corners are computed
-% in |\l_@@_corners_cells_seq| which will contain all the cells which are empty
-% (and not in a block) considered in the corners of the array.
-% \begin{macrocode}
- \@@_compute_corners:
-% \end{macrocode}
-%
-% \bigskip
-% The sequence |\g_@@_pos_of_blocks_seq| must be ``adjusted'' (for the case
-% where the user have written something like |\Block{1-*}|).
-% \begin{macrocode}
- \@@_adjust_pos_of_blocks_seq:
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@@_deal_with_rounded_corners:
- \tl_if_empty:NF \l_@@_hlines_clist \@@_draw_hlines:
- \tl_if_empty:NF \l_@@_vlines_clist \@@_draw_vlines:
-% \end{macrocode}
-%
-% \bigskip
-% Now, the pre-code-after and then, the |\CodeAfter|.
-% \begin{macrocode}
- \IfPackageLoadedTF { tikz }
- {
- \tikzset
- {
- every~picture / .style =
- {
- overlay ,
- remember~picture ,
- name~prefix = \@@_env: -
- }
- }
- }
- { }
- \cs_set_eq:NN \ialign \@@_old_ialign:
- \cs_set_eq:NN \SubMatrix \@@_SubMatrix
- \cs_set_eq:NN \UnderBrace \@@_UnderBrace
- \cs_set_eq:NN \OverBrace \@@_OverBrace
- \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
- \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
- \cs_set_eq:NN \line \@@_line
- \g_@@_pre_code_after_tl
- \tl_gclear:N \g_@@_pre_code_after_tl
-% \end{macrocode}
-% When |light-syntax| is used, we insert systematically a |\CodeAfter| in the
-% flow. Thus, it's possible to have two instructions |\CodeAfter| and the second
-% may be in |\g_nicematrix_code_after_tl|. That's why we set
-% |\Code-after| to be \textsl{no-op} now.
-% \begin{macrocode}
- \cs_set_eq:NN \CodeAfter \prg_do_nothing:
-% \end{macrocode}
-%
-% We clear the list of the names of the potential |\SubMatrix| that will appear
-% in the |\CodeAfter| (unfortunately, that list has to be global).
-% \begin{macrocode}
- \seq_gclear:N \g_@@_submatrix_names_seq
-% \end{macrocode}
-%
-% \medskip
-% The following code is a security for the case the user has used \pkg{babel}
-% with the option \pkg{spanish}: in that case, the characters |>| and |<| are
-% activated and Tikz is not able to solve the problem (even with the Tikz
-% library \pkg{babel}).
-% \begin{macrocode}
- \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
- { \@@_rescan_for_spanish:N \g_nicematrix_code_after_tl }
-% \end{macrocode}
-% \medskip
-% And here's the |\CodeAfter|. Since the |\CodeAfter| may begin with an
-% ``argument'' between square brackets of the options, we extract and treat that
-% potential ``argument'' with the command |\@@_CodeAfter_keys:|.
-% \begin{macrocode}
- \bool_set_true:N \l_@@_in_code_after_bool
- \exp_last_unbraced:No \@@_CodeAfter_keys: \g_nicematrix_code_after_tl
- \scan_stop:
- \tl_gclear:N \g_nicematrix_code_after_tl
- \group_end:
-% \end{macrocode}
-%
-%
-% \medskip
-% |\g_@@_pre_code_before_tl| is for instructions in the cells of the array such as
-% |\rowcolor| and |\cellcolor| (when the key |color-inside| is in
-% force). These instructions will be written on the |aux| file to be added to
-% the |code-before| in the next run.
-% \begin{macrocode}
- \seq_if_empty:NF \g_@@_rowlistcolors_seq { \@@_clear_rowlistcolors_seq: }
- \tl_if_empty:NF \g_@@_pre_code_before_tl
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \tl_gset:Nn \exp_not:N \g_@@_pre_code_before_tl
- { \exp_not:o \g_@@_pre_code_before_tl }
- }
- \tl_gclear:N \g_@@_pre_code_before_tl
- }
- \tl_if_empty:NF \g_nicematrix_code_before_tl
- {
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \tl_gset:Nn \exp_not:N \g_@@_code_before_tl
- { \exp_not:o \g_nicematrix_code_before_tl }
- }
- \tl_gclear:N \g_nicematrix_code_before_tl
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \str_gclear:N \g_@@_name_env_str
- \@@_restore_iRow_jCol:
-% \end{macrocode}
-% The command |\CT@arc@| contains the instruction of color for the rules of the
-% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|}. This command is used by
-% |\CT@arc@| but we use it also for compatibility with \pkg{colortbl}. But we
-% want also to be able to use color for the rules of the array when
-% \pkg{colortbl} is \emph{not} loaded. That's why we do the following
-% instruction which is in the patch of the end of arrays done by \pkg{colortbl}.
-% \begin{macrocode}
- \cs_gset_eq:NN \CT@arc@ \@@_old_CT@arc@
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will extract the potential options (between square
-% brackets) at the beginning of the |\CodeAfter| (that is to say, when
-% |\CodeAfter| is used, the options of that ``command'' |\CodeAfter|). Idem for
-% the |\CodeBefore.|
-% \begin{macrocode}
-\NewDocumentCommand \@@_CodeAfter_keys: { O { } }
- { \keys_set:nn { NiceMatrix / CodeAfter } { #1 } }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% We remind that the first mandatory argument of the command |\Block| is the
-% size of the block with the special format $i$|-|$j$. However, the user is
-% allowed to omit $i$ or $j$ (or both). This will be interpreted as: the last
-% row (resp. column) of the block will be the last row (resp. column) of the
-% block (without the potential exterior row---resp. column---of the array). By
-% convention, this is stored in |\g_@@_pos_of_blocks_seq| (and
-% |\g_@@_blocks_seq|) as a number of rows (resp. columns) for the block equal to
-% 100. It's possible, after the construction of the array, to replace these
-% values by the correct ones (since we know the number of rows and columns of
-% the array).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_adjust_pos_of_blocks_seq:
- {
- \seq_gset_map_x:NNn \g_@@_pos_of_blocks_seq \g_@@_pos_of_blocks_seq
- { \@@_adjust_pos_of_blocks_seq_i:nnnnn ##1 }
- }
-% \end{macrocode}
-%
-% The following command must \emph{not} be protected.
-% \begin{macrocode}
-\cs_new:Npn \@@_adjust_pos_of_blocks_seq_i:nnnnn #1 #2 #3 #4 #5
- {
- { #1 }
- { #2 }
- {
- \int_compare:nNnTF { #3 } > { 99 }
- { \int_use:N \c@iRow }
- { #3 }
- }
- {
- \int_compare:nNnTF { #4 } > { 99 }
- { \int_use:N \c@jCol }
- { #4 }
- }
- { #5 }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We recall that, when externalization is used, |\tikzpicture| and
-% |\endtikzpicture| (or |\pgfpicture| and |\endpgfpicture|) must be directly
-% ``visible''. That's why we have to define the adequate version of
-% |\@@_draw_dotted_lines:| whether Tikz is loaded or not (in that case, only
-% \textsc{pgf} is loaded).
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_new_protected:Npx \@@_draw_dotted_lines:
- {
- \c_@@_pgfortikzpicture_tl
- \@@_draw_dotted_lines_i:
- \c_@@_endpgfortikzpicture_tl
- }
- }
-% \end{macrocode}
-%
-% The following command \emph{must} be protected because it will appear in the
-% construction of the command |\@@_draw_dotted_lines:|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_dotted_lines_i:
- {
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \g_@@_HVdotsfor_lines_tl
- \g_@@_Vdots_lines_tl
- \g_@@_Ddots_lines_tl
- \g_@@_Iddots_lines_tl
- \g_@@_Cdots_lines_tl
- \g_@@_Ldots_lines_tl
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_restore_iRow_jCol:
- {
- \cs_if_exist:NT \theiRow { \int_gset_eq:NN \c@iRow \l_@@_old_iRow_int }
- \cs_if_exist:NT \thejCol { \int_gset_eq:NN \c@jCol \l_@@_old_jCol_int }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We define a new \textsc{pgf} shape for the diag nodes because we want to
-% provide a anchor called |.5| for those nodes.
-% \begin{macrocode}
-\pgfdeclareshape { @@_diag_node }
- {
- \savedanchor { \five }
- {
- \dim_gset_eq:NN \pgf@x \l_tmpa_dim
- \dim_gset_eq:NN \pgf@y \l_tmpb_dim
- }
- \anchor { 5 } { \five }
- \anchor { center } { \pgfpointorigin }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The following command creates the diagonal nodes (in fact, if the matrix is
-% not a square matrix, not all the nodes are on the diagonal).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_diag_nodes:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \int_step_inline:nn { \int_max:nn \c@iRow \c@jCol }
- {
- \@@_qpoint:n { col - \int_min:nn { ##1 } { \c@jCol + 1 } }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { row - \int_min:nn { ##1 } { \c@iRow + 1 } }
- \dim_set_eq:NN \l_tmpb_dim \pgf@y
- \@@_qpoint:n { col - \int_min:nn { ##1 + 1 } { \c@jCol + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
- \@@_qpoint:n { row - \int_min:nn { ##1 + 1 } { \c@iRow + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@y
- \pgftransformshift { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
-% \end{macrocode}
-% Now, |\l_tmpa_dim| and |\l_tmpb_dim| become the width and the height of the
-% node (of shape |@@_diag_node|) that we will construct.
-% \begin{macrocode}
- \dim_set:Nn \l_tmpa_dim { ( \l_@@_tmpc_dim - \l_tmpa_dim ) / 2 }
- \dim_set:Nn \l_tmpb_dim { ( \l_@@_tmpd_dim - \l_tmpb_dim ) / 2 }
- \pgfnode { @@_diag_node } { center } { } { \@@_env: - ##1 } { }
- \str_if_empty:NF \l_@@_name_str
- { \pgfnodealias { \l_@@_name_str - ##1 } { \@@_env: - ##1 } }
- }
-% \end{macrocode}
-% Now, the last node. Of course, that is only a |coordinate| because there is
-% not |.5| anchor for that node.
-% \begin{macrocode}
- \int_set:Nn \l_tmpa_int { \int_max:nn \c@iRow \c@jCol + 1 }
- \@@_qpoint:n { row - \int_min:nn { \l_tmpa_int } { \c@iRow + 1 } }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - \int_min:nn { \l_tmpa_int } { \c@jCol + 1 } }
- \pgfcoordinate
- { \@@_env: - \int_use:N \l_tmpa_int } { \pgfpoint \pgf@x \l_tmpa_dim }
- \pgfnodealias
- { \@@_env: - last }
- { \@@_env: - \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \int_use:N \l_tmpa_int }
- { \@@_env: - \int_use:N \l_tmpa_int }
- \pgfnodealias
- { \l_@@_name_str - last }
- { \@@_env: - last }
- }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{We draw the dotted lines}
-%
-% A dotted line will be said \emph{open} in one of its extremities when it stops
-% on the edge of the matrix and \emph{closed} otherwise. In the following
-% matrix, the dotted line is closed on its left extremity and open on its right.
-% \[ \begin{pNiceMatrix}
-% a+b+c & a+b & a\\
-% a & \Cdots \\
-% a & a+b & a+b+c
-% \end{pNiceMatrix}\]
-%
-%
-% \bigskip
-% The command |\@@_find_extremities_of_line:nnnn| takes four arguments:
-%
-% \begin{itemize}
-% \item the first argument is the row of the cell where the command was issued;
-% \item the second argument is the column of the cell where the command was
-% issued;
-% \item the third argument is the $x$-value of the orientation vector of the
-% line;
-% \item the fourth argument is the $y$-value of the orientation vector of the
-% line.
-% \end{itemize}
-%
-% This command computes:
-%
-% \begin{itemize}
-% \item |\l_@@_initial_i_int| and |\l_@@_initial_j_int| which are the
-% coordinates of one extremity of the line;
-% \item |\l_@@_final_i_int| and |\l_@@_final_j_int| which are the coordinates of
-% the other extremity of the line;
-% \item |\l_@@_initial_open_bool| and |\l_@@_final_open_bool| to indicate
-% whether the extremities are open or not.
-% \end{itemize}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_find_extremities_of_line:nnnn #1 #2 #3 #4
- {
-% \end{macrocode}
-% First, we declare the current cell as ``dotted'' because we forbide
-% intersections of dotted lines.
-% \begin{macrocode}
- \cs_set:cpn { @@ _ dotted _ #1 - #2 } { }
-% \end{macrocode}
-% Initialization of variables.
-% \begin{macrocode}
- \int_set:Nn \l_@@_initial_i_int { #1 }
- \int_set:Nn \l_@@_initial_j_int { #2 }
- \int_set:Nn \l_@@_final_i_int { #1 }
- \int_set:Nn \l_@@_final_j_int { #2 }
-% \end{macrocode}
-% We will do two loops: one when determinating the initial cell and the other
-% when determinating the final cell. The boolean |\l_@@_stop_loop_bool| will be
-% used to control these loops. In the first loop, we search the ``final''
-% extremity of the line.
-% \begin{macrocode}
- \bool_set_false:N \l_@@_stop_loop_bool
- \bool_do_until:Nn \l_@@_stop_loop_bool
- {
- \int_add:Nn \l_@@_final_i_int { #3 }
- \int_add:Nn \l_@@_final_j_int { #4 }
-% \end{macrocode}
-% We test if we are still in the matrix.
-% \begin{macrocode}
- \bool_set_false:N \l_@@_final_open_bool
- \int_compare:nNnTF \l_@@_final_i_int > \l_@@_row_max_int
- {
- \int_compare:nNnTF { #3 } = \c_one_int
- { \bool_set_true:N \l_@@_final_open_bool }
- {
- \int_compare:nNnT \l_@@_final_j_int > \l_@@_col_max_int
- { \bool_set_true:N \l_@@_final_open_bool }
- }
- }
- {
- \int_compare:nNnTF \l_@@_final_j_int < \l_@@_col_min_int
- {
- \int_compare:nNnT { #4 } = { -1 }
- { \bool_set_true:N \l_@@_final_open_bool }
- }
- {
- \int_compare:nNnT \l_@@_final_j_int > \l_@@_col_max_int
- {
- \int_compare:nNnT { #4 } = \c_one_int
- { \bool_set_true:N \l_@@_final_open_bool }
- }
- }
- }
- \bool_if:NTF \l_@@_final_open_bool
-% \end{macrocode}
-% If we are outside the matrix, we have found the extremity of the dotted line
-% and it's an \emph{open} extremity.
-% \begin{macrocode}
- {
-% \end{macrocode}
-% We do a step backwards.
-% \begin{macrocode}
- \int_sub:Nn \l_@@_final_i_int { #3 }
- \int_sub:Nn \l_@@_final_j_int { #4 }
- \bool_set_true:N \l_@@_stop_loop_bool
- }
-% \end{macrocode}
-% If we are in the matrix, we test whether the cell is empty. If it's not the
-% case, we stop the loop because we have found the correct values for
-% |\l_@@_final_i_int| and |\l_@@_final_j_int|.
-% \begin{macrocode}
- {
- \cs_if_exist:cTF
- {
- @@ _ dotted _
- \int_use:N \l_@@_final_i_int -
- \int_use:N \l_@@_final_j_int
- }
- {
- \int_sub:Nn \l_@@_final_i_int { #3 }
- \int_sub:Nn \l_@@_final_j_int { #4 }
- \bool_set_true:N \l_@@_final_open_bool
- \bool_set_true:N \l_@@_stop_loop_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_use:N \l_@@_final_i_int
- - \int_use:N \l_@@_final_j_int
- }
- { \bool_set_true:N \l_@@_stop_loop_bool }
-% \end{macrocode}
-% If the case is empty, we declare that the cell as non-empty. Indeed, we will
-% draw a dotted line and the cell will be on that dotted line. All the cells of
-% a dotted line have to be marked as ``dotted'' because we don't want
-% intersections between dotted lines. We recall that the research of the
-% extremities of the lines are all done in the same TeX group (the group of the
-% environment), even though, when the extremities are found, each line is
-% drawn in a TeX group that we will open for the options of the line.
-% \begin{macrocode}
- {
- \cs_set:cpn
- {
- @@ _ dotted _
- \int_use:N \l_@@_final_i_int -
- \int_use:N \l_@@_final_j_int
- }
- { }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \interitem
-% For |\l_@@_initial_i_int| and |\l_@@_initial_j_int| the programmation is
-% similar to the previous one.
-% \begin{macrocode}
- \bool_set_false:N \l_@@_stop_loop_bool
- \bool_do_until:Nn \l_@@_stop_loop_bool
- {
- \int_sub:Nn \l_@@_initial_i_int { #3 }
- \int_sub:Nn \l_@@_initial_j_int { #4 }
- \bool_set_false:N \l_@@_initial_open_bool
- \int_compare:nNnTF \l_@@_initial_i_int < \l_@@_row_min_int
- {
- \int_compare:nNnTF { #3 } = \c_one_int
- { \bool_set_true:N \l_@@_initial_open_bool }
- {
- \int_compare:nNnT \l_@@_initial_j_int = { \l_@@_col_min_int - 1 }
- { \bool_set_true:N \l_@@_initial_open_bool }
- }
- }
- {
- \int_compare:nNnTF \l_@@_initial_j_int < \l_@@_col_min_int
- {
- \int_compare:nNnT { #4 } = \c_one_int
- { \bool_set_true:N \l_@@_initial_open_bool }
- }
- {
- \int_compare:nNnT \l_@@_initial_j_int > \l_@@_col_max_int
- {
- \int_compare:nNnT { #4 } = { -1 }
- { \bool_set_true:N \l_@@_initial_open_bool }
- }
- }
- }
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \int_add:Nn \l_@@_initial_i_int { #3 }
- \int_add:Nn \l_@@_initial_j_int { #4 }
- \bool_set_true:N \l_@@_stop_loop_bool
- }
- {
- \cs_if_exist:cTF
- {
- @@ _ dotted _
- \int_use:N \l_@@_initial_i_int -
- \int_use:N \l_@@_initial_j_int
- }
- {
- \int_add:Nn \l_@@_initial_i_int { #3 }
- \int_add:Nn \l_@@_initial_j_int { #4 }
- \bool_set_true:N \l_@@_initial_open_bool
- \bool_set_true:N \l_@@_stop_loop_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_use:N \l_@@_initial_i_int
- - \int_use:N \l_@@_initial_j_int
- }
- { \bool_set_true:N \l_@@_stop_loop_bool }
- {
- \cs_set:cpn
- {
- @@ _ dotted _
- \int_use:N \l_@@_initial_i_int -
- \int_use:N \l_@@_initial_j_int
- }
- { }
- }
- }
- }
- }
-% \end{macrocode}
-% We remind the rectangle described by all the dotted lines in order to respect
-% the corresponding virtual ``block'' when drawing the horizontal and vertical
-% rules.
-% \begin{macrocode}
- \seq_gput_right:Nx \g_@@_pos_of_xdots_seq
- {
- { \int_use:N \l_@@_initial_i_int }
-% \end{macrocode}
-% Be careful: with |\Iddots|, |\l_@@_final_j_int| is inferior to
-% |\l_@@_initial_j_int|. That's why we use |\int_min:nn| and |\int_max:nn|.
-% \begin{macrocode}
- { \int_min:nn \l_@@_initial_j_int \l_@@_final_j_int }
- { \int_use:N \l_@@_final_i_int }
- { \int_max:nn \l_@@_initial_j_int \l_@@_final_j_int }
- { } % for the name of the block
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% If the final user uses the key |xdots/shorten| in |\NiceMatrixOptions| or at the
-% level of an environment (such as |{pNiceMatrix}|, etc.), only the so called
-% ``closed extremities'' will be shortened by that key. The following command
-% will be used \emph{after} the detection of the extremities of a dotted line
-% (hence at a time when we known wheter the extremities are closed or open) but
-% before the analyse of the keys of the individual command |\Cdots|, |\Vdots|.
-% Hence, the keys |shorten|, |shorten-start| and |shorten-end| of that
-% individual command will be applied.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_open_shorten:
- {
- \bool_if:NT \l_@@_initial_open_bool
- { \dim_zero:N \l_@@_xdots_shorten_start_dim }
- \bool_if:NT \l_@@_final_open_bool
- { \dim_zero:N \l_@@_xdots_shorten_end_dim }
- }
-% \end{macrocode}
-%
-% \medskip
-% The following commmand (\emph{when it will be written}) will set the four
-% counters |\l_@@_row_min_int|, |\l_@@_row_max_int|, |\l_@@_col_min_int| and
-% |\l_@@_col_max_int| to the intersections of the sub-matrices which contains
-% the cell of row |#1| and column |#2|. As of now, it's only the whole array
-% (excepted exterior rows and columns).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_adjust_to_submatrix:nn #1 #2
- {
- \int_set:Nn \l_@@_row_min_int 1
- \int_set:Nn \l_@@_col_min_int 1
- \int_set_eq:NN \l_@@_row_max_int \c@iRow
- \int_set_eq:NN \l_@@_col_max_int \c@jCol
-% \end{macrocode}
-% We do a loop over all the submatrices specified in the |code-before|. We have
-% stored the position of all those submatrices in |\g_@@_submatrix_seq|.
-% \begin{macrocode}
- \seq_map_inline:Nn \g_@@_submatrix_seq
- { \@@_adjust_to_submatrix:nnnnnn { #1 } { #2 } ##1 }
- }
-% \end{macrocode}
-%
-% \medskip
-% |#1| and |#2| are the numbers of row and columns of the cell where the command
-% of dotted line (ex.: |\Vdots|) has been issued. |#3|, |#4|, |#5| and |#6| are
-% the specification (in $i$ and $j$) of the submatrix we are analyzing.
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_adjust_to_submatrix:nnnnnn #1 #2 #3 #4 #5 #6
- {
- \int_compare:nNnF { #3 } > { #1 }
- {
- \int_compare:nNnF { #1 } > { #5 }
- {
- \int_compare:nNnF { #4 } > { #2 }
- {
- \int_compare:nNnF { #2 } > { #6 }
- {
- \int_set:Nn \l_@@_row_min_int
- { \int_max:nn \l_@@_row_min_int { #3 } }
- \int_set:Nn \l_@@_col_min_int
- { \int_max:nn \l_@@_col_min_int { #4 } }
- \int_set:Nn \l_@@_row_max_int
- { \int_min:nn \l_@@_row_max_int { #5 } }
- \int_set:Nn \l_@@_col_max_int
- { \int_min:nn \l_@@_col_max_int { #6 } }
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_initial_coords:
- {
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
- }
-\cs_new_protected:Npn \@@_set_final_coords:
- {
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
- }
-\cs_new_protected:Npn \@@_set_initial_coords_from_anchor:n #1
- {
- \pgfpointanchor
- {
- \@@_env:
- - \int_use:N \l_@@_initial_i_int
- - \int_use:N \l_@@_initial_j_int
- }
- { #1 }
- \@@_set_initial_coords:
- }
-\cs_new_protected:Npn \@@_set_final_coords_from_anchor:n #1
- {
- \pgfpointanchor
- {
- \@@_env:
- - \int_use:N \l_@@_final_i_int
- - \int_use:N \l_@@_final_j_int
- }
- { #1 }
- \@@_set_final_coords:
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_open_x_initial_dim:
- {
- \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_initial_j_int }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - \int_use:N \l_@@_initial_j_int }
- { west }
- \dim_set:Nn \l_@@_x_initial_dim
- { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
- }
- }
-% \end{macrocode}
-% If, in fact, all the cells of the column are empty (no PGF/Tikz nodes in
-% those cells).
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_x_initial_dim = \c_max_dim
- {
- \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \dim_add:Nn \l_@@_x_initial_dim \col@sep
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_open_x_final_dim:
- {
- \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_final_j_int }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - \int_use:N \l_@@_final_j_int }
- { east }
- \dim_set:Nn \l_@@_x_final_dim
- { \dim_max:nn \l_@@_x_final_dim \pgf@x }
- }
- }
-% \end{macrocode}
-% If, in fact, all the cells of the columns are empty (no PGF/Tikz nodes in
-% those cells).
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_x_final_dim = { - \c_max_dim }
- {
- \@@_qpoint:n { col - \int_eval:n { \l_@@_final_j_int + 1 } }
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- \dim_sub:Nn \l_@@_x_final_dim \col@sep
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \interitem
-% The first and the second arguments are the coordinates of the cell where the
-% command has been issued. The third argument is the list of the options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_Ldots:nnn #1 #2 #3
- {
- \@@_adjust_to_submatrix:nn { #1 } { #2 }
- \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
- {
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 1
-% \end{macrocode}
-% The previous command may have changed the current environment by marking some
-% cells as ``dotted'', but, fortunately, it is outside the group for the options
-% of the line.
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \int_if_zero:nTF { #1 }
- { \color { nicematrix-first-row } }
- {
-% \end{macrocode}
-% We remind that, when there is a ``last row'' |\l_@@_last_row_int| will always
-% be (after the construction of the array) the number of that ``last row'' even
-% if the option |last-row| has been used without value.
-% \begin{macrocode}
- \int_compare:nNnT { #1 } = \l_@@_last_row_int
- { \color { nicematrix-last-row } }
- }
- \keys_set:nn { NiceMatrix / xdots } { #3 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Ldots:
- \group_end:
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The command |\@@_actually_draw_Ldots:| has the following implicit arguments:
-% \begin{itemize}
-% \item |\l_@@_initial_i_int|
-% \item |\l_@@_initial_j_int|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_i_int|
-% \item |\l_@@_final_j_int|
-% \item |\l_@@_final_open_bool|.
-% \end{itemize}
-%
-% The following function is also used by |\Hdotsfor|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_draw_Ldots:
- {
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \@@_open_x_initial_dim:
- \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
- \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
- }
- { \@@_set_initial_coords_from_anchor:n { base~east } }
- \bool_if:NTF \l_@@_final_open_bool
- {
- \@@_open_x_final_dim:
- \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
- \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
- }
- { \@@_set_final_coords_from_anchor:n { base~west } }
-% \end{macrocode}
-% Now the case of a |\Hdotsfor| (or when there is only a |\Ldots|) in the ``last
-% row'' (that case will probably arise when the final user draws an arrow to
-% indicate the number of columns of the matrix). In the ``first row'', we don't
-% need any adjustment.
-% \begin{macrocode}
- \bool_lazy_all:nTF
- {
- \l_@@_initial_open_bool
- \l_@@_final_open_bool
- { \int_compare_p:nNn \l_@@_initial_i_int = \l_@@_last_row_int }
- }
- {
- \dim_add:Nn \l_@@_y_initial_dim \c_@@_shift_Ldots_last_row_dim
- \dim_add:Nn \l_@@_y_final_dim \c_@@_shift_Ldots_last_row_dim
- }
-% \end{macrocode}
-% We raise the line of a quantity equal to the radius of the dots because we
-% want the dots really ``on'' the line of texte. Of course, maybe we should not
-% do that when the option |line-style| is used (?).
-% \begin{macrocode}
- {
- \dim_add:Nn \l_@@_y_initial_dim \l_@@_xdots_radius_dim
- \dim_add:Nn \l_@@_y_final_dim \l_@@_xdots_radius_dim
- }
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-% \interitem
-% The first and the second arguments are the coordinates of the cell where the
-% command has been issued. The third argument is the list of the options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_Cdots:nnn #1 #2 #3
- {
- \@@_adjust_to_submatrix:nn { #1 } { #2 }
- \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
- {
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 1
-% \end{macrocode}
-% The previous command may have changed the current environment by marking some
-% cells as ``dotted'', but, fortunately, it is outside the group for the options
-% of the line.
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \int_if_zero:nTF { #1 }
- { \color { nicematrix-first-row } }
- {
-% \end{macrocode}
-% We remind that, when there is a ``last row'' |\l_@@_last_row_int| will always
-% be (after the construction of the array) the number of that ``last row'' even
-% if the option |last-row| has been used without value.
-% \begin{macrocode}
- \int_compare:nNnT { #1 } = \l_@@_last_row_int
- { \color { nicematrix-last-row } }
- }
- \keys_set:nn { NiceMatrix / xdots } { #3 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Cdots:
- \group_end:
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The command |\@@_actually_draw_Cdots:| has the following implicit arguments:
-% \begin{itemize}
-% \item |\l_@@_initial_i_int|
-% \item |\l_@@_initial_j_int|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_i_int|
-% \item |\l_@@_final_j_int|
-% \item |\l_@@_final_open_bool|.
-% \end{itemize}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_draw_Cdots:
- {
- \bool_if:NTF \l_@@_initial_open_bool
- { \@@_open_x_initial_dim: }
- { \@@_set_initial_coords_from_anchor:n { mid~east } }
- \bool_if:NTF \l_@@_final_open_bool
- { \@@_open_x_final_dim: }
- { \@@_set_final_coords_from_anchor:n { mid~west } }
- \bool_lazy_and:nnTF
- \l_@@_initial_open_bool
- \l_@@_final_open_bool
- {
- \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { \l_@@_initial_i_int + 1 } }
- \dim_set:Nn \l_@@_y_initial_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
- \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim
- }
- {
- \bool_if:NT \l_@@_initial_open_bool
- { \dim_set_eq:NN \l_@@_y_initial_dim \l_@@_y_final_dim }
- \bool_if:NT \l_@@_final_open_bool
- { \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim }
- }
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_open_y_initial_dim:
- {
- \dim_set:Nn \l_@@_y_initial_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - \int_use:N \l_@@_initial_i_int - ##1 }
- {
- \pgfpointanchor
- { \@@_env: - \int_use:N \l_@@_initial_i_int - ##1 }
- { north }
- \dim_set:Nn \l_@@_y_initial_dim
- { \dim_max:nn \l_@@_y_initial_dim \pgf@y }
- }
- }
- \dim_compare:nNnT \l_@@_y_initial_dim = { - \c_max_dim }
- {
- \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
- \dim_set:Nn \l_@@_y_initial_dim
- {
- \fp_to_dim:n
- {
- \pgf@y
- + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_open_y_final_dim:
- {
- \dim_set_eq:NN \l_@@_y_final_dim \c_max_dim
- \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - \int_use:N \l_@@_final_i_int - ##1 }
- {
- \pgfpointanchor
- { \@@_env: - \int_use:N \l_@@_final_i_int - ##1 }
- { south }
- \dim_set:Nn \l_@@_y_final_dim
- { \dim_min:nn \l_@@_y_final_dim \pgf@y }
- }
- }
- \dim_compare:nNnT \l_@@_y_final_dim = \c_max_dim
- {
- \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
- \dim_set:Nn \l_@@_y_final_dim
- { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
- }
- }
-% \end{macrocode}
-%
-% The first and the second arguments are the coordinates of the cell where the
-% command has been issued. The third argument is the list of the options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_Vdots:nnn #1 #2 #3
- {
- \@@_adjust_to_submatrix:nn { #1 } { #2 }
- \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
- {
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 0
-% \end{macrocode}
-% The previous command may have changed the current environment by marking some
-% cells as ``dotted'', but, fortunately, it is outside the group for the options
-% of the line.
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \int_if_zero:nTF { #2 }
- { \color { nicematrix-first-col } }
- {
- \int_compare:nNnT { #2 } = \l_@@_last_col_int
- { \color { nicematrix-last-col } }
- }
- \keys_set:nn { NiceMatrix / xdots } { #3 }
- \tl_if_empty:oF \l_@@_xdots_color_tl
- { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Vdots:
- \group_end:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_actually_draw_Vdots:| has the following implicit arguments:
-% \begin{itemize}
-% \item |\l_@@_initial_i_int|
-% \item |\l_@@_initial_j_int|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_i_int|
-% \item |\l_@@_final_j_int|
-% \item |\l_@@_final_open_bool|.
-% \end{itemize}
-%
-% The following function is also used by |\Vdotsfor|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_draw_Vdots:
- {
-% \end{macrocode}
-%
-% First, the case of a dotted line open on both sides.
-% \begin{macrocode}
- \bool_lazy_and:nnTF \l_@@_initial_open_bool \l_@@_final_open_bool
-% \end{macrocode}
-%
-% We have to determine the $x$-value of the vertical rule that we will have
-% to draw.
-% \begin{macrocode}
- {
- \@@_open_y_initial_dim:
- \@@_open_y_final_dim:
- \int_if_zero:nTF \l_@@_initial_j_int
-% \end{macrocode}
-% We have a dotted line open on both sides in the ``first column''.
-% \begin{macrocode}
- {
- \@@_qpoint:n { col - 1 }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \dim_sub:Nn \l_@@_x_initial_dim \l_@@_left_margin_dim
- \dim_sub:Nn \l_@@_x_initial_dim \l_@@_extra_left_margin_dim
- \dim_sub:Nn \l_@@_x_initial_dim \c_@@_shift_exterior_Vdots_dim
- }
- {
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn \l_@@_last_col_int > { -2 } }
- { \int_compare_p:nNn \l_@@_initial_j_int = \g_@@_col_total_int }
-% \end{macrocode}
-% We have a dotted line open on both sides in the ``last column''.
-% \begin{macrocode}
- {
- \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \dim_add:Nn \l_@@_x_initial_dim \l_@@_right_margin_dim
- \dim_add:Nn \l_@@_x_initial_dim \l_@@_extra_right_margin_dim
- \dim_add:Nn \l_@@_x_initial_dim \c_@@_shift_exterior_Vdots_dim
- }
-% \end{macrocode}
-% We have a dotted line open on both sides which is \emph{not} in an exterior column.
-% \begin{macrocode}
- {
- \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { col - \int_eval:n { \l_@@_initial_j_int + 1 } }
- \dim_set:Nn \l_@@_x_initial_dim { ( \pgf@x + \l_tmpa_dim ) / 2 }
- }
- }
- }
-% \end{macrocode}
-%
-% Now, the dotted line is \emph{not} open on both sides (maybe open on only one side).
-%
-% The boolean |\l_tmpa_bool| will indicate whether the column is of type |l| or
-% may be considered as if.
-% \begin{macrocode}
- {
- \bool_set_false:N \l_tmpa_bool
- \bool_if:NF \l_@@_initial_open_bool
- {
- \bool_if:NF \l_@@_final_open_bool
- {
- \@@_set_initial_coords_from_anchor:n { south~west }
- \@@_set_final_coords_from_anchor:n { north~west }
- \bool_set:Nn \l_tmpa_bool
- { \dim_compare_p:nNn \l_@@_x_initial_dim = \l_@@_x_final_dim }
- }
- }
-% \end{macrocode}
-% Now, we try to determine whether the column is of type |c| or may be
-% considered as if.
-% \begin{macrocode}
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \@@_open_y_initial_dim:
- \@@_set_final_coords_from_anchor:n { north }
- \dim_set_eq:NN \l_@@_x_initial_dim \l_@@_x_final_dim
- }
- {
- \@@_set_initial_coords_from_anchor:n { south }
- \bool_if:NTF \l_@@_final_open_bool
- \@@_open_y_final_dim:
-% \end{macrocode}
-% Now the case where both extremities are closed. The first conditional tests
-% whether the column is of type |c| or may be considered as if.
-% \begin{macrocode}
- {
- \@@_set_final_coords_from_anchor:n { north }
- \dim_compare:nNnF \l_@@_x_initial_dim = \l_@@_x_final_dim
- {
- \dim_set:Nn \l_@@_x_initial_dim
- {
- \bool_if:NTF \l_tmpa_bool \dim_min:nn \dim_max:nn
- \l_@@_x_initial_dim \l_@@_x_final_dim
- }
- }
- }
- }
- }
- \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-% \interitem
-% For the diagonal lines, the situation is a bit more complicated because, by
-% default, we parallelize the diagonals lines. The first diagonal line is drawn
-% and then, all the other diagonal lines are drawn parallel to the first one.
-%
-% The first and the second arguments are the coordinates of the cell where the
-% command has been issued. The third argument is the list of the options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_Ddots:nnn #1 #2 #3
- {
- \@@_adjust_to_submatrix:nn { #1 } { #2 }
- \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
- {
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 1
-% \end{macrocode}
-% The previous command may have changed the current environment by marking some
-% cells as ``dotted'', but, fortunately, it is outside the group for the options
-% of the line.
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \keys_set:nn { NiceMatrix / xdots } { #3 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Ddots:
- \group_end:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_actually_draw_Ddots:| has the following implicit arguments:
-% \begin{itemize}
-% \item |\l_@@_initial_i_int|
-% \item |\l_@@_initial_j_int|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_i_int|
-% \item |\l_@@_final_j_int|
-% \item |\l_@@_final_open_bool|.
-% \end{itemize}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_draw_Ddots:
- {
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \@@_open_y_initial_dim:
- \@@_open_x_initial_dim:
- }
- { \@@_set_initial_coords_from_anchor:n { south~east } }
- \bool_if:NTF \l_@@_final_open_bool
- {
- \@@_open_x_final_dim:
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- }
- { \@@_set_final_coords_from_anchor:n { north~west } }
-% \end{macrocode}
-% We have retrieved the coordinates in the usual way (they are stored in
-% |\l_@@_x_initial_dim|, etc.). If the parallelization of the diagonals is set,
-% we will have (maybe) to adjust the fourth coordinate.
-% \begin{macrocode}
- \bool_if:NT \l_@@_parallelize_diags_bool
- {
- \int_gincr:N \g_@@_ddots_int
-% \end{macrocode}
-% We test if the diagonal line is the first one (the counter |\g_@@_ddots_int|
-% is created for this usage).
-% \begin{macrocode}
- \int_compare:nNnTF \g_@@_ddots_int = \c_one_int
-% \end{macrocode}
-% If the diagonal line is the first one, we have no adjustment of the line to do
-% but we store the $\Delta_x$ and the $\Delta_y$ of the line because these
-% values will be used to draw the others diagonal lines parallels to the first
-% one.
-% \begin{macrocode}
- {
- \dim_gset:Nn \g_@@_delta_x_one_dim
- { \l_@@_x_final_dim - \l_@@_x_initial_dim }
- \dim_gset:Nn \g_@@_delta_y_one_dim
- { \l_@@_y_final_dim - \l_@@_y_initial_dim }
- }
-% \end{macrocode}
-% If the diagonal line is not the first one, we have to adjust the second
-% extremity of the line by modifying the coordinate |\l_@@_x_initial_dim|.
-% \begin{macrocode}
- {
- \dim_set:Nn \l_@@_y_final_dim
- {
- \l_@@_y_initial_dim +
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn \g_@@_delta_y_one_dim \g_@@_delta_x_one_dim
- }
- }
- }
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-% \bigskip
-% We draw the |\Iddots| diagonals in the same way.
-%
-% The first and the second arguments are the coordinates of the cell where the
-% command has been issued. The third argument is the list of the options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_Iddots:nnn #1 #2 #3
- {
- \@@_adjust_to_submatrix:nn { #1 } { #2 }
- \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
- {
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 { -1 }
-% \end{macrocode}
-% The previous command may have changed the current environment by marking some
-% cells as ``dotted'', but, fortunately, it is outside the group for the options
-% of the line.
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \keys_set:nn { NiceMatrix / xdots } { #3 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Iddots:
- \group_end:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_actually_draw_Iddots:| has the following implicit arguments:
-% \begin{itemize}
-% \item |\l_@@_initial_i_int|
-% \item |\l_@@_initial_j_int|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_i_int|
-% \item |\l_@@_final_j_int|
-% \item |\l_@@_final_open_bool|.
-% \end{itemize}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_draw_Iddots:
- {
- \bool_if:NTF \l_@@_initial_open_bool
- {
- \@@_open_y_initial_dim:
- \@@_open_x_initial_dim:
- }
- { \@@_set_initial_coords_from_anchor:n { south~west } }
- \bool_if:NTF \l_@@_final_open_bool
- {
- \@@_open_y_final_dim:
- \@@_open_x_final_dim:
- }
- { \@@_set_final_coords_from_anchor:n { north~east } }
- \bool_if:NT \l_@@_parallelize_diags_bool
- {
- \int_gincr:N \g_@@_iddots_int
- \int_compare:nNnTF \g_@@_iddots_int = \c_one_int
- {
- \dim_gset:Nn \g_@@_delta_x_two_dim
- { \l_@@_x_final_dim - \l_@@_x_initial_dim }
- \dim_gset:Nn \g_@@_delta_y_two_dim
- { \l_@@_y_final_dim - \l_@@_y_initial_dim }
- }
- {
- \dim_set:Nn \l_@@_y_final_dim
- {
- \l_@@_y_initial_dim +
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn \g_@@_delta_y_two_dim \g_@@_delta_x_two_dim
- }
- }
- }
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The actual instructions for drawing the dotted lines with Tikz}
-%
-% The command |\@@_draw_line:| should be used in a |{pgfpicture}|. It has six
-% implicit arguments:
-%
-% \begin{itemize}
-% \item |\l_@@_x_initial_dim|
-% \item |\l_@@_y_initial_dim|
-% \item |\l_@@_x_final_dim|
-% \item |\l_@@_y_final_dim|
-% \item |\l_@@_initial_open_bool|
-% \item |\l_@@_final_open_bool|
-% \end{itemize}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_line:
- {
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \bool_lazy_or:nnTF
- { \tl_if_eq_p:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl }
- \l_@@_dotted_bool
- \@@_draw_standard_dotted_line:
- \@@_draw_unstandard_dotted_line:
- }
-% \end{macrocode}
-%
-% \medskip
-% We have to do a special construction with |\exp_args:No| to be able to put in
-% the list of options in the correct place in the Tikz instruction.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:
- {
- \begin { scope }
- \@@_draw_unstandard_dotted_line:o
- { \l_@@_xdots_line_style_tl , \l_@@_xdots_color_tl }
- }
-% \end{macrocode}
-% We have used the fact that, in \textsc{pgf}, un color name can be put directly
-% in a list of options (that's why we have put diredtly |\l_@@_xdots_color_tl|).
-%
-% \smallskip
-% The argument of |\@@_draw_unstandard_dotted_line:n| is, in fact, the list of options.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:n #1
- {
- \@@_draw_unstandard_dotted_line:nooo
- { #1 }
- \l_@@_xdots_up_tl
- \l_@@_xdots_down_tl
- \l_@@_xdots_middle_tl
- }
-\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:n { o }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following Tikz styles are for the three labels (set by the symbols |_|,
-% |^| and |=|) of a continous line with a non-standard style.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { tikz }
- {
- \tikzset
- {
- @@_node_above / .style = { sloped , above } ,
- @@_node_below / .style = { sloped , below } ,
- @@_node_middle / .style =
- {
- sloped ,
- inner~sep = \c_@@_innersep_middle_dim
- }
- }
- }
- { }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:nnnn #1 #2 #3 #4
- {
-% \end{macrocode}
-% We take into account the parameters |xdots/shorten-start| and
-% |xdots/shorten-end| ``by hand'' because, when we use the key |shorten >| and
-% |shorten <| of TikZ in the command |\draw|, we don't have the expected output
-% with |{decorate,decoration=brace}| is used.
-%
-% \medskip
-% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
-% the floating point reals of the L3 programming layer to compute this length.
-% \begin{macrocode}
- \dim_zero_new:N \l_@@_l_dim
- \dim_set:Nn \l_@@_l_dim
- {
- \fp_to_dim:n
- {
- sqrt
- (
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) ^ 2
- +
- ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) ^ 2
- )
- }
- }
-% \end{macrocode}
-% It seems that, during the first compilations, the value of |\l_@@_l_dim| may
-% be erroneous (equal to zero or very large). We must detect these cases
-% because they would cause errors during the drawing of the dotted line. Maybe
-% we should also write something in the |aux| file to say that one more
-% compilation should be done.
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_l_dim < \c_@@_max_l_dim
- {
- \dim_compare:nNnT \l_@@_l_dim > { 1 pt }
- \@@_draw_unstandard_dotted_line_i:
- }
-% \end{macrocode}
-%
-% If the key |xdots/horizontal-labels| has been used.
-% \begin{macrocode}
- \bool_if:NT \l_@@_xdots_h_labels_bool
- {
- \tikzset
- {
- @@_node_above / .style = { auto = left } ,
- @@_node_below / .style = { auto = right } ,
- @@_node_middle / .style = { inner~sep = \c_@@_innersep_middle_dim }
- }
- }
- \tl_if_empty:nF { #4 }
- { \tikzset { @@_node_middle / .append~style = { fill = white } } }
- \draw
- [ #1 ]
- ( \l_@@_x_initial_dim , \l_@@_y_initial_dim )
-% \end{macrocode}
-% Be careful: We can't put |\c_math_toggle_token| instead of |$| in the
-% following lines because we are in the contents of Tikz nodes (and they will be
-% \emph{rescanned} if the Tikz library \pkg{babel} is loaded).
-% \begin{macrocode}
- -- node [ @@_node_middle] { $ \scriptstyle #4 $ }
- node [ @@_node_below ] { $ \scriptstyle #3 $ }
- node [ @@_node_above ] { $ \scriptstyle #2 $ }
- ( \l_@@_x_final_dim , \l_@@_y_final_dim ) ;
- \end { scope }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_unstandard_dotted_line_i:
- {
- \dim_set:Nn \l_tmpa_dim
- {
- \l_@@_x_initial_dim
- + ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
- * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
- }
- \dim_set:Nn \l_tmpb_dim
- {
- \l_@@_y_initial_dim
- + ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
- * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
- }
- \dim_set:Nn \l_@@_tmpc_dim
- {
- \l_@@_x_final_dim
- - ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
- * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
- }
- \dim_set:Nn \l_@@_tmpd_dim
- {
- \l_@@_y_final_dim
- - ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
- * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
- }
- \dim_set_eq:NN \l_@@_x_initial_dim \l_tmpa_dim
- \dim_set_eq:NN \l_@@_y_initial_dim \l_tmpb_dim
- \dim_set_eq:NN \l_@@_x_final_dim \l_@@_tmpc_dim
- \dim_set_eq:NN \l_@@_y_final_dim \l_@@_tmpd_dim
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:nnnn { n o o o }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_draw_standard_dotted_line:| draws the line with our system of dots
-% (which gives a dotted line with real rounded dots).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_standard_dotted_line:
- {
- \group_begin:
-% \end{macrocode}
-% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
-% the floating point reals of the L3 programming layer to compute this length.
-% \begin{macrocode}
- \dim_zero_new:N \l_@@_l_dim
- \dim_set:Nn \l_@@_l_dim
- {
- \fp_to_dim:n
- {
- sqrt
- (
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) ^ 2
- +
- ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) ^ 2
- )
- }
- }
-% \end{macrocode}
-% It seems that, during the first compilations, the value of |\l_@@_l_dim| may
-% be erroneous (equal to zero or very large). We must detect these cases
-% because they would cause errors during the drawing of the dotted line. Maybe
-% we should also write something in the |aux| file to say that one more
-% compilation should be done.
-% \begin{macrocode}
- \dim_compare:nNnT \l_@@_l_dim < \c_@@_max_l_dim
- {
- \dim_compare:nNnT \l_@@_l_dim > { 1 pt }
- \@@_draw_standard_dotted_line_i:
- }
- \group_end:
-% \end{macrocode}
-% \begin{macrocode}
- \bool_lazy_all:nF
- {
- { \tl_if_empty_p:N \l_@@_xdots_up_tl }
- { \tl_if_empty_p:N \l_@@_xdots_down_tl }
- { \tl_if_empty_p:N \l_@@_xdots_middle_tl }
- }
- \l_@@_labels_standard_dotted_line:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\dim_const:Nn \c_@@_max_l_dim { 50 cm }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_standard_dotted_line_i:
- {
-% \end{macrocode}
-% The number of dots will be |\l_tmpa_int + 1|.
-% \begin{macrocode}
- \int_set:Nn \l_tmpa_int
- {
- \dim_ratio:nn
- {
- \l_@@_l_dim
- - \l_@@_xdots_shorten_start_dim
- - \l_@@_xdots_shorten_end_dim
- }
- \l_@@_xdots_inter_dim
- }
-% \end{macrocode}
-%
-% \medskip
-% The dimensions |\l_tmpa_dim| and |\l_tmpb_dim| are the coordinates of the
-% vector between two dots in the dotted line.
-% \begin{macrocode}
- \dim_set:Nn \l_tmpa_dim
- {
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim
- }
- \dim_set:Nn \l_tmpb_dim
- {
- ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) *
- \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim
- }
-% \end{macrocode}
-%
-% In the loop over the dots, the dimensions |\l_@@_x_initial_dim| and
-% |\l_@@_y_initial_dim| will be used for the coordinates of the dots. But,
-% before the loop, we must move until the first dot.
-%
-% \begin{macrocode}
- \dim_gadd:Nn \l_@@_x_initial_dim
- {
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn
- {
- \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int
- + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
- }
- { 2 \l_@@_l_dim }
- }
- \dim_gadd:Nn \l_@@_y_initial_dim
- {
- ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) *
- \dim_ratio:nn
- {
- \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int
- + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
- }
- { 2 \l_@@_l_dim }
- }
- \pgf@relevantforpicturesizefalse
- \int_step_inline:nnn \c_zero_int \l_tmpa_int
- {
- \pgfpathcircle
- { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
- { \l_@@_xdots_radius_dim }
- \dim_add:Nn \l_@@_x_initial_dim \l_tmpa_dim
- \dim_add:Nn \l_@@_y_initial_dim \l_tmpb_dim
- }
- \pgfusepathqfill
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \l_@@_labels_standard_dotted_line:
- {
- \pgfscope
- \pgftransformshift
- {
- \pgfpointlineattime { 0.5 }
- { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
- { \pgfpoint \l_@@_x_final_dim \l_@@_y_final_dim }
- }
- \fp_set:Nn \l_tmpa_fp
- {
- atand
- (
- \l_@@_y_final_dim - \l_@@_y_initial_dim ,
- \l_@@_x_final_dim - \l_@@_x_initial_dim
- )
- }
- \pgftransformrotate { \fp_use:N \l_tmpa_fp }
- \bool_if:NF \l_@@_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
- \tl_if_empty:NF \l_@@_xdots_middle_tl
- {
- \begin { pgfscope }
- \pgfset { inner~sep = \c_@@_innersep_middle_dim }
- \pgfnode
- { rectangle }
- { center }
- {
- \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
- {
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_middle_tl
- \c_math_toggle_token
- }
- }
- { }
- {
- \pgfsetfillcolor { white }
- \pgfusepath { fill }
- }
- \end { pgfscope }
- }
- \tl_if_empty:NF \l_@@_xdots_up_tl
- {
- \pgfnode
- { rectangle }
- { south }
- {
- \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
- {
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_up_tl
- \c_math_toggle_token
- }
- }
- { }
- { \pgfusepath { } }
- }
- \tl_if_empty:NF \l_@@_xdots_down_tl
- {
- \pgfnode
- { rectangle }
- { north }
- {
- \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
- {
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_down_tl
- \c_math_toggle_token
- }
- }
- { }
- { \pgfusepath { } }
- }
- \endpgfscope
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{User commands available in the new environments}
-%
-%
-% The commands |\@@_Ldots|, |\@@_Cdots|, |\@@_Vdots|, |\@@_Ddots| and
-% |\@@_Iddots| will be linked to |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots| and
-% |\Iddots| in the environments |{NiceArray}| (the other environments of
-% \pkg{nicematrix} rely upon |{NiceArray}|).
-%
-%
-% \medskip
-% The syntax of these commands uses the character |_| as embellishment and
-% thats' why we have to insert a character |_| in the \emph{arg spec} of these
-% commands. However, we don't know the future catcode of |_| in the main
-% document (maybe the user will use \pkg{underscore}, and, in that case, the
-% catcode is $13$ because \pkg{underscore} activates |_|). That's why these
-% commands will be defined in a |\hook_gput_code:nnn { begindocument } { . }|
-% and the \emph{arg spec} will be rescanned.
-%
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_set_nopar:Npn \l_@@_argspec_tl { m E { _ ^ : } { { } { } { } } }
- \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \cs_new_protected:Npn \@@_Ldots
- { \@@_collect_options:n { \@@_Ldots_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Ldots_i \l_@@_argspec_tl
- {
- \int_if_zero:nTF \c@jCol
- { \@@_error:nn { in~first~col } \Ldots }
- {
- \int_compare:nNnTF \c@jCol = \l_@@_last_col_int
- { \@@_error:nn { in~last~col } \Ldots }
- {
- \@@_instruction_of_type:nnn \c_false_bool { Ldots }
- { #1 , down = #2 , up = #3 , middle = #4 }
- }
- }
- \bool_if:NF \l_@@_nullify_dots_bool
- { \phantom { \ensuremath { \@@_old_ldots } } }
- \bool_gset_true:N \g_@@_empty_cell_bool
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \cs_new_protected:Npn \@@_Cdots
- { \@@_collect_options:n { \@@_Cdots_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Cdots_i \l_@@_argspec_tl
- {
- \int_if_zero:nTF \c@jCol
- { \@@_error:nn { in~first~col } \Cdots }
- {
- \int_compare:nNnTF \c@jCol = \l_@@_last_col_int
- { \@@_error:nn { in~last~col } \Cdots }
- {
- \@@_instruction_of_type:nnn \c_false_bool { Cdots }
- { #1 , down = #2 , up = #3 , middle = #4 }
- }
- }
- \bool_if:NF \l_@@_nullify_dots_bool
- { \phantom { \ensuremath { \@@_old_cdots } } }
- \bool_gset_true:N \g_@@_empty_cell_bool
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \cs_new_protected:Npn \@@_Vdots
- { \@@_collect_options:n { \@@_Vdots_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Vdots_i \l_@@_argspec_tl
- {
- \int_if_zero:nTF \c@iRow
- { \@@_error:nn { in~first~row } \Vdots }
- {
- \int_compare:nNnTF \c@iRow = \l_@@_last_row_int
- { \@@_error:nn { in~last~row } \Vdots }
- {
- \@@_instruction_of_type:nnn \c_false_bool { Vdots }
- { #1 , down = #2 , up = #3 , middle = #4 }
- }
- }
- \bool_if:NF \l_@@_nullify_dots_bool
- { \phantom { \ensuremath { \@@_old_vdots } } }
- \bool_gset_true:N \g_@@_empty_cell_bool
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
- \cs_new_protected:Npn \@@_Ddots
- { \@@_collect_options:n { \@@_Ddots_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Ddots_i \l_@@_argspec_tl
- {
- \int_case:nnF \c@iRow
- {
- 0 { \@@_error:nn { in~first~row } \Ddots }
- \l_@@_last_row_int { \@@_error:nn { in~last~row } \Ddots }
- }
- {
- \int_case:nnF \c@jCol
- {
- 0 { \@@_error:nn { in~first~col } \Ddots }
- \l_@@_last_col_int { \@@_error:nn { in~last~col } \Ddots }
- }
- {
- \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
- \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Ddots }
- { #1 , down = #2 , up = #3 , middle = #4 }
- }
-
- }
- \bool_if:NF \l_@@_nullify_dots_bool
- { \phantom { \ensuremath { \@@_old_ddots } } }
- \bool_gset_true:N \g_@@_empty_cell_bool
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \cs_new_protected:Npn \@@_Iddots
- { \@@_collect_options:n { \@@_Iddots_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Iddots_i \l_@@_argspec_tl
- {
- \int_case:nnF \c@iRow
- {
- 0 { \@@_error:nn { in~first~row } \Iddots }
- \l_@@_last_row_int { \@@_error:nn { in~last~row } \Iddots }
- }
- {
- \int_case:nnF \c@jCol
- {
- 0 { \@@_error:nn { in~first~col } \Iddots }
- \l_@@_last_col_int { \@@_error:nn { in~last~col } \Iddots }
- }
- {
- \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
- \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Iddots }
- { #1 , down = #2 , up = #3 , middle = #4 }
- }
- }
- \bool_if:NF \l_@@_nullify_dots_bool
- { \phantom { \ensuremath { \@@_old_iddots } } }
- \bool_gset_true:N \g_@@_empty_cell_bool
- }
- }
-% \end{macrocode}
-% End of the |\AddToHook|.
-%
-%
-% \bigskip
-% Despite its name, the following set of keys will be used for |\Ddots| but also
-% for |\Iddots|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Ddots }
- {
- draw-first .bool_set:N = \l_@@_draw_first_bool ,
- draw-first .default:n = true ,
- draw-first .value_forbidden:n = true
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_Hspace:| will be linked to |\hspace| in |{NiceArray}|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Hspace:
- {
- \bool_gset_true:N \g_@@_empty_cell_bool
- \hspace
- }
-% \end{macrocode}
-%
-% \bigskip
-% In the environments of |nicematrix|, the command |\multicolumn| is redefined.
-% We will patch the environment |{tabular}| to go back to the previous value of
-% |\multicolumn|.
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_multicolumn \multicolumn
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The command |\@@_Hdotsfor| will be linked to |\Hdotsfor| in
-% |{NiceArrayWithDelims}|. Tikz nodes are created also in the implicit cells of
-% the |\Hdotsfor| (maybe we should modify that point).
-%
-% \medskip
-% This command must \emph{not} be protected since it begins with |\multicolumn|.
-% \begin{macrocode}
-\cs_new:Npn \@@_Hdotsfor:
- {
- \bool_lazy_and:nnTF
- { \int_if_zero_p:n \c@jCol }
- { \int_if_zero_p:n \l_@@_first_col_int }
- {
- \bool_if:NTF \g_@@_after_col_zero_bool
- {
- \multicolumn { 1 } { c } { }
- \@@_Hdotsfor_i
- }
- { \@@_fatal:n { Hdotsfor~in~col~0 } }
- }
- {
- \multicolumn { 1 } { c } { }
- \@@_Hdotsfor_i
- }
- }
-% \end{macrocode}
-%
-%
-% The command |\@@_Hdotsfor_i| is defined with |\NewDocumentCommand| because it
-% has an optional argument. Note that such a command defined by
-% |\NewDocumentCommand| is protected and that's why we have put the
-% |\multicolumn| before (in the definition of |\@@_Hdotsfor:|).
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_set_nopar:Npn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
- \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
-% \end{macrocode}
-% We don't put |!| before the last optionnal argument for homogeneity with
-% |\Cdots|, etc. which have only one optional argument.
-% \begin{macrocode}
- \cs_new_protected:Npn \@@_Hdotsfor_i
- { \@@_collect_options:n { \@@_Hdotsfor_ii } }
- \exp_args:NNo \NewDocumentCommand \@@_Hdotsfor_ii \l_@@_argspec_tl
- {
- \tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
- {
- \@@_Hdotsfor:nnnn
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { #2 }
- {
- #1 , #3 ,
- down = \exp_not:n { #4 } ,
- up = \exp_not:n { #5 } ,
- middle = \exp_not:n { #6 }
- }
- }
- \prg_replicate:nn { #2 - 1 }
- {
- &
- \multicolumn { 1 } { c } { }
- \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Hdotsfor:nnnn #1 #2 #3 #4
- {
- \bool_set_false:N \l_@@_initial_open_bool
- \bool_set_false:N \l_@@_final_open_bool
-% \end{macrocode}
-% For the row, it's easy.
-% \begin{macrocode}
- \int_set:Nn \l_@@_initial_i_int { #1 }
- \int_set_eq:NN \l_@@_final_i_int \l_@@_initial_i_int
-% \end{macrocode}
-% For the column, it's a bit more complicated.
-% \begin{macrocode}
- \int_compare:nNnTF { #2 } = \c_one_int
- {
- \int_set_eq:NN \l_@@_initial_j_int \c_one_int
- \bool_set_true:N \l_@@_initial_open_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_use:N \l_@@_initial_i_int
- - \int_eval:n { #2 - 1 }
- }
- { \int_set:Nn \l_@@_initial_j_int { #2 - 1 } }
- {
- \int_set:Nn \l_@@_initial_j_int { #2 }
- \bool_set_true:N \l_@@_initial_open_bool
- }
- }
- \int_compare:nNnTF { #2 + #3 -1 } = \c@jCol
- {
- \int_set:Nn \l_@@_final_j_int { #2 + #3 - 1 }
- \bool_set_true:N \l_@@_final_open_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_use:N \l_@@_final_i_int
- - \int_eval:n { #2 + #3 }
- }
- { \int_set:Nn \l_@@_final_j_int { #2 + #3 } }
- {
- \int_set:Nn \l_@@_final_j_int { #2 + #3 - 1 }
- \bool_set_true:N \l_@@_final_open_bool
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \int_if_zero:nTF { #1 }
- { \color { nicematrix-first-row } }
- {
- \int_compare:nNnT { #1 } = \g_@@_row_total_int
- { \color { nicematrix-last-row } }
- }
-
- \keys_set:nn { NiceMatrix / xdots } { #4 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Ldots:
- \group_end:
-% \end{macrocode}
-%
-% \medskip
-% We declare all the cells concerned by the |\Hdotsfor| as ``dotted'' (for the
-% dotted lines created by |\Cdots|, |\Ldots|, etc., this job is done by
-% |\@@_find_extremities_of_line:nnnn|). This declaration is done by defining a
-% special control sequence (to nil).
-% \begin{macrocode}
- \int_step_inline:nnn { #2 } { #2 + #3 - 1 }
- { \cs_set:cpn { @@ _ dotted _ #1 - ##1 } { } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_set_nopar:Npn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
- \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \cs_new_protected:Npn \@@_Vdotsfor:
- { \@@_collect_options:n { \@@_Vdotsfor_i } }
- \exp_args:NNo \NewDocumentCommand \@@_Vdotsfor_i \l_@@_argspec_tl
- {
- \bool_gset_true:N \g_@@_empty_cell_bool
- \tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
- {
- \@@_Vdotsfor:nnnn
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { #2 }
- {
- #1 , #3 ,
- down = \exp_not:n { #4 } ,
- up = \exp_not:n { #5 } ,
- middle = \exp_not:n { #6 }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Vdotsfor:nnnn #1 #2 #3 #4
- {
- \bool_set_false:N \l_@@_initial_open_bool
- \bool_set_false:N \l_@@_final_open_bool
-% \end{macrocode}
-% For the column, it's easy.
-% \begin{macrocode}
- \int_set:Nn \l_@@_initial_j_int { #2 }
- \int_set_eq:NN \l_@@_final_j_int \l_@@_initial_j_int
-% \end{macrocode}
-% For the row, it's a bit more complicated.
-% \begin{macrocode}
- \int_compare:nNnTF { #1 } = \c_one_int
- {
- \int_set_eq:NN \l_@@_initial_i_int \c_one_int
- \bool_set_true:N \l_@@_initial_open_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_eval:n { #1 - 1 }
- - \int_use:N \l_@@_initial_j_int
- }
- { \int_set:Nn \l_@@_initial_i_int { #1 - 1 } }
- {
- \int_set:Nn \l_@@_initial_i_int { #1 }
- \bool_set_true:N \l_@@_initial_open_bool
- }
- }
- \int_compare:nNnTF { #1 + #3 -1 } = \c@iRow
- {
- \int_set:Nn \l_@@_final_i_int { #1 + #3 - 1 }
- \bool_set_true:N \l_@@_final_open_bool
- }
- {
- \cs_if_exist:cTF
- {
- pgf @ sh @ ns @ \@@_env:
- - \int_eval:n { #1 + #3 }
- - \int_use:N \l_@@_final_j_int
- }
- { \int_set:Nn \l_@@_final_i_int { #1 + #3 } }
- {
- \int_set:Nn \l_@@_final_i_int { #1 + #3 - 1 }
- \bool_set_true:N \l_@@_final_open_bool
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \group_begin:
- \@@_open_shorten:
- \int_if_zero:nTF { #2 }
- { \color { nicematrix-first-col } }
- {
- \int_compare:nNnT { #2 } = \g_@@_col_total_int
- { \color { nicematrix-last-col } }
- }
- \keys_set:nn { NiceMatrix / xdots } { #4 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \@@_actually_draw_Vdots:
- \group_end:
-% \end{macrocode}
-%
-% \medskip
-% We declare all the cells concerned by the |\Vdotsfor| as ``dotted'' (for the
-% dotted lines created by |\Cdots|, |\Ldots|, etc., this job is done by
-% |\@@_find_extremities_of_line:nnnn|). This declaration is done by defining a
-% special control sequence (to nil).
-% \begin{macrocode}
- \int_step_inline:nnn { #1 } { #1 + #3 - 1 }
- { \cs_set:cpn { @@ _ dotted _ ##1 - #2 } { } }
- }
-% \end{macrocode}
-%
-%
-% \vspace{1cm}
-% The command |\@@_rotate:| will be linked to |\rotate| in
-% |{NiceArrayWithDelims}|.
-% \begin{macrocode}
-\NewDocumentCommand \@@_rotate: { O { } }
- {
- \peek_remove_spaces:n
- {
- \bool_gset_true:N \g_@@_rotate_bool
- \keys_set:nn { NiceMatrix / rotate } { #1 }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rotate }
- {
- c .code:n = \bool_gset_true:N \g_@@_rotate_c_bool ,
- c .value_forbidden:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~rotate }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The command \textbackslash line accessible in code-after}
-%
-% In the |\CodeAfter|, the command |\@@_line:nn| will be linked to |\line|. This
-% command takes two arguments which are the specifications of two cells in the
-% array (in the format $i$-$j$) and draws a dotted line between these cells. In
-% fact, if also works with names of blocks.
-%
-% \medskip
-% First, we write a command with the following behaviour:
-% \begin{itemize}
-% \item If the argument is of the format $i$-$j$, our command applies
-% the command |\int_eval:n| to $i$ and~$j$ ;
-% \item If not (that is to say, when it's a name of a |\Block|), the argument is
-% left unchanged.
-% \end{itemize}
-% This must \emph{not} be protected (and is, of course fully
-% expandable).\footnote{Indeed, we want that the user may use the command
-% |\line| in |\CodeAfter| with LaTeX counters in the arguments --- with the
-% command |\value|.}
-% \begin{macrocode}
-\cs_new:Npn \@@_double_int_eval:n #1-#2 \q_stop
- {
- \tl_if_empty:nTF { #2 }
- { #1 }
- { \@@_double_int_eval_i:n #1-#2 \q_stop }
- }
-\cs_new:Npn \@@_double_int_eval_i:n #1-#2- \q_stop
- { \int_eval:n { #1 } - \int_eval:n { #2 } }
-% \end{macrocode}
-%
-%
-% \medskip
-% With the following construction, the command |\@@_double_int_eval:n| is
-% applied to both arguments before the application of |\@@_line_i:nn| (the
-% construction uses the fact the |\@@_line_i:nn| is protected and that
-% |\@@_double_int_eval:n| is fully expandable).
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_set_nopar:Npn \l_@@_argspec_tl
- { O { } m m ! O { } E { _ ^ : } { { } { } { } } }
- \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \exp_args:NNo \NewDocumentCommand \@@_line \l_@@_argspec_tl
- {
- \group_begin:
- \keys_set:nn { NiceMatrix / xdots } { #1 , #4 , down = #5 , up = #6 }
- \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
- \use:e
- {
- \@@_line_i:nn
- { \@@_double_int_eval:n #2 - \q_stop }
- { \@@_double_int_eval:n #3 - \q_stop }
- }
- \group_end:
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_line_i:nn #1 #2
- {
- \bool_set_false:N \l_@@_initial_open_bool
- \bool_set_false:N \l_@@_final_open_bool
- \bool_lazy_or:nnTF
- { \cs_if_free_p:c { pgf @ sh @ ns @ \@@_env: - #1 } }
- { \cs_if_free_p:c { pgf @ sh @ ns @ \@@_env: - #2 } }
- { \@@_error:nnn { unknown~cell~for~line~in~CodeAfter } { #1 } { #2 } }
-% \end{macrocode}
-% The test of |measuring@| is a security (cf. question 686649 on TeX StackExchange).
-% \begin{macrocode}
- { \legacy_if:nF { measuring@ } { \@@_draw_line_ii:nn { #1 } { #2 } } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_new_protected:Npx \@@_draw_line_ii:nn #1 #2
- {
-% \end{macrocode}
-% We recall that, when externalization is used, |\tikzpicture| and
-% |\endtikzpicture| (or |\pgfpicture| and |\endpgfpicture|) must be directly
-% ``visible'' and that why we do this static construction of the command
-% |\@@_draw_line_ii:|.
-% \begin{macrocode}
- \c_@@_pgfortikzpicture_tl
- \@@_draw_line_iii:nn { #1 } { #2 }
- \c_@@_endpgfortikzpicture_tl
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command \emph{must} be protected (it's used in the
-% construction of |\@@_draw_line_ii:nn|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_line_iii:nn #1 #2
- {
- \pgfrememberpicturepositiononpagetrue
- \pgfpointshapeborder { \@@_env: - #1 } { \@@_qpoint:n { #2 } }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
- \pgfpointshapeborder { \@@_env: - #2 } { \@@_qpoint:n { #1 } }
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
- \@@_draw_line:
- }
-% \end{macrocode}
-%
-%
-% The commands |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, and |\Iddots| don't use
-% this command because they have to do other settings (for example, the diagonal
-% lines must be parallelized).
-%
-%
-%
-% \bigskip
-% \section{The command \textbackslash RowStyle}
-%
-%
-% |\g_@@_row_style_tl| may contain several instructions of the form:
-%
-% \qquad |\@@_if_row_less_than:nn { number } { instructions }|
-%
-% \smallskip
-% Then, |\g_@@_row_style_tl| will be inserted in all the cells of the array (and
-% also in both components of a |\diagbox| in a cell of in a mono-row block).
-%
-% The test |\@@_if_row_less_then:nn| ensures that the instructions are inserted
-% only if you are in a row which is (still) in the scope of that instructions
-% (which depends on the value of the key |nb-rows| of |\RowStyle|).
-%
-% That test will be active even in an expandable context because
-% |\@@_if_row_less_then:nn| is \emph{not} protected.
-%
-% |#1| is the first row \emph{after} the scope of the instructions in |#2|
-% \begin{macrocode}
-\cs_new:Npn \@@_if_row_less_than:nn #1 #2
- { \int_compare:nNnT { \c@iRow } < { #1 } { #2 } }
-% \end{macrocode}
-%
-% \bigskip
-% |\@@_put_in_row_style| will be used several times by |\RowStyle|.
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_put_in_row_style:n #1
- {
- \tl_gput_right:Nx \g_@@_row_style_tl
- {
-% \end{macrocode}
-% Be careful, |\exp_not:N \@@_if_row_less_than:nn| can't be replaced by a
-% protected version of |\@@_if_row_less_than:nn|.
-% \begin{macrocode}
- \exp_not:N
- \@@_if_row_less_than:nn
- { \int_eval:n { \c@iRow + \l_@@_key_nb_rows_int } }
-% \end{macrocode}
-% The |\scan_stop:| is mandatory (for ex. for the case where |\rotate| is used
-% in the argument of |\RowStyle|).
-% \begin{macrocode}
- { \exp_not:n { #1 } \scan_stop: }
- }
- }
-\cs_generate_variant:Nn \@@_put_in_row_style:n { e }
-% \end{macrocode}
-% \medskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / RowStyle }
- {
- cell-space-top-limit .dim_set:N = \l_tmpa_dim ,
- cell-space-top-limit .value_required:n = true ,
- cell-space-bottom-limit .dim_set:N = \l_tmpb_dim ,
- cell-space-bottom-limit .value_required:n = true ,
- cell-space-limits .meta:n =
- {
- cell-space-top-limit = #1 ,
- cell-space-bottom-limit = #1 ,
- } ,
- color .tl_set:N = \l_@@_color_tl ,
- color .value_required:n = true ,
- bold .bool_set:N = \l_@@_bold_row_style_bool ,
- bold .default:n = true ,
- nb-rows .code:n =
- \str_if_eq:nnTF { #1 } { * }
- { \int_set:Nn \l_@@_key_nb_rows_int { 500 } }
- { \int_set:Nn \l_@@_key_nb_rows_int { #1 } } ,
- nb-rows .value_required:n = true ,
- rowcolor .tl_set:N = \l_tmpa_tl ,
- rowcolor .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~RowStyle }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentCommand \@@_RowStyle:n { O { } m }
- {
- \group_begin:
- \tl_clear:N \l_tmpa_tl
- \tl_clear:N \l_@@_color_tl
- \int_set_eq:NN \l_@@_key_nb_rows_int \c_one_int
- \dim_zero:N \l_tmpa_dim
- \dim_zero:N \l_tmpb_dim
- \keys_set:nn { NiceMatrix / RowStyle } { #1 }
-% \end{macrocode}
-% If the key |rowcolor| has been used.
-% \begin{macrocode}
- \tl_if_empty:NF \l_tmpa_tl
- {
-% \end{macrocode}
-% First, the end of the current row (we remind that |\RowStyle| applies to the
-% \emph{end} of the current row).
-% \begin{macrocode}
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
-% \end{macrocode}
-% The command |\@@_exp_color_arg:No| is \emph{fully expandable}.
-% \begin{macrocode}
- \@@_exp_color_arg:No \@@_rectanglecolor \l_tmpa_tl
- { \int_use:N \c@iRow - \int_use:N \c@jCol }
- { \int_use:N \c@iRow - * }
- }
-% \end{macrocode}
-% Then, the other rows (if there is several rows).
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_key_nb_rows_int > \c_one_int
- {
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
- \@@_exp_color_arg:No \@@_rowcolor \l_tmpa_tl
- {
- \int_eval:n { \c@iRow + 1 }
- - \int_eval:n { \c@iRow + \l_@@_key_nb_rows_int - 1 }
- }
- }
- }
- }
- \@@_put_in_row_style:n { \exp_not:n { #2 } }
-% \end{macrocode}
-% |\l_tmpa_dim| is the value of the key |cell-space-top-limit| of |\RowStyle|.
-% \begin{macrocode}
- \dim_compare:nNnT \l_tmpa_dim > \c_zero_dim
- {
- \exp_args:Nx \@@_put_in_row_style:n
- {
- \tl_gput_right:Nn \exp_not:N \g_@@_cell_after_hook_tl
- {
-% \end{macrocode}
-% It's not possible to chanage the following code by using |\dim_set_eq:NN|
-% (because of expansion).
-% \begin{macrocode}
- \dim_set:Nn \l_@@_cell_space_top_limit_dim
- { \dim_use:N \l_tmpa_dim }
- }
- }
- }
-% \end{macrocode}
-% |\l_tmpb_dim| is the value of the key |cell-space-bottom-limit| of |\RowStyle|.
-% \begin{macrocode}
- \dim_compare:nNnT \l_tmpb_dim > \c_zero_dim
- {
- \exp_args:Nx \@@_put_in_row_style:n
- {
- \tl_gput_right:Nn \exp_not:N \g_@@_cell_after_hook_tl
- {
- \dim_set:Nn \l_@@_cell_space_bottom_limit_dim
- { \dim_use:N \l_tmpb_dim }
- }
- }
- }
-% \end{macrocode}
-% |\l_@@_color_tl| is the value of the key |color| of |\RowStyle|.
-% \begin{macrocode}
- \tl_if_empty:NF \l_@@_color_tl
- {
- \@@_put_in_row_style:e
- {
- \mode_leave_vertical:
- \@@_color:n { \l_@@_color_tl }
- }
- }
-% \end{macrocode}
-% |\l_@@_bold_row_style_bool| is the value of the key |bold|.
-% \begin{macrocode}
- \bool_if:NT \l_@@_bold_row_style_bool
- {
- \@@_put_in_row_style:n
- {
- \exp_not:n
- {
- \if_mode_math:
- \c_math_toggle_token
- \bfseries \boldmath
- \c_math_toggle_token
- \else:
- \bfseries \boldmath
- \fi:
- }
- }
- }
- \group_end:
- \g_@@_row_style_tl
- \ignorespaces
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{Colors of cells, rows and columns}
-%
-% We want to avoid the thin white lines that are shown in some \textsc{pdf}
-% viewers (eg: with the engine MuPDF used by SumatraPDF). That's why we try to
-% draw rectangles of the same color in the same instruction |\pgfusepath { fill }|
-% (and they will be in the same instruction |fill|---coded |f|---in the
-% resulting \textsc{pdf}).
-%
-% The commands |\@@_rowcolor|, |\@@_columncolor|, |\@@_rectanglecolor| and
-% |\@@_rowlistcolors| don't directly draw the corresponding rectangles. Instead,
-% they store their instructions color by color:
-% \begin{itemize}
-% \item A sequence |\g_@@_colors_seq| will be built containing all the colors
-% used by at least one of these instructions. Each \emph{color} may be prefixed
-% by its color model (eg: |[gray]{0.5}|).
-% \item For the color whose index in |\g_@@_colors_seq| is equal to~$i$, a list of
-% instructions which use that color will be constructed in the token list
-% |\g_@@_color_|$i$|_tl|. In that token list, the instructions will be written
-% using |\@@_cartesian_color:nn| and |\@@_rectanglecolor:nn|.
-% \end{itemize}
-%
-%
-% \bigskip
-% |#1| is the color and |#2| is an instruction using that color. Despite its
-% name, the command |\@@_add_to_colors_seq:nn| doesn't only add a color to
-% |\g_@@_colors_seq|: it also updates the corresponding token list
-% |\g_@@_color_|$i$|_tl|. We add in a global way because the final user may use
-% the instructions such as |\cellcolor| in a loop of \pkg{pgffor} in the
-% |\CodeBefore| (and we recall that a loop of \pkg{pgffor} is encapsulated in a
-% group).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_add_to_colors_seq:nn #1 #2
- {
-% \end{macrocode}
-% Firt, we look for the number of the color and, if it's found, we store it in
-% |\l_tmpa_int|. If the color is not present in |\l_@@_colors_seq|,
-% |\l_tmpa_int| will remain equal to $0$.
-% \begin{macrocode}
- \int_zero:N \l_tmpa_int
-% \end{macrocode}
-% We don't take into account the colors like |myserie!!+| because those colors
-% are special color from a |\definecolorseries| of \pkg{xcolor}.
-% \begin{macrocode}
- \str_if_in:nnF { #1 } { !! }
- {
- \seq_map_indexed_inline:Nn \g_@@_colors_seq
- { \tl_if_eq:nnT { #1 } { ##2 } { \int_set:Nn \l_tmpa_int { ##1 } } }
- }
- \int_if_zero:nTF \l_tmpa_int
-% \end{macrocode}
-% First, the case where the color is a \emph{new} color (not in the sequence).
-% \begin{macrocode}
- {
- \seq_gput_right:Nn \g_@@_colors_seq { #1 }
- \tl_gset:cx { g_@@_color _ \seq_count:N \g_@@_colors_seq _ tl } { #2 }
- }
-% \end{macrocode}
-% Now, the case where the color is \emph{not} a new color (the color is in the
-% sequence at the position |\l_tmpa_int|).
-% \begin{macrocode}
- { \tl_gput_right:cx { g_@@_color _ \int_use:N \l_tmpa_int _tl } { #2 } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_generate_variant:Nn \@@_add_to_colors_seq:nn { e n }
-\cs_generate_variant:Nn \@@_add_to_colors_seq:nn { e e }
-% \end{macrocode}
-%
-% \bigskip
-% The following command must be used within a |\pgfpicture|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_clip_with_rounded_corners:
- {
- \dim_compare:nNnT \l_@@_tab_rounded_corners_dim > \c_zero_dim
- {
-% \end{macrocode}
-% The TeX group is for |\pgfsetcornersarced| (whose scope is the TeX scope).
-% \begin{macrocode}
- \group_begin:
- \pgfsetcornersarced
- {
- \pgfpoint
- { \l_@@_tab_rounded_corners_dim }
- { \l_@@_tab_rounded_corners_dim }
- }
-% \end{macrocode}
-% Because we want \pkg{nicematrix} compatible with arrays constructed by
-% \pkg{array}, the nodes for the rows and columns (that is to say the nodes
-% |row-|\textsl{i} and |col-|\textsl{j}) have not always the expected position,
-% that is to say, there is sometimes a slight shifting of something such as
-% |\arrayrulewidth|. Now, for the clipping, we have to change slightly the
-% position of that clipping whether a rounded rectangle around the array is
-% required. That's the point which is tested in the following line.
-% \begin{macrocode}
- \bool_if:NTF \l_@@_hvlines_bool
- {
- \pgfpathrectanglecorners
- {
- \pgfpointadd
- { \@@_qpoint:n { row-1 } }
- { \pgfpoint { 0.5 \arrayrulewidth } { \c_zero_dim } }
- }
- {
- \pgfpointadd
- {
- \@@_qpoint:n
- { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
- }
- { \pgfpoint \c_zero_dim { 0.5 \arrayrulewidth } }
- }
- }
- {
- \pgfpathrectanglecorners
- { \@@_qpoint:n { row-1 } }
- {
- \pgfpointadd
- {
- \@@_qpoint:n
- { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
- }
- { \pgfpoint \c_zero_dim \arrayrulewidth }
- }
- }
- \pgfusepath { clip }
- \group_end:
-% \end{macrocode}
-% The TeX group was for |\pgfsetcornersarced|.
-% \begin{macrocode}
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The macro |\@@_actually_color:| will actually fill all the rectangles, color by
-% color (using the sequence |\l_@@_colors_seq| and all the token lists of the
-% form |\l_@@_color_|$i$|_tl|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_color:
- {
- \pgfpicture
- \pgf@relevantforpicturesizefalse
-% \end{macrocode}
-% If the final user has used the key |rounded-corners| for the environment
-% |{NiceTabular}|, we will clip to a rectangle with rounded corners before
-% filling the rectangles.
-% \begin{macrocode}
- \@@_clip_with_rounded_corners:
- \seq_map_indexed_inline:Nn \g_@@_colors_seq
- {
- \int_compare:nNnTF { ##1 } = \c_one_int
- {
- \cs_set_eq:NN \@@_cartesian_path:n \@@_cartesian_path_nocolor:n
- \use:c { g_@@_color _ 1 _tl }
- \cs_set_eq:NN \@@_cartesian_path:n \@@_cartesian_path_normal:n
- }
- {
- \begin { pgfscope }
- \@@_color_opacity ##2
- \use:c { g_@@_color _ ##1 _tl }
- \tl_gclear:c { g_@@_color _ ##1 _tl }
- \pgfusepath { fill }
- \end { pgfscope }
- }
- }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command will extract the potential key |opacity| in its optional
-% argument (between square brackets) and (of course) then apply the command |\color|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_color_opacity
- {
- \peek_meaning:NTF [
- { \@@_color_opacity:w }
- { \@@_color_opacity:w [ ] }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_color_opacity:w| takes in as argument only the optional
-% argument. One may consider that the second argument (the actual definition of
-% the color) is provided by curryfication.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_color_opacity:w [ #1 ]
- {
- \tl_clear:N \l_tmpa_tl
- \keys_set_known:nnN { nicematrix / color-opacity } { #1 } \l_tmpb_tl
-% \end{macrocode}
-% |\l_tmpa_tl| (if not empty) is now the opacity and |\l_tmpb_tl| (if not empty) is now the colorimetric space.
-% \begin{macrocode}
- \tl_if_empty:NF \l_tmpa_tl { \exp_args:No \pgfsetfillopacity \l_tmpa_tl }
- \tl_if_empty:NTF \l_tmpb_tl
- { \@declaredcolor }
- { \use:e { \exp_not:N \@undeclaredcolor [ \l_tmpb_tl ] } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following set of keys is used by the command |\@@_color_opacity:wn|.
-% \begin{macrocode}
-\keys_define:nn { nicematrix / color-opacity }
- {
- opacity .tl_set:N = \l_tmpa_tl ,
- opacity .value_required:n = true
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_color:nn #1 #2
- {
- \cs_set_nopar:Npn \l_@@_rows_tl { #1 }
- \cs_set_nopar:Npn \l_@@_cols_tl { #2 }
- \@@_cartesian_path:
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here is an example : |\@@_rowcolor {red!15} {1,3,5-7,10-}|
-% \begin{macrocode}
-\NewDocumentCommand \@@_rowcolor { O { } m m }
- {
- \tl_if_blank:nF { #2 }
- {
- \@@_add_to_colors_seq:en
- { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
- { \@@_cartesian_color:nn { #3 } { - } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here an example : |\@@_columncolor:nn {red!15} {1,3,5-7,10-}|
-% \begin{macrocode}
-\NewDocumentCommand \@@_columncolor { O { } m m }
- {
- \tl_if_blank:nF { #2 }
- {
- \@@_add_to_colors_seq:en
- { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
- { \@@_cartesian_color:nn { - } { #3 } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here is an example : |\@@_rectanglecolor{red!15}{2-3}{5-6}|
-% \begin{macrocode}
-\NewDocumentCommand \@@_rectanglecolor { O { } m m m }
- {
- \tl_if_blank:nF { #2 }
- {
- \@@_add_to_colors_seq:en
- { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
- { \@@_rectanglecolor:nnn { #3 } { #4 } { \c_zero_dim } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The last argument is the radius of the corners of the rectangle.
-% \begin{macrocode}
-\NewDocumentCommand \@@_roundedrectanglecolor { O { } m m m m }
- {
- \tl_if_blank:nF { #2 }
- {
- \@@_add_to_colors_seq:en
- { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
- { \@@_rectanglecolor:nnn { #3 } { #4 } { #5 } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The last argument is the radius of the corners of the rectangle.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rectanglecolor:nnn #1 #2 #3
- {
- \@@_cut_on_hyphen:w #1 \q_stop
- \tl_clear_new:N \l_@@_tmpc_tl
- \tl_clear_new:N \l_@@_tmpd_tl
- \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
- \@@_cut_on_hyphen:w #2 \q_stop
- \tl_set:Nx \l_@@_rows_tl { \l_@@_tmpc_tl - \l_tmpa_tl }
- \tl_set:Nx \l_@@_cols_tl { \l_@@_tmpd_tl - \l_tmpb_tl }
-% \end{macrocode}
-% The command |\@@_cartesian_path:n| takes in two implicit arguments:
-% |\l_@@_cols_tl| and |\l_@@_rows_tl|.
-% \begin{macrocode}
- \@@_cartesian_path:n { #3 }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% Here is an example : |\@@_cellcolor[rgb]{0.5,0.5,0}{2-3,3-4,4-5,5-6}|
-% \begin{macrocode}
-\NewDocumentCommand \@@_cellcolor { O { } m m }
- {
- \clist_map_inline:nn { #3 }
- { \@@_rectanglecolor [ #1 ] { #2 } { ##1 } { ##1 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentCommand \@@_chessboardcolors { O { } m m }
- {
- \int_step_inline:nn \c@iRow
- {
- \int_step_inline:nn \c@jCol
- {
- \int_if_even:nTF { ####1 + ##1 }
- { \@@_cellcolor [ #1 ] { #2 } }
- { \@@_cellcolor [ #1 ] { #3 } }
- { ##1 - ####1 }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_arraycolor| (linked to |\arraycolor| at the beginning of
-% the |\CodeBefore|) will color the whole tabular (excepted the potential
-% exterior rows and columns) and the cells in the ``corners''.
-% \begin{macrocode}
-\NewDocumentCommand \@@_arraycolor { O { } m }
- {
- \@@_rectanglecolor [ #1 ] { #2 }
- { 1 - 1 }
- { \int_use:N \c@iRow - \int_use:N \c@jCol }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rowcolors }
- {
- respect-blocks .bool_set:N = \l_@@_respect_blocks_bool ,
- respect-blocks .default:n = true ,
- cols .tl_set:N = \l_@@_cols_tl ,
- restart .bool_set:N = \l_@@_rowcolors_restart_bool ,
- restart .default:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~rowcolors }
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\rowcolors| (accessible in the |\CodeBefore|) is inspired by the
-% command |\rowcolors| of the package \pkg{xcolor} (with the option |table|).
-% However, the command |\rowcolors| of \pkg{nicematrix} has \emph{not} the
-% optional argument of the command |\rowcolors| of \pkg{xcolor}.
-%
-% Here is an example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
-%
-% In \pkg{nicematrix}, the commmand |\@@_rowcolors| appears as a special case of
-% |\@@_rowlistcolors|.
-%
-% |#1| (optional) is the color space;
-% |#2| is a list of intervals of rows;
-% |#3| is the list of colors;
-% |#4| is for the optional list of pairs \textsl{key=value}.
-% \begin{macrocode}
-\NewDocumentCommand \@@_rowlistcolors { O { } m m O { } }
- {
-% \end{macrocode}
-% The group is for the options. |\l_@@_colors_seq| will be the list of colors.
-% \begin{macrocode}
- \group_begin:
- \seq_clear_new:N \l_@@_colors_seq
- \seq_set_split:Nnn \l_@@_colors_seq { , } { #3 }
- \tl_clear_new:N \l_@@_cols_tl
- \cs_set_nopar:Npn \l_@@_cols_tl { - }
- \keys_set:nn { NiceMatrix / rowcolors } { #4 }
-% \end{macrocode}
-% The counter |\l_@@_color_int| will be the rank of the current color in the list of
-% colors (modulo the length of the list).
-% \begin{macrocode}
- \int_zero_new:N \l_@@_color_int
- \int_set_eq:NN \l_@@_color_int \c_one_int
- \bool_if:NT \l_@@_respect_blocks_bool
- {
-% \end{macrocode}
-% We don't want to take into account a block which is completely in the ``first
-% column'' (number~$0$) or in the ``last column'' and that's why we filter
-% the sequence of the blocks (in a the sequence |\l_tmpa_seq|).
-% \begin{macrocode}
- \seq_set_eq:NN \l_tmpb_seq \g_@@_pos_of_blocks_seq
- \seq_set_filter:NNn \l_tmpa_seq \l_tmpb_seq
- { \@@_not_in_exterior_p:nnnnn ##1 }
- }
- \pgfpicture
- \pgf@relevantforpicturesizefalse
-% \end{macrocode}
-% |#2| is the list of intervals of rows.
-% \begin{macrocode}
- \clist_map_inline:nn { #2 }
- {
- \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
- \tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
-% \end{macrocode}
-% Now, |l_tmpa_tl| and |l_tmpb_tl| are the first row and the last row of the
-% interval of rows that we have to treat. The counter |\l_tmpa_int| will be the
-% index of the loop over the rows.
-% \begin{macrocode}
- \int_set:Nn \l_tmpa_int \l_tmpa_tl
- \int_set:Nn \l_@@_color_int
- { \bool_if:NTF \l_@@_rowcolors_restart_bool 1 \l_tmpa_tl }
- \int_zero_new:N \l_@@_tmpc_int
- \int_set:Nn \l_@@_tmpc_int \l_tmpb_tl
- \int_do_until:nNnn \l_tmpa_int > \l_@@_tmpc_int
- {
-% \end{macrocode}
-% We will compute in |\l_tmpb_int| the last row of the ``block''.
-% \begin{macrocode}
- \int_set_eq:NN \l_tmpb_int \l_tmpa_int
-% \end{macrocode}
-% If the key |respect-blocks| is in force, we have to adjust that value (of
-% course).
-% \begin{macrocode}
- \bool_if:NT \l_@@_respect_blocks_bool
- {
- \seq_set_filter:NNn \l_tmpb_seq \l_tmpa_seq
- { \@@_intersect_our_row_p:nnnnn ####1 }
- \seq_map_inline:Nn \l_tmpb_seq { \@@_rowcolors_i:nnnnn ####1 }
-% \end{macrocode}
-% Now, the last row of the block is computed in |\l_tmpb_int|.
-% \begin{macrocode}
- }
- \tl_set:No \l_@@_rows_tl
- { \int_use:N \l_tmpa_int - \int_use:N \l_tmpb_int }
-% \end{macrocode}
-% |\l_@@_tmpc_tl| will be the color that we will use.
-% \begin{macrocode}
- \tl_clear_new:N \l_@@_color_tl
- \tl_set:Nx \l_@@_color_tl
- {
- \@@_color_index:n
- {
- \int_mod:nn
- { \l_@@_color_int - 1 }
- { \seq_count:N \l_@@_colors_seq }
- + 1
- }
- }
- \tl_if_empty:NF \l_@@_color_tl
- {
- \@@_add_to_colors_seq:ee
- { \tl_if_blank:nF { #1 } { [ #1 ] } { \l_@@_color_tl } }
- { \@@_cartesian_color:nn { \l_@@_rows_tl } { \l_@@_cols_tl } }
- }
- \int_incr:N \l_@@_color_int
- \int_set:Nn \l_tmpa_int { \l_tmpb_int + 1 }
- }
- }
- \endpgfpicture
- \group_end:
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\@@_color_index:n| peeks in |\l_@@_colors_seq| the color at the
-% index |#1|. However, if that color is the symbol |=|, the previous one is
-% poken. This macro is recursive.
-% \begin{macrocode}
-\cs_new:Npn \@@_color_index:n #1
- {
- \str_if_eq:eeTF { \seq_item:Nn \l_@@_colors_seq { #1 } } { = }
- { \@@_color_index:n { #1 - 1 } }
- { \seq_item:Nn \l_@@_colors_seq { #1 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\rowcolors| (available in the |\CodeBefore|) is a specialisation
-% of the more general command |\rowlistcolors|. The last argument, which is a
-% optional argument between square brackets is provided by curryfication.
-% \begin{macrocode}
-\NewDocumentCommand \@@_rowcolors { O { } m m m }
- { \@@_rowlistcolors [ #1 ] { #2 } { { #3 } , { #4 } } }
-% \end{macrocode}
-% The braces around |#3| and |#4| are mandatory.
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowcolors_i:nnnnn #1 #2 #3 #4 #5
- {
- \int_compare:nNnT { #3 } > \l_tmpb_int
- { \int_set:Nn \l_tmpb_int { #3 } }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_not_in_exterior:nnnnn p
- {
- \int_if_zero:nTF { #4 }
- \prg_return_false:
- {
- \int_compare:nNnTF { #2 } > \c@jCol
- \prg_return_false:
- \prg_return_true:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command return |true| when the block intersects the row
-% |\l_tmpa_int|.
-% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_intersect_our_row:nnnnn p
- {
- \int_compare:nNnTF { #1 } > \l_tmpa_int
- \prg_return_false:
- {
- \int_compare:nNnTF \l_tmpa_int > { #3 }
- \prg_return_false:
- \prg_return_true:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command uses two implicit arguments: |\l_@@_rows_tl| and
-% |\l_@@_cols_tl| which are specifications for a set of rows and a set of
-% columns. It creates a path but does \emph{not} fill it. It must be filled by
-% another command after. The argument is the radius of the corners. We define
-% below a command |\@@_cartesian_path:| which corresponds to a value $0$~pt for
-% the radius of the corners.
-%
-% This command is, in particular, used in |\@@_rectanglecolor:nnn| (used in
-% |\@@_rectanglecolor|, itself used in |\@@_cellcolor|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_path_normal:n #1
- {
- \dim_compare:nNnTF { #1 } = \c_zero_dim
- {
- \bool_if:NTF
- \@@_nocolor_used_bool
- \@@_cartesian_path_normal_ii:
- {
- \seq_if_empty:NTF \l_@@_corners_cells_seq
- { \@@_cartesian_path_normal_i:n { #1 } }
- \@@_cartesian_path_normal_ii:
- }
- }
- { \@@_cartesian_path_normal_i:n { #1 } }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% First, the situation where is a rectangular zone of cells will be colored as a
-% whole (in the instructions of the resulting \textsc{pdf}). The argument is the
-% radius of the corners.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_path_normal_i:n #1
- {
- \pgfsetcornersarced { \pgfpoint { #1 } { #1 } }
-% \end{macrocode}
-% We begin the loop over the columns.
-% \begin{macrocode}
- \clist_map_inline:Nn \l_@@_cols_tl
- {
- \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
- \tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
- \tl_if_empty:NTF \l_tmpa_tl
- { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
- {
- \tl_if_eq:NNT \l_tmpa_tl \c_@@_star_tl
- { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
- }
- \tl_if_empty:NTF \l_tmpb_tl
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
- {
- \tl_if_eq:NNT \l_tmpb_tl \c_@@_star_tl
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
- }
- \int_compare:nNnT \l_tmpb_tl > \g_@@_col_total_int
- { \tl_set:No \l_tmpb_tl { \int_use:N \g_@@_col_total_int } }
-% \end{macrocode}
-% |\l_@@_tmpc_tl| will contain the number of column.
-% \begin{macrocode}
- \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
- \@@_qpoint:n { col - \l_tmpa_tl }
- \int_compare:nNnTF \l_@@_first_col_int = \l_tmpa_tl
- { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
- \@@_qpoint:n { col - \int_eval:n { \l_tmpb_tl + 1 } }
- \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
-% \end{macrocode}
-% We begin the loop over the rows.
-% \begin{macrocode}
- \clist_map_inline:Nn \l_@@_rows_tl
- {
- \cs_set_nopar:Npn \l_tmpa_tl { ####1 }
- \tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ####1 \q_stop }
- { \@@_cut_on_hyphen:w ####1 - ####1 \q_stop }
- \tl_if_empty:NTF \l_tmpa_tl
- { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
- {
- \tl_if_eq:NNT \l_tmpa_tl \c_@@_star_tl
- { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
- }
- \tl_if_empty:NTF \l_tmpb_tl
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
- {
- \tl_if_eq:NNT \l_tmpb_tl \c_@@_star_tl
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
- }
- \int_compare:nNnT \l_tmpb_tl > \g_@@_row_total_int
- { \tl_set:No \l_tmpb_tl { \int_use:N \g_@@_row_total_int } }
-% \end{macrocode}
-% Now, the numbers of both rows are in |\l_tmpa_tl| and |\l_tmpb_tl|.
-% \begin{macrocode}
- \cs_if_exist:cF
- { @@ _ \l_tmpa_tl _ \l_@@_tmpc_tl _ nocolor }
- {
- \@@_qpoint:n { row - \int_eval:n { \l_tmpb_tl + 1 } }
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { row - \l_tmpa_tl }
- \dim_set:Nn \l_@@_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
- \pgfpathrectanglecorners
- { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
- { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% Now, the case where the cells will be colored cell by cell (it's mandatory for
-% example if the key |corners| is used).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_path_normal_ii:
- {
- \@@_expand_clist:NN \l_@@_cols_tl \c@jCol
- \@@_expand_clist:NN \l_@@_rows_tl \c@iRow
-% \end{macrocode}
-% We begin the loop over the columns.
-% \begin{macrocode}
- \clist_map_inline:Nn \l_@@_cols_tl
- {
- \@@_qpoint:n { col - ##1 }
- \int_compare:nNnTF \l_@@_first_col_int = { ##1 }
- { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
- \@@_qpoint:n { col - \int_eval:n { ##1 + 1 } }
- \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
-% \end{macrocode}
-% We begin the loop over the rows.
-% \begin{macrocode}
- \clist_map_inline:Nn \l_@@_rows_tl
- {
- \seq_if_in:NnF \l_@@_corners_cells_seq
- { ####1 - ##1 }
- {
- \@@_qpoint:n { row - \int_eval:n { ####1 + 1 } }
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { row - ####1 }
- \dim_set:Nn \l_@@_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
- \cs_if_exist:cF
- { @@ _ ####1 _ ##1 _ nocolor }
- {
- \pgfpathrectanglecorners
- { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
- { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The following command corresponds to a radius of the corners equal to $0$~pt.
-% This command is used by the commands |\@@_rowcolors|, |\@@_columncolor| and
-% |\@@_rowcolor:n| (used in |\@@_rowcolor|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_path: { \@@_cartesian_path:n \c_zero_dim }
-% \end{macrocode}
-%
-%
-% \bigskip
-% Despite its name, the following command does not create a PGF path. It
-% declares as colored by the ``empty color'' all the cells in what would be the
-% path. Hence, the other coloring instructions of \pkg{nicematrix} won't put
-% color in those cells.
-% the
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_cartesian_path_nocolor:n #1
- {
- \bool_set_true:N \@@_nocolor_used_bool
- \@@_expand_clist:NN \l_@@_cols_tl \c@jCol
- \@@_expand_clist:NN \l_@@_rows_tl \c@iRow
-% \end{macrocode}
-% We begin the loop over the columns.
-% \begin{macrocode}
- \clist_map_inline:Nn \l_@@_rows_tl
- {
- \clist_map_inline:Nn \l_@@_cols_tl
- { \cs_set:cpn { @@ _ ##1 _ ####1 _ nocolor } { } }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command will be used only with |\l_@@_cols_tl| and |\c@jCol| (first
-% case) or with |\l_@@_rows_tl| and |\c@iRow| (second case). For instance, with
-% |\l_@@_cols_tl| equal to |2,4-6,8-*| and |\c@jCol| equal to |10|, the clist
-% |\l_@@_cols_tl| will be replaced by |2,4,5,6,8,9,10|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_expand_clist:NN #1 #2
- {
- \clist_set_eq:NN \l_tmpa_clist #1
- \clist_clear:N #1
- \clist_map_inline:Nn \l_tmpa_clist
- {
- \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
- \tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
- \bool_lazy_or:nnT
- { \tl_if_blank_p:o \l_tmpa_tl }
- { \str_if_eq_p:on \l_tmpa_tl { * } }
- { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
- \bool_lazy_or:nnT
- { \tl_if_blank_p:o \l_tmpb_tl }
- { \str_if_eq_p:on \l_tmpb_tl { * } }
- { \tl_set:No \l_tmpb_tl { \int_use:N #2 } }
- \int_compare:nNnT \l_tmpb_tl > #2
- { \tl_set:No \l_tmpb_tl { \int_use:N #2 } }
- \int_step_inline:nnn \l_tmpa_tl \l_tmpb_tl
- { \clist_put_right:Nn #1 { ####1 } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% When the user uses the key |color-inside|, the following command will
-% be linked to |\cellcolor| in the tabular.
-% \begin{macrocode}
-\NewDocumentCommand \@@_cellcolor_tabular { O { } m }
- {
- \@@_test_color_inside:
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
-% \end{macrocode}
-% We must not expand the color (|#2|) because the color may contain the token
-% |!| which may be activated by some packages (ex.: \pkg{babel} with the option
-% |french| on latex and pdflatex).
-% \begin{macrocode}
- \@@_cellcolor [ #1 ] { \exp_not:n { #2 } }
- { \int_use:N \c@iRow - \int_use:N \c@jCol }
- }
- \ignorespaces
- }
-% \end{macrocode}
-%
-% \bigskip
-% When the user uses the key |color-inside|, the following command will
-% be linked to |\rowcolor| in the tabular.
-% \begin{macrocode}
-\NewDocumentCommand \@@_rowcolor_tabular { O { } m }
- {
- \@@_test_color_inside:
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
- \@@_rectanglecolor [ #1 ] { \exp_not:n { #2 } }
- { \int_use:N \c@iRow - \int_use:N \c@jCol }
- { \int_use:N \c@iRow - \exp_not:n { \int_use:N \c@jCol } }
- }
- \ignorespaces
- }
-% \end{macrocode}
-%
-% \bigskip
-% When the user uses the key |color-inside|, the following command will
-% be linked to |\rowcolors| in the tabular. The last argument (an optional
-% argument between square brackets is taken by curryfication).
-% \begin{macrocode}
-\NewDocumentCommand { \@@_rowcolors_tabular } { O { } m m }
- { \@@_rowlistcolors_tabular [ #1 ] { { #2 } , { #3 } } }
-% \end{macrocode}
-% The braces around |#2| and |#3| are mandatory.
-%
-% \bigskip
-% When the user uses the key |color-inside|, the following command will
-% be linked to |\rowlistcolors| in the tabular.
-% \begin{macrocode}
-\NewDocumentCommand { \@@_rowlistcolors_tabular } { O { } m O { } }
- {
- \@@_test_color_inside:
- \peek_remove_spaces:n
- { \@@_rowlistcolors_tabular:nnn { #1 } { #2 } { #3 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowlistcolors_tabular:nnn #1 #2 #3
- {
-% \end{macrocode}
-% A use of |\rowlistcolors| in the tabular erases the instructions
-% |\rowlistcolors| which are in force. However, it's possible to put \emph{several}
-% instructions |\rowlistcolors| in the same row of a tabular: it may be useful
-% when those instructions |\rowlistcolors| concerns different columns of the
-% tabular (thanks to the key |cols| of |\rowlistcolors|). That's why we store
-% the different instructions |\rowlistcolors| which are in force in a sequence
-% |\g_@@_rowlistcolors_seq|. Now, we will filter that sequence to keep only the
-% elements which have been issued on the actual row. We will store the elements
-% to keep in the |\g_tmpa_seq|.
-% \begin{macrocode}
- \seq_gclear:N \g_tmpa_seq
- \seq_map_inline:Nn \g_@@_rowlistcolors_seq
- { \@@_rowlistcolors_tabular_i:nnnn ##1 }
- \seq_gset_eq:NN \g_@@_rowlistcolors_seq \g_tmpa_seq
-% \end{macrocode}
-% Now, we add to the sequence |\g_@@_rowlistcolors_seq| (which is the list of
-% the commands |\rowlistcolors| which are in force) the current instruction
-% |\rowlistcolors|.
-% \begin{macrocode}
- \seq_gput_right:Nx \g_@@_rowlistcolors_seq
- {
- { \int_use:N \c@iRow }
- { \exp_not:n { #1 } }
- { \exp_not:n { #2 } }
- { restart , cols = \int_use:N \c@jCol - , \exp_not:n { #3 } }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command will be applied to each component of
-% |\g_@@_rowlistcolors_seq|. Each component of that sequence is a kind of 4-uple
-% of the form |{#1}{#2}{#3}{#4}|.
-%
-% |#1| is the number of the row where the command |\rowlistcolors| has been
-% issued.
-%
-% |#2| is the colorimetric space (optional argument of the |\rowlistcolors|).
-%
-% |#3| is the list of colors (mandatory argument of |\rowlistcolors|).
-%
-% |#4| is the list of \textsl{key=value} pairs (last optional argument of
-% |\rowlistcolors|).
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowlistcolors_tabular_i:nnnn #1 #2 #3 #4
- {
- \int_compare:nNnTF { #1 } = \c@iRow
-% \end{macrocode}
-% We (temporary) keep in memory in |\g_tmpa_seq| the instructions which will
-% still be in force after the current instruction (because they have been issued
-% in the same row of the tabular).
-% \begin{macrocode}
- { \seq_gput_right:Nn \g_tmpa_seq { { #1 } { #2 } { #3 } { #4 } } }
- {
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
- \@@_rowlistcolors
- [ \exp_not:n { #2 } ]
- { #1 - \int_eval:n { \c@iRow - 1 } }
- { \exp_not:n { #3 } }
- [ \exp_not:n { #4 } ]
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be used at the end of the tabular, just before the
-% execution of the |\g_@@_pre_code_before_tl|. It clears the sequence
-% |\g_@@_rowlistcolors_seq| of all the commands |\rowlistcolors| which are
-% (still) in force.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_clear_rowlistcolors_seq:
- {
- \seq_map_inline:Nn \g_@@_rowlistcolors_seq
- { \@@_rowlistcolors_tabular_ii:nnnn ##1 }
- \seq_gclear:N \g_@@_rowlistcolors_seq
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowlistcolors_tabular_ii:nnnn #1 #2 #3 #4
- {
- \tl_gput_right:Nn \g_@@_pre_code_before_tl
- { \@@_rowlistcolors [ #2 ] { #1 } { #3 } [ #4 ] }
- }
-% \end{macrocode}
-% The first mandatory argument of the command |\@@_rowlistcolors| which is
-% writtent in the pre-|\CodeBefore| is of the form |i|: it means that the
-% command must be applied to all the rows from the row~$i$ until the end of the
-% tabular.
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentCommand \@@_columncolor_preamble { O { } m }
- {
-% \end{macrocode}
-% With the following line, we test whether the cell is the first one we
-% encounter in its column (don't forget that some rows may be incomplete).
-% \begin{macrocode}
- \int_compare:nNnT \c@jCol > \g_@@_col_total_int
- {
-% \end{macrocode}
-% You use |gput_left| because we want the specification of colors for the
-% columns drawn before the specifications of color for the rows (and the cells).
-% Be careful: maybe this is not effective since we have an analyze of the
-% instructions in the |\CodeBefore| in order to fill color by color (to avoid
-% the thin white lines).
-% \begin{macrocode}
- \tl_gput_left:Nx \g_@@_pre_code_before_tl
- {
- \exp_not:N \columncolor [ #1 ]
- { \exp_not:n { #2 } } { \int_use:N \c@jCol }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- {
- \cs_set_eq:NN \@@_old_cellcolor \cellcolor
- \cs_set_eq:NN \@@_old_rowcolor \rowcolor
- \cs_new_protected:Npn \@@_revert_colortbl:
- {
- \hook_gput_code:nnn { env / tabular / begin } { . }
- {
- \cs_set_eq:NN \cellcolor \@@_old_cellcolor
- \cs_set_eq:NN \rowcolor \@@_old_rowcolor
- }
- }
- }
- { \cs_new_protected:Npn \@@_revert_colortbl: { } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The vertical and horizontal rules}
-%
-%
-% \bigskip
-% \subsubsection*{OnlyMainNiceMatrix}
-%
-% We give to the user the possibility to define new types of columns (with
-% |\newcolumntype| of \pkg{array}) for special vertical rules (\emph{e.g.} rules
-% thicker than the standard ones) which will not extend in the potential
-% exterior rows of the array.
-%
-% We provide the command |\OnlyMainNiceMatrix| in that goal. However, that
-% command must be no-op outside the environments of \pkg{nicematrix} (and so the
-% user will be allowed to use the same new type of column in the environments
-% of \pkg{nicematrix} and in the standard environments of \pkg{array}).
-%
-% That's why we provide first a global definition of |\OnlyMainNiceMatrix|.
-% \begin{macrocode}
-\cs_set_eq:NN \OnlyMainNiceMatrix \use:n
-% \end{macrocode}
-%
-% \medskip
-% Another definition of |\OnlyMainNiceMatrix| will be linked to the command in
-% the environments of \pkg{nicematrix}. Here is that definition, called
-% |\@@_OnlyMainNiceMatrix:n|.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_OnlyMainNiceMatrix:n #1
- {
- \int_if_zero:nTF \l_@@_first_col_int
- { \@@_OnlyMainNiceMatrix_i:n { #1 } }
- {
- \int_if_zero:nTF \c@jCol
- {
- \int_compare:nNnF \c@iRow = { -1 }
- { \int_compare:nNnF \c@iRow = { \l_@@_last_row_int - 1 } { #1 } }
- }
- { \@@_OnlyMainNiceMatrix_i:n { #1 } }
- }
- }
-% \end{macrocode}
-% This definition may seem complicated but we must remind that the number of row
-% |\c@iRow| is incremented in the first cell of the row, \emph{after} a
-% potential vertical rule on the left side of the first cell.
-%
-% \smallskip
-% The command |\@@_OnlyMainNiceMatrix_i:n| is only a short-cut which is used
-% twice in the above command. This command must \emph{not} be protected.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_OnlyMainNiceMatrix_i:n #1
- {
- \int_if_zero:nF \c@iRow
- {
- \int_compare:nNnF \c@iRow = \l_@@_last_row_int
- {
- \int_compare:nNnT \c@jCol > \c_zero_int
- { \bool_if:NF \l_@@_in_last_col_bool { #1 } }
- }
- }
- }
-% \end{macrocode}
-% Remember that |\c@iRow| is not always inferior to |\l_@@_last_row_int| because
-% |\l_@@_last_row_int| may be equal to $-2$ or $-1$ (we can't write
-% |\int_compare:nNnT \c@iRow < \l_@@_last_row_int|).
-%
-%
-% \bigskip
-% \subsubsection*{General system for drawing rules}
-%
-% When a command, environment or ``subsystem'' of \pkg{nicematrix} wants to draw
-% a rule, it will write in the internal |\CodeAfter| a command |\@@_vline:n| or
-% |\@@_hline:n|. Both commands take in as argument a list of \textsl{key=value}
-% pairs. That list will first be analyzed with the following set of keys.
-% However, unknown keys will be analyzed further with another set of keys.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Rules }
- {
- position .int_set:N = \l_@@_position_int ,
- position .value_required:n = true ,
- start .int_set:N = \l_@@_start_int ,
- end .code:n =
- \bool_lazy_or:nnTF
- { \tl_if_empty_p:n { #1 } }
- { \str_if_eq_p:nn { #1 } { last } }
- { \int_set_eq:NN \l_@@_end_int \c@jCol }
- { \int_set:Nn \l_@@_end_int { #1 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% It's possible that the rule won't be drawn continuously from |start| ot |end|
-% because of the blocks (created with the command |\Block|), the virtual blocks
-% (created by |\Cdots|, etc.), etc. That's why an analyse is done and the rule
-% is cut in small rules which will actually be drawn. The small continuous rules
-% will be drawn by |\@@_vline_ii:| and |\@@_hline_ii:|. Those commands use the
-% following set of keys.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / RulesBis }
- {
- multiplicity .int_set:N = \l_@@_multiplicity_int ,
- multiplicity .initial:n = 1 ,
- dotted .bool_set:N = \l_@@_dotted_bool ,
- dotted .initial:n = false ,
- dotted .default:n = true ,
-% \end{macrocode}
-% We want that, even when the rule has been defined with TikZ by the key |tikz|,
-% the user has still the possibility to change the color of the rule with the key
-% |color| (in the command |\Hline|, not in the key |tikz| of the command
-% |\Hline|). The main use is, when the user has defined its own command
-% |\MyDashedLine| by |\newcommand{\MyDashedRule}{\Hline[tikz=dashed]}|, to give
-% the ability to write |\MyDashedRule[color=red]|.
-% \begin{macrocode}
- color .code:n =
- \@@_set_CT@arc@:n { #1 }
- \tl_set:Nn \l_@@_rule_color_tl { #1 } ,
- color .value_required:n = true ,
- sep-color .code:n = \@@_set_CT@drsc@:n { #1 } ,
- sep-color .value_required:n = true ,
-% \end{macrocode}
-% If the user uses the key |tikz|, the rule (or more precisely: the different
-% sub-rules since a rule may be broken by blocks or others) will be drawn with
-% Tikz.
-% \begin{macrocode}
- tikz .code:n =
- \IfPackageLoadedTF { tikz }
- { \clist_put_right:Nn \l_@@_tikz_rule_tl { #1 } }
- { \@@_error:n { tikz~without~tikz } } ,
- tikz .value_required:n = true ,
- total-width .dim_set:N = \l_@@_rule_width_dim ,
- total-width .value_required:n = true ,
- width .meta:n = { total-width = #1 } ,
- unknown .code:n = \@@_error:n { Unknow~key~for~RulesBis }
- }
-% \end{macrocode}
-%
-%
-% \subsubsection*{The vertical rules}
-%
-% The following command will be executed in the internal |\CodeAfter|. The
-% argument |#1| is a list of \textsl{key=value} pairs.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline:n #1
- {
-% \end{macrocode}
-% The group is for the options.
-% \begin{macrocode}
- \group_begin:
- \int_set_eq:NN \l_@@_end_int \c@iRow
- \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
-% \end{macrocode}
-% The following test is for the case where the user does not use all the columns
-% specified in the preamble of the environment (for instance, a preamble of
-% \verb+|c|c|c|+ but only two columns used).
-% \begin{macrocode}
- \int_compare:nNnT \l_@@_position_int < { \c@jCol + 2 }
- \@@_vline_i:
- \group_end:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline_i:
- {
-% \end{macrocode}
-% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When
-% we have found a row corresponding to a rule to draw, we note its number in
-% |\l_@@_tmpc_tl|.
-% \begin{macrocode}
- \tl_set:No \l_tmpb_tl { \int_use:N \l_@@_position_int }
- \int_step_variable:nnNn \l_@@_start_int \l_@@_end_int
- \l_tmpa_tl
- {
-% \end{macrocode}
-% The boolean |\g_tmpa_bool| indicates whether the small vertical rule will be
-% drawn. If we find that it is in a block (a real block, created by |\Block| or
-% a virtual block corresponding to a dotted line, created by |\Cdots|, |\Vdots|,
-% etc.), we will set |\g_tmpa_bool| to |false| and the small vertical rule won't
-% be drawn.
-% \begin{macrocode}
- \bool_gset_true:N \g_tmpa_bool
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_test_vline_in_block:nnnnn ##1 }
- \seq_map_inline:Nn \g_@@_pos_of_xdots_seq
- { \@@_test_vline_in_block:nnnnn ##1 }
- \seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
- { \@@_test_vline_in_stroken_block:nnnn ##1 }
- \clist_if_empty:NF \l_@@_corners_clist \@@_test_in_corner_v:
- \bool_if:NTF \g_tmpa_bool
- {
- \int_if_zero:nT \l_@@_local_start_int
-% \end{macrocode}
-% We keep in memory that we have a rule to draw. |\l_@@_local_start_int| will be
-% the starting row of the rule that we will have to draw.
-% \begin{macrocode}
- { \int_set:Nn \l_@@_local_start_int \l_tmpa_tl }
- }
- {
- \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
- {
- \int_set:Nn \l_@@_local_end_int { \l_tmpa_tl - 1 }
- \@@_vline_ii:
- \int_zero:N \l_@@_local_start_int
- }
- }
- }
- \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
- {
- \int_set_eq:NN \l_@@_local_end_int \l_@@_end_int
- \@@_vline_ii:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_in_corner_v:
- {
- \int_compare:nNnTF \l_tmpb_tl = { \int_eval:n { \c@jCol + 1 } }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \l_tmpa_tl - \int_eval:n { \l_tmpb_tl - 1 } }
- { \bool_set_false:N \g_tmpa_bool }
- }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \l_tmpa_tl - \l_tmpb_tl }
- {
- \int_compare:nNnTF \l_tmpb_tl = \c_one_int
- { \bool_set_false:N \g_tmpa_bool }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \l_tmpa_tl - \int_eval:n { \l_tmpb_tl - 1 } }
- { \bool_set_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline_ii:
- {
- \tl_clear:N \l_@@_tikz_rule_tl
- \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
- \bool_if:NTF \l_@@_dotted_bool
- \@@_vline_iv:
- {
- \tl_if_empty:NTF \l_@@_tikz_rule_tl
- \@@_vline_iii:
- \@@_vline_v:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% First the case of a standard rule: the user has not used the key |dotted| nor
-% the key |tikz|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline_iii:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_tmpb_dim
- {
- \pgf@x
- - 0.5 \l_@@_rule_width_dim
- +
- ( \arrayrulewidth * \l_@@_multiplicity_int
- + \doublerulesep * ( \l_@@_multiplicity_int - 1 ) ) / 2
- }
- \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
- \bool_lazy_all:nT
- {
- { \int_compare_p:nNn \l_@@_multiplicity_int > \c_one_int }
- { \cs_if_exist_p:N \CT@drsc@ }
- { ! \tl_if_blank_p:o \CT@drsc@ }
- }
- {
- \group_begin:
- \CT@drsc@
- \dim_add:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
- \dim_sub:Nn \l_@@_tmpc_dim { 0.5 \arrayrulewidth }
- \dim_set:Nn \l_@@_tmpd_dim
- {
- \l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
- * ( \l_@@_multiplicity_int - 1 )
- }
- \pgfpathrectanglecorners
- { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- { \pgfpoint \l_@@_tmpd_dim \l_@@_tmpc_dim }
- \pgfusepath { fill }
- \group_end:
- }
- \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
- \prg_replicate:nn { \l_@@_multiplicity_int - 1 }
- {
- \dim_sub:Nn \l_tmpb_dim \arrayrulewidth
- \dim_sub:Nn \l_tmpb_dim \doublerulesep
- \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
- }
- \CT@arc@
- \pgfsetlinewidth { 1.1 \arrayrulewidth }
- \pgfsetrectcap
- \pgfusepathqstroke
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following code is for the case of a dotted rule (with our system of
-% rounded dots).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline_iv:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_@@_x_initial_dim { \pgf@x - 0.5 \l_@@_rule_width_dim }
- \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
- \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
- \CT@arc@
- \@@_draw_line:
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following code is for the case when the user uses the key |tikz|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vline_v:
- {
- \begin {tikzpicture }
- % added 2023/09/25
-% \end{macrocode}
-% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
-% used, but it's still possible to change the color by using the key |color| or,
-% of course, the key |color| inside the key |tikz| (that is to say the key
-% |color| provided by \textsc{pgf}.
-% \begin{macrocode}
- \CT@arc@
- \tl_if_empty:NF \l_@@_rule_color_tl
- { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_tmpb_dim { \pgf@x - 0.5 \l_@@_rule_width_dim }
- \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
- \exp_args:No \tikzset \l_@@_tikz_rule_tl
- \use:e { \exp_not:N \draw [ \l_@@_tikz_rule_tl ] }
- ( \l_tmpb_dim , \l_tmpa_dim ) --
- ( \l_tmpb_dim , \l_@@_tmpc_dim ) ;
- \end { tikzpicture }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The command |\@@_draw_vlines:| draws all the vertical rules excepted in the
-% blocks, in the virtual blocks (determined by a command such as |\Cdots|) and in
-% the corners (if the key |corners| is used).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_vlines:
- {
- \int_step_inline:nnn
- { \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool 2 1 }
- {
- \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool
- \c@jCol
- { \int_eval:n { \c@jCol + 1 } }
- }
- {
- \tl_if_eq:NNF \l_@@_vlines_clist \c_@@_all_tl
- { \clist_if_in:NnT \l_@@_vlines_clist { ##1 } }
- { \@@_vline:n { position = ##1 , total-width = \arrayrulewidth } }
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \subsubsection*{The horizontal rules}
-%
-% \bigskip
-% The following command will be executed in the internal |\CodeAfter|. The
-% argument |#1| is a list of \textsl{key=value} pairs of the form
-% |{NiceMatrix/Rules}|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline:n #1
- {
-% \end{macrocode}
-% The group is for the options.
-% \begin{macrocode}
- \group_begin:
- \int_zero_new:N \l_@@_end_int
- \int_set_eq:NN \l_@@_end_int \c@jCol
- \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
- \@@_hline_i:
- \group_end:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline_i:
- {
- \int_zero_new:N \l_@@_local_start_int
- \int_zero_new:N \l_@@_local_end_int
-% \end{macrocode}
-% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When
-% we have found a column corresponding to a rule to draw, we note its number in
-% |\l_@@_tmpc_tl|.
-% \begin{macrocode}
- \tl_set:No \l_tmpa_tl { \int_use:N \l_@@_position_int }
- \int_step_variable:nnNn \l_@@_start_int \l_@@_end_int
- \l_tmpb_tl
- {
-% \end{macrocode}
-% The boolean |\g_tmpa_bool| indicates whether the small horizontal rule will be
-% drawn. If we find that it is in a block (a real block, created by |\Block| or
-% a virtual block corresponding to a dotted line, created by |\Cdots|, |\Vdots|,
-% etc.), we will set |\g_tmpa_bool| to |false| and the small horizontal rule won't
-% be drawn.
-% \begin{macrocode}
- \bool_gset_true:N \g_tmpa_bool
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_test_hline_in_block:nnnnn ##1 }
- \seq_map_inline:Nn \g_@@_pos_of_xdots_seq
- { \@@_test_hline_in_block:nnnnn ##1 }
- \seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
- { \@@_test_hline_in_stroken_block:nnnn ##1 }
- \clist_if_empty:NF \l_@@_corners_clist \@@_test_in_corner_h:
- \bool_if:NTF \g_tmpa_bool
- {
- \int_if_zero:nT \l_@@_local_start_int
-% \end{macrocode}
-% We keep in memory that we have a rule to draw. |\l_@@_local_start_int| will be
-% the starting row of the rule that we will have to draw.
-% \begin{macrocode}
- { \int_set:Nn \l_@@_local_start_int \l_tmpb_tl }
- }
- {
- \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
- {
- \int_set:Nn \l_@@_local_end_int { \l_tmpb_tl - 1 }
- \@@_hline_ii:
- \int_zero:N \l_@@_local_start_int
- }
- }
- }
- \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
- {
- \int_set_eq:NN \l_@@_local_end_int \l_@@_end_int
- \@@_hline_ii:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_in_corner_h:
- {
- \int_compare:nNnTF \l_tmpa_tl = { \int_eval:n { \c@iRow + 1 } }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \int_eval:n { \l_tmpa_tl - 1 } - \l_tmpb_tl }
- { \bool_set_false:N \g_tmpa_bool }
- }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \l_tmpa_tl - \l_tmpb_tl }
- {
- \int_compare:nNnTF \l_tmpa_tl = \c_one_int
- { \bool_set_false:N \g_tmpa_bool }
- {
- \seq_if_in:NxT
- \l_@@_corners_cells_seq
- { \int_eval:n { \l_tmpa_tl - 1 } - \l_tmpb_tl }
- { \bool_set_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline_ii:
- {
- \tl_clear:N \l_@@_tikz_rule_tl
- \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
- \bool_if:NTF \l_@@_dotted_bool
- \@@_hline_iv:
- {
- \tl_if_empty:NTF \l_@@_tikz_rule_tl
- \@@_hline_iii:
- \@@_hline_v:
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% First the case of a standard rule (without the keys |dotted| and |tikz|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline_iii:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_tmpb_dim
- {
- \pgf@y
- - 0.5 \l_@@_rule_width_dim
- +
- ( \arrayrulewidth * \l_@@_multiplicity_int
- + \doublerulesep * ( \l_@@_multiplicity_int - 1 ) ) / 2
- }
- \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
- \bool_lazy_all:nT
- {
- { \int_compare_p:nNn \l_@@_multiplicity_int > \c_one_int }
- { \cs_if_exist_p:N \CT@drsc@ }
- { ! \tl_if_blank_p:o \CT@drsc@ }
- }
- {
- \group_begin:
- \CT@drsc@
- \dim_set:Nn \l_@@_tmpd_dim
- {
- \l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
- * ( \l_@@_multiplicity_int - 1 )
- }
- \pgfpathrectanglecorners
- { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
- \pgfusepathqfill
- \group_end:
- }
- \pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
- \prg_replicate:nn { \l_@@_multiplicity_int - 1 }
- {
- \dim_sub:Nn \l_tmpb_dim \arrayrulewidth
- \dim_sub:Nn \l_tmpb_dim \doublerulesep
- \pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
- }
- \CT@arc@
- \pgfsetlinewidth { 1.1 \arrayrulewidth }
- \pgfsetrectcap
- \pgfusepathqstroke
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following code is for the case of a dotted rule (with our system of
-% rounded dots).
-% The aim is that, by standard the dotted line fits between square brackets
-% (|\hline| doesn't).
-%
-% \smallskip
-% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
-% \begin{bNiceMatrix}
-% 1 & 2 & 3 & 4 \\
-% \hline
-% 1 & 2 & 3 & 4 \\
-% \hdottedline
-% 1 & 2 & 3 & 4
-% \end{bNiceMatrix}
-% \end{BVerbatim}
-% $\begin{bNiceMatrix}
-% 1 & 2 & 3 & 4 \\
-% \hline
-% 1 & 2 & 3 & 4 \\
-% \hdottedline
-% 1 & 2 & 3 & 4
-% \end{bNiceMatrix}$
-%
-% \smallskip
-% But, if the user uses |margin|, the dotted line extends to have the same width
-% as a |\hline|.
-%
-% \smallskip
-% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
-% \begin{bNiceMatrix}[margin]
-% 1 & 2 & 3 & 4 \\
-% \hline
-% 1 & 2 & 3 & 4 \\
-% \hdottedline
-% 1 & 2 & 3 & 4
-% \end{bNiceMatrix}
-% \end{BVerbatim}
-% $\begin{bNiceMatrix}[margin]
-% 1 & 2 & 3 & 4 \\
-% \hline
-% 1 & 2 & 3 & 4 \\
-% \hdottedline
-% 1 & 2 & 3 & 4
-% \end{bNiceMatrix}$
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline_iv:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_@@_y_initial_dim { \pgf@y - 0.5 \l_@@_rule_width_dim }
- \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim
- \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- \int_compare:nNnT \l_@@_local_start_int = \c_one_int
- {
- \dim_sub:Nn \l_@@_x_initial_dim \l_@@_left_margin_dim
- \bool_if:NF \g_@@_delims_bool
- { \dim_sub:Nn \l_@@_x_initial_dim \arraycolsep }
-% \end{macrocode}
-% For reasons purely aesthetic, we do an adjustment in the case of a rounded
-% bracket. The correction by |0.5 \l_@@_xdots_inter_dim| is \emph{ad hoc} for a
-% better result.
-% \begin{macrocode}
- \tl_if_eq:NnF \g_@@_left_delim_tl (
- { \dim_add:Nn \l_@@_x_initial_dim { 0.5 \l_@@_xdots_inter_dim } }
- }
- \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- \int_compare:nNnT \l_@@_local_end_int = \c@jCol
- {
- \dim_add:Nn \l_@@_x_final_dim \l_@@_right_margin_dim
- \bool_if:NF \g_@@_delims_bool
- { \dim_add:Nn \l_@@_x_final_dim \arraycolsep }
- \tl_if_eq:NnF \g_@@_right_delim_tl )
- { \dim_gsub:Nn \l_@@_x_final_dim { 0.5 \l_@@_xdots_inter_dim } }
- }
- \CT@arc@
- \@@_draw_line:
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following code is for the case when the user uses the key |tikz| (in the
-% definition of a customized rule by using the key |custom-line|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_hline_v:
- {
- \begin { tikzpicture }
- % added 2023/09/25
-% \end{macrocode}
-% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
-% used, but it's still possible to change the color by using the key |color| or,
-% of course, the key |color| inside the key |tikz| (that is to say the key
-% |color| provided by \textsc{pgf}.
-% \begin{macrocode}
- \CT@arc@
- \tl_if_empty:NF \l_@@_rule_color_tl
- { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
- \dim_set_eq:NN \l_tmpa_dim \pgf@x
- \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
- \dim_set:Nn \l_tmpb_dim { \pgf@y - 0.5 \l_@@_rule_width_dim }
- \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
- \exp_args:No \tikzset \l_@@_tikz_rule_tl
- \use:e { \exp_not:N \draw [ \l_@@_tikz_rule_tl ] }
- ( \l_tmpa_dim , \l_tmpb_dim ) --
- ( \l_@@_tmpc_dim , \l_tmpb_dim ) ;
- \end { tikzpicture }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The command |\@@_draw_hlines:| draws all the horizontal rules excepted in the
-% blocks (even the virtual blocks determined by commands such as |\Cdots| and in
-% the corners --- if the key |corners| is used).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_hlines:
- {
- \int_step_inline:nnn
- { \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool 2 1 }
- {
- \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool
- \c@iRow
- { \int_eval:n { \c@iRow + 1 } }
- }
- {
- \tl_if_eq:NNF \l_@@_hlines_clist \c_@@_all_tl
- { \clist_if_in:NnT \l_@@_hlines_clist { ##1 } }
- { \@@_hline:n { position = ##1 , total-width = \arrayrulewidth } }
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The command |\@@_Hline:| will be linked to |\Hline| in the environments of
-% \pkg{nicematrix}.
-% \begin{macrocode}
-\cs_set:Npn \@@_Hline: { \noalign \bgroup \@@_Hline_i:n { 1 } }
-% \end{macrocode}
-%
-% \medskip
-% The argument of the command |\@@_Hline_i:n| is the number of successive
-% |\Hline| found.
-% \begin{macrocode}
-\cs_set:Npn \@@_Hline_i:n #1
- {
- \peek_remove_spaces:n
- {
- \peek_meaning:NTF \Hline
- { \@@_Hline_ii:nn { #1 + 1 } }
- { \@@_Hline_iii:n { #1 } }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_set:Npn \@@_Hline_ii:nn #1 #2 { \@@_Hline_i:n { #1 } }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_set:Npn \@@_Hline_iii:n #1
- { \@@_collect_options:n { \@@_Hline_iv:nn { #1 } } }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_set:Npn \@@_Hline_iv:nn #1 #2
- {
- \@@_compute_rule_width:n { multiplicity = #1 , #2 }
- \skip_vertical:N \l_@@_rule_width_dim
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_hline:n
- {
- multiplicity = #1 ,
- position = \int_eval:n { \c@iRow + 1 } ,
- total-width = \dim_use:N \l_@@_rule_width_dim ,
- #2
- }
- }
- \egroup
- }
-% \end{macrocode}
-%
-% \subsubsection*{Customized rules defined by the final user}
-%
-% The final user can define a customized rule by using the key |custom-line| in
-% |\NiceMatrixOptions|. That key takes in as value a list of \textsl{key=value}
-% pairs.
-%
-%
-%
-% \medskip
-% The following command will create the customized rule (it is executed when the
-% final user uses the key |custom-line|, for example in |\NiceMatrixOptions|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_custom_line:n #1
- {
- \str_clear_new:N \l_@@_command_str
- \str_clear_new:N \l_@@_ccommand_str
- \str_clear_new:N \l_@@_letter_str
- \tl_clear_new:N \l_@@_other_keys_tl
- \keys_set_known:nnN { NiceMatrix / custom-line } { #1 } \l_@@_other_keys_tl
-% \end{macrocode}
-% If the final user only wants to draw horizontal rules, he does not need to
-% specify a letter (for the vertical rules in the preamble of the array). On the
-% other hand, if he only wants to draw vertical rules, he does not need to
-% define a command (which is the tool to draw horizontal rules in the array). Of
-% course, a definition of custom lines with no letter and no command would be point-less.
-%
-% \begin{macrocode}
- \bool_lazy_all:nTF
- {
- { \str_if_empty_p:N \l_@@_letter_str }
- { \str_if_empty_p:N \l_@@_command_str }
- { \str_if_empty_p:N \l_@@_ccommand_str }
- }
- { \@@_error:n { No~letter~and~no~command } }
- { \exp_args:No \@@_custom_line_i:n \l_@@_other_keys_tl }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line }
- {
- letter .str_set:N = \l_@@_letter_str ,
- letter .value_required:n = true ,
- command .str_set:N = \l_@@_command_str ,
- command .value_required:n = true ,
- ccommand .str_set:N = \l_@@_ccommand_str ,
- ccommand .value_required:n = true ,
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_custom_line_i:n #1
- {
-% \end{macrocode}
-% The following flags will be raised when the keys |tikz|, |dotted| and |color|
-% are used (in the |custom-line|).
-% \begin{macrocode}
- \bool_set_false:N \l_@@_tikz_rule_bool
- \bool_set_false:N \l_@@_dotted_rule_bool
- \bool_set_false:N \l_@@_color_bool
-% \end{macrocode}
-% \begin{macrocode}
- \keys_set:nn { NiceMatrix / custom-line-bis } { #1 }
- \bool_if:NT \l_@@_tikz_rule_bool
- {
- \IfPackageLoadedTF { tikz }
- { }
- { \@@_error:n { tikz~in~custom-line~without~tikz } }
- \bool_if:NT \l_@@_color_bool
- { \@@_error:n { color~in~custom-line~with~tikz } }
- }
- \bool_if:NT \l_@@_dotted_rule_bool
- {
- \int_compare:nNnT \l_@@_multiplicity_int > \c_one_int
- { \@@_error:n { key~multiplicity~with~dotted } }
- }
- \str_if_empty:NF \l_@@_letter_str
- {
- \int_compare:nTF { \str_count:N \l_@@_letter_str != 1 }
- { \@@_error:n { Several~letters } }
- {
- \exp_args:NnV \tl_if_in:NnTF
- \c_@@_forbidden_letters_str \l_@@_letter_str
- { \@@_error:ne { Forbidden~letter } \l_@@_letter_str }
- {
-% \end{macrocode}
-% During the analyse of the preamble provided by the final user, our automaton,
-% for the letter corresponding at the custom line, will directly use the
-% following command that you define in the main hash table of TeX.
-% \begin{macrocode}
- \cs_set:cpn { @@ _ \l_@@_letter_str } ##1
- { \@@_v_custom_line:n { #1 } }
- }
- }
- }
- \str_if_empty:NF \l_@@_command_str { \@@_h_custom_line:n { #1 } }
- \str_if_empty:NF \l_@@_ccommand_str { \@@_c_custom_line:n { #1 } }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\tl_const:Nn \c_@@_forbidden_letters_tl { lcrpmbVX|()[]!@<> }
-\str_const:Nn \c_@@_forbidden_letters_str { lcrpmbVX|()[]!@<> }
-% \end{macrocode}
-%
-% \medskip
-% The previous command |\@@_custom_line_i:n| uses the following set of keys.
-% However, the whole definition of the customized lines (as provided by the
-% final user as argument of |custom-line|) will also be used further with
-% other sets of keys (for instance |{NiceMatrix/Rules}|). That's why the
-% following set of keys has some keys which are no-op.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line-bis }
- {
- multiplicity .int_set:N = \l_@@_multiplicity_int ,
- multiplicity .initial:n = 1 ,
- multiplicity .value_required:n = true ,
- color .code:n = \bool_set_true:N \l_@@_color_bool ,
- color .value_required:n = true ,
- tikz .code:n = \bool_set_true:N \l_@@_tikz_rule_bool ,
- tikz .value_required:n = true ,
- dotted .code:n = \bool_set_true:N \l_@@_dotted_rule_bool ,
- dotted .value_forbidden:n = true ,
- total-width .code:n = { } ,
- total-width .value_required:n = true ,
- width .code:n = { } ,
- width .value_required:n = true ,
- sep-color .code:n = { } ,
- sep-color .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~custom-line }
- }
-% \end{macrocode}
-%
-% The following keys will indicate whether the keys |dotted|, |tikz| and |color|
-% are used in the use of a |custom-line|.
-% \begin{macrocode}
-\bool_new:N \l_@@_dotted_rule_bool
-\bool_new:N \l_@@_tikz_rule_bool
-\bool_new:N \l_@@_color_bool
-% \end{macrocode}
-%
-% \bigskip
-% The following keys are used to determine the total width of the line
-% (including the spaces on both sides of the line). The key |width| is
-% deprecated and has been replaced by the key |total-width|.
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line-width }
- {
- multiplicity .int_set:N = \l_@@_multiplicity_int ,
- multiplicity .initial:n = 1 ,
- multiplicity .value_required:n = true ,
- tikz .code:n = \bool_set_true:N \l_@@_tikz_rule_bool ,
- total-width .code:n = \dim_set:Nn \l_@@_rule_width_dim { #1 }
- \bool_set_true:N \l_@@_total_width_bool ,
- total-width .value_required:n = true ,
- width .meta:n = { total-width = #1 } ,
- dotted .code:n = \bool_set_true:N \l_@@_dotted_rule_bool ,
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will create the command that the final user will use in
-% its array to draw an horizontal rule (hence the `|h|` in the name) with the
-% full width of the array. |#1| is the whole set of keys to pass to the command
-% |\@@_hline:n| (which is in the internal |\CodeAfter|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_h_custom_line:n #1
- {
-% \end{macrocode}
-% We use |\cs_set:cpn| and not |\cs_new:cpn| because we want a local definition.
-% Moreover, the command must \emph{not} be protected since it begins with
-% |\noalign| (which is in |\Hline|).
-% \begin{macrocode}
- \cs_set:cpn { nicematrix - \l_@@_command_str } { \Hline [ #1 ] }
- \seq_put_left:No \l_@@_custom_line_commands_seq \l_@@_command_str
- }
-% \end{macrocode}
-%
-% \bigskip
-% \bigskip
-% The following command will create the command that the final user will use in
-% its array to draw an horizontal rule on only some of the columns of the array
-% (hence the letter |c| as in |\cline|). |#1| is the whole set of keys to pass
-% to the command |\@@_hline:n| (which is in the internal |\CodeAfter|).
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_c_custom_line:n #1
- {
-% \end{macrocode}
-% Here, we need an expandable command since it begins with an |\noalign|.
-% \begin{macrocode}
- \exp_args:Nc \NewExpandableDocumentCommand
- { nicematrix - \l_@@_ccommand_str }
- { O { } m }
- {
- \noalign
- {
- \@@_compute_rule_width:n { #1 , ##1 }
- \skip_vertical:n { \l_@@_rule_width_dim }
- \clist_map_inline:nn
- { ##2 }
- { \@@_c_custom_line_i:nn { #1 , ##1 } { ####1 } }
- }
- }
- \seq_put_left:No \l_@@_custom_line_commands_seq \l_@@_ccommand_str
- }
-% \end{macrocode}
-% The first argument is the list of key-value pairs characteristic of the line.
-% The second argument is the specification of columns for the |\cline| with the
-% syntax $a$-$b$.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_c_custom_line_i:nn #1 #2
- {
- \str_if_in:nnTF { #2 } { - }
- { \@@_cut_on_hyphen:w #2 \q_stop }
- { \@@_cut_on_hyphen:w #2 - #2 \q_stop }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_hline:n
- {
- #1 ,
- start = \l_tmpa_tl ,
- end = \l_tmpb_tl ,
- position = \int_eval:n { \c@iRow + 1 } ,
- total-width = \dim_use:N \l_@@_rule_width_dim
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_compute_rule_width:n #1
- {
- \bool_set_false:N \l_@@_tikz_rule_bool
- \bool_set_false:N \l_@@_total_width_bool
- \bool_set_false:N \l_@@_dotted_rule_bool
- \keys_set_known:nn { NiceMatrix / custom-line-width } { #1 }
- \bool_if:NF \l_@@_total_width_bool
- {
- \bool_if:NTF \l_@@_dotted_rule_bool
- { \dim_set:Nn \l_@@_rule_width_dim { 2 \l_@@_xdots_radius_dim } }
- {
- \bool_if:NF \l_@@_tikz_rule_bool
- {
- \dim_set:Nn \l_@@_rule_width_dim
- {
- \arrayrulewidth * \l_@@_multiplicity_int
- + \doublerulesep * ( \l_@@_multiplicity_int - 1 )
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_v_custom_line:n #1
- {
- \@@_compute_rule_width:n { #1 }
-% \end{macrocode}
-% In the following line, the |\dim_use:N| is mandatory since we do an expansion.
-% \begin{macrocode}
- \tl_gput_right:Nx \g_@@_array_preamble_tl
- { \exp_not:N ! { \skip_horizontal:n { \dim_use:N \l_@@_rule_width_dim } } }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_vline:n
- {
- #1 ,
- position = \int_eval:n { \c@jCol + 1 } ,
- total-width = \dim_use:N \l_@@_rule_width_dim
- }
- }
- \@@_rec_preamble:n
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_custom_line:n
- { letter = : , command = hdottedline , ccommand = cdottedline, dotted }
-% \end{macrocode}
-%
-% \subsubsection*{The key hvlines}
-%
-% The following command tests whether the current position in the array (given by
-% |\l_tmpa_tl| for the row and |\l_tmpb_tl| for the column) would provide an
-% horizontal rule towards the right in the block delimited by the four arguments
-% |#1|, |#2|, |#3| and |#4|. If this rule would be in the block (it must not be
-% drawn), the boolean |\l_tmpa_bool| is set to |false|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_hline_in_block:nnnnn #1 #2 #3 #4 #5
- {
- \int_compare:nNnT \l_tmpa_tl > { #1 }
- {
- \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
- {
- \int_compare:nNnT \l_tmpb_tl > { #2 - 1 }
- {
- \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
- { \bool_gset_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% The same for vertical rules.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_vline_in_block:nnnnn #1 #2 #3 #4 #5
- {
- \int_compare:nNnT \l_tmpa_tl > { #1 - 1 }
- {
- \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
- {
- \int_compare:nNnT \l_tmpb_tl > { #2 }
- {
- \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
- { \bool_gset_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_hline_in_stroken_block:nnnn #1 #2 #3 #4
- {
- \int_compare:nNnT \l_tmpb_tl > { #2 - 1 }
- {
- \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
- {
- \int_compare:nNnTF \l_tmpa_tl = { #1 }
- { \bool_gset_false:N \g_tmpa_bool }
- {
- \int_compare:nNnT \l_tmpa_tl = { #3 + 1 }
- { \bool_gset_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_vline_in_stroken_block:nnnn #1 #2 #3 #4
- {
- \int_compare:nNnT \l_tmpa_tl > { #1 - 1 }
- {
- \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
- {
- \int_compare:nNnTF \l_tmpb_tl = { #2 }
- { \bool_gset_false:N \g_tmpa_bool }
- {
- \int_compare:nNnT \l_tmpb_tl = { #4 + 1 }
- { \bool_gset_false:N \g_tmpa_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The empty corners}
-%
-% When the key |corners| is raised, the rules are not drawn in the corners; they
-% are not colored and |\TikzEveryCell| does not apply. Of course, we have to
-% compute the corners before we begin to draw the rules.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_compute_corners:
- {
-% \end{macrocode}
-% The sequence |\l_@@_corners_cells_seq| will be the sequence of all the
-% empty cells (and not in a block) considered in the corners of the array.
-% \begin{macrocode}
- \seq_clear_new:N \l_@@_corners_cells_seq
- \clist_map_inline:Nn \l_@@_corners_clist
- {
- \str_case:nnF { ##1 }
- {
- { NW }
- { \@@_compute_a_corner:nnnnnn 1 1 1 1 \c@iRow \c@jCol }
- { NE }
- { \@@_compute_a_corner:nnnnnn 1 \c@jCol 1 { -1 } \c@iRow 1 }
- { SW }
- { \@@_compute_a_corner:nnnnnn \c@iRow 1 { -1 } 1 1 \c@jCol }
- { SE }
- { \@@_compute_a_corner:nnnnnn \c@iRow \c@jCol { -1 } { -1 } 1 1 }
- }
- { \@@_error:nn { bad~corner } { ##1 } }
- }
-% \end{macrocode}
-% Even if the user has used the key |corners| the list of cells in the corners
-% may be empty.
-% \begin{macrocode}
- \seq_if_empty:NF \l_@@_corners_cells_seq
- {
-% \end{macrocode}
-% You write on the |aux| file the list of the cells which are in the (empty)
-% corners because you need that information in the |\CodeBefore| since the
-% commands which color the |rows|, |columns| and |cells| must not color the
-% cells in the corners.
-% \begin{macrocode}
- \tl_gput_right:Nx \g_@@_aux_tl
- {
- \seq_set_from_clist:Nn \exp_not:N \l_@@_corners_cells_seq
- { \seq_use:Nnnn \l_@@_corners_cells_seq , , , }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% ``Computing a corner'' is determining all the empty cells (which are not in a
-% block) that belong to that corner. These cells will be added to the sequence
-% |\l_@@_corners_cells_seq|.
-%
-% \medskip
-% The six arguments of |\@@_compute_a_corner:nnnnnn| are as follow:
-% \begin{itemize}
-% \item |#1| and |#2| are the number of row and column of the cell which is
-% actually in the corner;
-% \item |#3| and |#4| are the steps in rows and the step in columns when moving
-% from the corner;
-% \item |#5| is the number of the final row when scanning the rows from the
-% corner;
-% \item |#6| is the number of the final column when scanning the columns from
-% the corner.
-% \end{itemize}
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_compute_a_corner:nnnnnn #1 #2 #3 #4 #5 #6
- {
-% \end{macrocode}
-% For the explanations and the name of the variables, we consider that we are
-% computing the left-upper corner.
-%
-% First, we try to determine which is the last empty cell (and not in a block:
-% we won't add that precision any longer) in the column of number~$1$. The flag
-% |\l_tmpa_bool| will be raised when a non-empty cell is found.
-% \begin{macrocode}
- \bool_set_false:N \l_tmpa_bool
- \int_zero_new:N \l_@@_last_empty_row_int
- \int_set:Nn \l_@@_last_empty_row_int { #1 }
- \int_step_inline:nnnn { #1 } { #3 } { #5 }
- {
- \@@_test_if_cell_in_a_block:nn { ##1 } { \int_eval:n { #2 } }
- \bool_lazy_or:nnTF
- {
- \cs_if_exist_p:c
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_eval:n { #2 } }
- }
- \l_tmpb_bool
- { \bool_set_true:N \l_tmpa_bool }
- {
- \bool_if:NF \l_tmpa_bool
- { \int_set:Nn \l_@@_last_empty_row_int { ##1 } }
- }
- }
-% \end{macrocode}
-% Now, you determine the last empty cell in the row of number~$1$.
-% \begin{macrocode}
- \bool_set_false:N \l_tmpa_bool
- \int_zero_new:N \l_@@_last_empty_column_int
- \int_set:Nn \l_@@_last_empty_column_int { #2 }
- \int_step_inline:nnnn { #2 } { #4 } { #6 }
- {
- \@@_test_if_cell_in_a_block:nn { \int_eval:n { #1 } } { ##1 }
- \bool_lazy_or:nnTF
- \l_tmpb_bool
- {
- \cs_if_exist_p:c
- { pgf @ sh @ ns @ \@@_env: - \int_eval:n { #1 } - ##1 }
- }
- { \bool_set_true:N \l_tmpa_bool }
- {
- \bool_if:NF \l_tmpa_bool
- { \int_set:Nn \l_@@_last_empty_column_int { ##1 } }
- }
- }
-% \end{macrocode}
-% Now, we loop over the rows.
-% \begin{macrocode}
- \int_step_inline:nnnn { #1 } { #3 } \l_@@_last_empty_row_int
- {
-% \end{macrocode}
-% We treat the row number |##1| with another loop.
-% \begin{macrocode}
- \bool_set_false:N \l_tmpa_bool
- \int_step_inline:nnnn { #2 } { #4 } \l_@@_last_empty_column_int
- {
- \@@_test_if_cell_in_a_block:nn { ##1 } { ####1 }
- \bool_lazy_or:nnTF
- \l_tmpb_bool
- {
- \cs_if_exist_p:c
- { pgf @ sh @ ns @ \@@_env: - ##1 - ####1 }
- }
- { \bool_set_true:N \l_tmpa_bool }
- {
- \bool_if:NF \l_tmpa_bool
- {
- \int_set:Nn \l_@@_last_empty_column_int { ####1 }
- \seq_put_right:Nn
- \l_@@_corners_cells_seq
- { ##1 - ####1 }
- }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following macro tests whether a cell is in (at least) one of
-% the blocks of the array (or in a cell with a |\diagbox|).
-%
-% The flag |\l_tmpb_bool| will be raised if the cell |#1|-|#2| is in a block (or
-% in a cell with a |\diagbox|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_cell_in_a_block:nn #1 #2
- {
- \int_set:Nn \l_tmpa_int { #1 }
- \int_set:Nn \l_tmpb_int { #2 }
- \bool_set_false:N \l_tmpb_bool
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_test_if_cell_in_block:nnnnnnn \l_tmpa_int \l_tmpb_int ##1 }
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_test_if_cell_in_block:nnnnnnn #1 #2 #3 #4 #5 #6 #7
- {
- \int_compare:nNnF { #3 } > { #1 }
- {
- \int_compare:nNnF { #1 } > { #5 }
- {
- \int_compare:nNnF { #4 } > { #2 }
- {
- \int_compare:nNnF { #2 } > { #6 }
- { \bool_set_true:N \l_tmpb_bool }
- }
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The environment \{NiceMatrixBlock\}}
-%
-% The following flag will be raised when all the columns of the environments of
-% the block must have the same width in ``auto'' mode.
-% \begin{macrocode}
-\bool_new:N \l_@@_block_auto_columns_width_bool
-% \end{macrocode}
-%
-% \bigskip
-% Up to now, there is only one option available for the environment
-% |{NiceMatrixBlock}|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrixBlock }
- {
- auto-columns-width .code:n =
- {
- \bool_set_true:N \l_@@_block_auto_columns_width_bool
- \dim_gzero_new:N \g_@@_max_cell_width_dim
- \bool_set_true:N \l_@@_auto_columns_width_bool
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentEnvironment { NiceMatrixBlock } { ! O { } }
- {
- \int_gincr:N \g_@@_NiceMatrixBlock_int
- \dim_zero:N \l_@@_columns_width_dim
- \keys_set:nn { NiceMatrix / NiceMatrixBlock } { #1 }
- \bool_if:NT \l_@@_block_auto_columns_width_bool
- {
- \cs_if_exist:cT
- { @@_max_cell_width_ \int_use:N \g_@@_NiceMatrixBlock_int }
- {
- % is \exp_args:NNe mandatory?
- \exp_args:NNe \dim_set:Nn \l_@@_columns_width_dim
- {
- \use:c
- { @@_max_cell_width _ \int_use:N \g_@@_NiceMatrixBlock_int }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% At the end of the environment |{NiceMatrixBlock}|, we write in the main |aux|
-% file instructions for the column width of all the environments of the block
-% (that's why we have stored the number of the first environment of the block in
-% the counter |\l_@@_first_env_block_int|).
-% \begin{macrocode}
- {
- \legacy_if:nTF { measuring@ }
-% \end{macrocode}
-% If |{NiceMatrixBlock}| is used in an environment of \pkg{amsmath} such as
-% |{align}|: cf. question 694957 on TeX StackExchange. The most important line
-% in that case is the following one.
-% \begin{macrocode}
- { \int_gdecr:N \g_@@_NiceMatrixBlock_int }
- {
- \bool_if:NT \l_@@_block_auto_columns_width_bool
- {
- \iow_shipout:Nn \@mainaux \ExplSyntaxOn
- \iow_shipout:Nx \@mainaux
- {
- \cs_gset:cpn
- { @@ _ max _ cell _ width _ \int_use:N \g_@@_NiceMatrixBlock_int }
-% \end{macrocode}
-% For technical reasons, we have to include the width of a potential rule on the
-% right side of the cells.
-% \begin{macrocode}
- { \dim_eval:n { \g_@@_max_cell_width_dim + \arrayrulewidth } }
- }
- \iow_shipout:Nn \@mainaux \ExplSyntaxOff
- }
- }
- \ignorespacesafterend
- }
-% \end{macrocode}
-%
-%
-%
-% \section{The extra nodes}
-%
-% First, two variants of the functions |\dim_min:nn| and |\dim_max:nn|.
-% \begin{macrocode}
-\cs_generate_variant:Nn \dim_min:nn { v n }
-\cs_generate_variant:Nn \dim_max:nn { v n }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following command is called in |\@@_use_arraybox_with_notes_c:| just
-% before the construction of the blocks (if the creation of medium nodes is
-% required, medium nodes are also created for the blocks and that construction
-% uses the standard medium nodes).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_extra_nodes:
- {
- \bool_if:nTF \l_@@_medium_nodes_bool
- {
- \bool_if:NTF \l_@@_large_nodes_bool
- \@@_create_medium_and_large_nodes:
- \@@_create_medium_nodes:
- }
- { \bool_if:NT \l_@@_large_nodes_bool \@@_create_large_nodes: }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% We have three macros of creation of nodes: |\@@_create_medium_nodes:|,
-% |\@@_create_large_nodes:| and |\@@_create_medium_and_large_nodes:|.
-%
-%
-% \bigskip
-% We have to compute the mathematical coordinates of the ``medium nodes''. These
-% mathematical coordinates are also used to compute the mathematical coordinates
-% of the ``large nodes''. That's why we write a command
-% |\@@_computations_for_medium_nodes:| to do these computations.
-%
-% \bigskip
-% The command |\@@_computations_for_medium_nodes:| must be used in a
-% |{pgfpicture}|.
-%
-% \medskip
-% For each row $i$, we compute two dimensions
-% \texttt{l_@@_row_\textsl{i}_min_dim} and \texttt{l_@@_row_\textsl{i}_max_dim}.
-% The dimension \texttt{l_@@_row_\textsl{i}_min_dim} is the minimal
-% $y$-value of all the cells of the row~$i$. The dimension
-% \texttt{l_@@_row_\textsl{i}_max_dim} is the maximal $y$-value of all the cells
-% of the row~$i$.
-%
-% Similarly, for each column $j$, we compute two dimensions
-% \texttt{l_@@_column_\textsl{j}_min_dim} and
-% \texttt{l_@@_column_\textsl{j}_max_dim}. The dimension
-% \texttt{l_@@_column_\textsl{j}_min_dim} is the minimal $x$-value of all the
-% cells of the column~$j$. The dimension \texttt{l_@@_column_\textsl{j}_max_dim}
-% is the maximal $x$-value of all the cells of the column~$j$.
-%
-% Since these dimensions will be computed as maximum or minimum, we initialize
-% them to |\c_max_dim| or |-\c_max_dim|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_computations_for_medium_nodes:
- {
- \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
- {
- \dim_zero_new:c { l_@@_row_\@@_i: _min_dim }
- \dim_set_eq:cN { l_@@_row_\@@_i: _min_dim } \c_max_dim
- \dim_zero_new:c { l_@@_row_\@@_i: _max_dim }
- \dim_set:cn { l_@@_row_\@@_i: _max_dim } { - \c_max_dim }
- }
- \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
- {
- \dim_zero_new:c { l_@@_column_\@@_j: _min_dim }
- \dim_set_eq:cN { l_@@_column_\@@_j: _min_dim } \c_max_dim
- \dim_zero_new:c { l_@@_column_\@@_j: _max_dim }
- \dim_set:cn { l_@@_column_\@@_j: _max_dim } { - \c_max_dim }
- }
-% \end{macrocode}
-% We begin the two nested loops over the rows and the columns of the array.
-% \begin{macrocode}
- \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
- {
- \int_step_variable:nnNn
- \l_@@_first_col_int \g_@@_col_total_int \@@_j:
-% \end{macrocode}
-% If the cell ($i$-$j$) is empty or an implicit cell (that is to say a cell
-% after implicit ampersands |&|) we don't update the dimensions we want to
-% compute.
-% \begin{macrocode}
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - \@@_i: - \@@_j: }
-% \end{macrocode}
-% We retrieve the coordinates of the anchor |south west| of the (normal) node of
-% the cell ($i$-$j$). They will be stored in |\pgf@x| and |\pgf@y|.
-% \begin{macrocode}
- {
- \pgfpointanchor { \@@_env: - \@@_i: - \@@_j: } { south~west }
- \dim_set:cn { l_@@_row_\@@_i: _min_dim}
- { \dim_min:vn { l_@@_row _ \@@_i: _min_dim } \pgf@y }
- \seq_if_in:NxF \g_@@_multicolumn_cells_seq { \@@_i: - \@@_j: }
- {
- \dim_set:cn { l_@@_column _ \@@_j: _min_dim}
- { \dim_min:vn { l_@@_column _ \@@_j: _min_dim } \pgf@x }
- }
-% \end{macrocode}
-% We retrieve the coordinates of the anchor |north east| of the (normal) node of
-% the cell ($i$-$j$). They will be stored in |\pgf@x| and |\pgf@y|.
-% \begin{macrocode}
- \pgfpointanchor { \@@_env: - \@@_i: - \@@_j: } { north~east }
- \dim_set:cn { l_@@_row _ \@@_i: _ max_dim }
- { \dim_max:vn { l_@@_row _ \@@_i: _ max_dim } \pgf@y }
- \seq_if_in:NxF \g_@@_multicolumn_cells_seq { \@@_i: - \@@_j: }
- {
- \dim_set:cn { l_@@_column _ \@@_j: _ max_dim }
- { \dim_max:vn { l_@@_column _ \@@_j: _max_dim } \pgf@x }
- }
- }
- }
- }
-% \end{macrocode}
-% Now, we have to deal with empty rows or empty columns since we don't have
-% created nodes in such rows and columns.
-% \begin{macrocode}
- \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
- {
- \dim_compare:nNnT
- { \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } } = \c_max_dim
- {
- \@@_qpoint:n { row - \@@_i: - base }
- \dim_set:cn { l_@@_row _ \@@_i: _ max _ dim } \pgf@y
- \dim_set:cn { l_@@_row _ \@@_i: _ min _ dim } \pgf@y
- }
- }
- \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
- {
- \dim_compare:nNnT
- { \dim_use:c { l_@@_column _ \@@_j: _ min _ dim } } = \c_max_dim
- {
- \@@_qpoint:n { col - \@@_j: }
- \dim_set:cn { l_@@_column _ \@@_j: _ max _ dim } \pgf@y
- \dim_set:cn { l_@@_column _ \@@_j: _ min _ dim } \pgf@y
- }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% Here is the command |\@@_create_medium_nodes:|. When this command is used, the
-% ``medium nodes'' are created.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_medium_nodes:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_computations_for_medium_nodes:
-% \end{macrocode}
-% Now, we can create the ``medium nodes''. We use a command |\@@_create_nodes:|
-% because this command will also be used for the creation of the ``large nodes''.
-% \begin{macrocode}
- \cs_set_nopar:Npn \l_@@_suffix_tl { -medium }
- \@@_create_nodes:
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The command |\@@_create_large_nodes:| must be used when we want to create only
-% the ``large nodes'' and not the medium ones\footnote{If we want to create
-% both, we have to use |\@@_create_medium_and_large_nodes:|}. However, the
-% computation of the mathematical coordinates of the ``large nodes'' needs the
-% computation of the mathematical coordinates of the ``medium nodes''. Hence, we
-% use first |\@@_computations_for_medium_nodes:| and then the command
-% |\@@_computations_for_large_nodes:|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_large_nodes:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_computations_for_medium_nodes:
- \@@_computations_for_large_nodes:
- \cs_set_nopar:Npn \l_@@_suffix_tl { - large }
- \@@_create_nodes:
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_medium_and_large_nodes:
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_computations_for_medium_nodes:
-% \end{macrocode}
-% Now, we can create the ``medium nodes''. We use a command |\@@_create_nodes:|
-% because this command will also be used for the creation of the ``large nodes''.
-% \begin{macrocode}
- \cs_set_nopar:Npn \l_@@_suffix_tl { - medium }
- \@@_create_nodes:
- \@@_computations_for_large_nodes:
- \cs_set_nopar:Npn \l_@@_suffix_tl { - large }
- \@@_create_nodes:
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% For ``large nodes'', the exterior rows and columns don't interfer. That's why
-% the loop over the columns will start at 1 and stop at $|\c@jCol|$ (and not
-% |\g_@@_col_total_int|). Idem for the rows.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_computations_for_large_nodes:
- {
- \int_set_eq:NN \l_@@_first_row_int \c_one_int
- \int_set_eq:NN \l_@@_first_col_int \c_one_int
-% \end{macrocode}
-% We have to change the values of all the dimensions
-% \texttt{l_@@_row_\textsl{i}_min_dim}, \texttt{l_@@_row_\textsl{i}_max_dim},
-% \texttt{l_@@_column_\textsl{j}_min_dim} and
-% \texttt{l_@@_column_\textsl{j}_max_dim}.
-% \begin{macrocode}
- \int_step_variable:nNn { \c@iRow - 1 } \@@_i:
- {
- \dim_set:cn { l_@@_row _ \@@_i: _ min _ dim }
- {
- (
- \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } +
- \dim_use:c { l_@@_row _ \int_eval:n { \@@_i: + 1 } _ max _ dim }
- )
- / 2
- }
- \dim_set_eq:cc { l_@@_row _ \int_eval:n { \@@_i: + 1 } _ max _ dim }
- { l_@@_row_\@@_i: _min_dim }
- }
- \int_step_variable:nNn { \c@jCol - 1 } \@@_j:
- {
- \dim_set:cn { l_@@_column _ \@@_j: _ max _ dim }
- {
- (
- \dim_use:c { l_@@_column _ \@@_j: _ max _ dim } +
- \dim_use:c
- { l_@@_column _ \int_eval:n { \@@_j: + 1 } _ min _ dim }
- )
- / 2
- }
- \dim_set_eq:cc { l_@@_column _ \int_eval:n { \@@_j: + 1 } _ min _ dim }
- { l_@@_column _ \@@_j: _ max _ dim }
- }
-% \end{macrocode}
-% Here, we have to use |\dim_sub:cn| because of the number 1 in the name.
-% \begin{macrocode}
- \dim_sub:cn
- { l_@@_column _ 1 _ min _ dim }
- \l_@@_left_margin_dim
- \dim_add:cn
- { l_@@_column _ \int_use:N \c@jCol _ max _ dim }
- \l_@@_right_margin_dim
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% The command |\@@_create_nodes:| is used twice: for the construction
-% of the ``medium nodes'' and for the construction of the ``large nodes''. The
-% nodes are constructed with the value of all the dimensions
-% \texttt{l_@@_row_\textsl{i}_min_dim}, \texttt{l_@@_row_\textsl{i}_max_dim},
-% \texttt{l_@@_column_\textsl{j}_min_dim} and
-% \texttt{l_@@_column_\textsl{j}_max_dim}. Between the construction of the
-% ``medium nodes'' and the ``large nodes'', the values of these dimensions are
-% changed.
-%
-% The function also uses |\l_@@_suffix_tl| (|-medium| or |-large|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_create_nodes:
- {
- \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
- {
- \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
- {
-% \end{macrocode}
-% We draw the rectangular node for the cell (|\@@_i|-|\@@_j|).
-% \begin{macrocode}
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
- { \dim_use:c { l_@@_column_ \@@_j: _min_dim } }
- { \dim_use:c { l_@@_row_ \@@_i: _min_dim } }
- { \dim_use:c { l_@@_column_ \@@_j: _max_dim } }
- { \dim_use:c { l_@@_row_ \@@_i: _max_dim } }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \@@_i: - \@@_j: \l_@@_suffix_tl }
- { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
- }
- }
- }
-% \end{macrocode}
-% Now, we create the nodes for the cells of the |\multicolumn|. We recall that
-% we have stored in |\g_@@_multicolumn_cells_seq| the list of the cells where a
-% |\multicolumn{|$n$|}{...}{...}| with $n$>1 was issued and in
-% |\g_@@_multicolumn_sizes_seq| the correspondant values of $n$.
-% \begin{macrocode}
- \seq_map_pairwise_function:NNN
- \g_@@_multicolumn_cells_seq
- \g_@@_multicolumn_sizes_seq
- \@@_node_for_multicolumn:nn
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_extract_coords_values: #1 - #2 \q_stop
- {
- \cs_set_nopar:Npn \@@_i: { #1 }
- \cs_set_nopar:Npn \@@_j: { #2 }
- }
-% \end{macrocode}
-%
-% The command |\@@_node_for_multicolumn:nn| takes two arguments. The first is
-% the position of the cell where the command |\multicolumn{|$n$|}{...}{...}| was
-% issued in the format $i$|-|$j$ and the second is the value of~$n$ (the length
-% of the ``multi-cell'').
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_node_for_multicolumn:nn #1 #2
- {
- \@@_extract_coords_values: #1 \q_stop
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
- { \dim_use:c { l_@@_column _ \@@_j: _ min _ dim } }
- { \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } }
- { \dim_use:c { l_@@_column _ \int_eval:n { \@@_j: +#2-1 } _ max _ dim } }
- { \dim_use:c { l_@@_row _ \@@_i: _ max _ dim } }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \@@_i: - \@@_j: \l_@@_suffix_tl }
- { \int_use:N \g_@@_env_int - \@@_i: - \@@_j: \l_@@_suffix_tl}
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The blocks}
-%
-% The code deals with the command |\Block|. This command has no direct link with
-% the environment |{NiceMatrixBlock}|.
-%
-% \bigskip
-% The options of the command |\Block| will be analyzed first in the cell of the
-% array (and once again when the block will be put in the array).
-% Here is the set of keys for the first pass.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Block / FirstPass }
- {
- l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
- l .value_forbidden:n = true ,
- r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
- r .value_forbidden:n = true ,
- c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
- c .value_forbidden:n = true ,
- L .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
- L .value_forbidden:n = true ,
- R .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
- R .value_forbidden:n = true ,
- C .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
- C .value_forbidden:n = true ,
- t .code:n = \str_set:Nn \l_@@_vpos_block_str t ,
- t .value_forbidden:n = true ,
- T .code:n = \str_set:Nn \l_@@_vpos_block_str T ,
- T .value_forbidden:n = true ,
- b .code:n = \str_set:Nn \l_@@_vpos_block_str b ,
- b .value_forbidden:n = true ,
- B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
- B .value_forbidden:n = true ,
- color .code:n =
- \@@_color:n { #1 }
- \tl_set_rescan:Nnn
- \l_@@_draw_tl
- { \char_set_catcode_other:N ! }
- { #1 } ,
- color .value_required:n = true ,
- respect-arraystretch .code:n =
- \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
- respect-arraystretch .value_forbidden:n = true ,
- }
-% \end{macrocode}
-%
-%
-% The following command |\@@_Block:| will be linked to |\Block| in the
-% environments of \pkg{nicematrix}. We define it with
-% |\NewExpandableDocumentCommand| because it has an optional argument between
-% |<| and |>|. It's mandatory to use an expandable command.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block: { \@@_collect_options:n { \@@_Block_i: } }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\NewExpandableDocumentCommand \@@_Block_i: { m m D < > { } +m }
- {
-% \end{macrocode}
-% If the first mandatory argument of the command (which is the size of the block
-% with the syntax $i$|-|$j$) has not been provided by the user, you use |1-1|
-% (that is to say a block of only one cell).
-% \begin{macrocode}
- \peek_remove_spaces:n
- {
- \tl_if_blank:nTF { #2 }
- { \@@_Block_ii:nnnnn \c_one_int \c_one_int }
- {
- \int_compare:nNnTF { \char_value_catcode:n { 45 } } = { 13 }
- \@@_Block_i_czech \@@_Block_i
- #2 \q_stop
- }
- { #1 } { #3 } { #4 }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% With the following construction, we extract the values of $i$ and $j$ in the
-% first mandatory argument of the command.
-% \begin{macrocode}
-\cs_new:Npn \@@_Block_i #1-#2 \q_stop { \@@_Block_ii:nnnnn { #1 } { #2 } }
-% \end{macrocode}
-%
-% With \pkg{babel} with the key |czech|, the character |-| (hyphen) is active.
-% That's why we need a special version. Remark that we could not use a
-% preprocessor in the command |\@@_Block:| to do the job because the command
-% |\@@_Block:| is defined with the command |\NewExpandableDocumentCommand|.
-% \begin{macrocode}
-{
- \char_set_catcode_active:N -
- \cs_new:Npn \@@_Block_i_czech #1-#2 \q_stop { \@@_Block_ii:nnnnn { #1 } { #2 } }
-}
-% \end{macrocode}
-%
-% \medskip
-% Now, the arguments have been extracted:
-% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
-% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
-% the tokens to put before the math mode and before the composition of the block
-% and |#5| is the label (=content) of the block.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block_ii:nnnnn #1 #2 #3 #4 #5
- {
-% \end{macrocode}
-%
-% \medskip
-% We recall that |#1| and |#2| have been extracted from the first mandatory
-% argument of |\Block| (which is of the syntax $i$|-|$j$). However, the user is
-% allowed to omit $i$ or $j$ (or both). We detect that situation by replacing a
-% missing value by 100 (it's a convention: when the block will actually be drawn
-% these values will be detected and interpreted as \emph{maximal possible
-% value} according to the actual size of the array).
-% \begin{macrocode}
- \bool_lazy_or:nnTF
- { \tl_if_blank_p:n { #1 } }
- { \str_if_eq_p:nn { #1 } { * } }
- { \int_set:Nn \l_tmpa_int { 100 } }
- { \int_set:Nn \l_tmpa_int { #1 } }
- \bool_lazy_or:nnTF
- { \tl_if_blank_p:n { #2 } }
- { \str_if_eq_p:nn { #2 } { * } }
- { \int_set:Nn \l_tmpb_int { 100 } }
- { \int_set:Nn \l_tmpb_int { #2 } }
-% \end{macrocode}
-%
-% \medskip
-% If the block is mono-column.
-% \begin{macrocode}
- \int_compare:nNnTF \l_tmpb_int = \c_one_int
- {
- \tl_if_empty:NTF \l_@@_hpos_cell_tl
- { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_c_str }
- { \str_set:NV \l_@@_hpos_block_str \l_@@_hpos_cell_tl }
- }
- { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_c_str }
-% \end{macrocode}
-% The value of |\l_@@_hpos_block_str| may be modified by the keys of the
-% command |\Block| that we will analyze now.
-%
-% \medskip
-% \begin{macrocode}
- \keys_set_known:nn { NiceMatrix / Block / FirstPass } { #3 }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \tl_set:Nx \l_tmpa_tl
- {
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { \int_eval:n { \c@iRow + \l_tmpa_int - 1 } }
- { \int_eval:n { \c@jCol + \l_tmpb_int - 1 } }
- }
-% \end{macrocode}
-% Now, |\l_tmpa_tl| contains an ``object'' corresponding to the position of the
-% block with four components, each of them surrounded by curly brackets:
-%
-% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}|.
-%
-%
-% \medskip
-% If the block is mono-column or mono-row, we have a special treatment. That's
-% why we have two macros: |\@@_Block_iv:nnnnn| and |\@@_Block_v:nnnnn| (the five
-% arguments of those macros are provided by curryfication).
-% \begin{macrocode}
- \bool_if:nTF
- {
- (
- \int_compare_p:nNn \l_tmpa_int = \c_one_int
- ||
- \int_compare_p:nNn \l_tmpb_int = \c_one_int
- )
- && ! \tl_if_empty_p:n { #5 }
-% \end{macrocode}
-% For the blocks mono-column, we will compose right now in a box in order to
-% compute its width and take that width into account for the width of the
-% column. However, if the column is a |X| column, we should not do that since
-% the width is determined by another way. This should be the same for the |p|,
-% |m| and |b| columns and we should modify that point. However, for the |X|
-% column, it's imperative. Otherwise, the process for the determination of the
-% widths of the columns will be wrong.
-% \begin{macrocode}
- && ! \l_@@_X_bool
- }
- { \exp_args:Nee \@@_Block_iv:nnnnn }
- { \exp_args:Nee \@@_Block_v:nnnnn }
- { \l_tmpa_int } { \l_tmpb_int } { #3 } { #4 } { #5 }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The following macro is for the case of a |\Block| which is mono-row or
-% mono-column (or both). In that case, the content of the block is composed
-% right now in a box (because we have to take into account the dimensions of
-% that box for the width of the current column or the height and the depth of the
-% current row). However, that box will be put in the array \emph{after the
-% construction of the array} (by using \textsc{pgf}) with |\@@_draw_blocks:| and
-% above all |\@@_Block_v:nnnnnn| which will do the main job.
-%
-% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
-% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
-% the tokens to put before the potential math mode and before the composition of
-% the block and |#5| is the label (=content) of the block.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block_iv:nnnnn #1 #2 #3 #4 #5
- {
- \int_gincr:N \g_@@_block_box_int
- \cs_set_protected_nopar:Npn \diagbox ##1 ##2
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_actually_diagbox:nnnnnn
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { \int_eval:n { \c@iRow + #1 - 1 } }
- { \int_eval:n { \c@jCol + #2 - 1 } }
- { \g_@@_row_style_tl \exp_not:n { ##1 } }
- { \g_@@_row_style_tl \exp_not:n { ##2 } }
- }
- }
- \box_gclear_new:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
-% \end{macrocode}
-% Now, we will actually compose the content of the |\Block| in a TeX box.
-% \emph{Be careful}: if after the construction of the box, the boolean
-% |\g_@@_rotate_bool| is raised (which means that the command |\rotate| was
-% present in the content of the |\Block|) we will rotate the box but also,
-% maybe, change the position of the baseline!
-% \begin{macrocode}
- \hbox_gset:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- {
-% \end{macrocode}
-% For a mono-column block, if the user has specified a color for the column in
-% the preamble of the array, we want to fix that color in the box we construct.
-% We do that with |\set@color| and not |\color_ensure_current:| (in order to use
-% |\color_ensure_current:| safely, you should load \pkg{l3backend} before the
-% |\documentclass| with |\RequirePackage{expl3}|).
-% \begin{macrocode}
- \tl_if_empty:NTF \l_@@_color_tl
- { \int_compare:nNnT { #2 } = \c_one_int \set@color }
- { \@@_color:o \l_@@_color_tl }
-% \end{macrocode}
-% If the block is mono-row, we use |\g_@@_row_style_tl| even if it has yet been
-% used in the beginning of the cell where the command |\Block| has been issued
-% because we want to be able to take into account a potential instruction of
-% color of the font in |\g_@@_row_style_tl|.
-% \begin{macrocode}
- \int_compare:nNnT { #1 } = \c_one_int
- {
- \int_if_zero:nTF \c@iRow
- \l_@@_code_for_first_row_tl
- {
- \int_compare:nNnT \c@iRow = \l_@@_last_row_int
- \l_@@_code_for_last_row_tl
- }
- \g_@@_row_style_tl
- }
-% \end{macrocode}
-% The following command will be no-op when |respect-arraystretch| is in force.
-% \begin{macrocode}
- \@@_reset_arraystretch:
- \dim_zero:N \extrarowheight
-% \end{macrocode}
-% |#4| is the optional argument of the command |\Block|, provided with the
-% syntax |<...>|.
-% \begin{macrocode}
- #4
-% \end{macrocode}
-% We adjust |\l_@@_hpos_block_str| when |\rotate| has been used (in the cell
-% where the command |\Block| is used but maybe in |#4|, |\RowStyle|,
-% |code-for-first-row|, etc.).
-% \begin{macrocode}
- \@@_adjust_hpos_rotate:
-% \end{macrocode}
-% The boolean |\g_@@_rotate_bool| will be also considered \emph{after the composition
-% of the box} (in order to rotate the box).
-%
-% \medskip
-% Remind that we are in the command of composition of the box of the block.
-% Previously, we have only done some tuning. Now, we will actually compose the
-% content with a |{tabular}|, an |{array}| or a |{minipage}|.
-% \begin{macrocode}
- \bool_if:NTF \l_@@_tabular_bool
- {
- \bool_lazy_all:nTF
- {
- { \int_compare_p:nNn { #2 } = \c_one_int }
-% \end{macrocode}
-% Remind that, when the column has not a fixed width, the dimension
-% |\l_@@_col_width_dim| has the conventional value of $-1$~cm.
-% \begin{macrocode}
- { ! \dim_compare_p:nNn \l_@@_col_width_dim < \c_zero_dim }
- { ! \g_@@_rotate_bool }
- }
-% \end{macrocode}
-% When the block is mono-column in a column with a fixed width (eg |p{3cm}|), we
-% use a |{minipage}|.
-% \begin{macrocode}
- {
- \use:e
- {
- \exp_not:N \begin { minipage }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
- { \l_@@_col_width_dim }
- \str_case:on \l_@@_hpos_block_str
- { c \centering r \raggedleft l \raggedright }
- }
- #5
- \end { minipage }
- }
-% \end{macrocode}
-% In the other cases, we use a |{tabular}|.
-% \begin{macrocode}
- {
- \use:e
- {
- \exp_not:N \begin { tabular }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
- { @ { } \l_@@_hpos_block_str @ { } }
- }
- #5
- \end { tabular }
- }
- }
-% \end{macrocode}
-% If we are in a mathematical array (|\l_@@_tabular_bool| is |false|). The
-% composition is always done with an |{array}| (never with a |{minipage}|).
-% \begin{macrocode}
- {
- \c_math_toggle_token
- \use:e
- {
- \exp_not:N \begin { array }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
- { @ { } \l_@@_hpos_block_str @ { } }
- }
- #5
- \end { array }
- \c_math_toggle_token
- }
- }
-% \end{macrocode}
-% The box which will contain the content of the block has now been composed.
-%
-% \bigskip
-% If there were |\rotate| (which raises |\g_@@_rotate_bool|) in the content of
-% the |\Block|, we do a rotation of the box (and we also adjust the
-% baseline the rotated box).
-% \begin{macrocode}
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_box_of_block:
-% \end{macrocode}
-%
-% If we are in a mono-column block, we take into account the width of that block
-% for the width of the column.
-% \begin{macrocode}
- \int_compare:nNnT { #2 } = \c_one_int
- {
- \dim_gset:Nn \g_@@_blocks_wd_dim
- {
- \dim_max:nn
- \g_@@_blocks_wd_dim
- {
- \box_wd:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- }
-% \end{macrocode}
-% If we are in a mono-row block and if that block has no vertical option for the
-% position\footnote{If the block has a key of a vertical position, that means
-% that it has to be put in a vertical space determined by the \emph{others}
-% cells of the row. Therefore there is no point creating space here. Moreover,
-% that would lead to problems when a multi-row block with a position key such as
-% |b| or |B|.}, we take into account the height and the depth of that block for the
-% height and the depth of the row.
-% \begin{macrocode}
- \str_if_eq:VnT \l_@@_vpos_block_str { c }
- {
- \int_compare:nNnT { #1 } = \c_one_int
- {
- \dim_gset:Nn \g_@@_blocks_ht_dim
- {
- \dim_max:nn
- \g_@@_blocks_ht_dim
- {
- \box_ht:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- \dim_gset:Nn \g_@@_blocks_dp_dim
- {
- \dim_max:nn
- \g_@@_blocks_dp_dim
- {
- \box_dp:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- }
- }
- \seq_gput_right:Nx \g_@@_blocks_seq
- {
- \l_tmpa_tl
-% \end{macrocode}
-% In the list of options |#3|, maybe there is a key for the horizontal alignment
-% (|l|, |r| or |c|). In that case, that key has been read and stored in
-% |\l_@@_hpos_block_str|. However, maybe there were no key of the horizontal
-% alignment and that's why we put a key corresponding to the value of
-% |\l_@@_hpos_block_str|, which is fixed by the type of current column.
-% \begin{macrocode}
- {
- \exp_not:n { #3 } ,
- \l_@@_hpos_block_str ,
-% \end{macrocode}
-% Now, we put a key for the vertical alignment.
-% \begin{macrocode}
- \bool_if:NT \g_@@_rotate_bool
- {
- \bool_if:NTF \g_@@_rotate_c_bool
- { v-center }
- { \int_compare:nNnT \c@iRow = \l_@@_last_row_int T }
- }
-
- }
- {
- \box_use_drop:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- \bool_set_false:N \g_@@_rotate_c_bool
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new:Npn \@@_adjust_hpos_rotate:
- {
- \bool_if:NT \g_@@_rotate_bool
- {
- \str_set:Nx \l_@@_hpos_block_str
- {
- \bool_if:NTF \g_@@_rotate_c_bool
- { c }
- {
- \str_case:onF \l_@@_vpos_block_str
- { b l B l t r T r }
- { \int_compare:nNnTF \c@iRow = \l_@@_last_row_int r l }
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Despite its name the following command rotates the box of the block \emph{but
-% also does vertical adjustement of the baseline of the block}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_rotate_box_of_block:
- {
- \box_grotate:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- { 90 }
- \int_compare:nNnT \c@iRow = \l_@@_last_row_int
- {
- \vbox_gset_top:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- {
- \skip_vertical:n { 0.8 ex }
- \box_use:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- \bool_if:NT \g_@@_rotate_c_bool
- {
- \hbox_gset:cn
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- {
- \c_math_toggle_token
- \vcenter
- {
- \box_use:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- \c_math_toggle_token
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following macro is for the standard case, where the block is not mono-row
-% and not mono-column. In that case, the content of the block is \emph{not}
-% composed right now in a box. The composition in a box will be done further,
-% just after the construction of the array (cf. |\@@_draw_blocks:| and
-% above all |\@@_Block_v:nnnnnn|).
-%
-% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
-% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
-% the tokens to put before the math mode and before the composition of the block
-% and |#5| is the label (=content) of the block.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block_v:nnnnn #1 #2 #3 #4 #5
- {
- \seq_gput_right:Nx \g_@@_blocks_seq
- {
- \l_tmpa_tl
- { \exp_not:n { #3 } }
- {
- \bool_if:NTF \l_@@_tabular_bool
- {
- \group_begin:
-% \end{macrocode}
-% The following command will be no-op when |respect-arraystretch| is in force.
-% \begin{macrocode}
- \@@_reset_arraystretch:
- \exp_not:n
- {
- \dim_zero:N \extrarowheight
- #4
-% \end{macrocode}
-% If the box is rotated (the key |\rotate| may be in the previous |#4|), the
-% tabular used for the content of the cell will be constructed with a format
-% |c|. In the other cases, the tabular will be constructed with a format equal
-% to the key of position of the box. In other words: the alignment internal to
-% the tabular is the same as the external alignment of the tabular (that is to
-% say the position of the block in its zone of merged cells).
-% \begin{macrocode}
- \use:e
- {
- \exp_not:N \begin { tabular } [ \l_@@_vpos_block_str ]
- { @ { } \l_@@_hpos_block_str @ { } }
- }
- #5
- \end { tabular }
- }
- \group_end:
- }
-% \end{macrocode}
-% When we are \emph{not} in an environments |{NiceTabular}| (or similar).
-% \begin{macrocode}
- {
- \group_begin:
-% \end{macrocode}
-% The following will be no-op when |respect-arraystretch| is in force.
-% \begin{macrocode}
- \@@_reset_arraystretch:
- \exp_not:n
- {
- \dim_zero:N \extrarowheight
- #4
- \c_math_toggle_token
- \use:e
- {
- \exp_not:N \begin { array } [ \l_@@_vpos_block_str ]
- { @ { } \l_@@_hpos_block_str @ { } }
- }
- #5
- \end { array }
- \c_math_toggle_token
- }
- \group_end:
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% We recall that the options of the command |\Block| are analyzed twice: first
-% in the cell of the array and once again when the block will be put in the
-% array \emph{after the construction of the array} (by using \textsc{pgf}).
-%
-% \medskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Block / SecondPass }
- {
- tikz .code:n =
- \IfPackageLoadedTF { tikz }
- { \seq_put_right:Nn \l_@@_tikz_seq { { #1 } } }
- { \@@_error:n { tikz~key~without~tikz } } ,
- tikz .value_required:n = true ,
- fill .code:n =
- \tl_set_rescan:Nnn
- \l_@@_fill_tl
- { \char_set_catcode_other:N ! }
- { #1 } ,
- fill .value_required:n = true ,
- opacity .tl_set:N = \l_@@_opacity_tl ,
- opacity .value_required:n = true ,
- draw .code:n =
- \tl_set_rescan:Nnn
- \l_@@_draw_tl
- { \char_set_catcode_other:N ! }
- { #1 } ,
- draw .default:n = default ,
- rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
- rounded-corners .default:n = 4 pt ,
- color .code:n =
- \@@_color:n { #1 }
- \tl_set_rescan:Nnn
- \l_@@_draw_tl
- { \char_set_catcode_other:N ! }
- { #1 } ,
- borders .clist_set:N = \l_@@_borders_clist ,
- borders .value_required:n = true ,
- hvlines .meta:n = { vlines , hlines } ,
- vlines .bool_set:N = \l_@@_vlines_block_bool,
- vlines .default:n = true ,
- hlines .bool_set:N = \l_@@_hlines_block_bool,
- hlines .default:n = true ,
- line-width .dim_set:N = \l_@@_line_width_dim ,
- line-width .value_required:n = true ,
-% \end{macrocode}
-% Some keys have not a property |.value_required:n| (or similar) because they
-% are in |FirstPass|.
-% \begin{macrocode}
- l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
- r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
- c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
- L .code:n = \str_set:Nn \l_@@_hpos_block_str l
- \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- R .code:n = \str_set:Nn \l_@@_hpos_block_str r
- \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- C .code:n = \str_set:Nn \l_@@_hpos_block_str c
- \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
- t .code:n = \str_set:Nn \l_@@_vpos_block_str t ,
- T .code:n = \str_set:Nn \l_@@_vpos_block_str T ,
- b .code:n = \str_set:Nn \l_@@_vpos_block_str b ,
- B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
- v-center .code:n = \str_set:Nn \l_@@_vpos_block_str { c } ,
- v-center .value_forbidden:n = true ,
- name .tl_set:N = \l_@@_block_name_str ,
- name .value_required:n = true ,
- name .initial:n = ,
- respect-arraystretch .code:n =
- \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
- respect-arraystretch .value_forbidden:n = true ,
- transparent .bool_set:N = \l_@@_transparent_bool ,
- transparent .default:n = true ,
- transparent .initial:n = false ,
- unknown .code:n = \@@_error:n { Unknown~key~for~Block }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The command |\@@_draw_blocks:| will draw all the blocks. This command is used
-% after the construction of the array. We have to revert to a clean version of
-% |\ialign| because there may be tabulars in the |\Block| instructions that will
-% be composed now.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_draw_blocks:
- {
- \cs_set_eq:NN \ialign \@@_old_ialign:
- \seq_map_inline:Nn \g_@@_blocks_seq { \@@_Block_iv:nnnnnn ##1 }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block_iv:nnnnnn #1 #2 #3 #4 #5 #6
- {
-% \end{macrocode}
-% The integer |\l_@@_last_row_int| will be the last row of the block and
-% |\l_@@_last_col_int| its last column.
-% \begin{macrocode}
- \int_zero_new:N \l_@@_last_row_int
- \int_zero_new:N \l_@@_last_col_int
-% \end{macrocode}
-%
-% We remind that the first mandatory argument of the command |\Block| is the
-% size of the block with the special format $i$|-|$j$. However, the user is
-% allowed to omit $i$ or $j$ (or both). This will be interpreted as: the last
-% row (resp. column) of the block will be the last row (resp. column) of the
-% block (without the potential exterior row---resp. column---of the array). By
-% convention, this is stored in |\g_@@_blocks_seq| as a number of rows (resp.
-% columns) for the block equal to 100. That's what we detect now.
-% \begin{macrocode}
- \int_compare:nNnTF { #3 } > { 99 }
- { \int_set_eq:NN \l_@@_last_row_int \c@iRow }
- { \int_set:Nn \l_@@_last_row_int { #3 } }
- \int_compare:nNnTF { #4 } > { 99 }
- { \int_set_eq:NN \l_@@_last_col_int \c@jCol }
- { \int_set:Nn \l_@@_last_col_int { #4 } }
- \int_compare:nNnTF \l_@@_last_col_int > \g_@@_col_total_int
- {
- \bool_lazy_and:nnTF
- \l_@@_preamble_bool
- {
- \int_compare_p:n
- { \l_@@_last_col_int <= \g_@@_static_num_of_col_int }
- }
- {
- \msg_error:nnnn { nicematrix } { Block~too~large~2 } { #1 } { #2 }
- \@@_msg_redirect_name:nn { Block~too~large~2 } { none }
- \@@_msg_redirect_name:nn { columns~not~used } { none }
- }
- { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
- }
- {
- \int_compare:nNnTF \l_@@_last_row_int > \g_@@_row_total_int
- { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
- { \@@_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The following command |\@@_Block_v:nnnnnn| will actually draw the block.
-% |#1| is the first row of the block;
-% |#2| is the first column of the block;
-% |#3| is the last row of the block;
-% |#4| is the last column of the block;
-% |#5| is a list of \textsl{key=value} options;
-% |#6| is the label
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_Block_v:nnnnnn #1 #2 #3 #4 #5 #6
- {
-% \end{macrocode}
-% The group is for the keys.
-% \begin{macrocode}
- \group_begin:
- \int_compare:nNnT { #1 } = { #3 }
- { \str_set:Nn \l_@@_vpos_block_str { t } }
- \keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \bool_if:NT \l_@@_vlines_block_bool
- {
- \tl_gput_right:Nx \g_nicematrix_code_after_tl
- {
- \@@_vlines_block:nnn
- { \exp_not:n { #5 } }
- { #1 - #2 }
- { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
- }
- }
- \bool_if:NT \l_@@_hlines_block_bool
- {
- \tl_gput_right:Nx \g_nicematrix_code_after_tl
- {
- \@@_hlines_block:nnn
- { \exp_not:n { #5 } }
- { #1 - #2 }
- { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
- }
- }
- \bool_if:NF \l_@@_transparent_bool
- {
- \bool_lazy_and:nnF \l_@@_vlines_block_bool \l_@@_hlines_block_bool
- {
-% \end{macrocode}
-% The sequence of the positions of the blocks (excepted the blocks with the key
-% |hvlines|) will be used when drawing the rules (in fact, there is also the
-% |\multicolumn| and the |\diagbox| in that sequence).
-% \begin{macrocode}
- \seq_gput_left:Nx \g_@@_pos_of_blocks_seq
- { { #1 } { #2 } { #3 } { #4 } { \l_@@_block_name_str } }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
- \tl_if_empty:NF \l_@@_draw_tl
- {
- \bool_lazy_or:nnT \l_@@_hlines_block_bool \l_@@_vlines_block_bool
- { \@@_error:n { hlines~with~color } }
- }
-% \end{macrocode}
-% \bigskip
-% \begin{macrocode}
- \tl_if_empty:NF \l_@@_draw_tl
- {
- \tl_gput_right:Nx \g_nicematrix_code_after_tl
- {
- \@@_stroke_block:nnn
- { \exp_not:n { #5 } } % #5 are the options
- { #1 - #2 }
- { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
- }
- \seq_gput_right:Nn \g_@@_pos_of_stroken_blocks_seq
- { { #1 } { #2 } { #3 } { #4 } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \clist_if_empty:NF \l_@@_borders_clist
- {
- \tl_gput_right:Nx \g_nicematrix_code_after_tl
- {
- \@@_stroke_borders_block:nnn
- { \exp_not:n { #5 } }
- { #1 - #2 }
- { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \tl_if_empty:NF \l_@@_fill_tl
- {
- \tl_if_empty:NF \l_@@_opacity_tl
- {
- \tl_if_head_eq_meaning:nNTF \l_@@_fill_tl [
- {
- \tl_set:Nx \l_@@_fill_tl
- {
- [ opacity = \l_@@_opacity_tl ,
- \tl_tail:o \l_@@_fill_tl
- }
- }
- {
- \tl_set:Nx \l_@@_fill_tl
- { [ opacity = \l_@@_opacity_tl ] { \l_@@_fill_tl } }
- }
- }
- \tl_gput_right:Nx \g_@@_pre_code_before_tl
- {
- \exp_not:N \roundedrectanglecolor
- \exp_args:No \tl_if_head_eq_meaning:nNTF \l_@@_fill_tl [
- { \l_@@_fill_tl }
- { { \l_@@_fill_tl } }
- { #1 - #2 }
- { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
- { \dim_use:N \l_@@_rounded_corners_dim }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \seq_if_empty:NF \l_@@_tikz_seq
- {
- \tl_gput_right:Nx \g_nicematrix_code_before_tl
- {
- \@@_block_tikz:nnnnn
- { #1 }
- { #2 }
- { \int_use:N \l_@@_last_row_int }
- { \int_use:N \l_@@_last_col_int }
- { \seq_use:Nn \l_@@_tikz_seq { , } }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \cs_set_protected_nopar:Npn \diagbox ##1 ##2
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_actually_diagbox:nnnnnn
- { #1 }
- { #2 }
- { \int_use:N \l_@@_last_row_int }
- { \int_use:N \l_@@_last_col_int }
- { \exp_not:n { ##1 } } { \exp_not:n { ##2 } }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
- \hbox_set:Nn \l_@@_cell_box { \set@color #6 }
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
-% \end{macrocode}
-%
-% \bigskip
-% Let's consider the following |{NiceTabular}|. Because of the instruction
-% |!{\hspace{1cm}}| in the preamble which increases the space between the
-% columns (by adding, in fact, that space to the previous column, that is to say
-% the second column of the tabular), we will create \emph{two} nodes relative to
-% the block: the node |1-1-block| and the node |1-1-block-short|.
-%
-% \begin{Verbatim}
-% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
-% \Block{2-2}{our block} & & one \\
-% & & two \\
-% three & four & five \\
-% six & seven & eight \\
-% \end{NiceTabular}
-% \end{Verbatim}
-%
-% \tikzset{highlight/.style={rectangle,
-% fill=red!15,
-% blend mode = multiply,
-% rounded corners = 0pt,
-% inner sep=0pt,
-% fit = #1}}
-%
-% \begin{tabular}{c@{\hspace{1cm}}c}
-% We highlight the node |1-1-block|
-% &
-% We highlight the node |1-1-block-short| \\[2mm]
-% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
-% \Block{2-2}{our block} & & one \\
-% & & two \\
-% three & four & five \\
-% six & seven & eight \\
-% \CodeAfter
-% \tikz \node [highlight = (1-1-block)] { } ;
-% \end{NiceTabular}
-% &
-% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
-% \Block{2-2}{our block} & & one \\
-% & & two \\
-% three & four & five \\
-% six & seven & eight \\
-% \CodeAfter
-% \tikz \node [highlight = (1-1-block-short)] { } ;
-% \end{NiceTabular}
-% \end{tabular}
-%
-%
-% \bigskip
-% The construction of the node corresponding to the merged cells.
-% \begin{macrocode}
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - #1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- \@@_qpoint:n { row - \int_eval:n { \l_@@_last_row_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
- \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
-% \end{macrocode}
-%
-% We construct the node for the block with the name |(#1-#2-block)|.
-%
-% The function |\@@_pgf_rect_node:nnnnn| takes in as arguments the name of the node
-% and the four coordinates of two opposite corner points of the rectangle.
-% \begin{macrocode}
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block }
- \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
- \str_if_empty:NF \l_@@_block_name_str
- {
- \pgfnodealias
- { \@@_env: - \l_@@_block_name_str }
- { \@@_env: - #1 - #2 - block }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \l_@@_block_name_str }
- { \@@_env: - #1 - #2 - block }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% Now, we create the ``short node'' which, in general, will be used to put the
-% label (that is to say the content of the node). However, if one the keys |L|, |C| or
-% |R| is used (that information is provided by the boolean
-% |\l_@@_hpos_of_block_cap_bool|), we don't need to create that node since the
-% normal node is used to put the label.
-%
-% \begin{macrocode}
- \bool_if:NF \l_@@_hpos_of_block_cap_bool
- {
- \dim_set_eq:NN \l_tmpb_dim \c_max_dim
-% \end{macrocode}
-% The short node is constructed by taking into account the \emph{contents} of
-% the columns involved in at least one cell of the block. That's why we have to
-% do a loop over the rows of the array.
-% \begin{macrocode}
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
-% \end{macrocode}
-% We recall that, when a cell is empty, no (normal) node is created in that
-% cell. That's why we test the existence of the node before using it.
-% \begin{macrocode}
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
- {
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
- \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
- }
- }
- }
-% \end{macrocode}
-% If all the cells of the column were empty, |\l_tmpb_dim| has still the same
-% value |\c_max_dim|. In that case, you use for |\l_tmpb_dim| the value of the
-% position of the vertical rule.
-% \begin{macrocode}
- \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
- {
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- }
- \dim_set:Nn \l_@@_tmpd_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
- {
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
- { east }
- \dim_set:Nn \l_@@_tmpd_dim { \dim_max:nn \l_@@_tmpd_dim \pgf@x }
- }
- }
- }
- \dim_compare:nNnT \l_@@_tmpd_dim = { - \c_max_dim }
- {
- \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
- }
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block - short }
- \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
- }
-% \end{macrocode}
-%
-% \medskip
-% If the creation of the ``medium nodes'' is required, we create a ``medium
-% node'' for the block. The function |\@@_pgf_rect_node:nnn| takes in as
-% arguments the name of the node and two \textsc{pgf} points.
-% \begin{macrocode}
- \bool_if:NT \l_@@_medium_nodes_bool
- {
- \@@_pgf_rect_node:nnn
- { \@@_env: - #1 - #2 - block - medium }
- { \pgfpointanchor { \@@_env: - #1 - #2 - medium } { north~west } }
- {
- \pgfpointanchor
- { \@@_env:
- - \int_use:N \l_@@_last_row_int
- - \int_use:N \l_@@_last_col_int - medium
- }
- { south~east }
- }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% Now, we will put the label of the block.
-% \begin{macrocode}
- \bool_lazy_any:nTF
- {
- { \str_if_eq_p:on \l_@@_vpos_block_str { c } }
- { \str_if_eq_p:on \l_@@_vpos_block_str { T } }
- { \str_if_eq_p:on \l_@@_vpos_block_str { B } }
- }
-% \end{macrocode}
-% \medskip
-% \begin{macrocode}
- {
-% \end{macrocode}
-% If we are in the first column, we must put the block as if it was with the key~|r|.
-% \begin{macrocode}
- \int_if_zero:nT { #2 } { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_r_str }
-% \end{macrocode}
-% If we are in the last column, we must put the block as if it was with the key~|l|.
-% \begin{macrocode}
- \bool_if:nT \g_@@_last_col_found_bool
- {
- \int_compare:nNnT { #2 } = \g_@@_col_total_int
- { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_l_str }
- }
-% \end{macrocode}
-% |\l_tmpa_tl| will contain the anchor of the \textsc{pgf} node which will be used.
-% \begin{macrocode}
- \tl_set:Nx \l_tmpa_tl
- {
- \str_case:on \l_@@_vpos_block_str
- {
- c {
- \str_case:on \l_@@_hpos_block_str
- {
- c { center }
- l { west }
- r { east }
- }
-
- }
- T {
- \str_case:on \l_@@_hpos_block_str
- {
- c { north }
- l { north~west }
- r { north~east }
- }
-
- }
- B {
- \str_case:on \l_@@_hpos_block_str
- {
- c { south}
- l { south~west }
- r { south~east }
- }
-
- }
- }
- }
-% \end{macrocode}
-% \begin{macrocode}
- \pgftransformshift
- {
- \pgfpointanchor
- {
- \@@_env: - #1 - #2 - block
- \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
- }
- { \l_tmpa_tl }
- }
- \pgfset
- {
- inner~xsep = \c_zero_dim ,
- inner~ysep = \c_zero_dim
- }
- \pgfnode
- { rectangle }
- { \l_tmpa_tl }
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
-% \end{macrocode}
-% End of the case when |\l_@@_vpos_block_str| is equal to |c|, |T| or |B|.
-% Now, the other cases.
-% \begin{macrocode}
- {
-% \end{macrocode}
-%
-% \begin{macrocode}
- \pgfextracty \l_tmpa_dim
- {
- \@@_qpoint:n
- {
- row - \str_if_eq:onTF \l_@@_vpos_block_str { b } { #3 } { #1 }
- - base
- }
- }
- \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth } % added 2023-02-21
-% \end{macrocode}
-% We retrieve (in |\pgf@x|) the $x$-value of the center of the block.
-% \begin{macrocode}
- \pgfpointanchor
- {
- \@@_env: - #1 - #2 - block
- \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
- }
- {
- \str_case:on \l_@@_hpos_block_str
- {
- c { center }
- l { west }
- r { east }
- }
- }
-% \end{macrocode}
-% We put the label of the block which has been composed in |\l_@@_cell_box|.
-% \begin{macrocode}
- \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
- \pgfset { inner~sep = \c_zero_dim }
- \pgfnode
- { rectangle }
- {
- \str_case:on \l_@@_hpos_block_str
- {
- c { base }
- l { base~west }
- r { base~east }
- }
- }
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \endpgfpicture
- \group_end:
- }
-% \end{macrocode}
-%
-%
-% % \bigskip
-% The first argument of |\@@_stroke_block:nnn| is a list of options for the
-% rectangle that you will stroke. The second argument is the upper-left cell of
-% the block (with, as usual, the syntax $i$|-|$j$) and the third is the last
-% cell of the block (with the same syntax).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_stroke_block:nnn #1 #2 #3
- {
- \group_begin:
- \tl_clear:N \l_@@_draw_tl
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockStroke } { #1 }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \tl_if_empty:NF \l_@@_draw_tl
- {
-% \end{macrocode}
-% If the user has used the key |color| of the command |\Block| without value,
-% the color fixed by |\arrayrulecolor| is used.
-% \begin{macrocode}
- \tl_if_eq:NNTF \l_@@_draw_tl \c_@@_default_tl
- { \CT@arc@ }
- { \@@_color:o \l_@@_draw_tl }
- }
- \pgfsetcornersarced
- {
- \pgfpoint
- { \l_@@_rounded_corners_dim }
- { \l_@@_rounded_corners_dim }
- }
- \@@_cut_on_hyphen:w #2 \q_stop
- \int_compare:nNnF \l_tmpa_tl > \c@iRow
- {
- \int_compare:nNnF \l_tmpb_tl > \c@jCol
- {
- \@@_qpoint:n { row - \l_tmpa_tl }
- \dim_set_eq:NN \l_tmpb_dim \pgf@y
- \@@_qpoint:n { col - \l_tmpb_tl }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
- \@@_cut_on_hyphen:w #3 \q_stop
- \int_compare:nNnT \l_tmpa_tl > \c@iRow
- { \tl_set:No \l_tmpa_tl { \int_use:N \c@iRow } }
- \int_compare:nNnT \l_tmpb_tl > \c@jCol
- { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
- \@@_qpoint:n { row - \int_eval:n { \l_tmpa_tl + 1 } }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - \int_eval:n { \l_tmpb_tl + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
- \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
- \pgfpathrectanglecorners
- { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
- { \pgfpoint \l_@@_tmpd_dim \l_tmpa_dim }
- \dim_compare:nNnTF \l_@@_rounded_corners_dim = \c_zero_dim
- { \pgfusepathqstroke }
- { \pgfusepath { stroke } }
- }
- }
- \endpgfpicture
- \group_end:
- }
-% \end{macrocode}
-%
-% Here is the set of keys for the command |\@@_stroke_block:nnn|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / BlockStroke }
- {
- color .tl_set:N = \l_@@_draw_tl ,
- draw .code:n =
- \exp_args:Ne \tl_if_empty:nF { #1 } { \tl_set:Nn \l_@@_draw_tl { #1 } } ,
- draw .default:n = default ,
- line-width .dim_set:N = \l_@@_line_width_dim ,
- rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
- rounded-corners .default:n = 4 pt
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% The first argument of |\@@_vlines_block:nnn| is a list of options for the
-% rules that we will draw. The second argument is the upper-left cell of the
-% block (with, as usual, the syntax $i$|-|$j$) and the third is the last cell of
-% the block (with the same syntax).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_vlines_block:nnn #1 #2 #3
- {
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
- \@@_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
- \@@_cut_on_hyphen:w #3 \q_stop
- \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
- \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
- \int_step_inline:nnn \l_@@_tmpd_tl \l_tmpb_tl
- {
- \use:e
- {
- \@@_vline:n
- {
- position = ##1 ,
- start = \l_@@_tmpc_tl ,
- end = \int_eval:n { \l_tmpa_tl - 1 } ,
- total-width = \dim_use:N \l_@@_line_width_dim
- }
- }
- }
- }
-\cs_new_protected:Npn \@@_hlines_block:nnn #1 #2 #3
- {
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
- \@@_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
- \@@_cut_on_hyphen:w #3 \q_stop
- \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
- \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
- \int_step_inline:nnn \l_@@_tmpc_tl \l_tmpa_tl
- {
- \use:e
- {
- \@@_hline:n
- {
- position = ##1 ,
- start = \l_@@_tmpd_tl ,
- end = \int_eval:n { \l_tmpb_tl - 1 } ,
- total-width = \dim_use:N \l_@@_line_width_dim
- }
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% The first argument of |\@@_stroke_borders_block:nnn| is a list of options for
-% the borders that you will stroke. The second argument is the upper-left cell
-% of the block (with, as usual, the syntax $i$|-|$j$) and the third is the last
-% cell of the block (with the same syntax).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_stroke_borders_block:nnn #1 #2 #3
- {
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
- \dim_compare:nNnTF \l_@@_rounded_corners_dim > \c_zero_dim
- { \@@_error:n { borders~forbidden } }
- {
- \tl_clear_new:N \l_@@_borders_tikz_tl
- \keys_set:nV
- { NiceMatrix / OnlyForTikzInBorders }
- \l_@@_borders_clist
- \@@_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
- \@@_cut_on_hyphen:w #3 \q_stop
- \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
- \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
- \@@_stroke_borders_block_i:
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_new_protected:Npx \@@_stroke_borders_block_i:
- {
- \c_@@_pgfortikzpicture_tl
- \@@_stroke_borders_block_ii:
- \c_@@_endpgfortikzpicture_tl
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_stroke_borders_block_ii:
- {
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \CT@arc@
- \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
- \clist_if_in:NnT \l_@@_borders_clist { right }
- { \@@_stroke_vertical:n \l_tmpb_tl }
- \clist_if_in:NnT \l_@@_borders_clist { left }
- { \@@_stroke_vertical:n \l_@@_tmpd_tl }
- \clist_if_in:NnT \l_@@_borders_clist { bottom }
- { \@@_stroke_horizontal:n \l_tmpa_tl }
- \clist_if_in:NnT \l_@@_borders_clist { top }
- { \@@_stroke_horizontal:n \l_@@_tmpc_tl }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / OnlyForTikzInBorders }
- {
- tikz .code:n =
- \cs_if_exist:NTF \tikzpicture
- { \tl_set:Nn \l_@@_borders_tikz_tl { #1 } }
- { \@@_error:n { tikz~in~borders~without~tikz } } ,
- tikz .value_required:n = true ,
- top .code:n = ,
- bottom .code:n = ,
- left .code:n = ,
- right .code:n = ,
- unknown .code:n = \@@_error:n { bad~border }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The following command is used to stroke the left border and the right border.
-% The argument |#1| is the number of column (in the sense of the |col| node).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_stroke_vertical:n #1
- {
- \@@_qpoint:n \l_@@_tmpc_tl
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \l_@@_line_width_dim }
- \@@_qpoint:n \l_tmpa_tl
- \dim_set:Nn \l_@@_tmpc_dim { \pgf@y + 0.5 \l_@@_line_width_dim }
- \@@_qpoint:n { #1 }
- \tl_if_empty:NTF \l_@@_borders_tikz_tl
- {
- \pgfpathmoveto { \pgfpoint \pgf@x \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \pgf@x \l_@@_tmpc_dim }
- \pgfusepathqstroke
- }
- {
- \use:e { \exp_not:N \draw [ \l_@@_borders_tikz_tl ] }
- ( \pgf@x , \l_tmpb_dim ) -- ( \pgf@x , \l_@@_tmpc_dim ) ;
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% The following command is used to stroke the top border and the bottom border.
-% The argument |#1| is the number of row (in the sense of the |row| node).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_stroke_horizontal:n #1
- {
- \@@_qpoint:n \l_@@_tmpd_tl
- \clist_if_in:NnTF \l_@@_borders_clist { left }
- { \dim_set:Nn \l_tmpa_dim { \pgf@x - 0.5 \l_@@_line_width_dim } }
- { \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \l_@@_line_width_dim } }
- \@@_qpoint:n \l_tmpb_tl
- \dim_set:Nn \l_tmpb_dim { \pgf@x + 0.5 \l_@@_line_width_dim }
- \@@_qpoint:n { #1 }
- \tl_if_empty:NTF \l_@@_borders_tikz_tl
- {
- \pgfpathmoveto { \pgfpoint \l_tmpa_dim \pgf@y }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \pgf@y }
- \pgfusepathqstroke
- }
- {
- \use:e { \exp_not:N \draw [ \l_@@_borders_tikz_tl ] }
- ( \l_tmpa_dim , \pgf@y ) -- ( \l_tmpb_dim , \pgf@y ) ;
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% Here is the set of keys for the command |\@@_stroke_borders_block:nnn|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / BlockBorders }
- {
- borders .clist_set:N = \l_@@_borders_clist ,
- rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
- rounded-corners .default:n = 4 pt ,
- line-width .dim_set:N = \l_@@_line_width_dim
- }
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be used if the key |tikz| has been used for the
-% command |\Block|. The arguments |#1| and |#2| are the coordinates of the first
-% cell and |#3| and |#4| the coordinates of the last cell of the block. |#5| is
-% a comma-separated list of the Tikz keys used with the path. However, among
-% those keys, you have added in \pkg{nicematrix} a special key |offset| (an
-% offset for the rectangle of the block). That's why we have to extract that key
-% first.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_block_tikz:nnnnn #1 #2 #3 #4 #5
- {
- \begin { tikzpicture }
- \@@_clip_with_rounded_corners:
- \clist_map_inline:nn { #5 }
- {
- \keys_set_known:nnN { NiceMatrix / SpecialOffset } { ##1 } \l_tmpa_tl
- \use:e { \exp_not:N \path [ \l_tmpa_tl ] }
- (
- [
- xshift = \dim_use:N \l_@@_offset_dim ,
- yshift = - \dim_use:N \l_@@_offset_dim
- ]
- #1 -| #2
- )
- rectangle
- (
- [
- xshift = - \dim_use:N \l_@@_offset_dim ,
- yshift = \dim_use:N \l_@@_offset_dim
- ]
- \int_eval:n { #3 + 1 } -| \int_eval:n { #4 + 1 }
- ) ;
- }
- \end { tikzpicture }
- }
-\cs_generate_variant:Nn \@@_block_tikz:nnnnn { n n n n V }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / SpecialOffset }
- { offset .dim_set:N = \l_@@_offset_dim }
-% \end{macrocode}
-%
-%
-% \section{How to draw the dotted lines transparently}
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_renew_matrix:
- {
- \RenewDocumentEnvironment { pmatrix } { }
- { \pNiceMatrix }
- { \endpNiceMatrix }
- \RenewDocumentEnvironment { vmatrix } { }
- { \vNiceMatrix }
- { \endvNiceMatrix }
- \RenewDocumentEnvironment { Vmatrix } { }
- { \VNiceMatrix }
- { \endVNiceMatrix }
- \RenewDocumentEnvironment { bmatrix } { }
- { \bNiceMatrix }
- { \endbNiceMatrix }
- \RenewDocumentEnvironment { Bmatrix } { }
- { \BNiceMatrix }
- { \endBNiceMatrix }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{Automatic arrays}
-%
-%
-%
-% We will extract some keys and pass the other keys to the environment
-% |{NiceArrayWithDelims}|.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Auto }
- {
- columns-type .tl_set:N = \l_@@_columns_type_tl ,
- columns-type .value_required:n = true ,
- l .meta:n = { columns-type = l } ,
- r .meta:n = { columns-type = r } ,
- c .meta:n = { columns-type = c } ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
- delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
- delimiters .value_required:n = true ,
- rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
- rounded-corners .default:n = 4 pt
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\NewDocumentCommand \AutoNiceMatrixWithDelims
- { m m O { } > { \SplitArgument { 1 } { - } } m O { } m ! O { } }
- { \@@_auto_nice_matrix:nnnnnn { #1 } { #2 } #4 { #6 } { #3 , #5 , #7 } }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_auto_nice_matrix:nnnnnn #1 #2 #3 #4 #5 #6
- {
-% \end{macrocode}
-% The group is for the protection of the keys.
-% \begin{macrocode}
- \group_begin:
- \keys_set_known:nnN { NiceMatrix / Auto } { #6 } \l_tmpa_tl
- \use:e
- {
- \exp_not:N \begin { NiceArrayWithDelims } { #1 } { #2 }
- { * { #4 } { \exp_not:o \l_@@_columns_type_tl } }
- [ \exp_not:o \l_tmpa_tl ]
- }
- \int_if_zero:nT \l_@@_first_row_int
- {
- \int_if_zero:nT \l_@@_first_col_int { & }
- \prg_replicate:nn { #4 - 1 } { & }
- \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
- }
- \prg_replicate:nn { #3 }
- {
- \int_if_zero:nT \l_@@_first_col_int { & }
-% \end{macrocode}
-% We put |{ }| before |#6| to avoid a hasty expansion of a potential
-% |\arabic{iRow}| at the beginning of the row which would result in an incorrect
-% value of that |iRow| (since |iRow| is incremented in the first cell of the row
-% of the |\halign|).
-% \begin{macrocode}
- \prg_replicate:nn { #4 - 1 } { { } #5 & } #5
- \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
- }
- \int_compare:nNnT \l_@@_last_row_int > { -2 }
- {
- \int_if_zero:nT \l_@@_first_col_int { & }
- \prg_replicate:nn { #4 - 1 } { & }
- \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
- }
- \end { NiceArrayWithDelims }
- \group_end:
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_define_com:nnn #1 #2 #3
- {
- \cs_set_protected:cpn { #1 AutoNiceMatrix }
- {
- \bool_gset_true:N \g_@@_delims_bool
- \str_gset:Nx \g_@@_name_env_str { #1 AutoNiceMatrix }
- \AutoNiceMatrixWithDelims { #2 } { #3 }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_define_com:nnn p ( )
-\@@_define_com:nnn b [ ]
-\@@_define_com:nnn v | |
-\@@_define_com:nnn V \| \|
-\@@_define_com:nnn B \{ \}
-% \end{macrocode}
-%
-% \bigskip
-% We define also a command |\AutoNiceMatrix| similar to the environment |{NiceMatrix}|.
-% \begin{macrocode}
-\NewDocumentCommand \AutoNiceMatrix { O { } m O { } m ! O { } }
- {
- \group_begin:
- \bool_gset_false:N \g_@@_delims_bool
- \AutoNiceMatrixWithDelims . . { #2 } { #4 } [ #1 , #3 , #5 ]
- \group_end:
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The redefinition of the command \textbackslash dotfill }
-%
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_dotfill \dotfill
-\cs_new_protected:Npn \@@_dotfill:
- {
-% \end{macrocode}
-% First, we insert |\@@_dotfill| (which is the saved version of |\dotfill|) in
-% case of use of |\dotfill| ``internally'' in the cell (e.g. |\hbox to 1cm {\dotfill}|).
-% \begin{macrocode}
- \@@_old_dotfill
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl \@@_dotfill_i:
- }
-% \end{macrocode}
-% Now, if the box if not empty (unfornately, we can't actually test whether the
-% box is empty and that's why we only consider it's width), we insert
-% |\@@_dotfill| (which is the saved version of |\dotfill|) in the cell of the
-% array, and it will extend, since it is no longer in |\l_@@_cell_box|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_dotfill_i:
- { \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } = \c_zero_dim \@@_old_dotfill }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The command \textbackslash diagbox}
-%
-% The command |\diagbox| will be linked to |\diagbox:nn| in the environments of
-% \pkg{nicematrix}. However, there are also redefinitions of |\diagbox| in other
-% circonstancies.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_diagbox:nn #1 #2
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_actually_diagbox:nnnnnn
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
-% \end{macrocode}
-% |\g_@@_row_style_tl| contains several instructions of the form:
-%
-% \qquad |\@@_if_row_less_than:nn { number } { instructions }|
-%
-% The command |\@@_if_row_less:nn| is fully expandable and, thus, the
-% instructions will be inserted in the |\g_@@_pre_code_after_tl| only if
-% |\diagbox| is used in a row which is the scope of that chunck of instructions.
-% \begin{macrocode}
- { \g_@@_row_style_tl \exp_not:n { #1 } }
- { \g_@@_row_style_tl \exp_not:n { #2 } }
- }
-% \end{macrocode}
-% We put the cell with |\diagbox| in the sequence |\g_@@_pos_of_blocks_seq|
-% because a cell with |\diagbox| must be considered as non empty by the key
-% |corners|.
-% \begin{macrocode}
- \seq_gput_right:Nx \g_@@_pos_of_blocks_seq
- {
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
- { \int_use:N \c@iRow }
- { \int_use:N \c@jCol }
-% \end{macrocode}
-% The last argument is for the name of the block.
-% \begin{macrocode}
- { }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\diagbox| is also redefined locally when we draw a block.
-%
-% \medskip
-% The first four arguments of |\@@_actually_diagbox:nnnnnn| correspond to the
-% rectangle (=block) to slash (we recall that it's possible to use |\diagbox| in
-% a |\Block|). The other two are the elements to draw below and above the
-% diagonal line.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_actually_diagbox:nnnnnn #1 #2 #3 #4 #5 #6
- {
- \pgfpicture
- \pgf@relevantforpicturesizefalse
- \pgfrememberpicturepositiononpagetrue
- \@@_qpoint:n { row - #1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- \@@_qpoint:n { row - \int_eval:n { #3 + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
- \@@_qpoint:n { col - \int_eval:n { #4 + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
- \pgfpathlineto { \pgfpoint \l_@@_tmpd_dim \l_@@_tmpc_dim }
- {
-% \end{macrocode}
-% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
-% the rules in the array. The package \pkg{nicematrix} uses it even if \pkg{colortbl} is not
-% loaded.
-% \begin{macrocode}
- \CT@arc@
- \pgfsetroundcap
- \pgfusepathqstroke
- }
- \pgfset { inner~sep = 1 pt }
- \pgfscope
- \pgftransformshift { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
- \pgfnode { rectangle } { south~west }
- {
- \begin { minipage } { 20 cm }
- \@@_math_toggle: #5 \@@_math_toggle:
- \end { minipage }
- }
- { }
- { }
- \endpgfscope
- \pgftransformshift { \pgfpoint \l_@@_tmpd_dim \l_tmpa_dim }
- \pgfnode { rectangle } { north~east }
- {
- \begin { minipage } { 20 cm }
- \raggedleft
- \@@_math_toggle: #6 \@@_math_toggle:
- \end { minipage }
- }
- { }
- { }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-%
-%
-%
-% \bigskip
-% \section{The keyword \textbackslash CodeAfter}
-%
-%
-%
-% \medskip
-% In fact, in this subsection, we define the user command |\CodeAfter| for the
-% case of the ``normal syntax''. For the case of ``light-syntax'', see the
-% definition of the environment |{@@-light-syntax}| on
-% p.~\pageref{code-light-syntax}.
-%
-%
-% \medskip
-% In the environments of \pkg{nicematrix}, |\CodeAfter| will be linked to
-% |\@@_CodeAfter:|. That macro must \emph{not} be protected since it begins with
-% |\omit|.
-% \begin{macrocode}
-\cs_new:Npn \@@_CodeAfter: { \omit \@@_CodeAfter_ii:n }
-% \end{macrocode}
-%
-% \medskip
-% However, in each cell of the environment, the command |\CodeAfter| will be
-% linked to the following command |\@@_CodeAfter_ii:n| which begins
-% with |\\|.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_CodeAfter_i: { \\ \omit \@@_CodeAfter_ii:n }
-% \end{macrocode}
-%
-% \smallskip
-% We have to catch everything until the end of the current environment (of
-% \pkg{nicematrix}). First, we go until the next command |\end|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_CodeAfter_ii:n #1 \end
- {
- \tl_gput_right:Nn \g_nicematrix_code_after_tl { #1 }
- \@@_CodeAfter_iv:n
- }
-% \end{macrocode}
-%
-% We catch the argument of the command |\end| (in |#1|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_CodeAfter_iv:n #1
- {
-% \end{macrocode}
-% If this is really the end of the current environment (of \pkg{nicematrix}), we
-% put back the command |\end| and its argument in the TeX flow.
-% \begin{macrocode}
- \str_if_eq:eeTF \@currenvir { #1 }
- { \end { #1 } }
-% \end{macrocode}
-% If this is not the |\end| we are looking for, we put those tokens in
-% |\g_nicematrix_code_after_tl| and we go on searching for the next command
-% |\end| with a recursive call to the command |\@@_CodeAfter:n|.
-% \begin{macrocode}
- {
- \tl_gput_right:Nn \g_nicematrix_code_after_tl { \end { #1 } }
- \@@_CodeAfter_ii:n
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \section{The delimiters in the preamble}
-%
-% The command |\@@_delimiter:nnn| will be used to draw delimiters inside the
-% matrix when delimiters are specified in the preamble of the array. It does
-% \emph{not} concern the exterior delimiters added by |{NiceArrayWithDelims}|
-% (and |{pNiceArray}|, |{pNiceMatrix}|, etc.).
-%
-% A delimiter in the preamble of the array will write an instruction
-% |\@@_delimiter:nnn| in the |\g_@@_pre_code_after_tl| (and also
-% potentially add instructions in the preamble provided to |\array| in order to
-% add space between columns).
-%
-% \smallskip
-% The first argument is the type of delimiter (|(|, |[|, |\{|, |)|, |]| or
-% |\}|). The second argument is the number of colummn. The third argument is a
-% boolean equal to |\c_true_bool| (resp. |\c_false_true|) when the delimiter
-% must be put on the left (resp. right) side.
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_delimiter:nnn #1 #2 #3
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
-% \end{macrocode}
-%
-% \medskip
-% |\l_@@_y_initial_dim| and |\l_@@_y_final_dim| will be the $y$-values of the
-% extremities of the delimiter we will have to construct.
-% \begin{macrocode}
- \@@_qpoint:n { row - 1 }
- \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { \c@iRow + 1 } }
- \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
-% \end{macrocode}
-%
-% \medskip
-% We will compute in |\l_tmpa_dim| the $x$-value where we will have to put our
-% delimiter (on the left side or on the right side).
-% \begin{macrocode}
- \bool_if:nTF { #3 }
- { \dim_set_eq:NN \l_tmpa_dim \c_max_dim }
- { \dim_set:Nn \l_tmpa_dim { - \c_max_dim } }
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - #2 }
- { \bool_if:nTF { #3 } { west } { east } }
- \dim_set:Nn \l_tmpa_dim
- { \bool_if:nTF { #3 } \dim_min:nn \dim_max:nn \l_tmpa_dim \pgf@x }
- }
- }
-% \end{macrocode}
-%
-%
-% Now we can put the delimiter with a node of \textsc{pgf}.
-% \begin{macrocode}
- \pgfset { inner~sep = \c_zero_dim }
- \dim_zero:N \nulldelimiterspace
- \pgftransformshift
- {
- \pgfpoint
- { \l_tmpa_dim }
- { ( \l_@@_y_initial_dim + \l_@@_y_final_dim + \arrayrulewidth ) / 2 }
- }
- \pgfnode
- { rectangle }
- { \bool_if:nTF { #3 } { east } { west } }
- {
-% \end{macrocode}
-% Here is the content of the \textsc{pgf} node, that is to say the delimiter,
-% constructed with its right size.
-% \begin{macrocode}
- \nullfont
- \c_math_toggle_token
- \@@_color:o \l_@@_delimiters_color_tl
- \bool_if:nTF { #3 } { \left #1 } { \left . }
- \vcenter
- {
- \nullfont
- \hrule \@height
- \dim_eval:n { \l_@@_y_initial_dim - \l_@@_y_final_dim }
- \@depth \c_zero_dim
- \@width \c_zero_dim
- }
- \bool_if:nTF { #3 } { \right . } { \right #1 }
- \c_math_toggle_token
- }
- { }
- { }
- \endpgfpicture
- }
-% \end{macrocode}
-%
-% \section{The command \textbackslash SubMatrix}
-%
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / sub-matrix }
- {
- extra-height .dim_set:N = \l_@@_submatrix_extra_height_dim ,
- extra-height .value_required:n = true ,
- left-xshift .dim_set:N = \l_@@_submatrix_left_xshift_dim ,
- left-xshift .value_required:n = true ,
- right-xshift .dim_set:N = \l_@@_submatrix_right_xshift_dim ,
- right-xshift .value_required:n = true ,
- xshift .meta:n = { left-xshift = #1, right-xshift = #1 } ,
- xshift .value_required:n = true ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- slim .bool_set:N = \l_@@_submatrix_slim_bool ,
- slim .default:n = true ,
- hlines .clist_set:N = \l_@@_submatrix_hlines_clist ,
- hlines .default:n = all ,
- vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
- vlines .default:n = all ,
- hvlines .meta:n = { hlines, vlines } ,
- hvlines .value_forbidden:n = true
- }
-\keys_define:nn { NiceMatrix }
- {
- SubMatrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- pNiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- }
-% \end{macrocode}
-%
-% \medskip
-% The following keys set is for the command |\SubMatrix| itself (not the tuning
-% of |\SubMatrix| that can be done elsewhere).
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / SubMatrix }
- {
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- hlines .clist_set:N = \l_@@_submatrix_hlines_clist ,
- hlines .default:n = all ,
- vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
- vlines .default:n = all ,
- hvlines .meta:n = { hlines, vlines } ,
- hvlines .value_forbidden:n = true ,
- name .code:n =
- \tl_if_empty:nTF { #1 }
- { \@@_error:n { Invalid~name } }
- {
- \regex_match:nnTF { \A[A-Za-z][A-Za-z0-9]*\Z } { #1 }
- {
- \seq_if_in:NnTF \g_@@_submatrix_names_seq { #1 }
- { \@@_error:nn { Duplicate~name~for~SubMatrix } { #1 } }
- {
- \str_set:Nn \l_@@_submatrix_name_str { #1 }
- \seq_gput_right:Nn \g_@@_submatrix_names_seq { #1 }
- }
- }
- { \@@_error:n { Invalid~name } }
- } ,
- name .value_required:n = true ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
- rules .value_required:n = true ,
- code .tl_set:N = \l_@@_code_tl ,
- code .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~SubMatrix }
- }
-% \end{macrocode}
-%
-%
-%
-% \bigskip
-% \begin{macrocode}
-\NewDocumentCommand \@@_SubMatrix_in_code_before { m m m m ! O { } }
- {
- \peek_remove_spaces:n
- {
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \SubMatrix { #1 } { #2 } { #3 } { #4 }
- [
- delimiters / color = \l_@@_delimiters_color_tl ,
- hlines = \l_@@_submatrix_hlines_clist ,
- vlines = \l_@@_submatrix_vlines_clist ,
- extra-height = \dim_use:N \l_@@_submatrix_extra_height_dim ,
- left-xshift = \dim_use:N \l_@@_submatrix_left_xshift_dim ,
- right-xshift = \dim_use:N \l_@@_submatrix_right_xshift_dim ,
- slim = \bool_to_str:N \l_@@_submatrix_slim_bool ,
- #5
- ]
- }
- \@@_SubMatrix_in_code_before_i { #2 } { #3 }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_SubMatrix_in_code_before_i
- { > { \SplitArgument { 1 } { - } } m > { \SplitArgument { 1 } { - } } m }
- { \@@_SubMatrix_in_code_before_i:nnnn #1 #2 }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_SubMatrix_in_code_before_i:nnnn #1 #2 #3 #4
- {
- \seq_gput_right:Nx \g_@@_submatrix_seq
- {
-% \end{macrocode}
-% We use |\str_if_eq:nnTF| because it is fully expandable.
-% \begin{macrocode}
- { \str_if_eq:nnTF { #1 } { last } { \int_use:N \c@iRow } { #1 } }
- { \str_if_eq:nnTF { #2 } { last } { \int_use:N \c@jCol } { #2 } }
- { \str_if_eq:nnTF { #3 } { last } { \int_use:N \c@iRow } { #3 } }
- { \str_if_eq:nnTF { #4 } { last } { \int_use:N \c@jCol } { #4 } }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% In the pre-code-after and in the |\CodeAfter| the following command
-% |\@@_SubMatrix| will be linked to |\SubMatrix|.
-% \begin{itemize}
-% \item |#1| is the left delimiter;
-% \item |#2| is the upper-left cell of the matrix with the format $i$-$j$;
-% \item |#3| is the lower-right cell of the matrix with the format $i$-$j$;
-% \item |#4| is the right delimiter;
-% \item |#5| is the list of options of the command;
-% \item |#6| is the potential subscript;
-% \item |#7| is the potential superscript.
-% \end{itemize}
-% For explanations about the construction with rescanning of the preamble, see
-% the documentation for the user command |\Cdots|.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \cs_set_nopar:Npn \l_@@_argspec_tl { m m m m O { } E { _ ^ } { { } { } } }
- \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
- \exp_args:NNo \NewDocumentCommand \@@_SubMatrix \l_@@_argspec_tl
- {
- \peek_remove_spaces:n
- {
- \@@_sub_matrix:nnnnnnn
- { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } { #7 }
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% The following macro will compute |\l_@@_first_i_tl|, |\l_@@_first_j_tl|,
-% |\l_@@_last_i_tl| and |\l_@@_last_j_tl| from the arguments of the command as
-% provided by the user (for example |2-3| and |5-last|).
-% \begin{macrocode}
-\NewDocumentCommand \@@_compute_i_j:nn
- { > { \SplitArgument { 1 } { - } } m > { \SplitArgument { 1 } { - } } m }
- { \@@_compute_i_j:nnnn #1 #2 }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_compute_i_j:nnnn #1 #2 #3 #4
- {
- \cs_set_nopar:Npn \l_@@_first_i_tl { #1 }
- \cs_set_nopar:Npn \l_@@_first_j_tl { #2 }
- \cs_set_nopar:Npn \l_@@_last_i_tl { #3 }
- \cs_set_nopar:Npn \l_@@_last_j_tl { #4 }
- \tl_if_eq:NnT \l_@@_first_i_tl { last }
- { \tl_set:NV \l_@@_first_i_tl \c@iRow }
- \tl_if_eq:NnT \l_@@_first_j_tl { last }
- { \tl_set:NV \l_@@_first_j_tl \c@jCol }
- \tl_if_eq:NnT \l_@@_last_i_tl { last }
- { \tl_set:NV \l_@@_last_i_tl \c@iRow }
- \tl_if_eq:NnT \l_@@_last_j_tl { last }
- { \tl_set:NV \l_@@_last_j_tl \c@jCol }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_sub_matrix:nnnnnnn #1 #2 #3 #4 #5 #6 #7
- {
- \group_begin:
-% \end{macrocode}
-% The four following token lists correspond to the position of the |\SubMatrix|.
-% \begin{macrocode}
- \@@_compute_i_j:nn { #2 } { #3 }
- \int_compare:nNnT \l_@@_first_i_tl = \l_@@_last_i_tl
- { \cs_set_nopar:Npn \arraystretch { 1 } }
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int }
- { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int }
- { \@@_error:nn { Construct~too~large } { \SubMatrix } }
- {
- \str_clear_new:N \l_@@_submatrix_name_str
- \keys_set:nn { NiceMatrix / SubMatrix } { #5 }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \pgfset { inner~sep = \c_zero_dim }
- \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
- \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
-% \end{macrocode}
-% The last value of |\int_step_inline:nnn| is provided by currifycation.
-% \begin{macrocode}
- \bool_if:NTF \l_@@_submatrix_slim_bool
- { \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl }
- { \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int }
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_first_j_tl }
- {
- \pgfpointanchor { \@@_env: - ##1 - \l_@@_first_j_tl } { west }
- \dim_set:Nn \l_@@_x_initial_dim
- { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
- }
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_last_j_tl }
- {
- \pgfpointanchor { \@@_env: - ##1 - \l_@@_last_j_tl } { east }
- \dim_set:Nn \l_@@_x_final_dim
- { \dim_max:nn \l_@@_x_final_dim \pgf@x }
- }
- }
- \dim_compare:nNnTF \l_@@_x_initial_dim = \c_max_dim
- { \@@_error:nn { Impossible~delimiter } { left } }
- {
- \dim_compare:nNnTF \l_@@_x_final_dim = { - \c_max_dim }
- { \@@_error:nn { Impossible~delimiter } { right } }
- { \@@_sub_matrix_i:nnnn { #1 } { #4 } { #6 } { #7 } }
- }
- \endpgfpicture
- }
- \group_end:
- }
-% \end{macrocode}
-%
-% \bigskip
-% |#1| is the left delimiter, |#2| is the right one, |#3| is the subscript and
-% |#4| is the superscript.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_sub_matrix_i:nnnn #1 #2 #3 #4
- {
- \@@_qpoint:n { row - \l_@@_first_i_tl - base }
- \dim_set:Nn \l_@@_y_initial_dim
- {
- \fp_to_dim:n
- {
- \pgf@y
- + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
- }
- }
- \@@_qpoint:n { row - \l_@@_last_i_tl - base }
- \dim_set:Nn \l_@@_y_final_dim
- { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
- \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - \l_@@_first_i_tl - ##1 }
- {
- \pgfpointanchor { \@@_env: - \l_@@_first_i_tl - ##1 } { north }
- \dim_set:Nn \l_@@_y_initial_dim
- { \dim_max:nn \l_@@_y_initial_dim \pgf@y }
- }
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - \l_@@_last_i_tl - ##1 }
- {
- \pgfpointanchor { \@@_env: - \l_@@_last_i_tl - ##1 } { south }
- \dim_set:Nn \l_@@_y_final_dim
- { \dim_min:nn \l_@@_y_final_dim \pgf@y }
- }
- }
- \dim_set:Nn \l_tmpa_dim
- {
- \l_@@_y_initial_dim - \l_@@_y_final_dim +
- \l_@@_submatrix_extra_height_dim - \arrayrulewidth
- }
- \dim_zero:N \nulldelimiterspace
-% \end{macrocode}
-%
-% \bigskip
-% We will draw the rules in the |\SubMatrix|.
-% \begin{macrocode}
- \group_begin:
- \pgfsetlinewidth { 1.1 \arrayrulewidth }
- \@@_set_CT@arc@:o \l_@@_rules_color_tl
- \CT@arc@
-% \end{macrocode}
-% Now, we draw the potential vertical rules specified in the preamble of the
-% environments with the letter fixed with the key |vlines-in-sub-matrix|. The
-% list of the columns where there is such rule to draw is in |\g_@@_cols_vlism_seq|.
-% \begin{macrocode}
- \seq_map_inline:Nn \g_@@_cols_vlism_seq
- {
- \int_compare:nNnT \l_@@_first_j_tl < { ##1 }
- {
- \int_compare:nNnT
- { ##1 } < { \int_eval:n { \l_@@_last_j_tl + 1 } }
- {
-% \end{macrocode}
-% First, we extract the value of the abscissa of the rule we have to draw.
-% \begin{macrocode}
- \@@_qpoint:n { col - ##1 }
- \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
- \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
- \pgfusepathqstroke
- }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% Now, we draw the vertical rules specified in the key |vlines| of |\SubMatrix|.
-% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
-% by curryfication.
-% \begin{macrocode}
- \tl_if_eq:NNTF \l_@@_submatrix_vlines_clist \c_@@_all_tl
- { \int_step_inline:nn { \l_@@_last_j_tl - \l_@@_first_j_tl } }
- { \clist_map_inline:Nn \l_@@_submatrix_vlines_clist }
- {
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn { ##1 } > \c_zero_int }
- {
- \int_compare_p:nNn
- { ##1 } < { \l_@@_last_j_tl - \l_@@_first_j_tl + 1 } }
- {
- \@@_qpoint:n { col - \int_eval:n { ##1 + \l_@@_first_j_tl } }
- \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
- \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
- \pgfusepathqstroke
- }
- { \@@_error:nnn { Wrong~line~in~SubMatrix } { vertical } { ##1 } }
- }
-% \end{macrocode}
-%
-% \medskip
-% Now, we draw the horizontal rules specified in the key |hlines| of
-% |\SubMatrix|.
-% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
-% by curryfication.
-% \begin{macrocode}
- \tl_if_eq:NNTF \l_@@_submatrix_hlines_clist \c_@@_all_tl
- { \int_step_inline:nn { \l_@@_last_i_tl - \l_@@_first_i_tl } }
- { \clist_map_inline:Nn \l_@@_submatrix_hlines_clist }
- {
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn { ##1 } > \c_zero_int }
- {
- \int_compare_p:nNn
- { ##1 } < { \l_@@_last_i_tl - \l_@@_first_i_tl + 1 } }
- {
- \@@_qpoint:n { row - \int_eval:n { ##1 + \l_@@_first_i_tl } }
-% \end{macrocode}
-% We use a group to protect |\l_tmpa_dim| and |\l_tmpb_dim|.
-% \begin{macrocode}
- \group_begin:
-% \end{macrocode}
-% We compute in |\l_tmpa_dim| the $x$-value of the left end of the rule.
-% \begin{macrocode}
- \dim_set:Nn \l_tmpa_dim
- { \l_@@_x_initial_dim - \l_@@_submatrix_left_xshift_dim }
- \str_case:nn { #1 }
- {
- ( { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
- [ { \dim_sub:Nn \l_tmpa_dim { 0.2 mm } }
- \{ { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
- }
- \pgfpathmoveto { \pgfpoint \l_tmpa_dim \pgf@y }
-% \end{macrocode}
-% We compute in |\l_tmpb_dim| the $x$-value of the right end of the rule.
-% \begin{macrocode}
- \dim_set:Nn \l_tmpb_dim
- { \l_@@_x_final_dim + \l_@@_submatrix_right_xshift_dim }
- \str_case:nn { #2 }
- {
- ) { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
- ] { \dim_add:Nn \l_tmpb_dim { 0.2 mm } }
- \} { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
- }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \pgf@y }
- \pgfusepathqstroke
- \group_end:
- }
- { \@@_error:nnn { Wrong~line~in~SubMatrix } { horizontal } { ##1 } }
- }
-% \end{macrocode}
-%
-% \medskip
-% If the key |name| has been used for the command |\SubMatrix|, we create a PGF
-% node with that name for the submatrix (this node does not encompass the
-% delimiters that we will put after).
-% \begin{macrocode}
- \str_if_empty:NF \l_@@_submatrix_name_str
- {
- \@@_pgf_rect_node:nnnnn \l_@@_submatrix_name_str
- \l_@@_x_initial_dim \l_@@_y_initial_dim
- \l_@@_x_final_dim \l_@@_y_final_dim
- }
- \group_end:
-% \end{macrocode}
-% The group was for |\CT@arc@| (the color of the rules).
-%
-% \medskip
-% Now, we deal with the left delimiter. Of course, the environment
-% |{pgfscope}| is for the |\pgftransformshift|.
-% \begin{macrocode}
- \begin { pgfscope }
- \pgftransformshift
- {
- \pgfpoint
- { \l_@@_x_initial_dim - \l_@@_submatrix_left_xshift_dim }
- { ( \l_@@_y_initial_dim + \l_@@_y_final_dim ) / 2 }
- }
- \str_if_empty:NTF \l_@@_submatrix_name_str
- { \@@_node_left:nn #1 { } }
- { \@@_node_left:nn #1 { \@@_env: - \l_@@_submatrix_name_str - left } }
- \end { pgfscope }
-% \end{macrocode}
-%
-% \medskip
-% Now, we deal with the right delimiter.
-% \begin{macrocode}
- \pgftransformshift
- {
- \pgfpoint
- { \l_@@_x_final_dim + \l_@@_submatrix_right_xshift_dim }
- { ( \l_@@_y_initial_dim + \l_@@_y_final_dim ) / 2 }
- }
- \str_if_empty:NTF \l_@@_submatrix_name_str
- { \@@_node_right:nnnn #2 { } { #3 } { #4 } }
- {
- \@@_node_right:nnnn #2
- { \@@_env: - \l_@@_submatrix_name_str - right } { #3 } { #4 }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
- \cs_set_eq:NN \pgfpointanchor \@@_pgfpointanchor:n
- \flag_clear_new:n { nicematrix }
- \l_@@_code_tl
- }
-% \end{macrocode}
-%
-% \bigskip
-% In the key |code| of the command |\SubMatrix| there may be Tikz instructions.
-% We want that, in these instructions, the $i$ and $j$ in specifications of
-% nodes of the forms $i$|-|$j$, |row-|$i$, |col-|$j$ and $i$\verb+-|+$j$ refer
-% to the number of row and columm \emph{relative} of the current |\SubMatrix|.
-% That's why we will patch (locally in the |\SubMatrix|) the command
-% |\pgfpointanchor|.
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_pgfpointanchor \pgfpointanchor
-% \end{macrocode}
-%
-% \bigskip
-% The following command will be linked to |\pgfpointanchor| just before the
-% execution of the option |code| of the command |\SubMatrix|. In this command,
-% we catch the argument |#1| of |\pgfpointanchor| and we apply to it the command
-% |\@@_pgfpointanchor_i:nn| before passing it to the original |\pgfpointanchor|.
-% We have to act in an expandable way because the command |\pgfpointanchor| is
-% used in names of Tikz nodes which are computed in an expandable way.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_pgfpointanchor:n #1
- {
- \use:e
- { \exp_not:N \@@_old_pgfpointanchor { \@@_pgfpointanchor_i:nn #1 } }
- }
-% \end{macrocode}
-%
-% \bigskip
-% In fact, the argument of |\pgfpointanchor| is always of the form
-% |\a_command { name_of_node }| where ``|name_of_node|'' is the name of the Tikz
-% node without the potential prefix and suffix. That's why we catch two
-% arguments and work only on the second by trying (first) to extract an hyphen |-|.
-% \begin{macrocode}
-\cs_new:Npn \@@_pgfpointanchor_i:nn #1 #2
- { #1 { \@@_pgfpointanchor_ii:w #2 - \q_stop } }
-% \end{macrocode}
-%
-% \bigskip
-% Since |\seq_if_in:NnTF| and |\clist_if_in:NnTF| are not expandable, we will
-% use the following token list and |\str_case:nVTF| to test whether we have an
-% integer or not.
-% \begin{macrocode}
-\tl_const:Nn \c_@@_integers_alist_tl
- {
- { 1 } { } { 2 } { } { 3 } { } { 4 } { } { 5 } { }
- { 6 } { } { 7 } { } { 8 } { } { 9 } { } { 10 } { }
- { 11 } { } { 12 } { } { 13 } { } { 14 } { } { 15 } { }
- { 16 } { } { 17 } { } { 18 } { } { 19 } { } { 20 } { }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\cs_new:Npn \@@_pgfpointanchor_ii:w #1-#2\q_stop
- {
-% \end{macrocode}
-% If there is no hyphen, that means that the node is of the form of a single
-% number (ex.: |5| or |11|). In that case, we are in an analysis which result
-% from a specification of node of the form $i$\verb+-|+$j$. In that case, the
-% $i$ of the number of row arrives first (and alone) in a |\pgfpointanchor| and,
-% the, the $j$ arrives (alone) in the following |\pgfpointanchor|. In order to
-% know whether we have a number of row or a number of column, we keep track of
-% the number of such treatments by the expandable flag called |nicematrix|.
-% \begin{macrocode}
- \tl_if_empty:nTF { #2 }
- {
- \str_case:nVTF { #1 } \c_@@_integers_alist_tl
- {
- \flag_raise:n { nicematrix }
- \int_if_even:nTF { \flag_height:n { nicematrix } }
- { \int_eval:n { #1 + \l_@@_first_i_tl - 1 } }
- { \int_eval:n { #1 + \l_@@_first_j_tl - 1 } }
- }
- { #1 }
- }
-% \end{macrocode}
-% If there is an hyphen, we have to see whether we have a node of the form
-% $i$|-|$j$, |row-|$i$ or |col-|$j$.
-% \begin{macrocode}
- { \@@_pgfpointanchor_iii:w { #1 } #2 }
- }
-% \end{macrocode}
-%
-% \bigskip
-% There was an hyphen in the name of the node and that's why we have to retrieve
-% the extra hyphen we have put (cf. |\@@_pgfpointanchor_i:nn|).
-% \begin{macrocode}
-\cs_new:Npn \@@_pgfpointanchor_iii:w #1 #2 -
- {
- \str_case:nnF { #1 }
- {
- { row } { row - \int_eval:n { #2 + \l_@@_first_i_tl - 1 } }
- { col } { col - \int_eval:n { #2 + \l_@@_first_j_tl - 1 } }
- }
-% \end{macrocode}
-% Now the case of a node of the form $i$|-|$j$.
-% \begin{macrocode}
- {
- \int_eval:n { #1 + \l_@@_first_i_tl - 1 }
- - \int_eval:n { #2 + \l_@@_first_j_tl - 1 }
- }
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\@@_node_left:nn| puts the left delimiter with the correct size.
-% The argument |#1| is the delimiter to put. The argument |#2| is the name we
-% will give to this PGF node (if the key |name| has been used in |\SubMatrix|).
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_node_left:nn #1 #2
- {
- \pgfnode
- { rectangle }
- { east }
- {
- \nullfont
- \c_math_toggle_token
- \@@_color:o \l_@@_delimiters_color_tl
- \left #1
- \vcenter
- {
- \nullfont
- \hrule \@height \l_tmpa_dim
- \@depth \c_zero_dim
- \@width \c_zero_dim
- }
- \right .
- \c_math_toggle_token
- }
- { #2 }
- { }
- }
-% \end{macrocode}
-%
-% \medskip
-% The command |\@@_node_right:nn| puts the right delimiter with the correct size.
-% The argument |#1| is the delimiter to put. The argument |#2| is the name we
-% will give to this PGF node (if the key |name| has been used in |\SubMatrix|).
-% The argument |#3| is the subscript and |#4| is the superscript.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_node_right:nnnn #1 #2 #3 #4
- {
- \pgfnode
- { rectangle }
- { west }
- {
- \nullfont
- \c_math_toggle_token
- \@@_color:o \l_@@_delimiters_color_tl
- \left .
- \vcenter
- {
- \nullfont
- \hrule \@height \l_tmpa_dim
- \@depth \c_zero_dim
- \@width \c_zero_dim
- }
- \right #1
- \tl_if_empty:nF { #3 } { _ { \smash { #3 } } }
- ^ { \smash { #4 } }
- \c_math_toggle_token
- }
- { #2 }
- { }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{Les commandes \textbackslash UnderBrace et \textbackslash
-% OverBrace}
-%
-% The following commands will be linked to |\UnderBrace| and |\OverBrace| in the
-% |\CodeAfter|.
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_UnderBrace { O { } m m m O { } }
- {
- \peek_remove_spaces:n
- { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { under } }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_OverBrace { O { } m m m O { } }
- {
- \peek_remove_spaces:n
- { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { over } }
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Brace }
- {
- left-shorten .bool_set:N = \l_@@_brace_left_shorten_bool ,
- left-shorten .default:n = true ,
- right-shorten .bool_set:N = \l_@@_brace_right_shorten_bool ,
- shorten .meta:n = { left-shorten , right-shorten } ,
- right-shorten .default:n = true ,
- yshift .dim_set:N = \l_@@_brace_yshift_dim ,
- yshift .value_required:n = true ,
- yshift .initial:n = \c_zero_dim ,
- color .tl_set:N = \l_tmpa_tl ,
- color .value_required:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~Brace }
- }
-% \end{macrocode}
-%
-% \medskip
-% |#1| is the first cell of the rectangle (with the syntax $i$\verb+-|+$j$;
-% |#2| is the last cell of the rectangle;
-% |#3| is the label of the text;
-% |#4| is the optional argument (a list of \textsl{key}-\textsl{value} pairs);
-% |#5| is equal to |under| or |over|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_brace:nnnnn #1 #2 #3 #4 #5
- {
- \group_begin:
-% \end{macrocode}
-% The four following token lists correspond to the position of the sub-matrix to
-% which a brace will be attached.
-% \begin{macrocode}
- \@@_compute_i_j:nn { #1 } { #2 }
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int }
- { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int }
- {
- \str_if_eq:nnTF { #5 } { under }
- { \@@_error:nn { Construct~too~large } { \UnderBrace } }
- { \@@_error:nn { Construct~too~large } { \OverBrace } }
- }
- {
- \tl_clear:N \l_tmpa_tl
- \keys_set:nn { NiceMatrix / Brace } { #4 }
- \tl_if_empty:NF \l_tmpa_tl { \color { \l_tmpa_tl } }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \bool_if:NT \l_@@_brace_left_shorten_bool
- {
- \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
- \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_first_j_tl }
- {
- \pgfpointanchor { \@@_env: - ##1 - \l_@@_first_j_tl } { west }
- \dim_set:Nn \l_@@_x_initial_dim
- { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
- }
- }
- }
- \bool_lazy_or:nnT
- { \bool_not_p:n \l_@@_brace_left_shorten_bool }
- { \dim_compare_p:nNn \l_@@_x_initial_dim = \c_max_dim }
- {
- \@@_qpoint:n { col - \l_@@_first_j_tl }
- \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
- }
- \bool_if:NT \l_@@_brace_right_shorten_bool
- {
- \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_last_j_tl }
- {
- \pgfpointanchor { \@@_env: - ##1 - \l_@@_last_j_tl } { east }
- \dim_set:Nn \l_@@_x_final_dim
- { \dim_max:nn \l_@@_x_final_dim \pgf@x }
- }
- }
- }
- \bool_lazy_or:nnT
- { \bool_not_p:n \l_@@_brace_right_shorten_bool }
- { \dim_compare_p:nNn \l_@@_x_final_dim = { - \c_max_dim } }
- {
- \@@_qpoint:n { col - \int_eval:n { \l_@@_last_j_tl + 1 } }
- \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
- }
- \pgfset { inner~sep = \c_zero_dim }
- \str_if_eq:nnTF { #5 } { under }
- { \@@_underbrace_i:n { #3 } }
- { \@@_overbrace_i:n { #3 } }
- \endpgfpicture
- }
- \group_end:
- }
-% \end{macrocode}
-%
-% \medskip
-% The argument is the text to put above the brace.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_overbrace_i:n #1
- {
- \@@_qpoint:n { row - \l_@@_first_i_tl }
- \pgftransformshift
- {
- \pgfpoint
- { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 }
- { \pgf@y + \l_@@_brace_yshift_dim - 3 pt}
- }
- \pgfnode
- { rectangle }
- { south }
- {
- \vtop
- {
- \group_begin:
- \everycr { }
- \halign
- {
- \hfil ## \hfil \crcr
- \@@_math_toggle: #1 \@@_math_toggle: \cr
- \noalign { \skip_vertical:n { 3 pt } \nointerlineskip }
- \c_math_toggle_token
- \overbrace
- {
- \hbox_to_wd:nn
- { \l_@@_x_final_dim - \l_@@_x_initial_dim }
- { }
- }
- \c_math_toggle_token
- \cr
- }
- \group_end:
- }
- }
- { }
- { }
- }
-% \end{macrocode}
-%
-%
-% \medskip
-% The argument is the text to put under the brace.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_underbrace_i:n #1
- {
- \@@_qpoint:n { row - \int_eval:n { \l_@@_last_i_tl + 1 } }
- \pgftransformshift
- {
- \pgfpoint
- { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 }
- { \pgf@y - \l_@@_brace_yshift_dim + 3 pt }
- }
- \pgfnode
- { rectangle }
- { north }
- {
- \group_begin:
- \everycr { }
- \vbox
- {
- \halign
- {
- \hfil ## \hfil \crcr
- \c_math_toggle_token
- \underbrace
- {
- \hbox_to_wd:nn
- { \l_@@_x_final_dim - \l_@@_x_initial_dim }
- { }
- }
- \c_math_toggle_token
- \cr
- \noalign { \skip_vertical:n { 3 pt } \nointerlineskip }
- \@@_math_toggle: #1 \@@_math_toggle: \cr
- }
- }
- \group_end:
- }
- { }
- { }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{The command TikzEveryCell}
-%
-% \begin{macrocode}
-\bool_new:N \l_@@_not_empty_bool
-\bool_new:N \l_@@_empty_bool
-
-\keys_define:nn { NiceMatrix / TikzEveryCell }
- {
- not-empty .code:n =
- \bool_lazy_or:nnTF
- \l_@@_in_code_after_bool
- \g_@@_recreate_cell_nodes_bool
- { \bool_set_true:N \l_@@_not_empty_bool }
- { \@@_error:n { detection~of~empty~cells } } ,
- not-empty .value_forbidden:n = true ,
- empty .code:n =
- \bool_lazy_or:nnTF
- \l_@@_in_code_after_bool
- \g_@@_recreate_cell_nodes_bool
- { \bool_set_true:N \l_@@_empty_bool }
- { \@@_error:n { detection~of~empty~cells } } ,
- empty .value_forbidden:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~TikzEveryCell }
- }
-
-
-\NewDocumentCommand { \@@_TikzEveryCell } { O { } m }
- {
- \IfPackageLoadedTF { tikz }
- {
- \group_begin:
- \keys_set:nn { NiceMatrix / TikzEveryCell } { #1 }
-% \end{macrocode}
-% The inner pair of braces in the following line is mandatory because, the last
-% argument of |\@@_tikz:nnnnn| is \emph{a list of lists} of TikZ keys.
-% \begin{macrocode}
- \tl_set:Nn \l_tmpa_tl { { #2 } }
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_for_a_block:nnnnn ##1 }
- \@@_all_the_cells:
- \group_end:
- }
- { \@@_error:n { TikzEveryCell~without~tikz } }
- }
-
-\tl_new:N \@@_i_tl
-\tl_new:N \@@_j_tl
-
-\cs_new_protected:Nn \@@_all_the_cells:
- {
- \int_step_variable:nNn { \int_use:c { c@iRow } } \@@_i_tl
- {
- \int_step_variable:nNn { \int_use:c { c@jCol } } \@@_j_tl
- {
- \cs_if_exist:cF { cell - \@@_i_tl - \@@_j_tl }
- {
- \exp_args:NNe \seq_if_in:NnF \l_@@_corners_cells_seq
- { \@@_i_tl - \@@_j_tl }
- {
- \bool_set_false:N \l_tmpa_bool
- \cs_if_exist:cTF
- { pgf @ sh @ ns @ \@@_env: - \@@_i_tl - \@@_j_tl }
- {
- \bool_if:NF \l_@@_empty_bool
- { \bool_set_true:N \l_tmpa_bool }
- }
- {
- \bool_if:NF \l_@@_not_empty_bool
- { \bool_set_true:N \l_tmpa_bool }
- }
- \bool_if:NT \l_tmpa_bool
- {
- \@@_block_tikz:nnnnV
- \@@_i_tl \@@_j_tl \@@_i_tl \@@_j_tl \l_tmpa_tl
- }
- }
- }
- }
- }
- }
-
-\cs_new_protected:Nn \@@_for_a_block:nnnnn
- {
- \bool_if:NF \l_@@_empty_bool
- {
- \@@_block_tikz:nnnnV
- { #1 } { #2 } { #3 } { #4 } \l_tmpa_tl
- }
- \@@_mark_cells_of_block:nnnn { #1 } { #2 } { #3 } { #4 }
- }
-
-\cs_new_protected:Nn \@@_mark_cells_of_block:nnnn
- {
- \int_step_inline:nnn { #1 } { #3 }
- {
- \int_step_inline:nnn { #2 } { #4 }
- { \cs_set:cpn { cell - ##1 - ####1 } { } }
- }
- }
-% \end{macrocode}
-%
-%
-% \bigskip
-% \section{The command \textbackslash ShowCellNames}
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_ShowCellNames_CodeBefore { }
- {
- \dim_zero_new:N \g_@@_tmpc_dim
- \dim_zero_new:N \g_@@_tmpd_dim
- \dim_zero_new:N \g_@@_tmpe_dim
- \int_step_inline:nn \c@iRow
- {
- \begin { pgfpicture }
- \@@_qpoint:n { row - ##1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { ##1 + 1 } }
- \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
- \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf@y }
- \bool_if:NTF \l_@@_in_code_after_bool
- \end { pgfpicture }
- \int_step_inline:nn \c@jCol
- {
- \hbox_set:Nn \l_tmpa_box
- { \normalfont \Large \color { red ! 50 } ##1 - ####1 }
- \begin { pgfpicture }
- \@@_qpoint:n { col - ####1 }
- \dim_gset_eq:NN \g_@@_tmpc_dim \pgf@x
- \@@_qpoint:n { col - \int_eval:n { ####1 + 1 } }
- \dim_gset:Nn \g_@@_tmpd_dim { \pgf@x - \g_@@_tmpc_dim }
- \dim_gset_eq:NN \g_@@_tmpe_dim \pgf@x
- \endpgfpicture
- \end { pgfpicture }
- \fp_set:Nn \l_tmpa_fp
- {
- \fp_min:nn
- {
- \fp_min:nn
- {
- \dim_ratio:nn
- { \g_@@_tmpd_dim }
- { \box_wd:N \l_tmpa_box }
- }
- {
- \dim_ratio:nn
- { \g_tmpb_dim }
- { \box_ht_plus_dp:N \l_tmpa_box }
- }
- }
- { 1.0 }
- }
- \box_scale:Nnn \l_tmpa_box
- { \fp_use:N \l_tmpa_fp }
- { \fp_use:N \l_tmpa_fp }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \pgftransformshift
- {
- \pgfpoint
- { 0.5 * ( \g_@@_tmpc_dim + \g_@@_tmpe_dim ) }
- { \dim_use:N \g_tmpa_dim }
- }
- \pgfnode
- { rectangle }
- { center }
- { \box_use:N \l_tmpa_box }
- { }
- { }
- \endpgfpicture
- }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\NewDocumentCommand \@@_ShowCellNames { }
- {
- \bool_if:NT \l_@@_in_code_after_bool
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \pgfpathrectanglecorners
- { \@@_qpoint:n { 1 } }
- {
- \@@_qpoint:n
- { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
- }
- \pgfsetfillopacity { 0.75 }
- \pgfsetfillcolor { white }
- \pgfusepathqfill
- \endpgfpicture
- }
- \dim_zero_new:N \g_@@_tmpc_dim
- \dim_zero_new:N \g_@@_tmpd_dim
- \dim_zero_new:N \g_@@_tmpe_dim
- \int_step_inline:nn \c@iRow
- {
- \bool_if:NTF \l_@@_in_code_after_bool
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- }
- { \begin { pgfpicture } }
- \@@_qpoint:n { row - ##1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { row - \int_eval:n { ##1 + 1 } }
- \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
- \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf@y }
- \bool_if:NTF \l_@@_in_code_after_bool
- { \endpgfpicture }
- { \end { pgfpicture } }
- \int_step_inline:nn \c@jCol
- {
- \hbox_set:Nn \l_tmpa_box
- {
- \normalfont \Large \sffamily \bfseries
- \bool_if:NTF \l_@@_in_code_after_bool
- { \color { red } }
- { \color { red ! 50 } }
- ##1 - ####1
- }
- \bool_if:NTF \l_@@_in_code_after_bool
- {
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- }
- { \begin { pgfpicture } }
- \@@_qpoint:n { col - ####1 }
- \dim_gset_eq:NN \g_@@_tmpc_dim \pgf@x
- \@@_qpoint:n { col - \int_eval:n { ####1 + 1 } }
- \dim_gset:Nn \g_@@_tmpd_dim { \pgf@x - \g_@@_tmpc_dim }
- \dim_gset_eq:NN \g_@@_tmpe_dim \pgf@x
- \bool_if:NTF \l_@@_in_code_after_bool
- { \endpgfpicture }
- { \end { pgfpicture } }
- \fp_set:Nn \l_tmpa_fp
- {
- \fp_min:nn
- {
- \fp_min:nn
- { \dim_ratio:nn \g_@@_tmpd_dim { \box_wd:N \l_tmpa_box } }
- { \dim_ratio:nn \g_tmpb_dim { \box_ht_plus_dp:N \l_tmpa_box } }
- }
- { 1.0 }
- }
- \box_scale:Nnn \l_tmpa_box { \fp_use:N \l_tmpa_fp } { \fp_use:N \l_tmpa_fp }
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \pgftransformshift
- {
- \pgfpoint
- { 0.5 * ( \g_@@_tmpc_dim + \g_@@_tmpe_dim ) }
- { \dim_use:N \g_tmpa_dim }
- }
- \pgfnode
- { rectangle }
- { center }
- { \box_use:N \l_tmpa_box }
- { }
- { }
- \endpgfpicture
- }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{We process the options at package loading}
-%
-%
-% We process the options when the package is loaded (with |\usepackage|) but we
-% recommend to use |\NiceMatrixOptions| instead.
-%
-% We must process these options after the definition of the environment
-% |{NiceMatrix}| because the option |renew-matrix| executes the code
-% |\cs_set_eq:NN \env@matrix \NiceMatrix|.
-%
-% Of course, the command |\NiceMatrix| must be defined before such an
-% instruction is executed.
-%
-%
-% \medskip
-% The boolean |\g_@@_footnotehyper_bool| will indicate if the option
-% |footnotehyper| is used.
-% \begin{macrocode}
-\bool_new:N \g_@@_footnotehyper_bool
-% \end{macrocode}
-%
-% \medskip
-% The boolean |\g_@@_footnote_bool| will indicate if the option |footnote| is
-% used, but quicky, it will also be set to |true| if the option |footnotehyper|
-% is used.
-% \begin{macrocode}
-\bool_new:N \g_@@_footnote_bool
-% \end{macrocode}
-%
-% \begin{macrocode}
-\msg_new:nnnn { nicematrix } { Unknown~key~for~package }
- {
- The~key~'\l_keys_key_str'~is~unknown. \\
- That~key~will~be~ignored. \\
- For~a~list~of~the~available~keys,~type~H~<return>.
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- footnote,~
- footnotehyper,~
- messages-for-Overleaf,~
- no-test-for-array,~
- renew-dots,~and~
- renew-matrix.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Package }
- {
- renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
- renew-dots .value_forbidden:n = true ,
- renew-matrix .code:n = \@@_renew_matrix: ,
- renew-matrix .value_forbidden:n = true ,
- messages-for-Overleaf .bool_set:N = \g_@@_messages_for_Overleaf_bool ,
- footnote .bool_set:N = \g_@@_footnote_bool ,
- footnotehyper .bool_set:N = \g_@@_footnotehyper_bool ,
- no-test-for-array .bool_set:N = \g_@@_no_test_for_array_bool ,
- no-test-for-array .default:n = true ,
- unknown .code:n = \@@_error:n { Unknown~key~for~package }
- }
-\ProcessKeysOptions { NiceMatrix / Package }
-% \end{macrocode}
-%
-% \bigskip
-% \begin{macrocode}
-\@@_msg_new:nn { footnote~with~footnotehyper~package }
- {
- You~can't~use~the~option~'footnote'~because~the~package~
- footnotehyper~has~already~been~loaded.~
- If~you~want,~you~can~use~the~option~'footnotehyper'~and~the~footnotes~
- within~the~environments~of~nicematrix~will~be~extracted~with~the~tools~
- of~the~package~footnotehyper.\\
- The~package~footnote~won't~be~loaded.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { footnotehyper~with~footnote~package }
- {
- You~can't~use~the~option~'footnotehyper'~because~the~package~
- footnote~has~already~been~loaded.~
- If~you~want,~you~can~use~the~option~'footnote'~and~the~footnotes~
- within~the~environments~of~nicematrix~will~be~extracted~with~the~tools~
- of~the~package~footnote.\\
- The~package~footnotehyper~won't~be~loaded.
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\bool_if:NT \g_@@_footnote_bool
- {
-% \end{macrocode}
-% The class \cls{beamer} has its own system to extract footnotes and that's why
-% we have nothing to do if \cls{beamer} is used.
-% \begin{macrocode}
- \IfClassLoadedTF { beamer }
- { \bool_set_false:N \g_@@_footnote_bool }
- {
- \IfPackageLoadedTF { footnotehyper }
- { \@@_error:n { footnote~with~footnotehyper~package } }
- { \usepackage { footnote } }
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\bool_if:NT \g_@@_footnotehyper_bool
- {
-% \end{macrocode}
-% The class \cls{beamer} has its own system to extract footnotes and that's why
-% we have nothing to do if \cls{beamer} is used.
-% \begin{macrocode}
- \IfClassLoadedTF { beamer }
- { \bool_set_false:N \g_@@_footnote_bool }
- {
- \IfPackageLoadedTF { footnote }
- { \@@_error:n { footnotehyper~with~footnote~package } }
- { \usepackage { footnotehyper } }
- }
- \bool_set_true:N \g_@@_footnote_bool
- }
-% \end{macrocode}
-% The flag |\g_@@_footnote_bool| is raised and so, we will only have to test
-% |\g_@@_footnote_bool| in order to know if we have to insert an environment
-% |{savenotes}|.
-%
-% \bigskip
-% \section{About the package underscore}
-%
-% If the user loads the package \pkg{underscore}, it must be loaded
-% \emph{before} the package \pkg{nicematrix}. If it is loaded after, we raise an
-% error.
-%
-% \begin{macrocode}
-\bool_new:N \l_@@_underscore_loaded_bool
-\IfPackageLoadedTF { underscore }
- { \bool_set_true:N \l_@@_underscore_loaded_bool }
- { }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \bool_if:NF \l_@@_underscore_loaded_bool
- {
- \IfPackageLoadedTF { underscore }
- { \@@_error:n { underscore~after~nicematrix } }
- { }
- }
- }
-% \end{macrocode}
-%
-% \bigskip
-% \section{Error messages of the package}
-%
-% \begin{macrocode}
-\bool_if:NTF \g_@@_messages_for_Overleaf_bool
- { \str_const:Nn \c_@@_available_keys_str { } }
- {
- \str_const:Nn \c_@@_available_keys_str
- { For~a~list~of~the~available~keys,~type~H~<return>. }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\seq_new:N \g_@@_types_of_matrix_seq
-\seq_gset_from_clist:Nn \g_@@_types_of_matrix_seq
- {
- NiceMatrix ,
- pNiceMatrix , bNiceMatrix , vNiceMatrix, BNiceMatrix, VNiceMatrix
- }
-\seq_gset_map_x:NNn \g_@@_types_of_matrix_seq \g_@@_types_of_matrix_seq
- { \tl_to_str:n { #1 } }
-% \end{macrocode}
-%
-% \bigskip
-% If the user uses too much columns, the command |\@@_error_too_much_cols:| is
-% triggered. This command raises an error but also tries to give the best
-% information to the user in the error message. The command |\seq_if_in:NoTF| is
-% not expandable and that's why we can't put it in the error message itself. We
-% have to do the test before the |\@@_fatal:n|.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_error_too_much_cols:
- {
- \seq_if_in:NoTF \g_@@_types_of_matrix_seq \g_@@_name_env_str
- {
- \int_compare:nNnTF \l_@@_last_col_int = { -2 }
- { \@@_fatal:n { too~much~cols~for~matrix } }
- {
- \int_compare:nNnTF \l_@@_last_col_int = { -1 }
- { \@@_fatal:n { too~much~cols~for~matrix } }
- {
- \bool_if:NF \l_@@_last_col_without_value_bool
- { \@@_fatal:n { too~much~cols~for~matrix~with~last~col } }
- }
- }
- }
- { \@@_fatal:nn { too~much~cols~for~array } }
- }
-% \end{macrocode}
-%
-%
-% The following command must \emph{not} be protected since it's used in an error message.
-% \begin{macrocode}
-\cs_new:Npn \@@_message_hdotsfor:
- {
- \tl_if_empty:oF \g_@@_HVdotsfor_lines_tl
- { ~Maybe~your~use~of~\token_to_str:N \Hdotsfor\ is~incorrect.}
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { hvlines,~rounded-corners~and~corners }
- {
- Incompatible~options.\\
- You~should~not~use~'hvlines',~'rounded-corners'~and~'corners'~at~this~time.\\
- The~output~will~not~be~reliable.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { negative~weight }
- {
- Negative~weight.\\
- The~weight~of~the~'X'~columns~must~be~positive~and~you~have~used~
- the~value~'\int_use:N \l_@@_weight_int'.\\
- The~absolute~value~will~be~used.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { last~col~not~used }
- {
- Column~not~used.\\
- The~key~'last-col'~is~in~force~but~you~have~not~used~that~last~column~
- in~your~\@@_full_name_env:.~However,~you~can~go~on.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { too~much~cols~for~matrix~with~last~col }
- {
- Too~much~columns.\\
- In~the~row~\int_eval:n { \c@iRow },~
- you~try~to~use~more~columns~
- than~allowed~by~your~\@@_full_name_env:.\@@_message_hdotsfor:\
- The~maximal~number~of~columns~is~\int_eval:n { \l_@@_last_col_int - 1 }~
- (plus~the~exterior~columns).~This~error~is~fatal.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { too~much~cols~for~matrix }
- {
- Too~much~columns.\\
- In~the~row~\int_eval:n { \c@iRow },~
- you~try~to~use~more~columns~than~allowed~by~your~
- \@@_full_name_env:.\@@_message_hdotsfor:\ Recall~that~the~maximal~
- number~of~columns~for~a~matrix~(excepted~the~potential~exterior~
- columns)~is~fixed~by~the~LaTeX~counter~'MaxMatrixCols'.~
- Its~current~value~is~\int_use:N \c@MaxMatrixCols\ (use~
- \token_to_str:N \setcounter\ to~change~that~value).~
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \medskip
-% \begin{macrocode}
-\@@_msg_new:nn { too~much~cols~for~array }
- {
- Too~much~columns.\\
- In~the~row~\int_eval:n { \c@iRow },~
- ~you~try~to~use~more~columns~than~allowed~by~your~
- \@@_full_name_env:.\@@_message_hdotsfor:\ The~maximal~number~of~columns~is~
- \int_use:N \g_@@_static_num_of_col_int\
- ~(plus~the~potential~exterior~ones).
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { columns~not~used }
- {
- Columns~not~used.\\
- The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
- \g_@@_static_num_of_col_int\ columns~but~you~use~only~\int_use:N \c@jCol.\\
- The~columns~you~did~not~used~won't~be~created.\\
- You~won't~have~similar~error~till~the~end~of~the~document.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { in~first~col }
- {
- Erroneous~use.\\
- You~can't~use~the~command~#1 in~the~first~column~(number~0)~of~the~array.\\
- That~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { in~last~col }
- {
- Erroneous~use.\\
- You~can't~use~the~command~#1 in~the~last~column~(exterior)~of~the~array.\\
- That~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { in~first~row }
- {
- Erroneous~use.\\
- You~can't~use~the~command~#1 in~the~first~row~(number~0)~of~the~array.\\
- That~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { in~last~row }
- {
- You~can't~use~the~command~#1 in~the~last~row~(exterior)~of~the~array.\\
- That~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { caption~outside~float }
- {
- Key~caption~forbidden.\\
- You~can't~use~the~key~'caption'~because~you~are~not~in~a~floating~
- environment.~This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { short-caption~without~caption }
- {
- You~should~not~use~the~key~'short-caption'~without~'caption'.~
- However,~your~'short-caption'~will~be~used~as~'caption'.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { double~closing~delimiter }
- {
- Double~delimiter.\\
- You~can't~put~a~second~closing~delimiter~"#1"~just~after~a~first~closing~
- delimiter.~This~delimiter~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { delimiter~after~opening }
- {
- Double~delimiter.\\
- You~can't~put~a~second~delimiter~"#1"~just~after~a~first~opening~
- delimiter.~That~delimiter~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { bad~option~for~line-style }
- {
- Bad~line~style.\\
- Since~you~haven't~loaded~Tikz,~the~only~value~you~can~give~to~'line-style'~
- is~'standard'.~That~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Identical~notes~in~caption }
- {
- Identical~tabular~notes.\\
- You~can't~put~several~notes~with~the~same~content~in~
- \token_to_str:N \caption\ (but~you~can~in~the~main~tabular).\\
- If~you~go~on,~the~output~will~probably~be~erroneous.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tabularnote~below~the~tabular }
- {
- \token_to_str:N \tabularnote\ forbidden\\
- You~can't~use~\token_to_str:N \tabularnote\ in~the~caption~
- of~your~tabular~because~the~caption~will~be~composed~below~
- the~tabular.~If~you~want~the~caption~above~the~tabular~use~the~
- key~'caption-above'~in~\token_to_str:N \NiceMatrixOptions.\\
- Your~\token_to_str:N \tabularnote\ will~be~discarded~and~
- no~similar~error~will~raised~in~this~document.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Unknown~key~for~rules }
- {
- Unknown~key.\\
- There~is~only~two~keys~available~here:~width~and~color.\\
- Your~key~'\l_keys_key_str'~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Unknown~key~for~TikzEveryCell }
- {
- Unknown~key.\\
- There~is~only~two~keys~available~here:~
- 'empty'~and~'not-empty'.\\
- Your~key~'\l_keys_key_str'~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Unknown~key~for~rotate }
- {
- Unknown~key.\\
- The~only~key~available~here~is~'c'.\\
- Your~key~'\l_keys_key_str'~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~custom-line }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~in~a~'custom-line'.~
- It~you~go~on,~you~will~probably~have~other~errors. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- ccommand,~
- color,~
- command,~
- dotted,~
- letter,~
- multiplicity,~
- sep-color,~
- tikz,~and~total-width.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~xdots }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~a~command~for~drawing~dotted~rules.\\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- 'color',~
- 'horizontal-labels',~
- 'inter',~
- 'line-style',~
- 'radius',~
- 'shorten',~
- 'shorten-end'~and~'shorten-start'.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Unknown~key~for~rowcolors }
- {
- Unknown~key.\\
- As~for~now,~there~is~only~two~keys~available~here:~'cols'~and~'respect-blocks'~
- (and~you~try~to~use~'\l_keys_key_str')\\
- That~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { label~without~caption }
- {
- You~can't~use~the~key~'label'~in~your~'{NiceTabular}'~because~
- you~have~not~used~the~key~'caption'.~The~key~'label'~will~be~ignored.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { W~warning }
- {
- Line~\msg_line_number:.~The~cell~is~too~wide~for~your~column~'W'~
- (row~\int_use:N \c@iRow).
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Construct~too~large }
- {
- Construct~too~large.\\
- Your~command~\token_to_str:N #1
- can't~be~drawn~because~your~matrix~is~too~small.\\
- That~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { underscore~after~nicematrix }
- {
- Problem~with~'underscore'.\\
- The~package~'underscore'~should~be~loaded~before~'nicematrix'.~
- You~can~go~on~but~you~won't~be~able~to~write~something~such~as:\\
- '\token_to_str:N \Cdots\token_to_str:N _{n~\token_to_str:N \text{~times}}'.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { ampersand~in~light-syntax }
- {
- Ampersand~forbidden.\\
- You~can't~use~an~ampersand~(\token_to_str:N &)~to~separate~columns~because~
- ~the~key~'light-syntax'~is~in~force.~This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { double-backslash~in~light-syntax }
- {
- Double~backslash~forbidden.\\
- You~can't~use~\token_to_str:N
- \\~to~separate~rows~because~the~key~'light-syntax'~
- is~in~force.~You~must~use~the~character~'\l_@@_end_of_row_tl'~
- (set~by~the~key~'end-of-row').~This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { hlines~with~color }
- {
- Incompatible~keys.\\
- You~can't~use~the~keys~'hlines',~'vlines'~or~'hvlines'~for~a~
- '\token_to_str:N \Block'~when~the~key~'color'~or~'draw'~is~used.\\
- Maybe~it~will~possible~in~future~version.\\
- Your~key~will~be~discarded.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { bad~value~for~baseline }
- {
- Bad~value~for~baseline.\\
- The~value~given~to~'baseline'~(\int_use:N \l_tmpa_int)~is~not~
- valid.~The~value~must~be~between~\int_use:N \l_@@_first_row_int\ and~
- \int_use:N \g_@@_row_total_int\ or~equal~to~'t',~'c'~or~'b'~or~of~
- the~form~'line-i'.\\
- A~value~of~1~will~be~used.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { detection~of~empty~cells }
- {
- Problem~with~'not-empty'\\
- For~technical~reasons,~you~must~activate~
- 'create-cell-nodes'~in~\token_to_str:N \CodeBefore\
- in~order~to~use~the~key~'\l_keys_key_str'.\\
- That~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { siunitx~not~loaded }
- {
- siunitx~not~loaded\\
- You~can't~use~the~columns~'S'~because~'siunitx'~is~not~loaded.\\
- That~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { ragged2e~not~loaded }
- {
- You~have~to~load~'ragged2e'~in~order~to~use~the~key~'\l_keys_key_str'~in~
- your~column~'\l_@@_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:V
- \l_keys_key_str'~will~be~used~instead.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Invalid~name }
- {
- Invalid~name.\\
- You~can't~give~the~name~'\l_keys_value_tl'~to~a~\token_to_str:N
- \SubMatrix\ of~your~\@@_full_name_env:.\\
- A~name~must~be~accepted~by~the~regular~expression~[A-Za-z][A-Za-z0-9]*.\\
- This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Wrong~line~in~SubMatrix }
- {
- Wrong~line.\\
- You~try~to~draw~a~#1~line~of~number~'#2'~in~a~
- \token_to_str:N \SubMatrix\ of~your~\@@_full_name_env:\ but~that~
- number~is~not~valid.~It~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Impossible~delimiter }
- {
- Impossible~delimiter.\\
- It's~impossible~to~draw~the~#1~delimiter~of~your~
- \token_to_str:N \SubMatrix\ because~all~the~cells~are~empty~
- in~that~column.
- \bool_if:NT \l_@@_submatrix_slim_bool
- { ~Maybe~you~should~try~without~the~key~'slim'. } \\
- This~\token_to_str:N \SubMatrix\ will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { width~without~X~columns }
- {
- You~have~used~the~key~'width'~but~you~have~put~no~'X'~column.~
- That~key~will~be~ignored.
- }
- {
- This~message~is~the~message~'width~without~X~columns'~
- of~the~module~'nicematrix'.~
- The~experimented~users~can~disable~that~message~with~
- \token_to_str:N \msg_redirect_name:nnn.\\
- }
-
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { key~multiplicity~with~dotted }
- {
- Incompatible~keys. \\
- You~have~used~the~key~'multiplicity'~with~the~key~'dotted'~
- in~a~'custom-line'.~They~are~incompatible. \\
- The~key~'multiplicity'~will~be~discarded.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { empty~environment }
- {
- Empty~environment.\\
- Your~\@@_full_name_env:\ is~empty.~This~error~is~fatal.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { No~letter~and~no~command }
- {
- Erroneous~use.\\
- Your~use~of~'custom-line'~is~no-op~since~you~don't~have~used~the~
- key~'letter'~(for~a~letter~for~vertical~rules)~nor~the~keys~'command'~or~
- ~'ccommand'~(to~draw~horizontal~rules).\\
- However,~you~can~go~on.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Forbidden~letter }
- {
- Forbidden~letter.\\
- You~can't~use~the~letter~'#1'~for~a~customized~line.\\
- It~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Several~letters }
- {
- Wrong~name.\\
- You~must~use~only~one~letter~as~value~for~the~key~'letter'~(and~you~
- have~used~'\l_@@_letter_str').\\
- It~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Delimiter~with~small }
- {
- Delimiter~forbidden.\\
- You~can't~put~a~delimiter~in~the~preamble~of~your~\@@_full_name_env:\
- because~the~key~'small'~is~in~force.\\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { unknown~cell~for~line~in~CodeAfter }
- {
- Unknown~cell.\\
- Your~command~\token_to_str:N\line\{#1\}\{#2\}~in~
- the~\token_to_str:N \CodeAfter\ of~your~\@@_full_name_env:\
- can't~be~executed~because~a~cell~doesn't~exist.\\
- This~command~\token_to_str:N \line\ will~be~ignored.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Duplicate~name~for~SubMatrix }
- {
- Duplicate~name.\\
- The~name~'#1'~is~already~used~for~a~\token_to_str:N \SubMatrix\
- in~this~\@@_full_name_env:.\\
- This~key~will~be~ignored.\\
- \bool_if:NF \g_@@_messages_for_Overleaf_bool
- { For~a~list~of~the~names~already~used,~type~H~<return>. }
- }
- {
- The~names~already~defined~in~this~\@@_full_name_env:\ are:~
- \seq_use:Nnnn \g_@@_submatrix_names_seq { ~and~ } { ,~ } { ~and~ }.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { r~or~l~with~preamble }
- {
- Erroneous~use.\\
- You~can't~use~the~key~'\l_keys_key_str'~in~your~\@@_full_name_env:.~
- You~must~specify~the~alignment~of~your~columns~with~the~preamble~of~
- your~\@@_full_name_env:.\\
- This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Hdotsfor~in~col~0 }
- {
- Erroneous~use.\\
- You~can't~use~\token_to_str:N \Hdotsfor\ in~an~exterior~column~of~
- the~array.~This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { bad~corner }
- {
- Bad~corner.\\
- #1~is~an~incorrect~specification~for~a~corner~(in~the~key~
- 'corners').~The~available~values~are:~NW,~SW,~NE~and~SE.\\
- This~specification~of~corner~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { bad~border }
- {
- Bad~border.\\
- \l_keys_key_str\space~is~an~incorrect~specification~for~a~border~
- (in~the~key~'borders'~of~the~command~\token_to_str:N \Block).~
- The~available~values~are:~left,~right,~top~and~bottom~(and~you~can~
- also~use~the~key~'tikz'
- \IfPackageLoadedTF { tikz }
- { }
- {~if~you~load~the~LaTeX~package~'tikz'}).\\
- This~specification~of~border~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { TikzEveryCell~without~tikz }
- {
- TikZ~not~loaded.\\
- You~can't~use~\token_to_str:N \TikzEveryCell\
- because~you~have~not~loaded~tikz.~
- This~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tikz~key~without~tikz }
- {
- TikZ~not~loaded.\\
- You~can't~use~the~key~'tikz'~for~the~command~'\token_to_str:N
- \Block'~because~you~have~not~loaded~tikz.~
- This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { last-col~non~empty~for~NiceArray }
- {
- Erroneous~use.\\
- In~the~\@@_full_name_env:,~you~must~use~the~key~
- 'last-col'~without~value.\\
- However,~you~can~go~on~for~this~time~
- (the~value~'\l_keys_value_tl'~will~be~ignored).
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { last-col~non~empty~for~NiceMatrixOptions }
- {
- Erroneous~use.\\
- In~\token_to_str:N \NiceMatrixOptions,~you~must~use~the~key~
- 'last-col'~without~value.\\
- However,~you~can~go~on~for~this~time~
- (the~value~'\l_keys_value_tl'~will~be~ignored).
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Block~too~large~1 }
- {
- Block~too~large.\\
- You~try~to~draw~a~block~in~the~cell~#1-#2~of~your~matrix~but~the~matrix~is~
- too~small~for~that~block. \\
- This~block~and~maybe~others~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Block~too~large~2 }
- {
- Block~too~large.\\
- The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
- \g_@@_static_num_of_col_int\
- columns~but~you~use~only~\int_use:N \c@jCol\ and~that's~why~a~block~
- specified~in~the~cell~#1-#2~can't~be~drawn.~You~should~add~some~ampersands~
- (&)~at~the~end~of~the~first~row~of~your~\@@_full_name_env:.\\
- This~block~and~maybe~others~will~be~ignored.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { unknown~column~type }
- {
- Bad~column~type.\\
- The~column~type~'#1'~in~your~\@@_full_name_env:\
- is~unknown. \\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { unknown~column~type~S }
- {
- Bad~column~type.\\
- The~column~type~'S'~in~your~\@@_full_name_env:\ is~unknown. \\
- If~you~want~to~use~the~column~type~'S'~of~siunitx,~you~should~
- load~that~package. \\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tabularnote~forbidden }
- {
- Forbidden~command.\\
- You~can't~use~the~command~\token_to_str:N\tabularnote\
- ~here.~This~command~is~available~only~in~
- \{NiceTabular\},~\{NiceTabular*\}~and~\{NiceTabularX\}~or~in~
- the~argument~of~a~command~\token_to_str:N \caption\ included~
- in~an~environment~{table}. \\
- This~command~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { borders~forbidden }
- {
- Forbidden~key.\\
- You~can't~use~the~key~'borders'~of~the~command~\token_to_str:N \Block\
- because~the~option~'rounded-corners'~
- is~in~force~with~a~non-zero~value.\\
- This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { bottomrule~without~booktabs }
- {
- booktabs~not~loaded.\\
- You~can't~use~the~key~'tabular/bottomrule'~because~you~haven't~
- loaded~'booktabs'.\\
- This~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { enumitem~not~loaded }
- {
- enumitem~not~loaded.\\
- You~can't~use~the~command~\token_to_str:N\tabularnote\
- ~because~you~haven't~loaded~'enumitem'.\\
- All~the~commands~\token_to_str:N\tabularnote\ will~be~
- ignored~in~the~document.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tikz~without~tikz }
- {
- Tikz~not~loaded.\\
- You~can't~use~the~key~'tikz'~here~because~Tikz~is~not~
- loaded.~If~you~go~on,~that~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tikz~in~custom-line~without~tikz }
- {
- Tikz~not~loaded.\\
- You~have~used~the~key~'tikz'~in~the~definition~of~a~
- customized~line~(with~'custom-line')~but~tikz~is~not~loaded.~
- You~can~go~on~but~you~will~have~another~error~if~you~actually~
- use~that~custom~line.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { tikz~in~borders~without~tikz }
- {
- Tikz~not~loaded.\\
- You~have~used~the~key~'tikz'~in~a~key~'borders'~(of~a~
- command~'\token_to_str:N\Block')~but~tikz~is~not~loaded.~
- That~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { without~color-inside }
- {
- If~order~to~use~\token_to_str:N \cellcolor,~\token_to_str:N \rowcolor,~
- \token_to_str:N \rowcolors\ or~\token_to_str:N \rowlistcolors\
- outside~\token_to_str:N \CodeBefore,~you~
- should~have~used~the~key~'color-inside'~in~your~\@@_full_name_env:.\\
- You~can~go~on~but~you~may~need~more~compilations.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { color~in~custom-line~with~tikz }
- {
- Erroneous~use.\\
- In~a~'custom-line',~you~have~used~both~'tikz'~and~'color',~
- which~is~forbidden~(you~should~use~'color'~inside~the~key~'tikz').~
- The~key~'color'~will~be~discarded.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Wrong~last~row }
- {
- Wrong~number.\\
- You~have~used~'last-row=\int_use:N \l_@@_last_row_int'~but~your~
- \@@_full_name_env:\ seems~to~have~\int_use:N \c@iRow \ rows.~
- If~you~go~on,~the~value~of~\int_use:N \c@iRow \ will~be~used~for~
- last~row.~You~can~avoid~this~problem~by~using~'last-row'~
- without~value~(more~compilations~might~be~necessary).
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Yet~in~env }
- {
- Nested~environments.\\
- Environments~of~nicematrix~can't~be~nested.\\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Outside~math~mode }
- {
- Outside~math~mode.\\
- The~\@@_full_name_env:\ can~be~used~only~in~math~mode~
- (and~not~in~\token_to_str:N \vcenter).\\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { One~letter~allowed }
- {
- Bad~name.\\
- The~value~of~key~'\l_keys_key_str'~must~be~of~length~1.\\
- It~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { TabularNote~in~CodeAfter }
- {
- Environment~{TabularNote}~forbidden.\\
- You~must~use~{TabularNote}~at~the~end~of~your~{NiceTabular}~
- but~*before*~the~\token_to_str:N \CodeAfter.\\
- This~environment~{TabularNote}~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { varwidth~not~loaded }
- {
- varwidth~not~loaded.\\
- You~can't~use~the~column~type~'V'~because~'varwidth'~is~not~
- loaded.\\
- Your~column~will~behave~like~'p'.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknow~key~for~RulesBis }
- {
- Unkown~key.\\
- Your~key~'\l_keys_key_str'~is~unknown~for~a~rule.\\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- color,~
- dotted,~
- multiplicity,~
- sep-color,~
- tikz,~and~total-width.
- }
-
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~Block }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~command~\token_to_str:N
- \Block.\\ It~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~b,~B,~borders,~c,~draw,~fill,~
- hlines,~hvlines,~l,~line-width,~name,~opacity,~rounded-corners,~r,~
- respect-arraystretch,~t,~T,~tikz,~transparent~and~vlines.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~Brace }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~commands~\token_to_str:N
- \UnderBrace\ and~\token_to_str:N \OverBrace.\\
- It~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~color,~left-shorten,~
- right-shorten,~shorten~(which~fixes~both~left-shorten~and~
- right-shorten)~and~yshift.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~CodeAfter }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown.\\
- It~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- delimiters/color,~
- rules~(with~the~subkeys~'color'~and~'width'),~
- sub-matrix~(several~subkeys)~
- and~xdots~(several~subkeys).~
- The~latter~is~for~the~command~\token_to_str:N \line.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~CodeBefore }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown.\\
- It~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- create-cell-nodes,~
- delimiters/color~and~
- sub-matrix~(several~subkeys).
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~SubMatrix }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown.\\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- 'delimiters/color',~
- 'extra-height',~
- 'hlines',~
- 'hvlines',~
- 'left-xshift',~
- 'name',~
- 'right-xshift',~
- 'rules'~(with~the~subkeys~'color'~and~'width'),~
- 'slim',~
- 'vlines'~and~'xshift'~(which~sets~both~'left-xshift'~
- and~'right-xshift').\\
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~notes }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown.\\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- bottomrule,~
- code-after,~
- code-before,~
- detect-duplicates,~
- enumitem-keys,~
- enumitem-keys-para,~
- para,~
- label-in-list,~
- label-in-tabular~and~
- style.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~RowStyle }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~command~
- \token_to_str:N \RowStyle. \\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- 'bold',~
- 'cell-space-top-limit',~
- 'cell-space-bottom-limit',~
- 'cell-space-limits',~
- 'color',~
- 'nb-rows'~and~
- 'rowcolor'.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~NiceMatrixOptions }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~command~
- \token_to_str:N \NiceMatrixOptions. \\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- allow-duplicate-names,~
- caption-above,~
- cell-space-bottom-limit,~
- cell-space-limits,~
- cell-space-top-limit,~
- code-for-first-col,~
- code-for-first-row,~
- code-for-last-col,~
- code-for-last-row,~
- corners,~
- custom-key,~
- create-extra-nodes,~
- create-medium-nodes,~
- create-large-nodes,~
- delimiters~(several~subkeys),~
- end-of-row,~
- first-col,~
- first-row,~
- hlines,~
- hvlines,~
- hvlines-except-borders,~
- last-col,~
- last-row,~
- left-margin,~
- light-syntax,~
- light-syntax-expanded,~
- matrix/columns-type,~
- no-cell-nodes,~
- notes~(several~subkeys),~
- nullify-dots,~
- pgf-node-code,~
- renew-dots,~
- renew-matrix,~
- respect-arraystretch,~
- rounded-corners,~
- right-margin,~
- rules~(with~the~subkeys~'color'~and~'width'),~
- small,~
- sub-matrix~(several~subkeys),~
- vlines,~
- xdots~(several~subkeys).
- }
-% \end{macrocode}
-%
-% For `|{NiceArray}|`, the set of keys is the same as for |{NiceMatrix}|
-% excepted that there is no |l| and |r|.
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~NiceArray }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
- \{NiceArray\}. \\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- b,~
- baseline,~
- c,~
- cell-space-bottom-limit,~
- cell-space-limits,~
- cell-space-top-limit,~
- code-after,~
- code-for-first-col,~
- code-for-first-row,~
- code-for-last-col,~
- code-for-last-row,~
- color-inside,~
- columns-width,~
- corners,~
- create-extra-nodes,~
- create-medium-nodes,~
- create-large-nodes,~
- extra-left-margin,~
- extra-right-margin,~
- first-col,~
- first-row,~
- hlines,~
- hvlines,~
- hvlines-except-borders,~
- last-col,~
- last-row,~
- left-margin,~
- light-syntax,~
- light-syntax-expanded,~
- name,~
- no-cell-nodes,~
- nullify-dots,~
- pgf-node-code,~
- renew-dots,~
- respect-arraystretch,~
- right-margin,~
- rounded-corners,~
- rules~(with~the~subkeys~'color'~and~'width'),~
- small,~
- t,~
- vlines,~
- xdots/color,~
- xdots/shorten-start,~
- xdots/shorten-end,~
- xdots/shorten~and~
- xdots/line-style.
- }
-% \end{macrocode}
-%
-% \medskip
-% This error message is used for the set of keys |NiceMatrix/NiceMatrix| and
-% |NiceMatrix/pNiceArray| (but not by |NiceMatrix/NiceArray| because, for this
-% set of keys, there is no |l| and |r|).
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~NiceMatrix }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~
- \@@_full_name_env:. \\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- b,~
- baseline,~
- c,~
- cell-space-bottom-limit,~
- cell-space-limits,~
- cell-space-top-limit,~
- code-after,~
- code-for-first-col,~
- code-for-first-row,~
- code-for-last-col,~
- code-for-last-row,~
- color-inside,~
- columns-type,~
- columns-width,~
- corners,~
- create-extra-nodes,~
- create-medium-nodes,~
- create-large-nodes,~
- extra-left-margin,~
- extra-right-margin,~
- first-col,~
- first-row,~
- hlines,~
- hvlines,~
- hvlines-except-borders,~
- l,~
- last-col,~
- last-row,~
- left-margin,~
- light-syntax,~
- light-syntax-expanded,~
- name,~
- no-cell-nodes,~
- nullify-dots,~
- pgf-node-code,~
- r,~
- renew-dots,~
- respect-arraystretch,~
- right-margin,~
- rounded-corners,~
- rules~(with~the~subkeys~'color'~and~'width'),~
- small,~
- t,~
- vlines,~
- xdots/color,~
- xdots/shorten-start,~
- xdots/shorten-end,~
- xdots/shorten~and~
- xdots/line-style.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Unknown~key~for~NiceTabular }
- {
- Unknown~key.\\
- The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
- \{NiceTabular\}. \\
- That~key~will~be~ignored. \\
- \c_@@_available_keys_str
- }
- {
- The~available~keys~are~(in~alphabetic~order):~
- b,~
- baseline,~
- c,~
- caption,~
- cell-space-bottom-limit,~
- cell-space-limits,~
- cell-space-top-limit,~
- code-after,~
- code-for-first-col,~
- code-for-first-row,~
- code-for-last-col,~
- code-for-last-row,~
- color-inside,~
- columns-width,~
- corners,~
- custom-line,~
- create-extra-nodes,~
- create-medium-nodes,~
- create-large-nodes,~
- extra-left-margin,~
- extra-right-margin,~
- first-col,~
- first-row,~
- hlines,~
- hvlines,~
- hvlines-except-borders,~
- label,~
- last-col,~
- last-row,~
- left-margin,~
- light-syntax,~
- light-syntax-expanded,~
- name,~
- no-cell-nodes,~
- notes~(several~subkeys),~
- nullify-dots,~
- pgf-node-code,~
- renew-dots,~
- respect-arraystretch,~
- right-margin,~
- rounded-corners,~
- rules~(with~the~subkeys~'color'~and~'width'),~
- short-caption,~
- t,~
- tabularnote,~
- vlines,~
- xdots/color,~
- xdots/shorten-start,~
- xdots/shorten-end,~
- xdots/shorten~and~
- xdots/line-style.
- }
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\@@_msg_new:nnn { Duplicate~name }
- {
- Duplicate~name.\\
- The~name~'\l_keys_value_tl'~is~already~used~and~you~shouldn't~use~
- the~same~environment~name~twice.~You~can~go~on,~but,~
- maybe,~you~will~have~incorrect~results~especially~
- if~you~use~'columns-width=auto'.~If~you~don't~want~to~see~this~
- message~again,~use~the~key~'allow-duplicate-names'~in~
- '\token_to_str:N \NiceMatrixOptions'.\\
- \bool_if:NF \g_@@_messages_for_Overleaf_bool
- { For~a~list~of~the~names~already~used,~type~H~<return>. }
- }
- {
- The~names~already~defined~in~this~document~are:~
- \seq_use:Nnnn \g_@@_names_seq { ~and~ } { ,~ } { ~and~ }.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Option~auto~for~columns-width }
- {
- Erroneous~use.\\
- You~can't~give~the~value~'auto'~to~the~key~'columns-width'~here.~
- That~key~will~be~ignored.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { NiceTabularX~without~X }
- {
- NiceTabularX~without~X.\\
- You~should~not~use~{NiceTabularX}~without~X~columns.\\
- However,~you~can~go~on.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_msg_new:nn { Preamble~forgotten }
- {
- Preamble~forgotten.\\
- You~have~probably~forgotten~the~preamble~of~your~
- \@@_full_name_env:. \\
- This~error~is~fatal.
- }
-% \end{macrocode}
-%
-% \newpage
-% \tableofcontents
-%
-% \endinput
-% Local Variables:
-% TeX-fold-mode: t
-% TeX-fold-preserve-comments: nil
-% fill-column: 80
-% End:
-
-
+% \iffalse meta-comment
+%
+% This file should be compiled with $xelatex$.
+%
+% Copyright (C) 2018-2024 by F. Pantigny
+% ------------------------------------------
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% \fi
+% \iffalse
+\def\myfileversion{6.27b}
+\def\myfiledate{2024/04/23}
+%
+%
+%<*batchfile>
+\begingroup
+\input l3docstrip.tex
+\keepsilent
+\usedir{tex/latex/nicematrix}
+\preamble
+
+
+Copyright (C) 2018-2024 by F. Pantigny
+-----------------------------------
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in:
+
+http://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+\endpreamble
+\askforoverwritefalse
+\endgroup
+%</batchfile>
+%
+%<*driver>
+\documentclass[dvipsnames]{l3doc}% dvipsnames is for xcolor (loaded by Tikz)
+\VerbatimFootnotes
+
+\usepackage[luatex]{geometry}
+\geometry{left=2.8cm,right=2.8cm,top=2.5cm,bottom=2.5cm,papersize={21cm,29.7cm}}
+
+\usepackage{tikz}
+\usetikzlibrary{fit}
+\usepackage{nicematrix}
+
+\NewDocumentEnvironment {scope} {} {} {}
+\def\interitem{\vspace{7mm plus 2 mm minus 3mm}}
+
+\fvset{formatcom=\color{gray}}
+
+\usepackage{upquote}
+
+\usepackage{titlesec}
+\titlespacing*{\section}{0pt}{6.5ex plus 1ex minus .2ex}{4.3ex plus .2ex}
+\titlespacing*{\subsection}{0pt}{4.5ex plus 1ex minus .2ex}{2ex plus .2ex}
+\parindent 0pt
+\skip \footins = 2 \bigskipamount
+
+
+\begin{document}
+\DocInput{nicematrix-code.dtx}
+\end{document}
+%</driver>
+% \fi
+% \title{The code of the package \pkg{nicematrix}\thanks{This document corresponds to the version~\myfileversion\space of \pkg{nicematrix},
+% at the date of~\myfiledate.}}
+% \author{F. Pantigny \\ \texttt{fpantigny@wanadoo.fr}}
+%
+% \hypersetup
+% {
+% pdfinfo =
+% {
+% Title = The code of the package 'nicematrix' ,
+% Subject = A LaTeX package ,
+% Author = F. Pantigny
+% }
+% }
+%
+%
+% \maketitle
+%
+% \begin{abstract}
+% This document is the documented code of the LaTeX package \pkg{nicematrix}. It
+% is \emph{not} its user's guide. The guide of utilisation is the document
+% |nicematrix.pdf| (with a French traduction: |nicematrix-french.pdf|).
+% \end{abstract}
+%
+%
+% \bigskip
+% By default, the package \pkg{nicematrix} doesn't patch any existing code.
+%
+% \smallskip
+% However, when the option |renew-dots| is used, the commands |\cdots|,
+% |\ldots|, |\dots|, |\vdots|, |\ddots| and |\iddots| are redefined in the
+% environments provided by \pkg{nicematrix}. In the same way, if the option
+% |renew-matrix| is used, the environment |{matrix}| of \pkg{amsmath} is
+% redefined.
+%
+% \smallskip
+% On the other hand, the environment |{array}| is never redefined.
+%
+% \smallskip
+% Of course, the package \pkg{nicematrix} uses the features of the package
+% \pkg{array}. It tries to be independent of its implementation. Unfortunately,
+% it was not possible to be strictly independent. For example, the package
+% \pkg{nicematrix} relies upon the fact that the package |{array}| uses
+% |\ialign| to begin the |\halign|.
+%
+%
+% \bigskip
+% \section{Declaration of the package and packages loaded}
+%
+%
+% The prefix |nicematrix| has been registred for this package.
+%
+% See: |http://mirrors.ctan.org/macros/latex/contrib/l3kernel/l3prefixes.pdf|
+%
+%<@@=nicematrix>
+%
+% \bigskip
+% First, we load \pkg{pgfcore} and the module \pkg{shapes}. We do so because
+% it's not possible to use |\usepgfmodule| in |\ExplSyntaxOn|.
+% \begin{macrocode}
+\RequirePackage{pgfcore}
+\usepgfmodule{shapes}
+% \end{macrocode}
+%
+%
+% We give the traditional declaration of a package written with the L3
+% programming layer.
+% \begin{macrocode}
+\RequirePackage{l3keys2e}
+\ProvidesExplPackage
+ {nicematrix}
+ {\myfiledate}
+ {\myfileversion}
+ {Enhanced arrays with the help of PGF/TikZ}
+% \end{macrocode}
+%
+%
+% \bigskip
+% The command for the treatment of the options of |\usepackage| is at the end of
+% this package for technical reasons.
+%
+% \bigskip
+% \begin{macrocode}
+\RequirePackage { amsmath }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\RequirePackage { array }
+% \end{macrocode}
+% In the version 2.6a of \pkg{array}, important modifications have been done for
+% the Tagging Project.
+% \begin{macrocode}
+\bool_const:Nn \c_@@_tagging_array_bool { \cs_if_exist_p:N \ar@ialign }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_error:n { \msg_error:nn { nicematrix } }
+\cs_new_protected:Npn \@@_warning:n { \msg_warning:nn { nicematrix } }
+\cs_new_protected:Npn \@@_error:nn { \msg_error:nnn { nicematrix } }
+\cs_generate_variant:Nn \@@_error:nn { n e }
+\cs_new_protected:Npn \@@_error:nnn { \msg_error:nnnn { nicematrix } }
+\cs_new_protected:Npn \@@_fatal:n { \msg_fatal:nn { nicematrix } }
+\cs_new_protected:Npn \@@_fatal:nn { \msg_fatal:nnn { nicematrix } }
+\cs_new_protected:Npn \@@_msg_new:nn { \msg_new:nnn { nicematrix } }
+% \end{macrocode}
+%
+% With Overleaf, by default, a document is compiled in non-stop mode. When there
+% is an error, there is no way to the user to use the key H in order to have
+% more information. That's why we decide to put that piece of information (for
+% the messages with such information) in the main part of the message when the
+% key |messages-for-Overleaf| is used (at load-time).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_msg_new:nnn #1 #2 #3
+ {
+ \bool_if:NTF \g_@@_messages_for_Overleaf_bool
+ { \msg_new:nnn { nicematrix } { #1 } { #2 \\ #3 } }
+ { \msg_new:nnnn { nicematrix } { #1 } { #2 } { #3 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We also create a command which will generate usually an error but only a
+% warning on Overleaf. The argument is given by curryfication.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_error_or_warning:n
+ { \bool_if:NTF \g_@@_messages_for_Overleaf_bool \@@_warning:n \@@_error:n }
+% \end{macrocode}
+%
+% We try to detect whether the compilation is done on Overleaf. We use
+% |\c_sys_jobname_str| because, with Overleaf, the value of |\c_sys_jobname_str|
+% is always ``|output|''.
+% \begin{macrocode}
+\bool_new:N \g_@@_messages_for_Overleaf_bool
+\bool_gset:Nn \g_@@_messages_for_Overleaf_bool
+ {
+ \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs
+ || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_msg_redirect_name:nn
+ { \msg_redirect_name:nnn { nicematrix } }
+\cs_new_protected:Npn \@@_gredirect_none:n #1
+ {
+ \group_begin:
+ \globaldefs = 1
+ \@@_msg_redirect_name:nn { #1 } { none }
+ \group_end:
+ }
+\cs_new_protected:Npn \@@_err_gredirect_none:n #1
+ {
+ \@@_error:n { #1 }
+ \@@_gredirect_none:n { #1 }
+ }
+\cs_new_protected:Npn \@@_warning_gredirect_none:n #1
+ {
+ \@@_warning:n { #1 }
+ \@@_gredirect_none:n { #1 }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We will delete in the future the following lines which are only a security.
+% \begin{macrocode}
+\cs_set:Npn \int_if_zero:NT #1 { \int_compare:nNnT #1 = \c_zero_int }
+\cs_set:Npn \int_if_zero:NTF #1 { \int_compare:nNnTF #1 = \c_zero_int }
+% \end{macrocode}
+%
+% \bigskip
+% \section{Security test}
+%
+% Within the package \pkg{nicematrix}, we will have to test whether a cell of a
+% |{NiceTabular}| is empty. For the cells of the columns of type |p|, |b|, |m|,
+% |X| and |V|, we will test whether the cell is syntactically empty (that is to
+% say that there is only spaces between the ampersands |&|). That test will be
+% done with the command |\@@_test_if_empty:| by testing if the two first tokens
+% in the cells are (during the TeX process) are |\ignorespaces| and |\unskip|.
+%
+% However, if, one day, there is a changement in the implementation of
+% \pkg{array}, maybe that this test will be broken (and \pkg{nicematrix} also).
+%
+% That's why, by security, we will take a test in a small |{tabular}| composed
+% in the box |\l_tmpa_box| used as sandbox.
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Internal~error }
+ {
+ Potential~problem~when~using~nicematrix.\\
+ The~package~nicematrix~have~detected~a~modification~of~the~
+ standard~environment~{array}~(of~the~package~array).~Maybe~you~will~encounter~
+ some~slight~problems~when~using~nicematrix.~If~you~don't~want~to~see~
+ this~message~again,~load~nicematrix~with:~\token_to_str:N
+ \usepackage[no-test-for-array]{nicematrix}.
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\@@_msg_new:nn { mdwtab~loaded }
+ {
+ The~packages~'mdwtab'~and~'nicematrix'~are~incompatible.~
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_security_test:n #1
+ {
+ \peek_meaning:NTF \ignorespaces
+ { \@@_security_test_i:w }
+ { \@@_error:n { Internal~error } }
+ #1
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_security_test_i:w \ignorespaces #1
+ {
+ \peek_meaning:NF \unskip { \@@_error:n { Internal~error } }
+ #1
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here, the box |\l_tmpa_box| will be used as sandbox to take our security test.
+% This code has been modified in version 6.18 (see question 682891 on TeX
+% StackExchange).
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument / after } { . }
+ {
+ \IfPackageLoadedTF { mdwtab }
+ { \@@_fatal:n { mdwtab~loaded } }
+ {
+ \bool_if:NF \g_@@_no_test_for_array_bool
+ {
+ \group_begin:
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \begin { tabular } { c > { \@@_security_test:n } c c }
+ text & & text
+ \end { tabular }
+ }
+ \group_end:
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{Collecting options}
+%
+% The following technic allows to create user commands with the ability to put
+% an arbitrary number of |[|\textsl{list of (key=val)}|]| after the name of the
+% command.
+%
+% \medskip
+% \emph{Exemple} :\par\nobreak
+%
+% |\@@_collect_options:n { \F } [x=a,y=b] [z=c,t=d] { arg }|
+%
+% will be transformed in :\quad |\F{x=a,y=b,z=c,t=d}{arg}|
+%
+% \smallskip
+% Therefore, by writing : |\def\G{\@@_collect_options:n{\F}}|,
+%
+% the command |\G| takes in an arbitrary number of optional arguments between
+% square brackets.
+%
+% Be careful: that command is \emph{not} ``fully expandable'' (because of
+% |\peek_meaning:NTF|).
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_collect_options:n #1
+ {
+ \peek_meaning:NTF [
+ { \@@_collect_options:nw { #1 } }
+ { #1 { } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We use |\NewDocumentCommand| in order to be able to allow nested brackets
+% within the argument between |[| and |]|.
+% \begin{macrocode}
+\NewDocumentCommand \@@_collect_options:nw { m r[] }
+ { \@@_collect_options:nn { #1 } { #2 } }
+
+\cs_new_protected:Npn \@@_collect_options:nn #1 #2
+ {
+ \peek_meaning:NTF [
+ { \@@_collect_options:nnw { #1 } { #2 } }
+ { #1 { #2 } }
+ }
+
+\cs_new_protected:Npn \@@_collect_options:nnw #1#2[#3]
+ { \@@_collect_options:nn { #1 } { #2 , #3 } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{Technical definitions}
+%
+%
+% The following constants are defined only for efficiency in the tests.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_b_tl { b }
+\tl_const:Nn \c_@@_c_tl { c }
+\tl_const:Nn \c_@@_l_tl { l }
+\tl_const:Nn \c_@@_r_tl { r }
+\tl_const:Nn \c_@@_all_tl { all }
+\tl_const:Nn \c_@@_dot_tl { . }
+\tl_const:Nn \c_@@_default_tl { default }
+\tl_const:Nn \c_@@_star_tl { * }
+\str_const:Nn \c_@@_r_str { r }
+\str_const:Nn \c_@@_c_str { c }
+\str_const:Nn \c_@@_l_str { l }
+\str_const:Nn \c_@@_R_str { R }
+\str_const:Nn \c_@@_C_str { C }
+\str_const:Nn \c_@@_L_str { L }
+\str_const:Nn \c_@@_j_str { j }
+\str_const:Nn \c_@@_si_str { si }
+% \end{macrocode}
+%
+% The following token list will be used for definitions of user commands (with
+% |\NewDocumentCommand|) with an embellishment using an \emph{underscore} (there
+% may be problems because of the catcode of the underscore).
+% \begin{macrocode}
+\tl_new:N \l_@@_argspec_tl
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \seq_set_split:Nnn { N V n }
+\cs_generate_variant:Nn \str_lowercase:n { V }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+% \end{macrocode}
+% In some constructions, we will have to use a |{pgfpicture}| which \emph{must}
+% be replaced by a |{tikzpicture}| if Tikz is loaded. However, this switch
+% between |{pgfpicture}| and |{tikzpicture}| can't be done dynamically with a
+% conditional because, when the Tikz library |external| is loaded by the user,
+% the pair |\tikzpicture|-|\endtikpicture| (or
+% |\begin{tikzpicture}-\end{tikzpicture}|) must be statically ``visible'' (even
+% when externalization is not activated).
+%
+% That's why we create |\c_@@_pgfortikzpicture_tl| and
+% |\c_@@_endpgfortikzpicture_tl| which will be used to construct in a
+% |\hook_gput_code:nnn { begindocument } { . } | the correct version of some
+% commands. The tokens |\exp_not:N| are mandatory.
+% \begin{macrocode}
+ \tl_const:Nn \c_@@_pgfortikzpicture_tl { \exp_not:N \tikzpicture }
+ \tl_const:Nn \c_@@_endpgfortikzpicture_tl { \exp_not:N \endtikzpicture }
+ }
+ {
+ \tl_const:Nn \c_@@_pgfortikzpicture_tl { \exp_not:N \pgfpicture }
+ \tl_const:Nn \c_@@_endpgfortikzpicture_tl { \exp_not:N \endpgfpicture }
+ }
+ }
+% \end{macrocode}
+%
+% We test whether the current class is \cls{revtex4-1} (deprecated) or
+% \cls{revtex4-2} because these classes redefines |\array| (of \pkg{array}) in a
+% way incompatible with our programmation. At the date April 2024, the current
+% version \cls{revtex4-2} is 4.2f (compatible with \pkg{booktabs}).
+%
+% \begin{macrocode}
+\IfClassLoadedTF { revtex4-1 }
+ { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
+ {
+ \IfClassLoadedTF { revtex4-2 }
+ { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
+ {
+% \end{macrocode}
+% Maybe one of the previous classes will be loaded inside another class... We
+% try to detect that situation.
+% \begin{macrocode}
+ \cs_if_exist:NT \rvtx@ifformat@geq
+ { \bool_const:Nn \c_@@_revtex_bool \c_true_bool }
+ { \bool_const:Nn \c_@@_revtex_bool \c_false_bool }
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% If the final user uses \pkg{nicematrix}, PGF/Tikz will write instruction
+% |\pgfsyspdfmark| in the |aux| file. If he changes its mind and no longer loads
+% \pkg{nicematrix}, an error may occur at the next compilation because of
+% remanent instructions |\pgfsyspdfmark| in the |aux| file. With the following
+% code, we try to avoid that situation.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_provide_pgfsyspdfmark:
+ {
+ \iow_now:Nn \@mainaux
+ {
+ \ExplSyntaxOn
+ \cs_if_free:NT \pgfsyspdfmark
+ { \cs_set_eq:NN \pgfsyspdfmark \@gobblethree }
+ \ExplSyntaxOff
+ }
+ \cs_gset_eq:NN \@@_provide_pgfsyspdfmark: \prg_do_nothing:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% We define a command |\iddots| similar to |\ddots| ($\ddots$) but with dots
+% going forward ($\iddots$). We use |\ProvideDocumentCommand| and so, if the
+% command |\iddots| has already been defined (for example by the package
+% \pkg{mathdots}), we don't define it again.
+%
+% \begin{macrocode}
+\ProvideDocumentCommand \iddots { }
+ {
+ \mathinner
+ {
+ \tex_mkern:D 1 mu
+ \box_move_up:nn { 1 pt } { \hbox { . } }
+ \tex_mkern:D 2 mu
+ \box_move_up:nn { 4 pt } { \hbox { . } }
+ \tex_mkern:D 2 mu
+ \box_move_up:nn { 7 pt }
+ { \vbox:n { \kern 7 pt \hbox { . } } }
+ \tex_mkern:D 1 mu
+ }
+ }
+% \end{macrocode}
+%
+% This definition is a variant of the standard definition of |\ddots|.
+%
+%
+% \bigskip
+% In the |aux| file, we will have the references of the PGF/Tikz nodes created
+% by \pkg{nicematrix}. However, when \pkg{booktabs} is used, some nodes (more
+% precisely, some |row| nodes) will be defined twice because their position will
+% be modified. In order to avoid an error message in this case, we will redefine
+% |\pgfutil@check@rerun| in the |aux| file.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { booktabs }
+ { \iow_now:Nn \@mainaux \nicematrix@redefine@check@rerun }
+ { }
+ }
+\cs_set_protected:Npn \nicematrix@redefine@check@rerun
+ {
+ \cs_set_eq:NN \@@_old_pgfutil@check@rerun \pgfutil@check@rerun
+% \end{macrocode}
+% The new version of |\pgfutil@check@rerun| will not check the PGF nodes whose
+% names start with |nm-| (which is the prefix for the nodes created by
+% \pkg{nicematrix}).
+% \begin{macrocode}
+ \cs_set_protected:Npn \pgfutil@check@rerun ##1 ##2
+ {
+ \str_if_eq:eeF { nm- } { \tl_range:nnn { ##1 } 1 3 }
+ { \@@_old_pgfutil@check@rerun { ##1 } { ##2 } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We have to know whether \pkg{colortbl} is loaded in particular for the
+% redefinition of |\everycr|.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ { }
+ {
+% \end{macrocode}
+% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
+% the rules in the array. We will use it to store the instruction of color for
+% the rules even if \pkg{colortbl} is not loaded.
+% \begin{macrocode}
+ \cs_set_protected:Npn \CT@arc@ { }
+ \cs_set:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
+ \cs_set:Npn \CT@arc #1 #2
+ {
+ \dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
+ { \cs_gset_nopar:Npn \CT@arc@ { \color #1 { #2 } } }
+ }
+% \end{macrocode}
+% Idem for |\CT@drs@|.
+% \begin{macrocode}
+ \cs_set:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
+ \cs_set:Npn \CT@drs #1 #2
+ {
+ \dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
+ { \cs_gset:Npn \CT@drsc@ { \color #1 { #2 } } }
+ }
+ \cs_set:Npn \hline
+ {
+ \noalign { \ifnum 0 = `} \fi
+ \cs_set_eq:NN \hskip \vskip
+ \cs_set_eq:NN \vrule \hrule
+ \cs_set_eq:NN \@width \@height
+ { \CT@arc@ \vline }
+ \futurelet \reserved@a
+ \@xhline
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We have to redefine |\cline| for several reasons. The command |\@@_cline| will
+% be linked to |\cline| in the beginning of |{NiceArrayWithDelims}|. The
+% following commands must \emph{not} be protected.
+% \begin{macrocode}
+\cs_set:Npn \@@_standard_cline #1 { \@@_standard_cline:w #1 \q_stop }
+\cs_set:Npn \@@_standard_cline:w #1-#2 \q_stop
+ {
+ \int_if_zero:nT \l_@@_first_col_int { \omit & }
+ \int_compare:nNnT { #1 } > \c_one_int
+ { \multispan { \int_eval:n { #1 - 1 } } & }
+ \multispan { \int_eval:n { #2 - #1 + 1 } }
+ {
+ \CT@arc@
+ \leaders \hrule \@height \arrayrulewidth \hfill
+% \end{macrocode}
+% The following |\skip_horizontal:N \c_zero_dim| is to prevent a potential
+% |\unskip| to delete the |\leaders|\footnote{See question 99041 on TeX
+% StackExchange.}
+% \begin{macrocode}
+ \skip_horizontal:N \c_zero_dim
+ }
+% \end{macrocode}
+% Our |\everycr| has been modified. In particular, the creation of the |row|
+% node is in the |\everycr| (maybe we should put it with the incrementation of
+% |\c@iRow|). Since the following |\cr| correspond to a ``false row'', we have
+% to nullify |\everycr|.
+% \begin{macrocode}
+ \everycr { }
+ \cr
+ \noalign { \skip_vertical:N -\arrayrulewidth }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following version of |\cline| spreads the array of a quantity equal
+% to |\arrayrulewidth| as does |\hline|. It will be loaded excepted if the key
+% |standard-cline| has been used.
+% \begin{macrocode}
+\cs_set:Npn \@@_cline
+% \end{macrocode}
+% We have to act in a fully expandable way since there may be |\noalign| (in the
+% |\multispan|) to detect. That's why we use |\@@_cline_i:en|.
+% \begin{macrocode}
+ { \@@_cline_i:en \l_@@_first_col_int }
+% \end{macrocode}
+% The command |\cline_i:nn| has two arguments. The first is the number of the
+% current column (it \emph{must} be used in that column). The second is a
+% standard argument of |\cline| of the form \textsl{i}-\textsl{j} or the form
+% \textsl{i}.
+% \begin{macrocode}
+\cs_set:Npn \@@_cline_i:nn #1 #2 { \@@_cline_i:w #1|#2- \q_stop }
+\cs_set:Npn \@@_cline_i:w #1|#2-#3 \q_stop
+ {
+ \tl_if_empty:nTF { #3 }
+ { \@@_cline_iii:w #1|#2-#2 \q_stop }
+ { \@@_cline_ii:w #1|#2-#3 \q_stop }
+ }
+\cs_set:Npn \@@_cline_ii:w #1|#2-#3-\q_stop
+ { \@@_cline_iii:w #1|#2-#3 \q_stop }
+\cs_set:Npn \@@_cline_iii:w #1|#2-#3 \q_stop
+ {
+% \end{macrocode}
+% Now, |#1| is the number of the current column and we have to draw a line from
+% the column |#2| to the column |#3| (both included).
+% \begin{macrocode}
+ \int_compare:nNnT { #1 } < { #2 }
+ { \multispan { \int_eval:n { #2 - #1 } } & }
+ \multispan { \int_eval:n { #3 - #2 + 1 } }
+ {
+ \CT@arc@
+ \leaders \hrule \@height \arrayrulewidth \hfill
+ \skip_horizontal:N \c_zero_dim
+ }
+% \end{macrocode}
+% You look whether there is another |\cline| to draw (the final user may put
+% several |\cline|).
+% \begin{macrocode}
+ \peek_meaning_remove_ignore_spaces:NTF \cline
+ { & \@@_cline_i:en { \int_eval:n { #3 + 1 } } }
+ { \everycr { } \cr }
+ }
+\cs_generate_variant:Nn \@@_cline_i:nn { e n }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command will be nullified in the environment |{NiceTabular}|,
+% |{NiceTabular*}| and |{NiceTabularX}|.
+% \begin{macrocode}
+\cs_set_eq:NN \@@_math_toggle: \c_math_toggle_token
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_CT@arc@:n #1
+ {
+ \tl_if_blank:nF { #1 }
+ {
+ \tl_if_head_eq_meaning:nNTF { #1 } [
+ { \cs_set:Npn \CT@arc@ { \color #1 } }
+ { \cs_set:Npn \CT@arc@ { \color { #1 } } }
+ }
+ }
+\cs_generate_variant:Nn \@@_set_CT@arc@:n { o }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_CT@drsc@:n #1
+ {
+ \tl_if_head_eq_meaning:nNTF { #1 } [
+ { \cs_set:Npn \CT@drsc@ { \color #1 } }
+ { \cs_set:Npn \CT@drsc@ { \color { #1 } } }
+ }
+\cs_generate_variant:Nn \@@_set_CT@drsc@:n { o }
+% \end{macrocode}
+%
+% \bigskip
+% The following command must \emph{not} be protected since it will be used to
+% write instructions in the (internal) |\CodeBefore|.
+% \begin{macrocode}
+\cs_new:Npn \@@_exp_color_arg:Nn #1 #2
+ {
+ \tl_if_head_eq_meaning:nNTF { #2 } [
+ { #1 #2 }
+ { #1 { #2 } }
+ }
+\cs_generate_variant:Nn \@@_exp_color_arg:Nn { N o }
+% \end{macrocode}
+%
+% The following command must be protected because of its use of the command |\color|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_color:n #1
+ { \tl_if_blank:nF { #1 } { \@@_exp_color_arg:Nn \color { #1 } } }
+\cs_generate_variant:Nn \@@_color:n { o }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_set_eq:NN \@@_old_pgfpointanchor \pgfpointanchor
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rescan_for_spanish:N #1
+ {
+ \tl_set_rescan:Nno
+ #1
+ {
+ \char_set_catcode_other:N >
+ \char_set_catcode_other:N <
+ }
+ #1
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{Parameters}
+%
+% \bigskip
+% The following counter will count the environments |{NiceArray}|. The value of
+% this counter will be used to prefix the names of the Tikz nodes created in the
+% array.
+% \begin{macrocode}
+\int_new:N \g_@@_env_int
+% \end{macrocode}
+%
+% \bigskip
+% The following command is only a syntaxic shortcut. It must \emph{not} be
+% protected (it will be used in names of \textsc{pgf} nodes).
+% \begin{macrocode}
+\cs_new:Npn \@@_env: { nm - \int_use:N \g_@@_env_int }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\NiceMatrixLastEnv| is not used by the package \pkg{nicematrix}.
+% It's only a facility given to the final user. It gives the number of the last
+% environment (in fact the number of the current environment but it's meant to
+% be used after the environment in order to refer to that environment --- and
+% its nodes --- without having to give it a name). This command \emph{must} be
+% expandable since it will be used in \pkg{pgf} nodes.
+% \begin{macrocode}
+\NewExpandableDocumentCommand \NiceMatrixLastEnv { }
+ { \int_use:N \g_@@_env_int }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command is only a syntaxic shortcut. The |q| in |qpoint| means
+% \emph{quick}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_qpoint:n #1
+ { \pgfpointanchor { \@@_env: - #1 } { center } }
+% \end{macrocode}
+%
+% \bigskip
+% If the user uses |{NiceTabular}|, |{NiceTabular*}| or |{NiceTabularX}|, we
+% will raise the following flag.
+% \begin{macrocode}
+\bool_new:N \l_@@_tabular_bool
+% \end{macrocode}
+%
+% \bigskip
+% |\g_@@_delims_bool| will be true for the environments with delimiters (ex. :
+% |{pNiceMatrix}|, |{pNiceArray}|, |\pAutoNiceMatrix|, etc.).
+% \begin{macrocode}
+\bool_new:N \g_@@_delims_bool
+\bool_gset_true:N \g_@@_delims_bool
+% \end{macrocode}
+% In fact, if there is delimiters in the preamble of |{NiceArray}| (eg:
+% |[cccc]|), this boolean will be set to false.
+%
+% \medskip
+% The following boolean will be equal to |true| in the environments which have
+% a preamble (provided by the final user): |{NiceTabular}|, |{NiceArray}|,
+% |{pNiceArray}|, etc.
+% \begin{macrocode}
+\bool_new:N \l_@@_preamble_bool
+\bool_set_true:N \l_@@_preamble_bool
+% \end{macrocode}
+%
+% \medskip
+% We need a special treatment for |{NiceMatrix}| when |vlines| is not used, in
+% order to retrieve |\arraycolsep| on both sides.
+% \begin{macrocode}
+\bool_new:N \l_@@_NiceMatrix_without_vlines_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following counter will count the environments |{NiceMatrixBlock}|.
+% \begin{macrocode}
+\int_new:N \g_@@_NiceMatrixBlock_int
+% \end{macrocode}
+%
+% \bigskip
+% It's possible to put tabular notes (with |\tabularnote|) in the caption if
+% that caption is composed \emph{above} the tabular. In such case, we will count
+% in |\g_@@_notes_caption_int| the number of uses of the command
+% |\tabularnote| \emph{without optional argument} in that caption.
+% \begin{macrocode}
+\int_new:N \g_@@_notes_caption_int
+% \end{macrocode}
+%
+% \bigskip
+% The dimension |\l_@@_columns_width_dim| will be used when the options specify
+% that all the columns must have the same width (but, if the key |columns-width|
+% is used with the special value |auto|, the boolean
+% |\l_@@_auto_columns_width_bool| also will be raised).
+% \begin{macrocode}
+\dim_new:N \l_@@_columns_width_dim
+% \end{macrocode}
+%
+% \bigskip
+% The dimension |\l_@@_col_width_dim| will be available in each cell which
+% belongs to a column of fixed width: |w{...}{...}|, |W{...}{...}|, |p{...}|,
+% |m{...}|, |b{...}| but also |X| (when the actual width of that column is known, that
+% is to say after the first compilation). It's the width of that column. It will
+% be used by some commands |\Block|. A non positive value means that the column
+% has no fixed width (it's a column of type |c|, |r|, |l|, etc.).
+% \begin{macrocode}
+\dim_new:N \l_@@_col_width_dim
+\dim_set:Nn \l_@@_col_width_dim { -1 cm }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following counters will be used to count the numbers of rows and columns
+% of the array.
+% \begin{macrocode}
+\int_new:N \g_@@_row_total_int
+\int_new:N \g_@@_col_total_int
+% \end{macrocode}
+%
+% \bigskip
+% The following parameter will be used by |\@@_create_row_node:| to avoid to
+% create the same row-node twice (at the end of the array).
+% \begin{macrocode}
+\int_new:N \g_@@_last_row_node_int
+% \end{macrocode}
+%
+% \bigskip
+% The following counter corresponds to the key |nb-rows| of the command
+% |\RowStyle|.
+% \begin{macrocode}
+\int_new:N \l_@@_key_nb_rows_int
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following token list will contain the type of horizontal alignment of the
+% current cell as provided by the corresponding column. The possible values are
+% |r|, |l|, |c| and |j|. For example, a column |p[l]{3cm}| will provide the
+% value |l| for all the cells of the column.
+% \begin{macrocode}
+\tl_new:N \l_@@_hpos_cell_tl
+\tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_c_tl
+% \end{macrocode}
+%
+%
+% \bigskip
+% When there is a mono-column block (created by the command |\Block|), we want
+% to take into account the width of that block for the width of the column.
+% That's why we compute the width of that block in the |\g_@@_blocks_wd_dim|
+% and, after the construction of the box |\l_@@_cell_box|, we change the width
+% of that box to take into account the length |\g_@@_blocks_wd_dim|.
+% \begin{macrocode}
+\dim_new:N \g_@@_blocks_wd_dim
+% \end{macrocode}
+%
+% \bigskip
+% Idem for the mono-row blocks.
+% \begin{macrocode}
+\dim_new:N \g_@@_blocks_ht_dim
+\dim_new:N \g_@@_blocks_dp_dim
+% \end{macrocode}
+%
+% \bigskip
+% The following dimension correspond to the key |width| (which may be fixed in
+% |\NiceMatrixOptions| but also in an environment |{NiceTabular}|).
+% \begin{macrocode}
+\dim_new:N \l_@@_width_dim
+% \end{macrocode}
+%
+% \bigskip
+% The sequence |\g_@@_names_seq| will be the list of all the names of
+% environments used (via the option |name|) in the document: two environments
+% must not have the same name. However, it's possible to use the option
+% |allow-duplicate-names|.
+% \begin{macrocode}
+\seq_new:N \g_@@_names_seq
+% \end{macrocode}
+%
+% \bigskip
+% We want to know whether we are in an environment of \pkg{nicematrix} because we
+% will raise an error if the user tries to use nested environments.
+% \begin{macrocode}
+\bool_new:N \l_@@_in_env_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following key corresponds to the key |notes/detect_duplicates|.
+% \begin{macrocode}
+\bool_new:N \l_@@_notes_detect_duplicates_bool
+\bool_set_true:N \l_@@_notes_detect_duplicates_bool
+% \end{macrocode}
+%
+% \bigskip
+% If the user uses |{NiceTabular*}|, the width of the tabular (in the first
+% argument of the environment |{NiceTabular*}|) will be stored in the following
+% dimension.
+% \begin{macrocode}
+\dim_new:N \l_@@_tabular_width_dim
+% \end{macrocode}
+%
+% \bigskip
+% The following dimension will be used for the total width of composite rules
+% (\emph{total} means that the spaces on both sides are included).
+% \begin{macrocode}
+\dim_new:N \l_@@_rule_width_dim
+% \end{macrocode}
+%
+% \bigskip
+% The key |color| in a command of rule such as |\Hline| (or the specifier
+% ``\verb+|+'' in the preamble of an environment).
+% \begin{macrocode}
+\tl_new:N \l_@@_rule_color_tl
+% \end{macrocode}
+%
+% \bigskip
+% The following boolean will be raised when the command |\rotate| is used.
+% \begin{macrocode}
+\bool_new:N \g_@@_rotate_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following boolean will be raise then the command |\rotate| is used with
+% the key |c|.
+% \begin{macrocode}
+\bool_new:N \g_@@_rotate_c_bool
+% \end{macrocode}
+%
+% \bigskip
+% In a cell, it will be possible to know whether we are in a cell of a column of
+% type |X| thanks to that flag.
+% \begin{macrocode}
+\bool_new:N \l_@@_X_bool
+% \end{macrocode}
+%
+% \begin{macrocode}
+\bool_new:N \g_@@_caption_finished_bool
+% \end{macrocode}
+%
+% \bigskip
+% We will write in |\g_@@_aux_tl| all the instructions that we have to write on
+% the |aux| file for the current environment. The contain of that token list
+% will be written on the |aux| file at the end of the environment (in an
+% instruction |\tl_gset:cn { c_@@_ \int_use:N \g_@@_env_int _ tl }|).
+% \begin{macrocode}
+\tl_new:N \g_@@_aux_tl
+% \end{macrocode}
+%
+% During the second run, if informations concerning the current environment has
+% been found in the |aux| file, the following flag will be raised.
+% \begin{macrocode}
+\bool_new:N \g_@@_aux_found_bool
+% \end{macrocode}
+%
+% \bigskip
+% In particuler, in that |aux| file, there will be, for each environment of
+% \pkg{nicematrix}, an affectation for the the following sequence that will
+% contain informations about the size of the array.
+% \begin{macrocode}
+\seq_new:N \g_@@_size_seq
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\tl_new:N \g_@@_left_delim_tl
+\tl_new:N \g_@@_right_delim_tl
+% \end{macrocode}
+%
+% \bigskip
+% The token list |\g_@@_user_preamble_tl| will contain the preamble provided by
+% the the final user of \pkg{nicematrix} (eg the preamble of an environment
+% |{NiceTabular}|).
+% \begin{macrocode}
+\tl_new:N \g_@@_user_preamble_tl
+% \end{macrocode}
+% The token list |\g_@@_array_preamble_tl| will contain the preamble constructed
+% by \pkg{nicematrix} for the environment |{array}| (of \pkg{array}).
+% \begin{macrocode}
+\tl_new:N \g_@@_array_preamble_tl
+% \end{macrocode}
+% For |\multicolumn|.
+% \begin{macrocode}
+\tl_new:N \g_@@_preamble_tl
+% \end{macrocode}
+%
+% \bigskip
+% The following parameter corresponds to the key |columns-type| of the
+% environments |{NiceMatrix}|, |{pNiceMatrix}|, etc. and also the key
+% |matrix / columns-type| of |\NiceMatrixOptions|.
+% \begin{macrocode}
+\tl_new:N \l_@@_columns_type_tl
+\str_set:Nn \l_@@_columns_type_tl { c }
+% \end{macrocode}
+%
+% \bigskip
+% The following parameters correspond to the keys |down|, |up| and |middle| of a
+% command such as |\Cdots|. Usually, the final user doesn't use that keys
+% directly because he uses the syntax with the embellishments |_|, |^| and |:|.
+% \begin{macrocode}
+\tl_new:N \l_@@_xdots_down_tl
+\tl_new:N \l_@@_xdots_up_tl
+\tl_new:N \l_@@_xdots_middle_tl
+% \end{macrocode}
+%
+% \bigskip
+% We will store in the following sequence informations provided by the
+% instructions |\rowlistcolors| in the main array (not in the |\CodeBefore|).
+% \begin{macrocode}
+\seq_new:N \g_@@_rowlistcolors_seq
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_if_math_mode:
+ {
+ \if_mode_math: \else:
+ \@@_fatal:n { Outside~math~mode }
+ \fi:
+ }
+% \end{macrocode}
+%
+%
+% The list of the columns where vertical lines in sub-matrices (vlism) must be
+% drawn. Of course, the actual value of this sequence will be known after the
+% analyse of the preamble of the array.
+% \begin{macrocode}
+\seq_new:N \g_@@_cols_vlism_seq
+% \end{macrocode}
+%
+% \bigskip
+% The following colors will be used to memorize the color of the potential ``first
+% col'' and the potential ``first row''.
+% \begin{macrocode}
+\colorlet { nicematrix-last-col } { . }
+\colorlet { nicematrix-last-row } { . }
+% \end{macrocode}
+% \bigskip
+% The following string is the name of the current environment or the current
+% command of \pkg{nicematrix} (despite its name which contains \textsl{env}).
+% \begin{macrocode}
+\str_new:N \g_@@_name_env_str
+% \end{macrocode}
+%
+% \bigskip
+% The following string will contain the word \emph{command} or
+% \emph{environment} whether we are in a command of \pkg{nicematrix} or in an
+% environment of \pkg{nicematrix}. The default value is \emph{environment}.
+% \begin{macrocode}
+\tl_new:N \g_@@_com_or_env_str
+\tl_gset:Nn \g_@@_com_or_env_str { environment }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\bool_new:N \l_@@_bold_row_style_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be able to reconstruct the full name of the current
+% command or environment (despite its name which contains \textsl{env}). This
+% command must \emph{not} be protected since it will be used in error messages
+% and we have to use |\str_if_eq:VnTF| and not |\tl_if_eq:NnTF| because we need
+% to be fully expandable).
+% \begin{macrocode}
+\cs_new:Npn \@@_full_name_env:
+ {
+ \str_if_eq:VnTF \g_@@_com_or_env_str { command }
+ { command \space \c_backslash_str \g_@@_name_env_str }
+ { environment \space \{ \g_@@_name_env_str \} }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% For the key |code| of the command |\SubMatrix| (itself in the main
+% |\CodeAfter|), we will use the following token list.
+% \begin{macrocode}
+\tl_new:N \l_@@_code_tl
+% \end{macrocode}
+%
+% \bigskip
+% For the key |pgf-node-code|. That code will be used when the nodes of the
+% cells (that is to say the nodes of the form |i-j|) will be created.
+% \begin{macrocode}
+\tl_new:N \l_@@_pgf_node_code_tl
+% \end{macrocode}
+%
+%
+% \bigskip
+% The so-called |\CodeBefore| is splitted in two parts because we want to control
+% the order of execution of some instructions.
+% \begin{macrocode}
+\tl_new:N \g_@@_pre_code_before_tl
+\tl_new:N \g_nicematrix_code_before_tl
+% \end{macrocode}
+% The value of the key |code-before| will be added to the left of
+% |\g_@@_pre_code_before_tl|. Idem for the code between |\CodeBefore| and
+% |\Body|.
+%
+% \bigskip
+% The so-called |\CodeAfter| is splitted in two parts because we want to control
+% the order of execution of some instructions.
+% \begin{macrocode}
+\tl_new:N \g_@@_pre_code_after_tl
+\tl_new:N \g_nicematrix_code_after_tl
+% \end{macrocode}
+% The |\CodeAfter| provided by the final user (with the key |code-after| or the
+% keyword |\CodeAfter|) will be stored in the second token list.
+%
+% \bigskip
+% \begin{macrocode}
+\bool_new:N \l_@@_in_code_after_bool
+% \end{macrocode}
+%
+% \bigskip
+% The counters |\l_@@_old_iRow_int| and |\l_@@_old_jCol_int| will be used to
+% save the values of the potential LaTeX counters |iRow| and |jCol|. These LaTeX
+% counters will be restored at the end of the environment.
+% \begin{macrocode}
+\int_new:N \l_@@_old_iRow_int
+\int_new:N \l_@@_old_jCol_int
+% \end{macrocode}
+% The TeX counters |\c@iRow| and |\c@jCol| will be created in the beginning of
+% |{NiceArrayWithDelims}| (if they don't exist previously).
+%
+% \bigskip
+% The following sequence will contain the names (without backslash) of the
+% commands created by |custom-line| by the key |command| or |ccommand| (commands
+% used by the final user in order to draw horizontal rules).
+% \begin{macrocode}
+\seq_new:N \l_@@_custom_line_commands_seq
+% \end{macrocode}
+%
+% \bigskip
+% The following token list corresponds to the key |rules/color| available
+% in the environments.
+% \begin{macrocode}
+\tl_new:N \l_@@_rules_color_tl
+% \end{macrocode}
+%
+% \bigskip
+% The sum of the weights of all the |X|-columns in the preamble. The weight of a
+% |X|-column is given as an optional argument between square brackets. The
+% default value, of course, is $1$.
+% \begin{macrocode}
+\int_new:N \g_@@_total_X_weight_int
+% \end{macrocode}
+%
+% If there is at least one |X|-column in the preamble of the array, the
+% following flag will be raised via the |aux| file. The length
+% |l_@@_x_columns_dim| will be the width of |X|-columns of weight $1$ (the width
+% of a column of weigth $n$ will be that dimension multiplied by~$n$). That
+% value is computed after the construction of the array during the first
+% compilation in order to be used in the following run.
+% \begin{macrocode}
+\bool_new:N \l_@@_X_columns_aux_bool
+\dim_new:N \l_@@_X_columns_dim
+% \end{macrocode}
+%
+%
+% \bigskip
+% This boolean will be used only to detect in an expandable way whether we are
+% at the beginning of the (potential) column zero, in order to raise an error if
+% |\Hdotsfor| is used in that column.
+% \begin{macrocode}
+\bool_new:N \g_@@_after_col_zero_bool
+% \end{macrocode}
+%
+% \bigskip
+% A kind of false row will be inserted at the end of the array for the
+% construction of the |col| nodes (and also to fix the width of the columns when
+% |columns-width| is used). When this special row will be created, we will raise
+% the flag |\g_@@_row_of_col_done_bool| in order to avoid some actions set in
+% the redefinition of |\everycr| when the last |\cr| of the |\halign| will occur
+% (after that row of |col| nodes).
+% \begin{macrocode}
+\bool_new:N \g_@@_row_of_col_done_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% It's possible to use the command |\NotEmpty| to specify explicitely that a
+% cell must be considered as non empty by \pkg{nicematrix} (the Tikz nodes are
+% constructed only in the non empty cells).
+% \begin{macrocode}
+\bool_new:N \g_@@_not_empty_cell_bool
+% \end{macrocode}
+%
+% \bigskip
+% |\l_@@_code_before_tl| may contain two types of informations:
+% \begin{itemize}
+% \item A |code-before| written in the |aux| file by a previous run. When the
+% |aux| file is read, this |code-before| is stored in
+% |\g_@@_code_before_|\textsl{i}|_tl| (where \textsl{i} is the number of the
+% environment) and, at the beginning of the environment, it will be put in
+% |\l_@@_code_before_tl|.
+% \item The final user can explicitly add material in |\l_@@_code_before_tl| by
+% using the key |code-before| or the keyword |\CodeBefore| (with the keyword
+% |\Body|).
+% \end{itemize}
+% \begin{macrocode}
+\tl_new:N \l_@@_code_before_tl
+\bool_new:N \l_@@_code_before_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following token list will contain the code inserted in each cell of the
+% current row (this token list will be cleared at the beginning of each row).
+% \begin{macrocode}
+\tl_new:N \g_@@_row_style_tl
+% \end{macrocode}
+%
+% \bigskip
+% The following dimensions will be used when drawing the dotted lines.
+% \begin{macrocode}
+\dim_new:N \l_@@_x_initial_dim
+\dim_new:N \l_@@_y_initial_dim
+\dim_new:N \l_@@_x_final_dim
+\dim_new:N \l_@@_y_final_dim
+% \end{macrocode}
+%
+% \bigskip
+% The L3 programming layer provides scratch dimensions |\l_tmpa_dim| and
+% |\l_tmpb_dim|. We creates two more in the same spirit.
+% \begin{macrocode}
+\dim_zero_new:N \l_@@_tmpc_dim
+\dim_zero_new:N \l_@@_tmpd_dim
+% \end{macrocode}
+%
+% \bigskip
+% Some cells will be declared as ``empty'' (for example a cell with an
+% instruction |\Cdots|).
+% \begin{macrocode}
+\bool_new:N \g_@@_empty_cell_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following dimensions will be used internally to compute the width of the
+% potential ``first column'' and ``last column''.
+% \begin{macrocode}
+\dim_new:N \g_@@_width_last_col_dim
+\dim_new:N \g_@@_width_first_col_dim
+% \end{macrocode}
+%
+% \bigskip
+% The following sequence will contain the characteristics of the blocks of the
+% array, specified by the command |\Block|. Each block is represented by 6
+% components surrounded by curly braces:
+%
+% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|\textsl{options}|}{|\textsl{contents}|}|.
+%
+% The variable is global because it will be modified in the cells of the array.
+% \begin{macrocode}
+\seq_new:N \g_@@_blocks_seq
+% \end{macrocode}
+% We also manage a sequence of the \emph{positions} of the blocks. In that
+% sequence, each block is represented by only five components:
+% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|%
+% \textsl{name}|}|. A block with the key |hvlines| won't appear in that
+% sequence (otherwise, the lines in that block would not be drawn!).
+% \begin{macrocode}
+\seq_new:N \g_@@_pos_of_blocks_seq
+% \end{macrocode}
+% In fact, this sequence will also contain the positions of the cells with a
+% |\diagbox|. The sequence |\g_@@_pos_of_blocks_seq| will be used when we will
+% draw the rules (which respect the blocks).
+%
+% \bigskip
+% We will also manage a sequence for the positions of the dotted lines. These
+% dotted lines are created in the array by |\Cdots|, |\Vdots|, |\Ddots|, etc.
+% However, their positions, that is to say, their extremities, will be
+% determined only after the construction of the array. In this sequence, each
+% item contains five components:
+% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|%
+% \textsl{name}|}|.
+% \begin{macrocode}
+\seq_new:N \g_@@_pos_of_xdots_seq
+% \end{macrocode}
+% The sequence |\g_@@_pos_of_xdots_seq| will be used when we will draw the rules
+% required by the key |hvlines| (these rules won't be drawn within the virtual
+% blocks corresponding to the dotted lines).
+%
+% \medskip
+% The final user may decide to ``stroke'' a block (using, for example, the key
+% |draw=red!15| when using the command |\Block|). In that case, the rules
+% specified, for instance, by |hvlines| must not be drawn around the block.
+% That's why we keep the information of all that stroken blocks in the following
+% sequence.
+% \begin{macrocode}
+\seq_new:N \g_@@_pos_of_stroken_blocks_seq
+% \end{macrocode}
+%
+%
+% \medskip
+% If the user has used the key |corners|, all the cells which are in an (empty)
+% corner will be stored in the following sequence.
+% \begin{macrocode}
+\seq_new:N \l_@@_corners_cells_seq
+% \end{macrocode}
+%
+% \medskip
+% The list of the names of the potential |\SubMatrix| in the |\CodeAfter| of an
+% environment. Unfortunately, that list has to be global (we have to use it
+% inside the group for the options of a given |\SubMatrix|).
+% \begin{macrocode}
+\seq_new:N \g_@@_submatrix_names_seq
+% \end{macrocode}
+%
+% \medskip
+% The following flag will be raised if the key |width| is used in an environment
+% |{NiceTabular}| (not in a command |\NiceMatrixOptions|). You use it to raise
+% an error when this key is used while no column |X| is used.
+% \begin{macrocode}
+\bool_new:N \l_@@_width_used_bool
+% \end{macrocode}
+%
+% \medskip
+% The sequence |\g_@@_multicolumn_cells_seq| will contain the list of the cells
+% of the array where a command |\multicolumn{|$n$|}{...}{...}| with $n>1$ is
+% issued. In |\g_@@_multicolumn_sizes_seq|, the ``sizes'' (that is to say the
+% values of $n$) correspondant will be stored. These lists will be used for the
+% creation of the ``medium nodes'' (if they are created).
+% \begin{macrocode}
+\seq_new:N \g_@@_multicolumn_cells_seq
+\seq_new:N \g_@@_multicolumn_sizes_seq
+% \end{macrocode}
+%
+% \medskip
+% The following counters will be used when searching the extremities of a dotted
+% line (we need these counters because of the potential ``open'' lines in the
+% |\SubMatrix|---the |\SubMatrix| in the |code-before|).
+% \begin{macrocode}
+\int_new:N \l_@@_row_min_int
+\int_new:N \l_@@_row_max_int
+\int_new:N \l_@@_col_min_int
+\int_new:N \l_@@_col_max_int
+% \end{macrocode}
+% \medskip
+% The following counters will be used when drawing the rules.
+% \begin{macrocode}
+\int_new:N \l_@@_start_int
+\int_set_eq:NN \l_@@_start_int \c_one_int
+\int_new:N \l_@@_end_int
+\int_new:N \l_@@_local_start_int
+\int_new:N \l_@@_local_end_int
+% \end{macrocode}
+%
+% \medskip
+% The following sequence will be used when the command |\SubMatrix| is used in
+% the |\CodeBefore| (and not in the |\CodeAfter|). It will contain the position of
+% all the sub-matrices specified in the |\CodeBefore|. Each sub-matrix is
+% represented by an ``object'' of the form |{|$i$|}{|$j$|}{|$k$|}{|$l$|}|
+% where $i$ and $j$ are the number of row and column of the upper-left cell and
+% $k$ and $l$ the number of row and column of the lower-right cell.
+% \begin{macrocode}
+\seq_new:N \g_@@_submatrix_seq
+% \end{macrocode}
+%
+% \medskip
+% We are able to determine the number of columns specified in the preamble (for
+% the environments with explicit preamble of course and without the potential
+% exterior columns).
+% \begin{macrocode}
+\int_new:N \g_@@_static_num_of_col_int
+% \end{macrocode}
+%
+% \medskip
+% The following parameters correspond to the keys |fill|, |opacity|, |draw|,
+% |tikz|, |borders|, and |rounded-corners| of the command |\Block|.
+% \begin{macrocode}
+\tl_new:N \l_@@_fill_tl
+\tl_new:N \l_@@_opacity_tl
+\tl_new:N \l_@@_draw_tl
+\seq_new:N \l_@@_tikz_seq
+\clist_new:N \l_@@_borders_clist
+\dim_new:N \l_@@_rounded_corners_dim
+% \end{macrocode}
+% The last parameter has no direct link with the [empty] corners of the array
+% (which are computed and taken into account by \pkg{nicematrix} when the key
+% |corners| is used).
+%
+% \medskip
+% The following dimension corresponds to the key |rounded-corners| available in
+% an individual environment |{NiceTabular}|. When that key is used, a clipping
+% is applied in the |\CodeBefore| of the environment in order to have rounded
+% corners for the potential colored panels.
+% \begin{macrocode}
+\dim_new:N \l_@@_tab_rounded_corners_dim
+% \end{macrocode}
+%
+% \medskip
+% The following token list correspond to the key |color| of the command |\Block|
+% and also the key |color| of the command |\RowStyle|.
+% \begin{macrocode}
+\tl_new:N \l_@@_color_tl
+% \end{macrocode}
+%
+% \medskip
+% In the key |tikz| of a command |\Block| or in the argument of a command
+% |\TikzEveryCell|, the final user puts a list of tikz keys. But, you have added
+% another key, named |offset| (which means that an offset will be used for the
+% frame of the block or the cell). The following parameter corresponds to that key.
+% \begin{macrocode}
+\dim_new:N \l_@@_offset_dim
+% \end{macrocode}
+%
+% \medskip
+% Here is the dimension for the width of the rule when a block (created by
+% |\Block|) is stroked.
+% \begin{macrocode}
+\dim_new:N \l_@@_line_width_dim
+% \end{macrocode}
+%
+% \medskip
+% The parameters of the horizontal position of the label of a block. If the user
+% uses the key |c| or |C|, the value is |c|. If the user uses the key |l| or
+% |L|, the value is |l|. If the user uses the key |r| or |R|, the value is |r|.
+% If the user has used a capital letter, the boolean
+% |\l_@@_hpos_of_block_cap_bool| will be raised (in the second pass of the
+% analyze of the keys of the command |\Block|).
+% \begin{macrocode}
+\str_new:N \l_@@_hpos_block_str
+\str_set:Nn \l_@@_hpos_block_str { c }
+\bool_new:N \l_@@_hpos_of_block_cap_bool
+% \end{macrocode}
+%
+% \medskip
+% If the final user has used the special color ``|nocolor|'', the following flag
+% will be raised.
+% \begin{macrocode}
+\bool_new:N \l_@@_nocolor_used_bool
+% \end{macrocode}
+%
+% \medskip
+% For the vertical position, the possible values are |c|, |t| and |b|.
+% \begin{macrocode}
+\str_new:N \l_@@_vpos_block_str
+\str_set:Nn \l_@@_vpos_block_str { c }
+% \end{macrocode}
+%
+%
+% \medskip
+% Used when the key |draw-first| is used for |\Ddots| or |\Iddots|.
+% \begin{macrocode}
+\bool_new:N \l_@@_draw_first_bool
+% \end{macrocode}
+%
+% \medskip
+% The following flag corresponds to the keys |vlines| and |hlines| of the
+% command |\Block| (the key |hvlines| is the conjunction of both).
+% \begin{macrocode}
+\bool_new:N \l_@@_vlines_block_bool
+\bool_new:N \l_@@_hlines_block_bool
+% \end{macrocode}
+%
+%
+% \medskip
+% The blocks which use the key |-| will store their content in a box. These
+% boxes are numbered with the following counter.
+% \begin{macrocode}
+\int_new:N \g_@@_block_box_int
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\dim_new:N \l_@@_submatrix_extra_height_dim
+\dim_new:N \l_@@_submatrix_left_xshift_dim
+\dim_new:N \l_@@_submatrix_right_xshift_dim
+\clist_new:N \l_@@_hlines_clist
+\clist_new:N \l_@@_vlines_clist
+\clist_new:N \l_@@_submatrix_hlines_clist
+\clist_new:N \l_@@_submatrix_vlines_clist
+% \end{macrocode}
+%
+% \medskip
+% The following key is set when the keys |hvlines| and |hvlines-except-borders|
+% are used. It's used only to change slightly the clipping path set by the key
+% |rounded-corners| (for a |{tabular}|).
+% \begin{macrocode}
+\bool_new:N \l_@@_hvlines_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following flag will be used by (for instance) |\@@_vline_ii:|.
+% When |\l_@@_dotted_bool| is |true|, a dotted line (with our system) will be drawn.
+% \begin{macrocode}
+\bool_new:N \l_@@_dotted_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following flag will be set to true during the composition of a caption
+% specified (by the key |caption|).
+% \begin{macrocode}
+\bool_new:N \l_@@_in_caption_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% \textbf{Variables for the exterior rows and columns}\par\nobreak
+%
+% \medskip
+% The keys for the exterior rows and columns are |first-row|, |first-col|,
+% |last-row| and |last-col|. However, internally, these keys are not coded in a
+% similar way.
+%
+% \bigskip
+% \begin{itemize}
+% \item \textbf{First row}\par\nobreak
+% The integer |\l_@@_first_row_int| is the number of the first row of the
+% array. The default value is $1$, but, if the option |first-row| is used,
+% the value will be~$0$.
+% \begin{macrocode}
+\int_new:N \l_@@_first_row_int
+\int_set:Nn \l_@@_first_row_int 1
+% \end{macrocode}
+%
+% \medskip
+% \item \textbf{First column}\par\nobreak
+% The integer |\l_@@_first_col_int| is the number of the first column of the
+% array. The default value is $1$, but, if the option |first-col| is used,
+% the value will be~$0$.
+% \begin{macrocode}
+\int_new:N \l_@@_first_col_int
+\int_set_eq:NN \l_@@_first_col_int \c_one_int
+% \end{macrocode}
+%
+% \medskip
+% \item \textbf{Last row}\par\nobreak
+% The counter |\l_@@_last_row_int| is the number of the potential ``last row'',
+% as specified by the key |last-row|. A value of $-2$ means that there is no
+% ``last row''. A value of $-1$ means that there is a ``last row'' but we don't
+% know the number of that row (the key |last-row| has been used without value
+% and the actual value has not still been read in the |aux| file).
+% \begin{macrocode}
+\int_new:N \l_@@_last_row_int
+\int_set:Nn \l_@@_last_row_int { -2 }
+% \end{macrocode}
+%
+% \smallskip
+% If, in an environment like |{pNiceArray}|, the option |last-row| is used
+% without value, we will globally raise the following flag. It will be used to
+% know if we have, after the construction of the array, to write in the |aux|
+% file the number of the ``last row''.\footnote{We can't use
+% |\l_@@_last_row_int| for this usage because, if \pkg{nicematrix} has read its
+% value from the |aux| file, the value of the counter won't be $-1$ any longer.}
+% \begin{macrocode}
+\bool_new:N \l_@@_last_row_without_value_bool
+% \end{macrocode}
+%
+% \smallskip
+% Idem for |\l_@@_last_col_without_value_bool|
+% \begin{macrocode}
+\bool_new:N \l_@@_last_col_without_value_bool
+% \end{macrocode}
+%
+% \medskip
+% \item \textbf{Last column}\par\nobreak
+%
+% For the potential ``last column'', we use an integer. A value of $-2$ means
+% that there is no last column. A value of $-1$ means that we are in an
+% environment without preamble (e.g. |{bNiceMatrix}|) and there is a last column
+% but we don't know its value because the user has used the option |last-col|
+% without value. A value of $0$ means that the option |last-col| has been used
+% in an environment with preamble (like |{pNiceArray}|): in this case, the key
+% was necessary without argument. The command |\NiceMatrixOptions| also sets
+% |\l_@@_last_col_int| to~$0$.
+% \begin{macrocode}
+\int_new:N \l_@@_last_col_int
+\int_set:Nn \l_@@_last_col_int { -2 }
+% \end{macrocode}
+%
+% However, we have also a boolean. Consider the following code:
+% \begin{center}
+% \begin{BVerbatim}
+% \begin{pNiceArray}{cc}[last-col]
+% 1 & 2 \\
+% 3 & 4
+% \end{pNiceArray}
+% \end{BVerbatim}
+% \end{center}
+% In such a code, the ``last column'' specified by the key |last-col| is not
+% used. We want to be able to detect such a situation and we create a boolean
+% for that job.
+% \begin{macrocode}
+\bool_new:N \g_@@_last_col_found_bool
+% \end{macrocode}
+% This boolean is set to |false| at the end of |\@@_pre_array_ii:|.
+%
+% \medskip
+% In the last column, we will raise the following flag (it will be used by
+% |\OnlyMainNiceMatrix|).
+% \begin{macrocode}
+\bool_new:N \l_@@_in_last_col_bool
+% \end{macrocode}
+% \end{itemize}
+%
+% \bigskip
+% \textbf{Some utilities}
+%
+% \medskip
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_cut_on_hyphen:w #1-#2\q_stop
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { #1 }
+ \cs_set_nopar:Npn \l_tmpb_tl { #2 }
+ }
+% \end{macrocode}
+%
+%
+% The following takes as argument the name of a |clist| and which should be a
+% list of intervals of integers. It \emph{expands} that list, that is to say,
+% it replaces (by a sort of |mapcan| or |flat_map|) the interval by the explicit
+% list of the integers.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_expand_clist:N #1
+ {
+ \clist_if_in:NVF #1 \c_@@_all_tl
+ {
+ \clist_clear:N \l_tmpa_clist
+ \clist_map_inline:Nn #1
+ {
+ \tl_if_in:nnTF { ##1 } { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
+ \cs_set_nopar:Npn \l_tmpb_tl { ##1 }
+ }
+ \int_step_inline:nnn \l_tmpa_tl \l_tmpb_tl
+ { \clist_put_right:Nn \l_tmpa_clist { ####1 } }
+ }
+ \tl_set_eq:NN #1 \l_tmpa_clist
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following internal parameters are for:
+% \begin{itemize}
+% \item |\Ldots| \emph{with both extremities open} (and hence also |\Hdotsfor| in an
+% exterior row;
+% \item |\Vdots| \emph{with both extremities open} (and hence also |\Vdotsfor| in an
+% exterior column;
+% \item when the special character ``|:|'' is used in order to put the label of
+% a so-called ``dotted line'' \emph{on the line}, a margin of
+% |\c_@@_innersep_middle_dim| will be added around the label.
+% \end{itemize}
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \dim_const:Nn \c_@@_shift_Ldots_last_row_dim { 0.5 em }
+ \dim_const:Nn \c_@@_shift_exterior_Vdots_dim { 0.6 em }
+ \dim_const:Nn \c_@@_innersep_middle_dim { 0.17 em }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The command \textbackslash tabularnote}
+%
+% \bigskip
+% Of course, it's possible to use |\tabularnote| in the main tabular. But there
+% is also the possibility to use that command in the caption of the tabular. And
+% the caption may be specified by two means:
+%
+% \begin{itemize}
+% \item The caption may of course be provided by the command |\caption| in a
+% floating environment. Of course, a command |\tabularnote| in that |\caption|
+% makes sens only if the |\caption| is \emph{before} the |{tabular}|.
+% \item It's also possible to use |\tabularnote| in the value of the key
+% |caption| of the |{NiceTabular}| when the key |caption-above| is in force.
+% However, in that case, one must remind that the caption is composed
+% \emph{after} the composition of the box which contains the main tabular
+% (that's mandatory since that caption must be wrapped with a line width equal
+% to the width ot the tabular). However, we want the labels of the successive
+% tabular notes in the logical order. That's why:
+% \begin{itemize}
+% \item The number of tabular notes present in the caption will be written on
+% the |aux| file and available in |\g_@@_notes_caption_int|.\footnote{More
+% precisely, it's the number of tabular notes which do not use the optional
+% argument of |\tabularnote|.}
+% \item During the composition of the main tabular, the tabular notes will be
+% numbered from |\g_@@_notes_caption_int|+1 and the notes will be stored in
+% |\g_@@_notes_seq|. Each component of |\g_@@_notes_seq| will be a kind of
+% couple of the form : \texttt{\{\textsl{label}\}\{\textsl{text of the
+% tabularnote}\}}. The first component is the optional argument (between square
+% brackets) of the command |\tabularnote| (if the optional argument is not used,
+% the value will be the special marker expressed by |\c_novalue_tl|).
+% \item During the composition of the caption (value of |\l_@@_caption_tl|), the
+% tabular notes will be numbered from $1$ to |\g_@@_notes_caption_int| and the
+% notes themselves will be stored in |\g_@@_notes_in_caption_seq|. The structure
+% of the components of that sequence will be the same as for |\g_@@_notes_seq|.
+% \item After the composition of the main tabular and after the composition of
+% the caption, the sequences |\g_@@_notes_in_caption_seq| and |\g_@@_notes_seq|
+% will be merged (in that order) and the notes will be composed.
+% \end{itemize}
+% \end{itemize}
+%
+%
+% \bigskip
+% The LaTeX counter |tabularnote| will be used to count the tabular notes during
+% the construction of the array (this counter won't be used during the
+% composition of the notes at the end of the array). You use a LaTeX counter
+% because we will use |\refstepcounter| in order to have the tabular notes
+% referenceable.
+% \begin{macrocode}
+\newcounter { tabularnote }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\seq_new:N \g_@@_notes_seq
+\seq_new:N \g_@@_notes_in_caption_seq
+% \end{macrocode}
+%
+% \bigskip
+% Before the actual tabular notes, it's possible to put a text
+% specified by the key |tabularnote| of the environment. The token list
+% |\g_@@_tabularnote_tl| corresponds to the value of that key.
+% \begin{macrocode}
+\tl_new:N \g_@@_tabularnote_tl
+% \end{macrocode}
+%
+% \bigskip
+% We prepare the tools for the formatting of the references of the footnotes (in
+% the tabular itself). There may have several references of footnote at the same
+% point and we have to take into account that point.
+% \begin{macrocode}
+\seq_new:N \l_@@_notes_labels_seq
+\newcounter{nicematrix_draft}
+\cs_new_protected:Npn \@@_notes_format:n #1
+ {
+ \setcounter { nicematrix_draft } { #1 }
+ \@@_notes_style:n { nicematrix_draft }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following function can be redefined by using the key |notes/style|.
+% \begin{macrocode}
+\cs_new:Npn \@@_notes_style:n #1 { \textit { \alph { #1 } } }
+% \end{macrocode}
+%
+% \bigskip
+% The following fonction can be redefined by using the key
+% |notes/label-in-tabular|.
+% \begin{macrocode}
+\cs_new:Npn \@@_notes_label_in_tabular:n #1 { \textsuperscript { #1 } }
+% \end{macrocode}
+%
+% \bigskip
+% The following function can be redefined by using the key |notes/label-in-list|.
+% \begin{macrocode}
+\cs_new:Npn \@@_notes_label_in_list:n #1 { \textsuperscript { #1 } }
+% \end{macrocode}
+%
+% \bigskip
+% We define |\thetabularnote| because it will be used by LaTeX if the user want
+% to reference a tabular which has been marked by a |\label|. The TeX group is
+% for the case where the user has put an instruction such as |\color{red}| in
+% |\@@_notes_style:n|.
+% \begin{macrocode}
+\cs_set:Npn \thetabularnote { { \@@_notes_style:n { tabularnote } } }
+% \end{macrocode}
+%
+% \bigskip
+% The tabular notes will be available for the final user only when
+% \pkg{enumitem} is loaded. Indeed, the tabular notes will be composed at the end
+% of the array with a list customized by \pkg{enumitem} (a list |tabularnotes|
+% in the general case and a list |tabularnotes*| if the key |para| is in force).
+% However, we can test whether \pkg{enumitem} has been loaded only at the
+% beginning of the document (we want to allow the user to load \pkg{enumitem}
+% after \pkg{nicematrix}).
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { enumitem }
+ {
+% \end{macrocode}
+% The type of list |tabularnotes| will be used to format the tabular notes at
+% the end of the array in the general case and |tabularnotes*| will be used if
+% the key |para| is in force.
+% \begin{macrocode}
+ \newlist { tabularnotes } { enumerate } { 1 }
+ \setlist [ tabularnotes ]
+ {
+ topsep = 0pt ,
+ noitemsep ,
+ leftmargin = * ,
+ align = left ,
+ labelsep = 0pt ,
+ label =
+ \@@_notes_label_in_list:n { \@@_notes_style:n { tabularnotesi } } ,
+ }
+ \newlist { tabularnotes* } { enumerate* } { 1 }
+ \setlist [ tabularnotes* ]
+ {
+ afterlabel = \nobreak ,
+ itemjoin = \quad ,
+ label =
+ \@@_notes_label_in_list:n { \@@_notes_style:n { tabularnotes*i } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% One must remind that we have allowed a |\tabular| in the caption and
+% that caption may also be found in the list of tables (|\listoftables|). We
+% want the command |\tabularnote| be no-op during the composition of that list.
+% That's why we program |\tabularnote| to be no-op excepted in a floating
+% environment or in an environment of \pkg{nicematrix}.
+% \begin{macrocode}
+ \NewDocumentCommand \tabularnote { o m }
+ {
+ \bool_lazy_or:nnT { \cs_if_exist_p:N \@captype } \l_@@_in_env_bool
+ {
+ \bool_lazy_and:nnTF { ! \l_@@_tabular_bool } \l_@@_in_env_bool
+ { \@@_error:n { tabularnote~forbidden } }
+ {
+ \bool_if:NTF \l_@@_in_caption_bool
+ \@@_tabularnote_caption:nn
+ \@@_tabularnote:nn
+ { #1 } { #2 }
+ }
+ }
+ }
+ }
+ {
+ \NewDocumentCommand \tabularnote { o m }
+ {
+ \@@_error_or_warning:n { enumitem~not~loaded }
+ \@@_gredirect_none:n { enumitem~not~loaded }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_first_novalue:nnn #1 #2 #3
+ { \tl_if_novalue:nT { #1 } { #3 } }
+% \end{macrocode}
+%
+% \bigskip
+% For the version in normal conditions, that is to say not in the |caption|.
+% |#1| is the optional argument of |\tabularnote| (maybe equal to the special
+% marker expressed by |\c_novalue_tl|) and |#2| is the mandatory argument of
+% |\tabularnote|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_tabularnote:nn #1 #2
+ {
+% \end{macrocode}
+% You have to see whether the argument of |\tabularnote| has yet been used as
+% argument of another |\tabularnote| in the same tabular. In that case, there
+% will be only one note (for both commands |\tabularnote|) at the end of the
+% tabular. We search the argument of our command |\tabularnote| in
+% |\g_@@_notes_seq|. The position in the sequence will be stored in
+% |\l_tmpa_int| (0 if the text is not in the sequence yet).
+% \begin{macrocode}
+ \int_zero:N \l_tmpa_int
+ \bool_if:NT \l_@@_notes_detect_duplicates_bool
+ {
+% \end{macrocode}
+% We recall that each component of |\g_@@_notes_seq| is a kind of couple of the form
+% \begin{center}
+% \texttt{\{\textsl{label}\}\{\textsl{text of the tabularnote}\}}.
+% \end{center}
+% If the user have used |\tabularnote| without the optional argument, the
+% \texttt{\textsl{label}} will be the special marker expressed by |\c_novalue_tl|.
+%
+% When we will go through the sequence |\g_@@_notes_seq|, we will count in
+% |\l_tmpb_int| the notes without explicit label in order to have the
+% ``current'' value of the counter |\c@tabularnote|.
+% \begin{macrocode}
+ \int_zero:N \l_tmpb_int
+ \seq_map_indexed_inline:Nn \g_@@_notes_seq
+ {
+ \@@_test_first_novalue:nnn ##2 { \int_incr:N \l_tmpb_int }
+ \tl_if_eq:nnT { { #1 } { #2 } } { ##2 }
+ {
+ \tl_if_novalue:nTF { #1 }
+ { \int_set_eq:NN \l_tmpa_int \l_tmpb_int }
+ { \int_set:Nn \l_tmpa_int { ##1 } }
+ \seq_map_break:
+ }
+ }
+ \int_if_zero:nF \l_tmpa_int
+ { \int_add:Nn \l_tmpa_int \g_@@_notes_caption_int }
+ }
+ \int_if_zero:nT \l_tmpa_int
+ {
+ \seq_gput_right:Nn \g_@@_notes_seq { { #1 } { #2 } }
+ \tl_if_novalue:nT { #1 } { \int_gincr:N \c@tabularnote }
+ }
+ \seq_put_right:Nx \l_@@_notes_labels_seq
+ {
+ \tl_if_novalue:nTF { #1 }
+ {
+ \@@_notes_format:n
+ {
+ \int_eval:n
+ {
+ \int_if_zero:nTF \l_tmpa_int
+ \c@tabularnote
+ \l_tmpa_int
+ }
+ }
+ }
+ { #1 }
+ }
+ \peek_meaning:NF \tabularnote
+ {
+% \end{macrocode}
+% If the following token is \emph{not} a |\tabularnote|, we have finished the
+% sequence of successive commands |\tabularnote| and we have to format the
+% labels of these tabular notes (in the array). We compose those labels in a box
+% |\l_tmpa_box| because we will do a special construction in order to have this
+% box in an overlapping position if we are at the end of a cell when
+% |\l_@@_hpos_cell_tl| is equal to |c| or |r|.
+% \begin{macrocode}
+ \hbox_set:Nn \l_tmpa_box
+ {
+% \end{macrocode}
+% We remind that it is the command |\@@_notes_label_in_tabular:n| that will
+% put the labels in a |\textsuperscript|.
+% \begin{macrocode}
+ \@@_notes_label_in_tabular:n
+ {
+ \seq_use:Nnnn
+ \l_@@_notes_labels_seq { , } { , } { , }
+ }
+ }
+% \end{macrocode}
+% We want the (last) tabular note referenceable (with the standard command |\label|).
+% \begin{macrocode}
+ \int_gdecr:N \c@tabularnote
+ \int_set_eq:NN \l_tmpa_int \c@tabularnote
+ \refstepcounter { tabularnote }
+ \int_compare:nNnT \l_tmpa_int = \c@tabularnote
+ { \int_gincr:N \c@tabularnote }
+ \seq_clear:N \l_@@_notes_labels_seq
+ \bool_lazy_or:nnTF
+ { \tl_if_eq_p:NN \l_@@_hpos_cell_tl \c_@@_c_tl }
+ { \tl_if_eq_p:NN \l_@@_hpos_cell_tl \c_@@_r_tl }
+ {
+ \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
+% \end{macrocode}
+% If the command |\tabularnote| is used exactly at the end of the cell, the
+% |\unskip| (inserted by \pkg{array}?) will delete the skip we insert now
+% and the label of the footnote will be composed in an overlapping position (by
+% design).
+% \begin{macrocode}
+ \skip_horizontal:n { \box_wd:N \l_tmpa_box }
+ }
+ { \box_use:N \l_tmpa_box }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Now the version when the command is used in the key |caption|. The main
+% difficulty is that the argument of the command |\caption| is composed several
+% times. In order to know the number of commands |\tabularnote| in the caption,
+% we will consider that there should not be the same tabular note twice in the
+% caption (in the main tabular, it's possible). Once we have found a tabular
+% note which has yet been encountered, we consider that you are in a new
+% composition of the argument of |\caption|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_tabularnote_caption:nn #1 #2
+ {
+ \bool_if:NTF \g_@@_caption_finished_bool
+ {
+ \int_compare:nNnT \c@tabularnote = \g_@@_notes_caption_int
+ { \int_gzero:N \c@tabularnote }
+% \end{macrocode}
+% Now, we try to detect duplicate notes in the caption.
+% Be careful! We must put |\tl_if_in:NnF| and not |\tl_if_in:NnT|!
+% \begin{macrocode}
+ \seq_if_in:NnF \g_@@_notes_in_caption_seq { { #1 } { #2 } }
+ { \@@_error:n { Identical~notes~in~caption } }
+ }
+ {
+% \end{macrocode}
+% In the following code, we are in the first composition of the caption or at
+% the first |\tabularnote| of the second composition.
+% \begin{macrocode}
+ \seq_if_in:NnTF \g_@@_notes_in_caption_seq { { #1 } { #2 } }
+ {
+% \end{macrocode}
+% Now, we know that are in the second composition of the caption since we are
+% reading a tabular note which has yet been read. Now, the value of
+% |\g_@@_notes_caption_int| won't change anymore: it's the number of uses
+% \emph{without optional argument} of the command |\tabularnote| in the caption.
+% \begin{macrocode}
+ \bool_gset_true:N \g_@@_caption_finished_bool
+ \int_gset_eq:NN \g_@@_notes_caption_int \c@tabularnote
+ \int_gzero:N \c@tabularnote
+ }
+ { \seq_gput_right:Nn \g_@@_notes_in_caption_seq { { #1 } { #2 } } }
+ }
+% \end{macrocode}
+% Now, we will compose the label of the footnote (in the caption). Even if we
+% are not in the first composition, we have to compose that label!
+% \begin{macrocode}
+ \tl_if_novalue:nT { #1 } { \int_gincr:N \c@tabularnote }
+ \seq_put_right:Nx \l_@@_notes_labels_seq
+ {
+ \tl_if_novalue:nTF { #1 }
+ { \@@_notes_format:n { \int_use:N \c@tabularnote } }
+ { #1 }
+ }
+ \peek_meaning:NF \tabularnote
+ {
+ \@@_notes_label_in_tabular:n
+ { \seq_use:Nnnn \l_@@_notes_labels_seq { , } { , } { , } }
+ \seq_clear:N \l_@@_notes_labels_seq
+ }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_count_novalue_first:nn #1 #2
+ { \tl_if_novalue:nT { #1 } { \int_gincr:N \g_@@_notes_caption_int } }
+% \end{macrocode}
+%
+%
+% \section{Command for creation of rectangle nodes}
+%
+% The following command should be used in a |{pgfpicture}|. It creates a
+% rectangle (empty but with a name).
+%
+% |#1| is the name of the node which will be created;
+% |#2| and |#3| are the coordinates of one of the corner of the rectangle;
+% |#4| and |#5| are the coordinates of the opposite corner.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pgf_rect_node:nnnnn #1 #2 #3 #4 #5
+ {
+ \begin { pgfscope }
+ \pgfset
+ {
+ inner~sep = \c_zero_dim ,
+ minimum~size = \c_zero_dim
+ }
+ \pgftransformshift { \pgfpoint { 0.5 * ( #2 + #4 ) } { 0.5 * ( #3 + #5 ) } }
+ \pgfnode
+ { rectangle }
+ { center }
+ {
+ \vbox_to_ht:nn
+ { \dim_abs:n { #5 - #3 } }
+ {
+ \vfill
+ \hbox_to_wd:nn { \dim_abs:n { #4 - #2 } } { }
+ }
+ }
+ { #1 }
+ { }
+ \end { pgfscope }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\@@_pgf_rect_node:nnn| is a variant of |\@@_pgf_rect_node:nnnnn|:
+% it takes two \textsc{pgf} points as arguments instead of the four dimensions
+% which are the coordinates.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pgf_rect_node:nnn #1 #2 #3
+ {
+ \begin { pgfscope }
+ \pgfset
+ {
+ inner~sep = \c_zero_dim ,
+ minimum~size = \c_zero_dim
+ }
+ \pgftransformshift { \pgfpointscale { 0.5 } { \pgfpointadd { #2 } { #3 } } }
+ \pgfpointdiff { #3 } { #2 }
+ \pgfgetlastxy \l_tmpa_dim \l_tmpb_dim
+ \pgfnode
+ { rectangle }
+ { center }
+ {
+ \vbox_to_ht:nn
+ { \dim_abs:n \l_tmpb_dim }
+ { \vfill \hbox_to_wd:nn { \dim_abs:n \l_tmpa_dim } { } }
+ }
+ { #1 }
+ { }
+ \end { pgfscope }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The options}
+%
+% The following parameter corresponds to the keys |caption|, |short-caption| and
+% |label| of the environment |{NiceTabular}|.
+% \begin{macrocode}
+\tl_new:N \l_@@_caption_tl
+\tl_new:N \l_@@_short_caption_tl
+\tl_new:N \l_@@_label_tl
+% \end{macrocode}
+%
+% \bigskip
+% The following parameter corresponds to the key |caption-above| of
+% |\NiceMatrixOptions|. When this paremeter is |true|, the captions of the
+% environments |{NiceTabular}|, specified with the key |caption| are put above
+% the tabular (and below elsewhere).
+% \begin{macrocode}
+\bool_new:N \l_@@_caption_above_bool
+% \end{macrocode}
+%
+% \bigskip
+% By default, the commands |\cellcolor| and |\rowcolor| are available for the
+% user in the cells of the tabular (the user may use the commands provided by
+% |\colortbl|). However, if the key |color-inside| is used, these
+% commands are available.
+% \begin{macrocode}
+\bool_new:N \l_@@_color_inside_bool
+% \end{macrocode}
+%
+% \bigskip
+% By default, the behaviour of |\cline| is changed in the environments of
+% \pkg{nicematrix}: a |\cline| spreads the array by an amount equal to
+% |\arrayrulewidth|. It's possible to disable this feature with the key
+% |\l_@@_standard_line_bool|.
+% \begin{macrocode}
+\bool_new:N \l_@@_standard_cline_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following dimensions correspond to the options |cell-space-top-limit| and co
+% (these parameters are inspired by the package \pkg{cellspace}).
+% \begin{macrocode}
+\dim_new:N \l_@@_cell_space_top_limit_dim
+\dim_new:N \l_@@_cell_space_bottom_limit_dim
+% \end{macrocode}
+%
+% \bigskip
+% The following parameter corresponds to the key |xdots/horizontal_labels|.
+% \begin{macrocode}
+\bool_new:N \l_@@_xdots_h_labels_bool
+% \end{macrocode}
+% \bigskip
+% The following dimension is the distance between two dots for the dotted lines
+% (when |line-style| is equal to |standard|, which is the initial value). The
+% initial value is 0.45~em but it will be changed if the option |small| is used.
+% \begin{macrocode}
+\dim_new:N \l_@@_xdots_inter_dim
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_inter_dim { 0.45 em } }
+% \end{macrocode}
+% The unit is |em| and that's why we fix the dimension after the preamble.
+%
+% \bigskip
+% The following dimension is the distance between a node (in fact an
+% anchor of that node) and a dotted line (for real dotted lines, the actual
+% distance may, of course, be a bit larger, depending of the exact position of
+% the dots).
+% \begin{macrocode}
+\dim_new:N \l_@@_xdots_shorten_start_dim
+\dim_new:N \l_@@_xdots_shorten_end_dim
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \dim_set:Nn \l_@@_xdots_shorten_start_dim { 0.3 em }
+ \dim_set:Nn \l_@@_xdots_shorten_end_dim { 0.3 em }
+ }
+% \end{macrocode}
+% The unit is |em| and that's why we fix the dimension after the preamble.
+%
+% \bigskip
+% The following dimension is the radius of the dots for the dotted lines (when
+% |line-style| is equal to |standard|, which is the initial value). The initial
+% value is 0.53~pt but it will be changed if the option |small| is used.
+% \begin{macrocode}
+\dim_new:N \l_@@_xdots_radius_dim
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_radius_dim { 0.53 pt } }
+% \end{macrocode}
+% The unit is |em| and that's why we fix the dimension after the preamble.
+%
+%
+% \bigskip
+% The token list |\l_@@_xdots_line_style_tl| corresponds to the option |tikz| of the
+% commands |\Cdots|, |\Ldots|, etc. and of the options |line-style| for the
+% environments and |\NiceMatrixOptions|. The constant |\c_@@_standard_tl| will
+% be used in some tests.
+% \begin{macrocode}
+\tl_new:N \l_@@_xdots_line_style_tl
+\tl_const:Nn \c_@@_standard_tl { standard }
+\tl_set_eq:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl
+% \end{macrocode}
+%
+% \bigskip
+% The boolean |\l_@@_light_syntax_bool| corresponds to the option |light-syntax|
+% and the boolean |\l_@@_light_syntax_expanded_bool| correspond to the the
+% option |light-syntax-expanded|.
+% \begin{macrocode}
+\bool_new:N \l_@@_light_syntax_bool
+\bool_new:N \l_@@_light_syntax_expanded_bool
+% \end{macrocode}
+%
+% \bigskip
+% The string |\l_@@_baseline_tl| may contain one of the three values |t|,
+% |c| or |b| as in the option of the environment |{array}|. However, it may also
+% contain an integer (which represents the number of the row to which align the
+% array).
+% \begin{macrocode}
+\tl_new:N \l_@@_baseline_tl
+\tl_set:Nn \l_@@_baseline_tl { c }
+% \end{macrocode}
+%
+% \bigskip
+% The flag |\l_@@_exterior_arraycolsep_bool| corresponds to the option
+% |exterior-arraycolsep|. If this option is set, a space equal to |\arraycolsep|
+% will be put on both sides of an environment |{NiceArray}| (as it is done in
+% |{array}| of \pkg{array}).
+% \begin{macrocode}
+\bool_new:N \l_@@_exterior_arraycolsep_bool
+% \end{macrocode}
+%
+% \bigskip
+% The flag |\l_@@_parallelize_diags_bool| controls whether the diagonals are
+% parallelized. The initial value is~|true|.
+% \begin{macrocode}
+\bool_new:N \l_@@_parallelize_diags_bool
+\bool_set_true:N \l_@@_parallelize_diags_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following parameter correspond to the key |corners|. The elements of that
+% |clist| must be within |NW|, |SW|, |NE| and |SE|.
+% \begin{macrocode}
+\clist_new:N \l_@@_corners_clist
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\dim_new:N \l_@@_notes_above_space_dim
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_notes_above_space_dim { 1 mm } }
+% \end{macrocode}
+% We use a hook only by security in case \cls{revtex4-1} is used (even though it
+% is obsolete).
+%
+% \bigskip
+% The flag |\l_@@_nullify_dots_bool| corresponds to the option |nullify-dots|.
+% When the flag is down, the instructions like |\vdots| are inserted within a
+% |\hphantom| (and so the constructed matrix has exactly the same size as a
+% matrix constructed with the classical |{matrix}| and |\ldots|, |\vdots|,
+% etc.).
+% \begin{macrocode}
+\bool_new:N \l_@@_nullify_dots_bool
+% \end{macrocode}
+%
+% \medskip
+% When the key |respect-arraystretch| is used, the following command will be nullified.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_reset_arraystretch:
+ { \cs_set_nopar:Npn \arraystretch { 1 } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following flag will be used when the current options specify that all the
+% columns of the array must have the same width equal to the largest width of a
+% cell of the array (except the cells of the potential exterior columns).
+% \begin{macrocode}
+\bool_new:N \l_@@_auto_columns_width_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following boolean corresponds to the key |create-cell-nodes| of the
+% keyword |\CodeBefore|.
+% \begin{macrocode}
+\bool_new:N \g_@@_recreate_cell_nodes_bool
+% \end{macrocode}
+%
+% \bigskip
+% The string |\l_@@_name_str| will contain the optional name of the
+% environment: this name can be used to access to the Tikz nodes created in the
+% array from outside the environment.
+% \begin{macrocode}
+\str_new:N \l_@@_name_str
+% \end{macrocode}
+%
+% \bigskip
+% The boolean |\l_@@_medium_nodes_bool| will be used to indicate whether the
+% ``medium nodes'' are created in the array. Idem for the ``large nodes''.
+% \begin{macrocode}
+\bool_new:N \l_@@_medium_nodes_bool
+\bool_new:N \l_@@_large_nodes_bool
+% \end{macrocode}
+%
+% \bigskip
+% The boolean |\l_@@_except_borders_bool| will be raised when the key
+% |hvlines-except-borders| will be used (but that key has also other effects).
+% \begin{macrocode}
+\bool_new:N \l_@@_except_borders_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% The dimension |\l_@@_left_margin_dim| correspond to the option |left-margin|.
+% Idem for the right margin. These parameters are involved in the creation of
+% the ``medium nodes'' but also in the placement of the delimiters and the
+% drawing of the horizontal dotted lines (|\hdottedline|).
+% \begin{macrocode}
+\dim_new:N \l_@@_left_margin_dim
+\dim_new:N \l_@@_right_margin_dim
+% \end{macrocode}
+%
+%
+% \bigskip
+% The dimensions |\l_@@_extra_left_margin_dim| and
+% |\l_@@_extra_right_margin_dim| correspond to the options |extra-left-margin|
+% and |extra-right-margin|.
+% \begin{macrocode}
+\dim_new:N \l_@@_extra_left_margin_dim
+\dim_new:N \l_@@_extra_right_margin_dim
+% \end{macrocode}
+%
+% \medskip
+% The token list |\l_@@_end_of_row_tl| corresponds to the option |end-of-row|.
+% It specifies the symbol used to mark the ends of rows when the light syntax is
+% used.
+% \begin{macrocode}
+\tl_new:N \l_@@_end_of_row_tl
+\tl_set:Nn \l_@@_end_of_row_tl { ; }
+% \end{macrocode}
+%
+% \medskip
+% The following parameter is for the color the dotted lines drawn by |\Cdots|,
+% |\Ldots|, |\Vdots|, |\Ddots|, |\Iddots| and |\Hdotsfor| but \emph{not} the
+% dotted lines drawn by |\hdottedline| and ``|:|''.
+% \begin{macrocode}
+\tl_new:N \l_@@_xdots_color_tl
+% \end{macrocode}
+%
+% \bigskip
+% The following token list corresponds to the key |delimiters/color|.
+% \begin{macrocode}
+\tl_new:N \l_@@_delimiters_color_tl
+% \end{macrocode}
+%
+%
+% \bigskip
+% Sometimes, we want to have several arrays vertically juxtaposed in order to
+% have an alignment of the columns of these arrays. To acheive this goal, one
+% may wish to use the same width for all the columns (for example with the
+% option |columns-width| or the option |auto-columns-width| of the environment
+% |{NiceMatrixBlock}|). However, even if we use the same type of delimiters, the
+% width of the delimiters may be different from an array to another because the
+% width of the delimiter is fonction of its size. That's why we create an option
+% called |delimiters/max-width| which will give to the delimiters the width of
+% a delimiter (of the same type) of big size. The following boolean corresponds
+% to this option.
+% \begin{macrocode}
+\bool_new:N \l_@@_delimiters_max_width_bool
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / xdots }
+ {
+ shorten-start .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 } } ,
+ shorten-end .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 } } ,
+ shorten-start .value_required:n = true ,
+ shorten-end .value_required:n = true ,
+ shorten .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \dim_set:Nn \l_@@_xdots_shorten_start_dim { #1 }
+ \dim_set:Nn \l_@@_xdots_shorten_end_dim { #1 }
+ } ,
+ shorten .value_required:n = true ,
+ horizontal-labels .bool_set:N = \l_@@_xdots_h_labels_bool ,
+ horizontal-labels .default:n = true ,
+ line-style .code:n =
+ {
+ \bool_lazy_or:nnTF
+ { \cs_if_exist_p:N \tikzpicture }
+ { \str_if_eq_p:nn { #1 } { standard } }
+ { \tl_set:Nn \l_@@_xdots_line_style_tl { #1 } }
+ { \@@_error:n { bad~option~for~line-style } }
+ } ,
+ line-style .value_required:n = true ,
+ color .tl_set:N = \l_@@_xdots_color_tl ,
+ color .value_required:n = true ,
+ radius .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_radius_dim { #1 } } ,
+ radius .value_required:n = true ,
+ inter .code:n =
+ \hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l_@@_xdots_inter_dim { #1 } } ,
+ radius .value_required:n = true ,
+% \end{macrocode}
+% The options |down|, |up| and |middle| are not documented for the final user
+% because he should use the syntax with |^|, |_| and |:|. We use
+% |\tl_put_right:Nn| and not |\tl_set:Nn| (or |.tl_set:N|) because we don't want
+% a direct use of |up=...| erased by an absent |^{...}|.
+% \begin{macrocode}
+ down .code:n = \tl_put_right:Nn \l_@@_xdots_down_tl { #1 } ,
+ up .code:n = \tl_put_right:Nn \l_@@_xdots_up_tl { #1 } ,
+ middle .code:n = \tl_put_right:Nn \l_@@_xdots_middle_tl { #1 } ,
+% \end{macrocode}
+% The key |draw-first|, which is meant to be used only with |\Ddots| and
+% |\Iddots|, will be catched when |\Ddots| or |\Iddots| is used (during the
+% construction of the array and not when we draw the dotted lines).
+% \begin{macrocode}
+ draw-first .code:n = \prg_do_nothing: ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~xdots }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / rules }
+ {
+ color .tl_set:N = \l_@@_rules_color_tl ,
+ color .value_required:n = true ,
+ width .dim_set:N = \arrayrulewidth ,
+ width .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~rules }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% First, we define a set of keys ``|NiceMatrix / Global|'' which will be used
+% (with the mechanism of |.inherit:n|) by other sets of keys.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Global }
+ {
+ no-cell-nodes .code:n =
+ \cs_set_protected:Npn \@@_node_for_cell:
+ { \box_use_drop:N \l_@@_cell_box } ,
+ no-cell-nodes .value_forbidden:n = true ,
+ rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
+ rounded-corners .default:n = 4 pt ,
+ custom-line .code:n = \@@_custom_line:n { #1 } ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
+ standard-cline .bool_set:N = \l_@@_standard_cline_bool ,
+ standard-cline .default:n = true ,
+ cell-space-top-limit .dim_set:N = \l_@@_cell_space_top_limit_dim ,
+ cell-space-top-limit .value_required:n = true ,
+ cell-space-bottom-limit .dim_set:N = \l_@@_cell_space_bottom_limit_dim ,
+ cell-space-bottom-limit .value_required:n = true ,
+ cell-space-limits .meta:n =
+ {
+ cell-space-top-limit = #1 ,
+ cell-space-bottom-limit = #1 ,
+ } ,
+ cell-space-limits .value_required:n = true ,
+ xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
+ light-syntax .code:n =
+ \bool_set_true:N \l_@@_light_syntax_bool
+ \bool_set_false:N \l_@@_light_syntax_expanded_bool ,
+ light-syntax .value_forbidden:n = true ,
+ light-syntax-expanded .code:n =
+ \bool_set_true:N \l_@@_light_syntax_bool
+ \bool_set_true:N \l_@@_light_syntax_expanded_bool ,
+ light-syntax-expanded .value_forbidden:n = true ,
+ end-of-row .tl_set:N = \l_@@_end_of_row_tl ,
+ end-of-row .value_required:n = true ,
+ first-col .code:n = \int_zero:N \l_@@_first_col_int ,
+ first-row .code:n = \int_zero:N \l_@@_first_row_int ,
+ last-row .int_set:N = \l_@@_last_row_int ,
+ last-row .default:n = -1 ,
+ code-for-first-col .tl_set:N = \l_@@_code_for_first_col_tl ,
+ code-for-first-col .value_required:n = true ,
+ code-for-last-col .tl_set:N = \l_@@_code_for_last_col_tl ,
+ code-for-last-col .value_required:n = true ,
+ code-for-first-row .tl_set:N = \l_@@_code_for_first_row_tl ,
+ code-for-first-row .value_required:n = true ,
+ code-for-last-row .tl_set:N = \l_@@_code_for_last_row_tl ,
+ code-for-last-row .value_required:n = true ,
+ hlines .clist_set:N = \l_@@_hlines_clist ,
+ vlines .clist_set:N = \l_@@_vlines_clist ,
+ hlines .default:n = all ,
+ vlines .default:n = all ,
+ vlines-in-sub-matrix .code:n =
+ {
+ \tl_if_single_token:nTF { #1 }
+ {
+ \tl_if_in:NnTF \c_@@_forbidden_letters_tl { #1 }
+ { \@@_error:nn { Forbidden~letter } { #1 } }
+% \end{macrocode}
+% We write directly a command for the automata which reads the preamble provided
+% by the final user.
+% \begin{macrocode}
+ { \cs_set_eq:cN { @@ _ #1 } \@@_make_preamble_vlism:n }
+ }
+ { \@@_error:n { One~letter~allowed } }
+ } ,
+ vlines-in-sub-matrix .value_required:n = true ,
+ hvlines .code:n =
+ {
+ \bool_set_true:N \l_@@_hvlines_bool
+ \tl_set_eq:NN \l_@@_vlines_clist \c_@@_all_tl
+ \tl_set_eq:NN \l_@@_hlines_clist \c_@@_all_tl
+ } ,
+ hvlines-except-borders .code:n =
+ {
+ \tl_set_eq:NN \l_@@_vlines_clist \c_@@_all_tl
+ \tl_set_eq:NN \l_@@_hlines_clist \c_@@_all_tl
+ \bool_set_true:N \l_@@_hvlines_bool
+ \bool_set_true:N \l_@@_except_borders_bool
+ } ,
+ parallelize-diags .bool_set:N = \l_@@_parallelize_diags_bool ,
+% \end{macrocode}
+%
+% \bigskip
+% With the option |renew-dots|, the command |\cdots|, |\ldots|, |\vdots|,
+% |\ddots|, etc. are redefined and behave like the commands |\Cdots|, |\Ldots|,
+% |\Vdots|, |\Ddots|, etc.
+% \begin{macrocode}
+ renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
+ renew-dots .value_forbidden:n = true ,
+ nullify-dots .bool_set:N = \l_@@_nullify_dots_bool ,
+ create-medium-nodes .bool_set:N = \l_@@_medium_nodes_bool ,
+ create-large-nodes .bool_set:N = \l_@@_large_nodes_bool ,
+ create-extra-nodes .meta:n =
+ { create-medium-nodes , create-large-nodes } ,
+ left-margin .dim_set:N = \l_@@_left_margin_dim ,
+ left-margin .default:n = \arraycolsep ,
+ right-margin .dim_set:N = \l_@@_right_margin_dim ,
+ right-margin .default:n = \arraycolsep ,
+ margin .meta:n = { left-margin = #1 , right-margin = #1 } ,
+ margin .default:n = \arraycolsep ,
+ extra-left-margin .dim_set:N = \l_@@_extra_left_margin_dim ,
+ extra-right-margin .dim_set:N = \l_@@_extra_right_margin_dim ,
+ extra-margin .meta:n =
+ { extra-left-margin = #1 , extra-right-margin = #1 } ,
+ extra-margin .value_required:n = true ,
+ respect-arraystretch .code:n =
+ \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
+ respect-arraystretch .value_forbidden:n = true ,
+ pgf-node-code .tl_set:N = \l_@@_pgf_node_code_tl ,
+ pgf-node-code .value_required:n = true
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We define a set of keys used by the environments of \pkg{nicematrix} (but not
+% by the command |\NiceMatrixOptions|).
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Env }
+ {
+ corners .clist_set:N = \l_@@_corners_clist ,
+ corners .default:n = { NW , SW , NE , SE } ,
+ code-before .code:n =
+ {
+ \tl_if_empty:nF { #1 }
+ {
+ \tl_gput_left:Nn \g_@@_pre_code_before_tl { #1 }
+ \bool_set_true:N \l_@@_code_before_bool
+ }
+ } ,
+ code-before .value_required:n = true ,
+% \end{macrocode}
+% \bigskip
+% The options |c|, |t| and |b| of the environment |{NiceArray}| have the same
+% meaning as the option of the classical environment |{array}|.
+% \begin{macrocode}
+ c .code:n = \tl_set:Nn \l_@@_baseline_tl c ,
+ t .code:n = \tl_set:Nn \l_@@_baseline_tl t ,
+ b .code:n = \tl_set:Nn \l_@@_baseline_tl b ,
+ baseline .tl_set:N = \l_@@_baseline_tl ,
+ baseline .value_required:n = true ,
+ columns-width .code:n =
+ \tl_if_eq:nnTF { #1 } { auto }
+ { \bool_set_true:N \l_@@_auto_columns_width_bool }
+ { \dim_set:Nn \l_@@_columns_width_dim { #1 } } ,
+ columns-width .value_required:n = true ,
+ name .code:n =
+% \end{macrocode}
+% We test whether we are in the measuring phase of an environment of
+% \pkg{amsmath} (always loaded by \pkg{nicematrix}) because we want to avoid a
+% fallacious message of duplicate name in this case.
+% \begin{macrocode}
+ \legacy_if:nF { measuring@ }
+ {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \seq_if_in:NVTF \g_@@_names_seq \l_tmpa_str
+ { \@@_error:nn { Duplicate~name } { #1 } }
+ { \seq_gput_left:NV \g_@@_names_seq \l_tmpa_str }
+ \str_set_eq:NN \l_@@_name_str \l_tmpa_str
+ } ,
+ name .value_required:n = true ,
+ code-after .tl_gset:N = \g_nicematrix_code_after_tl ,
+ code-after .value_required:n = true ,
+ color-inside .code:n =
+ \bool_set_true:N \l_@@_color_inside_bool
+ \bool_set_true:N \l_@@_code_before_bool ,
+ color-inside .value_forbidden:n = true ,
+ colortbl-like .meta:n = color-inside
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / notes }
+ {
+ para .bool_set:N = \l_@@_notes_para_bool ,
+ para .default:n = true ,
+ code-before .tl_set:N = \l_@@_notes_code_before_tl ,
+ code-before .value_required:n = true ,
+ code-after .tl_set:N = \l_@@_notes_code_after_tl ,
+ code-after .value_required:n = true ,
+ bottomrule .bool_set:N = \l_@@_notes_bottomrule_bool ,
+ bottomrule .default:n = true ,
+ style .cs_set:Np = \@@_notes_style:n #1 ,
+ style .value_required:n = true ,
+ label-in-tabular .cs_set:Np = \@@_notes_label_in_tabular:n #1 ,
+ label-in-tabular .value_required:n = true ,
+ label-in-list .cs_set:Np = \@@_notes_label_in_list:n #1 ,
+ label-in-list .value_required:n = true ,
+ enumitem-keys .code:n =
+ {
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { enumitem }
+ { \setlist* [ tabularnotes ] { #1 } }
+ { }
+ }
+ } ,
+ enumitem-keys .value_required:n = true ,
+ enumitem-keys-para .code:n =
+ {
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { enumitem }
+ { \setlist* [ tabularnotes* ] { #1 } }
+ { }
+ }
+ } ,
+ enumitem-keys-para .value_required:n = true ,
+ detect-duplicates .bool_set:N = \l_@@_notes_detect_duplicates_bool ,
+ detect-duplicates .default:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~notes }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / delimiters }
+ {
+ max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
+ max-width .default:n = true ,
+ color .tl_set:N = \l_@@_delimiters_color_tl ,
+ color .value_required:n = true ,
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We begin the construction of the major sets of keys (used by the different
+% user commands and environments).
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix }
+ {
+ NiceMatrixOptions .inherit:n =
+ { NiceMatrix / Global } ,
+ NiceMatrixOptions / xdots .inherit:n = NiceMatrix / xdots ,
+ NiceMatrixOptions / rules .inherit:n = NiceMatrix / rules ,
+ NiceMatrixOptions / notes .inherit:n = NiceMatrix / notes ,
+ NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ SubMatrix / rules .inherit:n = NiceMatrix / rules ,
+ CodeAfter / xdots .inherit:n = NiceMatrix / xdots ,
+ CodeBefore / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ NiceMatrix .inherit:n =
+ {
+ NiceMatrix / Global ,
+ NiceMatrix / Env ,
+ } ,
+ NiceMatrix / xdots .inherit:n = NiceMatrix / xdots ,
+ NiceMatrix / rules .inherit:n = NiceMatrix / rules ,
+ NiceTabular .inherit:n =
+ {
+ NiceMatrix / Global ,
+ NiceMatrix / Env
+ } ,
+ NiceTabular / xdots .inherit:n = NiceMatrix / xdots ,
+ NiceTabular / rules .inherit:n = NiceMatrix / rules ,
+ NiceTabular / notes .inherit:n = NiceMatrix / notes ,
+ NiceArray .inherit:n =
+ {
+ NiceMatrix / Global ,
+ NiceMatrix / Env ,
+ } ,
+ NiceArray / xdots .inherit:n = NiceMatrix / xdots ,
+ NiceArray / rules .inherit:n = NiceMatrix / rules ,
+ pNiceArray .inherit:n =
+ {
+ NiceMatrix / Global ,
+ NiceMatrix / Env ,
+ } ,
+ pNiceArray / xdots .inherit:n = NiceMatrix / xdots ,
+ pNiceArray / rules .inherit:n = NiceMatrix / rules ,
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% We finalise the definition of the set of keys
+% ``|NiceMatrix / NiceMatrixOptions|'' with the options specific to
+% |\NiceMatrixOptions|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / NiceMatrixOptions }
+ {
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
+ delimiters / max-width .default:n = true ,
+ delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .value_required:n = true ,
+ width .dim_set:N = \l_@@_width_dim ,
+ width .value_required:n = true ,
+ last-col .code:n =
+ \tl_if_empty:nF { #1 }
+ { \@@_error:n { last-col~non~empty~for~NiceMatrixOptions } }
+ \int_zero:N \l_@@_last_col_int ,
+ small .bool_set:N = \l_@@_small_bool ,
+ small .value_forbidden:n = true ,
+% \end{macrocode}
+%
+% With the option |renew-matrix|, the environment |{matrix}| of \pkg{amsmath}
+% and its variants are redefined to behave like the environment |{NiceMatrix}|
+% and its variants.
+% \begin{macrocode}
+ renew-matrix .code:n = \@@_renew_matrix: ,
+ renew-matrix .value_forbidden:n = true ,
+% \end{macrocode}
+%
+% \bigskip
+% The option |exterior-arraycolsep| will have effect only in |{NiceArray}| for
+% those who want to have for |{NiceArray}| the same behaviour as |{array}|.
+% \begin{macrocode}
+ exterior-arraycolsep .bool_set:N = \l_@@_exterior_arraycolsep_bool ,
+% \end{macrocode}
+%
+% \bigskip
+% If the option |columns-width| is used, all the columns will have the same
+% width.
+%
+% In |\NiceMatrixOptions|, the special value |auto| is not available.
+% \begin{macrocode}
+ columns-width .code:n =
+ \tl_if_eq:nnTF { #1 } { auto }
+ { \@@_error:n { Option~auto~for~columns-width } }
+ { \dim_set:Nn \l_@@_columns_width_dim { #1 } } ,
+% \end{macrocode}
+%
+% \bigskip
+% Usually, an error is raised when the user tries to give the same name to two
+% distincts environments of \pkg{nicematrix} (these names are global and not
+% local to the current TeX scope). However, the option |allow-duplicate-names|
+% disables this feature.
+% \begin{macrocode}
+ allow-duplicate-names .code:n =
+ \@@_msg_redirect_name:nn { Duplicate~name } { none } ,
+ allow-duplicate-names .value_forbidden:n = true ,
+ notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
+ notes .value_required:n = true ,
+ sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .value_required:n = true ,
+ matrix / columns-type .tl_set:N = \l_@@_columns_type_tl ,
+ matrix / columns-type .value_required:n = true ,
+ caption-above .bool_set:N = \l_@@_caption_above_bool ,
+ caption-above .default:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrixOptions }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% |\NiceMatrixOptions| is the command of the \pkg{nicematrix} package to fix
+% options at the document level. The scope of these specifications is the
+% current TeX group.
+% \begin{macrocode}
+\NewDocumentCommand \NiceMatrixOptions { m }
+ { \keys_set:nn { NiceMatrix / NiceMatrixOptions } { #1 } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% We finalise the definition of the set of keys ``|NiceMatrix / NiceMatrix|''.
+% That set of keys will be used by |{NiceMatrix}|, |{pNiceMatrix}|,
+% |{bNiceMatrix}|, etc.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / NiceMatrix }
+ {
+ last-col .code:n = \tl_if_empty:nTF { #1 }
+ {
+ \bool_set_true:N \l_@@_last_col_without_value_bool
+ \int_set:Nn \l_@@_last_col_int { -1 }
+ }
+ { \int_set:Nn \l_@@_last_col_int { #1 } } ,
+ columns-type .tl_set:N = \l_@@_columns_type_tl ,
+ columns-type .value_required:n = true ,
+ l .meta:n = { columns-type = l } ,
+ r .meta:n = { columns-type = r } ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
+ delimiters / max-width .default:n = true ,
+ delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .value_required:n = true ,
+ small .bool_set:N = \l_@@_small_bool ,
+ small .value_forbidden:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrix }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% We finalise the definition of the set of keys ``|NiceMatrix / NiceArray|''
+% with the options specific to |{NiceArray}|.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / NiceArray }
+ {
+% \end{macrocode}
+%
+% In the environments |{NiceArray}| and its variants, the option |last-col| must
+% be used without value because the number of columns of the array is read
+% from the preamble of the array.
+% \begin{macrocode}
+ small .bool_set:N = \l_@@_small_bool ,
+ small .value_forbidden:n = true ,
+ last-col .code:n = \tl_if_empty:nF { #1 }
+ { \@@_error:n { last-col~non~empty~for~NiceArray } }
+ \int_zero:N \l_@@_last_col_int ,
+ r .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ l .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~NiceArray }
+ }
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / pNiceArray }
+ {
+ first-col .code:n = \int_zero:N \l_@@_first_col_int ,
+ last-col .code:n = \tl_if_empty:nF {#1}
+ { \@@_error:n { last-col~non~empty~for~NiceArray } }
+ \int_zero:N \l_@@_last_col_int ,
+ first-row .code:n = \int_zero:N \l_@@_first_row_int ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
+ delimiters / max-width .default:n = true ,
+ delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .value_required:n = true ,
+ small .bool_set:N = \l_@@_small_bool ,
+ small .value_forbidden:n = true ,
+ r .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ l .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~NiceMatrix }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We finalise the definition of the set of keys ``|NiceMatrix / NiceTabular|''
+% with the options specific to |{NiceTabular}|.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / NiceTabular }
+ {
+% \end{macrocode}
+% The dimension |width| will be used if at least a column of type |X| is used.
+% If there is no column of type |X|, an error will be raised.
+% \begin{macrocode}
+ width .code:n = \dim_set:Nn \l_@@_width_dim { #1 }
+ \bool_set_true:N \l_@@_width_used_bool ,
+ width .value_required:n = true ,
+ notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
+ tabularnote .tl_gset:N = \g_@@_tabularnote_tl ,
+ tabularnote .value_required:n = true ,
+ caption .tl_set:N = \l_@@_caption_tl ,
+ caption .value_required:n = true ,
+ short-caption .tl_set:N = \l_@@_short_caption_tl ,
+ short-caption .value_required:n = true ,
+ label .tl_set:N = \l_@@_label_tl ,
+ label .value_required:n = true ,
+ last-col .code:n = \tl_if_empty:nF {#1}
+ { \@@_error:n { last-col~non~empty~for~NiceArray } }
+ \int_zero:N \l_@@_last_col_int ,
+ r .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ l .code:n = \@@_error:n { r~or~l~with~preamble } ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~NiceTabular }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The |\CodeAfter| (inserted with the key |code-after| or after the keyword
+% |\CodeAfter|) may always begin with a list of pairs \textsl{key=value} between
+% square brackets. Here is the corresponding set of keys.
+%
+% We \emph{must} put the following instructions \emph{after} the :
+%
+% \begin{verbatim}
+% CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
+% \end{verbatim}
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / CodeAfter }
+ {
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
+ xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{Important code used by \{NiceArrayWithDelims\} }
+%
+% The pseudo-environment |\@@_cell_begin:w|--|\@@_cell_end:| will be used to format the
+% cells of the array. In the code, the affectations are global because this
+% pseudo-environment will be used in the cells of a |\halign| (via an
+% environment |{array}|).
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_begin:w
+ {
+% \end{macrocode}
+% |\g_@@_cell_after_hook_tl| will be set during the composition of the box
+% |\l_@@_cell_box| and will be used \emph{after} the composition in order to
+% modify that box.
+% \begin{macrocode}
+ \tl_gclear:N \g_@@_cell_after_hook_tl
+% \end{macrocode}
+% At the beginning of the cell, we link |\CodeAfter| to a command which do
+% begin with |\\| (whereas the standard version of |\CodeAfter| does
+% not).
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
+% \end{macrocode}
+% We increment the LaTeX counter |jCol|, which is the counter of the columns.
+% \begin{macrocode}
+ \int_gincr:N \c@jCol
+% \end{macrocode}
+% Now, we increment the counter of the rows. We don't do this incrementation in
+% the |\everycr| because some packages, like \pkg{arydshln}, create special rows
+% in the |\halign| that we don't want to take into account.
+% \begin{macrocode}
+ \int_compare:nNnT \c@jCol = \c_one_int
+ { \int_compare:nNnT \l_@@_first_col_int = \c_one_int \@@_begin_of_row: }
+% \end{macrocode}
+% The content of the cell is composed in the box |\l_@@_cell_box|. The
+% |\hbox_set_end:| corresponding to this |\hbox_set:Nw| is in the
+% |\@@_cell_end:|.
+% \begin{macrocode}
+ \hbox_set:Nw \l_@@_cell_box
+% \end{macrocode}
+% The following command is nullified in the tabulars.
+% \begin{macrocode}
+ \@@_tuning_not_tabular_begin:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@@_tuning_first_row:
+ \@@_tuning_last_row:
+ \g_@@_row_style_tl
+ }
+% \end{macrocode}
+%
+% The following command will be nullified unless there is a first row.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_tuning_first_row:
+ {
+ \int_if_zero:nT \c@iRow
+ {
+ \int_compare:nNnT \c@jCol > \c_zero_int
+ {
+ \l_@@_code_for_first_row_tl
+ \xglobal \colorlet { nicematrix-first-row } { . }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% The following command will be nullified unless there is a last row and we
+% know its value (\emph{ie}: |\l_@@_lat_row_int > 0|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_tuning_last_row:
+ {
+ \int_compare:nNnT \c@iRow = \l_@@_last_row_int
+ {
+ \l_@@_code_for_last_row_tl
+ \xglobal \colorlet { nicematrix-last-row } { . }
+ }
+ }
+% \end{macrocode}
+%
+% A different value will be provided to the following command when the key
+% |small| is in force.
+% \begin{macrocode}
+\cs_set_eq:NN \@@_tuning_key_small: \prg_do_nothing:
+% \end{macrocode}
+%
+% The following commands are nullified in the tabulars.
+% \begin{macrocode}
+\cs_set_nopar:Npn \@@_tuning_not_tabular_begin:
+ {
+ \c_math_toggle_token
+% \end{macrocode}
+% A special value is provided by the following controls sequence when the key
+% |small| is in force.
+% \begin{macrocode}
+ \@@_tuning_key_small:
+ }
+\cs_set_eq:NN \@@_tuning_not_tabular_end: \c_math_toggle_token
+% \end{macrocode}
+%
+% \interitem
+% The following macro |\@@_begin_of_row| is usually used in the cell
+% number~$1$ of the row. However, when the key |first-col| is used,
+% |\@@_begin_of_row| is executed in the cell number~$0$ of the row.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_begin_of_row:
+ {
+ \int_gincr:N \c@iRow
+ \dim_gset_eq:NN \g_@@_dp_ante_last_row_dim \g_@@_dp_last_row_dim
+ \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
+ \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate
+ { \@@_env: - row - \int_use:N \c@iRow - base }
+ { \pgfpoint \c_zero_dim { 0.5 \arrayrulewidth } }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - row - \int_use:N \c@iRow - base }
+ { \@@_env: - row - \int_use:N \c@iRow - base }
+ }
+ \endpgfpicture
+ }
+% \end{macrocode}
+% Remark: If the key |recreate-cell-nodes| of the |\CodeBefore| is used, then we
+% will add some lines to that command.
+%
+%
+% \interitem
+% The following code is used in each cell of the array. It actualises quantities
+% that, at the end of the array, will give informations about the vertical
+% dimension of the two first rows and the two last rows. If the user uses the
+% |last-row|, some lines of code will be dynamically added to this command.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_update_for_first_and_last_row:
+ {
+ \int_if_zero:nTF \c@iRow
+ {
+ \dim_gset:Nn \g_@@_dp_row_zero_dim
+ { \dim_max:nn \g_@@_dp_row_zero_dim { \box_dp:N \l_@@_cell_box } }
+ \dim_gset:Nn \g_@@_ht_row_zero_dim
+ { \dim_max:nn \g_@@_ht_row_zero_dim { \box_ht:N \l_@@_cell_box } }
+ }
+ {
+ \int_compare:nNnT \c@iRow = \c_one_int
+ {
+ \dim_gset:Nn \g_@@_ht_row_one_dim
+ { \dim_max:nn \g_@@_ht_row_one_dim { \box_ht:N \l_@@_cell_box } }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate_cell_box:
+ {
+ \box_rotate:Nn \l_@@_cell_box { 90 }
+ \bool_if:NTF \g_@@_rotate_c_bool
+ {
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \c_math_toggle_token
+ \vcenter { \box_use:N \l_@@_cell_box }
+ \c_math_toggle_token
+ }
+ }
+ {
+ \int_compare:nNnT \c@iRow = \l_@@_last_row_int
+ {
+ \vbox_set_top:Nn \l_@@_cell_box
+ {
+ \vbox_to_zero:n { }
+ \skip_vertical:n { - \box_ht:N \@arstrutbox + 0.8 ex }
+ \box_use:N \l_@@_cell_box
+ }
+ }
+ }
+ \bool_gset_false:N \g_@@_rotate_bool
+ \bool_gset_false:N \g_@@_rotate_c_bool
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_adjust_size_box:
+ {
+ \dim_compare:nNnT \g_@@_blocks_wd_dim > \c_zero_dim
+ {
+ \box_set_wd:Nn \l_@@_cell_box
+ { \dim_max:nn { \box_wd:N \l_@@_cell_box } \g_@@_blocks_wd_dim }
+ \dim_gzero:N \g_@@_blocks_wd_dim
+ }
+ \dim_compare:nNnT \g_@@_blocks_dp_dim > \c_zero_dim
+ {
+ \box_set_dp:Nn \l_@@_cell_box
+ { \dim_max:nn { \box_dp:N \l_@@_cell_box } \g_@@_blocks_dp_dim }
+ \dim_gzero:N \g_@@_blocks_dp_dim
+ }
+ \dim_compare:nNnT \g_@@_blocks_ht_dim > \c_zero_dim
+ {
+ \box_set_ht:Nn \l_@@_cell_box
+ { \dim_max:nn { \box_ht:N \l_@@_cell_box } \g_@@_blocks_ht_dim }
+ \dim_gzero:N \g_@@_blocks_ht_dim
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_end:
+ {
+% \end{macrocode}
+% The following command is nullified in the tabulars.
+% \begin{macrocode}
+ \@@_tuning_not_tabular_end:
+ \hbox_set_end:
+ \@@_cell_end_i:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_end_i:
+ {
+% \end{macrocode}
+% The token list |\g_@@_cell_after_hook_tl| is (potentially) set during the
+% composition of the box |\l_@@_cell_box| and is used now \emph{after} the
+% composition in order to modify that box.
+% \begin{macrocode}
+ \g_@@_cell_after_hook_tl
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ \@@_adjust_size_box:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \box_set_ht:Nn \l_@@_cell_box
+ { \box_ht:N \l_@@_cell_box + \l_@@_cell_space_top_limit_dim }
+ \box_set_dp:Nn \l_@@_cell_box
+ { \box_dp:N \l_@@_cell_box + \l_@@_cell_space_bottom_limit_dim }
+% \end{macrocode}
+%
+% We want to compute in |\g_@@_max_cell_width_dim| the width of the widest cell
+% of the array (except the cells of the ``first column'' and the ``last
+% column'').
+% \begin{macrocode}
+ \@@_update_max_cell_width:
+% \end{macrocode}
+%
+% The following computations are for the ``first row'' and the ``last row''.
+% \begin{macrocode}
+ \@@_update_for_first_and_last_row:
+% \end{macrocode}
+%
+% \medskip
+% If the cell is empty, or may be considered as if, we must not create the
+% \textsc{pgf} node, for two reasons:
+% \begin{itemize}
+% \item it's a waste of time since such a node would be rather pointless;
+% \item we test the existence of these nodes in order to determine whether a
+% cell is empty when we search the extremities of a dotted line.
+% \end{itemize}
+% However, it's very difficult to determine whether a cell is empty. Up to now
+% we use the following technic:
+% \begin{itemize}
+% \item for the columns of type |p|, |m|, |b|, |V| (of \pkg{varwidth}) or |X|,
+% we test whether the cell is syntactically empty with |\@@_test_if_empty:| and
+% |\@@_test_if_empty_for_S:|
+% \item if the width of the box |\l_@@_cell_box| (created with the content of
+% the cell) is equal to zero, we consider the cell as empty (however,
+% this is not perfect since the user may have used a |\rlap|, |\llap|, |\clap|
+% or a |\mathclap| of \pkg{mathtools}).
+% \item the cells with a command |\Ldots| or |\Cdots|, |\Vdots|, etc.,
+% should also be considered as empty; if |nullify-dots| is in force, there would
+% be nothing to do (in this case the previous commands only write an instruction
+% in a kind of |\CodeAfter|); however, if |nullify-dots| is not in force, a
+% phantom of |\ldots|, |\cdots|, |\vdots| is inserted and its width is not equal
+% to zero; that's why these commands raise a boolean |\g_@@_empty_cell_bool| and
+% we begin by testing this boolean.
+% \end{itemize}
+% \begin{macrocode}
+ \bool_if:NTF \g_@@_empty_cell_bool
+ { \box_use_drop:N \l_@@_cell_box }
+ {
+ \bool_if:NTF \g_@@_not_empty_cell_bool
+ \@@_node_for_cell:
+ {
+ \dim_compare:nNnTF { \box_wd:N \l_@@_cell_box } > \c_zero_dim
+ \@@_node_for_cell:
+ { \box_use_drop:N \l_@@_cell_box }
+ }
+ }
+ \int_gset:Nn \g_@@_col_total_int { \int_max:nn \g_@@_col_total_int \c@jCol }
+ \bool_gset_false:N \g_@@_empty_cell_bool
+ \bool_gset_false:N \g_@@_not_empty_cell_bool
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be nullified in our redefinition of |\multicolumn|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_update_max_cell_width:
+ {
+ \dim_gset:Nn \g_@@_max_cell_width_dim
+ { \dim_max:nn \g_@@_max_cell_width_dim { \box_wd:N \l_@@_cell_box } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following variant of |\@@_cell_end:| is only for the columns of type
+% |w{s}{...}| or |W{s}{...}| (which use the horizontal alignement key |s| of
+% |\makebox|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_end_for_w_s:
+ {
+ \@@_math_toggle:
+ \hbox_set_end:
+ \bool_if:NF \g_@@_rotate_bool
+ {
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \makebox [ \l_@@_col_width_dim ] [ s ]
+ { \hbox_unpack_drop:N \l_@@_cell_box }
+ }
+ }
+ \@@_cell_end_i:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\pgfset
+ {
+ nicematrix / cell-node /.style =
+ {
+ inner~sep = \c_zero_dim ,
+ minimum~width = \c_zero_dim
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command creates the \textsc{pgf} name of the node with, of
+% course, |\l_@@_cell_box| as the content.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_node_for_cell:
+ {
+ \pgfpicture
+ \pgfsetbaseline \c_zero_dim
+ \pgfrememberpicturepositiononpagetrue
+ \pgfset { nicematrix / cell-node }
+ \pgfnode
+ { rectangle }
+ { base }
+ {
+% \end{macrocode}
+% The following instruction |\set@color| has been added on 2022/10/06. It's
+% necessary only with XeLaTeX and not with the other engines (we don't know why).
+% \begin{macrocode}
+ \set@color
+ \box_use_drop:N \l_@@_cell_box
+ }
+ { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol }
+ { \l_@@_pgf_node_code_tl }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \int_use:N \c@iRow - \int_use:N \c@jCol }
+ { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol }
+ }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \medskip
+% As its name says, the following command is a patch for the command
+% |\@@_node_for_cell:|. This patch will be appended on the left of
+% |\@@_node_for_the_cell:| when the construction of the cell nodes (of the form
+% |(i-j)|) in the |\CodeBefore| is required.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_node_for_cell:n #1
+ {
+ \cs_new_protected:Npn \@@_patch_node_for_cell:
+ {
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \box_move_up:nn { \box_ht:N \l_@@_cell_box}
+ \hbox_overlap_left:n
+ {
+ \pgfsys@markposition
+ { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol - NW }
+% \end{macrocode}
+% I don't know why the following adjustement is needed when the compilation is
+% done with XeLaTeX or with the classical way |latex|, |divps|, |ps2pdf| (or
+% Adobe Distiller). However, it seems to work.
+% \begin{macrocode}
+ #1
+ }
+ \box_use:N \l_@@_cell_box
+ \box_move_down:nn { \box_dp:N \l_@@_cell_box }
+ \hbox_overlap_left:n
+ {
+ \pgfsys@markposition
+ { \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol - SE }
+ #1
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We have no explanation for the different behaviour between the TeX engines...
+% \begin{macrocode}
+\bool_lazy_or:nnTF \sys_if_engine_xetex_p: \sys_if_output_dvi_p:
+ {
+ \@@_patch_node_for_cell:n
+ { \skip_horizontal:n { 0.5 \box_wd:N \l_@@_cell_box } }
+ }
+ { \@@_patch_node_for_cell:n { } }
+% \end{macrocode}
+%
+%
+% \interitem
+% The second argument of the following command |\@@_instruction_of_type:nnn|
+% defined below is the type of the instruction (|Cdots|, |Vdots|, |Ddots|,
+% etc.). The third argument is the list of options. This command writes in the
+% corresponding |\g_@@_|\textsl{type}|_lines_tl| the instruction which will
+% actually draw the line after the construction of the matrix.
+%
+% \medskip
+% For example, for the following matrix,
+%
+% \smallskip
+% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
+% \begin{pNiceMatrix}
+% 1 & 2 & 3 & 4 \\
+% 5 & \Cdots & & 6 \\
+% 7 & \Cdots[color=red]
+% \end{pNiceMatrix}
+% \end{BVerbatim}
+% $\begin{pNiceMatrix}
+% 1 & 2 & 3 & 4 \\
+% 5 & \Cdots & & 6 \\
+% 7 & \Cdots[color=red]
+% \end{pNiceMatrix}$
+%
+% \smallskip
+% the content of |\g_@@_Cdots_lines_tl| will be:
+%
+% \smallskip
+% \begin{scope}
+% \color{gray}
+% |\@@_draw_Cdots:nnn {2}{2}{}|
+%
+% |\@@_draw_Cdots:nnn {3}{2}{color=red}|
+% \end{scope}
+%
+%
+% \bigskip
+% The first argument is a boolean which indicates whether you must put the
+% instruction on the left or on the right on the list of instructions (with
+% consequences for the parallelisation of the diagonal lines).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_instruction_of_type:nnn #1 #2 #3
+ {
+ \bool_if:nTF { #1 } \tl_gput_left:cx \tl_gput_right:cx
+ { g_@@_ #2 _ lines _ tl }
+ {
+ \use:c { @@ _ draw _ #2 : nnn }
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { \exp_not:n { #3 } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_array:
+ {
+% \begin{macrocode}
+ \dim_set:Nn \col@sep
+ { \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
+ \dim_compare:nNnTF \l_@@_tabular_width_dim = \c_zero_dim
+ { \cs_set_nopar:Npn \@halignto { } }
+ { \cs_set_nopar:Npx \@halignto { to \dim_use:N \l_@@_tabular_width_dim } }
+% \end{macrocode}
+% It \pkg{colortbl} is loaded, |\@tabarray| has been redefined to incorporate
+% |\CT@start|.
+% \begin{macrocode}
+ \@tabarray
+% \end{macrocode}
+% |\l_@@_baseline_tl| may have the value |t|, |c| or |b|. However, if the value
+% is |b|, we compose the |\array| (of \pkg{array}) with the option |t| and the
+% right translation will be done further. Remark that |\str_if_eq:VnTF| is
+% fully expandable and we need something fully expandable here.
+% \begin{macrocode}
+ [ \str_if_eq:VnTF \l_@@_baseline_tl c c t ]
+ }
+% \end{macrocode}
+%
+% \medskip
+% We keep in memory the standard version of |\ialign| because we will redefine
+% |\ialign| in the environment |{NiceArrayWithDelims}| but restore the standard
+% version for use in the cells of the array. However, since version 2.6a
+% (version for the Tagging Project), \pkg{array} uses |\ar@ialign| instead of
+% |\ialign|. In that case, of course, you do a saving of |\ar@ialign|.
+% \begin{macrocode}
+\bool_if:NTF \c_@@_tagging_array_bool
+ { \cs_set_eq:NN \@@_old_ar@ialign: \ar@ialign }
+ { \cs_set_eq:NN \@@_old_ialign: \ialign }
+% \end{macrocode}
+%
+%
+%
+% The following command creates a |row| node (and not a row of nodes!).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_row_node:
+ {
+ \int_compare:nNnT \c@iRow > \g_@@_last_row_node_int
+ {
+ \int_gset_eq:NN \g_@@_last_row_node_int \c@iRow
+ \@@_create_row_node_i:
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_row_node_i:
+ {
+% \end{macrocode}
+% The |\hbox:n| (or |\hbox|) is mandatory.
+% \begin{macrocode}
+ \hbox
+ {
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \vtop
+ {
+ \skip_vertical:N 0.5\arrayrulewidth
+ \pgfsys@markposition
+ { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
+ \skip_vertical:N -0.5\arrayrulewidth
+ }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
+ { \pgfpoint \c_zero_dim { - 0.5 \arrayrulewidth } }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - row - \int_eval:n { \c@iRow + 1 } }
+ { \@@_env: - row - \int_eval:n { \c@iRow + 1 } }
+ }
+ \endpgfpicture
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The following must \emph{not} be protected because it begins with |\noalign|.
+% \begin{macrocode}
+\cs_new:Npn \@@_everycr: { \noalign { \@@_everycr_i: } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_everycr_i:
+ {
+ \bool_if:NT \c_@@_tagging_array_bool
+ {
+ \tbl_if_row_was_started:T { \UseTaggingSocket { tbl / row / end } }
+ \tbl_update_cell_data_for_next_row:
+ }
+ \int_gzero:N \c@jCol
+ \bool_gset_false:N \g_@@_after_col_zero_bool
+ \bool_if:NF \g_@@_row_of_col_done_bool
+ {
+ \@@_create_row_node:
+% \end{macrocode}
+% We don't draw now the rules of the key |hlines| (or |hvlines|) but we reserve the
+% vertical space for theses rules (the rules will be drawn by \textsc{pgf}).
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_hlines_clist
+ {
+ \tl_if_eq:NNF \l_@@_hlines_clist \c_@@_all_tl
+ {
+ \exp_args:NNe
+ \clist_if_in:NnT
+ \l_@@_hlines_clist
+ { \int_eval:n { \c@iRow + 1 } }
+ }
+ {
+% \end{macrocode}
+% The counter |\c@iRow| has the value $-1$ only if there is a ``first
+% row'' and that we are before that ``first row'', i.e. just before the
+% beginning of the array.
+% \begin{macrocode}
+ \int_compare:nNnT \c@iRow > { -1 }
+ {
+ \int_compare:nNnF \c@iRow = \l_@@_last_row_int
+% \end{macrocode}
+% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
+% the rules in the array. The package \pkg{nicematrix} uses it even if
+% \pkg{colortbl} is not loaded. We use a TeX group in order to limit the scope
+% of |\CT@arc@|.
+% \begin{macrocode}
+ { \hrule height \arrayrulewidth width \c_zero_dim }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+%
+% \bigskip
+% When the key |renew-dots| is used, the following code will be executed.
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_renew_dots:
+ {
+ \cs_set_eq:NN \ldots \@@_Ldots
+ \cs_set_eq:NN \cdots \@@_Cdots
+ \cs_set_eq:NN \vdots \@@_Vdots
+ \cs_set_eq:NN \ddots \@@_Ddots
+ \cs_set_eq:NN \iddots \@@_Iddots
+ \cs_set_eq:NN \dots \@@_Ldots
+ \cs_set_eq:NN \hdotsfor \@@_Hdotsfor:
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_color_inside:
+ {
+ \bool_if:NF \l_@@_color_inside_bool
+ {
+% \end{macrocode}
+% We will issue an error only during the first run.
+% \begin{macrocode}
+ \bool_if:NF \g_@@_aux_found_bool
+ { \@@_error:n { without~color-inside } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_redefine_everycr: { \everycr { \@@_everycr: } }
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ {
+ \cs_set_protected:Npn \@@_redefine_everycr:
+ {
+ \CT@everycr
+ {
+ \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
+ \@@_everycr:
+ }
+ }
+ }
+ { }
+ }
+% \end{macrocode}
+%
+% If \pkg{booktabs} is loaded, we have to patch the macro |\@BTnormal| which is
+% a macro of \pkg{booktabs}. The macro |\@BTnormal| draws an horizontal rule but
+% it occurs after a vertical skip done by a low level TeX command. When this
+% macro |\@BTnormal| occurs, the |row| node has yet been inserted by
+% \pkg{nicematrix} \emph{before} the vertical skip (and thus, at a wrong place).
+% That why we decide to create a new |row| node (for the same row). We patch the
+% macro |\@BTnormal| to create this |row| node. This new |row| node will
+% overwrite the previous definition of that |row| node and we have managed to
+% avoid the error messages of that redefinition
+% \footnote{cf. |\nicematrix@redefine@check@rerun|}.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { booktabs }
+ {
+ \cs_new_protected:Npn \@@_patch_booktabs:
+ { \tl_put_left:Nn \@BTnormal \@@_create_row_node_i: }
+ }
+ { \cs_new_protected:Npn \@@_patch_booktabs: { } }
+ }
+% \end{macrocode}
+%
+% The box |\@arstrutbox| is a box constructed in the beginning of the
+% environment |{array}|. The construction of that box takes into account the
+% current value of |\arraystretch|\footnote{The option |small| of
+% \pkg{nicematrix} changes (among others) the value of |\arraystretch|. This is
+% done, of course, before the call of |{array}|.} and |\extrarowheight| (of
+% \pkg{array}). That box is inserted (via |\@arstrut|) in the beginning of each
+% row of the array. That's why we use the dimensions of that box to initialize
+% the variables which will be the dimensions of the potential first and last row
+% of the environment. This initialization must be done after the creation of
+% |\@arstrutbox| and that's why we do it in the |\ialign|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_some_initialization:
+ {
+ \dim_gzero_new:N \g_@@_dp_row_zero_dim
+ \dim_gset:Nn \g_@@_dp_row_zero_dim { \box_dp:N \@arstrutbox }
+ \dim_gzero_new:N \g_@@_ht_row_zero_dim
+ \dim_gset:Nn \g_@@_ht_row_zero_dim { \box_ht:N \@arstrutbox }
+ \dim_gzero_new:N \g_@@_ht_row_one_dim
+ \dim_gset:Nn \g_@@_ht_row_one_dim { \box_ht:N \@arstrutbox }
+ \dim_gzero_new:N \g_@@_dp_ante_last_row_dim
+ \dim_gzero_new:N \g_@@_ht_last_row_dim
+ \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
+ \dim_gzero_new:N \g_@@_dp_last_row_dim
+ \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following code |\@@_pre_array_ii:| is used in |{NiceArrayWithDelims}|. It
+% exists as a standalone macro only for legibility.
+% \label{prearray}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pre_array_ii:
+ {
+% \end{macrocode}
+% The number of letters |X| in the preamble of the array.
+% \begin{macrocode}
+ \int_gzero:N \g_@@_total_X_weight_int
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@@_expand_clist:N \l_@@_hlines_clist
+ \@@_expand_clist:N \l_@@_vlines_clist
+ \@@_patch_booktabs:
+ \box_clear_new:N \l_@@_cell_box
+ \normalbaselines
+% \end{macrocode}
+% If the option |small| is used, we have to do some tuning. In particular, we
+% change the value of |\arraystretch| (this parameter is used in the
+% construction of |\@arstrutbox| in the beginning of |{array}|).
+% \begin{macrocode}
+ \bool_if:NT \l_@@_small_bool
+ {
+% \end{macrocode}
+% \begin{macrocode}
+ \cs_set_nopar:Npn \arraystretch { 0.47 }
+ \dim_set:Nn \arraycolsep { 1.45 pt }
+% \end{macrocode}
+% By default, |\@@_small_scripstyle:| is null.
+% \begin{macrocode}
+ \cs_set_eq:NN \@@_tuning_key_small: \scriptstyle
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \bool_if:NT \g_@@_recreate_cell_nodes_bool
+ {
+ \tl_put_right:Nn \@@_begin_of_row:
+ {
+ \pgfsys@markposition
+ { \@@_env: - row - \int_use:N \c@iRow - base }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The environment |{array}| uses internally the command |\ialign|. We change the
+% definition of |\ialign| for several reasons. In particular, |\ialign| sets
+% |\everycr| to |{ }| and we \emph{need} to have to change the value of
+% |\everycr|.
+% \begin{macrocode}
+ \bool_if:NTF \c_@@_tagging_array_bool
+ {
+ \cs_set_nopar:Npn \ar@ialign
+ {
+ \tbl_init_cell_data_for_table:
+ \@@_redefine_everycr:
+ \tabskip = \c_zero_skip
+ \@@_some_initialization:
+% \end{macrocode}
+%
+% After its first use, the definition of |\ar@ialign| will revert
+% automatically to its default definition. With this programmation, we will
+% have, in the cells of the array, a clean version of |\ar@ialign|.
+% \begin{macrocode}
+ \cs_set_eq:NN \ar@ialign \@@_old_ar@ialign:
+ \halign
+ }
+ }
+% \end{macrocode}
+% The following part will be deleted when we will delete the boolean
+% |\c_@@_tagging_array_bool| (when we consider the version 2.6a of \pkg{array}
+% is required).
+% \begin{macrocode}
+ {
+ \cs_set_nopar:Npn \ialign
+ {
+ \@@_redefine_everycr:
+ \tabskip = \c_zero_skip
+ \@@_some_initialization:
+ \cs_set_eq:NN \ialign \@@_old_ialign:
+ \halign
+ }
+ }
+% \end{macrocode}
+%
+%
+
+%
+% We keep in memory the old versions or |\ldots|, |\cdots|, etc. only because we
+% use them inside |\phantom| commands in order that the new commands |\Ldots|,
+% |\Cdots|, etc. give the same spacing (except when the option |nullify-dots| is
+% used).
+% \begin{macrocode}
+ \cs_set_eq:NN \@@_old_ldots \ldots
+ \cs_set_eq:NN \@@_old_cdots \cdots
+ \cs_set_eq:NN \@@_old_vdots \vdots
+ \cs_set_eq:NN \@@_old_ddots \ddots
+ \cs_set_eq:NN \@@_old_iddots \iddots
+ \bool_if:NTF \l_@@_standard_cline_bool
+ { \cs_set_eq:NN \cline \@@_standard_cline }
+ { \cs_set_eq:NN \cline \@@_cline }
+ \cs_set_eq:NN \Ldots \@@_Ldots
+ \cs_set_eq:NN \Cdots \@@_Cdots
+ \cs_set_eq:NN \Vdots \@@_Vdots
+ \cs_set_eq:NN \Ddots \@@_Ddots
+ \cs_set_eq:NN \Iddots \@@_Iddots
+ \cs_set_eq:NN \Hline \@@_Hline:
+ \cs_set_eq:NN \Hspace \@@_Hspace:
+ \cs_set_eq:NN \Hdotsfor \@@_Hdotsfor:
+ \cs_set_eq:NN \Vdotsfor \@@_Vdotsfor:
+ \cs_set_eq:NN \Block \@@_Block:
+ \cs_set_eq:NN \rotate \@@_rotate:
+ \cs_set_eq:NN \OnlyMainNiceMatrix \@@_OnlyMainNiceMatrix:n
+ \cs_set_eq:NN \dotfill \@@_dotfill:
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter:
+ \cs_set_eq:NN \diagbox \@@_diagbox:nn
+ \cs_set_eq:NN \NotEmpty \@@_NotEmpty:
+ \cs_set_eq:NN \RowStyle \@@_RowStyle:n
+ \seq_map_inline:Nn \l_@@_custom_line_commands_seq
+ { \cs_set_eq:cc { ##1 } { nicematrix - ##1 } }
+ \cs_set_eq:NN \cellcolor \@@_cellcolor_tabular
+ \cs_set_eq:NN \rowcolor \@@_rowcolor_tabular
+ \cs_set_eq:NN \rowcolors \@@_rowcolors_tabular
+ \cs_set_eq:NN \rowlistcolors \@@_rowlistcolors_tabular
+ \int_compare:nNnT \l_@@_first_row_int > \c_zero_int
+ { \cs_set_eq:NN \@@_tuning_first_row: \prg_do_nothing: }
+ \int_compare:nNnT \l_@@_last_row_int < \c_zero_int
+ { \cs_set_eq:NN \@@_tuning_last_row: \prg_do_nothing: }
+ \bool_if:NT \l_@@_renew_dots_bool \@@_renew_dots:
+% \end{macrocode}
+% We redefine |\multicolumn| and, since we want |\multicolumn| to be available
+% in the potential environments |{tabular}| nested in the environments of
+% \pkg{nicematrix}, we patch |{tabular}| to go back to the original definition.
+% A |\hook_gremove_code:nn| will be put in |\@@_after_array:|.
+% \begin{macrocode}
+ \cs_set_eq:NN \multicolumn \@@_multicolumn:nnn
+ \hook_gput_code:nnn { env / tabular / begin } { nicematrix }
+ { \cs_set_eq:NN \multicolumn \@@_old_multicolumn }
+ \@@_revert_colortbl:
+% \end{macrocode}
+% If there is one or several commands |\tabularnote| in the caption specified
+% by the key |caption| and if that caption has to be composed above the tabular,
+% we have now that information because it has been written in the |aux| file at
+% a previous run. We use that information to start counting the tabular notes in
+% the main array at the right value (we remember that the caption will be
+% composed \emph{after} the array!).
+% \begin{macrocode}
+ \tl_if_exist:NT \l_@@_note_in_caption_tl
+ {
+ \tl_if_empty:NF \l_@@_note_in_caption_tl
+ {
+ \int_gset_eq:NN \g_@@_notes_caption_int \l_@@_note_in_caption_tl
+ \int_gset:Nn \c@tabularnote { \l_@@_note_in_caption_tl }
+ }
+ }
+% \end{macrocode}
+%
+%
+% The sequence |\g_@@_multicolumn_cells_seq| will contain the list of the cells
+% of the array where a command |\multicolumn{|$n$|}{...}{...}| with $n>1$ is
+% issued. In |\g_@@_multicolumn_sizes_seq|, the ``sizes'' (that is to say the
+% values of $n$) correspondant will be stored. These lists will be used for the
+% creation of the ``medium nodes'' (if they are created).
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_multicolumn_cells_seq
+ \seq_gclear:N \g_@@_multicolumn_sizes_seq
+% \end{macrocode}
+%
+% The counter |\c@iRow| will be used to count the rows of the array (its
+% incrementation will be in the first cell of the row).
+% \begin{macrocode}
+ \int_gset:Nn \c@iRow { \l_@@_first_row_int - 1 }
+% \end{macrocode}
+%
+% At the end of the environment |{array}|, |\c@iRow| will be the total
+% number de rows.
+%
+% |\g_@@_row_total_int| will be the number or rows excepted the last row (if
+% |\l_@@_last_row_bool| has been raised with the option |last-row|).
+% \begin{macrocode}
+ \int_gzero_new:N \g_@@_row_total_int
+% \end{macrocode}
+%
+% The counter |\c@jCol| will be used to count the columns of the array.
+% Since we want to know the total number of columns of the matrix, we also
+% create a counter |\g_@@_col_total_int|. These counters are updated in the
+% command |\@@_cell_begin:w| executed at the beginning of each cell.
+% \begin{macrocode}
+ \int_gzero_new:N \g_@@_col_total_int
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \cs_set_eq:NN \@ifnextchar \new@ifnextchar
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \bool_gset_false:N \g_@@_last_col_found_bool
+% \end{macrocode}
+%
+% \medskip
+% During the construction of the array, the instructions |\Cdots|, |\Ldots|,
+% etc. will be written in token lists |\g_@@_Cdots_lines_tl|, etc. which will be
+% executed after the construction of the array.
+% \begin{macrocode}
+ \tl_gclear_new:N \g_@@_Cdots_lines_tl
+ \tl_gclear_new:N \g_@@_Ldots_lines_tl
+ \tl_gclear_new:N \g_@@_Vdots_lines_tl
+ \tl_gclear_new:N \g_@@_Ddots_lines_tl
+ \tl_gclear_new:N \g_@@_Iddots_lines_tl
+ \tl_gclear_new:N \g_@@_HVdotsfor_lines_tl
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \tl_gclear:N \g_nicematrix_code_before_tl
+ \tl_gclear:N \g_@@_pre_code_before_tl
+ }
+% \end{macrocode}
+% This is the end of |\@@_pre_array_ii:|.
+%
+%
+% \bigskip
+% The command |\@@_pre_array:| will be executed after analyse of the keys of the
+% environment.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pre_array:
+ {
+ \cs_if_exist:NT \theiRow { \int_set_eq:NN \l_@@_old_iRow_int \c@iRow }
+ \int_gzero_new:N \c@iRow
+ \cs_if_exist:NT \thejCol { \int_set_eq:NN \l_@@_old_jCol_int \c@jCol }
+ \int_gzero_new:N \c@jCol
+% \end{macrocode}
+%
+% \bigskip
+% We recall that |\l_@@_last_row_int| and |\l_@@_last_column_int| are \emph{not}
+% the numbers of the last row and last column of the array. There are only the
+% values of the keys |last-row| and |last-column| (maybe the user has provided
+% erroneous values). The meaning of that counters does not change during the
+% environment of \pkg{nicematrix}. There is only a slight adjustment: if the
+% user have used one of those keys without value, we provide now the right value
+% as read on the |aux| file (of course, it's possible only after the first compilation).
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_last_row_int = { -1 }
+ {
+ \bool_set_true:N \l_@@_last_row_without_value_bool
+ \bool_if:NT \g_@@_aux_found_bool
+ { \int_set:Nn \l_@@_last_row_int { \seq_item:Nn \g_@@_size_seq 3 } }
+ }
+ \int_compare:nNnT \l_@@_last_col_int = { -1 }
+ {
+ \bool_if:NT \g_@@_aux_found_bool
+ { \int_set:Nn \l_@@_last_col_int { \seq_item:Nn \g_@@_size_seq 6 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% If there is an exterior row, we patch a command used in |\@@_cell_begin:w| in order to
+% keep track of some dimensions needed to the construction of that ``last row''.
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_last_row_int > { -2 }
+ {
+ \tl_put_right:Nn \@@_update_for_first_and_last_row:
+ {
+ \dim_gset:Nn \g_@@_ht_last_row_dim
+ { \dim_max:nn \g_@@_ht_last_row_dim { \box_ht:N \l_@@_cell_box } }
+ \dim_gset:Nn \g_@@_dp_last_row_dim
+ { \dim_max:nn \g_@@_dp_last_row_dim { \box_dp:N \l_@@_cell_box } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_cols_vlism_seq
+ \seq_gclear:N \g_@@_submatrix_seq
+% \end{macrocode}
+%
+% \bigskip
+% Now the |\CodeBefore|.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_code_before_bool \@@_exec_code_before:
+% \end{macrocode}
+%
+% \bigskip
+% The value of |\g_@@_pos_of_blocks_seq| has been written on the |aux| file and
+% loaded before the (potential) execution of the |\CodeBefore|. Now, we clear
+% that variable because it will be reconstructed during the creation of the
+% array.
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_pos_of_blocks_seq
+% \end{macrocode}
+% Idem for other sequences written on the |aux| file.
+% \begin{macrocode}
+ \seq_gclear_new:N \g_@@_multicolumn_cells_seq
+ \seq_gclear_new:N \g_@@_multicolumn_sizes_seq
+% \end{macrocode}
+%
+% \bigskip
+% The command |\create_row_node:| will create a row-node (and not a row of
+% nodes!). However, at the end of the array we construct a ``false row'' (for
+% the col-nodes) and it interfers with the construction of the last row-node
+% of the array. We don't want to create such row-node twice (to avaid warnings
+% or, maybe, errors). That's why the command |\@@_create_row_node:| will use the
+% following counter to avoid such construction.
+% \begin{macrocode}
+ \int_gset:Nn \g_@@_last_row_node_int { -2 }
+% \end{macrocode}
+% The value $-2$ is important.
+%
+%
+% \interitem
+% The code in |\@@_pre_array_ii:| is used only here.
+% \begin{macrocode}
+ \@@_pre_array_ii:
+% \end{macrocode}
+%
+% \medskip
+% The array will be composed in a box (named |\l_@@_the_array_box|) because we
+% have to do manipulations concerning the potential exterior rows.
+% \begin{macrocode}
+ \box_clear_new:N \l_@@_the_array_box
+% \end{macrocode}
+%
+% \medskip
+% We compute the width of both delimiters. We remind that, when the
+% environment |{NiceArray}| is used, it's possible to specify the delimiters in
+% the preamble (eg |[ccc]|).
+% \begin{macrocode}
+ \dim_zero_new:N \l_@@_left_delim_dim
+ \dim_zero_new:N \l_@@_right_delim_dim
+ \bool_if:NTF \g_@@_delims_bool
+ {
+% \end{macrocode}
+% The command |\bBigg@| is a command of \pkg{amsmath}.
+% \begin{macrocode}
+ \hbox_set:Nn \l_tmpa_box { $ \bBigg@ 5 \g_@@_left_delim_tl $ }
+ \dim_set:Nn \l_@@_left_delim_dim { \box_wd:N \l_tmpa_box }
+ \hbox_set:Nn \l_tmpa_box { $ \bBigg@ 5 \g_@@_right_delim_tl $ }
+ \dim_set:Nn \l_@@_right_delim_dim { \box_wd:N \l_tmpa_box }
+ }
+ {
+ \dim_gset:Nn \l_@@_left_delim_dim
+ { 2 \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
+ \dim_gset_eq:NN \l_@@_right_delim_dim \l_@@_left_delim_dim
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here is the beginning of the box which will contain the array. The
+% |\hbox_set_end:| corresponding to this |\hbox_set:Nw| will be in the second
+% part of the environment (and the closing |\c_math_toggle_token| also).
+% \begin{macrocode}
+ \hbox_set:Nw \l_@@_the_array_box
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \skip_horizontal:N \l_@@_left_margin_dim
+ \skip_horizontal:N \l_@@_extra_left_margin_dim
+ \c_math_toggle_token
+ \bool_if:NTF \l_@@_light_syntax_bool
+ { \use:c { @@-light-syntax } }
+ { \use:c { @@-normal-syntax } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command |\@@_CodeBefore_Body:w| will be used when the keyword
+% |\CodeBefore| is present at the beginning of the environment.
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_CodeBefore_Body:w #1 \Body
+ {
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
+ { \@@_rescan_for_spanish:N \l_tmpa_tl }
+ \tl_gput_left:NV \g_@@_pre_code_before_tl \l_tmpa_tl
+ \bool_set_true:N \l_@@_code_before_bool
+% \end{macrocode}
+% We go on with |\@@_pre_array:| which will (among other) execute the
+% |\CodeBefore| (specified in the key |code-before| or after the keyword
+% |\CodeBefore|). By definition, the |\CodeBefore| must be executed before the
+% body of the array...
+% \begin{macrocode}
+ \@@_pre_array:
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% \section{The \textbackslash CodeBefore}
+%
+% The following command will be executed if the |\CodeBefore| has to be actually
+% executed (that commmand will be used only once and is present only for legibility).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pre_code_before:
+ {
+% \end{macrocode}
+% First, we give values to the LaTeX counters |iRow| and |jCol|. We remind that,
+% in the |\CodeBefore| (and in the |\CodeAfter|) they represent the numbers of
+% rows and columns of the array (without the potential last row and last
+% column). The value of |\g_@@_row_total_int| is the number of the last row
+% (with potentially a last exterior row) and |\g_@@_col_total_int| is the number
+% of the last column (with potentially a last exterior column).
+% \begin{macrocode}
+ \int_set:Nn \c@iRow { \seq_item:Nn \g_@@_size_seq 2 }
+ \int_set:Nn \c@jCol { \seq_item:Nn \g_@@_size_seq 5 }
+ \int_set_eq:NN \g_@@_row_total_int { \seq_item:Nn \g_@@_size_seq 3 }
+ \int_set_eq:NN \g_@@_col_total_int { \seq_item:Nn \g_@@_size_seq 6 }
+% \end{macrocode}
+%
+%
+% Now, we will create all the |col| nodes and |row| nodes with the informations
+% written in the |aux| file. You use the technique described in the page~1229 of
+% |pgfmanual.pdf|, version~3.1.4b.
+% \begin{macrocode}
+ \pgfsys@markposition { \@@_env: - position }
+ \pgfsys@getposition { \@@_env: - position } \@@_picture_position:
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+% \end{macrocode}
+% First, the recreation of the |row| nodes.
+% \begin{macrocode}
+ \int_step_inline:nnn \l_@@_first_row_int { \g_@@_row_total_int + 1 }
+ {
+ \pgfsys@getposition { \@@_env: - row - ##1 } \@@_node_position:
+ \pgfcoordinate { \@@_env: - row - ##1 }
+ { \pgfpointdiff \@@_picture_position: \@@_node_position: }
+ }
+% \end{macrocode}
+% Now, the recreation of the |col| nodes.
+% \begin{macrocode}
+ \int_step_inline:nnn \l_@@_first_col_int { \g_@@_col_total_int + 1 }
+ {
+ \pgfsys@getposition { \@@_env: - col - ##1 } \@@_node_position:
+ \pgfcoordinate { \@@_env: - col - ##1 }
+ { \pgfpointdiff \@@_picture_position: \@@_node_position: }
+ }
+% \end{macrocode}
+% Now, you recreate the diagonal nodes by using the |row| nodes and the |col|
+% nodes.
+% \begin{macrocode}
+ \@@_create_diag_nodes:
+% \end{macrocode}
+%
+% \medskip
+% Now, the creation of the cell nodes |(i-j)|, and, maybe also the ``medium
+% nodes'' and the ``large nodes''.
+% \begin{macrocode}
+ \bool_if:NT \g_@@_recreate_cell_nodes_bool \@@_recreate_cell_nodes:
+ \endpgfpicture
+% \end{macrocode}
+%
+% \medskip
+% Now, the recreation of the nodes of the blocks \emph{which have a name}.
+% \begin{macrocode}
+ \@@_create_blocks_nodes:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \IfPackageLoadedTF { tikz }
+ {
+ \tikzset
+ {
+ every~picture / .style =
+ { overlay , name~prefix = \@@_env: - }
+ }
+ }
+ { }
+ \cs_set_eq:NN \cellcolor \@@_cellcolor
+ \cs_set_eq:NN \rectanglecolor \@@_rectanglecolor
+ \cs_set_eq:NN \roundedrectanglecolor \@@_roundedrectanglecolor
+ \cs_set_eq:NN \rowcolor \@@_rowcolor
+ \cs_set_eq:NN \rowcolors \@@_rowcolors
+ \cs_set_eq:NN \rowlistcolors \@@_rowlistcolors
+ \cs_set_eq:NN \arraycolor \@@_arraycolor
+ \cs_set_eq:NN \columncolor \@@_columncolor
+ \cs_set_eq:NN \chessboardcolors \@@_chessboardcolors
+ \cs_set_eq:NN \SubMatrix \@@_SubMatrix_in_code_before
+ \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
+ \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_exec_code_before:
+ {
+ \seq_gclear_new:N \g_@@_colors_seq
+% \end{macrocode}
+% The sequence |\g_@@_colors_seq| will always contain as first element the
+% special color |nocolor|: when that color is used, no color will be applied in
+% the corresponding cells by the other coloring commands of \pkg{nicematrix}.
+% \begin{macrocode}
+ \@@_add_to_colors_seq:nn { { nocolor } } { }
+ \bool_gset_false:N \g_@@_recreate_cell_nodes_bool
+ \group_begin:
+% \end{macrocode}
+%
+% We compose the |\CodeBefore| in math mode in order to nullify the spaces put
+% by the user between instructions in the |\CodeBefore|.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_tabular_bool \c_math_toggle_token
+% \end{macrocode}
+%
+% \bigskip
+% The following code is a security for the case the user has used \pkg{babel}
+% with the option \pkg{spanish}: in that case, the characters |<| (de code
+% \textsc{ascci} 60) and |>| are activated and Tikz is not able to solve the
+% problem (even with the Tikz library \pkg{babel}).
+% \begin{macrocode}
+ \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
+ { \@@_rescan_for_spanish:N \l_@@_code_before_tl }
+% \end{macrocode}
+%
+% Here is the |\CodeBefore|. The construction is a bit complicated because
+% |\g_@@_pre_code_before_tl| may begin with keys between square brackets. Moreover,
+% after the analyze of those keys, we sometimes have to decide to do \emph{not}
+% execute the rest of |\g_@@_pre_code_before_tl| (when it is asked for the creation
+% of cell nodes in the |\CodeBefore|). That's why we use a |\q_stop|: it
+% will be used to discard the rest of |\g_@@_pre_code_before_tl|.
+% \begin{macrocode}
+ \exp_last_unbraced:NV \@@_CodeBefore_keys:
+ \g_@@_pre_code_before_tl
+% \end{macrocode}
+% Now, all the cells which are specified to be colored by instructions in the
+% |\CodeBefore| will actually be colored. It's a two-stages mechanism because we
+% want to draw all the cells with the same color at the same time to absolutely
+% avoid thin white lines in some \textsc{pdf} viewers.
+% \begin{macrocode}
+ \@@_actually_color:
+ \l_@@_code_before_tl
+ \q_stop
+ \bool_if:NT \l_@@_tabular_bool \c_math_toggle_token
+ \group_end:
+ \bool_if:NT \g_@@_recreate_cell_nodes_bool
+ { \tl_put_left:Nn \@@_node_for_cell: \@@_patch_node_for_cell: }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / CodeBefore }
+ {
+ create-cell-nodes .bool_gset:N = \g_@@_recreate_cell_nodes_bool ,
+ create-cell-nodes .default:n = true ,
+ sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .value_required:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~CodeBefore }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_CodeBefore_keys: { O { } }
+ {
+ \keys_set:nn { NiceMatrix / CodeBefore } { #1 }
+ \@@_CodeBefore:w
+ }
+% \end{macrocode}
+%
+% We have extracted the options of the keyword |\CodeBefore| in order to see
+% whether the key |create-cell-nodes| has been used. Now, you can execute the
+% rest of the |\CodeBefore|, excepted, of course, if we are in the first
+% compilation.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_CodeBefore:w #1 \q_stop
+ {
+ \bool_if:NT \g_@@_aux_found_bool
+ {
+ \@@_pre_code_before:
+ #1
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% By default, if the user uses the |\CodeBefore|, only the |col| nodes, |row|
+% nodes and |diag| nodes are available in that |\CodeBefore|. With the key
+% |create-cell-nodes|, the cell nodes, that is to say the nodes of the form
+% |(i-j)| (but not the extra nodes) are also available because those nodes also
+% are recreated and that recreation is done by the following command.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_recreate_cell_nodes:
+ {
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \pgfsys@getposition { \@@_env: - ##1 - base } \@@_node_position:
+ \pgfcoordinate { \@@_env: - row - ##1 - base }
+ { \pgfpointdiff \@@_picture_position: \@@_node_position: }
+ \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sys @ pdf @ mark @ pos @ \@@_env: - ##1 - ####1 - NW }
+ {
+ \pgfsys@getposition
+ { \@@_env: - ##1 - ####1 - NW }
+ \@@_node_position:
+ \pgfsys@getposition
+ { \@@_env: - ##1 - ####1 - SE }
+ \@@_node_position_i:
+ \@@_pgf_rect_node:nnn
+ { \@@_env: - ##1 - ####1 }
+ { \pgfpointdiff \@@_picture_position: \@@_node_position: }
+ { \pgfpointdiff \@@_picture_position: \@@_node_position_i: }
+ }
+ }
+ }
+ \int_step_inline:nn \c@iRow
+ {
+ \pgfnodealias
+ { \@@_env: - ##1 - last }
+ { \@@_env: - ##1 - \int_use:N \c@jCol }
+ }
+ \int_step_inline:nn \c@jCol
+ {
+ \pgfnodealias
+ { \@@_env: - last - ##1 }
+ { \@@_env: - \int_use:N \c@iRow - ##1 }
+ }
+ \@@_create_extra_nodes:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_blocks_nodes:
+ {
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+ \pgfrememberpicturepositiononpagetrue
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_create_one_block_node:nnnnn ##1 }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% The following command is called |\@@_create_one_block_node:nnnnn| but, in
+% fact, it creates a node only if the last argument (|#5|) which is the name of
+% the block, is not empty.\footnote{Moreover, there is also in the list
+% |\g_@@_pos_of_blocks_seq| the positions of the dotted lines (created by
+% |\Cdots|, etc.) and, for these entries, there is, of course, no name (the
+% fifth component is empty).}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_one_block_node:nnnnn #1 #2 #3 #4 #5
+ {
+ \tl_if_empty:nF { #5 }
+ {
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { #1 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@y
+ \@@_qpoint:n { col - \int_eval:n { #4 + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
+ \@@_qpoint:n { \int_eval:n { #3 + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@y
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #5 }
+ { \dim_use:N \l_tmpa_dim }
+ { \dim_use:N \l_tmpb_dim }
+ { \dim_use:N \l_@@_tmpc_dim }
+ { \dim_use:N \l_@@_tmpd_dim }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_for_revtex:
+ {
+ \cs_set_eq:NN \@addamp \@addamp@LaTeX
+ \cs_set_eq:NN \insert@column \insert@column@array
+ \cs_set_eq:NN \@classx \@classx@array
+ \cs_set_eq:NN \@xarraycr \@xarraycr@array
+ \cs_set_eq:NN \@arraycr \@arraycr@array
+ \cs_set_eq:NN \@xargarraycr \@xargarraycr@array
+ \cs_set_eq:NN \array \array@array
+ \cs_set_eq:NN \@array \@array@array
+ \cs_set_eq:NN \@tabular \@tabular@array
+ \cs_set_eq:NN \@mkpream \@mkpream@array
+ \cs_set_eq:NN \endarray \endarray@array
+ \cs_set:Npn \@tabarray { \@ifnextchar [ { \@array } { \@array [ c ] } }
+ \cs_set:Npn \endtabular { \endarray $\egroup} % $
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The environment \{NiceArrayWithDelims\}}
+%
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceArrayWithDelims }
+ { m m O { } m ! O { } t \CodeBefore }
+ {
+ \bool_if:NT \c_@@_revtex_bool \@@_patch_for_revtex:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@@_provide_pgfsyspdfmark:
+ \bool_if:NT \g_@@_footnote_bool \savenotes
+% \end{macrocode}
+%
+% The aim of the following |\bgroup| (the corresponding |\egroup| is, of course,
+% at the end of the environment) is to be able to put an exposant to a matrix in
+% a mathematical formula.
+% \begin{macrocode}
+ \bgroup
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \tl_gset:Nn \g_@@_left_delim_tl { #1 }
+ \tl_gset:Nn \g_@@_right_delim_tl { #2 }
+ \tl_gset:Nn \g_@@_user_preamble_tl { #4 }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+ \int_gzero:N \g_@@_block_box_int
+ \dim_zero:N \g_@@_width_last_col_dim
+ \dim_zero:N \g_@@_width_first_col_dim
+ \bool_gset_false:N \g_@@_row_of_col_done_bool
+ \str_if_empty:NT \g_@@_name_env_str
+ { \str_gset:Nn \g_@@_name_env_str { NiceArrayWithDelims } }
+ \bool_if:NTF \l_@@_tabular_bool
+ \mode_leave_vertical:
+ \@@_test_if_math_mode:
+ \bool_if:NT \l_@@_in_env_bool { \@@_fatal:n { Yet~in~env } }
+ \bool_set_true:N \l_@@_in_env_bool
+% \end{macrocode}
+% The command |\CT@arc@| contains the instruction of color for the rules of the
+% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|}. This command is used by |\CT@arc@| but
+% we use it also for compatibility with \pkg{colortbl}. But we want also to be
+% able to use color for the rules of the array when \pkg{colortbl} is \emph{not}
+% loaded. That's why we do the following instruction which is in the patch of
+% the beginning of arrays done by \pkg{colortbl}. Of course, we restore the
+% value of |\CT@arc@| at the end of our environment.
+% \begin{macrocode}
+ \cs_gset_eq:NN \@@_old_CT@arc@ \CT@arc@
+% \end{macrocode}
+%
+% We deactivate Tikz externalization because we will use \textsc{pgf} pictures
+% with the options |overlay| and |remember picture| (or equivalent forms). We
+% deactivate with |\tikzexternaldisable| and not with
+% |\tikzset{external/export=false}| which is \emph{not} equivalent.
+% \begin{macrocode}
+ \cs_if_exist:NT \tikz@library@external@loaded
+ {
+ \tikzexternaldisable
+ \cs_if_exist:NT \ifstandalone
+ { \tikzset { external / optimize = false } }
+ }
+% \end{macrocode}
+%
+% We increment the counter |\g_@@_env_int| which counts the environments
+% of the package.
+% \begin{macrocode}
+ \int_gincr:N \g_@@_env_int
+ \bool_if:NF \l_@@_block_auto_columns_width_bool
+ { \dim_gzero_new:N \g_@@_max_cell_width_dim }
+% \end{macrocode}
+%
+%
+% The sequence |\g_@@_blocks_seq| will contain the carateristics of the blocks
+% (specified by |\Block|) of the array. The sequence |\g_@@_pos_of_blocks_seq|
+% will contain only the position of the blocks (except the blocks with the key
+% |hvlines|).
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_blocks_seq
+ \seq_gclear:N \g_@@_pos_of_blocks_seq
+% \end{macrocode}
+% In fact, the sequence |\g_@@_pos_of_blocks_seq| will also contain the
+% positions of the cells with a |\diagbox| and the |\multicolumn|.
+%
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_pos_of_stroken_blocks_seq
+ \seq_gclear:N \g_@@_pos_of_xdots_seq
+ \tl_gclear_new:N \g_@@_code_before_tl
+ \tl_gclear:N \g_@@_row_style_tl
+% \end{macrocode}
+%
+% \bigskip
+% We load all the informations written in the |aux| file during previous
+% compilations corresponding to the current environment.
+% \begin{macrocode}
+ \tl_if_exist:cTF { c_@@ _ \int_use:N \g_@@_env_int _ tl }
+ {
+ \bool_gset_true:N \g_@@_aux_found_bool
+ \use:c { c_@@ _ \int_use:N \g_@@_env_int _ tl }
+ }
+ { \bool_gset_false:N \g_@@_aux_found_bool }
+% \end{macrocode}
+% Now, we prepare the token list for the instructions that we will have to write
+% on the |aux| file at the end of the environment.
+% \begin{macrocode}
+ \tl_gclear:N \g_@@_aux_tl
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \tl_if_empty:NF \g_@@_code_before_tl
+ {
+ \bool_set_true:N \l_@@_code_before_bool
+ \tl_put_right:NV \l_@@_code_before_tl \g_@@_code_before_tl
+ }
+ \tl_if_empty:NF \g_@@_pre_code_before_tl
+ { \bool_set_true:N \l_@@_code_before_bool }
+% \end{macrocode}
+%
+% The set of keys is not exactly the same for |{NiceArray}| and for the variants
+% of |{NiceArray}| (|{pNiceArray}|, |{bNiceArray}|, etc.) because, for
+% |{NiceArray}|, we have the options |t|, |c|, |b| and |baseline|.
+% \begin{macrocode}
+ \bool_if:NTF \g_@@_delims_bool
+ { \keys_set:nn { NiceMatrix / pNiceArray } }
+ { \keys_set:nn { NiceMatrix / NiceArray } }
+ { #3 , #5 }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \@@_set_CT@arc@:o \l_@@_rules_color_tl
+% \end{macrocode}
+%
+% \bigskip
+% The argument |#6| is the last argument of |{NiceArrayWithDelims}|. With that
+% argument of type ``|t \CodeBefore|'', we test whether there is the keyword
+% |\CodeBefore| at the beginning of the body of the environment. If that keyword
+% is present, we have now to extract all the content between that keyword
+% |\CodeBefore| and the (other) keyword |\Body|. It's the job that will do the
+% command |\@@_CodeBefore_Body:w|. After that job, the command |\@@_CodeBefore_Body:w|
+% will go on with |\@@_pre_array:|.
+% \begin{macrocode}
+ \IfBooleanTF { #6 } \@@_CodeBefore_Body:w \@@_pre_array:
+ }
+% \end{macrocode}
+%
+% Now, the second part of the environment |{NiceArrayWithDelims}|.
+% \begin{macrocode}
+ {
+ \bool_if:NTF \l_@@_light_syntax_bool
+ { \use:c { end @@-light-syntax } }
+ { \use:c { end @@-normal-syntax } }
+ \c_math_toggle_token
+ \skip_horizontal:N \l_@@_right_margin_dim
+ \skip_horizontal:N \l_@@_extra_right_margin_dim
+ \hbox_set_end:
+% \end{macrocode}
+% End of the construction of the array (in the box |\l_@@_the_array_box|).
+%
+% \bigskip
+% If the user has used the key |width| without any column |X|, we raise an error.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_width_used_bool
+ {
+ \int_if_zero:nT \g_@@_total_X_weight_int
+ { \@@_error_or_warning:n { width~without~X~columns } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Now, if there is at least one |X|-column in the environment, we compute the
+% width that those columns will have (in the next compilation). In fact,
+% |l_@@_X_columns_dim| will be the width of a column of weight $1$. For a
+% |X|-column of weight~$n$, the width will be |\l_@@_X_columns_dim| multiplied
+% by~$n$.
+% \begin{macrocode}
+ \int_compare:nNnT \g_@@_total_X_weight_int > \c_zero_int
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \bool_set_true:N \l_@@_X_columns_aux_bool
+ \dim_set:Nn \l_@@_X_columns_dim
+ {
+ \dim_compare:nNnTF
+ {
+ \dim_abs:n
+ { \l_@@_width_dim - \box_wd:N \l_@@_the_array_box }
+ }
+ <
+ { 0.001 pt }
+ { \dim_use:N \l_@@_X_columns_dim }
+ {
+ \dim_eval:n
+ {
+ ( \l_@@_width_dim - \box_wd:N \l_@@_the_array_box )
+ / \int_use:N \g_@@_total_X_weight_int
+ + \l_@@_X_columns_dim
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% It the user has used the key |last-row| with a value, we control that the
+% given value is correct (since we have just constructed the array, we know the
+% actual number of rows of the array).
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_last_row_int > { -2 }
+ {
+ \bool_if:NF \l_@@_last_row_without_value_bool
+ {
+ \int_compare:nNnF \l_@@_last_row_int = \c@iRow
+ {
+ \@@_error:n { Wrong~last~row }
+ \int_gset_eq:NN \l_@@_last_row_int \c@iRow
+ }
+ }
+ }
+% \end{macrocode}
+%
+% Now, the definition of |\c@jCol| and |\g_@@_col_total_int| change: |\c@jCol|
+% will be the number of columns without the ``last column'';
+% |\g_@@_col_total_int| will be the number of columns with this ``last
+% column''.\footnote{We remind that the potential ``first column'' (exterior)
+% has the number~$0$.}
+% \begin{macrocode}
+ \int_gset_eq:NN \c@jCol \g_@@_col_total_int
+ \bool_if:NTF \g_@@_last_col_found_bool
+ { \int_gdecr:N \c@jCol }
+ {
+ \int_compare:nNnT \l_@@_last_col_int > { -1 }
+ { \@@_error:n { last~col~not~used } }
+ }
+% \end{macrocode}
+%
+% We fix also the value of |\c@iRow| and |\g_@@_row_total_int| with the
+% same principle.
+% \begin{macrocode}
+ \int_gset_eq:NN \g_@@_row_total_int \c@iRow
+ \int_compare:nNnT \l_@@_last_row_int > { -1 } { \int_gdecr:N \c@iRow }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \textbf{Now, we begin the real construction in the output flow of TeX}. First, we take
+% into account a potential ``first column'' (we remind that this ``first
+% column'' has been constructed in an overlapping position and that we have
+% computed its width in |\g_@@_width_first_col_dim|: see
+% p.~\pageref{overlap-left}).
+% \begin{macrocode}
+ \int_if_zero:nT \l_@@_first_col_int
+ { \skip_horizontal:N \g_@@_width_first_col_dim }
+% \end{macrocode}
+%
+% The construction of the real box is different whether we have delimiters to
+% put.
+% \begin{macrocode}
+ \bool_if:nTF { ! \g_@@_delims_bool }
+ {
+ \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_c_tl
+ \@@_use_arraybox_with_notes_c:
+ {
+ \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_b_tl
+ \@@_use_arraybox_with_notes_b:
+ \@@_use_arraybox_with_notes:
+ }
+ }
+% \end{macrocode}
+%
+% Now, in the case of an environment with delimiters. We compute |\l_tmpa_dim|
+% which is the total height of the ``first row'' above the array (when the key
+% |first-row| is used).
+% \begin{macrocode}
+ {
+ \int_if_zero:nTF \l_@@_first_row_int
+ {
+ \dim_set_eq:NN \l_tmpa_dim \g_@@_dp_row_zero_dim
+ \dim_add:Nn \l_tmpa_dim \g_@@_ht_row_zero_dim
+ }
+ { \dim_zero:N \l_tmpa_dim }
+% \end{macrocode}
+%
+% We compute |\l_tmpb_dim| which is the total height of the ``last row''
+% below the array (when the key |last-row| is used). A value of $-2$ for
+% |\l_@@_last_row_int| means that there is no ``last row''.\footnote{A value of
+% $-1$ for |\l_@@_last_row_int| means that there is a ``last row'' but the
+% the user have not set the value with the option |last row| (and we are in the
+% first compilation).}
+% \begin{macrocode}
+ \int_compare:nNnTF \l_@@_last_row_int > { -2 }
+ {
+ \dim_set_eq:NN \l_tmpb_dim \g_@@_ht_last_row_dim
+ \dim_add:Nn \l_tmpb_dim \g_@@_dp_last_row_dim
+ }
+ { \dim_zero:N \l_tmpb_dim }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \c_math_toggle_token
+ \@@_color:o \l_@@_delimiters_color_tl
+ \exp_after:wN \left \g_@@_left_delim_tl
+ \vcenter
+ {
+% \end{macrocode}
+% We take into account the ``first row'' (we have previously computed its total
+% height in |\l_tmpa_dim|). The |\hbox:n| (or |\hbox|) is necessary here.
+% \begin{macrocode}
+ \skip_vertical:n { -\l_tmpa_dim - \arrayrulewidth }
+ \hbox
+ {
+ \bool_if:NTF \l_@@_tabular_bool
+ { \skip_horizontal:N -\tabcolsep }
+ { \skip_horizontal:N -\arraycolsep }
+ \@@_use_arraybox_with_notes_c:
+ \bool_if:NTF \l_@@_tabular_bool
+ { \skip_horizontal:N -\tabcolsep }
+ { \skip_horizontal:N -\arraycolsep }
+ }
+% \end{macrocode}
+% We take into account the ``last row'' (we have previously computed its total
+% height in |\l_tmpb_dim|).
+% \begin{macrocode}
+ \skip_vertical:N -\l_tmpb_dim
+ \skip_vertical:N \arrayrulewidth
+ }
+ \exp_after:wN \right \g_@@_right_delim_tl
+ \c_math_toggle_token
+ }
+% \end{macrocode}
+% Now, the box |\l_tmpa_box| is created with the correct delimiters.
+%
+% \smallskip
+% We will put the box in the TeX flow. However, we have a small work to do
+% when the option |delimiters/max-width| is used.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_delimiters_max_width_bool
+ {
+ \@@_put_box_in_flow_bis:nn
+ \g_@@_left_delim_tl
+ \g_@@_right_delim_tl
+ }
+ \@@_put_box_in_flow:
+ }
+% \end{macrocode}
+%
+% We take into account a potential ``last column'' (this ``last column'' has
+% been constructed in an overlapping position and we have computed its width in
+% |\g_@@_width_last_col_dim|: see p.~\pageref{overlap-right}).
+% \begin{macrocode}
+ \bool_if:NT \g_@@_last_col_found_bool
+ { \skip_horizontal:N \g_@@_width_last_col_dim }
+ \bool_if:NT \l_@@_preamble_bool
+ {
+ \int_compare:nNnT \c@jCol < \g_@@_static_num_of_col_int
+ { \@@_warning_gredirect_none:n { columns~not~used } }
+ }
+ \@@_after_array:
+% \end{macrocode}
+% The aim of the following |\egroup| (the corresponding |\bgroup| is, of course,
+% at the beginning of the environment) is to be able to put an exposant to a matrix in
+% a mathematical formula.
+% \begin{macrocode}
+ \egroup
+% \end{macrocode}
+%
+% \bigskip
+% We write on the |aux| file all the informations corresponding to the
+% current environment.
+% \begin{macrocode}
+ \iow_now:Nn \@mainaux { \ExplSyntaxOn }
+ \iow_now:Nn \@mainaux { \char_set_catcode_space:n { 32 } }
+ \iow_now:Nx \@mainaux
+ {
+ \tl_gset:cn { c_@@_ \int_use:N \g_@@_env_int _ tl }
+ { \exp_not:o \g_@@_aux_tl }
+ }
+ \iow_now:Nn \@mainaux { \ExplSyntaxOff }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \bool_if:NT \g_@@_footnote_bool \endsavenotes
+ }
+% \end{macrocode}
+% This is the end of the environment |{NiceArrayWithDelims}|.
+%
+% \vspace{1cm}
+% \section{We construct the preamble of the array}
+%
+% \bigskip
+% The final user provides a preamble, but we must convert that preamble into a
+% preamble that will be given to |{array}| (of the package \pkg{array}).
+%
+% \bigskip
+% The preamble given by the final user is stored in |\g_@@_user_preamble_tl|.
+% The modified version will be stored in |\g_@@_array_preamble_tl| also.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_transform_preamble:
+ {
+ \@@_transform_preamble_i:
+ \@@_transform_preamble_ii:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_transform_preamble_i:
+ {
+ \int_gzero:N \c@jCol
+% \end{macrocode}
+% The sequence |\g_@@_cols_vlsim_seq| will contain the numbers of the columns
+% where you will to have to draw vertical lines in the potential sub-matrices
+% (hence the name |vlism|).
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_cols_vlism_seq
+% \end{macrocode}
+% |\g_tmpb_bool| will be raised if you have a \verb+|+ at the end of the
+% preamble provided by the final user.
+% \begin{macrocode}
+ \bool_gset_false:N \g_tmpb_bool
+% \end{macrocode}
+%
+% The following sequence will store the arguments of the successive |>| in the
+% preamble.
+% \begin{macrocode}
+ \tl_gclear_new:N \g_@@_pre_cell_tl
+% \end{macrocode}
+% The counter |\l_tmpa_int| will count the number of consecutive occurrences
+% of the symbol \verb+|+.
+% \begin{macrocode}
+ \int_zero:N \l_tmpa_int
+ \tl_gclear:N \g_@@_array_preamble_tl
+ \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
+ {
+ \tl_gset:Nn \g_@@_array_preamble_tl
+ { ! { \skip_horizontal:N \arrayrulewidth } }
+ }
+ {
+ \clist_if_in:NnT \l_@@_vlines_clist 1
+ {
+ \tl_gset:Nn \g_@@_array_preamble_tl
+ { ! { \skip_horizontal:N \arrayrulewidth } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Now, we actually make the preamble (which will be given to |{array}|). It will
+% be stored in |\g_@@_array_preamble_tl|.
+% \begin{macrocode}
+ \exp_last_unbraced:NV \@@_rec_preamble:n \g_@@_user_preamble_tl \stop
+ \int_gset_eq:NN \g_@@_static_num_of_col_int \c@jCol
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \@@_replace_columncolor:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ {
+ \regex_const:Nn \c_@@_columncolor_regex { \c { columncolor } }
+ \cs_new_protected:Npn \@@_replace_columncolor:
+ {
+ \regex_replace_all:NnN
+ \c_@@_columncolor_regex
+ { \c { @@_columncolor_preamble } }
+ \g_@@_array_preamble_tl
+ }
+ }
+ {
+ \cs_new_protected:Npn \@@_replace_columncolor:
+ { \cs_set_eq:NN \columncolor \@@_columncolor_preamble }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_transform_preamble_ii:
+ {
+% \end{macrocode}
+%
+% \medskip
+% If there were delimiters at the beginning or at the end of the preamble, the
+% environment |{NiceArray}| is transformed into an environment |{xNiceMatrix}|.
+% \begin{macrocode}
+ \tl_if_eq:NNTF \g_@@_left_delim_tl \c_@@_dot_tl
+ {
+ \tl_if_eq:NNF \g_@@_right_delim_tl \c_@@_dot_tl
+ { \bool_gset_true:N \g_@@_delims_bool }
+ }
+ { \bool_gset_true:N \g_@@_delims_bool }
+% \end{macrocode}
+%
+% \medskip
+% We want to remind whether there is a specifier \verb+|+ at the end of the preamble.
+% \begin{macrocode}
+ \bool_if:NT \g_tmpb_bool { \bool_set_true:N \l_@@_bar_at_end_of_pream_bool }
+% \end{macrocode}
+%
+% \bigskip
+% We complete the preamble with the potential ``exterior columns'' (on both sides).
+% \begin{macrocode}
+ \int_if_zero:nTF \l_@@_first_col_int
+ { \tl_gput_left:No \g_@@_array_preamble_tl \c_@@_preamble_first_col_tl }
+ {
+ \bool_if:NF \g_@@_delims_bool
+ {
+ \bool_if:NF \l_@@_tabular_bool
+ {
+ \tl_if_empty:NT \l_@@_vlines_clist
+ {
+ \bool_if:NF \l_@@_exterior_arraycolsep_bool
+ { \tl_gput_left:Nn \g_@@_array_preamble_tl { @ { } } }
+ }
+ }
+ }
+ }
+ \int_compare:nNnTF \l_@@_last_col_int > { -1 }
+ { \tl_gput_right:No \g_@@_array_preamble_tl \c_@@_preamble_last_col_tl }
+ {
+ \bool_if:NF \g_@@_delims_bool
+ {
+ \bool_if:NF \l_@@_tabular_bool
+ {
+ \tl_if_empty:NT \l_@@_vlines_clist
+ {
+ \bool_if:NF \l_@@_exterior_arraycolsep_bool
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { } } }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% We add a last column to raise a good error message when the user puts more
+% columns than allowed by its preamble. However, for technical reasons, it's not
+% possible to do that in |{NiceTabular*}| (we control that with the value of
+% |\l_@@_tabular_width_dim|).
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_tabular_width_dim = \c_zero_dim
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { > { \@@_error_too_much_cols: } l }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The preamble provided by the final user will be read by a finite
+% automata. The following function |\@@_rec_preamble:n| will read that preamble
+% (usually letter by letter) in a recursive way (hence the name of that function).
+% in the preamble.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rec_preamble:n #1
+ {
+% \end{macrocode}
+% For the majority of the letters, we will trigger the corresponding action by
+% calling directly a function in the main hashtable of TeX (thanks to the
+% mechanism |\csname...\endcsname|. Be careful: all these functions take in as
+% first argument the letter (or token) itself.\footnote{We do that because it's
+% an easy way to insert the letter at some places in the code that we will add to
+% |\g_@@_array_preamble_tl|.}
+% \begin{macrocode}
+ \cs_if_exist:cTF { @@ _ \token_to_str:N #1 }
+ { \use:c { @@ _ \token_to_str:N #1 } { #1 } }
+ {
+% \end{macrocode}
+% Now, the columns defined by |\newcolumntype| of \pkg{array}.
+% \begin{macrocode}
+ \cs_if_exist:cTF { NC @ find @ #1 }
+ {
+ \tl_set_eq:Nc \l_tmpb_tl { NC @ rewrite @ #1 }
+ \exp_last_unbraced:NV \@@_rec_preamble:n \l_tmpb_tl
+ }
+ {
+ \tl_if_eq:nnT { #1 } { S }
+ { \@@_fatal:n { unknown~column~type~S } }
+ { \@@_fatal:nn { unknown~column~type } { #1 } }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% For |c|, |l| and |r|
+% \begin{macrocode}
+\cs_new:Npn \@@_c #1
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { > \@@_cell_begin:w c < \@@_cell_end: }
+% \end{macrocode}
+%
+% We increment the counter of columns and then we test for the presence of a |<|.
+% \begin{macrocode}
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_new:Npn \@@_l #1
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > { \@@_cell_begin:w \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_l_tl }
+ l
+ < \@@_cell_end:
+ }
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_new:Npn \@@_r #1
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > { \@@_cell_begin:w \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_r_tl }
+ r
+ < \@@_cell_end:
+ }
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |!| and |@|
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N ! } #1 #2
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { #1 { #2 } }
+ \@@_rec_preamble:n
+ }
+\cs_set_eq:cc { @@ _ \token_to_str:N @ } { @@ _ \token_to_str:N ! }
+% \end{macrocode}
+%
+%
+% \medskip
+% For \verb+|+
+% \begin{macrocode}
+\cs_new:cpn { @@ _ | } #1
+ {
+% \end{macrocode}
+% |\l_tmpa_int| is the number of successive occurrences of \verb+|+
+% \begin{macrocode}
+ \int_incr:N \l_tmpa_int
+ \@@_make_preamble_i_i:n
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_i_i:n #1
+ {
+ \str_if_eq:nnTF { #1 } |
+ { \use:c { @@ _ | } | }
+ { \@@_make_preamble_i_ii:nn { } #1 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_i_ii:nn #1 #2
+ {
+ \str_if_eq:nnTF { #2 } [
+ { \@@_make_preamble_i_ii:nw { #1 } [ }
+ { \@@_make_preamble_i_iii:nn { #2 } { #1 } }
+ }
+\cs_new_protected:Npn \@@_make_preamble_i_ii:nw #1 [ #2 ]
+ { \@@_make_preamble_i_ii:nn { #1 , #2 } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_i_iii:nn #1 #2
+ {
+ \@@_compute_rule_width:n { multiplicity = \l_tmpa_int , #2 }
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
+ {
+% \end{macrocode}
+% Here, the command |\dim_eval:n| is mandatory.
+% \begin{macrocode}
+ \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l_@@_rule_width_dim } } }
+ }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_vline:n
+ {
+ position = \int_eval:n { \c@jCol + 1 } ,
+ multiplicity = \int_use:N \l_tmpa_int ,
+ total-width = \dim_use:N \l_@@_rule_width_dim ,
+ #2
+ }
+% \end{macrocode}
+% We don't have provided value for |start| nor for |end|, which means that the
+% rule will cover (potentially) all the rows of the array.
+%
+% \begin{macrocode}
+ }
+ \int_zero:N \l_tmpa_int
+ \str_if_eq:nnT { #1 } { \stop } { \bool_gset_true:N \g_tmpb_bool }
+ \@@_rec_preamble:n #1
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new:cpn { @@ _ > } #1 #2
+ {
+ \tl_gput_right:Nn \g_@@_pre_cell_tl { > { #2 } }
+ \@@_rec_preamble:n
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\bool_new:N \l_@@_bar_at_end_of_pream_bool
+% \end{macrocode}
+%
+% \bigskip
+% The specifier |p| (and also the specifiers |m|, |b|, |V| and |X|) have an
+% optional argument between square brackets for a list of
+% \emph{key}-\emph{value} pairs. Here are the corresponding keys.
+% \begin{macrocode}
+\keys_define:nn { nicematrix / p-column }
+ {
+ r .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_r_str ,
+ r .value_forbidden:n = true ,
+ c .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_c_str ,
+ c .value_forbidden:n = true ,
+ l .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_l_str ,
+ l .value_forbidden:n = true ,
+ R .code:n =
+ \IfPackageLoadedTF { ragged2e }
+ { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_R_str }
+ {
+ \@@_error_or_warning:n { ragged2e~not~loaded }
+ \str_set_eq:NN \l_@@_hpos_col_str \c_@@_r_str
+ } ,
+ R .value_forbidden:n = true ,
+ L .code:n =
+ \IfPackageLoadedTF { ragged2e }
+ { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_L_stsr }
+ {
+ \@@_error_or_warning:n { ragged2e~not~loaded }
+ \str_set_eq:NN \l_@@_hpos_col_str \c_@@_l_str
+ } ,
+ L .value_forbidden:n = true ,
+ C .code:n =
+ \IfPackageLoadedTF { ragged2e }
+ { \str_set_eq:NN \l_@@_hpos_col_str \c_@@_C_str }
+ {
+ \@@_error_or_warning:n { ragged2e~not~loaded }
+ \str_set_eq:NN \l_@@_hpos_col_str \c_@@_c_str
+ } ,
+ C .value_forbidden:n = true ,
+ S .code:n = \str_set_eq:NN \l_@@_hpos_col_str \c_@@_si_str ,
+ S .value_forbidden:n = true ,
+ p .code:n = \str_set:Nn \l_@@_vpos_col_str { p } ,
+ p .value_forbidden:n = true ,
+ t .meta:n = p ,
+ m .code:n = \str_set:Nn \l_@@_vpos_col_str { m } ,
+ m .value_forbidden:n = true ,
+ b .code:n = \str_set:Nn \l_@@_vpos_col_str { b } ,
+ b .value_forbidden:n = true ,
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% For |p|, |b| and |m|.
+% \begin{macrocode}
+\cs_new:Npn \@@_p #1
+ {
+ \str_set:Nn \l_@@_vpos_col_str { #1 }
+% \end{macrocode}
+% Now, you look for a potential character |[| after the letter of the specifier
+% (for the options).
+% \begin{macrocode}
+ \@@_make_preamble_ii_i:n
+ }
+\cs_set_eq:NN \@@_b \@@_p
+\cs_set_eq:NN \@@_m \@@_p
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ii_i:n #1
+ {
+ \str_if_eq:nnTF { #1 } { [ }
+ { \@@_make_preamble_ii_ii:w [ }
+ { \@@_make_preamble_ii_ii:w [ ] { #1 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ii_ii:w [ #1 ]
+ { \@@_make_preamble_ii_iii:nn { #1 } }
+% \end{macrocode}
+%
+% \medskip
+% |#1| is the optional argument of the specifier (a list of
+% \emph{key}-\emph{value} pairs).
+%
+% |#2| is the mandatory argument of the specifier: the width of the column.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ii_iii:nn #1 #2
+ {
+% \end{macrocode}
+% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
+% the initial value), |l|, |c|, |r|, |L|, |C| and |R| (when the user has used
+% the corresponding key in the optional argument of the specifier).
+% \begin{macrocode}
+ \str_set_eq:NN \l_@@_hpos_col_str \c_@@_j_str
+ \@@_keys_p_column:n { #1 }
+ \@@_make_preamble_ii_iv:nnn { #2 } { minipage } { }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_keys_p_column:n #1
+ { \keys_set_known:nnN { nicematrix / p-column } { #1 } \l_tmpa_tl }
+% \end{macrocode}
+%
+% \medskip
+% The first argument is the width of the column. The second is the type of
+% environment: |minipage| or |varwidth|. The third is some code added at the
+% beginning of the cell.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ii_iv:nnn #1 #2 #3
+ {
+ \use:e
+ {
+ \@@_make_preamble_ii_v:nnnnnnnn
+ { \str_if_eq:onTF \l_@@_vpos_col_str { p } { t } { b } }
+ { \dim_eval:n { #1 } }
+ {
+% \end{macrocode}
+% The parameter |\l_@@_hpos_col_str| (as |\l_@@_vpos_col_str|) exists only
+% during the construction of the preamble. During the composition of the array
+% itself, you will have, in each cell, the parameter |\l_@@_hpos_cell_tl| which
+% will provide the horizontal alignment of the column to which belongs the cell.
+% \begin{macrocode}
+ \str_if_eq:NNTF \l_@@_hpos_col_str \c_@@_j_str
+ { \tl_clear:N \exp_not:N \l_@@_hpos_cell_tl }
+ {
+ \cs_set_nopar:Npn \exp_not:N \l_@@_hpos_cell_tl
+ { \str_lowercase:V \l_@@_hpos_col_str }
+ }
+ \str_case:on \l_@@_hpos_col_str
+ {
+ c { \exp_not:N \centering }
+ l { \exp_not:N \raggedright }
+ r { \exp_not:N \raggedleft }
+ C { \exp_not:N \Centering }
+ L { \exp_not:N \RaggedRight }
+ R { \exp_not:N \RaggedLeft }
+ }
+ #3
+ }
+ { \str_if_eq:onT \l_@@_vpos_col_str { m } \@@_center_cell_box: }
+ { \str_if_eq:onT \l_@@_hpos_col_str { si } \siunitx_cell_begin:w }
+ { \str_if_eq:onT \l_@@_hpos_col_str { si } \siunitx_cell_end: }
+ { #2 }
+ {
+ \str_case:onF \l_@@_hpos_col_str
+ {
+ { j } { c }
+ { si } { c }
+ }
+% \end{macrocode}
+% We use |\str_lowercase:n| to convert |R| to |r|, etc.
+% \begin{macrocode}
+ { \str_lowercase:V \l_@@_hpos_col_str }
+ }
+ }
+% \end{macrocode}
+%
+% We increment the counter of columns, and then we test for the presence of a |<|.
+% \begin{macrocode}
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% |#1| is the optional argument of |{minipage}| (or |{varwidth}|): |t| or |b|.
+% Indeed, for the columns of type |m|, we use the value |b| here because there
+% is a special post-action in order to center vertically the box (see |#4|).
+%
+% |#2| is the width of the |{minipage}| (or |{varwidth}|), that is to say also
+% the width of the column.
+%
+% |#3| is the coding for the horizontal position of the content of the cell
+% (|\centering|, |\raggedright|, |\raggedleft| or nothing). It's also possible
+% to put in that |#3| some code to fix the value of |\l_@@_hpos_cell_tl| which
+% will be available in each cell of the column.
+%
+% |#4| is an extra-code which contains |\@@_center_cell_box:| (when the column
+% is a |m| column) or nothing (in the other cases).
+%
+% |#5| is a code put just before the |c| (or |r| or |l|: see |#8|).
+%
+% |#6| is a code put just after the |c| (or |r| or |l|: see |#8|).
+%
+% |#7| is the type of environment: |minipage| or |varwidth|.
+%
+% |#8| is the letter |c| or |r| or |l| which is the basic specificier of column
+% which is used \emph{in fine}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ii_v:nnnnnnnn #1 #2 #3 #4 #5 #6 #7 #8
+ {
+ \tl_if_eq:NNTF \l_@@_hpos_col_str \c_@@_si_str
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty_for_S: } } }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty: } } }
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > {
+% \end{macrocode}
+% The parameter |\l_@@_col_width_dim|, which is the width of the current column,
+% will be available in each cell of the column. It will be used by the
+% mono-column blocks.
+% \begin{macrocode}
+ \dim_set:Nn \l_@@_col_width_dim { #2 }
+ \@@_cell_begin:w
+% \end{macrocode}
+% We use the form |\minipage|--|\endminipage| (|\varwidth|--|\endvarwidth|) for
+% compatibility with \pkg{collcell} (2023-10-31).
+% \begin{macrocode}
+ \use:c { #7 } [ #1 ] { #2 }
+% \end{macrocode}
+% The following lines have been taken from |array.sty|.
+% \begin{macrocode}
+ \everypar
+ {
+ \vrule height \box_ht:N \@arstrutbox width \c_zero_dim
+ \everypar { }
+ }
+% \end{macrocode}
+% Now, the potential code for the horizontal position of the content of the cell
+% (|\centering|, |\raggedright|, |\RaggedRight|, etc.).
+% \begin{macrocode}
+ #3
+% \end{macrocode}
+% The following code is to allow something like |\centering| in |\RowStyle|.
+% \begin{macrocode}
+ \g_@@_row_style_tl
+ \arraybackslash
+ #5
+ }
+ #8
+ < {
+ #6
+% \end{macrocode}
+% The following line has been taken from |array.sty|.
+% \begin{macrocode}
+ \@finalstrut \@arstrutbox
+ \use:c { end #7 }
+% \end{macrocode}
+% If the letter in the preamble is |m|, |#4| will be equal to
+% |\@@_center_cell_box:| (see just below).
+% \begin{macrocode}
+ #4
+ \@@_cell_end:
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+%
+% \begin{macrocode}
+\str_new:N \c_@@_ignorespaces_str
+\str_set:Nx \c_@@_ignorespaces_str { \ignorespaces }
+\str_remove_all:Nn \c_@@_ignorespaces_str { ~ }
+% \end{macrocode}
+%
+% \bigskip
+% In order to test whether a cell is empty, we test whether it begins by
+% |\ignorespaces\unskip|. However, in some circunstancies, for example when
+% |\collectcell| of \pkg{collcell} is used, the cell does not begin with
+% |\ignorespaces|. In that case, we consider as not empty...
+%
+% First, we test if the next token is |\ignorespaces| and it's not very easy...
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_if_empty: { \peek_after:Nw \@@_test_if_empty_i: }
+\cs_new_protected:Npn \@@_test_if_empty_i:
+ {
+ \str_set:Nx \l_tmpa_str { \token_to_meaning:N \l_peek_token }
+ \str_if_eq:NNT \l_tmpa_str \c_@@_ignorespaces_str
+ { \@@_test_if_empty:w }
+ }
+\cs_new_protected:Npn \@@_test_if_empty:w \ignorespaces
+ {
+ \peek_meaning:NT \unskip
+ {
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ {
+ \box_set_wd:Nn \l_@@_cell_box \c_zero_dim
+ \skip_horizontal:N \l_@@_col_width_dim
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_if_empty_for_S:
+ {
+ \peek_meaning:NT \__siunitx_table_skip:n
+ {
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ { \box_set_wd:Nn \l_@@_cell_box \c_zero_dim }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command will be used in |m|-columns in order to center
+% vertically the box. In fact, despite its name, the command does not always
+% center the cell. Indeed, if there is only one row in the cell, it should not
+% be centered vertically. It's not possible to know the number of rows of the
+% cell. However, we consider (as in \pkg{array}) that if the height of the cell
+% is no more that the height of |\strutbox|, there is only one row.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_center_cell_box:
+ {
+% \end{macrocode}
+% By putting instructions in |\g_@@_cell_after_hook_tl|, we require a
+% post-action of the box |\l_@@_cell_box|.
+% \begin{macrocode}
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ {
+ \int_compare:nNnT
+ { \box_ht:N \l_@@_cell_box }
+ >
+% \end{macrocode}
+% Previously, we had |\@arstrutbox| and not |\strutbox| in the following line
+% but the code in \pkg{array} has changed in v 2.5g and we follow the change
+% (see \emph{array: Correctly identify single-line m-cells} in LaTeX~News~36).
+% \begin{macrocode}
+ { \box_ht:N \strutbox }
+ {
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \box_move_down:nn
+ {
+ ( \box_ht:N \l_@@_cell_box - \box_ht:N \@arstrutbox
+ + \baselineskip ) / 2
+ }
+ { \box_use:N \l_@@_cell_box }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |V| (similar to the |V| of \pkg{varwidth}).
+% \begin{macrocode}
+\cs_new:Npn \@@_V #1 #2
+ {
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_V_i:w [ }
+ { \@@_make_preamble_V_i:w [ ] { #2 } }
+ }
+\cs_new_protected:Npn \@@_make_preamble_V_i:w [ #1 ]
+ { \@@_make_preamble_V_ii:nn { #1 } }
+\cs_new_protected:Npn \@@_make_preamble_V_ii:nn #1 #2
+ {
+ \str_set:Nn \l_@@_vpos_col_str { p }
+ \str_set_eq:NN \l_@@_hpos_col_str \c_@@_j_str
+ \@@_keys_p_column:n { #1 }
+ \IfPackageLoadedTF { varwidth }
+ { \@@_make_preamble_ii_iv:nnn { #2 } { varwidth } { } }
+ {
+ \@@_error_or_warning:n { varwidth~not~loaded }
+ \@@_make_preamble_ii_iv:nnn { #2 } { minipage } { }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |w| and |W|
+% \begin{macrocode}
+\cs_new:Npn \@@_w { \@@_make_preamble_w:nnnn { } }
+\cs_new:Npn \@@_W { \@@_make_preamble_w:nnnn { \@@_special_W: } }
+% \end{macrocode}
+%
+% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for |W|;
+%
+% |#2| is the type of column (|w| or |W|);
+%
+% |#3| is the type of horizontal alignment (|c|, |l|, |r| or |s|);
+%
+% |#4| is the width of the column.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_w:nnnn #1 #2 #3 #4
+ {
+ \str_if_eq:nnTF { #3 } { s }
+ { \@@_make_preamble_w_i:nnnn { #1 } { #4 } }
+ { \@@_make_preamble_w_ii:nnnn { #1 } { #2 } { #3 } { #4 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% First, the case of an horizontal alignment equal to |s| (for \emph{stretch}).
+%
+% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for
+% |W|;
+%
+% |#2| is the width of the column.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_w_i:nnnn #1 #2
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > {
+ \dim_set:Nn \l_@@_col_width_dim { #2 }
+ \@@_cell_begin:w
+ \tl_set_eq:NN \l_@@_hpos_cell_tl \c_@@_c_tl
+ }
+ c
+ < {
+ \@@_cell_end_for_w_s:
+ #1
+ \@@_adjust_size_box:
+ \box_use_drop:N \l_@@_cell_box
+ }
+ }
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Then, the most important version, for the horizontal alignments types of |c|,
+% |l| and |r| (and not |s|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_w_ii:nnnn #1 #2 #3 #4
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > {
+% \end{macrocode}
+% The parameter |\l_@@_col_width_dim|, which is the width of the current column,
+% will be available in each cell of the column. It will be used by the
+% mono-column blocks.
+% \begin{macrocode}
+ \dim_set:Nn \l_@@_col_width_dim { #4 }
+ \hbox_set:Nw \l_@@_cell_box
+ \@@_cell_begin:w
+ \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #3 }
+ }
+ c
+ < {
+ \@@_cell_end:
+ \hbox_set_end:
+ #1
+ \@@_adjust_size_box:
+ \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
+ }
+ }
+% \end{macrocode}
+% We increment the counter of columns and then we test for the presence of a |<|.
+% \begin{macrocode}
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_special_W:
+ {
+ \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } > \l_@@_col_width_dim
+ { \@@_warning:n { W~warning } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |S| (of \pkg{siunitx}).
+% \begin{macrocode}
+\cs_new:Npn \@@_S #1 #2
+ {
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_S:w [ }
+ { \@@_make_preamble_S:w [ ] { #2 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_S:w [ #1 ]
+ { \@@_make_preamble_S_i:n { #1 } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_S_i:n #1
+ {
+ \IfPackageLoadedTF { siunitx }
+ {
+ \tl_gput_right:No \g_@@_array_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > {
+ \@@_cell_begin:w
+ \keys_set:nn { siunitx } { #1 }
+ \siunitx_cell_begin:w
+ }
+ c
+ < { \siunitx_cell_end: \@@_cell_end: }
+ }
+% \end{macrocode}
+% We increment the counter of columns and then we test for the presence of a |<|.
+% \begin{macrocode}
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+ { \@@_fatal:n { siunitx~not~loaded } }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% For |(|, |[| and |\{|.
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N ( } #1 #2
+ {
+ \bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
+% \end{macrocode}
+% If we are before the column 1 and not in |{NiceArray}|, we reserve space for
+% the left delimiter.
+% \begin{macrocode}
+ \int_if_zero:nTF \c@jCol
+ {
+ \tl_if_eq:NNTF \g_@@_left_delim_tl \c_@@_dot_tl
+ {
+% \end{macrocode}
+% In that case, in fact, the first letter of the preamble must be considered as
+% the left delimiter of the array.
+% \begin{macrocode}
+ \tl_gset:Nn \g_@@_left_delim_tl { #1 }
+ \tl_gset_eq:NN \g_@@_right_delim_tl \c_@@_dot_tl
+ \@@_rec_preamble:n #2
+ }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
+ \@@_make_preamble_iv:nn { #1 } { #2 }
+ }
+ }
+ { \@@_make_preamble_iv:nn { #1 } { #2 } }
+ }
+\cs_set_eq:cc { @@ _ \token_to_str:N [ } { @@ _ \token_to_str:N ( }
+\cs_set_eq:cc { @@ _ \token_to_str:N \{ } { @@ _ \token_to_str:N ( }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_iv:nn #1 #2
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_eval:n { \c@jCol + 1 } } \c_true_bool }
+ \tl_if_in:nnTF { ( [ \{ ) ] \} \left \right } { #2 }
+ {
+ \@@_error:nn { delimiter~after~opening } { #2 }
+ \@@_rec_preamble:n
+ }
+ { \@@_rec_preamble:n #2 }
+ }
+% \end{macrocode}
+%
+% In fact, if would be possible to define |\left| and |\right| as no-op.
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N \left } #1 { \use:c { @@ _ \token_to_str:N ( } }
+% \end{macrocode}
+%
+% \bigskip
+% For the closing delimiters. We have two arguments for the following command because
+% we directly read the following letter in the preamble (we have to see whether
+% we have a opening delimiter following and we also have to see whether we are
+% at the end of the preamble because, in that case, our letter must be
+% considered as the right delimiter of the environment if the environment is
+% |{NiceArray}|).
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N ) } #1 #2
+ {
+ \bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
+ \tl_if_in:nnTF { ) ] \} } { #2 }
+ { \@@_make_preamble_v:nnn #1 #2 }
+ {
+ \tl_if_eq:nnTF { \stop } { #2 }
+ {
+ \tl_if_eq:NNTF \g_@@_right_delim_tl \c_@@_dot_tl
+ { \tl_gset:Nn \g_@@_right_delim_tl { #1 } }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
+ \@@_rec_preamble:n #2
+ }
+ }
+ {
+ \tl_if_in:nnT { ( [ \{ \left } { #2 }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } } }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
+ \@@_rec_preamble:n #2
+ }
+ }
+ }
+\cs_set_eq:cc { @@ _ \token_to_str:N ] } { @@ _ \token_to_str:N ) }
+\cs_set_eq:cc { @@ _ \token_to_str:N \} } { @@ _ \token_to_str:N ) }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_v:nnn #1 #2 #3
+ {
+ \tl_if_eq:nnTF { \stop } { #3 }
+ {
+ \tl_if_eq:NNTF \g_@@_right_delim_tl \c_@@_dot_tl
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
+ \tl_gset:Nn \g_@@_right_delim_tl { #2 }
+ }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
+ \@@_error:nn { double~closing~delimiter } { #2 }
+ }
+ }
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ { \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
+ \@@_error:nn { double~closing~delimiter } { #2 }
+ \@@_rec_preamble:n #3
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N \right } #1
+ { \use:c { @@ _ \token_to_str:N ) } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% After a specifier of column, we have to test whether there is one or several
+% |<{..}| because, after those potential |<{...}|, we have to insert
+% |!{\skip_horizontal:N ...}| when the key |vlines| is used. In fact, we have
+% also to test whether there is, after the |<{...}|, a |@{...}|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rec_preamble_after_col:n #1
+ {
+ \str_if_eq:nnTF { #1 } { < }
+ \@@_rec_preamble_after_col_i:n
+ {
+ \str_if_eq:nnTF { #1 } { @ }
+ \@@_rec_preamble_after_col_ii:n
+ {
+ \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { ! { \skip_horizontal:N \arrayrulewidth } }
+ }
+ {
+ \exp_args:NNe
+ \clist_if_in:NnT \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { ! { \skip_horizontal:N \arrayrulewidth } }
+ }
+ }
+ \@@_rec_preamble:n { #1 }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rec_preamble_after_col_i:n #1
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { < { #1 } }
+ \@@_rec_preamble_after_col:n
+ }
+% \end{macrocode}
+%
+% We have to catch a |@{...}| after a specifier of column because, if we have to
+% draw a vertical rule, we have to add in that |@{...}| a |\hskip| corresponding
+% to the width of the vertical rule.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rec_preamble_after_col_ii:n #1
+ {
+ \tl_if_eq:NNTF \l_@@_vlines_clist \c_@@_all_tl
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { @ { #1 \skip_horizontal:N \arrayrulewidth } }
+ }
+ {
+ \exp_args:NNe
+ \clist_if_in:NnTF \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ { @ { #1 \skip_horizontal:N \arrayrulewidth } }
+ }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { #1 } } }
+ }
+ \@@_rec_preamble:n
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new:cpn { @@ _ * } #1 #2 #3
+ {
+ \tl_clear:N \l_tmpa_tl
+ \int_step_inline:nn { #2 } { \tl_put_right:Nn \l_tmpa_tl { #3 } }
+ \exp_last_unbraced:No \@@_rec_preamble:n \l_tmpa_tl
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The token |\NC@find| is at the head of the definition of the columns type done
+% by |\newcolumntype|. We wan't that token to be no-op here.
+% \begin{macrocode}
+\cs_new:cpn { @@ _ \token_to_str:N \NC@find } #1 { \@@_rec_preamble:n }
+% \end{macrocode}
+%
+% \bigskip
+% For the case of a letter |X|. This specifier may take in an optional argument
+% (between square brackets). That's why we test whether there is a |[| after the
+% letter |X|.
+% \begin{macrocode}
+\cs_new:Npn \@@_X #1 #2
+ {
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_X:w [ }
+ { \@@_make_preamble_X:w [ ] #2 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_X:w [ #1 ]
+ { \@@_make_preamble_X_i:n { #1 } }
+% \end{macrocode}
+% |#1| is the optional argument of the |X| specifier (a list of
+% \emph{key}-\emph{value} pairs).
+%
+% \medskip
+% The following set of keys is for the specifier |X| in the preamble of the
+% array. Such specifier may have as keys all the keys of
+% |{ nicematrix / p-column }| but also a key as 1, 2, 3, etc. The following set
+% of keys will be used to retrieve that value (in the counter |\l_@@_weight_int|).
+% \begin{macrocode}
+\keys_define:nn { nicematrix / X-column }
+ { unknown .code:n = \int_set:Nn \l_@@_weight_int { \l_keys_key_str } }
+% \end{macrocode}
+%
+%
+% \medskip
+% In the following command, |#1| is the list of the options of the specifier |X|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_X_i:n #1
+ {
+% \end{macrocode}
+% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
+% the initial value), |l|, |c| and |r| (when the user has used the corresponding
+% key in the optional argument of the specifier |X|).
+% \begin{macrocode}
+ \str_set:Nn \l_@@_hpos_col_str { j }
+% \end{macrocode}
+% The possible values of |\l_@@_vpos_col_str| are |p| (the initial value), |m| and |b|
+% (when the user has used the corresponding key in the optional argument of the
+% specifier |X|).
+% \begin{macrocode}
+ \str_set:Nn \l_@@_vpos_col_str { p }
+% \end{macrocode}
+%
+% The integer |\l_@@_weight_int| will be the weight of the |X| column (the
+% initial value is $1$). The user may specify a different value (such as $2$,
+% $3$, etc.) by putting that value in the optional argument of the specifier.
+% The weights of the |X| columns are used in the computation of the actual width
+% of those columns as in \pkg{tabu} (now obsolete) or \pkg{tabularray}.
+% \begin{macrocode}
+ \int_zero_new:N \l_@@_weight_int
+ \int_set_eq:NN \l_@@_weight_int \c_one_int
+ \@@_keys_p_column:n { #1 }
+% \end{macrocode}
+% The unknown keys are put in |\l_tmpa_tl|
+% \begin{macrocode}
+ \keys_set:no { nicematrix / X-column } \l_tmpa_tl
+ \int_compare:nNnT \l_@@_weight_int < \c_zero_int
+ {
+ \@@_error_or_warning:n { negative~weight }
+ \int_set:Nn \l_@@_weight_int { - \l_@@_weight_int }
+ }
+ \int_gadd:Nn \g_@@_total_X_weight_int \l_@@_weight_int
+% \end{macrocode}
+%
+% We test whether we know the width of the |X|-columns by reading the |aux| file
+% (after the first compilation, the width of the |X|-columns is computed and
+% written in the |aux| file).
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_X_columns_aux_bool
+ {
+ \exp_args:Nne
+ \@@_make_preamble_ii_iv:nnn
+ { \l_@@_weight_int \l_@@_X_columns_dim }
+ { minipage }
+ { \@@_no_update_width: }
+ }
+ {
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
+ {
+ > {
+ \@@_cell_begin:w
+ \bool_set_true:N \l_@@_X_bool
+% \end{macrocode}
+% You encounter a problem on 2023-03-04: for an environment with |X| columns,
+% during the first compilations (which are not the definitive one), sometimes,
+% some cells are declared empty even if they should not. That's a problem
+% because user's instructions may use these nodes. That's why we have added the
+% following |\NotEmpty|.
+% \begin{macrocode}
+ \NotEmpty
+% \end{macrocode}
+% The following code will nullify the box of the cell.
+% \begin{macrocode}
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ { \hbox_set:Nn \l_@@_cell_box { } }
+% \end{macrocode}
+% We put a |{minipage}| to give to the user the ability to put a command such as
+% |\centering| in the |\RowStyle|.
+% \begin{macrocode}
+ \begin { minipage } { 5 cm } \arraybackslash
+ }
+ c
+ < {
+ \end { minipage }
+ \@@_cell_end:
+ }
+ }
+ \int_gincr:N \c@jCol
+ \@@_rec_preamble_after_col:n
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_no_update_width:
+ {
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ { \cs_set_eq:NN \@@_update_max_cell_width: \prg_do_nothing: }
+ }
+% \end{macrocode}
+%
+% \medskip
+% For the letter set by the user with |vlines-in-sub-matrix| (vlism).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_vlism:n #1
+ {
+ \seq_gput_right:Nx \g_@@_cols_vlism_seq
+ { \int_eval:n { \c@jCol + 1 } }
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
+ { \exp_not:N ! { \skip_horizontal:N \arrayrulewidth } }
+ \@@_rec_preamble:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% The token |\stop| is a marker that we have inserted to mark the end of the
+% preamble (as provided by the final user) that we have inserted in the TeX flow.
+% \begin{macrocode}
+\cs_set_eq:cN { @@ _ \token_to_str:N \stop } \use_none:n
+% \end{macrocode}
+%
+% \medskip
+% The following lines try to catch some errors (when the final user has
+% forgotten the preamble of its environment).
+% \begin{macrocode}
+\cs_new_protected:cpn { @@ _ \token_to_str:N \hline }
+ { \@@_fatal:n { Preamble~forgotten } }
+\cs_set_eq:cc { @@ _ \token_to_str:N \Hline } { @@ _ \token_to_str:N \hline }
+\cs_set_eq:cc { @@ _ \token_to_str:N \toprule } { @@ _ \token_to_str:N \hline }
+\cs_set_eq:cc { @@ _ \token_to_str:N \CodeBefore } { @@ _ \token_to_str:N \hline }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The redefinition of \textbackslash multicolumn}
+%
+% \medskip
+% The following command must \emph{not} be protected since it begins with
+% |\multispan| (a TeX primitive).
+% \begin{macrocode}
+\cs_new:Npn \@@_multicolumn:nnn #1 #2 #3
+ {
+% \end{macrocode}
+% The following lines are from the definition of |\multicolumn| in \pkg{array}
+% (and \emph{not} in standard LaTeX). The first line aims to raise an error if
+% the user has put more that one column specifier in the preamble of
+% |\multicolumn|.
+% \begin{macrocode}
+ \multispan { #1 }
+ \cs_set_eq:NN \@@_update_max_cell_width: \prg_do_nothing:
+ \begingroup
+ \cs_set:Npn \@addamp
+ { \legacy_if:nTF { @firstamp } { \@firstampfalse } { \@preamerr 5 } }
+% \end{macrocode}
+%
+% \medskip
+% Now, we patch the (small) preamble as we have done with the main preamble of
+% the array.
+% \begin{macrocode}
+ \tl_gclear:N \g_@@_preamble_tl
+ \@@_make_m_preamble:n #2 \q_stop
+% \end{macrocode}
+%
+% \medskip
+% The following lines are an adaptation of the definition of |\multicolumn| in
+% \pkg{array}.
+% \begin{macrocode}
+ \exp_args:No \@mkpream \g_@@_preamble_tl
+ \@addtopreamble \@empty
+ \endgroup
+% \end{macrocode}
+%
+% \medskip
+% Now, we do a treatment specific to \pkg{nicematrix} which has no equivalent
+% in the original definition of |\multicolumn|.
+% \begin{macrocode}
+ \int_compare:nNnT { #1 } > \c_one_int
+ {
+ \seq_gput_left:Nx \g_@@_multicolumn_cells_seq
+ { \int_use:N \c@iRow - \int_eval:n { \c@jCol + 1 } }
+ \seq_gput_left:Nn \g_@@_multicolumn_sizes_seq { #1 }
+ \seq_gput_right:Nx \g_@@_pos_of_blocks_seq
+ {
+ {
+ \int_if_zero:nTF \c@jCol
+ { \int_eval:n { \c@iRow + 1 } }
+ { \int_use:N \c@iRow }
+ }
+ { \int_eval:n { \c@jCol + 1 } }
+ {
+ \int_if_zero:nTF \c@jCol
+ { \int_eval:n { \c@iRow + 1 } }
+ { \int_use:N \c@iRow }
+ }
+ { \int_eval:n { \c@jCol + #1 } }
+ { } % for the name of the block
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following lines were in the original definition of |\multicolumn|.
+% \begin{macrocode}
+ \cs_set:Npn \@sharp { #3 }
+ \@arstrut
+ \@preamble
+ \null
+% \end{macrocode}
+%
+% \medskip
+% We add some lines.
+% \begin{macrocode}
+ \int_gadd:Nn \c@jCol { #1 - 1 }
+ \int_compare:nNnT \c@jCol > \g_@@_col_total_int
+ { \int_gset_eq:NN \g_@@_col_total_int \c@jCol }
+ \ignorespaces
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following commands will patch the (small) preamble of the |\multicolumn|.
+% All those commands have a |m| in their name to recall that they deal with the
+% redefinition of |\multicolumn|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble:n #1
+ {
+ \str_case:nnF { #1 }
+ {
+ c { \@@_make_m_preamble_i:n #1 }
+ l { \@@_make_m_preamble_i:n #1 }
+ r { \@@_make_m_preamble_i:n #1 }
+ > { \@@_make_m_preamble_ii:nn #1 }
+ ! { \@@_make_m_preamble_ii:nn #1 }
+ @ { \@@_make_m_preamble_ii:nn #1 }
+ | { \@@_make_m_preamble_iii:n #1 }
+ p { \@@_make_m_preamble_iv:nnn t #1 }
+ m { \@@_make_m_preamble_iv:nnn c #1 }
+ b { \@@_make_m_preamble_iv:nnn b #1 }
+ w { \@@_make_m_preamble_v:nnnn { } #1 }
+ W { \@@_make_m_preamble_v:nnnn { \@@_special_W: } #1 }
+ \q_stop { }
+ }
+ {
+ \cs_if_exist:cTF { NC @ find @ #1 }
+ {
+ \tl_set_eq:Nc \l_tmpa_tl { NC @ rewrite @ #1 }
+ \exp_last_unbraced:No \@@_make_m_preamble:n \l_tmpa_tl
+ }
+ {
+ \tl_if_eq:nnT { #1 } { S }
+ { \@@_fatal:n { unknown~column~type~S } }
+ { \@@_fatal:nn { unknown~column~type } { #1 } }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |c|, |l| and |r|
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_i:n #1
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl
+ {
+ > { \@@_cell_begin:w \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #1 } }
+ #1
+ < \@@_cell_end:
+ }
+% \end{macrocode}
+%
+% We test for the presence of a |<|.
+% \begin{macrocode}
+ \@@_make_m_preamble_x:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |>|, |!| and |@|
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_ii:nn #1 #2
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl { #1 { #2 } }
+ \@@_make_m_preamble:n
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% For \verb+|+
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_iii:n #1
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl { #1 }
+ \@@_make_m_preamble:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |p|, |m| and |b|
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_iv:nnn #1 #2 #3
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl
+ {
+ > {
+ \@@_cell_begin:w
+ \begin { minipage } [ #1 ] { \dim_eval:n { #3 } }
+ \mode_leave_vertical:
+ \arraybackslash
+ \vrule height \box_ht:N \@arstrutbox depth 0 pt width 0 pt
+ }
+ c
+ < {
+ \vrule height 0 pt depth \box_dp:N \@arstrutbox width 0 pt
+ \end { minipage }
+ \@@_cell_end:
+ }
+ }
+% \end{macrocode}
+% We test for the presence of a |<|.
+% \begin{macrocode}
+ \@@_make_m_preamble_x:n
+ }
+% \end{macrocode}
+%
+% \medskip
+% For |w| and |W|
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_v:nnnn #1 #2 #3 #4
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl
+ {
+ > {
+ \dim_set:Nn \l_@@_col_width_dim { #4 }
+ \hbox_set:Nw \l_@@_cell_box
+ \@@_cell_begin:w
+ \cs_set_nopar:Npn \l_@@_hpos_cell_tl { #3 }
+ }
+ c
+ < {
+ \@@_cell_end:
+ \hbox_set_end:
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ #1
+ \@@_adjust_size_box:
+ \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
+ }
+ }
+% \end{macrocode}
+% We test for the presence of a |<|.
+% \begin{macrocode}
+ \@@_make_m_preamble_x:n
+ }
+% \end{macrocode}
+%
+%
+% After a specifier of column, we have to test whether there is one or several
+% |<{..}|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_x:n #1
+ {
+ \str_if_eq:nnTF { #1 } { < }
+ \@@_make_m_preamble_ix:n
+ { \@@_make_m_preamble:n { #1 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_m_preamble_ix:n #1
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl { < { #1 } }
+ \@@_make_m_preamble_x:n
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The command |\@@_put_box_in_flow:| puts the box |\l_tmpa_box| (which contains
+% the array) in the flow. It is used for the environments with delimiters.
+% First, we have to modify the height and the depth to take back into account
+% the potential exterior rows (the total height of the first row has been
+% computed in |\l_tmpa_dim| and the total height of the potential last row in
+% |\l_tmpb_dim|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_put_box_in_flow:
+ {
+ \box_set_ht:Nn \l_tmpa_box { \box_ht:N \l_tmpa_box + \l_tmpa_dim }
+ \box_set_dp:Nn \l_tmpa_box { \box_dp:N \l_tmpa_box + \l_tmpb_dim }
+ \tl_if_eq:NNTF \l_@@_baseline_tl \c_@@_c_tl
+ { \box_use_drop:N \l_tmpa_box }
+ \@@_put_box_in_flow_i:
+ }
+% \end{macrocode}
+%
+% \bigskip
+%
+% \medskip
+% The command |\@@_put_box_in_flow_i:| is used when the value of
+% |\l_@@_baseline_tl| is different of |c| (which is the initial value and the
+% most used).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_put_box_in_flow_i:
+ {
+ \pgfpicture
+ \@@_qpoint:n { row - 1 }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { \c@iRow + 1 } }
+ \dim_gadd:Nn \g_tmpa_dim \pgf@y
+ \dim_gset:Nn \g_tmpa_dim { 0.5 \g_tmpa_dim }
+% \end{macrocode}
+% Now, |\g_tmpa_dim| contains the $y$-value of the center of the array (the
+% delimiters are centered in relation with this value).
+% \begin{macrocode}
+ \tl_if_in:NnTF \l_@@_baseline_tl { line- }
+ {
+ \int_set:Nn \l_tmpa_int
+ {
+ \str_range:Nnn
+ \l_@@_baseline_tl
+ 6
+ { \tl_count:o \l_@@_baseline_tl }
+ }
+ \@@_qpoint:n { row - \int_use:N \l_tmpa_int }
+ }
+ {
+ \tl_if_eq:NnTF \l_@@_baseline_tl { t }
+ { \int_set_eq:NN \l_tmpa_int \c_one_int }
+ {
+ \tl_if_eq:NnTF \l_@@_baseline_tl { b }
+ { \int_set_eq:NN \l_tmpa_int \c@iRow }
+ { \int_set:Nn \l_tmpa_int \l_@@_baseline_tl }
+ }
+ \bool_lazy_or:nnT
+ { \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
+ { \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
+ {
+ \@@_error:n { bad~value~for~baseline }
+ \int_set_eq:NN \l_tmpa_int \c_one_int
+ }
+ \@@_qpoint:n { row - \int_use:N \l_tmpa_int - base }
+% \end{macrocode}
+% We take into account the position of the mathematical axis.
+% \begin{macrocode}
+ \dim_gsub:Nn \g_tmpa_dim { \fontdimen22 \textfont2 }
+ }
+ \dim_gsub:Nn \g_tmpa_dim \pgf@y
+% \end{macrocode}
+% Now, |\g_tmpa_dim| contains the value of the $y$ translation we have to to.
+% \begin{macrocode}
+ \endpgfpicture
+ \box_move_up:nn \g_tmpa_dim { \box_use_drop:N \l_tmpa_box }
+ \box_use_drop:N \l_tmpa_box
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command is \emph{always} used by |{NiceArrayWithDelims}| (even
+% if, in fact, there is no tabular notes: in fact, it's not possible to know
+% whether there is tabular notes or not before the composition of the blocks).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_use_arraybox_with_notes_c:
+ {
+% \end{macrocode}
+% With an environment |{Matrix}|, you want to remove the exterior |\arraycolsep|
+% but we don't know the number of columns (since there is no preamble) and
+% that's why we can't put |@{}| at the end of the preamble. That's why we remove
+% a |\arraycolsep| now.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
+ {
+ \int_compare:nNnT \c@jCol > \c_one_int
+ {
+ \box_set_wd:Nn \l_@@_the_array_box
+ { \box_wd:N \l_@@_the_array_box - \arraycolsep }
+ }
+ }
+% \end{macrocode}
+% We need a |{minipage}| because we will insert a LaTeX list for the tabular
+% notes (that means that a |\vtop{\hsize=...}| is not enough).
+% \begin{macrocode}
+ \begin { minipage } [ t ] { \box_wd:N \l_@@_the_array_box }
+ \bool_if:NT \l_@@_caption_above_bool
+ {
+ \tl_if_empty:NF \l_@@_caption_tl
+ {
+% \end{macrocode}
+% \begin{macrocode}
+ \bool_set_false:N \g_@@_caption_finished_bool
+ \int_gzero:N \c@tabularnote
+ \@@_insert_caption:
+% \end{macrocode}
+% If there is one or several commands |\tabularnote| in the caption, we will
+% write in the |aux| file the number of such tabular notes... but only the
+% tabular notes for which the command |\tabularnote| has been used without its
+% optional argument (between square brackets).
+% \begin{macrocode}
+ \int_compare:nNnT \g_@@_notes_caption_int > \c_zero_int
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \tl_set:Nn \exp_not:N \l_@@_note_in_caption_tl
+ { \int_use:N \g_@@_notes_caption_int }
+ }
+ \int_gzero:N \g_@@_notes_caption_int
+ }
+ }
+ }
+% \end{macrocode}
+% The |\hbox| avoids that the |pgfpicture| inside |\@@_draw_blocks| adds a extra
+% vertical space before the notes.
+% \begin{macrocode}
+ \hbox
+ {
+ \box_use_drop:N \l_@@_the_array_box
+% \end{macrocode}
+% We have to draw the blocks right now because there may be tabular notes in
+% some blocks (which are not mono-column: the blocks which are mono-column
+% have been composed in boxes yet)... and we have to create (potentially) the
+% extra nodes before creating the blocks since there are |medium| nodes to create
+% for the blocks.
+% \begin{macrocode}
+ \@@_create_extra_nodes:
+ \seq_if_empty:NF \g_@@_blocks_seq \@@_draw_blocks:
+ }
+% \end{macrocode}
+% We don't do the following test with |\c@tabularnote| because the value of that
+% counter is not reliable when the command |\ttabbox| of \pkg{floatrow} is used
+% (because |\ttabbox| de-activate |\stepcounter| because if compiles several
+% twice its tabular).
+% \begin{macrocode}
+ \bool_lazy_any:nT
+ {
+ { ! \seq_if_empty_p:N \g_@@_notes_seq }
+ { ! \seq_if_empty_p:N \g_@@_notes_in_caption_seq }
+ { ! \tl_if_empty_p:o \g_@@_tabularnote_tl }
+ }
+ \@@_insert_tabularnotes:
+ \cs_set_eq:NN \tabularnote \@@_tabularnote_error:n
+ \bool_if:NF \l_@@_caption_above_bool \@@_insert_caption:
+ \end { minipage }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_insert_caption:
+ {
+ \tl_if_empty:NF \l_@@_caption_tl
+ {
+ \cs_if_exist:NTF \@captype
+ { \@@_insert_caption_i: }
+ { \@@_error:n { caption~outside~float } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_insert_caption_i:
+ {
+ \group_begin:
+% \end{macrocode}
+% The flag |\l_@@_in_caption_bool| affects only the behaviour of the command
+% |\tabularnote| when used in the caption.
+% \begin{macrocode}
+ \bool_set_true:N \l_@@_in_caption_bool
+% \end{macrocode}
+% The package \pkg{floatrow} does a redefinition of |\@makecaption| which will
+% extract the caption from the tabular. However, the old version of
+% |\@makecaption| has been stored by \pkg{floatrow} in |\FR@makecaption|. That's
+% why we restore the old version.
+% \begin{macrocode}
+ \IfPackageLoadedTF { floatrow }
+ { \cs_set_eq:NN \@makecaption \FR@makecaption }
+ { }
+ \tl_if_empty:NTF \l_@@_short_caption_tl
+ { \caption }
+ { \caption [ \l_@@_short_caption_tl ] }
+ { \l_@@_caption_tl }
+% \end{macrocode}
+% In some circonstancies (in particular when the package \pkg{caption} is
+% loaded), the caption is composed several times. That's why, when the same
+% tabular note is encountered (in the caption!), we consider that you are in the
+% second compilation and you can give to |\g_@@_notes_caption_int| its final
+% value, which is the number of tabular notes in the caption. But sometimes, the
+% caption is composed only once. In that case, we fix the value of
+% |\g_@@_caption_finished_bool| now.
+% \begin{macrocode}
+ \bool_if:NF \g_@@_caption_finished_bool
+ {
+ \bool_gset_true:N \g_@@_caption_finished_bool
+ \int_gset_eq:NN \g_@@_notes_caption_int \c@tabularnote
+ \int_gzero:N \c@tabularnote
+ }
+ \tl_if_empty:NF \l_@@_label_tl { \label { \l_@@_label_tl } }
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_tabularnote_error:n #1
+ {
+ \@@_error_or_warning:n { tabularnote~below~the~tabular }
+ \@@_gredirect_none:n { tabularnote~below~the~tabular }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_insert_tabularnotes:
+ {
+ \seq_gconcat:NNN \g_@@_notes_seq \g_@@_notes_in_caption_seq \g_@@_notes_seq
+ \int_set:Nn \c@tabularnote { \seq_count:N \g_@@_notes_seq }
+ \skip_vertical:N 0.65ex
+% \end{macrocode}
+% The TeX group is for potential specifications in the
+% |\l_@@_notes_code_before_tl|.
+% \begin{macrocode}
+ \group_begin:
+ \l_@@_notes_code_before_tl
+ \tl_if_empty:NF \g_@@_tabularnote_tl
+ {
+ \g_@@_tabularnote_tl \par
+ \tl_gclear:N \g_@@_tabularnote_tl
+ }
+% \end{macrocode}
+% We compose the tabular notes with a list of \pkg{enumitem}. The |\strut| and
+% the |\unskip| are designed to give the ability to put a |\bottomrule| at the
+% end of the notes with a good vertical space.
+% \begin{macrocode}
+ \int_compare:nNnT \c@tabularnote > \c_zero_int
+ {
+ \bool_if:NTF \l_@@_notes_para_bool
+ {
+ \begin { tabularnotes* }
+ \seq_map_inline:Nn \g_@@_notes_seq
+ { \@@_one_tabularnote:nn ##1 }
+ \strut
+ \end { tabularnotes* }
+% \end{macrocode}
+% The following |\par| is mandatory for the event that the user has put
+% |\footnotesize| (for example) in the |notes/code-before|.
+% \begin{macrocode}
+ \par
+ }
+ {
+ \tabularnotes
+ \seq_map_inline:Nn \g_@@_notes_seq
+ { \@@_one_tabularnote:nn ##1 }
+ \strut
+ \endtabularnotes
+ }
+ }
+ \unskip
+ \group_end:
+ \bool_if:NT \l_@@_notes_bottomrule_bool
+ {
+ \IfPackageLoadedTF { booktabs }
+ {
+% \end{macrocode}
+% The two dimensions |\aboverulesep| et |\heavyrulewidth| are parameters defined
+% by \pkg{booktabs}.
+% \begin{macrocode}
+ \skip_vertical:N \aboverulesep
+% \end{macrocode}
+% |\CT@arc@| is the specification of color defined by \pkg{colortbl} but you use it
+% even if \pkg{colortbl} is not loaded.
+% \begin{macrocode}
+ { \CT@arc@ \hrule height \heavyrulewidth }
+ }
+ { \@@_error_or_warning:n { bottomrule~without~booktabs } }
+ }
+ \l_@@_notes_code_after_tl
+ \seq_gclear:N \g_@@_notes_seq
+ \seq_gclear:N \g_@@_notes_in_caption_seq
+ \int_gzero:N \c@tabularnote
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following command will format (after the main tabular) one tabularnote
+% (with the command |\item|) . |#1| is the label (when the command
+% |\tabularnote| has been used with an optional argument between square
+% brackets) and |#2| is the text of the note. The second argument is provided by
+% curryfication.
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_one_tabularnote:nn #1
+ {
+ \tl_if_novalue:nTF { #1 }
+ { \item }
+ { \item [ \@@_notes_label_in_list:n { #1 } ] }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The case of |baseline| equal to |b|. Remember that, when the key |b| is used,
+% the |{array}| (of \pkg{array}) is constructed with the option |t| (and not
+% |b|). Now, we do the translation to take into account the option |b|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_use_arraybox_with_notes_b:
+ {
+ \pgfpicture
+ \@@_qpoint:n { row - 1 }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@y
+ \@@_qpoint:n { row - \int_use:N \c@iRow - base }
+ \dim_gsub:Nn \g_tmpa_dim \pgf@y
+ \endpgfpicture
+ \dim_gadd:Nn \g_tmpa_dim \arrayrulewidth
+ \int_if_zero:nT \l_@@_first_row_int
+ {
+ \dim_gadd:Nn \g_tmpa_dim \g_@@_ht_row_zero_dim
+ \dim_gadd:Nn \g_tmpa_dim \g_@@_dp_row_zero_dim
+ }
+ \box_move_up:nn \g_tmpa_dim { \hbox { \@@_use_arraybox_with_notes_c: } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, the general case.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_use_arraybox_with_notes:
+ {
+% \end{macrocode}
+% We convert a value of |t| to a value of |1|.
+% \begin{macrocode}
+ \tl_if_eq:NnT \l_@@_baseline_tl { t }
+ { \cs_set_nopar:Npn \l_@@_baseline_tl { 1 } }
+% \end{macrocode}
+% Now, we convert the value of |\l_@@_baseline_tl| (which should represent an
+% integer) to an integer stored in |\l_tmpa_int|.
+% \begin{macrocode}
+ \pgfpicture
+ \@@_qpoint:n { row - 1 }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@y
+ \str_if_in:NnTF \l_@@_baseline_tl { line- }
+ {
+ \int_set:Nn \l_tmpa_int
+ {
+ \str_range:Nnn
+ \l_@@_baseline_tl
+ 6
+ { \tl_count:o \l_@@_baseline_tl }
+ }
+ \@@_qpoint:n { row - \int_use:N \l_tmpa_int }
+ }
+ {
+ \int_set:Nn \l_tmpa_int \l_@@_baseline_tl
+ \bool_lazy_or:nnT
+ { \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
+ { \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
+ {
+ \@@_error:n { bad~value~for~baseline }
+ \int_set:Nn \l_tmpa_int 1
+ }
+ \@@_qpoint:n { row - \int_use:N \l_tmpa_int - base }
+ }
+ \dim_gsub:Nn \g_tmpa_dim \pgf@y
+ \endpgfpicture
+ \dim_gadd:Nn \g_tmpa_dim \arrayrulewidth
+ \int_if_zero:nT \l_@@_first_row_int
+ {
+ \dim_gadd:Nn \g_tmpa_dim \g_@@_ht_row_zero_dim
+ \dim_gadd:Nn \g_tmpa_dim \g_@@_dp_row_zero_dim
+ }
+ \box_move_up:nn \g_tmpa_dim { \hbox { \@@_use_arraybox_with_notes_c: } }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The command |\@@_put_box_in_flow_bis:| is used when the option
+% |delimiters/max-width| is used because, in this case, we have to adjust the
+% widths of the delimiters. The arguments |#1| and |#2| are the delimiters
+% specified by the user.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_put_box_in_flow_bis:nn #1 #2
+ {
+% \end{macrocode}
+% We will compute the real width of both delimiters used.
+% \begin{macrocode}
+ \dim_zero_new:N \l_@@_real_left_delim_dim
+ \dim_zero_new:N \l_@@_real_right_delim_dim
+ \hbox_set:Nn \l_tmpb_box
+ {
+ \c_math_toggle_token
+ \left #1
+ \vcenter
+ {
+ \vbox_to_ht:nn
+ { \box_ht_plus_dp:N \l_tmpa_box }
+ { }
+ }
+ \right .
+ \c_math_toggle_token
+ }
+ \dim_set:Nn \l_@@_real_left_delim_dim
+ { \box_wd:N \l_tmpb_box - \nulldelimiterspace }
+ \hbox_set:Nn \l_tmpb_box
+ {
+ \c_math_toggle_token
+ \left .
+ \vbox_to_ht:nn
+ { \box_ht_plus_dp:N \l_tmpa_box }
+ { }
+ \right #2
+ \c_math_toggle_token
+ }
+ \dim_set:Nn \l_@@_real_right_delim_dim
+ { \box_wd:N \l_tmpb_box - \nulldelimiterspace }
+% \end{macrocode}
+%
+% Now, we can put the box in the TeX flow with the horizontal adjustments on
+% both sides.
+% \begin{macrocode}
+ \skip_horizontal:N \l_@@_left_delim_dim
+ \skip_horizontal:N -\l_@@_real_left_delim_dim
+ \@@_put_box_in_flow:
+ \skip_horizontal:N \l_@@_right_delim_dim
+ \skip_horizontal:N -\l_@@_real_right_delim_dim
+ }
+% \end{macrocode}
+%
+% \interitem
+% The construction of the array in the environment |{NiceArrayWithDelims}| is,
+% in fact, done by the environment |{@@-light-syntax}| or by the environment
+% |{@@-normal-syntax}| (whether the option |light-syntax| is in force or not).
+% When the key |light-syntax| is not used, the construction is a standard
+% environment (and, thus, it's possible to use verbatim in the array).
+% \begin{macrocode}
+\NewDocumentEnvironment { @@-normal-syntax } { }
+% \end{macrocode}
+% First, we test whether the environment is empty. If it is empty, we raise a
+% fatal error (it's only a security). In order to detect whether it is empty, we
+% test whether the next token is |\end| and, if it's the case, we test if this
+% is the end of the environment (if it is not, an standard error will be raised
+% by LaTeX for incorrect nested environments).
+% \begin{macrocode}
+ {
+ \peek_remove_spaces:n
+ {
+ \peek_meaning:NTF \end
+ \@@_analyze_end:Nn
+ {
+ \@@_transform_preamble:
+% \end{macrocode}
+% Here is the call to |\array| (we have a dedicated macro |\@@_array:| because
+% of compatibility with the classes \cls{revtex4-1} and \cls{revtex4-2}).
+% \begin{macrocode}
+ \exp_args:No \@@_array: \g_@@_array_preamble_tl
+ }
+ }
+ }
+ {
+ \@@_create_col_nodes:
+ \endarray
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% When the key |light-syntax| is in force, we use an environment which takes its
+% whole body as an argument (with the specifier |b|).
+% % \label{code-light-syntax}
+% \begin{macrocode}
+\NewDocumentEnvironment { @@-light-syntax } { b }
+ {
+% \end{macrocode}
+% First, we test whether the environment is empty. It's only a security. Of
+% course, this test is more easy than the similar test for the ``normal syntax''
+% because we have the whole body of the environment in |#1|.
+% \begin{macrocode}
+ \tl_if_empty:nT { #1 } { \@@_fatal:n { empty~environment } }
+ \tl_map_inline:nn { #1 }
+ {
+ \str_if_eq:nnT { ##1 } { & }
+ { \@@_fatal:n { ampersand~in~light-syntax } }
+ \str_if_eq:nnT { ##1 } { \\ }
+ { \@@_fatal:n { double-backslash~in~light-syntax } }
+ }
+% \end{macrocode}
+% Now, you extract the |\CodeAfter| of the body of the environment. Maybe, there
+% is no command |\CodeAfter| in the body. That's why you put a marker
+% |\CodeAfter| after |#1|. If there is yet a |\CodeAfter| in |#1|, this second
+% (or third...) |\CodeAfter| will be catched in the value of
+% |\g_nicematrix_code_after_tl|. That doesn't matter because |\CodeAfter| will
+% be set to \textsl{no-op} before the execution of
+% |\g_nicematrix_code_after_tl|.
+% \begin{macrocode}
+ \@@_light_syntax_i:w #1 \CodeAfter \q_stop
+% \end{macrocode}
+% The command |\array| is hidden somewhere in |\@@_light_syntax_i:w|.
+% \begin{macrocode}
+ }
+% \end{macrocode}
+% Now, the second part of the environment. We must leave these lines in the
+% second part (and not put them in the first part even though we caught the
+% whole body of the environment with an argument of type |b|) in order to have
+% the columns |S| of \pkg{siunitx} working fine.
+% \begin{macrocode}
+ {
+ \@@_create_col_nodes:
+ \endarray
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_light_syntax_i:w #1\CodeAfter #2\q_stop
+ {
+ \tl_gput_right:Nn \g_nicematrix_code_after_tl { #2 }
+% \end{macrocode}
+% The body of the array, which is stored in the argument |#1|, is now
+% splitted into items (and \emph{not} tokens).
+% \begin{macrocode}
+ \seq_clear_new:N \l_@@_rows_seq
+% \end{macrocode}
+% We rescan the character of end of line in order to have the correct catcode.
+% \begin{macrocode}
+ \tl_set_rescan:Nno \l_@@_end_of_row_tl { } \l_@@_end_of_row_tl
+ \bool_if:NTF \l_@@_light_syntax_expanded_bool
+ \seq_set_split:Nee
+ \seq_set_split:NVn
+ \l_@@_rows_seq \l_@@_end_of_row_tl { #1 }
+% \end{macrocode}
+% We delete the last row if it is empty.
+% \begin{macrocode}
+ \seq_pop_right:NN \l_@@_rows_seq \l_tmpa_tl
+ \tl_if_empty:NF \l_tmpa_tl
+ { \seq_put_right:No \l_@@_rows_seq \l_tmpa_tl }
+% \end{macrocode}
+% If the environment uses the option |last-row| without value (i.e. without
+% saying the number of the rows), we have now the opportunity to compute that
+% value. We do it, and so, if the token list |\l_@@_code_for_last_row_tl| is not
+% empty, we will use directly where it should be.
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_last_row_int = { -1 }
+ { \int_set:Nn \l_@@_last_row_int { \seq_count:N \l_@@_rows_seq } }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The new value of the body (that is to say after replacement of the separators
+% of rows and columns by |\\| and |&|) of the environment will be stored in
+% |\l_@@_new_body_tl| in order to allow the use of commands such as
+% |\hline| or |\hdottedline| with the key |light-syntax|).
+% \begin{macrocode}
+ \tl_build_begin:N \l_@@_new_body_tl
+ \int_zero_new:N \l_@@_nb_cols_int
+% \end{macrocode}
+% First, we treat the first row.
+% \begin{macrocode}
+ \seq_pop_left:NN \l_@@_rows_seq \l_tmpa_tl
+ \@@_line_with_light_syntax:o \l_tmpa_tl
+% \end{macrocode}
+% Now, the other rows (with the same treatment, excepted that we have to insert
+% |\\| between the rows).
+% \begin{macrocode}
+ \seq_map_inline:Nn \l_@@_rows_seq
+ {
+ \tl_build_put_right:Nn \l_@@_new_body_tl { \\ }
+ \@@_line_with_light_syntax:n { ##1 }
+ }
+ \tl_build_end:N \l_@@_new_body_tl
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_last_col_int = { -1 }
+ {
+ \int_set:Nn \l_@@_last_col_int
+ { \l_@@_nb_cols_int - 1 + \l_@@_first_col_int }
+ }
+% \end{macrocode}
+%
+% Now, we can construct the preamble: if the user has used the key |last-col|,
+% we have the correct number of columns even though the user has used |last-col|
+% without value.
+% \begin{macrocode}
+ \@@_transform_preamble:
+% \end{macrocode}
+% \bigskip
+%
+% The call to |\array| is in the following command (we have a dedicated macro
+% |\@@_array:| because of compatibility with the classes \cls{revtex4-1} and
+% \cls{revtex4-2}).
+% \begin{macrocode}
+ \exp_args:No \@@_array: \g_@@_array_preamble_tl \l_@@_new_body_tl
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_line_with_light_syntax:n #1
+ {
+ \seq_clear_new:N \l_@@_cells_seq
+ \seq_set_split:Nnn \l_@@_cells_seq { ~ } { #1 }
+ \int_set:Nn \l_@@_nb_cols_int
+ {
+ \int_max:nn
+ \l_@@_nb_cols_int
+ { \seq_count:N \l_@@_cells_seq }
+ }
+ \seq_pop_left:NN \l_@@_cells_seq \l_tmpa_tl
+ \exp_args:NNo \tl_build_put_right:Nn \l_@@_new_body_tl \l_tmpa_tl
+ \seq_map_inline:Nn \l_@@_cells_seq
+ { \tl_build_put_right:Nn \l_@@_new_body_tl { & ##1 } }
+ }
+\cs_generate_variant:Nn \@@_line_with_light_syntax:n { o }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command is used by the code which detects whether the
+% environment is empty (we raise a fatal error in this case: it's only a
+% security). When this command is used, |#1| is, in fact, always |\end|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_analyze_end:Nn #1 #2
+ {
+ \str_if_eq:onT \g_@@_name_env_str { #2 }
+ { \@@_fatal:n { empty~environment } }
+% \end{macrocode}
+% We reput in the stream the |\end{...}| we have extracted and the user will
+% have an error for incorrect nested environments.
+% \begin{macrocode}
+ \end { #2 }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_create_col_nodes:| will construct a special last row.
+% That last row is a false row used to create the |col| nodes and to fix the
+% width of the columns (when the array is constructed with an option which
+% specifies the width of the columns).
+% \begin{macrocode}
+\cs_new:Npn \@@_create_col_nodes:
+ {
+ \crcr
+ \int_if_zero:nT \l_@@_first_col_int
+ {
+ \omit
+ \hbox_overlap_left:n
+ {
+ \bool_if:NT \l_@@_code_before_bool
+ { \pgfsys@markposition { \@@_env: - col - 0 } }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - 0 } \pgfpointorigin
+ \str_if_empty:NF \l_@@_name_str
+ { \pgfnodealias { \l_@@_name_str - col - 0 } { \@@_env: - col - 0 } }
+ \endpgfpicture
+ \skip_horizontal:N 2\col@sep
+ \skip_horizontal:N \g_@@_width_first_col_dim
+ }
+ &
+ }
+ \omit
+% \end{macrocode}
+% The following instruction must be put after the instruction |\omit|.
+% \begin{macrocode}
+ \bool_gset_true:N \g_@@_row_of_col_done_bool
+% \end{macrocode}
+% First, we put a |col| node on the left of the first column (of course, we
+% have to do that \emph{after} the |\omit|).
+% \begin{macrocode}
+ \int_if_zero:nTF \l_@@_first_col_int
+ {
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \hbox
+ {
+ \skip_horizontal:N -0.5\arrayrulewidth
+ \pgfsys@markposition { \@@_env: - col - 1 }
+ \skip_horizontal:N 0.5\arrayrulewidth
+ }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - 1 }
+ { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
+ \str_if_empty:NF \l_@@_name_str
+ { \pgfnodealias { \l_@@_name_str - col - 1 } { \@@_env: - col - 1 } }
+ \endpgfpicture
+ }
+ {
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \hbox
+ {
+ \skip_horizontal:N 0.5\arrayrulewidth
+ \pgfsys@markposition { \@@_env: - col - 1 }
+ \skip_horizontal:N -0.5\arrayrulewidth
+ }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - 1 }
+ { \pgfpoint { 0.5 \arrayrulewidth } \c_zero_dim }
+ \str_if_empty:NF \l_@@_name_str
+ { \pgfnodealias { \l_@@_name_str - col - 1 } { \@@_env: - col - 1 } }
+ \endpgfpicture
+ }
+% \end{macrocode}
+% We compute in |\g_tmpa_skip| the common width of the columns (it's a skip and
+% not a dimension). We use a global variable because we are in a cell of an
+% |\halign| and because we have to use that variable in other cells (of the same
+% row). The affectation of |\g_tmpa_skip|, like all the affectations, must be
+% done after the |\omit| of the cell.
+%
+% \smallskip
+% We give a default value for |\g_tmpa_skip| (|0 pt plus 1 fill|) but we will
+% add some dimensions to it.
+% \begin{macrocode}
+ \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill }
+ \bool_if:NF \l_@@_auto_columns_width_bool
+ { \dim_compare:nNnT \l_@@_columns_width_dim > \c_zero_dim }
+ {
+ \bool_lazy_and:nnTF
+ \l_@@_auto_columns_width_bool
+ { \bool_not_p:n \l_@@_block_auto_columns_width_bool }
+ { \skip_gadd:Nn \g_tmpa_skip \g_@@_max_cell_width_dim }
+ { \skip_gadd:Nn \g_tmpa_skip \l_@@_columns_width_dim }
+ \skip_gadd:Nn \g_tmpa_skip { 2 \col@sep }
+ }
+ \skip_horizontal:N \g_tmpa_skip
+ \hbox
+ {
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \hbox
+ {
+ \skip_horizontal:N -0.5\arrayrulewidth
+ \pgfsys@markposition { \@@_env: - col - 2 }
+ \skip_horizontal:N 0.5\arrayrulewidth
+ }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - 2 }
+ { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
+ \str_if_empty:NF \l_@@_name_str
+ { \pgfnodealias { \l_@@_name_str - col - 2 } { \@@_env: - col - 2 } }
+ \endpgfpicture
+ }
+% \end{macrocode}
+% We begin a loop over the columns. The integer |\g_tmpa_int| will be the
+% number of the current column. This integer is used for the Tikz nodes.
+% \begin{macrocode}
+ \int_gset_eq:NN \g_tmpa_int \c_one_int
+ \bool_if:NTF \g_@@_last_col_found_bool
+ { \prg_replicate:nn { \int_max:nn { \g_@@_col_total_int - 3 } \c_zero_int } }
+ { \prg_replicate:nn { \int_max:nn { \g_@@_col_total_int - 2 } \c_zero_int } }
+ {
+ &
+ \omit
+ \int_gincr:N \g_tmpa_int
+% \end{macrocode}
+% The incrementation of the counter |\g_tmpa_int| must be done after the |\omit|
+% of the cell.
+% \begin{macrocode}
+ \skip_horizontal:N \g_tmpa_skip
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \hbox
+ {
+ \skip_horizontal:N -0.5\arrayrulewidth
+ \pgfsys@markposition
+ { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ \skip_horizontal:N 0.5\arrayrulewidth
+ }
+ }
+% \end{macrocode}
+% We create the |col| node on the right of the current column.
+% \begin{macrocode}
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - col - \int_eval:n { \g_tmpa_int + 1 } }
+ { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ &
+ \omit
+% \end{macrocode}
+% The two following lines have been added on 2021-12-15 to solve a bug
+% mentionned by Joao Luis Soares by mail.
+% \begin{macrocode}
+ \int_if_zero:nT \g_@@_col_total_int
+ { \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill } }
+ \skip_horizontal:N \g_tmpa_skip
+ \int_gincr:N \g_tmpa_int
+ \bool_lazy_any:nF % modified 2023/12/13
+ {
+ \g_@@_delims_bool
+ \l_@@_tabular_bool
+ { ! \clist_if_empty_p:N \l_@@_vlines_clist }
+ \l_@@_exterior_arraycolsep_bool
+ \l_@@_bar_at_end_of_pream_bool
+ }
+ { \skip_horizontal:N -\col@sep }
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \hbox
+ {
+ \skip_horizontal:N -0.5\arrayrulewidth
+% \end{macrocode}
+% With an environment |{Matrix}|, you want to remove the exterior |\arraycolsep|
+% but we don't know the number of columns (since there is no preamble) and
+% that's why we can't put |@{}| at the end of the preamble. That's why we remove
+% a |\arraycolsep| now.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
+ { \skip_horizontal:N -\arraycolsep }
+ \pgfsys@markposition
+ { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ \skip_horizontal:N 0.5\arrayrulewidth
+ \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
+ { \skip_horizontal:N \arraycolsep }
+ }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ {
+ \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
+ {
+ \pgfpoint
+ { - 0.5 \arrayrulewidth - \arraycolsep }
+ \c_zero_dim
+ }
+ { \pgfpoint { - 0.5 \arrayrulewidth } \c_zero_dim }
+ }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - col - \int_eval:n { \g_tmpa_int + 1 } }
+ { \@@_env: - col - \int_eval:n { \g_tmpa_int + 1 } }
+ }
+ \endpgfpicture
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \bool_if:NT \g_@@_last_col_found_bool
+ {
+ \hbox_overlap_right:n
+ {
+ \skip_horizontal:N \g_@@_width_last_col_dim
+ \skip_horizontal:N \col@sep
+ \bool_if:NT \l_@@_code_before_bool
+ {
+ \pgfsys@markposition
+ { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
+ }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate
+ { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
+ \pgfpointorigin
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ {
+ \l_@@_name_str - col
+ - \int_eval:n { \g_@@_col_total_int + 1 }
+ }
+ { \@@_env: - col - \int_eval:n { \g_@@_col_total_int + 1 } }
+ }
+ \endpgfpicture
+ }
+ }
+ \cr
+ }
+% \end{macrocode}
+%
+%
+% \interitem
+% Here is the preamble for the ``first column'' (if the user uses the key
+% |first-col|)
+% \begin{macrocode}
+\tl_const:Nn \c_@@_preamble_first_col_tl
+ {
+ >
+ {
+% \end{macrocode}
+% At the beginning of the cell, we link |\CodeAfter| to a command which do
+% begins with |\\| (whereas the standard version of |\CodeAfter| begins does
+% not).
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
+ \bool_gset_true:N \g_@@_after_col_zero_bool
+ \@@_begin_of_row:
+% \end{macrocode}
+% The contents of the cell is constructed in the box |\l_@@_cell_box| because we
+% have to compute some dimensions of this box.
+% \begin{macrocode}
+ \hbox_set:Nw \l_@@_cell_box
+ \@@_math_toggle:
+ \@@_tuning_key_small:
+% \end{macrocode}
+% We insert |\l_@@_code_for_first_col_tl|... but we don't insert it in the
+% potential ``first row'' and in the potential ``last row''.
+% \begin{macrocode}
+ \int_compare:nNnT \c@iRow > \c_zero_int
+ {
+ \bool_lazy_or:nnT
+ { \int_compare_p:nNn \l_@@_last_row_int < \c_zero_int }
+ { \int_compare_p:nNn \c@iRow < \l_@@_last_row_int }
+ {
+ \l_@@_code_for_first_col_tl
+ \xglobal \colorlet { nicematrix-first-col } { . }
+ }
+ }
+ }
+% \end{macrocode}
+% Be careful: despite this letter |l| the cells of the ``first column'' are
+% composed in a |R| manner since they are composed in a |\hbox_overlap_left:n|.
+% \begin{macrocode}
+ l
+ <
+ {
+ \@@_math_toggle:
+ \hbox_set_end:
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ \@@_adjust_size_box:
+ \@@_update_for_first_and_last_row:
+% \end{macrocode}
+% We actualise the width of the ``first column'' because we will use this width
+% after the construction of the array.
+% \begin{macrocode}
+ \dim_gset:Nn \g_@@_width_first_col_dim
+ { \dim_max:nn \g_@@_width_first_col_dim { \box_wd:N \l_@@_cell_box } }
+% \end{macrocode}
+% The content of the cell is inserted in an overlapping position.
+% \label{overlap-left}
+% \begin{macrocode}
+ \hbox_overlap_left:n
+ {
+ \dim_compare:nNnTF { \box_wd:N \l_@@_cell_box } > \c_zero_dim
+ \@@_node_for_cell:
+ { \box_use_drop:N \l_@@_cell_box }
+ \skip_horizontal:N \l_@@_left_delim_dim
+ \skip_horizontal:N \l_@@_left_margin_dim
+ \skip_horizontal:N \l_@@_extra_left_margin_dim
+ }
+ \bool_gset_false:N \g_@@_empty_cell_bool
+ \skip_horizontal:N -2\col@sep
+ }
+ }
+% \end{macrocode}
+%
+%
+% Here is the preamble for the ``last column'' (if the user uses the key
+% |last-col|).
+% \begin{macrocode}
+\tl_const:Nn \c_@@_preamble_last_col_tl
+ {
+ >
+ {
+ \bool_set_true:N \l_@@_in_last_col_bool
+% \end{macrocode}
+% At the beginning of the cell, we link |\CodeAfter| to a command which
+% begins with |\\| (whereas the standard version of |\CodeAfter| begins does
+% not).
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
+% \end{macrocode}
+% With the flag |\g_@@_last_col_found_bool|, we will know that the ``last
+% column'' is really used.
+% \begin{macrocode}
+ \bool_gset_true:N \g_@@_last_col_found_bool
+ \int_gincr:N \c@jCol
+ \int_gset_eq:NN \g_@@_col_total_int \c@jCol
+% \end{macrocode}
+% The contents of the cell is constructed in the box |\l_tmpa_box| because we
+% have to compute some dimensions of this box.
+% \begin{macrocode}
+ \hbox_set:Nw \l_@@_cell_box
+ \@@_math_toggle:
+ \@@_tuning_key_small:
+% \end{macrocode}
+% We insert |\l_@@_code_for_last_col_tl|... but we don't insert it in the
+% potential ``first row'' and in the potential ``last row''.
+% \begin{macrocode}
+ \int_compare:nNnT \c@iRow > \c_zero_int
+ {
+ \bool_lazy_or:nnT
+ { \int_compare_p:nNn \l_@@_last_row_int < \c_zero_int }
+ { \int_compare_p:nNn \c@iRow < \l_@@_last_row_int }
+ {
+ \l_@@_code_for_last_col_tl
+ \xglobal \colorlet { nicematrix-last-col } { . }
+ }
+ }
+ }
+ l
+ <
+ {
+ \@@_math_toggle:
+ \hbox_set_end:
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ \@@_adjust_size_box:
+ \@@_update_for_first_and_last_row:
+% \end{macrocode}
+% We actualise the width of the ``last column'' because we will use this width
+% after the construction of the array.
+% \begin{macrocode}
+ \dim_gset:Nn \g_@@_width_last_col_dim
+ { \dim_max:nn \g_@@_width_last_col_dim { \box_wd:N \l_@@_cell_box } }
+ \skip_horizontal:N -2\col@sep
+% \end{macrocode}
+% The content of the cell is inserted in an overlapping position.
+% \label{overlap-right}
+% \begin{macrocode}
+ \hbox_overlap_right:n
+ {
+ \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } > \c_zero_dim
+ {
+ \skip_horizontal:N \l_@@_right_delim_dim
+ \skip_horizontal:N \l_@@_right_margin_dim
+ \skip_horizontal:N \l_@@_extra_right_margin_dim
+ \@@_node_for_cell:
+ }
+ }
+ \bool_gset_false:N \g_@@_empty_cell_bool
+ }
+ }
+% \end{macrocode}
+%
+%
+% \interitem
+% The environment |{NiceArray}| is constructed upon the environment
+% |{NiceArrayWithDelims}|.
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceArray } { }
+ {
+ \bool_gset_false:N \g_@@_delims_bool
+ \str_if_empty:NT \g_@@_name_env_str
+ { \str_gset:Nn \g_@@_name_env_str { NiceArray } }
+% \end{macrocode}
+% We put . and . for the delimiters but, in fact, that doesn't matter because
+% these arguments won't be used in |{NiceArrayWithDelims}| (because the flag
+% |\g_@@_delims_bool| is set to false).
+% \begin{macrocode}
+ \NiceArrayWithDelims . .
+ }
+ { \endNiceArrayWithDelims }
+% \end{macrocode}
+%
+%
+% \interitem
+% We create the variants of the environment |{NiceArrayWithDelims}|.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_def_env:nnn #1 #2 #3
+ {
+ \NewDocumentEnvironment { #1 NiceArray } { }
+ {
+ \bool_gset_true:N \g_@@_delims_bool
+ \str_if_empty:NT \g_@@_name_env_str
+ { \str_gset:Nn \g_@@_name_env_str { #1 NiceArray } }
+ \@@_test_if_math_mode:
+ \NiceArrayWithDelims #2 #3
+ }
+ { \endNiceArrayWithDelims }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_def_env:nnn p ( )
+\@@_def_env:nnn b [ ]
+\@@_def_env:nnn B \{ \}
+\@@_def_env:nnn v | |
+\@@_def_env:nnn V \| \|
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The environment \{NiceMatrix\} and its variants}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_begin_of_NiceMatrix:nn #1 #2
+ {
+ \bool_set_false:N \l_@@_preamble_bool
+ \tl_clear:N \l_tmpa_tl
+ \bool_if:NT \l_@@_NiceMatrix_without_vlines_bool
+ { \tl_set:Nn \l_tmpa_tl { @ { } } }
+ \tl_put_right:Nn \l_tmpa_tl
+ {
+ *
+ {
+ \int_case:nnF \l_@@_last_col_int
+ {
+ { -2 } { \c@MaxMatrixCols }
+ { -1 } { \int_eval:n { \c@MaxMatrixCols + 1 } }
+% \end{macrocode}
+% The value $0$ can't occur here since we are in a matrix (which is an
+% environment without preamble).
+% \begin{macrocode}
+ }
+ { \int_eval:n { \l_@@_last_col_int - 1 } }
+ }
+ { #2 }
+ }
+ \tl_set:Nn \l_tmpb_tl { \use:c { #1 NiceArray } }
+ \exp_args:No \l_tmpb_tl \l_tmpa_tl
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_begin_of_NiceMatrix:nn { n V }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\clist_map_inline:nn { p , b , B , v , V }
+ {
+ \NewDocumentEnvironment { #1 NiceMatrix } { ! O { } }
+ {
+ \bool_gset_true:N \g_@@_delims_bool
+ \str_gset:Nn \g_@@_name_env_str { #1 NiceMatrix }
+ \int_if_zero:nT \l_@@_last_col_int
+ {
+ \bool_set_true:N \l_@@_last_col_without_value_bool
+ \int_set:Nn \l_@@_last_col_int { -1 }
+ }
+ \keys_set:nn { NiceMatrix / NiceMatrix } { ##1 }
+ \@@_begin_of_NiceMatrix:nV { #1 } \l_@@_columns_type_tl
+ }
+ { \use:c { end #1 NiceArray } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We define also an environment |{NiceMatrix}|
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceMatrix } { ! O { } }
+ {
+ \str_gset:Nn \g_@@_name_env_str { NiceMatrix }
+ \int_if_zero:nT \l_@@_last_col_int
+ {
+ \bool_set_true:N \l_@@_last_col_without_value_bool
+ \int_set:Nn \l_@@_last_col_int { -1 }
+ }
+ \keys_set:nn { NiceMatrix / NiceMatrix } { #1 }
+ \bool_lazy_or:nnT
+ { \clist_if_empty_p:N \l_@@_vlines_clist }
+ { \l_@@_except_borders_bool }
+ { \bool_set_true:N \l_@@_NiceMatrix_without_vlines_bool }
+ \@@_begin_of_NiceMatrix:nV { } \l_@@_columns_type_tl
+ }
+ { \endNiceArray }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be linked to |\NotEmpty| in the environments of
+% \pkg{nicematrix}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NotEmpty:
+ { \bool_gset_true:N \g_@@_not_empty_cell_bool }
+% \end{macrocode}
+%
+% \bigskip
+% \section{\{NiceTabular\}, \{NiceTabularX\} and \{NiceTabular*\}}
+%
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceTabular } { O { } m ! O { } }
+ {
+% \end{macrocode}
+% If the dimension |\l_@@_width_dim| is equal to $0$~pt, that means that it has
+% not be set by a previous use of |\NiceMatrixOptions|.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_width_dim = \c_zero_dim
+ { \dim_set_eq:NN \l_@@_width_dim \linewidth }
+ \str_gset:Nn \g_@@_name_env_str { NiceTabular }
+ \keys_set:nn { NiceMatrix / NiceTabular } { #1 , #3 }
+ \tl_if_empty:NF \l_@@_short_caption_tl
+ {
+ \tl_if_empty:NT \l_@@_caption_tl
+ {
+ \@@_error_or_warning:n { short-caption~without~caption }
+ \tl_set_eq:NN \l_@@_caption_tl \l_@@_short_caption_tl
+ }
+ }
+ \tl_if_empty:NF \l_@@_label_tl
+ {
+ \tl_if_empty:NT \l_@@_caption_tl
+ { \@@_error_or_warning:n { label~without~caption } }
+ }
+ \NewDocumentEnvironment { TabularNote } { b }
+ {
+ \bool_if:NTF \l_@@_in_code_after_bool
+ { \@@_error_or_warning:n { TabularNote~in~CodeAfter } }
+ {
+ \tl_if_empty:NF \g_@@_tabularnote_tl
+ { \tl_gput_right:Nn \g_@@_tabularnote_tl { \par } }
+ \tl_gput_right:Nn \g_@@_tabularnote_tl { ##1 }
+ }
+ }
+ { }
+ \@@_settings_for_tabular:
+ \NiceArray { #2 }
+ }
+ { \endNiceArray }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_settings_for_tabular:
+ {
+ \bool_set_true:N \l_@@_tabular_bool
+ \cs_set_eq:NN \@@_math_toggle: \prg_do_nothing:
+ \cs_set_eq:NN \@@_tuning_not_tabular_begin: \prg_do_nothing:
+ \cs_set_eq:NN \@@_tuning_not_tabular_end: \prg_do_nothing:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceTabularX } { m O { } m ! O { } }
+ {
+ \str_gset:Nn \g_@@_name_env_str { NiceTabularX }
+ \dim_zero_new:N \l_@@_width_dim
+ \dim_set:Nn \l_@@_width_dim { #1 }
+ \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
+ \@@_settings_for_tabular:
+ \NiceArray { #3 }
+ }
+ {
+ \endNiceArray
+ \int_if_zero:nT \g_@@_total_X_weight_int
+ { \@@_error:n { NiceTabularX~without~X } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceTabular* } { m O { } m ! O { } }
+ {
+ \str_gset:Nn \g_@@_name_env_str { NiceTabular* }
+ \dim_set:Nn \l_@@_tabular_width_dim { #1 }
+ \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
+ \@@_settings_for_tabular:
+ \NiceArray { #3 }
+ }
+ { \endNiceArray }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{After the construction of the array}
+%
+% \bigskip
+% The following command will be used when the key |rounded-corners| is in force
+% (this is the key |rounded-corners| for the whole environment and \emph{not}
+% the key |rounded-corners| of a command |\Block|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_deal_with_rounded_corners:
+ {
+ \bool_lazy_all:nT
+ {
+ { \int_compare_p:nNn \l_@@_tab_rounded_corners_dim > \c_zero_dim }
+ \l_@@_hvlines_bool
+ { ! \g_@@_delims_bool }
+ { ! \l_@@_except_borders_bool }
+ }
+ {
+ \bool_set_true:N \l_@@_except_borders_bool
+ \clist_if_empty:NF \l_@@_corners_clist
+ { \@@_error:n { hvlines,~rounded-corners~and~corners } }
+ \tl_gput_right:Nn \g_@@_pre_code_after_tl
+ {
+ \@@_stroke_block:nnn
+ {
+ rounded-corners = \dim_use:N \l_@@_tab_rounded_corners_dim ,
+ draw = \l_@@_rules_color_tl
+ }
+ { 1-1 }
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_after_array:
+ {
+% \end{macrocode}
+% There was a |\hook_gput_code:nnn { env / tabular / begin } { nicematrix }| in
+% the command |\@@_pre_array_ii:| in order to come back to the standard
+% definition of |\multicolumn| (in the tabulars used by the final user in the
+% cells of our array of \pkg{nicematrix}) and maybe another linked to
+% \pkg{colortbl}.
+% \begin{macrocode}
+ \hook_gremove_code:nn { env / tabular / begin } { nicematrix }
+ \group_begin:
+% \end{macrocode}
+% When the option |last-col| is used in the environments with explicit preambles
+% (like |{NiceArray}|, |{pNiceArray}|, etc.) a special type of column is used at
+% the end of the preamble in order to compose the cells in an overlapping
+% position (with |\hbox_overlap_right:n|) but (if |last-col| has been used), we
+% don't have the number of that last column. However, we have to know that
+% number for the color of the potential |\Vdots| drawn in that last column.
+% That's why we fix the correct value of |\l_@@_last_col_int| in that case.
+% \begin{macrocode}
+ \bool_if:NT \g_@@_last_col_found_bool
+ { \int_set_eq:NN \l_@@_last_col_int \g_@@_col_total_int }
+% \end{macrocode}
+%
+% If we are in an environment without preamble (like |{NiceMatrix}| or
+% |{pNiceMatrix}|) and if the option |last-col| has been used without value
+% we also fix the real value of |\l_@@_last_col_int|.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_last_col_without_value_bool
+ { \int_set_eq:NN \l_@@_last_col_int \g_@@_col_total_int }
+% \end{macrocode}
+%
+% \medskip
+% It's also time to give to |\l_@@_last_row_int| its real value.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_last_row_without_value_bool
+ { \int_set_eq:NN \l_@@_last_row_int \g_@@_row_total_int }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \seq_gset_from_clist:Nn \exp_not:N \g_@@_size_seq
+ {
+ \int_use:N \l_@@_first_row_int ,
+ \int_use:N \c@iRow ,
+ \int_use:N \g_@@_row_total_int ,
+ \int_use:N \l_@@_first_col_int ,
+ \int_use:N \c@jCol ,
+ \int_use:N \g_@@_col_total_int
+ }
+ }
+% \end{macrocode}
+% We write also the potential content of |\g_@@_pos_of_blocks_seq|. It will be
+% used to recreate the blocks with a name in the |\CodeBefore| and also if the
+% command |\rowcolors| is used with the key |respect-blocks|).
+% \begin{macrocode}
+ \seq_if_empty:NF \g_@@_pos_of_blocks_seq
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \seq_gset_from_clist:Nn \exp_not:N \g_@@_pos_of_blocks_seq
+ { \seq_use:Nnnn \g_@@_pos_of_blocks_seq , , , }
+ }
+ }
+ \seq_if_empty:NF \g_@@_multicolumn_cells_seq
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \seq_gset_from_clist:Nn \exp_not:N \g_@@_multicolumn_cells_seq
+ { \seq_use:Nnnn \g_@@_multicolumn_cells_seq , , , }
+ \seq_gset_from_clist:Nn \exp_not:N \g_@@_multicolumn_sizes_seq
+ { \seq_use:Nnnn \g_@@_multicolumn_sizes_seq , , , }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, you create the diagonal nodes by using the |row| nodes and the |col|
+% nodes.
+% \begin{macrocode}
+ \@@_create_diag_nodes:
+% \end{macrocode}
+%
+% \medskip
+% We create the aliases using |last| for the nodes of the cells in the last row
+% and the last column.
+% \begin{macrocode}
+ \pgfpicture
+ \int_step_inline:nn \c@iRow
+ {
+ \pgfnodealias
+ { \@@_env: - ##1 - last }
+ { \@@_env: - ##1 - \int_use:N \c@jCol }
+ }
+ \int_step_inline:nn \c@jCol
+ {
+ \pgfnodealias
+ { \@@_env: - last - ##1 }
+ { \@@_env: - \int_use:N \c@iRow - ##1 }
+ }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \int_step_inline:nn \c@iRow
+ {
+ \pgfnodealias
+ { \l_@@_name_str - ##1 - last }
+ { \@@_env: - ##1 - \int_use:N \c@jCol }
+ }
+ \int_step_inline:nn \c@jCol
+ {
+ \pgfnodealias
+ { \l_@@_name_str - last - ##1 }
+ { \@@_env: - \int_use:N \c@iRow - ##1 }
+ }
+ }
+ \endpgfpicture
+% \end{macrocode}
+%
+% By default, the diagonal lines will be parallelized\footnote{It's possible to
+% use the option |parallelize-diags| to disable this parallelization.}. There
+% are two types of diagonals lines: the $|\Ddots|$ diagonals and the |\Iddots|
+% diagonals. We have to count both types in order to know whether a diagonal is
+% the first of its type in the current |{NiceArray}| environment.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_parallelize_diags_bool
+ {
+ \int_gzero_new:N \g_@@_ddots_int
+ \int_gzero_new:N \g_@@_iddots_int
+% \end{macrocode}
+%
+% The dimensions |\g_@@_delta_x_one_dim| and |\g_@@_delta_y_one_dim| will
+% contain the $\Delta_x$ and $\Delta_y$ of the first |\Ddots| diagonal. We have
+% to store these values in order to draw the others |\Ddots| diagonals parallel
+% to the first one. Similarly |\g_@@_delta_x_two_dim| and
+% |\g_@@_delta_y_two_dim| are the $\Delta_x$ and $\Delta_y$ of the first
+% |\Iddots| diagonal.
+% \begin{macrocode}
+ \dim_gzero_new:N \g_@@_delta_x_one_dim
+ \dim_gzero_new:N \g_@@_delta_y_one_dim
+ \dim_gzero_new:N \g_@@_delta_x_two_dim
+ \dim_gzero_new:N \g_@@_delta_y_two_dim
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \int_zero_new:N \l_@@_initial_i_int
+ \int_zero_new:N \l_@@_initial_j_int
+ \int_zero_new:N \l_@@_final_i_int
+ \int_zero_new:N \l_@@_final_j_int
+ \bool_set_false:N \l_@@_initial_open_bool
+ \bool_set_false:N \l_@@_final_open_bool
+% \end{macrocode}
+%
+% If the option |small| is used, the values |\l_@@_xdots_radius_dim| and
+% |\l_@@_xdots_inter_dim| (used to draw the dotted lines created by
+% |\hdottedline| and |\vdottedline| and also for all the other dotted lines when
+% |line-style| is equal to |standard|, which is the initial value) are changed.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_small_bool
+ {
+ \dim_set:Nn \l_@@_xdots_radius_dim { 0.7 \l_@@_xdots_radius_dim }
+ \dim_set:Nn \l_@@_xdots_inter_dim { 0.55 \l_@@_xdots_inter_dim }
+% \end{macrocode}
+% The dimensions |\l_@@_xdots_shorten_start_dim| and
+% |\l_@@_xdots_shorten_start_dim| correspond to the options
+% |xdots/shorten-start| and |xdots/shorten-end| available to the user.
+% \begin{macrocode}
+ \dim_set:Nn \l_@@_xdots_shorten_start_dim
+ { 0.6 \l_@@_xdots_shorten_start_dim }
+ \dim_set:Nn \l_@@_xdots_shorten_end_dim
+ { 0.6 \l_@@_xdots_shorten_end_dim }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Now, we actually draw the dotted lines (specified by |\Cdots|, |\Vdots|,
+% etc.).
+% \begin{macrocode}
+ \@@_draw_dotted_lines:
+% \end{macrocode}
+%
+% \bigskip
+% The following computes the ``corners'' (made up of empty cells) but if there
+% is no corner to compute, it won't do anything. The corners are computed
+% in |\l_@@_corners_cells_seq| which will contain all the cells which are empty
+% (and not in a block) considered in the corners of the array.
+% \begin{macrocode}
+ \@@_compute_corners:
+% \end{macrocode}
+%
+% \bigskip
+% The sequence |\g_@@_pos_of_blocks_seq| must be ``adjusted'' (for the case
+% where the user have written something like |\Block{1-*}|).
+% \begin{macrocode}
+ \@@_adjust_pos_of_blocks_seq:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@@_deal_with_rounded_corners:
+ \tl_if_empty:NF \l_@@_hlines_clist \@@_draw_hlines:
+ \tl_if_empty:NF \l_@@_vlines_clist \@@_draw_vlines:
+% \end{macrocode}
+%
+% \bigskip
+% Now, the pre-code-after and then, the |\CodeAfter|.
+% \begin{macrocode}
+ \IfPackageLoadedTF { tikz }
+ {
+ \tikzset
+ {
+ every~picture / .style =
+ {
+ overlay ,
+ remember~picture ,
+ name~prefix = \@@_env: -
+ }
+ }
+ }
+ { }
+ \bool_if:NT \c_@@_tagging_array_bool
+ { \cs_set_eq:NN \ar@ialign \@@_old_ar@ialign: }
+ \cs_set_eq:NN \SubMatrix \@@_SubMatrix
+ \cs_set_eq:NN \UnderBrace \@@_UnderBrace
+ \cs_set_eq:NN \OverBrace \@@_OverBrace
+ \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
+ \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
+ \cs_set_eq:NN \line \@@_line
+ \g_@@_pre_code_after_tl
+ \tl_gclear:N \g_@@_pre_code_after_tl
+% \end{macrocode}
+% When |light-syntax| is used, we insert systematically a |\CodeAfter| in the
+% flow. Thus, it's possible to have two instructions |\CodeAfter| and the second
+% may be in |\g_nicematrix_code_after_tl|. That's why we set
+% |\Code-after| to be \textsl{no-op} now.
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \prg_do_nothing:
+% \end{macrocode}
+%
+% We clear the list of the names of the potential |\SubMatrix| that will appear
+% in the |\CodeAfter| (unfortunately, that list has to be global).
+% \begin{macrocode}
+ \seq_gclear:N \g_@@_submatrix_names_seq
+% \end{macrocode}
+%
+% \medskip
+% The following code is a security for the case the user has used \pkg{babel}
+% with the option \pkg{spanish}: in that case, the characters |>| and |<| are
+% activated and Tikz is not able to solve the problem (even with the Tikz
+% library \pkg{babel}).
+% \begin{macrocode}
+ % \int_compare:nNnT { \char_value_catcode:n { 60 } } = { 13 }
+ % { \@@_rescan_for_spanish:N \g_nicematrix_code_after_tl }
+% \end{macrocode}
+% \medskip
+% And here's the |\CodeAfter|. Since the |\CodeAfter| may begin with an
+% ``argument'' between square brackets of the options, we extract and treat that
+% potential ``argument'' with the command |\@@_CodeAfter_keys:|.
+% \begin{macrocode}
+ \bool_set_true:N \l_@@_in_code_after_bool
+ \exp_last_unbraced:No \@@_CodeAfter_keys: \g_nicematrix_code_after_tl
+ \scan_stop:
+ \tl_gclear:N \g_nicematrix_code_after_tl
+ \group_end:
+% \end{macrocode}
+%
+%
+% \medskip
+% |\g_@@_pre_code_before_tl| is for instructions in the cells of the array such as
+% |\rowcolor| and |\cellcolor| (when the key |color-inside| is in
+% force). These instructions will be written on the |aux| file to be added to
+% the |code-before| in the next run.
+% \begin{macrocode}
+ \seq_if_empty:NF \g_@@_rowlistcolors_seq { \@@_clear_rowlistcolors_seq: }
+ \tl_if_empty:NF \g_@@_pre_code_before_tl
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \tl_gset:Nn \exp_not:N \g_@@_pre_code_before_tl
+ { \exp_not:o \g_@@_pre_code_before_tl }
+ }
+ \tl_gclear:N \g_@@_pre_code_before_tl
+ }
+ \tl_if_empty:NF \g_nicematrix_code_before_tl
+ {
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \tl_gset:Nn \exp_not:N \g_@@_code_before_tl
+ { \exp_not:o \g_nicematrix_code_before_tl }
+ }
+ \tl_gclear:N \g_nicematrix_code_before_tl
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \str_gclear:N \g_@@_name_env_str
+ \@@_restore_iRow_jCol:
+% \end{macrocode}
+% The command |\CT@arc@| contains the instruction of color for the rules of the
+% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|}. This command is used by
+% |\CT@arc@| but we use it also for compatibility with \pkg{colortbl}. But we
+% want also to be able to use color for the rules of the array when
+% \pkg{colortbl} is \emph{not} loaded. That's why we do the following
+% instruction which is in the patch of the end of arrays done by \pkg{colortbl}.
+% \begin{macrocode}
+ \cs_gset_eq:NN \CT@arc@ \@@_old_CT@arc@
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will extract the potential options (between square
+% brackets) at the beginning of the |\CodeAfter| (that is to say, when
+% |\CodeAfter| is used, the options of that ``command'' |\CodeAfter|). Idem for
+% the |\CodeBefore.|
+% \begin{macrocode}
+\NewDocumentCommand \@@_CodeAfter_keys: { O { } }
+ { \keys_set:nn { NiceMatrix / CodeAfter } { #1 } }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% We remind that the first mandatory argument of the command |\Block| is the
+% size of the block with the special format $i$|-|$j$. However, the user is
+% allowed to omit $i$ or $j$ (or both). This will be interpreted as: the last
+% row (resp. column) of the block will be the last row (resp. column) of the
+% block (without the potential exterior row---resp. column---of the array). By
+% convention, this is stored in |\g_@@_pos_of_blocks_seq| (and
+% |\g_@@_blocks_seq|) as a number of rows (resp. columns) for the block equal to
+% 100. It's possible, after the construction of the array, to replace these
+% values by the correct ones (since we know the number of rows and columns of
+% the array).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_adjust_pos_of_blocks_seq:
+ {
+ \seq_gset_map_x:NNn \g_@@_pos_of_blocks_seq \g_@@_pos_of_blocks_seq
+ { \@@_adjust_pos_of_blocks_seq_i:nnnnn ##1 }
+ }
+% \end{macrocode}
+%
+% The following command must \emph{not} be protected.
+% \begin{macrocode}
+\cs_new:Npn \@@_adjust_pos_of_blocks_seq_i:nnnnn #1 #2 #3 #4 #5
+ {
+ { #1 }
+ { #2 }
+ {
+ \int_compare:nNnTF { #3 } > { 99 }
+ { \int_use:N \c@iRow }
+ { #3 }
+ }
+ {
+ \int_compare:nNnTF { #4 } > { 99 }
+ { \int_use:N \c@jCol }
+ { #4 }
+ }
+ { #5 }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We recall that, when externalization is used, |\tikzpicture| and
+% |\endtikzpicture| (or |\pgfpicture| and |\endpgfpicture|) must be directly
+% ``visible''. That's why we have to define the adequate version of
+% |\@@_draw_dotted_lines:| whether Tikz is loaded or not (in that case, only
+% \textsc{pgf} is loaded).
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_new_protected:Npx \@@_draw_dotted_lines:
+ {
+ \c_@@_pgfortikzpicture_tl
+ \@@_draw_dotted_lines_i:
+ \c_@@_endpgfortikzpicture_tl
+ }
+ }
+% \end{macrocode}
+%
+% The following command \emph{must} be protected because it will appear in the
+% construction of the command |\@@_draw_dotted_lines:|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_dotted_lines_i:
+ {
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \g_@@_HVdotsfor_lines_tl
+ \g_@@_Vdots_lines_tl
+ \g_@@_Ddots_lines_tl
+ \g_@@_Iddots_lines_tl
+ \g_@@_Cdots_lines_tl
+ \g_@@_Ldots_lines_tl
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_restore_iRow_jCol:
+ {
+ \cs_if_exist:NT \theiRow { \int_gset_eq:NN \c@iRow \l_@@_old_iRow_int }
+ \cs_if_exist:NT \thejCol { \int_gset_eq:NN \c@jCol \l_@@_old_jCol_int }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We define a new \textsc{pgf} shape for the diag nodes because we want to
+% provide a anchor called |.5| for those nodes.
+% \begin{macrocode}
+\pgfdeclareshape { @@_diag_node }
+ {
+ \savedanchor { \five }
+ {
+ \dim_gset_eq:NN \pgf@x \l_tmpa_dim
+ \dim_gset_eq:NN \pgf@y \l_tmpb_dim
+ }
+ \anchor { 5 } { \five }
+ \anchor { center } { \pgfpointorigin }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The following command creates the diagonal nodes (in fact, if the matrix is
+% not a square matrix, not all the nodes are on the diagonal).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_diag_nodes:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \int_step_inline:nn { \int_max:nn \c@iRow \c@jCol }
+ {
+ \@@_qpoint:n { col - \int_min:nn { ##1 } { \c@jCol + 1 } }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { row - \int_min:nn { ##1 } { \c@iRow + 1 } }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@y
+ \@@_qpoint:n { col - \int_min:nn { ##1 + 1 } { \c@jCol + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
+ \@@_qpoint:n { row - \int_min:nn { ##1 + 1 } { \c@iRow + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@y
+ \pgftransformshift { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+% \end{macrocode}
+% Now, |\l_tmpa_dim| and |\l_tmpb_dim| become the width and the height of the
+% node (of shape |@@_diag_node|) that we will construct.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpa_dim { ( \l_@@_tmpc_dim - \l_tmpa_dim ) / 2 }
+ \dim_set:Nn \l_tmpb_dim { ( \l_@@_tmpd_dim - \l_tmpb_dim ) / 2 }
+ \pgfnode { @@_diag_node } { center } { } { \@@_env: - ##1 } { }
+ \str_if_empty:NF \l_@@_name_str
+ { \pgfnodealias { \l_@@_name_str - ##1 } { \@@_env: - ##1 } }
+ }
+% \end{macrocode}
+% Now, the last node. Of course, that is only a |coordinate| because there is
+% not |.5| anchor for that node.
+% \begin{macrocode}
+ \int_set:Nn \l_tmpa_int { \int_max:nn \c@iRow \c@jCol + 1 }
+ \@@_qpoint:n { row - \int_min:nn { \l_tmpa_int } { \c@iRow + 1 } }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - \int_min:nn { \l_tmpa_int } { \c@jCol + 1 } }
+ \pgfcoordinate
+ { \@@_env: - \int_use:N \l_tmpa_int } { \pgfpoint \pgf@x \l_tmpa_dim }
+ \pgfnodealias
+ { \@@_env: - last }
+ { \@@_env: - \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \int_use:N \l_tmpa_int }
+ { \@@_env: - \int_use:N \l_tmpa_int }
+ \pgfnodealias
+ { \l_@@_name_str - last }
+ { \@@_env: - last }
+ }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{We draw the dotted lines}
+%
+% A dotted line will be said \emph{open} in one of its extremities when it stops
+% on the edge of the matrix and \emph{closed} otherwise. In the following
+% matrix, the dotted line is closed on its left extremity and open on its right.
+% \[ \begin{pNiceMatrix}
+% a+b+c & a+b & a\\
+% a & \Cdots \\
+% a & a+b & a+b+c
+% \end{pNiceMatrix}\]
+%
+%
+% \bigskip
+% The command |\@@_find_extremities_of_line:nnnn| takes four arguments:
+%
+% \begin{itemize}
+% \item the first argument is the row of the cell where the command was issued;
+% \item the second argument is the column of the cell where the command was
+% issued;
+% \item the third argument is the $x$-value of the orientation vector of the
+% line;
+% \item the fourth argument is the $y$-value of the orientation vector of the
+% line.
+% \end{itemize}
+%
+% This command computes:
+%
+% \begin{itemize}
+% \item |\l_@@_initial_i_int| and |\l_@@_initial_j_int| which are the
+% coordinates of one extremity of the line;
+% \item |\l_@@_final_i_int| and |\l_@@_final_j_int| which are the coordinates of
+% the other extremity of the line;
+% \item |\l_@@_initial_open_bool| and |\l_@@_final_open_bool| to indicate
+% whether the extremities are open or not.
+% \end{itemize}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_find_extremities_of_line:nnnn #1 #2 #3 #4
+ {
+% \end{macrocode}
+% First, we declare the current cell as ``dotted'' because we forbide
+% intersections of dotted lines.
+% \begin{macrocode}
+ \cs_set:cpn { @@ _ dotted _ #1 - #2 } { }
+% \end{macrocode}
+% Initialization of variables.
+% \begin{macrocode}
+ \int_set:Nn \l_@@_initial_i_int { #1 }
+ \int_set:Nn \l_@@_initial_j_int { #2 }
+ \int_set:Nn \l_@@_final_i_int { #1 }
+ \int_set:Nn \l_@@_final_j_int { #2 }
+% \end{macrocode}
+% We will do two loops: one when determinating the initial cell and the other
+% when determinating the final cell. The boolean |\l_@@_stop_loop_bool| will be
+% used to control these loops. In the first loop, we search the ``final''
+% extremity of the line.
+% \begin{macrocode}
+ \bool_set_false:N \l_@@_stop_loop_bool
+ \bool_do_until:Nn \l_@@_stop_loop_bool
+ {
+ \int_add:Nn \l_@@_final_i_int { #3 }
+ \int_add:Nn \l_@@_final_j_int { #4 }
+% \end{macrocode}
+% We test if we are still in the matrix.
+% \begin{macrocode}
+ \bool_set_false:N \l_@@_final_open_bool
+ \int_compare:nNnTF \l_@@_final_i_int > \l_@@_row_max_int
+ {
+ \int_compare:nNnTF { #3 } = \c_one_int
+ { \bool_set_true:N \l_@@_final_open_bool }
+ {
+ \int_compare:nNnT \l_@@_final_j_int > \l_@@_col_max_int
+ { \bool_set_true:N \l_@@_final_open_bool }
+ }
+ }
+ {
+ \int_compare:nNnTF \l_@@_final_j_int < \l_@@_col_min_int
+ {
+ \int_compare:nNnT { #4 } = { -1 }
+ { \bool_set_true:N \l_@@_final_open_bool }
+ }
+ {
+ \int_compare:nNnT \l_@@_final_j_int > \l_@@_col_max_int
+ {
+ \int_compare:nNnT { #4 } = \c_one_int
+ { \bool_set_true:N \l_@@_final_open_bool }
+ }
+ }
+ }
+ \bool_if:NTF \l_@@_final_open_bool
+% \end{macrocode}
+% If we are outside the matrix, we have found the extremity of the dotted line
+% and it's an \emph{open} extremity.
+% \begin{macrocode}
+ {
+% \end{macrocode}
+% We do a step backwards.
+% \begin{macrocode}
+ \int_sub:Nn \l_@@_final_i_int { #3 }
+ \int_sub:Nn \l_@@_final_j_int { #4 }
+ \bool_set_true:N \l_@@_stop_loop_bool
+ }
+% \end{macrocode}
+% If we are in the matrix, we test whether the cell is empty. If it's not the
+% case, we stop the loop because we have found the correct values for
+% |\l_@@_final_i_int| and |\l_@@_final_j_int|.
+% \begin{macrocode}
+ {
+ \cs_if_exist:cTF
+ {
+ @@ _ dotted _
+ \int_use:N \l_@@_final_i_int -
+ \int_use:N \l_@@_final_j_int
+ }
+ {
+ \int_sub:Nn \l_@@_final_i_int { #3 }
+ \int_sub:Nn \l_@@_final_j_int { #4 }
+ \bool_set_true:N \l_@@_final_open_bool
+ \bool_set_true:N \l_@@_stop_loop_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_use:N \l_@@_final_i_int
+ - \int_use:N \l_@@_final_j_int
+ }
+ { \bool_set_true:N \l_@@_stop_loop_bool }
+% \end{macrocode}
+% If the case is empty, we declare that the cell as non-empty. Indeed, we will
+% draw a dotted line and the cell will be on that dotted line. All the cells of
+% a dotted line have to be marked as ``dotted'' because we don't want
+% intersections between dotted lines. We recall that the research of the
+% extremities of the lines are all done in the same TeX group (the group of the
+% environment), even though, when the extremities are found, each line is
+% drawn in a TeX group that we will open for the options of the line.
+% \begin{macrocode}
+ {
+ \cs_set:cpn
+ {
+ @@ _ dotted _
+ \int_use:N \l_@@_final_i_int -
+ \int_use:N \l_@@_final_j_int
+ }
+ { }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \interitem
+% For |\l_@@_initial_i_int| and |\l_@@_initial_j_int| the programmation is
+% similar to the previous one.
+% \begin{macrocode}
+ \bool_set_false:N \l_@@_stop_loop_bool
+ \bool_do_until:Nn \l_@@_stop_loop_bool
+ {
+ \int_sub:Nn \l_@@_initial_i_int { #3 }
+ \int_sub:Nn \l_@@_initial_j_int { #4 }
+ \bool_set_false:N \l_@@_initial_open_bool
+ \int_compare:nNnTF \l_@@_initial_i_int < \l_@@_row_min_int
+ {
+ \int_compare:nNnTF { #3 } = \c_one_int
+ { \bool_set_true:N \l_@@_initial_open_bool }
+ {
+ \int_compare:nNnT \l_@@_initial_j_int = { \l_@@_col_min_int - 1 }
+ { \bool_set_true:N \l_@@_initial_open_bool }
+ }
+ }
+ {
+ \int_compare:nNnTF \l_@@_initial_j_int < \l_@@_col_min_int
+ {
+ \int_compare:nNnT { #4 } = \c_one_int
+ { \bool_set_true:N \l_@@_initial_open_bool }
+ }
+ {
+ \int_compare:nNnT \l_@@_initial_j_int > \l_@@_col_max_int
+ {
+ \int_compare:nNnT { #4 } = { -1 }
+ { \bool_set_true:N \l_@@_initial_open_bool }
+ }
+ }
+ }
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \int_add:Nn \l_@@_initial_i_int { #3 }
+ \int_add:Nn \l_@@_initial_j_int { #4 }
+ \bool_set_true:N \l_@@_stop_loop_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ @@ _ dotted _
+ \int_use:N \l_@@_initial_i_int -
+ \int_use:N \l_@@_initial_j_int
+ }
+ {
+ \int_add:Nn \l_@@_initial_i_int { #3 }
+ \int_add:Nn \l_@@_initial_j_int { #4 }
+ \bool_set_true:N \l_@@_initial_open_bool
+ \bool_set_true:N \l_@@_stop_loop_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_use:N \l_@@_initial_i_int
+ - \int_use:N \l_@@_initial_j_int
+ }
+ { \bool_set_true:N \l_@@_stop_loop_bool }
+ {
+ \cs_set:cpn
+ {
+ @@ _ dotted _
+ \int_use:N \l_@@_initial_i_int -
+ \int_use:N \l_@@_initial_j_int
+ }
+ { }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% We remind the rectangle described by all the dotted lines in order to respect
+% the corresponding virtual ``block'' when drawing the horizontal and vertical
+% rules.
+% \begin{macrocode}
+ \seq_gput_right:Nx \g_@@_pos_of_xdots_seq
+ {
+ { \int_use:N \l_@@_initial_i_int }
+% \end{macrocode}
+% Be careful: with |\Iddots|, |\l_@@_final_j_int| is inferior to
+% |\l_@@_initial_j_int|. That's why we use |\int_min:nn| and |\int_max:nn|.
+% \begin{macrocode}
+ { \int_min:nn \l_@@_initial_j_int \l_@@_final_j_int }
+ { \int_use:N \l_@@_final_i_int }
+ { \int_max:nn \l_@@_initial_j_int \l_@@_final_j_int }
+ { } % for the name of the block
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% If the final user uses the key |xdots/shorten| in |\NiceMatrixOptions| or at the
+% level of an environment (such as |{pNiceMatrix}|, etc.), only the so called
+% ``closed extremities'' will be shortened by that key. The following command
+% will be used \emph{after} the detection of the extremities of a dotted line
+% (hence at a time when we known wheter the extremities are closed or open) but
+% before the analyse of the keys of the individual command |\Cdots|, |\Vdots|.
+% Hence, the keys |shorten|, |shorten-start| and |shorten-end| of that
+% individual command will be applied.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_shorten:
+ {
+ \bool_if:NT \l_@@_initial_open_bool
+ { \dim_zero:N \l_@@_xdots_shorten_start_dim }
+ \bool_if:NT \l_@@_final_open_bool
+ { \dim_zero:N \l_@@_xdots_shorten_end_dim }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following commmand (\emph{when it will be written}) will set the four
+% counters |\l_@@_row_min_int|, |\l_@@_row_max_int|, |\l_@@_col_min_int| and
+% |\l_@@_col_max_int| to the intersections of the sub-matrices which contains
+% the cell of row |#1| and column |#2|. As of now, it's only the whole array
+% (excepted exterior rows and columns).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_adjust_to_submatrix:nn #1 #2
+ {
+ \int_set:Nn \l_@@_row_min_int 1
+ \int_set:Nn \l_@@_col_min_int 1
+ \int_set_eq:NN \l_@@_row_max_int \c@iRow
+ \int_set_eq:NN \l_@@_col_max_int \c@jCol
+% \end{macrocode}
+% We do a loop over all the submatrices specified in the |code-before|. We have
+% stored the position of all those submatrices in |\g_@@_submatrix_seq|.
+% \begin{macrocode}
+ \seq_map_inline:Nn \g_@@_submatrix_seq
+ { \@@_adjust_to_submatrix:nnnnnn { #1 } { #2 } ##1 }
+ }
+% \end{macrocode}
+%
+% \medskip
+% |#1| and |#2| are the numbers of row and columns of the cell where the command
+% of dotted line (ex.: |\Vdots|) has been issued. |#3|, |#4|, |#5| and |#6| are
+% the specification (in $i$ and $j$) of the submatrix we are analyzing.
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_adjust_to_submatrix:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+ \int_compare:nNnF { #3 } > { #1 }
+ {
+ \int_compare:nNnF { #1 } > { #5 }
+ {
+ \int_compare:nNnF { #4 } > { #2 }
+ {
+ \int_compare:nNnF { #2 } > { #6 }
+ {
+ \int_set:Nn \l_@@_row_min_int
+ { \int_max:nn \l_@@_row_min_int { #3 } }
+ \int_set:Nn \l_@@_col_min_int
+ { \int_max:nn \l_@@_col_min_int { #4 } }
+ \int_set:Nn \l_@@_row_max_int
+ { \int_min:nn \l_@@_row_max_int { #5 } }
+ \int_set:Nn \l_@@_col_max_int
+ { \int_min:nn \l_@@_col_max_int { #6 } }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_initial_coords:
+ {
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
+ }
+\cs_new_protected:Npn \@@_set_final_coords:
+ {
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
+ }
+\cs_new_protected:Npn \@@_set_initial_coords_from_anchor:n #1
+ {
+ \pgfpointanchor
+ {
+ \@@_env:
+ - \int_use:N \l_@@_initial_i_int
+ - \int_use:N \l_@@_initial_j_int
+ }
+ { #1 }
+ \@@_set_initial_coords:
+ }
+\cs_new_protected:Npn \@@_set_final_coords_from_anchor:n #1
+ {
+ \pgfpointanchor
+ {
+ \@@_env:
+ - \int_use:N \l_@@_final_i_int
+ - \int_use:N \l_@@_final_j_int
+ }
+ { #1 }
+ \@@_set_final_coords:
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_x_initial_dim:
+ {
+ \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_initial_j_int }
+ {
+ \pgfpointanchor
+ { \@@_env: - ##1 - \int_use:N \l_@@_initial_j_int }
+ { west }
+ \dim_set:Nn \l_@@_x_initial_dim
+ { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
+ }
+ }
+% \end{macrocode}
+% If, in fact, all the cells of the column are empty (no PGF/Tikz nodes in
+% those cells).
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_x_initial_dim = \c_max_dim
+ {
+ \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_add:Nn \l_@@_x_initial_dim \col@sep
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_x_final_dim:
+ {
+ \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_final_j_int }
+ {
+ \pgfpointanchor
+ { \@@_env: - ##1 - \int_use:N \l_@@_final_j_int }
+ { east }
+ \dim_set:Nn \l_@@_x_final_dim
+ { \dim_max:nn \l_@@_x_final_dim \pgf@x }
+ }
+ }
+% \end{macrocode}
+% If, in fact, all the cells of the columns are empty (no PGF/Tikz nodes in
+% those cells).
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_x_final_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_final_j_int + 1 } }
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ \dim_sub:Nn \l_@@_x_final_dim \col@sep
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \interitem
+% The first and the second arguments are the coordinates of the cell where the
+% command has been issued. The third argument is the list of the options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_Ldots:nnn #1 #2 #3
+ {
+ \@@_adjust_to_submatrix:nn { #1 } { #2 }
+ \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
+ {
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 1
+% \end{macrocode}
+% The previous command may have changed the current environment by marking some
+% cells as ``dotted'', but, fortunately, it is outside the group for the options
+% of the line.
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \int_if_zero:nTF { #1 }
+ { \color { nicematrix-first-row } }
+ {
+% \end{macrocode}
+% We remind that, when there is a ``last row'' |\l_@@_last_row_int| will always
+% be (after the construction of the array) the number of that ``last row'' even
+% if the option |last-row| has been used without value.
+% \begin{macrocode}
+ \int_compare:nNnT { #1 } = \l_@@_last_row_int
+ { \color { nicematrix-last-row } }
+ }
+ \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Ldots:
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The command |\@@_actually_draw_Ldots:| has the following implicit arguments:
+% \begin{itemize}
+% \item |\l_@@_initial_i_int|
+% \item |\l_@@_initial_j_int|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_i_int|
+% \item |\l_@@_final_j_int|
+% \item |\l_@@_final_open_bool|.
+% \end{itemize}
+%
+% The following function is also used by |\Hdotsfor|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_draw_Ldots:
+ {
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \@@_open_x_initial_dim:
+ \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
+ \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
+ }
+ { \@@_set_initial_coords_from_anchor:n { base~east } }
+ \bool_if:NTF \l_@@_final_open_bool
+ {
+ \@@_open_x_final_dim:
+ \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
+ \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
+ }
+ { \@@_set_final_coords_from_anchor:n { base~west } }
+% \end{macrocode}
+% Now the case of a |\Hdotsfor| (or when there is only a |\Ldots|) in the ``last
+% row'' (that case will probably arise when the final user draws an arrow to
+% indicate the number of columns of the matrix). In the ``first row'', we don't
+% need any adjustment.
+% \begin{macrocode}
+ \bool_lazy_all:nTF
+ {
+ \l_@@_initial_open_bool
+ \l_@@_final_open_bool
+ { \int_compare_p:nNn \l_@@_initial_i_int = \l_@@_last_row_int }
+ }
+ {
+ \dim_add:Nn \l_@@_y_initial_dim \c_@@_shift_Ldots_last_row_dim
+ \dim_add:Nn \l_@@_y_final_dim \c_@@_shift_Ldots_last_row_dim
+ }
+% \end{macrocode}
+% We raise the line of a quantity equal to the radius of the dots because we
+% want the dots really ``on'' the line of texte. Of course, maybe we should not
+% do that when the option |line-style| is used (?).
+% \begin{macrocode}
+ {
+ \dim_add:Nn \l_@@_y_initial_dim \l_@@_xdots_radius_dim
+ \dim_add:Nn \l_@@_y_final_dim \l_@@_xdots_radius_dim
+ }
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+% \interitem
+% The first and the second arguments are the coordinates of the cell where the
+% command has been issued. The third argument is the list of the options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_Cdots:nnn #1 #2 #3
+ {
+ \@@_adjust_to_submatrix:nn { #1 } { #2 }
+ \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
+ {
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 1
+% \end{macrocode}
+% The previous command may have changed the current environment by marking some
+% cells as ``dotted'', but, fortunately, it is outside the group for the options
+% of the line.
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \int_if_zero:nTF { #1 }
+ { \color { nicematrix-first-row } }
+ {
+% \end{macrocode}
+% We remind that, when there is a ``last row'' |\l_@@_last_row_int| will always
+% be (after the construction of the array) the number of that ``last row'' even
+% if the option |last-row| has been used without value.
+% \begin{macrocode}
+ \int_compare:nNnT { #1 } = \l_@@_last_row_int
+ { \color { nicematrix-last-row } }
+ }
+ \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Cdots:
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The command |\@@_actually_draw_Cdots:| has the following implicit arguments:
+% \begin{itemize}
+% \item |\l_@@_initial_i_int|
+% \item |\l_@@_initial_j_int|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_i_int|
+% \item |\l_@@_final_j_int|
+% \item |\l_@@_final_open_bool|.
+% \end{itemize}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_draw_Cdots:
+ {
+ \bool_if:NTF \l_@@_initial_open_bool
+ { \@@_open_x_initial_dim: }
+ { \@@_set_initial_coords_from_anchor:n { mid~east } }
+ \bool_if:NTF \l_@@_final_open_bool
+ { \@@_open_x_final_dim: }
+ { \@@_set_final_coords_from_anchor:n { mid~west } }
+ \bool_lazy_and:nnTF
+ \l_@@_initial_open_bool
+ \l_@@_final_open_bool
+ {
+ \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_initial_i_int + 1 } }
+ \dim_set:Nn \l_@@_y_initial_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
+ \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim
+ }
+ {
+ \bool_if:NT \l_@@_initial_open_bool
+ { \dim_set_eq:NN \l_@@_y_initial_dim \l_@@_y_final_dim }
+ \bool_if:NT \l_@@_final_open_bool
+ { \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim }
+ }
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_y_initial_dim:
+ {
+ \dim_set:Nn \l_@@_y_initial_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - \int_use:N \l_@@_initial_i_int - ##1 }
+ {
+ \pgfpointanchor
+ { \@@_env: - \int_use:N \l_@@_initial_i_int - ##1 }
+ { north }
+ \dim_set:Nn \l_@@_y_initial_dim
+ { \dim_max:nn \l_@@_y_initial_dim \pgf@y }
+ }
+ }
+ \dim_compare:nNnT \l_@@_y_initial_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { row - \int_use:N \l_@@_initial_i_int - base }
+ \dim_set:Nn \l_@@_y_initial_dim
+ {
+ \fp_to_dim:n
+ {
+ \pgf@y
+ + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_open_y_final_dim:
+ {
+ \dim_set_eq:NN \l_@@_y_final_dim \c_max_dim
+ \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - \int_use:N \l_@@_final_i_int - ##1 }
+ {
+ \pgfpointanchor
+ { \@@_env: - \int_use:N \l_@@_final_i_int - ##1 }
+ { south }
+ \dim_set:Nn \l_@@_y_final_dim
+ { \dim_min:nn \l_@@_y_final_dim \pgf@y }
+ }
+ }
+ \dim_compare:nNnT \l_@@_y_final_dim = \c_max_dim
+ {
+ \@@_qpoint:n { row - \int_use:N \l_@@_final_i_int - base }
+ \dim_set:Nn \l_@@_y_final_dim
+ { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
+ }
+ }
+% \end{macrocode}
+%
+% The first and the second arguments are the coordinates of the cell where the
+% command has been issued. The third argument is the list of the options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_Vdots:nnn #1 #2 #3
+ {
+ \@@_adjust_to_submatrix:nn { #1 } { #2 }
+ \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
+ {
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 0
+% \end{macrocode}
+% The previous command may have changed the current environment by marking some
+% cells as ``dotted'', but, fortunately, it is outside the group for the options
+% of the line.
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \int_if_zero:nTF { #2 }
+ { \color { nicematrix-first-col } }
+ {
+ \int_compare:nNnT { #2 } = \l_@@_last_col_int
+ { \color { nicematrix-last-col } }
+ }
+ \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl
+ { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Vdots:
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_actually_draw_Vdots:| has the following implicit arguments:
+% \begin{itemize}
+% \item |\l_@@_initial_i_int|
+% \item |\l_@@_initial_j_int|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_i_int|
+% \item |\l_@@_final_j_int|
+% \item |\l_@@_final_open_bool|.
+% \end{itemize}
+%
+% The following function is also used by |\Vdotsfor|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_draw_Vdots:
+ {
+% \end{macrocode}
+%
+% First, the case of a dotted line open on both sides.
+% \begin{macrocode}
+ \bool_lazy_and:nnTF \l_@@_initial_open_bool \l_@@_final_open_bool
+% \end{macrocode}
+%
+% We have to determine the $x$-value of the vertical rule that we will have
+% to draw.
+% \begin{macrocode}
+ {
+ \@@_open_y_initial_dim:
+ \@@_open_y_final_dim:
+ \int_if_zero:nTF \l_@@_initial_j_int
+% \end{macrocode}
+% We have a dotted line open on both sides in the ``first column''.
+% \begin{macrocode}
+ {
+ \@@_qpoint:n { col - 1 }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_sub:Nn \l_@@_x_initial_dim \l_@@_left_margin_dim
+ \dim_sub:Nn \l_@@_x_initial_dim \l_@@_extra_left_margin_dim
+ \dim_sub:Nn \l_@@_x_initial_dim \c_@@_shift_exterior_Vdots_dim
+ }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \l_@@_last_col_int > { -2 } }
+ { \int_compare_p:nNn \l_@@_initial_j_int = \g_@@_col_total_int }
+% \end{macrocode}
+% We have a dotted line open on both sides in the ``last column''.
+% \begin{macrocode}
+ {
+ \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_add:Nn \l_@@_x_initial_dim \l_@@_right_margin_dim
+ \dim_add:Nn \l_@@_x_initial_dim \l_@@_extra_right_margin_dim
+ \dim_add:Nn \l_@@_x_initial_dim \c_@@_shift_exterior_Vdots_dim
+ }
+% \end{macrocode}
+% We have a dotted line open on both sides which is \emph{not} in an exterior column.
+% \begin{macrocode}
+ {
+ \@@_qpoint:n { col - \int_use:N \l_@@_initial_j_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_initial_j_int + 1 } }
+ \dim_set:Nn \l_@@_x_initial_dim { ( \pgf@x + \l_tmpa_dim ) / 2 }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% Now, the dotted line is \emph{not} open on both sides (maybe open on only one side).
+%
+% The boolean |\l_tmpa_bool| will indicate whether the column is of type |l| or
+% may be considered as if.
+% \begin{macrocode}
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \bool_if:NF \l_@@_initial_open_bool
+ {
+ \bool_if:NF \l_@@_final_open_bool
+ {
+ \@@_set_initial_coords_from_anchor:n { south~west }
+ \@@_set_final_coords_from_anchor:n { north~west }
+ \bool_set:Nn \l_tmpa_bool
+ { \dim_compare_p:nNn \l_@@_x_initial_dim = \l_@@_x_final_dim }
+ }
+ }
+% \end{macrocode}
+% Now, we try to determine whether the column is of type |c| or may be
+% considered as if.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \@@_open_y_initial_dim:
+ \@@_set_final_coords_from_anchor:n { north }
+ \dim_set_eq:NN \l_@@_x_initial_dim \l_@@_x_final_dim
+ }
+ {
+ \@@_set_initial_coords_from_anchor:n { south }
+ \bool_if:NTF \l_@@_final_open_bool
+ \@@_open_y_final_dim:
+% \end{macrocode}
+% Now the case where both extremities are closed. The first conditional tests
+% whether the column is of type |c| or may be considered as if.
+% \begin{macrocode}
+ {
+ \@@_set_final_coords_from_anchor:n { north }
+ \dim_compare:nNnF \l_@@_x_initial_dim = \l_@@_x_final_dim
+ {
+ \dim_set:Nn \l_@@_x_initial_dim
+ {
+ \bool_if:NTF \l_tmpa_bool \dim_min:nn \dim_max:nn
+ \l_@@_x_initial_dim \l_@@_x_final_dim
+ }
+ }
+ }
+ }
+ }
+ \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+% \interitem
+% For the diagonal lines, the situation is a bit more complicated because, by
+% default, we parallelize the diagonals lines. The first diagonal line is drawn
+% and then, all the other diagonal lines are drawn parallel to the first one.
+%
+% The first and the second arguments are the coordinates of the cell where the
+% command has been issued. The third argument is the list of the options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_Ddots:nnn #1 #2 #3
+ {
+ \@@_adjust_to_submatrix:nn { #1 } { #2 }
+ \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
+ {
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 1
+% \end{macrocode}
+% The previous command may have changed the current environment by marking some
+% cells as ``dotted'', but, fortunately, it is outside the group for the options
+% of the line.
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Ddots:
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_actually_draw_Ddots:| has the following implicit arguments:
+% \begin{itemize}
+% \item |\l_@@_initial_i_int|
+% \item |\l_@@_initial_j_int|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_i_int|
+% \item |\l_@@_final_j_int|
+% \item |\l_@@_final_open_bool|.
+% \end{itemize}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_draw_Ddots:
+ {
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \@@_open_y_initial_dim:
+ \@@_open_x_initial_dim:
+ }
+ { \@@_set_initial_coords_from_anchor:n { south~east } }
+ \bool_if:NTF \l_@@_final_open_bool
+ {
+ \@@_open_x_final_dim:
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ }
+ { \@@_set_final_coords_from_anchor:n { north~west } }
+% \end{macrocode}
+% We have retrieved the coordinates in the usual way (they are stored in
+% |\l_@@_x_initial_dim|, etc.). If the parallelization of the diagonals is set,
+% we will have (maybe) to adjust the fourth coordinate.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_parallelize_diags_bool
+ {
+ \int_gincr:N \g_@@_ddots_int
+% \end{macrocode}
+% We test if the diagonal line is the first one (the counter |\g_@@_ddots_int|
+% is created for this usage).
+% \begin{macrocode}
+ \int_compare:nNnTF \g_@@_ddots_int = \c_one_int
+% \end{macrocode}
+% If the diagonal line is the first one, we have no adjustment of the line to do
+% but we store the $\Delta_x$ and the $\Delta_y$ of the line because these
+% values will be used to draw the others diagonal lines parallels to the first
+% one.
+% \begin{macrocode}
+ {
+ \dim_gset:Nn \g_@@_delta_x_one_dim
+ { \l_@@_x_final_dim - \l_@@_x_initial_dim }
+ \dim_gset:Nn \g_@@_delta_y_one_dim
+ { \l_@@_y_final_dim - \l_@@_y_initial_dim }
+ }
+% \end{macrocode}
+% If the diagonal line is not the first one, we have to adjust the second
+% extremity of the line by modifying the coordinate |\l_@@_x_initial_dim|.
+% \begin{macrocode}
+ {
+ \dim_set:Nn \l_@@_y_final_dim
+ {
+ \l_@@_y_initial_dim +
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn \g_@@_delta_y_one_dim \g_@@_delta_x_one_dim
+ }
+ }
+ }
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We draw the |\Iddots| diagonals in the same way.
+%
+% The first and the second arguments are the coordinates of the cell where the
+% command has been issued. The third argument is the list of the options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_Iddots:nnn #1 #2 #3
+ {
+ \@@_adjust_to_submatrix:nn { #1 } { #2 }
+ \cs_if_free:cT { @@ _ dotted _ #1 - #2 }
+ {
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 { -1 }
+% \end{macrocode}
+% The previous command may have changed the current environment by marking some
+% cells as ``dotted'', but, fortunately, it is outside the group for the options
+% of the line.
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Iddots:
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_actually_draw_Iddots:| has the following implicit arguments:
+% \begin{itemize}
+% \item |\l_@@_initial_i_int|
+% \item |\l_@@_initial_j_int|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_i_int|
+% \item |\l_@@_final_j_int|
+% \item |\l_@@_final_open_bool|.
+% \end{itemize}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_draw_Iddots:
+ {
+ \bool_if:NTF \l_@@_initial_open_bool
+ {
+ \@@_open_y_initial_dim:
+ \@@_open_x_initial_dim:
+ }
+ { \@@_set_initial_coords_from_anchor:n { south~west } }
+ \bool_if:NTF \l_@@_final_open_bool
+ {
+ \@@_open_y_final_dim:
+ \@@_open_x_final_dim:
+ }
+ { \@@_set_final_coords_from_anchor:n { north~east } }
+ \bool_if:NT \l_@@_parallelize_diags_bool
+ {
+ \int_gincr:N \g_@@_iddots_int
+ \int_compare:nNnTF \g_@@_iddots_int = \c_one_int
+ {
+ \dim_gset:Nn \g_@@_delta_x_two_dim
+ { \l_@@_x_final_dim - \l_@@_x_initial_dim }
+ \dim_gset:Nn \g_@@_delta_y_two_dim
+ { \l_@@_y_final_dim - \l_@@_y_initial_dim }
+ }
+ {
+ \dim_set:Nn \l_@@_y_final_dim
+ {
+ \l_@@_y_initial_dim +
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn \g_@@_delta_y_two_dim \g_@@_delta_x_two_dim
+ }
+ }
+ }
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The actual instructions for drawing the dotted lines with Tikz}
+%
+% The command |\@@_draw_line:| should be used in a |{pgfpicture}|. It has six
+% implicit arguments:
+%
+% \begin{itemize}
+% \item |\l_@@_x_initial_dim|
+% \item |\l_@@_y_initial_dim|
+% \item |\l_@@_x_final_dim|
+% \item |\l_@@_y_final_dim|
+% \item |\l_@@_initial_open_bool|
+% \item |\l_@@_final_open_bool|
+% \end{itemize}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_line:
+ {
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_lazy_or:nnTF
+ { \tl_if_eq_p:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl }
+ \l_@@_dotted_bool
+ \@@_draw_standard_dotted_line:
+ \@@_draw_unstandard_dotted_line:
+ }
+% \end{macrocode}
+%
+% \medskip
+% We have to do a special construction with |\exp_args:No| to be able to put in
+% the list of options in the correct place in the Tikz instruction.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:
+ {
+ \begin { scope }
+ \@@_draw_unstandard_dotted_line:o
+ { \l_@@_xdots_line_style_tl , \l_@@_xdots_color_tl }
+ }
+% \end{macrocode}
+% We have used the fact that, in \textsc{pgf}, un color name can be put directly
+% in a list of options (that's why we have put diredtly |\l_@@_xdots_color_tl|).
+%
+% \smallskip
+% The argument of |\@@_draw_unstandard_dotted_line:n| is, in fact, the list of options.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:n #1
+ {
+ \@@_draw_unstandard_dotted_line:nooo
+ { #1 }
+ \l_@@_xdots_up_tl
+ \l_@@_xdots_down_tl
+ \l_@@_xdots_middle_tl
+ }
+\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:n { o }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following Tikz styles are for the three labels (set by the symbols |_|,
+% |^| and |=|) of a continous line with a non-standard style.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+ \tikzset
+ {
+ @@_node_above / .style = { sloped , above } ,
+ @@_node_below / .style = { sloped , below } ,
+ @@_node_middle / .style =
+ {
+ sloped ,
+ inner~sep = \c_@@_innersep_middle_dim
+ }
+ }
+ }
+ { }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:nnnn #1 #2 #3 #4
+ {
+% \end{macrocode}
+% We take into account the parameters |xdots/shorten-start| and
+% |xdots/shorten-end| ``by hand'' because, when we use the key |shorten >| and
+% |shorten <| of TikZ in the command |\draw|, we don't have the expected output
+% with |{decorate,decoration=brace}| is used.
+%
+% \medskip
+% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
+% the floating point reals of the L3 programming layer to compute this length.
+% \begin{macrocode}
+ \dim_zero_new:N \l_@@_l_dim
+ \dim_set:Nn \l_@@_l_dim
+ {
+ \fp_to_dim:n
+ {
+ sqrt
+ (
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) ^ 2
+ +
+ ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) ^ 2
+ )
+ }
+ }
+% \end{macrocode}
+% It seems that, during the first compilations, the value of |\l_@@_l_dim| may
+% be erroneous (equal to zero or very large). We must detect these cases
+% because they would cause errors during the drawing of the dotted line. Maybe
+% we should also write something in the |aux| file to say that one more
+% compilation should be done.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_l_dim < \c_@@_max_l_dim
+ {
+ \dim_compare:nNnT \l_@@_l_dim > { 1 pt }
+ \@@_draw_unstandard_dotted_line_i:
+ }
+% \end{macrocode}
+%
+% If the key |xdots/horizontal-labels| has been used.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_xdots_h_labels_bool
+ {
+ \tikzset
+ {
+ @@_node_above / .style = { auto = left } ,
+ @@_node_below / .style = { auto = right } ,
+ @@_node_middle / .style = { inner~sep = \c_@@_innersep_middle_dim }
+ }
+ }
+ \tl_if_empty:nF { #4 }
+ { \tikzset { @@_node_middle / .append~style = { fill = white } } }
+ \draw
+ [ #1 ]
+ ( \l_@@_x_initial_dim , \l_@@_y_initial_dim )
+% \end{macrocode}
+% Be careful: We can't put |\c_math_toggle_token| instead of |$| in the
+% following lines because we are in the contents of Tikz nodes (and they will be
+% \emph{rescanned} if the Tikz library \pkg{babel} is loaded).
+% \begin{macrocode}
+ -- node [ @@_node_middle] { $ \scriptstyle #4 $ }
+ node [ @@_node_below ] { $ \scriptstyle #3 $ }
+ node [ @@_node_above ] { $ \scriptstyle #2 $ }
+ ( \l_@@_x_final_dim , \l_@@_y_final_dim ) ;
+ \end { scope }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_unstandard_dotted_line_i:
+ {
+ \dim_set:Nn \l_tmpa_dim
+ {
+ \l_@@_x_initial_dim
+ + ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_tmpb_dim
+ {
+ \l_@@_y_initial_dim
+ + ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_start_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_@@_tmpc_dim
+ {
+ \l_@@_x_final_dim
+ - ( \l_@@_x_final_dim - \l_@@_x_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_@@_tmpd_dim
+ {
+ \l_@@_y_final_dim
+ - ( \l_@@_y_final_dim - \l_@@_y_initial_dim )
+ * \dim_ratio:nn \l_@@_xdots_shorten_end_dim \l_@@_l_dim
+ }
+ \dim_set_eq:NN \l_@@_x_initial_dim \l_tmpa_dim
+ \dim_set_eq:NN \l_@@_y_initial_dim \l_tmpb_dim
+ \dim_set_eq:NN \l_@@_x_final_dim \l_@@_tmpc_dim
+ \dim_set_eq:NN \l_@@_y_final_dim \l_@@_tmpd_dim
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:nnnn { n o o o }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_draw_standard_dotted_line:| draws the line with our system of dots
+% (which gives a dotted line with real rounded dots).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_standard_dotted_line:
+ {
+ \group_begin:
+% \end{macrocode}
+% The dimension |\l_@@_l_dim| is the length $\ell$ of the line to draw. We use
+% the floating point reals of the L3 programming layer to compute this length.
+% \begin{macrocode}
+ \dim_zero_new:N \l_@@_l_dim
+ \dim_set:Nn \l_@@_l_dim
+ {
+ \fp_to_dim:n
+ {
+ sqrt
+ (
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) ^ 2
+ +
+ ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) ^ 2
+ )
+ }
+ }
+% \end{macrocode}
+% It seems that, during the first compilations, the value of |\l_@@_l_dim| may
+% be erroneous (equal to zero or very large). We must detect these cases
+% because they would cause errors during the drawing of the dotted line. Maybe
+% we should also write something in the |aux| file to say that one more
+% compilation should be done.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_@@_l_dim < \c_@@_max_l_dim
+ {
+ \dim_compare:nNnT \l_@@_l_dim > { 1 pt }
+ \@@_draw_standard_dotted_line_i:
+ }
+ \group_end:
+% \end{macrocode}
+% \begin{macrocode}
+ \bool_lazy_all:nF
+ {
+ { \tl_if_empty_p:N \l_@@_xdots_up_tl }
+ { \tl_if_empty_p:N \l_@@_xdots_down_tl }
+ { \tl_if_empty_p:N \l_@@_xdots_middle_tl }
+ }
+ \l_@@_labels_standard_dotted_line:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\dim_const:Nn \c_@@_max_l_dim { 50 cm }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_standard_dotted_line_i:
+ {
+% \end{macrocode}
+% The number of dots will be |\l_tmpa_int + 1|.
+% \begin{macrocode}
+ \int_set:Nn \l_tmpa_int
+ {
+ \dim_ratio:nn
+ {
+ \l_@@_l_dim
+ - \l_@@_xdots_shorten_start_dim
+ - \l_@@_xdots_shorten_end_dim
+ }
+ \l_@@_xdots_inter_dim
+ }
+% \end{macrocode}
+%
+% \medskip
+% The dimensions |\l_tmpa_dim| and |\l_tmpb_dim| are the coordinates of the
+% vector between two dots in the dotted line.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpa_dim
+ {
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim
+ }
+ \dim_set:Nn \l_tmpb_dim
+ {
+ ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) *
+ \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim
+ }
+% \end{macrocode}
+%
+% In the loop over the dots, the dimensions |\l_@@_x_initial_dim| and
+% |\l_@@_y_initial_dim| will be used for the coordinates of the dots. But,
+% before the loop, we must move until the first dot.
+%
+% \begin{macrocode}
+ \dim_gadd:Nn \l_@@_x_initial_dim
+ {
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn
+ {
+ \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int
+ + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
+ }
+ { 2 \l_@@_l_dim }
+ }
+ \dim_gadd:Nn \l_@@_y_initial_dim
+ {
+ ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) *
+ \dim_ratio:nn
+ {
+ \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int
+ + \l_@@_xdots_shorten_start_dim - \l_@@_xdots_shorten_end_dim
+ }
+ { 2 \l_@@_l_dim }
+ }
+ \pgf@relevantforpicturesizefalse
+ \int_step_inline:nnn \c_zero_int \l_tmpa_int
+ {
+ \pgfpathcircle
+ { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
+ { \l_@@_xdots_radius_dim }
+ \dim_add:Nn \l_@@_x_initial_dim \l_tmpa_dim
+ \dim_add:Nn \l_@@_y_initial_dim \l_tmpb_dim
+ }
+ \pgfusepathqfill
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \l_@@_labels_standard_dotted_line:
+ {
+ \pgfscope
+ \pgftransformshift
+ {
+ \pgfpointlineattime { 0.5 }
+ { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
+ { \pgfpoint \l_@@_x_final_dim \l_@@_y_final_dim }
+ }
+ \fp_set:Nn \l_tmpa_fp
+ {
+ atand
+ (
+ \l_@@_y_final_dim - \l_@@_y_initial_dim ,
+ \l_@@_x_final_dim - \l_@@_x_initial_dim
+ )
+ }
+ \pgftransformrotate { \fp_use:N \l_tmpa_fp }
+ \bool_if:NF \l_@@_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
+ \tl_if_empty:NF \l_@@_xdots_middle_tl
+ {
+ \begin { pgfscope }
+ \pgfset { inner~sep = \c_@@_innersep_middle_dim }
+ \pgfnode
+ { rectangle }
+ { center }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_middle_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ {
+ \pgfsetfillcolor { white }
+ \pgfusepath { fill }
+ }
+ \end { pgfscope }
+ }
+ \tl_if_empty:NF \l_@@_xdots_up_tl
+ {
+ \pgfnode
+ { rectangle }
+ { south }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_up_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ { \pgfusepath { } }
+ }
+ \tl_if_empty:NF \l_@@_xdots_down_tl
+ {
+ \pgfnode
+ { rectangle }
+ { north }
+ {
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_down_tl
+ \c_math_toggle_token
+ }
+ }
+ { }
+ { \pgfusepath { } }
+ }
+ \endpgfscope
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{User commands available in the new environments}
+%
+%
+% The commands |\@@_Ldots|, |\@@_Cdots|, |\@@_Vdots|, |\@@_Ddots| and
+% |\@@_Iddots| will be linked to |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots| and
+% |\Iddots| in the environments |{NiceArray}| (the other environments of
+% \pkg{nicematrix} rely upon |{NiceArray}|).
+%
+%
+% \medskip
+% The syntax of these commands uses the character |_| as embellishment and
+% thats' why we have to insert a character |_| in the \emph{arg spec} of these
+% commands. However, we don't know the future catcode of |_| in the main
+% document (maybe the user will use \pkg{underscore}, and, in that case, the
+% catcode is $13$ because \pkg{underscore} activates |_|). That's why these
+% commands will be defined in a |\hook_gput_code:nnn { begindocument } { . }|
+% and the \emph{arg spec} will be rescanned.
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_set_nopar:Npn \l_@@_argspec_tl { m E { _ ^ : } { { } { } { } } }
+ \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Ldots
+ { \@@_collect_options:n { \@@_Ldots_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Ldots_i \l_@@_argspec_tl
+ {
+ \int_if_zero:nTF \c@jCol
+ { \@@_error:nn { in~first~col } \Ldots }
+ {
+ \int_compare:nNnTF \c@jCol = \l_@@_last_col_int
+ { \@@_error:nn { in~last~col } \Ldots }
+ {
+ \@@_instruction_of_type:nnn \c_false_bool { Ldots }
+ { #1 , down = #2 , up = #3 , middle = #4 }
+ }
+ }
+ \bool_if:NF \l_@@_nullify_dots_bool
+ { \phantom { \ensuremath { \@@_old_ldots } } }
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_Cdots
+ { \@@_collect_options:n { \@@_Cdots_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Cdots_i \l_@@_argspec_tl
+ {
+ \int_if_zero:nTF \c@jCol
+ { \@@_error:nn { in~first~col } \Cdots }
+ {
+ \int_compare:nNnTF \c@jCol = \l_@@_last_col_int
+ { \@@_error:nn { in~last~col } \Cdots }
+ {
+ \@@_instruction_of_type:nnn \c_false_bool { Cdots }
+ { #1 , down = #2 , up = #3 , middle = #4 }
+ }
+ }
+ \bool_if:NF \l_@@_nullify_dots_bool
+ { \phantom { \ensuremath { \@@_old_cdots } } }
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_Vdots
+ { \@@_collect_options:n { \@@_Vdots_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Vdots_i \l_@@_argspec_tl
+ {
+ \int_if_zero:nTF \c@iRow
+ { \@@_error:nn { in~first~row } \Vdots }
+ {
+ \int_compare:nNnTF \c@iRow = \l_@@_last_row_int
+ { \@@_error:nn { in~last~row } \Vdots }
+ {
+ \@@_instruction_of_type:nnn \c_false_bool { Vdots }
+ { #1 , down = #2 , up = #3 , middle = #4 }
+ }
+ }
+ \bool_if:NF \l_@@_nullify_dots_bool
+ { \phantom { \ensuremath { \@@_old_vdots } } }
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_Ddots
+ { \@@_collect_options:n { \@@_Ddots_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Ddots_i \l_@@_argspec_tl
+ {
+ \int_case:nnF \c@iRow
+ {
+ 0 { \@@_error:nn { in~first~row } \Ddots }
+ \l_@@_last_row_int { \@@_error:nn { in~last~row } \Ddots }
+ }
+ {
+ \int_case:nnF \c@jCol
+ {
+ 0 { \@@_error:nn { in~first~col } \Ddots }
+ \l_@@_last_col_int { \@@_error:nn { in~last~col } \Ddots }
+ }
+ {
+ \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
+ \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Ddots }
+ { #1 , down = #2 , up = #3 , middle = #4 }
+ }
+
+ }
+ \bool_if:NF \l_@@_nullify_dots_bool
+ { \phantom { \ensuremath { \@@_old_ddots } } }
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_Iddots
+ { \@@_collect_options:n { \@@_Iddots_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Iddots_i \l_@@_argspec_tl
+ {
+ \int_case:nnF \c@iRow
+ {
+ 0 { \@@_error:nn { in~first~row } \Iddots }
+ \l_@@_last_row_int { \@@_error:nn { in~last~row } \Iddots }
+ }
+ {
+ \int_case:nnF \c@jCol
+ {
+ 0 { \@@_error:nn { in~first~col } \Iddots }
+ \l_@@_last_col_int { \@@_error:nn { in~last~col } \Iddots }
+ }
+ {
+ \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
+ \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Iddots }
+ { #1 , down = #2 , up = #3 , middle = #4 }
+ }
+ }
+ \bool_if:NF \l_@@_nullify_dots_bool
+ { \phantom { \ensuremath { \@@_old_iddots } } }
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ }
+ }
+% \end{macrocode}
+% End of the |\AddToHook|.
+%
+%
+% \bigskip
+% Despite its name, the following set of keys will be used for |\Ddots| but also
+% for |\Iddots|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Ddots }
+ {
+ draw-first .bool_set:N = \l_@@_draw_first_bool ,
+ draw-first .default:n = true ,
+ draw-first .value_forbidden:n = true
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_Hspace:| will be linked to |\hspace| in |{NiceArray}|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Hspace:
+ {
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ \hspace
+ }
+% \end{macrocode}
+%
+% \bigskip
+% In the environments of |nicematrix|, the command |\multicolumn| is redefined.
+% We will patch the environment |{tabular}| to go back to the previous value of
+% |\multicolumn|.
+% \begin{macrocode}
+\cs_set_eq:NN \@@_old_multicolumn \multicolumn
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The command |\@@_Hdotsfor| will be linked to |\Hdotsfor| in
+% |{NiceArrayWithDelims}|. Tikz nodes are created also in the implicit cells of
+% the |\Hdotsfor| (maybe we should modify that point).
+%
+% \medskip
+% This command must \emph{not} be protected since it begins with |\multicolumn|.
+% \begin{macrocode}
+\cs_new:Npn \@@_Hdotsfor:
+ {
+ \bool_lazy_and:nnTF
+ { \int_if_zero_p:n \c@jCol }
+ { \int_if_zero_p:n \l_@@_first_col_int }
+ {
+ \bool_if:NTF \g_@@_after_col_zero_bool
+ {
+ \multicolumn { 1 } { c } { }
+ \@@_Hdotsfor_i
+ }
+ { \@@_fatal:n { Hdotsfor~in~col~0 } }
+ }
+ {
+ \multicolumn { 1 } { c } { }
+ \@@_Hdotsfor_i
+ }
+ }
+% \end{macrocode}
+%
+%
+% The command |\@@_Hdotsfor_i| is defined with |\NewDocumentCommand| because it
+% has an optional argument. Note that such a command defined by
+% |\NewDocumentCommand| is protected and that's why we have put the
+% |\multicolumn| before (in the definition of |\@@_Hdotsfor:|).
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_set_nopar:Npn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
+ \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
+% \end{macrocode}
+% We don't put |!| before the last optionnal argument for homogeneity with
+% |\Cdots|, etc. which have only one optional argument.
+% \begin{macrocode}
+ \cs_new_protected:Npn \@@_Hdotsfor_i
+ { \@@_collect_options:n { \@@_Hdotsfor_ii } }
+ \exp_args:NNo \NewDocumentCommand \@@_Hdotsfor_ii \l_@@_argspec_tl
+ {
+ \tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
+ {
+ \@@_Hdotsfor:nnnn
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { #2 }
+ {
+ #1 , #3 ,
+ down = \exp_not:n { #4 } ,
+ up = \exp_not:n { #5 } ,
+ middle = \exp_not:n { #6 }
+ }
+ }
+ \prg_replicate:nn { #2 - 1 }
+ {
+ &
+ \multicolumn { 1 } { c } { }
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Hdotsfor:nnnn #1 #2 #3 #4
+ {
+ \bool_set_false:N \l_@@_initial_open_bool
+ \bool_set_false:N \l_@@_final_open_bool
+% \end{macrocode}
+% For the row, it's easy.
+% \begin{macrocode}
+ \int_set:Nn \l_@@_initial_i_int { #1 }
+ \int_set_eq:NN \l_@@_final_i_int \l_@@_initial_i_int
+% \end{macrocode}
+% For the column, it's a bit more complicated.
+% \begin{macrocode}
+ \int_compare:nNnTF { #2 } = \c_one_int
+ {
+ \int_set_eq:NN \l_@@_initial_j_int \c_one_int
+ \bool_set_true:N \l_@@_initial_open_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_use:N \l_@@_initial_i_int
+ - \int_eval:n { #2 - 1 }
+ }
+ { \int_set:Nn \l_@@_initial_j_int { #2 - 1 } }
+ {
+ \int_set:Nn \l_@@_initial_j_int { #2 }
+ \bool_set_true:N \l_@@_initial_open_bool
+ }
+ }
+ \int_compare:nNnTF { #2 + #3 -1 } = \c@jCol
+ {
+ \int_set:Nn \l_@@_final_j_int { #2 + #3 - 1 }
+ \bool_set_true:N \l_@@_final_open_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_use:N \l_@@_final_i_int
+ - \int_eval:n { #2 + #3 }
+ }
+ { \int_set:Nn \l_@@_final_j_int { #2 + #3 } }
+ {
+ \int_set:Nn \l_@@_final_j_int { #2 + #3 - 1 }
+ \bool_set_true:N \l_@@_final_open_bool
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \int_if_zero:nTF { #1 }
+ { \color { nicematrix-first-row } }
+ {
+ \int_compare:nNnT { #1 } = \g_@@_row_total_int
+ { \color { nicematrix-last-row } }
+ }
+
+ \keys_set:nn { NiceMatrix / xdots } { #4 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Ldots:
+ \group_end:
+% \end{macrocode}
+%
+% \medskip
+% We declare all the cells concerned by the |\Hdotsfor| as ``dotted'' (for the
+% dotted lines created by |\Cdots|, |\Ldots|, etc., this job is done by
+% |\@@_find_extremities_of_line:nnnn|). This declaration is done by defining a
+% special control sequence (to nil).
+% \begin{macrocode}
+ \int_step_inline:nnn { #2 } { #2 + #3 - 1 }
+ { \cs_set:cpn { @@ _ dotted _ #1 - ##1 } { } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_set_nopar:Npn \l_@@_argspec_tl { m m O { } E { _ ^ : } { { } { } { } } }
+ \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
+ \cs_new_protected:Npn \@@_Vdotsfor:
+ { \@@_collect_options:n { \@@_Vdotsfor_i } }
+ \exp_args:NNo \NewDocumentCommand \@@_Vdotsfor_i \l_@@_argspec_tl
+ {
+ \bool_gset_true:N \g_@@_empty_cell_bool
+ \tl_gput_right:Nx \g_@@_HVdotsfor_lines_tl
+ {
+ \@@_Vdotsfor:nnnn
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { #2 }
+ {
+ #1 , #3 ,
+ down = \exp_not:n { #4 } ,
+ up = \exp_not:n { #5 } ,
+ middle = \exp_not:n { #6 }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Vdotsfor:nnnn #1 #2 #3 #4
+ {
+ \bool_set_false:N \l_@@_initial_open_bool
+ \bool_set_false:N \l_@@_final_open_bool
+% \end{macrocode}
+% For the column, it's easy.
+% \begin{macrocode}
+ \int_set:Nn \l_@@_initial_j_int { #2 }
+ \int_set_eq:NN \l_@@_final_j_int \l_@@_initial_j_int
+% \end{macrocode}
+% For the row, it's a bit more complicated.
+% \begin{macrocode}
+ \int_compare:nNnTF { #1 } = \c_one_int
+ {
+ \int_set_eq:NN \l_@@_initial_i_int \c_one_int
+ \bool_set_true:N \l_@@_initial_open_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_eval:n { #1 - 1 }
+ - \int_use:N \l_@@_initial_j_int
+ }
+ { \int_set:Nn \l_@@_initial_i_int { #1 - 1 } }
+ {
+ \int_set:Nn \l_@@_initial_i_int { #1 }
+ \bool_set_true:N \l_@@_initial_open_bool
+ }
+ }
+ \int_compare:nNnTF { #1 + #3 -1 } = \c@iRow
+ {
+ \int_set:Nn \l_@@_final_i_int { #1 + #3 - 1 }
+ \bool_set_true:N \l_@@_final_open_bool
+ }
+ {
+ \cs_if_exist:cTF
+ {
+ pgf @ sh @ ns @ \@@_env:
+ - \int_eval:n { #1 + #3 }
+ - \int_use:N \l_@@_final_j_int
+ }
+ { \int_set:Nn \l_@@_final_i_int { #1 + #3 } }
+ {
+ \int_set:Nn \l_@@_final_i_int { #1 + #3 - 1 }
+ \bool_set_true:N \l_@@_final_open_bool
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \group_begin:
+ \@@_open_shorten:
+ \int_if_zero:nTF { #2 }
+ { \color { nicematrix-first-col } }
+ {
+ \int_compare:nNnT { #2 } = \g_@@_col_total_int
+ { \color { nicematrix-last-col } }
+ }
+ \keys_set:nn { NiceMatrix / xdots } { #4 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \@@_actually_draw_Vdots:
+ \group_end:
+% \end{macrocode}
+%
+% \medskip
+% We declare all the cells concerned by the |\Vdotsfor| as ``dotted'' (for the
+% dotted lines created by |\Cdots|, |\Ldots|, etc., this job is done by
+% |\@@_find_extremities_of_line:nnnn|). This declaration is done by defining a
+% special control sequence (to nil).
+% \begin{macrocode}
+ \int_step_inline:nnn { #1 } { #1 + #3 - 1 }
+ { \cs_set:cpn { @@ _ dotted _ ##1 - #2 } { } }
+ }
+% \end{macrocode}
+%
+%
+% \vspace{1cm}
+% The command |\@@_rotate:| will be linked to |\rotate| in
+% |{NiceArrayWithDelims}|.
+% \begin{macrocode}
+\NewDocumentCommand \@@_rotate: { O { } }
+ {
+ \peek_remove_spaces:n
+ {
+ \bool_gset_true:N \g_@@_rotate_bool
+ \keys_set:nn { NiceMatrix / rotate } { #1 }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / rotate }
+ {
+ c .code:n = \bool_gset_true:N \g_@@_rotate_c_bool ,
+ c .value_forbidden:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~rotate }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The command \textbackslash line accessible in code-after}
+%
+% In the |\CodeAfter|, the command |\@@_line:nn| will be linked to |\line|. This
+% command takes two arguments which are the specifications of two cells in the
+% array (in the format $i$-$j$) and draws a dotted line between these cells. In
+% fact, if also works with names of blocks.
+%
+% \medskip
+% First, we write a command with the following behaviour:
+% \begin{itemize}
+% \item If the argument is of the format $i$-$j$, our command applies
+% the command |\int_eval:n| to $i$ and~$j$ ;
+% \item If not (that is to say, when it's a name of a |\Block|), the argument is
+% left unchanged.
+% \end{itemize}
+% This must \emph{not} be protected (and is, of course fully
+% expandable).\footnote{Indeed, we want that the user may use the command
+% |\line| in |\CodeAfter| with LaTeX counters in the arguments --- with the
+% command |\value|.}
+% \begin{macrocode}
+\cs_new:Npn \@@_double_int_eval:n #1-#2 \q_stop
+ {
+ \tl_if_empty:nTF { #2 }
+ { #1 }
+ { \@@_double_int_eval_i:n #1-#2 \q_stop }
+ }
+\cs_new:Npn \@@_double_int_eval_i:n #1-#2- \q_stop
+ { \int_eval:n { #1 } - \int_eval:n { #2 } }
+% \end{macrocode}
+%
+%
+% \medskip
+% With the following construction, the command |\@@_double_int_eval:n| is
+% applied to both arguments before the application of |\@@_line_i:nn| (the
+% construction uses the fact the |\@@_line_i:nn| is protected and that
+% |\@@_double_int_eval:n| is fully expandable).
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_set_nopar:Npn \l_@@_argspec_tl
+ { O { } m m ! O { } E { _ ^ : } { { } { } { } } }
+ \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
+ \exp_args:NNo \NewDocumentCommand \@@_line \l_@@_argspec_tl
+ {
+ \group_begin:
+ \keys_set:nn { NiceMatrix / xdots } { #1 , #4 , down = #5 , up = #6 }
+ \tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
+ \use:e
+ {
+ \@@_line_i:nn
+ { \@@_double_int_eval:n #2 - \q_stop }
+ { \@@_double_int_eval:n #3 - \q_stop }
+ }
+ \group_end:
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_line_i:nn #1 #2
+ {
+ \bool_set_false:N \l_@@_initial_open_bool
+ \bool_set_false:N \l_@@_final_open_bool
+ \bool_lazy_or:nnTF
+ { \cs_if_free_p:c { pgf @ sh @ ns @ \@@_env: - #1 } }
+ { \cs_if_free_p:c { pgf @ sh @ ns @ \@@_env: - #2 } }
+ { \@@_error:nnn { unknown~cell~for~line~in~CodeAfter } { #1 } { #2 } }
+% \end{macrocode}
+% The test of |measuring@| is a security (cf. question 686649 on TeX StackExchange).
+% \begin{macrocode}
+ { \legacy_if:nF { measuring@ } { \@@_draw_line_ii:nn { #1 } { #2 } } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_new_protected:Npx \@@_draw_line_ii:nn #1 #2
+ {
+% \end{macrocode}
+% We recall that, when externalization is used, |\tikzpicture| and
+% |\endtikzpicture| (or |\pgfpicture| and |\endpgfpicture|) must be directly
+% ``visible'' and that why we do this static construction of the command
+% |\@@_draw_line_ii:|.
+% \begin{macrocode}
+ \c_@@_pgfortikzpicture_tl
+ \@@_draw_line_iii:nn { #1 } { #2 }
+ \c_@@_endpgfortikzpicture_tl
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command \emph{must} be protected (it's used in the
+% construction of |\@@_draw_line_ii:nn|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_line_iii:nn #1 #2
+ {
+ \pgfrememberpicturepositiononpagetrue
+ \pgfpointshapeborder { \@@_env: - #1 } { \@@_qpoint:n { #2 } }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
+ \pgfpointshapeborder { \@@_env: - #2 } { \@@_qpoint:n { #1 } }
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
+ \@@_draw_line:
+ }
+% \end{macrocode}
+%
+%
+% The commands |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, and |\Iddots| don't use
+% this command because they have to do other settings (for example, the diagonal
+% lines must be parallelized).
+%
+%
+%
+% \bigskip
+% \section{The command \textbackslash RowStyle}
+%
+%
+% |\g_@@_row_style_tl| may contain several instructions of the form:
+%
+% \qquad |\@@_if_row_less_than:nn { number } { instructions }|
+%
+% \smallskip
+% Then, |\g_@@_row_style_tl| will be inserted in all the cells of the array (and
+% also in both components of a |\diagbox| in a cell of in a mono-row block).
+%
+% The test |\@@_if_row_less_then:nn| ensures that the instructions are inserted
+% only if you are in a row which is (still) in the scope of that instructions
+% (which depends on the value of the key |nb-rows| of |\RowStyle|).
+%
+% That test will be active even in an expandable context because
+% |\@@_if_row_less_then:nn| is \emph{not} protected.
+%
+% |#1| is the first row \emph{after} the scope of the instructions in |#2|
+% \begin{macrocode}
+\cs_new:Npn \@@_if_row_less_than:nn #1 #2
+ { \int_compare:nNnT { \c@iRow } < { #1 } { #2 } }
+% \end{macrocode}
+%
+% \bigskip
+% |\@@_put_in_row_style| will be used several times by |\RowStyle|.
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_put_in_row_style:n #1
+ {
+ \tl_gput_right:Nx \g_@@_row_style_tl
+ {
+% \end{macrocode}
+% Be careful, |\exp_not:N \@@_if_row_less_than:nn| can't be replaced by a
+% protected version of |\@@_if_row_less_than:nn|.
+% \begin{macrocode}
+ \exp_not:N
+ \@@_if_row_less_than:nn
+ { \int_eval:n { \c@iRow + \l_@@_key_nb_rows_int } }
+% \end{macrocode}
+% The |\scan_stop:| is mandatory (for ex. for the case where |\rotate| is used
+% in the argument of |\RowStyle|).
+% \begin{macrocode}
+ { \exp_not:n { #1 } \scan_stop: }
+ }
+ }
+\cs_generate_variant:Nn \@@_put_in_row_style:n { e }
+% \end{macrocode}
+% \medskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / RowStyle }
+ {
+ cell-space-top-limit .dim_set:N = \l_tmpa_dim ,
+ cell-space-top-limit .value_required:n = true ,
+ cell-space-bottom-limit .dim_set:N = \l_tmpb_dim ,
+ cell-space-bottom-limit .value_required:n = true ,
+ cell-space-limits .meta:n =
+ {
+ cell-space-top-limit = #1 ,
+ cell-space-bottom-limit = #1 ,
+ } ,
+ color .tl_set:N = \l_@@_color_tl ,
+ color .value_required:n = true ,
+ bold .bool_set:N = \l_@@_bold_row_style_bool ,
+ bold .default:n = true ,
+ nb-rows .code:n =
+ \str_if_eq:nnTF { #1 } { * }
+ { \int_set:Nn \l_@@_key_nb_rows_int { 500 } }
+ { \int_set:Nn \l_@@_key_nb_rows_int { #1 } } ,
+ nb-rows .value_required:n = true ,
+ rowcolor .tl_set:N = \l_tmpa_tl ,
+ rowcolor .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~RowStyle }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentCommand \@@_RowStyle:n { O { } m }
+ {
+ \group_begin:
+ \tl_clear:N \l_tmpa_tl
+ \tl_clear:N \l_@@_color_tl
+ \int_set_eq:NN \l_@@_key_nb_rows_int \c_one_int
+ \dim_zero:N \l_tmpa_dim
+ \dim_zero:N \l_tmpb_dim
+ \keys_set:nn { NiceMatrix / RowStyle } { #1 }
+% \end{macrocode}
+% If the key |rowcolor| has been used.
+% \begin{macrocode}
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+% \end{macrocode}
+% First, the end of the current row (we remind that |\RowStyle| applies to the
+% \emph{end} of the current row).
+% \begin{macrocode}
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+% \end{macrocode}
+% The command |\@@_exp_color_arg:No| is \emph{fully expandable}.
+% \begin{macrocode}
+ \@@_exp_color_arg:No \@@_rectanglecolor \l_tmpa_tl
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ { \int_use:N \c@iRow - * }
+ }
+% \end{macrocode}
+% Then, the other rows (if there is several rows).
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_key_nb_rows_int > \c_one_int
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+ \@@_exp_color_arg:No \@@_rowcolor \l_tmpa_tl
+ {
+ \int_eval:n { \c@iRow + 1 }
+ - \int_eval:n { \c@iRow + \l_@@_key_nb_rows_int - 1 }
+ }
+ }
+ }
+ }
+ \@@_put_in_row_style:n { \exp_not:n { #2 } }
+% \end{macrocode}
+% |\l_tmpa_dim| is the value of the key |cell-space-top-limit| of |\RowStyle|.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_tmpa_dim > \c_zero_dim
+ {
+ \exp_args:Nx \@@_put_in_row_style:n
+ {
+ \tl_gput_right:Nn \exp_not:N \g_@@_cell_after_hook_tl
+ {
+% \end{macrocode}
+% It's not possible to chanage the following code by using |\dim_set_eq:NN|
+% (because of expansion).
+% \begin{macrocode}
+ \dim_set:Nn \l_@@_cell_space_top_limit_dim
+ { \dim_use:N \l_tmpa_dim }
+ }
+ }
+ }
+% \end{macrocode}
+% |\l_tmpb_dim| is the value of the key |cell-space-bottom-limit| of |\RowStyle|.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_tmpb_dim > \c_zero_dim
+ {
+ \exp_args:Nx \@@_put_in_row_style:n
+ {
+ \tl_gput_right:Nn \exp_not:N \g_@@_cell_after_hook_tl
+ {
+ \dim_set:Nn \l_@@_cell_space_bottom_limit_dim
+ { \dim_use:N \l_tmpb_dim }
+ }
+ }
+ }
+% \end{macrocode}
+% |\l_@@_color_tl| is the value of the key |color| of |\RowStyle|.
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_color_tl
+ {
+ \@@_put_in_row_style:e
+ {
+ \mode_leave_vertical:
+ \@@_color:n { \l_@@_color_tl }
+ }
+ }
+% \end{macrocode}
+% |\l_@@_bold_row_style_bool| is the value of the key |bold|.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_bold_row_style_bool
+ {
+ \@@_put_in_row_style:n
+ {
+ \exp_not:n
+ {
+ \if_mode_math:
+ \c_math_toggle_token
+ \bfseries \boldmath
+ \c_math_toggle_token
+ \else:
+ \bfseries \boldmath
+ \fi:
+ }
+ }
+ }
+ \group_end:
+ \g_@@_row_style_tl
+ \ignorespaces
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{Colors of cells, rows and columns}
+%
+% We want to avoid the thin white lines that are shown in some \textsc{pdf}
+% viewers (eg: with the engine MuPDF used by SumatraPDF). That's why we try to
+% draw rectangles of the same color in the same instruction |\pgfusepath { fill }|
+% (and they will be in the same instruction |fill|---coded |f|---in the
+% resulting \textsc{pdf}).
+%
+% The commands |\@@_rowcolor|, |\@@_columncolor|, |\@@_rectanglecolor| and
+% |\@@_rowlistcolors| don't directly draw the corresponding rectangles. Instead,
+% they store their instructions color by color:
+% \begin{itemize}
+% \item A sequence |\g_@@_colors_seq| will be built containing all the colors
+% used by at least one of these instructions. Each \emph{color} may be prefixed
+% by its color model (eg: |[gray]{0.5}|).
+% \item For the color whose index in |\g_@@_colors_seq| is equal to~$i$, a list of
+% instructions which use that color will be constructed in the token list
+% |\g_@@_color_|$i$|_tl|. In that token list, the instructions will be written
+% using |\@@_cartesian_color:nn| and |\@@_rectanglecolor:nn|.
+% \end{itemize}
+%
+%
+% \bigskip
+% |#1| is the color and |#2| is an instruction using that color. Despite its
+% name, the command |\@@_add_to_colors_seq:nn| doesn't only add a color to
+% |\g_@@_colors_seq|: it also updates the corresponding token list
+% |\g_@@_color_|$i$|_tl|. We add in a global way because the final user may use
+% the instructions such as |\cellcolor| in a loop of \pkg{pgffor} in the
+% |\CodeBefore| (and we recall that a loop of \pkg{pgffor} is encapsulated in a
+% group).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_add_to_colors_seq:nn #1 #2
+ {
+% \end{macrocode}
+% Firt, we look for the number of the color and, if it's found, we store it in
+% |\l_tmpa_int|. If the color is not present in |\l_@@_colors_seq|,
+% |\l_tmpa_int| will remain equal to $0$.
+% \begin{macrocode}
+ \int_zero:N \l_tmpa_int
+% \end{macrocode}
+% We don't take into account the colors like |myserie!!+| because those colors
+% are special color from a |\definecolorseries| of \pkg{xcolor}.
+% \begin{macrocode}
+ \str_if_in:nnF { #1 } { !! }
+ {
+ \seq_map_indexed_inline:Nn \g_@@_colors_seq
+ { \tl_if_eq:nnT { #1 } { ##2 } { \int_set:Nn \l_tmpa_int { ##1 } } }
+ }
+ \int_if_zero:nTF \l_tmpa_int
+% \end{macrocode}
+% First, the case where the color is a \emph{new} color (not in the sequence).
+% \begin{macrocode}
+ {
+ \seq_gput_right:Nn \g_@@_colors_seq { #1 }
+ \tl_gset:cx { g_@@_color _ \seq_count:N \g_@@_colors_seq _ tl } { #2 }
+ }
+% \end{macrocode}
+% Now, the case where the color is \emph{not} a new color (the color is in the
+% sequence at the position |\l_tmpa_int|).
+% \begin{macrocode}
+ { \tl_gput_right:cx { g_@@_color _ \int_use:N \l_tmpa_int _tl } { #2 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_add_to_colors_seq:nn { e n }
+\cs_generate_variant:Nn \@@_add_to_colors_seq:nn { e e }
+% \end{macrocode}
+%
+% \bigskip
+% The following command must be used within a |\pgfpicture|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_clip_with_rounded_corners:
+ {
+ \dim_compare:nNnT \l_@@_tab_rounded_corners_dim > \c_zero_dim
+ {
+% \end{macrocode}
+% The TeX group is for |\pgfsetcornersarced| (whose scope is the TeX scope).
+% \begin{macrocode}
+ \group_begin:
+ \pgfsetcornersarced
+ {
+ \pgfpoint
+ { \l_@@_tab_rounded_corners_dim }
+ { \l_@@_tab_rounded_corners_dim }
+ }
+% \end{macrocode}
+% Because we want \pkg{nicematrix} compatible with arrays constructed by
+% \pkg{array}, the nodes for the rows and columns (that is to say the nodes
+% |row-|\textsl{i} and |col-|\textsl{j}) have not always the expected position,
+% that is to say, there is sometimes a slight shifting of something such as
+% |\arrayrulewidth|. Now, for the clipping, we have to change slightly the
+% position of that clipping whether a rounded rectangle around the array is
+% required. That's the point which is tested in the following line.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_hvlines_bool
+ {
+ \pgfpathrectanglecorners
+ {
+ \pgfpointadd
+ { \@@_qpoint:n { row-1 } }
+ { \pgfpoint { 0.5 \arrayrulewidth } { \c_zero_dim } }
+ }
+ {
+ \pgfpointadd
+ {
+ \@@_qpoint:n
+ { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
+ }
+ { \pgfpoint \c_zero_dim { 0.5 \arrayrulewidth } }
+ }
+ }
+ {
+ \pgfpathrectanglecorners
+ { \@@_qpoint:n { row-1 } }
+ {
+ \pgfpointadd
+ {
+ \@@_qpoint:n
+ { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
+ }
+ { \pgfpoint \c_zero_dim \arrayrulewidth }
+ }
+ }
+ \pgfusepath { clip }
+ \group_end:
+% \end{macrocode}
+% The TeX group was for |\pgfsetcornersarced|.
+% \begin{macrocode}
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The macro |\@@_actually_color:| will actually fill all the rectangles, color by
+% color (using the sequence |\l_@@_colors_seq| and all the token lists of the
+% form |\l_@@_color_|$i$|_tl|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_color:
+ {
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+% \end{macrocode}
+% If the final user has used the key |rounded-corners| for the environment
+% |{NiceTabular}|, we will clip to a rectangle with rounded corners before
+% filling the rectangles.
+% \begin{macrocode}
+ \@@_clip_with_rounded_corners:
+ \seq_map_indexed_inline:Nn \g_@@_colors_seq
+ {
+ \int_compare:nNnTF { ##1 } = \c_one_int
+ {
+ \cs_set_eq:NN \@@_cartesian_path:n \@@_cartesian_path_nocolor:n
+ \use:c { g_@@_color _ 1 _tl }
+ \cs_set_eq:NN \@@_cartesian_path:n \@@_cartesian_path_normal:n
+ }
+ {
+ \begin { pgfscope }
+ \@@_color_opacity ##2
+ \use:c { g_@@_color _ ##1 _tl }
+ \tl_gclear:c { g_@@_color _ ##1 _tl }
+ \pgfusepath { fill }
+ \end { pgfscope }
+ }
+ }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command will extract the potential key |opacity| in its optional
+% argument (between square brackets) and (of course) then apply the command |\color|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_color_opacity
+ {
+ \peek_meaning:NTF [
+ { \@@_color_opacity:w }
+ { \@@_color_opacity:w [ ] }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_color_opacity:w| takes in as argument only the optional
+% argument. One may consider that the second argument (the actual definition of
+% the color) is provided by curryfication.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_color_opacity:w [ #1 ]
+ {
+ \tl_clear:N \l_tmpa_tl
+ \keys_set_known:nnN { nicematrix / color-opacity } { #1 } \l_tmpb_tl
+% \end{macrocode}
+% |\l_tmpa_tl| (if not empty) is now the opacity and |\l_tmpb_tl| (if not empty) is now the colorimetric space.
+% \begin{macrocode}
+ \tl_if_empty:NF \l_tmpa_tl { \exp_args:No \pgfsetfillopacity \l_tmpa_tl }
+ \tl_if_empty:NTF \l_tmpb_tl
+ { \@declaredcolor }
+ { \use:e { \exp_not:N \@undeclaredcolor [ \l_tmpb_tl ] } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following set of keys is used by the command |\@@_color_opacity:wn|.
+% \begin{macrocode}
+\keys_define:nn { nicematrix / color-opacity }
+ {
+ opacity .tl_set:N = \l_tmpa_tl ,
+ opacity .value_required:n = true
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_color:nn #1 #2
+ {
+ \cs_set_nopar:Npn \l_@@_rows_tl { #1 }
+ \cs_set_nopar:Npn \l_@@_cols_tl { #2 }
+ \@@_cartesian_path:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here is an example : |\@@_rowcolor {red!15} {1,3,5-7,10-}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_rowcolor { O { } m m }
+ {
+ \tl_if_blank:nF { #2 }
+ {
+ \@@_add_to_colors_seq:en
+ { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
+ { \@@_cartesian_color:nn { #3 } { - } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here an example : |\@@_columncolor:nn {red!15} {1,3,5-7,10-}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_columncolor { O { } m m }
+ {
+ \tl_if_blank:nF { #2 }
+ {
+ \@@_add_to_colors_seq:en
+ { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
+ { \@@_cartesian_color:nn { - } { #3 } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here is an example : |\@@_rectanglecolor{red!15}{2-3}{5-6}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_rectanglecolor { O { } m m m }
+ {
+ \tl_if_blank:nF { #2 }
+ {
+ \@@_add_to_colors_seq:en
+ { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
+ { \@@_rectanglecolor:nnn { #3 } { #4 } { \c_zero_dim } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The last argument is the radius of the corners of the rectangle.
+% \begin{macrocode}
+\NewDocumentCommand \@@_roundedrectanglecolor { O { } m m m m }
+ {
+ \tl_if_blank:nF { #2 }
+ {
+ \@@_add_to_colors_seq:en
+ { \tl_if_blank:nF { #1 } { [ #1 ] } { #2 } }
+ { \@@_rectanglecolor:nnn { #3 } { #4 } { #5 } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The last argument is the radius of the corners of the rectangle.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rectanglecolor:nnn #1 #2 #3
+ {
+ \@@_cut_on_hyphen:w #1 \q_stop
+ \tl_clear_new:N \l_@@_tmpc_tl
+ \tl_clear_new:N \l_@@_tmpd_tl
+ \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \tl_set:Nx \l_@@_rows_tl { \l_@@_tmpc_tl - \l_tmpa_tl }
+ \tl_set:Nx \l_@@_cols_tl { \l_@@_tmpd_tl - \l_tmpb_tl }
+% \end{macrocode}
+% The command |\@@_cartesian_path:n| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_rows_tl|.
+% \begin{macrocode}
+ \@@_cartesian_path:n { #3 }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% Here is an example : |\@@_cellcolor[rgb]{0.5,0.5,0}{2-3,3-4,4-5,5-6}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_cellcolor { O { } m m }
+ {
+ \clist_map_inline:nn { #3 }
+ { \@@_rectanglecolor [ #1 ] { #2 } { ##1 } { ##1 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentCommand \@@_chessboardcolors { O { } m m }
+ {
+ \int_step_inline:nn \c@iRow
+ {
+ \int_step_inline:nn \c@jCol
+ {
+ \int_if_even:nTF { ####1 + ##1 }
+ { \@@_cellcolor [ #1 ] { #2 } }
+ { \@@_cellcolor [ #1 ] { #3 } }
+ { ##1 - ####1 }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_arraycolor| (linked to |\arraycolor| at the beginning of
+% the |\CodeBefore|) will color the whole tabular (excepted the potential
+% exterior rows and columns) and the cells in the ``corners''.
+% \begin{macrocode}
+\NewDocumentCommand \@@_arraycolor { O { } m }
+ {
+ \@@_rectanglecolor [ #1 ] { #2 }
+ { 1 - 1 }
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / rowcolors }
+ {
+ respect-blocks .bool_set:N = \l_@@_respect_blocks_bool ,
+ respect-blocks .default:n = true ,
+ cols .tl_set:N = \l_@@_cols_tl ,
+ restart .bool_set:N = \l_@@_rowcolors_restart_bool ,
+ restart .default:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~rowcolors }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\rowcolors| (accessible in the |\CodeBefore|) is inspired by the
+% command |\rowcolors| of the package \pkg{xcolor} (with the option |table|).
+% However, the command |\rowcolors| of \pkg{nicematrix} has \emph{not} the
+% optional argument of the command |\rowcolors| of \pkg{xcolor}.
+%
+% Here is an example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
+%
+% In \pkg{nicematrix}, the commmand |\@@_rowcolors| appears as a special case of
+% |\@@_rowlistcolors|.
+%
+% |#1| (optional) is the color space;
+% |#2| is a list of intervals of rows;
+% |#3| is the list of colors;
+% |#4| is for the optional list of pairs \textsl{key=value}.
+% \begin{macrocode}
+\NewDocumentCommand \@@_rowlistcolors { O { } m m O { } }
+ {
+% \end{macrocode}
+% The group is for the options. |\l_@@_colors_seq| will be the list of colors.
+% \begin{macrocode}
+ \group_begin:
+ \seq_clear_new:N \l_@@_colors_seq
+ \seq_set_split:Nnn \l_@@_colors_seq { , } { #3 }
+ \tl_clear_new:N \l_@@_cols_tl
+ \cs_set_nopar:Npn \l_@@_cols_tl { - }
+ \keys_set:nn { NiceMatrix / rowcolors } { #4 }
+% \end{macrocode}
+% The counter |\l_@@_color_int| will be the rank of the current color in the list of
+% colors (modulo the length of the list).
+% \begin{macrocode}
+ \int_zero_new:N \l_@@_color_int
+ \int_set_eq:NN \l_@@_color_int \c_one_int
+ \bool_if:NT \l_@@_respect_blocks_bool
+ {
+% \end{macrocode}
+% We don't want to take into account a block which is completely in the ``first
+% column'' (number~$0$) or in the ``last column'' and that's why we filter
+% the sequence of the blocks (in a the sequence |\l_tmpa_seq|).
+% \begin{macrocode}
+ \seq_set_eq:NN \l_tmpb_seq \g_@@_pos_of_blocks_seq
+ \seq_set_filter:NNn \l_tmpa_seq \l_tmpb_seq
+ { \@@_not_in_exterior_p:nnnnn ##1 }
+ }
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+% \end{macrocode}
+% |#2| is the list of intervals of rows.
+% \begin{macrocode}
+ \clist_map_inline:nn { #2 }
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
+% \end{macrocode}
+% Now, |l_tmpa_tl| and |l_tmpb_tl| are the first row and the last row of the
+% interval of rows that we have to treat. The counter |\l_tmpa_int| will be the
+% index of the loop over the rows.
+% \begin{macrocode}
+ \int_set:Nn \l_tmpa_int \l_tmpa_tl
+ \int_set:Nn \l_@@_color_int
+ { \bool_if:NTF \l_@@_rowcolors_restart_bool 1 \l_tmpa_tl }
+ \int_zero_new:N \l_@@_tmpc_int
+ \int_set:Nn \l_@@_tmpc_int \l_tmpb_tl
+ \int_do_until:nNnn \l_tmpa_int > \l_@@_tmpc_int
+ {
+% \end{macrocode}
+% We will compute in |\l_tmpb_int| the last row of the ``block''.
+% \begin{macrocode}
+ \int_set_eq:NN \l_tmpb_int \l_tmpa_int
+% \end{macrocode}
+% If the key |respect-blocks| is in force, we have to adjust that value (of
+% course).
+% \begin{macrocode}
+ \bool_if:NT \l_@@_respect_blocks_bool
+ {
+ \seq_set_filter:NNn \l_tmpb_seq \l_tmpa_seq
+ { \@@_intersect_our_row_p:nnnnn ####1 }
+ \seq_map_inline:Nn \l_tmpb_seq { \@@_rowcolors_i:nnnnn ####1 }
+% \end{macrocode}
+% Now, the last row of the block is computed in |\l_tmpb_int|.
+% \begin{macrocode}
+ }
+ \tl_set:No \l_@@_rows_tl
+ { \int_use:N \l_tmpa_int - \int_use:N \l_tmpb_int }
+% \end{macrocode}
+% |\l_@@_tmpc_tl| will be the color that we will use.
+% \begin{macrocode}
+ \tl_clear_new:N \l_@@_color_tl
+ \tl_set:Nx \l_@@_color_tl
+ {
+ \@@_color_index:n
+ {
+ \int_mod:nn
+ { \l_@@_color_int - 1 }
+ { \seq_count:N \l_@@_colors_seq }
+ + 1
+ }
+ }
+ \tl_if_empty:NF \l_@@_color_tl
+ {
+ \@@_add_to_colors_seq:ee
+ { \tl_if_blank:nF { #1 } { [ #1 ] } { \l_@@_color_tl } }
+ { \@@_cartesian_color:nn { \l_@@_rows_tl } { \l_@@_cols_tl } }
+ }
+ \int_incr:N \l_@@_color_int
+ \int_set:Nn \l_tmpa_int { \l_tmpb_int + 1 }
+ }
+ }
+ \endpgfpicture
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\@@_color_index:n| peeks in |\l_@@_colors_seq| the color at the
+% index |#1|. However, if that color is the symbol |=|, the previous one is
+% poken. This macro is recursive.
+% \begin{macrocode}
+\cs_new:Npn \@@_color_index:n #1
+ {
+ \str_if_eq:eeTF { \seq_item:Nn \l_@@_colors_seq { #1 } } { = }
+ { \@@_color_index:n { #1 - 1 } }
+ { \seq_item:Nn \l_@@_colors_seq { #1 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\rowcolors| (available in the |\CodeBefore|) is a specialisation
+% of the more general command |\rowlistcolors|. The last argument, which is a
+% optional argument between square brackets is provided by curryfication.
+% \begin{macrocode}
+\NewDocumentCommand \@@_rowcolors { O { } m m m }
+ { \@@_rowlistcolors [ #1 ] { #2 } { { #3 } , { #4 } } }
+% \end{macrocode}
+% The braces around |#3| and |#4| are mandatory.
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rowcolors_i:nnnnn #1 #2 #3 #4 #5
+ {
+ \int_compare:nNnT { #3 } > \l_tmpb_int
+ { \int_set:Nn \l_tmpb_int { #3 } }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\prg_new_conditional:Nnn \@@_not_in_exterior:nnnnn p
+ {
+ \int_if_zero:nTF { #4 }
+ \prg_return_false:
+ {
+ \int_compare:nNnTF { #2 } > \c@jCol
+ \prg_return_false:
+ \prg_return_true:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command return |true| when the block intersects the row
+% |\l_tmpa_int|.
+% \begin{macrocode}
+\prg_new_conditional:Nnn \@@_intersect_our_row:nnnnn p
+ {
+ \int_compare:nNnTF { #1 } > \l_tmpa_int
+ \prg_return_false:
+ {
+ \int_compare:nNnTF \l_tmpa_int > { #3 }
+ \prg_return_false:
+ \prg_return_true:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command uses two implicit arguments: |\l_@@_rows_tl| and
+% |\l_@@_cols_tl| which are specifications for a set of rows and a set of
+% columns. It creates a path but does \emph{not} fill it. It must be filled by
+% another command after. The argument is the radius of the corners. We define
+% below a command |\@@_cartesian_path:| which corresponds to a value $0$~pt for
+% the radius of the corners.
+%
+% This command is, in particular, used in |\@@_rectanglecolor:nnn| (used in
+% |\@@_rectanglecolor|, itself used in |\@@_cellcolor|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_path_normal:n #1
+ {
+ \dim_compare:nNnTF { #1 } = \c_zero_dim
+ {
+ \bool_if:NTF
+ \l_@@_nocolor_used_bool
+ \@@_cartesian_path_normal_ii:
+ {
+ \seq_if_empty:NTF \l_@@_corners_cells_seq
+ { \@@_cartesian_path_normal_i:n { #1 } }
+ \@@_cartesian_path_normal_ii:
+ }
+ }
+ { \@@_cartesian_path_normal_i:n { #1 } }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% First, the situation where is a rectangular zone of cells will be colored as a
+% whole (in the instructions of the resulting \textsc{pdf}). The argument is the
+% radius of the corners.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_path_normal_i:n #1
+ {
+ \pgfsetcornersarced { \pgfpoint { #1 } { #1 } }
+% \end{macrocode}
+% We begin the loop over the columns.
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_cols_tl
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
+ \tl_if_empty:NTF \l_tmpa_tl
+ { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
+ {
+ \tl_if_eq:NNT \l_tmpa_tl \c_@@_star_tl
+ { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
+ }
+ \tl_if_empty:NTF \l_tmpb_tl
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
+ {
+ \tl_if_eq:NNT \l_tmpb_tl \c_@@_star_tl
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
+ }
+ \int_compare:nNnT \l_tmpb_tl > \g_@@_col_total_int
+ { \tl_set:No \l_tmpb_tl { \int_use:N \g_@@_col_total_int } }
+% \end{macrocode}
+% |\l_@@_tmpc_tl| will contain the number of column.
+% \begin{macrocode}
+ \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
+ \@@_qpoint:n { col - \l_tmpa_tl }
+ \int_compare:nNnTF \l_@@_first_col_int = \l_tmpa_tl
+ { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
+ { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
+ \@@_qpoint:n { col - \int_eval:n { \l_tmpb_tl + 1 } }
+ \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
+% \end{macrocode}
+% We begin the loop over the rows.
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_rows_tl
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { ####1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ####1 \q_stop }
+ { \@@_cut_on_hyphen:w ####1 - ####1 \q_stop }
+ \tl_if_empty:NTF \l_tmpa_tl
+ { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
+ {
+ \tl_if_eq:NNT \l_tmpa_tl \c_@@_star_tl
+ { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
+ }
+ \tl_if_empty:NTF \l_tmpb_tl
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
+ {
+ \tl_if_eq:NNT \l_tmpb_tl \c_@@_star_tl
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@iRow } }
+ }
+ \int_compare:nNnT \l_tmpb_tl > \g_@@_row_total_int
+ { \tl_set:No \l_tmpb_tl { \int_use:N \g_@@_row_total_int } }
+% \end{macrocode}
+% Now, the numbers of both rows are in |\l_tmpa_tl| and |\l_tmpb_tl|.
+% \begin{macrocode}
+ \cs_if_exist:cF
+ { @@ _ \l_tmpa_tl _ \l_@@_tmpc_tl _ nocolor }
+ {
+ \@@_qpoint:n { row - \int_eval:n { \l_tmpb_tl + 1 } }
+ \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
+ \@@_qpoint:n { row - \l_tmpa_tl }
+ \dim_set:Nn \l_@@_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
+ \pgfpathrectanglecorners
+ { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
+ { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% Now, the case where the cells will be colored cell by cell (it's mandatory for
+% example if the key |corners| is used).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_path_normal_ii:
+ {
+ \@@_expand_clist:NN \l_@@_cols_tl \c@jCol
+ \@@_expand_clist:NN \l_@@_rows_tl \c@iRow
+% \end{macrocode}
+% We begin the loop over the columns.
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_cols_tl
+ {
+ \@@_qpoint:n { col - ##1 }
+ \int_compare:nNnTF \l_@@_first_col_int = { ##1 }
+ { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
+ { \dim_set:Nn \l_@@_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
+ \@@_qpoint:n { col - \int_eval:n { ##1 + 1 } }
+ \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
+% \end{macrocode}
+% We begin the loop over the rows.
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_rows_tl
+ {
+ \seq_if_in:NnF \l_@@_corners_cells_seq
+ { ####1 - ##1 }
+ {
+ \@@_qpoint:n { row - \int_eval:n { ####1 + 1 } }
+ \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
+ \@@_qpoint:n { row - ####1 }
+ \dim_set:Nn \l_@@_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
+ \cs_if_exist:cF { @@ _ ####1 _ ##1 _ nocolor }
+ {
+ \pgfpathrectanglecorners
+ { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
+ { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The following command corresponds to a radius of the corners equal to $0$~pt.
+% This command is used by the commands |\@@_rowcolors|, |\@@_columncolor| and
+% |\@@_rowcolor:n| (used in |\@@_rowcolor|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_path: { \@@_cartesian_path:n \c_zero_dim }
+% \end{macrocode}
+%
+%
+% \bigskip
+% Despite its name, the following command does not create a PGF path. It
+% declares as colored by the ``empty color'' all the cells in what would be the
+% path. Hence, the other coloring instructions of \pkg{nicematrix} won't put
+% color in those cells.
+% the
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cartesian_path_nocolor:n #1
+ {
+ \bool_set_true:N \l_@@_nocolor_used_bool
+ \@@_expand_clist:NN \l_@@_cols_tl \c@jCol
+ \@@_expand_clist:NN \l_@@_rows_tl \c@iRow
+% \end{macrocode}
+% We begin the loop over the columns.
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_rows_tl
+ {
+ \clist_map_inline:Nn \l_@@_cols_tl
+ { \cs_set:cpn { @@ _ ##1 _ ####1 _ nocolor } { } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command will be used only with |\l_@@_cols_tl| and |\c@jCol| (first
+% case) or with |\l_@@_rows_tl| and |\c@iRow| (second case). For instance, with
+% |\l_@@_cols_tl| equal to |2,4-6,8-*| and |\c@jCol| equal to |10|, the clist
+% |\l_@@_cols_tl| will be replaced by |2,4,5,6,8,9,10|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_expand_clist:NN #1 #2
+ {
+ \clist_set_eq:NN \l_tmpa_clist #1
+ \clist_clear:N #1
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \cs_set_nopar:Npn \l_tmpa_tl { ##1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
+ \bool_lazy_or:nnT
+ { \tl_if_blank_p:o \l_tmpa_tl }
+ { \str_if_eq_p:on \l_tmpa_tl { * } }
+ { \cs_set_nopar:Npn \l_tmpa_tl { 1 } }
+ \bool_lazy_or:nnT
+ { \tl_if_blank_p:o \l_tmpb_tl }
+ { \str_if_eq_p:on \l_tmpb_tl { * } }
+ { \tl_set:No \l_tmpb_tl { \int_use:N #2 } }
+ \int_compare:nNnT \l_tmpb_tl > #2
+ { \tl_set:No \l_tmpb_tl { \int_use:N #2 } }
+ \int_step_inline:nnn \l_tmpa_tl \l_tmpb_tl
+ { \clist_put_right:Nn #1 { ####1 } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% When the user uses the key |color-inside|, the following command will
+% be linked to |\cellcolor| in the tabular.
+% \begin{macrocode}
+\NewDocumentCommand \@@_cellcolor_tabular { O { } m }
+ {
+ \@@_test_color_inside:
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+% \end{macrocode}
+% We must not expand the color (|#2|) because the color may contain the token
+% |!| which may be activated by some packages (ex.: \pkg{babel} with the option
+% |french| on latex and pdflatex).
+% \begin{macrocode}
+ \@@_cellcolor [ #1 ] { \exp_not:n { #2 } }
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ }
+ \ignorespaces
+ }
+% \end{macrocode}
+%
+% \bigskip
+% When the user uses the key |color-inside|, the following command will
+% be linked to |\rowcolor| in the tabular.
+% \begin{macrocode}
+\NewDocumentCommand \@@_rowcolor_tabular { O { } m }
+ {
+ \@@_test_color_inside:
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+ \@@_rectanglecolor [ #1 ] { \exp_not:n { #2 } }
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ { \int_use:N \c@iRow - \exp_not:n { \int_use:N \c@jCol } }
+ }
+ \ignorespaces
+ }
+% \end{macrocode}
+%
+% \bigskip
+% When the user uses the key |color-inside|, the following command will
+% be linked to |\rowcolors| in the tabular. The last argument (an optional
+% argument between square brackets is taken by curryfication).
+% \begin{macrocode}
+\NewDocumentCommand { \@@_rowcolors_tabular } { O { } m m }
+ { \@@_rowlistcolors_tabular [ #1 ] { { #2 } , { #3 } } }
+% \end{macrocode}
+% The braces around |#2| and |#3| are mandatory.
+%
+% \bigskip
+% When the user uses the key |color-inside|, the following command will
+% be linked to |\rowlistcolors| in the tabular.
+% \begin{macrocode}
+\NewDocumentCommand { \@@_rowlistcolors_tabular } { O { } m O { } }
+ {
+ \@@_test_color_inside:
+ \peek_remove_spaces:n
+ { \@@_rowlistcolors_tabular:nnn { #1 } { #2 } { #3 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rowlistcolors_tabular:nnn #1 #2 #3
+ {
+% \end{macrocode}
+% A use of |\rowlistcolors| in the tabular erases the instructions
+% |\rowlistcolors| which are in force. However, it's possible to put \emph{several}
+% instructions |\rowlistcolors| in the same row of a tabular: it may be useful
+% when those instructions |\rowlistcolors| concerns different columns of the
+% tabular (thanks to the key |cols| of |\rowlistcolors|). That's why we store
+% the different instructions |\rowlistcolors| which are in force in a sequence
+% |\g_@@_rowlistcolors_seq|. Now, we will filter that sequence to keep only the
+% elements which have been issued on the actual row. We will store the elements
+% to keep in the |\g_tmpa_seq|.
+% \begin{macrocode}
+ \seq_gclear:N \g_tmpa_seq
+ \seq_map_inline:Nn \g_@@_rowlistcolors_seq
+ { \@@_rowlistcolors_tabular_i:nnnn ##1 }
+ \seq_gset_eq:NN \g_@@_rowlistcolors_seq \g_tmpa_seq
+% \end{macrocode}
+% Now, we add to the sequence |\g_@@_rowlistcolors_seq| (which is the list of
+% the commands |\rowlistcolors| which are in force) the current instruction
+% |\rowlistcolors|.
+% \begin{macrocode}
+ \seq_gput_right:Nx \g_@@_rowlistcolors_seq
+ {
+ { \int_use:N \c@iRow }
+ { \exp_not:n { #1 } }
+ { \exp_not:n { #2 } }
+ { restart , cols = \int_use:N \c@jCol - , \exp_not:n { #3 } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command will be applied to each component of
+% |\g_@@_rowlistcolors_seq|. Each component of that sequence is a kind of 4-uple
+% of the form |{#1}{#2}{#3}{#4}|.
+%
+% |#1| is the number of the row where the command |\rowlistcolors| has been
+% issued.
+%
+% |#2| is the colorimetric space (optional argument of the |\rowlistcolors|).
+%
+% |#3| is the list of colors (mandatory argument of |\rowlistcolors|).
+%
+% |#4| is the list of \textsl{key=value} pairs (last optional argument of
+% |\rowlistcolors|).
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rowlistcolors_tabular_i:nnnn #1 #2 #3 #4
+ {
+ \int_compare:nNnTF { #1 } = \c@iRow
+% \end{macrocode}
+% We (temporary) keep in memory in |\g_tmpa_seq| the instructions which will
+% still be in force after the current instruction (because they have been issued
+% in the same row of the tabular).
+% \begin{macrocode}
+ { \seq_gput_right:Nn \g_tmpa_seq { { #1 } { #2 } { #3 } { #4 } } }
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+ \@@_rowlistcolors
+ [ \exp_not:n { #2 } ]
+ { #1 - \int_eval:n { \c@iRow - 1 } }
+ { \exp_not:n { #3 } }
+ [ \exp_not:n { #4 } ]
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be used at the end of the tabular, just before the
+% execution of the |\g_@@_pre_code_before_tl|. It clears the sequence
+% |\g_@@_rowlistcolors_seq| of all the commands |\rowlistcolors| which are
+% (still) in force.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_clear_rowlistcolors_seq:
+ {
+ \seq_map_inline:Nn \g_@@_rowlistcolors_seq
+ { \@@_rowlistcolors_tabular_ii:nnnn ##1 }
+ \seq_gclear:N \g_@@_rowlistcolors_seq
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rowlistcolors_tabular_ii:nnnn #1 #2 #3 #4
+ {
+ \tl_gput_right:Nn \g_@@_pre_code_before_tl
+ { \@@_rowlistcolors [ #2 ] { #1 } { #3 } [ #4 ] }
+ }
+% \end{macrocode}
+% The first mandatory argument of the command |\@@_rowlistcolors| which is
+% writtent in the pre-|\CodeBefore| is of the form |i|: it means that the
+% command must be applied to all the rows from the row~$i$ until the end of the
+% tabular.
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentCommand \@@_columncolor_preamble { O { } m }
+ {
+% \end{macrocode}
+% With the following line, we test whether the cell is the first one we
+% encounter in its column (don't forget that some rows may be incomplete).
+% \begin{macrocode}
+ \int_compare:nNnT \c@jCol > \g_@@_col_total_int
+ {
+% \end{macrocode}
+% You use |gput_left| because we want the specification of colors for the
+% columns drawn before the specifications of color for the rows (and the cells).
+% Be careful: maybe this is not effective since we have an analyze of the
+% instructions in the |\CodeBefore| in order to fill color by color (to avoid
+% the thin white lines).
+% \begin{macrocode}
+ \tl_gput_left:Nx \g_@@_pre_code_before_tl
+ {
+ \exp_not:N \columncolor [ #1 ]
+ { \exp_not:n { #2 } } { \int_use:N \c@jCol }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ {
+ \cs_set_eq:NN \@@_old_cellcolor \cellcolor
+ \cs_set_eq:NN \@@_old_rowcolor \rowcolor
+ \cs_new_protected:Npn \@@_revert_colortbl:
+ {
+ \hook_gput_code:nnn { env / tabular / begin } { nicematrix }
+ {
+ \cs_set_eq:NN \cellcolor \@@_old_cellcolor
+ \cs_set_eq:NN \rowcolor \@@_old_rowcolor
+ }
+ }
+ }
+ { \cs_new_protected:Npn \@@_revert_colortbl: { } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The vertical and horizontal rules}
+%
+%
+% \bigskip
+% \subsubsection*{OnlyMainNiceMatrix}
+%
+% We give to the user the possibility to define new types of columns (with
+% |\newcolumntype| of \pkg{array}) for special vertical rules (\emph{e.g.} rules
+% thicker than the standard ones) which will not extend in the potential
+% exterior rows of the array.
+%
+% We provide the command |\OnlyMainNiceMatrix| in that goal. However, that
+% command must be no-op outside the environments of \pkg{nicematrix} (and so the
+% user will be allowed to use the same new type of column in the environments
+% of \pkg{nicematrix} and in the standard environments of \pkg{array}).
+%
+% That's why we provide first a global definition of |\OnlyMainNiceMatrix|.
+% \begin{macrocode}
+\cs_set_eq:NN \OnlyMainNiceMatrix \use:n
+% \end{macrocode}
+%
+% \medskip
+% Another definition of |\OnlyMainNiceMatrix| will be linked to the command in
+% the environments of \pkg{nicematrix}. Here is that definition, called
+% |\@@_OnlyMainNiceMatrix:n|.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_OnlyMainNiceMatrix:n #1
+ {
+ \int_if_zero:nTF \l_@@_first_col_int
+ { \@@_OnlyMainNiceMatrix_i:n { #1 } }
+ {
+ \int_if_zero:nTF \c@jCol
+ {
+ \int_compare:nNnF \c@iRow = { -1 }
+ { \int_compare:nNnF \c@iRow = { \l_@@_last_row_int - 1 } { #1 } }
+ }
+ { \@@_OnlyMainNiceMatrix_i:n { #1 } }
+ }
+ }
+% \end{macrocode}
+% This definition may seem complicated but we must remind that the number of row
+% |\c@iRow| is incremented in the first cell of the row, \emph{after} a
+% potential vertical rule on the left side of the first cell.
+%
+% \smallskip
+% The command |\@@_OnlyMainNiceMatrix_i:n| is only a short-cut which is used
+% twice in the above command. This command must \emph{not} be protected.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_OnlyMainNiceMatrix_i:n #1
+ {
+ \int_if_zero:nF \c@iRow
+ {
+ \int_compare:nNnF \c@iRow = \l_@@_last_row_int
+ {
+ \int_compare:nNnT \c@jCol > \c_zero_int
+ { \bool_if:NF \l_@@_in_last_col_bool { #1 } }
+ }
+ }
+ }
+% \end{macrocode}
+% Remember that |\c@iRow| is not always inferior to |\l_@@_last_row_int| because
+% |\l_@@_last_row_int| may be equal to $-2$ or $-1$ (we can't write
+% |\int_compare:nNnT \c@iRow < \l_@@_last_row_int|).
+%
+%
+% \bigskip
+% \subsubsection*{General system for drawing rules}
+%
+% When a command, environment or ``subsystem'' of \pkg{nicematrix} wants to draw
+% a rule, it will write in the internal |\CodeAfter| a command |\@@_vline:n| or
+% |\@@_hline:n|. Both commands take in as argument a list of \textsl{key=value}
+% pairs. That list will first be analyzed with the following set of keys.
+% However, unknown keys will be analyzed further with another set of keys.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Rules }
+ {
+ position .int_set:N = \l_@@_position_int ,
+ position .value_required:n = true ,
+ start .int_set:N = \l_@@_start_int ,
+ end .code:n =
+ \bool_lazy_or:nnTF
+ { \tl_if_empty_p:n { #1 } }
+ { \str_if_eq_p:nn { #1 } { last } }
+ { \int_set_eq:NN \l_@@_end_int \c@jCol }
+ { \int_set:Nn \l_@@_end_int { #1 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% It's possible that the rule won't be drawn continuously from |start| ot |end|
+% because of the blocks (created with the command |\Block|), the virtual blocks
+% (created by |\Cdots|, etc.), etc. That's why an analyse is done and the rule
+% is cut in small rules which will actually be drawn. The small continuous rules
+% will be drawn by |\@@_vline_ii:| and |\@@_hline_ii:|. Those commands use the
+% following set of keys.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / RulesBis }
+ {
+ multiplicity .int_set:N = \l_@@_multiplicity_int ,
+ multiplicity .initial:n = 1 ,
+ dotted .bool_set:N = \l_@@_dotted_bool ,
+ dotted .initial:n = false ,
+ dotted .default:n = true ,
+% \end{macrocode}
+% We want that, even when the rule has been defined with TikZ by the key |tikz|,
+% the user has still the possibility to change the color of the rule with the key
+% |color| (in the command |\Hline|, not in the key |tikz| of the command
+% |\Hline|). The main use is, when the user has defined its own command
+% |\MyDashedLine| by |\newcommand{\MyDashedRule}{\Hline[tikz=dashed]}|, to give
+% the ability to write |\MyDashedRule[color=red]|.
+% \begin{macrocode}
+ color .code:n =
+ \@@_set_CT@arc@:n { #1 }
+ \tl_set:Nn \l_@@_rule_color_tl { #1 } ,
+ color .value_required:n = true ,
+ sep-color .code:n = \@@_set_CT@drsc@:n { #1 } ,
+ sep-color .value_required:n = true ,
+% \end{macrocode}
+% If the user uses the key |tikz|, the rule (or more precisely: the different
+% sub-rules since a rule may be broken by blocks or others) will be drawn with
+% Tikz.
+% \begin{macrocode}
+ tikz .code:n =
+ \IfPackageLoadedTF { tikz }
+ { \clist_put_right:Nn \l_@@_tikz_rule_tl { #1 } }
+ { \@@_error:n { tikz~without~tikz } } ,
+ tikz .value_required:n = true ,
+ total-width .dim_set:N = \l_@@_rule_width_dim ,
+ total-width .value_required:n = true ,
+ width .meta:n = { total-width = #1 } ,
+ unknown .code:n = \@@_error:n { Unknow~key~for~RulesBis }
+ }
+% \end{macrocode}
+%
+%
+% \subsubsection*{The vertical rules}
+%
+% The following command will be executed in the internal |\CodeAfter|. The
+% argument |#1| is a list of \textsl{key=value} pairs.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline:n #1
+ {
+% \end{macrocode}
+% The group is for the options.
+% \begin{macrocode}
+ \group_begin:
+ \int_set_eq:NN \l_@@_end_int \c@iRow
+ \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
+% \end{macrocode}
+% The following test is for the case where the user does not use all the columns
+% specified in the preamble of the environment (for instance, a preamble of
+% \verb+|c|c|c|+ but only two columns used).
+% \begin{macrocode}
+ \int_compare:nNnT \l_@@_position_int < { \c@jCol + 2 }
+ \@@_vline_i:
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline_i:
+ {
+% \end{macrocode}
+% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When
+% we have found a row corresponding to a rule to draw, we note its number in
+% |\l_@@_tmpc_tl|.
+% \begin{macrocode}
+ \tl_set:No \l_tmpb_tl { \int_use:N \l_@@_position_int }
+ \int_step_variable:nnNn \l_@@_start_int \l_@@_end_int
+ \l_tmpa_tl
+ {
+% \end{macrocode}
+% The boolean |\g_tmpa_bool| indicates whether the small vertical rule will be
+% drawn. If we find that it is in a block (a real block, created by |\Block| or
+% a virtual block corresponding to a dotted line, created by |\Cdots|, |\Vdots|,
+% etc.), we will set |\g_tmpa_bool| to |false| and the small vertical rule won't
+% be drawn.
+% \begin{macrocode}
+ \bool_gset_true:N \g_tmpa_bool
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_test_vline_in_block:nnnnn ##1 }
+ \seq_map_inline:Nn \g_@@_pos_of_xdots_seq
+ { \@@_test_vline_in_block:nnnnn ##1 }
+ \seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
+ { \@@_test_vline_in_stroken_block:nnnn ##1 }
+ \clist_if_empty:NF \l_@@_corners_clist \@@_test_in_corner_v:
+ \bool_if:NTF \g_tmpa_bool
+ {
+ \int_if_zero:nT \l_@@_local_start_int
+% \end{macrocode}
+% We keep in memory that we have a rule to draw. |\l_@@_local_start_int| will be
+% the starting row of the rule that we will have to draw.
+% \begin{macrocode}
+ { \int_set:Nn \l_@@_local_start_int \l_tmpa_tl }
+ }
+ {
+ \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
+ {
+ \int_set:Nn \l_@@_local_end_int { \l_tmpa_tl - 1 }
+ \@@_vline_ii:
+ \int_zero:N \l_@@_local_start_int
+ }
+ }
+ }
+ \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
+ {
+ \int_set_eq:NN \l_@@_local_end_int \l_@@_end_int
+ \@@_vline_ii:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_in_corner_v:
+ {
+ \int_compare:nNnTF \l_tmpb_tl = { \int_eval:n { \c@jCol + 1 } }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \l_tmpa_tl - \int_eval:n { \l_tmpb_tl - 1 } }
+ { \bool_set_false:N \g_tmpa_bool }
+ }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \l_tmpa_tl - \l_tmpb_tl }
+ {
+ \int_compare:nNnTF \l_tmpb_tl = \c_one_int
+ { \bool_set_false:N \g_tmpa_bool }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \l_tmpa_tl - \int_eval:n { \l_tmpb_tl - 1 } }
+ { \bool_set_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline_ii:
+ {
+ \tl_clear:N \l_@@_tikz_rule_tl
+ \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
+ \bool_if:NTF \l_@@_dotted_bool
+ \@@_vline_iv:
+ {
+ \tl_if_empty:NTF \l_@@_tikz_rule_tl
+ \@@_vline_iii:
+ \@@_vline_v:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% First the case of a standard rule: the user has not used the key |dotted| nor
+% the key |tikz|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline_iii:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_tmpb_dim
+ {
+ \pgf@x
+ - 0.5 \l_@@_rule_width_dim
+ +
+ ( \arrayrulewidth * \l_@@_multiplicity_int
+ + \doublerulesep * ( \l_@@_multiplicity_int - 1 ) ) / 2
+ }
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \bool_lazy_all:nT
+ {
+ { \int_compare_p:nNn \l_@@_multiplicity_int > \c_one_int }
+ { \cs_if_exist_p:N \CT@drsc@ }
+ { ! \tl_if_blank_p:o \CT@drsc@ }
+ }
+ {
+ \group_begin:
+ \CT@drsc@
+ \dim_add:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
+ \dim_sub:Nn \l_@@_tmpc_dim { 0.5 \arrayrulewidth }
+ \dim_set:Nn \l_@@_tmpd_dim
+ {
+ \l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
+ * ( \l_@@_multiplicity_int - 1 )
+ }
+ \pgfpathrectanglecorners
+ { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
+ { \pgfpoint \l_@@_tmpd_dim \l_@@_tmpc_dim }
+ \pgfusepath { fill }
+ \group_end:
+ }
+ \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
+ \prg_replicate:nn { \l_@@_multiplicity_int - 1 }
+ {
+ \dim_sub:Nn \l_tmpb_dim \arrayrulewidth
+ \dim_sub:Nn \l_tmpb_dim \doublerulesep
+ \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
+ }
+ \CT@arc@
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \pgfsetrectcap
+ \pgfusepathqstroke
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following code is for the case of a dotted rule (with our system of
+% rounded dots).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline_iv:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_@@_x_initial_dim { \pgf@x - 0.5 \l_@@_rule_width_dim }
+ \dim_set_eq:NN \l_@@_x_final_dim \l_@@_x_initial_dim
+ \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
+ \CT@arc@
+ \@@_draw_line:
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following code is for the case when the user uses the key |tikz|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vline_v:
+ {
+ \begin {tikzpicture }
+% \end{macrocode}
+% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
+% used, but it's still possible to change the color by using the key |color| or,
+% of course, the key |color| inside the key |tikz| (that is to say the key
+% |color| provided by \textsc{pgf}.
+% \begin{macrocode}
+ \CT@arc@
+ \tl_if_empty:NF \l_@@_rule_color_tl
+ { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_tmpb_dim { \pgf@x - 0.5 \l_@@_rule_width_dim }
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \exp_args:No \tikzset \l_@@_tikz_rule_tl
+ \use:e { \exp_not:N \draw [ \l_@@_tikz_rule_tl ] }
+ ( \l_tmpb_dim , \l_tmpa_dim ) --
+ ( \l_tmpb_dim , \l_@@_tmpc_dim ) ;
+ \end { tikzpicture }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The command |\@@_draw_vlines:| draws all the vertical rules excepted in the
+% blocks, in the virtual blocks (determined by a command such as |\Cdots|) and in
+% the corners (if the key |corners| is used).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_vlines:
+ {
+ \int_step_inline:nnn
+ { \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool 2 1 }
+ {
+ \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool
+ \c@jCol
+ { \int_eval:n { \c@jCol + 1 } }
+ }
+ {
+ \tl_if_eq:NNF \l_@@_vlines_clist \c_@@_all_tl
+ { \clist_if_in:NnT \l_@@_vlines_clist { ##1 } }
+ { \@@_vline:n { position = ##1 , total-width = \arrayrulewidth } }
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \subsubsection*{The horizontal rules}
+%
+% \bigskip
+% The following command will be executed in the internal |\CodeAfter|. The
+% argument |#1| is a list of \textsl{key=value} pairs of the form
+% |{NiceMatrix/Rules}|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline:n #1
+ {
+% \end{macrocode}
+% The group is for the options.
+% \begin{macrocode}
+ \group_begin:
+ \int_zero_new:N \l_@@_end_int
+ \int_set_eq:NN \l_@@_end_int \c@jCol
+ \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
+ \@@_hline_i:
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline_i:
+ {
+ \int_zero_new:N \l_@@_local_start_int
+ \int_zero_new:N \l_@@_local_end_int
+% \end{macrocode}
+% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When
+% we have found a column corresponding to a rule to draw, we note its number in
+% |\l_@@_tmpc_tl|.
+% \begin{macrocode}
+ \tl_set:No \l_tmpa_tl { \int_use:N \l_@@_position_int }
+ \int_step_variable:nnNn \l_@@_start_int \l_@@_end_int
+ \l_tmpb_tl
+ {
+% \end{macrocode}
+% The boolean |\g_tmpa_bool| indicates whether the small horizontal rule will be
+% drawn. If we find that it is in a block (a real block, created by |\Block| or
+% a virtual block corresponding to a dotted line, created by |\Cdots|, |\Vdots|,
+% etc.), we will set |\g_tmpa_bool| to |false| and the small horizontal rule won't
+% be drawn.
+% \begin{macrocode}
+ \bool_gset_true:N \g_tmpa_bool
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_test_hline_in_block:nnnnn ##1 }
+ \seq_map_inline:Nn \g_@@_pos_of_xdots_seq
+ { \@@_test_hline_in_block:nnnnn ##1 }
+ \seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
+ { \@@_test_hline_in_stroken_block:nnnn ##1 }
+ \clist_if_empty:NF \l_@@_corners_clist \@@_test_in_corner_h:
+ \bool_if:NTF \g_tmpa_bool
+ {
+ \int_if_zero:nT \l_@@_local_start_int
+% \end{macrocode}
+% We keep in memory that we have a rule to draw. |\l_@@_local_start_int| will be
+% the starting row of the rule that we will have to draw.
+% \begin{macrocode}
+ { \int_set:Nn \l_@@_local_start_int \l_tmpb_tl }
+ }
+ {
+ \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
+ {
+ \int_set:Nn \l_@@_local_end_int { \l_tmpb_tl - 1 }
+ \@@_hline_ii:
+ \int_zero:N \l_@@_local_start_int
+ }
+ }
+ }
+ \int_compare:nNnT \l_@@_local_start_int > \c_zero_int
+ {
+ \int_set_eq:NN \l_@@_local_end_int \l_@@_end_int
+ \@@_hline_ii:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_in_corner_h:
+ {
+ \int_compare:nNnTF \l_tmpa_tl = { \int_eval:n { \c@iRow + 1 } }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \int_eval:n { \l_tmpa_tl - 1 } - \l_tmpb_tl }
+ { \bool_set_false:N \g_tmpa_bool }
+ }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \l_tmpa_tl - \l_tmpb_tl }
+ {
+ \int_compare:nNnTF \l_tmpa_tl = \c_one_int
+ { \bool_set_false:N \g_tmpa_bool }
+ {
+ \seq_if_in:NxT
+ \l_@@_corners_cells_seq
+ { \int_eval:n { \l_tmpa_tl - 1 } - \l_tmpb_tl }
+ { \bool_set_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline_ii:
+ {
+ \tl_clear:N \l_@@_tikz_rule_tl
+ \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
+ \bool_if:NTF \l_@@_dotted_bool
+ \@@_hline_iv:
+ {
+ \tl_if_empty:NTF \l_@@_tikz_rule_tl
+ \@@_hline_iii:
+ \@@_hline_v:
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% First the case of a standard rule (without the keys |dotted| and |tikz|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline_iii:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_tmpb_dim
+ {
+ \pgf@y
+ - 0.5 \l_@@_rule_width_dim
+ +
+ ( \arrayrulewidth * \l_@@_multiplicity_int
+ + \doublerulesep * ( \l_@@_multiplicity_int - 1 ) ) / 2
+ }
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
+ \bool_lazy_all:nT
+ {
+ { \int_compare_p:nNn \l_@@_multiplicity_int > \c_one_int }
+ { \cs_if_exist_p:N \CT@drsc@ }
+ { ! \tl_if_blank_p:o \CT@drsc@ }
+ }
+ {
+ \group_begin:
+ \CT@drsc@
+ \dim_set:Nn \l_@@_tmpd_dim
+ {
+ \l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
+ * ( \l_@@_multiplicity_int - 1 )
+ }
+ \pgfpathrectanglecorners
+ { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+ { \pgfpoint \l_@@_tmpc_dim \l_@@_tmpd_dim }
+ \pgfusepathqfill
+ \group_end:
+ }
+ \pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+ \pgfpathlineto { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
+ \prg_replicate:nn { \l_@@_multiplicity_int - 1 }
+ {
+ \dim_sub:Nn \l_tmpb_dim \arrayrulewidth
+ \dim_sub:Nn \l_tmpb_dim \doublerulesep
+ \pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
+ \pgfpathlineto { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
+ }
+ \CT@arc@
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \pgfsetrectcap
+ \pgfusepathqstroke
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following code is for the case of a dotted rule (with our system of
+% rounded dots).
+% The aim is that, by standard the dotted line fits between square brackets
+% (|\hline| doesn't).
+%
+% \smallskip
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
+% \begin{bNiceMatrix}
+% 1 & 2 & 3 & 4 \\
+% \hline
+% 1 & 2 & 3 & 4 \\
+% \hdottedline
+% 1 & 2 & 3 & 4
+% \end{bNiceMatrix}
+% \end{BVerbatim}
+% $\begin{bNiceMatrix}
+% 1 & 2 & 3 & 4 \\
+% \hline
+% 1 & 2 & 3 & 4 \\
+% \hdottedline
+% 1 & 2 & 3 & 4
+% \end{bNiceMatrix}$
+%
+% \smallskip
+% But, if the user uses |margin|, the dotted line extends to have the same width
+% as a |\hline|.
+%
+% \smallskip
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
+% \begin{bNiceMatrix}[margin]
+% 1 & 2 & 3 & 4 \\
+% \hline
+% 1 & 2 & 3 & 4 \\
+% \hdottedline
+% 1 & 2 & 3 & 4
+% \end{bNiceMatrix}
+% \end{BVerbatim}
+% $\begin{bNiceMatrix}[margin]
+% 1 & 2 & 3 & 4 \\
+% \hline
+% 1 & 2 & 3 & 4 \\
+% \hdottedline
+% 1 & 2 & 3 & 4
+% \end{bNiceMatrix}$
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline_iv:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_@@_y_initial_dim { \pgf@y - 0.5 \l_@@_rule_width_dim }
+ \dim_set_eq:NN \l_@@_y_final_dim \l_@@_y_initial_dim
+ \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ \int_compare:nNnT \l_@@_local_start_int = \c_one_int
+ {
+ \dim_sub:Nn \l_@@_x_initial_dim \l_@@_left_margin_dim
+ \bool_if:NF \g_@@_delims_bool
+ { \dim_sub:Nn \l_@@_x_initial_dim \arraycolsep }
+% \end{macrocode}
+% For reasons purely aesthetic, we do an adjustment in the case of a rounded
+% bracket. The correction by |0.5 \l_@@_xdots_inter_dim| is \emph{ad hoc} for a
+% better result.
+% \begin{macrocode}
+ \tl_if_eq:NnF \g_@@_left_delim_tl (
+ { \dim_add:Nn \l_@@_x_initial_dim { 0.5 \l_@@_xdots_inter_dim } }
+ }
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ \int_compare:nNnT \l_@@_local_end_int = \c@jCol
+ {
+ \dim_add:Nn \l_@@_x_final_dim \l_@@_right_margin_dim
+ \bool_if:NF \g_@@_delims_bool
+ { \dim_add:Nn \l_@@_x_final_dim \arraycolsep }
+ \tl_if_eq:NnF \g_@@_right_delim_tl )
+ { \dim_gsub:Nn \l_@@_x_final_dim { 0.5 \l_@@_xdots_inter_dim } }
+ }
+ \CT@arc@
+ \@@_draw_line:
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following code is for the case when the user uses the key |tikz| (in the
+% definition of a customized rule by using the key |custom-line|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hline_v:
+ {
+ \begin { tikzpicture }
+% \end{macrocode}
+% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
+% used, but it's still possible to change the color by using the key |color| or,
+% of course, the key |color| inside the key |tikz| (that is to say the key
+% |color| provided by \textsc{pgf}.
+% \begin{macrocode}
+ \CT@arc@
+ \tl_if_empty:NF \l_@@_rule_color_tl
+ { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { row - \int_use:N \l_@@_position_int }
+ \dim_set:Nn \l_tmpb_dim { \pgf@y - 0.5 \l_@@_rule_width_dim }
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
+ \exp_args:No \tikzset \l_@@_tikz_rule_tl
+ \use:e { \exp_not:N \draw [ \l_@@_tikz_rule_tl ] }
+ ( \l_tmpa_dim , \l_tmpb_dim ) --
+ ( \l_@@_tmpc_dim , \l_tmpb_dim ) ;
+ \end { tikzpicture }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The command |\@@_draw_hlines:| draws all the horizontal rules excepted in the
+% blocks (even the virtual blocks determined by commands such as |\Cdots| and in
+% the corners --- if the key |corners| is used).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_hlines:
+ {
+ \int_step_inline:nnn
+ { \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool 2 1 }
+ {
+ \bool_lazy_or:nnTF \g_@@_delims_bool \l_@@_except_borders_bool
+ \c@iRow
+ { \int_eval:n { \c@iRow + 1 } }
+ }
+ {
+ \tl_if_eq:NNF \l_@@_hlines_clist \c_@@_all_tl
+ { \clist_if_in:NnT \l_@@_hlines_clist { ##1 } }
+ { \@@_hline:n { position = ##1 , total-width = \arrayrulewidth } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The command |\@@_Hline:| will be linked to |\Hline| in the environments of
+% \pkg{nicematrix}.
+% \begin{macrocode}
+\cs_set:Npn \@@_Hline: { \noalign \bgroup \@@_Hline_i:n { 1 } }
+% \end{macrocode}
+%
+% \medskip
+% The argument of the command |\@@_Hline_i:n| is the number of successive
+% |\Hline| found.
+% \begin{macrocode}
+\cs_set:Npn \@@_Hline_i:n #1
+ {
+ \peek_remove_spaces:n
+ {
+ \peek_meaning:NTF \Hline
+ { \@@_Hline_ii:nn { #1 + 1 } }
+ { \@@_Hline_iii:n { #1 } }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set:Npn \@@_Hline_ii:nn #1 #2 { \@@_Hline_i:n { #1 } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set:Npn \@@_Hline_iii:n #1
+ { \@@_collect_options:n { \@@_Hline_iv:nn { #1 } } }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_set:Npn \@@_Hline_iv:nn #1 #2
+ {
+ \@@_compute_rule_width:n { multiplicity = #1 , #2 }
+ \skip_vertical:N \l_@@_rule_width_dim
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_hline:n
+ {
+ multiplicity = #1 ,
+ position = \int_eval:n { \c@iRow + 1 } ,
+ total-width = \dim_use:N \l_@@_rule_width_dim ,
+ #2
+ }
+ }
+ \egroup
+ }
+% \end{macrocode}
+%
+% \subsubsection*{Customized rules defined by the final user}
+%
+% The final user can define a customized rule by using the key |custom-line| in
+% |\NiceMatrixOptions|. That key takes in as value a list of \textsl{key=value}
+% pairs.
+%
+%
+%
+% \medskip
+% The following command will create the customized rule (it is executed when the
+% final user uses the key |custom-line|, for example in |\NiceMatrixOptions|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_custom_line:n #1
+ {
+ \str_clear_new:N \l_@@_command_str
+ \str_clear_new:N \l_@@_ccommand_str
+ \str_clear_new:N \l_@@_letter_str
+ \tl_clear_new:N \l_@@_other_keys_tl
+ \keys_set_known:nnN { NiceMatrix / custom-line } { #1 } \l_@@_other_keys_tl
+% \end{macrocode}
+% If the final user only wants to draw horizontal rules, he does not need to
+% specify a letter (for the vertical rules in the preamble of the array). On the
+% other hand, if he only wants to draw vertical rules, he does not need to
+% define a command (which is the tool to draw horizontal rules in the array). Of
+% course, a definition of custom lines with no letter and no command would be point-less.
+%
+% \begin{macrocode}
+ \bool_lazy_all:nTF
+ {
+ { \str_if_empty_p:N \l_@@_letter_str }
+ { \str_if_empty_p:N \l_@@_command_str }
+ { \str_if_empty_p:N \l_@@_ccommand_str }
+ }
+ { \@@_error:n { No~letter~and~no~command } }
+ { \exp_args:No \@@_custom_line_i:n \l_@@_other_keys_tl }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / custom-line }
+ {
+ letter .str_set:N = \l_@@_letter_str ,
+ letter .value_required:n = true ,
+ command .str_set:N = \l_@@_command_str ,
+ command .value_required:n = true ,
+ ccommand .str_set:N = \l_@@_ccommand_str ,
+ ccommand .value_required:n = true ,
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_custom_line_i:n #1
+ {
+% \end{macrocode}
+% The following flags will be raised when the keys |tikz|, |dotted| and |color|
+% are used (in the |custom-line|).
+% \begin{macrocode}
+ \bool_set_false:N \l_@@_tikz_rule_bool
+ \bool_set_false:N \l_@@_dotted_rule_bool
+ \bool_set_false:N \l_@@_color_bool
+% \end{macrocode}
+% \begin{macrocode}
+ \keys_set:nn { NiceMatrix / custom-line-bis } { #1 }
+ \bool_if:NT \l_@@_tikz_rule_bool
+ {
+ \IfPackageLoadedTF { tikz }
+ { }
+ { \@@_error:n { tikz~in~custom-line~without~tikz } }
+ \bool_if:NT \l_@@_color_bool
+ { \@@_error:n { color~in~custom-line~with~tikz } }
+ }
+ \bool_if:NT \l_@@_dotted_rule_bool
+ {
+ \int_compare:nNnT \l_@@_multiplicity_int > \c_one_int
+ { \@@_error:n { key~multiplicity~with~dotted } }
+ }
+ \str_if_empty:NF \l_@@_letter_str
+ {
+ \int_compare:nTF { \str_count:N \l_@@_letter_str != 1 }
+ { \@@_error:n { Several~letters } }
+ {
+ \exp_args:NnV \tl_if_in:NnTF
+ \c_@@_forbidden_letters_str \l_@@_letter_str
+ { \@@_error:ne { Forbidden~letter } \l_@@_letter_str }
+ {
+% \end{macrocode}
+% During the analyse of the preamble provided by the final user, our automaton,
+% for the letter corresponding at the custom line, will directly use the
+% following command that you define in the main hash table of TeX.
+% \begin{macrocode}
+ \cs_set:cpn { @@ _ \l_@@_letter_str } ##1
+ { \@@_v_custom_line:n { #1 } }
+ }
+ }
+ }
+ \str_if_empty:NF \l_@@_command_str { \@@_h_custom_line:n { #1 } }
+ \str_if_empty:NF \l_@@_ccommand_str { \@@_c_custom_line:n { #1 } }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\tl_const:Nn \c_@@_forbidden_letters_tl { lcrpmbVX|()[]!@<> }
+\str_const:Nn \c_@@_forbidden_letters_str { lcrpmbVX|()[]!@<> }
+% \end{macrocode}
+%
+% \medskip
+% The previous command |\@@_custom_line_i:n| uses the following set of keys.
+% However, the whole definition of the customized lines (as provided by the
+% final user as argument of |custom-line|) will also be used further with
+% other sets of keys (for instance |{NiceMatrix/Rules}|). That's why the
+% following set of keys has some keys which are no-op.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / custom-line-bis }
+ {
+ multiplicity .int_set:N = \l_@@_multiplicity_int ,
+ multiplicity .initial:n = 1 ,
+ multiplicity .value_required:n = true ,
+ color .code:n = \bool_set_true:N \l_@@_color_bool ,
+ color .value_required:n = true ,
+ tikz .code:n = \bool_set_true:N \l_@@_tikz_rule_bool ,
+ tikz .value_required:n = true ,
+ dotted .code:n = \bool_set_true:N \l_@@_dotted_rule_bool ,
+ dotted .value_forbidden:n = true ,
+ total-width .code:n = { } ,
+ total-width .value_required:n = true ,
+ width .code:n = { } ,
+ width .value_required:n = true ,
+ sep-color .code:n = { } ,
+ sep-color .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~custom-line }
+ }
+% \end{macrocode}
+%
+% The following keys will indicate whether the keys |dotted|, |tikz| and |color|
+% are used in the use of a |custom-line|.
+% \begin{macrocode}
+\bool_new:N \l_@@_dotted_rule_bool
+\bool_new:N \l_@@_tikz_rule_bool
+\bool_new:N \l_@@_color_bool
+% \end{macrocode}
+%
+% \bigskip
+% The following keys are used to determine the total width of the line
+% (including the spaces on both sides of the line). The key |width| is
+% deprecated and has been replaced by the key |total-width|.
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / custom-line-width }
+ {
+ multiplicity .int_set:N = \l_@@_multiplicity_int ,
+ multiplicity .initial:n = 1 ,
+ multiplicity .value_required:n = true ,
+ tikz .code:n = \bool_set_true:N \l_@@_tikz_rule_bool ,
+ total-width .code:n = \dim_set:Nn \l_@@_rule_width_dim { #1 }
+ \bool_set_true:N \l_@@_total_width_bool ,
+ total-width .value_required:n = true ,
+ width .meta:n = { total-width = #1 } ,
+ dotted .code:n = \bool_set_true:N \l_@@_dotted_rule_bool ,
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will create the command that the final user will use in
+% its array to draw an horizontal rule (hence the `|h|` in the name) with the
+% full width of the array. |#1| is the whole set of keys to pass to the command
+% |\@@_hline:n| (which is in the internal |\CodeAfter|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_h_custom_line:n #1
+ {
+% \end{macrocode}
+% We use |\cs_set:cpn| and not |\cs_new:cpn| because we want a local definition.
+% Moreover, the command must \emph{not} be protected since it begins with
+% |\noalign| (which is in |\Hline|).
+% \begin{macrocode}
+ \cs_set:cpn { nicematrix - \l_@@_command_str } { \Hline [ #1 ] }
+ \seq_put_left:No \l_@@_custom_line_commands_seq \l_@@_command_str
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \bigskip
+% The following command will create the command that the final user will use in
+% its array to draw an horizontal rule on only some of the columns of the array
+% (hence the letter |c| as in |\cline|). |#1| is the whole set of keys to pass
+% to the command |\@@_hline:n| (which is in the internal |\CodeAfter|).
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_c_custom_line:n #1
+ {
+% \end{macrocode}
+% Here, we need an expandable command since it begins with an |\noalign|.
+% \begin{macrocode}
+ \exp_args:Nc \NewExpandableDocumentCommand
+ { nicematrix - \l_@@_ccommand_str }
+ { O { } m }
+ {
+ \noalign
+ {
+ \@@_compute_rule_width:n { #1 , ##1 }
+ \skip_vertical:n { \l_@@_rule_width_dim }
+ \clist_map_inline:nn
+ { ##2 }
+ { \@@_c_custom_line_i:nn { #1 , ##1 } { ####1 } }
+ }
+ }
+ \seq_put_left:No \l_@@_custom_line_commands_seq \l_@@_ccommand_str
+ }
+% \end{macrocode}
+% The first argument is the list of key-value pairs characteristic of the line.
+% The second argument is the specification of columns for the |\cline| with the
+% syntax $a$-$b$.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_c_custom_line_i:nn #1 #2
+ {
+ \str_if_in:nnTF { #2 } { - }
+ { \@@_cut_on_hyphen:w #2 \q_stop }
+ { \@@_cut_on_hyphen:w #2 - #2 \q_stop }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_hline:n
+ {
+ #1 ,
+ start = \l_tmpa_tl ,
+ end = \l_tmpb_tl ,
+ position = \int_eval:n { \c@iRow + 1 } ,
+ total-width = \dim_use:N \l_@@_rule_width_dim
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_compute_rule_width:n #1
+ {
+ \bool_set_false:N \l_@@_tikz_rule_bool
+ \bool_set_false:N \l_@@_total_width_bool
+ \bool_set_false:N \l_@@_dotted_rule_bool
+ \keys_set_known:nn { NiceMatrix / custom-line-width } { #1 }
+ \bool_if:NF \l_@@_total_width_bool
+ {
+ \bool_if:NTF \l_@@_dotted_rule_bool
+ { \dim_set:Nn \l_@@_rule_width_dim { 2 \l_@@_xdots_radius_dim } }
+ {
+ \bool_if:NF \l_@@_tikz_rule_bool
+ {
+ \dim_set:Nn \l_@@_rule_width_dim
+ {
+ \arrayrulewidth * \l_@@_multiplicity_int
+ + \doublerulesep * ( \l_@@_multiplicity_int - 1 )
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_v_custom_line:n #1
+ {
+ \@@_compute_rule_width:n { #1 }
+% \end{macrocode}
+% In the following line, the |\dim_use:N| is mandatory since we do an expansion.
+% \begin{macrocode}
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
+ { \exp_not:N ! { \skip_horizontal:n { \dim_use:N \l_@@_rule_width_dim } } }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_vline:n
+ {
+ #1 ,
+ position = \int_eval:n { \c@jCol + 1 } ,
+ total-width = \dim_use:N \l_@@_rule_width_dim
+ }
+ }
+ \@@_rec_preamble:n
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_custom_line:n
+ { letter = : , command = hdottedline , ccommand = cdottedline, dotted }
+% \end{macrocode}
+%
+% \subsubsection*{The key hvlines}
+%
+% The following command tests whether the current position in the array (given by
+% |\l_tmpa_tl| for the row and |\l_tmpb_tl| for the column) would provide an
+% horizontal rule towards the right in the block delimited by the four arguments
+% |#1|, |#2|, |#3| and |#4|. If this rule would be in the block (it must not be
+% drawn), the boolean |\l_tmpa_bool| is set to |false|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_hline_in_block:nnnnn #1 #2 #3 #4 #5
+ {
+ \int_compare:nNnT \l_tmpa_tl > { #1 }
+ {
+ \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
+ {
+ \int_compare:nNnT \l_tmpb_tl > { #2 - 1 }
+ {
+ \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% The same for vertical rules.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_vline_in_block:nnnnn #1 #2 #3 #4 #5
+ {
+ \int_compare:nNnT \l_tmpa_tl > { #1 - 1 }
+ {
+ \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
+ {
+ \int_compare:nNnT \l_tmpb_tl > { #2 }
+ {
+ \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_hline_in_stroken_block:nnnn #1 #2 #3 #4
+ {
+ \int_compare:nNnT \l_tmpb_tl > { #2 - 1 }
+ {
+ \int_compare:nNnT \l_tmpb_tl < { #4 + 1 }
+ {
+ \int_compare:nNnTF \l_tmpa_tl = { #1 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ {
+ \int_compare:nNnT \l_tmpa_tl = { #3 + 1 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_vline_in_stroken_block:nnnn #1 #2 #3 #4
+ {
+ \int_compare:nNnT \l_tmpa_tl > { #1 - 1 }
+ {
+ \int_compare:nNnT \l_tmpa_tl < { #3 + 1 }
+ {
+ \int_compare:nNnTF \l_tmpb_tl = { #2 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ {
+ \int_compare:nNnT \l_tmpb_tl = { #4 + 1 }
+ { \bool_gset_false:N \g_tmpa_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The empty corners}
+%
+% When the key |corners| is raised, the rules are not drawn in the corners; they
+% are not colored and |\TikzEveryCell| does not apply. Of course, we have to
+% compute the corners before we begin to draw the rules.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_compute_corners:
+ {
+% \end{macrocode}
+% The sequence |\l_@@_corners_cells_seq| will be the sequence of all the
+% empty cells (and not in a block) considered in the corners of the array.
+% \begin{macrocode}
+ \seq_clear_new:N \l_@@_corners_cells_seq
+ \clist_map_inline:Nn \l_@@_corners_clist
+ {
+ \str_case:nnF { ##1 }
+ {
+ { NW }
+ { \@@_compute_a_corner:nnnnnn 1 1 1 1 \c@iRow \c@jCol }
+ { NE }
+ { \@@_compute_a_corner:nnnnnn 1 \c@jCol 1 { -1 } \c@iRow 1 }
+ { SW }
+ { \@@_compute_a_corner:nnnnnn \c@iRow 1 { -1 } 1 1 \c@jCol }
+ { SE }
+ { \@@_compute_a_corner:nnnnnn \c@iRow \c@jCol { -1 } { -1 } 1 1 }
+ }
+ { \@@_error:nn { bad~corner } { ##1 } }
+ }
+% \end{macrocode}
+% Even if the user has used the key |corners| the list of cells in the corners
+% may be empty.
+% \begin{macrocode}
+ \seq_if_empty:NF \l_@@_corners_cells_seq
+ {
+% \end{macrocode}
+% You write on the |aux| file the list of the cells which are in the (empty)
+% corners because you need that information in the |\CodeBefore| since the
+% commands which color the |rows|, |columns| and |cells| must not color the
+% cells in the corners.
+% \begin{macrocode}
+ \tl_gput_right:Nx \g_@@_aux_tl
+ {
+ \seq_set_from_clist:Nn \exp_not:N \l_@@_corners_cells_seq
+ { \seq_use:Nnnn \l_@@_corners_cells_seq , , , }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% ``Computing a corner'' is determining all the empty cells (which are not in a
+% block) that belong to that corner. These cells will be added to the sequence
+% |\l_@@_corners_cells_seq|.
+%
+% \medskip
+% The six arguments of |\@@_compute_a_corner:nnnnnn| are as follow:
+% \begin{itemize}
+% \item |#1| and |#2| are the number of row and column of the cell which is
+% actually in the corner;
+% \item |#3| and |#4| are the steps in rows and the step in columns when moving
+% from the corner;
+% \item |#5| is the number of the final row when scanning the rows from the
+% corner;
+% \item |#6| is the number of the final column when scanning the columns from
+% the corner.
+% \end{itemize}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_compute_a_corner:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+% \end{macrocode}
+% For the explanations and the name of the variables, we consider that we are
+% computing the left-upper corner.
+%
+% First, we try to determine which is the last empty cell (and not in a block:
+% we won't add that precision any longer) in the column of number~$1$. The flag
+% |\l_tmpa_bool| will be raised when a non-empty cell is found.
+% \begin{macrocode}
+ \bool_set_false:N \l_tmpa_bool
+ \int_zero_new:N \l_@@_last_empty_row_int
+ \int_set:Nn \l_@@_last_empty_row_int { #1 }
+ \int_step_inline:nnnn { #1 } { #3 } { #5 }
+ {
+ \@@_test_if_cell_in_a_block:nn { ##1 } { \int_eval:n { #2 } }
+ \bool_lazy_or:nnTF
+ {
+ \cs_if_exist_p:c
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_eval:n { #2 } }
+ }
+ \l_tmpb_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ {
+ \bool_if:NF \l_tmpa_bool
+ { \int_set:Nn \l_@@_last_empty_row_int { ##1 } }
+ }
+ }
+% \end{macrocode}
+% Now, you determine the last empty cell in the row of number~$1$.
+% \begin{macrocode}
+ \bool_set_false:N \l_tmpa_bool
+ \int_zero_new:N \l_@@_last_empty_column_int
+ \int_set:Nn \l_@@_last_empty_column_int { #2 }
+ \int_step_inline:nnnn { #2 } { #4 } { #6 }
+ {
+ \@@_test_if_cell_in_a_block:nn { \int_eval:n { #1 } } { ##1 }
+ \bool_lazy_or:nnTF
+ \l_tmpb_bool
+ {
+ \cs_if_exist_p:c
+ { pgf @ sh @ ns @ \@@_env: - \int_eval:n { #1 } - ##1 }
+ }
+ { \bool_set_true:N \l_tmpa_bool }
+ {
+ \bool_if:NF \l_tmpa_bool
+ { \int_set:Nn \l_@@_last_empty_column_int { ##1 } }
+ }
+ }
+% \end{macrocode}
+% Now, we loop over the rows.
+% \begin{macrocode}
+ \int_step_inline:nnnn { #1 } { #3 } \l_@@_last_empty_row_int
+ {
+% \end{macrocode}
+% We treat the row number |##1| with another loop.
+% \begin{macrocode}
+ \bool_set_false:N \l_tmpa_bool
+ \int_step_inline:nnnn { #2 } { #4 } \l_@@_last_empty_column_int
+ {
+ \@@_test_if_cell_in_a_block:nn { ##1 } { ####1 }
+ \bool_lazy_or:nnTF
+ \l_tmpb_bool
+ {
+ \cs_if_exist_p:c
+ { pgf @ sh @ ns @ \@@_env: - ##1 - ####1 }
+ }
+ { \bool_set_true:N \l_tmpa_bool }
+ {
+ \bool_if:NF \l_tmpa_bool
+ {
+ \int_set:Nn \l_@@_last_empty_column_int { ####1 }
+ \seq_put_right:Nn
+ \l_@@_corners_cells_seq
+ { ##1 - ####1 }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following macro tests whether a cell is in (at least) one of
+% the blocks of the array (or in a cell with a |\diagbox|).
+%
+% The flag |\l_tmpb_bool| will be raised if the cell |#1|-|#2| is in a block (or
+% in a cell with a |\diagbox|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_test_if_cell_in_a_block:nn #1 #2
+ {
+ \int_set:Nn \l_tmpa_int { #1 }
+ \int_set:Nn \l_tmpb_int { #2 }
+ \bool_set_false:N \l_tmpb_bool
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_test_if_cell_in_block:nnnnnnn \l_tmpa_int \l_tmpb_int ##1 }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_test_if_cell_in_block:nnnnnnn #1 #2 #3 #4 #5 #6 #7
+ {
+ \int_compare:nNnF { #3 } > { #1 }
+ {
+ \int_compare:nNnF { #1 } > { #5 }
+ {
+ \int_compare:nNnF { #4 } > { #2 }
+ {
+ \int_compare:nNnF { #2 } > { #6 }
+ { \bool_set_true:N \l_tmpb_bool }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The environment \{NiceMatrixBlock\}}
+%
+% The following flag will be raised when all the columns of the environments of
+% the block must have the same width in ``auto'' mode.
+% \begin{macrocode}
+\bool_new:N \l_@@_block_auto_columns_width_bool
+% \end{macrocode}
+%
+% \bigskip
+% Up to now, there is only one option available for the environment
+% |{NiceMatrixBlock}|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / NiceMatrixBlock }
+ {
+ auto-columns-width .code:n =
+ {
+ \bool_set_true:N \l_@@_block_auto_columns_width_bool
+ \dim_gzero_new:N \g_@@_max_cell_width_dim
+ \bool_set_true:N \l_@@_auto_columns_width_bool
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentEnvironment { NiceMatrixBlock } { ! O { } }
+ {
+ \int_gincr:N \g_@@_NiceMatrixBlock_int
+ \dim_zero:N \l_@@_columns_width_dim
+ \keys_set:nn { NiceMatrix / NiceMatrixBlock } { #1 }
+ \bool_if:NT \l_@@_block_auto_columns_width_bool
+ {
+ \cs_if_exist:cT
+ { @@_max_cell_width_ \int_use:N \g_@@_NiceMatrixBlock_int }
+ {
+ % is \exp_args:NNe mandatory?
+ \exp_args:NNe \dim_set:Nn \l_@@_columns_width_dim
+ {
+ \use:c
+ { @@_max_cell_width _ \int_use:N \g_@@_NiceMatrixBlock_int }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% At the end of the environment |{NiceMatrixBlock}|, we write in the main |aux|
+% file instructions for the column width of all the environments of the block
+% (that's why we have stored the number of the first environment of the block in
+% the counter |\l_@@_first_env_block_int|).
+% \begin{macrocode}
+ {
+ \legacy_if:nTF { measuring@ }
+% \end{macrocode}
+% If |{NiceMatrixBlock}| is used in an environment of \pkg{amsmath} such as
+% |{align}|: cf. question 694957 on TeX StackExchange. The most important line
+% in that case is the following one.
+% \begin{macrocode}
+ { \int_gdecr:N \g_@@_NiceMatrixBlock_int }
+ {
+ \bool_if:NT \l_@@_block_auto_columns_width_bool
+ {
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOn
+ \iow_shipout:Nx \@mainaux
+ {
+ \cs_gset:cpn
+ { @@ _ max _ cell _ width _ \int_use:N \g_@@_NiceMatrixBlock_int }
+% \end{macrocode}
+% For technical reasons, we have to include the width of a potential rule on the
+% right side of the cells.
+% \begin{macrocode}
+ { \dim_eval:n { \g_@@_max_cell_width_dim + \arrayrulewidth } }
+ }
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOff
+ }
+ }
+ \ignorespacesafterend
+ }
+% \end{macrocode}
+%
+%
+%
+% \section{The extra nodes}
+%
+% First, two variants of the functions |\dim_min:nn| and |\dim_max:nn|.
+% \begin{macrocode}
+\cs_generate_variant:Nn \dim_min:nn { v n }
+\cs_generate_variant:Nn \dim_max:nn { v n }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following command is called in |\@@_use_arraybox_with_notes_c:| just
+% before the construction of the blocks (if the creation of medium nodes is
+% required, medium nodes are also created for the blocks and that construction
+% uses the standard medium nodes).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_extra_nodes:
+ {
+ \bool_if:nTF \l_@@_medium_nodes_bool
+ {
+ \bool_if:NTF \l_@@_large_nodes_bool
+ \@@_create_medium_and_large_nodes:
+ \@@_create_medium_nodes:
+ }
+ { \bool_if:NT \l_@@_large_nodes_bool \@@_create_large_nodes: }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% We have three macros of creation of nodes: |\@@_create_medium_nodes:|,
+% |\@@_create_large_nodes:| and |\@@_create_medium_and_large_nodes:|.
+%
+%
+% \bigskip
+% We have to compute the mathematical coordinates of the ``medium nodes''. These
+% mathematical coordinates are also used to compute the mathematical coordinates
+% of the ``large nodes''. That's why we write a command
+% |\@@_computations_for_medium_nodes:| to do these computations.
+%
+% \bigskip
+% The command |\@@_computations_for_medium_nodes:| must be used in a
+% |{pgfpicture}|.
+%
+% \medskip
+% For each row $i$, we compute two dimensions
+% \texttt{l_@@_row_\textsl{i}_min_dim} and \texttt{l_@@_row_\textsl{i}_max_dim}.
+% The dimension \texttt{l_@@_row_\textsl{i}_min_dim} is the minimal
+% $y$-value of all the cells of the row~$i$. The dimension
+% \texttt{l_@@_row_\textsl{i}_max_dim} is the maximal $y$-value of all the cells
+% of the row~$i$.
+%
+% Similarly, for each column $j$, we compute two dimensions
+% \texttt{l_@@_column_\textsl{j}_min_dim} and
+% \texttt{l_@@_column_\textsl{j}_max_dim}. The dimension
+% \texttt{l_@@_column_\textsl{j}_min_dim} is the minimal $x$-value of all the
+% cells of the column~$j$. The dimension \texttt{l_@@_column_\textsl{j}_max_dim}
+% is the maximal $x$-value of all the cells of the column~$j$.
+%
+% Since these dimensions will be computed as maximum or minimum, we initialize
+% them to |\c_max_dim| or |-\c_max_dim|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_computations_for_medium_nodes:
+ {
+ \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
+ {
+ \dim_zero_new:c { l_@@_row_\@@_i: _min_dim }
+ \dim_set_eq:cN { l_@@_row_\@@_i: _min_dim } \c_max_dim
+ \dim_zero_new:c { l_@@_row_\@@_i: _max_dim }
+ \dim_set:cn { l_@@_row_\@@_i: _max_dim } { - \c_max_dim }
+ }
+ \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
+ {
+ \dim_zero_new:c { l_@@_column_\@@_j: _min_dim }
+ \dim_set_eq:cN { l_@@_column_\@@_j: _min_dim } \c_max_dim
+ \dim_zero_new:c { l_@@_column_\@@_j: _max_dim }
+ \dim_set:cn { l_@@_column_\@@_j: _max_dim } { - \c_max_dim }
+ }
+% \end{macrocode}
+% We begin the two nested loops over the rows and the columns of the array.
+% \begin{macrocode}
+ \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
+ {
+ \int_step_variable:nnNn
+ \l_@@_first_col_int \g_@@_col_total_int \@@_j:
+% \end{macrocode}
+% If the cell ($i$-$j$) is empty or an implicit cell (that is to say a cell
+% after implicit ampersands |&|) we don't update the dimensions we want to
+% compute.
+% \begin{macrocode}
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - \@@_i: - \@@_j: }
+% \end{macrocode}
+% We retrieve the coordinates of the anchor |south west| of the (normal) node of
+% the cell ($i$-$j$). They will be stored in |\pgf@x| and |\pgf@y|.
+% \begin{macrocode}
+ {
+ \pgfpointanchor { \@@_env: - \@@_i: - \@@_j: } { south~west }
+ \dim_set:cn { l_@@_row_\@@_i: _min_dim}
+ { \dim_min:vn { l_@@_row _ \@@_i: _min_dim } \pgf@y }
+ \seq_if_in:NxF \g_@@_multicolumn_cells_seq { \@@_i: - \@@_j: }
+ {
+ \dim_set:cn { l_@@_column _ \@@_j: _min_dim}
+ { \dim_min:vn { l_@@_column _ \@@_j: _min_dim } \pgf@x }
+ }
+% \end{macrocode}
+% We retrieve the coordinates of the anchor |north east| of the (normal) node of
+% the cell ($i$-$j$). They will be stored in |\pgf@x| and |\pgf@y|.
+% \begin{macrocode}
+ \pgfpointanchor { \@@_env: - \@@_i: - \@@_j: } { north~east }
+ \dim_set:cn { l_@@_row _ \@@_i: _ max_dim }
+ { \dim_max:vn { l_@@_row _ \@@_i: _ max_dim } \pgf@y }
+ \seq_if_in:NxF \g_@@_multicolumn_cells_seq { \@@_i: - \@@_j: }
+ {
+ \dim_set:cn { l_@@_column _ \@@_j: _ max_dim }
+ { \dim_max:vn { l_@@_column _ \@@_j: _max_dim } \pgf@x }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% Now, we have to deal with empty rows or empty columns since we don't have
+% created nodes in such rows and columns.
+% \begin{macrocode}
+ \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
+ {
+ \dim_compare:nNnT
+ { \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } } = \c_max_dim
+ {
+ \@@_qpoint:n { row - \@@_i: - base }
+ \dim_set:cn { l_@@_row _ \@@_i: _ max _ dim } \pgf@y
+ \dim_set:cn { l_@@_row _ \@@_i: _ min _ dim } \pgf@y
+ }
+ }
+ \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
+ {
+ \dim_compare:nNnT
+ { \dim_use:c { l_@@_column _ \@@_j: _ min _ dim } } = \c_max_dim
+ {
+ \@@_qpoint:n { col - \@@_j: }
+ \dim_set:cn { l_@@_column _ \@@_j: _ max _ dim } \pgf@y
+ \dim_set:cn { l_@@_column _ \@@_j: _ min _ dim } \pgf@y
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% Here is the command |\@@_create_medium_nodes:|. When this command is used, the
+% ``medium nodes'' are created.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_medium_nodes:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_computations_for_medium_nodes:
+% \end{macrocode}
+% Now, we can create the ``medium nodes''. We use a command |\@@_create_nodes:|
+% because this command will also be used for the creation of the ``large nodes''.
+% \begin{macrocode}
+ \cs_set_nopar:Npn \l_@@_suffix_tl { -medium }
+ \@@_create_nodes:
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The command |\@@_create_large_nodes:| must be used when we want to create only
+% the ``large nodes'' and not the medium ones\footnote{If we want to create
+% both, we have to use |\@@_create_medium_and_large_nodes:|}. However, the
+% computation of the mathematical coordinates of the ``large nodes'' needs the
+% computation of the mathematical coordinates of the ``medium nodes''. Hence, we
+% use first |\@@_computations_for_medium_nodes:| and then the command
+% |\@@_computations_for_large_nodes:|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_large_nodes:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_computations_for_medium_nodes:
+ \@@_computations_for_large_nodes:
+ \cs_set_nopar:Npn \l_@@_suffix_tl { - large }
+ \@@_create_nodes:
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_medium_and_large_nodes:
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_computations_for_medium_nodes:
+% \end{macrocode}
+% Now, we can create the ``medium nodes''. We use a command |\@@_create_nodes:|
+% because this command will also be used for the creation of the ``large nodes''.
+% \begin{macrocode}
+ \cs_set_nopar:Npn \l_@@_suffix_tl { - medium }
+ \@@_create_nodes:
+ \@@_computations_for_large_nodes:
+ \cs_set_nopar:Npn \l_@@_suffix_tl { - large }
+ \@@_create_nodes:
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% For ``large nodes'', the exterior rows and columns don't interfer. That's why
+% the loop over the columns will start at 1 and stop at $|\c@jCol|$ (and not
+% |\g_@@_col_total_int|). Idem for the rows.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_computations_for_large_nodes:
+ {
+ \int_set_eq:NN \l_@@_first_row_int \c_one_int
+ \int_set_eq:NN \l_@@_first_col_int \c_one_int
+% \end{macrocode}
+% We have to change the values of all the dimensions
+% \texttt{l_@@_row_\textsl{i}_min_dim}, \texttt{l_@@_row_\textsl{i}_max_dim},
+% \texttt{l_@@_column_\textsl{j}_min_dim} and
+% \texttt{l_@@_column_\textsl{j}_max_dim}.
+% \begin{macrocode}
+ \int_step_variable:nNn { \c@iRow - 1 } \@@_i:
+ {
+ \dim_set:cn { l_@@_row _ \@@_i: _ min _ dim }
+ {
+ (
+ \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } +
+ \dim_use:c { l_@@_row _ \int_eval:n { \@@_i: + 1 } _ max _ dim }
+ )
+ / 2
+ }
+ \dim_set_eq:cc { l_@@_row _ \int_eval:n { \@@_i: + 1 } _ max _ dim }
+ { l_@@_row_\@@_i: _min_dim }
+ }
+ \int_step_variable:nNn { \c@jCol - 1 } \@@_j:
+ {
+ \dim_set:cn { l_@@_column _ \@@_j: _ max _ dim }
+ {
+ (
+ \dim_use:c { l_@@_column _ \@@_j: _ max _ dim } +
+ \dim_use:c
+ { l_@@_column _ \int_eval:n { \@@_j: + 1 } _ min _ dim }
+ )
+ / 2
+ }
+ \dim_set_eq:cc { l_@@_column _ \int_eval:n { \@@_j: + 1 } _ min _ dim }
+ { l_@@_column _ \@@_j: _ max _ dim }
+ }
+% \end{macrocode}
+% Here, we have to use |\dim_sub:cn| because of the number 1 in the name.
+% \begin{macrocode}
+ \dim_sub:cn
+ { l_@@_column _ 1 _ min _ dim }
+ \l_@@_left_margin_dim
+ \dim_add:cn
+ { l_@@_column _ \int_use:N \c@jCol _ max _ dim }
+ \l_@@_right_margin_dim
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% The command |\@@_create_nodes:| is used twice: for the construction
+% of the ``medium nodes'' and for the construction of the ``large nodes''. The
+% nodes are constructed with the value of all the dimensions
+% \texttt{l_@@_row_\textsl{i}_min_dim}, \texttt{l_@@_row_\textsl{i}_max_dim},
+% \texttt{l_@@_column_\textsl{j}_min_dim} and
+% \texttt{l_@@_column_\textsl{j}_max_dim}. Between the construction of the
+% ``medium nodes'' and the ``large nodes'', the values of these dimensions are
+% changed.
+%
+% The function also uses |\l_@@_suffix_tl| (|-medium| or |-large|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_nodes:
+ {
+ \int_step_variable:nnNn \l_@@_first_row_int \g_@@_row_total_int \@@_i:
+ {
+ \int_step_variable:nnNn \l_@@_first_col_int \g_@@_col_total_int \@@_j:
+ {
+% \end{macrocode}
+% We draw the rectangular node for the cell (|\@@_i|-|\@@_j|).
+% \begin{macrocode}
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
+ { \dim_use:c { l_@@_column_ \@@_j: _min_dim } }
+ { \dim_use:c { l_@@_row_ \@@_i: _min_dim } }
+ { \dim_use:c { l_@@_column_ \@@_j: _max_dim } }
+ { \dim_use:c { l_@@_row_ \@@_i: _max_dim } }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \@@_i: - \@@_j: \l_@@_suffix_tl }
+ { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
+ }
+ }
+ }
+% \end{macrocode}
+% Now, we create the nodes for the cells of the |\multicolumn|. We recall that
+% we have stored in |\g_@@_multicolumn_cells_seq| the list of the cells where a
+% |\multicolumn{|$n$|}{...}{...}| with $n$>1 was issued and in
+% |\g_@@_multicolumn_sizes_seq| the correspondant values of $n$.
+% \begin{macrocode}
+ \seq_map_pairwise_function:NNN
+ \g_@@_multicolumn_cells_seq
+ \g_@@_multicolumn_sizes_seq
+ \@@_node_for_multicolumn:nn
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_extract_coords_values: #1 - #2 \q_stop
+ {
+ \cs_set_nopar:Npn \@@_i: { #1 }
+ \cs_set_nopar:Npn \@@_j: { #2 }
+ }
+% \end{macrocode}
+%
+% The command |\@@_node_for_multicolumn:nn| takes two arguments. The first is
+% the position of the cell where the command |\multicolumn{|$n$|}{...}{...}| was
+% issued in the format $i$|-|$j$ and the second is the value of~$n$ (the length
+% of the ``multi-cell'').
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_node_for_multicolumn:nn #1 #2
+ {
+ \@@_extract_coords_values: #1 \q_stop
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - \@@_i: - \@@_j: \l_@@_suffix_tl }
+ { \dim_use:c { l_@@_column _ \@@_j: _ min _ dim } }
+ { \dim_use:c { l_@@_row _ \@@_i: _ min _ dim } }
+ { \dim_use:c { l_@@_column _ \int_eval:n { \@@_j: +#2-1 } _ max _ dim } }
+ { \dim_use:c { l_@@_row _ \@@_i: _ max _ dim } }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \@@_i: - \@@_j: \l_@@_suffix_tl }
+ { \int_use:N \g_@@_env_int - \@@_i: - \@@_j: \l_@@_suffix_tl}
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The blocks}
+%
+% The following code deals with the command |\Block|. This command has no direct
+% link with the environment |{NiceMatrixBlock}|.
+%
+% \bigskip
+% The options of the command |\Block| will be analyzed first in the cell of the
+% array (and once again when the block will be put in the array).
+% Here is the set of keys for the first pass (in the cell of the array).
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Block / FirstPass }
+ {
+ l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
+ l .value_forbidden:n = true ,
+ r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
+ r .value_forbidden:n = true ,
+ c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
+ c .value_forbidden:n = true ,
+ L .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
+ L .value_forbidden:n = true ,
+ R .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
+ R .value_forbidden:n = true ,
+ C .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
+ C .value_forbidden:n = true ,
+ t .code:n = \str_set:Nn \l_@@_vpos_block_str t ,
+ t .value_forbidden:n = true ,
+ T .code:n = \str_set:Nn \l_@@_vpos_block_str T ,
+ T .value_forbidden:n = true ,
+ b .code:n = \str_set:Nn \l_@@_vpos_block_str b ,
+ b .value_forbidden:n = true ,
+ B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
+ B .value_forbidden:n = true ,
+ color .code:n =
+ \@@_color:n { #1 }
+ \tl_set_rescan:Nnn
+ \l_@@_draw_tl
+ { \char_set_catcode_other:N ! }
+ { #1 } ,
+ color .value_required:n = true ,
+ respect-arraystretch .code:n =
+ \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
+ respect-arraystretch .value_forbidden:n = true ,
+ }
+% \end{macrocode}
+%
+%
+% The following command |\@@_Block:| will be linked to |\Block| in the
+% environments of \pkg{nicematrix}. We define it with
+% |\NewExpandableDocumentCommand| because it has an optional argument between~
+% |<| and~|>|. It's mandatory to use an expandable command.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block: { \@@_collect_options:n { \@@_Block_i: } }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\NewExpandableDocumentCommand \@@_Block_i: { m m D < > { } +m }
+ {
+% \end{macrocode}
+% If the first mandatory argument of the command (which is the size of the block
+% with the syntax $i$|-|$j$) has not been provided by the user, you use |1-1|
+% (that is to say a block of only one cell).
+% \begin{macrocode}
+ \peek_remove_spaces:n
+ {
+ \tl_if_blank:nTF { #2 }
+ { \@@_Block_ii:nnnnn \c_one_int \c_one_int }
+ {
+ \int_compare:nNnTF { \char_value_catcode:n { 45 } } = { 13 }
+ \@@_Block_i_czech \@@_Block_i
+ #2 \q_stop
+ }
+ { #1 } { #3 } { #4 }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% With the following construction, we extract the values of $i$ and $j$ in the
+% first mandatory argument of the command.
+% \begin{macrocode}
+\cs_new:Npn \@@_Block_i #1-#2 \q_stop { \@@_Block_ii:nnnnn { #1 } { #2 } }
+% \end{macrocode}
+%
+% With \pkg{babel} with the key |czech|, the character |-| (hyphen) is active.
+% That's why we need a special version. Remark that we could not use a
+% preprocessor in the command |\@@_Block:| to do the job because the command
+% |\@@_Block:| is defined with the command |\NewExpandableDocumentCommand|.
+% \begin{macrocode}
+{
+ \char_set_catcode_active:N -
+ \cs_new:Npn \@@_Block_i_czech #1-#2 \q_stop { \@@_Block_ii:nnnnn { #1 } { #2 } }
+}
+% \end{macrocode}
+%
+% \medskip
+% Now, the arguments have been extracted:
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the math mode and before the composition of the block
+% and |#5| is the label (=content) of the block.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_ii:nnnnn #1 #2 #3 #4 #5
+ {
+% \end{macrocode}
+%
+% \medskip
+% We recall that |#1| and |#2| have been extracted from the first mandatory
+% argument of |\Block| (which is of the syntax $i$|-|$j$). However, the user is
+% allowed to omit $i$ or $j$ (or both). We detect that situation by replacing a
+% missing value by 100 (it's a convention: when the block will actually be drawn
+% these values will be detected and interpreted as \emph{maximal possible
+% value} according to the actual size of the array).
+% \begin{macrocode}
+ \bool_lazy_or:nnTF
+ { \tl_if_blank_p:n { #1 } }
+ { \str_if_eq_p:nn { #1 } { * } }
+ { \int_set:Nn \l_tmpa_int { 100 } }
+ { \int_set:Nn \l_tmpa_int { #1 } }
+ \bool_lazy_or:nnTF
+ { \tl_if_blank_p:n { #2 } }
+ { \str_if_eq_p:nn { #2 } { * } }
+ { \int_set:Nn \l_tmpb_int { 100 } }
+ { \int_set:Nn \l_tmpb_int { #2 } }
+% \end{macrocode}
+%
+% \medskip
+% If the block is mono-column.
+% \begin{macrocode}
+ \int_compare:nNnTF \l_tmpb_int = \c_one_int
+ {
+ \tl_if_empty:NTF \l_@@_hpos_cell_tl
+ { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_c_str }
+ { \str_set:NV \l_@@_hpos_block_str \l_@@_hpos_cell_tl }
+ }
+ { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_c_str }
+% \end{macrocode}
+% The value of |\l_@@_hpos_block_str| may be modified by the keys of the
+% command |\Block| that we will analyze now.
+%
+% \medskip
+% \begin{macrocode}
+ \keys_set_known:nn { NiceMatrix / Block / FirstPass } { #3 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \tl_set:Nx \l_tmpa_tl
+ {
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { \int_eval:n { \c@iRow + \l_tmpa_int - 1 } }
+ { \int_eval:n { \c@jCol + \l_tmpb_int - 1 } }
+ }
+% \end{macrocode}
+% Now, |\l_tmpa_tl| contains an ``object'' corresponding to the position of the
+% block with four components, each of them surrounded by curly brackets:
+%
+% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}|.
+%
+%
+% \medskip
+% If the block is mono-column or mono-row, we have a special treatment. That's
+% why we have two macros: |\@@_Block_iv:nnnnn| and |\@@_Block_v:nnnnn| (the five
+% arguments of those macros are provided by curryfication).
+% \begin{macrocode}
+ \bool_if:nTF
+ {
+ (
+ \int_compare_p:nNn \l_tmpa_int = \c_one_int
+ ||
+ \int_compare_p:nNn \l_tmpb_int = \c_one_int
+ )
+ && ! \tl_if_empty_p:n { #5 }
+% \end{macrocode}
+% For the blocks mono-column, we will compose right now in a box in order to
+% compute its width and take that width into account for the width of the
+% column. However, if the column is a |X| column, we should not do that since
+% the width is determined by another way. This should be the same for the |p|,
+% |m| and |b| columns and we should modify that point. However, for the |X|
+% column, it's imperative. Otherwise, the process for the determination of the
+% widths of the columns will be wrong.
+% \begin{macrocode}
+ && ! \l_@@_X_bool
+ }
+ { \exp_args:Nee \@@_Block_iv:nnnnn }
+ { \exp_args:Nee \@@_Block_v:nnnnn }
+ { \l_tmpa_int } { \l_tmpb_int } { #3 } { #4 } { #5 }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following macro is for the case of a |\Block| which is mono-row or
+% mono-column (or both). In that case, the content of the block is composed
+% right now in a box (because we have to take into account the dimensions of
+% that box for the width of the current column or the height and the depth of the
+% current row). However, that box will be put in the array \emph{after the
+% construction of the array} (by using \textsc{pgf}) with |\@@_draw_blocks:| and
+% above all |\@@_Block_v:nnnnnn| which will do the main job.
+%
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the potential math mode and before the composition of
+% the block and |#5| is the label (=content) of the block.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_iv:nnnnn #1 #2 #3 #4 #5
+ {
+ \int_gincr:N \g_@@_block_box_int
+ \cs_set_protected_nopar:Npn \diagbox ##1 ##2
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_actually_diagbox:nnnnnn
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { \int_eval:n { \c@iRow + #1 - 1 } }
+ { \int_eval:n { \c@jCol + #2 - 1 } }
+ { \g_@@_row_style_tl \exp_not:n { ##1 } }
+ { \g_@@_row_style_tl \exp_not:n { ##2 } }
+ }
+ }
+ \box_gclear_new:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+% \end{macrocode}
+% Now, we will actually compose the content of the |\Block| in a TeX box.
+% \emph{Be careful}: if after the construction of the box, the boolean
+% |\g_@@_rotate_bool| is raised (which means that the command |\rotate| was
+% present in the content of the |\Block|) we will rotate the box but also,
+% maybe, change the position of the baseline!
+% \begin{macrocode}
+ \hbox_gset:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ {
+% \end{macrocode}
+% For a mono-column block, if the user has specified a color for the column in
+% the preamble of the array, we want to fix that color in the box we construct.
+% We do that with |\set@color| and not |\color_ensure_current:| (in order to use
+% |\color_ensure_current:| safely, you should load \pkg{l3backend} before the
+% |\documentclass| with |\RequirePackage{expl3}|).
+% \begin{macrocode}
+ \tl_if_empty:NTF \l_@@_color_tl
+ { \int_compare:nNnT { #2 } = \c_one_int \set@color }
+ { \@@_color:o \l_@@_color_tl }
+% \end{macrocode}
+% If the block is mono-row, we use |\g_@@_row_style_tl| even if it has yet been
+% used in the beginning of the cell where the command |\Block| has been issued
+% because we want to be able to take into account a potential instruction of
+% color of the font in |\g_@@_row_style_tl|.
+% \begin{macrocode}
+ \int_compare:nNnT { #1 } = \c_one_int
+ {
+ \int_if_zero:nTF \c@iRow
+ \l_@@_code_for_first_row_tl
+ {
+ \int_compare:nNnT \c@iRow = \l_@@_last_row_int
+ \l_@@_code_for_last_row_tl
+ }
+ \g_@@_row_style_tl
+ }
+% \end{macrocode}
+% The following command will be no-op when |respect-arraystretch| is in force.
+% \begin{macrocode}
+ \@@_reset_arraystretch:
+ \dim_zero:N \extrarowheight
+% \end{macrocode}
+% |#4| is the optional argument of the command |\Block|, provided with the
+% syntax |<...>|.
+% \begin{macrocode}
+ #4
+% \end{macrocode}
+% We adjust |\l_@@_hpos_block_str| when |\rotate| has been used (in the cell
+% where the command |\Block| is used but maybe in |#4|, |\RowStyle|,
+% |code-for-first-row|, etc.).
+% \begin{macrocode}
+ \@@_adjust_hpos_rotate:
+% \end{macrocode}
+% The boolean |\g_@@_rotate_bool| will be also considered \emph{after the composition
+% of the box} (in order to rotate the box).
+%
+% \medskip
+% Remind that we are in the command of composition of the box of the block.
+% Previously, we have only done some tuning. Now, we will actually compose the
+% content with a |{tabular}|, an |{array}| or a |{minipage}|.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_tabular_bool
+ {
+ \bool_lazy_all:nTF
+ {
+ { \int_compare_p:nNn { #2 } = \c_one_int }
+% \end{macrocode}
+% Remind that, when the column has not a fixed width, the dimension
+% |\l_@@_col_width_dim| has the conventional value of $-1$~cm.
+% \begin{macrocode}
+ { ! \dim_compare_p:nNn \l_@@_col_width_dim < \c_zero_dim }
+ { ! \g_@@_rotate_bool }
+ }
+% \end{macrocode}
+% When the block is mono-column in a column with a fixed width (eg |p{3cm}|), we
+% use a |{minipage}|.
+% \begin{macrocode}
+ {
+ \use:e
+ {
+ \exp_not:N \begin { minipage }%
+ [ \str_lowercase:V \l_@@_vpos_block_str ]
+ { \l_@@_col_width_dim }
+ \str_case:on \l_@@_hpos_block_str
+ { c \centering r \raggedleft l \raggedright }
+ }
+ #5
+ \end { minipage }
+ }
+% \end{macrocode}
+% In the other cases, we use a |{tabular}|.
+% \begin{macrocode}
+ {
+ \use:e
+ {
+ \exp_not:N \begin { tabular }%
+ [ \str_lowercase:V \l_@@_vpos_block_str ]
+ { @ { } \l_@@_hpos_block_str @ { } }
+ }
+ #5
+ \end { tabular }
+ }
+ }
+% \end{macrocode}
+% If we are in a mathematical array (|\l_@@_tabular_bool| is |false|). The
+% composition is always done with an |{array}| (never with a |{minipage}|).
+% \begin{macrocode}
+ {
+ \c_math_toggle_token
+ \use:e
+ {
+ \exp_not:N \begin { array }%
+ [ \str_lowercase:V \l_@@_vpos_block_str ]
+ { @ { } \l_@@_hpos_block_str @ { } }
+ }
+ #5
+ \end { array }
+ \c_math_toggle_token
+ }
+ }
+% \end{macrocode}
+% The box which will contain the content of the block has now been composed.
+%
+% \bigskip
+% If there were |\rotate| (which raises |\g_@@_rotate_bool|) in the content of
+% the |\Block|, we do a rotation of the box (and we also adjust the
+% baseline the rotated box).
+% \begin{macrocode}
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_box_of_block:
+% \end{macrocode}
+%
+% If we are in a mono-column block, we take into account the width of that block
+% for the width of the column.
+% \begin{macrocode}
+ \int_compare:nNnT { #2 } = \c_one_int
+ {
+ \dim_gset:Nn \g_@@_blocks_wd_dim
+ {
+ \dim_max:nn
+ \g_@@_blocks_wd_dim
+ {
+ \box_wd:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ }
+% \end{macrocode}
+% If we are in a mono-row block and if that block has no vertical option for the
+% position\footnote{If the block has a key of a vertical position, that means
+% that it has to be put in a vertical space determined by the \emph{others}
+% cells of the row. Therefore there is no point creating space here. Moreover,
+% that would lead to problems when a multi-row block with a position key such as
+% |b| or |B|.}, we take into account the height and the depth of that block for the
+% height and the depth of the row.
+% \begin{macrocode}
+ \str_if_eq:VnT \l_@@_vpos_block_str { c }
+ {
+ \int_compare:nNnT { #1 } = \c_one_int
+ {
+ \dim_gset:Nn \g_@@_blocks_ht_dim
+ {
+ \dim_max:nn
+ \g_@@_blocks_ht_dim
+ {
+ \box_ht:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ \dim_gset:Nn \g_@@_blocks_dp_dim
+ {
+ \dim_max:nn
+ \g_@@_blocks_dp_dim
+ {
+ \box_dp:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ }
+ }
+ \seq_gput_right:Nx \g_@@_blocks_seq
+ {
+ \l_tmpa_tl
+% \end{macrocode}
+% In the list of options |#3|, maybe there is a key for the horizontal alignment
+% (|l|, |r| or |c|). In that case, that key has been read and stored in
+% |\l_@@_hpos_block_str|. However, maybe there were no key of the horizontal
+% alignment and that's why we put a key corresponding to the value of
+% |\l_@@_hpos_block_str|, which is fixed by the type of current column.
+% \begin{macrocode}
+ {
+ \exp_not:n { #3 } ,
+ \l_@@_hpos_block_str ,
+% \end{macrocode}
+% Now, we put a key for the vertical alignment.
+% \begin{macrocode}
+ \bool_if:NT \g_@@_rotate_bool
+ {
+ \bool_if:NTF \g_@@_rotate_c_bool
+ { m }
+ { \int_compare:nNnT \c@iRow = \l_@@_last_row_int T }
+ }
+
+ }
+ {
+ \box_use_drop:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ \bool_set_false:N \g_@@_rotate_c_bool
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new:Npn \@@_adjust_hpos_rotate:
+ {
+ \bool_if:NT \g_@@_rotate_bool
+ {
+ \str_set:Nx \l_@@_hpos_block_str
+ {
+ \bool_if:NTF \g_@@_rotate_c_bool
+ { c }
+ {
+ \str_case:onF \l_@@_vpos_block_str
+ { b l B l t r T r }
+ { \int_compare:nNnTF \c@iRow = \l_@@_last_row_int r l }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Despite its name the following command rotates the box of the block \emph{but
+% also does vertical adjustement of the baseline of the block}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate_box_of_block:
+ {
+ \box_grotate:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ { 90 }
+ \int_compare:nNnT \c@iRow = \l_@@_last_row_int
+ {
+ \vbox_gset_top:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ {
+ \skip_vertical:n { 0.8 ex }
+ \box_use:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ \bool_if:NT \g_@@_rotate_c_bool
+ {
+ \hbox_gset:cn
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ {
+ \c_math_toggle_token
+ \vcenter
+ {
+ \box_use:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ \c_math_toggle_token
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following macro is for the standard case, where the block is not mono-row
+% and not mono-column. In that case, the content of the block is \emph{not}
+% composed right now in a box. The composition in a box will be done further,
+% just after the construction of the array (cf. |\@@_draw_blocks:| and
+% above all |\@@_Block_v:nnnnnn|).
+%
+% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
+% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
+% the tokens to put before the math mode and before the composition of the block
+% and |#5| is the label (=content) of the block.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_v:nnnnn #1 #2 #3 #4 #5
+ {
+ \seq_gput_right:Nx \g_@@_blocks_seq
+ {
+ \l_tmpa_tl
+ { \exp_not:n { #3 } }
+ {
+ \bool_if:NTF \l_@@_tabular_bool
+ {
+ \group_begin:
+% \end{macrocode}
+% The following command will be no-op when |respect-arraystretch| is in force.
+% \begin{macrocode}
+ \@@_reset_arraystretch:
+ \exp_not:n
+ {
+ \dim_zero:N \extrarowheight
+ #4
+% \end{macrocode}
+% If the box is rotated (the key |\rotate| may be in the previous |#4|), the
+% tabular used for the content of the cell will be constructed with a format
+% |c|. In the other cases, the tabular will be constructed with a format equal
+% to the key of position of the box. In other words: the alignment internal to
+% the tabular is the same as the external alignment of the tabular (that is to
+% say the position of the block in its zone of merged cells).
+% \begin{macrocode}
+ \use:e
+ {
+ \exp_not:N \begin { tabular } [ \l_@@_vpos_block_str ]
+ { @ { } \l_@@_hpos_block_str @ { } }
+ }
+ #5
+ \end { tabular }
+ }
+ \group_end:
+ }
+% \end{macrocode}
+% When we are \emph{not} in an environments |{NiceTabular}| (or similar).
+% \begin{macrocode}
+ {
+ \group_begin:
+% \end{macrocode}
+% The following will be no-op when |respect-arraystretch| is in force.
+% \begin{macrocode}
+ \@@_reset_arraystretch:
+ \exp_not:n
+ {
+ \dim_zero:N \extrarowheight
+ #4
+ \c_math_toggle_token
+ \use:e
+ {
+ \exp_not:N \begin { array } [ \l_@@_vpos_block_str ]
+ { @ { } \l_@@_hpos_block_str @ { } }
+ }
+ #5
+ \end { array }
+ \c_math_toggle_token
+ }
+ \group_end:
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% We recall that the options of the command |\Block| are analyzed twice: first
+% in the cell of the array and once again when the block will be put in the
+% array \emph{after the construction of the array} (by using \textsc{pgf}).
+%
+% \medskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Block / SecondPass }
+ {
+ tikz .code:n =
+ \IfPackageLoadedTF { tikz }
+ { \seq_put_right:Nn \l_@@_tikz_seq { { #1 } } }
+ { \@@_error:n { tikz~key~without~tikz } } ,
+ tikz .value_required:n = true ,
+ fill .code:n =
+ \tl_set_rescan:Nnn
+ \l_@@_fill_tl
+ { \char_set_catcode_other:N ! }
+ { #1 } ,
+ fill .value_required:n = true ,
+ opacity .tl_set:N = \l_@@_opacity_tl ,
+ opacity .value_required:n = true ,
+ draw .code:n =
+ \tl_set_rescan:Nnn
+ \l_@@_draw_tl
+ { \char_set_catcode_other:N ! }
+ { #1 } ,
+ draw .default:n = default ,
+ rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
+ rounded-corners .default:n = 4 pt ,
+ color .code:n =
+ \@@_color:n { #1 }
+ \tl_set_rescan:Nnn
+ \l_@@_draw_tl
+ { \char_set_catcode_other:N ! }
+ { #1 } ,
+ borders .clist_set:N = \l_@@_borders_clist ,
+ borders .value_required:n = true ,
+ hvlines .meta:n = { vlines , hlines } ,
+ vlines .bool_set:N = \l_@@_vlines_block_bool,
+ vlines .default:n = true ,
+ hlines .bool_set:N = \l_@@_hlines_block_bool,
+ hlines .default:n = true ,
+ line-width .dim_set:N = \l_@@_line_width_dim ,
+ line-width .value_required:n = true ,
+% \end{macrocode}
+% Some keys have not a property |.value_required:n| (or similar) because they
+% are in |FirstPass|.
+% \begin{macrocode}
+ l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
+ r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
+ c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
+ L .code:n = \str_set:Nn \l_@@_hpos_block_str l
+ \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
+ R .code:n = \str_set:Nn \l_@@_hpos_block_str r
+ \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
+ C .code:n = \str_set:Nn \l_@@_hpos_block_str c
+ \bool_set_true:N \l_@@_hpos_of_block_cap_bool ,
+ t .code:n = \str_set:Nn \l_@@_vpos_block_str t ,
+ T .code:n = \str_set:Nn \l_@@_vpos_block_str T ,
+ b .code:n = \str_set:Nn \l_@@_vpos_block_str b ,
+ B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
+ m .code:n = \str_set:Nn \l_@@_vpos_block_str { c } ,
+ m .value_forbidden:n = true ,
+ v-center .meta:n = m ,
+ name .tl_set:N = \l_@@_block_name_str ,
+ name .value_required:n = true ,
+ name .initial:n = ,
+ respect-arraystretch .code:n =
+ \cs_set_eq:NN \@@_reset_arraystretch: \prg_do_nothing: ,
+ respect-arraystretch .value_forbidden:n = true ,
+ transparent .bool_set:N = \l_@@_transparent_bool ,
+ transparent .default:n = true ,
+ transparent .initial:n = false ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~Block }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The command |\@@_draw_blocks:| will draw all the blocks. This command is used
+% after the construction of the array. We have to revert to a clean version of
+% |\ialign| because there may be tabulars in the |\Block| instructions that will
+% be composed now.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_blocks:
+ {
+ \bool_if:NTF \c_@@_tagging_array_bool
+ { \cs_set_eq:NN \ar@ialign \@@_old_ar@ialign: }
+ { \cs_set_eq:NN \ialign \@@_old_ialign: }
+ \seq_map_inline:Nn \g_@@_blocks_seq { \@@_Block_iv:nnnnnn ##1 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_iv:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+% \end{macrocode}
+% The integer |\l_@@_last_row_int| will be the last row of the block and
+% |\l_@@_last_col_int| its last column.
+% \begin{macrocode}
+ \int_zero_new:N \l_@@_last_row_int
+ \int_zero_new:N \l_@@_last_col_int
+% \end{macrocode}
+%
+% We remind that the first mandatory argument of the command |\Block| is the
+% size of the block with the special format $i$|-|$j$. However, the user is
+% allowed to omit $i$ or $j$ (or both). This will be interpreted as: the last
+% row (resp. column) of the block will be the last row (resp. column) of the
+% block (without the potential exterior row---resp. column---of the array). By
+% convention, this is stored in |\g_@@_blocks_seq| as a number of rows (resp.
+% columns) for the block equal to 100. That's what we detect now.
+% \begin{macrocode}
+ \int_compare:nNnTF { #3 } > { 99 }
+ { \int_set_eq:NN \l_@@_last_row_int \c@iRow }
+ { \int_set:Nn \l_@@_last_row_int { #3 } }
+ \int_compare:nNnTF { #4 } > { 99 }
+ { \int_set_eq:NN \l_@@_last_col_int \c@jCol }
+ { \int_set:Nn \l_@@_last_col_int { #4 } }
+ \int_compare:nNnTF \l_@@_last_col_int > \g_@@_col_total_int
+ {
+ \bool_lazy_and:nnTF
+ \l_@@_preamble_bool
+ {
+ \int_compare_p:n
+ { \l_@@_last_col_int <= \g_@@_static_num_of_col_int }
+ }
+ {
+ \msg_error:nnnn { nicematrix } { Block~too~large~2 } { #1 } { #2 }
+ \@@_msg_redirect_name:nn { Block~too~large~2 } { none }
+ \@@_msg_redirect_name:nn { columns~not~used } { none }
+ }
+ { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
+ }
+ {
+ \int_compare:nNnTF \l_@@_last_row_int > \g_@@_row_total_int
+ { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
+ { \@@_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The following command |\@@_Block_v:nnnnnn| will actually draw the block.
+% |#1| is the first row of the block;
+% |#2| is the first column of the block;
+% |#3| is the last row of the block;
+% |#4| is the last column of the block;
+% |#5| is a list of \textsl{key=value} options;
+% |#6| is the label
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_v:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+% \end{macrocode}
+% The group is for the keys.
+% \begin{macrocode}
+ \group_begin:
+ \int_compare:nNnT { #1 } = { #3 }
+ { \str_set:Nn \l_@@_vpos_block_str { t } }
+ \keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \bool_if:NT \l_@@_vlines_block_bool
+ {
+ \tl_gput_right:Nx \g_nicematrix_code_after_tl
+ {
+ \@@_vlines_block:nnn
+ { \exp_not:n { #5 } }
+ { #1 - #2 }
+ { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
+ }
+ }
+ \bool_if:NT \l_@@_hlines_block_bool
+ {
+ \tl_gput_right:Nx \g_nicematrix_code_after_tl
+ {
+ \@@_hlines_block:nnn
+ { \exp_not:n { #5 } }
+ { #1 - #2 }
+ { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
+ }
+ }
+ \bool_if:NF \l_@@_transparent_bool
+ {
+ \bool_lazy_and:nnF \l_@@_vlines_block_bool \l_@@_hlines_block_bool
+ {
+% \end{macrocode}
+% The sequence of the positions of the blocks (excepted the blocks with the key
+% |hvlines|) will be used when drawing the rules (in fact, there is also the
+% |\multicolumn| and the |\diagbox| in that sequence).
+% \begin{macrocode}
+ \seq_gput_left:Nx \g_@@_pos_of_blocks_seq
+ { { #1 } { #2 } { #3 } { #4 } { \l_@@_block_name_str } }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_draw_tl
+ {
+ \bool_lazy_or:nnT \l_@@_hlines_block_bool \l_@@_vlines_block_bool
+ { \@@_error:n { hlines~with~color } }
+ \tl_gput_right:Nx \g_nicematrix_code_after_tl
+ {
+ \@@_stroke_block:nnn
+% \end{macrocode}
+% |#5| are the options
+% \begin{macrocode}
+ { \exp_not:n { #5 } }
+ { #1 - #2 }
+ { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
+ }
+ \seq_gput_right:Nn \g_@@_pos_of_stroken_blocks_seq
+ { { #1 } { #2 } { #3 } { #4 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \clist_if_empty:NF \l_@@_borders_clist
+ {
+ \tl_gput_right:Nx \g_nicematrix_code_after_tl
+ {
+ \@@_stroke_borders_block:nnn
+ { \exp_not:n { #5 } }
+ { #1 - #2 }
+ { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_fill_tl
+ {
+ \tl_if_empty:NF \l_@@_opacity_tl
+ {
+ \tl_if_head_eq_meaning:nNTF \l_@@_fill_tl [
+ {
+ \tl_set:Nx \l_@@_fill_tl
+ {
+ [ opacity = \l_@@_opacity_tl ,
+ \tl_tail:o \l_@@_fill_tl
+ }
+ }
+ {
+ \tl_set:Nx \l_@@_fill_tl
+ { [ opacity = \l_@@_opacity_tl ] { \l_@@_fill_tl } }
+ }
+ }
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+ \exp_not:N \roundedrectanglecolor
+ \exp_args:No \tl_if_head_eq_meaning:nNTF \l_@@_fill_tl [
+ { \l_@@_fill_tl }
+ { { \l_@@_fill_tl } }
+ { #1 - #2 }
+ { \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
+ { \dim_use:N \l_@@_rounded_corners_dim }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \seq_if_empty:NF \l_@@_tikz_seq
+ {
+ \tl_gput_right:Nx \g_nicematrix_code_before_tl
+ {
+ \@@_block_tikz:nnnnn
+ { #1 }
+ { #2 }
+ { \int_use:N \l_@@_last_row_int }
+ { \int_use:N \l_@@_last_col_int }
+ { \seq_use:Nn \l_@@_tikz_seq { , } }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \cs_set_protected_nopar:Npn \diagbox ##1 ##2
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_actually_diagbox:nnnnnn
+ { #1 }
+ { #2 }
+ { \int_use:N \l_@@_last_row_int }
+ { \int_use:N \l_@@_last_col_int }
+ { \exp_not:n { ##1 } } { \exp_not:n { ##2 } }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+ \hbox_set:Nn \l_@@_cell_box { \set@color #6 }
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+% \end{macrocode}
+%
+% \bigskip
+% Let's consider the following |{NiceTabular}|. Because of the instruction
+% |!{\hspace{1cm}}| in the preamble which increases the space between the
+% columns (by adding, in fact, that space to the previous column, that is to say
+% the second column of the tabular), we will create \emph{two} nodes relative to
+% the block: the node |1-1-block| and the node |1-1-block-short|.
+%
+% \begin{Verbatim}
+% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
+% \Block{2-2}{our block} & & one \\
+% & & two \\
+% three & four & five \\
+% six & seven & eight \\
+% \end{NiceTabular}
+% \end{Verbatim}
+%
+% \tikzset{highlight/.style={rectangle,
+% fill=red!15,
+% blend mode = multiply,
+% rounded corners = 0pt,
+% inner sep=0pt,
+% fit = #1}}
+%
+% \begin{tabular}{c@{\hspace{1cm}}c}
+% We highlight the node |1-1-block|
+% &
+% We highlight the node |1-1-block-short| \\[2mm]
+% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
+% \Block{2-2}{our block} & & one \\
+% & & two \\
+% three & four & five \\
+% six & seven & eight \\
+% \CodeAfter
+% \tikz \node [highlight = (1-1-block)] { } ;
+% \end{NiceTabular}
+% &
+% \begin{NiceTabular}{cc!{\hspace{1cm}}c}
+% \Block{2-2}{our block} & & one \\
+% & & two \\
+% three & four & five \\
+% six & seven & eight \\
+% \CodeAfter
+% \tikz \node [highlight = (1-1-block-short)] { } ;
+% \end{NiceTabular}
+% \end{tabular}
+%
+%
+% \bigskip
+% The construction of the node corresponding to the merged cells.
+% \begin{macrocode}
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_last_row_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+% \end{macrocode}
+%
+% We construct the node for the block with the name |(#1-#2-block)|.
+%
+% The function |\@@_pgf_rect_node:nnnnn| takes in as arguments the name of the node
+% and the four coordinates of two opposite corner points of the rectangle.
+% \begin{macrocode}
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block }
+ \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
+ \str_if_empty:NF \l_@@_block_name_str
+ {
+ \pgfnodealias
+ { \@@_env: - \l_@@_block_name_str }
+ { \@@_env: - #1 - #2 - block }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \l_@@_block_name_str }
+ { \@@_env: - #1 - #2 - block }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, we create the ``short node'' which, in general, will be used to put the
+% label (that is to say the content of the node). However, if one the keys |L|, |C| or
+% |R| is used (that information is provided by the boolean
+% |\l_@@_hpos_of_block_cap_bool|), we don't need to create that node since the
+% normal node is used to put the label.
+%
+% \begin{macrocode}
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool
+ {
+ \dim_set_eq:NN \l_tmpb_dim \c_max_dim
+% \end{macrocode}
+% The short node is constructed by taking into account the \emph{contents} of
+% the columns involved in at least one cell of the block. That's why we have to
+% do a loop over the rows of the array.
+% \begin{macrocode}
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+% \end{macrocode}
+% We recall that, when a cell is empty, no (normal) node is created in that
+% cell. That's why we test the existence of the node before using it.
+% \begin{macrocode}
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
+ {
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
+ \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
+ }
+ }
+ }
+% \end{macrocode}
+% If all the cells of the column were empty, |\l_tmpb_dim| has still the same
+% value |\c_max_dim|. In that case, you use for |\l_tmpb_dim| the value of the
+% position of the vertical rule.
+% \begin{macrocode}
+ \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
+ {
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ }
+ \dim_set:Nn \l_@@_tmpd_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ {
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor
+ { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ { east }
+ \dim_set:Nn \l_@@_tmpd_dim { \dim_max:nn \l_@@_tmpd_dim \pgf@x }
+ }
+ }
+ }
+ \dim_compare:nNnT \l_@@_tmpd_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ }
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block - short }
+ \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
+ }
+% \end{macrocode}
+%
+% \medskip
+% If the creation of the ``medium nodes'' is required, we create a ``medium
+% node'' for the block. The function |\@@_pgf_rect_node:nnn| takes in as
+% arguments the name of the node and two \textsc{pgf} points.
+% \begin{macrocode}
+ \bool_if:NT \l_@@_medium_nodes_bool
+ {
+ \@@_pgf_rect_node:nnn
+ { \@@_env: - #1 - #2 - block - medium }
+ { \pgfpointanchor { \@@_env: - #1 - #2 - medium } { north~west } }
+ {
+ \pgfpointanchor
+ { \@@_env:
+ - \int_use:N \l_@@_last_row_int
+ - \int_use:N \l_@@_last_col_int - medium
+ }
+ { south~east }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% Now, we will put the label of the block.
+% \begin{macrocode}
+ \bool_lazy_any:nTF
+ {
+ { \str_if_eq_p:on \l_@@_vpos_block_str { c } }
+ { \str_if_eq_p:on \l_@@_vpos_block_str { T } }
+ { \str_if_eq_p:on \l_@@_vpos_block_str { B } }
+ }
+% \end{macrocode}
+% \medskip
+% \begin{macrocode}
+ {
+% \end{macrocode}
+% If we are in the first column, we must put the block as if it was with the key~|r|.
+% \begin{macrocode}
+ \int_if_zero:nT { #2 } { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_r_str }
+% \end{macrocode}
+% If we are in the last column, we must put the block as if it was with the key~|l|.
+% \begin{macrocode}
+ \bool_if:nT \g_@@_last_col_found_bool
+ {
+ \int_compare:nNnT { #2 } = \g_@@_col_total_int
+ { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_l_str }
+ }
+% \end{macrocode}
+% |\l_tmpa_tl| will contain the anchor of the \textsc{pgf} node which will be used.
+% \begin{macrocode}
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \str_case:on \l_@@_vpos_block_str
+ {
+ c {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ }
+
+ }
+ T {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { north }
+ l { north~west }
+ r { north~east }
+ }
+
+ }
+ B {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { south}
+ l { south~west }
+ r { south~east }
+ }
+
+ }
+ }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+ \pgftransformshift
+ {
+ \pgfpointanchor
+ {
+ \@@_env: - #1 - #2 - block
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
+ }
+ { \l_tmpa_tl }
+ }
+ \pgfset
+ {
+ inner~xsep = \c_zero_dim ,
+ inner~ysep = \c_zero_dim
+ }
+ \pgfnode
+ { rectangle }
+ { \l_tmpa_tl }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
+% \end{macrocode}
+% End of the case when |\l_@@_vpos_block_str| is equal to |c|, |T| or |B|.
+% Now, the other cases.
+% \begin{macrocode}
+ {
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \pgfextracty \l_tmpa_dim
+ {
+ \@@_qpoint:n
+ {
+ row - \str_if_eq:onTF \l_@@_vpos_block_str { b } { #3 } { #1 }
+ - base
+ }
+ }
+ \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
+% \end{macrocode}
+% We retrieve (in |\pgf@x|) the $x$-value of the center of the block.
+% \begin{macrocode}
+ \pgfpointanchor
+ {
+ \@@_env: - #1 - #2 - block
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
+ }
+ {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ }
+ }
+% \end{macrocode}
+% We put the label of the block which has been composed in |\l_@@_cell_box|.
+% \begin{macrocode}
+ \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
+ \pgfset { inner~sep = \c_zero_dim }
+ \pgfnode
+ { rectangle }
+ {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { base }
+ l { base~west }
+ r { base~east }
+ }
+ }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \endpgfpicture
+ \group_end:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The first argument of |\@@_stroke_block:nnn| is a list of options for the
+% rectangle that you will stroke. The second argument is the upper-left cell of
+% the block (with, as usual, the syntax $i$|-|$j$) and the third is the last
+% cell of the block (with the same syntax).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_stroke_block:nnn #1 #2 #3
+ {
+ \group_begin:
+ \tl_clear:N \l_@@_draw_tl
+ \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \keys_set_known:nn { NiceMatrix / BlockStroke } { #1 }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \tl_if_empty:NF \l_@@_draw_tl
+ {
+% \end{macrocode}
+% If the user has used the key |color| of the command |\Block| without value,
+% the color fixed by |\arrayrulecolor| is used.
+% \begin{macrocode}
+ \tl_if_eq:NNTF \l_@@_draw_tl \c_@@_default_tl
+ { \CT@arc@ }
+ { \@@_color:o \l_@@_draw_tl }
+ }
+ \pgfsetcornersarced
+ {
+ \pgfpoint
+ { \l_@@_rounded_corners_dim }
+ { \l_@@_rounded_corners_dim }
+ }
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \int_compare:nNnF \l_tmpa_tl > \c@iRow
+ {
+ \int_compare:nNnF \l_tmpb_tl > \c@jCol
+ {
+ \@@_qpoint:n { row - \l_tmpa_tl }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@y
+ \@@_qpoint:n { col - \l_tmpb_tl }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@x
+ \@@_cut_on_hyphen:w #3 \q_stop
+ \int_compare:nNnT \l_tmpa_tl > \c@iRow
+ { \tl_set:No \l_tmpa_tl { \int_use:N \c@iRow } }
+ \int_compare:nNnT \l_tmpb_tl > \c@jCol
+ { \tl_set:No \l_tmpb_tl { \int_use:N \c@jCol } }
+ \@@_qpoint:n { row - \int_eval:n { \l_tmpa_tl + 1 } }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - \int_eval:n { \l_tmpb_tl + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
+ \pgfpathrectanglecorners
+ { \pgfpoint \l_@@_tmpc_dim \l_tmpb_dim }
+ { \pgfpoint \l_@@_tmpd_dim \l_tmpa_dim }
+ \dim_compare:nNnTF \l_@@_rounded_corners_dim = \c_zero_dim
+ { \pgfusepathqstroke }
+ { \pgfusepath { stroke } }
+ }
+ }
+ \endpgfpicture
+ \group_end:
+ }
+% \end{macrocode}
+%
+% Here is the set of keys for the command |\@@_stroke_block:nnn|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / BlockStroke }
+ {
+ color .tl_set:N = \l_@@_draw_tl ,
+ draw .code:n =
+ \exp_args:Ne \tl_if_empty:nF { #1 } { \tl_set:Nn \l_@@_draw_tl { #1 } } ,
+ draw .default:n = default ,
+ line-width .dim_set:N = \l_@@_line_width_dim ,
+ rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
+ rounded-corners .default:n = 4 pt
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The first argument of |\@@_vlines_block:nnn| is a list of options for the
+% rules that we will draw. The second argument is the upper-left cell of the
+% block (with, as usual, the syntax $i$|-|$j$) and the third is the last cell of
+% the block (with the same syntax).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vlines_block:nnn #1 #2 #3
+ {
+ \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #3 \q_stop
+ \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
+ \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
+ \int_step_inline:nnn \l_@@_tmpd_tl \l_tmpb_tl
+ {
+ \use:e
+ {
+ \@@_vline:n
+ {
+ position = ##1 ,
+ start = \l_@@_tmpc_tl ,
+ end = \int_eval:n { \l_tmpa_tl - 1 } ,
+ total-width = \dim_use:N \l_@@_line_width_dim
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \@@_hlines_block:nnn #1 #2 #3
+ {
+ \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #3 \q_stop
+ \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
+ \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
+ \int_step_inline:nnn \l_@@_tmpc_tl \l_tmpa_tl
+ {
+ \use:e
+ {
+ \@@_hline:n
+ {
+ position = ##1 ,
+ start = \l_@@_tmpd_tl ,
+ end = \int_eval:n { \l_tmpb_tl - 1 } ,
+ total-width = \dim_use:N \l_@@_line_width_dim
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The first argument of |\@@_stroke_borders_block:nnn| is a list of options for
+% the borders that you will stroke. The second argument is the upper-left cell
+% of the block (with, as usual, the syntax $i$|-|$j$) and the third is the last
+% cell of the block (with the same syntax).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_stroke_borders_block:nnn #1 #2 #3
+ {
+ \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \dim_compare:nNnTF \l_@@_rounded_corners_dim > \c_zero_dim
+ { \@@_error:n { borders~forbidden } }
+ {
+ \tl_clear_new:N \l_@@_borders_tikz_tl
+ \keys_set:nV
+ { NiceMatrix / OnlyForTikzInBorders }
+ \l_@@_borders_clist
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #3 \q_stop
+ \tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
+ \tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
+ \@@_stroke_borders_block_i:
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_new_protected:Npx \@@_stroke_borders_block_i:
+ {
+ \c_@@_pgfortikzpicture_tl
+ \@@_stroke_borders_block_ii:
+ \c_@@_endpgfortikzpicture_tl
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_stroke_borders_block_ii:
+ {
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \CT@arc@
+ \pgfsetlinewidth { 1.1 \l_@@_line_width_dim }
+ \clist_if_in:NnT \l_@@_borders_clist { right }
+ { \@@_stroke_vertical:n \l_tmpb_tl }
+ \clist_if_in:NnT \l_@@_borders_clist { left }
+ { \@@_stroke_vertical:n \l_@@_tmpd_tl }
+ \clist_if_in:NnT \l_@@_borders_clist { bottom }
+ { \@@_stroke_horizontal:n \l_tmpa_tl }
+ \clist_if_in:NnT \l_@@_borders_clist { top }
+ { \@@_stroke_horizontal:n \l_@@_tmpc_tl }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / OnlyForTikzInBorders }
+ {
+ tikz .code:n =
+ \cs_if_exist:NTF \tikzpicture
+ { \tl_set:Nn \l_@@_borders_tikz_tl { #1 } }
+ { \@@_error:n { tikz~in~borders~without~tikz } } ,
+ tikz .value_required:n = true ,
+ top .code:n = ,
+ bottom .code:n = ,
+ left .code:n = ,
+ right .code:n = ,
+ unknown .code:n = \@@_error:n { bad~border }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The following command is used to stroke the left border and the right border.
+% The argument |#1| is the number of column (in the sense of the |col| node).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_stroke_vertical:n #1
+ {
+ \@@_qpoint:n \l_@@_tmpc_tl
+ \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \l_@@_line_width_dim }
+ \@@_qpoint:n \l_tmpa_tl
+ \dim_set:Nn \l_@@_tmpc_dim { \pgf@y + 0.5 \l_@@_line_width_dim }
+ \@@_qpoint:n { #1 }
+ \tl_if_empty:NTF \l_@@_borders_tikz_tl
+ {
+ \pgfpathmoveto { \pgfpoint \pgf@x \l_tmpb_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l_@@_tmpc_dim }
+ \pgfusepathqstroke
+ }
+ {
+ \use:e { \exp_not:N \draw [ \l_@@_borders_tikz_tl ] }
+ ( \pgf@x , \l_tmpb_dim ) -- ( \pgf@x , \l_@@_tmpc_dim ) ;
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following command is used to stroke the top border and the bottom border.
+% The argument |#1| is the number of row (in the sense of the |row| node).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_stroke_horizontal:n #1
+ {
+ \@@_qpoint:n \l_@@_tmpd_tl
+ \clist_if_in:NnTF \l_@@_borders_clist { left }
+ { \dim_set:Nn \l_tmpa_dim { \pgf@x - 0.5 \l_@@_line_width_dim } }
+ { \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \l_@@_line_width_dim } }
+ \@@_qpoint:n \l_tmpb_tl
+ \dim_set:Nn \l_tmpb_dim { \pgf@x + 0.5 \l_@@_line_width_dim }
+ \@@_qpoint:n { #1 }
+ \tl_if_empty:NTF \l_@@_borders_tikz_tl
+ {
+ \pgfpathmoveto { \pgfpoint \l_tmpa_dim \pgf@y }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \pgf@y }
+ \pgfusepathqstroke
+ }
+ {
+ \use:e { \exp_not:N \draw [ \l_@@_borders_tikz_tl ] }
+ ( \l_tmpa_dim , \pgf@y ) -- ( \l_tmpb_dim , \pgf@y ) ;
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here is the set of keys for the command |\@@_stroke_borders_block:nnn|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / BlockBorders }
+ {
+ borders .clist_set:N = \l_@@_borders_clist ,
+ rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
+ rounded-corners .default:n = 4 pt ,
+ line-width .dim_set:N = \l_@@_line_width_dim
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be used if the key |tikz| has been used for the
+% command |\Block|. The arguments |#1| and |#2| are the coordinates of the first
+% cell and |#3| and |#4| the coordinates of the last cell of the block. |#5| is
+% a comma-separated list of the Tikz keys used with the path. However, among
+% those keys, you have added in \pkg{nicematrix} a special key |offset| (an
+% offset for the rectangle of the block). That's why we have to extract that key
+% first.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_block_tikz:nnnnn #1 #2 #3 #4 #5
+ {
+ \begin { tikzpicture }
+ \@@_clip_with_rounded_corners:
+ \clist_map_inline:nn { #5 }
+ {
+ \keys_set_known:nnN { NiceMatrix / SpecialOffset } { ##1 } \l_tmpa_tl
+ \use:e { \exp_not:N \path [ \l_tmpa_tl ] }
+ (
+ [
+ xshift = \dim_use:N \l_@@_offset_dim ,
+ yshift = - \dim_use:N \l_@@_offset_dim
+ ]
+ #1 -| #2
+ )
+ rectangle
+ (
+ [
+ xshift = - \dim_use:N \l_@@_offset_dim ,
+ yshift = \dim_use:N \l_@@_offset_dim
+ ]
+ \int_eval:n { #3 + 1 } -| \int_eval:n { #4 + 1 }
+ ) ;
+ }
+ \end { tikzpicture }
+ }
+\cs_generate_variant:Nn \@@_block_tikz:nnnnn { n n n n V }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / SpecialOffset }
+ { offset .dim_set:N = \l_@@_offset_dim }
+% \end{macrocode}
+%
+%
+% \section{How to draw the dotted lines transparently}
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_renew_matrix:
+ {
+ \RenewDocumentEnvironment { pmatrix } { }
+ { \pNiceMatrix }
+ { \endpNiceMatrix }
+ \RenewDocumentEnvironment { vmatrix } { }
+ { \vNiceMatrix }
+ { \endvNiceMatrix }
+ \RenewDocumentEnvironment { Vmatrix } { }
+ { \VNiceMatrix }
+ { \endVNiceMatrix }
+ \RenewDocumentEnvironment { bmatrix } { }
+ { \bNiceMatrix }
+ { \endbNiceMatrix }
+ \RenewDocumentEnvironment { Bmatrix } { }
+ { \BNiceMatrix }
+ { \endBNiceMatrix }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{Automatic arrays}
+%
+%
+%
+% We will extract some keys and pass the other keys to the environment
+% |{NiceArrayWithDelims}|.
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Auto }
+ {
+ columns-type .tl_set:N = \l_@@_columns_type_tl ,
+ columns-type .value_required:n = true ,
+ l .meta:n = { columns-type = l } ,
+ r .meta:n = { columns-type = r } ,
+ c .meta:n = { columns-type = c } ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
+ delimiters / max-width .default:n = true ,
+ delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .value_required:n = true ,
+ rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
+ rounded-corners .default:n = 4 pt
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \AutoNiceMatrixWithDelims
+ { m m O { } > { \SplitArgument { 1 } { - } } m O { } m ! O { } }
+ { \@@_auto_nice_matrix:nnnnnn { #1 } { #2 } #4 { #6 } { #3 , #5 , #7 } }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_auto_nice_matrix:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+% \end{macrocode}
+% The group is for the protection of the keys.
+% \begin{macrocode}
+ \group_begin:
+ \keys_set_known:nnN { NiceMatrix / Auto } { #6 } \l_tmpa_tl
+ \use:e
+ {
+ \exp_not:N \begin { NiceArrayWithDelims } { #1 } { #2 }
+ { * { #4 } { \exp_not:o \l_@@_columns_type_tl } }
+ [ \exp_not:o \l_tmpa_tl ]
+ }
+ \int_if_zero:nT \l_@@_first_row_int
+ {
+ \int_if_zero:nT \l_@@_first_col_int { & }
+ \prg_replicate:nn { #4 - 1 } { & }
+ \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
+ }
+ \prg_replicate:nn { #3 }
+ {
+ \int_if_zero:nT \l_@@_first_col_int { & }
+% \end{macrocode}
+% We put |{ }| before |#6| to avoid a hasty expansion of a potential
+% |\arabic{iRow}| at the beginning of the row which would result in an incorrect
+% value of that |iRow| (since |iRow| is incremented in the first cell of the row
+% of the |\halign|).
+% \begin{macrocode}
+ \prg_replicate:nn { #4 - 1 } { { } #5 & } #5
+ \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
+ }
+ \int_compare:nNnT \l_@@_last_row_int > { -2 }
+ {
+ \int_if_zero:nT \l_@@_first_col_int { & }
+ \prg_replicate:nn { #4 - 1 } { & }
+ \int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
+ }
+ \end { NiceArrayWithDelims }
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_define_com:nnn #1 #2 #3
+ {
+ \cs_set_protected:cpn { #1 AutoNiceMatrix }
+ {
+ \bool_gset_true:N \g_@@_delims_bool
+ \str_gset:Nx \g_@@_name_env_str { #1 AutoNiceMatrix }
+ \AutoNiceMatrixWithDelims { #2 } { #3 }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_define_com:nnn p ( )
+\@@_define_com:nnn b [ ]
+\@@_define_com:nnn v | |
+\@@_define_com:nnn V \| \|
+\@@_define_com:nnn B \{ \}
+% \end{macrocode}
+%
+% \bigskip
+% We define also a command |\AutoNiceMatrix| similar to the environment |{NiceMatrix}|.
+% \begin{macrocode}
+\NewDocumentCommand \AutoNiceMatrix { O { } m O { } m ! O { } }
+ {
+ \group_begin:
+ \bool_gset_false:N \g_@@_delims_bool
+ \AutoNiceMatrixWithDelims . . { #2 } { #4 } [ #1 , #3 , #5 ]
+ \group_end:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The redefinition of the command \textbackslash dotfill }
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@@_old_dotfill \dotfill
+\cs_new_protected:Npn \@@_dotfill:
+ {
+% \end{macrocode}
+% First, we insert |\@@_dotfill| (which is the saved version of |\dotfill|) in
+% case of use of |\dotfill| ``internally'' in the cell (e.g. |\hbox to 1cm {\dotfill}|).
+% \begin{macrocode}
+ \@@_old_dotfill
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl \@@_dotfill_i:
+ }
+% \end{macrocode}
+% Now, if the box if not empty (unfornately, we can't actually test whether the
+% box is empty and that's why we only consider it's width), we insert
+% |\@@_dotfill| (which is the saved version of |\dotfill|) in the cell of the
+% array, and it will extend, since it is no longer in |\l_@@_cell_box|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_dotfill_i:
+ { \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } = \c_zero_dim \@@_old_dotfill }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The command \textbackslash diagbox}
+%
+% The command |\diagbox| will be linked to |\diagbox:nn| in the environments of
+% \pkg{nicematrix}. However, there are also redefinitions of |\diagbox| in other
+% circonstancies.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_diagbox:nn #1 #2
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_actually_diagbox:nnnnnn
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+% \end{macrocode}
+% |\g_@@_row_style_tl| contains several instructions of the form:
+%
+% \qquad |\@@_if_row_less_than:nn { number } { instructions }|
+%
+% The command |\@@_if_row_less:nn| is fully expandable and, thus, the
+% instructions will be inserted in the |\g_@@_pre_code_after_tl| only if
+% |\diagbox| is used in a row which is the scope of that chunck of instructions.
+% \begin{macrocode}
+ { \g_@@_row_style_tl \exp_not:n { #1 } }
+ { \g_@@_row_style_tl \exp_not:n { #2 } }
+ }
+% \end{macrocode}
+% We put the cell with |\diagbox| in the sequence |\g_@@_pos_of_blocks_seq|
+% because a cell with |\diagbox| must be considered as non empty by the key
+% |corners|.
+% \begin{macrocode}
+ \seq_gput_right:Nx \g_@@_pos_of_blocks_seq
+ {
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+ { \int_use:N \c@iRow }
+ { \int_use:N \c@jCol }
+% \end{macrocode}
+% The last argument is for the name of the block.
+% \begin{macrocode}
+ { }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\diagbox| is also redefined locally when we draw a block.
+%
+% \medskip
+% The first four arguments of |\@@_actually_diagbox:nnnnnn| correspond to the
+% rectangle (=block) to slash (we recall that it's possible to use |\diagbox| in
+% a |\Block|). The other two are the elements to draw below and above the
+% diagonal line.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_actually_diagbox:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+ \pgfrememberpicturepositiononpagetrue
+ \@@_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
+ \@@_qpoint:n { row - \int_eval:n { #3 + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \@@_qpoint:n { col - \int_eval:n { #4 + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ \pgfpathlineto { \pgfpoint \l_@@_tmpd_dim \l_@@_tmpc_dim }
+ {
+% \end{macrocode}
+% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
+% the rules in the array. The package \pkg{nicematrix} uses it even if \pkg{colortbl} is not
+% loaded.
+% \begin{macrocode}
+ \CT@arc@
+ \pgfsetroundcap
+ \pgfusepathqstroke
+ }
+ \pgfset { inner~sep = 1 pt }
+ \pgfscope
+ \pgftransformshift { \pgfpoint \l_tmpb_dim \l_@@_tmpc_dim }
+ \pgfnode { rectangle } { south~west }
+ {
+ \begin { minipage } { 20 cm }
+ \@@_math_toggle: #5 \@@_math_toggle:
+ \end { minipage }
+ }
+ { }
+ { }
+ \endpgfscope
+ \pgftransformshift { \pgfpoint \l_@@_tmpd_dim \l_tmpa_dim }
+ \pgfnode { rectangle } { north~east }
+ {
+ \begin { minipage } { 20 cm }
+ \raggedleft
+ \@@_math_toggle: #6 \@@_math_toggle:
+ \end { minipage }
+ }
+ { }
+ { }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+%
+%
+%
+% \bigskip
+% \section{The keyword \textbackslash CodeAfter}
+%
+%
+%
+% \medskip
+% In fact, in this subsection, we define the user command |\CodeAfter| for the
+% case of the ``normal syntax''. For the case of ``light-syntax'', see the
+% definition of the environment |{@@-light-syntax}| on
+% p.~\pageref{code-light-syntax}.
+%
+%
+% \medskip
+% In the environments of \pkg{nicematrix}, |\CodeAfter| will be linked to
+% |\@@_CodeAfter:|. That macro must \emph{not} be protected since it begins with
+% |\omit|.
+% \begin{macrocode}
+\cs_new:Npn \@@_CodeAfter: { \omit \@@_CodeAfter_ii:n }
+% \end{macrocode}
+%
+% \medskip
+% However, in each cell of the environment, the command |\CodeAfter| will be
+% linked to the following command |\@@_CodeAfter_ii:n| which begins
+% with |\\|.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_CodeAfter_i: { \\ \omit \@@_CodeAfter_ii:n }
+% \end{macrocode}
+%
+% \smallskip
+% We have to catch everything until the end of the current environment (of
+% \pkg{nicematrix}). First, we go until the next command |\end|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_CodeAfter_ii:n #1 \end
+ {
+ \tl_gput_right:Nn \g_nicematrix_code_after_tl { #1 }
+ \@@_CodeAfter_iv:n
+ }
+% \end{macrocode}
+%
+% We catch the argument of the command |\end| (in |#1|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_CodeAfter_iv:n #1
+ {
+% \end{macrocode}
+% If this is really the end of the current environment (of \pkg{nicematrix}), we
+% put back the command |\end| and its argument in the TeX flow.
+% \begin{macrocode}
+ \str_if_eq:eeTF \@currenvir { #1 }
+ { \end { #1 } }
+% \end{macrocode}
+% If this is not the |\end| we are looking for, we put those tokens in
+% |\g_nicematrix_code_after_tl| and we go on searching for the next command
+% |\end| with a recursive call to the command |\@@_CodeAfter:n|.
+% \begin{macrocode}
+ {
+ \tl_gput_right:Nn \g_nicematrix_code_after_tl { \end { #1 } }
+ \@@_CodeAfter_ii:n
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+% \section{The delimiters in the preamble}
+%
+% The command |\@@_delimiter:nnn| will be used to draw delimiters inside the
+% matrix when delimiters are specified in the preamble of the array. It does
+% \emph{not} concern the exterior delimiters added by |{NiceArrayWithDelims}|
+% (and |{pNiceArray}|, |{pNiceMatrix}|, etc.).
+%
+% A delimiter in the preamble of the array will write an instruction
+% |\@@_delimiter:nnn| in the |\g_@@_pre_code_after_tl| (and also
+% potentially add instructions in the preamble provided to |\array| in order to
+% add space between columns).
+%
+% \smallskip
+% The first argument is the type of delimiter (|(|, |[|, |\{|, |)|, |]| or
+% |\}|). The second argument is the number of colummn. The third argument is a
+% boolean equal to |\c_true_bool| (resp. |\c_false_true|) when the delimiter
+% must be put on the left (resp. right) side.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_delimiter:nnn #1 #2 #3
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+% \end{macrocode}
+%
+% \medskip
+% |\l_@@_y_initial_dim| and |\l_@@_y_final_dim| will be the $y$-values of the
+% extremities of the delimiter we will have to construct.
+% \begin{macrocode}
+ \@@_qpoint:n { row - 1 }
+ \dim_set_eq:NN \l_@@_y_initial_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { \c@iRow + 1 } }
+ \dim_set_eq:NN \l_@@_y_final_dim \pgf@y
+% \end{macrocode}
+%
+% \medskip
+% We will compute in |\l_tmpa_dim| the $x$-value where we will have to put our
+% delimiter (on the left side or on the right side).
+% \begin{macrocode}
+ \bool_if:nTF { #3 }
+ { \dim_set_eq:NN \l_tmpa_dim \c_max_dim }
+ { \dim_set:Nn \l_tmpa_dim { - \c_max_dim } }
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
+ {
+ \pgfpointanchor
+ { \@@_env: - ##1 - #2 }
+ { \bool_if:nTF { #3 } { west } { east } }
+ \dim_set:Nn \l_tmpa_dim
+ { \bool_if:nTF { #3 } \dim_min:nn \dim_max:nn \l_tmpa_dim \pgf@x }
+ }
+ }
+% \end{macrocode}
+%
+%
+% Now we can put the delimiter with a node of \textsc{pgf}.
+% \begin{macrocode}
+ \pgfset { inner~sep = \c_zero_dim }
+ \dim_zero:N \nulldelimiterspace
+ \pgftransformshift
+ {
+ \pgfpoint
+ { \l_tmpa_dim }
+ { ( \l_@@_y_initial_dim + \l_@@_y_final_dim + \arrayrulewidth ) / 2 }
+ }
+ \pgfnode
+ { rectangle }
+ { \bool_if:nTF { #3 } { east } { west } }
+ {
+% \end{macrocode}
+% Here is the content of the \textsc{pgf} node, that is to say the delimiter,
+% constructed with its right size.
+% \begin{macrocode}
+ \nullfont
+ \c_math_toggle_token
+ \@@_color:o \l_@@_delimiters_color_tl
+ \bool_if:nTF { #3 } { \left #1 } { \left . }
+ \vcenter
+ {
+ \nullfont
+ \hrule \@height
+ \dim_eval:n { \l_@@_y_initial_dim - \l_@@_y_final_dim }
+ \@depth \c_zero_dim
+ \@width \c_zero_dim
+ }
+ \bool_if:nTF { #3 } { \right . } { \right #1 }
+ \c_math_toggle_token
+ }
+ { }
+ { }
+ \endpgfpicture
+ }
+% \end{macrocode}
+%
+% \section{The command \textbackslash SubMatrix}
+%
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / sub-matrix }
+ {
+ extra-height .dim_set:N = \l_@@_submatrix_extra_height_dim ,
+ extra-height .value_required:n = true ,
+ left-xshift .dim_set:N = \l_@@_submatrix_left_xshift_dim ,
+ left-xshift .value_required:n = true ,
+ right-xshift .dim_set:N = \l_@@_submatrix_right_xshift_dim ,
+ right-xshift .value_required:n = true ,
+ xshift .meta:n = { left-xshift = #1, right-xshift = #1 } ,
+ xshift .value_required:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ slim .bool_set:N = \l_@@_submatrix_slim_bool ,
+ slim .default:n = true ,
+ hlines .clist_set:N = \l_@@_submatrix_hlines_clist ,
+ hlines .default:n = all ,
+ vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
+ vlines .default:n = all ,
+ hvlines .meta:n = { hlines, vlines } ,
+ hvlines .value_forbidden:n = true
+ }
+\keys_define:nn { NiceMatrix }
+ {
+ SubMatrix .inherit:n = NiceMatrix / sub-matrix ,
+ NiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ pNiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following keys set is for the command |\SubMatrix| itself (not the tuning
+% of |\SubMatrix| that can be done elsewhere).
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / SubMatrix }
+ {
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ hlines .clist_set:N = \l_@@_submatrix_hlines_clist ,
+ hlines .default:n = all ,
+ vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
+ vlines .default:n = all ,
+ hvlines .meta:n = { hlines, vlines } ,
+ hvlines .value_forbidden:n = true ,
+ name .code:n =
+ \tl_if_empty:nTF { #1 }
+ { \@@_error:n { Invalid~name } }
+ {
+ \regex_match:nnTF { \A[A-Za-z][A-Za-z0-9]*\Z } { #1 }
+ {
+ \seq_if_in:NnTF \g_@@_submatrix_names_seq { #1 }
+ { \@@_error:nn { Duplicate~name~for~SubMatrix } { #1 } }
+ {
+ \str_set:Nn \l_@@_submatrix_name_str { #1 }
+ \seq_gput_right:Nn \g_@@_submatrix_names_seq { #1 }
+ }
+ }
+ { \@@_error:n { Invalid~name } }
+ } ,
+ name .value_required:n = true ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
+ code .tl_set:N = \l_@@_code_tl ,
+ code .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~SubMatrix }
+ }
+% \end{macrocode}
+%
+%
+%
+% \bigskip
+% \begin{macrocode}
+\NewDocumentCommand \@@_SubMatrix_in_code_before { m m m m ! O { } }
+ {
+ \peek_remove_spaces:n
+ {
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \SubMatrix { #1 } { #2 } { #3 } { #4 }
+ [
+ delimiters / color = \l_@@_delimiters_color_tl ,
+ hlines = \l_@@_submatrix_hlines_clist ,
+ vlines = \l_@@_submatrix_vlines_clist ,
+ extra-height = \dim_use:N \l_@@_submatrix_extra_height_dim ,
+ left-xshift = \dim_use:N \l_@@_submatrix_left_xshift_dim ,
+ right-xshift = \dim_use:N \l_@@_submatrix_right_xshift_dim ,
+ slim = \bool_to_str:N \l_@@_submatrix_slim_bool ,
+ #5
+ ]
+ }
+ \@@_SubMatrix_in_code_before_i { #2 } { #3 }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_SubMatrix_in_code_before_i
+ { > { \SplitArgument { 1 } { - } } m > { \SplitArgument { 1 } { - } } m }
+ { \@@_SubMatrix_in_code_before_i:nnnn #1 #2 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_SubMatrix_in_code_before_i:nnnn #1 #2 #3 #4
+ {
+ \seq_gput_right:Nx \g_@@_submatrix_seq
+ {
+% \end{macrocode}
+% We use |\str_if_eq:nnTF| because it is fully expandable.
+% \begin{macrocode}
+ { \str_if_eq:nnTF { #1 } { last } { \int_use:N \c@iRow } { #1 } }
+ { \str_if_eq:nnTF { #2 } { last } { \int_use:N \c@jCol } { #2 } }
+ { \str_if_eq:nnTF { #3 } { last } { \int_use:N \c@iRow } { #3 } }
+ { \str_if_eq:nnTF { #4 } { last } { \int_use:N \c@jCol } { #4 } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% In the pre-code-after and in the |\CodeAfter| the following command
+% |\@@_SubMatrix| will be linked to |\SubMatrix|.
+% \begin{itemize}
+% \item |#1| is the left delimiter;
+% \item |#2| is the upper-left cell of the matrix with the format $i$-$j$;
+% \item |#3| is the lower-right cell of the matrix with the format $i$-$j$;
+% \item |#4| is the right delimiter;
+% \item |#5| is the list of options of the command;
+% \item |#6| is the potential subscript;
+% \item |#7| is the potential superscript.
+% \end{itemize}
+% For explanations about the construction with rescanning of the preamble, see
+% the documentation for the user command |\Cdots|.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_set_nopar:Npn \l_@@_argspec_tl { m m m m O { } E { _ ^ } { { } { } } }
+ \tl_set_rescan:Nno \l_@@_argspec_tl { } \l_@@_argspec_tl
+ \exp_args:NNo \NewDocumentCommand \@@_SubMatrix \l_@@_argspec_tl
+ {
+ \peek_remove_spaces:n
+ {
+ \@@_sub_matrix:nnnnnnn
+ { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } { #7 }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following macro will compute |\l_@@_first_i_tl|, |\l_@@_first_j_tl|,
+% |\l_@@_last_i_tl| and |\l_@@_last_j_tl| from the arguments of the command as
+% provided by the user (for example |2-3| and |5-last|).
+% \begin{macrocode}
+\NewDocumentCommand \@@_compute_i_j:nn
+ { > { \SplitArgument { 1 } { - } } m > { \SplitArgument { 1 } { - } } m }
+ { \@@_compute_i_j:nnnn #1 #2 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_compute_i_j:nnnn #1 #2 #3 #4
+ {
+ \cs_set_nopar:Npn \l_@@_first_i_tl { #1 }
+ \cs_set_nopar:Npn \l_@@_first_j_tl { #2 }
+ \cs_set_nopar:Npn \l_@@_last_i_tl { #3 }
+ \cs_set_nopar:Npn \l_@@_last_j_tl { #4 }
+ \tl_if_eq:NnT \l_@@_first_i_tl { last }
+ { \tl_set:NV \l_@@_first_i_tl \c@iRow }
+ \tl_if_eq:NnT \l_@@_first_j_tl { last }
+ { \tl_set:NV \l_@@_first_j_tl \c@jCol }
+ \tl_if_eq:NnT \l_@@_last_i_tl { last }
+ { \tl_set:NV \l_@@_last_i_tl \c@iRow }
+ \tl_if_eq:NnT \l_@@_last_j_tl { last }
+ { \tl_set:NV \l_@@_last_j_tl \c@jCol }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_sub_matrix:nnnnnnn #1 #2 #3 #4 #5 #6 #7
+ {
+ \group_begin:
+% \end{macrocode}
+% The four following token lists correspond to the position of the |\SubMatrix|.
+% \begin{macrocode}
+ \@@_compute_i_j:nn { #2 } { #3 }
+ \int_compare:nNnT \l_@@_first_i_tl = \l_@@_last_i_tl
+ { \cs_set_nopar:Npn \arraystretch { 1 } }
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int }
+ { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int }
+ { \@@_error:nn { Construct~too~large } { \SubMatrix } }
+ {
+ \str_clear_new:N \l_@@_submatrix_name_str
+ \keys_set:nn { NiceMatrix / SubMatrix } { #5 }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \pgfset { inner~sep = \c_zero_dim }
+ \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
+ \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
+% \end{macrocode}
+% The last value of |\int_step_inline:nnn| is provided by currifycation.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_submatrix_slim_bool
+ { \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl }
+ { \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int }
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_first_j_tl }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - \l_@@_first_j_tl } { west }
+ \dim_set:Nn \l_@@_x_initial_dim
+ { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
+ }
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_last_j_tl }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - \l_@@_last_j_tl } { east }
+ \dim_set:Nn \l_@@_x_final_dim
+ { \dim_max:nn \l_@@_x_final_dim \pgf@x }
+ }
+ }
+ \dim_compare:nNnTF \l_@@_x_initial_dim = \c_max_dim
+ { \@@_error:nn { Impossible~delimiter } { left } }
+ {
+ \dim_compare:nNnTF \l_@@_x_final_dim = { - \c_max_dim }
+ { \@@_error:nn { Impossible~delimiter } { right } }
+ { \@@_sub_matrix_i:nnnn { #1 } { #4 } { #6 } { #7 } }
+ }
+ \endpgfpicture
+ }
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \bigskip
+% |#1| is the left delimiter, |#2| is the right one, |#3| is the subscript and
+% |#4| is the superscript.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_sub_matrix_i:nnnn #1 #2 #3 #4
+ {
+ \@@_qpoint:n { row - \l_@@_first_i_tl - base }
+ \dim_set:Nn \l_@@_y_initial_dim
+ {
+ \fp_to_dim:n
+ {
+ \pgf@y
+ + ( \box_ht:N \strutbox + \extrarowheight ) * \arraystretch
+ }
+ }
+ \@@_qpoint:n { row - \l_@@_last_i_tl - base }
+ \dim_set:Nn \l_@@_y_final_dim
+ { \fp_to_dim:n { \pgf@y - ( \box_dp:N \strutbox ) * \arraystretch } }
+ \int_step_inline:nnn \l_@@_first_col_int \g_@@_col_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - \l_@@_first_i_tl - ##1 }
+ {
+ \pgfpointanchor { \@@_env: - \l_@@_first_i_tl - ##1 } { north }
+ \dim_set:Nn \l_@@_y_initial_dim
+ { \dim_max:nn \l_@@_y_initial_dim \pgf@y }
+ }
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - \l_@@_last_i_tl - ##1 }
+ {
+ \pgfpointanchor { \@@_env: - \l_@@_last_i_tl - ##1 } { south }
+ \dim_set:Nn \l_@@_y_final_dim
+ { \dim_min:nn \l_@@_y_final_dim \pgf@y }
+ }
+ }
+ \dim_set:Nn \l_tmpa_dim
+ {
+ \l_@@_y_initial_dim - \l_@@_y_final_dim +
+ \l_@@_submatrix_extra_height_dim - \arrayrulewidth
+ }
+ \dim_zero:N \nulldelimiterspace
+% \end{macrocode}
+%
+% \bigskip
+% We will draw the rules in the |\SubMatrix|.
+% \begin{macrocode}
+ \group_begin:
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \@@_set_CT@arc@:o \l_@@_rules_color_tl
+ \CT@arc@
+% \end{macrocode}
+% Now, we draw the potential vertical rules specified in the preamble of the
+% environments with the letter fixed with the key |vlines-in-sub-matrix|. The
+% list of the columns where there is such rule to draw is in |\g_@@_cols_vlism_seq|.
+% \begin{macrocode}
+ \seq_map_inline:Nn \g_@@_cols_vlism_seq
+ {
+ \int_compare:nNnT \l_@@_first_j_tl < { ##1 }
+ {
+ \int_compare:nNnT
+ { ##1 } < { \int_eval:n { \l_@@_last_j_tl + 1 } }
+ {
+% \end{macrocode}
+% First, we extract the value of the abscissa of the rule we have to draw.
+% \begin{macrocode}
+ \@@_qpoint:n { col - ##1 }
+ \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
+ \pgfusepathqstroke
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, we draw the vertical rules specified in the key |vlines| of |\SubMatrix|.
+% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
+% by curryfication.
+% \begin{macrocode}
+ \tl_if_eq:NNTF \l_@@_submatrix_vlines_clist \c_@@_all_tl
+ { \int_step_inline:nn { \l_@@_last_j_tl - \l_@@_first_j_tl } }
+ { \clist_map_inline:Nn \l_@@_submatrix_vlines_clist }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn { ##1 } > \c_zero_int }
+ {
+ \int_compare_p:nNn
+ { ##1 } < { \l_@@_last_j_tl - \l_@@_first_j_tl + 1 } }
+ {
+ \@@_qpoint:n { col - \int_eval:n { ##1 + \l_@@_first_j_tl } }
+ \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
+ \pgfusepathqstroke
+ }
+ { \@@_error:nnn { Wrong~line~in~SubMatrix } { vertical } { ##1 } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, we draw the horizontal rules specified in the key |hlines| of
+% |\SubMatrix|.
+% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
+% by curryfication.
+% \begin{macrocode}
+ \tl_if_eq:NNTF \l_@@_submatrix_hlines_clist \c_@@_all_tl
+ { \int_step_inline:nn { \l_@@_last_i_tl - \l_@@_first_i_tl } }
+ { \clist_map_inline:Nn \l_@@_submatrix_hlines_clist }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn { ##1 } > \c_zero_int }
+ {
+ \int_compare_p:nNn
+ { ##1 } < { \l_@@_last_i_tl - \l_@@_first_i_tl + 1 } }
+ {
+ \@@_qpoint:n { row - \int_eval:n { ##1 + \l_@@_first_i_tl } }
+% \end{macrocode}
+% We use a group to protect |\l_tmpa_dim| and |\l_tmpb_dim|.
+% \begin{macrocode}
+ \group_begin:
+% \end{macrocode}
+% We compute in |\l_tmpa_dim| the $x$-value of the left end of the rule.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpa_dim
+ { \l_@@_x_initial_dim - \l_@@_submatrix_left_xshift_dim }
+ \str_case:nn { #1 }
+ {
+ ( { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
+ [ { \dim_sub:Nn \l_tmpa_dim { 0.2 mm } }
+ \{ { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
+ }
+ \pgfpathmoveto { \pgfpoint \l_tmpa_dim \pgf@y }
+% \end{macrocode}
+% We compute in |\l_tmpb_dim| the $x$-value of the right end of the rule.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpb_dim
+ { \l_@@_x_final_dim + \l_@@_submatrix_right_xshift_dim }
+ \str_case:nn { #2 }
+ {
+ ) { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
+ ] { \dim_add:Nn \l_tmpb_dim { 0.2 mm } }
+ \} { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
+ }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \pgf@y }
+ \pgfusepathqstroke
+ \group_end:
+ }
+ { \@@_error:nnn { Wrong~line~in~SubMatrix } { horizontal } { ##1 } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% If the key |name| has been used for the command |\SubMatrix|, we create a PGF
+% node with that name for the submatrix (this node does not encompass the
+% delimiters that we will put after).
+% \begin{macrocode}
+ \str_if_empty:NF \l_@@_submatrix_name_str
+ {
+ \@@_pgf_rect_node:nnnnn \l_@@_submatrix_name_str
+ \l_@@_x_initial_dim \l_@@_y_initial_dim
+ \l_@@_x_final_dim \l_@@_y_final_dim
+ }
+ \group_end:
+% \end{macrocode}
+% The group was for |\CT@arc@| (the color of the rules).
+%
+% \medskip
+% Now, we deal with the left delimiter. Of course, the environment
+% |{pgfscope}| is for the |\pgftransformshift|.
+% \begin{macrocode}
+ \begin { pgfscope }
+ \pgftransformshift
+ {
+ \pgfpoint
+ { \l_@@_x_initial_dim - \l_@@_submatrix_left_xshift_dim }
+ { ( \l_@@_y_initial_dim + \l_@@_y_final_dim ) / 2 }
+ }
+ \str_if_empty:NTF \l_@@_submatrix_name_str
+ { \@@_node_left:nn #1 { } }
+ { \@@_node_left:nn #1 { \@@_env: - \l_@@_submatrix_name_str - left } }
+ \end { pgfscope }
+% \end{macrocode}
+%
+% \medskip
+% Now, we deal with the right delimiter.
+% \begin{macrocode}
+ \pgftransformshift
+ {
+ \pgfpoint
+ { \l_@@_x_final_dim + \l_@@_submatrix_right_xshift_dim }
+ { ( \l_@@_y_initial_dim + \l_@@_y_final_dim ) / 2 }
+ }
+ \str_if_empty:NTF \l_@@_submatrix_name_str
+ { \@@_node_right:nnnn #2 { } { #3 } { #4 } }
+ {
+ \@@_node_right:nnnn #2
+ { \@@_env: - \l_@@_submatrix_name_str - right } { #3 } { #4 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \cs_set_eq:NN \pgfpointanchor \@@_pgfpointanchor:n
+ \flag_clear_new:n { nicematrix }
+ \l_@@_code_tl
+ }
+% \end{macrocode}
+%
+% \bigskip
+% In the key |code| of the command |\SubMatrix| there may be Tikz instructions.
+% We want that, in these instructions, the $i$ and $j$ in specifications of
+% nodes of the forms $i$|-|$j$, |row-|$i$, |col-|$j$ and $i$\verb+-|+$j$ refer
+% to the number of row and columm \emph{relative} of the current |\SubMatrix|.
+% That's why we will patch (locally in the |\SubMatrix|) the command
+% |\pgfpointanchor|.
+% \begin{macrocode}
+\cs_set_eq:NN \@@_old_pgfpointanchor \pgfpointanchor
+% \end{macrocode}
+%
+% \bigskip
+% The following command will be linked to |\pgfpointanchor| just before the
+% execution of the option |code| of the command |\SubMatrix|. In this command,
+% we catch the argument |#1| of |\pgfpointanchor| and we apply to it the command
+% |\@@_pgfpointanchor_i:nn| before passing it to the original |\pgfpointanchor|.
+% We have to act in an expandable way because the command |\pgfpointanchor| is
+% used in names of Tikz nodes which are computed in an expandable way.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pgfpointanchor:n #1
+ {
+ \use:e
+ { \exp_not:N \@@_old_pgfpointanchor { \@@_pgfpointanchor_i:nn #1 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% In fact, the argument of |\pgfpointanchor| is always of the form
+% |\a_command { name_of_node }| where ``|name_of_node|'' is the name of the Tikz
+% node without the potential prefix and suffix. That's why we catch two
+% arguments and work only on the second by trying (first) to extract an hyphen |-|.
+% \begin{macrocode}
+\cs_new:Npn \@@_pgfpointanchor_i:nn #1 #2
+ { #1 { \@@_pgfpointanchor_ii:w #2 - \q_stop } }
+% \end{macrocode}
+%
+% \bigskip
+% Since |\seq_if_in:NnTF| and |\clist_if_in:NnTF| are not expandable, we will
+% use the following token list and |\str_case:nVTF| to test whether we have an
+% integer or not.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_integers_alist_tl
+ {
+ { 1 } { } { 2 } { } { 3 } { } { 4 } { } { 5 } { }
+ { 6 } { } { 7 } { } { 8 } { } { 9 } { } { 10 } { }
+ { 11 } { } { 12 } { } { 13 } { } { 14 } { } { 15 } { }
+ { 16 } { } { 17 } { } { 18 } { } { 19 } { } { 20 } { }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new:Npn \@@_pgfpointanchor_ii:w #1-#2\q_stop
+ {
+% \end{macrocode}
+% If there is no hyphen, that means that the node is of the form of a single
+% number (ex.: |5| or |11|). In that case, we are in an analysis which result
+% from a specification of node of the form $i$\verb+-|+$j$. In that case, the
+% $i$ of the number of row arrives first (and alone) in a |\pgfpointanchor| and,
+% the, the $j$ arrives (alone) in the following |\pgfpointanchor|. In order to
+% know whether we have a number of row or a number of column, we keep track of
+% the number of such treatments by the expandable flag called |nicematrix|.
+% \begin{macrocode}
+ \tl_if_empty:nTF { #2 }
+ {
+ \str_case:nVTF { #1 } \c_@@_integers_alist_tl
+ {
+ \flag_raise:n { nicematrix }
+ \int_if_even:nTF { \flag_height:n { nicematrix } }
+ { \int_eval:n { #1 + \l_@@_first_i_tl - 1 } }
+ { \int_eval:n { #1 + \l_@@_first_j_tl - 1 } }
+ }
+ { #1 }
+ }
+% \end{macrocode}
+% If there is an hyphen, we have to see whether we have a node of the form
+% $i$|-|$j$, |row-|$i$ or |col-|$j$.
+% \begin{macrocode}
+ { \@@_pgfpointanchor_iii:w { #1 } #2 }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% There was an hyphen in the name of the node and that's why we have to retrieve
+% the extra hyphen we have put (cf. |\@@_pgfpointanchor_i:nn|).
+% \begin{macrocode}
+\cs_new:Npn \@@_pgfpointanchor_iii:w #1 #2 -
+ {
+ \str_case:nnF { #1 }
+ {
+ { row } { row - \int_eval:n { #2 + \l_@@_first_i_tl - 1 } }
+ { col } { col - \int_eval:n { #2 + \l_@@_first_j_tl - 1 } }
+ }
+% \end{macrocode}
+% Now the case of a node of the form $i$|-|$j$.
+% \begin{macrocode}
+ {
+ \int_eval:n { #1 + \l_@@_first_i_tl - 1 }
+ - \int_eval:n { #2 + \l_@@_first_j_tl - 1 }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\@@_node_left:nn| puts the left delimiter with the correct size.
+% The argument |#1| is the delimiter to put. The argument |#2| is the name we
+% will give to this PGF node (if the key |name| has been used in |\SubMatrix|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_node_left:nn #1 #2
+ {
+ \pgfnode
+ { rectangle }
+ { east }
+ {
+ \nullfont
+ \c_math_toggle_token
+ \@@_color:o \l_@@_delimiters_color_tl
+ \left #1
+ \vcenter
+ {
+ \nullfont
+ \hrule \@height \l_tmpa_dim
+ \@depth \c_zero_dim
+ \@width \c_zero_dim
+ }
+ \right .
+ \c_math_toggle_token
+ }
+ { #2 }
+ { }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The command |\@@_node_right:nn| puts the right delimiter with the correct size.
+% The argument |#1| is the delimiter to put. The argument |#2| is the name we
+% will give to this PGF node (if the key |name| has been used in |\SubMatrix|).
+% The argument |#3| is the subscript and |#4| is the superscript.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_node_right:nnnn #1 #2 #3 #4
+ {
+ \pgfnode
+ { rectangle }
+ { west }
+ {
+ \nullfont
+ \c_math_toggle_token
+ \@@_color:o \l_@@_delimiters_color_tl
+ \left .
+ \vcenter
+ {
+ \nullfont
+ \hrule \@height \l_tmpa_dim
+ \@depth \c_zero_dim
+ \@width \c_zero_dim
+ }
+ \right #1
+ \tl_if_empty:nF { #3 } { _ { \smash { #3 } } }
+ ^ { \smash { #4 } }
+ \c_math_toggle_token
+ }
+ { #2 }
+ { }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{Les commandes \textbackslash UnderBrace et \textbackslash
+% OverBrace}
+%
+% The following commands will be linked to |\UnderBrace| and |\OverBrace| in the
+% |\CodeAfter|.
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_UnderBrace { O { } m m m O { } }
+ {
+ \peek_remove_spaces:n
+ { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { under } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_OverBrace { O { } m m m O { } }
+ {
+ \peek_remove_spaces:n
+ { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { over } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Brace }
+ {
+ left-shorten .bool_set:N = \l_@@_brace_left_shorten_bool ,
+ left-shorten .default:n = true ,
+ right-shorten .bool_set:N = \l_@@_brace_right_shorten_bool ,
+ shorten .meta:n = { left-shorten , right-shorten } ,
+ right-shorten .default:n = true ,
+ yshift .dim_set:N = \l_@@_brace_yshift_dim ,
+ yshift .value_required:n = true ,
+ yshift .initial:n = \c_zero_dim ,
+ color .tl_set:N = \l_tmpa_tl ,
+ color .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~Brace }
+ }
+% \end{macrocode}
+%
+% \medskip
+% |#1| is the first cell of the rectangle (with the syntax $i$\verb+-|+$j$;
+% |#2| is the last cell of the rectangle;
+% |#3| is the label of the text;
+% |#4| is the optional argument (a list of \textsl{key}-\textsl{value} pairs);
+% |#5| is equal to |under| or |over|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_brace:nnnnn #1 #2 #3 #4 #5
+ {
+ \group_begin:
+% \end{macrocode}
+% The four following token lists correspond to the position of the sub-matrix to
+% which a brace will be attached.
+% \begin{macrocode}
+ \@@_compute_i_j:nn { #1 } { #2 }
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int }
+ { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int }
+ {
+ \str_if_eq:nnTF { #5 } { under }
+ { \@@_error:nn { Construct~too~large } { \UnderBrace } }
+ { \@@_error:nn { Construct~too~large } { \OverBrace } }
+ }
+ {
+ \tl_clear:N \l_tmpa_tl
+ \keys_set:nn { NiceMatrix / Brace } { #4 }
+ \tl_if_empty:NF \l_tmpa_tl { \color { \l_tmpa_tl } }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_if:NT \l_@@_brace_left_shorten_bool
+ {
+ \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim
+ \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_first_j_tl }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - \l_@@_first_j_tl } { west }
+ \dim_set:Nn \l_@@_x_initial_dim
+ { \dim_min:nn \l_@@_x_initial_dim \pgf@x }
+ }
+ }
+ }
+ \bool_lazy_or:nnT
+ { \bool_not_p:n \l_@@_brace_left_shorten_bool }
+ { \dim_compare_p:nNn \l_@@_x_initial_dim = \c_max_dim }
+ {
+ \@@_qpoint:n { col - \l_@@_first_j_tl }
+ \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x
+ }
+ \bool_if:NT \l_@@_brace_right_shorten_bool
+ {
+ \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_last_j_tl }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - \l_@@_last_j_tl } { east }
+ \dim_set:Nn \l_@@_x_final_dim
+ { \dim_max:nn \l_@@_x_final_dim \pgf@x }
+ }
+ }
+ }
+ \bool_lazy_or:nnT
+ { \bool_not_p:n \l_@@_brace_right_shorten_bool }
+ { \dim_compare_p:nNn \l_@@_x_final_dim = { - \c_max_dim } }
+ {
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_j_tl + 1 } }
+ \dim_set_eq:NN \l_@@_x_final_dim \pgf@x
+ }
+ \pgfset { inner~sep = \c_zero_dim }
+ \str_if_eq:nnTF { #5 } { under }
+ { \@@_underbrace_i:n { #3 } }
+ { \@@_overbrace_i:n { #3 } }
+ \endpgfpicture
+ }
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \medskip
+% The argument is the text to put above the brace.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_overbrace_i:n #1
+ {
+ \@@_qpoint:n { row - \l_@@_first_i_tl }
+ \pgftransformshift
+ {
+ \pgfpoint
+ { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 }
+ { \pgf@y + \l_@@_brace_yshift_dim - 3 pt}
+ }
+ \pgfnode
+ { rectangle }
+ { south }
+ {
+ \vtop
+ {
+ \group_begin:
+ \everycr { }
+ \halign
+ {
+ \hfil ## \hfil \crcr
+ \@@_math_toggle: #1 \@@_math_toggle: \cr
+ \noalign { \skip_vertical:n { 3 pt } \nointerlineskip }
+ \c_math_toggle_token
+ \overbrace
+ {
+ \hbox_to_wd:nn
+ { \l_@@_x_final_dim - \l_@@_x_initial_dim }
+ { }
+ }
+ \c_math_toggle_token
+ \cr
+ }
+ \group_end:
+ }
+ }
+ { }
+ { }
+ }
+% \end{macrocode}
+%
+%
+% \medskip
+% The argument is the text to put under the brace.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_underbrace_i:n #1
+ {
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_last_i_tl + 1 } }
+ \pgftransformshift
+ {
+ \pgfpoint
+ { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 }
+ { \pgf@y - \l_@@_brace_yshift_dim + 3 pt }
+ }
+ \pgfnode
+ { rectangle }
+ { north }
+ {
+ \group_begin:
+ \everycr { }
+ \vbox
+ {
+ \halign
+ {
+ \hfil ## \hfil \crcr
+ \c_math_toggle_token
+ \underbrace
+ {
+ \hbox_to_wd:nn
+ { \l_@@_x_final_dim - \l_@@_x_initial_dim }
+ { }
+ }
+ \c_math_toggle_token
+ \cr
+ \noalign { \skip_vertical:n { 3 pt } \nointerlineskip }
+ \@@_math_toggle: #1 \@@_math_toggle: \cr
+ }
+ }
+ \group_end:
+ }
+ { }
+ { }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{The command TikzEveryCell}
+%
+% \begin{macrocode}
+\bool_new:N \l_@@_not_empty_bool
+\bool_new:N \l_@@_empty_bool
+
+\keys_define:nn { NiceMatrix / TikzEveryCell }
+ {
+ not-empty .code:n =
+ \bool_lazy_or:nnTF
+ \l_@@_in_code_after_bool
+ \g_@@_recreate_cell_nodes_bool
+ { \bool_set_true:N \l_@@_not_empty_bool }
+ { \@@_error:n { detection~of~empty~cells } } ,
+ not-empty .value_forbidden:n = true ,
+ empty .code:n =
+ \bool_lazy_or:nnTF
+ \l_@@_in_code_after_bool
+ \g_@@_recreate_cell_nodes_bool
+ { \bool_set_true:N \l_@@_empty_bool }
+ { \@@_error:n { detection~of~empty~cells } } ,
+ empty .value_forbidden:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~TikzEveryCell }
+ }
+
+
+\NewDocumentCommand { \@@_TikzEveryCell } { O { } m }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+ \group_begin:
+ \keys_set:nn { NiceMatrix / TikzEveryCell } { #1 }
+% \end{macrocode}
+% The inner pair of braces in the following line is mandatory because, the last
+% argument of |\@@_tikz:nnnnn| is \emph{a list of lists} of TikZ keys.
+% \begin{macrocode}
+ \tl_set:Nn \l_tmpa_tl { { #2 } }
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_for_a_block:nnnnn ##1 }
+ \@@_all_the_cells:
+ \group_end:
+ }
+ { \@@_error:n { TikzEveryCell~without~tikz } }
+ }
+
+\tl_new:N \@@_i_tl
+\tl_new:N \@@_j_tl
+
+\cs_new_protected:Nn \@@_all_the_cells:
+ {
+ \int_step_variable:nNn { \int_use:c { c@iRow } } \@@_i_tl
+ {
+ \int_step_variable:nNn { \int_use:c { c@jCol } } \@@_j_tl
+ {
+ \cs_if_exist:cF { cell - \@@_i_tl - \@@_j_tl }
+ {
+ \exp_args:NNe \seq_if_in:NnF \l_@@_corners_cells_seq
+ { \@@_i_tl - \@@_j_tl }
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \cs_if_exist:cTF
+ { pgf @ sh @ ns @ \@@_env: - \@@_i_tl - \@@_j_tl }
+ {
+ \bool_if:NF \l_@@_empty_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ }
+ {
+ \bool_if:NF \l_@@_not_empty_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ }
+ \bool_if:NT \l_tmpa_bool
+ {
+ \@@_block_tikz:nnnnV
+ \@@_i_tl \@@_j_tl \@@_i_tl \@@_j_tl \l_tmpa_tl
+ }
+ }
+ }
+ }
+ }
+ }
+
+\cs_new_protected:Nn \@@_for_a_block:nnnnn
+ {
+ \bool_if:NF \l_@@_empty_bool
+ {
+ \@@_block_tikz:nnnnV
+ { #1 } { #2 } { #3 } { #4 } \l_tmpa_tl
+ }
+ \@@_mark_cells_of_block:nnnn { #1 } { #2 } { #3 } { #4 }
+ }
+
+\cs_new_protected:Nn \@@_mark_cells_of_block:nnnn
+ {
+ \int_step_inline:nnn { #1 } { #3 }
+ {
+ \int_step_inline:nnn { #2 } { #4 }
+ { \cs_set:cpn { cell - ##1 - ####1 } { } }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% \section{The command \textbackslash ShowCellNames}
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_ShowCellNames_CodeBefore { }
+ {
+ \dim_zero_new:N \g_@@_tmpc_dim
+ \dim_zero_new:N \g_@@_tmpd_dim
+ \dim_zero_new:N \g_@@_tmpe_dim
+ \int_step_inline:nn \c@iRow
+ {
+ \begin { pgfpicture }
+ \@@_qpoint:n { row - ##1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { ##1 + 1 } }
+ \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
+ \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf@y }
+ \bool_if:NTF \l_@@_in_code_after_bool
+ \end { pgfpicture }
+ \int_step_inline:nn \c@jCol
+ {
+ \hbox_set:Nn \l_tmpa_box
+ { \normalfont \Large \color { red ! 50 } ##1 - ####1 }
+ \begin { pgfpicture }
+ \@@_qpoint:n { col - ####1 }
+ \dim_gset_eq:NN \g_@@_tmpc_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { ####1 + 1 } }
+ \dim_gset:Nn \g_@@_tmpd_dim { \pgf@x - \g_@@_tmpc_dim }
+ \dim_gset_eq:NN \g_@@_tmpe_dim \pgf@x
+ \endpgfpicture
+ \end { pgfpicture }
+ \fp_set:Nn \l_tmpa_fp
+ {
+ \fp_min:nn
+ {
+ \fp_min:nn
+ {
+ \dim_ratio:nn
+ { \g_@@_tmpd_dim }
+ { \box_wd:N \l_tmpa_box }
+ }
+ {
+ \dim_ratio:nn
+ { \g_tmpb_dim }
+ { \box_ht_plus_dp:N \l_tmpa_box }
+ }
+ }
+ { 1.0 }
+ }
+ \box_scale:Nnn \l_tmpa_box
+ { \fp_use:N \l_tmpa_fp }
+ { \fp_use:N \l_tmpa_fp }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \pgftransformshift
+ {
+ \pgfpoint
+ { 0.5 * ( \g_@@_tmpc_dim + \g_@@_tmpe_dim ) }
+ { \dim_use:N \g_tmpa_dim }
+ }
+ \pgfnode
+ { rectangle }
+ { center }
+ { \box_use:N \l_tmpa_box }
+ { }
+ { }
+ \endpgfpicture
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \@@_ShowCellNames { }
+ {
+ \bool_if:NT \l_@@_in_code_after_bool
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \pgfpathrectanglecorners
+ { \@@_qpoint:n { 1 } }
+ {
+ \@@_qpoint:n
+ { \int_eval:n { \int_max:nn \c@iRow \c@jCol + 1 } }
+ }
+ \pgfsetfillopacity { 0.75 }
+ \pgfsetfillcolor { white }
+ \pgfusepathqfill
+ \endpgfpicture
+ }
+ \dim_zero_new:N \g_@@_tmpc_dim
+ \dim_zero_new:N \g_@@_tmpd_dim
+ \dim_zero_new:N \g_@@_tmpe_dim
+ \int_step_inline:nn \c@iRow
+ {
+ \bool_if:NTF \l_@@_in_code_after_bool
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ }
+ { \begin { pgfpicture } }
+ \@@_qpoint:n { row - ##1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { ##1 + 1 } }
+ \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf@y ) / 2 }
+ \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf@y }
+ \bool_if:NTF \l_@@_in_code_after_bool
+ { \endpgfpicture }
+ { \end { pgfpicture } }
+ \int_step_inline:nn \c@jCol
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \normalfont \Large \sffamily \bfseries
+ \bool_if:NTF \l_@@_in_code_after_bool
+ { \color { red } }
+ { \color { red ! 50 } }
+ ##1 - ####1
+ }
+ \bool_if:NTF \l_@@_in_code_after_bool
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ }
+ { \begin { pgfpicture } }
+ \@@_qpoint:n { col - ####1 }
+ \dim_gset_eq:NN \g_@@_tmpc_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { ####1 + 1 } }
+ \dim_gset:Nn \g_@@_tmpd_dim { \pgf@x - \g_@@_tmpc_dim }
+ \dim_gset_eq:NN \g_@@_tmpe_dim \pgf@x
+ \bool_if:NTF \l_@@_in_code_after_bool
+ { \endpgfpicture }
+ { \end { pgfpicture } }
+ \fp_set:Nn \l_tmpa_fp
+ {
+ \fp_min:nn
+ {
+ \fp_min:nn
+ { \dim_ratio:nn \g_@@_tmpd_dim { \box_wd:N \l_tmpa_box } }
+ { \dim_ratio:nn \g_tmpb_dim { \box_ht_plus_dp:N \l_tmpa_box } }
+ }
+ { 1.0 }
+ }
+ \box_scale:Nnn \l_tmpa_box { \fp_use:N \l_tmpa_fp } { \fp_use:N \l_tmpa_fp }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \pgftransformshift
+ {
+ \pgfpoint
+ { 0.5 * ( \g_@@_tmpc_dim + \g_@@_tmpe_dim ) }
+ { \dim_use:N \g_tmpa_dim }
+ }
+ \pgfnode
+ { rectangle }
+ { center }
+ { \box_use:N \l_tmpa_box }
+ { }
+ { }
+ \endpgfpicture
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{We process the options at package loading}
+%
+%
+% We process the options when the package is loaded (with |\usepackage|) but we
+% recommend to use |\NiceMatrixOptions| instead.
+%
+% We must process these options after the definition of the environment
+% |{NiceMatrix}| because the option |renew-matrix| executes the code
+% |\cs_set_eq:NN \env@matrix \NiceMatrix|.
+%
+% Of course, the command |\NiceMatrix| must be defined before such an
+% instruction is executed.
+%
+%
+% \medskip
+% The boolean |\g_@@_footnotehyper_bool| will indicate if the option
+% |footnotehyper| is used.
+% \begin{macrocode}
+\bool_new:N \g_@@_footnotehyper_bool
+% \end{macrocode}
+%
+% \medskip
+% The boolean |\g_@@_footnote_bool| will indicate if the option |footnote| is
+% used, but quicky, it will also be set to |true| if the option |footnotehyper|
+% is used.
+% \begin{macrocode}
+\bool_new:N \g_@@_footnote_bool
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { nicematrix } { Unknown~key~for~package }
+ {
+ The~key~'\l_keys_key_str'~is~unknown. \\
+ That~key~will~be~ignored. \\
+ For~a~list~of~the~available~keys,~type~H~<return>.
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ footnote,~
+ footnotehyper,~
+ messages-for-Overleaf,~
+ no-test-for-array,~
+ renew-dots,~and~
+ renew-matrix.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / Package }
+ {
+ renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
+ renew-dots .value_forbidden:n = true ,
+ renew-matrix .code:n = \@@_renew_matrix: ,
+ renew-matrix .value_forbidden:n = true ,
+ messages-for-Overleaf .bool_set:N = \g_@@_messages_for_Overleaf_bool ,
+ footnote .bool_set:N = \g_@@_footnote_bool ,
+ footnotehyper .bool_set:N = \g_@@_footnotehyper_bool ,
+ no-test-for-array .bool_set:N = \g_@@_no_test_for_array_bool ,
+ no-test-for-array .default:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~package }
+ }
+\ProcessKeysOptions { NiceMatrix / Package }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\@@_msg_new:nn { footnote~with~footnotehyper~package }
+ {
+ You~can't~use~the~option~'footnote'~because~the~package~
+ footnotehyper~has~already~been~loaded.~
+ If~you~want,~you~can~use~the~option~'footnotehyper'~and~the~footnotes~
+ within~the~environments~of~nicematrix~will~be~extracted~with~the~tools~
+ of~the~package~footnotehyper.\\
+ The~package~footnote~won't~be~loaded.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { footnotehyper~with~footnote~package }
+ {
+ You~can't~use~the~option~'footnotehyper'~because~the~package~
+ footnote~has~already~been~loaded.~
+ If~you~want,~you~can~use~the~option~'footnote'~and~the~footnotes~
+ within~the~environments~of~nicematrix~will~be~extracted~with~the~tools~
+ of~the~package~footnote.\\
+ The~package~footnotehyper~won't~be~loaded.
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\bool_if:NT \g_@@_footnote_bool
+ {
+% \end{macrocode}
+% The class \cls{beamer} has its own system to extract footnotes and that's why
+% we have nothing to do if \cls{beamer} is used.
+% \begin{macrocode}
+ \IfClassLoadedTF { beamer }
+ { \bool_set_false:N \g_@@_footnote_bool }
+ {
+ \IfPackageLoadedTF { footnotehyper }
+ { \@@_error:n { footnote~with~footnotehyper~package } }
+ { \usepackage { footnote } }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\bool_if:NT \g_@@_footnotehyper_bool
+ {
+% \end{macrocode}
+% The class \cls{beamer} has its own system to extract footnotes and that's why
+% we have nothing to do if \cls{beamer} is used.
+% \begin{macrocode}
+ \IfClassLoadedTF { beamer }
+ { \bool_set_false:N \g_@@_footnote_bool }
+ {
+ \IfPackageLoadedTF { footnote }
+ { \@@_error:n { footnotehyper~with~footnote~package } }
+ { \usepackage { footnotehyper } }
+ }
+ \bool_set_true:N \g_@@_footnote_bool
+ }
+% \end{macrocode}
+% The flag |\g_@@_footnote_bool| is raised and so, we will only have to test
+% |\g_@@_footnote_bool| in order to know if we have to insert an environment
+% |{savenotes}|.
+%
+% \bigskip
+% \section{About the package underscore}
+%
+% If the user loads the package \pkg{underscore}, it must be loaded
+% \emph{before} the package \pkg{nicematrix}. If it is loaded after, we raise an
+% error.
+%
+% \begin{macrocode}
+\bool_new:N \l_@@_underscore_loaded_bool
+\IfPackageLoadedTF { underscore }
+ { \bool_set_true:N \l_@@_underscore_loaded_bool }
+ { }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \bool_if:NF \l_@@_underscore_loaded_bool
+ {
+ \IfPackageLoadedTF { underscore }
+ { \@@_error:n { underscore~after~nicematrix } }
+ { }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \section{Error messages of the package}
+%
+% \begin{macrocode}
+\bool_if:NTF \g_@@_messages_for_Overleaf_bool
+ { \str_const:Nn \c_@@_available_keys_str { } }
+ {
+ \str_const:Nn \c_@@_available_keys_str
+ { For~a~list~of~the~available~keys,~type~H~<return>. }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\seq_new:N \g_@@_types_of_matrix_seq
+\seq_gset_from_clist:Nn \g_@@_types_of_matrix_seq
+ {
+ NiceMatrix ,
+ pNiceMatrix , bNiceMatrix , vNiceMatrix, BNiceMatrix, VNiceMatrix
+ }
+\seq_gset_map_x:NNn \g_@@_types_of_matrix_seq \g_@@_types_of_matrix_seq
+ { \tl_to_str:n { #1 } }
+% \end{macrocode}
+%
+% \bigskip
+% If the user uses too much columns, the command |\@@_error_too_much_cols:| is
+% triggered. This command raises an error but also tries to give the best
+% information to the user in the error message. The command |\seq_if_in:NoTF| is
+% not expandable and that's why we can't put it in the error message itself. We
+% have to do the test before the |\@@_fatal:n|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_error_too_much_cols:
+ {
+ \seq_if_in:NoTF \g_@@_types_of_matrix_seq \g_@@_name_env_str
+ {
+ \int_compare:nNnTF \l_@@_last_col_int = { -2 }
+ { \@@_fatal:n { too~much~cols~for~matrix } }
+ {
+ \int_compare:nNnTF \l_@@_last_col_int = { -1 }
+ { \@@_fatal:n { too~much~cols~for~matrix } }
+ {
+ \bool_if:NF \l_@@_last_col_without_value_bool
+ { \@@_fatal:n { too~much~cols~for~matrix~with~last~col } }
+ }
+ }
+ }
+ { \@@_fatal:nn { too~much~cols~for~array } }
+ }
+% \end{macrocode}
+%
+%
+% The following command must \emph{not} be protected since it's used in an error message.
+% \begin{macrocode}
+\cs_new:Npn \@@_message_hdotsfor:
+ {
+ \tl_if_empty:oF \g_@@_HVdotsfor_lines_tl
+ { ~Maybe~your~use~of~\token_to_str:N \Hdotsfor\ is~incorrect.}
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { hvlines,~rounded-corners~and~corners }
+ {
+ Incompatible~options.\\
+ You~should~not~use~'hvlines',~'rounded-corners'~and~'corners'~at~this~time.\\
+ The~output~will~not~be~reliable.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { negative~weight }
+ {
+ Negative~weight.\\
+ The~weight~of~the~'X'~columns~must~be~positive~and~you~have~used~
+ the~value~'\int_use:N \l_@@_weight_int'.\\
+ The~absolute~value~will~be~used.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { last~col~not~used }
+ {
+ Column~not~used.\\
+ The~key~'last-col'~is~in~force~but~you~have~not~used~that~last~column~
+ in~your~\@@_full_name_env:.~However,~you~can~go~on.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { too~much~cols~for~matrix~with~last~col }
+ {
+ Too~much~columns.\\
+ In~the~row~\int_eval:n { \c@iRow },~
+ you~try~to~use~more~columns~
+ than~allowed~by~your~\@@_full_name_env:.\@@_message_hdotsfor:\
+ The~maximal~number~of~columns~is~\int_eval:n { \l_@@_last_col_int - 1 }~
+ (plus~the~exterior~columns).~This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { too~much~cols~for~matrix }
+ {
+ Too~much~columns.\\
+ In~the~row~\int_eval:n { \c@iRow },~
+ you~try~to~use~more~columns~than~allowed~by~your~
+ \@@_full_name_env:.\@@_message_hdotsfor:\ Recall~that~the~maximal~
+ number~of~columns~for~a~matrix~(excepted~the~potential~exterior~
+ columns)~is~fixed~by~the~LaTeX~counter~'MaxMatrixCols'.~
+ Its~current~value~is~\int_use:N \c@MaxMatrixCols\ (use~
+ \token_to_str:N \setcounter\ to~change~that~value).~
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\@@_msg_new:nn { too~much~cols~for~array }
+ {
+ Too~much~columns.\\
+ In~the~row~\int_eval:n { \c@iRow },~
+ ~you~try~to~use~more~columns~than~allowed~by~your~
+ \@@_full_name_env:.\@@_message_hdotsfor:\ The~maximal~number~of~columns~is~
+ \int_use:N \g_@@_static_num_of_col_int\
+ ~(plus~the~potential~exterior~ones).
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { columns~not~used }
+ {
+ Columns~not~used.\\
+ The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
+ \g_@@_static_num_of_col_int\ columns~but~you~use~only~\int_use:N \c@jCol.\\
+ The~columns~you~did~not~used~won't~be~created.\\
+ You~won't~have~similar~error~message~till~the~end~of~the~document.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { in~first~col }
+ {
+ Erroneous~use.\\
+ You~can't~use~the~command~#1 in~the~first~column~(number~0)~of~the~array.\\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { in~last~col }
+ {
+ Erroneous~use.\\
+ You~can't~use~the~command~#1 in~the~last~column~(exterior)~of~the~array.\\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { in~first~row }
+ {
+ Erroneous~use.\\
+ You~can't~use~the~command~#1 in~the~first~row~(number~0)~of~the~array.\\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { in~last~row }
+ {
+ You~can't~use~the~command~#1 in~the~last~row~(exterior)~of~the~array.\\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { caption~outside~float }
+ {
+ Key~caption~forbidden.\\
+ You~can't~use~the~key~'caption'~because~you~are~not~in~a~floating~
+ environment.~This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { short-caption~without~caption }
+ {
+ You~should~not~use~the~key~'short-caption'~without~'caption'.~
+ However,~your~'short-caption'~will~be~used~as~'caption'.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { double~closing~delimiter }
+ {
+ Double~delimiter.\\
+ You~can't~put~a~second~closing~delimiter~"#1"~just~after~a~first~closing~
+ delimiter.~This~delimiter~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { delimiter~after~opening }
+ {
+ Double~delimiter.\\
+ You~can't~put~a~second~delimiter~"#1"~just~after~a~first~opening~
+ delimiter.~That~delimiter~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { bad~option~for~line-style }
+ {
+ Bad~line~style.\\
+ Since~you~haven't~loaded~Tikz,~the~only~value~you~can~give~to~'line-style'~
+ is~'standard'.~That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Identical~notes~in~caption }
+ {
+ Identical~tabular~notes.\\
+ You~can't~put~several~notes~with~the~same~content~in~
+ \token_to_str:N \caption\ (but~you~can~in~the~main~tabular).\\
+ If~you~go~on,~the~output~will~probably~be~erroneous.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tabularnote~below~the~tabular }
+ {
+ \token_to_str:N \tabularnote\ forbidden\\
+ You~can't~use~\token_to_str:N \tabularnote\ in~the~caption~
+ of~your~tabular~because~the~caption~will~be~composed~below~
+ the~tabular.~If~you~want~the~caption~above~the~tabular~use~the~
+ key~'caption-above'~in~\token_to_str:N \NiceMatrixOptions.\\
+ Your~\token_to_str:N \tabularnote\ will~be~discarded~and~
+ no~similar~error~will~raised~in~this~document.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~rules }
+ {
+ Unknown~key.\\
+ There~is~only~two~keys~available~here:~width~and~color.\\
+ Your~key~'\l_keys_key_str'~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~TikzEveryCell }
+ {
+ Unknown~key.\\
+ There~is~only~two~keys~available~here:~
+ 'empty'~and~'not-empty'.\\
+ Your~key~'\l_keys_key_str'~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~rotate }
+ {
+ Unknown~key.\\
+ The~only~key~available~here~is~'c'.\\
+ Your~key~'\l_keys_key_str'~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~custom-line }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~in~a~'custom-line'.~
+ It~you~go~on,~you~will~probably~have~other~errors. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ ccommand,~
+ color,~
+ command,~
+ dotted,~
+ letter,~
+ multiplicity,~
+ sep-color,~
+ tikz,~and~total-width.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~xdots }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~a~command~for~drawing~dotted~rules.\\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ 'color',~
+ 'horizontal-labels',~
+ 'inter',~
+ 'line-style',~
+ 'radius',~
+ 'shorten',~
+ 'shorten-end'~and~'shorten-start'.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~rowcolors }
+ {
+ Unknown~key.\\
+ As~for~now,~there~is~only~two~keys~available~here:~'cols'~and~'respect-blocks'~
+ (and~you~try~to~use~'\l_keys_key_str')\\
+ That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { label~without~caption }
+ {
+ You~can't~use~the~key~'label'~in~your~'{NiceTabular}'~because~
+ you~have~not~used~the~key~'caption'.~The~key~'label'~will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { W~warning }
+ {
+ Line~\msg_line_number:.~The~cell~is~too~wide~for~your~column~'W'~
+ (row~\int_use:N \c@iRow).
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Construct~too~large }
+ {
+ Construct~too~large.\\
+ Your~command~\token_to_str:N #1
+ can't~be~drawn~because~your~matrix~is~too~small.\\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { underscore~after~nicematrix }
+ {
+ Problem~with~'underscore'.\\
+ The~package~'underscore'~should~be~loaded~before~'nicematrix'.~
+ You~can~go~on~but~you~won't~be~able~to~write~something~such~as:\\
+ '\token_to_str:N \Cdots\token_to_str:N _{n~\token_to_str:N \text{~times}}'.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { ampersand~in~light-syntax }
+ {
+ Ampersand~forbidden.\\
+ You~can't~use~an~ampersand~(\token_to_str:N &)~to~separate~columns~because~
+ ~the~key~'light-syntax'~is~in~force.~This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { double-backslash~in~light-syntax }
+ {
+ Double~backslash~forbidden.\\
+ You~can't~use~\token_to_str:N
+ \\~to~separate~rows~because~the~key~'light-syntax'~
+ is~in~force.~You~must~use~the~character~'\l_@@_end_of_row_tl'~
+ (set~by~the~key~'end-of-row').~This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { hlines~with~color }
+ {
+ Incompatible~keys.\\
+ You~can't~use~the~keys~'hlines',~'vlines'~or~'hvlines'~for~a~
+ '\token_to_str:N \Block'~when~the~key~'color'~or~'draw'~is~used.\\
+ Maybe~it~will~possible~in~future~version.\\
+ Your~key~will~be~discarded.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { bad~value~for~baseline }
+ {
+ Bad~value~for~baseline.\\
+ The~value~given~to~'baseline'~(\int_use:N \l_tmpa_int)~is~not~
+ valid.~The~value~must~be~between~\int_use:N \l_@@_first_row_int\ and~
+ \int_use:N \g_@@_row_total_int\ or~equal~to~'t',~'c'~or~'b'~or~of~
+ the~form~'line-i'.\\
+ A~value~of~1~will~be~used.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { detection~of~empty~cells }
+ {
+ Problem~with~'not-empty'\\
+ For~technical~reasons,~you~must~activate~
+ 'create-cell-nodes'~in~\token_to_str:N \CodeBefore\
+ in~order~to~use~the~key~'\l_keys_key_str'.\\
+ That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { siunitx~not~loaded }
+ {
+ siunitx~not~loaded\\
+ You~can't~use~the~columns~'S'~because~'siunitx'~is~not~loaded.\\
+ That~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { ragged2e~not~loaded }
+ {
+ You~have~to~load~'ragged2e'~in~order~to~use~the~key~'\l_keys_key_str'~in~
+ your~column~'\l_@@_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:V
+ \l_keys_key_str'~will~be~used~instead.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Invalid~name }
+ {
+ Invalid~name.\\
+ You~can't~give~the~name~'\l_keys_value_tl'~to~a~\token_to_str:N
+ \SubMatrix\ of~your~\@@_full_name_env:.\\
+ A~name~must~be~accepted~by~the~regular~expression~[A-Za-z][A-Za-z0-9]*.\\
+ This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Wrong~line~in~SubMatrix }
+ {
+ Wrong~line.\\
+ You~try~to~draw~a~#1~line~of~number~'#2'~in~a~
+ \token_to_str:N \SubMatrix\ of~your~\@@_full_name_env:\ but~that~
+ number~is~not~valid.~It~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Impossible~delimiter }
+ {
+ Impossible~delimiter.\\
+ It's~impossible~to~draw~the~#1~delimiter~of~your~
+ \token_to_str:N \SubMatrix\ because~all~the~cells~are~empty~
+ in~that~column.
+ \bool_if:NT \l_@@_submatrix_slim_bool
+ { ~Maybe~you~should~try~without~the~key~'slim'. } \\
+ This~\token_to_str:N \SubMatrix\ will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { width~without~X~columns }
+ {
+ You~have~used~the~key~'width'~but~you~have~put~no~'X'~column.~
+ That~key~will~be~ignored.
+ }
+ {
+ This~message~is~the~message~'width~without~X~columns'~
+ of~the~module~'nicematrix'.~
+ The~experimented~users~can~disable~that~message~with~
+ \token_to_str:N \msg_redirect_name:nnn.\\
+ }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { key~multiplicity~with~dotted }
+ {
+ Incompatible~keys. \\
+ You~have~used~the~key~'multiplicity'~with~the~key~'dotted'~
+ in~a~'custom-line'.~They~are~incompatible. \\
+ The~key~'multiplicity'~will~be~discarded.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { empty~environment }
+ {
+ Empty~environment.\\
+ Your~\@@_full_name_env:\ is~empty.~This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { No~letter~and~no~command }
+ {
+ Erroneous~use.\\
+ Your~use~of~'custom-line'~is~no-op~since~you~don't~have~used~the~
+ key~'letter'~(for~a~letter~for~vertical~rules)~nor~the~keys~'command'~or~
+ ~'ccommand'~(to~draw~horizontal~rules).\\
+ However,~you~can~go~on.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Forbidden~letter }
+ {
+ Forbidden~letter.\\
+ You~can't~use~the~letter~'#1'~for~a~customized~line.\\
+ It~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Several~letters }
+ {
+ Wrong~name.\\
+ You~must~use~only~one~letter~as~value~for~the~key~'letter'~(and~you~
+ have~used~'\l_@@_letter_str').\\
+ It~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Delimiter~with~small }
+ {
+ Delimiter~forbidden.\\
+ You~can't~put~a~delimiter~in~the~preamble~of~your~\@@_full_name_env:\
+ because~the~key~'small'~is~in~force.\\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { unknown~cell~for~line~in~CodeAfter }
+ {
+ Unknown~cell.\\
+ Your~command~\token_to_str:N\line\{#1\}\{#2\}~in~
+ the~\token_to_str:N \CodeAfter\ of~your~\@@_full_name_env:\
+ can't~be~executed~because~a~cell~doesn't~exist.\\
+ This~command~\token_to_str:N \line\ will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Duplicate~name~for~SubMatrix }
+ {
+ Duplicate~name.\\
+ The~name~'#1'~is~already~used~for~a~\token_to_str:N \SubMatrix\
+ in~this~\@@_full_name_env:.\\
+ This~key~will~be~ignored.\\
+ \bool_if:NF \g_@@_messages_for_Overleaf_bool
+ { For~a~list~of~the~names~already~used,~type~H~<return>. }
+ }
+ {
+ The~names~already~defined~in~this~\@@_full_name_env:\ are:~
+ \seq_use:Nnnn \g_@@_submatrix_names_seq { ~and~ } { ,~ } { ~and~ }.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { r~or~l~with~preamble }
+ {
+ Erroneous~use.\\
+ You~can't~use~the~key~'\l_keys_key_str'~in~your~\@@_full_name_env:.~
+ You~must~specify~the~alignment~of~your~columns~with~the~preamble~of~
+ your~\@@_full_name_env:.\\
+ This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Hdotsfor~in~col~0 }
+ {
+ Erroneous~use.\\
+ You~can't~use~\token_to_str:N \Hdotsfor\ in~an~exterior~column~of~
+ the~array.~This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { bad~corner }
+ {
+ Bad~corner.\\
+ #1~is~an~incorrect~specification~for~a~corner~(in~the~key~
+ 'corners').~The~available~values~are:~NW,~SW,~NE~and~SE.\\
+ This~specification~of~corner~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { bad~border }
+ {
+ Bad~border.\\
+ \l_keys_key_str\space~is~an~incorrect~specification~for~a~border~
+ (in~the~key~'borders'~of~the~command~\token_to_str:N \Block).~
+ The~available~values~are:~left,~right,~top~and~bottom~(and~you~can~
+ also~use~the~key~'tikz'
+ \IfPackageLoadedTF { tikz }
+ { }
+ {~if~you~load~the~LaTeX~package~'tikz'}).\\
+ This~specification~of~border~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { TikzEveryCell~without~tikz }
+ {
+ TikZ~not~loaded.\\
+ You~can't~use~\token_to_str:N \TikzEveryCell\
+ because~you~have~not~loaded~tikz.~
+ This~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tikz~key~without~tikz }
+ {
+ TikZ~not~loaded.\\
+ You~can't~use~the~key~'tikz'~for~the~command~'\token_to_str:N
+ \Block'~because~you~have~not~loaded~tikz.~
+ This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { last-col~non~empty~for~NiceArray }
+ {
+ Erroneous~use.\\
+ In~the~\@@_full_name_env:,~you~must~use~the~key~
+ 'last-col'~without~value.\\
+ However,~you~can~go~on~for~this~time~
+ (the~value~'\l_keys_value_tl'~will~be~ignored).
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { last-col~non~empty~for~NiceMatrixOptions }
+ {
+ Erroneous~use.\\
+ In~\token_to_str:N \NiceMatrixOptions,~you~must~use~the~key~
+ 'last-col'~without~value.\\
+ However,~you~can~go~on~for~this~time~
+ (the~value~'\l_keys_value_tl'~will~be~ignored).
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Block~too~large~1 }
+ {
+ Block~too~large.\\
+ You~try~to~draw~a~block~in~the~cell~#1-#2~of~your~matrix~but~the~matrix~is~
+ too~small~for~that~block. \\
+ This~block~and~maybe~others~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Block~too~large~2 }
+ {
+ Block~too~large.\\
+ The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
+ \g_@@_static_num_of_col_int\
+ columns~but~you~use~only~\int_use:N \c@jCol\ and~that's~why~a~block~
+ specified~in~the~cell~#1-#2~can't~be~drawn.~You~should~add~some~ampersands~
+ (&)~at~the~end~of~the~first~row~of~your~\@@_full_name_env:.\\
+ This~block~and~maybe~others~will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { unknown~column~type }
+ {
+ Bad~column~type.\\
+ The~column~type~'#1'~in~your~\@@_full_name_env:\
+ is~unknown. \\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { unknown~column~type~S }
+ {
+ Bad~column~type.\\
+ The~column~type~'S'~in~your~\@@_full_name_env:\ is~unknown. \\
+ If~you~want~to~use~the~column~type~'S'~of~siunitx,~you~should~
+ load~that~package. \\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tabularnote~forbidden }
+ {
+ Forbidden~command.\\
+ You~can't~use~the~command~\token_to_str:N\tabularnote\
+ ~here.~This~command~is~available~only~in~
+ \{NiceTabular\},~\{NiceTabular*\}~and~\{NiceTabularX\}~or~in~
+ the~argument~of~a~command~\token_to_str:N \caption\ included~
+ in~an~environment~{table}. \\
+ This~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { borders~forbidden }
+ {
+ Forbidden~key.\\
+ You~can't~use~the~key~'borders'~of~the~command~\token_to_str:N \Block\
+ because~the~option~'rounded-corners'~
+ is~in~force~with~a~non-zero~value.\\
+ This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { bottomrule~without~booktabs }
+ {
+ booktabs~not~loaded.\\
+ You~can't~use~the~key~'tabular/bottomrule'~because~you~haven't~
+ loaded~'booktabs'.\\
+ This~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { enumitem~not~loaded }
+ {
+ enumitem~not~loaded.\\
+ You~can't~use~the~command~\token_to_str:N\tabularnote\
+ ~because~you~haven't~loaded~'enumitem'.\\
+ All~the~commands~\token_to_str:N\tabularnote\ will~be~
+ ignored~in~the~document.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tikz~without~tikz }
+ {
+ Tikz~not~loaded.\\
+ You~can't~use~the~key~'tikz'~here~because~Tikz~is~not~
+ loaded.~If~you~go~on,~that~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tikz~in~custom-line~without~tikz }
+ {
+ Tikz~not~loaded.\\
+ You~have~used~the~key~'tikz'~in~the~definition~of~a~
+ customized~line~(with~'custom-line')~but~tikz~is~not~loaded.~
+ You~can~go~on~but~you~will~have~another~error~if~you~actually~
+ use~that~custom~line.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { tikz~in~borders~without~tikz }
+ {
+ Tikz~not~loaded.\\
+ You~have~used~the~key~'tikz'~in~a~key~'borders'~(of~a~
+ command~'\token_to_str:N\Block')~but~tikz~is~not~loaded.~
+ That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { without~color-inside }
+ {
+ If~order~to~use~\token_to_str:N \cellcolor,~\token_to_str:N \rowcolor,~
+ \token_to_str:N \rowcolors\ or~\token_to_str:N \rowlistcolors\
+ outside~\token_to_str:N \CodeBefore,~you~
+ should~have~used~the~key~'color-inside'~in~your~\@@_full_name_env:.\\
+ You~can~go~on~but~you~may~need~more~compilations.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { color~in~custom-line~with~tikz }
+ {
+ Erroneous~use.\\
+ In~a~'custom-line',~you~have~used~both~'tikz'~and~'color',~
+ which~is~forbidden~(you~should~use~'color'~inside~the~key~'tikz').~
+ The~key~'color'~will~be~discarded.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Wrong~last~row }
+ {
+ Wrong~number.\\
+ You~have~used~'last-row=\int_use:N \l_@@_last_row_int'~but~your~
+ \@@_full_name_env:\ seems~to~have~\int_use:N \c@iRow \ rows.~
+ If~you~go~on,~the~value~of~\int_use:N \c@iRow \ will~be~used~for~
+ last~row.~You~can~avoid~this~problem~by~using~'last-row'~
+ without~value~(more~compilations~might~be~necessary).
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Yet~in~env }
+ {
+ Nested~environments.\\
+ Environments~of~nicematrix~can't~be~nested.\\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Outside~math~mode }
+ {
+ Outside~math~mode.\\
+ The~\@@_full_name_env:\ can~be~used~only~in~math~mode~
+ (and~not~in~\token_to_str:N \vcenter).\\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { One~letter~allowed }
+ {
+ Bad~name.\\
+ The~value~of~key~'\l_keys_key_str'~must~be~of~length~1.\\
+ It~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { TabularNote~in~CodeAfter }
+ {
+ Environment~{TabularNote}~forbidden.\\
+ You~must~use~{TabularNote}~at~the~end~of~your~{NiceTabular}~
+ but~*before*~the~\token_to_str:N \CodeAfter.\\
+ This~environment~{TabularNote}~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { varwidth~not~loaded }
+ {
+ varwidth~not~loaded.\\
+ You~can't~use~the~column~type~'V'~because~'varwidth'~is~not~
+ loaded.\\
+ Your~column~will~behave~like~'p'.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknow~key~for~RulesBis }
+ {
+ Unkown~key.\\
+ Your~key~'\l_keys_key_str'~is~unknown~for~a~rule.\\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ color,~
+ dotted,~
+ multiplicity,~
+ sep-color,~
+ tikz,~and~total-width.
+ }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~Block }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~\token_to_str:N
+ \Block.\\ It~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~b,~B,~borders,~c,~draw,~fill,~
+ hlines,~hvlines,~l,~line-width,~name,~opacity,~rounded-corners,~r,~
+ respect-arraystretch,~t,~T,~tikz,~transparent~and~vlines.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~Brace }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~commands~\token_to_str:N
+ \UnderBrace\ and~\token_to_str:N \OverBrace.\\
+ It~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~color,~left-shorten,~
+ right-shorten,~shorten~(which~fixes~both~left-shorten~and~
+ right-shorten)~and~yshift.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~CodeAfter }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
+ It~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ delimiters/color,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
+ sub-matrix~(several~subkeys)~
+ and~xdots~(several~subkeys).~
+ The~latter~is~for~the~command~\token_to_str:N \line.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~CodeBefore }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
+ It~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ create-cell-nodes,~
+ delimiters/color~and~
+ sub-matrix~(several~subkeys).
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~SubMatrix }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ 'delimiters/color',~
+ 'extra-height',~
+ 'hlines',~
+ 'hvlines',~
+ 'left-xshift',~
+ 'name',~
+ 'right-xshift',~
+ 'rules'~(with~the~subkeys~'color'~and~'width'),~
+ 'slim',~
+ 'vlines'~and~'xshift'~(which~sets~both~'left-xshift'~
+ and~'right-xshift').\\
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~notes }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ bottomrule,~
+ code-after,~
+ code-before,~
+ detect-duplicates,~
+ enumitem-keys,~
+ enumitem-keys-para,~
+ para,~
+ label-in-list,~
+ label-in-tabular~and~
+ style.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~RowStyle }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~
+ \token_to_str:N \RowStyle. \\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ 'bold',~
+ 'cell-space-top-limit',~
+ 'cell-space-bottom-limit',~
+ 'cell-space-limits',~
+ 'color',~
+ 'nb-rows'~and~
+ 'rowcolor'.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~NiceMatrixOptions }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~
+ \token_to_str:N \NiceMatrixOptions. \\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ allow-duplicate-names,~
+ caption-above,~
+ cell-space-bottom-limit,~
+ cell-space-limits,~
+ cell-space-top-limit,~
+ code-for-first-col,~
+ code-for-first-row,~
+ code-for-last-col,~
+ code-for-last-row,~
+ corners,~
+ custom-key,~
+ create-extra-nodes,~
+ create-medium-nodes,~
+ create-large-nodes,~
+ delimiters~(several~subkeys),~
+ end-of-row,~
+ first-col,~
+ first-row,~
+ hlines,~
+ hvlines,~
+ hvlines-except-borders,~
+ last-col,~
+ last-row,~
+ left-margin,~
+ light-syntax,~
+ light-syntax-expanded,~
+ matrix/columns-type,~
+ no-cell-nodes,~
+ notes~(several~subkeys),~
+ nullify-dots,~
+ pgf-node-code,~
+ renew-dots,~
+ renew-matrix,~
+ respect-arraystretch,~
+ rounded-corners,~
+ right-margin,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
+ small,~
+ sub-matrix~(several~subkeys),~
+ vlines,~
+ xdots~(several~subkeys).
+ }
+% \end{macrocode}
+%
+% For `|{NiceArray}|`, the set of keys is the same as for |{NiceMatrix}|
+% excepted that there is no |l| and |r|.
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~NiceArray }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
+ \{NiceArray\}. \\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ b,~
+ baseline,~
+ c,~
+ cell-space-bottom-limit,~
+ cell-space-limits,~
+ cell-space-top-limit,~
+ code-after,~
+ code-for-first-col,~
+ code-for-first-row,~
+ code-for-last-col,~
+ code-for-last-row,~
+ color-inside,~
+ columns-width,~
+ corners,~
+ create-extra-nodes,~
+ create-medium-nodes,~
+ create-large-nodes,~
+ extra-left-margin,~
+ extra-right-margin,~
+ first-col,~
+ first-row,~
+ hlines,~
+ hvlines,~
+ hvlines-except-borders,~
+ last-col,~
+ last-row,~
+ left-margin,~
+ light-syntax,~
+ light-syntax-expanded,~
+ name,~
+ no-cell-nodes,~
+ nullify-dots,~
+ pgf-node-code,~
+ renew-dots,~
+ respect-arraystretch,~
+ right-margin,~
+ rounded-corners,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
+ small,~
+ t,~
+ vlines,~
+ xdots/color,~
+ xdots/shorten-start,~
+ xdots/shorten-end,~
+ xdots/shorten~and~
+ xdots/line-style.
+ }
+% \end{macrocode}
+%
+% \medskip
+% This error message is used for the set of keys |NiceMatrix/NiceMatrix| and
+% |NiceMatrix/pNiceArray| (but not by |NiceMatrix/NiceArray| because, for this
+% set of keys, there is no |l| and |r|).
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~NiceMatrix }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~
+ \@@_full_name_env:. \\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ b,~
+ baseline,~
+ c,~
+ cell-space-bottom-limit,~
+ cell-space-limits,~
+ cell-space-top-limit,~
+ code-after,~
+ code-for-first-col,~
+ code-for-first-row,~
+ code-for-last-col,~
+ code-for-last-row,~
+ color-inside,~
+ columns-type,~
+ columns-width,~
+ corners,~
+ create-extra-nodes,~
+ create-medium-nodes,~
+ create-large-nodes,~
+ extra-left-margin,~
+ extra-right-margin,~
+ first-col,~
+ first-row,~
+ hlines,~
+ hvlines,~
+ hvlines-except-borders,~
+ l,~
+ last-col,~
+ last-row,~
+ left-margin,~
+ light-syntax,~
+ light-syntax-expanded,~
+ name,~
+ no-cell-nodes,~
+ nullify-dots,~
+ pgf-node-code,~
+ r,~
+ renew-dots,~
+ respect-arraystretch,~
+ right-margin,~
+ rounded-corners,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
+ small,~
+ t,~
+ vlines,~
+ xdots/color,~
+ xdots/shorten-start,~
+ xdots/shorten-end,~
+ xdots/shorten~and~
+ xdots/line-style.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Unknown~key~for~NiceTabular }
+ {
+ Unknown~key.\\
+ The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
+ \{NiceTabular\}. \\
+ That~key~will~be~ignored. \\
+ \c_@@_available_keys_str
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ b,~
+ baseline,~
+ c,~
+ caption,~
+ cell-space-bottom-limit,~
+ cell-space-limits,~
+ cell-space-top-limit,~
+ code-after,~
+ code-for-first-col,~
+ code-for-first-row,~
+ code-for-last-col,~
+ code-for-last-row,~
+ color-inside,~
+ columns-width,~
+ corners,~
+ custom-line,~
+ create-extra-nodes,~
+ create-medium-nodes,~
+ create-large-nodes,~
+ extra-left-margin,~
+ extra-right-margin,~
+ first-col,~
+ first-row,~
+ hlines,~
+ hvlines,~
+ hvlines-except-borders,~
+ label,~
+ last-col,~
+ last-row,~
+ left-margin,~
+ light-syntax,~
+ light-syntax-expanded,~
+ name,~
+ no-cell-nodes,~
+ notes~(several~subkeys),~
+ nullify-dots,~
+ pgf-node-code,~
+ renew-dots,~
+ respect-arraystretch,~
+ right-margin,~
+ rounded-corners,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
+ short-caption,~
+ t,~
+ tabularnote,~
+ vlines,~
+ xdots/color,~
+ xdots/shorten-start,~
+ xdots/shorten-end,~
+ xdots/shorten~and~
+ xdots/line-style.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\@@_msg_new:nnn { Duplicate~name }
+ {
+ Duplicate~name.\\
+ The~name~'\l_keys_value_tl'~is~already~used~and~you~shouldn't~use~
+ the~same~environment~name~twice.~You~can~go~on,~but,~
+ maybe,~you~will~have~incorrect~results~especially~
+ if~you~use~'columns-width=auto'.~If~you~don't~want~to~see~this~
+ message~again,~use~the~key~'allow-duplicate-names'~in~
+ '\token_to_str:N \NiceMatrixOptions'.\\
+ \bool_if:NF \g_@@_messages_for_Overleaf_bool
+ { For~a~list~of~the~names~already~used,~type~H~<return>. }
+ }
+ {
+ The~names~already~defined~in~this~document~are:~
+ \seq_use:Nnnn \g_@@_names_seq { ~and~ } { ,~ } { ~and~ }.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Option~auto~for~columns-width }
+ {
+ Erroneous~use.\\
+ You~can't~give~the~value~'auto'~to~the~key~'columns-width'~here.~
+ That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { NiceTabularX~without~X }
+ {
+ NiceTabularX~without~X.\\
+ You~should~not~use~{NiceTabularX}~without~X~columns.\\
+ However,~you~can~go~on.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Preamble~forgotten }
+ {
+ Preamble~forgotten.\\
+ You~have~probably~forgotten~the~preamble~of~your~
+ \@@_full_name_env:. \\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
+% \newpage
+% \tableofcontents
+%
+% \endinput
+% Local Variables:
+% TeX-fold-mode: t
+% TeX-fold-preserve-comments: nil
+% fill-column: 80
+% End:
+
+
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.pdf b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
deleted file mode 100644
index a93c4b6d22..0000000000
--- a/macros/latex/contrib/nicematrix/nicematrix-code.pdf
+++ /dev/null
@@ -1,51640 +0,0 @@
-%PDF-1.5
-%
-4 0 obj
-<< /S /GoTo /D (section.0.1) >>
-endobj
-7 0 obj
-(\376\377\0001\000\040\000D\000e\000c\000l\000a\000r\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000a\000n\000d\000\040\000p\000a\000c\000k\000a\000g\000e\000s\000\040\000l\000o\000a\000d\000e\000d)
-
-endobj
-8 0 obj
-<< /S /GoTo /D (section.0.2) >>
-endobj
-11 0 obj
-(\376\377\0002\000\040\000S\000e\000c\000u\000r\000i\000t\000y\000\040\000t\000e\000s\000t)
-
-endobj
-12 0 obj
-<< /S /GoTo /D (section.0.3) >>
-endobj
-15 0 obj
-(\376\377\0003\000\040\000C\000o\000l\000l\000e\000c\000t\000i\000n\000g\000\040\000o\000p\000t\000i\000o\000n\000s)
-
-endobj
-16 0 obj
-<< /S /GoTo /D (section.0.4) >>
-endobj
-19 0 obj
-(\376\377\0004\000\040\000T\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
-
-endobj
-20 0 obj
-<< /S /GoTo /D (section.0.5) >>
-endobj
-23 0 obj
-(\376\377\0005\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s)
-
-endobj
-24 0 obj
-<< /S /GoTo /D (section.0.6) >>
-endobj
-27 0 obj
-(\376\377\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000t\000a\000b\000u\000l\000a\000r\000n\000o\000t\000e)
-
-endobj
-28 0 obj
-<< /S /GoTo /D (section.0.7) >>
-endobj
-31 0 obj
-(\376\377\0007\000\040\000C\000o\000m\000m\000a\000n\000d\000\040\000f\000o\000r\000\040\000c\000r\000e\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000r\000e\000c\000t\000a\000n\000g\000l\000e\000\040\000n\000o\000d\000e\000s)
-
-endobj
-32 0 obj
-<< /S /GoTo /D (section.0.8) >>
-endobj
-35 0 obj
-(\376\377\0008\000\040\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000s)
-
-endobj
-36 0 obj
-<< /S /GoTo /D (section.0.9) >>
-endobj
-39 0 obj
-(\376\377\0009\000\040\000I\000m\000p\000o\000r\000t\000a\000n\000t\000\040\000c\000o\000d\000e\000\040\000u\000s\000e\000d\000\040\000b\000y\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175\000\040)
-
-endobj
-40 0 obj
-<< /S /GoTo /D (section.0.10) >>
-endobj
-43 0 obj
-(\376\377\0001\0000\000\040\000T\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
-
-endobj
-44 0 obj
-<< /S /GoTo /D (section.0.11) >>
-endobj
-47 0 obj
-(\376\377\0001\0001\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
-
-endobj
-48 0 obj
-<< /S /GoTo /D (section.0.12) >>
-endobj
-51 0 obj
-(\376\377\0001\0002\000\040\000W\000e\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000a\000r\000r\000a\000y)
-
-endobj
-52 0 obj
-<< /S /GoTo /D (section.0.13) >>
-endobj
-55 0 obj
-(\376\377\0001\0003\000\040\000T\000h\000e\000\040\000r\000e\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000\134\000m\000u\000l\000t\000i\000c\000o\000l\000u\000m\000n)
-
-endobj
-56 0 obj
-<< /S /GoTo /D (section.0.14) >>
-endobj
-59 0 obj
-(\376\377\0001\0004\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175\000\040\000a\000n\000d\000\040\000i\000t\000s\000\040\000v\000a\000r\000i\000a\000n\000t\000s)
-
-endobj
-60 0 obj
-<< /S /GoTo /D (section.0.15) >>
-endobj
-63 0 obj
-(\376\377\0001\0005\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000,\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000X\000\175\000\040\000a\000n\000d\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000*\000\175)
-
-endobj
-64 0 obj
-<< /S /GoTo /D (section.0.16) >>
-endobj
-67 0 obj
-(\376\377\0001\0006\000\040\000A\000f\000t\000e\000r\000\040\000t\000h\000e\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000a\000r\000r\000a\000y)
-
-endobj
-68 0 obj
-<< /S /GoTo /D (section.0.17) >>
-endobj
-71 0 obj
-(\376\377\0001\0007\000\040\000W\000e\000\040\000d\000r\000a\000w\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
-
-endobj
-72 0 obj
-<< /S /GoTo /D (section.0.18) >>
-endobj
-75 0 obj
-(\376\377\0001\0008\000\040\000T\000h\000e\000\040\000a\000c\000t\000u\000a\000l\000\040\000i\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000s\000\040\000f\000o\000r\000\040\000d\000r\000a\000w\000i\000n\000g\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000w\000i\000t\000h\000\040\000T\000i\000k\000z)
-
-endobj
-76 0 obj
-<< /S /GoTo /D (section.0.19) >>
-endobj
-79 0 obj
-(\376\377\0001\0009\000\040\000U\000s\000e\000r\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000v\000a\000i\000l\000a\000b\000l\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000n\000e\000w\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
-
-endobj
-80 0 obj
-<< /S /GoTo /D (section.0.20) >>
-endobj
-83 0 obj
-(\376\377\0002\0000\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000l\000i\000n\000e\000\040\000a\000c\000c\000e\000s\000s\000i\000b\000l\000e\000\040\000i\000n\000\040\000c\000o\000d\000e\000-\000a\000f\000t\000e\000r)
-
-endobj
-84 0 obj
-<< /S /GoTo /D (section.0.21) >>
-endobj
-87 0 obj
-(\376\377\0002\0001\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
-
-endobj
-88 0 obj
-<< /S /GoTo /D (section.0.22) >>
-endobj
-91 0 obj
-(\376\377\0002\0002\000\040\000C\000o\000l\000o\000r\000s\000\040\000o\000f\000\040\000c\000e\000l\000l\000s\000,\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
-
-endobj
-92 0 obj
-<< /S /GoTo /D (section.0.23) >>
-endobj
-95 0 obj
-(\376\377\0002\0003\000\040\000T\000h\000e\000\040\000v\000e\000r\000t\000i\000c\000a\000l\000\040\000a\000n\000d\000\040\000h\000o\000r\000i\000z\000o\000n\000t\000a\000l\000\040\000r\000u\000l\000e\000s)
-
-endobj
-96 0 obj
-<< /S /GoTo /D (section.0.24) >>
-endobj
-99 0 obj
-(\376\377\0002\0004\000\040\000T\000h\000e\000\040\000e\000m\000p\000t\000y\000\040\000c\000o\000r\000n\000e\000r\000s)
-
-endobj
-100 0 obj
-<< /S /GoTo /D (section.0.25) >>
-endobj
-103 0 obj
-(\376\377\0002\0005\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000B\000l\000o\000c\000k\000\175)
-
-endobj
-104 0 obj
-<< /S /GoTo /D (section.0.26) >>
-endobj
-107 0 obj
-(\376\377\0002\0006\000\040\000T\000h\000e\000\040\000e\000x\000t\000r\000a\000\040\000n\000o\000d\000e\000s)
-
-endobj
-108 0 obj
-<< /S /GoTo /D (section.0.27) >>
-endobj
-111 0 obj
-(\376\377\0002\0007\000\040\000T\000h\000e\000\040\000b\000l\000o\000c\000k\000s)
-
-endobj
-112 0 obj
-<< /S /GoTo /D (section.0.28) >>
-endobj
-115 0 obj
-(\376\377\0002\0008\000\040\000H\000o\000w\000\040\000t\000o\000\040\000d\000r\000a\000w\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000l\000y)
-
-endobj
-116 0 obj
-<< /S /GoTo /D (section.0.29) >>
-endobj
-119 0 obj
-(\376\377\0002\0009\000\040\000A\000u\000t\000o\000m\000a\000t\000i\000c\000\040\000a\000r\000r\000a\000y\000s)
-
-endobj
-120 0 obj
-<< /S /GoTo /D (section.0.30) >>
-endobj
-123 0 obj
-(\376\377\0003\0000\000\040\000T\000h\000e\000\040\000r\000e\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000o\000t\000f\000i\000l\000l\000\040)
-
-endobj
-124 0 obj
-<< /S /GoTo /D (section.0.31) >>
-endobj
-127 0 obj
-(\376\377\0003\0001\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
-
-endobj
-128 0 obj
-<< /S /GoTo /D (section.0.32) >>
-endobj
-131 0 obj
-(\376\377\0003\0002\000\040\000T\000h\000e\000\040\000k\000e\000y\000w\000o\000r\000d\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
-
-endobj
-132 0 obj
-<< /S /GoTo /D (section.0.33) >>
-endobj
-135 0 obj
-(\376\377\0003\0003\000\040\000T\000h\000e\000\040\000d\000e\000l\000i\000m\000i\000t\000e\000r\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e)
-
-endobj
-136 0 obj
-<< /S /GoTo /D (section.0.34) >>
-endobj
-139 0 obj
-(\376\377\0003\0004\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
-
-endobj
-140 0 obj
-<< /S /GoTo /D (section.0.35) >>
-endobj
-143 0 obj
-(\376\377\0003\0005\000\040\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000e\000t\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e)
-
-endobj
-144 0 obj
-<< /S /GoTo /D (section.0.36) >>
-endobj
-147 0 obj
-(\376\377\0003\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l)
-
-endobj
-148 0 obj
-<< /S /GoTo /D (section.0.37) >>
-endobj
-151 0 obj
-(\376\377\0003\0007\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
-
-endobj
-152 0 obj
-<< /S /GoTo /D (section.0.38) >>
-endobj
-155 0 obj
-(\376\377\0003\0008\000\040\000W\000e\000\040\000p\000r\000o\000c\000e\000s\000s\000\040\000t\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000s\000\040\000a\000t\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000l\000o\000a\000d\000i\000n\000g)
-
-endobj
-156 0 obj
-<< /S /GoTo /D (section.0.39) >>
-endobj
-159 0 obj
-(\376\377\0003\0009\000\040\000A\000b\000o\000u\000t\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000u\000n\000d\000e\000r\000s\000c\000o\000r\000e)
-
-endobj
-160 0 obj
-<< /S /GoTo /D (section.0.40) >>
-endobj
-163 0 obj
-(\376\377\0004\0000\000\040\000E\000r\000r\000o\000r\000\040\000m\000e\000s\000s\000a\000g\000e\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
-
-endobj
-164 0 obj
-<< /S /GoTo /D (toc1.1) >>
-endobj
-167 0 obj
-(\376\377\000C\000o\000n\000t\000e\000n\000t\000s)
-
-endobj
-168 0 obj
-<< /S /GoTo /D [ 169 0 R /FitBH 771.02165 ] >>
-endobj
-171 0 obj
-<< /Filter /FlateDecode /Length 2511 >>
-stream
-xڝZm6BߢNw\q^]hqM?hmy-Ė\I,;CRkQ>dM3*Yrdّn.O&J!,': InͲ|3wLszeK&ӯ]q͏FLg*VSbwM9K(%VJ
-=oqbzq@v-_oy ƒfj:un8ߌ
- U`Bh5~햰ގ멏'p!R7Mtx9!-315Қۦ-м̌ʮrH >5I`hbY6*iCȻm+U pasXeфBb
-p)<bj j{뒗
- %wgA1g <Cg\Ӣ\s8
-D<Cia u*9 J$~Y $K[lmAl,Ʒp3ﯯnʯ;Ra'5/>X_b#&z!ʻ7>p{2aq>T &yPr˻l@w#dEospF˜5'PTBӗL
-chTYL|n4E/4eKиǏ|"L羹5S01mMTFoμCp+j+_Iaɲ$K
-endstream
-endobj
-169 0 obj
-<< /Type /Page /Contents 171 0 R /Resources 170 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-172 0 obj
-<< /D [ 169 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-173 0 obj
-<< /D [ 169 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-5 0 obj
-<< /D [ 169 0 R /XYZ 79.37 434.035 null ] >>
-endobj
-188 0 obj
-<< /D [ 169 0 R /XYZ 77.103 293.023 null ] >>
-endobj
-190 0 obj
-<< /D [ 169 0 R /XYZ 77.103 282.064 null ] >>
-endobj
-191 0 obj
-<< /D [ 169 0 R /XYZ 77.103 253.249 null ] >>
-endobj
-192 0 obj
-<< /D [ 169 0 R /XYZ 77.103 242.29 null ] >>
-endobj
-193 0 obj
-<< /D [ 169 0 R /XYZ 77.103 231.331 null ] >>
-endobj
-194 0 obj
-<< /D [ 169 0 R /XYZ 77.103 220.372 null ] >>
-endobj
-195 0 obj
-<< /D [ 169 0 R /XYZ 77.103 209.413 null ] >>
-endobj
-196 0 obj
-<< /D [ 169 0 R /XYZ 77.103 198.454 null ] >>
-endobj
-197 0 obj
-<< /D [ 169 0 R /XYZ 77.103 122.124 null ] >>
-endobj
-198 0 obj
-<< /D [ 169 0 R /XYZ 78.427 111.165 null ] >>
-endobj
-170 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F23 174 0 R /F24 175 0 R /F32 176 0 R /F41 177 0 R /F52 178 0 R /F61 179 0 R /F60 180 0 R /F62 181 0 R /F63 182 0 R /F64 183 0 R /F19 184 0 R /F65 185 0 R /F20 186 0 R /F67 187 0 R /F68 189 0 R /F47 199 0 R /F53 200 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-204 0 obj
-<< /Filter /FlateDecode /Length 2170 >>
-stream
-xڵZ]o}ϯ0P,
-aFQD4tM"dI4C֍A_M.!1I BhD2S3U@DGT$ ]UCy!\ݻ#dB2f>4%C)GS& 4lڪj@
-b&DxS=<\ߐg?&EVHlnJL5˖zU7XSd,[-[ݘomEoucvgD5M<aӃnl;51Ʊ32?9ĭj F1G1͆þםWAI ~GɾV햶~haYfm۹YLh6f Ͻ3`zQ/u v00`0 6|,lW +b ><"br{gZq%Q_#ly 4}/Q{8VhWu:o#:<ǏbT`7͏QJ\ Rr=7/6>&pif3Ɍ8 eZ VA
-I|FVI*&*W'~'621FtA1HɅ#P1 ͼm7exuiF9P Tz*º\ =EY}yq,._?)%v߃7eɫ0/ʱv9Ğ'XROMڃ raIa/Q
-Ľt-鸴26}k+5?ʬ۪YڲLJk'ٰo~_m6Oq%`~zfL"kha45 ƕSyn ACխB)9$umll@jﺧ9dIN'N+H}P|TŸ=Z*O7" #lzoJc$?o8wr3<)@-tO׌-Qau)שh۸O|MGKMwn:Œnh eԗiMe?tC` :(#> Vdɖċ[ d.k[ޮH4'QaV|\We{ ƋC`lW/Aalr,5m0< w=YK0&a
-|K7GЃ^LJT^Z |Hs*-ͅTɈ@8J/!)NfL 0 y2Vy0+y}7|mSapIG2o#@h[2gzEAIThK&}GЋw|^Tf1UFȦi6žS$rr4IEЋ{}NaX|rIo65Q:~v]ߕsHRmX!#S@G+6,<%D{TI!v*,_߰6*}KU ΒI"qjuLX"IaLcITSHSK XMMqK;q~D@3riɴI1C#lrIpȔ@͜=WHdڐTg'Ǵa'c[= 6)]i;¾B^eI#b͍ O0p[pGϦ*zh~I$W{Y(vxQ 6Csc9*YϮ-Mǧ٘Tlm ^oTBþjTȆ`q%Cb}4'omw欫a-EHƴƸeØ3ܛ9;sI&i$v7=r0D|N"}P\뢂 >́)}pdOѿ0G̽d'BIt'&G26r coE CId/+P/5
-=\"#̊ˑ*,
-endstream
-endobj
-203 0 obj
-<< /Type /Page /Contents 204 0 R /Resources 202 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-205 0 obj
-<< /D [ 203 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-206 0 obj
-<< /D [ 203 0 R /XYZ 78.427 768.832 null ] >>
-endobj
-207 0 obj
-<< /D [ 203 0 R /XYZ 78.427 757.873 null ] >>
-endobj
-208 0 obj
-<< /D [ 203 0 R /XYZ 78.427 746.914 null ] >>
-endobj
-209 0 obj
-<< /D [ 203 0 R /XYZ 78.427 735.955 null ] >>
-endobj
-210 0 obj
-<< /D [ 203 0 R /XYZ 78.427 724.996 null ] >>
-endobj
-211 0 obj
-<< /D [ 203 0 R /XYZ 78.427 714.037 null ] >>
-endobj
-212 0 obj
-<< /D [ 203 0 R /XYZ 78.427 703.078 null ] >>
-endobj
-213 0 obj
-<< /D [ 203 0 R /XYZ 78.427 692.119 null ] >>
-endobj
-214 0 obj
-<< /D [ 203 0 R /XYZ 78.427 625.617 null ] >>
-endobj
-215 0 obj
-<< /D [ 203 0 R /XYZ 78.427 614.659 null ] >>
-endobj
-216 0 obj
-<< /D [ 203 0 R /XYZ 78.427 603.7 null ] >>
-endobj
-217 0 obj
-<< /D [ 203 0 R /XYZ 78.427 592.741 null ] >>
-endobj
-218 0 obj
-<< /D [ 203 0 R /XYZ 78.427 581.782 null ] >>
-endobj
-219 0 obj
-<< /D [ 203 0 R /XYZ 78.427 570.823 null ] >>
-endobj
-220 0 obj
-<< /D [ 203 0 R /XYZ 78.427 518.516 null ] >>
-endobj
-221 0 obj
-<< /D [ 203 0 R /XYZ 78.427 507.558 null ] >>
-endobj
-222 0 obj
-<< /D [ 203 0 R /XYZ 78.427 466.876 null ] >>
-endobj
-223 0 obj
-<< /D [ 203 0 R /XYZ 78.427 455.917 null ] >>
-endobj
-224 0 obj
-<< /D [ 203 0 R /XYZ 78.427 444.958 null ] >>
-endobj
-225 0 obj
-<< /D [ 203 0 R /XYZ 78.427 433.999 null ] >>
-endobj
-226 0 obj
-<< /D [ 203 0 R /XYZ 78.427 423.04 null ] >>
-endobj
-227 0 obj
-<< /D [ 203 0 R /XYZ 78.427 412.081 null ] >>
-endobj
-228 0 obj
-<< /D [ 203 0 R /XYZ 78.427 381.775 null ] >>
-endobj
-229 0 obj
-<< /D [ 203 0 R /XYZ 78.427 370.816 null ] >>
-endobj
-230 0 obj
-<< /D [ 203 0 R /XYZ 78.427 359.858 null ] >>
-endobj
-231 0 obj
-<< /D [ 203 0 R /XYZ 78.427 348.899 null ] >>
-endobj
-232 0 obj
-<< /D [ 203 0 R /XYZ 78.427 337.94 null ] >>
-endobj
-233 0 obj
-<< /D [ 203 0 R /XYZ 78.427 326.981 null ] >>
-endobj
-234 0 obj
-<< /D [ 203 0 R /XYZ 78.427 316.022 null ] >>
-endobj
-235 0 obj
-<< /D [ 203 0 R /XYZ 78.427 305.063 null ] >>
-endobj
-236 0 obj
-<< /D [ 203 0 R /XYZ 78.427 294.104 null ] >>
-endobj
-237 0 obj
-<< /D [ 203 0 R /XYZ 78.427 283.145 null ] >>
-endobj
-238 0 obj
-<< /D [ 203 0 R /XYZ 78.427 272.186 null ] >>
-endobj
-239 0 obj
-<< /D [ 203 0 R /XYZ 78.427 261.227 null ] >>
-endobj
-240 0 obj
-<< /D [ 203 0 R /XYZ 78.427 250.268 null ] >>
-endobj
-241 0 obj
-<< /D [ 203 0 R /XYZ 78.427 239.31 null ] >>
-endobj
-242 0 obj
-<< /D [ 203 0 R /XYZ 78.427 228.351 null ] >>
-endobj
-243 0 obj
-<< /D [ 203 0 R /XYZ 78.427 217.392 null ] >>
-endobj
-244 0 obj
-<< /D [ 203 0 R /XYZ 78.427 206.433 null ] >>
-endobj
-245 0 obj
-<< /D [ 203 0 R /XYZ 78.427 195.474 null ] >>
-endobj
-246 0 obj
-<< /D [ 203 0 R /XYZ 78.427 184.515 null ] >>
-endobj
-9 0 obj
-<< /D [ 203 0 R /XYZ 79.37 159.556 null ] >>
-endobj
-202 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-249 0 obj
-<< /Filter /FlateDecode /Length 2161 >>
-stream
-xڽZK8WX`b"}X G
-Dxl Ok%&6q~]Qw\Fxb>>GΌq.m^nmôOh_;?'y[T_R\NEu.NvWm1Ea1<ZWG Caԯw_`Sgϸ/
-)YKۺvUW:'5 bc
-6$w6>~y&ژ%Dizi<}/sAwA} ]z'e?qi^
-u=E~t:Y߮ƅxӻE?S
-G/cMhyb$lvFiE8HBd 
-ϝ _☰gxoYѺk.ʨ>,M!kvf|SOk'*m5& p$ Pi6Ov{7yQ~vU:-gp MhEֳω2 -Pς:I
-6%MU=u~YTzJ@ɡN'VMK!(R<P$)A3~ut&kR{$MJa(H@C0ΛFΞ/j-23!Qj
-b@2-EعR;xXmKkoR.<PvH>
-殱sȻifۉ=SUbY \ 7\UˣW?!_C`2I'ʙTHIa1?T__EwZ uAE34n Oh& =&*gR7L#aj(Q,xe嫇uU/\aaJ"$LZK/Gda
-tn,l7\QW‘,Qѡ=nZul) jvyPv )hW7}(E)blMr#+$y=(?D>-KKs[&WўuClkC42 18S4Xk=S@dL"1jClT7IaτI W4K>fHy'%1Bi-!;%w1Y@Fy({
-endstream
-endobj
-248 0 obj
-<< /Type /Page /Contents 249 0 R /Resources 247 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-250 0 obj
-<< /D [ 248 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-251 0 obj
-<< /D [ 248 0 R /XYZ 78.427 681.16 null ] >>
-endobj
-252 0 obj
-<< /D [ 248 0 R /XYZ 78.427 670.202 null ] >>
-endobj
-253 0 obj
-<< /D [ 248 0 R /XYZ 78.427 659.243 null ] >>
-endobj
-254 0 obj
-<< /D [ 248 0 R /XYZ 78.427 648.284 null ] >>
-endobj
-255 0 obj
-<< /D [ 248 0 R /XYZ 78.427 637.325 null ] >>
-endobj
-256 0 obj
-<< /D [ 248 0 R /XYZ 78.427 626.366 null ] >>
-endobj
-257 0 obj
-<< /D [ 248 0 R /XYZ 78.427 615.407 null ] >>
-endobj
-258 0 obj
-<< /D [ 248 0 R /XYZ 78.427 604.448 null ] >>
-endobj
-259 0 obj
-<< /D [ 248 0 R /XYZ 78.427 593.489 null ] >>
-endobj
-260 0 obj
-<< /D [ 248 0 R /XYZ 78.427 560.613 null ] >>
-endobj
-261 0 obj
-<< /D [ 248 0 R /XYZ 78.427 549.654 null ] >>
-endobj
-262 0 obj
-<< /D [ 248 0 R /XYZ 78.427 538.695 null ] >>
-endobj
-263 0 obj
-<< /D [ 248 0 R /XYZ 78.427 527.736 null ] >>
-endobj
-264 0 obj
-<< /D [ 248 0 R /XYZ 78.427 516.777 null ] >>
-endobj
-265 0 obj
-<< /D [ 248 0 R /XYZ 78.427 483.9 null ] >>
-endobj
-266 0 obj
-<< /D [ 248 0 R /XYZ 78.427 472.941 null ] >>
-endobj
-267 0 obj
-<< /D [ 248 0 R /XYZ 78.427 461.982 null ] >>
-endobj
-268 0 obj
-<< /D [ 248 0 R /XYZ 78.427 451.023 null ] >>
-endobj
-269 0 obj
-<< /D [ 248 0 R /XYZ 78.427 440.065 null ] >>
-endobj
-270 0 obj
-<< /D [ 248 0 R /XYZ 78.427 429.106 null ] >>
-endobj
-271 0 obj
-<< /D [ 248 0 R /XYZ 78.427 418.147 null ] >>
-endobj
-272 0 obj
-<< /D [ 248 0 R /XYZ 78.427 385.27 null ] >>
-endobj
-273 0 obj
-<< /D [ 248 0 R /XYZ 78.427 374.311 null ] >>
-endobj
-274 0 obj
-<< /D [ 248 0 R /XYZ 78.427 363.352 null ] >>
-endobj
-275 0 obj
-<< /D [ 248 0 R /XYZ 78.427 352.393 null ] >>
-endobj
-276 0 obj
-<< /D [ 248 0 R /XYZ 78.427 341.434 null ] >>
-endobj
-277 0 obj
-<< /D [ 248 0 R /XYZ 78.427 286.64 null ] >>
-endobj
-278 0 obj
-<< /D [ 248 0 R /XYZ 78.427 275.681 null ] >>
-endobj
-279 0 obj
-<< /D [ 248 0 R /XYZ 78.427 264.722 null ] >>
-endobj
-280 0 obj
-<< /D [ 248 0 R /XYZ 78.427 253.763 null ] >>
-endobj
-281 0 obj
-<< /D [ 248 0 R /XYZ 78.427 242.804 null ] >>
-endobj
-282 0 obj
-<< /D [ 248 0 R /XYZ 78.427 231.845 null ] >>
-endobj
-283 0 obj
-<< /D [ 248 0 R /XYZ 78.427 220.887 null ] >>
-endobj
-284 0 obj
-<< /D [ 248 0 R /XYZ 78.427 209.928 null ] >>
-endobj
-285 0 obj
-<< /D [ 248 0 R /XYZ 78.427 198.969 null ] >>
-endobj
-286 0 obj
-<< /D [ 248 0 R /XYZ 78.427 188.01 null ] >>
-endobj
-287 0 obj
-<< /D [ 248 0 R /XYZ 78.427 177.051 null ] >>
-endobj
-288 0 obj
-<< /D [ 248 0 R /XYZ 78.427 166.092 null ] >>
-endobj
-289 0 obj
-<< /D [ 248 0 R /XYZ 78.427 155.133 null ] >>
-endobj
-290 0 obj
-<< /D [ 248 0 R /XYZ 78.427 144.174 null ] >>
-endobj
-291 0 obj
-<< /D [ 248 0 R /XYZ 78.427 133.215 null ] >>
-endobj
-292 0 obj
-<< /D [ 248 0 R /XYZ 78.427 122.256 null ] >>
-endobj
-293 0 obj
-<< /D [ 248 0 R /XYZ 78.427 111.297 null ] >>
-endobj
-294 0 obj
-<< /D [ 248 0 R /XYZ 78.427 100.339 null ] >>
-endobj
-13 0 obj
-<< /D [ 248 0 R /XYZ 79.37 76.877 null ] >>
-endobj
-247 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-297 0 obj
-<< /Filter /FlateDecode /Length 1763 >>
-stream
-xڭX]o6}0{H9~0[
- C
-{H@Q֫,g27 w)(;Œ%s//$|ɻWwuK&#%2Q15QB#d\Mz>$!LuYy>0%f6
-\vnC,94kT˛*AB-2PR*4}Gz۲H.C$L?=cpw__nVEVB8?FZ>eA\1V=Z 4H,e>|d:E䛛k馸;_=ƗkHZXsVq&1*"SYF}civ)F
-aNTJ!&s%<> O6R:};6&q̜eq.G;yCeV|:
-JޑfYBnuXA,< `g}m۲ݼ襺MƱ*…;+]aR]#PUil"5AYMp_;k%;CIױ HȩljF^ؘ0cqHsi@ˡɕ)ż }!
-uȕȵmwHp%|UQ/+l) 9kV2)泋'U7&F!oA&<i?%&[ L$?B)P0mT d/KAQY ;kt&Ea|{JN˾.843y 띐S;
-aIvzN^ӫ:k%yv;fGX_v( 2"/D|,4t>33FlF;=$ԳQanᬡ6
-܎L,ڷް$ ]k߶|YTcs`@kIN4H gwyє7}'HۛRvdB#%|$|>|,_2#I{;̷-eD%b}XT |ķ ۨ>c(k&&s;n9d$]"{(X#A)Iaol/KYSymsDXn/BxC!Qad$]㱅Hhzi$|rزAAdw@/aa񇱌F1Ia0~XT!8I"1s,c{$Gﱌ14t'&Ia0,(o/L(ǰԇ_?.
-endstream
-endobj
-296 0 obj
-<< /Type /Page /Contents 297 0 R /Resources 295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-298 0 obj
-<< /D [ 296 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-301 0 obj
-<< /D [ 296 0 R /XYZ 78.427 614.01 null ] >>
-endobj
-302 0 obj
-<< /D [ 296 0 R /XYZ 78.427 603.051 null ] >>
-endobj
-303 0 obj
-<< /D [ 296 0 R /XYZ 78.427 592.092 null ] >>
-endobj
-304 0 obj
-<< /D [ 296 0 R /XYZ 78.427 581.133 null ] >>
-endobj
-305 0 obj
-<< /D [ 296 0 R /XYZ 79.752 570.174 null ] >>
-endobj
-306 0 obj
-<< /D [ 296 0 R /XYZ 79.752 559.215 null ] >>
-endobj
-307 0 obj
-<< /D [ 296 0 R /XYZ 79.752 504.421 null ] >>
-endobj
-308 0 obj
-<< /D [ 296 0 R /XYZ 79.752 493.462 null ] >>
-endobj
-309 0 obj
-<< /D [ 296 0 R /XYZ 79.752 482.503 null ] >>
-endobj
-310 0 obj
-<< /D [ 296 0 R /XYZ 79.752 471.544 null ] >>
-endobj
-311 0 obj
-<< /D [ 296 0 R /XYZ 79.752 460.585 null ] >>
-endobj
-312 0 obj
-<< /D [ 296 0 R /XYZ 79.752 449.626 null ] >>
-endobj
-313 0 obj
-<< /D [ 296 0 R /XYZ 79.752 438.667 null ] >>
-endobj
-314 0 obj
-<< /D [ 296 0 R /XYZ 79.752 427.709 null ] >>
-endobj
-315 0 obj
-<< /D [ 296 0 R /XYZ 79.752 416.75 null ] >>
-endobj
-316 0 obj
-<< /D [ 296 0 R /XYZ 79.752 405.791 null ] >>
-endobj
-317 0 obj
-<< /D [ 296 0 R /XYZ 79.752 394.832 null ] >>
-endobj
-318 0 obj
-<< /D [ 296 0 R /XYZ 79.752 383.873 null ] >>
-endobj
-17 0 obj
-<< /D [ 296 0 R /XYZ 79.37 359.166 null ] >>
-endobj
-319 0 obj
-<< /D [ 296 0 R /XYZ 79.752 277.484 null ] >>
-endobj
-320 0 obj
-<< /D [ 296 0 R /XYZ 79.752 266.525 null ] >>
-endobj
-321 0 obj
-<< /D [ 296 0 R /XYZ 79.752 255.566 null ] >>
-endobj
-322 0 obj
-<< /D [ 296 0 R /XYZ 79.752 244.607 null ] >>
-endobj
-323 0 obj
-<< /D [ 296 0 R /XYZ 79.752 233.648 null ] >>
-endobj
-324 0 obj
-<< /D [ 296 0 R /XYZ 79.752 222.689 null ] >>
-endobj
-325 0 obj
-<< /D [ 296 0 R /XYZ 79.752 211.73 null ] >>
-endobj
-326 0 obj
-<< /D [ 296 0 R /XYZ 79.752 200.771 null ] >>
-endobj
-327 0 obj
-<< /D [ 296 0 R /XYZ 79.752 189.812 null ] >>
-endobj
-328 0 obj
-<< /D [ 296 0 R /XYZ 79.752 178.854 null ] >>
-endobj
-329 0 obj
-<< /D [ 296 0 R /XYZ 79.752 167.895 null ] >>
-endobj
-330 0 obj
-<< /D [ 296 0 R /XYZ 79.752 156.936 null ] >>
-endobj
-331 0 obj
-<< /D [ 296 0 R /XYZ 79.752 145.977 null ] >>
-endobj
-332 0 obj
-<< /D [ 296 0 R /XYZ 79.752 135.018 null ] >>
-endobj
-333 0 obj
-<< /D [ 296 0 R /XYZ 79.752 124.059 null ] >>
-endobj
-334 0 obj
-<< /D [ 296 0 R /XYZ 79.752 113.1 null ] >>
-endobj
-295 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-337 0 obj
-<< /Filter /FlateDecode /Length 2846 >>
-stream
-xZo6߿"ou oIyڶ+pAp{0NȒ+bf8p8= |g)4j zβ,ӌPήg]ݚ !lu{γCܸӸuP53?Ŷ7K׽j;XTȦݨv^h?hѮe?REW
-v0URMQX/$qOFeB@e5(s*VR$pKRp/m@k&"ŹnMg{rvl6%l=p;h!Gt)2Dk;'v8%
-~u~*əcSb:zV-1-,Eyc.?_(lO=n^v7,C%q7E^4+3/l͞107uoOa?Tt2ShOhu`EٛX^+.* "m{7l]*67U);@^+ʉ:!O1"DğyV-)D^Z.K[.}(6il
-
-~ӤuM;泾]l7tۅo/2)g\{#*N9c|7('CPaѧjS-mgFdHxQ?V v2lIt0}Nlruzc7|(WIz`<W1yEٕJlU{x0S5Qv FvoqX0
-#hJ |8 ,9@4䚜+"|M,aSV_S
-W*
-a)6<ݓo4Ml-WGTS 0 D^Zcs~x|W
-90]g?5k&{)! krbb|ħ+[8waNRdec|y;+
-qreeER4E}Tüin]VM0 ptZJB
-Bix:"F 㿚TN
-M
-ӊc=_uDsg_*iHxL;&~i9.u^_f^ 3i?"$iz:Y&
-endstream
-endobj
-336 0 obj
-<< /Type /Page /Contents 337 0 R /Resources 335 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-338 0 obj
-<< /D [ 336 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-339 0 obj
-<< /D [ 336 0 R /XYZ 79.752 730.974 null ] >>
-endobj
-340 0 obj
-<< /D [ 336 0 R /XYZ 79.752 715.033 null ] >>
-endobj
-341 0 obj
-<< /D [ 336 0 R /XYZ 79.752 704.075 null ] >>
-endobj
-342 0 obj
-<< /D [ 336 0 R /XYZ 79.752 677.175 null ] >>
-endobj
-343 0 obj
-<< /D [ 336 0 R /XYZ 79.752 666.217 null ] >>
-endobj
-344 0 obj
-<< /D [ 336 0 R /XYZ 79.752 655.258 null ] >>
-endobj
-345 0 obj
-<< /D [ 336 0 R /XYZ 79.752 644.299 null ] >>
-endobj
-346 0 obj
-<< /D [ 336 0 R /XYZ 79.752 529.728 null ] >>
-endobj
-347 0 obj
-<< /D [ 336 0 R /XYZ 79.752 518.769 null ] >>
-endobj
-348 0 obj
-<< /D [ 336 0 R /XYZ 79.752 507.811 null ] >>
-endobj
-349 0 obj
-<< /D [ 336 0 R /XYZ 79.752 496.852 null ] >>
-endobj
-350 0 obj
-<< /D [ 336 0 R /XYZ 79.752 485.893 null ] >>
-endobj
-351 0 obj
-<< /D [ 336 0 R /XYZ 79.752 474.934 null ] >>
-endobj
-352 0 obj
-<< /D [ 336 0 R /XYZ 79.752 463.975 null ] >>
-endobj
-353 0 obj
-<< /D [ 336 0 R /XYZ 79.752 453.016 null ] >>
-endobj
-354 0 obj
-<< /D [ 336 0 R /XYZ 79.752 398.221 null ] >>
-endobj
-355 0 obj
-<< /D [ 336 0 R /XYZ 79.752 387.263 null ] >>
-endobj
-356 0 obj
-<< /D [ 336 0 R /XYZ 79.752 376.304 null ] >>
-endobj
-357 0 obj
-<< /D [ 336 0 R /XYZ 79.752 365.345 null ] >>
-endobj
-358 0 obj
-<< /D [ 336 0 R /XYZ 79.752 354.386 null ] >>
-endobj
-359 0 obj
-<< /D [ 336 0 R /XYZ 79.752 343.427 null ] >>
-endobj
-360 0 obj
-<< /D [ 336 0 R /XYZ 79.752 312.543 null ] >>
-endobj
-361 0 obj
-<< /D [ 336 0 R /XYZ 79.752 301.584 null ] >>
-endobj
-362 0 obj
-<< /D [ 336 0 R /XYZ 79.752 290.625 null ] >>
-endobj
-363 0 obj
-<< /D [ 336 0 R /XYZ 79.752 279.666 null ] >>
-endobj
-364 0 obj
-<< /D [ 336 0 R /XYZ 79.752 268.707 null ] >>
-endobj
-365 0 obj
-<< /D [ 336 0 R /XYZ 79.752 237.823 null ] >>
-endobj
-366 0 obj
-<< /D [ 336 0 R /XYZ 79.752 159.118 null ] >>
-endobj
-367 0 obj
-<< /D [ 336 0 R /XYZ 79.752 148.159 null ] >>
-endobj
-368 0 obj
-<< /D [ 336 0 R /XYZ 79.752 137.2 null ] >>
-endobj
-369 0 obj
-<< /D [ 336 0 R /XYZ 79.752 126.241 null ] >>
-endobj
-370 0 obj
-<< /D [ 336 0 R /XYZ 79.752 115.283 null ] >>
-endobj
-371 0 obj
-<< /D [ 336 0 R /XYZ 79.752 104.324 null ] >>
-endobj
-372 0 obj
-<< /D [ 336 0 R /XYZ 79.752 93.365 null ] >>
-endobj
-373 0 obj
-<< /D [ 336 0 R /XYZ 79.752 82.406 null ] >>
-endobj
-335 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-376 0 obj
-<< /Filter /FlateDecode /Length 2649 >>
-stream
-xZKϯ06/@Fv3 !j%G3ۘHʢm=bUbW%rGe~{w?5H+~CxDFJ#*H
- _c"ɿX>RH KF$;s엦`L⺩)F0>kƴSۏ'7ͺwwm]=s3.f;_lȶ^NմUQ.o`΂:5Af1YG vDjHb$ωbc3aZ3fgUM^(2|4K1WmsV&J)8M)y$hSefx8DZ$IS(~BI00aHR} "},!^HCv;q`wmY߹EU'֯ Ksp>\U~*\DeR!4EkUv+DRrjۘ%rWkeA7qSlX ʸk6r^lv$*o6;yP56tav*'p̗|]h]-U0rlGgkx|Fd'?WC FDI!GH!vCv~ĚWZ' PCEe^(5
-:^u]icϸc't/9L#yuRb'eV:ymQ`xX$эn*!OKz2<չq]\1A.&lz@Lw۲C|wxbW
-W
-'en7E2rz~U4xJTEUzZ8ӧIAMPTTݴ{>մY\pb`nAg90:z,ː 4ܕkp$w+`o=[9yJ-oa1Zdm,Gx[tBi^;a:O}GfajSLBj.|wVV㟻ǡb>C4Ccb-bfy p[_ɍ6+s;>\P>WP-' m[Acg.\"xnC(bK͹]; ^mYXz +Q61aÞL I,D]/obA8
-۱z.v:Vb̲(Z>pi
-`%XbI99'ءU'ŧ|f;0W`F+a۸ Zu#~ZVۏ堅ɋ:q|\WbZBI o0%}HkG%-Xֿ /Bu՚ۏK\p(BBu"p^eCi-<Gz>=D3KT)$
-Rˎɓ#d\7K}!xI웁h O[U0fkv {@Z 9ܯ?Wpʗڏܽ)H\9zMc~U8E\e/LgBڄŝ~D@UjKɑ2Q|B@_(E#'T5IPC0'hؖ!iB`D54.nizZ,l02&& }z=(i˗D7鷨Oޘ'ˆ15OjE+<|:cThUG)LE3ؿ*PN-2hECJʣ J~}X(XFAwu2M
-_gDv"pr8Y}R(A{Vi='d c(NJgr-gsY62_<PbZ)Pv l~"aʆԗUd`Wݝh1 ,tvN{!>DBڄ@xJ3<Phx,Xk]l<ܣ㼮sC|ۆ:>J$:q~&fa9^!
-n\G6XwA}$5-2_qD+!zO@ɱ0 +ۃ!NTd?!xf#A[jg/S*|!I/I 5BTKifHwgIl;''PMT<|%1Bʴbc\ `14cuW|9aj
-A2SD,hs%"E؁[o
-:wn~]G_ Lav|w 9iZ(_E
-endstream
-endobj
-375 0 obj
-<< /Type /Page /Contents 376 0 R /Resources 374 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-377 0 obj
-<< /D [ 375 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-378 0 obj
-<< /D [ 375 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-379 0 obj
-<< /D [ 375 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-380 0 obj
-<< /D [ 375 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-381 0 obj
-<< /D [ 375 0 R /XYZ 79.752 678.58 null ] >>
-endobj
-382 0 obj
-<< /D [ 375 0 R /XYZ 79.752 667.621 null ] >>
-endobj
-383 0 obj
-<< /D [ 375 0 R /XYZ 79.752 656.662 null ] >>
-endobj
-384 0 obj
-<< /D [ 375 0 R /XYZ 79.752 645.703 null ] >>
-endobj
-385 0 obj
-<< /D [ 375 0 R /XYZ 79.752 634.744 null ] >>
-endobj
-386 0 obj
-<< /D [ 375 0 R /XYZ 79.752 623.785 null ] >>
-endobj
-387 0 obj
-<< /D [ 375 0 R /XYZ 79.752 612.826 null ] >>
-endobj
-388 0 obj
-<< /D [ 375 0 R /XYZ 79.752 601.867 null ] >>
-endobj
-389 0 obj
-<< /D [ 375 0 R /XYZ 79.752 590.908 null ] >>
-endobj
-390 0 obj
-<< /D [ 375 0 R /XYZ 79.752 579.949 null ] >>
-endobj
-391 0 obj
-<< /D [ 375 0 R /XYZ 79.752 568.99 null ] >>
-endobj
-392 0 obj
-<< /D [ 375 0 R /XYZ 79.752 558.032 null ] >>
-endobj
-393 0 obj
-<< /D [ 375 0 R /XYZ 79.752 547.073 null ] >>
-endobj
-394 0 obj
-<< /D [ 375 0 R /XYZ 79.752 536.114 null ] >>
-endobj
-395 0 obj
-<< /D [ 375 0 R /XYZ 79.752 448.657 null ] >>
-endobj
-396 0 obj
-<< /D [ 375 0 R /XYZ 79.752 437.698 null ] >>
-endobj
-397 0 obj
-<< /D [ 375 0 R /XYZ 79.752 426.739 null ] >>
-endobj
-398 0 obj
-<< /D [ 375 0 R /XYZ 79.752 415.78 null ] >>
-endobj
-399 0 obj
-<< /D [ 375 0 R /XYZ 79.752 404.821 null ] >>
-endobj
-400 0 obj
-<< /D [ 375 0 R /XYZ 79.752 393.862 null ] >>
-endobj
-401 0 obj
-<< /D [ 375 0 R /XYZ 79.752 382.903 null ] >>
-endobj
-402 0 obj
-<< /D [ 375 0 R /XYZ 79.752 371.944 null ] >>
-endobj
-403 0 obj
-<< /D [ 375 0 R /XYZ 79.752 360.985 null ] >>
-endobj
-404 0 obj
-<< /D [ 375 0 R /XYZ 79.752 321.054 null ] >>
-endobj
-405 0 obj
-<< /D [ 375 0 R /XYZ 79.752 310.095 null ] >>
-endobj
-406 0 obj
-<< /D [ 375 0 R /XYZ 79.752 299.136 null ] >>
-endobj
-407 0 obj
-<< /D [ 375 0 R /XYZ 79.752 288.177 null ] >>
-endobj
-408 0 obj
-<< /D [ 375 0 R /XYZ 79.752 277.218 null ] >>
-endobj
-409 0 obj
-<< /D [ 375 0 R /XYZ 79.752 266.259 null ] >>
-endobj
-410 0 obj
-<< /D [ 375 0 R /XYZ 79.752 228.158 null ] >>
-endobj
-411 0 obj
-<< /D [ 375 0 R /XYZ 79.752 217.199 null ] >>
-endobj
-412 0 obj
-<< /D [ 375 0 R /XYZ 79.752 206.24 null ] >>
-endobj
-413 0 obj
-<< /D [ 375 0 R /XYZ 79.752 195.281 null ] >>
-endobj
-414 0 obj
-<< /D [ 375 0 R /XYZ 79.752 184.322 null ] >>
-endobj
-415 0 obj
-<< /D [ 375 0 R /XYZ 79.752 144.39 null ] >>
-endobj
-416 0 obj
-<< /D [ 375 0 R /XYZ 79.752 133.431 null ] >>
-endobj
-417 0 obj
-<< /D [ 375 0 R /XYZ 79.752 122.473 null ] >>
-endobj
-418 0 obj
-<< /D [ 375 0 R /XYZ 79.752 111.514 null ] >>
-endobj
-419 0 obj
-<< /D [ 375 0 R /XYZ 79.752 100.555 null ] >>
-endobj
-420 0 obj
-<< /D [ 375 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-421 0 obj
-<< /D [ 375 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-374 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-425 0 obj
-<< /Filter /FlateDecode /Length 2736 >>
-stream
-xڭZoZZއ pn֖cue+;|Y~H$Q3oHO~x/oFZP'7^ HHAdr2}7/Vi/~$ zvd y FQf$?
-l-q}޺pG͡pIU D2$8M1#h4CDgANrC(ahzЙBLlg\͚:o 1Sv^~+C[Uy_'R}y{1x0~v&;x[ψun-4E ƒב'KNZ4xKCii|$Y($H%1'/i9 Cˤ>EKG__N2Yx0W! &<L]f4Â71UN& Ns >,IU#cT0Nqca9y=/~'J2$pXȔ:<o]@FAs :2H"]~UµLڇb~i
-$"/
-zHKr<1$Hm9
-y}}wZN5яeU9>^\)|Hs=&W:{Rt^Y­#e]kk'Xx?ߔm?\˿^u=J~#Ϟ-01OhVPr 'PuV($P4L&uŬ/Eiڲ8z& %m׃vwE1LЧY2q-ammuU)Fسu*u/C2"U|%8pN&\:c!39:[b]wVWj.ʶ로 'iVok@pDd2U^7R4.
-JALe4DQW/u*v.d_},pdg ~j4R-h:l0+cB
-vpW.}l6)07)4tseyUW>yK'JAFbxW>F˟NqhWS+6}2ybR1nִmѭ3A¤C\5i.0ŋ|:|cZ0oyߢ\ _S;5*OG`EFltMmH4e:-ȍct1R졗URxA)CTYVDcG'6e   K7$HmOn9M#9ɋr;4&~LA"=\ȂSW
-h~$J@;`x݌)1=|eͅN?orOzП4Wé-ALeBy>6o^Ewja>˓$<;1] -9w]/b݇rzlw6?ٰz"XJ$$a7K 1>nWRoCK>GI6
-sJ@YJ(uf1\62ٓ-?:<tVz爀m}ոq1k EBNr@b~b^>l%@!w'.lH=hxN <l5z
-n
-7P4@СԕۭaSmS]&ڬ0g:ަP.p΁$X=\5:S6Fc9{Rf`wNPմ+f,p]s'8k9U`[%>@ePjj$MH=cfnȗG+'F .<hq1<_= fPgYJʏR і{؉ gyK/O烄T-cv{0h׳Ahig ~ݾ㹊 l_y?W6
-2GX5y7RL2dؒ ͯFۮ~F
-?>]P={]}=߭d3PpBů)
-endstream
-endobj
-424 0 obj
-<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R /Annots 469 0 R >>
-endobj
-469 0 obj
-[ 422 0 R ]
-endobj
-422 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 120.217 380.657 126.679 391.484 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
-endobj
-426 0 obj
-<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-427 0 obj
-<< /D [ 424 0 R /XYZ 79.752 754.884 null ] >>
-endobj
-428 0 obj
-<< /D [ 424 0 R /XYZ 79.752 743.925 null ] >>
-endobj
-429 0 obj
-<< /D [ 424 0 R /XYZ 79.752 732.966 null ] >>
-endobj
-430 0 obj
-<< /D [ 424 0 R /XYZ 79.752 722.007 null ] >>
-endobj
-431 0 obj
-<< /D [ 424 0 R /XYZ 79.752 711.048 null ] >>
-endobj
-432 0 obj
-<< /D [ 424 0 R /XYZ 79.752 700.089 null ] >>
-endobj
-433 0 obj
-<< /D [ 424 0 R /XYZ 79.752 689.131 null ] >>
-endobj
-434 0 obj
-<< /D [ 424 0 R /XYZ 79.752 678.172 null ] >>
-endobj
-435 0 obj
-<< /D [ 424 0 R /XYZ 79.752 667.213 null ] >>
-endobj
-436 0 obj
-<< /D [ 424 0 R /XYZ 79.752 656.254 null ] >>
-endobj
-437 0 obj
-<< /D [ 424 0 R /XYZ 79.752 645.295 null ] >>
-endobj
-438 0 obj
-<< /D [ 424 0 R /XYZ 79.752 634.336 null ] >>
-endobj
-439 0 obj
-<< /D [ 424 0 R /XYZ 79.752 623.377 null ] >>
-endobj
-440 0 obj
-<< /D [ 424 0 R /XYZ 79.752 612.418 null ] >>
-endobj
-441 0 obj
-<< /D [ 424 0 R /XYZ 79.752 601.459 null ] >>
-endobj
-442 0 obj
-<< /D [ 424 0 R /XYZ 79.752 590.5 null ] >>
-endobj
-443 0 obj
-<< /D [ 424 0 R /XYZ 79.752 579.542 null ] >>
-endobj
-444 0 obj
-<< /D [ 424 0 R /XYZ 79.752 568.583 null ] >>
-endobj
-445 0 obj
-<< /D [ 424 0 R /XYZ 79.752 515.781 null ] >>
-endobj
-446 0 obj
-<< /D [ 424 0 R /XYZ 79.752 504.822 null ] >>
-endobj
-447 0 obj
-<< /D [ 424 0 R /XYZ 79.752 493.863 null ] >>
-endobj
-448 0 obj
-<< /D [ 424 0 R /XYZ 79.752 482.904 null ] >>
-endobj
-449 0 obj
-<< /D [ 424 0 R /XYZ 79.752 471.945 null ] >>
-endobj
-450 0 obj
-<< /D [ 424 0 R /XYZ 79.752 460.986 null ] >>
-endobj
-451 0 obj
-<< /D [ 424 0 R /XYZ 79.752 450.027 null ] >>
-endobj
-452 0 obj
-<< /D [ 424 0 R /XYZ 79.752 439.068 null ] >>
-endobj
-453 0 obj
-<< /D [ 424 0 R /XYZ 79.752 428.109 null ] >>
-endobj
-454 0 obj
-<< /D [ 424 0 R /XYZ 79.752 417.151 null ] >>
-endobj
-456 0 obj
-<< /D [ 424 0 R /XYZ 79.752 376.304 null ] >>
-endobj
-457 0 obj
-<< /D [ 424 0 R /XYZ 79.752 365.345 null ] >>
-endobj
-458 0 obj
-<< /D [ 424 0 R /XYZ 79.752 312.543 null ] >>
-endobj
-459 0 obj
-<< /D [ 424 0 R /XYZ 79.752 301.584 null ] >>
-endobj
-460 0 obj
-<< /D [ 424 0 R /XYZ 79.752 290.625 null ] >>
-endobj
-461 0 obj
-<< /D [ 424 0 R /XYZ 79.752 279.666 null ] >>
-endobj
-462 0 obj
-<< /D [ 424 0 R /XYZ 79.752 226.864 null ] >>
-endobj
-463 0 obj
-<< /D [ 424 0 R /XYZ 79.752 186.017 null ] >>
-endobj
-464 0 obj
-<< /D [ 424 0 R /XYZ 79.752 133.215 null ] >>
-endobj
-465 0 obj
-<< /D [ 424 0 R /XYZ 79.752 122.256 null ] >>
-endobj
-466 0 obj
-<< /D [ 424 0 R /XYZ 79.752 111.297 null ] >>
-endobj
-468 0 obj
-<< /D [ 424 0 R /XYZ 94.613 81.708 null ] >>
-endobj
-423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F22 455 0 R /F69 299 0 R /F76 467 0 R /F53 200 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-472 0 obj
-<< /Filter /FlateDecode /Length 1908 >>
-stream
-xڵZ]o6}ϯ0`l7M})~Cv!hl&"K,;M翗EY8'y.?ιJ2y$opE}qqG& i),nmLDiDHQ"d6%Lw,MBP5b Iu SiͶ<+9w1`E @Q_FZ?wLe&|vn-9#5ZT#hǛ'0Cy'{&
-am|m%<û+]䲮4ntg|[^4zN@Fl]gZhh"o{pZC@=?b=~|
-Znϭ +֭_V{tZT^ßLퟹOFͬV1!#i/R\1(zK:;+(
-n|ww
-7pfGk`j'klS2Inv̷<yfS=jZ!^l
-8Pc"氕=Dn3W|:X쀾y6eq2Z oӷ5 %"$uBAa۶1sVYi+٬W@g<p
-_o$s +U'2~EMQN_Vy܄fL(S/|i٧}q2lLbxUxѥMU1 X|pH.1y1,Œa{ XV
-(A@3C0﫠jIS7F52HXE2pN+<q*<&inҾBe&]U3~EE~,u\b e:o| _;}w#ڣ4wPM/*wLݓ/$v/r_
-w5P+cW܎VGPkXa p=Wb Yh[_6mw{Տ{$Q)l\.MA!E͸0ሱRj?D:v^
-:1|%qnM`+lwվPtk
-ُCr~kxĞ+ڭ9[le%ޠ^ +4
-endstream
-endobj
-471 0 obj
-<< /Type /Page /Contents 472 0 R /Resources 470 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-473 0 obj
-<< /D [ 471 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-474 0 obj
-<< /D [ 471 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-475 0 obj
-<< /D [ 471 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-476 0 obj
-<< /D [ 471 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-477 0 obj
-<< /D [ 471 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-478 0 obj
-<< /D [ 471 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-479 0 obj
-<< /D [ 471 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-480 0 obj
-<< /D [ 471 0 R /XYZ 79.752 703.078 null ] >>
-endobj
-481 0 obj
-<< /D [ 471 0 R /XYZ 79.752 692.119 null ] >>
-endobj
-482 0 obj
-<< /D [ 471 0 R /XYZ 79.752 651.273 null ] >>
-endobj
-483 0 obj
-<< /D [ 471 0 R /XYZ 79.752 640.314 null ] >>
-endobj
-484 0 obj
-<< /D [ 471 0 R /XYZ 79.752 629.355 null ] >>
-endobj
-485 0 obj
-<< /D [ 471 0 R /XYZ 79.752 618.396 null ] >>
-endobj
-486 0 obj
-<< /D [ 471 0 R /XYZ 79.752 607.437 null ] >>
-endobj
-487 0 obj
-<< /D [ 471 0 R /XYZ 79.752 596.478 null ] >>
-endobj
-488 0 obj
-<< /D [ 471 0 R /XYZ 79.752 585.519 null ] >>
-endobj
-489 0 obj
-<< /D [ 471 0 R /XYZ 79.752 574.56 null ] >>
-endobj
-490 0 obj
-<< /D [ 471 0 R /XYZ 79.752 545.669 null ] >>
-endobj
-491 0 obj
-<< /D [ 471 0 R /XYZ 79.752 534.71 null ] >>
-endobj
-492 0 obj
-<< /D [ 471 0 R /XYZ 79.752 523.751 null ] >>
-endobj
-493 0 obj
-<< /D [ 471 0 R /XYZ 79.752 512.792 null ] >>
-endobj
-494 0 obj
-<< /D [ 471 0 R /XYZ 79.752 501.833 null ] >>
-endobj
-495 0 obj
-<< /D [ 471 0 R /XYZ 79.752 449.031 null ] >>
-endobj
-496 0 obj
-<< /D [ 471 0 R /XYZ 79.752 418.147 null ] >>
-endobj
-497 0 obj
-<< /D [ 471 0 R /XYZ 79.752 407.188 null ] >>
-endobj
-498 0 obj
-<< /D [ 471 0 R /XYZ 79.752 396.229 null ] >>
-endobj
-499 0 obj
-<< /D [ 471 0 R /XYZ 79.752 385.27 null ] >>
-endobj
-500 0 obj
-<< /D [ 471 0 R /XYZ 79.752 374.311 null ] >>
-endobj
-501 0 obj
-<< /D [ 471 0 R /XYZ 79.752 363.352 null ] >>
-endobj
-502 0 obj
-<< /D [ 471 0 R /XYZ 79.752 352.393 null ] >>
-endobj
-503 0 obj
-<< /D [ 471 0 R /XYZ 79.752 341.434 null ] >>
-endobj
-504 0 obj
-<< /D [ 471 0 R /XYZ 79.752 330.476 null ] >>
-endobj
-505 0 obj
-<< /D [ 471 0 R /XYZ 79.752 319.517 null ] >>
-endobj
-506 0 obj
-<< /D [ 471 0 R /XYZ 79.752 286.64 null ] >>
-endobj
-507 0 obj
-<< /D [ 471 0 R /XYZ 79.752 275.681 null ] >>
-endobj
-508 0 obj
-<< /D [ 471 0 R /XYZ 79.752 264.722 null ] >>
-endobj
-509 0 obj
-<< /D [ 471 0 R /XYZ 79.752 253.763 null ] >>
-endobj
-510 0 obj
-<< /D [ 471 0 R /XYZ 79.752 242.804 null ] >>
-endobj
-511 0 obj
-<< /D [ 471 0 R /XYZ 79.752 231.845 null ] >>
-endobj
-512 0 obj
-<< /D [ 471 0 R /XYZ 79.752 220.887 null ] >>
-endobj
-513 0 obj
-<< /D [ 471 0 R /XYZ 79.752 166.092 null ] >>
-endobj
-514 0 obj
-<< /D [ 471 0 R /XYZ 79.752 155.133 null ] >>
-endobj
-515 0 obj
-<< /D [ 471 0 R /XYZ 79.752 144.174 null ] >>
-endobj
-516 0 obj
-<< /D [ 471 0 R /XYZ 79.752 133.215 null ] >>
-endobj
-517 0 obj
-<< /D [ 471 0 R /XYZ 79.752 122.256 null ] >>
-endobj
-518 0 obj
-<< /D [ 471 0 R /XYZ 79.752 111.297 null ] >>
-endobj
-519 0 obj
-<< /D [ 471 0 R /XYZ 79.752 100.339 null ] >>
-endobj
-470 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-522 0 obj
-<< /Filter /FlateDecode /Length 2080 >>
-stream
-xڵY[~_aFKF$i7AvЇy(- F%GdQckbI$υ8mf{|_p6P&`  dIQ"n?n[,n(u "OeCdܱ |v]wi.:nzmeZ73vqnASNBe>czW7gQ"C Hg e)dHfHo(DSKM2f
-@yJ`|s1.Um;#b/- ~_KxxԑْKc=$T.J_dTI C&gs<I
-N]?\<Zw΍e,L
-e%P'1e'5xj,:?WvŗY|z1=QP <&Yd|fs>a;Mj>; ,4Ńᐤw \tIO4yP r:IaGee:MPR<2>`&QQ4Ght%c4.bįÐ~>o9䌢9/46M6}5ǜ&JߩN5Ą+O@q#!)g/4
->DPӱC~g4&~r8Ar9mTc zSH=v\mcKFGW@wNZmL)76ؕv|P]9\9Rڄ%sTB#>T0xJϗrE3z8i" ƺ!.Đ}5}ڪCTS  :vIAגl7)0!%?1&R搴or<22rO؎t~P
-endstream
-endobj
-521 0 obj
-<< /Type /Page /Contents 522 0 R /Resources 520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-523 0 obj
-<< /D [ 521 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-524 0 obj
-<< /D [ 521 0 R /XYZ 79.752 754.884 null ] >>
-endobj
-525 0 obj
-<< /D [ 521 0 R /XYZ 79.752 743.925 null ] >>
-endobj
-526 0 obj
-<< /D [ 521 0 R /XYZ 79.752 732.966 null ] >>
-endobj
-527 0 obj
-<< /D [ 521 0 R /XYZ 79.752 702.082 null ] >>
-endobj
-528 0 obj
-<< /D [ 521 0 R /XYZ 79.752 669.205 null ] >>
-endobj
-529 0 obj
-<< /D [ 521 0 R /XYZ 79.752 658.246 null ] >>
-endobj
-530 0 obj
-<< /D [ 521 0 R /XYZ 79.752 647.288 null ] >>
-endobj
-531 0 obj
-<< /D [ 521 0 R /XYZ 79.752 636.329 null ] >>
-endobj
-532 0 obj
-<< /D [ 521 0 R /XYZ 79.752 625.37 null ] >>
-endobj
-533 0 obj
-<< /D [ 521 0 R /XYZ 79.752 614.411 null ] >>
-endobj
-534 0 obj
-<< /D [ 521 0 R /XYZ 79.752 603.452 null ] >>
-endobj
-535 0 obj
-<< /D [ 521 0 R /XYZ 79.752 592.493 null ] >>
-endobj
-536 0 obj
-<< /D [ 521 0 R /XYZ 79.752 581.534 null ] >>
-endobj
-537 0 obj
-<< /D [ 521 0 R /XYZ 79.752 570.575 null ] >>
-endobj
-21 0 obj
-<< /D [ 521 0 R /XYZ 79.37 545.121 null ] >>
-endobj
-538 0 obj
-<< /D [ 521 0 R /XYZ 79.752 438.228 null ] >>
-endobj
-540 0 obj
-<< /D [ 521 0 R /XYZ 79.752 385.426 null ] >>
-endobj
-541 0 obj
-<< /D [ 521 0 R /XYZ 79.752 296.758 null ] >>
-endobj
-542 0 obj
-<< /D [ 521 0 R /XYZ 79.752 285.799 null ] >>
-endobj
-543 0 obj
-<< /D [ 521 0 R /XYZ 79.752 244.952 null ] >>
-endobj
-544 0 obj
-<< /D [ 521 0 R /XYZ 79.752 233.993 null ] >>
-endobj
-545 0 obj
-<< /D [ 521 0 R /XYZ 79.752 181.191 null ] >>
-endobj
-546 0 obj
-<< /D [ 521 0 R /XYZ 79.752 128.389 null ] >>
-endobj
-547 0 obj
-<< /D [ 521 0 R /XYZ 79.752 117.431 null ] >>
-endobj
-520 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R /F70 300 0 R /F77 539 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-550 0 obj
-<< /Filter /FlateDecode /Length 3161 >>
-stream
-xڝZo6߿"og*~ڧmq>maȶ"K$'. EőC,Q⛇XzFZ` a7I&,5;GJ]\j*i;MNEK,E7^.<;yږ9R߯'K"4P_?Ǧ^rė#889HxuH~O"|\w]rgn^mܮygI5/!lۂE,Շ,kKQ=N4:7̍T]s'w'&blDe
-$[FU^^=kjꈷɪkˡn<2*%<55K;҈3Cmu L6NmޠML[ ڄ̭eS5Ӗ9EHݴ~$zڛ4(5z|iʼntkaλy@) zg`)AHa
-G:JTu3cZ3W5ŗy$ _0d6ьeQ팉&9auWuG `*e6PmOMMK˟qIQB9g}gPRӤLb P!"r.޶~eI;ZȌv6KS!]mVc0[breKdO*'mzdo;υԤrC&SYg>C˕H;<^)BUm+ԥ'v/1Mض-l>!(ԹJtn[&~LDq-+ I3b
-⇔d:;50ڞzDw-Hߢ(7yLfp$1۫Y "wg:Jn-dq
-mQ-BTZf"N WN9L)4!>A>rپ;l4•y
-ԗox,
-+EVCF**#R'%9ZԢEt\9D";+xlޞl["I-/46N
-
-I.#Pnv]A2 G-]^zk<d0xa+IZ R9|WgU<VQU8nzT$3a 7$if\4 1! w c
-ȢHj{ k97ci ߄kZ"i wr-%X!r#Kdѹm@Tn-I{
-YM)j1l= ~e^=}':.HDfP>{gE ?C
-Q|~i
-endstream
-endobj
-549 0 obj
-<< /Type /Page /Contents 550 0 R /Resources 548 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 201 0 R >>
-endobj
-551 0 obj
-<< /D [ 549 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-552 0 obj
-<< /D [ 549 0 R /XYZ 79.752 713.041 null ] >>
-endobj
-553 0 obj
-<< /D [ 549 0 R /XYZ 79.752 702.082 null ] >>
-endobj
-554 0 obj
-<< /D [ 549 0 R /XYZ 79.752 655.258 null ] >>
-endobj
-555 0 obj
-<< /D [ 549 0 R /XYZ 79.752 614.411 null ] >>
-endobj
-556 0 obj
-<< /D [ 549 0 R /XYZ 79.752 549.654 null ] >>
-endobj
-557 0 obj
-<< /D [ 549 0 R /XYZ 79.752 484.896 null ] >>
-endobj
-558 0 obj
-<< /D [ 549 0 R /XYZ 79.752 396.229 null ] >>
-endobj
-559 0 obj
-<< /D [ 549 0 R /XYZ 79.752 385.27 null ] >>
-endobj
-560 0 obj
-<< /D [ 549 0 R /XYZ 79.752 344.423 null ] >>
-endobj
-561 0 obj
-<< /D [ 549 0 R /XYZ 79.752 333.464 null ] >>
-endobj
-562 0 obj
-<< /D [ 549 0 R /XYZ 79.752 280.662 null ] >>
-endobj
-563 0 obj
-<< /D [ 549 0 R /XYZ 79.752 239.816 null ] >>
-endobj
-564 0 obj
-<< /D [ 549 0 R /XYZ 79.752 175.058 null ] >>
-endobj
-565 0 obj
-<< /D [ 549 0 R /XYZ 79.752 164.099 null ] >>
-endobj
-566 0 obj
-<< /D [ 549 0 R /XYZ 79.752 87.387 null ] >>
-endobj
-548 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-569 0 obj
-<< /Filter /FlateDecode /Length 2329 >>
-stream
-xڵYKϯ-`+9-$ KY jF:<=Tn "ů6lӻ,&'bJlQ6tsF+J2E7wͿxs9>o  =M{۵7Loqm料mc{rˈģ'8Y MO69A^ЄR =}`h
-O#^,߹TͣlWm|[]g'x2mZv۸g~ /Kya
-j2=*;<?fO_m`j-i _?PUI
-*:u>" t4z;l{KU6k$*WA@p|J+ATppxSi78y %g[
-q7YDçր.Eݷm}T6_v8 !&ӀEi@gY$Sé> \KA g&e̞Flae#sB7ҫhJF~W{y5Ss:rlVq<9]2ք$3~ϙ `l!h\!ti/6JzvdgG1&qj ;aǘ
-D5J;>u[`, ;!PqGl"xl!!Pt6J.Tr)$*a)M/qɂ1MK6SеN
-b:bpWyPJsb%;m pZ6#B^^㹅 ,`j՟J
-&"<u,gb`2d*i qc[VhmlV o]V,u2FQ#gO-\nw'<ƲHmD߅|.%F5Ohنm;k&a`omc):+Ra*Љ^r!LĻv`' U@LJ[c_~SŪqBVpVk:A~cW=Ŝ)>YJ;}{tRRWekڧ!KJHViNL xXUOhOy5uym!B=
-coe57Wt ;p0bփN2 ,1=;vA[U9Nhڊ?vԹ`,}dg=~XwU"v|3 3g?C{`=yn|
-.oTw;A<\O5b ҬNyΪt"v'z< 3+ErJf{?Š
-endstream
-endobj
-568 0 obj
-<< /Type /Page /Contents 569 0 R /Resources 567 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-570 0 obj
-<< /D [ 568 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-571 0 obj
-<< /D [ 568 0 R /XYZ 79.752 754.884 null ] >>
-endobj
-572 0 obj
-<< /D [ 568 0 R /XYZ 79.752 743.925 null ] >>
-endobj
-573 0 obj
-<< /D [ 568 0 R /XYZ 79.752 691.123 null ] >>
-endobj
-574 0 obj
-<< /D [ 568 0 R /XYZ 79.752 626.366 null ] >>
-endobj
-575 0 obj
-<< /D [ 568 0 R /XYZ 79.752 573.564 null ] >>
-endobj
-576 0 obj
-<< /D [ 568 0 R /XYZ 79.752 532.717 null ] >>
-endobj
-577 0 obj
-<< /D [ 568 0 R /XYZ 79.752 521.758 null ] >>
-endobj
-578 0 obj
-<< /D [ 568 0 R /XYZ 79.752 468.956 null ] >>
-endobj
-579 0 obj
-<< /D [ 568 0 R /XYZ 79.752 416.154 null ] >>
-endobj
-580 0 obj
-<< /D [ 568 0 R /XYZ 79.752 363.352 null ] >>
-endobj
-581 0 obj
-<< /D [ 568 0 R /XYZ 79.752 322.505 null ] >>
-endobj
-582 0 obj
-<< /D [ 568 0 R /XYZ 79.752 281.659 null ] >>
-endobj
-583 0 obj
-<< /D [ 568 0 R /XYZ 79.752 228.857 null ] >>
-endobj
-584 0 obj
-<< /D [ 568 0 R /XYZ 79.752 212.916 null ] >>
-endobj
-585 0 obj
-<< /D [ 568 0 R /XYZ 79.752 146.167 null ] >>
-endobj
-586 0 obj
-<< /D [ 568 0 R /XYZ 79.752 105.32 null ] >>
-endobj
-567 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-590 0 obj
-<< /Filter /FlateDecode /Length 2622 >>
-stream
-xڝZKsϯ-r'VRS9d-Q6+5ӍE2%bC  ]ݯOOt4\?1x@WlS"J'ЄnZ]] j֏Y۾̛亰uuW ADxԬeNa)'PQ!N/`ڼ,]uu
-J
-<M]m֝{P=D$"LRuM1 1Dz~%Wd˺]~unlL  eY2#ֿdwζy2 VT
-(qޜAV <&2!HboL6}S7_W~DфPt,"ʓ|mvyY6]`*B
-oP=0l[M4]ݵk$JNBSGgeiH{Ӛݻ՞O=uh FzW4+_3WUɷ f6_z.Bۡ*p}jՐhpY"E716Aȼ3X?gε$j29pnQ]x abMm$;{l> HH(,
-?~
- #ٳ]!Х>':ѡmWA.1Mc~M 25}58rOݣ\⣅BK립DLM&0lxޭj_lLE<.%ߣKM|CG`IhEHvPmG*BJ{u(EH!m[ 'ɺ˱sq.oM߀>l#7
-APK.1Fz$xj'f!,4E]`V7Get†p~]g]VTQ2Z?}/K!deZ #}X[Da"/9p,L+BKwl35dEv{]s6<A}Ha˦ C>WpWYP}ڛTf9@iY+v}/Zge?7
-8l#:,5T.
-V8Ym3ڍM-eKv!?ԍ 4Xl|'™I)k @sR
-|o I~YeMv&&RE(eQv+.bu5w )38&%Б 歚P"fMX5tA;-tdBe-5~c7Mƴfm}Vtxfo lE^xՃB9cy&,:O~Ha 0/ 3mIa 6N )ŢD{,
-Hɫ p&mSTw7JN/M&T14}#@l[{<WLE,;ܐ""pG"StgiCtyǵ7j$vx+_R+^2Xү(lZē5kJBC!.ە
-C1`屨۹ .g}?$lE;oI 
-endstream
-endobj
-589 0 obj
-<< /Type /Page /Contents 590 0 R /Resources 588 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-591 0 obj
-<< /D [ 589 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-592 0 obj
-<< /D [ 589 0 R /XYZ 79.752 743.147 null ] >>
-endobj
-593 0 obj
-<< /D [ 589 0 R /XYZ 79.752 713.788 null ] >>
-endobj
-594 0 obj
-<< /D [ 589 0 R /XYZ 79.752 702.829 null ] >>
-endobj
-595 0 obj
-<< /D [ 589 0 R /XYZ 79.752 649.56 null ] >>
-endobj
-596 0 obj
-<< /D [ 589 0 R /XYZ 79.752 609.149 null ] >>
-endobj
-597 0 obj
-<< /D [ 589 0 R /XYZ 79.752 580.693 null ] >>
-endobj
-598 0 obj
-<< /D [ 589 0 R /XYZ 79.752 529.198 null ] >>
-endobj
-599 0 obj
-<< /D [ 589 0 R /XYZ 79.752 518.24 null ] >>
-endobj
-600 0 obj
-<< /D [ 589 0 R /XYZ 79.752 454.79 null ] >>
-endobj
-601 0 obj
-<< /D [ 589 0 R /XYZ 79.752 443.831 null ] >>
-endobj
-602 0 obj
-<< /D [ 589 0 R /XYZ 79.752 432.872 null ] >>
-endobj
-603 0 obj
-<< /D [ 589 0 R /XYZ 79.752 381.377 null ] >>
-endobj
-604 0 obj
-<< /D [ 589 0 R /XYZ 79.752 352.019 null ] >>
-endobj
-605 0 obj
-<< /D [ 589 0 R /XYZ 79.752 341.06 null ] >>
-endobj
-606 0 obj
-<< /D [ 589 0 R /XYZ 79.752 330.101 null ] >>
-endobj
-607 0 obj
-<< /D [ 589 0 R /XYZ 79.752 319.142 null ] >>
-endobj
-608 0 obj
-<< /D [ 589 0 R /XYZ 79.752 308.183 null ] >>
-endobj
-609 0 obj
-<< /D [ 589 0 R /XYZ 79.752 297.224 null ] >>
-endobj
-610 0 obj
-<< /D [ 589 0 R /XYZ 79.752 255.038 null ] >>
-endobj
-611 0 obj
-<< /D [ 589 0 R /XYZ 79.752 203.544 null ] >>
-endobj
-612 0 obj
-<< /D [ 589 0 R /XYZ 79.752 192.585 null ] >>
-endobj
-613 0 obj
-<< /D [ 589 0 R /XYZ 79.752 141.09 null ] >>
-endobj
-614 0 obj
-<< /D [ 589 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-615 0 obj
-<< /D [ 589 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-588 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F69 299 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-618 0 obj
-<< /Filter /FlateDecode /Length 2823 >>
-stream
-xڵZݓ_U1 ~_%C*R {1SygkCzXū_Hߟ_}JV lu{K񊮒0%VZQ+=qn}~*JdHKcJRJrSo>ܬ%YyvsWMS?n7Y{RX
- o z{:0z¿ؕ/$saZ2%pbtr+ p؅*L&
--9Mi n;@Wվ%^vF;c;@KT0nI@U&3_tՅH8Ov RFYy2ʵ1ocyF a+ 
-/P'by.m%Q&s=o<?
-Y8TC@RrH?Eջ@)HI.
-b5t_FjHpPsnG&P#@͵ \555׃:jxb;zq`}]=cF&jlӥɢFH@;'PghP˜}!80:{-+-pl)IӐԶ'mcDdX
->GT{aP$"$B{L/!"GKv&+vY~FA|pu64yδ .ʍK VH(
-0cqp0RŘZ#ó}==zCk ڮب?2AiW0x3?a'3h=bƠ<_XoPFQי־dG0nFݫEU+>R/V2_?
-endstream
-endobj
-617 0 obj
-<< /Type /Page /Contents 618 0 R /Resources 616 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-619 0 obj
-<< /D [ 617 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-620 0 obj
-<< /D [ 617 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-621 0 obj
-<< /D [ 617 0 R /XYZ 79.752 691.811 null ] >>
-endobj
-622 0 obj
-<< /D [ 617 0 R /XYZ 79.752 680.852 null ] >>
-endobj
-623 0 obj
-<< /D [ 617 0 R /XYZ 79.752 669.894 null ] >>
-endobj
-624 0 obj
-<< /D [ 617 0 R /XYZ 79.752 658.935 null ] >>
-endobj
-625 0 obj
-<< /D [ 617 0 R /XYZ 79.752 647.976 null ] >>
-endobj
-626 0 obj
-<< /D [ 617 0 R /XYZ 79.752 637.017 null ] >>
-endobj
-627 0 obj
-<< /D [ 617 0 R /XYZ 79.752 585.659 null ] >>
-endobj
-628 0 obj
-<< /D [ 617 0 R /XYZ 79.752 534.3 null ] >>
-endobj
-629 0 obj
-<< /D [ 617 0 R /XYZ 79.752 482.942 null ] >>
-endobj
-630 0 obj
-<< /D [ 617 0 R /XYZ 79.752 471.983 null ] >>
-endobj
-631 0 obj
-<< /D [ 617 0 R /XYZ 79.752 396.715 null ] >>
-endobj
-632 0 obj
-<< /D [ 617 0 R /XYZ 79.752 385.756 null ] >>
-endobj
-633 0 obj
-<< /D [ 617 0 R /XYZ 79.752 332.646 null ] >>
-endobj
-634 0 obj
-<< /D [ 617 0 R /XYZ 79.752 267.581 null ] >>
-endobj
-635 0 obj
-<< /D [ 617 0 R /XYZ 79.752 256.622 null ] >>
-endobj
-636 0 obj
-<< /D [ 617 0 R /XYZ 79.752 169.398 null ] >>
-endobj
-637 0 obj
-<< /D [ 617 0 R /XYZ 79.752 129.995 null ] >>
-endobj
-639 0 obj
-<< /D [ 617 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-616 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F69 299 0 R /F70 300 0 R /F20 186 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-642 0 obj
-<< /Filter /FlateDecode /Length 2941 >>
-stream
-xڥZ[o~?oXo"iڢK $@S,tvpBZQ%}Y8Gr 7yIn~O;n8Ky*o|Hn؍bot$e7F<DDct[vt{VE[5uq
-8Rei, e˷b*"
-G{:_z ߏ}RTWs{U2Ec훺˾ j뾐#bG. k-R.> }ҡ=Xx{C‡e+%,ÄL{c;$VLgXHh&xMk@E _dd1Q0^%`, i]]< lW%Ba8$fN X1\MRT{~jO/Um35uBwVz(b}麡DT|;!.-juX`P0j[rPa'bI{Ž{(뚔J ?8ЩK<{i}Q[R.
- s>?.T>^UѶM,ii`qqh,4"[,+۔>,7b*u,
-.(x !>[ND-\-qE9L8C"ƣes\y9-S
-g\LwHYwEk l|7tˈS̰AH>FB"
-'_Y'P&
-8ݜ%5kQZYAf7l 1|&5|ˢk zqL.!N;%kxG;q\,Xoc{
-zӒ[󬪙S~im4Crb@jh/Jq Lmwui
-#W"ĆV័@5'7j{G[7#cx̭I8luE \`&Ӱc\h_Y gґ1
-eqA++㋄2
- W>Uj&/-=[~pѬIWSY)Qw:SZ# E?D櫮MI4]WR8$\/aCB._&C iNeh AΤ pAX/ll M(
-O9V}Fvf+s~M1 f5dM"LHIo8}[Y@Ѵ 0}ESٺk| +|',S~F= M62]weH&2.>9YqXՂ!LiT!_b9ʪ/g]58ل~r̖X@a B,8K&oL'1d(d26
-EphO+9'mo&))hWgaOk%Ltb&odZv x*KGOJq'E$]Aa۠JކZzDEnE).]Dd8hdf\8%
-p ^fx4 / lߨ8QJ(MUQ@BJe?S%#)cM󾚕[dbutc
-♖>XRS6ɕ=\̓AL^jjPzU2L%f  )/\H)5'|_Ħ֏p%O3vo"g<:Q<3HmcNx`XQ-77<Lі^zm!G gdC kRH_
-؁{i6L<9u:B%TP쫑I>O-<чŷt+~k{.j?T8%+~g
-)ddS6]W_Af`=r*8fDq5ǻaMqh1NUCGuGx1]@GTQ54[{MCr#-ldFwXnJƢox@vvsN!%qS4]y,)ʕ Męv㰐'jǣ
-endstream
-endobj
-641 0 obj
-<< /Type /Page /Contents 642 0 R /Resources 640 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-643 0 obj
-<< /D [ 641 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-645 0 obj
-<< /D [ 641 0 R /XYZ 79.752 719.019 null ] >>
-endobj
-646 0 obj
-<< /D [ 641 0 R /XYZ 79.752 708.06 null ] >>
-endobj
-647 0 obj
-<< /D [ 641 0 R /XYZ 79.752 655.258 null ] >>
-endobj
-648 0 obj
-<< /D [ 641 0 R /XYZ 79.752 566.59 null ] >>
-endobj
-649 0 obj
-<< /D [ 641 0 R /XYZ 79.752 513.788 null ] >>
-endobj
-651 0 obj
-<< /D [ 641 0 R /XYZ 79.752 392.244 null ] >>
-endobj
-652 0 obj
-<< /D [ 641 0 R /XYZ 79.752 381.285 null ] >>
-endobj
-653 0 obj
-<< /D [ 641 0 R /XYZ 79.752 326.49 null ] >>
-endobj
-654 0 obj
-<< /D [ 641 0 R /XYZ 79.752 285.644 null ] >>
-endobj
-655 0 obj
-<< /D [ 641 0 R /XYZ 79.752 274.685 null ] >>
-endobj
-656 0 obj
-<< /D [ 641 0 R /XYZ 79.752 263.726 null ] >>
-endobj
-657 0 obj
-<< /D [ 641 0 R /XYZ 79.752 252.767 null ] >>
-endobj
-658 0 obj
-<< /D [ 641 0 R /XYZ 79.752 199.965 null ] >>
-endobj
-659 0 obj
-<< /D [ 641 0 R /XYZ 79.752 189.006 null ] >>
-endobj
-660 0 obj
-<< /D [ 641 0 R /XYZ 79.752 148.159 null ] >>
-endobj
-661 0 obj
-<< /D [ 641 0 R /XYZ 79.752 95.357 null ] >>
-endobj
-662 0 obj
-<< /D [ 641 0 R /XYZ 79.752 84.398 null ] >>
-endobj
-640 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F27 638 0 R /F30 644 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F78 650 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-665 0 obj
-<< /Filter /FlateDecode /Length 3494 >>
-stream
-xڝZYs~<ZA*)*C6W)5C!ڍ=hCP#r@@_7ȯ]o?_,꫷ WL+gV\=\kђonT﨩+{, }mSj?1[l(bۗmնd0QOFӨm :ӛ7Ц{+]|4l`.[LpK6CQ/n 3&%Y(پ7ZĔ'CvF)}|lˮƅzP<IMQwlXV'c8jvC>*DŽ K g!rRTКm|B<#!43F4Y4Sp8iP
-OT|d-s[9&u6]<gFU$|B<USw̤u(dzѡfLbYsfpp) ;#a"7#׈pEUq/S }o`E-.sˁ<nc&>2ߖ}1GÙ8
-Ѱgnx+k{?6
-I H2z9 J0@n"NXPC0SW'e3^o0ƂFPR1 qtH-8Kҝb'1,HOӀd\ 4 7-Wba7 5O{@-rҐ [ٶed$ӕ Y@ҴM"Qzi!T";q 똆< !}3)9-r>P}w *rQRn~[53oT]$߄@VAz3al& wIe2_oTvo)F6e1eٕ}"bOq=jo[?'dZ*AU@6Z nOyx:
-vO=>F)F>p'@AYEf=q,KPfiRꊕ4'THӦ4Օ\1*NcpR5-gDB ˝ii:N
-|U7l}v 3t
-CP8B/<R^x,E5 X'r?v=IK>w#02,)i <_%NPg
-h
-
-L nE&<69"D*BP2^+o=m!B"EUpڇ c쏇\1N3ɮH)w!(j/ s|zHhf6{{Eoq._N;5vV\ZyqN1xqWt4" Yp*/x;0(-3e%<uEhŴO&Aeƞ3V(Xv&ՋEVitz 1&$g۔_I)wd<J 6ºHL3g'Šy$3HIaf#3gA~gLyT 5
-ܪqs*!P,2<|5pݠ:?MhH3٣C$ X"S=#OHBjiq `zTI+F\{L\)ZuPR`g&9 WMg>Ó8x:|7cxu"?s(wBZXܥabD:_kXQPJ1^ftR,\'(Zh6e]QKeCi$EKea>]`g1]ҫpIOO$K98U\d,XǨ4^ ~~->T 3 oG[hB&GU>Y/[) 9+rv)9v|-_m
-endstream
-endobj
-664 0 obj
-<< /Type /Page /Contents 665 0 R /Resources 663 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-666 0 obj
-<< /D [ 664 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-667 0 obj
-<< /D [ 664 0 R /XYZ 79.752 719.019 null ] >>
-endobj
-668 0 obj
-<< /D [ 664 0 R /XYZ 79.752 666.217 null ] >>
-endobj
-669 0 obj
-<< /D [ 664 0 R /XYZ 79.752 565.594 null ] >>
-endobj
-670 0 obj
-<< /D [ 664 0 R /XYZ 79.752 470.949 null ] >>
-endobj
-671 0 obj
-<< /D [ 664 0 R /XYZ 79.752 424.124 null ] >>
-endobj
-672 0 obj
-<< /D [ 664 0 R /XYZ 79.752 365.345 null ] >>
-endobj
-673 0 obj
-<< /D [ 664 0 R /XYZ 79.752 306.565 null ] >>
-endobj
-674 0 obj
-<< /D [ 664 0 R /XYZ 79.752 235.83 null ] >>
-endobj
-675 0 obj
-<< /D [ 664 0 R /XYZ 79.752 224.872 null ] >>
-endobj
-676 0 obj
-<< /D [ 664 0 R /XYZ 79.752 166.092 null ] >>
-endobj
-677 0 obj
-<< /D [ 664 0 R /XYZ 79.752 155.133 null ] >>
-endobj
-678 0 obj
-<< /D [ 664 0 R /XYZ 79.752 144.174 null ] >>
-endobj
-679 0 obj
-<< /D [ 664 0 R /XYZ 79.752 133.215 null ] >>
-endobj
-663 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F69 299 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F30 644 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-682 0 obj
-<< /Filter /FlateDecode /Length 3304 >>
-stream
-xڽ[K6W̑I9eJ!#qfSBRSۍEP)U{Eh!7O77ѱNX"nP@n1W7*1I9_qΣǺ,SKQ=a6Z$-/EY;F
-vY=h5@; < 5$p G2͘a˽ _ڗE^fHLwd+FSE H'sKx/"q!w￀5A
-0bxC_%̥R_<
-)E{|<X#qQ0Ev,YC+®'A\fmghk_>T >'Ɉ~w~pۺ2t[~^ _~0}LaՌ ]f@eUaV0Ɩ{V
-
-/]!+Dqi,i@ OL]qAs$NX2vD* l g8): r2#(3/lDGɥp*Ŭ2_H3ÑP?/?we>sVCb؁!}#
-tփv0
-3".;gZTO0xt:& S֪򟌥 /ގ;R=k?gC8|s2ĢCـtռaiI)ܖЛ+N(dc[<.B:{ɚ|^C֦A$.)~! P([C4
-endstream
-endobj
-681 0 obj
-<< /Type /Page /Contents 682 0 R /Resources 680 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-683 0 obj
-<< /D [ 681 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-684 0 obj
-<< /D [ 681 0 R /XYZ 79.752 755.059 null ] >>
-endobj
-685 0 obj
-<< /D [ 681 0 R /XYZ 79.752 744.1 null ] >>
-endobj
-686 0 obj
-<< /D [ 681 0 R /XYZ 79.752 733.142 null ] >>
-endobj
-687 0 obj
-<< /D [ 681 0 R /XYZ 79.752 722.183 null ] >>
-endobj
-688 0 obj
-<< /D [ 681 0 R /XYZ 79.752 711.224 null ] >>
-endobj
-689 0 obj
-<< /D [ 681 0 R /XYZ 79.752 629.235 null ] >>
-endobj
-690 0 obj
-<< /D [ 681 0 R /XYZ 79.752 583.112 null ] >>
-endobj
-691 0 obj
-<< /D [ 681 0 R /XYZ 79.752 536.989 null ] >>
-endobj
-692 0 obj
-<< /D [ 681 0 R /XYZ 79.752 526.031 null ] >>
-endobj
-693 0 obj
-<< /D [ 681 0 R /XYZ 79.752 515.072 null ] >>
-endobj
-694 0 obj
-<< /D [ 681 0 R /XYZ 79.752 504.113 null ] >>
-endobj
-695 0 obj
-<< /D [ 681 0 R /XYZ 79.752 493.154 null ] >>
-endobj
-696 0 obj
-<< /D [ 681 0 R /XYZ 79.752 482.195 null ] >>
-endobj
-697 0 obj
-<< /D [ 681 0 R /XYZ 79.752 400.206 null ] >>
-endobj
-698 0 obj
-<< /D [ 681 0 R /XYZ 79.752 354.084 null ] >>
-endobj
-699 0 obj
-<< /D [ 681 0 R /XYZ 79.752 284.05 null ] >>
-endobj
-700 0 obj
-<< /D [ 681 0 R /XYZ 79.752 249.882 null ] >>
-endobj
-701 0 obj
-<< /D [ 681 0 R /XYZ 79.752 179.849 null ] >>
-endobj
-702 0 obj
-<< /D [ 681 0 R /XYZ 79.752 168.89 null ] >>
-endobj
-703 0 obj
-<< /D [ 681 0 R /XYZ 79.752 157.931 null ] >>
-endobj
-704 0 obj
-<< /D [ 681 0 R /XYZ 79.752 123.764 null ] >>
-endobj
-705 0 obj
-<< /D [ 681 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-706 0 obj
-<< /D [ 681 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-680 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R /F30 644 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-710 0 obj
-<< /Filter /FlateDecode /Length 2621 >>
-stream
-xڵZKRWbǩԞ&Rq$ΈYlݍDPZM.ݍ]G-2itIFDH4#Ta][˗}Q۫~_\~ZdY|Y&dZT_֏eN:)Ie(ZviNIF|dBe](5RɍS_n~FPD'B,eӌLVXJiŝAT.RY40e$c(b~hjS/?֊+3Vm~ npN[!kߣ IxUՠHiۢ{^yl]|7noW$
-B`8:à!P,eCYNNu3f#L{,CY+WAw|8}[n׾7O~ge$`47w(; nU<n_> -ij$Wtڡ4*k>YI d۶*>̈́SೞIgA!~"&QYqg>bT'C%RB&Ô^D$;e:sp^+u^%I
-3Ḯ7/D뻭mܯvWͥ
-"ɕv&?`gS979ƭ j͖n)Fpe 񶐸wn P}SeTa#]ؠhJ*o Qb[1N96bށlz=
-lxy/#8ђ>'e8;tf)eݡy-Pӝ&'*Ĉ3,6(X!\
-^SL@Qo4[]5wn;Ŷ8SЖX,9NhtH*u㷌7:Xo7-Ԭ:m(޸E G-I_k)eP7KRIꫢ-p۬[H?̤mSu71E^%Cdٙ:ԂakqN p>f8AHN:C!;]K<DKa2[ z
-"3yA Y(R J4!$o65a2ԕn=O
-Y Inz4hKڙ.tZ909rsCedbP広ٸ~F?6#s~ wLN=* a(XS髥UV\4 Y31 g3*06;u+c>ySW~^)ձpx"LUIJ(` SD(ػ) Wb!piLǠF'GjDLzFWFoDO( Efr[SOcbK(D
-8؁1}P<BCh䐚7@zl8<f8E茅`&D<
-im}t5zV#hv3^gUgh}K i VF| D/lZ Df<}Ahx2b
-5p ;w?An=-1%Yhv 1߆ŗ!N 9 DG*?\p=@{H_p=aț"p&̱ie$$ٝ}m`1|яsҝim &VT,BI
-Ϧg>\F5PTj-5`d:S@*yB<IzrOfTh$1U)| 42!a;`uK;758 q0!I-3"?'Oxz |<E8N?_(wR_rstC R|d ]wA.~|l|q/çȏ7^LP#_U )|V&ƨEz1(nQo(-%f~>koy96
-endstream
-endobj
-709 0 obj
-<< /Type /Page /Contents 710 0 R /Resources 708 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-711 0 obj
-<< /D [ 709 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-712 0 obj
-<< /D [ 709 0 R /XYZ 79.752 755.391 null ] >>
-endobj
-713 0 obj
-<< /D [ 709 0 R /XYZ 79.752 710.594 null ] >>
-endobj
-714 0 obj
-<< /D [ 709 0 R /XYZ 79.752 699.635 null ] >>
-endobj
-715 0 obj
-<< /D [ 709 0 R /XYZ 79.752 654.839 null ] >>
-endobj
-716 0 obj
-<< /D [ 709 0 R /XYZ 79.752 632.467 null ] >>
-endobj
-717 0 obj
-<< /D [ 709 0 R /XYZ 79.752 621.508 null ] >>
-endobj
-718 0 obj
-<< /D [ 709 0 R /XYZ 79.752 610.549 null ] >>
-endobj
-719 0 obj
-<< /D [ 709 0 R /XYZ 79.752 599.59 null ] >>
-endobj
-720 0 obj
-<< /D [ 709 0 R /XYZ 79.752 588.631 null ] >>
-endobj
-721 0 obj
-<< /D [ 709 0 R /XYZ 79.752 577.672 null ] >>
-endobj
-722 0 obj
-<< /D [ 709 0 R /XYZ 79.752 566.714 null ] >>
-endobj
-723 0 obj
-<< /D [ 709 0 R /XYZ 79.752 520.431 null ] >>
-endobj
-724 0 obj
-<< /D [ 709 0 R /XYZ 79.752 470.671 null ] >>
-endobj
-725 0 obj
-<< /D [ 709 0 R /XYZ 79.752 420.911 null ] >>
-endobj
-727 0 obj
-<< /D [ 709 0 R /XYZ 79.752 290.594 null ] >>
-endobj
-728 0 obj
-<< /D [ 709 0 R /XYZ 79.752 279.635 null ] >>
-endobj
-729 0 obj
-<< /D [ 709 0 R /XYZ 79.752 202.05 null ] >>
-endobj
-730 0 obj
-<< /D [ 709 0 R /XYZ 79.752 191.091 null ] >>
-endobj
-731 0 obj
-<< /D [ 709 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-732 0 obj
-<< /D [ 709 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-708 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F79 726 0 R /F78 650 0 R /F27 638 0 R /F32 176 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-735 0 obj
-<< /Filter /FlateDecode /Length 2837 >>
-stream
-xڝZ[o6~ϯ00 4,bb;nPl9V\IL0"X}HDQ<s~A?\QշoYHItJ“dhFf7keQeyS޵;e;嫏?Z9%*5Z_M}dO_=8"4=C]QW\fd<OuS?Nr $FQ[[z,عO+%Yy-b`=ei|vX-p_wYY>!X6Y7-,kݲP=Y]+@΍ꚛ'rӹ'Yˇ
-
-g;Slgj渱b{EB:r!HJ\Fp#|{lR*ܲ1FNjeb'QhD
-$\qb>Ϫ6y
-QAz7wHh# =yu}h*{2m}<a
-UfZ3M:&!s#E 𑢞)F@3(pȕ=<āCwI-5wϯEx҇ MKVFNɬצ^d3pfvK0^Ql]'OyFn&F3'Ho }Q -ؗ`?FDEbYn *y  Mpڼ>3'>cጹ?V7{\bl/}ha!ss|4S`*;waGr|ҮICOc/3I ؏(] EݝOCa
-LֳjN{? \FA^#yoi^y}i( Mn.˧{f[Za f_#;Њ0[?L`>)2HT ]Jz`&& ۻܝ/^~U`nuQLDDx2*B@vx2CC Nz\HyPyN0b]5-
-aaUW vdڌHj3KU>)Z{5p@ ;_8.F4jH<Y*R i,!7 ak(۹; k&ʥ,"-mZ@k4ݡ:y\حjtxȫG ~q붫W~_ʯb/1KiPH(fЫCȕn]o0xö$"-=$gl?6hUjJ&rAmfT[W}f|8s9oFd9H[]O&okW| 8,mʢ"CĆd6^.Z[ܛr+F|Bsi4r2$ w
-u xxLP"RO>MMgL'DHR6f KWp!>ext!̓׍J$'M&b^aM9H eg8ri$Yl]ukXpz5ώUlyHF1& &}! pe)|lp1/|D'\! vm؅֢Yi0%ѳlbD<1H{K&,/[up)+Kt's92pc\ax>H\@D
-LɅaHiL|iRDf<MKqC18$>1,/ò^qf f>j_[i&,%P\zo8E$Q)&|ah++H(L4$[Vy@`|H
-{g2tl&&5ITp*%X4-H} [6_SK*߷5@FD[h
-0gTt6CR{SL5yu-{́75>leMc4O?lgNB}tw-h, dG&on
-endstream
-endobj
-734 0 obj
-<< /Type /Page /Contents 735 0 R /Resources 733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R /Annots 758 0 R >>
-endobj
-758 0 obj
-[ 707 0 R ]
-endobj
-707 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.359 734.217 383.821 746.154 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
-endobj
-736 0 obj
-<< /D [ 734 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-737 0 obj
-<< /D [ 734 0 R /XYZ 79.752 722.78 null ] >>
-endobj
-738 0 obj
-<< /D [ 734 0 R /XYZ 79.752 674.667 null ] >>
-endobj
-739 0 obj
-<< /D [ 734 0 R /XYZ 79.752 544.328 null ] >>
-endobj
-740 0 obj
-<< /D [ 734 0 R /XYZ 79.752 533.369 null ] >>
-endobj
-741 0 obj
-<< /D [ 734 0 R /XYZ 79.752 396.097 null ] >>
-endobj
-742 0 obj
-<< /D [ 734 0 R /XYZ 79.752 329.365 null ] >>
-endobj
-743 0 obj
-<< /D [ 734 0 R /XYZ 79.752 273.59 null ] >>
-endobj
-744 0 obj
-<< /D [ 734 0 R /XYZ 79.752 262.632 null ] >>
-endobj
-745 0 obj
-<< /D [ 734 0 R /XYZ 79.752 251.673 null ] >>
-endobj
-746 0 obj
-<< /D [ 734 0 R /XYZ 79.752 240.714 null ] >>
-endobj
-747 0 obj
-<< /D [ 734 0 R /XYZ 79.752 229.755 null ] >>
-endobj
-748 0 obj
-<< /D [ 734 0 R /XYZ 79.752 175.424 null ] >>
-endobj
-749 0 obj
-<< /D [ 734 0 R /XYZ 79.752 164.465 null ] >>
-endobj
-750 0 obj
-<< /D [ 734 0 R /XYZ 79.752 153.506 null ] >>
-endobj
-751 0 obj
-<< /D [ 734 0 R /XYZ 79.752 142.547 null ] >>
-endobj
-752 0 obj
-<< /D [ 734 0 R /XYZ 79.752 131.588 null ] >>
-endobj
-753 0 obj
-<< /D [ 734 0 R /XYZ 79.752 120.629 null ] >>
-endobj
-754 0 obj
-<< /D [ 734 0 R /XYZ 94.613 89.795 null ] >>
-endobj
-733 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F22 455 0 R /F68 189 0 R /F64 183 0 R /F78 650 0 R /F79 726 0 R /F32 176 0 R /F27 638 0 R /F70 300 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R /F46 756 0 R /F42 757 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-762 0 obj
-<< /Filter /FlateDecode /Length 3023 >>
-stream
-xڵZKsWj+Wb,&f+V2$\vTD۬HIY355=xH͡DOr h_`xX$$[I ALJ9[_Q,"5)ЊDnR_SX(>-Й#~ni4linҘ-+Wn$pd|C]s}: el+M`3jVuzW|'N^6K ME`[cO<TdXZ^F"6ͻUU?e훧ꤟrힲUW~sN<U[O|HֳL_: NgST|ۺ,vh{护9p$2٣)[=oMv{O;d@6_ň!؛dV/-):{sah)}ǽ}kp ¹|
-FCt7&%H竈2Dhsabp[Y {$*aDIW.塨-ꚩe7UV`.e@ )Bh%c41Xoۺkz'G{ޥ^eïC`G+"o]'^Iy5]&I {Lj}㵝m'3E S/demOr!qF#b0[?Aμ)`"q,BXHZ#F .bhƈ㨸O=mM]w<C
-]/r! !Ee |S(6kJ6zdR pLh!9B-Y}o]*u |u낌^,,D?R7,( XV]&0H*
-ʜ q
-Huk zsB;Muz_fMUwPK0;"=8m]Ku2w]6RtM ѐ|p˴$PؤR`i]n^vB6[x,
-:tNzjh9bRϔ|%zŁMLޡCڼ-j-?GL1s˒t303p8Z ?|pIIz4O xLJa_@"꿺[Exe Q$s8s_(cY>_K 8;_8tJ4ZEqI2YBC2ӛb];x/hX0@tK@S
-:+&[g,%
-{V?)hᏞ`C=y=[{Ky(]~g]
-~o95"2Yq9<+(Һ)>&x|#1nzbSN0}Plpj<S@rx
-`,$I2⫹}RSd/V"N1:0a.ŠSpiɍ,1q
- MCKxz^G4D7(?h;wFb EyUA8^9~p03g3mwu-B&LAʟЩp/;Rs*G'*q!3'ᯣRq-MUwuiS:DUrpq]ׄg88rMw2#o\kR
-/ wW)# `w߯~vw
-ˏij_p !8KH#v Km&r[G;>-%Go4e*8MƤ$f\[
-24:%hF
-endstream
-endobj
-761 0 obj
-<< /Type /Page /Contents 762 0 R /Resources 760 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R /Annots 785 0 R >>
-endobj
-785 0 obj
-[ 759 0 R ]
-endobj
-759 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.845 178.181 307.307 190.394 ]/A << /S /GoTo /D (Hfootnote.3) >> >>
-endobj
-763 0 obj
-<< /D [ 761 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-764 0 obj
-<< /D [ 761 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-765 0 obj
-<< /D [ 761 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-766 0 obj
-<< /D [ 761 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-767 0 obj
-<< /D [ 761 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-768 0 obj
-<< /D [ 761 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-769 0 obj
-<< /D [ 761 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-770 0 obj
-<< /D [ 761 0 R /XYZ 79.752 703.078 null ] >>
-endobj
-771 0 obj
-<< /D [ 761 0 R /XYZ 79.752 692.119 null ] >>
-endobj
-772 0 obj
-<< /D [ 761 0 R /XYZ 79.752 681.16 null ] >>
-endobj
-773 0 obj
-<< /D [ 761 0 R /XYZ 79.752 670.202 null ] >>
-endobj
-774 0 obj
-<< /D [ 761 0 R /XYZ 79.752 659.243 null ] >>
-endobj
-775 0 obj
-<< /D [ 761 0 R /XYZ 79.752 648.284 null ] >>
-endobj
-776 0 obj
-<< /D [ 761 0 R /XYZ 79.752 637.325 null ] >>
-endobj
-777 0 obj
-<< /D [ 761 0 R /XYZ 79.752 519.766 null ] >>
-endobj
-778 0 obj
-<< /D [ 761 0 R /XYZ 79.752 508.807 null ] >>
-endobj
-779 0 obj
-<< /D [ 761 0 R /XYZ 79.752 497.848 null ] >>
-endobj
-780 0 obj
-<< /D [ 761 0 R /XYZ 79.752 486.889 null ] >>
-endobj
-781 0 obj
-<< /D [ 761 0 R /XYZ 79.752 475.93 null ] >>
-endobj
-782 0 obj
-<< /D [ 761 0 R /XYZ 79.752 464.971 null ] >>
-endobj
-25 0 obj
-<< /D [ 761 0 R /XYZ 79.37 439.517 null ] >>
-endobj
-784 0 obj
-<< /D [ 761 0 R /XYZ 94.613 82.113 null ] >>
-endobj
-760 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F78 650 0 R /F20 186 0 R /F70 300 0 R /F67 187 0 R /F79 726 0 R /F22 455 0 R /F81 783 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-788 0 obj
-<< /Filter /FlateDecode /Length 2799 >>
-stream
-x]o}E>Sl7uOCC^(6 +K>I6~HbVP%Hpf8Lzt]:݇*ɒLRo,7p-n$I*柫_R*nu44 &<6Et{GZu;z^muf-ѶV5!ϷBh% ]>=D:0^>|݃GЕi8dz*A vʼqUݙ ҝJT<KH*GĸU0>oAH~1m}`\*t̲I O`1HWʗ"br k\Tg1܊ `9Sܾ5gNvѪqmWN
-)_iQJ`T1ȄբmͯV,2Ɩq]F2 9cc?5v~bXeN4̯GS=ye2j[ͼYDrťUI" 
-n^wvJre:Ϋ"ZIcd%N%L8?T: jo'qc 5"a+ElLQQxy'
-S?I*_?n5ؓ'c x^='>lL<Ɣa7fv{ƙH ̱5ZSv9ҼH] )B$!9:!?GD`4OI c5 p!SH9T"M'vhW2Y+
-ioGR|h!oGpP;/[Ffy׹.ц[g6l](1a.11ZZHz8%)m$Zo
-5
-`ؔWjDij:1뮨B2suEb<DE&~X̝TޫJ{<]7š;L QŨ$:\bJCdQ^1hd+U+T4BbiܙL"&RBoT-ck MX*Q>B" wl \W+nc~Ǝi"R&) X#=;W U+|獳xq>_㫀@=McH(7 a>ܰ|]X=nWqԋv~pWIuzŴCp;#dEYeݼ'z@
-JbBVMa! 3'[e=T60qNſAKIsC$ !6&ml%d;{8`IH+ LjLnrXAy?$ث2L$BMvțB&;6 wm|sSdbچk 6O
-endstream
-endobj
-787 0 obj
-<< /Type /Page /Contents 788 0 R /Resources 786 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 587 0 R >>
-endobj
-789 0 obj
-<< /D [ 787 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-790 0 obj
-<< /D [ 787 0 R /XYZ 79.752 609.429 null ] >>
-endobj
-791 0 obj
-<< /D [ 787 0 R /XYZ 79.752 593.489 null ] >>
-endobj
-792 0 obj
-<< /D [ 787 0 R /XYZ 79.752 582.53 null ] >>
-endobj
-793 0 obj
-<< /D [ 787 0 R /XYZ 79.752 527.736 null ] >>
-endobj
-794 0 obj
-<< /D [ 787 0 R /XYZ 79.752 474.934 null ] >>
-endobj
-795 0 obj
-<< /D [ 787 0 R /XYZ 79.752 463.975 null ] >>
-endobj
-796 0 obj
-<< /D [ 787 0 R /XYZ 79.752 453.016 null ] >>
-endobj
-797 0 obj
-<< /D [ 787 0 R /XYZ 79.752 442.057 null ] >>
-endobj
-798 0 obj
-<< /D [ 787 0 R /XYZ 79.752 431.098 null ] >>
-endobj
-799 0 obj
-<< /D [ 787 0 R /XYZ 79.752 420.139 null ] >>
-endobj
-800 0 obj
-<< /D [ 787 0 R /XYZ 79.752 409.18 null ] >>
-endobj
-801 0 obj
-<< /D [ 787 0 R /XYZ 79.752 368.334 null ] >>
-endobj
-802 0 obj
-<< /D [ 787 0 R /XYZ 79.752 327.487 null ] >>
-endobj
-803 0 obj
-<< /D [ 787 0 R /XYZ 79.752 286.64 null ] >>
-endobj
-804 0 obj
-<< /D [ 787 0 R /XYZ 79.752 221.883 null ] >>
-endobj
-805 0 obj
-<< /D [ 787 0 R /XYZ 79.752 133.215 null ] >>
-endobj
-806 0 obj
-<< /D [ 787 0 R /XYZ 79.752 122.256 null ] >>
-endobj
-807 0 obj
-<< /D [ 787 0 R /XYZ 79.752 111.297 null ] >>
-endobj
-808 0 obj
-<< /D [ 787 0 R /XYZ 79.752 100.339 null ] >>
-endobj
-786 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 726 0 R /F19 184 0 R /F20 186 0 R /F27 638 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-811 0 obj
-<< /Filter /FlateDecode /Length 2460 >>
-stream
-xZ[o8~"-K{``0 ŦؒGfHʢ}$JL<p_33H*f <#3eS3% ’n7 x]R9]KD_7e]r/%\#zhm@?ϊ3)l<[#}kWu]7ۢ m03۟|hU:M4%UGIY޻Dle±gl,Z
-jR#XXWRqmRx"~"<)]x64l'2ʑ6<jW25)l_a5`$FЧ3&Qx|3O)N Ҥ>FP1/2C NjEL_ؘ;-31&LinZiM0DyHNf S"I6Јzڝ_^Ғ FiŲh%.;319, c2o͝ۥ#!]KLıD1ؔw)'G\Z02ҒyMqk7PӮ"1Gl EV,DF#Ki,B_
-vYepV(ö{E\&7gɲg 8Kb#XcOaWN[z1bɛ|:Ӎ C4l3 8ۑ M eq<ugdۨo
-#+ay$;ȑ8չ# 7' GʠELfǫc;?TML1d3*A021|we]^j[wOݖ.
-">\ J=S}N[ͦv}*4N;TH%'eNf= N>rŮ+ZW~^7𰍹S[!sеއ3/7at8f'}K] LuR <*ǎ N`zLf9DAo/5[O_ILKw~-fR)ޙʩB|oҁ[573Z57euwh&{+
-lyZ~5TNoH`AQľHy ?1l.9Mi4gƩKqܗuܖ~_8nj@ń, 8[#戫u#9:QEe/nZ`pOHzA2లU@iI6ʣ5?uʄy9] U.zdѫpcp 8&F*nnWc
-hʼnaD8{h
-J0i5tζhT c/ϊ)#"Kap$CF{& x@!Z< G8P_@_6us&cp`~Ueq9EG(tbC3Ir ۣcp!'c 6`'cL!)6}X0
-'Cj—>qM,{w=zy=A6`$Ȇ"D)+,*" J% +oR?thnsX0‘nг4? ,p/Jwc~
-endstream
-endobj
-810 0 obj
-<< /Type /Page /Contents 811 0 R /Resources 809 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-812 0 obj
-<< /D [ 810 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-813 0 obj
-<< /D [ 810 0 R /XYZ 79.752 742.929 null ] >>
-endobj
-814 0 obj
-<< /D [ 810 0 R /XYZ 79.752 731.97 null ] >>
-endobj
-815 0 obj
-<< /D [ 810 0 R /XYZ 79.752 721.011 null ] >>
-endobj
-816 0 obj
-<< /D [ 810 0 R /XYZ 79.752 710.052 null ] >>
-endobj
-817 0 obj
-<< /D [ 810 0 R /XYZ 79.752 699.093 null ] >>
-endobj
-818 0 obj
-<< /D [ 810 0 R /XYZ 79.752 688.134 null ] >>
-endobj
-819 0 obj
-<< /D [ 810 0 R /XYZ 79.752 677.175 null ] >>
-endobj
-820 0 obj
-<< /D [ 810 0 R /XYZ 79.752 666.217 null ] >>
-endobj
-821 0 obj
-<< /D [ 810 0 R /XYZ 79.752 655.258 null ] >>
-endobj
-822 0 obj
-<< /D [ 810 0 R /XYZ 79.752 644.299 null ] >>
-endobj
-823 0 obj
-<< /D [ 810 0 R /XYZ 79.752 633.34 null ] >>
-endobj
-824 0 obj
-<< /D [ 810 0 R /XYZ 79.752 622.381 null ] >>
-endobj
-825 0 obj
-<< /D [ 810 0 R /XYZ 79.752 611.422 null ] >>
-endobj
-826 0 obj
-<< /D [ 810 0 R /XYZ 79.752 600.463 null ] >>
-endobj
-827 0 obj
-<< /D [ 810 0 R /XYZ 79.752 589.504 null ] >>
-endobj
-828 0 obj
-<< /D [ 810 0 R /XYZ 79.752 578.545 null ] >>
-endobj
-829 0 obj
-<< /D [ 810 0 R /XYZ 79.752 567.586 null ] >>
-endobj
-830 0 obj
-<< /D [ 810 0 R /XYZ 79.752 556.627 null ] >>
-endobj
-831 0 obj
-<< /D [ 810 0 R /XYZ 79.752 545.669 null ] >>
-endobj
-832 0 obj
-<< /D [ 810 0 R /XYZ 79.752 468.956 null ] >>
-endobj
-833 0 obj
-<< /D [ 810 0 R /XYZ 79.752 457.997 null ] >>
-endobj
-834 0 obj
-<< /D [ 810 0 R /XYZ 79.752 447.038 null ] >>
-endobj
-835 0 obj
-<< /D [ 810 0 R /XYZ 79.752 436.08 null ] >>
-endobj
-836 0 obj
-<< /D [ 810 0 R /XYZ 79.752 425.121 null ] >>
-endobj
-837 0 obj
-<< /D [ 810 0 R /XYZ 79.752 414.162 null ] >>
-endobj
-838 0 obj
-<< /D [ 810 0 R /XYZ 79.752 403.203 null ] >>
-endobj
-839 0 obj
-<< /D [ 810 0 R /XYZ 79.752 392.244 null ] >>
-endobj
-840 0 obj
-<< /D [ 810 0 R /XYZ 79.752 381.285 null ] >>
-endobj
-841 0 obj
-<< /D [ 810 0 R /XYZ 79.752 370.326 null ] >>
-endobj
-842 0 obj
-<< /D [ 810 0 R /XYZ 79.752 359.367 null ] >>
-endobj
-843 0 obj
-<< /D [ 810 0 R /XYZ 79.752 348.408 null ] >>
-endobj
-844 0 obj
-<< /D [ 810 0 R /XYZ 79.752 337.449 null ] >>
-endobj
-845 0 obj
-<< /D [ 810 0 R /XYZ 79.752 326.49 null ] >>
-endobj
-846 0 obj
-<< /D [ 810 0 R /XYZ 79.752 315.532 null ] >>
-endobj
-847 0 obj
-<< /D [ 810 0 R /XYZ 79.752 304.573 null ] >>
-endobj
-848 0 obj
-<< /D [ 810 0 R /XYZ 79.752 293.614 null ] >>
-endobj
-849 0 obj
-<< /D [ 810 0 R /XYZ 79.752 282.655 null ] >>
-endobj
-850 0 obj
-<< /D [ 810 0 R /XYZ 79.752 271.696 null ] >>
-endobj
-851 0 obj
-<< /D [ 810 0 R /XYZ 79.752 260.737 null ] >>
-endobj
-852 0 obj
-<< /D [ 810 0 R /XYZ 79.752 249.778 null ] >>
-endobj
-853 0 obj
-<< /D [ 810 0 R /XYZ 79.752 238.819 null ] >>
-endobj
-854 0 obj
-<< /D [ 810 0 R /XYZ 79.752 227.86 null ] >>
-endobj
-855 0 obj
-<< /D [ 810 0 R /XYZ 79.752 211.92 null ] >>
-endobj
-856 0 obj
-<< /D [ 810 0 R /XYZ 79.752 200.961 null ] >>
-endobj
-857 0 obj
-<< /D [ 810 0 R /XYZ 79.752 134.212 null ] >>
-endobj
-858 0 obj
-<< /D [ 810 0 R /XYZ 79.752 123.253 null ] >>
-endobj
-809 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-862 0 obj
-<< /Filter /FlateDecode /Length 2426 >>
-stream
-xڭZK8W9|? 0d`;Cm!Hr }(j[mvrdIɪ"x4ód$|||G2aIf\7 (0 c߄Շjf䟻!.%
-#y<ZIB]c̏;USEUGEwm7@蔗bwk UodcZ"&KpVEN
-ƹBJX`ܑ mq# "Xq@)c^ p0>T<j@ 7&F:K=hsmE1О;7,iZ2bVkX *.i271&&x-گ吷ޅyot>d Cm3 Z'4Q;M&ss<X?`盚We^.z/iCbډh1f+OE^=2+r
-HQ6J!JU >k+:MedBTR7tsh./ x[؇ KpdCKu1Lo]*Ka]y>sxI%'kcI84(5N~Џ>9Ŏ!:k!xv;L:'f+QI;%845KV/%Fi`AH!8ğ].U*o* R$5!j&|) XW4qBN|ɤ\T3pnOMk4&IO8y1HmK~o2~`2-Dtp$ Ϥ>"pbLfq$ʐ!B''yEi8] C437j#*ҿ#zmb8$|y *eb6:!'U"'IrP.HjN'%3tZ; ig(ķ\tv_@'1?yV N JJ"ވt ,)6Fmryn#1o+*ݱ?] -1{PaBP`"P6ݒj[ĀN
-YKIDn7y<@rpt,"<q
-D sW^T9l4V{}1~qY]7FN0~> BHf8GwԐOj;kߟ_mb(!iLh +MHl_;Mv,7w[gή{ʦO6j(kcؠ
-  ]O2
-A{0ZVJ&^
-sT!V(ߔqa aqba1&Nxw1/Z.mr#,iL3Z}(W]/-B*"00˻(evo}Df$> d=Ԝyl8]O`xduv0ޢ&i3~!-CEWiCeğw7(P
-endstream
-endobj
-861 0 obj
-<< /Type /Page /Contents 862 0 R /Resources 860 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-863 0 obj
-<< /D [ 861 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-864 0 obj
-<< /D [ 861 0 R /XYZ 79.752 742.929 null ] >>
-endobj
-865 0 obj
-<< /D [ 861 0 R /XYZ 79.752 731.97 null ] >>
-endobj
-866 0 obj
-<< /D [ 861 0 R /XYZ 79.752 721.011 null ] >>
-endobj
-867 0 obj
-<< /D [ 861 0 R /XYZ 79.752 616.403 null ] >>
-endobj
-868 0 obj
-<< /D [ 861 0 R /XYZ 79.752 605.444 null ] >>
-endobj
-869 0 obj
-<< /D [ 861 0 R /XYZ 79.752 594.486 null ] >>
-endobj
-870 0 obj
-<< /D [ 861 0 R /XYZ 79.752 583.527 null ] >>
-endobj
-871 0 obj
-<< /D [ 861 0 R /XYZ 79.752 572.568 null ] >>
-endobj
-872 0 obj
-<< /D [ 861 0 R /XYZ 79.752 561.609 null ] >>
-endobj
-873 0 obj
-<< /D [ 861 0 R /XYZ 79.752 550.65 null ] >>
-endobj
-874 0 obj
-<< /D [ 861 0 R /XYZ 79.752 539.691 null ] >>
-endobj
-875 0 obj
-<< /D [ 861 0 R /XYZ 79.752 528.732 null ] >>
-endobj
-876 0 obj
-<< /D [ 861 0 R /XYZ 79.752 517.773 null ] >>
-endobj
-877 0 obj
-<< /D [ 861 0 R /XYZ 79.752 506.814 null ] >>
-endobj
-878 0 obj
-<< /D [ 861 0 R /XYZ 79.752 495.855 null ] >>
-endobj
-879 0 obj
-<< /D [ 861 0 R /XYZ 79.752 484.896 null ] >>
-endobj
-880 0 obj
-<< /D [ 861 0 R /XYZ 79.752 473.938 null ] >>
-endobj
-881 0 obj
-<< /D [ 861 0 R /XYZ 79.752 462.979 null ] >>
-endobj
-882 0 obj
-<< /D [ 861 0 R /XYZ 79.752 452.02 null ] >>
-endobj
-883 0 obj
-<< /D [ 861 0 R /XYZ 79.752 441.061 null ] >>
-endobj
-884 0 obj
-<< /D [ 861 0 R /XYZ 79.752 430.102 null ] >>
-endobj
-885 0 obj
-<< /D [ 861 0 R /XYZ 79.752 419.143 null ] >>
-endobj
-886 0 obj
-<< /D [ 861 0 R /XYZ 79.752 408.184 null ] >>
-endobj
-887 0 obj
-<< /D [ 861 0 R /XYZ 79.752 397.225 null ] >>
-endobj
-888 0 obj
-<< /D [ 861 0 R /XYZ 79.752 386.266 null ] >>
-endobj
-889 0 obj
-<< /D [ 861 0 R /XYZ 79.752 375.307 null ] >>
-endobj
-890 0 obj
-<< /D [ 861 0 R /XYZ 79.752 364.349 null ] >>
-endobj
-891 0 obj
-<< /D [ 861 0 R /XYZ 79.752 353.39 null ] >>
-endobj
-892 0 obj
-<< /D [ 861 0 R /XYZ 79.752 342.431 null ] >>
-endobj
-893 0 obj
-<< /D [ 861 0 R /XYZ 79.752 331.472 null ] >>
-endobj
-894 0 obj
-<< /D [ 861 0 R /XYZ 79.752 320.513 null ] >>
-endobj
-895 0 obj
-<< /D [ 861 0 R /XYZ 79.752 309.554 null ] >>
-endobj
-896 0 obj
-<< /D [ 861 0 R /XYZ 79.752 298.595 null ] >>
-endobj
-897 0 obj
-<< /D [ 861 0 R /XYZ 79.752 287.636 null ] >>
-endobj
-898 0 obj
-<< /D [ 861 0 R /XYZ 79.752 276.677 null ] >>
-endobj
-899 0 obj
-<< /D [ 861 0 R /XYZ 79.752 265.718 null ] >>
-endobj
-900 0 obj
-<< /D [ 861 0 R /XYZ 79.752 254.759 null ] >>
-endobj
-901 0 obj
-<< /D [ 861 0 R /XYZ 79.752 243.801 null ] >>
-endobj
-902 0 obj
-<< /D [ 861 0 R /XYZ 79.752 232.842 null ] >>
-endobj
-903 0 obj
-<< /D [ 861 0 R /XYZ 79.752 221.883 null ] >>
-endobj
-904 0 obj
-<< /D [ 861 0 R /XYZ 79.752 210.924 null ] >>
-endobj
-905 0 obj
-<< /D [ 861 0 R /XYZ 79.752 146.167 null ] >>
-endobj
-906 0 obj
-<< /D [ 861 0 R /XYZ 79.752 135.208 null ] >>
-endobj
-907 0 obj
-<< /D [ 861 0 R /XYZ 79.752 94.361 null ] >>
-endobj
-908 0 obj
-<< /D [ 861 0 R /XYZ 79.752 83.402 null ] >>
-endobj
-860 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F81 783 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-911 0 obj
-<< /Filter /FlateDecode /Length 2558 >>
-stream
-xZK8Wx04G|Jj`
-aJ2EIl'Q4wQ`,'R<biƲr?^5Mc%M&2%4e^z&"J7oM;~YF2|WDcE Tpo"f9CИl--f@P:0'z~9O,Kfd [J$Se?Cy>َ~НnVX>V~(u٭mis JI!UY<b.-'!L!
-M WͰܬkWokScs0t\H2N)ahX/ݾ\[l?@kP<^k_f]:գwRYSw0}Y"%2Q&
-v^0P=3ea*^wA&H %
-֞eᬔE5d
-yWc U +u TΉxc7wVX^+P
-T9{V+'fR8=&ơRy?cGyٟ0Gk^Ŏ+tRe'KmSiWZ>6>O#2I uBh3픗vsEZи@Cp4B-F,!4%xm`W@o1CQ9Kg#Tgj̢m)#!4*zgmʊRXOAۻۣ6P:kP5U%vVV'%G
->-qNkCQ'mtxm{^ډ—vtZڥaiqKeqOe}p_)XƉZ_/It2B M92X eq|ڵV ?5В)y^p?fҗX+P>==5 9m*`9zF9$'b#)`LgBé`Q XmO&CwN\
-*61x
-3yamPHy(蕵UnLH^0
-FT3S?3c0 f
-endstream
-endobj
-910 0 obj
-<< /Type /Page /Contents 911 0 R /Resources 909 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-912 0 obj
-<< /D [ 910 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-913 0 obj
-<< /D [ 910 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-914 0 obj
-<< /D [ 910 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-915 0 obj
-<< /D [ 910 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-916 0 obj
-<< /D [ 910 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-917 0 obj
-<< /D [ 910 0 R /XYZ 79.752 707.063 null ] >>
-endobj
-918 0 obj
-<< /D [ 910 0 R /XYZ 79.752 696.104 null ] >>
-endobj
-919 0 obj
-<< /D [ 910 0 R /XYZ 79.752 685.146 null ] >>
-endobj
-920 0 obj
-<< /D [ 910 0 R /XYZ 79.752 674.187 null ] >>
-endobj
-921 0 obj
-<< /D [ 910 0 R /XYZ 79.752 663.228 null ] >>
-endobj
-922 0 obj
-<< /D [ 910 0 R /XYZ 79.752 652.269 null ] >>
-endobj
-923 0 obj
-<< /D [ 910 0 R /XYZ 79.752 641.31 null ] >>
-endobj
-924 0 obj
-<< /D [ 910 0 R /XYZ 79.752 630.351 null ] >>
-endobj
-925 0 obj
-<< /D [ 910 0 R /XYZ 79.752 619.392 null ] >>
-endobj
-926 0 obj
-<< /D [ 910 0 R /XYZ 79.752 608.433 null ] >>
-endobj
-927 0 obj
-<< /D [ 910 0 R /XYZ 79.752 597.474 null ] >>
-endobj
-928 0 obj
-<< /D [ 910 0 R /XYZ 79.752 544.672 null ] >>
-endobj
-929 0 obj
-<< /D [ 910 0 R /XYZ 79.752 533.713 null ] >>
-endobj
-930 0 obj
-<< /D [ 910 0 R /XYZ 79.752 522.754 null ] >>
-endobj
-931 0 obj
-<< /D [ 910 0 R /XYZ 79.752 511.796 null ] >>
-endobj
-932 0 obj
-<< /D [ 910 0 R /XYZ 79.752 500.837 null ] >>
-endobj
-933 0 obj
-<< /D [ 910 0 R /XYZ 79.752 400.214 null ] >>
-endobj
-934 0 obj
-<< /D [ 910 0 R /XYZ 79.752 389.255 null ] >>
-endobj
-935 0 obj
-<< /D [ 910 0 R /XYZ 79.752 378.296 null ] >>
-endobj
-936 0 obj
-<< /D [ 910 0 R /XYZ 79.752 367.337 null ] >>
-endobj
-937 0 obj
-<< /D [ 910 0 R /XYZ 79.752 356.378 null ] >>
-endobj
-938 0 obj
-<< /D [ 910 0 R /XYZ 79.752 345.42 null ] >>
-endobj
-939 0 obj
-<< /D [ 910 0 R /XYZ 79.752 304.573 null ] >>
-endobj
-940 0 obj
-<< /D [ 910 0 R /XYZ 79.752 293.614 null ] >>
-endobj
-941 0 obj
-<< /D [ 910 0 R /XYZ 79.752 282.655 null ] >>
-endobj
-942 0 obj
-<< /D [ 910 0 R /XYZ 79.752 271.696 null ] >>
-endobj
-943 0 obj
-<< /D [ 910 0 R /XYZ 79.752 230.849 null ] >>
-endobj
-944 0 obj
-<< /D [ 910 0 R /XYZ 79.752 219.89 null ] >>
-endobj
-945 0 obj
-<< /D [ 910 0 R /XYZ 79.752 167.088 null ] >>
-endobj
-946 0 obj
-<< /D [ 910 0 R /XYZ 79.752 156.129 null ] >>
-endobj
-947 0 obj
-<< /D [ 910 0 R /XYZ 79.752 145.17 null ] >>
-endobj
-948 0 obj
-<< /D [ 910 0 R /XYZ 79.752 134.212 null ] >>
-endobj
-949 0 obj
-<< /D [ 910 0 R /XYZ 79.752 123.253 null ] >>
-endobj
-950 0 obj
-<< /D [ 910 0 R /XYZ 79.752 112.294 null ] >>
-endobj
-909 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-953 0 obj
-<< /Filter /FlateDecode /Length 2023 >>
-stream
-xڵZKs#`j/dB~ȕ-䠓nԈS&ghPri
-b]o~9r]?gW.uWX4Y&q4cpʕQs6)QL
-ahG$UDY_/,Rǥf`mUTlۻOGJ2Hk"CN
-FM-4Q<gePg3g>xn |,15136a4k5=E+^mIᴑ`f̢I4xq$'E7%̻gKM:,}e8c'M\lwy_-nM7BCsŲv4c{{Њ'N|)89U2Ƭh!/ҟ;TG=RoŠ0!A Ɇlf/Ǜ*=W P.W1ฉB6m뱪@3H)=V~Cv>w]-'_K!e 92 }\nyU_/nEҐfh@$r|
-}EUmƁ
-kˋf
-8ü&Yf5$d!uq!N)\,N:DBv? l 6Ha5#1Q2^%E^2zL"\e*8H+P3tq*V0Z* P=y!
-R]Iᛋ68z)x(Lc9' f`vJUTҞNo]'PZbQoF&i8a1w51n7u%Xzҡ1 ^҃h8z3p~W6otz=0oB.;g8 |"Dxp=8 $X;]_AIr603x@H@h^5=:odC5:h0e`{NIg6SRma,+!ϊzJ89;u1n9w8 =͉We"[BK2\e G!{
-`@ϋv ʔ22ӱxJJ4Ks(UtVB/,.GgS(&3[-9 qg`o•q=X]5'ƴ$֥0n54^/W
-j5O[=I9^fJB]̷#K0ZEu_(%|ٍtZ#Ǿi7`>՞=6Lm٩-~B]<ʼn׆_"@P*T7]_v_n0UIf~h0s/i1 Fdn\*r
-F' YQKJA~X/KPEژZ9͏?oaNb$# շ8BFTz~c
-endstream
-endobj
-952 0 obj
-<< /Type /Page /Contents 953 0 R /Resources 951 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-954 0 obj
-<< /D [ 952 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-955 0 obj
-<< /D [ 952 0 R /XYZ 79.752 742.929 null ] >>
-endobj
-956 0 obj
-<< /D [ 952 0 R /XYZ 79.752 731.97 null ] >>
-endobj
-957 0 obj
-<< /D [ 952 0 R /XYZ 79.752 721.011 null ] >>
-endobj
-958 0 obj
-<< /D [ 952 0 R /XYZ 79.752 710.052 null ] >>
-endobj
-959 0 obj
-<< /D [ 952 0 R /XYZ 79.752 699.093 null ] >>
-endobj
-960 0 obj
-<< /D [ 952 0 R /XYZ 79.752 688.134 null ] >>
-endobj
-961 0 obj
-<< /D [ 952 0 R /XYZ 79.752 677.175 null ] >>
-endobj
-962 0 obj
-<< /D [ 952 0 R /XYZ 79.752 666.217 null ] >>
-endobj
-963 0 obj
-<< /D [ 952 0 R /XYZ 79.752 655.258 null ] >>
-endobj
-964 0 obj
-<< /D [ 952 0 R /XYZ 79.752 644.299 null ] >>
-endobj
-965 0 obj
-<< /D [ 952 0 R /XYZ 79.752 633.34 null ] >>
-endobj
-966 0 obj
-<< /D [ 952 0 R /XYZ 79.752 622.381 null ] >>
-endobj
-967 0 obj
-<< /D [ 952 0 R /XYZ 79.752 611.422 null ] >>
-endobj
-968 0 obj
-<< /D [ 952 0 R /XYZ 79.752 600.463 null ] >>
-endobj
-969 0 obj
-<< /D [ 952 0 R /XYZ 79.752 584.523 null ] >>
-endobj
-970 0 obj
-<< /D [ 952 0 R /XYZ 79.752 573.564 null ] >>
-endobj
-29 0 obj
-<< /D [ 952 0 R /XYZ 79.37 558.819 null ] >>
-endobj
-971 0 obj
-<< /D [ 952 0 R /XYZ 79.752 445.644 null ] >>
-endobj
-972 0 obj
-<< /D [ 952 0 R /XYZ 79.752 434.685 null ] >>
-endobj
-973 0 obj
-<< /D [ 952 0 R /XYZ 79.752 423.726 null ] >>
-endobj
-974 0 obj
-<< /D [ 952 0 R /XYZ 79.752 412.768 null ] >>
-endobj
-975 0 obj
-<< /D [ 952 0 R /XYZ 79.752 401.809 null ] >>
-endobj
-976 0 obj
-<< /D [ 952 0 R /XYZ 79.752 390.85 null ] >>
-endobj
-977 0 obj
-<< /D [ 952 0 R /XYZ 79.752 379.891 null ] >>
-endobj
-978 0 obj
-<< /D [ 952 0 R /XYZ 79.752 368.932 null ] >>
-endobj
-979 0 obj
-<< /D [ 952 0 R /XYZ 79.752 357.973 null ] >>
-endobj
-980 0 obj
-<< /D [ 952 0 R /XYZ 79.752 347.014 null ] >>
-endobj
-981 0 obj
-<< /D [ 952 0 R /XYZ 79.752 336.055 null ] >>
-endobj
-982 0 obj
-<< /D [ 952 0 R /XYZ 79.752 325.096 null ] >>
-endobj
-983 0 obj
-<< /D [ 952 0 R /XYZ 79.752 314.137 null ] >>
-endobj
-984 0 obj
-<< /D [ 952 0 R /XYZ 79.752 303.178 null ] >>
-endobj
-985 0 obj
-<< /D [ 952 0 R /XYZ 79.752 292.22 null ] >>
-endobj
-986 0 obj
-<< /D [ 952 0 R /XYZ 79.752 281.261 null ] >>
-endobj
-987 0 obj
-<< /D [ 952 0 R /XYZ 79.752 270.302 null ] >>
-endobj
-988 0 obj
-<< /D [ 952 0 R /XYZ 79.752 259.343 null ] >>
-endobj
-989 0 obj
-<< /D [ 952 0 R /XYZ 79.752 248.384 null ] >>
-endobj
-990 0 obj
-<< /D [ 952 0 R /XYZ 79.752 237.425 null ] >>
-endobj
-991 0 obj
-<< /D [ 952 0 R /XYZ 79.752 226.466 null ] >>
-endobj
-992 0 obj
-<< /D [ 952 0 R /XYZ 79.752 215.507 null ] >>
-endobj
-993 0 obj
-<< /D [ 952 0 R /XYZ 79.752 204.548 null ] >>
-endobj
-994 0 obj
-<< /D [ 952 0 R /XYZ 79.752 193.589 null ] >>
-endobj
-995 0 obj
-<< /D [ 952 0 R /XYZ 79.752 146.765 null ] >>
-endobj
-996 0 obj
-<< /D [ 952 0 R /XYZ 79.752 135.806 null ] >>
-endobj
-997 0 obj
-<< /D [ 952 0 R /XYZ 79.752 124.847 null ] >>
-endobj
-998 0 obj
-<< /D [ 952 0 R /XYZ 79.752 113.888 null ] >>
-endobj
-999 0 obj
-<< /D [ 952 0 R /XYZ 79.752 102.929 null ] >>
-endobj
-1000 0 obj
-<< /D [ 952 0 R /XYZ 79.752 91.971 null ] >>
-endobj
-1001 0 obj
-<< /D [ 952 0 R /XYZ 79.752 81.012 null ] >>
-endobj
-951 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R /F20 186 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1004 0 obj
-<< /Filter /FlateDecode /Length 2379 >>
-stream
-xڥZo0U5Inaȶ +K$'. I9Ȗ{$88CΞftDqߵIZ&qsǠM rf4#TnDߏ;rfICY&(aDhZ(u9%FW&i5YnfnMw?W\%?%Eյ̣
-*2iq F%+ug,8$\|*M]=7KQ=aHYr`U4yCZõH8=),%27)~*4KH9Emtk4J e=tJX"
-yQ$Tf˼ץAdX,,:y.nxqe ahjMҍeҩa/*̖2k~fVc<djIc==+HbYd\T×v믋ދN0oOOB7A|4'U&&aʎ`t>c[ gi3%5]`qpٲ~ Ga]bqQ1P.b4!߳)
-ZvbGr?&B\;tۢ=P(6 0p9I1 (Z5q;1e"
-qps=&<ՓfzI7WP(A}'/aM0__)dkDC ]BCo%C":xx㍁2J-̽yJl/ۼɡ'L"eX391˺r vDO~{̉&|ܲ`0h^ջ]ih@#F,WuY7X7[p;MrY%ޟ`ҙ
-vޫ;5to+b^zL888fͭ'[
-(L?v͓pA|BIb庝M*Hl%9ju~MD@IkUp
-(CGd< cY {-iFAsz"{ u T(s)A1b$dg@pXd-mSRiËm('C8~+7{R"wt'%(/{3w8iv/)"PA=<†xv5(sR ˵ɡrb?nNPt}/[v QIs][<T:̟j]@#ݹ@q}<|҇ġɗ6T o?dT;V\+ IMkx\Q6
-endstream
-endobj
-1003 0 obj
-<< /Type /Page /Contents 1004 0 R /Resources 1002 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1005 0 obj
-<< /D [ 1003 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1006 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-1007 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-1008 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-1009 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-1010 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-1011 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-1012 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 703.078 null ] >>
-endobj
-1013 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 692.119 null ] >>
-endobj
-1014 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 681.16 null ] >>
-endobj
-1015 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 670.202 null ] >>
-endobj
-1016 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 659.243 null ] >>
-endobj
-1017 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 648.284 null ] >>
-endobj
-1018 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 637.325 null ] >>
-endobj
-1019 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 626.366 null ] >>
-endobj
-1020 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 615.407 null ] >>
-endobj
-1021 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 604.448 null ] >>
-endobj
-33 0 obj
-<< /D [ 1003 0 R /XYZ 79.37 580.987 null ] >>
-endobj
-1022 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 486.105 null ] >>
-endobj
-1023 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 475.146 null ] >>
-endobj
-1024 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 464.187 null ] >>
-endobj
-1025 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 399.43 null ] >>
-endobj
-1026 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 334.674 null ] >>
-endobj
-1027 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 269.917 null ] >>
-endobj
-1028 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 217.116 null ] >>
-endobj
-1029 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 206.157 null ] >>
-endobj
-1030 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 165.311 null ] >>
-endobj
-1031 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 100.555 null ] >>
-endobj
-1032 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-1033 0 obj
-<< /D [ 1003 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-1002 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1036 0 obj
-<< /Filter /FlateDecode /Length 2664 >>
-stream
-xZs~Bog(~4m>3yu4˜Hb;7߻ @(Lbva0]lt;{ǿ|\s-w@lar"hFf?˻G{s+Xoe{߻N/)a,S5vd.̤$:cLQmcO7\/_/nYZ
-ys˖ϽL)j˺O,: [Qs`aQ&2ϲC(TV[l2X  j񱴝qz
-ߡ]M*ZV^C|kQ5*z~#Z"
-:-dj;xF(8a/ZBֵ,)E<g%Gdiuz
-W]ZtnTj (
- =My_K'#p|~ʹ\\{&LjAh\m5hM77]n ȄLj٬ˎPaFbygeϤuE% 7Esؕ*]F`Ǧ
-NsgnVnˬ]kdpDk
-ܳ<7H
-AVT}6B:鸞hT:w$]ڨ| q5
->‘qS
-_ٖܘ
-w_ aYIT*UTgw56@LbH"&2Z]>Qʸ bic|I"p 0?rHorV>%o"M%P&5DP4n1gڔŶrtI!0 B$k<J_xtW}Ŷ
- hd `>4G,S_x*L'Q5jr(*v5)"UI嬛DvFVvV#+5=ab z$pz\AY3>X4/e<dª0R$xUe n
-cuvs~4rV};Pζɮk}˭zH_9wꆒLx9b)7m_3/ܩQ}kѤ$7! Sۻw
-endstream
-endobj
-1035 0 obj
-<< /Type /Page /Contents 1036 0 R /Resources 1034 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1037 0 obj
-<< /D [ 1035 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1038 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 707.821 null ] >>
-endobj
-1039 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 696.862 null ] >>
-endobj
-1040 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 685.904 null ] >>
-endobj
-1041 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 674.945 null ] >>
-endobj
-1042 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 663.986 null ] >>
-endobj
-1043 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 653.027 null ] >>
-endobj
-1044 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 642.068 null ] >>
-endobj
-1045 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 566.265 null ] >>
-endobj
-1046 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 555.306 null ] >>
-endobj
-1047 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 544.347 null ] >>
-endobj
-1048 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 468.545 null ] >>
-endobj
-1049 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 457.586 null ] >>
-endobj
-1050 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 446.627 null ] >>
-endobj
-1051 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 394.734 null ] >>
-endobj
-1052 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 383.776 null ] >>
-endobj
-1053 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 319.928 null ] >>
-endobj
-1054 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 308.969 null ] >>
-endobj
-1055 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 245.121 null ] >>
-endobj
-1056 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 193.229 null ] >>
-endobj
-1057 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 182.27 null ] >>
-endobj
-1058 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 130.378 null ] >>
-endobj
-1059 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 100.555 null ] >>
-endobj
-1060 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-1061 0 obj
-<< /D [ 1035 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-1034 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1064 0 obj
-<< /Filter /FlateDecode /Length 2711 >>
-stream
-xڭZKo8%f/l/}
-v CX,e%`Vԃ#Y^bXUz\կOcfe\'/芭"CD4#Tqo7X7!Tʛ 哻- Gk{u;UY=p
- <^IbOp8"Y-M +W1@Ԁg0a,Np[/_o6rFncC|s6RProk6IU%o`4y]a@2eţ˻xtq _<w"6e(~Z*nԯeh-nWr\M~W̘6ۡohX6fB{h
-m%S({VIVwI-\ i"B6o۠Iv~/UQ0$[}U2C"h~q }:j<obϕ1T˗xn Np(O&!M,tb9Ձ9t6|ɌtQl+{
- s$EWNK3&i0F \٧6T#DP@5s <)%"oN&+&ʮ&`e'aZ.qawb
- ǭbgz[VNng8j>3~ƇW
->c*nC*:ZCI\ޖh-zAf6W3#}[7C׸&0ӎ>f8\Cn
-Z>1a /]`#7yLHxC=.=v9HApyvDm[&C)PVُ l/.Z` a[N#
-jC ]PC^NgtF};j[=NahKr-* S.y&6Td@M,7hL"C}sA9 @,21Y<ݩmjw57" s- scB3WppQѮVH0@0ʻtўs ; ,B:G@w
-; gHu3tWö*_ܩ"
-kZ0P"쏉e4x8 ܔ@8 Kb"iJݢL7}ۓ $,n}od.Wn7vb D򮐲N"48dGpўE{ȁ,:PNU~RK
-endstream
-endobj
-1063 0 obj
-<< /Type /Page /Contents 1064 0 R /Resources 1062 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1065 0 obj
-<< /D [ 1063 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1066 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 695.108 null ] >>
-endobj
-1067 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 660.239 null ] >>
-endobj
-1068 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 649.28 null ] >>
-endobj
-1069 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 584.523 null ] >>
-endobj
-1070 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 543.676 null ] >>
-endobj
-1071 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 490.874 null ] >>
-endobj
-1072 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 438.072 null ] >>
-endobj
-1073 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 427.113 null ] >>
-endobj
-1074 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 374.311 null ] >>
-endobj
-1075 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 309.554 null ] >>
-endobj
-1076 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 298.595 null ] >>
-endobj
-1077 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 245.793 null ] >>
-endobj
-1078 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 234.834 null ] >>
-endobj
-1079 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 188.01 null ] >>
-endobj
-1080 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 177.051 null ] >>
-endobj
-1081 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 130.226 null ] >>
-endobj
-1082 0 obj
-<< /D [ 1063 0 R /XYZ 79.752 89.38 null ] >>
-endobj
-1062 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F65 185 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1085 0 obj
-<< /Filter /FlateDecode /Length 2626 >>
-stream
-xZ[oܸ~ϯ;b7`ŢͶC3GFJN4CF^F)\oz;iA_]"
- ?6/wEa9rYR}^޵酗4~<*튏kv/yUݹoղ銍ݵi7En=mn;e^sm.<x[E,"j Q-*bp]SND%(Oe[/he熹laDMrޔظ{7Z|nMul=Ū`P$"78vX6]WAɨ}뛚lj;w?dc $,s9uaR"Au Rx0&9= gaM&d.&d},Y c@3Dt\jW_fiU"HukcXstF rfdYI2zyhs;ஷ>`u!6EUʾh;;
-Byxv@=d!ʝp;~/m(+Mٹ6>z`2]v L%jnֆA!_zkk#<8o@I l?n -[{ob.Y0LǓf1,SVi<Ͷ\4])S
-u+ 7#_-L^OX𯖹M =|p,6-xV<yyVAJ\4Um7-qUᒖضE_MUIg)e&oiE+ĨE 1EH
-(b ("^@?ojU7oߟf4m_V%DVV+;.kfItXCEYoQ.PqMc|~Iw<uquBY <5(M73HŒclmھO>o{ hl`ܟxLnjaHiV~HMtz^\Y!A詚 1>R
-2clݪ+/Y\yU*Va?H>y*XW}ؔ'NSԛ簛L*$y$?n2!T"HA& (Ŭ&HQbiV3?o>վX-6 Oe3Dq!,9?oR"5GꙄ"C^23\a
-[L)Cb1Y$e ,dOh $`)N2(ʅA$ߎoT,PCW4 tOMip#{qv@xDYD\2X,pU2"p!ȸwUـS8#hl0&QN8b6l<x NUnմ% q<,L chVŪ-~u=>tէri8!\<%ӷB^7yKSeQq5tG\R2NN9AӅЍiŒ#awѶƴU+}hگd2e![~jre
-}S[f7 ,`32IbyCd=? iwڌ@r
-Fa%d/efGZm< 3^&'̡%
-F %
-9'㧌ҷ`MnxM|LvsM!4S($lBhsWCe
-_]ʙU9,~J30bŰ 8HᴣW桝BEe3#>DdL;E`r-3L;E`\[F7QrnJ!n  GشEvkrVJP',}%+4z sԶM2s1g[3 D8,c|<:!RD>n- k{ainE}Dr,Sߙ$FBM;b5 UWlܙٷVPW K~8; EtZz9$~n+jP-i*6&*IN23zx+عb8!!׈85x6V]QV+$،#lWI_;{D҅J*cL9i
-Ri,xҿ?$A
-endstream
-endobj
-1084 0 obj
-<< /Type /Page /Contents 1085 0 R /Resources 1083 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1086 0 obj
-<< /D [ 1084 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1087 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 683.153 null ] >>
-endobj
-1088 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 652.269 null ] >>
-endobj
-1089 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 641.31 null ] >>
-endobj
-1090 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 630.351 null ] >>
-endobj
-1091 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 619.392 null ] >>
-endobj
-1092 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 608.433 null ] >>
-endobj
-1093 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 597.474 null ] >>
-endobj
-1094 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 586.515 null ] >>
-endobj
-1095 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 575.556 null ] >>
-endobj
-1096 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 564.598 null ] >>
-endobj
-1097 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 553.639 null ] >>
-endobj
-1098 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 542.68 null ] >>
-endobj
-1099 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 531.721 null ] >>
-endobj
-1100 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 520.762 null ] >>
-endobj
-1101 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 509.803 null ] >>
-endobj
-1102 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 498.844 null ] >>
-endobj
-1103 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 487.885 null ] >>
-endobj
-1104 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 476.926 null ] >>
-endobj
-1105 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 465.967 null ] >>
-endobj
-1106 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 455.009 null ] >>
-endobj
-1107 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 444.05 null ] >>
-endobj
-1108 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 433.091 null ] >>
-endobj
-1109 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 422.132 null ] >>
-endobj
-1110 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 411.173 null ] >>
-endobj
-1111 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 400.214 null ] >>
-endobj
-1112 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 389.255 null ] >>
-endobj
-1113 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 378.296 null ] >>
-endobj
-1114 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 367.337 null ] >>
-endobj
-1115 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 356.378 null ] >>
-endobj
-1116 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 345.42 null ] >>
-endobj
-1117 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 334.461 null ] >>
-endobj
-1118 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 323.502 null ] >>
-endobj
-1119 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 312.543 null ] >>
-endobj
-1120 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 301.584 null ] >>
-endobj
-1121 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 290.625 null ] >>
-endobj
-1122 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 279.666 null ] >>
-endobj
-1123 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 268.707 null ] >>
-endobj
-1124 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 257.748 null ] >>
-endobj
-1125 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 246.789 null ] >>
-endobj
-1126 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 191.995 null ] >>
-endobj
-1127 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 181.036 null ] >>
-endobj
-1128 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 170.077 null ] >>
-endobj
-1129 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 117.275 null ] >>
-endobj
-1130 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 106.316 null ] >>
-endobj
-1131 0 obj
-<< /D [ 1084 0 R /XYZ 79.752 95.357 null ] >>
-endobj
-1083 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1134 0 obj
-<< /Filter /FlateDecode /Length 1804 >>
-stream
-xڽZMo6WV\~ P`Q@)=u A印Jr>t{ITHd丗Њ7JxugΰOg\(Ռ#1̔FTY* ’.of]6BZJB,icƿ],Ve]\y"?s(~|pЮsuؿD]`D0P'u A5ӈpoM^wkES5[
-Z4b]aE6Ep&|_5c҂T1E"Dϴ F,I"B6cvt~Nӹ
-z,`ks1n0yѻfosW_0@D:"d'~:h#u!Ara];˪_y⌵Xzߗ6Upew3RsP*-{H," kxc!h?yc+!:1>#j[,HlOKD!#o XSĨBp$ڤngzRZ"Wb l]emϷu0-dZq&̞f^C+KSc3!3<[ͭѱP433&L"5ߥ^F)R,U\驐a7;,mX&{x־ϯ 0
-6w}^/ 殚`cA
-Ӑ*5 A |Q$}skvMٿ.j7 3)4 ^d!0TK*/~ 8 . Oq^L#aN^L#p sM j(>3C, |g *#ƽ$}G4Յ0!@Oi$ȉxjz zE}A~hcao[5‹)]ʯ}=}=g{Na]ʷ=s]%922]U6M_q ARJt)R /#p:&L= %,(B rF6ɾE
-Rb"rx1'OH"K"G8n`Dc/ajbr2P)oOJ R';&D cF S!(_X0 w$Rc(abɤn}qǝD ; O[/]QRH0˳
-endstream
-endobj
-1133 0 obj
-<< /Type /Page /Contents 1134 0 R /Resources 1132 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1135 0 obj
-<< /D [ 1133 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1136 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-1137 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-1138 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-1139 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-1140 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-1141 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-1142 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 703.078 null ] >>
-endobj
-1143 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 692.119 null ] >>
-endobj
-1144 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 637.541 null ] >>
-endobj
-1145 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 626.582 null ] >>
-endobj
-1146 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 615.623 null ] >>
-endobj
-1147 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 604.664 null ] >>
-endobj
-1148 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 593.705 null ] >>
-endobj
-1149 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 582.747 null ] >>
-endobj
-1150 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 571.788 null ] >>
-endobj
-1151 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 560.829 null ] >>
-endobj
-1152 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 549.87 null ] >>
-endobj
-1153 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 538.911 null ] >>
-endobj
-1154 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 527.952 null ] >>
-endobj
-1155 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 516.993 null ] >>
-endobj
-1156 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 506.034 null ] >>
-endobj
-1157 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 495.075 null ] >>
-endobj
-1158 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 484.116 null ] >>
-endobj
-1159 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 473.157 null ] >>
-endobj
-1160 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 462.199 null ] >>
-endobj
-1161 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 451.24 null ] >>
-endobj
-1162 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 440.281 null ] >>
-endobj
-1163 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 429.322 null ] >>
-endobj
-1164 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 418.363 null ] >>
-endobj
-1165 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 407.404 null ] >>
-endobj
-1166 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 396.445 null ] >>
-endobj
-1167 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 385.486 null ] >>
-endobj
-1168 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 374.527 null ] >>
-endobj
-1169 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 363.568 null ] >>
-endobj
-1170 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 352.61 null ] >>
-endobj
-1171 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 341.651 null ] >>
-endobj
-1172 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 330.692 null ] >>
-endobj
-1173 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 319.733 null ] >>
-endobj
-1174 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 308.774 null ] >>
-endobj
-1175 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 297.815 null ] >>
-endobj
-1176 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 286.856 null ] >>
-endobj
-1177 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 275.897 null ] >>
-endobj
-1178 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 264.938 null ] >>
-endobj
-1179 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 253.979 null ] >>
-endobj
-1180 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 243.021 null ] >>
-endobj
-1181 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 232.062 null ] >>
-endobj
-1182 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 221.103 null ] >>
-endobj
-1183 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 210.144 null ] >>
-endobj
-1184 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 199.185 null ] >>
-endobj
-1185 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 188.226 null ] >>
-endobj
-1186 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 177.267 null ] >>
-endobj
-1187 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 166.308 null ] >>
-endobj
-1188 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 155.349 null ] >>
-endobj
-1189 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 144.39 null ] >>
-endobj
-1190 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 133.431 null ] >>
-endobj
-1191 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 122.473 null ] >>
-endobj
-1192 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 111.514 null ] >>
-endobj
-1193 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 100.555 null ] >>
-endobj
-1194 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-1195 0 obj
-<< /D [ 1133 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-1132 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1198 0 obj
-<< /Filter /FlateDecode /Length 2089 >>
-stream
-xڽZ[o8~0/6P Pfnav!(6,3}II۱}/PFwl˛,\w_ͻKF i)]߾lGJ#"H
-2G׋J1bH!-U1S)36_]evd w> "ǘ x2;)`V_hOZۆwóÇvܔʴiVy[|D!XЁȾ/pM,NX^5=g4zwH["rDDjDHbS=OEf2X6eqΖEQ1k~7u\}99oSWs vpឹ,fޏܸ3_^ARho<VʴbvL҇5gpkμ ,/&Lb͑?VjqQB DYG<EK {#$믵gQU˯iv]04n"{o 8EL Eƀdl6iYOW뛩˦֓BE6yc~[(/m6g
-F>=rn6,(F@J4 qRhU] ,U_ ]\mr%[,wOyf O }aYj8SPm" dεB"̭" 1W$e8 L&.<i@Mͷyh7fnW\\p$uHNJì9C<̳bO F-1?=((A\.9H!Ú|gT i`Q5YKRM}(Y*7yY܅$L~ˈ.p#e7LLR{tmͨcC[.k"{QNW56_e:Hd E7Bov1FuA{aIna wUDž1mcROw=&"
-)0QG1{Ҵ342Eg.MvS#|ھLml  Q]Lɸ*f KY_-INw_bYnjbaʐT{4!0i6,M;sRX0.usع0+3&iJ 8c%;N&(@"r(l@ QmkሆUcl bty1CtC 5htaz1mp.=$ //võ.U*Pj{4l({M̷)M-ˆ ZV =<oLȹX*c$UZ +sNW鍉⠋X@uqu CYS QʓNiٲZsy3~T kpS,!^Te*Jmާ=vx*lMy$qG.ڻFxc\]8}a9͡$PU'|pr`5 '^xڼRE, W@AIleq&'yDdHӡ*uc0I9BcXuNY=Y;r˪mloxjP 0L N]oc?4w.z?ۚ(jcX5KP0$'n]<u^iQnF%wH \L B°*p<@tPc۫|,n$KGa#u'rNVcy_UYܾhhMiVv5*s;Ql]Ό?fppKcDH3ݬ.6>eۛ ;Qι 1۱?݆%Eo&f6xЉ˚ #SS⋝ܮ(l߿/3`jn2D~ uu$ xl胴\y(75p8rj1lS0Eֿ۫?S
-q֏Z.qOo-5(J"Be'%Jm. {
-endstream
-endobj
-1197 0 obj
-<< /Type /Page /Contents 1198 0 R /Resources 1196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-1199 0 obj
-<< /D [ 1197 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1200 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-1201 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-1202 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-1203 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-1204 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 705.071 null ] >>
-endobj
-1205 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 694.112 null ] >>
-endobj
-1206 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 683.153 null ] >>
-endobj
-1207 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 672.194 null ] >>
-endobj
-1208 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 661.235 null ] >>
-endobj
-1209 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 650.276 null ] >>
-endobj
-1210 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 639.317 null ] >>
-endobj
-1211 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 628.358 null ] >>
-endobj
-1212 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 617.4 null ] >>
-endobj
-1213 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 606.441 null ] >>
-endobj
-1214 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 595.482 null ] >>
-endobj
-1215 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 584.523 null ] >>
-endobj
-1216 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 573.564 null ] >>
-endobj
-1217 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 562.605 null ] >>
-endobj
-1218 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 551.646 null ] >>
-endobj
-1219 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 540.687 null ] >>
-endobj
-1220 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 529.728 null ] >>
-endobj
-1221 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 518.769 null ] >>
-endobj
-1222 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 507.811 null ] >>
-endobj
-1223 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 455.009 null ] >>
-endobj
-1224 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 444.05 null ] >>
-endobj
-1225 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 433.091 null ] >>
-endobj
-1226 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 422.132 null ] >>
-endobj
-1227 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 411.173 null ] >>
-endobj
-1228 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 400.214 null ] >>
-endobj
-1229 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 389.255 null ] >>
-endobj
-1230 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 378.296 null ] >>
-endobj
-1231 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 367.337 null ] >>
-endobj
-1232 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 356.378 null ] >>
-endobj
-1233 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 345.42 null ] >>
-endobj
-1234 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 334.461 null ] >>
-endobj
-1235 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 323.502 null ] >>
-endobj
-1236 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 312.543 null ] >>
-endobj
-1237 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 301.584 null ] >>
-endobj
-1238 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 290.625 null ] >>
-endobj
-1239 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 279.666 null ] >>
-endobj
-1240 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 268.707 null ] >>
-endobj
-1241 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 257.748 null ] >>
-endobj
-1242 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 246.789 null ] >>
-endobj
-1243 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 235.83 null ] >>
-endobj
-1244 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 224.872 null ] >>
-endobj
-1245 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 213.913 null ] >>
-endobj
-1246 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 202.954 null ] >>
-endobj
-1247 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 150.152 null ] >>
-endobj
-1248 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 139.193 null ] >>
-endobj
-1249 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 128.234 null ] >>
-endobj
-1250 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 117.275 null ] >>
-endobj
-1251 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 106.316 null ] >>
-endobj
-1252 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 95.357 null ] >>
-endobj
-1253 0 obj
-<< /D [ 1197 0 R /XYZ 79.752 84.398 null ] >>
-endobj
-1196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1256 0 obj
-<< /Filter /FlateDecode /Length 2020 >>
-stream
-xڽZo~_a/Nq኿
-S2__aP23""L
-g_5bLTXEEc𳇎FypB켡B4U1LY[d]fޕ7&1{MV&[ue? lMf4a6ꢪ1m;s{p6'\BXUB=݄%"yCSb~
-Nż(O_NR>?]+$s4;#J_zM$';ļjvu':lj'w=&0A^B/eqfmNͨ
-1,I V"u?j~#*s,g"f6K=xD\r˗e7!O
-X/gxhEAֹo ̄*T$`M|L`7+B96V"!Q+`*/0)`( Dc 3._ CH1iWw;L1ꏀm"{o"a2za
-+nZ>*G="E, Jh~ŨwWv</
-{{Pd%Fc[@ꖰ*;ƚr[qiL8O%mP#0XTc̐~r(9t{Ͼ#ąZl5U] N(
-endstream
-endobj
-1255 0 obj
-<< /Type /Page /Contents 1256 0 R /Resources 1254 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1257 0 obj
-<< /D [ 1255 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1258 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-1259 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-1260 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-1261 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-1262 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-1263 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-1264 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 661.365 null ] >>
-endobj
-1265 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 650.406 null ] >>
-endobj
-1266 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 639.447 null ] >>
-endobj
-1267 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 628.488 null ] >>
-endobj
-1268 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 617.529 null ] >>
-endobj
-1269 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 606.57 null ] >>
-endobj
-1270 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 595.611 null ] >>
-endobj
-1271 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 584.653 null ] >>
-endobj
-1272 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 573.694 null ] >>
-endobj
-1273 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 562.735 null ] >>
-endobj
-1274 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 551.776 null ] >>
-endobj
-1275 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 510.972 null ] >>
-endobj
-1276 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 500.013 null ] >>
-endobj
-1277 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 489.054 null ] >>
-endobj
-1278 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 478.096 null ] >>
-endobj
-1279 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 467.137 null ] >>
-endobj
-1280 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 456.178 null ] >>
-endobj
-1281 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 445.219 null ] >>
-endobj
-1282 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 434.26 null ] >>
-endobj
-1283 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 423.301 null ] >>
-endobj
-1284 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 412.342 null ] >>
-endobj
-1285 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 401.383 null ] >>
-endobj
-1286 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 390.424 null ] >>
-endobj
-1287 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 379.465 null ] >>
-endobj
-1288 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 368.507 null ] >>
-endobj
-1289 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 357.548 null ] >>
-endobj
-1290 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 346.589 null ] >>
-endobj
-1291 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 335.63 null ] >>
-endobj
-1292 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 319.733 null ] >>
-endobj
-1293 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 308.774 null ] >>
-endobj
-1294 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 297.815 null ] >>
-endobj
-1295 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 286.856 null ] >>
-endobj
-1296 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 275.897 null ] >>
-endobj
-1297 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 264.938 null ] >>
-endobj
-1298 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 253.979 null ] >>
-endobj
-1299 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 243.021 null ] >>
-endobj
-1300 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 232.062 null ] >>
-endobj
-1301 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 221.103 null ] >>
-endobj
-1302 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 210.144 null ] >>
-endobj
-1303 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 199.185 null ] >>
-endobj
-1304 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 188.226 null ] >>
-endobj
-1305 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 177.267 null ] >>
-endobj
-1306 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 166.308 null ] >>
-endobj
-1307 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 155.349 null ] >>
-endobj
-1308 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 144.39 null ] >>
-endobj
-1309 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 133.431 null ] >>
-endobj
-1310 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 122.473 null ] >>
-endobj
-1311 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 111.514 null ] >>
-endobj
-1312 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 100.555 null ] >>
-endobj
-1313 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 89.596 null ] >>
-endobj
-1314 0 obj
-<< /D [ 1255 0 R /XYZ 79.752 78.637 null ] >>
-endobj
-1254 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1318 0 obj
-<< /Filter /FlateDecode /Length 1574 >>
-stream
-xY]F}_/Y T
-Mc?|8H?DԈ+ksƎ8z<?P='3./msȳoQyUƝ ]߭6չ~7Iֱ^;=e?vƌf5lm6Il#]{JH'sn"6 uTNA@=4W[86UcKPF]׻;٥-r\R$1+#q~::MV}-w˼<XcY@pvp7I#jme
-|E`GOHIovf#5i7 зT8|٨H ^>@Yv3pKQŐޣ(-[z"C}PMFE-uNaog2>+-FݴyrGDݮ?p "a㥙^HF/"AX#7S{zF/D )b"[YF=])6<FWDE/백1B^H^`c>׽D0Է'Y`=)i*1QXhF^VZK/;?~C زj4܋;*!xoKߧjsSBsIUBS0Ӵ?ocH
-9'γٿEV
-endstream
-endobj
-1317 0 obj
-<< /Type /Page /Contents 1318 0 R /Resources 1316 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1319 0 obj
-<< /D [ 1317 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1320 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 768.832 null ] >>
-endobj
-1321 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 757.873 null ] >>
-endobj
-1322 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 746.914 null ] >>
-endobj
-1323 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 735.955 null ] >>
-endobj
-1324 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 724.996 null ] >>
-endobj
-1325 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 714.037 null ] >>
-endobj
-1326 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 703.078 null ] >>
-endobj
-1327 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 692.119 null ] >>
-endobj
-1328 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 681.16 null ] >>
-endobj
-1329 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 670.202 null ] >>
-endobj
-1330 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 659.243 null ] >>
-endobj
-1331 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 648.284 null ] >>
-endobj
-1332 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 637.325 null ] >>
-endobj
-1333 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 626.366 null ] >>
-endobj
-1334 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 615.407 null ] >>
-endobj
-1335 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 604.448 null ] >>
-endobj
-1336 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 593.489 null ] >>
-endobj
-1337 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 577.549 null ] >>
-endobj
-1338 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 566.59 null ] >>
-endobj
-1339 0 obj
-<< /D [ 1317 0 R /XYZ 79.752 555.631 null ] >>
-endobj
-1340 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-1341 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-1342 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-1343 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-1344 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-1345 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-1346 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-1347 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-1348 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-1349 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-1350 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-1351 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-1352 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-1353 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-1354 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-1355 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-1356 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-1357 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-1358 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-1359 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-1360 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-1361 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 270.7 null ] >>
-endobj
-1362 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 259.741 null ] >>
-endobj
-1363 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-1364 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-1365 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-1366 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 215.905 null ] >>
-endobj
-1367 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 204.946 null ] >>
-endobj
-1368 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 193.987 null ] >>
-endobj
-1369 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 183.028 null ] >>
-endobj
-1370 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-1371 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 161.111 null ] >>
-endobj
-1372 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-1373 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-1374 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-1375 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-1376 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-1377 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-1378 0 obj
-<< /D [ 1317 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-1316 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1381 0 obj
-<< /Filter /FlateDecode /Length 2262 >>
-stream
-xڵZ]o}ϯ0sM1@mѝK]`0#KYIN& KQ_TlE&/,P^{%g=~y0>#p^E$$j$AXn`{n,
-iA|Ļ?[kR98gE#=YvT7#_ hȣ=_Y7/|MB%"Z}!DaY3NaP 30A`7\'Țy̛>)F}kQ=;
-%5iK*S^6y -Ul?5h]HRyügxu{.0Vޜݲ8ȉ!>Zu ][ЩE
-)98D;ާNH4̅!z[3);KHj< Ά/ReEX_ni%aVJ-pөVs";!¬V[*۵B;DqY6-ˌ",
-_tN }B=Kfw[=\ddV#% y5+E^\9˳ڏx>ٜ <'IVgM.ì/qX'Jsi"ɰ]3 k}\]aCv
-;L+7."UnhwZU/i!e*LfW;W&5H
-<z ĔSÂ|\+;V)9GI/!c"  H=0.y-J ]/:WR[*žY
-q?ee#'G>44/Ceyd5\Y,.t(=,v\Cjs%@;‘a,roxm%T;Y^5Sl$R=6Hf7 kDy"e1E]~i3t螓TЯkT8}1 S
-7 zGH Gfi>R >kr `ߍuxYip >wd\Vl
-Co⺕XW`5ϼ !U5{C~GC;nRig߲>4d{HF@r񝠡"4BNl y˳5Պ
-endstream
-endobj
-1380 0 obj
-<< /Type /Page /Contents 1381 0 R /Resources 1379 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1382 0 obj
-<< /D [ 1380 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1383 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-1384 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-1385 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-1386 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-1387 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-1388 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-1389 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-1390 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-1391 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-1392 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-1393 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-1394 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-1395 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-1396 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-1397 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-1398 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-1399 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-1400 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-1401 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-1402 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-1403 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-1404 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-1405 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-1406 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 445.046 null ] >>
-endobj
-1407 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 434.087 null ] >>
-endobj
-1408 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-1409 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-1410 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 317.524 null ] >>
-endobj
-1411 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-1412 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 295.606 null ] >>
-endobj
-1413 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 230.849 null ] >>
-endobj
-1414 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 219.89 null ] >>
-endobj
-1415 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-1416 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 197.972 null ] >>
-endobj
-1417 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 187.014 null ] >>
-endobj
-1418 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 176.055 null ] >>
-endobj
-1419 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-1420 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 154.137 null ] >>
-endobj
-1421 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 143.178 null ] >>
-endobj
-1422 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-1423 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 121.26 null ] >>
-endobj
-1424 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 110.301 null ] >>
-endobj
-1425 0 obj
-<< /D [ 1380 0 R /XYZ 81.077 99.342 null ] >>
-endobj
-1379 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1428 0 obj
-<< /Filter /FlateDecode /Length 2000 >>
-stream
-xZn6}߯0h\@E tPleWXYr%yi"Q{E{o}bK<g4fgh]|(A]^?Y&D`@.7?aʞ열׿nۼ*ߗ?Azl`roY\%6\p -cCCT8tm,(!t eJm({ݑ4ikjб6
-X08F:`6!CuNe.oXOϟN1PCev,}Z#l>hp_. ~oumUB%@Z7zr!tYgVn8oiHbq{6:mOPG5$SczaCd%@&9,.b:v(W]=V!vMvve=*cpA曷??>d ܛo;uB‰Ә ul3^MR}v> !ŬO:, m>qڞ /G-P.znؼ-M$T"mڋUU8+Zk _f[,eٶO*
-{<Z:C?@kM\۬[
-Gળvy3
-$ bq~dmG󕇺řt}P<N].>SMt)Kz&o ͼ'E0҂Έ
-]a)SJTT(1jdM&_}g GC2U1zB]֦}w)H#%!@K8T?>>X{t_Rz8N@
-+yqI?@7(&F}paKzۙ:+ߡ9B7.]nちmuU? 7qsUޟ[eTۭ) .#aKv-.F[\m1:<D;S[zJi|]T:x8pYfh C
-
-{ĝE"}McyΓ}KJb!8qC%&$Ӹ 7nܛ9-h!%Q&D xd\u_uUC 9o}C@;˓! mW i!}7Z?|(M1N;M;!rckLcۿkլX4uK/!tן۴}31AT{hOpm̧Ү)}]W=VߵZ̝VK$9~\u?h2TlqEw UEWa=K}jqm
-c)
-hGtpaE
-O$.c11e=1˘y]ݜ3 lIe70M`|9~ă L03;t
-Пц v$
-endstream
-endobj
-1427 0 obj
-<< /Type /Page /Contents 1428 0 R /Resources 1426 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1429 0 obj
-<< /D [ 1427 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1430 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-1431 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-1432 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-1433 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-1434 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-1435 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-1436 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-1437 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-1438 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-1439 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-1440 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-1441 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-1442 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-1443 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-1444 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-1445 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-1446 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-1447 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-1448 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-1449 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-1450 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-1451 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-1452 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-1453 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-1454 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-1455 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-1456 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-1457 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-1458 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-1459 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-1460 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-1461 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-1462 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 270.7 null ] >>
-endobj
-1463 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 259.741 null ] >>
-endobj
-1464 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-1465 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-1466 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-1467 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-1468 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-1469 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-1470 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-1471 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-1472 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-1473 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 145.17 null ] >>
-endobj
-1474 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 134.212 null ] >>
-endobj
-1475 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 123.253 null ] >>
-endobj
-1476 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 112.294 null ] >>
-endobj
-1477 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 101.335 null ] >>
-endobj
-1478 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 90.376 null ] >>
-endobj
-1479 0 obj
-<< /D [ 1427 0 R /XYZ 81.077 79.417 null ] >>
-endobj
-1426 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1482 0 obj
-<< /Filter /FlateDecode /Length 2198 >>
-stream
-xZ[o8~00/20ay`tl CD,y$l=$%Y]t/,#wxE³wG$/7o޾jƑV)$g$K2xfߛ
-i) (fGW+AEV:.ܟ#aiUUwzΟy[fwI4`%( BiD8)0JCTYϟ[![L*ʋ*Dyx>3 
-$ֈ3hb 2/<ͽ=ujoeMVVyȨNwݑѧ9cX
-p Mnqds -#g~:]8GBkq6iQZp%c<dk0ɕge`y^MdWksF]IwӤnܭ]YnSKetc5I2+/Կ'y!,Fz/8_qƣ,irO(/!z"G#XhC;m,[a*,P&go<3 C/ Yn{^9kql~+}+-Fh#,s#v []7LD8h!<p!>'.]TJף%1tLHS݋KIi;1Ӷ_bPg^ܧ<,uЍ KFԖ{/sп3f6
-endstream
-endobj
-1481 0 obj
-<< /Type /Page /Contents 1482 0 R /Resources 1480 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1483 0 obj
-<< /D [ 1481 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1484 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-1485 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-1486 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-1487 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-1488 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 680.046 null ] >>
-endobj
-1489 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 669.087 null ] >>
-endobj
-1490 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 626.577 null ] >>
-endobj
-1491 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 615.618 null ] >>
-endobj
-1492 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 604.659 null ] >>
-endobj
-1493 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 593.7 null ] >>
-endobj
-1494 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 582.741 null ] >>
-endobj
-1495 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 571.782 null ] >>
-endobj
-1496 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 560.824 null ] >>
-endobj
-1497 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 549.865 null ] >>
-endobj
-1498 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 538.906 null ] >>
-endobj
-1499 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 527.947 null ] >>
-endobj
-1500 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 516.988 null ] >>
-endobj
-1501 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 506.029 null ] >>
-endobj
-1502 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 495.07 null ] >>
-endobj
-1503 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 484.111 null ] >>
-endobj
-1504 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 473.152 null ] >>
-endobj
-1505 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 462.193 null ] >>
-endobj
-1506 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 451.235 null ] >>
-endobj
-1507 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 440.276 null ] >>
-endobj
-1508 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 429.317 null ] >>
-endobj
-1509 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 332.552 null ] >>
-endobj
-1510 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 321.594 null ] >>
-endobj
-1511 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 310.635 null ] >>
-endobj
-1512 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 299.676 null ] >>
-endobj
-1513 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 288.717 null ] >>
-endobj
-1514 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 277.758 null ] >>
-endobj
-1515 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 266.799 null ] >>
-endobj
-1516 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 255.84 null ] >>
-endobj
-1517 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 244.881 null ] >>
-endobj
-1518 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 233.922 null ] >>
-endobj
-1519 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 222.963 null ] >>
-endobj
-37 0 obj
-<< /D [ 1481 0 R /XYZ 79.37 198.167 null ] >>
-endobj
-1520 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-1521 0 obj
-<< /D [ 1481 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-1480 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R /F70 300 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1524 0 obj
-<< /Filter /FlateDecode /Length 2346 >>
-stream
-xڭZ[o~_:" ](Phn!hlVHYYL9$ubvflSȏ~d*[) leQL'
-]|+J2EW\ϟ뢼mW步XCEsUW<c/WLq=~SW5{?nU_a+W,_ >$}z< M 'KSrDX}lsw~.OG oRTx 45,yq\a
-mC^@({?߈^ b4lO+(B(3@0W
-qqQ?=4t+ 3ꗥwFUM_Qx|Q4A2#"ƥp11թ>qIA<Iy9>gt~]Ե
-޵z? P-ڵI̳68rŇDد{vK5,J:c=Ζ˽=} KQ:JH>%ºP7@9۪Ƞ
-2-g=QSDNnʛN=܎.T4즹in_yp6
-`I
-|‹ J g2F/d;ҡGYW΍ٝ{nx]k`TYP@bt,; Ccpha\<vmomno RzT=3Z<PUz̪⿶k7q]Y}N&G4VUU:]0&\O0qKKnLE!~/|a0#t8|B$^h-FOA]MhsIdt9}헲ۮJSmCwշk|7)RH1um4=G-9z &KvtMC$1r,1JN#QƗ1UbDqBH8\`a㿅gx+}r]Oa^{}3e"Ae
-MR(<@fs r*3o{ɇo44>Y#H>R*RI|ez.&F<5"trNjƼcDR)/eLWL^{9Nz
-%=o24^sҼ)yiqE45;3[6&=%Qvz8$1H "$fW'֏>|vc;0bxk{|{c_.U"@LJ>I2NA69/~,%/D_N޾c/v- `ʒeBOCsh/K4r´EԼGhftרT࢓9u:9uP!QiNo{jmIJ 8"~$YMӰQ~D/ ->um:ڟl;v{z]6 T jOE
-q>DZi ,7txfstr5иqgf%w;ێ2xoP)GX$
-endstream
-endobj
-1523 0 obj
-<< /Type /Page /Contents 1524 0 R /Resources 1522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1525 0 obj
-<< /D [ 1523 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1526 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-1527 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 702.082 null ] >>
-endobj
-1528 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-1529 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 620.388 null ] >>
-endobj
-1530 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 609.429 null ] >>
-endobj
-1531 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-1532 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-1533 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-1534 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-1535 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-1536 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-1537 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-1538 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-1539 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-1540 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-1541 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-1542 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-1543 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-1544 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-1545 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-1546 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-1547 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-1548 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-1549 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-1550 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-1551 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-1552 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-1553 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-1554 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-1555 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-1556 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-1557 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-1558 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-1559 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-1560 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-1561 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-1562 0 obj
-<< /D [ 1523 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-1522 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1565 0 obj
-<< /Filter /FlateDecode /Length 2078 >>
-stream
-xZ[۸~ϯ , h<,[bK^Yd:Lcm_b>;<3N~~Gߟ#'95rr :aa&F3B5o'?\dtl6͌sUmlٿ rznAfRKʄx.ǢmEγUHCټ7v寪v>.fu>m2sK&'2%D<֟&Uw3Mwig~Ȝ0OI*İ.\|/")Q"]j|l.rJr.Sh ڝsTY
-
-[m!<ꮀsXt_O88b1ڑXUb]a[E(o+ʺŦwN|'[4:wA&A,+<GW&Vχ[{;Z 1.F_.S9TN֏jZ&2Ț:8"1z ڭ>v kUW5uSʵSSt9 3QeӴ.;<!3}A!Dz[Ysq| τˇroj\C`'^s
-9渣lrNt1+Ww]7+[nr18tܘ$<D~fn X s11(ʔ4~o8Ldq,AU C<$ Pxb{T pn34jɵ?2֮jBf鲭]ܵts+cTH1`\[R`ߟc-+X(&+P}SXy3Y\}jSՃ'*`Ш96e7v[+r)dco?7gE/ɎS\:
-9"aa^s+
-HgA)>/@ۭjY̯!F~%ʻD8mMn•Wxi(8I]N\*ǺBc7 a(Yq
-WR'ttE}YQ_UD@ VpNbաџ҉RnONb-:9e{}#u75 İA@3Bg19!.\&,Mm 7ww;!_qhQDtS^)A࿮5o;P‚)G[35PH!A6Z%Co=
-(S؛jTxjԣRzhaR)FԡɐS$o @8@qƋ[R^j7wq)݇v %ՄE AUrh3#Pi3Axr=
-endstream
-endobj
-1564 0 obj
-<< /Type /Page /Contents 1565 0 R /Resources 1563 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1566 0 obj
-<< /D [ 1564 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1567 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-1568 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-1569 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-1570 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-1571 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-1572 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-1573 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-1574 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-1575 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-1576 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-1577 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-1578 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-1579 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-1580 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-1581 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-1582 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-1583 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-1584 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-1585 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-1586 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 449.114 null ] >>
-endobj
-1587 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 438.155 null ] >>
-endobj
-1588 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 427.196 null ] >>
-endobj
-1589 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 416.237 null ] >>
-endobj
-1590 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 405.278 null ] >>
-endobj
-1591 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 394.319 null ] >>
-endobj
-1592 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 383.36 null ] >>
-endobj
-1593 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 372.401 null ] >>
-endobj
-1594 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 361.443 null ] >>
-endobj
-1595 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 350.484 null ] >>
-endobj
-1596 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 339.525 null ] >>
-endobj
-1597 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 328.566 null ] >>
-endobj
-1598 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 317.607 null ] >>
-endobj
-1599 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 306.648 null ] >>
-endobj
-1600 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 295.689 null ] >>
-endobj
-1601 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 284.73 null ] >>
-endobj
-1602 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 273.771 null ] >>
-endobj
-1603 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 257.831 null ] >>
-endobj
-1604 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 246.872 null ] >>
-endobj
-1605 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 235.913 null ] >>
-endobj
-1606 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 224.954 null ] >>
-endobj
-1607 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 213.995 null ] >>
-endobj
-1608 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 203.037 null ] >>
-endobj
-1609 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 192.078 null ] >>
-endobj
-1610 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 181.119 null ] >>
-endobj
-1611 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 170.16 null ] >>
-endobj
-1612 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 159.201 null ] >>
-endobj
-1613 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 148.242 null ] >>
-endobj
-1614 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 137.283 null ] >>
-endobj
-1615 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 126.324 null ] >>
-endobj
-1616 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 115.365 null ] >>
-endobj
-1617 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 104.406 null ] >>
-endobj
-1618 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 93.447 null ] >>
-endobj
-1619 0 obj
-<< /D [ 1564 0 R /XYZ 81.077 82.489 null ] >>
-endobj
-1563 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F27 638 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1622 0 obj
-<< /Filter /FlateDecode /Length 2041 >>
-stream
-xڵZKo6WmedS@0 v>ag!l[;j!cO)E2˨E#*֓ͯt~e^|s/iDL$a<%)6YMoxJ/w&':MEYП߶j.?*o[9`5E Sc8j!RTw նϸ}t;
-p?\]/#ʮ
-Sށ1]@R2F5$ay2`CQs>
-vgѫ}"e)5>C95 z7uEU]hn١-8Qһf8hN~h
-W8M~k%uZ>)iH2`mC"/* l-f%*z@adʺdW$cw54f@X!OھqlڭcN`΄W)VKLTpz`}5'Iq5{E v;X q~9) >c? eQa-BfV%r*D ju}|tБ"(t̥$7B] 0W 9Bc۔˭)XաħLι// ] qu^v93-I>oH
-"=Dr,72q5i0)* *pR[v2<Tw;FE֘%F)M9}OwO=Vv]iEfo
-3́lz_,>%Oo)/am0s3} uOkotc&<]K+BOtSr_hK'ՖGt)s+ZiYFZLgI^ϸ?GX m@d(,cȿ k6yͿgV<b)db`#@H©
-E싫X}hxj40N;Sf!8ٓ!ACD,nB$
-85Xb? ;wʝu14˟KC_-A?R΋gJt* %0
-endstream
-endobj
-1621 0 obj
-<< /Type /Page /Contents 1622 0 R /Resources 1620 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1623 0 obj
-<< /D [ 1621 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1624 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-1625 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-1626 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-1627 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-1628 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-1629 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-1630 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-1631 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-1632 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-1633 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 665.805 null ] >>
-endobj
-1634 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 654.846 null ] >>
-endobj
-1635 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 643.887 null ] >>
-endobj
-1636 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 632.928 null ] >>
-endobj
-1637 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 621.969 null ] >>
-endobj
-1638 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 611.01 null ] >>
-endobj
-1639 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 600.052 null ] >>
-endobj
-1640 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 589.093 null ] >>
-endobj
-1641 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 578.134 null ] >>
-endobj
-1642 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 567.175 null ] >>
-endobj
-1643 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 556.216 null ] >>
-endobj
-1644 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 545.257 null ] >>
-endobj
-1645 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 534.298 null ] >>
-endobj
-1646 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 523.339 null ] >>
-endobj
-1647 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 512.38 null ] >>
-endobj
-1648 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 501.421 null ] >>
-endobj
-1649 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 490.463 null ] >>
-endobj
-1650 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 479.504 null ] >>
-endobj
-1651 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 468.545 null ] >>
-endobj
-1652 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 457.586 null ] >>
-endobj
-1653 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 446.627 null ] >>
-endobj
-1654 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 431.271 null ] >>
-endobj
-1655 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 420.313 null ] >>
-endobj
-1656 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 390.305 null ] >>
-endobj
-1657 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 379.347 null ] >>
-endobj
-1658 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 368.388 null ] >>
-endobj
-1659 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 357.429 null ] >>
-endobj
-1660 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 342.073 null ] >>
-endobj
-1661 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 331.114 null ] >>
-endobj
-1662 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 289.152 null ] >>
-endobj
-1663 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 278.193 null ] >>
-endobj
-1664 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 267.234 null ] >>
-endobj
-1665 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 251.879 null ] >>
-endobj
-1666 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 240.92 null ] >>
-endobj
-1667 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 229.961 null ] >>
-endobj
-1668 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 219.002 null ] >>
-endobj
-1669 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 177.04 null ] >>
-endobj
-1670 0 obj
-<< /D [ 1621 0 R /XYZ 81.077 148.733 null ] >>
-endobj
-1620 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R /F77 539 0 R /F78 650 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1673 0 obj
-<< /Filter /FlateDecode /Length 2692 >>
-stream
-xڭZߏ۸~_oYFMECӢ({wnbk5Jr6{Ao )Ѣ'i^lҧg\=^%W{tMR* )J+JEW?/^]3xffh W0~Mn`]<$\٢:oz_;}p$s|s)7-|m\(.~8.;-- sw|l:Y l]׿c<{(76_۲X{{#y9 Ha)1=d=o}tT`nӟXUlhq@`;sK a@ȡCWQMi-LO`$ B%
-/|;&|LVI%_QlR_I78Su6ECtC!T(XQn GWX>M0=BkUY*[%f/I]n*4Mԡ 8. ] 볞 L2vk
- \#)'9V/yFyBKC0gf)Iґ,I"U/ev;+f,w& Aᓰ@qkE "Q\ܪ=:ˆh]MٸÎ \iU,uSCDBGRs]3F@[)39N8~^\S&N6OƼ4pb"XvEf[w@~!K݊yR<
-0p5R@3Rhc d|Qr*y3,up0!wrxg 6;[F6r1 wP9o5@#*wX@aTmeG(*?CQ@j(| E[7NK E#8w(,a]T9uUz^!$r]#MCy}.}0@5&5]_\R#Ŝ59q޻ x7ɟI?g)d1P OKi)G
-AURmw~q*-/ [}R!dv/?m]uvѡ<NY;0E̍8s2
-G`CihG,]ѕn:i$k<TTz{
- l_D ٧ (2T?4nCgqre>oPY} .후^ 3!d ^D9}bs6 `Um9tpb{l ݎnYv:_xCYt=ۙl$Jv+k Bmˣz]C]]0
-'_Q<?6""CQ߳|Fݩ*HTAE
-x!b1/_w!@EֿR
-Mq k\ϼ TO]p[kNߺn v_;/͛|v|H͗τi
-h=1%0?]$[J|_=m k $yn[ůU\+|Qw<Lޑ2MCFRh͇|5'hta)hU51&
-} 7!:{h<X 77jQҴϻ䏱ꦌh+5qi "BpT5oĀ EYoM~MpngݎJpsꭅqe?^|qzGLjpzQ
-endstream
-endobj
-1672 0 obj
-<< /Type /Page /Contents 1673 0 R /Resources 1671 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1674 0 obj
-<< /D [ 1672 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1675 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 596.435 null ] >>
-endobj
-1676 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 585.476 null ] >>
-endobj
-1677 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 574.517 null ] >>
-endobj
-1678 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 563.558 null ] >>
-endobj
-1679 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 552.599 null ] >>
-endobj
-1680 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 541.64 null ] >>
-endobj
-1681 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 530.681 null ] >>
-endobj
-1682 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 519.722 null ] >>
-endobj
-1683 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 508.763 null ] >>
-endobj
-1684 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 497.804 null ] >>
-endobj
-1685 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 486.846 null ] >>
-endobj
-1686 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 475.887 null ] >>
-endobj
-1687 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 464.928 null ] >>
-endobj
-1688 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 453.969 null ] >>
-endobj
-1689 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 443.01 null ] >>
-endobj
-1690 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 401.308 null ] >>
-endobj
-1691 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 390.349 null ] >>
-endobj
-1692 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 379.39 null ] >>
-endobj
-1693 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 368.431 null ] >>
-endobj
-1694 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 357.472 null ] >>
-endobj
-1695 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 305.644 null ] >>
-endobj
-1696 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 294.686 null ] >>
-endobj
-1697 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 283.727 null ] >>
-endobj
-1698 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 272.768 null ] >>
-endobj
-1699 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 261.809 null ] >>
-endobj
-1700 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 250.85 null ] >>
-endobj
-1701 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 239.891 null ] >>
-endobj
-1702 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 228.932 null ] >>
-endobj
-1703 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 217.973 null ] >>
-endobj
-1704 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 207.014 null ] >>
-endobj
-1705 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 196.055 null ] >>
-endobj
-1706 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 185.097 null ] >>
-endobj
-1707 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 174.138 null ] >>
-endobj
-1708 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 163.179 null ] >>
-endobj
-1709 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-1710 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-1711 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-1712 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-1713 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-1714 0 obj
-<< /D [ 1672 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-1671 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F78 650 0 R /F20 186 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1717 0 obj
-<< /Filter /FlateDecode /Length 2051 >>
-stream
-xY[o6~ϯ0u1%Om-y
-Α<i<Bhye)<N)a2vI_N?"3ygIOhէK`1=/Ι/wp\֥'|')3Ҿ3D?-;D$/W+Ou OdZeqmxyv1%$7)NHd,f9EB8L::YYO"5|(呱Cbk+'v&
-MT})%|WҤm>7+t#S5N!ߤc<P$)[Te8f8_;AuCc@z)Һj1ƁM70R/۬[qd5zB
-x3E$d7_Zc (Kҽ\ŝɶ[^^rE^r' #1/az8ax)W)+tE\/
-. ffj62ܓyl' ,p?P(epWRa`5"uuO
-LɊ
-wݫYp I(4IcDžMm.]VɌfHa& yN_K)1T)`NJлzc{ɚZt2#! 7>;41L>(\fU)Hyp~X%&Jo>e +k}U^EÁ.ee{-;@xBʅυ1&.rWeֶ*+t{<,@i="%=ԛϨ ܃ŧmR/ 4wmmv8+_;ݳ%o_u]p.捯Cݶv3跮֫n>&8J"S|,t!F1GdT4LSBMiBtz-JܧUY"U}EB!HXfu҆!jNZB!H\nK "t#i;0D8{y%*:ynIxR`Ր01G2")!_Q] 12u
-endstream
-endobj
-1716 0 obj
-<< /Type /Page /Contents 1717 0 R /Resources 1715 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1315 0 R >>
-endobj
-1718 0 obj
-<< /D [ 1716 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1719 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-1720 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-1721 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-1722 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-1723 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-1724 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-1725 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-1726 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-1727 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-1728 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-1729 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-1730 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-1731 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 563.601 null ] >>
-endobj
-1732 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 552.642 null ] >>
-endobj
-1733 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 541.684 null ] >>
-endobj
-1734 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-1735 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-1736 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-1737 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-1738 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 486.889 null ] >>
-endobj
-1739 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 475.93 null ] >>
-endobj
-1740 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 464.971 null ] >>
-endobj
-1741 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-1742 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-1743 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-1744 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-1745 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 362.356 null ] >>
-endobj
-1746 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 351.397 null ] >>
-endobj
-1747 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 340.438 null ] >>
-endobj
-1748 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 329.479 null ] >>
-endobj
-1749 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 318.52 null ] >>
-endobj
-1750 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 307.561 null ] >>
-endobj
-1751 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 296.603 null ] >>
-endobj
-1752 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-1753 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-1754 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-1755 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-1756 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-1757 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-1758 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-1759 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-1760 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-1761 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-1762 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 146.167 null ] >>
-endobj
-1763 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-1764 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-1765 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-1766 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-1767 0 obj
-<< /D [ 1716 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-1715 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F77 539 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1770 0 obj
-<< /Filter /FlateDecode /Length 4647 >>
-stream
-x\moF>B@ M nn @%E" o5`@&]<]]]If32yoi9+R1%f7w(\ 3:eL+ZEg7\>Cu+f͛~y򸭚ߴkzvKP&͏kwW k޴O^?ՍʰyNZ7Eq#`Vef( c5P
-]PXK x@Y ʔТ򏔋۶.o˶nou-˗_oOS\W᪠RD020\侙,h)c沾)4/smKǪ_=,v]/!zn&EEn@E ϛCm~kn | p,5m_I]8f ׬X?'#`xti'JVp#o:L1{t>]ύM}j5|d^uO$]rrnmi]UU`y!XY*vc4{Zلlc 9 HQhQ5Uk'Tﭓm/BRkg%U{}t׊@m?IN@q#>Y$^鞸.4Dt=)=MHC,WJUL{Z֯
-W Pstk5U;`0xt|vš P,Nk$6Aݦq Zw]&!'SfڙmgŽM^Ua
-LjC,eAwYêݶݟz! D#fЙ#Yo2C* jUTha5[2޿ .@@9(gϳwYZlm1[J~/C_fΒ#+Bhf C6{'隇>8da!1%͗_J@h0n/I
-7zb^r@$Y2#CQH2 cgSj< n F1a0B"Ps!M۰LDAKCМCDGTBz fd*Iv#0
-=
-R2xYP6.q3=8L%I" =h*"=bBcYr>c ; ,`AY$ps:&
--AHrb:*R
- LB
-Z - `A. I3d s}͂Bܗs^I&ZujFLK[k;]%i]SS]4(q]z(UDqh0ΥA0j*YQ@GDŽec6$-p*ԌBq%$A i%ӌn(S-&Pؕl;&uXl -.%,Y3(¨LEIK=d,MbZs!B̽hq
-) &T%$ P8v1 1o-TF(bH:8*:m+Qf̀ÕΚIK2$, P8vIΥA0jQ ЃPQL T|!|h1V/*,A i%ӌnOr|:,CK4AڴT4Y3Yj$Z#I")%9"FF0Npu\05 FdFŠr[ I4>3^k]?Y $
-^
-(0R$>v"&#!7<`}~x!;Psvd!vMv٩}uJ,V,}nv1I-Dnm ̼;fo]<vݺ3!jy|0na.x2s;:mPƉvDA|Ӭ7j)5 皾vk<>8{fb[PuOA~6ak
-߆m&ۇwݮj /OuحfcUm iA{ۦ&Y?CػMw Az6\Jlu_6kzM~aW~[W~CW|29Kg)Υ`xgsw ω~Gy^`|21҈HN:Ғi{lC
-V(f֞7[23}|#;SLuuKf̗1ܩDP=91mNA,)FJ:zV]ja|ҩ AդU7Ӷ7?т*~TEc)Bi§<]]zӶꖶ[ߺEC%>WFdNb@A= (ͺXBkwh];\
->U¡fh`C AnLPm7Mf)KS5c802{}sއ?Xc(e]Շ{FIU7y]{
-Ra~4 %sj=?$lU܁>yaYarLPZјQ2CTzjCae;վ$$Q͊*n8SzwY =RΫS},Ӄ4TΝ3. b*ӽ=bNa.#Gb!t9R)F\k)D7wcO6Cdn'PKRNӞ٘t&x߮unfTzA\OG}"iHHN0Iaiu9qg n tKK='\Ht̉{R=3 (81#u sQ'wUr_`تXvZ]KV
-nx/I-ݓ=OW?vv7~i7uXIAkdH 9 '|A
-m)9my Spe}HXYț=q̴/(1 O};< -_
-\޵ݫ Upx喦nBC30mw{2<5ӹL$4`ZUO{` I2 Mmÿ=n}_7KUH_tmC9Y/RRM\7W0 ٸ}Cۮ%
-
-endstream
-endobj
-1769 0 obj
-<< /Type /Page /Contents 1770 0 R /Resources 1768 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-1771 0 obj
-<< /D [ 1769 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1772 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-1773 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-1774 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-1775 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-1776 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-1777 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-1779 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 449.058 null ] >>
-endobj
-1780 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 438.099 null ] >>
-endobj
-1781 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 427.14 null ] >>
-endobj
-1782 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 416.182 null ] >>
-endobj
-1783 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 405.223 null ] >>
-endobj
-1784 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 394.264 null ] >>
-endobj
-1785 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 383.305 null ] >>
-endobj
-1786 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 372.346 null ] >>
-endobj
-1787 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 361.387 null ] >>
-endobj
-1788 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 350.428 null ] >>
-endobj
-1789 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 339.469 null ] >>
-endobj
-1790 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 308.585 null ] >>
-endobj
-1791 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 297.626 null ] >>
-endobj
-1792 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 286.667 null ] >>
-endobj
-1793 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 275.708 null ] >>
-endobj
-1794 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 264.749 null ] >>
-endobj
-1795 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 253.791 null ] >>
-endobj
-1796 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 242.832 null ] >>
-endobj
-1797 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 231.873 null ] >>
-endobj
-1798 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 200.989 null ] >>
-endobj
-1799 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 148.187 null ] >>
-endobj
-1800 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 137.228 null ] >>
-endobj
-1801 0 obj
-<< /D [ 1769 0 R /XYZ 81.077 90.403 null ] >>
-endobj
-1768 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R /F69 299 0 R /F34 1778 0 R /F27 638 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1805 0 obj
-<< /Filter /FlateDecode /Length 1860 >>
-stream
-xZM6ϯƢ!$ȡr,M{%GRw1=EIDd\Zz,Ŧ~xCwo#Ns-gw7 ͌#̌fj6~}!|SvՂSQn#>_U}^Íj_pz XSCu4sGe
-* PZ{@H@[{$5=zv
-?
-ԿHq"`iEOCV0X
-)ڲDRMsBLxJGkbkI
-(%YSEœS]2爕.ń~[m,?UEL)baڼlrBApN-^(AmU?/,%Q3Bt
-CVcѸ=ErБh٠~_U,o' yѽT5\%4GFJЊݬ?ھRĔ%V4e1iWJ,԰xc&c'cq}|Da矊uMT(ȷc&9y돇)ڢ*ь8(J
-hSKP|\nK}LoBɃO8_Xt`0"%Sg͟3M <ZpkiF{IBRHG'iT!"ƅ=,Cjj&bfh*-=}=:.֪<[xm]K(^%d-j M)z3Ljؘ ̳>MTՓEǺ' 온xU[Cғ}^޾;I}|3xMR^x())"T TJR= |H"oT>z"Q:A|id(֞p@;ӧ*@ZbWqz #GR8AL9\^t+%h#ޡJ 
-91T}T_p=h|aAk`y'_ e5 U
-CU>zv]ݯf[I˶(T J!BQx@eq{"::Žt bi x}VC?gsyP .6pH-;0LW 'D!*jT4Z9dEUJб4T1~_@cE;3/OO Ml/ukjSӣbW>LI P6uUƅkT=3&hQ4Nqt]7nͫ![:_x MmZ#Fgw:k1
-endstream
-endobj
-1804 0 obj
-<< /Type /Page /Contents 1805 0 R /Resources 1803 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-1806 0 obj
-<< /D [ 1804 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1807 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-1808 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-1809 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-1810 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-1811 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-1812 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-1813 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-1814 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 678.172 null ] >>
-endobj
-1815 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-1816 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-1817 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 620.388 null ] >>
-endobj
-1818 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 609.429 null ] >>
-endobj
-1819 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 598.471 null ] >>
-endobj
-1820 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 587.512 null ] >>
-endobj
-1821 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 576.553 null ] >>
-endobj
-1822 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 565.594 null ] >>
-endobj
-1823 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 554.635 null ] >>
-endobj
-1824 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 543.676 null ] >>
-endobj
-1825 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 532.717 null ] >>
-endobj
-1826 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 521.758 null ] >>
-endobj
-1827 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 510.799 null ] >>
-endobj
-1828 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 499.84 null ] >>
-endobj
-1829 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 488.882 null ] >>
-endobj
-1830 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 477.923 null ] >>
-endobj
-1831 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 466.964 null ] >>
-endobj
-1832 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 456.005 null ] >>
-endobj
-1833 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 445.046 null ] >>
-endobj
-1834 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 434.087 null ] >>
-endobj
-1835 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 423.128 null ] >>
-endobj
-1836 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 412.169 null ] >>
-endobj
-1837 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-1838 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-1839 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-1840 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-1841 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-1842 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-1843 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 300.588 null ] >>
-endobj
-1844 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-1845 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-1846 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-1847 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 256.752 null ] >>
-endobj
-1848 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-1849 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-1850 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-1851 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-1852 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-1853 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-1854 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-1855 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-1856 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-1857 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-1858 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-1859 0 obj
-<< /D [ 1804 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-1803 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1863 0 obj
-<< /Filter /FlateDecode /Length 2456 >>
-stream
-xڭZ[o~_G_vN,) ERlul)xԍn_,Y\xHjg?}Ň}"ffTxFf fJ%-a6O}yEռ.mP| 82Z|mbO'#IY]';ϠTJymcjfqG_Dq?R9˚
-8b]gOx~vh{_1_1j
-Z  />$Yk
-(( EESUGj}sw7:{kb2>Gu~i1/!qT跹>0J㸎os^q%\9oX
-sAinw) ۰38ش%Ԡn}":@MW )%tw;QW@U]ZFЪ{7}co}P95Ƀ=IoHuS]{oţUe?[n:v3mbvo9W(;`BnF-Zg-]麷;>RvYIΑ.$XN)|٩.H( T4 bypϺHsq$g%ҟ!qP(>V#㸵G+&6/n8s\-
-ZP>H?p;.ST-z!L;4wPDA
-endstream
-endobj
-1862 0 obj
-<< /Type /Page /Contents 1863 0 R /Resources 1861 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-1864 0 obj
-<< /D [ 1862 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1865 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-1866 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-1867 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-1868 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 668.209 null ] >>
-endobj
-1869 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 657.25 null ] >>
-endobj
-1870 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-1871 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-1872 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 624.373 null ] >>
-endobj
-1873 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-1874 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-1875 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-1876 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-1877 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-1878 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-1879 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-1880 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-1881 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-1882 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-1883 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-1884 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-1885 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-1886 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-1887 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-1888 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-1889 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-1890 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-1891 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-1892 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-1893 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-1894 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-1895 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-1896 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-1897 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-1898 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-1899 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-1900 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-1901 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-1902 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-1903 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-1904 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-1905 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-1906 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-1907 0 obj
-<< /D [ 1862 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-1861 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F32 176 0 R /F27 638 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1911 0 obj
-<< /Filter /FlateDecode /Length 2298 >>
-stream
-xڭZ]o6}ϯ rOQ^춸"v@[LBdɕfwaItCbə3v/~۫|ERA[n0܈x&D` /~%I%j۲WOQ$z(cg1euٗMm[wyGMl.omu$a(^;y8zCqw8.۲|֎m$j%NwOWm۴:P>)KatTRs*s#.?hϑ@iB%: pK8'0iNE"_\GS2EKQ09g MMX1e϶cZ'<zwj[8Uۦo:
-NaQ`(>9644QBSeS^:g{>>꥘ "@]F0G{Id/".RTtYCzus0K!]vr*㬊2hGӼ*{R~uSןoդ:+Z*0հry(Ẋ$Amsmf{8oMt}YLAACM6\z$4UecYou
-2Ns) H0<=yUY޶SV"^r;v:뫲 @ 盲P,~)UUy?X 2H! ^3Zv㗟>uWM^"HPqy667ud6F=PUʪ<-% <%HCtqHUbH]t~`pHILv~}}k xgrqg{v["~RZC$3m*2*Fנ]$kHAP$8<^egY݌kd*>_GUnw}Sp/i#VzM)JUe:{3*(R$eaL'K>/D1Ai:8ØNAt]" 5_1*ou {BUPJ1h%A$=b])31..h|i#KҨ9 a$T:E5H0}c>׺ٯYZ\7 S-7{|A@omn8Vyk0JwyU3$<ʫ
-s/νn,#޺Uyb;&΢C{ÀmN>h
-|/ By6ΝfsS
-y@p+w
-D1Ȱ;ETYYܞt&0 *qચYfqPQ=;ةjMXd6])#|)vdc qКk^YmhMթ#ա+슀Ǫn>tS^^.UmyJS~1>Ѩ*xQ N–'H'{dOlz`dy2n<t"+ᘈFVl2RU0}}(RQ d.ac)J$U6EOZ]iי9gΚ>; ֳiݐy`r<g:.D]qnz_O0J^Oم bt裟9R;d?Sq
-2˖6RgOj,aas=[6 㠭/^bΩZPM (fEb0Ya򺆜ۄU~_Ίg,a~fUgQ`#'q4r*z;SM9 U")W7Bέ:{pԩ}8jk:D'ueD3CM6{FK$ř X},h8"$8yiQ=h'P(ZgW 3sϗA*9#jfT뉰$UZ-9̿;3'ûqh9) Mso
-OҤ1 ťsIVP"2b<lCWDMB/B`<aRCK ,bn͂䗇v\aS*s0%5 {h<Iea3sojW~" Eh_ߏ0͓{5Z_'9L9J{TS!``v
-endstream
-endobj
-1910 0 obj
-<< /Type /Page /Contents 1911 0 R /Resources 1909 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R /Annots 1949 0 R >>
-endobj
-1949 0 obj
-[ 1860 0 R ]
-endobj
-1860 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.914 748.109 170.376 758.109 ]/A << /S /GoTo /D (Hfootnote.4) >> >>
-endobj
-1912 0 obj
-<< /D [ 1910 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1913 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-1914 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-1915 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-1916 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-1917 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-1918 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-1919 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-1920 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-1921 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-1922 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-1923 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-1924 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 558.62 null ] >>
-endobj
-1925 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 542.68 null ] >>
-endobj
-1926 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 531.721 null ] >>
-endobj
-1927 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 520.762 null ] >>
-endobj
-1928 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 509.803 null ] >>
-endobj
-1929 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 498.844 null ] >>
-endobj
-1930 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-1931 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-1932 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-1933 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-1934 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-1935 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-1936 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 333.464 null ] >>
-endobj
-1937 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 322.505 null ] >>
-endobj
-1938 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 311.547 null ] >>
-endobj
-1939 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 300.588 null ] >>
-endobj
-1940 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-1941 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-1942 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-1943 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 256.752 null ] >>
-endobj
-1944 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-1945 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-1946 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-1947 0 obj
-<< /D [ 1910 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-1948 0 obj
-<< /D [ 1910 0 R /XYZ 94.613 126.291 null ] >>
-endobj
-1909 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F22 455 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1952 0 obj
-<< /Filter /FlateDecode /Length 2759 >>
-stream
-xڽ[[o6~ϯ0Ї:d^4mC[YRFIMNϢ%΅Bd1I&^%W_|D#-`+ OFTN(xr2_75ӏ׿d$+N+uڴ]Q`
-#w9.)8rY^& i)ɕ@ˉPQ^O9[T
-ӃHV8‹@ :8O}FF\1ͧ>-UL09D& &q}SraeQX꓆',+% h1Se9)d.P h'qV@;^Q>E*ݿAҵayC܌0yd_B|fE$EJvK? ^c2J]4Kk
-_([xlmVڧ~Lft <ZPzJ9 K0L0N4Nn9H'.Sq c@mpg v,p{픁~K;.3| Y<06`Qǀo}9 rI*,4odWubGlAųֶq"$a$W=q<"Nt@[PwNE):q{42.Ji]d1Y
->Ja5VbQd3_>.!wW lCڬV-<%aPּ0r<6؅"E'tk9&!mvCA1VPNeIƧ43nA鋉ޜt40T@|xѯ
-I"q&B7E%Z"]Pq.>h
-s?pކt?)&i)yNd ̿n7N$O`NS) QJc
-ULvE9 6^ $D$</ЄeDOi/ٛo>Umx@ưvό5W5G{v}1
- v1=:lS? `-K`ADoﺿ :f
-endstream
-endobj
-1951 0 obj
-<< /Type /Page /Contents 1952 0 R /Resources 1950 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R /Annots 2001 0 R >>
-endobj
-2001 0 obj
-[ 1908 0 R ]
-endobj
-1908 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 409.702 745.896 416.164 758.109 ]/A << /S /GoTo /D (Hfootnote.5) >> >>
-endobj
-1953 0 obj
-<< /D [ 1951 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1954 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-1955 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-1956 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-1957 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-1958 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-1959 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-1960 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-1961 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-1962 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 607.437 null ] >>
-endobj
-1963 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-1964 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 585.519 null ] >>
-endobj
-1965 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-1966 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-1967 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-1968 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-1969 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-1970 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-1971 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-1972 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-1973 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-1974 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-1975 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-1976 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-1977 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-1978 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-1979 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-1980 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-1981 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-1982 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-1983 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-1984 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-1985 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-1986 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-1987 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-1988 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-1989 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-1990 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 228.857 null ] >>
-endobj
-1991 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 217.898 null ] >>
-endobj
-1992 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 206.939 null ] >>
-endobj
-1993 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 195.98 null ] >>
-endobj
-1994 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 185.021 null ] >>
-endobj
-1995 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 174.062 null ] >>
-endobj
-1996 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 163.103 null ] >>
-endobj
-1997 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 152.144 null ] >>
-endobj
-1998 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-1999 0 obj
-<< /D [ 1951 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-2000 0 obj
-<< /D [ 1951 0 R /XYZ 94.613 99.392 null ] >>
-endobj
-1950 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F22 455 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2004 0 obj
-<< /Filter /FlateDecode /Length 2998 >>
-stream
-xڭZ[s۸~ϯPIlCi` EzI*N6ރ /dJt" 𝃃s~W ~yWoI(Մ+DaIV7"14JdzLLFDť"@4ƴkݗyy]_ouY}7g)~ ô燝H4]ocVk`<k?q$瑩ܧLz&ES/X&T#yώX&cj 궪u~wu=]ڔ x]߼#*Y)>Ub SB\\2œlxi D\hc/|S]9 bR#ܾZ$M^n<]PasֈQbtLpi][Y"#If|2"-Bs^gQ>
-?d0AT ?{]@/ 3Sm}f&"&Ҙ4Mktl٧cjiuTR0R=*ߘ]h&0Aqh*zmvc_fR#/ a1Y(&vAr Uu~NOKžۼ*R$@LC.2NFvVi~Ub Z}Lm=T޺qCLyA [so1(rz+OV*ɷxA)XkLOUTu{[$UHȠ`j[mM`IgU|r֣v *ځOi
-YCք.vX{sw3)nB!) _yyWJ@&7a<t}$I=)B20v<m O<@Jxl?@!DBOXMr xOxN̫}[=xK:BCݍK tK
-6CM|"߶^;P)A2 dCລ?k:Np:fgv.э:7(6[b16,:iBJX]kٵB:cшNu,AӴw/ 6;ZyHV %]b1Z##G_ AV%V+RiL=ruKQ٣=Qz(Ag:龓T˩/HI€1Qy;JƱ#/$xBrb!ºhFΈ7@*Op $L719A<C:7S6mDo6/ x m
- (чsM9BdH`DBq B(
-qRM.@]g{s=ԱY:aX2t Ty
-J6{j^ɶ_G| [z<پ(#FϣfP0Y}5
-7K39{j&mI_ N)6P>x@"E<FTO'
- #bڠʊ+Se #w!}7sj;5,:MmCؼ/ѰSvI}}ps1
-_3
-$, 1ݪ-#!2.FPa[_FrǺ/q|m\<W _N|}=?DT}BS{~cڠ St'N,`Wߺ;v-fY h[:쪻SqLq VDe
-HW܅M<ch{<uY͖P!;=CWCe4YMw!fl(q zX/S
-1%4|M")RCe6iL$w'4O|% `kEGjq$!F;?ViL7o=p(}qLo|'kGbif8Dxe8^a~} ݵv{siJ&}|)x7|nhP&AV4UŖ֍yފ2L.nجK>~a
- H/]6k;OxNMqJ4I8ڝ^rMTăfe3K$0& g}P)!qJ9T%H$3 ]v+ߕsyιm#2n_ Y_|1uʕf`;j}f{H^ƧlzoMf8n$k1wC8sd3eY:q!?,ch^pXٴ@Jɪi7 !e8t*2<f0HM\AcԶD8A̷-NNH쯃<r<=ccL=1v.Ղmfj*߼p?x~\v;1gJpJ@4*Eԧ}P%Gt8ˮ&Eԧ
-L$6&> 
-njXD}aeq_c)is
-pW/!E%}-˴"n unA শқ,,Hπ>j/Ӥbgh FEDmB\@MriGc+כW9IҢ
-endstream
-endobj
-2003 0 obj
-<< /Type /Page /Contents 2004 0 R /Resources 2002 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-2005 0 obj
-<< /D [ 2003 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2006 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2007 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2008 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2009 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2010 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 683.153 null ] >>
-endobj
-2011 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-2012 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-2013 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-2014 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-2015 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-2016 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-2017 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-2018 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-2019 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-2020 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-2021 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-2022 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-2023 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-2024 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-2025 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-2026 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-2027 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-2028 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-2029 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 193.987 null ] >>
-endobj
-2030 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 183.028 null ] >>
-endobj
-2031 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-2032 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 161.111 null ] >>
-endobj
-2033 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-2034 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-2035 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-2036 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-2037 0 obj
-<< /D [ 2003 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-2002 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R /F30 644 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2040 0 obj
-<< /Filter /FlateDecode /Length 2341 >>
-stream
-xڵZKϯ-6aħD HCrfwkGӳ"iZx,'{$REֻ-w~w/zVL;
-ق.rMx%?zX/XvF ҪTj"dÇrߛsYkeޘ(9B,<'Tqv0|Q! <^.%y%>MxXgҳd^0q4mWj>&(8V˗泵L#qy}2"C AtA9Q((q2 w$ tx1DӘ|Mvـ=*S0!6F)%ɘA\VȰmok~,k=~Onxݎ`; 7%(k%ij*T6O6>r;tLr)@偻")-~kmD8-n UAZ&zkyϥ^%(vK{Uprͦ90!KUl֚ū=60(eJ
-StM@3,SeG
-,˭_ AS/
-z7[%ոgX{[&gi<z4Tċ^/عÐfOr9d.畡y
-
-p:ZkBdBdZg ZZZgy`I 2p^` eX>40 LA T;1FzӺO}=AٳJι e!*AhcY%b;ܾ*wb׺8~â郂?Dv!a\P/p5lHv PczdD Ze+&uhY ܭk Uqƾյq]W ބl/)5x]DKoK}>2IA$%z&צŘW~B)|.qkvNwQ;nBع'ps4h۹ò
-\إ[P(f)ul"C34-Śy8Rigu"x<4a93iF̀ƚ'߿zF
-endstream
-endobj
-2039 0 obj
-<< /Type /Page /Contents 2040 0 R /Resources 2038 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-2041 0 obj
-<< /D [ 2039 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2042 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-2043 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-2044 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-2045 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-2046 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-2047 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-2048 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 575.556 null ] >>
-endobj
-2049 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 564.598 null ] >>
-endobj
-2050 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 553.639 null ] >>
-endobj
-2051 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 542.68 null ] >>
-endobj
-2052 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 531.721 null ] >>
-endobj
-2053 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 520.762 null ] >>
-endobj
-2054 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 509.803 null ] >>
-endobj
-2055 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 498.844 null ] >>
-endobj
-2056 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 487.885 null ] >>
-endobj
-2057 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 476.926 null ] >>
-endobj
-2058 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 465.967 null ] >>
-endobj
-2059 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-2060 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-2061 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-2062 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-2063 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-2064 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-2065 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-2066 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-2067 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-2068 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-2069 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-2070 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-2071 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 229.853 null ] >>
-endobj
-2072 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-2073 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-2074 0 obj
-<< /D [ 2039 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-2038 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2077 0 obj
-<< /Filter /FlateDecode /Length 2733 >>
-stream
-xڽZ[۸~ϯp2,(bi>lFm!Jrff^$bm_l]xsṐ‹/~z7BJR7^Y$
-dH$V҄-fo
-pH,cRѳP 'H-;}v{ϝ7g#9!yV$8✄ط:3q%+ Y$ieiM]8/VG ,W>bu^4ENNU@~ËGk?
-⑷S<86>;V&N_b M* x 1 `B6.1zp2->f
-"q׻eqU@%ZX8}V ;ײ~BiF^#Y@0VlJ?24}D3L'OcÐ84*ss:7s
-94 0b@%!gB-"ePҕo7eRU36<yږv
-\qLt{]B~͔8|zu~+g!i[=׻3 okQ:`i(Mou"Ga.{4b m< t>o{we-;6ي/3z8'#DdҊԏYl6P&
-ʐQ^uͫ:@aq^eJ|jK{18SjXmӖ7uW.oa&1]˂TơR_V?mݘ1Ҁ9n?>bvg@PؕMm (U4M)|lӸR,ԫNȻw:T +hB <!n]^1%FD 
-4^'K2?3ۭ&q*ƀ\KBXJfrw>٥]|ɥ>ܻI
-2xzN3,&7gAd]cS6HTۼϺ榿yc_ <Tis~0d
- *$`VFX'Wd&]7,Wڨ.ͷoSK{-
- (^ B Q~
-(C4飼gþ8eZ/;.JıtbJ<#@ _JfJ[yI!! <`χ7k
-endstream
-endobj
-2076 0 obj
-<< /Type /Page /Contents 2077 0 R /Resources 2075 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-2078 0 obj
-<< /D [ 2076 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2079 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 707.816 null ] >>
-endobj
-2080 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 655.055 null ] >>
-endobj
-2081 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 611.24 null ] >>
-endobj
-2082 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 567.426 null ] >>
-endobj
-2083 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 556.467 null ] >>
-endobj
-2084 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 545.508 null ] >>
-endobj
-2085 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 534.549 null ] >>
-endobj
-2086 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 507.163 null ] >>
-endobj
-2087 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 496.204 null ] >>
-endobj
-2088 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 485.245 null ] >>
-endobj
-2089 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 474.286 null ] >>
-endobj
-2090 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 463.327 null ] >>
-endobj
-2091 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 452.368 null ] >>
-endobj
-2092 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 441.409 null ] >>
-endobj
-2093 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 430.45 null ] >>
-endobj
-2094 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 419.491 null ] >>
-endobj
-2095 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 408.533 null ] >>
-endobj
-2096 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 348.29 null ] >>
-endobj
-2097 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 333.855 null ] >>
-endobj
-2098 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 322.896 null ] >>
-endobj
-2099 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 311.937 null ] >>
-endobj
-2100 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 300.979 null ] >>
-endobj
-2101 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 290.02 null ] >>
-endobj
-2102 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 279.061 null ] >>
-endobj
-2103 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 268.102 null ] >>
-endobj
-2104 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 218.575 null ] >>
-endobj
-2105 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 207.616 null ] >>
-endobj
-2106 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 196.657 null ] >>
-endobj
-2107 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 185.698 null ] >>
-endobj
-2108 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 174.739 null ] >>
-endobj
-2109 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 163.78 null ] >>
-endobj
-2110 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 152.821 null ] >>
-endobj
-2111 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 101.524 null ] >>
-endobj
-2112 0 obj
-<< /D [ 2076 0 R /XYZ 81.077 90.566 null ] >>
-endobj
-41 0 obj
-<< /D [ 2076 0 R /XYZ 79.37 70.866 null ] >>
-endobj
-2075 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F32 176 0 R /F27 638 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2115 0 obj
-<< /Filter /FlateDecode /Length 2494 >>
-stream
-xZmo}q "CEbӎne)+%QئŒ(p i<7xr2tv~CYfPgdvkNտ {B:{`Y&?pO+Y׍q_yFZRK%"}k5_eY_l\TߴۼZ eﯮl>3+XaC@ƀdks"LR2?Gnװ{;7X0}2?5c,Xه]k\>+;mexh}ccZSYw{)0)ͦ/ʢ^
-|<l,PمWք Nz^{pc{֮b!~yxT*Fhj
-TXBUoH AK0|9RGt w>l
-rmuQ3F>,XB0A_ ^+H!]_YZWxOVX6EBu^MN(աV;hH&7k!E0 GHXɁJ0 Yڗ6o>>m9xu TO7_FZ4-#-6&%Xv;(}+bA,CETKd S-@&W'w)S^u7
-!~ӐB;$قP˓g%$;ug!EenjzKzր.C9_K_/˥DB$Da(#/c $ cשfɇ#X[jS$<MձtPuYͪ\
-:A3LU1$UφlCb%zU'Ȭ\*XLc(5ʔ}7yMvofCLDXXi3-SV<r)S%9M$L,;$68%q2IN#(NSu,}q2UsOz$8#dYQZICrDbg i*M]|Ǖ8}%Ozu$ 3H8uT lpFbj?< fDˉN?L! Flؠi;tR? ;scۛ3܄*$S7*pCt4EW{^wM!`[ h
->m:Lpw\ɋIφp_n~1d=x>=?K)Cd*;KoOD;QFIY~l/La"eˑE_|c~Yݽۅ]>in$6hZI[Y+KF<a8)- ϴؙVy2{~q_P۽d<Cb0@xf.(q5
-{$)9rX&χ?㽒tK!悒+|Z
-endstream
-endobj
-2114 0 obj
-<< /Type /Page /Contents 2115 0 R /Resources 2113 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-2116 0 obj
-<< /D [ 2114 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2117 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 708.104 null ] >>
-endobj
-2118 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 697.146 null ] >>
-endobj
-2119 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 620.55 null ] >>
-endobj
-2120 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 609.591 null ] >>
-endobj
-2121 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 598.632 null ] >>
-endobj
-2122 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 587.673 null ] >>
-endobj
-2123 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 546.943 null ] >>
-endobj
-2124 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 535.984 null ] >>
-endobj
-2125 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 525.025 null ] >>
-endobj
-2126 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 514.066 null ] >>
-endobj
-2127 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 485.292 null ] >>
-endobj
-2128 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 474.333 null ] >>
-endobj
-2129 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 463.374 null ] >>
-endobj
-2130 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 452.415 null ] >>
-endobj
-2131 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 441.456 null ] >>
-endobj
-2132 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 430.497 null ] >>
-endobj
-2133 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 401.722 null ] >>
-endobj
-2134 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 390.763 null ] >>
-endobj
-2135 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 379.804 null ] >>
-endobj
-2136 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 368.845 null ] >>
-endobj
-2137 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 357.887 null ] >>
-endobj
-2138 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 346.928 null ] >>
-endobj
-2139 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 318.153 null ] >>
-endobj
-2140 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 271.562 null ] >>
-endobj
-2141 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 260.603 null ] >>
-endobj
-2142 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 225.967 null ] >>
-endobj
-2143 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-2144 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-2145 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-2146 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-2147 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-2148 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-2149 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-2150 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-2151 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-2152 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-2153 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-2154 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-2155 0 obj
-<< /D [ 2114 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-2113 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2158 0 obj
-<< /Filter /FlateDecode /Length 2842 >>
-stream
-xڵZ[oܸ~ϯ0Їoet.v[`R}h
-A#!i"ixp<36ˈxȏΉ./_^EHl/~}X]*+
- zb")bzqϊ&"ߧX\(1WKb"ԧ~K(C_\^I&Mo>mvk\~؄a^R\WpK(v*a_Rƞw]hyݡ"T 5C>SP4! ý>{~]yDX| Adԧw|誏78Rgk}v:t q* i q<3[ش?꺾ɷ?K(v%= þ>zOt0=P '|^RAğW0F.}%)vŠ]qIR@H97jI)xmL'%ÜG쾨u!ӮRvY[
-FY4Haz,ORH,nuSh7M@Q))BQ0P$Kym_6:Uj6Sz@1ͩUZk3S{"`>̦]ߟ
-͡uu aSl.1*ucwl94=-C/mpE-dx>Иɩ?]CAF"<}
-}e~w 1TbJ%;8
-Rz$;Ѵ`{ Qj1 >I"ULd!chI}{C@@|V#_Z^|AID 8XQrݔ)ê)N~[FS-CVl PgnIi
-endstream
-endobj
-2157 0 obj
-<< /Type /Page /Contents 2158 0 R /Resources 2156 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1802 0 R >>
-endobj
-2159 0 obj
-<< /D [ 2157 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2160 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2161 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2162 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2163 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2164 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2165 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2166 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2167 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2168 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-2169 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-2170 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-2171 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-2172 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-2173 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-2174 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-2175 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-2176 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-2177 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-2178 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-2179 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-2180 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-2181 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-2182 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 270.7 null ] >>
-endobj
-2183 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 259.741 null ] >>
-endobj
-2184 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-2185 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-2186 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-2187 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 215.905 null ] >>
-endobj
-2188 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 185.021 null ] >>
-endobj
-2189 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 174.062 null ] >>
-endobj
-2190 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 163.103 null ] >>
-endobj
-2191 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 152.144 null ] >>
-endobj
-2192 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-2193 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-2194 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 119.268 null ] >>
-endobj
-2195 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 108.309 null ] >>
-endobj
-2196 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 97.35 null ] >>
-endobj
-2197 0 obj
-<< /D [ 2157 0 R /XYZ 81.077 86.391 null ] >>
-endobj
-2156 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F77 539 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2200 0 obj
-<< /Filter /FlateDecode /Length 2074 >>
-stream
-xZKoHWȅN퓑lf ahȤ6f7)FUJ{1͏23:rg׳7g~f&5LCtfFYnfIX6 rfZ)QF,?|PT݇!~j^es{ÿ&W2{u&&fQ>c1"в%LA
-{94=&)_nbA/u|L`.tg[<+<'Mv'<AhM ױI.؁T̋5d]I^oxǩ Ȃ'YӟH gsm a]2[Zs"8t 윘x+\^^4]F8gD53Zcl;g%Ghۺ^)ws[y/MGZrK}&0"4Cec"=R6ȄCG[HhhJ4i4EaX1MG(23ȶU(!Iz=SɢXfU=RBotMdMf<k1ЌD,ҹD}{aWgϫ;ZV_PbPCf
-N_؈.r^p"/`AmgG7lc0 h>tOd ժp8Hž3UvZN.vyUEiqeO`1[u'u m}6:\/
-.GÛ$lX3uu,*cՎr0c&jS#w I1zb!r.nLcq L'Z$8qeq;}nujOuW7n'ݜLfF0R =rlSXL)lr59t
-W萤DE5_}؇plzf]C2W8+S4:=Di(;?V!#KQ6( SO{BJѸO?)BANq8xjasg/g թܶz=L$tjĪDk3s}zѡdžJwp)yE!FmqESO6
-~PNPp9Ceb֖l*_/CXޒݓ kht2%H#)H:6Sp>Eۢ-
-أU\?ǜ1rm}
-endstream
-endobj
-2199 0 obj
-<< /Type /Page /Contents 2200 0 R /Resources 2198 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
-endobj
-2201 0 obj
-<< /D [ 2199 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2202 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2203 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2204 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2205 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2206 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2207 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-2208 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-2209 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-2210 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-2211 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-2212 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-2213 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-2214 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-2215 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-2216 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-2217 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-2218 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-2219 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-2220 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-2221 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-2222 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-2223 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-2224 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-2225 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-2226 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-2227 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-2228 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-2229 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-2230 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-2231 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-2232 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-2233 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-2234 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-2235 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-2236 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-2237 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-2238 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-2239 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-2240 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-2241 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-2242 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-2243 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-2244 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-2245 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-2246 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-2247 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-2248 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 155.133 null ] >>
-endobj
-2249 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 144.174 null ] >>
-endobj
-2250 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 133.215 null ] >>
-endobj
-2251 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 122.256 null ] >>
-endobj
-2252 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 111.297 null ] >>
-endobj
-2253 0 obj
-<< /D [ 2199 0 R /XYZ 81.077 100.339 null ] >>
-endobj
-2198 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2258 0 obj
-<< /Filter /FlateDecode /Length 2018 >>
-stream
-xڭko8Wx]@6)Sv.`0Pd+) PiҎ]iT2|xxH#O< H;Ͼ{' GIL\/T2%DM$K2.'#3<x.I)Y &(!a<kg~YWjz.^^βFu s^ -:_CL-29Ĩml)F"bg]AhH- q#e }VݢnF6^ENG`5s#]K]5٪n.ZK5wX"*Ea LW*J_\9n^jD 2v}KSiʋyC/1G'YSX]O0R16(qТ+|$B%AcB"|}猐hQE=2zȫ)QVeZpҢ_jR~CG !t'HQ]P(E٢n[l^CYUOi͇2HўuU<(_ ׮7QP6˻RWSHQl\m8hak%2pg| 0G^Ui9ՋG0=zT)]:Si9k%As
-i)ެI>4"#o:#laqG fOwGƬa; !*bvSGnhK%1~ gfbJ!>"Xv̀ߵJN!Fꪏ y ak[ )vn%B`篁e3/!z)<Ү",m 7yUeExץ,Hr;dX㩃#y&!IȰ<SzaL\\^뿂E u-SGΫV7%twe2m4xe2/iZ^SxVmSp"2(т {W
-ߪmzאgcJU?{ҟ>o9-(+9 懾b9!Y1qە̤"r<l@\Y!=ck/$7nscsD0QҢ|zNjnl</5sO$v&bY Ό? uꏢ؜c]xk?@n@~7޾p0?]ehVs3fG0b[sG]붯
-vTkV5 a|Θf0?`ZhriS]-c038z2?^m:D-z"&0w
-endstream
-endobj
-2257 0 obj
-<< /Type /Page /Contents 2258 0 R /Resources 2256 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2309 0 R >>
-endobj
-2309 0 obj
-[ 2255 0 R ]
-endobj
-2255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 408.109 641.043 414.571 653.533 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
-endobj
-2259 0 obj
-<< /D [ 2257 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2260 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2261 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2262 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2263 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2264 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2265 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2266 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2267 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2268 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-2269 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 638.368 null ] >>
-endobj
-2270 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 627.409 null ] >>
-endobj
-2271 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 616.451 null ] >>
-endobj
-2272 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 605.492 null ] >>
-endobj
-2273 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 594.533 null ] >>
-endobj
-2274 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 583.574 null ] >>
-endobj
-2275 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 572.615 null ] >>
-endobj
-2276 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 561.656 null ] >>
-endobj
-2277 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 550.697 null ] >>
-endobj
-2278 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 539.738 null ] >>
-endobj
-2279 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 528.779 null ] >>
-endobj
-2280 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 517.82 null ] >>
-endobj
-2281 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 506.861 null ] >>
-endobj
-2282 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 495.903 null ] >>
-endobj
-2283 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 484.944 null ] >>
-endobj
-2284 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 473.985 null ] >>
-endobj
-2285 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 463.026 null ] >>
-endobj
-2286 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 452.067 null ] >>
-endobj
-2287 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 441.108 null ] >>
-endobj
-2288 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 430.149 null ] >>
-endobj
-2289 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 399.375 null ] >>
-endobj
-2290 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 388.416 null ] >>
-endobj
-2291 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 377.457 null ] >>
-endobj
-2292 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 366.498 null ] >>
-endobj
-2293 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 355.54 null ] >>
-endobj
-2294 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 344.581 null ] >>
-endobj
-2295 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 333.622 null ] >>
-endobj
-2296 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 322.663 null ] >>
-endobj
-2297 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 311.704 null ] >>
-endobj
-2298 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 300.745 null ] >>
-endobj
-2299 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 289.786 null ] >>
-endobj
-2300 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 278.827 null ] >>
-endobj
-2301 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 267.868 null ] >>
-endobj
-2302 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 256.909 null ] >>
-endobj
-2303 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 245.951 null ] >>
-endobj
-2304 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 234.992 null ] >>
-endobj
-45 0 obj
-<< /D [ 2257 0 R /XYZ 79.37 209.632 null ] >>
-endobj
-2305 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 141.302 null ] >>
-endobj
-2306 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 130.343 null ] >>
-endobj
-2307 0 obj
-<< /D [ 2257 0 R /XYZ 81.077 119.384 null ] >>
-endobj
-2308 0 obj
-<< /D [ 2257 0 R /XYZ 94.613 89.795 null ] >>
-endobj
-2256 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F22 455 0 R /F67 187 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2313 0 obj
-<< /Filter /FlateDecode /Length 2971 >>
-stream
-xڥZo_au WHz9 p(lӎ`oeG6d3q83*mf엫}"/W} Ō!)0%A DB͢ ijH\l& C*Ę(ҥS(,No8mƥz!}z?Xù00 0n!cRnjM/(C8$-.R&؍(꼨HUtse}˙L;.T!BA]P̓tk_}mϺȲD44Ip?qBr6eMb##it8EYjw}P|7x> 3c@< #$XҦO
-)I
-^eV0fk?dήzp> BX :ĐZxS]>2Lxt׍_}~ʘS?CIeyx ;y+v"&g~؇ԓ*ݫd &r=Kޡ~i*w#X~a7 B! ;!? )]qTu# "Q!: ]@E~єCZuuUqY<ڂ-&1j> MQjC<٪X1 R: / h0g. J]uҥ[Y&Ͽ?۫t?6w9 AP~I^R, .ߦ% 1A;OCjg[@|)QGU;\A~MrW3 븱sr_ V>quR@s3VOߨDA9 w9˽y>a 1$x|M LStpۤ\NNeȈvY(:Iʢa>A tYEnL"`pfEiKGU3U pFzAPnf?zK  CJıQ(`Κ c6@
-%,$IY/
-!Fڀ}IsRݪyAKa3='z:q<}`PFLcx]/VWc@zlڟ ˝8x҅s0HM.uVKH
-ة<3 / m)h J]vZj7N|B{&;ڍbҷim X
-Qp  xk|2u?aD"Aw/|Xې}H
-g$FwGj{'#Y@ȤF6)Bj7$2}w,>}d@&k:c))&=
-endstream
-endobj
-2312 0 obj
-<< /Type /Page /Contents 2313 0 R /Resources 2311 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2350 0 R >>
-endobj
-2350 0 obj
-[ 2310 0 R ]
-endobj
-2310 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.519 489.136 444.981 501.073 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
-endobj
-2314 0 obj
-<< /D [ 2312 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2315 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2316 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-2317 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-2318 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 702.082 null ] >>
-endobj
-2319 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-2320 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-2321 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-2322 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-2323 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-2324 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-2325 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-2326 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-2327 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-2328 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-2329 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-2330 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-2331 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-2332 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-2333 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-2334 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-2335 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-2336 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-2337 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-2338 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-2339 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-2340 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-2341 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-2342 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-2343 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-2344 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-2345 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-2346 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-2347 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-2348 0 obj
-<< /D [ 2312 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-2349 0 obj
-<< /D [ 2312 0 R /XYZ 94.613 87.437 null ] >>
-endobj
-2311 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F22 455 0 R /F65 185 0 R /F70 300 0 R /F77 539 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2353 0 obj
-<< /Filter /FlateDecode /Length 2725 >>
-stream
-xڵZo߿=T6\Cah6@GՕ%CݿCR_Tn dg8fpޅm}{P3")-aL $IQ(n3W#L}{7BT 1 KlOٮ/>]]sƒ,ۋm t~ۿZ8-3m_+`CC-H
-T/޼i0ov&qZ9eǫ]Zud/}޲bO!HDniCo{HҫeN@m>hGe#Js- ﯮ A?2V6zm:*/fLaloYV͈uC;0EŮ)iF<urED(
-jH>Ru,wj+d(;iq\;Jώk\b$e4Hw֭_;sִE KE?ۇ%٤sSa("
-r-ҟ*y^e
-ĉ#ZaRQI%64KNE—IhGHCN2T] 1( #$?́Ip&C!c׌ %յ*m3
-S@BԙL?@agR@OъdRљy^M=o!@:fT""yB *KTy/
-kmŕ^~a ~FJKj-|2I3@ dcy ᡻~#8`h?[4͊ј6aOӑ#".<gc/aa@5p1: &O4>*x.gW(CRDĈ!{pi
-ZYC ϮEz=aa\7ȊStΑtYA@(ou:y.ָ̃vw_{yH&0Ep3&LU3mO˕剎6sCL5:t;Gt7wẍ"![kzhʰZ [կvIn<8U&͵܀ʣ
-endstream
-endobj
-2352 0 obj
-<< /Type /Page /Contents 2353 0 R /Resources 2351 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
-endobj
-2354 0 obj
-<< /D [ 2352 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2355 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2356 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2357 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2358 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2359 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2360 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2361 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-2362 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-2363 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-2364 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-2365 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-2366 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-2367 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 607.437 null ] >>
-endobj
-2368 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-2369 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-2370 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-2371 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-2372 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-2373 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-2374 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-2375 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-2376 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-2377 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-2378 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-2379 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-2380 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-2381 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-2382 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-2383 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-2384 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-2385 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-2386 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-2387 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-2388 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-2389 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-2390 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-2391 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-2392 0 obj
-<< /D [ 2352 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-2351 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F27 638 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2397 0 obj
-<< /Filter /FlateDecode /Length 2352 >>
-stream
-xڭZ[6~_}F ]
-_X{q)T(
- Зm q&.LJ,w)eeUi[ 2،y8=
-Q55hcbryZ;3_O&>YyMN,OrN@lW-A gbdXm"i+HߖÊߝF3qZN 8⍤>[)gІvf# >@\fj#0J qz M>#ew|=1JMAb4@׫px@
-&tiPBb`$SOFI
-74p &xXp F6AXU:h
-KrBlJ;Xŗjز5J9G7Jm}t 'yTبO.+^oRB1)l*J {VJ@D'lĈK#
-Қ3)'eMepr@raФK2#hi^U'HO"3LSQf:D<ؙe
-J=X@%щP/B}VB<Yx_A)&a L谮Zܱt" o4c *>P:*]&+╁tlU٬nQо_-rOcԡZ̯ܲ^/
-yJJO:
-
-"'m
-endstream
-endobj
-2396 0 obj
-<< /Type /Page /Contents 2397 0 R /Resources 2395 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2446 0 R >>
-endobj
-2446 0 obj
-[ 2393 0 R 2394 0 R ]
-endobj
-2393 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 139.584 331.671 146.046 341.671 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
-endobj
-2394 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 460.302 164.797 472.257 176.752 ]/A << /S /GoTo /D (section.0.13) >> >>
-endobj
-2398 0 obj
-<< /D [ 2396 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2399 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2400 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2401 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2402 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2403 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2404 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2405 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2406 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2407 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-2408 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-2409 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-2410 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-2411 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-2412 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-2413 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-2414 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-2415 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-2416 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-2417 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-2418 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-2419 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-2420 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-2421 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 488.882 null ] >>
-endobj
-2422 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 477.923 null ] >>
-endobj
-2423 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 466.964 null ] >>
-endobj
-2424 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 456.005 null ] >>
-endobj
-2425 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 445.046 null ] >>
-endobj
-2426 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 434.087 null ] >>
-endobj
-2427 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 423.128 null ] >>
-endobj
-2428 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 412.169 null ] >>
-endobj
-2429 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-2430 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-2431 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-2432 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 329.479 null ] >>
-endobj
-2433 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 318.52 null ] >>
-endobj
-2434 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 307.561 null ] >>
-endobj
-2435 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 296.603 null ] >>
-endobj
-2436 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-2437 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-2438 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-2439 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-2440 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-2441 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-2442 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 154.137 null ] >>
-endobj
-2443 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-2444 0 obj
-<< /D [ 2396 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-2445 0 obj
-<< /D [ 2396 0 R /XYZ 94.613 87.686 null ] >>
-endobj
-2395 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F22 455 0 R /F79 726 0 R /F76 467 0 R /F53 200 0 R /F42 757 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2450 0 obj
-<< /Filter /FlateDecode /Length 2465 >>
-stream
-xڽZ]o6}ϯ9]`>m]SV*+L{(Q8fÌ<$= :OQ$0g7 *M4gfj6~ɘכ|[
-o0r[tΛ`+0h!xg!kE}~B64P\AպG_ꛐ.k|Օ>mqGJp -mMt҄"2Cf7l5b$yKMe~˴(}*)RGh\վE{W3zL$*NI!:J }I/B1`.e`h#}m} wy
-{ʉVc 4iCXgPߴD]YFCM/}d4<ZmNRZ B<&?/0<n3YJ͉6,ƇPoBI b.ZI,o]0R@y)Ή '  1eK)\{T*+}`e3N,ҨOGQOh#mcmݜ4TЂQ x5Jܽ<nfWސhe`}=*a!h!A Hl{7nnAF.$1Du#91W%=^ES^_FQ;WNszq#㲂mWNL$EV\^nި nJG4!d\^B]ZKb9 7!5^ΰ4!ωi\N
-H<iGhc=,c ^%ӂxvi sp}_ZB)BЮh7ۖ}*#7+MN>usUOpޑҒp;=ҘhU~_)\m;qX4-%<tFBrYPhxER-B??'ʬ-tU]_jU?qLU,
-ĺvZ7hyS_rߔUp~ukjaiulsn'dbOL ?rP7Ӈ:F3xիiA97|cRpb<ݣ̋t<ӷOB8SqhljUl<vڝ~]7Zc]AW8WOp6MU
-^3%
-E*"ZLa5j//k^^Դa[4 LNzaϓ*"sknmރ\-CyUD=4!Lf6Δ|<`
-B~U`I"L]l ɓ&=BE˔k&;s!lrPyVz-ddNP+2BEnEbE" rXA/m$ǠF X1찗cF(Ǡ3tBwb#=[\8=-Gz+fpbˌ\Q ѯR<"oRY2Fvtx[REӮ"gVٕ `uH2D?(rCL]*Es|N|uCp.ӌdEԫ  IfՔs|j¥/,뙮)W}?-&0j'uc;\+^uULv5_[g/;7߀0ʱpv@_7{DX}Rg\gݟbh|KK[ =/nA"i!`nRI"͸.<"soٲ4_x ~螞;p
-pb~<sqH0tx{
-ش ?%x#rJÆJq@RfYb'2E61У- 1e9pU"`WqwVPgXbb_/&W ] ΍Y?1p>sShyp^RyW;F )o`hT~<u:2"+Ub?:fLKwVbv 73IpOJ?s]
-endstream
-endobj
-2449 0 obj
-<< /Type /Page /Contents 2450 0 R /Resources 2448 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2500 0 R >>
-endobj
-2500 0 obj
-[ 2447 0 R ]
-endobj
-2447 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.585 550.351 494.046 562.841 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
-endobj
-2451 0 obj
-<< /D [ 2449 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2452 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2453 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2454 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2455 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2456 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2457 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2458 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2459 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2460 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-2461 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-2462 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-2463 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-2464 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-2465 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-2466 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-2467 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-2468 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-2469 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-2470 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-2471 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-2472 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-2473 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-2474 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 470.949 null ] >>
-endobj
-2475 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-2476 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-2477 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-2478 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-2479 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-2480 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-2481 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-2482 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-2483 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-2484 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-2485 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-2486 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-2487 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-2488 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-2489 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-2490 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-2491 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 240.812 null ] >>
-endobj
-2492 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 229.853 null ] >>
-endobj
-2493 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 218.894 null ] >>
-endobj
-2494 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 207.935 null ] >>
-endobj
-2495 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-2496 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-2497 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 133.215 null ] >>
-endobj
-2498 0 obj
-<< /D [ 2449 0 R /XYZ 81.077 122.256 null ] >>
-endobj
-2499 0 obj
-<< /D [ 2449 0 R /XYZ 94.613 92.667 null ] >>
-endobj
-2448 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F32 176 0 R /F27 638 0 R /F22 455 0 R /F76 467 0 R /F53 200 0 R /F46 756 0 R /F42 757 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2504 0 obj
-<< /Filter /FlateDecode /Length 2355 >>
-stream
-xڥYKS;@`2eYJr?v)%nbK"XUd}UE| '|ɂ!`J ^$ /bQ$גD}w7E4
-c *_+ӧx҇9UU-A2NGGb1}ikv(!`@T"̨
-b5A{Ɠ̶]ѤYd/+7>9_fwC˶.>=(w)a$& dk"6BMl-n6^:}q"^zx`x&
-j*2/ T<`DŽ1FO:~Ϛ- g]^o=fy&)q+dH8$z
-Ϭ0ZBG8({̱A'UЕL}嚅n680hyQ=̬K3N4ygv :=8T!Bb9T:|n0%<l_L~Tw@&=鋹;0F6mX6:h9",Xמ/}Mъ&1!ګl]t,rMOWt" "I?;\2|(lh.L3+W+֪`e% X*ӯ>1_hi&6˗+lD$$OS0&Cl gcmcpjSbJ-(hP?Xrl/jp@IQlul㠎sχxR]CϼN=p+G/OCTa]Fԩl\" 9'
-dL zXGKlmW7}}6yK$0:wǚx '
-,CK0,iu%X 15gi[gI;W/@ }-LK"${ަUˀpo wʫeuMV: vK !TEEO: %D$xo*$U*"$GU= q|9 SyǐE4ı=:Es\;faJ6Ehx'=pߊ&q>CB'1öTT;%& 67;flDzUF|%1d
-endstream
-endobj
-2503 0 obj
-<< /Type /Page /Contents 2504 0 R /Resources 2502 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2541 0 R >>
-endobj
-2541 0 obj
-[ 2501 0 R ]
-endobj
-2501 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 486.924 675.88 498.879 687.835 ]/A << /S /GoTo /D (section.0.13) >> >>
-endobj
-2505 0 obj
-<< /D [ 2503 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2506 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2507 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2508 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2509 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2510 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2511 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2512 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-2513 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-2514 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-2515 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-2516 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-2517 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-2518 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-2519 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-2520 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-2521 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-2522 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-2523 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-2524 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-2525 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-2526 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-2527 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-2528 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-2529 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-2530 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-49 0 obj
-<< /D [ 2503 0 R /XYZ 79.37 354.909 null ] >>
-endobj
-2531 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 241.554 null ] >>
-endobj
-2532 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 230.595 null ] >>
-endobj
-2533 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 219.636 null ] >>
-endobj
-2534 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 208.677 null ] >>
-endobj
-2535 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 197.718 null ] >>
-endobj
-2536 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 181.778 null ] >>
-endobj
-2537 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 170.819 null ] >>
-endobj
-2538 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 159.86 null ] >>
-endobj
-2539 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 117.021 null ] >>
-endobj
-2540 0 obj
-<< /D [ 2503 0 R /XYZ 81.077 88.129 null ] >>
-endobj
-2502 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2544 0 obj
-<< /Filter /FlateDecode /Length 1949 >>
-stream
-xڽZM6Who os&孍*UrXiH<'i$HcYE$x
-_;iI%_w H4b"aI2Ɩ,,jo/e{sKדᡇ,ݯbˬٟtk޹[M{sӶ{_2)QriY"U*U-MiPFz>Zpat޶H`DsMS(|
-*)˴+/= ,H}6y}rCb&L Ȱz?3⧀4\`/`8rsskq1tjM~ƐqqeFgBhƹo./:oM NT(G9S4<Ά0N>#7GYgM}LԄ>c{$izZ{/ʴi^m7{3db\x: #"x~;)fW[U/>!NO_GEB81mnOue<J{ͩ4ŶwbMqxb4Eč7'H`q})̓P|g _Q$l tnVH2?)+'*DoRA+' h0De%Dwk"|q3@
-(C5\9ͭz0,!2˻hݿCD<[,ý]=q.;1h!^ 쪡 !Z؇e9hMYQuB3ҭx,).q|$ҘLIx!,5Pi1(Fa>2{6M)Y»sjM?yWM#i=,3mų-N1o+:zu I?U`j(QO
->.] Q/"ɨѥsK}J0$[t<u-DcUj[v ɄÚ)Th)¦[Qh7]7َˡA}u~"8&
-*pÜ|&q?@G':U) #Vi #QqYצOhf/3rBV BX= XPk%t|ߔ#d'"FKqǫka*PEy!B| q+
-{pn tХL"q!e s} "9wM }ሧK>-
->im=c'!erg*6 I?+'xhVm^k}6t֨Wqiٌk#d>;-hS(6cibsSBIp}c($Plaq)`7-Ll=ʆ"~cE5{cgvG3R0Vlx ^Ō-` 9/P-NxȺWṄW^e$>,] ݭlTx6Yf),,8&_r-ERAjps;
-endstream
-endobj
-2543 0 obj
-<< /Type /Page /Contents 2544 0 R /Resources 2542 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
-endobj
-2545 0 obj
-<< /D [ 2543 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2546 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-2547 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 725.992 null ] >>
-endobj
-2548 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 715.033 null ] >>
-endobj
-2549 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 704.075 null ] >>
-endobj
-2550 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 693.116 null ] >>
-endobj
-2551 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 682.157 null ] >>
-endobj
-2552 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-2553 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-2554 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-2555 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-2556 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-2557 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-2558 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-2559 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-2560 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-2561 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-2562 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-2563 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-2564 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-2565 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-2566 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-2567 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-2568 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-2569 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-2570 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-2571 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-2572 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-2573 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-2574 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-2575 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-2576 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-2577 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-2578 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-2579 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-2580 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-2581 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-2582 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-2583 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-2584 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-2585 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-2586 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 161.111 null ] >>
-endobj
-2587 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-2588 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-2589 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-2590 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-2591 0 obj
-<< /D [ 2543 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-2542 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2595 0 obj
-<< /Filter /FlateDecode /Length 2417 >>
-stream
-xZmo_!*f߹␢NH\ b"}ᒫUk?܉\;3ܙyfh<ٷW~s{ g9%|v"
-0EMxtUStޘY;K:yo3$UL%%@Xy˙c8`eTńG5yAY"-i_@my=(n
-$$3"4'iMZ)I(B)
-$B*1$Y'Q( Y\$n e _\
-#.
-f'}
-lk d>t 2)2!P}#Pb6I '?^p
-endstream
-endobj
-2594 0 obj
-<< /Type /Page /Contents 2595 0 R /Resources 2593 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2642 0 R >>
-endobj
-2642 0 obj
-[ 2592 0 R ]
-endobj
-2592 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 371.83 203.651 382.263 216.141 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
-endobj
-2596 0 obj
-<< /D [ 2594 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2597 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-2598 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-2599 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-2600 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-2601 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-2602 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-2603 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-2604 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 678.172 null ] >>
-endobj
-2605 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 667.213 null ] >>
-endobj
-2606 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 656.254 null ] >>
-endobj
-2607 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-2608 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-2609 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-2610 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-2611 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-2612 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-2613 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-2614 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-2615 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-2616 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-2617 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-2618 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-2619 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-2620 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-2621 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-2622 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-2623 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-2624 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-2625 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-2626 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-2627 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-2628 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-2629 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 362.356 null ] >>
-endobj
-2630 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 351.397 null ] >>
-endobj
-2631 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 340.438 null ] >>
-endobj
-2632 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 329.479 null ] >>
-endobj
-2633 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-2634 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-2635 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-2636 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-2637 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-2638 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-2639 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-2640 0 obj
-<< /D [ 2594 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-2641 0 obj
-<< /D [ 2594 0 R /XYZ 94.613 97.4 null ] >>
-endobj
-2593 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R /F22 455 0 R /F65 185 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2645 0 obj
-<< /Filter /FlateDecode /Length 1452 >>
-stream
-xŚMoF
-rv+ТЃ/5C[2M42R4{qYŲz8ΐߓOa02"jt|%9QpyB:_~W?{!lFADtaA(hS(fe[\'ʹNG|oL*ESMNfոfE{8)Yo?cRTiq 4?m(m/ysm[$۸ֿgE]?^C\e}5xM^ݼv^ )}KlNgZ ]M}WgW]qQ;nֳ/P%5 o"\BK&eXaLh`61ٶxl4߶xii
-2rSN.˫;U+58_\Esy~юDӦ~L2މ6Ǒf'ȹQ!ɚ)gմ=!?
-.xd0[x2>5V
-hTWO bg_aB 3۪!,#4Tx]5b)4u_W^evQ |}Hp6BTE͛fNWaEó_H%銼ToRw43\G),r41e-v9rN-r<UεŖ8󼒒29Nڀp$ۼ&V5kmM$_L5\k"ř_ ͎KMm6~qAo.("GIǛfN)oEVLg396"*HVV㭇k̂2U
-xM
-7E?'ܫG[L">SWV
-MիB!pV "k2?!(.ylS"֯^+j]
-B {E'Ii!{BpظTEM-77
-endstream
-endobj
-2644 0 obj
-<< /Type /Page /Contents 2645 0 R /Resources 2643 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
-endobj
-2646 0 obj
-<< /D [ 2644 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2647 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2648 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2649 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2650 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2651 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2652 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2653 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2654 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2655 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-2656 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-2657 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-2658 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-2659 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 607.437 null ] >>
-endobj
-2660 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-2661 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 585.519 null ] >>
-endobj
-2662 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-2663 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-2664 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-2665 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-2666 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-2667 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-2668 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-2669 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-2670 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-2671 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-2672 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-2673 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-2674 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-2675 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-2676 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-2677 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-2678 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-2679 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-2680 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-2681 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-2682 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-2683 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-2684 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-2685 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-2686 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-2687 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-2688 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-2689 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-2690 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-2691 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-2692 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-2693 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-2694 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-2695 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-2696 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-2697 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-2698 0 obj
-<< /D [ 2644 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-2643 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2701 0 obj
-<< /Filter /FlateDecode /Length 2058 >>
-stream
-xڵZ[s~?B}Tg+$ݭ<ɕM9[Bc^40Xje"i{u`0 f?|
-ǿ}{")ˆp*JEgwE7]gE)4aL^\st'ł~iFy}Ξ#P Oyp!:yNkÙ"A@}yB"5+=$Ҕ!\+(XCRޡcAcX4lG[[i]\K&O#WJᄣ8h+MMML]&lYbH:yBQJ!+z "Lk(H0`1ic]o;ւb J"MXe5^[Cז(70uS}l~Y^إ=~hT<Iy:~wr_eys㣜ԇoX$9C6_
-.
-ko&7Z !x>R8}HTzC4>)W8@x"y-i q!xJJ/ =4i&G?^#I\M⸚k$.1/g??PΚCYkW'7BzMB %{A5N˒q3d|PZnw }d<K楻i/jG"GeV&@6^tO*yݣgAqy{~lZhI#UTj!fnb=R|SǬI66OI~h ^ݮ4elN!%T -МG[̯(cϭ[NMYeE*>|#>jbxt/ ;K.<4~mm|Bo># M7 PtB 5D
-C!?Ya<cqf=pQs70g"qfPG:kxS`
-"-#"B)'Un
-)Vv"tW8ه覄dxf7ۄFw!^ޒ/)N!O8d)]ޕ I ZhnLuYzI 8Ͷ7鶗YwWRΓ|xྫྷ&?c@uTz ȇV+燋wQ-|q<%#Mt(}Е&K6[u'JINkvgYwgiyn_"`׾,f}dIG,^=?nkm炩9$Ij莝<9v%W>LU>o4XE{7ȐP6{BT&n@ʫ>p!gdŵpM*CT&uѱLP;!Qx讂 j̤e+SNN4pѴ[ kM@q 0ynЮM(DrnOR
-\^szh-fХk^sz`l`*{T]Q ?D.44@g?7ڿh? D$ S.فWؓH4_a;MR*#P@ 5 RYBFPŕhFHM¡|<G ^Ia]gwߒa=p궸i\Mqp_IeNC*BǷ1*icmZ>Z 'btt0fc]9x4/ӾBN@DG<MNSNB9.ɪ̈́hGGl: FUe!Ux?RY2e!xJl৬Jo:-fQՈ!
-endstream
-endobj
-2700 0 obj
-<< /Type /Page /Contents 2701 0 R /Resources 2699 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2702 0 obj
-<< /D [ 2700 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2703 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-2704 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-2705 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-2706 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 717.026 null ] >>
-endobj
-2707 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 706.067 null ] >>
-endobj
-2708 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-2709 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-2710 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-2711 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-2712 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-2713 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-2714 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 624.373 null ] >>
-endobj
-2715 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-2716 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-2717 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 591.497 null ] >>
-endobj
-2718 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-2719 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-2720 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 553.639 null ] >>
-endobj
-2721 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 542.68 null ] >>
-endobj
-2722 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 531.721 null ] >>
-endobj
-2723 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 520.762 null ] >>
-endobj
-2724 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 509.803 null ] >>
-endobj
-2725 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-2726 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-2727 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-2728 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-2729 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-2730 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-2731 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-2732 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-2733 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-2734 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-2735 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-2736 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-2737 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-2738 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-2739 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-2740 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-2741 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-2742 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-2743 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-2744 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-2745 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-2746 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-2747 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-2748 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-2749 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-2750 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-2751 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-2752 0 obj
-<< /D [ 2700 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-2699 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2756 0 obj
-<< /Filter /FlateDecode /Length 1592 >>
-stream
-xڽXkOHί/T~ TmTBhI X$q1Ej^cg<ҐJaΝ{̹C&JTxѻSmIe'G > K&hFf<2?X&8 Sbѳj@&4;Y474K&*GewgGb5|ԽԯgonA|/(a.k:FE9ΧlgUg}
-G+q џMY3%ct˿M'wMvVlzqzl.ezsMy;w\!+U]~W+O]p}
-H~Ď"?ml \LdeY#yHEYF,,zN<uPDt-*!{Oњ) t'B:Fjň4^-ngZgke(H͡fsq3x+YW{+phHRCm%NiBIj[sXVìQ}eRILwR|vhTZK[?H*ʼnh;HF胋XQ\EFR91\ !9^ MI/s'pC9飑YBw"t_jL;R*)&{4k|sUԊpU|<(I8VzSNISZ]YUghRYE 8h
-"trgUApٗgD"dg0J7"E"#ˊ5B_; %RYąO1D:2X\ ;e.]h
-΋!7c![}S7b0+]}+@UAUΚ6-Im_|
-^2rXޕ$kEvuӻl,t>e<XV}2Z(r I^A(Hn%i!)X
-HH;G [Yd ^Ҏ@ Cm;I-!VsTz$C4Z9ojebq׉rKS qsFXF<ǕfWfP\#4նͩw̢
-5B6пnlYnVv=WH4̇9n /hR+J
-WGLX"\[mq*ǐ|E #9H˛ykׅ'嫪
-endstream
-endobj
-2755 0 obj
-<< /Type /Page /Contents 2756 0 R /Resources 2754 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2757 0 obj
-<< /D [ 2755 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2758 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2759 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2760 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2761 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2762 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2763 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2764 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2765 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-2766 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-2767 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-2768 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-2769 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-2770 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-2771 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-2772 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-2773 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-2774 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-2775 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-2776 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-2777 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-2778 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-2779 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-2780 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-2781 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-2782 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-2783 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-2784 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-2785 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-2786 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-2787 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-2788 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-2789 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-2790 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-2791 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-2792 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-2793 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-2794 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-2795 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 339.442 null ] >>
-endobj
-2796 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-2797 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-2798 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-2799 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-2800 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-2801 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-2802 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-2803 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 228.857 null ] >>
-endobj
-2804 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 217.898 null ] >>
-endobj
-2805 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 206.939 null ] >>
-endobj
-2806 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 195.98 null ] >>
-endobj
-2807 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-2808 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-2809 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 120.264 null ] >>
-endobj
-2810 0 obj
-<< /D [ 2755 0 R /XYZ 81.077 109.305 null ] >>
-endobj
-2754 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2813 0 obj
-<< /Filter /FlateDecode /Length 2277 >>
-stream
-xڵZ[o8~00/6pxhCwE`a0ʒWv{(ʔ8!)<7ݛ?5SHI* xFfB,E ,n?n7aqCyQ-nȼJByueyݿŗ((FD2gxzn;j]d.e.3J#D$ME@=a#T P.bDHǪN?cBf'NtN+;JNlf_vT3<[F`+4>Tb=NEa$
-$t ˸5 LP<Rx q*!2J\!W$ߌ$BAF"P̹1nq&X.ܥZe+c 4_o$]Œr{}@
-5'Rk놥q Ԉ
-vf#Ė#F=ed[).ІW
-184AL[/hmUOҢZoϗ!k,8Hc{_Üq/yqz,N=n4LC^RPe<(L*&.&Ɲ
-s
-a]-)\3E,G4 2oNs{W'牊93I}`ݴ )uj`iS VQi>V0Nj [:jX6wvE^N8$KyKFq;:+muRW_WqV]ر1h?>vmjuľEB쁂Cs֙NeoLVyQ/]dͼ,
-.78RO,({yq0WĈφ0ϡp'̩#Yq:? e"î4m \>QS)I bWp>:"<ګ^p!5Y*cbe2>:olzS]}-fG ͣ0r:Ǚ~aɑ.:8>߿$Ck^
-㷏8O?$8EKA}~|A0d <t8m3QA 1Puu:XpbV=xfSGg#hxr[_WJ?"l'{I*}&gJiӵFőK"lRjAuuJqCDaRvBYpO 0VઊqUPrAO7Vs⹇ wn>Z!"aїat%Yث룧X`1w^: C4N}^3t5n-|Gcu?B-LJ1}gf>op^H}"ZH}h3ܓΜòą< Г\q yKi.uQ㥣ntbnSI_2FnU1l>.[:Z7ۉZ"2%H­y5N2
-*ƊӼ^mŻE`@/pgqg}t[_zb&M]d=Lh\l /5ݩ3:hYwoTx
-endstream
-endobj
-2812 0 obj
-<< /Type /Page /Contents 2813 0 R /Resources 2811 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2814 0 obj
-<< /D [ 2812 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2815 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-2816 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-2817 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-2818 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-2819 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 694.112 null ] >>
-endobj
-2820 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 683.153 null ] >>
-endobj
-2821 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-2822 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-2823 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-2824 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-2825 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-2826 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-2827 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-2828 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-2829 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 492.867 null ] >>
-endobj
-2830 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-2831 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 470.949 null ] >>
-endobj
-2832 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-2833 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-2834 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-2835 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-2836 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-2837 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-2838 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-2839 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-2840 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-2841 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-2842 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-2843 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 339.442 null ] >>
-endobj
-2844 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-2845 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 317.524 null ] >>
-endobj
-2846 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-2847 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 295.606 null ] >>
-endobj
-2848 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 284.647 null ] >>
-endobj
-2849 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 273.688 null ] >>
-endobj
-2850 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 262.73 null ] >>
-endobj
-2851 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 251.771 null ] >>
-endobj
-2852 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 240.812 null ] >>
-endobj
-2853 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 229.853 null ] >>
-endobj
-2854 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 218.894 null ] >>
-endobj
-2855 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 207.935 null ] >>
-endobj
-2856 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-2857 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-2858 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-2859 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-2860 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-2861 0 obj
-<< /D [ 2812 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-2811 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2864 0 obj
-<< /Filter /FlateDecode /Length 3033 >>
-stream
-xڽ[KoFW Î
-IIV T?asd-8|TWuu=n
-~z_#+xWd bj$AXa=?@Ak"G$Esqɰ\P-cV< ֭ <^861X<dIHXઞ9x>esqy2&A)'Ld\!MYLNsfff@#fbtqəX<XHBwۭq|<~[/p'  LSzIQa$&1k+5&%Y !Y8-1c
-$@eL4.տt:CpOi/3yqo6à 瞃2]^.+˗^l䋛hiBD ɧg ia4gZb;T bD`DiL:
-Ǫ݃|$Cjؗ<X[ئ)s^= Y;r TB.!c:kgKzއwngWpa'ݗ~fk-uۖ3,p}|BpNR_ֿ@`Ί2sʷ_Ty6#8 c!D ZfJ,JC#.DLbc `<GͿuvGo/
-q!+
-|Y@E5$ILslDL 2hfK <B1݌9qXL0Dh43$.Z,5' *O5
-qseD TE4$9l<>uutn73$
-({4 
-εYE_sl{xR&RODMdHMdWY eȘeTi2d`hTyŀ8=b0=059(##ޑ2v`UkYye
-I
-tx~r<?U1OowMy9!b8#^B^1~ W@Zu]kiרJ@(D<PH}t+>U?/4d! 8}%Ʀ6ik=;umohJ={3iXDmqx&}nʬ' U}}e꫈:5Ha´sf!b4$e KjD}~Hp Oc>ǰ;"ɈRϜh(^;D ;!3lL~_$aL \D׵LuD`]qJ<_ǢI9JoHz\`0*x?{\ؚH8NosLbbNC!4z=XH?#6i-?fe&s2`*%h<[qd4P8M$9;&M '`[D`6'/N αI"y,8)qFɉ`(YϚ$ 9ջpICo#~HB8*,3 DLiv
-endstream
-endobj
-2863 0 obj
-<< /Type /Page /Contents 2864 0 R /Resources 2862 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2865 0 obj
-<< /D [ 2863 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2866 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-2867 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-2868 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-2869 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-2870 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-2871 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-2872 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-2873 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-2874 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-2875 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-2876 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-2877 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-2878 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-2879 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-2880 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-2881 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-2882 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-2883 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-2884 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-2885 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-2886 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-2887 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 255.756 null ] >>
-endobj
-2888 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-2889 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-2890 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-2891 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-2892 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 183.028 null ] >>
-endobj
-2893 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-2894 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 143.178 null ] >>
-endobj
-2895 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-2896 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 121.26 null ] >>
-endobj
-2897 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 110.301 null ] >>
-endobj
-2898 0 obj
-<< /D [ 2863 0 R /XYZ 81.077 99.342 null ] >>
-endobj
-2862 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2901 0 obj
-<< /Filter /FlateDecode /Length 2460 >>
-stream
-xڽZKϯ-20-ɇ`AfA>f%$wE[m6X*>O H;Ï~,GyF]?~ ^E&$"aIſ1[~,
-հ{~KLʓDrD8(UQNۯ(z}hߩ
-?|&")H09 FTfa&mUeкyکa7vQum{޶aX4yYf,xr ʾ7Ǧ5>,W4KSaI% fB,#st_ìq8,*, -W/2֔yh.ѷ9cI'}WN$ۀ,Cl*՛xv=\`fVyS$%0k
-iD
-ܹڤ}*{WQ&Jξ/H4y벨\]Vꊭn0 ڔubۆQ{-Wi*Lf"I>^)01}5Q%ۛܛVlz(7~0E TuবM4u.әzg[#W"A2EDc[ւ~]esD۸n;[ yPR3XtK]{ިoλ.f0K{˕XyCLaAv
-2Y6A{!pmZ{ݷnܹ⌏9JOeqaD)P?;W\y
-S#Vé=&>3)#.I`q ;@!;A#ʩ/?%/IKjoY̧á"@~'b| }ҳ_KN~=VN eaUm}5ogB4&p O"w!U&M)I8ZFQ
-endstream
-endobj
-2900 0 obj
-<< /Type /Page /Contents 2901 0 R /Resources 2899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2902 0 obj
-<< /D [ 2900 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2903 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2904 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2905 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2906 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 668.209 null ] >>
-endobj
-2907 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 657.25 null ] >>
-endobj
-2908 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-2909 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-2910 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 624.373 null ] >>
-endobj
-2911 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-2912 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-2913 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 591.497 null ] >>
-endobj
-2914 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-2915 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-2916 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 558.62 null ] >>
-endobj
-2917 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 547.661 null ] >>
-endobj
-2918 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 536.702 null ] >>
-endobj
-2919 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 525.743 null ] >>
-endobj
-2920 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 514.784 null ] >>
-endobj
-2921 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 503.825 null ] >>
-endobj
-2922 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 492.867 null ] >>
-endobj
-2923 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-2924 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 465.967 null ] >>
-endobj
-2925 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 455.009 null ] >>
-endobj
-2926 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-2927 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-2928 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 422.132 null ] >>
-endobj
-2929 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-2930 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 400.214 null ] >>
-endobj
-2931 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 389.255 null ] >>
-endobj
-2932 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-2933 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-2934 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-2935 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-2936 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-2937 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-2938 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-2939 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-2940 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-2941 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-2942 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-2943 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-2944 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-2945 0 obj
-<< /D [ 2900 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-2899 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2948 0 obj
-<< /Filter /FlateDecode /Length 1946 >>
-stream
-xڽZnF}W `uc!Lܑ(ǙoOQ$lZX"`(<Su]ltmDU.q{Zۅ$2 ^ hfF3B5[?-wX.,qZ 3 U߮)?3!dfI9=4wbׂzd1U0=S3i<D-[8¤-NvܳHV7ݭm:n#xXƓ0+=Y760De3C8WlEɖpӊM5Z{lldFNAͧf7@ײ_3p
-^+}ftg\da_D67P2ێ{p3^0?zJ{XPC8)Klq":Tw* +k_Lk>&q%w%n\!q,@ů4/߳ P~̛䱧F['U.ELLuϔv!m<Oqf&րdi u&|0G>r-vi`zWL Œhl g>\
-SY)zIl
--;FeǥXN;VNXb\sddR
-|4rO!/|)՛}P,ղK
-J.U4WV zXm}ki4v >F@d?4sT_̬EFw5" УSKgt~B"8FFU:ٳ )[I]ŝ) :͋a|S$T~CKM>CBʐx:S!J]MhNPfJeR}BYh ͼo<v0G;7𯿡/1'LSj.8Ra
-endstream
-endobj
-2947 0 obj
-<< /Type /Page /Contents 2948 0 R /Resources 2946 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-2949 0 obj
-<< /D [ 2947 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-2950 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-2951 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-2952 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-2953 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-2954 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-2955 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-2956 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-2957 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 668.209 null ] >>
-endobj
-2958 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 657.25 null ] >>
-endobj
-2959 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-2960 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-2961 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 624.373 null ] >>
-endobj
-2962 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-2963 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-2964 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 591.497 null ] >>
-endobj
-2965 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-2966 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-2967 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 558.62 null ] >>
-endobj
-2968 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 547.661 null ] >>
-endobj
-2969 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 536.702 null ] >>
-endobj
-2970 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 525.743 null ] >>
-endobj
-2971 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 514.784 null ] >>
-endobj
-2972 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 503.825 null ] >>
-endobj
-2973 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 492.867 null ] >>
-endobj
-2974 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-2975 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 470.949 null ] >>
-endobj
-2976 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-2977 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-2978 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-2979 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-2980 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-2981 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-2982 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-2983 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-2984 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-2985 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-2986 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-2987 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-2988 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-2989 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-2990 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-2991 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-2992 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-2993 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-2994 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-2995 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-2996 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-2997 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-2998 0 obj
-<< /D [ 2947 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-2946 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3001 0 obj
-<< /Filter /FlateDecode /Length 1845 >>
-stream
-xڵYo6~_a/6а-(bZt5Ї6ʒ'+u`GJ2%s<DHww“O^_ }+&iE,n/}ODI$I4$AXb3y?\w?BZJ`"bZ'ȸ`K!a8Y~.f̈iD8"!1⻝U_.<\S$#U(98r{S76֧fvpX"*eg[`|m] +xi5\_Lj<3b}\4V&&NnkSi 0331#1N]gh :D1kNDHEZMtvk~ؔ}l]hZVuR̨64.+۲:e]VٷpOIKlUlL{s׎U/_[;f-oyP<8ƈs$:t܊up$iǭ !IcT"UvlLX`gtQFq#NwF ox&oxvچip 'MZj[žMugټy rCX0?+;C=6km Xp<^mVz~U\9QL*{Ώ~YãuaOD&2D&& 9C^"!g?t6G^(})"OME4R_OP8!MW8n*ңa1t}2ی2\"H8K¦u:[;b4su'ichdUU'ݦ8y;M+=y&4nvMWh؆I<Y+̴Pbef:}ӥcݳ6^4}
-R
-4ܶ(R^.
-!PM>1utHˍM'ͼ*r4-?U]^!>X}RYL4ˆ #O#+xKAGrގ"XH1.Ń8j3`|ewEV7K[Y!>3
-&&Ő]6Էn,)W`;f;>2>h]]mlUX~\$5̇_&`aiϿ'>T3 !<\ 5*E ]Dz3΄n_\g!M$$4́&y>Ig/<smA`q}?xNy 0 JNcLfyTjzbך+g4Mu2s !M&nkO
-endstream
-endobj
-3000 0 obj
-<< /Type /Page /Contents 3001 0 R /Resources 2999 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-3002 0 obj
-<< /D [ 3000 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3003 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3004 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3005 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3006 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3007 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3008 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3009 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3010 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3011 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 651.782 null ] >>
-endobj
-3012 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 640.823 null ] >>
-endobj
-3013 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 629.864 null ] >>
-endobj
-3014 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 618.906 null ] >>
-endobj
-3015 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 607.947 null ] >>
-endobj
-3016 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 596.988 null ] >>
-endobj
-3017 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 586.029 null ] >>
-endobj
-3018 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 545.352 null ] >>
-endobj
-3019 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 534.393 null ] >>
-endobj
-3020 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 523.434 null ] >>
-endobj
-3021 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 512.475 null ] >>
-endobj
-3022 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 501.516 null ] >>
-endobj
-3023 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 490.557 null ] >>
-endobj
-3024 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 479.598 null ] >>
-endobj
-3025 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 468.64 null ] >>
-endobj
-3026 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 457.681 null ] >>
-endobj
-3027 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 446.722 null ] >>
-endobj
-3028 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 435.763 null ] >>
-endobj
-3029 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 424.804 null ] >>
-endobj
-3030 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 413.845 null ] >>
-endobj
-3031 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 402.886 null ] >>
-endobj
-3032 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 374.164 null ] >>
-endobj
-3033 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 363.205 null ] >>
-endobj
-3034 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 352.247 null ] >>
-endobj
-3035 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 321.957 null ] >>
-endobj
-3036 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 310.998 null ] >>
-endobj
-3037 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 300.039 null ] >>
-endobj
-3038 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 289.08 null ] >>
-endobj
-3039 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 278.121 null ] >>
-endobj
-3040 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 241.684 null ] >>
-endobj
-3041 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 230.726 null ] >>
-endobj
-3042 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 219.767 null ] >>
-endobj
-3043 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 208.808 null ] >>
-endobj
-3044 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 197.849 null ] >>
-endobj
-3045 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 186.89 null ] >>
-endobj
-3046 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 171.12 null ] >>
-endobj
-3047 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 160.161 null ] >>
-endobj
-3048 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-3049 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-3050 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-3051 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-3052 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3053 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3054 0 obj
-<< /D [ 3000 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-2999 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3057 0 obj
-<< /Filter /FlateDecode /Length 2206 >>
-stream
-xZo6۰HX0SNH$'}E"eL%H7ng׋dy^|s!g ))l.0|L
-$p:KF9,]~/L"%>34D?[G[ypBmym.U2Dmq  T!̨cAB"B&OUg}[hnDXq 7_Sjt,A<ݿؗE}o0FcYdž XqhzۤDp,X)Ct8&MT;@Ѵ%C)G?qp0\/ǩAxp(g->`5S Bqs΋2.$fۻ~.v\v }٘6ʵ\iDXnZ;jpvntkuXIaYOap]ϋēyn e5_^j_j,G]|UX/h|&̨G!q+QHTm&k3##a楬ڗm:8s%p'* #
-8Dr`X)T
-΁4R?.]WWjTU[vtA }RH8A|W8 щ.gI]qfBm$b]#h3A7w- p/E{-pQ|\ q!7BnVkI?/.kڅh?g<HQ!H|]ΞNovv:{1BeC'n[l՛>X7HLRA8C/6Z79xфvţZ+NGˀt灌Uk_.ƴA3\0+33Z3˼`Wo?@?aLp9{55Zg6.Mn6YCVaSBYnm"r}[\I،@fFɼ{ z)ֺ6yϚɊ)ڬ=]ҷd"\7_`xZH(.qm
-ǺX2.n\?SWIHE1%8ߜ8#IGl)=/ rgyӸKtio1٧_]6_ү-x >4{Ͼqô38v0J^>-&is("*)Yuja{1SSUxXtt0*}!G<M)p-Ŕ"Hhd%B- d˒j -
-2%'.^ʸ@>/K*C4>b.ICtC] YnДY_FͶk,9C%;6=E 
-a~<t8mF[H`.y"P2eMB5PuUOCS˗b^.6 ,F x*G)⣏0$ R]GhY`EvUE+5 KX^).9MT,8"{ :`̽h"vmۑcvMxsY Gӻ)* Oxq.;Ro]r8Gua'<z.vэ E,o;\{^=`^, %[KCNmt~Ӽ8 Ķ]׃{X @sfY}~ءPTmա{<6g /;
-endstream
-endobj
-3056 0 obj
-<< /Type /Page /Contents 3057 0 R /Resources 3055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-3058 0 obj
-<< /D [ 3056 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3059 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3060 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3061 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3062 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3063 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3064 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3065 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3066 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3067 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3068 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-3069 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-3070 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-3071 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-3072 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-3073 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-3074 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-3075 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-3076 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 520.762 null ] >>
-endobj
-3077 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 509.803 null ] >>
-endobj
-3078 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 498.844 null ] >>
-endobj
-3079 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 487.885 null ] >>
-endobj
-3080 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-3081 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-3082 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-3083 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-3084 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-3085 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-3086 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-3087 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-3088 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-3089 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-3090 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-3091 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-3092 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-3093 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-3094 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-3095 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-3096 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-3097 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 255.756 null ] >>
-endobj
-3098 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-3099 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-3100 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-3101 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-3102 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-3103 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-3104 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-3105 0 obj
-<< /D [ 3056 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-3055 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3108 0 obj
-<< /Filter /FlateDecode /Length 1810 >>
-stream
-xZKSH+bWm:~r`_I8qKR*XXKR$f a\,S?Fdt6"dsyH5›ȈEH+
-DØI+&N r`12`&SJ3o:h$1ْ
-lU8[c׻fE9-˓wUD`DC-
-B {zBowyt޺z=:P֋Ww[^+c %}lYliђAG S?ݔܻ=XMvUhkVn.f:e_ju%V M\^㐡"WA/[1׹C9rMF6ŕ&"rD1x{nHwa(WyVN*n"ffW20"qq/RP0&*p;x'4ٶ,T*qʶZ'6Tp>!hJh "0=5@6~*C(X33>O;fuUy5UV7Mr;x ;lN
-( FPN^
-:f2A$W@p MFݞ'㒀>Eq"DG`<]09ngT 1E(6.qtx`Va*4 72_+o`IՕ˶68YG:0èkNxٚ{ܿ4^b`@';FɋIװAu %6m΃_vbp%&Tp.gO,mCgK~h@2bP(n{>VRY6 /[GC<f,t~Y;i"YDm K$h)E;jG~4n3m:-~^ːY>׮cfϋ5vjjuuQ4y 0=;r\O<T;̛{!eޟu+b=[1ra%"<5 q#Sg'ډ\Tz;g'y:o_Tj\oe S㦘#P &}7 +RQ!8\68XunԍqnQke.JX7ܑmJeܲҌ}8\
-j۷Vl17震9v⪵w;h^^N^q>Ϣ_'bH[liCFMJ HXKE' \X^ ʜ
-endstream
-endobj
-3107 0 obj
-<< /Type /Page /Contents 3108 0 R /Resources 3106 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-3109 0 obj
-<< /D [ 3107 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3110 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3111 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3112 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3113 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3114 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3115 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3116 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3117 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3118 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3119 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3120 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-3121 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-3122 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-3123 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-3124 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-3125 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-3126 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-3127 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-3128 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-3129 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-3130 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-3131 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-3132 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-3133 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-3134 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-3135 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-3136 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-3137 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 467.989 null ] >>
-endobj
-3138 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 457.03 null ] >>
-endobj
-3139 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 446.071 null ] >>
-endobj
-3140 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 435.112 null ] >>
-endobj
-3141 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 424.153 null ] >>
-endobj
-3142 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 413.194 null ] >>
-endobj
-3143 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 402.235 null ] >>
-endobj
-3144 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 391.276 null ] >>
-endobj
-3145 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 380.318 null ] >>
-endobj
-3146 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 369.359 null ] >>
-endobj
-3147 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 358.4 null ] >>
-endobj
-3148 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 347.441 null ] >>
-endobj
-3149 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 336.482 null ] >>
-endobj
-3150 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 325.523 null ] >>
-endobj
-3151 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 314.564 null ] >>
-endobj
-3152 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 303.605 null ] >>
-endobj
-3153 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 292.646 null ] >>
-endobj
-3154 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 281.687 null ] >>
-endobj
-3155 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 270.729 null ] >>
-endobj
-3156 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 259.77 null ] >>
-endobj
-3157 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 248.811 null ] >>
-endobj
-3158 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 237.852 null ] >>
-endobj
-3159 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 226.893 null ] >>
-endobj
-3160 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 215.934 null ] >>
-endobj
-3161 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 204.975 null ] >>
-endobj
-3162 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 178.162 null ] >>
-endobj
-3163 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 167.204 null ] >>
-endobj
-3164 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3165 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3166 0 obj
-<< /D [ 3107 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3106 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3169 0 obj
-<< /Filter /FlateDecode /Length 1720 >>
-stream
-xYKo6WȡNp~=]t J"tP)ћu<"{ mg883 vB#QɛwN$q >_0D331d~;sʵbg{XN,qZ ;3A S2FgB^\$uHu^Y^7Y,"geHtS 6F?e GA8P#Ji$Nfe9wvQN?E 7Y-aҊ?q(3sS8hC&\ [&[Y"0MrO?]$`"/M(M3,-RZIS`uNAM66hi+.ȶ6W;n7&U3,ܴpݎ0ఠ;L[<q]m(ɪIj_ClV>.D@̚|>Fe+F īNo~jocwI.4CUR-p-x>𬑗pϒedpϖ^x%Cc4-K_ U;` Ĭ{T8UmD. f|"pz6E7c0^ҁe*+OK;zʎdž-6/vq<9-`#4^6kɟ2X nYz\M]Gdjjyᔡ@%Cm$xc4ƥP68*}/q(-20Ѹ{=/aPs7Y;& #qD8% g=qf4;;MW73n;m*9.fVtK))L\<Bk)015k^ ٹp%uiUݖUn4i=nn'[h䋴;돹ct W}dH(4].1n37!Y8>Fw-g]g&hX\g,)U1tQu:Lr7:sg݇>Mk5wAG!ԀX̳_lݐ1<G##0ՠҪY1[4AN/BfqiRFMX DH,G*#kMCfe*qtIh~+q;ZVd')!w6kwPLD9߬[Zui;(5h; C5T#q#:p/@&6ǎdѣxQw;Z7N5Be+%*!Ow@M)Tn]$xHguLJl/)G>M3=BٚYG8EݥzQA|Nff,r}7M?ӳr #4 '6/pw"6{*RZʫ:]jb8+\܅0}Ї7P%2o w͠Ж``o/rW<3F|O?
-endstream
-endobj
-3168 0 obj
-<< /Type /Page /Contents 3169 0 R /Resources 3167 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2753 0 R >>
-endobj
-3170 0 obj
-<< /D [ 3168 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3171 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3172 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3173 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3174 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3175 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3176 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3177 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3178 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3179 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3180 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3181 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-3182 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-3183 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-3184 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-3185 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-3186 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-3187 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-3188 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-3189 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-3190 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-3191 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-3192 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-3193 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-3194 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-3195 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-3196 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-3197 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-3198 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-3199 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-3200 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-3201 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-3202 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-3203 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-3204 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-3205 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-3206 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-3207 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-3208 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-3209 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-3210 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-3211 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-3212 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-3213 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-3214 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-3215 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-3216 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 218.894 null ] >>
-endobj
-3217 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 207.935 null ] >>
-endobj
-3218 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-3219 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-3220 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-3221 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-3222 0 obj
-<< /D [ 3168 0 R /XYZ 81.077 109.305 null ] >>
-endobj
-3167 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3225 0 obj
-<< /Filter /FlateDecode /Length 3025 >>
-stream
-xڥZ[o~?@
- $ckt;ԏ3d&1jrn3dT P##M√
->\pل%AOB}dUʏ*)atԢD7t )
-*U|l+0 Ӂ aoӡ2 ]OCcDf}>=ﲢ .yGI2|6Js|RMw<ӋW ;h
-^5h:hł,zcb_D=O iԤ`9uSqdui]%L1N=3Sh>k
-)GvkgdD. M}wfc~ ;qLjs dᗢ}{]W`.UoK2>p1(.þ4o*qM>m3\R{ە9WXs`;#4)g<,7$v С
-.ys;N<ց)1{*k%_(
-Тڤ7 %ݨB$e< }NI{fqHi޸xvv.tU\8mQ
-QE[hBoQ!fPX =f::h$23JYMK]
-W]/eKәpD8U$j4.T8@18 8c5ntǙΊ
-#7V[,US;du Lat^O^S^xDA=P:Mz-c xLx xc+ZN]JGR:OS^{|RVj6ۤ'cDHRe 0~Rh4K>xSܞp>Oceh=mfb IM2)g=tY癭;}gߦ,@X_Hq5~yo/Nm4{-O0O>"FϣIgdzp>ED,\{\;q3Tԍ.b=m6<]JsKBAUU̒\TQuPԡګUIǛD-jR` V4yCXe ˠI+RHt
-endstream
-endobj
-3224 0 obj
-<< /Type /Page /Contents 3225 0 R /Resources 3223 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3226 0 obj
-<< /D [ 3224 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3227 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-3228 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-3229 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-3230 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-3231 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-3232 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-3233 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-3234 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-3235 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-3236 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-3237 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 542.68 null ] >>
-endobj
-3238 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 531.721 null ] >>
-endobj
-3239 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-3240 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-3241 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-3242 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-3243 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-3244 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-3245 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-3246 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-3247 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 301.584 null ] >>
-endobj
-3248 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 290.625 null ] >>
-endobj
-3249 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 279.666 null ] >>
-endobj
-3250 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-3251 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-3252 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-3253 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-3254 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-3255 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-3256 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 173.066 null ] >>
-endobj
-3257 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 162.107 null ] >>
-endobj
-3258 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-3259 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-3260 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-3261 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-3262 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-3263 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-3264 0 obj
-<< /D [ 3224 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-3223 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F27 638 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3268 0 obj
-<< /Filter /FlateDecode /Length 2236 >>
-stream
-xڽZ[o~_1>DFkVK< y0@R4@3u8kP.'`X<<wNڭwb_*E aWx%SDJ
-bWwѿ5ǫk*q9WDFZ+3T}ij$115'8zhZ;/T?ǢmʴHi
-@*OJ%E-AN&)UMp=E齲bNۗU<c)±s2ESw
-#H<.7QobڸCޏ677C&{
-0&..P3ZUqU(ѡm@ਲzk_ `;[FISldTfr<7aph}[ɋq˙GOR&B4H1"r[,hCxZƸ}7h6{Ǯ̺}H(_)!09xdٸlm@
-Ncspʌ"q ?MaGހ;~xNIhesSVC
-s~qh]SF0S/tx./#IFo/&%Gd!z^+M@ VVawfs<l36OV I0ѵpĩ982 Q]s!ICiŤiB{Y> lz>oo=:Vٳ݉w6 P"0ї$)BZ}]Km ۸""ytHCod|/Xꮋ;_Wn"pN ,3u)',q/U&ޓǡCqm <hd@ k:KєeX`b%~"GbByEYO.\}-t2 =GpKvIO}5Sb Bq|U=?{X ZdnGXޏ`1d,f)_xGI>9BYspH7d}D$?G/8Η-@rb*k-ii;2w?/.=E LUd/Ao?7 Xi}9s{yADŽA<7*T 6MR8RH_>dvM*&$D&WQ*!~ q[$1g)!Y~͍}n& TF7N{^"!xzOEƧK)|մ/Ѹ;L!նMPROsc֕!w)m[he0R܉[7eX>s! OfX~f썼ޘd5
-9]2* /9bY #* pV~8‘!6tI82.2ي'?'8%YO<V}>?[]Lׁ
-endstream
-endobj
-3267 0 obj
-<< /Type /Page /Contents 3268 0 R /Resources 3266 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3269 0 obj
-<< /D [ 3267 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3270 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 719.163 null ] >>
-endobj
-3271 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 690.56 null ] >>
-endobj
-3272 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 679.601 null ] >>
-endobj
-3273 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 639.043 null ] >>
-endobj
-3274 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 628.084 null ] >>
-endobj
-3275 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 617.125 null ] >>
-endobj
-3276 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 606.166 null ] >>
-endobj
-3277 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 595.207 null ] >>
-endobj
-3278 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 584.248 null ] >>
-endobj
-3279 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 573.289 null ] >>
-endobj
-3280 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 562.331 null ] >>
-endobj
-3281 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 551.372 null ] >>
-endobj
-3282 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 540.413 null ] >>
-endobj
-3283 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 529.454 null ] >>
-endobj
-3284 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 518.495 null ] >>
-endobj
-3285 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 494.31 null ] >>
-endobj
-3286 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 483.351 null ] >>
-endobj
-3287 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 472.392 null ] >>
-endobj
-3288 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 461.433 null ] >>
-endobj
-3289 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 450.474 null ] >>
-endobj
-3290 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 414.334 null ] >>
-endobj
-3291 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 403.376 null ] >>
-endobj
-3292 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 392.417 null ] >>
-endobj
-3293 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 381.458 null ] >>
-endobj
-3294 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 370.499 null ] >>
-endobj
-3295 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 359.54 null ] >>
-endobj
-3296 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 348.581 null ] >>
-endobj
-3297 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 337.622 null ] >>
-endobj
-3298 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 291.375 null ] >>
-endobj
-3299 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 245.128 null ] >>
-endobj
-3300 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 234.169 null ] >>
-endobj
-3301 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 223.21 null ] >>
-endobj
-3302 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 212.251 null ] >>
-endobj
-3303 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 201.293 null ] >>
-endobj
-53 0 obj
-<< /D [ 3267 0 R /XYZ 79.37 177.307 null ] >>
-endobj
-3304 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3305 0 obj
-<< /D [ 3267 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3266 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3308 0 obj
-<< /Filter /FlateDecode /Length 2189 >>
-stream
-xZ[o~ϯњ⇅ۢYX0v#ǐd=΅Ef/&5o眏j«_ݫ!feTxEV VJ%YUw5SlkʲjX{,sUm+|gx}uME_4{/B)*TcLʾ4CU8m
-ck #I03c3m )8cmꤱWqĵnq*vFܶ[{w:4|hڹA`ک&k7umn}Uk}e޶Mx]\Ip{;~0vS5تfy\7O}G}Vnߕ)ÙBDei0RDƐUIC\~60CnGFFCH`Lbz4UJ`зd:yfbL;iT|dv"&N юݦ˺7ozFmp>*)e=firhٶ!d/ [_k1O61 5ih]mpH%"aYr.&"'ˈ߼=xÈ*rfF.c0xO 2woE{+ Z9 _vL vtJP~2 ~G"گg=),:[7R#c7S&C*[.XM 6vq5^>H!'!r/<Gue>ų. ogbvH
-qKr㖦i4DYl)saAh 2#㈰9zi1Dq!J͜nFzMo+*f64\ۭcLK$)&)6_QlN9q-rƩB10z^2<iDh7^Cf}wqcH{BZ#Y3k:DO ' Ws29&f&Ӹa@V
-Q!6'x q%WuVU^oKӍoZb 8ÈD]lm,}
-ǹŜ^Ӡzx(>^ t'/.
-J5o M3$DG@?M5]l޿lI'W̗\pĬ8̅6%7ghB !#b'G)v/y,;MR14P5Zt7/cT !ЕΒ`9fi%#6)dkL˔F˹ow``fv4iG?ʃP=Lѿ3DeZ}3(!s"b~[g2ffC~ӻf<z`Rjՠa- Qf T|飇 yNDKc])K94v<i!fYY8*%)4mm1D {޶x^tTx7%i!؟W]>$ũ;4!i,Br0]L8[6M#Q?%DfLlɰۭtM5>)yMPhR.vrV6LG#٣HQpAӱ mm!~d}%gMNYCQnޟ=
-endstream
-endobj
-3307 0 obj
-<< /Type /Page /Contents 3308 0 R /Resources 3306 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3309 0 obj
-<< /D [ 3307 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3310 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 731.092 null ] >>
-endobj
-3311 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 720.133 null ] >>
-endobj
-3312 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 709.175 null ] >>
-endobj
-3313 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 698.216 null ] >>
-endobj
-3314 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 687.257 null ] >>
-endobj
-3315 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 652.862 null ] >>
-endobj
-3316 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 641.903 null ] >>
-endobj
-3317 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 607.509 null ] >>
-endobj
-3318 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 596.55 null ] >>
-endobj
-3319 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 585.591 null ] >>
-endobj
-3320 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 539.242 null ] >>
-endobj
-3321 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 528.283 null ] >>
-endobj
-3322 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 517.324 null ] >>
-endobj
-3323 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 506.365 null ] >>
-endobj
-3324 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 495.406 null ] >>
-endobj
-3325 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 484.447 null ] >>
-endobj
-3326 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 473.488 null ] >>
-endobj
-3327 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 462.529 null ] >>
-endobj
-3328 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 451.57 null ] >>
-endobj
-3329 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 440.611 null ] >>
-endobj
-3330 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 429.653 null ] >>
-endobj
-3331 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 418.694 null ] >>
-endobj
-3332 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 407.735 null ] >>
-endobj
-3333 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 396.776 null ] >>
-endobj
-3334 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 385.817 null ] >>
-endobj
-3335 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 374.858 null ] >>
-endobj
-3336 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 363.899 null ] >>
-endobj
-3337 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 352.94 null ] >>
-endobj
-3338 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 341.981 null ] >>
-endobj
-3339 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 331.022 null ] >>
-endobj
-3340 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 320.064 null ] >>
-endobj
-3341 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 309.105 null ] >>
-endobj
-3342 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 274.71 null ] >>
-endobj
-3343 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 263.751 null ] >>
-endobj
-3344 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 252.792 null ] >>
-endobj
-3345 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 241.833 null ] >>
-endobj
-3346 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 207.439 null ] >>
-endobj
-3347 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 196.48 null ] >>
-endobj
-3348 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 185.521 null ] >>
-endobj
-3349 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 174.562 null ] >>
-endobj
-3350 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 163.603 null ] >>
-endobj
-3351 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-3352 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3353 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3354 0 obj
-<< /D [ 3307 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3306 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3357 0 obj
-<< /Filter /FlateDecode /Length 1448 >>
-stream
-xڽMoF
-rvB-
-QiNE/ynEW͓kd.MzϨ'*7"9MzJQ]sP6"ohj_ks*<ƣHQ"Ch\-t\d/424hOf^gj5]w}t1i$HA4=6`dtihS[jH!^*^dtU '&7:Ŵ<oNi1t4>t
-lt=IP٫lWY~=<tȪbUņٌo* 5_1ڨR@~ȊnʳxO*Qs\x:x
-USv{:``CK).7U^^Ud.0iqVB*NՂ&O MuRք!zM$/,&|1^+깼ZW PoŗUuY֘!ՠ)MD8/χdEFVф41Ct#ʃajݲ#.<Uռ|t: jE:ZsEhR8
-'Tj0/K*9~߅ZL%kv!!oz=B=K&'I{f?^ÿ1XSY?ɮ&BМ?ƿɫe]B)JR,#i+}
-‚A\ÙQ;n=N߂6h4y PKcH؄C*:99_jշ)204Gtƕi>E/GH?GȬ##茼d2 7$Gn#cbͫ$FpP::Մ׏#<a>އNo6>¦.,OS][EOM߼xo=D֎
-endstream
-endobj
-3356 0 obj
-<< /Type /Page /Contents 3357 0 R /Resources 3355 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3358 0 obj
-<< /D [ 3356 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3359 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3360 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3361 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3362 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3363 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3364 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3365 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3366 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3367 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3368 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3369 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-3370 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-3371 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-3372 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-3373 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-3374 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-3375 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-3376 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-3377 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-3378 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-3379 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-3380 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-3381 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-3382 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-3383 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-3384 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-3385 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-3386 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-3387 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-3388 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-3389 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-3390 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-3391 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-3392 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-3393 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-3394 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-3395 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-3396 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-3397 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-3398 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-3399 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-3400 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-3401 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 218.894 null ] >>
-endobj
-3402 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 207.935 null ] >>
-endobj
-3403 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-3404 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-3405 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-3406 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-3407 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-3408 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-3409 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-3410 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-3411 0 obj
-<< /D [ 3356 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-3355 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3414 0 obj
-<< /Filter /FlateDecode /Length 2023 >>
-stream
-xڽZo6~_a /6)F1ta{S>JՖ<Iw%ZtCPxǻwnB'\JUb&X\^0D'lb0= #4aݔf
-kXN I"̔!š yj_6EYl_%­,6ib"ZWvoVQ(Mpj<{Ӈn(VIX¤*iJcS)MجfVŒ 2cS桾__ݪ;zLW~uV7m}?̷R 슥"GO[epVi[0hDƇ!MOA_VvbT %;B&V#6QQDǍih(K
-4PufzLF~tCkZX\S JjqvlVW.VDm OEhl(,Fhts#2:QKqU>BnÅZr=>8 :7ȐAmyG^ /_q dXR"^6.uGM,c`.YG5u܇xT<}˺(u "lWiV(-l"\EHN4cyc5ܐעxvq`h‹})'Z,6uf;{4_祖CU9bz)>@t5{` x9m+ۇnCCæh̪⨟ӸNT=룁%!$3._}&ipPb:0Dc8?=1Vs܇ G`F&$@ Ӵ54g^W1fף~ՙ+ eL2s~ơɄKxfd
-X~ca"PUpfPQv >sn!1X5ýՌslٸZﬞ8?( 0$pNq[;`:rrq>0聇t1<je
-endstream
-endobj
-3413 0 obj
-<< /Type /Page /Contents 3414 0 R /Resources 3412 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3415 0 obj
-<< /D [ 3413 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3416 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3417 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3418 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3419 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3420 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3421 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3422 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3423 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3424 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3425 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3426 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-3427 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-3428 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 619.392 null ] >>
-endobj
-3429 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-3430 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-3431 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-3432 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-3433 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-3434 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-3435 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-3436 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-3437 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-3438 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-3439 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-3440 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-3441 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-3442 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-3443 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-3444 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-3445 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-3446 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-3447 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-3448 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-3449 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-3450 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-3451 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-3452 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 296.603 null ] >>
-endobj
-3453 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-3454 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-3455 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-3456 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-3457 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 241.808 null ] >>
-endobj
-3458 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-3459 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-3460 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-3461 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-3462 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-3463 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-3464 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-3465 0 obj
-<< /D [ 3413 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-3412 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3468 0 obj
-<< /Filter /FlateDecode /Length 2072 >>
-stream
-xڵZMo8W6f`]
-4 #rzXuYuUM~,л+*xG7D[ ٝz!ΩWa?&Pǽxr1kBxwGMтL9IW]P~]&
-ۢHIBs\DC#:Kv}v).!&|S[ x'$`#QJԎ;įk'yYAHcI \KdAD1/%[ w/dzq\96ț&-^\S_l랚7</р0Jզ]YWNVNŨ3.ԍcJQV`=۲兾\5N ! !dTj/zbbzxy T%)|{iOMFOH Q㚈Qvڮɚ+`j*4J#m#)Vz)OGh[I}K\!:`G%6;zk )"|& ʆ#4o^QhЗ\=8ϰ~©䌌1('`2H#q9BMλ@:>+.l/Wy*q;BƆu"M96.wWh.7nR(K@F;׆Ļ|Q.tڀEK<D =!lk--:\H}ĉNk`w6^]KV7Uu&8ԻnipVs]5E-_v[6m55SF5! *D_6; |GPB%AheiB }SCT45HGWpna_8] l>(\z'{WqXI}ڠ8j#4~&Rz+E?!^ -1 ˎ.lg>e9.=|X23pLΓ>'|kw"E0fu4[=:>:ڪm]uP^T`Be@eO)T}'"M
-w'g||Ri3uP i/sZI"||Nؾo`s\ {y&x4ؾ) {s(q[G!-huj6+EF⸄KS=B2i]PHF ndx"K,=1]F):E)C"߿!T2ֻeuevx>bM|\
-G7v(L$$Ճ18HA7
-endstream
-endobj
-3467 0 obj
-<< /Type /Page /Contents 3468 0 R /Resources 3466 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3469 0 obj
-<< /D [ 3467 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3470 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3471 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3472 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3473 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3474 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3475 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 667.499 null ] >>
-endobj
-3476 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 656.54 null ] >>
-endobj
-3477 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 645.581 null ] >>
-endobj
-3478 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 634.622 null ] >>
-endobj
-3479 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 623.663 null ] >>
-endobj
-3480 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 612.704 null ] >>
-endobj
-3481 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 601.745 null ] >>
-endobj
-3482 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 590.786 null ] >>
-endobj
-3483 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 550.26 null ] >>
-endobj
-3484 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 539.301 null ] >>
-endobj
-3485 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 528.342 null ] >>
-endobj
-3486 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 517.383 null ] >>
-endobj
-3487 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 506.424 null ] >>
-endobj
-3488 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 495.465 null ] >>
-endobj
-3489 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 484.506 null ] >>
-endobj
-3490 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 473.548 null ] >>
-endobj
-3491 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 462.589 null ] >>
-endobj
-3492 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 451.63 null ] >>
-endobj
-3493 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 440.671 null ] >>
-endobj
-3494 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 429.712 null ] >>
-endobj
-3495 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 418.753 null ] >>
-endobj
-3496 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 407.794 null ] >>
-endobj
-3497 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 396.835 null ] >>
-endobj
-3498 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 385.876 null ] >>
-endobj
-3499 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 374.917 null ] >>
-endobj
-3500 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 363.958 null ] >>
-endobj
-3501 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 353 null ] >>
-endobj
-3502 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 342.041 null ] >>
-endobj
-3503 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 331.082 null ] >>
-endobj
-3504 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 320.123 null ] >>
-endobj
-3505 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 309.164 null ] >>
-endobj
-3506 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 298.205 null ] >>
-endobj
-3507 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 287.246 null ] >>
-endobj
-3508 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 276.287 null ] >>
-endobj
-3509 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 265.328 null ] >>
-endobj
-3510 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 236.757 null ] >>
-endobj
-3511 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 225.798 null ] >>
-endobj
-3512 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 214.839 null ] >>
-endobj
-3513 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 186.268 null ] >>
-endobj
-3514 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 175.309 null ] >>
-endobj
-3515 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 164.35 null ] >>
-endobj
-3516 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 153.392 null ] >>
-endobj
-3517 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3518 0 obj
-<< /D [ 3467 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3466 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3521 0 obj
-<< /Filter /FlateDecode /Length 2709 >>
-stream
-xڥZo߿}:hX~4bѢ{hqS+pw0յ%$o C:{H$Srf8͐xُpx_>=HK*xFfF,e ,~?esnony韦kQW޿7Ԡ$0}O4;(1-jb'?yŵg6ʱkmk$ϭ>>
-a:aWx^˪5pV
-8"cYxZ/q׈`H=w7Tnn5|zl_MQa"(+P|o~"U;ʼ!<mm zr/4m3"_ϛ 
-I1!ÌL3hVYDZe,r<H ]RKtlyj
-OEZ˘KcD#l7 Xr 0T3"GQI BAθ 8 3,HN1ʘ U[[Ak-?~\+ |Mul_wEi%IPq0(ԯscDsk$v]!͢+Gz[}?@56j^VYY*Rc .cCb1u$?V [iS{3{^6]>w`[/VzN
-ÓDlD
-ѬnLf"tD[ZlM@!/!ڷhT~ '4TJ'ZˏP%
-s E q
-+s!Dy~n
-?½/%&4dTv ƈ8\C"A&a&GwޜR1[)!X׳Ը2e%ש
-qB%w䪲- 6, *G.˗Eyϐ誒<^D }IbLG4qXͧ9@N: Nc}L}%p~IcLMH1
-6w%/N[S yH/EEҮۍ hܩc7NuU/oH ؋˂#o8u,:FBBCs p?
-endstream
-endobj
-3520 0 obj
-<< /Type /Page /Contents 3521 0 R /Resources 3519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3522 0 obj
-<< /D [ 3520 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3523 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 731.06 null ] >>
-endobj
-3524 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 720.101 null ] >>
-endobj
-3525 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 709.142 null ] >>
-endobj
-3526 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 698.184 null ] >>
-endobj
-3527 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 687.225 null ] >>
-endobj
-3528 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 676.266 null ] >>
-endobj
-3529 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 665.307 null ] >>
-endobj
-3530 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 654.348 null ] >>
-endobj
-3531 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 613.674 null ] >>
-endobj
-3532 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 602.715 null ] >>
-endobj
-3533 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 591.757 null ] >>
-endobj
-3534 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 580.798 null ] >>
-endobj
-3535 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 569.839 null ] >>
-endobj
-3536 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 554.072 null ] >>
-endobj
-3537 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 543.113 null ] >>
-endobj
-3538 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 532.154 null ] >>
-endobj
-3539 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 477.619 null ] >>
-endobj
-3540 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 466.66 null ] >>
-endobj
-3541 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 455.701 null ] >>
-endobj
-3542 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 444.742 null ] >>
-endobj
-3543 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 433.784 null ] >>
-endobj
-3544 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 422.825 null ] >>
-endobj
-3545 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 411.866 null ] >>
-endobj
-3546 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 400.907 null ] >>
-endobj
-3547 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 389.948 null ] >>
-endobj
-3548 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 378.989 null ] >>
-endobj
-3549 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 368.03 null ] >>
-endobj
-3550 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 327.357 null ] >>
-endobj
-3551 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 316.398 null ] >>
-endobj
-3552 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 305.439 null ] >>
-endobj
-3553 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 240.855 null ] >>
-endobj
-3554 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 229.896 null ] >>
-endobj
-3555 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 218.937 null ] >>
-endobj
-3556 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-3557 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-3558 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-3559 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-3560 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-3561 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-3562 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3563 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3564 0 obj
-<< /D [ 3520 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3567 0 obj
-<< /Filter /FlateDecode /Length 2244 >>
-stream
-xڽZ]o6}ϯp
-y@Ɔ4.Ug,DHsҭ}Um/ \\Ѱ(0Xj-G~i7-CQjNjedn84Na)5Ogm^x'LF\uK׽sh4&XRg|F(ڟ@jN,.)hcF>IVY~(G廜$>_z~5!YcD؉qWuez8^@Rx^V֓IK 0s.9M d]_uo(';n4C'biCtڍϸ"?Bz:ȉH[f~0$}4Ks;{n)o LqADŽ`K{۴U#KM`]f2r bɌ_mA,<W jE6l¼{cqcfuk!:ĨnMg ҨˀD
-9 ,~zvYpLzdT%Mt$NEʦEщht\-&Zd'WrCH ]%r]88Sf'f
-ى!w}~5mTxq].Cizlum4e҉ó1cXY(s
-+-ۍ9R
-*LAfilfV6 '?3(;g3Ex}UvMm3){٭)cQphmҝ{?HqdO:++FR@#r;6tuFx)~ Dl з%9Bd,^]1ES'VG=ơI݉(ˢ~vi
-΋ߘf YlȘcUT
-BL㨣
-LD\2 Ѓ
-endstream
-endobj
-3566 0 obj
-<< /Type /Page /Contents 3567 0 R /Resources 3565 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3568 0 obj
-<< /D [ 3566 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3569 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3570 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3571 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 727.762 null ] >>
-endobj
-3572 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 716.803 null ] >>
-endobj
-3573 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 705.844 null ] >>
-endobj
-3574 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 694.886 null ] >>
-endobj
-3575 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 683.927 null ] >>
-endobj
-3576 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 672.968 null ] >>
-endobj
-3577 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 662.009 null ] >>
-endobj
-3578 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 651.05 null ] >>
-endobj
-3579 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 640.091 null ] >>
-endobj
-3580 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 608.098 null ] >>
-endobj
-3581 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 597.14 null ] >>
-endobj
-3582 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 586.181 null ] >>
-endobj
-3583 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 543.673 null ] >>
-endobj
-3584 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 491.092 null ] >>
-endobj
-3585 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 480.133 null ] >>
-endobj
-3586 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 469.174 null ] >>
-endobj
-3587 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 458.215 null ] >>
-endobj
-3588 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 447.256 null ] >>
-endobj
-3589 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 436.297 null ] >>
-endobj
-3590 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 425.338 null ] >>
-endobj
-3591 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 348.847 null ] >>
-endobj
-3592 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 337.888 null ] >>
-endobj
-3593 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 326.929 null ] >>
-endobj
-3594 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 315.97 null ] >>
-endobj
-3595 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 305.012 null ] >>
-endobj
-3596 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 294.053 null ] >>
-endobj
-3597 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 283.094 null ] >>
-endobj
-3598 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 272.135 null ] >>
-endobj
-3599 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 261.176 null ] >>
-endobj
-3600 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 245.457 null ] >>
-endobj
-3601 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 234.498 null ] >>
-endobj
-3602 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 223.539 null ] >>
-endobj
-3603 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 212.58 null ] >>
-endobj
-3604 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 201.621 null ] >>
-endobj
-3605 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 185.902 null ] >>
-endobj
-3606 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 174.943 null ] >>
-endobj
-3607 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 163.984 null ] >>
-endobj
-3608 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 153.025 null ] >>
-endobj
-3609 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 142.066 null ] >>
-endobj
-3610 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-3611 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3612 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3613 0 obj
-<< /D [ 3566 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3565 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3616 0 obj
-<< /Filter /FlateDecode /Length 2589 >>
-stream
-xڵZo~߿8ECZЇmV|l.;CJ8Fq7C%,)WzWgM9?|R23,U$~g?LC0HeB)ɖ"˪L4H=^=4b*lVܡZ]cT^M~!7򕚙
-ZH8
-.&&6ץBfV'0-!CU5t4B"~2{,CjNR22]~\DC!ةeU҂iuQ#y
-I(Q/V$5QY&@G K$&q'9x]'T}v5 D$1F
-c4& ;N<,@iq2MziV ѫ!RJ`^6:^Qt4lQB j!m:7jp>i='c~Q#Tx'Z9
-ONQaFl-Uڮ*78`g/ u"0Pu_Ϡ$DȀ#r7;:rW~Qf4*,[VO}gowo(I f#i$#RmRu8ݖP6@^2DN2٧W`綫fYkMR1n4C婂LT .B\<aGĒ^Ԛrvիi`մR޷*U[e ŵUU.K o07TGMT7bDB5KA QþPwdy>))$оT4$PbKbӖQ
-#eCdL' lPOqC2o뺪j^nn¾ߑ>Nꋔyĝfx 2&f"{LrM{o^
-w"/)D˾40*N!,rv/6lb¤qݡOʆ-
-JM}&tDݤk8*(uDV[wbϟެ؆k97?nm=w[5ݍ> ケ:5>ako@Z><%c#ӕ%]`
-^Bg:-3t#U187e(2, xD6cw}1k"p}fTճS _ī}VSj ]͉0DFy&/l7}rև6$@ztùU{㯐
-pnBm8x74wۨOڮ۩fEehC]q4}Ϭ(J .`bi0Ʈەi&Lty&IT| = lN2{4*SV$AO™2F%T'ZƵV{BB+ı!:?)\[ oFhWK'!DO)aZW+/<~rNz!,Icl BuUh:
-X1]F֝][%p ooIe ;"<Tt5ja y:{ {*^|0g!.s-:r)2bO c\ mÀxo-}]gڽP0i>p/I!q_ȤPBd0> MIF(u~Mwg1E^um[r_t 1~o\ن{FjUZC].2mWSHsB86m
- KA%#.Cl\J<\`#/^\VH; opL$?:
-m
-endstream
-endobj
-3615 0 obj
-<< /Type /Page /Contents 3616 0 R /Resources 3614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3617 0 obj
-<< /D [ 3615 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3618 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3619 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3620 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3621 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 706.067 null ] >>
-endobj
-3622 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-3623 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-3624 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-3625 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-3626 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-3627 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-3628 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-3629 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-3630 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-3631 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-3632 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-3633 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-3634 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-3635 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-3636 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-3637 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-3638 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-3639 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-3640 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-3641 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-3642 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-3643 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-3644 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-3645 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-3646 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-3647 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-3648 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 344.423 null ] >>
-endobj
-3649 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 333.464 null ] >>
-endobj
-3650 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 322.505 null ] >>
-endobj
-3651 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 311.547 null ] >>
-endobj
-3652 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 300.588 null ] >>
-endobj
-3653 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-3654 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-3655 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-3656 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-3657 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-3658 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-3659 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-3660 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-3661 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-3662 0 obj
-<< /D [ 3615 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-3614 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F65 185 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3665 0 obj
-<< /Filter /FlateDecode /Length 1850 >>
-stream
-xZKo6W.ߢ
-t!"@m!(l%,@wEneHďÙoN]J[m&Ć >[]1xNhY44#TnT0g`91$Z#z?5QƎƍ)DbB׫}U&"b¤pD8"(-̋z^̮W`Ru{a_4]n3эqt}wI~~{rIۧ <o>p/8>c^.ܛ&7CvZPMnn 77=~~[BXA#G.@[Y<洑Dq8.>.].4\ZUNޠYGđsSVnMWyu^CԜHT)WhkňDT8D\XmZY6O%\"`s_ǝ %
-\
-) >R@BA uzkӫjɮE@5 @q*+.Q=uyQ*`ߑ'Q_z"d^#yq \']B‘:S;G_̄_62ߴ$]<l_e ׺5oof묂fI%p M)JX'(e
-=Wj@@ijc
-dpQF~-kpt=ep++yaH/0!@4z{#9dg7B;"Ci¨ۿ\"D Cn Fa؄ީXg`E:WH|0D?0t Sܩ8:>Zǎ8څP}W@i( p*sThh؊10n9
-/+d&дU E6@?Wh7ɪp}
-endstream
-endobj
-3664 0 obj
-<< /Type /Page /Contents 3665 0 R /Resources 3663 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3265 0 R >>
-endobj
-3666 0 obj
-<< /D [ 3664 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3667 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3668 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3669 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3670 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3671 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3672 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3673 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3674 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3675 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3676 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3677 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-3678 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-3679 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-3680 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-3681 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-3682 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 580.911 null ] >>
-endobj
-3683 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 569.952 null ] >>
-endobj
-3684 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 541.247 null ] >>
-endobj
-3685 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 530.288 null ] >>
-endobj
-3686 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 489.628 null ] >>
-endobj
-3687 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 478.669 null ] >>
-endobj
-3688 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 467.71 null ] >>
-endobj
-3689 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 456.751 null ] >>
-endobj
-3690 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 445.792 null ] >>
-endobj
-3691 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 434.833 null ] >>
-endobj
-3692 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 423.874 null ] >>
-endobj
-3693 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 412.915 null ] >>
-endobj
-3694 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 401.956 null ] >>
-endobj
-3695 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 390.998 null ] >>
-endobj
-3696 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 380.039 null ] >>
-endobj
-3697 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 369.08 null ] >>
-endobj
-3698 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 358.121 null ] >>
-endobj
-3699 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 347.162 null ] >>
-endobj
-3700 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 336.203 null ] >>
-endobj
-3701 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 325.244 null ] >>
-endobj
-3702 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 314.285 null ] >>
-endobj
-3703 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 303.326 null ] >>
-endobj
-3704 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 292.367 null ] >>
-endobj
-3705 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 281.408 null ] >>
-endobj
-3706 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 270.45 null ] >>
-endobj
-3707 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 259.491 null ] >>
-endobj
-3708 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 248.532 null ] >>
-endobj
-3709 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 237.573 null ] >>
-endobj
-3710 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 226.614 null ] >>
-endobj
-3711 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 215.655 null ] >>
-endobj
-3712 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 204.696 null ] >>
-endobj
-3713 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 193.737 null ] >>
-endobj
-3714 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 182.778 null ] >>
-endobj
-3715 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 171.819 null ] >>
-endobj
-3716 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 160.861 null ] >>
-endobj
-3717 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 149.902 null ] >>
-endobj
-3718 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 138.943 null ] >>
-endobj
-3719 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 127.984 null ] >>
-endobj
-3720 0 obj
-<< /D [ 3664 0 R /XYZ 81.077 117.025 null ] >>
-endobj
-3663 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3723 0 obj
-<< /Filter /FlateDecode /Length 2070 >>
-stream
-xڵZ[o6~ϯ0Ї*@Tfv.y
-0vbӉ:dHd2A{/d$}%𜏇G^vgzOErI%_\4Y1P ,z_ߙ X2j[};:3#fܬӛs=Bis,o@BG&Ih$\!Bga
-gΩ4sKZS*I}Q
-k'g˦v+'Z1CmS
-IPUglu,`zL8Ät0VrOf]UY!t0dCl pqt ms arhYo"}|/i˪ g]|ԁ۶ x/wMy@GùskggpUn=Kݕ.yRh֓z΃;)<͗~KC0s!Di=ԫEg [~ A ܫ0#fdQ@8Z:c]6̝VbOn$؏{Ҍ}!c 'nPʝL.d8yjh= 0v8uZ6m}
-nk0Ͷ{j&l-K"$:FVK֍w|x|6;jwɥ-i%n8vZ97Bؚ˫Ӂgn!ȍ&U#t8uyj
- c?|EBɑON6"j'}ڍ}[n );I!\59
- $
-endstream
-endobj
-3722 0 obj
-<< /Type /Page /Contents 3723 0 R /Resources 3721 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3724 0 obj
-<< /D [ 3722 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3725 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-3726 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-3727 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 715.033 null ] >>
-endobj
-3728 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 704.075 null ] >>
-endobj
-3729 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 693.116 null ] >>
-endobj
-3730 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 682.157 null ] >>
-endobj
-3731 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-3732 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-3733 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-3734 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-3735 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-3736 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-3737 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-3738 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-3739 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-3740 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-3741 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-3742 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-3743 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-3744 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-3745 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-3746 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-3747 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-3748 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-3749 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-3750 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-3751 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-3752 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-3753 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-3754 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-3755 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-3756 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-3757 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-3758 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-3759 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 346.416 null ] >>
-endobj
-3760 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 335.457 null ] >>
-endobj
-3761 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 324.498 null ] >>
-endobj
-3762 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 239.898 null ] >>
-endobj
-3763 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 175.141 null ] >>
-endobj
-3764 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 164.182 null ] >>
-endobj
-3765 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 153.223 null ] >>
-endobj
-3766 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 142.264 null ] >>
-endobj
-3767 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 131.306 null ] >>
-endobj
-3768 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 120.347 null ] >>
-endobj
-3769 0 obj
-<< /D [ 3722 0 R /XYZ 81.077 109.388 null ] >>
-endobj
-3721 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3773 0 obj
-<< /Filter /FlateDecode /Length 2791 >>
-stream
-xڭZ[ۺ~ϯ0p/eyrrz
-tE"sBlG]o elnX8p. /x~rOHHP"7>YD b"aIWe,7gۭnwXs񬮳gGz^"0b74ZAr74F2+Z<kھ}aWҲ M6Vg)zp
-v-`hw[zvǢ <'gDm4qIqVDOXϭzd E>iVEL>ˏ#>gN!HhKGIL/K$ h gW` s L)Y<5W>6+xlVwͭbbc Ze[`)G$IzusO57autkA_#)1YױfTeW=$G%w 7O2kUW۴֪Y$ıE"a"!އȹŠa2:wld b8,*! 'e=xd|qpomio͞.?Z1ɾp<Tuxs Y0Kd`B&\~.xڙMk`fwدE7-3YgǦٝf)I$9FH61Կl^өg Q>^1A\LH^c$Hqu v;u[k=ݡ6|?ozdp}Pv0p/"Hƃ W\j~" &A/[մ F7
-/}kB1fnU̖<g*)?uqB9uc2Hٍ쪺0k8bڍW@M+Y_bwCⲪw>['˞ c;9
-#}Ѐ &rz :
-CAkޣ~5Z# /( ;1#XW(*o?f> ooL9q*
-^pTOm:
-edp Pt:nޚ™pDu!O%7L 02 ȎĐa`JM7[^ó0Fzfk.|`Zm0q2!?3p۾Yk+nqn=We `5Ǵ,rںxJsEjkA
-iL=wsC<لz]
-
-2$#țTt_W[^K 9|]q 6aS9}pv;&vGTi+"6ttܾ8AtA۽Ẽ74Jyֺt3cҔtid2_CJ|'l']i᎕oR-ΞZ/VM0,|CBaĉ[
--&Psll^uJn<a0S=Ww}nձIaG(v3t9VMDo +ӽL XZz
-30&Ϙ<)2C4\kA"#~=jکGoƹs]Tsph]&K ?6s1uwj!#hWuB $Arw~t%A:&h
-jt#n$r*4
-endstream
-endobj
-3772 0 obj
-<< /Type /Page /Contents 3773 0 R /Resources 3771 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3774 0 obj
-<< /D [ 3772 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3775 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-3776 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-3777 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-3778 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-3779 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-3780 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-3781 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-3782 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-3783 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-3784 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-3785 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-3786 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-3787 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-3788 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-3789 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-3790 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-3791 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-3792 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-3793 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-3794 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-3795 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-3796 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-3797 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-3798 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-3799 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-3800 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-3801 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-3802 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-3803 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-3804 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 173.066 null ] >>
-endobj
-3805 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 162.107 null ] >>
-endobj
-3806 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-3807 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-3808 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 111.297 null ] >>
-endobj
-3809 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 100.339 null ] >>
-endobj
-3810 0 obj
-<< /D [ 3772 0 R /XYZ 81.077 89.38 null ] >>
-endobj
-3771 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F69 299 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3813 0 obj
-<< /Filter /FlateDecode /Length 2631 >>
-stream
-xڭZ[o~_a`NXDQ
-,
-t<؇N!(6 %$' v{ G13󐘢s~EW~ KV IWru]UbUlu{Xgյ;0y]-OWlݘf:yU^߰-""qi!5#BϐyN*Yq2/491:e!cOyy?ct@VﮮaljD6HL2!*KS]C؟} l3Tj~-Li#|쨨TmG[VoT5g ({-+[.t[o*7OױPe.]T 0!M5鮪ST{
-jObYLO^kptb 8]!8/
-tSrki';7=A-[{6j#Dx@+IQ B[>R
-g^Z@{AqT݁>9ATUgsCyٮΆks,9X۾_c
-%ip'(|Jh !1$A?-#8#f;FIp'(KRsV3`N]߀֎x'(' M^
-3U>E ƖzkF8`ERpu|0
-IzIsS/yݴ\r9)trNP!ap8\TA.Q\>XcZ˥O]CQTAt{h
-x#4l>+)t]mlvU}H;C Ŵ&(ؼ2Lo;p8c!bj[&wU)H̀q& fo.CY % e1O$N&s nv#bI<Ǭbx`,n|cR^ -jКo-wa"AQ7_/Dݏ/C {WI#,k( :t |;77'5h}OGsHD'$c).LA Hǽ/'џQñZ1RcvȂ*8D7E' OKdنŻ.xF#a]?S IpA*\J|'yB M
-N5<b^?obzS*(Vɕ&,=OhLHCj1_J61v$)wn""|
-1 ):|o./㰗LPLL_a' 6_>('P l}I+ц% 25av^4,G<Cﭒiޔ*}<+}q^.ڃITl4Q%Px>&}nmg ]>:.LD /ڞ|!6wsrRqVg9V\K]ֻ
-;4u]&8qGm;QC!MV%~>⚮9ծ%o{p=$
-/trqX{t.۴n*+:q/t >vc,Bnx}kpQAb98NJYOf<JFjF48fiKכjzHa_j~GVCʨR)lnJFt2O^lW;'I$]\៷(
-endstream
-endobj
-3812 0 obj
-<< /Type /Page /Contents 3813 0 R /Resources 3811 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3814 0 obj
-<< /D [ 3812 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3815 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 731.109 null ] >>
-endobj
-3816 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 720.15 null ] >>
-endobj
-3817 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 656.206 null ] >>
-endobj
-3818 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 645.247 null ] >>
-endobj
-3819 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 616.627 null ] >>
-endobj
-3820 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 605.668 null ] >>
-endobj
-3821 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 577.047 null ] >>
-endobj
-3822 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 566.088 null ] >>
-endobj
-3823 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 555.129 null ] >>
-endobj
-3824 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 544.171 null ] >>
-endobj
-3825 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 533.212 null ] >>
-endobj
-3826 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 522.253 null ] >>
-endobj
-3827 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 506.584 null ] >>
-endobj
-3828 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 495.625 null ] >>
-endobj
-3829 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 484.666 null ] >>
-endobj
-3830 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 473.707 null ] >>
-endobj
-3831 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 462.748 null ] >>
-endobj
-3832 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 420.315 null ] >>
-endobj
-3833 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 368.326 null ] >>
-endobj
-3834 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 357.367 null ] >>
-endobj
-3835 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 341.698 null ] >>
-endobj
-3836 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 330.739 null ] >>
-endobj
-3837 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 319.78 null ] >>
-endobj
-3838 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 308.822 null ] >>
-endobj
-3839 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 297.863 null ] >>
-endobj
-3840 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 286.904 null ] >>
-endobj
-3841 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 275.945 null ] >>
-endobj
-3842 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 264.986 null ] >>
-endobj
-3843 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 254.027 null ] >>
-endobj
-3844 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 243.068 null ] >>
-endobj
-3845 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 232.109 null ] >>
-endobj
-3846 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 221.15 null ] >>
-endobj
-3847 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 210.191 null ] >>
-endobj
-3848 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 199.232 null ] >>
-endobj
-3849 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 188.274 null ] >>
-endobj
-3850 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 177.315 null ] >>
-endobj
-3851 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-3852 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-3853 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-3854 0 obj
-<< /D [ 3812 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3811 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3857 0 obj
-<< /Filter /FlateDecode /Length 1938 >>
-stream
-xZKo6W(P8@)(,CNzbˉdHfA{DNx7E/d#?΋3݄N>ٯWMqk9Y1xA'lbfb4#Tfs+[6CoŴ(O<4mg -Ü%F- gB?=u\ZNя 43iO.٢͗1+{uxz,prx^U?|5墪|v*aTetd
-
-Bh$am{RF)WNmwCQHОme^}uU{QY60r8B/e FCFaq#e!|eq[y\]\6 .U`x)mY ȤD@[5O&?mQx YrLT봌KAiN1նXu&",.Q'qDHom^)W6|S8S8ctOqQU(i?A.
-|,`8Ӹ ў $A7j-la$ՄŝO<u5/t(,"tW9^ӽYZI讐se,S߃Q6[_\.]֗ME34Wwz|:- Y3Q"QyK+*eL}s٨kKT^p_B2IЪU^(BIjl;lӍK~t q]j}*) r7ѡ]D`)ˣv')]JJd;[ĕ[ :wM}Nqq^V(<BaaW9I%cl#C
-:wJ} d7;%>?%) z/!WWP7O^(:^TuӴ1YVB`<U)HEPCrPVo!y$UP=)]|q}~Y_Ȋ^:)OR5k*%pt{ K)0\PǼ1TžۇeXȼWp}?~Xj91au>`@W%rd]Lmg> #yM4)&h$#ĵ5*6$h)qTL?.Fwa׷MШ֏^I!_s{˶SY=?o_- +Os01ub}rp]gʼnڃǯX `1͡v1KTZrAU+c4:cbP yq:5fst/!f߭Y)5]w%A Auc{guPA l1MItGmf >+}?'Z 37gV4
-endstream
-endobj
-3856 0 obj
-<< /Type /Page /Contents 3857 0 R /Resources 3855 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3858 0 obj
-<< /D [ 3856 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3859 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-3860 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-3861 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 667.213 null ] >>
-endobj
-3862 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 656.254 null ] >>
-endobj
-3863 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-3864 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-3865 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-3866 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-3867 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-3868 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-3869 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-3870 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-3871 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-3872 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-3873 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-3874 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-3875 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-3876 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-3877 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-3878 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-3879 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-3880 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-3881 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-3882 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-3883 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-3884 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-3885 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-3886 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-3887 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-3888 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-3889 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-3890 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 301.584 null ] >>
-endobj
-3891 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 290.625 null ] >>
-endobj
-3892 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 279.666 null ] >>
-endobj
-3893 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-3894 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 257.748 null ] >>
-endobj
-3895 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-3896 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-3897 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-3898 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-3899 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-3900 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-3901 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-3902 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-3903 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-3904 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-3905 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-3906 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-3907 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-3908 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-3909 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-3910 0 obj
-<< /D [ 3856 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-3855 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3913 0 obj
-<< /Filter /FlateDecode /Length 2153 >>
-stream
-xZKo8W
-bg_^Î`6S(*D0:ӿ57]67i0vn~܀"џ1ef_C!
-a,FED|y3muUWlw!"n)0.zf]TYq£G)ͫ/sEw.pOcV\X۾.L_dM}ke\Ǒ}JMݕr#K+Wd ]4ohulI0IeHAоzge/֒]A3Bp$Et 3|j}/ Fm0`B*9F d
-
-]â"0W5M>Kۧb 1~4@8QՕa2^}YokⰫZs9quOO<梪;3 xjW
-nۼ?TS!GʯK78OvI0ca"hM~Y%d/>t`
-jY @c㡃#iy/:O9UjE~aqCk&1:9 # @.
-2ֱ8ŗPbŅN]~z38 *ܮfA¸~exV1$wCKQ&>< B]tHūu9>7VPکzD.zU4HNB=GH"zBQӫvWő"o )0;kYAQ25>eX߿eE~eE~eE8r[ń-VOOVzxKVG-Sm5OYs{s[ nm!ީxh .Oi Ir;|c}9uD4\e/64Ynx(r2@1Cњy+GC`|wh$u@Q<}7*cu)ɰBCk14eiu[p S<auK2k;}(nC°dX]wlS,b!|^̭vSIOՐʎ&uX(D(T? 
-տU*\tpUN )S\Sa:!Z?Mժvo_sCBa@dh2 aP?o
-endstream
-endobj
-3912 0 obj
-<< /Type /Page /Contents 3913 0 R /Resources 3911 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3914 0 obj
-<< /D [ 3912 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3915 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3916 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3917 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3918 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3919 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3920 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3921 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3922 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3923 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-3924 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-3925 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-3926 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-3927 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-3928 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-3929 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-3930 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-3931 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-3932 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-3933 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-3934 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-3935 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-3936 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-3937 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-3938 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-3939 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-3940 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-3941 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-3942 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-3943 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-3944 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-3945 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-3946 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-3947 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-3948 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-3949 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-3950 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-3951 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-3952 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-3953 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-3954 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-3955 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-3956 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-3957 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 197.972 null ] >>
-endobj
-3958 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 187.014 null ] >>
-endobj
-3959 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 176.055 null ] >>
-endobj
-3960 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-3961 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 154.137 null ] >>
-endobj
-3962 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 143.178 null ] >>
-endobj
-3963 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-3964 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-3965 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-3966 0 obj
-<< /D [ 3912 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-3911 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3969 0 obj
-<< /Filter /FlateDecode /Length 1949 >>
-stream
-xZ[o6~ϯ>tk,S؇dv%CC](қ9Y"?;|<0tWt|~~63IRoT363hlv8¨?
-x۶Ch:K7En.Io(Hh
-}пD=i:J3S 5\ugk{YZ@1Wj`#2o Oc^F*"8nXle"A:C~FQ m<U!"ZJj2Y 擋_m;Xyf!tLSs4u60$t̙ B3+H]dO5N5a:56B['2H6y .D70Q_C–Iqo)# Bw% D
-endstream
-endobj
-3968 0 obj
-<< /Type /Page /Contents 3969 0 R /Resources 3967 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-3970 0 obj
-<< /D [ 3968 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3971 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-3972 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-3973 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-3974 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-3975 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-3976 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-3977 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-3978 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-3979 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 663.543 null ] >>
-endobj
-3980 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 652.584 null ] >>
-endobj
-3981 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 641.625 null ] >>
-endobj
-3982 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 630.667 null ] >>
-endobj
-3983 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 619.708 null ] >>
-endobj
-3984 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 608.749 null ] >>
-endobj
-3985 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 597.79 null ] >>
-endobj
-3986 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 586.831 null ] >>
-endobj
-3987 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 575.872 null ] >>
-endobj
-3988 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 564.913 null ] >>
-endobj
-3989 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 553.954 null ] >>
-endobj
-3990 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 542.995 null ] >>
-endobj
-3991 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 513.215 null ] >>
-endobj
-3992 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 502.257 null ] >>
-endobj
-3993 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 459.891 null ] >>
-endobj
-3994 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 448.932 null ] >>
-endobj
-3995 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 437.973 null ] >>
-endobj
-3996 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 427.014 null ] >>
-endobj
-3997 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 416.055 null ] >>
-endobj
-3998 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 405.096 null ] >>
-endobj
-3999 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 394.137 null ] >>
-endobj
-4000 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 383.178 null ] >>
-endobj
-4001 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 372.219 null ] >>
-endobj
-4002 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 361.26 null ] >>
-endobj
-4003 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 350.301 null ] >>
-endobj
-4004 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 339.343 null ] >>
-endobj
-4005 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 328.384 null ] >>
-endobj
-4006 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 317.425 null ] >>
-endobj
-4007 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 306.466 null ] >>
-endobj
-4008 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 295.507 null ] >>
-endobj
-4009 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 284.548 null ] >>
-endobj
-4010 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 273.589 null ] >>
-endobj
-4011 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-4012 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-4013 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-4014 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-4015 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-4016 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-4017 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-4018 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-4019 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-4020 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-4021 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-4022 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-4023 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-4024 0 obj
-<< /D [ 3968 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3967 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4027 0 obj
-<< /Filter /FlateDecode /Length 1861 >>
-stream
-xZKoW@F~?tfd6'2AKDS-RnGeo`lc=bH??].$q ^1x.jYlqW/R# raŽ!_Gh${%lI/ђ/Ln{hf@!aR5ej8M:C^(7'^*Ͱu[a n 2qfh:lShEx'PMAɎѯ܅: 'vͱvjy2%m%2He6+<;>}ʚ.2x`jd5'R"2xaBi7E^yVE1"̫8NOЯߚ8k4dKV<ժIeC}ȳO,I|xJxWgtti?h.wD"=Fe3K .4P(v);h6`X]b).m[-n (~`ml2ZU㈵6zamT%h4;) BMY.߷_un?@cURyp$! ,PU}d!۷]s @gs
--AE8U6gU~JW@A6pZKT$}r:n'5.9d]1txh\k1zRqݶݦl0D"&F8Qʼn.TrM =ٸEOPv%"+1 @T%\}I" 67?D\aIx7F k.cwNa
-úٌrۏ~zo*X_+e -MyM$i ;ET`~
-q -dzr {Oz{N|ٴ'.N 0]}> Dgz0+z v{;Es~{6EaH,4Uѓ}0d6%,;w>CqwS'Ƴc 7@ۄKct% _4ShGs+Yh*xS4Ihp[ ҷu[pǦSD8bjd)cc_A
-endstream
-endobj
-4026 0 obj
-<< /Type /Page /Contents 4027 0 R /Resources 4025 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-4028 0 obj
-<< /D [ 4026 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4029 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4030 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4031 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4032 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4033 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4034 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4035 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4036 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4037 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-4038 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-4039 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-4040 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-4041 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-4042 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-4043 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 598.618 null ] >>
-endobj
-4044 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 587.659 null ] >>
-endobj
-4045 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 576.7 null ] >>
-endobj
-4046 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 565.741 null ] >>
-endobj
-4047 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 554.782 null ] >>
-endobj
-4048 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 543.823 null ] >>
-endobj
-4049 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 532.864 null ] >>
-endobj
-4050 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 521.905 null ] >>
-endobj
-4051 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 510.947 null ] >>
-endobj
-4052 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 499.988 null ] >>
-endobj
-4053 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 489.029 null ] >>
-endobj
-4054 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 478.07 null ] >>
-endobj
-4055 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 467.111 null ] >>
-endobj
-4056 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 456.152 null ] >>
-endobj
-4057 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 445.193 null ] >>
-endobj
-4058 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 434.234 null ] >>
-endobj
-4059 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 423.275 null ] >>
-endobj
-4060 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 412.316 null ] >>
-endobj
-4061 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 401.358 null ] >>
-endobj
-4062 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 390.399 null ] >>
-endobj
-4063 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 379.44 null ] >>
-endobj
-4064 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 368.481 null ] >>
-endobj
-4065 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 357.522 null ] >>
-endobj
-4066 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 346.563 null ] >>
-endobj
-4067 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 335.604 null ] >>
-endobj
-4068 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 324.645 null ] >>
-endobj
-4069 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 313.686 null ] >>
-endobj
-4070 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 302.727 null ] >>
-endobj
-4071 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 291.768 null ] >>
-endobj
-4072 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 280.81 null ] >>
-endobj
-4073 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 235.251 null ] >>
-endobj
-4074 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 224.292 null ] >>
-endobj
-4075 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 213.333 null ] >>
-endobj
-4076 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 202.374 null ] >>
-endobj
-4077 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 162.423 null ] >>
-endobj
-4078 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 151.464 null ] >>
-endobj
-4079 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 140.506 null ] >>
-endobj
-4080 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-4081 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-4082 0 obj
-<< /D [ 4026 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4025 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4085 0 obj
-<< /Filter /FlateDecode /Length 2305 >>
-stream
-xڭZ[o6~_u˻DcP-]C
-dH$?ߤlY2)em߇ 6)!9>ƫ.[7"6m-ۮ*+;눨$!nnS% MFk76{斦˦/j=I_0 S 3H/a oƀ8>rjVc̮z*7Kaj: C80.S¨`D
-tTH#"x(l$)k?ꔉr ~=U[rStDz78ղ&Dk>$̗2UT]َp,;
-DWQT(7Eœ}kK(\Fy  !XIW @DfU4NCơwE& /aQqX|iG;ۦ"dюHȎq=a'vZҕ_ eȗNǍ>2AMꊄB\۠|ݟ̭.FGg}iӳ0@vby] K˪FOӲ& ֺ=ك%~" msY>:bsMBtHknC]Uqs
-.|aрԗWfuQknA>9.mы+ @ t&W=Dz-ԶoOw qKјDBY:3_::7s, GcH?%|ozO2%D msB=tt]!4O\K!8V٦mKD0$UR<f-6uW/j'6EuKJqVOjݕ
-OāA[<m1sd(UHJ 4H;@ͫ$pGi=F.ӸDHhږ]W!%E*@:ZTI2镙K0Rq#?ߐe[M>+3J眀=M75]u?<JaEh :RD͝LeSt2b UfJ}]j*443/O8SQ.a)>O }˞t(M9<W}.< eg"Ar!
-Nq$%d!6o\m"] M톞VLn4+ihv 3 S9zۜMR~1w砐m tbyԾ
-endstream
-endobj
-4084 0 obj
-<< /Type /Page /Contents 4085 0 R /Resources 4083 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-4086 0 obj
-<< /D [ 4084 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4087 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 743.076 null ] >>
-endobj
-4088 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 732.117 null ] >>
-endobj
-4089 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 721.158 null ] >>
-endobj
-4090 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 710.199 null ] >>
-endobj
-4091 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 699.24 null ] >>
-endobj
-4092 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 688.282 null ] >>
-endobj
-4093 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 677.323 null ] >>
-endobj
-4094 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 666.364 null ] >>
-endobj
-4095 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 655.405 null ] >>
-endobj
-4096 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 644.446 null ] >>
-endobj
-4097 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 633.487 null ] >>
-endobj
-4098 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 592.935 null ] >>
-endobj
-4099 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 581.976 null ] >>
-endobj
-4100 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 571.017 null ] >>
-endobj
-4101 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 560.058 null ] >>
-endobj
-4102 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 549.099 null ] >>
-endobj
-4103 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 538.14 null ] >>
-endobj
-4104 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 527.181 null ] >>
-endobj
-4105 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 516.222 null ] >>
-endobj
-4106 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 475.67 null ] >>
-endobj
-4107 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 464.711 null ] >>
-endobj
-4108 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 436.114 null ] >>
-endobj
-4109 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 425.155 null ] >>
-endobj
-4110 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 414.196 null ] >>
-endobj
-4111 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 403.237 null ] >>
-endobj
-4112 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 392.278 null ] >>
-endobj
-4113 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 381.319 null ] >>
-endobj
-4114 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 370.361 null ] >>
-endobj
-4115 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 359.402 null ] >>
-endobj
-4116 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 348.443 null ] >>
-endobj
-4117 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 337.484 null ] >>
-endobj
-4118 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 326.525 null ] >>
-endobj
-4119 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 315.566 null ] >>
-endobj
-4120 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 304.607 null ] >>
-endobj
-4121 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 276.01 null ] >>
-endobj
-4122 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 265.051 null ] >>
-endobj
-4123 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 254.092 null ] >>
-endobj
-4124 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 243.133 null ] >>
-endobj
-4125 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 232.174 null ] >>
-endobj
-4126 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 191.622 null ] >>
-endobj
-4127 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 163.025 null ] >>
-endobj
-4128 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 152.066 null ] >>
-endobj
-4129 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 141.107 null ] >>
-endobj
-4130 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-4131 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-4132 0 obj
-<< /D [ 4084 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4083 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4135 0 obj
-<< /Filter /FlateDecode /Length 1969 >>
-stream
-xڭZKoϯC$ ! Ir!08 hP@Rg߷&[~J~TWM~A|oww8͵\>1x@lafa4#Ta++Fp&տ=pVKBgBɗ/ɦfɮ"mZ+{9.V7lyj=9|^q3Vs;1W7.6+}'m}?{*d Ⱥ/<C;Hml&#voMcM;b-I?%/#&Mۅ$2f5 Eq;vŒka(?s_+v8u.o˻Ս{zrYs-ph氉s#sI/c.ъm e0.3,F`?l"5u s%C96260Ffѯ9[nU?]o1ixN@)B_6^3Kӎͪ#`[]f1 AJxi9zՃaIlXa&;mx7Ҹȵ, ք1:xBC(#46W]Bm_F($:?ua"0~SAL393ֶrh"舢,`[DC
-\1ih6ӄت$<>T/IIVn\O1M)9:H| uզm}qhdE_!X8s()ɿe1]jqg]=yrJs<+}@yݪQ˫sm\ϫ%ӡ*} Mz; LoQOș+3ۛli ^(QF
-S嫟
-g󯳌.ݗP f4x
-V<oN/MвK7cSSY吶8kƟqN`;2:8`j1@Sam ȹ&.*z~3TtqČu?GM
-#4:K0H~,OYH;3$/04{u j6;;FyZ)g
-~~"#QVd'&[&)XWm8|_)pU`G 1,.s0ZŨ߬D|"ƅ*T!IC \Rl5;x
-endstream
-endobj
-4134 0 obj
-<< /Type /Page /Contents 4135 0 R /Resources 4133 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-4136 0 obj
-<< /D [ 4134 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4137 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-4138 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-4139 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-4140 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-4141 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-4142 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-4143 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-4144 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-4145 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-4146 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-4147 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-4148 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-4149 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-4150 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-4151 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-4152 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-4153 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-4154 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-4155 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-4156 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-4157 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-4158 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-4159 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-4160 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-4161 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-4162 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-4163 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-4164 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 399.218 null ] >>
-endobj
-4165 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 388.259 null ] >>
-endobj
-4166 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-4167 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 366.341 null ] >>
-endobj
-4168 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-4169 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 344.423 null ] >>
-endobj
-4170 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 333.464 null ] >>
-endobj
-4171 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 322.505 null ] >>
-endobj
-4172 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 273.771 null ] >>
-endobj
-4173 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 262.812 null ] >>
-endobj
-4174 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 251.853 null ] >>
-endobj
-4175 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 240.895 null ] >>
-endobj
-4176 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 229.936 null ] >>
-endobj
-4177 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 189.089 null ] >>
-endobj
-4178 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 178.13 null ] >>
-endobj
-4179 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 167.171 null ] >>
-endobj
-4180 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 116.444 null ] >>
-endobj
-4181 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 105.485 null ] >>
-endobj
-4182 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 94.527 null ] >>
-endobj
-4183 0 obj
-<< /D [ 4134 0 R /XYZ 81.077 83.568 null ] >>
-endobj
-4133 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4186 0 obj
-<< /Filter /FlateDecode /Length 1710 >>
-stream
-xڵZMs6WTjmtJ4L܋&=-6h;@@\ J>,oAՀHT}f 5LMtF͒A &ǡPF>Mb&3a6F̈́X.UiU޸Tqrz<_NkD%rO4 5uUe~|>Yd 6D$51U:>/^Y;SkYf̀7eq kr^EV]̍ќXB8WN8蚓_yuYrx;
-4C 3d{2pU2FWL[EMmHtl*m$zb? !o[g2bY y.8.n:QECT fE>'4AX"w|G_(KMPDC.e3` rITK5(!x[vGtD2D$%,3uѽk7:b$6/Ţ+ﳪ??fŬȫu{q;ly@>o.Vݒ\;nN we妕WAypWy./~jv-= fa)EeM 1*,h<'l֋| y-nVswd6!OFP5Os1j
- F+&pBwc~)Ɓ}ܥwP7Uz; w%JQD WMDʶkh_EMJ$'­@&` * ͕5!˥/IomEѶHy۸*B)}fݳ<(C]}^T4Vo6<gZڢBdٞ_CBc"F=$'UgOf)6rgr~h! qav1fqd~iL*;{10@1ߨVZ Hh߸ '0R4z}(cb4+~Z)7l?_΋iwy7z\spݗyQroΧ# $pwŮ}v"꧀[0!Md>2p|:dg;DOS#WOw*f6f,Sy-\65v~@70 ZETmxTC>%v_nN)%>,jn!9Jj=>_7I<nIF.B=-Iia:uWpeVJ/C|J*էiQS
-͔9EXL"ΕItvXDB'8;ɡwJ#4ZqKܾ
-A{@ɮ~/6ջڙw|1Nھ>pJ`
-/.Bp <u^K~=2SiO6[lf%\1zFuɳ½f_r9.&cʴ>ۗ.AQb*B7 S*xCu::+Y`w ^WjqCfmJgĻzڸbC׿BV;DmsBvD=_7n*q:ó} _(ܬBKóq+` Vn:W
-endstream
-endobj
-4185 0 obj
-<< /Type /Page /Contents 4186 0 R /Resources 4184 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3770 0 R >>
-endobj
-4187 0 obj
-<< /D [ 4185 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4188 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4189 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4190 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4191 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4192 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4193 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4194 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4195 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4196 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-4197 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-4198 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-4199 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-4200 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-57 0 obj
-<< /D [ 4185 0 R /XYZ 79.37 606.291 null ] >>
-endobj
-4201 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 538.546 null ] >>
-endobj
-4202 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 527.587 null ] >>
-endobj
-4203 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 516.628 null ] >>
-endobj
-4204 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 505.669 null ] >>
-endobj
-4205 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 494.71 null ] >>
-endobj
-4206 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 483.751 null ] >>
-endobj
-4207 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 472.792 null ] >>
-endobj
-4208 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 461.834 null ] >>
-endobj
-4209 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 450.875 null ] >>
-endobj
-4210 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 439.916 null ] >>
-endobj
-4211 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 428.957 null ] >>
-endobj
-4212 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 417.998 null ] >>
-endobj
-4213 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 407.039 null ] >>
-endobj
-4214 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 396.08 null ] >>
-endobj
-4215 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 368.185 null ] >>
-endobj
-4216 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 357.226 null ] >>
-endobj
-4217 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 346.267 null ] >>
-endobj
-4218 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 335.308 null ] >>
-endobj
-4219 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 324.349 null ] >>
-endobj
-4220 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 313.39 null ] >>
-endobj
-4221 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 302.431 null ] >>
-endobj
-4222 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 291.472 null ] >>
-endobj
-4223 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 277.525 null ] >>
-endobj
-4224 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 261.584 null ] >>
-endobj
-4225 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 250.626 null ] >>
-endobj
-4226 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 239.667 null ] >>
-endobj
-4227 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 228.708 null ] >>
-endobj
-4228 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 217.749 null ] >>
-endobj
-4229 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 206.79 null ] >>
-endobj
-4230 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 195.831 null ] >>
-endobj
-4231 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 184.872 null ] >>
-endobj
-4232 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 173.913 null ] >>
-endobj
-4233 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 162.954 null ] >>
-endobj
-4234 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 151.995 null ] >>
-endobj
-4235 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 141.037 null ] >>
-endobj
-4236 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 130.078 null ] >>
-endobj
-4237 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 119.119 null ] >>
-endobj
-4238 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 108.16 null ] >>
-endobj
-4239 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 97.201 null ] >>
-endobj
-4240 0 obj
-<< /D [ 4185 0 R /XYZ 81.077 86.242 null ] >>
-endobj
-4184 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4243 0 obj
-<< /Filter /FlateDecode /Length 1933 >>
-stream
-xڵZmo6‡Ch;iE8qw@[-'Beɕi"Z3ÙgfDY4]4|},)1[mQ!љVDVُ^>O9MSE1|KS}VŮ}6տ`9鿓~{w023AEeDh⶟`bf@
-ō%(
-T8p*/z&,b=G-VSʉqbֈY6=E͓e[X9G).CHIާ \XpmK!M &
-xiA -6aPo</z!+n!6_]Rlb!͛k(/-*ߛ|=5]q]6Z8+=cHCpV 8m:{u0.('Z`]
-"hȥY0J
-DP
-I.~no^Y8'hEd<0QZ{ߪr~b<C7%l7<SYb'@ƹ buІp:bĎLv8_ _T%w-8%}tdFt껲juQC'}ƅ$P|qgJN93,DX8 +Fh'O]X?IkBP8UUV1{HZE8;]8t;oNzL-6OHc-\lDrq+@׆EPp'y,On|0eu8htt2/@W?3DzZ7@?='(dzW6F9*
->6"GZG_ʲlתFJ}4>b0d[S2
-h/6iltE[#c
-o?fߴJ|^PC tDn(Nrq"P?@K"]փ}:s(a9|?4q޽k_yzD:^23\Mp\\ "L;7kSIxxjp7i#A?A
-endstream
-endobj
-4242 0 obj
-<< /Type /Page /Contents 4243 0 R /Resources 4241 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4244 0 obj
-<< /D [ 4242 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4245 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4246 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4247 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4248 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4249 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4250 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4251 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4252 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-4253 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-4254 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-4255 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-4256 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-4257 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-4258 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-4259 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-4260 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-4261 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-4262 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-4263 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-61 0 obj
-<< /D [ 4242 0 R /XYZ 79.37 509.006 null ] >>
-endobj
-4264 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 469.789 null ] >>
-endobj
-4265 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 458.831 null ] >>
-endobj
-4266 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 418.98 null ] >>
-endobj
-4267 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 408.021 null ] >>
-endobj
-4268 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 397.062 null ] >>
-endobj
-4269 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 386.103 null ] >>
-endobj
-4270 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 375.144 null ] >>
-endobj
-4271 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 364.185 null ] >>
-endobj
-4272 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 353.227 null ] >>
-endobj
-4273 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 342.268 null ] >>
-endobj
-4274 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 331.309 null ] >>
-endobj
-4275 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 320.35 null ] >>
-endobj
-4276 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 309.391 null ] >>
-endobj
-4277 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 298.432 null ] >>
-endobj
-4278 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 287.473 null ] >>
-endobj
-4279 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 276.514 null ] >>
-endobj
-4280 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 265.555 null ] >>
-endobj
-4281 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 254.596 null ] >>
-endobj
-4282 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 243.637 null ] >>
-endobj
-4283 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 232.679 null ] >>
-endobj
-4284 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 221.72 null ] >>
-endobj
-4285 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 210.761 null ] >>
-endobj
-4286 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 199.802 null ] >>
-endobj
-4287 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 188.843 null ] >>
-endobj
-4288 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 177.884 null ] >>
-endobj
-4289 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 166.925 null ] >>
-endobj
-4290 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 155.966 null ] >>
-endobj
-4291 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 145.007 null ] >>
-endobj
-4292 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 134.048 null ] >>
-endobj
-4293 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 123.09 null ] >>
-endobj
-4294 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 112.131 null ] >>
-endobj
-4295 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 101.172 null ] >>
-endobj
-4296 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 90.213 null ] >>
-endobj
-4297 0 obj
-<< /D [ 4242 0 R /XYZ 81.077 79.254 null ] >>
-endobj
-4241 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F67 187 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4301 0 obj
-<< /Filter /FlateDecode /Length 1752 >>
-stream
-xZo6~_/NѰ-X[`?X[,y\7 }GIH'M|I%e~wT`1't%~OMN^@$f&' Ěh "l0Y 
-&gXbh-b(# MZ]j3͛tc:+zzͧը5~Q883FW!
-m[$IllsJ
-Qh<&,ZxjZ/Ӻ\,r3XWt^EY/a3"a5|-,=p'4r~Ĩ=ѶuD${QblvkVꪽQ޹~_Eo^ QCPHO:htRHgpU%<{aa]1]X_Sl`(焏|*n[I{!#4I.#)p$}aQ~[;ڸ-/q
-UkUU>IH&Z%I\5 ϩT)\MZ@e?Ȁ(!d[JYo[$U.HTGYO $.s3-{br벞tgAAŲ$ԥhvd W22UUV%fr[|zZ)@7UѶenc0^!+Mܖg
-t)6RvZc1q2kEYWM@QS#HOT eP+Pջ}
-f/{]>c
-PLR?>x^Mw|hWtǬXr"j}5b'9ʲ;cwm &D+=$Q{?`
-endstream
-endobj
-4300 0 obj
-<< /Type /Page /Contents 4301 0 R /Resources 4299 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4302 0 obj
-<< /D [ 4300 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4303 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4304 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4305 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4306 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4307 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4308 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4309 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4310 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 675.183 null ] >>
-endobj
-4311 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 664.224 null ] >>
-endobj
-4312 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 653.265 null ] >>
-endobj
-4313 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 642.306 null ] >>
-endobj
-4314 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 631.347 null ] >>
-endobj
-4315 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 620.388 null ] >>
-endobj
-4316 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 609.429 null ] >>
-endobj
-4317 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 598.471 null ] >>
-endobj
-4318 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 587.512 null ] >>
-endobj
-4319 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 576.553 null ] >>
-endobj
-4320 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 565.594 null ] >>
-endobj
-4321 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 554.635 null ] >>
-endobj
-4322 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 543.676 null ] >>
-endobj
-4323 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 532.717 null ] >>
-endobj
-4324 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-4325 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-4326 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-4327 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-4328 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-4329 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-4330 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 439.068 null ] >>
-endobj
-4331 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-4332 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-65 0 obj
-<< /D [ 4300 0 R /XYZ 79.37 390.451 null ] >>
-endobj
-4333 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 300.175 null ] >>
-endobj
-4334 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 289.217 null ] >>
-endobj
-4335 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 278.258 null ] >>
-endobj
-4336 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 267.299 null ] >>
-endobj
-4337 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 256.34 null ] >>
-endobj
-4338 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 245.381 null ] >>
-endobj
-4339 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 234.422 null ] >>
-endobj
-4340 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 223.463 null ] >>
-endobj
-4341 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 212.504 null ] >>
-endobj
-4342 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 201.545 null ] >>
-endobj
-4343 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 190.586 null ] >>
-endobj
-4344 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 179.628 null ] >>
-endobj
-4345 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 168.669 null ] >>
-endobj
-4346 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 157.71 null ] >>
-endobj
-4347 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 146.751 null ] >>
-endobj
-4348 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 135.792 null ] >>
-endobj
-4349 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 124.833 null ] >>
-endobj
-4350 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 113.874 null ] >>
-endobj
-4351 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 102.915 null ] >>
-endobj
-4352 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 91.956 null ] >>
-endobj
-4353 0 obj
-<< /D [ 4300 0 R /XYZ 81.077 80.997 null ] >>
-endobj
-4299 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4356 0 obj
-<< /Filter /FlateDecode /Length 2388 >>
-stream
-xZKs6WF&$lj}rm(kPm<L3ڋI
-@ꗬhdMyloQ 2p4mc3+΋9Rؤy
-ۚ`E?X(h<vVrwA6+G~rGNhch17.;f-n8ߍd+-vRHq>}}X'DsucЋ8.S6vApKݾgt9 !@Fb"JG!)
-
-M,`i*mS/1 !dT^
-
-z)~<3 UPEz
-t}E`q!k
-xٔ JA2/zU+ip>ÂX( ЗO/뽏+h(=1 IG
-'q%V޷DA|LM
-}Jr7VI9d; @PօڹAo)yH>@ĕCHkL B0=7H
-94^
-endstream
-endobj
-4355 0 obj
-<< /Type /Page /Contents 4356 0 R /Resources 4354 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4357 0 obj
-<< /D [ 4355 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4358 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4359 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4360 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4361 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4362 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 713.006 null ] >>
-endobj
-4363 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 702.047 null ] >>
-endobj
-4364 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 691.088 null ] >>
-endobj
-4365 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 601.603 null ] >>
-endobj
-4366 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 590.644 null ] >>
-endobj
-4367 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 550.58 null ] >>
-endobj
-4368 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 539.621 null ] >>
-endobj
-4369 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 506.318 null ] >>
-endobj
-4370 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 495.359 null ] >>
-endobj
-4371 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 472.41 null ] >>
-endobj
-4372 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 461.451 null ] >>
-endobj
-4373 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 450.492 null ] >>
-endobj
-4374 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 439.533 null ] >>
-endobj
-4375 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 428.574 null ] >>
-endobj
-4376 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 417.615 null ] >>
-endobj
-4377 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 406.656 null ] >>
-endobj
-4378 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 395.697 null ] >>
-endobj
-4379 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 384.738 null ] >>
-endobj
-4380 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 373.779 null ] >>
-endobj
-4381 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 362.821 null ] >>
-endobj
-4382 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 351.862 null ] >>
-endobj
-4383 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 298.242 null ] >>
-endobj
-4384 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 287.283 null ] >>
-endobj
-4385 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 276.324 null ] >>
-endobj
-4386 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 265.365 null ] >>
-endobj
-4387 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 254.406 null ] >>
-endobj
-4388 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 243.447 null ] >>
-endobj
-4389 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 232.488 null ] >>
-endobj
-4390 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 221.529 null ] >>
-endobj
-4391 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 210.57 null ] >>
-endobj
-4392 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 199.611 null ] >>
-endobj
-4393 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 188.653 null ] >>
-endobj
-4394 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 177.694 null ] >>
-endobj
-4395 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 166.735 null ] >>
-endobj
-4396 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 155.776 null ] >>
-endobj
-4397 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 144.817 null ] >>
-endobj
-4398 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 133.858 null ] >>
-endobj
-4399 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 122.899 null ] >>
-endobj
-4400 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 111.94 null ] >>
-endobj
-4401 0 obj
-<< /D [ 4355 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4354 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4405 0 obj
-<< /Filter /FlateDecode /Length 2444 >>
-stream
-xڭZnF+d hW𪓙頳h Y$htHnȿϭ*JI [{}Sxq/pwYd$|q}sA^2aIߖ]iLWJ=nڃ$ϒ:ɮΊ?#JY($OE'F)G\uSV\ruIr)o'nؤy^ˊk;U˧v}6G7n|w_ G#a eHhxZ"I@\!B_SZ`РL(F;a!4*&$"Dt1Ɋf]7:+H
-P]ۼ~) R=AsA
-ÐԦ'I]Uh
-KE(O_b P)Ez~,tj$F^!^hČobŰM's ϯg_L#mxO]QZp*dWNtl"Q|uwsJ%d&N9ctr#]1 r
-BGD!~fXu yIve,5dΰwRk]bFؕsS
-{p殽^`Fj責i>E7ngOw)\z0.%~8h1U7fY@D7JۥNNu!0.ϟM}U%&qh,^63VG&eC?v OnGFUH!$㊽
-u`Rp$t_rg43k9Pbl30:+z: 08LÇ J&YY5&tOquoTbR$HD|nؔ>$.P>̪ۉw˕@&@i
-$q*ue'0:TD
-kcvSL 9ێrٕ6a~lmԈhy mj8W6MY|^}\ LUKB6UlM#`yjl#=c^`/ZџY'Q=Nf :<B/DT{\O ܶROߟ$U#Qտ+cWSfKH"CJ\gTSb)C3p"T~!ڐ8:4*½)O,]*=`1ȴNA5@[`SǑtUie?m$}*\Bиa|VA
-Ծ tydCGt?=Z]:RԆ|uϧF4Bج놸` ; ?P7Nok"u+6֪)}9Hn?uy}#6F6r E1zrbby9CщѨ/@?\_u`Z!bs~tqů?vCGURB,@cd!]*}M c W4-?6ZÀݷ/ ̲snw2z]o<p* X!D m4XtITSXQfu򴴲nD̽6 ;s \:Əv
-endstream
-endobj
-4404 0 obj
-<< /Type /Page /Contents 4405 0 R /Resources 4403 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R /Annots 4455 0 R >>
-endobj
-4455 0 obj
-[ 4402 0 R ]
-endobj
-4402 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.185 422.386 310.618 434.323 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
-endobj
-4406 0 obj
-<< /D [ 4404 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4407 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-4408 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-4409 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-4410 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-4411 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-4412 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-4413 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-4414 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 678.172 null ] >>
-endobj
-4415 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 667.213 null ] >>
-endobj
-4416 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 656.254 null ] >>
-endobj
-4417 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-4418 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-4419 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-4420 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-4421 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-4422 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-4423 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-4424 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-4425 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-4426 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-4427 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-4428 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-4429 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-4430 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-4431 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-4432 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-4433 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-4434 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-4435 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-4436 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-4437 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-4438 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-4439 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 362.356 null ] >>
-endobj
-4441 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-4442 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-4443 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-4444 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-4445 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-4446 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-4447 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-4448 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 215.905 null ] >>
-endobj
-4449 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 204.946 null ] >>
-endobj
-4450 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 193.987 null ] >>
-endobj
-4451 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 183.028 null ] >>
-endobj
-4452 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-4453 0 obj
-<< /D [ 4404 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-4454 0 obj
-<< /D [ 4404 0 R /XYZ 94.613 87.686 null ] >>
-endobj
-4403 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F22 455 0 R /F27 638 0 R /F72 4440 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4458 0 obj
-<< /Filter /FlateDecode /Length 2379 >>
-stream
-xڭZ[o~ϯEbgbh}h
-AX,y%9t=HX6D2xxJ4{E?]}ECĔW^fx&8Hv9.ua.
-,%[UE]n7 zOWNUieMgM 0Ƭ'iPJK"0ϸF-  E$vXx^%lJ睖wyŌ3|rYLn1qN {$jE,ydbePY' jP]F "]0/5)H$2GNA\HcORPq$` `P7`r +;F_(ޞ+LA%PL8|qmpmM8+V>++ont|p/:Tk>jUG) L/cİOU -ik&^ N]ʷkZ2BD^Bu+~LxL{U`e@ ᡉ֛
-u+i(v
-<>ŸU 7t
-Km4
-g`CӋ0Fctmo^G_U7v`LhG<@tgk=!ky#xOkn4x3.>RHU3 |cDۣ^YY<Ve̊dq"OSYFXGC9 :FVzӜwV#=e͡G*j}_#} y`}aEЎM}A-8I(wX3C~y׏:4=PX(<w<i(PPSc:{{c;m\ J`D @A<+Wʚ&NׅXbD_Dq{~-ۗ˾Ncӄ6c&u7)e%O 0\Tj:{߾f]rEX<Ϧ{PA5xyz|•ecf(5Z,w۷f;Ѽs{ܙںnBy}("An3NMo-{k0
-{v
-mǚ
-MVu?u=^؅l7DӪXi8Sc{1-騏/tdW'%.ŸkLʜPIe%j''MB/ zYς0
-<2
-=
- Bq'~{i
-endstream
-endobj
-4457 0 obj
-<< /Type /Page /Contents 4458 0 R /Resources 4456 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4459 0 obj
-<< /D [ 4457 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4460 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4461 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4462 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 717.026 null ] >>
-endobj
-4463 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 706.067 null ] >>
-endobj
-4464 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-4465 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-4466 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-4467 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-4468 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-4469 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 514.784 null ] >>
-endobj
-4470 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 498.844 null ] >>
-endobj
-4471 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 487.885 null ] >>
-endobj
-4472 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 476.926 null ] >>
-endobj
-4473 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 434.087 null ] >>
-endobj
-4474 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 423.128 null ] >>
-endobj
-4475 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 412.169 null ] >>
-endobj
-4476 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-4477 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-4478 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-4479 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-4480 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-4481 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 346.416 null ] >>
-endobj
-4482 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 335.457 null ] >>
-endobj
-4483 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 324.498 null ] >>
-endobj
-4484 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 313.539 null ] >>
-endobj
-4485 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 302.58 null ] >>
-endobj
-4486 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 291.621 null ] >>
-endobj
-4487 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 280.662 null ] >>
-endobj
-4488 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 269.703 null ] >>
-endobj
-4489 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-4490 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-4491 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-4492 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-4493 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-4494 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-4495 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-4496 0 obj
-<< /D [ 4457 0 R /XYZ 81.077 110.301 null ] >>
-endobj
-4456 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4500 0 obj
-<< /Filter /FlateDecode /Length 3120 >>
-stream
-xڵ[[ܶ~4"m8mMC 3b44^oCRM+ C|FξE1;j+KD2K4#Tf!WEQ]diU]]s3_l79?lI!j]M5B4 'g_n
-7!UM`Cl0mHe<Or@zJ푤<6!'T*H:֖RjpR|S^n7wF5Ua򟚪rCw~G|ҷQ>I"!LuZb^wuZ?<SLHbh3cR`GEBTf&5LFÁ $~arf`z-L4=$6~ v6[ؿEyS^]+_;.?.[vU_ISOSԇ2@nղV+(HYԣ5yfKe@~Yluyk^Aem}dXi֖TeA:=JeY<-p 2tVO19BUv<D ?zM̑z~Wvx V
-y_׷}])W]WNi-xe* x̒aB\Є['^(,_>8CtR96awuvzFXwDیU( '2>
--#D_ ذB/VD&>\5<yG3請
-%ҡgHMB1dH s
-ϭ&CD}}vWA<n$Ј bzx5GD}^K B z5fA#5
-}=<pﻗvy"kb&̿L%8"ш*f@v$7Rx 'Clz7"r
-B ~ K:w\1Rh]+Z?.X l_iTW[6m**dOWsۻ3um# | j7f_U<[ ?d?pX==}#4*0%4fw՗Bmv:%<=ٹ\x ftLwń.:p=`D`21QQl )Bt+ kU-q`4NLJKOC짜'l]RKIe@/ݗ~7O0Ts`XQONq䐧ӲH79]f7#a8Væ0-#x1"/)FstvWgwu`xk'`9M:x
-LjkW!h;!mt ^X2{\^f
-bn&K6G1n3 WK 8[L&F@MjWo;%=WF1?GpQgrldEԣXr,#.o 8 }kQl*y`Ę5WF8.63RwGa?6u
-ѓo-N_dbX=BSBb{[TVB:&-󌿻+ x mjpbh@?
-b\.z&rjDb)9[5XOow?{섥Xqo3팯p  3t p׺L@PJO
-\&50l+vԅn.%EGUĥ]i!ruh+#3Wm(VW?kX4<?] & ɊO(g 3Pv݅!; FW -#$z"D./`vXgѻ  : a
-endstream
-endobj
-4499 0 obj
-<< /Type /Page /Contents 4500 0 R /Resources 4498 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R /Annots 4535 0 R >>
-endobj
-4535 0 obj
-[ 4497 0 R ]
-endobj
-4497 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 434.917 299.201 445.35 311.138 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
-endobj
-4501 0 obj
-<< /D [ 4499 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4502 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 731.058 null ] >>
-endobj
-4503 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 720.099 null ] >>
-endobj
-4504 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 661.656 null ] >>
-endobj
-4505 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 650.697 null ] >>
-endobj
-4506 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 639.738 null ] >>
-endobj
-4507 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 628.78 null ] >>
-endobj
-4508 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 617.821 null ] >>
-endobj
-4509 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 559.378 null ] >>
-endobj
-4510 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 548.419 null ] >>
-endobj
-4511 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 537.46 null ] >>
-endobj
-4512 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 526.501 null ] >>
-endobj
-4513 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 515.542 null ] >>
-endobj
-4514 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 504.583 null ] >>
-endobj
-4515 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 493.625 null ] >>
-endobj
-4516 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 482.666 null ] >>
-endobj
-4517 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 471.707 null ] >>
-endobj
-4518 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 460.748 null ] >>
-endobj
-4519 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 449.789 null ] >>
-endobj
-4520 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 438.83 null ] >>
-endobj
-4521 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 427.871 null ] >>
-endobj
-4522 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 416.912 null ] >>
-endobj
-4523 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 405.953 null ] >>
-endobj
-4524 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 394.994 null ] >>
-endobj
-4525 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 384.036 null ] >>
-endobj
-4526 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 373.077 null ] >>
-endobj
-4527 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 362.118 null ] >>
-endobj
-4528 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 337.632 null ] >>
-endobj
-4529 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 326.673 null ] >>
-endobj
-4530 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 260.176 null ] >>
-endobj
-4531 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 249.217 null ] >>
-endobj
-4532 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 184.966 null ] >>
-endobj
-4533 0 obj
-<< /D [ 4499 0 R /XYZ 81.077 174.007 null ] >>
-endobj
-4534 0 obj
-<< /D [ 4499 0 R /XYZ 94.613 80.331 null ] >>
-endobj
-4498 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F65 185 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F22 455 0 R /F70 300 0 R /F30 644 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4538 0 obj
-<< /Filter /FlateDecode /Length 2197 >>
-stream
-xڵZKsϯP"UA萚&٭)Wb%sMg5=@YLć~mgx(i%|v@҈aIfWٯӧ|yɯvu}y񟫟a%[bgR/0q&uF0Қ<N,SWwiT׋ /;ݸkך%]Bb9_aÇrH\# W-T6/?к!1P4w}u]b3X [m;m++S0"sTv$]U-ݫk
-*[pb:2oB4ĨɴAzXϣM1RLh?}eyy9Q aI b至;s?~$[2ಒLdvAJ`&X7m];ǭsUYO@=
-)k bzw=}tB P1v=T_j8tqvA^0Q&Se>0PGMv'is~F'xI(f\jO&Ϭú2=kcu ddc(S
-׏`gbM HV -XƎtbmZ@Ku֧ $~KiC||PuՔaxD]+0Iwg ʥ־g̾4FX5n[l-5zF)z+!TRfcMN!FR
-lmo`Ru j+!J N(8r):9 CBKӲBKT-
-~i*}B Y.M#tP;ޭ--i4E':ce:$z>'s &>ȱ'} {}{$^t7_>{
-=s>KXO}eN3RnV)71#dcO}c ='9qhjUhI:"Y:qfӾqDpMCrlog]+weϾ+cam/%[̢{`X=.f@쫯妨t 'Scf<:|ǿz`ΛTz
-endstream
-endobj
-4537 0 obj
-<< /Type /Page /Contents 4538 0 R /Resources 4536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4539 0 obj
-<< /D [ 4537 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4540 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 731.221 null ] >>
-endobj
-4541 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 720.263 null ] >>
-endobj
-4542 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 709.304 null ] >>
-endobj
-4543 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 698.345 null ] >>
-endobj
-4544 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 687.386 null ] >>
-endobj
-4545 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 658.99 null ] >>
-endobj
-4546 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 648.031 null ] >>
-endobj
-4547 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 637.072 null ] >>
-endobj
-4548 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 626.113 null ] >>
-endobj
-4549 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 615.154 null ] >>
-endobj
-4550 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 604.195 null ] >>
-endobj
-4551 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 593.236 null ] >>
-endobj
-4552 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 582.277 null ] >>
-endobj
-4553 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 571.318 null ] >>
-endobj
-4554 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 560.36 null ] >>
-endobj
-4555 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 549.401 null ] >>
-endobj
-4556 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 538.442 null ] >>
-endobj
-4557 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 527.483 null ] >>
-endobj
-4558 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 516.524 null ] >>
-endobj
-4559 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 505.565 null ] >>
-endobj
-4560 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 494.606 null ] >>
-endobj
-4561 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 431.335 null ] >>
-endobj
-4562 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 420.377 null ] >>
-endobj
-4563 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 409.418 null ] >>
-endobj
-4564 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 398.459 null ] >>
-endobj
-4565 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 387.5 null ] >>
-endobj
-4566 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 376.541 null ] >>
-endobj
-4567 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 365.582 null ] >>
-endobj
-4568 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 354.623 null ] >>
-endobj
-4569 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 343.664 null ] >>
-endobj
-4570 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 303.313 null ] >>
-endobj
-4571 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 292.354 null ] >>
-endobj
-4572 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 281.395 null ] >>
-endobj
-4573 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 270.436 null ] >>
-endobj
-4574 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 259.477 null ] >>
-endobj
-4575 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 248.518 null ] >>
-endobj
-4576 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 237.559 null ] >>
-endobj
-4577 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 226.601 null ] >>
-endobj
-4578 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 215.642 null ] >>
-endobj
-4579 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 204.683 null ] >>
-endobj
-4580 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 193.724 null ] >>
-endobj
-4581 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 164.574 null ] >>
-endobj
-4582 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 153.615 null ] >>
-endobj
-4583 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 142.656 null ] >>
-endobj
-4584 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 131.697 null ] >>
-endobj
-4585 0 obj
-<< /D [ 4537 0 R /XYZ 81.077 120.738 null ] >>
-endobj
-4536 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4588 0 obj
-<< /Filter /FlateDecode /Length 1832 >>
-stream
-xڽZn6+ AH"0YNTؒGR KZE:8XCKޗ'<|+e?_r{&Nnv2I&J%ܮ'MX')dH 0_.tTYl+A{{/~^ŏvkdFSO֌#KbT๙A~nM1$U'O")҇-%D5"{dKf%#xK(Dȹ h'EY3Ͼnn=vjެ7Zk0_,e0!5vޝWV/6B1n#ž/ Cl -aiV4YuŰ8u "μ}
-d"t;OLP fc +xFtYV%U缸oz wçi%MVoŧڗEjʎhٳvRqe6?e4U:A_ wn; dmlꎩof|Z;=ڵ,6Haw<ov-E<TeMla+Zhp JX`~`7=
-)<m^DDJ
-Ct# ί tB{F7DVo7jk8#gR-?D1ñ0'k6qmփ3 YD裚RKpԸ"Pa}}THt #DP g OqheeG!϶Q9 f-6MQFY{J f%
-iMw) A?ݫSR(3SM\z̻5E6)txNHM\}޺<z(;N-^pDſ&b˯+iֳ[C=}EmcĄOo#<)9I>b;wl%Z =Ղa񑓂ŹF.qxw|f5 >rR87Bwn(st҃ٱi@ z[nygMmviGEl~YI*D}t}Y+vN;*O2XE5$m Р|8B ;qWft.1T啴?|.tk-x[ֳ]b}/TV!,E^$q¬Ղޕ&uR ]_K<Ċ3kGF(n7"$Ed-6[2] :L]072bR}e@ GPDڍۡVװbc> 5
-kXI3BjzpVތgQܹKT 1 p
-a";# 0_q@f<!]w4BET8Cx#D&/F澰did5{ ~K {[a%D_M6(D?c޾X}1B<J6"|bC)4?P24g D߼%@p,C-CKxTj~?o@lɰ7a.+BqMQ Sdbq %hП,"ʲHZ#:{3om
-endstream
-endobj
-4587 0 obj
-<< /Type /Page /Contents 4588 0 R /Resources 4586 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4589 0 obj
-<< /D [ 4587 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4590 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4591 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4592 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4593 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4594 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4595 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4596 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4597 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4598 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-4599 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-4600 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-4601 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-4602 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-4603 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-4604 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-4605 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-4606 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-4607 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-4608 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-4609 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-4610 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-4611 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-4612 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-4613 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-4614 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-4615 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 423.128 null ] >>
-endobj
-4616 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 412.169 null ] >>
-endobj
-4617 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-4618 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-4619 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-4620 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-4621 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-4622 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-4623 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-4624 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-4625 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-4626 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-4627 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-4628 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-4629 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-4630 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 228.857 null ] >>
-endobj
-4631 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 217.898 null ] >>
-endobj
-4632 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 206.939 null ] >>
-endobj
-4633 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 195.98 null ] >>
-endobj
-4634 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 185.021 null ] >>
-endobj
-4635 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 174.062 null ] >>
-endobj
-4636 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 163.103 null ] >>
-endobj
-4637 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 152.144 null ] >>
-endobj
-4638 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-4639 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-4640 0 obj
-<< /D [ 4587 0 R /XYZ 81.077 119.268 null ] >>
-endobj
-69 0 obj
-<< /D [ 4587 0 R /XYZ 79.37 95.806 null ] >>
-endobj
-4586 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4643 0 obj
-<< /Filter /FlateDecode /Length 4021 >>
-stream
-x[[oc~_!/23_l
-da ) |V*K$Ǜ.;9Xs
-4@V3r8ᓏ>}o͔rruJ|"&.0&x\O9_W/Rm\5..ӛBSLww]r}Xu۽ߊ0 ,Xieλ7tߣi\o..fv8~>=.vJhUw~obM_OMw-,xV&;[?4`'Qcr~,>iؙ^^|vI؂{huiť6fmz\_HqZ}"*k]W릋mMxdw 9z$4>VJDK4W]c  rbC`Fd7&7RYUN~tn@<M^&OfɥgʆJ"05|=Sm}I ?>$Sm3S>3Cc=Yh˸v*F*Nb%XŁ
-7ʼI
-4 x CLd(?\zR-T{h%ZcTZjPezƭtn<jy 9 ?͝Te`*sAܹ_^<lVPs4+iXУXV!v%#Gb@ŘVh}ag†7b._G#I2kmf4oe Shء9t
-rK  w 5!& W*JJe h,Q>O2 cB\jk0.b&U7ͼ>4PBBD*R!ͪh +var+ 3
-*Rxnq6 Lh4U%"(H )f<c̄;$8&DP+I
-%*Dh"Bбڬ:jbm,cK$wX6lp&T\"+]F6!H@hy6ԇ xʃ?&D2`Wc"i$ʴK 6P6PR B*_:UUPx pHkZ
-BTQb m>B$ȡDb1aamLj~؆Zp/4͂uT6,C(v
-exUUT`f$BcBiGap!h2G"
-4Ub !mΣ>F$aGdqIP -P  tmmLAC1Up)űڬz
-]` 5О!@9H"F"4Uab /
-]GK}HGWkf}$'DV sjZj,AD1UbVmU]GK}j
-{l@h3tM1"`Ů 0H}LQ
-k@h3tZj" ٺ†P:uD{xj'Gp.+PԀg6ʓV&(Ӎl䎚Mlacb`x`4.sSm\E~u|}_@~Ǜ7׷5wW^࿓w/ٿ-tONo׏|'o[m_7~ [H5~mԃw\v%"_z+ 7^_]~uM5G(5vf[fi &h2| b^>ޯpR)ET8 b3.>N+R*?_3-;:tvYdg:֛#5qDdx1TڔmaVswdakG~m(]7.UBʴ2G#udyH5ڰ<,aX`]-mwZna?ѳsnmt?\fF<נ.݇2>zsXviղ9ޕj7}^=t|06H$,b(O#gC Nu< ~q!ჩ'C~"~y(7N07~i,X?tlƓ2t8:xgH)kP|.%CT#Qn]i͛1:1cO/ oÊY(B/
- *Ņ>,_œDBaNcjG`1S̼9u늼)qSAuRץc/ezT8m8uF8ǩ
-$JWq~nm=|!0I_-xX,\B(3Юr
-hcrTc׫wF_{ 6٧r1w4JkM#j5dD1>AiKp~^u/NCJk?Vsu ݏѩJ(,ն'c. fɁ !R\ܟ9s3Ghop#kdֲ`:]," ?w|ŗ4/tCGl)FLGxܖ+4G/dА_?tMxWN4gU`۫W"
-endstream
-endobj
-4642 0 obj
-<< /Type /Page /Contents 4643 0 R /Resources 4641 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4644 0 obj
-<< /D [ 4642 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4645 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 427.447 null ] >>
-endobj
-4646 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 416.488 null ] >>
-endobj
-4647 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 385.897 null ] >>
-endobj
-4648 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 357.2 null ] >>
-endobj
-4649 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 346.241 null ] >>
-endobj
-4650 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 335.282 null ] >>
-endobj
-4651 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 324.324 null ] >>
-endobj
-4652 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 271.717 null ] >>
-endobj
-4653 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 260.758 null ] >>
-endobj
-4654 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 249.799 null ] >>
-endobj
-4655 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 238.84 null ] >>
-endobj
-4656 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 227.881 null ] >>
-endobj
-4657 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-4658 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-4659 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-4660 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-4661 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-4662 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-4663 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-4664 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-4665 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-4666 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-4667 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-4668 0 obj
-<< /D [ 4642 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4641 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F19 184 0 R /F70 300 0 R /F34 1778 0 R /F30 644 0 R /F27 638 0 R /F20 186 0 R /F78 650 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4671 0 obj
-<< /Filter /FlateDecode /Length 1963 >>
-stream
-xڽYێ8}0cE60C
- FhonRI(ŅҮ-iooެ_?E^3`|e
-wU3ۮjVJ-}3L>.T9|}Zd KŠ;#r-ba|g]K9Ji 2]%C }!"Ԙ䛣D@
-Gj</$\@f"%.}(|J\H[}/bZ"7RQ}/b"UTps4>A
-^M8k֗F5i;r0~A"ʤXFI~}'aU@4\ AI?&U*wXOo֌GpWm⯛7ؽMp J&U9G_d.9ƱD)%苉TUS,h:f896gHOǼ\C"BBh
-5EhL+8wdo j
-vۮ:ୖy*s]cϏ`r-]z&!X:.ԋ3BGoBTS6T!ו_7 s>pmYБ=Tjy?,Eo);7foPLbn}㒁n0n14[W56
-骣1+6d-̹!0m9HYL[JL[fh'"OETgz<2d!r
-endstream
-endobj
-4670 0 obj
-<< /Type /Page /Contents 4671 0 R /Resources 4669 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4298 0 R >>
-endobj
-4672 0 obj
-<< /D [ 4670 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4673 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4674 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4675 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4676 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4677 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4678 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4679 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4680 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4681 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-4682 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-4683 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-4684 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-4685 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-4686 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-4687 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-4688 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-4689 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-4690 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-4691 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-4692 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-4693 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-4694 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-4695 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-4696 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-4697 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-4698 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-4699 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-4700 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-4701 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-4702 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-4703 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-4704 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-4705 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-4706 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-4707 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-4708 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-4709 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-4710 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-4711 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-4712 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-4713 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-4714 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-4715 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-4716 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-4717 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 155.133 null ] >>
-endobj
-4718 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 144.174 null ] >>
-endobj
-4719 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 133.215 null ] >>
-endobj
-4720 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 122.256 null ] >>
-endobj
-4721 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 111.297 null ] >>
-endobj
-4722 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 100.339 null ] >>
-endobj
-4723 0 obj
-<< /D [ 4670 0 R /XYZ 81.077 89.38 null ] >>
-endobj
-4669 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F70 300 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4726 0 obj
-<< /Filter /FlateDecode /Length 1421 >>
-stream
-xڽZMO#G+,*]&BJ9pDvA٬5݆p`{^7UH>ˣ1"DGΌ.0}F8y.F},O#H=1%/f19;TuIZyc{?g/rʾB~*&$gu~rrzw7]WMHWtپY7k 8V5-AMTej9lQ`7^?'. Ār46M;n،BzPCeRu,ћ}id5_O||qrjv\ɢI/ZlûjeZs4k5z]-jE dX'UNS̊2IE53It{W*EM҃Hz%t3TzP]7Q&=G4zPz:$ J&7G#}Oq}Q_+nY6L=V061=I]<sS?ĩc(/Iam/t!$;;i]/d6#5Gv{F=G 86гyD%YͮxJaC]Mip{̞ml6TߖH"7EQӚC3w9Rs܉BqhqUXS؉a0>P҇I! =,r<:ٖ#@`yޭXr5;s"(h!`96Zu'&mY-%\~}p߇d :m}e_a=?:P
-RUI =hZ&⇽~(VB,F9Z
-:V.*{Wf=ddt05Kw29ۧ҇ha^&=Gnao;.Ԏڮd-E1lPa8͆ C.XW<&j=J"UCgEhy$6`@ق?9i/fIE)9LU ǙU~p!Ji T@#ZH0`!R- ;GsHnes?2dsG?2JuesTFPϤdjsݬtmu,R51:Gc
-{n2RpSX<lDLKՌ~W/{_&
-endstream
-endobj
-4725 0 obj
-<< /Type /Page /Contents 4726 0 R /Resources 4724 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4727 0 obj
-<< /D [ 4725 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4728 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-4729 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-4730 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-4731 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-4732 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-4733 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-4734 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-4735 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-4736 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-4737 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-4738 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-4739 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-4740 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-4741 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-4742 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-4743 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-4744 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-4745 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-4746 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-4747 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-4748 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-4749 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-4750 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-4751 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-4752 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-4753 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-4754 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-4755 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-4756 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-4757 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-4758 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-4759 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-4760 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-4761 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-4762 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-4763 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-4764 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-4765 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-4766 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-4767 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-4768 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-4769 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-4770 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-4771 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-4772 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-4773 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-4774 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-4775 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-4776 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-4777 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-4778 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-4779 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-4780 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 173.066 null ] >>
-endobj
-4781 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 162.107 null ] >>
-endobj
-4782 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-4783 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-4784 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-4785 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-4786 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-4787 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-4788 0 obj
-<< /D [ 4725 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-4724 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4792 0 obj
-<< /Filter /FlateDecode /Length 2940 >>
-stream
-xڽZ_oܸϧ0bEH\@]0ڇXȻd-I؎ҊLRp8PvO}9$5L7 3vf4,9K4#T뇳/$?byfH0Cb$1FԟE.wM~yu~]ˢ,",?Cu,bɨ(a2dȄߣy0)zI! Dfd/9IԒYB8W=4:!0aHϛjµxKzo FѼuIϛ[)R;?,$%Js#Wr mM}ujnfU7#Y~9׋g7GٸF{~Uv7E7YY|mY
-NS8 RDӔD)Q: _j--;s94ul~ow (7fbJͅ}bhHn[ 57ۢ 1!6[QuQ)yTSqD!DRJF bq}?y$?Tr,zerP"L eYNoJ#Lb!8=Bt}3S)#:VuB j[KA:n1C܍W$IL/o'z|g?W+1qRt"6lF=Vuӿ huҨ@9$ם$=P'"\ƈ
-p}g\8Iꢜd #L-Xںx-r:.$! UNAY;&wrW;+3PpU>`,!KQIh&}6;ak`Y3f,/2$aY튀<47}_?h*zͯ6U~,O-1m7àlݸёtߞ>vg|:eI|][Atqf^m اнl )d^&J
-v'52"`ݶp| !뼅$ LIfO#2;lcrfErǽ\N"!cAe'gch t2~)f~߶ݪ`| Խ( >ɼD t]77+ ~GӢV )(S>xBuJ)}H‹zC}L$<*>ch42$ND@?繥
-H' 4
- W0)_2T,fT-a^M3ID+TH>ސ<Hߕbka:sѹڈsX;Qm"_G'RrUԉE/HBbU,嶮З˫
- `nɄp
-Y:ʢ܋.aocUHQ*l\A\֒J-8 DxfiKPj{慠F! Xmj…qNOdsZ{6hM*D 1?}m]tzoFUN1 h&"ޣ߲].j k +>J4;W"x*m9[Dh`!]1eQcHc!\^Cm߰h9NLڣROJ:?(=q@e!zgݿY}(Q=FK$:sRC@Ͽx,: Фag[,֕{bZNJ
-+V#mFO鎴1/Jl}t ttΜM ^Uq S_CZ̻5gey[z=ZH)\y3hs}Fsi[hs &{[4':VpwfZƙ!ۂc1$G!+^$}\*&~9!Gw{˃޷n\2G<"^@tgqcNq)Y*CmH;$m`KDk6bU⮅<\7X+oabKX{p-j磢]۾C#leB*-s(>"ui(5q}zY4ͮcÙߊiOD9 if*9͆bQJ=bf>Ht;?2tHljF82>؈6Qvaa39l$btB15t>z$pdoEy O6RCZJ!M@S)SOL8\2!uthBۧ1i ; z fqY^h-h#>r$QdH;
-endstream
-endobj
-4791 0 obj
-<< /Type /Page /Contents 4792 0 R /Resources 4790 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4793 0 obj
-<< /D [ 4791 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4794 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4795 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4796 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4797 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4798 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4799 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4800 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4801 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-4802 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-4803 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-4804 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-4805 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-4806 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-4807 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-4808 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-4809 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-4810 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-4811 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 439.068 null ] >>
-endobj
-4812 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-4813 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-4814 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-4815 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-4816 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-4817 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 313.539 null ] >>
-endobj
-4818 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 302.58 null ] >>
-endobj
-4819 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 291.621 null ] >>
-endobj
-4820 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 280.662 null ] >>
-endobj
-4821 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 269.703 null ] >>
-endobj
-4822 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-4823 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 217.898 null ] >>
-endobj
-4824 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 206.939 null ] >>
-endobj
-4825 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 195.98 null ] >>
-endobj
-4826 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-4827 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-4828 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-4829 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-4830 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-4831 0 obj
-<< /D [ 4791 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-4790 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4834 0 obj
-<< /Filter /FlateDecode /Length 1405 >>
-stream
-xڭZMo6WaYۇ"(]|k #p䬊Xvm"c9(x# %]WzW׫_W?}*E0XgW@_T+
-P-o[UT{s0L%0i7b]գCyw`wv@6s3pZF7`~mkxlo zz~zD3fС-hzxov'zz3iwZt=L'd޴
-gENـ%zRoF[L5ڋW'<$R@t0Ti26(F-R@Q:gGɕg23}4Hg62sMʎ3-tv`K0 #:G5LGS@1)8CD'Z>6DgE@Ay{f'KoFSc;ڧ>_~i 2u
-y잹@Z>״rթ_
-໨E
- ÎwyPޠZE%d7 㙣{5 2.boBkG_Lsy *m&Q@WgJG6=Z.vfFI(bYX-Hz,i4"
-!jؔЊ6Ox:5ݞwoIMz zI,/gj+byRyI/+oy}GK3Oz3dgMZ,@=*?׻[]/Ծ}c>Y 3tἆICokF4)З=uv n, ؾ'G}#;Ar~^z(H,7Grp/Ж/~H6z#|v(gc;/Ҕsy|HUg|-D}eJa/:F e
-endstream
-endobj
-4833 0 obj
-<< /Type /Page /Contents 4834 0 R /Resources 4832 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4835 0 obj
-<< /D [ 4833 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4836 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4837 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4838 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-4839 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-4840 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-4841 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-4842 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-4843 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-4844 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-4845 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-4846 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-4847 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-4848 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-4849 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-4850 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-4851 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-4852 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-4853 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-4854 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-4855 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-4856 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-4857 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-4858 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-4859 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-4860 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-4861 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-4862 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-4863 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-4864 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-4865 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-4866 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-4867 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-4868 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-4869 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-4870 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-4871 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-4872 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-4873 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-4874 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-4875 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-4876 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-4877 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-4878 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-4879 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-4880 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-4881 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-4882 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-4883 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-4884 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 228.857 null ] >>
-endobj
-4885 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-4886 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-4887 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-4888 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-4889 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-4890 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-4891 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-4892 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-4893 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-4894 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-4895 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-4896 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-4897 0 obj
-<< /D [ 4833 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-4832 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4900 0 obj
-<< /Filter /FlateDecode /Length 2117 >>
-stream
-xZKo8W苍7e`Mc a{ (6hږ<ߧ(J$әI$?XN2$/gDܼ/g\}jP0% àd'J D
-'SF(`6Q(*4*[[kᄸqkS@qڟ.q:IB
-HF ::aS3P4|F2ĸQD6 ramY6guy7y_ 0I9wN.Z##W*DKAry[0tΏ )B"0D?s_prsЋ{tޜ, N.p>x+bH]bE|FR?gQǯ O)zL e\"g9JBQUARʭ3G "+wE\O)]9:>`M.$Nav*Ŋ)c*h> ~xW}
->:zis[Wc
-Iׄ9&]0 y2/=ٚF/1o[]mPkU`ZVC0m8Lq_du$$0
-(hnd âiz
-,b}<zđjIS֌ɤ~
-FvdݵHugwbȓ} ݉"q \|ykX]뫸 0<\E5"AiK9w僿 _$P-[
-endstream
-endobj
-4899 0 obj
-<< /Type /Page /Contents 4900 0 R /Resources 4898 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4901 0 obj
-<< /D [ 4899 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4902 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-4903 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4904 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 728.598 null ] >>
-endobj
-4905 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 717.639 null ] >>
-endobj
-4906 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 706.68 null ] >>
-endobj
-4907 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 695.721 null ] >>
-endobj
-4908 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 684.762 null ] >>
-endobj
-4909 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 673.803 null ] >>
-endobj
-4910 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 662.844 null ] >>
-endobj
-4911 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 647.977 null ] >>
-endobj
-4912 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 637.018 null ] >>
-endobj
-4913 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 626.059 null ] >>
-endobj
-4914 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 615.1 null ] >>
-endobj
-4915 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 604.141 null ] >>
-endobj
-4916 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 593.183 null ] >>
-endobj
-4917 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 582.224 null ] >>
-endobj
-4918 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 571.265 null ] >>
-endobj
-4919 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 560.306 null ] >>
-endobj
-4920 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 549.347 null ] >>
-endobj
-4921 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 538.388 null ] >>
-endobj
-4922 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 527.429 null ] >>
-endobj
-4923 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 516.47 null ] >>
-endobj
-4924 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 505.511 null ] >>
-endobj
-4925 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 494.552 null ] >>
-endobj
-4926 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 465.277 null ] >>
-endobj
-4927 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 454.319 null ] >>
-endobj
-4928 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 443.36 null ] >>
-endobj
-4929 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 432.401 null ] >>
-endobj
-4930 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 421.442 null ] >>
-endobj
-4931 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 410.483 null ] >>
-endobj
-4932 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 399.524 null ] >>
-endobj
-4933 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 344.486 null ] >>
-endobj
-4934 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 333.527 null ] >>
-endobj
-4935 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 322.568 null ] >>
-endobj
-4936 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 311.61 null ] >>
-endobj
-4937 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 300.651 null ] >>
-endobj
-4938 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 289.692 null ] >>
-endobj
-4939 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 249.918 null ] >>
-endobj
-4940 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 238.959 null ] >>
-endobj
-4941 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 228 null ] >>
-endobj
-4942 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 217.041 null ] >>
-endobj
-4943 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 206.082 null ] >>
-endobj
-4944 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-4945 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-4946 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-4947 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-4948 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-4949 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-4950 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-4951 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-4952 0 obj
-<< /D [ 4899 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4898 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4955 0 obj
-<< /Filter /FlateDecode /Length 2006 >>
-stream
-xڭY[o~_a<NxxihТ %@HFdxwHF>yYp WWx/^i%|@"H#"Id[{3i%Uvsx3|"?<I<YdunΓGX-&{IZGxm벬h>gw"-:_|><2,9●:&Hpp'0ٛA ^pFK48 EUtER 2 Jn2/LlJC/ !$A7lM[xhJ&I?T<Oߢ7__!Ÿ Y/7bS(W5]oP]QWދAR3wـO ``Qm\6Ps$va$qT+"J"iCqb`IKK]"Hlxm\x]vyy܃?
-Nfm6q4ߐ)6|uw1*Ƶys7Oudmm]TK,"'ߺX#^0/ ԹTk0E\ {`*~q#([GGJ*^4@IL{Ì,MVFaQ2 qX QƵIskarNYYCсPw?RX֙sNm(Q5WN.\3__.tDcg9_I# Lo VfNhk݋(A3ȹ'LqiqdY%閮>ey &
-sl,f,n
-6C#3r0Pr4n%sT\
-1]TY&]vwTA;uav/uZ]o໤kƅ>&ӽZӚs?~hnguʇr}rO'ٯ51₌b@{C; 'r= cX桃8
- 6 #J$.&HJ߫b\HIQg  i'M7c5ط/򳑭Ș@RѶ(,)GRG*l9:< 7ZkQz,<Vuw});<j  U/#a')q:RC_S[Q(p;lѺI\d0(ʎKp'q~9$.ɰ&OqvyJYqhM7ֱ49=pL+;`Hn ؤ⺲,޿ݘ{adiB]\ IдWN=w}
-&A۸:q7_eo}H =^ȢӇ0
-endstream
-endobj
-4954 0 obj
-<< /Type /Page /Contents 4955 0 R /Resources 4953 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4956 0 obj
-<< /D [ 4954 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4957 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-4958 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-4959 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-4960 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-4961 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-4962 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-4963 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-4964 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-4965 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-4966 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-4967 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-4968 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-4969 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-4970 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-4971 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-4972 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-4973 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-4974 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-4975 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-4976 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-4977 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-4978 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-4979 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-4980 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-4981 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-4982 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-4983 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-4984 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-4985 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-4986 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-4987 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-4988 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-4989 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 143.261 null ] >>
-endobj
-4990 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 132.302 null ] >>
-endobj
-4991 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 121.343 null ] >>
-endobj
-4992 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 110.384 null ] >>
-endobj
-4993 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 99.425 null ] >>
-endobj
-4994 0 obj
-<< /D [ 4954 0 R /XYZ 81.077 88.466 null ] >>
-endobj
-4953 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 650 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4997 0 obj
-<< /Filter /FlateDecode /Length 1954 >>
-stream
-xڭZˎWFF8|4 =@@@PrY=<\nOas)J՛E>xT ~_~BL#-xFfF,Œ ,lY-2-{{2FGe:qt27qͩ2;2Oi-\&؛VÃ
-eWv}]eEѳKWLnl ,q.+׈`ie}9?̟cѦnCYq+u4[4ߛ+Cי2?^/4gkxB6}?QWb$O`1fiEZLI$ XX18N[|ܒ)0>+a!y^jLrDtT}T8 * ϟzU~ &C*vtd)ɫ67ɯYS/"z?{-#Q8q
-1|tOP]Յq *_ee6Mۧ>c.5A <h`{z;2X"S \.P5Yw~lc踅 }5fkj/&N&h.ޘ kp&l(ċJP>>3"υ9FbJiyQ4xꩿE 6kiUg@2AB#Az7ш>Q +7 1CtP}ׇ5dQ
-+9}-,8vF0S²%uHB$Ra1;(_Ox ]E( =va_1˹
-"塿
-ص"\Q F^<tjk۝<YNl|%R=m?p^0h K_ݶܥ&R^7Ot2rANяX!{KWoYB>v>A9/syA0艉ՙ
-QHEXڜuch@\bag7:8`-ãq<_v}r(*tDUĄ~vӮ15f*)?̉dSWI)nA.(ҥ&y9A!iPAc>0 dAg
-endstream
-endobj
-4996 0 obj
-<< /Type /Page /Contents 4997 0 R /Resources 4995 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-4998 0 obj
-<< /D [ 4996 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4999 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 742.975 null ] >>
-endobj
-5000 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 732.017 null ] >>
-endobj
-5001 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 721.058 null ] >>
-endobj
-5002 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 710.099 null ] >>
-endobj
-5003 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 699.14 null ] >>
-endobj
-5004 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 658.386 null ] >>
-endobj
-5005 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 647.427 null ] >>
-endobj
-5006 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 636.468 null ] >>
-endobj
-5007 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 625.51 null ] >>
-endobj
-5008 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 614.551 null ] >>
-endobj
-5009 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 603.592 null ] >>
-endobj
-5010 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 592.633 null ] >>
-endobj
-5011 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 581.674 null ] >>
-endobj
-5012 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 570.715 null ] >>
-endobj
-5013 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 412.292 null ] >>
-endobj
-5014 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 401.333 null ] >>
-endobj
-5015 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 390.374 null ] >>
-endobj
-5016 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 379.415 null ] >>
-endobj
-5017 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 368.457 null ] >>
-endobj
-5018 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 357.498 null ] >>
-endobj
-5019 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 346.539 null ] >>
-endobj
-5020 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 335.58 null ] >>
-endobj
-5021 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 324.621 null ] >>
-endobj
-5022 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 313.662 null ] >>
-endobj
-5023 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 302.703 null ] >>
-endobj
-5024 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 291.744 null ] >>
-endobj
-5025 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 280.785 null ] >>
-endobj
-5026 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 269.826 null ] >>
-endobj
-5027 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 258.867 null ] >>
-endobj
-5028 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 247.909 null ] >>
-endobj
-5029 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 236.95 null ] >>
-endobj
-5030 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 225.991 null ] >>
-endobj
-5031 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 215.032 null ] >>
-endobj
-5032 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 204.073 null ] >>
-endobj
-5033 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 193.114 null ] >>
-endobj
-5034 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 182.155 null ] >>
-endobj
-5035 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 171.196 null ] >>
-endobj
-5036 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 160.237 null ] >>
-endobj
-5037 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 149.278 null ] >>
-endobj
-5038 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 138.32 null ] >>
-endobj
-5039 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5040 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5041 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5042 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5043 0 obj
-<< /D [ 4996 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-4995 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R /F78 650 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5046 0 obj
-<< /Filter /FlateDecode /Length 1863 >>
-stream
-xڽZKo6Wi7\!4@P@9t Ai[-y%:;$td{d9yHh9F_΢Jb{_~}ȑ JRFNшdB҄(fXD]9͍`1D% >rED诔YL̦X< GF&F@!2fx\7WY&kWpuv6\Ei]'C:EY"_gܙ
-poHmJp"#G2ʼnl3JoleCטzgmyxM]b2n.Viu
-Bq>Rhނo]%kOEQ73gK̶3J6diocp*E,EG:$+VTiM=m Ɗ]p#@́&7Eþ""uPo(T2.ZWT)ɸ6<@ ̏1+ND\)@RRJ^H DQQ9@!y9
-P/QJ I#"}bLGz#@{.8˗r۬ɘP<e3s0\ťIgF6dE TA8b1DRLW`s/t @ېs{#Ʀ"ƍU}c^/w]^tlPdr\sSZvu;J?3fdY 7n+d 1IdPE
-d"k(e{fA4aÛ=i1.Zծi9^d\7'`d2OWyl1gvg?E]{VoM^]vwMkĢ~x)㼯ẊXUmvk.$訹អ!Gl#fYWm9xXm۳鮇=F:pup1T->' hܬ`C PHA1 'x t]Mwሓ}#\wVyLr_t.o [#RH0܋G&[It {]}?'> Z^  p,}n}iݴ{G|_<=0
-endstream
-endobj
-5045 0 obj
-<< /Type /Page /Contents 5046 0 R /Resources 5044 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-5047 0 obj
-<< /D [ 5045 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5048 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5049 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5050 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5051 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5052 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5053 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5054 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5055 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5056 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5057 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5058 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5059 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5060 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5061 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-5062 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-5063 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-5064 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-5065 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-5066 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-5067 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-5068 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-5069 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-5070 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-5071 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 512.142 null ] >>
-endobj
-5072 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 501.183 null ] >>
-endobj
-5073 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 490.224 null ] >>
-endobj
-5074 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 479.265 null ] >>
-endobj
-5075 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 468.306 null ] >>
-endobj
-5076 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 457.347 null ] >>
-endobj
-5077 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 446.389 null ] >>
-endobj
-5078 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 435.43 null ] >>
-endobj
-5079 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 424.471 null ] >>
-endobj
-5080 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 413.512 null ] >>
-endobj
-5081 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 402.553 null ] >>
-endobj
-5082 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 391.594 null ] >>
-endobj
-5083 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 380.635 null ] >>
-endobj
-5084 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 369.676 null ] >>
-endobj
-5085 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 358.717 null ] >>
-endobj
-5086 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 347.758 null ] >>
-endobj
-5087 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 336.8 null ] >>
-endobj
-5088 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 325.841 null ] >>
-endobj
-5089 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 314.882 null ] >>
-endobj
-5090 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 303.923 null ] >>
-endobj
-5091 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 292.964 null ] >>
-endobj
-5092 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 282.005 null ] >>
-endobj
-5093 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 239.685 null ] >>
-endobj
-5094 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 228.726 null ] >>
-endobj
-5095 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 217.767 null ] >>
-endobj
-5096 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 206.809 null ] >>
-endobj
-5097 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 195.85 null ] >>
-endobj
-5098 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 184.891 null ] >>
-endobj
-5099 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5100 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5101 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5102 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5103 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5104 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5105 0 obj
-<< /D [ 5045 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5044 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5108 0 obj
-<< /Filter /FlateDecode /Length 1724 >>
-stream
-xZ[o6~ϯ0EP X
- XaŖcmJr4ߡ%QRl}GVtv3wg%^~:{sL0gW3͌&@3B5]fΥ⯫_ݻ
-k% #mcKvTt['uRZ4ӈǫB{=dTjqq%yGK7)tg͐%ݠUQue*Z[![|`@x-\>D)hݖc@ݻ[;|9H >&'Q NK4D[JЫ>SR˧3tuJbm^'^~ү~~mGr
- y.l?eܺsԾCsChCL6VR6 <JV]e>o~-P@{-]{%㓅az7whR32?Ylh[4?>Ś 4ܝAI3alBrW P:Lz)j `NREIuM:=4>
-w衟XB
-w%\:u@>zpi;2Ȏ-O^=;H횃8hU28c?6E;Iz\)Dh`
-."8HdC]gT! tMؕ{`>BcDDL*Y^DSD1)3k/!r;zez}Mf!(5
-P6x64jՖPڤ28K)|UPqo!xS5ӌ?lnj|ۼ<Z:rBZ),Ai0n; 10{8i)iC410p?
-endstream
-endobj
-5107 0 obj
-<< /Type /Page /Contents 5108 0 R /Resources 5106 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-5109 0 obj
-<< /D [ 5107 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5110 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5111 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5112 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5113 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5114 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5115 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5116 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5117 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5118 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 516.871 null ] >>
-endobj
-5119 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 505.912 null ] >>
-endobj
-5120 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 477.443 null ] >>
-endobj
-5121 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 448.975 null ] >>
-endobj
-5122 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 438.016 null ] >>
-endobj
-5123 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 427.057 null ] >>
-endobj
-5124 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 416.098 null ] >>
-endobj
-5125 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 387.629 null ] >>
-endobj
-5126 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 376.67 null ] >>
-endobj
-5127 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 365.711 null ] >>
-endobj
-5128 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 354.752 null ] >>
-endobj
-5129 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 343.794 null ] >>
-endobj
-5130 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 332.835 null ] >>
-endobj
-5131 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 321.876 null ] >>
-endobj
-5132 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 310.917 null ] >>
-endobj
-5133 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 299.958 null ] >>
-endobj
-5134 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 288.999 null ] >>
-endobj
-5135 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 278.04 null ] >>
-endobj
-5136 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 249.571 null ] >>
-endobj
-5137 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 238.613 null ] >>
-endobj
-5138 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 227.654 null ] >>
-endobj
-5139 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 216.695 null ] >>
-endobj
-5140 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 205.736 null ] >>
-endobj
-5141 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 194.777 null ] >>
-endobj
-5142 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 183.818 null ] >>
-endobj
-5143 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5144 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5145 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5146 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5147 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5148 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5149 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5150 0 obj
-<< /D [ 5107 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5106 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F78 650 0 R /F30 644 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5153 0 obj
-<< /Filter /FlateDecode /Length 2160 >>
-stream
-xڽZ[o~_a@.@Eu AD,bP(MdƏ3g!W+?'WiI%_>WdiIJU& ’̆f-ct?˽j۪}uOY,1]׉b1洹)`'ުcWε>v$5:R#;7BРFK`""Nq:eaa >?;Q3w\յӦjծnO%LeQ㝩Ʒ|x/i"/δFJbz~Sm촴#sun0W H+\HB&I\*ׁ_2
-Qh9P{:EJrpO`Z(Ғ`dH*-Gh#|mR"1P,M9Y CpLɨ8OS|Cռ0|5
-:)G8g.HPf ypmǪ^wEg(Uo[%Цڷfw0pWܣ-xϘѡi
-P`+O}w ʔ/wB w6wU~R
-5`_HMSPm]վKjT/#Ԯ ߘZTM T:Eb#tlW1 e.
-$5ӊ.VJDM6#tlPV^Aѯ:~ϊTCH04-s{\R_8NxaEK(,7i8,3Wţc{׽lrυ峮%ZCջi}ߖ-޷quWrbOB8׽?n/@:.6L1^tYY.lg|0C1luX^ܸۢ蠅7;vEE$ )Cds@;,;a~hqZ
-EZ~/rG뮴ō/l}myvK/;Pʺv]좓1TN|Q^3QVuٗl|tk󑸚fJ `'skKm@ X C$|O,iF;H/_%"ħ%L?v|6*8w}ޛ;?=6ُ-}cFT tJ:m s
-.I%BF Iҙ@.d϶rsp/BI{%fAB9ʜ;"#,ve( Ln\ٸfg>cw~swn jM3E5~xI8?q B׮ϘbppGnkrùq`lFmڟUy׹gJ5kp0fNd=yT-ܟCgaN!4`|
-}(M}  _iXR8F:ԕ\ x99
-endstream
-endobj
-5152 0 obj
-<< /Type /Page /Contents 5153 0 R /Resources 5151 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-5154 0 obj
-<< /D [ 5152 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5155 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-5156 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-5157 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-5158 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-5159 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-5160 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-5161 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-5162 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-5163 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-5164 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-5165 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-5166 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-5167 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-5168 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-5169 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-5170 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-5171 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-5172 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-5173 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-5174 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-5175 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-5176 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-5177 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-5178 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-5179 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-5180 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-5181 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-5182 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 399.218 null ] >>
-endobj
-5183 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 388.259 null ] >>
-endobj
-5184 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-5185 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 366.341 null ] >>
-endobj
-5186 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-5187 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 344.423 null ] >>
-endobj
-5188 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 333.464 null ] >>
-endobj
-5189 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 322.505 null ] >>
-endobj
-5190 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 311.547 null ] >>
-endobj
-5191 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 300.588 null ] >>
-endobj
-5192 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-5193 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 193.074 null ] >>
-endobj
-5194 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 182.115 null ] >>
-endobj
-5195 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 171.156 null ] >>
-endobj
-5196 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 160.197 null ] >>
-endobj
-5197 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 149.238 null ] >>
-endobj
-5198 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 138.279 null ] >>
-endobj
-5199 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 97.433 null ] >>
-endobj
-5200 0 obj
-<< /D [ 5152 0 R /XYZ 81.077 86.474 null ] >>
-endobj
-5151 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F70 300 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5203 0 obj
-<< /Filter /FlateDecode /Length 2037 >>
-stream
-xڭZMo6Wiw7ihhn!(hkK$oޡ(Q8Xf d%/qf i)]/0tJfxXΤ(xv1g?ucBP1FECGL_I][N~\xXUmcCkG[k qqf=6-ikdڷi>]V۪NmEsWL5ŒhevmtUg鏆"Q+XX.t66uKrOKDwDԉD8 [DpsQ3@۹}zB
-D]FiSAf!qY\]OskO#QOt1vaQIE3YeU&QGG)zĤKڥ
-f}eQa @a`"'}X9+PKʣsS҃( *P;\ Oy7Tm )&a%ܦ]9'ۢ!E3 e0LU^ K㇟P$oY31eRkoM>JC̾Cj˃i܍_}Y<ӥ-`wPN;2x
-2.|3   <!JE+]P"@GG%"@XGq::
-cؘ\WTmAfhHbXrJ
-endstream
-endobj
-5202 0 obj
-<< /Type /Page /Contents 5203 0 R /Resources 5201 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4789 0 R >>
-endobj
-5204 0 obj
-<< /D [ 5202 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5205 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5206 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5207 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5208 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5209 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5210 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5211 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 565.998 null ] >>
-endobj
-5212 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 555.039 null ] >>
-endobj
-5213 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 544.081 null ] >>
-endobj
-5214 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 533.122 null ] >>
-endobj
-5215 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 522.163 null ] >>
-endobj
-5216 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 511.204 null ] >>
-endobj
-5217 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 500.245 null ] >>
-endobj
-5218 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 489.286 null ] >>
-endobj
-5219 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 478.327 null ] >>
-endobj
-5220 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 467.368 null ] >>
-endobj
-5221 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 456.409 null ] >>
-endobj
-5222 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 445.45 null ] >>
-endobj
-5223 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 434.491 null ] >>
-endobj
-5224 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 423.533 null ] >>
-endobj
-5225 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 382.955 null ] >>
-endobj
-5226 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 371.996 null ] >>
-endobj
-5227 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 361.037 null ] >>
-endobj
-5228 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 333.654 null ] >>
-endobj
-5229 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 282.359 null ] >>
-endobj
-5230 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 271.401 null ] >>
-endobj
-5231 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 260.442 null ] >>
-endobj
-5232 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 249.483 null ] >>
-endobj
-5233 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 238.524 null ] >>
-endobj
-5234 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 227.565 null ] >>
-endobj
-5235 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-5236 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-5237 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5238 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5239 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5240 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5241 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5242 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5243 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5244 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5245 0 obj
-<< /D [ 5202 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5201 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F78 650 0 R /F27 638 0 R /F72 4440 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5248 0 obj
-<< /Filter /FlateDecode /Length 1854 >>
-stream
-xڭY[o~_a/Nφb@[S>t AhG,YwPJ&YۗH gRx_opw?2H*~ "+eS+% ’׿h7uV7T/n`?7a1ɲmD҈,OUM&/7|ݤ蓣 \n e?=f斬enx?it ]
-_sW/BL$.h Ƀ&
-Ȩ)1eT8<,DQm4$
-:X"Lю_$mb}o;_>v=sʮ<aBx{x=N؞7OS/p|>VEU'mJ{\k߾Hg=m{J*ѴC~Dʨ S2'")NQQU0@ǯ THՔK*@vIX^&q(c_ PG,F 甆\Wq8v,$f,3SO`e06|!zLڼ#A6 i*$d&#%"\]K&@/t衪(B\".HzūJJ/3 &@MI5&f_/W+U)o
-+&֛U躭Ǎ)\c
-endstream
-endobj
-5247 0 obj
-<< /Type /Page /Contents 5248 0 R /Resources 5246 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5249 0 obj
-<< /D [ 5247 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5250 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 731.097 null ] >>
-endobj
-5251 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 720.138 null ] >>
-endobj
-5252 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 709.179 null ] >>
-endobj
-5253 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 698.22 null ] >>
-endobj
-5254 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 687.261 null ] >>
-endobj
-5255 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 676.302 null ] >>
-endobj
-5256 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 635.702 null ] >>
-endobj
-5257 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 624.743 null ] >>
-endobj
-5258 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 613.784 null ] >>
-endobj
-5259 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 602.825 null ] >>
-endobj
-5260 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 591.867 null ] >>
-endobj
-5261 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 580.908 null ] >>
-endobj
-5262 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 569.949 null ] >>
-endobj
-5263 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 558.99 null ] >>
-endobj
-5264 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 396.445 null ] >>
-endobj
-5265 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 385.486 null ] >>
-endobj
-5266 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 374.527 null ] >>
-endobj
-5267 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 363.568 null ] >>
-endobj
-5268 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 352.61 null ] >>
-endobj
-5269 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 341.651 null ] >>
-endobj
-5270 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 330.692 null ] >>
-endobj
-5271 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 319.733 null ] >>
-endobj
-5272 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 308.774 null ] >>
-endobj
-5273 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 297.815 null ] >>
-endobj
-5274 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 286.856 null ] >>
-endobj
-5275 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-5276 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-5277 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-5278 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-5279 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-5280 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-5281 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-5282 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-5283 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-5284 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-5285 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5286 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5287 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5288 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5289 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5290 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5291 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5292 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5293 0 obj
-<< /D [ 5247 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5246 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F78 650 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5297 0 obj
-<< /Filter /FlateDecode /Length 1567 >>
-stream
-xڭXK6Cm`%>|
-
-4A{ؓ]Jrb{?ԃ1\,P8x pGgBiE ֻp@% 2 ,H/xý
-TKKAjWwt | zmj2{_.9bv YZK~bOvTa5f@TSfƶǎ6^H{%6N E}+
-[L"~>/›$)/au/ZɎ"+͔
-B{-@}SPWVVUbTbbm*DZBA![r0QX@!77yOlcßNq۴UKbs [m[mkm:Zz>!ɔcokF7|S1^
-!]vjw[3 g%;Ga@)?>Ѭ;<!mDJv;K(톀ap:|n댙s1d-L38lC~ xFf[k0O?>S>nMDaGߛ5E/G6$|[ezL򤊛$Wi7;om/@~a`' -\#(
-endstream
-endobj
-5296 0 obj
-<< /Type /Page /Contents 5297 0 R /Resources 5295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5298 0 obj
-<< /D [ 5296 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5299 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5300 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5301 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5302 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5303 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-73 0 obj
-<< /D [ 5296 0 R /XYZ 79.37 699.542 null ] >>
-endobj
-5304 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 470.108 null ] >>
-endobj
-5305 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 459.149 null ] >>
-endobj
-5306 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 448.19 null ] >>
-endobj
-5307 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 437.231 null ] >>
-endobj
-5308 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 426.272 null ] >>
-endobj
-5309 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 415.313 null ] >>
-endobj
-5310 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 404.355 null ] >>
-endobj
-5311 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 393.396 null ] >>
-endobj
-5312 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 382.437 null ] >>
-endobj
-5313 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 371.478 null ] >>
-endobj
-5314 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 322.661 null ] >>
-endobj
-5315 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 311.702 null ] >>
-endobj
-5316 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 300.743 null ] >>
-endobj
-5317 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 289.784 null ] >>
-endobj
-5318 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 278.825 null ] >>
-endobj
-5319 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 267.866 null ] >>
-endobj
-5320 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 212.076 null ] >>
-endobj
-5321 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 201.117 null ] >>
-endobj
-5322 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 190.158 null ] >>
-endobj
-5323 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 179.199 null ] >>
-endobj
-5324 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 168.24 null ] >>
-endobj
-5325 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 157.281 null ] >>
-endobj
-5326 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 146.322 null ] >>
-endobj
-5327 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 135.363 null ] >>
-endobj
-5328 0 obj
-<< /D [ 5296 0 R /XYZ 81.077 124.404 null ] >>
-endobj
-5295 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F78 650 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5331 0 obj
-<< /Filter /FlateDecode /Length 2351 >>
-stream
-xڵZ[oܸ~ϯ`*1;EY,
-tYl>(Ц;gh4q =#NC}4?+Ƌ^矯_FZR׷/| P1P ,zgq1kn~ *\bMUMo+)5a37VޣБ[c;gcV!]Ԯew+5
-׈`{Ǎsa@~[m() i e*\R"I@Kj?@j
-~Gtn\jRPQ|sWnۚvM_hj̵rD`<+A9[6a('bNցonVWw旮Z{F4<C"Z&=OM!<Eg{Hjge3ek$NG v1բĈ}yZph,YԈced1]~X0Mdx&0ڽ½Nfh{/c2}5
-\FdQsdԍi5?(/U4J5GOFm9\D%(St~"S&$B)D:_#W3Ԙ5s]fVK _Cz*fH$/\st/4ERǕӬ5/A. lq,fY;NΗ`{Uq<OWG.(IΗ T}RDyXhVY_o&ɺRu7B巖μxw4<YxlBZZv|{B./Xd@zoiwU{_j|KqXq_֌H HBH^ t%`&<U 1%8WJ# ,<S<!ȑC'JU @Šb
-n,@Jtl;4?ve𹐱$Px,?eSYć Z: 3,/Yn7BaW3DG*ڬRw뛾Z/C!1*%ՃWRrY
-;l~Tȅi{R{St&2+ h
-wIcڻDv܉;l@>-;KqYȶ" ~].<-JCuuI"ԠͧKgWhicMA#!7SxrH=V6;XƷfӵO0 7
-~A+0]P|s 71K,'Oђ"=(ֱгVJQ;(?^nУǩC5Wrd01~
-22ŲOA#ʻ% k@B- HBR{rC^
-endstream
-endobj
-5330 0 obj
-<< /Type /Page /Contents 5331 0 R /Resources 5329 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5332 0 obj
-<< /D [ 5330 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5333 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-5334 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-5335 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-5336 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-5337 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-5338 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-5339 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-5340 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-5341 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-5342 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-5343 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-5344 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-5345 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-5346 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-5347 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-5348 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-5349 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-5350 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 536.702 null ] >>
-endobj
-5351 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 525.743 null ] >>
-endobj
-5352 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-5353 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-5354 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-5355 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-5356 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-5357 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-5358 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-5359 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-5360 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 353.39 null ] >>
-endobj
-5361 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 342.431 null ] >>
-endobj
-5362 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 331.472 null ] >>
-endobj
-5363 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 320.513 null ] >>
-endobj
-5364 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-5365 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-5366 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-5367 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-5368 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-5369 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-5370 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-5371 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 161.111 null ] >>
-endobj
-5372 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-5373 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-5374 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-5375 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-5376 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-5377 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-5378 0 obj
-<< /D [ 5330 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-5329 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5381 0 obj
-<< /Filter /FlateDecode /Length 1969 >>
-stream
-xZێ6}0boċ 2yj 3ږBlɑuoQ)[yKuSEMt0?>=}Hkࣧ舍"VPFOчT:|z_ rdUJ8%Z ٬bM& Ot7vX^P(m{*-߷yQᇴy.U={ $lrm?(V+7绗"V&WƝQvl aFz
-w!CX7~BSapx*6*?҄7b'-ʢ)U:/oW`!xّ9זN97rƳ)DcKmM7M>glc<KY6ra5//8x6y6TLT&GgmvK >^TU5z+ʥ{Dǫ̷ݯϓGn,{۹w9eɬ*
-M nO>L˪z2_ܥʹ_m߽k{SUOjMR1zq!+܍˚Xő,}JN)YB=9@߫|xa^q*sgJ (O0F$A,F?>v&A7p*8|Elgui0q{oJ%Dg݅=jw7%PD8BYs`RdHW OƧEQ^NG/-$#QGvrSΪM~9#ɐV$17(oLH)#6Bo2ߥjYϧ7pp._K_!CTy:x-u/-Xk"轍 aoOMdu
-)}@dǒӜh=9Jq#4^1PG㗽5~Y@dXBP5i=!#n/ɸϴ1
-wxJ- -[&DuJ6)b"4|e5;xAM)|#yŀ >5ДT ָO6,fG'D?~+!/ ^8*VC%xIp&BmW(`
-eҍNh՞&DW( U{C>۰tf-N~ Qx* _v#J{p%BmY!qv7/*D'8!wUqJOn_ 6 ו]рkEр)6(>R24Os˼].2?΁\<|թ\pBeO}#Ϫ5.&xP\-ݶ8̌wEͪ׺l&_BA7soRܺ/'xn=Cvf]5:zuDܬγUk]|aۻQ*† % >~& :(ˍ<I8ܤ(7XSp0r //EU^5-Nd+$A!́*/K8/VHUu}ycR6;kq^'V
-J&"A&*7hGض2g| HB~wʎ*zJ
-endstream
-endobj
-5380 0 obj
-<< /Type /Page /Contents 5381 0 R /Resources 5379 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5382 0 obj
-<< /D [ 5380 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5383 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5384 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5385 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5386 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5387 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5388 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-5389 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-5390 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-5391 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-5392 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-5393 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-5394 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-5395 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-5396 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 591.497 null ] >>
-endobj
-5397 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-5398 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-5399 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 558.62 null ] >>
-endobj
-5400 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 547.661 null ] >>
-endobj
-5401 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 536.702 null ] >>
-endobj
-5402 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 525.743 null ] >>
-endobj
-5403 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 514.784 null ] >>
-endobj
-5404 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 503.825 null ] >>
-endobj
-5405 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 492.867 null ] >>
-endobj
-5406 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-5407 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 470.949 null ] >>
-endobj
-5408 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-5409 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-5410 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-5411 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-5412 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-5413 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-5414 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-5415 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-5416 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-5417 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-5418 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-5419 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 339.442 null ] >>
-endobj
-5420 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-5421 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 317.524 null ] >>
-endobj
-5422 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-5423 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 295.606 null ] >>
-endobj
-5424 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 284.647 null ] >>
-endobj
-5425 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-5426 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-5427 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-5428 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-5429 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-5430 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-5431 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-5432 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-5433 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-5434 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-5435 0 obj
-<< /D [ 5380 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-5379 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R /F65 185 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5438 0 obj
-<< /Filter /FlateDecode /Length 1951 >>
-stream
-xYo_GTP+}
-ЇnOPb% K$_6CQDc{kb3㊮~ӕ(w?]x{GmW }b0jYlu]3n`$Z%YFRbgZq|fBV?d_ΫlSnouٗ>_{fIQ(6ٔjB;l&$[P?#|9ϗ?%`&É1x+¹
-eҕ%"1wl :ɆYT:^YJ)#K~}͕Hvpdo=?S!n7]Y},V*ɫ'è ,%lT /S
-p+p;)WmS; S>F?4ߊ]2}7sATѾU>n5ilkd?mw)u
-+:)K?n6j3gaa2=v|yopu# ltd
-I gV߽GA{qD[Ӏf[OFBIWPt_N% «Q~ԯVW%mn%yP)"ոl+Wi;qDKFMCN dlْM=Hս{Ϳ,6+ . J_ђ!40Q18B_;Feſ/c%ZE`%\fVh-
-9&{>s=+oکmoQўQp5l^\)jwDhǶﲢ`$)D;Eʪ,#Z 7'K4z)Xwv
- v]:oʇlw%e0w}+~% C,Ik_H7s8hrwhY8`d!/HD?+hLEJC{hHEe_)T,)O|b*~\)5q?EvY]<gqT|-
-
-#ZW95Z  D1wP;QGHVD-)D_P}Q8o
-ne W}ZCoO
-$gqhF'$!8:ad/NRorg[4EŖ}IoRP, ]ԝk1L 7\3NL>5weXġС97Csi7e%ia>cK:|.ME=~y|d?R*nĚC#NQy7
-endstream
-endobj
-5437 0 obj
-<< /Type /Page /Contents 5438 0 R /Resources 5436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5439 0 obj
-<< /D [ 5437 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5440 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5441 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5442 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5443 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5444 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5445 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5446 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-5447 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-5448 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-5449 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-5450 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-5451 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-5452 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-5453 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-5454 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-5455 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-5456 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-5457 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-5458 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-5459 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-5460 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-5461 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-5462 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-5463 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-5464 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-5465 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-5466 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-5467 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-5468 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-5469 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 362.356 null ] >>
-endobj
-5470 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 351.397 null ] >>
-endobj
-5471 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 340.438 null ] >>
-endobj
-5472 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 329.479 null ] >>
-endobj
-5473 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-5474 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-5475 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-5476 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-5477 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-5478 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-5479 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-5480 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-5481 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-5482 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-5483 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-5484 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-5485 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 119.268 null ] >>
-endobj
-5486 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 108.309 null ] >>
-endobj
-5487 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 97.35 null ] >>
-endobj
-5488 0 obj
-<< /D [ 5437 0 R /XYZ 81.077 86.391 null ] >>
-endobj
-5436 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5491 0 obj
-<< /Filter /FlateDecode /Length 1549 >>
-stream
-xZMo7W蘤5M|)k]th{g%eYѨzO87.,&t>?\r{{m'8/ 6hf&F3B5.'Ƙ rbZ̔%K՛LȺ.}}(P̪f$d%8{d$9otl"v)izYcgidD \؜JrI(lvu%豨*Te}ޡp#KP~NAM-N.G>K˼jʸ{*z2V!]M&E+C^5  SBd
-ƯD(Vd5CY5ww頰\
-ޮ ӪӂX\ C?2PjiPVzfѥ'VF9v7tP`rV=d(V>E`,23Aw<곳8)(#"<EW:B-8qL۪zPͫƲ*Mds0F024:RCn'eı6hbյOmGuy~蛚YA;XMM^I".q)R
-"%j e
-mRph" c$BW6=[rHGj:C0clg)YP-Ft4~"57va-2Nw:ЧL&xm΍,$24>Ĩ wCF櫢a|vQaz)C ZHIlA6zq'
-<pH-lpΡ1JNv%c/W{]24x~/143FAfa)z} -J(h:Y;C)O,߬S" N*_ҦkK<zs׶uQͯn<haܡ 7!:=eQ82@' +r_Ⲛj_9KM8qff"a8H=U-nl\D࢚sܽR|VM9Xnqo8D\ᦒSi)'D M`ֲY.1sHe\$CoM`\:Ƃ224vDQKI/*뫼V/jJ]h1O4DD7=F e/BX я'(
-T32b@9? 6aŽG.mv}B\1s᪜C$pn`wX_{
-endstream
-endobj
-5490 0 obj
-<< /Type /Page /Contents 5491 0 R /Resources 5489 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5492 0 obj
-<< /D [ 5490 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5493 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5494 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5495 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5496 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5497 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5498 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5499 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5500 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5501 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5502 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5503 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5504 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5505 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5506 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-5507 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-5508 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-5509 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-5510 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-5511 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-5512 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-5513 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-5514 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-5515 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-5516 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-5517 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-5518 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 473.157 null ] >>
-endobj
-5519 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 462.199 null ] >>
-endobj
-5520 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 451.24 null ] >>
-endobj
-5521 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 440.281 null ] >>
-endobj
-5522 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 429.322 null ] >>
-endobj
-5523 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 418.363 null ] >>
-endobj
-5524 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 407.404 null ] >>
-endobj
-5525 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 396.445 null ] >>
-endobj
-5526 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 385.486 null ] >>
-endobj
-5527 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 374.527 null ] >>
-endobj
-5528 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 363.568 null ] >>
-endobj
-5529 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 352.61 null ] >>
-endobj
-5530 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 341.651 null ] >>
-endobj
-5531 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 330.692 null ] >>
-endobj
-5532 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 319.733 null ] >>
-endobj
-5533 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 308.774 null ] >>
-endobj
-5534 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 297.815 null ] >>
-endobj
-5535 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 286.856 null ] >>
-endobj
-5536 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-5537 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-5538 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-5539 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-5540 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-5541 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-5542 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-5543 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-5544 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-5545 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-5546 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5547 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5548 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5549 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5550 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5551 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5552 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5553 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5554 0 obj
-<< /D [ 5490 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5489 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5557 0 obj
-<< /Filter /FlateDecode /Length 2203 >>
-stream
-xZMs6W6RUçL2%eq(֎DHjd= Z[H|C$O+?"an,# ۻ+ h$Q% ’Lnדߦ\33?][
-{GEBtmf&&D["
-8M~gFDsǎ<"xMT8<#JiV.כs{}|<.ʦNYEQ)M"k[VζJ
-Gׄr)xTZ E- @V!q*탟/B2SB'ړ7KFq$utmsDU<̊gQ P8'h@Nd\D#A$i\.wys'kE1
-=.zVk'tDZ•DO'@5."CdeԄ])8ĩTQw~ٛsp)u#}Ns@rF5@8>F bɦt|Pz('>:63a8З=LkąBW0=nhm
-x@gN*_=Ylݴc,ǕPXP9׉T4&
-vHT{
-ߺM>G-lb֞5QmcP:(mBnbWP[Wqƀ#opbڟ MWys HARТvaHN!JuH4W?R*66LrɏOY +
-5l騝
-upG
-endstream
-endobj
-5556 0 obj
-<< /Type /Page /Contents 5557 0 R /Resources 5555 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5558 0 obj
-<< /D [ 5556 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5559 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5560 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5561 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5562 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5563 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5564 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5565 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5566 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5567 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5568 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5569 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5570 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5571 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5572 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-5573 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-5574 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-5575 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-5576 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-5577 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-5578 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-5579 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-5580 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-5581 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-5582 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-5583 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-5584 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-5585 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-5586 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-5587 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-5588 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-5589 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-5590 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-5591 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-5592 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-5593 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-5594 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-5595 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-5596 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-77 0 obj
-<< /D [ 5556 0 R /XYZ 79.37 339.582 null ] >>
-endobj
-5597 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5598 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5599 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5600 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5601 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5602 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5603 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5604 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5605 0 obj
-<< /D [ 5556 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5555 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5608 0 obj
-<< /Filter /FlateDecode /Length 1393 >>
-stream
-x͚Mo6,4P h,P>,\Bpm9B Ki.v{);8iX(Jxv_~ ?ߟ89ڸL1@l8!A 3`3kqdV9g+*s#]
-
-7wZ跿TyԛQUn>>[V_M~e^vI$/9.bFJ"-=%c;LwiXVm>WUjrghv>q?<仜6W'G be 1}Xt׀:Y eB}ӢHiz pÄ1ql8llۍ~Lݲjݬ]U^/aam1i$;$k&qh%087~
-߭SyYOcCuIcT.meqhE:R>Lx{}c+®b4~rUwe\<]-J:Q Lx{ZcBtr&?N^/nS<
-</]/T~-m R:.mSy8/Ѹmj>䳢,[ձ5 5P&'J{lClKT1=0*nY[GurI:~sR~R\hee^Ќr;|9UI#
-h-ǖ\.M=zN RgyhC
-/upj4_͉TY70Dŀ/g68_P=yvB0]h߄>U7`BҢH`+3/I#E]cp. M?&
-P
-GRPAoZ-5`KN:M[bIF~]/@^HZ_JN^wՒfz<0bkMNT"uC&PD,V"DNAk4[G}o1 C4Y
-
-endstream
-endobj
-5607 0 obj
-<< /Type /Page /Contents 5608 0 R /Resources 5606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5609 0 obj
-<< /D [ 5607 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5610 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5611 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5612 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5613 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5614 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5615 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5616 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5617 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5618 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5619 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5620 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5621 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5622 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5623 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 604.52 null ] >>
-endobj
-5624 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 593.561 null ] >>
-endobj
-5625 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 582.602 null ] >>
-endobj
-5626 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 571.644 null ] >>
-endobj
-5627 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 560.685 null ] >>
-endobj
-5628 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 549.726 null ] >>
-endobj
-5629 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 538.767 null ] >>
-endobj
-5630 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 527.808 null ] >>
-endobj
-5631 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 516.849 null ] >>
-endobj
-5632 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 505.89 null ] >>
-endobj
-5633 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 494.931 null ] >>
-endobj
-5634 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 483.972 null ] >>
-endobj
-5635 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 473.013 null ] >>
-endobj
-5636 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 462.054 null ] >>
-endobj
-5637 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 451.096 null ] >>
-endobj
-5638 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 440.137 null ] >>
-endobj
-5639 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 429.178 null ] >>
-endobj
-5640 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 418.219 null ] >>
-endobj
-5641 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 385.414 null ] >>
-endobj
-5642 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 374.455 null ] >>
-endobj
-5643 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 363.496 null ] >>
-endobj
-5644 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 352.537 null ] >>
-endobj
-5645 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 341.579 null ] >>
-endobj
-5646 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 330.62 null ] >>
-endobj
-5647 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 319.661 null ] >>
-endobj
-5648 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 308.702 null ] >>
-endobj
-5649 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 297.743 null ] >>
-endobj
-5650 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 286.784 null ] >>
-endobj
-5651 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 275.825 null ] >>
-endobj
-5652 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 264.866 null ] >>
-endobj
-5653 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 253.907 null ] >>
-endobj
-5654 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 242.948 null ] >>
-endobj
-5655 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 231.99 null ] >>
-endobj
-5656 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 221.031 null ] >>
-endobj
-5657 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 210.072 null ] >>
-endobj
-5658 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 199.113 null ] >>
-endobj
-5659 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5660 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5661 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5662 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5663 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5664 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5665 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5666 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5667 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5606 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5670 0 obj
-<< /Filter /FlateDecode /Length 1675 >>
-stream
-xYnF}W ē_HĹ
-qˁUL{hxA6$@ s51oEVtRâ8;LO}[hjSSQS܀1,
-P̊^uVI9Oe#PEzm@Vۤeϯ؈F1˻䇙Ӡ; ̜W,z^oyvfy!5URg)p[!D3Ӆ3Y8.YkTi0mRqI6.vbXy6K0KhP 4E
-AX^O\KiQWbR_?Y|η#cVZwս|[ "wUNrg~8"],dQnFfKVk+\FhBIFͭ5bt[VI&UY: G"rX1^íPΕ,#&T8'#Cұ+⸕nL&j8=QziQ-I1cfe:Mj|R8{S.$@W/%q{<D;dXj ˏe^a4ӫF"1[~iJKhQ=!:>8Gsb 厅 K
-{EuNOդx*Ξ|]GYȭ_-QsBz׸vZFG*w> Ƶ"/ԦJAnԸZ~6SJ)E)"ާBb>\.Bac(*Fh܌&>c#8O)D?I!{~'f|0f,擆C[F/I91ɚ CuÀ)
-ov4i9upw(fcY@ m;ZK|lSHKeVì榘,ͭhYegLfU󈝺iZf4߸wywwyvfuκjpٷ"\SP$ʭe)=ާ~A8ohCq݋q@c}f<+c
-,wʁ^ nhts* Eu"tS35SЪͭ^:zZ
-zeAg :qEcڻ&:MVt4-"e,y2T\CR o5uM BecLQm-@{r/5lsԮ[^ŹRc'"|m4j5* vȢ2w0BcXRw`.C4Zs7I}{E/B?qj݉VGP0d m9Vj Hu[$qb|?>
-endstream
-endobj
-5669 0 obj
-<< /Type /Page /Contents 5670 0 R /Resources 5668 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5671 0 obj
-<< /D [ 5669 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5672 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5673 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5674 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5675 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5676 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5677 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5678 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5679 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5680 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5681 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5682 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5683 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5684 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5685 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-5686 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-5687 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-5688 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-5689 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-5690 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-5691 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-5692 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-5693 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-5694 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-5695 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-5696 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-5697 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-5698 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-5699 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-5700 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-5701 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-5702 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-5703 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-5704 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-5705 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-5706 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-5707 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-5708 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-5709 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-5710 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-5711 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-5712 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-5713 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-5714 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-5715 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-5716 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-5717 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-5718 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-5719 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-5720 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-5721 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-5722 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-5723 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-5724 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-5725 0 obj
-<< /D [ 5669 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-5668 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5728 0 obj
-<< /Filter /FlateDecode /Length 2284 >>
-stream
-xZ[۸~ϯp+;," 6{k\`1}趂֌Ȓkə$o.x<>}G~<<wft+rO?2;jtf%"Śz;Gr~%9M(+<ܺ&jvEeʶi?ĸ<~ J50Ѫnr}X%Á~gBnE-2"v>[gS!lMW1os"Eۥjuq]s Fu7 DФ7"?]!31d_ !xwp
-gաvg2z?W*JC=l8?f$DI D9+ߟ
-1EZv&I๗yK1pq{ՅS[ ^̋Ή)m}+VA4S1chbZV$ SoʩW76(E)Hl_`$GsQqtc4^R{(n1!7ip?}ϰݟixC
-FƽeX ^aս NʗKՄD ϧJ%ev}:ly3WPgW_&ew5yUʼnjJBŇ<][!ʣ%305}ƭC(ڸ8Jrώݴ%3RPVːϋDM'sF;uaoHx".m ~xC\V)¡1hQL
-ߗVz
-^OSL8_6۹N^L'l>-qE+Řbtu7U.-\wAW{5<Y d}tZhtx*^zEլz-]RUp~.&_aqj3Ng/>+%
-ǵpd IqL@M:֓ W:n}iNc}صֿX.GDtv1O9̺ }HḎf7>FR%>4I__y/c帶XFˊ~pm
-ϙZ„wBHчݥqfvAB8m^٥ }ÙB$@uvQQ(@[PAE
-}#6l?(ހhKcR@Uݩ[@ʼ; 7z8#Ry+9nc~wigI1@ZE˂IC%.3CP*TCl ~ hy u6p꿟֬
-endstream
-endobj
-5727 0 obj
-<< /Type /Page /Contents 5728 0 R /Resources 5726 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5294 0 R >>
-endobj
-5729 0 obj
-<< /D [ 5727 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5730 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-5731 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-5732 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-5733 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-5734 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-5735 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-5736 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-5737 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-5738 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-5739 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-5740 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-5741 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-5742 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-5743 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-5744 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-5745 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-5746 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-5747 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-5748 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-5749 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-5750 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 422.132 null ] >>
-endobj
-5751 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-5752 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 400.214 null ] >>
-endobj
-5753 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-5754 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-5755 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-5756 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-5757 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-5758 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-5759 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-5760 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-5761 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-5762 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-5763 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-5764 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-5765 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-5766 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-5767 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-5768 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-5769 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-5770 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 173.066 null ] >>
-endobj
-5771 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 162.107 null ] >>
-endobj
-5772 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-5773 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-5774 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-5775 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-5776 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-5777 0 obj
-<< /D [ 5727 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-5726 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5780 0 obj
-<< /Filter /FlateDecode /Length 1773 >>
-stream
-xڽZo6_as)APl&QH͊#M"yDY?;xr1wxsDŸ~>=xs,# n2I&J%^O
-_g90hdd:L!9a|Tt`]OnÙbQ7/򊬏[yP%ssL\ns!1*rlf,ֻɦ9d:kۺPuo'™j*뢽MK5"Gu LU@7LAD29S(AfӶ;1Ʀå ']{Hk?jg|j&((0" ϺjoI*w6߾?x\Oщ8?y܏OyJQhu-Åj'm7u(}/D#RSƈ^9=]M7^~m(FBq3M(O >,Ү;6HH M]mBl#E/`$#i sr H
-e+ 0aFF .R~apK^EmvL],G-! RJodЎlu8ye6ll.lIVI`:٨g-Qq&)L|OQOYϛGs}`y_2X0hl*K^aS^[KӤYV
-شR4|}c0,+%,S m 67Q 3wH\SE } I܀Ri˖):u9z:pȓ=| 3+gQWQPa.w%E3~YN$f_ɏJ\*"Y+s~ ]Nc#"* Q
-%1 qT)fh%ED6Uw2w+$H LCI**0AaFݽd5\e&HLpT##oj
-w%MEBjLadh)VsX
-ެHWxkv{{}QXXC^D(T {]]yv^u0O/ZJ8"cm(L Z{XX՟ ĵ; YΎh,ĸĎJe]__D׉dg`DVص1%
-㺽Af3+cpwdVl 3PnK+UdCxmEvLqK]r1ܖu}W,S 0Jc O0,d1f94q<&:"ߥ3:]E]vju-fa.R wۃ?qLs-6f΀x2t0N#2m.݈l NMy]5v3ΖýmOqjjn !Ηf[%@e5뺄\֌q5O?bz՞ͅepEHzJ}YCg}ўaԶ)8o r@P,rRzzuA\Uxoύk~:@hֻ+6qj?`ƛ2logTO*͖Æ6~n} 6UtN{4qYN l>`v]M
-endstream
-endobj
-5779 0 obj
-<< /Type /Page /Contents 5780 0 R /Resources 5778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-5781 0 obj
-<< /D [ 5779 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5782 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5783 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5784 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5785 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5786 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 705.071 null ] >>
-endobj
-5787 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 694.112 null ] >>
-endobj
-5788 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-5789 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-5790 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-5791 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-5792 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-5793 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-5794 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-5795 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-5796 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-5797 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-5798 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-5799 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-5800 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-5801 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-5802 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-5803 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-5804 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-5805 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-5806 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-5807 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-5808 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-5809 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-5810 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-5811 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-5812 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-5813 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-5814 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-5815 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-5816 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-5817 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-5818 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-5819 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-5820 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-5821 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-5822 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-5823 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-5824 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-5825 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-5826 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-5827 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-5828 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-5829 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-5830 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-5831 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-5832 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-5833 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-5834 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-5835 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 145.17 null ] >>
-endobj
-5836 0 obj
-<< /D [ 5779 0 R /XYZ 81.077 134.212 null ] >>
-endobj
-5778 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5840 0 obj
-<< /Filter /FlateDecode /Length 1607 >>
-stream
-xڽZ[o6~ϯ0%X.`]a0{EpeQ'S4)Q͋c':NH|w.9h>£'x{Es?x}JGZFG7'} HI$I6$AXbǙ u_G
-i)b1$͛,V5ck챿uo^z_fYi#739)zóhƴbvy_2̒NIb)犯4"yc0c A _kT!>lmL&)sm]ϗwm^ԳK;>#=(Bt &G*C\I.L!Gs[/d'U~yOWfi-˯}&/}x|&w3Ȱe ̽2bt砶Znebj[_T/:aC  .A
-fP5rUpcӪ^DGBIOT5A?&׼^emq*
-V)zW|lWt K?X5C#mZػ&ɳ?R`zN2OXB -cP*}"k pf^6jR5o(C8jJ RZCHbٺݩ<)pք"UR|XGH)Qыr6P}5F{5O4|L#ʽRB T*/TZ _[dn2I3АkSzΐ
-2f'`\`^ڹ״SpeA4̏1ج`iםL [Җm90cQ *)%toJ+GڭAZn3ύt[;W7n[76_#K$E<\qݺ=O=p .}g F=FGs82~!fҍdφxU~cxlE2'EXVe1uO
-m7A<+9_6z'D
-wpSypS9Ae.>48rH8ziTʛ<M;.ք<(N@j{ D}p
-:.g&/m4p~R^X9Qa<v'M~磄!Ƽr/=`9P;!T1uk/M &]@xr Z;AC=;O{a?.DaͅM̊MvWY@_K !01(.Hd r{5URb0|e7p"%`cN>qš6u{x(C0;c4|= HjL۵?S^օ
-endstream
-endobj
-5839 0 obj
-<< /Type /Page /Contents 5840 0 R /Resources 5838 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-5841 0 obj
-<< /D [ 5839 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5842 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5843 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5844 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5845 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 717.151 null ] >>
-endobj
-5846 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 706.193 null ] >>
-endobj
-5847 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 695.234 null ] >>
-endobj
-5848 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 684.275 null ] >>
-endobj
-5849 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 673.316 null ] >>
-endobj
-5850 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 662.357 null ] >>
-endobj
-5851 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 651.398 null ] >>
-endobj
-5852 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 640.439 null ] >>
-endobj
-5853 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 629.48 null ] >>
-endobj
-5854 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 618.521 null ] >>
-endobj
-5855 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 607.562 null ] >>
-endobj
-5856 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 596.604 null ] >>
-endobj
-5857 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 585.645 null ] >>
-endobj
-5858 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 574.686 null ] >>
-endobj
-5859 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 563.727 null ] >>
-endobj
-5860 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 552.768 null ] >>
-endobj
-5861 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 541.809 null ] >>
-endobj
-5862 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 530.85 null ] >>
-endobj
-5863 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 519.891 null ] >>
-endobj
-5864 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 508.932 null ] >>
-endobj
-5865 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 497.973 null ] >>
-endobj
-5866 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 487.014 null ] >>
-endobj
-5867 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 476.056 null ] >>
-endobj
-5868 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 465.097 null ] >>
-endobj
-5869 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 433.502 null ] >>
-endobj
-5870 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 422.543 null ] >>
-endobj
-5871 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 411.584 null ] >>
-endobj
-5872 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 400.625 null ] >>
-endobj
-5873 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 370.222 null ] >>
-endobj
-5874 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 359.263 null ] >>
-endobj
-5875 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 330.692 null ] >>
-endobj
-5876 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 319.733 null ] >>
-endobj
-5877 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 308.774 null ] >>
-endobj
-5878 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 297.815 null ] >>
-endobj
-5879 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 286.856 null ] >>
-endobj
-5880 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-5881 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-5882 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-5883 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-5884 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-5885 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-5886 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-5887 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-5888 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-5889 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-5890 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-5891 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-5892 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5893 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-5894 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-5895 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-5896 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-5897 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-5898 0 obj
-<< /D [ 5839 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5838 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5901 0 obj
-<< /Filter /FlateDecode /Length 2128 >>
-stream
-xڽZnSsxI(0fѢMoEN4%WI3ޟ$AoF̏ϧ +<<Qd_z#ԌXFgMxFfJ AL
- vyD"u՟dz
-B0 Q$b05IIi5Fӑ<j8|TG x" w |ݑB,V>zw^D4[4r!2fQ|bMSZ,K}@w`DF#4h}Dç"n2-O L(
-1¬E IbXw=_HnI)坔e#㑫(+B20jdu.{
-7`r<E[0\ப
-VINLkDcl*L.:\NCl?30'wa2;yf^ANFu%w>/Ӆ h hYCPխ'i9.zI(>jYBâ"bidA㡝8UEU{yi[nlm6R9<(w6xuTTAYݥ^ʑw=~Y ŤZŐ*EPHv( SIHc*ȩ=֣~iL[-쯝}|^Wm o
-w;(ڵ}?`QS ?XH+I=NYffY$AUP†ra8uܭaA]4sc{lt7c|h2]
-bs|7U&=mLC !f,$yQk59}Py[8,{`GL!BƸGAqCg}Uk=i̙7řwP v<FX1fbZG|N.: /깜i]W,nܿ~c!0#v_*GĸQ>kS?~{m*p(/ ojO"ݴ>f&R0_9F7`|f"(4ԇCW1TC[:))Hrכ.cpї@¡tW9M zwk:EN||$tW1CKjIkY<_Չ
-endstream
-endobj
-5900 0 obj
-<< /Type /Page /Contents 5901 0 R /Resources 5899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-5902 0 obj
-<< /D [ 5900 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5903 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5904 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-5905 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-5906 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5907 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-5908 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-5909 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5910 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5911 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5912 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5913 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5914 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5915 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 632.785 null ] >>
-endobj
-5916 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 621.827 null ] >>
-endobj
-5917 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 610.868 null ] >>
-endobj
-5918 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 599.909 null ] >>
-endobj
-5919 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 588.95 null ] >>
-endobj
-5920 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 577.991 null ] >>
-endobj
-5921 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 567.032 null ] >>
-endobj
-5922 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 556.073 null ] >>
-endobj
-5923 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 545.114 null ] >>
-endobj
-5924 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 534.155 null ] >>
-endobj
-5925 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 523.196 null ] >>
-endobj
-5926 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 512.237 null ] >>
-endobj
-5927 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 452.57 null ] >>
-endobj
-5928 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 441.611 null ] >>
-endobj
-5929 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 430.652 null ] >>
-endobj
-5930 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 373.856 null ] >>
-endobj
-5931 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 362.897 null ] >>
-endobj
-5932 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 351.938 null ] >>
-endobj
-5933 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 340.979 null ] >>
-endobj
-5934 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 330.021 null ] >>
-endobj
-5935 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 319.062 null ] >>
-endobj
-5936 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 308.103 null ] >>
-endobj
-5937 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 297.144 null ] >>
-endobj
-5938 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 267.806 null ] >>
-endobj
-5939 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 256.847 null ] >>
-endobj
-5940 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 245.888 null ] >>
-endobj
-5941 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 234.93 null ] >>
-endobj
-5942 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 223.971 null ] >>
-endobj
-5943 0 obj
-<< /D [ 5900 0 R /XYZ 81.077 213.012 null ] >>
-endobj
-81 0 obj
-<< /D [ 5900 0 R /XYZ 79.37 188.883 null ] >>
-endobj
-5899 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5947 0 obj
-<< /Filter /FlateDecode /Length 2634 >>
-stream
-xZ[o~P@< UHwh]k` lCdTl}hA`oΙ363<~w}RYI%]32 \͔$K2~zcsIC`9ja}~A7^yod59U~g|7 K9EܸVr$.)2i)!ɤ y R<ul U}vIl OjYzprFCGri>"ԕ+.\|MkƐi"FvvX 1h+
-U
-@B<8- iU mTS)zݟ]u Yx%~A{9 Ur$_e@eࢭ%6y-VEA}%O!ڪrk82 <ߛ* i-wnW]y߹o1%Hkg!z<.G\j]M!^8&@Ү#k]zE[-`?*ydfEG&Vp_َ,HUB=zdU!d:)9?D?@ κ@:hٚ#@Wq}y0ʻ800ʽj7HweKtDN"zLU~63'0] AAt,0"r5yqq,I[ou ̅YWdTA:N_,H*1)Y^w} dࠇh-"6mS8i6aeO (V~ݖ
-
-)9h<Н*$ɗuK~>[?K;y¥c*L(U;趤mfkb'
-pG AK]}95k|q֫ϥs/{C?a{=iOQ~TA7fFsXT1VW/'F pWu%8,}q<0}1+9'} $(ulIg[>׬:A<7Q$갧/H0GK2C6fna:V&%UZlo?f '6s}LB-0:V0q9lyOV9"Oe[8Fn3p#&q e i:{LRQPg` n"W<v=S\m<7k
-$wweoYXߋѾ"<N UM;~3l(7CD0i=`؊wŶp̀8ZepUp, :uW8Sk>`Xo0`*)E۳_~+i׀>.d?ӽr&P#h7 04L6iaجy_g:`9g:Y07hođy^mCy|G.! \+jg7sƈBS!H1&BEUgGlsV5sLmѢ N[6ZŁýL4(Z3L$f Oa3 Ϝ@zW8֛@F;*
-endstream
-endobj
-5946 0 obj
-<< /Type /Page /Contents 5947 0 R /Resources 5945 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R /Annots 5993 0 R >>
-endobj
-5993 0 obj
-[ 5944 0 R ]
-endobj
-5944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 357.901 705.768 368.334 718.258 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
-endobj
-5948 0 obj
-<< /D [ 5946 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5949 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-5950 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-5951 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-5952 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-5953 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-5954 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-5955 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-5956 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-5957 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-5958 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-5959 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-5960 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-5961 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-5962 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-5963 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-5964 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-5965 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-5966 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-5967 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-5968 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-5969 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-5970 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-5971 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-5972 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-5973 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-5974 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-5975 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-5976 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-5977 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-5978 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-5979 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-5980 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-5981 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-5982 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-5983 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-5984 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-5985 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-5986 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 219.89 null ] >>
-endobj
-5987 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-5988 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 197.972 null ] >>
-endobj
-5989 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 187.014 null ] >>
-endobj
-5990 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-5991 0 obj
-<< /D [ 5946 0 R /XYZ 81.077 121.26 null ] >>
-endobj
-5992 0 obj
-<< /D [ 5946 0 R /XYZ 94.613 91.073 null ] >>
-endobj
-5945 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F78 650 0 R /F19 184 0 R /F30 644 0 R /F20 186 0 R /F70 300 0 R /F22 455 0 R /F68 189 0 R /F64 183 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5996 0 obj
-<< /Filter /FlateDecode /Length 2298 >>
-stream
-xڭZKoFWC$la?I
-9 X{YԒHl+TjZ&Փbz|U/w^{%ߟ~x', qwG%oA" _Q)x<.LbHĔDЦDD?F:۞ϿMu.tT@9ͤG:6βaTNM63iSDE$ H$~H8CxЫ{.O|?^lo6gۆ]cI,sYM*@PDO{Yk,OE^M'4w]O2iuh6yVVyS%yfV] B#ogm%JLGIβIK6OR *  o,Jm:D(/Qg #zb9Z3[_e
-<df :V
-}']4唗 VG**IDf7 č<ɪS^luau:{^JWfάgC
- bC}QmrJ]EC}5J288㫳ڂW鹩=Sg9#/(=KnƜ݌E7c@tgnRϻ.?NF= Js7N.&Ð(U))DžhKJN%Ǣ?I_~bׂrmP
-EڤNK $SVڏUD1og^D('ido}^ZX=/cGt)U\?9T2)Fͳo*E
-MXUt7xzZhE`Y b(sWB_BoF0<qjgJvzAgrC"kVB(MVfImM! ݲ fL[ &?SfN~0{#[m\Z#|22sb
-oWRB2X:A^=>f<n#{{)oHR<ta5Ot(L"wCr mwcmwAdk]T)/ޙЬj)*~J@ke,\2 !΃Grr^)qNq&˫[0jnFn@
-OY褨dg6IR
-'*
-GGl]|@LdMwn?ѯ&q#{9O Q};\q?@}36}#Л ߩ$" P%Ch溃6HJ~j(35Hgӹl3ClF&wY F󑠅ΐVtYMJ&`O1v7esQ?
-endstream
-endobj
-5995 0 obj
-<< /Type /Page /Contents 5996 0 R /Resources 5994 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-5997 0 obj
-<< /D [ 5995 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5998 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-5999 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6000 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6001 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 706.067 null ] >>
-endobj
-6002 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-6003 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-6004 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-6005 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 662.231 null ] >>
-endobj
-6006 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 651.273 null ] >>
-endobj
-6007 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 640.314 null ] >>
-endobj
-6008 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 629.355 null ] >>
-endobj
-6009 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-6010 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 607.437 null ] >>
-endobj
-6011 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-85 0 obj
-<< /D [ 5995 0 R /XYZ 79.37 547.362 null ] >>
-endobj
-6012 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 355.538 null ] >>
-endobj
-6013 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 344.579 null ] >>
-endobj
-6014 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 303.732 null ] >>
-endobj
-6015 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 292.773 null ] >>
-endobj
-6016 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 281.814 null ] >>
-endobj
-6017 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 270.855 null ] >>
-endobj
-6018 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 230.008 null ] >>
-endobj
-6019 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 219.049 null ] >>
-endobj
-6020 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 208.091 null ] >>
-endobj
-6021 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 167.244 null ] >>
-endobj
-6022 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 156.285 null ] >>
-endobj
-6023 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 145.326 null ] >>
-endobj
-6024 0 obj
-<< /D [ 5995 0 R /XYZ 81.077 134.367 null ] >>
-endobj
-5994 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F70 300 0 R /F20 186 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6027 0 obj
-<< /Filter /FlateDecode /Length 1820 >>
-stream
-xڽY]o6}ϯ0gY~ X  زudIʒ'MdJ4GiYxϽ xBwW'w'/εHb |ry}!:af$ьP&ɟSŵ=.
-0C np(Bϫc;>uu}ǏOEPsHzکlS45 mpE'Bxnԋ(0X)>N}yԉTcWGv*$cQ
-:2/6c˽\:->[)<ԊkTFv-тT[Btf+ʼnl!:/J2bL_d, lG֙qtQ-5bޣŜ,
-ebޔo궼W!]]WY<b?>t]՟8 +j A,GML4a<V`"ׅZll^UeV^EiϝFwb,tԊP!DrF RIY,"M]mV FV ў
-(ТpYӠX|'-q6l85Wy"v:Hm’g*=~򯫫{ON䄵D)(DG3He9\i8՗Roz=N|h$HQSOgBiƵޞdpz{0qMb%Z&[kOgL+]tTB1M?g,Wg6!U~5Ec-s]~w.N/iubS ȇ}ͭ1TS2߾j9A =zޯ!&!VE-ӦmiߔCBQvM# ?EʏyYpFejӤu~}^]],uud90Y>ρZp",.Er'e<(eR.D][~uY}svQ$a/PL iqF(PSE`G6l[}TIBLҧȾP"qndMk sG_
-o;-byhNglwMڽ۶DuV_ps0 (J#. ssg!8!X
-endstream
-endobj
-6026 0 obj
-<< /Type /Page /Contents 6027 0 R /Resources 6025 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-6028 0 obj
-<< /D [ 6026 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6029 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6030 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6031 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6032 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6033 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6034 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6035 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6036 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6037 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6038 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6039 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6040 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6041 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6042 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-6043 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-6044 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-6045 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-6046 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-6047 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-6048 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-6049 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-6050 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-6051 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-6052 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-6053 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-6054 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-6055 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-6056 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-6057 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-6058 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-6059 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-6060 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-6061 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-6062 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-6063 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-6064 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-6065 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-6066 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-6067 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-6068 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-6069 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-6070 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-6071 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-6072 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-6073 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-6074 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-6075 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-6076 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-6077 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-6078 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-6079 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-6080 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-6081 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-6082 0 obj
-<< /D [ 6026 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-6025 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6085 0 obj
-<< /Filter /FlateDecode /Length 1552 >>
-stream
-xYMoFWV~/W"(AV $P*I\#0ImbYqv&|?/~|+3oՓJ>rgVLB"Uzg-OLJy5VJMǙUq׼r釙t쾍4O<JH(j]y}Ҏ]ϥ$su~/?Qň "k >m2'B><
-X-:|vy'@ZՑ91:0eM7%,)H3\泟KTƒW #{=
-ȱa›ی홱CtuU.3oޤǻ:V&2QT6j0QMOWL$vbP>萏Hw!!|w[.S!}>>ڥնNmY~HK` >>B2cpC~ςi0~h%qv-iYUhU.ϗ6AnWծè۲(pS~؝mF7gNϗ%CQ`ۿ4{X|C@A܂Zٛ]ՒTuXա|Mi2q{Oj8G
-Α6=fdƝ8%F?tmHl Am>D V$m}0=
-dan,Ԇ݊rM/[N,J{`jq$_G,<#s*rJhzG>hOpؗ7YZdY1;fU̩w0FK6D %jts5}>6ld+HH>B1j,j벸ޖ_B ٫%HeV9`YA൫a5BD A>|
-Ua
-2 4Y}q]ӎ*T<2SiK(݆v*% h9 0"t4/)W-ي-G!EZ]Na?d ?8r[
-PeF>K&xT9khmNO 0+E1}4q^nD3>9JEu m:5SywL yVJDsFG]DG~qƧn,gw(OYsVQH)z
-endstream
-endobj
-6084 0 obj
-<< /Type /Page /Contents 6085 0 R /Resources 6083 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-6086 0 obj
-<< /D [ 6084 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6087 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-6088 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-6089 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-6090 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-6091 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-6092 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-6093 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-6094 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-6095 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-6096 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-6097 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-6098 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 598.471 null ] >>
-endobj
-6099 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 587.512 null ] >>
-endobj
-6100 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 576.553 null ] >>
-endobj
-6101 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 565.594 null ] >>
-endobj
-6102 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 554.635 null ] >>
-endobj
-6103 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 543.676 null ] >>
-endobj
-6104 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 532.717 null ] >>
-endobj
-6105 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 521.758 null ] >>
-endobj
-6106 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 510.799 null ] >>
-endobj
-6107 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 499.84 null ] >>
-endobj
-6108 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 488.882 null ] >>
-endobj
-6109 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-6110 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-6111 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-6112 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-6113 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-6114 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-6115 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-6116 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-6117 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-6118 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-6119 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-6120 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-6121 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-6122 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-6123 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-6124 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-6125 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-6126 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 255.756 null ] >>
-endobj
-6127 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-6128 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-6129 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-6130 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-6131 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-6132 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-6133 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-6134 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-6135 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-6136 0 obj
-<< /D [ 6084 0 R /XYZ 81.077 146.167 null ] >>
-endobj
-89 0 obj
-<< /D [ 6084 0 R /XYZ 79.37 122.705 null ] >>
-endobj
-6083 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6139 0 obj
-<< /Filter /FlateDecode /Length 3128 >>
-stream
-xڭZKϯ`FvC
-[P|r,]RL/5DqNo?5vlj;c\=c5,tgtQ%"a.W_RǑNKGx7YRBH0NY)HAC"gWR:bBAD
-&q)gUq v1P}<K
-w1Н]uXϗIempZ(K  N?B$;*9^:λd9ybCCCbF؆c Ca ̚u
-&ƃ6}UO"!:%
->5b
-hs,qՐ|RbRi"X@Na[D3G!d~{$w]gD ]H0[bpÐʍ`?}`,-:XW].S<v'`m"śx^X!h( m I_hyte[<zK"x܁-4N,bkFJ˵~.McqFe[B  D"趮je1)7]\
-10 bzn%18,39֧<i\J¼pg"lq
-PщX'sb;BV!/cnNaƅU!l
-+y
-8Jt elT;Te,<PۢAv
-endstream
-endobj
-6138 0 obj
-<< /Type /Page /Contents 6139 0 R /Resources 6137 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-6140 0 obj
-<< /D [ 6138 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6141 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 492.853 null ] >>
-endobj
-6142 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 481.894 null ] >>
-endobj
-6143 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 441.047 null ] >>
-endobj
-6144 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 400.2 null ] >>
-endobj
-6145 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 389.242 null ] >>
-endobj
-6146 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 378.283 null ] >>
-endobj
-6147 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 367.324 null ] >>
-endobj
-6148 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 356.365 null ] >>
-endobj
-6149 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 345.406 null ] >>
-endobj
-6150 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 316.514 null ] >>
-endobj
-6151 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 305.555 null ] >>
-endobj
-6152 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 294.596 null ] >>
-endobj
-6153 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 283.638 null ] >>
-endobj
-6154 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 242.791 null ] >>
-endobj
-6155 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 231.832 null ] >>
-endobj
-6156 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 215.892 null ] >>
-endobj
-6157 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 204.933 null ] >>
-endobj
-6158 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 162.093 null ] >>
-endobj
-6159 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 151.134 null ] >>
-endobj
-6160 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 140.176 null ] >>
-endobj
-6161 0 obj
-<< /D [ 6138 0 R /XYZ 81.077 129.217 null ] >>
-endobj
-6137 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F19 184 0 R /F77 539 0 R /F20 186 0 R /F78 650 0 R /F70 300 0 R /F30 644 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6164 0 obj
-<< /Filter /FlateDecode /Length 2301 >>
-stream
-xZKϯ04
-~" |vC:;`G9ķ҂| .H
-DHu8,G)pDL}1stTKWc1 U:ѐ
-VP4Wcnfgiw-ZJT칉)"D5Ai^9Ekjzc(DDv]dyq&cjoQg=u.vW}Ier۽TcLLqeyO];~=67Ӌtbdޥ?Ϙ\<bvTox;G7\8 fdG|rZ7jt-\M#q(#ȸ?RϣH3S/ I(-C512Gry1GX@/ zث7FՄp2 Stq­pZXHܞY"qA48)/޺/RcYCS?ozom맱nC{o96kFIWS0L̝-u;so.4%6\U@>&?)3c`#~//0$1Mq2pi$j}P&Y&6((p˩]<{HhM^hTke 4A:gHL!8žɔ&M!oo?n@CP "MCAm\6Na[OK"P׆ni[MU~\%J c5 +F)ICjH"7CG)5+)pmZ1
-Kgt׆s$:]J 3ተ*#<Gdd81Wھb7*dH,Kr2tyD"@Yޒ7dI .s77aR2t$SM4F/NЧ +'#I _BvX5'az>ݵlS/ۿ7.)":c&{.[XQA;g
-\8F>Ef$CM!|Ud!e<O VԷ)
-21b` #XQ\2tIy2 K&KI9x
-H$Kid&HYY:ed)/q$KF"cI%-2ty Ee}.`HFojRhZM}Ud%.:qu&l'*t +;eDn(rPT͊o83(e]|KW3R"S|E9d{C%v
-|z$ؕĨה(6y Zb#)Uq_5պk򺢌#id.P7M 2r-3:F
-wt KXn~8q?=sK/|vm/PiKgư쇋"&*;i"rapO9U5w ɥ
-J8@u{Ѐ][/BGR-j.GHs3KUZ\& #Jvg/^1"҂u.}㾩J0/GGXg7O);.
-`77 IJϠhx6M*%+{tK)[clm8ݬN?)6=F#SL91'Y˪JTݺX>tBB㢸n. .Gˢ9xJ=k۩s?ͳŮyZ\pI2wrܣ
-endstream
-endobj
-6163 0 obj
-<< /Type /Page /Contents 6164 0 R /Resources 6162 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-6165 0 obj
-<< /D [ 6163 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6166 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-6167 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-6168 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-6169 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-6170 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-6171 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-6172 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-6173 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-6174 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-6175 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-6176 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-6177 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-6178 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-6179 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-6180 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-6181 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-6182 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-6183 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-6184 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-6185 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-6186 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-6187 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-6188 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-6189 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-6190 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-6191 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-6192 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-6193 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-6194 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-6195 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-6196 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-6197 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-6198 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-6199 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-6200 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-6201 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-6202 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-6203 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-6204 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-6205 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-6206 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-6207 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-6208 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-6209 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-6210 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-6211 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-6212 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-6213 0 obj
-<< /D [ 6163 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-6162 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F69 299 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6216 0 obj
-<< /Filter /FlateDecode /Length 1900 >>
-stream
-xڵYMo6W%6\4P`я!- EaBl+˛ Mz'^,J#ߐ73T1OJo'?_Pf&5 E3()]fO쟫?c_
-8cRgݸy>³"\x/C 83KW[W,Մ1mQݜX(”ck)IJ 65~A]do}wڵ{SF.lg4sa#,uYc` Ks,p0eN#Gٖ<E{rqW-]ٽh4{ ):jd8R7
-E {xfb^hy?}tA=r{hA~2b'4s׿U?kHšc6uATe?\܍WFޣ8wdہo@ȹhjO7t4|0;71@Vۮ{]W-ɂC)wN-0M!UXkjAXh)\(Farѯ֥}
-NKiyܻprߴͼi.+*߆˰Y%Mݗ='"XOsz/B] 58%i>4j={1ecwB"8 ^CXf}Ÿ1[p i)+ZMŔ>⁔1!TG3?88Cjf~r6БK
-Jeq x·0EUk3uJ2tGݸj uMr>;fJ Pi
->&CdBYG rߧWS3c2-07!ITʬOg͋VBaDZWS:1R֍h`xKcj_ehtĤ4($Al(g vzq ^)*[m 2}}@ )fhdʝcu2qED~7~>miZK+p=Px
-;'[_ڇ~"u1O)z>:,kK|4a8)'g4!a113 }Lħ 7QO)r^_>+ Ď=s.ə@~r*F78/c!YC_d`=VHeΞWv7ڴ.h,T;g$XNTO3 .إ]mr,ys}1)6U=3ǖJAHz˰] Ȕ
-endstream
-endobj
-6215 0 obj
-<< /Type /Page /Contents 6216 0 R /Resources 6214 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5837 0 R >>
-endobj
-6217 0 obj
-<< /D [ 6215 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6218 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6219 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6220 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6221 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6222 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6223 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6224 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6225 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6226 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6227 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6228 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6229 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6230 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6231 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-6232 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-6233 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-6234 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-6235 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-6236 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-6237 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-6238 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-6239 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-6240 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-6241 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-6242 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 422.132 null ] >>
-endobj
-6243 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-6244 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-6245 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-6246 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-6247 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-6248 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-6249 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-6250 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-6251 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-6252 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-6253 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 241.808 null ] >>
-endobj
-6254 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-6255 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-6256 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-6257 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-6258 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-6259 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-6260 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-6261 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-6262 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-6263 0 obj
-<< /D [ 6215 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-6214 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6266 0 obj
-<< /Filter /FlateDecode /Length 1534 >>
-stream
-xZKo8WxK,oT]!{ɭ[&FeɵF{i[4ck%>΃3 )m>_dz_}0w Exz0g 0nw=}ʹŹXHLT'xTe2*rHٷaVl&m)vL+pݴRaI^^k<|In:,>l簹>O}Ϝ 4H65ܚ96ejXQ:$-6K1,
-gh t^Za4]6X&E7
-OlM+BgBc`9-hliEƴ]F8],ڼHc:frͳJng)q*-Vh`qM$|B,9Mph5UK`F([(ߊrtfLMwBmH"aV7JYRF蟝pzMq+B/$z.[sot5(/x2}0'eדB鲍fn;; T +)M+x}WN.淫2})E <.xr__vny͟ן$,kj5
-)"t]XGyW>j˓`B5*':歠)STT5C;gmakYz04,tQcCӸ>7,4S.otnxqJb!h8wx}dza=<*}s .CׄF-pAvca]>0ft2"g Ogiu7,*"B&A≪/+$pQ< aRrd:'IQ,u:#[yϜxc^n- x>$BF:܊ﯩzj, 50)Voy}4eY[Oۛg}ߗW?B -IG]֌o eYx}c}&>RBKZdQ%tL|RdBsIk~<gyFO]8s)I ||Wu;,&
-endstream
-endobj
-6265 0 obj
-<< /Type /Page /Contents 6266 0 R /Resources 6264 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6267 0 obj
-<< /D [ 6265 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6268 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6269 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6270 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6271 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6272 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6273 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 686.992 null ] >>
-endobj
-6274 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 676.033 null ] >>
-endobj
-6275 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 665.074 null ] >>
-endobj
-6276 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 654.115 null ] >>
-endobj
-6277 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 643.156 null ] >>
-endobj
-6278 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 632.197 null ] >>
-endobj
-6279 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 621.238 null ] >>
-endobj
-6280 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 610.279 null ] >>
-endobj
-6281 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 599.321 null ] >>
-endobj
-6282 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 561.316 null ] >>
-endobj
-6283 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 550.357 null ] >>
-endobj
-6284 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 539.398 null ] >>
-endobj
-6285 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 528.44 null ] >>
-endobj
-6286 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 517.481 null ] >>
-endobj
-6287 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 506.522 null ] >>
-endobj
-6288 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 495.563 null ] >>
-endobj
-6289 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 484.604 null ] >>
-endobj
-6290 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 473.645 null ] >>
-endobj
-6291 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 435.641 null ] >>
-endobj
-6292 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 424.682 null ] >>
-endobj
-6293 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 413.723 null ] >>
-endobj
-6294 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 402.764 null ] >>
-endobj
-6295 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 391.805 null ] >>
-endobj
-6296 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 380.846 null ] >>
-endobj
-6297 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 369.887 null ] >>
-endobj
-6298 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 358.928 null ] >>
-endobj
-6299 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 347.97 null ] >>
-endobj
-6300 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 309.965 null ] >>
-endobj
-6301 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 299.006 null ] >>
-endobj
-6302 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 288.047 null ] >>
-endobj
-6303 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 277.089 null ] >>
-endobj
-6304 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 266.13 null ] >>
-endobj
-6305 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 255.171 null ] >>
-endobj
-6306 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 244.212 null ] >>
-endobj
-6307 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 233.253 null ] >>
-endobj
-6308 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 222.294 null ] >>
-endobj
-6309 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 211.335 null ] >>
-endobj
-6310 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 171.436 null ] >>
-endobj
-6311 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 160.477 null ] >>
-endobj
-6312 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-6313 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-6314 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-6315 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-6316 0 obj
-<< /D [ 6265 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6264 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6320 0 obj
-<< /Filter /FlateDecode /Length 2323 >>
-stream
-xڭZ[o8~b^l.҃ngfS0IQ$$7oCE_d1>T9 ~y+˫_y/Ռ#W32SIIdv80%ѯ`>SHKL0AƯͻ1-n/.oo.WL]ߔiu*ݏ[wu ݖ`'0"SӶGbTmlᬗɦ2D[eE^fEfQ;ݮf* RAdCtrH(M&HHO+{]GQ){tA7 ʑZ ^6&[(Ĵ
-ѝrlEq>8u??>G68b\42A`ކqy1љؿp -{q{c ; )⬏\ƹg'Iyutl>$stl
-K좭JE~
-݁{*q^ODB
-Jx R}"hTi*j>7g8!jz,*hO%̍/͋X}!x!zPzoSA0|ɶr~~B/Bs8Z2ODh_ sUƒR/oݰ
-VgTӰ/%D.@Gl.xw:TЕp/orun2_֦짝6-;]7"
-(]5&O@)8&xį8EŢlF*82-ne-mk;wiV &QW36`vNBakiDF&F 9VsSyN׹YGdap@?[u{o_!,>'QУpƫ+
-}*Hq1B[#hKw Vp'sT/y܍2W%;suٱZ;ygh;j-|:dBɀY%`똬dy
-Aɛis 4%ǩTam13
-}UnÄٹ08' lw]?=Iù`<\}cUu^I@N&ChVhMžf74 Ж
-}!. 43N M;fmeγfq5{}:8cݞYě|\,"Ɓ$$nNۡ|j(iZc3m0V.+% :~nz/Ç{(`*7]}3e@$
-endstream
-endobj
-6319 0 obj
-<< /Type /Page /Contents 6320 0 R /Resources 6318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6321 0 obj
-<< /D [ 6319 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6322 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6323 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6324 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6325 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6326 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6327 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6328 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6329 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6330 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6331 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6332 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6333 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6334 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6335 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 570.575 null ] >>
-endobj
-6336 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 559.616 null ] >>
-endobj
-6337 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 548.657 null ] >>
-endobj
-6338 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 537.698 null ] >>
-endobj
-6339 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 526.74 null ] >>
-endobj
-6340 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 515.781 null ] >>
-endobj
-6341 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-6342 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-6343 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-6344 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-6345 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-6346 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-6347 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-6348 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-6349 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-6350 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-6351 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-6352 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-6353 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-6354 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-6355 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 215.905 null ] >>
-endobj
-6356 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 204.946 null ] >>
-endobj
-6357 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 193.987 null ] >>
-endobj
-6358 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-6359 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-6360 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-6361 0 obj
-<< /D [ 6319 0 R /XYZ 81.077 120.264 null ] >>
-endobj
-6318 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6364 0 obj
-<< /Filter /FlateDecode /Length 2237 >>
-stream
-xڭZM8Wal4"}X l a2Զ:[HrFE"nI-|,_UQƋ ?qo^h%|q{ D#,Idqmߕb|uCUOʖMYia['m!mR٫l>(i[}tz(R.t[=y5 `}OOiXm24p|\w2W Cs#NyhCے+8!YToz
-i{:J
-^.m+oˬD(c:|9U_du1|KwN‡krF
-o;gN
-endstream
-endobj
-6363 0 obj
-<< /Type /Page /Contents 6364 0 R /Resources 6362 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6365 0 obj
-<< /D [ 6363 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6366 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-6367 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-6368 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-6369 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-6370 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-6371 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-6372 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6373 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6374 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6375 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-6376 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-6377 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-6378 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 563.601 null ] >>
-endobj
-6379 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 552.642 null ] >>
-endobj
-6380 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 541.684 null ] >>
-endobj
-6381 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-6382 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-6383 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-6384 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-6385 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-6386 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-6387 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-6388 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-6389 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-6390 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-6391 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-6392 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-6393 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-6394 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-6395 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-6396 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-6397 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-6398 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-6399 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-6400 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 250.774 null ] >>
-endobj
-6401 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 239.816 null ] >>
-endobj
-6402 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 228.857 null ] >>
-endobj
-6403 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 217.898 null ] >>
-endobj
-6404 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 206.939 null ] >>
-endobj
-6405 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 195.98 null ] >>
-endobj
-6406 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 185.021 null ] >>
-endobj
-6407 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 174.062 null ] >>
-endobj
-6408 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 163.103 null ] >>
-endobj
-6409 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 152.144 null ] >>
-endobj
-6410 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-6411 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-6412 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 119.268 null ] >>
-endobj
-6413 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 108.309 null ] >>
-endobj
-6414 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 97.35 null ] >>
-endobj
-6415 0 obj
-<< /D [ 6363 0 R /XYZ 81.077 86.391 null ] >>
-endobj
-6362 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F27 638 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6418 0 obj
-<< /Filter /FlateDecode /Length 2341 >>
-stream
-xڭZKo8W t84Ѓn
-B$GׂNjSrPAP2xaj9`2]ó0*Ġ5rry^4OԬҾoƛXK<6q)Y(ʖY=4w5(wa6OO?XKWNLAԲҬpZa 6oxnm9F5ۣ2- E| 2L08M6y^5'4O!APDŎ
-B Qd_3%*)ǖ^5g&ERN OR֞V\,,OFF2VgJXʝܗN*b\Ob;PmYgUZge+fy?ۜك)MN`q (1!S_`d2Bہ9ݙZ7Q 0|~̶iS(N)WpwG4YX,Q?Sk<Φ_PW'ǵBX듫mS3;]s~-<X.:r*ɥ<:ԟZۏVhઍ9сuWсK(SDT
-/ӕ6g#a=T!;(/ h.d\Jд[+{
-`?J4ğ
-|
-ers?wV2,Xէ+*]ȿvtKvĦ Ww+">HR =79S-&ӴXw?.;7nK[
-r p& Jxr0 (@YA8 -g,(uK2yk(/q[unRpn<?/,I8R++ [_x*
-endstream
-endobj
-6417 0 obj
-<< /Type /Page /Contents 6418 0 R /Resources 6416 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6419 0 obj
-<< /D [ 6417 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6420 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6421 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6422 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 711.281 null ] >>
-endobj
-6423 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 700.322 null ] >>
-endobj
-6424 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 689.363 null ] >>
-endobj
-6425 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 678.404 null ] >>
-endobj
-6426 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 667.445 null ] >>
-endobj
-6427 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 656.486 null ] >>
-endobj
-6428 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 592.078 null ] >>
-endobj
-6429 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 581.119 null ] >>
-endobj
-6430 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 538.687 null ] >>
-endobj
-6431 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 527.728 null ] >>
-endobj
-6432 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 516.769 null ] >>
-endobj
-6433 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 505.81 null ] >>
-endobj
-6434 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 494.851 null ] >>
-endobj
-6435 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 462.439 null ] >>
-endobj
-6436 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 451.48 null ] >>
-endobj
-6437 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 440.521 null ] >>
-endobj
-6438 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 429.563 null ] >>
-endobj
-6439 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 418.604 null ] >>
-endobj
-6440 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 407.645 null ] >>
-endobj
-6441 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 396.686 null ] >>
-endobj
-6442 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 385.727 null ] >>
-endobj
-6443 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 374.768 null ] >>
-endobj
-6444 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 363.809 null ] >>
-endobj
-6445 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 321.377 null ] >>
-endobj
-6446 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 310.418 null ] >>
-endobj
-6447 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 299.459 null ] >>
-endobj
-6448 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 288.5 null ] >>
-endobj
-6449 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 277.541 null ] >>
-endobj
-6450 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 266.582 null ] >>
-endobj
-6451 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 255.623 null ] >>
-endobj
-6452 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 244.664 null ] >>
-endobj
-6453 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 233.705 null ] >>
-endobj
-6454 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 222.746 null ] >>
-endobj
-6455 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-6456 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-6457 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-6458 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-6459 0 obj
-<< /D [ 6417 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6416 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6462 0 obj
-<< /Filter /FlateDecode /Length 1762 >>
-stream
-xZn6+ dccj-
-ˇ9˛Y|;tmDTJGs+415R
-#dlE4<TuS Ѡ̰=س}%!/ $gemd9,bߣْ-j'}:qWSҡ_/*;KR\I2J[WÔGr+VN&up {Ӵ\l]t 5)CsXH,z=}ӻlUWr> <mgw鲳|}m㲌?,٤wia*s[%\[~,%2- h5z|{<,`ثȈ
-&iJTcV'4~ \a~>Kryy|m!={>y)Nm^[~P2 {lr_'-/49={1~)Ŗ+" 840GnVFqMhS#T#Μ'X|ʲf LBr`jМ׵&X"A\nC4}4xm#C42u#a㧰>k*؜C}(1ܟnRr12asu~?[4
-endstream
-endobj
-6461 0 obj
-<< /Type /Page /Contents 6462 0 R /Resources 6460 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6463 0 obj
-<< /D [ 6461 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6464 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6465 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6466 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6467 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6468 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6469 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6470 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6471 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6472 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6473 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6474 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-6475 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-6476 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-6477 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-6478 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-6479 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-6480 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-6481 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-6482 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-6483 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-6484 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-6485 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-6486 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-6487 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-6488 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-6489 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-6490 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-6491 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-6492 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-6493 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-6494 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-6495 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-6496 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-6497 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 329.479 null ] >>
-endobj
-6498 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 318.52 null ] >>
-endobj
-6499 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 307.561 null ] >>
-endobj
-6500 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 296.603 null ] >>
-endobj
-6501 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-6502 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-6503 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-6504 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-6505 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-6506 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-6507 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-6508 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-6509 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-6510 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-6511 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-6512 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-6513 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-6514 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-6515 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-6516 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-6517 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-6518 0 obj
-<< /D [ 6461 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-6460 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F77 539 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6521 0 obj
-<< /Filter /FlateDecode /Length 1956 >>
-stream
-xZKoW4Uc\E6H/ A-{$g2OQJv?Ib)~*]<.+:>rWV$0W &[M4fj.kX. Z 38&aBE?$~yF>$m1 iڍv$glYQ(<xvhC#`]ul&[$Vg|`%0)d2tL` aFz2aMwh]mwiʻ6qz蔢^jSФE b*/mP yF5^PM~eva9LΘ- 儛ҀG/?.Q1s?DT.KnkMznDU+_ׁr`<!K~OѠ# 4@,X2*6 ,$FYHFOyӮַhfX
-WXNZrhtv( l°)ödvnɺp^
-i\3>@cqvRx%ăcTп-p@W_ƹ`~l ɞC|.b¨7ZNj}: U{w33>l˂Hf˔O;HPu}ta>#7X}\O[s"f֌ xڐ ]w+4*SO7O[2}ns%ECU@u/YT>jZu4h[ϴ&^_9e㒽GfdOi_@* '+kZJr(LquÝp5 ݏaS|!74 d/#8V`O*$*_dy&HlCg?'\gNuHu/] 'P7
-endstream
-endobj
-6520 0 obj
-<< /Type /Page /Contents 6521 0 R /Resources 6519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6522 0 obj
-<< /D [ 6520 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6523 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6524 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6525 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6526 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6527 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6528 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 696.104 null ] >>
-endobj
-6529 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 685.146 null ] >>
-endobj
-6530 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 674.187 null ] >>
-endobj
-6531 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 663.228 null ] >>
-endobj
-6532 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 652.269 null ] >>
-endobj
-6533 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 641.31 null ] >>
-endobj
-6534 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 630.351 null ] >>
-endobj
-6535 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 619.392 null ] >>
-endobj
-6536 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-6537 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 597.474 null ] >>
-endobj
-6538 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 586.515 null ] >>
-endobj
-6539 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 575.556 null ] >>
-endobj
-6540 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 564.598 null ] >>
-endobj
-6541 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 553.639 null ] >>
-endobj
-6542 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-6543 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-6544 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-6545 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-6546 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-6547 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-6548 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-6549 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-6550 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-6551 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-6552 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-6553 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-6554 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-6555 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-6556 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-6557 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-6558 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 301.584 null ] >>
-endobj
-6559 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 290.625 null ] >>
-endobj
-6560 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 279.666 null ] >>
-endobj
-6561 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-6562 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 257.748 null ] >>
-endobj
-6563 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-6564 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-6565 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-6566 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-6567 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-6568 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-6569 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-6570 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-6571 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-6572 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-6573 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-6574 0 obj
-<< /D [ 6520 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-6519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6577 0 obj
-<< /Filter /FlateDecode /Length 2378 >>
-stream
-xZKsϯPjl,tH&'r[,mf(#RkO\ mɂ=\$_7n>W~ zT,"X$AXfgSWYcN8#ˬ]H6B.m Yqnfkw.OΨZ L&H߿>]Fur7{tr1{ue<=%uQ[Ӎvc|=sFK']K M8®;O%]&y^05?;ݕkፓž]TNDSVW}^Bk jY
-vֶfK,:6m+Re!"Y.lf=vȗP0Q>IY
- PwLm9s_5[Yhb$'K^-8Ҋ0:$S(f":L|d _:.C\mƤY.+`,himL%El*.VU_~$ E8>!Qᣟ%P%qcS"}MYqmЬ.=uzwYPRcX\ d+Hqguc;e^M>Mh[@[ў-洳}E)9s_O[viU4wuyAxY6qb۶w|)C'08:L{St xTqVY6ZQ_(O ,+|O!vrĒ*$&G cJ?P$BB'='觉y6>Jw>B\w.y}}B?vlbYh"<hMߎB*
-se؊WvڪqF'Cr!o{<naZaJ.^c}V3 ڟx'bkⲈVX=tk_׍E7!k{}ʵ)z(Fƶ:W\Ӂ-:EO,&Oq*4_&"
-'tfk/lm}e񱐡USAoSHwX:Ȋ=b&%}lPt>چoaB lI)X6 싨 BXCE5IV4>e1MݳKKY/-EX C2]$
-[=tϮn̐'W/g(o aK6ϯ 9fw͐ӳ[NF{#*hc롏)RN׿BgKXI4C=lKpbLz9\u{P[ rpkz3l7w Ʋ \ 8ZXxlZ4yNI"+lMY§ c~`k_.O5j:ね2mL+xm5wt=W<sV%Ń$StΜbꅇ[Si5bʉhHQneIjk7涄v@l=y#B}?߆5*#1mJkh!mӉ1򙽡
-aa;O]R/2$ݷKVr^j{|oo .(3V:\YjG>9d*I!Ic/DG>Pe]nP>kܵk<sfGQDRt?|`@=h1lËi6Uhwu5Ez4OqeU}tM02nU®1 w5"<(MŞDwo)pY7+[6#EDP&7c7C4c6@dXܝ3|nUsWSWI
-HEGHL{
-6C ;u"y@
-endstream
-endobj
-6576 0 obj
-<< /Type /Page /Contents 6577 0 R /Resources 6575 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6578 0 obj
-<< /D [ 6576 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6579 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-6580 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-6581 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-6582 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-6583 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-6584 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 658.246 null ] >>
-endobj
-6585 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 647.288 null ] >>
-endobj
-6586 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 636.329 null ] >>
-endobj
-6587 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 625.37 null ] >>
-endobj
-6588 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 614.411 null ] >>
-endobj
-6589 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 603.452 null ] >>
-endobj
-6590 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-6591 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-6592 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-6593 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-6594 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-6595 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-6596 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-6597 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-6598 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-6599 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-6600 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-6601 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-6602 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-6603 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-6604 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-6605 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-6606 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-6607 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-6608 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-6609 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-6610 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-6611 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-6612 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-6613 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-6614 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-6615 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-6616 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-6617 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-6618 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-6619 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-6620 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-6621 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-6622 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-6623 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-6575 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6626 0 obj
-<< /Filter /FlateDecode /Length 2714 >>
-stream
-xڭZKoϯh[
-Vxv zT^YtJ$m^^^T%67vUPj\T&oP|jmveϽi%T JѕtREuIqW>86~qWU׾ؕ_Tլ!\H
-0^W֞YCN,ޕVf2#\#kld,ic
-`$_`@ViE$zcpM(]~y0_)V25& MBacMjseSaA}Ӻk^>x9,Ѻ3efS؄!ɲ)F)ӁZ7h0ET^%Xñ]׻m{}0kP}˿TPnX}6@{}2}Cٓ
-#& HHJw>ߴYP~s߃`?j۶q,z28T*Jtݕf|ztWgZx=gXME`"4ngf ڇ
-P$z(C!V*vTQH?φerVH2b/e@Ը@Dk<)IaȀi8ɀ^}d޻ Tg@3LqD8jf
-~l7 r=)c"N_%eJ:Qx `^ `>Ao_
-/=U**JIDN.z_4ޗjP
-N;(XwJBP$Ĺ2T:Q+n3u1z[@4I%wmzO$Sx!4`qq@Bq6{XʿsXg7fѷɿ0"S8`h&Isar(m[Bc,b<2؄9yTR
-Tm-0j<xc\4G{ b6^E@H~TnJ~EjBTMmi[xK\ Uٙ'f\P>cR8"^?lBF,(F=W/1g``Ů̯oɭ/0?5xF:ޙܛp1pXjڟ2pt]߮on52ؔë.-`N2Ü
-#:
-*NױtgoUj4\sHSMmpd -_|up0c?{5
-!
-0@zŜ7.b 61U-y$DMuv8޽1TYO\74D`=DŽ
-xdA_6FY ʾd
-&ݝ)3L46jf 1t/7P +ì"}y?*by~ϯ N)=H 2;$h 8lqܛ<~)9m4}nZ dSV
-qVm3o֘ە`*Dv{%^xڱm yWHO&>%qOIޟ]$#m"MvY24 颛{ﴱ Txޫok m6uY3{<aGaCV1\2
-endstream
-endobj
-6625 0 obj
-<< /Type /Page /Contents 6626 0 R /Resources 6624 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6627 0 obj
-<< /D [ 6625 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6628 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-6629 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-6630 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-6631 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-6632 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-6633 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-6634 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-6635 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-6636 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-6637 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-6638 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-6639 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-6640 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-6641 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-6642 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-6643 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-6644 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-6645 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-6646 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-6647 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-6648 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-6649 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-6650 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-6651 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-6652 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-6653 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-6654 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-6655 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-6656 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-6657 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-6658 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-6659 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-6660 0 obj
-<< /D [ 6625 0 R /XYZ 81.077 155.133 null ] >>
-endobj
-6624 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6663 0 obj
-<< /Filter /FlateDecode /Length 2337 >>
-stream
-xڵZo6b|5P|2"HZ\? yMigC7K^3/~~۫WD@/n_xd
-BI$5?p P)!"hJRg猱poE]6pOr#\#,e3ᇏgB.zg
-D
-
-FR۲PaÖvڦtewۘƮYާŘFJt]^u 0a, ȑa$ߟBFcZ"Iظ@B Sbаd:& )_5fv`փ6g
-͛UP^[U k ^/H:m5B"~^2D1槭M1RHfXͶEs\uTT0k|w?jJ{DTJg-Y`6۳smWv;cfˍٴ݃g<rеV
-v5rכ)
->R< BiU̍gV5A/7ƿZb?E(p.xB1{0i0$R?Φ gUWQ#v1 '}yL<y:Ec1E%Ύ?RhĹV'] I6,>gQ}O7fumSj
-q&yiB/4Ku$TOk : R?šBGQHd>mWM;\4;X~p$' Irg>Qn)7:,fHy?4k?1W5ϾMTQP$ H#jBu#f$B
-O/
-e5U7lD}9p@,!nʗ } }C*mncKo= ҢkpЩ *1RU{@;ʡ0c9hmS[9r뜌[4kûb<ֻMrs](忒0yؤxP?拓Ndk5bDiyXw~cݒ738{7Ɯ_9ڧm̡lyyDw9k[Cݴ߆'\-h8wfͲ W}{0Ioܠ!L&OvΞj3kLqIߵ
-qʐ1 uX!AftM?>S Pb ?^qF0
-endstream
-endobj
-6662 0 obj
-<< /Type /Page /Contents 6663 0 R /Resources 6661 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6664 0 obj
-<< /D [ 6662 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6665 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-6666 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-6667 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-6668 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-6669 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-6670 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-6671 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-6672 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-6673 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-6674 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-6675 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-6676 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-6677 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-6678 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-6679 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-6680 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-6681 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-6682 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-6683 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-6684 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-6685 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-6686 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 423.128 null ] >>
-endobj
-6687 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 412.169 null ] >>
-endobj
-6688 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-6689 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-6690 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-6691 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-6692 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-6693 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 256.752 null ] >>
-endobj
-6694 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-6695 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-6696 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-6697 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-6698 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-6699 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-6700 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-6701 0 obj
-<< /D [ 6662 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-6661 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F69 299 0 R /F68 189 0 R /F64 183 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6704 0 obj
-<< /Filter /FlateDecode /Length 2284 >>
-stream
-xڽZ[o~ϯ0Ї+
-3ma54 !*/M}zǴl*o1q~B|o/-T|hLf[yXvH7n m'C~nSq<BI
-B@O1ŞhHNsoM^A?6;~E@Nרv9-3)Y2:P7͓Cfmz#֝s6ڟ!f\ ژXk}Z
-†pHWv
-o^&r P
-rݻ=šg־I6EvoU;Lq~۹Vc|X_8A_MPg0=eY h́b*E8CcRϊs9/JN6.`qo}I=^p$dpCWg|7Wc2Qǫt~_ϪxJ!%PKgʎ_NC KĻEo htjz>$m~z7wŗ+]x0${/o\|PAZk'݌PGc`
-endstream
-endobj
-6703 0 obj
-<< /Type /Page /Contents 6704 0 R /Resources 6702 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6317 0 R >>
-endobj
-6705 0 obj
-<< /D [ 6703 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6706 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6707 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6708 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6709 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6710 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6711 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6712 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6713 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6714 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6715 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6716 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6717 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6718 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6719 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-6720 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-6721 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-6722 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-93 0 obj
-<< /D [ 6703 0 R /XYZ 79.37 568.601 null ] >>
-endobj
-6723 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 382.645 null ] >>
-endobj
-6724 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 334.3 null ] >>
-endobj
-6725 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 323.341 null ] >>
-endobj
-6726 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 312.382 null ] >>
-endobj
-6727 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 301.423 null ] >>
-endobj
-6728 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 290.464 null ] >>
-endobj
-6729 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 279.505 null ] >>
-endobj
-6730 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 268.546 null ] >>
-endobj
-6731 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 257.587 null ] >>
-endobj
-6732 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 246.628 null ] >>
-endobj
-6733 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 235.669 null ] >>
-endobj
-6734 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 224.711 null ] >>
-endobj
-6735 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 213.752 null ] >>
-endobj
-6736 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 202.793 null ] >>
-endobj
-6737 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-6738 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-6739 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-6740 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-6741 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-6742 0 obj
-<< /D [ 6703 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6702 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F79 726 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6745 0 obj
-<< /Filter /FlateDecode /Length 2965 >>
-stream
-xڵZmo8_a>$**z]="]ĺRVs~3$BődEQp`v3 f_͓HlW._LHSfׯ(
-ftQ4@f\FLrv. 3M"S OrbYl29/˓3ɤ|Ef^|MbtvCe@hZqUH`B[(Ez}~oEW]AY4[ ENjN}k3Mqks>iH<8nmJ *ڮf0 푄\N]?'ds&%<vS`TFʟ*xxEAuH`@VvἨm#V||>uREEtDD C4l,3Z%z02V(( eRvT+;&FN8g'ɯ8fODwvB2stAR aBoHO8
-NS@'h "8@:.$2ο|ʴu997{@#N(qdv2ّIF4W#ax*Ni~c;mTh1$O$Ut
->-|ch
-69`іp8-+Zq5a
-lq&ivQ jܾ. &y*Y،\*H}pTBY1^pA`t&i Atn+Yah*+(jO(3k-bLC 2MuT^ܟt]V,oS"PǸ(Q$ӵ!! h ꎩ4hڃǫ"r:be<a*a^۬
-r RA!&9Szr*V.Ӓz.Ki;.GS U\wdbZQ8X$LaS1Ƞ4̈~9ȩ` 4}j~^Y܄dm*iHR 1ǁx$
- vOmSتj2 Ʒq-,Dplw&5IOn ahu$bEfwBmT;|r<Fr "C+a>&DNxcMT%n!XL-hh|F#Rklfc`?N`b@i.#d]h 06n,hJ6#޼A5=,x;8C`~qZ'Xcjسr<8@0[?bYO$_#`nlP&wwWBi-UϦ{ŹGѹ6{/z\dCV6M H1`c30V Se0ɭzΨ&``T]„%orT#awe!4}jW![Co0]ȟP6<Y.ՅvEQWʿӛUY(3UwrZQ-*O[3pɶ xߧ{o':8haU8tweL$۝*a{I ;YS[4_᱿\RH\T_m px+?\]ś
-c {e~ _Cuˠ y*ļOl6j|ش;D&Ww;Г] Bte9nѣ]-_)m(ӛuBDB#d2?"i}oM/oIwb[l?kIhWQb>qO,ܟ뢎tF@Xɨv' uGLHCO7|}{`
-endstream
-endobj
-6744 0 obj
-<< /Type /Page /Contents 6745 0 R /Resources 6743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-6746 0 obj
-<< /D [ 6744 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6747 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6748 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6749 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6750 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6751 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6752 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 590.051 null ] >>
-endobj
-6753 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 579.092 null ] >>
-endobj
-6754 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 568.133 null ] >>
-endobj
-6755 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 557.174 null ] >>
-endobj
-6756 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 546.215 null ] >>
-endobj
-6757 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 535.257 null ] >>
-endobj
-6758 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 524.298 null ] >>
-endobj
-6759 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 513.339 null ] >>
-endobj
-6760 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 502.38 null ] >>
-endobj
-6761 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 491.421 null ] >>
-endobj
-6762 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 480.462 null ] >>
-endobj
-6763 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 469.503 null ] >>
-endobj
-6764 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 376.851 null ] >>
-endobj
-6765 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 365.892 null ] >>
-endobj
-6766 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 354.933 null ] >>
-endobj
-6767 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 343.974 null ] >>
-endobj
-6768 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 333.015 null ] >>
-endobj
-6769 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 322.056 null ] >>
-endobj
-6770 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 311.097 null ] >>
-endobj
-6771 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 232.392 null ] >>
-endobj
-6772 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 221.433 null ] >>
-endobj
-6773 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 210.474 null ] >>
-endobj
-6774 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 199.516 null ] >>
-endobj
-6775 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 188.557 null ] >>
-endobj
-6776 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 177.598 null ] >>
-endobj
-6777 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 136.751 null ] >>
-endobj
-6778 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 125.792 null ] >>
-endobj
-6779 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 114.833 null ] >>
-endobj
-6780 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 103.874 null ] >>
-endobj
-6781 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 92.915 null ] >>
-endobj
-6782 0 obj
-<< /D [ 6744 0 R /XYZ 81.077 81.956 null ] >>
-endobj
-6743 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F32 176 0 R /F27 638 0 R /F79 726 0 R /F65 185 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6786 0 obj
-<< /Filter /FlateDecode /Length 2475 >>
-stream
-xZ[oܸ~ϯՠ6Û(r-,E tn)yUkFcuCRRjMH##;9 ^.wX?x'!)I]\m/B
-$HHAXn(V.~-
-Gx#.XWcg=7ĕτҼiչv?}ͷe~XzB"1hOZ(P:D!apukI=,-6YШ^u푙dH*嶗h[e ,V?JMeՍ}X^^Ruk9yQQkk[U4MVZ(~4`93=L¬g?\p .fqE"jgqc~k, A10Kl/eqh]sM*ޭ{=wXDvf!4&YPj0JaV;ӹ9U7nV}m߇ݍy<AƮ6 ڛ(Š{趩{{kV
-@h7nE0ƌ!.I}=9e!6ACO ƾo+b$p<)C?R1H$˴ t*#.7: Ȭn C:i,$L>e2) !t45L#<-~+piDw.s:ҙe+ ҭq< 6ME)ڲn+tJ濸i2̅mg0>h{&<gS "b߁kaF6fcH@p1EjqƷZuƎ~yM7V듁&8ăMdoӇ)2PZGVA4=]D2G⟇~IL!vTI8Sxkv +]2a1BL赃p][bĘHdZ9k@jkoAY$P´/j Gs%&P0%&VކMYk(W)R”<6ltke&NBqoL~n?͇"Lӓ7Ӓ0DIIC{ ~x5,hf<RxJO_hH0ʵp~ CL1 z>(Őȋ3/;$Eojl7H-aaqHKݫj9K@{mVKv,PK']9@)
-5B-$C~$yyM +2``cl"l]t
-/ϻ[.9ox<VgX"9MzQuN.w:c\?-%3"<0LܪnUwud;<|yu C1a?U?%YJ!.'־kN^K3OHӴPRP"OC_ ޏs#6NxwdPH)N`cB>zR1%BfFD
--:o k'a}`! "XCqZ?o) AC!Bp*!9}N'%q\[a`]dO.??0'doKJ5Qn}F 1$. g 3ME u؉ YBfWsHe!ׂ 4~.yr$L6HQpp?AG
-endstream
-endobj
-6785 0 obj
-<< /Type /Page /Contents 6786 0 R /Resources 6784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-6787 0 obj
-<< /D [ 6785 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6788 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6789 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6790 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6791 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6792 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 665.767 null ] >>
-endobj
-6793 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 654.808 null ] >>
-endobj
-6794 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 625.917 null ] >>
-endobj
-6795 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 614.958 null ] >>
-endobj
-6796 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 603.999 null ] >>
-endobj
-6797 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 563.152 null ] >>
-endobj
-6798 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 552.193 null ] >>
-endobj
-6799 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 541.234 null ] >>
-endobj
-6800 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 530.275 null ] >>
-endobj
-6801 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 514.335 null ] >>
-endobj
-6802 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 503.376 null ] >>
-endobj
-6803 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 460.537 null ] >>
-endobj
-6804 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 449.578 null ] >>
-endobj
-6805 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 438.619 null ] >>
-endobj
-6806 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 427.66 null ] >>
-endobj
-6807 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 362.903 null ] >>
-endobj
-6808 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 351.944 null ] >>
-endobj
-6809 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 340.985 null ] >>
-endobj
-6810 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 330.026 null ] >>
-endobj
-6811 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 319.067 null ] >>
-endobj
-6812 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 308.108 null ] >>
-endobj
-6813 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 297.149 null ] >>
-endobj
-6814 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 286.191 null ] >>
-endobj
-6815 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 275.232 null ] >>
-endobj
-6816 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 264.273 null ] >>
-endobj
-6817 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 253.314 null ] >>
-endobj
-6818 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 212.467 null ] >>
-endobj
-6819 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 201.508 null ] >>
-endobj
-6820 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 190.549 null ] >>
-endobj
-6821 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 179.59 null ] >>
-endobj
-6822 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 168.631 null ] >>
-endobj
-6823 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 157.672 null ] >>
-endobj
-6824 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 146.714 null ] >>
-endobj
-6825 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 135.755 null ] >>
-endobj
-6826 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 124.796 null ] >>
-endobj
-6827 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 113.837 null ] >>
-endobj
-6828 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 102.878 null ] >>
-endobj
-6829 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 91.919 null ] >>
-endobj
-6830 0 obj
-<< /D [ 6785 0 R /XYZ 81.077 80.96 null ] >>
-endobj
-6784 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F79 726 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6833 0 obj
-<< /Filter /FlateDecode /Length 1617 >>
-stream
-xڽZMoFWh7ff+P:F/MAaC2I%q.Ei?i/&MqμYft3WWJ$1 >=c!:c3b,SPfR.3MRB`& eR[&dYygaw//YUnUppug<J垽±GCU6/9{)S&Rq@/h\f)m[Qi)#a]^ۏmzj띗˦m@rG!3:q} 3vDh戴ḾHy>ڲYoE}}T}5Nޏsk?ռ򯟚=x`Dr!O IsD*LL-%Jt>/o\$'@sӸ8jUs ._ڪޣI FׁHϱ;,ɯ@7Ǡ:wiǧp՛vY:;8qxōg%FmDg(13  ف
-"x3 *( *TI4
-\Ix^Hx-\{=%hmnSHLoc'5'o\C@P "3Db<&EWE;?za9*M@pc}Լ׿'2(עoOotjww<a`Ȃ$hbvH+$rcGr1HA%4NGB
-&wjPNz.jtad/q pWsh%VJ$ht⚺4%V=A_]133‡
-#=t"řN4wŠL0Bg0IF(@<#42ùpF+/w u%=vS.mkD(=֮ƶ{B+zSپݢ)2# >KEQL{\KÝfWmwsGomx6Q|m&zBW9\<7=0[?_w7\VMWm~jM5y%
-endstream
-endobj
-6832 0 obj
-<< /Type /Page /Contents 6833 0 R /Resources 6831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-6834 0 obj
-<< /D [ 6832 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6835 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6836 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6837 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6838 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6839 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 705.071 null ] >>
-endobj
-6840 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 694.112 null ] >>
-endobj
-6841 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 683.153 null ] >>
-endobj
-6842 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-6843 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-6844 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-6845 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-6846 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-6847 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-6848 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-6849 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-6850 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-6851 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-6852 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-6853 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-6854 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-6855 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-6856 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-6857 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-6858 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-6859 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-6860 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-6861 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-6862 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-6863 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-6864 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-6865 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-6866 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-6867 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-6868 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-6869 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-6870 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-6871 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-6872 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-6873 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-6874 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-6875 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-6876 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-6877 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-6878 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-6879 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-6880 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-6881 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-6882 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-6883 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-6884 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-6885 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-6886 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-6887 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-6888 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-6889 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-6890 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-6891 0 obj
-<< /D [ 6832 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-6831 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6894 0 obj
-<< /Filter /FlateDecode /Length 1757 >>
-stream
-xZ]oF}ϯp*92?TQJ}ȓ
-a ^U{ÌI|J} V2sO<x#/ůRO820:.'d%DM$K2o&N%Z')b onO2+Yqy%~UX;*J`h{*rQZ$ٝ;pS~+f`1lm:|l]nA3ǘâ,(??GqnLjD4wtit}p/{({$ _\\m\vVSMͳe<xeTxX"* K^X:VQՍ K7IU/o0laj
-n"%E9W6U>uU"]g LEĕ]EaT|tP#NLуI2-|χ$qL\Us,iijY ĊbvX|{C4Ɖp|GI@a$s*N4nY0Bh:D]ИaLJEZ۠{i-#)]dX8UPE^qƌ0b!k *
-cCbWvD`0va
-0]QW(A900G 0]WWFl ߛ(F4-@+/ęֈ gf:k[SKKUق]ɷ2W=/ ̡|p}Ol@Bu10:>c[(e\8GNCfP @̤mAzel9NNu~^^1Ʀ2KYnEK<TO>adh3˸RcܝHʦI_m.wڅc&u;&S7p{]">$1A}h[4n=Жw=}j,xRP"hpC5JܽaMz*fUG;"m
-~ꪳ ~
-endstream
-endobj
-6893 0 obj
-<< /Type /Page /Contents 6894 0 R /Resources 6892 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-6895 0 obj
-<< /D [ 6893 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6896 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-6897 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6898 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-6899 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6900 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-6901 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-6902 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-6903 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-6904 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-6905 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-6906 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-6907 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-6908 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-6909 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-6910 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-6911 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-6912 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-6913 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-6914 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-6915 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-6916 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-6917 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-6918 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-6919 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-6920 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-6921 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-6922 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-6923 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-6924 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-6925 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-6926 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-6927 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-6928 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-6929 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-6930 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-6931 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-6932 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-6933 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-6934 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-6935 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 314.145 null ] >>
-endobj
-6936 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 303.186 null ] >>
-endobj
-6937 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 292.227 null ] >>
-endobj
-6938 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 281.269 null ] >>
-endobj
-6939 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 270.31 null ] >>
-endobj
-6940 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 259.351 null ] >>
-endobj
-6941 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 248.392 null ] >>
-endobj
-6942 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 237.433 null ] >>
-endobj
-6943 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 226.474 null ] >>
-endobj
-6944 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 215.515 null ] >>
-endobj
-6945 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 204.556 null ] >>
-endobj
-6946 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 193.597 null ] >>
-endobj
-6947 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 182.638 null ] >>
-endobj
-6948 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 171.68 null ] >>
-endobj
-6949 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 160.721 null ] >>
-endobj
-6950 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 149.762 null ] >>
-endobj
-6951 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-6952 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-6953 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-6954 0 obj
-<< /D [ 6893 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6892 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6957 0 obj
-<< /Filter /FlateDecode /Length 2252 >>
-stream
-xڭZ[o6~_a`N8]@Ŷ@Cv%Ws`6=}dIscv~uo?|BJf^D3<
-Q9HnǗk|7!o>/ͽ6|UeeoB-՟t$zk:B$RL)K*}1ަLqb&1,<R0m?E,I<VPuzw~5ۺ1(3D EŽ伬 FFD͛4iw77݊uVlOyOMƈD ME |XY}롪t{1H` J_
-eAc#!ˊ:[ V)T<iJy"5icWp6^Y+dW b}Ua֖|s$Aǰ˘A-"B87 E<3ˏ)qѱ@
-K-Z`
-DyDi*b>u|&}X>ObYUd/;3? {O%Pr"D$gA*Іwwzw}jޗudeQtꠃ)],@QtśJ1-MӬ/:0ѳa\ak_fE(<'{s=|@],'4O&2D Җ^0&6.uKpۧ  e1q]}LCoߣ7o:TT.QbYL4p7jWij'.~>e~"\LCQ.M |:LXZu4,D{˄~wl19$ p$bY:1"q,V
-r^5D8JX{hltYq]J;kdBa9Fʂmr§#;N/rw
-C(I¿nX{eLP.5&Q<ZQczFUA.wnRM@^v)vTcե7BNJxD)d@BT\SӶw$<dd7mcľ+oڒ~eheh)>sȪ搾BQ_;d?-au]Vғ O_d[2li}!$lBeS_peJjmwSK BY_U+Gl30> `:XF)Z_@xT_I}U6zX]B5f(RRA^C-)lHYXn3( p<$ E!we'y%)+`u4,&u|6 Nj <|dx FMȐe3&:P (QG_BuGC̺<nw~eC`g<~=h$2f.:xn'f2hnheq^N[}Ӧ *f+
- )*}
-2:agDȊŲ=!`?~QAQ0.Ջ̏6yl^uDʓlmxy%q5<t
-j:NRW$HEB14v+*ʠILtC`Qe<ߔy=F)Rs7Y_m WKe].,>#>6/eLe bZm;]xZ3S1x7cڔl/?B"Uߕ?<^q5`w
-ld}K{k(MYYC {oeM*{1' 1•(4Lg)3 -[YЯln
-^=y[{8*3u>BcbN\pɝB, &yţa<tJ~Ui㛣H+$!LC;=sy*jÎ<!_CQ>P,,c'g{u؏AJsD,9򈇝Yyhׇ$YEcڰ1a=n.0p"xtb:8ٸ${%" aK䢃 2P'=p>jQ4RXpg0{ B@eT,3mL
-endstream
-endobj
-6956 0 obj
-<< /Type /Page /Contents 6957 0 R /Resources 6955 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-6958 0 obj
-<< /D [ 6956 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6959 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-6960 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-6961 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-6962 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-6963 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-6964 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-6965 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-6966 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-6967 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-6968 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-6969 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-6970 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-6971 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-6972 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-6973 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-6974 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-6975 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-6976 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-6977 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-6978 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-6979 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-6980 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-6981 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-6982 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-6983 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-6984 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-6985 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-6986 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-6987 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-6988 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-6989 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-6990 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-6991 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 267.262 null ] >>
-endobj
-6992 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 256.303 null ] >>
-endobj
-6993 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 227.411 null ] >>
-endobj
-6994 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 216.452 null ] >>
-endobj
-6995 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 205.493 null ] >>
-endobj
-6996 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 194.534 null ] >>
-endobj
-6997 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 183.575 null ] >>
-endobj
-6998 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 172.616 null ] >>
-endobj
-6999 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 161.658 null ] >>
-endobj
-7000 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 145.717 null ] >>
-endobj
-7001 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 134.758 null ] >>
-endobj
-7002 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 123.799 null ] >>
-endobj
-7003 0 obj
-<< /D [ 6956 0 R /XYZ 81.077 112.841 null ] >>
-endobj
-6955 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F77 539 0 R /F68 189 0 R /F64 183 0 R /F79 726 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7006 0 obj
-<< /Filter /FlateDecode /Length 2136 >>
-stream
-xZo6~߿@NF7<7iEEhn(䕔M7$ett>DOf8f8|r7'?ˇ돋wHFZ&w<Q9\b;w SV-X?_
->{ܺmcF</E}3y0I(\"h *VMuk.kw ;p.Dd_Ý~z30Yh ,
-zUw吱xT`Wt 'ИںֻK/QD$ʹ҆ 2?OC(j6 dVfy(.]
-G*8hä+,RƳ0m Ʋ]^zs$  ctP*ڰ όbw #3$iCt0JsV)tY#\ <aޮoe@i~ѧ!*L<qm .6<(衂˶[qO ݈zl #GY>ong7fNRzL:-BBcӂ:3uA9#,e
-CdUp{1AZTQӔD|Lgr۴[ۻ|ksTiwDn] nܝ}INWZZ#^d57H}c*(W#i_:1p{߽zZq8tȉd3ٷlsF]<_gܕ=8~:8
-|m8*׾L
-O*fs />M:
-BJ3:FPتo>#3[<>WriF4,2ͦ=CI ,Twp3\MjHuJ
-| 3U (INlĶWJ3ep`} 7UGf,լ~hakPD\VKLŽct)/sAg?\DKZ]ʪE0rI5#y&{R["4Bt`m"Lgyo Lf 
-"e!:ybaQ?wZ/Bz):nB"(pZ(mK˜*DW^`"p^i1IjjDg3-?i݁LzE4 / $|X% ~bV QcOLPCr o^cD)_iݳ{qI ˑ8fx?<
-endstream
-endobj
-7005 0 obj
-<< /Type /Page /Contents 7006 0 R /Resources 7004 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-7007 0 obj
-<< /D [ 7005 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7008 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-7009 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-7010 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-7011 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-7012 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-7013 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-7014 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-7015 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-7016 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-7017 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-7018 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-7019 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-7020 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-7021 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-7022 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-7023 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-7024 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-7025 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-7026 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-7027 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-7028 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-7029 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-7030 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-7031 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-7032 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-7033 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-7034 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-7035 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-7036 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-7037 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-7038 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-7039 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-7040 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-7041 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-7042 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-7043 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 255.756 null ] >>
-endobj
-7044 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-7045 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-7046 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-7047 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-7048 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-7049 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-7050 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-7051 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-7052 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-7053 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 146.167 null ] >>
-endobj
-7054 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-7055 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-7056 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-7057 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-7058 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-7059 0 obj
-<< /D [ 7005 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-7004 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7062 0 obj
-<< /Filter /FlateDecode /Length 1702 >>
-stream
-xڽZKoFW7;F6~P)
-I&wّT[HyR.2\uO/l$0'zswSjpYZ EBa\bt:Bq1P`p !2'kb&AFes\6x[ v]f;?zϛx'/.y;o Xv&}?)ߖ/b KBlԣ029 -I@}66\S ^;e6fn$`PqBbphe+)73XK:6a 0"1zKKЪY]MlnB201zK񪵕ݢ\_0jIc菫]cen{=mpUSnx3'N\D[=yYqzYmg0] S01>  N1S8ڂMCQX8 .a P#w1an!Focə݋},);ĴA<L-\&KmNpEk^a]͟uelMՕ,iH>(y`A *A_fs[ٞڮ"{xȅXt}i;SB"  9ƅzJO)+=LF$}zXkk?F/WP^eH N*Q4U)+30B
-VTt(on
-1A.ȣ#=NS"+:v{7ygwc R$EAIP=˿qC7N:ޑﳳ
-Et
-endstream
-endobj
-7061 0 obj
-<< /Type /Page /Contents 7062 0 R /Resources 7060 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-7063 0 obj
-<< /D [ 7061 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7064 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7065 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7066 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7067 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7068 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7069 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7070 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7071 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-7072 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-7073 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-7074 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-7075 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-7076 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-7077 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-7078 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-7079 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-7080 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-7081 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-7082 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-7083 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-7084 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-7085 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-7086 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-7087 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-7088 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-7089 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-7090 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-7091 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-7092 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-7093 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-7094 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-7095 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-7096 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-7097 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 353.39 null ] >>
-endobj
-7098 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 342.431 null ] >>
-endobj
-7099 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 331.472 null ] >>
-endobj
-7100 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 320.513 null ] >>
-endobj
-7101 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-7102 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-7103 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-7104 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-7105 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-7106 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-7107 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-7108 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-7109 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-7110 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-7111 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-7112 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-7113 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-7114 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-7115 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-7116 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 145.17 null ] >>
-endobj
-7117 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 134.212 null ] >>
-endobj
-7118 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 123.253 null ] >>
-endobj
-7119 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 112.294 null ] >>
-endobj
-7120 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 101.335 null ] >>
-endobj
-7121 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 90.376 null ] >>
-endobj
-7122 0 obj
-<< /D [ 7061 0 R /XYZ 81.077 79.417 null ] >>
-endobj
-7060 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7125 0 obj
-<< /Filter /FlateDecode /Length 4624 >>
-stream
-x]mo#~BZ;iѢ PzߒIk[,uA{|RZkKRmi43gfv?kf߾i_"+훿o b l fFgFEL+JEgg](}bSnT6r\=?\\^I&{{|p 9enen?&Tв!a1hS4 z}n]:fh
-cu1ckӼ{xv!Rjӥ{<Fys5&f5"`2M&l0Wnn/ j˜DX0ȭnaJŶٴYC`.}3-njPV"]o;ׯ去( >eE]:kb^}+ OȺP*\"n:ňUv񴛥(WyWDXĉRʬoY0a`L%cn^o/;X@ab5V{Wntv1WۻAg>]n]X>ͧԽɳwnYm\^)@W7<_=(]
-
-Ȕ%
-|exN~9֊Hy,)DZ+ Q6= Cf,e^WjfURZfj_X\TQ0Ї) "UF>lfo͢lve"9ʯUR%: ^<GC%Wj]I AG`x*B\|EO!eBT+
-"XBp"B16+ؘؾ~K7
-4`' I 'tN@e*
- \t:BجS מXh-4ځџ,4ϩLJМqRX:pNԮ I={+i 6:񝰠B4l#4>X``ട00GQ儡Pz˫h.,v^n+={˫hZxhZ&V:4Z"͹ui|7i؏){0|<Rj%&1T26$~Fh OUλC]oZٯ;A*b
-zU!wug$:Dl݇]F[-Os`y2Nx޷A//nⒹ~WK'qK]Yzrc4c f?*^Ç w4jP*7FL`8|7#aa}J04D(ߥ#4$x*DA$E8%0e8%X4/rJ} ꞡЁSb%Z39uݫP
-_k@_4Sg(nOE?hg_x~)O><=I蹲Ibk9@y*>5 ~(9uS? t:_@MCk@b
-TH鶃|jKL}%fP40%l3 ~,sCW d^L Ż)W$}!Kn VO(UrCak琨+, c-WpHo!Q4;’0C-ap_ (di;XnFwol73ĊFrW 7, a€S|cX
-be7ߑI.Af %!8+DzJ+kƥ,)綠5yd Œ 6!z &wG)wZXwYuQiP]x)^H4 j;aQGڐ4c@OFqib R*{BH}@>fFR2Ok01/<f]FQ
-lyȑ*4q"jQp5R!q9 2Q<]B-G>`$Q7':4]BP6.M!\f,6w ⱃEdao7#
-ݒ9}gy:jlZBntvko1m77=Ovu D@8m DOmsk[mSuSfF{1Lhc.dصvyWjnm{Po3l݁hf׮nܯz^<Y?z~^\Z->^qn5*u'e|Ŷ+WP@| |۞q11uemw ;Z"-Xhvˬ_z0\oew׌Dws'] [χ1aӆpO.llr>>wT9)-nnO*a0tf)[uff]=CºRaYu(6?XE]w;0q_sM24"uun׷$.e^=o!*ثPC8
-[==O(-P]T%^fÎ˯o. hŮ﷛ &wjXR ;Pҋ_8+Ce
-$cq 9
-endstream
-endobj
-7124 0 obj
-<< /Type /Page /Contents 7125 0 R /Resources 7123 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-7126 0 obj
-<< /D [ 7124 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7127 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7128 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7129 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7130 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7131 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7132 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7133 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7134 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7135 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7136 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-7137 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-7138 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 427.707 null ] >>
-endobj
-7139 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 416.748 null ] >>
-endobj
-7140 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 405.789 null ] >>
-endobj
-7141 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 394.831 null ] >>
-endobj
-7142 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 383.872 null ] >>
-endobj
-7143 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 372.913 null ] >>
-endobj
-7144 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 361.954 null ] >>
-endobj
-7145 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 350.995 null ] >>
-endobj
-7146 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 340.036 null ] >>
-endobj
-7147 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 329.077 null ] >>
-endobj
-7148 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 318.118 null ] >>
-endobj
-7149 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 307.159 null ] >>
-endobj
-7150 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 296.2 null ] >>
-endobj
-7151 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 285.242 null ] >>
-endobj
-7152 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 274.283 null ] >>
-endobj
-7153 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-7154 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-7155 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-7156 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-7157 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-7158 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-7159 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-7160 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-7161 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-7162 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-7163 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-7164 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-7165 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-7166 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7167 0 obj
-<< /D [ 7124 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7123 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F34 1778 0 R /F27 638 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7170 0 obj
-<< /Filter /FlateDecode /Length 2451 >>
-stream
-xڭZ]o:﯈tT;u'JY휣ŪwgI@~L5}_c06$837?7,vWׇ"1GA "g(x1G>`6P,l0&
-i좿`dmw٪WROe9DžpqQ]zdz $G xx7c5 YQ?!|ݍju0?4=v,(p_=ϻjU1'1攅Sro'!FB$ +F嗀"k{T>j9N}ݔ\+vS{uR Jb"<"e4<+= X4P^KI0MK VB&l䪑6>Kd—b^?#yd&^NA]XMmʇ(L7o"D8 EGFMSHk0-ܐW08cϛO_ȴ0&RՒ
-
-%eAcT$²bgbw$BQ !yJ8bT{l^V ֊]SG8BBFQq. $(h#혋s'ԸYfmT~K՝7
-Yc$ѸIZ]_gmkf㡱:]RZ4 Q<4=i];I*B}/aה D&e~Y3;HN,f^1䠭daYy_ߓVV#cZٶN԰QD~Tkp3(%2ɿF:`&dS;/tl.;`Ka1?FEv~M_5-a 1Nhڈ!kA63c/SVTՃV *fzE!bC/sжb)~JXg0:/?~L ϩ46Ȃ.D誖m8㜗% S_skxh2ν2=V
-?Btb1=3//S7ȚSSycPCfJBF lsw[Y7`UYl}SkbeJK:bw"[mTW!1;ǐsn"3> :JǢLlc ]nr;& Gc}i:6y/Q'8[s8f moOߪK-xISUٮd]g>]!bP9̜k8FKl9UBf>q M#/젽3L:D\6 nR>'ܖ/2w)»Ä#1N~i n|SLvf;2-b+|\!
-qLA υ~NmF&ԋ >N>[')X%d6疠N&b
-t!jBPܻ<pkfq!
-endstream
-endobj
-7169 0 obj
-<< /Type /Page /Contents 7170 0 R /Resources 7168 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-7171 0 obj
-<< /D [ 7169 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7172 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7173 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7174 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 707.847 null ] >>
-endobj
-7175 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 696.888 null ] >>
-endobj
-7176 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 685.929 null ] >>
-endobj
-7177 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 674.97 null ] >>
-endobj
-7178 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 623.093 null ] >>
-endobj
-7179 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 612.135 null ] >>
-endobj
-7180 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 601.176 null ] >>
-endobj
-7181 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 590.217 null ] >>
-endobj
-7182 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 579.258 null ] >>
-endobj
-7183 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 568.299 null ] >>
-endobj
-7184 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 557.34 null ] >>
-endobj
-7185 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 546.381 null ] >>
-endobj
-7186 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 535.422 null ] >>
-endobj
-7187 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 524.463 null ] >>
-endobj
-7188 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 513.504 null ] >>
-endobj
-7189 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 502.546 null ] >>
-endobj
-7190 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 491.587 null ] >>
-endobj
-7191 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 480.628 null ] >>
-endobj
-7192 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 469.669 null ] >>
-endobj
-7193 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 458.71 null ] >>
-endobj
-7194 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 447.751 null ] >>
-endobj
-7195 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 385.77 null ] >>
-endobj
-7196 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 374.811 null ] >>
-endobj
-7197 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 363.852 null ] >>
-endobj
-7198 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 352.893 null ] >>
-endobj
-7199 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 341.934 null ] >>
-endobj
-7200 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 330.975 null ] >>
-endobj
-7201 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 320.017 null ] >>
-endobj
-7202 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 309.058 null ] >>
-endobj
-7203 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 298.099 null ] >>
-endobj
-7204 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 287.14 null ] >>
-endobj
-7205 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 276.181 null ] >>
-endobj
-7206 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 265.222 null ] >>
-endobj
-7207 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 254.263 null ] >>
-endobj
-7208 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 243.304 null ] >>
-endobj
-7209 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 232.345 null ] >>
-endobj
-7210 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 199.327 null ] >>
-endobj
-7211 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-7212 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-7213 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-7214 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-7215 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-7216 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-7217 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-7218 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7219 0 obj
-<< /D [ 7169 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7168 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F77 539 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7222 0 obj
-<< /Filter /FlateDecode /Length 2095 >>
-stream
-xڽZ[o6~ϯ0/p;i`;]`BPl:F\INt~{E'1=D#s9t,| O7>5cH+Lf}aR23%r&FsA?~-
-~-o"t+8cL_cZ 07>mo Iu[¤,B+oE|S6BqD28h+S9ߥneV,G/(Rw3]h!JNіQ[w6ಏ#;uW0ʤٺ5utEHOF&s=`ư7?qo!ԍ9c0x=NECt@| WjOcaдO8nSjr>bhy٦YJ_[=fxiD8j⪋dV`9O%(1Ƞ(t|^{QJ\r$DE
-ğ[Wn|J(+Kn{fdkQO ~
-Vbl4ϗY6rf[nȎ-^Wxj-?9S&1ʔ D4ImlNzU^f=Cp^!VCt 0ַ%k+_ݚc0xE 5`Pu 2o3hyK7'l~<+ gț~jSGJP8d-گIKA|>XbusTdx(| ǡ<>f5zemG9gSWaS“uỵYB=,1o6[> ? o͸hUQp)T
-yŽJՎ9E{B!N8SD ڣ4
-do+[ٓU @UUEfE(o>D 5Q' 6"!.͢n"|=;Dzޭ8DC;ui>L9"AO-b—ZFgߛsUStÝ~rz]}s =gH:N)z"yܥY},IU"xy(E\ ,K~ {c1'
-endstream
-endobj
-7221 0 obj
-<< /Type /Page /Contents 7222 0 R /Resources 7220 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6783 0 R >>
-endobj
-7223 0 obj
-<< /D [ 7221 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7224 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7225 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-7226 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-7227 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 725.992 null ] >>
-endobj
-7228 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 715.033 null ] >>
-endobj
-7229 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 704.075 null ] >>
-endobj
-7230 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 693.116 null ] >>
-endobj
-7231 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 682.157 null ] >>
-endobj
-7232 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-7233 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-7234 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-7235 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-7236 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-7237 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-7238 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-7239 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-7240 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-7241 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-7242 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-7243 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 461.533 null ] >>
-endobj
-7244 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 450.574 null ] >>
-endobj
-7245 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 439.615 null ] >>
-endobj
-7246 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 428.656 null ] >>
-endobj
-7247 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 417.697 null ] >>
-endobj
-7248 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 406.738 null ] >>
-endobj
-7249 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 395.78 null ] >>
-endobj
-7250 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 329.03 null ] >>
-endobj
-7251 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 318.071 null ] >>
-endobj
-7252 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 307.112 null ] >>
-endobj
-7253 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 296.153 null ] >>
-endobj
-7254 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 285.194 null ] >>
-endobj
-7255 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 274.235 null ] >>
-endobj
-7256 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 263.276 null ] >>
-endobj
-7257 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 252.318 null ] >>
-endobj
-7258 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 241.359 null ] >>
-endobj
-7259 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 225.418 null ] >>
-endobj
-7260 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 214.46 null ] >>
-endobj
-7261 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 203.501 null ] >>
-endobj
-7262 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 192.542 null ] >>
-endobj
-7263 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 181.583 null ] >>
-endobj
-7264 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 170.624 null ] >>
-endobj
-7265 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 159.665 null ] >>
-endobj
-7266 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 148.706 null ] >>
-endobj
-7267 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 137.747 null ] >>
-endobj
-7268 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 104.87 null ] >>
-endobj
-7269 0 obj
-<< /D [ 7221 0 R /XYZ 81.077 93.912 null ] >>
-endobj
-7220 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F79 726 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7272 0 obj
-<< /Filter /FlateDecode /Length 2238 >>
-stream
-xڵZmo6E? \S Ep.(
-t CX,$9i6LZc:/D!g!f'߿_.߽@D#-w> ((Idr<\g9rz]E5j7#f"i̋).
-[|5d4oU_e]dWִ=6_. QO4#_F8J4 QQ!dU-(q+!IKΔDeUT8Hi[s ;g%0`(ۦ68rV+2;(0!
-#a$kЄL&07H$ ""-HNml
-FJ1 ]|4]Yg< ZݤPGE{[ѓuڬ$MԎ <vCriStދc;p(( ]y]ře_X-ƈA#Asøq02Zdžiqs3Qq!@-$ D:oP.rt|;ReDžCZo1p,m}z-IHCbTqߡ#
-MMBpOU
- Dȗ`ml_V./S
-^ITpp]w⩧x!QfΛP̀9)p5 ~֚ك'ō$J
-NTF@#(86}eceEm
- s5ty3S*NVGfO5Oԉ nIN>:ɎC|AJ; mզ!_rx
-vjLչ[N}¾'"[=}ZV91#zm:vH9ᆉn2b#|;
-endstream
-endobj
-7271 0 obj
-<< /Type /Page /Contents 7272 0 R /Resources 7270 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7273 0 obj
-<< /D [ 7271 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7274 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-7275 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-7276 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-7277 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 705.071 null ] >>
-endobj
-7278 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 694.112 null ] >>
-endobj
-7279 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 683.153 null ] >>
-endobj
-7280 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-7281 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-7282 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-7283 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-7284 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-7285 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-7286 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-7287 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-7288 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-7289 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-7290 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-7291 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-7292 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-7293 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-7294 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-7295 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-7296 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-7297 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-7298 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-7299 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-7300 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-7301 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-7302 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-7303 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-7304 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-7305 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-7306 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-7307 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-7308 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-7309 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-7310 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-7311 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-7312 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-7313 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-7314 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-7315 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-7316 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-7317 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-7318 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 145.17 null ] >>
-endobj
-7319 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 134.212 null ] >>
-endobj
-7320 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 123.253 null ] >>
-endobj
-7321 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 112.294 null ] >>
-endobj
-7322 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 101.335 null ] >>
-endobj
-7323 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 90.376 null ] >>
-endobj
-7324 0 obj
-<< /D [ 7271 0 R /XYZ 81.077 79.417 null ] >>
-endobj
-7270 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7328 0 obj
-<< /Filter /FlateDecode /Length 2473 >>
-stream
-xZ]6}ϯ00?nm@ӗYCS͉Ȓ#˝NoKH#N/E璗³3<(g}{fiE=#P L $IAdv<\{xL!-S!P$1zg7˺7hYݼqGw]^fL<l>$[^͢1EcVfo4" 4!z_}}O曅i~d͗~֛L?$Qa2Af1ڵ{g DjĠ9o@ 1˲~A>O<}QժXޯM6{ԺP|Q;4Uݶf5ic J"t
-2ŏ
-As(jkW2i6]Pmζnҕvvs>{2Ug~5j*wPZ`-(~&Ueрch7s3PA@d09iHAG9Bui +<Ǖ6Q} kSlKU?7:i gǤѼ9o!`X9~H4oB$
-I<qITX˶ؖŲh+v3mW*LJ$eR'm("/%H*=pM׿KgYr!#t'&z,,s+pV\) aț4kUl\,^:QyNA2 ɕLQ$F_0$ +R!o*mPBm3Hƴ#ʕٰ)fHIWL#M\c尸5B_sA uBԑjexL1.Ҷu5m׻p3^u2nKჷ+`K
-v
--NJ'١xJ]:!9א;uSj ^ҋ@Ou}mewۧPXδVxյ٭*tj.SrMMdqȠ BI SئdZ.3H~] ̫AcQ4HlP`ks"iPSfRR$níNdOEҒ^;}会IL\4vfLH\3B? gB_F|Sg W4%rgۦnw* ]/\/# EL [ /LKvp&c +weC!9kwZvz: NnwkεN%CYvкӀ@k_ذ JrW ##4p_n4Άtonf?
-DD%"wTv[lh] _cQ\ALxܨ˪@2ɸ64Gք#.os*Izb CHKj# oU,&؅9VŮm")8{;_LjbHTZf-Ei S-uoj'락9igW`O(f{̈۸f+\7rqJ"F×2$hl(i|.MfkvB&@fd +Gs\Rǘb7 ?rS܇>.J }:$bWsR3PHuD4})ޭJ:_i2FtC%r^oMc^t)xDe?ʽO߷~!+D@i`X"pQ іc-qE|ܽ~睹nTATHKzJ #};RIcRMHhOSimg"I"t?ju}a4:N<' "t!6~*/Tbt hv|c|8-tW됌"Ƈ`Ee7Ӵr<|x*8D $Z^&.`2A<0p]U /(?ѐ!Vq яOKEk2
-ei=D'%ʸN[ BprpƆӾݾWl  m?Olwj! D
-endstream
-endobj
-7327 0 obj
-<< /Type /Page /Contents 7328 0 R /Resources 7326 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7329 0 obj
-<< /D [ 7327 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7330 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7331 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7332 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7333 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7334 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 695.108 null ] >>
-endobj
-7335 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 684.149 null ] >>
-endobj
-7336 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 673.19 null ] >>
-endobj
-7337 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 618.396 null ] >>
-endobj
-7338 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 607.437 null ] >>
-endobj
-7339 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-7340 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 585.519 null ] >>
-endobj
-7341 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 574.56 null ] >>
-endobj
-7342 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 563.601 null ] >>
-endobj
-7343 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 552.642 null ] >>
-endobj
-7344 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 541.684 null ] >>
-endobj
-7345 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-7346 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-7347 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-7348 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-7349 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-7350 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-7351 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-7352 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-7353 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-7354 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-7355 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-7356 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-7357 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-7358 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-7359 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-7360 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-7361 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-7362 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-7363 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-7364 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-7365 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-7366 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-7367 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-7368 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-7369 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-7370 0 obj
-<< /D [ 7327 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-7326 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7373 0 obj
-<< /Filter /FlateDecode /Length 1829 >>
-stream
-xڽZo6~_/Z-bRl0mVb-Ir4%S:7KHxwdfB'hyqى%Vs-'3M"KD44#Tb3kX3nG4M&-y4mY>}4ͳCt뚧JM|uM/]uR%&
-o
-M$.[9qv4Uwu:NljC4y
-OޠrF~A|gL4޶0L9Eɤ
-w[O;2ɳ~ҥÀpW?3PBn5@J#ҨpAJ#.Tҧ(Vi|hT4X!{#wXC5h
-endstream
-endobj
-7372 0 obj
-<< /Type /Page /Contents 7373 0 R /Resources 7371 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7374 0 obj
-<< /D [ 7372 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7375 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-7376 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-7377 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-7378 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-7379 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-7380 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-7381 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-7382 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-7383 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-7384 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-7385 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-7386 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-7387 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-7388 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-7389 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-7390 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-7391 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-7392 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-7393 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-7394 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-7395 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-7396 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-7397 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-7398 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-7399 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-7400 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-7401 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-7402 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-7403 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-7404 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-7405 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-7406 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-7407 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-7408 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-7409 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-7410 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-7411 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-7412 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-7413 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-7414 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-7415 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-7416 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-7417 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-7418 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 241.808 null ] >>
-endobj
-7419 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 230.849 null ] >>
-endobj
-7420 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 219.89 null ] >>
-endobj
-7421 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-7422 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 197.972 null ] >>
-endobj
-7423 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 187.014 null ] >>
-endobj
-7424 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 176.055 null ] >>
-endobj
-7425 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-7426 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 154.137 null ] >>
-endobj
-7427 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 143.178 null ] >>
-endobj
-7428 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-7429 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 121.26 null ] >>
-endobj
-7430 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-7431 0 obj
-<< /D [ 7372 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-7371 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F30 644 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7434 0 obj
-<< /Filter /FlateDecode /Length 1684 >>
-stream
-xZKoFWFFS=[RLK%Ҡ(iY-
-Q!H~;3}>췏e8͵Fg Ќea2eU%- aE~s.X^|_x_eUCJNu\e5x>WIuź]]Mw7l4EGh.6e[Ux@xȷ
-
-u=3h
-#{ebcGoFWK选m;%}3Hi-<򷱨$LxGh8Jo/ߖ
-i;R)bd<PB(A?»NJbl?QlJ o/|$nĚo%J$>y‰e*xzPo=sIh‚TpZ o$ Z0$pnʓ' vy&"8s.dB2u)f(U߾EBsC4ޑ"9R% H2 (p|8*r H/zJ$Qy9\E FS>O S6gjܔhvkIdEIj޿J@ WrR hJq{?Dm M$hm0]Mѽ`ew,1Bj=xuhP~M2 ѶF;LSbU&>#A)QkjQ:*A0ר5u䆸5(Qǘ#żfn$QjBcD*A)+ÝGPT %:+ BpQCk'# w5C>[%(ZgBzv E75:zLK
-endstream
-endobj
-7433 0 obj
-<< /Type /Page /Contents 7434 0 R /Resources 7432 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7435 0 obj
-<< /D [ 7433 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7436 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 700.629 null ] >>
-endobj
-7437 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 689.67 null ] >>
-endobj
-7438 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 678.711 null ] >>
-endobj
-7439 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 667.753 null ] >>
-endobj
-7440 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 656.794 null ] >>
-endobj
-7441 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 645.835 null ] >>
-endobj
-7442 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 634.876 null ] >>
-endobj
-7443 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 623.917 null ] >>
-endobj
-7444 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 612.958 null ] >>
-endobj
-7445 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 601.999 null ] >>
-endobj
-7446 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 591.04 null ] >>
-endobj
-7447 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 580.081 null ] >>
-endobj
-7448 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 569.122 null ] >>
-endobj
-7449 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 558.163 null ] >>
-endobj
-7450 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 529.272 null ] >>
-endobj
-7451 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 518.313 null ] >>
-endobj
-7452 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 507.354 null ] >>
-endobj
-7453 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 496.395 null ] >>
-endobj
-7454 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 485.436 null ] >>
-endobj
-7455 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 474.477 null ] >>
-endobj
-7456 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 463.518 null ] >>
-endobj
-7457 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 452.559 null ] >>
-endobj
-7458 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 441.601 null ] >>
-endobj
-7459 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 430.642 null ] >>
-endobj
-7460 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 419.683 null ] >>
-endobj
-7461 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 408.724 null ] >>
-endobj
-7462 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 397.765 null ] >>
-endobj
-7463 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 386.806 null ] >>
-endobj
-7464 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 370.866 null ] >>
-endobj
-7465 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 359.907 null ] >>
-endobj
-7466 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 348.948 null ] >>
-endobj
-7467 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 337.989 null ] >>
-endobj
-7468 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 327.03 null ] >>
-endobj
-7469 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 316.071 null ] >>
-endobj
-7470 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 305.112 null ] >>
-endobj
-7471 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 294.154 null ] >>
-endobj
-7472 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 283.195 null ] >>
-endobj
-7473 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 272.236 null ] >>
-endobj
-7474 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 261.277 null ] >>
-endobj
-7475 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 250.318 null ] >>
-endobj
-7476 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 239.359 null ] >>
-endobj
-7477 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 228.4 null ] >>
-endobj
-7478 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 217.441 null ] >>
-endobj
-7479 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 201.501 null ] >>
-endobj
-7480 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 190.542 null ] >>
-endobj
-7481 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 179.583 null ] >>
-endobj
-7482 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 168.624 null ] >>
-endobj
-7483 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 157.665 null ] >>
-endobj
-7484 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 146.706 null ] >>
-endobj
-7485 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 135.748 null ] >>
-endobj
-7486 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 124.789 null ] >>
-endobj
-7487 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 113.83 null ] >>
-endobj
-7488 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 102.871 null ] >>
-endobj
-7489 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 91.912 null ] >>
-endobj
-7490 0 obj
-<< /D [ 7433 0 R /XYZ 81.077 80.953 null ] >>
-endobj
-7432 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 726 0 R /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7493 0 obj
-<< /Filter /FlateDecode /Length 2247 >>
-stream
-xڭZKoHW~$,6 hT[`|W]]*
-/xG$ۋ>H(SIxAJ"IE* ’,n%RoBLJ`b!?`N
-di™J>/iO(.$5b鄉,4y7+NOs; 4mn3dX?~zҺMq;I28v )wnwZB +-yWLcp?<잖%Ho%д}G4}Mmo,toedY) Ս>jkܿ7b$]-OdD)). {0:E*q0Wy HZx\=4uWbs}
- ]_B
-ǰQ8ԛ q,Rþ:pxc%)gՌ\+6NB^K58r`{0&R,iH}-ò:@k#v{ȟVMyo^GKn#EQFi*/7x\ä-]Sm &_V`?D1
-C(eӻ` [9aOx b_3[~iu`+3)?Q
-Zur
-`/|цd:qJÓŽ?r7F_yc/X_wk 4:;t>9 Q}VV/x{C @N1Gũ |/<u1iaz/)]|w7zpy14ˏdoEq 8()c`x/10^{{jGZ E}Qe̯&بMi9ooBx#s#wpFJEU+y|/A
- QEDþi$C
-endstream
-endobj
-7492 0 obj
-<< /Type /Page /Contents 7493 0 R /Resources 7491 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7494 0 obj
-<< /D [ 7492 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7495 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7496 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7497 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-97 0 obj
-<< /D [ 7492 0 R /XYZ 79.37 722.92 null ] >>
-endobj
-7498 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 614.786 null ] >>
-endobj
-7499 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 603.827 null ] >>
-endobj
-7500 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 561.718 null ] >>
-endobj
-7501 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 550.759 null ] >>
-endobj
-7502 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 539.8 null ] >>
-endobj
-7503 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 528.841 null ] >>
-endobj
-7504 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 517.882 null ] >>
-endobj
-7505 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 506.923 null ] >>
-endobj
-7506 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 495.964 null ] >>
-endobj
-7507 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 485.006 null ] >>
-endobj
-7508 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 474.047 null ] >>
-endobj
-7509 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 463.088 null ] >>
-endobj
-7510 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 452.129 null ] >>
-endobj
-7511 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 441.17 null ] >>
-endobj
-7512 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 430.211 null ] >>
-endobj
-7513 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 419.252 null ] >>
-endobj
-7514 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 408.293 null ] >>
-endobj
-7515 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 397.334 null ] >>
-endobj
-7516 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 368.929 null ] >>
-endobj
-7517 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 357.971 null ] >>
-endobj
-7518 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 305.655 null ] >>
-endobj
-7519 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 294.696 null ] >>
-endobj
-7520 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 283.738 null ] >>
-endobj
-7521 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 272.779 null ] >>
-endobj
-7522 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 261.82 null ] >>
-endobj
-7523 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 250.861 null ] >>
-endobj
-7524 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 239.902 null ] >>
-endobj
-7525 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7526 0 obj
-<< /D [ 7492 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7491 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F78 650 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7529 0 obj
-<< /Filter /FlateDecode /Length 1797 >>
-stream
-xڽYKoFWȡPm)(P'=4@˔MD"RK ;YCq}닏̍qk9^\08"hFfrlEV7 *kpR|[/*o˺;:˫pTEX,ofYl~{NfOcn:ǖE{bކ1ymY%lY,z W
-ȫ"[]
-P.) A4pR]n
-L+T~|+|aB.gjnz* ʥx*sumirS܆hyg bdkZ#2N-6D9%ʧXk;Y&D33Dx҆trdaZ!qJp)k)"_nx:hM Gk2rt8CgRV{ԳxJ~4u<kE5\vlűwlӫL~?&ȟё[r洂&wE)E2qQE
-A蹥$88rnGv)\r1:m_2Ziw^)t<,QJRMY/|8':V$`#8>nj
-%[ _Oh6ydcc1HY-ɧp'y\vq[T{h*눡)Xbd_n!:қJ8&C Ī6/ݦ4<&nphVRctR^]+R~1j z0 ڍk \8?'T7H?_
-wbNbナ{AmIГG=l= ӄD#V ,BI25PGFu 440q1%HSdԜ0[~ ؼ1 {c<tӅ 8jy>uQ.
-24I$l}O8Z߷_WOVA2!,JER69F_~c((x ‚1T0ҍF5XCY5{eM"4rk1Ps+PIk Q*BfRK}_-!` 76T*iq>"(Hu8_蹹޿N $c
-X%ɕǧ* uPq^Zo}~pENl2kXHڽ}gp!NJA(SM{3ǃؘDM@VK l[3= )hYCJnʒCI]k ZK9о2G>'htdа2[NP3Ay/|pzƠ]s.`>asg+ A'*hoc2D :Q!c[,ƀ3g4 LI͑5ԣ%O5AoP%I)hЬJi}j'^Tјz`Fo hEYAAj h2p3 =2C*Y"oᅆAHRLlm:
-endstream
-endobj
-7528 0 obj
-<< /Type /Page /Contents 7529 0 R /Resources 7527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7530 0 obj
-<< /D [ 7528 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7531 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 707.063 null ] >>
-endobj
-7532 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 696.104 null ] >>
-endobj
-7533 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 685.146 null ] >>
-endobj
-7534 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 674.187 null ] >>
-endobj
-7535 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 663.228 null ] >>
-endobj
-7536 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 652.269 null ] >>
-endobj
-7537 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 641.31 null ] >>
-endobj
-7538 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 630.351 null ] >>
-endobj
-7539 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 619.392 null ] >>
-endobj
-7540 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-7541 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 597.474 null ] >>
-endobj
-7542 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 586.515 null ] >>
-endobj
-7543 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 575.556 null ] >>
-endobj
-7544 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 564.598 null ] >>
-endobj
-7545 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 553.639 null ] >>
-endobj
-7546 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 542.68 null ] >>
-endobj
-7547 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 531.721 null ] >>
-endobj
-7548 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 520.762 null ] >>
-endobj
-7549 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-7550 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-7551 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-7552 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-7553 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-7554 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-7555 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-7556 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-7557 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-7558 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-7559 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-7560 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-7561 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-7562 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-7563 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-7564 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-7565 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-7566 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-7567 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-7568 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-7569 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-7570 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-7571 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-7572 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-7573 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-7574 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-7575 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-7576 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-7577 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-7578 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-7579 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-7580 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-7581 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-7582 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-7583 0 obj
-<< /D [ 7528 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-7527 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F27 638 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7586 0 obj
-<< /Filter /FlateDecode /Length 1811 >>
-stream
-xڭY[o6~ϯYIPk X=- ;-Ė<Yi;)Z[4ڇJ|<<rGpwE>]$DFGw+/i$Q#% ’6Ra2w-
-܈^hvT#gLJAse(^&[* DTJ/[aQ-[&1l5L6<D1xzlB]h+'P *A x[)SxQՄsQ.&וm][ϫY]qDPg][ٮbUen׫L)sfuuJAQ΁28t0c
-̱c2ԎЩEq'hq͠-3o2 g{
-zM{R)
-=F:^{@S)c`Sڻ4rY)AX>hЁHVf>=zJ{RQ8I#=Q
-8'Gt2>fBi_veNUATiMM=8{j*#<SAV4
-%Y9
-endstream
-endobj
-7585 0 obj
-<< /Type /Page /Contents 7586 0 R /Resources 7584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7587 0 obj
-<< /D [ 7585 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7588 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7589 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7590 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7591 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7592 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7593 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7594 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7595 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7596 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-7597 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-7598 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-7599 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-7600 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-7601 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-7602 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-7603 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-7604 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-7605 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-7606 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-7607 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-7608 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-7609 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-7610 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-7611 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-7612 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-7613 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-7614 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-7615 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-7616 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-7617 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-101 0 obj
-<< /D [ 7585 0 R /XYZ 79.37 366.789 null ] >>
-endobj
-7618 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 271.907 null ] >>
-endobj
-7619 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 231.06 null ] >>
-endobj
-7620 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 220.101 null ] >>
-endobj
-7621 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 209.142 null ] >>
-endobj
-7622 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 198.183 null ] >>
-endobj
-7623 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 187.225 null ] >>
-endobj
-7624 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 176.266 null ] >>
-endobj
-7625 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 165.307 null ] >>
-endobj
-7626 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 154.348 null ] >>
-endobj
-7627 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 143.389 null ] >>
-endobj
-7628 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 112.505 null ] >>
-endobj
-7629 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 101.546 null ] >>
-endobj
-7630 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 90.587 null ] >>
-endobj
-7631 0 obj
-<< /D [ 7585 0 R /XYZ 81.077 79.628 null ] >>
-endobj
-7584 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7634 0 obj
-<< /Filter /FlateDecode /Length 2197 >>
-stream
-xڽZ[o~ϯ0PU]N'.aB`dQ,e%9qPhQq)?͐3bŋ"^xWէ[ %
-SXm0LxX.(x-~dܻ
-%BP5c#IS5i6Uu='<z"8?͇(CbŽ2#2)ڬ쾮˴,VV3V77<N6}.CjJaF2)(˙~ MŠ9B "fs+E-U2X"BS&LT;}H, YT]oqhkl;}czx):ذ"Ɨ?qcmNWk_5U Q8MɅ*DOfFŮjv ӂ՗q˴<pA:2l9 Y#& CA3⣿ud. ?40N p+weixpX!8*(ypٱDBQ }me""D+H<^$ Q^M3hjg`DH0ݓ:sJX!ƕ@,gMnnnвfj4 ӓaVO?ՌQi%zuz]ϺZ;3
-+Z77_'4d
-fH8se"ӥ  d5P|g'gc:X
-I>!(}9f)
-Pysm:/yF&y{m(E6)N @OלG)r9V 1< F:I{?,
-\lJ޲DZ׆ʓa_`8nL>@D\AҦbvp:*hϣѺ>`OjٍǮ1].i1ABg o|._ )suM۾hihd3H 3He[)\c3lzNKx8;vi>qM޳z#~Gۙ_@<.L9.CN$E#3<*N vmy8inRiJ+Ae@µ=
-Sppч Ge"AɄv=\?ֵ=}|Ձ!
-**7w)H?8Qa!Tf$v`<8S _(|R$c_O&y
-endstream
-endobj
-7633 0 obj
-<< /Type /Page /Contents 7634 0 R /Resources 7632 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7635 0 obj
-<< /D [ 7633 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7636 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7637 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7638 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7639 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7640 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7641 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7642 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7643 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7644 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7645 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-7646 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-7647 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-7648 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-7649 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-7650 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-7651 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 555.244 null ] >>
-endobj
-7652 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 544.285 null ] >>
-endobj
-7653 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 503.682 null ] >>
-endobj
-7654 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 492.723 null ] >>
-endobj
-7655 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 481.764 null ] >>
-endobj
-7656 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 470.805 null ] >>
-endobj
-7657 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 459.846 null ] >>
-endobj
-7658 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 448.887 null ] >>
-endobj
-7659 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 437.928 null ] >>
-endobj
-7660 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 426.969 null ] >>
-endobj
-7661 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 416.01 null ] >>
-endobj
-7662 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 387.362 null ] >>
-endobj
-7663 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 376.403 null ] >>
-endobj
-7664 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 365.444 null ] >>
-endobj
-7665 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 354.486 null ] >>
-endobj
-7666 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 343.527 null ] >>
-endobj
-7667 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 332.568 null ] >>
-endobj
-7668 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 321.609 null ] >>
-endobj
-105 0 obj
-<< /D [ 7633 0 R /XYZ 79.37 310.224 null ] >>
-endobj
-7669 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 230.335 null ] >>
-endobj
-7670 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 219.376 null ] >>
-endobj
-7671 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-7672 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-7673 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-7674 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-7675 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-7676 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-7677 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7678 0 obj
-<< /D [ 7633 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7632 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7681 0 obj
-<< /Filter /FlateDecode /Length 2848 >>
-stream
-xZIoW)kj_t2ăK EI46II3=YdK7Wo› wH+_oN GFF77wo|7d%Dm$K9mJ |!01NP@XU}qwv|_Vy]^Cgm>ھ=QƖ@=WfW FEs򎘍
-1 r=i+Ot~ls>SSc(VmQj#~{Eo "L;e!ofJ t0?fu.Meo=CY9GSXV#e-3 fOa_ q9+ct\hƶ㖑Ӓ&@h<lNʛ]UI ݆/m jRcAqnQ~
-y CD0W.).b*\vqc肎04Ͷ^R2çu #tD@ɤM tF5#C:5: AJiAT:L=R$d,N$hǯ6All~^ 7T *Ӽ!k-b%. ٻn0ltߩP8XN= `HM4/ ծ eқ}\\s$(o7 d]ݰ,
- 6jRGC9P^GC"iaB\ lcEbӞׄM[)1aA{ DFH{$k=aSڄqrT_Q_*ea13`A{ed iy}C^4w\XU_&ۛn]>v+j}\^X_l6"J?JhXv!AGbe{U^ 5 xH\.OH`ZGhA$kEEbٗ\Wm~~.r%x 3O[ܶJsusC`Rh+lMOY]duY/GwEݴZ/7E\9(3R(%DtJ ~nrnrіoy]Y>xm*ys z=" #}Uzvr= 4\W?즖LB(L'sCc&щP'<}: ?{B8"8MCt'U?7IRBBՏpLctMa^ױ>IkGW,!{V<߱f%_M/IHϦHc>=v[}t.؂e޴~אmaF;jʆWjn5kۇq]g~N#H^2) w0
-'jeO#6Iz>ۿ[A  <K
-a-A BdбaHMD xcBcC<czQc?<άKv|,E;%!kܱo2{ Cfclvaxt_,4f.Q0!/I_4VOD{B3<ďgo6a˾k/7VJ;ӧGY1:}h mI&2UWyT!8ynn˧QfXIPF:o"ATԇ^mAV΅%4c ‰)
-hΟ.Sv 6
-J6r ;L@!VpGD,<P 9b|qs%VIw\HD "5͚Ӏ:QzcGϚ4X8:# kULa.cFDMϷp:">h(s*’\GNDDU:UR:\ARl-yXCHtPáLuE1{ECtrN:M5Esb4O.֋ o8\f%Pi3D[R/Fv<a?Oi"$|贅-@T$*+%pX-2)כI;) <KpaF,03i _^*CҳIe}|<&$Cn8F[d"b ͛&o
-endstream
-endobj
-7680 0 obj
-<< /Type /Page /Contents 7681 0 R /Resources 7679 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R >>
-endobj
-7682 0 obj
-<< /D [ 7680 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7683 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7684 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7685 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-7686 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-7687 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-7688 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 486.889 null ] >>
-endobj
-7689 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 475.93 null ] >>
-endobj
-7690 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 464.971 null ] >>
-endobj
-7691 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-7692 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-7693 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-7694 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-7695 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-7696 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 399.218 null ] >>
-endobj
-7697 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 388.259 null ] >>
-endobj
-7698 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-7699 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 366.341 null ] >>
-endobj
-7700 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-7701 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-7702 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-7703 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-7704 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-7705 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-7706 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 241.808 null ] >>
-endobj
-7707 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 230.849 null ] >>
-endobj
-7708 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-7709 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-7710 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-7711 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-7712 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 146.167 null ] >>
-endobj
-7713 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-7714 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-7715 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-7716 0 obj
-<< /D [ 7680 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-7679 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R /F81 783 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7720 0 obj
-<< /Filter /FlateDecode /Length 2330 >>
-stream
-xڽZKo8Wa0@c홝C 0遡t-%9oߢ(Q8b&ɏ"U‹^x߿_H # eS % ’,_kLee*Tl/H߼./^&/֮V.˭omȊᮬd,TJ$()M)Xڬn+(EBNy"',0vP"pƎ5=݀`G EM,D~Rn"rYD\, "D qK`yY^o
-Q:AwBߗyr=kaeK_qGk?wDCgqZSc,M1 6"s ?+(y80xUN't
-=aRSL$*6nv*߮A[ku;싕s5lc&( A@AE{#&KR6a1At.ʺ
->1oy4$"hgiD@\ )vd|}B#ePԤ>7ӪysK`>7sAY 0F͡R>7a3ɓa M8>ґ#
-?ɛxק΋Js_ ^ue! #10b6܂eLf#LvGbUCV^U1eln5rMdNn+ɂn<^#t2IƁZLf=#rUWu8Vhx$'AӡWLyS~~X6I]9mct1Ppr#=!@ݭ68T&+IW'@
-<<?s,Db|\$d߮ WVzBJ/ڂup(nX<o蛈ޟ^Kܭ.nG9$ CC4;g dA#n_W..zyUK1Y»2I45q! L";l1CB#"='"~H׭sr^䮙GwYaDxeM)IUw&]Tmw}й--\W6WP.7_^i}C¬D!K /Goaj;vSpbZDkD! n04vFa_@;ޟ<INjɄ\A#u=_v7bɧbG ı>J!]a8qBYn ,uz2p,9(pDG qq::2}%d++‚J&;S̙!U(yH|1bLök֕\AFtZ(/@ߠz?cvێ{H9xb-s/5 z56 P$:?
-P0a" ?] a\M{,Dp`|"isηGpzF.~Qc"Rp0E2M@><1<dTJ0CD3<b
-endstream
-endobj
-7719 0 obj
-<< /Type /Page /Contents 7720 0 R /Resources 7718 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7325 0 R /Annots 7765 0 R >>
-endobj
-7765 0 obj
-[ 7717 0 R ]
-endobj
-7717 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 228.711 144.429 239.144 156.365 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
-endobj
-7721 0 obj
-<< /D [ 7719 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7722 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-7723 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-7724 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-7725 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-7726 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-7727 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-7728 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-7729 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-7730 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-7731 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-7732 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-7733 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 592.493 null ] >>
-endobj
-7734 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 581.534 null ] >>
-endobj
-7735 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 570.575 null ] >>
-endobj
-7736 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 559.616 null ] >>
-endobj
-7737 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 548.657 null ] >>
-endobj
-7738 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 537.698 null ] >>
-endobj
-7739 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 526.74 null ] >>
-endobj
-7740 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 515.781 null ] >>
-endobj
-7741 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-7742 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-7743 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-7744 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-7745 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-7746 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-7747 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 439.068 null ] >>
-endobj
-7748 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-7749 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-7750 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-7751 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-7752 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-7753 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-7754 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 318.52 null ] >>
-endobj
-7755 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 307.561 null ] >>
-endobj
-7756 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 296.603 null ] >>
-endobj
-7757 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-7758 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-7759 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-7760 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-7761 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-7762 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-7763 0 obj
-<< /D [ 7719 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-7764 0 obj
-<< /D [ 7719 0 R /XYZ 94.613 85.223 null ] >>
-endobj
-7718 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F30 644 0 R /F68 189 0 R /F64 183 0 R /F22 455 0 R /F76 467 0 R /F53 200 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7768 0 obj
-<< /Filter /FlateDecode /Length 1957 >>
-stream
-xZn8+k]aȪ0"A^L#'
-lcɕiԿϥ)Q;qt3CK^{ftD3n.>~v&Lͬ&ьPf7?jͯ-
-d=vmp36i*A< ~ڤ
--sR[XT}pX6J;Ҝ>EZhK( OBY~.t VӣV
-FU}ka r]vumʪ=C{ăobGW>S]$E!=GxK TrH
-s%:Ӳ1 ơD>*r״ٮ~<$P|ꪈ9.`Pe1=_'VNa)Zo^9z~/t(ikk>p|ur/p ?^F-7E,=mQ!r?]Բ:K^L ٦2{3J1'; )pFhRC!B(ۋ)&;y:.r>
-,Tӱ1ɡ;N&if dҴ1okSK[@B7
-v,}78 s'$TQE0-|W_Uu]%<؊cYDW5!%,LnkU HN8K>z}_<;ewHr鼝՜HAwnnGY" /wᥚ"Ao;L#6@AE
-endstream
-endobj
-7767 0 obj
-<< /Type /Page /Contents 7768 0 R /Resources 7766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-7769 0 obj
-<< /D [ 7767 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7770 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7771 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7772 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7773 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7774 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7775 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7776 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7777 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7778 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7779 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-7780 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-7781 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 644.868 null ] >>
-endobj
-7782 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 633.91 null ] >>
-endobj
-7783 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 622.951 null ] >>
-endobj
-7784 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 611.992 null ] >>
-endobj
-7785 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 601.033 null ] >>
-endobj
-7786 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 590.074 null ] >>
-endobj
-7787 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 549.584 null ] >>
-endobj
-7788 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 538.625 null ] >>
-endobj
-7789 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 527.666 null ] >>
-endobj
-7790 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 516.707 null ] >>
-endobj
-7791 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 505.748 null ] >>
-endobj
-7792 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 494.789 null ] >>
-endobj
-7793 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 483.83 null ] >>
-endobj
-7794 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 435.726 null ] >>
-endobj
-7795 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 424.767 null ] >>
-endobj
-7796 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 413.808 null ] >>
-endobj
-7797 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 402.849 null ] >>
-endobj
-7798 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 363.568 null ] >>
-endobj
-7799 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 352.61 null ] >>
-endobj
-7800 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 341.651 null ] >>
-endobj
-7801 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 330.692 null ] >>
-endobj
-7802 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 319.733 null ] >>
-endobj
-7803 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 308.774 null ] >>
-endobj
-7804 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 297.815 null ] >>
-endobj
-7805 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 286.856 null ] >>
-endobj
-7806 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-7807 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-7808 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-7809 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-7810 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-7811 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-7812 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-7813 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-7814 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-7815 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-7816 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-7817 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-7818 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-7819 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-7820 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-7821 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-7822 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-7823 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7824 0 obj
-<< /D [ 7767 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7766 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F81 783 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7828 0 obj
-<< /Filter /FlateDecode /Length 2538 >>
-stream
-xZoܺX]v,o>+^уOzh
-AY˶]#iAΈ VtkEę!9!~EW_o7fWX͵\ܽc@WlX"UnWV~d3_?d{]SouwscpL֧OWß ADO-
-ppBwN!w]쐓VJf%5Lp_*f LcI-,WT&$†3&Dh”t
-%@3'Bh#$!`stپXAD!ȅ\ђo%o0o.LBq7D?PDE(%oX%p"e c+I\TQ E^R" [ǖ쾇)c
-4ɬLڥٕJ
-)wxa职kl(]<e`=
-p7Ew2Jd5F
- س(O6YU)y:2@|ΕA}Q78ܰ
-.vIdQקp2¶VٝVgWS]7( 7$cUcmVid_߰fM py K! 餠$f:·薛_3>YQ=u٫Xٸ1$Q$F0XF ,4KAƕtGVJ| \% hTI5@G<zXŔsVm>.ʥWG hݘ&[D8謅SEQ
- (j[8^Qbwy\M_=}r}[e3h~5Lc 9'ZO Kɤ
-endstream
-endobj
-7827 0 obj
-<< /Type /Page /Contents 7828 0 R /Resources 7826 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-7829 0 obj
-<< /D [ 7827 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7830 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-7831 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-7832 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-7833 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-7834 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-7835 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-7836 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-7837 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-7838 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-7839 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-7840 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-7841 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-7842 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-7843 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-7844 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-7845 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-7846 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-7847 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-7848 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-7849 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 439.068 null ] >>
-endobj
-7850 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-7851 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-7852 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-7853 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-7854 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-7855 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 373.315 null ] >>
-endobj
-7856 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 362.356 null ] >>
-endobj
-7857 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-7858 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-7859 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-7860 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-7861 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-7862 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-7863 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-7864 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-7865 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-7866 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-7867 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-7868 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-7869 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-7870 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-7871 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-7872 0 obj
-<< /D [ 7827 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-7826 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F81 783 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7875 0 obj
-<< /Filter /FlateDecode /Length 1999 >>
-stream
-xZ]o}ϯpU "bٝ۠XCNؒW'{)ʔdӰy$Z<JWxr;=ߟϮg>H5H+d:?#pHtJ$rDjI3 |10!BPNl6kYd?5ʆۡ Ze\CI}K
-v"D7@od7lfem1rM1zd19Cإuqr䦇|)<8ctqDa)?Ʀ:N]T".q\_ $F=!E㸎ѿ} CbQro6=lHRT\ ᅡ '}Rqa6@?%Òcp{?`P1\TlnOnxP}TRqA6@OhrK!p
-ՈbkGe)[Y֭3+[ON#Qaq\guJib38.Jt;Gcؔo Z"Оn\| +S=#쾦-%SR!@wqy}?ُ*b6Y^[V}>)Gk/%.W}(C$Cy1-;r\:!:׋Em_?4ئj%DټN޽վ|^Bx @j(0EW֯2cD sfoWq;
-4P͒G~3:۸/kkӧI~0?lѾ< SJ(ca7]fm-îiO]/_8!yseL־wLL 8͎ɾ{cF4eZ6P8}i<o/ծeW+sOkztٌ-S6 }Cj_׫*#~W^ۘMqgO
-.$ck{YK'Gw~<S/24*<O;/ 6Ƚu'dŸgn
-endstream
-endobj
-7874 0 obj
-<< /Type /Page /Contents 7875 0 R /Resources 7873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-7876 0 obj
-<< /D [ 7874 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7877 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7878 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7879 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7880 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7881 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7882 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7883 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7884 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-7885 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7886 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-109 0 obj
-<< /D [ 7874 0 R /XYZ 79.37 649.488 null ] >>
-endobj
-7887 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 521.906 null ] >>
-endobj
-7888 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 510.947 null ] >>
-endobj
-7889 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 499.988 null ] >>
-endobj
-7890 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 489.029 null ] >>
-endobj
-7891 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 478.07 null ] >>
-endobj
-7892 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 467.111 null ] >>
-endobj
-7893 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 456.152 null ] >>
-endobj
-7894 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 445.194 null ] >>
-endobj
-7895 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 434.235 null ] >>
-endobj
-7896 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 423.276 null ] >>
-endobj
-7897 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 412.317 null ] >>
-endobj
-7898 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 401.358 null ] >>
-endobj
-7899 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 390.399 null ] >>
-endobj
-7900 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 379.44 null ] >>
-endobj
-7901 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 368.481 null ] >>
-endobj
-7902 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 357.522 null ] >>
-endobj
-7903 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 346.563 null ] >>
-endobj
-7904 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 335.605 null ] >>
-endobj
-7905 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 324.646 null ] >>
-endobj
-7906 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 313.687 null ] >>
-endobj
-7907 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 302.728 null ] >>
-endobj
-7908 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 291.769 null ] >>
-endobj
-7909 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 280.81 null ] >>
-endobj
-7910 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 269.851 null ] >>
-endobj
-7911 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 258.892 null ] >>
-endobj
-7912 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 247.933 null ] >>
-endobj
-7913 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 236.974 null ] >>
-endobj
-7914 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 226.015 null ] >>
-endobj
-7915 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 215.057 null ] >>
-endobj
-7916 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 204.098 null ] >>
-endobj
-7917 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 193.139 null ] >>
-endobj
-7918 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 182.18 null ] >>
-endobj
-7919 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 171.221 null ] >>
-endobj
-7920 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 118.075 null ] >>
-endobj
-7921 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-7922 0 obj
-<< /D [ 7874 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7873 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7925 0 obj
-<< /Filter /FlateDecode /Length 2962 >>
-stream
-xڵZmo8_a94\4Pػ.p~ Qjmdɕb _Bőt7bC əg‹ _= /o_xdhĒE" ’,.dD/]/?`u7I۪~t/}V^dٺֽ÷ހX]5kʛ1
-:*/mn[|!8uq1$`$BtC<c! mDi@vBkLF $ ?OڣI JT4
-Ӱ/f:I?`r"BA\9,!'6@Kb2M Hl`,䟭Uťty _Ç]P
-ʋ8~_6.,E)8rIC^)#[ \/Gی3Jx>2-3٥) 7u3:
-U#i
-^%T=m(;TpM' IO-0Wnowaj^
-هUTw\kO=LDB'K-Q!wWpfݺ]}=91YU(p GDE1xkmf3Q9]H]myK(E(bbQ0Έ >ν~P xwQkRmXea*DӜ^!AdB)p&Bu(7= @ۺڻn@Pwqn'u.7L
-i]uCgOhoSY;O 49y~Jݚ"rDl=Q!dԔ !d>IQhq}2Hq.EYsUpcAUgV5t㪓6KDQ}dϸeKOO9"4dL#&Õ퓪vqPg)q΄vvd- tI>P[W <g7M{bcG;FVwFH<@iV|~g@(CCn=t \YΕ
-:l
-SbP†u#ƙڹ(gccp}3%y(KOR,?iM{(wb-nU}&;w{5n q,Yvv_DQ ?Iԉ~6{SUźH>hyƝ2d}}X  '(Δhz$qF쓑_M jׂ(-H sdjD,u?
-dyOcnl^2<mѻd}Iϙz<%S}x4ncC/Dž
-~$D v.R)ܞ( TsfO;_H' iWN7)f+pչ|ejr=6W㳾.OQ<QJBhIxĐ`D|mki5>e`UGŪ1ؘLkW]Y=Sbuomq߹gqnM3b(s`;[#xAdׯ\>
-endstream
-endobj
-7924 0 obj
-<< /Type /Page /Contents 7925 0 R /Resources 7923 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-7926 0 obj
-<< /D [ 7924 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7927 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-7928 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-7929 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-7930 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-7931 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-7932 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-7933 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-7934 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-7935 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-7936 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-7937 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-7938 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-7939 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 575.556 null ] >>
-endobj
-7940 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-7941 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-7942 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-7943 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-7944 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-7945 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-7946 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-7947 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-7948 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-7949 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-7950 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-7951 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-7952 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-7953 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-7954 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-7955 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-7956 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-7957 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-7958 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-7959 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-7960 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-7961 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-7962 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-7963 0 obj
-<< /D [ 7924 0 R /XYZ 81.077 89.38 null ] >>
-endobj
-7923 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F30 644 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F69 299 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7966 0 obj
-<< /Filter /FlateDecode /Length 3026 >>
-stream
-xڭZmo8_C=pN1=\>C>,p=$ڒ!Mn _D#i!)=ᐜyf(|p/~}+7?G:#^޿! D % ’\n/P+`~!-%`B1RLnlkAm,._vHS A5yj P/ɲF [)[#!u2-nMO7_|M֒fd<hi9Fk$
-Q*:M1ze)Tq`!е] q%utX"*e?:F7F;a.ޣZ UIڃ #҈8L%j(>#(cyI,x^Օe^]3.yerS\]]lXuivgպ\{Wcn+mٕ﴾s[+N{tO} 'iݐ } PFEn;7]24+huw,Wb ݯ5W4)fvn&Mott2$&1ܖEu^! AcǓG V$ΑRz:$O4I
-|'Ϧc:%Iobl"ivQ0:*B~uljv+LWi+[wU}7-NnFW\sO17?>iZE~2x="~k1Uxz[2AFh:Fh}
-TZ{sĶ1|r/zDztSi"Q/zV6F6}h \~0LaOF뚌‚:☱ -Owkt֚g*7#(5b
-=(hwuY7dM2;,)vGd,,p>XQ8Ux);3Иݳ1ma-w7eRӈ-몰ORtH , & UsLwMnpOˈ"vSAzZ33_t,{6t .Řsl3ĵw12f#)cba(&1) m l
-a@ ԴϚFuTx힕^C>/ͺhܭe^Ҿ+2e-_6k ǯ.#݅^(_j8 )&,ux΀pgB_ֽVy䳱 1+p]$ "\S~Ĩ@EK.cߘ+5vnfڲZ!*
-mcٺy{ sh׆,7}6 -&w4V-W
-ϻ%QZ91e`ȴ#B7cHE//'_SqɎCg"BN$̉1ɀGMoSo6Wi] yw=U;L?_
-{tkIH0`T$jsljma #}ጆuѓRMZBay;(Zv#nB+N{hyNjUoC爥Vie+qĴU VgIc*˃{ɔ
-GJL>EbQϊƲd.xOٗe*(cx◧_j"/p%rZ<Pc ;{NQ6KSz&oqtѽ$8GecpWa
-fUR^8)!!
-C^7߅u?- E\PI'~%Fߠ}UQբ^ `SQ7cGLu`doyyԥb ?b.ɬ֚!'^<r_<3"H(3-oͬhRgp 6: 僅YoO\ E&+r_S-L{7|?z
-.vQQ7e۹~kѮ>ӧ+!ĩ:EE}iOkq#2 w-vCe<CC٣kPϋ:+`67{ƝBZ?c3+p} !p;'~'
-_(0 /# &J+xFd8g`4]Vrįb}~WL/6lyOT[:eP\"ÑTIY[N>ģL-%cpPVf]ك)X?=iJ~ۢf}Yջ~]0>֥NPoR8~S;ޤHR.BépK/Ɵ)5rUGBIѤSl*aE29zWx/1!NQ (ס,fI}G;CNHr>#h*%Ӵ_jJϧup.*m@#?KuQ𻍇
-$/U61=5Ӳ7LQ!Q巎
-endstream
-endobj
-7965 0 obj
-<< /Type /Page /Contents 7966 0 R /Resources 7964 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-7967 0 obj
-<< /D [ 7965 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-7968 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-7969 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7970 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-7971 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-7972 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-7973 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-7974 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-7975 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 607.673 null ] >>
-endobj
-7976 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 596.714 null ] >>
-endobj
-7977 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 585.756 null ] >>
-endobj
-7978 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 574.797 null ] >>
-endobj
-7979 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 563.838 null ] >>
-endobj
-7980 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 552.879 null ] >>
-endobj
-7981 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 541.92 null ] >>
-endobj
-7982 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 530.961 null ] >>
-endobj
-7983 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 454.742 null ] >>
-endobj
-7984 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 443.783 null ] >>
-endobj
-7985 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 432.824 null ] >>
-endobj
-7986 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 421.865 null ] >>
-endobj
-7987 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 410.906 null ] >>
-endobj
-7988 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 399.947 null ] >>
-endobj
-7989 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-7990 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-7991 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-7992 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-7993 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-7994 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-7995 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-7996 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-7997 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-7998 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-7999 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-8000 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-8001 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-8002 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-8003 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-8004 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-8005 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-8006 0 obj
-<< /D [ 7965 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-7964 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F69 299 0 R /F70 300 0 R /F77 539 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8009 0 obj
-<< /Filter /FlateDecode /Length 3150 >>
-stream
-xڭZ[o~_ŢY^E*:a; CXJ%yl0ԅcؒC~<<#zqwA/~~C7]}3Fh.>V\^Υ2p-lUlfwrsnfUl׶?3khu߯8=NЌh>3!o@zx_Br"I]@4|f7|v7`IZD%'qΖSԗ
-fobf&ۻgRⶵSnrt2'fݴ~ٖxo0&9 V[쎞
-|yT>4
-Qm/=8!?bwwP¹",Wa).FPދnʝLB?g2s!IncΘdSƈ@Ლ'&fDb)"D7⮱r ϊ:p2~+fNEw={_žWGnG8&_-uɉY,iQi OҀ EMjW͗fERvs[ldb81 s,E%.THn8eX
-Vfp a5֦"{y/_jUq,.ګ契3܏f c KU m+~g)ɭw`r\[UuJPcQrI j΃< 88U_|WgL=fX-f_r_v^4&RT ?-J p?&")n-DKhS{ͺoV*:çh)_ZU8+{Б#@Oc%H3YY-o)(QD<IR Ӌ?,*}߈o"QO8
-o`_WdU፵=@m{lXx7jD e,]u6ٳI.k`4ͳE!p*@]Znc[ k[ޭϩuȧ!(]"c);̧Ίc
-+)ϭOIC'%_˕oXp'x<QDODv Lx,)u/X<I""&3$X1!WoGyjB}DxӖ  %i#HGaF7#]Jw]og!sMZ0
-
-[2E+I;]އ8}hhⅩ>eXo/&^2?e҂@5\:쯧oHOulB
-4+0>ϫWJWXpj8*Ѧ!dr.⹒\
-u:'H5pTwX69% N9\ƎA90 F$o2vE_r-Д[4u -vkb-N|o @+:|fy_p6fx? xnO=C
-eYg
-}
-XQDN|ހNZn-#,c$uOc0\d"\Ѵ_EHoomKtcsL:4_ ǝ1CJ}5e 508ۍdOXnO+4wQNDt
-lha
-HEA&5`"h# P"|n|)DQA'Y{Oy1
-{olzl,
-endstream
-endobj
-8008 0 obj
-<< /Type /Page /Contents 8009 0 R /Resources 8007 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-8010 0 obj
-<< /D [ 8008 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8011 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 719.135 null ] >>
-endobj
-8012 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 708.176 null ] >>
-endobj
-8013 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 697.217 null ] >>
-endobj
-8014 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 632.692 null ] >>
-endobj
-8015 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 621.733 null ] >>
-endobj
-8016 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 610.774 null ] >>
-endobj
-8017 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 558.205 null ] >>
-endobj
-8018 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 547.246 null ] >>
-endobj
-8019 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 536.287 null ] >>
-endobj
-8020 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 525.328 null ] >>
-endobj
-8021 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 514.369 null ] >>
-endobj
-8022 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 503.41 null ] >>
-endobj
-8023 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 492.452 null ] >>
-endobj
-8024 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 481.493 null ] >>
-endobj
-8025 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 470.534 null ] >>
-endobj
-8026 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 459.575 null ] >>
-endobj
-8027 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 430.916 null ] >>
-endobj
-8028 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 419.957 null ] >>
-endobj
-8029 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 391.298 null ] >>
-endobj
-8030 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 350.683 null ] >>
-endobj
-8031 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 268.458 null ] >>
-endobj
-8032 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 257.499 null ] >>
-endobj
-8033 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 246.541 null ] >>
-endobj
-8034 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 235.582 null ] >>
-endobj
-8035 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 224.623 null ] >>
-endobj
-8036 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 184.008 null ] >>
-endobj
-8037 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 173.05 null ] >>
-endobj
-8038 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 162.091 null ] >>
-endobj
-8039 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-8040 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-8041 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-8042 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-8043 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-8044 0 obj
-<< /D [ 8008 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8007 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 300 0 R /F68 189 0 R /F64 183 0 R /F65 185 0 R /F32 176 0 R /F27 638 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8048 0 obj
-<< /Filter /FlateDecode /Length 2387 >>
-stream
-xڽZmH>°x ,p3%ƖmҬ' WԲqe?$#*UUW=2mgx W77o?H=hl!0 LK$)Id>!~-
-?r7!(>'bŽs5{d1UΓ_eK8\*.Bۀ:P2iEq{:F",&ný<-8dÇ|[T.淿%*_[LONP7]uR%{9YqJLm_"~\UgiP$KN:]6 )jҪSNNBp_YZuh_WH>e*JY]9 j)BPy(
-`wϠh*+&7,Zɬh9C]d!j_}Lq(q@&0<EEcAly[PE-J9C5u]9Zt,ڝc&YuW띯#@ӌ@*EDHL^5!iDL 5 5F'Saї)v%1@]{nmßǼJ* Dw(;:)Fdp͠EI:jm<_ ?iP/ h\h^E~@ơ1oBuN }iD$BS4Na>qr,"96ɪAeaCp4F?)r,a>rTc"t-_Ӂ5c5iA'(XI®X[EY!obz a֟lY|y{T8*,ߓ|ΐ-&$>pa.k0&̽8Ax(n2$BO5Q1&+eK9G
-[-.pk$
-gAk7ăvVf]R3BަzBD7 VkJv`1I}u "bMp^l2BSQ{u 1
-pI;Ch Y#>%[JLf[jhJ$ r>AbZ|؎O~-Sa5VOax ~MC].XX9ͿoBVJ 4H NFcf3a1z vX>7#
-Jn; ^M;.g2"6un#*<_59gavfnr_x'{zH %}3˵-_ArS?sՙlbI.\ŝg;E"PYL Q s\9)5c.:BZTD,DڟE(3߫>@rfO i?*`P
-endstream
-endobj
-8047 0 obj
-<< /Type /Page /Contents 8048 0 R /Resources 8046 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R /Annots 8096 0 R >>
-endobj
-8096 0 obj
-[ 8045 0 R ]
-endobj
-8045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 448.142 151.403 458.574 163.339 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
-endobj
-8049 0 obj
-<< /D [ 8047 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8050 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8051 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8052 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8053 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8054 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8055 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8056 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 685.146 null ] >>
-endobj
-8057 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 674.187 null ] >>
-endobj
-8058 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 663.228 null ] >>
-endobj
-8059 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 652.269 null ] >>
-endobj
-8060 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 641.31 null ] >>
-endobj
-8061 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 630.351 null ] >>
-endobj
-8062 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 619.392 null ] >>
-endobj
-8063 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-8064 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 597.474 null ] >>
-endobj
-8065 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 586.515 null ] >>
-endobj
-8066 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 575.556 null ] >>
-endobj
-8067 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-8068 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-8069 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-8070 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-8071 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-8072 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-8073 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-8074 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-8075 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-8076 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-8077 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-8078 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-8079 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-8080 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-8081 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-8082 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-8083 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-8084 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-8085 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-8086 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-8087 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-8088 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-8089 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-8090 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-8091 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-8092 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-8093 0 obj
-<< /D [ 8047 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-8094 0 obj
-<< /D [ 8047 0 R /XYZ 94.613 105.37 null ] >>
-endobj
-8046 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F22 455 0 R /F76 467 0 R /F53 200 0 R /F82 8095 0 R /F80 755 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8099 0 obj
-<< /Filter /FlateDecode /Length 1842 >>
-stream
-xZKo6W,Cw@ @5 e{Gw(J\qn5vrŔ8Ùtv='thOɻɛ3mg8N 36hffF3B5ng |8c0X@%:_%([L-%FѦluubYũ
-W,_Bch<lUepI՗WhR4tfeLR6nvy^ s}]l&i3֒¹ZiZNOxQMQ&2JуneYbNAMTNS1"K)nA!ShF{EADm$ќRb1؛z,h%4'RD3l ƸݓKع&<=c>P]S,}<plY&8xHF` EsG i$!$=k32K i@c0~/RC i4!R9hMdHcPSU0QvF{E dE;CC^ `XRC&C*ʼn!-{˖Xr $`hA!@ /9:򞕨#AeSG({N\{ ҏò)ʮwwmVo!9||aXEHv"Cc] CBm@;QڥhomBan7gͼ 9L3G"/VJ=oo
-`Mӆow*~fNNPLsGa uy 2 n.S6/u|SCo,=U*6~5ϷN~]X㖗8[õ"=R$)KPo:n}\v]Z@h,N}Hy?? u:o4 Խ+&oB;/2E~{ܔG!^(6Pͮji\|Mt"o#?W>^oݯ>Tex{z.zwnm[h^nCowL1y_Q:?9ȣ*Ʈ.]绪ܔax[ BqP~7qCh 2qƦ
-ٕ8xْT-P}Pl
-endstream
-endobj
-8098 0 obj
-<< /Type /Page /Contents 8099 0 R /Resources 8097 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-8100 0 obj
-<< /D [ 8098 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8101 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8102 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8103 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8104 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8105 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8106 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8107 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8108 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8109 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8110 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8111 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8112 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8113 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8114 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-8115 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-8116 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-8117 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-8118 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-8119 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-8120 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-8121 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-8122 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-8123 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-8124 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-8125 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-8126 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-8127 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-8128 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-8129 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-8130 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-8131 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-8132 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-8133 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 346.416 null ] >>
-endobj
-8134 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 335.457 null ] >>
-endobj
-8135 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 324.498 null ] >>
-endobj
-8136 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 313.539 null ] >>
-endobj
-8137 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 302.58 null ] >>
-endobj
-8138 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 291.621 null ] >>
-endobj
-8139 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 280.662 null ] >>
-endobj
-8140 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 269.703 null ] >>
-endobj
-8141 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-8142 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-8143 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-8144 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-8145 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-8146 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 184.025 null ] >>
-endobj
-8147 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 173.066 null ] >>
-endobj
-8148 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 162.107 null ] >>
-endobj
-8149 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 151.148 null ] >>
-endobj
-8150 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-8151 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-8152 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-8153 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-8154 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-8155 0 obj
-<< /D [ 8098 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-8097 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8158 0 obj
-<< /Filter /FlateDecode /Length 2158 >>
-stream
-xZo6_a`_aMECޮAG,$9^$Oh"JřDW]tE+Qn:^Ibc&$bXhFf\q-
-r'݋k{YaX6ϥwdn
-;l~j4\ARrBۄ)$ڸ MyQR 01EP@A<@iǜp9e0O |S0^!ppM
- З4
-5(vV2r}W?#}pz\0MMe:%1J<^|NmbwzNRi"vzP</EּB~;FP% d/HU3, , 
-/@]`Sptײwk׷*&ihF!'MVP1ÔFuiҢjN1EO>^ gM;?a;Ur1)o/-;qs;͟g'X:
-!fC+c j Нcg\_Pu3hؤviaVu1~:#j(!&5@[Y|F@h2PgB@aE!d!ܲp!QvEb'Mй1I2qvQ2x*[FGO$sLKT7t
-F <>}y[)ɿɿT׶N
-6K/ָO-'szvYʚtdvw
-endstream
-endobj
-8157 0 obj
-<< /Type /Page /Contents 8158 0 R /Resources 8156 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-8159 0 obj
-<< /D [ 8157 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8160 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8161 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8162 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8163 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8164 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8165 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 674.952 null ] >>
-endobj
-8166 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 663.993 null ] >>
-endobj
-8167 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 653.034 null ] >>
-endobj
-8168 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 642.075 null ] >>
-endobj
-8169 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 631.116 null ] >>
-endobj
-8170 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 620.157 null ] >>
-endobj
-8171 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 609.198 null ] >>
-endobj
-8172 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 598.239 null ] >>
-endobj
-8173 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 587.28 null ] >>
-endobj
-8174 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 576.322 null ] >>
-endobj
-8175 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 565.363 null ] >>
-endobj
-8176 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 554.404 null ] >>
-endobj
-8177 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 543.445 null ] >>
-endobj
-8178 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 532.486 null ] >>
-endobj
-8179 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 521.527 null ] >>
-endobj
-8180 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 510.568 null ] >>
-endobj
-8181 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 499.609 null ] >>
-endobj
-8182 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 488.65 null ] >>
-endobj
-8183 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 477.691 null ] >>
-endobj
-8184 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 466.733 null ] >>
-endobj
-8185 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 455.774 null ] >>
-endobj
-8186 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 444.815 null ] >>
-endobj
-8187 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 433.856 null ] >>
-endobj
-8188 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 422.897 null ] >>
-endobj
-8189 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 411.938 null ] >>
-endobj
-8190 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 400.979 null ] >>
-endobj
-8191 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 390.02 null ] >>
-endobj
-8192 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 379.061 null ] >>
-endobj
-8193 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 368.102 null ] >>
-endobj
-8194 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 357.143 null ] >>
-endobj
-8195 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 248.637 null ] >>
-endobj
-8196 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 237.678 null ] >>
-endobj
-8197 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 226.719 null ] >>
-endobj
-8198 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 215.76 null ] >>
-endobj
-8199 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 204.802 null ] >>
-endobj
-8200 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 193.843 null ] >>
-endobj
-8201 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 182.884 null ] >>
-endobj
-8202 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 171.925 null ] >>
-endobj
-8203 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 160.966 null ] >>
-endobj
-8204 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 150.007 null ] >>
-endobj
-8205 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-8206 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-8207 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-8208 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-8209 0 obj
-<< /D [ 8157 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8156 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F70 300 0 R /F20 186 0 R /F30 644 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8212 0 obj
-<< /Filter /FlateDecode /Length 2188 >>
-stream
-xڵZߏ6~_C^@O\@PZpVڒ#I6o(Qm%}ohb__qŏH4 ,FL.dNv#{f\g k{Tunlʽ'clOɦF$iGiT`$]a>Znjd=ҩj7:~|ߚwUsdB "x,%?KD)2`U-Z Vb EV~~|\#s'˧&ApQ] c_ho[]n
-:ypH<1iL&i6XUG6aeD[ p BV+K#z?E8ؘP)&<D[KK(<}l &W8Hc]fp)銺9pQ8%/!!o4FQfCRdp1鬙J,
-9Z5K:"t5Q͓&r$Z$:ܶ}Fq(zDctlơ\/, z!8]2eHb TKL0+RSrb3Լ,MR 6A:zCget)ʥYX
-Pc%1ef̖' x-dɹoO1"b_>l_) A fW?o_&
-endstream
-endobj
-8211 0 obj
-<< /Type /Page /Contents 8212 0 R /Resources 8210 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7825 0 R >>
-endobj
-8213 0 obj
-<< /D [ 8211 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8214 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 707.063 null ] >>
-endobj
-8215 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 696.104 null ] >>
-endobj
-8216 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 685.146 null ] >>
-endobj
-8217 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 674.187 null ] >>
-endobj
-8218 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 663.228 null ] >>
-endobj
-8219 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 652.269 null ] >>
-endobj
-8220 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 641.31 null ] >>
-endobj
-8221 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 630.351 null ] >>
-endobj
-8222 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 619.392 null ] >>
-endobj
-8223 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 608.433 null ] >>
-endobj
-8224 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-8225 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-8226 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-8227 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-8228 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-8229 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-8230 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-8231 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-8232 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-8233 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-8234 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-8235 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-8236 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-8237 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-8238 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-8239 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-8240 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-8241 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-8242 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-8243 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 353.39 null ] >>
-endobj
-8244 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 342.431 null ] >>
-endobj
-8245 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 331.472 null ] >>
-endobj
-8246 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-8247 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-8248 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-8249 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-8250 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-8251 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-8252 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-8253 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-8254 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-8255 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-8256 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-8257 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-8258 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-8259 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-8260 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-8261 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-8262 0 obj
-<< /D [ 8211 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-8210 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F70 300 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8265 0 obj
-<< /Filter /FlateDecode /Length 2048 >>
-stream
-xڽZ]o6}ϯhX
-0b<aEVb!RrhHH'uMm"!=WJf7d,]w7Wo
-lq}Udg3g9ǐ͵d&@>P:{:[>kӒ[Th`GG:U."vYfm*{]2?GsUBWG[/py
-4W4uT]s8Nyt`Uև]mq
-<N|ti|b
-ڵB<=G|^>t W9bs$)i^ߐynod9п^Cl(ygticqI
--|HhMͧUKUMaWΚBkEUs6QgDyxӷ?;H@ ǭ']?=flڝQȕ$`q'4EN4R
-IzFs nU\γʅ8QM,@0]`^W' 8 N i\#@{ĿW#uG;@{l꫼ޣObNh\N#@˲۔EK?-bu7-8넊wzHwCP~| 5[}y-۬iU\~hd8 $ I,
-
-endstream
-endobj
-8264 0 obj
-<< /Type /Page /Contents 8265 0 R /Resources 8263 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8266 0 obj
-<< /D [ 8264 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8267 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8268 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8269 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8270 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8271 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8272 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8273 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8274 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8275 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8276 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8277 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8278 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8279 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8280 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-8281 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-8282 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-8283 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-8284 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-8285 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-8286 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-8287 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-8288 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 519.029 null ] >>
-endobj
-8289 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 508.07 null ] >>
-endobj
-8290 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 497.111 null ] >>
-endobj
-8291 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 486.153 null ] >>
-endobj
-8292 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 475.194 null ] >>
-endobj
-8293 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 464.235 null ] >>
-endobj
-8294 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 453.276 null ] >>
-endobj
-8295 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 442.317 null ] >>
-endobj
-8296 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 431.358 null ] >>
-endobj
-8297 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 420.399 null ] >>
-endobj
-8298 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 409.44 null ] >>
-endobj
-8299 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 398.481 null ] >>
-endobj
-8300 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 387.522 null ] >>
-endobj
-8301 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 376.564 null ] >>
-endobj
-8302 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 365.605 null ] >>
-endobj
-8303 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 354.646 null ] >>
-endobj
-8304 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 343.687 null ] >>
-endobj
-8305 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 332.728 null ] >>
-endobj
-8306 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 321.769 null ] >>
-endobj
-8307 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 310.81 null ] >>
-endobj
-8308 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 299.851 null ] >>
-endobj
-8309 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 288.892 null ] >>
-endobj
-8310 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 277.933 null ] >>
-endobj
-8311 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 266.974 null ] >>
-endobj
-8312 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 256.016 null ] >>
-endobj
-8313 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 245.057 null ] >>
-endobj
-8314 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 180.819 null ] >>
-endobj
-8315 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 169.86 null ] >>
-endobj
-8316 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 158.901 null ] >>
-endobj
-8317 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 147.942 null ] >>
-endobj
-8318 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 136.984 null ] >>
-endobj
-8319 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 121.216 null ] >>
-endobj
-8320 0 obj
-<< /D [ 8264 0 R /XYZ 81.077 110.258 null ] >>
-endobj
-8263 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8324 0 obj
-<< /Filter /FlateDecode /Length 2369 >>
-stream
-xZn0@YY @b@/:8JYHd2StLzcɔ>?H ~|+~|aGfiE-x LI$I<%AXr=W |)L(F1>a</{VWI-.炊nH޿OiK~ct
-NF>UUX:~$zaz
-81 D'\(3.:[Uަnx 3^7mgs]mUCi}]gɲ~U@$Ňd#SL뇢Z}iP>4o<"drwYTsa]vI2D1'4j6>[iя\W:rLcnNO
-HTL|U4Iy8>9Oph8V;al:5-G15LV|ZNc:,g,Lj=zz2DPLJ \ _vVQ0H.oGE7/])7ufWlD`iC5L\0w4VgOuiQ) Nf'{:a.M>4ǥJ@jv$nښ`JFACtS(;-[0Ce.iӺN ~Py}lUukQ6J"ڸH{x89+'}\ňՆ
-.Ml&2`LԐp :kCeΙY%s5r5n
-
-BhuF*Ț<5M.mզK'8AJkWqmubi>AZEiDJHakfàb>t}Yd!/ (w F׎&GyYP(\G??sM|uR]b\0B؆.%ÖvuFKA䡍VMuU|Ӷοyq~xmn<UXMH0{jkc
-E 5I!ugld?% ۅnƒ>y,qۘHrDb5 `uXNp|7
-
-7iTxATz6<d&̓J!}rQZIQiX#dXs qj˷ڑh)ډbO'qr> |TQ:|X"m'eBGvq[{:ƭN9!PҟqLQFC6n(]۴(N+U {>m& <S0ߣ;*vf0j͟n0>ݼd!XӴf`JRtP<B]V쩁67}OKO{iyY|Bnavb?"B%bZ>m'#Tj.c2vz#65 !',* \d}w_BFiͦm]MQmKsGJy9,q|@OðtOl[0-fhc>H6ue<Ŧ<|6tcgI0%Ep~8!QM@^>vz㉔!H̲*]Clr")(%%Cاjwq@Bbg/avӦoTMn; Hᙖ
-m ٱWY_@wx/٪*6t!&aXn׋徢FUdך-aU:+e׎imf r~s 6wm'xUmV'm;$֖d%z`q%=;hϵ}%'BIw6?v|o:`4 ~zM.z/ΟrÙ
-MQZM8t~"u)Cl",o\t8}&qi+ z2ܾ6G`IXMHpSIXp,`6tv
-endstream
-endobj
-8323 0 obj
-<< /Type /Page /Contents 8324 0 R /Resources 8322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8325 0 obj
-<< /D [ 8323 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8326 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8327 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8328 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 669.205 null ] >>
-endobj
-8329 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 658.246 null ] >>
-endobj
-8330 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 647.288 null ] >>
-endobj
-8331 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 636.329 null ] >>
-endobj
-8332 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 625.37 null ] >>
-endobj
-8333 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 614.411 null ] >>
-endobj
-8334 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 603.452 null ] >>
-endobj
-8335 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 592.493 null ] >>
-endobj
-8336 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 581.534 null ] >>
-endobj
-8337 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 570.575 null ] >>
-endobj
-8338 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 559.616 null ] >>
-endobj
-8339 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 548.657 null ] >>
-endobj
-8340 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 537.698 null ] >>
-endobj
-8341 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 526.74 null ] >>
-endobj
-8342 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 515.781 null ] >>
-endobj
-8343 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 504.822 null ] >>
-endobj
-8344 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 493.863 null ] >>
-endobj
-8345 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 482.904 null ] >>
-endobj
-8346 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 471.945 null ] >>
-endobj
-8347 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 460.986 null ] >>
-endobj
-8348 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 450.027 null ] >>
-endobj
-8349 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 439.068 null ] >>
-endobj
-8350 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 428.109 null ] >>
-endobj
-8351 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 417.151 null ] >>
-endobj
-8352 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 406.192 null ] >>
-endobj
-8353 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-8354 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 384.274 null ] >>
-endobj
-8355 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-8356 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-8357 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 285.644 null ] >>
-endobj
-8358 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 274.685 null ] >>
-endobj
-8359 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-8360 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-8361 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-8362 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-8363 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-8364 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-8365 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-8366 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-8367 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-8368 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-8369 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-8370 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-8371 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-8372 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-8373 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-8374 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-8375 0 obj
-<< /D [ 8323 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-8322 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8378 0 obj
-<< /Filter /FlateDecode /Length 1619 >>
-stream
-xZnF}W(
-@E@@~[DI)R%خ|{"7yΜ3d=O'NTsNDg$:affb4#T|;<5ӯ
-l
-WiwH
-wh3t9۫NF_m'#%x
-]͏w
-YC'@Djh/"$@w^7cE2VpDNʗ Ok,>Tz)鋙(m+.(@M E5A
-h'{x3ndisEk;8dW )q+ɠ^!JlmI6m[8F[
-nƇ:bTSzy1sgq_OM[*<*u~cFC9DgC/\+<(hmA(!@mC٢8Jt4^P8OC0qf 4 )v"o_ k\1&+&Hmiǎ~3k+ ["#
-endstream
-endobj
-8377 0 obj
-<< /Type /Page /Contents 8378 0 R /Resources 8376 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8379 0 obj
-<< /D [ 8377 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8380 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8381 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8382 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8383 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8384 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8385 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8386 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8387 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8388 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8389 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-8390 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-8391 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-8392 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-8393 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 574.56 null ] >>
-endobj
-8394 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 563.601 null ] >>
-endobj
-8395 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 552.642 null ] >>
-endobj
-8396 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 541.684 null ] >>
-endobj
-8397 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-8398 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-8399 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 486.889 null ] >>
-endobj
-8400 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 475.93 null ] >>
-endobj
-8401 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 464.971 null ] >>
-endobj
-8402 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-8403 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-8404 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 432.094 null ] >>
-endobj
-8405 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-8406 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-8407 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 399.218 null ] >>
-endobj
-8408 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 388.259 null ] >>
-endobj
-8409 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-8410 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-8411 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-8412 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 339.442 null ] >>
-endobj
-8413 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-8414 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 317.524 null ] >>
-endobj
-8415 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-8416 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 295.606 null ] >>
-endobj
-8417 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 284.647 null ] >>
-endobj
-8418 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 273.688 null ] >>
-endobj
-8419 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 262.73 null ] >>
-endobj
-8420 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-8421 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-8422 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-8423 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-8424 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-8425 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-8426 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-8427 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-8428 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-8429 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-8430 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-8431 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-8432 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-8433 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-8434 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-8435 0 obj
-<< /D [ 8377 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-8376 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8438 0 obj
-<< /Filter /FlateDecode /Length 2648 >>
-stream
-xZ]oۼϯP`K\ @] ǖJ.!EIآŖm<}dd n_0'N~*H+hr<! ($IT%I)Oٿޭ`(d я #iw:no:D"tu{WO7>v6ToVw醴l::[V.΄ӕ~ޛ*D
-1BHvZV^I\dM6gUQmiQ*Z
-)S lڞ_T=Qsd42]g2/W#íLa,̋˜">
-J;Jj0@?b8(b;H#uGEBvސu>c #y`OoyYOﶙPVl @㞓 t%Euy]Ch|ySf *9.!:~oʑ}Y[(FPWB2#$l}[?00WDI$3S.S$j8YЇ2gYɿavF(g
-\3Q6:.g9GjH-]Bq @At 8]q @? .4*FDu}q}C|!<0H]bia6.KCe au:n{cH\{sӲ㨚}[0L s`UÌJY6Vוo .iǝD-@G~.\iT 1slYg#$꫎-n(ۚG
-hŴATkn+6Z
-lAzϟ&.F=bI>>TwӹϠ/"y5H lMP5$[}<Xxbw/$ZB_x7 ռ_dّm/_AT]Vq~kC%wU׬ <׵M)\<--},
-fJ(Db؍L:S&FOm>છѱ%mFƖĶ) {u0
-H@2O$:D "ON2~?O`Xҩ
-&pĄJ& 4=J)<xs aJG(܈Mzj}PxsVꝀ`w_<V`L ke9n*P>'
-Аz
- 9`'HlY|P'*&|7Nmu 3NMxXdibv=hc4RiI;ᮗzNۡxl #T,ѡGÎ<Ο5.W>}I긿4ıgz~}=d]l<bp7*{;k
-D =jݱgXiaQ LڛRY7ai݋SZf9̤?iL(>ښxiڂD)i:鱃/}#|!Uqҁ.G3~ ]jzϻoj;Zz.EXSlKY ք',9Y>%o<Gz`dGm%`물;ucm4k݊NCMA#XV+>~"~A"l{ ;N}6MCM5 ZS@waJF G!ZpQ#
-endstream
-endobj
-8437 0 obj
-<< /Type /Page /Contents 8438 0 R /Resources 8436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8439 0 obj
-<< /D [ 8437 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8440 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8441 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8442 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8443 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8444 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8445 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8446 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8447 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8448 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8449 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8450 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8451 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8452 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 632.376 null ] >>
-endobj
-8453 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 621.417 null ] >>
-endobj
-8454 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 610.458 null ] >>
-endobj
-8455 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 599.5 null ] >>
-endobj
-8456 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 588.541 null ] >>
-endobj
-8457 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 577.582 null ] >>
-endobj
-8458 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 566.623 null ] >>
-endobj
-8459 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 555.664 null ] >>
-endobj
-8460 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 544.705 null ] >>
-endobj
-8461 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 533.746 null ] >>
-endobj
-8462 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 522.787 null ] >>
-endobj
-8463 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 511.828 null ] >>
-endobj
-8464 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 485.027 null ] >>
-endobj
-8465 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 474.068 null ] >>
-endobj
-8466 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 463.109 null ] >>
-endobj
-8467 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 452.15 null ] >>
-endobj
-8468 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 441.192 null ] >>
-endobj
-8469 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 430.233 null ] >>
-endobj
-8470 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 419.274 null ] >>
-endobj
-8471 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 408.315 null ] >>
-endobj
-8472 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 397.356 null ] >>
-endobj
-8473 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 386.397 null ] >>
-endobj
-8474 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 375.438 null ] >>
-endobj
-8475 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 364.479 null ] >>
-endobj
-8476 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 337.678 null ] >>
-endobj
-8477 0 obj
-<< /D [ 8437 0 R /XYZ 81.077 326.719 null ] >>
-endobj
-8436 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8480 0 obj
-<< /Filter /FlateDecode /Length 2466 >>
-stream
-xZ[o6~ϯ00wI
- Xar,,y$9l0}/HvLClQ. ~'绫?dQFgw+$g$K2bA?wkJL(F1K}'a-~f[DFӑ8>iM/ZKhte_6uSoowYg#EFE[ڢ*_5ͮoʪ.MI.c_MY7ZPy2_;b>%1T|0.Z]EWEf ;)?Q)Gi]}JySW1|)k~ px:%at]t0kFXM5ۃ
-4HsH5^R?)h[PTEkۛI(jOL*Pa4Ar
-naɢ ~C(%1S$d܊`|VuD@}C},;2~+t+R8u^zh\-ͶGR|&S%li&ulPY8;3M00mc*Rad̰ٙ)H J|t.4JP*7 /1|] `c2X跭b;L'ogg#XGVc(ٙa&VعyA$D^a]_f+\@-a:\ 'w*<3J  ,mIA uB[d: M'Lqn\I*3.s.SbȬң
-2
-v]W,1#]G,( ܯN.S{6[RY31k6JdJ%*vsSQoXi.|FxN24KzL O?% JӅe"{l$ӏa} A5 TGબ
-dJ4`km\ -ZbO@ĺ{SVz*7P/N]ztfe]qmMSQR$x R68V&E8Z6Duu7FWyah5S@?M-5$ 8s^J"5VV,1uaMRI=3V$Ęq=tpFcjiPz`[b}ӱ
-TI&Kb0vɔ{m089|e`A7NΌة!vg4A1g1N{6H:W mΥKS(c7c-Ȭp3u!$ƃ"R^tL<?dvrm~iOljkT/41q?aQp$SV7yvQUYFԞ'Y6{Phi%WV]y3&%bi fZ0qF)+̇UAf js<I 3IS"oc?1ni\ѠCFh]?q(Q 260_K8~C6Lu#hҪ/
-H_3Je5}BS!P*UZ;NԶn`2S u=6_>n]*\-ea6yX9졃#: x},cS[>ue}s[sL]՗&0-txoiK~B{pb y$B%oiѬMkrb~."%)FtmC; 2-0?*…;L@:2At `AC?[ĈM?aCY"'sL৶xT#[NAq[N1R糧W a,|Z]_Rg^\KtN$5#PypzU˩ yMZd솎h@Ռr)I>&G8'O k<=h]zZq[* <fZ( ncsyb
-ByBSЏ1qP`awA@hug7E忯NiЙo{#
-&7]Qf
-endstream
-endobj
-8479 0 obj
-<< /Type /Page /Contents 8480 0 R /Resources 8478 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8481 0 obj
-<< /D [ 8479 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8482 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8483 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8484 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8485 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8486 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8487 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8488 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8489 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8490 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8491 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8492 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8493 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-8494 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-8495 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-8496 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-8497 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 562.605 null ] >>
-endobj
-8498 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 551.646 null ] >>
-endobj
-8499 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 540.687 null ] >>
-endobj
-8500 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 529.728 null ] >>
-endobj
-8501 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-8502 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-8503 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-8504 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-8505 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-8506 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-8507 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-8508 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-8509 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-8510 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-8511 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-8512 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-8513 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 263.726 null ] >>
-endobj
-8514 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 252.767 null ] >>
-endobj
-8515 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 241.808 null ] >>
-endobj
-8516 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 230.849 null ] >>
-endobj
-8517 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 219.89 null ] >>
-endobj
-8518 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-8519 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 197.972 null ] >>
-endobj
-8520 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 187.014 null ] >>
-endobj
-8521 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 176.055 null ] >>
-endobj
-8522 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 165.096 null ] >>
-endobj
-8523 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-8524 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-8525 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-8526 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-8527 0 obj
-<< /D [ 8479 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-8478 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8530 0 obj
-<< /Filter /FlateDecode /Length 1835 >>
-stream
-xZKoFWEF;
--PcSM%\Gh DOiO:A=dʺܬ x뿥͌wJ G8%Bpτ-=/(V@naeU,e}"+![ b<;`-N81r$wKdP"<\lݤeuvX%{5 RLZ J- `t"t~qk-u{
-R*fh݅fgA
-EƘj]Б5F\r9HGr$js+DGMUؤO3ױJecz` +.+KQ?B~D@7!߮ %##S5KuQMnwf t7׍Ge50/q3N@gz}WJҞB1AƏ "^3OVnG7sk}*vK[PYwyQtG7^2bu*;&F6ճȈpaFz^"KtU~[h{4fjԟVdQn'fQM7LT HhfA!Z}a8_OpeJW(c%Dg޿HUK!?6MjTQ;DA© yб,7>Q!u>Ὕ|wc| O7crۓ7 윻9"l/"M0m#A,@q5B" `i|϶bس~!vn==Q{`9 _kUӇdUSJ7)>x⅔I L\mp%
-l?7
-endstream
-endobj
-8529 0 obj
-<< /Type /Page /Contents 8530 0 R /Resources 8528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8531 0 obj
-<< /D [ 8529 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8532 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8533 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8534 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8535 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8536 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8537 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8538 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8539 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8540 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8541 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8542 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8543 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8544 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8545 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-8546 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-8547 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-8548 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-8549 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-8550 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-8551 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-8552 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-8553 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-8554 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-8555 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-8556 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-8557 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-8558 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-8559 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 437.076 null ] >>
-endobj
-8560 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-8561 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-8562 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-8563 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-8564 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-8565 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-8566 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-8567 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-8568 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-8569 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-8570 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-8571 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-8572 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 270.7 null ] >>
-endobj
-8573 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 259.741 null ] >>
-endobj
-8574 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-8575 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-8576 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-8577 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-8578 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-8579 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-8580 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-8581 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 120.264 null ] >>
-endobj
-8582 0 obj
-<< /D [ 8529 0 R /XYZ 81.077 109.305 null ] >>
-endobj
-8528 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F77 539 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8585 0 obj
-<< /Filter /FlateDecode /Length 1539 >>
-stream
-xڵYMoFW~(Hnm@2e IcA;客H"y;;fgM'l oglad a_\"k6->@0 xSӺ(lWyC]EϪ?e{7h!X`b~ypp)@i|vcPdžη7AG8.El0* \V VMr6ҥOݼEZ }`(Ĥx`&Nc)+ٶ i]|дu7#.r̛7MdE;Ç4m4 4i41J)"&A2ll[C/z)/@*((xLEdliO)eE2P(.;4Ιfi6Ȭcibtzʛ\N(:`4JNI :iq鶅
--ʝ?chWg4f3kV%h_pkZOCi[MK2Z2Uk Zk1ew^fiU9Px%gU:@nU*-C$x(!ſ
-endstream
-endobj
-8584 0 obj
-<< /Type /Page /Contents 8585 0 R /Resources 8583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8586 0 obj
-<< /D [ 8584 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8587 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 754.911 null ] >>
-endobj
-8588 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 743.952 null ] >>
-endobj
-8589 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 732.993 null ] >>
-endobj
-8590 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 722.034 null ] >>
-endobj
-8591 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 711.075 null ] >>
-endobj
-8592 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 700.117 null ] >>
-endobj
-8593 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 689.158 null ] >>
-endobj
-8594 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 678.199 null ] >>
-endobj
-8595 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 667.24 null ] >>
-endobj
-8596 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 656.281 null ] >>
-endobj
-8597 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 645.322 null ] >>
-endobj
-8598 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 634.363 null ] >>
-endobj
-8599 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 623.404 null ] >>
-endobj
-8600 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 612.445 null ] >>
-endobj
-8601 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 601.486 null ] >>
-endobj
-8602 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 590.527 null ] >>
-endobj
-8603 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 579.569 null ] >>
-endobj
-8604 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 568.61 null ] >>
-endobj
-8605 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 557.651 null ] >>
-endobj
-8606 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 546.692 null ] >>
-endobj
-8607 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 535.733 null ] >>
-endobj
-8608 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 524.774 null ] >>
-endobj
-8609 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 513.815 null ] >>
-endobj
-8610 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 502.856 null ] >>
-endobj
-8611 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 491.897 null ] >>
-endobj
-8612 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 480.938 null ] >>
-endobj
-8613 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 469.98 null ] >>
-endobj
-8614 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 459.021 null ] >>
-endobj
-8615 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 448.062 null ] >>
-endobj
-8616 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 437.103 null ] >>
-endobj
-8617 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 426.144 null ] >>
-endobj
-8618 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 415.185 null ] >>
-endobj
-8619 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 404.226 null ] >>
-endobj
-8620 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 388.34 null ] >>
-endobj
-8621 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 377.381 null ] >>
-endobj
-8622 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 366.422 null ] >>
-endobj
-8623 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 355.463 null ] >>
-endobj
-8624 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 344.504 null ] >>
-endobj
-8625 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 333.545 null ] >>
-endobj
-8626 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 322.587 null ] >>
-endobj
-8627 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 311.628 null ] >>
-endobj
-8628 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 300.669 null ] >>
-endobj
-8629 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 289.71 null ] >>
-endobj
-8630 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 278.751 null ] >>
-endobj
-8631 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 267.792 null ] >>
-endobj
-8632 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 256.833 null ] >>
-endobj
-8633 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 245.874 null ] >>
-endobj
-8634 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 234.915 null ] >>
-endobj
-8635 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 223.956 null ] >>
-endobj
-8636 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 212.997 null ] >>
-endobj
-8637 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 202.039 null ] >>
-endobj
-8638 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 191.08 null ] >>
-endobj
-8639 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 160.277 null ] >>
-endobj
-8640 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-8641 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-8642 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-8643 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-8644 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-8645 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-8646 0 obj
-<< /D [ 8584 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8583 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F77 539 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8649 0 obj
-<< /Filter /FlateDecode /Length 2088 >>
-stream
-xڵZ]o6}ϯ0PH "i``6/`tF<4etD{xI{.e<{xExwSfiEݭ.432SʈɌ fKIrݯ/
-CbW ˶`ml3DcoeɻT Ϫl^gŽzSmvWrٯ˥Y)k3 $) HJ 1DQb1vٚ-+O~'oi{>nCH,ݯ͈fo!Y ?nb0<pJ30fz٬" S_Qyٛݻljp_5WഅmшK[p!z)뾨M&B{2<mTۙy4B!UNMyvǵ@[$.Õ)NeiCe}4U^淟XcYo.oV@2_6u^at0罋*ɑ|"Ln;iUCFѶNmg[̛itsir{
-F3:.b ."Z\[*+
-fz2].'1T4N!8lNB+MǓNN$H%uz"'J?HUq?$mSY՝6xZ5YuB)f4Uho($"TD"qbD@TSdZYУۢVM4*p|G,9,̏H(
-Jm=5 Ч9/ľ[4F!:9
-> Sa%T \3(4)GdqEa>cp:sp {y]wa>jF,D}j*KupeeaO":6B"H"eА]gelݧ(1(O "tm'$ATd:F[WziBwmr
-cJ# 1I-ms`4O&":DN ˠd} f 3<2Җ
-{xkソ)ڇf<rO@
-=] Q5ey]ǏF6MQٍܥ*O>ݶ/zlҽc ň#lv|YUtD.-k8|CׁVY4a9¾w[W2=ߵا_ n xhvv E5>nhώVa*he9Ar}
-M  jĸCxHl=~]˷fd(diT]
-qN^qNdP2?'Mb3 1;_)^(0A <۶avηopr,yͥ~<-d5J!z+m#CY'G
-[eSҨhKEeXSW@i4v2}n;=Wɇ[SqGT]1WiC%hauTabrm9v[n "YLQU~l:ml!zrL ̼#i.BDZ1{ӎ-mom`vNB-&"<5\=荑fWiVEե# 脦 c (Wlߍ΍*p5aIUC~9A^rfHv0P6p:>ZrbPc{+S96y@9h6FBu(;YHC@
-f7~A
-I8B0@޺Q@<ك>c"=2 O: )㏪S?cW} Ow7E93X),S~2.=,7H=2),EtD".Izhڴ̟Y&ȔNv"t)=PCp(̽i? /}4||#ʘW&
-endstream
-endobj
-8648 0 obj
-<< /Type /Page /Contents 8649 0 R /Resources 8647 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8650 0 obj
-<< /D [ 8648 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8651 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8652 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8653 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 726.989 null ] >>
-endobj
-8654 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 716.03 null ] >>
-endobj
-8655 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 705.071 null ] >>
-endobj
-8656 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 694.112 null ] >>
-endobj
-8657 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 683.153 null ] >>
-endobj
-8658 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 672.194 null ] >>
-endobj
-8659 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 661.235 null ] >>
-endobj
-8660 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 650.276 null ] >>
-endobj
-8661 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 639.317 null ] >>
-endobj
-8662 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 628.358 null ] >>
-endobj
-8663 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 617.4 null ] >>
-endobj
-8664 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 606.441 null ] >>
-endobj
-8665 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 595.482 null ] >>
-endobj
-8666 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-8667 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-8668 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-8669 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-8670 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 522.754 null ] >>
-endobj
-8671 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 511.796 null ] >>
-endobj
-8672 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 500.837 null ] >>
-endobj
-8673 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 489.878 null ] >>
-endobj
-8674 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 478.919 null ] >>
-endobj
-8675 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-8676 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-8677 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 446.042 null ] >>
-endobj
-8678 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 435.083 null ] >>
-endobj
-8679 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-8680 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-8681 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-8682 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-8683 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-8684 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-8685 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-8686 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-8687 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-8688 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-8689 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-8690 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-8691 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-8692 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-8693 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-8694 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-8695 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 158.122 null ] >>
-endobj
-8696 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-8697 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 136.204 null ] >>
-endobj
-8698 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 125.245 null ] >>
-endobj
-8699 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-8700 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-8701 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-8702 0 obj
-<< /D [ 8648 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-8647 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8705 0 obj
-<< /Filter /FlateDecode /Length 1971 >>
-stream
-xڵZMo8W苃a`^L`a7 J"%yl}IKHv\N4WG#<o[$o/>~zđфDaIFgY0idd:<F-S0s)fbWO|&U=-r*h׺1ߒ` ™'*`DC#m2iM˫@HZ۝E_LjD4%,!<7QRV'm&FY4;V8Jӈs۩Y;MV~nsB#ftķee]7-;<wM]{crpw1nQю"HMoӫ}ۛOO`ى=[cy^<{%E(y>gk%:G0cAW>3cy</F|gF4DIY?.Kjy(PR!<pi 2W<]5-2?s*$,$!X!ɼ0 I>!$CM!ƶkӠDhF9bg-SאT~Z E7&5MKAӄH%a
-Z\fɐ^9L# x "ͽrjG螃%\e]uȎ n\8X9'Hk/`wu6oU]fufe*zf#s?R(ܫXz^8L#I{o x90}۝ jU.Eү/%jn4+ivaU-oM[WٙZ!q c](p% sK YpD."OV.n\8CT-(Kv\n[&LQDOD 1*bt_G-4(({f6akۻ~&>T7]{I8{TȦ\,(ǂ
-6V2+,ˣ0i6o=f׬D 5"%匫|u}5~Kc">ܿ
-Z=|#4A|B"jr.@ۃ ܢN׾dLYaͫP0!ϫESZח Bq$eַ*M=,ۧ~_Hts.Úh7X0 <vK"is2p+1ivGIpVAwdÔ8ed{H9Ʉ*",%ܕ0,ٻxx,[0_̑.|%L#)jO-qU௝NSC_1uvlX=d%MqrL ,zv/ٜ(Tڅ<U"Z]SϮq=ղͫ:75m;ظ^YK{כ¥?/?"\]N88;T5,n rr~cRtE?ΤY=)gn~7~SV6ݠXul?*>N9VUhig4O=DNY,6/?wNC!01䯣3M:tHKgbq]^}y/ٙ"m/u0EL1ڤa؃KS1W*TFIl,m^-!'۸s; l]4XF O)ҕ4BvOݗi]O.%u5
-endstream
-endobj
-8704 0 obj
-<< /Type /Page /Contents 8705 0 R /Resources 8703 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8706 0 obj
-<< /D [ 8704 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8707 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8708 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8709 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8710 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8711 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8712 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8713 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8714 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8715 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8716 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8717 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8718 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8719 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8720 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-8721 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-8722 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-8723 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-8724 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-8725 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-8726 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-8727 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-8728 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-8729 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-8730 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-8731 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-8732 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-8733 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-8734 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-8735 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-8736 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-8737 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-8738 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-8739 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 400.214 null ] >>
-endobj
-8740 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 389.255 null ] >>
-endobj
-8741 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 378.296 null ] >>
-endobj
-8742 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-8743 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-8744 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-8745 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-8746 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-8747 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-8748 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-8749 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-8750 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-8751 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 214.909 null ] >>
-endobj
-8752 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 203.95 null ] >>
-endobj
-8753 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-8754 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-8755 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-8756 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-8757 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-8758 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-8759 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-8760 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-8761 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-8762 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-8763 0 obj
-<< /D [ 8704 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-8703 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8766 0 obj
-<< /Filter /FlateDecode /Length 1802 >>
-stream
-xZMoFWEF~h{zi
-h5M*$U1ޥH-we[nK(v.GxoHO>NޝI=hhvqB <"#-$j$AXzX)O`>Hɴ&J!JwЫΚ,N'}xM{`3]7q>^%QˑD8s)NYD_q>'oǎ{kXwFDs㣛MhZdѺN;{gEm &OZ‘燑
- CWm,GB4ض41mymfχ!n[sĸqa A̮uV >4&Ȑ
-sG1,jӛvsT7
-Lh$˻D?EA 3VH2 qs^<<?0\79@ ҀZ E#*aD}'/?ܘ{>Bq8R0W=>Ox:mO%CJe4U_7*ʊ8 5_8BPP EVp(,ViBt9shة}`tb6DAKGA/7amUE6
-a3c"+5qLj+l."C,(7\pD u5 hp!*Dj@I,@m3q `P pj=(! ;ΈiZQ15b[I'2=0!ǟ0Uݴ_8.iqJո^?6&x yTU; }Tm'4Yݑ;yV66qݗ6j<?P=*Uܻ|:[7vK[ M-@7nH] 4)LĄywDozpKI^ezv7vҫ΃OXY_u?u7::m mm뒴-Xlo$Lm2!d׊bzBP !vc)ͦ0/CVm~ݶxaU^ x F^ ~aZ2l"\Q' ƞ<]oxqaʀ|s\_WX )'4 C1WNi3$UUlgr],҅SmmaD_Ҫ<jSN$
-tLvQyXZ`}I4{PjӸ%1 }Lqզmk/G!LJa
-g}x{=O1l ċ; f ЇlM30_}! z-*z>ʦ`b*`ݓ
-endstream
-endobj
-8765 0 obj
-<< /Type /Page /Contents 8766 0 R /Resources 8764 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8321 0 R >>
-endobj
-8767 0 obj
-<< /D [ 8765 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8768 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8769 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8770 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8771 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8772 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8773 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8774 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8775 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8776 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8777 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8778 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8779 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8780 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8781 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-8782 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-8783 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-8784 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-8785 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-8786 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-8787 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-8788 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-8789 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-8790 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-8791 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-8792 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-8793 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-8794 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-8795 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-8796 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-8797 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-8798 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-8799 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-8800 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-8801 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 353.39 null ] >>
-endobj
-8802 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 342.431 null ] >>
-endobj
-8803 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 331.472 null ] >>
-endobj
-8804 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 320.513 null ] >>
-endobj
-8805 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-8806 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-8807 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-8808 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-8809 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-8810 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-8811 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-8812 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-8813 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-8814 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-8815 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-8816 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-8817 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-8818 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-8819 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-8820 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 140.189 null ] >>
-endobj
-8821 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-8822 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-8823 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-8824 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-8825 0 obj
-<< /D [ 8765 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-8764 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8828 0 obj
-<< /Filter /FlateDecode /Length 1899 >>
-stream
-xZo8~_a`_YᲸ݅L"Ė\Yn׿DNzKHo3Q1D_/g?O]+3hr{FbDGFEH+J
-EG跱6ܜ1w bdUL%R;b>j|.qvN},-Xdfd()rs}T~nQ773s3NX1M[ʹruSn޺uu~!=ڴM7upfzӲDӦ0!"msYgFƹqsRhƭ5]MٖuUWٝkRT
-aqnOoqݞu&qӗ)ux_5nms`DX<$ù>E)?UBN(ĕ ϷTK(ghCyeֱJIjt24~nɉ
-f`i3][|Ur~M~.fCT'S#FR)5΍)/JB\$`pgȼ^>&cAI] [/OO"-H11UbN]NG- w*zXXKA)$C;k𵬾v}},z~#G f.C[c )*3tg˭6öl@4Ƹ6ys"[ d• K^HL)Bp,C&%+:C} =n
-2tY5 X
-VUXJ]柺W1F8ATawԎ,@@zas=d9Wb|[/9Dzx^Vjrn"jpbٍC8n/w>7aAA0w VnrUx9ˊV
- "Y]"ech@ȫGؑ|]yo8[Ÿ /vU߿(<qզ0k2%!j)3hrPUH/P\s",sS}ۭ0bDPN34Mg9h<Ssˇu]VAA'
- qGTfpw2O䒆~
-.@qǙ%jP*׳dW?ؕk\ے@ "X5/.3mǬ"fG eNyZr:r5A
-Z?
-/;DEp2$`
-Y<aj }DF85Ƞ1G-7 ѾQS`ïxQe0OXPk*hS(TSQT)P4U<SpkPU NU㝪;Ð6 ;'qԶ{%'{=U{$BoGRTWQTDs3ȣtl'c2 Ia'a*ԏG@oӏ7V11cG$q
-.&g C[/KCqoB ۚ%ӽSt
-endstream
-endobj
-8827 0 obj
-<< /Type /Page /Contents 8828 0 R /Resources 8826 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-8829 0 obj
-<< /D [ 8827 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8830 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8831 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8832 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8833 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-8834 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-8835 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-8836 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-8837 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-8838 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-8839 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-8840 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-8841 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-8842 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-8843 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-8844 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-8845 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-8846 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-8847 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-8848 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-8849 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-8850 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-8851 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-8852 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-8853 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-8854 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-8855 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-8856 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-8857 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-8858 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-8859 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-8860 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-8861 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-8862 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-8863 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-8864 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-8865 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-8866 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-8867 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-8868 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-8869 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-8870 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-8871 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-8872 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-8873 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-8874 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-8875 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 227.86 null ] >>
-endobj
-8876 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 216.901 null ] >>
-endobj
-8877 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 205.943 null ] >>
-endobj
-8878 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 194.984 null ] >>
-endobj
-8879 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-8880 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-8881 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-8882 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-8883 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-8884 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-8885 0 obj
-<< /D [ 8827 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-8826 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8889 0 obj
-<< /Filter /FlateDecode /Length 2080 >>
-stream
-xڭZ]o6ϯ09REuÀ7X[Nؒ'+Mv;iJTMd~t>x<TvB'ݕ( r{L$I&zyGt&&ьP&ɇIRy,
-SMqYmu]
-NGU X4U#Cb1&Ny51 .=;|1pup
-|gyװ}
-qv2;6nW>}pAAPr UUmŝz)};/A.9nt{|%=;jOpmyS/yw
--$':t#$"ݨ۬*MSbqyd)J;Mww/7j~cZB5:-.$PA0InY)nXmy'j/ '{ap~ZAl2KcmpL@##UZr-BwujGޞ3(d+uA@Dls!kH1
-2O
-1"a
-endstream
-endobj
-8888 0 obj
-<< /Type /Page /Contents 8889 0 R /Resources 8887 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-8890 0 obj
-<< /D [ 8888 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8891 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-8892 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-8893 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8894 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-8895 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-8896 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-8897 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-8898 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-8899 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-8900 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-8901 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-8902 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-8903 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-8904 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 596.478 null ] >>
-endobj
-8905 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 585.519 null ] >>
-endobj
-8906 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 574.56 null ] >>
-endobj
-8907 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 563.601 null ] >>
-endobj
-8908 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 552.642 null ] >>
-endobj
-8909 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 541.684 null ] >>
-endobj
-8910 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-8911 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-8912 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-8913 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-8914 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-8915 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-8916 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-8917 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-8918 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-8919 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 354.386 null ] >>
-endobj
-8920 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 343.427 null ] >>
-endobj
-8921 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 332.468 null ] >>
-endobj
-8922 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 321.509 null ] >>
-endobj
-8923 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 310.55 null ] >>
-endobj
-8924 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 299.591 null ] >>
-endobj
-8925 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-8926 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 277.674 null ] >>
-endobj
-8927 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 266.715 null ] >>
-endobj
-8928 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 255.756 null ] >>
-endobj
-8929 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 244.797 null ] >>
-endobj
-8930 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-8931 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-8932 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-8933 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-8934 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-8935 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-8936 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-8937 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-8938 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-8939 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 121.26 null ] >>
-endobj
-113 0 obj
-<< /D [ 8888 0 R /XYZ 79.37 107.163 null ] >>
-endobj
-8887 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8942 0 obj
-<< /Filter /FlateDecode /Length 1799 >>
-stream
-xڵZn6}߯p+
-4ڠ}h f ޡ%Qj7@ u33 dt7JF߿H_N F׷/(4$#:Җp=z5c={RJ?N)b\(Njj6ቿ&kou-e^d洮ff=Cu" b w@i"oi+xDbdULJ,R.t*l|/d*ܵ~U
-Dt5%+UD
-"0<!TGt}ϳ"X^iqBt++gQzj=8r9y6
-WFqdճ=mЮ}tx#@W)UR8#Btu 4HtFnF} p%p^Y.AA>9H8W
-:WX Ί+V|Qi-)ˡhtӗWG<.3I$f8B d^.=^a(  @Ʃ$Ϡ7Gl1U_cèݤ-0m)@N&1$>k
-v,TBϚZ4kFef@Uc~u.W]-ՅI~8 NT*D}~[n:s~]/Uu=DJit鿿ض}r|%Iks]~6f۴v\'rA\[A Bs)K=D&{Ia~2 jDvsm}|s:unL~VrBORB~<è"]S Ӽ]k-h[e<Q=Эߠ9X€ZS"Κ& &/Hip!Br(}[+ˑQj=sPW3"dDXu n BW4DrL-2dcn:-Jvkd kDji@a!1YLL:Bv,A9Tj κ
-(+BpyrvY\}l?qe1=nyX}1 E.=yz,
-endstream
-endobj
-8941 0 obj
-<< /Type /Page /Contents 8942 0 R /Resources 8940 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-8943 0 obj
-<< /D [ 8941 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-8944 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 735.194 null ] >>
-endobj
-8945 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 724.235 null ] >>
-endobj
-8946 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 713.276 null ] >>
-endobj
-8947 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 702.317 null ] >>
-endobj
-8948 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 691.359 null ] >>
-endobj
-8949 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 680.4 null ] >>
-endobj
-8950 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 669.441 null ] >>
-endobj
-8951 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 658.482 null ] >>
-endobj
-8952 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 647.523 null ] >>
-endobj
-8953 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 636.564 null ] >>
-endobj
-8954 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 625.605 null ] >>
-endobj
-8955 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 614.646 null ] >>
-endobj
-8956 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 603.687 null ] >>
-endobj
-8957 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 592.728 null ] >>
-endobj
-8958 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 581.77 null ] >>
-endobj
-8959 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 570.811 null ] >>
-endobj
-8960 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 559.852 null ] >>
-endobj
-8961 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 548.893 null ] >>
-endobj
-117 0 obj
-<< /D [ 8941 0 R /XYZ 79.37 524.223 null ] >>
-endobj
-8962 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 469.253 null ] >>
-endobj
-8963 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 458.294 null ] >>
-endobj
-8964 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 447.335 null ] >>
-endobj
-8965 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 436.376 null ] >>
-endobj
-8966 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 425.417 null ] >>
-endobj
-8967 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 414.458 null ] >>
-endobj
-8968 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 403.499 null ] >>
-endobj
-8969 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 392.54 null ] >>
-endobj
-8970 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 381.581 null ] >>
-endobj
-8971 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 370.623 null ] >>
-endobj
-8972 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 359.664 null ] >>
-endobj
-8973 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 348.705 null ] >>
-endobj
-8974 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 337.746 null ] >>
-endobj
-8975 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 326.787 null ] >>
-endobj
-8976 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 315.828 null ] >>
-endobj
-8977 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 304.869 null ] >>
-endobj
-8978 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 289.191 null ] >>
-endobj
-8979 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 278.232 null ] >>
-endobj
-8980 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 267.273 null ] >>
-endobj
-8981 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 251.594 null ] >>
-endobj
-8982 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 240.635 null ] >>
-endobj
-8983 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-8984 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-8985 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-8986 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-8987 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-8988 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-8989 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-8990 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-8991 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-8992 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-8993 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-8994 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-8995 0 obj
-<< /D [ 8941 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8940 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8998 0 obj
-<< /Filter /FlateDecode /Length 2268 >>
-stream
-xZ[o6~ϯ"&,h)@"hf
-Ce[XEJrٴԅW1y؇D4;G乐~ݕ(lg >\1x,DhiFfهydX
-l}lNI$ȄWel4]Q*/r-50Iѓ 4F1ae6Di@Y,iU؟/fɪY| =ٙc}F 2"<88)˜,}cpsˣy)tZDK(&Ӕ'7 2[[(:%u7?yuVnea&-dI>Д|J^*yV/ٿDR㏐4MKm㡥nȊ8,& 9Jhw
-Ol|MCv6jkVʪJWӍ{ i- O5dz IL-5i()>REk5=F
-TMOfugU>Y}{vH}=)^y
--1'{B)nWץk#@9UNd|7}bHmycc'r*)9[_OYU6X<2{e'wpI&]toR?%EJ7cun/ц?{rkoE<tp% ۥf|QPꡇwƃ/ =n`!$P@ˢI_s(~w~x rnRQ #x?W-sH= ACj%'ʏehpG[yh5 ;Fqhu (@K8xT[,K:B)ǜ0/3x`GHSec#L A?rAU N +Y؞¼ͳNWΙ
-ʉ<
-M2#:Iبa<CO-# xg_B\H}j=%:YvU=QdnAAع,9q=BuͪHG,3H{9JK|)ْI
-x6PT sv}咟.yh4N/`d(~
-
-6c?JFUCA+¾H,ehU5w$ML6旻ϲ9e(mї\F(rava
-endstream
-endobj
-8997 0 obj
-<< /Type /Page /Contents 8998 0 R /Resources 8996 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-8999 0 obj
-<< /D [ 8997 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9000 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9001 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9002 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9003 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9004 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 683.369 null ] >>
-endobj
-9005 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 672.41 null ] >>
-endobj
-9006 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 661.451 null ] >>
-endobj
-9007 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 650.492 null ] >>
-endobj
-9008 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 639.533 null ] >>
-endobj
-9009 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 628.574 null ] >>
-endobj
-9010 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 617.615 null ] >>
-endobj
-9011 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 606.656 null ] >>
-endobj
-9012 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 595.697 null ] >>
-endobj
-9013 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 584.739 null ] >>
-endobj
-9014 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 573.78 null ] >>
-endobj
-9015 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 562.821 null ] >>
-endobj
-9016 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 547.096 null ] >>
-endobj
-9017 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 536.137 null ] >>
-endobj
-9018 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 525.178 null ] >>
-endobj
-9019 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 514.22 null ] >>
-endobj
-9020 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 503.261 null ] >>
-endobj
-9021 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 492.302 null ] >>
-endobj
-9022 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 481.343 null ] >>
-endobj
-9023 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 470.384 null ] >>
-endobj
-9024 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 459.425 null ] >>
-endobj
-9025 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 443.7 null ] >>
-endobj
-9026 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 432.742 null ] >>
-endobj
-9027 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 421.783 null ] >>
-endobj
-9028 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 410.824 null ] >>
-endobj
-9029 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 399.865 null ] >>
-endobj
-9030 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 357.78 null ] >>
-endobj
-9031 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 346.821 null ] >>
-endobj
-9032 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 335.863 null ] >>
-endobj
-9033 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 324.904 null ] >>
-endobj
-9034 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 313.945 null ] >>
-endobj
-9035 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 302.986 null ] >>
-endobj
-9036 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 292.027 null ] >>
-endobj
-121 0 obj
-<< /D [ 8997 0 R /XYZ 79.37 269.104 null ] >>
-endobj
-9037 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 200.854 null ] >>
-endobj
-9038 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 189.895 null ] >>
-endobj
-9039 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 178.936 null ] >>
-endobj
-9040 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 139.301 null ] >>
-endobj
-9041 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 128.342 null ] >>
-endobj
-9042 0 obj
-<< /D [ 8997 0 R /XYZ 81.077 117.383 null ] >>
-endobj
-8996 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9045 0 obj
-<< /Filter /FlateDecode /Length 2306 >>
-stream
-xڵZ[o~ϯ0Ї%-[a)E5q,:-~wy
-^/+<gϷW?"# ,DaI3Ʊ
-:}Bjӑ)Gvx.f
-+KK֞e:z/[s*'WEoӮ)kK?Q9Z]sN-eN[v7q0LǓYO芺1~cEp
-<
-MmɺӬh2 ԥUV-<R($"9qx<n_?hltD
-^o$<2gB1J3VP|!:"T8 Ǫ+KPIH
-(_NM`{'U݄?d{|)cqbL$F1ucP$* s"J nOrN{wln
-Cghh>
-ibYyWy0CV˯h8TII:{l|EI5ꄖ\㕺à+yYW~8E
-
-endstream
-endobj
-9044 0 obj
-<< /Type /Page /Contents 9045 0 R /Resources 9043 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-9046 0 obj
-<< /D [ 9044 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9047 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9048 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-125 0 obj
-<< /D [ 9044 0 R /XYZ 79.37 733.166 null ] >>
-endobj
-9049 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 665.362 null ] >>
-endobj
-9050 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 654.403 null ] >>
-endobj
-9051 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 643.444 null ] >>
-endobj
-9052 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 632.485 null ] >>
-endobj
-9053 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 621.526 null ] >>
-endobj
-9054 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 610.567 null ] >>
-endobj
-9055 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 599.608 null ] >>
-endobj
-9056 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 588.649 null ] >>
-endobj
-9057 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 577.69 null ] >>
-endobj
-9058 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 498.985 null ] >>
-endobj
-9059 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 488.027 null ] >>
-endobj
-9060 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 477.068 null ] >>
-endobj
-9061 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 436.221 null ] >>
-endobj
-9062 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 425.262 null ] >>
-endobj
-9063 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 414.303 null ] >>
-endobj
-9064 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 403.344 null ] >>
-endobj
-9065 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 392.385 null ] >>
-endobj
-9066 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 381.426 null ] >>
-endobj
-9067 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 352.535 null ] >>
-endobj
-9068 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 341.576 null ] >>
-endobj
-9069 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 330.617 null ] >>
-endobj
-9070 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 253.904 null ] >>
-endobj
-9071 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 242.946 null ] >>
-endobj
-9072 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 231.987 null ] >>
-endobj
-9073 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 221.028 null ] >>
-endobj
-9074 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 210.069 null ] >>
-endobj
-9075 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 199.11 null ] >>
-endobj
-9076 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 188.151 null ] >>
-endobj
-9077 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 177.192 null ] >>
-endobj
-9078 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 166.233 null ] >>
-endobj
-9079 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 155.274 null ] >>
-endobj
-9080 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 144.315 null ] >>
-endobj
-9081 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 133.357 null ] >>
-endobj
-9082 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 122.398 null ] >>
-endobj
-9083 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 111.439 null ] >>
-endobj
-9084 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 100.48 null ] >>
-endobj
-9085 0 obj
-<< /D [ 9044 0 R /XYZ 81.077 89.521 null ] >>
-endobj
-9043 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R /F20 186 0 R /F65 185 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9089 0 obj
-<< /Filter /FlateDecode /Length 2152 >>
-stream
-xZ[o~_a`^d`@Eg>C؊-- =BqLEf$Sȏzg|?}&ffT̔AL͔$K2o ,[ֻ]^ .< aYɉϞHcOSQ)P"oYo9UY=lϲ M)ڢk=nҶnzo<k"/#\4\ o8Np>w|,Q#pU.]5"CXVvY<Y&EZ`-"=QD2@h[bH /qd4at:HX)?@0
-i"BQk_.C8hzrs'l(bcAŸvLi>,ނ)}3ߟnlMywB?>vEs8p JW\1_vU3W
-E'P-FgK65-\^9ސh +rHitv(8gM\n%<!&B?ۭ-VBW7_%#xAz1P=ˍ3
-ά ¼vëݮC+o<l3lMݝal\ǘQ2g:0pe,ww %xƳšƳZջ{a\[
-c؀ ?[vQϷh+ -dEYV>]qAx&wklm^'S5|6 g
-2xVxz Oz0T/r%5)̈́(!0&VtxVހcW-kZJo.cgpwKh2{bڅfAV2d[hZmd򵙹2:щˌ?lRWmSmBE '-pG|ѵu6 }> 饻fg,Mxv߾`߉+y #;px2”B*\6 eOX".ba_
-؂_;W/U\1?N!f.r8A1hG2vלI뤓dN!c]$#]}]n،׉֋QK"wR춑_E\"P iN?0‡q$M/q@9N5ne}0ϰ98KLMk{BE}4Gr>HT$g3:I$m "&$M_oIv
-ÿ9.
-endstream
-endobj
-9088 0 obj
-<< /Type /Page /Contents 9089 0 R /Resources 9087 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R /Annots 9128 0 R >>
-endobj
-9128 0 obj
-[ 9086 0 R ]
-endobj
-9086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 89.997 313.949 101.952 324.153 ]/A << /S /GoTo /D (section.0.13) >> >>
-endobj
-9090 0 obj
-<< /D [ 9088 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9091 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-9092 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-9093 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 721.011 null ] >>
-endobj
-9094 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 710.052 null ] >>
-endobj
-9095 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 699.093 null ] >>
-endobj
-9096 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 688.134 null ] >>
-endobj
-9097 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-9098 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-9099 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-9100 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-9101 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-9102 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-9103 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-9104 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-9105 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-9106 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-9107 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-9108 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-9109 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-9110 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-9111 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-9112 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-9113 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-9114 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-9115 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-9116 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-9117 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-9118 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-129 0 obj
-<< /D [ 9088 0 R /XYZ 79.37 423.576 null ] >>
-endobj
-9119 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 280.818 null ] >>
-endobj
-9120 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 232.001 null ] >>
-endobj
-9121 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 186.173 null ] >>
-endobj
-9122 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 175.214 null ] >>
-endobj
-9123 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 164.255 null ] >>
-endobj
-9124 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 153.296 null ] >>
-endobj
-9125 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 142.337 null ] >>
-endobj
-9126 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 113.445 null ] >>
-endobj
-9127 0 obj
-<< /D [ 9088 0 R /XYZ 81.077 102.487 null ] >>
-endobj
-9087 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F65 185 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9131 0 obj
-<< /Filter /FlateDecode /Length 2646 >>
-stream
-xڝZYo8~_a_Sc" 030N%$`V:HۑͼD4b
-=O{ӏ?l,ቜݭ?1xAglfD4a&lv>e}u-Elz^|y^]q?Lrj(r_צ⏧-u(yo6QIPܲXmKG{ZQH
-OO[}o+jAeǏSd&I?&'ODfđּB̋q~oG=B﮴T
-W?˜Fk
- IH"aJ;I4cmй˙-}b); Qzasյ:Opso_bsIX bĕ!(uyR9Yk.pɼt4R…јaJp2DTWշ|p3몆\6nPj:ڶfW~6"$Xe2|ݚzn.yDxd{V{6&m?Zq
-4v`aҼn<P"/%$DBRh\ "=jOBK
-#0PC)8Q(␣M$֐S~ 8dw_ g(OtW|S.pUuUշCdtU+xac8//ۢ:SfɁ`"&9WP%k X%`1|`L `ʪd,5vjVyfl+
-8\Lzo\=,B?;Df&CzfV/hvҸC9MeT3?ORguW_; N q;+: 2<`E*:+*Bߧ@}A)"Tm(#1MaGcӌ':eQ& .ɟ\
-Dǰ \nK,ePvBHܾQoॕ߸vac0I7nxLD.fq_U, ChvfmFGL<7V3I9sƲiu@ ~Z7mD .{l̺ { \KشS|tt?/{j.
-c]sYD3s)wJ?"*'Fֻbk-9⮄Nlԝ@)]`8Q@Jh*%b@݉x[yv]b6 H@k ֑MbUl2B}ζ^9qp:r,/{l-g}:3c*LS
-:|7S/@w
-Nu+11pމ#9"s,Пz`]519.hD}S yO]UM\ճ\Gehy'O3._G0?,;hA
-<D.'{TͿSL5cW/"صGx1j{Q^P`W(7e">e\AjE}=4x7c_Ʃx$#,P\8|c]ҿ.T t@xW,=j7A;Eݴ @|XζU b5aDOq Y>qװ~M{'p1tH"s:HNnpcV]7M೟o-? "z)SG3Kfb}a=4dR%Cy|.bIIV#_X$)!GN~ 22q"ԞϦiM~0tJ =dqS_bb-^8卟\rSӉ㗏
-䪄 ,E^ߙFKI>KDRt&l}
-endstream
-endobj
-9130 0 obj
-<< /Type /Page /Contents 9131 0 R /Resources 9129 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-9132 0 obj
-<< /D [ 9130 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9133 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 742.929 null ] >>
-endobj
-9134 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 731.97 null ] >>
-endobj
-9135 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 679.168 null ] >>
-endobj
-9136 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 668.209 null ] >>
-endobj
-9137 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 657.25 null ] >>
-endobj
-9138 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-9139 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-133 0 obj
-<< /D [ 9130 0 R /XYZ 79.37 623.826 null ] >>
-endobj
-9140 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 443.209 null ] >>
-endobj
-9141 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 432.25 null ] >>
-endobj
-9142 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 421.291 null ] >>
-endobj
-9143 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 410.332 null ] >>
-endobj
-9144 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 399.373 null ] >>
-endobj
-9145 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 350.556 null ] >>
-endobj
-9146 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 339.597 null ] >>
-endobj
-9147 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 328.639 null ] >>
-endobj
-9148 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 317.68 null ] >>
-endobj
-9149 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 270.855 null ] >>
-endobj
-9150 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 259.896 null ] >>
-endobj
-9151 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 248.937 null ] >>
-endobj
-9152 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 237.978 null ] >>
-endobj
-9153 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 227.02 null ] >>
-endobj
-9154 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 216.061 null ] >>
-endobj
-9155 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 205.102 null ] >>
-endobj
-9156 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 194.143 null ] >>
-endobj
-9157 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 183.184 null ] >>
-endobj
-9158 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 172.225 null ] >>
-endobj
-9159 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 161.266 null ] >>
-endobj
-9160 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 150.307 null ] >>
-endobj
-9161 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 139.348 null ] >>
-endobj
-9162 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 128.389 null ] >>
-endobj
-9163 0 obj
-<< /D [ 9130 0 R /XYZ 81.077 117.431 null ] >>
-endobj
-9129 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F65 185 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R /F70 300 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9166 0 obj
-<< /Filter /FlateDecode /Length 1721 >>
-stream
-xڽZ]o6}ϯ0KX v,o`(6 LAwatI)u%yϹ$|8IW'oS;*jyBdB''ZQ(:ZO~,Oޟs
-P{B_0$bbيLYB41/$K29}YQ^쫫"[׾sE‘- 18r,6yMMIBa$5d2TiQ/j]eCa\y>0><N8agmT6F-eᰪ29qf}>c:+C80X-" {72ˊ|ӣ[Y iU_ME[m`dž"gϖ9jFab]*0K@@MZ1H+8F!:X)eϲEq>7|K3Һw\G_EսPņ)Ց
-@ΣK@UWL aζONeIKOG:aM7n&1͚f~t}uhK#&JsVD&Boċ28!7KY͚V3>2Ғh9
- N}#tb^euQ(fMVoG5D\pD$n97t_!G )91!EqamOe!1!P#BX@ݕpk"*Uy(c[!AUÓ I15J(l67./ gx#gZopB.ܭqC%f I/J㈅X菟GLC|V6#4~4j,8[7qݝ=c*%a/6Zh/ɚigC=>׆cA}9 DM0׾j#t;#\h*y]HBr
-(a=VDa(y!
-&ZtU
-mq
-W98ayaqqlBe9BGQOw=)!kũq;2w/k c8wk%bdqWѧ;ʆcR M(WeY]g+,:UV/BLˡRa5M.0"Q֠R@D,NBOX*]'x_ 2JMDBg0~
-endstream
-endobj
-9165 0 obj
-<< /Type /Page /Contents 9166 0 R /Resources 9164 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-9167 0 obj
-<< /D [ 9165 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9168 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 754.884 null ] >>
-endobj
-9169 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 743.925 null ] >>
-endobj
-9170 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 732.966 null ] >>
-endobj
-9171 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 722.007 null ] >>
-endobj
-9172 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 711.048 null ] >>
-endobj
-9173 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 700.089 null ] >>
-endobj
-9174 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 689.131 null ] >>
-endobj
-9175 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 678.172 null ] >>
-endobj
-9176 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 667.213 null ] >>
-endobj
-9177 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 656.254 null ] >>
-endobj
-9178 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-9179 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-9180 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-9181 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-9182 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-9183 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-9184 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-9185 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-9186 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 539.691 null ] >>
-endobj
-9187 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 528.732 null ] >>
-endobj
-9188 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-9189 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-9190 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-9191 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-9192 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-9193 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-9194 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-9195 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-9196 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-9197 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-9198 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-137 0 obj
-<< /D [ 9165 0 R /XYZ 79.37 396.677 null ] >>
-endobj
-9199 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 331.323 null ] >>
-endobj
-9200 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 320.364 null ] >>
-endobj
-9201 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 309.405 null ] >>
-endobj
-9202 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 298.446 null ] >>
-endobj
-9203 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 287.487 null ] >>
-endobj
-9204 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 276.528 null ] >>
-endobj
-9205 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 265.57 null ] >>
-endobj
-9206 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 254.611 null ] >>
-endobj
-9207 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 243.652 null ] >>
-endobj
-9208 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 232.693 null ] >>
-endobj
-9209 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 221.734 null ] >>
-endobj
-9210 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 210.775 null ] >>
-endobj
-9211 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 199.816 null ] >>
-endobj
-9212 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 188.857 null ] >>
-endobj
-9213 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 177.898 null ] >>
-endobj
-9214 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 166.939 null ] >>
-endobj
-9215 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 155.98 null ] >>
-endobj
-9216 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 145.022 null ] >>
-endobj
-9217 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 134.063 null ] >>
-endobj
-9218 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 123.104 null ] >>
-endobj
-9219 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 112.145 null ] >>
-endobj
-9220 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 101.186 null ] >>
-endobj
-9221 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 90.227 null ] >>
-endobj
-9222 0 obj
-<< /D [ 9165 0 R /XYZ 81.077 79.268 null ] >>
-endobj
-9164 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F77 539 0 R /F68 189 0 R /F64 183 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9225 0 obj
-<< /Filter /FlateDecode /Length 1806 >>
-stream
-xZ[OH~WdX5ӹ_vUjWZP-B2!:ЭN3ir H}q9|gܻ>"Q}rvv=&]{%D$K;>j^{)bѧОQ_Pq9,,iy74
-Opw/L=??&Af0!5ݼLgI5"{l? FE3B4([ ĸi
-ɶ
-{ioW$'6juǓA?>D8 9yYɄvWhCr/t$r7ѕcs(i~|Z}w*y}n"F"|է{v'證gysoN D:؅hpxpő+~={Q4FQdɿ+V*&I-.·aux_ΗeRƮ"j|!6w JPy]Cf-m[:
-:T:dlI $o 6ZEqS]}I$c R:+:"2g74N޻,.m8E
-`{66$d6W;7̆˩W{3m:HNw~jѵ1,m*C4X4RS;b|;tv|0lSmDh;CMlAr B"B z!Amo0.m 5WRDx4b`qn WO;[[[1'ݣG9#xmjmGdAD~D#6EpYSPkgh.a6l~~bd>wmmY [o,dkL Ox.JH W%|F(Dgv\ot܅ONc(x;s>ҝO B!LF(D/,KYLMK _l29qz]K>tlw@!B*!v"B>I$H㵀്B
-!&-WV->b>s3lݥa< OYZ5(궪ƬN{\tQCtܲ<; jʌ
-endstream
-endobj
-9224 0 obj
-<< /Type /Page /Contents 9225 0 R /Resources 9223 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-9226 0 obj
-<< /D [ 9224 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9227 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9228 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9229 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9230 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9231 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 690.205 null ] >>
-endobj
-9232 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 679.247 null ] >>
-endobj
-9233 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 668.288 null ] >>
-endobj
-9234 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 657.329 null ] >>
-endobj
-9235 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 646.37 null ] >>
-endobj
-9236 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 635.411 null ] >>
-endobj
-9237 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 624.452 null ] >>
-endobj
-9238 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 613.493 null ] >>
-endobj
-9239 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 602.534 null ] >>
-endobj
-9240 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 591.575 null ] >>
-endobj
-9241 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 580.616 null ] >>
-endobj
-9242 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 569.658 null ] >>
-endobj
-9243 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 558.699 null ] >>
-endobj
-9244 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 547.74 null ] >>
-endobj
-9245 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 536.781 null ] >>
-endobj
-9246 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 525.822 null ] >>
-endobj
-9247 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 514.863 null ] >>
-endobj
-9248 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 503.904 null ] >>
-endobj
-9249 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 492.945 null ] >>
-endobj
-9250 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 481.986 null ] >>
-endobj
-9251 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 471.027 null ] >>
-endobj
-9252 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 460.068 null ] >>
-endobj
-9253 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 449.11 null ] >>
-endobj
-9254 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 438.151 null ] >>
-endobj
-9255 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 427.192 null ] >>
-endobj
-9256 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 416.233 null ] >>
-endobj
-9257 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 405.274 null ] >>
-endobj
-9258 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 394.315 null ] >>
-endobj
-9259 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 383.356 null ] >>
-endobj
-9260 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 372.397 null ] >>
-endobj
-9261 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 361.438 null ] >>
-endobj
-9262 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 350.479 null ] >>
-endobj
-9263 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 324.675 null ] >>
-endobj
-9264 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 313.716 null ] >>
-endobj
-9265 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 302.757 null ] >>
-endobj
-9266 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 291.798 null ] >>
-endobj
-9267 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 280.839 null ] >>
-endobj
-9268 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 269.88 null ] >>
-endobj
-9269 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 258.921 null ] >>
-endobj
-9270 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 247.963 null ] >>
-endobj
-9271 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 237.004 null ] >>
-endobj
-9272 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 226.045 null ] >>
-endobj
-9273 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 215.086 null ] >>
-endobj
-9274 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 204.127 null ] >>
-endobj
-9275 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 193.168 null ] >>
-endobj
-9276 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 182.209 null ] >>
-endobj
-9277 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 171.25 null ] >>
-endobj
-9278 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 160.291 null ] >>
-endobj
-9279 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 149.332 null ] >>
-endobj
-9280 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 138.373 null ] >>
-endobj
-9281 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 127.415 null ] >>
-endobj
-9282 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 116.456 null ] >>
-endobj
-9283 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 105.497 null ] >>
-endobj
-9284 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-9285 0 obj
-<< /D [ 9224 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9223 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9288 0 obj
-<< /Filter /FlateDecode /Length 2128 >>
-stream
-xڵZo6~_a/
-P/rb۽nq\zd[N%W-7e[t}X9>j͘~O~W'Ǜn CĔL67n'x"`1F~'w=IxxgM$
-J1Fp|;{a>|~/e%JhUhl2yԽ̛b}}ѳ\8¤+ګ*ʓhWu|nԔWleD?;M(">&&>4yUGtQ?ŗޯx/ڳp3WLaJq>œh?p
- (+g#g%1cdSkɰNtJ.)g9gSQo4 ,6GkA|J뇣A-/:
-0|:k
-eJ20 J gqR@)\sXujR@9+[?8.δ33 rBBCf f@u0c-^fsfU>vQW&&gJ,2œݴTȫWl ;!f= lbNl֩ gog_V2nq+:&z*Ygb;lAH4 V
-JݫGFVqk14coW&V_fWj' k-^W220RaD 0uӤJ
-,cۭh۞mQ^f.YEuf9n{o?X>UTID+Y3ds^^wAԤ fVl 16dEs\$Oh_mjl濟UyST Zo­fvIǶ3]JyL•w/1L(vw niPv,tң2+'`;T @6z{=em Gŵ)ͧHn 0sSUbB-1K8mzL#>
-i;SCxU#i;lj GD].ݤeUG!Zb
-SQav
-endstream
-endobj
-9287 0 obj
-<< /Type /Page /Contents 9288 0 R /Resources 9286 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
-endobj
-9289 0 obj
-<< /D [ 9287 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9290 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9291 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-9292 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-9293 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-9294 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-9295 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9296 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9297 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9298 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9299 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9300 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9301 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 421.136 null ] >>
-endobj
-9302 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 410.177 null ] >>
-endobj
-9303 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 399.218 null ] >>
-endobj
-9304 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 388.259 null ] >>
-endobj
-9305 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-9306 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 366.341 null ] >>
-endobj
-9307 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-9308 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 344.423 null ] >>
-endobj
-9309 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 333.464 null ] >>
-endobj
-9310 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 322.505 null ] >>
-endobj
-9311 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 311.547 null ] >>
-endobj
-9312 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 300.588 null ] >>
-endobj
-9313 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-9314 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 230.849 null ] >>
-endobj
-9315 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 219.89 null ] >>
-endobj
-9316 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 208.931 null ] >>
-endobj
-9317 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 192.991 null ] >>
-endobj
-9318 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 182.032 null ] >>
-endobj
-9319 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 171.073 null ] >>
-endobj
-9320 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 160.114 null ] >>
-endobj
-9321 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 149.155 null ] >>
-endobj
-9322 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 138.197 null ] >>
-endobj
-9323 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 127.238 null ] >>
-endobj
-9324 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 116.279 null ] >>
-endobj
-9325 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 105.32 null ] >>
-endobj
-9326 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 94.361 null ] >>
-endobj
-9327 0 obj
-<< /D [ 9287 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-9286 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F78 650 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9330 0 obj
-<< /Filter /FlateDecode /Length 2032 >>
-stream
-xڽZKoW" Ls͢5i AqhG+ɓd3%S(>NYl+ēO~+׋?/>}j‘V|yALD$D%דMkY0(d*<FTLMo1í"Ii<m&{}ѽ<=ԳW%LvLr~gKiD85L!T?(8=U(޳gƞĨw(MN{7&HSC)UknAIVu.]gm?_+^;민*kRJxA)L!;RcfWuݤwfJ=vjW
-VH4b Cv|`ce)/Wݭ0JE޴ȧMjZnq>uϓie1dyUvϫ6h3!Mwrc{
-ͱF4-&4zqBtjٶXw]vf8\!.`C㞗|VY:/:JCRP1XlHbHPLAL<qt:{iڴ$T"!ͻ*RUmi̇$L!:k%x= eۥ1G'^0X=)Z룂 ͐Tz/ "(9QTEEV̱^vP ,WXzQH>EaUAOOWe61H юoe =6_Юۑ_e+qFJ 0BiZnE SHio =ڬ=M슡d+c"Mf> {7)׬l՞f3ˬh-XHc{v7#'?2(57SW}> DA|v|,]8lSuza=ns-S :>{mW{\fXa;qړn>}|["kH$Zuƛl4%G%i M?ߛs_:m]˗E6;R""#R fbBt`V{ϣ'fnahaD胊T=[U&8
-pҢ&P>C WUXi|\!:`b`p)E
-ޅ}憊ys07I|DOL2uѽym>t!Z6}]~uU( 1WWT$`3'I(=@+n\<T^$Ы8CrOA4K@TdⰆlH1' i ฮrV;WYH$xu {PDhq$1
-C
-?p:_=|W0Cdr,D@GCwѻ'"2
-"|S %1u<U&6Cr+y{PHb9v[(^CpBpw],N;]֘sr$D"`GBhz^_r1Y ѱ</c
-endstream
-endobj
-9329 0 obj
-<< /Type /Page /Contents 9330 0 R /Resources 9328 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9331 0 obj
-<< /D [ 9329 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9332 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9333 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9334 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9335 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9336 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-9337 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-9338 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-9339 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 667.213 null ] >>
-endobj
-9340 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 656.254 null ] >>
-endobj
-9341 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 645.295 null ] >>
-endobj
-9342 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 634.336 null ] >>
-endobj
-9343 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 623.377 null ] >>
-endobj
-9344 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 612.418 null ] >>
-endobj
-9345 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 601.459 null ] >>
-endobj
-9346 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 590.5 null ] >>
-endobj
-9347 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 579.542 null ] >>
-endobj
-9348 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 568.583 null ] >>
-endobj
-9349 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-9350 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-9351 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-9352 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-9353 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-9354 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-9355 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-9356 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-9357 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-9358 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-9359 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-9360 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-9361 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-9362 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-9363 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 386.266 null ] >>
-endobj
-9364 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 375.307 null ] >>
-endobj
-9365 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 364.349 null ] >>
-endobj
-9366 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 353.39 null ] >>
-endobj
-9367 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 342.431 null ] >>
-endobj
-9368 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 331.472 null ] >>
-endobj
-9369 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 320.513 null ] >>
-endobj
-9370 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-9371 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 298.595 null ] >>
-endobj
-9372 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 287.636 null ] >>
-endobj
-9373 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 276.677 null ] >>
-endobj
-9374 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 265.718 null ] >>
-endobj
-9375 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 254.759 null ] >>
-endobj
-9376 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 243.801 null ] >>
-endobj
-9377 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 232.842 null ] >>
-endobj
-9378 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 221.883 null ] >>
-endobj
-9379 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 210.924 null ] >>
-endobj
-9380 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 199.965 null ] >>
-endobj
-9381 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 189.006 null ] >>
-endobj
-9382 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 178.047 null ] >>
-endobj
-9383 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 167.088 null ] >>
-endobj
-9384 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 156.129 null ] >>
-endobj
-9385 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-9386 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-9387 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-9388 0 obj
-<< /D [ 9329 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-9328 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9392 0 obj
-<< /Filter /FlateDecode /Length 2072 >>
-stream
-xڵZKo8W3-2C\(eɑ<1}Lvg.M#Ȫ~'QO$ >[<\0Dglf4,%lgn]`93j-Lfd:@念Y(k׶Di?3!6iWBKs2)$4I$t aFVkbۅZΕd?^^)柩c _Uw};]{qzvM/x\u~262 ̚&{inBK5Z{}-CصUDd($BZ6;mmN xvGps>ms:<t\e
-ˬ"]C P">O
-w!44 |:#یeiZr:Ailxh vHEy|}vx;?5b-|qFLaQ:BtSxV-WuMc_#骺Vgn2$N(N /+zHxHN :!0_I^۽MւcUQVk+Na!(BOhJ2bgD6"D9v8:%}8IN3faj=s|vt[鬭҉*p5_Wi ҇Ġ,BYQI?̤I5Sxv ,1/B֊0lW [oLJI™xq,# \yJ7fn: Nl$Njwk״mIZ_-C߳HΈ DxG`)3 !z
-˛:,mYe.i7238̝Xr%d4b_^ !/EY&nsw 0{7,%9
-U_ۻ&pTbyOE`Oj:LP'ʽ.8B$ cxrts#C':/ U#ٹ8C7Y5w?R7.*<[5D;F!Oq.q+4x
-A|sWB{Ce֮m]; })7Ov;#jNW'1cGJ/foG9C_ٙ}{UTWL'PeKBRz؉SB6D)n׮Nr/YoҩG5U:nbb-&=?\ ^1)V2[qC̉&B-6>Z\)]gv5?#jehFhtB5#V^֐7uu[-ޔ6rK,/ܹ;١TDhJJ(,M}ppF_&8>tP?s'16)R9nrvӘQe_G,!OVqSyVnǟ=1odwhl;[jSs>єɌ%N|bZ{cE,:[!zwguuw6'oG(w6RZ!:PEPk+4
-ѣ6wz=]SHz'GGD
-FR
-V6
-W$)B~i2Ɏ32Ned;aiwu{{rA
-endstream
-endobj
-9391 0 obj
-<< /Type /Page /Contents 9392 0 R /Resources 9390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9393 0 obj
-<< /D [ 9391 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9394 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9395 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9396 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9397 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9398 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9399 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9400 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9401 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9402 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9403 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9404 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9405 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9406 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9407 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9408 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9409 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9410 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9411 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9412 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9413 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-9414 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-9415 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-9416 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-9417 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-9418 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-9419 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-9420 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-9421 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-9422 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-9423 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-9424 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-9425 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-9426 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-9427 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 377.3 null ] >>
-endobj
-9428 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 366.341 null ] >>
-endobj
-9429 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 355.382 null ] >>
-endobj
-9430 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 344.423 null ] >>
-endobj
-9431 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 291.621 null ] >>
-endobj
-9432 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 280.662 null ] >>
-endobj
-9433 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 269.703 null ] >>
-endobj
-9434 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 258.745 null ] >>
-endobj
-9435 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 247.786 null ] >>
-endobj
-9436 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 236.827 null ] >>
-endobj
-9437 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 225.868 null ] >>
-endobj
-9438 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-9439 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-9440 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-9441 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-9442 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-9443 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-9444 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-9445 0 obj
-<< /D [ 9391 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-9390 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9448 0 obj
-<< /Filter /FlateDecode /Length 2076 >>
-stream
-xZoF~_!/Zo?I!(w@gM@PeJ
-E9qoY.ܥ%Y#+{H.?poF`*۫_^QH8Wn
-Ft)h8
-%q$5y/,
-笮s+4P)e㡸x\4:*N8GD? \~?!#h~GV*Pyw+F+?|#
-5| w%)p!h~NzȚIMʮݕן=¢7yZ$|un Zf!.,턥a-eA1 i)F\tv>l+CC#"qbܛsDq v$)?ꪼ-/{;1M>K}ce7(Jxhcb0:0&̅jǟ&ל$3:mYԗy0^Vu*PC"ۘzr͢q6\dsKkze>oy[Kۺ9$09Z7(FN_L
-KLݼi5v4WK(
-RX*
-I[
-
- f mvGГUI$j&!BFA)mr\hy;4˛Raa|Sl$/'!)0L悘ub0|J|qз뇉fF̂7b/Ecrn=GVs"l*Z5Lrɚv\Hd}UJux!9|zӳ|,sn?TO omZidnA>Blh4uq<(Bk1@ d0Mz[t'0 9X^8t*Ǹ\/]("h;Bf"r/O$M$͇wh,$
-l pC}8׏1?na q?=iA:_>·.#p$i_8桏gd_jyt-G:o&,7
-֠Emv_C`%PIvhfoE" M\:B 'F<Ft!fA@he@~whX(q<4v&xs6S1Ȓ}e*đ?G
-endstream
-endobj
-9447 0 obj
-<< /Type /Page /Contents 9448 0 R /Resources 9446 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9449 0 obj
-<< /D [ 9447 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9450 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9451 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9452 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9453 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9454 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9455 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9456 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9457 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9458 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9459 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9460 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9461 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9462 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9463 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9464 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9465 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9466 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 557.624 null ] >>
-endobj
-9467 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 546.665 null ] >>
-endobj
-9468 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 535.706 null ] >>
-endobj
-9469 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 524.747 null ] >>
-endobj
-9470 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 513.788 null ] >>
-endobj
-9471 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 502.829 null ] >>
-endobj
-9472 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 491.87 null ] >>
-endobj
-9473 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 480.911 null ] >>
-endobj
-9474 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 469.953 null ] >>
-endobj
-9475 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 458.994 null ] >>
-endobj
-9476 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 448.035 null ] >>
-endobj
-9477 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-9478 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 390.251 null ] >>
-endobj
-9479 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 379.292 null ] >>
-endobj
-9480 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 368.334 null ] >>
-endobj
-9481 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 357.375 null ] >>
-endobj
-9482 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 346.416 null ] >>
-endobj
-9483 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 335.457 null ] >>
-endobj
-9484 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 324.498 null ] >>
-endobj
-9485 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 313.539 null ] >>
-endobj
-9486 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 302.58 null ] >>
-endobj
-9487 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 273.688 null ] >>
-endobj
-9488 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 262.73 null ] >>
-endobj
-9489 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 251.771 null ] >>
-endobj
-9490 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 240.812 null ] >>
-endobj
-9491 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 229.853 null ] >>
-endobj
-9492 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 218.894 null ] >>
-endobj
-9493 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 207.935 null ] >>
-endobj
-9494 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-9495 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-9496 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-9497 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-9498 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-9499 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-9500 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-9501 0 obj
-<< /D [ 9447 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-9446 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9504 0 obj
-<< /Filter /FlateDecode /Length 2645 >>
-stream
-xZ[o~_a<Tp;EA t
-%񥨫rmFxW-ͺ:fm(tJRB٢ sӠ3W踈B[gemigU'ݐؽ P>K7im~_>j|?]UU\ǽ+J?o}DQQq,SE%a c(< ;[7A*vPDaN `+#cX=U_v0i9#ڨL@@Exd0@t封t TJӨH̭*ڧǛzkT)jpGRgjHW..:D(+`sC<Nt{yeFQ=?4wn48
-Qi t/<דАS9X2)ςs,[I]oMPu p8 *G3NQLh8 841෎@{<ݍan
-vf`:8S2q9c6&7 n
-%Mrk=
-Թe -SoKa4(u\EU6ZpƗˎ3L h9M~ʬ$E9ϯdqI IN(1.3hCR*_G1=ZY%[{]|J!ens-+]~r;46hcLef9t\b\!p S1u^cucpLјQZJݼbMa1䗀Q+ t "V a4\I3,f*JU盼ܻL
-R_`;;0b 6x㢈&īL9,4a_ Mq=иyUX
-g4RGŀh ܁h?uk㡜/2'jCI ]E2Ǝ; *F<ZE 6+
-D ε*vy:>T3=}7LU-TŠ>xl  1.Q/# GeC
-NuGhpW="!/֓o&
-endstream
-endobj
-9503 0 obj
-<< /Type /Page /Contents 9504 0 R /Resources 9502 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9505 0 obj
-<< /D [ 9503 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9506 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9507 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9508 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9509 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9510 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9511 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9512 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 655.906 null ] >>
-endobj
-9513 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 644.947 null ] >>
-endobj
-9514 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 633.988 null ] >>
-endobj
-9515 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 623.029 null ] >>
-endobj
-9516 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 612.07 null ] >>
-endobj
-9517 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 601.111 null ] >>
-endobj
-9518 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 590.152 null ] >>
-endobj
-9519 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 579.193 null ] >>
-endobj
-9520 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 568.235 null ] >>
-endobj
-9521 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 557.276 null ] >>
-endobj
-9522 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 546.317 null ] >>
-endobj
-9523 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 512.096 null ] >>
-endobj
-9524 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 501.137 null ] >>
-endobj
-9525 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 490.178 null ] >>
-endobj
-9526 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 479.219 null ] >>
-endobj
-9527 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 468.26 null ] >>
-endobj
-9528 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 457.301 null ] >>
-endobj
-9529 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 446.342 null ] >>
-endobj
-9530 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 435.383 null ] >>
-endobj
-9531 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 424.424 null ] >>
-endobj
-9532 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 413.466 null ] >>
-endobj
-9533 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 402.507 null ] >>
-endobj
-9534 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 391.548 null ] >>
-endobj
-9535 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 375.932 null ] >>
-endobj
-9536 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 364.973 null ] >>
-endobj
-9537 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 354.014 null ] >>
-endobj
-9538 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 343.055 null ] >>
-endobj
-9539 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 265.484 null ] >>
-endobj
-9540 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 177.789 null ] >>
-endobj
-9541 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 166.83 null ] >>
-endobj
-9542 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 155.871 null ] >>
-endobj
-9543 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 144.912 null ] >>
-endobj
-9544 0 obj
-<< /D [ 9503 0 R /XYZ 81.077 133.954 null ] >>
-endobj
-9502 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9547 0 obj
-<< /Filter /FlateDecode /Length 2605 >>
-stream
-xڵZߏ۸~_a gS>
-4hP}i
-Ck%'iww(Jb},9 *YݭWI%WyWdrٿ(YѕVDt*JEW7տZdտoXi)LJ2S.v*WWɤy/}]V]^u-+5uWf>'LM[/R™ _CYN^^?{"v۶ V@8iF8Lq%
-[Y
-b%Mѩ a8|[-۲~Wݼayu;90K$IcvKf")??o l]՝S|y'xKצ]?ǣm^mځ?՝{W2TF
-f!f:dtv%y:0\13札9Niײ7]qjw XgSsĈ1j;sv[p52ƞc:%TL&ITL_Na鲱YΐhhH^cM|1D^n#%q
-s¹3 !iwz mP8d2rEp 3[.Q˔I"! ,MIWzW¶2Q`IMh ؀
- A*ؘXWmgO!<SA6 (I3byeVPV3l@ OVwa /u]'I"l\P%
-yXJŃ@uskb2
-Y맪7@3ᕏOf“6: jݣM4#DÙ^,
-]șU
-#q^c~</yhyDݗ deo.ջƄIKɸ?:/=5
-zMh!!:~lJ}qcgVTG
-yA 3`y$ K$d4lGPBL~24-#BiF6xF692Ww
- N3OiBHt'ɐѸ*@ϜR7RC.Cj⎂XT>c.KvD孽1 y鮎ڛ*?Ȟ-6WjxOgTN8.x#I9r&K] am"4AAL2TJY_kc ػ21
-TQ2@;5>x(?<s>xaqk1% ?/._{8l`f~h
-> uQTqINE.7  Z1O1H!$z/l08 |0,ʕNFC"ncf],w 2G_44tJq @^cD_:|:~i]I-b&~^*N mp/ؗ}t[SC~*Y]45oxȘ~vr7wi4CSf*C^OLS0bKW JT0?5D@nh4H4}HʂS]Aza!R@,| Os;ێ?޾qJ (gc/3+%B \DJbCa` WPzh[ =$A{EX =&,cQ
-endstream
-endobj
-9546 0 obj
-<< /Type /Page /Contents 9547 0 R /Resources 9545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9548 0 obj
-<< /D [ 9546 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9549 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9550 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9551 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 705.911 null ] >>
-endobj
-9552 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 694.952 null ] >>
-endobj
-9553 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 683.993 null ] >>
-endobj
-9554 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 673.034 null ] >>
-endobj
-9555 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 662.075 null ] >>
-endobj
-9556 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 651.117 null ] >>
-endobj
-9557 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 640.158 null ] >>
-endobj
-9558 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 610.254 null ] >>
-endobj
-9559 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 599.295 null ] >>
-endobj
-9560 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 509.055 null ] >>
-endobj
-9561 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 498.096 null ] >>
-endobj
-9562 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 487.137 null ] >>
-endobj
-9563 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 476.178 null ] >>
-endobj
-9564 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 465.219 null ] >>
-endobj
-9565 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 454.26 null ] >>
-endobj
-9566 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 443.302 null ] >>
-endobj
-9567 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 432.343 null ] >>
-endobj
-9568 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 421.384 null ] >>
-endobj
-9569 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 410.425 null ] >>
-endobj
-9570 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 399.466 null ] >>
-endobj
-9571 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 370.854 null ] >>
-endobj
-9572 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 359.895 null ] >>
-endobj
-9573 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 307.934 null ] >>
-endobj
-9574 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 296.975 null ] >>
-endobj
-9575 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 286.016 null ] >>
-endobj
-9576 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 275.057 null ] >>
-endobj
-9577 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 264.098 null ] >>
-endobj
-9578 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 253.139 null ] >>
-endobj
-9579 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 242.18 null ] >>
-endobj
-9580 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 213.569 null ] >>
-endobj
-9581 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 202.61 null ] >>
-endobj
-9582 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 191.651 null ] >>
-endobj
-9583 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 180.692 null ] >>
-endobj
-9584 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 169.733 null ] >>
-endobj
-9585 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-9586 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-9587 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-9588 0 obj
-<< /D [ 9546 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9545 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F30 644 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9591 0 obj
-<< /Filter /FlateDecode /Length 1717 >>
-stream
-xڵY[o6~ϯ0XY/y-iǖmdr6ߡ$S>Ib>#y`6wgtw%wgo^_i;Y&zz%:`ff`4#Tr*a.5`9i-l fdxM{h#[#c Galw؎(RG&d],UYipK;hhOc-G<lS^1C8W1ўћ7ٸZT˪5oI(E7 Y@SpUZs"@E$hOv4hV!]`!Oc!)}DCӆV@6?8i͉AޤƱў|]ݾl^dž\/WlR,D#'c%$_8' (-Xn"ᬨ^)ζc4QifrAN_uoEME<BC9 }xFof7v™s`FIL/$?Ҡ}Dfpra'vW @8@#qDpk:;L
-)jcx&ȬL{bYs>. . 1%R.־ɇ!h^=`\nKN.^I9ֳ 7DJRb# vx'WsCN9U{&JQ['SҀ!ts~x4%#d2oomh[XŢ}>+n=<Ko::G#U
-Fҫ?no~b.9Jbo0XnZ=,Droinef3^]c!@Ӕ[syC%jwkA;`)e2X
-n&+ljМ|r~UF eO"g%m? T8THA1BMubAu WH~V_,4 !qr(ǝ;Ǩ2#AVMMqbt.rF*
- }4Ñxi\~TJ! Bn@{8B{Wh$ՐY
-4Fl tZ$gh&hiF@nN[Tm$A?4 p4b- ;5U I/[B$0%A( YwF)H*H_O38{|)X@XnO, sY1|Y^v
-ц,i.6fRO p NϤk7 97}K -A?v#*<A?z%'c)*JPګfdϝăhx'ygF*n7̿~^^>^:=>^`U>HbQr]Q-
-ذKO_il4.3$"<xh9ā`WC~=eD_p`j1(*@wzo q79#T)oty1`Fw?Wc_zڙGTڈ4RIet֣oO>_[: 7G[jHͳ
-vsvI W$-CFOtS*SΓ{<By<Oa?tMXX<Kp:Ep%{oUVaMALW`. Z~>sy
-endstream
-endobj
-9590 0 obj
-<< /Type /Page /Contents 9591 0 R /Resources 9589 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9592 0 obj
-<< /D [ 9590 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9593 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9594 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9595 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9596 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9597 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9598 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9599 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9600 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9601 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9602 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9603 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9604 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9605 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9606 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9607 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9608 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9609 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9610 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9611 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9612 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-9613 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-9614 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-9615 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-9616 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-9617 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-9618 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-9619 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 436.08 null ] >>
-endobj
-9620 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 425.121 null ] >>
-endobj
-9621 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 414.162 null ] >>
-endobj
-9622 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 403.203 null ] >>
-endobj
-9623 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 392.244 null ] >>
-endobj
-9624 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-9625 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-9626 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-9627 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-9628 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-9629 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-9630 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-9631 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-9632 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-9633 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-9634 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-9635 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-9636 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-141 0 obj
-<< /D [ 9590 0 R /XYZ 79.37 226.316 null ] >>
-endobj
-9637 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 141.341 null ] >>
-endobj
-9638 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 130.382 null ] >>
-endobj
-9639 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 119.423 null ] >>
-endobj
-9640 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 108.464 null ] >>
-endobj
-9641 0 obj
-<< /D [ 9590 0 R /XYZ 81.077 97.505 null ] >>
-endobj
-9589 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9644 0 obj
-<< /Filter /FlateDecode /Length 2233 >>
-stream
-xڵZ[o8~0ЗذU(fv;y< š\m~BEqy$Js"Z&D3˛޼ :-o(<-"QDx+J"EW?`HV'>Fh\\TƔf7V}W_;j/=cOꯉ,#B#DR™ 蹹&Tp7wr," V[c>T&mfY)D8J8J E~Vڮe|rTLRV>:PhL, GV:(77
-'ؘ6;PHPǗSb Sr8q3@?5w曯SHSG( Gbn嵹~چ8C"
-x
-z fp!8ca-@l~AI fmI8!XYB.^hJcUd` 3-:LywbyPo,ibµ1v0wm̊*owֈ7^;:3ijza$ t0'R4oPǒ8h
-@X<]yšUTT]`n& 9b|5h"1z
-pxE)N0㫂A5͂q@b(C >'WJ. V'M[:5l~{Ow<\]#k2 Sd4~Jnj_ڪz) 4S^ľ7+TPl(jvJ>
-xIdrmwE}4~n0G7~<]HW̠>xh5 َ#1hV(G уwlۧW{)^v
-)t%] ߮M$aPe(fc6צm$*٭:Xmĸ`p.@צ0Yٮf6hTD4w ;|:S#2(vs L<{Ƞ!uZO:6e<c:|i>lnKAy_kӚ-p,/:|"Y
-@F\x`GF.w&@=R+?24qWYb]# }yqŢD8}h˲ .<_CKۋI[ĉ
-endstream
-endobj
-9643 0 obj
-<< /Type /Page /Contents 9644 0 R /Resources 9642 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9645 0 obj
-<< /D [ 9643 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9646 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9647 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9648 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9649 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9650 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9651 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-9652 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-9653 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-9654 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-9655 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-9656 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-9657 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-9658 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-9659 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-9660 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-9661 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-9662 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-9663 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-9664 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-9665 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-9666 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-9667 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-9668 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-9669 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-9670 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 422.132 null ] >>
-endobj
-9671 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-9672 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 400.214 null ] >>
-endobj
-9673 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 389.255 null ] >>
-endobj
-9674 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 378.296 null ] >>
-endobj
-9675 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-9676 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-9677 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-9678 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-9679 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-9680 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-9681 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 301.584 null ] >>
-endobj
-9682 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 290.625 null ] >>
-endobj
-9683 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 279.666 null ] >>
-endobj
-9684 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-9685 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 257.748 null ] >>
-endobj
-9686 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-9687 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-9688 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-9689 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-9690 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-9691 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-9692 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-9693 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-9694 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-9695 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-9696 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-9697 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-9698 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-9699 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-9700 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-9701 0 obj
-<< /D [ 9643 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-9642 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F20 186 0 R /F19 184 0 R /F30 644 0 R /F69 299 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9704 0 obj
-<< /Filter /FlateDecode /Length 1720 >>
-stream
-xڵZMoFWEF~`hnmA%
-I;vw)R]ى42z1efvtї ?
-\2Yۑ$2G 7YM43#VK~7xV
-ɭ[Ǒ*_i=)"S,ʔ IM I)|>޿6\&XIt`;mHx`FG6"8b? mKCdSQ7MEs"bqiђ>̂u?nCNuo$QzyV݄C䃉DyqhpV' UZ
-σ$&~Vwk<\<<H$}a)2KNa]$${Ad'<LSC4.c4zl&J(ʠT4AǶfal ? .w'C׳U+-#رem'n
-c(.@bt5.CHA2`NvAY4 KĄ%gnʇmXd,&h"!@͉W)s̍ZA#" G9o8Lյb<Vfܴgۣ7[ݥCbvwulW"`# -0C'.ʈc)l[M>ov돥%Cs6&d*d&htc#&FƦ*lӹ8?BqPT3_/^GJb)cQ)RdpnU4 C )[M%}y2<?v~n  VZ %mv6Ӗ]$Im#PC-iF .(Mн|@w<6jAsDy A%.T_m3ckZQXXc{FuЬe aj1.5$# Ǧܢ)E\xyh NCy
-n29MsG%F+=}v|\NTP.pbti=+%#9ڵM` 4@J;,P{.
-If5*(:}CGM=;[bpZlM1=YwO -Y^yEL 8c~|_s|JpE,"zYԫOl&q/AR|
-S}_а\ >1^%۽[{t|;N |Uc(Cя/J$ˈ! *b0"J,|$c(<&6<]KgA
-vMN/s
-endstream
-endobj
-9703 0 obj
-<< /Type /Page /Contents 9704 0 R /Resources 9702 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9705 0 obj
-<< /D [ 9703 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9706 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9707 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9708 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9709 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9710 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9711 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9712 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9713 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9714 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9715 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9716 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9717 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9718 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9719 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9720 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9721 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9722 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9723 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9724 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9725 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-9726 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-9727 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-9728 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-9729 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-9730 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-9731 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-9732 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-9733 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-9734 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-9735 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-9736 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-9737 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-9738 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 396.445 null ] >>
-endobj
-9739 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 385.486 null ] >>
-endobj
-9740 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 374.527 null ] >>
-endobj
-9741 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 363.568 null ] >>
-endobj
-9742 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 352.61 null ] >>
-endobj
-9743 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 341.651 null ] >>
-endobj
-9744 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 330.692 null ] >>
-endobj
-9745 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 319.733 null ] >>
-endobj
-9746 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 308.774 null ] >>
-endobj
-9747 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 297.815 null ] >>
-endobj
-9748 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 286.856 null ] >>
-endobj
-9749 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-9750 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 264.938 null ] >>
-endobj
-9751 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 253.979 null ] >>
-endobj
-9752 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 243.021 null ] >>
-endobj
-9753 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 232.062 null ] >>
-endobj
-9754 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 221.103 null ] >>
-endobj
-9755 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 210.144 null ] >>
-endobj
-9756 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 199.185 null ] >>
-endobj
-9757 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 188.226 null ] >>
-endobj
-9758 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 177.267 null ] >>
-endobj
-9759 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-9760 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-9761 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-9762 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-9763 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-9764 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-9765 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-9766 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-9767 0 obj
-<< /D [ 9703 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9702 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9770 0 obj
-<< /Filter /FlateDecode /Length 1448 >>
-stream
-xڭY]o6}ϯ0C~lh
- X bӎ[d%MZҒ)6_w/+7tɇ zh
-.ﴝH,|2[^0D'lb5Lfj6m&Py-
-l
-V!]Nh1N "y/Ӳ]=m|}ʹ OڅVNCοtï}< uo˹'ŐH3.?m1(#.my7uKm'gZT7ëw MZX1=27DqS򕣇kTuwX!sj\=Ur}5Zu늪əgAKd3oDeזnٴC|"ZFf')ImTnvז.Gkz4 +QęE]^BTѣ`z)r],MPIeUC] ?3ܔvpxJ߾^^1fzuo*f۝;kt8 ur3uhv$q JYD\Qݴùl9o.qlR4^ͨ!E%
-f)z4~Uh;.&TEaE%C*ٷ$zkU':pzo^$LD18`ZˡR PU&8,\5C@22^D4!;/{7?>'@ШfX=bSvE׬@`y-cȨhBhLD(U( 24:v3E='J^ǎ8(>/njhӴQpd轔7?H ?Dɨ¢B)CV@ :O:p>JR|^RF'qœozXm ]5q
-"oU YPS =M5,ÙC1j34zٸĸhhD٥  DT|3*hbMKdh"hE:) n}k
-ީ(W\gSSҡ
-f Li̬ `nt
-y~ȼY(8p z
-.M ;:HUERp<$U])%8o~ok !3C\p.8A
-endstream
-endobj
-9769 0 obj
-<< /Type /Page /Contents 9770 0 R /Resources 9768 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9771 0 obj
-<< /D [ 9769 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9772 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9773 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9774 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9775 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9776 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9777 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9778 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9779 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9780 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 657.25 null ] >>
-endobj
-9781 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 646.291 null ] >>
-endobj
-9782 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 635.332 null ] >>
-endobj
-9783 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 624.373 null ] >>
-endobj
-9784 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 613.415 null ] >>
-endobj
-9785 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 602.456 null ] >>
-endobj
-9786 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 591.497 null ] >>
-endobj
-9787 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 580.538 null ] >>
-endobj
-9788 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 569.579 null ] >>
-endobj
-9789 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 558.62 null ] >>
-endobj
-9790 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 547.661 null ] >>
-endobj
-9791 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 536.702 null ] >>
-endobj
-9792 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 525.743 null ] >>
-endobj
-9793 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 514.784 null ] >>
-endobj
-9794 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 503.825 null ] >>
-endobj
-9795 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 492.867 null ] >>
-endobj
-9796 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 481.908 null ] >>
-endobj
-9797 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 470.949 null ] >>
-endobj
-9798 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-9799 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-9800 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 438.072 null ] >>
-endobj
-9801 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 427.113 null ] >>
-endobj
-9802 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 416.154 null ] >>
-endobj
-9803 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 405.195 null ] >>
-endobj
-9804 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 394.236 null ] >>
-endobj
-9805 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 383.278 null ] >>
-endobj
-9806 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-9807 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 361.36 null ] >>
-endobj
-9808 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 350.401 null ] >>
-endobj
-9809 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 339.442 null ] >>
-endobj
-9810 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 328.483 null ] >>
-endobj
-9811 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 317.524 null ] >>
-endobj
-9812 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 306.565 null ] >>
-endobj
-9813 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 295.606 null ] >>
-endobj
-9814 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 284.647 null ] >>
-endobj
-9815 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 273.688 null ] >>
-endobj
-9816 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 262.73 null ] >>
-endobj
-9817 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 251.771 null ] >>
-endobj
-145 0 obj
-<< /D [ 9769 0 R /XYZ 79.37 228.309 null ] >>
-endobj
-9818 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 159.966 null ] >>
-endobj
-9819 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 149.007 null ] >>
-endobj
-9820 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 138.048 null ] >>
-endobj
-9821 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 127.089 null ] >>
-endobj
-9822 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 116.13 null ] >>
-endobj
-9823 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 105.171 null ] >>
-endobj
-9824 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 94.212 null ] >>
-endobj
-9825 0 obj
-<< /D [ 9769 0 R /XYZ 81.077 83.253 null ] >>
-endobj
-9768 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F67 187 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9828 0 obj
-<< /Filter /FlateDecode /Length 1823 >>
-stream
-xZ[o~7{ hZUB=VcTI:cԿܕLG~;3E |BG"'7L2b |2_0N(hUl2hi?Wx!V)ab0HeSȮ/-Wt._:k˺^}QYpv.RLuyܺlܫͦw4q2'(x;4u3sKK׹EWczRvoܷ7_W a& +aV)Uh^O-ַ._e\jc93M83q1@ˉ*•
-ȈY1.>  :lʽbչ LFDf+ct1RZ1PS8jx} )I&+fRLL jK'/"A*ؐ
-3?:#zD-⺸r?-!'6ZH bhQP;A-$91Y>͈M}/UYMT2F qBT@Z|I5+Ǣkw}OrS|b`vbZmpXfkPy%iYUnO֫eS,\.ZE‰U^g\ޕUm]VP~]xv
-0#8š*w..woytJaeGf6(73(;R!ܻMMV;`_SUE@
-zL95aeݣON 5F=AkoL6V*}UۃY;H c~pn5.p*j[eh_'Vm羪N1MX*q 褊03t\RPRtr5]| $Cf%aahg9 q[ ﬘@@ؠܙւp5Ž;FC)&QT(%gC,%TYcpP8ecasiƿ[zTbp3  &4>ԩ&d1z>ӿao,#p2'm#A=F5)#JdU$zBϫvջ'
-endstream
-endobj
-9827 0 obj
-<< /Type /Page /Contents 9828 0 R /Resources 9826 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9389 0 R >>
-endobj
-9829 0 obj
-<< /D [ 9827 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9830 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9831 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9832 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9833 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9834 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9835 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9836 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9837 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9838 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9839 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9840 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9841 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9842 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9843 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9844 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9845 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9846 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9847 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9848 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9849 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-9850 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-9851 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 509.803 null ] >>
-endobj
-9852 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 498.844 null ] >>
-endobj
-9853 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 487.885 null ] >>
-endobj
-9854 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 476.926 null ] >>
-endobj
-9855 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 465.967 null ] >>
-endobj
-9856 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 455.009 null ] >>
-endobj
-9857 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-9858 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 433.091 null ] >>
-endobj
-9859 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 422.132 null ] >>
-endobj
-9860 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 411.173 null ] >>
-endobj
-9861 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 400.214 null ] >>
-endobj
-9862 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 389.255 null ] >>
-endobj
-9863 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 378.296 null ] >>
-endobj
-9864 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 367.337 null ] >>
-endobj
-9865 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 356.378 null ] >>
-endobj
-9866 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 345.42 null ] >>
-endobj
-9867 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 334.461 null ] >>
-endobj
-9868 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 323.502 null ] >>
-endobj
-9869 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 312.543 null ] >>
-endobj
-9870 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 301.584 null ] >>
-endobj
-9871 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 290.625 null ] >>
-endobj
-9872 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 279.666 null ] >>
-endobj
-9873 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 268.707 null ] >>
-endobj
-9874 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 257.748 null ] >>
-endobj
-9875 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 246.789 null ] >>
-endobj
-9876 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 235.83 null ] >>
-endobj
-9877 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 224.872 null ] >>
-endobj
-9878 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 213.913 null ] >>
-endobj
-9879 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 202.954 null ] >>
-endobj
-9880 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-9881 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 181.036 null ] >>
-endobj
-9882 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 170.077 null ] >>
-endobj
-9883 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 159.118 null ] >>
-endobj
-9884 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 148.159 null ] >>
-endobj
-9885 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-9886 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-9887 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-9888 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-9889 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-9890 0 obj
-<< /D [ 9827 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-9826 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9893 0 obj
-<< /Filter /FlateDecode /Length 1576 >>
-stream
-xڵZMoFW%F~~dmK[L9j$Qޡ%.we(Lq켙,1x{"#~{z|VDMb ނna`{NE`xju@[hbk
- ~ s_RXzS.Qy16Ť\TUZHװbض=m~
-PGQ
-
-em^~{hϪgf^'E5m2*dhXEy3QUBe{9ټ/bqSTD =cK&D}<m|Quom7.fi{_L!] 8#kghH>71.|a嬏\j"J(V?C?9J[%Ȟ*2]WT/7e=7tݮ+X(AEF^|2Уns߇:JT6h7@@
-UBj@;~WiGijGUZ&
-4DQ ?UӏrU_T1&⢺*_4|Yh(TQt
-*8>ˣ8ҢWt<)p;IT|[u%
-endstream
-endobj
-9892 0 obj
-<< /Type /Page /Contents 9893 0 R /Resources 9891 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-9894 0 obj
-<< /D [ 9892 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9895 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9896 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9897 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9898 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9899 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9900 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9901 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9902 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9903 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9904 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9905 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9906 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9907 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9908 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9909 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9910 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9911 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9912 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9913 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9914 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-9915 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-9916 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-9917 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-149 0 obj
-<< /D [ 9892 0 R /XYZ 79.37 504.274 null ] >>
-endobj
-9918 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 463.812 null ] >>
-endobj
-9919 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 452.853 null ] >>
-endobj
-9920 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 441.894 null ] >>
-endobj
-9921 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 430.935 null ] >>
-endobj
-9922 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 419.976 null ] >>
-endobj
-9923 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 409.017 null ] >>
-endobj
-9924 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 398.058 null ] >>
-endobj
-9925 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 387.1 null ] >>
-endobj
-9926 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 376.141 null ] >>
-endobj
-9927 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 365.182 null ] >>
-endobj
-9928 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 354.223 null ] >>
-endobj
-9929 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 343.264 null ] >>
-endobj
-9930 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 332.305 null ] >>
-endobj
-9931 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 321.346 null ] >>
-endobj
-9932 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 310.387 null ] >>
-endobj
-9933 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 299.428 null ] >>
-endobj
-9934 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 288.469 null ] >>
-endobj
-9935 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 277.51 null ] >>
-endobj
-9936 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 266.552 null ] >>
-endobj
-9937 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 255.593 null ] >>
-endobj
-9938 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 244.634 null ] >>
-endobj
-9939 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 233.675 null ] >>
-endobj
-9940 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 222.716 null ] >>
-endobj
-9941 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 211.757 null ] >>
-endobj
-9942 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 200.798 null ] >>
-endobj
-9943 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 189.839 null ] >>
-endobj
-9944 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 178.88 null ] >>
-endobj
-9945 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 167.921 null ] >>
-endobj
-9946 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 156.963 null ] >>
-endobj
-9947 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 146.004 null ] >>
-endobj
-9948 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 135.045 null ] >>
-endobj
-9949 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 124.086 null ] >>
-endobj
-9950 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 113.127 null ] >>
-endobj
-9951 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 102.168 null ] >>
-endobj
-9952 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 91.209 null ] >>
-endobj
-9953 0 obj
-<< /D [ 9892 0 R /XYZ 81.077 80.25 null ] >>
-endobj
-9891 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F67 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9957 0 obj
-<< /Filter /FlateDecode /Length 1488 >>
-stream
-xڵMoFrId:M
-̻ib6\}ZUY)Iw#zW#h;&Fc 4TƠkNT=6]oH}2H>tqbwڵ
-2K6r
-1Hb>"wMnOK\Lg\zgP$L}뻲v]{27 <25,1NC6Ifd=-jO9:i|
-cjl\O8j R*0Y[>b_cɳj&v{2z‘2E}ol2s²~U)ᘓZj&sc*h5s~8BD t`%nɔJK~0c[2=([W߂޿~]&[zXc+i35=&wg$L}ܫدnw?gC̙3sJhА%-3dsmQ^WܾJ(rƙT|e):g.І%-Ed':in|%>'?^*ԧ#/k&${Ƙ0^aA߆yAcg1U4T}>&>@ׇ~i#djrb2F@U4y7!C51nH1IK<Ҥ'S?J0-2%S?W "$gڢ*KCLІ"sgFU*Z̸5Y\O*@ccRuDݩ~sx19 7Ex>??&b84Wv9t`/g
-endstream
-endobj
-9956 0 obj
-<< /Type /Page /Contents 9957 0 R /Resources 9955 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-9958 0 obj
-<< /D [ 9956 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-9959 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-9960 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-9961 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-9962 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-9963 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-9964 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-9965 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-9966 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-9967 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-9968 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-9969 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-9970 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-9971 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-9972 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-9973 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-9974 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-9975 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-9976 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-9977 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-9978 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-9979 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-9980 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-9981 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-9982 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-9983 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-9984 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-9985 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-9986 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-9987 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-9988 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-9989 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-9990 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 424.124 null ] >>
-endobj
-9991 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 413.165 null ] >>
-endobj
-9992 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 402.207 null ] >>
-endobj
-9993 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 391.248 null ] >>
-endobj
-9994 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 380.289 null ] >>
-endobj
-9995 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 369.33 null ] >>
-endobj
-9996 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 358.371 null ] >>
-endobj
-9997 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 347.412 null ] >>
-endobj
-9998 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 336.453 null ] >>
-endobj
-9999 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 325.494 null ] >>
-endobj
-10000 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 314.535 null ] >>
-endobj
-10001 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 303.576 null ] >>
-endobj
-10002 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 292.618 null ] >>
-endobj
-10003 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 281.659 null ] >>
-endobj
-10004 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 270.7 null ] >>
-endobj
-10005 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 259.741 null ] >>
-endobj
-10006 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 248.782 null ] >>
-endobj
-10007 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 237.823 null ] >>
-endobj
-10008 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 226.864 null ] >>
-endobj
-10009 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 215.905 null ] >>
-endobj
-10010 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 204.946 null ] >>
-endobj
-10011 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 193.987 null ] >>
-endobj
-10012 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 183.028 null ] >>
-endobj
-10013 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 172.07 null ] >>
-endobj
-10014 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 161.111 null ] >>
-endobj
-10015 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 150.152 null ] >>
-endobj
-10016 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 139.193 null ] >>
-endobj
-10017 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-10018 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-10019 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-10020 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-10021 0 obj
-<< /D [ 9956 0 R /XYZ 81.077 84.398 null ] >>
-endobj
-9955 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10024 0 obj
-<< /Filter /FlateDecode /Length 1504 >>
-stream
-xڽYMoFW%i~dhO5!KB"n]ZpWV\ ⥥}7of,[f,{w#)}wśe
-RdX3gpYÁݮ_:?n
-`9HT*A^_7MUwWK-ˇ6vf_/ng?<l/5(hZm]ԣ%˼[ofy.=l:zj, f0nShG<j-*;V)U1r4*nnCWu>oE>+yd܂Ө*šjݷT'2dfhbt,45^dZҖ'lbvxUUϟm<t$w&V-%pos~xƇ"s3$rF)AYT}}bZH]VeSw_~bw[u2~rWn*d*L(Zs+F1'K#7MbhRh>a'fD֚
-1}B}-*6ɮN׶$K>*9"0YtFxICOTZSxG[]|6ͶꪦnlYt=!hb+=mwQV[:9 U#h(F֎ёT˪>KuEӅ\>O54;`
-ehwfy&n΂1v0J.唳141go =RL~_mbܒ/[~Sl3pfZ>%ފo:4G|L &A;+%Ah$$+)@xL#ӘWxmyiuL3cEgi91AK:=ZE)TuUwT΁Ҙ
-endstream
-endobj
-10023 0 obj
-<< /Type /Page /Contents 10024 0 R /Resources 10022 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10025 0 obj
-<< /D [ 10023 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10026 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10027 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10028 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10029 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10030 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10031 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-10032 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-10033 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-10034 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-10035 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-10036 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-10037 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-10038 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-10039 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-10040 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-10041 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-10042 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-10043 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-10044 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-10045 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-10046 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-10047 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-10048 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-10049 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-10050 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-10051 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-10052 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-10053 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-10054 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-10055 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-10056 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-10057 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-10058 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-10059 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-10060 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-10061 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-10062 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-10063 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-10064 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-10065 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-10066 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-10067 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-10068 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-10069 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-10070 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-10071 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-10072 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-10073 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-10074 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-10075 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-10076 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-10077 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-10078 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-10079 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-10080 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-10081 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-10082 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 155.133 null ] >>
-endobj
-10083 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 144.174 null ] >>
-endobj
-10084 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 133.215 null ] >>
-endobj
-10085 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 122.256 null ] >>
-endobj
-10086 0 obj
-<< /D [ 10023 0 R /XYZ 81.077 111.297 null ] >>
-endobj
-10022 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10089 0 obj
-<< /Filter /FlateDecode /Length 2102 >>
-stream
-xZ[o~ϯЛe̝C-Ͷ]4/ES4ȤA{BrFvdEؒI~39s ]7xo޾ٌpĸ7̲l xFf̙:?G$!Iv>=g55|!n[sE̻w]YWjѹϻbysqŪoߓ|\RɟK%"8(A949r7r#l^W Pv7#qdLl'հ`,c|qt`z^ַZyjGvkR6P.)|JǗd)eʪtBʝToOmgD?JQ0b]i'xU<d=.~eSW{X Q%b_']}۫%.A;*WXضzbTe2LjZ'^RĸFWr}@XmK0,Q-EÇsn ĎI2QHsF(3׃4ۦg|n<
-V1Q0)!!J$/ \|sAʱ CdȐY  6:0S`/cҧs0dh~&`gc&d'w$H{Lx*a(M[:y RFkB/&$Q;.4h] qwx1FXY \p2BAȑpm{m)Vϱ>*Hiaz\UY?[HC4Ga"A¨_)ö
-<CT81j,kk~- eod '
-ǓFU,7eE)6VYAݶs6,/D[=Q6| N;D[=\ {C
-їO/ݛbswS\\uҍp/T<HlKF!PI<^H($vH30iLB-sueF!9ipUCY:EGpv]3;5Se IZa_8faP'po2<\ &٤;JЂۿߺ_Ds'Si!:B'h-l=)4 Ce)oLj p%{,~:# VC!\.HI:#1+Ӵ(QWzQrű%F$:M yMiel:{mW6`*g
-ji(BD# 12;4-wE踥O!S)(0v$?)Mg^% M)O'DOȯv896id 'qо~1ꦩЙUf4&7FJwFsKG`_ڼ}jE^X!.!I|cE(қ׹}S^91Z?D'z1%z/뷭#7OeWե땖 QSK #t|7EFG ޽G A%uz}(~ WV^6]
-鯌
-$',Mw!:9C*CY`Wi][~9h#B: ee=9E4[i&'Aj4Oa<Hɱ6ii('q#ZV1yg72
-endstream
-endobj
-10088 0 obj
-<< /Type /Page /Contents 10089 0 R /Resources 10087 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10090 0 obj
-<< /D [ 10088 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-153 0 obj
-<< /D [ 10088 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-10091 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 654.423 null ] >>
-endobj
-10092 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 607.832 null ] >>
-endobj
-10093 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 592.009 null ] >>
-endobj
-10094 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 581.05 null ] >>
-endobj
-10095 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 570.091 null ] >>
-endobj
-10096 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 559.132 null ] >>
-endobj
-10097 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 548.173 null ] >>
-endobj
-10098 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 537.214 null ] >>
-endobj
-10099 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 526.255 null ] >>
-endobj
-10100 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 515.296 null ] >>
-endobj
-10101 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 504.337 null ] >>
-endobj
-10102 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 493.378 null ] >>
-endobj
-10103 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 482.42 null ] >>
-endobj
-10104 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 471.461 null ] >>
-endobj
-10105 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 460.502 null ] >>
-endobj
-10106 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 449.543 null ] >>
-endobj
-10107 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 438.584 null ] >>
-endobj
-10108 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 422.76 null ] >>
-endobj
-10109 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 411.802 null ] >>
-endobj
-10110 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 400.843 null ] >>
-endobj
-10111 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 389.884 null ] >>
-endobj
-10112 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 378.925 null ] >>
-endobj
-10113 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 367.966 null ] >>
-endobj
-10114 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 357.007 null ] >>
-endobj
-10115 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 346.048 null ] >>
-endobj
-10116 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 335.089 null ] >>
-endobj
-10117 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 324.13 null ] >>
-endobj
-10118 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 313.171 null ] >>
-endobj
-10119 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 302.213 null ] >>
-endobj
-10120 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 291.254 null ] >>
-endobj
-10121 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 280.295 null ] >>
-endobj
-10122 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 247.885 null ] >>
-endobj
-10123 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 236.926 null ] >>
-endobj
-10124 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 225.967 null ] >>
-endobj
-10125 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 215.008 null ] >>
-endobj
-10126 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 204.049 null ] >>
-endobj
-10127 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 193.091 null ] >>
-endobj
-10128 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 182.132 null ] >>
-endobj
-10129 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 171.173 null ] >>
-endobj
-10130 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 160.214 null ] >>
-endobj
-10131 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-10132 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-10133 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-10134 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-10135 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-10136 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-10137 0 obj
-<< /D [ 10088 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10087 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F19 184 0 R /F20 186 0 R /F68 189 0 R /F64 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10140 0 obj
-<< /Filter /FlateDecode /Length 1531 >>
-stream
-xYMoFW 7SڢRA@KDD&bo,ZrGMKogvvf[''wW?ϮJpd4a4h$QaI}`n~s') H1g)]|LaUMQ6SVe9em.%r6~>`ztR˜$1*Bh۔!M. 2$E+<_|M1`sF"ʹg~lonI @(@eS41O6-ShB95U,ϪHh7iM7(0۾7|R?Mv~hJw;4Uhͪlw3ŲClUpR9yp̍7<:lj!6tέMv *M_l޶٭Gwsk*!38O~ !ʶR묙m|8[#
-q"!16HPm m$ nsp哀 auj ;UUYA>>fsBf1r5u[
- j#0wtNPMՉP?kмέ{
-^lS< )p7٪P
-iBB契C ')Ev6UZ(Ģ鵢[CO.à;vjmdo+j'hD5/XOkE2v0nqj|'aZ JyRZE(Oz YwP"nCX8ED.Ȩ m6eqkrEqr[Ų\˚@v/`T\ @?*[t86>YT
-endstream
-endobj
-10139 0 obj
-<< /Type /Page /Contents 10140 0 R /Resources 10138 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10141 0 obj
-<< /D [ 10139 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10142 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10143 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10144 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-10145 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-10146 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 677.175 null ] >>
-endobj
-10147 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 666.217 null ] >>
-endobj
-10148 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 655.258 null ] >>
-endobj
-10149 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 644.299 null ] >>
-endobj
-10150 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 633.34 null ] >>
-endobj
-10151 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 622.381 null ] >>
-endobj
-10152 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 611.422 null ] >>
-endobj
-10153 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-10154 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 584.523 null ] >>
-endobj
-10155 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 573.564 null ] >>
-endobj
-10156 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 530.725 null ] >>
-endobj
-10157 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 519.766 null ] >>
-endobj
-10158 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 508.807 null ] >>
-endobj
-10159 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 497.848 null ] >>
-endobj
-10160 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 486.889 null ] >>
-endobj
-10161 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 475.93 null ] >>
-endobj
-10162 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 464.971 null ] >>
-endobj
-10163 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 454.012 null ] >>
-endobj
-10164 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 443.053 null ] >>
-endobj
-157 0 obj
-<< /D [ 10139 0 R /XYZ 79.37 395.598 null ] >>
-endobj
-10165 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 298.751 null ] >>
-endobj
-10166 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 287.792 null ] >>
-endobj
-10167 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 276.833 null ] >>
-endobj
-10168 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 265.874 null ] >>
-endobj
-10169 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 249.934 null ] >>
-endobj
-10170 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 238.975 null ] >>
-endobj
-10171 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 228.016 null ] >>
-endobj
-10172 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 217.057 null ] >>
-endobj
-10173 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 206.098 null ] >>
-endobj
-10174 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 195.139 null ] >>
-endobj
-10175 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 184.18 null ] >>
-endobj
-10176 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 173.221 null ] >>
-endobj
-10177 0 obj
-<< /D [ 10139 0 R /XYZ 81.077 162.262 null ] >>
-endobj
-161 0 obj
-<< /D [ 10139 0 R /XYZ 79.37 136.808 null ] >>
-endobj
-10138 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F65 185 0 R /F20 186 0 R /F67 187 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10180 0 obj
-<< /Filter /FlateDecode /Length 2102 >>
-stream
-xڭZ[o~_av W2b.KmbӶ0J3APBLٗH~!v`ӻû>pFBˆpJMDHg?"/<̤%"eYw<dgWt/d}L'n
-Q,H=4~o O=M1[ ĹyZ.
-m|H2<4BU9: v sW:ޖ!^[{& 8 Dsbh2N4eno)zͯ:GBrT2E$}<~e<#?|1 LG.D,Ѯ+D\CKx`'1\]m==FB1.E%O=uׅM*˞?Wrwh4uL(-~
-K𰫰˩2vwOk'wL/컑uy([CozXY<J+04(X/iܛU7y:ANK&t3@ Z<]BB<"tGLҪ-N=S-L_Z>*
-2bʒN?I{vcg,D=r|\Y
-Gxn2xJp:Mc(&ͽб q,Lx3!v{_YJMx}-f /̀*CuW*o3q(88&`H wU?89N榃=9] Ȣ!{X>˕m!#!S{+JPCoQ9ClCx=EjDϊL-wpRDbƗSݱEȲVOi峭@Bm^Mfyk m2U{Ӷs ?M <۾tlgbpѷcqEI7E]ey1 q }$F//xys8Ⲟ[/8Kskta!x?w<?8 fh(>|89hZ5`EYta2UN yhf8C;x] wn)S1{Vnʪ7^07E=AM]8slS{UYEP[3Eǖ.1ܭGqj*Myf~yn=G܀FА1{J,kY/M9tr܅Nxhç b u,Ϧy2n_X'Qʼn6])xhRɈDe@z f.pM֢;ZMnҖl랐}?lՠ)LU9C[jg@4׶]kǞ=.o0pTOVcX CMB]O{hWBݨqk !SdhЇ 1@˶jM/!Z|z࿴qan4[/R3@Cvqbû/
-endstream
-endobj
-10179 0 obj
-<< /Type /Page /Contents 10180 0 R /Resources 10178 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10181 0 obj
-<< /D [ 10179 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10182 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 735.194 null ] >>
-endobj
-10183 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 724.235 null ] >>
-endobj
-10184 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 713.276 null ] >>
-endobj
-10185 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 702.317 null ] >>
-endobj
-10186 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 691.359 null ] >>
-endobj
-10187 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 680.4 null ] >>
-endobj
-10188 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 664.459 null ] >>
-endobj
-10189 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 653.501 null ] >>
-endobj
-10190 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 642.542 null ] >>
-endobj
-10191 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 631.583 null ] >>
-endobj
-10192 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 620.624 null ] >>
-endobj
-10193 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 609.665 null ] >>
-endobj
-10194 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 598.706 null ] >>
-endobj
-10195 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 587.747 null ] >>
-endobj
-10196 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 512.031 null ] >>
-endobj
-10197 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 501.072 null ] >>
-endobj
-10198 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 490.113 null ] >>
-endobj
-10199 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 479.154 null ] >>
-endobj
-10200 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 468.195 null ] >>
-endobj
-10201 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 457.237 null ] >>
-endobj
-10202 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 446.278 null ] >>
-endobj
-10203 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 435.319 null ] >>
-endobj
-10204 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 424.36 null ] >>
-endobj
-10205 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 413.401 null ] >>
-endobj
-10206 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 402.442 null ] >>
-endobj
-10207 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 391.483 null ] >>
-endobj
-10208 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 380.524 null ] >>
-endobj
-10209 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 369.565 null ] >>
-endobj
-10210 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 358.606 null ] >>
-endobj
-10211 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 347.648 null ] >>
-endobj
-10212 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 336.689 null ] >>
-endobj
-10213 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 310.786 null ] >>
-endobj
-10214 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 299.827 null ] >>
-endobj
-10215 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 288.868 null ] >>
-endobj
-10216 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 277.909 null ] >>
-endobj
-10217 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 266.95 null ] >>
-endobj
-10218 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 253.002 null ] >>
-endobj
-10219 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 242.044 null ] >>
-endobj
-10220 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 231.085 null ] >>
-endobj
-10221 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 220.126 null ] >>
-endobj
-10222 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 209.167 null ] >>
-endobj
-10223 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 198.208 null ] >>
-endobj
-10224 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 182.268 null ] >>
-endobj
-10225 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 171.309 null ] >>
-endobj
-10226 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 160.35 null ] >>
-endobj
-10227 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 149.391 null ] >>
-endobj
-10228 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 138.432 null ] >>
-endobj
-10229 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 127.473 null ] >>
-endobj
-10230 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 116.514 null ] >>
-endobj
-10231 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 100.574 null ] >>
-endobj
-10232 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 89.615 null ] >>
-endobj
-10233 0 obj
-<< /D [ 10179 0 R /XYZ 81.077 78.656 null ] >>
-endobj
-10178 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R /F70 300 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10236 0 obj
-<< /Filter /FlateDecode /Length 1647 >>
-stream
-xڽZo6~_a`iy*Vt]uV،ՒI߾lSd&9Ck'T6YNɫJ:yz/*brdzuFKلNrE(L_O (LYF47)zs͛+;Wi]nzwlܪnzw
-G8A:D\Pa+  m1z$~GXɈ2Q6%5um)itGfӏUeTYlѾgW5=l),:%qfh 5],Z]W,lhjdh΃*n˪XzS]5WakH > s#HNMX }&-‡
-m 7WE_ь$9b0*xĘ  8mvfCe۱fxirKʮ|2~&|;Ӝ]jEĨI >~"ɢmU)8-JGo5}DhW „V@+A}YFS~h⭻nz[%m f JӮq.AS'xNw}3澡 =Q~wni[HeB_hbK>2P~0ߜA*A{c惭g}36~GPKѧP~a p2a*tN۠(F0V-}4pѢ/"U8J'}!$*HRn/ * Rp7}8Q"M>V>QF8k(%Ou]_|&ϚxwTh6R$NtK/#MmwCHn`95NT)DkC,JFS4WPQ’C ΉT.9aj$hp` K$%l/Vν_W%A{nmQ]ndW54~syK*hiL~%xz뻯@ЎSfȂk0%hE^M}޻KD t"ȾƩN~F*E̾dlY.G(}_4$cQr ~oe;޶ALehmSP& 12t390.AmaQrQ\~D<jqySU$4:ߎg(fƾ
-xXN2*iU+K{_Kj ߹^=̔am*`GT(Sfcj4Bcp̟OS0B'1?;+O*5Q}?I˓
-xU!A㓞'ϭ m8Aʒ'T nI̒M iz=`nHξxB#Xh# n'MSs28M>CR @E(@{Xٿ/_
-endstream
-endobj
-10235 0 obj
-<< /Type /Page /Contents 10236 0 R /Resources 10234 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10237 0 obj
-<< /D [ 10235 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10238 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10239 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10240 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10241 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 731.302 null ] >>
-endobj
-10242 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 720.343 null ] >>
-endobj
-10243 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 709.384 null ] >>
-endobj
-10244 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 698.425 null ] >>
-endobj
-10245 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 687.466 null ] >>
-endobj
-10246 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 676.508 null ] >>
-endobj
-10247 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 665.549 null ] >>
-endobj
-10248 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 654.59 null ] >>
-endobj
-10249 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 643.631 null ] >>
-endobj
-10250 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 628.019 null ] >>
-endobj
-10251 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 617.06 null ] >>
-endobj
-10252 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 606.101 null ] >>
-endobj
-10253 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 595.142 null ] >>
-endobj
-10254 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 584.183 null ] >>
-endobj
-10255 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 573.225 null ] >>
-endobj
-10256 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 562.266 null ] >>
-endobj
-10257 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 551.307 null ] >>
-endobj
-10258 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 540.348 null ] >>
-endobj
-10259 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 529.389 null ] >>
-endobj
-10260 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 518.43 null ] >>
-endobj
-10261 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 507.471 null ] >>
-endobj
-10262 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 486.21 null ] >>
-endobj
-10263 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 475.251 null ] >>
-endobj
-10264 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 464.292 null ] >>
-endobj
-10265 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 453.333 null ] >>
-endobj
-10266 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 442.375 null ] >>
-endobj
-10267 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 431.416 null ] >>
-endobj
-10268 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 420.457 null ] >>
-endobj
-10269 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 409.498 null ] >>
-endobj
-10270 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 398.539 null ] >>
-endobj
-10271 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 387.58 null ] >>
-endobj
-10272 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 371.968 null ] >>
-endobj
-10273 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 361.009 null ] >>
-endobj
-10274 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 350.05 null ] >>
-endobj
-10275 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 339.092 null ] >>
-endobj
-10276 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 328.133 null ] >>
-endobj
-10277 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 317.174 null ] >>
-endobj
-10278 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 306.215 null ] >>
-endobj
-10279 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 295.256 null ] >>
-endobj
-10280 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 279.644 null ] >>
-endobj
-10281 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 268.685 null ] >>
-endobj
-10282 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 257.726 null ] >>
-endobj
-10283 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 246.767 null ] >>
-endobj
-10284 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 235.809 null ] >>
-endobj
-10285 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 224.85 null ] >>
-endobj
-10286 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 209.238 null ] >>
-endobj
-10287 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 198.279 null ] >>
-endobj
-10288 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 187.32 null ] >>
-endobj
-10289 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 176.361 null ] >>
-endobj
-10290 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 165.402 null ] >>
-endobj
-10291 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 154.443 null ] >>
-endobj
-10292 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 138.832 null ] >>
-endobj
-10293 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 127.873 null ] >>
-endobj
-10294 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 116.914 null ] >>
-endobj
-10295 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 105.955 null ] >>
-endobj
-10296 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 94.996 null ] >>
-endobj
-10297 0 obj
-<< /D [ 10235 0 R /XYZ 81.077 84.037 null ] >>
-endobj
-10234 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10300 0 obj
-<< /Filter /FlateDecode /Length 1694 >>
-stream
-xڭ[sF)<`!۽CK)tJ>0Y[DHrLt?{J[Gs1tqgJ?_=_}c-$3&buy"`,! KiMb](gy^ I"P(#9Ϟ]l۫sգKYJk~ATQ(-;Rƈ*V@?[I1>;gsJ@ڝzٹ]k\wmn.C6|t{G5;Ӕ4x%L)-)Tu7b_V[W^ն1ARaÎv16j|AXK>>XQۮ- .+P$9%rėSVFC9QtrDEPܻ[.m.ԳC;I2FZ9U8BǴހ˃Ktc\m;aSʡW)Q Pm껲qZ@ ).B5>%qP{61ew _"gXr8j<n=pG}<{vUчzEfA)'C{sg'lNh5eϑc*el#棰uuKe[*%'3sJ(jX FdN%%H?RO8Ԯ5 G<d_;7Wo+k))n zr&6)'"5>)\H ş!uְ԰3AYh4(b42H2q R3PetsM~~*!(8Cu(P)I'@9.1Dj|\a
-WOսnpvW-m]QTqH sv.tS,~P*% \b*'bU0 4
-ˍ|cZ R̂Y Mi83?RO^zWf|dyno<ߚжzu[p$p D썩/:{v7C`{t*eOxa'x>P ԯ.{+,r-OƮNN8~L]>x.‘"5cHJFRsT{O>9In$gW*IIH*R'p8`K2KI\72z)JBUDj{9L֎y8;~6D2j.Li;T{ 4[ yǞh*7-ǥH~ q[YT)75_{4b4ׁK{t#( ~h 2v,Pg2pY.Rֵi6aSgWv뿌AP"EH,L\$>~ojķͮ2ښ)tB2[Fg6&#
-"u٨2M*\ԫk@nް; qgjO! =G:.9EOLoHu?Y ݑN>R#=LI Ǧz{SU3όA;"iy(S?f,_p37 n}ꀻHJ6_+#
-endstream
-endobj
-10299 0 obj
-<< /Type /Page /Contents 10300 0 R /Resources 10298 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10301 0 obj
-<< /D [ 10299 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10302 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10303 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10304 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10305 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10306 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10307 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 709.191 null ] >>
-endobj
-10308 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 698.232 null ] >>
-endobj
-10309 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 687.273 null ] >>
-endobj
-10310 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 676.314 null ] >>
-endobj
-10311 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 665.355 null ] >>
-endobj
-10312 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 654.396 null ] >>
-endobj
-10313 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 638.591 null ] >>
-endobj
-10314 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 627.632 null ] >>
-endobj
-10315 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 616.673 null ] >>
-endobj
-10316 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 605.714 null ] >>
-endobj
-10317 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 594.755 null ] >>
-endobj
-10318 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 578.949 null ] >>
-endobj
-10319 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 567.991 null ] >>
-endobj
-10320 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 557.032 null ] >>
-endobj
-10321 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 546.073 null ] >>
-endobj
-10322 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 535.114 null ] >>
-endobj
-10323 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 524.155 null ] >>
-endobj
-10324 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 508.349 null ] >>
-endobj
-10325 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 497.391 null ] >>
-endobj
-10326 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 486.432 null ] >>
-endobj
-10327 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 475.473 null ] >>
-endobj
-10328 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 464.514 null ] >>
-endobj
-10329 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 453.555 null ] >>
-endobj
-10330 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 437.749 null ] >>
-endobj
-10331 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 426.79 null ] >>
-endobj
-10332 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 415.832 null ] >>
-endobj
-10333 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 404.873 null ] >>
-endobj
-10334 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 393.914 null ] >>
-endobj
-10335 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 382.955 null ] >>
-endobj
-10336 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 367.149 null ] >>
-endobj
-10337 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 356.19 null ] >>
-endobj
-10338 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 345.232 null ] >>
-endobj
-10339 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 334.273 null ] >>
-endobj
-10340 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 323.314 null ] >>
-endobj
-10341 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 312.355 null ] >>
-endobj
-10342 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 301.396 null ] >>
-endobj
-10343 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 285.59 null ] >>
-endobj
-10344 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 274.632 null ] >>
-endobj
-10345 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 263.673 null ] >>
-endobj
-10346 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 252.714 null ] >>
-endobj
-10347 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 241.755 null ] >>
-endobj
-10348 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 230.796 null ] >>
-endobj
-10349 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 219.837 null ] >>
-endobj
-10350 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 208.878 null ] >>
-endobj
-10351 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 197.919 null ] >>
-endobj
-10352 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 186.96 null ] >>
-endobj
-10353 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 171.155 null ] >>
-endobj
-10354 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 160.196 null ] >>
-endobj
-10355 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 149.237 null ] >>
-endobj
-10356 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 138.278 null ] >>
-endobj
-10357 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 127.319 null ] >>
-endobj
-10358 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 116.36 null ] >>
-endobj
-10359 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-10360 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-10361 0 obj
-<< /D [ 10299 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10298 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10364 0 obj
-<< /Filter /FlateDecode /Length 1560 >>
-stream
-xڽMoF1~hE h
-0E*malْ^3K͂.^^#Q'7?hY&b-&ьPg+OoX.,qZ ;3N.Unˮ~h0};ܕ~Ur_ &&͡QZé:+ y-2| GњYߴ.kȂ:.|} 5irCF%ʓQMg1"J՟k3Nqm)#/uSRqiwm7t}y| o7D#vm ?k TV%ILf'6HpDCB)5b~!jmbZLNm!je5fZ*QsZKN:C`
-1\ŮvYWXrup*ZMr,/#uDH&CqvPPU3P竘tW" CN?hr98V}׮(6캶1-F\YC4g}P:ǨCѮ <FOU-VDˈZ#q+ORTJmepO!=8BzK ^Wv~rUR#pٝnalěip~.ںf8XzU
-Fh0*Ez]չ?Ap4]a;k0=!J!Danvu]3(!ڔcn k| bE+%Lš45ի-EK o02ƛ:T3%胒_(i2??ʘQR
-endstream
-endobj
-10363 0 obj
-<< /Type /Page /Contents 10364 0 R /Resources 10362 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10365 0 obj
-<< /D [ 10363 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10366 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10367 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10368 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10369 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10370 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 720.437 null ] >>
-endobj
-10371 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 709.478 null ] >>
-endobj
-10372 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 698.519 null ] >>
-endobj
-10373 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 687.56 null ] >>
-endobj
-10374 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 676.601 null ] >>
-endobj
-10375 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 665.643 null ] >>
-endobj
-10376 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 650.125 null ] >>
-endobj
-10377 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 639.166 null ] >>
-endobj
-10378 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 628.207 null ] >>
-endobj
-10379 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 617.248 null ] >>
-endobj
-10380 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 606.289 null ] >>
-endobj
-10381 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 595.33 null ] >>
-endobj
-10382 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 584.371 null ] >>
-endobj
-10383 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 573.412 null ] >>
-endobj
-10384 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 562.453 null ] >>
-endobj
-10385 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 551.494 null ] >>
-endobj
-10386 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 540.536 null ] >>
-endobj
-10387 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 529.577 null ] >>
-endobj
-10388 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 518.618 null ] >>
-endobj
-10389 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 507.659 null ] >>
-endobj
-10390 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 496.7 null ] >>
-endobj
-10391 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 485.741 null ] >>
-endobj
-10392 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 474.782 null ] >>
-endobj
-10393 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 463.823 null ] >>
-endobj
-10394 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 448.305 null ] >>
-endobj
-10395 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 437.346 null ] >>
-endobj
-10396 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 426.387 null ] >>
-endobj
-10397 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 415.429 null ] >>
-endobj
-10398 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 404.47 null ] >>
-endobj
-10399 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 393.511 null ] >>
-endobj
-10400 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 382.552 null ] >>
-endobj
-10401 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 371.593 null ] >>
-endobj
-10402 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 360.634 null ] >>
-endobj
-10403 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 349.675 null ] >>
-endobj
-10404 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 338.716 null ] >>
-endobj
-10405 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 327.757 null ] >>
-endobj
-10406 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 316.798 null ] >>
-endobj
-10407 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 305.84 null ] >>
-endobj
-10408 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 294.881 null ] >>
-endobj
-10409 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 283.922 null ] >>
-endobj
-10410 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 268.404 null ] >>
-endobj
-10411 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 257.445 null ] >>
-endobj
-10412 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 246.486 null ] >>
-endobj
-10413 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 235.527 null ] >>
-endobj
-10414 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 224.568 null ] >>
-endobj
-10415 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 213.609 null ] >>
-endobj
-10416 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 202.65 null ] >>
-endobj
-10417 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 187.132 null ] >>
-endobj
-10418 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 176.173 null ] >>
-endobj
-10419 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 165.215 null ] >>
-endobj
-10420 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 154.256 null ] >>
-endobj
-10421 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 143.297 null ] >>
-endobj
-10422 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 127.779 null ] >>
-endobj
-10423 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 116.82 null ] >>
-endobj
-10424 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 105.861 null ] >>
-endobj
-10425 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 94.902 null ] >>
-endobj
-10426 0 obj
-<< /D [ 10363 0 R /XYZ 81.077 83.943 null ] >>
-endobj
-10362 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10429 0 obj
-<< /Filter /FlateDecode /Length 1840 >>
-stream
-xڭZ]o4} c$|$}AFiDKiZ;IljE;pm9ͽ47滫|%ҿ][o)r‡ (m2EI? bB)/41wŗ_~]V2هtOuז^Oo|\O˔Д13?f[1B"Eqa-ѿS*s<]|,ּΚD}BҌ0H9Bp.F/:xQAG}5ØX0B}}(mHCӶ>fߙ^*$iSYAזպ*ȏ+o]Tz+YC4+\֖h4k(!vsonZ}"iJV"
-%Yw%K$% 4qQoK[v< Z3\i.`|^U"v {R6pxŊB8߲{:$eANg"cnܜڢ" {qk?rn1ٖ}N yFǜ1pAηD=|naJ:&*?G]3;ζ+bWh>|0=Ήv %F2sIHT_Gh4.˃X a|marz_9asp$((WN3WS!TְVqf Lw.y镃ZO]nS^DI[޴z&oچ?gs
- Dym|oݗI=sSڷJ2iFF à:"gscP;'(jl{0.9ǗtvԱvgwh[:cɊ fӚ hj?74`Ю7>h=<ۦ8 [2WEo l$N" }h`#vY5Ix1d)-^~nY74S@bh Q%AIkQ EUM<2+_[]Ye/}m;dw)=hvgT rpd:~
-8`xh?#ll`!)E褂Jvvs-|hdM~iJΔ q{OĤ,Zo>tG3F
-pYvU g)s`4iP! Q -nhN]cߏC,n%*=Ld!B922B;j |` wtO_p\<Ş)$g##B
-2%F<rr'~k_jŰ-6r=[JmDJ쉵뫿
-endstream
-endobj
-10428 0 obj
-<< /Type /Page /Contents 10429 0 R /Resources 10427 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9954 0 R >>
-endobj
-10430 0 obj
-<< /D [ 10428 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10431 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10432 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10433 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10434 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10435 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10436 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-10437 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-10438 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-10439 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-10440 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-10441 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-10442 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-10443 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-10444 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-10445 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-10446 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-10447 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 583.527 null ] >>
-endobj
-10448 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 572.568 null ] >>
-endobj
-10449 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 561.609 null ] >>
-endobj
-10450 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 550.65 null ] >>
-endobj
-10451 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-10452 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-10453 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-10454 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-10455 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-10456 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-10457 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 468.956 null ] >>
-endobj
-10458 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-10459 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-10460 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-10461 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-10462 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-10463 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-10464 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-10465 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 376.304 null ] >>
-endobj
-10466 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 365.345 null ] >>
-endobj
-10467 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-10468 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-10469 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-10470 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-10471 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-10472 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-10473 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 283.651 null ] >>
-endobj
-10474 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 272.692 null ] >>
-endobj
-10475 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 261.733 null ] >>
-endobj
-10476 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-10477 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-10478 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-10479 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-10480 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-10481 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 190.999 null ] >>
-endobj
-10482 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 180.04 null ] >>
-endobj
-10483 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 169.081 null ] >>
-endobj
-10484 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-10485 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-10486 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-10487 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 120.264 null ] >>
-endobj
-10488 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 109.305 null ] >>
-endobj
-10489 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 98.346 null ] >>
-endobj
-10490 0 obj
-<< /D [ 10428 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-10427 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10493 0 obj
-<< /Filter /FlateDecode /Length 1852 >>
-stream
-xڭZ[~_bݞ'@Z`s*r|ѿT{<LL_}uq洡NR]}[7 ^18nF+X#T\dµ
-JAP.\`| iTїjWMU4kŅ)9rh.=E$B#eF)4vKZWMr?NMqUKrgԙ9-- VfZW4ƙ{#,lh"4( mcG8yd"wB \޼ߟZ Ο6:i`A Ke~Rc Tt$>t [IrM~:$%ɰ\BC&ɡ*L
-Kg]Yb5}'2)a|vGhLfDocu2cJNlп|t
-VXMc9m,, $)8 e]e:?*t@pP٩)p}ӟIc8/6}SzSA29SzAqm/4?.3.LKF?%,&CQvL@ )8jFt 3~86fLFV3K_[uv1Up|=SHj#)ɳߚZ^r 
-endstream
-endobj
-10492 0 obj
-<< /Type /Page /Contents 10493 0 R /Resources 10491 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10494 0 obj
-<< /D [ 10492 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10495 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10496 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10497 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10498 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10499 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10500 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 709.371 null ] >>
-endobj
-10501 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 698.412 null ] >>
-endobj
-10502 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 687.454 null ] >>
-endobj
-10503 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 676.495 null ] >>
-endobj
-10504 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 665.536 null ] >>
-endobj
-10505 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 654.577 null ] >>
-endobj
-10506 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 643.618 null ] >>
-endobj
-10507 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 632.659 null ] >>
-endobj
-10508 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 617.034 null ] >>
-endobj
-10509 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 606.075 null ] >>
-endobj
-10510 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 595.117 null ] >>
-endobj
-10511 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 584.158 null ] >>
-endobj
-10512 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 573.199 null ] >>
-endobj
-10513 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 562.24 null ] >>
-endobj
-10514 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 551.281 null ] >>
-endobj
-10515 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 535.656 null ] >>
-endobj
-10516 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 524.697 null ] >>
-endobj
-10517 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 513.738 null ] >>
-endobj
-10518 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 502.78 null ] >>
-endobj
-10519 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 491.821 null ] >>
-endobj
-10520 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 480.862 null ] >>
-endobj
-10521 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 469.903 null ] >>
-endobj
-10522 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 458.944 null ] >>
-endobj
-10523 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 447.985 null ] >>
-endobj
-10524 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 437.026 null ] >>
-endobj
-10525 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 421.401 null ] >>
-endobj
-10526 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 410.443 null ] >>
-endobj
-10527 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 399.484 null ] >>
-endobj
-10528 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 388.525 null ] >>
-endobj
-10529 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 377.566 null ] >>
-endobj
-10530 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 366.607 null ] >>
-endobj
-10531 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 355.648 null ] >>
-endobj
-10532 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 344.689 null ] >>
-endobj
-10533 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 333.73 null ] >>
-endobj
-10534 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 322.771 null ] >>
-endobj
-10535 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 311.812 null ] >>
-endobj
-10536 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 300.853 null ] >>
-endobj
-10537 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 285.229 null ] >>
-endobj
-10538 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 274.27 null ] >>
-endobj
-10539 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 263.311 null ] >>
-endobj
-10540 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 252.352 null ] >>
-endobj
-10541 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 241.393 null ] >>
-endobj
-10542 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 230.434 null ] >>
-endobj
-10543 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 219.475 null ] >>
-endobj
-10544 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 203.851 null ] >>
-endobj
-10545 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 192.892 null ] >>
-endobj
-10546 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 181.933 null ] >>
-endobj
-10547 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 170.974 null ] >>
-endobj
-10548 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 160.015 null ] >>
-endobj
-10549 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-10550 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-10551 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-10552 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-10553 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-10554 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-10555 0 obj
-<< /D [ 10492 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10491 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10559 0 obj
-<< /Filter /FlateDecode /Length 1720 >>
-stream
-xڭZ]o6}ϯ0@lj?ac=P!t"T2INoߥlSbzZby9N&d,9>_㫳糳o_J=hl}FdB'ZIDIJI'dž__gO41Rzi\Bl|]Cc{gb^ڛ|`˪^䫕-]aw馜PBTCGtl!6,!*51jxeqrJq9 節[fuƺrsGtU26m+W6"qi?&/
-.(ڮ6i(肖T%"{km=mFA8S![[!~R0clG]6+XrJDbB6o]U;x͗5:+k@ߔMHrv;HЂ"
-'B+>zM Kkjۂ6By1Um͢
-ldPDӆ;*$|J.arAP7ANy> lhV:{:\28 AM NM"tGsu{dR{3ep_Dh|-P :nE?1,cP-C0/
-endstream
-endobj
-10558 0 obj
-<< /Type /Page /Contents 10559 0 R /Resources 10557 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10560 0 obj
-<< /D [ 10558 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10561 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10562 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-10563 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-10564 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-10565 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-10566 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-10567 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-10568 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 682.157 null ] >>
-endobj
-10569 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-10570 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-10571 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-10572 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-10573 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-10574 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-10575 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 600.463 null ] >>
-endobj
-10576 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 589.504 null ] >>
-endobj
-10577 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-10578 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-10579 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-10580 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-10581 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-10582 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 518.769 null ] >>
-endobj
-10583 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 507.811 null ] >>
-endobj
-10584 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 496.852 null ] >>
-endobj
-10585 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-10586 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 474.934 null ] >>
-endobj
-10587 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-10588 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-10589 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-10590 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 426.117 null ] >>
-endobj
-10591 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 415.158 null ] >>
-endobj
-10592 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 404.199 null ] >>
-endobj
-10593 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 393.24 null ] >>
-endobj
-10594 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 382.281 null ] >>
-endobj
-10595 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-10596 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-10597 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-10598 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-10599 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-10600 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-10601 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-10602 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 294.61 null ] >>
-endobj
-10603 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-10604 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-10605 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 256.752 null ] >>
-endobj
-10606 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-10607 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-10608 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-10609 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-10610 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 201.957 null ] >>
-endobj
-10611 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-10612 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-10613 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-10614 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-10615 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-10616 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 131.223 null ] >>
-endobj
-10617 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-10618 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-10619 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-10620 0 obj
-<< /D [ 10558 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-10557 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10623 0 obj
-<< /Filter /FlateDecode /Length 1766 >>
-stream
-xڽZmo6_a)wIԵH]6`dѢCyAGJ%fYS};~̻Q³ W$_ѫWod<( /I"Id(f>Ox|[[g1JdL(FKB<R#Ņ6Je:ϵRN7FĜxl>٩Q|8E />r߬L a֏ы1V:KUU֦w\gynε6eUD8vϳĨџkS%$zrY4eO7˹Z^7P$D e 7൭6%arZ#ɇ k[>_^}㞖M[OJm6z,MV$uuUuĀ=$!%̃1ڲ JZ:yoQ3w>Lp4jK].yrU^=-=1(D0Of\cSg Vێϫ
-woΤvERxbcʛ=lF]9[%4'@}AjWjW7-9 'd<|0*蛩&Pؓ7!0$m|'wO]L&.PB=
-1~=>cXbacaJ37Tb>5n镮 u^T<D$ P4Xӡ
-`jm\~1evU`3gj Cd!@! 6uܵsh:UZ'JB%\gs`LtGmcBPD{1ay?Fk >)0Y x'a RP4'xe%xN|RSXCW{Xjt }>7Oܶ+$iCx/qQgj`ן!cf\5틴FvYZݷm(P/ ,pc4<l['# vO*uk\N&ٌ
-]/KU.Nb,vM,`kc9`f R7,OLPxa`0aTv`~TpX:hBc'b3?0LhwZධ Xe5n#G~`q @YfR%dNu[76Ɏސ&CT"@Ɏ*6 !;$EC
-#1%|rR
-n&l5ʬju.tF.y񌺣S[):3nƷ8e $!0]@BYK{
-Qm{JI,~0= Xօ[lѓ"8"ҷ2vuIlh6t)
-endstream
-endobj
-10622 0 obj
-<< /Type /Page /Contents 10623 0 R /Resources 10621 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10624 0 obj
-<< /D [ 10622 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10625 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10626 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10627 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10628 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 731.289 null ] >>
-endobj
-10629 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 720.33 null ] >>
-endobj
-10630 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 709.371 null ] >>
-endobj
-10631 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 698.412 null ] >>
-endobj
-10632 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 687.454 null ] >>
-endobj
-10633 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 676.495 null ] >>
-endobj
-10634 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 665.536 null ] >>
-endobj
-10635 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 654.577 null ] >>
-endobj
-10636 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 643.618 null ] >>
-endobj
-10637 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 632.659 null ] >>
-endobj
-10638 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 621.7 null ] >>
-endobj
-10639 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 610.741 null ] >>
-endobj
-10640 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 595.117 null ] >>
-endobj
-10641 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 584.158 null ] >>
-endobj
-10642 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 573.199 null ] >>
-endobj
-10643 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 562.24 null ] >>
-endobj
-10644 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 551.281 null ] >>
-endobj
-10645 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 540.322 null ] >>
-endobj
-10646 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 529.363 null ] >>
-endobj
-10647 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 513.738 null ] >>
-endobj
-10648 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 502.78 null ] >>
-endobj
-10649 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 491.821 null ] >>
-endobj
-10650 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 480.862 null ] >>
-endobj
-10651 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 469.903 null ] >>
-endobj
-10652 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 458.944 null ] >>
-endobj
-10653 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 447.985 null ] >>
-endobj
-10654 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 432.36 null ] >>
-endobj
-10655 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 421.401 null ] >>
-endobj
-10656 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 410.443 null ] >>
-endobj
-10657 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 399.484 null ] >>
-endobj
-10658 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 388.525 null ] >>
-endobj
-10659 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 377.566 null ] >>
-endobj
-10660 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 366.607 null ] >>
-endobj
-10661 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 355.648 null ] >>
-endobj
-10662 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 340.023 null ] >>
-endobj
-10663 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 329.064 null ] >>
-endobj
-10664 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 318.106 null ] >>
-endobj
-10665 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 307.147 null ] >>
-endobj
-10666 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 296.188 null ] >>
-endobj
-10667 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 285.229 null ] >>
-endobj
-10668 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 274.27 null ] >>
-endobj
-10669 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 263.311 null ] >>
-endobj
-10670 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 247.686 null ] >>
-endobj
-10671 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 236.727 null ] >>
-endobj
-10672 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 225.768 null ] >>
-endobj
-10673 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 214.81 null ] >>
-endobj
-10674 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 203.851 null ] >>
-endobj
-10675 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 192.892 null ] >>
-endobj
-10676 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 181.933 null ] >>
-endobj
-10677 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-10678 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-10679 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-10680 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-10681 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-10682 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-10683 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-10684 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-10685 0 obj
-<< /D [ 10622 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10621 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10688 0 obj
-<< /Filter /FlateDecode /Length 1587 >>
-stream
-xڽZn8+ aEɞv6BMI)2m<%Cbf8R,;ɎD7o 5D+bsBCٌTA
-*g$+lL"{]
-g4 z4Ks3d8| F
-g2 [b~~8m~GMV>f&s4x n8?o\gANW1A :14Fae@< k8UCb3=H\?tҿ#o gֶntK.v. bb0+3SHz4S>V}h4yA گ%V/9G)sEyez9d~9#saΧsƹG~2`eCFOS6C_+UkHLa_i;$hF0욇qrLnia p;?n+r,0݂HUl=]6g 7vҠbظ8IrQjHxуOy()hP!‰ƈ^KL<*$P+3<ZHHp (.
- <g(n%B^Е|ҡ Ce|(?A9w;Osq-8 >p9-P30 ^nӺgh[&T6fOxl*[ W;+A wT])pc^~yhǸC6E1 ά8Q
-endstream
-endobj
-10687 0 obj
-<< /Type /Page /Contents 10688 0 R /Resources 10686 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10689 0 obj
-<< /D [ 10687 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10690 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10691 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 752.891 null ] >>
-endobj
-10692 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 741.933 null ] >>
-endobj
-10693 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 730.974 null ] >>
-endobj
-10694 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-10695 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 709.056 null ] >>
-endobj
-10696 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-10697 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-10698 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 671.198 null ] >>
-endobj
-10699 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 660.239 null ] >>
-endobj
-10700 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 649.28 null ] >>
-endobj
-10701 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 638.321 null ] >>
-endobj
-10702 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-10703 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 616.403 null ] >>
-endobj
-10704 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 605.444 null ] >>
-endobj
-10705 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 594.486 null ] >>
-endobj
-10706 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 578.545 null ] >>
-endobj
-10707 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 567.586 null ] >>
-endobj
-10708 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 556.627 null ] >>
-endobj
-10709 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 545.669 null ] >>
-endobj
-10710 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-10711 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 523.751 null ] >>
-endobj
-10712 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 512.792 null ] >>
-endobj
-10713 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 501.833 null ] >>
-endobj
-10714 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 490.874 null ] >>
-endobj
-10715 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 479.915 null ] >>
-endobj
-10716 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 463.975 null ] >>
-endobj
-10717 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-10718 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-10719 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 431.098 null ] >>
-endobj
-10720 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-10721 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 409.18 null ] >>
-endobj
-10722 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 398.221 null ] >>
-endobj
-10723 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 387.263 null ] >>
-endobj
-10724 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 371.322 null ] >>
-endobj
-10725 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 360.363 null ] >>
-endobj
-10726 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 349.405 null ] >>
-endobj
-10727 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 338.446 null ] >>
-endobj
-10728 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 327.487 null ] >>
-endobj
-10729 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 316.528 null ] >>
-endobj
-10730 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 305.569 null ] >>
-endobj
-10731 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 289.629 null ] >>
-endobj
-10732 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 278.67 null ] >>
-endobj
-10733 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 267.711 null ] >>
-endobj
-10734 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 256.752 null ] >>
-endobj
-10735 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 245.793 null ] >>
-endobj
-10736 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 234.834 null ] >>
-endobj
-10737 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 223.875 null ] >>
-endobj
-10738 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 212.916 null ] >>
-endobj
-10739 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 196.976 null ] >>
-endobj
-10740 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 186.017 null ] >>
-endobj
-10741 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 175.058 null ] >>
-endobj
-10742 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 164.099 null ] >>
-endobj
-10743 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 153.141 null ] >>
-endobj
-10744 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 142.182 null ] >>
-endobj
-10745 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-10746 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-10747 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-10748 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-10749 0 obj
-<< /D [ 10687 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-10686 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10752 0 obj
-<< /Filter /FlateDecode /Length 1781 >>
-stream
-xڭZnF}WMIow2@EZ.P((ieȀ캆;KJ\ ӇX̜sfdv=Kf%O"o׳t&HRf(gZQ(:[fK^[
-9mWFS&IOg ї[۷jײ]_wۚpz]IžuqܺB\_k ,.@!W&?+Eh_W'ޘ xt&tlGDڭ|I
-Z2l5cQ]QW-~qoIFIFs6 ɷϸ`xϝ89S"q4,&2))&B2u]2)|ro-n:ЗΪ̓L&;ys2Di>N"Mq oUl6 DNځ|>1 #c
-rEEĐs6EΛg'RNVEঝO^5cr%["irږyY뉞NMEۨ&!@m$<i&sT{LQ"t<]!I?[мKHi 7-Qo|_2p_&lٵE+o?9Baʡ$[JS}9uχwy7sBT(z58G* hpcSJfE9G3H|Ex:S|7ʬMCXӄp孂(hJ%A
-$ӊtlBNT.9QA1Jhp
-7D+vЎT];Y8DÉT~㈦*fwMk]ӣ禉spqx
-uO7 œON:Eht1 22zl;&2S0  Ϙ'G_Z!L@ Sï4 b:uvj1MwgPPc)AX?pI#e 5?B3Q[ff*UPs)nB4@h9BE9~Έh܌TПO ںvo{{JS]cLo>
-JҸa B_vz YJU{LѨ!t-վ̛3[;Љ;ۣAN"4Xc8ގЁO=g+<hˏnpq]?z;<^>,%,Hㆀu^T{N5oB_-@jܜ>AR~ *5 A[?N8
-endstream
-endobj
-10751 0 obj
-<< /Type /Page /Contents 10752 0 R /Resources 10750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10753 0 obj
-<< /D [ 10751 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10754 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10755 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10756 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10757 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 731.191 null ] >>
-endobj
-10758 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 720.233 null ] >>
-endobj
-10759 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 709.274 null ] >>
-endobj
-10760 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 698.315 null ] >>
-endobj
-10761 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 687.356 null ] >>
-endobj
-10762 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 676.397 null ] >>
-endobj
-10763 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 665.438 null ] >>
-endobj
-10764 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 649.715 null ] >>
-endobj
-10765 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 638.757 null ] >>
-endobj
-10766 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 627.798 null ] >>
-endobj
-10767 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 616.839 null ] >>
-endobj
-10768 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 605.88 null ] >>
-endobj
-10769 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 594.921 null ] >>
-endobj
-10770 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 583.962 null ] >>
-endobj
-10771 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 573.003 null ] >>
-endobj
-10772 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 557.281 null ] >>
-endobj
-10773 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 546.322 null ] >>
-endobj
-10774 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 535.363 null ] >>
-endobj
-10775 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 524.404 null ] >>
-endobj
-10776 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 513.445 null ] >>
-endobj
-10777 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 502.486 null ] >>
-endobj
-10778 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 491.527 null ] >>
-endobj
-10779 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 475.805 null ] >>
-endobj
-10780 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 464.846 null ] >>
-endobj
-10781 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 453.887 null ] >>
-endobj
-10782 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 442.928 null ] >>
-endobj
-10783 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 431.969 null ] >>
-endobj
-10784 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 421.01 null ] >>
-endobj
-10785 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 410.051 null ] >>
-endobj
-10786 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 399.092 null ] >>
-endobj
-10787 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 388.134 null ] >>
-endobj
-10788 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 372.411 null ] >>
-endobj
-10789 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 361.452 null ] >>
-endobj
-10790 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 350.493 null ] >>
-endobj
-10791 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 339.534 null ] >>
-endobj
-10792 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 328.575 null ] >>
-endobj
-10793 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 317.617 null ] >>
-endobj
-10794 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 301.894 null ] >>
-endobj
-10795 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 290.935 null ] >>
-endobj
-10796 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 279.976 null ] >>
-endobj
-10797 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 269.017 null ] >>
-endobj
-10798 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 258.058 null ] >>
-endobj
-10799 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 247.1 null ] >>
-endobj
-10800 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 236.141 null ] >>
-endobj
-10801 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 220.418 null ] >>
-endobj
-10802 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 209.459 null ] >>
-endobj
-10803 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 198.5 null ] >>
-endobj
-10804 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 187.541 null ] >>
-endobj
-10805 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 176.583 null ] >>
-endobj
-10806 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 165.624 null ] >>
-endobj
-10807 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 149.901 null ] >>
-endobj
-10808 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 138.942 null ] >>
-endobj
-10809 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 127.983 null ] >>
-endobj
-10810 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 117.024 null ] >>
-endobj
-10811 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 106.066 null ] >>
-endobj
-10812 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 95.107 null ] >>
-endobj
-10813 0 obj
-<< /D [ 10751 0 R /XYZ 81.077 84.148 null ] >>
-endobj
-10750 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10816 0 obj
-<< /Filter /FlateDecode /Length 1563 >>
-stream
-xڽZMoFW'ܜRmZP
-MamH\YqonzXK}}f$2 rz_Wˋ7߫l&d7e
-3(EgWFegye`Y )#ݻmww]uR2!on\XW5X_r\0"o%JX`L_ƘRL赹*xXlmF#S?hZ,@hߚ[ܺ}W8)ܪ]M;Mj`~ONv$
-R1>)f|6Cl7,7e$p7>kJj\[c!MRyPi/nD( YB!LX۠R)A4VB0A Cb4T;60w鴹ɃW>򇼬82Ѭ
-1781O^Ǜvgd(n-((Z 4G!Fo-wU*"2=4H1%pmy5]rdY: $ VT[zH0ޚ0H/2upWUh1@fF2 kt3AG!\T@
-tp{8mf澨mӿOP
-hpyn"Fd#:d]yW7+/L nF,UMp&9AO%ƥ n?Ay)')^ffOp[an}᫚#"SMNЛ htWpu-G67ܾp'j  LqÔݮX˼mG
--PmOm}Mt!E+' }h 鸶m*&_;h*q%Mq"ArA@@S\How̙vSO=^F!jO[A3t{N40 W3
-3=Ae3%AiYk')n٭[{m52)f.$A&bt1aS6|*:oo&!=T\4ozZ7]I >nSZ`N684,0d~jf]|skv `T[ k64tltN9l
-,5 e*|t$h 9
-|4\֎Fy|4' 2 b4$uQbfdR" 5u ʭ;VWw!|{}&%|.mO>N2eg1 qBa(}Z71@38q/pR֧\/'i (j@&yY`<O޶fלҚ=kܿ[^
-endstream
-endobj
-10815 0 obj
-<< /Type /Page /Contents 10816 0 R /Resources 10814 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10817 0 obj
-<< /D [ 10815 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10818 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10819 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10820 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10821 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10822 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10823 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-10824 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-10825 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 687.138 null ] >>
-endobj
-10826 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 676.179 null ] >>
-endobj
-10827 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 665.22 null ] >>
-endobj
-10828 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 654.261 null ] >>
-endobj
-10829 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 643.302 null ] >>
-endobj
-10830 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 632.344 null ] >>
-endobj
-10831 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 621.385 null ] >>
-endobj
-10832 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 610.426 null ] >>
-endobj
-10833 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 599.467 null ] >>
-endobj
-10834 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 588.508 null ] >>
-endobj
-10835 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 577.549 null ] >>
-endobj
-10836 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 566.59 null ] >>
-endobj
-10837 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 555.631 null ] >>
-endobj
-10838 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 544.672 null ] >>
-endobj
-10839 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 533.713 null ] >>
-endobj
-10840 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 517.773 null ] >>
-endobj
-10841 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 506.814 null ] >>
-endobj
-10842 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 495.855 null ] >>
-endobj
-10843 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 484.896 null ] >>
-endobj
-10844 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 473.938 null ] >>
-endobj
-10845 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 462.979 null ] >>
-endobj
-10846 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 452.02 null ] >>
-endobj
-10847 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-10848 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 430.102 null ] >>
-endobj
-10849 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-10850 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 408.184 null ] >>
-endobj
-10851 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 397.225 null ] >>
-endobj
-10852 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 381.285 null ] >>
-endobj
-10853 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-10854 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 359.367 null ] >>
-endobj
-10855 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 348.408 null ] >>
-endobj
-10856 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 337.449 null ] >>
-endobj
-10857 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 326.49 null ] >>
-endobj
-10858 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 315.532 null ] >>
-endobj
-10859 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 304.573 null ] >>
-endobj
-10860 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-10861 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 282.655 null ] >>
-endobj
-10862 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 271.696 null ] >>
-endobj
-10863 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 260.737 null ] >>
-endobj
-10864 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 249.778 null ] >>
-endobj
-10865 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 233.838 null ] >>
-endobj
-10866 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 222.879 null ] >>
-endobj
-10867 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 211.92 null ] >>
-endobj
-10868 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 200.961 null ] >>
-endobj
-10869 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 190.002 null ] >>
-endobj
-10870 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 179.043 null ] >>
-endobj
-10871 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 168.085 null ] >>
-endobj
-10872 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 157.126 null ] >>
-endobj
-10873 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 146.167 null ] >>
-endobj
-10874 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-10875 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 124.249 null ] >>
-endobj
-10876 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 113.29 null ] >>
-endobj
-10877 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 102.331 null ] >>
-endobj
-10878 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 91.372 null ] >>
-endobj
-10879 0 obj
-<< /D [ 10815 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-10814 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10882 0 obj
-<< /Filter /FlateDecode /Length 1407 >>
-stream
-xڽKoF1ɼY)ڠEBE"oϥd#2rٟ̹ʦ]DMի_]H,|bCtVhFfa g$
-k257$b7$$w0@$%Q8W8N<%
-endstream
-endobj
-10881 0 obj
-<< /Type /Page /Contents 10882 0 R /Resources 10880 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10883 0 obj
-<< /D [ 10881 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10884 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10885 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10886 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10887 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10888 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10889 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-10890 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-10891 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-10892 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-10893 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-10894 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-10895 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-10896 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-10897 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 622.785 null ] >>
-endobj
-10898 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 611.826 null ] >>
-endobj
-10899 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 600.867 null ] >>
-endobj
-10900 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 589.908 null ] >>
-endobj
-10901 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 578.949 null ] >>
-endobj
-10902 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 567.991 null ] >>
-endobj
-10903 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 557.032 null ] >>
-endobj
-10904 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 546.073 null ] >>
-endobj
-10905 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 535.114 null ] >>
-endobj
-10906 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 524.155 null ] >>
-endobj
-10907 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 513.196 null ] >>
-endobj
-10908 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 502.237 null ] >>
-endobj
-10909 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 491.278 null ] >>
-endobj
-10910 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 480.319 null ] >>
-endobj
-10911 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 469.36 null ] >>
-endobj
-10912 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 458.401 null ] >>
-endobj
-10913 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 447.443 null ] >>
-endobj
-10914 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 436.484 null ] >>
-endobj
-10915 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 425.525 null ] >>
-endobj
-10916 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 414.566 null ] >>
-endobj
-10917 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 403.607 null ] >>
-endobj
-10918 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 389.067 null ] >>
-endobj
-10919 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 378.108 null ] >>
-endobj
-10920 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 367.149 null ] >>
-endobj
-10921 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 356.19 null ] >>
-endobj
-10922 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 345.232 null ] >>
-endobj
-10923 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 334.273 null ] >>
-endobj
-10924 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 323.314 null ] >>
-endobj
-10925 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 312.355 null ] >>
-endobj
-10926 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 301.396 null ] >>
-endobj
-10927 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 290.437 null ] >>
-endobj
-10928 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 279.478 null ] >>
-endobj
-10929 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 268.519 null ] >>
-endobj
-10930 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 257.56 null ] >>
-endobj
-10931 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 246.601 null ] >>
-endobj
-10932 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 235.643 null ] >>
-endobj
-10933 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 224.684 null ] >>
-endobj
-10934 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 213.725 null ] >>
-endobj
-10935 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 202.766 null ] >>
-endobj
-10936 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 191.807 null ] >>
-endobj
-10937 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 180.848 null ] >>
-endobj
-10938 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 166.308 null ] >>
-endobj
-10939 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-10940 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-10941 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 133.431 null ] >>
-endobj
-10942 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-10943 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-10944 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-10945 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-10946 0 obj
-<< /D [ 10881 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10880 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10949 0 obj
-<< /Filter /FlateDecode /Length 1618 >>
-stream
-xڽ]o6+|NMW݀m7:LBdɐA1QMzb K"Z%Y"W;ϷW/ߨt!抺Ȃ.RVky\X,R0Jt&Lnm=fEJ?اۿ#Um]uf+ P<U]/
-܍yt2" iB0rݮUUU7dgPja"e]S|cu F<6W@/>pu =9C0 TOg =aÝZݰ ڮYEθÝܹyEM?*<1N>lt, w
- =HnǢ,n; aN_NAzh>sۗ4hp}Jݤ*FQS5H5!5>ڞњҀ`ޱ<ԖR 7*8y:+ȳ&U-Z\$޳ W<;) V a
-T.0W
-&*ANH8ß,D^ ' =HJO&Ĺ:H&nK6Ev+"pRzr'8V2<H{2A:a g Me$x
-8qKFӮ8鼱B`?tMT.
-U5Os<|uqEӸ 1!^y })p7& $]7rOFkm}{X P\D3I'|mNMnLy8HjNA;.)0i7Hoˢ
-<&sko7m_Q w)6Hv%;'آH%9[tYo}C ̤/E }V:HqܫLwj^zUm=#6jL2KM:9E"d&BkqJRCYd]50uN~sIPGP8VhЩ7H|
-SBW.Ru77)9ȗ” =0 ~µ*ȵC溵ތGnv]:xt:?۝eͳ)%0>B{v ,<csf`Wh¸gyn%a϶2
-endstream
-endobj
-10948 0 obj
-<< /Type /Page /Contents 10949 0 R /Resources 10947 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-10950 0 obj
-<< /D [ 10948 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-10951 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-10952 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-10953 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-10954 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-10955 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-10956 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-10957 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-10958 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-10959 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-10960 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 665.826 null ] >>
-endobj
-10961 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 654.868 null ] >>
-endobj
-10962 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 643.909 null ] >>
-endobj
-10963 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 632.95 null ] >>
-endobj
-10964 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 621.991 null ] >>
-endobj
-10965 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 611.032 null ] >>
-endobj
-10966 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 600.073 null ] >>
-endobj
-10967 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 589.114 null ] >>
-endobj
-10968 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 578.155 null ] >>
-endobj
-10969 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 567.196 null ] >>
-endobj
-10970 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 556.237 null ] >>
-endobj
-10971 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 545.279 null ] >>
-endobj
-10972 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 534.32 null ] >>
-endobj
-10973 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 523.361 null ] >>
-endobj
-10974 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 512.402 null ] >>
-endobj
-10975 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 501.443 null ] >>
-endobj
-10976 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 490.484 null ] >>
-endobj
-10977 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 479.525 null ] >>
-endobj
-10978 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 468.566 null ] >>
-endobj
-10979 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 457.607 null ] >>
-endobj
-10980 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 446.648 null ] >>
-endobj
-10981 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 435.689 null ] >>
-endobj
-10982 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 424.731 null ] >>
-endobj
-10983 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 413.772 null ] >>
-endobj
-10984 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 402.813 null ] >>
-endobj
-10985 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 391.854 null ] >>
-endobj
-10986 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 380.895 null ] >>
-endobj
-10987 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 369.936 null ] >>
-endobj
-10988 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 358.977 null ] >>
-endobj
-10989 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 348.018 null ] >>
-endobj
-10990 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 337.059 null ] >>
-endobj
-10991 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 326.1 null ] >>
-endobj
-10992 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 315.142 null ] >>
-endobj
-10993 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 304.183 null ] >>
-endobj
-10994 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 293.224 null ] >>
-endobj
-10995 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 282.265 null ] >>
-endobj
-10996 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 271.306 null ] >>
-endobj
-10997 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 260.347 null ] >>
-endobj
-10998 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 249.388 null ] >>
-endobj
-10999 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 238.429 null ] >>
-endobj
-11000 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 227.47 null ] >>
-endobj
-11001 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 216.511 null ] >>
-endobj
-11002 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 205.553 null ] >>
-endobj
-11003 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 194.594 null ] >>
-endobj
-11004 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 183.635 null ] >>
-endobj
-11005 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 172.676 null ] >>
-endobj
-11006 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 161.717 null ] >>
-endobj
-11007 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 150.758 null ] >>
-endobj
-11008 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 139.799 null ] >>
-endobj
-11009 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 128.84 null ] >>
-endobj
-11010 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 117.881 null ] >>
-endobj
-11011 0 obj
-<< /D [ 10948 0 R /XYZ 81.077 106.922 null ] >>
-endobj
-10947 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11014 0 obj
-<< /Filter /FlateDecode /Length 1637 >>
-stream
-xڭ]o6+|N%~]yW6 %CGJ6%fk좱5PIId W
-?r??\{/Bєr{E݇Ȃ.IBI
-Drh)oZ˅By
-Ꮤw}mu},:Q>M{\۟ڶx{9JX
-\MuBcS⌭{_ÈqܧD2Q<ЩeUVT>Mk7$&NT d((_߻\UXyWu4 TuZFiY-),r\-i2aӝ֞>ber}jڍm-̓9;ӫ7օ T
-<*:[M`<8S S ԇ3v^۪ʺC٪fUɃ4NQz4txܸWq39vOsPT nجMPT$7g۲lT 0&A{Zhg8m󘀓3"hM,NU$w
-hp1MZpit R]IoNk'Oq_wcw $
-v( Ips+!ܖkίnSF*%uY6J>'2pc@N_mm[O
- 6J/ R 8F
-endstream
-endobj
-11013 0 obj
-<< /Type /Page /Contents 11014 0 R /Resources 11012 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-11015 0 obj
-<< /D [ 11013 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-11016 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-11017 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-11018 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-11019 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-11020 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-11021 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-11022 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-11023 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-11024 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-11025 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-11026 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-11027 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-11028 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-11029 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-11030 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-11031 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-11032 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-11033 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-11034 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-11035 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-11036 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-11037 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-11038 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-11039 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-11040 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-11041 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-11042 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-11043 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-11044 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-11045 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-11046 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-11047 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-11048 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-11049 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-11050 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-11051 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-11052 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-11053 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-11054 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-11055 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-11056 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-11057 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-11058 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-11059 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-11060 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-11061 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-11062 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-11063 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-11064 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-11065 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-11066 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-11067 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-11068 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-11069 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-11070 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-11071 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-11072 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 155.133 null ] >>
-endobj
-11073 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 111.514 null ] >>
-endobj
-11074 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 100.555 null ] >>
-endobj
-11075 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 89.596 null ] >>
-endobj
-11076 0 obj
-<< /D [ 11013 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-11012 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11079 0 obj
-<< /Filter /FlateDecode /Length 1426 >>
-stream
-xڵo6+|
-LoS1`+Ni- YcdPrҠQvB/b? I=z)Wd񎼽 ~[߽C
- -p6 ˧nm6GS1Ԉ7*N~RL趩6ŵLCM0b 78һnDz9ʭjk0bq[7uk}ޖke@h|f8Eh[1<ʏ+\t嚦Oem7 ݱhc=d0I
-BGqgЈ1qM ;ew ,6nt\Q30ia,}}&hP<jOP2=q :jM,#NSv445'$9w}@궯wڕ!Q}$@Ƕ/Sd`D98I<׻A"(]'pMU[3|+9ˢηI\,0qsp ͚6Iݮ>yB#qMү<M].8&05n?ǀT4F1sg$}XIv WF$yp]o
-)Ѩ8sm>LEvLn8&S.glt5I2U4{Z o$37)>g$_qkAg)5IE2KDoR(R8&"ʯ JQ8w.Kpvv<R4\T8&`X94I]qYf^9<68&4u9kshp>Mҧ;iAB)hEpMkqNql0Fw{f,q"M'W E} UziFEiTm SltIuyWbRA(#
-ΫIڟ_?anm~ /p`m,5κI?MFu£v5NI:fc8&ܢQFid+/s#02JNk~(}PKv8&ǵ 5ؼ`pM F( u഻ _QFq&83 ѻ4\\GsT-܄C۶o׷/m^v+.Dz1m4zLn^t nOQ;g$=Nct?q4ם2nߏu?_q1}}];OPI>8k'bNM?PI=
-ezRC>0g<C<$V1F!%@Z w=&c_ Q
-endstream
-endobj
-11078 0 obj
-<< /Type /Page /Contents 11079 0 R /Resources 11077 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10556 0 R >>
-endobj
-11080 0 obj
-<< /D [ 11078 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-11081 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-11082 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-11083 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-11084 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-11085 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-11086 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-11087 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-11088 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-11089 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-11090 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-11091 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 659.243 null ] >>
-endobj
-11092 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 648.284 null ] >>
-endobj
-11093 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 637.325 null ] >>
-endobj
-11094 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 626.366 null ] >>
-endobj
-11095 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-11096 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 604.448 null ] >>
-endobj
-11097 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 593.489 null ] >>
-endobj
-11098 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 582.53 null ] >>
-endobj
-11099 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 571.571 null ] >>
-endobj
-11100 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 560.613 null ] >>
-endobj
-11101 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 549.654 null ] >>
-endobj
-11102 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 538.695 null ] >>
-endobj
-11103 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-11104 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 516.777 null ] >>
-endobj
-11105 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 505.818 null ] >>
-endobj
-11106 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 494.859 null ] >>
-endobj
-11107 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 483.9 null ] >>
-endobj
-11108 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 472.941 null ] >>
-endobj
-11109 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-11110 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 451.023 null ] >>
-endobj
-11111 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 440.065 null ] >>
-endobj
-11112 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 429.106 null ] >>
-endobj
-11113 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 418.147 null ] >>
-endobj
-11114 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-11115 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 396.229 null ] >>
-endobj
-11116 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 385.27 null ] >>
-endobj
-11117 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 374.311 null ] >>
-endobj
-11118 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 363.352 null ] >>
-endobj
-11119 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 352.393 null ] >>
-endobj
-11120 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 341.434 null ] >>
-endobj
-11121 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 330.476 null ] >>
-endobj
-11122 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 319.517 null ] >>
-endobj
-11123 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-11124 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 297.599 null ] >>
-endobj
-11125 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 286.64 null ] >>
-endobj
-11126 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 275.681 null ] >>
-endobj
-11127 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-11128 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 253.763 null ] >>
-endobj
-11129 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-11130 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 231.845 null ] >>
-endobj
-11131 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 220.887 null ] >>
-endobj
-11132 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 209.928 null ] >>
-endobj
-11133 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 198.969 null ] >>
-endobj
-11134 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 188.01 null ] >>
-endobj
-11135 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-11136 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 166.092 null ] >>
-endobj
-11137 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 152.144 null ] >>
-endobj
-11138 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 141.185 null ] >>
-endobj
-11139 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 130.226 null ] >>
-endobj
-11140 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 119.268 null ] >>
-endobj
-11141 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 108.309 null ] >>
-endobj
-11142 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 97.35 null ] >>
-endobj
-11143 0 obj
-<< /D [ 11078 0 R /XYZ 81.077 86.391 null ] >>
-endobj
-11077 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11146 0 obj
-<< /Filter /FlateDecode /Length 1531 >>
-stream
-xڥ]o6+|N-bVl׹!e&KD%5귏z
-Dq;5ya@+ū8L)d~F$@ զq6@f?V4}y4Mk6q6In6`65[;*rnNK`~_ \81mf@LA_]i
-U=I䚾`po %!N׶mdj[lzc6e0x@pHQ8",e#ןAt$Q>+#u9;dp4q Ǯ]36iR}+H-NIӚ!%(ηI<*ˀ3oYnl6P*,=tٺCJ).qcPpM4^7.H4ok-W77g`
-8&g61,ğZ3m6վZ7_Tkw8z!Z88&+<BW@D7aU
-8&7lT@8&" +]m1A
-`4Hlğ!j{r_9LpMjs&)gtPù6wLQ<%A )`8&7 k "Z/ '$^T:;gfTp*M1_:'m6,A3j1_JAta8/.'>K
-$y5wh`y6ͰWXP6wS6s] qJE '$~.תXe(AI8NI|}JAt$>dkWa0 1NKWx$U*qMC?-+Ru$>LjavX@[L8Nqz<o&ZA-#xƍC&$hMswf3 .O
-8&sf^/$òu?<v]8vf{n/kO_Sny
-I釓wc3vSS[}?/fp*l68}4r1|jv>G;7oξZ7Η1m{FV?H݅s䓑5\헉d~8XRYСDE>q4{;Y ,yǴGX,Se_rl9rLJث;K)1
-
-endstream
-endobj
-11145 0 obj
-<< /Type /Page /Contents 11146 0 R /Resources 11144 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11211 0 R >>
-endobj
-11147 0 obj
-<< /D [ 11145 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-11148 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 768.832 null ] >>
-endobj
-11149 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-11150 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-11151 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-11152 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-11153 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 714.037 null ] >>
-endobj
-11154 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 703.078 null ] >>
-endobj
-11155 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 692.119 null ] >>
-endobj
-11156 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-11157 0 obj
-<< /D [ 11145 0 R /XYZ 81.077 670.202 null ] >>
-endobj
-11158 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 659.243 null ] >>
-endobj
-11159 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 648.284 null ] >>
-endobj
-11160 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 637.325 null ] >>
-endobj
-11161 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 626.366 null ] >>
-endobj
-11162 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 615.407 null ] >>
-endobj
-11163 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 604.448 null ] >>
-endobj
-11164 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 593.489 null ] >>
-endobj
-11165 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 582.53 null ] >>
-endobj
-11166 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 571.571 null ] >>
-endobj
-11167 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 560.613 null ] >>
-endobj
-11168 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 549.654 null ] >>
-endobj
-11169 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 538.695 null ] >>
-endobj
-11170 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 527.736 null ] >>
-endobj
-11171 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 516.777 null ] >>
-endobj
-11172 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 505.818 null ] >>
-endobj
-11173 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 494.859 null ] >>
-endobj
-11174 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 483.9 null ] >>
-endobj
-11175 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 472.941 null ] >>
-endobj
-11176 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 461.982 null ] >>
-endobj
-11177 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 451.023 null ] >>
-endobj
-11178 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 440.065 null ] >>
-endobj
-11179 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 429.106 null ] >>
-endobj
-11180 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 418.147 null ] >>
-endobj
-11181 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 407.188 null ] >>
-endobj
-11182 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 396.229 null ] >>
-endobj
-11183 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 385.27 null ] >>
-endobj
-11184 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 374.311 null ] >>
-endobj
-11185 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 363.352 null ] >>
-endobj
-11186 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 352.393 null ] >>
-endobj
-11187 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 341.434 null ] >>
-endobj
-11188 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 330.476 null ] >>
-endobj
-11189 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 319.517 null ] >>
-endobj
-11190 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 308.558 null ] >>
-endobj
-11191 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 297.599 null ] >>
-endobj
-11192 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 286.64 null ] >>
-endobj
-11193 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 275.681 null ] >>
-endobj
-11194 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 264.722 null ] >>
-endobj
-11195 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 253.763 null ] >>
-endobj
-11196 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 242.804 null ] >>
-endobj
-11197 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 231.845 null ] >>
-endobj
-11198 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 220.887 null ] >>
-endobj
-11199 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 209.928 null ] >>
-endobj
-11200 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 198.969 null ] >>
-endobj
-11201 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 188.01 null ] >>
-endobj
-11202 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 177.051 null ] >>
-endobj
-11203 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 161.111 null ] >>
-endobj
-11204 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 150.152 null ] >>
-endobj
-11205 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 139.193 null ] >>
-endobj
-11206 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 128.234 null ] >>
-endobj
-11207 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 117.275 null ] >>
-endobj
-11208 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 106.316 null ] >>
-endobj
-11209 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 95.357 null ] >>
-endobj
-11210 0 obj
-<< /D [ 11145 0 R /XYZ 82.402 84.398 null ] >>
-endobj
-11144 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11214 0 obj
-<< /Filter /FlateDecode /Length 943 >>
-stream
-xڝW]o6}ЛS H1 ŀŀ}Cm蘶d&QɌ #8Ӣ-=g gftE,_OW(JRY? g$+ T N$wٟcVeMUMrDQ_|Ul~"_7wiO5z0~LjǙaDp9S)<_5zq}nwQC6}N&LS.*Dh)Q.<UFSÑt];Xgnv\8ե[>{e^^<%"%pxp"P\O^H+nZVl27NidʕW XDk"?/ŵ4 tR1yptؒV1*8$9/e N^T@^3lL?,q Ӎ;=oWv{9N327)GaʌChvg /bEݍs6:t;ٍ
-Ν_0U<Yʹ۪^!s^o=Po-k7j&)'-8-8Y%"ciM-c'/>evkF뾜uɑ x JYk a8E&09x>icCpSϞϛ,A=4o>/]8d4Gm_~wQUL UN?Vg-;rcU\EE GΣG
-XSO욦hh%ŭyۛ\v'l˾#W1
-#;?UzƷQndM ع"fwf-݁<)
-T TY塹WpF{OR)gO
-endstream
-endobj
-11213 0 obj
-<< /Type /Page /Contents 11214 0 R /Resources 11212 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11211 0 R >>
-endobj
-11215 0 obj
-<< /D [ 11213 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-11216 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 768.832 null ] >>
-endobj
-11217 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 757.873 null ] >>
-endobj
-11218 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 746.914 null ] >>
-endobj
-11219 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 735.955 null ] >>
-endobj
-11220 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 724.996 null ] >>
-endobj
-11221 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 714.037 null ] >>
-endobj
-11222 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 703.078 null ] >>
-endobj
-11223 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 692.119 null ] >>
-endobj
-11224 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 676.179 null ] >>
-endobj
-11225 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 665.22 null ] >>
-endobj
-11226 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 654.261 null ] >>
-endobj
-11227 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 643.302 null ] >>
-endobj
-11228 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 632.344 null ] >>
-endobj
-11229 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 621.385 null ] >>
-endobj
-11230 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 605.444 null ] >>
-endobj
-11231 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 594.486 null ] >>
-endobj
-11232 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 583.527 null ] >>
-endobj
-11233 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 572.568 null ] >>
-endobj
-11234 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 561.609 null ] >>
-endobj
-11235 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 550.65 null ] >>
-endobj
-11236 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 534.71 null ] >>
-endobj
-11237 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 523.751 null ] >>
-endobj
-11238 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 512.792 null ] >>
-endobj
-11239 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 501.833 null ] >>
-endobj
-11240 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 490.874 null ] >>
-endobj
-11241 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 479.915 null ] >>
-endobj
-11242 0 obj
-<< /D [ 11213 0 R /XYZ 82.402 468.956 null ] >>
-endobj
-11212 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 189 0 R /F64 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11276 0 obj
-<< /Filter /FlateDecode /Length 1220 >>
-stream
-xڝo6WO1In6 XL"TNG,ɎI6-x_4Nn;y9{VLdss@"2<ELB%jMae{7}xJ*QH " $I9(Wot^fMf
-ᜦtU߸}wJ?g~!G
-Yu۞.8`!SpJ1w[}S5%XfQLNjIPJzWuYխw}vYX1RzV|껪ȳ}?aʪ"c"4
-(9q[;x7;mt~K-"2w!?LvA\F& 1NB
-O9" 9n<W<bC56RUm݁$I^[ Ҡu,8 M!7n]ptzuj.|G닦{b>-9h$;(DES.b*_j{5)85 `
-CN<I~Im<2ɑ d
-*`'rmT?oCmkcB--2Q
-e AtYnnv"@G'r
-#0@k,]DD' ^mqBs_cy"
-@ip3\O\}$D\
-endstream
-endobj
-11275 0 obj
-<< /Type /Page /Contents 11276 0 R /Resources 11274 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11211 0 R /Annots 11278 0 R >>
-endobj
-11278 0 obj
-[ 11243 0 R 11244 0 R 11245 0 R 11246 0 R 11247 0 R 11248 0 R 11249 0 R 11250 0 R 11251 0 R 11252 0 R 11253 0 R 11254 0 R 11255 0 R 11256 0 R 11257 0 R 11258 0 R 11259 0 R 11260 0 R 11261 0 R 11262 0 R 11263 0 R 11264 0 R 11265 0 R 11266 0 R 11267 0 R 11268 0 R 11269 0 R 11270 0 R 11271 0 R 11272 0 R ]
-endobj
-11243 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 713.79 345.275 724.684 ]/A << /S /GoTo /D (section.0.1) >> >>
-endobj
-11244 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.872 168.931 702.766 ]/A << /S /GoTo /D (section.0.2) >> >>
-endobj
-11245 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.954 195.879 680.848 ]/A << /S /GoTo /D (section.0.3) >> >>
-endobj
-11246 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 649.973 207.669 658.93 ]/A << /S /GoTo /D (section.0.4) >> >>
-endobj
-11247 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 628.056 162.385 637.012 ]/A << /S /GoTo /D (section.0.5) >> >>
-endobj
-11248 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 603.647 244.465 615.602 ]/A << /S /GoTo /D (section.0.6) >> >>
-endobj
-11249 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.283 313.465 593.177 ]/A << /S /GoTo /D (section.0.7) >> >>
-endobj
-11250 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.365 165.023 571.259 ]/A << /S /GoTo /D (section.0.8) >> >>
-endobj
-11251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 537.894 356.927 549.849 ]/A << /S /GoTo /D (section.0.9) >> >>
-endobj
-11252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 515.976 192.945 527.931 ]/A << /S /GoTo /D (section.0.10) >> >>
-endobj
-11253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 494.058 318.799 506.013 ]/A << /S /GoTo /D (section.0.11) >> >>
-endobj
-11254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 472.694 304.727 483.588 ]/A << /S /GoTo /D (section.0.12) >> >>
-endobj
-11255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 450.222 271.2 462.178 ]/A << /S /GoTo /D (section.0.13) >> >>
-endobj
-11256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 428.305 345.319 440.26 ]/A << /S /GoTo /D (section.0.14) >> >>
-endobj
-11257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 406.387 370.804 418.342 ]/A << /S /GoTo /D (section.0.15) >> >>
-endobj
-11258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 385.022 280.698 395.917 ]/A << /S /GoTo /D (section.0.16) >> >>
-endobj
-11259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 365.042 232.492 373.999 ]/A << /S /GoTo /D (section.0.17) >> >>
-endobj
-11260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 341.187 418.007 352.081 ]/A << /S /GoTo /D (section.0.18) >> >>
-endobj
-11261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 321.206 359.856 330.163 ]/A << /S /GoTo /D (section.0.19) >> >>
-endobj
-11262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 296.798 323.519 308.753 ]/A << /S /GoTo /D (section.0.20) >> >>
-endobj
-11263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 274.88 233.701 286.835 ]/A << /S /GoTo /D (section.0.21) >> >>
-endobj
-11264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 253.516 272.181 264.41 ]/A << /S /GoTo /D (section.0.22) >> >>
-endobj
-11265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 233.535 269.72 242.492 ]/A << /S /GoTo /D (section.0.23) >> >>
-endobj
-11266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 209.68 200.238 220.574 ]/A << /S /GoTo /D (section.0.24) >> >>
-endobj
-11267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 187.209 292.135 199.164 ]/A << /S /GoTo /D (section.0.25) >> >>
-endobj
-11268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 167.782 187.086 176.738 ]/A << /S /GoTo /D (section.0.26) >> >>
-endobj
-11269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 145.864 159.613 154.821 ]/A << /S /GoTo /D (section.0.27) >> >>
-endobj
-11270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 122.009 324.087 132.903 ]/A << /S /GoTo /D (section.0.28) >> >>
-endobj
-11271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 100.091 192.653 110.985 ]/A << /S /GoTo /D (section.0.29) >> >>
-endobj
-11272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 77.62 313.527 89.575 ]/A << /S /GoTo /D (section.0.30) >> >>
-endobj
-11277 0 obj
-<< /D [ 11275 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-165 0 obj
-<< /D [ 11275 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-11274 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 187 0 R /F79 726 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11290 0 obj
-<< /Filter /FlateDecode /Length 499 >>
-stream
-xڍKs0
-endstream
-endobj
-11289 0 obj
-<< /Type /Page /Contents 11290 0 R /Resources 11288 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11211 0 R /Annots 11292 0 R >>
-endobj
-11292 0 obj
-[ 11273 0 R 11279 0 R 11280 0 R 11281 0 R 11282 0 R 11283 0 R 11284 0 R 11285 0 R 11286 0 R 11287 0 R ]
-endobj
-11273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 757.574 225.426 769.529 ]/A << /S /GoTo /D (section.0.31) >> >>
-endobj
-11279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 735.656 232.547 747.611 ]/A << /S /GoTo /D (section.0.32) >> >>
-endobj
-11280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 714.292 261.342 725.186 ]/A << /S /GoTo /D (section.0.33) >> >>
-endobj
-11281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.821 240.384 703.776 ]/A << /S /GoTo /D (section.0.34) >> >>
-endobj
-11282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.903 329.738 681.858 ]/A << /S /GoTo /D (section.0.35) >> >>
-endobj
-11283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 648.538 252.167 659.432 ]/A << /S /GoTo /D (section.0.36) >> >>
-endobj
-11284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 626.067 266.6 638.022 ]/A << /S /GoTo /D (section.0.37) >> >>
-endobj
-11285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 604.703 318.705 615.597 ]/A << /S /GoTo /D (section.0.38) >> >>
-endobj
-11286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.785 258.373 593.679 ]/A << /S /GoTo /D (section.0.39) >> >>
-endobj
-11287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.867 257.469 571.761 ]/A << /S /GoTo /D (section.0.40) >> >>
-endobj
-11291 0 obj
-<< /D [ 11289 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-11288 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 726 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1 0 obj
-<< /pgf@bmMultiply<< /BM /Multiply>>>>
-endobj
-2 0 obj
-<<>>
-endobj
-3 0 obj
-<< /pgfprgb [/Pattern /DeviceRGB] >>
-endobj
-11294 0 obj
-[493.7 0 0 548.6 0 0 0 0 0 0 548.6 0 0 452.6 438.9 356.6 ]
-endobj
-11296 0 obj
-[647.8 579.4 ]
-endobj
-11298 0 obj
-[875 875 666.7 666.7 666.7 666.7 0 0 0 0 0 0 0 0 0 0 875 875 ]
-endobj
-11299 0 obj
-[525 525 0 0 525 525 0 525 525 525 0 525 0 525 525 0 0 525 0 525 525 0 0 525 ]
-endobj
-11301 0 obj
-[531.3 531.3 ]
-endobj
-11303 0 obj
-[826.4 ]
-endobj
-11304 0 obj
-[531.3 531.3 531.3 0 531.3 0 0 0 0 531.3 0 0 0 0 531.3 0 0 0 0 0 531.3 531.3 531.3 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 531.3 531.3 531.3 0 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 ]
-endobj
-11305 0 obj
-[575 0 0 0 0 0 0 638.9 638.9 0 0 0 0 0 0 0 0 0 0 0 0 575 0 319.5 383.3 0 0 575 575 575 575 575 575 575 575 575 575 0 0 0 0 0 0 0 869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 0 0 691.7 1091.7 900 863.9 786.1 0 862.5 638.9 800 884.7 869.4 1188.9 869.4 0 0 0 575 0 0 0 0 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.5 0 607 319.5 958.3 638.9 575 638.9 0 473.6 453.6 447.2 638.9 607 830.6 607 607 511.1 575 0 575 ]
-endobj
-11307 0 obj
-[777.8 ]
-endobj
-11308 0 obj
-[777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 416.7 528.6 429.2 432.8 0 0 0 0 0 344.5 411.8 520.6 298.4 0 600.2 0 0 0 0 0 0 0 0 0 571.5 490.3 ]
-endobj
-11309 0 obj
-[833.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 ]
-endobj
-11310 0 obj
-[613.3 0 591.1 624.5 0 535.5 641.1 0 302.2 0 0 0 0 0 0 557.8 0 0 457.8 ]
-endobj
-11311 0 obj
-[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 ]
-endobj
-11312 0 obj
-[569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
-endobj
-11313 0 obj
-[562.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 357.8 306.7 0 0 0 0 0 0 0 0 0 0 0 306.7 0 0 0 0 0 0 0 703.9 715.6 0 678.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.5 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.5 ]
-endobj
-11314 0 obj
-[388.9 388.9 0 0 0 333.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444.5 0 444.5 305.5 0 0 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 0 0 394.4 388.9 555.5 527.8 0 527.8 527.8 ]
-endobj
-11315 0 obj
-[502.3 502.3 0 0 0 0 1062.5 0 0 0 0 0 590.3 0 0 0 0 0 0 0 0 0 0 295.1 413.2 413.2 0 0 295.1 354.2 295.1 531.3 531.3 531.3 531.3 0 531.3 0 531.3 531.3 0 531.3 0 0 0 0 0 0 0 795.9 0 0 0 722.6 0 0 0 382.6 0 0 663.5 972.9 0 0 0 0 0 590.3 767.4 0 0 1091 795.9 0 0 0 0 0 0 0 0 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 0 560.7 295.1 885.4 590.3 531.3 590.3 560.7 414.1 419.1 413.2 590.3 560.7 767.4 560.7 560.7 472.2 ]
-endobj
-11316 0 obj
-[638.9 ]
-endobj
-11317 0 obj
-[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 510.4 0 472.2 0 472.2 0 0 0 253.5 0 0 0 843.8 548.6 0 0 0 362.8 0 383.7 0 0 0 489.6 ]
-endobj
-11318 0 obj
-[625 0 0 0 0 0 0 0 0 0 0 0 0 0 562.5 0 312.5 375 0 0 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 0 0 0 0 0 0 0 849.5 799.7 812.5 862.3 738.4 0 0 879.6 419 0 0 675.9 1067.2 879.6 844.9 768.5 0 839.2 625 782.4 864.6 0 1162 849.5 0 0 0 575 0 0 0 0 546.9 625 500 625 513.3 343.7 562.5 625 312.5 0 593.7 312.5 937.5 625 562.5 625 0 459.5 443.7 437.5 625 593.7 812.5 593.7 593.7 500 575 0 575 ]
-endobj
-11319 0 obj
-[525 0 525 525 0 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 0 525 525 525 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ]
-endobj
-11320 0 obj
-[583.3 0 536.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333.3 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 480.5 516.7 444.5 516.7 444.5 305.5 500 516.7 238.9 0 488.9 238.9 794.5 516.7 500 516.7 0 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 ]
-endobj
-11321 0 obj
-[472 472 0 0 0 500 1000 0 0 0 0 583.3 555.5 555.5 833.3 0 0 277.8 0 0 0 0 0 277.8 388.9 388.9 0 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.5 652.8 784.7 750 361.1 513.9 0 625 916.7 750 777.8 680.5 0 736.1 555.5 722.2 750 0 1027.8 750 750 611.1 277.8 0 277.8 0 0 277.8 500 555.5 444.5 555.5 444.5 305.5 500 555.5 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 527.8 391.7 394.4 388.9 555.5 527.8 722.2 527.8 527.8 444.5 ]
-endobj
-11322 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ]
-endobj
-11323 0 obj
-[577.2 524.7 0 0 0 0 341.1 ]
-endobj
-11324 0 obj
-[493.8 0 456.8 0 456.8 0 0 0 245.4 0 0 0 816.3 530.8 0 0 0 351.1 0 371.1 0 0 0 473.8 ]
-endobj
-11325 0 obj
-[285.5 399.7 399.7 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 670.8 0 0 371 0 0 642.3 0 0 0 0 0 0 0 742.3 0 0 0 770.7 0 0 0 0 0 0 0 0 513.9 0 456.8 571 457.2 314 513.9 571 285.5 0 542.4 285.5 856.4 571 513.9 571 0 402 405.4 399.7 571 0 742.3 ]
-endobj
-11326 0 obj
-[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 575.2 657.4 525.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 488.1 466.7 460.2 ]
-endobj
-11327 0 obj
-[514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 514.6 0 514.6 514.6 0 514.6 0 0 0 0 514.6 514.6 514.6 0 514.6 0 514.6 0 0 514.6 0 514.6 ]
-endobj
-11328 0 obj
-[272 0 272 0 489.6 489.6 489.6 0 489.6 0 0 0 0 489.6 0 0 0 0 0 0 0 0 0 0 0 0 639 0 0 0 0 0 0 0 0 0 666.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 489.6 544 0 0 435.2 0 489.6 0 272 0 0 0 0 544 0 0 0 380.8 0 380.8 544 0 0 0 516.8 ]
-endobj
-11329 0 obj
-[777.8 0 0 500 ]
-endobj
-11330 0 obj
-[450.9 0 417.9 0 417.9 0 0 0 222.6 0 0 0 745.1 483.9 0 0 0 320.3 0 339.6 0 0 0 431.6 ]
-endobj
-11331 0 obj
-[667.6 0 0 0 0 0 0 0 0 0 0 0 0 458.6 0 406.4 510.9 406.4 275.8 458.6 510.9 0 0 484.7 0 0 0 458.6 510.9 0 0 0 354.1 ]
-endobj
-11333 0 obj
-<< /Length1 2610 /Length2 30311 /Length3 0 /Filter /FlateDecode /Length 31774 >>
-stream
-xڴzeTup'8ww {pw ݝorν7 fvuÛTYQd
-922TA&, ;s
-pZ\
-L
-p:XmT`e? 
-t0q0;
-LWi\]\]XXwfDe$%
-.9I8̭,l\
-\k@p]@V?8qpI@wkLX\$P vwG
- tO_˟c_a5Wg-PWgkO=Q
-(Ry0r#/' ̬~k5n-
-a(yN+qe?MuC|_IU3PMmj\Ex_
-.yJn@gdg|_`~I
-B(SDd硥WEf)؛J[9R1!-?57A{yd\{2Z&>!.KR ̩ םHDF{,+ :y_>p80g%sh6!%').*['ۊE}.yxe;Qa`o;2?+Gt^߮VmŎnעQoh Ȉ|Ss'oL!7?',*Ε@pN-Uq|J}"Py\cGL.1T$kfF2^n}qIRWr>ySk!\rb
-E.p)! r
-
- vKx(mĵ!̠g1Y$f( GݍQeU*4S.$Ar2R<H`k;E>mO|p5}2|X5Z80/ +KANun%IV\{;mȨQO+!؟HG4C Ї::|L jM^`5@Mr^F$M>_%=rd]Vb
-`Gm͂##b䨰k.Ho@I$>LVcH,rÉmo9䯢q:6_Taj&ziGMH_pBܓÈ#)B t3sGϠYJ%['WC>;`6yL{/đ
-)_In)۝C)"XhKZDukwQr9/&,
-òWKӚXp8SOB]:,@)ʾt FwbȮ[u F\#sk5RAV2<wWS yeL+42ë4V<}b'OVMX˼Ϫ%$Dan0KOh,RNwO%D|XwW]bsuty[bΈӅ>W5!}H!Ї}ԑI#$=R4i
-ΨC
-?m.!8uZ Fޥ@pL?kǦ%ktٻtPwkA-֝7)`a}T_e5]>j<$ľXyE>*~MxA:8lJT[ʊμ)XѱL0N*"BA*24_M5qO?)}NTEMCco z/i#tβɇE%H%w㚬'&—s8BGR;0`Մ71)vW=XբmPcB,SK͌ċ@Z9(BmlW}*ۑXA C@ik~e
-@d-H0:֭c%aQPTw>X2"ρAXmBN Nu]4N@(?5VY}M_(TenWg+i=j FbI
-}ҍqAr&>^,)5萻~a31=
-Ź=V rܼp?AU&
-RyU kG
-e:$_rr96X5q̍XOT1儭 ]XsVur`
-h 6!+[^+bLӅ!e+|L+$P)t>>'_}8P"&+.= >
-] |ŕ
-r=Хyϼ{g,:>~9"
-ՇX(׌ViL (oBy'` & hЯe6eJI`J !]ez?tn4p [񭗸?Cu1J[97>^/:RP0+8ĺ+$/QvTbz gpCLN#߳hV 4tdw2un&6Khs0ԠSC`I0Ѐ0㱏T2NYNDi S&~~y}m
-C yg1WKP'N5D='
-9'ZiF6`ܶ
-6!_SItk{`mԖ%Ƥ5cX\$ZDi#0EZ'Rt$UOQ+hD⫝)Ox*LXl!9}x_T ó4ַ|x&iAXSI1 ;
-.Eu'^|O` .4P˟6E* ElVՀlW.-z6/`UF#bǸSJ챼Jr5`jR|xH+U~Ыdxn9dyL;a#avŹ`:0\,F
-C]FuGo<"zPr\;2\'>Trq
-o6 XI)F˧2"C]}=eL  bB\53ַB*a?)e[>5;rhS#C%&](1 1ƺL=2"Jx݄$Ǯ2|>Wu7¾NUw
-v&%gce(j inCF{-ݼp5''{SM\И*Au u⽌yKXw4 +^.^\zgNb~ NFJ$A߬_Bb#D7PE%cXQOj]O)LK[Z* 􆯩PUL Ï~yQ boԛ3WfP1[/cUf&]eWyg:h #5\"*[sn Wa_rf:-(}ٕn󣀩xXFgzcOzOO!Y)_o/A2]IKKyMo\ b a"Q`F^Y &:/0= t$o6r 44!A$LM2Ρ,v_:aw6\Ҧλ{uvCrIO= |RO-m<*1HL]@83Ce0x
-(}l:B`W7T)vWxZ`R>-sjm_iN(q0k@;MJ=JUǼ9ef"]y/+&-frxJ!ۓ, iM^K"!,}Ђ#S1h=#7#e7y-4g||[-F w&Î#sD3CƲ
-원,sGrQk1pKgƍ$"Pft<-ax^% "ЃCݶjzT?IZӆPSy0ܷL&,-
-lB!{w{2+ڗM6{ͫf1~Vgl]Y}ň<Ql"ܷ^%Yf{`=l `^';Q
-% qӇap"B-j[RM8JzK;&(f{;cNU5 ڙLz
-c(#2q(h
-Q\%V3
-\U/: uDk_;FtXMJ AǠG1\Ig%/5\!zVaW
- q4kk<ZE'i\6+ACd0xkqtm$Cu=|85
-RvᑅMkܛgP^@i^
-A=pZ
-醤c ×ʟ=KDi+
-zgIٻP_xP.Vjt?k yQ*sЀt)+4~䔨v^'Ɇ!ى}~8!&e"dSaIסSFz2*{CS~b}bFzA0˘ar߽[%ĵH4q
-&rV\^Æއ &_?v.+>h[^c7~k IP2 mk@7X/B#e`ub< ]Q
->S@ )+N/~yq0s.g܉rћ| bwn&_| MS`ar%QJ<k+q <p,xY]wDs^(Ÿ6߆(89ݶeu,PͼML Ü[g
-a
-WBvlQxύ4gWLGlG6ة~J/GFNy=iwݹg;Lf"."OfьEz3ueM*?Z9Q7KQ?՚_bsܑe(.7 Wo#0ybRESٴf@#d9c.ABXda? 0@xY<A7ԫhF3@_KFN wamͭڡ߼B¾=A4ջ/&, ۢRxTa液lxF@nANgah^
-<S.]q4xMݷ1P}$-x{ j諩rFIx谝)k?Cw#<t΀މa#ηŘ-o8HR$ٌjHvd|#YŸК"B}>-w jςbލD!q>䑷V6UydxYFf$3]7wAr:X@R`й08ƌ];0\NFͨoC:]@3.;u\][r h_Q 56QۗhCK0{KAv4u4}gDYrQtrqaIrx?xXrrU2H6o!hC;`[>(ӾiŰe.6_R7۞cSݼϨ
-_>D~ūahRa
-ٜ}1=1zlr#e!!Ã(&燱& h
-d l`il!擬,;v#4ЊJʭ& ,15JL݀f#'@dbyQSW-M`̅oP4_xyw%YD%Cae<\Zo/Wp JE_M,i7:5H)g6vYA5
-i-iB…,׌_ڍGʬZi|m0xDDvS m)z75$>6o Pl>p4捂ۼϺ(bUZ +{Nvwq+~
-vHH΀jmR:=3%q|AȂCm5dؒ&VTThL
-DQ'>u;^Vq5_b)8FHJ
-3n^\ix8"9,Uוfv4q0Dd9@{:hn\kNh7M`V S['a'mA&IcR5LfSM"Ivfm놸T IR3?n`['9(Hɧ]8cѻ7ggz.c(b&vE 2ayꐯ.G$sIwLs}ţ3(GJ2)t0$G筿Id1}WӤE4tsvO ^/6kcdnw!1Ҟ^s-eR?pkt{ǙҜ&Tǁҍ3˯bx wCw$8ffcG p~\R"x4Y5ߜ sED |~>M10x]0X\:燮)
-b'
- x
-C0 J3Е(.ZjCQ'uf+|A7'L]ZͨHW|z{2IR 0"10g2gf޽
-.H|EkɋT^kw;Ӽ] e8cY6VMzfJ"-XZs+%LHcx(ˤbЫ]8RXjNoNϲ[!pbXHK/ ?{67Z_QּbCX8!*|s1L|rN Bb~ר52gn'<*7KؠMJd燺ZØnTӗ0IQ"VqN`RW lҶ'kv; io\umuXWv3R<iQ]g)*Z 0{vYTe`l)lkp52ȓq|JHMջ+7m|7LFdjWS㾤5;c}țɜY<P_#t"ҡ=6ĝ-#jU$gNtKgwKFy5 -K*rČk9Ff3՗,=J,_ޠD'7_+ wLpZnrwsQ)M
-v:I8 {<O6{AY[c {"B<FTgnD"|~Og*٫zǚiX ֯E" k-Khj,
-GNSŻZQ#::(y}։enlM0uzh2:2ݖ~}R1S
-m[_6}qWݡvu+m3N jGcQ+MxxY'Oz7;&z 
-UEK8&mpB|<?Wm~^\L&Qүb y#=,nÙ w`iY93
-/NZe:iəwAե<pHxvJ=ױ; \eh6,sG{-TO47J ^^ /=9D!% k(Bz#3)% 5W-eg -x#hBfL*.uCyխvyhR i6R$ESD|2XVp1ZI|X2隺ĦJ,9ݲY[c ]ܩ҈.c;DҟaK ̱ NOMjẐQijgIa۶Zl4"sh*Jg3-;S˕Г3
-?E٤4!+l2x9#MK~i*6b<yl^u?<82!
-@Km2Un qbS8[ȥsbݮǝ-}=0ey-`lWwqVX~-\ ueP(D`zDO04A\.Ex}l&SBIGK-ҙ`D?oVhFZv
-F/mˇ!ucshN`.Bq#/EDvڛOI#|߭a !̩R ʾ*鐵H:"5]㫋+3Lzv_aOޛo46|1/bLttZ
-cguHX C-ٻ_Ϫj =w |#sk)v>hۙaCt}mdk$h́&v8kfRv^oQ[uإBW Ȫ踹 _KLJC_*<hTKVp%po@TKrb,3R/?=!8O Mcч'XݠZw&<
-PV8T l_+N/Q쵥cvV|GaO=!ÍP_%n&VzGc{
-ΰfç Д%4ġ&tu}{JZ@l<E/~AP@vʲ54|t6imԥď?m%扪xcա`q|fsJD'ja|2+L1^(}*ez`fC|x@xČtϽĴ 5e;1vX4B>\䊋(s9APe'tmpȑJ)7NY;0 +Ax'/^T:&LF[BGϻwG8݆l__Bڿ 글wU<BMĞ w'0GR{bE/P1̐nh5q$4+xb3]
-Xb?.t^ C &W=VK|tt`@ݏnv<:ZfIjQO%y[@b+Mvƪ>| oDi`o3J>}YA
-?T4VUJ8MP{0T9-OB^MkfM
-4L5h3K6ޞˋ}NJJ|QCˠFYuuGoWp,F9T [%t nX= FӂE=^W5j7UxXz V0^K' 0tY+Xy
-*xk}[?߫z׎ꅏ")k\FEkD ֶm۶m۶m۶m۶M.5ˎƇ篽5/cCzM5*yH!;7ɗ4^j^&0T}a*0_F<{,&NձVHnyӆC[) `<*E(B>(EƖ
-E>ESi/QB>r1+)$GSRvFU}_,=c
-N
-|)
-tQ
-1ju75#-LuPU&_zfJg^]y֯ U|/a[
-:EP*GUH#(bi)ۼI<*l>)%86ԞɻLGx#vơ-1#Mpʙ5qx‰|3"c~`"(RʏD)merYkr'D%reRB܎g|
-<ҌVOpN ~Ce=a~茹 CȬ πzHVzw}6&VtU))*<aX'.D{AyBp{>GKvdtp#PV/b*'WqVsX94c~ $Z3RYǢ&8zҟ%pG3 `E.#W-f䵃67DD 6y8&oB[uG0 `_/[6נщ+2x[1GadSrފWu(oȋx縈{y)_}8-'{mA=:Eկݰ}C K0FC6tQTd/Z˙]/4DxENTMv?u8l1B.Hv  \nq},g!a7S68lt`R6-4jJ 2>%^|2m/W@!0% *c(%HR8/Yğ|Nj:?wv \<O7b0hCSY(C4HZ2L0@zƅִ2{?\TA<(7Jz"st9{G>d$N2x*% a
-4"A
-`*I6E ߮-ʠJrax|ښ"ƻs]TCoX :jpBFV)vwR-͉?3FtjE̊|״MJg`6FAл?b<,vޖ$-ӎ]J+j?Ur9VxM/ְ-
-%&S19V/wk[,,Λs 3cf*{ˊdH%tq^IJ"G &
- bТ!Y٠n
- !evtI*Q& 엃D'gUm;:<\c.^@14pQyMͪ IDx
-~CCkd:̹Wy٦b@&
-ʔS[`NVͳ~ !VN4YT5%z fy<U`l*hN MO)
-L0puW2?!~ªϛOTNe4NDumf8tV )YKtkҏņHgrK|5镾( b`Fzƿ2Z.2 0Aɍ cE#_W]t40#՞fJy m>$T?0@ ,߆I/T\g_M~]29 ӣ2( U9e Ly"
-gI1ǼcQۜ#
-SVVY6~+ק{/jןd;*@;14 Еn~5z +_ّVL(s˗gp uS:ZivO2+1@ƫ(rfj+;&. 5L-z(ױ^{feAh2VA״
-ր\Xl:SQ~R|K*Z`gO۫m=Ecv O}b7鞪 /WJ%>JnSGd)
-ж$
-
-.9&;OּU
-y {<b- 8W?05K*Vq[>y{p=.C0aDˉϧp˚qId킁yq}rT~8wŐhgF=`0VSh5,_P[߿Z|8!NU?9IZa~ȴM͞JK5+XAUb/&|7!@-ƺzfw0&z*%'
-"@~ACFqJ
-<cPD sc0 ]m2"6kIІJiaz)=MVU-)*G/1|h]¢t/ZO=^S>;qs=iL&9xy@f ,KPH1tZ-tUx<=!Q{Q|: ~M;h&
-0ihnm<q6j;x쮃OJPf _k52h k&ⵠu^Z߁[< |6Xθ^ę3 qgM,K
-cC֚T(#i+L_/1+ۈ77Φ+
-aںh?6K;\t%}gb?\avM/veMՅ6Jewub=2k#ExؽX`vŜՉ{Dx0E E{fZrq'}P&V
-hBЖY}Nud
-Efɬj{}E<w4T1ATc U (qD$^QXRkɴ_֤@h_nXyY_{9XT;cre˫ZtHQ*+hc
-7_o[Ł=Qb
-9C^1c3 Ey‰I?0v;ЧTzG C'ofN|K|Ĩu}=?~EsCcKͺ7 <,k4W|NC֚Ƨ>iᏌ5MG&?c( cp[ Ҥ ||Lx5ExtN*L"7
-&UTn4ADa54_ϼHD/ /ۙh A<LMojdMCrG=Q27{?iR=^vKNwfH%:ѢiW>d՝?`z?AFrWUSoA/ "|!*G1)T&c91L\bޡܦi@nվ@1*'m y0 haj2oh*{jmߜ"Y>MtljC0 eg)S?%p@xFQ >F%sZfԕGޤV΄OO>n.ʾKflV$ 8Yl.,|dY)Mhy7Da4|u{K
-*j-F9QX},Fy7Y2<ɓ Dfͻoaےw4F𸪍<mX?~pC\lAvA|K'ϧw,Kă>i0W qf7p;Ȗ(+EvfgB٤AF>gVN@pavyF[ĆB:Uם `:8<"*VY06(rx]0iַlo
-fD|/J Ԯ]yQpIv8c[<+੨5aC M)tqA ȹ7-
-]NbJH1bFʌ?cg= +]dPP
-qsM.cgrC8u05R0B5d69D+G2/9M'+l ɯ]@)Ȇ2; "DfOZ%n ȲVWhշϗjHKFo-3Š3J-cz߉$?1OR8>w䳈G\qA`L' aGeCbS%:w0ًh|ɗc X!QDP̉ᄁ19 MH!rVV,=Z|t–qŃJ_m6H9
-x>oX?$_Wgy o蟥,YM\W<[wEE xvg\hWʑtYG%h;7S4#> w!`;'hRBݢTFwsCq:-3D|5rTQEf`9;8XR'!3
-oY H}ὒcN
-4w#V!:NsR Uh98E
--ڜ)1vw72$f)"0rR?%XCJ@J*\4q5ș8k7lg*Dgb&RCRƃ$m:z5\]u+QFʞ#-g>I9*MKyC#x~[ckܠ{#.A3.vOEo=-lޭ8هoo5lxjbgLW]B
-Ke[L3T>@*]Zr]yQvx9ʧ i`V\VI9 wyEH
-w%kÂW%){p9p5.K^
-7;"MYYcG
-ƺ= ";kC`Y/\ oegej?Hm+n`sN;ɥ4+Ąv@cJx$$fQ7Y(NWKq]l`\).gЅ iEtɐ*,$).B@NÂ52K QabLbm9]er҈KGFaǶ2_B|1PA3Yl/{b['E;ZtBYsRT2P`9`/vJe\N§^6BW<Ĕ)O'9pI7|/
-̧8w&EނƂL?2,' B0~,1Q-F6(vGIީo~ +֯};*9.OG&T!}"`ߨ
-LLKi="Yi<7)^A2`{u#`oM@;b~Z뢄>(Y-{Ex@ymՂc#)d+ЉMz-ia aE?s$ pv\:Ah+ˢn׊ /d4">4 Od)8scaAh{eR~)&,4YH=݊&f6Y.1enYBtDHU } q(ڋ(ZРEr,Mf2L/]2c9eky0
-2TX<ԡ?^z܉lvP7σ4tn||헺}9S
-Pٗ(QvԒuTs}듶WJageatث=bႜO]뛍ߡ
-%EuxjӭUBCZqC6gu;Aw*X( xD@b泗>-V8zk4TꐅqJk~CW2AѝA}AׇVaVvb+
-$d4ߺ7E ?N:N[}sa/uc3q d#j)"枺wG鶏Xl9.fLO&
-5Yhd qw
-_F'ޚbE
-'ٸ|,afvv_U-QBL=`b8Ir:RrC{KQ'rH9c6cɓCn Hd]jЁRVꆌƧ"?֑ ~&
-.wOZX vrJQVqk?nёC6"ʣDz D9'FO$m
-۠J믅r.V~XʌT~'gQ%CIK/5 t.8{ܨuE!UΰBD2K[p?ݹPU1ՕCR8 Y[n]zcLXTT
-Œ# f7.2GϘYC3Rrse \Sx*r!"`Ι. (JfwI1F.rRqvVbN
-ޛ׎oذsR"N
-|(U]0ky1˾ka iX
-Dmu44)BA?22nXщ0*%:1"-2" IHσYHYgen3yRU*ffr_BG&$]09OY>-dA+]tAy帯eɎ tF'-tsL)2;1'Q@iJqBTtkv89RgFrX c5B<Bn< `CB;A9
-9J<pgfie!fes1ۢc1KkM~yuݑĶiC٤_^h SD]m^Cg/SQ7(8BF- RfO#=k; C
-endstream
-endobj
-11332 0 obj
-<< /Type /FontDescriptor /FontName /OCVDMH+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 699 /CapHeight 699 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /endash /f /fi /five /fl /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11333 0 R >>
-endobj
-11335 0 obj
-<< /Length1 2532 /Length2 28425 /Length3 0 /Filter /FlateDecode /Length 29858 >>
-stream
-xڴzePݲ5
-181@Kk -Ew vFߑ~{1Ll=]m&
-?\54
-G+|TT
-`XY@,J oaǁ7+osGwL, J
-5qW% cos sv+ᄖlEi/
-1&A$ўTc\c86G<i5#)?j|\lT}{gA-1$_m /<!0*!-ݛ\<^~Eg07|f Dv#͍~[0A.jȜ,4Pqyop
-ޤ CP7+g'0CKF]5uHIʼs ;Ȇ&t?/;i9b?XbI&2|K)s7Is{y*`eQSc:%.jKupw[ ؛$s0R: l
-@98C24c%7!9ږ(=g^Bm<wö{!3)V (ɒi
-%0:
-ai87P.%hGs}=y
-æ6l<ʓn8e>eǩMya)$S n.6%wu`/'mdnnL2lإQLNxcfa7[egA -bBn\v6ܽݛ/"MuRNJhV=2to+&|Ё?7p_ ~A!
- 3An >RL38 ?\w'2 EE1.EOmG2^:fdܨ"ӆ>KT31OMJFeC=0c rWwh(HVْ(Qx}EؠD]+[k' [CXƁ/*8 2_?S$~h=]%^ D_|HD;uϋuĊƪ{gRZm{3hZv$wtG1BT?}ckUc4}6kugeJaCdg+՘=;*J[b<Bڃ'763u_nfwVըa``^gy).4FϭEIB Gv}-]^NO;Luvm}Omcw8/ bkTk{3QYm/g+C]$+~!0^nj2ͱsIVz|7ڠ1E놐I[x"e%LBmZ$'p<>Ne*͗b- R~][g d8'n'[XAhMqتSdj egX+cI7_O\3]EP=hi[7_<Q ,s|rI[$$0Bu`L95w5t8xuCZEH̺jɚ"pK#<_ꕖSZPԀ[崼2M)Q,yr5sEѪGdp {Er|J˗ GX|]A"Z8C,<(#nrp{oY^o?i;XcduȭsXo 4
- T%0u*T%Y8T?k;>E<CsG 1-eLZ=(C,v[_ɑACgP ߚ ByaE/ ΄oXDv_} =ѭˮ2?a|ƙe aʺK5}gdϣ߃ Q;Qo#
-pAFH1 ;HtWS̼DAT>DGGLrnV Y[a+GbN~廐<WAh i+'<3?5&ج<N|a
-(s03hʹ9U`!D2PZ2GPj:2$kBB4a36Z5D5 %4RlN{n,;Y_h[F"5AdPY#5JŢiFh(N,T(ǀxLt}PNxf~T/qc+Lq<m
-Jn.+%"$k/Uf4B. :KN9;(Iyv8^ѯwb4~b%Ɍ)κTwR!Ե^6b,=E=;F>ݾV &7MjI-CvfLoer0{X#}7 sa:gS}đgx-è޺bgu
- 4 9ΐ>~u~Qߩ3#4D^puB!'=x|9*az_g /"-N&|VW BWOC_3!
-+x,[6 yBxCzLtqoKN0[x^-[К9X*ۈ|F*PPpݵx?!: J჏|ŏXV榥-.ҞcN4w"v.;b?Q~qZHŁ+Hm*`8GN[ |,+SAВſ #[)gUE9|n|^ wjxĦ|˃o6{)"r7^T$񎃔(ǥ`A,г@ XJhϔH+Ɵw? B(Cʿ*
-1ubbZpE:P;wgTkKL#y-BtPZBuc2nm ܊}C_ODK^]'0 V>wSjnnxrа_K= Q>;FWBqk8UTv]98aTE}؛UlT)0˗'4}3oPtOqVvIV"xdW?B4/g1imf/}t|TZ
-sb/d4kɉD=z玶9mȆ%f<譙j3AnoKO]/'Qj*D"ze"A]N;qUYc~B,6˰F޽rƶˊi~#J7iuۢY;;M%}St;ߕ|`̸9 Lf
-ȴcC=g` 9` Z b'Ras0Y-҅T̟7c2E^c93tu˔Iɚ PGiP:F>L|o8#͉p=wXm=ݢ2pgqPӼM-3Aܤ|34OfP&Ao |12lQ;eiffP0,:/9˶gLo-7DbSmM *
-ݏ?ඩ["7/X:._)<q\B8]Zenŀh(AԑH?blD`Z.}F.zaj7~l:q} 7͜@ sj"N!3
-I d|Ʉ1L㝝%l. j
-u.H "EZ#lzHInO38WcWЖ<Cj{Jw&:;C+}ʉ.jb^@w84`l f,׹x Mۤӎ8FWz k1TCrDVK$,)vE}3j
-}\2\̖,6Bv+cBA0Uo[_s$fPRYx"huFYplN}4 >Td+v.9d^9W(;4]
-C\%p3QR'8OF2'}54_5t\oTnլZGyHހ+ow-xema- NL3΁q5Zcz씜y|U`'CKHo%88Vah)VhZ$3BC`$FZYLr :jf,ljJ2kͣ$9[]|=0J)?'phˉlUءpT/4.hW
-YY+kS.4d~p~"o`\!,E EץmP*"Wzq.`qX4`?Wp4QQ8$]50/0|._գwڅ0⛯]_K&e+G]"7H*Yntȱ7HuV6OmbBCKxՂᙆeӗF=YvX˜HC *LR]ыQNMʗcѝeV f*s`c~$oH5.!9Ey2twPi|`v5(Di4!ݝApIh/fdoKbTmo5~:oJe3/c3^AcSkv4RS-Q"ߞ^k ՝%F~umΫ
-*8/O3A<myxjk%B uh^Q&$ɼMwZ=R}sR);gc/>d l-Z}H1)nۀn `} R= i[eȉEr_'ii0(1
-"jF]巴
-}U;y RבʽEe'^/JZo0DNrkUJ{P u~8@ <O@--ܠC`=_,@ſs0Qʣ# S~9E;p(S}a6S`8!Pw}1za$44 HD )*I~|>o!aΖy~ f-cƔ}=*;E&;E~ppM[K5E0ġ5+a%D(XPZuJEܵ|/zӠْ.krQ Ka4+@$r`M=)RbhL4m㤔dm0,]ɾ|`!Nr;;.BӖHd\ q U꭫A_V5!j*߰&S:|4r,Sف27JUEO#X (nMQjy-ҳve<)Qi(hP4g " &<:di-^u|zƆ& mT_j0L7X<oTFIڟ
-`,lV7
-\Bh8i3gxŨوs-pT\UGVJg5->T:/T6NF1 a
-Ӧc49\i ~w=.LS c,-WeTy*).'U4+
-wuH#{
-~PveAȱ-:e]8J .U_2T?pIo 3?S>JD([+jGsgOM^I[#}D`B۾Ӊv8#wJ7mUr+w'Qe)1œ -&AZN
-V+*4 R|_gzZ_|nϛr*-WK۵v|V`vJUjHTP:h<<&l8%Z;/\!2R#5ݧUHi 3M4DdŢ{el7{?Hc<“۽PMV)c|e0QtWm N<_KZ E_{5MZa7LQ͎J0+\:P> 8=<(G}ph0ūse J>G&m6-9ݧ{w]y+q$eaDғ uJ6 e=MPY6n*xtKVsFj9
-;(,,Litbޗ q`o'4SG=le3uxY\!)eAg4 _8Gd2(CaKHXSuM 3<D55-0|:QEA'&YJ[l /5r\"j<)BīYs()5s?Gjm\=\–[˃bFJ7 'ywV:Շ:HKh1tWכft$FGQ ({1'.evkT%}xy> + )Q/yhX5sNpB?N80q gФ|A)XiVNK ˥Ⱦ]j#BҔY#$583TqI!N;V9?s0^G>8VL228ԃD-W'|1
-!Qiܗ$|ߡ2&zr["-K}T̍n~Nke-l̋X
-е$|>}1))xxӘMrΒ$aZIV:<Ԡ51#kcY1ҫ@Z[L`8san Pfl*~ZC[R<5A[QAkb++ŶH~Ue(er޼Car)E@潃Řͽ-RDq70ch_ &/6Vݏyg7LJq5 a}1
-ZZVRKaccv,N ,ΞP X>QNmazaVeKB? X VSFy
-9\
-S7=+nryi!WzU
--/-3#C#MГl>Ej e%e|$c$)p}X^^anmwAt"אJuեzvH<0_:1~3oHG5!z{b!:w71uF|ݚDمq#X审iyK'.Cc;l'XEgux>7=3g\M$P{ *ĦM@Bcb$;xoHgi!xK1= үWQcse[~&\0IFc PէeN
-ď\Q=KˡdVԵ6p-/dFpxE5*2j^ Tҿ6 e)Z)si1LiGXvzwo2Mp+jHrݖW7<G&'MIoN8+='Vq\yfh%q#4pqq 7G!Z »6G {ҽۖj)zNcouCt2OHalޠ=RD);|xd f3:w[&Ïp 5mѱ^0~MRʭ[F+Sg6|+aO)EG֜=7-B0m{gN
-6"C}Us˘jW<!=n5v͌u!̘2Ąazp<jHf]
-q&WA>eZsD&a&L,(X'fJgcqaR͏*[@)wnEߠ
-.Օ༨|HYԌQ8±rN n`ظ紏i(9cIfYkE>]BlCI0F(ygndZ>I% `Ԏ_ɚ pP7{5*Fڒ۴^}j&\ T~!?7Rq,[g`܏qr5}VjU}/U$5A%*},m~feGJcjie˜{)u7vBk,h<(h FҏhÀ9{H$oa_>\ N  iH_NsrYo`5.bPQx.(B.`ܙnfGi.ez\]ӦӒB4ޫ\ >)b?\=IӴ`{05de٪ NsQ*IVԏ7 N8W,.[492zwq8F"qSfmbK}xɋ.dKyr";VߤqT|<8ar_y0WXX?e9eWxy)~?~,,,]v&9ʨz'ϝa%nr_ǡƹD׺S@a!x(Y -Su%<r$ܱc.AI9V Vv&tR%q@rqck%%74(30g{4|F̠P(W Z*"=$%xۖؽ_^}:<mjlgrvSa⣵XH8ϕa2yYŁ#R~-Ka>4\Jq9(?/4ty|tYU6VwjoKh¹
-WSdzJE=ǵ":s){_ b}
-s~V q>N+/fD허;5Ft ֝'94Sz"$THv,Zqԯ Q1oMN4jTgIt(4f$V]3{H'2Dq2^MIqMx31M>!(}$9튎w*\aM%81t5V~vw Q XP䜑9Ro6pŭs ` ~"$-% O50|N)xdbaS Q R4puɑ| Yhi *{_tؾ-:Y
- Z͌aikt ԣVi.\r Uy#7^l_.PtàLEɘe`*:pEFDllJ D'56Jޢ0sdsFodp [oBAͧSjIqG`etyKWϽinݙ87춑KZYrY[韜?WY1_5q=^FܗBXsXKygeJc_ϻ-/#&I$#Yڞ؃):dqS%A$Hﯶ~]+`o(Xݜl߷CM\xY9USƽ#c1M>I2DAZ7hXh0*"5ᰑoTúA8U:|3́iUwOu&?/a>|^uHZnܥZT{6"̲[KbN<q
-򓋑h-5;Wg@6;
-Uu<k[9!Yk xK9^ ;PG`ut= I{Qޠ>l<0)[ּ8KbֳFQg+n?xao߳}Sޝ M$Q$3.y%Fd'Owi )K䷋deWS8xC7!:k=vfvcaI^oҚO$+' %arΏ-GBɸĢO3iٮrϲwN{\[Z\տд,.M}s;&â$֕h\jn w>zhpAf^+ akӫe[SjU~N 2iN_঩[[L*Mz7.̿o]IU6Xoy ;)ˉM;Сj~SzuCp\. ރ<y2/!JΎU{Ѵ;:"^r`nYΔDdF $3yb*%[?"~C>31^Xm:hs3)gd\;pP.}]6_fE:3 eݓ"nSTI0@tIfW&B, Љ%h.F[\/L#r?+jtUIy݀UcUÜ75kyeMuo%9֣=Z=.E-U t%òLSZt
-[ 7Y
->璗~n~W_U&߂<9
-
-oKH4~e%k0<Zc2W-rq U&
-թ!/ bDޅVXHyﷄ8<+c%dƟ~Q$ ?Y8vqadpfK.Yu,҉yŔjẸՔ-UW/SվY0Ȱ e5QLʶLp'.,9GkF5ğ:vSi~UZ@e3϶\_Ώ$ziXSQX
-#*xIW ~4 E7o9#!LdXȇ1H)ӂL?[ Kk#HCU~}BnCӻ9O?ly De>e0?6`I<#MXr.i=$Mȑٞs0 JdEqfsA/[SK>C%Je&#xkzror=XǣѪyQE&hgurd.qc;){䤛MO:4Vˢ~Ywu4qhJ4cp.s2N~zw,r,(#ϲުquX]
-mՈ5)5"+[z;ul(Hc&=Zay =
-U_Fnk F_Ԝ jj۶mkk۶mvmny9Lf$&CGZRBx{h|4T1|Ov%ehChyib7}1+єj\I_kIg֫Tҋ7~]ws"_ֿ͙v?R*dQkktpɲw ( +13b^މ]𫘧a(&]&[ %&@<[!]n܏M*fQ^j >b@XV:AO8~\GS8+ B8͟w"Stk/₭a9PP?qAF_Id
-Ag.)|l;,$+ox}V]qPoP"`ɻ.mT-ӷp%x.@m$f㡋Z
- )'pXRc_L "'G?I#uw6[Z,:XZ'mzd1䍸/(~u?R}'okLuH %bo~qUp PRh$(:XVf! F@盵dHGrj*}z(45Ѓ <҈drTrgK>q/<;^+.O]*y'D5lrtc^OW"'zP8Sְ] [jw٤dݱHx
-?V } Lv('z iʎ>Av~9ID+QޱR:n$>ld{=w7A + y5( tb]US\aT"UK#yRk%1)n6EUG!/Oʍ9(+hF#$kb\nFZa)!
-ֆ&'#Uf\%9ZRro󯾤HFa6@/Q
-@[#t܉Nc"^v}ZIg&O$NٟamGr'Mt(ď`# \H3 QM؝jsڄjl`wS {q[D.׺1U8!ju7{wI>U
-5tnsv \0>NFxh/Xo^Js>^Ku0M`XF |kO D<
-7?_̚z=
-`xD`:
-LWjSf9 @zM%I 5>,N婙FwW(ΕAaDiZ4.+2 R-Ƿ*wK8T_sѴwo=^]L[oe?4$ iAPoKs%F `ڱ AKw}魻RIx5x^ .b+'oʤA54TʯGݏi,8Ciz,0ߚo"N]m:l\6t0<S &b1t3fҜbR
-g+82r) g ķrfD"L3J"D6__g{=q~2S NT״"hX]% 킹]nb<A YuT`mP;q'xM.%ߵF~aew ݩ8Vl[@dl+#B-%r!U;d`ȹoo /x^
-f P7Lʥ1 Elb 5W0cBy
-%G㙢榠<ʃE,
-Q
-1# S
-I>%xꂧ^9l@s4?҇}]IT/6
- }" >IXaՋ"Bv+_'&G9阴. Bs>₥Cf}RJ?.o64I[11EQ5;8˅ٰs5F&ވ fgyq%ϡ:cW?[pYfן(B+ks4z/q{ӔޭrySmhd/UqW쬳GLpS(RifrGK?8P*CudGS t&d
-Wq"Hrq-c6U,h6t_=!U1(39DQ|ʫ=ryѻo6at %ت 3^WV`M+9p"S?)meIՋWagUSE'ˇD3I,[(3
-0#LCA7niAgbc [?Ee`?oG9ĘmFܭig@[F,^rOA HfZ(TJi6h0.+K7]Tj c ҲkP FJ'ϧ$ T\ch _g]yf&sJicT큰vLиF'2 b%j'L+B/޺?( ˖>NO2'`)j|0J:cUzθ/ה2#^oMEppoλ_Jw, :F9#%(]+fY^ZY?*,b,J*$_ͷ)oZqF92=Pi2 y!^]MoH,xI*1MX5#:ml{ʘ-p]X໓02Zfڙ{Mhc*au9cju:NAfs ׷*1bwUu]<8Z@*T'!Nsd޶7m@GFpI\.{Ep{[IQA- X=g-FA^.Z 7'(sx)|{[
-V._2ٞ- ) FQ; -L(ȯPt+j.Fr^t(AVnybVj@#"C -&bl1p/#+݄S tn|4So7uAK^ӊ",FՔqȪrfӧOrZDQ " c_G|p>XrH}Ji6Jp:W :0Y#{7p*.ugռ4mR1MKHPtaiM-YSSIƊcJ<4q1etѱ3u1d
-p'mrZ6XayW, P[sb*H7hG$`jD0|U.l%vЙSAXWɼgQC̒19N$%
-ݞx@կ
->#%_T&f
-\kR 㴣%4NDRxZbw 8/󈏱&uܲ8bw)<F/``hZw>ZT6W`3R {. ĶM.W7V(u6|NὥTXWP;1.Ф`ah`5rMe;
-[ZsQD)H/*+WOr|P Fl&1r ;2mXG1+[z;b
-wZf# F|~s+Zs!
-oPeD8te6ma qﴢghxuP֕63WYH*HK'TTO-BWI`Ot pyE\pv`DmliM/ȓ:gZ̜w-+Ǟ'6lE$;)%[BNk ,V j-(4(9V Tzp-p7N&,-
-fE^X1DlV N)`<z-_{D }k $-za<~
-ekG Nh8$<9ZGbC1& _ץb<BfZ3!͚pR
-Mxu:uDG~nt3[]>fZc, b,yO6!|MtfGxe()^و4q>+)qU LH25k:^kCݭvG'^mA{$U埆 VO#
-
-I7u,Рm aj(ؗBϺ.. r<GoZ]y\)1 Rä\!p+x
-f@{ 9j1lŏ=$8:(ܖ3e-[ݴ(dbuLbcg$Wju4Jp Lѳrvs¬92bUt:lHg0\*5 KLpZ, 5ζ_ivi J$$.=mV,
-pͩh~.?fųbS'W I"S\] D-}f?$`|TUð&ŌaZG9A$:pc
-h$ |GcG2䰯*TbC
- mm6TA2nNE*=ȔgK9iͪko("p{7mA֊!}Hy}ĩNcrb8(%gz0B [[3R2XK)l Mr!㊔uw|=kg6ɕk]e)h/sٲ֏-gn5֗ȹ;l_z @|8o!G=– %؁t"hX^_AJSp#Ԫrxyf N+,+Tj<ūM,&
-q¸qFdp&h&
-VK( 0 *, `rЇRO`Fs&u(+oqaKtpln/
-טV2f;y{?3sG- ;~^~Kvk,6N|
-3$eIZYʰ_1Т,kX35;j?yc-{so6C#t8Y3 MFDMS*\ Ard7wg.ƾM0>y"ŽSEH84J]ZuYQ|V,)o?P#dN<n<
-.쏼eU6.%'?-?
-mM
-0%$o|PĝaF;CuZӂ5jm2t4NNE.!4ٚA!+bjX$4+'ϱh%j~zV{K95:ilJEi~x_P+ ?ir c["rhIP4"c{H ۮ^@0[ՇU㾪[ɚ]!8\a4GKF
-><s,јd.׌r05um} YBs-w>&D0Mlx/q^=J
-TB1"
-'
-:dϤ2 qGNne(l-{q_et+' 8=e/jha9"h96#)7 宝B8mI:q{IgzRDG`{*:T7ݐ1BzZÍ}w%5>BC &`^NͿgjzUN IЅ0sHcvoYXDX:
-Sg6* tj&O>_?皀>Z!q>[2iG
-gewi2:
- 8@+"{:0 qP3ن=3wrlY\nT[pb.04cF~<"a
-"< ߅TQ?}'[91/wKޛNƄɚ PZj&k,xyT$ADk Հ /[TsѤ1@{ۥUn3G cHy- `:$6Rm"12eZ o4зw8hl =ac= G<> q6W@^d-n<Ap<$ILHy\wG㇟D:A'k?Y%2l
-a1_9R}=Q(-+H2Cw%js1ј=i g;?1@;U집&B}hoژj$חqc|}.en۩
-̮_;k&7?VvϪ-KBQmag!K^{U;ȟu~Ӵ~{&f(Rk ҧ\%='^VY<
-dT0خot`>Cl+_)|h٧ࣁx٥78 ƞUjdus$hueý- |I(9C 6V:aDt  LHژGlT҂r=w&d3_1FMf/5JK}JeQK*00S*0A.ᛰo*<9-v<yuO=l2?KUr'U5Is"\QTO9] ,GJb} ܫ| ɾASc$㌘si.-O.DȜxees.%zrI-Ruh tQ0) !sC
-dSwArH^m
-W(nQ[̋B̓-zPx)4ۀ=(_7` /(P<.YZՓ*􋖂<+*jm\{wе82}f`NYҋ59.[= t+թN65 l3(h :qCAқ#B ڿ;bZFt膳^tRS&1',mc@^c .~}g5XJ:،g9{AG/jEf<?(:5T)Vgmxwi]L[-HBqAÅme.?8-sl3z ^y+#+ܿ`b<gW'w-)W +h΂oIb.<$n\ng
-endstream
-endobj
-11334 0 obj
-<< /Type /FontDescriptor /FontName /LCRVQF+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 684 /CapHeight 684 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet( /A /B /C /D /E /H /I /L /M /N /O /P /R /S /T /U /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /f /fi /five /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11335 0 R >>
-endobj
-11337 0 obj
-<< /Length1 1705 /Length2 21472 /Length3 0 /Filter /FlateDecode /Length 22554 >>
-stream
-xڴspݺ>LI2ѱmۜضmcLlۚdm֗y9sW]<}^׺UUPAV(fkDHU62010
-;
-
-2
-n
-]/_E2&mې4^b!?ӭT@!g8zW]zx.`//+L&|!ns3?<%SITDwD!G.Յxʇ%G#9aH"FC?!ϯ0X)NΜ^=2ݏ%U瑕 9Qp!Ki^j$'eW|Mw+~* zcޏN(_|%R؄WF1/,D?R$lgxAt8J8T2x3iDA@}ۛa$U] A$H(c-7;/6,U@b=X ПvTo1Kʧlk*iXI\C/3kTB,*Z7gZesdO&WXhQsx 7{ Dsm} xP&ȫz) iذ|kWR;̿LxE,gݬ6?}>9RYIH؎Hӧ٭sO(gdTI;}xt?
-)ۅ#,:-,Z>
-֝eM%5qhR ,cǭGjE68a G3'KyB Svj\QOR6eCvr]Qw(b7"Hwү$ݸU ӳŅ6T[{wpיe<bv?䪜ЁۼR |-*F^W#U#L'=[dpYRZ@rFt_jlO],"g3磺 ݝ
-y#ɗcb վ`x htG8s*<w3`$;cqWm:yR/ΒKnnfr^6%"<NJ!|8xqhV5}VS2ÍrCPiVEɌdn襇vIǿqjMVq$rld=p,RY
-$.KT^}'d_BE&nj@fXV5@ _V1cnM:dǰsc'se 8ۅ@})W.ޣ6[~VTkw*bK0 C2LdMXc:Kz&|1>S<4 wu 7G\peE4h Rau93 zYaRH\r D$%dXI/q1e2#hsxR_N`n+ߟ8HGKkloY%*y?8Qˡu%́۶ko l#׶Hxy eiؼ֝d9Y+'|מ$ġvdŠnlN~c5RDE(L OL;Q23U*hv#l /bfEqF4RxY9bĔ1vO'a@k /w%z k" %yY?GaFgauaw`\3d10R郳Q,5φq˫79aKo :h kҎ~w5it:O*VN`Mb }& ; Dξ~S])_b:h5>btN03wDU#d2v -0\d7Aa/'Bv>Utz[!69)
-~H{nmQ[X#d]Z{P x&t-1PiT*qْ29r ' I
-rIhoUjND
-c g<?M庶G+)CLH*/+MzS>}4BG``{ z<u= ;Q]ZvK9jC_WP
-a RilNny+>VJ"G!?;%Yn,ّa2/#vvK\8%BL-!>K⿍jT@(\ݷk,S؜Q@ssmZ7d9EeXDm0|۽î6Xk Al%(uWMԋ{Exs`QG0oTwMI)5_W)zf4fbUg_'=df\ivF@(K;}1$b|b- 7MF'"u{u D 4$3M2Bf5Mw3ڀi"k›%:Ȕņ9Q8#x3jnػy4rU"(! L*ӻͩ<ݟ=-
-skOΣ=`
-ю]ts]M623)Ժpvχ)UƔTeyC$ {llr}tߤqGw#j,K6fY판w2'pKWN~FxTA#"O2d S+XS$\fImYo
-C4ogp%ѷ0>
-i&+F}oU7{H4> >CfԲ&MPzBt%a<q6|8mHQ66 ud<:qcn"MD6WH\ҝ2>=foY[)A:Q@XV:I@.ʦ
-=k ;;6vtţ0v>f][l x%_g?}퐩q_ _}e($N H^9O
-O2%0;:ܡA?/RҷġVN9 4{cxҏl
-60D03vb?J7ZK
-aqW,E*XXǜ<l<װb ^U3Ipy΁ u/gJ(ǃ,W?w|iY n8.R3o[5] H I^F6i0ҬbC dnh>ʗf ya#2`jU~
-H<HFm;vzM 2 +JLi͌Kh7*>jy1
-ېt?Ӵw5
-f
-+sHya40!S-ʂRHo_CGv`8?vJ##̦dD8AZ-Ғ.UZ(
- ?`.ןX}Bd- _6%4
-'|]M5vlX\ο@ )nBk JHFջ;JzpKeDݽ$-BU+H-SĴjO!YȚ IDNҫX3AԨf`aS'{^4W΢
-='|_PwĶ@H{:twT$BL[$?jI<B#R`˝@TP-~ɰj1*6`t`k8B]@#Tii4b%k2 'Wf8򣺁FWRFF L<%9I ܆%gr^+DCom2vˠqr^u,ݭpư 1x@: R}
-|
-A
-4s`T 9'9.4jZ\ I^^BmSH9PV_}BJ`Ga$)` -5-p=1y' g%J-UdGboθFL{\M Q_N`1:BDoK&rV:~>ǸVَ/`
-wqŅs$E<6/Zo`pZo9')\^
-vcпϴhvJɊ)mdPz6k:4qN'xd^2١Pz+P]x ?!ve<(h;YRmUW*2~ky:-N h]05+_r_nxZ"3NgFdKo#xgO{I$X"УԒwK]ɥ8av" [5˳SN5HvgNn5i7
-b}٤B#)oFa;-
-d[\y Z!++w :H}2xC TDonm,c90Ca$lPwb,O6O=4GUpw3ާ"qx+7UI#xń>}7egtx*%3ھ,fOvR8'm6}&NpW7SO\\Qb<G:&W`1С!/K(^
-Oad P=N u/GuF[dMah#к.U2os15@tֈ ndI)GZF[#>ʵ:MsV*& ү5wn@Q67ė(
-,@nڅz
-g7%Yhu/:t8/ ~[6۷ۧcTj@)@ȇˋQ:KaZU#S"h%/*O=Gz$MEhT^\v㊡qI?JlNdL{f_Iܑfas$XDrIj SK\34jjT)TbY1‡NiH$d<+=lݶ5s֋pGRsb0XT; 5]RPg7XN
-[lAn={ÆJ: (? 3NI<e7 Okdwv%;4Yi 3x+FiL>Z"fIryżzh̾F]ͨ]": D!gҺȯ`}tR #lBt60@rn&aA ;/uW*"ehL䏈\,j@m"{Na 6:4P)||C = %_x7@7cOp$ 7R$ߧ`}#sV[QGQfw1gڌc8Y
-tid^+r$[u6 P_{nx pϝ@Jꤸow.|~q6gb$\ S]ן2spL\^8d{GaF{ꈆ͑& NA_>kyx;M?KTRaN:k({!S_ז7faӉ(]rjY>U(1O:G% Y)C9Si^Xb׎kU#T:\ H7#ETI 3TZ~b? lF0hƤOiy EHK/dd_F9uo9[)F:&+dŷQCa( `Dc
-q L_?W Q7$X
-'^ai-5aPPqK7z~{uo КMgZ!aoqcR1:Y{ Ƿ`R|yG=A, %l)O^LX<Ab˧ I9q8Lȉn$jLf#z5*Z Kmۤ[# YU$;.6Ta1<W[Ct3Vq*dPE^G=Mq;E+ju)~6JnV&%c:54?320qk
-L'yS&\aLu}si}" z݌:So])~v'pMM9˪`0,LDl2 a1<HB/:R]qCۣ
-%atoZ-(y
-Mȓcv:%a d_Tb;-Z$َCJ/Hp\]cBq'XX_Sz[=ϡHrܶbֈ=.~(s* qOt>uFgUFNIXuH>FD=O
-"#
-g&Q:@2pjKTKȷe&ȻjeJw;Y<ΞbkL"<l-^&o?.I]"n'%3äfTJƶҵ]9f
-g#x0hOt(d U$#N{ #0.)QhڔvgИkNf
-sNӫL+BNY|6c]1Pg e!Ҩܪeg~_18{Ց?|.s90m
-i̳;KAg}[ -/Qkh  --@ # xvl`yL1DR;+J>3\$PUAk
-&f'mUZSKWk(8)2\'+4'CeJJ@mOb(dRc̀}>6|'.RuK[r9u޸aːQs6"K\ZR7¯D32~3GX
-%+8Cv$_u͏0Gǰ2.>q5Rʂi0GuglVR Edi֖]w#x7a[3r YfR@;!Nbȭ6{kġ݃<߲D>~X3dؗ#oXlQeSjw@4"eLӓM;`MhQMш`&5- {~&vdÛsRGTXJLEVvg'3t|.W,iwvZf0i *Pl'M B&4ը")+JnJ
-2q4b4\oϳ1>e*lnJY]6;v016Ÿ[FQ.ӷc)n(Ofc\ ):g\SN}Ib\_
-
-,ǻ+2L ?}eN|2s%(DyD <&\r޻^$/C3ӻ8fXwxG#
-Gp_3Mm!%dF$IQϨ2[ )0DfRsAM'y:M8EwNEv+x8օ*#!-ľ*.xM2wȟtO:hOtv.K oվZ<e+cYt@1 X;Rz~tbTAdHo!4UuȡKT۞; ػn 4]:ҿCͪ4mLĐalt$ˡ#;ų(_eGDȌu0zw 24ސQ{Am)4DނZ"42!_Eiΰ&+hVe9եhGGVuy =%m1Kq_'Ґ%d<Ѻ;3#R} pb )<ӈ,+adP&jj'i h
-ϨEVT)GqcapY1
-G3 [όq;n3[Tdgby_ &Gg #0'؁sS7eQ;tMQ8Nj?갺m8C)DmԡXR<o
-o0| =S<e τ):"8ReЫ;>> +}a?iff૘"PjOe~qZkWE:7WD -xfTM#U_F{[T!r *E<DEXӪpBZ?t(ﶉ>$@WN(`~ABu,_3{dNMڟ#wwV8~%.ܻf.C+}/-
-v{Ѿ YIHIM(3W q|a/gbyD-Zsc/gbPPf
-8x @fo>qE,?DN_֑ڭ!dY $s@b!`'tHF.{cW/z2xWD;L+eAP8>!^)F0B)LeBz9EF-0RȻL=RD&oۊjX~?6KuhOTqH#WTN#
-5}(ǻb1) AUa흅c4cրu4+XunH1
-Չ}U:i_<d[N~@ W֟xl=>wv&ǺpPpFqM2w>ʙ$|筈QQ:{UMHnCU>,&w-EncLRHsgiuSm a|AYE:K c3Wp t3f{KB'*EXeRlï">="?I6 0Lx8n|*HNe.<HM:Q_Z)1
-k J^
-Kbswk<RɏwX(tFτ'7-]%i\!) ӈawScm˒>G pڨ';gZ0 HGsku? a㗌>Jr*)
-vU#jZI?مLNΰ^%I!'̽3aQݴ[A|=€{v} ;ZMX/ߔX.,^e*̻.3YVrLt>W_ylӏ=r07.9I:8S,PvZD `-qV}2ewؕ.<wDPR{}l!}lY~uXԯkC)zv޳ q2z,9;wv=1g oE%,*I"Z?Pw`q6go6uYm\6!S3(g " pIE0p|yި
-# 8@sm>Q"3`1o<xH`T`w
-
-F(,\ S·p =͘"O{EnC °/)4~k8M l٠oV(oLS ZO`{=d$iH;)U݋5B=D^xRmm84$ScE8eܾ-5,>gJS-d;}xޟ
-yHcl2n+cgRwv/n4:q 9}vT%mjvvgBf]ᣤ*iб d\<{ZA<lKM^cPwM?0`ǬġsS >nBri[wKa̘
-DY`UP7M n0*_tl8ƛ#12cZi6Blf.p`az89h6T 8`"e2 0zh
-fj'Dl7݇@h/OL2]G֪ ?-1Fg--E΀b,y'o`묃IY<UƐ;J[LAbf m
-T ?]Gx
-`K -ZP,NE}]~a>״W66d0^ߣ4~]L;&ģC
-9#7q{eWaCio5 d<+_T6q$v;%k*r_l[
-kD4O!&Oޡw6S[qʣJ5ϼ2+hsQi*[!u;HWg3hN]t+SͭcmPl}=>/i
-N3(P8քdl9RًUΤ]@FFҽ ؗ+gOl乁!AUc=Fc;EqEFJS\gRyt>u&*,!ևA6q#,nc+8;;t=hg(NTrlogOŬW Z:Xʁ"%B΁Rzi{֘Bhm1K88vS醞ntDɄ=$6QkP/}K
-ᩝQw]Z uSRv mDT~5F\$\ǹQ^D/oZ]`'g(kIb]6"CI;Nq<&AYXCť? EmTՏ?n?rf
-P
-zeE<$8Mjl N8.奵g[AR8 8/ח)Bk.h!kյ is'qnpҲ̠ G;,~ hZK?Qhi!zDVvEְ\W
-Kn٦j|$mG.1`
-g3R9˿mNm]yD ֨K1D<@ S]}w'қҡ!AoP7r񇐄 |J?Ju9`ޖe;.;(b摼ֲ p1->OC-byǖg!D̲rrϘv#y}Pe|1}v˪\$&-іXM'dPeex*r \5mf@J !!& CxWA\Q1 VPh<>cr+xކދ^S{hC*判4/0ɹ|}=Pe`u <Jzo- Jl A\˭#W.u]]a޿8j,5nٳgxB'jox䋁ԆY6bkpڣhR
- y f$v=ukK8PQDUu{1.Q͊<Kw>_._֍UMN5w% ߌtq nĆ#,a.#O50"R4Nłn! 1Fcp T$FV0ż]0 _^6:MK}@P/zʣD{&t?F}γu[@4zٖ81!H+w'/y'mw5F 7ʊGf1Pw'k"o:^Ξ<9 | |j%sl]e-TmShﻐՎ NSa#|!~XAvD~$mnX?mY83z2^f JHԱgB2`įnDqQ.}p7m~ċGI 05=vXZJGJ{Ţ3@#~jsPP]W4?1^fȂaYsQ,5̭Fd4V`SMz5zWzsJt {)NUB};_콤֥,1:!uX}w .u!7gצ\RH-n,W@yIX+_@&1ϱ>3TA4)m
-o=ӈ^,ȆkV!EʲJ<Nc48M,!-,paX|ѱK ޕN텿]*PH8PyJ)LcЦI|O$I1P
-`ωj %E[z.9>̳pO"@% b;˟we#xlO
-ѲQ>ɤͬH_ږY,`96%9c-"r;:z{':`eUSэY^Iin ǖW]G]SHL]D2֒lq&tB{l]=R[asW Cknz-|i&>BKUɋs%i&9
-mP?&sY- 7+`q钳S<B(I~}(w9;#_>B8
-K- M,ߋlC!(|2"4hYl)l]<[R4ɠ>ar "tz4w+29 die
-109gаjO\7pOc<ne#XoXr>CvaS<!v.T2Z_nq Cf!GcH8U* 655^؅KGM;=)E*8yXO cJUI8TkFE.haSCTIT
-*>D |/l.%|=u\/tEꨇ{1v
-7%G"2 Lç#\1P?+ i:L8
-endstream
-endobj
-11336 0 obj
-<< /Type /FontDescriptor /FontName /WCAPHI+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 700 /CapHeight 700 /Descent -194 /ItalicAngle 0 /StemV 117 /XHeight 444 /CharSet( /A /a /b /c /r /s /t) /FontFile 11337 0 R >>
-endobj
-11339 0 obj
-<< /Length1 1769 /Length2 19553 /Length3 0 /Filter /FlateDecode /Length 20656 >>
-stream
-xڴeXݶ6C ݽ).݋Cqw-Nqw(o{uy\ɓass{<I(HDL ,̼
-r7q\
-":,L
-~?Pt/f
-ݨW)C5e-԰B9=K^U-׽?Ӱ)#-Va;} p.7G[ Ke)wa:^JU];CM=
-xTԂg>½'eA.+r1–P+):Qّduyڛއة0 ##Δ? 09y"]=g}W]V[{H s%'. :ڇYPPp#KP6JsE?Mk5n^0D4C#6f ټhS_ o}~w M6
-M?E&{ D
- O/d}fItaGGq4'QCnI46܁ZJ6]q',$E=@U}j+V8Ply}j}r|[oPRNSzCe"r["+pnQˌ)+Fj8#4vi(
-':㈰l$`hK&aPBCZZy{×WdxT,]Dنn~?Dv_mBW}3Pk>9\xځa\˒]6BGwF1U(fNE˳./R
-Ϛj"zͺYb2ю>{pH͊F;핞p`0a4w#
-Rc,l`'c|md[#壆/g(`ٌKlI`a#VTaiYĸm1$Z[( oQQ ~Vx ΑzqG#qe 8HU!gK6cK/ ʒ qz<#+nWTxω1Cf 颁@i sh# -O[l r=XݝOs.?bNj>)=ФPbOeDb6C.Cj:.RvBSph__cUEdo\{%5E~#fZ._.?ˍ
-S( 
-7I׫^cL;(/x
-DHe[{=G1;,iT_+%<[F](~gKgsF#z2Q.!49Q;nԈJEk/)Bdee]T{i3uhG5h2h#j P r.V<9%O!qMٵlEI!tnl|_6AYsr&R_H/2"2$$mX!=xgqg=y WYG6Yf{8!9HȒgox8 I~
-*
-_`^C(0&m[X;ξ<nCj&K^,4xj;잼PmSX%SfףxО@Gy|^4 ל Z{^nP80/5lւt 4ۯ:BWގ{ -OU`$贽f{T-IcC`%HvQ_d-s*Z+;jج+;[bCo9'|ic= xaSa@ؐM.a[3*!R˕F̲eJ^-yP؏ F'I1֐>6mPT}oܫȁqj@`Bsm*g'S`UiZ# _R~C_oݏF8[0D$<!d4T "ي>GlT-a
-=r;[?x"; ;I{͙4]n#[356B~X:= gw9vKDZ/kffprdfM䱋 ) cZ8S wgC7D~a4E
-9, ),@?N{Ȇ]^*\HsÀ@baNn:C2ˑg:H_`S%#*SN3z]PߡO;WEbCڃ_5}go5l2Wq/?ǟJ(
-PbmaJ*Vf5j%7449=i
-Lcn=JuI|xX4KGQϬo P03F啚[/xMޒAj_<'ڎr>a6ݐ;wg |$Q96?{* 3,eB!?!6c  *LD붞$ "JQ884le)+820!d}1 +'|{*_'|1}9lpG
-[C96Moy)|^e-!6<LQ/-<t޹3 BipxTx7`Mt8z+(H%љC%T,9L`yץ<[+;VASGJhYXRAc>0%3z$1:%ܩr1+$_/h!NvV8*ڢo[#ܞ8ϙ#P_KC:ߺs]{w+r4'F9`˵w}~{w(6s؈C-
-2dcIaEŌ$T^{Y/ҐrTR VjdYi;aMC>V =0Bְ}y%$)6{m}S?Lx'^S)x[$Uw3Z6*G)TdNF%gC2w%dTUvB֛C+D|8َX0] V_%\1d=Z7(zԚe#g?5Sr~.@/BrCP*xbɺh/I%,FW-K~T/Fkz/de"U65ΞnϦ l‹
- ; ,n
-^X̭R,mwSkʔ.~LOvDK[n]6s9gy
-T|kz/:Tmͣ9@FQ.#7TDFMx<!N\rzBq!yO Fj;! qh۞8|ahɜ"A"@%mգAFxQ}c0 |rnu6EDɶ%Z_K_Ovіgp' 4Ə.L|/5hyY>-=Tb\(:d"lpS$8#=pUM6W$D3L[c|nG殞%wԒ] }uȏD1st<\Id* OYoo/e 3g̈sE!gг'mH )h:%`aI'd]#L=c%湄5UpU ݿ(JD\Zu
-*zm0 įe@f\u:zu|%a>a
-)"7)]dR`5z/۟?gn"
-;q)d^G`Q߾fKx-FJC\#.y⋛@P7(#axɰRښ≶;R,r#@/GY*Tvq $D]6\PX}R]6[t+dEGׯJ?(+^ &mp)b_#@3>: h25+%HA&2NkIW!` XteZҫP)wbH5z@nHW8&H|+ѻEIABU͵N
-=s'=q[lhJxEibTBe~smޚ 8tu
-K9|j9{0u6M 4jh= Z-mb.YHF[N0woss)#+#Q<[ cx"a˭tqF)ju`gJ%Zݮcd15?ٚ I)˻lL-{<HřA݆isrGq:ff_Q|d1 Rj0D_1)&< 8-'LK9U+5c}6BӨz;EhԔRηE蹼79
-DSV[
-U1MՔ2ۃt*T(<&ްV8Ȓεw/cFdQ/ɘ0 1ߚϩD){n+c_/\
-(=vyI=ΓH,yKj#4mƤ SӚIHu 7)}U7iڝw'ߵgo2hgæzB[N ϝIl* WLP)u@+J <UrY0HfJ"; OÏ<`-CVx
-3Pڬ4!vGy`&FJ;(e計ҳ'u%FZV:H*_k DFVsf\W4`4PT xfl'8kC=P3ưBd R~zBnxK[QBͧTÝ%74')Qď/T|f;lf;Jݖ9!ʇ_gĩ7DQɢv<CC-K:ìY<[#"fj#`6SH7`ÜM~0q9:TI&T̪c4MA\҈`r
-~Sq\<:ek!1`HI$97k\]׵Kd>i\:Q;B/P'Uw٭(lwܗe1%65TGaK@Cq?ApshPRXZa>p:; X7hRW7vnVߐT
-sԇpdLnNn+Y"NEp(KKkbz7vjﵾ]Nud`j0;kҶg`Ud
-nTu,tJ\W8M
-⡣Y*C¾+m/ 2 ң{gj9.㴮ʗDatW 9R9tb<3v-Zb_ahRNF$*&С'cM[N`k^bT;:Zzo*`ʅhK\AfuANICkMv-ÐYp38VCI#MIdbo7K+9i޶?G9{/Kz◑.0&m=ND''پ)M1RiUIS*ؘƥvg:
-♝w<+8l\DWHʧKHܨ&<{dZP3Q f㧒@i&w4@z~Tͦ
-qFZ[f'zgӈ%nqޜJ$ (:pRxE~\B_0py*[ŵE,{Bı
-2ɯ%YM@GEldڬ1*j$JOyTPL|<:=1 / ^h^q> ^Y(Ow6
-,3MP*Zhu-fh*ω@5{1N"R?ܯ4nk3Ŋıү.vի尢;X E6n(Z4E0gt@=ǁOя[ÊG{MagjĔ~Oit잴
-^ s5"(mg1G,DVDž~&0 n{!x+OJ!Z%g ZL3wUlIۇ eW$`18wFsxXF4jFңSLh*#hY*sx 6z s@en2gPSnZ_A|2miHY6aOp3xrPBɨa zL
-q㚏<{7p_2p޵</ݩ3AJ>K2>Ln.^DQ&Jq|܈~vFo[t|zfCtZMXr i{­jU҈#`4|Ct͠B|HGûKBT@'q9l{`Ay3 S슛'|
-]a~w(5cs:55ʋ_Q1!JBOf\-Ηr$uosp/r؉c1# t>Q I!EϛeXfc.U S'S!~CFFbɎ/`tq$QcT¿޲$,ȗN]VZ 0ٍR:Ca af~ y/5)* |^
-=Jfu=YJzG%_]prN}ɘTz*ngx %/bwzHF|L FVbp̟PLkIi q\Xm<\?9ߎ6C9_Wrza=&T գӥqL͸/O-sɹayІq9ldz)߽*BgJw7X-X
-A^NpOI%tzN @\GgcSԂ@ap95ᾨBZUͩk#j<,-Y2=Jn覉 E2dC8pcw_*RХ76qdiؼlbRkq=`[_ZZ\i
-n,O]no/ ]PV"q${iҩ_y% Vj⠶tg,(8-n66Q? W1so牜GwnE^\޲A'}`XcXx]1Εe
-&kLU/4 72#5пӥ4fSfr)Fbz c>6BnM0ӥn;9Ure$ m`*Om6q{(d"9ďrs10$(kzӜTBA U~T^v]</]_['{Y`?*-ߙ0Ơ" X%/]prmߕ0GfIN+P͒bK+~SbA C{>oV4GWkKӛ p#cZNs,0{N^'(K 7‚E-9-4%hjrw6BElD̊$;o)(>v/UT"</|[TWouDj$ u˕A19SJ{g7(dCjlR'yQ#+\!&HQRa4 }rUsW&\Bu P~[z:go^iCiLbI!ӅGMdK}cHGVI,^|bQ6 eQoT{CIWԇ|%N2P4<ٮןֺh^LA& @%BD됏{z=MVd\wKx[-☭luE_ (^ƺ-7ܿ=k|ҐyiAMxPƲNZ-\}b Qz皬@сiě}gk:PGO5Imz#AEh폝q.R(%$cbwBGyi"-kuiy)*Sub 4*HG W/3-vG1L"+LP8*32 +Ο7~W}yD.{9Ĝ홲|E PoB>< ́Mľ ug{ELTL `h"t1X`luJ𙨡QۺpfߠI 7 >|)뉸yCh?!@3^m_񥰊=@&egB1үxP._Vcϊ[ZD %6\&$v7ꬤLdu?N=e#(+H:}|9u".R׸a|//$-c8}j3 _qnwSOA^kݨT2a'ܟbpZ[{{oN&%@arG_ld׼m0eaQj09PǓzg %?U < :/0cD)<2h+U
-'s5Gd8OOG^%g2ebɕre׍G: (|k vđ7~bϴl='"u潢KFZA>{;؁2 ް>%ltqg4R26TGm<0Y-,Y2.[c6/*֟3PE6.TTR䈫9iPݑ+/k^NsdoJRLlJp $ri*=6$dbY4|tYWx'tB6Iy=gNcENS+z xMt~7-]ѩKwe콓mF/O5ߊ\3l{ "7Ԏ|[xI=9w%T!P<}UTWeM6=Eз0T~6*|:Ts DRݗbM#%k<CyEFfZfA/B1L'SSIC ^sA'<a-H89[QԱ'̂D"(-ams@.A'9{=E49qF7qYTT>:5Dljs{c`'y EL=)YCDѼ)%]5n/`! H!5yeTZ : rRwLYlU*Dm&M
-u 9[g'Yв]{PH~yecĊ 󡞍
-"d*ՓJGZ 7GXJ-$XӸ
-?98@7Jopcx芶$ `HU@ K;XIno.I F$od?K%18b[㎍jeio^o؂P'+"n`S#X՗+Bny zZ,-a}+nh_tci֛UsXhBu&{=TwkXd8U8mt=fc)]CGByI%q<z<]N
-2'? I>,Y:j~E*2r1
-H*
-._2s]t g}:MAT~5F\$\ǹQ_rxeIOw#wBGi; ,z@hַwc<񰣥ҿ!쩫|}O&O.jKǪֻ'+M¢jbӓ+b澶/W9 ,"TI,;@akbP%[и,B q8,~PF?QYLֆa=mMXk=k%z0Wݔ
-}D-뻀V򔤥y>N A>Q"p1\9Qid(Ÿ&6;: b ʀ%T5s {lF Z e%JO kNvh z
-LU~uBntvTXG5XT*ѕzUWmdM
-&BdL5?;|WE^$v|LKjnQP-t|ٱ
-oZb~a_HjϒG4IG\krx?$Bv@L" S޲핬1JőhnGվJ)i?lK$G$qp[3 '(AȽ Խ%
-a'<塡\v@o7UL* 0kufnr "s=qֹ+be}Cȗ,nq0wk
-IϐaЖbp}C
-#6ko)ބB ,4Wnȍ E(iRMlqGq>BSxw $5f+q-13ߌз?SKaBQ \ɘg>#{dpЇ<AGͻ(Dx,A'j[Rnt$W f1ƘUFɩ"q$YQhbh`*uӧC!9c~Oagxx
-44hH!YOeܼ!PQLAW$:RY ~w&TA۸u2y@ͿlOz4|R1*
-lتWRE%_X7bRb-+)=+;2]v?ύk;33}@,ˇӕ[Ck>'uK>%
-\%JN32[:}pP=Gs<Z
-j*6?z3.ǵ_Fa9$n?
-An[XZ@ԧAar2X
-x0 & 9Q_Xjx:ϒ'@h"ˤo]CCEJ[ƋR άUHyu!\?r
-As;7`03h #1|j#o7\رuN"1ZLC>*0]57^s"$gWSüB^"-ο[ -X0 3eVIGỤ7T\Gva/~`˝@`B9C$SSJBB˂;EL|՘
-n{Mqq>CHk"QW9)Bzc/$=2JY*sͽTc:Zք,ˋsd?F_'1阊t[=.<Gd8E<[BCKy`M|~/gQH BMtZ .Q,ZTP-.lEb=UxJ1坈ղT;mYŕu! M`M3@p^ɟK*:<5f
- M+8./yEM`s6Rwgճi5fL,(4Kc*eq 2@-DbEu|gMH(k9C? qG#Ov1;dpV0NN,2Yxfcj#Z"L}2~6b?&q: t*H
-{O{3LKjV4E 2\,l97I_ na"&j|Qc@'(;Z$A79@rmmPXtd\,a6Fx~_}aT 7b^N٘?(>PQq>x˹ caξ_(°oזueTEWX.uޑt:1 p)SP
-n ^C
-w 9ʺ&` $2"*Vb*ɪK v03=ph)͑ex%M++ 3
-DzTf2L~+,ү|j ڹxtqy0r%~smFm&vmGlF[hlj2WZ*V4Q@
-endstream
-endobj
-11338 0 obj
-<< /Type /FontDescriptor /FontName /YSYFAJ+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 527 /CapHeight 689 /Descent 0 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /a /c /d /f /g /i /p /s) /FontFile 11339 0 R >>
-endobj
-11341 0 obj
-<< /Length1 1881 /Length2 2001 /Length3 0 /Filter /FlateDecode /Length 3102 >>
-stream
-xڵUy<T{o_FԯLaΥ C 33gfq5JHRнEѢ}Rn"nJxό33g}=\/(Ѩ&6łf#2!LVr1nbB"1 a@C
-6pYNjJf˥RőqY <9L
- 9à(%A"_ˆBaw ҄@2%H !BBx#rRڈ  9X_!4_3PVc;!rYԈ|<5.P +="JՙyP:ފxN6 ЈK1LJ$jIQ>'!Q'"yED ˥>0T:}&7[0
-x-/w2;37m'-~?uKGw_Ȣ5k?/Iړh3t)~!Uxݼ+楔m'j=ƪua,v}Zo٣;[VWwȞPK-+kou:pϯSIjU~hhfɢFV=rRhtWUX(,pRtM=2AUzZ35.Ӭ쟨V-cm+R&t-SQNy=Y@yfBvs5. %!uɭ:;׫t|y72('ZN<U̸0X};'~ g]ݒ:Ն;WZ;J+{ˀKѦW֭_ay6ٹ*$4m:ÁK"ntGΎϷZڢf*S8ՋTk iUzFi <Qg4ruȪuXģ1/yaJV}rn)mDO~rʖHIpiZC?M?A}{+5Qg'MmP\Rɣ9s΂x͛VYN}ޘАM v'+Τ~Ό8z0k?mdFMi6ָz-p1M5/0Y:mz^2o[uOʐevuGM3b gL& =Z6W
-3Gkmd<Sʫ[ej]3<Dfh/6]isN1II?;xUP}pGWG5xfu?g\8骩~qrx hRSҗ soTVNʫǡcS/v\ͬv}kQT?>7%轄TjmCv4=bVi?!z(uH5GN,=}ˈG}g&HV5 ݧ[<١ Ӌ>GɻTo$i4.)-'? <3_$3h2dfENgS:.kxs;S|zeCI˯Oea5L9aֲ
-P=q{"|h\BS, ̸$N=\aQJ /,Oҡ'7f:74Ox~<MM#
-endstream
-endobj
-11340 0 obj
-<< /Type /FontDescriptor /FontName /WOCBGC+LMMathExtension10-Regular /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleftbt /bracketlefttp /bracketrightbt /bracketrighttp /parenleftbt /parenlefttp /parenrightbt /parenrighttp) /FontFile 11341 0 R >>
-endobj
-11343 0 obj
-<< /Length1 1853 /Length2 4159 /Length3 0 /Filter /FlateDecode /Length 5318 >>
-stream
-xڵUy8mG%"u6kֲcoc13%$[RBD-*= )Klef<~sw5NC4#h Z% C$`p#JPT甕5L2@
- 
-d`xP+v2utNPzbP
-L 
-mڢLY0G;(DآvF##i2Dٛ"`3
-4E Рd?BƇ
-
-?;G-P" *wb?[L B Ξ@"W*C? u(\MS6"}Wq1 "!!:|ҙ=
-DgmJK4(^Oya(8Zth=Ea"%53mYGg.BwK=NA&wc ߛs{c]R/!"33Im~leF9Ky0nX=vtj0U,+R)φ37FF):Zs`@rWs׮͵#:RLoj>p>.0Dط},f=ZŢfY-;MUO=o:|nӲvf-2Rq7s+ZMM\({۷$^׃O ~U|VTg {UQ%E:Z\ԁMڥ#5 ]h#uE}FN4
-7_EIQHVLu'4 E1}ܽ,B7}-ROsd=J?y#RǾhU3%oo޻`nlUcjȑ[Tt,׹uogβO${x}0o*Yppj҇Hnk2.1̑'uUks٩ OU"{tNi rZ*sG*<im5">ְs>Olp謯Dn2"5i:2
-I6^M]S.P֖9\#oS'|W-lخ^TE֨DD
-|4-h$"&L{ԸRloY/dMM| >9bӀk<|&=&V3DK󡀦dxEKX2ۍ+ V?uNtGS/Ű]n$+=wXtRQ1
-|/IC%ܻ |MgpDu  ~o?ᷨx.a|1ܼ|49IQW4ˢv,vbA[G6d- !)B+ʯylIRqG R=ulRmVAW ;Fؘz)לꍼ<P譿e-g'djM}AY^چ#SNTeˢE
-*ԛ77oq6N,Lsmy{񒾝wC֚PF!P%Oˇ
-hk>6NOMWېyض3*Qmڎ[+UAdBӊr_=)/wKʫAFPJAv~:'*'_6j52Ҷ8֮Sv lz$!KyygcvA&&ы?^+k:g#S[7}7yŬݲ5
-%=<U\xł<ɵ- kpO!2c}m79lz¤i&k n.cmC=zǫ"$rP{_OM~Wh*uFg-@f\nziFppWd=-)ٽs4`gG&t4#9xd+YqȕEÛ%Ş z[v"]%T9oO/Lǎlԧe)Nyլyf,N: vG3P\Nb0冀0Zxcט3{Y-c4XKR!tvMEUDH&"[czN|%Sr_7 qEȝ
-o<E> G$V]43ԇ#%x֣%vb+'N̈ƶX,[ct+{SEh
-fȹx,u:ՇL l竂%_n?Tl}K:i{Vsӛ?$MyulfQ[Cm:)|/XFWT %}Ru~Nf"[ד/Gw-lj9NJ?,(h[4/$
-. (ldy{L ™ ߹ÔRe|DKs,>SP_wn8㔦?4i2m3OOڳFA>BmCMwL3{i}rMv@DĮ{!y
-rW?JЧU'ΘcJlvب˅OX7RM͓R/ ]xUfA?pA?V8^+>&)MKE_>wr]|S+ ɏ^5 ]z%ذyvFR;
-=9ue
-hvVֳ@j_5Rjeؙpbqsh ń"h=`=!&uԳ)IL%bWa^@K^
-4"v<i+-ԾC6ڻ[
-=Vk&6Wt'̵s.I_imTQ i뙏@x
-'"Y{CWDYkW69ZKͣCs[a&^]2]n-H?tZf
-endstream
-endobj
-11342 0 obj
-<< /Type /FontDescriptor /FontName /YCPAMU+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /a /b /c /greater /i /j /k /l /lscript /n /x /y) /FontFile 11343 0 R >>
-endobj
-11345 0 obj
-<< /Length1 1688 /Length2 1921 /Length3 0 /Filter /FlateDecode /Length 2966 >>
-stream
-xڵT{<Ti/ITj)!$57\kV(3g1qLfQ(*Z"%-+* kRIEQ[yϜ3}xy4rBL,; ,^F^ , )4I_X8",t3!!B B,HB s@C8G*%_x"n h1b
-e5LdY%Y|4Lć
-|x_ @rbAcd`6 Y: !$;0\VS0DCK$ur!,!@E @n#~g@؋1L Wv( Vc!bql"\4V\X
-1M堈@
-8D@qBI,xB u|0+H;|\ZHBXq>XK yc*1 tS
-x+4!iZe᧍jeH$&rD2<q2nuŒW<a  30D#a`p:y$P))@(#
-ˍ~TOɫ{YȬ\CqĽ55\3O;RT|k-ʮ3שΕv^<̖ΚUDȜxVπj5J*%}6Ȼ^Ewilڽ*Lԛ}3b 3R+Z]- \e#iwY<!q܇wyˌbiS s5< qrU&rO\Ȼ0+p3;5I꾛uk8 ?K FͶ3"S %>(KpviEz`3יִz";80ygVVܘ_Wo?¡jk`ޙwۡOoZLJV_`ȪMag(F/,u@x嬨S/ zk%bm5նc=B6_ͫdsʕ<v"6ϵѢ-;`cx`UzL2wpjThj`6I {^|T^yq^_X ,hI[+rzoi@n5Vo\.h`:ѵ7H62v{Y^OhnϬvwvI_ݩV
-ĎcN,OB,h^ʔF3eDKoz
-3pL`?nւߕ'K45->ߵS)<yx/{^&8}Vן\(Ȋ<XAAKMO4eMOwoJkgu=nM\cWcrS_stG)Tڭ$:|~icF-/~kᎦ[ q+bEi33p+_E 'g`WV+g'N_`V9TŞq Rj!GxlŐ͚e cCS^ݝ1?m,[aߙXjsGdMEײ=s-yEk{; yۥn}*]Fʏ5*+{vH>(.ΜBKI1W{&ib4{˓/u6$*d<gM*L^),4֎9nroY{Ip{~`SlNkkn^|}jhz#8EzPf}lTUig)POXl
-i> >21%n.iv0N
-dfok2Gg)}$\tMΪu?Xg^Le%YwsB3ScJFliꙙCs{lP>Oᤓ> KݼWsNJ@rĪBlu^)q7)iZyb#ݶ܆h?TiJ_y4ΦpjBlE~Q ]d! x681} J|C(
-endstream
-endobj
-11344 0 obj
-<< /Type /FontDescriptor /FontName /JMCQJH+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /x /y) /FontFile 11345 0 R >>
-endobj
-11347 0 obj
-<< /Length1 3033 /Length2 34723 /Length3 0 /Filter /FlateDecode /Length 36368 >>
-stream
-xڴuX= (ݰ
-d
-G"P 3i0(
-L
-&n.
-u9+ӷ3\?m
-`
- NڿM44gB(:8ۛg"e 4Wv5e]M/
-/Ư#e]c0rpK3[w܈)w^
-]7+ٕ#0oS|xO7iF`>!^0o30o'on3xЁv@?g&69`L``Z88~Ykbe 6e
-ޤ?[%'+.@{6 .b{`.v\V0o_j
-$ >DAg<nP^g6]Ӓ1dPg&Ѣor|ȁÐb J?- _+ƿ^u.uZ{V &g.R/ggpM{U7:<=Û\@m$(Ds<HCV]yĥ^,̕qˆmQ?dTBU_y`_ 64K_T]dt?ΌthǶ$7~9w8I0B_eAQV716JSL$Qi&zYg^S2/CX|>\
-Ec\'Mn?iEd5KT΅EZKvսyaV˯l!~哦aB= {0j`"A.wܝ9gz#36ݰV YggK"-w<݌Kҵ*WՓ q66Rl&l5cW+\P4WM]~ЂF?bG Hb {e[s N
-ƫdk 
-SH?-IQҋ]^dq%0{rd^&6wN|#o
-pcJ}r&Ɋ)LpH9#3!{3CSW:T&U& ('41pti._ '؁*<x31Ǵ3&@D55dmq٪AȀNkU҄$v<O$T)^czD@
-!Z㠯ζaiG)m)KViQJ/INz7Wde<WjYMkwMV5W҉xd7&HEW),EFXl}^sj)d,EN?qDT~
-|X)r"zۿ>T|Ӿ B
-͆="JW23L=HeO/ܐK SLpASsr\&c0#4RG]?ͼL3ľ`v޶8e<iraюJP8zI s=^0 IhLC-"L"&ѐ.8J
-!BiU2s/6yR}<I\}j8ǖX,[3)ԉ0|-Y 3An%,﷾
- zRYe>5ȹ[z6{ 3A-~?d_)zE\jĂU.$e-`n)k
-?+{\[p2J31B9uQ_̥ ;ueyIz7A$T1 Tln'zDogU\NEy#2g%QAPr +W0.pyeC;굓vΗk' 1#z;Z_g}2R4g],ʃtɽXSFI̖^Zrtv([5]16a|XeNġ2DtȞeuh%d>S|Ee.sP飤Z-̫ Nxne3.Q* Xg"M (0<W</d4E=IPVF RZ QxYјr
-//J #zHsǞYz%hI q+cAS-3֒9ЭHM/քQE񝎞3H< _̠N'%heA Rr"FS~ &]Q^x)Q^.WÃOui'pMh
-RdV2G]] UfEp"dGB?xLzp5 j}+KOF[i. S=DUB ϶VTDvYN,uRLvbʼcЃ;Oۢ]a }|^`)ϵq6fP?]oz}!mπ( &-"ӸJ%d6)y==}I^&>O$찆w,QPD? }VNFv'Ey` "Vk{r'/蔵0ԃ.Z?Jˌ$nTi5SE7df⫇Rt2%Zq><yɴ҆36 wU2CkG%go$ZV6Bx~7km[c$x+"%}LT˺4\2͗Q z4]ީf9_u޵;}MpAq+wo2$$R8 sEܞnMYM lቨ.تN:K~UD]_YC ~(tr\e1[(Kh6d:xÊធlGq4ۙ !YǙb P=c&&6 8UxoI۩3Ʋk);{+r/" PT|"v4 %.ʙ(mE
-/$&(7Ž+V?.^8L^A?OǪp<#^松wbkȞRɻ%%IO1 ""@"ܫ{;@yQ&%NQA 1 n/}aih~dF2?=dz%vڴ j0:^Q A悔k
-uK mXRM<UǯuT;YVdd^Ez2+>dKۋaHwfi"|ph)Pd'@rnY2<YShٶ Fa"%0Q\PQ7/Mno1 R4^b6')qrXM $CHW:N"nΠtJ(.1NW%)؏>#rDMG^w[D
-=^WnLr/a~h+-dzfE
-QL2aƳNXIb ƼV2!j'+4"?MSqcs>lw܃hh'>-g>&2],!!!t/K
-P<ي#/?64`^Aʜ@`>yB,pؾbo9|SoM.X2@r.4VeUZ3/zf6OA~~ct.#A"[+ۣ.C-aՍTx<"6{V(Fv\@;ڹ<ǏOFp EYIa<CΆ:6Fm"6_#E^XRP_As1cAq3ǢBA6vz"G?ú2BC(Vѩ*TJN*?,w!ʏ76!ҵ_,M,B}-5 |x 0QsF'DIG=!m 'usNWNYO,V-*>wcu_K
-NxvvӼҹqdٴ?Z3cVs.èj
-dA<]*sFGāqqy28I{">/UJV|yE"n9
-%b3Z| LVxZ1'wU\ Y2bx2^ЬaMe8zJ`y`ONDb1;'T9Xf%n<2̉X4U*-2t>l{\ &Ot*AaJp;[yBC ۪;c}}V`+(FoP*FQmw~^ Bk2q1^4J#B\ߘܞQ9vgʎ}QqtOuQ/sV՞^@PdndմOr(L~3
-o0 p9'"Üf/(BmUi
-aG_LpNU݈,<ZwVHEDfB WRnܳNg' ]G,犲mسU<l^WQep J@s֌\Fj̇>ǼrsN9r#%q P wXDA*_OtS*^j?򔛑-W$aq>tƇѾ+vU*sZl/|q סrqŢW<2SytgLeaTBXK'L3WN)]O> LW̸$;>#MNPՒI,j}T\#v%`~µ1K-L*!8VҳG^HQgBE[3Mw`ozHD":nEQbxނ>+Wg';_cw uW7G/oŰsu<\d. |#:sDh?[Jz;/B
-P Zp,\7A>|vd.kkir:,PױeSyVڻh{bZ;[r*],@^@yOM _5>KC{D&Q|GѩB\B;)᧛t#M!X4P sraH2+om{? g7! ~46LҒKA@'. \F)z26R ´l?GOƸ!]jc ?7}hPqN&o}yPMwJQB'aM(/iQ*˖|N;-JQCU8XJ#7!TUu^0uRgDX+Ty@t3{ɝɴ#Tnҏ%EY%Q)H[
-謮lJsl,p <6#.T{z+])2 qa#
-1ۯXT]zVƃs<lGAI7Q0Gs҄L
-l=h"9f衇m<?X92c?dgbe ;r!=+`3YF>lD-—c]D>p\T@AhyEAe>ܛY&ygGxо8>UDZ֑0-.+m|qA@ESnIG/Z
-Gv^x 7Y5 gf&ݖxFc\h=L*4&_Y~8V:V|AZԽai=bt AE+,,~| Ds
-}0 C\_uw#froχ-l!Շ'fċ0}"RUW Z]Án8}<ֱx*}ms
-؟(Ί
-Ev`)1*6}9\r3Dρ̶zk#nRj"0F{]$"]JxWyP>#۲j#;h7y.V`-4Iʘ_=;fV`ʭ)CT,i碱kn x\6ԳCl0Bj́uJ/`Lc%tOԛm~U o=a
-Arf 9۬!q3Ap[KSNk2nIVJSw2X.*.&,v㖓\Ka&z6aR:%(
-8ų-Z͂V l7353d䪄i&ng3RpdiRK£+*$5%o[L@n">$ఃk\v5y*iTKwuDmKS1O+!Δk&V@*RdK})K%́-=2?a-]]` N
-Ćd1nRr
-^h ό~*%Ī]*_ 1(~솘ጶn0ّk/..L Bu5h#BBZWڼOĻU0)}RJ`)U:V 2ҔmnSR _ _Np
-㪬3u;93fN4*f4u.
-boHΉMg\y̾J`&I(Ӄ>:ZVVY Vg&6-kDd 
-bݼwzI*pyƛYH4wŢGϢ`|va ΍9[ aZm.3 2He7m܌&&~6 ҿ'1:E럦v#ƞ" ߒ]0 ۙӈ$YJYn0o\Nv VΕ!Oh)2~eX1k$O/5=p&BU
-6^wЊl<6~lc[vs=^~:(H^ )wS_̌-U-,e|Rݤf) FGc}5|"Q(k
-T8}&+v&Z`($=:ɏ`1kxLż3Qx] ("=Qzҿ=@F 7X1'[Ke&vBmz;31n@f5NNTiPJcU0fVgF`e! hsBx
-g]bEbѮ HI=YFaՀ>}5DP ~rTu!3RxzB{[exg
-PMzU7A*S\4e6րiܗAd}sRԆRΰ$JuPAq
-yq3HZF%ӕ]$yyhg\sJS
-`7Xx|3ItFȐGnfe3pC3JSxWM3F2yw=VO c<1PVN]f rFA"7omҴ9+z]QVۼ᧾!5x;hX0}ϫ8A9vh`?0%E _rg˝5$gMPI8b]fi2Zv(F#~uQ=|F`&U9N ]$Ij`(5(Pkl\dz{ N$Iߣ;ʕD O}E7Cg] ڳ^لpު>Nf+@P\UmոƩrˡ\NȔ?vUp~#CK͐i,uw8R\NKPR^c |o>X>pԻB sX]5"(
-#i;6`;4D8 T`+>ږt+^u+-K,X~),{/[oWN*3 4; 44sA/ܐ[.8:}If~ua
-=T _(iwWge{Hg4`OK^$fT԰F{z'yGQ:6ڒ|j\3Y3-'F̊'7t7w%Tt1P&w4XQocy+YAWLOZ
-{Cn[rOPR}Oe2vL4B 1s%)cE[OuE9 BE9/'т/^j\nnN3Ki9){4qPۆdC}3_ 1KD& 4!ELcEuO$_* KXrL`$x>7RkʆlFK,hFA,АP#jKڢ^/+XNLf(Ŗ@mdsL{ߨ1XtYjɜYVcu]KZuY6nlEлK\\wB>/GV_P,:pf28|^n8s}T9WF~ISNڱgzU}r$sz!Qu_&R-"ylJ(ƸяdXm}y@ɡ j>6LWTf<%|?aUAbЀ~
-j_rf;lq%^D>FWcWT
-]7r)t,K"_"7 |(/v9b11ug[,;-v7my3=/;gqy
-X'K%Bvmh-^V\儯P!\~~aܭ鎩g`@DJhfcYk3y/_3H`L`BQDLriu{(^`J|w^<•ypܺP/`/;=R#뛾|Bi4>Exx#(lmA{%HGEL%o#v{{Mᡶ>aGI]ERT
-=1k%ֺ]4D&V=OKbWB^ 51re
->9]b4~ ֒s?]/˱ SʸXF-m@D߸.x䗚p7
-g$4eug5 ]4B\W7\Zq8n}#ϦlGkbaN6}"=if_xTa`Yc5~r̽aMwv$S,OVšr!Ck. LKCca\-M'gV'Ro^b).0e?$&g0D?PVk2S_@nfEYӜ' C܊[W+;D(w_6k |66 |v~xR<\UR)ꌵYQU? 9Ȱj+o^I~.36F2O|00H;G*N.ۿryn12̐6Sm]+h#@GV&꟢;n܌>FӁ>)cŋ_'2nvPT5) R+LmdWdzc$.V/d@q@/HLCH TF>DD`s&wj!}2t>4zoy^Ì+/L}D YEƿki}UC/Pȷj=Pǧ^e|Px]@si2] OdG&jz|i%VȾS__ 9 IcH==uJMՏN h֜[ife䭭ܲC\<PLޯj?o+ꖠajDO%UH< ],q3љ#Wɵⳋܾ\ISy@tLQGZ VQI[\_i*1ljeXk)NԚ X8y9lJZ+o#vϼP,~3v՚Pvfe?ž>B/+(D8yd=uo̽@D%uΚY}:mn
-7_o[QB*wې
-?SA.[ǧzr.7#/xinY@@40#2]ה#&TM'WNEK0ȼ4]15yoyw-h(Sr<{7
-79u+Ul~>`Y5:I=˅Lja! KvBfCD'.sZ*{pL+?#RA7L^|[*-B w0&D#]RЄ=~*s+^-פcd>$=Ԋ=6Sej,wb= ިsZ׮rtg[?YC5HS^
-|2B'UMi)ԡO çM 4Qhh3[TDv25dٲ4h38DCu6VWIhXu4pTҒm?
-Wm*~gRE Fiz>+D}M5ZEkih+F%c
-T*Χx~#XY.IcKFF>~#)N#Hk{|k" ($mf?F)No=0 k.)=g.!H-8VnN.-8諦A"ts\AnL <>#ݘroʵTv01ώ^ k
-=2y0`ZrdSeH E^Jߒbb9Uk..JDv7ذ{q $,{Hnx!YNvqOy翹ReAwp"YNV0ԏh^ћ="~E=R^q;>MDm(Ub- |P|(~䫐f/qwZq;[ީ=w{heϫK8:Mq2ҎmKScS0Y9Pa KЅ(N0A$>qہ9*+$XX2O%}jyeq_K
-ZTr]?c.@e[ꌥsv3; "+Y%mOϧH;vbG ,_=5:ʀ~pt c< }1#"U^Ml(2رEj|("Bw/v<Y`1OG',~~21q\]= +UyTAtTK퇀y ~Yk㗡<1MTc.d
-^ Ԏ7 ^lC0 c۶m۶m۶mwm۶m۶msYYL}ַM*"OC?fַݪt ŠC5XíS0}&ILmd$9+S#̀@(8c PDnן#EΒϑZ&̖}*tJЈ J6(Y*lΗz iebF>۫r9tG^6#YD'N5rN2"ss
-{AP6iV ǃVQB4TFAnm"/9ΗP0qDւtPVykuD9<ג3wTfY~"F'$xk>(H>*WX`-Df"67H~QjSJV/#
-؎$q{\ Vjɷ;*$.U5hd O*i_C.|(Ի@a rDh2R5%2nu@J1YHRIB:t's&TYȞ.b1/b;Wdώxm ݱf8=Y-1QJ}
-XfdivNp
-K5|نe%F{ 6?6nk~`{"* "LŢ6h'׃XP'ڀG|#B?XWzV\S/?xقa _ʪW'2M O_t4DdT ܂f/ػ~%w>EE"gbM0s&4mϿ;xOsA
-HtE#jf+l_Ϙs@'XsyxT!<C5UΙɞ3+Z~S[
-{3gljM5,i#чSfsM$#rEl3_x`K[ Q%$ ؐǤi%pV9ѽ>dl`l&u2v&Qb<,1Hm}7Ӏ]<irFԟ$ aA̓ۥ.GKB~0F{)j.
->׎Wq|ً>炳4)њӽ-f
--{!a料=zn/NCFVH'iXa̤P 7xClR?AuZکe1Flwn<] EeSM7Le =Co!\p$%ɇp9ܮEdF}SjtޛR{X <T2 )`LT=QhC^NCOSt҂*"B)xB"DW-h=G麈F7# 1
-DsYJOI@:-+0}FhmaIIמ0i(]Gn'i?"buty%0C
-:{y PCDgtg/e-,{)U`?d<\Jm۰hxť^y
-ϷcrDI$ ȫ~uxqfmmc,4^ify 6aWŸ]"
-(h`c=k- p+J`PoMa
-tU~_9>Nʹ.J`{_puR^,ٺ^)^w\=VOϓ:wq PmeN^N7@F'Gԣz"77>DM"(xG0  v-ʾGE
-"(S~ΌwI!iռAKC93;Qۖ(T*;\`&'Gն"w <֕H:P
-S3FK
-zu&!|ņC#kYfBݲCF@~xggjI8z6M/8<Kvs(sLWEP][) P}dQ-54,ߏ3q7ĆУ'7d'`ۥglJ8kuϊbe&6!#: Q
-9B?~`7S0eH#s>z]rڲۙ}0 .]^5f%"8{S
-<D0ġ@[۪"/>6b{ 8R;h t;H2rj!in&
-uW@HE~U}lql"-iZ{ISvOsuEqR-I̅TAH_ϘbuؖA=97${(q}7:ԅΜ
-
- KS4|_<kKwح])k3'o &аG(Wت)!,NHbL(ozN5Am=4+8W%4 RARwbt
-h5P%(-s^-Fh0 2LMF88 d'ogˡy>.?QUQѝ8þ0oGb}
-:ʀ[\ ۘGRJhO>U+;]Q:u`PEy!!s{tx_~c
-t\/OP}ъ)*>5Є>V4ph md^jr&w(@+ֵ0o>ϷRBA1I'1kGÁāFLp#ËyyA7dǚ{d?2u KsaB1j?
-]˹;I4sO*N: bE
-gmKӐ#eHѴs-.ws#brNo~[~&R}bщVYyo\X݄I
-ɳ@L2lxPt^ $u:Vб <p
-̥̋{(?/^˵Xayutjw=$G1WTj!NW4]xv[Fyv
-`KX"~ C";G%\r&P'+/L@7X@M=mE\qC,[-6aN6e{Je0T
-iE0`GD3~!g0B:̫"=u_hGH:N|FGWg0Rh%Z 8Ά_7h*nƋ)hW(ޤjFZ\oH><0B])APi܎XWk4J}\Q<f_oQ] K_w$ tB֞A6eOࣗd ؙҫ"
-Ф䬚`<Z
-7P
-h4[H~g -֬A'ith ݔEꅭgĪ=aQ39pEJNvBf`+6Kü&0gKP/E^?@8+4w /`P DS_iW.H`i5ܤH\9:L7 Y1{
-tvJ5X ,Q3jr Œ^" ]v<i`.:r^(?r5uCЅPB+ \A9a6ה'řzh-m/ףG`ZR7QIR1V] 2J*F
-[s!pg9qj!<@cO@=F/_[TMTsK+蒙L$z4QCgp{cn4ͽl<Ocyjf#F2~;l1y_4~0XٝIP%9&0;*% q=~1뾙9h:
-ZJ>?793&/zzk! + 4OBR+AncBܓbo]A#IYN1fQzhK\c}қ.o&;#G.+!#Ik0!Ik<8 &AeW_;N;qA=G[YGPX`?oAmnnRkc. >.cEt9_*bfǥd|uњl[woS*a74-#LZ@&J%ϦF5U e~Rn$NavDc Ldr[oajd}b91
-@f& |F(<tUR7xsPVV9TTś%е Lp[$8ycyլ>K$\<bpN:v ګWۦ >H,5^,Eڄ+L;:d<kvBpw=({md?NKK?m.Q&z
-P=d%V7; L+W/O "=+@ON:յ@ *
-5^4e+̒47FWWlgP##.ZEYEaek2G5QջK4}Sfoqs iO&ʳA
-aJ,G3NE]
-ÿ+%?ύ|t
-KMF{cI"ݗ ␓Ukp䐐%HSCi8]RpT^;T ")B?~ϋEeŢ-I NM0/OwWI:B*"jکT{uo"!F+ fwo[F0y5<&~]":CL4Ss[&)2<+=`͏.), ]MSDmrYdpt]NPrKd0I<
-XSgBb8Gj.i?psdV8
-KLNLH%[T"N "`YU2BxˆTY=o. J؏`O( v0JNE֗e/u4V4I}~"\U$$soz1Fd)2&t&y|O1ªKR\GzT6)`7"a#%ܫP~wEjm d:R,A=>/V?g߳/<솧&x,n&1 Ms)'V5چ:ZNq؜lj:Ka\!lU;F&$fi= (26Zՠ)i\tPigz,_r7b i.]}2,hğEAV%4^Ҩޗcl>S
-fjt̎,έQ.)Rr̾2jܢ3@9(cƈFƾ׳2kyC\[
-t벇azZ/nȮ3]Z ‡_PrqLYj={so嘻F76>s8qI7
-:82_x?'`б-E pI^2`Ly?;s9ƙ_u}:{HGZ;"'{=N"2,N]4+ҔX܏ "bǓ@LS<BBEd5/DUOZ5.ClK8Ѱ,@((kųN
-dET8Q[8K Мz"U%vHHw7 u!ٓ6#A?>޶Nz p?
-JYJ:&;-L[=;X+Y2t;ƾnJˋicg5?{h߮M,ch2,Z3CjP!6N==so}[#Q
-K-xcjwk; e y(7v=~\t"*%d
-2f!A \C&7z"1MJO•0~
-UUyRC!샒<MJ>aXB*,nR ԔI_D^f&]ݙ\)Nf})Ψr{
-KwXQZs`BΞO BL=4M̅
-tfԝʤPYNU]Ec' t0_EoҐw/] `ܡOTWE8;$FN><2",F(To% >O(/+7Ά܋n:9ZVn
-燺r%ak%:݂vPy Y{9hf`RIa@<k: XR_[`Kߡͦ9L/Hyza$U3&1]ܩxTŎJ w5q
-oM&
-9޳]eyPĖJzƲn[lyXT%Vgo11-J҅[L풪(]aS>o͠B{nx eQھgf(kkؤnǟgY$;9l!ȟ 5⽎w9t.5od^WTc8'Xmm(^Cz>:fԦCF> N\!:+n@ 'ЙVTsbB^{vFfBQmFEIӇYq+xO鐭wdT28(\Qk6>gj\w[A-S{ӘD
--;xoʀ\|O %2Nhc ): mNJ_W:*[X`D8[ݡs )<6'r/Otf]I̿CU
-$/# !0M/YqO1УAZ ALb419KxG5Ş94w1YEQ:
-3)'9p ES~{Ӂj)`1:X.8ץ){d=a}Ql^KK(NRNyuS
-S-PBFVONReY ȥJ,d*5} 9N_@wC=d& 3b}faIqSs+zgvXJXvTAHOsbӖac^]Mf
-fZ/go"c %7]gG*!H,m?}IQ1^@j#
-XFY8/E6p _
-.,j!,ǾȑUF!غq$ ABb[q\SȯtK鍍-a}?q,Eu~OwV;$9 BgmqpnSDOQz<,lXL|oq4$siKt :f|-fUYJuѬ/dHs>3yҰ
-u_Y}_h>-(*&eh\'\a42Em`'Կ点{",Owxrc .RMQ`.#a+Ayprl Ө4xI1 3Bߏ
-ߛ zG
-? <GZ7yK3L"1<p|.'BUtN]p#A#>öC\H[B2]M&Gp4@0Aky;81Lrp5>[nz<{ΤC9~QDԒ`|lir}(CUuJVV E=pY*Y Q&R+3D\TbS5# %sI8#T!ƒTU V .˲ϣz.X`>wB{jNlqݴ+Z
-<k8-Bcԡ+ۘ ;YQlvuxz݈#O MaB`Q56"һkq‰nc:ByJ$/M,pbZjRns:(-]Y$B@*i>y|wYTN0)e}
-: =VVXRR~6X %h$Ѱy
-˸\k7_DSvec,z0w qTiтB 0skZ{p+ǣh*M08P\_LjMiQHW< eew&QSl}b ! jx~P\1eKJU#sih޹)o.
- ~<E˱i=/
-L
-G+0|#pWI`_< z
-WP5>G`ڭ.G'h2% ^Tq9N? hNӽb [p7Xvs5!bak;:XC4a${4yR[r ރz(! ^y
-`m*fRNJg9'T
-|f÷!y g5 z/4į
-P}z8:Yw$~
-OO5`9V/y'2ӫ\<;N0?KA?J\|tPc?9mcJ%j$7JTgCuj(-^Z6qڮ -[?KV?:>1"""Gvr-XWk roy& CJiLjCC:NÙ%aݕ ǼhN:c=J?؂žQ|Sj[[GF孲,@I۰@ln{YLN#KCdz½ u"~ɟAL"$Ws2{ܬ̌HyAcvVmϏC<*uLigMK쁲O;@S}aqB"@=04EeX2Z
-Bz3QKű 1fRKPuF>ƋpZ C@{ ~P.w~7Sh=VbS8 ϧfqEoq<Q^ÎW@"fVT(/H>
-/][Uك )q\Jfg:s_
-4)EqZLs?\wGϽe~zRWQ(
-;1A˯=0V\4 /S{"~t[Ròxi>["q@h
-jM!;lظl/^D۳egf% Jax 7۹Smޫs,?HB|OtofZwyE*uL 4 EbOu?a4i+(GAh0Fl%vHQ52 VLvyg`c"Q朚j.\58)+/Fz8}v|bׅu'Hs bA`a0_?&w#\c6<:2uA>/CƍVO`4h  g^7}ɐîO#hH{klTj
-EDbj.6.я7KͻS~4gM
-Svmݯg,(D$s߭2 !g$ҕQDNۅWk3e (7>kqDpܧ4
-8W98SsݲQi^t<[&W~|f ~WM3텿 @6D,mC$"bf_`^p5''"ĉQ".s r$+ċXb
-ͧFGN U?<Kݣb80T?cI+:7 3O$iQ>ҡT./ü
-?l?#߲><yu u򈠋jAAQj=/mTFj{lJE‡CAC] }EJ(ֶ;-[r=jt nI$+JN-m|V6ߢL
-܃<[a2,6bj t9wI܀c&a'.]\tąP^_d?w{*3"A
-<Gz]n?N".SvK(ZZ ReY( rAA-<ņTwwŒwf
-TD+
-P:0nJr l:JIg^ Vz-aQ]ģL|nvaIG$=MyDuc&zDG7,omX"'uͤu's/~ S?9l;DD* kn˳\Á&Ŀv-hyI X2BF-EnƱH-o` cB-ԈRqWk`_bR{D^lC[u4kk/ݘò0&wyek?ZΌloݔKub,F=+BNy6ׯ?Z!M~s,qIX!ҔT[#q@iYi\b#CY Ga,7t7nzwp<cdH* ^;RKX2 3.Wh>ij@{:RqJGފ1lXt)p`Ār= "Z%Rl{}fI-)*SRBU4w=*dI>g66'
-xQd,)P`Dn8ɒ&{񙒩KTi/KL'3 ~};ƞ@Fժ#Htv<&Q &a2|ҡ{l;|YC)%*Y EY)h=Ǯ\vorI=um`Us
-/̞,:OSS&s'%@硸-s:0N%=>rH2gr1 u4@0k.# _TAoOlZ0x._=P#1
- m
-aK鲋VJBjW0JoՏ]˟ 7s*:C#ϭښ@@#ʱzPU!M_{v$<Uفw1*'ᘯSuVeg)W
--Y$>K#,N[P}t<A!H>w~s Fv&CmPEi$Λ?5צF2Q|!WY5xU[-y iVpzwzA,"׳\4zm/=g
-mu`WsarU]l+ 1C"N=٦4
-S6YPg (R ?e2 yNSKPC<>Wtj/P>"0Db*h4, 5!I1Lԑ^HZ9M7duRWz-,h0C&>2\`iٟ7vCcno;L<pʮ0C# uJ4xsd}N;~onw{^ 7#r^{ =&$"^Nf|{
-ܬ aʿv7v'@Ҙ|li~{DƌF3# B6<<+<6Ͷ xsdK
-֗
-p1*)K)7wσcƸuĂp!tj\,͏:Ϯ6~DĶB9&qL$nuN d {@aKTPQTs“
-/ef]#,ZrW-=꽝6jOBj) ßC?7Pogx`,df0.$QGriyA"P@^)/^.2 I"s)][Nܧ[ p!pz׆-XRA :Xhz.h3"2a^D0}P:X:inɨa/(# 0:L:e^F(儎Y8 txnX,m_°$b]ۃA& xy܀aB*Z$s ap~"*tJasip{%H]%SqX
-2ŻA4LKI9B$౨{'WNI
-𦃹
-YOly^V` QB,0y iIZ4m'y1坡!_C8 o' qm \΂\Ɲɻ ^,autpŻ%幦Pm~hX4)Aqܘ6VD߁'*;̵5dO.X_'0 f>3bP
-=zAqYyxJ^>RQd(յY;s^ ⍡g'/}{ n&J(s:_11-R<f
-b13X
-ojUu7ذ2T_,msCE<鷓=2Sw$u#ŁmXggw}SlO$'{Eg~56Δ
-~3^<@ sS:xư֧>O?`$Ic|քMDRQ|8g
-endstream
-endobj
-11346 0 obj
-<< /Type /FontDescriptor /FontName /CVXELO+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /Delta /E /F /G /H /I /J /L /M /N /O /P /R /S /T /U /W /X /Y /Z /a /at /b /bracketleft /bracketright /bullet /c /colon /comma /d /e /eight /emdash /endash /equal /exclam /f /ff /ffi /fi /five /fl /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /o /one /p /parenleft /parenright /period /plus /q /question /quotedblleft /quotedblright /quoteleft /quoteright /r /s /semicolon /seven /six /slash /t /three /two /u /v /w /x /y /z /zero) /FontFile 11347 0 R >>
-endobj
-11349 0 obj
-<< /Length1 1923 /Length2 21318 /Length3 0 /Filter /FlateDecode /Length 22538 >>
-stream
-xڴysx\ wlۙƶƶ9:qҤmlNc5nϾ5̙ۿs9CAYQ hoƨ
-t3ؘXX8()A@kG  
-dn‹@ :
-L
-2
-L+fo6stpvvqG Y;SU((x
-q`rpK?Q y>
-wR
-!m8vB<m2p_ BGyi>$?bm@ls__BIM& ůdG9:%?3ZZI
-'de+j- n.'J!8 @Zb2}p4Y T(gR╹sLDը\ Іԩˊ? xp]{5fp~]k dhQÓ6S `P3HzP c峜ɩF*HZHtK(ҋ瓳%ʀx9ywk&R2ę1~5;HځTe[+J4q"<˘T^QF^~;dumk, Ǿ;M;K>N+h1Gy>b*;#&Y =
- _bc
-gʇDZ:X!j9. ~G͂\ [s4
-OlOb), g~jM'{.'/./NiBoodԞ ]H:\+Pfr: JZEE3/0+j[g],QU>d<^ܓ<G'F+y7[@ZݒXO5<I.Nv>:A2C>jÁP/ ȵ\(Qe6͞ 4+aiOoN˷oLm.a3Xhg
-<CZ1@6>zf Z|>S |+Qԅ/}#2B/VU6I:q-gt$Ɇ0YQWIG1
-r LWpT ]Dyw8A}/lì5d\Z{řS?,Pm~AkQc?(:g]Rwˊb-i[#7{ܜtE·ŵJT,%1_uaJp)6gҎگW&ᖦd-b }G8ݿ_. sWg3pBa`n-tS4>*-Zu&퍿Uplܢgݑ.\!:VR\`Gλ7s|V&1*W0-DI$\jk;;NJLi%JK6˟YlEý*cwCsF-ԟ_Ȭ=UdfvԉaXgjlZC.OؼB1YІFQ`|&GaBQKA^^v#Pʈm/}"ᆼh)P)UqD2jh.\E7|Bh С99! Q5Ytr 0VM! 5V;<|$Ke
-EcJ!u[侉>Ip9Wu!aU7Bmt`{npꀹ{Ӏqc"z0`.<Xy_*R- cFe]NOw_ I'n/`O}yӍOY#Amk ̏0zul?>alQX OŹt9q7ӹNr HE @KrS+@h*?~&]
-gr2 8sɸR@n 54Ӗj`k
-fJm[V.:s w} ,+%,MlO#B` S$34COg^硝9ҨʟapF[!11%iE7n&3f#ǡR6-$4/p@"
-E.(c*#Sv[FSJ4g+M,-1K$,@ o?)(Xi]H۰N;Đ6~S~`'iAx=D!&
-էk7K)Lv_}+em?*YÑVUe=5
-BUV@Յ n &m\?l'[1)E1^qI |+vƕh[Wr5/tcTÏ!kT]רb)Ӂ쩪A=fkW)49q͐
-lT< ] %Cèx_=m2\k>͸ AE*qlm&Z`ly5?L& NS5
-6+;\˕|={Ƿߗqu4҅ƩmIS_j[
-;BdKNaoiPĄM!?>s}ešCܳ9iNq!JN@6nV)s%ʒ;LxO𰂵0̦bD1WC?[PVⷒ l4nC"ܝLn"#d;In|:# }S
-kR^ il
-PY4t
-ߴu,"34 <K
-<,OE{6KW)cu=9EGcmrX+m1" -$5"
-W |Rbcaܙ\(P;5K]Y;4HE>d86bL%vNw6͇9 K5tp z73a;0~A}Ŝ*1cv; @[fR<,vzS)c5ᥟ虈-ӼnT)t֟&(
-rN4g3`֦~"^~H<;># %[ږK{&HuZ,<եur0."l
-`v}cV*xMs`S+<qoدϦIa\ xfHLŐ&chYd_c_ d5* lƆ%=Hu :i9CSb`0Q/~rDD9 b+t4/,Ox]x} mh'zQ ,0CCUċ/GøW Q O}y Z
-`G&(7/y@Օʨ޸2cLD(* cq]R~| p[iPnL1kkDF{?,&bq\DTyWEeu}pNt\0I;`iK@-]㺸ygاs&U2F$
-H1a7 ES+XhtG伖~DDl>5#z@c ?}fU@[2N& 2`r{!is,yٷAN30e e!5cd GyI烄vU w&C_·ju^@hְ ‧ۤТ-W#1Q43V+cAp"#^Úy.Pb2GRyiu})H=ޕ X|ծ@9G]Sh)$9r 9'7/m[+d5WlGe~͜p[W WE "%tѦ\7*5q]U9]:G]_S+KAxd.F1a HP6b^|bQ7ܑjU_YupuK4PfFY3ÇU.gڄ
-&W%:v44YC{u=]5, 5H˽!RW7
-
-j[6^;_Ȯ~lukI0ε?n٦
-^Ń(1vǼ+qr@Iӧ5 / +iAkG᷋yfZ09ʏ?Q((YLw~YSGfV"U9H8pƺ<)yMH%]&DӔg4@/o/FgBh-
-zR#zb(TEpǠ#2;F{T^dvd[ރKW9iėXW}>.R_9ofB!tAmuB_JN^r$׍
-E1BxZHSP3,peRe[#`OB&4w>P@yoZ,%o2ɽ#Sۡ'x JfIOi cpc☓0D,>1}>" XdY0hUK,'D ثPSPMb^Q[S[t?lĦTH
-c7G ( E^}]GQpE~O,[Ay`yt| w xw<SUGD}}3h5FLMD>4apSaqF|Hd\Y!8<h =ݭVbjW-4"Ťwk^M&@Ac,~t#rO@qRHY}Ս}ڐigg/f ;v{I3zsD Gޥ5ǽ>2Q<x̚M~z+HwA 3j83LS
-Z<.xauLvgmw}ٳS=lYWQUkK5=3Fk.{~+%N:~yf>NV8S ckPPĐZYX9^ au1w.e(]%UJ|JW;X$;Zɇ~,oe;.FXl@\J ZySUuon;zfǷ]zWB"]ijJ@DEtN7h|T<`޺HڌLyFxau^,2NW$- ;7TO${]si>La2,km7[uxXe^ uPOX^Ҹ{4Kil{jO .ܚJ9eg8 3kF5'^_D^jF*}r3_PC@1YOaNhI+5ߕQK1Sc'7Gc;vI\lK-i%K֚bA $%D_q`}DS0%f7&cPHV0IF  vE"d0}{K
-U
-&r1q| dKKЇע M- 2G{T5ϧ
-P.]{yU@Gv\B>ἵ@pn+01qd4_KSZj9̓+tˆ|m~9~PǾjoC;BS!|D_]eߞ 4(WvDAf&L>AN&UtGB\{j!zun8gp~an@h>ڏW73O'jѡ$Z w:j"S~Lsі<6apyl|
-qYZ(յ3A,JeW*G,vL{ u|-<VOǻ8c%^KGQڊ4qdS bfuX2;z }>;Imdגy&jAzhx͘K~@\<&%eĮBfֳu1n6Uw׏̮ eDZ@kZC)B3LS/xռ.Ú'_[.e9@Ya_اG\65dG
- MK
-2˗Ue9Y~ZrPDʨCBzZZ>ӵDTy@$;-X#^I+>Q|R57D*i;yNe]EuH.[{Bsr%L\TP(1{ßDV=V6z ژ"djj~O;iOżGh`e wrgA}BGl}tIή_^FV,*>웟o09VpB*@I**SQ3p?Zy@>GK&~${>Vʚ!3VQ@PsgM#Ad߶nvԼ|DjWO`KOƳ/<;
-6vCX y˨X_"w\5Ч^[GU4}ވ.ɍWKNw)Į bIur (C ً?ɞg|0ss-4Ȟ!d>| nRz!v"=#`{>Pf4Te"x4۳NPRVH[]tH@Uֲo RuWH3&_EJO/ݗQA*d)jn9~6@/#ꑺ7cUR!.,uYQ9r'SB5LVrO)#9AMIHU^we^Ԩqlo)W=J+\f4E>Y&o8(X2bˆX߱ ~<}bfNm(FsGwVg򫶛q<.9BuX+]u|W'lSQ
-Ed+
-_ ȰHD<MzNiRۯHqգЮ%I)]gѼ
-Q#^z!-wbH/4x XPAB͡jL?nf; ?>c1%„8
-6yUJjUW{Rp0@^//dEbѯ-參B+\UŸ{[ o=vI/*Foa$N|;t!4yď!kq1+ :VruwG >q-*S؋ EjĽ 8!m$Sv"TM^¡>!u9Q]XekˣRQ)/iQk8 8)&O#.
-u^5vU ؤ7،$+&y#%R8):uBTy |=ӌȦ!VKQS(V8#K+Tr<yievVg}KX6~~u(_;6P&1A.GʛǏ`xYCJ0ƺ28"4"}o1 Z6Zp4X/99VⲀ0,m=u\e"ijgC׀zt,OJ.~*Bu* =xsοb4f~Ǔiɨ?9HY.ƻ#@$U
-n }]4}tt_qU֘ԃo
-ŚC=`֖s -PW9DLH,.%ݍ\G=].-3>Hg|lR.ܔڛh Sa?Z%ɬZu^i
-ېT_EK#t)FHlaOMX6[dG$dA6>ѫ薺5L6{s{;I3 )l@ا3p͹̘)I5]>\iփ6k%xy>
-+^XT;\E/>-pymnsyT7N]@ cW̼$X S&[Q%DWR367+^[uןj5"N(JT/c'ۿuثKE ePbg<)$2pJjCݦ!c#ҽ:a6be6cgZ_ʜ_@xr8.DNq̾eJlDH`歰L"Y#W7ܱw!pB
-:p鸡ʹ/H̜\^n$؊',3ADXH
-^.Ϡ1c~bk [HDXgMTH%TDf{Ăqxy+rp&&@;0W遘lY
- \ *ZKVۏV \Hd;^\-d_\|c󛶓'dܤ'>LAq@}-Wɼ74|_+<h%Txr"eh>g*}5; k˲Zg h*z׮q]v.6ǫZgGTjC9e8*اHMSXX})q7`
-I3ĩ&ߢq4ݱ*t&Y
-Ω&<TOr~{n͕s1npf2i2%( m7]0/`GRSڗ׈%5<Ejd=
-b}^=%)! w3!$5qnZ'.q2[xKc^Lޗ|# ;CrEb ֯:j߀F:)딫dpkḅzQ oNԐ"Ϝ
-pbl_~,mڗ3,? )>Ozp*|rA鹿S86 WYt9k}?aCx|\afT IC7`ΟNΧ=[Gcrו'ǃ(L!PpkBT/ۥ=H91[EG]ZS1)-;za]Mm&Xc>ִxuH
-ޱi>>Bͪ53@iy>ď} ct3HFC wZ[!zz'NK{5޼0wl, ,$JM{L%PmrO$MOZ跹KE3V mu_B
-}{`eg0KdLk :BUx4q
-2d,£fɩۀ:5IqtL^"_ƿ^% Yܵހ0ȉ `^%Wvv, s2 b<
-/hu}<46U9BB{-`t~HEL4ȃJ_ ԃ |cpz#uc᚛ޒJ̡@"F6iSSK'G,!.kau7@
-Oux|(u$ED/}4O[ic(JIT6}Ĺ-Ec,Puܶ\+hA ?y+G(0%t; _RBg_*^=]/b]$voiy
-q%OCIP;P:Eu-ν02|6|
-͉p`2;=0AӜ FRWwH!
-g2 IDo£#5}쪍3
-lb{j|S҉ͮt?njWR=F| S#rzVa{|Isͷtx6PzQ{ۭls1we*6 dnڊfshsIK{[FPտp$aE46BDW>LFRCB>#K1MAwBG*x*5P;M+ӨLf; KK\ ~Tr
-f[ eU]a VĄ5YKI4wIW}Q2f~.זּ+qن&ͦSS:f˨n'〿5KoB'K@T''\{$'Z'p<Ճ˟y[t $;Ϋst)AHP_v {; buisP?ISg˥aJ*?6PwB\x#4$Kv~eXe]~P~1|9BuG(~s偛@Uv>0ճۧɛ :oi'9+@@Hͽ=Z#IPӑ’wnWh=6 :yUy;t2`6bU*S*;e <23S(=NN"qꕨ1Kftim).?5
-݁IOQzxZx6=lX)>~T>A~_]7d<Iυ#-8GY>2g58Zǚ\ `MD{;>V+ a; źWD olLJRYci/Xu0"@%\vu79]_+鐕;SPG1P9R!AXp:]Jy'=`$&
-KU9NĴF a}On?YSyn[*!#Qr5iȌ>+YMQ=Øc/2@sAUBW4 5Vmi95wuW>Iֱ["7viEkROz=cӫ*Ma̕T.FaA[J92+p66=&lFyb'Rǿ6BAdpQ82'2ijhԭlBQCܝáXGz}|D}5ci|5ۖEazNGXTdV%ٿCo@n:(q';yH.q~j_,Kj mtB\!:
-`[ 1luHgVNt2k L%e# &B&h05ldi?!"TVidU}TwAx^yb*jJDD=&
-<nm3JP꛴2qLvL&W oqvMB螷t-]煉;^`Gd.F{QF/~ûέb MFåL9ˆ4P{؁; '_(Z|M:6|ܷLVVHdF3Ź}[;!|zҊA YGʰvr!϶$N\ȓRu!xjTg
-k P׀(%>+ lP4w}2٬5Y!A'㑨2%{tZ$ޘ'-!%i=i@J6lT=eX![Зt,Cs$(1M.NyLwNC^8ԡ 5ږ!Y>5;.,9 У<=BZj`
-#2IAIg2ewqP سT-^FN<rneW罽32᝿qmW8#bb)
-"TypDQЊd粆%I =0@şc/%ΰ|@B^INl5H={1b`ᶂgv,)!ȫ2)=QR=`QUx0.m)Ү[:ڋ 2բ
-8t1ɕ
-^*`F+%͈ cݵ<>[vcR#X!&Pm63v{zqJ"  )=<)nZddeFG.Azca_-&נJ3@Z[(;㣕Gjۮ=XkU"32!r!2,:z#ð~`1NVcqax{|"<pK'Y' _$)PIµ )|w=[Bmh3kͰ獤`!e04m MNiT?Z+v@NNlm\
-VV ֽT#0@ 4/ /< (_¬r^zqtM|8E+Z!L3R3 Qz]OHr0p$((a7@qh`u9.DO I1Xb>`U[[e쟳nOV1-Z;ëdo!Eǹ a3p2E'ρJ~ R4!C/{7?k z\tm%0-@_z
- 6)<
-oZbjzP䬡0vy ۳B
-o
-/Zܥ/^AEF@[2*%ngRd/Ouz򼿛|=9.(Óm%b&A 34C[ h@4MHԑ2"W+MI d${w0"CXо@"̓9 -du8-UI;7=?ǿs7WhQjxj>r C Ji/ǷcW̭_07St|$PuRv6v0pJĂ_/uakbs9NH uCykbהN/bfp=ֈ^ F`ܠJ[@p Y1CfPR nI&*X#^t-ڊs&-x)8m /tj45aQ.4CwRK\4Q@S ݥ^}yc o'SUۺx_V;l5BVYL,9[l=i:lQhyimب0{4Kj>&L ‘:%a,z8 0`vN(O3EzT?_Π੉Epq~)t%ֱfVw}|.bዔl\A>0f[aKٳfUUK˱2;X_>/ j.PrLɷM=ztQ*@sa^n]Y.Ј̇->,kL@}%y%GC''>YRt;?ȭ
-A_
-8hvni2Z`a>É X;Cv92d*` XxeY Cp[;  6xAi;]g'wZhIw$ꡁ@BoOK7h"1i [yW7S9Al vN3D".:
-3~1")
-O[6D?o+i$`4ϧx|T/LcNUos"d|b)&i7Ho2mr
-endstream
-endobj
-11348 0 obj
-<< /Type /FontDescriptor /FontName /SQWKSL+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /F /P /a /b /comma /e /four /g /i /n /nine /one /period /r /t /two /u /y /zero) /FontFile 11349 0 R >>
-endobj
-11351 0 obj
-<< /Length1 1804 /Length2 21821 /Length3 0 /Filter /FlateDecode /Length 22965 >>
-stream
-xڴct-mUlv۶ӱձm_]{>72{^w*2"%:!c[C=#7 "L
-CF&
-NFf_~)'O ٘Z?ߕc11ا,,m
-*RS|]ր%3] ,/`V[yå.WeHdS%W k"펲<LWnDP'iEʲl_p%[U6mAG|_Em;^7!݈:}3o|gg j<p{)swu}i䥘4VZ}~+fͽI޴<tS}83gr4@WMfDֹ&~pab.X'0HC
-'4д#Ԑ+{\0o\q&nup
-u@7/{T=}5dZ역cIWj<ڶkGOz0
-T2OwxwėZC9᭱f鶣y]wU!6jH,"7k+Ai逃in=%6R%AchBӈe։Ab&mP wiFѐʲ EwKy c3X+eȭ`~nHMp{V"HF@4haW KI@D8{CډW5 )%}%'B-1uFjZʤpvaSM=vlV\u*a:luaww^RZ-ᩑ^
-2#ki}ޝ>Gf}v`-hd){9Qt]f.R4~܊I_Ƒ#gۼ/|MJܺ#ѹiXXȠ ǒyH‘J F-b-^EySr{iv?ՔQ簋9G{[_רX ~;Dq#e
-nKy&?met|eZl*9%78e6lS:V⾝dnT+(zyfwdDˣHSCrYBSIPrAng/r+w1z~׎m©'vsn[ʢFo*얙u~tazi+U{S*"K#"_v:iu,ٱ
-1JbGpROh')~=J'S_0^m=asw_3D
-C!gkH$xVIYמѽF?N_$>a*qf?yFrLO&A|v8~s+{=:I T#?7 Q/m$m+]1hkeApp>$hL%)ee}/nt-_ JT4\o<–ŀTeC}o;svYX>
-E.bSW$9ӖCP6ܛJ,}sz3b&2܁+ tV
-]!h<A2O9y_)s\ {ɿYCC`԰'uT@1v`W(s(%7qۄwD#Lv®"hu2g0=`\~'}j4]YSUpTv%!Uz:#&! 31;:gܹ<Ϊ'W$ 䀚erթq˕t{6; Pp>O=_g\-(GQ\qjPa`P hEh!A
-bNhP%AX?LtK-1M dxT.8VX
-r=\tE;o7bIiþ y_
-> pODBq!ÍBxB76Wų?] ,Y\`'c(
-;ϟ#Rq/r u8ئ :
- z[ 8 SD5gFMɁq~rMUmUxv5ƖF&ąJmH
-~F&eB1sVKGS"G+v LwA=GGYIk@0 BWR'Dʺ*ߥA@
-yWnX'J K&K.jf l:9Ft%u"HP36T,0Qe̺p@eD]_y[{W=&Zc7ڻ<k-?8ljHAc
- * RՊb$9lO2Mr56RjZ+o6C < '9F|a=֤Mv>*Ë|bee1vM NӺǿ^_jZTΓԁD@F6; e4oG=tAk6$hQ&q{Z<)J0|dl|s5ld$Xmti넯s
-}f
-)'~vL{dr2(h!P_\ds;^CN8QTƴ)s+:YScf
-3=3XAf4|Žq!QrlPG
-ޏ aͿ>JpAftHI(Y 1Зtû^޺TV.y>p }85Q{ A'dqz&ˤ["1wfeh V57
-$S"q]Jwy̐I1Pd欞.W"9V*;l?;<n\.?5ۨy{KսʖPi7z>vMfIq cEeL8I5y4=Xr^y)Hȱ*Q4<dwYeV̥$dPpC))mS'o;`(d~{3d? UuD ®Zܽr{q0z/KȉCZP,OzzXI^Azq}h4
-9k91Y9m.v%na{`[jM q <f.8/"b
-)׺030FjKe ?G-y[؋Πdza*S&ju-C%WJ86Z2]^_kGv]#9ݩ3B @
-3.ɌnR(Kq20GsZS]hIR! x{ l_nދ=[ջEɓG=Tr+|="SMlJ̬uxbTzAQ_w \˛JxwZobPQE`cn~|L"XRXA0A` fp]J (J%׵u* Ʌ`
-QLN8UIwX/37͢>lm`8,M)̧$ەNTt͑4PyGO濘یuSXdNmPĿI|˙?TK;@@ mWfpRIcGw6UzJF!Twc!OxYu`+ XS81y*=`QtE7՗dMhP$8 G%+ QD:+dŇhJz%Մ 썦Hъ_gQT8of4,0or. e rԣ( p\ ~ heoWrȴ 'OL_YsQCiHO.),Nw8TC45<ڻn.d$)qTv#oـ(vO%|G^׊E›rH5S s<[w|0o CP >[fc5ыw 6:s<K1ɝDs͢^v-&E+&BTR[Au{<g$3(+9ૐTv $L9WQ!x3Lj}*D,;E*\Yq/0ݭY>zKC;((t=d{{ LY$/=$}Ke]tx,) :O
-wg#b,VbWikLPWGjtЁ7pr{2gRge'J[! l)VQV
-$~F̱kC7>Q5|vOHvb~YEF Zc[iF}}K_~]hS.2r_@w["v0ϋ &~ԩP-f
-va$X/bd)D}M?2=7Oȯ87m@5'72Q^9q؋Vs6d^+&@nW̔V \K)a~洛ULʪÎɁ `R@
-C8o/0tCT7XΑ:vRQ$ZW7 37!hhCy>KF[ˈW?鲰<[C(*sBih'3ޯ9R9Y7Hrɾ=} 80ڽo8t%6䇴C=NREjedEF<`JCo/J )1[c" ҋEAYl*m<bK%8cem>Ik\@pw獪JJw06әPU|_U+rIICȯ-|_~|({*_:ze0F o$*~
-)y榑yz9n~!֝AG& tږv[\;gI q!:`~.*Q .sOTh?{#-8YPQ
-ykeWqqj?ᆫYlSH}v/eߢ<4r۷;۽zc`%2S azf܍S/;;1WLb5 fT:MS$db,my-Q0OAhr3 R2ǣ<a9
-Β*'ՙ(|RN`Ov{^IE5/OE&i pФJbl>y)ޞ0E
-*a2s(M:F'=8=V=-@ i*|4[طeTIEJ| )E!lh?-n޳E9W]9$GfnḘrd&9GfhkRZ'@?A>t72q(L&ݕzO ̰ޣ qhޛUd='>҈^hFy=Q2֥)d0W|4Qa#' k"Z-Uw@05jqtzB@5(?IB#yd<V/ZQ2̽4j`TA^-Te5_Q7W|T q>d**Xg8D:JKe% _-CBZP> >?aT=! MÉm]0RkIc+Sa^35+ĤGo|P8l}毈^~s+=Ȳ*IuiN
-/ZUG%'șBU)JYsn㵑9'+&
-{V3uyl2Wu'P8uz .}2W;\eu}482'yz=G,yOQ#bk<ALJ'V^tXO4Gܨ~v sBk[R]e0SZZx,XtLa>׼cmWF<$eop_ ݗW.~KWu% e' m?F +x zjt]zTr>ukWɆD2uWHKv]Ç!3)<1U%A(x4
--WUB_QT]m,a7 WSӥ
-xj e~5C:]l&@b6U׼!iIxNKYUhΕΉjTCx9fmT JzcVJ,8xTU,p=@Qf,T&N H/DkjXs"V;U޳aC̓%^O,?^9-omkY0i2|o,<P$ݢMn6mfg"B|b+dPaÈ^<û(@ lB"AְPRiHc>
-ZC+%+0oYsCEEҗӢctOrg Nc&ܹowϟXpo(sq@3JBV|aV {1eBMEzP6<Yc݋t.o5DIvY&02
-pzc31-V1j(;\JlV#LY"!XKgE;HD|R^bǸnun#GoG`UX[Yh=zI}0(eO]e9+Fa-vdEqШ{ٿ5W8npvө=% 9KF(\^8UIq
- f.^΄Ew_3cӱ+?J57 LUSĊ%p\UfX89Fs:7 ~,W nw'tvEua.L3fGH)X !Ggc TzF:cei RHPrIY62˗M[uBrL"8MI H0uycNJQ ~/9#% tZuToumʈ'r%R\ c@ k5edB` c3o0U:$'EE yzbІ*Rw]=J*MzuOi+Yqt4"\
-)
-\R+^A-ε;2o
-Z2/wgйtAw M l=l][u݋;“ZUshĔjJISH{2js&8#G]̡k&;W+%j"Ouj1(4A1*
-:vѭ8ivm54I
-?WDY=$ZGсK /A'\Z
-'
-zcқּCPq-lXe$@{9N,dbc0M#¯E:<} RSljZhe$چZ?0b[B3U{lG 0g`qs/7oUC0dل7` q .dҬcU D<@. LyA 'PO*zI`=6 #Y$N+*anY&plc*}]WȞ]#")$D4 %8v\Gã?%y;oW
-)b ˗֯REF 6VT^OptLSQ0bnE3[[yeu%wsCJuyPBb#x<2BCH9^M雿VN8[aVQX!k.^[7І"+G\@xk/UEF?~I5B>NeBvYd1ƈdA1 HQE|K?>xWmGejr*Fm.%Gԩ2ɩE/]XDkb,h HZ볆atTb>ڞuW'b 0-i3ٔo߬rܗw5 4+0 Y\lp
- VlS5FfrTAWԽ|H Na!F(]A7L5$Pax'vB]a߇S3E>o^Ɂdչz Z6(g C^6^Ċ0AÜ%ա*`gߐic@ϔ*¯zJEdl{Q9~8b\Ej>f ۡMKXӧP?C@$U#2ܿ"V&Vg>8-pS9lN[?'Hyq^hfǧa"wE<%e+ឭϡvbM-EƸ {YHsSJf^ʩ ˡBa5 ҙ9]l-$k5k9F\to* .gÎ_Uj(
-5hɁVE 䭫FDFO4iՓs%cCNbw|+A@5F+]ZIiy˥Z^ga`QJڙgme4^yhIs^t
-
-
-"X yhK:+Q"97P 6G#p
-}DŽGp%j&od
-mw`" 7i45ipsGo]eQ"\JȬ~צ\.7nZ]fTϿ2& ڼj"E.Pe
-Ŕ`&@\ 8%U[ΨM_"l)9?Xֶ׿9r9
-{XQIvƢ‚:D,X2VJ ǂ=>0,cjƀ " 8<hBGLNg! Z}z/t
-[,eL'&jS袜qvKgӤK r'8 !AALgQY
->S/bo r %$/5[m'Ao-z'NqA[aȨ!7+
-32 ȵYSh@B}W 69AX~Ƨ%:|CsȄkw)0sJfY X b&?)w$p t&ey]PQ E[Ƌ{CI3$@:i[uE6DvL={$9%C^ fHMTTl{(hAnӺx:*oꕧ^9͘׶ Z6)x;aYBR֍uHe;pJ73ԫ\7|wzW%Ny,0E|–6.[z& Epo!,|_,5
-$];g3Ay 8Oc
-?x> _w} ,[㍋WukFf|ZʗX>\JI&p["v=WՀfXÞ4-']O-Q6)\T4貝m+zHDX1m)p_N\9m->wB442 Ȗ~yG_$ op,юi{W\9#<wQdά'#Kk\`+JM9ӳѡ#\PhɬH,톋CjH@B AYdĥ}N`Wk(SJH}㢒V<ېC=."N~UB?"%G.&چsjO@o LM! A,Ze*T'̞$kD32BVe˩٩hbm4S_#&"z"ʃux%'뗵RX{uMgjrcCi"n-.PYNʔoi3|:?ӥ֡G< NfHQ[#hÕ1V T Vt;msp Ч/CjdͤqϿ?SsͧATR-24nr;
-- .pxҏ _HzR;`mFAV։N?RG[*B/lϩՊ8f5h <_?rx 2Izn瓂gt
-
-&et- 4d[n.iC@e]ܓe,9[H yļM ✳wP~MAe!)Y,,M$jg >.^v"r#,s: Xg0
-;n?N] t+WFyꀓ'%PnC>]ցH<M@C D.nr6߲;A$RtPנl ΰ"l9:mYZ; 3(1O 86΂y,6 WTx2WxR`J
-S<|
-OfMقْnȸ:/\@ێؕO 绦
-?FkIͥ=S,r4Wm2`5q$FSԡ!?dB>X풪qv؇i
-krЪDȢtpScW;
-gs*=-QeyK#y6 pnѕm$ KE9U "UdER]_kC\,ەKn>U _f_-4gA+:<ۢnIݨP?\x4E#a _ݿ8ew"(x%sSw`\oaQ 8Nlc}!DI }&QRnjM3>776q~T˧T_41{roS{M{68J/)!* 'eh%1'DGr5STQsxWPx{y)I/Y,B#jw݉
-EIݒ `!:E@ie"OL
-G> -ZG#T,293cp׿| Q1̕eF9<_?駘؁RU7Z]C Tv#U-NaFSۀ#>vBQ~SV5QPM
-eU
-pyh~>E\7r/Vx\=>ZBŋ߱{1-h }zXL0F`j'=B`t 4R=9in(%5ˎ<SɮR^ԅ,,6t*s^Lc3$({
-r$`4TV+;_q/MAFGہė`WRޢ IGɶA5q$, zV<'Q'6UQ&tf=C-rq_Sa7E=r9|WxF9wIܶhhJ;̝UHaH@dg|3P.NDhzcsK3
-endstream
-endobj
-11350 0 obj
-<< /Type /FontDescriptor /FontName /JTSGNV+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 683 /CapHeight 683 /Descent -195 /ItalicAngle 0 /StemV 18 /XHeight 430 /CharSet( /T /a /c /d /e /f /g /h /k /o /p /t) /FontFile 11351 0 R >>
-endobj
-11353 0 obj
-<< /Length1 1790 /Length2 21416 /Length3 0 /Filter /FlateDecode /Length 22479 >>
-stream
-xڴzeT\˺m ;ww ܡ=ww];<==RӚ5zMNL/dlkqgf`)Zm8@V@
-t
-FNLLp
-llٱaprsO>!QY
-)˟*$f8АXNj$M\/VVG'ߦH<u%rGILh4[A5 ]nɯH:;Om&5:z,2zDu-ҵp
-m oi#&+L3k5* eӅ~Pg9q]3V֨s}( 5q Ww)1I#4" ÅUD3p&{(FtqrK ph>0VBe@#V}*3NVbS:S7P.ke^"WiDޖg
-ڮfQ2A h̙iƯ~ZJK%EԿ͏TDWa !}Y/i1*B"["]w E/Z,[>NjhG^!{Z޹G/ 1i##歚be%ݺaAXGX~f-(/j4^|o^@tpz#eX.jg*gr &1#^k>vlyT~
-<`Hc'&y2:(]|4{-/MkN
-@,X2n5M̲N 0ͦ5Ƭ9}as}nR|z$%~~^w|>*(Oz3 4P=Q1ob.dĘi/CBjR)i.5b &GlwYaܚEO
-_GI71~WL{J$t>653R_I}dzY=ND@~ϊEVdtSW$eݽ
-m2_[hS5K3O=j]~ih@-XS؎/]߻hC;~EfO<(L?/٩i٫kCP
-!>"|k6MJ)+DZr\J^%pPTe37JeGu;6;N.0q^}AZ>ڂ^{5Q6NUNE
-Ջ`f=cBL?ܱ36c/cJ )FXOc
-KJ!$6+ ^}ِum2(Ws2!CьFdnh+[j]tA߯MELZObG$fP ExDgqSaTgi
-dWjh'ӡ9QѝӇ:}lЉϝ$7tD!1{,;,U$K9_OM 8R"T#+O0_ṯ.?V]pj1hs3{"'Ey .gW ZzXP׹H1I+Z-T/ԔF zU v58}$_(<zviĄaarڜ֯3[Fvѿ2|;>XBb:']$ QlUz1#aM5{
-JY|F-Mڿf\.5 W׵ ckQ֕k`#Nh1S)"{~v[0o<,p2չ앧~%} rnRC',YkGR%Fl=X=/ThvwJTlIq>DOeU˹< EjU ۨ梖4Y;W*Ȑe6,+/˻;&Tarp"]mc37&zI|az6!83,:fJ+7% #3e,*owdctt_ s ~+awY H89C-g拘_:i^$x#虭nQ
-@ƈjUh!Lwz FYuL|&Fb ϐc_^zf)js#(VUc#yFJ^ZI l}]' iIJꋶ\6!)p[ꄠKC4GZaU:^HI$g]zQژ#r *FW>LpIy(qqz:.n#/|B$wz;-z:z^"TG)fic5B? ۯ8Zm$3T*^
-il3e`I_R׵0oJ5"-86b;L)Rp=;ڳ~/~=,HZ" ՜;"R4I.7!a9CS..*wo1 9@@K.Cݫ-N<`^r'j싀 ^ L[454f-XRs?6y2Z@qmqMN>cr\1ʜv[\[ܩ\8\?{8^?㮘#}6d:+DXYɞ6 [\OcXpCD8"|0g#GV>дc:Ce. |A-X(lɮDQ nVo~m +)Y HFh|UrXN*:|U4,/7@ekxT,_ܓ%}E*4<x%IN1v/ȋ0iMf$⤾&pupo == >rp&E,CɞZh",w+uǮ/~:W؜!^,.rʄ:KӞ-y%ԟHsbf5貪&ZfA؊<Y7}NKȋ{k #zN^V(B5tϱ?B5B $S'1d38wgzȇ\gtw9§}=r.im^_0@5J!ъ&&!fL+U\2bvA#@G!s!~lΒE0-[pw-P# I^h.y3oe/fQ져fJ˯OMzK75_}r*G@Jh:UG}~.&.2ilwSRo|<ca]&a%HvO6َx:uk(@׋+-.A[MW,)m|݉o>P>r I~r8y55vP#u.+LF(#LփGCdh_7Έ]
-GYBTh~H/"wcܧ+M_xH_aSas|Vtw|{}.]/am*}h'ѕRm@չLS Q/Gz6|'Cy1
-
-3mSznᦚH^?_GWQq9YSejN&TхZͷmuwi942ʶmdG,9cB)iM)(:zo y"q}gH#6_silnS*2S-v L8aą([{%OT1E<}v#g>*'.4
-xuʊJb[mrsz"},HNTꘘ-_'O9Ҹp
-i# +866Ű )co|AMeb|IkJ|>ՒA*i*BGkӉ:5h@g828_
-Ea@Й[.x^k55`?7o
-H6覓 f@]IRiqkf13a'[$\'3B"*S昲1+4c@Z4)dn$NٕDk] TȌ JF=VPvx`1MؾmT*;4N2 aс
-%YPc8NåȞIw+4ܘTQC
-h;\FfV5O|cTXsKuGq.^8o*b*Ὠo~ζ,|ے7XmInA+ۯPn
-"PG:Љ f]d7.,`KUYK"Iukz=Q`˵43-E`!Z۱kcǒ߿z[$~su3̒Һ(>ڃzGZ{Oި/&'(j[$uǟۤD>KE)}J 8BÏxXlODgEEß~{9N&l킠4)){4qQ(|QoH||G6JP$AO_;阕8$me>wu)3mF̶[~2萟0rQ!o׳*ԥjnAyRAws cp=YFX0#+ZG&
-l ,9fI<ۅH5Û+9ϙv8% >tIK`~1mNپy@l;"p>7Q6yҖ>hu"}Q73|!\N0 O+c=kiiEΑ]e M  u4#ܦ_7吁 YWh
-Aj{N~0~=:+D6f].}y0ܥ OTE,Ꮚ2g\x
-VqcK~Bjs;z' 6HE
-4r
-o*ZDo~[Cf%S@2n=`KR,Upy ^e+UОfI"{}yoXG&=2"&h
-j?;9_
-t%Q&7=<kq CM"{ܠ!Q]2("V}|Pf
- [ *eߧsu`U, O%E2 g)PHݗYK^ $o_CD|͜)D뤻INvO߸T>r})>%u[\1︈DWpIN0[{/~zJ וV!ɡeW.{%G__Ъ^W^!J.
-g[
-ZCyG1n>CPe򒒽@$[㯑9`B9uHiozE$9CO/JPch$8EA4ȓmchTDH^gMe·}҃PBx 6߿ݺY/p)0t˻4TtOfK<[Ihsh+k6j\(*>BfP๪,ZhF1~1lQ/%";Z5M7XIe:j K>Kt'+
-JZ4a\?/j 1-3selWm'FڒC)R"+kY Ek\ڱg>y6Oă;F00Z5٦IXX#{_?
-^ÐW}gAj 8BBb Dz6 khSTٜ]Eyv kTLW9_TS-5FH[?XClH:BOlg!O<ZfΚ hi :pRy(܂6W(&\?߂2Žfy:?vғO ^<TnhvIә}lz?֤% qLCcAoBX{X`=\ 'Lo> ɁgnwtفY b Dc`혅5G~3g'`)ۃkeE)h~2
-J鮥L5YHްܮY$
-%'{MoOnZ;NNE wO[6|۔Oya%8Qp.*X_+_4<[ܫI;T޼ϐ|Z݂cLyu—jT7(6WdjNQQ;6"q5N< Fx$vЛs
-;0,;nid~"W7:0
-ft|=uBFPCLVсiߖMÄrGĵsSHtNЧ GF\6&0y:'0Cz>37ԋ`x>}b" R=|=5d&nBL]dwP6-HO`"<cs.m1*t\^$1F'x 5kUu$0GK[JaQ~ТB.ɴua3DpY*eB_|M%?)%av4ՌjIv&# D-U?,P,k/‡8u"{y1Cd93AcN|wgX[:M3 q&t @8ִv;hk2jI,:DIrEs =
-DzS$:/FB@f+9YN%$3X{7ϼ"XlQv ~r ևR~=pȮp4j %Wh 3 aw_ǶoY|ӡ`GDZo6 wq WL:#;&[7Z,Qr؛UB%"&GU8l}UVߦcAim"U_9_&$=! GzpRyD1|r1j~JOJ:/'mZ۪|<5V5`s9fsziZejQW agbgK8;JE?Sr`bS?hB;
-\eGe!cb=rzC7M.ʙlQDdOUgN<#u @c1u"b"QZq@g8|BWs q@3bah
-d}a ۚWFYޕ73طڑB)pͥ؍F1
-֛Gا%EHpPbzU8)0Xd 9tKl' [?V+ (=/< juY
-@Qbqt3x/^{u,Ivs%nV9?su'E׀N.y.-`AyDQL$p(t,X_E]w%,^J)Ig.Z%~ٷk}7Np gձ{< m5u
-ZT#KCm<gȎfV9VBv =XxKQ
-m1$Ǭ+a) {I wÖK}xоo-7vM-T=]KC'"XL9$)n>`> q+_6ZaGjЪ)q&W}{ Nohm47S1B(=|-RI2WV54A ǓEg1[UV,YfD|,0̏;%dWrsҫ%w ސeɊ7’Yu[?~#J4K+v6OQΪ q*5"AMuQ8z*\ urI ;5K!&65J:I٘}fN mE# _^QwAi>^ p
-fWmcVie~8FrݱXzD▧>mQ(<z}N/VrLDjvN*d|n~93/苙*>n9X{ƌ T4^^1kvv
-׃յvwf=Va1PawLn쮖FP
-UqO}RY͖A}v9E7oűǒ(Č쒩^haǬXiyK@rlJ>h@d}N%DvzՍ,@sRvvy TDI=(ЮA&3mֹ:bx 0c,,~ eL1A֬'ljQZ8/}' i%d_&x_86]n>QlIx gSΡ @<7lC4C<$\;F r"ħ&
-NX[#FQhV9?a\# mL%-)&`
-mQ+s0cg o#:|I<ř؝j5d})h[.?hX3^(˪Sչ8nv |.j57F)0LfsA -
-p)J3z'&X%bȢaQ/V..ۧ*Q=>l"א+uƊo}P );C-l !A.ovoSVA5ty_9!tdS{馟
-xnJ!VAçUu?!^uzHC@z7mdRɑR18p}a`% `S#Gm_[(6/;IoH񧑻*kOt'14m8}X2~;}v7|u"o ~%3WH;"AC%i]y; $ZO!x1@rڈk D
-c:!n(@?Ե`.ԗG^yҋ~2%\zʕ)HV{1ZUu2s5ޘ;Mzi_-ڕ44Q- މo,;J ?zLá)7YʍqpFa[S/;{fNOoM,%%&Fm%v*Q
-CRMDy{$‘I%*HۿeOXp(' F}wA@a|JcO)ȕ?XXK+JfgFY'W.OKafTrzI]]Қ5 %0Vø62йU'iƅŏJr5I
-M[:O4x-m%Jfn |QB aГl.Z|ǐ Ut>)enc}Y:{+1[LMw+cеЦyRf[|JXt@ED3,̨ kfh;>ԳI_LЈ >}Q%ا*4=n5>sӎQS+&hs<ʝG)_f'~(X7e/@$Q{~K"誀ONK|1^ xfŊ-{ٟ# Ϙ- 2aIHK17s!'*;A `Z7A!5.:roR)OǕ導Kĸn;{3pWR: R_gC]mtpaTwCqhIjfWtU!ˋfeau&$'OXJk5JMHOt_L <^8
-(NՂsO@"A}\3T,o lZ{|'[q7lS\I='cX`@4?^2~M"MJ߶ý#
-4{M2>%ĥ5`Y yCa$׶ 5ݝҼ]UR|q}5"%0<Kz%[Y~\= OT4)y\Ť_"0$`Ct5_ {G&䂈LnQ#Q4:: ezN^1>E4h
-'frlEAj}~{d
-*c9 jjZe`D*p4zH$sZ^ 'CV˄(qI;Dp܌_h}Ќ#_ArhO#񯟈R jn ehRdh(s6WEez~1س% C.f!@*$/ "N,'?t@َ[A}sbq(RUhpXOJî.g^1+P0/=~0HG&g^N2%i@Ή(Q3nP^ߑ{g.guo)śe)<r6īK}hCy;=jkINo<'=AvfW>t>C2"3՛a4 ok0uLMH']4y<j<5r YWĩ,T=y%ƽ| WC,R߽n
-,O8 I8.mBicxejܾvoi
-E-^hڲm*p
-diه06f3tH/Tv^ O~1jI`ӗ8Լ%Z۩5)K
-JǏuvk#K$.q(L_AZ0ȵJgY!ȣh$*s_+nb^O1γ_
-l&ypEcyoj_?tx;ҷs|Kt.HU"amZSd||O
-94m_Go]0
-Oqvd?uMit78zVkvʛ! 5tFϱ3+kfE-g
-8sLnd14cՊ Zf `Ӷ_EK^!GHP>U@;u
-N`Sg=a42x0G
-E)5}M` "0~$}B(
-?>>#J8EAC@Kyd OdР@{f1(iy~T>jM-aM64i~WrLT ](j'?-LCn1 A/ zԪ,G?x?n2σBC\*12f$F GpT\RvZ;hւ|c=DKJ,|+IptBgHj=..P> m[WyR R<Wst_Jƹꬋgs]J a6zsGO߾-3JӅ"4AfSc4m{fgܮb}#񊎢ZF<Hq>ԤzG4{>ݿz"bW&Nu9TX& xuv7t\cZl6YU)KNP`)p2N(|w .nu-l,o6LBSH{tvLE@݇ .M+Hm+=~pb%7SU: Fe k,km+Ԕ Vo_5%{q\cҾSuP4Zb$3.>[
-`
-6-6ˀ)
-T{ `xWu=@x67sAt Lf%qP{*Lc1d96\tНwB:TnK<0fxodH M#F+yɢ춫u}
-}t;K\^JnA.G͢q])T=zR>2le"_v3aĩ1*^`OPFl27'歀Ķ
-D`sw>~%Vdm}W[w\R@v&w0!|H\ń_Q3;Yp4{z}bC]VH%$4R첅͝i. E E6Riug >3T Y?fh)LA$s%H *&襞[3iE8{[^jw^o!y2/J
-)r#BԇGX`16xFkA pupo#ɫd9;#/DNP.ߗ _64_q1o9N]vڰk*Qi\W4pH}KSvvZIO AU"ݸ_{֭5AϺzD6o#W(+tnU}Ǵp4\F
-Hp{${9XGm犨L rEU%-DvnWP
-HrFWjXr
-endstream
-endobj
-11352 0 obj
-<< /Type /FontDescriptor /FontName /HUFBEO+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11353 0 R >>
-endobj
-11355 0 obj
-<< /Length1 1791 /Length2 20995 /Length3 0 /Filter /FlateDecode /Length 22169 >>
-stream
-xڴeX\ͺ-{pݝ
-`aEHF3'@2Vth(9M]>@{ +{ G%ovFƿF0dMm]l
-ju>ˋ i+2tv[?z >B͝)
-dj/bK?/loa X Cgߣ I]\
-ptG? a0[}
-z$ocs-Z;-\[i}
-?HrJjөN=m_ן
-> *jkA81r?%o]
-1Q1T061E!hrRЌQ]j5劁`AxPjλNMTQFp @>4uѓSǪQ_Q|AE\1MWrWs/Rr {[=w 7k϶M6\֨_"㛖a0J*6dDein+jȏ `IH}.s?VOj]x٫QH؂Kj+ɡɝlKelYew i=^UX"'qc{<e4Ioa]X硬0&{},X<j) o=%<Nx[Ě+Ūf> ްQyK#HAXB$s%!DxoTϾKŝUh}l=mb)aYXkיa ZE0)<5MttI]\BryF«2Pw
-q9ڨ2ӞBzH\s(|*Ƽf`vƿ~OȰxnECvt,f7tx~8Q6epѣ)偩^{|)<s.g`_Lnd pBʜn9&ǒ̉R $,9P'sM(ci/!v`n1ވuYkO
-e)¯%\eQ_:4 Y-Mn#`j =Պ;6PY-]KJ0Y;jr3owJӲd sQ`#Mns=.%?[D6(Ꝍ3\ܷۢ5A`a[؟|A
-!"& 敃y%1گ^/[e%zDJ7M&?T ҇9̹4-70QU=>,ռ#.xG
-ۊΝ1 ˛%pcD+jF&4>FSTsXSH6n(U,Gt6BMӏ!4='uYrGzT@-4k'&r]xԣ" ܎ qEkӅGH;HHo^w<tp%N
-Ha >u 4)ǫ$%L%C9G^y+MJ%/r`OLLC+A`dM^\[<9BxvW;dwAov?aY!>ySeKvEg7 kq<Q[Y3lt'u*/KqhVj+FDF{ׯJIЈ׭ T:Cl={Ex}.7ޮZJ*Y96#}|xRsnh2 9WQ|#p{[sͼۨbl
-Ӎ&pFpHVf2kSX4h#=t4X :gg[s+٘ٯ$^֖
-Ͽ"@1DS~M/l2TX+|ܬ,>2G(А:2Mc{VlےEĨy
- x /W?J.3YNpYl]{$A-ꁦ(Tq/zP[ :DznřE`,|YQŐW*b$bRQY)n 2%ku<#Cӂ\ng O[JWnE6,&ׄƙO42ߥ]QE3 3zhnp~a{螼hA&GxCڀq;02277"xiE!{mXOr`QM׸i xoSE ]>_$ƹf98AW7ӝ>,P=7^GsòD3[
-pm֜`6shqIaBRi4\z|BsSZ'b ]j`9"-rUcsሦ/<pr_ Ѥ<]4:tzܸ3^tP}9\ W 6wԠY\E^W'fr3\zx5PˋoJV
- H"+ o=hkw| \n60]0|D2ii-Ҍ Y{r,&9c%Ƥ pO FOuCv Od1 #ѵ@mə$XyA n!gѪր!~i'Rd]JJ_i?]$^A^WH|ߏ% 2.Ed^`xFwTAeuUg+V$ydZajj_z\{A*ˤRcx C'ӘI'
-ӛ35L(o6k_U~f@|矂aUۂ9^ƙ(2UotUޡo֨UM`: LC]@ph[\sevjk`v'b9װF3$"?^R|4qc㹒!ŰV8azek^0v ci
-/gTVd*mD,{[
-*kGq[8zgV7<pP8 ˊf!y)ƈ&oIԅZޒls@ȁ-u>xcՃx9,GUIπߩϏ.2Z4H|e4σdZw]tş/=#}ru>SuC]2AdcYz 5'KXس-E$E3Shҙdv^.GZ4!oC&Bڏt}g!ld򴿊ڂǭan#55g% Fq~S mOP[ /!ήm-mWfgm[2z9Ѫp&{M?wk5*`5j\/JwѝFY?_CjTeSCBlI7~29FAÆ U
-+b3h fdi,7Mn%
-mXs@Q!Nz\ѩ_?8OŚDM0 Hl|Jb1sWnWȴ*" :)[mxɎ:8dafWm+&rݣ C<Mz
-C&v " j|fҼyOm7Dlӭ~zRJe
-\-]l|G?|L%R{TZS"ukwUj!ù%i(bAAƲsLCUCCOA>r hCej>`{VT&(61Vͻ)Ty~=#rmʉPtYzgHvW<vľ4BrvV` Ky34hNB >ԯB#z:O$]韊~贵eX֌a^+Fwf[6Qxk*/TEtpe`SFzJ>Icwp2pf OB|TMKSw^wj/]̌5Yf>b􅺔
-GLtd<\F =A([}heit[ᤊ*'7) nI"4R31Uܚ y܈!4n {w_za#+XYxOf,gY!IWlo4Bg!vp._
-YԳ=#Y5u,63| 7cnhr6uXF^ocMAhjk@}=)^*?W_3|QsUng}gKS>tT}u~>mz&ҥri"\b,fhȕ2Tf[Ëwcf% EX^z.(h?B)[bp?"W[g`޳=ヶK !Dvb%&)4}qLyȜ/|َW Nxs$n}hWU|b tY}_bJ_;jv6+y}[jgo.FQE !n G#0'Ļ%Qx~^FB(M<ąA㉄
-b&}1OK+x;"]_uY[2ſ-I2}T(?7~VKe1*6[~뺺̙ͩmCvc4b9N~^{=f<qBޖ=\qqDEM= $x@brҐ"wR~Xzon[6$Jh*,UgEegg/2 8xtKY%Yq=Qoӂ  FN ,n TM䒞0SwJ[R=v2'0yŽ,XXU-_[)"ç1ܪ#/dް[(EaxK
-Utl-7%CQVFaM(~\S)`Rzj5+ǵ\"
-'&Gvi1A>[,+r!ۑU4ZؿȢ+mWTimZ+Y№-a_6Eu4 !(6<pgR&Ns#<ly,elzr;ܥ]g7I-3QgDp*
-4 7{I;*P',,b5[t[# nGƧeZ^ m~B[K;r.4p0U@'bW3NXYC̄,a*bzOrdCQhP-i)\jwYM4Qr[_(I6*--RAҋ^JُBv+F' &a]49ġhy nϦ
-w^d.vI 'ӄN,&!]ȗ֣uK q#5
-ۦo){NH?bpmi
-%HXdI:E#|*]ЩUGțAzǰUuVp,p#A݌h<ēL DA^2$Q1Z PZj ~7NŊ3ē`} $pd#^c 6x"UOm> |Qh
-刲&bAޒ3}_e@g`9ˇ!3_)Z; 4T\v잀#\x$4s/'eQ!v
-#9n_{;Q
-1hř|{?CsIRlWtn}q4\'zR
-|90>d;YD` I9 B:tVE չ7$˳-T\\DZ}-ɦ3I`0M^֑|Hw\{G.v?),vɽ35ɋJ~WW#G!E
-KǎD]Ne˺^_la49uzxeד1pjø, jbwʞb/$9T :/ P E}~RM'vH%t@ߏw )B}-Md@XڑDé;|vK+Cu~VËEum#:`XigǮJ-WD0c; Z:ȗ =TE'SEYv|tD~11}z)=DaC"=Bc ;~o4"-09m^ѻ;o@_@daߤy`4ax{zͭsq]B%_!1R=CO!]R0M|)X)^#m{[}Ñ")pvshƨ$
-I;FV2
-w6A9
-8x=Vݛ1@}DNcY#|\Xo}>@ ~t*ҩI~\ؾOYx^k͓(\5rpɗwy Hjl_5*%*H+
-DceAK3(9A[U#,ࣝ%㦶:LgTv
-TQ_
-: MsY왘,)ע#5e1$EǤ"huBdZWXsAYqy$yXI9h~S"c-e<+6!0J[|;
-Hk7*C"f]u3s~#Z
-rHl?LjdAp$5J)^g{Yj6GT7n!\-[ Vh'l`eRxIs&wU9
-Q !z:l0NX#ʨc%m:</ ZLTΊق0-IfM>PEL\#2$*sD^ti`jZF6:"ӭ&M%$[`FJ S+ݴf]@*fϴQpy'#w=L `Ҡ ,b鱶=b'*RB_Ӣ#+:!5bчՋ뢜()߰=lńW+0|wqEr%bq>6(@EeD>dَ [{N2ҳdigZ^͌%o 2&Y{Ws 2Fn_/ IV*RI;I9PA
-x6@V|T$<rEQ!kJDg (qd>Iu 뾝#̲EuLf/BG:k-ABQc>_?\'aI-G+ihSg`4&)l͗dqphY²B`.T>@6>0Q'SCm&Uݘb}bδhN޳!D`VOVzgG`6@tuQfI', A0*Z ڡi;J{q`2I&9b4IybfM ƈmHR  s/1W%ה
-\rȥPbIL&o,,D*%^eҕIմ5 ˽_gܱº-wnFE#0EtO8GXA2|N~'k,k8?v ]p]`YOit.Ge(;>`<9c<[%V0 Uð bB&U3
->7g8ך53uǃQ\y u&U I H}0穩ruR ^4n?fA2Nr G ~kWT{]aR$ ػ/.!8zLEfΡODDjᵃ1!Mۧ1qu HoҀHwLzTRFr*::2U6[Qt %3rM5Ұi`Otr%@򻗗I2}(UKc}P3ޛ#Pk.@o)
-G2lXCoft*G:s/1a!a͉9t '3y\ C^eKFad<EIjMe>\Y64B }״eʟ$j0jq$p9;"a^kN(l6aBv0+1#X[%<~.WNB`J0?t
-_|Uk7\m;:d)P)`(V\OL%+lec8GpC+)u}ym~{("AMǿVtMdئɅ̚V@<34{ (.'2Чѡi[[CF"׼1wI'?)@Z&ߊ,ę- ^q,9= vs\߹˗8[=Rũ<\:8{
-uyu nU2=!"2FƊ#R:)6p݋-j
-:^:3 s/t-NeaScd(R)E#P(O ]BGp{gk<6|) }~0Gh^VlDx\TóDbgr҃7ZqPߐu}ќhT4b8zfhe!5H7I/"/ê HMf0uP_a F1r\ jn9-?jsBecrDJn3)hzͺEWw80h#3rX BH|xB.6~rrثwԪ^+仇TgFi +uw6"tAWd68r*(}] ا]Մ]a
-E]Yc"H%??fn TZc_w
-^T4{/9̚K Ddi/+hpfѥ-UmpZM)dr徰U)5h\UhX>HK@^Tԥ}+F݈Z!_`lW
-o&&Ј`d>i}'OA}Wt߳5 zLn( ! > 6dUAOOʦ-op# <Dal)oyN*|ԧWm±|uK Q\~sE,ks}CrB(ٗHxj9<s@DU0Etkc6Y/vCef"XۋɧT)nŒ7Q7T4=<~K,
-mvh|s?KͤÔuG$fij+({ 6N)C/*
-ICsL2,TᤘӤqwy];ls 痮|-&yYð݊QtƃӇMBt du{ .(UlޫBI(k3Ԫ2Hl[)k{
-Fv_*䆌Ї%+#1f;JK"6 VNw_Ȗbl{vJOtIl. ;7"7{ғ2oX,F3uCz%%&r=SmeN|+BE (F<m<F
-ٴ*yR*)! sl'YNTdny Rq35^o%k/|.4 722PA[]oP2 Һ-Q힬p.Z%y>-b(&WDtBr`{\;B)*tBK5ߥxk‰K^AmAmk25nȄq ՗䜷<Nul."[D{`
-}ΟWr3qYЎ˞"v=fbkV(vTeT Pf Lꚬ'AO&GJfiBS̆60y/!&#\8WՏYU
-Շʚuu(fр*ucY";Pd'z#9sWgEB0#-suQO%%r
-`b$(\{c$ZiɌӱn<+yG:aLSh $C~'&,J=ȃwPŮNߥGt?zhn]U@0c
-qkϾHs'aVE $Ѧ-6+5f=Dt!O5_B"vebyrW yKtR޳ ŌD6vA@WqO
-´O9Ō5^¨C}*i6C7zlI-kF+ǾnГȴR O)>4$’L!I8p$EEm{<燑
-$/&eG`\xbuDHE7jq:߾z#
->]޿C6=~)ĖSx4Z縤FwHǵ *R
-QwMwxw"ç̻nP,6]BFun'烥SYkꋧDЬ9D^:rGd*_P4u1 ]X %>ǔa6q:=\J2ҏLgMn
-K~^glKCխ^^33mR"S+\U%Pcq[ܮEM*\"29-1zszxa$[yƣu<|ngSt>-&
-Ҏv*""uE&]m־^3ϽRuHl/F(lmSFߒ&x,Y*8: (6cKIwP6;&% GkQsb<p懝Z2[]Q(==2*gdR2
-yogxbƸa dK0߳X쒲zdˑ'q"-1HK\1uT>JKv(YfɟWZM+g.q}3_*Hӝ3烆pI7z` De
-VkI:j$/l֧GyǴ} ͇T?]IЧD7hSl䇱]gC<Rc 祖PW2wnX?i yXc\xfP7py=[œo9NkᏙ0HY Yvq jk5 _(CӽT%mK܄!{6X;AP"(g5^JnƠ5@Yj6yx"9*c[]vK q[)]VԻB?!fՓ&Saڻ8D%gR3TƏ8H[9w]уon1ŗd ozT! f}cL*5i&=9mS}+_ԔtَvU)~=/D(HHGfF0J\=oFu_Ճ~8%}2
-rph)e 3qy]ǦvoewN֌'݁ B0b0`Lfl A8Po$ݏUqVRxrm|F,PL*n^ HC2p=ѿ޼á!̒ ``c.8F,'>@.YȚv qTJ^mrj7Pst_bq\T";ljُ;<8D2cd
-< pHԘ'S^lo 1=W[i߀D)=96]-y/|yʫQMfƖm?Ĥ\P޻װη1ij"C j#< + b5/eqjĜ'N)}L[=W73=eqӴe-)8\zOG-*X>"kpė Av^FzY5ՇLITiyw g18`ۘ8 ]4ۚ8*Z"+h7]IN]x57ҵ|:V]s4^}H|͂Q$T"?Q,b#M4Ũ[ࢉ吃G plz A|>@;ַ8R_r,[SZ冼q["ZA_j@=}-.؋Xp7wB7U@͠PZjfL?VI4gI:Zijg/=+[(}DY(N Q B"8D}7^8u^MLnrȒR֣JW9~Ժ&⸖ ޿=%EmnLl@s1YLwLɒC7j(A\/XLE<nZMoP*TW(|0:
-O1PZӌ$| 5AOdK'g2~xAfm|WZӸK1W5Ш͞ ;e9$އ<ѸDg2'AyAi_`t49%B3Uexv̙#J3>G:yqqbEk#+tP&ql%wN:秤wpND-.H|%Ş }*fUUD+z<ʄ/]:_ޣϞu6*rI1#![[5<8l!9ɳ,rOB ț!:][wK
-S
-8yVyƳԥGwt0D
-pv-bDCÉ ,1e&VL~?Nu9B
-}\}=̲)Fz!8_&{#]a|4!eA-Ҵmӽqq[d4p,B}U[ 6 Oƣ<6 IU6‘ziz3Ch<=K} ˠIN["7>|e◰ۛ e3wH(=xpSɜԤoM@#}^Պ11;tk' Ҋ=.hwnkG=lܜŋ% /<hy~*kCHfx1j &Wmc%^#!.1/THBWGKt!
-jf,ڳ6dɏQv2"GHع,]D߲_oFi/1/z><n AT#-"lcppk`Rea3 U+#g{@?N-\U\ͣtOu6!c *>zG+ Rvw;yݜp*Xf76IlvyP1oL)8\fIUb"h"ՙ;0+jZI݋*b:CdD!+;/@"'OWڂ[#[d:"xf5-MUG"[ݸzK&I'cx88uQs@W:lD-8SL>~\)fv /,q@W vQ_Yq1ʕ깥?(!&x *c8vf\C 3UE2٥*8XI̹+܈PW\FXb"̻<>7v%36uIDn~,ٌ ԨŋE +u+oSlUIMB2/\<T8bi)=t\mqUş$kaC`_م LV*K'@Vj½uuY|Dʡ3<ĆXˁ6G6&r#풚!\4d$^TGakis8&]BM7 lR-c-)
-R{
-3{h"#9:{iʈqOםurg7Ed۽߶.{ô)WLh`fW&XMW=mf~直|4;dW
-1 HΫ8yQ+z-V&9^<.vٛuaa]PX
-endstream
-endobj
-11354 0 obj
-<< /Type /FontDescriptor /FontName /SXHXQW+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11355 0 R >>
-endobj
-11357 0 obj
-<< /Length1 2468 /Length2 28760 /Length3 0 /Filter /FlateDecode /Length 30172 >>
-stream
-xڴeT\۶5[
-98M
-
-+w=Q y~
-z@p:
--e h9gKZhoI;hcaJh`/+Dble Y^6/d2/w [^F
- rtpp__M_a`c[ 
-l yI9A
-`1d@hv
-ceߧ?旝9XCM/tl_I#dwYurE"㟅F h Gm,K? ^q%?.l_dvC奒;V>ʿ_̬<j[+;?B W=֗k՟'?l]=8_&v>-x9a/\]/7
-2FY5Lj*/c>*Җ[Ho%—  5QKx' qVƗ]l%E255}Ke3st
-9'ӚcI
- >ׯ[VFoP* w2?ʅAף)(SpP-U0 7 ӏ(.cV_b~?qsgLJK,3[mh*2QT>c?fX$UńZ`Ccn+;_E* WREZNj˚i˴YՆYܔҌ ]&"߽\e7rA)FsW<4;js6bhPЍόi&YOٮH89wCl / 1^;z3TӚxq:-]϶v^g*
-.&᳄Di ZoH8)h6u2kSM&r_M!2aBYJ)멏QScٔVcfq?L?TSR#vYpYS]HP}
-~-h۝q ȼ=ퟠl v-&$2‚xD` f1OEG[0-kہN?VQY [<$I:&J9#1(=UdzG >NwÔ;0`}Fep<j@5kx5]bzFkD@0%"B+OHX* dkn8uL掔 6!nrYv8q^/{kl9>L!?ob2|~xb{u`JDy{Tp`uvFPmn^R<kە~\F6|`MF<}Aqp
-؞;JAܚfX#;K+kx[|L;Z/#'v-lÈr#%!mEgt^| vO Np Dkz/H^`s2˗>7 _shV}=ZN*AKΈgAiԞϦ-1~IՊfSS%؆7vD7>hnԷܓAq,-z¨#VpXWn긝~f}W:z78E]Djf/|f)8Ai{\A XP? IMc#-Ay5qW E?Df)o'QWdsIl9S6gj슱ppVt~TnmwqHrF`اl<{k p u@z-SNLr1ʼvoO $95&0QLi x+? -Y"vJe Р45qo#"Ы:e&Nj rW}*A
-ok@I8MZ!NyOuY4ػ_ĺ3ZJyGԠQA>'Z#Ce|넳`p[Kl
-l]/|QtZzA#=C|h e޳
-A؛65D?Q}O,4*_CzݺV&[B%H0=n RL6 D=
-ٕZyDu>Wi=
-7l*CE.wOV^F h(s[]q?d]Y@m;E*|ꂛܮ
-D>ɥti693qю` :G-e S~M8b>Br,HDhES&..gJ)}>'VF E)GӁ 6@1lnUUB+&xag1cՈEgJ0|MV Ig2{ވ$}dt}ūPSFrǔO PDnb)In>.?S,Ai$md̚w-b.âH6Mx6-u,v
-mwp#_94k&SmG _F
-X7{¤ɓ=LW5h dʤ5kUYMb#L9-!5 '7RM;t{G]6%RXfΕaqt5W\UhG7H7ܘ5cs6HWp$| JLQGsBEe;(r/YFp~+yҩ+bΫ^TiWlRsi"Wʜmد4ƥ[݅rtH@D[)Z淹<d>%,!|x!p 6s2 ʹ
-6 V%PyMx*ND+n$Fidx7o(`;:+^jBF/eز9)lfgR'S?FcG,.+ A'z_1Ieb;XjT&9:N~n,fYWqec:|6G5'
-EeEhj>GDeXcn/\wrXb>.0b~K噲ì3z\ 2X<]VִOXTn.
-Ccjg7J>#9^7Q+I\Z'(5_L 3wNhS 6=a|kc"n5Uv"\ 58|kͰ2sR[Vb,OOEWCn1ӽ!3&#]k@m,#*'eK?:GΆg-8G-;LyfS5GRQ7m 5xA 4X&)c,oAY829' cHq٠FNz(`vK&ʵ;ݠ_MjT+IRRGNeWܕ] U̬ OnHYP I=}>ȊmtQ|:c-:"xs'F_f3Oϖp:k2( N#w ߩh}J7#.[05l?ypiEgZ8vVKkf6]3,{rvR-ОTi
-!#WN=z4x5<Ü ]nԯ!8,b^deQ״'
-wacT)0#n(iIɫlhN%MImd>Wj[ѰHEz_hU{
-ˑ!&*~HdklG1l,}t纣4NsAx>Ө
-:MA7=m0ƫr믂CJB3@{ȢPФgغKjBd,c f W']> c5}g ܔ$Xqt||609Gc?.5#z'_Ȝq#>-k_y+vڷNQ˃^͎OT<D1y`5P٥ rn-;{@osᬠ ((ȫ'D(:i-2n>wýQh M
-~~\DžC*c%fGg(uX3B˸|-$$#߫'`Bɝ/^ZCMXW:ҏrͯ/
- >a_qMwpPh-Â>)RHt$ALv[z
-?[ږ<.M\Rbz:|;ӎ7
-(wUCp\@z\r[piտz7üR!.@+@{:[];2IEmOTQ8v84
-o:-_Ψ $+b
-4'0$_8ouXU K!eEƶ &zs:Թgmk͡qW҇l~Em>&a-r%@ QK{ v>9尹A<72~b& ls !/mFDZ18tUQ>ߤh"g=-Xoy͹dkP-fֿ7
-e("}iLa"\D5c漁0ӄǏbcuPS (e)
-G:wҵ}X+\У! 62^~’ yd=mg?Jhq-EC$(/{8&uc
-
-b8LN?h'}V7/ߑSԺ^TцYW
-<S{^|i d sv'.'偼rd#;-\q0Tnypٛrk@vD\
-=:26X\g^+f9++!p^[.&1>!Te+mn(C6OnTwA]&!ǽP"i0)Z|%)q ]rJPWi,XHQ:%B2׀ġ "1kjNhh >`L LGOV5bHdwi.<?Tz OH1 wC{klކEXiƢ3=­xs2u׏O6{@ocjv y>c,%KOTA]6ViC=bN*ETgᦀnGZ2[穽acaYHl>~[YKV>ELv(3."_\Ai\W%xƊ7h3t[ʻJo=PDWNv=gu7Sy> pΨ9UZ}!a6,Ut]<x<TjbSZIkYe'ަ ![m0ߤV+GTXH@epq#n; "'c JߙYP/>LRZ_cb?4)2*1ylzB~RS8sA?bAOttŧm/ft(\{*!洶LyF
-(ڸDÄ5Hoj^yQ>=uSBۆt
-:GTբ,Dp&.aѩ9|1jWW4 \
-cRv[{*Fu4#/vG7m Å^NAeCO̬:DN|`[l^&}ʝ^+XFIU5=ڇ1>X93(.g~]2fa,!{_mV1obIbg;ŭ1(uT2 +?J7lTm'ХmSy'J#b:lAjsEO ˸J:3]zZu;n.3]3!0H}2#CBxt2{
-7t{MGo}F5}:kSl?^qMM8;5Ջ(;5y,P6Kt%mmRY(\GSD0/<I]
-hl,i)yVƨ+{Zm1M~VV,GQ2Bl4D媁?ބ5]}%@
-x
-/u(,fk
-aZFWK>Pt%DTT +|'\[*<_.:MEW9,LȮ[b1ZUlE*˪H?MYƳGߪVCI$ڌ ߥ렱ZYM`RHKIwȟ\Qǜw+&O.>/YyA<Kl?DN'E9 0,eό9vڏ懰fO5Իvʂ~;S_pEP=8'. |[`{]7JJe*i#N^/e6]ƌ43t>Bp$ZDU6&7#u?}@戁#qnl}ӹi2z-;xUfg.(5'YqZ_Ebd,/ơ~DYA%B??Cn*fm^0.n_ӎ
-͟,lh@Jj(6?e>3[$_t]?>6!6CFO# FڃcJ!#xLݷ0 Y_)8HDR]dbN%mHk bᆾq$LQ(ȫZ"\uz</4 P-͸z#UK,uO>6mYa
-'.G_'X^Y"o5[Cb)87My V\6^Fu'+{f]XW8p~(T>oe&hQ<CKTfӪ߇o\YífYx$S&v0V<A-Q4,` 8W;<vFS$.W+C8u͔Fo MrTrTss^HTIWR"k9 'Wc5EnRa[* .\P꒺!V:Ԥ@؆j&*YO1
-zd'_ kܼt9gVx(wl('hf+ˠꝤ 8ޗ IrM NA zH)N([INɫwOoRAh8TIIoV9m-Ym#fZNaҙ`'ch>BGKw "*q}p,(pQLNL-HF.>9 P?|35S^4u^kB
-_/aܾAzq2oZvWsW8."o4ߒQ&oK|fC` z %I ~{u޲`:C[/ B:Q12Yf4@ (m-(Ev.o|Pj,:N)1h[Q@D TP@WkKfGo.Bُ[%m /I6D*C8LIK;k%09erhx"T+4wiەp8/J/{CbHJ"Bp7+
-.rBOt937lE="ql|p];>8.+D#z A΍VU.Vy ^X}wcɬots­h/av\q7Tc o=)uXVJկ`lFŨ]fJG+[Y[ާgX.R7f##kb˟*t"EL%TFUu}/'$t -"i\eR.lOB,]A\OLaDMtls\`V@w*/ˆ:ƒ 佞oƂM\4DsEmv0M̼U(9@PiE=nűXP Mܭ%Wl8?sƒLS_㗏*}j14ɊW̄!X3r}jR;2tYFDAue|ydm1hƓPaE`byR ;jiDxY[_97N+Tb(RM!RY}uȽvNH~mbDΖ8DiXyX; (hRJAE|6`6~+y*+|1eK'@PYao)%~2\+ Ҳk$HvoVx!2- QbPM6LB9=X/O/;I7 SQûC̯g!mK:Ȏ6\ί:Bv>RrQN+{`Lv4Qy
-4JsOڑg*)<~J^ Q#U#jQtSmMxnTK0
-u2Һ61l&.5]g}?U58ah,{gad
-.ܹX%HuZa f _3E\l%T }5yBPe:Ԝ+he"sML'"r4\`@vncf&ߔ!mtvvrFB3Q)jC=?d^ah>F}fѾ< BnjDyV<o,{?NElS4_>CCϲhphBK,!!7`|P"+X>[o{M\c /K}M_5ƾbl`ZF9`E$#@̗NPKipy^n(;,9᥇ yh^իE^F0&VŎr@&FH@{VݜPo ;9_
-]P)mfc^Ҷ\نfu05+y5W ('kNL}ozPK9Veŵz?}墜$LXS)oGdb }|gEoP9xT姙mJf6PM[4t3wu|3hfE{YV_٣Я9E%(`15@5Ƿт!!BJrlFT8<<|>IWK3Xzr;WYc1ۼC?x$e[Ӗ޹h6_!io;ˉ>c\<%Q`MǝoT&9cQMp[,xR58!=5q# o=t)ge{LNjH
-,*rJ8ڐXy=D2Vapj./IwUhSl *a|߬L}Z}"؜b^tC0Sugff. %ܟk:<DVktӶO^uM*(YjZOB_XIEIo?iN՚$F 8P ?m~ v6ٞAWlLOR,#g[Yh1
-2D12sa 5R|+IG}&i zKeZŦoy+(97hޙ咎\'wL jbb\ ݤv:i!&Sg
-|y'j%"NJ-
-o k P88L0:#Y_-~tӔI5[,fl`enFMpYi #
-7~
-jOc&&+BI낉af[=c--RxF ,i!L~ g8~((XI<k-a~b`H߃503ݜ")5HK ~Oit#iB~.A_>I^x}K(1t`Jg D5 k6¾R؊Mq
-=C@@Ԧ _S3t[,3#=ϻ_GFOƈ[zV3RnOZp!wH,.ELϚ А[I%W=Ж47!q<sXϋa~-SL4y:e^Щي5Kfg5gC{k*mgnf!Ž{Nid$L# jCȊ8Wy$`JH&+x3AdӘoUo6Óm#O.%_KWQ`A99>{:} 0R"G`9vi*
-ԗ
-grj\>f(@$ 4jwdPvGm1=(xWxpBv,t24E01Y:eȲ:}T9|nEokkoud |NeTt* hiOS<E86s9ax0U?qv'\*#\Tw;u`BsD`r~i\bp5⋯AK@`j9x}ʿ*dΑv19Ta-QB/_V{rCbN\ZE/asƾlg=J>ϟ
-;8汶x翱^H -JBGiV!snzؙEpʂ_ӈ&;~0">|H<:Wɤ%?89_ JY)^0 U+o(\4 j5-X&*Mqҵ}&0a:Ŀa*
-l  ay"!o];
-hsEX$nI%EUZRu Sm|=^?#hEr6OhL~K*C"'!aHtܦګu})fIb<buyExh3`N2XX!(Rь3SZDaac&鵉(r)y۫dzD)WUm2{LYf\u 0#7<y'/@wuZ)I35d[Z1zX
-CZ 8bn]o.dk G./m3Kdشcf(rbU3m 6eZ,H̜-Ά|3kԩQbB3?c6i2eQZ ge5!6 p[uvbu
-2J1J&Mbx
- vS ƾ񦝛KjT6D, E𿣶' <OA:vߺІơ+ϩF1ӌx-]U*Guv8GMT1R"D}V/1 W%`_Tw׫ P򷍁kuOɷ03&Fmj؄]ә /wvxt5j
-խ\/1qQ,* b>!&!L`
- Tt:לPlEm` Ԯ}a!v4=p: jy{ϒ OA
-s yi)lNS- CNwJʯpP}St}K>{mk&L>%}{G
-ħ]@-|VnMR\yA1īLT*uܫ BMz̼2h~^AyvVq8w6r0Ҥ̓c`0i:Lj]Ӟ\i
-7`cZR
-qm.ű(xpr}W.Ğ!yx<b?a,yG &A-1@ 0INo7~%د+jňkg?m|ĖdOX6USOC^&N%ePQz|M43Pv`vg^J6Kb_xȐ
-opyΕ  [ʟN`87M?çUYӗuSC~( GeEi%UУ͍kO$ͫe-hsm<s<иr{?d8"Fd"M5c @˥ԐKYL:m`|oa<k8[>I wKQBl7Up^Q#k6GQT%|t)(& RČG<#34E4S/nQ%( : ~0lp}1c{M` 0Y
-r6
-PcQh7i34@ƓgE5&fH?' Ƅ|ݮRxƩ/=X]YS0ss9WόJDFw}O&,HgyR:[GF>ê`#$H ";A(EO s|IH2/ݹȿ7 `[zh㯎1K{_!"rEcVk5 'ك-2q+JoK~pZ5zo ӆўBM1Rq+oo-5[~ZuaEl TAtYa^k0챿VX|b)gn*B'3̯"f mV-3I밬3rH[3Y?^f"=}CZb בYY(+*[0m%(n~sEyOZZjr \@W`/=H,~߉VfumŹNvi";#]e
-WnW$jaˑ"
-$Iy3:F e"{*".']q;ͫKQ9}t,Bz`ߺc09A0?Y`- ^Y
-< "YL}k{JHL<-⬸㥟_Օ& ?H͙~%4 (b?1ub`?n/# 9m4VVdwV9%hKa=j\oю˧5;24 Nh|xRn N&> Y3Ҧ\AԠ#[Gv(=o{m5O܍'r:w{Qݼ8uQs~BXW'/gYͷZg}B&QUo Oq'DIuC-aDϔUfޟZ
-b ;ZFC-
-h+T(]QX=WhR9 735iҺplg*Q^wiӫGT+LlDivk@Cē+HןxSTE~)c@j&JP߹ǽg|gu|/$^ƨfgB@{<u(N&]OО ,P}FN>XTD,_‡jƲ܉AE==:$ٮKr00*=$*꿁71]<3,(|ORwEXlk\D b$e 0Z=fR[͓+Lb5wR6ﲠtvTyBDrnzzaF0Mm [/ԏ0f1bewyuE Syt8IN91A ƸGbM,)`l[Ltx
-Fn
-zmᴖnzAaHVk0"voיMV6ơ|Bxn {XAHk2xZTu-mpu~1ʰךT =
-fZ5|JGÖ{
-am# s{jy:km戡!a9H k |f3_Y$@$j١+,['{v#
-g%n%*T@V!FvpJލ!$f )6 'fIhoztم6f3`Ow#ĿJZKވ^
-MӮaT0j1Ej*p@IK8޶qCqdN~]R7-i'- 7#.l 5xGۑz`}#.*Έ(أӵ:[*NdiPeIMf&K ٹ̝Q.y3ږZ*SБDuYwxgn+VF4{CC-?Qr[ٛ<My鶾 1d'փ|OJѢ4qmպćGkQsb<p懝Z3ߑFEZftXj?5 Rڨ[ȹ M(R*æ&XPWw͂‰eRV;6]y4󷒡%{B^m'˵8GZf3Xu=̱w::{^Yu !eOJ`Y!%Z#.Pk
-p`7;s?"h~fc'vf ?g4nnoBN P>5eSܞ |i?kkDN< a0 ȗrmFbP#Ȗ>JLu=&hr7|],ijpCF6Q-) _nT+g#'\4~Gqٔsג3T7&q])5hƻ Ӣ+sU{ПҶL|/ep>5HQqIT꧔2>,WGzcaq(@ZXvmw~]ݗN`
-LdM
-a
-p:)6NT`1"FU{%(1.OpyZJ\~;NK$|r~B`q 0x8h8 ,< <#"c0[b$]Ee?pHڳ/hPns ~t'4ۗ h\fL`|SU' 3a̾9tI/ pt z>0P\* Tٖ _PV@q^*|9R|TA'#*bp5'$Z74IzD}u% 9T/tz
-L,x{Vհ=W?\ L 
-Əy@Ћ'
-ZoJ(0Yd3aal\Ia 5#28uK̩60,4ub9
-<6׭!{
-Cmh`ԟW k%=΄r-'iazX,,"Y$chz(vwɈ"w]>4ΒhC)ޅ7k@]~0g)F
-Wu̯*Bbgц;g:|S}ѣ⋣Fg2$PO.%^Z+1vP
-
-߽V S> = oY)3x
-2,96'
-/Hvc|^an_P!:b2B6o P5?̅:8=R{Y<^BQsr~mg~}/i5 c@FhP4 s#9l-7@խ\<fDpWt$x|NRW6/.j/Nhk+"H rujD@j@t;8܆PZ1Z@k27yzgWGq&?~lեz=,txFa#1K.ISK)e"D9^ tr>D<Р kR܎ יV#||%6<.G&ϏH1_,n-
-9_e _|ڼ9~؃cM+TzZ"W F<gS=n~8?0ߞ#,P. SWaϠj48<Oo>\$kV&"_CŘ`Vd|JU~̇63jPsTgD_ =xt.d5ʳP\ktmwT Uf+1CS`V[tϬ$wl_Nxtl%< O}Y
-~,U4FL[jc#5sRdabX&IFĈ
-`Z?kn"DU)$V{d0ba$uC$c-rؽfm!rԿ~jQf>t9zu24p;0UN lKA\[))5(R^J|>߀n&.d0}
-vUŎfg b .^ޣ)1nWMz ~=s-}@zz1<+1FE3 X,f2|%oM=&asNEt<Wعd$` 2QxQ@ Xbۭ]_t:x7iKk.m֎:=:vH$-< *)h/?tdR@=U;=<pdE]2ߎG<xSz?^2.89᱙*W*^/MiFgNӗ%:}{qB&ù.$%XEn)ZT6 =S {R7zU2In zJ
-K$Ƒ-
-<5ۅXhgPMgIWH.C#nDvНqKhpyNTʐ)m? ^1(< v!ߕ_ \%ϩ":r7ي슽-?nЏ'6lG Dv@15"SiyK؁Kh=x72w?,Ȏl!jPiXVBgatBuC4zxE&i{拟djk~<YC 񶽩lo?DΠ͗R<ݍ8}-*NHtEFz*P 럤duƥ@x1(5%{\NH8Yh")m
-pOj{%i縦dD!81pӕy~
-_E{|UvarZ[+vg1統`dob~ B%^AV49ׁBq0Ɩ9,"~2mS->A85:1vc@ Ў,C>čkcN-B{ƶM>)mg˟!gԞ@ԛ4'˷bEHTR# ~jD
-endstream
-endobj
-11356 0 obj
-<< /Type /FontDescriptor /FontName /NQXNRW+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /E /I /L /M /S /T /W /X /a /b /c /comma /d /e /emdash /f /fi /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /parenleft /parenright /period /q /quotedblleft /quotedblright /quoteright /r /s /seven /six /slash /t /two /u /v /w /x /y /z /zero) /FontFile 11357 0 R >>
-endobj
-11359 0 obj
-<< /Length1 2080 /Length2 24299 /Length3 0 /Filter /FlateDecode /Length 25582 >>
-stream
-xڴcx]>QcOlmۚض4Xݤqcvcu=L΅νo> 2P֙ #dgchI4s6t032‘ ; -lE \
-P, WWUPXX\UTi"r*
--@NGtYQAMQ&?{
-
-2
-8;
-5350a::z1~ӇM)@okwq99MvF
-`P
-F_S?Z3/hgT0x-D]J3}?^O
-g-[H݋@/_
-h$/M- F~[oM1Q1EUW ̔]/":-:ٖF
-G7.ht1Kn&(vS'<)^8"Q-O3<|4ȩ%@rR"'ej[S@e%0Ut0Պ+FS)3Ԭٝލ;Z"U$1I{Ze9
- иd
-#JTf1Ē/-cxA1nCJ'*0U6]WCCPh?UPļ'kG_}QvL\dfV'v]F۰e&<UJchWnԘ}C@Ӳu@>
-DFw<b0(w(у!Bez:Xw]icѻp(Z ?9`4Tv1
-/!y}o%;jN)4ʽ|G/kKzuaV2^ \IJ7 '7蝢?C:&
-R?2)S-lYDqBy9vw@6umBW;U0̴e"[ N>NTLh8+,ЪTJyZDsbNC"SebfwP)KO Zpb؋uɠΤ򟍝2y$#̼޸dCHK<pDn*ZY`<G<s˼/trszK֪b-?S}Ha`!S[- F\bԽUy@FFjEYac>_}J$"V vz-ԃbe<;]ZP\3Pt"mh*(Pf+dyV} 7`ۗ@q&:}9PappŽ 0K$|cTL%UD(&.P7
-X;S#[V>  8'9Ӫ!+t'~luQ^~mΌ2>~)mA ibHR(U>#xt[%|-jAXЎmG ˕;bRgTXң#lvxlNJv613:֑4ν~g*-a9-z)L evg~Xu xH9E1XF㸁sm{|<r(эவSWvBBjQvKzɑͫ^DBfj=ܗa8>K4(ĵ-owʄ^*m"j&v@;Ո0O
-զ\߄>3vpBOPPFi5{H[/iFydi=)@믦#Z5 _f =<Ž>rw$\MH":0VOa0}",9C1ka8пf=] u`hm H8,v`8S-f\6ryI&]2بw$klXc,+kJja軇ĚD1^1mT9o+ZuQ$"@]>fE@dbV~(kw0tG\
-8ped/ޟswQv=I^A]ә|Bfn Y{;e/` k/~6VR=8# ?:90I<r_LeI9^ϸp+V5I$Ey4vC,j/*s퍁Xе.+EMKPAN9?ղ]\)&UQO+kz׻=XrLc)|@'~* DY0LQހu{ S!&mYI $8wm%lJ,䉁$-35 _\Z`ǘo }|6x/Ձ›K&* H/ƭN2Zfsk鯚i*M_s#MU]Z@QXϯYQw6
-&5TVX7#h1LCId"mAǾOtug& o6̅g2W>;5ނKSK_rE3
-)bb 
-hJ0q~t/mꞡBY|@kuPUרب r41np\EAX-b[Tn(~hP;U[,0[nD <Ɲ51LciJAgc=?T ERE󭧐dp ==ysyru\9­蓶3'Po]]h_.(ԫr঑ʁ쨉Z!'5+7陆'SZl1m  [zyR(s]Q.>n %L _BôFTfY)YsS⃡AdAe{^O ]ˉG^7!|fNe1<\{T-e˺J =]Jjq0Hs?3zDILf|X?ڸ9Ʈ*|fS|\}fAB<fC&K Q]囡;v e`r s0[u$x $Wt"k˕иmA sᷫ DCdV1.ȉJ]G?K~o.Wo7N5
-P`P
-֕2mř'51ˢOpG_PFQxul 0
-#^A髊v v^rɂZCT:\}fu\X1jr LWpd-oϐ7]E(4c1X/aVT:[|Yv}LC;IN>LUU-R^Z,|GE2(~hPHf6,g2A hnG[&"~\)EzAW[h@_^$Bљ:~J:$vmgvtտ Պ.y]xIˠvy)Sozlse>_c`
-wa\vusl2Yh .{iY'E;} i{]b{e4̓
-Lm3ZW!4-gg띓0>,ͬD۩r9ad` dx'&#V߉_(. 1P۰iVB2jW*^y{H K᜕o7R\i{:YŅcފĐ5Ѧ](Dѯ-D8X&/ ޝ&JlЈ7E4-=^;5[iu%_/ġIxS+''.w^DCs?|WbX,2 K%sdly4n3m0y
-rC@ŏQFrtN(@JX Uim(Xj?g`ZgYh$`Wju*k6/6,'OGD:9pDjzlؾv2ZLDz!m9tFh5bۂqjyx<XΨZ#"gSo`^ ͧ^զ"Ͼз,qkb6xZDseXZB}\lb3Z([MJPIf.X}
-ڰ2!"UGlagpMȯ[5ܾ9'I(wuXP"t)}E j#^ρ.]D՞>.gL$V9 fos\RqK3{7qD3([l_=-*7h`;9lJhȾi{4&b)d;Gw(wlؑGpTğ?|)PA[<PQؼ$UԺ1QsopRNaO%5Ⱦp©+3*Q]S0_xCpS[[ޛsw5NVʈ!q2s؂JJ
-Z vJc.7Z*گ5sNn)~~Z)j"=1 <@?Kd)?={׸Q2AotT
-7imƼi^Y<'w 1noX_1JQ5-UFM"eL`~k
-n/{t2bN%mjs%;6ΪB1b؂ك`EBd 7QX6@L*ا*
-jV6S~]̴9Fc<U1
-r!|3jU{_Hb<MʷJnYfS.bGL,y{ @)I?Ihgx1Ax=d4h)6LpqX. ]7EnDPcӕ;"W)a7-ה`Rs#a"|M~L
-S[KL=c8*W+[fr'Bw
-lגX|umen]ַ]#1埽0?0/GJ5 QU D*hp9 >@kKoHBWJ7%B{oTeUjM8nE`zEE5 7hD&ǘEe8@G5R-t:*PlKbPH<In+0MZ0}xtϧ@(qH,\+m3<l$nKMn4˾~%P]G /s(V{b#|O2Sļm/S?da|7N[%f;.2=ݙ%E3J#蹵%%km6^;2Q詝8 ިS)nଆDd\u"ǩ
-p?߶'ۯ,TE[#~|V;L-Fi3[KQ{JFmtx<ghiGk=}d2*vLu]0m1馬W߇#Hz`v?TIjWQngHbN#cp`
-Ń#!p2:, Q3t78k3:JYgCmY>uzTp%)􂺧xHҠgTBa|2FNS_eA=1J2Yx(/T_jsR践+]yv.i?A]eѶgWi]cB[pc28lj(>&13k4S>y@x`ˤɥRhpԼLF#]qAkɲI|n"7XD|TV9[ }ńjظW/hJ
--ꢘ, X]It!
-v4K<c"ٙs0֫M:\0QKNZ}!Uшt,Q1ґV.[ihd\;%1j{5=2Qx
-ﵪ:y"ȶPqߣAIHhJ+geN=]qMةs5*yH/촔OuTKG^N8X2Vz;3^YKKv
-t_5CfkHա/Yʣ:P| {Ǽ QhWdFY4̃6s6}o = /&[Uj)o(-!.xmEZll&md_gIr~^v*.<dqg'yUu#3zɆH|<+< $̵+gGT
-rP[m8x< An%4OS_Owv䢾3I̤RS6Ǫ˨&*@'`lNιoq`) l2G_P9%nMѴ .O=U1oRA7(>1\dG|q" 14ǝX'kV'x\U fRd(|/vT\-/(hf>_,n xQZ09dPx
-^K{PK aXɴ
-r"'t.i72Kjh'Q5Ba`z{٤ ee+ ga^ %ێbF-U_}|9R \YXH[1w0tL:^?o'A軻4&6J?AA7/!3G[< r\Ux 3oֆ5H%-rd1`1hP!'?I
-aLJ? r`}$oņʝtifBJ?~{ \wHOec=n jWdA><,n>}u*;oԵB=*EhLɴ}0FsK<;g"
-_׻ lm|ap Mi]YJH^cjY;thUm>Cpc<NL o#$ˈ%ηӺ"gOXKX9Sb,rB_D'j޷5zl!.%7@>1~-$i$\W '-l*wY3 RU-xBEa
-_S 0FϦEuА+i.2"Oy:27.%MUv^_
-7Zxn,R~1<}Ihd1Υ}W xH.v`]f歀+è/y85'.&WY|'Aiy
-j!ꊚUC~x~ǎ `GkII\~$6PxS]1t_ߺZfАmcZy-vU0Y.FɘAWƟ
-=GU3o!o,oUL_Ԍ4yv~mRpB&C_0l`"Y9C
-?wʹWFYtHQJނ> Mnݵ!vGX[U%Ў.tL[P|
-J ~
-dUY6}4sj6BW!^0ZR$K2sDPCkъ\~$3^
-!H6ߥ
-֊ԶZT4F/׾/HOO%BXHNGj㦃"$Gô. R㊨oni$_ތš^W,ГMn
-L"$py'2kdU* U <yQ&N03&QC<1@ݬIo|zk,Z!-igy3u|.I9fIQd 0ڼFvXj[NNr2#`bM
-q3,&UujUN(NKfCd1Obd؎X~l-@bG܉#cȁ;V%Q3$`i*21uߛJ=
-~]y]xnwrե[(]>jBx׎V]b<CGůוjxwZjjJ%fz@٘kd}xTolKpմ
-=C:yvw[ֈxk~k1*0o}-uC\4 Z' )Kd>
-bkü;L}W+]t7 OLhrg#%{^\,>ӻf[?V,̽asF0QC >ncw;Hk 9;Iz~gO2Q6^D;P7dWArb U'\
-<S !8td_|Pevt\ țzOœ:5v!NxS~`V>]%@y>jYH96Co'U!|m<H
-تr2OUr@D?K[F*z/zyugdEV/:{qY^n@PDrVa6ۡvOT_<8TdIW@5<_ZaUnBN1hGA
-/Pz7bc`cH3)OIV^bj "mv;Av3@NF8FX4Ɋޕ\AP'Nd TS~=`劦w_;wk
-=wK?:<by
- Vh;c7z3T{,&XJLu_>?}z<H1?{4(gr)q$RE&IyM6L?VgHI(*?.f:VYX2/d; 2޽~[ѝs)э'8DSC%v6UML'hp-ɾAҲ>l/^N첑dYU#:tFϻ28:5ayuzG{hڠ+3T >prqQ7;֔1,y;l!5FkȒĹztV<
-֒~vZ th{7ɫ]2ukE@ӈ#Uͫ<pW@5>~ΠЕH8$Xx* kpI4}4)BJ
-jn@T)}ݤ
-&J`u
-b5ydBD7oQ3>4)ksb6p$ƙJd@=:,p5%?5WWز+C|xO@|8k͢=/ID_)NAK'XB_ν\lpZҨ=UzvmרμS35\%*zJAc8_ݍ9eԉn"%Rgk-UFдOW+UQ34]A[  BT}*A<cA8HHA>׭n(I/qs\c;^
-!<oK?wE(#d'MB| чҗ>1~S8/B^E7=0ַ<[# LɅ8Bdb X2ʴ˝'4LE {xo<qJ/)KvW) MNfh>Ik3VM݆Hb ΧQGw1% =#)T*B tkWL=e["Eɳ9VlٸtG93:asK>1C0K3 J@ꎪcdodjp@l(ApIl/H.o*(}W_'@3g8p]$Zy(cTѫNԘMl,Ʒl`5[iZ2}\/'c5ՃnԾ
-!v.6hHk,%54$"d&>7Mdu{Q$D;rciiurr~^rϻobe s[|"o)jg1鯻DHLV|BBWϞ1$wvZիƞ/}"…RVaWqcyWWN0cыFCcp"Ш&5Nplpy$0>Xl9
-k H-ʚs`:Pt_$iq  NE6I3%9E߷hT_CfEacekf`=q0~nP죳@Q-3ͧf=Z3v
-T+
-{kq?
-֨,; ?Cj'qȓo 556#=8OQFT_?dOih+OkQ;7H$: uaa=^ @ej
-@Kq a|AYE:K bAѴKEPxL08u }: G&7V LEbZKѯ[xYhg~ |9=˭:O0?$Pfق *J}Ɨp@Vm.~q?  :c$:"][/0mr 9?& ">v wRWTc;
-千\?N{{.(,3 Ou Z|6Nk?NТq8 m͓/ u)["gGY4_&@LL#ṘSSZ~\oA}sl%i!'zRȔv,3vxɰ#d%*g%;& nΈYgv WjGE~ M
-1<({bzgOTi "\'|]'Tﱄe6DNW"Oc5z/&
-
-=#DDtɴL֖ӗ# ΟYs&84S֑犤ht&FJ{d>GUD~)\ii5]}JzV-[W-Bo{J[ D&C$=Qy+
-B3*Jᙧg4ćTz
-ӆdVW<}۠ɡ9g;NЊ=Fcy2:q
-R OEW..z1;a8xsx1v:c6^ F{ -hpe&Tp:%o,N/ D&1  `4P!7oς <-IV3/|ܣ00񇏳9f.AX&WpDDJKɁ=]"
-O;AC k?o'~J]&5nf 7O *.H&"w2Μ}"eB&KO
-9'{{B9wЬ *8N;@_u'!b HwdK~' 9Èo6Z0xnY>,.d~1bfɷ2Wuo?BŚ*l
-iQ %_( D5L
-#`W"'5
-<P|tʙ׉h'np"Qǭkaw6Zzw/nt ᩎȱP0R]~Ԭ.̹ Q B"C= XMgY8+%ɨ5d-x^7ĉ}QV&pc5&O/ƾh3W諍O f?:5"$00q}{dZ}/ӂy]d\<o7h { 0mD l
-JP:Y6׻Mr~5  |@fq;
-3enBhiWB$J"к~u*GA6dWŴߌT3#5G_IX+3@Xˊl`Hƫi1C]ѠԜwśgvj>)m *Ղ,Dk렧YK>3%X褄ֈh>ҸxPJD[>6JK*SV8&PBhޗ#~c<(Bzw9Ӽ[#E8L H^V/݀UQ $dm-O45S +
-As;7`0Mk/m@@8˫MJEmo3_ B([L1%7?9%bR\AY9.*"8V% mC>Lh\ЧcR4-iċP`)}9+p`PusQeP{EI,3AEsЎ zijy_A-T4=/&m/ξ@Vkh[CYҒ+xލﻖFV
->C_FZ *(:"jQO|~S7:IWӊOS<
-CcqPO~!Wrrykr
-6vQ1L,Sq?8`[% S*#X* OT&T$ i%mOb
-|mQߊnh?IHl
-V|+# GqmHf}LCB/ێZF$AIu`uu꽶S[` ZlH 05+Fm {O,@=#W(VC&"ya1/Pq|*, ;tr}hPyy6oO I ZPd>gj\B--rq5vfv$1J1h8'<5Iԯ ש+'|cx'/NO6M uFL: *}[rtS3PAn|xCR#Йoc!HL@"JQx'NX^~kŲx
-ʊ^,Աn; * "5Xë*IjM/ {]FSA8 B!/+r:Uthiz8zZVdN]@_1aʨ<9p΄k3M0#:7RZŏF![4&\PvBg8 TN+Us
-CS]>^@4vT$DFq9d 3 iB%߽hvOԄ- :R(l^g^Tmu1Bhܸ\f|g
-Z7&r`SWm/
-+-&-oi* U -if@&J_pNL ;6_3[yCMqZ.aG<E)4ё.Wj܈Ip7">j44s`NeG Nh7
-31`l>2a+ß
-endstream
-endobj
-11358 0 obj
-<< /Type /FontDescriptor /FontName /BYGIQZ+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 90 /XHeight 431 /CharSet( /F /I /L /T /X /a /c /colon /d /e /f /g /h /i /k /l /m /n /o /p /parenleft /parenright /period /quoteright /r /s /t /u /w) /FontFile 11359 0 R >>
-endobj
-11361 0 obj
-<< /Length1 2115 /Length2 16804 /Length3 0 /Filter /FlateDecode /Length 18109 >>
-stream
-xڴeP]۶5;!H` pww n݂gsWLZ6hcZUPNF
-l
-rlmm5@X@FI
-g/߇4 -
-PcI@tF𽄓Po%cG]?7hJ $ϓYW_@)e|t`VS3PpyM$t~e5,P5Vg'C9`1U='{=d{FZ>SUfKe~M
-s}#ֽ-Q{vhW
-@Ws%wk)1?Ų~uډiWxJ )La.1Q9\'zaA|@}A}:?PtĒ2>4z]?@(tg:ULTd.A$ıJXħGf3m&[w4rh?h?+xPfCdɌpĄ>;.\y$th~(ZNJ ?9^_`E0D/:^{owWft W/l2޶,D=\״mݠ0 Z r
-t".C4'4xL\4(D
-ŘHM1wh/bdQ˙dAH#5]sxBm5!/l[z(dd6]lfHW':^!`BvH ww fu鮶_Pk3vAui:gT#=3b'nƦlCOʥGz[: H̤i/ld$ w>1ԗϱway2I9NLODI;g9O亝,7ĝ+0F$/nߗ/Tk_`\PVɤ{32.rEAjwӣ͜>]$}Z'BA3^l тd9nKeƃV |0tI*y{W-
-_rUaF %1ɹЪzœ1ßp0%{"GP"xL6}$^ vV;<n2N̯.*RY$re,dzD`fxdKQ -Kfs9J^AI5?櫗54YGzCgUQ\/ez1#\u`Gc+PԊ}r쀾\Tl :Hۏ0Ah`݁khPFoɌz< 0RB'3iMe]E,Wo tfs_j&j ;,yJ2hQQmA]d6;;3 Kd/HތU(rZTx] oA^x^z[!빓Ug1@;Z\tg2fN>AۥpD65ɾ`b-b*>
-64o_Մp,hZz'( vh>.G;I I/sȥnq~8ad4Ea0-Cڭs"v0ڐ#Uc}7gQaN9mF+(jtiK_ZT;*;#'B绺J r2:RgX7 rfsTZ ҈̣ >Be9Y Kq2p(GM#|NWba"MÿGk0xv$
-Ɖw^!;!v YW>"S_:RvplaQ ")[!VJ$IɗNtP
-cի/^J1 8 PS}֑Xt"^A'
-s؝v_8U.qw N+fQ-6eKFV]VmX!dh.Ne2u)JEÄThFMK_xfTTW;ߕ.v :bY Jˊ{<#&SE_a~U6OzK
-Fp:l#^9V648\]/%>^hQ-5}S_꿅SO+Gxt2x?d{2_^#ޚ`L&`Dfa;3PnX̕ ʒ4d-6
-( ,˷|TV\~!N;+vu>D{x&.[pމ|OoY8܎Jr B e</zK?3 I}
-42:~7I m<B߀QZjd_}᩹;=pֳﱦ Um@T%bi,ua\/MAE}(`GHfقF1eƗẝWG~cq#ZUy
-xM"R
- ,i M
-fpD) D`eYՔe&ܡA7YX @|7ov-řA 2<왋Gi|OV(0ցfp0(θDK:]QBvîe(JRv_"wqa~Di jۂ0T3ΖED_/"4>m\X |MO:rnŌ 4C}%ѩνMl}q IiAI9oj 
-W@}_jWM]DOb&C
-= >FYvY"ķ' qU ;QU)yqC6.'Y˫"%0CS~3Z\8S$fW_X^0k4 n塿 ϨR‹Z-(.ȄȫOa:7EX)&p&X{|wdf+lT~i};I"0`˛ 䕸<<>8?E7R__.
-̍_ Xls
-*תNsqjF ȸg3Nt+O,du-‚{1Y6xD~tdloM6ҋHIi]"`zobgub^ٵr|6Ǐw$ ˝3N3GlAIK>ŷ7wY 9_4侪'K[O[)$>} =prs: {~q1D[ p+czs3jb@}ASGql<Ub7 w܎T_ )
-C-)ǽ^@Xc~ڸ6QR>sl D`Įq=Z.nxtLOԜ 9LPz?@'6y8ңrQ97>#1Hb{P4T@oS:t
-,l7Tzsb('hTox$Aq= zF1qg|ycl.f1>=Os1tܠ_ Dp1 &<*JYxwIonxuQ7<s_atB2H)$I]"xu>jP-Yf*wZlS=z;,TpЄKIN^uԅ둇^K6'HzЖ[Dl"P4d<z;b PXШ)B[LDS']vQ{~7Gu|в΋V;1:S{fݜ_'xLϪ.rIaҝ=jn، Uxӂ\V}4a!hrU$g޸ T_g~Id6ETTMee~RJveDY=eczΟt V& [
-8f]p SIFC-R+Ж![>pJ imf Ajz3[PgÜ{B l8t9>xGO^ދa9-Sեj3
-bRJ̓{ʰxd;#q}C[wo't8T~@4`<=U %2W2Yb]):fHfWvW!p۹awR6Zus? 8wpP(G<2*Y7W26Jٰ;*VFjnv37E!#XH7_5՝`~sR|Gyf$iso·Uf-wXW|nNW -\
-/W-fETXh)|̍A[W \ȸ]]ތ2'Ec']J̒4
-c ovZڤ|߱osGk ڑ&5(2S;
-u9)Ƌ!.
-aqZZ;<?k3[Gd uW?Ԑ(7:n7KSghZv]$7K3kICw' ԙx#_CiXzM/fiHH,<i1 lsyZ[M;P_G{=žJ,=X޲?gALc* `=H^EAgwVIhKe)ǯug 3Ao;#!|#z`glE
-F05 1
-%;Pg PShwo: B LvjA*- KW%:ҨD_kú*7I_=͛5Tղ~`"g+ix3dE2ãd*C₡O0Rfҙ|쟠k0>ַd$BԸɮM:0:<RZTUOפSXcN&,#oz$5mv0Rb7˳ҋU,ip-8].գ6a+`Vq&p +9ɋ AW>Em5ϘTj qɍV(O"8:K@
-;He]e5}P }htzC0*\6;n.: ֦ku4q >W6 8F΁ˡAnHAZu;x8'LpDڛU5K5[$E gVfJL蠩a
-Jv. ƶ4~Yk:I>Z"Z =3uy>!yy*c>>t]m(;/[~%1X T} \Ku(9¾`ћ!o゚0J߭F e߸O(ŋ*_յshJ#M[֬~ ;IfVj ;cv*EISu7AO{Ps +o{(Dޢd Uen-}\Hܧqc6r.x{ muLGe&3s
->Łc]*&jPwh>F x6o%NO5anXn'C3GoIKW[A{ٕ+
-*p2MOhv]a-Z$BE+9\(*{=2+4l )Nx5!A(+dƦT省OE݊@OI8JngSvɂ|㷆!VCk3&/mzt:a<,0
-MN0XrEbۧ,;mBK ;P6OZe[3;Fa]պtHY~\DX?nrb&qdq72A`OUGMx־!- @8\5]$tI:,>>Y-h
-m@?VW?y=K<s *4w|At# bꀧж -d ğ;9B S/sfO۲e2рVx3PTdl @G~T }fkmB#/CgĽXxzz"5yIvj[w^J(-G@3.ϲ>en514c'
-VCCgQ[} -Z@.4S`OƑ/+zmdֵ'$d "fj-kK.=ֻl^z~.r\&O[ZƷjK_E@m|i7U*Eg6еu/)U=?QgEٟو~\BG>AJ%*!sYwx8vmhFljyYYkJl$$=gi d3ַ1Jޏݔ?i!o+W#nEͫv\`Qg~Ͳަ@EXEb]l>ОlQ,?ѫcI,) =-m$/>-xA:Ct$8:"1Ј0jۨ`zH›jxF,t>F657d> /,wq-YoX7i+ݑS~MU0}.{n޹[IpO*L҇&n _!>5-~kK=0ųϕZSwtG奾
-|ǴQ{U¿I')ry!x@.# [)~%&ZUᵸ$A HF:0w+YsQJFSjjԻU]soT 1n]M&]3g5%_f>;#.T{ 3)vPN Qf%߳nFMcJ˴ˤ:MnR̥Fd׬x12m@?5\UہW.?uNq3YNPc3#3E-t떄A,wOVf$1ZII֏@S4f0}~\2JK䒎5ۘ1?]r;3
-nkmc*լ0S+b=7yb0 !c*9mN
-jRivVJJ
-V89B`+&Ͻ3hKμ)4
-u%Jݣ0?s&b1abhȱ(t7 TTnGh R !<G[Ն]Ӽ,<lSEG|o*yzPF3dFrzjD
-\ƛr5r\ K۷"Nk  OU^<'x660q!~B a нFhGH9 EJ=t=؋֌'3+g5}
-l0j_ fþWC-zU I%gs=sp̾w ͈)i@TDmDo5+
--δv˾WCSn-`֟i{=%私3~7qo>x+v/v)Rb:ݲ^RQځoﰓO=l(ubL]I}ek.t$OV8" XBIA+&2/#y8" *7>ڝ#J`'.+SȜe':pUD *ղcFycg({Ӻ>q$e'5?]2HEfړ0Y~a*bEdr>B 5˲k}(<-
-hj#]E=EV5Ҿ: iTa/M1M(C5:U ,:5'#VD[,d] k v%1C!
-"e)*rSb"_s41/mB>Btt@Dps@ l"8"uN`ju^C>؁#`vз?MeUFgرg]Nmݚ
-Alg)vK{?-ky
-SN~Dtʐ8ƽZh5Rᕤ{Ph ̫kqދi'yGkd$\DFP֬ސQKi_}$؎Ʒ$ru Vr=.
-tiqN2~4ddSyaD=2,aW^v#>i_Kp-2I[}i,7$k;8pM-Ҭ!aSi(!/ZYM6 $aWn|Xү~v(BMJ˂vOI4C8Hd"| u,ڸ_!cJrT۴}_'FKC/xPRƛԓhR OBuR
-jT<ۻUCq;΄x>t@;AUKeFǎ?TY[h8;( ɰpwna1JV;pSDԵbI ruG; ³NEME VJJ&,3o;H|ym,}zы2?猔++LHܢ'Ĩnrkٵ`&ԝݮp33,DNՏK)$y\lN$ٗm(|r$t~ e(M֏d^iv渮.^un-Z~6,7"{ю2,=]sEg#4Z
-s66|%6"R(ne3WM_##.}2v@;0(R(O_Xz%<64,90]L*bP6; }\6Ddj9'l\-F tczCwk+QJ3;PwS&ht<ܻ>PmF,w*}yʪpe~eΤC|΢t"hO^ns@;ؠ=
-{3p/%׽' MFfPǩ;wTx0BL
-Cw`!CJnR` y3ayqsDx.>_ʥ2.hG#Yj'q۹я*P!:@Rv1$"z w7OAgK⠈?7uh""ŭ>ySV#xSi 6z@.Qˆu-gbuV Q./oM Uݚ~vu[ɩ!qM"L:x)8l}%iE-քJk۬uOw l`UB#E
-a̚;uPM`v{'k4x9*37ΨxVuV#^R
-endstream
-endobj
-11360 0 obj
-<< /Type /FontDescriptor /FontName /NRYMBG+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /B /C /E /a /b /c /colon /d /e /f /fi /g /h /hyphen /i /j /k /l /m /n /o /p /period /q /r /s /t /u /v /w /x /y) /FontFile 11361 0 R >>
-endobj
-11363 0 obj
-<< /Length1 1713 /Length2 7338 /Length3 0 /Filter /FlateDecode /Length 8468 >>
-stream
-xڵteX.Ҡ4 ] -CR2
-vA6
-3W jH{_
-c3OSNKMYI߀G}WON(DQ;:X#ƧA w`pw㶅llng8rgF`g
-;O O@`FdZ?`p_nB
-km;
-}I_'X/x}{#׋|}i^M0t
-q:hdR{j q`g/,⋉Q荂fީM1c>-_Zmʶ_
-}bgT.?]SKXLZ#̙?|A*EvlyU
-ţޥkYY,8,Geyl[[ÙOt&iCxK4Ĭ,`e9Ἵ~hӧgilF3&ֶ+1Q99Ň-~=Rpzc
-o̒ㄴڹ_[^c}޻8P ERn#TvQS _Ū8-sRVbmF{`_= j- 43C64 ԆBƥ|쿧k%N [>p.!qJzcԒ ZՑla mQR(aD2T`IYW41Dwڸ?Bd*Ǥ^^nBJeQ1'9b]
-ʁ:7`#Fo:vաXeڈ&Os5c8nhav0Ӏ]P˿õ9 ݹOCB8gxsp}33S;I>]WhOBA%DlȒxkOŶkR٫Z8-Wh!jCÊs[O5(K_'m¸J-
-`!y {CikxpbFov|ȤnbKݧ 'ضÔJnWWMeߝ/8iw<qCut`aqY cf hƙcަ
-CD5VS)kO!waYqAZ/fnW&ۘ7<,! kc8!wq7~x[\6߬y= <h=W}
-/Q#<QďҺaC֫7?@ᐫȮg zO5+n ZM<6SBaBzT?"u5ɗ_ r|1_q75.xy_i7Zz|zo~>1%::a6ac\Ω};U+W宏KtR5gZ"a߿#[kf;
-Q\ķNRV̿xId$SmJ^G{Ч OA;˚zNSA" GV֕DH~@f~ޑ7G,WG!ngs2z5l@tvdtqpU]o7vNd,/}z RfУSU5^M{F#æd/ȇuI$
-l%d`#LВԀSa&?]PS 3gډ:[W kk]gU/Gms z|X4pz琉G2e+[!?|.":,;uL8f37<dk<3)[4{wbV n0RF~bIkZOEyeTEg!f<]8cHaT*~
-_hBf0+WjGt =Fn5Ɗ>/d~|܊#X.fJ? 5M&
-W_^UQtjA]̠EQ)׶}stQj>nTHw׈v-|;~274mwS9Iȁ Y°| d,"cg{
-RK.~Gj뜴f䍞LI~ ^!܈=ď
-o zMf3bj{/EsR)( 5Z
-OYÚ3~jpAItzǞo[aa|:o\Q)׊ixY]o~nlX,XQ%=pј"V96ۀbCdV.ixMz28GkYKL6KeϱlW(:_9_ދUn3Jt:
-$D9
-] lLcㆃ LFMpX̤8"q[K | /˅JEu Ψ<JTj.1%} r|d_o:!~LQ]:-cjs8&8|;Nj%:$
-zwޕj)7pyg>AjD>GiTS p j[< VW z<%<b5%z6^!4"{i88^..߾|@J}dd}`AԵu6 n!&FËye=rCW.nJrZ+齇hj8 %\q]'|rT){GC-c@]lK`,>DZhLn9?
-{j(q ~f@~":EE=R
-T XPc!M^{,K0s6uCidk%:Z'vks["EUtWvIWʳkv7GBp oVM>"N Znc):JҍND,ʍb{06[%wmUeYoD(! T5;vz1U"LeA˺΁ VN 56hOxբ=SzNln'5,H3w$v藿` Fl e5aW;J>ma^juQMWSmy(m 2 c׺&ZTf5dk
-ut";)#"1nj7B^Hg,s<)_W}Rn 8c6K^>kUu(T#9ͭr
-IҊ"!<DLuOӬ{~[9q3XU^)PI7mO~
-x/~h` 3TF=XMW_ٿ=FhP]w/ &~C>\\XneSWE/<[
-gӚe#쭒\!|}0W7a/lg[{ `-t1oճ3TU$,"fO23x~r9ATGTfe:S )kk[l-1.KuB3kmEOjq|wrC~Es«qɄ}WEӤi?y]mcu/W
-q/$/з>{a˽%\}d)ǺJ>I;JKuɨIY8o*xmL؞r06%Z$>>+2QfE{L#D_H$iʧ}B̴S_zɞRq#pY7;~vэ(d? 5H E7XIgDF?"V[VE1yC*V;)E_ #v\Duٹ>g)Riߚ^W2juWj#>'VLGڎ<Gq$HwYr̕X]2YJ1,&f_iڹOc٦ `#p&wvfO۵6Y1E'!G/ț kd:U v0oh('%mKMSa/
-N9 k<4 pa` $i.jY/?`U[&yӽ9ߤїZf}Qxv-i' &&ؕ$k*? @UއOAO8rq~zoVC-R}N4y"h` 2LC\EOm(]wyOۤ&*c>(󹮰1\Ptjړ
-#ISF9c R"7$\
-&t矱,d{z_:1(r0zEk^Qc;;HM!jU,\"f}S{t
-v!*o&.;q-^3h.&rmԧDQk['sDߦ+!ú&XPf^$Tԝ4H]<H@z!p$$4\9԰,%ЭJ@>caryq:WÚ[<sByVuX;#;A<U|a;qU4)/`)ܮ0m&NKM,De\qu#s G*Ek?3adY\mIl|h-4ͅ5 5-.f
-=vKgsyOMfTMlԅ>p)+_w`.L%Cn`v3|{I]sȧDvNd,!w.ET lZkO״ %%[6|<B592y 㲭[Ͼ$ھbT
-endstream
-endobj
-11362 0 obj
-<< /Type /FontDescriptor /FontName /IRQJJY+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 66 /XHeight 431 /CharSet( /e /h /o /r /s /t) /FontFile 11363 0 R >>
-endobj
-11365 0 obj
-<< /Length1 1668 /Length2 6617 /Length3 0 /Filter /FlateDecode /Length 7718 >>
-stream
-xڵWuTKT>@:I`dIiDZD% N%%;9fM<]kؘ !H[ J:Hg0BO
-80J $((ICP6l
-{
-
-& ҉qipy&6@C/ԐX*EX?a\IP?8ѿkg0 ";l"qC6}7 PvC.g;1>nh柏mDah OG(`C/ѣ/ QPS50
-IJxb~g_STі$
-i.UǾ#VRBzI|BB
-F[YX,ebp͙>}L\t2r}gۋ8Cr_T4I/E6W;{12v߇e i
-e]:1ޒCx"X  9he r}A;g%P{ sboF%6jZ
-vė^}b^m004<mkerF~n"vfYJW@~1Ϳ)Ր67f$j1xĺS1sJ`@/$k*pHH^=V)Z e,L_)UePR踹0_rV/|oE>wFrgRO{.DF4guvLg%^ϑf
-e<.
-Pk|!3Hq'I~-Slp7wS0I45K? 9(sƧ>Db`]m'F/l_=tI-OLQ KL7idްrzFLjG>5@U*Wxҏ|B7m"'^1aUyHCxH 7w0^v9>­-`'0]z.vuWLN4Qu|5ٺSe</J&Za)CT݉VʼrtՏpeF8 CB@\C\l=(axF>wi!IDGl W6"dOJ`*sTI=4ö |,ީ/0q͎4ޱdJlG
-n9/R\ƚ7&гSƃ|{wZnFsp@(Fxb4-ɨ$Ɓ/!Mpc=TײzMC6Mb8,3#P',jt _GWzD:Q|TMp`Q?XLz|!%+wcX'NϚ(dۃI4FϩR6y}@c,z
-'Y|7=?QMG2KeQ>dW\^Rkq5~:]+UDq
-);Rth~ ɧq\ iUFy1IY:̷ze<dsxK"W{Q8Ϳy'ro6ͨESNXUs6n'to`.]rhgS c909":?
-(|*K[5 <9XW5[z)\tcf~VVJf9 Ggb69g-M_uP{Z;0YQ/&ge}!2\ѥnS{-*Y“N56n_D$[IZS(3G8h, DžnR)U$IGֱ@̑@_'nQ}w{u3,N…Fb@m{|4 kj{\ ܮQ +Vrel!\/(UyK$Z}iǯZgKdP꛲#o>;ڠ**N<8/o=.*]!Fɭ̳{K|#\O6d%)$FP{:5;傱7n n.{BCE : 85DFN0Ӎkϣ=8zh#*>R1\ll}WNOz ŶW\^cv~ͯr!`ܻZ7 mEG Yt U.͓ M;gCY Bգ*m*
-[),p']ްOa$|!q0܆
- I;(y/jg} &÷Z$r'_ɉ;CI\8wDWnM\I%HAYMS
-DUwpPާnYMW5$gsYl+uf]-@d!-/ϏQUk#=\,SNQ4Ym~!yY\N6%h [ 3IO>-@vO
-xCsCt ~lgh^=N UUSxbCiVLuץ~p
-<C34 󻭚0|Ȟ@YSp/cA x7wHҾf_7x ȋX~f7? 4<5}ϜGCK2mg;ܥ~ճ:T=7;kR9m&:2?UWU)V!4Үjww у>#woVb.L}
-|6,`|ܥrMm1/͜_ދ :x[j։W2|Y~Zνv碍gWFq+~,9fT뽎S,oO<ڜtG?d( ͧzUNա_Nq-NM؋W.]`%3jE!?{8 ShwBOd\8ڦ\ݹ&EABէp"3>Dl[S~)8Lz#R$r V][ݥ離!r(gTz侭-cLxG5<qFOj^;zTʫWxײ&L J˝/WwpvnP1mg("tBr7 qkؔæGh*Fxl>$߶Y^Ĥ%0'Rޠrb3cX߈OiP-<Suc3Ai GIXR]> 6giī^y88WRy8T8XMX4E |ojNh]24ֽBR5M_?`[)~TGMpA0ւDJpn)䐸Eu!9 VIw_I%|Y'T+9d"MTjGLN,8˴BQ`H΅kYX3k[xj<_nlwɋO{ l' Gyx;Wg$)6'a=^:7YTQ&2#CKkGķT)^P<Th\IyAJ2nL._SCkh%2&Ne:P*F쾮8%qu8(ɥp=pX}~޸s.]`kjE ɘV ?gkg-U`s@Cr|inVV̫2ǣjݛn'=ݟp}S*kz+zo- k.u]7 .'e_A/5eJ)\ߐa*i%QZnAIH/>5/]$ʖ*D9kQ:"Ix{y!2$>l;Ne ' ߸ӭ<jgH"L@^2s2z9nĵwm2n6$[(JSV9nk
-BU`9Cۀ= 3Ek.j?}rےTBGS j7Sؓ[c'.⋇>[n4 g 5:螿aA[Y)tG"5 2Q'ΘuqN'}oe$6.=O翶o)}T9[\vmW;/y&Gs1!e=7Dc
-#6SïׂŹLw[J1[*tlhU)M!r7>yDErɫsv<wyL~F_ZK.Q>MA ``u]˞iZ鶳seE8n?PWf9}"Z ǧN
-hH.gNQ'Yn{,%_USW$!ƞw46=Y<^2I/c;c*VL##ɿ.F\Fl uQAgҙiU[(%oRyUr^Mt+M_X+/y儩YQꛎ%N`H|(AE¹e|LykE+咩X|iDd͢&Y3emtlY"׋ЃH;pG~ψ"o rXy,j<I
-&lj|p[T^zP'*/Ʃ7iqE#F.4Aq:S_~fW]\[~V i& MLtitu/ o)Ru|<eN|֓$dXA47A)H&|_`[a;GiVnT4N*76(xE;S5Ϭp"t,17㙿z/e<К٘BWڿP{r5x/3O:#iHOQ]ĮLڤun7XfI^#{v:mj r[
-w')7sLx=QҘM3] 3㪞"l]퐀бߍߍ]kyyw3c;v8LroqvLt,ܺ6ݦ9̊˄S!Ѯi2-~2XU4VxHaHcȬߗR(]9 }b;oxS7͢؊h4 Iy$SQ??|.{Ė<&( tOwxozdN4hչ{`S8#wr'Nrpja,{F+ͪ/5f_ U𤖾_98ڿ(/6)2sکbf[}2{}muaD4Ӗ1d
-WHt=Ho
-H"s}|pC
-endstream
-endobj
-11364 0 obj
-<< /Type /FontDescriptor /FontName /TXCPTT+LMRoman9-Italic /Flags 4 /FontBBox [ -469 -292 1419 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /n /o /t) /FontFile 11365 0 R >>
-endobj
-11367 0 obj
-<< /Length1 2013 /Length2 26872 /Length3 0 /Filter /FlateDecode /Length 28072 >>
-stream
-xڴeT\5@nAC4]Kg3 螥sSU-,
-EaS;cș +lgkR1903(]lFΖv Q#g /`݂ ߕ
-˫
-tt?Q3ڻ_
-2}/
-`2_`
-*Ύv@ K9;Z0O˻_O/xع{1spXyۂ+|MM{7 Y
-_xֶnR#`(Hioف>d' £)h2c-Csމ(AV,b(QV:+k
-a >%I%9;wZurw]4CXc#LZښr\Z"ۙsSi!p)YUR͖si8du}]2rh&%&W#jrM X,?&*^t/m/۞cD@{vG.NuPrvS]
-Hgk;5Mm%IT- VZpRuUZs,銓fn}P' a <؅  ?E)]8;NoLa2ތb-^$t[sHżTtK{Y#a!wH`sz( me;I$[A Y6Ĕϡa0?!>uutje_ eMK:ż-opoMc1"UbJ#jKN+YQA`K/uN)=־'ϳ"Vo3ƢNyh2f@ k˜IBC_x?[ J!Iƹ #%vۏWQ-Q}/:H`ה
-Mr`ϡcܞ nb,Qq]N 1Xύ]Hy=Y7v:05!6juJC9כxD`&?vtjC)J\gǒѼ|"ϢZBJ編B50u
-Uct9?HͲ˔n"hf?е pV3QxyQ8>L:SR觿l#Q&P^ej X_I"
-9hlMU_$0'SܫJj<'~uE ̂钄s~ђ70E֮Z_5RhևhQ"Im={'%D"q9qL]_*xDU W[MvQX~YJ/Be%3Wbe<79m:="WyO;rfHAM;{;mS|xϺ_Hܗv@+ 'TC?Q~E٠r,.C5:(MB% VfA3V9ޟ)'fkݐJ"qR,O҆/Q5ؼ1
-?nb$$aSх 29h;76<h컴qR u8a$В_0:]5kGs!CpŊA&)J.H]"C1ܳ@€Li#!]W0tV8:As< =*FZ &Le-Gé8+Iu'[mG5`u1X''߲ӄ@[3薿lge?@t(aT^}IEXφJQt/V2[]@ǒ7]5Wg-R<p|Bad,GsMC 
-8GIѭN Zqdr4GDxiٺUF?fftjӁ抱[sƲ,~
-t̳A1vjeʢ㲄 <2)ÓvPj]`BǠb\ /+א0ڨ`)+,aƏ U&"u0DnY*)[e#1 G
-k.Ȁ4on%{]?u1Jj&y,l@=`=Dgk4;)Tي#e!vp>$_|+QnDc6aX~Zʉ)$IOM<Kc&B*IYHb;hTCPCw%9UlC؄b"|pٍ/:Ju8,z>]$!xchP}!uźO=ש8ge ~|@]d8R>;57?7n2ӻd#[%ҳR'Cъ= 3ʓ$D=hQ9ouxh(ǷCSF*%v_m&]sRna{%GrW?o$>vU#tȅ$Fҕ!3uߋUhs.BW}2zޝUCˌ S<?l)t$?ṵgEMۻZ q(uw=>Wq$\K^$FB%t,zg#jV9[n
-^$y$J<7h@|:h+ ]
-GlǥS G)utbD
-HWzCCq &[ ++UظGcU7Ǝ>\XH˰MZ TbT+z9aQs?iÀ 0 '@޼7c.<]f% 05G XԡP_m"km^L"BXZ҇Ϸ~]~C# ;^rhAl
-"9#i$'5
-ˣ]!z
-BGl~(dxhlz*(j.
-/"ۻSXδ.VpVNP):ͮBs3S 9;&DIU<#h퉒ޡ(F.5+.W#) 6"]ت@)S+jY
-j{R5W).
-+OR;W们Z*tjg>Kr/=?O<̭ۇ@U9e)f¦sVG-AL=˘ʔ==VI4*RsC2"a_k'^H-qv o<j'ToiS{Ѭp4ki?8
-'m1\҈gwJ' ~2<ɏlo z&k\#c72N0tJ:m< D[o?YM)&Wc:ALߦ2/hhlPQճ&yZ3ITSUc;]YTΒ;-W{cd/<" q<1|x{ cfJg0;,;cIlN$tR묕%8"$[o&lZ,B#%5'Qw$lvpS?4=>:|J5^j ^gk4 |{6υ6Pb=Z~x`\!<ekӄ5u&dQ9A565\0/N#ضI}-/8>a,
-cȼʃz<ad8l+{'9ugݣiˤoRFܦo-8Q}^^/
-r$2%/:˰1Y'i2O]Cxf76W%μ́J7U҉t*@ 4EKiWQ9]㮬΅""/~qݮgs45Ǿ}kQ%ް'(~']1?ołH1즗 5 <gY.m$2J
-n?^+?H~6k 촒[Îvr!&ӲP\Ԥv]T &w#Hڒ6ѫ%LP8N!ߑ5#=d+_o`Yõy䤶4 b1V^蓺okBvqGfn$
-Mv{L;º̖/?N`%9',aLr Nř"]B02өB
-eMX%&4 t Su)'4# ՕU; w#=U,셢ӊ"g DW1>6R_xrCSvW8Okl'ݬvU ~SBPM#@'BR`4'ҢbHI~lo`t'w`'FFHl ?T%0d!Wks׎P
-7^AH`L`JjUt,ɑfe|t,ur~qn=(-h]xJV6GWB|q;pƍM<}醆[YCկ~oO*KК4x3CglD\ vĬ
-Zww t_ݡPn=kXemtGڶl^`O(>}V?;q<)i E<}
-
-RB6ydOA Ю
-&"+pOE̞x;xL#8[t<*OR.Z.˚RunR0%Z_Ge۴2 0þ;3PE[ks y8IvhעJeֲb\[yA093tt\-SolF:{<jA
-ٯDw>@e Ak)ilZ+l"R5Lv3Ƭs>8\F{y_:#LH}bU p$fPg2ćL;
-HC'iVK|@
-8οB~ۣG=p9Kۂ*0mRM!.۟m!@f+/;"4GG8>3&g3~ȍq2LwH:V'E&|!Kt:3}JӤWU*ۈٲ"fEcWEd^pسm5g=M ڨ2*>PeGFJΑ ~ʣbcu`}Ct[Kp<,IA-\g=>^U4x]"(Rdx'+`+ 7d::,6?4Zċ
-=QoEX59J+*l*OE=WeG8\o5cƠ+A)9~/S~ VYٕ]=bàOmMn(<Letj@@L!}/Vc [jGg^YZf !ғwUuᱫyD;I:|V)(,05+ad%5xϷ{rկzu(uSeImi8%y $53|3!􅤐}X;3;t:xKW΄k>!^1=R2{/T8osa֟
-frJi@J# #rѩOMFxem+|*eף/F"iޒƭVFͥ2#}rFulEt)gE[׺6 {$b`Sƛ|M|ٓJ$8H$K.6N~-
-jo; '3[nӞF~I17:uWG^#5KCfo-Iq␨wFdE #-KsڄuscmiC3bE!4EuB`ei6s̓zE?c{jv)@
-.Le1/s U
-UbؒֈsMe&o2h%NEG_'|_F%
-x4{y.U4-76Nd\`N?d
-=d|?exz9#pYgڤ}#d&mÎ'!)uH>m P_4'V5R2*ë }\8Ic#cшBm|-3WįDȘVc4cYY/!ԐJQ
-[J-<Kuk[l!Su#Ya BV
-=(]hVFpcZ]Ғ6EƳ9v?[8vەr|kv囶WSuoV:0o
- 8p^5hI$)o̗l5J6wgu0c!D9'!b?_R9fHY
-՟{ynUT=BNA^d8?bm5 at-
-.𗐾'P V-<T!zB:W_3JVE%mmEu<z!E60[y$0r46(qSh,l8QD)WW\/2ZZ<BJ&~[?gy)V:<IJ:KxރNt?(0nSf;Skv,d6,);(\>$5JDL<BB9_uDˬq< \}ם@J(;T75\6U5,i(mX/nfC-a Fw?o4IJIe\/ӠH/!V^(GJ J*:RS$d4͒yV!H-lY#јkek?auӚRiESGhbo|b *v`&m(3! h
-f<$@w! fc#nʕ+fpd4NKZɚ]ro_kWjÃץ}|@ۅf-yF]G{s.8Amн_`5A)vvhAM *uA
-+1XDwDcֺceONʗU$)y0ζ 3\ܑD$49G6"tAoDkB6ק?=:qM<Cy'&fEuգ?Dˠ!i&UaU-3ϻuMC*fczɧ{$,mx(p=,_A@>U ݼ^AZ,j>ȃbV:\N=8(6OIY>p*քp{}0QP{O-nV;]n"˓ڀ y.n=}Y݋-G-T!?{ԍgjEjup̉+/%&,*3 Djfwy5ID~weMAvV?TW [4'|Hc 84RyNG ꎕH|is(ngo%6k+qcV&_}Ts[0 6)SJ5n[kb
-e3vP'9meϝ@pC,H7 2QjEYf241Hm*8w>juƗ)\9=3t!se&ilCfxf-N5ܾ\LT[_qBC7=*>󑃊N(HfL׿'Ux%<L}B$9%~i :h3}jK޺'0ͫFΐÛ|G=ݧkgлAh'.@uCp+J}@\,\ I*q/&%A0=T%dp$bJ( EXjk2 mGd'9%/"mF$"| @$Яm?wV
-}ɛ᜛ ֟SAW~Bݡ.a#oٰ?UF&}檩+*brQQMcP?22܇*&Jg_sgʆ^VB=.2dZa`<<Q%8\4x`Tn?t&0xOUtaL6tWA@(wp_G((#*jW>R^TzٸhǙ!KK$df_睤F{(4EoQ  l`TknpsYCXEu$lαY,&߰%Be4QiFmh9d. Iu^BQ +a8:.dG7PQMm8t{pq
-" .H['v`c6ƭӾ Dč&.IJG0pbK+]T+tۯ_] @Q4mb۶m۶m۶bvR1'=w e]&CWfk&uVx~3DX7T&p`\I{ʙC\x+L
-BT&ȝqҶ}]߭ɌCd4r<`ZipW/c$@i~ )m&Ou{
-;)Yu4MhTDa*;cV]`6dߝ ?A?VYZy?VoV<G~nP&rWg*Pxܟ"9nq!šg1TE8>u]$9$R h\1Ts7 W|pSۤ0 .-֢l*i (S5}{IJ}J֕WމzuN##pn^e(Sv̺al0n2|V腭3~X@^rK;Y3cphO+-[sWjʾIxl⭚}(CH=ܼJȷMgJs=)x h}?U~z4YUo湥aZB3kolƲaz1kۈrfȮ<5Fϸ
-P
-MPKDH3bթT;H LFW*y#8{ a,=bBX9JݑB3Au2O}&g8xtNdAT/]`Xǀg\ha oSWUbzRy-CƴM3ZC_߯5 ˠ3a 5sd5*CTN cX8Zd͋{}͙#G7ARo`eJ:s-" ֚*c@(Tєj) %XPvn]NIkOc Y VN -8}XW7:ֹ_Mf' /<6>
-1Rc2i9?eω4ݥ;L0~Y+'X=FmWQ@^l2k>A QXpFcDu~cFaV
-`E|H`5`bV߁صhS!;A`}="LhZ?saLPY,Xs|Z,}" FOުf%h<1 
-֛J+MʤOb \s*:!J/TvBZ̚Lߍ(̐9y\9YD3_[%Z'WFg#ʾBQ>
-taH-TPs
-6ً3Ru{؋`<G!MVIeAdG MHwY+f"$t uJROHڅ$(L^&*/y5,cܞ{b~76k}xGКmoug5
-jaw*<,PCyE[}G@fut{u_n:]L뤈-~݋4jbP&Gʖ9qA6!^! M캥M͞>`Eki΃(RDda8ow7JK~@
-CEZ[#ɳ nfQ5-
-/ :p}yŽ@H3 ~xUmQDɡ%#\MFgcMX3즥25tn_=AM1-
-nV9CVim{`q _n\`'l`H-s `XHC^g7F8|ݖ͌x ƾ_h%}ioӇ*)v6̾:v{1;4P(J@%x<!78b<5.><
-9P@O L 4 ;y ]vl|i=P$|soܨTռ]IWɹ` =-R) ,N@2~hRuP:\o;f2;YGQ. -[}α9VzΆL:Rb6&Md!U ꡲks]5h&r,{KvzC0ƎK!7Zk%@@ش ܁wMVa H]ryIR=, 6) wpXoKU ›??Q#OJ.=`<7CxF~Z#P8 <,=|JuܷWL~>TwUV|+GdbWTO\H%~^qG+}&~IK25?0' d s6!lu/ܪ4sSגʪlo5J[̫*UpP3(k"iuMg8‹P]MZ6 ߼M藨"e7&F?~b{hqZü1?C.N\{$',\ L}_pg3Yv1
-%tNX=hC,fv mzB9Xpj-}*
- TWOk-A!]I֙
-nHBkΗU=I.I7ѷsl?xyU"ha17^aE=is68Ʒq r虏|ZNm1()+uF_²rG&4Xq@c=dulNⷺq}Q{NdN
-O9ޛe,#uvX3]v=Zv7R-+xv>D*M\6жX0@sBzGtO@2ϙ QRf[\#E˔35mpk*,^PG
-&mUS3[yvx*ٔ+/}0͂h%VYn.o~I
-2@PCm7A ꂽ7=XP'C1_A.Y9Il]<NE.ѓw ܁J;ًkyC2)rڮeX +3XL0+wG)m36q7M^tNmj1_6I$;RHCM;ԠgecKEMMV4J
-P
-iҶ gm,x} 0J
-AA-eQ%mcs/&xb䓿r`RG.'6Ej+ip.OK0!<'XrY1c] Mk^ܚۻ<a9B>HX6"}ҷ?IӡS癶JFqWې.:h֝!p9;d,RzFom RR%zfԷW
-XVJHc_Ta8<wizؑ%/U$cHtEDGWbI/{Rmٽ?r;Ԣ'Xv{ ^+B/BJ
-b<3qۏ7'X̤stf
-LO-]TS/+ rdxڄfÙ!hQ! 5&:Ib*/4*!(m˩OK,x'V,KF[V?UD) Grk@qf0eD\=uzIhY,"`;Yy>=Y};)UH7?w@3"8H(S9^ <TcG ÚZ_7,[ .+g$\)8TJ8Bp(Uj4
- DmpI0yK%Z<]E42@E7>e6FTnhƂ{wx?]r6&U|[ {]MP*Qf`kU5vEV{2'c #
-*)Jiu7b_xN #yy_x[yߘRrULO'wQBC&մ$?2
-hV=:ޡ#| W/x͟ه4t`}E:GQѮFG %r[}L_ #K: ^ t~K $SNY)>~ukϢ|Q95%a˳/?>I솨>AU**,L(^tUm˛@Z5yPnn$7mz϶eB(˜o
-vkHEQ.ێ#N7
-Me2;rG5|%FLM/zB.>0
- 5H,w~G)ڼ6L&s7o<07[!i̴1H`&{K)54t P&ѻߡh,h*іh+p3VhP6F
-C݄4G[m R
-60h墤`\->$K,ᐖ{i c쯑T1¬u`Shi [9 R!t0n#ȥa
-1cL oH[} Occ;oJk<MLH=qu\K3jvpAFުW噌"Ɨtp{5kv_tۘz2 Hb6F'$5q0㺲/0$+~Qʇj|fg˜FdՍ0HwSUX{"j(F}g 7m"\&f.) a;x,C#m=aHD۔oY"T>CBYda*JP߰yȋ5W?NgG]KrʮVa0i"G eޙ#9S(iHL۠2E/><ЧWtT5.0s2,>!ՍQG0B7Hp/Zo+r\n`{5&Ī}giW[C4<rVk[olwǹ78vvuӻwmטuy/➡m/K%b;{RF(>'4/(^v
-8-6 3Qi;hZpaH߄%>{}da!`XnI;4>~E%;L>-r 7g֒qbG3D$J0+-ԟ2v[oݗȓÙLg`@`r%4Z.Gx tӌڤ;b_,x"f)./6N@t{{ʎ0Ld3I"EdDI|H>ce\;OzcT
-ڻp}*}
-.m`FM=4 t0l4FF?KF0W.Ie5KjZ2Q)ǁ ohOg*5C'蠆T{LkeZ- y/ FAt`nQbE#&GNut(_ΗX(0$b%؁CJѽ"xkzA 3'/3'Eߏ_h(ӷU|hA'W"?J4,SK\f8ͬF$.v1Ӻ_ <Tc-HoO6;
-*D%&iLk((T%O<8:a˰J]ؓf4(_;-! vjʗ̀~!goM!"]܏ԫ6!P1 :Hb[l%,ŧ
-)d$K?szf%"\aByG8Pr<U1(t ZnD@=>%tjbi-}[vRXb|V8b';i!MFQM!@gD_A?PJ>_>k\x#ٗX3WXEDL+ixOs[龙#娞"$?|AbG.e
-4@J'e矰41ry[gzACycAFojF{w\+,&Fv$xTm Er]ԯ6.&{&;wiH
-ZȲǼ
-Q[~]x<1\e\^l?ըi?5|JX 4T}~0* _xnn SZѵ(`_
-endstream
-endobj
-11366 0 obj
-<< /Type /FontDescriptor /FontName /IATCRU+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -9 /StemV 89 /XHeight 431 /CharSet( /a /c /e /equal /f /hyphen /i /j /k /l /m /n /o /p /parenleft /parenright /s /t /u /v /x /y) /FontFile 11367 0 R >>
-endobj
-11369 0 obj
-<< /Length1 2065 /Length2 17708 /Length3 0 /Filter /FlateDecode /Length 18980 >>
-stream
-xڴeTʶ5h !84];[>s tϥVͪ2!PƉ #l`H4u2p
-+;:eU Z
-̇ldm?cCWzB2
-t0
-NFfolLIqc1CF6@GG
-<aAbEw~#I_r|\o xl9Õ4sW$Ivyt:\s`ꀚ h"^_~7go1` 'Gi۾E˴sJM2:H5O|BxGf[%}x-ۚ\t[=HKvDmڧgr+SwdkC߳ 0oj>z˦|cMKk\ /2j(::3" ӲNTz4) o5~DuàZ I-#ilBFU*C s %? yi l)y4^о$=>f^xtanv~ǠZ02Is_k=s/*yyϲw1[CE_ʒf-ouLڵu*Qp+r0(%[m`Tp뚮v0&yUaG&t؈ PD`>t9tq?MW\1s})L}`VUH%(SH֌)ZFsǕV=X5:Ŝ:Y*M.GcF. /do:K~dۀ2?jW=3ewhWUf(}
-̯ʾ%:ղ3vݻ
-˜f
-Bl0r z8~9\wP(i3tAcg)etOhcPvxNXKo+XaL<.SsQ͠FHAAs0Y;zFteH;5v*nY}q!ٹ\v-Wޛ$c)YZ* KY1BaR6 f
-H\Aƃl!Go~c03_:
-_y8Š= [to<9]Y s5C&UlYh簠+{>39nt2RڡmMD
-4u"aւbKs-MxTS?[{R܁YRBlJ qN ,C޸_2ʩw[=*/ (\M9L%L]&yHY a\xsZ]0.o@۸@= ½.\G#Y͎zj;p)od/HNyJpU!ZϦ2݄<'|YEs}fx]CRsdg]۬s Wr1}LK7(#6I1,q]Ġƶe`p+}`C.qw S
-ݼԗ;p"u;1׻ffC-j+ǹ)#BH>bՠð[gzzHʍC´q\QS0Jw/ujpOp0M=צ]@"o`.TvaFqGzq`gm5f/I>A`ٝJ\#O1hMK|BVscr  B] WDG&@e}9:CU}߅սO޵mhO,S#M b% ;}fy[ȕX5Z`Xw&|'"V́I\.g3_̬j6x p;ؾ P<Mݒ6ڕztrw8a_t; 1&3Aj
-(%ލ8uIe">S]G%MI,ʮ,[L<OO$ ؟I%V| n2Uq[t1
- ؔ .ޕLb^9(ILQgTAN&5_b>mI%)Dkn"^Lwp:W\qb+"Bih0Qqg/IcqÂ߷kXڗrRTRw\hxg07g~c=`I2u<¯]3 \n
-T[~@WEk"(d?"Un,$ʯv#T᧳T>"$R\13~+ )c&R<OLyǑ5&}oe$I
-3$CMW3U!lk8{W0vbc.CM{2Sd]6 2/=\9{whl4M)1cZIb.QaaC&U;vi1ҕnk$x>0rx9!2K<`SI iOܢֲ-ބ8ӭARw{g C{`w{ٻ=a41D߷(^C[>Ğbe!cw d*rği׀?t:ٞS_ z@ݵxRބs%jwqL̘:?;yC-Ђ\~׹X.C *_E\=#).<$:i8JN[,)!Eu4cQJB"U5x巉Dd<j']AgilEk_r[O 4^|U?ZM ] 3X
-@I ḣDYvJk<=qw`ŦxjQ ?cOI{%3lWECܔ:ͷy&%1eŠޝvP_Co>0uSkӤ~}EZ^?S*Yz$jy#r^!&v$P>yĴLA
-3wbUT#W85S;OEؚjrYEq'fG?9Ԩ﬎ 㵅RQK9NwdM_gXL1.<$5A.OLgcΎXM9'~h p9LsKqtIj^.|BPYn2Dꡁ`p?2{](rKkEܱ@F6 xfZօ913z #łb7,\ǸWt 3bB.IU01(<b 15܏K ((I2.PΆd*I7JT u.v
- -Ȇ Y-w+,rczsye^8PQ<*؉Zbj
-R]/{i'{pKلĄ~E v^W-8g)#ij[= ϳJk<N:>SIfp+B-RC[/7s177$}?Wbb3ݽir7zBLZPR1مn 3ϣ3jպ['9PFc,հRJ|KCjz)G"bAXkMTbHg^I8 s
-PhCޖE3grGV{F{82TɅ)HNF:2ޔ7.q5\h9ts*RuqKDj*k/Kơqew"=B:~ڏ}=#_+ʕ?$%7e4t3KǩR̀_͹/EԏMBXyHjoVo*3?MhPҘVF!wX B~ouBr%wnΝ3/+ݏ$؂ަhf%6cMI~4mJ?*cO M{}uzꋣ" a^Max)Xh(<W@^.2j>ʈϰ
-XpqXP
-qI
-E~|ΚekOق
-_#%窧tR ^?DˏSSN
-(;F?YBq\\(>Iwb,bteխcW/eL]%!Nwm54fM3ϋhCwZofX0 0
-Q|sFK#M̰p R{^G ^pG @MN^E;]殍Dox LKygh08#"?}UӺ񸅏
-46i3]sAIn15*1Hm8gt"|}r/.#~Yd}0ͥ'(h!<j.: 7:1Yt fQDϞ*ww,lM w {>aus0_l{%m*ĩ{~E;{R|Hi3A2coS}YX;A}xYakyJ220_ Xƴ]hmxRasUYԹsDҮ2ؠ:uh U̯)hMܫd^q 8S4@/0΂[&|ݩcU4mqܞQHEљTUThꅂxzf:I@|عW:'/}hZX?
-f7g~ˇ6 O/$uKhf=Sޟ6{{o  qH {D} v er ,I#+l_|*+whK2Ago>[kl"vaXvoi}wޱ\Rp2ujHYR_@Ϊm*_y0]
-Xc7g㧔?JŝYD2 $Q2uH U~NƖ4fH,s]H?..R<(U!F}N .yѕi\l k3VT֪*)xA]岸ĥzgIFȴO ܁u'̺O݄v"}hXv׌zo.I'C#b%Z _EŰ3/M1&X_7Nvra.gg=ljQa "'b 2<#ʤ_ַjlܟO4Q֫5ƌu,W덡`yF6:\,m~\Ln}z=6퐦ȭUE|;HҼӗ=tGPhf0dQ|GRpƧ>s=R"ۂS8ôEk#[P~qļۊ)ad OX S/l/+EcÉE ]9'.Hg.~H8vCҧ`rOHM"kίE}=kҫ!f
-c3w ť]Y8&d g.iK(5!fU'M*OsV6Ur$ęrA5 Ȑ7tKʡ۲_K9mj&F(_ i{uJGYJGN4ÙaS6T%X:b(*^}j6~kSR/.GϢuq_B| HψmOExP(I[ݺW~PcUuAt1H Wf5dꨳS UD=&LDBkf1~_QzSȐr;
-_*
-"9"uiH6 1 5bf޹r)UV 3}Pd[ m"qۦ]&hy@ Aޯq])-Թ&V1)KEWjϤײQՖKwCtu_*XfWNFi%VHYKK9#qy:(. D:!]Мw/|K"( zVoO'W|qtm
-i]Srxm>h@s * ҋcuq@d+ayހkHr6qێq\q4:.$˺=I!VG!<ph!ZHQhpiLu_٬qF3Sja%v-nP#"[a84QV1ݩ*D.._b^GAb"2N("6={.>Kk/|f%n>WfcYh'!_[n8ę;x~_ ŢG^*Z, pWSd&3͈{ZYGWi 
--+oG ߽2B:Gw45R KnfQrki PY)cw6&1[fEpQ4WôLM:!SJY3O#i_HIcscIŨ/9e̢ʮ*Giun+#쩴!lxumd~!{tM"me[^K:4t7tN5}Wٲ 9 {7N!/C#rHE3FO`U_{ȔL*B/ὙqC!.#YJVEDZXȵBsr{_:[ŰqD2K?E{B`V3斷dV΍Y'ܞTQy E`<ԭ5e}3tr,OxߍA50;)TO_s?l7 XkK?\ C(u}ж'OQv!ă$iױ-}$u!v;U¥8VAc# .%Y.Ckjwveٷw, WqZ+!"VQ&Vw2吱n(
-3Gw
--k OVarEzXg ݰVG?[tCĹ3\ˈ}2
- ?łqcrxZEe9lf] gRGOfxE%B2έ~0yVI%z%.>ZP_4=0Rc<T\-M
-B=NqXYr~Mt m]@[M;,;(۞>p4A}`] tgJ\9Sk1 7U\.v9I8dz6Y0pe6t(Q}M*g<"Yci\tѩ#BBG x9)AWT炝]%qRla rH@Ĩo!q9)<ݲ:9V|{
-Lcgdx73B 9yKחk\&EU,W6EXYl3w{}5;:.9o|IZlͰ >$quq {3I +as>- ['-IΛiQhKfӧ9 _/O4
-
-
-Mg|@f*oũnx(TQ%3J_;x̔Mߎ9VWlW`L:K^Q*<cCe).ESK;A~kpBk9a#TIs&Gi031!ѣ8p"{ [:e&~7+ -9|cvD\"Zx=y&f5c:6kib>rz2S=_0YRi
-|qb%ʲNYL`[ExZ46x,uuz!naH/1_8}ݹ>w^M O8u4$v)Bjav'C'ǖ;S n|?lSg"i0, c?}A90XUɃ):ԓu“M -_-ƭ |b)Y7O4Qp-KŐ- #}eaվ!0af;5m
-+p;HMPl/}5Xr-tk!lɓІ/Zއ3 q)9"M^֎wfvRx.Is/5{eC7蝟 ))ܴ"1jǚu|6}"h-#䵛ֲ%?c0`*S
-`/iVT\,y$ߟD~2]FǏl|YUĴOM曠$Ë͗x^
-fy$T#/5 -Hu [HNRvc :j)w \VA&dRѐNIgt]> Ag<+xhg6Ld+0d],SX wYBƦQY6}cHez@X1t
-s߅\Z+Ca޷ XW^3]QU|. {ml+jG%x_eG>ӳp-= CR@tZ7wkcCM.I|%Ly`xj#;zag$+[v-ٗoI2O
-e`;U\Ƅ( =eAFoP;rhYzl}l!~Tpro@2|D׿m]F;КR' pH}ٗ.'<Rb25S5@CBjkkC{EW_"gSz`)L'X+?y4OsQJpiA!f k~aSo)zfWC54HϫM"NASP)4sfR=ZyéyDcFXD~Zcx Y,1Lg}DQd!$@ÓU!fbm{NRzW!И%;9
-P?,sĩ}Z.](4 M+
-10کG՟0FNbZ'CV}12ٹBJ?P!SDܞsь33
- w=z="׍Eqt> %ʆ,;KH5x?nhBZxMfVRf7iމ6\t">őB1w%P.rΊ Z'4DETBbm;FHq#Y\@UJ% ~ CHHWW34's~>5Q0]Ӽӕ^UXV#فMDJr_ێ/PYY{^lCW[b}\ShJԞ2hE}1"}̒}/|$s\Feog.E@0bן'&85Uݡiq&$n,c;aTÞ2
-z|'k@΋+V+>hN
-;?%^Kx+)=R@N<5Zњl|1il>r2XnL%By_uyd&eI߫(0#u7yVrcd2 ݹGCK,_ۅрŊn<.Zg]ݥF B/I+ZLKi&G4]va$t=J |I鈫axn2#? P(v*wmRJv/B.͎4A]4"~{ȁv c᯿7qb9 1$I05`̧F$ٶWܗZ0j;3XM
-`X79> 8r- "6YX8vG|[X5{JrW5J7|bσ
-Dw:V7F10$PHZܚ}qiGd:.2Ҕ2힂A!Dd\NjBF$ﻛBB;7P43:YȒW7eF9_eʩ\3hd(w
- O#|'㻻iע`-asuZ9K2iЇD|ޥRC'9c*$"7XДDgl/uDqH˒e908<1U kx&BӴVOTR侴 Ӝ<aWi)րȶOL'dr9#;p"WH %o ]tH4I4efŃ$%ʨ9<wZ{}lga'mVEf;x5_b[O3xNǟ9WJDC:M`WqR"Бe 'L;"sp
-mI2ܴ [{E'32O5GbzQCE Ĥ_2Vp!YuZݡŎm<rrlAUK&Up" .ّfW+=14YȎd5.@-[`50z~宸Nԓarug+lNkhP'⏵쁆)um Z11-}B{sWvk^Eᕽv
- Z8j.GA<MĖy`JӋpP Yrj#la MA-g{g- ̋*oE[6s$_.ZMqX(Tה
-b @_4׀nh|h{ <ߔH}^B/Xi|IGQO~^&>\er+&Wž˪i!Y2(yG5ҾErm\XdӅpdh/Sw&qmV5tQs(ǥ
-<{JBo5L?Vl7(L^O
-f֏8a$) a8MVɡb#:?2Es`yPU;X14i2Lj8}z U샭6ѫK}x#7Hٗrʛ Ňu;Zх v# ~S 7mKۺ&N_(+GuuY
-nB
-R}ia.^i,ԨLU/Wϻlei9,
-_P&T9q o/ֶa$
-+kIU۩QXʧ)IW-
-4
-YV]':qfo݄G(
-i%%bL Ekʗ1G#>\ ¢! rlS@!j8I?O`ōǬ4d'k{>b$
-Rz;pBg5Ϣ1`é%S +DƥnQIgS${#ш$2[#caQ6&F[ߝ oTg>~PW;2
-?FHN?E/)#􈱗ŵQN;\}jk>H-44Bs1 pg
-ٞTJ0[*"`X ` X_ Ti2C{5R}d [VAߦK.)DfQC~GjS-_Dj^@oc]H!1;;1"c%|,':m `\
- uxT!!d6ߪH~d h;7zcJ(~RP!uq%IT'RImTNj/ ^ =䅷vS5髈L 0Iorx%”õ
-
-󹬞"Upwq@Ow}XL!cu(w)kO5!9a=sb k(j?P,EƝ{n> ՅcKN%U#$QAK>ICQU7yѸ!۶%0]zqyoRLhc=.2hEeC8"NqfAΗ-5T)-[
-endstream
-endobj
-11368 0 obj
-<< /Type /FontDescriptor /FontName /DXGFLV+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 78 /XHeight 444 /CharSet( /a /b /c /d /e /f /ff /fl /four /g /h /hyphen /i /k /l /m /n /o /one /p /r /s /t /three /two /u /v /w /x /y) /FontFile 11369 0 R >>
-endobj
-11371 0 obj
-<< /Length1 1754 /Length2 13064 /Length3 0 /Filter /FlateDecode /Length 14154 >>
-stream
-xڵzeT۶6Npwwŋ$+.-.šPh#FFf\zJFQdY
-
-ȮPy*
-xU ڿ +@UΫp9-)-wr\
-'w?P:Ƀ6:Boc@t[[sb߽S89Ζ`s0` bA @?Ln[K^Wfo;f ql}ٖ gw;w
-
-
-rs2wo`+_/l|ݔT񕷯gݟ WJZ:8_a_.CEM_EZp/79gK `fJn>>/+^1 
-
-Et__;ݖF?辋|H6ԶZY:Ղ㵄EI4 ~Kxo'yά(`\X7C|c~^MzGq\xFŏ$D&<\t(4 @5zV@ZvAe 1qW(Yn=3⯂o;X؈]ָ1!Ѧc%
-{gf”rsJE{қTl<QX}/_hcҭ&YY Qˮw?'Glp "B>OτA(f
-lJtfgmYQ;Ǎk߅Gُٗ&11m\eݷ~q:\ /Z+''n#:u| ,4b
-ChdѱDsފ Q@ l A ǩiY/gGbBVu]dcv/uV:&t,#QC<f)jV٩a14S/<'5LǕlyl7R/-
-aYg)`e˧
-є+*&W.=(ߞ-"/.vztu}8o>f}G
-omXߠ:ë[j," d uw(?g'`O*3˹3W
-6kcHIdo#SSrꖅ|GNP]zRS1cࣗ4iH>Adtpj.4o\EI_!h jJ7dtů]JŢ0g\
-2E`gA0*!gooe1m܄>oZs1;4W1!]oxDBR݉~Br4/Miw Q0BEܭt*ۓsYi
-H khriDٛ]\p!\z/St70#28bf5vzP VkHm~YB!2ª7a|դf"ӲGroeSEXG@NnKX6K 1i) !~6ԛhK#fz<`wCGe3 ^O/V]= YM8*k@,YU
-5u(s֓;CA^&i t1SJ Sk̳&>Nz\*y|PII:D+*9GÎPȵ^w,F6d:J<JyعknQI#vQw@Y4_@̿LgRg c.n>cmߟ'@:<;u)4&{\[7yXGQz"w`TzkѢ=-+V|uӷeѲ`'Vez.mlgR+ha[kƿ9Į!Ys,vϦr[*$ϫ=uՂAC^gHiS+܌|`@ѐ 2*B #G6HDuXURlV~&ZLW݆jCC?ؑp&:%mIg݀TIQB2ڤJxec03`y4PSut#e\1{$뚘w@C^FoAjXY^Y^Vܲai=]^6?O[VqZi@V&pcv;K^՜m>.zG"ƨO{]]%mޔ<(5.y Ս ^c2(̋O
-LOt
-qٽiSxl1QԷ{g.ۼfYǓ4:@ ,-3{]F찪 FmBb24>NI)3xhh]u$ˇźX?yϊ=,4|{ +1 N7.+ ^:QsCیm*GNL.;!ߙ:[/`
-p`E)Wem5aҊse{҈aFo͗{RK4 ]nV<K^Awa(f#%uGr&NJHﺸ[ebBYY]RN|&
-@Ċ\PiUpHɟv`l͕H6t8^W Vm яrhH6o0ǃZ(|ؠ/vokbrL8Aõ6;)9n&8X>+†ˊмԔ`>?!7DŰC 3Wq魫58Z'g2 f<2% FR&ajSdb(*p<SѾ\cXF0! NI4=`I/{mfHӛkx!,E/JH\qza4 hG<qwk55BgŤ{]is*]xI4rN OtЭG$њc)%^쌓([;>fr)wd*Jx#aJo}_1m\5ٌlLOq~2?.LDBpX^d$&"qﭾ*W*-CRQ`*+CW0xrhcWyBn;B
-=)oNA~rs‘_u([as.*
-4#+%=cdM͇('d.SëcF1
-ۤΨX]4{`Tq{6hyr}UV櫇 tċ“sϥOhX+}blv-4uqyf17>8s;1S}@{_ؾLKR~=1Tl
-%寖$ҷ
-ہ=51wZ > 5 I@Le>m
-.=γ`c iϮp7S +o(8"Ԧ~t`9"B p!n)}t&Qk(YB3d
-*-JɂkmS 39x
-{jy%S|o:zozF|Q{6{ofyuvVZt*.hy3nBf 9pL0b’"TwF`Dė:{f׽37V-ލ^'A,Ya̤˿=Pb1=޷d 3|gPgZyB-
-rOU3䳔"fk/u;Vi'rbLo7̬.:U,*a^X\s.aձyƤָ`9T5+DE
-؎(e
- 1l%dL끪y W֬jN-_~J0YPLP"CKx/ȵ9҃}4ݷuRἭEG5ۆyGзBN`(<01(҃yFMh=
-O!UES}Q
-R Pv4լ?j`7T@K@H=4H/7$b詻7x 6 2j;9vdr\'qNb}t{T? l#sDh m|B@"D/L+#'`s<IuG":cRݵ.xg`L$MEdoÏ eY&]b'jr''TAb'Et5ķ.n8{ EyyV9eLGc NdcEVGtK$7]<0\}F îu(\xز$= Fs٩fSD8S f6%ʵ K !q<MMpZU5qE"UUi@Sn)Z,5<Wu%L^s| kLжȌFpT.;{c?\DNv)fw Ts* "U _5IH[_
-3iOsI"XL
-wprFD'U%?
-(cSwg8DͮzSLX|L㳫ͱU7.gh_F9 Ob olpK14I )F41E p )$\/Ǐa%.? 2wxWC*猝
-#
-O+ iIihG&EyS2A
-6T S^Q0;{i#\JgA"K##;vkp
-]/X7qLi_4A$gc>D'7.~M2¢OjXїͽ=M?󒑰Dz(o>s K nNp1Cw'S{lZl#|?R'9{ ۶A#=A퉒w[e孙ZOm)rv92AŘ`r3!`
-Eblrq:5*A{y)c,V|gŠH9dD)g<+B)T_+B!˰+
-wiqsSuSBU_UCA Eˏv6ݎ*Rdt^#
-+
-Vuu
-& #ۛ ֩!D;}RhQ@Q>[>Qjƿ<Nz\‰`-scZrKT0
-N:pD& [M[sHOAQQBv֘Հ V}"]X\fHy \0]ҩ
- e:d7Tyk fCt,:{P6)S}X[fC. G;hh=2
-Nv0qthDBAںWaEfz{2xu$}+AE''U=Ebin#(GZɒ^'+&(T-2jJ4`m;Z8#F
-T6WAv=T3\ OO,eI
-,a|I uFOX`eN!bo>c>ts{]GTqG!@@_noI|pni'&` Jew.%e:ݽ:rCar1RfuS4dImh__j, kg=}?¸xϖ
-\$(Հ\ sZdkЄv>ݴ &K(-^ 髙B1?VZ>&DLP/4+_f¦v#p4_PQ~Grj7JY1bZXhu;̶Z]E ~k%TZmI2V=:h6wd;0\,#PDTHBg|ܝ6d+r
-.껻Y8F ׺7<GB;7cZ;Q^ecw6(N\1+SȬ!Ac%U_vyܕ
-L|*Axw3Rk2KX)<qGNa({rG#򿼟QC.}`0O $jZ붭Fh>d,h}ǂVrr+ bZGf?f ͆v9>ڹRGl5ZR쥘|^$.0: GdpaRc88P^h.`0'(^!=CsxygF0IF|r7f4Um-ۋh.Բ>؍oI$b/8xE6饪s67r-+?qЙZȧq}S+<E@!YYۡ8x{ݖRznKia䥇a
-)92u?qՏ߱ƕ/m7  f:N?w4›+<o
-<}ʤ}PwnՊxZǀf\1]e!5nV*98j><$Z;Q(5\Wd{n7QrAADX7nE2=U]G5+;ror_bfML<c f5O_~bgaexqYx_V̓V&)(h䲣pO־=Tv6R<uGHQ^ bA~|Aoq==z'(lţg#/
-endstream
-endobj
-11370 0 obj
-<< /Type /FontDescriptor /FontName /MOYMBT+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 705 /CapHeight 705 /Descent -195 /ItalicAngle 0 /StemV 76 /XHeight 430 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11371 0 R >>
-endobj
-11373 0 obj
-<< /Length1 1918 /Length2 13058 /Length3 0 /Filter /FlateDecode /Length 14258 >>
-stream
-xڵxeT˶-N]6X#AKp !@ܳy Xs٬YtTl`K)PQնpv`z8Z99yP݀YC
-w%!9%`!2p|獶ӗ֚z캡9+ULGJE<s9
-Yu'=ewbַE~j&{>QKz%;6KߛYw2M쾪XOm`X {OVBE}dGc*A{"Y46%3bV[9zW`!t}5iGb /'qSY/T< Wzq;aV͝ftGT??˴%DmPժ#H/ x^sLn1[B^:5wŲdj@8PfWqħj2G@.]Z̗:X)9qb,ҥ_9y33༛&g$H4)C .giQ* ]+śFꭶ&gK]NvLۣxs?+ArlgƔؕ{`;~c 5HݎI:ʆ!܁_q  9 "͗c>O|֐^R9C톧FSI1GO(6Ⴤ3Hyb+뱨;H٘S/Us.Ek &0cNSX~Gl*[`Ģkati,&M&.LmN aeA}u
- ߃6g)_(Ҡ@Џ]/?r:YӝVBѩ (9,ksM?szg,GSU.I틏d,nFd,AdåJC?;%hm@A~3 æϏun:& ۞EWBL"k׍Due(6}ޯ^F(IH i+TC#: tW Jܐ8LށPizr>=o0RG>Mphux>^`wXLLDRi=89$f8LL0
-K6=tNqC$ʏDC|. 4 pbq<.3(*w
-vʛJ|O=,d[7pFZ;∂lq!-/N 5U˘KaM
-%$r0H(_|-|86%}oz\tVQ".' N%AБgG;vslS:;HAOAʴX'&]
-C >p`r{<ޚCJ}4i2/8 
-%^6"{a4L.bT=',=`_< ~gu{" U~Ny <׆>ӓ2 Dۥxo\ r>W@V lڊfJ/HXo=uLm7{1 Sc~{ #(I}΄ɯf`B[hDX1JExwN =0\v6yw3?~Oh979 ;b) yj#$%ضpɔwwԊAق
-F'ɕv uI#ص^3Oγ+[l 7"POLjƉ ]i[vjInU:1Ծ,DXl2a;"'|݂g[EkHG}9<ja?κ|, 1e5t- %g^c7o.a3WL oZ
-o 'R[
-3\*1J!"L5ᮣ)4&|BEYN'0cb޶s_̆;ƕ-ke ~ ,Ef,TvN`Ҽ?߅zl*.G"\K6Bo <͠|=+BD\j76 Ԓن/YUd}M'l{(Ѷ<£YӢ}beg" Knr
-zYL^w^A~UBluaE[h%sxӭuѼF`#W;O$"ޔ᝗ƺ˜nŬv
-ѾA/SmP5y;d%[+uʧfJ%GF2GSL$vţiz6
-rqW`wjQ#1/yZiuqW "@؂%i)F+ޖ.)ݮXQ䒾T_\hr;C,ͽ4<~<ۻ&58jW+(sl\u^[yҴt@r]*wlL6?tK]ˁ 'C6_W%UpH7yoZYɓ/09<.}dܢwb^:Ǔjv]Ąȁ}<0,T\˳Va dZEP>U<l K4FL3F08*3LkT2|T["/a$])#C~xs4v9FC7ow:%'eZJLt>(P~=D'M,I
-EI(H' %Pqg B_X&,)2Heыa$! IY'Qv?؅wMvdCA< &ڦhS
-+c{4vVyglxdRaxRJ9L5gh6I#}֛~Fz/lBE˓>}\< 'W׭ 3O$Ss+vE?)I{B3-L%d|!ܒ-ǩ>mf[zJHz}l<w]`]үE=^NQ"g9.߁}ve
-
-rzD1ȇ.!b.cPlTNdbֱ{Dhcwɑ_DjT; #mP_S(o49m-^- 9[
-[ZQxk]$`־^!%RӤ7[2ћi6ُ^6>`9}Zd,o!rwa×|ۑ] &UotNs9 5 XFJ`͎YuLO?b7%K'~R:ibHI<˱ 6y{<Ŭٻ OI]МpFܜ)ON' Ӟ!p%)7K'j8H"9O-Us97Kєϵ `:@$kӖ#&oVuy-u~
-t9[iO:.<'kޔ?P'sOQUxTV@#S{/&zx5𑵳~ǹsյ%5&g^M`z7` :Q/w 5GdsgCWwN ͤV_w۽FIz<p'mV !a]ȜP$CZp^lgz3כ3۩?ge~$:ݝiÄ_| <kcRʛ1zyD[F1mf'K'{>!65%QPG1ǻf~vvc ]ى`QrJ YDӻ[eUQhrm[bg6l
- em#?L]~$\dsaWNWlQ)6 USR
-3\ҡn5$u['w*S(; v1X=̇k?d\c4rk;hYwW=P?;:U ĆN21gPbO ) CWӓ,)uV%$V)'U"mQۏ1fljV;Ήz
-tw?>[\cls?O{
-ݓ½Sk6cb[:bx(IHxN ں*Ba`xZ]JB/8JhzzK*_^[tW Wki`"i{A9p3umCdڵ5 Ze螻4
-2*ȑF
-*roJ~:u+杖S=1oܠ8fy芙!`\{ԒJGK=0Sh:.q_2\sv'H-}p]OI<wW Fr125]YD_JtȰy*;fF+K#k ϳZPwnv7@bxi;
-p1?G#
-YO,vQ>%uOoIjca#iƻC 6e+%8l$<t~xQ8{"5.n16<3 -tbzK5іBPtfKu
-;R#+<,dߏݴ)1)gAQ 1g-&h?|I5p9>FYُwT@D[ aO^Me" V(2ST;ƙ S6])y:gS -,?5N(q'>GyJ"?Y u9:A1QI촂xZV1æҨ;MX.Y!+pOsɵY=QcLcDv)K~b fѭ
-3/zGis5S5n4ӫuܿU<G=+4,ʷ̨I.ƕXӶpXl!֮}xXA>F9J: Z@: "rQ=*QOl佄F'@S'rӮM܆aٙ5
-!#تPL^@I 
-m;aVr54̰YޓU>\tCHNCuu.UO%C fLE)7
-[;.1ws®›f'}#]\сo G oR{Zܶh0&u'R)\e4`MGO$ 0
-}RH|eu{ھgBio*!Thl5ƒ]اblX'WO=nf/1*2NUo]_ؓ}0mCփ4ݹF%gP\d""6!PSܑDkjix_~ݨ HImfNW
-CF74s 39ӥ/nl-n]61AMd}ŏx3Nw? m~5uhN6W)l)C(_υFH"q><Qx;HW[kve=B<H!r 3̤ⷘ^V*KթǗ1ҳl#ee{fcv^FwW}Y(dv-N-(kTsDFw/ZdGc]vb(KotE:fwkffC‡v!c,*fb5?u`I0O7CR_R۔%F\&߭s{ggШ#cJlf.t4\FkHi^
-x2SFl$y84LV
-Caxda[G.kB(g"w.@l
-k$5-Oz`¿1)j` +Ѭz?fCo(-vP@_U~l< g 25H
-%>Yi]!+^PhpmzΩL"pΑ*7M9 oss~KI{ ۺa,щqKL뀓yVa$>v+[2,|sS*­Щ\SIhBԐ­&z"Ru5ąKKc]A?6Y
-it=z-Iˍ IYP#2%kbߺ@0D9NxfoJ2/ =n';#˫$AM ):ۧ ew䁊D
-]ɯ6)tW3Ttvk/e[?4u
-o`Pbd)" a&TTfNݢVkcdYePӕD~͋ 4܀I )':;kvy4.QڋPQ=0oO~O4<: ߢ:͓/1\ϓSV eۣaӄ~"Q@Aǵ`_֥ǯD1w"LQ|
-"H,Cy+o>>uS{Dm`ﯾW5K\+tԡ)LZm|(p҄ ִuQ]d'%/?ÍB!}F,v*+,s0/R83OE~pF,ÄA$ɇ J".qnu.rNt; ioeR@ (P'B\;.&Y jᇯdѕ9j\ܖOEWP$>F] XFnv_1fhKH+yPICx<#}}D]4$!^jF2}JA? x+PKRj3!Tϯ-(;8;Q?wG6`uTGS|9,kǓ:4ctM7.3&:d7
-rqʴ҂_"DlԸ6]P3ҹ1`Px[#YW\N(i6'<~ kYnVpl{.Ps+KnQgD`{48k1d{| t["^9Яۻ l`ڕ<'v-yFkG>i3?Ä7YX1 E+ᤩ|}6hp~ X>FEN4k_;9!q~ߌfU?Ux\웺vIȣK#iCU<fƫ'w%0Gu`N^IR3n=}Qn=.Ch?fD
-endstream
-endobj
-11372 0 obj
-<< /Type /FontDescriptor /FontName /MMROMK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet( /a /c /e /eight /five /four /i /m /n /nine /one /r /seven /six /t /three /two /x /zero) /FontFile 11373 0 R >>
-endobj
-11375 0 obj
-<< /Length1 1748 /Length2 12258 /Length3 0 /Filter /FlateDecode /Length 13383 >>
-stream
-xڵuX[۶>\bHZܭkInťKqEkqѽ'O2|wcP3f i(&
-4
-@S#0KinpvtSC_&-š+36u玙B<^9v9
-:K 
-C,<
-{;üPG?[ `5[` `lo
- "o/׬g"3ۿA/Yi7pQ29ٞ~G8͓ `ykvnn5Lk
-w_
-{윐N)Dc`$Ou<-n1NYc rEP%Ro^vTz/[eb JJI VE(%#_)Ic?nSD(/4_e|e|;F ',c},.iϿ;蝰`zZ5ʒz<% s,),C_KC[2<SaW3U1p
-?C{dE<|"t}e|̆
-Ŷ;_
-ԏ]- n4_/r;Y3&'A. ?0Ww5(D0o՝PϕʜʟJ2r4;U|%_2ffe`bt./0/kVȾq< l`w q*~3eDF<c#+ ]k/Itߦ/o)B~p+pѨkN- /=@tRKofUY\eQ7j=36Nhgn~u۟E~wU~]`,\.jLW83m1MAّ)B~\qDqtE"V}ˍgT'ȕj(s,*h h4]< xU.N߰#%+9tZB>֣ȕu̗KJԚ M31jZ42EO1BKq37h%hklCUќ1:xHuǚXw#^FۯZM!RT&6h84rq&taTE'$@tOlN޳odt`!>8>1Ow&֞
-%ww;|_=4]P?<b\`x b~ԫq)In]GR)+fu2s<1R{`^ ~>M @zM R8PM JJ':65"cΦe.6D]<ݲVjv_/(9^@vLԂX[xCgS7XZ c8ʯKoJN\#Iy)eX<DD"'n!:x{/|Q"\Wܳ™F$6zP'޶SYY9쟫96W.m¸1=c%E3v@je]WR}~P/&XmsŠY,6d-) l_u7ӺTt`1rvAW{W诮F"!gVʽ{DGr-)ZaJOW 2P7_d;-ؕ/x9"4x>&a;Lf p~lMr5pHE~k]5qbJP~rE= AiJ"%C<bna~:,3~H+}۹y\ 2ߑ6G_.a9q}Q.;'])녩Ůtėq(c3
-ĝޛ׵M 4s5 س>]#vqtf[%;HHRPΰ+LFV3Aňy ;#ݴ6kӣGT>cq!k¹RLw<F\{g E&Wv_ {Ag5uS;bl[, sz
- |ƾCR Iv|92=>fd!Y(qVeŃ͢{tczi~cs1^I`gޣ1ioMJ?\%kreH Ved2/u2q- !C&H9޸wF
-I]14ҫ1tDӥi[rX8Ͼ `R4f%YZL7lyT="%LcX^vQ'7?P*4Hrzt<~NPV{樰kwtc]()dl
-Sͻ
-ʀ%*zsQH}PBsK~qE;4V~ n2bj1!h\zL-aXI(PgX ZXw: cbc׫>&à;^D3&$D-<
-ƾp\7 [c70yGZ7
-)%TVx?1Z˝#X[{ #' .$5TGyFIDPv<`aPsү,9Qu ϟvjV} c=b,c8=:4oG)o;M:}xОrgW;D4(u/OR'6A4_^lI
-tU$'2X@s$q?'
-a)͙ /ώ4w:dMVE;y>RlOQ&E"(NRD7 E(JOPg#n~@w{(tiU2CT(盧JHϐ(AYe>+hNHv5qNc5{͇jOIms\}f.zr/?R^¤|YnO|ug6 A.f2ȶYE{ i艱eh5Xn٘oLΙ噝4BHsc%l/pY%?|lR9<ޅv?j9 'P FVRyp+T$_NDSk7ljV?-LbWðj^;l2l΋g;(Lp(U2suR~4荘a1D Lm3^2dO$\E(x`._YLagT6oնݕÛ[6dGn7j~-15IA{eꪡqÚLe؂C]@t+%E > /dNU-FsŹ'>AL#b=u!9"̰u_^Ҳ(%juyҒZ+q
-}b7.OlBQ"GO{4&ɮl_FkYZyaGHCAj KxR0Xfz˪:[E;QR&8i,1|!]$/tw\.bH"g{XC
-婏F*
-Da+^Tk+]ښ+-mHgW/w͌~;ę=+fisc jDnLaѩ*vj>33`ayW:M(k5<g3<SY+ӡmL`YV=9šD%N^tTd>1g+:ZjQzQW*.\c\tÁ֪cMk^24c|D0HUbs Dr.*G^"DRz`:<YЄ%1mෂRUO&
-pSqu
-]<ΥTOҞ`6'DqkWen{m*r‰GP{_|$kT8aHɼ$/(HCrlqV]
-rqOgf{wd;GAOצ;q !VNgs֝4c"*p|U\* дgxj&`{$hu򱏑wEEnN!AݴS/>^6TZC=$~ϰ{ηߗdT;=0OkIXMv:
-Ě#¦Vʑq ^td+zIuYiɾ1J,]hʒΛ(j[ v[
- |T//j(i>R*z։R0IqANd) nX]Ẫy:f9XX }o&ߢ>!evCҌ;\+Z+<GSlZ{ R.Ӟ"t$1rG{_sJ/ޑ0}7df㑯/^JZNi赠&=z:Y,i@{ws݃VވϒMbja֏
-a[˖}@S檋_&=HͪFIWvMt
- Ph0$h(ܥu(PSý?SϡD>EEORNSHw#G44X|] OҢf^d\I(AuE5Fq
-Fw;Q" N8[ EU:!V' u䵠U~xxz{oB 8\ae{Տ́;
-3p mn/@)ga|5 m0d
-3r
-ykEfDzF%?
-
-Ly
-j MJmWw
-Ք/*Q-a*+i[IrȮ{+H3Oc2E#}Ch| GHpZJ?gq\w&Y`kEl,3h](29i~?ڠGLv Wn^
-r4֦G^3yҶ^&U]޽_nϡАrH4R_FH2WC PA8xږ߅<ɣ8ÿkO++ӫLbQ㠦=q#xf4^SqA/V׍5I
-? (&F'Oup|/pUV"5pP'jqgs,ݐqH9Z=|њW}<Q{dyÌLC!T\:2,[5{vR$3(~f6fFA'*n=ڋ.jpPݮH&  J;cN1me |P=˰[ޓ1r( $S(;EޒhV˄$Ynջì
-kN-_6)9F93o;+b_QˈpJ*VBV2Wwv>TQ$-čUE7},SAϗdΦߜ+4gN$x ]ǖ#z<Hx*,Rr}T`E_pY7i !`/Ǒ|Bu(;6+jd½TrIqŞaN0o#eZz#+ġo Tcy 8WWQp}j%]ifpU8|sKQqeG':?9ܨiGxPB[eخLKh֤>0A~$pic?wt#=+sX >%"guKFQ57.9wOppm?ioŅ슨 ÷=ymc.ȅVyTS/j$leG䉒{*( /?=E%<3Aw.",lL2Cy3TrKC"-{E3ѳUVco|B].?~1;RF3k~K& \[TIܸ3Fp7}7cPR۔Y ñy1DlVEiHG #_iHAnދW }J2P$ڢu+>UT:YM4g BZt2 _/'gC?κz\)PQѦR$4-QTQޙӸ/Mv>,9sm
-[1 5U`-hT{N^[h
-y]݈lUNkSFJenl;E0s
-7g.p/O;Mf/@-0Ma(AӋտF!7LqS{r *9? Ip ,%ʩ)MДVLXβR]Jn51oQwq\'JV<h'u,N}
-`(k| "Okz9l63:sw{Zw6
-*_a.Ͻ &9Aa+Zlt})C-ߧ,vB WQ8
-endstream
-endobj
-11374 0 obj
-<< /Type /FontDescriptor /FontName /JJEEWR+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11375 0 R >>
-endobj
-11377 0 obj
-<< /Length1 1716 /Length2 1755 /Length3 0 /Filter /FlateDecode /Length 2818 >>
-stream
-xڵT{<TiM5[L(3cu4 ׉J3d1qɥ*V)]h)]mlWQU)VZSH۟g>gy~i&=11."b$BL3miAp\
-FqX䉍di'%F6P( X?>H %`BHG"8TYW.jdH#w!NIO BxgrQ#8dA4"Uqՙ! X H4J' *8|T:".&q}'%18S)_T:\Ax9Ci|p<bjLlJjhHéH4L()8
-נèwl_dQ'f4ǹYؿ9OiYx}C-gM@.<֝Z}#*϶8yJG&NlnXm|z ~P'?i{?,K憐҅ˇ}+u72ɡK&Tkx~bLUSK{L{`qdVAזNԩmj-xeد-1u?bV,`uI4spjˤ[ݶmkRԇ 扏s q2_k'sSrqe~oq"|qJ&ZBFu>ay3;OӮJ+tnjY]g*1(
-Ŀ*O{3+ԶuW=\~n&ыmb4CuGV |k__/M~SMn81Ѿ[+WKWMSD^$OoB3+} B f1ZNr|SwoK[f,-@$s 䣔F+bw7j 1aǽ< ,khpA%ZS
-'
-<Lt76n89,lѝ߮?l+_(I.X}GL &>&<EsBCKBK mQXǛ[uw&9
-sZxӮ1nJ5"5J-$ Wp}fREj7ϳYd!fTܶB[-YF7~8Vz+wҺ'պ
-\=!-3cK8A-ek7|T1MoOx:%vB\_> ğEwy~e fBr4ǎb6>Ԭ[kQ{joP/#mISwy6>˾ x vWI?f8Wf&HMgJùF.vugFү\YYTEh޿kXC}\?WzZ6vXY)qo6E~[qQYpu'嬳t2t36+Zgy{dB
-zwr ?QUYU<?n]:l*VK;srܐcLHmPd nީSLGṔuu&}.S].;X t;=*W|޷x;7hrfpuI'~gt_~{֥IΪm([}_yi/&4d.WxҚǻլ]ba{?(*0u-MI//^guW=uW ]^u8:6kwF쳛-<ΜHXP}M{4C[2"/׋m*ȕڅ3֖S~vvJ+Z-{%`=8+SV7v٣C9ɮd|ϓeMᠼ윃U=;]}/(A$΂.izKYw;{ ?d[sugnq8٥1\JMUss'/ZiW3K=h2\u.i ~O$s{4_Y]%w^ܢrK˔>wf8
-endstream
-endobj
-11376 0 obj
-<< /Type /FontDescriptor /FontName /FACRCI+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /asteriskmath /minus) /FontFile 11377 0 R >>
-endobj
-11379 0 obj
-<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
-stream
-xڵTyTv5R
-U.hP"$Ņ!I$3qfbB)Bq؂lʩ*k+-Uں*ٓ3~.C5d /(cDSi1Pg1b
-|}|8\D8` `@ 4%@
- L_2" 2f ܐD)"ҜH:=Jlv
-H :/@~
-dӥbEbL,f
-WClR4!*Q3CD0lMcw8!|Q2Y0a8@#( 6@n,rQy=D;oLJƬ=O #,gop$A4CwW@!f '6ih\B#RCcf녆GI@VbB#"M&'!pAZwy8ѲgA&k2%
-B? 090 Duub,՚e
-ckG<<[$[nt`1@Y(u/=_z;+ªqPî.ͼp9~KS|иEd]jw>ֿi=RseTEkܶŲnǯ; ~KmPi&&~~cƊ[ڃLȏ8ˎ%gg8]n˜g靃]$n#g}~hmjVN
-3EymR u\FZɊ5cb~wǍ$ՅnQ<:9/gT$Zdmwn~h~ɗ+~F<&=ytỦE gPiօ7(*kkcenHe[@U>8"ҍwsK瓢4[Ɩɳ:~e]du~Vy3 =?iw0K
-ArOc3wQ9eKf
-zFyrݮ,Б9vBG/Nr
-endstream
-endobj
-11378 0 obj
-<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 11379 0 R >>
-endobj
-11381 0 obj
-<< /Length1 1684 /Length2 1579 /Length3 0 /Filter /FlateDecode /Length 2629 >>
-stream
-xڵT{\LvI1QYR6SS*SHjJhN3gf9g9S. B7eV&hlEmZTr۵L,9|_l՝^S4;bAcBj ,TJ 9(ffr pНp2r@0(fFa9p`8U`:4 6ᐂpèAaK"P5T|!R
-F)4l?B(@•
-̟? J#ePILAR3nFn
-D++@H`<3X>^LOh0Gh pttt!uDTJVPH<'lCbBc+@P<Rf"JCa| a8<-ZL'%q12LD!xQbP$ p1rE;> CTA` $]`aO#ɒZ>JT (N3s_RJ$wbD/_ĭI\
-I!
-/$'&yCLB 4;'aO9mBՄ'#B4.` q؁-qsCL`&*b!RQ;::!|>N
-4)~Y|AZIlQ οsi͘ecut{or];"Qj`Íjá'ft_]imsY-cE䥨)^w\!פ+spj0+)o﷌-~xs:gg IonN6YB/s~~-;CH;g|@xC_.qzW%L c3j7pe|Eփ%|ͧ5T_}mwt[IșG{۸?B/m$s]s5^,m9ӻRRlT$&fT䴝;zWU8}i[LB-Aϙ~ {av ˏ/nj!Ѵ*6EGWr19h%%6Zj1ik-VM8fPPܴJ4SczՐ!@o-gS%!ǞLz|aʤ5OnS} pm7MY<Iػø8?dAĖXvz$ 7K_᝺)[,J_9&R!I1YGP*7\Zfze<nj֐>j޹gP?<jmE-ouuGK)UNƲ^{1Cm.awj\6w٭c}E];wCAo7l[秓0{?w+ҚҘt?7.Dz䗴|X`>/_캐qPf§)~UG5<<ҧ<u갞/bE2w͙hRϫ*B*6][iX=3}C.޲`o9ؠs} oQY f:`
-endstream
-endobj
-11380 0 obj
-<< /Type /FontDescriptor /FontName /ANTVSN+LMMathSymbols8-Regular /Flags 4 /FontBBox [ -30 -955 1185 779 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet( /minus) /FontFile 11381 0 R >>
-endobj
-11383 0 obj
-<< /Length1 2980 /Length2 30802 /Length3 0 /Filter /FlateDecode /Length 32446 >>
-stream
-xڴuX>L ))94 %Hw 9[}~׳g͐+ ['zf&D 4s6t
-`bF$H
-he05H31
-d 0Z@
-6.'*(
-p-W_FꯍJ ޥ& [kw Qw7R/kghca/
-؁cdhlaal`l󏜍 `h_N}~#x+8Z:#efa%vC
-fצW'
-g+`ɹΪ4aV3fqEH2)@<z>%AoړgnM }|Qń&r2>UtP-*exP8깏f~AN!ѭȇu-^dnrp#ُN/XQB4 !pv}=iS T5O{=ڮ*-ok!f
-(/6 ,Ӊ)|Xaam6k Fq̳H%bMYN-u-m,OXugB'j{}2r{C,z+9D^rkp 8uDICWFSz.>4Jy8d7!pSv`lɣ~^q0G X!Lfc^Η
-aKeEZhׯ<oaBV="0Љ P1{#7~Y=d~J5\??~k汨ZS9*G΅i@5*ε_}7;fL؈2!70jc֛aYk'[Ol#E;ߦ1+;n5P( Yx*wxfF͇W8rOg\&,S)@Bl{g,pB,[!v \
-e6\u݂]j $;!&k=-K) ZfMIڷdn{":
-3XK>ͅS.j7DxWIJ@ݬD x&>1l}*RRII÷yMȯz8*Rҙ?q0K[o6*a꾅Ѧh0.'tqZMC M6-{HY<ߋg.ő
-d'gY'id:rSJ}3" UvFS4{5eoJşK PAK/sG13c{d@l/D'?_ax@_)_8'42Z`jWӃ2f~lV'Ǭ0t> iKV!59p1Z(]
-Xos^G^?] 8<t ^߯L\*ڞ~wuMst+AN/%s(ywɰ-2%&C*5aC0XXW=(Lh.jn 1Z"#\0F+Mn:[bS~3^ʄ $e|]lf-Zg]ݽ0ڎ_Bs:ﰣ=inqj[%;9$dq~Wj}Ğ.ϣem00}1_ i?@B+*Y1U9Jb@k]Z"mᣌ7Ѡl^= 3Ǚc&)3]"@Nmeo3#q^^e;2۬s>T fI E(!:G{J<y]U<JgS9x❷%)xѢURBmZ1OIB:
-΢U=)Du&AGX^4**.nG;aӏcb)<ʣrm5Ps6zzW5GZ
-[#B
-:: )z?\Lb{K r<v'
-D˞0ԗ#?nd:*yVE訐Y}{nAnY:01ZF,;5%&ZݿxĿߊ"?`˂$3~E(ѢGcQ>Y/#Ձ+Tz!Y?Brlb|u<p#JGgA2,4
-3XHM۴ꁚƧVkS>#wozvs
-1#{Rod 5DH%od54NAm`+QÁN™)>w^(QqN@)~|:~p+ ÀWIr_`9yyFN(Yo_Fw ءo/Xi1`VF~;xQW4kYIMOZc1/D,+oY7~n”H.1 e9!:O.Hg]I{_4CMI.${e#8WjdӭW*d[[&:
-Ė[~-~D2+B8/?7ެѽ`msؙ$
-hLl$w8:(d/N+kqe$=si°"o ʗ!8[wY%Gk@܊yA޼-Xýď|G%5BfgE|cNg9M.k%
-Q0 L5lɌ)Y.g[aIpzqx6Gx]Kcя xJ,(N) Bl童6djN?'Vt[ ԽF0ĺAZ]ʴA
-̼jh=e!}?6=ŎB/Z"StoS\ݎ"WLx5`A2n
-fLDC#|N[[PH*DFݖ՝l|lӆ}r,;ϡSN><:ҏJj*,핝p̒˾
-G>8MgJhI4=Ƀ*lreJn{ZzDKYUŠbbl`K;#|M!H_bS/{{2Tf Jo?}LHypwYKyQnYVOB.g%kޭ29TglhgDSk  Ʀrީ3# R.^Je/4$P6"Zo7jZRd;1ZҲjY
-GI !<!?d&~*!Z5+'tTgH=Y)"PtdZ SX$=sL36*So]&6 >ZVgbQvлV.ROǢGո w'rfv(wu+dM,J-`AXy{_'̺ZCC%pF^XBF8Bx`q>Jk>E> A oO-V%9ը%_ Z7Zwę3 FOAVgS7'8כƛvo
-ʴ3rж/?OJ""sAwBیP_}(nL M %ֵiJgkL0Ee{пmcAܩbqMLe65rLY)e\L袛إ/WPN\Z@2 gu Hoi+C4kjM4||{q4`MW6lENZ3}8;G2!t4JFt'p~4d||kDѴLep
-˞XsgjRp`.Os*(G
-Fck ǁoG%!މ`k@=KdGŝ>F޺0($w;(/'lڸ
-wT ;tk
-0+|eԄB6@\%MH(S?wU摎Мk_1.+9ԯ
-kzecj#|eD!gaViFVJǑ]#T򕫪kO #&D.(#:C#mGZ]-E"?߮v ƻ%Z{!Cwd5B#,qi\p>5\7R]GEooC`-DfrW̿TnސjSF(aFWMlscH,cd0u Cp6ю3(Hx'}O=S+,YA0?_B)X>.U8Z\dbbsݤޢL5`ggyIg %}z~b4.(wWJ8?tq,"稂&Svʲ;.j祏lPد1i8\EVOgqP6x̳r0<gt!P{"p| k笝x҇ia!$k'P?G #q,?kIv z;WdI/O  vxdѧqQ99xcCF>U(mF<P6XC2 f8u3Q3ڜΞwf#pJKKVejkujo)|M}Yԙt+lG_2$* -IKv{ew%UP[ Zbf~ 9~@z WyX&sEw)}rh4CoVݡ3C(nWVM r!8A?Sy.x5E V&&Sf1)VwIj
-
-B5hh"EYk]ըI,E|%Xѽ NlzØO:sbhe:0d'3N ֟q]8e[^<~Z+uJfd9#
-"Ba TJȒCDT _Ζ-?Rp,Z8mieUkD/p]%Ԏ\Vs?P G6DӸ.yG1,xeD7h ݲ4zyl,oqeVeE%ldXɮݿXA)O{+z]'sJ< J9[PWWݗ"%PL!ge‰Z.Y^fPeG:9|pg7'/ۡQǒ穑ْ7=k>zKgִe׃.{
- 1ѕAA{̴ШT5G\s{L";)f{TW}, K)%欲a^e&=ACWzp%n;qJKUMn+65
-hJQ2~gNc"`]
-w1aTkm쿌La̘Ojl hkzlM1sjƽ0W`t(υ_3j..zfLWtmBou"=ueZ942yɮ߳5%pgarX\cv;'lr!|&q3ţ>@B~6/I0-<pJ^!0#~Z4PNv]k@F'xz䛸~uAf,ڜ,i2heS{M!zC^w̭Ywi!wK֭xGRtXvQd8<a|</<͌8:lV
-?" rIy4j)W逍INK,w 7%t ( BRL!(jp%|s4Xm5ܹ|=+A_pNMH&_ͯA kd.ȢU:I銓)I=aH
-|\FLg G2+|,e; \Aip`k{!!8CAʅUPݮûX;Ksnya&Yr~ aoK+,.{5lwYSu_AR찾0$[T֬&9=,^*IKq&5#kg=h/7&{2RʺKm- ȜF:X_eg<
-W*
- oE:ٯN̰P޸G8ӝXӐ
-0Zu waihqjR{H~zZ0=uTj 쑅P18kGM)7rJE?12։ɐ3?k+yF2|cF-U&}Yn&m=͟MzIh%)WRxQ=yBxڌC361uĶk9y.^x9ZjYzis6^7?wR=;/9pQOWX(EѾ츴=T}Y{\(&nNlb񭘯3i+qC{ߥFfh;xQoveáO&2rS[l&qWWQ1c
-j3Rp(>No}j@uHb}R7̪;R59񅗈ۻ)^J/I>'~SnPmءX=vmEB.vt2桥ssZ:T#o,wj?s~'jW08L}pPw@>zy7n-g Kل)S~ʻnt% F/Xo_"\s*-Wnehc~
-M(mr_//$EEqarP׬rBM1hq9&)&zK5œ`2FX<0sH8*9yֹa}ĀC1dr4?Ňt(wՙ]s^6sc
-8Uk,©/h ꏖڨJ,
-4{CRn*Vۨy共XRnRbCh$[n! 3[S^GCio]ȾD}/}dYl$ eZRFl07Mm}Q1̥љt` Sq޽'Yk2Uǹ*l7  %ܾP`5b 
-J(2*"<Ul]|X+oeƃ>*L{n͍.(Rhl`-@#J_|^/)G3f#9s?XilQwX7vK'ED^]ߑ(K{
-U2侦L/5OD/L}Hk~~"Ǒ0s
-/_gjMd7ڧT5ڿ6VNK\|
-T#Dw>USt/2zk:&.[O]9k^w XR˭E)gZ4=Tf+BW-8 m84r{mh&|~ UN:<3u$4+rq667ơZ ïa5PG,i {1H9sNsdqΤ=Ij Meos* ǺIBDV`BXXN,3#Syn\>
-{ ldABb멹Cqa0`!ѫ
-(~;c fဝ5-!U/n7V&2p6,=!~^G"Oz/J~wD$ 3@8&mb̧5掯ݎ,"|VlXIvo}Z$EAfG^<PoVﯶ7TniҢ^N$No%q.y2. _H= wpZ^jgpe rNMaL\9;ŷd_{Iqmth$յd/- X%aVVdMl`^fgkNMq1 A*]AٰmƔL٥hYRޛ&~hƋv,75~u.qCS_jvRUsI>.a[=n[?vְSr_g m㹌V$W|B7yI?>q`fj,khw8^^ ;R6qF}xQK‘ XM0U\D52F)7istrc;NTAObPi9N_n9iɌ׼3&! ] ־II'VUy:ѳɼruH XS!E,ziT?CEfuuDZʄ+.`Trۛ m :1v~sHOTS;`]_
-]z!cs1U脉%k B+&²̹} R[b7=t.m<f*ڇ/d$c_t Jx5;Ǖ8l`zl^kzMvM8,mEg1K<a{tC b mD݆;Mo: zuէݮ ߷Bjpϔ2*!Hw0n4>BH9OT?&iBٌ+
-T0\U1U
-k;LO6^_l :]Hu8}:Ѹ-'|7`<6Yቡ'yH~H]#VI^͕˷ZԎĒhX_6UœP6ZV9zf3M]B5Y@~@ch9F'N\?$4wRwHWND+b*lv1O-d)%m$w1O_S7 @ JLt}jCLH?t]ww񑦅)4
-*[SKi,TGJB~ !00z:a)gɎ ڡώ\91{""(S_wi"ޝvJ GN?N~oTqBU-zߺ*Y 4ɀ wpja:QH$
-)tލ0ɚ8~3#
-exsb`շQ7{s6Eyˡ:NfFwt%Y\ { 'LR)
-sl
-ev+Xܸ$idrEs>t%#{Uc)ᝤUcVzRq4,F:<:KX:Fȩh@(ioѓ\ slPŽ(Ob90Ozhu=V6d^Tppdm;jnJߓUl ,&驽^ۜ&[8J=T䍬%hFaVZ!0XiH}D/JмfS3IyA1Uw^y}fm!lNBMgnJnk>
-/=Vf&b}nViol Nj{'&S5Vap|2).郞PAyZbeHHh%E)Gq&#bzEp*>&x S[y2cpjßZ>r--UUThu(sU)D/bo7=F0E[lN
-](VF/v>exoq
-A"bfwilIMiD{v0D$mio,EQR۱.割&«%j
-+?hea}6w` C MUİ֑+ zA]rH O<[ |b4T&Je;hcğCW(1?_F"=cR¦؅
-:~C7["%
-0=*5z-?or<'! ~6tk~ pq ߃5Jq[pr]IƇuve)bHg"1Ahs6/i"SF<͓ИRz| ^ عDŽR$DZ
-Q{F{6 qS\3vnj0U۟\$L,JN׵]KvQE/II3(YC#t'*Ue^
-?v%'eXj})O=%ܩ?;W$$4A[rm?jWJ#QM4dH@5;RI shΦ@XQ7!u[硰
-7 i2Jk,6r]FTmc)YI(vC
-^K8:9f+<o`Xs\+uɧ&Lx5 ;#c!}^ܘFKw s8Tr( BD
-%e` Rh\l=99wy{5iؗ:
-qoE7JE(#6$sxB_֚ /u= rTTI Ъz1O!aSkH"rl Y+}%dɹD<EN3ڛF`Px$Q5wAy3NvކZpz7w
-ɨ<?F8p?ĕQi8d̬1ǤK'^QF68@^Zhga%…Ydt9 %GkV h"ث5<F }K&NI!rj,r>D7qԹ![pnQD6[Qsyg1U?ہT䩪x1I.RΜѴ!a놹9ROEL7޶'dZDzFJs%vYROg!.o&K2tc)Rh"ʵCrӝ
-ZRp*_ߞ
- 3m,-"Ȳhu"(E
-xƣ'e])oY}
-}o9O󍏫s4Qc(ٱ;R+"{d;Ȇ8_
-I~`̹g<zV\6OXzB‡ ѼK79NRi@Q:qZ Rx%0qRVNՏ }z}ɡB
-`Y8
-P3viz1
->L'*Lq~  V
-}&$.\ڎG\Jh~6zXw0; G fARC9*O6u3`2L ,a~Ƶ^Ԭ oE/
-m({K:~%TYA3{p3=6iFZd]PqD]ܔvmqkW\RsTs+|f oAxW% q72lJ.{gk+
-|[0/Sd:
-? =ܔO{QZC!I#cGgw pc!N^Na v~^ν`&ўav}`/cU6#|)\V+/jӈ)t ]HNP;Aܝx2Pr
-Jd~i0/
-=zVh?|ojxwM';B Eq:_Bf‡ nݮ PyaLRBUt&GJt 5Z3 @;ĉx&,<HݠQo2ypc$UT@Mrghcn%"2c<'yv;鳻 I^ -XQې+8V CU<_kVMgl_ PJqCQyiM;c:CBipփi//9Ie_tZiJ9P}Yڹam. X=B_%RKkiSXfݑFn5)y5ADRiR[{'0N6b_:|1?W"#:S1'Q
-daCP!7]^.-Iϋr0ΧN`h-= B* ʣ$QSMC0(h, ]ASxe&IPFn
-z#`5铠XzdxޚrxzkmЌ)S 7I`2wS叩*Of#tMk.|i)[`mяZPqiwo[9#ݜs`ޡ-ܣ^,<7h"v+zSwfDqi i( =+n_o~[ªxynr>j/r[~aV՝}
-Suٰat~Z!MNIV6ꔺ7yI4 C(C\eGU`
-+݂腀 {Fzt, n\d@c?Ζ`z--DzfZƼ~ O,8I/'ֻr%WΤ_
-RITuGWSz6B76 ;`)&`.+%b (4Ű4/6AJn-
-}F3>Tm!GZ?1`T1z* ',-.eE~ kQ,Eu[zxS#\m0zGem任-c',.ȏ8rTP9OC4;Am#uݭrfgLN
-y;t.UNF:XQdL/N3(#N΂i:KQ4ZbÙf\qqp/^zY.t1ػNTޔ{7bHGli6$Nk!4iP_IK*AkFa-RzG Ó
-¹S%l?<
- @KY)EHdr~N{X6C) 6 \S
-oa-Xo9G~XPZv{hRβWB0fu,ʱ5͡r\
-O6'lj*}ӿ\sm&֧հ^>I`L{0yߔ?j}=^&,} m;sLHn}`c$(hsOO%Rm.}rO#0"\37 G}|]xN.Ee!Зl''mxr؇S|OAۊw%|Sn BL k
-+.En5ƿK=a;V8 ?(1)$m [%i<sc){<0\}murM`!A[PM)4zLl3J#ƓhW0QL5e!7 55a{XƂШa!eZvDNks.c2nm* A*
-fku#vʘ9h 5Yuj!qrEy]~feVW(+vs۫2[ v
-,7z;-S,LEp2ÌN5״<s
-=TuLi]¬4l#@\<~(>6[QS
->&x78J$dȪOKpv;1Z5>_C$8N
-iWfsZ̒w=K4Tc~tZc4lY aFC?<IU<%
-, r37IJM
-9Oِ75BD1:Y?t!f{@
-لpZhVli}v/& 21WRwn""UBe6 S-(ALi& qXe ErX/vIm
-\&D,f)>;h,]V|~@`# F-̨5s߶綺_QLYCdTE|
- l>1OTPD[ A>gH㧘
-@sVמ(,U dQ FaD"ռ!@)g/>q!xE7K7(= XPqAgt@== 69=e-m5pVA׎وyv1JBԀvCda~uV(G>'vS..ݒ [Įc]ս]͚-8i\Fti ᜫR(޹fg%;&f+HB(:qɺF2mDE﷒Dh#*57V bߦ,;
-j;o|&p~kǔE2HLшǵ_b-ܡѲƙ-(a)4?j 0;h["s 0mb'+OGe?9fA$t*pB^L!)ދ9!"APN wB.sZ! 6:4ȴ+'QkC$pE5%O* sGYGtE Y#e|weFݳGsyJQzS`՛YD'DV #D [RK~_8u!}<sGPw .iTS@٧ *= G9AZM֒xQ|^;DUc/`4v@,yy;lE#cDL}#&$?I_r1j]lZbDMJ-1Fyhkq _(ZwRmXxocSbH'e^QKzS2y;d pگ_{@\?: v3dy={e?2}F UZwӧ曀Ji{6"+)p4Zwj6rYFq#*ǧdcc0]ZpPM}eZþ:AP(&p`06wP}~8Pv=fUߑo;nT<YSacW"?CK7vm1C0{9~͝7k
-ɞBMo.!d/0u,wRvc
-Yf6Ed+' ǎF ՝XQ?TZ+ff2 Tmv ?FGlUU9x@? 9R_,$`-U4͈~NIgڰvVF`(ԩ
-|Yw6W QvJ"_G6,Y NYHNql3NvYjQY iߍ˸¢
-7$3
-5F( "be~bxx,v
-y;12GQ0j
-gE=*m21F2Qyp&lkz_VH-[Py4ѰB VΧ$'{ <\l=_ VMAI,
-eQ,NP](G;Z!t[D'%.wFю5<םy<KG}"SFG"}@XGЪL͞rXn+r o))R162Ӭڢ J\A%S4➇_RzܐR/jF~5(,$IGn2U,G!LG;ZڀE=qCuQ9|U=7C/O[<qf~7?4R_OZ\hk+_GrJ>H$
-,R*,."/͑%Ghxm`YhXb v18 d[^,5XՂMzIBJ-0X3ҝ.Wx \B LKY!"Zpe &|<o46-bd s !+뀐i8-|g䃵Y2n?~m7|XgBB'$.d J\@Ej{sB/"
-QrqC65br # 0R}pBQd/`,L{*r5%?,(A7 |}-ql/9 ~'E0U"C`IR
-.[DIEݽ\{(hGFq_X4y%Q47ݵdbQ1r xk<4r5wN[N89q ?lyzAg4Ўv' ,mW>zߟTt9txP5ahFA2 wkg֦RI!G]50Uռ|v;K# |PN&X =ÉQ(*7vw
-~zTQr*ids: 4 0\-XݖV.tN."͑A"h?uX"y̖ΐb1+ivw*-kH6։z[ٗˊHBP]1dc"i*Ǡ-v_ ~ ͑6y
-&; iJL,|goL!iqNCwd %v w1 taƧSLԼsNn:ÁQW3jlp%eU[iJkmV&dͱR tlwcU9Sq^DݿL-S(EnL-і!tJxSR{Wj?w!"(tƬx3Ў^:OY
-q*[HO`,$Zsrky(h`m9Y0ěRT;=niu慱ΈldۆTAxLS0
-.#AR͒Y!PQ~od`KJ_7|ii%AK^[
-cP_i@zeM
-ȴF
- WhK2;JWDIC6RDBqL$O6,8z8)#Wd`|Z{'e  hGOnU
-<vwSi[Iv|0®\1S=yyH)qoeYၓ[/-sM?'-vOe@
-2?_}0Z"-O:cmv
-b^԰<錩qy;<$Y4P=~ۮG4+MR\a=7zz%^k~Εa]soHآ(d?MQي mb(۱>I%R hUy->' 0>n*L&6%2H>5д9GOt Hr *#NN5'9I*eeĨ)M;Nad!M+>=]~0eb=[twU[f
-endstream
-endobj
-11382 0 obj
-<< /Type /FontDescriptor /FontName /HNJOVH+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /ampersand /asciicircum /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /period /plus /q /r /s /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11383 0 R >>
-endobj
-11385 0 obj
-<< /Length1 1832 /Length2 18448 /Length3 0 /Filter /FlateDecode /Length 19593 >>
-stream
-xڴst\>n8m۶4v5vضmml7V/}οߚ53n^Y!'VR6s0J8ػ330
-j}>ˋ i+33]tv߸Q|2Tsg
-)7I?vR~&}]اkG8_m,]ɕSR[ٻM?]]\
-A9^n
-v@lWEhrRpp37'L,j9=Ǥ4~c]>'.
-Sl
-*rr&no`feo`a
-3 0wpܜ
-^yzG"s -*
-nl3h~50 (Ǿm[x3oC|ϺI [ex]DNJOΥG㛶gP\v{`IoQTNjiZ׏HXoTTeg{@"⭅7^? U=
-Yзsflv1q9W&rVLG2:" ~7zU!<D)E6z.X[]XmOʼ5T؂p,o9؝Ue 5Azd]>Y rmH.*pkOg"Ep26 ,>B!Pth;h .ܐv
-mm׶syg
-%Ĝ|Iiij_xwXB1&8i\wK`{WD[a6l4o&E%J_S8Z6r ZGci<qt?-;
-{PcpK6^X
-_Vs+-Ĺ{FOlOC(c
-:OzG(E_1Zntw HF4JpS \H%R{m GB9fZ(n-Ξljr#9Qe"k~dž|ߑgEy^9=%W
-,TD MwwRtShڍ2!æ_2EPKh:-1R i5 1SnSM "]?4y[q@`e/cSA+Pڑ#
-O)3zELyh3Sy`(}/.wx2)2Q32(1: AF
-m߳]NSJ֙7u-S_8
-1` mMʽR(Og/)I4+9gQe]x0Y Prj#GSv^+ReVZ÷2<© m)4ZEns^RK FSS'PJ_c㙅:)\dt?bX sr >űW"mE +R֒)4SR3C+tsj5q*S
-<RJPQݟ,qV& lN>G>іm"QQJU](w;m,a0Smݪ]DW$B5_|&,+ͻ٭"IM.VtO =vR?擰*-v=2iw6H>p
-,[ZOQK U *RK"ˑkT
-M#Mͬ Cۛm]"G쌻hP wM2?He[̙ < Z
-#VnϤǩ gdiҙt.ĽҥY Gc,ӵw
-iPnMᨹrRue8gprZm_~>^h*2T1oc^V0VSe pL0iPcq Oi-cpXoWO&tPQo!Wi?V$:I<M23֬k>Ց˫G!Kt7-嫸z&n9>sX{ Xqظe3Zwʈs>j2-2fc x:1J@ND%W\b\~9gOu+_?b:_+J-K^z{5 ЋyO}^
-r+eF8SjĀݩZ~1?9Qu̾l:C2L$kYSڜp[$8ԝGo߹ڽT;^AqQRT8ߩqh7Ynn;"AH/Pg\jH `{>\6[BeC XfFoՎN{LdjQ"d_wW;ņ&CJ<pU ZjgwYHZBf31C WDDTҼ[܆y
-bi ?@h`,*ӿЬϿi+s²#<Dزuk=(cc=XwU|kuٰHo9Y7^#/v' O[+|넬q406#$Oo;i @%=ZF)BR8m$up5M#
-V%1d`,1r@xn;bL$iʐwto?P̜s%YIE @yeծQui|GKpϙw>3RԻƟ| >+M+H喑Ͷ.]=Ť 3wSR`Z_2RVގH8c@i"U=m,=#B5e8R0^^*G
-9%B+Qʁ~YmdCy
-k>LwZAuU K7́:k DE
-/Jv9B_Q440?LcAEJ(HJr2]tUT?NH&qeZkE7/nNG:Q Gj"\ SkfKs:}pBvhuf)c]Z3VPq@m'D&d)Hܕn(#3r3N#tI0P;z;6(KO,oZ~bWFPݝ*.
-2,
-.:HϢПsnT R8R*45&nu2F%f ]<wDa^X|bQdWII $RMsD ̢D
-,WR%|Y>E(CJBRn)[B_@aEy΢z%R]2u
-ll* >-N2kkᛅДJcw L7lɒJvJ:B C 0?#oе'uy}
-pĩ#J<B׸0*_kv4ϥp;ALl6
-iR2dѮ:?u;kjrb
-cb2I4"CF/Z2$δj`.3wS0Fcϟm1uwə+j쭑F*D:gVڵIMFW"dk?TՔ+ƪ%wp*ZǴWޞdPLu'erFITVA]rY .ln7) |kf\s8! 넓~vd5$s CTۡu3.P0ypTAO8?z /+*A '%1}%'s%\mR(@}W(i?y$>y&Y/Wn 9!/s~Hܴ!3( /n\p\~!*}ilnۺG]Эn_ m22ūVX>58E,\=aYcKArt#ᒧ$`ݹfvI3ϏeIo^.)t؃A[Œ|VGt~
-jP<jig,:SroۘmMI)? ~H ,/.ICԃ}S5ƅ]d$<gܯsS[kK;/{m5ccՊSc&
-ewG>t?$
-
-&,Q%)ɽb.uNM%+IFQ,|$c2Њ!P<Z[E.]; k'݁^*Lzֆ6ݫUkhJ “ T/8D]j'+fsl(lnoz׹,^}zy(){^K#ՆDl8Q6XW?U.M,6qkt/h 1@#,"yIUGXkp0Q[!"6$ nA nCô}f
-z>T
-7e&pc&&1siP2/A[Q`UδWNt$5̍2EJg—O5q:Gm3:t):`fZ@
-հzn][n[?:L1{Ǔ'2O,Y:ct4<Ӌ}J{R[ն @V``Ĉ|h5vrdQ0L i=1Ate&VTH(jURE mGWӠ{pwY\\QTN\Σ0iE1= ri@\@'^*b v=z'"lM>Bټ/g'F {oRpI$?@gTg,~%<Ԯfm!~5jWвd9"ǔBpn;5@\k@
-5%Ecy _U3)կaIaw7{hk^YRJ
-?&F;/?HX)(.yFC~22A`LUsժf>T .1P1^"Vs%bUK !4?NTpɵd$,!~g-QvRe<v5ZsuhcHS4FUWF84JdY,#lKכޛSY!crP5S ncnR$,WusDKk'R G`􆷋A3Uj
-7B^OU
-gMuFDRHqd3ao:/CX; HT/`ʦ6aG Kpv[R}QnyFpVcZOzD:0g]m94Y0_c3
-ύJJG316!cu8ľB(mpRy KT<0"f]A`7|Lm՘t" ٱW~.ٲ&Q̚YJhj :&9Pƃ@*jrnnp
-Molh!žPy{ct>FU=nmj 7M`W%?3/4?t`$!G^TdmpRqi=%
-"ᾣVb ڜ 7ʰ䇛?Ҙ]NV+עaARHp>dx)[gn<'ۈ$"6L8˃$-Z^>SG-A~|ISLӨRAŕ!a?<`'lFRq/MpUS,%NDkW }ǩ >+'Py
- $C_6
-:tucrƐJt;#BWn1%W>r 9Pp+
-R.7X$2ڋhlԽBЩ7
-G?ag8{`^~!
-|!
-/A65UpcS@򙸭Hۇ>R2Hzl2S8ZqL)k_,AΎNSBHhHqҫHPhÂǛ4c/AgwTmnO7}~!|?6haH %7Ep_X:@w܊.N$2i}GQ?]P8]G6tTM?lhq91ռRh)h:9
-oeTH|WیcmŚf0%9 ġ8HJ2S=;Y3DI)8A<R %Z)g>(_Zb+u@su h66P<0E Ձ;-l4%/%0̸zjU+{b~yS2rAe^<U߂y5x9 =#u݂SVl {E7 ޫElmr>zļ&1mdOԸ z>:ͰQj
-sSVsm^ ;I*jUGTu(bvMNv:mfR[B[nT錙1,
-0_|^x^}ZTѤ(5^*jt3Z  -,q& +wĹXEҬmTF[LIHB[-͗ݒ5s5X`ObptPoT7(1^5p-awg!A~1K^0g|kc
-_
-PwRi@`7S{_y@?M
-H"SŐBH {//r}aG^EO<ꅜ㱎΁en0-~{} /{娸>S277sh:Hq~!pG鮢V;(bG7=PYG\3ENU/3DBpʌ]??{+UAI=/֨]>vL-%e(DCLwc
-sMgs(iKgShccwӥnwe ;^q ϓr ZZ2 ZxL<' ,rQXM ʢG>yԤ(÷Z EEcx$O"=f'E6E5EѪ")dRֿk<.; !`P[o{hNJ)lfx%1<rڬp*c27)[eLe Rnshf͐[8@o @,u2vۣ<
-E.Z(rx@4 @ӳlK)Gx8wJVR@ph~HsջduII|ƼCcxM/0j7R,,Ƿ՝p|V|ctdTb*bc/ežʟ2f _Ye _fך
-Gbr2_Jtt:~Sؐj
-ۚ?뱺-"%Թ/5-)vZ YR KUTa35~Oۺ- :U?VQEԾU%HQБݙ&5\#9P wGM?-~*$|R$XON>oPF]{#Nx.$ GxGnD=Z
-DXˬS.•rݦk[H-Kџ.A-Qna_>~7SUE2"W$ *>݁ꘛwOW+OYI7s
-]j̵:^?6C}5usCb"kwn(շJ$_B "{roη _6.];%c<9vq. \TM"*^!\6=71 "75޾^Аt<Z4-ݚءEfr-ϭ71XE \ y&atId
-9z?M
-;%Zz ftUcW }ܰb/v5 ۘ4ˈ!m<cz:fRcicCuѫU7R
- 9=6}Ah` ql> em{Y4=\rHu~a?Z* X?C;9|jvw0\traDL=:̏˙9d˫#0dLldU5@tL%Vu
-l
-[2s˒Z
-N#,#4m&z
-lBl,j#9>Otd=P)u9$=` ;\XG35utN Ih+ `.lZWt5 Ri$cܲª/ױ)"prsGA=dQv4w
-N3(P8քdl9S{s 1ܰ5݂GͥEyg{$EgCiHjӴ~&F9~B.m{7f]WwX>oU
-ij<P:'>M Kܫ$2Rv6hW=0@3c}T|LKc؍Sa31>pH|$_#;80;}G L|e W >qN |C(>$)c̚߉"βNep] JvQ_cI/!]";̟-P岝QQ_7:;@ƑqvΒ' .#9Õi#rn{&XY&dȈmXEM+d93H+) M?R؉ 2˅녱|UYl}
-|x!XrqYgTf^M1{q#Wiʾ} \_RR NwM#KWL ѰDPAsD67CEM@
- 6)<I4w[+rڥ0\  mꮚh= aNTq:PPĵ@VZpMx{j'Vw >R
-!j nЁyFV+G 8El)OkB:!$3SfbMLDBK2q^&1{Jki`'69ej꘢
-endstream
-endobj
-11384 0 obj
-<< /Type /FontDescriptor /FontName /NRLLYV+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 618 /CapHeight 618 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /a /at /d /f /g /i /n /o /p /period /r /t /w /y) /FontFile 11385 0 R >>
-endobj
-11387 0 obj
-<< /Length1 2291 /Length2 23658 /Length3 0 /Filter /FlateDecode /Length 25020 >>
-stream
-xڴuTJpHN5@www푙ɝ}4{uT`@N_B(banKMOC0`V
-4ZN
-_i+YZZXAET
- UQw%~C*һwwJJi@Z./m$
-XEH;11ձ1/KN[_9G='MB7mv
-`1+ҳ0}&ߌ?K0'{]c?=?ez_wQ?b?rRHE..hN?F..zh_O = ?A]~||L@BˎSʿ PX?\uާ;MEο')@%G 5 f|_+aarPY]?
-+6RQv'Xo+3Hoi$E]iXdXǂ`j[l ~t(Pr7W,a^~@~;J
-c%璽 *j>9!B 'qU}9?⪧{-mM<^w\:-n͍q2J۪fvQԽu2P%ɏ/Lvmu"]T{a<A37Uא¬[G5{/r gˠY6m}
-fQJ֛NcE4#ՐCi&;Ob.>.IA$݈g>o`eYKH%N}sfɋ#qj,6!K?ha`2eΦ$EMe!vR ӛEU! Շ^1&RZ #*w_{ůmE~6}~]>`1s\ZBa1"Bs368x߃y T֨s`s,*BL 0=]A$47z6. jyGo==\RyeaL![JDMOHqiY #ƕG+EibiOAD P;lr&G
-)z2f[|y! 3#~Hb)*e5Cs_ʿ-E/Hґl\|L$2 ͹ӗ:\TS3^ q~CTފ~@
-ޟ5Q`pY]SA7 ^TIy]{5}xFMWX~Լy6#j|ݞt LOf9p"0}/8tƌ^n-m9l 8@R֢F"L㉋B1F#^OsOo4!>$: /$f ܘϣU<N*FNRy*`bnf j5R*i('HXP)ʔz%AKg):o^QXq7{K5y
-C
-IJ0<i`AցqM21C<g9"A; % /VK\^)̾ 4HՅ=RrxQKC5%Ág$InLD=nȂy
-BmjP}Ϩ:{רCQ<sLM+!2h ƹ UkXJ2j;L\kf{HtA)-(R|KAIȤ`1""(龩<Hg#%ۺN*ɯt`Vb.͑Ŋ ;xlZ-H9z]OGr9ЅV "A<HѣgU^j/CJ67]i(?;=%A0ihg*?)wcn oJv;rg2ӯs|xqS"9&[7i}Ìq*
-eθOh l㘼)L%2=Q p{dƽ
-_=H[+oXxtG%&2]&VoLjN ^lCjeǀD> Ti.HU 4p)Mf{v; CZ4Ɔ("툊jmX
-+HOd`6Yp2(`s
-c1ŷ<AJqt'Xa_`X"yR}#Ѐ +Uvg>YѐymzGweя2TсGWPY[f}*cj\MT'B fтi~IAJgeG"E;k_`ݜ< 5^SS~pZ+}şN N(hcG Т6KxlaPhp9BBЖD^?wڽ⏥B#)09X,RTݛ(gnU`'f};qn'^ E_JejkٮEO@ ogfE-4XDl熪-|POj}P=}&,,0^[0H5kc8ܪӓYh=ER,'^lHc~7=j`8SY>T@Ѽ#:
-Wv!tFe4v]2wv00uadmlU8 Nds?ʸs [s +fM}UGGY 㕜rOi־CWkhGBp
-vHBl̯ ډHDm-V!jQkD񹓓(ϝx^It(IzgG5SO>RaX!ΐMŰ`FI 퉣'- D&GewO+aG|ޤޚ짙?f@冖
-⇀vƬȒ{{S0J/*$05dؓnݘUN'xa&>?O}@L^0) L_N(1UΩ+`UmhC` ihC3T<rץ`oaA࿧iuZvJQ]3M2't`jWaR 8}S1&
-Ƕ<Cs6pFQ
-kMa2&_-6._o ?:XVЦbte7?Ëq2?6? UD} pKN=6YTى~TUv)۳P"%Ы`zi_c& ?30,ۍ?iFZzr+^%>* }orw4͐3׋PgXZ9*Vc=""K{,mAEdm}`_҄Q(uxB=zRQw7a-8ˈ{\.w%GMR}/.[lOĚ)xW#t`-aiL{+ ;WX)vC=I7,eI SL:-D#6[_d, Z
-mQS HmK6I!.IX?,Ý`|ɠ#v'b jYGkpRҳ&3<2r}53|;A@c9BCȯ+T03c<pE#jhY0D~0?%ԾRg, TBIScցh||>s8?,k5\X \G
-fj g&VAڜ .)<!iFvkub]q{}y (ypp3t8[HZh59aOc)jB U3u `)Do753\˅[¡=G(|>:ZCmC !ȁ7I]O8ٚ<\+
-B iV",A5s s5q~L&"Pf3zInsxm&ᠠpI<"'R6)_a{܆axc֗~cG%SgӖ!a ?,]${71Ak3ia٠ĮqzmHnh|jW
-wS3
-!P߶1<h$l͵  WdV*tKTdzoNڊmU-otVP+(3`ΤͳΟ΋HsX{w@ rDxѼ}1tV{ }; SrFCG2(>^'dn2ޓz!ϫr9.GzF}navc5mױ]T{@YDLFp*he_بkuI/4E}h,m`aKf d9f7n96[.#ϽFFې$ޘWl8q(s7x$m"3Fg20{PAuLqK{{ '5e"T2c֨]!*@li%*S;oMI^-H%!J0K۩Xw=>fNwtT,Zr8l=K[z ^,s?ҫ洌7uV_xx_H0M
-/ O=N"v\8HG,Eդ*Ioܻ.a6B.2Qr+Augk8Zf1gٱ)mwg*mӔlǵ}I[@x:Zq)11XTc)qgUuijmlL^b"JsIDj\R&<S͟g
-G vJE
-!0f`]l:$i2qhNޫx3P1=]9,Qc_~gxLB).GI{RvFPm@V=ECAC|QE6YE1N'`Th: OLmH˳ng-&&dE<"z"Ku> :s׎0y<z|lD8/"l; &8c/npeN29"d
-޳"Iu0*͛Z+).i.&D['d.Jd69DUad26wt-, `@Ufai4H
-o|{8L<^U8,e9q@
-n KR*LdT~wibr˘XBĬtHZ;ג+Tw-}N_JҥOqIHP,QTݚ̃RLTgXHIE0Nb~ ~X03SQ
-na]dØbꋡ>d -3C'ci^[,v{Ŋ1߉)vb8lG}LyRgx3sy;a cxAXkAcdq͗h(OW\{7l#{o-/=hov_^ސ++Pi@c iQd=wڀ882
-4dƣT!Xюu}@mg 1أY;v\'7cSk6L@T/]b?H}Kx-en(nR~ T|D~0mK6kGOrʧK AYxy&=ZIM;(J b/9Bΰ7i-;$&:pdS>
-OnnpQc(,Ca$E>VpWDFcx=Mkk]kj&?T܈#H.}FwuX%uf``)VM+!kpeTyzaWrRș
-zs@Չ1o<̪w~;T!lBj7 Ĩs6C}g4J&6wI<Ysß
-dEi' <Qva
-c2ˀ d.Q q<C5*`N7S]֔3N?זM]C\y R$NR9{ObZg(-#=|APYKg%c2Y<mn2
-dhp7Ӭ;K;|[F6Ol۱s5DŘWSɔ"Άa^VUڰTSif8 5p'i;!F :r< YLP)WJ8u O5\VzwzEDM_0j]
-,!%,L'?&
-B:PIQϛ,a[|Cv~00mOhтޡ!Vb2,HN<?$Mkl
-)ciͪ1fr1P蛝pR8B4 y/H
-:ły|a~sɚ#ggKޔTZՃпQ =kQ {Z_. ^_"<#;
-f_3%sZG!6yΨʹǞ~b:N|Aq([N!^g#vϣ
-V9dqWR Dȗ&Yf-
-}W C<¹#Ѥ'!#~N'j:!#PMVUT
-go4%@u_x`YV8!'k B F9Ո3%q,Ƙ\]/~bkf]Jů"i:8\b'-KBA"^aL;7?f.C}Јڊ:Vj }6Pw
-I <n#( ҔZeX)mJQiҙi`_lRS'==3.Rj( 'lrPgMLDώ"F`OJ]Oewf&vǯ_l[-)(k4jh]ؗAT,_(\d!":61HCX(@[jV=lYPDzXlG"ݧJb2x{;Ore̓?
- 4?@"QRE]f/rJhfS3U@AEsbv^#{35.~sfG5 Ik]YG5pQD*7ч5
-߫nInp8pb%#*hS-u/o#hc=j61k9Cu꺒v2QW=)6rI|*pi R$ۿ<i<XrMLKcgY$"yZҗ
-U5 mOW=#4B6A(I>=Zf]4J?iB)DQ8o=8F" V^I:nJ,[sIۤ4吃lзaYRU3?Gz}ɝQ Y=WTUa_;|גXIn AboC% .{ K
-,, 4|xlg3zߖle90A}$1i9`*0r%KcksHekMwN63bGIw[̦Bqey&/q%:mYW"9>XCEp⤜y22:K봋+h0rg6 .vnTK}H)eA
-fxSʟ^z kwZ!i LXnf'[
-t9ZS !&|?F;+zUZ3}ֵwZDVEuPZ΋18Ipmr? XXw7f%QyvFԺ[;=,&b.Yg=V:ʿrL Y醺wA۬ks6 ]_B{9 `V,[uy( #U'zg7R8Oٽ)'&jP
-X&J1u Ru5io+<G]
-dOO}
-fIIS/ Ptg߈5o1Tuz!uVA+
-6@?|{-?LiK+<]U}^&̍|y#dLa&26}>d5Ey~qYqЮe"b]Y~҆yyuTlqGY, k!&KN HSX~O*>_
-ZhgFi1GC4ʺlP"I1^&yᦾ?m)?`Z0c+sҜv(V(Ξ|K2M6Jh:5L `(3<::Tǥ IKP ij.7@$6Dr"%! &W{x.x _Ip+(Ćv+p
- BZ˦j&!M%DFůD ǘaqcrX8
-=lJ5_NNZh
-x"'<C^=]kpޟI!O_M{u NɺE-tLPVvKOQ+^}#a֝c舐 |Ի%)[a\X 2̠aX0q@W#KE$5bn8}7~T<ޘ2qqtvle-
-st ocw7k>hM{^/`wg,/Ԝw:{3}7 H8bTk;ZA3q@ Cy,$FPhhԂ^k|}ko8fUs2:h)
-^XS*w%{y) s@R2M{t2 i41.Ǧ!͹#Cx<XfQo5,4_!xbP
-`I[O;_c6E
-Imj+-l~N&
-6\<܇>7ƃk+gXdMn]Y2v&)`ds w׆VD xŨ?,1r6;J# _V% k:뒸EuFu|K @rPLWDR`Z-M0W*Ჹ4aOCē=v_
-d<?xSw
-.B`wpcTFQ|ؕmۮT"UsO0cW6w~O~iG޾>Oʰa\?($k<Nem>u#(xZ ~}(w9;#_>B8!@dSݞe FgUOx>zKZ4|QI>ǔa6q:=\J2#G
-(Z'Сh)z'QVq M[ߠֱܨ0,hV <k[J`D ŊQ껃1]\Q~':hEG}]Tа7X]62˸S79n{/ iBNҿ̓t&$0x}_=$gx`ug tMY<_O%WDK-4;%dMd Rh ?V^]@F_+|䢎d(2BzaQ6pP\t|pH_gU6ќ.9
-_DmC7=|P@{+pv}B(DF,*h,eׄC(]4a2jB?(&]s
-?|TQ-΂ACu
--c6a3@|Qa["NXP]m8:.01{-5藚x3t߶0/
-Yft5eH\L$롗ǃ͜Aƒd.E\PP\ۡ\JeA OT~c=EyFHvGsҖsgGst[{N B׽۵9r1N)&9$\T-,sw-Hz^*]ml4܋R9E1T]
-lRegh-N3)˜}~^Ҷ˵y%z
-씶ŜeY'L+aIu䰬6p%r
-dYPϿώT3!J8Z6ޯ{D,@O w4u}ٰS>Odd7 v~+ I (-Iv]f,SX<R[J;d,
-%ߘN7-"G3)@ϞYLH?!Rʠ>r|܃-u?,%lbK;A̎1WzNhh nkS?DEwi/
-it棌H/kB3a~RQۜ VQN2f,X
-֦v=( ~qMvXb ="RY
-50 2_s1,T!lMʒ_"%Hٖ AyK6ϯczȞ\X:}̋}Snղ c#!(oRnD1wJ0
-<~r6aSЂɿBy?Q :$ N,ZGBf-wM0$ YLG]^`蝟l͗~+./*P?ip@ᔄ+[0$u!0+,vɻI:.%̪D@?ߋ)>6PԌ=R\/wh
-x p:,CQ)B4[U( B6v;O>>0X!ռl|3%'.)aЪ 0ZIEsZtshf2OvaH )FM-=POBe\;XaMT!󼲐L;7SH7$BEID/9&8AIt=ЬL{^_KL}V5;pPm It1 %j>cWaFW@W VR#[1<"(?+":M~&<{rdۚyHWga@1yFEC 5^ ,:# }K\gHW)'q#y[`
-))]<r"fBXP *ƪ-N]WB*,)UI}n
-Ici7Egch'E#M\:4A˽$Y7J[#Y91Z
-nhRAk_|_.,0*M"+ȃ g_ETf]Lx֠=);n65Zc`gk$:MIc@dSk{.dbh?Cs-~BWn9G=ğWxU_$IQbyCFUĻnIL#oa@o}. !- L\xcfNTmRh`@9/\gi7|:9|Tɹ[ gڲo hGgp6 ar?
-L[[~,~&RLOѼ7>Z$҈UӢ-WUX.o\AhRDk_Sӳzd5Ġ/4|%8f<pYZ|Ie41=o%׫Z;;q.m%ͫ?՚Q%dmId)+ޡseg Fuyszm`{Ehma4"9 
-SAhʎ~M"?RP^>f`wgTv[p^L2@ޯgD:^em%f/ﮜ=V>t! D'fZq 5BT36 QŧÙC5,wh6sr,iqsUB̸6觐wۛ}&/]7~f> Gf~_5aWU h;°VlUJ
-O z0`m.ŋ~KP D g:4:Ḽ"*Ԕ0٧
-́S+TdV p 69)QW<
-/F>UaAHI\#dI[:6UȇLs>-+"IU
-w=TB
-+8zE9R“u@^TQMVÒ/gMC?[Op8AOm'ɐHt~sd'f]%tRmƻ#y/ u0W9ؘ[;i s 7S/tĴ>B\_[<SLUCzKnsg4/r֩vշg6cuFG }扫CCHLV+!g׸O
-endstream
-endobj
-11386 0 obj
-<< /Type /FontDescriptor /FontName /UPFITJ+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 601 /CapHeight 601 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /B /C /a /at /b /backslash /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /e /f /five /g /h /hyphen /i /k /l /m /n /o /p /period /q /r /s /t /u /underscore /v /w /x /y /z /zero) /FontFile 11387 0 R >>
-endobj
-11389 0 obj
-<< /Length1 3171 /Length2 30435 /Length3 0 /Filter /FlateDecode /Length 32180 >>
-stream
-xڴuX[
-HwHfnSR@JB:$ss><Ę5k]
-pZ]^DJ4 vZ
-rbX:<|_fK _[92k:8e% 6!Y],
-$A6V
-.w VhotcO9E\l</;V0oZNZ? p ߧրn3 .zgp%o%[ӿ3mch
-~x곀o`;~2Kbb OFTer|jK 
-LK̚mPPVH&*0Bʏ0<&2kӛEVr]oZ⧪n:b Eu]%⬏ˌIt%Ζ5џY
-?ID@MPozMtݲ{5,%řϱIu(WoDЖ YW]K(>fV
-y6+Yƪ9ʎM#WFiF`pTGVct}89QWn⪟Q~vyi߮]{C69Jy8-tm<-X!)黩)!' q()LAhK<lt[u_cz_62?L-^b'W_ qpo͖1׎O_lRhm w5zu9lߎ9Ҙ(m`+<΍8ߟEOUӷ
-~R}W(ﻥeBl=E- 7:+: |м]|xK-JOK4| d:5z":ptU 'RUog$^G=ĝ0+#~<H =CD vǭu܃Q쓯8! ţVH%^{rwo
-I >zw
-VT~t_,;|&Él6L{94ar/Z1Ϩ(]_Z"'>Mxd{ x@^y}Z1,ҐBzU+P%d>+<Yk#IPK@B0KKy>̤Bp!Us(D晿j6HSLlH{|]6Sދ 8M ?L'Y'^}37(&2/09K)<`z&,-\I_dEr1.cGFCIb][^|>fMVwKR'KK뵓ўWD; 0V>Ҽ޳U6o*}J(
-aDzSs?mIgqܜd׾ Bgs\Lr4-1 jEP}Nm_mU@譛EvTj/VƉӬ|%"f/)btt8[d
--6&7_}2QeBSi'apQC^[OT
-1utq< oph~8Ә؂GPAo.|Sؽ0Pōx-q#JGtz8ԄԤK\HB~ښ`MP&sх*HR\@D1g'$ƕgb#<\NL )k="hy?& _5]Gt%&Q %9.ӵ) _OWQ)/l"Z)tW[;{S%Cn my8 %>:rMwHU !_iYOn*+;4v8a= GwI޾>f޵mSjn* OLq&ErҪG};@(Yz ˁKiړ  PD\)
-eHُ>L|M4.w5Z)umEo{%>q }"<"0p4,i^v uEspM:k{^\_)+ )4T7h~%j"^7iϩ1\VN=fA eXu_7(W3pgɱ &
-z7h_[вNVm{P9
-fsٟƤxZm +@f(
- F3.z]*nvOe[ĹdB(^.smowK6 -En cOn_y/FpeަEgϊ!:(;Aw@b Ļ'ckzө7dgOuȽLRomrd|\ǿs|JoHcҺnJ+"-y XMFfML};ҝ/
-ȝFt7 5!ZBy
-R32Arr8=5:ӡ^"ȇ)Ď[b)n]C4%Է5RE
-→ڕm]nYVguOW(xn+l6X'Zn ;\0W FG Apjm/ `z"ʋuF}Cdo8mp# %ҥ8|_I Xv~
-F mGKa uYxA`C6Uȣ5
-6O.N !ĵjFF>L}:b2V3Q{b\ogNK)mK.`a7}>}^/SewM^Ƶ#
-z~2쇋ֲm4vuy# ꋶtFdm Dgo!BFӑ0A˿AqMS?>XZ[(`"\cvC:?hr6:Znz\ }K! CY8-c0.M]3?@#qAg*:4檎ͪIW灛$O=X%@MV4`w(J*ɲv`p'QY~.cAJB6gIl:v(hBifRTE{QVJFԞJP]4T}6ݴV9$3 !i_14v$.O?lhXYѢ?YZ̃4tbLDRLEͶP@eK, j1wê+-"lp^ƙ?Hv=P:8@ڦn#bySO7MQ0<Ms֞8%! \+J
-a fOY Ƙ4
-,;+ ދ}3Qm6}z/"*-9.@y$\~$帔2A59B&LFCQ{`&Og}&X;Ҙ5QZHBeܛq*WpRU3 ފ)Pj7{blQ^+ Kotfe3 ΐΟ»
-YI#K6ӏ[1&w?,Q5
-)CE'u"b`!$>]>q&K'hqӰ>T<p>yUvs٪ oB[eD_MII8O r '^>)5h֢i>%bNuLά;A<GI$]ȏ6>z?cXM5Cs%! 7Ⱦ}S,k/k( wOܡߘ,v4uQDpG꾕UW#8EHx#9PVB bڱw & YH}cAEH3u;lG{QiOxJ¯K|<=Y
-$"4p.?)Ksð6GHmѪV;:ң 'iˏJOtݜb̻)rٜ"wfm a*$vل_&abx}GܕD|cJ6NIJ(?zuAQG;)D6!qYEl4NtE +~i|@A
-X҇s.Q: в:T&:Ъ<0;8Gc.VG3g.Aq!R}#֓w; 9oS۾„gb_~R[nB59IێgO\N8qRfo ^7 Q^ǨHov<iZ m uhv٪./+}2
-.45";{ k^<0p9hv_PxB-8jYN  >),ҳ1#nh}zX:Z1$\VF2lȕ6΢ѺFIk FCQoĐi`]D߯XpZoYQǷy-i^[;q|q
-0_St*t%1^Tw˒Hg-|QQv Ezƪ}p&m̍C陜">|;ѫg70:<.+g "OjU?ٍN~ mpW \9L
-k؂c{ &?# 6 6譐
-gGdCvjLF5OTʓ̵k%\.c]e@&~<ewwǛx@)DX\L6KG?SЫu%QGGeF&{8erṷ̋ ~&'B g/Dg|{OV! j-Sl:drD/y6v#Q^y"!f>@Ao`9"$\cA:1Qţ{5@l(Ԙ=~n/yQ[
-,kNm=8e}ML0涪ۻ
-BаL'h¬TCi7B˽SY%,R'F7~NzfT2
-|OFUfcHOdJ `7/:m)d{zNm$ cXY"e~ 'rv;~K734l!5hiLd޴bNF)l*"2QCG@(2NlfhZ-)ZǪMT*a˝֟PLj9c׆o Vo:wdžݞ2wi}0IL}BN:ҺLy܄ m: 3 .PJ* Rl>o3?i?ǦJލ"aW+zTLjLG/ӷ At 0v:y Hl̋ 5(ԟs%W\S9x3 D\ `nVXޢ4/7W! NdvҌ&^-kn*,A`K;k82}gfwt&,˴ß)JjPۗ^sR|ҋn$}Wii,
-_hCP];P
-'pD79d~?0%="3q3uMu [qͩ:R5dȆ c1amR*h\#|uZV/Wՠ}iG( ,iSQ_DdӁSVLpCLF>9ٟf$f)ˮfݫ )ose =۽0yG!vze&H C*pœIVJ|9~x gB)iF
-fI3J R s47՚&W< .|MOY6O˥8`%18jOW]OPƃxdQ* šZQLH>5㴂%)S-ɝ{m@U B P4S CP`w߷n 9,5JIԢ M#䡎P;=Q8L-3B2Ugf]hBlb?}`(oJucA/VvW, bk[4&-YLpHeFzu(un]Im
-$!@:J`ڨ7ѦkP-a<Ą{9]v߹0iecbб`\M.4p'v!bCv:|sګd}` q03O'Sv"jcHrZo0+z0l` }+{yE0_Y2wbsXw ;Ln~S<
-D%gh*&R:
->ٰkKsfFT!Z7Ҙ2~B۸K#a%ALz<z7ő$?j8 7 P L'`ZC`}#MJPciĪ64v#{x(W]ä1LnT+l ڍsPxQVAQS@F!,7# Eq7`0m_*h A;*;o>),o>F `w`*6RR0qE9As{ A6ecIPgޥ#Y)G1WUo~୔9{E ͺ6d/q^TdI|'VRQ%PH%*םЖЗˢwo,6<^?1
-@=9%TE6 gEnSՓY|R6h2t >eѧZ6tL"Ļ60}#t4h#k>ޕEh)}ɡ:z悂h t'^~zJيDɗz[XXUBoᘺP&"ekf }(2IoX.d3k>"z^4|,HKj!BG;zx~{W9WAjYzA~4)
-2*6^"%/9ДP?1%IJD2iQnXa։~4V{t_\Ji pRWHE:Mue?nl%ԉƋzEIFsfV?da6U(; z;ؑoV~اC&4aq
-1jlà0 B$T1 J#uM,$kݲ3}#@3Z2'Eyź
-O_o^%OR;.KAlA|q7;>-lNQF=o6ڬoBU9!pd4<XE^5/t/Ŀ.>{2n$Xk
-/׸AD촇0,j#Vǜ`rqz&7d\<TyXc
- y9 'b;~8W:8 *2P6NZyYO70|o6Oܵ'_ETڔm^ iY0LIvip+fQ
-C:e ;o)5M@qZǰnWaԶS5t| on _> : T5ZSL7}mDcBgv|E)9]#ͽDRn:c#6ۊ9'W(ޣ
-斳$V(oY4]ҔN=Yo_"KeOuy:+„ALEkԧ#tMVgXy>cF`C<JJwzh%Yc vV掊:dxnN)e@#[r}Ӫ'Yc7oDP=FHR닲B7O$\u҃Mh(q͈Y$<"A;b2-qдXq1F~oI;
-ʩ?0!|>Hc؋BPAA-B}z#^jyR+سuw*S>j' ?{$~p'VP"K%U+p$7ITٳWt'㠖9Y(!r^&7h1dp"rY K"gO
-Ň VHU5BYtPݾ.`,yirXmn{֫[][|=(RO<%ȹkALqB.;P\G-! &ei+/Ց'<0ZqMePV^3aYB{=v$ )
-?Fj.0SN%F2=/^fL`s*ϣĐ|pt7J<SC"_JN*zrjO䨊&gbnkۗ[gY]8sWǷ\s@FvDGW<%!xc0xOͯJ
-\ ge'; 勺6*.N+<q| ]$u@itğGLN-GñDN#UfY"]| Hԓ}dΝȄʓI`@ Ϯ;LJjZ.M|_|C :>fe I&%O˺)iwQ6K4>
-yg[O=SgBYT黴°o?C'juliudd
-ƗwMVOCEpR#hƸ& t܊
-Y %S7a¤#DwÛ  Jإ `cyrA,S8'+4vf#t
-[|1-hĵK#|Uw C>` GL#ҳ5nf78ޏt "33p- 4P돀qѐ\lhNąN㦝}_ F x>-t 0'*_,S)%?=.)өg\b.,[Kmn*W3$xr0}8^
-Үݥ)ig Hm̓k;6Yjy`2ʮ}!>l?PhoquLv:xd`B鎰Dg*IBs-BК}Ye@@?gtWR<Ll[Ǩib®47 uȆwgڭ#rU.3+1>!@lqv>N/QjPݝQW,]ܘ6R̖m,Q+5ȦX(hurC7Mch
-л=Q8*+c?juE0! @x@-ޠK WzMPޓaY4D1lp7(&Zr l bHҬK.#ў((&%0e3A?if/ϟ'~)k,Aq2z[5@INaIisDJZӻ^1沾uW=lRcJ6Ws2zF'6I߸`]ujZ m/(rr&\k>Ƥ܇eC+I֊kL*5i&=9mSz*.jB`FTpH#^l^<3C\vέ[>z\ʬspףan*=#7\8)[QԤbIB׍=Kì+^G$4G vV o('Lތx:/rwNJqZ˚L:ۼ:vw<ڀMy76Mpw21Hei.(⤙,$tJE $i?u3Km_:W{w\sZyf@-L3V~O7ujP&+U !2t>¼$9𵻿",Ԛ2S:qqZF!1%G9\"X0g#{sc1[q=Y^<w2
-9 o@Sco+H%yBgIKx}}Vdz^r h`.ߔn.w0{+-1wq]V;pFVߙy?qwX3Fe֌f(=+r5E Up^L
-b"_%s:M,DPwi*b6l4 eةh~?d5&ziNEPބz-9 /Zs=䠽;Յ?H6AhK"y g䍌Ká\ 5/]5Fi 2@gETx3>̳R]ElpНTD:*N _ypD4| .:ЮbV=/ uU>RnCf6Sτݾ
-KmcwJv9 v`YҿF ;R|l%!z%گSU]\!v/:{A& ` z19QXo ڼ_JsAOff
-kYu
-@cSLuX#d !7hX>̾o2 ڝ+CDI$`,|ׁ 9`lϺ<wUFL?]a|[ NYj
-(F)6ܫ2UP%B4pӰRi*_/[,sw"Moxz(Z $g6*%i2?nVJ
- |+4mDJ̄s"-Z̝h؟2>˷D\"TDċƙlhwN񉲄^yy%փڌIvB7A
-7|.R}<Y0\z*xpbKG*g9H;n?sj]w[FLG;vR+\-fsFw! (`ejH_/!_"^CWy`ܴ̙ .S y4}^Xg."|jBT @icy/3me"qju[ :6XWOLclK.C8-P/`ti`2\Bz2{O]oa N]CnN&"=Ȥ69R˦j,`JQxG0:̦yۢNe<AFO‹/%E&SuX :U 3ux33C}ث@JRf^3\|3N@]+?HD6CcX*X?<=;\ Mq&*M64Pl 1-_q "m=> AsȆ
-&fV-Xza0#niN0Fmg.+8!(0}3F0D34tZ.HY/11o<!weNI,_T-gM5)-+|ttR FT
-fMQ@]ȨNA\+-HG86dXU/h>Z
-;dh oQ>ޏB'PZbo b
-qc>+̀Yѹ#Q-_;~]gIVU (G.D4sSv 5q-žThFzd$1;^-Yvʞ [:f UZQʙdlf_Q`2/]H
-2"2HQ}yT7Y "5+`ϛ O·0P 86*i#Y+γeaw)D. |{gOp~E )Ơ[,Bth8^=S盽*C#2+4(.?وfA~\8
-k< rf31ttV%žasv24֎ׂlO͡#;->E)ƪfYVX]:+[U$0WTZi;gL
-n]'HYd {ݻEiŇR(("懞[ˇS/jH‘spʈҼyF? n :JylKw-:hGWLD`Bԛctx\MmbyI-K\ %)^A˱BKlQmxhjHr6LW.dнx=L0 I87]^/Ì&eģ Yq]$&eT31Y |&ZfͶ˞8,(E
--;}VC]Gw`/s-ڷb}#ŀ7#1mMf2/.:<G,Cu&hRuPh_v @pr)[?BDF=v[4oTlzYeеh>%A=}H_[xV,πK
- a$6aDe<9]hl~ʜ78jH︲,".I_5ҪڲJڣ H}nrP"*vulqUj;omI_{4)e5ÒUNMmb1ӯuA(18ufB4?-"ީwzt#O`<cKCl<@_ 0hfbS)n23jP \ӓ`CgNCSK$1V)_,@Y (`kXx~ʔ}IonnJ\/d_IՄˢbC$.cJϣm]ظnѴcay%t(!>:bܫ.eK-s(=8
-'g58ÅL?)
-{glQ
-AKbL#Q~H}a oDd7m jp9BU _
-7X lm^x5mn [QJS-w3졠,+IK1\#}#^W.N/-oYvڰL=ɇ-ɻ7 ̣$(D%3ÐGBh]ˣlW>rT;,6"=1Q>3uY,+QCL7a]EEսeρ塦͟ĉ FQ{z(<$ݿ"*`W -D\sS?c/O?P!(EL0a>*s|!Cj[̠I96<׍r}Cx&Q!ܠ&,u&;ڐ,*[c߫z&3ku `XP!!-3 ;֛aPmsOA~.:G.^mԾ)VH!JK%!@*z/wn]#{O9SNb`Q,x_n UkrVw\]|T&$ >ٵUܛ)1+n&)l&Mx<"r.9wZDVEuP™Ӡv#!ͲXFE7?di[U^(0d?ڎlcؽ'?Լ]%K{dY%)|𗾻
--sTĞЭxZ
-k VMs1n}ld\fC PH`'dr߅%Tjl̏/۹4AѬKf<0#8f]tta|Q7]ծdF/C}T$heM#oLso>iLAHҒ pv6f:GH8WbKbցXA&,mA3u[5M<-Yv&R?NUFKϷ!s2brUNDkPF5ڂcdxؖ,K [<33##p)Ouj=#Z !5`g|x%n ߲6,`L |6 kd- Osx&YV3o~ Ŀi3A8vi 9ЯpUW~̢"s)LL.,;&I~p779 XkMS<Cʘ4h4}yZ{@d6NWtslg?TVǮ?;~7&@g Xa1jXBsof4<锲mM8i9"I~71wm[@3r~dʚ {*;5d[Ss+bkY\|.
-OC.f.zlCU*33͸c -LM[g\,U&U:~eܱ<*a̛"1 sԉpL,kT1nVx5B>0cZkxaapKZЫ9H=lp聺o/4%Z|ҷw5IX^$]ނMFɂ4{_aRƴ,[M prjV:=J;3#y'xӇ[蠋խjg
-Adłxbÿzr䘥!,)谚"Wq5ˎTuDԅɝ)vO%pӯFhu `3 d EOQ'.??GGIeED Y'rTaqFWa[&ZKH,n xIº\ X͠,]!8KK#xwug!.j|$H}2_=< WŁuD
-ibh
-ιu/'Y-snXܮZ% =~ /!&P^@( bf܆
-k♏ud6
-twcuiiUZfa
-
-xAVk7ۼlߓ2ASCΜ\Y hq!(r//FRT!sϱ {$Q-ﮑ:}ړ\lp>q3eB^rnƍ+•0ToDK>%T,d4m|A,F7Sb[x22a
- miEDG='Μe FyY9Ȟ@'(-o _%"w9d OzH. }93:8kN@Q/T/0.`_X~DU{Y='0ɻxZXG @ _}DDZ\Mj8jIp#:3JڠXM9ֹti,E;B
-Ici7Eg96VN ʜ
-V3ELQͫüGF^OMȓhT{oP} G
-("t6e%*ԥso
-26Iܣ9 67yuC|
-bTlI3\
-g'+V7x0yAfV;FR a50$YLp
- >-gJ{9s)tMG?)H["u
-K%d/23#WZvFi)SAu߿A_\L1uPofF@up
-S(6.ru$y h6A\:[L X#k`Hmzht̙$pз
-q Q vJx_.u7pXfһoyĦ( vzSUš `b
-omN.+B S>sDC/֝mLj{PQOdQ4@B)Wb Ebn k%GHءHSF{cRJdB:x)q["3}8" w!O~Е2D(FD{XuϽj,b
-Q.=ʕ>J{( IB*YƦC_t=Z%l%Yf^h-m(k'R0jB 72cha5hT=K\,,*c -`XOBgلb#rȑӤfvz맼 CJ7 ҼU
- { oi>; n>ˉhj:NO*^ǧ.YLоӊ6kJ|%
-endstream
-endobj
-11388 0 obj
-<< /Type /FontDescriptor /FontName /UFSORL+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 600 /CapHeight 600 /Descent -222 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /K /L /M /N /O /P /R /S /T /U /V /W /X /Y /Z /a /ampersand /asciicircum /asciitilde /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /percent /period /plus /q /question /quotedbl /quoteleft /quoteright /r /s /semicolon /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11389 0 R >>
-endobj
-11391 0 obj
-<< /Length1 1863 /Length2 22779 /Length3 0 /Filter /FlateDecode /Length 23842 >>
-stream
-xڴyeX[m.Z܃CqwwwIp/P(E7߼3gsJv^ZOޡ&W`
- ]M]\
-?JXj>Uº0Y]D;@l,_j T:e=zBMtOɏMJl<_Y+([i)X>Hs&#5~">yFaXٱVia7t7v|&Eap E'}>mWGI"79r8?Պ機}2")7+Ɓt)˘6Q\1f$HiYQkV'1 Eӗ
-Ծ, .L(}PZSC ۊ=V2:FJޏ;X\tQxج<yVTst,/~TBd X4*.Ә?o|Vh*M;D o`ШTLX@SP7jrM~_ܣRZ'@ְ=n
-xB~5; ADҩ{~)BUr#"Ƈz#[vju5;1勾V7?ԇ;ˍʫF>%HpYR'=b38fYF:ջ|CкL$%aqpUhayV+"2ZXle_HDJO8~Ѡ8^G 4uR@@LBJ12oؕR:(Llgkgj}q: cw&?z͑MH}zV?BԳhr4F}x0>7R6,^e-sHOFX֛6/!Tx_mIx3ͻ-H5cͷ.˲xD
-i>7L%uT hg2˚՜CMtԵ^8e
-G%ghWw&6B܅'~B)i4. /򰞊,!N|t3>F٫&76=F:H dS{b \]K6_Fw!Cr K:L+ɼlUdSw=!xfMffd="n'ȗӄU\{wydO* үOQwߐ'Axɺ)K3D31弍cEjxV#YJbD{Ix(1^(<-LBDO{(Ar+ lJx!s^C:l0o{L^ I%0,
-U-ϰ$ $|4УP}T"G-\,OōWa`,$ 8ٟ0 4M!%&#C7|v{,DD>
-yGwRHi VQ0'ߵg9H Lxd)k`Ə591>Kfh} dBɰbXI5bt8EtChk63=FX07wZB?,>}&cK(:D!;tcku)Kb5$!=KHSъ r<V=F6 ~ٞib=>=$⿸ᄩMEAW[JxT6=$to%.rRvB!3f?`.Iӂ5A*nթR_ћ e EWkRTX\+Yc䞢̮m)ۂ@hLi0=]@Q]p FbFQx15=q2] b;{alU1#6le'[n;s^^<ӃXfشKbb%=)awւHŭNu݆}!K+/mlLżpM40.s&{m+~3Z (xܡ $Us~9# o\&ZXןco+(69݉ic궰N\4L_hǢ֨0x]ȮY1|0|ߓkP~ DIb&S>9>]e Jwc}8yitPwAtt&I\z~<5 F5Znb eiuCCɋAwI2Qp P[ՓFPN@">Du<?^
-$b4j7bzZ70# !`ɔ_B)!3/6' Ț'.xkC@0cDιu{ mYE>`8P6,C#QiJ!%O6zPȒPlU~Ž D
-nyVC6) m̲.Vbb%}
-iERר(VUΆ鐗셕{ʘhbN2 E rP&|P
-2iij<Qi֜l}˩ %`z^B?w(SE(c%xtF)d9<ˏئK? ]' i"Vi}CDad |Ж4e
-<d v6ڋ>'K+;ǁD\t7҅>Z bi[ Q -pHkDF+<8QR:(bLWJ:Ẍ́1;R/4 d×(XdnE`wL|xhLjfyA>''G}ac= jbj(7v'cLIG,)wc#ze ᕀGA4>JT-AbdO[IRԩiBx=5,o{,gxܷrD&t_ϱ1jYОb2'ߚ@|¡E.#%UO3儭EpI؊PGJr2!wu'TU#1.o볬1w <\
-E܉JN$V
-и찪>
-#?8LB!Ȝ͏0eD}ZoQIH]p 1,I&dFk
-cGq>z1q ظs[/耻h 'ĈOOr9>|1P@7f>ȨiHYM)XX9Ȗ? S>]?6>Lŗ{R<E`kɺ?ȶ%ۊai5
-M; _EI[٭]&4uW۳)$TG_Pvbl#~ڕ_v+t29읝NW{心,EvԕMth򬟂} bny<oy*!OInD@DaDZ1H
-A2]J`!|12[OGȷJc^>y0sɨ@?$:ntew+s 7nDUcYd4։z89k;<*uCS i(҇z}V|V^}tNc~D, %;Ü giI}égi!ug(?(M֗3۵j9}1`6?~D.aqH=Z$t\w% Zi*4 [.2İx$-eK=;mq;_K7qX<xVܭn;U hWٳt+ buuCeSF;mE܅r6Si[*7F BU0NK^wf>a9HQT: uƧtzݬ{<ML"ĸ~l`:V'i\H+eҢt:*n}(^E^=T}֜k9M$r6x' YL?O LlKԛa:3^bjXiZ~Ě!B8K vN"XdvpS>̟fim>aLmw2HVڒ' xx1/z 8netWYL"oSeڸ7 Nz%w=`sLib
-@$H1P(at<|m\c*l$6Y۠щ#=D D9w{XCn)m'6QXXK'RQ5
-ӒAE65[MUװZ%(< j[:OK~ #!Qz ugŪr.h$@m5gct_lc à2&*~3y`sjQ|CD_XǾD&/CbTKr8H5Q{U2v=<a+^FoRΧLi2r<M\dP;@ha|Óx䪿f=%bP ܒ׹  `9/*c&D|LL$_I!OOq&ӹ/+]wkPP-α78 9ݽ. IM#Nnq@b.gf#fS!
-,2;o}dT[)F n=r_P υ;2!R:Lcp:~D[QyV*eZU߭6ed{g9z _t$]Lc͐Dވmk} : Ґ[rM \ݨŸu;ӫzRD-:glW
-
-kLGUiLfl!y%M568Ȍ!j9\쉾`)ֳbbB GFe<о2!qWip!L8,R+'Ub [rE4{/Q?쀚(eD
-a?!'ڦm E*)>9iIW+٧(9(Wä5[C`Yڈ-ㆾч'y'dcJ <>Q`7*W+/^c ,i˿8{soZ"SCƋV;
-_nY_PshK[ 1TITAF/8AmLڒFJܹѐmd-jT$GU-9z-v)n^Å*?q)V@jZ6tO!;nh[Tɿ{Ȑ,BEͭ=>bO w1kF3g;GI8n"Yaȹj?W!ow",NV0_g _٪o#T3'$5N%-7<>pi+0!PES2eQAتoOH,D5s݅5䨵cY^Kh;CMMg3442kY{FIYFŽ=h^@ A1 ӯST z+TCzT]梂>r}Ú
-r}%J)!Ф"ʶp5>w/phz;F|_
-9uQkL4qK'~`v8pZ:bȣY7U],SG$ 5V坷<L um.#Qz' W~dlʍ4JH~xv^-ЍuD{~_<*s測4*ffe5A)Qf硞T-q8UN3_fGx|,F87[ziJh{%W~fF"1";O+q 5
-aMw!O<
-2`=P6^պg=7*lR[9Eȣ0r3zAtգyCU]ۘ2㯿eكusSߏɭ
-O!$YxlWYt#E1-hlSiP/97*o>/q?}m!Ʒ; A(SċA \Mڰйsԍ*Zdι!>[թ6 |RH#b`EvD
-[$ӗc ΃&
-LOq|RfiSw}x
-Ƒ~~s/PC/Ps\ ^oe|3̒Ɵg#+Qyo"=Ki_9GƺX†On]{TY-I?5n7{+zx
-3JhR *
-y0^E*AMpk6ۂvdȣbf1CV|LIEx:4C[ S-3%HtHUȢrf+}qfg)ύaD\eC)JzƟ;D\w-;ղ ޟjx=*PN*DΞ7IwEzg g=8@a満R+\UUo/._[
-
-acWeq
-ЋNsx9-j g# rP/v,4_JVѐ0L?۬hAh9>|M0Ju c^H_Td398Q%p5>z-l5 
-nX7n3v!g'9o+j:}cD|r|7
-MjMO:} ]gl̛Uܞqy
-?WO/G4 ӕ@|Bۍ'G/UukJV:ޭ攏 1"7I2fޒ}/\,XL&kh;0MvDzvr-@ X+}/8Io'̌zk7i~JzMkxD_]-pp nZ`sx__Һ6<%@yJi!Ѐ= ΢"*Cs=VnGE|]"&JD1c[Mz%ln/<=Ez
-8g#}k}H %mBI=R2ZXajW8|ͭ3\CzIʎEn.=a&Ϩiza-r|;3y72^ZObCдj_c+F*MvD/pOr8Vax {|Y,It5d2U&c0#EVU_6N[*rE%
-N31]7̝ݠQB6t6؛m ew& 2dɨYgPfr"+؉@ǒ_%K
-Մ*k!\ ݨ̀Žp^BC8wFu$D ޸hp f`/7Sp';&NEQA[4q(;;Uz]pODmФFj7V02GM6p<dmy^ ۅ [[kZ?
-|B<W_2]I[ö-VN)H%۠B[ m+XƳ|#
-lA4}2dT yڐ[ GĈb=>G4^^\.P:g|OtUBE'$.3 7QPKPu }Ιrϱ?*nďVupPS6=o));wӤ
-l(+<1pB$+h&ݕ^<sFF_k_SZm2q8n(z
-+;6jҼ3)x}ӵl1(>B
-PP]5QG)L$VkB_#:)%Aʎ|dャnAiޫROD #4,/z*9=Tؗ{45 ~3SZ~HJ^Jݮ;I}|8ms >ԄWUZ[?za#hI2LԈav/Rb?<SӍɦ%^6 h꼢Y_6IMMW4+OGi_c@=nF RU> mkJ<lU߰AOVH~UjWO&m֪>-GQ< q uY0xQo8<)K9c,묱t34Gk':r(Fkj$lu1n7%~6`]ƺrR aEĥn.l Եt)k0Nٸ5uG|dUBb|HRܽAd^CAϫmzėv_iA-(y{f ȶ$e^1sElEoEn^HL:i1 RIF0?Td횇S&*Q  QcN%]aīda1S„y&,Y''TA<缱LW|5nOhPhpGKTeF;2XK"Bǰ3&Ac(3YFQny+;SV)&Cvi93&sכL0pGp1 }<C͌i
-;ȿ k,[.p%8jn-U%^W5~cYM
-< ;mW<C'?$a.ר4ާ|~n/81g4Jˉ ['yXk\$Ͽ#a$h̎ ,"Opzژ’3(N1`D=٪Ŋ
-h$p(9]"oڗwyƓXQ(X OS8i@{ocvRoLHZ1:&cMbbHÑ+0cgNJxrd OI7
-6
-u΄oqQHG{Atmf>O:. ~"Gr-}u{%3 6WH:BΡGFuAE5 -Ã<܇x:ҋ_kwX6vn}f,NFL񡗿Tɗ~4:"i$ iSk_x(@ %i "n
-ޫ"G^M[ @${paK2QSWW#K{kRŪQwcC_rR?.Op%bm|,Ed`.՛ 'pWGbo 38w Ke/> 3Shrt%[ 0'R |<OH?p {߶̱-MXۑxg&|srgol;;J3Z\Qo/cʑ ]1ccIQq)ˌã[H1I"h݋ѕ^Xha~/צ!`,&h'Q.U;Ɍ$75YճiLD{lKv&<ܧ Rvf=|2F9#osvVomD!M}>hGAhpK6p\Vviu
-"S(uΓ#\}Nq
-:xg)O~NN#]D NhDjFtx[W{MD;@<gfQG2JXҍƳDC+q3+r0^হI!]_zFqXuKo8%c&c_-?)J9r ◎|y}/q(
-oR$1E$$x8H䱲YdGO~.uQ+n@7
-]D@Q#߱2yf;ME(ƺt*qNq0 ml6FLl۶Ƥm;۶mz^'k]VBZzҜ;,cP@Ʊ A?$MJw^Gӫc5]WqxbZ8S=RRԤ{}Ӡ)h%._'V`9*Aj 7yX,tAc)Iܔ(co#a;=-L"!z% z].σEjn˜ﭨ_LijB]f?;<-2˸GתPD44&39;gKRex;ˏ}ۈGOUNŗy;9D!X4ĩoA۝=Gv3D9e2qlC1!(Ĭf>bhq
-Q/s6Gh"+>IÞߍfּ)NAcLSxԟPsq,$>2XKQS} z3[gu*x)u9 r kRou!ʀ/_ib1ĮEǟIb7hGC>--ŏTŢE<>>r }2"59BOvy#*xxԘEڥ5
-iϕCo\N<PPWa/)}+;uCή6tNlT1[?uo9nbm
-R-VdZ!+HL)kΟO\]H3ۧ8C}(< 7.@W8v,1$cBH%)8f{bZ x^uEǾkCµ=&dbZj/,7f8G#%ϖI9uMC]@bXAI,pMm3^y
-TzK`/W=I&2dmB=;=6;TǠ3P[q G{U%F?HO7oC؁_ԀC#eU:OZ"u~ix bv ټ5{aQ.#+Rro~I<<l;dM.J>s7Z;w.w'bA%!P1Rz fWOyJ*b-;3GXGV=SY2)W˖CLsʖ\-tBq:K?愾54) Yoҋ/ EFa3L 9aRI?Mp4YMÚ՚U}a|!kWi&CA$$ZyˑbMI@'ڦ?Ck[
-Wn|b̾h^K?͹׷0H ݶ19N$ƨ5X 3tg5<H9WZc>0ڤ̃
-sϫ %bk Vf؀YY+Zx%gwLD?iJ~԰4O5;){Lx&5s=&N" lW5]ۥH܋@xsf1r
-
-.HŒG1Y +h6&F^.dl٩Xm`7|x(dm}NTNqJPԕŒTV_K
-j~iD)pϮ׾UmStԏ^ɉ qi4)#}Zs
-T~`D'~H(&}#r;Ĉ>0(GU.7H*Qjx]ʡCUD!w0s?yNy̵b63 yoh1ėi:͗Vg/COK,Hp( #DϚʪ^
-5K y\ Xe.GNprb6Hz!Ӣ&6f^/e(3)\
-E޳+n̨|z,('NWƧGϹVns2('N7nbl#6 @ ¼5'tv0t)e VGW9F$X%dfT fyBgs"EQ{͖*UjfUrrD'LFĔx`_%w˦xhˀlO7b}Q33d$9'kKX*b穢O1;؈!'T7.=CI4"yT گ<<ԅ=t~(DrE+&CJqmFܡlx=EW 1x/ cY4 1K* [8Џ3jzDap,,k]rX$Dcxmx8DH^`ÌW`]:<,{檐M*i2o׉B9!2 )?j[a<(PW'M?fXA
-jes`Aq|=:|Ŀ#+4NnQ1X R6JbL!qL?;N̶e(6Us%߅<-=h?v
-Jk$޽c[@{127>f:8_r}I-OBFeK覰**(P܏5M޽6zF0xs<=[-0-u!߰ǩ[91̌hYfHk2
-eBt~|EFwpASBC߅m?<Ut `dGckIoTR$jG7FR&鰲Žڕ|}-xnauX!9j\9}8j~E|
-C3_cY7])ir3.CѨ.A}qlF[DjUk
-;*ߍd8"93V1 5 ~I^jf<6MywAy+g5pϹseޒG{~f~Z?f*Yl8{]Sདྷ F6v?5,Tx($5W2ǟ>-o-j~P$2a3~N23!La\eP4Ĝ%d#t]}$2<X񓌑~+cs$r;lZ<~f>ܮYVk("OnwkieJ^
-mU1Wx%@,1Ё:㍛dIDts_g
-qp r~/n
-{t֦~X
-j2yuSd!Bbn1?Hy YSw\L kO`ӺܶY*՗9D)r9R줉TZG;o*{&+SBᮈ4~E rdbF=dT<~K&Zb_rQJxv~ݒ%E顈P?~?Ѧ}X)fGo8@
-p&Yנ- +j/7
-Al)
-oSD&UAUm͕fҎ]26JO%~kA$c!F%޵Iy*#;3KQ9FR߳gȽV:B =b_աZsT5r(|zCLE;@u#'D{5P,яr&]>B15KȂEcSqg|"5fYn*sKPb|qml8ɣ5|D=TÅS3w(g&|Wrο~lwrL AַqS
-4;dkTX+tU>\ht^4Hns=S=F
-9ׇjlz;x?#7SB;8>\ܳc^@=R<aX5u*xG&9J,-S`
-ip6?2M /2ܵKo~X:S\<=:\UTQ '2\lDa1wµd[,64ąWbJ]ΑQglB<URQjSC1.[Ͼ.V~h\1TeT6/ Fkhfʃ?߆mENd@en4Ķp8Qc/Lu Dn83xH0b
-NLVϺ(GkI4tըkgy[d]z.g0ѯ.BD J_KZZv+L퀩=YڰE@0,o(27&Z,=6C}"0 >PqvʵF 7hp h!7^>N0݈(994"E| \7*
-{H #taQ+MCfפ~\=謆n6F="T Q*7(Ɔ;GAZ=&X"\7=O#8̊䳏_6Yuw1BS2V1Yr=(+qs~`
-(3`*J>$C
-S)<fAg/R6Jſ=rZ cX%Bs>M
-/)1fXf5DJhl3:ei+-aʤe[
-endstream
-endobj
-11390 0 obj
-<< /Type /FontDescriptor /FontName /NWBRFF+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet( /a /b /e /f /h /i /j /l /n /o /r /t /u /x) /FontFile 11391 0 R >>
-endobj
-11293 0 obj
-<< /Type /Encoding /Differences [ 16 /quotedblleft /quotedblright 21 /endash /emdash 27 /ff /fi /fl /ffi 33 /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P 82 /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde ] >>
-endobj
-11297 0 obj
-<< /Type /Encoding /Differences [ 48 /parenlefttp /parenrighttp /bracketlefttp /bracketrighttp /bracketleftbt /bracketrightbt 64 /parenleftbt /parenrightbt ] >>
-endobj
-11295 0 obj
-<< /Type /Encoding /Differences [ 62 /greater 96 /lscript /a /b /c 105 /i /j /k /l 110 /n 120 /x /y ] >>
-endobj
-11302 0 obj
-<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath ] >>
-endobj
-11300 0 obj
-<< /Type /Encoding /Differences [ 1 /Delta 43 /plus 48 /zero /one /two /three /four /five /six /seven ] >>
-endobj
-11306 0 obj
-<< /Type /Encoding /Differences [ 136 /bullet ] >>
-endobj
-726 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /OCVDMH+LMRoman10-Bold /FontDescriptor 11332 0 R /FirstChar 21 /LastChar 125 /Widths 11305 0 R /Encoding 11293 0 R >>
-endobj
-187 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /LCRVQF+LMRoman12-Bold /FontDescriptor 11334 0 R /FirstChar 28 /LastChar 125 /Widths 11318 0 R /Encoding 11293 0 R >>
-endobj
-179 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WCAPHI+LMRoman9-Bold /FontDescriptor 11336 0 R /FirstChar 65 /LastChar 116 /Widths 11326 0 R /Encoding 11293 0 R >>
-endobj
-539 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YSYFAJ+LMRomanCaps10-Regular /FontDescriptor 11338 0 R /FirstChar 97 /LastChar 115 /Widths 11310 0 R /Encoding 11293 0 R >>
-endobj
-184 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11346 0 R /FirstChar 16 /LastChar 122 /Widths 11321 0 R /Encoding 11293 0 R >>
-endobj
-177 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SQWKSL+LMRoman12-Regular /FontDescriptor 11348 0 R /FirstChar 44 /LastChar 121 /Widths 11328 0 R /Encoding 11293 0 R >>
-endobj
-174 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JTSGNV+LMRoman17-Regular /FontDescriptor 11350 0 R /FirstChar 84 /LastChar 116 /Widths 11331 0 R /Encoding 11293 0 R >>
-endobj
-467 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /HUFBEO+LMRoman6-Regular /FontDescriptor 11352 0 R /FirstChar 48 /LastChar 57 /Widths 11311 0 R /Encoding 11293 0 R >>
-endobj
-455 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SXHXQW+LMRoman7-Regular /FontDescriptor 11354 0 R /FirstChar 48 /LastChar 57 /Widths 11312 0 R /Encoding 11293 0 R >>
-endobj
-200 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NQXNRW+LMRoman8-Regular /FontDescriptor 11356 0 R /FirstChar 16 /LastChar 122 /Widths 11315 0 R /Encoding 11293 0 R >>
-endobj
-180 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /BYGIQZ+LMRoman9-Regular /FontDescriptor 11358 0 R /FirstChar 39 /LastChar 119 /Widths 11325 0 R /Encoding 11293 0 R >>
-endobj
-300 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NRYMBG+LMRoman10-Italic /FontDescriptor 11360 0 R /FirstChar 28 /LastChar 121 /Widths 11313 0 R /Encoding 11293 0 R >>
-endobj
-8095 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IRQJJY+LMRoman8-Italic /FontDescriptor 11362 0 R /FirstChar 101 /LastChar 116 /Widths 11294 0 R /Encoding 11293 0 R >>
-endobj
-182 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TXCPTT+LMRoman9-Italic /FontDescriptor 11364 0 R /FirstChar 110 /LastChar 116 /Widths 11323 0 R /Encoding 11293 0 R >>
-endobj
-299 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IATCRU+LMRomanSlant10-Regular /FontDescriptor 11366 0 R /FirstChar 40 /LastChar 121 /Widths 11314 0 R /Encoding 11293 0 R >>
-endobj
-185 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DXGFLV+LMSans10-Regular /FontDescriptor 11368 0 R /FirstChar 27 /LastChar 121 /Widths 11320 0 R /Encoding 11293 0 R >>
-endobj
-175 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MOYMBT+LMSans17-Regular /FontDescriptor 11370 0 R /FirstChar 97 /LastChar 120 /Widths 11330 0 R /Encoding 11293 0 R >>
-endobj
-189 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MMROMK+LMSans8-Regular /FontDescriptor 11372 0 R /FirstChar 48 /LastChar 120 /Widths 11317 0 R /Encoding 11293 0 R >>
-endobj
-181 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JJEEWR+LMSans9-Regular /FontDescriptor 11374 0 R /FirstChar 97 /LastChar 120 /Widths 11324 0 R /Encoding 11293 0 R >>
-endobj
-186 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /HNJOVH+LMMono10-Regular /FontDescriptor 11382 0 R /FirstChar 33 /LastChar 125 /Widths 11319 0 R /Encoding 11293 0 R >>
-endobj
-178 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NRLLYV+LMMono12-Regular /FontDescriptor 11384 0 R /FirstChar 46 /LastChar 121 /Widths 11327 0 R /Encoding 11293 0 R >>
-endobj
-755 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UPFITJ+LMMono8-Regular /FontDescriptor 11386 0 R /FirstChar 44 /LastChar 125 /Widths 11304 0 R /Encoding 11293 0 R >>
-endobj
-183 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UFSORL+LMMono9-Regular /FontDescriptor 11388 0 R /FirstChar 33 /LastChar 126 /Widths 11322 0 R /Encoding 11293 0 R >>
-endobj
-783 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NWBRFF+LMMonoSlant10-Regular /FontDescriptor 11390 0 R /FirstChar 97 /LastChar 120 /Widths 11299 0 R /Encoding 11293 0 R >>
-endobj
-1778 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WOCBGC+LMMathExtension10-Regular /FontDescriptor 11340 0 R /FirstChar 48 /LastChar 65 /Widths 11298 0 R /Encoding 11297 0 R >>
-endobj
-644 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YCPAMU+LMMathItalic10-Regular /FontDescriptor 11342 0 R /FirstChar 62 /LastChar 121 /Widths 11308 0 R /Encoding 11295 0 R >>
-endobj
-4440 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JMCQJH+LMMathItalic7-Regular /FontDescriptor 11344 0 R /FirstChar 120 /LastChar 121 /Widths 11296 0 R /Encoding 11295 0 R >>
-endobj
-176 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /FACRCI+LMMathSymbols10-Regular /FontDescriptor 11376 0 R /FirstChar 0 /LastChar 3 /Widths 11329 0 R /Encoding 11302 0 R >>
-endobj
-199 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 11378 0 R /FirstChar 3 /LastChar 3 /Widths 11316 0 R /Encoding 11302 0 R >>
-endobj
-756 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /ANTVSN+LMMathSymbols8-Regular /FontDescriptor 11380 0 R /FirstChar 0 /LastChar 0 /Widths 11303 0 R /Encoding 11302 0 R >>
-endobj
-638 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11346 0 R /FirstChar 1 /LastChar 55 /Widths 11309 0 R /Encoding 11300 0 R >>
-endobj
-757 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NQXNRW+LMRoman8-Regular /FontDescriptor 11356 0 R /FirstChar 48 /LastChar 49 /Widths 11301 0 R /Encoding 11300 0 R >>
-endobj
-650 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11346 0 R /FirstChar 136 /LastChar 136 /Widths 11307 0 R /Encoding 11306 0 R >>
-endobj
-201 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 169 0 R 203 0 R 248 0 R 296 0 R 336 0 R 375 0 R 424 0 R 471 0 R 521 0 R 549 0 R ] >>
-endobj
-587 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 568 0 R 589 0 R 617 0 R 641 0 R 664 0 R 681 0 R 709 0 R 734 0 R 761 0 R 787 0 R ] >>
-endobj
-859 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 810 0 R 861 0 R 910 0 R 952 0 R 1003 0 R 1035 0 R 1063 0 R 1084 0 R 1133 0 R 1197 0 R ] >>
-endobj
-1315 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 1255 0 R 1317 0 R 1380 0 R 1427 0 R 1481 0 R 1523 0 R 1564 0 R 1621 0 R 1672 0 R 1716 0 R ] >>
-endobj
-1802 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 1769 0 R 1804 0 R 1862 0 R 1910 0 R 1951 0 R 2003 0 R 2039 0 R 2076 0 R 2114 0 R 2157 0 R ] >>
-endobj
-2254 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 2199 0 R 2257 0 R 2312 0 R 2352 0 R 2396 0 R 2449 0 R 2503 0 R 2543 0 R 2594 0 R 2644 0 R ] >>
-endobj
-2753 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 2700 0 R 2755 0 R 2812 0 R 2863 0 R 2900 0 R 2947 0 R 3000 0 R 3056 0 R 3107 0 R 3168 0 R ] >>
-endobj
-3265 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 3224 0 R 3267 0 R 3307 0 R 3356 0 R 3413 0 R 3467 0 R 3520 0 R 3566 0 R 3615 0 R 3664 0 R ] >>
-endobj
-3770 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 3722 0 R 3772 0 R 3812 0 R 3856 0 R 3912 0 R 3968 0 R 4026 0 R 4084 0 R 4134 0 R 4185 0 R ] >>
-endobj
-4298 0 obj
-<< /Type /Pages /Parent 11392 0 R /Count 10 /Kids [ 4242 0 R 4300 0 R 4355 0 R 4404 0 R 4457 0 R 4499 0 R 4537 0 R 4587 0 R 4642 0 R 4670 0 R ] >>
-endobj
-4789 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 4725 0 R 4791 0 R 4833 0 R 4899 0 R 4954 0 R 4996 0 R 5045 0 R 5107 0 R 5152 0 R 5202 0 R ] >>
-endobj
-5294 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 5247 0 R 5296 0 R 5330 0 R 5380 0 R 5437 0 R 5490 0 R 5556 0 R 5607 0 R 5669 0 R 5727 0 R ] >>
-endobj
-5837 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 5779 0 R 5839 0 R 5900 0 R 5946 0 R 5995 0 R 6026 0 R 6084 0 R 6138 0 R 6163 0 R 6215 0 R ] >>
-endobj
-6317 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 6265 0 R 6319 0 R 6363 0 R 6417 0 R 6461 0 R 6520 0 R 6576 0 R 6625 0 R 6662 0 R 6703 0 R ] >>
-endobj
-6783 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 6744 0 R 6785 0 R 6832 0 R 6893 0 R 6956 0 R 7005 0 R 7061 0 R 7124 0 R 7169 0 R 7221 0 R ] >>
-endobj
-7325 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 7271 0 R 7327 0 R 7372 0 R 7433 0 R 7492 0 R 7528 0 R 7585 0 R 7633 0 R 7680 0 R 7719 0 R ] >>
-endobj
-7825 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 7767 0 R 7827 0 R 7874 0 R 7924 0 R 7965 0 R 8008 0 R 8047 0 R 8098 0 R 8157 0 R 8211 0 R ] >>
-endobj
-8321 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 8264 0 R 8323 0 R 8377 0 R 8437 0 R 8479 0 R 8529 0 R 8584 0 R 8648 0 R 8704 0 R 8765 0 R ] >>
-endobj
-8886 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 8827 0 R 8888 0 R 8941 0 R 8997 0 R 9044 0 R 9088 0 R 9130 0 R 9165 0 R 9224 0 R 9287 0 R ] >>
-endobj
-9389 0 obj
-<< /Type /Pages /Parent 11393 0 R /Count 10 /Kids [ 9329 0 R 9391 0 R 9447 0 R 9503 0 R 9546 0 R 9590 0 R 9643 0 R 9703 0 R 9769 0 R 9827 0 R ] >>
-endobj
-9954 0 obj
-<< /Type /Pages /Parent 11394 0 R /Count 10 /Kids [ 9892 0 R 9956 0 R 10023 0 R 10088 0 R 10139 0 R 10179 0 R 10235 0 R 10299 0 R 10363 0 R 10428 0 R ] >>
-endobj
-10556 0 obj
-<< /Type /Pages /Parent 11394 0 R /Count 10 /Kids [ 10492 0 R 10558 0 R 10622 0 R 10687 0 R 10751 0 R 10815 0 R 10881 0 R 10948 0 R 11013 0 R 11078 0 R ] >>
-endobj
-11211 0 obj
-<< /Type /Pages /Parent 11394 0 R /Count 4 /Kids [ 11145 0 R 11213 0 R 11275 0 R 11289 0 R ] >>
-endobj
-11392 0 obj
-<< /Type /Pages /Parent 11395 0 R /Count 100 /Kids [ 201 0 R 587 0 R 859 0 R 1315 0 R 1802 0 R 2254 0 R 2753 0 R 3265 0 R 3770 0 R 4298 0 R ] >>
-endobj
-11393 0 obj
-<< /Type /Pages /Parent 11395 0 R /Count 100 /Kids [ 4789 0 R 5294 0 R 5837 0 R 6317 0 R 6783 0 R 7325 0 R 7825 0 R 8321 0 R 8886 0 R 9389 0 R ] >>
-endobj
-11394 0 obj
-<< /Type /Pages /Parent 11395 0 R /Count 24 /Kids [ 9954 0 R 10556 0 R 11211 0 R ] >>
-endobj
-11395 0 obj
-<< /Type /Pages /Count 224 /Kids [ 11392 0 R 11393 0 R 11394 0 R ] >>
-endobj
-11396 0 obj
-<< /Type /Outlines /First 6 0 R /Last 166 0 R /Count 41 >>
-endobj
-166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 11396 0 R /Prev 162 0 R >>
-endobj
-162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 11396 0 R /Prev 158 0 R /Next 166 0 R >>
-endobj
-158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 11396 0 R /Prev 154 0 R /Next 162 0 R >>
-endobj
-154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 11396 0 R /Prev 150 0 R /Next 158 0 R >>
-endobj
-150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 11396 0 R /Prev 146 0 R /Next 154 0 R >>
-endobj
-146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 11396 0 R /Prev 142 0 R /Next 150 0 R >>
-endobj
-142 0 obj
-<< /Title 143 0 R /A 140 0 R /Parent 11396 0 R /Prev 138 0 R /Next 146 0 R >>
-endobj
-138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 11396 0 R /Prev 134 0 R /Next 142 0 R >>
-endobj
-134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 11396 0 R /Prev 130 0 R /Next 138 0 R >>
-endobj
-130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 11396 0 R /Prev 126 0 R /Next 134 0 R >>
-endobj
-126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 11396 0 R /Prev 122 0 R /Next 130 0 R >>
-endobj
-122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 11396 0 R /Prev 118 0 R /Next 126 0 R >>
-endobj
-118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 11396 0 R /Prev 114 0 R /Next 122 0 R >>
-endobj
-114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 11396 0 R /Prev 110 0 R /Next 118 0 R >>
-endobj
-110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 11396 0 R /Prev 106 0 R /Next 114 0 R >>
-endobj
-106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 11396 0 R /Prev 102 0 R /Next 110 0 R >>
-endobj
-102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 11396 0 R /Prev 98 0 R /Next 106 0 R >>
-endobj
-98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 11396 0 R /Prev 94 0 R /Next 102 0 R >>
-endobj
-94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 11396 0 R /Prev 90 0 R /Next 98 0 R >>
-endobj
-90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 11396 0 R /Prev 86 0 R /Next 94 0 R >>
-endobj
-86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 11396 0 R /Prev 82 0 R /Next 90 0 R >>
-endobj
-82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 11396 0 R /Prev 78 0 R /Next 86 0 R >>
-endobj
-78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 11396 0 R /Prev 74 0 R /Next 82 0 R >>
-endobj
-74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 11396 0 R /Prev 70 0 R /Next 78 0 R >>
-endobj
-70 0 obj
-<< /Title 71 0 R /A 68 0 R /Parent 11396 0 R /Prev 66 0 R /Next 74 0 R >>
-endobj
-66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 11396 0 R /Prev 62 0 R /Next 70 0 R >>
-endobj
-62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 11396 0 R /Prev 58 0 R /Next 66 0 R >>
-endobj
-58 0 obj
-<< /Title 59 0 R /A 56 0 R /Parent 11396 0 R /Prev 54 0 R /Next 62 0 R >>
-endobj
-54 0 obj
-<< /Title 55 0 R /A 52 0 R /Parent 11396 0 R /Prev 50 0 R /Next 58 0 R >>
-endobj
-50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 11396 0 R /Prev 46 0 R /Next 54 0 R >>
-endobj
-46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 11396 0 R /Prev 42 0 R /Next 50 0 R >>
-endobj
-42 0 obj
-<< /Title 43 0 R /A 40 0 R /Parent 11396 0 R /Prev 38 0 R /Next 46 0 R >>
-endobj
-38 0 obj
-<< /Title 39 0 R /A 36 0 R /Parent 11396 0 R /Prev 34 0 R /Next 42 0 R >>
-endobj
-34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 11396 0 R /Prev 30 0 R /Next 38 0 R >>
-endobj
-30 0 obj
-<< /Title 31 0 R /A 28 0 R /Parent 11396 0 R /Prev 26 0 R /Next 34 0 R >>
-endobj
-26 0 obj
-<< /Title 27 0 R /A 24 0 R /Parent 11396 0 R /Prev 22 0 R /Next 30 0 R >>
-endobj
-22 0 obj
-<< /Title 23 0 R /A 20 0 R /Parent 11396 0 R /Prev 18 0 R /Next 26 0 R >>
-endobj
-18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 11396 0 R /Prev 14 0 R /Next 22 0 R >>
-endobj
-14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 11396 0 R /Prev 10 0 R /Next 18 0 R >>
-endobj
-10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 11396 0 R /Prev 6 0 R /Next 14 0 R >>
-endobj
-6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 11396 0 R /Next 10 0 R >>
-endobj
-11397 0 obj
-<< /Names [ (Doc-Start) 173 0 R (HD.1) 188 0 R (HD.10) 198 0 R (HD.100) 305 0 R (HD.1000) 1340 0 R (HD.10000) 11158 0 R (HD.10001) 11159 0 R (HD.10002) 11160 0 R (HD.10003) 11161 0 R (HD.10004) 11162 0 R (HD.10005) 11163 0 R (HD.10006) 11164 0 R (HD.10007) 11165 0 R (HD.10008) 11166 0 R (HD.10009) 11167 0 R (HD.1001) 1341 0 R (HD.10010) 11168 0 R (HD.10011) 11169 0 R (HD.10012) 11170 0 R (HD.10013) 11171 0 R (HD.10014) 11172 0 R (HD.10015) 11173 0 R (HD.10016) 11174 0 R (HD.10017) 11175 0 R (HD.10018) 11176 0 R (HD.10019) 11177 0 R (HD.1002) 1342 0 R (HD.10020) 11178 0 R (HD.10021) 11179 0 R (HD.10022) 11180 0 R (HD.10023) 11181 0 R (HD.10024) 11182 0 R ] /Limits [ (Doc-Start) (HD.10024) ] >>
-endobj
-11398 0 obj
-<< /Names [ (HD.10025) 11183 0 R (HD.10026) 11184 0 R (HD.10027) 11185 0 R (HD.10028) 11186 0 R (HD.10029) 11187 0 R (HD.1003) 1343 0 R (HD.10030) 11188 0 R (HD.10031) 11189 0 R (HD.10032) 11190 0 R (HD.10033) 11191 0 R (HD.10034) 11192 0 R (HD.10035) 11193 0 R (HD.10036) 11194 0 R (HD.10037) 11195 0 R (HD.10038) 11196 0 R (HD.10039) 11197 0 R (HD.1004) 1344 0 R (HD.10040) 11198 0 R (HD.10041) 11199 0 R (HD.10042) 11200 0 R (HD.10043) 11201 0 R (HD.10044) 11202 0 R (HD.10045) 11203 0 R (HD.10046) 11204 0 R (HD.10047) 11205 0 R (HD.10048) 11206 0 R (HD.10049) 11207 0 R (HD.1005) 1345 0 R (HD.10050) 11208 0 R (HD.10051) 11209 0 R (HD.10052) 11210 0 R (HD.10053) 11216 0 R ] /Limits [ (HD.10025) (HD.10053) ] >>
-endobj
-11399 0 obj
-<< /Names [ (HD.10054) 11217 0 R (HD.10055) 11218 0 R (HD.10056) 11219 0 R (HD.10057) 11220 0 R (HD.10058) 11221 0 R (HD.10059) 11222 0 R (HD.1006) 1346 0 R (HD.10060) 11223 0 R (HD.10061) 11224 0 R (HD.10062) 11225 0 R (HD.10063) 11226 0 R (HD.10064) 11227 0 R (HD.10065) 11228 0 R (HD.10066) 11229 0 R (HD.10067) 11230 0 R (HD.10068) 11231 0 R (HD.10069) 11232 0 R (HD.1007) 1347 0 R (HD.10070) 11233 0 R (HD.10071) 11234 0 R (HD.10072) 11235 0 R (HD.10073) 11236 0 R (HD.10074) 11237 0 R (HD.10075) 11238 0 R (HD.10076) 11239 0 R (HD.10077) 11240 0 R (HD.10078) 11241 0 R (HD.10079) 11242 0 R (HD.1008) 1348 0 R (HD.1009) 1349 0 R (HD.101) 306 0 R (HD.1010) 1350 0 R ] /Limits [ (HD.10054) (HD.1010) ] >>
-endobj
-11400 0 obj
-<< /Names [ (HD.1011) 1351 0 R (HD.1012) 1352 0 R (HD.1013) 1353 0 R (HD.1014) 1354 0 R (HD.1015) 1355 0 R (HD.1016) 1356 0 R (HD.1017) 1357 0 R (HD.1018) 1358 0 R (HD.1019) 1359 0 R (HD.102) 307 0 R (HD.1020) 1360 0 R (HD.1021) 1361 0 R (HD.1022) 1362 0 R (HD.1023) 1363 0 R (HD.1024) 1364 0 R (HD.1025) 1365 0 R (HD.1026) 1366 0 R (HD.1027) 1367 0 R (HD.1028) 1368 0 R (HD.1029) 1369 0 R (HD.103) 308 0 R (HD.1030) 1370 0 R (HD.1031) 1371 0 R (HD.1032) 1372 0 R (HD.1033) 1373 0 R (HD.1034) 1374 0 R (HD.1035) 1375 0 R (HD.1036) 1376 0 R (HD.1037) 1377 0 R (HD.1038) 1378 0 R (HD.1039) 1383 0 R (HD.104) 309 0 R ] /Limits [ (HD.1011) (HD.104) ] >>
-endobj
-11401 0 obj
-<< /Names [ (HD.1040) 1384 0 R (HD.1041) 1385 0 R (HD.1042) 1386 0 R (HD.1043) 1387 0 R (HD.1044) 1388 0 R (HD.1045) 1389 0 R (HD.1046) 1390 0 R (HD.1047) 1391 0 R (HD.1048) 1392 0 R (HD.1049) 1393 0 R (HD.105) 310 0 R (HD.1050) 1394 0 R (HD.1051) 1395 0 R (HD.1052) 1396 0 R (HD.1053) 1397 0 R (HD.1054) 1398 0 R (HD.1055) 1399 0 R (HD.1056) 1400 0 R (HD.1057) 1401 0 R (HD.1058) 1402 0 R (HD.1059) 1403 0 R (HD.106) 311 0 R (HD.1060) 1404 0 R (HD.1061) 1405 0 R (HD.1062) 1406 0 R (HD.1063) 1407 0 R (HD.1064) 1408 0 R (HD.1065) 1409 0 R (HD.1066) 1410 0 R (HD.1067) 1411 0 R (HD.1068) 1412 0 R (HD.1069) 1413 0 R ] /Limits [ (HD.1040) (HD.1069) ] >>
-endobj
-11402 0 obj
-<< /Names [ (HD.107) 312 0 R (HD.1070) 1414 0 R (HD.1071) 1415 0 R (HD.1072) 1416 0 R (HD.1073) 1417 0 R (HD.1074) 1418 0 R (HD.1075) 1419 0 R (HD.1076) 1420 0 R (HD.1077) 1421 0 R (HD.1078) 1422 0 R (HD.1079) 1423 0 R (HD.108) 313 0 R (HD.1080) 1424 0 R (HD.1081) 1425 0 R (HD.1082) 1430 0 R (HD.1083) 1431 0 R (HD.1084) 1432 0 R (HD.1085) 1433 0 R (HD.1086) 1434 0 R (HD.1087) 1435 0 R (HD.1088) 1436 0 R (HD.1089) 1437 0 R (HD.109) 314 0 R (HD.1090) 1438 0 R (HD.1091) 1439 0 R (HD.1092) 1440 0 R (HD.1093) 1441 0 R (HD.1094) 1442 0 R (HD.1095) 1443 0 R (HD.1096) 1444 0 R (HD.1097) 1445 0 R (HD.1098) 1446 0 R ] /Limits [ (HD.107) (HD.1098) ] >>
-endobj
-11403 0 obj
-<< /Names [ (HD.1099) 1447 0 R (HD.11) 206 0 R (HD.110) 315 0 R (HD.1100) 1448 0 R (HD.1101) 1449 0 R (HD.1102) 1450 0 R (HD.1103) 1451 0 R (HD.1104) 1452 0 R (HD.1105) 1453 0 R (HD.1106) 1454 0 R (HD.1107) 1455 0 R (HD.1108) 1456 0 R (HD.1109) 1457 0 R (HD.111) 316 0 R (HD.1110) 1458 0 R (HD.1111) 1459 0 R (HD.1112) 1460 0 R (HD.1113) 1461 0 R (HD.1114) 1462 0 R (HD.1115) 1463 0 R (HD.1116) 1464 0 R (HD.1117) 1465 0 R (HD.1118) 1466 0 R (HD.1119) 1467 0 R (HD.112) 317 0 R (HD.1120) 1468 0 R (HD.1121) 1469 0 R (HD.1122) 1470 0 R (HD.1123) 1471 0 R (HD.1124) 1472 0 R (HD.1125) 1473 0 R (HD.1126) 1474 0 R ] /Limits [ (HD.1099) (HD.1126) ] >>
-endobj
-11404 0 obj
-<< /Names [ (HD.1127) 1475 0 R (HD.1128) 1476 0 R (HD.1129) 1477 0 R (HD.113) 318 0 R (HD.1130) 1478 0 R (HD.1131) 1479 0 R (HD.1132) 1484 0 R (HD.1133) 1485 0 R (HD.1134) 1486 0 R (HD.1135) 1487 0 R (HD.1136) 1488 0 R (HD.1137) 1489 0 R (HD.1138) 1490 0 R (HD.1139) 1491 0 R (HD.114) 319 0 R (HD.1140) 1492 0 R (HD.1141) 1493 0 R (HD.1142) 1494 0 R (HD.1143) 1495 0 R (HD.1144) 1496 0 R (HD.1145) 1497 0 R (HD.1146) 1498 0 R (HD.1147) 1499 0 R (HD.1148) 1500 0 R (HD.1149) 1501 0 R (HD.115) 320 0 R (HD.1150) 1502 0 R (HD.1151) 1503 0 R (HD.1152) 1504 0 R (HD.1153) 1505 0 R (HD.1154) 1506 0 R (HD.1155) 1507 0 R ] /Limits [ (HD.1127) (HD.1155) ] >>
-endobj
-11405 0 obj
-<< /Names [ (HD.1156) 1508 0 R (HD.1157) 1509 0 R (HD.1158) 1510 0 R (HD.1159) 1511 0 R (HD.116) 321 0 R (HD.1160) 1512 0 R (HD.1161) 1513 0 R (HD.1162) 1514 0 R (HD.1163) 1515 0 R (HD.1164) 1516 0 R (HD.1165) 1517 0 R (HD.1166) 1518 0 R (HD.1167) 1519 0 R (HD.1168) 1520 0 R (HD.1169) 1521 0 R (HD.117) 322 0 R (HD.1170) 1526 0 R (HD.1171) 1527 0 R (HD.1172) 1528 0 R (HD.1173) 1529 0 R (HD.1174) 1530 0 R (HD.1175) 1531 0 R (HD.1176) 1532 0 R (HD.1177) 1533 0 R (HD.1178) 1534 0 R (HD.1179) 1535 0 R (HD.118) 323 0 R (HD.1180) 1536 0 R (HD.1181) 1537 0 R (HD.1182) 1538 0 R (HD.1183) 1539 0 R (HD.1184) 1540 0 R ] /Limits [ (HD.1156) (HD.1184) ] >>
-endobj
-11406 0 obj
-<< /Names [ (HD.1185) 1541 0 R (HD.1186) 1542 0 R (HD.1187) 1543 0 R (HD.1188) 1544 0 R (HD.1189) 1545 0 R (HD.119) 324 0 R (HD.1190) 1546 0 R (HD.1191) 1547 0 R (HD.1192) 1548 0 R (HD.1193) 1549 0 R (HD.1194) 1550 0 R (HD.1195) 1551 0 R (HD.1196) 1552 0 R (HD.1197) 1553 0 R (HD.1198) 1554 0 R (HD.1199) 1555 0 R (HD.12) 207 0 R (HD.120) 325 0 R (HD.1200) 1556 0 R (HD.1201) 1557 0 R (HD.1202) 1558 0 R (HD.1203) 1559 0 R (HD.1204) 1560 0 R (HD.1205) 1561 0 R (HD.1206) 1562 0 R (HD.1207) 1567 0 R (HD.1208) 1568 0 R (HD.1209) 1569 0 R (HD.121) 326 0 R (HD.1210) 1570 0 R (HD.1211) 1571 0 R (HD.1212) 1572 0 R ] /Limits [ (HD.1185) (HD.1212) ] >>
-endobj
-11407 0 obj
-<< /Names [ (HD.1213) 1573 0 R (HD.1214) 1574 0 R (HD.1215) 1575 0 R (HD.1216) 1576 0 R (HD.1217) 1577 0 R (HD.1218) 1578 0 R (HD.1219) 1579 0 R (HD.122) 327 0 R (HD.1220) 1580 0 R (HD.1221) 1581 0 R (HD.1222) 1582 0 R (HD.1223) 1583 0 R (HD.1224) 1584 0 R (HD.1225) 1585 0 R (HD.1226) 1586 0 R (HD.1227) 1587 0 R (HD.1228) 1588 0 R (HD.1229) 1589 0 R (HD.123) 328 0 R (HD.1230) 1590 0 R (HD.1231) 1591 0 R (HD.1232) 1592 0 R (HD.1233) 1593 0 R (HD.1234) 1594 0 R (HD.1235) 1595 0 R (HD.1236) 1596 0 R (HD.1237) 1597 0 R (HD.1238) 1598 0 R (HD.1239) 1599 0 R (HD.124) 329 0 R (HD.1240) 1600 0 R (HD.1241) 1601 0 R ] /Limits [ (HD.1213) (HD.1241) ] >>
-endobj
-11408 0 obj
-<< /Names [ (HD.1242) 1602 0 R (HD.1243) 1603 0 R (HD.1244) 1604 0 R (HD.1245) 1605 0 R (HD.1246) 1606 0 R (HD.1247) 1607 0 R (HD.1248) 1608 0 R (HD.1249) 1609 0 R (HD.125) 330 0 R (HD.1250) 1610 0 R (HD.1251) 1611 0 R (HD.1252) 1612 0 R (HD.1253) 1613 0 R (HD.1254) 1614 0 R (HD.1255) 1615 0 R (HD.1256) 1616 0 R (HD.1257) 1617 0 R (HD.1258) 1618 0 R (HD.1259) 1619 0 R (HD.126) 331 0 R (HD.1260) 1624 0 R (HD.1261) 1625 0 R (HD.1262) 1626 0 R (HD.1263) 1627 0 R (HD.1264) 1628 0 R (HD.1265) 1629 0 R (HD.1266) 1630 0 R (HD.1267) 1631 0 R (HD.1268) 1632 0 R (HD.1269) 1633 0 R (HD.127) 332 0 R (HD.1270) 1634 0 R ] /Limits [ (HD.1242) (HD.1270) ] >>
-endobj
-11409 0 obj
-<< /Names [ (HD.1271) 1635 0 R (HD.1272) 1636 0 R (HD.1273) 1637 0 R (HD.1274) 1638 0 R (HD.1275) 1639 0 R (HD.1276) 1640 0 R (HD.1277) 1641 0 R (HD.1278) 1642 0 R (HD.1279) 1643 0 R (HD.128) 333 0 R (HD.1280) 1644 0 R (HD.1281) 1645 0 R (HD.1282) 1646 0 R (HD.1283) 1647 0 R (HD.1284) 1648 0 R (HD.1285) 1649 0 R (HD.1286) 1650 0 R (HD.1287) 1651 0 R (HD.1288) 1652 0 R (HD.1289) 1653 0 R (HD.129) 334 0 R (HD.1290) 1654 0 R (HD.1291) 1655 0 R (HD.1292) 1656 0 R (HD.1293) 1657 0 R (HD.1294) 1658 0 R (HD.1295) 1659 0 R (HD.1296) 1660 0 R (HD.1297) 1661 0 R (HD.1298) 1662 0 R (HD.1299) 1663 0 R (HD.13) 208 0 R ] /Limits [ (HD.1271) (HD.13) ] >>
-endobj
-11410 0 obj
-<< /Names [ (HD.130) 339 0 R (HD.1300) 1664 0 R (HD.1301) 1665 0 R (HD.1302) 1666 0 R (HD.1303) 1667 0 R (HD.1304) 1668 0 R (HD.1305) 1669 0 R (HD.1306) 1670 0 R (HD.1307) 1675 0 R (HD.1308) 1676 0 R (HD.1309) 1677 0 R (HD.131) 340 0 R (HD.1310) 1678 0 R (HD.1311) 1679 0 R (HD.1312) 1680 0 R (HD.1313) 1681 0 R (HD.1314) 1682 0 R (HD.1315) 1683 0 R (HD.1316) 1684 0 R (HD.1317) 1685 0 R (HD.1318) 1686 0 R (HD.1319) 1687 0 R (HD.132) 341 0 R (HD.1320) 1688 0 R (HD.1321) 1689 0 R (HD.1322) 1690 0 R (HD.1323) 1691 0 R (HD.1324) 1692 0 R (HD.1325) 1693 0 R (HD.1326) 1694 0 R (HD.1327) 1695 0 R (HD.1328) 1696 0 R ] /Limits [ (HD.130) (HD.1328) ] >>
-endobj
-11411 0 obj
-<< /Names [ (HD.1329) 1697 0 R (HD.133) 342 0 R (HD.1330) 1698 0 R (HD.1331) 1699 0 R (HD.1332) 1700 0 R (HD.1333) 1701 0 R (HD.1334) 1702 0 R (HD.1335) 1703 0 R (HD.1336) 1704 0 R (HD.1337) 1705 0 R (HD.1338) 1706 0 R (HD.1339) 1707 0 R (HD.134) 343 0 R (HD.1340) 1708 0 R (HD.1341) 1709 0 R (HD.1342) 1710 0 R (HD.1343) 1711 0 R (HD.1344) 1712 0 R (HD.1345) 1713 0 R (HD.1346) 1714 0 R (HD.1347) 1719 0 R (HD.1348) 1720 0 R (HD.1349) 1721 0 R (HD.135) 344 0 R (HD.1350) 1722 0 R (HD.1351) 1723 0 R (HD.1352) 1724 0 R (HD.1353) 1725 0 R (HD.1354) 1726 0 R (HD.1355) 1727 0 R (HD.1356) 1728 0 R (HD.1357) 1729 0 R ] /Limits [ (HD.1329) (HD.1357) ] >>
-endobj
-11412 0 obj
-<< /Names [ (HD.1358) 1730 0 R (HD.1359) 1731 0 R (HD.136) 345 0 R (HD.1360) 1732 0 R (HD.1361) 1733 0 R (HD.1362) 1734 0 R (HD.1363) 1735 0 R (HD.1364) 1736 0 R (HD.1365) 1737 0 R (HD.1366) 1738 0 R (HD.1367) 1739 0 R (HD.1368) 1740 0 R (HD.1369) 1741 0 R (HD.137) 346 0 R (HD.1370) 1742 0 R (HD.1371) 1743 0 R (HD.1372) 1744 0 R (HD.1373) 1745 0 R (HD.1374) 1746 0 R (HD.1375) 1747 0 R (HD.1376) 1748 0 R (HD.1377) 1749 0 R (HD.1378) 1750 0 R (HD.1379) 1751 0 R (HD.138) 347 0 R (HD.1380) 1752 0 R (HD.1381) 1753 0 R (HD.1382) 1754 0 R (HD.1383) 1755 0 R (HD.1384) 1756 0 R (HD.1385) 1757 0 R (HD.1386) 1758 0 R ] /Limits [ (HD.1358) (HD.1386) ] >>
-endobj
-11413 0 obj
-<< /Names [ (HD.1387) 1759 0 R (HD.1388) 1760 0 R (HD.1389) 1761 0 R (HD.139) 348 0 R (HD.1390) 1762 0 R (HD.1391) 1763 0 R (HD.1392) 1764 0 R (HD.1393) 1765 0 R (HD.1394) 1766 0 R (HD.1395) 1767 0 R (HD.1396) 1772 0 R (HD.1397) 1773 0 R (HD.1398) 1774 0 R (HD.1399) 1775 0 R (HD.14) 209 0 R (HD.140) 349 0 R (HD.1400) 1776 0 R (HD.1401) 1777 0 R (HD.1402) 1779 0 R (HD.1403) 1780 0 R (HD.1404) 1781 0 R (HD.1405) 1782 0 R (HD.1406) 1783 0 R (HD.1407) 1784 0 R (HD.1408) 1785 0 R (HD.1409) 1786 0 R (HD.141) 350 0 R (HD.1410) 1787 0 R (HD.1411) 1788 0 R (HD.1412) 1789 0 R (HD.1413) 1790 0 R (HD.1414) 1791 0 R ] /Limits [ (HD.1387) (HD.1414) ] >>
-endobj
-11414 0 obj
-<< /Names [ (HD.1415) 1792 0 R (HD.1416) 1793 0 R (HD.1417) 1794 0 R (HD.1418) 1795 0 R (HD.1419) 1796 0 R (HD.142) 351 0 R (HD.1420) 1797 0 R (HD.1421) 1798 0 R (HD.1422) 1799 0 R (HD.1423) 1800 0 R (HD.1424) 1801 0 R (HD.1425) 1807 0 R (HD.1426) 1808 0 R (HD.1427) 1809 0 R (HD.1428) 1810 0 R (HD.1429) 1811 0 R (HD.143) 352 0 R (HD.1430) 1812 0 R (HD.1431) 1813 0 R (HD.1432) 1814 0 R (HD.1433) 1815 0 R (HD.1434) 1816 0 R (HD.1435) 1817 0 R (HD.1436) 1818 0 R (HD.1437) 1819 0 R (HD.1438) 1820 0 R (HD.1439) 1821 0 R (HD.144) 353 0 R (HD.1440) 1822 0 R (HD.1441) 1823 0 R (HD.1442) 1824 0 R (HD.1443) 1825 0 R ] /Limits [ (HD.1415) (HD.1443) ] >>
-endobj
-11415 0 obj
-<< /Names [ (HD.1444) 1826 0 R (HD.1445) 1827 0 R (HD.1446) 1828 0 R (HD.1447) 1829 0 R (HD.1448) 1830 0 R (HD.1449) 1831 0 R (HD.145) 354 0 R (HD.1450) 1832 0 R (HD.1451) 1833 0 R (HD.1452) 1834 0 R (HD.1453) 1835 0 R (HD.1454) 1836 0 R (HD.1455) 1837 0 R (HD.1456) 1838 0 R (HD.1457) 1839 0 R (HD.1458) 1840 0 R (HD.1459) 1841 0 R (HD.146) 355 0 R (HD.1460) 1842 0 R (HD.1461) 1843 0 R (HD.1462) 1844 0 R (HD.1463) 1845 0 R (HD.1464) 1846 0 R (HD.1465) 1847 0 R (HD.1466) 1848 0 R (HD.1467) 1849 0 R (HD.1468) 1850 0 R (HD.1469) 1851 0 R (HD.147) 356 0 R (HD.1470) 1852 0 R (HD.1471) 1853 0 R (HD.1472) 1854 0 R ] /Limits [ (HD.1444) (HD.1472) ] >>
-endobj
-11416 0 obj
-<< /Names [ (HD.1473) 1855 0 R (HD.1474) 1856 0 R (HD.1475) 1857 0 R (HD.1476) 1858 0 R (HD.1477) 1859 0 R (HD.1478) 1865 0 R (HD.1479) 1866 0 R (HD.148) 357 0 R (HD.1480) 1867 0 R (HD.1481) 1868 0 R (HD.1482) 1869 0 R (HD.1483) 1870 0 R (HD.1484) 1871 0 R (HD.1485) 1872 0 R (HD.1486) 1873 0 R (HD.1487) 1874 0 R (HD.1488) 1875 0 R (HD.1489) 1876 0 R (HD.149) 358 0 R (HD.1490) 1877 0 R (HD.1491) 1878 0 R (HD.1492) 1879 0 R (HD.1493) 1880 0 R (HD.1494) 1881 0 R (HD.1495) 1882 0 R (HD.1496) 1883 0 R (HD.1497) 1884 0 R (HD.1498) 1885 0 R (HD.1499) 1886 0 R (HD.15) 210 0 R (HD.150) 359 0 R (HD.1500) 1887 0 R ] /Limits [ (HD.1473) (HD.1500) ] >>
-endobj
-11417 0 obj
-<< /Names [ (HD.1501) 1888 0 R (HD.1502) 1889 0 R (HD.1503) 1890 0 R (HD.1504) 1891 0 R (HD.1505) 1892 0 R (HD.1506) 1893 0 R (HD.1507) 1894 0 R (HD.1508) 1895 0 R (HD.1509) 1896 0 R (HD.151) 360 0 R (HD.1510) 1897 0 R (HD.1511) 1898 0 R (HD.1512) 1899 0 R (HD.1513) 1900 0 R (HD.1514) 1901 0 R (HD.1515) 1902 0 R (HD.1516) 1903 0 R (HD.1517) 1904 0 R (HD.1518) 1905 0 R (HD.1519) 1906 0 R (HD.152) 361 0 R (HD.1520) 1907 0 R (HD.1521) 1913 0 R (HD.1522) 1914 0 R (HD.1523) 1915 0 R (HD.1524) 1916 0 R (HD.1525) 1917 0 R (HD.1526) 1918 0 R (HD.1527) 1919 0 R (HD.1528) 1920 0 R (HD.1529) 1921 0 R (HD.153) 362 0 R ] /Limits [ (HD.1501) (HD.153) ] >>
-endobj
-11418 0 obj
-<< /Names [ (HD.1530) 1922 0 R (HD.1531) 1923 0 R (HD.1532) 1924 0 R (HD.1533) 1925 0 R (HD.1534) 1926 0 R (HD.1535) 1927 0 R (HD.1536) 1928 0 R (HD.1537) 1929 0 R (HD.1538) 1930 0 R (HD.1539) 1931 0 R (HD.154) 363 0 R (HD.1540) 1932 0 R (HD.1541) 1933 0 R (HD.1542) 1934 0 R (HD.1543) 1935 0 R (HD.1544) 1936 0 R (HD.1545) 1937 0 R (HD.1546) 1938 0 R (HD.1547) 1939 0 R (HD.1548) 1940 0 R (HD.1549) 1941 0 R (HD.155) 364 0 R (HD.1550) 1942 0 R (HD.1551) 1943 0 R (HD.1552) 1944 0 R (HD.1553) 1945 0 R (HD.1554) 1946 0 R (HD.1555) 1947 0 R (HD.1556) 1954 0 R (HD.1557) 1955 0 R (HD.1558) 1956 0 R (HD.1559) 1957 0 R ] /Limits [ (HD.1530) (HD.1559) ] >>
-endobj
-11419 0 obj
-<< /Names [ (HD.156) 365 0 R (HD.1560) 1958 0 R (HD.1561) 1959 0 R (HD.1562) 1960 0 R (HD.1563) 1961 0 R (HD.1564) 1962 0 R (HD.1565) 1963 0 R (HD.1566) 1964 0 R (HD.1567) 1965 0 R (HD.1568) 1966 0 R (HD.1569) 1967 0 R (HD.157) 366 0 R (HD.1570) 1968 0 R (HD.1571) 1969 0 R (HD.1572) 1970 0 R (HD.1573) 1971 0 R (HD.1574) 1972 0 R (HD.1575) 1973 0 R (HD.1576) 1974 0 R (HD.1577) 1975 0 R (HD.1578) 1976 0 R (HD.1579) 1977 0 R (HD.158) 367 0 R (HD.1580) 1978 0 R (HD.1581) 1979 0 R (HD.1582) 1980 0 R (HD.1583) 1981 0 R (HD.1584) 1982 0 R (HD.1585) 1983 0 R (HD.1586) 1984 0 R (HD.1587) 1985 0 R (HD.1588) 1986 0 R ] /Limits [ (HD.156) (HD.1588) ] >>
-endobj
-11420 0 obj
-<< /Names [ (HD.1589) 1987 0 R (HD.159) 368 0 R (HD.1590) 1988 0 R (HD.1591) 1989 0 R (HD.1592) 1990 0 R (HD.1593) 1991 0 R (HD.1594) 1992 0 R (HD.1595) 1993 0 R (HD.1596) 1994 0 R (HD.1597) 1995 0 R (HD.1598) 1996 0 R (HD.1599) 1997 0 R (HD.16) 211 0 R (HD.160) 369 0 R (HD.1600) 1998 0 R (HD.1601) 1999 0 R (HD.1602) 2006 0 R (HD.1603) 2007 0 R (HD.1604) 2008 0 R (HD.1605) 2009 0 R (HD.1606) 2010 0 R (HD.1607) 2011 0 R (HD.1608) 2012 0 R (HD.1609) 2013 0 R (HD.161) 370 0 R (HD.1610) 2014 0 R (HD.1611) 2015 0 R (HD.1612) 2016 0 R (HD.1613) 2017 0 R (HD.1614) 2018 0 R (HD.1615) 2019 0 R (HD.1616) 2020 0 R ] /Limits [ (HD.1589) (HD.1616) ] >>
-endobj
-11421 0 obj
-<< /Names [ (HD.1617) 2021 0 R (HD.1618) 2022 0 R (HD.1619) 2023 0 R (HD.162) 371 0 R (HD.1620) 2024 0 R (HD.1621) 2025 0 R (HD.1622) 2026 0 R (HD.1623) 2027 0 R (HD.1624) 2028 0 R (HD.1625) 2029 0 R (HD.1626) 2030 0 R (HD.1627) 2031 0 R (HD.1628) 2032 0 R (HD.1629) 2033 0 R (HD.163) 372 0 R (HD.1630) 2034 0 R (HD.1631) 2035 0 R (HD.1632) 2036 0 R (HD.1633) 2037 0 R (HD.1634) 2042 0 R (HD.1635) 2043 0 R (HD.1636) 2044 0 R (HD.1637) 2045 0 R (HD.1638) 2046 0 R (HD.1639) 2047 0 R (HD.164) 373 0 R (HD.1640) 2048 0 R (HD.1641) 2049 0 R (HD.1642) 2050 0 R (HD.1643) 2051 0 R (HD.1644) 2052 0 R (HD.1645) 2053 0 R ] /Limits [ (HD.1617) (HD.1645) ] >>
-endobj
-11422 0 obj
-<< /Names [ (HD.1646) 2054 0 R (HD.1647) 2055 0 R (HD.1648) 2056 0 R (HD.1649) 2057 0 R (HD.165) 378 0 R (HD.1650) 2058 0 R (HD.1651) 2059 0 R (HD.1652) 2060 0 R (HD.1653) 2061 0 R (HD.1654) 2062 0 R (HD.1655) 2063 0 R (HD.1656) 2064 0 R (HD.1657) 2065 0 R (HD.1658) 2066 0 R (HD.1659) 2067 0 R (HD.166) 379 0 R (HD.1660) 2068 0 R (HD.1661) 2069 0 R (HD.1662) 2070 0 R (HD.1663) 2071 0 R (HD.1664) 2072 0 R (HD.1665) 2073 0 R (HD.1666) 2074 0 R (HD.1667) 2079 0 R (HD.1668) 2080 0 R (HD.1669) 2081 0 R (HD.167) 380 0 R (HD.1670) 2082 0 R (HD.1671) 2083 0 R (HD.1672) 2084 0 R (HD.1673) 2085 0 R (HD.1674) 2086 0 R ] /Limits [ (HD.1646) (HD.1674) ] >>
-endobj
-11423 0 obj
-<< /Names [ (HD.1675) 2087 0 R (HD.1676) 2088 0 R (HD.1677) 2089 0 R (HD.1678) 2090 0 R (HD.1679) 2091 0 R (HD.168) 381 0 R (HD.1680) 2092 0 R (HD.1681) 2093 0 R (HD.1682) 2094 0 R (HD.1683) 2095 0 R (HD.1684) 2096 0 R (HD.1685) 2097 0 R (HD.1686) 2098 0 R (HD.1687) 2099 0 R (HD.1688) 2100 0 R (HD.1689) 2101 0 R (HD.169) 382 0 R (HD.1690) 2102 0 R (HD.1691) 2103 0 R (HD.1692) 2104 0 R (HD.1693) 2105 0 R (HD.1694) 2106 0 R (HD.1695) 2107 0 R (HD.1696) 2108 0 R (HD.1697) 2109 0 R (HD.1698) 2110 0 R (HD.1699) 2111 0 R (HD.17) 212 0 R (HD.170) 383 0 R (HD.1700) 2112 0 R (HD.1701) 2117 0 R (HD.1702) 2118 0 R ] /Limits [ (HD.1675) (HD.1702) ] >>
-endobj
-11424 0 obj
-<< /Names [ (HD.1703) 2119 0 R (HD.1704) 2120 0 R (HD.1705) 2121 0 R (HD.1706) 2122 0 R (HD.1707) 2123 0 R (HD.1708) 2124 0 R (HD.1709) 2125 0 R (HD.171) 384 0 R (HD.1710) 2126 0 R (HD.1711) 2127 0 R (HD.1712) 2128 0 R (HD.1713) 2129 0 R (HD.1714) 2130 0 R (HD.1715) 2131 0 R (HD.1716) 2132 0 R (HD.1717) 2133 0 R (HD.1718) 2134 0 R (HD.1719) 2135 0 R (HD.172) 385 0 R (HD.1720) 2136 0 R (HD.1721) 2137 0 R (HD.1722) 2138 0 R (HD.1723) 2139 0 R (HD.1724) 2140 0 R (HD.1725) 2141 0 R (HD.1726) 2142 0 R (HD.1727) 2143 0 R (HD.1728) 2144 0 R (HD.1729) 2145 0 R (HD.173) 386 0 R (HD.1730) 2146 0 R (HD.1731) 2147 0 R ] /Limits [ (HD.1703) (HD.1731) ] >>
-endobj
-11425 0 obj
-<< /Names [ (HD.1732) 2148 0 R (HD.1733) 2149 0 R (HD.1734) 2150 0 R (HD.1735) 2151 0 R (HD.1736) 2152 0 R (HD.1737) 2153 0 R (HD.1738) 2154 0 R (HD.1739) 2155 0 R (HD.174) 387 0 R (HD.1740) 2160 0 R (HD.1741) 2161 0 R (HD.1742) 2162 0 R (HD.1743) 2163 0 R (HD.1744) 2164 0 R (HD.1745) 2165 0 R (HD.1746) 2166 0 R (HD.1747) 2167 0 R (HD.1748) 2168 0 R (HD.1749) 2169 0 R (HD.175) 388 0 R (HD.1750) 2170 0 R (HD.1751) 2171 0 R (HD.1752) 2172 0 R (HD.1753) 2173 0 R (HD.1754) 2174 0 R (HD.1755) 2175 0 R (HD.1756) 2176 0 R (HD.1757) 2177 0 R (HD.1758) 2178 0 R (HD.1759) 2179 0 R (HD.176) 389 0 R (HD.1760) 2180 0 R ] /Limits [ (HD.1732) (HD.1760) ] >>
-endobj
-11426 0 obj
-<< /Names [ (HD.1761) 2181 0 R (HD.1762) 2182 0 R (HD.1763) 2183 0 R (HD.1764) 2184 0 R (HD.1765) 2185 0 R (HD.1766) 2186 0 R (HD.1767) 2187 0 R (HD.1768) 2188 0 R (HD.1769) 2189 0 R (HD.177) 390 0 R (HD.1770) 2190 0 R (HD.1771) 2191 0 R (HD.1772) 2192 0 R (HD.1773) 2193 0 R (HD.1774) 2194 0 R (HD.1775) 2195 0 R (HD.1776) 2196 0 R (HD.1777) 2197 0 R (HD.1778) 2202 0 R (HD.1779) 2203 0 R (HD.178) 391 0 R (HD.1780) 2204 0 R (HD.1781) 2205 0 R (HD.1782) 2206 0 R (HD.1783) 2207 0 R (HD.1784) 2208 0 R (HD.1785) 2209 0 R (HD.1786) 2210 0 R (HD.1787) 2211 0 R (HD.1788) 2212 0 R (HD.1789) 2213 0 R (HD.179) 392 0 R ] /Limits [ (HD.1761) (HD.179) ] >>
-endobj
-11427 0 obj
-<< /Names [ (HD.1790) 2214 0 R (HD.1791) 2215 0 R (HD.1792) 2216 0 R (HD.1793) 2217 0 R (HD.1794) 2218 0 R (HD.1795) 2219 0 R (HD.1796) 2220 0 R (HD.1797) 2221 0 R (HD.1798) 2222 0 R (HD.1799) 2223 0 R (HD.18) 213 0 R (HD.180) 393 0 R (HD.1800) 2224 0 R (HD.1801) 2225 0 R (HD.1802) 2226 0 R (HD.1803) 2227 0 R (HD.1804) 2228 0 R (HD.1805) 2229 0 R (HD.1806) 2230 0 R (HD.1807) 2231 0 R (HD.1808) 2232 0 R (HD.1809) 2233 0 R (HD.181) 394 0 R (HD.1810) 2234 0 R (HD.1811) 2235 0 R (HD.1812) 2236 0 R (HD.1813) 2237 0 R (HD.1814) 2238 0 R (HD.1815) 2239 0 R (HD.1816) 2240 0 R (HD.1817) 2241 0 R (HD.1818) 2242 0 R ] /Limits [ (HD.1790) (HD.1818) ] >>
-endobj
-11428 0 obj
-<< /Names [ (HD.1819) 2243 0 R (HD.182) 395 0 R (HD.1820) 2244 0 R (HD.1821) 2245 0 R (HD.1822) 2246 0 R (HD.1823) 2247 0 R (HD.1824) 2248 0 R (HD.1825) 2249 0 R (HD.1826) 2250 0 R (HD.1827) 2251 0 R (HD.1828) 2252 0 R (HD.1829) 2253 0 R (HD.183) 396 0 R (HD.1830) 2260 0 R (HD.1831) 2261 0 R (HD.1832) 2262 0 R (HD.1833) 2263 0 R (HD.1834) 2264 0 R (HD.1835) 2265 0 R (HD.1836) 2266 0 R (HD.1837) 2267 0 R (HD.1838) 2268 0 R (HD.1839) 2269 0 R (HD.184) 397 0 R (HD.1840) 2270 0 R (HD.1841) 2271 0 R (HD.1842) 2272 0 R (HD.1843) 2273 0 R (HD.1844) 2274 0 R (HD.1845) 2275 0 R (HD.1846) 2276 0 R (HD.1847) 2277 0 R ] /Limits [ (HD.1819) (HD.1847) ] >>
-endobj
-11429 0 obj
-<< /Names [ (HD.1848) 2278 0 R (HD.1849) 2279 0 R (HD.185) 398 0 R (HD.1850) 2280 0 R (HD.1851) 2281 0 R (HD.1852) 2282 0 R (HD.1853) 2283 0 R (HD.1854) 2284 0 R (HD.1855) 2285 0 R (HD.1856) 2286 0 R (HD.1857) 2287 0 R (HD.1858) 2288 0 R (HD.1859) 2289 0 R (HD.186) 399 0 R (HD.1860) 2290 0 R (HD.1861) 2291 0 R (HD.1862) 2292 0 R (HD.1863) 2293 0 R (HD.1864) 2294 0 R (HD.1865) 2295 0 R (HD.1866) 2296 0 R (HD.1867) 2297 0 R (HD.1868) 2298 0 R (HD.1869) 2299 0 R (HD.187) 400 0 R (HD.1870) 2300 0 R (HD.1871) 2301 0 R (HD.1872) 2302 0 R (HD.1873) 2303 0 R (HD.1874) 2304 0 R (HD.1875) 2305 0 R (HD.1876) 2306 0 R ] /Limits [ (HD.1848) (HD.1876) ] >>
-endobj
-11430 0 obj
-<< /Names [ (HD.1877) 2307 0 R (HD.1878) 2315 0 R (HD.1879) 2316 0 R (HD.188) 401 0 R (HD.1880) 2317 0 R (HD.1881) 2318 0 R (HD.1882) 2319 0 R (HD.1883) 2320 0 R (HD.1884) 2321 0 R (HD.1885) 2322 0 R (HD.1886) 2323 0 R (HD.1887) 2324 0 R (HD.1888) 2325 0 R (HD.1889) 2326 0 R (HD.189) 402 0 R (HD.1890) 2327 0 R (HD.1891) 2328 0 R (HD.1892) 2329 0 R (HD.1893) 2330 0 R (HD.1894) 2331 0 R (HD.1895) 2332 0 R (HD.1896) 2333 0 R (HD.1897) 2334 0 R (HD.1898) 2335 0 R (HD.1899) 2336 0 R (HD.19) 214 0 R (HD.190) 403 0 R (HD.1900) 2337 0 R (HD.1901) 2338 0 R (HD.1902) 2339 0 R (HD.1903) 2340 0 R (HD.1904) 2341 0 R ] /Limits [ (HD.1877) (HD.1904) ] >>
-endobj
-11431 0 obj
-<< /Names [ (HD.1905) 2342 0 R (HD.1906) 2343 0 R (HD.1907) 2344 0 R (HD.1908) 2345 0 R (HD.1909) 2346 0 R (HD.191) 404 0 R (HD.1910) 2347 0 R (HD.1911) 2348 0 R (HD.1912) 2355 0 R (HD.1913) 2356 0 R (HD.1914) 2357 0 R (HD.1915) 2358 0 R (HD.1916) 2359 0 R (HD.1917) 2360 0 R (HD.1918) 2361 0 R (HD.1919) 2362 0 R (HD.192) 405 0 R (HD.1920) 2363 0 R (HD.1921) 2364 0 R (HD.1922) 2365 0 R (HD.1923) 2366 0 R (HD.1924) 2367 0 R (HD.1925) 2368 0 R (HD.1926) 2369 0 R (HD.1927) 2370 0 R (HD.1928) 2371 0 R (HD.1929) 2372 0 R (HD.193) 406 0 R (HD.1930) 2373 0 R (HD.1931) 2374 0 R (HD.1932) 2375 0 R (HD.1933) 2376 0 R ] /Limits [ (HD.1905) (HD.1933) ] >>
-endobj
-11432 0 obj
-<< /Names [ (HD.1934) 2377 0 R (HD.1935) 2378 0 R (HD.1936) 2379 0 R (HD.1937) 2380 0 R (HD.1938) 2381 0 R (HD.1939) 2382 0 R (HD.194) 407 0 R (HD.1940) 2383 0 R (HD.1941) 2384 0 R (HD.1942) 2385 0 R (HD.1943) 2386 0 R (HD.1944) 2387 0 R (HD.1945) 2388 0 R (HD.1946) 2389 0 R (HD.1947) 2390 0 R (HD.1948) 2391 0 R (HD.1949) 2392 0 R (HD.195) 408 0 R (HD.1950) 2399 0 R (HD.1951) 2400 0 R (HD.1952) 2401 0 R (HD.1953) 2402 0 R (HD.1954) 2403 0 R (HD.1955) 2404 0 R (HD.1956) 2405 0 R (HD.1957) 2406 0 R (HD.1958) 2407 0 R (HD.1959) 2408 0 R (HD.196) 409 0 R (HD.1960) 2409 0 R (HD.1961) 2410 0 R (HD.1962) 2411 0 R ] /Limits [ (HD.1934) (HD.1962) ] >>
-endobj
-11433 0 obj
-<< /Names [ (HD.1963) 2412 0 R (HD.1964) 2413 0 R (HD.1965) 2414 0 R (HD.1966) 2415 0 R (HD.1967) 2416 0 R (HD.1968) 2417 0 R (HD.1969) 2418 0 R (HD.197) 410 0 R (HD.1970) 2419 0 R (HD.1971) 2420 0 R (HD.1972) 2421 0 R (HD.1973) 2422 0 R (HD.1974) 2423 0 R (HD.1975) 2424 0 R (HD.1976) 2425 0 R (HD.1977) 2426 0 R (HD.1978) 2427 0 R (HD.1979) 2428 0 R (HD.198) 411 0 R (HD.1980) 2429 0 R (HD.1981) 2430 0 R (HD.1982) 2431 0 R (HD.1983) 2432 0 R (HD.1984) 2433 0 R (HD.1985) 2434 0 R (HD.1986) 2435 0 R (HD.1987) 2436 0 R (HD.1988) 2437 0 R (HD.1989) 2438 0 R (HD.199) 412 0 R (HD.1990) 2439 0 R (HD.1991) 2440 0 R ] /Limits [ (HD.1963) (HD.1991) ] >>
-endobj
-11434 0 obj
-<< /Names [ (HD.1992) 2441 0 R (HD.1993) 2442 0 R (HD.1994) 2443 0 R (HD.1995) 2444 0 R (HD.1996) 2452 0 R (HD.1997) 2453 0 R (HD.1998) 2454 0 R (HD.1999) 2455 0 R (HD.2) 190 0 R (HD.20) 215 0 R (HD.200) 413 0 R (HD.2000) 2456 0 R (HD.2001) 2457 0 R (HD.2002) 2458 0 R (HD.2003) 2459 0 R (HD.2004) 2460 0 R (HD.2005) 2461 0 R (HD.2006) 2462 0 R (HD.2007) 2463 0 R (HD.2008) 2464 0 R (HD.2009) 2465 0 R (HD.201) 414 0 R (HD.2010) 2466 0 R (HD.2011) 2467 0 R (HD.2012) 2468 0 R (HD.2013) 2469 0 R (HD.2014) 2470 0 R (HD.2015) 2471 0 R (HD.2016) 2472 0 R (HD.2017) 2473 0 R (HD.2018) 2474 0 R (HD.2019) 2475 0 R ] /Limits [ (HD.1992) (HD.2019) ] >>
-endobj
-11435 0 obj
-<< /Names [ (HD.202) 415 0 R (HD.2020) 2476 0 R (HD.2021) 2477 0 R (HD.2022) 2478 0 R (HD.2023) 2479 0 R (HD.2024) 2480 0 R (HD.2025) 2481 0 R (HD.2026) 2482 0 R (HD.2027) 2483 0 R (HD.2028) 2484 0 R (HD.2029) 2485 0 R (HD.203) 416 0 R (HD.2030) 2486 0 R (HD.2031) 2487 0 R (HD.2032) 2488 0 R (HD.2033) 2489 0 R (HD.2034) 2490 0 R (HD.2035) 2491 0 R (HD.2036) 2492 0 R (HD.2037) 2493 0 R (HD.2038) 2494 0 R (HD.2039) 2495 0 R (HD.204) 417 0 R (HD.2040) 2496 0 R (HD.2041) 2497 0 R (HD.2042) 2498 0 R (HD.2043) 2506 0 R (HD.2044) 2507 0 R (HD.2045) 2508 0 R (HD.2046) 2509 0 R (HD.2047) 2510 0 R (HD.2048) 2511 0 R ] /Limits [ (HD.202) (HD.2048) ] >>
-endobj
-11436 0 obj
-<< /Names [ (HD.2049) 2512 0 R (HD.205) 418 0 R (HD.2050) 2513 0 R (HD.2051) 2514 0 R (HD.2052) 2515 0 R (HD.2053) 2516 0 R (HD.2054) 2517 0 R (HD.2055) 2518 0 R (HD.2056) 2519 0 R (HD.2057) 2520 0 R (HD.2058) 2521 0 R (HD.2059) 2522 0 R (HD.206) 419 0 R (HD.2060) 2523 0 R (HD.2061) 2524 0 R (HD.2062) 2525 0 R (HD.2063) 2526 0 R (HD.2064) 2527 0 R (HD.2065) 2528 0 R (HD.2066) 2529 0 R (HD.2067) 2530 0 R (HD.2068) 2531 0 R (HD.2069) 2532 0 R (HD.207) 420 0 R (HD.2070) 2533 0 R (HD.2071) 2534 0 R (HD.2072) 2535 0 R (HD.2073) 2536 0 R (HD.2074) 2537 0 R (HD.2075) 2538 0 R (HD.2076) 2539 0 R (HD.2077) 2540 0 R ] /Limits [ (HD.2049) (HD.2077) ] >>
-endobj
-11437 0 obj
-<< /Names [ (HD.2078) 2546 0 R (HD.2079) 2547 0 R (HD.208) 421 0 R (HD.2080) 2548 0 R (HD.2081) 2549 0 R (HD.2082) 2550 0 R (HD.2083) 2551 0 R (HD.2084) 2552 0 R (HD.2085) 2553 0 R (HD.2086) 2554 0 R (HD.2087) 2555 0 R (HD.2088) 2556 0 R (HD.2089) 2557 0 R (HD.209) 427 0 R (HD.2090) 2558 0 R (HD.2091) 2559 0 R (HD.2092) 2560 0 R (HD.2093) 2561 0 R (HD.2094) 2562 0 R (HD.2095) 2563 0 R (HD.2096) 2564 0 R (HD.2097) 2565 0 R (HD.2098) 2566 0 R (HD.2099) 2567 0 R (HD.21) 216 0 R (HD.210) 428 0 R (HD.2100) 2568 0 R (HD.2101) 2569 0 R (HD.2102) 2570 0 R (HD.2103) 2571 0 R (HD.2104) 2572 0 R (HD.2105) 2573 0 R ] /Limits [ (HD.2078) (HD.2105) ] >>
-endobj
-11438 0 obj
-<< /Names [ (HD.2106) 2574 0 R (HD.2107) 2575 0 R (HD.2108) 2576 0 R (HD.2109) 2577 0 R (HD.211) 429 0 R (HD.2110) 2578 0 R (HD.2111) 2579 0 R (HD.2112) 2580 0 R (HD.2113) 2581 0 R (HD.2114) 2582 0 R (HD.2115) 2583 0 R (HD.2116) 2584 0 R (HD.2117) 2585 0 R (HD.2118) 2586 0 R (HD.2119) 2587 0 R (HD.212) 430 0 R (HD.2120) 2588 0 R (HD.2121) 2589 0 R (HD.2122) 2590 0 R (HD.2123) 2591 0 R (HD.2124) 2597 0 R (HD.2125) 2598 0 R (HD.2126) 2599 0 R (HD.2127) 2600 0 R (HD.2128) 2601 0 R (HD.2129) 2602 0 R (HD.213) 431 0 R (HD.2130) 2603 0 R (HD.2131) 2604 0 R (HD.2132) 2605 0 R (HD.2133) 2606 0 R (HD.2134) 2607 0 R ] /Limits [ (HD.2106) (HD.2134) ] >>
-endobj
-11439 0 obj
-<< /Names [ (HD.2135) 2608 0 R (HD.2136) 2609 0 R (HD.2137) 2610 0 R (HD.2138) 2611 0 R (HD.2139) 2612 0 R (HD.214) 432 0 R (HD.2140) 2613 0 R (HD.2141) 2614 0 R (HD.2142) 2615 0 R (HD.2143) 2616 0 R (HD.2144) 2617 0 R (HD.2145) 2618 0 R (HD.2146) 2619 0 R (HD.2147) 2620 0 R (HD.2148) 2621 0 R (HD.2149) 2622 0 R (HD.215) 433 0 R (HD.2150) 2623 0 R (HD.2151) 2624 0 R (HD.2152) 2625 0 R (HD.2153) 2626 0 R (HD.2154) 2627 0 R (HD.2155) 2628 0 R (HD.2156) 2629 0 R (HD.2157) 2630 0 R (HD.2158) 2631 0 R (HD.2159) 2632 0 R (HD.216) 434 0 R (HD.2160) 2633 0 R (HD.2161) 2634 0 R (HD.2162) 2635 0 R (HD.2163) 2636 0 R ] /Limits [ (HD.2135) (HD.2163) ] >>
-endobj
-11440 0 obj
-<< /Names [ (HD.2164) 2637 0 R (HD.2165) 2638 0 R (HD.2166) 2639 0 R (HD.2167) 2640 0 R (HD.2168) 2647 0 R (HD.2169) 2648 0 R (HD.217) 435 0 R (HD.2170) 2649 0 R (HD.2171) 2650 0 R (HD.2172) 2651 0 R (HD.2173) 2652 0 R (HD.2174) 2653 0 R (HD.2175) 2654 0 R (HD.2176) 2655 0 R (HD.2177) 2656 0 R (HD.2178) 2657 0 R (HD.2179) 2658 0 R (HD.218) 436 0 R (HD.2180) 2659 0 R (HD.2181) 2660 0 R (HD.2182) 2661 0 R (HD.2183) 2662 0 R (HD.2184) 2663 0 R (HD.2185) 2664 0 R (HD.2186) 2665 0 R (HD.2187) 2666 0 R (HD.2188) 2667 0 R (HD.2189) 2668 0 R (HD.219) 437 0 R (HD.2190) 2669 0 R (HD.2191) 2670 0 R (HD.2192) 2671 0 R ] /Limits [ (HD.2164) (HD.2192) ] >>
-endobj
-11441 0 obj
-<< /Names [ (HD.2193) 2672 0 R (HD.2194) 2673 0 R (HD.2195) 2674 0 R (HD.2196) 2675 0 R (HD.2197) 2676 0 R (HD.2198) 2677 0 R (HD.2199) 2678 0 R (HD.22) 217 0 R (HD.220) 438 0 R (HD.2200) 2679 0 R (HD.2201) 2680 0 R (HD.2202) 2681 0 R (HD.2203) 2682 0 R (HD.2204) 2683 0 R (HD.2205) 2684 0 R (HD.2206) 2685 0 R (HD.2207) 2686 0 R (HD.2208) 2687 0 R (HD.2209) 2688 0 R (HD.221) 439 0 R (HD.2210) 2689 0 R (HD.2211) 2690 0 R (HD.2212) 2691 0 R (HD.2213) 2692 0 R (HD.2214) 2693 0 R (HD.2215) 2694 0 R (HD.2216) 2695 0 R (HD.2217) 2696 0 R (HD.2218) 2697 0 R (HD.2219) 2698 0 R (HD.222) 440 0 R (HD.2220) 2703 0 R ] /Limits [ (HD.2193) (HD.2220) ] >>
-endobj
-11442 0 obj
-<< /Names [ (HD.2221) 2704 0 R (HD.2222) 2705 0 R (HD.2223) 2706 0 R (HD.2224) 2707 0 R (HD.2225) 2708 0 R (HD.2226) 2709 0 R (HD.2227) 2710 0 R (HD.2228) 2711 0 R (HD.2229) 2712 0 R (HD.223) 441 0 R (HD.2230) 2713 0 R (HD.2231) 2714 0 R (HD.2232) 2715 0 R (HD.2233) 2716 0 R (HD.2234) 2717 0 R (HD.2235) 2718 0 R (HD.2236) 2719 0 R (HD.2237) 2720 0 R (HD.2238) 2721 0 R (HD.2239) 2722 0 R (HD.224) 442 0 R (HD.2240) 2723 0 R (HD.2241) 2724 0 R (HD.2242) 2725 0 R (HD.2243) 2726 0 R (HD.2244) 2727 0 R (HD.2245) 2728 0 R (HD.2246) 2729 0 R (HD.2247) 2730 0 R (HD.2248) 2731 0 R (HD.2249) 2732 0 R (HD.225) 443 0 R ] /Limits [ (HD.2221) (HD.225) ] >>
-endobj
-11443 0 obj
-<< /Names [ (HD.2250) 2733 0 R (HD.2251) 2734 0 R (HD.2252) 2735 0 R (HD.2253) 2736 0 R (HD.2254) 2737 0 R (HD.2255) 2738 0 R (HD.2256) 2739 0 R (HD.2257) 2740 0 R (HD.2258) 2741 0 R (HD.2259) 2742 0 R (HD.226) 444 0 R (HD.2260) 2743 0 R (HD.2261) 2744 0 R (HD.2262) 2745 0 R (HD.2263) 2746 0 R (HD.2264) 2747 0 R (HD.2265) 2748 0 R (HD.2266) 2749 0 R (HD.2267) 2750 0 R (HD.2268) 2751 0 R (HD.2269) 2752 0 R (HD.227) 445 0 R (HD.2270) 2758 0 R (HD.2271) 2759 0 R (HD.2272) 2760 0 R (HD.2273) 2761 0 R (HD.2274) 2762 0 R (HD.2275) 2763 0 R (HD.2276) 2764 0 R (HD.2277) 2765 0 R (HD.2278) 2766 0 R (HD.2279) 2767 0 R ] /Limits [ (HD.2250) (HD.2279) ] >>
-endobj
-11444 0 obj
-<< /Names [ (HD.228) 446 0 R (HD.2280) 2768 0 R (HD.2281) 2769 0 R (HD.2282) 2770 0 R (HD.2283) 2771 0 R (HD.2284) 2772 0 R (HD.2285) 2773 0 R (HD.2286) 2774 0 R (HD.2287) 2775 0 R (HD.2288) 2776 0 R (HD.2289) 2777 0 R (HD.229) 447 0 R (HD.2290) 2778 0 R (HD.2291) 2779 0 R (HD.2292) 2780 0 R (HD.2293) 2781 0 R (HD.2294) 2782 0 R (HD.2295) 2783 0 R (HD.2296) 2784 0 R (HD.2297) 2785 0 R (HD.2298) 2786 0 R (HD.2299) 2787 0 R (HD.23) 218 0 R (HD.230) 448 0 R (HD.2300) 2788 0 R (HD.2301) 2789 0 R (HD.2302) 2790 0 R (HD.2303) 2791 0 R (HD.2304) 2792 0 R (HD.2305) 2793 0 R (HD.2306) 2794 0 R (HD.2307) 2795 0 R ] /Limits [ (HD.228) (HD.2307) ] >>
-endobj
-11445 0 obj
-<< /Names [ (HD.2308) 2796 0 R (HD.2309) 2797 0 R (HD.231) 449 0 R (HD.2310) 2798 0 R (HD.2311) 2799 0 R (HD.2312) 2800 0 R (HD.2313) 2801 0 R (HD.2314) 2802 0 R (HD.2315) 2803 0 R (HD.2316) 2804 0 R (HD.2317) 2805 0 R (HD.2318) 2806 0 R (HD.2319) 2807 0 R (HD.232) 450 0 R (HD.2320) 2808 0 R (HD.2321) 2809 0 R (HD.2322) 2810 0 R (HD.2323) 2815 0 R (HD.2324) 2816 0 R (HD.2325) 2817 0 R (HD.2326) 2818 0 R (HD.2327) 2819 0 R (HD.2328) 2820 0 R (HD.2329) 2821 0 R (HD.233) 451 0 R (HD.2330) 2822 0 R (HD.2331) 2823 0 R (HD.2332) 2824 0 R (HD.2333) 2825 0 R (HD.2334) 2826 0 R (HD.2335) 2827 0 R (HD.2336) 2828 0 R ] /Limits [ (HD.2308) (HD.2336) ] >>
-endobj
-11446 0 obj
-<< /Names [ (HD.2337) 2829 0 R (HD.2338) 2830 0 R (HD.2339) 2831 0 R (HD.234) 452 0 R (HD.2340) 2832 0 R (HD.2341) 2833 0 R (HD.2342) 2834 0 R (HD.2343) 2835 0 R (HD.2344) 2836 0 R (HD.2345) 2837 0 R (HD.2346) 2838 0 R (HD.2347) 2839 0 R (HD.2348) 2840 0 R (HD.2349) 2841 0 R (HD.235) 453 0 R (HD.2350) 2842 0 R (HD.2351) 2843 0 R (HD.2352) 2844 0 R (HD.2353) 2845 0 R (HD.2354) 2846 0 R (HD.2355) 2847 0 R (HD.2356) 2848 0 R (HD.2357) 2849 0 R (HD.2358) 2850 0 R (HD.2359) 2851 0 R (HD.236) 454 0 R (HD.2360) 2852 0 R (HD.2361) 2853 0 R (HD.2362) 2854 0 R (HD.2363) 2855 0 R (HD.2364) 2856 0 R (HD.2365) 2857 0 R ] /Limits [ (HD.2337) (HD.2365) ] >>
-endobj
-11447 0 obj
-<< /Names [ (HD.2366) 2858 0 R (HD.2367) 2859 0 R (HD.2368) 2860 0 R (HD.2369) 2861 0 R (HD.237) 456 0 R (HD.2370) 2866 0 R (HD.2371) 2867 0 R (HD.2372) 2868 0 R (HD.2373) 2869 0 R (HD.2374) 2870 0 R (HD.2375) 2871 0 R (HD.2376) 2872 0 R (HD.2377) 2873 0 R (HD.2378) 2874 0 R (HD.2379) 2875 0 R (HD.238) 457 0 R (HD.2380) 2876 0 R (HD.2381) 2877 0 R (HD.2382) 2878 0 R (HD.2383) 2879 0 R (HD.2384) 2880 0 R (HD.2385) 2881 0 R (HD.2386) 2882 0 R (HD.2387) 2883 0 R (HD.2388) 2884 0 R (HD.2389) 2885 0 R (HD.239) 458 0 R (HD.2390) 2886 0 R (HD.2391) 2887 0 R (HD.2392) 2888 0 R (HD.2393) 2889 0 R (HD.2394) 2890 0 R ] /Limits [ (HD.2366) (HD.2394) ] >>
-endobj
-11448 0 obj
-<< /Names [ (HD.2395) 2891 0 R (HD.2396) 2892 0 R (HD.2397) 2893 0 R (HD.2398) 2894 0 R (HD.2399) 2895 0 R (HD.24) 219 0 R (HD.240) 459 0 R (HD.2400) 2896 0 R (HD.2401) 2897 0 R (HD.2402) 2898 0 R (HD.2403) 2903 0 R (HD.2404) 2904 0 R (HD.2405) 2905 0 R (HD.2406) 2906 0 R (HD.2407) 2907 0 R (HD.2408) 2908 0 R (HD.2409) 2909 0 R (HD.241) 460 0 R (HD.2410) 2910 0 R (HD.2411) 2911 0 R (HD.2412) 2912 0 R (HD.2413) 2913 0 R (HD.2414) 2914 0 R (HD.2415) 2915 0 R (HD.2416) 2916 0 R (HD.2417) 2917 0 R (HD.2418) 2918 0 R (HD.2419) 2919 0 R (HD.242) 461 0 R (HD.2420) 2920 0 R (HD.2421) 2921 0 R (HD.2422) 2922 0 R ] /Limits [ (HD.2395) (HD.2422) ] >>
-endobj
-11449 0 obj
-<< /Names [ (HD.2423) 2923 0 R (HD.2424) 2924 0 R (HD.2425) 2925 0 R (HD.2426) 2926 0 R (HD.2427) 2927 0 R (HD.2428) 2928 0 R (HD.2429) 2929 0 R (HD.243) 462 0 R (HD.2430) 2930 0 R (HD.2431) 2931 0 R (HD.2432) 2932 0 R (HD.2433) 2933 0 R (HD.2434) 2934 0 R (HD.2435) 2935 0 R (HD.2436) 2936 0 R (HD.2437) 2937 0 R (HD.2438) 2938 0 R (HD.2439) 2939 0 R (HD.244) 463 0 R (HD.2440) 2940 0 R (HD.2441) 2941 0 R (HD.2442) 2942 0 R (HD.2443) 2943 0 R (HD.2444) 2944 0 R (HD.2445) 2945 0 R (HD.2446) 2950 0 R (HD.2447) 2951 0 R (HD.2448) 2952 0 R (HD.2449) 2953 0 R (HD.245) 464 0 R (HD.2450) 2954 0 R (HD.2451) 2955 0 R ] /Limits [ (HD.2423) (HD.2451) ] >>
-endobj
-11450 0 obj
-<< /Names [ (HD.2452) 2956 0 R (HD.2453) 2957 0 R (HD.2454) 2958 0 R (HD.2455) 2959 0 R (HD.2456) 2960 0 R (HD.2457) 2961 0 R (HD.2458) 2962 0 R (HD.2459) 2963 0 R (HD.246) 465 0 R (HD.2460) 2964 0 R (HD.2461) 2965 0 R (HD.2462) 2966 0 R (HD.2463) 2967 0 R (HD.2464) 2968 0 R (HD.2465) 2969 0 R (HD.2466) 2970 0 R (HD.2467) 2971 0 R (HD.2468) 2972 0 R (HD.2469) 2973 0 R (HD.247) 466 0 R (HD.2470) 2974 0 R (HD.2471) 2975 0 R (HD.2472) 2976 0 R (HD.2473) 2977 0 R (HD.2474) 2978 0 R (HD.2475) 2979 0 R (HD.2476) 2980 0 R (HD.2477) 2981 0 R (HD.2478) 2982 0 R (HD.2479) 2983 0 R (HD.248) 474 0 R (HD.2480) 2984 0 R ] /Limits [ (HD.2452) (HD.2480) ] >>
-endobj
-11451 0 obj
-<< /Names [ (HD.2481) 2985 0 R (HD.2482) 2986 0 R (HD.2483) 2987 0 R (HD.2484) 2988 0 R (HD.2485) 2989 0 R (HD.2486) 2990 0 R (HD.2487) 2991 0 R (HD.2488) 2992 0 R (HD.2489) 2993 0 R (HD.249) 475 0 R (HD.2490) 2994 0 R (HD.2491) 2995 0 R (HD.2492) 2996 0 R (HD.2493) 2997 0 R (HD.2494) 2998 0 R (HD.2495) 3003 0 R (HD.2496) 3004 0 R (HD.2497) 3005 0 R (HD.2498) 3006 0 R (HD.2499) 3007 0 R (HD.25) 220 0 R (HD.250) 476 0 R (HD.2500) 3008 0 R (HD.2501) 3009 0 R (HD.2502) 3010 0 R (HD.2503) 3011 0 R (HD.2504) 3012 0 R (HD.2505) 3013 0 R (HD.2506) 3014 0 R (HD.2507) 3015 0 R (HD.2508) 3016 0 R (HD.2509) 3017 0 R ] /Limits [ (HD.2481) (HD.2509) ] >>
-endobj
-11452 0 obj
-<< /Names [ (HD.251) 477 0 R (HD.2510) 3018 0 R (HD.2511) 3019 0 R (HD.2512) 3020 0 R (HD.2513) 3021 0 R (HD.2514) 3022 0 R (HD.2515) 3023 0 R (HD.2516) 3024 0 R (HD.2517) 3025 0 R (HD.2518) 3026 0 R (HD.2519) 3027 0 R (HD.252) 478 0 R (HD.2520) 3028 0 R (HD.2521) 3029 0 R (HD.2522) 3030 0 R (HD.2523) 3031 0 R (HD.2524) 3032 0 R (HD.2525) 3033 0 R (HD.2526) 3034 0 R (HD.2527) 3035 0 R (HD.2528) 3036 0 R (HD.2529) 3037 0 R (HD.253) 479 0 R (HD.2530) 3038 0 R (HD.2531) 3039 0 R (HD.2532) 3040 0 R (HD.2533) 3041 0 R (HD.2534) 3042 0 R (HD.2535) 3043 0 R (HD.2536) 3044 0 R (HD.2537) 3045 0 R (HD.2538) 3046 0 R ] /Limits [ (HD.251) (HD.2538) ] >>
-endobj
-11453 0 obj
-<< /Names [ (HD.2539) 3047 0 R (HD.254) 480 0 R (HD.2540) 3048 0 R (HD.2541) 3049 0 R (HD.2542) 3050 0 R (HD.2543) 3051 0 R (HD.2544) 3052 0 R (HD.2545) 3053 0 R (HD.2546) 3054 0 R (HD.2547) 3059 0 R (HD.2548) 3060 0 R (HD.2549) 3061 0 R (HD.255) 481 0 R (HD.2550) 3062 0 R (HD.2551) 3063 0 R (HD.2552) 3064 0 R (HD.2553) 3065 0 R (HD.2554) 3066 0 R (HD.2555) 3067 0 R (HD.2556) 3068 0 R (HD.2557) 3069 0 R (HD.2558) 3070 0 R (HD.2559) 3071 0 R (HD.256) 482 0 R (HD.2560) 3072 0 R (HD.2561) 3073 0 R (HD.2562) 3074 0 R (HD.2563) 3075 0 R (HD.2564) 3076 0 R (HD.2565) 3077 0 R (HD.2566) 3078 0 R (HD.2567) 3079 0 R ] /Limits [ (HD.2539) (HD.2567) ] >>
-endobj
-11454 0 obj
-<< /Names [ (HD.2568) 3080 0 R (HD.2569) 3081 0 R (HD.257) 483 0 R (HD.2570) 3082 0 R (HD.2571) 3083 0 R (HD.2572) 3084 0 R (HD.2573) 3085 0 R (HD.2574) 3086 0 R (HD.2575) 3087 0 R (HD.2576) 3088 0 R (HD.2577) 3089 0 R (HD.2578) 3090 0 R (HD.2579) 3091 0 R (HD.258) 484 0 R (HD.2580) 3092 0 R (HD.2581) 3093 0 R (HD.2582) 3094 0 R (HD.2583) 3095 0 R (HD.2584) 3096 0 R (HD.2585) 3097 0 R (HD.2586) 3098 0 R (HD.2587) 3099 0 R (HD.2588) 3100 0 R (HD.2589) 3101 0 R (HD.259) 485 0 R (HD.2590) 3102 0 R (HD.2591) 3103 0 R (HD.2592) 3104 0 R (HD.2593) 3105 0 R (HD.2594) 3110 0 R (HD.2595) 3111 0 R (HD.2596) 3112 0 R ] /Limits [ (HD.2568) (HD.2596) ] >>
-endobj
-11455 0 obj
-<< /Names [ (HD.2597) 3113 0 R (HD.2598) 3114 0 R (HD.2599) 3115 0 R (HD.26) 221 0 R (HD.260) 486 0 R (HD.2600) 3116 0 R (HD.2601) 3117 0 R (HD.2602) 3118 0 R (HD.2603) 3119 0 R (HD.2604) 3120 0 R (HD.2605) 3121 0 R (HD.2606) 3122 0 R (HD.2607) 3123 0 R (HD.2608) 3124 0 R (HD.2609) 3125 0 R (HD.261) 487 0 R (HD.2610) 3126 0 R (HD.2611) 3127 0 R (HD.2612) 3128 0 R (HD.2613) 3129 0 R (HD.2614) 3130 0 R (HD.2615) 3131 0 R (HD.2616) 3132 0 R (HD.2617) 3133 0 R (HD.2618) 3134 0 R (HD.2619) 3135 0 R (HD.262) 488 0 R (HD.2620) 3136 0 R (HD.2621) 3137 0 R (HD.2622) 3138 0 R (HD.2623) 3139 0 R (HD.2624) 3140 0 R ] /Limits [ (HD.2597) (HD.2624) ] >>
-endobj
-11456 0 obj
-<< /Names [ (HD.2625) 3141 0 R (HD.2626) 3142 0 R (HD.2627) 3143 0 R (HD.2628) 3144 0 R (HD.2629) 3145 0 R (HD.263) 489 0 R (HD.2630) 3146 0 R (HD.2631) 3147 0 R (HD.2632) 3148 0 R (HD.2633) 3149 0 R (HD.2634) 3150 0 R (HD.2635) 3151 0 R (HD.2636) 3152 0 R (HD.2637) 3153 0 R (HD.2638) 3154 0 R (HD.2639) 3155 0 R (HD.264) 490 0 R (HD.2640) 3156 0 R (HD.2641) 3157 0 R (HD.2642) 3158 0 R (HD.2643) 3159 0 R (HD.2644) 3160 0 R (HD.2645) 3161 0 R (HD.2646) 3162 0 R (HD.2647) 3163 0 R (HD.2648) 3164 0 R (HD.2649) 3165 0 R (HD.265) 491 0 R (HD.2650) 3166 0 R (HD.2651) 3171 0 R (HD.2652) 3172 0 R (HD.2653) 3173 0 R ] /Limits [ (HD.2625) (HD.2653) ] >>
-endobj
-11457 0 obj
-<< /Names [ (HD.2654) 3174 0 R (HD.2655) 3175 0 R (HD.2656) 3176 0 R (HD.2657) 3177 0 R (HD.2658) 3178 0 R (HD.2659) 3179 0 R (HD.266) 492 0 R (HD.2660) 3180 0 R (HD.2661) 3181 0 R (HD.2662) 3182 0 R (HD.2663) 3183 0 R (HD.2664) 3184 0 R (HD.2665) 3185 0 R (HD.2666) 3186 0 R (HD.2667) 3187 0 R (HD.2668) 3188 0 R (HD.2669) 3189 0 R (HD.267) 493 0 R (HD.2670) 3190 0 R (HD.2671) 3191 0 R (HD.2672) 3192 0 R (HD.2673) 3193 0 R (HD.2674) 3194 0 R (HD.2675) 3195 0 R (HD.2676) 3196 0 R (HD.2677) 3197 0 R (HD.2678) 3198 0 R (HD.2679) 3199 0 R (HD.268) 494 0 R (HD.2680) 3200 0 R (HD.2681) 3201 0 R (HD.2682) 3202 0 R ] /Limits [ (HD.2654) (HD.2682) ] >>
-endobj
-11458 0 obj
-<< /Names [ (HD.2683) 3203 0 R (HD.2684) 3204 0 R (HD.2685) 3205 0 R (HD.2686) 3206 0 R (HD.2687) 3207 0 R (HD.2688) 3208 0 R (HD.2689) 3209 0 R (HD.269) 495 0 R (HD.2690) 3210 0 R (HD.2691) 3211 0 R (HD.2692) 3212 0 R (HD.2693) 3213 0 R (HD.2694) 3214 0 R (HD.2695) 3215 0 R (HD.2696) 3216 0 R (HD.2697) 3217 0 R (HD.2698) 3218 0 R (HD.2699) 3219 0 R (HD.27) 222 0 R (HD.270) 496 0 R (HD.2700) 3220 0 R (HD.2701) 3221 0 R (HD.2702) 3222 0 R (HD.2703) 3227 0 R (HD.2704) 3228 0 R (HD.2705) 3229 0 R (HD.2706) 3230 0 R (HD.2707) 3231 0 R (HD.2708) 3232 0 R (HD.2709) 3233 0 R (HD.271) 497 0 R (HD.2710) 3234 0 R ] /Limits [ (HD.2683) (HD.2710) ] >>
-endobj
-11459 0 obj
-<< /Names [ (HD.2711) 3235 0 R (HD.2712) 3236 0 R (HD.2713) 3237 0 R (HD.2714) 3238 0 R (HD.2715) 3239 0 R (HD.2716) 3240 0 R (HD.2717) 3241 0 R (HD.2718) 3242 0 R (HD.2719) 3243 0 R (HD.272) 498 0 R (HD.2720) 3244 0 R (HD.2721) 3245 0 R (HD.2722) 3246 0 R (HD.2723) 3247 0 R (HD.2724) 3248 0 R (HD.2725) 3249 0 R (HD.2726) 3250 0 R (HD.2727) 3251 0 R (HD.2728) 3252 0 R (HD.2729) 3253 0 R (HD.273) 499 0 R (HD.2730) 3254 0 R (HD.2731) 3255 0 R (HD.2732) 3256 0 R (HD.2733) 3257 0 R (HD.2734) 3258 0 R (HD.2735) 3259 0 R (HD.2736) 3260 0 R (HD.2737) 3261 0 R (HD.2738) 3262 0 R (HD.2739) 3263 0 R (HD.274) 500 0 R ] /Limits [ (HD.2711) (HD.274) ] >>
-endobj
-11460 0 obj
-<< /Names [ (HD.2740) 3264 0 R (HD.2741) 3270 0 R (HD.2742) 3271 0 R (HD.2743) 3272 0 R (HD.2744) 3273 0 R (HD.2745) 3274 0 R (HD.2746) 3275 0 R (HD.2747) 3276 0 R (HD.2748) 3277 0 R (HD.2749) 3278 0 R (HD.275) 501 0 R (HD.2750) 3279 0 R (HD.2751) 3280 0 R (HD.2752) 3281 0 R (HD.2753) 3282 0 R (HD.2754) 3283 0 R (HD.2755) 3284 0 R (HD.2756) 3285 0 R (HD.2757) 3286 0 R (HD.2758) 3287 0 R (HD.2759) 3288 0 R (HD.276) 502 0 R (HD.2760) 3289 0 R (HD.2761) 3290 0 R (HD.2762) 3291 0 R (HD.2763) 3292 0 R (HD.2764) 3293 0 R (HD.2765) 3294 0 R (HD.2766) 3295 0 R (HD.2767) 3296 0 R (HD.2768) 3297 0 R (HD.2769) 3298 0 R ] /Limits [ (HD.2740) (HD.2769) ] >>
-endobj
-11461 0 obj
-<< /Names [ (HD.277) 503 0 R (HD.2770) 3299 0 R (HD.2771) 3300 0 R (HD.2772) 3301 0 R (HD.2773) 3302 0 R (HD.2774) 3303 0 R (HD.2775) 3304 0 R (HD.2776) 3305 0 R (HD.2777) 3310 0 R (HD.2778) 3311 0 R (HD.2779) 3312 0 R (HD.278) 504 0 R (HD.2780) 3313 0 R (HD.2781) 3314 0 R (HD.2782) 3315 0 R (HD.2783) 3316 0 R (HD.2784) 3317 0 R (HD.2785) 3318 0 R (HD.2786) 3319 0 R (HD.2787) 3320 0 R (HD.2788) 3321 0 R (HD.2789) 3322 0 R (HD.279) 505 0 R (HD.2790) 3323 0 R (HD.2791) 3324 0 R (HD.2792) 3325 0 R (HD.2793) 3326 0 R (HD.2794) 3327 0 R (HD.2795) 3328 0 R (HD.2796) 3329 0 R (HD.2797) 3330 0 R (HD.2798) 3331 0 R ] /Limits [ (HD.277) (HD.2798) ] >>
-endobj
-11462 0 obj
-<< /Names [ (HD.2799) 3332 0 R (HD.28) 223 0 R (HD.280) 506 0 R (HD.2800) 3333 0 R (HD.2801) 3334 0 R (HD.2802) 3335 0 R (HD.2803) 3336 0 R (HD.2804) 3337 0 R (HD.2805) 3338 0 R (HD.2806) 3339 0 R (HD.2807) 3340 0 R (HD.2808) 3341 0 R (HD.2809) 3342 0 R (HD.281) 507 0 R (HD.2810) 3343 0 R (HD.2811) 3344 0 R (HD.2812) 3345 0 R (HD.2813) 3346 0 R (HD.2814) 3347 0 R (HD.2815) 3348 0 R (HD.2816) 3349 0 R (HD.2817) 3350 0 R (HD.2818) 3351 0 R (HD.2819) 3352 0 R (HD.282) 508 0 R (HD.2820) 3353 0 R (HD.2821) 3354 0 R (HD.2822) 3359 0 R (HD.2823) 3360 0 R (HD.2824) 3361 0 R (HD.2825) 3362 0 R (HD.2826) 3363 0 R ] /Limits [ (HD.2799) (HD.2826) ] >>
-endobj
-11463 0 obj
-<< /Names [ (HD.2827) 3364 0 R (HD.2828) 3365 0 R (HD.2829) 3366 0 R (HD.283) 509 0 R (HD.2830) 3367 0 R (HD.2831) 3368 0 R (HD.2832) 3369 0 R (HD.2833) 3370 0 R (HD.2834) 3371 0 R (HD.2835) 3372 0 R (HD.2836) 3373 0 R (HD.2837) 3374 0 R (HD.2838) 3375 0 R (HD.2839) 3376 0 R (HD.284) 510 0 R (HD.2840) 3377 0 R (HD.2841) 3378 0 R (HD.2842) 3379 0 R (HD.2843) 3380 0 R (HD.2844) 3381 0 R (HD.2845) 3382 0 R (HD.2846) 3383 0 R (HD.2847) 3384 0 R (HD.2848) 3385 0 R (HD.2849) 3386 0 R (HD.285) 511 0 R (HD.2850) 3387 0 R (HD.2851) 3388 0 R (HD.2852) 3389 0 R (HD.2853) 3390 0 R (HD.2854) 3391 0 R (HD.2855) 3392 0 R ] /Limits [ (HD.2827) (HD.2855) ] >>
-endobj
-11464 0 obj
-<< /Names [ (HD.2856) 3393 0 R (HD.2857) 3394 0 R (HD.2858) 3395 0 R (HD.2859) 3396 0 R (HD.286) 512 0 R (HD.2860) 3397 0 R (HD.2861) 3398 0 R (HD.2862) 3399 0 R (HD.2863) 3400 0 R (HD.2864) 3401 0 R (HD.2865) 3402 0 R (HD.2866) 3403 0 R (HD.2867) 3404 0 R (HD.2868) 3405 0 R (HD.2869) 3406 0 R (HD.287) 513 0 R (HD.2870) 3407 0 R (HD.2871) 3408 0 R (HD.2872) 3409 0 R (HD.2873) 3410 0 R (HD.2874) 3411 0 R (HD.2875) 3416 0 R (HD.2876) 3417 0 R (HD.2877) 3418 0 R (HD.2878) 3419 0 R (HD.2879) 3420 0 R (HD.288) 514 0 R (HD.2880) 3421 0 R (HD.2881) 3422 0 R (HD.2882) 3423 0 R (HD.2883) 3424 0 R (HD.2884) 3425 0 R ] /Limits [ (HD.2856) (HD.2884) ] >>
-endobj
-11465 0 obj
-<< /Names [ (HD.2885) 3426 0 R (HD.2886) 3427 0 R (HD.2887) 3428 0 R (HD.2888) 3429 0 R (HD.2889) 3430 0 R (HD.289) 515 0 R (HD.2890) 3431 0 R (HD.2891) 3432 0 R (HD.2892) 3433 0 R (HD.2893) 3434 0 R (HD.2894) 3435 0 R (HD.2895) 3436 0 R (HD.2896) 3437 0 R (HD.2897) 3438 0 R (HD.2898) 3439 0 R (HD.2899) 3440 0 R (HD.29) 224 0 R (HD.290) 516 0 R (HD.2900) 3441 0 R (HD.2901) 3442 0 R (HD.2902) 3443 0 R (HD.2903) 3444 0 R (HD.2904) 3445 0 R (HD.2905) 3446 0 R (HD.2906) 3447 0 R (HD.2907) 3448 0 R (HD.2908) 3449 0 R (HD.2909) 3450 0 R (HD.291) 517 0 R (HD.2910) 3451 0 R (HD.2911) 3452 0 R (HD.2912) 3453 0 R ] /Limits [ (HD.2885) (HD.2912) ] >>
-endobj
-11466 0 obj
-<< /Names [ (HD.2913) 3454 0 R (HD.2914) 3455 0 R (HD.2915) 3456 0 R (HD.2916) 3457 0 R (HD.2917) 3458 0 R (HD.2918) 3459 0 R (HD.2919) 3460 0 R (HD.292) 518 0 R (HD.2920) 3461 0 R (HD.2921) 3462 0 R (HD.2922) 3463 0 R (HD.2923) 3464 0 R (HD.2924) 3465 0 R (HD.2925) 3470 0 R (HD.2926) 3471 0 R (HD.2927) 3472 0 R (HD.2928) 3473 0 R (HD.2929) 3474 0 R (HD.293) 519 0 R (HD.2930) 3475 0 R (HD.2931) 3476 0 R (HD.2932) 3477 0 R (HD.2933) 3478 0 R (HD.2934) 3479 0 R (HD.2935) 3480 0 R (HD.2936) 3481 0 R (HD.2937) 3482 0 R (HD.2938) 3483 0 R (HD.2939) 3484 0 R (HD.294) 524 0 R (HD.2940) 3485 0 R (HD.2941) 3486 0 R ] /Limits [ (HD.2913) (HD.2941) ] >>
-endobj
-11467 0 obj
-<< /Names [ (HD.2942) 3487 0 R (HD.2943) 3488 0 R (HD.2944) 3489 0 R (HD.2945) 3490 0 R (HD.2946) 3491 0 R (HD.2947) 3492 0 R (HD.2948) 3493 0 R (HD.2949) 3494 0 R (HD.295) 525 0 R (HD.2950) 3495 0 R (HD.2951) 3496 0 R (HD.2952) 3497 0 R (HD.2953) 3498 0 R (HD.2954) 3499 0 R (HD.2955) 3500 0 R (HD.2956) 3501 0 R (HD.2957) 3502 0 R (HD.2958) 3503 0 R (HD.2959) 3504 0 R (HD.296) 526 0 R (HD.2960) 3505 0 R (HD.2961) 3506 0 R (HD.2962) 3507 0 R (HD.2963) 3508 0 R (HD.2964) 3509 0 R (HD.2965) 3510 0 R (HD.2966) 3511 0 R (HD.2967) 3512 0 R (HD.2968) 3513 0 R (HD.2969) 3514 0 R (HD.297) 527 0 R (HD.2970) 3515 0 R ] /Limits [ (HD.2942) (HD.2970) ] >>
-endobj
-11468 0 obj
-<< /Names [ (HD.2971) 3516 0 R (HD.2972) 3517 0 R (HD.2973) 3518 0 R (HD.2974) 3523 0 R (HD.2975) 3524 0 R (HD.2976) 3525 0 R (HD.2977) 3526 0 R (HD.2978) 3527 0 R (HD.2979) 3528 0 R (HD.298) 528 0 R (HD.2980) 3529 0 R (HD.2981) 3530 0 R (HD.2982) 3531 0 R (HD.2983) 3532 0 R (HD.2984) 3533 0 R (HD.2985) 3534 0 R (HD.2986) 3535 0 R (HD.2987) 3536 0 R (HD.2988) 3537 0 R (HD.2989) 3538 0 R (HD.299) 529 0 R (HD.2990) 3539 0 R (HD.2991) 3540 0 R (HD.2992) 3541 0 R (HD.2993) 3542 0 R (HD.2994) 3543 0 R (HD.2995) 3544 0 R (HD.2996) 3545 0 R (HD.2997) 3546 0 R (HD.2998) 3547 0 R (HD.2999) 3548 0 R (HD.3) 191 0 R ] /Limits [ (HD.2971) (HD.3) ] >>
-endobj
-11469 0 obj
-<< /Names [ (HD.30) 225 0 R (HD.300) 530 0 R (HD.3000) 3549 0 R (HD.3001) 3550 0 R (HD.3002) 3551 0 R (HD.3003) 3552 0 R (HD.3004) 3553 0 R (HD.3005) 3554 0 R (HD.3006) 3555 0 R (HD.3007) 3556 0 R (HD.3008) 3557 0 R (HD.3009) 3558 0 R (HD.301) 531 0 R (HD.3010) 3559 0 R (HD.3011) 3560 0 R (HD.3012) 3561 0 R (HD.3013) 3562 0 R (HD.3014) 3563 0 R (HD.3015) 3564 0 R (HD.3016) 3569 0 R (HD.3017) 3570 0 R (HD.3018) 3571 0 R (HD.3019) 3572 0 R (HD.302) 532 0 R (HD.3020) 3573 0 R (HD.3021) 3574 0 R (HD.3022) 3575 0 R (HD.3023) 3576 0 R (HD.3024) 3577 0 R (HD.3025) 3578 0 R (HD.3026) 3579 0 R (HD.3027) 3580 0 R ] /Limits [ (HD.30) (HD.3027) ] >>
-endobj
-11470 0 obj
-<< /Names [ (HD.3028) 3581 0 R (HD.3029) 3582 0 R (HD.303) 533 0 R (HD.3030) 3583 0 R (HD.3031) 3584 0 R (HD.3032) 3585 0 R (HD.3033) 3586 0 R (HD.3034) 3587 0 R (HD.3035) 3588 0 R (HD.3036) 3589 0 R (HD.3037) 3590 0 R (HD.3038) 3591 0 R (HD.3039) 3592 0 R (HD.304) 534 0 R (HD.3040) 3593 0 R (HD.3041) 3594 0 R (HD.3042) 3595 0 R (HD.3043) 3596 0 R (HD.3044) 3597 0 R (HD.3045) 3598 0 R (HD.3046) 3599 0 R (HD.3047) 3600 0 R (HD.3048) 3601 0 R (HD.3049) 3602 0 R (HD.305) 535 0 R (HD.3050) 3603 0 R (HD.3051) 3604 0 R (HD.3052) 3605 0 R (HD.3053) 3606 0 R (HD.3054) 3607 0 R (HD.3055) 3608 0 R (HD.3056) 3609 0 R ] /Limits [ (HD.3028) (HD.3056) ] >>
-endobj
-11471 0 obj
-<< /Names [ (HD.3057) 3610 0 R (HD.3058) 3611 0 R (HD.3059) 3612 0 R (HD.306) 536 0 R (HD.3060) 3613 0 R (HD.3061) 3618 0 R (HD.3062) 3619 0 R (HD.3063) 3620 0 R (HD.3064) 3621 0 R (HD.3065) 3622 0 R (HD.3066) 3623 0 R (HD.3067) 3624 0 R (HD.3068) 3625 0 R (HD.3069) 3626 0 R (HD.307) 537 0 R (HD.3070) 3627 0 R (HD.3071) 3628 0 R (HD.3072) 3629 0 R (HD.3073) 3630 0 R (HD.3074) 3631 0 R (HD.3075) 3632 0 R (HD.3076) 3633 0 R (HD.3077) 3634 0 R (HD.3078) 3635 0 R (HD.3079) 3636 0 R (HD.308) 538 0 R (HD.3080) 3637 0 R (HD.3081) 3638 0 R (HD.3082) 3639 0 R (HD.3083) 3640 0 R (HD.3084) 3641 0 R (HD.3085) 3642 0 R ] /Limits [ (HD.3057) (HD.3085) ] >>
-endobj
-11472 0 obj
-<< /Names [ (HD.3086) 3643 0 R (HD.3087) 3644 0 R (HD.3088) 3645 0 R (HD.3089) 3646 0 R (HD.309) 540 0 R (HD.3090) 3647 0 R (HD.3091) 3648 0 R (HD.3092) 3649 0 R (HD.3093) 3650 0 R (HD.3094) 3651 0 R (HD.3095) 3652 0 R (HD.3096) 3653 0 R (HD.3097) 3654 0 R (HD.3098) 3655 0 R (HD.3099) 3656 0 R (HD.31) 226 0 R (HD.310) 541 0 R (HD.3100) 3657 0 R (HD.3101) 3658 0 R (HD.3102) 3659 0 R (HD.3103) 3660 0 R (HD.3104) 3661 0 R (HD.3105) 3662 0 R (HD.3106) 3667 0 R (HD.3107) 3668 0 R (HD.3108) 3669 0 R (HD.3109) 3670 0 R (HD.311) 542 0 R (HD.3110) 3671 0 R (HD.3111) 3672 0 R (HD.3112) 3673 0 R (HD.3113) 3674 0 R ] /Limits [ (HD.3086) (HD.3113) ] >>
-endobj
-11473 0 obj
-<< /Names [ (HD.3114) 3675 0 R (HD.3115) 3676 0 R (HD.3116) 3677 0 R (HD.3117) 3678 0 R (HD.3118) 3679 0 R (HD.3119) 3680 0 R (HD.312) 543 0 R (HD.3120) 3681 0 R (HD.3121) 3682 0 R (HD.3122) 3683 0 R (HD.3123) 3684 0 R (HD.3124) 3685 0 R (HD.3125) 3686 0 R (HD.3126) 3687 0 R (HD.3127) 3688 0 R (HD.3128) 3689 0 R (HD.3129) 3690 0 R (HD.313) 544 0 R (HD.3130) 3691 0 R (HD.3131) 3692 0 R (HD.3132) 3693 0 R (HD.3133) 3694 0 R (HD.3134) 3695 0 R (HD.3135) 3696 0 R (HD.3136) 3697 0 R (HD.3137) 3698 0 R (HD.3138) 3699 0 R (HD.3139) 3700 0 R (HD.314) 545 0 R (HD.3140) 3701 0 R (HD.3141) 3702 0 R (HD.3142) 3703 0 R ] /Limits [ (HD.3114) (HD.3142) ] >>
-endobj
-11474 0 obj
-<< /Names [ (HD.3143) 3704 0 R (HD.3144) 3705 0 R (HD.3145) 3706 0 R (HD.3146) 3707 0 R (HD.3147) 3708 0 R (HD.3148) 3709 0 R (HD.3149) 3710 0 R (HD.315) 546 0 R (HD.3150) 3711 0 R (HD.3151) 3712 0 R (HD.3152) 3713 0 R (HD.3153) 3714 0 R (HD.3154) 3715 0 R (HD.3155) 3716 0 R (HD.3156) 3717 0 R (HD.3157) 3718 0 R (HD.3158) 3719 0 R (HD.3159) 3720 0 R (HD.316) 547 0 R (HD.3160) 3725 0 R (HD.3161) 3726 0 R (HD.3162) 3727 0 R (HD.3163) 3728 0 R (HD.3164) 3729 0 R (HD.3165) 3730 0 R (HD.3166) 3731 0 R (HD.3167) 3732 0 R (HD.3168) 3733 0 R (HD.3169) 3734 0 R (HD.317) 552 0 R (HD.3170) 3735 0 R (HD.3171) 3736 0 R ] /Limits [ (HD.3143) (HD.3171) ] >>
-endobj
-11475 0 obj
-<< /Names [ (HD.3172) 3737 0 R (HD.3173) 3738 0 R (HD.3174) 3739 0 R (HD.3175) 3740 0 R (HD.3176) 3741 0 R (HD.3177) 3742 0 R (HD.3178) 3743 0 R (HD.3179) 3744 0 R (HD.318) 553 0 R (HD.3180) 3745 0 R (HD.3181) 3746 0 R (HD.3182) 3747 0 R (HD.3183) 3748 0 R (HD.3184) 3749 0 R (HD.3185) 3750 0 R (HD.3186) 3751 0 R (HD.3187) 3752 0 R (HD.3188) 3753 0 R (HD.3189) 3754 0 R (HD.319) 554 0 R (HD.3190) 3755 0 R (HD.3191) 3756 0 R (HD.3192) 3757 0 R (HD.3193) 3758 0 R (HD.3194) 3759 0 R (HD.3195) 3760 0 R (HD.3196) 3761 0 R (HD.3197) 3762 0 R (HD.3198) 3763 0 R (HD.3199) 3764 0 R (HD.32) 227 0 R (HD.320) 555 0 R ] /Limits [ (HD.3172) (HD.320) ] >>
-endobj
-11476 0 obj
-<< /Names [ (HD.3200) 3765 0 R (HD.3201) 3766 0 R (HD.3202) 3767 0 R (HD.3203) 3768 0 R (HD.3204) 3769 0 R (HD.3205) 3775 0 R (HD.3206) 3776 0 R (HD.3207) 3777 0 R (HD.3208) 3778 0 R (HD.3209) 3779 0 R (HD.321) 556 0 R (HD.3210) 3780 0 R (HD.3211) 3781 0 R (HD.3212) 3782 0 R (HD.3213) 3783 0 R (HD.3214) 3784 0 R (HD.3215) 3785 0 R (HD.3216) 3786 0 R (HD.3217) 3787 0 R (HD.3218) 3788 0 R (HD.3219) 3789 0 R (HD.322) 557 0 R (HD.3220) 3790 0 R (HD.3221) 3791 0 R (HD.3222) 3792 0 R (HD.3223) 3793 0 R (HD.3224) 3794 0 R (HD.3225) 3795 0 R (HD.3226) 3796 0 R (HD.3227) 3797 0 R (HD.3228) 3798 0 R (HD.3229) 3799 0 R ] /Limits [ (HD.3200) (HD.3229) ] >>
-endobj
-11477 0 obj
-<< /Names [ (HD.323) 558 0 R (HD.3230) 3800 0 R (HD.3231) 3801 0 R (HD.3232) 3802 0 R (HD.3233) 3803 0 R (HD.3234) 3804 0 R (HD.3235) 3805 0 R (HD.3236) 3806 0 R (HD.3237) 3807 0 R (HD.3238) 3808 0 R (HD.3239) 3809 0 R (HD.324) 559 0 R (HD.3240) 3810 0 R (HD.3241) 3815 0 R (HD.3242) 3816 0 R (HD.3243) 3817 0 R (HD.3244) 3818 0 R (HD.3245) 3819 0 R (HD.3246) 3820 0 R (HD.3247) 3821 0 R (HD.3248) 3822 0 R (HD.3249) 3823 0 R (HD.325) 560 0 R (HD.3250) 3824 0 R (HD.3251) 3825 0 R (HD.3252) 3826 0 R (HD.3253) 3827 0 R (HD.3254) 3828 0 R (HD.3255) 3829 0 R (HD.3256) 3830 0 R (HD.3257) 3831 0 R (HD.3258) 3832 0 R ] /Limits [ (HD.323) (HD.3258) ] >>
-endobj
-11478 0 obj
-<< /Names [ (HD.3259) 3833 0 R (HD.326) 561 0 R (HD.3260) 3834 0 R (HD.3261) 3835 0 R (HD.3262) 3836 0 R (HD.3263) 3837 0 R (HD.3264) 3838 0 R (HD.3265) 3839 0 R (HD.3266) 3840 0 R (HD.3267) 3841 0 R (HD.3268) 3842 0 R (HD.3269) 3843 0 R (HD.327) 562 0 R (HD.3270) 3844 0 R (HD.3271) 3845 0 R (HD.3272) 3846 0 R (HD.3273) 3847 0 R (HD.3274) 3848 0 R (HD.3275) 3849 0 R (HD.3276) 3850 0 R (HD.3277) 3851 0 R (HD.3278) 3852 0 R (HD.3279) 3853 0 R (HD.328) 563 0 R (HD.3280) 3854 0 R (HD.3281) 3859 0 R (HD.3282) 3860 0 R (HD.3283) 3861 0 R (HD.3284) 3862 0 R (HD.3285) 3863 0 R (HD.3286) 3864 0 R (HD.3287) 3865 0 R ] /Limits [ (HD.3259) (HD.3287) ] >>
-endobj
-11479 0 obj
-<< /Names [ (HD.3288) 3866 0 R (HD.3289) 3867 0 R (HD.329) 564 0 R (HD.3290) 3868 0 R (HD.3291) 3869 0 R (HD.3292) 3870 0 R (HD.3293) 3871 0 R (HD.3294) 3872 0 R (HD.3295) 3873 0 R (HD.3296) 3874 0 R (HD.3297) 3875 0 R (HD.3298) 3876 0 R (HD.3299) 3877 0 R (HD.33) 228 0 R (HD.330) 565 0 R (HD.3300) 3878 0 R (HD.3301) 3879 0 R (HD.3302) 3880 0 R (HD.3303) 3881 0 R (HD.3304) 3882 0 R (HD.3305) 3883 0 R (HD.3306) 3884 0 R (HD.3307) 3885 0 R (HD.3308) 3886 0 R (HD.3309) 3887 0 R (HD.331) 566 0 R (HD.3310) 3888 0 R (HD.3311) 3889 0 R (HD.3312) 3890 0 R (HD.3313) 3891 0 R (HD.3314) 3892 0 R (HD.3315) 3893 0 R ] /Limits [ (HD.3288) (HD.3315) ] >>
-endobj
-11480 0 obj
-<< /Names [ (HD.3316) 3894 0 R (HD.3317) 3895 0 R (HD.3318) 3896 0 R (HD.3319) 3897 0 R (HD.332) 571 0 R (HD.3320) 3898 0 R (HD.3321) 3899 0 R (HD.3322) 3900 0 R (HD.3323) 3901 0 R (HD.3324) 3902 0 R (HD.3325) 3903 0 R (HD.3326) 3904 0 R (HD.3327) 3905 0 R (HD.3328) 3906 0 R (HD.3329) 3907 0 R (HD.333) 572 0 R (HD.3330) 3908 0 R (HD.3331) 3909 0 R (HD.3332) 3910 0 R (HD.3333) 3915 0 R (HD.3334) 3916 0 R (HD.3335) 3917 0 R (HD.3336) 3918 0 R (HD.3337) 3919 0 R (HD.3338) 3920 0 R (HD.3339) 3921 0 R (HD.334) 573 0 R (HD.3340) 3922 0 R (HD.3341) 3923 0 R (HD.3342) 3924 0 R (HD.3343) 3925 0 R (HD.3344) 3926 0 R ] /Limits [ (HD.3316) (HD.3344) ] >>
-endobj
-11481 0 obj
-<< /Names [ (HD.3345) 3927 0 R (HD.3346) 3928 0 R (HD.3347) 3929 0 R (HD.3348) 3930 0 R (HD.3349) 3931 0 R (HD.335) 574 0 R (HD.3350) 3932 0 R (HD.3351) 3933 0 R (HD.3352) 3934 0 R (HD.3353) 3935 0 R (HD.3354) 3936 0 R (HD.3355) 3937 0 R (HD.3356) 3938 0 R (HD.3357) 3939 0 R (HD.3358) 3940 0 R (HD.3359) 3941 0 R (HD.336) 575 0 R (HD.3360) 3942 0 R (HD.3361) 3943 0 R (HD.3362) 3944 0 R (HD.3363) 3945 0 R (HD.3364) 3946 0 R (HD.3365) 3947 0 R (HD.3366) 3948 0 R (HD.3367) 3949 0 R (HD.3368) 3950 0 R (HD.3369) 3951 0 R (HD.337) 576 0 R (HD.3370) 3952 0 R (HD.3371) 3953 0 R (HD.3372) 3954 0 R (HD.3373) 3955 0 R ] /Limits [ (HD.3345) (HD.3373) ] >>
-endobj
-11482 0 obj
-<< /Names [ (HD.3374) 3956 0 R (HD.3375) 3957 0 R (HD.3376) 3958 0 R (HD.3377) 3959 0 R (HD.3378) 3960 0 R (HD.3379) 3961 0 R (HD.338) 577 0 R (HD.3380) 3962 0 R (HD.3381) 3963 0 R (HD.3382) 3964 0 R (HD.3383) 3965 0 R (HD.3384) 3966 0 R (HD.3385) 3971 0 R (HD.3386) 3972 0 R (HD.3387) 3973 0 R (HD.3388) 3974 0 R (HD.3389) 3975 0 R (HD.339) 578 0 R (HD.3390) 3976 0 R (HD.3391) 3977 0 R (HD.3392) 3978 0 R (HD.3393) 3979 0 R (HD.3394) 3980 0 R (HD.3395) 3981 0 R (HD.3396) 3982 0 R (HD.3397) 3983 0 R (HD.3398) 3984 0 R (HD.3399) 3985 0 R (HD.34) 229 0 R (HD.340) 579 0 R (HD.3400) 3986 0 R (HD.3401) 3987 0 R ] /Limits [ (HD.3374) (HD.3401) ] >>
-endobj
-11483 0 obj
-<< /Names [ (HD.3402) 3988 0 R (HD.3403) 3989 0 R (HD.3404) 3990 0 R (HD.3405) 3991 0 R (HD.3406) 3992 0 R (HD.3407) 3993 0 R (HD.3408) 3994 0 R (HD.3409) 3995 0 R (HD.341) 580 0 R (HD.3410) 3996 0 R (HD.3411) 3997 0 R (HD.3412) 3998 0 R (HD.3413) 3999 0 R (HD.3414) 4000 0 R (HD.3415) 4001 0 R (HD.3416) 4002 0 R (HD.3417) 4003 0 R (HD.3418) 4004 0 R (HD.3419) 4005 0 R (HD.342) 581 0 R (HD.3420) 4006 0 R (HD.3421) 4007 0 R (HD.3422) 4008 0 R (HD.3423) 4009 0 R (HD.3424) 4010 0 R (HD.3425) 4011 0 R (HD.3426) 4012 0 R (HD.3427) 4013 0 R (HD.3428) 4014 0 R (HD.3429) 4015 0 R (HD.343) 582 0 R (HD.3430) 4016 0 R ] /Limits [ (HD.3402) (HD.3430) ] >>
-endobj
-11484 0 obj
-<< /Names [ (HD.3431) 4017 0 R (HD.3432) 4018 0 R (HD.3433) 4019 0 R (HD.3434) 4020 0 R (HD.3435) 4021 0 R (HD.3436) 4022 0 R (HD.3437) 4023 0 R (HD.3438) 4024 0 R (HD.3439) 4029 0 R (HD.344) 583 0 R (HD.3440) 4030 0 R (HD.3441) 4031 0 R (HD.3442) 4032 0 R (HD.3443) 4033 0 R (HD.3444) 4034 0 R (HD.3445) 4035 0 R (HD.3446) 4036 0 R (HD.3447) 4037 0 R (HD.3448) 4038 0 R (HD.3449) 4039 0 R (HD.345) 584 0 R (HD.3450) 4040 0 R (HD.3451) 4041 0 R (HD.3452) 4042 0 R (HD.3453) 4043 0 R (HD.3454) 4044 0 R (HD.3455) 4045 0 R (HD.3456) 4046 0 R (HD.3457) 4047 0 R (HD.3458) 4048 0 R (HD.3459) 4049 0 R (HD.346) 585 0 R ] /Limits [ (HD.3431) (HD.346) ] >>
-endobj
-11485 0 obj
-<< /Names [ (HD.3460) 4050 0 R (HD.3461) 4051 0 R (HD.3462) 4052 0 R (HD.3463) 4053 0 R (HD.3464) 4054 0 R (HD.3465) 4055 0 R (HD.3466) 4056 0 R (HD.3467) 4057 0 R (HD.3468) 4058 0 R (HD.3469) 4059 0 R (HD.347) 586 0 R (HD.3470) 4060 0 R (HD.3471) 4061 0 R (HD.3472) 4062 0 R (HD.3473) 4063 0 R (HD.3474) 4064 0 R (HD.3475) 4065 0 R (HD.3476) 4066 0 R (HD.3477) 4067 0 R (HD.3478) 4068 0 R (HD.3479) 4069 0 R (HD.348) 592 0 R (HD.3480) 4070 0 R (HD.3481) 4071 0 R (HD.3482) 4072 0 R (HD.3483) 4073 0 R (HD.3484) 4074 0 R (HD.3485) 4075 0 R (HD.3486) 4076 0 R (HD.3487) 4077 0 R (HD.3488) 4078 0 R (HD.3489) 4079 0 R ] /Limits [ (HD.3460) (HD.3489) ] >>
-endobj
-11486 0 obj
-<< /Names [ (HD.349) 593 0 R (HD.3490) 4080 0 R (HD.3491) 4081 0 R (HD.3492) 4082 0 R (HD.3493) 4087 0 R (HD.3494) 4088 0 R (HD.3495) 4089 0 R (HD.3496) 4090 0 R (HD.3497) 4091 0 R (HD.3498) 4092 0 R (HD.3499) 4093 0 R (HD.35) 230 0 R (HD.350) 594 0 R (HD.3500) 4094 0 R (HD.3501) 4095 0 R (HD.3502) 4096 0 R (HD.3503) 4097 0 R (HD.3504) 4098 0 R (HD.3505) 4099 0 R (HD.3506) 4100 0 R (HD.3507) 4101 0 R (HD.3508) 4102 0 R (HD.3509) 4103 0 R (HD.351) 595 0 R (HD.3510) 4104 0 R (HD.3511) 4105 0 R (HD.3512) 4106 0 R (HD.3513) 4107 0 R (HD.3514) 4108 0 R (HD.3515) 4109 0 R (HD.3516) 4110 0 R (HD.3517) 4111 0 R ] /Limits [ (HD.349) (HD.3517) ] >>
-endobj
-11487 0 obj
-<< /Names [ (HD.3518) 4112 0 R (HD.3519) 4113 0 R (HD.352) 596 0 R (HD.3520) 4114 0 R (HD.3521) 4115 0 R (HD.3522) 4116 0 R (HD.3523) 4117 0 R (HD.3524) 4118 0 R (HD.3525) 4119 0 R (HD.3526) 4120 0 R (HD.3527) 4121 0 R (HD.3528) 4122 0 R (HD.3529) 4123 0 R (HD.353) 597 0 R (HD.3530) 4124 0 R (HD.3531) 4125 0 R (HD.3532) 4126 0 R (HD.3533) 4127 0 R (HD.3534) 4128 0 R (HD.3535) 4129 0 R (HD.3536) 4130 0 R (HD.3537) 4131 0 R (HD.3538) 4132 0 R (HD.3539) 4137 0 R (HD.354) 598 0 R (HD.3540) 4138 0 R (HD.3541) 4139 0 R (HD.3542) 4140 0 R (HD.3543) 4141 0 R (HD.3544) 4142 0 R (HD.3545) 4143 0 R (HD.3546) 4144 0 R ] /Limits [ (HD.3518) (HD.3546) ] >>
-endobj
-11488 0 obj
-<< /Names [ (HD.3547) 4145 0 R (HD.3548) 4146 0 R (HD.3549) 4147 0 R (HD.355) 599 0 R (HD.3550) 4148 0 R (HD.3551) 4149 0 R (HD.3552) 4150 0 R (HD.3553) 4151 0 R (HD.3554) 4152 0 R (HD.3555) 4153 0 R (HD.3556) 4154 0 R (HD.3557) 4155 0 R (HD.3558) 4156 0 R (HD.3559) 4157 0 R (HD.356) 600 0 R (HD.3560) 4158 0 R (HD.3561) 4159 0 R (HD.3562) 4160 0 R (HD.3563) 4161 0 R (HD.3564) 4162 0 R (HD.3565) 4163 0 R (HD.3566) 4164 0 R (HD.3567) 4165 0 R (HD.3568) 4166 0 R (HD.3569) 4167 0 R (HD.357) 601 0 R (HD.3570) 4168 0 R (HD.3571) 4169 0 R (HD.3572) 4170 0 R (HD.3573) 4171 0 R (HD.3574) 4172 0 R (HD.3575) 4173 0 R ] /Limits [ (HD.3547) (HD.3575) ] >>
-endobj
-11489 0 obj
-<< /Names [ (HD.3576) 4174 0 R (HD.3577) 4175 0 R (HD.3578) 4176 0 R (HD.3579) 4177 0 R (HD.358) 602 0 R (HD.3580) 4178 0 R (HD.3581) 4179 0 R (HD.3582) 4180 0 R (HD.3583) 4181 0 R (HD.3584) 4182 0 R (HD.3585) 4183 0 R (HD.3586) 4188 0 R (HD.3587) 4189 0 R (HD.3588) 4190 0 R (HD.3589) 4191 0 R (HD.359) 603 0 R (HD.3590) 4192 0 R (HD.3591) 4193 0 R (HD.3592) 4194 0 R (HD.3593) 4195 0 R (HD.3594) 4196 0 R (HD.3595) 4197 0 R (HD.3596) 4198 0 R (HD.3597) 4199 0 R (HD.3598) 4200 0 R (HD.3599) 4201 0 R (HD.36) 231 0 R (HD.360) 604 0 R (HD.3600) 4202 0 R (HD.3601) 4203 0 R (HD.3602) 4204 0 R (HD.3603) 4205 0 R ] /Limits [ (HD.3576) (HD.3603) ] >>
-endobj
-11490 0 obj
-<< /Names [ (HD.3604) 4206 0 R (HD.3605) 4207 0 R (HD.3606) 4208 0 R (HD.3607) 4209 0 R (HD.3608) 4210 0 R (HD.3609) 4211 0 R (HD.361) 605 0 R (HD.3610) 4212 0 R (HD.3611) 4213 0 R (HD.3612) 4214 0 R (HD.3613) 4215 0 R (HD.3614) 4216 0 R (HD.3615) 4217 0 R (HD.3616) 4218 0 R (HD.3617) 4219 0 R (HD.3618) 4220 0 R (HD.3619) 4221 0 R (HD.362) 606 0 R (HD.3620) 4222 0 R (HD.3621) 4223 0 R (HD.3622) 4224 0 R (HD.3623) 4225 0 R (HD.3624) 4226 0 R (HD.3625) 4227 0 R (HD.3626) 4228 0 R (HD.3627) 4229 0 R (HD.3628) 4230 0 R (HD.3629) 4231 0 R (HD.363) 607 0 R (HD.3630) 4232 0 R (HD.3631) 4233 0 R (HD.3632) 4234 0 R ] /Limits [ (HD.3604) (HD.3632) ] >>
-endobj
-11491 0 obj
-<< /Names [ (HD.3633) 4235 0 R (HD.3634) 4236 0 R (HD.3635) 4237 0 R (HD.3636) 4238 0 R (HD.3637) 4239 0 R (HD.3638) 4240 0 R (HD.3639) 4245 0 R (HD.364) 608 0 R (HD.3640) 4246 0 R (HD.3641) 4247 0 R (HD.3642) 4248 0 R (HD.3643) 4249 0 R (HD.3644) 4250 0 R (HD.3645) 4251 0 R (HD.3646) 4252 0 R (HD.3647) 4253 0 R (HD.3648) 4254 0 R (HD.3649) 4255 0 R (HD.365) 609 0 R (HD.3650) 4256 0 R (HD.3651) 4257 0 R (HD.3652) 4258 0 R (HD.3653) 4259 0 R (HD.3654) 4260 0 R (HD.3655) 4261 0 R (HD.3656) 4262 0 R (HD.3657) 4263 0 R (HD.3658) 4264 0 R (HD.3659) 4265 0 R (HD.366) 610 0 R (HD.3660) 4266 0 R (HD.3661) 4267 0 R ] /Limits [ (HD.3633) (HD.3661) ] >>
-endobj
-11492 0 obj
-<< /Names [ (HD.3662) 4268 0 R (HD.3663) 4269 0 R (HD.3664) 4270 0 R (HD.3665) 4271 0 R (HD.3666) 4272 0 R (HD.3667) 4273 0 R (HD.3668) 4274 0 R (HD.3669) 4275 0 R (HD.367) 611 0 R (HD.3670) 4276 0 R (HD.3671) 4277 0 R (HD.3672) 4278 0 R (HD.3673) 4279 0 R (HD.3674) 4280 0 R (HD.3675) 4281 0 R (HD.3676) 4282 0 R (HD.3677) 4283 0 R (HD.3678) 4284 0 R (HD.3679) 4285 0 R (HD.368) 612 0 R (HD.3680) 4286 0 R (HD.3681) 4287 0 R (HD.3682) 4288 0 R (HD.3683) 4289 0 R (HD.3684) 4290 0 R (HD.3685) 4291 0 R (HD.3686) 4292 0 R (HD.3687) 4293 0 R (HD.3688) 4294 0 R (HD.3689) 4295 0 R (HD.369) 613 0 R (HD.3690) 4296 0 R ] /Limits [ (HD.3662) (HD.3690) ] >>
-endobj
-11493 0 obj
-<< /Names [ (HD.3691) 4297 0 R (HD.3692) 4303 0 R (HD.3693) 4304 0 R (HD.3694) 4305 0 R (HD.3695) 4306 0 R (HD.3696) 4307 0 R (HD.3697) 4308 0 R (HD.3698) 4309 0 R (HD.3699) 4310 0 R (HD.37) 232 0 R (HD.370) 614 0 R (HD.3700) 4311 0 R (HD.3701) 4312 0 R (HD.3702) 4313 0 R (HD.3703) 4314 0 R (HD.3704) 4315 0 R (HD.3705) 4316 0 R (HD.3706) 4317 0 R (HD.3707) 4318 0 R (HD.3708) 4319 0 R (HD.3709) 4320 0 R (HD.371) 615 0 R (HD.3710) 4321 0 R (HD.3711) 4322 0 R (HD.3712) 4323 0 R (HD.3713) 4324 0 R (HD.3714) 4325 0 R (HD.3715) 4326 0 R (HD.3716) 4327 0 R (HD.3717) 4328 0 R (HD.3718) 4329 0 R (HD.3719) 4330 0 R ] /Limits [ (HD.3691) (HD.3719) ] >>
-endobj
-11494 0 obj
-<< /Names [ (HD.372) 620 0 R (HD.3720) 4331 0 R (HD.3721) 4332 0 R (HD.3722) 4333 0 R (HD.3723) 4334 0 R (HD.3724) 4335 0 R (HD.3725) 4336 0 R (HD.3726) 4337 0 R (HD.3727) 4338 0 R (HD.3728) 4339 0 R (HD.3729) 4340 0 R (HD.373) 621 0 R (HD.3730) 4341 0 R (HD.3731) 4342 0 R (HD.3732) 4343 0 R (HD.3733) 4344 0 R (HD.3734) 4345 0 R (HD.3735) 4346 0 R (HD.3736) 4347 0 R (HD.3737) 4348 0 R (HD.3738) 4349 0 R (HD.3739) 4350 0 R (HD.374) 622 0 R (HD.3740) 4351 0 R (HD.3741) 4352 0 R (HD.3742) 4353 0 R (HD.3743) 4358 0 R (HD.3744) 4359 0 R (HD.3745) 4360 0 R (HD.3746) 4361 0 R (HD.3747) 4362 0 R (HD.3748) 4363 0 R ] /Limits [ (HD.372) (HD.3748) ] >>
-endobj
-11495 0 obj
-<< /Names [ (HD.3749) 4364 0 R (HD.375) 623 0 R (HD.3750) 4365 0 R (HD.3751) 4366 0 R (HD.3752) 4367 0 R (HD.3753) 4368 0 R (HD.3754) 4369 0 R (HD.3755) 4370 0 R (HD.3756) 4371 0 R (HD.3757) 4372 0 R (HD.3758) 4373 0 R (HD.3759) 4374 0 R (HD.376) 624 0 R (HD.3760) 4375 0 R (HD.3761) 4376 0 R (HD.3762) 4377 0 R (HD.3763) 4378 0 R (HD.3764) 4379 0 R (HD.3765) 4380 0 R (HD.3766) 4381 0 R (HD.3767) 4382 0 R (HD.3768) 4383 0 R (HD.3769) 4384 0 R (HD.377) 625 0 R (HD.3770) 4385 0 R (HD.3771) 4386 0 R (HD.3772) 4387 0 R (HD.3773) 4388 0 R (HD.3774) 4389 0 R (HD.3775) 4390 0 R (HD.3776) 4391 0 R (HD.3777) 4392 0 R ] /Limits [ (HD.3749) (HD.3777) ] >>
-endobj
-11496 0 obj
-<< /Names [ (HD.3778) 4393 0 R (HD.3779) 4394 0 R (HD.378) 626 0 R (HD.3780) 4395 0 R (HD.3781) 4396 0 R (HD.3782) 4397 0 R (HD.3783) 4398 0 R (HD.3784) 4399 0 R (HD.3785) 4400 0 R (HD.3786) 4401 0 R (HD.3787) 4407 0 R (HD.3788) 4408 0 R (HD.3789) 4409 0 R (HD.379) 627 0 R (HD.3790) 4410 0 R (HD.3791) 4411 0 R (HD.3792) 4412 0 R (HD.3793) 4413 0 R (HD.3794) 4414 0 R (HD.3795) 4415 0 R (HD.3796) 4416 0 R (HD.3797) 4417 0 R (HD.3798) 4418 0 R (HD.3799) 4419 0 R (HD.38) 233 0 R (HD.380) 628 0 R (HD.3800) 4420 0 R (HD.3801) 4421 0 R (HD.3802) 4422 0 R (HD.3803) 4423 0 R (HD.3804) 4424 0 R (HD.3805) 4425 0 R ] /Limits [ (HD.3778) (HD.3805) ] >>
-endobj
-11497 0 obj
-<< /Names [ (HD.3806) 4426 0 R (HD.3807) 4427 0 R (HD.3808) 4428 0 R (HD.3809) 4429 0 R (HD.381) 629 0 R (HD.3810) 4430 0 R (HD.3811) 4431 0 R (HD.3812) 4432 0 R (HD.3813) 4433 0 R (HD.3814) 4434 0 R (HD.3815) 4435 0 R (HD.3816) 4436 0 R (HD.3817) 4437 0 R (HD.3818) 4438 0 R (HD.3819) 4439 0 R (HD.382) 630 0 R (HD.3820) 4441 0 R (HD.3821) 4442 0 R (HD.3822) 4443 0 R (HD.3823) 4444 0 R (HD.3824) 4445 0 R (HD.3825) 4446 0 R (HD.3826) 4447 0 R (HD.3827) 4448 0 R (HD.3828) 4449 0 R (HD.3829) 4450 0 R (HD.383) 631 0 R (HD.3830) 4451 0 R (HD.3831) 4452 0 R (HD.3832) 4453 0 R (HD.3833) 4460 0 R (HD.3834) 4461 0 R ] /Limits [ (HD.3806) (HD.3834) ] >>
-endobj
-11498 0 obj
-<< /Names [ (HD.3835) 4462 0 R (HD.3836) 4463 0 R (HD.3837) 4464 0 R (HD.3838) 4465 0 R (HD.3839) 4466 0 R (HD.384) 632 0 R (HD.3840) 4467 0 R (HD.3841) 4468 0 R (HD.3842) 4469 0 R (HD.3843) 4470 0 R (HD.3844) 4471 0 R (HD.3845) 4472 0 R (HD.3846) 4473 0 R (HD.3847) 4474 0 R (HD.3848) 4475 0 R (HD.3849) 4476 0 R (HD.385) 633 0 R (HD.3850) 4477 0 R (HD.3851) 4478 0 R (HD.3852) 4479 0 R (HD.3853) 4480 0 R (HD.3854) 4481 0 R (HD.3855) 4482 0 R (HD.3856) 4483 0 R (HD.3857) 4484 0 R (HD.3858) 4485 0 R (HD.3859) 4486 0 R (HD.386) 634 0 R (HD.3860) 4487 0 R (HD.3861) 4488 0 R (HD.3862) 4489 0 R (HD.3863) 4490 0 R ] /Limits [ (HD.3835) (HD.3863) ] >>
-endobj
-11499 0 obj
-<< /Names [ (HD.3864) 4491 0 R (HD.3865) 4492 0 R (HD.3866) 4493 0 R (HD.3867) 4494 0 R (HD.3868) 4495 0 R (HD.3869) 4496 0 R (HD.387) 635 0 R (HD.3870) 4502 0 R (HD.3871) 4503 0 R (HD.3872) 4504 0 R (HD.3873) 4505 0 R (HD.3874) 4506 0 R (HD.3875) 4507 0 R (HD.3876) 4508 0 R (HD.3877) 4509 0 R (HD.3878) 4510 0 R (HD.3879) 4511 0 R (HD.388) 636 0 R (HD.3880) 4512 0 R (HD.3881) 4513 0 R (HD.3882) 4514 0 R (HD.3883) 4515 0 R (HD.3884) 4516 0 R (HD.3885) 4517 0 R (HD.3886) 4518 0 R (HD.3887) 4519 0 R (HD.3888) 4520 0 R (HD.3889) 4521 0 R (HD.389) 637 0 R (HD.3890) 4522 0 R (HD.3891) 4523 0 R (HD.3892) 4524 0 R ] /Limits [ (HD.3864) (HD.3892) ] >>
-endobj
-11500 0 obj
-<< /Names [ (HD.3893) 4525 0 R (HD.3894) 4526 0 R (HD.3895) 4527 0 R (HD.3896) 4528 0 R (HD.3897) 4529 0 R (HD.3898) 4530 0 R (HD.3899) 4531 0 R (HD.39) 234 0 R (HD.390) 639 0 R (HD.3900) 4532 0 R (HD.3901) 4533 0 R (HD.3902) 4540 0 R (HD.3903) 4541 0 R (HD.3904) 4542 0 R (HD.3905) 4543 0 R (HD.3906) 4544 0 R (HD.3907) 4545 0 R (HD.3908) 4546 0 R (HD.3909) 4547 0 R (HD.391) 645 0 R (HD.3910) 4548 0 R (HD.3911) 4549 0 R (HD.3912) 4550 0 R (HD.3913) 4551 0 R (HD.3914) 4552 0 R (HD.3915) 4553 0 R (HD.3916) 4554 0 R (HD.3917) 4555 0 R (HD.3918) 4556 0 R (HD.3919) 4557 0 R (HD.392) 646 0 R (HD.3920) 4558 0 R ] /Limits [ (HD.3893) (HD.3920) ] >>
-endobj
-11501 0 obj
-<< /Names [ (HD.3921) 4559 0 R (HD.3922) 4560 0 R (HD.3923) 4561 0 R (HD.3924) 4562 0 R (HD.3925) 4563 0 R (HD.3926) 4564 0 R (HD.3927) 4565 0 R (HD.3928) 4566 0 R (HD.3929) 4567 0 R (HD.393) 647 0 R (HD.3930) 4568 0 R (HD.3931) 4569 0 R (HD.3932) 4570 0 R (HD.3933) 4571 0 R (HD.3934) 4572 0 R (HD.3935) 4573 0 R (HD.3936) 4574 0 R (HD.3937) 4575 0 R (HD.3938) 4576 0 R (HD.3939) 4577 0 R (HD.394) 648 0 R (HD.3940) 4578 0 R (HD.3941) 4579 0 R (HD.3942) 4580 0 R (HD.3943) 4581 0 R (HD.3944) 4582 0 R (HD.3945) 4583 0 R (HD.3946) 4584 0 R (HD.3947) 4585 0 R (HD.3948) 4590 0 R (HD.3949) 4591 0 R (HD.395) 649 0 R ] /Limits [ (HD.3921) (HD.395) ] >>
-endobj
-11502 0 obj
-<< /Names [ (HD.3950) 4592 0 R (HD.3951) 4593 0 R (HD.3952) 4594 0 R (HD.3953) 4595 0 R (HD.3954) 4596 0 R (HD.3955) 4597 0 R (HD.3956) 4598 0 R (HD.3957) 4599 0 R (HD.3958) 4600 0 R (HD.3959) 4601 0 R (HD.396) 651 0 R (HD.3960) 4602 0 R (HD.3961) 4603 0 R (HD.3962) 4604 0 R (HD.3963) 4605 0 R (HD.3964) 4606 0 R (HD.3965) 4607 0 R (HD.3966) 4608 0 R (HD.3967) 4609 0 R (HD.3968) 4610 0 R (HD.3969) 4611 0 R (HD.397) 652 0 R (HD.3970) 4612 0 R (HD.3971) 4613 0 R (HD.3972) 4614 0 R (HD.3973) 4615 0 R (HD.3974) 4616 0 R (HD.3975) 4617 0 R (HD.3976) 4618 0 R (HD.3977) 4619 0 R (HD.3978) 4620 0 R (HD.3979) 4621 0 R ] /Limits [ (HD.3950) (HD.3979) ] >>
-endobj
-11503 0 obj
-<< /Names [ (HD.398) 653 0 R (HD.3980) 4622 0 R (HD.3981) 4623 0 R (HD.3982) 4624 0 R (HD.3983) 4625 0 R (HD.3984) 4626 0 R (HD.3985) 4627 0 R (HD.3986) 4628 0 R (HD.3987) 4629 0 R (HD.3988) 4630 0 R (HD.3989) 4631 0 R (HD.399) 654 0 R (HD.3990) 4632 0 R (HD.3991) 4633 0 R (HD.3992) 4634 0 R (HD.3993) 4635 0 R (HD.3994) 4636 0 R (HD.3995) 4637 0 R (HD.3996) 4638 0 R (HD.3997) 4639 0 R (HD.3998) 4640 0 R (HD.3999) 4645 0 R (HD.4) 192 0 R (HD.40) 235 0 R (HD.400) 655 0 R (HD.4000) 4646 0 R (HD.4001) 4647 0 R (HD.4002) 4648 0 R (HD.4003) 4649 0 R (HD.4004) 4650 0 R (HD.4005) 4651 0 R (HD.4006) 4652 0 R ] /Limits [ (HD.398) (HD.4006) ] >>
-endobj
-11504 0 obj
-<< /Names [ (HD.4007) 4653 0 R (HD.4008) 4654 0 R (HD.4009) 4655 0 R (HD.401) 656 0 R (HD.4010) 4656 0 R (HD.4011) 4657 0 R (HD.4012) 4658 0 R (HD.4013) 4659 0 R (HD.4014) 4660 0 R (HD.4015) 4661 0 R (HD.4016) 4662 0 R (HD.4017) 4663 0 R (HD.4018) 4664 0 R (HD.4019) 4665 0 R (HD.402) 657 0 R (HD.4020) 4666 0 R (HD.4021) 4667 0 R (HD.4022) 4668 0 R (HD.4023) 4673 0 R (HD.4024) 4674 0 R (HD.4025) 4675 0 R (HD.4026) 4676 0 R (HD.4027) 4677 0 R (HD.4028) 4678 0 R (HD.4029) 4679 0 R (HD.403) 658 0 R (HD.4030) 4680 0 R (HD.4031) 4681 0 R (HD.4032) 4682 0 R (HD.4033) 4683 0 R (HD.4034) 4684 0 R (HD.4035) 4685 0 R ] /Limits [ (HD.4007) (HD.4035) ] >>
-endobj
-11505 0 obj
-<< /Names [ (HD.4036) 4686 0 R (HD.4037) 4687 0 R (HD.4038) 4688 0 R (HD.4039) 4689 0 R (HD.404) 659 0 R (HD.4040) 4690 0 R (HD.4041) 4691 0 R (HD.4042) 4692 0 R (HD.4043) 4693 0 R (HD.4044) 4694 0 R (HD.4045) 4695 0 R (HD.4046) 4696 0 R (HD.4047) 4697 0 R (HD.4048) 4698 0 R (HD.4049) 4699 0 R (HD.405) 660 0 R (HD.4050) 4700 0 R (HD.4051) 4701 0 R (HD.4052) 4702 0 R (HD.4053) 4703 0 R (HD.4054) 4704 0 R (HD.4055) 4705 0 R (HD.4056) 4706 0 R (HD.4057) 4707 0 R (HD.4058) 4708 0 R (HD.4059) 4709 0 R (HD.406) 661 0 R (HD.4060) 4710 0 R (HD.4061) 4711 0 R (HD.4062) 4712 0 R (HD.4063) 4713 0 R (HD.4064) 4714 0 R ] /Limits [ (HD.4036) (HD.4064) ] >>
-endobj
-11506 0 obj
-<< /Names [ (HD.4065) 4715 0 R (HD.4066) 4716 0 R (HD.4067) 4717 0 R (HD.4068) 4718 0 R (HD.4069) 4719 0 R (HD.407) 662 0 R (HD.4070) 4720 0 R (HD.4071) 4721 0 R (HD.4072) 4722 0 R (HD.4073) 4723 0 R (HD.4074) 4728 0 R (HD.4075) 4729 0 R (HD.4076) 4730 0 R (HD.4077) 4731 0 R (HD.4078) 4732 0 R (HD.4079) 4733 0 R (HD.408) 667 0 R (HD.4080) 4734 0 R (HD.4081) 4735 0 R (HD.4082) 4736 0 R (HD.4083) 4737 0 R (HD.4084) 4738 0 R (HD.4085) 4739 0 R (HD.4086) 4740 0 R (HD.4087) 4741 0 R (HD.4088) 4742 0 R (HD.4089) 4743 0 R (HD.409) 668 0 R (HD.4090) 4744 0 R (HD.4091) 4745 0 R (HD.4092) 4746 0 R (HD.4093) 4747 0 R ] /Limits [ (HD.4065) (HD.4093) ] >>
-endobj
-11507 0 obj
-<< /Names [ (HD.4094) 4748 0 R (HD.4095) 4749 0 R (HD.4096) 4750 0 R (HD.4097) 4751 0 R (HD.4098) 4752 0 R (HD.4099) 4753 0 R (HD.41) 236 0 R (HD.410) 669 0 R (HD.4100) 4754 0 R (HD.4101) 4755 0 R (HD.4102) 4756 0 R (HD.4103) 4757 0 R (HD.4104) 4758 0 R (HD.4105) 4759 0 R (HD.4106) 4760 0 R (HD.4107) 4761 0 R (HD.4108) 4762 0 R (HD.4109) 4763 0 R (HD.411) 670 0 R (HD.4110) 4764 0 R (HD.4111) 4765 0 R (HD.4112) 4766 0 R (HD.4113) 4767 0 R (HD.4114) 4768 0 R (HD.4115) 4769 0 R (HD.4116) 4770 0 R (HD.4117) 4771 0 R (HD.4118) 4772 0 R (HD.4119) 4773 0 R (HD.412) 671 0 R (HD.4120) 4774 0 R (HD.4121) 4775 0 R ] /Limits [ (HD.4094) (HD.4121) ] >>
-endobj
-11508 0 obj
-<< /Names [ (HD.4122) 4776 0 R (HD.4123) 4777 0 R (HD.4124) 4778 0 R (HD.4125) 4779 0 R (HD.4126) 4780 0 R (HD.4127) 4781 0 R (HD.4128) 4782 0 R (HD.4129) 4783 0 R (HD.413) 672 0 R (HD.4130) 4784 0 R (HD.4131) 4785 0 R (HD.4132) 4786 0 R (HD.4133) 4787 0 R (HD.4134) 4788 0 R (HD.4135) 4794 0 R (HD.4136) 4795 0 R (HD.4137) 4796 0 R (HD.4138) 4797 0 R (HD.4139) 4798 0 R (HD.414) 673 0 R (HD.4140) 4799 0 R (HD.4141) 4800 0 R (HD.4142) 4801 0 R (HD.4143) 4802 0 R (HD.4144) 4803 0 R (HD.4145) 4804 0 R (HD.4146) 4805 0 R (HD.4147) 4806 0 R (HD.4148) 4807 0 R (HD.4149) 4808 0 R (HD.415) 674 0 R (HD.4150) 4809 0 R ] /Limits [ (HD.4122) (HD.4150) ] >>
-endobj
-11509 0 obj
-<< /Names [ (HD.4151) 4810 0 R (HD.4152) 4811 0 R (HD.4153) 4812 0 R (HD.4154) 4813 0 R (HD.4155) 4814 0 R (HD.4156) 4815 0 R (HD.4157) 4816 0 R (HD.4158) 4817 0 R (HD.4159) 4818 0 R (HD.416) 675 0 R (HD.4160) 4819 0 R (HD.4161) 4820 0 R (HD.4162) 4821 0 R (HD.4163) 4822 0 R (HD.4164) 4823 0 R (HD.4165) 4824 0 R (HD.4166) 4825 0 R (HD.4167) 4826 0 R (HD.4168) 4827 0 R (HD.4169) 4828 0 R (HD.417) 676 0 R (HD.4170) 4829 0 R (HD.4171) 4830 0 R (HD.4172) 4831 0 R (HD.4173) 4836 0 R (HD.4174) 4837 0 R (HD.4175) 4838 0 R (HD.4176) 4839 0 R (HD.4177) 4840 0 R (HD.4178) 4841 0 R (HD.4179) 4842 0 R (HD.418) 677 0 R ] /Limits [ (HD.4151) (HD.418) ] >>
-endobj
-11510 0 obj
-<< /Names [ (HD.4180) 4843 0 R (HD.4181) 4844 0 R (HD.4182) 4845 0 R (HD.4183) 4846 0 R (HD.4184) 4847 0 R (HD.4185) 4848 0 R (HD.4186) 4849 0 R (HD.4187) 4850 0 R (HD.4188) 4851 0 R (HD.4189) 4852 0 R (HD.419) 678 0 R (HD.4190) 4853 0 R (HD.4191) 4854 0 R (HD.4192) 4855 0 R (HD.4193) 4856 0 R (HD.4194) 4857 0 R (HD.4195) 4858 0 R (HD.4196) 4859 0 R (HD.4197) 4860 0 R (HD.4198) 4861 0 R (HD.4199) 4862 0 R (HD.42) 237 0 R (HD.420) 679 0 R (HD.4200) 4863 0 R (HD.4201) 4864 0 R (HD.4202) 4865 0 R (HD.4203) 4866 0 R (HD.4204) 4867 0 R (HD.4205) 4868 0 R (HD.4206) 4869 0 R (HD.4207) 4870 0 R (HD.4208) 4871 0 R ] /Limits [ (HD.4180) (HD.4208) ] >>
-endobj
-11511 0 obj
-<< /Names [ (HD.4209) 4872 0 R (HD.421) 684 0 R (HD.4210) 4873 0 R (HD.4211) 4874 0 R (HD.4212) 4875 0 R (HD.4213) 4876 0 R (HD.4214) 4877 0 R (HD.4215) 4878 0 R (HD.4216) 4879 0 R (HD.4217) 4880 0 R (HD.4218) 4881 0 R (HD.4219) 4882 0 R (HD.422) 685 0 R (HD.4220) 4883 0 R (HD.4221) 4884 0 R (HD.4222) 4885 0 R (HD.4223) 4886 0 R (HD.4224) 4887 0 R (HD.4225) 4888 0 R (HD.4226) 4889 0 R (HD.4227) 4890 0 R (HD.4228) 4891 0 R (HD.4229) 4892 0 R (HD.423) 686 0 R (HD.4230) 4893 0 R (HD.4231) 4894 0 R (HD.4232) 4895 0 R (HD.4233) 4896 0 R (HD.4234) 4897 0 R (HD.4235) 4902 0 R (HD.4236) 4903 0 R (HD.4237) 4904 0 R ] /Limits [ (HD.4209) (HD.4237) ] >>
-endobj
-11512 0 obj
-<< /Names [ (HD.4238) 4905 0 R (HD.4239) 4906 0 R (HD.424) 687 0 R (HD.4240) 4907 0 R (HD.4241) 4908 0 R (HD.4242) 4909 0 R (HD.4243) 4910 0 R (HD.4244) 4911 0 R (HD.4245) 4912 0 R (HD.4246) 4913 0 R (HD.4247) 4914 0 R (HD.4248) 4915 0 R (HD.4249) 4916 0 R (HD.425) 688 0 R (HD.4250) 4917 0 R (HD.4251) 4918 0 R (HD.4252) 4919 0 R (HD.4253) 4920 0 R (HD.4254) 4921 0 R (HD.4255) 4922 0 R (HD.4256) 4923 0 R (HD.4257) 4924 0 R (HD.4258) 4925 0 R (HD.4259) 4926 0 R (HD.426) 689 0 R (HD.4260) 4927 0 R (HD.4261) 4928 0 R (HD.4262) 4929 0 R (HD.4263) 4930 0 R (HD.4264) 4931 0 R (HD.4265) 4932 0 R (HD.4266) 4933 0 R ] /Limits [ (HD.4238) (HD.4266) ] >>
-endobj
-11513 0 obj
-<< /Names [ (HD.4267) 4934 0 R (HD.4268) 4935 0 R (HD.4269) 4936 0 R (HD.427) 690 0 R (HD.4270) 4937 0 R (HD.4271) 4938 0 R (HD.4272) 4939 0 R (HD.4273) 4940 0 R (HD.4274) 4941 0 R (HD.4275) 4942 0 R (HD.4276) 4943 0 R (HD.4277) 4944 0 R (HD.4278) 4945 0 R (HD.4279) 4946 0 R (HD.428) 691 0 R (HD.4280) 4947 0 R (HD.4281) 4948 0 R (HD.4282) 4949 0 R (HD.4283) 4950 0 R (HD.4284) 4951 0 R (HD.4285) 4952 0 R (HD.4286) 4957 0 R (HD.4287) 4958 0 R (HD.4288) 4959 0 R (HD.4289) 4960 0 R (HD.429) 692 0 R (HD.4290) 4961 0 R (HD.4291) 4962 0 R (HD.4292) 4963 0 R (HD.4293) 4964 0 R (HD.4294) 4965 0 R (HD.4295) 4966 0 R ] /Limits [ (HD.4267) (HD.4295) ] >>
-endobj
-11514 0 obj
-<< /Names [ (HD.4296) 4967 0 R (HD.4297) 4968 0 R (HD.4298) 4969 0 R (HD.4299) 4970 0 R (HD.43) 238 0 R (HD.430) 693 0 R (HD.4300) 4971 0 R (HD.4301) 4972 0 R (HD.4302) 4973 0 R (HD.4303) 4974 0 R (HD.4304) 4975 0 R (HD.4305) 4976 0 R (HD.4306) 4977 0 R (HD.4307) 4978 0 R (HD.4308) 4979 0 R (HD.4309) 4980 0 R (HD.431) 694 0 R (HD.4310) 4981 0 R (HD.4311) 4982 0 R (HD.4312) 4983 0 R (HD.4313) 4984 0 R (HD.4314) 4985 0 R (HD.4315) 4986 0 R (HD.4316) 4987 0 R (HD.4317) 4988 0 R (HD.4318) 4989 0 R (HD.4319) 4990 0 R (HD.432) 695 0 R (HD.4320) 4991 0 R (HD.4321) 4992 0 R (HD.4322) 4993 0 R (HD.4323) 4994 0 R ] /Limits [ (HD.4296) (HD.4323) ] >>
-endobj
-11515 0 obj
-<< /Names [ (HD.4324) 4999 0 R (HD.4325) 5000 0 R (HD.4326) 5001 0 R (HD.4327) 5002 0 R (HD.4328) 5003 0 R (HD.4329) 5004 0 R (HD.433) 696 0 R (HD.4330) 5005 0 R (HD.4331) 5006 0 R (HD.4332) 5007 0 R (HD.4333) 5008 0 R (HD.4334) 5009 0 R (HD.4335) 5010 0 R (HD.4336) 5011 0 R (HD.4337) 5012 0 R (HD.4338) 5013 0 R (HD.4339) 5014 0 R (HD.434) 697 0 R (HD.4340) 5015 0 R (HD.4341) 5016 0 R (HD.4342) 5017 0 R (HD.4343) 5018 0 R (HD.4344) 5019 0 R (HD.4345) 5020 0 R (HD.4346) 5021 0 R (HD.4347) 5022 0 R (HD.4348) 5023 0 R (HD.4349) 5024 0 R (HD.435) 698 0 R (HD.4350) 5025 0 R (HD.4351) 5026 0 R (HD.4352) 5027 0 R ] /Limits [ (HD.4324) (HD.4352) ] >>
-endobj
-11516 0 obj
-<< /Names [ (HD.4353) 5028 0 R (HD.4354) 5029 0 R (HD.4355) 5030 0 R (HD.4356) 5031 0 R (HD.4357) 5032 0 R (HD.4358) 5033 0 R (HD.4359) 5034 0 R (HD.436) 699 0 R (HD.4360) 5035 0 R (HD.4361) 5036 0 R (HD.4362) 5037 0 R (HD.4363) 5038 0 R (HD.4364) 5039 0 R (HD.4365) 5040 0 R (HD.4366) 5041 0 R (HD.4367) 5042 0 R (HD.4368) 5043 0 R (HD.4369) 5048 0 R (HD.437) 700 0 R (HD.4370) 5049 0 R (HD.4371) 5050 0 R (HD.4372) 5051 0 R (HD.4373) 5052 0 R (HD.4374) 5053 0 R (HD.4375) 5054 0 R (HD.4376) 5055 0 R (HD.4377) 5056 0 R (HD.4378) 5057 0 R (HD.4379) 5058 0 R (HD.438) 701 0 R (HD.4380) 5059 0 R (HD.4381) 5060 0 R ] /Limits [ (HD.4353) (HD.4381) ] >>
-endobj
-11517 0 obj
-<< /Names [ (HD.4382) 5061 0 R (HD.4383) 5062 0 R (HD.4384) 5063 0 R (HD.4385) 5064 0 R (HD.4386) 5065 0 R (HD.4387) 5066 0 R (HD.4388) 5067 0 R (HD.4389) 5068 0 R (HD.439) 702 0 R (HD.4390) 5069 0 R (HD.4391) 5070 0 R (HD.4392) 5071 0 R (HD.4393) 5072 0 R (HD.4394) 5073 0 R (HD.4395) 5074 0 R (HD.4396) 5075 0 R (HD.4397) 5076 0 R (HD.4398) 5077 0 R (HD.4399) 5078 0 R (HD.44) 239 0 R (HD.440) 703 0 R (HD.4400) 5079 0 R (HD.4401) 5080 0 R (HD.4402) 5081 0 R (HD.4403) 5082 0 R (HD.4404) 5083 0 R (HD.4405) 5084 0 R (HD.4406) 5085 0 R (HD.4407) 5086 0 R (HD.4408) 5087 0 R (HD.4409) 5088 0 R (HD.441) 704 0 R ] /Limits [ (HD.4382) (HD.441) ] >>
-endobj
-11518 0 obj
-<< /Names [ (HD.4410) 5089 0 R (HD.4411) 5090 0 R (HD.4412) 5091 0 R (HD.4413) 5092 0 R (HD.4414) 5093 0 R (HD.4415) 5094 0 R (HD.4416) 5095 0 R (HD.4417) 5096 0 R (HD.4418) 5097 0 R (HD.4419) 5098 0 R (HD.442) 705 0 R (HD.4420) 5099 0 R (HD.4421) 5100 0 R (HD.4422) 5101 0 R (HD.4423) 5102 0 R (HD.4424) 5103 0 R (HD.4425) 5104 0 R (HD.4426) 5105 0 R (HD.4427) 5110 0 R (HD.4428) 5111 0 R (HD.4429) 5112 0 R (HD.443) 706 0 R (HD.4430) 5113 0 R (HD.4431) 5114 0 R (HD.4432) 5115 0 R (HD.4433) 5116 0 R (HD.4434) 5117 0 R (HD.4435) 5118 0 R (HD.4436) 5119 0 R (HD.4437) 5120 0 R (HD.4438) 5121 0 R (HD.4439) 5122 0 R ] /Limits [ (HD.4410) (HD.4439) ] >>
-endobj
-11519 0 obj
-<< /Names [ (HD.444) 712 0 R (HD.4440) 5123 0 R (HD.4441) 5124 0 R (HD.4442) 5125 0 R (HD.4443) 5126 0 R (HD.4444) 5127 0 R (HD.4445) 5128 0 R (HD.4446) 5129 0 R (HD.4447) 5130 0 R (HD.4448) 5131 0 R (HD.4449) 5132 0 R (HD.445) 713 0 R (HD.4450) 5133 0 R (HD.4451) 5134 0 R (HD.4452) 5135 0 R (HD.4453) 5136 0 R (HD.4454) 5137 0 R (HD.4455) 5138 0 R (HD.4456) 5139 0 R (HD.4457) 5140 0 R (HD.4458) 5141 0 R (HD.4459) 5142 0 R (HD.446) 714 0 R (HD.4460) 5143 0 R (HD.4461) 5144 0 R (HD.4462) 5145 0 R (HD.4463) 5146 0 R (HD.4464) 5147 0 R (HD.4465) 5148 0 R (HD.4466) 5149 0 R (HD.4467) 5150 0 R (HD.4468) 5155 0 R ] /Limits [ (HD.444) (HD.4468) ] >>
-endobj
-11520 0 obj
-<< /Names [ (HD.4469) 5156 0 R (HD.447) 715 0 R (HD.4470) 5157 0 R (HD.4471) 5158 0 R (HD.4472) 5159 0 R (HD.4473) 5160 0 R (HD.4474) 5161 0 R (HD.4475) 5162 0 R (HD.4476) 5163 0 R (HD.4477) 5164 0 R (HD.4478) 5165 0 R (HD.4479) 5166 0 R (HD.448) 716 0 R (HD.4480) 5167 0 R (HD.4481) 5168 0 R (HD.4482) 5169 0 R (HD.4483) 5170 0 R (HD.4484) 5171 0 R (HD.4485) 5172 0 R (HD.4486) 5173 0 R (HD.4487) 5174 0 R (HD.4488) 5175 0 R (HD.4489) 5176 0 R (HD.449) 717 0 R (HD.4490) 5177 0 R (HD.4491) 5178 0 R (HD.4492) 5179 0 R (HD.4493) 5180 0 R (HD.4494) 5181 0 R (HD.4495) 5182 0 R (HD.4496) 5183 0 R (HD.4497) 5184 0 R ] /Limits [ (HD.4469) (HD.4497) ] >>
-endobj
-11521 0 obj
-<< /Names [ (HD.4498) 5185 0 R (HD.4499) 5186 0 R (HD.45) 240 0 R (HD.450) 718 0 R (HD.4500) 5187 0 R (HD.4501) 5188 0 R (HD.4502) 5189 0 R (HD.4503) 5190 0 R (HD.4504) 5191 0 R (HD.4505) 5192 0 R (HD.4506) 5193 0 R (HD.4507) 5194 0 R (HD.4508) 5195 0 R (HD.4509) 5196 0 R (HD.451) 719 0 R (HD.4510) 5197 0 R (HD.4511) 5198 0 R (HD.4512) 5199 0 R (HD.4513) 5200 0 R (HD.4514) 5205 0 R (HD.4515) 5206 0 R (HD.4516) 5207 0 R (HD.4517) 5208 0 R (HD.4518) 5209 0 R (HD.4519) 5210 0 R (HD.452) 720 0 R (HD.4520) 5211 0 R (HD.4521) 5212 0 R (HD.4522) 5213 0 R (HD.4523) 5214 0 R (HD.4524) 5215 0 R (HD.4525) 5216 0 R ] /Limits [ (HD.4498) (HD.4525) ] >>
-endobj
-11522 0 obj
-<< /Names [ (HD.4526) 5217 0 R (HD.4527) 5218 0 R (HD.4528) 5219 0 R (HD.4529) 5220 0 R (HD.453) 721 0 R (HD.4530) 5221 0 R (HD.4531) 5222 0 R (HD.4532) 5223 0 R (HD.4533) 5224 0 R (HD.4534) 5225 0 R (HD.4535) 5226 0 R (HD.4536) 5227 0 R (HD.4537) 5228 0 R (HD.4538) 5229 0 R (HD.4539) 5230 0 R (HD.454) 722 0 R (HD.4540) 5231 0 R (HD.4541) 5232 0 R (HD.4542) 5233 0 R (HD.4543) 5234 0 R (HD.4544) 5235 0 R (HD.4545) 5236 0 R (HD.4546) 5237 0 R (HD.4547) 5238 0 R (HD.4548) 5239 0 R (HD.4549) 5240 0 R (HD.455) 723 0 R (HD.4550) 5241 0 R (HD.4551) 5242 0 R (HD.4552) 5243 0 R (HD.4553) 5244 0 R (HD.4554) 5245 0 R ] /Limits [ (HD.4526) (HD.4554) ] >>
-endobj
-11523 0 obj
-<< /Names [ (HD.4555) 5250 0 R (HD.4556) 5251 0 R (HD.4557) 5252 0 R (HD.4558) 5253 0 R (HD.4559) 5254 0 R (HD.456) 724 0 R (HD.4560) 5255 0 R (HD.4561) 5256 0 R (HD.4562) 5257 0 R (HD.4563) 5258 0 R (HD.4564) 5259 0 R (HD.4565) 5260 0 R (HD.4566) 5261 0 R (HD.4567) 5262 0 R (HD.4568) 5263 0 R (HD.4569) 5264 0 R (HD.457) 725 0 R (HD.4570) 5265 0 R (HD.4571) 5266 0 R (HD.4572) 5267 0 R (HD.4573) 5268 0 R (HD.4574) 5269 0 R (HD.4575) 5270 0 R (HD.4576) 5271 0 R (HD.4577) 5272 0 R (HD.4578) 5273 0 R (HD.4579) 5274 0 R (HD.458) 727 0 R (HD.4580) 5275 0 R (HD.4581) 5276 0 R (HD.4582) 5277 0 R (HD.4583) 5278 0 R ] /Limits [ (HD.4555) (HD.4583) ] >>
-endobj
-11524 0 obj
-<< /Names [ (HD.4584) 5279 0 R (HD.4585) 5280 0 R (HD.4586) 5281 0 R (HD.4587) 5282 0 R (HD.4588) 5283 0 R (HD.4589) 5284 0 R (HD.459) 728 0 R (HD.4590) 5285 0 R (HD.4591) 5286 0 R (HD.4592) 5287 0 R (HD.4593) 5288 0 R (HD.4594) 5289 0 R (HD.4595) 5290 0 R (HD.4596) 5291 0 R (HD.4597) 5292 0 R (HD.4598) 5293 0 R (HD.4599) 5299 0 R (HD.46) 241 0 R (HD.460) 729 0 R (HD.4600) 5300 0 R (HD.4601) 5301 0 R (HD.4602) 5302 0 R (HD.4603) 5303 0 R (HD.4604) 5304 0 R (HD.4605) 5305 0 R (HD.4606) 5306 0 R (HD.4607) 5307 0 R (HD.4608) 5308 0 R (HD.4609) 5309 0 R (HD.461) 730 0 R (HD.4610) 5310 0 R (HD.4611) 5311 0 R ] /Limits [ (HD.4584) (HD.4611) ] >>
-endobj
-11525 0 obj
-<< /Names [ (HD.4612) 5312 0 R (HD.4613) 5313 0 R (HD.4614) 5314 0 R (HD.4615) 5315 0 R (HD.4616) 5316 0 R (HD.4617) 5317 0 R (HD.4618) 5318 0 R (HD.4619) 5319 0 R (HD.462) 731 0 R (HD.4620) 5320 0 R (HD.4621) 5321 0 R (HD.4622) 5322 0 R (HD.4623) 5323 0 R (HD.4624) 5324 0 R (HD.4625) 5325 0 R (HD.4626) 5326 0 R (HD.4627) 5327 0 R (HD.4628) 5328 0 R (HD.4629) 5333 0 R (HD.463) 732 0 R (HD.4630) 5334 0 R (HD.4631) 5335 0 R (HD.4632) 5336 0 R (HD.4633) 5337 0 R (HD.4634) 5338 0 R (HD.4635) 5339 0 R (HD.4636) 5340 0 R (HD.4637) 5341 0 R (HD.4638) 5342 0 R (HD.4639) 5343 0 R (HD.464) 737 0 R (HD.4640) 5344 0 R ] /Limits [ (HD.4612) (HD.4640) ] >>
-endobj
-11526 0 obj
-<< /Names [ (HD.4641) 5345 0 R (HD.4642) 5346 0 R (HD.4643) 5347 0 R (HD.4644) 5348 0 R (HD.4645) 5349 0 R (HD.4646) 5350 0 R (HD.4647) 5351 0 R (HD.4648) 5352 0 R (HD.4649) 5353 0 R (HD.465) 738 0 R (HD.4650) 5354 0 R (HD.4651) 5355 0 R (HD.4652) 5356 0 R (HD.4653) 5357 0 R (HD.4654) 5358 0 R (HD.4655) 5359 0 R (HD.4656) 5360 0 R (HD.4657) 5361 0 R (HD.4658) 5362 0 R (HD.4659) 5363 0 R (HD.466) 739 0 R (HD.4660) 5364 0 R (HD.4661) 5365 0 R (HD.4662) 5366 0 R (HD.4663) 5367 0 R (HD.4664) 5368 0 R (HD.4665) 5369 0 R (HD.4666) 5370 0 R (HD.4667) 5371 0 R (HD.4668) 5372 0 R (HD.4669) 5373 0 R (HD.467) 740 0 R ] /Limits [ (HD.4641) (HD.467) ] >>
-endobj
-11527 0 obj
-<< /Names [ (HD.4670) 5374 0 R (HD.4671) 5375 0 R (HD.4672) 5376 0 R (HD.4673) 5377 0 R (HD.4674) 5378 0 R (HD.4675) 5383 0 R (HD.4676) 5384 0 R (HD.4677) 5385 0 R (HD.4678) 5386 0 R (HD.4679) 5387 0 R (HD.468) 741 0 R (HD.4680) 5388 0 R (HD.4681) 5389 0 R (HD.4682) 5390 0 R (HD.4683) 5391 0 R (HD.4684) 5392 0 R (HD.4685) 5393 0 R (HD.4686) 5394 0 R (HD.4687) 5395 0 R (HD.4688) 5396 0 R (HD.4689) 5397 0 R (HD.469) 742 0 R (HD.4690) 5398 0 R (HD.4691) 5399 0 R (HD.4692) 5400 0 R (HD.4693) 5401 0 R (HD.4694) 5402 0 R (HD.4695) 5403 0 R (HD.4696) 5404 0 R (HD.4697) 5405 0 R (HD.4698) 5406 0 R (HD.4699) 5407 0 R ] /Limits [ (HD.4670) (HD.4699) ] >>
-endobj
-11528 0 obj
-<< /Names [ (HD.47) 242 0 R (HD.470) 743 0 R (HD.4700) 5408 0 R (HD.4701) 5409 0 R (HD.4702) 5410 0 R (HD.4703) 5411 0 R (HD.4704) 5412 0 R (HD.4705) 5413 0 R (HD.4706) 5414 0 R (HD.4707) 5415 0 R (HD.4708) 5416 0 R (HD.4709) 5417 0 R (HD.471) 744 0 R (HD.4710) 5418 0 R (HD.4711) 5419 0 R (HD.4712) 5420 0 R (HD.4713) 5421 0 R (HD.4714) 5422 0 R (HD.4715) 5423 0 R (HD.4716) 5424 0 R (HD.4717) 5425 0 R (HD.4718) 5426 0 R (HD.4719) 5427 0 R (HD.472) 745 0 R (HD.4720) 5428 0 R (HD.4721) 5429 0 R (HD.4722) 5430 0 R (HD.4723) 5431 0 R (HD.4724) 5432 0 R (HD.4725) 5433 0 R (HD.4726) 5434 0 R (HD.4727) 5435 0 R ] /Limits [ (HD.47) (HD.4727) ] >>
-endobj
-11529 0 obj
-<< /Names [ (HD.4728) 5440 0 R (HD.4729) 5441 0 R (HD.473) 746 0 R (HD.4730) 5442 0 R (HD.4731) 5443 0 R (HD.4732) 5444 0 R (HD.4733) 5445 0 R (HD.4734) 5446 0 R (HD.4735) 5447 0 R (HD.4736) 5448 0 R (HD.4737) 5449 0 R (HD.4738) 5450 0 R (HD.4739) 5451 0 R (HD.474) 747 0 R (HD.4740) 5452 0 R (HD.4741) 5453 0 R (HD.4742) 5454 0 R (HD.4743) 5455 0 R (HD.4744) 5456 0 R (HD.4745) 5457 0 R (HD.4746) 5458 0 R (HD.4747) 5459 0 R (HD.4748) 5460 0 R (HD.4749) 5461 0 R (HD.475) 748 0 R (HD.4750) 5462 0 R (HD.4751) 5463 0 R (HD.4752) 5464 0 R (HD.4753) 5465 0 R (HD.4754) 5466 0 R (HD.4755) 5467 0 R (HD.4756) 5468 0 R ] /Limits [ (HD.4728) (HD.4756) ] >>
-endobj
-11530 0 obj
-<< /Names [ (HD.4757) 5469 0 R (HD.4758) 5470 0 R (HD.4759) 5471 0 R (HD.476) 749 0 R (HD.4760) 5472 0 R (HD.4761) 5473 0 R (HD.4762) 5474 0 R (HD.4763) 5475 0 R (HD.4764) 5476 0 R (HD.4765) 5477 0 R (HD.4766) 5478 0 R (HD.4767) 5479 0 R (HD.4768) 5480 0 R (HD.4769) 5481 0 R (HD.477) 750 0 R (HD.4770) 5482 0 R (HD.4771) 5483 0 R (HD.4772) 5484 0 R (HD.4773) 5485 0 R (HD.4774) 5486 0 R (HD.4775) 5487 0 R (HD.4776) 5488 0 R (HD.4777) 5493 0 R (HD.4778) 5494 0 R (HD.4779) 5495 0 R (HD.478) 751 0 R (HD.4780) 5496 0 R (HD.4781) 5497 0 R (HD.4782) 5498 0 R (HD.4783) 5499 0 R (HD.4784) 5500 0 R (HD.4785) 5501 0 R ] /Limits [ (HD.4757) (HD.4785) ] >>
-endobj
-11531 0 obj
-<< /Names [ (HD.4786) 5502 0 R (HD.4787) 5503 0 R (HD.4788) 5504 0 R (HD.4789) 5505 0 R (HD.479) 752 0 R (HD.4790) 5506 0 R (HD.4791) 5507 0 R (HD.4792) 5508 0 R (HD.4793) 5509 0 R (HD.4794) 5510 0 R (HD.4795) 5511 0 R (HD.4796) 5512 0 R (HD.4797) 5513 0 R (HD.4798) 5514 0 R (HD.4799) 5515 0 R (HD.48) 243 0 R (HD.480) 753 0 R (HD.4800) 5516 0 R (HD.4801) 5517 0 R (HD.4802) 5518 0 R (HD.4803) 5519 0 R (HD.4804) 5520 0 R (HD.4805) 5521 0 R (HD.4806) 5522 0 R (HD.4807) 5523 0 R (HD.4808) 5524 0 R (HD.4809) 5525 0 R (HD.481) 764 0 R (HD.4810) 5526 0 R (HD.4811) 5527 0 R (HD.4812) 5528 0 R (HD.4813) 5529 0 R ] /Limits [ (HD.4786) (HD.4813) ] >>
-endobj
-11532 0 obj
-<< /Names [ (HD.4814) 5530 0 R (HD.4815) 5531 0 R (HD.4816) 5532 0 R (HD.4817) 5533 0 R (HD.4818) 5534 0 R (HD.4819) 5535 0 R (HD.482) 765 0 R (HD.4820) 5536 0 R (HD.4821) 5537 0 R (HD.4822) 5538 0 R (HD.4823) 5539 0 R (HD.4824) 5540 0 R (HD.4825) 5541 0 R (HD.4826) 5542 0 R (HD.4827) 5543 0 R (HD.4828) 5544 0 R (HD.4829) 5545 0 R (HD.483) 766 0 R (HD.4830) 5546 0 R (HD.4831) 5547 0 R (HD.4832) 5548 0 R (HD.4833) 5549 0 R (HD.4834) 5550 0 R (HD.4835) 5551 0 R (HD.4836) 5552 0 R (HD.4837) 5553 0 R (HD.4838) 5554 0 R (HD.4839) 5559 0 R (HD.484) 767 0 R (HD.4840) 5560 0 R (HD.4841) 5561 0 R (HD.4842) 5562 0 R ] /Limits [ (HD.4814) (HD.4842) ] >>
-endobj
-11533 0 obj
-<< /Names [ (HD.4843) 5563 0 R (HD.4844) 5564 0 R (HD.4845) 5565 0 R (HD.4846) 5566 0 R (HD.4847) 5567 0 R (HD.4848) 5568 0 R (HD.4849) 5569 0 R (HD.485) 768 0 R (HD.4850) 5570 0 R (HD.4851) 5571 0 R (HD.4852) 5572 0 R (HD.4853) 5573 0 R (HD.4854) 5574 0 R (HD.4855) 5575 0 R (HD.4856) 5576 0 R (HD.4857) 5577 0 R (HD.4858) 5578 0 R (HD.4859) 5579 0 R (HD.486) 769 0 R (HD.4860) 5580 0 R (HD.4861) 5581 0 R (HD.4862) 5582 0 R (HD.4863) 5583 0 R (HD.4864) 5584 0 R (HD.4865) 5585 0 R (HD.4866) 5586 0 R (HD.4867) 5587 0 R (HD.4868) 5588 0 R (HD.4869) 5589 0 R (HD.487) 770 0 R (HD.4870) 5590 0 R (HD.4871) 5591 0 R ] /Limits [ (HD.4843) (HD.4871) ] >>
-endobj
-11534 0 obj
-<< /Names [ (HD.4872) 5592 0 R (HD.4873) 5593 0 R (HD.4874) 5594 0 R (HD.4875) 5595 0 R (HD.4876) 5596 0 R (HD.4877) 5597 0 R (HD.4878) 5598 0 R (HD.4879) 5599 0 R (HD.488) 771 0 R (HD.4880) 5600 0 R (HD.4881) 5601 0 R (HD.4882) 5602 0 R (HD.4883) 5603 0 R (HD.4884) 5604 0 R (HD.4885) 5605 0 R (HD.4886) 5610 0 R (HD.4887) 5611 0 R (HD.4888) 5612 0 R (HD.4889) 5613 0 R (HD.489) 772 0 R (HD.4890) 5614 0 R (HD.4891) 5615 0 R (HD.4892) 5616 0 R (HD.4893) 5617 0 R (HD.4894) 5618 0 R (HD.4895) 5619 0 R (HD.4896) 5620 0 R (HD.4897) 5621 0 R (HD.4898) 5622 0 R (HD.4899) 5623 0 R (HD.49) 244 0 R (HD.490) 773 0 R ] /Limits [ (HD.4872) (HD.490) ] >>
-endobj
-11535 0 obj
-<< /Names [ (HD.4900) 5624 0 R (HD.4901) 5625 0 R (HD.4902) 5626 0 R (HD.4903) 5627 0 R (HD.4904) 5628 0 R (HD.4905) 5629 0 R (HD.4906) 5630 0 R (HD.4907) 5631 0 R (HD.4908) 5632 0 R (HD.4909) 5633 0 R (HD.491) 774 0 R (HD.4910) 5634 0 R (HD.4911) 5635 0 R (HD.4912) 5636 0 R (HD.4913) 5637 0 R (HD.4914) 5638 0 R (HD.4915) 5639 0 R (HD.4916) 5640 0 R (HD.4917) 5641 0 R (HD.4918) 5642 0 R (HD.4919) 5643 0 R (HD.492) 775 0 R (HD.4920) 5644 0 R (HD.4921) 5645 0 R (HD.4922) 5646 0 R (HD.4923) 5647 0 R (HD.4924) 5648 0 R (HD.4925) 5649 0 R (HD.4926) 5650 0 R (HD.4927) 5651 0 R (HD.4928) 5652 0 R (HD.4929) 5653 0 R ] /Limits [ (HD.4900) (HD.4929) ] >>
-endobj
-11536 0 obj
-<< /Names [ (HD.493) 776 0 R (HD.4930) 5654 0 R (HD.4931) 5655 0 R (HD.4932) 5656 0 R (HD.4933) 5657 0 R (HD.4934) 5658 0 R (HD.4935) 5659 0 R (HD.4936) 5660 0 R (HD.4937) 5661 0 R (HD.4938) 5662 0 R (HD.4939) 5663 0 R (HD.494) 777 0 R (HD.4940) 5664 0 R (HD.4941) 5665 0 R (HD.4942) 5666 0 R (HD.4943) 5667 0 R (HD.4944) 5672 0 R (HD.4945) 5673 0 R (HD.4946) 5674 0 R (HD.4947) 5675 0 R (HD.4948) 5676 0 R (HD.4949) 5677 0 R (HD.495) 778 0 R (HD.4950) 5678 0 R (HD.4951) 5679 0 R (HD.4952) 5680 0 R (HD.4953) 5681 0 R (HD.4954) 5682 0 R (HD.4955) 5683 0 R (HD.4956) 5684 0 R (HD.4957) 5685 0 R (HD.4958) 5686 0 R ] /Limits [ (HD.493) (HD.4958) ] >>
-endobj
-11537 0 obj
-<< /Names [ (HD.4959) 5687 0 R (HD.496) 779 0 R (HD.4960) 5688 0 R (HD.4961) 5689 0 R (HD.4962) 5690 0 R (HD.4963) 5691 0 R (HD.4964) 5692 0 R (HD.4965) 5693 0 R (HD.4966) 5694 0 R (HD.4967) 5695 0 R (HD.4968) 5696 0 R (HD.4969) 5697 0 R (HD.497) 780 0 R (HD.4970) 5698 0 R (HD.4971) 5699 0 R (HD.4972) 5700 0 R (HD.4973) 5701 0 R (HD.4974) 5702 0 R (HD.4975) 5703 0 R (HD.4976) 5704 0 R (HD.4977) 5705 0 R (HD.4978) 5706 0 R (HD.4979) 5707 0 R (HD.498) 781 0 R (HD.4980) 5708 0 R (HD.4981) 5709 0 R (HD.4982) 5710 0 R (HD.4983) 5711 0 R (HD.4984) 5712 0 R (HD.4985) 5713 0 R (HD.4986) 5714 0 R (HD.4987) 5715 0 R ] /Limits [ (HD.4959) (HD.4987) ] >>
-endobj
-11538 0 obj
-<< /Names [ (HD.4988) 5716 0 R (HD.4989) 5717 0 R (HD.499) 782 0 R (HD.4990) 5718 0 R (HD.4991) 5719 0 R (HD.4992) 5720 0 R (HD.4993) 5721 0 R (HD.4994) 5722 0 R (HD.4995) 5723 0 R (HD.4996) 5724 0 R (HD.4997) 5725 0 R (HD.4998) 5730 0 R (HD.4999) 5731 0 R (HD.5) 193 0 R (HD.50) 245 0 R (HD.500) 790 0 R (HD.5000) 5732 0 R (HD.5001) 5733 0 R (HD.5002) 5734 0 R (HD.5003) 5735 0 R (HD.5004) 5736 0 R (HD.5005) 5737 0 R (HD.5006) 5738 0 R (HD.5007) 5739 0 R (HD.5008) 5740 0 R (HD.5009) 5741 0 R (HD.501) 791 0 R (HD.5010) 5742 0 R (HD.5011) 5743 0 R (HD.5012) 5744 0 R (HD.5013) 5745 0 R (HD.5014) 5746 0 R ] /Limits [ (HD.4988) (HD.5014) ] >>
-endobj
-11539 0 obj
-<< /Names [ (HD.5015) 5747 0 R (HD.5016) 5748 0 R (HD.5017) 5749 0 R (HD.5018) 5750 0 R (HD.5019) 5751 0 R (HD.502) 792 0 R (HD.5020) 5752 0 R (HD.5021) 5753 0 R (HD.5022) 5754 0 R (HD.5023) 5755 0 R (HD.5024) 5756 0 R (HD.5025) 5757 0 R (HD.5026) 5758 0 R (HD.5027) 5759 0 R (HD.5028) 5760 0 R (HD.5029) 5761 0 R (HD.503) 793 0 R (HD.5030) 5762 0 R (HD.5031) 5763 0 R (HD.5032) 5764 0 R (HD.5033) 5765 0 R (HD.5034) 5766 0 R (HD.5035) 5767 0 R (HD.5036) 5768 0 R (HD.5037) 5769 0 R (HD.5038) 5770 0 R (HD.5039) 5771 0 R (HD.504) 794 0 R (HD.5040) 5772 0 R (HD.5041) 5773 0 R (HD.5042) 5774 0 R (HD.5043) 5775 0 R ] /Limits [ (HD.5015) (HD.5043) ] >>
-endobj
-11540 0 obj
-<< /Names [ (HD.5044) 5776 0 R (HD.5045) 5777 0 R (HD.5046) 5782 0 R (HD.5047) 5783 0 R (HD.5048) 5784 0 R (HD.5049) 5785 0 R (HD.505) 795 0 R (HD.5050) 5786 0 R (HD.5051) 5787 0 R (HD.5052) 5788 0 R (HD.5053) 5789 0 R (HD.5054) 5790 0 R (HD.5055) 5791 0 R (HD.5056) 5792 0 R (HD.5057) 5793 0 R (HD.5058) 5794 0 R (HD.5059) 5795 0 R (HD.506) 796 0 R (HD.5060) 5796 0 R (HD.5061) 5797 0 R (HD.5062) 5798 0 R (HD.5063) 5799 0 R (HD.5064) 5800 0 R (HD.5065) 5801 0 R (HD.5066) 5802 0 R (HD.5067) 5803 0 R (HD.5068) 5804 0 R (HD.5069) 5805 0 R (HD.507) 797 0 R (HD.5070) 5806 0 R (HD.5071) 5807 0 R (HD.5072) 5808 0 R ] /Limits [ (HD.5044) (HD.5072) ] >>
-endobj
-11541 0 obj
-<< /Names [ (HD.5073) 5809 0 R (HD.5074) 5810 0 R (HD.5075) 5811 0 R (HD.5076) 5812 0 R (HD.5077) 5813 0 R (HD.5078) 5814 0 R (HD.5079) 5815 0 R (HD.508) 798 0 R (HD.5080) 5816 0 R (HD.5081) 5817 0 R (HD.5082) 5818 0 R (HD.5083) 5819 0 R (HD.5084) 5820 0 R (HD.5085) 5821 0 R (HD.5086) 5822 0 R (HD.5087) 5823 0 R (HD.5088) 5824 0 R (HD.5089) 5825 0 R (HD.509) 799 0 R (HD.5090) 5826 0 R (HD.5091) 5827 0 R (HD.5092) 5828 0 R (HD.5093) 5829 0 R (HD.5094) 5830 0 R (HD.5095) 5831 0 R (HD.5096) 5832 0 R (HD.5097) 5833 0 R (HD.5098) 5834 0 R (HD.5099) 5835 0 R (HD.51) 246 0 R (HD.510) 800 0 R (HD.5100) 5836 0 R ] /Limits [ (HD.5073) (HD.5100) ] >>
-endobj
-11542 0 obj
-<< /Names [ (HD.5101) 5842 0 R (HD.5102) 5843 0 R (HD.5103) 5844 0 R (HD.5104) 5845 0 R (HD.5105) 5846 0 R (HD.5106) 5847 0 R (HD.5107) 5848 0 R (HD.5108) 5849 0 R (HD.5109) 5850 0 R (HD.511) 801 0 R (HD.5110) 5851 0 R (HD.5111) 5852 0 R (HD.5112) 5853 0 R (HD.5113) 5854 0 R (HD.5114) 5855 0 R (HD.5115) 5856 0 R (HD.5116) 5857 0 R (HD.5117) 5858 0 R (HD.5118) 5859 0 R (HD.5119) 5860 0 R (HD.512) 802 0 R (HD.5120) 5861 0 R (HD.5121) 5862 0 R (HD.5122) 5863 0 R (HD.5123) 5864 0 R (HD.5124) 5865 0 R (HD.5125) 5866 0 R (HD.5126) 5867 0 R (HD.5127) 5868 0 R (HD.5128) 5869 0 R (HD.5129) 5870 0 R (HD.513) 803 0 R ] /Limits [ (HD.5101) (HD.513) ] >>
-endobj
-11543 0 obj
-<< /Names [ (HD.5130) 5871 0 R (HD.5131) 5872 0 R (HD.5132) 5873 0 R (HD.5133) 5874 0 R (HD.5134) 5875 0 R (HD.5135) 5876 0 R (HD.5136) 5877 0 R (HD.5137) 5878 0 R (HD.5138) 5879 0 R (HD.5139) 5880 0 R (HD.514) 804 0 R (HD.5140) 5881 0 R (HD.5141) 5882 0 R (HD.5142) 5883 0 R (HD.5143) 5884 0 R (HD.5144) 5885 0 R (HD.5145) 5886 0 R (HD.5146) 5887 0 R (HD.5147) 5888 0 R (HD.5148) 5889 0 R (HD.5149) 5890 0 R (HD.515) 805 0 R (HD.5150) 5891 0 R (HD.5151) 5892 0 R (HD.5152) 5893 0 R (HD.5153) 5894 0 R (HD.5154) 5895 0 R (HD.5155) 5896 0 R (HD.5156) 5897 0 R (HD.5157) 5898 0 R (HD.5158) 5903 0 R (HD.5159) 5904 0 R ] /Limits [ (HD.5130) (HD.5159) ] >>
-endobj
-11544 0 obj
-<< /Names [ (HD.516) 806 0 R (HD.5160) 5905 0 R (HD.5161) 5906 0 R (HD.5162) 5907 0 R (HD.5163) 5908 0 R (HD.5164) 5909 0 R (HD.5165) 5910 0 R (HD.5166) 5911 0 R (HD.5167) 5912 0 R (HD.5168) 5913 0 R (HD.5169) 5914 0 R (HD.517) 807 0 R (HD.5170) 5915 0 R (HD.5171) 5916 0 R (HD.5172) 5917 0 R (HD.5173) 5918 0 R (HD.5174) 5919 0 R (HD.5175) 5920 0 R (HD.5176) 5921 0 R (HD.5177) 5922 0 R (HD.5178) 5923 0 R (HD.5179) 5924 0 R (HD.518) 808 0 R (HD.5180) 5925 0 R (HD.5181) 5926 0 R (HD.5182) 5927 0 R (HD.5183) 5928 0 R (HD.5184) 5929 0 R (HD.5185) 5930 0 R (HD.5186) 5931 0 R (HD.5187) 5932 0 R (HD.5188) 5933 0 R ] /Limits [ (HD.516) (HD.5188) ] >>
-endobj
-11545 0 obj
-<< /Names [ (HD.5189) 5934 0 R (HD.519) 813 0 R (HD.5190) 5935 0 R (HD.5191) 5936 0 R (HD.5192) 5937 0 R (HD.5193) 5938 0 R (HD.5194) 5939 0 R (HD.5195) 5940 0 R (HD.5196) 5941 0 R (HD.5197) 5942 0 R (HD.5198) 5943 0 R (HD.5199) 5949 0 R (HD.52) 251 0 R (HD.520) 814 0 R (HD.5200) 5950 0 R (HD.5201) 5951 0 R (HD.5202) 5952 0 R (HD.5203) 5953 0 R (HD.5204) 5954 0 R (HD.5205) 5955 0 R (HD.5206) 5956 0 R (HD.5207) 5957 0 R (HD.5208) 5958 0 R (HD.5209) 5959 0 R (HD.521) 815 0 R (HD.5210) 5960 0 R (HD.5211) 5961 0 R (HD.5212) 5962 0 R (HD.5213) 5963 0 R (HD.5214) 5964 0 R (HD.5215) 5965 0 R (HD.5216) 5966 0 R ] /Limits [ (HD.5189) (HD.5216) ] >>
-endobj
-11546 0 obj
-<< /Names [ (HD.5217) 5967 0 R (HD.5218) 5968 0 R (HD.5219) 5969 0 R (HD.522) 816 0 R (HD.5220) 5970 0 R (HD.5221) 5971 0 R (HD.5222) 5972 0 R (HD.5223) 5973 0 R (HD.5224) 5974 0 R (HD.5225) 5975 0 R (HD.5226) 5976 0 R (HD.5227) 5977 0 R (HD.5228) 5978 0 R (HD.5229) 5979 0 R (HD.523) 817 0 R (HD.5230) 5980 0 R (HD.5231) 5981 0 R (HD.5232) 5982 0 R (HD.5233) 5983 0 R (HD.5234) 5984 0 R (HD.5235) 5985 0 R (HD.5236) 5986 0 R (HD.5237) 5987 0 R (HD.5238) 5988 0 R (HD.5239) 5989 0 R (HD.524) 818 0 R (HD.5240) 5990 0 R (HD.5241) 5991 0 R (HD.5242) 5998 0 R (HD.5243) 5999 0 R (HD.5244) 6000 0 R (HD.5245) 6001 0 R ] /Limits [ (HD.5217) (HD.5245) ] >>
-endobj
-11547 0 obj
-<< /Names [ (HD.5246) 6002 0 R (HD.5247) 6003 0 R (HD.5248) 6004 0 R (HD.5249) 6005 0 R (HD.525) 819 0 R (HD.5250) 6006 0 R (HD.5251) 6007 0 R (HD.5252) 6008 0 R (HD.5253) 6009 0 R (HD.5254) 6010 0 R (HD.5255) 6011 0 R (HD.5256) 6012 0 R (HD.5257) 6013 0 R (HD.5258) 6014 0 R (HD.5259) 6015 0 R (HD.526) 820 0 R (HD.5260) 6016 0 R (HD.5261) 6017 0 R (HD.5262) 6018 0 R (HD.5263) 6019 0 R (HD.5264) 6020 0 R (HD.5265) 6021 0 R (HD.5266) 6022 0 R (HD.5267) 6023 0 R (HD.5268) 6024 0 R (HD.5269) 6029 0 R (HD.527) 821 0 R (HD.5270) 6030 0 R (HD.5271) 6031 0 R (HD.5272) 6032 0 R (HD.5273) 6033 0 R (HD.5274) 6034 0 R ] /Limits [ (HD.5246) (HD.5274) ] >>
-endobj
-11548 0 obj
-<< /Names [ (HD.5275) 6035 0 R (HD.5276) 6036 0 R (HD.5277) 6037 0 R (HD.5278) 6038 0 R (HD.5279) 6039 0 R (HD.528) 822 0 R (HD.5280) 6040 0 R (HD.5281) 6041 0 R (HD.5282) 6042 0 R (HD.5283) 6043 0 R (HD.5284) 6044 0 R (HD.5285) 6045 0 R (HD.5286) 6046 0 R (HD.5287) 6047 0 R (HD.5288) 6048 0 R (HD.5289) 6049 0 R (HD.529) 823 0 R (HD.5290) 6050 0 R (HD.5291) 6051 0 R (HD.5292) 6052 0 R (HD.5293) 6053 0 R (HD.5294) 6054 0 R (HD.5295) 6055 0 R (HD.5296) 6056 0 R (HD.5297) 6057 0 R (HD.5298) 6058 0 R (HD.5299) 6059 0 R (HD.53) 252 0 R (HD.530) 824 0 R (HD.5300) 6060 0 R (HD.5301) 6061 0 R (HD.5302) 6062 0 R ] /Limits [ (HD.5275) (HD.5302) ] >>
-endobj
-11549 0 obj
-<< /Names [ (HD.5303) 6063 0 R (HD.5304) 6064 0 R (HD.5305) 6065 0 R (HD.5306) 6066 0 R (HD.5307) 6067 0 R (HD.5308) 6068 0 R (HD.5309) 6069 0 R (HD.531) 825 0 R (HD.5310) 6070 0 R (HD.5311) 6071 0 R (HD.5312) 6072 0 R (HD.5313) 6073 0 R (HD.5314) 6074 0 R (HD.5315) 6075 0 R (HD.5316) 6076 0 R (HD.5317) 6077 0 R (HD.5318) 6078 0 R (HD.5319) 6079 0 R (HD.532) 826 0 R (HD.5320) 6080 0 R (HD.5321) 6081 0 R (HD.5322) 6082 0 R (HD.5323) 6087 0 R (HD.5324) 6088 0 R (HD.5325) 6089 0 R (HD.5326) 6090 0 R (HD.5327) 6091 0 R (HD.5328) 6092 0 R (HD.5329) 6093 0 R (HD.533) 827 0 R (HD.5330) 6094 0 R (HD.5331) 6095 0 R ] /Limits [ (HD.5303) (HD.5331) ] >>
-endobj
-11550 0 obj
-<< /Names [ (HD.5332) 6096 0 R (HD.5333) 6097 0 R (HD.5334) 6098 0 R (HD.5335) 6099 0 R (HD.5336) 6100 0 R (HD.5337) 6101 0 R (HD.5338) 6102 0 R (HD.5339) 6103 0 R (HD.534) 828 0 R (HD.5340) 6104 0 R (HD.5341) 6105 0 R (HD.5342) 6106 0 R (HD.5343) 6107 0 R (HD.5344) 6108 0 R (HD.5345) 6109 0 R (HD.5346) 6110 0 R (HD.5347) 6111 0 R (HD.5348) 6112 0 R (HD.5349) 6113 0 R (HD.535) 829 0 R (HD.5350) 6114 0 R (HD.5351) 6115 0 R (HD.5352) 6116 0 R (HD.5353) 6117 0 R (HD.5354) 6118 0 R (HD.5355) 6119 0 R (HD.5356) 6120 0 R (HD.5357) 6121 0 R (HD.5358) 6122 0 R (HD.5359) 6123 0 R (HD.536) 830 0 R (HD.5360) 6124 0 R ] /Limits [ (HD.5332) (HD.5360) ] >>
-endobj
-11551 0 obj
-<< /Names [ (HD.5361) 6125 0 R (HD.5362) 6126 0 R (HD.5363) 6127 0 R (HD.5364) 6128 0 R (HD.5365) 6129 0 R (HD.5366) 6130 0 R (HD.5367) 6131 0 R (HD.5368) 6132 0 R (HD.5369) 6133 0 R (HD.537) 831 0 R (HD.5370) 6134 0 R (HD.5371) 6135 0 R (HD.5372) 6136 0 R (HD.5373) 6141 0 R (HD.5374) 6142 0 R (HD.5375) 6143 0 R (HD.5376) 6144 0 R (HD.5377) 6145 0 R (HD.5378) 6146 0 R (HD.5379) 6147 0 R (HD.538) 832 0 R (HD.5380) 6148 0 R (HD.5381) 6149 0 R (HD.5382) 6150 0 R (HD.5383) 6151 0 R (HD.5384) 6152 0 R (HD.5385) 6153 0 R (HD.5386) 6154 0 R (HD.5387) 6155 0 R (HD.5388) 6156 0 R (HD.5389) 6157 0 R (HD.539) 833 0 R ] /Limits [ (HD.5361) (HD.539) ] >>
-endobj
-11552 0 obj
-<< /Names [ (HD.5390) 6158 0 R (HD.5391) 6159 0 R (HD.5392) 6160 0 R (HD.5393) 6161 0 R (HD.5394) 6166 0 R (HD.5395) 6167 0 R (HD.5396) 6168 0 R (HD.5397) 6169 0 R (HD.5398) 6170 0 R (HD.5399) 6171 0 R (HD.54) 253 0 R (HD.540) 834 0 R (HD.5400) 6172 0 R (HD.5401) 6173 0 R (HD.5402) 6174 0 R (HD.5403) 6175 0 R (HD.5404) 6176 0 R (HD.5405) 6177 0 R (HD.5406) 6178 0 R (HD.5407) 6179 0 R (HD.5408) 6180 0 R (HD.5409) 6181 0 R (HD.541) 835 0 R (HD.5410) 6182 0 R (HD.5411) 6183 0 R (HD.5412) 6184 0 R (HD.5413) 6185 0 R (HD.5414) 6186 0 R (HD.5415) 6187 0 R (HD.5416) 6188 0 R (HD.5417) 6189 0 R (HD.5418) 6190 0 R ] /Limits [ (HD.5390) (HD.5418) ] >>
-endobj
-11553 0 obj
-<< /Names [ (HD.5419) 6191 0 R (HD.542) 836 0 R (HD.5420) 6192 0 R (HD.5421) 6193 0 R (HD.5422) 6194 0 R (HD.5423) 6195 0 R (HD.5424) 6196 0 R (HD.5425) 6197 0 R (HD.5426) 6198 0 R (HD.5427) 6199 0 R (HD.5428) 6200 0 R (HD.5429) 6201 0 R (HD.543) 837 0 R (HD.5430) 6202 0 R (HD.5431) 6203 0 R (HD.5432) 6204 0 R (HD.5433) 6205 0 R (HD.5434) 6206 0 R (HD.5435) 6207 0 R (HD.5436) 6208 0 R (HD.5437) 6209 0 R (HD.5438) 6210 0 R (HD.5439) 6211 0 R (HD.544) 838 0 R (HD.5440) 6212 0 R (HD.5441) 6213 0 R (HD.5442) 6218 0 R (HD.5443) 6219 0 R (HD.5444) 6220 0 R (HD.5445) 6221 0 R (HD.5446) 6222 0 R (HD.5447) 6223 0 R ] /Limits [ (HD.5419) (HD.5447) ] >>
-endobj
-11554 0 obj
-<< /Names [ (HD.5448) 6224 0 R (HD.5449) 6225 0 R (HD.545) 839 0 R (HD.5450) 6226 0 R (HD.5451) 6227 0 R (HD.5452) 6228 0 R (HD.5453) 6229 0 R (HD.5454) 6230 0 R (HD.5455) 6231 0 R (HD.5456) 6232 0 R (HD.5457) 6233 0 R (HD.5458) 6234 0 R (HD.5459) 6235 0 R (HD.546) 840 0 R (HD.5460) 6236 0 R (HD.5461) 6237 0 R (HD.5462) 6238 0 R (HD.5463) 6239 0 R (HD.5464) 6240 0 R (HD.5465) 6241 0 R (HD.5466) 6242 0 R (HD.5467) 6243 0 R (HD.5468) 6244 0 R (HD.5469) 6245 0 R (HD.547) 841 0 R (HD.5470) 6246 0 R (HD.5471) 6247 0 R (HD.5472) 6248 0 R (HD.5473) 6249 0 R (HD.5474) 6250 0 R (HD.5475) 6251 0 R (HD.5476) 6252 0 R ] /Limits [ (HD.5448) (HD.5476) ] >>
-endobj
-11555 0 obj
-<< /Names [ (HD.5477) 6253 0 R (HD.5478) 6254 0 R (HD.5479) 6255 0 R (HD.548) 842 0 R (HD.5480) 6256 0 R (HD.5481) 6257 0 R (HD.5482) 6258 0 R (HD.5483) 6259 0 R (HD.5484) 6260 0 R (HD.5485) 6261 0 R (HD.5486) 6262 0 R (HD.5487) 6263 0 R (HD.5488) 6268 0 R (HD.5489) 6269 0 R (HD.549) 843 0 R (HD.5490) 6270 0 R (HD.5491) 6271 0 R (HD.5492) 6272 0 R (HD.5493) 6273 0 R (HD.5494) 6274 0 R (HD.5495) 6275 0 R (HD.5496) 6276 0 R (HD.5497) 6277 0 R (HD.5498) 6278 0 R (HD.5499) 6279 0 R (HD.55) 254 0 R (HD.550) 844 0 R (HD.5500) 6280 0 R (HD.5501) 6281 0 R (HD.5502) 6282 0 R (HD.5503) 6283 0 R (HD.5504) 6284 0 R ] /Limits [ (HD.5477) (HD.5504) ] >>
-endobj
-11556 0 obj
-<< /Names [ (HD.5505) 6285 0 R (HD.5506) 6286 0 R (HD.5507) 6287 0 R (HD.5508) 6288 0 R (HD.5509) 6289 0 R (HD.551) 845 0 R (HD.5510) 6290 0 R (HD.5511) 6291 0 R (HD.5512) 6292 0 R (HD.5513) 6293 0 R (HD.5514) 6294 0 R (HD.5515) 6295 0 R (HD.5516) 6296 0 R (HD.5517) 6297 0 R (HD.5518) 6298 0 R (HD.5519) 6299 0 R (HD.552) 846 0 R (HD.5520) 6300 0 R (HD.5521) 6301 0 R (HD.5522) 6302 0 R (HD.5523) 6303 0 R (HD.5524) 6304 0 R (HD.5525) 6305 0 R (HD.5526) 6306 0 R (HD.5527) 6307 0 R (HD.5528) 6308 0 R (HD.5529) 6309 0 R (HD.553) 847 0 R (HD.5530) 6310 0 R (HD.5531) 6311 0 R (HD.5532) 6312 0 R (HD.5533) 6313 0 R ] /Limits [ (HD.5505) (HD.5533) ] >>
-endobj
-11557 0 obj
-<< /Names [ (HD.5534) 6314 0 R (HD.5535) 6315 0 R (HD.5536) 6316 0 R (HD.5537) 6322 0 R (HD.5538) 6323 0 R (HD.5539) 6324 0 R (HD.554) 848 0 R (HD.5540) 6325 0 R (HD.5541) 6326 0 R (HD.5542) 6327 0 R (HD.5543) 6328 0 R (HD.5544) 6329 0 R (HD.5545) 6330 0 R (HD.5546) 6331 0 R (HD.5547) 6332 0 R (HD.5548) 6333 0 R (HD.5549) 6334 0 R (HD.555) 849 0 R (HD.5550) 6335 0 R (HD.5551) 6336 0 R (HD.5552) 6337 0 R (HD.5553) 6338 0 R (HD.5554) 6339 0 R (HD.5555) 6340 0 R (HD.5556) 6341 0 R (HD.5557) 6342 0 R (HD.5558) 6343 0 R (HD.5559) 6344 0 R (HD.556) 850 0 R (HD.5560) 6345 0 R (HD.5561) 6346 0 R (HD.5562) 6347 0 R ] /Limits [ (HD.5534) (HD.5562) ] >>
-endobj
-11558 0 obj
-<< /Names [ (HD.5563) 6348 0 R (HD.5564) 6349 0 R (HD.5565) 6350 0 R (HD.5566) 6351 0 R (HD.5567) 6352 0 R (HD.5568) 6353 0 R (HD.5569) 6354 0 R (HD.557) 851 0 R (HD.5570) 6355 0 R (HD.5571) 6356 0 R (HD.5572) 6357 0 R (HD.5573) 6358 0 R (HD.5574) 6359 0 R (HD.5575) 6360 0 R (HD.5576) 6361 0 R (HD.5577) 6366 0 R (HD.5578) 6367 0 R (HD.5579) 6368 0 R (HD.558) 852 0 R (HD.5580) 6369 0 R (HD.5581) 6370 0 R (HD.5582) 6371 0 R (HD.5583) 6372 0 R (HD.5584) 6373 0 R (HD.5585) 6374 0 R (HD.5586) 6375 0 R (HD.5587) 6376 0 R (HD.5588) 6377 0 R (HD.5589) 6378 0 R (HD.559) 853 0 R (HD.5590) 6379 0 R (HD.5591) 6380 0 R ] /Limits [ (HD.5563) (HD.5591) ] >>
-endobj
-11559 0 obj
-<< /Names [ (HD.5592) 6381 0 R (HD.5593) 6382 0 R (HD.5594) 6383 0 R (HD.5595) 6384 0 R (HD.5596) 6385 0 R (HD.5597) 6386 0 R (HD.5598) 6387 0 R (HD.5599) 6388 0 R (HD.56) 255 0 R (HD.560) 854 0 R (HD.5600) 6389 0 R (HD.5601) 6390 0 R (HD.5602) 6391 0 R (HD.5603) 6392 0 R (HD.5604) 6393 0 R (HD.5605) 6394 0 R (HD.5606) 6395 0 R (HD.5607) 6396 0 R (HD.5608) 6397 0 R (HD.5609) 6398 0 R (HD.561) 855 0 R (HD.5610) 6399 0 R (HD.5611) 6400 0 R (HD.5612) 6401 0 R (HD.5613) 6402 0 R (HD.5614) 6403 0 R (HD.5615) 6404 0 R (HD.5616) 6405 0 R (HD.5617) 6406 0 R (HD.5618) 6407 0 R (HD.5619) 6408 0 R (HD.562) 856 0 R ] /Limits [ (HD.5592) (HD.562) ] >>
-endobj
-11560 0 obj
-<< /Names [ (HD.5620) 6409 0 R (HD.5621) 6410 0 R (HD.5622) 6411 0 R (HD.5623) 6412 0 R (HD.5624) 6413 0 R (HD.5625) 6414 0 R (HD.5626) 6415 0 R (HD.5627) 6420 0 R (HD.5628) 6421 0 R (HD.5629) 6422 0 R (HD.563) 857 0 R (HD.5630) 6423 0 R (HD.5631) 6424 0 R (HD.5632) 6425 0 R (HD.5633) 6426 0 R (HD.5634) 6427 0 R (HD.5635) 6428 0 R (HD.5636) 6429 0 R (HD.5637) 6430 0 R (HD.5638) 6431 0 R (HD.5639) 6432 0 R (HD.564) 858 0 R (HD.5640) 6433 0 R (HD.5641) 6434 0 R (HD.5642) 6435 0 R (HD.5643) 6436 0 R (HD.5644) 6437 0 R (HD.5645) 6438 0 R (HD.5646) 6439 0 R (HD.5647) 6440 0 R (HD.5648) 6441 0 R (HD.5649) 6442 0 R ] /Limits [ (HD.5620) (HD.5649) ] >>
-endobj
-11561 0 obj
-<< /Names [ (HD.565) 864 0 R (HD.5650) 6443 0 R (HD.5651) 6444 0 R (HD.5652) 6445 0 R (HD.5653) 6446 0 R (HD.5654) 6447 0 R (HD.5655) 6448 0 R (HD.5656) 6449 0 R (HD.5657) 6450 0 R (HD.5658) 6451 0 R (HD.5659) 6452 0 R (HD.566) 865 0 R (HD.5660) 6453 0 R (HD.5661) 6454 0 R (HD.5662) 6455 0 R (HD.5663) 6456 0 R (HD.5664) 6457 0 R (HD.5665) 6458 0 R (HD.5666) 6459 0 R (HD.5667) 6464 0 R (HD.5668) 6465 0 R (HD.5669) 6466 0 R (HD.567) 866 0 R (HD.5670) 6467 0 R (HD.5671) 6468 0 R (HD.5672) 6469 0 R (HD.5673) 6470 0 R (HD.5674) 6471 0 R (HD.5675) 6472 0 R (HD.5676) 6473 0 R (HD.5677) 6474 0 R (HD.5678) 6475 0 R ] /Limits [ (HD.565) (HD.5678) ] >>
-endobj
-11562 0 obj
-<< /Names [ (HD.5679) 6476 0 R (HD.568) 867 0 R (HD.5680) 6477 0 R (HD.5681) 6478 0 R (HD.5682) 6479 0 R (HD.5683) 6480 0 R (HD.5684) 6481 0 R (HD.5685) 6482 0 R (HD.5686) 6483 0 R (HD.5687) 6484 0 R (HD.5688) 6485 0 R (HD.5689) 6486 0 R (HD.569) 868 0 R (HD.5690) 6487 0 R (HD.5691) 6488 0 R (HD.5692) 6489 0 R (HD.5693) 6490 0 R (HD.5694) 6491 0 R (HD.5695) 6492 0 R (HD.5696) 6493 0 R (HD.5697) 6494 0 R (HD.5698) 6495 0 R (HD.5699) 6496 0 R (HD.57) 256 0 R (HD.570) 869 0 R (HD.5700) 6497 0 R (HD.5701) 6498 0 R (HD.5702) 6499 0 R (HD.5703) 6500 0 R (HD.5704) 6501 0 R (HD.5705) 6502 0 R (HD.5706) 6503 0 R ] /Limits [ (HD.5679) (HD.5706) ] >>
-endobj
-11563 0 obj
-<< /Names [ (HD.5707) 6504 0 R (HD.5708) 6505 0 R (HD.5709) 6506 0 R (HD.571) 870 0 R (HD.5710) 6507 0 R (HD.5711) 6508 0 R (HD.5712) 6509 0 R (HD.5713) 6510 0 R (HD.5714) 6511 0 R (HD.5715) 6512 0 R (HD.5716) 6513 0 R (HD.5717) 6514 0 R (HD.5718) 6515 0 R (HD.5719) 6516 0 R (HD.572) 871 0 R (HD.5720) 6517 0 R (HD.5721) 6518 0 R (HD.5722) 6523 0 R (HD.5723) 6524 0 R (HD.5724) 6525 0 R (HD.5725) 6526 0 R (HD.5726) 6527 0 R (HD.5727) 6528 0 R (HD.5728) 6529 0 R (HD.5729) 6530 0 R (HD.573) 872 0 R (HD.5730) 6531 0 R (HD.5731) 6532 0 R (HD.5732) 6533 0 R (HD.5733) 6534 0 R (HD.5734) 6535 0 R (HD.5735) 6536 0 R ] /Limits [ (HD.5707) (HD.5735) ] >>
-endobj
-11564 0 obj
-<< /Names [ (HD.5736) 6537 0 R (HD.5737) 6538 0 R (HD.5738) 6539 0 R (HD.5739) 6540 0 R (HD.574) 873 0 R (HD.5740) 6541 0 R (HD.5741) 6542 0 R (HD.5742) 6543 0 R (HD.5743) 6544 0 R (HD.5744) 6545 0 R (HD.5745) 6546 0 R (HD.5746) 6547 0 R (HD.5747) 6548 0 R (HD.5748) 6549 0 R (HD.5749) 6550 0 R (HD.575) 874 0 R (HD.5750) 6551 0 R (HD.5751) 6552 0 R (HD.5752) 6553 0 R (HD.5753) 6554 0 R (HD.5754) 6555 0 R (HD.5755) 6556 0 R (HD.5756) 6557 0 R (HD.5757) 6558 0 R (HD.5758) 6559 0 R (HD.5759) 6560 0 R (HD.576) 875 0 R (HD.5760) 6561 0 R (HD.5761) 6562 0 R (HD.5762) 6563 0 R (HD.5763) 6564 0 R (HD.5764) 6565 0 R ] /Limits [ (HD.5736) (HD.5764) ] >>
-endobj
-11565 0 obj
-<< /Names [ (HD.5765) 6566 0 R (HD.5766) 6567 0 R (HD.5767) 6568 0 R (HD.5768) 6569 0 R (HD.5769) 6570 0 R (HD.577) 876 0 R (HD.5770) 6571 0 R (HD.5771) 6572 0 R (HD.5772) 6573 0 R (HD.5773) 6574 0 R (HD.5774) 6579 0 R (HD.5775) 6580 0 R (HD.5776) 6581 0 R (HD.5777) 6582 0 R (HD.5778) 6583 0 R (HD.5779) 6584 0 R (HD.578) 877 0 R (HD.5780) 6585 0 R (HD.5781) 6586 0 R (HD.5782) 6587 0 R (HD.5783) 6588 0 R (HD.5784) 6589 0 R (HD.5785) 6590 0 R (HD.5786) 6591 0 R (HD.5787) 6592 0 R (HD.5788) 6593 0 R (HD.5789) 6594 0 R (HD.579) 878 0 R (HD.5790) 6595 0 R (HD.5791) 6596 0 R (HD.5792) 6597 0 R (HD.5793) 6598 0 R ] /Limits [ (HD.5765) (HD.5793) ] >>
-endobj
-11566 0 obj
-<< /Names [ (HD.5794) 6599 0 R (HD.5795) 6600 0 R (HD.5796) 6601 0 R (HD.5797) 6602 0 R (HD.5798) 6603 0 R (HD.5799) 6604 0 R (HD.58) 257 0 R (HD.580) 879 0 R (HD.5800) 6605 0 R (HD.5801) 6606 0 R (HD.5802) 6607 0 R (HD.5803) 6608 0 R (HD.5804) 6609 0 R (HD.5805) 6610 0 R (HD.5806) 6611 0 R (HD.5807) 6612 0 R (HD.5808) 6613 0 R (HD.5809) 6614 0 R (HD.581) 880 0 R (HD.5810) 6615 0 R (HD.5811) 6616 0 R (HD.5812) 6617 0 R (HD.5813) 6618 0 R (HD.5814) 6619 0 R (HD.5815) 6620 0 R (HD.5816) 6621 0 R (HD.5817) 6622 0 R (HD.5818) 6623 0 R (HD.5819) 6628 0 R (HD.582) 881 0 R (HD.5820) 6629 0 R (HD.5821) 6630 0 R ] /Limits [ (HD.5794) (HD.5821) ] >>
-endobj
-11567 0 obj
-<< /Names [ (HD.5822) 6631 0 R (HD.5823) 6632 0 R (HD.5824) 6633 0 R (HD.5825) 6634 0 R (HD.5826) 6635 0 R (HD.5827) 6636 0 R (HD.5828) 6637 0 R (HD.5829) 6638 0 R (HD.583) 882 0 R (HD.5830) 6639 0 R (HD.5831) 6640 0 R (HD.5832) 6641 0 R (HD.5833) 6642 0 R (HD.5834) 6643 0 R (HD.5835) 6644 0 R (HD.5836) 6645 0 R (HD.5837) 6646 0 R (HD.5838) 6647 0 R (HD.5839) 6648 0 R (HD.584) 883 0 R (HD.5840) 6649 0 R (HD.5841) 6650 0 R (HD.5842) 6651 0 R (HD.5843) 6652 0 R (HD.5844) 6653 0 R (HD.5845) 6654 0 R (HD.5846) 6655 0 R (HD.5847) 6656 0 R (HD.5848) 6657 0 R (HD.5849) 6658 0 R (HD.585) 884 0 R (HD.5850) 6659 0 R ] /Limits [ (HD.5822) (HD.5850) ] >>
-endobj
-11568 0 obj
-<< /Names [ (HD.5851) 6660 0 R (HD.5852) 6665 0 R (HD.5853) 6666 0 R (HD.5854) 6667 0 R (HD.5855) 6668 0 R (HD.5856) 6669 0 R (HD.5857) 6670 0 R (HD.5858) 6671 0 R (HD.5859) 6672 0 R (HD.586) 885 0 R (HD.5860) 6673 0 R (HD.5861) 6674 0 R (HD.5862) 6675 0 R (HD.5863) 6676 0 R (HD.5864) 6677 0 R (HD.5865) 6678 0 R (HD.5866) 6679 0 R (HD.5867) 6680 0 R (HD.5868) 6681 0 R (HD.5869) 6682 0 R (HD.587) 886 0 R (HD.5870) 6683 0 R (HD.5871) 6684 0 R (HD.5872) 6685 0 R (HD.5873) 6686 0 R (HD.5874) 6687 0 R (HD.5875) 6688 0 R (HD.5876) 6689 0 R (HD.5877) 6690 0 R (HD.5878) 6691 0 R (HD.5879) 6692 0 R (HD.588) 887 0 R ] /Limits [ (HD.5851) (HD.588) ] >>
-endobj
-11569 0 obj
-<< /Names [ (HD.5880) 6693 0 R (HD.5881) 6694 0 R (HD.5882) 6695 0 R (HD.5883) 6696 0 R (HD.5884) 6697 0 R (HD.5885) 6698 0 R (HD.5886) 6699 0 R (HD.5887) 6700 0 R (HD.5888) 6701 0 R (HD.5889) 6706 0 R (HD.589) 888 0 R (HD.5890) 6707 0 R (HD.5891) 6708 0 R (HD.5892) 6709 0 R (HD.5893) 6710 0 R (HD.5894) 6711 0 R (HD.5895) 6712 0 R (HD.5896) 6713 0 R (HD.5897) 6714 0 R (HD.5898) 6715 0 R (HD.5899) 6716 0 R (HD.59) 258 0 R (HD.590) 889 0 R (HD.5900) 6717 0 R (HD.5901) 6718 0 R (HD.5902) 6719 0 R (HD.5903) 6720 0 R (HD.5904) 6721 0 R (HD.5905) 6722 0 R (HD.5906) 6723 0 R (HD.5907) 6724 0 R (HD.5908) 6725 0 R ] /Limits [ (HD.5880) (HD.5908) ] >>
-endobj
-11570 0 obj
-<< /Names [ (HD.5909) 6726 0 R (HD.591) 890 0 R (HD.5910) 6727 0 R (HD.5911) 6728 0 R (HD.5912) 6729 0 R (HD.5913) 6730 0 R (HD.5914) 6731 0 R (HD.5915) 6732 0 R (HD.5916) 6733 0 R (HD.5917) 6734 0 R (HD.5918) 6735 0 R (HD.5919) 6736 0 R (HD.592) 891 0 R (HD.5920) 6737 0 R (HD.5921) 6738 0 R (HD.5922) 6739 0 R (HD.5923) 6740 0 R (HD.5924) 6741 0 R (HD.5925) 6742 0 R (HD.5926) 6747 0 R (HD.5927) 6748 0 R (HD.5928) 6749 0 R (HD.5929) 6750 0 R (HD.593) 892 0 R (HD.5930) 6751 0 R (HD.5931) 6752 0 R (HD.5932) 6753 0 R (HD.5933) 6754 0 R (HD.5934) 6755 0 R (HD.5935) 6756 0 R (HD.5936) 6757 0 R (HD.5937) 6758 0 R ] /Limits [ (HD.5909) (HD.5937) ] >>
-endobj
-11571 0 obj
-<< /Names [ (HD.5938) 6759 0 R (HD.5939) 6760 0 R (HD.594) 893 0 R (HD.5940) 6761 0 R (HD.5941) 6762 0 R (HD.5942) 6763 0 R (HD.5943) 6764 0 R (HD.5944) 6765 0 R (HD.5945) 6766 0 R (HD.5946) 6767 0 R (HD.5947) 6768 0 R (HD.5948) 6769 0 R (HD.5949) 6770 0 R (HD.595) 894 0 R (HD.5950) 6771 0 R (HD.5951) 6772 0 R (HD.5952) 6773 0 R (HD.5953) 6774 0 R (HD.5954) 6775 0 R (HD.5955) 6776 0 R (HD.5956) 6777 0 R (HD.5957) 6778 0 R (HD.5958) 6779 0 R (HD.5959) 6780 0 R (HD.596) 895 0 R (HD.5960) 6781 0 R (HD.5961) 6782 0 R (HD.5962) 6788 0 R (HD.5963) 6789 0 R (HD.5964) 6790 0 R (HD.5965) 6791 0 R (HD.5966) 6792 0 R ] /Limits [ (HD.5938) (HD.5966) ] >>
-endobj
-11572 0 obj
-<< /Names [ (HD.5967) 6793 0 R (HD.5968) 6794 0 R (HD.5969) 6795 0 R (HD.597) 896 0 R (HD.5970) 6796 0 R (HD.5971) 6797 0 R (HD.5972) 6798 0 R (HD.5973) 6799 0 R (HD.5974) 6800 0 R (HD.5975) 6801 0 R (HD.5976) 6802 0 R (HD.5977) 6803 0 R (HD.5978) 6804 0 R (HD.5979) 6805 0 R (HD.598) 897 0 R (HD.5980) 6806 0 R (HD.5981) 6807 0 R (HD.5982) 6808 0 R (HD.5983) 6809 0 R (HD.5984) 6810 0 R (HD.5985) 6811 0 R (HD.5986) 6812 0 R (HD.5987) 6813 0 R (HD.5988) 6814 0 R (HD.5989) 6815 0 R (HD.599) 898 0 R (HD.5990) 6816 0 R (HD.5991) 6817 0 R (HD.5992) 6818 0 R (HD.5993) 6819 0 R (HD.5994) 6820 0 R (HD.5995) 6821 0 R ] /Limits [ (HD.5967) (HD.5995) ] >>
-endobj
-11573 0 obj
-<< /Names [ (HD.5996) 6822 0 R (HD.5997) 6823 0 R (HD.5998) 6824 0 R (HD.5999) 6825 0 R (HD.6) 194 0 R (HD.60) 259 0 R (HD.600) 899 0 R (HD.6000) 6826 0 R (HD.6001) 6827 0 R (HD.6002) 6828 0 R (HD.6003) 6829 0 R (HD.6004) 6830 0 R (HD.6005) 6835 0 R (HD.6006) 6836 0 R (HD.6007) 6837 0 R (HD.6008) 6838 0 R (HD.6009) 6839 0 R (HD.601) 900 0 R (HD.6010) 6840 0 R (HD.6011) 6841 0 R (HD.6012) 6842 0 R (HD.6013) 6843 0 R (HD.6014) 6844 0 R (HD.6015) 6845 0 R (HD.6016) 6846 0 R (HD.6017) 6847 0 R (HD.6018) 6848 0 R (HD.6019) 6849 0 R (HD.602) 901 0 R (HD.6020) 6850 0 R (HD.6021) 6851 0 R (HD.6022) 6852 0 R ] /Limits [ (HD.5996) (HD.6022) ] >>
-endobj
-11574 0 obj
-<< /Names [ (HD.6023) 6853 0 R (HD.6024) 6854 0 R (HD.6025) 6855 0 R (HD.6026) 6856 0 R (HD.6027) 6857 0 R (HD.6028) 6858 0 R (HD.6029) 6859 0 R (HD.603) 902 0 R (HD.6030) 6860 0 R (HD.6031) 6861 0 R (HD.6032) 6862 0 R (HD.6033) 6863 0 R (HD.6034) 6864 0 R (HD.6035) 6865 0 R (HD.6036) 6866 0 R (HD.6037) 6867 0 R (HD.6038) 6868 0 R (HD.6039) 6869 0 R (HD.604) 903 0 R (HD.6040) 6870 0 R (HD.6041) 6871 0 R (HD.6042) 6872 0 R (HD.6043) 6873 0 R (HD.6044) 6874 0 R (HD.6045) 6875 0 R (HD.6046) 6876 0 R (HD.6047) 6877 0 R (HD.6048) 6878 0 R (HD.6049) 6879 0 R (HD.605) 904 0 R (HD.6050) 6880 0 R (HD.6051) 6881 0 R ] /Limits [ (HD.6023) (HD.6051) ] >>
-endobj
-11575 0 obj
-<< /Names [ (HD.6052) 6882 0 R (HD.6053) 6883 0 R (HD.6054) 6884 0 R (HD.6055) 6885 0 R (HD.6056) 6886 0 R (HD.6057) 6887 0 R (HD.6058) 6888 0 R (HD.6059) 6889 0 R (HD.606) 905 0 R (HD.6060) 6890 0 R (HD.6061) 6891 0 R (HD.6062) 6896 0 R (HD.6063) 6897 0 R (HD.6064) 6898 0 R (HD.6065) 6899 0 R (HD.6066) 6900 0 R (HD.6067) 6901 0 R (HD.6068) 6902 0 R (HD.6069) 6903 0 R (HD.607) 906 0 R (HD.6070) 6904 0 R (HD.6071) 6905 0 R (HD.6072) 6906 0 R (HD.6073) 6907 0 R (HD.6074) 6908 0 R (HD.6075) 6909 0 R (HD.6076) 6910 0 R (HD.6077) 6911 0 R (HD.6078) 6912 0 R (HD.6079) 6913 0 R (HD.608) 907 0 R (HD.6080) 6914 0 R ] /Limits [ (HD.6052) (HD.6080) ] >>
-endobj
-11576 0 obj
-<< /Names [ (HD.6081) 6915 0 R (HD.6082) 6916 0 R (HD.6083) 6917 0 R (HD.6084) 6918 0 R (HD.6085) 6919 0 R (HD.6086) 6920 0 R (HD.6087) 6921 0 R (HD.6088) 6922 0 R (HD.6089) 6923 0 R (HD.609) 908 0 R (HD.6090) 6924 0 R (HD.6091) 6925 0 R (HD.6092) 6926 0 R (HD.6093) 6927 0 R (HD.6094) 6928 0 R (HD.6095) 6929 0 R (HD.6096) 6930 0 R (HD.6097) 6931 0 R (HD.6098) 6932 0 R (HD.6099) 6933 0 R (HD.61) 260 0 R (HD.610) 913 0 R (HD.6100) 6934 0 R (HD.6101) 6935 0 R (HD.6102) 6936 0 R (HD.6103) 6937 0 R (HD.6104) 6938 0 R (HD.6105) 6939 0 R (HD.6106) 6940 0 R (HD.6107) 6941 0 R (HD.6108) 6942 0 R (HD.6109) 6943 0 R ] /Limits [ (HD.6081) (HD.6109) ] >>
-endobj
-11577 0 obj
-<< /Names [ (HD.611) 914 0 R (HD.6110) 6944 0 R (HD.6111) 6945 0 R (HD.6112) 6946 0 R (HD.6113) 6947 0 R (HD.6114) 6948 0 R (HD.6115) 6949 0 R (HD.6116) 6950 0 R (HD.6117) 6951 0 R (HD.6118) 6952 0 R (HD.6119) 6953 0 R (HD.612) 915 0 R (HD.6120) 6954 0 R (HD.6121) 6959 0 R (HD.6122) 6960 0 R (HD.6123) 6961 0 R (HD.6124) 6962 0 R (HD.6125) 6963 0 R (HD.6126) 6964 0 R (HD.6127) 6965 0 R (HD.6128) 6966 0 R (HD.6129) 6967 0 R (HD.613) 916 0 R (HD.6130) 6968 0 R (HD.6131) 6969 0 R (HD.6132) 6970 0 R (HD.6133) 6971 0 R (HD.6134) 6972 0 R (HD.6135) 6973 0 R (HD.6136) 6974 0 R (HD.6137) 6975 0 R (HD.6138) 6976 0 R ] /Limits [ (HD.611) (HD.6138) ] >>
-endobj
-11578 0 obj
-<< /Names [ (HD.6139) 6977 0 R (HD.614) 917 0 R (HD.6140) 6978 0 R (HD.6141) 6979 0 R (HD.6142) 6980 0 R (HD.6143) 6981 0 R (HD.6144) 6982 0 R (HD.6145) 6983 0 R (HD.6146) 6984 0 R (HD.6147) 6985 0 R (HD.6148) 6986 0 R (HD.6149) 6987 0 R (HD.615) 918 0 R (HD.6150) 6988 0 R (HD.6151) 6989 0 R (HD.6152) 6990 0 R (HD.6153) 6991 0 R (HD.6154) 6992 0 R (HD.6155) 6993 0 R (HD.6156) 6994 0 R (HD.6157) 6995 0 R (HD.6158) 6996 0 R (HD.6159) 6997 0 R (HD.616) 919 0 R (HD.6160) 6998 0 R (HD.6161) 6999 0 R (HD.6162) 7000 0 R (HD.6163) 7001 0 R (HD.6164) 7002 0 R (HD.6165) 7003 0 R (HD.6166) 7008 0 R (HD.6167) 7009 0 R ] /Limits [ (HD.6139) (HD.6167) ] >>
-endobj
-11579 0 obj
-<< /Names [ (HD.6168) 7010 0 R (HD.6169) 7011 0 R (HD.617) 920 0 R (HD.6170) 7012 0 R (HD.6171) 7013 0 R (HD.6172) 7014 0 R (HD.6173) 7015 0 R (HD.6174) 7016 0 R (HD.6175) 7017 0 R (HD.6176) 7018 0 R (HD.6177) 7019 0 R (HD.6178) 7020 0 R (HD.6179) 7021 0 R (HD.618) 921 0 R (HD.6180) 7022 0 R (HD.6181) 7023 0 R (HD.6182) 7024 0 R (HD.6183) 7025 0 R (HD.6184) 7026 0 R (HD.6185) 7027 0 R (HD.6186) 7028 0 R (HD.6187) 7029 0 R (HD.6188) 7030 0 R (HD.6189) 7031 0 R (HD.619) 922 0 R (HD.6190) 7032 0 R (HD.6191) 7033 0 R (HD.6192) 7034 0 R (HD.6193) 7035 0 R (HD.6194) 7036 0 R (HD.6195) 7037 0 R (HD.6196) 7038 0 R ] /Limits [ (HD.6168) (HD.6196) ] >>
-endobj
-11580 0 obj
-<< /Names [ (HD.6197) 7039 0 R (HD.6198) 7040 0 R (HD.6199) 7041 0 R (HD.62) 261 0 R (HD.620) 923 0 R (HD.6200) 7042 0 R (HD.6201) 7043 0 R (HD.6202) 7044 0 R (HD.6203) 7045 0 R (HD.6204) 7046 0 R (HD.6205) 7047 0 R (HD.6206) 7048 0 R (HD.6207) 7049 0 R (HD.6208) 7050 0 R (HD.6209) 7051 0 R (HD.621) 924 0 R (HD.6210) 7052 0 R (HD.6211) 7053 0 R (HD.6212) 7054 0 R (HD.6213) 7055 0 R (HD.6214) 7056 0 R (HD.6215) 7057 0 R (HD.6216) 7058 0 R (HD.6217) 7059 0 R (HD.6218) 7064 0 R (HD.6219) 7065 0 R (HD.622) 925 0 R (HD.6220) 7066 0 R (HD.6221) 7067 0 R (HD.6222) 7068 0 R (HD.6223) 7069 0 R (HD.6224) 7070 0 R ] /Limits [ (HD.6197) (HD.6224) ] >>
-endobj
-11581 0 obj
-<< /Names [ (HD.6225) 7071 0 R (HD.6226) 7072 0 R (HD.6227) 7073 0 R (HD.6228) 7074 0 R (HD.6229) 7075 0 R (HD.623) 926 0 R (HD.6230) 7076 0 R (HD.6231) 7077 0 R (HD.6232) 7078 0 R (HD.6233) 7079 0 R (HD.6234) 7080 0 R (HD.6235) 7081 0 R (HD.6236) 7082 0 R (HD.6237) 7083 0 R (HD.6238) 7084 0 R (HD.6239) 7085 0 R (HD.624) 927 0 R (HD.6240) 7086 0 R (HD.6241) 7087 0 R (HD.6242) 7088 0 R (HD.6243) 7089 0 R (HD.6244) 7090 0 R (HD.6245) 7091 0 R (HD.6246) 7092 0 R (HD.6247) 7093 0 R (HD.6248) 7094 0 R (HD.6249) 7095 0 R (HD.625) 928 0 R (HD.6250) 7096 0 R (HD.6251) 7097 0 R (HD.6252) 7098 0 R (HD.6253) 7099 0 R ] /Limits [ (HD.6225) (HD.6253) ] >>
-endobj
-11582 0 obj
-<< /Names [ (HD.6254) 7100 0 R (HD.6255) 7101 0 R (HD.6256) 7102 0 R (HD.6257) 7103 0 R (HD.6258) 7104 0 R (HD.6259) 7105 0 R (HD.626) 929 0 R (HD.6260) 7106 0 R (HD.6261) 7107 0 R (HD.6262) 7108 0 R (HD.6263) 7109 0 R (HD.6264) 7110 0 R (HD.6265) 7111 0 R (HD.6266) 7112 0 R (HD.6267) 7113 0 R (HD.6268) 7114 0 R (HD.6269) 7115 0 R (HD.627) 930 0 R (HD.6270) 7116 0 R (HD.6271) 7117 0 R (HD.6272) 7118 0 R (HD.6273) 7119 0 R (HD.6274) 7120 0 R (HD.6275) 7121 0 R (HD.6276) 7122 0 R (HD.6277) 7127 0 R (HD.6278) 7128 0 R (HD.6279) 7129 0 R (HD.628) 931 0 R (HD.6280) 7130 0 R (HD.6281) 7131 0 R (HD.6282) 7132 0 R ] /Limits [ (HD.6254) (HD.6282) ] >>
-endobj
-11583 0 obj
-<< /Names [ (HD.6283) 7133 0 R (HD.6284) 7134 0 R (HD.6285) 7135 0 R (HD.6286) 7136 0 R (HD.6287) 7137 0 R (HD.6288) 7138 0 R (HD.6289) 7139 0 R (HD.629) 932 0 R (HD.6290) 7140 0 R (HD.6291) 7141 0 R (HD.6292) 7142 0 R (HD.6293) 7143 0 R (HD.6294) 7144 0 R (HD.6295) 7145 0 R (HD.6296) 7146 0 R (HD.6297) 7147 0 R (HD.6298) 7148 0 R (HD.6299) 7149 0 R (HD.63) 262 0 R (HD.630) 933 0 R (HD.6300) 7150 0 R (HD.6301) 7151 0 R (HD.6302) 7152 0 R (HD.6303) 7153 0 R (HD.6304) 7154 0 R (HD.6305) 7155 0 R (HD.6306) 7156 0 R (HD.6307) 7157 0 R (HD.6308) 7158 0 R (HD.6309) 7159 0 R (HD.631) 934 0 R (HD.6310) 7160 0 R ] /Limits [ (HD.6283) (HD.6310) ] >>
-endobj
-11584 0 obj
-<< /Names [ (HD.6311) 7161 0 R (HD.6312) 7162 0 R (HD.6313) 7163 0 R (HD.6314) 7164 0 R (HD.6315) 7165 0 R (HD.6316) 7166 0 R (HD.6317) 7167 0 R (HD.6318) 7172 0 R (HD.6319) 7173 0 R (HD.632) 935 0 R (HD.6320) 7174 0 R (HD.6321) 7175 0 R (HD.6322) 7176 0 R (HD.6323) 7177 0 R (HD.6324) 7178 0 R (HD.6325) 7179 0 R (HD.6326) 7180 0 R (HD.6327) 7181 0 R (HD.6328) 7182 0 R (HD.6329) 7183 0 R (HD.633) 936 0 R (HD.6330) 7184 0 R (HD.6331) 7185 0 R (HD.6332) 7186 0 R (HD.6333) 7187 0 R (HD.6334) 7188 0 R (HD.6335) 7189 0 R (HD.6336) 7190 0 R (HD.6337) 7191 0 R (HD.6338) 7192 0 R (HD.6339) 7193 0 R (HD.634) 937 0 R ] /Limits [ (HD.6311) (HD.634) ] >>
-endobj
-11585 0 obj
-<< /Names [ (HD.6340) 7194 0 R (HD.6341) 7195 0 R (HD.6342) 7196 0 R (HD.6343) 7197 0 R (HD.6344) 7198 0 R (HD.6345) 7199 0 R (HD.6346) 7200 0 R (HD.6347) 7201 0 R (HD.6348) 7202 0 R (HD.6349) 7203 0 R (HD.635) 938 0 R (HD.6350) 7204 0 R (HD.6351) 7205 0 R (HD.6352) 7206 0 R (HD.6353) 7207 0 R (HD.6354) 7208 0 R (HD.6355) 7209 0 R (HD.6356) 7210 0 R (HD.6357) 7211 0 R (HD.6358) 7212 0 R (HD.6359) 7213 0 R (HD.636) 939 0 R (HD.6360) 7214 0 R (HD.6361) 7215 0 R (HD.6362) 7216 0 R (HD.6363) 7217 0 R (HD.6364) 7218 0 R (HD.6365) 7219 0 R (HD.6366) 7224 0 R (HD.6367) 7225 0 R (HD.6368) 7226 0 R (HD.6369) 7227 0 R ] /Limits [ (HD.6340) (HD.6369) ] >>
-endobj
-11586 0 obj
-<< /Names [ (HD.637) 940 0 R (HD.6370) 7228 0 R (HD.6371) 7229 0 R (HD.6372) 7230 0 R (HD.6373) 7231 0 R (HD.6374) 7232 0 R (HD.6375) 7233 0 R (HD.6376) 7234 0 R (HD.6377) 7235 0 R (HD.6378) 7236 0 R (HD.6379) 7237 0 R (HD.638) 941 0 R (HD.6380) 7238 0 R (HD.6381) 7239 0 R (HD.6382) 7240 0 R (HD.6383) 7241 0 R (HD.6384) 7242 0 R (HD.6385) 7243 0 R (HD.6386) 7244 0 R (HD.6387) 7245 0 R (HD.6388) 7246 0 R (HD.6389) 7247 0 R (HD.639) 942 0 R (HD.6390) 7248 0 R (HD.6391) 7249 0 R (HD.6392) 7250 0 R (HD.6393) 7251 0 R (HD.6394) 7252 0 R (HD.6395) 7253 0 R (HD.6396) 7254 0 R (HD.6397) 7255 0 R (HD.6398) 7256 0 R ] /Limits [ (HD.637) (HD.6398) ] >>
-endobj
-11587 0 obj
-<< /Names [ (HD.6399) 7257 0 R (HD.64) 263 0 R (HD.640) 943 0 R (HD.6400) 7258 0 R (HD.6401) 7259 0 R (HD.6402) 7260 0 R (HD.6403) 7261 0 R (HD.6404) 7262 0 R (HD.6405) 7263 0 R (HD.6406) 7264 0 R (HD.6407) 7265 0 R (HD.6408) 7266 0 R (HD.6409) 7267 0 R (HD.641) 944 0 R (HD.6410) 7268 0 R (HD.6411) 7269 0 R (HD.6412) 7274 0 R (HD.6413) 7275 0 R (HD.6414) 7276 0 R (HD.6415) 7277 0 R (HD.6416) 7278 0 R (HD.6417) 7279 0 R (HD.6418) 7280 0 R (HD.6419) 7281 0 R (HD.642) 945 0 R (HD.6420) 7282 0 R (HD.6421) 7283 0 R (HD.6422) 7284 0 R (HD.6423) 7285 0 R (HD.6424) 7286 0 R (HD.6425) 7287 0 R (HD.6426) 7288 0 R ] /Limits [ (HD.6399) (HD.6426) ] >>
-endobj
-11588 0 obj
-<< /Names [ (HD.6427) 7289 0 R (HD.6428) 7290 0 R (HD.6429) 7291 0 R (HD.643) 946 0 R (HD.6430) 7292 0 R (HD.6431) 7293 0 R (HD.6432) 7294 0 R (HD.6433) 7295 0 R (HD.6434) 7296 0 R (HD.6435) 7297 0 R (HD.6436) 7298 0 R (HD.6437) 7299 0 R (HD.6438) 7300 0 R (HD.6439) 7301 0 R (HD.644) 947 0 R (HD.6440) 7302 0 R (HD.6441) 7303 0 R (HD.6442) 7304 0 R (HD.6443) 7305 0 R (HD.6444) 7306 0 R (HD.6445) 7307 0 R (HD.6446) 7308 0 R (HD.6447) 7309 0 R (HD.6448) 7310 0 R (HD.6449) 7311 0 R (HD.645) 948 0 R (HD.6450) 7312 0 R (HD.6451) 7313 0 R (HD.6452) 7314 0 R (HD.6453) 7315 0 R (HD.6454) 7316 0 R (HD.6455) 7317 0 R ] /Limits [ (HD.6427) (HD.6455) ] >>
-endobj
-11589 0 obj
-<< /Names [ (HD.6456) 7318 0 R (HD.6457) 7319 0 R (HD.6458) 7320 0 R (HD.6459) 7321 0 R (HD.646) 949 0 R (HD.6460) 7322 0 R (HD.6461) 7323 0 R (HD.6462) 7324 0 R (HD.6463) 7330 0 R (HD.6464) 7331 0 R (HD.6465) 7332 0 R (HD.6466) 7333 0 R (HD.6467) 7334 0 R (HD.6468) 7335 0 R (HD.6469) 7336 0 R (HD.647) 950 0 R (HD.6470) 7337 0 R (HD.6471) 7338 0 R (HD.6472) 7339 0 R (HD.6473) 7340 0 R (HD.6474) 7341 0 R (HD.6475) 7342 0 R (HD.6476) 7343 0 R (HD.6477) 7344 0 R (HD.6478) 7345 0 R (HD.6479) 7346 0 R (HD.648) 955 0 R (HD.6480) 7347 0 R (HD.6481) 7348 0 R (HD.6482) 7349 0 R (HD.6483) 7350 0 R (HD.6484) 7351 0 R ] /Limits [ (HD.6456) (HD.6484) ] >>
-endobj
-11590 0 obj
-<< /Names [ (HD.6485) 7352 0 R (HD.6486) 7353 0 R (HD.6487) 7354 0 R (HD.6488) 7355 0 R (HD.6489) 7356 0 R (HD.649) 956 0 R (HD.6490) 7357 0 R (HD.6491) 7358 0 R (HD.6492) 7359 0 R (HD.6493) 7360 0 R (HD.6494) 7361 0 R (HD.6495) 7362 0 R (HD.6496) 7363 0 R (HD.6497) 7364 0 R (HD.6498) 7365 0 R (HD.6499) 7366 0 R (HD.65) 264 0 R (HD.650) 957 0 R (HD.6500) 7367 0 R (HD.6501) 7368 0 R (HD.6502) 7369 0 R (HD.6503) 7370 0 R (HD.6504) 7375 0 R (HD.6505) 7376 0 R (HD.6506) 7377 0 R (HD.6507) 7378 0 R (HD.6508) 7379 0 R (HD.6509) 7380 0 R (HD.651) 958 0 R (HD.6510) 7381 0 R (HD.6511) 7382 0 R (HD.6512) 7383 0 R ] /Limits [ (HD.6485) (HD.6512) ] >>
-endobj
-11591 0 obj
-<< /Names [ (HD.6513) 7384 0 R (HD.6514) 7385 0 R (HD.6515) 7386 0 R (HD.6516) 7387 0 R (HD.6517) 7388 0 R (HD.6518) 7389 0 R (HD.6519) 7390 0 R (HD.652) 959 0 R (HD.6520) 7391 0 R (HD.6521) 7392 0 R (HD.6522) 7393 0 R (HD.6523) 7394 0 R (HD.6524) 7395 0 R (HD.6525) 7396 0 R (HD.6526) 7397 0 R (HD.6527) 7398 0 R (HD.6528) 7399 0 R (HD.6529) 7400 0 R (HD.653) 960 0 R (HD.6530) 7401 0 R (HD.6531) 7402 0 R (HD.6532) 7403 0 R (HD.6533) 7404 0 R (HD.6534) 7405 0 R (HD.6535) 7406 0 R (HD.6536) 7407 0 R (HD.6537) 7408 0 R (HD.6538) 7409 0 R (HD.6539) 7410 0 R (HD.654) 961 0 R (HD.6540) 7411 0 R (HD.6541) 7412 0 R ] /Limits [ (HD.6513) (HD.6541) ] >>
-endobj
-11592 0 obj
-<< /Names [ (HD.6542) 7413 0 R (HD.6543) 7414 0 R (HD.6544) 7415 0 R (HD.6545) 7416 0 R (HD.6546) 7417 0 R (HD.6547) 7418 0 R (HD.6548) 7419 0 R (HD.6549) 7420 0 R (HD.655) 962 0 R (HD.6550) 7421 0 R (HD.6551) 7422 0 R (HD.6552) 7423 0 R (HD.6553) 7424 0 R (HD.6554) 7425 0 R (HD.6555) 7426 0 R (HD.6556) 7427 0 R (HD.6557) 7428 0 R (HD.6558) 7429 0 R (HD.6559) 7430 0 R (HD.656) 963 0 R (HD.6560) 7431 0 R (HD.6561) 7436 0 R (HD.6562) 7437 0 R (HD.6563) 7438 0 R (HD.6564) 7439 0 R (HD.6565) 7440 0 R (HD.6566) 7441 0 R (HD.6567) 7442 0 R (HD.6568) 7443 0 R (HD.6569) 7444 0 R (HD.657) 964 0 R (HD.6570) 7445 0 R ] /Limits [ (HD.6542) (HD.6570) ] >>
-endobj
-11593 0 obj
-<< /Names [ (HD.6571) 7446 0 R (HD.6572) 7447 0 R (HD.6573) 7448 0 R (HD.6574) 7449 0 R (HD.6575) 7450 0 R (HD.6576) 7451 0 R (HD.6577) 7452 0 R (HD.6578) 7453 0 R (HD.6579) 7454 0 R (HD.658) 965 0 R (HD.6580) 7455 0 R (HD.6581) 7456 0 R (HD.6582) 7457 0 R (HD.6583) 7458 0 R (HD.6584) 7459 0 R (HD.6585) 7460 0 R (HD.6586) 7461 0 R (HD.6587) 7462 0 R (HD.6588) 7463 0 R (HD.6589) 7464 0 R (HD.659) 966 0 R (HD.6590) 7465 0 R (HD.6591) 7466 0 R (HD.6592) 7467 0 R (HD.6593) 7468 0 R (HD.6594) 7469 0 R (HD.6595) 7470 0 R (HD.6596) 7471 0 R (HD.6597) 7472 0 R (HD.6598) 7473 0 R (HD.6599) 7474 0 R (HD.66) 265 0 R ] /Limits [ (HD.6571) (HD.66) ] >>
-endobj
-11594 0 obj
-<< /Names [ (HD.660) 967 0 R (HD.6600) 7475 0 R (HD.6601) 7476 0 R (HD.6602) 7477 0 R (HD.6603) 7478 0 R (HD.6604) 7479 0 R (HD.6605) 7480 0 R (HD.6606) 7481 0 R (HD.6607) 7482 0 R (HD.6608) 7483 0 R (HD.6609) 7484 0 R (HD.661) 968 0 R (HD.6610) 7485 0 R (HD.6611) 7486 0 R (HD.6612) 7487 0 R (HD.6613) 7488 0 R (HD.6614) 7489 0 R (HD.6615) 7490 0 R (HD.6616) 7495 0 R (HD.6617) 7496 0 R (HD.6618) 7497 0 R (HD.6619) 7498 0 R (HD.662) 969 0 R (HD.6620) 7499 0 R (HD.6621) 7500 0 R (HD.6622) 7501 0 R (HD.6623) 7502 0 R (HD.6624) 7503 0 R (HD.6625) 7504 0 R (HD.6626) 7505 0 R (HD.6627) 7506 0 R (HD.6628) 7507 0 R ] /Limits [ (HD.660) (HD.6628) ] >>
-endobj
-11595 0 obj
-<< /Names [ (HD.6629) 7508 0 R (HD.663) 970 0 R (HD.6630) 7509 0 R (HD.6631) 7510 0 R (HD.6632) 7511 0 R (HD.6633) 7512 0 R (HD.6634) 7513 0 R (HD.6635) 7514 0 R (HD.6636) 7515 0 R (HD.6637) 7516 0 R (HD.6638) 7517 0 R (HD.6639) 7518 0 R (HD.664) 971 0 R (HD.6640) 7519 0 R (HD.6641) 7520 0 R (HD.6642) 7521 0 R (HD.6643) 7522 0 R (HD.6644) 7523 0 R (HD.6645) 7524 0 R (HD.6646) 7525 0 R (HD.6647) 7526 0 R (HD.6648) 7531 0 R (HD.6649) 7532 0 R (HD.665) 972 0 R (HD.6650) 7533 0 R (HD.6651) 7534 0 R (HD.6652) 7535 0 R (HD.6653) 7536 0 R (HD.6654) 7537 0 R (HD.6655) 7538 0 R (HD.6656) 7539 0 R (HD.6657) 7540 0 R ] /Limits [ (HD.6629) (HD.6657) ] >>
-endobj
-11596 0 obj
-<< /Names [ (HD.6658) 7541 0 R (HD.6659) 7542 0 R (HD.666) 973 0 R (HD.6660) 7543 0 R (HD.6661) 7544 0 R (HD.6662) 7545 0 R (HD.6663) 7546 0 R (HD.6664) 7547 0 R (HD.6665) 7548 0 R (HD.6666) 7549 0 R (HD.6667) 7550 0 R (HD.6668) 7551 0 R (HD.6669) 7552 0 R (HD.667) 974 0 R (HD.6670) 7553 0 R (HD.6671) 7554 0 R (HD.6672) 7555 0 R (HD.6673) 7556 0 R (HD.6674) 7557 0 R (HD.6675) 7558 0 R (HD.6676) 7559 0 R (HD.6677) 7560 0 R (HD.6678) 7561 0 R (HD.6679) 7562 0 R (HD.668) 975 0 R (HD.6680) 7563 0 R (HD.6681) 7564 0 R (HD.6682) 7565 0 R (HD.6683) 7566 0 R (HD.6684) 7567 0 R (HD.6685) 7568 0 R (HD.6686) 7569 0 R ] /Limits [ (HD.6658) (HD.6686) ] >>
-endobj
-11597 0 obj
-<< /Names [ (HD.6687) 7570 0 R (HD.6688) 7571 0 R (HD.6689) 7572 0 R (HD.669) 976 0 R (HD.6690) 7573 0 R (HD.6691) 7574 0 R (HD.6692) 7575 0 R (HD.6693) 7576 0 R (HD.6694) 7577 0 R (HD.6695) 7578 0 R (HD.6696) 7579 0 R (HD.6697) 7580 0 R (HD.6698) 7581 0 R (HD.6699) 7582 0 R (HD.67) 266 0 R (HD.670) 977 0 R (HD.6700) 7583 0 R (HD.6701) 7588 0 R (HD.6702) 7589 0 R (HD.6703) 7590 0 R (HD.6704) 7591 0 R (HD.6705) 7592 0 R (HD.6706) 7593 0 R (HD.6707) 7594 0 R (HD.6708) 7595 0 R (HD.6709) 7596 0 R (HD.671) 978 0 R (HD.6710) 7597 0 R (HD.6711) 7598 0 R (HD.6712) 7599 0 R (HD.6713) 7600 0 R (HD.6714) 7601 0 R ] /Limits [ (HD.6687) (HD.6714) ] >>
-endobj
-11598 0 obj
-<< /Names [ (HD.6715) 7602 0 R (HD.6716) 7603 0 R (HD.6717) 7604 0 R (HD.6718) 7605 0 R (HD.6719) 7606 0 R (HD.672) 979 0 R (HD.6720) 7607 0 R (HD.6721) 7608 0 R (HD.6722) 7609 0 R (HD.6723) 7610 0 R (HD.6724) 7611 0 R (HD.6725) 7612 0 R (HD.6726) 7613 0 R (HD.6727) 7614 0 R (HD.6728) 7615 0 R (HD.6729) 7616 0 R (HD.673) 980 0 R (HD.6730) 7617 0 R (HD.6731) 7618 0 R (HD.6732) 7619 0 R (HD.6733) 7620 0 R (HD.6734) 7621 0 R (HD.6735) 7622 0 R (HD.6736) 7623 0 R (HD.6737) 7624 0 R (HD.6738) 7625 0 R (HD.6739) 7626 0 R (HD.674) 981 0 R (HD.6740) 7627 0 R (HD.6741) 7628 0 R (HD.6742) 7629 0 R (HD.6743) 7630 0 R ] /Limits [ (HD.6715) (HD.6743) ] >>
-endobj
-11599 0 obj
-<< /Names [ (HD.6744) 7631 0 R (HD.6745) 7636 0 R (HD.6746) 7637 0 R (HD.6747) 7638 0 R (HD.6748) 7639 0 R (HD.6749) 7640 0 R (HD.675) 982 0 R (HD.6750) 7641 0 R (HD.6751) 7642 0 R (HD.6752) 7643 0 R (HD.6753) 7644 0 R (HD.6754) 7645 0 R (HD.6755) 7646 0 R (HD.6756) 7647 0 R (HD.6757) 7648 0 R (HD.6758) 7649 0 R (HD.6759) 7650 0 R (HD.676) 983 0 R (HD.6760) 7651 0 R (HD.6761) 7652 0 R (HD.6762) 7653 0 R (HD.6763) 7654 0 R (HD.6764) 7655 0 R (HD.6765) 7656 0 R (HD.6766) 7657 0 R (HD.6767) 7658 0 R (HD.6768) 7659 0 R (HD.6769) 7660 0 R (HD.677) 984 0 R (HD.6770) 7661 0 R (HD.6771) 7662 0 R (HD.6772) 7663 0 R ] /Limits [ (HD.6744) (HD.6772) ] >>
-endobj
-11600 0 obj
-<< /Names [ (HD.6773) 7664 0 R (HD.6774) 7665 0 R (HD.6775) 7666 0 R (HD.6776) 7667 0 R (HD.6777) 7668 0 R (HD.6778) 7669 0 R (HD.6779) 7670 0 R (HD.678) 985 0 R (HD.6780) 7671 0 R (HD.6781) 7672 0 R (HD.6782) 7673 0 R (HD.6783) 7674 0 R (HD.6784) 7675 0 R (HD.6785) 7676 0 R (HD.6786) 7677 0 R (HD.6787) 7678 0 R (HD.6788) 7683 0 R (HD.6789) 7684 0 R (HD.679) 986 0 R (HD.6790) 7685 0 R (HD.6791) 7686 0 R (HD.6792) 7687 0 R (HD.6793) 7688 0 R (HD.6794) 7689 0 R (HD.6795) 7690 0 R (HD.6796) 7691 0 R (HD.6797) 7692 0 R (HD.6798) 7693 0 R (HD.6799) 7694 0 R (HD.68) 267 0 R (HD.680) 987 0 R (HD.6800) 7695 0 R ] /Limits [ (HD.6773) (HD.6800) ] >>
-endobj
-11601 0 obj
-<< /Names [ (HD.6801) 7696 0 R (HD.6802) 7697 0 R (HD.6803) 7698 0 R (HD.6804) 7699 0 R (HD.6805) 7700 0 R (HD.6806) 7701 0 R (HD.6807) 7702 0 R (HD.6808) 7703 0 R (HD.6809) 7704 0 R (HD.681) 988 0 R (HD.6810) 7705 0 R (HD.6811) 7706 0 R (HD.6812) 7707 0 R (HD.6813) 7708 0 R (HD.6814) 7709 0 R (HD.6815) 7710 0 R (HD.6816) 7711 0 R (HD.6817) 7712 0 R (HD.6818) 7713 0 R (HD.6819) 7714 0 R (HD.682) 989 0 R (HD.6820) 7715 0 R (HD.6821) 7716 0 R (HD.6822) 7722 0 R (HD.6823) 7723 0 R (HD.6824) 7724 0 R (HD.6825) 7725 0 R (HD.6826) 7726 0 R (HD.6827) 7727 0 R (HD.6828) 7728 0 R (HD.6829) 7729 0 R (HD.683) 990 0 R ] /Limits [ (HD.6801) (HD.683) ] >>
-endobj
-11602 0 obj
-<< /Names [ (HD.6830) 7730 0 R (HD.6831) 7731 0 R (HD.6832) 7732 0 R (HD.6833) 7733 0 R (HD.6834) 7734 0 R (HD.6835) 7735 0 R (HD.6836) 7736 0 R (HD.6837) 7737 0 R (HD.6838) 7738 0 R (HD.6839) 7739 0 R (HD.684) 991 0 R (HD.6840) 7740 0 R (HD.6841) 7741 0 R (HD.6842) 7742 0 R (HD.6843) 7743 0 R (HD.6844) 7744 0 R (HD.6845) 7745 0 R (HD.6846) 7746 0 R (HD.6847) 7747 0 R (HD.6848) 7748 0 R (HD.6849) 7749 0 R (HD.685) 992 0 R (HD.6850) 7750 0 R (HD.6851) 7751 0 R (HD.6852) 7752 0 R (HD.6853) 7753 0 R (HD.6854) 7754 0 R (HD.6855) 7755 0 R (HD.6856) 7756 0 R (HD.6857) 7757 0 R (HD.6858) 7758 0 R (HD.6859) 7759 0 R ] /Limits [ (HD.6830) (HD.6859) ] >>
-endobj
-11603 0 obj
-<< /Names [ (HD.686) 993 0 R (HD.6860) 7760 0 R (HD.6861) 7761 0 R (HD.6862) 7762 0 R (HD.6863) 7763 0 R (HD.6864) 7770 0 R (HD.6865) 7771 0 R (HD.6866) 7772 0 R (HD.6867) 7773 0 R (HD.6868) 7774 0 R (HD.6869) 7775 0 R (HD.687) 994 0 R (HD.6870) 7776 0 R (HD.6871) 7777 0 R (HD.6872) 7778 0 R (HD.6873) 7779 0 R (HD.6874) 7780 0 R (HD.6875) 7781 0 R (HD.6876) 7782 0 R (HD.6877) 7783 0 R (HD.6878) 7784 0 R (HD.6879) 7785 0 R (HD.688) 995 0 R (HD.6880) 7786 0 R (HD.6881) 7787 0 R (HD.6882) 7788 0 R (HD.6883) 7789 0 R (HD.6884) 7790 0 R (HD.6885) 7791 0 R (HD.6886) 7792 0 R (HD.6887) 7793 0 R (HD.6888) 7794 0 R ] /Limits [ (HD.686) (HD.6888) ] >>
-endobj
-11604 0 obj
-<< /Names [ (HD.6889) 7795 0 R (HD.689) 996 0 R (HD.6890) 7796 0 R (HD.6891) 7797 0 R (HD.6892) 7798 0 R (HD.6893) 7799 0 R (HD.6894) 7800 0 R (HD.6895) 7801 0 R (HD.6896) 7802 0 R (HD.6897) 7803 0 R (HD.6898) 7804 0 R (HD.6899) 7805 0 R (HD.69) 268 0 R (HD.690) 997 0 R (HD.6900) 7806 0 R (HD.6901) 7807 0 R (HD.6902) 7808 0 R (HD.6903) 7809 0 R (HD.6904) 7810 0 R (HD.6905) 7811 0 R (HD.6906) 7812 0 R (HD.6907) 7813 0 R (HD.6908) 7814 0 R (HD.6909) 7815 0 R (HD.691) 998 0 R (HD.6910) 7816 0 R (HD.6911) 7817 0 R (HD.6912) 7818 0 R (HD.6913) 7819 0 R (HD.6914) 7820 0 R (HD.6915) 7821 0 R (HD.6916) 7822 0 R ] /Limits [ (HD.6889) (HD.6916) ] >>
-endobj
-11605 0 obj
-<< /Names [ (HD.6917) 7823 0 R (HD.6918) 7824 0 R (HD.6919) 7830 0 R (HD.692) 999 0 R (HD.6920) 7831 0 R (HD.6921) 7832 0 R (HD.6922) 7833 0 R (HD.6923) 7834 0 R (HD.6924) 7835 0 R (HD.6925) 7836 0 R (HD.6926) 7837 0 R (HD.6927) 7838 0 R (HD.6928) 7839 0 R (HD.6929) 7840 0 R (HD.693) 1000 0 R (HD.6930) 7841 0 R (HD.6931) 7842 0 R (HD.6932) 7843 0 R (HD.6933) 7844 0 R (HD.6934) 7845 0 R (HD.6935) 7846 0 R (HD.6936) 7847 0 R (HD.6937) 7848 0 R (HD.6938) 7849 0 R (HD.6939) 7850 0 R (HD.694) 1001 0 R (HD.6940) 7851 0 R (HD.6941) 7852 0 R (HD.6942) 7853 0 R (HD.6943) 7854 0 R (HD.6944) 7855 0 R (HD.6945) 7856 0 R ] /Limits [ (HD.6917) (HD.6945) ] >>
-endobj
-11606 0 obj
-<< /Names [ (HD.6946) 7857 0 R (HD.6947) 7858 0 R (HD.6948) 7859 0 R (HD.6949) 7860 0 R (HD.695) 1006 0 R (HD.6950) 7861 0 R (HD.6951) 7862 0 R (HD.6952) 7863 0 R (HD.6953) 7864 0 R (HD.6954) 7865 0 R (HD.6955) 7866 0 R (HD.6956) 7867 0 R (HD.6957) 7868 0 R (HD.6958) 7869 0 R (HD.6959) 7870 0 R (HD.696) 1007 0 R (HD.6960) 7871 0 R (HD.6961) 7872 0 R (HD.6962) 7877 0 R (HD.6963) 7878 0 R (HD.6964) 7879 0 R (HD.6965) 7880 0 R (HD.6966) 7881 0 R (HD.6967) 7882 0 R (HD.6968) 7883 0 R (HD.6969) 7884 0 R (HD.697) 1008 0 R (HD.6970) 7885 0 R (HD.6971) 7886 0 R (HD.6972) 7887 0 R (HD.6973) 7888 0 R (HD.6974) 7889 0 R ] /Limits [ (HD.6946) (HD.6974) ] >>
-endobj
-11607 0 obj
-<< /Names [ (HD.6975) 7890 0 R (HD.6976) 7891 0 R (HD.6977) 7892 0 R (HD.6978) 7893 0 R (HD.6979) 7894 0 R (HD.698) 1009 0 R (HD.6980) 7895 0 R (HD.6981) 7896 0 R (HD.6982) 7897 0 R (HD.6983) 7898 0 R (HD.6984) 7899 0 R (HD.6985) 7900 0 R (HD.6986) 7901 0 R (HD.6987) 7902 0 R (HD.6988) 7903 0 R (HD.6989) 7904 0 R (HD.699) 1010 0 R (HD.6990) 7905 0 R (HD.6991) 7906 0 R (HD.6992) 7907 0 R (HD.6993) 7908 0 R (HD.6994) 7909 0 R (HD.6995) 7910 0 R (HD.6996) 7911 0 R (HD.6997) 7912 0 R (HD.6998) 7913 0 R (HD.6999) 7914 0 R (HD.7) 195 0 R (HD.70) 269 0 R (HD.700) 1011 0 R (HD.7000) 7915 0 R (HD.7001) 7916 0 R ] /Limits [ (HD.6975) (HD.7001) ] >>
-endobj
-11608 0 obj
-<< /Names [ (HD.7002) 7917 0 R (HD.7003) 7918 0 R (HD.7004) 7919 0 R (HD.7005) 7920 0 R (HD.7006) 7921 0 R (HD.7007) 7922 0 R (HD.7008) 7927 0 R (HD.7009) 7928 0 R (HD.701) 1012 0 R (HD.7010) 7929 0 R (HD.7011) 7930 0 R (HD.7012) 7931 0 R (HD.7013) 7932 0 R (HD.7014) 7933 0 R (HD.7015) 7934 0 R (HD.7016) 7935 0 R (HD.7017) 7936 0 R (HD.7018) 7937 0 R (HD.7019) 7938 0 R (HD.702) 1013 0 R (HD.7020) 7939 0 R (HD.7021) 7940 0 R (HD.7022) 7941 0 R (HD.7023) 7942 0 R (HD.7024) 7943 0 R (HD.7025) 7944 0 R (HD.7026) 7945 0 R (HD.7027) 7946 0 R (HD.7028) 7947 0 R (HD.7029) 7948 0 R (HD.703) 1014 0 R (HD.7030) 7949 0 R ] /Limits [ (HD.7002) (HD.7030) ] >>
-endobj
-11609 0 obj
-<< /Names [ (HD.7031) 7950 0 R (HD.7032) 7951 0 R (HD.7033) 7952 0 R (HD.7034) 7953 0 R (HD.7035) 7954 0 R (HD.7036) 7955 0 R (HD.7037) 7956 0 R (HD.7038) 7957 0 R (HD.7039) 7958 0 R (HD.704) 1015 0 R (HD.7040) 7959 0 R (HD.7041) 7960 0 R (HD.7042) 7961 0 R (HD.7043) 7962 0 R (HD.7044) 7963 0 R (HD.7045) 7968 0 R (HD.7046) 7969 0 R (HD.7047) 7970 0 R (HD.7048) 7971 0 R (HD.7049) 7972 0 R (HD.705) 1016 0 R (HD.7050) 7973 0 R (HD.7051) 7974 0 R (HD.7052) 7975 0 R (HD.7053) 7976 0 R (HD.7054) 7977 0 R (HD.7055) 7978 0 R (HD.7056) 7979 0 R (HD.7057) 7980 0 R (HD.7058) 7981 0 R (HD.7059) 7982 0 R (HD.706) 1017 0 R ] /Limits [ (HD.7031) (HD.706) ] >>
-endobj
-11610 0 obj
-<< /Names [ (HD.7060) 7983 0 R (HD.7061) 7984 0 R (HD.7062) 7985 0 R (HD.7063) 7986 0 R (HD.7064) 7987 0 R (HD.7065) 7988 0 R (HD.7066) 7989 0 R (HD.7067) 7990 0 R (HD.7068) 7991 0 R (HD.7069) 7992 0 R (HD.707) 1018 0 R (HD.7070) 7993 0 R (HD.7071) 7994 0 R (HD.7072) 7995 0 R (HD.7073) 7996 0 R (HD.7074) 7997 0 R (HD.7075) 7998 0 R (HD.7076) 7999 0 R (HD.7077) 8000 0 R (HD.7078) 8001 0 R (HD.7079) 8002 0 R (HD.708) 1019 0 R (HD.7080) 8003 0 R (HD.7081) 8004 0 R (HD.7082) 8005 0 R (HD.7083) 8006 0 R (HD.7084) 8011 0 R (HD.7085) 8012 0 R (HD.7086) 8013 0 R (HD.7087) 8014 0 R (HD.7088) 8015 0 R (HD.7089) 8016 0 R ] /Limits [ (HD.7060) (HD.7089) ] >>
-endobj
-11611 0 obj
-<< /Names [ (HD.709) 1020 0 R (HD.7090) 8017 0 R (HD.7091) 8018 0 R (HD.7092) 8019 0 R (HD.7093) 8020 0 R (HD.7094) 8021 0 R (HD.7095) 8022 0 R (HD.7096) 8023 0 R (HD.7097) 8024 0 R (HD.7098) 8025 0 R (HD.7099) 8026 0 R (HD.71) 270 0 R (HD.710) 1021 0 R (HD.7100) 8027 0 R (HD.7101) 8028 0 R (HD.7102) 8029 0 R (HD.7103) 8030 0 R (HD.7104) 8031 0 R (HD.7105) 8032 0 R (HD.7106) 8033 0 R (HD.7107) 8034 0 R (HD.7108) 8035 0 R (HD.7109) 8036 0 R (HD.711) 1022 0 R (HD.7110) 8037 0 R (HD.7111) 8038 0 R (HD.7112) 8039 0 R (HD.7113) 8040 0 R (HD.7114) 8041 0 R (HD.7115) 8042 0 R (HD.7116) 8043 0 R (HD.7117) 8044 0 R ] /Limits [ (HD.709) (HD.7117) ] >>
-endobj
-11612 0 obj
-<< /Names [ (HD.7118) 8050 0 R (HD.7119) 8051 0 R (HD.712) 1023 0 R (HD.7120) 8052 0 R (HD.7121) 8053 0 R (HD.7122) 8054 0 R (HD.7123) 8055 0 R (HD.7124) 8056 0 R (HD.7125) 8057 0 R (HD.7126) 8058 0 R (HD.7127) 8059 0 R (HD.7128) 8060 0 R (HD.7129) 8061 0 R (HD.713) 1024 0 R (HD.7130) 8062 0 R (HD.7131) 8063 0 R (HD.7132) 8064 0 R (HD.7133) 8065 0 R (HD.7134) 8066 0 R (HD.7135) 8067 0 R (HD.7136) 8068 0 R (HD.7137) 8069 0 R (HD.7138) 8070 0 R (HD.7139) 8071 0 R (HD.714) 1025 0 R (HD.7140) 8072 0 R (HD.7141) 8073 0 R (HD.7142) 8074 0 R (HD.7143) 8075 0 R (HD.7144) 8076 0 R (HD.7145) 8077 0 R (HD.7146) 8078 0 R ] /Limits [ (HD.7118) (HD.7146) ] >>
-endobj
-11613 0 obj
-<< /Names [ (HD.7147) 8079 0 R (HD.7148) 8080 0 R (HD.7149) 8081 0 R (HD.715) 1026 0 R (HD.7150) 8082 0 R (HD.7151) 8083 0 R (HD.7152) 8084 0 R (HD.7153) 8085 0 R (HD.7154) 8086 0 R (HD.7155) 8087 0 R (HD.7156) 8088 0 R (HD.7157) 8089 0 R (HD.7158) 8090 0 R (HD.7159) 8091 0 R (HD.716) 1027 0 R (HD.7160) 8092 0 R (HD.7161) 8093 0 R (HD.7162) 8101 0 R (HD.7163) 8102 0 R (HD.7164) 8103 0 R (HD.7165) 8104 0 R (HD.7166) 8105 0 R (HD.7167) 8106 0 R (HD.7168) 8107 0 R (HD.7169) 8108 0 R (HD.717) 1028 0 R (HD.7170) 8109 0 R (HD.7171) 8110 0 R (HD.7172) 8111 0 R (HD.7173) 8112 0 R (HD.7174) 8113 0 R (HD.7175) 8114 0 R ] /Limits [ (HD.7147) (HD.7175) ] >>
-endobj
-11614 0 obj
-<< /Names [ (HD.7176) 8115 0 R (HD.7177) 8116 0 R (HD.7178) 8117 0 R (HD.7179) 8118 0 R (HD.718) 1029 0 R (HD.7180) 8119 0 R (HD.7181) 8120 0 R (HD.7182) 8121 0 R (HD.7183) 8122 0 R (HD.7184) 8123 0 R (HD.7185) 8124 0 R (HD.7186) 8125 0 R (HD.7187) 8126 0 R (HD.7188) 8127 0 R (HD.7189) 8128 0 R (HD.719) 1030 0 R (HD.7190) 8129 0 R (HD.7191) 8130 0 R (HD.7192) 8131 0 R (HD.7193) 8132 0 R (HD.7194) 8133 0 R (HD.7195) 8134 0 R (HD.7196) 8135 0 R (HD.7197) 8136 0 R (HD.7198) 8137 0 R (HD.7199) 8138 0 R (HD.72) 271 0 R (HD.720) 1031 0 R (HD.7200) 8139 0 R (HD.7201) 8140 0 R (HD.7202) 8141 0 R (HD.7203) 8142 0 R ] /Limits [ (HD.7176) (HD.7203) ] >>
-endobj
-11615 0 obj
-<< /Names [ (HD.7204) 8143 0 R (HD.7205) 8144 0 R (HD.7206) 8145 0 R (HD.7207) 8146 0 R (HD.7208) 8147 0 R (HD.7209) 8148 0 R (HD.721) 1032 0 R (HD.7210) 8149 0 R (HD.7211) 8150 0 R (HD.7212) 8151 0 R (HD.7213) 8152 0 R (HD.7214) 8153 0 R (HD.7215) 8154 0 R (HD.7216) 8155 0 R (HD.7217) 8160 0 R (HD.7218) 8161 0 R (HD.7219) 8162 0 R (HD.722) 1033 0 R (HD.7220) 8163 0 R (HD.7221) 8164 0 R (HD.7222) 8165 0 R (HD.7223) 8166 0 R (HD.7224) 8167 0 R (HD.7225) 8168 0 R (HD.7226) 8169 0 R (HD.7227) 8170 0 R (HD.7228) 8171 0 R (HD.7229) 8172 0 R (HD.723) 1038 0 R (HD.7230) 8173 0 R (HD.7231) 8174 0 R (HD.7232) 8175 0 R ] /Limits [ (HD.7204) (HD.7232) ] >>
-endobj
-11616 0 obj
-<< /Names [ (HD.7233) 8176 0 R (HD.7234) 8177 0 R (HD.7235) 8178 0 R (HD.7236) 8179 0 R (HD.7237) 8180 0 R (HD.7238) 8181 0 R (HD.7239) 8182 0 R (HD.724) 1039 0 R (HD.7240) 8183 0 R (HD.7241) 8184 0 R (HD.7242) 8185 0 R (HD.7243) 8186 0 R (HD.7244) 8187 0 R (HD.7245) 8188 0 R (HD.7246) 8189 0 R (HD.7247) 8190 0 R (HD.7248) 8191 0 R (HD.7249) 8192 0 R (HD.725) 1040 0 R (HD.7250) 8193 0 R (HD.7251) 8194 0 R (HD.7252) 8195 0 R (HD.7253) 8196 0 R (HD.7254) 8197 0 R (HD.7255) 8198 0 R (HD.7256) 8199 0 R (HD.7257) 8200 0 R (HD.7258) 8201 0 R (HD.7259) 8202 0 R (HD.726) 1041 0 R (HD.7260) 8203 0 R (HD.7261) 8204 0 R ] /Limits [ (HD.7233) (HD.7261) ] >>
-endobj
-11617 0 obj
-<< /Names [ (HD.7262) 8205 0 R (HD.7263) 8206 0 R (HD.7264) 8207 0 R (HD.7265) 8208 0 R (HD.7266) 8209 0 R (HD.7267) 8214 0 R (HD.7268) 8215 0 R (HD.7269) 8216 0 R (HD.727) 1042 0 R (HD.7270) 8217 0 R (HD.7271) 8218 0 R (HD.7272) 8219 0 R (HD.7273) 8220 0 R (HD.7274) 8221 0 R (HD.7275) 8222 0 R (HD.7276) 8223 0 R (HD.7277) 8224 0 R (HD.7278) 8225 0 R (HD.7279) 8226 0 R (HD.728) 1043 0 R (HD.7280) 8227 0 R (HD.7281) 8228 0 R (HD.7282) 8229 0 R (HD.7283) 8230 0 R (HD.7284) 8231 0 R (HD.7285) 8232 0 R (HD.7286) 8233 0 R (HD.7287) 8234 0 R (HD.7288) 8235 0 R (HD.7289) 8236 0 R (HD.729) 1044 0 R (HD.7290) 8237 0 R ] /Limits [ (HD.7262) (HD.7290) ] >>
-endobj
-11618 0 obj
-<< /Names [ (HD.7291) 8238 0 R (HD.7292) 8239 0 R (HD.7293) 8240 0 R (HD.7294) 8241 0 R (HD.7295) 8242 0 R (HD.7296) 8243 0 R (HD.7297) 8244 0 R (HD.7298) 8245 0 R (HD.7299) 8246 0 R (HD.73) 272 0 R (HD.730) 1045 0 R (HD.7300) 8247 0 R (HD.7301) 8248 0 R (HD.7302) 8249 0 R (HD.7303) 8250 0 R (HD.7304) 8251 0 R (HD.7305) 8252 0 R (HD.7306) 8253 0 R (HD.7307) 8254 0 R (HD.7308) 8255 0 R (HD.7309) 8256 0 R (HD.731) 1046 0 R (HD.7310) 8257 0 R (HD.7311) 8258 0 R (HD.7312) 8259 0 R (HD.7313) 8260 0 R (HD.7314) 8261 0 R (HD.7315) 8262 0 R (HD.7316) 8267 0 R (HD.7317) 8268 0 R (HD.7318) 8269 0 R (HD.7319) 8270 0 R ] /Limits [ (HD.7291) (HD.7319) ] >>
-endobj
-11619 0 obj
-<< /Names [ (HD.732) 1047 0 R (HD.7320) 8271 0 R (HD.7321) 8272 0 R (HD.7322) 8273 0 R (HD.7323) 8274 0 R (HD.7324) 8275 0 R (HD.7325) 8276 0 R (HD.7326) 8277 0 R (HD.7327) 8278 0 R (HD.7328) 8279 0 R (HD.7329) 8280 0 R (HD.733) 1048 0 R (HD.7330) 8281 0 R (HD.7331) 8282 0 R (HD.7332) 8283 0 R (HD.7333) 8284 0 R (HD.7334) 8285 0 R (HD.7335) 8286 0 R (HD.7336) 8287 0 R (HD.7337) 8288 0 R (HD.7338) 8289 0 R (HD.7339) 8290 0 R (HD.734) 1049 0 R (HD.7340) 8291 0 R (HD.7341) 8292 0 R (HD.7342) 8293 0 R (HD.7343) 8294 0 R (HD.7344) 8295 0 R (HD.7345) 8296 0 R (HD.7346) 8297 0 R (HD.7347) 8298 0 R (HD.7348) 8299 0 R ] /Limits [ (HD.732) (HD.7348) ] >>
-endobj
-11620 0 obj
-<< /Names [ (HD.7349) 8300 0 R (HD.735) 1050 0 R (HD.7350) 8301 0 R (HD.7351) 8302 0 R (HD.7352) 8303 0 R (HD.7353) 8304 0 R (HD.7354) 8305 0 R (HD.7355) 8306 0 R (HD.7356) 8307 0 R (HD.7357) 8308 0 R (HD.7358) 8309 0 R (HD.7359) 8310 0 R (HD.736) 1051 0 R (HD.7360) 8311 0 R (HD.7361) 8312 0 R (HD.7362) 8313 0 R (HD.7363) 8314 0 R (HD.7364) 8315 0 R (HD.7365) 8316 0 R (HD.7366) 8317 0 R (HD.7367) 8318 0 R (HD.7368) 8319 0 R (HD.7369) 8320 0 R (HD.737) 1052 0 R (HD.7370) 8326 0 R (HD.7371) 8327 0 R (HD.7372) 8328 0 R (HD.7373) 8329 0 R (HD.7374) 8330 0 R (HD.7375) 8331 0 R (HD.7376) 8332 0 R (HD.7377) 8333 0 R ] /Limits [ (HD.7349) (HD.7377) ] >>
-endobj
-11621 0 obj
-<< /Names [ (HD.7378) 8334 0 R (HD.7379) 8335 0 R (HD.738) 1053 0 R (HD.7380) 8336 0 R (HD.7381) 8337 0 R (HD.7382) 8338 0 R (HD.7383) 8339 0 R (HD.7384) 8340 0 R (HD.7385) 8341 0 R (HD.7386) 8342 0 R (HD.7387) 8343 0 R (HD.7388) 8344 0 R (HD.7389) 8345 0 R (HD.739) 1054 0 R (HD.7390) 8346 0 R (HD.7391) 8347 0 R (HD.7392) 8348 0 R (HD.7393) 8349 0 R (HD.7394) 8350 0 R (HD.7395) 8351 0 R (HD.7396) 8352 0 R (HD.7397) 8353 0 R (HD.7398) 8354 0 R (HD.7399) 8355 0 R (HD.74) 273 0 R (HD.740) 1055 0 R (HD.7400) 8356 0 R (HD.7401) 8357 0 R (HD.7402) 8358 0 R (HD.7403) 8359 0 R (HD.7404) 8360 0 R (HD.7405) 8361 0 R ] /Limits [ (HD.7378) (HD.7405) ] >>
-endobj
-11622 0 obj
-<< /Names [ (HD.7406) 8362 0 R (HD.7407) 8363 0 R (HD.7408) 8364 0 R (HD.7409) 8365 0 R (HD.741) 1056 0 R (HD.7410) 8366 0 R (HD.7411) 8367 0 R (HD.7412) 8368 0 R (HD.7413) 8369 0 R (HD.7414) 8370 0 R (HD.7415) 8371 0 R (HD.7416) 8372 0 R (HD.7417) 8373 0 R (HD.7418) 8374 0 R (HD.7419) 8375 0 R (HD.742) 1057 0 R (HD.7420) 8380 0 R (HD.7421) 8381 0 R (HD.7422) 8382 0 R (HD.7423) 8383 0 R (HD.7424) 8384 0 R (HD.7425) 8385 0 R (HD.7426) 8386 0 R (HD.7427) 8387 0 R (HD.7428) 8388 0 R (HD.7429) 8389 0 R (HD.743) 1058 0 R (HD.7430) 8390 0 R (HD.7431) 8391 0 R (HD.7432) 8392 0 R (HD.7433) 8393 0 R (HD.7434) 8394 0 R ] /Limits [ (HD.7406) (HD.7434) ] >>
-endobj
-11623 0 obj
-<< /Names [ (HD.7435) 8395 0 R (HD.7436) 8396 0 R (HD.7437) 8397 0 R (HD.7438) 8398 0 R (HD.7439) 8399 0 R (HD.744) 1059 0 R (HD.7440) 8400 0 R (HD.7441) 8401 0 R (HD.7442) 8402 0 R (HD.7443) 8403 0 R (HD.7444) 8404 0 R (HD.7445) 8405 0 R (HD.7446) 8406 0 R (HD.7447) 8407 0 R (HD.7448) 8408 0 R (HD.7449) 8409 0 R (HD.745) 1060 0 R (HD.7450) 8410 0 R (HD.7451) 8411 0 R (HD.7452) 8412 0 R (HD.7453) 8413 0 R (HD.7454) 8414 0 R (HD.7455) 8415 0 R (HD.7456) 8416 0 R (HD.7457) 8417 0 R (HD.7458) 8418 0 R (HD.7459) 8419 0 R (HD.746) 1061 0 R (HD.7460) 8420 0 R (HD.7461) 8421 0 R (HD.7462) 8422 0 R (HD.7463) 8423 0 R ] /Limits [ (HD.7435) (HD.7463) ] >>
-endobj
-11624 0 obj
-<< /Names [ (HD.7464) 8424 0 R (HD.7465) 8425 0 R (HD.7466) 8426 0 R (HD.7467) 8427 0 R (HD.7468) 8428 0 R (HD.7469) 8429 0 R (HD.747) 1066 0 R (HD.7470) 8430 0 R (HD.7471) 8431 0 R (HD.7472) 8432 0 R (HD.7473) 8433 0 R (HD.7474) 8434 0 R (HD.7475) 8435 0 R (HD.7476) 8440 0 R (HD.7477) 8441 0 R (HD.7478) 8442 0 R (HD.7479) 8443 0 R (HD.748) 1067 0 R (HD.7480) 8444 0 R (HD.7481) 8445 0 R (HD.7482) 8446 0 R (HD.7483) 8447 0 R (HD.7484) 8448 0 R (HD.7485) 8449 0 R (HD.7486) 8450 0 R (HD.7487) 8451 0 R (HD.7488) 8452 0 R (HD.7489) 8453 0 R (HD.749) 1068 0 R (HD.7490) 8454 0 R (HD.7491) 8455 0 R (HD.7492) 8456 0 R ] /Limits [ (HD.7464) (HD.7492) ] >>
-endobj
-11625 0 obj
-<< /Names [ (HD.7493) 8457 0 R (HD.7494) 8458 0 R (HD.7495) 8459 0 R (HD.7496) 8460 0 R (HD.7497) 8461 0 R (HD.7498) 8462 0 R (HD.7499) 8463 0 R (HD.75) 274 0 R (HD.750) 1069 0 R (HD.7500) 8464 0 R (HD.7501) 8465 0 R (HD.7502) 8466 0 R (HD.7503) 8467 0 R (HD.7504) 8468 0 R (HD.7505) 8469 0 R (HD.7506) 8470 0 R (HD.7507) 8471 0 R (HD.7508) 8472 0 R (HD.7509) 8473 0 R (HD.751) 1070 0 R (HD.7510) 8474 0 R (HD.7511) 8475 0 R (HD.7512) 8476 0 R (HD.7513) 8477 0 R (HD.7514) 8482 0 R (HD.7515) 8483 0 R (HD.7516) 8484 0 R (HD.7517) 8485 0 R (HD.7518) 8486 0 R (HD.7519) 8487 0 R (HD.752) 1071 0 R (HD.7520) 8488 0 R ] /Limits [ (HD.7493) (HD.7520) ] >>
-endobj
-11626 0 obj
-<< /Names [ (HD.7521) 8489 0 R (HD.7522) 8490 0 R (HD.7523) 8491 0 R (HD.7524) 8492 0 R (HD.7525) 8493 0 R (HD.7526) 8494 0 R (HD.7527) 8495 0 R (HD.7528) 8496 0 R (HD.7529) 8497 0 R (HD.753) 1072 0 R (HD.7530) 8498 0 R (HD.7531) 8499 0 R (HD.7532) 8500 0 R (HD.7533) 8501 0 R (HD.7534) 8502 0 R (HD.7535) 8503 0 R (HD.7536) 8504 0 R (HD.7537) 8505 0 R (HD.7538) 8506 0 R (HD.7539) 8507 0 R (HD.754) 1073 0 R (HD.7540) 8508 0 R (HD.7541) 8509 0 R (HD.7542) 8510 0 R (HD.7543) 8511 0 R (HD.7544) 8512 0 R (HD.7545) 8513 0 R (HD.7546) 8514 0 R (HD.7547) 8515 0 R (HD.7548) 8516 0 R (HD.7549) 8517 0 R (HD.755) 1074 0 R ] /Limits [ (HD.7521) (HD.755) ] >>
-endobj
-11627 0 obj
-<< /Names [ (HD.7550) 8518 0 R (HD.7551) 8519 0 R (HD.7552) 8520 0 R (HD.7553) 8521 0 R (HD.7554) 8522 0 R (HD.7555) 8523 0 R (HD.7556) 8524 0 R (HD.7557) 8525 0 R (HD.7558) 8526 0 R (HD.7559) 8527 0 R (HD.756) 1075 0 R (HD.7560) 8532 0 R (HD.7561) 8533 0 R (HD.7562) 8534 0 R (HD.7563) 8535 0 R (HD.7564) 8536 0 R (HD.7565) 8537 0 R (HD.7566) 8538 0 R (HD.7567) 8539 0 R (HD.7568) 8540 0 R (HD.7569) 8541 0 R (HD.757) 1076 0 R (HD.7570) 8542 0 R (HD.7571) 8543 0 R (HD.7572) 8544 0 R (HD.7573) 8545 0 R (HD.7574) 8546 0 R (HD.7575) 8547 0 R (HD.7576) 8548 0 R (HD.7577) 8549 0 R (HD.7578) 8550 0 R (HD.7579) 8551 0 R ] /Limits [ (HD.7550) (HD.7579) ] >>
-endobj
-11628 0 obj
-<< /Names [ (HD.758) 1077 0 R (HD.7580) 8552 0 R (HD.7581) 8553 0 R (HD.7582) 8554 0 R (HD.7583) 8555 0 R (HD.7584) 8556 0 R (HD.7585) 8557 0 R (HD.7586) 8558 0 R (HD.7587) 8559 0 R (HD.7588) 8560 0 R (HD.7589) 8561 0 R (HD.759) 1078 0 R (HD.7590) 8562 0 R (HD.7591) 8563 0 R (HD.7592) 8564 0 R (HD.7593) 8565 0 R (HD.7594) 8566 0 R (HD.7595) 8567 0 R (HD.7596) 8568 0 R (HD.7597) 8569 0 R (HD.7598) 8570 0 R (HD.7599) 8571 0 R (HD.76) 275 0 R (HD.760) 1079 0 R (HD.7600) 8572 0 R (HD.7601) 8573 0 R (HD.7602) 8574 0 R (HD.7603) 8575 0 R (HD.7604) 8576 0 R (HD.7605) 8577 0 R (HD.7606) 8578 0 R (HD.7607) 8579 0 R ] /Limits [ (HD.758) (HD.7607) ] >>
-endobj
-11629 0 obj
-<< /Names [ (HD.7608) 8580 0 R (HD.7609) 8581 0 R (HD.761) 1080 0 R (HD.7610) 8582 0 R (HD.7611) 8587 0 R (HD.7612) 8588 0 R (HD.7613) 8589 0 R (HD.7614) 8590 0 R (HD.7615) 8591 0 R (HD.7616) 8592 0 R (HD.7617) 8593 0 R (HD.7618) 8594 0 R (HD.7619) 8595 0 R (HD.762) 1081 0 R (HD.7620) 8596 0 R (HD.7621) 8597 0 R (HD.7622) 8598 0 R (HD.7623) 8599 0 R (HD.7624) 8600 0 R (HD.7625) 8601 0 R (HD.7626) 8602 0 R (HD.7627) 8603 0 R (HD.7628) 8604 0 R (HD.7629) 8605 0 R (HD.763) 1082 0 R (HD.7630) 8606 0 R (HD.7631) 8607 0 R (HD.7632) 8608 0 R (HD.7633) 8609 0 R (HD.7634) 8610 0 R (HD.7635) 8611 0 R (HD.7636) 8612 0 R ] /Limits [ (HD.7608) (HD.7636) ] >>
-endobj
-11630 0 obj
-<< /Names [ (HD.7637) 8613 0 R (HD.7638) 8614 0 R (HD.7639) 8615 0 R (HD.764) 1087 0 R (HD.7640) 8616 0 R (HD.7641) 8617 0 R (HD.7642) 8618 0 R (HD.7643) 8619 0 R (HD.7644) 8620 0 R (HD.7645) 8621 0 R (HD.7646) 8622 0 R (HD.7647) 8623 0 R (HD.7648) 8624 0 R (HD.7649) 8625 0 R (HD.765) 1088 0 R (HD.7650) 8626 0 R (HD.7651) 8627 0 R (HD.7652) 8628 0 R (HD.7653) 8629 0 R (HD.7654) 8630 0 R (HD.7655) 8631 0 R (HD.7656) 8632 0 R (HD.7657) 8633 0 R (HD.7658) 8634 0 R (HD.7659) 8635 0 R (HD.766) 1089 0 R (HD.7660) 8636 0 R (HD.7661) 8637 0 R (HD.7662) 8638 0 R (HD.7663) 8639 0 R (HD.7664) 8640 0 R (HD.7665) 8641 0 R ] /Limits [ (HD.7637) (HD.7665) ] >>
-endobj
-11631 0 obj
-<< /Names [ (HD.7666) 8642 0 R (HD.7667) 8643 0 R (HD.7668) 8644 0 R (HD.7669) 8645 0 R (HD.767) 1090 0 R (HD.7670) 8646 0 R (HD.7671) 8651 0 R (HD.7672) 8652 0 R (HD.7673) 8653 0 R (HD.7674) 8654 0 R (HD.7675) 8655 0 R (HD.7676) 8656 0 R (HD.7677) 8657 0 R (HD.7678) 8658 0 R (HD.7679) 8659 0 R (HD.768) 1091 0 R (HD.7680) 8660 0 R (HD.7681) 8661 0 R (HD.7682) 8662 0 R (HD.7683) 8663 0 R (HD.7684) 8664 0 R (HD.7685) 8665 0 R (HD.7686) 8666 0 R (HD.7687) 8667 0 R (HD.7688) 8668 0 R (HD.7689) 8669 0 R (HD.769) 1092 0 R (HD.7690) 8670 0 R (HD.7691) 8671 0 R (HD.7692) 8672 0 R (HD.7693) 8673 0 R (HD.7694) 8674 0 R ] /Limits [ (HD.7666) (HD.7694) ] >>
-endobj
-11632 0 obj
-<< /Names [ (HD.7695) 8675 0 R (HD.7696) 8676 0 R (HD.7697) 8677 0 R (HD.7698) 8678 0 R (HD.7699) 8679 0 R (HD.77) 276 0 R (HD.770) 1093 0 R (HD.7700) 8680 0 R (HD.7701) 8681 0 R (HD.7702) 8682 0 R (HD.7703) 8683 0 R (HD.7704) 8684 0 R (HD.7705) 8685 0 R (HD.7706) 8686 0 R (HD.7707) 8687 0 R (HD.7708) 8688 0 R (HD.7709) 8689 0 R (HD.771) 1094 0 R (HD.7710) 8690 0 R (HD.7711) 8691 0 R (HD.7712) 8692 0 R (HD.7713) 8693 0 R (HD.7714) 8694 0 R (HD.7715) 8695 0 R (HD.7716) 8696 0 R (HD.7717) 8697 0 R (HD.7718) 8698 0 R (HD.7719) 8699 0 R (HD.772) 1095 0 R (HD.7720) 8700 0 R (HD.7721) 8701 0 R (HD.7722) 8702 0 R ] /Limits [ (HD.7695) (HD.7722) ] >>
-endobj
-11633 0 obj
-<< /Names [ (HD.7723) 8707 0 R (HD.7724) 8708 0 R (HD.7725) 8709 0 R (HD.7726) 8710 0 R (HD.7727) 8711 0 R (HD.7728) 8712 0 R (HD.7729) 8713 0 R (HD.773) 1096 0 R (HD.7730) 8714 0 R (HD.7731) 8715 0 R (HD.7732) 8716 0 R (HD.7733) 8717 0 R (HD.7734) 8718 0 R (HD.7735) 8719 0 R (HD.7736) 8720 0 R (HD.7737) 8721 0 R (HD.7738) 8722 0 R (HD.7739) 8723 0 R (HD.774) 1097 0 R (HD.7740) 8724 0 R (HD.7741) 8725 0 R (HD.7742) 8726 0 R (HD.7743) 8727 0 R (HD.7744) 8728 0 R (HD.7745) 8729 0 R (HD.7746) 8730 0 R (HD.7747) 8731 0 R (HD.7748) 8732 0 R (HD.7749) 8733 0 R (HD.775) 1098 0 R (HD.7750) 8734 0 R (HD.7751) 8735 0 R ] /Limits [ (HD.7723) (HD.7751) ] >>
-endobj
-11634 0 obj
-<< /Names [ (HD.7752) 8736 0 R (HD.7753) 8737 0 R (HD.7754) 8738 0 R (HD.7755) 8739 0 R (HD.7756) 8740 0 R (HD.7757) 8741 0 R (HD.7758) 8742 0 R (HD.7759) 8743 0 R (HD.776) 1099 0 R (HD.7760) 8744 0 R (HD.7761) 8745 0 R (HD.7762) 8746 0 R (HD.7763) 8747 0 R (HD.7764) 8748 0 R (HD.7765) 8749 0 R (HD.7766) 8750 0 R (HD.7767) 8751 0 R (HD.7768) 8752 0 R (HD.7769) 8753 0 R (HD.777) 1100 0 R (HD.7770) 8754 0 R (HD.7771) 8755 0 R (HD.7772) 8756 0 R (HD.7773) 8757 0 R (HD.7774) 8758 0 R (HD.7775) 8759 0 R (HD.7776) 8760 0 R (HD.7777) 8761 0 R (HD.7778) 8762 0 R (HD.7779) 8763 0 R (HD.778) 1101 0 R (HD.7780) 8768 0 R ] /Limits [ (HD.7752) (HD.7780) ] >>
-endobj
-11635 0 obj
-<< /Names [ (HD.7781) 8769 0 R (HD.7782) 8770 0 R (HD.7783) 8771 0 R (HD.7784) 8772 0 R (HD.7785) 8773 0 R (HD.7786) 8774 0 R (HD.7787) 8775 0 R (HD.7788) 8776 0 R (HD.7789) 8777 0 R (HD.779) 1102 0 R (HD.7790) 8778 0 R (HD.7791) 8779 0 R (HD.7792) 8780 0 R (HD.7793) 8781 0 R (HD.7794) 8782 0 R (HD.7795) 8783 0 R (HD.7796) 8784 0 R (HD.7797) 8785 0 R (HD.7798) 8786 0 R (HD.7799) 8787 0 R (HD.78) 277 0 R (HD.780) 1103 0 R (HD.7800) 8788 0 R (HD.7801) 8789 0 R (HD.7802) 8790 0 R (HD.7803) 8791 0 R (HD.7804) 8792 0 R (HD.7805) 8793 0 R (HD.7806) 8794 0 R (HD.7807) 8795 0 R (HD.7808) 8796 0 R (HD.7809) 8797 0 R ] /Limits [ (HD.7781) (HD.7809) ] >>
-endobj
-11636 0 obj
-<< /Names [ (HD.781) 1104 0 R (HD.7810) 8798 0 R (HD.7811) 8799 0 R (HD.7812) 8800 0 R (HD.7813) 8801 0 R (HD.7814) 8802 0 R (HD.7815) 8803 0 R (HD.7816) 8804 0 R (HD.7817) 8805 0 R (HD.7818) 8806 0 R (HD.7819) 8807 0 R (HD.782) 1105 0 R (HD.7820) 8808 0 R (HD.7821) 8809 0 R (HD.7822) 8810 0 R (HD.7823) 8811 0 R (HD.7824) 8812 0 R (HD.7825) 8813 0 R (HD.7826) 8814 0 R (HD.7827) 8815 0 R (HD.7828) 8816 0 R (HD.7829) 8817 0 R (HD.783) 1106 0 R (HD.7830) 8818 0 R (HD.7831) 8819 0 R (HD.7832) 8820 0 R (HD.7833) 8821 0 R (HD.7834) 8822 0 R (HD.7835) 8823 0 R (HD.7836) 8824 0 R (HD.7837) 8825 0 R (HD.7838) 8830 0 R ] /Limits [ (HD.781) (HD.7838) ] >>
-endobj
-11637 0 obj
-<< /Names [ (HD.7839) 8831 0 R (HD.784) 1107 0 R (HD.7840) 8832 0 R (HD.7841) 8833 0 R (HD.7842) 8834 0 R (HD.7843) 8835 0 R (HD.7844) 8836 0 R (HD.7845) 8837 0 R (HD.7846) 8838 0 R (HD.7847) 8839 0 R (HD.7848) 8840 0 R (HD.7849) 8841 0 R (HD.785) 1108 0 R (HD.7850) 8842 0 R (HD.7851) 8843 0 R (HD.7852) 8844 0 R (HD.7853) 8845 0 R (HD.7854) 8846 0 R (HD.7855) 8847 0 R (HD.7856) 8848 0 R (HD.7857) 8849 0 R (HD.7858) 8850 0 R (HD.7859) 8851 0 R (HD.786) 1109 0 R (HD.7860) 8852 0 R (HD.7861) 8853 0 R (HD.7862) 8854 0 R (HD.7863) 8855 0 R (HD.7864) 8856 0 R (HD.7865) 8857 0 R (HD.7866) 8858 0 R (HD.7867) 8859 0 R ] /Limits [ (HD.7839) (HD.7867) ] >>
-endobj
-11638 0 obj
-<< /Names [ (HD.7868) 8860 0 R (HD.7869) 8861 0 R (HD.787) 1110 0 R (HD.7870) 8862 0 R (HD.7871) 8863 0 R (HD.7872) 8864 0 R (HD.7873) 8865 0 R (HD.7874) 8866 0 R (HD.7875) 8867 0 R (HD.7876) 8868 0 R (HD.7877) 8869 0 R (HD.7878) 8870 0 R (HD.7879) 8871 0 R (HD.788) 1111 0 R (HD.7880) 8872 0 R (HD.7881) 8873 0 R (HD.7882) 8874 0 R (HD.7883) 8875 0 R (HD.7884) 8876 0 R (HD.7885) 8877 0 R (HD.7886) 8878 0 R (HD.7887) 8879 0 R (HD.7888) 8880 0 R (HD.7889) 8881 0 R (HD.789) 1112 0 R (HD.7890) 8882 0 R (HD.7891) 8883 0 R (HD.7892) 8884 0 R (HD.7893) 8885 0 R (HD.7894) 8891 0 R (HD.7895) 8892 0 R (HD.7896) 8893 0 R ] /Limits [ (HD.7868) (HD.7896) ] >>
-endobj
-11639 0 obj
-<< /Names [ (HD.7897) 8894 0 R (HD.7898) 8895 0 R (HD.7899) 8896 0 R (HD.79) 278 0 R (HD.790) 1113 0 R (HD.7900) 8897 0 R (HD.7901) 8898 0 R (HD.7902) 8899 0 R (HD.7903) 8900 0 R (HD.7904) 8901 0 R (HD.7905) 8902 0 R (HD.7906) 8903 0 R (HD.7907) 8904 0 R (HD.7908) 8905 0 R (HD.7909) 8906 0 R (HD.791) 1114 0 R (HD.7910) 8907 0 R (HD.7911) 8908 0 R (HD.7912) 8909 0 R (HD.7913) 8910 0 R (HD.7914) 8911 0 R (HD.7915) 8912 0 R (HD.7916) 8913 0 R (HD.7917) 8914 0 R (HD.7918) 8915 0 R (HD.7919) 8916 0 R (HD.792) 1115 0 R (HD.7920) 8917 0 R (HD.7921) 8918 0 R (HD.7922) 8919 0 R (HD.7923) 8920 0 R (HD.7924) 8921 0 R ] /Limits [ (HD.7897) (HD.7924) ] >>
-endobj
-11640 0 obj
-<< /Names [ (HD.7925) 8922 0 R (HD.7926) 8923 0 R (HD.7927) 8924 0 R (HD.7928) 8925 0 R (HD.7929) 8926 0 R (HD.793) 1116 0 R (HD.7930) 8927 0 R (HD.7931) 8928 0 R (HD.7932) 8929 0 R (HD.7933) 8930 0 R (HD.7934) 8931 0 R (HD.7935) 8932 0 R (HD.7936) 8933 0 R (HD.7937) 8934 0 R (HD.7938) 8935 0 R (HD.7939) 8936 0 R (HD.794) 1117 0 R (HD.7940) 8937 0 R (HD.7941) 8938 0 R (HD.7942) 8939 0 R (HD.7943) 8944 0 R (HD.7944) 8945 0 R (HD.7945) 8946 0 R (HD.7946) 8947 0 R (HD.7947) 8948 0 R (HD.7948) 8949 0 R (HD.7949) 8950 0 R (HD.795) 1118 0 R (HD.7950) 8951 0 R (HD.7951) 8952 0 R (HD.7952) 8953 0 R (HD.7953) 8954 0 R ] /Limits [ (HD.7925) (HD.7953) ] >>
-endobj
-11641 0 obj
-<< /Names [ (HD.7954) 8955 0 R (HD.7955) 8956 0 R (HD.7956) 8957 0 R (HD.7957) 8958 0 R (HD.7958) 8959 0 R (HD.7959) 8960 0 R (HD.796) 1119 0 R (HD.7960) 8961 0 R (HD.7961) 8962 0 R (HD.7962) 8963 0 R (HD.7963) 8964 0 R (HD.7964) 8965 0 R (HD.7965) 8966 0 R (HD.7966) 8967 0 R (HD.7967) 8968 0 R (HD.7968) 8969 0 R (HD.7969) 8970 0 R (HD.797) 1120 0 R (HD.7970) 8971 0 R (HD.7971) 8972 0 R (HD.7972) 8973 0 R (HD.7973) 8974 0 R (HD.7974) 8975 0 R (HD.7975) 8976 0 R (HD.7976) 8977 0 R (HD.7977) 8978 0 R (HD.7978) 8979 0 R (HD.7979) 8980 0 R (HD.798) 1121 0 R (HD.7980) 8981 0 R (HD.7981) 8982 0 R (HD.7982) 8983 0 R ] /Limits [ (HD.7954) (HD.7982) ] >>
-endobj
-11642 0 obj
-<< /Names [ (HD.7983) 8984 0 R (HD.7984) 8985 0 R (HD.7985) 8986 0 R (HD.7986) 8987 0 R (HD.7987) 8988 0 R (HD.7988) 8989 0 R (HD.7989) 8990 0 R (HD.799) 1122 0 R (HD.7990) 8991 0 R (HD.7991) 8992 0 R (HD.7992) 8993 0 R (HD.7993) 8994 0 R (HD.7994) 8995 0 R (HD.7995) 9000 0 R (HD.7996) 9001 0 R (HD.7997) 9002 0 R (HD.7998) 9003 0 R (HD.7999) 9004 0 R (HD.8) 196 0 R (HD.80) 279 0 R (HD.800) 1123 0 R (HD.8000) 9005 0 R (HD.8001) 9006 0 R (HD.8002) 9007 0 R (HD.8003) 9008 0 R (HD.8004) 9009 0 R (HD.8005) 9010 0 R (HD.8006) 9011 0 R (HD.8007) 9012 0 R (HD.8008) 9013 0 R (HD.8009) 9014 0 R (HD.801) 1124 0 R ] /Limits [ (HD.7983) (HD.801) ] >>
-endobj
-11643 0 obj
-<< /Names [ (HD.8010) 9015 0 R (HD.8011) 9016 0 R (HD.8012) 9017 0 R (HD.8013) 9018 0 R (HD.8014) 9019 0 R (HD.8015) 9020 0 R (HD.8016) 9021 0 R (HD.8017) 9022 0 R (HD.8018) 9023 0 R (HD.8019) 9024 0 R (HD.802) 1125 0 R (HD.8020) 9025 0 R (HD.8021) 9026 0 R (HD.8022) 9027 0 R (HD.8023) 9028 0 R (HD.8024) 9029 0 R (HD.8025) 9030 0 R (HD.8026) 9031 0 R (HD.8027) 9032 0 R (HD.8028) 9033 0 R (HD.8029) 9034 0 R (HD.803) 1126 0 R (HD.8030) 9035 0 R (HD.8031) 9036 0 R (HD.8032) 9037 0 R (HD.8033) 9038 0 R (HD.8034) 9039 0 R (HD.8035) 9040 0 R (HD.8036) 9041 0 R (HD.8037) 9042 0 R (HD.8038) 9047 0 R (HD.8039) 9048 0 R ] /Limits [ (HD.8010) (HD.8039) ] >>
-endobj
-11644 0 obj
-<< /Names [ (HD.804) 1127 0 R (HD.8040) 9049 0 R (HD.8041) 9050 0 R (HD.8042) 9051 0 R (HD.8043) 9052 0 R (HD.8044) 9053 0 R (HD.8045) 9054 0 R (HD.8046) 9055 0 R (HD.8047) 9056 0 R (HD.8048) 9057 0 R (HD.8049) 9058 0 R (HD.805) 1128 0 R (HD.8050) 9059 0 R (HD.8051) 9060 0 R (HD.8052) 9061 0 R (HD.8053) 9062 0 R (HD.8054) 9063 0 R (HD.8055) 9064 0 R (HD.8056) 9065 0 R (HD.8057) 9066 0 R (HD.8058) 9067 0 R (HD.8059) 9068 0 R (HD.806) 1129 0 R (HD.8060) 9069 0 R (HD.8061) 9070 0 R (HD.8062) 9071 0 R (HD.8063) 9072 0 R (HD.8064) 9073 0 R (HD.8065) 9074 0 R (HD.8066) 9075 0 R (HD.8067) 9076 0 R (HD.8068) 9077 0 R ] /Limits [ (HD.804) (HD.8068) ] >>
-endobj
-11645 0 obj
-<< /Names [ (HD.8069) 9078 0 R (HD.807) 1130 0 R (HD.8070) 9079 0 R (HD.8071) 9080 0 R (HD.8072) 9081 0 R (HD.8073) 9082 0 R (HD.8074) 9083 0 R (HD.8075) 9084 0 R (HD.8076) 9085 0 R (HD.8077) 9091 0 R (HD.8078) 9092 0 R (HD.8079) 9093 0 R (HD.808) 1131 0 R (HD.8080) 9094 0 R (HD.8081) 9095 0 R (HD.8082) 9096 0 R (HD.8083) 9097 0 R (HD.8084) 9098 0 R (HD.8085) 9099 0 R (HD.8086) 9100 0 R (HD.8087) 9101 0 R (HD.8088) 9102 0 R (HD.8089) 9103 0 R (HD.809) 1136 0 R (HD.8090) 9104 0 R (HD.8091) 9105 0 R (HD.8092) 9106 0 R (HD.8093) 9107 0 R (HD.8094) 9108 0 R (HD.8095) 9109 0 R (HD.8096) 9110 0 R (HD.8097) 9111 0 R ] /Limits [ (HD.8069) (HD.8097) ] >>
-endobj
-11646 0 obj
-<< /Names [ (HD.8098) 9112 0 R (HD.8099) 9113 0 R (HD.81) 280 0 R (HD.810) 1137 0 R (HD.8100) 9114 0 R (HD.8101) 9115 0 R (HD.8102) 9116 0 R (HD.8103) 9117 0 R (HD.8104) 9118 0 R (HD.8105) 9119 0 R (HD.8106) 9120 0 R (HD.8107) 9121 0 R (HD.8108) 9122 0 R (HD.8109) 9123 0 R (HD.811) 1138 0 R (HD.8110) 9124 0 R (HD.8111) 9125 0 R (HD.8112) 9126 0 R (HD.8113) 9127 0 R (HD.8114) 9133 0 R (HD.8115) 9134 0 R (HD.8116) 9135 0 R (HD.8117) 9136 0 R (HD.8118) 9137 0 R (HD.8119) 9138 0 R (HD.812) 1139 0 R (HD.8120) 9139 0 R (HD.8121) 9140 0 R (HD.8122) 9141 0 R (HD.8123) 9142 0 R (HD.8124) 9143 0 R (HD.8125) 9144 0 R ] /Limits [ (HD.8098) (HD.8125) ] >>
-endobj
-11647 0 obj
-<< /Names [ (HD.8126) 9145 0 R (HD.8127) 9146 0 R (HD.8128) 9147 0 R (HD.8129) 9148 0 R (HD.813) 1140 0 R (HD.8130) 9149 0 R (HD.8131) 9150 0 R (HD.8132) 9151 0 R (HD.8133) 9152 0 R (HD.8134) 9153 0 R (HD.8135) 9154 0 R (HD.8136) 9155 0 R (HD.8137) 9156 0 R (HD.8138) 9157 0 R (HD.8139) 9158 0 R (HD.814) 1141 0 R (HD.8140) 9159 0 R (HD.8141) 9160 0 R (HD.8142) 9161 0 R (HD.8143) 9162 0 R (HD.8144) 9163 0 R (HD.8145) 9168 0 R (HD.8146) 9169 0 R (HD.8147) 9170 0 R (HD.8148) 9171 0 R (HD.8149) 9172 0 R (HD.815) 1142 0 R (HD.8150) 9173 0 R (HD.8151) 9174 0 R (HD.8152) 9175 0 R (HD.8153) 9176 0 R (HD.8154) 9177 0 R ] /Limits [ (HD.8126) (HD.8154) ] >>
-endobj
-11648 0 obj
-<< /Names [ (HD.8155) 9178 0 R (HD.8156) 9179 0 R (HD.8157) 9180 0 R (HD.8158) 9181 0 R (HD.8159) 9182 0 R (HD.816) 1143 0 R (HD.8160) 9183 0 R (HD.8161) 9184 0 R (HD.8162) 9185 0 R (HD.8163) 9186 0 R (HD.8164) 9187 0 R (HD.8165) 9188 0 R (HD.8166) 9189 0 R (HD.8167) 9190 0 R (HD.8168) 9191 0 R (HD.8169) 9192 0 R (HD.817) 1144 0 R (HD.8170) 9193 0 R (HD.8171) 9194 0 R (HD.8172) 9195 0 R (HD.8173) 9196 0 R (HD.8174) 9197 0 R (HD.8175) 9198 0 R (HD.8176) 9199 0 R (HD.8177) 9200 0 R (HD.8178) 9201 0 R (HD.8179) 9202 0 R (HD.818) 1145 0 R (HD.8180) 9203 0 R (HD.8181) 9204 0 R (HD.8182) 9205 0 R (HD.8183) 9206 0 R ] /Limits [ (HD.8155) (HD.8183) ] >>
-endobj
-11649 0 obj
-<< /Names [ (HD.8184) 9207 0 R (HD.8185) 9208 0 R (HD.8186) 9209 0 R (HD.8187) 9210 0 R (HD.8188) 9211 0 R (HD.8189) 9212 0 R (HD.819) 1146 0 R (HD.8190) 9213 0 R (HD.8191) 9214 0 R (HD.8192) 9215 0 R (HD.8193) 9216 0 R (HD.8194) 9217 0 R (HD.8195) 9218 0 R (HD.8196) 9219 0 R (HD.8197) 9220 0 R (HD.8198) 9221 0 R (HD.8199) 9222 0 R (HD.82) 281 0 R (HD.820) 1147 0 R (HD.8200) 9227 0 R (HD.8201) 9228 0 R (HD.8202) 9229 0 R (HD.8203) 9230 0 R (HD.8204) 9231 0 R (HD.8205) 9232 0 R (HD.8206) 9233 0 R (HD.8207) 9234 0 R (HD.8208) 9235 0 R (HD.8209) 9236 0 R (HD.821) 1148 0 R (HD.8210) 9237 0 R (HD.8211) 9238 0 R ] /Limits [ (HD.8184) (HD.8211) ] >>
-endobj
-11650 0 obj
-<< /Names [ (HD.8212) 9239 0 R (HD.8213) 9240 0 R (HD.8214) 9241 0 R (HD.8215) 9242 0 R (HD.8216) 9243 0 R (HD.8217) 9244 0 R (HD.8218) 9245 0 R (HD.8219) 9246 0 R (HD.822) 1149 0 R (HD.8220) 9247 0 R (HD.8221) 9248 0 R (HD.8222) 9249 0 R (HD.8223) 9250 0 R (HD.8224) 9251 0 R (HD.8225) 9252 0 R (HD.8226) 9253 0 R (HD.8227) 9254 0 R (HD.8228) 9255 0 R (HD.8229) 9256 0 R (HD.823) 1150 0 R (HD.8230) 9257 0 R (HD.8231) 9258 0 R (HD.8232) 9259 0 R (HD.8233) 9260 0 R (HD.8234) 9261 0 R (HD.8235) 9262 0 R (HD.8236) 9263 0 R (HD.8237) 9264 0 R (HD.8238) 9265 0 R (HD.8239) 9266 0 R (HD.824) 1151 0 R (HD.8240) 9267 0 R ] /Limits [ (HD.8212) (HD.8240) ] >>
-endobj
-11651 0 obj
-<< /Names [ (HD.8241) 9268 0 R (HD.8242) 9269 0 R (HD.8243) 9270 0 R (HD.8244) 9271 0 R (HD.8245) 9272 0 R (HD.8246) 9273 0 R (HD.8247) 9274 0 R (HD.8248) 9275 0 R (HD.8249) 9276 0 R (HD.825) 1152 0 R (HD.8250) 9277 0 R (HD.8251) 9278 0 R (HD.8252) 9279 0 R (HD.8253) 9280 0 R (HD.8254) 9281 0 R (HD.8255) 9282 0 R (HD.8256) 9283 0 R (HD.8257) 9284 0 R (HD.8258) 9285 0 R (HD.8259) 9290 0 R (HD.826) 1153 0 R (HD.8260) 9291 0 R (HD.8261) 9292 0 R (HD.8262) 9293 0 R (HD.8263) 9294 0 R (HD.8264) 9295 0 R (HD.8265) 9296 0 R (HD.8266) 9297 0 R (HD.8267) 9298 0 R (HD.8268) 9299 0 R (HD.8269) 9300 0 R (HD.827) 1154 0 R ] /Limits [ (HD.8241) (HD.827) ] >>
-endobj
-11652 0 obj
-<< /Names [ (HD.8270) 9301 0 R (HD.8271) 9302 0 R (HD.8272) 9303 0 R (HD.8273) 9304 0 R (HD.8274) 9305 0 R (HD.8275) 9306 0 R (HD.8276) 9307 0 R (HD.8277) 9308 0 R (HD.8278) 9309 0 R (HD.8279) 9310 0 R (HD.828) 1155 0 R (HD.8280) 9311 0 R (HD.8281) 9312 0 R (HD.8282) 9313 0 R (HD.8283) 9314 0 R (HD.8284) 9315 0 R (HD.8285) 9316 0 R (HD.8286) 9317 0 R (HD.8287) 9318 0 R (HD.8288) 9319 0 R (HD.8289) 9320 0 R (HD.829) 1156 0 R (HD.8290) 9321 0 R (HD.8291) 9322 0 R (HD.8292) 9323 0 R (HD.8293) 9324 0 R (HD.8294) 9325 0 R (HD.8295) 9326 0 R (HD.8296) 9327 0 R (HD.8297) 9332 0 R (HD.8298) 9333 0 R (HD.8299) 9334 0 R ] /Limits [ (HD.8270) (HD.8299) ] >>
-endobj
-11653 0 obj
-<< /Names [ (HD.83) 282 0 R (HD.830) 1157 0 R (HD.8300) 9335 0 R (HD.8301) 9336 0 R (HD.8302) 9337 0 R (HD.8303) 9338 0 R (HD.8304) 9339 0 R (HD.8305) 9340 0 R (HD.8306) 9341 0 R (HD.8307) 9342 0 R (HD.8308) 9343 0 R (HD.8309) 9344 0 R (HD.831) 1158 0 R (HD.8310) 9345 0 R (HD.8311) 9346 0 R (HD.8312) 9347 0 R (HD.8313) 9348 0 R (HD.8314) 9349 0 R (HD.8315) 9350 0 R (HD.8316) 9351 0 R (HD.8317) 9352 0 R (HD.8318) 9353 0 R (HD.8319) 9354 0 R (HD.832) 1159 0 R (HD.8320) 9355 0 R (HD.8321) 9356 0 R (HD.8322) 9357 0 R (HD.8323) 9358 0 R (HD.8324) 9359 0 R (HD.8325) 9360 0 R (HD.8326) 9361 0 R (HD.8327) 9362 0 R ] /Limits [ (HD.83) (HD.8327) ] >>
-endobj
-11654 0 obj
-<< /Names [ (HD.8328) 9363 0 R (HD.8329) 9364 0 R (HD.833) 1160 0 R (HD.8330) 9365 0 R (HD.8331) 9366 0 R (HD.8332) 9367 0 R (HD.8333) 9368 0 R (HD.8334) 9369 0 R (HD.8335) 9370 0 R (HD.8336) 9371 0 R (HD.8337) 9372 0 R (HD.8338) 9373 0 R (HD.8339) 9374 0 R (HD.834) 1161 0 R (HD.8340) 9375 0 R (HD.8341) 9376 0 R (HD.8342) 9377 0 R (HD.8343) 9378 0 R (HD.8344) 9379 0 R (HD.8345) 9380 0 R (HD.8346) 9381 0 R (HD.8347) 9382 0 R (HD.8348) 9383 0 R (HD.8349) 9384 0 R (HD.835) 1162 0 R (HD.8350) 9385 0 R (HD.8351) 9386 0 R (HD.8352) 9387 0 R (HD.8353) 9388 0 R (HD.8354) 9394 0 R (HD.8355) 9395 0 R (HD.8356) 9396 0 R ] /Limits [ (HD.8328) (HD.8356) ] >>
-endobj
-11655 0 obj
-<< /Names [ (HD.8357) 9397 0 R (HD.8358) 9398 0 R (HD.8359) 9399 0 R (HD.836) 1163 0 R (HD.8360) 9400 0 R (HD.8361) 9401 0 R (HD.8362) 9402 0 R (HD.8363) 9403 0 R (HD.8364) 9404 0 R (HD.8365) 9405 0 R (HD.8366) 9406 0 R (HD.8367) 9407 0 R (HD.8368) 9408 0 R (HD.8369) 9409 0 R (HD.837) 1164 0 R (HD.8370) 9410 0 R (HD.8371) 9411 0 R (HD.8372) 9412 0 R (HD.8373) 9413 0 R (HD.8374) 9414 0 R (HD.8375) 9415 0 R (HD.8376) 9416 0 R (HD.8377) 9417 0 R (HD.8378) 9418 0 R (HD.8379) 9419 0 R (HD.838) 1165 0 R (HD.8380) 9420 0 R (HD.8381) 9421 0 R (HD.8382) 9422 0 R (HD.8383) 9423 0 R (HD.8384) 9424 0 R (HD.8385) 9425 0 R ] /Limits [ (HD.8357) (HD.8385) ] >>
-endobj
-11656 0 obj
-<< /Names [ (HD.8386) 9426 0 R (HD.8387) 9427 0 R (HD.8388) 9428 0 R (HD.8389) 9429 0 R (HD.839) 1166 0 R (HD.8390) 9430 0 R (HD.8391) 9431 0 R (HD.8392) 9432 0 R (HD.8393) 9433 0 R (HD.8394) 9434 0 R (HD.8395) 9435 0 R (HD.8396) 9436 0 R (HD.8397) 9437 0 R (HD.8398) 9438 0 R (HD.8399) 9439 0 R (HD.84) 283 0 R (HD.840) 1167 0 R (HD.8400) 9440 0 R (HD.8401) 9441 0 R (HD.8402) 9442 0 R (HD.8403) 9443 0 R (HD.8404) 9444 0 R (HD.8405) 9445 0 R (HD.8406) 9450 0 R (HD.8407) 9451 0 R (HD.8408) 9452 0 R (HD.8409) 9453 0 R (HD.841) 1168 0 R (HD.8410) 9454 0 R (HD.8411) 9455 0 R (HD.8412) 9456 0 R (HD.8413) 9457 0 R ] /Limits [ (HD.8386) (HD.8413) ] >>
-endobj
-11657 0 obj
-<< /Names [ (HD.8414) 9458 0 R (HD.8415) 9459 0 R (HD.8416) 9460 0 R (HD.8417) 9461 0 R (HD.8418) 9462 0 R (HD.8419) 9463 0 R (HD.842) 1169 0 R (HD.8420) 9464 0 R (HD.8421) 9465 0 R (HD.8422) 9466 0 R (HD.8423) 9467 0 R (HD.8424) 9468 0 R (HD.8425) 9469 0 R (HD.8426) 9470 0 R (HD.8427) 9471 0 R (HD.8428) 9472 0 R (HD.8429) 9473 0 R (HD.843) 1170 0 R (HD.8430) 9474 0 R (HD.8431) 9475 0 R (HD.8432) 9476 0 R (HD.8433) 9477 0 R (HD.8434) 9478 0 R (HD.8435) 9479 0 R (HD.8436) 9480 0 R (HD.8437) 9481 0 R (HD.8438) 9482 0 R (HD.8439) 9483 0 R (HD.844) 1171 0 R (HD.8440) 9484 0 R (HD.8441) 9485 0 R (HD.8442) 9486 0 R ] /Limits [ (HD.8414) (HD.8442) ] >>
-endobj
-11658 0 obj
-<< /Names [ (HD.8443) 9487 0 R (HD.8444) 9488 0 R (HD.8445) 9489 0 R (HD.8446) 9490 0 R (HD.8447) 9491 0 R (HD.8448) 9492 0 R (HD.8449) 9493 0 R (HD.845) 1172 0 R (HD.8450) 9494 0 R (HD.8451) 9495 0 R (HD.8452) 9496 0 R (HD.8453) 9497 0 R (HD.8454) 9498 0 R (HD.8455) 9499 0 R (HD.8456) 9500 0 R (HD.8457) 9501 0 R (HD.8458) 9506 0 R (HD.8459) 9507 0 R (HD.846) 1173 0 R (HD.8460) 9508 0 R (HD.8461) 9509 0 R (HD.8462) 9510 0 R (HD.8463) 9511 0 R (HD.8464) 9512 0 R (HD.8465) 9513 0 R (HD.8466) 9514 0 R (HD.8467) 9515 0 R (HD.8468) 9516 0 R (HD.8469) 9517 0 R (HD.847) 1174 0 R (HD.8470) 9518 0 R (HD.8471) 9519 0 R ] /Limits [ (HD.8443) (HD.8471) ] >>
-endobj
-11659 0 obj
-<< /Names [ (HD.8472) 9520 0 R (HD.8473) 9521 0 R (HD.8474) 9522 0 R (HD.8475) 9523 0 R (HD.8476) 9524 0 R (HD.8477) 9525 0 R (HD.8478) 9526 0 R (HD.8479) 9527 0 R (HD.848) 1175 0 R (HD.8480) 9528 0 R (HD.8481) 9529 0 R (HD.8482) 9530 0 R (HD.8483) 9531 0 R (HD.8484) 9532 0 R (HD.8485) 9533 0 R (HD.8486) 9534 0 R (HD.8487) 9535 0 R (HD.8488) 9536 0 R (HD.8489) 9537 0 R (HD.849) 1176 0 R (HD.8490) 9538 0 R (HD.8491) 9539 0 R (HD.8492) 9540 0 R (HD.8493) 9541 0 R (HD.8494) 9542 0 R (HD.8495) 9543 0 R (HD.8496) 9544 0 R (HD.8497) 9549 0 R (HD.8498) 9550 0 R (HD.8499) 9551 0 R (HD.85) 284 0 R (HD.850) 1177 0 R ] /Limits [ (HD.8472) (HD.850) ] >>
-endobj
-11660 0 obj
-<< /Names [ (HD.8500) 9552 0 R (HD.8501) 9553 0 R (HD.8502) 9554 0 R (HD.8503) 9555 0 R (HD.8504) 9556 0 R (HD.8505) 9557 0 R (HD.8506) 9558 0 R (HD.8507) 9559 0 R (HD.8508) 9560 0 R (HD.8509) 9561 0 R (HD.851) 1178 0 R (HD.8510) 9562 0 R (HD.8511) 9563 0 R (HD.8512) 9564 0 R (HD.8513) 9565 0 R (HD.8514) 9566 0 R (HD.8515) 9567 0 R (HD.8516) 9568 0 R (HD.8517) 9569 0 R (HD.8518) 9570 0 R (HD.8519) 9571 0 R (HD.852) 1179 0 R (HD.8520) 9572 0 R (HD.8521) 9573 0 R (HD.8522) 9574 0 R (HD.8523) 9575 0 R (HD.8524) 9576 0 R (HD.8525) 9577 0 R (HD.8526) 9578 0 R (HD.8527) 9579 0 R (HD.8528) 9580 0 R (HD.8529) 9581 0 R ] /Limits [ (HD.8500) (HD.8529) ] >>
-endobj
-11661 0 obj
-<< /Names [ (HD.853) 1180 0 R (HD.8530) 9582 0 R (HD.8531) 9583 0 R (HD.8532) 9584 0 R (HD.8533) 9585 0 R (HD.8534) 9586 0 R (HD.8535) 9587 0 R (HD.8536) 9588 0 R (HD.8537) 9593 0 R (HD.8538) 9594 0 R (HD.8539) 9595 0 R (HD.854) 1181 0 R (HD.8540) 9596 0 R (HD.8541) 9597 0 R (HD.8542) 9598 0 R (HD.8543) 9599 0 R (HD.8544) 9600 0 R (HD.8545) 9601 0 R (HD.8546) 9602 0 R (HD.8547) 9603 0 R (HD.8548) 9604 0 R (HD.8549) 9605 0 R (HD.855) 1182 0 R (HD.8550) 9606 0 R (HD.8551) 9607 0 R (HD.8552) 9608 0 R (HD.8553) 9609 0 R (HD.8554) 9610 0 R (HD.8555) 9611 0 R (HD.8556) 9612 0 R (HD.8557) 9613 0 R (HD.8558) 9614 0 R ] /Limits [ (HD.853) (HD.8558) ] >>
-endobj
-11662 0 obj
-<< /Names [ (HD.8559) 9615 0 R (HD.856) 1183 0 R (HD.8560) 9616 0 R (HD.8561) 9617 0 R (HD.8562) 9618 0 R (HD.8563) 9619 0 R (HD.8564) 9620 0 R (HD.8565) 9621 0 R (HD.8566) 9622 0 R (HD.8567) 9623 0 R (HD.8568) 9624 0 R (HD.8569) 9625 0 R (HD.857) 1184 0 R (HD.8570) 9626 0 R (HD.8571) 9627 0 R (HD.8572) 9628 0 R (HD.8573) 9629 0 R (HD.8574) 9630 0 R (HD.8575) 9631 0 R (HD.8576) 9632 0 R (HD.8577) 9633 0 R (HD.8578) 9634 0 R (HD.8579) 9635 0 R (HD.858) 1185 0 R (HD.8580) 9636 0 R (HD.8581) 9637 0 R (HD.8582) 9638 0 R (HD.8583) 9639 0 R (HD.8584) 9640 0 R (HD.8585) 9641 0 R (HD.8586) 9646 0 R (HD.8587) 9647 0 R ] /Limits [ (HD.8559) (HD.8587) ] >>
-endobj
-11663 0 obj
-<< /Names [ (HD.8588) 9648 0 R (HD.8589) 9649 0 R (HD.859) 1186 0 R (HD.8590) 9650 0 R (HD.8591) 9651 0 R (HD.8592) 9652 0 R (HD.8593) 9653 0 R (HD.8594) 9654 0 R (HD.8595) 9655 0 R (HD.8596) 9656 0 R (HD.8597) 9657 0 R (HD.8598) 9658 0 R (HD.8599) 9659 0 R (HD.86) 285 0 R (HD.860) 1187 0 R (HD.8600) 9660 0 R (HD.8601) 9661 0 R (HD.8602) 9662 0 R (HD.8603) 9663 0 R (HD.8604) 9664 0 R (HD.8605) 9665 0 R (HD.8606) 9666 0 R (HD.8607) 9667 0 R (HD.8608) 9668 0 R (HD.8609) 9669 0 R (HD.861) 1188 0 R (HD.8610) 9670 0 R (HD.8611) 9671 0 R (HD.8612) 9672 0 R (HD.8613) 9673 0 R (HD.8614) 9674 0 R (HD.8615) 9675 0 R ] /Limits [ (HD.8588) (HD.8615) ] >>
-endobj
-11664 0 obj
-<< /Names [ (HD.8616) 9676 0 R (HD.8617) 9677 0 R (HD.8618) 9678 0 R (HD.8619) 9679 0 R (HD.862) 1189 0 R (HD.8620) 9680 0 R (HD.8621) 9681 0 R (HD.8622) 9682 0 R (HD.8623) 9683 0 R (HD.8624) 9684 0 R (HD.8625) 9685 0 R (HD.8626) 9686 0 R (HD.8627) 9687 0 R (HD.8628) 9688 0 R (HD.8629) 9689 0 R (HD.863) 1190 0 R (HD.8630) 9690 0 R (HD.8631) 9691 0 R (HD.8632) 9692 0 R (HD.8633) 9693 0 R (HD.8634) 9694 0 R (HD.8635) 9695 0 R (HD.8636) 9696 0 R (HD.8637) 9697 0 R (HD.8638) 9698 0 R (HD.8639) 9699 0 R (HD.864) 1191 0 R (HD.8640) 9700 0 R (HD.8641) 9701 0 R (HD.8642) 9706 0 R (HD.8643) 9707 0 R (HD.8644) 9708 0 R ] /Limits [ (HD.8616) (HD.8644) ] >>
-endobj
-11665 0 obj
-<< /Names [ (HD.8645) 9709 0 R (HD.8646) 9710 0 R (HD.8647) 9711 0 R (HD.8648) 9712 0 R (HD.8649) 9713 0 R (HD.865) 1192 0 R (HD.8650) 9714 0 R (HD.8651) 9715 0 R (HD.8652) 9716 0 R (HD.8653) 9717 0 R (HD.8654) 9718 0 R (HD.8655) 9719 0 R (HD.8656) 9720 0 R (HD.8657) 9721 0 R (HD.8658) 9722 0 R (HD.8659) 9723 0 R (HD.866) 1193 0 R (HD.8660) 9724 0 R (HD.8661) 9725 0 R (HD.8662) 9726 0 R (HD.8663) 9727 0 R (HD.8664) 9728 0 R (HD.8665) 9729 0 R (HD.8666) 9730 0 R (HD.8667) 9731 0 R (HD.8668) 9732 0 R (HD.8669) 9733 0 R (HD.867) 1194 0 R (HD.8670) 9734 0 R (HD.8671) 9735 0 R (HD.8672) 9736 0 R (HD.8673) 9737 0 R ] /Limits [ (HD.8645) (HD.8673) ] >>
-endobj
-11666 0 obj
-<< /Names [ (HD.8674) 9738 0 R (HD.8675) 9739 0 R (HD.8676) 9740 0 R (HD.8677) 9741 0 R (HD.8678) 9742 0 R (HD.8679) 9743 0 R (HD.868) 1195 0 R (HD.8680) 9744 0 R (HD.8681) 9745 0 R (HD.8682) 9746 0 R (HD.8683) 9747 0 R (HD.8684) 9748 0 R (HD.8685) 9749 0 R (HD.8686) 9750 0 R (HD.8687) 9751 0 R (HD.8688) 9752 0 R (HD.8689) 9753 0 R (HD.869) 1200 0 R (HD.8690) 9754 0 R (HD.8691) 9755 0 R (HD.8692) 9756 0 R (HD.8693) 9757 0 R (HD.8694) 9758 0 R (HD.8695) 9759 0 R (HD.8696) 9760 0 R (HD.8697) 9761 0 R (HD.8698) 9762 0 R (HD.8699) 9763 0 R (HD.87) 286 0 R (HD.870) 1201 0 R (HD.8700) 9764 0 R (HD.8701) 9765 0 R ] /Limits [ (HD.8674) (HD.8701) ] >>
-endobj
-11667 0 obj
-<< /Names [ (HD.8702) 9766 0 R (HD.8703) 9767 0 R (HD.8704) 9772 0 R (HD.8705) 9773 0 R (HD.8706) 9774 0 R (HD.8707) 9775 0 R (HD.8708) 9776 0 R (HD.8709) 9777 0 R (HD.871) 1202 0 R (HD.8710) 9778 0 R (HD.8711) 9779 0 R (HD.8712) 9780 0 R (HD.8713) 9781 0 R (HD.8714) 9782 0 R (HD.8715) 9783 0 R (HD.8716) 9784 0 R (HD.8717) 9785 0 R (HD.8718) 9786 0 R (HD.8719) 9787 0 R (HD.872) 1203 0 R (HD.8720) 9788 0 R (HD.8721) 9789 0 R (HD.8722) 9790 0 R (HD.8723) 9791 0 R (HD.8724) 9792 0 R (HD.8725) 9793 0 R (HD.8726) 9794 0 R (HD.8727) 9795 0 R (HD.8728) 9796 0 R (HD.8729) 9797 0 R (HD.873) 1204 0 R (HD.8730) 9798 0 R ] /Limits [ (HD.8702) (HD.8730) ] >>
-endobj
-11668 0 obj
-<< /Names [ (HD.8731) 9799 0 R (HD.8732) 9800 0 R (HD.8733) 9801 0 R (HD.8734) 9802 0 R (HD.8735) 9803 0 R (HD.8736) 9804 0 R (HD.8737) 9805 0 R (HD.8738) 9806 0 R (HD.8739) 9807 0 R (HD.874) 1205 0 R (HD.8740) 9808 0 R (HD.8741) 9809 0 R (HD.8742) 9810 0 R (HD.8743) 9811 0 R (HD.8744) 9812 0 R (HD.8745) 9813 0 R (HD.8746) 9814 0 R (HD.8747) 9815 0 R (HD.8748) 9816 0 R (HD.8749) 9817 0 R (HD.875) 1206 0 R (HD.8750) 9818 0 R (HD.8751) 9819 0 R (HD.8752) 9820 0 R (HD.8753) 9821 0 R (HD.8754) 9822 0 R (HD.8755) 9823 0 R (HD.8756) 9824 0 R (HD.8757) 9825 0 R (HD.8758) 9830 0 R (HD.8759) 9831 0 R (HD.876) 1207 0 R ] /Limits [ (HD.8731) (HD.876) ] >>
-endobj
-11669 0 obj
-<< /Names [ (HD.8760) 9832 0 R (HD.8761) 9833 0 R (HD.8762) 9834 0 R (HD.8763) 9835 0 R (HD.8764) 9836 0 R (HD.8765) 9837 0 R (HD.8766) 9838 0 R (HD.8767) 9839 0 R (HD.8768) 9840 0 R (HD.8769) 9841 0 R (HD.877) 1208 0 R (HD.8770) 9842 0 R (HD.8771) 9843 0 R (HD.8772) 9844 0 R (HD.8773) 9845 0 R (HD.8774) 9846 0 R (HD.8775) 9847 0 R (HD.8776) 9848 0 R (HD.8777) 9849 0 R (HD.8778) 9850 0 R (HD.8779) 9851 0 R (HD.878) 1209 0 R (HD.8780) 9852 0 R (HD.8781) 9853 0 R (HD.8782) 9854 0 R (HD.8783) 9855 0 R (HD.8784) 9856 0 R (HD.8785) 9857 0 R (HD.8786) 9858 0 R (HD.8787) 9859 0 R (HD.8788) 9860 0 R (HD.8789) 9861 0 R ] /Limits [ (HD.8760) (HD.8789) ] >>
-endobj
-11670 0 obj
-<< /Names [ (HD.879) 1210 0 R (HD.8790) 9862 0 R (HD.8791) 9863 0 R (HD.8792) 9864 0 R (HD.8793) 9865 0 R (HD.8794) 9866 0 R (HD.8795) 9867 0 R (HD.8796) 9868 0 R (HD.8797) 9869 0 R (HD.8798) 9870 0 R (HD.8799) 9871 0 R (HD.88) 287 0 R (HD.880) 1211 0 R (HD.8800) 9872 0 R (HD.8801) 9873 0 R (HD.8802) 9874 0 R (HD.8803) 9875 0 R (HD.8804) 9876 0 R (HD.8805) 9877 0 R (HD.8806) 9878 0 R (HD.8807) 9879 0 R (HD.8808) 9880 0 R (HD.8809) 9881 0 R (HD.881) 1212 0 R (HD.8810) 9882 0 R (HD.8811) 9883 0 R (HD.8812) 9884 0 R (HD.8813) 9885 0 R (HD.8814) 9886 0 R (HD.8815) 9887 0 R (HD.8816) 9888 0 R (HD.8817) 9889 0 R ] /Limits [ (HD.879) (HD.8817) ] >>
-endobj
-11671 0 obj
-<< /Names [ (HD.8818) 9890 0 R (HD.8819) 9895 0 R (HD.882) 1213 0 R (HD.8820) 9896 0 R (HD.8821) 9897 0 R (HD.8822) 9898 0 R (HD.8823) 9899 0 R (HD.8824) 9900 0 R (HD.8825) 9901 0 R (HD.8826) 9902 0 R (HD.8827) 9903 0 R (HD.8828) 9904 0 R (HD.8829) 9905 0 R (HD.883) 1214 0 R (HD.8830) 9906 0 R (HD.8831) 9907 0 R (HD.8832) 9908 0 R (HD.8833) 9909 0 R (HD.8834) 9910 0 R (HD.8835) 9911 0 R (HD.8836) 9912 0 R (HD.8837) 9913 0 R (HD.8838) 9914 0 R (HD.8839) 9915 0 R (HD.884) 1215 0 R (HD.8840) 9916 0 R (HD.8841) 9917 0 R (HD.8842) 9918 0 R (HD.8843) 9919 0 R (HD.8844) 9920 0 R (HD.8845) 9921 0 R (HD.8846) 9922 0 R ] /Limits [ (HD.8818) (HD.8846) ] >>
-endobj
-11672 0 obj
-<< /Names [ (HD.8847) 9923 0 R (HD.8848) 9924 0 R (HD.8849) 9925 0 R (HD.885) 1216 0 R (HD.8850) 9926 0 R (HD.8851) 9927 0 R (HD.8852) 9928 0 R (HD.8853) 9929 0 R (HD.8854) 9930 0 R (HD.8855) 9931 0 R (HD.8856) 9932 0 R (HD.8857) 9933 0 R (HD.8858) 9934 0 R (HD.8859) 9935 0 R (HD.886) 1217 0 R (HD.8860) 9936 0 R (HD.8861) 9937 0 R (HD.8862) 9938 0 R (HD.8863) 9939 0 R (HD.8864) 9940 0 R (HD.8865) 9941 0 R (HD.8866) 9942 0 R (HD.8867) 9943 0 R (HD.8868) 9944 0 R (HD.8869) 9945 0 R (HD.887) 1218 0 R (HD.8870) 9946 0 R (HD.8871) 9947 0 R (HD.8872) 9948 0 R (HD.8873) 9949 0 R (HD.8874) 9950 0 R (HD.8875) 9951 0 R ] /Limits [ (HD.8847) (HD.8875) ] >>
-endobj
-11673 0 obj
-<< /Names [ (HD.8876) 9952 0 R (HD.8877) 9953 0 R (HD.8878) 9959 0 R (HD.8879) 9960 0 R (HD.888) 1219 0 R (HD.8880) 9961 0 R (HD.8881) 9962 0 R (HD.8882) 9963 0 R (HD.8883) 9964 0 R (HD.8884) 9965 0 R (HD.8885) 9966 0 R (HD.8886) 9967 0 R (HD.8887) 9968 0 R (HD.8888) 9969 0 R (HD.8889) 9970 0 R (HD.889) 1220 0 R (HD.8890) 9971 0 R (HD.8891) 9972 0 R (HD.8892) 9973 0 R (HD.8893) 9974 0 R (HD.8894) 9975 0 R (HD.8895) 9976 0 R (HD.8896) 9977 0 R (HD.8897) 9978 0 R (HD.8898) 9979 0 R (HD.8899) 9980 0 R (HD.89) 288 0 R (HD.890) 1221 0 R (HD.8900) 9981 0 R (HD.8901) 9982 0 R (HD.8902) 9983 0 R (HD.8903) 9984 0 R ] /Limits [ (HD.8876) (HD.8903) ] >>
-endobj
-11674 0 obj
-<< /Names [ (HD.8904) 9985 0 R (HD.8905) 9986 0 R (HD.8906) 9987 0 R (HD.8907) 9988 0 R (HD.8908) 9989 0 R (HD.8909) 9990 0 R (HD.891) 1222 0 R (HD.8910) 9991 0 R (HD.8911) 9992 0 R (HD.8912) 9993 0 R (HD.8913) 9994 0 R (HD.8914) 9995 0 R (HD.8915) 9996 0 R (HD.8916) 9997 0 R (HD.8917) 9998 0 R (HD.8918) 9999 0 R (HD.8919) 10000 0 R (HD.892) 1223 0 R (HD.8920) 10001 0 R (HD.8921) 10002 0 R (HD.8922) 10003 0 R (HD.8923) 10004 0 R (HD.8924) 10005 0 R (HD.8925) 10006 0 R (HD.8926) 10007 0 R (HD.8927) 10008 0 R (HD.8928) 10009 0 R (HD.8929) 10010 0 R (HD.893) 1224 0 R (HD.8930) 10011 0 R (HD.8931) 10012 0 R (HD.8932) 10013 0 R ] /Limits [ (HD.8904) (HD.8932) ] >>
-endobj
-11675 0 obj
-<< /Names [ (HD.8933) 10014 0 R (HD.8934) 10015 0 R (HD.8935) 10016 0 R (HD.8936) 10017 0 R (HD.8937) 10018 0 R (HD.8938) 10019 0 R (HD.8939) 10020 0 R (HD.894) 1225 0 R (HD.8940) 10021 0 R (HD.8941) 10026 0 R (HD.8942) 10027 0 R (HD.8943) 10028 0 R (HD.8944) 10029 0 R (HD.8945) 10030 0 R (HD.8946) 10031 0 R (HD.8947) 10032 0 R (HD.8948) 10033 0 R (HD.8949) 10034 0 R (HD.895) 1226 0 R (HD.8950) 10035 0 R (HD.8951) 10036 0 R (HD.8952) 10037 0 R (HD.8953) 10038 0 R (HD.8954) 10039 0 R (HD.8955) 10040 0 R (HD.8956) 10041 0 R (HD.8957) 10042 0 R (HD.8958) 10043 0 R (HD.8959) 10044 0 R (HD.896) 1227 0 R (HD.8960) 10045 0 R (HD.8961) 10046 0 R ] /Limits [ (HD.8933) (HD.8961) ] >>
-endobj
-11676 0 obj
-<< /Names [ (HD.8962) 10047 0 R (HD.8963) 10048 0 R (HD.8964) 10049 0 R (HD.8965) 10050 0 R (HD.8966) 10051 0 R (HD.8967) 10052 0 R (HD.8968) 10053 0 R (HD.8969) 10054 0 R (HD.897) 1228 0 R (HD.8970) 10055 0 R (HD.8971) 10056 0 R (HD.8972) 10057 0 R (HD.8973) 10058 0 R (HD.8974) 10059 0 R (HD.8975) 10060 0 R (HD.8976) 10061 0 R (HD.8977) 10062 0 R (HD.8978) 10063 0 R (HD.8979) 10064 0 R (HD.898) 1229 0 R (HD.8980) 10065 0 R (HD.8981) 10066 0 R (HD.8982) 10067 0 R (HD.8983) 10068 0 R (HD.8984) 10069 0 R (HD.8985) 10070 0 R (HD.8986) 10071 0 R (HD.8987) 10072 0 R (HD.8988) 10073 0 R (HD.8989) 10074 0 R (HD.899) 1230 0 R (HD.8990) 10075 0 R ] /Limits [ (HD.8962) (HD.8990) ] >>
-endobj
-11677 0 obj
-<< /Names [ (HD.8991) 10076 0 R (HD.8992) 10077 0 R (HD.8993) 10078 0 R (HD.8994) 10079 0 R (HD.8995) 10080 0 R (HD.8996) 10081 0 R (HD.8997) 10082 0 R (HD.8998) 10083 0 R (HD.8999) 10084 0 R (HD.9) 197 0 R (HD.90) 289 0 R (HD.900) 1231 0 R (HD.9000) 10085 0 R (HD.9001) 10086 0 R (HD.9002) 10091 0 R (HD.9003) 10092 0 R (HD.9004) 10093 0 R (HD.9005) 10094 0 R (HD.9006) 10095 0 R (HD.9007) 10096 0 R (HD.9008) 10097 0 R (HD.9009) 10098 0 R (HD.901) 1232 0 R (HD.9010) 10099 0 R (HD.9011) 10100 0 R (HD.9012) 10101 0 R (HD.9013) 10102 0 R (HD.9014) 10103 0 R (HD.9015) 10104 0 R (HD.9016) 10105 0 R (HD.9017) 10106 0 R (HD.9018) 10107 0 R ] /Limits [ (HD.8991) (HD.9018) ] >>
-endobj
-11678 0 obj
-<< /Names [ (HD.9019) 10108 0 R (HD.902) 1233 0 R (HD.9020) 10109 0 R (HD.9021) 10110 0 R (HD.9022) 10111 0 R (HD.9023) 10112 0 R (HD.9024) 10113 0 R (HD.9025) 10114 0 R (HD.9026) 10115 0 R (HD.9027) 10116 0 R (HD.9028) 10117 0 R (HD.9029) 10118 0 R (HD.903) 1234 0 R (HD.9030) 10119 0 R (HD.9031) 10120 0 R (HD.9032) 10121 0 R (HD.9033) 10122 0 R (HD.9034) 10123 0 R (HD.9035) 10124 0 R (HD.9036) 10125 0 R (HD.9037) 10126 0 R (HD.9038) 10127 0 R (HD.9039) 10128 0 R (HD.904) 1235 0 R (HD.9040) 10129 0 R (HD.9041) 10130 0 R (HD.9042) 10131 0 R (HD.9043) 10132 0 R (HD.9044) 10133 0 R (HD.9045) 10134 0 R (HD.9046) 10135 0 R (HD.9047) 10136 0 R ] /Limits [ (HD.9019) (HD.9047) ] >>
-endobj
-11679 0 obj
-<< /Names [ (HD.9048) 10137 0 R (HD.9049) 10142 0 R (HD.905) 1236 0 R (HD.9050) 10143 0 R (HD.9051) 10144 0 R (HD.9052) 10145 0 R (HD.9053) 10146 0 R (HD.9054) 10147 0 R (HD.9055) 10148 0 R (HD.9056) 10149 0 R (HD.9057) 10150 0 R (HD.9058) 10151 0 R (HD.9059) 10152 0 R (HD.906) 1237 0 R (HD.9060) 10153 0 R (HD.9061) 10154 0 R (HD.9062) 10155 0 R (HD.9063) 10156 0 R (HD.9064) 10157 0 R (HD.9065) 10158 0 R (HD.9066) 10159 0 R (HD.9067) 10160 0 R (HD.9068) 10161 0 R (HD.9069) 10162 0 R (HD.907) 1238 0 R (HD.9070) 10163 0 R (HD.9071) 10164 0 R (HD.9072) 10165 0 R (HD.9073) 10166 0 R (HD.9074) 10167 0 R (HD.9075) 10168 0 R (HD.9076) 10169 0 R ] /Limits [ (HD.9048) (HD.9076) ] >>
-endobj
-11680 0 obj
-<< /Names [ (HD.9077) 10170 0 R (HD.9078) 10171 0 R (HD.9079) 10172 0 R (HD.908) 1239 0 R (HD.9080) 10173 0 R (HD.9081) 10174 0 R (HD.9082) 10175 0 R (HD.9083) 10176 0 R (HD.9084) 10177 0 R (HD.9085) 10182 0 R (HD.9086) 10183 0 R (HD.9087) 10184 0 R (HD.9088) 10185 0 R (HD.9089) 10186 0 R (HD.909) 1240 0 R (HD.9090) 10187 0 R (HD.9091) 10188 0 R (HD.9092) 10189 0 R (HD.9093) 10190 0 R (HD.9094) 10191 0 R (HD.9095) 10192 0 R (HD.9096) 10193 0 R (HD.9097) 10194 0 R (HD.9098) 10195 0 R (HD.9099) 10196 0 R (HD.91) 290 0 R (HD.910) 1241 0 R (HD.9100) 10197 0 R (HD.9101) 10198 0 R (HD.9102) 10199 0 R (HD.9103) 10200 0 R (HD.9104) 10201 0 R ] /Limits [ (HD.9077) (HD.9104) ] >>
-endobj
-11681 0 obj
-<< /Names [ (HD.9105) 10202 0 R (HD.9106) 10203 0 R (HD.9107) 10204 0 R (HD.9108) 10205 0 R (HD.9109) 10206 0 R (HD.911) 1242 0 R (HD.9110) 10207 0 R (HD.9111) 10208 0 R (HD.9112) 10209 0 R (HD.9113) 10210 0 R (HD.9114) 10211 0 R (HD.9115) 10212 0 R (HD.9116) 10213 0 R (HD.9117) 10214 0 R (HD.9118) 10215 0 R (HD.9119) 10216 0 R (HD.912) 1243 0 R (HD.9120) 10217 0 R (HD.9121) 10218 0 R (HD.9122) 10219 0 R (HD.9123) 10220 0 R (HD.9124) 10221 0 R (HD.9125) 10222 0 R (HD.9126) 10223 0 R (HD.9127) 10224 0 R (HD.9128) 10225 0 R (HD.9129) 10226 0 R (HD.913) 1244 0 R (HD.9130) 10227 0 R (HD.9131) 10228 0 R (HD.9132) 10229 0 R (HD.9133) 10230 0 R ] /Limits [ (HD.9105) (HD.9133) ] >>
-endobj
-11682 0 obj
-<< /Names [ (HD.9134) 10231 0 R (HD.9135) 10232 0 R (HD.9136) 10233 0 R (HD.9137) 10238 0 R (HD.9138) 10239 0 R (HD.9139) 10240 0 R (HD.914) 1245 0 R (HD.9140) 10241 0 R (HD.9141) 10242 0 R (HD.9142) 10243 0 R (HD.9143) 10244 0 R (HD.9144) 10245 0 R (HD.9145) 10246 0 R (HD.9146) 10247 0 R (HD.9147) 10248 0 R (HD.9148) 10249 0 R (HD.9149) 10250 0 R (HD.915) 1246 0 R (HD.9150) 10251 0 R (HD.9151) 10252 0 R (HD.9152) 10253 0 R (HD.9153) 10254 0 R (HD.9154) 10255 0 R (HD.9155) 10256 0 R (HD.9156) 10257 0 R (HD.9157) 10258 0 R (HD.9158) 10259 0 R (HD.9159) 10260 0 R (HD.916) 1247 0 R (HD.9160) 10261 0 R (HD.9161) 10262 0 R (HD.9162) 10263 0 R ] /Limits [ (HD.9134) (HD.9162) ] >>
-endobj
-11683 0 obj
-<< /Names [ (HD.9163) 10264 0 R (HD.9164) 10265 0 R (HD.9165) 10266 0 R (HD.9166) 10267 0 R (HD.9167) 10268 0 R (HD.9168) 10269 0 R (HD.9169) 10270 0 R (HD.917) 1248 0 R (HD.9170) 10271 0 R (HD.9171) 10272 0 R (HD.9172) 10273 0 R (HD.9173) 10274 0 R (HD.9174) 10275 0 R (HD.9175) 10276 0 R (HD.9176) 10277 0 R (HD.9177) 10278 0 R (HD.9178) 10279 0 R (HD.9179) 10280 0 R (HD.918) 1249 0 R (HD.9180) 10281 0 R (HD.9181) 10282 0 R (HD.9182) 10283 0 R (HD.9183) 10284 0 R (HD.9184) 10285 0 R (HD.9185) 10286 0 R (HD.9186) 10287 0 R (HD.9187) 10288 0 R (HD.9188) 10289 0 R (HD.9189) 10290 0 R (HD.919) 1250 0 R (HD.9190) 10291 0 R (HD.9191) 10292 0 R ] /Limits [ (HD.9163) (HD.9191) ] >>
-endobj
-11684 0 obj
-<< /Names [ (HD.9192) 10293 0 R (HD.9193) 10294 0 R (HD.9194) 10295 0 R (HD.9195) 10296 0 R (HD.9196) 10297 0 R (HD.9197) 10302 0 R (HD.9198) 10303 0 R (HD.9199) 10304 0 R (HD.92) 291 0 R (HD.920) 1251 0 R (HD.9200) 10305 0 R (HD.9201) 10306 0 R (HD.9202) 10307 0 R (HD.9203) 10308 0 R (HD.9204) 10309 0 R (HD.9205) 10310 0 R (HD.9206) 10311 0 R (HD.9207) 10312 0 R (HD.9208) 10313 0 R (HD.9209) 10314 0 R (HD.921) 1252 0 R (HD.9210) 10315 0 R (HD.9211) 10316 0 R (HD.9212) 10317 0 R (HD.9213) 10318 0 R (HD.9214) 10319 0 R (HD.9215) 10320 0 R (HD.9216) 10321 0 R (HD.9217) 10322 0 R (HD.9218) 10323 0 R (HD.9219) 10324 0 R (HD.922) 1253 0 R ] /Limits [ (HD.9192) (HD.922) ] >>
-endobj
-11685 0 obj
-<< /Names [ (HD.9220) 10325 0 R (HD.9221) 10326 0 R (HD.9222) 10327 0 R (HD.9223) 10328 0 R (HD.9224) 10329 0 R (HD.9225) 10330 0 R (HD.9226) 10331 0 R (HD.9227) 10332 0 R (HD.9228) 10333 0 R (HD.9229) 10334 0 R (HD.923) 1258 0 R (HD.9230) 10335 0 R (HD.9231) 10336 0 R (HD.9232) 10337 0 R (HD.9233) 10338 0 R (HD.9234) 10339 0 R (HD.9235) 10340 0 R (HD.9236) 10341 0 R (HD.9237) 10342 0 R (HD.9238) 10343 0 R (HD.9239) 10344 0 R (HD.924) 1259 0 R (HD.9240) 10345 0 R (HD.9241) 10346 0 R (HD.9242) 10347 0 R (HD.9243) 10348 0 R (HD.9244) 10349 0 R (HD.9245) 10350 0 R (HD.9246) 10351 0 R (HD.9247) 10352 0 R (HD.9248) 10353 0 R (HD.9249) 10354 0 R ] /Limits [ (HD.9220) (HD.9249) ] >>
-endobj
-11686 0 obj
-<< /Names [ (HD.925) 1260 0 R (HD.9250) 10355 0 R (HD.9251) 10356 0 R (HD.9252) 10357 0 R (HD.9253) 10358 0 R (HD.9254) 10359 0 R (HD.9255) 10360 0 R (HD.9256) 10361 0 R (HD.9257) 10366 0 R (HD.9258) 10367 0 R (HD.9259) 10368 0 R (HD.926) 1261 0 R (HD.9260) 10369 0 R (HD.9261) 10370 0 R (HD.9262) 10371 0 R (HD.9263) 10372 0 R (HD.9264) 10373 0 R (HD.9265) 10374 0 R (HD.9266) 10375 0 R (HD.9267) 10376 0 R (HD.9268) 10377 0 R (HD.9269) 10378 0 R (HD.927) 1262 0 R (HD.9270) 10379 0 R (HD.9271) 10380 0 R (HD.9272) 10381 0 R (HD.9273) 10382 0 R (HD.9274) 10383 0 R (HD.9275) 10384 0 R (HD.9276) 10385 0 R (HD.9277) 10386 0 R (HD.9278) 10387 0 R ] /Limits [ (HD.925) (HD.9278) ] >>
-endobj
-11687 0 obj
-<< /Names [ (HD.9279) 10388 0 R (HD.928) 1263 0 R (HD.9280) 10389 0 R (HD.9281) 10390 0 R (HD.9282) 10391 0 R (HD.9283) 10392 0 R (HD.9284) 10393 0 R (HD.9285) 10394 0 R (HD.9286) 10395 0 R (HD.9287) 10396 0 R (HD.9288) 10397 0 R (HD.9289) 10398 0 R (HD.929) 1264 0 R (HD.9290) 10399 0 R (HD.9291) 10400 0 R (HD.9292) 10401 0 R (HD.9293) 10402 0 R (HD.9294) 10403 0 R (HD.9295) 10404 0 R (HD.9296) 10405 0 R (HD.9297) 10406 0 R (HD.9298) 10407 0 R (HD.9299) 10408 0 R (HD.93) 292 0 R (HD.930) 1265 0 R (HD.9300) 10409 0 R (HD.9301) 10410 0 R (HD.9302) 10411 0 R (HD.9303) 10412 0 R (HD.9304) 10413 0 R (HD.9305) 10414 0 R (HD.9306) 10415 0 R ] /Limits [ (HD.9279) (HD.9306) ] >>
-endobj
-11688 0 obj
-<< /Names [ (HD.9307) 10416 0 R (HD.9308) 10417 0 R (HD.9309) 10418 0 R (HD.931) 1266 0 R (HD.9310) 10419 0 R (HD.9311) 10420 0 R (HD.9312) 10421 0 R (HD.9313) 10422 0 R (HD.9314) 10423 0 R (HD.9315) 10424 0 R (HD.9316) 10425 0 R (HD.9317) 10426 0 R (HD.9318) 10431 0 R (HD.9319) 10432 0 R (HD.932) 1267 0 R (HD.9320) 10433 0 R (HD.9321) 10434 0 R (HD.9322) 10435 0 R (HD.9323) 10436 0 R (HD.9324) 10437 0 R (HD.9325) 10438 0 R (HD.9326) 10439 0 R (HD.9327) 10440 0 R (HD.9328) 10441 0 R (HD.9329) 10442 0 R (HD.933) 1268 0 R (HD.9330) 10443 0 R (HD.9331) 10444 0 R (HD.9332) 10445 0 R (HD.9333) 10446 0 R (HD.9334) 10447 0 R (HD.9335) 10448 0 R ] /Limits [ (HD.9307) (HD.9335) ] >>
-endobj
-11689 0 obj
-<< /Names [ (HD.9336) 10449 0 R (HD.9337) 10450 0 R (HD.9338) 10451 0 R (HD.9339) 10452 0 R (HD.934) 1269 0 R (HD.9340) 10453 0 R (HD.9341) 10454 0 R (HD.9342) 10455 0 R (HD.9343) 10456 0 R (HD.9344) 10457 0 R (HD.9345) 10458 0 R (HD.9346) 10459 0 R (HD.9347) 10460 0 R (HD.9348) 10461 0 R (HD.9349) 10462 0 R (HD.935) 1270 0 R (HD.9350) 10463 0 R (HD.9351) 10464 0 R (HD.9352) 10465 0 R (HD.9353) 10466 0 R (HD.9354) 10467 0 R (HD.9355) 10468 0 R (HD.9356) 10469 0 R (HD.9357) 10470 0 R (HD.9358) 10471 0 R (HD.9359) 10472 0 R (HD.936) 1271 0 R (HD.9360) 10473 0 R (HD.9361) 10474 0 R (HD.9362) 10475 0 R (HD.9363) 10476 0 R (HD.9364) 10477 0 R ] /Limits [ (HD.9336) (HD.9364) ] >>
-endobj
-11690 0 obj
-<< /Names [ (HD.9365) 10478 0 R (HD.9366) 10479 0 R (HD.9367) 10480 0 R (HD.9368) 10481 0 R (HD.9369) 10482 0 R (HD.937) 1272 0 R (HD.9370) 10483 0 R (HD.9371) 10484 0 R (HD.9372) 10485 0 R (HD.9373) 10486 0 R (HD.9374) 10487 0 R (HD.9375) 10488 0 R (HD.9376) 10489 0 R (HD.9377) 10490 0 R (HD.9378) 10495 0 R (HD.9379) 10496 0 R (HD.938) 1273 0 R (HD.9380) 10497 0 R (HD.9381) 10498 0 R (HD.9382) 10499 0 R (HD.9383) 10500 0 R (HD.9384) 10501 0 R (HD.9385) 10502 0 R (HD.9386) 10503 0 R (HD.9387) 10504 0 R (HD.9388) 10505 0 R (HD.9389) 10506 0 R (HD.939) 1274 0 R (HD.9390) 10507 0 R (HD.9391) 10508 0 R (HD.9392) 10509 0 R (HD.9393) 10510 0 R ] /Limits [ (HD.9365) (HD.9393) ] >>
-endobj
-11691 0 obj
-<< /Names [ (HD.9394) 10511 0 R (HD.9395) 10512 0 R (HD.9396) 10513 0 R (HD.9397) 10514 0 R (HD.9398) 10515 0 R (HD.9399) 10516 0 R (HD.94) 293 0 R (HD.940) 1275 0 R (HD.9400) 10517 0 R (HD.9401) 10518 0 R (HD.9402) 10519 0 R (HD.9403) 10520 0 R (HD.9404) 10521 0 R (HD.9405) 10522 0 R (HD.9406) 10523 0 R (HD.9407) 10524 0 R (HD.9408) 10525 0 R (HD.9409) 10526 0 R (HD.941) 1276 0 R (HD.9410) 10527 0 R (HD.9411) 10528 0 R (HD.9412) 10529 0 R (HD.9413) 10530 0 R (HD.9414) 10531 0 R (HD.9415) 10532 0 R (HD.9416) 10533 0 R (HD.9417) 10534 0 R (HD.9418) 10535 0 R (HD.9419) 10536 0 R (HD.942) 1277 0 R (HD.9420) 10537 0 R (HD.9421) 10538 0 R ] /Limits [ (HD.9394) (HD.9421) ] >>
-endobj
-11692 0 obj
-<< /Names [ (HD.9422) 10539 0 R (HD.9423) 10540 0 R (HD.9424) 10541 0 R (HD.9425) 10542 0 R (HD.9426) 10543 0 R (HD.9427) 10544 0 R (HD.9428) 10545 0 R (HD.9429) 10546 0 R (HD.943) 1278 0 R (HD.9430) 10547 0 R (HD.9431) 10548 0 R (HD.9432) 10549 0 R (HD.9433) 10550 0 R (HD.9434) 10551 0 R (HD.9435) 10552 0 R (HD.9436) 10553 0 R (HD.9437) 10554 0 R (HD.9438) 10555 0 R (HD.9439) 10561 0 R (HD.944) 1279 0 R (HD.9440) 10562 0 R (HD.9441) 10563 0 R (HD.9442) 10564 0 R (HD.9443) 10565 0 R (HD.9444) 10566 0 R (HD.9445) 10567 0 R (HD.9446) 10568 0 R (HD.9447) 10569 0 R (HD.9448) 10570 0 R (HD.9449) 10571 0 R (HD.945) 1280 0 R (HD.9450) 10572 0 R ] /Limits [ (HD.9422) (HD.9450) ] >>
-endobj
-11693 0 obj
-<< /Names [ (HD.9451) 10573 0 R (HD.9452) 10574 0 R (HD.9453) 10575 0 R (HD.9454) 10576 0 R (HD.9455) 10577 0 R (HD.9456) 10578 0 R (HD.9457) 10579 0 R (HD.9458) 10580 0 R (HD.9459) 10581 0 R (HD.946) 1281 0 R (HD.9460) 10582 0 R (HD.9461) 10583 0 R (HD.9462) 10584 0 R (HD.9463) 10585 0 R (HD.9464) 10586 0 R (HD.9465) 10587 0 R (HD.9466) 10588 0 R (HD.9467) 10589 0 R (HD.9468) 10590 0 R (HD.9469) 10591 0 R (HD.947) 1282 0 R (HD.9470) 10592 0 R (HD.9471) 10593 0 R (HD.9472) 10594 0 R (HD.9473) 10595 0 R (HD.9474) 10596 0 R (HD.9475) 10597 0 R (HD.9476) 10598 0 R (HD.9477) 10599 0 R (HD.9478) 10600 0 R (HD.9479) 10601 0 R (HD.948) 1283 0 R ] /Limits [ (HD.9451) (HD.948) ] >>
-endobj
-11694 0 obj
-<< /Names [ (HD.9480) 10602 0 R (HD.9481) 10603 0 R (HD.9482) 10604 0 R (HD.9483) 10605 0 R (HD.9484) 10606 0 R (HD.9485) 10607 0 R (HD.9486) 10608 0 R (HD.9487) 10609 0 R (HD.9488) 10610 0 R (HD.9489) 10611 0 R (HD.949) 1284 0 R (HD.9490) 10612 0 R (HD.9491) 10613 0 R (HD.9492) 10614 0 R (HD.9493) 10615 0 R (HD.9494) 10616 0 R (HD.9495) 10617 0 R (HD.9496) 10618 0 R (HD.9497) 10619 0 R (HD.9498) 10620 0 R (HD.9499) 10625 0 R (HD.95) 294 0 R (HD.950) 1285 0 R (HD.9500) 10626 0 R (HD.9501) 10627 0 R (HD.9502) 10628 0 R (HD.9503) 10629 0 R (HD.9504) 10630 0 R (HD.9505) 10631 0 R (HD.9506) 10632 0 R (HD.9507) 10633 0 R (HD.9508) 10634 0 R ] /Limits [ (HD.9480) (HD.9508) ] >>
-endobj
-11695 0 obj
-<< /Names [ (HD.9509) 10635 0 R (HD.951) 1286 0 R (HD.9510) 10636 0 R (HD.9511) 10637 0 R (HD.9512) 10638 0 R (HD.9513) 10639 0 R (HD.9514) 10640 0 R (HD.9515) 10641 0 R (HD.9516) 10642 0 R (HD.9517) 10643 0 R (HD.9518) 10644 0 R (HD.9519) 10645 0 R (HD.952) 1287 0 R (HD.9520) 10646 0 R (HD.9521) 10647 0 R (HD.9522) 10648 0 R (HD.9523) 10649 0 R (HD.9524) 10650 0 R (HD.9525) 10651 0 R (HD.9526) 10652 0 R (HD.9527) 10653 0 R (HD.9528) 10654 0 R (HD.9529) 10655 0 R (HD.953) 1288 0 R (HD.9530) 10656 0 R (HD.9531) 10657 0 R (HD.9532) 10658 0 R (HD.9533) 10659 0 R (HD.9534) 10660 0 R (HD.9535) 10661 0 R (HD.9536) 10662 0 R (HD.9537) 10663 0 R ] /Limits [ (HD.9509) (HD.9537) ] >>
-endobj
-11696 0 obj
-<< /Names [ (HD.9538) 10664 0 R (HD.9539) 10665 0 R (HD.954) 1289 0 R (HD.9540) 10666 0 R (HD.9541) 10667 0 R (HD.9542) 10668 0 R (HD.9543) 10669 0 R (HD.9544) 10670 0 R (HD.9545) 10671 0 R (HD.9546) 10672 0 R (HD.9547) 10673 0 R (HD.9548) 10674 0 R (HD.9549) 10675 0 R (HD.955) 1290 0 R (HD.9550) 10676 0 R (HD.9551) 10677 0 R (HD.9552) 10678 0 R (HD.9553) 10679 0 R (HD.9554) 10680 0 R (HD.9555) 10681 0 R (HD.9556) 10682 0 R (HD.9557) 10683 0 R (HD.9558) 10684 0 R (HD.9559) 10685 0 R (HD.956) 1291 0 R (HD.9560) 10690 0 R (HD.9561) 10691 0 R (HD.9562) 10692 0 R (HD.9563) 10693 0 R (HD.9564) 10694 0 R (HD.9565) 10695 0 R (HD.9566) 10696 0 R ] /Limits [ (HD.9538) (HD.9566) ] >>
-endobj
-11697 0 obj
-<< /Names [ (HD.9567) 10697 0 R (HD.9568) 10698 0 R (HD.9569) 10699 0 R (HD.957) 1292 0 R (HD.9570) 10700 0 R (HD.9571) 10701 0 R (HD.9572) 10702 0 R (HD.9573) 10703 0 R (HD.9574) 10704 0 R (HD.9575) 10705 0 R (HD.9576) 10706 0 R (HD.9577) 10707 0 R (HD.9578) 10708 0 R (HD.9579) 10709 0 R (HD.958) 1293 0 R (HD.9580) 10710 0 R (HD.9581) 10711 0 R (HD.9582) 10712 0 R (HD.9583) 10713 0 R (HD.9584) 10714 0 R (HD.9585) 10715 0 R (HD.9586) 10716 0 R (HD.9587) 10717 0 R (HD.9588) 10718 0 R (HD.9589) 10719 0 R (HD.959) 1294 0 R (HD.9590) 10720 0 R (HD.9591) 10721 0 R (HD.9592) 10722 0 R (HD.9593) 10723 0 R (HD.9594) 10724 0 R (HD.9595) 10725 0 R ] /Limits [ (HD.9567) (HD.9595) ] >>
-endobj
-11698 0 obj
-<< /Names [ (HD.9596) 10726 0 R (HD.9597) 10727 0 R (HD.9598) 10728 0 R (HD.9599) 10729 0 R (HD.96) 301 0 R (HD.960) 1295 0 R (HD.9600) 10730 0 R (HD.9601) 10731 0 R (HD.9602) 10732 0 R (HD.9603) 10733 0 R (HD.9604) 10734 0 R (HD.9605) 10735 0 R (HD.9606) 10736 0 R (HD.9607) 10737 0 R (HD.9608) 10738 0 R (HD.9609) 10739 0 R (HD.961) 1296 0 R (HD.9610) 10740 0 R (HD.9611) 10741 0 R (HD.9612) 10742 0 R (HD.9613) 10743 0 R (HD.9614) 10744 0 R (HD.9615) 10745 0 R (HD.9616) 10746 0 R (HD.9617) 10747 0 R (HD.9618) 10748 0 R (HD.9619) 10749 0 R (HD.962) 1297 0 R (HD.9620) 10754 0 R (HD.9621) 10755 0 R (HD.9622) 10756 0 R (HD.9623) 10757 0 R ] /Limits [ (HD.9596) (HD.9623) ] >>
-endobj
-11699 0 obj
-<< /Names [ (HD.9624) 10758 0 R (HD.9625) 10759 0 R (HD.9626) 10760 0 R (HD.9627) 10761 0 R (HD.9628) 10762 0 R (HD.9629) 10763 0 R (HD.963) 1298 0 R (HD.9630) 10764 0 R (HD.9631) 10765 0 R (HD.9632) 10766 0 R (HD.9633) 10767 0 R (HD.9634) 10768 0 R (HD.9635) 10769 0 R (HD.9636) 10770 0 R (HD.9637) 10771 0 R (HD.9638) 10772 0 R (HD.9639) 10773 0 R (HD.964) 1299 0 R (HD.9640) 10774 0 R (HD.9641) 10775 0 R (HD.9642) 10776 0 R (HD.9643) 10777 0 R (HD.9644) 10778 0 R (HD.9645) 10779 0 R (HD.9646) 10780 0 R (HD.9647) 10781 0 R (HD.9648) 10782 0 R (HD.9649) 10783 0 R (HD.965) 1300 0 R (HD.9650) 10784 0 R (HD.9651) 10785 0 R (HD.9652) 10786 0 R ] /Limits [ (HD.9624) (HD.9652) ] >>
-endobj
-11700 0 obj
-<< /Names [ (HD.9653) 10787 0 R (HD.9654) 10788 0 R (HD.9655) 10789 0 R (HD.9656) 10790 0 R (HD.9657) 10791 0 R (HD.9658) 10792 0 R (HD.9659) 10793 0 R (HD.966) 1301 0 R (HD.9660) 10794 0 R (HD.9661) 10795 0 R (HD.9662) 10796 0 R (HD.9663) 10797 0 R (HD.9664) 10798 0 R (HD.9665) 10799 0 R (HD.9666) 10800 0 R (HD.9667) 10801 0 R (HD.9668) 10802 0 R (HD.9669) 10803 0 R (HD.967) 1302 0 R (HD.9670) 10804 0 R (HD.9671) 10805 0 R (HD.9672) 10806 0 R (HD.9673) 10807 0 R (HD.9674) 10808 0 R (HD.9675) 10809 0 R (HD.9676) 10810 0 R (HD.9677) 10811 0 R (HD.9678) 10812 0 R (HD.9679) 10813 0 R (HD.968) 1303 0 R (HD.9680) 10818 0 R (HD.9681) 10819 0 R ] /Limits [ (HD.9653) (HD.9681) ] >>
-endobj
-11701 0 obj
-<< /Names [ (HD.9682) 10820 0 R (HD.9683) 10821 0 R (HD.9684) 10822 0 R (HD.9685) 10823 0 R (HD.9686) 10824 0 R (HD.9687) 10825 0 R (HD.9688) 10826 0 R (HD.9689) 10827 0 R (HD.969) 1304 0 R (HD.9690) 10828 0 R (HD.9691) 10829 0 R (HD.9692) 10830 0 R (HD.9693) 10831 0 R (HD.9694) 10832 0 R (HD.9695) 10833 0 R (HD.9696) 10834 0 R (HD.9697) 10835 0 R (HD.9698) 10836 0 R (HD.9699) 10837 0 R (HD.97) 302 0 R (HD.970) 1305 0 R (HD.9700) 10838 0 R (HD.9701) 10839 0 R (HD.9702) 10840 0 R (HD.9703) 10841 0 R (HD.9704) 10842 0 R (HD.9705) 10843 0 R (HD.9706) 10844 0 R (HD.9707) 10845 0 R (HD.9708) 10846 0 R (HD.9709) 10847 0 R (HD.971) 1306 0 R ] /Limits [ (HD.9682) (HD.971) ] >>
-endobj
-11702 0 obj
-<< /Names [ (HD.9710) 10848 0 R (HD.9711) 10849 0 R (HD.9712) 10850 0 R (HD.9713) 10851 0 R (HD.9714) 10852 0 R (HD.9715) 10853 0 R (HD.9716) 10854 0 R (HD.9717) 10855 0 R (HD.9718) 10856 0 R (HD.9719) 10857 0 R (HD.972) 1307 0 R (HD.9720) 10858 0 R (HD.9721) 10859 0 R (HD.9722) 10860 0 R (HD.9723) 10861 0 R (HD.9724) 10862 0 R (HD.9725) 10863 0 R (HD.9726) 10864 0 R (HD.9727) 10865 0 R (HD.9728) 10866 0 R (HD.9729) 10867 0 R (HD.973) 1308 0 R (HD.9730) 10868 0 R (HD.9731) 10869 0 R (HD.9732) 10870 0 R (HD.9733) 10871 0 R (HD.9734) 10872 0 R (HD.9735) 10873 0 R (HD.9736) 10874 0 R (HD.9737) 10875 0 R (HD.9738) 10876 0 R (HD.9739) 10877 0 R ] /Limits [ (HD.9710) (HD.9739) ] >>
-endobj
-11703 0 obj
-<< /Names [ (HD.974) 1309 0 R (HD.9740) 10878 0 R (HD.9741) 10879 0 R (HD.9742) 10884 0 R (HD.9743) 10885 0 R (HD.9744) 10886 0 R (HD.9745) 10887 0 R (HD.9746) 10888 0 R (HD.9747) 10889 0 R (HD.9748) 10890 0 R (HD.9749) 10891 0 R (HD.975) 1310 0 R (HD.9750) 10892 0 R (HD.9751) 10893 0 R (HD.9752) 10894 0 R (HD.9753) 10895 0 R (HD.9754) 10896 0 R (HD.9755) 10897 0 R (HD.9756) 10898 0 R (HD.9757) 10899 0 R (HD.9758) 10900 0 R (HD.9759) 10901 0 R (HD.976) 1311 0 R (HD.9760) 10902 0 R (HD.9761) 10903 0 R (HD.9762) 10904 0 R (HD.9763) 10905 0 R (HD.9764) 10906 0 R (HD.9765) 10907 0 R (HD.9766) 10908 0 R (HD.9767) 10909 0 R (HD.9768) 10910 0 R ] /Limits [ (HD.974) (HD.9768) ] >>
-endobj
-11704 0 obj
-<< /Names [ (HD.9769) 10911 0 R (HD.977) 1312 0 R (HD.9770) 10912 0 R (HD.9771) 10913 0 R (HD.9772) 10914 0 R (HD.9773) 10915 0 R (HD.9774) 10916 0 R (HD.9775) 10917 0 R (HD.9776) 10918 0 R (HD.9777) 10919 0 R (HD.9778) 10920 0 R (HD.9779) 10921 0 R (HD.978) 1313 0 R (HD.9780) 10922 0 R (HD.9781) 10923 0 R (HD.9782) 10924 0 R (HD.9783) 10925 0 R (HD.9784) 10926 0 R (HD.9785) 10927 0 R (HD.9786) 10928 0 R (HD.9787) 10929 0 R (HD.9788) 10930 0 R (HD.9789) 10931 0 R (HD.979) 1314 0 R (HD.9790) 10932 0 R (HD.9791) 10933 0 R (HD.9792) 10934 0 R (HD.9793) 10935 0 R (HD.9794) 10936 0 R (HD.9795) 10937 0 R (HD.9796) 10938 0 R (HD.9797) 10939 0 R ] /Limits [ (HD.9769) (HD.9797) ] >>
-endobj
-11705 0 obj
-<< /Names [ (HD.9798) 10940 0 R (HD.9799) 10941 0 R (HD.98) 303 0 R (HD.980) 1320 0 R (HD.9800) 10942 0 R (HD.9801) 10943 0 R (HD.9802) 10944 0 R (HD.9803) 10945 0 R (HD.9804) 10946 0 R (HD.9805) 10951 0 R (HD.9806) 10952 0 R (HD.9807) 10953 0 R (HD.9808) 10954 0 R (HD.9809) 10955 0 R (HD.981) 1321 0 R (HD.9810) 10956 0 R (HD.9811) 10957 0 R (HD.9812) 10958 0 R (HD.9813) 10959 0 R (HD.9814) 10960 0 R (HD.9815) 10961 0 R (HD.9816) 10962 0 R (HD.9817) 10963 0 R (HD.9818) 10964 0 R (HD.9819) 10965 0 R (HD.982) 1322 0 R (HD.9820) 10966 0 R (HD.9821) 10967 0 R (HD.9822) 10968 0 R (HD.9823) 10969 0 R (HD.9824) 10970 0 R (HD.9825) 10971 0 R ] /Limits [ (HD.9798) (HD.9825) ] >>
-endobj
-11706 0 obj
-<< /Names [ (HD.9826) 10972 0 R (HD.9827) 10973 0 R (HD.9828) 10974 0 R (HD.9829) 10975 0 R (HD.983) 1323 0 R (HD.9830) 10976 0 R (HD.9831) 10977 0 R (HD.9832) 10978 0 R (HD.9833) 10979 0 R (HD.9834) 10980 0 R (HD.9835) 10981 0 R (HD.9836) 10982 0 R (HD.9837) 10983 0 R (HD.9838) 10984 0 R (HD.9839) 10985 0 R (HD.984) 1324 0 R (HD.9840) 10986 0 R (HD.9841) 10987 0 R (HD.9842) 10988 0 R (HD.9843) 10989 0 R (HD.9844) 10990 0 R (HD.9845) 10991 0 R (HD.9846) 10992 0 R (HD.9847) 10993 0 R (HD.9848) 10994 0 R (HD.9849) 10995 0 R (HD.985) 1325 0 R (HD.9850) 10996 0 R (HD.9851) 10997 0 R (HD.9852) 10998 0 R (HD.9853) 10999 0 R (HD.9854) 11000 0 R ] /Limits [ (HD.9826) (HD.9854) ] >>
-endobj
-11707 0 obj
-<< /Names [ (HD.9855) 11001 0 R (HD.9856) 11002 0 R (HD.9857) 11003 0 R (HD.9858) 11004 0 R (HD.9859) 11005 0 R (HD.986) 1326 0 R (HD.9860) 11006 0 R (HD.9861) 11007 0 R (HD.9862) 11008 0 R (HD.9863) 11009 0 R (HD.9864) 11010 0 R (HD.9865) 11011 0 R (HD.9866) 11016 0 R (HD.9867) 11017 0 R (HD.9868) 11018 0 R (HD.9869) 11019 0 R (HD.987) 1327 0 R (HD.9870) 11020 0 R (HD.9871) 11021 0 R (HD.9872) 11022 0 R (HD.9873) 11023 0 R (HD.9874) 11024 0 R (HD.9875) 11025 0 R (HD.9876) 11026 0 R (HD.9877) 11027 0 R (HD.9878) 11028 0 R (HD.9879) 11029 0 R (HD.988) 1328 0 R (HD.9880) 11030 0 R (HD.9881) 11031 0 R (HD.9882) 11032 0 R (HD.9883) 11033 0 R ] /Limits [ (HD.9855) (HD.9883) ] >>
-endobj
-11708 0 obj
-<< /Names [ (HD.9884) 11034 0 R (HD.9885) 11035 0 R (HD.9886) 11036 0 R (HD.9887) 11037 0 R (HD.9888) 11038 0 R (HD.9889) 11039 0 R (HD.989) 1329 0 R (HD.9890) 11040 0 R (HD.9891) 11041 0 R (HD.9892) 11042 0 R (HD.9893) 11043 0 R (HD.9894) 11044 0 R (HD.9895) 11045 0 R (HD.9896) 11046 0 R (HD.9897) 11047 0 R (HD.9898) 11048 0 R (HD.9899) 11049 0 R (HD.99) 304 0 R (HD.990) 1330 0 R (HD.9900) 11050 0 R (HD.9901) 11051 0 R (HD.9902) 11052 0 R (HD.9903) 11053 0 R (HD.9904) 11054 0 R (HD.9905) 11055 0 R (HD.9906) 11056 0 R (HD.9907) 11057 0 R (HD.9908) 11058 0 R (HD.9909) 11059 0 R (HD.991) 1331 0 R (HD.9910) 11060 0 R (HD.9911) 11061 0 R ] /Limits [ (HD.9884) (HD.9911) ] >>
-endobj
-11709 0 obj
-<< /Names [ (HD.9912) 11062 0 R (HD.9913) 11063 0 R (HD.9914) 11064 0 R (HD.9915) 11065 0 R (HD.9916) 11066 0 R (HD.9917) 11067 0 R (HD.9918) 11068 0 R (HD.9919) 11069 0 R (HD.992) 1332 0 R (HD.9920) 11070 0 R (HD.9921) 11071 0 R (HD.9922) 11072 0 R (HD.9923) 11073 0 R (HD.9924) 11074 0 R (HD.9925) 11075 0 R (HD.9926) 11076 0 R (HD.9927) 11081 0 R (HD.9928) 11082 0 R (HD.9929) 11083 0 R (HD.993) 1333 0 R (HD.9930) 11084 0 R (HD.9931) 11085 0 R (HD.9932) 11086 0 R (HD.9933) 11087 0 R (HD.9934) 11088 0 R (HD.9935) 11089 0 R (HD.9936) 11090 0 R (HD.9937) 11091 0 R (HD.9938) 11092 0 R (HD.9939) 11093 0 R (HD.994) 1334 0 R (HD.9940) 11094 0 R ] /Limits [ (HD.9912) (HD.9940) ] >>
-endobj
-11710 0 obj
-<< /Names [ (HD.9941) 11095 0 R (HD.9942) 11096 0 R (HD.9943) 11097 0 R (HD.9944) 11098 0 R (HD.9945) 11099 0 R (HD.9946) 11100 0 R (HD.9947) 11101 0 R (HD.9948) 11102 0 R (HD.9949) 11103 0 R (HD.995) 1335 0 R (HD.9950) 11104 0 R (HD.9951) 11105 0 R (HD.9952) 11106 0 R (HD.9953) 11107 0 R (HD.9954) 11108 0 R (HD.9955) 11109 0 R (HD.9956) 11110 0 R (HD.9957) 11111 0 R (HD.9958) 11112 0 R (HD.9959) 11113 0 R (HD.996) 1336 0 R (HD.9960) 11114 0 R (HD.9961) 11115 0 R (HD.9962) 11116 0 R (HD.9963) 11117 0 R (HD.9964) 11118 0 R (HD.9965) 11119 0 R (HD.9966) 11120 0 R (HD.9967) 11121 0 R (HD.9968) 11122 0 R (HD.9969) 11123 0 R (HD.997) 1337 0 R ] /Limits [ (HD.9941) (HD.997) ] >>
-endobj
-11711 0 obj
-<< /Names [ (HD.9970) 11124 0 R (HD.9971) 11125 0 R (HD.9972) 11126 0 R (HD.9973) 11127 0 R (HD.9974) 11128 0 R (HD.9975) 11129 0 R (HD.9976) 11130 0 R (HD.9977) 11131 0 R (HD.9978) 11132 0 R (HD.9979) 11133 0 R (HD.998) 1338 0 R (HD.9980) 11134 0 R (HD.9981) 11135 0 R (HD.9982) 11136 0 R (HD.9983) 11137 0 R (HD.9984) 11138 0 R (HD.9985) 11139 0 R (HD.9986) 11140 0 R (HD.9987) 11141 0 R (HD.9988) 11142 0 R (HD.9989) 11143 0 R (HD.999) 1339 0 R (HD.9990) 11148 0 R (HD.9991) 11149 0 R (HD.9992) 11150 0 R (HD.9993) 11151 0 R (HD.9994) 11152 0 R (HD.9995) 11153 0 R (HD.9996) 11154 0 R (HD.9997) 11155 0 R (HD.9998) 11156 0 R (HD.9999) 11157 0 R ] /Limits [ (HD.9970) (HD.9999) ] >>
-endobj
-11712 0 obj
-<< /Names [ (Hfootnote.1) 468 0 R (Hfootnote.10) 2641 0 R (Hfootnote.11) 4454 0 R (Hfootnote.12) 4534 0 R (Hfootnote.13) 5992 0 R (Hfootnote.14) 7764 0 R (Hfootnote.15) 8094 0 R (Hfootnote.2) 754 0 R (Hfootnote.3) 784 0 R (Hfootnote.4) 1948 0 R (Hfootnote.5) 2000 0 R (Hfootnote.6) 2308 0 R (Hfootnote.7) 2349 0 R (Hfootnote.8) 2445 0 R (Hfootnote.9) 2499 0 R (page.1) 172 0 R (page.10) 551 0 R (page.100) 4672 0 R (page.101) 4727 0 R (page.102) 4793 0 R (page.103) 4835 0 R (page.104) 4901 0 R (page.105) 4956 0 R (page.106) 4998 0 R (page.107) 5047 0 R (page.108) 5109 0 R (page.109) 5154 0 R (page.11) 570 0 R (page.110) 5204 0 R (page.111) 5249 0 R (page.112) 5298 0 R (page.113) 5332 0 R ] /Limits [ (Hfootnote.1) (page.113) ] >>
-endobj
-11713 0 obj
-<< /Names [ (page.114) 5382 0 R (page.115) 5439 0 R (page.116) 5492 0 R (page.117) 5558 0 R (page.118) 5609 0 R (page.119) 5671 0 R (page.12) 591 0 R (page.120) 5729 0 R (page.121) 5781 0 R (page.122) 5841 0 R (page.123) 5902 0 R (page.124) 5948 0 R (page.125) 5997 0 R (page.126) 6028 0 R (page.127) 6086 0 R (page.128) 6140 0 R (page.129) 6165 0 R (page.13) 619 0 R (page.130) 6217 0 R (page.131) 6267 0 R (page.132) 6321 0 R (page.133) 6365 0 R (page.134) 6419 0 R (page.135) 6463 0 R (page.136) 6522 0 R (page.137) 6578 0 R (page.138) 6627 0 R (page.139) 6664 0 R (page.14) 643 0 R (page.140) 6705 0 R (page.141) 6746 0 R (page.142) 6787 0 R ] /Limits [ (page.114) (page.142) ] >>
-endobj
-11714 0 obj
-<< /Names [ (page.143) 6834 0 R (page.144) 6895 0 R (page.145) 6958 0 R (page.146) 7007 0 R (page.147) 7063 0 R (page.148) 7126 0 R (page.149) 7171 0 R (page.15) 666 0 R (page.150) 7223 0 R (page.151) 7273 0 R (page.152) 7329 0 R (page.153) 7374 0 R (page.154) 7435 0 R (page.155) 7494 0 R (page.156) 7530 0 R (page.157) 7587 0 R (page.158) 7635 0 R (page.159) 7682 0 R (page.16) 683 0 R (page.160) 7721 0 R (page.161) 7769 0 R (page.162) 7829 0 R (page.163) 7876 0 R (page.164) 7926 0 R (page.165) 7967 0 R (page.166) 8010 0 R (page.167) 8049 0 R (page.168) 8100 0 R (page.169) 8159 0 R (page.17) 711 0 R (page.170) 8213 0 R (page.171) 8266 0 R ] /Limits [ (page.143) (page.171) ] >>
-endobj
-11715 0 obj
-<< /Names [ (page.172) 8325 0 R (page.173) 8379 0 R (page.174) 8439 0 R (page.175) 8481 0 R (page.176) 8531 0 R (page.177) 8586 0 R (page.178) 8650 0 R (page.179) 8706 0 R (page.18) 736 0 R (page.180) 8767 0 R (page.181) 8829 0 R (page.182) 8890 0 R (page.183) 8943 0 R (page.184) 8999 0 R (page.185) 9046 0 R (page.186) 9090 0 R (page.187) 9132 0 R (page.188) 9167 0 R (page.189) 9226 0 R (page.19) 763 0 R (page.190) 9289 0 R (page.191) 9331 0 R (page.192) 9393 0 R (page.193) 9449 0 R (page.194) 9505 0 R (page.195) 9548 0 R (page.196) 9592 0 R (page.197) 9645 0 R (page.198) 9705 0 R (page.199) 9771 0 R (page.2) 205 0 R (page.20) 789 0 R ] /Limits [ (page.172) (page.20) ] >>
-endobj
-11716 0 obj
-<< /Names [ (page.200) 9829 0 R (page.201) 9894 0 R (page.202) 9958 0 R (page.203) 10025 0 R (page.204) 10090 0 R (page.205) 10141 0 R (page.206) 10181 0 R (page.207) 10237 0 R (page.208) 10301 0 R (page.209) 10365 0 R (page.21) 812 0 R (page.210) 10430 0 R (page.211) 10494 0 R (page.212) 10560 0 R (page.213) 10624 0 R (page.214) 10689 0 R (page.215) 10753 0 R (page.216) 10817 0 R (page.217) 10883 0 R (page.218) 10950 0 R (page.219) 11015 0 R (page.22) 863 0 R (page.220) 11080 0 R (page.221) 11147 0 R (page.222) 11215 0 R (page.223) 11277 0 R (page.224) 11291 0 R (page.23) 912 0 R (page.24) 954 0 R (page.25) 1005 0 R (page.26) 1037 0 R (page.27) 1065 0 R ] /Limits [ (page.200) (page.27) ] >>
-endobj
-11717 0 obj
-<< /Names [ (page.28) 1086 0 R (page.29) 1135 0 R (page.3) 250 0 R (page.30) 1199 0 R (page.31) 1257 0 R (page.32) 1319 0 R (page.33) 1382 0 R (page.34) 1429 0 R (page.35) 1483 0 R (page.36) 1525 0 R (page.37) 1566 0 R (page.38) 1623 0 R (page.39) 1674 0 R (page.4) 298 0 R (page.40) 1718 0 R (page.41) 1771 0 R (page.42) 1806 0 R (page.43) 1864 0 R (page.44) 1912 0 R (page.45) 1953 0 R (page.46) 2005 0 R (page.47) 2041 0 R (page.48) 2078 0 R (page.49) 2116 0 R (page.5) 338 0 R (page.50) 2159 0 R (page.51) 2201 0 R (page.52) 2259 0 R (page.53) 2314 0 R (page.54) 2354 0 R (page.55) 2398 0 R (page.56) 2451 0 R ] /Limits [ (page.28) (page.56) ] >>
-endobj
-11718 0 obj
-<< /Names [ (page.57) 2505 0 R (page.58) 2545 0 R (page.59) 2596 0 R (page.6) 377 0 R (page.60) 2646 0 R (page.61) 2702 0 R (page.62) 2757 0 R (page.63) 2814 0 R (page.64) 2865 0 R (page.65) 2902 0 R (page.66) 2949 0 R (page.67) 3002 0 R (page.68) 3058 0 R (page.69) 3109 0 R (page.7) 426 0 R (page.70) 3170 0 R (page.71) 3226 0 R (page.72) 3269 0 R (page.73) 3309 0 R (page.74) 3358 0 R (page.75) 3415 0 R (page.76) 3469 0 R (page.77) 3522 0 R (page.78) 3568 0 R (page.79) 3617 0 R (page.8) 473 0 R (page.80) 3666 0 R (page.81) 3724 0 R (page.82) 3774 0 R (page.83) 3814 0 R (page.84) 3858 0 R (page.85) 3914 0 R ] /Limits [ (page.57) (page.85) ] >>
-endobj
-11719 0 obj
-<< /Names [ (page.86) 3970 0 R (page.87) 4028 0 R (page.88) 4086 0 R (page.89) 4136 0 R (page.9) 523 0 R (page.90) 4187 0 R (page.91) 4244 0 R (page.92) 4302 0 R (page.93) 4357 0 R (page.94) 4406 0 R (page.95) 4459 0 R (page.96) 4501 0 R (page.97) 4539 0 R (page.98) 4589 0 R (page.99) 4644 0 R (section.0.1) 5 0 R (section.0.10) 41 0 R (section.0.11) 45 0 R (section.0.12) 49 0 R (section.0.13) 53 0 R (section.0.14) 57 0 R (section.0.15) 61 0 R (section.0.16) 65 0 R (section.0.17) 69 0 R (section.0.18) 73 0 R (section.0.19) 77 0 R (section.0.2) 9 0 R (section.0.20) 81 0 R (section.0.21) 85 0 R (section.0.22) 89 0 R (section.0.23) 93 0 R (section.0.24) 97 0 R ] /Limits [ (page.86) (section.0.24) ] >>
-endobj
-11720 0 obj
-<< /Names [ (section.0.25) 101 0 R (section.0.26) 105 0 R (section.0.27) 109 0 R (section.0.28) 113 0 R (section.0.29) 117 0 R (section.0.3) 13 0 R (section.0.30) 121 0 R (section.0.31) 125 0 R (section.0.32) 129 0 R (section.0.33) 133 0 R (section.0.34) 137 0 R (section.0.35) 141 0 R (section.0.36) 145 0 R (section.0.37) 149 0 R (section.0.38) 153 0 R (section.0.39) 157 0 R (section.0.4) 17 0 R (section.0.40) 161 0 R (section.0.5) 21 0 R (section.0.6) 25 0 R (section.0.7) 29 0 R (section.0.8) 33 0 R (section.0.9) 37 0 R (toc1.1) 165 0 R ] /Limits [ (section.0.25) (toc1.1) ] >>
-endobj
-11721 0 obj
-<< /Kids [ 11397 0 R 11398 0 R 11399 0 R 11400 0 R 11401 0 R 11402 0 R 11403 0 R 11404 0 R 11405 0 R 11406 0 R 11407 0 R 11408 0 R 11409 0 R 11410 0 R 11411 0 R 11412 0 R 11413 0 R 11414 0 R 11415 0 R 11416 0 R 11417 0 R 11418 0 R 11419 0 R 11420 0 R 11421 0 R 11422 0 R 11423 0 R 11424 0 R 11425 0 R 11426 0 R 11427 0 R 11428 0 R ] /Limits [ (Doc-Start) (HD.1847) ] >>
-endobj
-11722 0 obj
-<< /Kids [ 11429 0 R 11430 0 R 11431 0 R 11432 0 R 11433 0 R 11434 0 R 11435 0 R 11436 0 R 11437 0 R 11438 0 R 11439 0 R 11440 0 R 11441 0 R 11442 0 R 11443 0 R 11444 0 R 11445 0 R 11446 0 R 11447 0 R 11448 0 R 11449 0 R 11450 0 R 11451 0 R 11452 0 R 11453 0 R 11454 0 R 11455 0 R 11456 0 R 11457 0 R 11458 0 R 11459 0 R 11460 0 R ] /Limits [ (HD.1848) (HD.2769) ] >>
-endobj
-11723 0 obj
-<< /Kids [ 11461 0 R 11462 0 R 11463 0 R 11464 0 R 11465 0 R 11466 0 R 11467 0 R 11468 0 R 11469 0 R 11470 0 R 11471 0 R 11472 0 R 11473 0 R 11474 0 R 11475 0 R 11476 0 R 11477 0 R 11478 0 R 11479 0 R 11480 0 R 11481 0 R 11482 0 R 11483 0 R 11484 0 R 11485 0 R 11486 0 R 11487 0 R 11488 0 R 11489 0 R 11490 0 R 11491 0 R 11492 0 R ] /Limits [ (HD.277) (HD.3690) ] >>
-endobj
-11724 0 obj
-<< /Kids [ 11493 0 R 11494 0 R 11495 0 R 11496 0 R 11497 0 R 11498 0 R 11499 0 R 11500 0 R 11501 0 R 11502 0 R 11503 0 R 11504 0 R 11505 0 R 11506 0 R 11507 0 R 11508 0 R 11509 0 R 11510 0 R 11511 0 R 11512 0 R 11513 0 R 11514 0 R 11515 0 R 11516 0 R 11517 0 R 11518 0 R 11519 0 R 11520 0 R 11521 0 R 11522 0 R 11523 0 R 11524 0 R ] /Limits [ (HD.3691) (HD.4611) ] >>
-endobj
-11725 0 obj
-<< /Kids [ 11525 0 R 11526 0 R 11527 0 R 11528 0 R 11529 0 R 11530 0 R 11531 0 R 11532 0 R 11533 0 R 11534 0 R 11535 0 R 11536 0 R 11537 0 R 11538 0 R 11539 0 R 11540 0 R 11541 0 R 11542 0 R 11543 0 R 11544 0 R 11545 0 R 11546 0 R 11547 0 R 11548 0 R 11549 0 R 11550 0 R 11551 0 R 11552 0 R 11553 0 R 11554 0 R 11555 0 R 11556 0 R ] /Limits [ (HD.4612) (HD.5533) ] >>
-endobj
-11726 0 obj
-<< /Kids [ 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11579 0 R 11580 0 R 11581 0 R 11582 0 R 11583 0 R 11584 0 R 11585 0 R 11586 0 R 11587 0 R 11588 0 R ] /Limits [ (HD.5534) (HD.6455) ] >>
-endobj
-11727 0 obj
-<< /Kids [ 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 0 R 11595 0 R 11596 0 R 11597 0 R 11598 0 R 11599 0 R 11600 0 R 11601 0 R 11602 0 R 11603 0 R 11604 0 R 11605 0 R 11606 0 R 11607 0 R 11608 0 R 11609 0 R 11610 0 R 11611 0 R 11612 0 R 11613 0 R 11614 0 R 11615 0 R 11616 0 R 11617 0 R 11618 0 R 11619 0 R 11620 0 R ] /Limits [ (HD.6456) (HD.7377) ] >>
-endobj
-11728 0 obj
-<< /Kids [ 11621 0 R 11622 0 R 11623 0 R 11624 0 R 11625 0 R 11626 0 R 11627 0 R 11628 0 R 11629 0 R 11630 0 R 11631 0 R 11632 0 R 11633 0 R 11634 0 R 11635 0 R 11636 0 R 11637 0 R 11638 0 R 11639 0 R 11640 0 R 11641 0 R 11642 0 R 11643 0 R 11644 0 R 11645 0 R 11646 0 R 11647 0 R 11648 0 R 11649 0 R 11650 0 R 11651 0 R 11652 0 R ] /Limits [ (HD.7378) (HD.8299) ] >>
-endobj
-11729 0 obj
-<< /Kids [ 11653 0 R 11654 0 R 11655 0 R 11656 0 R 11657 0 R 11658 0 R 11659 0 R 11660 0 R 11661 0 R 11662 0 R 11663 0 R 11664 0 R 11665 0 R 11666 0 R 11667 0 R 11668 0 R 11669 0 R 11670 0 R 11671 0 R 11672 0 R 11673 0 R 11674 0 R 11675 0 R 11676 0 R 11677 0 R 11678 0 R 11679 0 R 11680 0 R 11681 0 R 11682 0 R 11683 0 R 11684 0 R ] /Limits [ (HD.83) (HD.922) ] >>
-endobj
-11730 0 obj
-<< /Kids [ 11685 0 R 11686 0 R 11687 0 R 11688 0 R 11689 0 R 11690 0 R 11691 0 R 11692 0 R 11693 0 R 11694 0 R 11695 0 R 11696 0 R 11697 0 R 11698 0 R 11699 0 R 11700 0 R 11701 0 R 11702 0 R 11703 0 R 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R ] /Limits [ (HD.9220) (page.27) ] >>
-endobj
-11731 0 obj
-<< /Kids [ 11717 0 R 11718 0 R 11719 0 R 11720 0 R ] /Limits [ (page.28) (toc1.1) ] >>
-endobj
-11732 0 obj
-<< /Kids [ 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11729 0 R 11730 0 R 11731 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
-endobj
-11733 0 obj
-<< /Dests 11732 0 R >>
-endobj
-11734 0 obj
-<< /Type /Catalog /Pages 11395 0 R /Outlines 11396 0 R /Names 11733 0 R /PageMode/UseOutlines /OpenAction 168 0 R >>
-endobj
-11735 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000c\000o\000d\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.17.1) /CreationDate (D:20240219154104+01'00') /ModDate (D:20240219154104+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.1 (MiKTeX 24.1)) >>
-endobj
-xref
-0 11736
-0000000000 65535 f
-0001268562 00000 n
-0001268616 00000 n
-0001268636 00000 n
-0000000020 00000 n
-0000013262 00000 n
-0001867218 00000 n
-0000000067 00000 n
-0000000355 00000 n
-0000019296 00000 n
-0001867130 00000 n
-0000000402 00000 n
-0000000511 00000 n
-0000024737 00000 n
-0001867040 00000 n
-0000000559 00000 n
-0000000693 00000 n
-0000028133 00000 n
-0001866950 00000 n
-0000000741 00000 n
-0000000890 00000 n
-0000055173 00000 n
-0001866860 00000 n
-0000000938 00000 n
-0000001029 00000 n
-0000101703 00000 n
-0001866770 00000 n
-0000001077 00000 n
-0000001247 00000 n
-0000126764 00000 n
-0001866680 00000 n
-0000001295 00000 n
-0000001546 00000 n
-0000132654 00000 n
-0001866590 00000 n
-0000001594 00000 n
-0000001693 00000 n
-0000188769 00000 n
-0001866500 00000 n
-0000001741 00000 n
-0000002028 00000 n
-0000263413 00000 n
-0001866410 00000 n
-0000002077 00000 n
-0000002204 00000 n
-0000286245 00000 n
-0001866320 00000 n
-0000002253 00000 n
-0000002496 00000 n
-0000315477 00000 n
-0001866230 00000 n
-0000002545 00000 n
-0000002799 00000 n
-0000400490 00000 n
-0001866140 00000 n
-0000002848 00000 n
-0000003066 00000 n
-0000500532 00000 n
-0001866050 00000 n
-0000003115 00000 n
-0000003407 00000 n
-0000506802 00000 n
-0001865960 00000 n
-0000003456 00000 n
-0000003769 00000 n
-0000513245 00000 n
-0001865870 00000 n
-0000003818 00000 n
-0000004054 00000 n
-0000549032 00000 n
-0001865780 00000 n
-0000004103 00000 n
-0000004281 00000 n
-0000623681 00000 n
-0001865690 00000 n
-0000004330 00000 n
-0000004713 00000 n
-0000653735 00000 n
-0001865600 00000 n
-0000004762 00000 n
-0000005061 00000 n
-0000688204 00000 n
-0001865510 00000 n
-0000005110 00000 n
-0000005384 00000 n
-0000698154 00000 n
-0001865420 00000 n
-0000005433 00000 n
-0000005593 00000 n
-0000710093 00000 n
-0001865330 00000 n
-0000005642 00000 n
-0000005868 00000 n
-0000779876 00000 n
-0001865240 00000 n
-0000005917 00000 n
-0000006140 00000 n
-0000867581 00000 n
-0001865149 00000 n
-0000006189 00000 n
-0000006326 00000 n
-0000879424 00000 n
-0001865055 00000 n
-0000006376 00000 n
-0000006600 00000 n
-0000885183 00000 n
-0001864960 00000 n
-0000006650 00000 n
-0000006778 00000 n
-0000912109 00000 n
-0001864865 00000 n
-0000006828 00000 n
-0000006928 00000 n
-0001026215 00000 n
-0001864770 00000 n
-0000006978 00000 n
-0000007253 00000 n
-0001029693 00000 n
-0001864675 00000 n
-0000007303 00000 n
-0000007433 00000 n
-0001037078 00000 n
-0001864580 00000 n
-0000007483 00000 n
-0000007756 00000 n
-0001040416 00000 n
-0001864485 00000 n
-0000007806 00000 n
-0000007962 00000 n
-0001047516 00000 n
-0001864390 00000 n
-0000008012 00000 n
-0000008178 00000 n
-0001051738 00000 n
-0001864295 00000 n
-0000008228 00000 n
-0000008437 00000 n
-0001057580 00000 n
-0001864200 00000 n
-0000008487 00000 n
-0000008653 00000 n
-0001104580 00000 n
-0001864105 00000 n
-0000008703 00000 n
-0000008963 00000 n
-0001122340 00000 n
-0001864010 00000 n
-0000009013 00000 n
-0000009191 00000 n
-0001132653 00000 n
-0001863915 00000 n
-0000009241 00000 n
-0000009427 00000 n
-0001149625 00000 n
-0001863820 00000 n
-0000009477 00000 n
-0000009747 00000 n
-0001156357 00000 n
-0001863725 00000 n
-0000009797 00000 n
-0000009993 00000 n
-0001157291 00000 n
-0001863630 00000 n
-0000010043 00000 n
-0000010247 00000 n
-0001265710 00000 n
-0001863549 00000 n
-0000010291 00000 n
-0000010360 00000 n
-0000013017 00000 n
-0000013951 00000 n
-0000010424 00000 n
-0000013138 00000 n
-0000013200 00000 n
-0001854363 00000 n
-0001856149 00000 n
-0001858130 00000 n
-0001854184 00000 n
-0001856859 00000 n
-0001853647 00000 n
-0001855074 00000 n
-0001856504 00000 n
-0001855609 00000 n
-0001857214 00000 n
-0001854005 00000 n
-0001855971 00000 n
-0001856681 00000 n
-0001853471 00000 n
-0000013322 00000 n
-0001856327 00000 n
-0000013385 00000 n
-0000013448 00000 n
-0000013511 00000 n
-0000013573 00000 n
-0000013636 00000 n
-0000013699 00000 n
-0000013762 00000 n
-0000013825 00000 n
-0000013888 00000 n
-0001858312 00000 n
-0001854896 00000 n
-0001859208 00000 n
-0000019356 00000 n
-0000016535 00000 n
-0000014283 00000 n
-0000016656 00000 n
-0000016718 00000 n
-0000016781 00000 n
-0000016844 00000 n
-0000016907 00000 n
-0000016970 00000 n
-0000017033 00000 n
-0000017096 00000 n
-0000017159 00000 n
-0000017222 00000 n
-0000017285 00000 n
-0000017348 00000 n
-0000017409 00000 n
-0000017472 00000 n
-0000017535 00000 n
-0000017598 00000 n
-0000017661 00000 n
-0000017724 00000 n
-0000017787 00000 n
-0000017850 00000 n
-0000017913 00000 n
-0000017976 00000 n
-0000018038 00000 n
-0000018101 00000 n
-0000018164 00000 n
-0000018227 00000 n
-0000018290 00000 n
-0000018353 00000 n
-0000018415 00000 n
-0000018478 00000 n
-0000018541 00000 n
-0000018604 00000 n
-0000018667 00000 n
-0000018730 00000 n
-0000018793 00000 n
-0000018856 00000 n
-0000018919 00000 n
-0000018981 00000 n
-0000019044 00000 n
-0000019107 00000 n
-0000019170 00000 n
-0000019233 00000 n
-0000024797 00000 n
-0000021788 00000 n
-0000019545 00000 n
-0000021909 00000 n
-0000021971 00000 n
-0000022033 00000 n
-0000022096 00000 n
-0000022159 00000 n
-0000022222 00000 n
-0000022285 00000 n
-0000022348 00000 n
-0000022411 00000 n
-0000022474 00000 n
-0000022537 00000 n
-0000022600 00000 n
-0000022663 00000 n
-0000022726 00000 n
-0000022789 00000 n
-0000022852 00000 n
-0000022913 00000 n
-0000022976 00000 n
-0000023039 00000 n
-0000023102 00000 n
-0000023165 00000 n
-0000023228 00000 n
-0000023291 00000 n
-0000023353 00000 n
-0000023416 00000 n
-0000023479 00000 n
-0000023542 00000 n
-0000023605 00000 n
-0000023667 00000 n
-0000023730 00000 n
-0000023793 00000 n
-0000023856 00000 n
-0000023919 00000 n
-0000023982 00000 n
-0000024045 00000 n
-0000024108 00000 n
-0000024171 00000 n
-0000024233 00000 n
-0000024296 00000 n
-0000024359 00000 n
-0000024422 00000 n
-0000024485 00000 n
-0000024548 00000 n
-0000024611 00000 n
-0000024674 00000 n
-0000029199 00000 n
-0000026818 00000 n
-0000024973 00000 n
-0000026939 00000 n
-0001855787 00000 n
-0001855252 00000 n
-0000027001 00000 n
-0000027063 00000 n
-0000027126 00000 n
-0000027189 00000 n
-0000027252 00000 n
-0000027315 00000 n
-0000027378 00000 n
-0000027441 00000 n
-0000027504 00000 n
-0000027567 00000 n
-0000027630 00000 n
-0000027693 00000 n
-0000027756 00000 n
-0000027819 00000 n
-0000027882 00000 n
-0000027944 00000 n
-0000028007 00000 n
-0000028070 00000 n
-0000028194 00000 n
-0000028257 00000 n
-0000028320 00000 n
-0000028383 00000 n
-0000028446 00000 n
-0000028509 00000 n
-0000028572 00000 n
-0000028634 00000 n
-0000028697 00000 n
-0000028760 00000 n
-0000028823 00000 n
-0000028886 00000 n
-0000028949 00000 n
-0000029012 00000 n
-0000029075 00000 n
-0000029138 00000 n
-0000034713 00000 n
-0000032329 00000 n
-0000029401 00000 n
-0000032450 00000 n
-0000032512 00000 n
-0000032575 00000 n
-0000032638 00000 n
-0000032701 00000 n
-0000032764 00000 n
-0000032827 00000 n
-0000032890 00000 n
-0000032953 00000 n
-0000033016 00000 n
-0000033079 00000 n
-0000033142 00000 n
-0000033205 00000 n
-0000033268 00000 n
-0000033331 00000 n
-0000033394 00000 n
-0000033457 00000 n
-0000033520 00000 n
-0000033583 00000 n
-0000033646 00000 n
-0000033709 00000 n
-0000033772 00000 n
-0000033835 00000 n
-0000033898 00000 n
-0000033961 00000 n
-0000034024 00000 n
-0000034087 00000 n
-0000034150 00000 n
-0000034213 00000 n
-0000034276 00000 n
-0000034339 00000 n
-0000034400 00000 n
-0000034463 00000 n
-0000034526 00000 n
-0000034589 00000 n
-0000034651 00000 n
-0000040581 00000 n
-0000037633 00000 n
-0000034902 00000 n
-0000037754 00000 n
-0000037816 00000 n
-0000037879 00000 n
-0000037942 00000 n
-0000038005 00000 n
-0000038067 00000 n
-0000038130 00000 n
-0000038193 00000 n
-0000038256 00000 n
-0000038319 00000 n
-0000038382 00000 n
-0000038445 00000 n
-0000038508 00000 n
-0000038571 00000 n
-0000038634 00000 n
-0000038696 00000 n
-0000038759 00000 n
-0000038822 00000 n
-0000038885 00000 n
-0000038948 00000 n
-0000039011 00000 n
-0000039074 00000 n
-0000039136 00000 n
-0000039199 00000 n
-0000039262 00000 n
-0000039325 00000 n
-0000039388 00000 n
-0000039451 00000 n
-0000039514 00000 n
-0000039577 00000 n
-0000039640 00000 n
-0000039703 00000 n
-0000039766 00000 n
-0000039829 00000 n
-0000039892 00000 n
-0000039955 00000 n
-0000040017 00000 n
-0000040080 00000 n
-0000040143 00000 n
-0000040205 00000 n
-0000040268 00000 n
-0000040331 00000 n
-0000040394 00000 n
-0000040457 00000 n
-0000040519 00000 n
-0000043741 00000 n
-0000046476 00000 n
-0000043575 00000 n
-0000040757 00000 n
-0000043897 00000 n
-0000043959 00000 n
-0000044022 00000 n
-0000044085 00000 n
-0000044148 00000 n
-0000044211 00000 n
-0000044274 00000 n
-0000044337 00000 n
-0000044400 00000 n
-0000044463 00000 n
-0000044526 00000 n
-0000044589 00000 n
-0000044652 00000 n
-0000044715 00000 n
-0000044778 00000 n
-0000044841 00000 n
-0000044904 00000 n
-0000044965 00000 n
-0000045028 00000 n
-0000045091 00000 n
-0000045154 00000 n
-0000045217 00000 n
-0000045280 00000 n
-0000045343 00000 n
-0000045406 00000 n
-0000045469 00000 n
-0000045532 00000 n
-0000045595 00000 n
-0000045658 00000 n
-0001854719 00000 n
-0000045721 00000 n
-0000045784 00000 n
-0000045847 00000 n
-0000045910 00000 n
-0000045973 00000 n
-0000046036 00000 n
-0000046099 00000 n
-0000046162 00000 n
-0000046225 00000 n
-0000046288 00000 n
-0000046351 00000 n
-0001854542 00000 n
-0000046414 00000 n
-0000043712 00000 n
-0000051771 00000 n
-0000048694 00000 n
-0000046704 00000 n
-0000048815 00000 n
-0000048877 00000 n
-0000048940 00000 n
-0000049003 00000 n
-0000049066 00000 n
-0000049129 00000 n
-0000049192 00000 n
-0000049255 00000 n
-0000049318 00000 n
-0000049381 00000 n
-0000049444 00000 n
-0000049507 00000 n
-0000049570 00000 n
-0000049633 00000 n
-0000049696 00000 n
-0000049759 00000 n
-0000049822 00000 n
-0000049884 00000 n
-0000049947 00000 n
-0000050009 00000 n
-0000050072 00000 n
-0000050135 00000 n
-0000050198 00000 n
-0000050261 00000 n
-0000050324 00000 n
-0000050387 00000 n
-0000050450 00000 n
-0000050512 00000 n
-0000050575 00000 n
-0000050638 00000 n
-0000050701 00000 n
-0000050764 00000 n
-0000050827 00000 n
-0000050890 00000 n
-0000050952 00000 n
-0000051015 00000 n
-0000051078 00000 n
-0000051141 00000 n
-0000051204 00000 n
-0000051267 00000 n
-0000051330 00000 n
-0000051393 00000 n
-0000051456 00000 n
-0000051519 00000 n
-0000051582 00000 n
-0000051645 00000 n
-0000051708 00000 n
-0000055801 00000 n
-0000054109 00000 n
-0000051947 00000 n
-0000054230 00000 n
-0000054292 00000 n
-0000054355 00000 n
-0000054418 00000 n
-0000054481 00000 n
-0000054544 00000 n
-0000054607 00000 n
-0000054670 00000 n
-0000054733 00000 n
-0000054796 00000 n
-0000054858 00000 n
-0000054921 00000 n
-0000054984 00000 n
-0000055047 00000 n
-0000055110 00000 n
-0000055234 00000 n
-0001853822 00000 n
-0000055297 00000 n
-0000055360 00000 n
-0000055423 00000 n
-0000055486 00000 n
-0000055549 00000 n
-0000055612 00000 n
-0000055675 00000 n
-0000055738 00000 n
-0000060385 00000 n
-0000059259 00000 n
-0000056016 00000 n
-0000059380 00000 n
-0000059442 00000 n
-0000059505 00000 n
-0000059568 00000 n
-0000059631 00000 n
-0000059694 00000 n
-0000059757 00000 n
-0000059820 00000 n
-0000059883 00000 n
-0000059945 00000 n
-0000060008 00000 n
-0000060071 00000 n
-0000060134 00000 n
-0000060197 00000 n
-0000060260 00000 n
-0000060323 00000 n
-0000064162 00000 n
-0000062972 00000 n
-0000060561 00000 n
-0000063093 00000 n
-0000063155 00000 n
-0000063218 00000 n
-0000063281 00000 n
-0000063344 00000 n
-0000063407 00000 n
-0000063470 00000 n
-0000063533 00000 n
-0000063596 00000 n
-0000063659 00000 n
-0000063722 00000 n
-0000063785 00000 n
-0000063848 00000 n
-0000063911 00000 n
-0000063974 00000 n
-0000064037 00000 n
-0000064100 00000 n
-0001859362 00000 n
-0000068743 00000 n
-0000067055 00000 n
-0000064351 00000 n
-0000067176 00000 n
-0000067238 00000 n
-0000067301 00000 n
-0000067364 00000 n
-0000067427 00000 n
-0000067489 00000 n
-0000067552 00000 n
-0000067615 00000 n
-0000067678 00000 n
-0000067740 00000 n
-0000067802 00000 n
-0000067865 00000 n
-0000067928 00000 n
-0000067991 00000 n
-0000068054 00000 n
-0000068116 00000 n
-0000068179 00000 n
-0000068242 00000 n
-0000068305 00000 n
-0000068368 00000 n
-0000068431 00000 n
-0000068494 00000 n
-0000068557 00000 n
-0000068619 00000 n
-0000068681 00000 n
-0000073227 00000 n
-0000071850 00000 n
-0000068945 00000 n
-0000071971 00000 n
-0000072033 00000 n
-0000072096 00000 n
-0000072159 00000 n
-0000072222 00000 n
-0000072285 00000 n
-0000072348 00000 n
-0000072411 00000 n
-0000072474 00000 n
-0000072537 00000 n
-0000072598 00000 n
-0000072661 00000 n
-0000072724 00000 n
-0000072787 00000 n
-0000072850 00000 n
-0000072913 00000 n
-0000072976 00000 n
-0000073039 00000 n
-0000073102 00000 n
-0001858674 00000 n
-0000073165 00000 n
-0000077701 00000 n
-0000076452 00000 n
-0000073429 00000 n
-0000076573 00000 n
-0001857761 00000 n
-0000076635 00000 n
-0000076698 00000 n
-0000076760 00000 n
-0000076823 00000 n
-0000076885 00000 n
-0001859028 00000 n
-0000076948 00000 n
-0000077011 00000 n
-0000077074 00000 n
-0000077136 00000 n
-0000077199 00000 n
-0000077262 00000 n
-0000077325 00000 n
-0000077388 00000 n
-0000077451 00000 n
-0000077514 00000 n
-0000077577 00000 n
-0000077639 00000 n
-0000082506 00000 n
-0000081505 00000 n
-0000077929 00000 n
-0000081626 00000 n
-0000081688 00000 n
-0000081751 00000 n
-0000081814 00000 n
-0000081877 00000 n
-0000081940 00000 n
-0000082003 00000 n
-0000082066 00000 n
-0000082129 00000 n
-0000082191 00000 n
-0000082254 00000 n
-0000082317 00000 n
-0000082380 00000 n
-0000082443 00000 n
-0000087733 00000 n
-0000086107 00000 n
-0000082721 00000 n
-0000086228 00000 n
-0000086290 00000 n
-0000086353 00000 n
-0000086414 00000 n
-0000086477 00000 n
-0000086540 00000 n
-0000086603 00000 n
-0000086666 00000 n
-0000086729 00000 n
-0000086792 00000 n
-0000086855 00000 n
-0000086918 00000 n
-0000086981 00000 n
-0000087044 00000 n
-0000087107 00000 n
-0000087170 00000 n
-0000087233 00000 n
-0000087295 00000 n
-0000087358 00000 n
-0000087421 00000 n
-0000087483 00000 n
-0000087546 00000 n
-0000087609 00000 n
-0000087671 00000 n
-0000095364 00000 n
-0000092064 00000 n
-0000090625 00000 n
-0000087922 00000 n
-0000090746 00000 n
-0000090808 00000 n
-0000090871 00000 n
-0000090934 00000 n
-0000090997 00000 n
-0000091060 00000 n
-0000091123 00000 n
-0000091186 00000 n
-0000091249 00000 n
-0000091311 00000 n
-0000091374 00000 n
-0000091437 00000 n
-0000091500 00000 n
-0000091563 00000 n
-0000091626 00000 n
-0001853295 00000 n
-0000091689 00000 n
-0000091752 00000 n
-0000091815 00000 n
-0000091877 00000 n
-0000091940 00000 n
-0000092002 00000 n
-0000096713 00000 n
-0000095198 00000 n
-0000092279 00000 n
-0000095520 00000 n
-0000095582 00000 n
-0000095644 00000 n
-0000095707 00000 n
-0000095770 00000 n
-0000095833 00000 n
-0000095896 00000 n
-0000095959 00000 n
-0000096021 00000 n
-0000096084 00000 n
-0000096147 00000 n
-0000096210 00000 n
-0000096273 00000 n
-0000096336 00000 n
-0000096399 00000 n
-0000096462 00000 n
-0000096525 00000 n
-0000096588 00000 n
-0000096651 00000 n
-0001857037 00000 n
-0001858493 00000 n
-0001858851 00000 n
-0000095335 00000 n
-0000100290 00000 n
-0000101826 00000 n
-0000100124 00000 n
-0000097019 00000 n
-0000100446 00000 n
-0000100508 00000 n
-0000100571 00000 n
-0000100634 00000 n
-0000100697 00000 n
-0000100760 00000 n
-0000100823 00000 n
-0000100886 00000 n
-0000100949 00000 n
-0000101012 00000 n
-0000101074 00000 n
-0000101137 00000 n
-0000101200 00000 n
-0000101263 00000 n
-0000101326 00000 n
-0000101389 00000 n
-0000101452 00000 n
-0000101515 00000 n
-0000101578 00000 n
-0000101640 00000 n
-0001857391 00000 n
-0000101764 00000 n
-0000100261 00000 n
-0000106364 00000 n
-0000104987 00000 n
-0000102106 00000 n
-0000105108 00000 n
-0000105170 00000 n
-0000105233 00000 n
-0000105296 00000 n
-0000105358 00000 n
-0000105421 00000 n
-0000105484 00000 n
-0000105547 00000 n
-0000105610 00000 n
-0000105673 00000 n
-0000105736 00000 n
-0000105799 00000 n
-0000105861 00000 n
-0000105924 00000 n
-0000105987 00000 n
-0000106049 00000 n
-0000106112 00000 n
-0000106175 00000 n
-0000106238 00000 n
-0000106301 00000 n
-0000112183 00000 n
-0000109108 00000 n
-0000106566 00000 n
-0000109229 00000 n
-0000109291 00000 n
-0000109354 00000 n
-0000109416 00000 n
-0000109479 00000 n
-0000109542 00000 n
-0000109605 00000 n
-0000109668 00000 n
-0000109731 00000 n
-0000109794 00000 n
-0000109857 00000 n
-0000109920 00000 n
-0000109982 00000 n
-0000110045 00000 n
-0000110108 00000 n
-0000110171 00000 n
-0000110234 00000 n
-0000110297 00000 n
-0000110360 00000 n
-0000110423 00000 n
-0000110486 00000 n
-0000110549 00000 n
-0000110612 00000 n
-0000110675 00000 n
-0000110737 00000 n
-0000110800 00000 n
-0000110863 00000 n
-0000110926 00000 n
-0000110989 00000 n
-0000111052 00000 n
-0000111115 00000 n
-0000111178 00000 n
-0000111241 00000 n
-0000111304 00000 n
-0000111366 00000 n
-0000111429 00000 n
-0000111492 00000 n
-0000111555 00000 n
-0000111618 00000 n
-0000111681 00000 n
-0000111744 00000 n
-0000111807 00000 n
-0000111870 00000 n
-0000111932 00000 n
-0000111994 00000 n
-0000112057 00000 n
-0000112120 00000 n
-0001859516 00000 n
-0000117879 00000 n
-0000114867 00000 n
-0000112359 00000 n
-0000114988 00000 n
-0000115050 00000 n
-0000115113 00000 n
-0000115175 00000 n
-0000115238 00000 n
-0000115301 00000 n
-0000115364 00000 n
-0000115427 00000 n
-0000115490 00000 n
-0000115553 00000 n
-0000115616 00000 n
-0000115678 00000 n
-0000115741 00000 n
-0000115804 00000 n
-0000115867 00000 n
-0000115930 00000 n
-0000115993 00000 n
-0000116056 00000 n
-0000116119 00000 n
-0000116182 00000 n
-0000116244 00000 n
-0000116307 00000 n
-0000116370 00000 n
-0000116433 00000 n
-0000116496 00000 n
-0000116559 00000 n
-0000116622 00000 n
-0000116685 00000 n
-0000116748 00000 n
-0000116810 00000 n
-0000116873 00000 n
-0000116936 00000 n
-0000116999 00000 n
-0000117062 00000 n
-0000117125 00000 n
-0000117188 00000 n
-0000117251 00000 n
-0000117314 00000 n
-0000117377 00000 n
-0000117440 00000 n
-0000117503 00000 n
-0000117566 00000 n
-0000117629 00000 n
-0000117692 00000 n
-0000117755 00000 n
-0000117817 00000 n
-0000123281 00000 n
-0000120708 00000 n
-0000118068 00000 n
-0000120829 00000 n
-0000120891 00000 n
-0000120954 00000 n
-0000121017 00000 n
-0000121080 00000 n
-0000121143 00000 n
-0000121206 00000 n
-0000121269 00000 n
-0000121332 00000 n
-0000121395 00000 n
-0000121458 00000 n
-0000121521 00000 n
-0000121583 00000 n
-0000121646 00000 n
-0000121709 00000 n
-0000121772 00000 n
-0000121835 00000 n
-0000121898 00000 n
-0000121961 00000 n
-0000122024 00000 n
-0000122087 00000 n
-0000122150 00000 n
-0000122213 00000 n
-0000122276 00000 n
-0000122339 00000 n
-0000122402 00000 n
-0000122465 00000 n
-0000122527 00000 n
-0000122590 00000 n
-0000122653 00000 n
-0000122716 00000 n
-0000122779 00000 n
-0000122842 00000 n
-0000122904 00000 n
-0000122967 00000 n
-0000123030 00000 n
-0000123092 00000 n
-0000123155 00000 n
-0000123218 00000 n
-0000128776 00000 n
-0000125575 00000 n
-0000123470 00000 n
-0000125696 00000 n
-0000125758 00000 n
-0000125821 00000 n
-0000125883 00000 n
-0000125946 00000 n
-0000126009 00000 n
-0000126072 00000 n
-0000126135 00000 n
-0000126198 00000 n
-0000126261 00000 n
-0000126324 00000 n
-0000126387 00000 n
-0000126449 00000 n
-0000126512 00000 n
-0000126575 00000 n
-0000126638 00000 n
-0000126701 00000 n
-0000126825 00000 n
-0000126888 00000 n
-0000126951 00000 n
-0000127014 00000 n
-0000127077 00000 n
-0000127140 00000 n
-0000127202 00000 n
-0000127265 00000 n
-0000127328 00000 n
-0000127391 00000 n
-0000127454 00000 n
-0000127517 00000 n
-0000127580 00000 n
-0000127643 00000 n
-0000127706 00000 n
-0000127768 00000 n
-0000127831 00000 n
-0000127894 00000 n
-0000127957 00000 n
-0000128020 00000 n
-0000128083 00000 n
-0000128146 00000 n
-0000128209 00000 n
-0000128272 00000 n
-0000128335 00000 n
-0000128398 00000 n
-0000128461 00000 n
-0000128524 00000 n
-0000128587 00000 n
-0000128650 00000 n
-0000128713 00000 n
-0000133493 00000 n
-0000131427 00000 n
-0000128965 00000 n
-0000131551 00000 n
-0000131615 00000 n
-0000131680 00000 n
-0000131745 00000 n
-0000131810 00000 n
-0000131875 00000 n
-0000131940 00000 n
-0000132005 00000 n
-0000132070 00000 n
-0000132135 00000 n
-0000132199 00000 n
-0000132264 00000 n
-0000132329 00000 n
-0000132394 00000 n
-0000132459 00000 n
-0000132524 00000 n
-0000132589 00000 n
-0000132716 00000 n
-0000132781 00000 n
-0000132846 00000 n
-0000132911 00000 n
-0000132975 00000 n
-0000133040 00000 n
-0000133105 00000 n
-0000133170 00000 n
-0000133235 00000 n
-0000133300 00000 n
-0000133365 00000 n
-0000133429 00000 n
-0000138175 00000 n
-0000136430 00000 n
-0000133683 00000 n
-0000136554 00000 n
-0000136618 00000 n
-0000136683 00000 n
-0000136748 00000 n
-0000136813 00000 n
-0000136878 00000 n
-0000136943 00000 n
-0000137008 00000 n
-0000137073 00000 n
-0000137138 00000 n
-0000137203 00000 n
-0000137268 00000 n
-0000137333 00000 n
-0000137398 00000 n
-0000137463 00000 n
-0000137528 00000 n
-0000137593 00000 n
-0000137658 00000 n
-0000137723 00000 n
-0000137788 00000 n
-0000137853 00000 n
-0000137917 00000 n
-0000137982 00000 n
-0000138047 00000 n
-0000138111 00000 n
-0000142435 00000 n
-0000141146 00000 n
-0000138352 00000 n
-0000141270 00000 n
-0000141334 00000 n
-0000141399 00000 n
-0000141464 00000 n
-0000141528 00000 n
-0000141593 00000 n
-0000141658 00000 n
-0000141723 00000 n
-0000141788 00000 n
-0000141853 00000 n
-0000141918 00000 n
-0000141983 00000 n
-0000142048 00000 n
-0000142113 00000 n
-0000142178 00000 n
-0000142242 00000 n
-0000142307 00000 n
-0000142372 00000 n
-0000148442 00000 n
-0000145334 00000 n
-0000142625 00000 n
-0000145458 00000 n
-0000145522 00000 n
-0000145587 00000 n
-0000145652 00000 n
-0000145716 00000 n
-0000145781 00000 n
-0000145846 00000 n
-0000145911 00000 n
-0000145976 00000 n
-0000146041 00000 n
-0000146106 00000 n
-0000146171 00000 n
-0000146236 00000 n
-0000146300 00000 n
-0000146365 00000 n
-0000146430 00000 n
-0000146495 00000 n
-0000146560 00000 n
-0000146625 00000 n
-0000146690 00000 n
-0000146755 00000 n
-0000146820 00000 n
-0000146884 00000 n
-0000146949 00000 n
-0000147014 00000 n
-0000147079 00000 n
-0000147144 00000 n
-0000147209 00000 n
-0000147274 00000 n
-0000147339 00000 n
-0000147404 00000 n
-0000147468 00000 n
-0000147533 00000 n
-0000147598 00000 n
-0000147663 00000 n
-0000147728 00000 n
-0000147793 00000 n
-0000147858 00000 n
-0000147923 00000 n
-0000147988 00000 n
-0000148053 00000 n
-0000148118 00000 n
-0000148183 00000 n
-0000148248 00000 n
-0000148313 00000 n
-0000148378 00000 n
-0000154575 00000 n
-0000150493 00000 n
-0000148606 00000 n
-0000150617 00000 n
-0000150681 00000 n
-0000150746 00000 n
-0000150811 00000 n
-0000150876 00000 n
-0000150941 00000 n
-0000151006 00000 n
-0000151071 00000 n
-0000151136 00000 n
-0000151201 00000 n
-0000151266 00000 n
-0000151331 00000 n
-0000151396 00000 n
-0000151461 00000 n
-0000151526 00000 n
-0000151591 00000 n
-0000151656 00000 n
-0000151721 00000 n
-0000151785 00000 n
-0000151850 00000 n
-0000151915 00000 n
-0000151980 00000 n
-0000152045 00000 n
-0000152110 00000 n
-0000152175 00000 n
-0000152240 00000 n
-0000152305 00000 n
-0000152369 00000 n
-0000152434 00000 n
-0000152499 00000 n
-0000152564 00000 n
-0000152629 00000 n
-0000152694 00000 n
-0000152759 00000 n
-0000152824 00000 n
-0000152889 00000 n
-0000152953 00000 n
-0000153018 00000 n
-0000153083 00000 n
-0000153148 00000 n
-0000153213 00000 n
-0000153278 00000 n
-0000153343 00000 n
-0000153408 00000 n
-0000153473 00000 n
-0000153538 00000 n
-0000153603 00000 n
-0000153668 00000 n
-0000153733 00000 n
-0000153798 00000 n
-0000153863 00000 n
-0000153928 00000 n
-0000153993 00000 n
-0000154058 00000 n
-0000154123 00000 n
-0000154187 00000 n
-0000154252 00000 n
-0000154317 00000 n
-0000154382 00000 n
-0000154447 00000 n
-0000154511 00000 n
-0000160602 00000 n
-0000156911 00000 n
-0000154739 00000 n
-0000157035 00000 n
-0000157099 00000 n
-0000157164 00000 n
-0000157229 00000 n
-0000157294 00000 n
-0000157359 00000 n
-0000157424 00000 n
-0000157489 00000 n
-0000157554 00000 n
-0000157619 00000 n
-0000157684 00000 n
-0000157749 00000 n
-0000157814 00000 n
-0000157879 00000 n
-0000157942 00000 n
-0000158007 00000 n
-0000158072 00000 n
-0000158137 00000 n
-0000158202 00000 n
-0000158267 00000 n
-0000158332 00000 n
-0000158397 00000 n
-0000158462 00000 n
-0000158527 00000 n
-0000158592 00000 n
-0000158657 00000 n
-0000158721 00000 n
-0000158786 00000 n
-0000158851 00000 n
-0000158916 00000 n
-0000158981 00000 n
-0000159046 00000 n
-0000159111 00000 n
-0000159176 00000 n
-0000159241 00000 n
-0000159305 00000 n
-0000159370 00000 n
-0000159435 00000 n
-0000159500 00000 n
-0000159565 00000 n
-0000159630 00000 n
-0000159695 00000 n
-0000159760 00000 n
-0000159825 00000 n
-0000159890 00000 n
-0000159954 00000 n
-0000160019 00000 n
-0000160084 00000 n
-0000160149 00000 n
-0000160214 00000 n
-0000160279 00000 n
-0000160344 00000 n
-0000160409 00000 n
-0000160474 00000 n
-0000160538 00000 n
-0000166770 00000 n
-0000162882 00000 n
-0000160779 00000 n
-0000163007 00000 n
-0000163071 00000 n
-0000163136 00000 n
-0000163201 00000 n
-0000163266 00000 n
-0000163331 00000 n
-0000163396 00000 n
-0000163461 00000 n
-0000163526 00000 n
-0000163591 00000 n
-0000163656 00000 n
-0000163721 00000 n
-0000163786 00000 n
-0000163850 00000 n
-0000163915 00000 n
-0000163980 00000 n
-0000164045 00000 n
-0000164110 00000 n
-0000164175 00000 n
-0000164240 00000 n
-0000164305 00000 n
-0000164370 00000 n
-0000164435 00000 n
-0000164500 00000 n
-0000164565 00000 n
-0000164630 00000 n
-0000164694 00000 n
-0000164759 00000 n
-0000164824 00000 n
-0000164889 00000 n
-0000164954 00000 n
-0000165019 00000 n
-0000165084 00000 n
-0000165149 00000 n
-0000165214 00000 n
-0000165278 00000 n
-0000165343 00000 n
-0000165408 00000 n
-0000165473 00000 n
-0000165538 00000 n
-0000165603 00000 n
-0000165668 00000 n
-0000165733 00000 n
-0000165798 00000 n
-0000165863 00000 n
-0000165928 00000 n
-0000165993 00000 n
-0000166058 00000 n
-0000166123 00000 n
-0000166188 00000 n
-0000166253 00000 n
-0000166318 00000 n
-0000166382 00000 n
-0000166447 00000 n
-0000166512 00000 n
-0000166577 00000 n
-0000166642 00000 n
-0000166706 00000 n
-0001859676 00000 n
-0000172620 00000 n
-0000168604 00000 n
-0000166947 00000 n
-0000168729 00000 n
-0000168793 00000 n
-0000168858 00000 n
-0000168923 00000 n
-0000168988 00000 n
-0000169053 00000 n
-0000169118 00000 n
-0000169183 00000 n
-0000169248 00000 n
-0000169313 00000 n
-0000169377 00000 n
-0000169442 00000 n
-0000169507 00000 n
-0000169572 00000 n
-0000169637 00000 n
-0000169702 00000 n
-0000169767 00000 n
-0000169832 00000 n
-0000169897 00000 n
-0000169962 00000 n
-0000170026 00000 n
-0000170091 00000 n
-0000170156 00000 n
-0000170221 00000 n
-0000170286 00000 n
-0000170351 00000 n
-0000170416 00000 n
-0000170481 00000 n
-0000170546 00000 n
-0000170611 00000 n
-0000170676 00000 n
-0000170741 00000 n
-0000170806 00000 n
-0000170871 00000 n
-0000170935 00000 n
-0000171000 00000 n
-0000171065 00000 n
-0000171130 00000 n
-0000171195 00000 n
-0000171260 00000 n
-0000171325 00000 n
-0000171390 00000 n
-0000171455 00000 n
-0000171518 00000 n
-0000171583 00000 n
-0000171648 00000 n
-0000171713 00000 n
-0000171778 00000 n
-0000171843 00000 n
-0000171908 00000 n
-0000171973 00000 n
-0000172038 00000 n
-0000172102 00000 n
-0000172167 00000 n
-0000172232 00000 n
-0000172297 00000 n
-0000172362 00000 n
-0000172427 00000 n
-0000172492 00000 n
-0000172556 00000 n
-0000178095 00000 n
-0000175116 00000 n
-0000172771 00000 n
-0000175241 00000 n
-0000175305 00000 n
-0000175370 00000 n
-0000175435 00000 n
-0000175500 00000 n
-0000175565 00000 n
-0000175630 00000 n
-0000175695 00000 n
-0000175760 00000 n
-0000175825 00000 n
-0000175890 00000 n
-0000175955 00000 n
-0000176018 00000 n
-0000176083 00000 n
-0000176148 00000 n
-0000176213 00000 n
-0000176278 00000 n
-0000176343 00000 n
-0000176408 00000 n
-0000176473 00000 n
-0000176538 00000 n
-0000176603 00000 n
-0000176668 00000 n
-0000176733 00000 n
-0000176798 00000 n
-0000176863 00000 n
-0000176928 00000 n
-0000176993 00000 n
-0000177058 00000 n
-0000177123 00000 n
-0000177188 00000 n
-0000177253 00000 n
-0000177318 00000 n
-0000177382 00000 n
-0000177447 00000 n
-0000177512 00000 n
-0000177577 00000 n
-0000177642 00000 n
-0000177707 00000 n
-0000177772 00000 n
-0000177837 00000 n
-0000177902 00000 n
-0000177966 00000 n
-0000178031 00000 n
-0000183786 00000 n
-0000180355 00000 n
-0000178272 00000 n
-0000180480 00000 n
-0000180544 00000 n
-0000180609 00000 n
-0000180673 00000 n
-0000180738 00000 n
-0000180803 00000 n
-0000180868 00000 n
-0000180933 00000 n
-0000180997 00000 n
-0000181062 00000 n
-0000181127 00000 n
-0000181192 00000 n
-0000181257 00000 n
-0000181322 00000 n
-0000181387 00000 n
-0000181452 00000 n
-0000181517 00000 n
-0000181581 00000 n
-0000181646 00000 n
-0000181711 00000 n
-0000181776 00000 n
-0000181841 00000 n
-0000181906 00000 n
-0000181971 00000 n
-0000182036 00000 n
-0000182101 00000 n
-0000182166 00000 n
-0000182231 00000 n
-0000182296 00000 n
-0000182361 00000 n
-0000182426 00000 n
-0000182491 00000 n
-0000182556 00000 n
-0000182621 00000 n
-0000182684 00000 n
-0000182749 00000 n
-0000182814 00000 n
-0000182879 00000 n
-0000182944 00000 n
-0000183009 00000 n
-0000183074 00000 n
-0000183139 00000 n
-0000183204 00000 n
-0000183269 00000 n
-0000183334 00000 n
-0000183398 00000 n
-0000183463 00000 n
-0000183528 00000 n
-0000183593 00000 n
-0000183658 00000 n
-0000183722 00000 n
-0000188959 00000 n
-0000186244 00000 n
-0000183963 00000 n
-0000186369 00000 n
-0000186433 00000 n
-0000186498 00000 n
-0000186563 00000 n
-0000186628 00000 n
-0000186693 00000 n
-0000186758 00000 n
-0000186823 00000 n
-0000186888 00000 n
-0000186953 00000 n
-0000187018 00000 n
-0000187081 00000 n
-0000187146 00000 n
-0000187211 00000 n
-0000187276 00000 n
-0000187341 00000 n
-0000187406 00000 n
-0000187471 00000 n
-0000187536 00000 n
-0000187601 00000 n
-0000187665 00000 n
-0000187730 00000 n
-0000187795 00000 n
-0000187860 00000 n
-0000187925 00000 n
-0000187990 00000 n
-0000188055 00000 n
-0000188120 00000 n
-0000188185 00000 n
-0000188250 00000 n
-0000188315 00000 n
-0000188380 00000 n
-0000188445 00000 n
-0000188510 00000 n
-0000188574 00000 n
-0000188639 00000 n
-0000188704 00000 n
-0000188831 00000 n
-0000188895 00000 n
-0000194180 00000 n
-0000191591 00000 n
-0000189162 00000 n
-0000191716 00000 n
-0000191780 00000 n
-0000191845 00000 n
-0000191910 00000 n
-0000191974 00000 n
-0000192039 00000 n
-0000192104 00000 n
-0000192169 00000 n
-0000192234 00000 n
-0000192299 00000 n
-0000192364 00000 n
-0000192429 00000 n
-0000192494 00000 n
-0000192558 00000 n
-0000192623 00000 n
-0000192688 00000 n
-0000192753 00000 n
-0000192818 00000 n
-0000192883 00000 n
-0000192948 00000 n
-0000193013 00000 n
-0000193078 00000 n
-0000193142 00000 n
-0000193207 00000 n
-0000193272 00000 n
-0000193337 00000 n
-0000193402 00000 n
-0000193467 00000 n
-0000193532 00000 n
-0000193597 00000 n
-0000193662 00000 n
-0000193727 00000 n
-0000193791 00000 n
-0000193856 00000 n
-0000193921 00000 n
-0000193986 00000 n
-0000194051 00000 n
-0000194115 00000 n
-0000200158 00000 n
-0000196531 00000 n
-0000194370 00000 n
-0000196656 00000 n
-0000196720 00000 n
-0000196785 00000 n
-0000196849 00000 n
-0000196914 00000 n
-0000196979 00000 n
-0000197044 00000 n
-0000197109 00000 n
-0000197174 00000 n
-0000197239 00000 n
-0000197304 00000 n
-0000197369 00000 n
-0000197433 00000 n
-0000197498 00000 n
-0000197563 00000 n
-0000197628 00000 n
-0000197693 00000 n
-0000197758 00000 n
-0000197823 00000 n
-0000197888 00000 n
-0000197953 00000 n
-0000198018 00000 n
-0000198083 00000 n
-0000198148 00000 n
-0000198213 00000 n
-0000198278 00000 n
-0000198343 00000 n
-0000198407 00000 n
-0000198472 00000 n
-0000198537 00000 n
-0000198602 00000 n
-0000198667 00000 n
-0000198732 00000 n
-0000198797 00000 n
-0000198862 00000 n
-0000198927 00000 n
-0000198991 00000 n
-0000199056 00000 n
-0000199121 00000 n
-0000199186 00000 n
-0000199251 00000 n
-0000199316 00000 n
-0000199381 00000 n
-0000199446 00000 n
-0000199511 00000 n
-0000199576 00000 n
-0000199640 00000 n
-0000199705 00000 n
-0000199770 00000 n
-0000199835 00000 n
-0000199900 00000 n
-0000199965 00000 n
-0000200030 00000 n
-0000200094 00000 n
-0000205698 00000 n
-0000202459 00000 n
-0000200335 00000 n
-0000202584 00000 n
-0000202648 00000 n
-0000202713 00000 n
-0000202778 00000 n
-0000202843 00000 n
-0000202908 00000 n
-0000202973 00000 n
-0000203038 00000 n
-0000203103 00000 n
-0000203168 00000 n
-0000203232 00000 n
-0000203297 00000 n
-0000203362 00000 n
-0000203427 00000 n
-0000203492 00000 n
-0000203557 00000 n
-0000203621 00000 n
-0000203686 00000 n
-0000203751 00000 n
-0000203816 00000 n
-0000203881 00000 n
-0000203946 00000 n
-0000204011 00000 n
-0000204076 00000 n
-0000204141 00000 n
-0000204205 00000 n
-0000204270 00000 n
-0000204335 00000 n
-0000204400 00000 n
-0000204465 00000 n
-0000204530 00000 n
-0000204595 00000 n
-0000204660 00000 n
-0000204725 00000 n
-0000204790 00000 n
-0000204855 00000 n
-0000204920 00000 n
-0000204985 00000 n
-0000205050 00000 n
-0000205115 00000 n
-0000205180 00000 n
-0000205245 00000 n
-0000205310 00000 n
-0000205375 00000 n
-0000205439 00000 n
-0000205504 00000 n
-0000205569 00000 n
-0000205633 00000 n
-0000211459 00000 n
-0000208676 00000 n
-0000205901 00000 n
-0000208801 00000 n
-0000208865 00000 n
-0000208930 00000 n
-0000208995 00000 n
-0000209060 00000 n
-0000209125 00000 n
-0000209190 00000 n
-0000209254 00000 n
-0000209319 00000 n
-0000209384 00000 n
-0000209449 00000 n
-0000209514 00000 n
-0000209579 00000 n
-0000209644 00000 n
-0000209709 00000 n
-0000209774 00000 n
-0000209838 00000 n
-0000209903 00000 n
-0000209968 00000 n
-0000210032 00000 n
-0000210097 00000 n
-0000210162 00000 n
-0000210227 00000 n
-0000210292 00000 n
-0000210357 00000 n
-0000210422 00000 n
-0000210487 00000 n
-0000210551 00000 n
-0000210616 00000 n
-0000210681 00000 n
-0000210746 00000 n
-0000210811 00000 n
-0000210876 00000 n
-0000210941 00000 n
-0000211006 00000 n
-0000211071 00000 n
-0000211136 00000 n
-0000211201 00000 n
-0000211266 00000 n
-0000211331 00000 n
-0000211395 00000 n
-0000217151 00000 n
-0000213783 00000 n
-0000211649 00000 n
-0000213908 00000 n
-0000213972 00000 n
-0000214037 00000 n
-0000214102 00000 n
-0000214167 00000 n
-0000214232 00000 n
-0000214296 00000 n
-0000214361 00000 n
-0000214426 00000 n
-0000214491 00000 n
-0000214556 00000 n
-0000214621 00000 n
-0000214686 00000 n
-0000214751 00000 n
-0000214816 00000 n
-0000214881 00000 n
-0000214946 00000 n
-0000215011 00000 n
-0000215076 00000 n
-0000215141 00000 n
-0000215206 00000 n
-0000215271 00000 n
-0000215335 00000 n
-0000215400 00000 n
-0000215465 00000 n
-0000215530 00000 n
-0000215595 00000 n
-0000215660 00000 n
-0000215725 00000 n
-0000215790 00000 n
-0000215855 00000 n
-0000215920 00000 n
-0000215984 00000 n
-0000216049 00000 n
-0000216114 00000 n
-0000216179 00000 n
-0000216244 00000 n
-0000216309 00000 n
-0000216374 00000 n
-0000216438 00000 n
-0000216503 00000 n
-0000216568 00000 n
-0000216633 00000 n
-0000216698 00000 n
-0000216763 00000 n
-0000216828 00000 n
-0000216893 00000 n
-0000216958 00000 n
-0000217022 00000 n
-0000217087 00000 n
-0000224130 00000 n
-0000222058 00000 n
-0000217328 00000 n
-0000222183 00000 n
-0000222247 00000 n
-0000222312 00000 n
-0000222377 00000 n
-0000222442 00000 n
-0000222507 00000 n
-0000222572 00000 n
-0001857574 00000 n
-0000222637 00000 n
-0000222702 00000 n
-0000222767 00000 n
-0000222831 00000 n
-0000222896 00000 n
-0000222961 00000 n
-0000223026 00000 n
-0000223091 00000 n
-0000223156 00000 n
-0000223221 00000 n
-0000223286 00000 n
-0000223351 00000 n
-0000223416 00000 n
-0000223481 00000 n
-0000223546 00000 n
-0000223611 00000 n
-0000223676 00000 n
-0000223741 00000 n
-0000223806 00000 n
-0000223871 00000 n
-0000223936 00000 n
-0000224001 00000 n
-0000224066 00000 n
-0001859841 00000 n
-0000229918 00000 n
-0000226290 00000 n
-0000224347 00000 n
-0000226415 00000 n
-0000226479 00000 n
-0000226544 00000 n
-0000226609 00000 n
-0000226674 00000 n
-0000226739 00000 n
-0000226804 00000 n
-0000226869 00000 n
-0000226934 00000 n
-0000226999 00000 n
-0000227064 00000 n
-0000227129 00000 n
-0000227194 00000 n
-0000227259 00000 n
-0000227324 00000 n
-0000227389 00000 n
-0000227454 00000 n
-0000227519 00000 n
-0000227584 00000 n
-0000227649 00000 n
-0000227714 00000 n
-0000227779 00000 n
-0000227844 00000 n
-0000227908 00000 n
-0000227973 00000 n
-0000228038 00000 n
-0000228103 00000 n
-0000228168 00000 n
-0000228233 00000 n
-0000228298 00000 n
-0000228363 00000 n
-0000228428 00000 n
-0000228492 00000 n
-0000228557 00000 n
-0000228622 00000 n
-0000228687 00000 n
-0000228752 00000 n
-0000228817 00000 n
-0000228882 00000 n
-0000228947 00000 n
-0000229011 00000 n
-0000229076 00000 n
-0000229141 00000 n
-0000229206 00000 n
-0000229271 00000 n
-0000229336 00000 n
-0000229401 00000 n
-0000229466 00000 n
-0000229531 00000 n
-0000229596 00000 n
-0000229659 00000 n
-0000229724 00000 n
-0000229789 00000 n
-0000229854 00000 n
-0000238394 00000 n
-0000235624 00000 n
-0000232647 00000 n
-0000230108 00000 n
-0000232772 00000 n
-0000232836 00000 n
-0000232901 00000 n
-0000232965 00000 n
-0000233030 00000 n
-0000233095 00000 n
-0000233159 00000 n
-0000233224 00000 n
-0000233289 00000 n
-0000233354 00000 n
-0000233419 00000 n
-0000233484 00000 n
-0000233549 00000 n
-0000233613 00000 n
-0000233678 00000 n
-0000233743 00000 n
-0000233808 00000 n
-0000233873 00000 n
-0000233938 00000 n
-0000234003 00000 n
-0000234068 00000 n
-0000234133 00000 n
-0000234198 00000 n
-0000234262 00000 n
-0000234327 00000 n
-0000234392 00000 n
-0000234457 00000 n
-0000234522 00000 n
-0000234586 00000 n
-0000234651 00000 n
-0000234716 00000 n
-0000234781 00000 n
-0000234846 00000 n
-0000234910 00000 n
-0000234975 00000 n
-0000235040 00000 n
-0000235105 00000 n
-0000235170 00000 n
-0000235235 00000 n
-0000235300 00000 n
-0000235365 00000 n
-0000235430 00000 n
-0000235494 00000 n
-0000235559 00000 n
-0000244194 00000 n
-0000240950 00000 n
-0000238221 00000 n
-0000235840 00000 n
-0000238551 00000 n
-0000238615 00000 n
-0000238680 00000 n
-0000238744 00000 n
-0000238809 00000 n
-0000238874 00000 n
-0000238939 00000 n
-0000239004 00000 n
-0000239069 00000 n
-0000239134 00000 n
-0000239199 00000 n
-0000239264 00000 n
-0000239329 00000 n
-0000239393 00000 n
-0000239457 00000 n
-0000239522 00000 n
-0000239587 00000 n
-0000239652 00000 n
-0000239717 00000 n
-0000239781 00000 n
-0000239846 00000 n
-0000239911 00000 n
-0000239976 00000 n
-0000240041 00000 n
-0000240106 00000 n
-0000240171 00000 n
-0000240236 00000 n
-0000240301 00000 n
-0000240366 00000 n
-0000240431 00000 n
-0000240495 00000 n
-0000240560 00000 n
-0000240625 00000 n
-0000240690 00000 n
-0000240755 00000 n
-0000240820 00000 n
-0000240885 00000 n
-0000238363 00000 n
-0000247465 00000 n
-0000244021 00000 n
-0000241179 00000 n
-0000244351 00000 n
-0000244415 00000 n
-0000244480 00000 n
-0000244545 00000 n
-0000244609 00000 n
-0000244674 00000 n
-0000244739 00000 n
-0000244804 00000 n
-0000244869 00000 n
-0000244934 00000 n
-0000244999 00000 n
-0000245064 00000 n
-0000245129 00000 n
-0000245194 00000 n
-0000245259 00000 n
-0000245324 00000 n
-0000245389 00000 n
-0000245454 00000 n
-0000245519 00000 n
-0000245584 00000 n
-0000245649 00000 n
-0000245714 00000 n
-0000245779 00000 n
-0000245843 00000 n
-0000245908 00000 n
-0000245973 00000 n
-0000246038 00000 n
-0000246103 00000 n
-0000246168 00000 n
-0000246233 00000 n
-0000246298 00000 n
-0000246363 00000 n
-0000246427 00000 n
-0000246492 00000 n
-0000246557 00000 n
-0000246622 00000 n
-0000246687 00000 n
-0000246752 00000 n
-0000246817 00000 n
-0000246882 00000 n
-0000246947 00000 n
-0000247011 00000 n
-0000247076 00000 n
-0000247141 00000 n
-0000247206 00000 n
-0000247271 00000 n
-0000247336 00000 n
-0000247401 00000 n
-0000244163 00000 n
-0000253042 00000 n
-0000250775 00000 n
-0000247694 00000 n
-0000250900 00000 n
-0000250964 00000 n
-0000251029 00000 n
-0000251094 00000 n
-0000251159 00000 n
-0000251224 00000 n
-0000251289 00000 n
-0000251354 00000 n
-0000251419 00000 n
-0000251484 00000 n
-0000251549 00000 n
-0000251614 00000 n
-0000251679 00000 n
-0000251744 00000 n
-0000251809 00000 n
-0000251874 00000 n
-0000251939 00000 n
-0000252004 00000 n
-0000252069 00000 n
-0000252134 00000 n
-0000252199 00000 n
-0000252264 00000 n
-0000252329 00000 n
-0000252394 00000 n
-0000252459 00000 n
-0000252524 00000 n
-0000252589 00000 n
-0000252653 00000 n
-0000252718 00000 n
-0000252783 00000 n
-0000252848 00000 n
-0000252913 00000 n
-0000252978 00000 n
-0000258014 00000 n
-0000255682 00000 n
-0000253258 00000 n
-0000255807 00000 n
-0000255871 00000 n
-0000255936 00000 n
-0000256001 00000 n
-0000256066 00000 n
-0000256131 00000 n
-0000256196 00000 n
-0000256261 00000 n
-0000256326 00000 n
-0000256391 00000 n
-0000256456 00000 n
-0000256520 00000 n
-0000256585 00000 n
-0000256650 00000 n
-0000256715 00000 n
-0000256780 00000 n
-0000256845 00000 n
-0000256910 00000 n
-0000256975 00000 n
-0000257040 00000 n
-0000257105 00000 n
-0000257170 00000 n
-0000257235 00000 n
-0000257299 00000 n
-0000257364 00000 n
-0000257429 00000 n
-0000257494 00000 n
-0000257559 00000 n
-0000257624 00000 n
-0000257689 00000 n
-0000257754 00000 n
-0000257819 00000 n
-0000257884 00000 n
-0000257949 00000 n
-0000263474 00000 n
-0000261020 00000 n
-0000258204 00000 n
-0000261145 00000 n
-0000261209 00000 n
-0000261274 00000 n
-0000261339 00000 n
-0000261403 00000 n
-0000261468 00000 n
-0000261533 00000 n
-0000261598 00000 n
-0000261663 00000 n
-0000261728 00000 n
-0000261793 00000 n
-0000261858 00000 n
-0000261923 00000 n
-0000261988 00000 n
-0000262053 00000 n
-0000262118 00000 n
-0000262182 00000 n
-0000262247 00000 n
-0000262312 00000 n
-0000262376 00000 n
-0000262441 00000 n
-0000262506 00000 n
-0000262571 00000 n
-0000262636 00000 n
-0000262700 00000 n
-0000262765 00000 n
-0000262830 00000 n
-0000262895 00000 n
-0000262960 00000 n
-0000263025 00000 n
-0000263090 00000 n
-0000263155 00000 n
-0000263219 00000 n
-0000263284 00000 n
-0000263349 00000 n
-0000268974 00000 n
-0000266254 00000 n
-0000263677 00000 n
-0000266379 00000 n
-0000266443 00000 n
-0000266508 00000 n
-0000266573 00000 n
-0000266637 00000 n
-0000266702 00000 n
-0000266767 00000 n
-0000266832 00000 n
-0000266897 00000 n
-0000266962 00000 n
-0000267027 00000 n
-0000267092 00000 n
-0000267157 00000 n
-0000267222 00000 n
-0000267287 00000 n
-0000267352 00000 n
-0000267417 00000 n
-0000267482 00000 n
-0000267547 00000 n
-0000267612 00000 n
-0000267677 00000 n
-0000267742 00000 n
-0000267807 00000 n
-0000267872 00000 n
-0000267937 00000 n
-0000268002 00000 n
-0000268067 00000 n
-0000268132 00000 n
-0000268197 00000 n
-0000268262 00000 n
-0000268327 00000 n
-0000268392 00000 n
-0000268457 00000 n
-0000268522 00000 n
-0000268586 00000 n
-0000268651 00000 n
-0000268716 00000 n
-0000268781 00000 n
-0000268846 00000 n
-0000268910 00000 n
-0000274740 00000 n
-0000272089 00000 n
-0000269164 00000 n
-0000272214 00000 n
-0000272278 00000 n
-0000272343 00000 n
-0000272408 00000 n
-0000272473 00000 n
-0000272538 00000 n
-0000272603 00000 n
-0000272668 00000 n
-0000272733 00000 n
-0000272798 00000 n
-0000272862 00000 n
-0000272927 00000 n
-0000272992 00000 n
-0000273057 00000 n
-0000273122 00000 n
-0000273187 00000 n
-0000273252 00000 n
-0000273317 00000 n
-0000273381 00000 n
-0000273446 00000 n
-0000273511 00000 n
-0000273575 00000 n
-0000273640 00000 n
-0000273705 00000 n
-0000273768 00000 n
-0000273833 00000 n
-0000273898 00000 n
-0000273963 00000 n
-0000274028 00000 n
-0000274093 00000 n
-0000274158 00000 n
-0000274223 00000 n
-0000274288 00000 n
-0000274353 00000 n
-0000274418 00000 n
-0000274483 00000 n
-0000274548 00000 n
-0000274613 00000 n
-0000274676 00000 n
-0000280664 00000 n
-0000277100 00000 n
-0000274943 00000 n
-0000277225 00000 n
-0000277289 00000 n
-0000277354 00000 n
-0000277419 00000 n
-0000277484 00000 n
-0000277549 00000 n
-0000277614 00000 n
-0000277679 00000 n
-0000277744 00000 n
-0000277809 00000 n
-0000277874 00000 n
-0000277939 00000 n
-0000278004 00000 n
-0000278069 00000 n
-0000278134 00000 n
-0000278199 00000 n
-0000278264 00000 n
-0000278329 00000 n
-0000278392 00000 n
-0000278457 00000 n
-0000278522 00000 n
-0000278587 00000 n
-0000278652 00000 n
-0000278717 00000 n
-0000278782 00000 n
-0000278847 00000 n
-0000278912 00000 n
-0000278976 00000 n
-0000279041 00000 n
-0000279106 00000 n
-0000279171 00000 n
-0000279236 00000 n
-0000279301 00000 n
-0000279366 00000 n
-0000279431 00000 n
-0000279496 00000 n
-0000279560 00000 n
-0000279625 00000 n
-0000279690 00000 n
-0000279755 00000 n
-0000279820 00000 n
-0000279885 00000 n
-0000279950 00000 n
-0000280015 00000 n
-0000280080 00000 n
-0000280144 00000 n
-0000280209 00000 n
-0000280274 00000 n
-0000280339 00000 n
-0000280404 00000 n
-0000280469 00000 n
-0000280534 00000 n
-0000280599 00000 n
-0001860006 00000 n
-0000283102 00000 n
-0000286566 00000 n
-0000282929 00000 n
-0000280828 00000 n
-0000283259 00000 n
-0000283323 00000 n
-0000283388 00000 n
-0000283453 00000 n
-0000283518 00000 n
-0000283583 00000 n
-0000283648 00000 n
-0000283713 00000 n
-0000283778 00000 n
-0000283843 00000 n
-0000283907 00000 n
-0000283972 00000 n
-0000284037 00000 n
-0000284102 00000 n
-0000284167 00000 n
-0000284232 00000 n
-0000284297 00000 n
-0000284362 00000 n
-0000284427 00000 n
-0000284492 00000 n
-0000284557 00000 n
-0000284622 00000 n
-0000284686 00000 n
-0000284751 00000 n
-0000284816 00000 n
-0000284881 00000 n
-0000284946 00000 n
-0000285011 00000 n
-0000285076 00000 n
-0000285141 00000 n
-0000285206 00000 n
-0000285271 00000 n
-0000285336 00000 n
-0000285401 00000 n
-0000285466 00000 n
-0000285530 00000 n
-0000285595 00000 n
-0000285660 00000 n
-0000285725 00000 n
-0000285790 00000 n
-0000285855 00000 n
-0000285920 00000 n
-0000285985 00000 n
-0000286050 00000 n
-0000286115 00000 n
-0000286180 00000 n
-0000286307 00000 n
-0000286372 00000 n
-0000286437 00000 n
-0000286502 00000 n
-0000283071 00000 n
-0000290022 00000 n
-0000292512 00000 n
-0000289849 00000 n
-0000286795 00000 n
-0000290179 00000 n
-0000290243 00000 n
-0000290308 00000 n
-0000290373 00000 n
-0000290438 00000 n
-0000290503 00000 n
-0000290568 00000 n
-0000290632 00000 n
-0000290697 00000 n
-0000290762 00000 n
-0000290827 00000 n
-0000290892 00000 n
-0000290957 00000 n
-0000291021 00000 n
-0000291086 00000 n
-0000291151 00000 n
-0000291216 00000 n
-0000291281 00000 n
-0000291346 00000 n
-0000291411 00000 n
-0000291476 00000 n
-0000291541 00000 n
-0000291606 00000 n
-0000291670 00000 n
-0000291735 00000 n
-0000291800 00000 n
-0000291865 00000 n
-0000291929 00000 n
-0000291994 00000 n
-0000292059 00000 n
-0000292124 00000 n
-0000292188 00000 n
-0000292253 00000 n
-0000292318 00000 n
-0000292383 00000 n
-0000292448 00000 n
-0000289991 00000 n
-0000298230 00000 n
-0000295575 00000 n
-0000292767 00000 n
-0000295700 00000 n
-0000295764 00000 n
-0000295829 00000 n
-0000295894 00000 n
-0000295959 00000 n
-0000296024 00000 n
-0000296089 00000 n
-0000296154 00000 n
-0000296219 00000 n
-0000296284 00000 n
-0000296349 00000 n
-0000296414 00000 n
-0000296479 00000 n
-0000296544 00000 n
-0000296609 00000 n
-0000296674 00000 n
-0000296739 00000 n
-0000296804 00000 n
-0000296869 00000 n
-0000296934 00000 n
-0000296999 00000 n
-0000297064 00000 n
-0000297129 00000 n
-0000297194 00000 n
-0000297259 00000 n
-0000297324 00000 n
-0000297389 00000 n
-0000297454 00000 n
-0000297518 00000 n
-0000297583 00000 n
-0000297648 00000 n
-0000297713 00000 n
-0000297777 00000 n
-0000297842 00000 n
-0000297907 00000 n
-0000297972 00000 n
-0000298037 00000 n
-0000298102 00000 n
-0000298166 00000 n
-0000301037 00000 n
-0000301194 00000 n
-0000304466 00000 n
-0000300855 00000 n
-0000298420 00000 n
-0000301352 00000 n
-0000301416 00000 n
-0000301481 00000 n
-0000301546 00000 n
-0000301611 00000 n
-0000301676 00000 n
-0000301741 00000 n
-0000301806 00000 n
-0000301871 00000 n
-0000301936 00000 n
-0000302000 00000 n
-0000302065 00000 n
-0000302130 00000 n
-0000302195 00000 n
-0000302260 00000 n
-0000302325 00000 n
-0000302390 00000 n
-0000302455 00000 n
-0000302520 00000 n
-0000302584 00000 n
-0000302649 00000 n
-0000302714 00000 n
-0000302779 00000 n
-0000302844 00000 n
-0000302909 00000 n
-0000302974 00000 n
-0000303039 00000 n
-0000303104 00000 n
-0000303169 00000 n
-0000303234 00000 n
-0000303299 00000 n
-0000303364 00000 n
-0000303428 00000 n
-0000303493 00000 n
-0000303558 00000 n
-0000303623 00000 n
-0000303687 00000 n
-0000303752 00000 n
-0000303817 00000 n
-0000303882 00000 n
-0000303947 00000 n
-0000304012 00000 n
-0000304077 00000 n
-0000304142 00000 n
-0000304207 00000 n
-0000304272 00000 n
-0000304337 00000 n
-0000304402 00000 n
-0000300997 00000 n
-0000307416 00000 n
-0000310753 00000 n
-0000307243 00000 n
-0000304695 00000 n
-0000307573 00000 n
-0000307637 00000 n
-0000307702 00000 n
-0000307767 00000 n
-0000307832 00000 n
-0000307897 00000 n
-0000307962 00000 n
-0000308027 00000 n
-0000308092 00000 n
-0000308157 00000 n
-0000308222 00000 n
-0000308287 00000 n
-0000308352 00000 n
-0000308417 00000 n
-0000308482 00000 n
-0000308547 00000 n
-0000308612 00000 n
-0000308676 00000 n
-0000308741 00000 n
-0000308806 00000 n
-0000308871 00000 n
-0000308936 00000 n
-0000309001 00000 n
-0000309066 00000 n
-0000309131 00000 n
-0000309195 00000 n
-0000309260 00000 n
-0000309325 00000 n
-0000309390 00000 n
-0000309455 00000 n
-0000309520 00000 n
-0000309585 00000 n
-0000309650 00000 n
-0000309715 00000 n
-0000309780 00000 n
-0000309845 00000 n
-0000309909 00000 n
-0000309974 00000 n
-0000310039 00000 n
-0000310104 00000 n
-0000310169 00000 n
-0000310234 00000 n
-0000310299 00000 n
-0000310364 00000 n
-0000310429 00000 n
-0000310494 00000 n
-0000310559 00000 n
-0000310624 00000 n
-0000310689 00000 n
-0000307385 00000 n
-0000313632 00000 n
-0000316187 00000 n
-0000313459 00000 n
-0000311021 00000 n
-0000313789 00000 n
-0000313853 00000 n
-0000313918 00000 n
-0000313983 00000 n
-0000314048 00000 n
-0000314113 00000 n
-0000314178 00000 n
-0000314243 00000 n
-0000314308 00000 n
-0000314372 00000 n
-0000314437 00000 n
-0000314502 00000 n
-0000314567 00000 n
-0000314632 00000 n
-0000314697 00000 n
-0000314762 00000 n
-0000314827 00000 n
-0000314892 00000 n
-0000314957 00000 n
-0000315022 00000 n
-0000315087 00000 n
-0000315152 00000 n
-0000315217 00000 n
-0000315282 00000 n
-0000315347 00000 n
-0000315412 00000 n
-0000315539 00000 n
-0000315604 00000 n
-0000315669 00000 n
-0000315734 00000 n
-0000315799 00000 n
-0000315864 00000 n
-0000315929 00000 n
-0000315994 00000 n
-0000316058 00000 n
-0000316123 00000 n
-0000313601 00000 n
-0000321581 00000 n
-0000318409 00000 n
-0000316377 00000 n
-0000318534 00000 n
-0000318598 00000 n
-0000318663 00000 n
-0000318728 00000 n
-0000318793 00000 n
-0000318858 00000 n
-0000318923 00000 n
-0000318988 00000 n
-0000319053 00000 n
-0000319118 00000 n
-0000319182 00000 n
-0000319247 00000 n
-0000319312 00000 n
-0000319377 00000 n
-0000319442 00000 n
-0000319507 00000 n
-0000319572 00000 n
-0000319637 00000 n
-0000319702 00000 n
-0000319767 00000 n
-0000319830 00000 n
-0000319895 00000 n
-0000319960 00000 n
-0000320025 00000 n
-0000320090 00000 n
-0000320155 00000 n
-0000320220 00000 n
-0000320284 00000 n
-0000320349 00000 n
-0000320414 00000 n
-0000320479 00000 n
-0000320544 00000 n
-0000320609 00000 n
-0000320674 00000 n
-0000320739 00000 n
-0000320804 00000 n
-0000320868 00000 n
-0000320933 00000 n
-0000320998 00000 n
-0000321063 00000 n
-0000321128 00000 n
-0000321192 00000 n
-0000321257 00000 n
-0000321322 00000 n
-0000321387 00000 n
-0000321452 00000 n
-0000321517 00000 n
-0000324418 00000 n
-0000327558 00000 n
-0000324245 00000 n
-0000321745 00000 n
-0000324575 00000 n
-0000324639 00000 n
-0000324704 00000 n
-0000324769 00000 n
-0000324834 00000 n
-0000324899 00000 n
-0000324964 00000 n
-0000325029 00000 n
-0000325094 00000 n
-0000325159 00000 n
-0000325224 00000 n
-0000325289 00000 n
-0000325354 00000 n
-0000325419 00000 n
-0000325484 00000 n
-0000325549 00000 n
-0000325614 00000 n
-0000325677 00000 n
-0000325742 00000 n
-0000325807 00000 n
-0000325872 00000 n
-0000325937 00000 n
-0000326002 00000 n
-0000326067 00000 n
-0000326132 00000 n
-0000326197 00000 n
-0000326261 00000 n
-0000326326 00000 n
-0000326391 00000 n
-0000326456 00000 n
-0000326521 00000 n
-0000326586 00000 n
-0000326651 00000 n
-0000326716 00000 n
-0000326781 00000 n
-0000326846 00000 n
-0000326911 00000 n
-0000326976 00000 n
-0000327041 00000 n
-0000327106 00000 n
-0000327171 00000 n
-0000327236 00000 n
-0000327301 00000 n
-0000327366 00000 n
-0000327431 00000 n
-0000327496 00000 n
-0000324387 00000 n
-0000332886 00000 n
-0000329322 00000 n
-0000327787 00000 n
-0000329447 00000 n
-0000329511 00000 n
-0000329576 00000 n
-0000329641 00000 n
-0000329706 00000 n
-0000329771 00000 n
-0000329836 00000 n
-0000329901 00000 n
-0000329966 00000 n
-0000330031 00000 n
-0000330095 00000 n
-0000330160 00000 n
-0000330225 00000 n
-0000330290 00000 n
-0000330355 00000 n
-0000330420 00000 n
-0000330485 00000 n
-0000330550 00000 n
-0000330615 00000 n
-0000330679 00000 n
-0000330744 00000 n
-0000330809 00000 n
-0000330874 00000 n
-0000330939 00000 n
-0000331004 00000 n
-0000331069 00000 n
-0000331134 00000 n
-0000331199 00000 n
-0000331264 00000 n
-0000331329 00000 n
-0000331393 00000 n
-0000331458 00000 n
-0000331523 00000 n
-0000331588 00000 n
-0000331653 00000 n
-0000331718 00000 n
-0000331783 00000 n
-0000331848 00000 n
-0000331913 00000 n
-0000331978 00000 n
-0000332042 00000 n
-0000332107 00000 n
-0000332172 00000 n
-0000332237 00000 n
-0000332302 00000 n
-0000332367 00000 n
-0000332432 00000 n
-0000332497 00000 n
-0000332562 00000 n
-0000332627 00000 n
-0000332692 00000 n
-0000332757 00000 n
-0000332821 00000 n
-0000338621 00000 n
-0000335191 00000 n
-0000333050 00000 n
-0000335316 00000 n
-0000335380 00000 n
-0000335445 00000 n
-0000335510 00000 n
-0000335575 00000 n
-0000335640 00000 n
-0000335705 00000 n
-0000335770 00000 n
-0000335835 00000 n
-0000335899 00000 n
-0000335964 00000 n
-0000336029 00000 n
-0000336094 00000 n
-0000336159 00000 n
-0000336224 00000 n
-0000336289 00000 n
-0000336354 00000 n
-0000336419 00000 n
-0000336484 00000 n
-0000336549 00000 n
-0000336613 00000 n
-0000336678 00000 n
-0000336743 00000 n
-0000336808 00000 n
-0000336873 00000 n
-0000336937 00000 n
-0000337002 00000 n
-0000337067 00000 n
-0000337132 00000 n
-0000337197 00000 n
-0000337262 00000 n
-0000337327 00000 n
-0000337392 00000 n
-0000337457 00000 n
-0000337521 00000 n
-0000337585 00000 n
-0000337650 00000 n
-0000337715 00000 n
-0000337780 00000 n
-0000337845 00000 n
-0000337910 00000 n
-0000337975 00000 n
-0000338039 00000 n
-0000338104 00000 n
-0000338169 00000 n
-0000338234 00000 n
-0000338299 00000 n
-0000338364 00000 n
-0000338428 00000 n
-0000338493 00000 n
-0000338557 00000 n
-0001860171 00000 n
-0000344100 00000 n
-0000340473 00000 n
-0000338798 00000 n
-0000340598 00000 n
-0000340662 00000 n
-0000340727 00000 n
-0000340792 00000 n
-0000340857 00000 n
-0000340922 00000 n
-0000340987 00000 n
-0000341052 00000 n
-0000341117 00000 n
-0000341182 00000 n
-0000341246 00000 n
-0000341311 00000 n
-0000341376 00000 n
-0000341441 00000 n
-0000341506 00000 n
-0000341571 00000 n
-0000341636 00000 n
-0000341701 00000 n
-0000341766 00000 n
-0000341830 00000 n
-0000341895 00000 n
-0000341960 00000 n
-0000342025 00000 n
-0000342090 00000 n
-0000342155 00000 n
-0000342220 00000 n
-0000342285 00000 n
-0000342350 00000 n
-0000342413 00000 n
-0000342478 00000 n
-0000342543 00000 n
-0000342608 00000 n
-0000342673 00000 n
-0000342738 00000 n
-0000342803 00000 n
-0000342868 00000 n
-0000342933 00000 n
-0000342997 00000 n
-0000343062 00000 n
-0000343127 00000 n
-0000343192 00000 n
-0000343257 00000 n
-0000343322 00000 n
-0000343387 00000 n
-0000343452 00000 n
-0000343517 00000 n
-0000343582 00000 n
-0000343647 00000 n
-0000343712 00000 n
-0000343777 00000 n
-0000343841 00000 n
-0000343905 00000 n
-0000343970 00000 n
-0000344035 00000 n
-0000349875 00000 n
-0000346637 00000 n
-0000344277 00000 n
-0000346762 00000 n
-0000346826 00000 n
-0000346891 00000 n
-0000346955 00000 n
-0000347020 00000 n
-0000347085 00000 n
-0000347150 00000 n
-0000347215 00000 n
-0000347280 00000 n
-0000347345 00000 n
-0000347410 00000 n
-0000347475 00000 n
-0000347538 00000 n
-0000347603 00000 n
-0000347668 00000 n
-0000347733 00000 n
-0000347798 00000 n
-0000347863 00000 n
-0000347928 00000 n
-0000347992 00000 n
-0000348057 00000 n
-0000348122 00000 n
-0000348187 00000 n
-0000348252 00000 n
-0000348317 00000 n
-0000348382 00000 n
-0000348447 00000 n
-0000348512 00000 n
-0000348576 00000 n
-0000348641 00000 n
-0000348706 00000 n
-0000348771 00000 n
-0000348836 00000 n
-0000348901 00000 n
-0000348966 00000 n
-0000349031 00000 n
-0000349096 00000 n
-0000349160 00000 n
-0000349225 00000 n
-0000349290 00000 n
-0000349355 00000 n
-0000349420 00000 n
-0000349485 00000 n
-0000349550 00000 n
-0000349615 00000 n
-0000349680 00000 n
-0000349745 00000 n
-0000349810 00000 n
-0000355496 00000 n
-0000353168 00000 n
-0000350052 00000 n
-0000353293 00000 n
-0000353357 00000 n
-0000353422 00000 n
-0000353487 00000 n
-0000353552 00000 n
-0000353617 00000 n
-0000353682 00000 n
-0000353747 00000 n
-0000353812 00000 n
-0000353876 00000 n
-0000353941 00000 n
-0000354006 00000 n
-0000354071 00000 n
-0000354136 00000 n
-0000354201 00000 n
-0000354266 00000 n
-0000354331 00000 n
-0000354395 00000 n
-0000354460 00000 n
-0000354525 00000 n
-0000354590 00000 n
-0000354655 00000 n
-0000354720 00000 n
-0000354785 00000 n
-0000354850 00000 n
-0000354915 00000 n
-0000354980 00000 n
-0000355044 00000 n
-0000355109 00000 n
-0000355173 00000 n
-0000355238 00000 n
-0000355303 00000 n
-0000355367 00000 n
-0000355432 00000 n
-0000361207 00000 n
-0000358229 00000 n
-0000355686 00000 n
-0000358354 00000 n
-0000358418 00000 n
-0000358483 00000 n
-0000358548 00000 n
-0000358613 00000 n
-0000358678 00000 n
-0000358742 00000 n
-0000358807 00000 n
-0000358872 00000 n
-0000358937 00000 n
-0000359002 00000 n
-0000359067 00000 n
-0000359132 00000 n
-0000359197 00000 n
-0000359262 00000 n
-0000359326 00000 n
-0000359391 00000 n
-0000359456 00000 n
-0000359521 00000 n
-0000359586 00000 n
-0000359651 00000 n
-0000359716 00000 n
-0000359781 00000 n
-0000359846 00000 n
-0000359911 00000 n
-0000359975 00000 n
-0000360040 00000 n
-0000360105 00000 n
-0000360170 00000 n
-0000360235 00000 n
-0000360300 00000 n
-0000360365 00000 n
-0000360430 00000 n
-0000360495 00000 n
-0000360559 00000 n
-0000360624 00000 n
-0000360689 00000 n
-0000360754 00000 n
-0000360819 00000 n
-0000360884 00000 n
-0000360949 00000 n
-0000361014 00000 n
-0000361079 00000 n
-0000361143 00000 n
-0000366793 00000 n
-0000363426 00000 n
-0000361397 00000 n
-0000363551 00000 n
-0000363615 00000 n
-0000363680 00000 n
-0000363745 00000 n
-0000363810 00000 n
-0000363875 00000 n
-0000363940 00000 n
-0000364005 00000 n
-0000364070 00000 n
-0000364135 00000 n
-0000364199 00000 n
-0000364264 00000 n
-0000364329 00000 n
-0000364394 00000 n
-0000364459 00000 n
-0000364524 00000 n
-0000364589 00000 n
-0000364654 00000 n
-0000364719 00000 n
-0000364783 00000 n
-0000364848 00000 n
-0000364913 00000 n
-0000364978 00000 n
-0000365043 00000 n
-0000365108 00000 n
-0000365173 00000 n
-0000365238 00000 n
-0000365303 00000 n
-0000365367 00000 n
-0000365432 00000 n
-0000365497 00000 n
-0000365562 00000 n
-0000365627 00000 n
-0000365692 00000 n
-0000365757 00000 n
-0000365822 00000 n
-0000365887 00000 n
-0000365952 00000 n
-0000366017 00000 n
-0000366081 00000 n
-0000366146 00000 n
-0000366211 00000 n
-0000366276 00000 n
-0000366341 00000 n
-0000366406 00000 n
-0000366471 00000 n
-0000366536 00000 n
-0000366601 00000 n
-0000366665 00000 n
-0000366729 00000 n
-0000372473 00000 n
-0000368911 00000 n
-0000366983 00000 n
-0000369036 00000 n
-0000369100 00000 n
-0000369165 00000 n
-0000369230 00000 n
-0000369295 00000 n
-0000369360 00000 n
-0000369425 00000 n
-0000369490 00000 n
-0000369555 00000 n
-0000369620 00000 n
-0000369685 00000 n
-0000369750 00000 n
-0000369815 00000 n
-0000369880 00000 n
-0000369945 00000 n
-0000370010 00000 n
-0000370075 00000 n
-0000370140 00000 n
-0000370205 00000 n
-0000370270 00000 n
-0000370335 00000 n
-0000370400 00000 n
-0000370465 00000 n
-0000370530 00000 n
-0000370594 00000 n
-0000370659 00000 n
-0000370724 00000 n
-0000370789 00000 n
-0000370854 00000 n
-0000370919 00000 n
-0000370984 00000 n
-0000371049 00000 n
-0000371114 00000 n
-0000371179 00000 n
-0000371244 00000 n
-0000371309 00000 n
-0000371374 00000 n
-0000371438 00000 n
-0000371503 00000 n
-0000371568 00000 n
-0000371633 00000 n
-0000371698 00000 n
-0000371763 00000 n
-0000371828 00000 n
-0000371892 00000 n
-0000371956 00000 n
-0000372021 00000 n
-0000372085 00000 n
-0000372150 00000 n
-0000372215 00000 n
-0000372280 00000 n
-0000372345 00000 n
-0000372409 00000 n
-0000378176 00000 n
-0000374939 00000 n
-0000372650 00000 n
-0000375064 00000 n
-0000375128 00000 n
-0000375193 00000 n
-0000375258 00000 n
-0000375323 00000 n
-0000375388 00000 n
-0000375453 00000 n
-0000375518 00000 n
-0000375583 00000 n
-0000375648 00000 n
-0000375712 00000 n
-0000375777 00000 n
-0000375842 00000 n
-0000375907 00000 n
-0000375970 00000 n
-0000376035 00000 n
-0000376100 00000 n
-0000376165 00000 n
-0000376230 00000 n
-0000376295 00000 n
-0000376360 00000 n
-0000376425 00000 n
-0000376490 00000 n
-0000376555 00000 n
-0000376619 00000 n
-0000376684 00000 n
-0000376749 00000 n
-0000376814 00000 n
-0000376879 00000 n
-0000376944 00000 n
-0000377009 00000 n
-0000377074 00000 n
-0000377139 00000 n
-0000377204 00000 n
-0000377268 00000 n
-0000377333 00000 n
-0000377398 00000 n
-0000377463 00000 n
-0000377528 00000 n
-0000377593 00000 n
-0000377658 00000 n
-0000377723 00000 n
-0000377788 00000 n
-0000377853 00000 n
-0000377917 00000 n
-0000377982 00000 n
-0000378047 00000 n
-0000378112 00000 n
-0000384117 00000 n
-0000380233 00000 n
-0000378340 00000 n
-0000380358 00000 n
-0000380422 00000 n
-0000380487 00000 n
-0000380552 00000 n
-0000380617 00000 n
-0000380682 00000 n
-0000380747 00000 n
-0000380812 00000 n
-0000380877 00000 n
-0000380942 00000 n
-0000381006 00000 n
-0000381071 00000 n
-0000381136 00000 n
-0000381201 00000 n
-0000381266 00000 n
-0000381331 00000 n
-0000381396 00000 n
-0000381461 00000 n
-0000381526 00000 n
-0000381590 00000 n
-0000381655 00000 n
-0000381720 00000 n
-0000381785 00000 n
-0000381850 00000 n
-0000381915 00000 n
-0000381980 00000 n
-0000382045 00000 n
-0000382110 00000 n
-0000382173 00000 n
-0000382238 00000 n
-0000382302 00000 n
-0000382367 00000 n
-0000382432 00000 n
-0000382497 00000 n
-0000382562 00000 n
-0000382627 00000 n
-0000382692 00000 n
-0000382757 00000 n
-0000382822 00000 n
-0000382885 00000 n
-0000382950 00000 n
-0000383015 00000 n
-0000383080 00000 n
-0000383145 00000 n
-0000383210 00000 n
-0000383275 00000 n
-0000383340 00000 n
-0000383405 00000 n
-0000383469 00000 n
-0000383534 00000 n
-0000383599 00000 n
-0000383664 00000 n
-0000383729 00000 n
-0000383794 00000 n
-0000383859 00000 n
-0000383924 00000 n
-0000383989 00000 n
-0000384053 00000 n
-0000389649 00000 n
-0000386084 00000 n
-0000384281 00000 n
-0000386209 00000 n
-0000386273 00000 n
-0000386338 00000 n
-0000386403 00000 n
-0000386468 00000 n
-0000386533 00000 n
-0000386598 00000 n
-0000386663 00000 n
-0000386728 00000 n
-0000386793 00000 n
-0000386857 00000 n
-0000386922 00000 n
-0000386987 00000 n
-0000387052 00000 n
-0000387117 00000 n
-0000387182 00000 n
-0000387247 00000 n
-0000387312 00000 n
-0000387377 00000 n
-0000387441 00000 n
-0000387506 00000 n
-0000387571 00000 n
-0000387636 00000 n
-0000387701 00000 n
-0000387766 00000 n
-0000387831 00000 n
-0000387896 00000 n
-0000387961 00000 n
-0000388026 00000 n
-0000388090 00000 n
-0000388155 00000 n
-0000388220 00000 n
-0000388285 00000 n
-0000388350 00000 n
-0000388415 00000 n
-0000388480 00000 n
-0000388545 00000 n
-0000388610 00000 n
-0000388675 00000 n
-0000388739 00000 n
-0000388804 00000 n
-0000388869 00000 n
-0000388934 00000 n
-0000388999 00000 n
-0000389064 00000 n
-0000389129 00000 n
-0000389194 00000 n
-0000389259 00000 n
-0000389324 00000 n
-0000389389 00000 n
-0000389454 00000 n
-0000389519 00000 n
-0000389584 00000 n
-0000395573 00000 n
-0000392921 00000 n
-0000389813 00000 n
-0000393046 00000 n
-0000393110 00000 n
-0000393175 00000 n
-0000393239 00000 n
-0000393304 00000 n
-0000393369 00000 n
-0000393434 00000 n
-0000393499 00000 n
-0000393564 00000 n
-0000393629 00000 n
-0000393694 00000 n
-0000393759 00000 n
-0000393823 00000 n
-0000393888 00000 n
-0000393953 00000 n
-0000394018 00000 n
-0000394082 00000 n
-0000394147 00000 n
-0000394212 00000 n
-0000394277 00000 n
-0000394342 00000 n
-0000394407 00000 n
-0000394472 00000 n
-0000394537 00000 n
-0000394602 00000 n
-0000394667 00000 n
-0000394731 00000 n
-0000394796 00000 n
-0000394861 00000 n
-0000394926 00000 n
-0000394991 00000 n
-0000395056 00000 n
-0000395121 00000 n
-0000395186 00000 n
-0000395251 00000 n
-0000395315 00000 n
-0000395380 00000 n
-0000395445 00000 n
-0000395509 00000 n
-0001860336 00000 n
-0000400680 00000 n
-0000398095 00000 n
-0000395776 00000 n
-0000398220 00000 n
-0000398284 00000 n
-0000398349 00000 n
-0000398413 00000 n
-0000398478 00000 n
-0000398543 00000 n
-0000398608 00000 n
-0000398673 00000 n
-0000398738 00000 n
-0000398803 00000 n
-0000398868 00000 n
-0000398933 00000 n
-0000398998 00000 n
-0000399063 00000 n
-0000399128 00000 n
-0000399193 00000 n
-0000399258 00000 n
-0000399322 00000 n
-0000399387 00000 n
-0000399452 00000 n
-0000399517 00000 n
-0000399582 00000 n
-0000399647 00000 n
-0000399712 00000 n
-0000399777 00000 n
-0000399842 00000 n
-0000399907 00000 n
-0000399971 00000 n
-0000400036 00000 n
-0000400101 00000 n
-0000400166 00000 n
-0000400231 00000 n
-0000400296 00000 n
-0000400360 00000 n
-0000400425 00000 n
-0000400552 00000 n
-0000400616 00000 n
-0000406249 00000 n
-0000403142 00000 n
-0000400870 00000 n
-0000403267 00000 n
-0000403331 00000 n
-0000403396 00000 n
-0000403461 00000 n
-0000403526 00000 n
-0000403591 00000 n
-0000403656 00000 n
-0000403721 00000 n
-0000403786 00000 n
-0000403851 00000 n
-0000403915 00000 n
-0000403980 00000 n
-0000404045 00000 n
-0000404110 00000 n
-0000404175 00000 n
-0000404240 00000 n
-0000404305 00000 n
-0000404370 00000 n
-0000404435 00000 n
-0000404500 00000 n
-0000404564 00000 n
-0000404629 00000 n
-0000404694 00000 n
-0000404759 00000 n
-0000404824 00000 n
-0000404889 00000 n
-0000404954 00000 n
-0000405019 00000 n
-0000405084 00000 n
-0000405148 00000 n
-0000405213 00000 n
-0000405278 00000 n
-0000405343 00000 n
-0000405408 00000 n
-0000405472 00000 n
-0000405537 00000 n
-0000405602 00000 n
-0000405667 00000 n
-0000405732 00000 n
-0000405796 00000 n
-0000405861 00000 n
-0000405926 00000 n
-0000405991 00000 n
-0000406056 00000 n
-0000406121 00000 n
-0000406185 00000 n
-0000411596 00000 n
-0000407970 00000 n
-0000406439 00000 n
-0000408095 00000 n
-0000408159 00000 n
-0000408224 00000 n
-0000408289 00000 n
-0000408354 00000 n
-0000408419 00000 n
-0000408484 00000 n
-0000408549 00000 n
-0000408614 00000 n
-0000408679 00000 n
-0000408743 00000 n
-0000408808 00000 n
-0000408873 00000 n
-0000408938 00000 n
-0000409003 00000 n
-0000409068 00000 n
-0000409133 00000 n
-0000409198 00000 n
-0000409263 00000 n
-0000409327 00000 n
-0000409392 00000 n
-0000409457 00000 n
-0000409522 00000 n
-0000409587 00000 n
-0000409652 00000 n
-0000409717 00000 n
-0000409782 00000 n
-0000409847 00000 n
-0000409910 00000 n
-0000409975 00000 n
-0000410040 00000 n
-0000410105 00000 n
-0000410170 00000 n
-0000410235 00000 n
-0000410300 00000 n
-0000410365 00000 n
-0000410430 00000 n
-0000410495 00000 n
-0000410560 00000 n
-0000410625 00000 n
-0000410689 00000 n
-0000410754 00000 n
-0000410819 00000 n
-0000410884 00000 n
-0000410949 00000 n
-0000411014 00000 n
-0000411079 00000 n
-0000411144 00000 n
-0000411209 00000 n
-0000411274 00000 n
-0000411338 00000 n
-0000411403 00000 n
-0000411468 00000 n
-0000411532 00000 n
-0000417299 00000 n
-0000413866 00000 n
-0000411760 00000 n
-0000413991 00000 n
-0000414055 00000 n
-0000414120 00000 n
-0000414185 00000 n
-0000414250 00000 n
-0000414315 00000 n
-0000414380 00000 n
-0000414445 00000 n
-0000414510 00000 n
-0000414575 00000 n
-0000414639 00000 n
-0000414704 00000 n
-0000414769 00000 n
-0000414834 00000 n
-0000414899 00000 n
-0000414964 00000 n
-0000415029 00000 n
-0000415094 00000 n
-0000415159 00000 n
-0000415224 00000 n
-0000415289 00000 n
-0000415354 00000 n
-0000415419 00000 n
-0000415484 00000 n
-0000415549 00000 n
-0000415614 00000 n
-0000415679 00000 n
-0000415744 00000 n
-0000415809 00000 n
-0000415874 00000 n
-0000415939 00000 n
-0000416003 00000 n
-0000416068 00000 n
-0000416133 00000 n
-0000416198 00000 n
-0000416263 00000 n
-0000416328 00000 n
-0000416393 00000 n
-0000416458 00000 n
-0000416523 00000 n
-0000416588 00000 n
-0000416653 00000 n
-0000416718 00000 n
-0000416783 00000 n
-0000416848 00000 n
-0000416913 00000 n
-0000416977 00000 n
-0000417042 00000 n
-0000417107 00000 n
-0000417172 00000 n
-0000417236 00000 n
-0000422982 00000 n
-0000419618 00000 n
-0000417463 00000 n
-0000419743 00000 n
-0000419807 00000 n
-0000419872 00000 n
-0000419937 00000 n
-0000420002 00000 n
-0000420067 00000 n
-0000420132 00000 n
-0000420197 00000 n
-0000420261 00000 n
-0000420326 00000 n
-0000420391 00000 n
-0000420456 00000 n
-0000420521 00000 n
-0000420586 00000 n
-0000420651 00000 n
-0000420715 00000 n
-0000420780 00000 n
-0000420845 00000 n
-0000420910 00000 n
-0000420975 00000 n
-0000421040 00000 n
-0000421105 00000 n
-0000421170 00000 n
-0000421235 00000 n
-0000421299 00000 n
-0000421364 00000 n
-0000421429 00000 n
-0000421494 00000 n
-0000421559 00000 n
-0000421624 00000 n
-0000421689 00000 n
-0000421754 00000 n
-0000421819 00000 n
-0000421880 00000 n
-0000421945 00000 n
-0000422010 00000 n
-0000422075 00000 n
-0000422140 00000 n
-0000422205 00000 n
-0000422270 00000 n
-0000422335 00000 n
-0000422400 00000 n
-0000422465 00000 n
-0000422530 00000 n
-0000422595 00000 n
-0000422660 00000 n
-0000422725 00000 n
-0000422789 00000 n
-0000422854 00000 n
-0000422918 00000 n
-0000428877 00000 n
-0000425964 00000 n
-0000423172 00000 n
-0000426089 00000 n
-0000426153 00000 n
-0000426217 00000 n
-0000426282 00000 n
-0000426347 00000 n
-0000426412 00000 n
-0000426477 00000 n
-0000426542 00000 n
-0000426607 00000 n
-0000426672 00000 n
-0000426737 00000 n
-0000426802 00000 n
-0000426867 00000 n
-0000426932 00000 n
-0000426997 00000 n
-0000427062 00000 n
-0000427127 00000 n
-0000427192 00000 n
-0000427257 00000 n
-0000427321 00000 n
-0000427386 00000 n
-0000427451 00000 n
-0000427516 00000 n
-0000427581 00000 n
-0000427646 00000 n
-0000427711 00000 n
-0000427776 00000 n
-0000427841 00000 n
-0000427905 00000 n
-0000427970 00000 n
-0000428035 00000 n
-0000428100 00000 n
-0000428165 00000 n
-0000428230 00000 n
-0000428295 00000 n
-0000428360 00000 n
-0000428425 00000 n
-0000428489 00000 n
-0000428554 00000 n
-0000428619 00000 n
-0000428684 00000 n
-0000428749 00000 n
-0000428813 00000 n
-0000434489 00000 n
-0000431381 00000 n
-0000429054 00000 n
-0000431506 00000 n
-0000431570 00000 n
-0000431635 00000 n
-0000431700 00000 n
-0000431765 00000 n
-0000431830 00000 n
-0000431895 00000 n
-0000431960 00000 n
-0000432025 00000 n
-0000432090 00000 n
-0000432155 00000 n
-0000432219 00000 n
-0000432284 00000 n
-0000432349 00000 n
-0000432413 00000 n
-0000432478 00000 n
-0000432543 00000 n
-0000432608 00000 n
-0000432673 00000 n
-0000432738 00000 n
-0000432803 00000 n
-0000432868 00000 n
-0000432933 00000 n
-0000432998 00000 n
-0000433063 00000 n
-0000433128 00000 n
-0000433193 00000 n
-0000433257 00000 n
-0000433322 00000 n
-0000433387 00000 n
-0000433452 00000 n
-0000433517 00000 n
-0000433582 00000 n
-0000433647 00000 n
-0000433712 00000 n
-0000433777 00000 n
-0000433841 00000 n
-0000433906 00000 n
-0000433971 00000 n
-0000434036 00000 n
-0000434101 00000 n
-0000434166 00000 n
-0000434231 00000 n
-0000434296 00000 n
-0000434361 00000 n
-0000434425 00000 n
-0000440447 00000 n
-0000437338 00000 n
-0000434666 00000 n
-0000437463 00000 n
-0000437527 00000 n
-0000437592 00000 n
-0000437657 00000 n
-0000437722 00000 n
-0000437787 00000 n
-0000437852 00000 n
-0000437917 00000 n
-0000437981 00000 n
-0000438046 00000 n
-0000438111 00000 n
-0000438176 00000 n
-0000438241 00000 n
-0000438306 00000 n
-0000438371 00000 n
-0000438435 00000 n
-0000438500 00000 n
-0000438565 00000 n
-0000438630 00000 n
-0000438695 00000 n
-0000438760 00000 n
-0000438825 00000 n
-0000438890 00000 n
-0000438955 00000 n
-0000439019 00000 n
-0000439084 00000 n
-0000439149 00000 n
-0000439214 00000 n
-0000439279 00000 n
-0000439344 00000 n
-0000439409 00000 n
-0000439474 00000 n
-0000439539 00000 n
-0000439604 00000 n
-0000439669 00000 n
-0000439734 00000 n
-0000439799 00000 n
-0000439864 00000 n
-0000439928 00000 n
-0000439993 00000 n
-0000440058 00000 n
-0000440123 00000 n
-0000440188 00000 n
-0000440253 00000 n
-0000440318 00000 n
-0000440383 00000 n
-0000446252 00000 n
-0000442557 00000 n
-0000440624 00000 n
-0000442682 00000 n
-0000442746 00000 n
-0000442811 00000 n
-0000442876 00000 n
-0000442941 00000 n
-0000443006 00000 n
-0000443071 00000 n
-0000443136 00000 n
-0000443201 00000 n
-0000443266 00000 n
-0000443330 00000 n
-0000443395 00000 n
-0000443460 00000 n
-0000443525 00000 n
-0000443590 00000 n
-0000443655 00000 n
-0000443720 00000 n
-0000443785 00000 n
-0000443850 00000 n
-0000443915 00000 n
-0000443980 00000 n
-0000444045 00000 n
-0000444110 00000 n
-0000444174 00000 n
-0000444239 00000 n
-0000444304 00000 n
-0000444369 00000 n
-0000444434 00000 n
-0000444499 00000 n
-0000444564 00000 n
-0000444629 00000 n
-0000444694 00000 n
-0000444758 00000 n
-0000444823 00000 n
-0000444888 00000 n
-0000444953 00000 n
-0000445018 00000 n
-0000445083 00000 n
-0000445148 00000 n
-0000445213 00000 n
-0000445278 00000 n
-0000445342 00000 n
-0000445407 00000 n
-0000445472 00000 n
-0000445537 00000 n
-0000445602 00000 n
-0000445667 00000 n
-0000445732 00000 n
-0000445797 00000 n
-0000445862 00000 n
-0000445927 00000 n
-0000445992 00000 n
-0000446057 00000 n
-0000446122 00000 n
-0000446187 00000 n
-0000451680 00000 n
-0000448569 00000 n
-0000446416 00000 n
-0000448694 00000 n
-0000448758 00000 n
-0000448823 00000 n
-0000448888 00000 n
-0000448953 00000 n
-0000449018 00000 n
-0000449083 00000 n
-0000449148 00000 n
-0000449213 00000 n
-0000449278 00000 n
-0000449342 00000 n
-0000449407 00000 n
-0000449472 00000 n
-0000449537 00000 n
-0000449602 00000 n
-0000449667 00000 n
-0000449732 00000 n
-0000449797 00000 n
-0000449862 00000 n
-0000449926 00000 n
-0000449991 00000 n
-0000450056 00000 n
-0000450121 00000 n
-0000450186 00000 n
-0000450251 00000 n
-0000450316 00000 n
-0000450381 00000 n
-0000450446 00000 n
-0000450510 00000 n
-0000450575 00000 n
-0000450640 00000 n
-0000450705 00000 n
-0000450770 00000 n
-0000450835 00000 n
-0000450900 00000 n
-0000450965 00000 n
-0000451030 00000 n
-0000451095 00000 n
-0000451160 00000 n
-0000451225 00000 n
-0000451290 00000 n
-0000451355 00000 n
-0000451420 00000 n
-0000451485 00000 n
-0000451550 00000 n
-0000451615 00000 n
-0001860501 00000 n
-0000457242 00000 n
-0000454718 00000 n
-0000451844 00000 n
-0000454843 00000 n
-0000454907 00000 n
-0000454972 00000 n
-0000455036 00000 n
-0000455101 00000 n
-0000455166 00000 n
-0000455231 00000 n
-0000455296 00000 n
-0000455361 00000 n
-0000455426 00000 n
-0000455491 00000 n
-0000455556 00000 n
-0000455621 00000 n
-0000455686 00000 n
-0000455751 00000 n
-0000455816 00000 n
-0000455881 00000 n
-0000455946 00000 n
-0000456009 00000 n
-0000456074 00000 n
-0000456139 00000 n
-0000456204 00000 n
-0000456269 00000 n
-0000456334 00000 n
-0000456399 00000 n
-0000456464 00000 n
-0000456529 00000 n
-0000456594 00000 n
-0000456659 00000 n
-0000456724 00000 n
-0000456789 00000 n
-0000456854 00000 n
-0000456919 00000 n
-0000456984 00000 n
-0000457049 00000 n
-0000457114 00000 n
-0000457179 00000 n
-0000462943 00000 n
-0000460159 00000 n
-0000457445 00000 n
-0000460284 00000 n
-0000460348 00000 n
-0000460413 00000 n
-0000460477 00000 n
-0000460542 00000 n
-0000460607 00000 n
-0000460672 00000 n
-0000460737 00000 n
-0000460802 00000 n
-0000460867 00000 n
-0000460932 00000 n
-0000460997 00000 n
-0000461062 00000 n
-0000461127 00000 n
-0000461192 00000 n
-0000461257 00000 n
-0000461322 00000 n
-0000461387 00000 n
-0000461452 00000 n
-0000461517 00000 n
-0000461582 00000 n
-0000461647 00000 n
-0000461712 00000 n
-0000461777 00000 n
-0000461841 00000 n
-0000461906 00000 n
-0000461971 00000 n
-0000462036 00000 n
-0000462101 00000 n
-0000462166 00000 n
-0000462231 00000 n
-0000462296 00000 n
-0000462361 00000 n
-0000462425 00000 n
-0000462490 00000 n
-0000462555 00000 n
-0000462620 00000 n
-0000462685 00000 n
-0000462750 00000 n
-0000462815 00000 n
-0000462879 00000 n
-0000468700 00000 n
-0000465141 00000 n
-0000463120 00000 n
-0000465266 00000 n
-0000465330 00000 n
-0000465395 00000 n
-0000465459 00000 n
-0000465524 00000 n
-0000465589 00000 n
-0000465654 00000 n
-0000465719 00000 n
-0000465784 00000 n
-0000465849 00000 n
-0000465914 00000 n
-0000465977 00000 n
-0000466042 00000 n
-0000466107 00000 n
-0000466172 00000 n
-0000466237 00000 n
-0000466302 00000 n
-0000466367 00000 n
-0000466432 00000 n
-0000466497 00000 n
-0000466561 00000 n
-0000466626 00000 n
-0000466691 00000 n
-0000466756 00000 n
-0000466821 00000 n
-0000466886 00000 n
-0000466951 00000 n
-0000467016 00000 n
-0000467081 00000 n
-0000467145 00000 n
-0000467210 00000 n
-0000467275 00000 n
-0000467340 00000 n
-0000467405 00000 n
-0000467470 00000 n
-0000467535 00000 n
-0000467600 00000 n
-0000467665 00000 n
-0000467730 00000 n
-0000467794 00000 n
-0000467859 00000 n
-0000467924 00000 n
-0000467989 00000 n
-0000468054 00000 n
-0000468119 00000 n
-0000468184 00000 n
-0000468249 00000 n
-0000468314 00000 n
-0000468377 00000 n
-0000468442 00000 n
-0000468507 00000 n
-0000468572 00000 n
-0000468636 00000 n
-0000474675 00000 n
-0000471113 00000 n
-0000468877 00000 n
-0000471238 00000 n
-0000471302 00000 n
-0000471367 00000 n
-0000471432 00000 n
-0000471497 00000 n
-0000471562 00000 n
-0000471627 00000 n
-0000471692 00000 n
-0000471757 00000 n
-0000471822 00000 n
-0000471886 00000 n
-0000471951 00000 n
-0000472016 00000 n
-0000472081 00000 n
-0000472146 00000 n
-0000472211 00000 n
-0000472275 00000 n
-0000472340 00000 n
-0000472405 00000 n
-0000472470 00000 n
-0000472535 00000 n
-0000472600 00000 n
-0000472665 00000 n
-0000472730 00000 n
-0000472795 00000 n
-0000472859 00000 n
-0000472924 00000 n
-0000472989 00000 n
-0000473054 00000 n
-0000473119 00000 n
-0000473184 00000 n
-0000473249 00000 n
-0000473314 00000 n
-0000473379 00000 n
-0000473444 00000 n
-0000473508 00000 n
-0000473573 00000 n
-0000473638 00000 n
-0000473703 00000 n
-0000473768 00000 n
-0000473833 00000 n
-0000473898 00000 n
-0000473963 00000 n
-0000474028 00000 n
-0000474093 00000 n
-0000474158 00000 n
-0000474223 00000 n
-0000474288 00000 n
-0000474353 00000 n
-0000474418 00000 n
-0000474483 00000 n
-0000474548 00000 n
-0000474612 00000 n
-0000480565 00000 n
-0000476871 00000 n
-0000474839 00000 n
-0000476996 00000 n
-0000477060 00000 n
-0000477125 00000 n
-0000477190 00000 n
-0000477255 00000 n
-0000477320 00000 n
-0000477385 00000 n
-0000477450 00000 n
-0000477515 00000 n
-0000477580 00000 n
-0000477645 00000 n
-0000477710 00000 n
-0000477775 00000 n
-0000477840 00000 n
-0000477905 00000 n
-0000477970 00000 n
-0000478034 00000 n
-0000478099 00000 n
-0000478164 00000 n
-0000478229 00000 n
-0000478294 00000 n
-0000478359 00000 n
-0000478424 00000 n
-0000478489 00000 n
-0000478554 00000 n
-0000478619 00000 n
-0000478684 00000 n
-0000478749 00000 n
-0000478814 00000 n
-0000478879 00000 n
-0000478944 00000 n
-0000479009 00000 n
-0000479074 00000 n
-0000479138 00000 n
-0000479203 00000 n
-0000479268 00000 n
-0000479333 00000 n
-0000479398 00000 n
-0000479463 00000 n
-0000479528 00000 n
-0000479593 00000 n
-0000479658 00000 n
-0000479723 00000 n
-0000479788 00000 n
-0000479853 00000 n
-0000479918 00000 n
-0000479983 00000 n
-0000480048 00000 n
-0000480113 00000 n
-0000480177 00000 n
-0000480242 00000 n
-0000480307 00000 n
-0000480372 00000 n
-0000480437 00000 n
-0000480501 00000 n
-0000486364 00000 n
-0000482673 00000 n
-0000480729 00000 n
-0000482798 00000 n
-0000482862 00000 n
-0000482927 00000 n
-0000482992 00000 n
-0000483057 00000 n
-0000483122 00000 n
-0000483187 00000 n
-0000483252 00000 n
-0000483317 00000 n
-0000483382 00000 n
-0000483446 00000 n
-0000483511 00000 n
-0000483576 00000 n
-0000483641 00000 n
-0000483706 00000 n
-0000483771 00000 n
-0000483836 00000 n
-0000483901 00000 n
-0000483964 00000 n
-0000484029 00000 n
-0000484094 00000 n
-0000484159 00000 n
-0000484224 00000 n
-0000484289 00000 n
-0000484354 00000 n
-0000484419 00000 n
-0000484484 00000 n
-0000484548 00000 n
-0000484613 00000 n
-0000484678 00000 n
-0000484743 00000 n
-0000484808 00000 n
-0000484873 00000 n
-0000484938 00000 n
-0000485003 00000 n
-0000485068 00000 n
-0000485132 00000 n
-0000485197 00000 n
-0000485262 00000 n
-0000485327 00000 n
-0000485392 00000 n
-0000485457 00000 n
-0000485522 00000 n
-0000485587 00000 n
-0000485652 00000 n
-0000485716 00000 n
-0000485781 00000 n
-0000485846 00000 n
-0000485911 00000 n
-0000485976 00000 n
-0000486041 00000 n
-0000486106 00000 n
-0000486171 00000 n
-0000486236 00000 n
-0000486300 00000 n
-0000492089 00000 n
-0000488916 00000 n
-0000486528 00000 n
-0000489041 00000 n
-0000489105 00000 n
-0000489170 00000 n
-0000489235 00000 n
-0000489300 00000 n
-0000489365 00000 n
-0000489429 00000 n
-0000489494 00000 n
-0000489559 00000 n
-0000489624 00000 n
-0000489689 00000 n
-0000489754 00000 n
-0000489819 00000 n
-0000489884 00000 n
-0000489949 00000 n
-0000490014 00000 n
-0000490079 00000 n
-0000490144 00000 n
-0000490208 00000 n
-0000490273 00000 n
-0000490338 00000 n
-0000490402 00000 n
-0000490467 00000 n
-0000490532 00000 n
-0000490597 00000 n
-0000490662 00000 n
-0000490727 00000 n
-0000490792 00000 n
-0000490857 00000 n
-0000490922 00000 n
-0000490987 00000 n
-0000491052 00000 n
-0000491117 00000 n
-0000491182 00000 n
-0000491247 00000 n
-0000491312 00000 n
-0000491376 00000 n
-0000491441 00000 n
-0000491506 00000 n
-0000491571 00000 n
-0000491636 00000 n
-0000491701 00000 n
-0000491766 00000 n
-0000491831 00000 n
-0000491896 00000 n
-0000491961 00000 n
-0000492025 00000 n
-0000497542 00000 n
-0000494305 00000 n
-0000492253 00000 n
-0000494430 00000 n
-0000494494 00000 n
-0000494559 00000 n
-0000494623 00000 n
-0000494688 00000 n
-0000494753 00000 n
-0000494818 00000 n
-0000494883 00000 n
-0000494948 00000 n
-0000495013 00000 n
-0000495078 00000 n
-0000495143 00000 n
-0000495207 00000 n
-0000495272 00000 n
-0000495337 00000 n
-0000495402 00000 n
-0000495467 00000 n
-0000495532 00000 n
-0000495597 00000 n
-0000495662 00000 n
-0000495727 00000 n
-0000495792 00000 n
-0000495857 00000 n
-0000495922 00000 n
-0000495987 00000 n
-0000496052 00000 n
-0000496117 00000 n
-0000496182 00000 n
-0000496247 00000 n
-0000496312 00000 n
-0000496377 00000 n
-0000496440 00000 n
-0000496505 00000 n
-0000496570 00000 n
-0000496635 00000 n
-0000496700 00000 n
-0000496765 00000 n
-0000496830 00000 n
-0000496895 00000 n
-0000496960 00000 n
-0000497025 00000 n
-0000497090 00000 n
-0000497155 00000 n
-0000497219 00000 n
-0000497284 00000 n
-0000497349 00000 n
-0000497414 00000 n
-0000497478 00000 n
-0000503187 00000 n
-0000499499 00000 n
-0000497706 00000 n
-0000499624 00000 n
-0000499688 00000 n
-0000499753 00000 n
-0000499818 00000 n
-0000499883 00000 n
-0000499948 00000 n
-0000500013 00000 n
-0000500078 00000 n
-0000500143 00000 n
-0000500208 00000 n
-0000500273 00000 n
-0000500337 00000 n
-0000500402 00000 n
-0000500467 00000 n
-0000500594 00000 n
-0000500659 00000 n
-0000500724 00000 n
-0000500789 00000 n
-0000500854 00000 n
-0000500918 00000 n
-0000500983 00000 n
-0000501048 00000 n
-0000501113 00000 n
-0000501178 00000 n
-0000501243 00000 n
-0000501308 00000 n
-0000501373 00000 n
-0000501438 00000 n
-0000501502 00000 n
-0000501567 00000 n
-0000501632 00000 n
-0000501697 00000 n
-0000501762 00000 n
-0000501827 00000 n
-0000501891 00000 n
-0000501956 00000 n
-0000502021 00000 n
-0000502086 00000 n
-0000502151 00000 n
-0000502216 00000 n
-0000502281 00000 n
-0000502346 00000 n
-0000502411 00000 n
-0000502475 00000 n
-0000502540 00000 n
-0000502605 00000 n
-0000502670 00000 n
-0000502735 00000 n
-0000502800 00000 n
-0000502865 00000 n
-0000502930 00000 n
-0000502995 00000 n
-0000503059 00000 n
-0000503123 00000 n
-0000509068 00000 n
-0000505380 00000 n
-0000503364 00000 n
-0000505505 00000 n
-0000505569 00000 n
-0000505634 00000 n
-0000505699 00000 n
-0000505764 00000 n
-0000505829 00000 n
-0000505894 00000 n
-0000505959 00000 n
-0000506024 00000 n
-0000506088 00000 n
-0000506153 00000 n
-0000506218 00000 n
-0000506283 00000 n
-0000506348 00000 n
-0000506413 00000 n
-0000506478 00000 n
-0000506543 00000 n
-0000506608 00000 n
-0000506672 00000 n
-0000506737 00000 n
-0000506864 00000 n
-0000506929 00000 n
-0000506994 00000 n
-0000507058 00000 n
-0000507123 00000 n
-0000507188 00000 n
-0000507253 00000 n
-0000507318 00000 n
-0000507383 00000 n
-0000507448 00000 n
-0000507513 00000 n
-0000507578 00000 n
-0000507642 00000 n
-0000507707 00000 n
-0000507772 00000 n
-0000507837 00000 n
-0000507902 00000 n
-0000507967 00000 n
-0000508032 00000 n
-0000508097 00000 n
-0000508162 00000 n
-0000508226 00000 n
-0000508291 00000 n
-0000508356 00000 n
-0000508421 00000 n
-0000508486 00000 n
-0000508551 00000 n
-0000508616 00000 n
-0000508681 00000 n
-0000508746 00000 n
-0000508810 00000 n
-0000508875 00000 n
-0000508940 00000 n
-0000509004 00000 n
-0001860666 00000 n
-0000514668 00000 n
-0000511106 00000 n
-0000509271 00000 n
-0000511231 00000 n
-0000511295 00000 n
-0000511360 00000 n
-0000511425 00000 n
-0000511490 00000 n
-0000511555 00000 n
-0000511620 00000 n
-0000511685 00000 n
-0000511750 00000 n
-0000511815 00000 n
-0000511880 00000 n
-0000511945 00000 n
-0000512010 00000 n
-0000512075 00000 n
-0000512140 00000 n
-0000512205 00000 n
-0000512270 00000 n
-0000512335 00000 n
-0000512400 00000 n
-0000512465 00000 n
-0000512530 00000 n
-0000512595 00000 n
-0000512660 00000 n
-0000512725 00000 n
-0000512790 00000 n
-0000512855 00000 n
-0000512920 00000 n
-0000512985 00000 n
-0000513050 00000 n
-0000513115 00000 n
-0000513180 00000 n
-0000513307 00000 n
-0000513372 00000 n
-0000513437 00000 n
-0000513502 00000 n
-0000513567 00000 n
-0000513631 00000 n
-0000513696 00000 n
-0000513761 00000 n
-0000513826 00000 n
-0000513891 00000 n
-0000513956 00000 n
-0000514021 00000 n
-0000514086 00000 n
-0000514151 00000 n
-0000514215 00000 n
-0000514280 00000 n
-0000514345 00000 n
-0000514410 00000 n
-0000514475 00000 n
-0000514540 00000 n
-0000514604 00000 n
-0000520373 00000 n
-0000517329 00000 n
-0000514858 00000 n
-0000517454 00000 n
-0000517518 00000 n
-0000517583 00000 n
-0000517648 00000 n
-0000517713 00000 n
-0000517778 00000 n
-0000517843 00000 n
-0000517908 00000 n
-0000517973 00000 n
-0000518038 00000 n
-0000518103 00000 n
-0000518167 00000 n
-0000518232 00000 n
-0000518297 00000 n
-0000518362 00000 n
-0000518426 00000 n
-0000518491 00000 n
-0000518556 00000 n
-0000518621 00000 n
-0000518686 00000 n
-0000518751 00000 n
-0000518816 00000 n
-0000518881 00000 n
-0000518946 00000 n
-0000519011 00000 n
-0000519076 00000 n
-0000519141 00000 n
-0000519206 00000 n
-0000519271 00000 n
-0000519336 00000 n
-0000519401 00000 n
-0000519466 00000 n
-0000519531 00000 n
-0000519596 00000 n
-0000519661 00000 n
-0000519725 00000 n
-0000519790 00000 n
-0000519855 00000 n
-0000519920 00000 n
-0000519985 00000 n
-0000520050 00000 n
-0000520115 00000 n
-0000520180 00000 n
-0000520245 00000 n
-0000520309 00000 n
-0000523237 00000 n
-0000526509 00000 n
-0000523064 00000 n
-0000520537 00000 n
-0000523395 00000 n
-0000523459 00000 n
-0000523524 00000 n
-0000523589 00000 n
-0000523654 00000 n
-0000523719 00000 n
-0000523784 00000 n
-0000523849 00000 n
-0000523914 00000 n
-0000523979 00000 n
-0000524044 00000 n
-0000524109 00000 n
-0000524174 00000 n
-0000524239 00000 n
-0000524304 00000 n
-0000524369 00000 n
-0000524434 00000 n
-0000524497 00000 n
-0000524562 00000 n
-0000524627 00000 n
-0000524692 00000 n
-0000524757 00000 n
-0000524822 00000 n
-0000524887 00000 n
-0000524952 00000 n
-0000525017 00000 n
-0000525081 00000 n
-0000525146 00000 n
-0000525211 00000 n
-0000525276 00000 n
-0000525341 00000 n
-0000525406 00000 n
-0000525471 00000 n
-0000525536 00000 n
-0001857945 00000 n
-0000525601 00000 n
-0000525666 00000 n
-0000525730 00000 n
-0000525795 00000 n
-0000525860 00000 n
-0000525925 00000 n
-0000525990 00000 n
-0000526055 00000 n
-0000526120 00000 n
-0000526185 00000 n
-0000526250 00000 n
-0000526315 00000 n
-0000526380 00000 n
-0000526445 00000 n
-0000523206 00000 n
-0000531804 00000 n
-0000529214 00000 n
-0000526752 00000 n
-0000529339 00000 n
-0000529403 00000 n
-0000529468 00000 n
-0000529533 00000 n
-0000529598 00000 n
-0000529663 00000 n
-0000529728 00000 n
-0000529793 00000 n
-0000529857 00000 n
-0000529922 00000 n
-0000529987 00000 n
-0000530052 00000 n
-0000530117 00000 n
-0000530182 00000 n
-0000530247 00000 n
-0000530312 00000 n
-0000530377 00000 n
-0000530442 00000 n
-0000530506 00000 n
-0000530571 00000 n
-0000530636 00000 n
-0000530701 00000 n
-0000530766 00000 n
-0000530831 00000 n
-0000530896 00000 n
-0000530961 00000 n
-0000531026 00000 n
-0000531090 00000 n
-0000531155 00000 n
-0000531220 00000 n
-0000531285 00000 n
-0000531350 00000 n
-0000531415 00000 n
-0000531480 00000 n
-0000531545 00000 n
-0000531610 00000 n
-0000531674 00000 n
-0000531739 00000 n
-0000535357 00000 n
-0000537719 00000 n
-0000535184 00000 n
-0000531981 00000 n
-0000535514 00000 n
-0000535578 00000 n
-0000535643 00000 n
-0000535708 00000 n
-0000535773 00000 n
-0000535838 00000 n
-0000535903 00000 n
-0000535967 00000 n
-0000536032 00000 n
-0000536097 00000 n
-0000536162 00000 n
-0000536226 00000 n
-0000536291 00000 n
-0000536356 00000 n
-0000536421 00000 n
-0000536486 00000 n
-0000536551 00000 n
-0000536616 00000 n
-0000536681 00000 n
-0000536746 00000 n
-0000536810 00000 n
-0000536875 00000 n
-0000536940 00000 n
-0000537005 00000 n
-0000537070 00000 n
-0000537135 00000 n
-0000537200 00000 n
-0000537265 00000 n
-0000537330 00000 n
-0000537395 00000 n
-0000537460 00000 n
-0000537525 00000 n
-0000537590 00000 n
-0000537655 00000 n
-0000535326 00000 n
-0000543429 00000 n
-0000540254 00000 n
-0000537974 00000 n
-0000540379 00000 n
-0000540443 00000 n
-0000540508 00000 n
-0000540573 00000 n
-0000540638 00000 n
-0000540703 00000 n
-0000540768 00000 n
-0000540832 00000 n
-0000540897 00000 n
-0000540962 00000 n
-0000541027 00000 n
-0000541092 00000 n
-0000541157 00000 n
-0000541222 00000 n
-0000541287 00000 n
-0000541352 00000 n
-0000541416 00000 n
-0000541481 00000 n
-0000541546 00000 n
-0000541611 00000 n
-0000541676 00000 n
-0000541741 00000 n
-0000541806 00000 n
-0000541871 00000 n
-0000541936 00000 n
-0000542001 00000 n
-0000542066 00000 n
-0000542129 00000 n
-0000542194 00000 n
-0000542259 00000 n
-0000542324 00000 n
-0000542389 00000 n
-0000542454 00000 n
-0000542519 00000 n
-0000542584 00000 n
-0000542649 00000 n
-0000542714 00000 n
-0000542779 00000 n
-0000542844 00000 n
-0000542909 00000 n
-0000542974 00000 n
-0000543039 00000 n
-0000543104 00000 n
-0000543169 00000 n
-0000543234 00000 n
-0000543299 00000 n
-0000543364 00000 n
-0000549093 00000 n
-0000545534 00000 n
-0000543619 00000 n
-0000545659 00000 n
-0000545723 00000 n
-0000545788 00000 n
-0000545853 00000 n
-0000545918 00000 n
-0000545983 00000 n
-0000546048 00000 n
-0000546113 00000 n
-0000546178 00000 n
-0000546243 00000 n
-0000546307 00000 n
-0000546372 00000 n
-0000546435 00000 n
-0000546500 00000 n
-0000546565 00000 n
-0000546630 00000 n
-0000546695 00000 n
-0000546760 00000 n
-0000546825 00000 n
-0000546890 00000 n
-0000546955 00000 n
-0000547020 00000 n
-0000547085 00000 n
-0000547150 00000 n
-0000547215 00000 n
-0000547280 00000 n
-0000547345 00000 n
-0000547410 00000 n
-0000547475 00000 n
-0000547539 00000 n
-0000547604 00000 n
-0000547669 00000 n
-0000547734 00000 n
-0000547799 00000 n
-0000547864 00000 n
-0000547929 00000 n
-0000547993 00000 n
-0000548058 00000 n
-0000548123 00000 n
-0000548188 00000 n
-0000548253 00000 n
-0000548318 00000 n
-0000548383 00000 n
-0000548448 00000 n
-0000548513 00000 n
-0000548577 00000 n
-0000548642 00000 n
-0000548707 00000 n
-0000548772 00000 n
-0000548837 00000 n
-0000548902 00000 n
-0000548967 00000 n
-0000555104 00000 n
-0000553361 00000 n
-0000549257 00000 n
-0000553486 00000 n
-0000553550 00000 n
-0000553615 00000 n
-0000553680 00000 n
-0000553745 00000 n
-0000553808 00000 n
-0000553873 00000 n
-0000553938 00000 n
-0000554003 00000 n
-0000554068 00000 n
-0000554133 00000 n
-0000554198 00000 n
-0000554262 00000 n
-0000554327 00000 n
-0000554392 00000 n
-0000554457 00000 n
-0000554522 00000 n
-0000554587 00000 n
-0000554652 00000 n
-0000554716 00000 n
-0000554781 00000 n
-0000554846 00000 n
-0000554911 00000 n
-0000554976 00000 n
-0000555040 00000 n
-0000560889 00000 n
-0000557393 00000 n
-0000555347 00000 n
-0000557518 00000 n
-0000557582 00000 n
-0000557647 00000 n
-0000557712 00000 n
-0000557777 00000 n
-0000557842 00000 n
-0000557907 00000 n
-0000557972 00000 n
-0000558037 00000 n
-0000558102 00000 n
-0000558166 00000 n
-0000558231 00000 n
-0000558296 00000 n
-0000558361 00000 n
-0000558426 00000 n
-0000558491 00000 n
-0000558556 00000 n
-0000558621 00000 n
-0000558686 00000 n
-0000558751 00000 n
-0000558816 00000 n
-0000558881 00000 n
-0000558944 00000 n
-0000559009 00000 n
-0000559074 00000 n
-0000559139 00000 n
-0000559204 00000 n
-0000559269 00000 n
-0000559334 00000 n
-0000559399 00000 n
-0000559464 00000 n
-0000559528 00000 n
-0000559593 00000 n
-0000559658 00000 n
-0000559723 00000 n
-0000559788 00000 n
-0000559853 00000 n
-0000559918 00000 n
-0000559983 00000 n
-0000560048 00000 n
-0000560112 00000 n
-0000560177 00000 n
-0000560242 00000 n
-0000560306 00000 n
-0000560371 00000 n
-0000560436 00000 n
-0000560501 00000 n
-0000560566 00000 n
-0000560631 00000 n
-0000560696 00000 n
-0000560761 00000 n
-0000560826 00000 n
-0000566715 00000 n
-0000562570 00000 n
-0000561066 00000 n
-0000562695 00000 n
-0000562759 00000 n
-0000562824 00000 n
-0000562888 00000 n
-0000562953 00000 n
-0000563018 00000 n
-0000563083 00000 n
-0000563148 00000 n
-0000563213 00000 n
-0000563278 00000 n
-0000563343 00000 n
-0000563408 00000 n
-0000563472 00000 n
-0000563537 00000 n
-0000563602 00000 n
-0000563667 00000 n
-0000563732 00000 n
-0000563797 00000 n
-0000563862 00000 n
-0000563927 00000 n
-0000563992 00000 n
-0000564056 00000 n
-0000564121 00000 n
-0000564186 00000 n
-0000564251 00000 n
-0000564316 00000 n
-0000564381 00000 n
-0000564446 00000 n
-0000564511 00000 n
-0000564576 00000 n
-0000564640 00000 n
-0000564705 00000 n
-0000564770 00000 n
-0000564835 00000 n
-0000564900 00000 n
-0000564965 00000 n
-0000565030 00000 n
-0000565095 00000 n
-0000565160 00000 n
-0000565225 00000 n
-0000565289 00000 n
-0000565354 00000 n
-0000565419 00000 n
-0000565484 00000 n
-0000565549 00000 n
-0000565614 00000 n
-0000565679 00000 n
-0000565744 00000 n
-0000565809 00000 n
-0000565873 00000 n
-0000565938 00000 n
-0000566003 00000 n
-0000566068 00000 n
-0000566133 00000 n
-0000566198 00000 n
-0000566263 00000 n
-0000566328 00000 n
-0000566393 00000 n
-0000566457 00000 n
-0000566522 00000 n
-0000566587 00000 n
-0000566651 00000 n
-0001860831 00000 n
-0000572554 00000 n
-0000569902 00000 n
-0000566879 00000 n
-0000570027 00000 n
-0000570091 00000 n
-0000570156 00000 n
-0000570221 00000 n
-0000570286 00000 n
-0000570351 00000 n
-0000570416 00000 n
-0000570481 00000 n
-0000570546 00000 n
-0000570611 00000 n
-0000570676 00000 n
-0000570741 00000 n
-0000570806 00000 n
-0000570871 00000 n
-0000570936 00000 n
-0000571000 00000 n
-0000571065 00000 n
-0000571130 00000 n
-0000571195 00000 n
-0000571260 00000 n
-0000571325 00000 n
-0000571390 00000 n
-0000571455 00000 n
-0000571520 00000 n
-0000571585 00000 n
-0000571650 00000 n
-0000571714 00000 n
-0000571779 00000 n
-0000571844 00000 n
-0000571909 00000 n
-0000571974 00000 n
-0000572039 00000 n
-0000572104 00000 n
-0000572168 00000 n
-0000572231 00000 n
-0000572296 00000 n
-0000572361 00000 n
-0000572426 00000 n
-0000572490 00000 n
-0000578443 00000 n
-0000574232 00000 n
-0000572744 00000 n
-0000574357 00000 n
-0000574421 00000 n
-0000574486 00000 n
-0000574551 00000 n
-0000574616 00000 n
-0000574681 00000 n
-0000574746 00000 n
-0000574811 00000 n
-0000574876 00000 n
-0000574941 00000 n
-0000575005 00000 n
-0000575070 00000 n
-0000575135 00000 n
-0000575200 00000 n
-0000575265 00000 n
-0000575330 00000 n
-0000575395 00000 n
-0000575460 00000 n
-0000575525 00000 n
-0000575590 00000 n
-0000575655 00000 n
-0000575720 00000 n
-0000575785 00000 n
-0000575850 00000 n
-0000575915 00000 n
-0000575980 00000 n
-0000576044 00000 n
-0000576109 00000 n
-0000576174 00000 n
-0000576239 00000 n
-0000576304 00000 n
-0000576369 00000 n
-0000576434 00000 n
-0000576499 00000 n
-0000576564 00000 n
-0000576628 00000 n
-0000576693 00000 n
-0000576758 00000 n
-0000576823 00000 n
-0000576888 00000 n
-0000576953 00000 n
-0000577018 00000 n
-0000577083 00000 n
-0000577148 00000 n
-0000577212 00000 n
-0000577277 00000 n
-0000577342 00000 n
-0000577407 00000 n
-0000577472 00000 n
-0000577537 00000 n
-0000577602 00000 n
-0000577667 00000 n
-0000577732 00000 n
-0000577797 00000 n
-0000577861 00000 n
-0000577926 00000 n
-0000577991 00000 n
-0000578056 00000 n
-0000578121 00000 n
-0000578186 00000 n
-0000578251 00000 n
-0000578316 00000 n
-0000578380 00000 n
-0000584285 00000 n
-0000580794 00000 n
-0000578594 00000 n
-0000580919 00000 n
-0000580983 00000 n
-0000581048 00000 n
-0000581113 00000 n
-0000581178 00000 n
-0000581243 00000 n
-0000581307 00000 n
-0000581372 00000 n
-0000581437 00000 n
-0000581502 00000 n
-0000581567 00000 n
-0000581632 00000 n
-0000581697 00000 n
-0000581762 00000 n
-0000581825 00000 n
-0000581890 00000 n
-0000581955 00000 n
-0000582020 00000 n
-0000582085 00000 n
-0000582150 00000 n
-0000582215 00000 n
-0000582280 00000 n
-0000582345 00000 n
-0000582409 00000 n
-0000582474 00000 n
-0000582539 00000 n
-0000582604 00000 n
-0000582669 00000 n
-0000582733 00000 n
-0000582798 00000 n
-0000582863 00000 n
-0000582928 00000 n
-0000582993 00000 n
-0000583058 00000 n
-0000583123 00000 n
-0000583188 00000 n
-0000583252 00000 n
-0000583317 00000 n
-0000583382 00000 n
-0000583447 00000 n
-0000583512 00000 n
-0000583573 00000 n
-0000583638 00000 n
-0000583703 00000 n
-0000583768 00000 n
-0000583833 00000 n
-0000583897 00000 n
-0000583962 00000 n
-0000584027 00000 n
-0000584092 00000 n
-0000584157 00000 n
-0000584221 00000 n
-0000589190 00000 n
-0000586538 00000 n
-0000584449 00000 n
-0000586663 00000 n
-0000586727 00000 n
-0000586792 00000 n
-0000586857 00000 n
-0000586922 00000 n
-0000586986 00000 n
-0000587051 00000 n
-0000587116 00000 n
-0000587181 00000 n
-0000587246 00000 n
-0000587311 00000 n
-0000587376 00000 n
-0000587441 00000 n
-0000587506 00000 n
-0000587569 00000 n
-0000587634 00000 n
-0000587699 00000 n
-0000587764 00000 n
-0000587829 00000 n
-0000587894 00000 n
-0000587959 00000 n
-0000588024 00000 n
-0000588089 00000 n
-0000588154 00000 n
-0000588219 00000 n
-0000588284 00000 n
-0000588348 00000 n
-0000588413 00000 n
-0000588478 00000 n
-0000588543 00000 n
-0000588608 00000 n
-0000588673 00000 n
-0000588738 00000 n
-0000588802 00000 n
-0000588867 00000 n
-0000588932 00000 n
-0000588997 00000 n
-0000589062 00000 n
-0000589126 00000 n
-0000594511 00000 n
-0000591404 00000 n
-0000589367 00000 n
-0000591529 00000 n
-0000591593 00000 n
-0000591658 00000 n
-0000591723 00000 n
-0000591788 00000 n
-0000591853 00000 n
-0000591917 00000 n
-0000591982 00000 n
-0000592047 00000 n
-0000592112 00000 n
-0000592176 00000 n
-0000592241 00000 n
-0000592306 00000 n
-0000592371 00000 n
-0000592436 00000 n
-0000592501 00000 n
-0000592566 00000 n
-0000592631 00000 n
-0000592696 00000 n
-0000592761 00000 n
-0000592826 00000 n
-0000592891 00000 n
-0000592956 00000 n
-0000593020 00000 n
-0000593085 00000 n
-0000593150 00000 n
-0000593215 00000 n
-0000593280 00000 n
-0000593345 00000 n
-0000593410 00000 n
-0000593475 00000 n
-0000593540 00000 n
-0000593604 00000 n
-0000593669 00000 n
-0000593734 00000 n
-0000593799 00000 n
-0000593864 00000 n
-0000593929 00000 n
-0000593994 00000 n
-0000594059 00000 n
-0000594124 00000 n
-0000594188 00000 n
-0000594253 00000 n
-0000594318 00000 n
-0000594383 00000 n
-0000594447 00000 n
-0000600584 00000 n
-0000596634 00000 n
-0000594688 00000 n
-0000596759 00000 n
-0000596823 00000 n
-0000596888 00000 n
-0000596953 00000 n
-0000597018 00000 n
-0000597083 00000 n
-0000597148 00000 n
-0000597213 00000 n
-0000597278 00000 n
-0000597343 00000 n
-0000597407 00000 n
-0000597472 00000 n
-0000597537 00000 n
-0000597602 00000 n
-0000597667 00000 n
-0000597732 00000 n
-0000597797 00000 n
-0000597862 00000 n
-0000597927 00000 n
-0000597991 00000 n
-0000598056 00000 n
-0000598121 00000 n
-0000598186 00000 n
-0000598251 00000 n
-0000598316 00000 n
-0000598381 00000 n
-0000598446 00000 n
-0000598511 00000 n
-0000598576 00000 n
-0000598641 00000 n
-0000598706 00000 n
-0000598771 00000 n
-0000598835 00000 n
-0000598900 00000 n
-0000598965 00000 n
-0000599030 00000 n
-0000599095 00000 n
-0000599160 00000 n
-0000599225 00000 n
-0000599290 00000 n
-0000599355 00000 n
-0000599418 00000 n
-0000599483 00000 n
-0000599548 00000 n
-0000599613 00000 n
-0000599678 00000 n
-0000599743 00000 n
-0000599808 00000 n
-0000599873 00000 n
-0000599938 00000 n
-0000600003 00000 n
-0000600067 00000 n
-0000600132 00000 n
-0000600196 00000 n
-0000600261 00000 n
-0000600326 00000 n
-0000600391 00000 n
-0000600456 00000 n
-0000600520 00000 n
-0000605391 00000 n
-0000602542 00000 n
-0000600735 00000 n
-0000602667 00000 n
-0000602731 00000 n
-0000602796 00000 n
-0000602861 00000 n
-0000602926 00000 n
-0000602991 00000 n
-0000603056 00000 n
-0000603121 00000 n
-0000603186 00000 n
-0000603251 00000 n
-0000603316 00000 n
-0000603381 00000 n
-0000603446 00000 n
-0000603511 00000 n
-0000603576 00000 n
-0000603641 00000 n
-0000603706 00000 n
-0000603771 00000 n
-0000603835 00000 n
-0000603900 00000 n
-0000603965 00000 n
-0000604030 00000 n
-0000604095 00000 n
-0000604160 00000 n
-0000604225 00000 n
-0000604290 00000 n
-0000604355 00000 n
-0000604419 00000 n
-0000604484 00000 n
-0000604549 00000 n
-0000604614 00000 n
-0000604679 00000 n
-0000604744 00000 n
-0000604809 00000 n
-0000604874 00000 n
-0000604939 00000 n
-0000605003 00000 n
-0000605068 00000 n
-0000605133 00000 n
-0000605198 00000 n
-0000605263 00000 n
-0000605327 00000 n
-0000611009 00000 n
-0000607837 00000 n
-0000605594 00000 n
-0000607962 00000 n
-0000608026 00000 n
-0000608091 00000 n
-0000608155 00000 n
-0000608220 00000 n
-0000608285 00000 n
-0000608350 00000 n
-0000608415 00000 n
-0000608480 00000 n
-0000608545 00000 n
-0000608610 00000 n
-0000608675 00000 n
-0000608739 00000 n
-0000608804 00000 n
-0000608869 00000 n
-0000608933 00000 n
-0000608998 00000 n
-0000609063 00000 n
-0000609128 00000 n
-0000609193 00000 n
-0000609258 00000 n
-0000609323 00000 n
-0000609388 00000 n
-0000609453 00000 n
-0000609518 00000 n
-0000609583 00000 n
-0000609648 00000 n
-0000609713 00000 n
-0000609778 00000 n
-0000609843 00000 n
-0000609908 00000 n
-0000609971 00000 n
-0000610036 00000 n
-0000610101 00000 n
-0000610166 00000 n
-0000610231 00000 n
-0000610296 00000 n
-0000610361 00000 n
-0000610426 00000 n
-0000610491 00000 n
-0000610556 00000 n
-0000610621 00000 n
-0000610686 00000 n
-0000610751 00000 n
-0000610816 00000 n
-0000610881 00000 n
-0000610945 00000 n
-0000616156 00000 n
-0000613306 00000 n
-0000611186 00000 n
-0000613431 00000 n
-0000613495 00000 n
-0000613560 00000 n
-0000613625 00000 n
-0000613690 00000 n
-0000613755 00000 n
-0000613820 00000 n
-0000613885 00000 n
-0000613950 00000 n
-0000614015 00000 n
-0000614080 00000 n
-0000614145 00000 n
-0000614210 00000 n
-0000614275 00000 n
-0000614340 00000 n
-0000614405 00000 n
-0000614470 00000 n
-0000614535 00000 n
-0000614600 00000 n
-0000614664 00000 n
-0000614729 00000 n
-0000614794 00000 n
-0000614859 00000 n
-0000614924 00000 n
-0000614989 00000 n
-0000615054 00000 n
-0000615119 00000 n
-0000615184 00000 n
-0000615249 00000 n
-0000615314 00000 n
-0000615379 00000 n
-0000615444 00000 n
-0000615509 00000 n
-0000615574 00000 n
-0000615639 00000 n
-0000615704 00000 n
-0000615768 00000 n
-0000615833 00000 n
-0000615898 00000 n
-0000615963 00000 n
-0000616028 00000 n
-0000616092 00000 n
-0000621340 00000 n
-0000618297 00000 n
-0000616360 00000 n
-0000618422 00000 n
-0000618486 00000 n
-0000618551 00000 n
-0000618616 00000 n
-0000618681 00000 n
-0000618745 00000 n
-0000618810 00000 n
-0000618875 00000 n
-0000618940 00000 n
-0000619005 00000 n
-0000619070 00000 n
-0000619135 00000 n
-0000619200 00000 n
-0000619265 00000 n
-0000619330 00000 n
-0000619394 00000 n
-0000619459 00000 n
-0000619524 00000 n
-0000619589 00000 n
-0000619654 00000 n
-0000619718 00000 n
-0000619783 00000 n
-0000619848 00000 n
-0000619913 00000 n
-0000619978 00000 n
-0000620043 00000 n
-0000620108 00000 n
-0000620173 00000 n
-0000620238 00000 n
-0000620303 00000 n
-0000620368 00000 n
-0000620433 00000 n
-0000620498 00000 n
-0000620563 00000 n
-0000620628 00000 n
-0000620693 00000 n
-0000620758 00000 n
-0000620823 00000 n
-0000620888 00000 n
-0000620952 00000 n
-0000621017 00000 n
-0000621082 00000 n
-0000621147 00000 n
-0000621212 00000 n
-0000621276 00000 n
-0001860996 00000 n
-0000625366 00000 n
-0000623167 00000 n
-0000621517 00000 n
-0000623292 00000 n
-0000623356 00000 n
-0000623421 00000 n
-0000623486 00000 n
-0000623551 00000 n
-0000623616 00000 n
-0000623743 00000 n
-0000623808 00000 n
-0000623873 00000 n
-0000623937 00000 n
-0000624002 00000 n
-0000624067 00000 n
-0000624132 00000 n
-0000624197 00000 n
-0000624262 00000 n
-0000624327 00000 n
-0000624392 00000 n
-0000624457 00000 n
-0000624522 00000 n
-0000624587 00000 n
-0000624652 00000 n
-0000624717 00000 n
-0000624782 00000 n
-0000624847 00000 n
-0000624912 00000 n
-0000624977 00000 n
-0000625042 00000 n
-0000625106 00000 n
-0000625171 00000 n
-0000625236 00000 n
-0000625301 00000 n
-0000631175 00000 n
-0000628003 00000 n
-0000625569 00000 n
-0000628128 00000 n
-0000628192 00000 n
-0000628257 00000 n
-0000628321 00000 n
-0000628386 00000 n
-0000628451 00000 n
-0000628516 00000 n
-0000628581 00000 n
-0000628646 00000 n
-0000628711 00000 n
-0000628776 00000 n
-0000628841 00000 n
-0000628905 00000 n
-0000628970 00000 n
-0000629035 00000 n
-0000629100 00000 n
-0000629165 00000 n
-0000629230 00000 n
-0000629295 00000 n
-0000629360 00000 n
-0000629425 00000 n
-0000629490 00000 n
-0000629555 00000 n
-0000629620 00000 n
-0000629685 00000 n
-0000629750 00000 n
-0000629815 00000 n
-0000629880 00000 n
-0000629945 00000 n
-0000630009 00000 n
-0000630074 00000 n
-0000630139 00000 n
-0000630204 00000 n
-0000630269 00000 n
-0000630334 00000 n
-0000630399 00000 n
-0000630464 00000 n
-0000630528 00000 n
-0000630593 00000 n
-0000630657 00000 n
-0000630722 00000 n
-0000630787 00000 n
-0000630852 00000 n
-0000630917 00000 n
-0000630982 00000 n
-0000631047 00000 n
-0000631111 00000 n
-0000637031 00000 n
-0000633404 00000 n
-0000631352 00000 n
-0000633529 00000 n
-0000633593 00000 n
-0000633658 00000 n
-0000633723 00000 n
-0000633788 00000 n
-0000633853 00000 n
-0000633918 00000 n
-0000633983 00000 n
-0000634047 00000 n
-0000634112 00000 n
-0000634177 00000 n
-0000634242 00000 n
-0000634307 00000 n
-0000634372 00000 n
-0000634437 00000 n
-0000634502 00000 n
-0000634567 00000 n
-0000634632 00000 n
-0000634696 00000 n
-0000634761 00000 n
-0000634826 00000 n
-0000634891 00000 n
-0000634956 00000 n
-0000635021 00000 n
-0000635086 00000 n
-0000635151 00000 n
-0000635216 00000 n
-0000635280 00000 n
-0000635345 00000 n
-0000635410 00000 n
-0000635475 00000 n
-0000635540 00000 n
-0000635605 00000 n
-0000635670 00000 n
-0000635735 00000 n
-0000635800 00000 n
-0000635864 00000 n
-0000635929 00000 n
-0000635994 00000 n
-0000636059 00000 n
-0000636124 00000 n
-0000636189 00000 n
-0000636254 00000 n
-0000636319 00000 n
-0000636384 00000 n
-0000636449 00000 n
-0000636514 00000 n
-0000636579 00000 n
-0000636644 00000 n
-0000636709 00000 n
-0000636773 00000 n
-0000636838 00000 n
-0000636903 00000 n
-0000636967 00000 n
-0000642636 00000 n
-0000639268 00000 n
-0000637234 00000 n
-0000639393 00000 n
-0000639457 00000 n
-0000639522 00000 n
-0000639587 00000 n
-0000639652 00000 n
-0000639717 00000 n
-0000639782 00000 n
-0000639847 00000 n
-0000639911 00000 n
-0000639976 00000 n
-0000640041 00000 n
-0000640106 00000 n
-0000640171 00000 n
-0000640236 00000 n
-0000640301 00000 n
-0000640366 00000 n
-0000640431 00000 n
-0000640496 00000 n
-0000640560 00000 n
-0000640625 00000 n
-0000640690 00000 n
-0000640755 00000 n
-0000640820 00000 n
-0000640885 00000 n
-0000640950 00000 n
-0000641015 00000 n
-0000641080 00000 n
-0000641145 00000 n
-0000641210 00000 n
-0000641275 00000 n
-0000641340 00000 n
-0000641405 00000 n
-0000641470 00000 n
-0000641535 00000 n
-0000641600 00000 n
-0000641665 00000 n
-0000641730 00000 n
-0000641795 00000 n
-0000641860 00000 n
-0000641925 00000 n
-0000641989 00000 n
-0000642054 00000 n
-0000642119 00000 n
-0000642184 00000 n
-0000642249 00000 n
-0000642314 00000 n
-0000642379 00000 n
-0000642444 00000 n
-0000642509 00000 n
-0000642572 00000 n
-0000648644 00000 n
-0000644432 00000 n
-0000642800 00000 n
-0000644557 00000 n
-0000644621 00000 n
-0000644686 00000 n
-0000644751 00000 n
-0000644816 00000 n
-0000644881 00000 n
-0000644946 00000 n
-0000645011 00000 n
-0000645076 00000 n
-0000645141 00000 n
-0000645205 00000 n
-0000645270 00000 n
-0000645335 00000 n
-0000645400 00000 n
-0000645465 00000 n
-0000645530 00000 n
-0000645595 00000 n
-0000645660 00000 n
-0000645725 00000 n
-0000645789 00000 n
-0000645854 00000 n
-0000645919 00000 n
-0000645984 00000 n
-0000646049 00000 n
-0000646114 00000 n
-0000646179 00000 n
-0000646244 00000 n
-0000646309 00000 n
-0000646374 00000 n
-0000646438 00000 n
-0000646503 00000 n
-0000646568 00000 n
-0000646633 00000 n
-0000646698 00000 n
-0000646763 00000 n
-0000646828 00000 n
-0000646893 00000 n
-0000646958 00000 n
-0000647022 00000 n
-0000647087 00000 n
-0000647152 00000 n
-0000647217 00000 n
-0000647282 00000 n
-0000647347 00000 n
-0000647412 00000 n
-0000647477 00000 n
-0000647542 00000 n
-0000647607 00000 n
-0000647672 00000 n
-0000647737 00000 n
-0000647802 00000 n
-0000647867 00000 n
-0000647932 00000 n
-0000647997 00000 n
-0000648062 00000 n
-0000648127 00000 n
-0000648192 00000 n
-0000648256 00000 n
-0000648321 00000 n
-0000648386 00000 n
-0000648451 00000 n
-0000648516 00000 n
-0000648580 00000 n
-0000654379 00000 n
-0000651081 00000 n
-0000648795 00000 n
-0000651206 00000 n
-0000651270 00000 n
-0000651335 00000 n
-0000651400 00000 n
-0000651465 00000 n
-0000651530 00000 n
-0000651595 00000 n
-0000651660 00000 n
-0000651725 00000 n
-0000651790 00000 n
-0000651854 00000 n
-0000651919 00000 n
-0000651984 00000 n
-0000652049 00000 n
-0000652114 00000 n
-0000652179 00000 n
-0000652244 00000 n
-0000652309 00000 n
-0000652374 00000 n
-0000652438 00000 n
-0000652503 00000 n
-0000652568 00000 n
-0000652633 00000 n
-0000652698 00000 n
-0000652763 00000 n
-0000652828 00000 n
-0000652893 00000 n
-0000652958 00000 n
-0000653021 00000 n
-0000653086 00000 n
-0000653151 00000 n
-0000653216 00000 n
-0000653281 00000 n
-0000653346 00000 n
-0000653411 00000 n
-0000653476 00000 n
-0000653541 00000 n
-0000653605 00000 n
-0000653670 00000 n
-0000653797 00000 n
-0000653862 00000 n
-0000653927 00000 n
-0000653991 00000 n
-0000654056 00000 n
-0000654121 00000 n
-0000654186 00000 n
-0000654251 00000 n
-0000654315 00000 n
-0000660022 00000 n
-0000656071 00000 n
-0000654595 00000 n
-0000656196 00000 n
-0000656260 00000 n
-0000656325 00000 n
-0000656390 00000 n
-0000656455 00000 n
-0000656520 00000 n
-0000656585 00000 n
-0000656650 00000 n
-0000656715 00000 n
-0000656780 00000 n
-0000656844 00000 n
-0000656909 00000 n
-0000656974 00000 n
-0000657039 00000 n
-0000657104 00000 n
-0000657168 00000 n
-0000657233 00000 n
-0000657298 00000 n
-0000657363 00000 n
-0000657428 00000 n
-0000657493 00000 n
-0000657558 00000 n
-0000657623 00000 n
-0000657688 00000 n
-0000657752 00000 n
-0000657817 00000 n
-0000657882 00000 n
-0000657947 00000 n
-0000658012 00000 n
-0000658077 00000 n
-0000658142 00000 n
-0000658207 00000 n
-0000658272 00000 n
-0000658337 00000 n
-0000658402 00000 n
-0000658467 00000 n
-0000658532 00000 n
-0000658597 00000 n
-0000658661 00000 n
-0000658726 00000 n
-0000658791 00000 n
-0000658856 00000 n
-0000658921 00000 n
-0000658986 00000 n
-0000659051 00000 n
-0000659116 00000 n
-0000659181 00000 n
-0000659245 00000 n
-0000659310 00000 n
-0000659375 00000 n
-0000659440 00000 n
-0000659505 00000 n
-0000659570 00000 n
-0000659634 00000 n
-0000659699 00000 n
-0000659764 00000 n
-0000659829 00000 n
-0000659894 00000 n
-0000659958 00000 n
-0000665623 00000 n
-0000661931 00000 n
-0000660173 00000 n
-0000662056 00000 n
-0000662120 00000 n
-0000662185 00000 n
-0000662250 00000 n
-0000662315 00000 n
-0000662380 00000 n
-0000662445 00000 n
-0000662510 00000 n
-0000662575 00000 n
-0000662640 00000 n
-0000662704 00000 n
-0000662769 00000 n
-0000662834 00000 n
-0000662899 00000 n
-0000662964 00000 n
-0000663029 00000 n
-0000663094 00000 n
-0000663159 00000 n
-0000663224 00000 n
-0000663289 00000 n
-0000663354 00000 n
-0000663419 00000 n
-0000663484 00000 n
-0000663549 00000 n
-0000663614 00000 n
-0000663679 00000 n
-0000663742 00000 n
-0000663807 00000 n
-0000663872 00000 n
-0000663937 00000 n
-0000664002 00000 n
-0000664067 00000 n
-0000664132 00000 n
-0000664197 00000 n
-0000664262 00000 n
-0000664326 00000 n
-0000664391 00000 n
-0000664456 00000 n
-0000664521 00000 n
-0000664586 00000 n
-0000664651 00000 n
-0000664716 00000 n
-0000664781 00000 n
-0000664846 00000 n
-0000664910 00000 n
-0000664975 00000 n
-0000665040 00000 n
-0000665105 00000 n
-0000665170 00000 n
-0000665234 00000 n
-0000665299 00000 n
-0000665364 00000 n
-0000665429 00000 n
-0000665494 00000 n
-0000665559 00000 n
-0000671457 00000 n
-0000668154 00000 n
-0000665787 00000 n
-0000668279 00000 n
-0000668343 00000 n
-0000668408 00000 n
-0000668473 00000 n
-0000668538 00000 n
-0000668603 00000 n
-0000668668 00000 n
-0000668733 00000 n
-0000668796 00000 n
-0000668861 00000 n
-0000668926 00000 n
-0000668991 00000 n
-0000669056 00000 n
-0000669121 00000 n
-0000669186 00000 n
-0000669251 00000 n
-0000669316 00000 n
-0000669381 00000 n
-0000669446 00000 n
-0000669511 00000 n
-0000669576 00000 n
-0000669641 00000 n
-0000669706 00000 n
-0000669771 00000 n
-0000669836 00000 n
-0000669901 00000 n
-0000669966 00000 n
-0000670031 00000 n
-0000670095 00000 n
-0000670160 00000 n
-0000670225 00000 n
-0000670290 00000 n
-0000670355 00000 n
-0000670420 00000 n
-0000670485 00000 n
-0000670550 00000 n
-0000670615 00000 n
-0000670679 00000 n
-0000670744 00000 n
-0000670809 00000 n
-0000670874 00000 n
-0000670939 00000 n
-0000671004 00000 n
-0000671069 00000 n
-0000671134 00000 n
-0000671199 00000 n
-0000671263 00000 n
-0000671328 00000 n
-0000671393 00000 n
-0000677249 00000 n
-0000673490 00000 n
-0000671634 00000 n
-0000673615 00000 n
-0000673679 00000 n
-0000673744 00000 n
-0000673809 00000 n
-0000673874 00000 n
-0000673939 00000 n
-0000674004 00000 n
-0000674069 00000 n
-0000674133 00000 n
-0000674198 00000 n
-0000674263 00000 n
-0000674328 00000 n
-0000674393 00000 n
-0000674458 00000 n
-0000674523 00000 n
-0000674588 00000 n
-0000674653 00000 n
-0000674717 00000 n
-0000674782 00000 n
-0000674847 00000 n
-0000674912 00000 n
-0000674977 00000 n
-0000675042 00000 n
-0000675107 00000 n
-0000675172 00000 n
-0000675237 00000 n
-0000675301 00000 n
-0000675366 00000 n
-0000675431 00000 n
-0000675496 00000 n
-0000675561 00000 n
-0000675626 00000 n
-0000675691 00000 n
-0000675756 00000 n
-0000675821 00000 n
-0000675885 00000 n
-0000675950 00000 n
-0000676015 00000 n
-0000676080 00000 n
-0000676145 00000 n
-0000676210 00000 n
-0000676275 00000 n
-0000676340 00000 n
-0000676405 00000 n
-0000676470 00000 n
-0000676535 00000 n
-0000676600 00000 n
-0000676665 00000 n
-0000676730 00000 n
-0000676795 00000 n
-0000676860 00000 n
-0000676925 00000 n
-0000676990 00000 n
-0000677055 00000 n
-0000677120 00000 n
-0000677184 00000 n
-0001861161 00000 n
-0000682992 00000 n
-0000679103 00000 n
-0000677413 00000 n
-0000679228 00000 n
-0000679292 00000 n
-0000679357 00000 n
-0000679422 00000 n
-0000679487 00000 n
-0000679552 00000 n
-0000679617 00000 n
-0000679682 00000 n
-0000679747 00000 n
-0000679812 00000 n
-0000679877 00000 n
-0000679942 00000 n
-0000680007 00000 n
-0000680071 00000 n
-0000680136 00000 n
-0000680201 00000 n
-0000680266 00000 n
-0000680331 00000 n
-0000680396 00000 n
-0000680461 00000 n
-0000680526 00000 n
-0000680591 00000 n
-0000680655 00000 n
-0000680720 00000 n
-0000680785 00000 n
-0000680850 00000 n
-0000680915 00000 n
-0000680980 00000 n
-0000681045 00000 n
-0000681110 00000 n
-0000681175 00000 n
-0000681240 00000 n
-0000681305 00000 n
-0000681370 00000 n
-0000681435 00000 n
-0000681500 00000 n
-0000681565 00000 n
-0000681630 00000 n
-0000681695 00000 n
-0000681760 00000 n
-0000681825 00000 n
-0000681890 00000 n
-0000681955 00000 n
-0000682020 00000 n
-0000682085 00000 n
-0000682150 00000 n
-0000682215 00000 n
-0000682280 00000 n
-0000682345 00000 n
-0000682410 00000 n
-0000682475 00000 n
-0000682540 00000 n
-0000682604 00000 n
-0000682669 00000 n
-0000682734 00000 n
-0000682799 00000 n
-0000682864 00000 n
-0000682928 00000 n
-0000688266 00000 n
-0000685354 00000 n
-0000683143 00000 n
-0000685479 00000 n
-0000685543 00000 n
-0000685608 00000 n
-0000685673 00000 n
-0000685738 00000 n
-0000685803 00000 n
-0000685868 00000 n
-0000685933 00000 n
-0000685998 00000 n
-0000686063 00000 n
-0000686127 00000 n
-0000686192 00000 n
-0000686257 00000 n
-0000686322 00000 n
-0000686387 00000 n
-0000686452 00000 n
-0000686517 00000 n
-0000686582 00000 n
-0000686646 00000 n
-0000686711 00000 n
-0000686776 00000 n
-0000686841 00000 n
-0000686906 00000 n
-0000686971 00000 n
-0000687036 00000 n
-0000687101 00000 n
-0000687165 00000 n
-0000687230 00000 n
-0000687295 00000 n
-0000687360 00000 n
-0000687425 00000 n
-0000687490 00000 n
-0000687555 00000 n
-0000687620 00000 n
-0000687685 00000 n
-0000687750 00000 n
-0000687815 00000 n
-0000687880 00000 n
-0000687945 00000 n
-0000688010 00000 n
-0000688074 00000 n
-0000688139 00000 n
-0000691346 00000 n
-0000694420 00000 n
-0000691173 00000 n
-0000688456 00000 n
-0000691504 00000 n
-0000691568 00000 n
-0000691633 00000 n
-0000691698 00000 n
-0000691762 00000 n
-0000691827 00000 n
-0000691892 00000 n
-0000691957 00000 n
-0000692022 00000 n
-0000692087 00000 n
-0000692152 00000 n
-0000692217 00000 n
-0000692282 00000 n
-0000692346 00000 n
-0000692411 00000 n
-0000692476 00000 n
-0000692541 00000 n
-0000692606 00000 n
-0000692671 00000 n
-0000692736 00000 n
-0000692801 00000 n
-0000692866 00000 n
-0000692930 00000 n
-0000692995 00000 n
-0000693060 00000 n
-0000693125 00000 n
-0000693190 00000 n
-0000693255 00000 n
-0000693320 00000 n
-0000693385 00000 n
-0000693450 00000 n
-0000693515 00000 n
-0000693580 00000 n
-0000693644 00000 n
-0000693709 00000 n
-0000693774 00000 n
-0000693839 00000 n
-0000693904 00000 n
-0000693968 00000 n
-0000694032 00000 n
-0000694097 00000 n
-0000694162 00000 n
-0000694227 00000 n
-0000694292 00000 n
-0000694356 00000 n
-0000691315 00000 n
-0000699061 00000 n
-0000697056 00000 n
-0000694675 00000 n
-0000697181 00000 n
-0000697245 00000 n
-0000697310 00000 n
-0000697375 00000 n
-0000697440 00000 n
-0000697505 00000 n
-0000697570 00000 n
-0000697635 00000 n
-0000697699 00000 n
-0000697764 00000 n
-0000697829 00000 n
-0000697894 00000 n
-0000697959 00000 n
-0000698024 00000 n
-0000698089 00000 n
-0000698216 00000 n
-0000698281 00000 n
-0000698346 00000 n
-0000698411 00000 n
-0000698476 00000 n
-0000698541 00000 n
-0000698606 00000 n
-0000698671 00000 n
-0000698736 00000 n
-0000698801 00000 n
-0000698866 00000 n
-0000698931 00000 n
-0000698996 00000 n
-0000704847 00000 n
-0000701154 00000 n
-0000699251 00000 n
-0000701279 00000 n
-0000701343 00000 n
-0000701408 00000 n
-0000701473 00000 n
-0000701538 00000 n
-0000701603 00000 n
-0000701668 00000 n
-0000701733 00000 n
-0000701798 00000 n
-0000701863 00000 n
-0000701927 00000 n
-0000701992 00000 n
-0000702057 00000 n
-0000702122 00000 n
-0000702187 00000 n
-0000702252 00000 n
-0000702317 00000 n
-0000702382 00000 n
-0000702447 00000 n
-0000702511 00000 n
-0000702576 00000 n
-0000702641 00000 n
-0000702706 00000 n
-0000702771 00000 n
-0000702836 00000 n
-0000702901 00000 n
-0000702964 00000 n
-0000703029 00000 n
-0000703094 00000 n
-0000703159 00000 n
-0000703224 00000 n
-0000703289 00000 n
-0000703354 00000 n
-0000703419 00000 n
-0000703484 00000 n
-0000703549 00000 n
-0000703614 00000 n
-0000703679 00000 n
-0000703744 00000 n
-0000703809 00000 n
-0000703874 00000 n
-0000703939 00000 n
-0000704004 00000 n
-0000704069 00000 n
-0000704134 00000 n
-0000704199 00000 n
-0000704264 00000 n
-0000704328 00000 n
-0000704393 00000 n
-0000704458 00000 n
-0000704523 00000 n
-0000704588 00000 n
-0000704653 00000 n
-0000704718 00000 n
-0000704783 00000 n
-0000710155 00000 n
-0000706659 00000 n
-0000705024 00000 n
-0000706784 00000 n
-0000706848 00000 n
-0000706913 00000 n
-0000706978 00000 n
-0000707043 00000 n
-0000707108 00000 n
-0000707173 00000 n
-0000707238 00000 n
-0000707303 00000 n
-0000707368 00000 n
-0000707432 00000 n
-0000707497 00000 n
-0000707562 00000 n
-0000707627 00000 n
-0000707692 00000 n
-0000707757 00000 n
-0000707822 00000 n
-0000707887 00000 n
-0000707952 00000 n
-0000708017 00000 n
-0000708082 00000 n
-0000708147 00000 n
-0000708211 00000 n
-0000708276 00000 n
-0000708340 00000 n
-0000708405 00000 n
-0000708470 00000 n
-0000708535 00000 n
-0000708600 00000 n
-0000708665 00000 n
-0000708730 00000 n
-0000708795 00000 n
-0000708860 00000 n
-0000708925 00000 n
-0000708990 00000 n
-0000709055 00000 n
-0000709119 00000 n
-0000709184 00000 n
-0000709249 00000 n
-0000709314 00000 n
-0000709379 00000 n
-0000709444 00000 n
-0000709509 00000 n
-0000709574 00000 n
-0000709639 00000 n
-0000709703 00000 n
-0000709768 00000 n
-0000709833 00000 n
-0000709898 00000 n
-0000709963 00000 n
-0000710028 00000 n
-0000715082 00000 n
-0000713530 00000 n
-0000710319 00000 n
-0000713655 00000 n
-0000713719 00000 n
-0000713784 00000 n
-0000713849 00000 n
-0000713914 00000 n
-0000713977 00000 n
-0000714042 00000 n
-0000714107 00000 n
-0000714172 00000 n
-0000714237 00000 n
-0000714302 00000 n
-0000714367 00000 n
-0000714432 00000 n
-0000714497 00000 n
-0000714562 00000 n
-0000714627 00000 n
-0000714692 00000 n
-0000714757 00000 n
-0000714822 00000 n
-0000714887 00000 n
-0000714952 00000 n
-0000715017 00000 n
-0000721022 00000 n
-0000717721 00000 n
-0000715337 00000 n
-0000717846 00000 n
-0000717910 00000 n
-0000717975 00000 n
-0000718040 00000 n
-0000718105 00000 n
-0000718170 00000 n
-0000718235 00000 n
-0000718300 00000 n
-0000718365 00000 n
-0000718430 00000 n
-0000718495 00000 n
-0000718558 00000 n
-0000718623 00000 n
-0000718688 00000 n
-0000718753 00000 n
-0000718818 00000 n
-0000718883 00000 n
-0000718948 00000 n
-0000719013 00000 n
-0000719078 00000 n
-0000719142 00000 n
-0000719207 00000 n
-0000719272 00000 n
-0000719337 00000 n
-0000719402 00000 n
-0000719467 00000 n
-0000719532 00000 n
-0000719597 00000 n
-0000719662 00000 n
-0000719726 00000 n
-0000719791 00000 n
-0000719856 00000 n
-0000719921 00000 n
-0000719986 00000 n
-0000720051 00000 n
-0000720116 00000 n
-0000720181 00000 n
-0000720246 00000 n
-0000720310 00000 n
-0000720375 00000 n
-0000720440 00000 n
-0000720505 00000 n
-0000720570 00000 n
-0000720634 00000 n
-0000720699 00000 n
-0000720764 00000 n
-0000720829 00000 n
-0000720894 00000 n
-0000720958 00000 n
-0000726381 00000 n
-0000723208 00000 n
-0000721225 00000 n
-0000723333 00000 n
-0000723397 00000 n
-0000723462 00000 n
-0000723527 00000 n
-0000723592 00000 n
-0000723657 00000 n
-0000723722 00000 n
-0000723787 00000 n
-0000723852 00000 n
-0000723917 00000 n
-0000723981 00000 n
-0000724046 00000 n
-0000724111 00000 n
-0000724176 00000 n
-0000724241 00000 n
-0000724306 00000 n
-0000724371 00000 n
-0000724436 00000 n
-0000724501 00000 n
-0000724566 00000 n
-0000724631 00000 n
-0000724696 00000 n
-0000724761 00000 n
-0000724826 00000 n
-0000724890 00000 n
-0000724955 00000 n
-0000725020 00000 n
-0000725085 00000 n
-0000725150 00000 n
-0000725215 00000 n
-0000725280 00000 n
-0000725345 00000 n
-0000725409 00000 n
-0000725474 00000 n
-0000725539 00000 n
-0000725604 00000 n
-0000725669 00000 n
-0000725734 00000 n
-0000725799 00000 n
-0000725864 00000 n
-0000725929 00000 n
-0000725994 00000 n
-0000726059 00000 n
-0000726124 00000 n
-0000726188 00000 n
-0000726253 00000 n
-0000726317 00000 n
-0000731531 00000 n
-0000728162 00000 n
-0000726545 00000 n
-0000728287 00000 n
-0000728351 00000 n
-0000728416 00000 n
-0000728481 00000 n
-0000728546 00000 n
-0000728611 00000 n
-0000728676 00000 n
-0000728741 00000 n
-0000728806 00000 n
-0000728871 00000 n
-0000728936 00000 n
-0000729001 00000 n
-0000729066 00000 n
-0000729131 00000 n
-0000729196 00000 n
-0000729261 00000 n
-0000729326 00000 n
-0000729391 00000 n
-0000729456 00000 n
-0000729520 00000 n
-0000729585 00000 n
-0000729650 00000 n
-0000729715 00000 n
-0000729780 00000 n
-0000729845 00000 n
-0000729910 00000 n
-0000729975 00000 n
-0000730040 00000 n
-0000730105 00000 n
-0000730170 00000 n
-0000730235 00000 n
-0000730300 00000 n
-0000730365 00000 n
-0000730429 00000 n
-0000730494 00000 n
-0000730559 00000 n
-0000730624 00000 n
-0000730689 00000 n
-0000730753 00000 n
-0000730818 00000 n
-0000730883 00000 n
-0000730948 00000 n
-0000731013 00000 n
-0000731078 00000 n
-0000731143 00000 n
-0000731208 00000 n
-0000731273 00000 n
-0000731338 00000 n
-0000731403 00000 n
-0000731467 00000 n
-0001861326 00000 n
-0000736887 00000 n
-0000734101 00000 n
-0000731695 00000 n
-0000734226 00000 n
-0000734290 00000 n
-0000734355 00000 n
-0000734420 00000 n
-0000734485 00000 n
-0000734550 00000 n
-0000734615 00000 n
-0000734680 00000 n
-0000734745 00000 n
-0000734810 00000 n
-0000734874 00000 n
-0000734939 00000 n
-0000735004 00000 n
-0000735069 00000 n
-0000735134 00000 n
-0000735199 00000 n
-0000735264 00000 n
-0000735329 00000 n
-0000735394 00000 n
-0000735458 00000 n
-0000735523 00000 n
-0000735588 00000 n
-0000735653 00000 n
-0000735718 00000 n
-0000735782 00000 n
-0000735847 00000 n
-0000735912 00000 n
-0000735977 00000 n
-0000736042 00000 n
-0000736107 00000 n
-0000736172 00000 n
-0000736237 00000 n
-0000736302 00000 n
-0000736367 00000 n
-0000736432 00000 n
-0000736497 00000 n
-0000736562 00000 n
-0000736627 00000 n
-0000736692 00000 n
-0000736757 00000 n
-0000736822 00000 n
-0000742842 00000 n
-0000739410 00000 n
-0000737090 00000 n
-0000739535 00000 n
-0000739599 00000 n
-0000739664 00000 n
-0000739728 00000 n
-0000739793 00000 n
-0000739858 00000 n
-0000739923 00000 n
-0000739988 00000 n
-0000740053 00000 n
-0000740118 00000 n
-0000740183 00000 n
-0000740248 00000 n
-0000740313 00000 n
-0000740378 00000 n
-0000740443 00000 n
-0000740508 00000 n
-0000740573 00000 n
-0000740638 00000 n
-0000740703 00000 n
-0000740768 00000 n
-0000740833 00000 n
-0000740898 00000 n
-0000740963 00000 n
-0000741028 00000 n
-0000741093 00000 n
-0000741158 00000 n
-0000741223 00000 n
-0000741288 00000 n
-0000741353 00000 n
-0000741417 00000 n
-0000741482 00000 n
-0000741547 00000 n
-0000741611 00000 n
-0000741676 00000 n
-0000741741 00000 n
-0000741806 00000 n
-0000741871 00000 n
-0000741936 00000 n
-0000742001 00000 n
-0000742066 00000 n
-0000742131 00000 n
-0000742195 00000 n
-0000742260 00000 n
-0000742325 00000 n
-0000742390 00000 n
-0000742455 00000 n
-0000742520 00000 n
-0000742585 00000 n
-0000742650 00000 n
-0000742715 00000 n
-0000742778 00000 n
-0000748226 00000 n
-0000745443 00000 n
-0000743019 00000 n
-0000745568 00000 n
-0000745632 00000 n
-0000745697 00000 n
-0000745762 00000 n
-0000745827 00000 n
-0000745892 00000 n
-0000745957 00000 n
-0000746022 00000 n
-0000746087 00000 n
-0000746152 00000 n
-0000746217 00000 n
-0000746282 00000 n
-0000746347 00000 n
-0000746412 00000 n
-0000746477 00000 n
-0000746541 00000 n
-0000746606 00000 n
-0000746671 00000 n
-0000746735 00000 n
-0000746800 00000 n
-0000746865 00000 n
-0000746930 00000 n
-0000746995 00000 n
-0000747060 00000 n
-0000747125 00000 n
-0000747190 00000 n
-0000747255 00000 n
-0000747320 00000 n
-0000747385 00000 n
-0000747450 00000 n
-0000747513 00000 n
-0000747578 00000 n
-0000747643 00000 n
-0000747708 00000 n
-0000747773 00000 n
-0000747838 00000 n
-0000747903 00000 n
-0000747968 00000 n
-0000748033 00000 n
-0000748098 00000 n
-0000748162 00000 n
-0000754014 00000 n
-0000750261 00000 n
-0000748416 00000 n
-0000750386 00000 n
-0000750450 00000 n
-0000750515 00000 n
-0000750580 00000 n
-0000750645 00000 n
-0000750710 00000 n
-0000750775 00000 n
-0000750840 00000 n
-0000750905 00000 n
-0000750970 00000 n
-0000751034 00000 n
-0000751099 00000 n
-0000751162 00000 n
-0000751227 00000 n
-0000751292 00000 n
-0000751356 00000 n
-0000751421 00000 n
-0000751486 00000 n
-0000751551 00000 n
-0000751616 00000 n
-0000751681 00000 n
-0000751746 00000 n
-0000751811 00000 n
-0000751876 00000 n
-0000751940 00000 n
-0000752005 00000 n
-0000752070 00000 n
-0000752135 00000 n
-0000752200 00000 n
-0000752265 00000 n
-0000752330 00000 n
-0000752395 00000 n
-0000752460 00000 n
-0000752524 00000 n
-0000752589 00000 n
-0000752654 00000 n
-0000752718 00000 n
-0000752783 00000 n
-0000752848 00000 n
-0000752913 00000 n
-0000752978 00000 n
-0000753043 00000 n
-0000753108 00000 n
-0000753173 00000 n
-0000753238 00000 n
-0000753303 00000 n
-0000753368 00000 n
-0000753432 00000 n
-0000753497 00000 n
-0000753562 00000 n
-0000753627 00000 n
-0000753692 00000 n
-0000753757 00000 n
-0000753822 00000 n
-0000753887 00000 n
-0000753951 00000 n
-0000759792 00000 n
-0000756230 00000 n
-0000754191 00000 n
-0000756355 00000 n
-0000756419 00000 n
-0000756484 00000 n
-0000756549 00000 n
-0000756614 00000 n
-0000756679 00000 n
-0000756744 00000 n
-0000756809 00000 n
-0000756874 00000 n
-0000756939 00000 n
-0000757004 00000 n
-0000757069 00000 n
-0000757133 00000 n
-0000757198 00000 n
-0000757263 00000 n
-0000757328 00000 n
-0000757393 00000 n
-0000757458 00000 n
-0000757523 00000 n
-0000757588 00000 n
-0000757653 00000 n
-0000757718 00000 n
-0000757783 00000 n
-0000757848 00000 n
-0000757913 00000 n
-0000757978 00000 n
-0000758043 00000 n
-0000758108 00000 n
-0000758173 00000 n
-0000758238 00000 n
-0000758303 00000 n
-0000758367 00000 n
-0000758432 00000 n
-0000758496 00000 n
-0000758561 00000 n
-0000758626 00000 n
-0000758691 00000 n
-0000758756 00000 n
-0000758821 00000 n
-0000758886 00000 n
-0000758951 00000 n
-0000759016 00000 n
-0000759081 00000 n
-0000759145 00000 n
-0000759210 00000 n
-0000759275 00000 n
-0000759340 00000 n
-0000759405 00000 n
-0000759470 00000 n
-0000759535 00000 n
-0000759600 00000 n
-0000759665 00000 n
-0000759728 00000 n
-0000765537 00000 n
-0000762430 00000 n
-0000759969 00000 n
-0000762555 00000 n
-0000762619 00000 n
-0000762684 00000 n
-0000762749 00000 n
-0000762814 00000 n
-0000762879 00000 n
-0000762944 00000 n
-0000763009 00000 n
-0000763074 00000 n
-0000763139 00000 n
-0000763203 00000 n
-0000763268 00000 n
-0000763333 00000 n
-0000763398 00000 n
-0000763463 00000 n
-0000763528 00000 n
-0000763593 00000 n
-0000763658 00000 n
-0000763721 00000 n
-0000763786 00000 n
-0000763851 00000 n
-0000763916 00000 n
-0000763981 00000 n
-0000764046 00000 n
-0000764111 00000 n
-0000764176 00000 n
-0000764241 00000 n
-0000764305 00000 n
-0000764370 00000 n
-0000764435 00000 n
-0000764500 00000 n
-0000764565 00000 n
-0000764630 00000 n
-0000764695 00000 n
-0000764760 00000 n
-0000764825 00000 n
-0000764889 00000 n
-0000764954 00000 n
-0000765019 00000 n
-0000765083 00000 n
-0000765148 00000 n
-0000765213 00000 n
-0000765278 00000 n
-0000765343 00000 n
-0000765408 00000 n
-0000765473 00000 n
-0000770841 00000 n
-0000768511 00000 n
-0000765714 00000 n
-0000768636 00000 n
-0000768700 00000 n
-0000768765 00000 n
-0000768829 00000 n
-0000768894 00000 n
-0000768959 00000 n
-0000769024 00000 n
-0000769089 00000 n
-0000769154 00000 n
-0000769219 00000 n
-0000769284 00000 n
-0000769349 00000 n
-0000769413 00000 n
-0000769478 00000 n
-0000769543 00000 n
-0000769608 00000 n
-0000769673 00000 n
-0000769738 00000 n
-0000769803 00000 n
-0000769868 00000 n
-0000769933 00000 n
-0000769998 00000 n
-0000770063 00000 n
-0000770128 00000 n
-0000770192 00000 n
-0000770257 00000 n
-0000770322 00000 n
-0000770387 00000 n
-0000770452 00000 n
-0000770517 00000 n
-0000770582 00000 n
-0000770646 00000 n
-0000770711 00000 n
-0000770776 00000 n
-0000776026 00000 n
-0000773438 00000 n
-0000771018 00000 n
-0000773563 00000 n
-0000773627 00000 n
-0000773692 00000 n
-0000773757 00000 n
-0000773822 00000 n
-0000773887 00000 n
-0000773952 00000 n
-0000774017 00000 n
-0000774082 00000 n
-0000774147 00000 n
-0000774211 00000 n
-0000774276 00000 n
-0000774341 00000 n
-0000774406 00000 n
-0000774471 00000 n
-0000774536 00000 n
-0000774601 00000 n
-0000774666 00000 n
-0000774730 00000 n
-0000774795 00000 n
-0000774860 00000 n
-0000774925 00000 n
-0000774990 00000 n
-0000775055 00000 n
-0000775120 00000 n
-0000775184 00000 n
-0000775249 00000 n
-0000775314 00000 n
-0000775378 00000 n
-0000775443 00000 n
-0000775508 00000 n
-0000775573 00000 n
-0000775638 00000 n
-0000775703 00000 n
-0000775768 00000 n
-0000775833 00000 n
-0000775896 00000 n
-0000775961 00000 n
-0000781234 00000 n
-0000778583 00000 n
-0000776216 00000 n
-0000778708 00000 n
-0000778772 00000 n
-0000778837 00000 n
-0000778902 00000 n
-0000778967 00000 n
-0000779032 00000 n
-0000779097 00000 n
-0000779162 00000 n
-0000779227 00000 n
-0000779292 00000 n
-0000779356 00000 n
-0000779421 00000 n
-0000779486 00000 n
-0000779551 00000 n
-0000779616 00000 n
-0000779681 00000 n
-0000779746 00000 n
-0000779811 00000 n
-0000779938 00000 n
-0000780003 00000 n
-0000780066 00000 n
-0000780131 00000 n
-0000780196 00000 n
-0000780261 00000 n
-0000780326 00000 n
-0000780391 00000 n
-0000780456 00000 n
-0000780521 00000 n
-0000780586 00000 n
-0000780651 00000 n
-0000780716 00000 n
-0000780781 00000 n
-0000780846 00000 n
-0000780911 00000 n
-0000780976 00000 n
-0000781041 00000 n
-0000781106 00000 n
-0000781170 00000 n
-0000787024 00000 n
-0000784498 00000 n
-0000781450 00000 n
-0000784623 00000 n
-0000784687 00000 n
-0000784752 00000 n
-0000784817 00000 n
-0000784882 00000 n
-0000784947 00000 n
-0000785012 00000 n
-0000785077 00000 n
-0000785142 00000 n
-0000785207 00000 n
-0000785272 00000 n
-0000785337 00000 n
-0000785402 00000 n
-0000785467 00000 n
-0000785532 00000 n
-0000785596 00000 n
-0000785661 00000 n
-0000785726 00000 n
-0000785791 00000 n
-0000785856 00000 n
-0000785921 00000 n
-0000785986 00000 n
-0000786051 00000 n
-0000786116 00000 n
-0000786181 00000 n
-0000786246 00000 n
-0000786311 00000 n
-0000786376 00000 n
-0000786441 00000 n
-0000786506 00000 n
-0000786571 00000 n
-0000786636 00000 n
-0000786701 00000 n
-0000786766 00000 n
-0000786831 00000 n
-0000786896 00000 n
-0000786960 00000 n
-0001861491 00000 n
-0000792790 00000 n
-0000789811 00000 n
-0000787253 00000 n
-0000789936 00000 n
-0000790000 00000 n
-0000790065 00000 n
-0000790130 00000 n
-0000790195 00000 n
-0000790260 00000 n
-0000790325 00000 n
-0000790390 00000 n
-0000790455 00000 n
-0000790520 00000 n
-0000790585 00000 n
-0000790650 00000 n
-0000790715 00000 n
-0000790780 00000 n
-0000790845 00000 n
-0000790910 00000 n
-0000790975 00000 n
-0000791040 00000 n
-0000791105 00000 n
-0000791170 00000 n
-0000791234 00000 n
-0000791299 00000 n
-0000791364 00000 n
-0000791429 00000 n
-0000791494 00000 n
-0000791559 00000 n
-0000791624 00000 n
-0000791689 00000 n
-0000791754 00000 n
-0000791819 00000 n
-0000791884 00000 n
-0000791949 00000 n
-0000792014 00000 n
-0000792079 00000 n
-0000792144 00000 n
-0000792208 00000 n
-0000792273 00000 n
-0000792338 00000 n
-0000792403 00000 n
-0000792468 00000 n
-0000792533 00000 n
-0000792598 00000 n
-0000792663 00000 n
-0000792727 00000 n
-0000798566 00000 n
-0000794680 00000 n
-0000792980 00000 n
-0000794805 00000 n
-0000794869 00000 n
-0000794934 00000 n
-0000794999 00000 n
-0000795064 00000 n
-0000795129 00000 n
-0000795194 00000 n
-0000795259 00000 n
-0000795324 00000 n
-0000795389 00000 n
-0000795454 00000 n
-0000795519 00000 n
-0000795584 00000 n
-0000795649 00000 n
-0000795712 00000 n
-0000795777 00000 n
-0000795842 00000 n
-0000795907 00000 n
-0000795972 00000 n
-0000796037 00000 n
-0000796102 00000 n
-0000796167 00000 n
-0000796232 00000 n
-0000796297 00000 n
-0000796362 00000 n
-0000796427 00000 n
-0000796492 00000 n
-0000796557 00000 n
-0000796622 00000 n
-0000796687 00000 n
-0000796752 00000 n
-0000796816 00000 n
-0000796881 00000 n
-0000796946 00000 n
-0000797011 00000 n
-0000797076 00000 n
-0000797141 00000 n
-0000797206 00000 n
-0000797271 00000 n
-0000797336 00000 n
-0000797400 00000 n
-0000797465 00000 n
-0000797530 00000 n
-0000797595 00000 n
-0000797660 00000 n
-0000797725 00000 n
-0000797790 00000 n
-0000797855 00000 n
-0000797920 00000 n
-0000797984 00000 n
-0000798049 00000 n
-0000798114 00000 n
-0000798179 00000 n
-0000798244 00000 n
-0000798309 00000 n
-0000798374 00000 n
-0000798439 00000 n
-0000798503 00000 n
-0000804585 00000 n
-0000800570 00000 n
-0000798730 00000 n
-0000800695 00000 n
-0000800759 00000 n
-0000800824 00000 n
-0000800889 00000 n
-0000800954 00000 n
-0000801019 00000 n
-0000801084 00000 n
-0000801149 00000 n
-0000801214 00000 n
-0000801279 00000 n
-0000801343 00000 n
-0000801408 00000 n
-0000801473 00000 n
-0000801538 00000 n
-0000801603 00000 n
-0000801668 00000 n
-0000801733 00000 n
-0000801798 00000 n
-0000801863 00000 n
-0000801927 00000 n
-0000801992 00000 n
-0000802057 00000 n
-0000802122 00000 n
-0000802187 00000 n
-0000802252 00000 n
-0000802317 00000 n
-0000802382 00000 n
-0000802447 00000 n
-0000802510 00000 n
-0000802575 00000 n
-0000802640 00000 n
-0000802705 00000 n
-0000802770 00000 n
-0000802835 00000 n
-0000802900 00000 n
-0000802965 00000 n
-0000803030 00000 n
-0000803094 00000 n
-0000803159 00000 n
-0000803224 00000 n
-0000803289 00000 n
-0000803354 00000 n
-0000803419 00000 n
-0000803484 00000 n
-0000803549 00000 n
-0000803613 00000 n
-0000803678 00000 n
-0000803743 00000 n
-0000803808 00000 n
-0000803873 00000 n
-0000803938 00000 n
-0000804003 00000 n
-0000804068 00000 n
-0000804133 00000 n
-0000804197 00000 n
-0000804262 00000 n
-0000804327 00000 n
-0000804392 00000 n
-0000804457 00000 n
-0000804521 00000 n
-0000810194 00000 n
-0000807084 00000 n
-0000804749 00000 n
-0000807209 00000 n
-0000807273 00000 n
-0000807338 00000 n
-0000807403 00000 n
-0000807468 00000 n
-0000807533 00000 n
-0000807598 00000 n
-0000807663 00000 n
-0000807727 00000 n
-0000807792 00000 n
-0000807857 00000 n
-0000807922 00000 n
-0000807987 00000 n
-0000808052 00000 n
-0000808117 00000 n
-0000808182 00000 n
-0000808247 00000 n
-0000808311 00000 n
-0000808376 00000 n
-0000808441 00000 n
-0000808505 00000 n
-0000808570 00000 n
-0000808635 00000 n
-0000808700 00000 n
-0000808765 00000 n
-0000808830 00000 n
-0000808895 00000 n
-0000808960 00000 n
-0000809025 00000 n
-0000809089 00000 n
-0000809154 00000 n
-0000809219 00000 n
-0000809284 00000 n
-0000809349 00000 n
-0000809414 00000 n
-0000809479 00000 n
-0000809544 00000 n
-0000809609 00000 n
-0000809674 00000 n
-0000809739 00000 n
-0000809804 00000 n
-0000809869 00000 n
-0000809934 00000 n
-0000809999 00000 n
-0000810064 00000 n
-0000810129 00000 n
-0000816175 00000 n
-0000812616 00000 n
-0000810397 00000 n
-0000812741 00000 n
-0000812805 00000 n
-0000812870 00000 n
-0000812934 00000 n
-0000812999 00000 n
-0000813064 00000 n
-0000813129 00000 n
-0000813194 00000 n
-0000813259 00000 n
-0000813324 00000 n
-0000813389 00000 n
-0000813452 00000 n
-0000813517 00000 n
-0000813582 00000 n
-0000813647 00000 n
-0000813712 00000 n
-0000813777 00000 n
-0000813842 00000 n
-0000813905 00000 n
-0000813970 00000 n
-0000814035 00000 n
-0000814100 00000 n
-0000814165 00000 n
-0000814230 00000 n
-0000814295 00000 n
-0000814360 00000 n
-0000814425 00000 n
-0000814489 00000 n
-0000814554 00000 n
-0000814619 00000 n
-0000814684 00000 n
-0000814749 00000 n
-0000814814 00000 n
-0000814879 00000 n
-0000814944 00000 n
-0000815009 00000 n
-0000815074 00000 n
-0000815139 00000 n
-0000815204 00000 n
-0000815269 00000 n
-0000815334 00000 n
-0000815398 00000 n
-0000815463 00000 n
-0000815528 00000 n
-0000815593 00000 n
-0000815658 00000 n
-0000815723 00000 n
-0000815788 00000 n
-0000815853 00000 n
-0000815918 00000 n
-0000815982 00000 n
-0000816047 00000 n
-0000816111 00000 n
-0000822141 00000 n
-0000818124 00000 n
-0000816339 00000 n
-0000818249 00000 n
-0000818313 00000 n
-0000818378 00000 n
-0000818443 00000 n
-0000818508 00000 n
-0000818573 00000 n
-0000818638 00000 n
-0000818703 00000 n
-0000818767 00000 n
-0000818832 00000 n
-0000818897 00000 n
-0000818962 00000 n
-0000819027 00000 n
-0000819092 00000 n
-0000819157 00000 n
-0000819222 00000 n
-0000819287 00000 n
-0000819351 00000 n
-0000819416 00000 n
-0000819481 00000 n
-0000819546 00000 n
-0000819611 00000 n
-0000819676 00000 n
-0000819741 00000 n
-0000819806 00000 n
-0000819871 00000 n
-0000819935 00000 n
-0000820000 00000 n
-0000820065 00000 n
-0000820130 00000 n
-0000820195 00000 n
-0000820260 00000 n
-0000820325 00000 n
-0000820390 00000 n
-0000820455 00000 n
-0000820519 00000 n
-0000820584 00000 n
-0000820649 00000 n
-0000820714 00000 n
-0000820779 00000 n
-0000820844 00000 n
-0000820909 00000 n
-0000820974 00000 n
-0000821039 00000 n
-0000821104 00000 n
-0000821169 00000 n
-0000821234 00000 n
-0000821299 00000 n
-0000821364 00000 n
-0000821429 00000 n
-0000821494 00000 n
-0000821559 00000 n
-0000821624 00000 n
-0000821689 00000 n
-0000821753 00000 n
-0000821818 00000 n
-0000821883 00000 n
-0000821948 00000 n
-0000822013 00000 n
-0000822077 00000 n
-0000829860 00000 n
-0000827012 00000 n
-0000822305 00000 n
-0000827137 00000 n
-0000827201 00000 n
-0000827266 00000 n
-0000827331 00000 n
-0000827396 00000 n
-0000827461 00000 n
-0000827526 00000 n
-0000827591 00000 n
-0000827656 00000 n
-0000827721 00000 n
-0000827785 00000 n
-0000827850 00000 n
-0000827915 00000 n
-0000827980 00000 n
-0000828045 00000 n
-0000828110 00000 n
-0000828175 00000 n
-0000828240 00000 n
-0000828305 00000 n
-0000828370 00000 n
-0000828435 00000 n
-0000828500 00000 n
-0000828565 00000 n
-0000828630 00000 n
-0000828695 00000 n
-0000828758 00000 n
-0000828823 00000 n
-0000828888 00000 n
-0000828953 00000 n
-0000829018 00000 n
-0000829083 00000 n
-0000829148 00000 n
-0000829213 00000 n
-0000829278 00000 n
-0000829343 00000 n
-0000829408 00000 n
-0000829472 00000 n
-0000829537 00000 n
-0000829602 00000 n
-0000829667 00000 n
-0000829732 00000 n
-0000829796 00000 n
-0000835899 00000 n
-0000832598 00000 n
-0000830064 00000 n
-0000832723 00000 n
-0000832787 00000 n
-0000832852 00000 n
-0000832917 00000 n
-0000832982 00000 n
-0000833047 00000 n
-0000833112 00000 n
-0000833176 00000 n
-0000833241 00000 n
-0000833306 00000 n
-0000833371 00000 n
-0000833436 00000 n
-0000833501 00000 n
-0000833566 00000 n
-0000833630 00000 n
-0000833695 00000 n
-0000833760 00000 n
-0000833825 00000 n
-0000833890 00000 n
-0000833955 00000 n
-0000834020 00000 n
-0000834085 00000 n
-0000834150 00000 n
-0000834214 00000 n
-0000834279 00000 n
-0000834343 00000 n
-0000834408 00000 n
-0000834473 00000 n
-0000834538 00000 n
-0000834603 00000 n
-0000834668 00000 n
-0000834733 00000 n
-0000834798 00000 n
-0000834863 00000 n
-0000834927 00000 n
-0000834992 00000 n
-0000835057 00000 n
-0000835122 00000 n
-0000835187 00000 n
-0000835252 00000 n
-0000835317 00000 n
-0000835382 00000 n
-0000835447 00000 n
-0000835511 00000 n
-0000835576 00000 n
-0000835641 00000 n
-0000835706 00000 n
-0000835771 00000 n
-0000835835 00000 n
-0000841440 00000 n
-0000838267 00000 n
-0000836089 00000 n
-0000838392 00000 n
-0000838456 00000 n
-0000838521 00000 n
-0000838586 00000 n
-0000838651 00000 n
-0000838716 00000 n
-0000838781 00000 n
-0000838846 00000 n
-0000838911 00000 n
-0000838976 00000 n
-0000839041 00000 n
-0000839106 00000 n
-0000839170 00000 n
-0000839235 00000 n
-0000839300 00000 n
-0000839365 00000 n
-0000839430 00000 n
-0000839495 00000 n
-0000839560 00000 n
-0000839625 00000 n
-0000839690 00000 n
-0000839755 00000 n
-0000839820 00000 n
-0000839885 00000 n
-0000839950 00000 n
-0000840015 00000 n
-0000840080 00000 n
-0000840144 00000 n
-0000840208 00000 n
-0000840273 00000 n
-0000840338 00000 n
-0000840403 00000 n
-0000840468 00000 n
-0000840533 00000 n
-0000840598 00000 n
-0000840663 00000 n
-0000840728 00000 n
-0000840793 00000 n
-0000840857 00000 n
-0000840922 00000 n
-0000840987 00000 n
-0000841052 00000 n
-0000841117 00000 n
-0000841182 00000 n
-0000841247 00000 n
-0000841312 00000 n
-0000841376 00000 n
-0000847448 00000 n
-0000843951 00000 n
-0000841630 00000 n
-0000844076 00000 n
-0000844140 00000 n
-0000844205 00000 n
-0000844269 00000 n
-0000844334 00000 n
-0000844399 00000 n
-0000844464 00000 n
-0000844529 00000 n
-0000844594 00000 n
-0000844659 00000 n
-0000844724 00000 n
-0000844789 00000 n
-0000844854 00000 n
-0000844917 00000 n
-0000844982 00000 n
-0000845047 00000 n
-0000845112 00000 n
-0000845177 00000 n
-0000845242 00000 n
-0000845307 00000 n
-0000845372 00000 n
-0000845437 00000 n
-0000845502 00000 n
-0000845567 00000 n
-0000845632 00000 n
-0000845697 00000 n
-0000845762 00000 n
-0000845827 00000 n
-0000845891 00000 n
-0000845956 00000 n
-0000846021 00000 n
-0000846086 00000 n
-0000846151 00000 n
-0000846216 00000 n
-0000846281 00000 n
-0000846346 00000 n
-0000846411 00000 n
-0000846476 00000 n
-0000846541 00000 n
-0000846606 00000 n
-0000846671 00000 n
-0000846736 00000 n
-0000846801 00000 n
-0000846866 00000 n
-0000846931 00000 n
-0000846996 00000 n
-0000847060 00000 n
-0000847125 00000 n
-0000847190 00000 n
-0000847255 00000 n
-0000847320 00000 n
-0000847384 00000 n
-0001861656 00000 n
-0000853015 00000 n
-0000850168 00000 n
-0000847612 00000 n
-0000850293 00000 n
-0000850357 00000 n
-0000850422 00000 n
-0000850487 00000 n
-0000850552 00000 n
-0000850617 00000 n
-0000850682 00000 n
-0000850747 00000 n
-0000850811 00000 n
-0000850876 00000 n
-0000850941 00000 n
-0000851006 00000 n
-0000851071 00000 n
-0000851135 00000 n
-0000851200 00000 n
-0000851265 00000 n
-0000851330 00000 n
-0000851395 00000 n
-0000851460 00000 n
-0000851525 00000 n
-0000851590 00000 n
-0000851655 00000 n
-0000851720 00000 n
-0000851785 00000 n
-0000851850 00000 n
-0000851915 00000 n
-0000851979 00000 n
-0000852044 00000 n
-0000852109 00000 n
-0000852174 00000 n
-0000852239 00000 n
-0000852303 00000 n
-0000852368 00000 n
-0000852433 00000 n
-0000852498 00000 n
-0000852563 00000 n
-0000852628 00000 n
-0000852693 00000 n
-0000852758 00000 n
-0000852823 00000 n
-0000852887 00000 n
-0000852951 00000 n
-0000858990 00000 n
-0000855104 00000 n
-0000853192 00000 n
-0000855229 00000 n
-0000855293 00000 n
-0000855358 00000 n
-0000855422 00000 n
-0000855487 00000 n
-0000855552 00000 n
-0000855617 00000 n
-0000855682 00000 n
-0000855747 00000 n
-0000855812 00000 n
-0000855877 00000 n
-0000855942 00000 n
-0000856006 00000 n
-0000856071 00000 n
-0000856136 00000 n
-0000856201 00000 n
-0000856266 00000 n
-0000856331 00000 n
-0000856396 00000 n
-0000856461 00000 n
-0000856526 00000 n
-0000856591 00000 n
-0000856656 00000 n
-0000856721 00000 n
-0000856786 00000 n
-0000856851 00000 n
-0000856916 00000 n
-0000856981 00000 n
-0000857046 00000 n
-0000857111 00000 n
-0000857176 00000 n
-0000857241 00000 n
-0000857305 00000 n
-0000857370 00000 n
-0000857435 00000 n
-0000857500 00000 n
-0000857565 00000 n
-0000857630 00000 n
-0000857695 00000 n
-0000857760 00000 n
-0000857825 00000 n
-0000857890 00000 n
-0000857954 00000 n
-0000858019 00000 n
-0000858084 00000 n
-0000858149 00000 n
-0000858214 00000 n
-0000858278 00000 n
-0000858343 00000 n
-0000858408 00000 n
-0000858473 00000 n
-0000858538 00000 n
-0000858603 00000 n
-0000858668 00000 n
-0000858733 00000 n
-0000858798 00000 n
-0000858862 00000 n
-0000858926 00000 n
-0000864690 00000 n
-0000860934 00000 n
-0000859167 00000 n
-0000861059 00000 n
-0000861123 00000 n
-0000861188 00000 n
-0000861252 00000 n
-0000861317 00000 n
-0000861382 00000 n
-0000861447 00000 n
-0000861512 00000 n
-0000861577 00000 n
-0000861642 00000 n
-0000861707 00000 n
-0000861772 00000 n
-0000861836 00000 n
-0000861901 00000 n
-0000861966 00000 n
-0000862031 00000 n
-0000862096 00000 n
-0000862161 00000 n
-0000862226 00000 n
-0000862291 00000 n
-0000862356 00000 n
-0000862421 00000 n
-0000862486 00000 n
-0000862551 00000 n
-0000862616 00000 n
-0000862681 00000 n
-0000862746 00000 n
-0000862811 00000 n
-0000862876 00000 n
-0000862941 00000 n
-0000863006 00000 n
-0000863071 00000 n
-0000863136 00000 n
-0000863201 00000 n
-0000863265 00000 n
-0000863330 00000 n
-0000863395 00000 n
-0000863460 00000 n
-0000863525 00000 n
-0000863590 00000 n
-0000863655 00000 n
-0000863720 00000 n
-0000863785 00000 n
-0000863848 00000 n
-0000863913 00000 n
-0000863978 00000 n
-0000864043 00000 n
-0000864108 00000 n
-0000864173 00000 n
-0000864238 00000 n
-0000864303 00000 n
-0000864368 00000 n
-0000864433 00000 n
-0000864497 00000 n
-0000864562 00000 n
-0000864626 00000 n
-0000869521 00000 n
-0000867197 00000 n
-0000864867 00000 n
-0000867322 00000 n
-0000867386 00000 n
-0000867451 00000 n
-0000867516 00000 n
-0000867642 00000 n
-0000867707 00000 n
-0000867772 00000 n
-0000867837 00000 n
-0000867902 00000 n
-0000867965 00000 n
-0000868030 00000 n
-0000868095 00000 n
-0000868160 00000 n
-0000868225 00000 n
-0000868290 00000 n
-0000868355 00000 n
-0000868420 00000 n
-0000868485 00000 n
-0000868549 00000 n
-0000868614 00000 n
-0000868679 00000 n
-0000868744 00000 n
-0000868809 00000 n
-0000868874 00000 n
-0000868939 00000 n
-0000869004 00000 n
-0000869069 00000 n
-0000869134 00000 n
-0000869199 00000 n
-0000869263 00000 n
-0000869328 00000 n
-0000869393 00000 n
-0000869457 00000 n
-0000875217 00000 n
-0000871591 00000 n
-0000869711 00000 n
-0000871716 00000 n
-0000871780 00000 n
-0000871845 00000 n
-0000871910 00000 n
-0000871975 00000 n
-0000872040 00000 n
-0000872105 00000 n
-0000872170 00000 n
-0000872234 00000 n
-0000872299 00000 n
-0000872364 00000 n
-0000872429 00000 n
-0000872494 00000 n
-0000872559 00000 n
-0000872624 00000 n
-0000872689 00000 n
-0000872754 00000 n
-0000872818 00000 n
-0000872883 00000 n
-0000872948 00000 n
-0000873012 00000 n
-0000873077 00000 n
-0000873142 00000 n
-0000873207 00000 n
-0000873272 00000 n
-0000873337 00000 n
-0000873402 00000 n
-0000873467 00000 n
-0000873532 00000 n
-0000873596 00000 n
-0000873661 00000 n
-0000873726 00000 n
-0000873791 00000 n
-0000873856 00000 n
-0000873921 00000 n
-0000873986 00000 n
-0000874051 00000 n
-0000874116 00000 n
-0000874181 00000 n
-0000874246 00000 n
-0000874311 00000 n
-0000874376 00000 n
-0000874441 00000 n
-0000874505 00000 n
-0000874570 00000 n
-0000874635 00000 n
-0000874700 00000 n
-0000874765 00000 n
-0000874830 00000 n
-0000874895 00000 n
-0000874960 00000 n
-0000875025 00000 n
-0000875089 00000 n
-0000875153 00000 n
-0000880394 00000 n
-0000877288 00000 n
-0000875394 00000 n
-0000877413 00000 n
-0000877477 00000 n
-0000877542 00000 n
-0000877607 00000 n
-0000877672 00000 n
-0000877737 00000 n
-0000877802 00000 n
-0000877867 00000 n
-0000877932 00000 n
-0000877997 00000 n
-0000878062 00000 n
-0000878127 00000 n
-0000878192 00000 n
-0000878257 00000 n
-0000878322 00000 n
-0000878387 00000 n
-0000878452 00000 n
-0000878516 00000 n
-0000878580 00000 n
-0000878645 00000 n
-0000878710 00000 n
-0000878775 00000 n
-0000878840 00000 n
-0000878905 00000 n
-0000878970 00000 n
-0000879035 00000 n
-0000879100 00000 n
-0000879164 00000 n
-0000879229 00000 n
-0000879294 00000 n
-0000879359 00000 n
-0000879487 00000 n
-0000879552 00000 n
-0000879616 00000 n
-0000879681 00000 n
-0000879746 00000 n
-0000879811 00000 n
-0000879876 00000 n
-0000879941 00000 n
-0000880006 00000 n
-0000880071 00000 n
-0000880136 00000 n
-0000880201 00000 n
-0000880266 00000 n
-0000880330 00000 n
-0000885893 00000 n
-0000882851 00000 n
-0000880571 00000 n
-0000882976 00000 n
-0000883040 00000 n
-0000883105 00000 n
-0000883170 00000 n
-0000883235 00000 n
-0000883300 00000 n
-0000883365 00000 n
-0000883430 00000 n
-0000883495 00000 n
-0000883560 00000 n
-0000883624 00000 n
-0000883689 00000 n
-0000883754 00000 n
-0000883819 00000 n
-0000883884 00000 n
-0000883949 00000 n
-0000884014 00000 n
-0000884079 00000 n
-0000884144 00000 n
-0000884209 00000 n
-0000884274 00000 n
-0000884339 00000 n
-0000884404 00000 n
-0000884469 00000 n
-0000884534 00000 n
-0000884599 00000 n
-0000884664 00000 n
-0000884728 00000 n
-0000884793 00000 n
-0000884858 00000 n
-0000884923 00000 n
-0000884988 00000 n
-0000885053 00000 n
-0000885118 00000 n
-0000885246 00000 n
-0000885311 00000 n
-0000885376 00000 n
-0000885441 00000 n
-0000885505 00000 n
-0000885570 00000 n
-0000885635 00000 n
-0000885700 00000 n
-0000885765 00000 n
-0000885829 00000 n
-0000891408 00000 n
-0000889014 00000 n
-0000886083 00000 n
-0000889139 00000 n
-0000889203 00000 n
-0000889268 00000 n
-0000889333 00000 n
-0000889398 00000 n
-0000889463 00000 n
-0000889528 00000 n
-0000889593 00000 n
-0000889657 00000 n
-0000889722 00000 n
-0000889787 00000 n
-0000889852 00000 n
-0000889917 00000 n
-0000889982 00000 n
-0000890047 00000 n
-0000890112 00000 n
-0000890177 00000 n
-0000890240 00000 n
-0000890305 00000 n
-0000890370 00000 n
-0000890434 00000 n
-0000890499 00000 n
-0000890564 00000 n
-0000890629 00000 n
-0000890694 00000 n
-0000890759 00000 n
-0000890824 00000 n
-0000890889 00000 n
-0000890954 00000 n
-0000891019 00000 n
-0000891084 00000 n
-0000891149 00000 n
-0000891214 00000 n
-0000891279 00000 n
-0000891343 00000 n
-0000894184 00000 n
-0000897195 00000 n
-0000894011 00000 n
-0000891598 00000 n
-0000894342 00000 n
-0000894406 00000 n
-0000894471 00000 n
-0000894535 00000 n
-0000894600 00000 n
-0000894665 00000 n
-0000894730 00000 n
-0000894795 00000 n
-0000894860 00000 n
-0000894925 00000 n
-0000894990 00000 n
-0000895055 00000 n
-0000895119 00000 n
-0000895184 00000 n
-0000895249 00000 n
-0000895314 00000 n
-0000895379 00000 n
-0000895444 00000 n
-0000895509 00000 n
-0000895573 00000 n
-0000895638 00000 n
-0000895703 00000 n
-0000895768 00000 n
-0000895833 00000 n
-0000895898 00000 n
-0000895963 00000 n
-0000896028 00000 n
-0000896093 00000 n
-0000896158 00000 n
-0000896223 00000 n
-0000896288 00000 n
-0000896353 00000 n
-0000896418 00000 n
-0000896483 00000 n
-0000896547 00000 n
-0000896612 00000 n
-0000896677 00000 n
-0000896742 00000 n
-0000896807 00000 n
-0000896872 00000 n
-0000896937 00000 n
-0000897002 00000 n
-0000897067 00000 n
-0000897131 00000 n
-0000894153 00000 n
-0000903221 00000 n
-0000899464 00000 n
-0000897424 00000 n
-0000899589 00000 n
-0000899653 00000 n
-0000899718 00000 n
-0000899783 00000 n
-0000899848 00000 n
-0000899913 00000 n
-0000899978 00000 n
-0000900043 00000 n
-0000900108 00000 n
-0000900173 00000 n
-0000900237 00000 n
-0000900302 00000 n
-0000900367 00000 n
-0000900432 00000 n
-0000900496 00000 n
-0000900561 00000 n
-0000900626 00000 n
-0000900691 00000 n
-0000900756 00000 n
-0000900821 00000 n
-0000900886 00000 n
-0000900951 00000 n
-0000901016 00000 n
-0000901081 00000 n
-0000901146 00000 n
-0000901210 00000 n
-0000901275 00000 n
-0000901340 00000 n
-0000901405 00000 n
-0000901470 00000 n
-0000901535 00000 n
-0000901599 00000 n
-0000901664 00000 n
-0000901729 00000 n
-0000901794 00000 n
-0000901859 00000 n
-0000901924 00000 n
-0000901989 00000 n
-0000902054 00000 n
-0000902119 00000 n
-0000902184 00000 n
-0000902249 00000 n
-0000902314 00000 n
-0000902379 00000 n
-0000902444 00000 n
-0000902509 00000 n
-0000902574 00000 n
-0000902639 00000 n
-0000902704 00000 n
-0000902769 00000 n
-0000902833 00000 n
-0000902898 00000 n
-0000902963 00000 n
-0000903028 00000 n
-0000903093 00000 n
-0000903157 00000 n
-0001861821 00000 n
-0000908999 00000 n
-0000906019 00000 n
-0000903398 00000 n
-0000906144 00000 n
-0000906208 00000 n
-0000906273 00000 n
-0000906338 00000 n
-0000906403 00000 n
-0000906468 00000 n
-0000906533 00000 n
-0000906598 00000 n
-0000906663 00000 n
-0000906728 00000 n
-0000906793 00000 n
-0000906857 00000 n
-0000906922 00000 n
-0000906987 00000 n
-0000907052 00000 n
-0000907117 00000 n
-0000907182 00000 n
-0000907247 00000 n
-0000907312 00000 n
-0000907377 00000 n
-0000907442 00000 n
-0000907507 00000 n
-0000907572 00000 n
-0000907637 00000 n
-0000907702 00000 n
-0000907767 00000 n
-0000907832 00000 n
-0000907897 00000 n
-0000907962 00000 n
-0000908027 00000 n
-0000908092 00000 n
-0000908157 00000 n
-0000908222 00000 n
-0000908287 00000 n
-0000908352 00000 n
-0000908417 00000 n
-0000908482 00000 n
-0000908547 00000 n
-0000908612 00000 n
-0000908677 00000 n
-0000908742 00000 n
-0000908807 00000 n
-0000908872 00000 n
-0000908936 00000 n
-0000914506 00000 n
-0000911271 00000 n
-0000909189 00000 n
-0000911396 00000 n
-0000911460 00000 n
-0000911525 00000 n
-0000911590 00000 n
-0000911655 00000 n
-0000911720 00000 n
-0000911785 00000 n
-0000911850 00000 n
-0000911915 00000 n
-0000911980 00000 n
-0000912044 00000 n
-0000912172 00000 n
-0000912237 00000 n
-0000912302 00000 n
-0000912367 00000 n
-0000912432 00000 n
-0000912496 00000 n
-0000912561 00000 n
-0000912626 00000 n
-0000912691 00000 n
-0000912756 00000 n
-0000912821 00000 n
-0000912886 00000 n
-0000912951 00000 n
-0000913016 00000 n
-0000913080 00000 n
-0000913145 00000 n
-0000913210 00000 n
-0000913275 00000 n
-0000913340 00000 n
-0000913405 00000 n
-0000913470 00000 n
-0000913535 00000 n
-0000913600 00000 n
-0000913664 00000 n
-0000913729 00000 n
-0000913794 00000 n
-0000913859 00000 n
-0000913924 00000 n
-0000913989 00000 n
-0000914054 00000 n
-0000914119 00000 n
-0000914184 00000 n
-0000914248 00000 n
-0000914313 00000 n
-0000914378 00000 n
-0000914442 00000 n
-0000920329 00000 n
-0000917741 00000 n
-0000914696 00000 n
-0000917866 00000 n
-0000917930 00000 n
-0000917995 00000 n
-0000918059 00000 n
-0000918124 00000 n
-0000918189 00000 n
-0000918254 00000 n
-0000918319 00000 n
-0000918384 00000 n
-0000918449 00000 n
-0000918514 00000 n
-0000918579 00000 n
-0000918643 00000 n
-0000918708 00000 n
-0000918773 00000 n
-0000918838 00000 n
-0000918903 00000 n
-0000918968 00000 n
-0000919033 00000 n
-0000919098 00000 n
-0000919163 00000 n
-0000919228 00000 n
-0000919292 00000 n
-0000919357 00000 n
-0000919422 00000 n
-0000919487 00000 n
-0000919552 00000 n
-0000919617 00000 n
-0000919682 00000 n
-0000919747 00000 n
-0000919812 00000 n
-0000919876 00000 n
-0000919941 00000 n
-0000920006 00000 n
-0000920071 00000 n
-0000920136 00000 n
-0000920201 00000 n
-0000920266 00000 n
-0000926374 00000 n
-0000923654 00000 n
-0000920545 00000 n
-0000923779 00000 n
-0000923843 00000 n
-0000923908 00000 n
-0000923973 00000 n
-0000924038 00000 n
-0000924103 00000 n
-0000924168 00000 n
-0000924233 00000 n
-0000924298 00000 n
-0000924363 00000 n
-0000924428 00000 n
-0000924493 00000 n
-0000924558 00000 n
-0000924623 00000 n
-0000924688 00000 n
-0000924752 00000 n
-0000924817 00000 n
-0000924882 00000 n
-0000924947 00000 n
-0000925012 00000 n
-0000925077 00000 n
-0000925142 00000 n
-0000925207 00000 n
-0000925272 00000 n
-0000925337 00000 n
-0000925402 00000 n
-0000925467 00000 n
-0000925532 00000 n
-0000925597 00000 n
-0000925662 00000 n
-0000925727 00000 n
-0000925792 00000 n
-0000925857 00000 n
-0000925922 00000 n
-0000925986 00000 n
-0000926051 00000 n
-0000926116 00000 n
-0000926181 00000 n
-0000926246 00000 n
-0000926310 00000 n
-0000932218 00000 n
-0000929823 00000 n
-0000926590 00000 n
-0000929948 00000 n
-0000930012 00000 n
-0000930077 00000 n
-0000930142 00000 n
-0000930207 00000 n
-0000930272 00000 n
-0000930337 00000 n
-0000930402 00000 n
-0000930467 00000 n
-0000930532 00000 n
-0000930597 00000 n
-0000930662 00000 n
-0000930727 00000 n
-0000930791 00000 n
-0000930856 00000 n
-0000930921 00000 n
-0000930986 00000 n
-0000931051 00000 n
-0000931116 00000 n
-0000931181 00000 n
-0000931246 00000 n
-0000931311 00000 n
-0000931376 00000 n
-0000931441 00000 n
-0000931506 00000 n
-0000931571 00000 n
-0000931636 00000 n
-0000931701 00000 n
-0000931765 00000 n
-0000931830 00000 n
-0000931895 00000 n
-0000931960 00000 n
-0000932025 00000 n
-0000932090 00000 n
-0000932154 00000 n
-0000935077 00000 n
-0000938218 00000 n
-0000934904 00000 n
-0000932434 00000 n
-0000935235 00000 n
-0000935299 00000 n
-0000935364 00000 n
-0000935429 00000 n
-0000935494 00000 n
-0000935559 00000 n
-0000935624 00000 n
-0000935689 00000 n
-0000935754 00000 n
-0000935819 00000 n
-0000935884 00000 n
-0000935949 00000 n
-0000936013 00000 n
-0000936078 00000 n
-0000936143 00000 n
-0000936208 00000 n
-0000936273 00000 n
-0000936338 00000 n
-0000936403 00000 n
-0000936467 00000 n
-0000936532 00000 n
-0000936597 00000 n
-0000936662 00000 n
-0000936727 00000 n
-0000936792 00000 n
-0000936857 00000 n
-0000936922 00000 n
-0000936987 00000 n
-0000937051 00000 n
-0000937116 00000 n
-0000937181 00000 n
-0000937246 00000 n
-0000937311 00000 n
-0000937376 00000 n
-0000937440 00000 n
-0000937505 00000 n
-0000937570 00000 n
-0000937635 00000 n
-0000937700 00000 n
-0000937765 00000 n
-0000937830 00000 n
-0000937895 00000 n
-0000937960 00000 n
-0000938024 00000 n
-0000938089 00000 n
-0000938154 00000 n
-0001855430 00000 n
-0000935046 00000 n
-0000944131 00000 n
-0000940373 00000 n
-0000938448 00000 n
-0000940498 00000 n
-0000940562 00000 n
-0000940627 00000 n
-0000940692 00000 n
-0000940757 00000 n
-0000940822 00000 n
-0000940887 00000 n
-0000940952 00000 n
-0000941017 00000 n
-0000941082 00000 n
-0000941146 00000 n
-0000941211 00000 n
-0000941276 00000 n
-0000941341 00000 n
-0000941406 00000 n
-0000941471 00000 n
-0000941536 00000 n
-0000941601 00000 n
-0000941666 00000 n
-0000941730 00000 n
-0000941795 00000 n
-0000941860 00000 n
-0000941925 00000 n
-0000941990 00000 n
-0000942055 00000 n
-0000942120 00000 n
-0000942185 00000 n
-0000942250 00000 n
-0000942315 00000 n
-0000942380 00000 n
-0000942445 00000 n
-0000942510 00000 n
-0000942575 00000 n
-0000942640 00000 n
-0000942705 00000 n
-0000942770 00000 n
-0000942835 00000 n
-0000942900 00000 n
-0000942964 00000 n
-0000943029 00000 n
-0000943094 00000 n
-0000943159 00000 n
-0000943224 00000 n
-0000943289 00000 n
-0000943354 00000 n
-0000943419 00000 n
-0000943484 00000 n
-0000943549 00000 n
-0000943614 00000 n
-0000943679 00000 n
-0000943744 00000 n
-0000943809 00000 n
-0000943873 00000 n
-0000943938 00000 n
-0000944003 00000 n
-0000944067 00000 n
-0000949969 00000 n
-0000946536 00000 n
-0000944295 00000 n
-0000946661 00000 n
-0000946725 00000 n
-0000946790 00000 n
-0000946855 00000 n
-0000946920 00000 n
-0000946985 00000 n
-0000947050 00000 n
-0000947115 00000 n
-0000947180 00000 n
-0000947245 00000 n
-0000947310 00000 n
-0000947375 00000 n
-0000947440 00000 n
-0000947505 00000 n
-0000947570 00000 n
-0000947634 00000 n
-0000947699 00000 n
-0000947764 00000 n
-0000947829 00000 n
-0000947894 00000 n
-0000947959 00000 n
-0000948024 00000 n
-0000948089 00000 n
-0000948154 00000 n
-0000948218 00000 n
-0000948283 00000 n
-0000948348 00000 n
-0000948413 00000 n
-0000948478 00000 n
-0000948543 00000 n
-0000948608 00000 n
-0000948673 00000 n
-0000948738 00000 n
-0000948802 00000 n
-0000948867 00000 n
-0000948932 00000 n
-0000948997 00000 n
-0000949062 00000 n
-0000949127 00000 n
-0000949192 00000 n
-0000949256 00000 n
-0000949321 00000 n
-0000949386 00000 n
-0000949451 00000 n
-0000949516 00000 n
-0000949581 00000 n
-0000949646 00000 n
-0000949711 00000 n
-0000949776 00000 n
-0000949841 00000 n
-0000949905 00000 n
-0000955810 00000 n
-0000952443 00000 n
-0000950172 00000 n
-0000952568 00000 n
-0000952632 00000 n
-0000952697 00000 n
-0000952762 00000 n
-0000952827 00000 n
-0000952892 00000 n
-0000952957 00000 n
-0000953022 00000 n
-0000953086 00000 n
-0000953151 00000 n
-0000953216 00000 n
-0000953281 00000 n
-0000953346 00000 n
-0000953411 00000 n
-0000953476 00000 n
-0000953541 00000 n
-0000953606 00000 n
-0000953671 00000 n
-0000953736 00000 n
-0000953801 00000 n
-0000953866 00000 n
-0000953931 00000 n
-0000953995 00000 n
-0000954060 00000 n
-0000954125 00000 n
-0000954190 00000 n
-0000954255 00000 n
-0000954320 00000 n
-0000954385 00000 n
-0000954450 00000 n
-0000954515 00000 n
-0000954579 00000 n
-0000954644 00000 n
-0000954709 00000 n
-0000954774 00000 n
-0000954839 00000 n
-0000954904 00000 n
-0000954969 00000 n
-0000955034 00000 n
-0000955098 00000 n
-0000955163 00000 n
-0000955228 00000 n
-0000955293 00000 n
-0000955358 00000 n
-0000955423 00000 n
-0000955488 00000 n
-0000955553 00000 n
-0000955618 00000 n
-0000955682 00000 n
-0000955746 00000 n
-0000961824 00000 n
-0000958131 00000 n
-0000956000 00000 n
-0000958256 00000 n
-0000958320 00000 n
-0000958385 00000 n
-0000958450 00000 n
-0000958515 00000 n
-0000958580 00000 n
-0000958645 00000 n
-0000958710 00000 n
-0000958775 00000 n
-0000958840 00000 n
-0000958904 00000 n
-0000958969 00000 n
-0000959034 00000 n
-0000959099 00000 n
-0000959164 00000 n
-0000959229 00000 n
-0000959294 00000 n
-0000959359 00000 n
-0000959424 00000 n
-0000959488 00000 n
-0000959553 00000 n
-0000959618 00000 n
-0000959683 00000 n
-0000959748 00000 n
-0000959812 00000 n
-0000959877 00000 n
-0000959942 00000 n
-0000960007 00000 n
-0000960072 00000 n
-0000960137 00000 n
-0000960202 00000 n
-0000960267 00000 n
-0000960332 00000 n
-0000960396 00000 n
-0000960461 00000 n
-0000960526 00000 n
-0000960591 00000 n
-0000960656 00000 n
-0000960721 00000 n
-0000960786 00000 n
-0000960851 00000 n
-0000960916 00000 n
-0000960980 00000 n
-0000961045 00000 n
-0000961110 00000 n
-0000961175 00000 n
-0000961240 00000 n
-0000961305 00000 n
-0000961370 00000 n
-0000961435 00000 n
-0000961499 00000 n
-0000961564 00000 n
-0000961629 00000 n
-0000961694 00000 n
-0000961759 00000 n
-0001861986 00000 n
-0000967873 00000 n
-0000964440 00000 n
-0000961988 00000 n
-0000964565 00000 n
-0000964629 00000 n
-0000964694 00000 n
-0000964759 00000 n
-0000964824 00000 n
-0000964889 00000 n
-0000964954 00000 n
-0000965019 00000 n
-0000965083 00000 n
-0000965148 00000 n
-0000965213 00000 n
-0000965278 00000 n
-0000965343 00000 n
-0000965408 00000 n
-0000965473 00000 n
-0000965538 00000 n
-0000965603 00000 n
-0000965667 00000 n
-0000965732 00000 n
-0000965797 00000 n
-0000965862 00000 n
-0000965927 00000 n
-0000965992 00000 n
-0000966057 00000 n
-0000966122 00000 n
-0000966187 00000 n
-0000966252 00000 n
-0000966317 00000 n
-0000966382 00000 n
-0000966447 00000 n
-0000966512 00000 n
-0000966577 00000 n
-0000966642 00000 n
-0000966707 00000 n
-0000966772 00000 n
-0000966837 00000 n
-0000966902 00000 n
-0000966967 00000 n
-0000967032 00000 n
-0000967097 00000 n
-0000967161 00000 n
-0000967226 00000 n
-0000967291 00000 n
-0000967356 00000 n
-0000967421 00000 n
-0000967486 00000 n
-0000967551 00000 n
-0000967616 00000 n
-0000967681 00000 n
-0000967745 00000 n
-0000967809 00000 n
-0000973582 00000 n
-0000969765 00000 n
-0000968063 00000 n
-0000969890 00000 n
-0000969954 00000 n
-0000970019 00000 n
-0000970084 00000 n
-0000970149 00000 n
-0000970214 00000 n
-0000970279 00000 n
-0000970344 00000 n
-0000970409 00000 n
-0000970474 00000 n
-0000970538 00000 n
-0000970603 00000 n
-0000970668 00000 n
-0000970733 00000 n
-0000970798 00000 n
-0000970862 00000 n
-0000970927 00000 n
-0000970992 00000 n
-0000971057 00000 n
-0000971122 00000 n
-0000971187 00000 n
-0000971252 00000 n
-0000971316 00000 n
-0000971381 00000 n
-0000971446 00000 n
-0000971511 00000 n
-0000971576 00000 n
-0000971641 00000 n
-0000971706 00000 n
-0000971771 00000 n
-0000971836 00000 n
-0000971899 00000 n
-0000971963 00000 n
-0000972028 00000 n
-0000972093 00000 n
-0000972158 00000 n
-0000972223 00000 n
-0000972288 00000 n
-0000972353 00000 n
-0000972418 00000 n
-0000972483 00000 n
-0000972547 00000 n
-0000972612 00000 n
-0000972676 00000 n
-0000972741 00000 n
-0000972806 00000 n
-0000972871 00000 n
-0000972936 00000 n
-0000973001 00000 n
-0000973066 00000 n
-0000973131 00000 n
-0000973196 00000 n
-0000973259 00000 n
-0000973324 00000 n
-0000973389 00000 n
-0000973454 00000 n
-0000973518 00000 n
-0000979132 00000 n
-0000976477 00000 n
-0000973746 00000 n
-0000976602 00000 n
-0000976666 00000 n
-0000976731 00000 n
-0000976796 00000 n
-0000976861 00000 n
-0000976926 00000 n
-0000976991 00000 n
-0000977056 00000 n
-0000977121 00000 n
-0000977186 00000 n
-0000977250 00000 n
-0000977315 00000 n
-0000977380 00000 n
-0000977445 00000 n
-0000977510 00000 n
-0000977575 00000 n
-0000977640 00000 n
-0000977703 00000 n
-0000977768 00000 n
-0000977833 00000 n
-0000977898 00000 n
-0000977963 00000 n
-0000978028 00000 n
-0000978093 00000 n
-0000978158 00000 n
-0000978223 00000 n
-0000978288 00000 n
-0000978353 00000 n
-0000978418 00000 n
-0000978482 00000 n
-0000978547 00000 n
-0000978612 00000 n
-0000978677 00000 n
-0000978742 00000 n
-0000978807 00000 n
-0000978872 00000 n
-0000978937 00000 n
-0000979002 00000 n
-0000979067 00000 n
-0000985031 00000 n
-0000981858 00000 n
-0000979309 00000 n
-0000981983 00000 n
-0000982047 00000 n
-0000982112 00000 n
-0000982177 00000 n
-0000982242 00000 n
-0000982307 00000 n
-0000982372 00000 n
-0000982437 00000 n
-0000982502 00000 n
-0000982567 00000 n
-0000982631 00000 n
-0000982696 00000 n
-0000982761 00000 n
-0000982826 00000 n
-0000982891 00000 n
-0000982956 00000 n
-0000983021 00000 n
-0000983086 00000 n
-0000983151 00000 n
-0000983216 00000 n
-0000983281 00000 n
-0000983346 00000 n
-0000983411 00000 n
-0000983476 00000 n
-0000983541 00000 n
-0000983606 00000 n
-0000983671 00000 n
-0000983736 00000 n
-0000983801 00000 n
-0000983865 00000 n
-0000983930 00000 n
-0000983995 00000 n
-0000984060 00000 n
-0000984125 00000 n
-0000984190 00000 n
-0000984255 00000 n
-0000984320 00000 n
-0000984384 00000 n
-0000984449 00000 n
-0000984514 00000 n
-0000984579 00000 n
-0000984644 00000 n
-0000984709 00000 n
-0000984774 00000 n
-0000984838 00000 n
-0000984903 00000 n
-0000984967 00000 n
-0000990625 00000 n
-0000987126 00000 n
-0000985208 00000 n
-0000987251 00000 n
-0000987315 00000 n
-0000987380 00000 n
-0000987445 00000 n
-0000987510 00000 n
-0000987575 00000 n
-0000987640 00000 n
-0000987705 00000 n
-0000987770 00000 n
-0000987835 00000 n
-0000987899 00000 n
-0000987964 00000 n
-0000988029 00000 n
-0000988094 00000 n
-0000988159 00000 n
-0000988224 00000 n
-0000988289 00000 n
-0000988354 00000 n
-0000988419 00000 n
-0000988483 00000 n
-0000988548 00000 n
-0000988613 00000 n
-0000988678 00000 n
-0000988743 00000 n
-0000988808 00000 n
-0000988873 00000 n
-0000988938 00000 n
-0000989003 00000 n
-0000989068 00000 n
-0000989133 00000 n
-0000989198 00000 n
-0000989263 00000 n
-0000989328 00000 n
-0000989392 00000 n
-0000989457 00000 n
-0000989522 00000 n
-0000989587 00000 n
-0000989652 00000 n
-0000989717 00000 n
-0000989782 00000 n
-0000989847 00000 n
-0000989912 00000 n
-0000989975 00000 n
-0000990040 00000 n
-0000990105 00000 n
-0000990170 00000 n
-0000990235 00000 n
-0000990300 00000 n
-0000990365 00000 n
-0000990430 00000 n
-0000990495 00000 n
-0000990560 00000 n
-0000996504 00000 n
-0000992424 00000 n
-0000990802 00000 n
-0000992549 00000 n
-0000992613 00000 n
-0000992678 00000 n
-0000992743 00000 n
-0000992808 00000 n
-0000992873 00000 n
-0000992938 00000 n
-0000993003 00000 n
-0000993068 00000 n
-0000993133 00000 n
-0000993197 00000 n
-0000993262 00000 n
-0000993327 00000 n
-0000993392 00000 n
-0000993457 00000 n
-0000993522 00000 n
-0000993587 00000 n
-0000993652 00000 n
-0000993717 00000 n
-0000993781 00000 n
-0000993846 00000 n
-0000993911 00000 n
-0000993976 00000 n
-0000994041 00000 n
-0000994106 00000 n
-0000994171 00000 n
-0000994236 00000 n
-0000994301 00000 n
-0000994365 00000 n
-0000994430 00000 n
-0000994495 00000 n
-0000994560 00000 n
-0000994625 00000 n
-0000994690 00000 n
-0000994755 00000 n
-0000994819 00000 n
-0000994884 00000 n
-0000994949 00000 n
-0000995014 00000 n
-0000995079 00000 n
-0000995144 00000 n
-0000995209 00000 n
-0000995274 00000 n
-0000995339 00000 n
-0000995403 00000 n
-0000995468 00000 n
-0000995533 00000 n
-0000995598 00000 n
-0000995663 00000 n
-0000995728 00000 n
-0000995793 00000 n
-0000995858 00000 n
-0000995923 00000 n
-0000995987 00000 n
-0000996052 00000 n
-0000996116 00000 n
-0000996181 00000 n
-0000996246 00000 n
-0000996311 00000 n
-0000996376 00000 n
-0000996440 00000 n
-0001002412 00000 n
-0000998852 00000 n
-0000996681 00000 n
-0000998977 00000 n
-0000999041 00000 n
-0000999106 00000 n
-0000999171 00000 n
-0000999236 00000 n
-0000999300 00000 n
-0000999365 00000 n
-0000999430 00000 n
-0000999495 00000 n
-0000999560 00000 n
-0000999625 00000 n
-0000999690 00000 n
-0000999755 00000 n
-0000999820 00000 n
-0000999883 00000 n
-0000999948 00000 n
-0001000013 00000 n
-0001000077 00000 n
-0001000142 00000 n
-0001000207 00000 n
-0001000272 00000 n
-0001000337 00000 n
-0001000402 00000 n
-0001000467 00000 n
-0001000532 00000 n
-0001000597 00000 n
-0001000661 00000 n
-0001000726 00000 n
-0001000791 00000 n
-0001000856 00000 n
-0001000921 00000 n
-0001000986 00000 n
-0001001051 00000 n
-0001001116 00000 n
-0001001181 00000 n
-0001001246 00000 n
-0001001311 00000 n
-0001001375 00000 n
-0001001440 00000 n
-0001001505 00000 n
-0001001570 00000 n
-0001001635 00000 n
-0001001700 00000 n
-0001001765 00000 n
-0001001830 00000 n
-0001001895 00000 n
-0001001960 00000 n
-0001002025 00000 n
-0001002090 00000 n
-0001002155 00000 n
-0001002220 00000 n
-0001002285 00000 n
-0001002349 00000 n
-0001008528 00000 n
-0001004643 00000 n
-0001002589 00000 n
-0001004768 00000 n
-0001004832 00000 n
-0001004897 00000 n
-0001004962 00000 n
-0001005027 00000 n
-0001005092 00000 n
-0001005157 00000 n
-0001005222 00000 n
-0001005287 00000 n
-0001005352 00000 n
-0001005416 00000 n
-0001005481 00000 n
-0001005546 00000 n
-0001005611 00000 n
-0001005676 00000 n
-0001005741 00000 n
-0001005806 00000 n
-0001005871 00000 n
-0001005936 00000 n
-0001006000 00000 n
-0001006065 00000 n
-0001006130 00000 n
-0001006195 00000 n
-0001006260 00000 n
-0001006325 00000 n
-0001006390 00000 n
-0001006455 00000 n
-0001006520 00000 n
-0001006583 00000 n
-0001006648 00000 n
-0001006713 00000 n
-0001006778 00000 n
-0001006843 00000 n
-0001006908 00000 n
-0001006973 00000 n
-0001007038 00000 n
-0001007103 00000 n
-0001007168 00000 n
-0001007233 00000 n
-0001007297 00000 n
-0001007362 00000 n
-0001007427 00000 n
-0001007492 00000 n
-0001007557 00000 n
-0001007622 00000 n
-0001007687 00000 n
-0001007752 00000 n
-0001007816 00000 n
-0001007881 00000 n
-0001007946 00000 n
-0001008011 00000 n
-0001008076 00000 n
-0001008141 00000 n
-0001008206 00000 n
-0001008271 00000 n
-0001008336 00000 n
-0001008400 00000 n
-0001008464 00000 n
-0001014541 00000 n
-0001010590 00000 n
-0001008705 00000 n
-0001010715 00000 n
-0001010779 00000 n
-0001010844 00000 n
-0001010909 00000 n
-0001010974 00000 n
-0001011039 00000 n
-0001011104 00000 n
-0001011169 00000 n
-0001011234 00000 n
-0001011299 00000 n
-0001011363 00000 n
-0001011428 00000 n
-0001011493 00000 n
-0001011558 00000 n
-0001011623 00000 n
-0001011688 00000 n
-0001011753 00000 n
-0001011818 00000 n
-0001011883 00000 n
-0001011947 00000 n
-0001012012 00000 n
-0001012077 00000 n
-0001012142 00000 n
-0001012207 00000 n
-0001012272 00000 n
-0001012337 00000 n
-0001012402 00000 n
-0001012467 00000 n
-0001012530 00000 n
-0001012595 00000 n
-0001012660 00000 n
-0001012725 00000 n
-0001012790 00000 n
-0001012855 00000 n
-0001012920 00000 n
-0001012984 00000 n
-0001013049 00000 n
-0001013114 00000 n
-0001013179 00000 n
-0001013244 00000 n
-0001013309 00000 n
-0001013374 00000 n
-0001013439 00000 n
-0001013504 00000 n
-0001013569 00000 n
-0001013634 00000 n
-0001013699 00000 n
-0001013764 00000 n
-0001013829 00000 n
-0001013894 00000 n
-0001013959 00000 n
-0001014024 00000 n
-0001014089 00000 n
-0001014154 00000 n
-0001014219 00000 n
-0001014283 00000 n
-0001014348 00000 n
-0001014413 00000 n
-0001014477 00000 n
-0001020520 00000 n
-0001016700 00000 n
-0001014718 00000 n
-0001016825 00000 n
-0001016889 00000 n
-0001016954 00000 n
-0001017019 00000 n
-0001017084 00000 n
-0001017149 00000 n
-0001017214 00000 n
-0001017279 00000 n
-0001017344 00000 n
-0001017409 00000 n
-0001017474 00000 n
-0001017538 00000 n
-0001017603 00000 n
-0001017668 00000 n
-0001017733 00000 n
-0001017798 00000 n
-0001017863 00000 n
-0001017928 00000 n
-0001017993 00000 n
-0001018058 00000 n
-0001018123 00000 n
-0001018187 00000 n
-0001018252 00000 n
-0001018317 00000 n
-0001018382 00000 n
-0001018447 00000 n
-0001018512 00000 n
-0001018577 00000 n
-0001018642 00000 n
-0001018707 00000 n
-0001018771 00000 n
-0001018836 00000 n
-0001018901 00000 n
-0001018966 00000 n
-0001019031 00000 n
-0001019096 00000 n
-0001019161 00000 n
-0001019226 00000 n
-0001019290 00000 n
-0001019355 00000 n
-0001019420 00000 n
-0001019485 00000 n
-0001019550 00000 n
-0001019615 00000 n
-0001019680 00000 n
-0001019745 00000 n
-0001019810 00000 n
-0001019874 00000 n
-0001019939 00000 n
-0001020004 00000 n
-0001020069 00000 n
-0001020134 00000 n
-0001020197 00000 n
-0001020262 00000 n
-0001020327 00000 n
-0001020392 00000 n
-0001020456 00000 n
-0001862151 00000 n
-0001026278 00000 n
-0001022847 00000 n
-0001020684 00000 n
-0001022972 00000 n
-0001023036 00000 n
-0001023101 00000 n
-0001023166 00000 n
-0001023231 00000 n
-0001023296 00000 n
-0001023361 00000 n
-0001023426 00000 n
-0001023491 00000 n
-0001023556 00000 n
-0001023620 00000 n
-0001023685 00000 n
-0001023750 00000 n
-0001023815 00000 n
-0001023880 00000 n
-0001023945 00000 n
-0001024010 00000 n
-0001024074 00000 n
-0001024139 00000 n
-0001024204 00000 n
-0001024269 00000 n
-0001024334 00000 n
-0001024399 00000 n
-0001024464 00000 n
-0001024529 00000 n
-0001024593 00000 n
-0001024658 00000 n
-0001024723 00000 n
-0001024788 00000 n
-0001024853 00000 n
-0001024918 00000 n
-0001024983 00000 n
-0001025048 00000 n
-0001025113 00000 n
-0001025177 00000 n
-0001025242 00000 n
-0001025307 00000 n
-0001025372 00000 n
-0001025437 00000 n
-0001025502 00000 n
-0001025567 00000 n
-0001025632 00000 n
-0001025697 00000 n
-0001025761 00000 n
-0001025826 00000 n
-0001025891 00000 n
-0001025956 00000 n
-0001026021 00000 n
-0001026086 00000 n
-0001026151 00000 n
-0001031962 00000 n
-0001028337 00000 n
-0001026455 00000 n
-0001028462 00000 n
-0001028526 00000 n
-0001028591 00000 n
-0001028656 00000 n
-0001028721 00000 n
-0001028786 00000 n
-0001028851 00000 n
-0001028914 00000 n
-0001028979 00000 n
-0001029044 00000 n
-0001029109 00000 n
-0001029174 00000 n
-0001029239 00000 n
-0001029304 00000 n
-0001029369 00000 n
-0001029434 00000 n
-0001029498 00000 n
-0001029563 00000 n
-0001029628 00000 n
-0001029756 00000 n
-0001029821 00000 n
-0001029886 00000 n
-0001029951 00000 n
-0001030016 00000 n
-0001030081 00000 n
-0001030146 00000 n
-0001030211 00000 n
-0001030275 00000 n
-0001030340 00000 n
-0001030405 00000 n
-0001030470 00000 n
-0001030535 00000 n
-0001030600 00000 n
-0001030665 00000 n
-0001030730 00000 n
-0001030795 00000 n
-0001030860 00000 n
-0001030925 00000 n
-0001030990 00000 n
-0001031055 00000 n
-0001031120 00000 n
-0001031185 00000 n
-0001031250 00000 n
-0001031315 00000 n
-0001031380 00000 n
-0001031445 00000 n
-0001031510 00000 n
-0001031574 00000 n
-0001031639 00000 n
-0001031704 00000 n
-0001031769 00000 n
-0001031834 00000 n
-0001031898 00000 n
-0001037531 00000 n
-0001034490 00000 n
-0001032139 00000 n
-0001034615 00000 n
-0001034679 00000 n
-0001034744 00000 n
-0001034809 00000 n
-0001034874 00000 n
-0001034939 00000 n
-0001035004 00000 n
-0001035068 00000 n
-0001035133 00000 n
-0001035198 00000 n
-0001035263 00000 n
-0001035328 00000 n
-0001035393 00000 n
-0001035458 00000 n
-0001035523 00000 n
-0001035588 00000 n
-0001035652 00000 n
-0001035717 00000 n
-0001035782 00000 n
-0001035847 00000 n
-0001035912 00000 n
-0001035976 00000 n
-0001036041 00000 n
-0001036106 00000 n
-0001036171 00000 n
-0001036236 00000 n
-0001036301 00000 n
-0001036364 00000 n
-0001036429 00000 n
-0001036494 00000 n
-0001036559 00000 n
-0001036624 00000 n
-0001036688 00000 n
-0001036753 00000 n
-0001036818 00000 n
-0001036883 00000 n
-0001036948 00000 n
-0001037013 00000 n
-0001037141 00000 n
-0001037206 00000 n
-0001037271 00000 n
-0001037336 00000 n
-0001037401 00000 n
-0001037466 00000 n
-0001042880 00000 n
-0001040097 00000 n
-0001037708 00000 n
-0001040222 00000 n
-0001040286 00000 n
-0001040351 00000 n
-0001040479 00000 n
-0001040544 00000 n
-0001040609 00000 n
-0001040674 00000 n
-0001040739 00000 n
-0001040804 00000 n
-0001040869 00000 n
-0001040934 00000 n
-0001040999 00000 n
-0001041063 00000 n
-0001041128 00000 n
-0001041193 00000 n
-0001041258 00000 n
-0001041323 00000 n
-0001041388 00000 n
-0001041453 00000 n
-0001041518 00000 n
-0001041583 00000 n
-0001041648 00000 n
-0001041713 00000 n
-0001041778 00000 n
-0001041843 00000 n
-0001041908 00000 n
-0001041973 00000 n
-0001042038 00000 n
-0001042103 00000 n
-0001042168 00000 n
-0001042232 00000 n
-0001042297 00000 n
-0001042362 00000 n
-0001042427 00000 n
-0001042492 00000 n
-0001042557 00000 n
-0001042622 00000 n
-0001042687 00000 n
-0001042752 00000 n
-0001042816 00000 n
-0001045478 00000 n
-0001048164 00000 n
-0001045305 00000 n
-0001043070 00000 n
-0001045635 00000 n
-0001045699 00000 n
-0001045764 00000 n
-0001045828 00000 n
-0001045893 00000 n
-0001045958 00000 n
-0001046023 00000 n
-0001046088 00000 n
-0001046153 00000 n
-0001046218 00000 n
-0001046283 00000 n
-0001046348 00000 n
-0001046412 00000 n
-0001046477 00000 n
-0001046542 00000 n
-0001046607 00000 n
-0001046672 00000 n
-0001046737 00000 n
-0001046802 00000 n
-0001046867 00000 n
-0001046932 00000 n
-0001046996 00000 n
-0001047061 00000 n
-0001047126 00000 n
-0001047191 00000 n
-0001047256 00000 n
-0001047321 00000 n
-0001047386 00000 n
-0001047451 00000 n
-0001047579 00000 n
-0001047644 00000 n
-0001047709 00000 n
-0001047774 00000 n
-0001047839 00000 n
-0001047904 00000 n
-0001047969 00000 n
-0001048034 00000 n
-0001048099 00000 n
-0001045447 00000 n
-0001053358 00000 n
-0001051096 00000 n
-0001048367 00000 n
-0001051221 00000 n
-0001051285 00000 n
-0001051350 00000 n
-0001051414 00000 n
-0001051479 00000 n
-0001051544 00000 n
-0001051608 00000 n
-0001051673 00000 n
-0001051801 00000 n
-0001051866 00000 n
-0001051930 00000 n
-0001051995 00000 n
-0001052060 00000 n
-0001052125 00000 n
-0001052190 00000 n
-0001052255 00000 n
-0001052320 00000 n
-0001052384 00000 n
-0001052449 00000 n
-0001052514 00000 n
-0001052579 00000 n
-0001052644 00000 n
-0001052708 00000 n
-0001052773 00000 n
-0001052838 00000 n
-0001052903 00000 n
-0001052968 00000 n
-0001053033 00000 n
-0001053098 00000 n
-0001053163 00000 n
-0001053228 00000 n
-0001053293 00000 n
-0001059199 00000 n
-0001055378 00000 n
-0001053574 00000 n
-0001055503 00000 n
-0001055567 00000 n
-0001055632 00000 n
-0001055697 00000 n
-0001055762 00000 n
-0001055827 00000 n
-0001055892 00000 n
-0001055957 00000 n
-0001056022 00000 n
-0001056087 00000 n
-0001056152 00000 n
-0001056217 00000 n
-0001056282 00000 n
-0001056347 00000 n
-0001056412 00000 n
-0001056477 00000 n
-0001056542 00000 n
-0001056607 00000 n
-0001056672 00000 n
-0001056736 00000 n
-0001056801 00000 n
-0001056866 00000 n
-0001056931 00000 n
-0001056996 00000 n
-0001057061 00000 n
-0001057126 00000 n
-0001057191 00000 n
-0001057256 00000 n
-0001057320 00000 n
-0001057385 00000 n
-0001057450 00000 n
-0001057515 00000 n
-0001057643 00000 n
-0001057708 00000 n
-0001057773 00000 n
-0001057838 00000 n
-0001057903 00000 n
-0001057968 00000 n
-0001058033 00000 n
-0001058097 00000 n
-0001058162 00000 n
-0001058227 00000 n
-0001058292 00000 n
-0001058357 00000 n
-0001058422 00000 n
-0001058487 00000 n
-0001058552 00000 n
-0001058617 00000 n
-0001058682 00000 n
-0001058746 00000 n
-0001058811 00000 n
-0001058876 00000 n
-0001058941 00000 n
-0001059006 00000 n
-0001059071 00000 n
-0001059135 00000 n
-0001065282 00000 n
-0001061265 00000 n
-0001059376 00000 n
-0001061390 00000 n
-0001061454 00000 n
-0001061519 00000 n
-0001061584 00000 n
-0001061649 00000 n
-0001061714 00000 n
-0001061779 00000 n
-0001061844 00000 n
-0001061909 00000 n
-0001061974 00000 n
-0001062038 00000 n
-0001062103 00000 n
-0001062168 00000 n
-0001062233 00000 n
-0001062298 00000 n
-0001062363 00000 n
-0001062428 00000 n
-0001062493 00000 n
-0001062558 00000 n
-0001062622 00000 n
-0001062687 00000 n
-0001062752 00000 n
-0001062817 00000 n
-0001062882 00000 n
-0001062947 00000 n
-0001063012 00000 n
-0001063077 00000 n
-0001063142 00000 n
-0001063206 00000 n
-0001063271 00000 n
-0001063336 00000 n
-0001063401 00000 n
-0001063466 00000 n
-0001063531 00000 n
-0001063596 00000 n
-0001063661 00000 n
-0001063726 00000 n
-0001063791 00000 n
-0001063856 00000 n
-0001063921 00000 n
-0001063986 00000 n
-0001064051 00000 n
-0001064116 00000 n
-0001064180 00000 n
-0001064245 00000 n
-0001064310 00000 n
-0001064375 00000 n
-0001064440 00000 n
-0001064505 00000 n
-0001064570 00000 n
-0001064635 00000 n
-0001064700 00000 n
-0001064764 00000 n
-0001064829 00000 n
-0001064894 00000 n
-0001064959 00000 n
-0001065024 00000 n
-0001065089 00000 n
-0001065154 00000 n
-0001065218 00000 n
-0001070309 00000 n
-0001067657 00000 n
-0001065446 00000 n
-0001067782 00000 n
-0001067846 00000 n
-0001067911 00000 n
-0001067976 00000 n
-0001068041 00000 n
-0001068106 00000 n
-0001068171 00000 n
-0001068236 00000 n
-0001068300 00000 n
-0001068365 00000 n
-0001068430 00000 n
-0001068495 00000 n
-0001068560 00000 n
-0001068625 00000 n
-0001068690 00000 n
-0001068755 00000 n
-0001068820 00000 n
-0001068883 00000 n
-0001068948 00000 n
-0001069013 00000 n
-0001069078 00000 n
-0001069143 00000 n
-0001069208 00000 n
-0001069273 00000 n
-0001069338 00000 n
-0001069403 00000 n
-0001069468 00000 n
-0001069532 00000 n
-0001069597 00000 n
-0001069662 00000 n
-0001069727 00000 n
-0001069792 00000 n
-0001069857 00000 n
-0001069922 00000 n
-0001069987 00000 n
-0001070052 00000 n
-0001070117 00000 n
-0001070181 00000 n
-0001070245 00000 n
-0001076502 00000 n
-0001072614 00000 n
-0001070499 00000 n
-0001072739 00000 n
-0001072803 00000 n
-0001072868 00000 n
-0001072933 00000 n
-0001072998 00000 n
-0001073063 00000 n
-0001073128 00000 n
-0001073193 00000 n
-0001073258 00000 n
-0001073323 00000 n
-0001073388 00000 n
-0001073453 00000 n
-0001073518 00000 n
-0001073583 00000 n
-0001073648 00000 n
-0001073713 00000 n
-0001073776 00000 n
-0001073841 00000 n
-0001073906 00000 n
-0001073971 00000 n
-0001074036 00000 n
-0001074101 00000 n
-0001074166 00000 n
-0001074231 00000 n
-0001074296 00000 n
-0001074361 00000 n
-0001074426 00000 n
-0001074490 00000 n
-0001074555 00000 n
-0001074620 00000 n
-0001074685 00000 n
-0001074750 00000 n
-0001074815 00000 n
-0001074880 00000 n
-0001074945 00000 n
-0001075010 00000 n
-0001075074 00000 n
-0001075139 00000 n
-0001075204 00000 n
-0001075269 00000 n
-0001075334 00000 n
-0001075399 00000 n
-0001075464 00000 n
-0001075529 00000 n
-0001075594 00000 n
-0001075659 00000 n
-0001075724 00000 n
-0001075789 00000 n
-0001075854 00000 n
-0001075919 00000 n
-0001075984 00000 n
-0001076049 00000 n
-0001076114 00000 n
-0001076179 00000 n
-0001076244 00000 n
-0001076309 00000 n
-0001076374 00000 n
-0001076438 00000 n
-0001862316 00000 n
-0001082383 00000 n
-0001078821 00000 n
-0001076666 00000 n
-0001078946 00000 n
-0001079010 00000 n
-0001079075 00000 n
-0001079140 00000 n
-0001079205 00000 n
-0001079270 00000 n
-0001079335 00000 n
-0001079400 00000 n
-0001079465 00000 n
-0001079530 00000 n
-0001079594 00000 n
-0001079659 00000 n
-0001079724 00000 n
-0001079789 00000 n
-0001079854 00000 n
-0001079919 00000 n
-0001079984 00000 n
-0001080049 00000 n
-0001080114 00000 n
-0001080178 00000 n
-0001080243 00000 n
-0001080308 00000 n
-0001080373 00000 n
-0001080438 00000 n
-0001080503 00000 n
-0001080568 00000 n
-0001080633 00000 n
-0001080698 00000 n
-0001080761 00000 n
-0001080826 00000 n
-0001080891 00000 n
-0001080956 00000 n
-0001081021 00000 n
-0001081086 00000 n
-0001081151 00000 n
-0001081214 00000 n
-0001081279 00000 n
-0001081344 00000 n
-0001081409 00000 n
-0001081474 00000 n
-0001081539 00000 n
-0001081604 00000 n
-0001081669 00000 n
-0001081734 00000 n
-0001081799 00000 n
-0001081864 00000 n
-0001081929 00000 n
-0001081994 00000 n
-0001082059 00000 n
-0001082124 00000 n
-0001082189 00000 n
-0001082254 00000 n
-0001082319 00000 n
-0001088270 00000 n
-0001084706 00000 n
-0001082547 00000 n
-0001084831 00000 n
-0001084895 00000 n
-0001084960 00000 n
-0001085025 00000 n
-0001085090 00000 n
-0001085155 00000 n
-0001085220 00000 n
-0001085285 00000 n
-0001085350 00000 n
-0001085415 00000 n
-0001085479 00000 n
-0001085544 00000 n
-0001085609 00000 n
-0001085674 00000 n
-0001085739 00000 n
-0001085804 00000 n
-0001085869 00000 n
-0001085934 00000 n
-0001085999 00000 n
-0001086064 00000 n
-0001086129 00000 n
-0001086194 00000 n
-0001086259 00000 n
-0001086324 00000 n
-0001086388 00000 n
-0001086453 00000 n
-0001086518 00000 n
-0001086583 00000 n
-0001086648 00000 n
-0001086713 00000 n
-0001086778 00000 n
-0001086843 00000 n
-0001086908 00000 n
-0001086973 00000 n
-0001087038 00000 n
-0001087103 00000 n
-0001087168 00000 n
-0001087233 00000 n
-0001087297 00000 n
-0001087362 00000 n
-0001087426 00000 n
-0001087491 00000 n
-0001087556 00000 n
-0001087621 00000 n
-0001087686 00000 n
-0001087751 00000 n
-0001087816 00000 n
-0001087881 00000 n
-0001087946 00000 n
-0001088011 00000 n
-0001088076 00000 n
-0001088141 00000 n
-0001088206 00000 n
-0001093896 00000 n
-0001091175 00000 n
-0001088447 00000 n
-0001091300 00000 n
-0001091364 00000 n
-0001091429 00000 n
-0001091494 00000 n
-0001091559 00000 n
-0001091624 00000 n
-0001091689 00000 n
-0001091754 00000 n
-0001091819 00000 n
-0001091884 00000 n
-0001091949 00000 n
-0001092014 00000 n
-0001092078 00000 n
-0001092143 00000 n
-0001092208 00000 n
-0001092273 00000 n
-0001092338 00000 n
-0001092403 00000 n
-0001092468 00000 n
-0001092533 00000 n
-0001092598 00000 n
-0001092663 00000 n
-0001092728 00000 n
-0001092792 00000 n
-0001092857 00000 n
-0001092922 00000 n
-0001092987 00000 n
-0001093052 00000 n
-0001093117 00000 n
-0001093182 00000 n
-0001093247 00000 n
-0001093312 00000 n
-0001093377 00000 n
-0001093442 00000 n
-0001093507 00000 n
-0001093572 00000 n
-0001093637 00000 n
-0001093701 00000 n
-0001093766 00000 n
-0001093831 00000 n
-0001099558 00000 n
-0001096774 00000 n
-0001094086 00000 n
-0001096899 00000 n
-0001096963 00000 n
-0001097028 00000 n
-0001097093 00000 n
-0001097158 00000 n
-0001097223 00000 n
-0001097288 00000 n
-0001097353 00000 n
-0001097418 00000 n
-0001097483 00000 n
-0001097548 00000 n
-0001097613 00000 n
-0001097678 00000 n
-0001097743 00000 n
-0001097808 00000 n
-0001097873 00000 n
-0001097938 00000 n
-0001098003 00000 n
-0001098067 00000 n
-0001098132 00000 n
-0001098197 00000 n
-0001098262 00000 n
-0001098327 00000 n
-0001098392 00000 n
-0001098457 00000 n
-0001098522 00000 n
-0001098587 00000 n
-0001098652 00000 n
-0001098717 00000 n
-0001098782 00000 n
-0001098847 00000 n
-0001098912 00000 n
-0001098976 00000 n
-0001099041 00000 n
-0001099105 00000 n
-0001099170 00000 n
-0001099235 00000 n
-0001099300 00000 n
-0001099365 00000 n
-0001099430 00000 n
-0001099494 00000 n
-0001104967 00000 n
-0001101535 00000 n
-0001099735 00000 n
-0001101660 00000 n
-0001101724 00000 n
-0001101789 00000 n
-0001101854 00000 n
-0001101919 00000 n
-0001101984 00000 n
-0001102049 00000 n
-0001102114 00000 n
-0001102179 00000 n
-0001102244 00000 n
-0001102308 00000 n
-0001102373 00000 n
-0001102438 00000 n
-0001102503 00000 n
-0001102568 00000 n
-0001102633 00000 n
-0001102698 00000 n
-0001102763 00000 n
-0001102828 00000 n
-0001102892 00000 n
-0001102957 00000 n
-0001103022 00000 n
-0001103087 00000 n
-0001103152 00000 n
-0001103217 00000 n
-0001103282 00000 n
-0001103347 00000 n
-0001103412 00000 n
-0001103476 00000 n
-0001103541 00000 n
-0001103606 00000 n
-0001103671 00000 n
-0001103736 00000 n
-0001103801 00000 n
-0001103866 00000 n
-0001103931 00000 n
-0001103996 00000 n
-0001104061 00000 n
-0001104125 00000 n
-0001104190 00000 n
-0001104255 00000 n
-0001104320 00000 n
-0001104385 00000 n
-0001104450 00000 n
-0001104515 00000 n
-0001104643 00000 n
-0001104708 00000 n
-0001104773 00000 n
-0001104838 00000 n
-0001104903 00000 n
-0001111280 00000 n
-0001107460 00000 n
-0001105144 00000 n
-0001107585 00000 n
-0001107649 00000 n
-0001107714 00000 n
-0001107779 00000 n
-0001107844 00000 n
-0001107909 00000 n
-0001107974 00000 n
-0001108039 00000 n
-0001108104 00000 n
-0001108169 00000 n
-0001108233 00000 n
-0001108298 00000 n
-0001108363 00000 n
-0001108428 00000 n
-0001108493 00000 n
-0001108558 00000 n
-0001108623 00000 n
-0001108688 00000 n
-0001108753 00000 n
-0001108817 00000 n
-0001108882 00000 n
-0001108947 00000 n
-0001109012 00000 n
-0001109077 00000 n
-0001109141 00000 n
-0001109206 00000 n
-0001109271 00000 n
-0001109336 00000 n
-0001109401 00000 n
-0001109466 00000 n
-0001109531 00000 n
-0001109596 00000 n
-0001109661 00000 n
-0001109725 00000 n
-0001109790 00000 n
-0001109855 00000 n
-0001109920 00000 n
-0001109985 00000 n
-0001110050 00000 n
-0001110115 00000 n
-0001110180 00000 n
-0001110245 00000 n
-0001110310 00000 n
-0001110374 00000 n
-0001110439 00000 n
-0001110504 00000 n
-0001110569 00000 n
-0001110634 00000 n
-0001110699 00000 n
-0001110764 00000 n
-0001110829 00000 n
-0001110894 00000 n
-0001110957 00000 n
-0001111022 00000 n
-0001111087 00000 n
-0001111152 00000 n
-0001111216 00000 n
-0001117484 00000 n
-0001113273 00000 n
-0001111470 00000 n
-0001113398 00000 n
-0001113462 00000 n
-0001113527 00000 n
-0001113592 00000 n
-0001113657 00000 n
-0001113722 00000 n
-0001113787 00000 n
-0001113852 00000 n
-0001113917 00000 n
-0001113982 00000 n
-0001114046 00000 n
-0001114111 00000 n
-0001114176 00000 n
-0001114241 00000 n
-0001114306 00000 n
-0001114371 00000 n
-0001114436 00000 n
-0001114501 00000 n
-0001114566 00000 n
-0001114630 00000 n
-0001114695 00000 n
-0001114760 00000 n
-0001114825 00000 n
-0001114890 00000 n
-0001114955 00000 n
-0001115020 00000 n
-0001115085 00000 n
-0001115150 00000 n
-0001115213 00000 n
-0001115278 00000 n
-0001115343 00000 n
-0001115408 00000 n
-0001115473 00000 n
-0001115538 00000 n
-0001115603 00000 n
-0001115668 00000 n
-0001115733 00000 n
-0001115798 00000 n
-0001115862 00000 n
-0001115927 00000 n
-0001115992 00000 n
-0001116057 00000 n
-0001116122 00000 n
-0001116187 00000 n
-0001116252 00000 n
-0001116317 00000 n
-0001116382 00000 n
-0001116447 00000 n
-0001116512 00000 n
-0001116577 00000 n
-0001116642 00000 n
-0001116707 00000 n
-0001116772 00000 n
-0001116837 00000 n
-0001116902 00000 n
-0001116967 00000 n
-0001117032 00000 n
-0001117096 00000 n
-0001117161 00000 n
-0001117226 00000 n
-0001117291 00000 n
-0001117356 00000 n
-0001117420 00000 n
-0001122920 00000 n
-0001119166 00000 n
-0001117635 00000 n
-0001119291 00000 n
-0001119355 00000 n
-0001119420 00000 n
-0001119485 00000 n
-0001119550 00000 n
-0001119615 00000 n
-0001119680 00000 n
-0001119745 00000 n
-0001119810 00000 n
-0001119875 00000 n
-0001119939 00000 n
-0001120004 00000 n
-0001120069 00000 n
-0001120134 00000 n
-0001120199 00000 n
-0001120264 00000 n
-0001120329 00000 n
-0001120394 00000 n
-0001120459 00000 n
-0001120523 00000 n
-0001120588 00000 n
-0001120653 00000 n
-0001120718 00000 n
-0001120783 00000 n
-0001120848 00000 n
-0001120913 00000 n
-0001120978 00000 n
-0001121043 00000 n
-0001121107 00000 n
-0001121172 00000 n
-0001121237 00000 n
-0001121302 00000 n
-0001121367 00000 n
-0001121432 00000 n
-0001121497 00000 n
-0001121562 00000 n
-0001121627 00000 n
-0001121691 00000 n
-0001121756 00000 n
-0001121821 00000 n
-0001121886 00000 n
-0001121951 00000 n
-0001122016 00000 n
-0001122081 00000 n
-0001122146 00000 n
-0001122211 00000 n
-0001122275 00000 n
-0001122403 00000 n
-0001122468 00000 n
-0001122533 00000 n
-0001122598 00000 n
-0001122663 00000 n
-0001122727 00000 n
-0001122792 00000 n
-0001122856 00000 n
-0001129135 00000 n
-0001124990 00000 n
-0001123084 00000 n
-0001125115 00000 n
-0001125179 00000 n
-0001125244 00000 n
-0001125309 00000 n
-0001125374 00000 n
-0001125439 00000 n
-0001125504 00000 n
-0001125569 00000 n
-0001125634 00000 n
-0001125699 00000 n
-0001125763 00000 n
-0001125828 00000 n
-0001125893 00000 n
-0001125958 00000 n
-0001126023 00000 n
-0001126088 00000 n
-0001126153 00000 n
-0001126218 00000 n
-0001126283 00000 n
-0001126347 00000 n
-0001126412 00000 n
-0001126477 00000 n
-0001126542 00000 n
-0001126607 00000 n
-0001126672 00000 n
-0001126737 00000 n
-0001126802 00000 n
-0001126867 00000 n
-0001126932 00000 n
-0001126996 00000 n
-0001127061 00000 n
-0001127126 00000 n
-0001127191 00000 n
-0001127256 00000 n
-0001127321 00000 n
-0001127386 00000 n
-0001127451 00000 n
-0001127516 00000 n
-0001127580 00000 n
-0001127645 00000 n
-0001127710 00000 n
-0001127775 00000 n
-0001127840 00000 n
-0001127905 00000 n
-0001127970 00000 n
-0001128035 00000 n
-0001128100 00000 n
-0001128165 00000 n
-0001128229 00000 n
-0001128294 00000 n
-0001128359 00000 n
-0001128424 00000 n
-0001128489 00000 n
-0001128554 00000 n
-0001128619 00000 n
-0001128684 00000 n
-0001128749 00000 n
-0001128812 00000 n
-0001128877 00000 n
-0001128942 00000 n
-0001129007 00000 n
-0001129071 00000 n
-0001135049 00000 n
-0001130971 00000 n
-0001129312 00000 n
-0001131096 00000 n
-0001131160 00000 n
-0001131225 00000 n
-0001131290 00000 n
-0001131355 00000 n
-0001131420 00000 n
-0001131485 00000 n
-0001131550 00000 n
-0001131615 00000 n
-0001131680 00000 n
-0001131744 00000 n
-0001131809 00000 n
-0001131874 00000 n
-0001131939 00000 n
-0001132004 00000 n
-0001132069 00000 n
-0001132134 00000 n
-0001132199 00000 n
-0001132264 00000 n
-0001132328 00000 n
-0001132393 00000 n
-0001132458 00000 n
-0001132523 00000 n
-0001132588 00000 n
-0001132716 00000 n
-0001132781 00000 n
-0001132846 00000 n
-0001132911 00000 n
-0001132976 00000 n
-0001133041 00000 n
-0001133106 00000 n
-0001133171 00000 n
-0001133234 00000 n
-0001133299 00000 n
-0001133364 00000 n
-0001133429 00000 n
-0001133494 00000 n
-0001133559 00000 n
-0001133624 00000 n
-0001133689 00000 n
-0001133754 00000 n
-0001133819 00000 n
-0001133883 00000 n
-0001133948 00000 n
-0001134013 00000 n
-0001134078 00000 n
-0001134143 00000 n
-0001134208 00000 n
-0001134273 00000 n
-0001134338 00000 n
-0001134403 00000 n
-0001134467 00000 n
-0001134532 00000 n
-0001134597 00000 n
-0001134662 00000 n
-0001134727 00000 n
-0001134792 00000 n
-0001134857 00000 n
-0001134922 00000 n
-0001134986 00000 n
-0001862481 00000 n
-0001141080 00000 n
-0001136784 00000 n
-0001135213 00000 n
-0001136909 00000 n
-0001136973 00000 n
-0001137038 00000 n
-0001137103 00000 n
-0001137168 00000 n
-0001137233 00000 n
-0001137298 00000 n
-0001137363 00000 n
-0001137428 00000 n
-0001137493 00000 n
-0001137557 00000 n
-0001137622 00000 n
-0001137687 00000 n
-0001137752 00000 n
-0001137817 00000 n
-0001137882 00000 n
-0001137947 00000 n
-0001138012 00000 n
-0001138077 00000 n
-0001138141 00000 n
-0001138206 00000 n
-0001138271 00000 n
-0001138336 00000 n
-0001138401 00000 n
-0001138466 00000 n
-0001138531 00000 n
-0001138596 00000 n
-0001138661 00000 n
-0001138724 00000 n
-0001138789 00000 n
-0001138854 00000 n
-0001138919 00000 n
-0001138984 00000 n
-0001139049 00000 n
-0001139114 00000 n
-0001139179 00000 n
-0001139244 00000 n
-0001139309 00000 n
-0001139373 00000 n
-0001139438 00000 n
-0001139503 00000 n
-0001139568 00000 n
-0001139633 00000 n
-0001139699 00000 n
-0001139765 00000 n
-0001139831 00000 n
-0001139897 00000 n
-0001139961 00000 n
-0001140027 00000 n
-0001140093 00000 n
-0001140159 00000 n
-0001140225 00000 n
-0001140291 00000 n
-0001140357 00000 n
-0001140423 00000 n
-0001140489 00000 n
-0001140554 00000 n
-0001140620 00000 n
-0001140686 00000 n
-0001140752 00000 n
-0001140818 00000 n
-0001140884 00000 n
-0001140950 00000 n
-0001141015 00000 n
-0001147093 00000 n
-0001142819 00000 n
-0001141231 00000 n
-0001142947 00000 n
-0001143013 00000 n
-0001143080 00000 n
-0001143147 00000 n
-0001143214 00000 n
-0001143281 00000 n
-0001143348 00000 n
-0001143415 00000 n
-0001143482 00000 n
-0001143549 00000 n
-0001143615 00000 n
-0001143682 00000 n
-0001143749 00000 n
-0001143816 00000 n
-0001143883 00000 n
-0001143950 00000 n
-0001144017 00000 n
-0001144084 00000 n
-0001144151 00000 n
-0001144217 00000 n
-0001144284 00000 n
-0001144351 00000 n
-0001144418 00000 n
-0001144485 00000 n
-0001144552 00000 n
-0001144619 00000 n
-0001144686 00000 n
-0001144753 00000 n
-0001144818 00000 n
-0001144885 00000 n
-0001144952 00000 n
-0001145019 00000 n
-0001145086 00000 n
-0001145153 00000 n
-0001145220 00000 n
-0001145287 00000 n
-0001145354 00000 n
-0001145420 00000 n
-0001145487 00000 n
-0001145554 00000 n
-0001145621 00000 n
-0001145688 00000 n
-0001145755 00000 n
-0001145822 00000 n
-0001145889 00000 n
-0001145956 00000 n
-0001146022 00000 n
-0001146089 00000 n
-0001146156 00000 n
-0001146223 00000 n
-0001146290 00000 n
-0001146357 00000 n
-0001146424 00000 n
-0001146491 00000 n
-0001146558 00000 n
-0001146624 00000 n
-0001146691 00000 n
-0001146758 00000 n
-0001146825 00000 n
-0001146892 00000 n
-0001146959 00000 n
-0001147026 00000 n
-0001152831 00000 n
-0001149431 00000 n
-0001147245 00000 n
-0001149559 00000 n
-0001149689 00000 n
-0001149756 00000 n
-0001149823 00000 n
-0001149890 00000 n
-0001149956 00000 n
-0001150023 00000 n
-0001150090 00000 n
-0001150157 00000 n
-0001150224 00000 n
-0001150291 00000 n
-0001150358 00000 n
-0001150425 00000 n
-0001150492 00000 n
-0001150558 00000 n
-0001150625 00000 n
-0001150692 00000 n
-0001150759 00000 n
-0001150826 00000 n
-0001150892 00000 n
-0001150959 00000 n
-0001151026 00000 n
-0001151093 00000 n
-0001151160 00000 n
-0001151227 00000 n
-0001151294 00000 n
-0001151361 00000 n
-0001151428 00000 n
-0001151494 00000 n
-0001151561 00000 n
-0001151628 00000 n
-0001151695 00000 n
-0001151762 00000 n
-0001151829 00000 n
-0001151896 00000 n
-0001151963 00000 n
-0001152030 00000 n
-0001152097 00000 n
-0001152164 00000 n
-0001152231 00000 n
-0001152298 00000 n
-0001152365 00000 n
-0001152431 00000 n
-0001152498 00000 n
-0001152565 00000 n
-0001152632 00000 n
-0001152699 00000 n
-0001152765 00000 n
-0001157355 00000 n
-0001154624 00000 n
-0001153009 00000 n
-0001154752 00000 n
-0001154818 00000 n
-0001154885 00000 n
-0001154952 00000 n
-0001155019 00000 n
-0001155086 00000 n
-0001155153 00000 n
-0001155220 00000 n
-0001155287 00000 n
-0001155354 00000 n
-0001155420 00000 n
-0001155487 00000 n
-0001155554 00000 n
-0001155621 00000 n
-0001155688 00000 n
-0001155755 00000 n
-0001155822 00000 n
-0001155889 00000 n
-0001155956 00000 n
-0001156023 00000 n
-0001156090 00000 n
-0001156156 00000 n
-0001156223 00000 n
-0001156290 00000 n
-0001156421 00000 n
-0001156488 00000 n
-0001156555 00000 n
-0001156622 00000 n
-0001156689 00000 n
-0001156756 00000 n
-0001156823 00000 n
-0001156890 00000 n
-0001156957 00000 n
-0001157024 00000 n
-0001157091 00000 n
-0001157157 00000 n
-0001157224 00000 n
-0001163416 00000 n
-0001159745 00000 n
-0001157559 00000 n
-0001159873 00000 n
-0001159939 00000 n
-0001160006 00000 n
-0001160073 00000 n
-0001160140 00000 n
-0001160207 00000 n
-0001160274 00000 n
-0001160339 00000 n
-0001160406 00000 n
-0001160473 00000 n
-0001160540 00000 n
-0001160607 00000 n
-0001160674 00000 n
-0001160741 00000 n
-0001160808 00000 n
-0001160875 00000 n
-0001160942 00000 n
-0001161009 00000 n
-0001161076 00000 n
-0001161143 00000 n
-0001161210 00000 n
-0001161277 00000 n
-0001161344 00000 n
-0001161411 00000 n
-0001161477 00000 n
-0001161544 00000 n
-0001161611 00000 n
-0001161678 00000 n
-0001161745 00000 n
-0001161812 00000 n
-0001161879 00000 n
-0001161946 00000 n
-0001162013 00000 n
-0001162080 00000 n
-0001162147 00000 n
-0001162214 00000 n
-0001162281 00000 n
-0001162347 00000 n
-0001162414 00000 n
-0001162481 00000 n
-0001162548 00000 n
-0001162615 00000 n
-0001162682 00000 n
-0001162749 00000 n
-0001162816 00000 n
-0001162883 00000 n
-0001162949 00000 n
-0001163016 00000 n
-0001163083 00000 n
-0001163150 00000 n
-0001163217 00000 n
-0001163284 00000 n
-0001163350 00000 n
-0001169542 00000 n
-0001165338 00000 n
-0001163607 00000 n
-0001165466 00000 n
-0001165532 00000 n
-0001165599 00000 n
-0001165666 00000 n
-0001165733 00000 n
-0001165800 00000 n
-0001165867 00000 n
-0001165934 00000 n
-0001166001 00000 n
-0001166068 00000 n
-0001166135 00000 n
-0001166202 00000 n
-0001166268 00000 n
-0001166335 00000 n
-0001166402 00000 n
-0001166468 00000 n
-0001166535 00000 n
-0001166602 00000 n
-0001166669 00000 n
-0001166736 00000 n
-0001166803 00000 n
-0001166870 00000 n
-0001166937 00000 n
-0001167004 00000 n
-0001167070 00000 n
-0001167137 00000 n
-0001167203 00000 n
-0001167270 00000 n
-0001167337 00000 n
-0001167404 00000 n
-0001167471 00000 n
-0001167538 00000 n
-0001167605 00000 n
-0001167672 00000 n
-0001167739 00000 n
-0001167805 00000 n
-0001167872 00000 n
-0001167939 00000 n
-0001168005 00000 n
-0001168072 00000 n
-0001168139 00000 n
-0001168206 00000 n
-0001168273 00000 n
-0001168340 00000 n
-0001168407 00000 n
-0001168474 00000 n
-0001168541 00000 n
-0001168608 00000 n
-0001168675 00000 n
-0001168741 00000 n
-0001168808 00000 n
-0001168875 00000 n
-0001168941 00000 n
-0001169008 00000 n
-0001169075 00000 n
-0001169142 00000 n
-0001169209 00000 n
-0001169276 00000 n
-0001169343 00000 n
-0001169410 00000 n
-0001169476 00000 n
-0001175679 00000 n
-0001171472 00000 n
-0001169694 00000 n
-0001171600 00000 n
-0001171666 00000 n
-0001171733 00000 n
-0001171800 00000 n
-0001171867 00000 n
-0001171934 00000 n
-0001172001 00000 n
-0001172068 00000 n
-0001172135 00000 n
-0001172202 00000 n
-0001172269 00000 n
-0001172336 00000 n
-0001172403 00000 n
-0001172470 00000 n
-0001172537 00000 n
-0001172604 00000 n
-0001172671 00000 n
-0001172738 00000 n
-0001172805 00000 n
-0001172872 00000 n
-0001172939 00000 n
-0001173006 00000 n
-0001173073 00000 n
-0001173140 00000 n
-0001173207 00000 n
-0001173274 00000 n
-0001173341 00000 n
-0001173408 00000 n
-0001173475 00000 n
-0001173542 00000 n
-0001173609 00000 n
-0001173675 00000 n
-0001173742 00000 n
-0001173809 00000 n
-0001173876 00000 n
-0001173943 00000 n
-0001174010 00000 n
-0001174076 00000 n
-0001174143 00000 n
-0001174210 00000 n
-0001174277 00000 n
-0001174344 00000 n
-0001174411 00000 n
-0001174477 00000 n
-0001174544 00000 n
-0001174611 00000 n
-0001174678 00000 n
-0001174745 00000 n
-0001174812 00000 n
-0001174879 00000 n
-0001174946 00000 n
-0001175013 00000 n
-0001175079 00000 n
-0001175146 00000 n
-0001175213 00000 n
-0001175280 00000 n
-0001175347 00000 n
-0001175414 00000 n
-0001175480 00000 n
-0001175547 00000 n
-0001175613 00000 n
-0001181746 00000 n
-0001177475 00000 n
-0001175831 00000 n
-0001177603 00000 n
-0001177669 00000 n
-0001177736 00000 n
-0001177803 00000 n
-0001177870 00000 n
-0001177937 00000 n
-0001178004 00000 n
-0001178071 00000 n
-0001178138 00000 n
-0001178204 00000 n
-0001178271 00000 n
-0001178338 00000 n
-0001178405 00000 n
-0001178472 00000 n
-0001178539 00000 n
-0001178606 00000 n
-0001178673 00000 n
-0001178739 00000 n
-0001178806 00000 n
-0001178873 00000 n
-0001178940 00000 n
-0001179007 00000 n
-0001179074 00000 n
-0001179141 00000 n
-0001179208 00000 n
-0001179275 00000 n
-0001179340 00000 n
-0001179407 00000 n
-0001179474 00000 n
-0001179541 00000 n
-0001179608 00000 n
-0001179675 00000 n
-0001179742 00000 n
-0001179809 00000 n
-0001179875 00000 n
-0001179942 00000 n
-0001180009 00000 n
-0001180076 00000 n
-0001180143 00000 n
-0001180210 00000 n
-0001180277 00000 n
-0001180344 00000 n
-0001180411 00000 n
-0001180477 00000 n
-0001180544 00000 n
-0001180611 00000 n
-0001180678 00000 n
-0001180745 00000 n
-0001180812 00000 n
-0001180879 00000 n
-0001180946 00000 n
-0001181013 00000 n
-0001181079 00000 n
-0001181146 00000 n
-0001181213 00000 n
-0001181280 00000 n
-0001181347 00000 n
-0001181414 00000 n
-0001181481 00000 n
-0001181547 00000 n
-0001181614 00000 n
-0001181680 00000 n
-0001188028 00000 n
-0001183822 00000 n
-0001181898 00000 n
-0001183950 00000 n
-0001184016 00000 n
-0001184083 00000 n
-0001184150 00000 n
-0001184217 00000 n
-0001184284 00000 n
-0001184351 00000 n
-0001184418 00000 n
-0001184485 00000 n
-0001184552 00000 n
-0001184619 00000 n
-0001184685 00000 n
-0001184752 00000 n
-0001184819 00000 n
-0001184886 00000 n
-0001184953 00000 n
-0001185020 00000 n
-0001185087 00000 n
-0001185154 00000 n
-0001185221 00000 n
-0001185288 00000 n
-0001185354 00000 n
-0001185420 00000 n
-0001185487 00000 n
-0001185554 00000 n
-0001185621 00000 n
-0001185688 00000 n
-0001185755 00000 n
-0001185822 00000 n
-0001185889 00000 n
-0001185956 00000 n
-0001186023 00000 n
-0001186090 00000 n
-0001186156 00000 n
-0001186223 00000 n
-0001186290 00000 n
-0001186357 00000 n
-0001186424 00000 n
-0001186491 00000 n
-0001186558 00000 n
-0001186625 00000 n
-0001186692 00000 n
-0001186759 00000 n
-0001186825 00000 n
-0001186892 00000 n
-0001186959 00000 n
-0001187026 00000 n
-0001187093 00000 n
-0001187160 00000 n
-0001187227 00000 n
-0001187294 00000 n
-0001187361 00000 n
-0001187428 00000 n
-0001187494 00000 n
-0001187561 00000 n
-0001187628 00000 n
-0001187695 00000 n
-0001187762 00000 n
-0001187829 00000 n
-0001187896 00000 n
-0001187962 00000 n
-0001194391 00000 n
-0001190116 00000 n
-0001188180 00000 n
-0001190245 00000 n
-0001190311 00000 n
-0001190378 00000 n
-0001190445 00000 n
-0001190512 00000 n
-0001190579 00000 n
-0001190646 00000 n
-0001190713 00000 n
-0001190780 00000 n
-0001190847 00000 n
-0001190914 00000 n
-0001190981 00000 n
-0001191048 00000 n
-0001191115 00000 n
-0001191182 00000 n
-0001191249 00000 n
-0001191316 00000 n
-0001191383 00000 n
-0001191450 00000 n
-0001191517 00000 n
-0001191583 00000 n
-0001191650 00000 n
-0001191717 00000 n
-0001191784 00000 n
-0001191851 00000 n
-0001191917 00000 n
-0001191984 00000 n
-0001192051 00000 n
-0001192118 00000 n
-0001192185 00000 n
-0001192252 00000 n
-0001192319 00000 n
-0001192386 00000 n
-0001192453 00000 n
-0001192520 00000 n
-0001192587 00000 n
-0001192654 00000 n
-0001192721 00000 n
-0001192788 00000 n
-0001192855 00000 n
-0001192921 00000 n
-0001192988 00000 n
-0001193055 00000 n
-0001193122 00000 n
-0001193189 00000 n
-0001193255 00000 n
-0001193322 00000 n
-0001193389 00000 n
-0001193456 00000 n
-0001193523 00000 n
-0001193590 00000 n
-0001193657 00000 n
-0001193724 00000 n
-0001193791 00000 n
-0001193858 00000 n
-0001193925 00000 n
-0001193991 00000 n
-0001194058 00000 n
-0001194125 00000 n
-0001194192 00000 n
-0001194259 00000 n
-0001194325 00000 n
-0001862654 00000 n
-0001200555 00000 n
-0001196347 00000 n
-0001194543 00000 n
-0001196476 00000 n
-0001196542 00000 n
-0001196609 00000 n
-0001196676 00000 n
-0001196743 00000 n
-0001196810 00000 n
-0001196877 00000 n
-0001196944 00000 n
-0001197011 00000 n
-0001197078 00000 n
-0001197145 00000 n
-0001197212 00000 n
-0001197278 00000 n
-0001197345 00000 n
-0001197412 00000 n
-0001197479 00000 n
-0001197546 00000 n
-0001197613 00000 n
-0001197680 00000 n
-0001197747 00000 n
-0001197814 00000 n
-0001197881 00000 n
-0001197947 00000 n
-0001198014 00000 n
-0001198081 00000 n
-0001198148 00000 n
-0001198215 00000 n
-0001198282 00000 n
-0001198349 00000 n
-0001198416 00000 n
-0001198483 00000 n
-0001198550 00000 n
-0001198617 00000 n
-0001198684 00000 n
-0001198750 00000 n
-0001198817 00000 n
-0001198884 00000 n
-0001198951 00000 n
-0001199018 00000 n
-0001199085 00000 n
-0001199152 00000 n
-0001199219 00000 n
-0001199286 00000 n
-0001199352 00000 n
-0001199418 00000 n
-0001199485 00000 n
-0001199552 00000 n
-0001199619 00000 n
-0001199686 00000 n
-0001199753 00000 n
-0001199820 00000 n
-0001199887 00000 n
-0001199954 00000 n
-0001200021 00000 n
-0001200088 00000 n
-0001200155 00000 n
-0001200222 00000 n
-0001200289 00000 n
-0001200356 00000 n
-0001200423 00000 n
-0001200489 00000 n
-0001206828 00000 n
-0001202557 00000 n
-0001200707 00000 n
-0001202686 00000 n
-0001202752 00000 n
-0001202819 00000 n
-0001202886 00000 n
-0001202953 00000 n
-0001203020 00000 n
-0001203086 00000 n
-0001203153 00000 n
-0001203220 00000 n
-0001203287 00000 n
-0001203354 00000 n
-0001203421 00000 n
-0001203488 00000 n
-0001203555 00000 n
-0001203622 00000 n
-0001203687 00000 n
-0001203754 00000 n
-0001203821 00000 n
-0001203888 00000 n
-0001203955 00000 n
-0001204021 00000 n
-0001204088 00000 n
-0001204155 00000 n
-0001204222 00000 n
-0001204289 00000 n
-0001204355 00000 n
-0001204422 00000 n
-0001204489 00000 n
-0001204556 00000 n
-0001204623 00000 n
-0001204690 00000 n
-0001204756 00000 n
-0001204823 00000 n
-0001204890 00000 n
-0001204957 00000 n
-0001205024 00000 n
-0001205091 00000 n
-0001205158 00000 n
-0001205225 00000 n
-0001205292 00000 n
-0001205359 00000 n
-0001205426 00000 n
-0001205493 00000 n
-0001205560 00000 n
-0001205627 00000 n
-0001205693 00000 n
-0001205760 00000 n
-0001205827 00000 n
-0001205894 00000 n
-0001205961 00000 n
-0001206027 00000 n
-0001206094 00000 n
-0001206161 00000 n
-0001206228 00000 n
-0001206295 00000 n
-0001206362 00000 n
-0001206428 00000 n
-0001206495 00000 n
-0001206562 00000 n
-0001206629 00000 n
-0001206696 00000 n
-0001206762 00000 n
-0001212860 00000 n
-0001208651 00000 n
-0001206980 00000 n
-0001208780 00000 n
-0001208846 00000 n
-0001208913 00000 n
-0001208980 00000 n
-0001209047 00000 n
-0001209114 00000 n
-0001209181 00000 n
-0001209248 00000 n
-0001209315 00000 n
-0001209382 00000 n
-0001209449 00000 n
-0001209516 00000 n
-0001209582 00000 n
-0001209649 00000 n
-0001209716 00000 n
-0001209783 00000 n
-0001209850 00000 n
-0001209917 00000 n
-0001209984 00000 n
-0001210051 00000 n
-0001210118 00000 n
-0001210185 00000 n
-0001210251 00000 n
-0001210318 00000 n
-0001210385 00000 n
-0001210452 00000 n
-0001210519 00000 n
-0001210586 00000 n
-0001210653 00000 n
-0001210720 00000 n
-0001210787 00000 n
-0001210854 00000 n
-0001210921 00000 n
-0001210987 00000 n
-0001211054 00000 n
-0001211121 00000 n
-0001211188 00000 n
-0001211255 00000 n
-0001211322 00000 n
-0001211389 00000 n
-0001211456 00000 n
-0001211523 00000 n
-0001211590 00000 n
-0001211657 00000 n
-0001211723 00000 n
-0001211790 00000 n
-0001211857 00000 n
-0001211924 00000 n
-0001211991 00000 n
-0001212058 00000 n
-0001212125 00000 n
-0001212192 00000 n
-0001212259 00000 n
-0001212326 00000 n
-0001212393 00000 n
-0001212460 00000 n
-0001212527 00000 n
-0001212594 00000 n
-0001212661 00000 n
-0001212728 00000 n
-0001212794 00000 n
-0001219084 00000 n
-0001214877 00000 n
-0001213012 00000 n
-0001215006 00000 n
-0001215072 00000 n
-0001215139 00000 n
-0001215206 00000 n
-0001215273 00000 n
-0001215340 00000 n
-0001215407 00000 n
-0001215474 00000 n
-0001215541 00000 n
-0001215608 00000 n
-0001215675 00000 n
-0001215742 00000 n
-0001215809 00000 n
-0001215876 00000 n
-0001215943 00000 n
-0001216010 00000 n
-0001216076 00000 n
-0001216143 00000 n
-0001216210 00000 n
-0001216277 00000 n
-0001216344 00000 n
-0001216411 00000 n
-0001216478 00000 n
-0001216545 00000 n
-0001216612 00000 n
-0001216679 00000 n
-0001216746 00000 n
-0001216813 00000 n
-0001216880 00000 n
-0001216947 00000 n
-0001217014 00000 n
-0001217081 00000 n
-0001217147 00000 n
-0001217214 00000 n
-0001217281 00000 n
-0001217348 00000 n
-0001217415 00000 n
-0001217482 00000 n
-0001217549 00000 n
-0001217616 00000 n
-0001217683 00000 n
-0001217750 00000 n
-0001217817 00000 n
-0001217884 00000 n
-0001217951 00000 n
-0001218018 00000 n
-0001218085 00000 n
-0001218150 00000 n
-0001218217 00000 n
-0001218284 00000 n
-0001218351 00000 n
-0001218416 00000 n
-0001218483 00000 n
-0001218550 00000 n
-0001218617 00000 n
-0001218684 00000 n
-0001218751 00000 n
-0001218818 00000 n
-0001218885 00000 n
-0001218952 00000 n
-0001219018 00000 n
-0001225224 00000 n
-0001220883 00000 n
-0001219236 00000 n
-0001221012 00000 n
-0001221078 00000 n
-0001221145 00000 n
-0001221212 00000 n
-0001221279 00000 n
-0001221346 00000 n
-0001221413 00000 n
-0001221480 00000 n
-0001221547 00000 n
-0001221614 00000 n
-0001221681 00000 n
-0001221747 00000 n
-0001221814 00000 n
-0001221881 00000 n
-0001221948 00000 n
-0001222015 00000 n
-0001222082 00000 n
-0001222149 00000 n
-0001222216 00000 n
-0001222283 00000 n
-0001222349 00000 n
-0001222416 00000 n
-0001222483 00000 n
-0001222550 00000 n
-0001222617 00000 n
-0001222684 00000 n
-0001222751 00000 n
-0001222818 00000 n
-0001222885 00000 n
-0001222952 00000 n
-0001223018 00000 n
-0001223085 00000 n
-0001223152 00000 n
-0001223219 00000 n
-0001223286 00000 n
-0001223353 00000 n
-0001223420 00000 n
-0001223487 00000 n
-0001223554 00000 n
-0001223621 00000 n
-0001223688 00000 n
-0001223754 00000 n
-0001223821 00000 n
-0001223888 00000 n
-0001223955 00000 n
-0001224022 00000 n
-0001224089 00000 n
-0001224156 00000 n
-0001224223 00000 n
-0001224290 00000 n
-0001224357 00000 n
-0001224423 00000 n
-0001224490 00000 n
-0001224557 00000 n
-0001224624 00000 n
-0001224691 00000 n
-0001224758 00000 n
-0001224825 00000 n
-0001224892 00000 n
-0001224959 00000 n
-0001225025 00000 n
-0001225092 00000 n
-0001225158 00000 n
-0001231276 00000 n
-0001226867 00000 n
-0001225376 00000 n
-0001226996 00000 n
-0001227062 00000 n
-0001227129 00000 n
-0001227196 00000 n
-0001227263 00000 n
-0001227330 00000 n
-0001227397 00000 n
-0001227464 00000 n
-0001227531 00000 n
-0001227598 00000 n
-0001227664 00000 n
-0001227731 00000 n
-0001227798 00000 n
-0001227865 00000 n
-0001227932 00000 n
-0001227999 00000 n
-0001228066 00000 n
-0001228133 00000 n
-0001228200 00000 n
-0001228267 00000 n
-0001228334 00000 n
-0001228401 00000 n
-0001228468 00000 n
-0001228535 00000 n
-0001228602 00000 n
-0001228669 00000 n
-0001228736 00000 n
-0001228803 00000 n
-0001228870 00000 n
-0001228936 00000 n
-0001229003 00000 n
-0001229070 00000 n
-0001229137 00000 n
-0001229204 00000 n
-0001229271 00000 n
-0001229338 00000 n
-0001229405 00000 n
-0001229472 00000 n
-0001229539 00000 n
-0001229605 00000 n
-0001229672 00000 n
-0001229739 00000 n
-0001229806 00000 n
-0001229873 00000 n
-0001229940 00000 n
-0001230007 00000 n
-0001230074 00000 n
-0001230141 00000 n
-0001230207 00000 n
-0001230274 00000 n
-0001230341 00000 n
-0001230408 00000 n
-0001230475 00000 n
-0001230542 00000 n
-0001230609 00000 n
-0001230676 00000 n
-0001230743 00000 n
-0001230810 00000 n
-0001230876 00000 n
-0001230943 00000 n
-0001231010 00000 n
-0001231077 00000 n
-0001231144 00000 n
-0001231210 00000 n
-0001237405 00000 n
-0001233130 00000 n
-0001231428 00000 n
-0001233259 00000 n
-0001233325 00000 n
-0001233392 00000 n
-0001233459 00000 n
-0001233526 00000 n
-0001233593 00000 n
-0001233660 00000 n
-0001233727 00000 n
-0001233794 00000 n
-0001233861 00000 n
-0001233927 00000 n
-0001233994 00000 n
-0001234061 00000 n
-0001234128 00000 n
-0001234194 00000 n
-0001234261 00000 n
-0001234328 00000 n
-0001234395 00000 n
-0001234462 00000 n
-0001234529 00000 n
-0001234596 00000 n
-0001234663 00000 n
-0001234730 00000 n
-0001234796 00000 n
-0001234863 00000 n
-0001234930 00000 n
-0001234997 00000 n
-0001235064 00000 n
-0001235131 00000 n
-0001235198 00000 n
-0001235265 00000 n
-0001235332 00000 n
-0001235399 00000 n
-0001235466 00000 n
-0001235533 00000 n
-0001235600 00000 n
-0001235667 00000 n
-0001235734 00000 n
-0001235801 00000 n
-0001235868 00000 n
-0001235935 00000 n
-0001236002 00000 n
-0001236067 00000 n
-0001236134 00000 n
-0001236201 00000 n
-0001236268 00000 n
-0001236335 00000 n
-0001236402 00000 n
-0001236469 00000 n
-0001236536 00000 n
-0001236603 00000 n
-0001236669 00000 n
-0001236736 00000 n
-0001236803 00000 n
-0001236870 00000 n
-0001236937 00000 n
-0001237004 00000 n
-0001237071 00000 n
-0001237138 00000 n
-0001237205 00000 n
-0001237271 00000 n
-0001237338 00000 n
-0001243564 00000 n
-0001239291 00000 n
-0001237570 00000 n
-0001239420 00000 n
-0001239486 00000 n
-0001239553 00000 n
-0001239620 00000 n
-0001239687 00000 n
-0001239754 00000 n
-0001239821 00000 n
-0001239888 00000 n
-0001239955 00000 n
-0001240022 00000 n
-0001240088 00000 n
-0001240155 00000 n
-0001240222 00000 n
-0001240289 00000 n
-0001240356 00000 n
-0001240423 00000 n
-0001240490 00000 n
-0001240557 00000 n
-0001240624 00000 n
-0001240690 00000 n
-0001240757 00000 n
-0001240824 00000 n
-0001240891 00000 n
-0001240958 00000 n
-0001241025 00000 n
-0001241092 00000 n
-0001241159 00000 n
-0001241226 00000 n
-0001241291 00000 n
-0001241358 00000 n
-0001241425 00000 n
-0001241492 00000 n
-0001241559 00000 n
-0001241626 00000 n
-0001241693 00000 n
-0001241760 00000 n
-0001241827 00000 n
-0001241893 00000 n
-0001241960 00000 n
-0001242027 00000 n
-0001242094 00000 n
-0001242161 00000 n
-0001242228 00000 n
-0001242295 00000 n
-0001242362 00000 n
-0001242429 00000 n
-0001242495 00000 n
-0001242562 00000 n
-0001242629 00000 n
-0001242696 00000 n
-0001242763 00000 n
-0001242830 00000 n
-0001242897 00000 n
-0001242964 00000 n
-0001243031 00000 n
-0001243097 00000 n
-0001243164 00000 n
-0001243231 00000 n
-0001243298 00000 n
-0001243365 00000 n
-0001243432 00000 n
-0001243498 00000 n
-0001249645 00000 n
-0001245239 00000 n
-0001243729 00000 n
-0001245368 00000 n
-0001245434 00000 n
-0001245501 00000 n
-0001245568 00000 n
-0001245635 00000 n
-0001245702 00000 n
-0001245769 00000 n
-0001245836 00000 n
-0001245903 00000 n
-0001245970 00000 n
-0001246036 00000 n
-0001246103 00000 n
-0001246170 00000 n
-0001246237 00000 n
-0001246304 00000 n
-0001246371 00000 n
-0001246438 00000 n
-0001246505 00000 n
-0001246572 00000 n
-0001246638 00000 n
-0001246705 00000 n
-0001246772 00000 n
-0001246839 00000 n
-0001246906 00000 n
-0001246973 00000 n
-0001247040 00000 n
-0001247107 00000 n
-0001247174 00000 n
-0001247239 00000 n
-0001247306 00000 n
-0001247373 00000 n
-0001247440 00000 n
-0001247507 00000 n
-0001247574 00000 n
-0001247641 00000 n
-0001247708 00000 n
-0001247775 00000 n
-0001247841 00000 n
-0001247908 00000 n
-0001247975 00000 n
-0001248042 00000 n
-0001248109 00000 n
-0001248176 00000 n
-0001248243 00000 n
-0001248310 00000 n
-0001248377 00000 n
-0001248443 00000 n
-0001248510 00000 n
-0001248577 00000 n
-0001248644 00000 n
-0001248711 00000 n
-0001248778 00000 n
-0001248845 00000 n
-0001248912 00000 n
-0001248979 00000 n
-0001249045 00000 n
-0001249112 00000 n
-0001249179 00000 n
-0001249246 00000 n
-0001249313 00000 n
-0001249380 00000 n
-0001249447 00000 n
-0001249514 00000 n
-0001249579 00000 n
-0001255819 00000 n
-0001251412 00000 n
-0001249797 00000 n
-0001251541 00000 n
-0001251607 00000 n
-0001251674 00000 n
-0001251741 00000 n
-0001251808 00000 n
-0001251875 00000 n
-0001251942 00000 n
-0001252009 00000 n
-0001252076 00000 n
-0001252143 00000 n
-0001252209 00000 n
-0001252276 00000 n
-0001252343 00000 n
-0001252410 00000 n
-0001252477 00000 n
-0001252544 00000 n
-0001252611 00000 n
-0001252678 00000 n
-0001252745 00000 n
-0001252811 00000 n
-0001252878 00000 n
-0001252945 00000 n
-0001253012 00000 n
-0001253079 00000 n
-0001253146 00000 n
-0001253213 00000 n
-0001253280 00000 n
-0001253347 00000 n
-0001253412 00000 n
-0001253479 00000 n
-0001253546 00000 n
-0001253613 00000 n
-0001253680 00000 n
-0001253747 00000 n
-0001253814 00000 n
-0001253881 00000 n
-0001253948 00000 n
-0001254014 00000 n
-0001254081 00000 n
-0001254148 00000 n
-0001254215 00000 n
-0001254282 00000 n
-0001254349 00000 n
-0001254416 00000 n
-0001254483 00000 n
-0001254550 00000 n
-0001254616 00000 n
-0001254683 00000 n
-0001254750 00000 n
-0001254817 00000 n
-0001254884 00000 n
-0001254951 00000 n
-0001255018 00000 n
-0001255085 00000 n
-0001255152 00000 n
-0001255218 00000 n
-0001255285 00000 n
-0001255352 00000 n
-0001255419 00000 n
-0001255486 00000 n
-0001255553 00000 n
-0001255620 00000 n
-0001255687 00000 n
-0001255753 00000 n
-0001862830 00000 n
-0001258999 00000 n
-0001256998 00000 n
-0001255971 00000 n
-0001257127 00000 n
-0001257193 00000 n
-0001257260 00000 n
-0001257327 00000 n
-0001257394 00000 n
-0001257461 00000 n
-0001257528 00000 n
-0001257595 00000 n
-0001257662 00000 n
-0001257729 00000 n
-0001257796 00000 n
-0001257862 00000 n
-0001257929 00000 n
-0001257996 00000 n
-0001258063 00000 n
-0001258130 00000 n
-0001258197 00000 n
-0001258264 00000 n
-0001258331 00000 n
-0001258398 00000 n
-0001258465 00000 n
-0001258531 00000 n
-0001258597 00000 n
-0001258664 00000 n
-0001258731 00000 n
-0001258798 00000 n
-0001258865 00000 n
-0001258932 00000 n
-0001260925 00000 n
-0001261081 00000 n
-0001261238 00000 n
-0001261395 00000 n
-0001261551 00000 n
-0001261708 00000 n
-0001261865 00000 n
-0001262022 00000 n
-0001262179 00000 n
-0001262336 00000 n
-0001262494 00000 n
-0001262652 00000 n
-0001262810 00000 n
-0001262966 00000 n
-0001263123 00000 n
-0001263281 00000 n
-0001263439 00000 n
-0001263597 00000 n
-0001263755 00000 n
-0001263913 00000 n
-0001264071 00000 n
-0001264228 00000 n
-0001264385 00000 n
-0001264542 00000 n
-0001264699 00000 n
-0001264857 00000 n
-0001265015 00000 n
-0001265173 00000 n
-0001265331 00000 n
-0001265489 00000 n
-0001266779 00000 n
-0001265774 00000 n
-0001260455 00000 n
-0001259151 00000 n
-0001265644 00000 n
-0001260602 00000 n
-0001266937 00000 n
-0001267095 00000 n
-0001267253 00000 n
-0001267411 00000 n
-0001267569 00000 n
-0001267727 00000 n
-0001267883 00000 n
-0001268041 00000 n
-0001268199 00000 n
-0001268423 00000 n
-0001266509 00000 n
-0001265926 00000 n
-0001268357 00000 n
-0001266656 00000 n
-0001852057 00000 n
-0001268689 00000 n
-0001852892 00000 n
-0001268767 00000 n
-0001852712 00000 n
-0001268801 00000 n
-0001268883 00000 n
-0001853099 00000 n
-0001268981 00000 n
-0001853016 00000 n
-0001269015 00000 n
-0001269043 00000 n
-0001269393 00000 n
-0001853225 00000 n
-0001269831 00000 n
-0001269859 00000 n
-0001270049 00000 n
-0001270205 00000 n
-0001270297 00000 n
-0001270379 00000 n
-0001270461 00000 n
-0001270785 00000 n
-0001271055 00000 n
-0001271499 00000 n
-0001271527 00000 n
-0001271771 00000 n
-0001272195 00000 n
-0001272567 00000 n
-0001272887 00000 n
-0001273419 00000 n
-0001273813 00000 n
-0001273861 00000 n
-0001273967 00000 n
-0001274251 00000 n
-0001274405 00000 n
-0001274635 00000 n
-0001274875 00000 n
-0001274911 00000 n
-0001275017 00000 n
-0001307051 00000 n
-0001275153 00000 n
-0001337537 00000 n
-0001307555 00000 n
-0001360698 00000 n
-0001338020 00000 n
-0001381732 00000 n
-0001360952 00000 n
-0001385218 00000 n
-0001381993 00000 n
-0001391015 00000 n
-0001385574 00000 n
-0001394393 00000 n
-0001391304 00000 n
-0001431130 00000 n
-0001394638 00000 n
-0001454476 00000 n
-0001431814 00000 n
-0001477880 00000 n
-0001454791 00000 n
-0001500755 00000 n
-0001478152 00000 n
-0001523343 00000 n
-0001501050 00000 n
-0001553934 00000 n
-0001523638 00000 n
-0001580123 00000 n
-0001554417 00000 n
-0001598713 00000 n
-0001580480 00000 n
-0001607652 00000 n
-0001599061 00000 n
-0001615747 00000 n
-0001607906 00000 n
-0001644188 00000 n
-0001615992 00000 n
-0001663626 00000 n
-0001644522 00000 n
-0001678247 00000 n
-0001663969 00000 n
-0001692891 00000 n
-0001678509 00000 n
-0001706719 00000 n
-0001693212 00000 n
-0001709921 00000 n
-0001706980 00000 n
-0001712685 00000 n
-0001710184 00000 n
-0001715691 00000 n
-0001712939 00000 n
-0001748509 00000 n
-0001715939 00000 n
-0001768893 00000 n
-0001749176 00000 n
-0001794319 00000 n
-0001769175 00000 n
-0001827059 00000 n
-0001794755 00000 n
-0001851775 00000 n
-0001827809 00000 n
-0001862945 00000 n
-0001863109 00000 n
-0001863276 00000 n
-0001863381 00000 n
-0001863471 00000 n
-0001867292 00000 n
-0001868013 00000 n
-0001868749 00000 n
-0001869476 00000 n
-0001870145 00000 n
-0001870817 00000 n
-0001871486 00000 n
-0001872153 00000 n
-0001872823 00000 n
-0001873493 00000 n
-0001874160 00000 n
-0001874830 00000 n
-0001875500 00000 n
-0001876167 00000 n
-0001876836 00000 n
-0001877506 00000 n
-0001878176 00000 n
-0001878843 00000 n
-0001879513 00000 n
-0001880183 00000 n
-0001880850 00000 n
-0001881519 00000 n
-0001882191 00000 n
-0001882860 00000 n
-0001883527 00000 n
-0001884197 00000 n
-0001884867 00000 n
-0001885534 00000 n
-0001886204 00000 n
-0001886874 00000 n
-0001887543 00000 n
-0001888212 00000 n
-0001888882 00000 n
-0001889552 00000 n
-0001890219 00000 n
-0001890889 00000 n
-0001891559 00000 n
-0001892229 00000 n
-0001892894 00000 n
-0001893563 00000 n
-0001894233 00000 n
-0001894900 00000 n
-0001895570 00000 n
-0001896240 00000 n
-0001896910 00000 n
-0001897577 00000 n
-0001898246 00000 n
-0001898918 00000 n
-0001899584 00000 n
-0001900254 00000 n
-0001900924 00000 n
-0001901594 00000 n
-0001902261 00000 n
-0001902931 00000 n
-0001903601 00000 n
-0001904270 00000 n
-0001904939 00000 n
-0001905609 00000 n
-0001906279 00000 n
-0001906946 00000 n
-0001907616 00000 n
-0001908286 00000 n
-0001908953 00000 n
-0001909622 00000 n
-0001910294 00000 n
-0001910963 00000 n
-0001911630 00000 n
-0001912300 00000 n
-0001912970 00000 n
-0001913637 00000 n
-0001914307 00000 n
-0001914977 00000 n
-0001915642 00000 n
-0001916307 00000 n
-0001916977 00000 n
-0001917647 00000 n
-0001918314 00000 n
-0001918984 00000 n
-0001919654 00000 n
-0001920320 00000 n
-0001920992 00000 n
-0001921661 00000 n
-0001922331 00000 n
-0001922998 00000 n
-0001923668 00000 n
-0001924338 00000 n
-0001925005 00000 n
-0001925675 00000 n
-0001926344 00000 n
-0001927016 00000 n
-0001927682 00000 n
-0001928352 00000 n
-0001929022 00000 n
-0001929689 00000 n
-0001930359 00000 n
-0001931029 00000 n
-0001931699 00000 n
-0001932368 00000 n
-0001933037 00000 n
-0001933707 00000 n
-0001934374 00000 n
-0001935044 00000 n
-0001935714 00000 n
-0001936384 00000 n
-0001937051 00000 n
-0001937720 00000 n
-0001938392 00000 n
-0001939054 00000 n
-0001939724 00000 n
-0001940394 00000 n
-0001941064 00000 n
-0001941731 00000 n
-0001942401 00000 n
-0001943070 00000 n
-0001943739 00000 n
-0001944409 00000 n
-0001945079 00000 n
-0001945749 00000 n
-0001946416 00000 n
-0001947086 00000 n
-0001947756 00000 n
-0001948422 00000 n
-0001949094 00000 n
-0001949763 00000 n
-0001950433 00000 n
-0001951100 00000 n
-0001951770 00000 n
-0001952440 00000 n
-0001953107 00000 n
-0001953777 00000 n
-0001954446 00000 n
-0001955118 00000 n
-0001955783 00000 n
-0001956453 00000 n
-0001957123 00000 n
-0001957790 00000 n
-0001958460 00000 n
-0001959130 00000 n
-0001959796 00000 n
-0001960468 00000 n
-0001961137 00000 n
-0001961807 00000 n
-0001962470 00000 n
-0001963140 00000 n
-0001963810 00000 n
-0001964477 00000 n
-0001965146 00000 n
-0001965818 00000 n
-0001966487 00000 n
-0001967154 00000 n
-0001967824 00000 n
-0001968494 00000 n
-0001969161 00000 n
-0001969831 00000 n
-0001970501 00000 n
-0001971170 00000 n
-0001971839 00000 n
-0001972509 00000 n
-0001973179 00000 n
-0001973846 00000 n
-0001974516 00000 n
-0001975186 00000 n
-0001975856 00000 n
-0001976522 00000 n
-0001977194 00000 n
-0001977863 00000 n
-0001978530 00000 n
-0001979200 00000 n
-0001979870 00000 n
-0001980540 00000 n
-0001981207 00000 n
-0001981877 00000 n
-0001982546 00000 n
-0001983215 00000 n
-0001983885 00000 n
-0001984555 00000 n
-0001985225 00000 n
-0001985888 00000 n
-0001986558 00000 n
-0001987228 00000 n
-0001987897 00000 n
-0001988566 00000 n
-0001989236 00000 n
-0001989906 00000 n
-0001990573 00000 n
-0001991243 00000 n
-0001991913 00000 n
-0001992580 00000 n
-0001993249 00000 n
-0001993921 00000 n
-0001994590 00000 n
-0001995257 00000 n
-0001995927 00000 n
-0001996597 00000 n
-0001997264 00000 n
-0001997934 00000 n
-0001998604 00000 n
-0001999271 00000 n
-0001999940 00000 n
-0002000610 00000 n
-0002001280 00000 n
-0002001947 00000 n
-0002002617 00000 n
-0002003287 00000 n
-0002003954 00000 n
-0002004623 00000 n
-0002005295 00000 n
-0002005964 00000 n
-0002006631 00000 n
-0002007303 00000 n
-0002007976 00000 n
-0002008642 00000 n
-0002009315 00000 n
-0002009987 00000 n
-0002010661 00000 n
-0002011330 00000 n
-0002012003 00000 n
-0002012676 00000 n
-0002013346 00000 n
-0002014019 00000 n
-0002014692 00000 n
-0002015365 00000 n
-0002016036 00000 n
-0002016708 00000 n
-0002017381 00000 n
-0002018051 00000 n
-0002018724 00000 n
-0002019397 00000 n
-0002020070 00000 n
-0002020740 00000 n
-0002021412 00000 n
-0002022086 00000 n
-0002022755 00000 n
-0002023428 00000 n
-0002024101 00000 n
-0002024774 00000 n
-0002025444 00000 n
-0002026117 00000 n
-0002026790 00000 n
-0002027461 00000 n
-0002028133 00000 n
-0002028806 00000 n
-0002029479 00000 n
-0002030149 00000 n
-0002030822 00000 n
-0002031495 00000 n
-0002032160 00000 n
-0002032834 00000 n
-0002033506 00000 n
-0002034179 00000 n
-0002034849 00000 n
-0002035522 00000 n
-0002036195 00000 n
-0002036865 00000 n
-0002037538 00000 n
-0002038210 00000 n
-0002038884 00000 n
-0002039552 00000 n
-0002040225 00000 n
-0002040898 00000 n
-0002041568 00000 n
-0002042241 00000 n
-0002042914 00000 n
-0002043583 00000 n
-0002044257 00000 n
-0002044929 00000 n
-0002045602 00000 n
-0002046272 00000 n
-0002046945 00000 n
-0002047618 00000 n
-0002048288 00000 n
-0002048961 00000 n
-0002049633 00000 n
-0002050307 00000 n
-0002050976 00000 n
-0002051649 00000 n
-0002052322 00000 n
-0002052992 00000 n
-0002053679 00000 n
-0002054381 00000 n
-0002055083 00000 n
-0002055778 00000 n
-0002056480 00000 n
-0002057182 00000 n
-0002057880 00000 n
-0002058582 00000 n
-0002059284 00000 n
-0002059986 00000 n
-0002060683 00000 n
-0002061387 00000 n
-0002062088 00000 n
-0002062786 00000 n
-0002063488 00000 n
-0002064190 00000 n
-0002064892 00000 n
-0002065590 00000 n
-0002066292 00000 n
-0002066993 00000 n
-0002067693 00000 n
-0002068395 00000 n
-0002069097 00000 n
-0002069799 00000 n
-0002070497 00000 n
-0002071199 00000 n
-0002071901 00000 n
-0002072598 00000 n
-0002073302 00000 n
-0002074003 00000 n
-0002074705 00000 n
-0002075403 00000 n
-0002076105 00000 n
-0002076807 00000 n
-0002077505 00000 n
-0002078207 00000 n
-0002078908 00000 n
-0002079612 00000 n
-0002080366 00000 n
-0002081070 00000 n
-0002081774 00000 n
-0002082474 00000 n
-0002083194 00000 n
-0002083864 00000 n
-0002084534 00000 n
-0002085260 00000 n
-0002085864 00000 n
-0002086253 00000 n
-0002086640 00000 n
-0002087026 00000 n
-0002087413 00000 n
-0002087800 00000 n
-0002088187 00000 n
-0002088574 00000 n
-0002088961 00000 n
-0002089345 00000 n
-0002089732 00000 n
-0002089838 00000 n
-0002090016 00000 n
-0002090058 00000 n
-0002090194 00000 n
-trailer
-<< /Size 11736 /Root 11734 0 R /Info 11735 0 R /ID [ <CFE6D6B68DD61EB509DA8266E9C11E0B> <CFE6D6B68DD61EB509DA8266E9C11E0B> ] >>
-startxref
-2090828
-%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 628adbb438..f5ec63ad3a 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
@@ -620,47 +620,45 @@ endobj
<< /S /GoTo /D [ 357 0 R /Fit ] >>
endobj
360 0 obj
-<< /Filter /FlateDecode /Length 10191 >>
-stream
-x}I%7]}$Pd(
-hEӺ5n
-3Ts2h礙qqfn<ݦ͛1/`/fot_nɘ}OxgLƤo3 E_C&vE!_AjCq+޲[HDf_ͻD\H[]M
-_TMr>mr|fo}įQ, `f'<{ J}T\[5ۊdBD"Q;(n| |p$kT_CdA-U@,x:_$#zXgY>W_|EnsFK? Pw~N3+g$Nc;VMД*y;- K?Ϯ 5o
-tΑc#_i'd[FZbيfք|blS:d_+^U9|mUK]W~l޸|۰dwRٜIG^n 1nH4];RڂqGvx%%~o|z[ayii9c2;b1IK(U:<Ըk}0u} KWSBOJz
-OAOS_@Plɹ 2Zri+/0MݒVq2t6s1GI5>٬wYrBc7Q:%#_ntkiۅ{{)j( c;݀6?˭KD !IY DmXpVBfz #R9vn}}& ph=d/z dFK.cgXvgLX{1{I*v_8n{! LZ \؏1vG;@N0#W=3H0z[, 2/0H4
-aƀ9^3ut0GdL0Wф:)>7
-;W^s8v E{աFm Lnoʍ4o-ˠ g@{`<NA[4\hޏaLܜW1#'0s1jp!l&=xhXq%T.a~"45ʢwW ka8,:a>w/6؟mayaff= ψ]
-Sa, ۸(կ>Ͼhmax:,;(#<OlN/7= sNsnrǹ)aSU:c
-tW\:]/e`Cxl}Nvo"M7gp9ɣ 7]$'̑0 sG[iʃn=NX̚Ulc5%\-!H_-5ޕf,ΤGZM [ K$j F mhNuLrgm&fx&$H Hjx@Y2^fS;lQS!*~R4RdڌE2k!r))T |fQ{C:&}@x_y ;OH-Fcd,&$rHT[@PP=dh Tª:^غ'G& mw\&.hY ^@.U7!flݣMԲ/6~-
-HiJ@ ތbE81VWMDR(J#QvSa&ǁxقJL:5q0,F]لebÂ^NKYϤ (C_t LbʢA l[R9T} 
- P.OaGu jh tA`DьkH] OrToKaTn;xO+\5`rmG2mhb+B#3JDŤDz9<i' b~Ƚ;4*_X`D@1e@Iƕ:t &T%htڈ$++1mlH(nH=xZ
-,K`y,
-RK$Se'2IG\MQqUuU6jVqQ$n`Z-^
-AєĴ0r)Y-b< @Ӣ:4DL>MDALwyHѰ&lZ}(wOR;C 12)_`L٤NI&ް][d$JPP6Z^VmH^i$ ld}$@=dˀ$Bvs.QyKUB@䘂慂 WlJ^"
-i z:4(_0F|FMKi0JXr4 btBj&BJW:qEA1ЃJ"}ۄQy@v0W!s*[= 4W\#ErR3@f36&W-IUT̵^" @f q{ %T108,jt0Iw,ҶWF81?.8EjG[bs)qyH_@H^vE
-MD
- 9{0:i'NjVSDXZ0o:CmMB_,M0xF!CBjdmif>٤1LY8V˰^"}6Q9GvR!* TOxIr2 /@n
-N PFG SqXIO&=HፈcEG ԌI[GT({+3x0.\p 6oK1~f,yI6H6Jް8qNؐ}§\#i;o %aЇ".oX
-c*%yNք<ޡ0gR<p0;SI(aD!! 8eQ815
-Gv;Ev~ T
-ٔS$j秬H@Ψ LѠ(С~ٛWQH BQTűӬVc)6Ld-6J$\nUhعC0 RHq(
-}K V>Gk5CC~dAp T +V>ӠhD~)ҮR
-$#_ P28J?qBhM䖈Y[=UNEGne? Rq +FӀhD) ҮR
-vD}##g`(C ؋T,hBJQ+'΋ 'Q/"qu{.mOSwoc}t1³{Xڮ8t*@GkxoG/2Djq+8$Z5^[,֪|B|i}=M4_K*`WK%k*я0_L.]J~LQ&2<Y&-xJh6
-{SR5(]L# NoZ?8<-g\.V=!gIe엇YEԝ8_3yPVY0U$Wnr1&!ȿr e
-
-GʳG|?)i/(`O|BЫS_"ۡ#u oʟ9ۚH۟l;HNZ?pr,V xb]T nr=? rR=T;#Y8hM=oIc
-z˻0Jo6>ZsPw٧:_O1} v!"3`P"e"ACE`A)@ v^v[ E/kh?FӹM'q%7w=|8_@j85gd W³ѷ~y_T7|/R>}g8b!oi (i^<>%y|Pv;wGw֎]8f|-ۉž@ Odg?YCk㼕G<n #$GZܼ 8/ČG_^4?7 ΖG3̐>"P
-&*
-~̍"u&MlAqxudg')sL
-Z{Uȸ+ #?^H}K3
- jЪ>˰.E^ _̰!5~C^fZ;#L&~%<Jx2"~eE@K&U' c-н~~qg V3>A{҆_/{zM˸!~c6'ksx _[i}"xl<B'9l9Tz]N
-u+ w;q-A1Gi3 ?0K&8s.YZZ
-uVk0 O;864!G[Ӳ)Jgkչ*$ OOz>'Tμ o<4(`/A|uj|I)dDwڮ9v,3x-J2:E|VxHf.1;.i|VNk-[ՒPXKAzGܟ<VcuA&u~L6h68sz<<a7&kFEtD2u/YxQ>??Iu1O缫pr]mQsbxtŷ^LuݫL }yRdg7%ݸ=/qڰS+c[렃ڼ%[j=>IIJdp=ئeDJ`U4xj=6mEA[V+(9TvIؕ
-Zf,gCeқhI?l%u!kp\ '+cS.䀭iKyq_X燾Ji}p$x1?S/ɭ(/N+@+ItL*LCxG8CdS;psw)];vRܯ,骯iyߘ>ɱ6[6`2cU
-GT0Ջ᝔03Z\a+?X .l
-ɻˡ7x{m ,XϏxl#_/YUG rG*k)O%|ugw(|Βu n #.?܋uM~r4(~zXbV3)2:]%IMُma
-|;:Ev{0%ޟ;/;;-b+]D^b®uFK^C щ%}9أ
+<< /Filter /FlateDecode /Length 10176 >>
+stream
+x}I%~;J  Td(4RukF1#i ̒009if\nn2On?d/fotg׿1!ΘIg?+χM*pC,~j@k[CAv1-:ǭz.n!Eښ)7qy ovS7<j?)hZNdR=4A[iTF{+]N2Qq)lPImճ T_ech o6ukPne)
+=CoLެ%x'z&8 й2<1en-zO+K4Zi+t!ow^r'۱jT oaXB|veլykV
+OAOIS_@Ply0Ҧ Gn'CKnvtR朻c.,wW7Y:o_nxky'HOˍۅ{{)js c;݀6響%QƆ(¬v_"Ķ
+r{4'g
+Uc!ƹ:)%aސ; ^.)r2Ryј8Ku?4Ҿ ffy
+fmJXC=T'`K[d𤄶- =- Z3`+f‚KtMY讥z7@3<yFb(aSI*< _ %@E&6`FڢO LAŖye%(q4$b
+P:PF|vÄM<"Q%wVb8Yw Խd1B&,Ok$D&4NVW8=is1n3hPA l[R9T} 
+lHVٹC#TX/;\UD{qJU+viFvI-^P)9Dy#EP$*,cAWlӌH[\!st#H*B.)N[ d: xlԬH\[:
+<L0iajWo;*Wj-s01Ol5FrqDJє5ˆ xDViZ |G{dPY
+b^*1D#V olbI
+ǡS*LL1U,TW<Ql[-jPt/EGUQï'/suz4uDLaU$+h$:*zu QAv9b!SKdS &$h: O5HJPa~Ƚ;@!yB(k421m.8nx\JkVDAK".i6H7䴨N!!OQӝj5e4 xDV*Jjb!B>'!y6SR407A6 %5ִW-(UW24v4/f qA|2 ćgݜKcTRp)!) 9y`[WBGC"N@0q
+
+ux2
+A#óD{KSÌuf-965g)EкZȥ> !&Ճ4ڒ̨}!q{JG
+Ykz9c7Ab3DHa0DEڛWoRXaZ)H\!`P"f\'DP*~wK fTtx B, P~[P( hL=^QFyeRFԾ3c&-IwejmB.ηZky(9
+!%TTwLoz«1ː\~r4#jҘ4a Y ٧1J(Tb,'TvHPi\&6  P^cFS;"}1Ps$n/}%TgP)3eU&=qHP(&taq4a4FvJH2(rTk-Ȉ:`+ 8P{Tgbq2!#DrDR#1kHۻ*" UD|9؄3  :
+I>^ 5:KPUgTa\(>lX1&E M(*ye;aC r%pLANc9(rkc)PNec;)Z8bœIE4L%qDL&DEl8(-Sl),R`L(O≅L]<|\`Px(Fx1iBFQNZ l3sV
+Y9%kh0nflBrdݷZ46:q䴨U؈y=#Y;g)+
+U(xa3V -HKV=64! cYFc6D.J@]RV]L z|1H˜qገ#Ymc&I9J\*
+ٔS$j秬H@Ψ LѠ(С~ٛ7QH BQTűӬVc)6Ld-6J$']mG<TS R
+0I3o*JQHgp2mR/8_F"Mn a;GׂfFr U\AKe U %I4:ai3aQ6]+ N'TK .A#*J48i쳨}}vޮ% HDj134T(FT8&M(pǬvFl[]]k N'Tq .B&^(aLhjEU ky53O
+U a*fd
+QT(qLQ KY ۧ7xV5 O 38TL|\QˆQ
+KbwEELFst-kf(ӟPT ̸PZQ4A&> O3o,mvk4 T|/c*[_<W6f2,NEAQ4U؉-vi]p:vDx{N4UU"{Zɳ^N ^$^ԉ2aH
+*E%D/'JaސȽsQ {ר-vT qAj+ebUMDj`5gJ$#kU"{Bh?<pY6܄@"
+V`8iXO4&g"RXbjH8ZPk S u[5M\XD&Kdv 2TX?$q\,gjzQBӘh
+(M&Dx'J(ΈrZG((=pk(SeG]5[X0D&pLd
+Y/bMCc3T(
+QH]&=D'1vk~gO+ʕ>O30q3 !0nr1&!?\3t@~<{y}4##krvķK/ĝol
+>’4(iH/#ͥ,t,j~djkl5[toķ0xN
+/J¡ЏJ+\v}Zjeby~U3è<D]xʨMsu%e}<*Y"~kf|kL%bV:r.:ùO*wLg5ZZgUs${#/&NI.`e}Jko*@[$zY:-|Sז8[RNnena 5o:g
+ގKƫ#>0I`v*UdܕoX> xIyuBm'oV%(0Q3OF0ZZu}Uc ohɉ,4xZTGVa91;6.$
+I^l%fޥ"M*٩ueZSJ 6Ho24ܗ궲.ȤΏ܆4
+z1;fFߣ8xsk=#%T:ޖm@AVA=ywb9oͱev?i!^X0+U]#9I# x蔏YI >麳;ťAɮu n #.?܋uM~r4(~zXbV3)2:]%IMُma
+|;:^ܧ05ޚ;//[<+ ]Hn®F̂R=*I._~=:{M܆/
+kjb.ױOwy.Wku>g ])ςUN-M.u )M1;EJ)q5ǰ;:9 [+gX
+i3ۥ1nު!?n^77Se_oʝTt]/d
endstream
endobj
357 0 obj
@@ -845,28 +843,27 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F58 382 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F57 381 0 R /F21 419 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
432 0 obj
-<< /Filter /FlateDecode /Length 5017 >>
-stream
-xڵ<;$}zP/`;2w }SJԣgXT(IE^EN?%贃|Q@^%Daxt_ߤRo> V~-!HiNka 닷^`.Kz`0_|/ԺB º0nS@ֱ`\'8"8 k^Hg%KB->|0`'C&U4p^hE{ gC~F²q,
-S{k{O7iO2ec*h]R9\i
-Xim5kR&cMꀬZ
-0°Ù({]Lkk
-!gc{kɍUa^8>} ͹ݺ1=w݁LADeKa.E (-UF Zݝʏ~cR]NC,WЀvQ}KΊf[L:L)P[ڷu#N^3XfV]$u Uih͐ Iۚ'oF8GzF-t6FĺQoQףу8pE.mӪ+x>(IwUiP7ަ_ЄhOO=Ji蟰ǕhnR0afI5eMZOwj*ŵMhEX ش 'VFYwf(wg126u2zc-Ȉ-P
-
-,tkz%AwWV}kh'Tlf\O>P=TwF*7 xd2Ϊ=8d`TV¨/,+֊B&Aa&pt%U1ruB aV!pPwIXL#NpBe9JrjdG f5O5-d; ƕ(5P\2z؆I.#]ȟa3eDU}bNTƼ=3O=3~Fz&MlLS{6+X <Х"hE-eXƞ[; QBYR0
- ֒&ei`Z'c:(F)Fk;+w,M̃$H/T e+Kj з"e nX[W98e`qf;[{+Q09$a8-̘X;]< ߗygoQvze69%Lj}!CbBgӚ6ov5cX꿃V,nfI1~/ 7JBHYNl}cIs2жĥKS!veXA'q2&%װRYNa#ʳZGشQ߾rDaBA4w='.T^K MCˊ4߅;Po3M4L,li:?H&]hr>H+,M,Mf=YZ<%գڭ|;O>:
-k²D2j_ [
-A=j;Sc#~5BBV\Jtvw]34ŁhF> V;;^ooM3He.aDLX]V%VZlX xASbWy!̓w1f4_vL
-{\[>oTrs7onpdRwY`yGҝńYrrΏ=H#
- U›267}֣UI ZdZ2PG|z<xaiCKYJܙpT_npZUKm,|pg^P
-7=nKY_˹J5שԋ.iQ$k
-Y=1f '(@}j'= 3ʣXrMkn+ JKMIDI[\zi
-W}>ӐFcHnFΛ9Pv!0{r!gF̚BjO:Qt/Э2,\.Վtf5 o{}R#ox yZt]Yyڠzm*Og}ٶ?NSS 2 AKMWcˎ@ 6F.+2߳=IO:8=-1~y^O 9gN;-; QX?yJܥ^t&c>ذ; mq<
-YQǍ{kohhRtghkA&nJ̤Sv TXVƲUWֳӊ~Q.JD1\cnI>(
-guil{[07ӧev$,/OhY#7.C04|<VCEj{C6ITz__YPBRrr<4ѓBLQnAW±u0$Lje$gU)_ȩb!Q;%(W /L'xj^Q?Uy7<Y7frUOI~U{n3rҳkFF2ͷ2vQ8[|:teQrD\Y1AF.ѿn¦.}wY<26!ybaoq=P#3ZmwL)bcF>s3ಚYmrzO5I|ru}+p*+ՙd诤[P罍w}նHiMд/g<hS<./FFߣhO zhdo6=6;ggiS cE.)J>]a<O\Nu{11FbUD:|<NQw?1s-ܱO {t)N+a`1,NA}oD=hɸT6t2?U0j]joVrOmG=`%^`Yww&|f7[f\#_݄53'3>CNT0F|P̜wogC;C]f5;2wL s?L 摿3y˟Kbŋer2tj[ \s[۞jtKn&=ݐtS[.IOwtۤb=
-t9$ByVv;- O[r뻮f:G=!-'6zR%-I9 C#dʗN<]<m KoAa!En#25F$ElWꚗfa6w;dAϴ~1{)I/ـFaa&˷s."w/pfQML=*؆999{47hۅ?'+[,u d#_;d H'7[4EN8|s.I˹*Z0NQ>b>W~4{52څ&W㩖ǹB~L+_3y1F`6xu&&vx'n桡.9eW[ӷno3}
-sC scň5HUwv>ƆsqA~.[[i't^HHU_3A*J:Lt6+oa4j j b6+}逽[UىIb'Ӻ49
-Cbɽ
+<< /Filter /FlateDecode /Length 5033 >>
+stream
+xڵ\9$;Wk<
+ tVv>5ce>cٿA:"2ꪈPPEH"/~/+{":_>u Qc.)!7_~ާJO%)鯿 1fZ"&j|ށz} 寿I[^~Ǘ?DMT ͽppkXF\;8b s^HyS^Z|~Z[a,ON_kBwKxn။=%LmueU~{xɦi"^ dS~tژrǪJZ\'7r
+,vZ9wzaꀢZ
+0Nia7f.Ku2%Pdp̵*U]$I-UccObzjNNrgcj'6MݰrlTeZׇ2i?lܼ\uf^ HX(NX=oGh 21+=Q4
+|[@yƫOzaI3
+7~!WިhhϲY8?*k_ ?'7KWj"UcCo4z-tA4NjvO$#t'1%(P]
+Uu)
+0[+
+IG*?02=4L=ʪb:!¬fC,^bA2;y,;(׫ Hޗ1״?!״$`pyl0mEȾGO0u 'dsY5Q_eGޞ q)#όQ A&T^
+
+#Z
+9fNkڀeaZk>bn/(bhjޙo 0@ۀKveXA'4&%װRYNa#ggn~h-O":bdF}z Ӽ۳V^mv&Sw|_*ph>4T.Dv:.Cwؐ[sOXZ'.Rr-R ~Z*1nƭ'7k\'P=LʷsqTqU:^ɨaGnyytVۙz[#Y(d~ ۱FtK\Y0XCwX)f6ܑ\l=32P-V35V\lX ~߯ASbWy"̝ v1n0_vL
+kQ0:8ܳ~C}Z 2HecWnxɷ:SnDPW NZFα-HjRn[u?i='$ 8tL9k!K&0{gi?(!5M:J##~zG
+-sg.\qnxʠUmLpG^1T:=.S_CT9t>A"`81-ډr9P;T&LRRI-wۥ<zm
+P_cIO(Qe<q[ xr ܻۻG4>jU^JNbVZs廇6P}3Pyh iíy!.!"J(v6$;XHʬ)ox}InuAgtцV?M@gYs?4ΨkxrVl3kզav#<ȶqZFZZaZ/[`c."#R)=*T{ᥨs`I;˝~b8,篸\h><wBiN=4(j.-
+,Ӝnvh(=(S䔱bN( EmxJe4s ө#^$h-ԑg|jV/͉7rz'_z69L󭂥]N`_Clyܜ2G̕%d;uzgq!NJayS˦R4fAnFg&Du>sİS|I-P@;C.&xvyNrՕoבI¹Wւv_I7! 7{w}ٶTi@MԴ/g<(2.쁗{Q .aS 0S`o*ZtaDIM=t;%q \ 4\qQzmmlSmvϦ?V}Gf΅;a.4|3,wytߋSytZXLx`Y9nXwP9+'6=IVhEww&,|)g7[.f|=Ǿo#' >ΕϿ3APuY8 H+2r: +:2;uB&9_onr/Oy"z* %/CO'WM H`st(&6.;=ۑms?]@(ծq)h8エɿ!:F7n?
+/u$<NF&6zR%P"(-%4%4i)OOۡdPGxvHLq HMjs],lFnL1/G@ڨL}AMs)"wOpfQ(MPeÇ1{#U svsjYumж ~bvV&Xgd-_; HFJg#ڢIkY@ArVE>ӳnRgAܯa#<^vxeq43;:5zf0w|`毧o;~kht
+SА|c7!^]ι1cķ5HUwv>͆3q1~&[[iR *a,9ntz3 6+/a4r!j mftyӁx(& ى OO\Y 9L\ݐ.,KZlb^PM=si$>JTN8IG7
+TV+! 1
endstream
endobj
431 0 obj
@@ -915,7 +912,7 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F66 384 0 R /F65 383 0 R /F67 385 0 R /F20 378 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
445 0 obj
-<< /Filter /FlateDecode /Length 4597 >>
+<< /Filter /FlateDecode /Length 4590 >>
stream
xɎ%>_Q?Jځ
_] Ӛ[$FdPE~
@@ -924,11 +921,9 @@ xɎ%>_Q?Jځ
e-GZN_!\V4A.7lV& Kmi<BD?E>*'lL0z=٘AsD(\~b~o 7=H'ed"SP*yqRxW+y F lKܫ^t6^/JQn_<'
'nZPՠD'{*7V`}!V`D;=:H[ZHЕ]=&Ƕ;~Lg1fqj6a"bτt( uC"jڂGГGZn^o׾6W
2&x*I)=Ph8Pw꒺3斲/K=q͸ymME9(v~T_T:i%M_lZXA.f
-&tSm%F`r'ة[ƞmKhcʣڛmW= aG|GWCɅRf{ Tv@09ڽTצɶɣg6dsħNaNh/2nqWMw҇֫UC=BJn$TLhj{.neOWo;v:sѵP%TKJL%+7TsA|.R@})Ls{ML}7TL1
-Ju{(Ň
-6lk4Ѧ8Qoi/Q""me4}+P% /TMԶ~ZE¨j dX}-jxvTJ
-(M/01RqyY]vAapS`t =ϩ`U˵yu\\2-oşDzBLMSVˇz8n!6fn![bKxl.
-Kd]ն4l  6ჶ@mx[+<lZd8ZD3&;`4kVoo
+&tSm%F`r'ة[ƞmKhc*J-Bd[l"ܮjvfztA(Z.3KeY{qmNl[u<lQ2Gu.n턏*t(}a}4Ts(lF2PM6WKV}C6n[\#`3] OJ%TrKE>-j9W\oCո4")TTǁM>R_`op
+4BVgwK>r*rc(хT] S [YNEZŃ>"iy+$e`j
+_"lÙu T/As\`sQ]'fuo`_p0^78mkVǓZqdS]hM\gybrYQ®.`292!P$ DG1WT!٬;
endstream
endobj
444 0 obj
@@ -944,10 +939,10 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.516 509.22 151.49 521.176 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
438 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 321.193 224.577 335.918 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 284.581 224.577 299.305 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
439 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 351.639 224.577 358.613 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 315.026 224.577 322 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
440 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 320.625 96.423 335.35 108.378 ]/A << /S /GoTo /D (subsection.4.5) >> >>
@@ -1017,27 +1012,29 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F69 398 0 R /F29 371 0 R /F20 378 0 R /F21 419 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
455 0 obj
-<< /Filter /FlateDecode /Length 4812 >>
-stream
-x]Io,7W(60\<'M[ço
-WGj h| P66pKxPp%R?_ބDc4[K >Y*y(=c$Mg$qB]c.빢7볒p?oR4H+5waSe7/3*;E˼fDA%]Iʎ&bEe}mh FRSFY2^W-Z{[Y{u
-sm[!Fں,Kz>[1H?}bUPf{cŸO F8]gyz]vbr
-/az$> |_^kf3ۚ⢉ ?
-&gnO߿
-o즄a+1H= LaStG$&
-P܀ 6Xʃ($`=q8 |
-Ă쌤uV_Ӗ2Ha5FpZ~th"W
-P)@9;+Џ
-bB'f׏ͨd&9ө0+N ֏Ɲ,=fFKcvekpГ펼%} x~R;0̿wIyv9YLN}Zoje0
-ՅTo>eI
-^\97<l]&\b.ˉЧ ;4ׁl#֭ܶ @dUCin ]M:Ǻb
-Qs\ȗGnʇCT`::!u,t) -)4is@cW]:0FM!jFo
-~
-~W..3z换򿘲~ OԕmㅹZ T9ouђo_Q\皘HȻcCMʡ\aDk?9)RϟD~Í WdND=?Zng~
-zĞ!4
-mHxLϟIA/?GϗCp`2T.¹G?wlBd.3;[;^"jea.Ŭ"(G.s'xf peU`eZ
-/1U92!me7J)j" ˷%?ʂpx3Pj&U.?Z*#߯"x6W?2?F(kGTWX)"Bj@Pi֘{̀>$ѯ,QcC68i?/tH[raBWDo̊[xޝ
-;]t姜V9ٽ{ wv;ߝ & uV>
+<< /Filter /FlateDecode /Length 4717 >>
+stream
+x]Ɏ$9rW$4
+ȨhuJMs)≠N!@(0l;iAD_L-8͵\ 8"b4#To?QnQ_~y 7ih@zW _KS<_ßn5t]jTc 4p% mwJSOD9&i[-Εs: D(ć LvѼ## ISk`~e.aT'K+@
+^
+iBtTe,c:$" H#B 4jMiRef<(RilURE%[Ɔw,ܕYz9I,$Nt_Ҝ
+YKƱ{/=}[⽞{3,iHi׮BxPaP_c⅟r9Len;D91x}QM}m7Ɠtq<^|LZސO _7MUxmK!qT|_W{LQǻe/&W** ϕ%o|2i/D"A[roԄ2 xj5Y۲en.Klo_1:Hb0?> W.zw4%D  皜{lF2lcIL7RFX#ᔮ&~Is|
+<?"y~ost x˸ޙ
+AX/Q_%ayw!B#' ?;jHbCgJL!i|PH&QLh8 @Ǚ0
+aEI3MOʦt <? qIΓ\*b?A_RD _5AC`<y'ȏy @=A<A WA $z$N߀䑂1L(M^ʟgƓ_'9%oo| &u
+/A4A)H_! !x/_Dc =) sH*$A<*F?JPޚo!Pr7|@w5n/G|N[2n/?n?A
+-C{A~ȣc =F A$1HO 
+01zmEWc=l OJ?Js wyP ng7cb <:@i{Ϫ轧4 nTnPP=Uٱzt0-Ha5FpZ~th"W
+ F#N>|\yB*c]5_.iTgrEqOoճRrL5:*m11 xt 긽ۭ[J}(~X:hHmH
+֙XK# 'Ne`L4uGʹ0S%kl Kk!؇)U(&m٪4bW
+u^iGso:jh]~e;Q;rd[%c@
+x4q?.0AGJC!@ igG[WX7V5f䪞_RѢTvd1.D;wٵt'{+QopHq| ƔLGJA*HLs15 cITmd]0\ 6xwoeV|=&.[RpkḀ̊rMJI$w}ϋn8노5Uআ41 .RVIѡLq UcKH!1 nV<;L[yCOeg7ه9ٵ!Ohh^@❵ wX=]B5?.؁B@  b]PWòn!̖g/DhxQ͆oԕ>qD޾I`Z^+jCQn;o* Em{!
+sJx
+3~5(ۤˣTX%33|,=(]6cIbfWN9.<CcOTt_a/_{(CִC"X9PdcX!@CbUޠLkD+~X.sjRr9tK}z8"f`'sK~ʼƎYAG}[AD
+30->'a:?82w$Vs0{((} D~ yȘ~Asll>u<%̞9u@P-K<t8F Xj|sD;<f?.y t 1$ojHx.NO,$3EYzXaAviJ8pM̅+saDqN2(>u0.#Hyr 93k2Eu!`bZ5w
+ ˯SE*KZ5.O-΂p ןЗnRWz
+2*⊊gsgS:BYSK7>ZNq+@۟i֘f}xA1! lҟU}f$ь3sL&5
+$ub~Yb=Pl=(J0/}qӨ~ i;Nlkz_FCDi ҿ,If#ehp<g$j󟯜"LB6@ tG:
endstream
endobj
454 0 obj
@@ -1053,23 +1050,26 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F69 398 0 R /F58 382 0 R /F16 363 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
462 0 obj
-<< /Filter /FlateDecode /Length 4047 >>
-stream
-x]K7ϯ?Њ``==y[SaKzK*MI0*HJIcJDo(ճo.JO8͵>Nl23͈dӧr ?RLO 4|>kK){
-hdǼw}d> |wabl2}Tߟ}[pN0c(h3sXA38zF/:IhD3d#kHR{d""Y
-hIlrS%ʃFFfK&D>Pg~].eD 9uϼAWmX\zp1C  i]Ff^ڸ|Z8VO@хjsxdV)1`b??}'~ *V'AbS PG<]1w0DH9'cwż*_rpJ;(0M|+TC$#in'(kPg˔6w$u9qo8mHbnwYЈݞLy 4+!v@CJBwSa\c UuN<C~]_=S0uVRO0{n+B6wxl٠ He#HRuZPS5,7}I8Õ yo4[ZȶEe'+FM 8aM@)a^]x"}"6XNV iPgk4F
-Q#É-@A"OԋIj11S= b :%D
-s\x?iXw*}&">z1Ǧ0jؒH ^qB(GOŚdj[u)
-6@oB Nyf"d&NDSa4yt9OLq q:`&)@[/jp!
-/āzS*S7MߗƂq g,B[IMВw-۵U֌X*A2BFs+.↍Zq^+~
-fiZ͛l&..O
-R8aT3BZA/bX>Wut}*>jհ!L
-֡dYcʁ=ԛB
-D9usCiM|;CSpY+nt(-@:*5CYI@cXGżu(1b^"PƘ1,b^5Ġ|:֡}XG"?uTm aznj" :Q55uցz֑Ìa:AXG"Q9uȿ֡܉u$!j:#g:?됣X{al`+XG$16:H =5ۉtd.#Y@\Oaü0_pH[E:ҡ֑6t;qG:H!U1*ҡ#\/t(~HG~9^V5E|"1"99!MbPT(eΐ[!XI5b (k84h9xb^9 ι1b^!tTkq9|NG|9Ρ8#ڽ8G"?sTmtDCQGZ$OC8GNG90]?#0Q_ 4b0 r$U rH Zvz䨚zA}HCB' &*ѯ_B]پ!/S5~}}5qqG9(;}@G.ap'!5\(l0g詥vQ8V[SW%ŽF^ NR($./'K?'}+^ZF-`8"R︉\[K‘(RYG4m(eLYU{x/0ibՕ,jI]#C|.6ksuʜUyڎuh\2y{ڷ\ԖRθ<x<{u~8'0^2F_{0zveZUh5΄юk8#}䷛#S^*Ǿ4.s)/$ˣ>S)yB0NʄjPMTC йE7uODZ<}s[J>]"'!D7“΄ 劳sVy{ 8l@بo$,\ϥ_3:dKAF9@S9(U}ܥ^f}Y+fm=3N,wX "r#HuCoߌf) n8CtxSE c`M1`]`J$U~,jSOZ83]3b`}6m3_z Xntx)1MB
-TXt? L}|
-̭тƚ}xD*4G_5` Oԫ!r݀_KW8=KثDiefauF 凯KbZ8 aT:<R^kաN #TC {ػҤڏ:;G<^ uEe!TD]c c⽾`'JO_$Wz$uQ`YCî!17"c% }c)!h&9Ղجle,pÛ5(9UBϖJZ);Lc\TMR~Φ#ګ 'Ֆ4;w"ʮXouU <
-v6F{YE[rBRꅀslh*<By\1]Av
-
+<< /Filter /FlateDecode /Length 4048 >>
+stream
+x]Ks7WGJU&Uޓ7rJ6>lU%~Lwk$3 $
+xqp}mQb(&;4=a#}QFf氂8cG8zF/:IhD=dEM{9m Cs= 2٩Fy)XD$K}-ۜQR.>Gypmdkd2A]/uqRF{TW<b:M |^n<ټ\cᢞ"ͺ6OϹ95aQi~r
+MX
+&EE؍9pb.Rٴq_w*&">z}MavƱ%AQ{oŚdj[Ǖ)
+O6@oB yd"7aVIi Rm#!)!nTL4g
+_oC7RX!>wK7b2}cc̰4Y]0<c|
+myO&5._%ZJe U֌X~ `CK7^'{qFq-GZ~F4M6z *)0yʙ\5C _]]_vZx5lH$ӯvhYfWE;4hr``'QN]PZ-\֊+aaَuTsX(aWa֡KXG<Ehزpka|يeu|= [u$MXG.C*wu@!XGޅuTM:u`BU:njnaa]c Z#܅u PFvP:.jbwgމu"!bX[uX:"!ܰ\@$Z3͑\c9HHGB/0z;ґNt(Z؍t k"n?fPHۅtqC:nH yP.WC:Ok_D:z~CY@Hx\鐎ՑiPGW:RD)vXt\ rQ1!]>bC:*騘Et'Q1h󭑊t|=`]t$MHGt(ꈺ\SzQ5u{# .qԑx7Qai aH/96ot !5lk[ s$]0G9#GVt2iҪ"+$Jn,FvU8FGV퍎qmF 7{91\T;OBj>F8$콹qQ&a8SK'd
+p~"aK{!&b XO~) @*/`.ՂTwjg)[nb1Wp$Tui*c2M
+FS@)>r Lemsu%R{H.8"<FrscM8] Z@]]׺cӾᬖĔr"ս.PzD=;J*YgBh5Orzܾlőp!``$U}i\F1S/$ˣ>S)yBG1NʄjPMTB бE7uODZ}s[J>!V KgBs9^U=FRxL}4m lT@ ;%sL6R%@PdQr#)ЬTrJUW)W_ʟwYό )Dc+qxzRԭfz7{Wrpu
+?WX74?TyX8-Xxx8.E0
+Fz1\K9v|'2*Z?t^V h v!#a*ŹD;n#] =h};b>㏪SHkS\ m`y\
+W*98'T"'THJuJ*l=m"r&d99Ue|n>kNJڨ32ޙ]钰T̖ SU]Ȟp̸>
+kǜ:L5cN }ߠKUek,anQv8w0].f8f \C@$_  ?}zZ J?RƋ9z-^/NKqF`9hjp&;cccNN"3agVCpDIupr,7v5QϷ0mxNex!3\(<Q沊OV@(dl}._6+'n8Wo7!?(y ltcڿio(*j%wZ8X:aQ-pmB旊%D1-6Q0*6H)/=P' F9ᛏLDCa5@aKdGCfBǣ6BLal r*m⽾`'Jw_$Wz$uR`YC.!19"}% }P꾔QijAlT2& ʚaBgS%-OהmDcx1.+U$o;sj 3I%b7 Nö;k띈+֛oKz9X8vm[83Qe/9;| Oc7^Rk{2PT++`c3جG:9m*[jOs5y>q^c[e2ꊇų+A$,k`Ҷ8@~%SYpzSsl={WV% ؍-$\Ý#FRyg}Qb99p[_ ^,km%\jTR;M)uvT*QŘ|<%?Y0X/) QnE.1$W&| ON cu|&(0[l(ݛ{J3ыT¥eC/ [D/T*#ry#$%Źwc(l[ t;r٩+
+O(
+KN;gsn
+ƜV) ^m<
+Bӿ8&|!ttzܿR'&\[oE<YmY
+@gmQx1Ywe,O\&? 
endstream
endobj
461 0 obj
@@ -1148,29 +1148,30 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F55 379 0 R /F67 385 0 R /F74 469 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
477 0 obj
-<< /Filter /FlateDecode /Length 4573 >>
-stream
-xɎ%_QG)F99ᓃI<K~?Ծ3nО*)nX4]~Yv^?=R2|7taE+Fb˧ˏ)R?Oe<i H(q$(xp-d ,7o_`}c ȘoWiazZ;%V J$3S9"=aʑ& A|qYr,f8Aꆅ
->LE /$ahe캢di iٸj\[ƿoLTwcZ*X?JUDJ$1Rm{Jׁ;*J{6VJ@wi@cLJ`jF;uP(&ewBeO8t!e\~zrm Bؗ
-4%{`#
-FvO/i^c"Fk5?PFB?SZn;>7g%e/5%, Jh",Lm T8~- o֔ʌFN
-Q7Yd$8Czd|P
-TEߍTW"M1h8% vIEt[<ear^5w0CP$ǫJPrnjLFwrbdIX54Y Gap|R%xv
-0 hdo2ȅm7e_l5Ѓl m"/;`0<$֭=AC@:jк2sR8C,Xmۤ&~͔55V:mUe O+`D?U(aђ"B~B2NW` 8_OϤ;ӭ6綩 geߵ
-T:'"_
-mXJ3j^񣲣17i:KPbbHGjQ`5&]K' |Yu3}AU*P>d=)UAZ`
-~Lm7`@pq2d~߳9+.N@Y`] w,
-4)<:8`p3T#92s :[-  wI~:wnN\+{x
-`QUƆbJ0/H'mhLl1ʮ&HS_ wo.
-c~-7U cU 3By߱9bc$<Qr}ֱ ԓ l(1u闪X͜$$frs;UϛW[Xщ`9jRڏ-z"4%or +>=\|% U4ͺUޛRZd*:zX4W1]Dns~d5SOZy8}
-yOЭEO¢ &Wf 7.Z@-LGʉ-yG|$ƍt@~%; ?G*<TB7{sa;IҹV'nop=kqrm\Td`lќ9}s9_J״!.6Jz,#5Rz{1ۏMR7%mAV]Fٝ꿹6@ 換_|gsrMhr=?+v`i-NBpK }W0A(m ǽo!d:0G3Dxr.tqhNh:eOОUZ~>wQ
-F~~-]eDJX P88v Z'NOCp_ QQOc+wQ#USc_eԨI}Zyr=T8kpwJW_;0 uÎSG Υ8@ 1JUfe`7xesx#-c4V1KI+O?õ5`LLm>kK|GY+,k: Tн!>qeOw"}?whSpj;P@"QT!o0{ßo,9 Ӯ`<!i
-b)ozj;Ii%Vv*07IR@oQ`gb~e]TKBa^*zjN980 ;
-xaKc҈~W6?_02ǣu(\M!2\aM},VBʧ%\8
-DV Kk纚O©"K-S(n2<+κIk̫^ni+<,]nbkGlS0(
-0MmdDpYzF:7 .ټ&mQW03bH_Q\_&]2>]]n0
-sQܗo . BUȸͷ',6t
-|7dMb iWtr+9-E} U35#ŗ;ԽVp}H4Ӭw5LGPl7xiXe$=f۴% r:F-,M+?W.&
+<< /Filter /FlateDecode /Length 4704 >>
+stream
+xˎ$>_QG0D"3nނ$c8~7Rz (K|ćO.$ _b=vF0nKǹ?OxJVbKVYZO_7(G=_`5aQ)>wVUᛠ]4 6uJaoi`oѿ x 5aL 7%]=[)J<KO%dHj`縺G0@؍aCޜd2$1e|yS;Xɵ6Z[
+ V) (
+dh i<f:2ma) C[ſ7o8Tw5b~V37LA
+V:zؙDM[$9@^voP+Ul_$aZv۞X` LP{鋱HN@ <ʰ!i(3ť
+Հi)mҕu}ԭcJU) q֨ul<'PޔWi8VF"OʫjՖ`S.SfW
+)a
+Dn-O٢}OK
+87q!}V@)"߉l(lGHf
+vQqq)%̙h+\4_sV3
+{Dd/$+;_knEw'vf7m]r.
+) )2\-Y8Oܭ0ݮs6ѮDR%@wmD7Vq& xfӛ-3b38"8cJ>̘*1nPcxwz۴5a!~9'PK1ȄO6 D>1qUVڀNSXH
+@3e!]1"#G
+tI6+Lũ:|?£N5J Tl8>-t> Ҍ>Ƭ^-wn f!Um*~AYmGdk#ufm3AZh7͒|FUM=y߹>VU{bc$\QJ%c֑AI)lirʜC52I&LޝNw3dK+51&8J"LʞzbPILO7$HגIu8)mP#qIb^ƔC֐4`HҤ׽J~߬zl&Sk#FH܊r$eX#znp/za|"~kPJljkR5Odq|GbWobW;
+Tz6丧8I:SuNԳQ*׾mI@V6.%l_ӷqL;8jbE?|hGk䁋!u2jߒ 2a@K?v>@0_rvr=*i-ɄAK @iI˽o~!d:g3D
+.ôtqX8I2*V~pǨ`?Cw
+Cvpꩇp_ըEcZ{
+=U7N8)mӌ#÷N3\>|4t9"<KSޜpn?='qv핽p⠆CED7=qV;m\m[OSlJ߮6hkDI #>TR +W2Q걺r\U&ܰ #e(XuF0r$D!]Fܝ5W~WR"Z=,j1
+"M%Y6XP
+=ś2:fKNjҺYihѮe&<u}~ 9'F&=P5kL u=dU8h@5S/ឩ_~L~NC|C:_PcA~HoK=1FAU6^ޔ9u ?܏# [ uDWʾ9uB&|P/)s ݅={s}'sO\g\ܼp-% a%)̣-~B{ɩEO֛ź[$8lYI4C3?zZMyes&}߿I 8fJ蝜on˴ӯ-O/@@*#r<%(z9!x瀠T{:0dNn耒Ю0*dzuh\TK0Dg@PQ>=E!2%Ǜa5I-okMiir[ 3j?vu
+=#K.tԒ0VRQ"zQȡZSy$q-*8_ Ոqe<C5X\%`gA=RgsSڢ)n Z;xh1HN<
+mw#~%[ْI/FqX#G]+"Wr[Ϸ-oʯtLrQqnռXKlv9?G􇢨U"'.i`?DVj4!
+WMVXr:Z|#=u-uX8@l Yn͒}A߿ݵH /9P|6h7vװʐmo{fQ;.^FN
endstream
endobj
476 0 obj
@@ -1203,41 +1204,35 @@ endobj
69 0 obj
<< /D [ 476 0 R /XYZ 79.37 385.476 null ] >>
endobj
-73 0 obj
-<< /D [ 476 0 R /XYZ 79.37 218.231 null ] >>
-endobj
475 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F67 385 0 R /F58 382 0 R /F65 383 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R /F33 479 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
490 0 obj
-<< /Filter /FlateDecode /Length 6105 >>
-stream
-x=ɒ,muEq_":&DOOl`#F 3]կ>Twepə_8~_n%`՗_E
-Ô9Je)b,̤*!#XpjQTRD>FT-NfAmH%GK=4Lp[ʉcd?-<:*xF.gĉp(# GE9&LlUEu<l}|+Oe@Ylc}eHhU9F>._#OHJʄ;< e<" 6IFt׬7romO(YnI]ZȨR:b;گ_T9z] &6mJFOV"8&C v߾~/
-P|˗oǂ1+ޚi,Ϭm|%`إ.RXEejFt¬9^W-R'R"XW( 6CCHfYXδ@&/73PC1-1xgƆidA<sfSR^Rv Il1H5+>jn f$2PB.W3
-(% qT[
-+NL#CXjTTñe`#2(l7kHκ^~rp`ϵ7GPhqc h
-7ר L[i^`یKͫ?мFv󦎎ߝn\6 E#ͷo3$
-ټYI6K ~lںO'exnesYV{%ok#U-mkWqo`+[hr"u8-&Gю;3/@uW&[銕:=2#F#f[;7o`ʨ N>P\DJ=-'yZ[iNR.Vq \Ul0"|Q{ J3;0K,᮳Mk}\voekY#򦽊ݞyӷmȑ|ZvK]unvPh`^}HZw݆뀍>K./ƴ৹Yxoo$r-jx/U]+bP!TgDof
-<.TF@\,j[8mI+Gm @$XAv;UX' ~d}gҠ;f{<q^ӘϭNI²o3e;Pdp,Q[-iYAڅ%LGK o`ڦemʀY-̣L{{KRF̗KH˔#<##
-003ɍ\!u V# Lsn[hWhd`4 7͑Az{qs í&С4PEH}+
-2V3yAT\ zӀR;:(hqI?w/:&*x'rˤRCv7Cx
-0hXtPvb _Gܲ59BuÞe
-vh:Ҭ^a~f9ۨ^C8B4N $#[Ecd~-:JU\3UEn4znR'OvtNGt~9#Sm\$A&nccJ<&M}%kgw{U#Uw.5?7Gn+X4 e Rg9bfԇфy0VS&T CnhA,G_2Ug9!GCF[!.u(eMF
-' :)q0àC1w4%w^֓?L.+ր6>}TYOgsI6ҖX
-*ݛQEb*RIU %I9c%Q MGs 郛
-6A+Ɍ_4: H_(qs;H?c䁾 0F .H9kyZ$hэx nQ˼<GnPh) nwЦ>ejf*QN^0ŕ}
-pVO 0zs
-
-`vPZI m[L8)"x £@B ۖo(}"r>3*|1skÃ,|Q<oo(i#B|g8
-\o)
-22Rɠi -qSKfU =tm0 NZ=mt22M `@8()202 G:v9n=g<V;Xz\m.zW#Sv<p8jA2NhNŧL`@xn'4'Se0 <A)2 ɠi I1 ğI ~Pɬ
-'R4 :7ݝmllQm \V#gm|J&ԐU͆mU7L:j\@}aĸ87,^@T<7UQ w'Hj 6ْ1u< :;hZbӆIOZT-T9<E֣D<z|؉d֗CdCd`w0sw:VJy+T=>ߕ 5</3)w;2T%vF\;/I2k/,y}TiLX^߃[|ZRt<ߕ 5+6Hǫ5=yE{N}CǪ)=+=:V};Z9o!+ɍ=Lq<w%}]: ^i4"b /;ߨpRH_.*Vd4~xKY=CFWʓlV&Ԧ[ YrUS|*YV.H4KV<^ "kZnewHXwXjN0K(|*MY+6|ɉeX9*>P.6yvzX;JܕxH5! zy֝Rs=L)HzfΗMOs~Lgkt>\֔ՊxϣnA3܆܂`thĢ̷5hݑVtEC(>ם[ % ͂5
-m~2:ؾs}s'|}Mx,ߏ?~}?NZ&fnju[)}tqnY BKz(4(t5unqtMśt=塀8!*-<3x_d 8z@*CzxgH\fvE7fd/^I[x,4rZ|^Ays2(iZɞg 0ssN3uz^}h#>IIں =o'us2(J4-mݜ 隖z
- F;s3ozg9ӛagMo#ĦwŒNK`@xn;'bIe0 |tj¬3OSO .y7򏝪x@*,I},MsY"Lq /0%_B8qz*: oKsx5D[r16ܓwI28B;.'B&OR[%œ/ࣉx ڐj޹uT wL #$zmc"^`Y栾ek]&yT ׊9=X3F2V̵4<NdY;ixo?WǙV^.]w6>fL ('"w:zhǎSNW]~v8֒|j2Qt˨K#; Х].g.8C8RL(I=I3ԣsۏ;oLwSFP)
-ݯ׷wiΎtizݩ-Kj%piΒ<F1+#"fV ?/#x߆i*A Ht [K0Ӎ7n:-]d
-&W2^ۡv[ɋWrU+FGE_W`e S>W3QQXuɶ<ҷ1/vr9-^f HhHr%z0|'K++\(Vd2&z_h,d]qtA*q}+qZ
-(ŧvFI%fբx{2=-^콬#7Wv'PZ}Hk{_~1uJxжDt*H2xѰ7w]իU)>xԵT@N.͆Ⱦv&XmB{{kYu>KZբ Մްf,h1]7r$Vt>ZlWɊ!QJuu1ojf|*yvkR$-+mKatulF.[Mݼ7,Ɩ-YEŋYG+w0@*{3Վ*ƅ۪F!*-R5` $|U}u(^4z-})&9z
+<< /Filter /FlateDecode /Length 6159 >>
+stream
+x=˒不<zIΩ=7_ MRRʬv՝
+4%\Kx<3
+"TFrHzdo[xB4dtbH%Sڄ?viQ~k}&;d%L]D2%2 Csm{u`$~7T>D¿SFh6Mӷ}SU0x57%`N2 o/
+
+'h/+5b,8MRsӵ0Le/ڽ\S{9ט㿃~j'3rswg錏ܼ 02}
+7nhG܂n-Kgv-mV*ou ~>NF-d hS z]
+*
+puŠu&Q kd&oEQkG㼧Lu/h?H<߽xt>aCw"(8L8}42.diyn{Y
+F$9ރ`k5oL1,,j0 sdd'8F2<O1 3.]I׵T Wn~sR|&qb!yl<2"}cjCTSkf *ZF#qXѓtYluI\KN)i;1+,=sT?o6+]I
+|A(s*5M597>W:KɇH7Gƶ^2`Rkc2qidWwtQw^d+b[u{MHq^\`/ה ɃlQI.(G/rhqq\ swҴ<#O:1oɅ!1e"SK>n7IUru/ۺ%ku*^:Wh.@,F@I6NMX_s1VֹҒ(7b*u:Cڑs rla {pCűIxhֲ;v`O( Xya0J<* M}<)Ican?}MKMR60#-CYrX(2Mne3fVv+bRhUHT?Q º9)%VJcǺ蔧pgVL݀VhuCPTꈶ8\PBUuQq|!$-qr~23J,;8wQDr֕%Љ䆚'i=|bćZʡ
+*A*" w+Q&) @G/nA}Ou!ȃ6* uԈZI_l V`:C ^ 4W9Nߚ[@nq-/@ׅbo*LD=~爊 nO*basڧ wL"nuVb%&e䗶aqMuxta텱 o.06%oaTC
+Zc26@~Dc0hb1<֭Ġh<d` QzSQ7lu=)p-6 n3rC-Vfvi?~Vw?g1Kє&+` *+%g20HʑD![ZTTQtyY.1?&<Iy,ܸΩߕߣ] g.]JN'- woɉRl!.,Ҏcꪦ0؛N{sZ://6Sf`r0`;5q)X0\o骚`4uG* j-+o'RJ󓼁WW %4Jް&JW#LLPvFVmxBM. Lq 2J3%Ifw /Xw%dOk}xg2%/!&EO*;81QI^-`_4F)KM8II<rBռlff]khz:1cBPTw zűL( xYs$M 72c,Lsmqu4~nJ9{PJ|Zvru,n垭{|}3VeݻWegQ2]{i`G,'Kh g2Hz NyvqK!MIΛ6*nm&M0IW5fZʒvI9aܬ&Lllj o(Ueᾞ1ZFQ.$MK䧣^I:B[8Bb&Z3 ?T67 ab&1B[mQÍH j|-{F{g*0S.` Pė\J'-y^ށHT>ÛxcGͺ͸pxPUH* G 2Ih
+oJizC[6̣0xMoIJ|Dpӏ˽jA!&fr%*J[Rȇ
+9F7o%Qjβ(YG͝֌?_a ]99fakH8L(۲xїٶNa^z*I.Gh@^]›כ:'`Q`ps&RMb ^t!Gf4:DGa=h%f/ԥ| ^3\XۥMű]Y
+,zVo07i
+2 tlCaU|䊬L6h'~jx$ҤB^i@/*?ײrw1pۯP}ටSf ۥ%h-dȜfY'\/Iv,N.yUk)}
+BVgYb1Jڐ
+ i9}iga(u#"'oڼڪsl c]f+T$YxOз! <L"0ViDytO)<dѴ :xltOANYJW
+\cڝ>gX:lEyKW?Aҡitmd ״ :2EN¢j~.Dyt;×?BO1 woUz<a kI 6~DeO7#<ciR |Z=S ;9$2-ṝМ OANhNɧLˠCxn'4'Se!uB_ pV~ Ey'T?A)2 itd|ʴ :vBs2H>eZs;9$2-WBag-p[9$:-- AA]7@383 ]u9+Gn`e`g /˧8mZ===)fV,δ[Pո#V-A  H©Ԕw2RY,B#p8_UÛސΗ)bLL;3 CQb!8g;w0'pݛQ)hGssİ{<9%`f$uD͘-;&_ZtG^FZ/W>N;aLb]?xڦ2zWe[D7C[eVCLzY\ÏFCV\S(]?0!
+VÍǶ')Yfƃ'U[-{Lњpm- #)\ ]Hm5V2Lls۶=V:4M%y$SRi*|Z1Eȶ6%$Wb=W%n5cXٖfȄf/5[HX\kfӔgBlΟ lmW(⯔e};8ǭ% ӗt-[>nQP?zU}2Y/y߹JAI_MT vq:.~2lj5R־OWv}rP)FXo9*#}evCFd)qEiX':#3|$B~K W)X߿3' B]u|3ҡ>Ty`awe8CFԇLj2,3,983뾵^E]C+\,=E%/fU[[Nʁ&~>JވИPN0,_hD,fGV}pTW+i*R38NםrXT@t_`>7z3غaüc]
+5j4mN8]4PꡮGU rfN*9 Ry2Q\I.s Y"}+4]^f
+
+*Z9ZԮ j]M0jt#͸_|j #&e1}&GY ^axRֈ6eUrO75kR3QI ^I`#hM@j/p*GL@(ofy+Ơc%o E_5<]Vr]
endstream
endobj
489 0 obj
@@ -1247,59 +1242,63 @@ endobj
[ 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R ]
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.217 607.796 387.923 618.745 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.217 472.929 387.923 483.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.644 607.796 415.599 618.745 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.644 472.929 415.599 483.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.008 567.945 277.963 578.784 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.008 431.086 277.963 441.925 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.956 84.191 284.413 95.648 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.956 89.437 284.413 100.894 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 76.02 514.551 86.184 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 81.266 514.551 91.43 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 65.262 98.706 76.719 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 70.508 98.706 81.965 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
491 0 obj
<< /D [ 489 0 R /XYZ 78.37 808.885 null ] >>
endobj
+73 0 obj
+<< /D [ 489 0 R /XYZ 79.37 682.847 null ] >>
+endobj
77 0 obj
-<< /D [ 489 0 R /XYZ 79.37 551.86 null ] >>
+<< /D [ 489 0 R /XYZ 79.37 412.149 null ] >>
endobj
488 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F16 363 0 R /F55 379 0 R /F67 385 0 R /F57 381 0 R /F58 382 0 R /F20 378 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F67 385 0 R /F15 377 0 R /F16 363 0 R /F55 379 0 R /F57 381 0 R /F58 382 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
497 0 obj
-<< /Filter /FlateDecode /Length 5374 >>
-stream
-x]I ׯ1}xh4Pkjɩ rt,`rIC,{UjMQE},_|@?384r0ьP͖Ͽ,?TQJӇ0_R?.?b$O3dM ekzz?3RPGc<_?aGIY"Mq{}Xsӥ׹ue2II;K
-]eA8 m"x:S'+i?Qe\EGNE#"
-Wև't(<tA.3$7GB *f)Q%~uVMm_Jq*S8 ٗ (F}<Sr"ۨ3+sU
-)h
-&5(\T+W(JOpj&}MS(0ʆނxo,M
-M[G*Lkc`:Ȉa"7/kTަڙZ×u
- Rw]{(9
-@CIn$cZZyAnu σ@WT56›\|(/o )?wnOHJ.h
-H
-Y;jVw'UI:
-}VwuZl Qvh=ob_SF_Is
-k)nk
-Kto]\Jtr-&u5$ܪ{*3:;z@ERbt観?+تX\-$> H;űh0f17sy1tShaN6s#6BG|7Ln,$+h7WWFk'hx-&Fo'[kK~jX0 :6?< Ji
- 4TN6pOᯑÙ"թ6އL|XA{r+اv-HYimXq̞uT#t^:nUF+jA:k9S$8/>^Od(>N>g,nR6hy&q?=N$ÃAő<?1x`JTj= *cY|vڻT<RYro.a<Q==Q=<UcoòI-
-Sb7V}-_2O~l#[>iVWHؼ̿>͉ՏT̵)̴ׄ:#TݚGnjL5jáyeyY?B 6nNvݽ4¿Epv/2yےYGV
-·6 8fV
-`3#sz2D TЉĤvZw>`^j>.C g'BbK-P u\yYR aD*SG<}T \`z2$-%yLHlmDhKr.׷xqe $(wq C\Zt}0)*-7˽K}w:00
-?1sȖy{8yǼܽy}ݻ7 a;jQFʿv!`DqN8r>&;HZd76JJ<zzmV<AÏkSl_E|/?)._ߝK折565R[;H#% \z?j#8=a:-ꉫt܀tuAJR8  3=r8-ޕkO诹 ajHhH}t #on:Q&)Qȕ7&Jg?d\+_ݰXgX<b `hʓCWCr mi@R5 99_5y#ߘ:'jyv)7ln4DC1 !W܋6h"j_$8$e:pZ'UQx?j859iqf 9YzU$@gm19U M
-GcqFnqJW]b:g
-&(W!<ծO#>OsoZ~$ 5e aL5Q8 MZ47 9}]3>ڃ5'*istb:b|g$
-|Y06+OB >Ȍm`)V08<p]I.
-KkW
-S}Jx5OQpמ)$'/Rtً*77ĉJ"ҶVZ~1<.\sIN k)n|qW qϯYJʽ凉eKwyb<o5
-1Zna\ÖV&y>\oTT¯iqsQo}|O ҟZ C
+<< /Filter /FlateDecode /Length 5297 >>
+stream
+x]K丑ׯq4@k
+`jgU=7 $NYsa-ػ
+3G,;Dq :xcq4AOAYPwu:ΉsrkW|-QKlhEq+0H>4AL7A"a :G' c+ F^[^Vyc<QH|.'}rqJ0^xC2o}z c)<3AǠSxg $>AprΡ }S?3@N߈?34 #)<3AL1{ M&t
+= a'Q z7}N>՚(Ƹ7ʎro1;Dt
+ͽc$*ƠS8xY+NGqċG|G
+Kx*I3)#Is|7ҢnQ/%px [ "N -WlRfwWQ-z|uhU
+|XR<0q IV?/zbju1nEm4(!&z+m!Wz¿;d;ފng[DC-kvv( 8f9f2,Ш@_֚c,Z302UG 17)
+_)&<z'5=QܵKq^`3VII\V5~q뚏/crg {2VƁgTL7^w9ӯpg_;ө/z^/gҥl(hs8*QD%)>"xbK|4n?MY%
+Ї`'!PX;@l5?O7L<.H| $a?(  C7D7
+'dh0Fݢ_Q˖ Eݣü71+
+@ Ν
+yIv'O. )0g>{v$B'kFW!,
+,0WKaOa+l©F6L@Z ]IQT~CQU$rs@/J
+0MR 47pW=M|^{3UL劇Rvέ>k뎔%x%ME0 :. 'ͬfK+xN`n`]TG2D|sUt,8{sf8WϩY(zmq?vB-)2fVsPkkj%
+z,Ű.m9u(s,B5k"#P#kjnP9ݗRGJב?v̋xo+w$Q| /|~_.<\X^D UHכT֤HHt5V3
+WL`'xE47^v_|OI<I'~X_Z^
+
+wkè@x>{x3^3F~_|f纡,p gf OkCO"nLF\J _IRf=J]?`5QFh0;_ݻ5@JgaߜsKV+,+{+]؞G6>!y1FV/gF,,U:܁E .o{+{9r"5S$" UYoF #Q|rDn7[ݿ")WĮQnyuJ)#p?}
+OJYCJKQ\I
+YneJۦ|.&r"fk̴2m#Tt9ͦk
+@fTa1t p38_0]>i;,/'d8
+e4UB鿿M>}n
+
+ |~a: •*RY !vQ@*Q9(4%f/-msŻ_Ӝ$$Il깗k[eV3ڦtc U݃:KCK?[ND݇ 2$98^\
+._JRSWA~i6?عߥ[F@J)!ØjRg 7:gPi2i'dwn9QNc' [ZA,2Lc~*61h(…>ͻx# kҏw *r0ͺ*+S/}!tͼ/2oa~y^c^fF7Զf^7c\2sy'^x̻d]kwyך޵+piwy/n>ʻVhFֶٰ+v^"'8ܰj̗n*ߥ
endstream
endobj
496 0 obj
@@ -1309,42 +1308,48 @@ endobj
[ 493 0 R 494 0 R ]
endobj
493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.415 594.137 324.37 606.092 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.415 421.78 324.37 433.736 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 279.848 582.182 291.804 594.137 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 279.848 409.825 291.804 421.78 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
498 0 obj
<< /D [ 496 0 R /XYZ 78.37 808.885 null ] >>
endobj
81 0 obj
-<< /D [ 496 0 R /XYZ 79.37 569.223 null ] >>
+<< /D [ 496 0 R /XYZ 79.37 396.866 null ] >>
endobj
85 0 obj
-<< /D [ 496 0 R /XYZ 79.37 403.97 null ] >>
+<< /D [ 496 0 R /XYZ 79.37 231.614 null ] >>
endobj
495 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F23 375 0 R /F67 385 0 R /F55 379 0 R /F65 383 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F23 375 0 R /F67 385 0 R /F55 379 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
502 0 obj
-<< /Filter /FlateDecode /Length 3483 >>
-stream
-x\KcrX,aFsR(}O]d{g%ŇlwWz|,T/-|ć˧nB/yF-~}/bqI)kF,>/?B\^~CYpځkɹ/Z8W
-2pV5{RM<=QaL8] GW4.'yژ4/Q0\BLW2R^銢ei(?M&+,LOQgtaj*/㕴A!٭8}jJNN5s^&jiɯv]IHZJG3wS-ШhP.B0b0FWj0 9PyPctW ̇Q?=(q8DZ~," ]g˯O(i35n"_*5TD0pYR|3f)%W )jA6Gʾѫթs|9 #TE s!uȦ:~C%G\'(0`OPMÀ℈FאK]ƈ]6
-1 [AE6m"-f@t۩
-7Չuz2y֨ɀBE̚rJzV`[@]\㾿!)iK3VYrΑ9uj5B~ْ655o\Al6בG7S"ne`uga"-XPn)ym)[X3L˞ ޺HZ2p=֏#OHfV|B3cv5]ڵnr T TJ)vU0cޞ+8{qO_΀ąg5צ#ET;f8Oo-tEl>kH!G7D@jENң4+=&VNָ1feCY\4,EMo1qr;Gv;F=9ZbA
-C@TB?\eټE mrL?>4?z*`jQvvV4!@)u DNwPhK jIe1>;(%7yrYi0PIzI{G[՘'WLi;ZT&`Eh?Z_{
-)p=à&[-:9{X|FN![Te*\g8rf!)CPxG!*S(դ 4bΠ+ Rs%@
-:O RTP0WwA
-9HSyT%p}Σ2Iz RM }@JoQTU!Wtw1j?FAA.FǨc*(3D Ũ*?#s <)o]Cg
-HF=Nk,V;x?&3(ϴ͐Yg3.1T8¡D]L䁚=6ƶATim5ƎKs`>7_g&q1,O 9+02H^*IAGzkqnPT{g{i?~S=4)
-))>=4N!̒`SkDܧ[HuڨZcL?m?:MHrûSpoC̝&t=issxOZI-vZ&iNO\afB|US#U-KRb9?\ƴAbj!XJ&< Xw,.t;jXUcݮ0*,ِzek[!1x Tg5IL5L QJ>IO̫R6QY{30+z4 ת$z
-ZMǫmQBtrȵnf3hP_D˥K{_i̕G U(PzYW/禼)QTT15#4{+b>Rvt0y -~5mxiEӥŪcX~RWu}%.7I2rTԺNƨQcAkzO^]o9P xګ4nm/{H֓ZZZDh"܄B,[^KHAKSIOD_xVjG촳+6YEa<pE oGS 1d7("6vv4;֦TykU}qwc+9VVJwyJde|_P3fn]VN44]Fl܉#89TjA!Xpqw/IgѻĬSC;_(]DA,-k6GқWlPA[]_V2ڗUɣ)x仳)I]P6c桍=w3V si9tlxb55pЍmޭ~.(aiaߎ6=պMSNm
-?` s$^|R AA:,iUGK@}1ڎf{[ Bq
-Ϸg ?J-f#u[
-!t-ٮل7d'Z39?y1uNnx(+t)H3A~Eߏd#3֑W2V[R2cZNJ
-?]ʭ50xkVv=F #9I
-JY=
+<< /Filter /FlateDecode /Length 4332 >>
+stream
+x\K$ ϯsE`mi>9/ޔJU]co;zP$T/ _}ӟoB/yF-~~_"b`b`܈Յs^\͹Kx}V\b 2u-߹?}h3
+6ȇVN2}Ih]
+Mծ,Sm~)T^{)-J-%Hd:^Y+OC8-0`{kUa{yeMO|hoQ_S ǟvuF)Vji@ XXɒcs"+բ,-y+{if40 mE{4ܚy2\ q:4k]AE1v6&%g,?}~
+q\ P o_~~؏G~hqa܌ v=a<s~I栂`fNm\5ɸl~vKAjƵ:Z |jJUYSCpLZv(*l˘Yl 8f앆bXíXK7$
+G=S4;)=6j{M}w@
+z %MVJyAIh~ؖGл)G/)昤a5p'1P$ؗgDo'a5čcXu5"gcMRw'ލeU|XwmS BbhI{V+ JP-^ӼchF1[6YѴŮBO@NHz iұt] ETSC"Of>6AXRVUF:;-$cGڽC72j/Gp<'/L*CP󳨇}xYso/ō*Y7x:pI={*IԅP0F4+]ѨŹkp{1%=Fftfv}Vw_2uk4rHfRْVퟰaP
+R]҉Gm67_/_g 5F[+(1Q"޼-£*t䳱9t[:8ŗL>!NqڢyfÇ7׼ʑiſ ra7l_sHa0CA쿿o~p۞µG3U=I%՚]v%H|Teʋno`8-
+ v82vYiZF0m`s~]?˜v>iSb)GmJz8̦
+_wMt0 `jN9w
+.]8wf୽:h/i7SG)
+(P
+]iRw=9݃)|-1
+<W RXP0gwA4 8HS~Tm8HiDŽ=G'A]jTlcRJ}Y:Ī
+9=Qs|euru_@ΰc.Ff)T?qc:+~/>NtLb
+ Wj_ݨiʹ%W+u}n}?&3(ϴ͐fh Lb<
+' ]LCkOl؆6h&9.#o"qI5Z_>XLsuG9g?2BiOtO~_ LJ:} !g]`:md1>ݟvMpp!*su H<<Z]3ʒGU
+M"M\]=ٿ^eχܻ5+ܦԺZ<<h%/ITh?<|{ˬ_@\Zt,G#h鸺ͫv&z17
+Eo8HS tWcFo`D h#rֲwc*_TJnm%1ۣLtHh3nMmWl4Kl tpaJi rCwǁPL:3YrO -؋|"
+߹i(”"jgn>7~ۑ{Uҷѣ)x3)MuCa(
+_+rY3Vƹ4%P$U$Qwu5k#55i,ث٪./a0܎ !6\wp* :CFnBǏc01Jk;!ƴ {w
+RXI7 7 B~MP{+XkI/!\W0sg&_N<Fb͂Üf!<(X >y R 7#ٖL é{mEr2#]sݿ]ڙ^-Rjpr=K+}zpKLneI7Ĵ'ɑDE|,J۴Z^ߧx3UK~J]`RvԷ!_Ciկe2;G @mDįi˩6(tv^_Pnz8mX˙#'nڑ%;IQic^)3LSȁuԶ
+Kn63haG"S.OBd;A.
endstream
endobj
501 0 obj
@@ -1354,35 +1359,30 @@ endobj
<< /D [ 501 0 R /XYZ 78.37 808.885 null ] >>
endobj
500 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F57 381 0 R /F55 379 0 R /F56 380 0 R /F20 378 0 R /F66 384 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F23 375 0 R /F58 382 0 R /F57 381 0 R /F55 379 0 R /F20 378 0 R /F66 384 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
507 0 obj
-<< /Filter /FlateDecode /Length 7074 >>
-stream
-x]M$P?`1 gDRDdFTu{dQ
-Io?} _͆ɷ~?nӭ~ʕn}ۇo\x坹=eb9]*
-XCIhs7,ͨlJr{JѪx_MU ]G凿'_ AP^ipQN`@ۈpکY"H}!¾jl#$#B3!Ŗv)*FB\RƝi:hH=d.?3"PlyEAw|r*tZ2<r{~[FSJ:eWnZ<;6G=4 %<Qb[+/HqEg*홭 Uq<1mcN]B
->g?aISܗD-θDj1>O jO$#k3"ZckH짦`bg`yO9oS{Le1LM=CkS#WϸD8lwym)/\dD=¸ZfT -rb'wQeըORܪŽKmʱZOДVboQ?G1,`bZAzF3uq"sSdo!kO`!|byaҤ$"'s+R/35Znja˒1W*\k()@5uT9wVUd
-fLf}F_]q 0?Q$ 5((9shrNĆE'qB}unhMr9؜wc
-ww+Zvu97z\  Lg+;xrX>S^m8"0;]dhYqNo 2ҴđKPZ,?ncC9n鮳;YIk.a%O?@yJλ NcVog$,!a2ݫ?^8 A9s4=(
--&]6M%3R:9Z0u<dK&@6CŤ$n掯wzpS-~ҙi25^AZzآQ{-57IXW>mE|_Ʒ79Ē6
-<`ompzp0pE I~N*@\xvF3f(Rbpƈ8@Zpi@]w!L+gش*r])&}.s&dsJʇ$Xt`]WS2&!@[Ќ?v/o{UK7}kq9呏&vÖ ~b6gkeC]<dzx>0[How&<lIi488#gHkxZKLIUQ?*?i7|Sڤ A+/"@ K 'Rۗ̚J<~V?to.-/GJ}g@&d4NuQ|̪ Wc`#NlrrH<ޮhXAʼ|4ve{|R+?@*t~G\oCJX :qgJ彈1(mҞ(Bcg>yGi+[BTXHԎKƶ=F#[fT2!LJu
-VU=+ܷ~g9#A0wO{~
-]!堢v7am]Q}'L}[AO' v>.w<}h~מIg'O R9 kO䳓w9ОOS1ʞ{qWJ'6]wT])(ӼcV+?֕6N㔁5*rVi^^ɮ~Շ/_|᧗|>NRm \rq/ l"#(ضNt+:Y=o|͔m}mG}' >bh`, 4T$ Q%iVEZ1|y%EYiP9Rc
-w}$R&@X1~)/, ɠaT\Jadi ȸ@'$$5$
-0xqY,.!$=-KnyI-4[ABdR]i"#)0Y i @̂ɫXgF;M6^kEA (NDSBM+Z+8Z W=–Y4Jwza <5šOIIJ bTdb%򛬬
-R_ 6& \" N~˶h3 [։N*v v<,g;1]s a(NI-%D0lm@Z'nػ رP K;\;h@wn%v W)E!e0CJnwRc,0 LLbNJ;^ymEA,L+S*kFR4R:1!\$]jilJc M㱴Q1Ŏ\UF2'w/EZr)E!e,#JfwC1 sc.P ƻñX]AS-m,mh38
-!IKC"!
-rIHHҁ \
-{';anPDRv2.B1i1q9\&܁b@W:¾
-@)}qDzS Ry>8UʧX/
-Rq S [{ӧmυ ,Ó)ئyOh}(65?u΄Ԋg/d/8{<
- wslsli-]]lmׁSeSI[x!Ms軶Do}ޔ%G-\mVY Ӝ޵%;oMZ(8(<''k>w΂S9\JY8=EsPĔ<<g
-a]QNyY7+t³s .yٶ:tS[d.U/J>qTrMשrx8bZQx7+H_xZ!1>e{YSa6l]lg<!MY7KmsG7tp&JIBBsCO k+R?
-m +RH*H)XgKɍ
-I012diEб q&Y=RmbVh"$ؐZ $T~ES0)hm0BLl ,6vk}vn&00@'j &6V)-U8gdOp5dC
-r!d;yHfS;+d:f K&R&wET 7̤HbjBRD]0Z@]x9 `ITKp$zƢVLLƫS ъF u,zY۠]gfmJT.Q<(YٰY43ivؓEg@j" ʂnD$9#Y^Y|^?並䱎c=RT`>6 # 6*dlǽ(A܋_c
--ڒR?lvYG-(~f/ٷvkV=d|U+<2 x}wv[veߡ_UJZ25_nSý7Cƭ&8_A_
+<< /Filter /FlateDecode /Length 5896 >>
+stream
+x]K$ϯ}h0vZ6= MI k-H2dfVeԪ`0d0dIY_>Y~*돟򭙖}ɁRn%;chm~<
+Vkn]m`Z0Ǭ ݾ#;.d|*&zKϿ| r۴o釛
+&w{&vT2)?((m`
+hXuҾ;+LdBjW!y;skGicMe>‡L\,
+%%2jmGku~g>BЏ#ן{u[޸srVA_3*xXuzJ٣q<A ~&[x>ĄCd3 ''U{#RMV9 lVeJOt&hJ-Yd.bD{F3 qЊ7O-_!Cbuaҕf'jiVnQjImHk̕W<{d7:l*!R\Wɭml+
+gN2oyAubC"7pB}at.y:Zc
+ԓww/{NyIkKmNͳ7-`ݶ7gc՛}m@= "дƵ|h.4F֑Ҵ'đKPn2ǡiA^ꊞV4$Tj=@w=2LZz_?iGoX1Iq/ V(b {jmDA]5.HFE$ĩ}7('%Q+O:ⲬCЫ"Y
+@oz{~~EĴd{|5Z8Ϳ~`l9Mq䰏Z(z|Cyɚ#4cj?4$w*v3*%mp8@7p<ĥ5dȻ{3Uîw-B=_x
+~-
+_g
+j[&Fi}X@n"i˺kۮb_ pҞ}M}4;Q򅋮/
+Ki&܊Z-k;"X8gCS$tXc8LLr[a&:׉< ɩyS9($2:M9beGL:A;ĢҚE8I@B51&bWAFI$$d1+ W - d! ͵6
+t/τDTWXx'O]Q <"ږ#!a C LSD~1!+o*▙R7e9HB,D@B@dorT7mMv4opθx[Wyl'2Z`jz/lea>JM
+UŐѢb5ŨH3Do)\
+kҁDn 4H`0q–Gj+"F F1dUs#iŁA[,<Gr;-xAWCE71+FD T;H)CkLWc״_[ҢOpȬs
+࡝\\:!Ԅt+8^b'ۤV ѳ 3"e0b!KNہ"CQ,
+|g⥞K Ik ܢXU|(j1
+%R$B [b\Rjs6H0>S19wb~CN.r)au
+%ʵ,]0)xzAxpbvZ˃{W|s6q>% >?i׷@Gt' o|@5@_7Wa\GtvE=a6A=$|w^'7tWkBj*ܘ@NGHW= T :n ]/ټr$CB4bK Suc_b3,oxͻ
endstream
endobj
506 0 obj
@@ -1392,402 +1392,407 @@ endobj
[ 504 0 R ]
endobj
504 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 621.867 150.693 633.822 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 432.776 150.693 444.732 ]/A << /S /GoTo /D (section.10) >> >>
endobj
508 0 obj
<< /D [ 506 0 R /XYZ 78.37 808.885 null ] >>
endobj
-89 0 obj
-<< /D [ 506 0 R /XYZ 79.37 193.798 null ] >>
-endobj
-93 0 obj
-<< /D [ 506 0 R /XYZ 79.37 156.405 null ] >>
-endobj
505 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F57 381 0 R /F56 380 0 R /F55 379 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F69 398 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F57 381 0 R /F55 379 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-516 0 obj
-<< /Filter /FlateDecode /Length 4638 >>
-stream
-xڵ<ɮ$9nQk6P'ui `'%Ŗʇz!QŝT>_dw受(?>
-)!zR·cwNSזi.%zh8MtHko2޻8?ֶI{
-'c0M)V~-Kreqea6W'.y "[em2 CSDPqjH&Gи %od34 ,;~~ DU_v+ kKe}~+9k [m#UL_]hMu(ֲY8!W&}/B1q@<"n=^c+,>aH><?Rfjdl8@z
-ϑpu9u]lq]$I0͍|~y/1 031 \M;3 <:7Oӛ-ra9/s kŒS:?.ji\B=<ZVJ?|t 3ua<_2yixJ&~&&Qϳ+?T,yW̓kRoO{N<n'E+|6U4VgTJ m!팁+PN8?gS,ԞY'k+5;]$0&Ww](8/[|)e#I:͋7YF23CH
-|H'SzC>2Niv44.Pς[_YwC
-S^UcĒ2mvj4:>^yFRGh~Z'/sܕ=r#maTra^S8HR6rm L?X01Q_)ªN&yNINu6G(43uVu
-1pͰ.[u~:B:8ߩZkesYGyʤɾ?Wcݬy8C$ VH/kP"9y*pK`-4k|=H'a׼%P#aMXb_nf[^PtTmB}.'^ UCZ
-0YAܬҪH39S1]q|+cal2N3dsn]FVhD"3v\7Ԍz,Moes>j!=tB;v<}%(Pi5tޏ4oY#]_Fup8۟ d]B1at "$NѠ + 7]A<\=ha28tjOxVA<y; NO,b^kI00CmIFW:EN#a/V
-^A deu}@
-Ly1KS2ꓖ.OKY2w.EQv nRӄ!nEdB6 {m|@!AX px@NO$[JUc8kɹ./,#+0v ]{!~JAc7ctw.Fx 3OYjlR(Aq'3]ӉzWhhk=Ӧk2#qT¢_1*ߺ oh*"l.b  m YK2EM}!:oDf2֩X}:9֎6I'?1OƗpv/N ™RbNn$-Or7B\2gU+{#+T֪-rz~ޠ?5NMR5^]c oha~⿆0npfis<ڎNӘ}(i\18Kc"( '֚
-Ǐ>2TuC`13J = FVI~ɭnodX<jI(o6> Vus*"Jc-8LݾGf0xHm ;5W+T3== ))6ċ'Y(O PmGCn c
-,@FhW
-`WL~S_%F-e$ߦa59966
-2};| ;cp6`6 dG}LS7-z#XBGmݞ7EDPϤ0G6
-[#oX#:AzPOn _1`n*Ȣxj.S׶{N?jiK~
->u ԖR9b4fRuGã33\IYmKʌųnç }{Ղ{ #|g7R萮F(dx.D37mh%j-vK_3 +Bɹst6
->t_4
-%0oY<5$zaDfg4;CpwX뫨^ ܒoF8p( '_<;,ף[yN9ښ04˜č|'Cfl YLYkܣ`˒a>>Kwc:$\GnքelIF"wۢRoFs7ɑ“E:ymN<4TbvQ)rQB_de$
-R(5QA׊ {9%a_ۆs&im*y&M9^vZCOW>浿_h(IGF;pp\-|Tlӌ^
-0zGOG4 Y,~/Bd\xףw㊊3II:qNJ)B</O{)3}TbW~RCBb̆LcD_|Ry `ǿ}0ȴ +ʰ:zttۊڶ_.=2
-4
-a6u$>)y1hn\WcWfl8po)r^> otcx\e`ɬkVa;%vG%tUD*qU4Մ69)+JT}
-4o/߷ 31
-q9㼛TQ&<4$CЊVxYWk:LȐm
+513 0 obj
+<< /Filter /FlateDecode /Length 4840 >>
+stream
+x=ˎ$9n<z`}o=6`9zP"Ȫ3SAQ$E%fE^~~*\~tKko/
+xC0߿h HKI
+L׆b7&$2!ʤiu!pjV_u?4}Hnh)M+ 79SU2>g^:6]+t{T7ӖBE$]Y__(q']A|>^k@_<v@M^~ylЗ(O'i 6`0_\**>(dљ-7eJnܛ23`ib_+D  =
+}أ6O0{+<
+qIBUn)& 2$Q$y0cA`Pt4s8cq( `[[rDEpIBU6): 2i
+|PD`pCD#I C
+{׮7xӷve<n ~2ΩW+ [n|JLXU(~DrN մ[ezG|1o2k&pue+ۂ)BN?[nmb `
+wd dur_#y)gD'Ƽ#_NuE*OU?=zqO/ Z(sqK C
+~%fLHʻR;vZ&SAa
+9="ӭ#cY%@yxn5FI+DL">˝)mJwJqH:W)y5uT@%!9VUq<z;b/]%T.3b&h_wTu1XevC{i.wt#c穮QiO%S#WL5ĺ67|ލe:#̉za&읁6䤿皂!hRtҵ*LÉSIp9UU:rkv[plWVE8wuDqRޮ3$+Cg+W&i'GҀSl,DSrܧb5H66E픤[Y5[Uc8[r>0XNUxJ4XSgPz*8=Pu:dmV;׆sN0jrhd 7\*k%=)a?Wly
+׹^ua!YDz<l)`:~xqն UWqD]0E"[wš1VD 6}j$ eХ>đ w"fHt`n627|VqUw (]^y2>n7J\^~ST^EHE<ՒhH\fz*"(e6aZSI5@*zѩ#L[NNmXjsvs6Wb C x`uL`-vM@4 ']:܂8Sp73Zt^>"ByǑ%=~b<dg{73!aV 9[v̀<k[+}hЀ11f ij1}uȺ7 l'S]vٙ=]P`*T80H&+˴@n64A?Lͽ 6.]Ȗ&F]_y}I!YGrC~X~-bo
+ǹIf `qwFigOY/ٞO*Zb ];ZxH,.\w4¤Eי-2Ғ⯇-)ӬgW )'Ut`ahMrm(֣j5w "{}1JDi?3*Ἒ1=3-eߠ=uG߮sQn%M|#}á1;IR~bTN5o|E7<)-rwһnF k/!wWHe%^(37R/=z1
+{7FQͪ.syo)ȊZ{o!{:[ᎉvZ
+
+Rk8U2w˹4.i =Pm8ǥ
+ ӑĄ1לNQ9,y׶}Eh}U^(>Mae!_y_^;M&_g$sS',+|'ޤK5rbI5]wZ$C/=%YTܓM UU&`}TZVL\7ZwvZH j_S֏px8ƻyo?v@Vs凞Í[pHwL"5O<`¸`(x9*8ϿJ?oC<K |6`F1ުggi44,%Kn*^WB}=k #Ѳ[eeD_хCߎ .@꣍ϸqɽ T7]tb&6o(F::psz8N,V%O|2o3i _7@(_p_Ζ/+V^ cpqa5g&1[#i6ԟߴ¬P>I)sYVy奙~h)/s[' egqO㮲•KUG;}OYRuArYX75G;A.Gp~]9/jrE CQ%#h<45
+c;H.ڃk?};NMZiS1R&&~ nj"^([*lK:ɣ"=ÍUS9mޭbyסNZxE,*lW*~
endstream
endobj
-515 0 obj
-<< /Type /Page /Contents 516 0 R /Resources 514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 518 0 R >>
-endobj
-518 0 obj
-[ 511 0 R 512 0 R 513 0 R 510 0 R ]
-endobj
-511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 291.425 235.658 303.38 246.607 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
-endobj
512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.426 217.964 514.132 229.919 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Page /Contents 513 0 R /Resources 511 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R >>
endobj
-513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 206.009 101.955 217.964 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+514 0 obj
+<< /D [ 512 0 R /XYZ 78.37 808.885 null ] >>
endobj
-510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.993 85.96 318.45 97.417 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+89 0 obj
+<< /D [ 512 0 R /XYZ 79.37 675.694 null ] >>
endobj
-517 0 obj
-<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
+93 0 obj
+<< /D [ 512 0 R /XYZ 79.37 638.301 null ] >>
endobj
97 0 obj
-<< /D [ 515 0 R /XYZ 79.37 529.281 null ] >>
+<< /D [ 512 0 R /XYZ 79.37 340.527 null ] >>
endobj
-514 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F66 384 0 R /F69 398 0 R /F58 382 0 R /F74 469 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+511 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F69 398 0 R /F15 377 0 R /F55 379 0 R /F66 384 0 R /F58 382 0 R /F74 469 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-523 0 obj
-<< /Filter /FlateDecode /Length 3909 >>
-stream
-x]ɎWQ:}USS'u} \NƬZݙ1"<><wW&GZN>?1@'6Gfj6}2RE)w'!<+3Qʾ/~l<Is!sAB:7LüҔFfRR\BJAwC$B텘0yQQI14+LH8L_JfM5d&vv~PP'v秏mu+L;H4Gj\~k:Ap8ׄ3͈6mB71 ֆR=
-k-qt֐ 2-k
-F0lҀ-~<XyDWY=DP낀e+kź/C6J`ux91'LlQ%Wӽ
-/Fo
-R`ϥ@dk9Yx)n-i X/*%mi9qB5o7j"a%mFY”3rhDqV\AUH57,M UƘzp(8WMEڪght;r*0ϕ T<@?mW)4H,_jXxe|wgW[ <얮Ļ4.3Jpr֞+Nŗw`9n*X#lmSS:GWJLE_ tcC¸ja$' -+h(RBE;XRO<(qtP6;+[2$ݢ9k.R}8(Ƕ;J{PO 8CMJ: Ogl!>D#OS<<1Fsx~3C %rSz^05z;q&on \oo
-9r\ӓU)=H-thnu
-Al*C[(*;5L~@䥟ۭ;mNi$a:% @b:CW8U%ʕ.uC2_$@:|Ԯ"G!}!BGJg*
-%'0tfb<aCg>
-^~#W>yVtZkqsݜwn юx]
-sc܍Me1H=fZ;t!DMQwFw^4KHэ+bp9Oy̻r‘~ㄽ  Hoy\{\.+ou9Ib{ ˵
-#?a0L`8}@~4 607g/ATTgs#" #"yʪ]ʀ B'U3=}
-qB'~"{MgdoN!_1tWe˙KdN6+եnI<fm}M<+Ƭ6qv0Fvo OC9|k=) ·
-Wt^g6P3iSK;]9{-治twM}]泷9].Ta -Sya:7b4JJb.d8dQ7tuRsh> /-ĝNt2Kv/F? Q<jW}`pL/>~Ԯu
-dy30Dh-̼vQфSJJF玜xS)$yWw\ԝ*ԨtG`tFVPl1:L?nPNCzC%0o>"% 6;+m$"A: {۵
-m B;^nX\UQ;7d,c&)JѢVu6_ccΟI4$>@/=+椩Yv;xa9d(j잉F$=fSku xQ @AСү0I\rfh1Ɏ:ZǸ՜`lN.w0ポnt_m;fTUwcF
-')
-XupIP͚3r~h+nQ}nG0n_l ^\]w)|U}LybV;ls0.gekL@_[/6ȒRyӒi]cz.]Y=yQڐ`B?'{TocZBq`*NJ p'ZOI1GFAGg.W)f9]fM7M Gfz …Qy#T)al{7` 05[)Y-UScË
+522 0 obj
+<< /Filter /FlateDecode /Length 4988 >>
+stream
+x]K$ ϯ}hE0Xdz۽s7'$6
+ R(y_ [{je/Z^‡DGk]G
+s" ?pW-cT]xb3-ADpK950Q(>Ж0~MFnMI͑eu9 a Ю1:DaBlbTeo!jqM -a-uhPL;.Nap%4h{#RxE
+4- 7>]:K%ke;IdϭCتVo3Dds NnA󒕙XCg]1:ڐE+ .|_DRkկDZ>ؒzŃoZ=2$)l.s
+4!{[ezJ rC(ۤ
+.-kSc-zJCWT`^XзUzIkDF,P1BCFn4
+KkLN٠~ QNQEI_c9WRx$K^xZ7 ,.%x_Ķ/}DQ]SZ9N< _pK&qb:v@UdL*_Ev$n4E]l5 W9,0(NUkq╵r1jfF'%ͱ /?1YDi+iu' ܂8im.] rc:XY /݂$kAM!OG䥶CfKozT@0c7%0K.v`E,uGԌXR J뵜eyJD:F:) &Wp͵vK]`7*5NenOFe;1j9bӔ$,OLP{S9wX*HWLX }(/r"YmR&!#_#זX,]e1^wG:D4} 'p:,e1Yʡ\k}.ptkveˊr
+L??&btl^bt9i])[nBZ>lLKr?4RDÈ(#aOOd|,cY{O?=}2u]5}?,ʏ*\u\\_[ Gj,S-Lj"1N> U AzW%\ž.GKnkE`̽/9l*nit +:SM2).|,p \kCJZ5K\b ͲJ~JB_Xr1KP(}7B+NE<l+vET_i\b1zq!4ĥ}<еcJH^qF+Mܑ `(S 2.AS>+}"KJMGAv8_ &%snoҴ;esjA.F3-BvY9Nģ@cTc`nv9TF2zAN4j澮A"̶qf\L8FAJ^uR{9v2ƾ91eɐ e
+3=ݍAK>zn 6j?Qr1:5_T@Ig.2h A^I^\k!q,4a! My)dCAm 1=./.!HsV4YAG H9sdW%%4*=Ѥ_evP0GiAƤ~8yjP 18: GէԠ\3>~wZ We : X*W ԝKWʿ+ѷA ̪=fZN t,yq(O(1}ʏ-Xc NhH%h'AEP7\I ?tʪ{@C Ej5-1Pl!ay`+'@ $twx4uWͯ-fͅ]"pn"HXA_AjH
+@4}
+O~MI~t YwsEg eۙ?ׁdf<ķꨶ{uԬe><(4-!Zmy*cC4ewKN|o Ok )8R%oAV>
+[|cl@}ňd _ʺis4LC-gnҷ!QCޱɋY(ERipjN]xE~7M#_˶nYoXn(uGVtKq})V_oA>Վl=p;jf8t$#WQ#G-Z(T}?T<P`+:0i0%uAAHH{EHќ|EH%^0l+;DL87 wFU5HHP0}^TʮEB%dwEUׁ@&A%/SMY ClIOB<s"H!5gR
+<")h:=̣;ЎD}#H'H1-sI'/ !T>› wF'E_Jgꪟ&AZ1\ & (љ+M<V?<c^I+ΒzX[&݁ptP]"v`ӓt5OkZB1*-/*5ArpK}ͷ<,S.; t!@KJ6խ( 9O6s)}?fX_A|.5讓oUXs&9y= LtяWAro&/)^vFC=4K:XCDQ ~t{Vr[0Y]6𑉲Bm3h3J>cwCٜ!qJP6s$Ʋ;>vioho޻`6xrba|oL*S8sմYBEwI)}]]_ ^; ?xƄ2M*]j^U,q(KW{/^\,?
+1ec, z턗#N)N8*jN^<*U\nL=3Ejޥl]D?7uK;=* !,2:֣ -(\ ܍Vlx(+u]2 Dgxe''D3X^xmgKAҡ q2b_Άvfc&|^u/ewUEy$ގ1^kX[C+ qM6ŖXԖD=x~3YS{A\0˂M#`Vn_V=zN;օֵ⳪m)mOe gf&SlsRך0inQMNዚ@;7fow=V}jmV9Ms?1"Y
+teӋDޤI/2I^酔pVrca^Vw 0}Xv ?d|zlψEs~)9 yt!!-E_mG2_<|$Qר+?~|=szO0jhgߧA0},g1x)vKp8/^-;
+ܞF $/`Wz S~MOJ.SP&gPGߔ8$`r,,oY[%x۝?vwcj9E7%#صU8TX/3wexQZ
+uX J_X"_J!OL ZA})Q]Tx%,VhurK򝢱__o"b:8
+x]FmqJv
+]>PܤP5xr-6y3}{J9K8*^ B/mt-vF
endstream
endobj
-522 0 obj
-<< /Type /Page /Contents 523 0 R /Resources 521 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 525 0 R >>
+521 0 obj
+<< /Type /Page /Contents 522 0 R /Resources 520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 524 0 R >>
endobj
-525 0 obj
-[ 519 0 R 520 0 R ]
+524 0 obj
+[ 515 0 R 516 0 R 517 0 R 518 0 R 510 0 R ]
endobj
-519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.42 418.605 366.375 430.561 ]/A << /S /GoTo /D (section.9) >> >>
+515 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 291.425 694.371 303.38 705.32 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-520 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 477.218 248.408 489.173 260.363 ]/A << /S /GoTo /D (subsection.14.4) >> >>
+516 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.426 677.873 514.132 689.828 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-524 0 obj
-<< /D [ 522 0 R /XYZ 78.37 808.885 null ] >>
+517 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 665.918 101.955 677.873 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-521 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R >> /ProcSet [ /PDF /Text ] >>
+518 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.42 272.601 366.375 284.556 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-529 0 obj
-<< /Filter /FlateDecode /Length 5630 >>
-stream
-x]K中gQ`9LV.IfGlC)Y媚F%E:eKHɢ)Q ߿?]?͛ҋ#Ns-O?cP.laTnb4#->/|TPJ#8|JpMoo~|ap?ܤ~5oP뉮=M>fP:">P|ڜ'nM|LM"ԴP
-geruEJP-#<5Ff~\V|mTcG_Xwq}~*"Bo(;G>Uu;qaHˉ\UޤaHVޢiFUޤNHVޤ/[ʛ$ʛ&NpK7#0?y?]h
-
-G,+D+c ˿2N2w-n! e.I˶ 7שMfq@r>:Xp6辅-Jq2–P.lm*A~y*Fgl0-(xT>qaLҧ!`zXsH'kxN`NnKTǽᕋ7 +Bm
-Iݟ!Ԫ?VQLפOW<tnRS3<nׇ_y^՟,)'FlRk?OV#6S |(-f @*}
-\ W4'+0&NTQ3)/fesOZ{UYA9ozug`1pJ?rzu[tu|#Ɂ+V&L%W*ȁ-8KZJs`"@
-(;KZԊ(uZ竏f 
-w[@RQ#MDkP'-9Veeu:v-_+lgO2Bib -$gĊqE!ѧUͦoDgUg"%쨪fZş1aҹS5@pK, )cjмD33l2^~kΑPL 2QgyvmOU١)vGK6awPx_W N}7f?h~@ <ZJ\3A_!m ̹:#V2)4+ShVShS8+[%I +Mqj%36$H@aq̙K
-D0yѫZ4\d!.A`ٛq/!YI*Ԥ/^č,W|Am-!Xσ{D;D$0$\pWFk̢ B;@+.(}Mq=Di<1A*/FM^nm?
-{R|LfkVj_t*ҎkF*RS(/Z9ȣruH#j#qrSejOn+>Ŏ+( rF<_T1>#ˬO. V`dy0fLH4raTHjQ6%aiJnjew%iez,KǚՌZs[Ye8$M2}mC^EIplt|rל ě %d(>xm_ga#K&Mm2..
-V -tD+NF
-l(<2fV3o2fb<$ tZ{~͚RiMGws22[n5X E00S(GRKsAqW)J#|*Zet@hM `SGNJjT e"Lt|(f)ݝ Fc SjBl(N*$ %3pke~Ĉɋ|C{`]~;ERCXu3W[Q-]h0ת+Y f{UU;](+W˳c.acRpZ2(n:x- qA,v]`hc #;a#[#{T9=0׺<޴.ۚybPUʳgȩr*$\# rR/œQ_E1OSiNIqqJa -FI
-B ![AHq} gɥ5nKqCX>+[IBi>~,fm =>cp,\[Q1F(b?)棎 `/$_NEk*"'Q+]J5A2QfD#FڧlZ'{>Y#t0=;\Lbzf
-uݴ'l'LODƻ1F01Q-R>g?7ձm%'꾡FBsس%'Jī1)AiFw$aɡ(CD#;h1,lEj"P H
-f\Ba26NN~[vl6p裆%<1VLT^
-8Nkΰ=o< ~!,LVbt8;YT+G3y2S.oX{1#vO0V*J:[Pt -ވjE}%UB59-;j۔[Ii5g[7+}©[Z9
-0R._p=sqq#aJU9\aW<twc f~}#|,5@fPk@TUp۵ ˒y@mWd^_gMK/5^( ;&4N+oq+E[>W]_JNϱ3㯷=dhX2*{~{Z?|(5\~_}6Ao-:z-7/JҶK߳MivۻrDϕn*. 1 [Mљ=,.ZoQ60l.R ƿGy[qMOߊsALpZn„E] cٲߎ`+ 5+,B~G؇D2|]Y9bm'{?U)WytěwȎE|[cyNqNnz`7%K9KciEǙUs0%?3Zk=^\)N~^έoGg\?S*7Wi@^*oh돢Y!Թ6s~;K9TUkŸtg߾kʛ9z#RwčkM~W۷2Zog::ZL p.%[Bbf}Zܾ00ӒJy\i\6q;5ѐ b=咫KsNyb <PA".czcFa-qLT Ŗs*ݸ#& Y!#}w"ےT+R $0xL]+)
-)BvmfOxJ;8q|^=OD2>)tݏD5aC=Z
-a,:<<|vH5n\Gmql+ hV8`Oj []Jc U[|19S**G*>^C%c@=[㋚9r21f[fA[/`^#UJ$$ fme8eEq
-"Y-0qP@<!B6cJrNt(9 Z ɳꗒ)LPĵCI<, ) %Qi @㜙T JdmÆz4g!8EZpЂHꔠE^NT2<v"A%̜JPi'r_8Ct[m"\[~KQM ^J{c cFu>-[*x01w驸/.Bƻt2cO+xJ9^vitK~W_8Dj
-cX1N}iezb
-pVLʹ=ݹq0A٤n;7Z)q疓D){s"P<mL6>3bjw9v`R9Zr0Tg3fu;!*f<׻67MUl.^yS.^_˦ BA/I^߷,T֧l Y;pt-t}l:ڊcv]` EE;LeUC\v(G iV/0E{K| C 3hcû8=WAm<IdIDe7OǧB+zp@wΫODE&<p
-endstream
+510 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.993 84.779 318.45 96.236 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-528 0 obj
-<< /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 531 0 R >>
+523 0 obj
+<< /D [ 521 0 R /XYZ 78.37 808.885 null ] >>
endobj
-531 0 obj
-[ 526 0 R ]
+520 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F74 469 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R /F66 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-526 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.08 290.645 305.054 302.6 ]/A << /S /GoTo /D (section.4) >> >>
+528 0 obj
+<< /Filter /FlateDecode /Length 4758 >>
+stream
+x]ˎWh9^ x 8ߝEF
+}b`b NHtWn+Jd[ 9o SVٛLd RثCJ^i>i,e=OYG$= dOJ4}{{-LpHLB > l)#+9ŭ(J W @2HoUP::4\+Mܖl}H5Lt@%quʾ ڶ
+K
+V]^;k&^{t
+6?C/ܯAFlkߵOFl{H3@*}
+g3V,h$aַ-t,q]ߚ%t9Y=KOX¨r2$ȩPcէR{UYA9uTOa1pJ?xT궲b'ȥ8{Z8BsjJ+qL&ϊ˕V%t)V%%t)VXegZ+ZNCXjQ},afGl_ﮖL$5Ijp0(5I*ˋBǛdzř"
+͟o>')Ilp{*cP.&7PYnp,Wp\|у2n[VkljQ WofJMy= ֏l+<+j'S۴sjnmHPFKb.nl H}7_<^wrĺ.M
+ͯHITм5dL*-l?{|B
+Z͟x؝n-L4R2.9Nƽ8e\֗3M7PեUMڶV0]; +V> Ê$<"2+f򫈬hZ4j)dbD=#bkr"3{zI3<3L#}>GΖ*"FP{4V-bn>Q]kL=r֚* ͝1/UnWRJX~La%W>7m>|Rw.*_|L=OgsB/t^OIIpT*sЕmԙ];
+s?5[)xL9FHޙ$'LCBTܶ1q*^b'l8flC5CɻX)͞U:ܿMMЕ+ @\T sjKj4z焄Wȁ- JxҚ
+:>e.1xۂ*l55V6OʋVMhx_jmF,i>
+%MTۙ=nrU냂_ݬH41,c_e^5HVzUO!𑥕jm8<8dJ]h`8|x[2yѷ48KPN9<:0\SQ9v3wZ
+#f eJ>xGDTwM
+7`mիAs*V3U RyDpqYT4/a7D7}Xh\Wx)W9>(t(W)nwvރ&=I-M4:rOW͉F\sB;%D@tߣԩ=p/go' LSY[-+{Y}r4͸eUfTuC{ϡ2)6O
+"ugY {mnyJTۏklm΀OH2wB]Aֈ -[4T{4b4cI8&ֵo7v]a sQ'pP,F::n]x7d|@Gog湰p*0{d)xÊr,P?T'&Mb}ӘlNQ4aGw]ڣK4B_i*|TCݽ]\2XH]K}]0jOE[.Q/$41%68]SgRBOzR IG?a!JLdZ)~?ϷK~a_6=EJTe(2z
+]kbc'~W71Btp?*ٜjɣT}V۬${(ӔM;?\{r*Ҽu7W6'6i36BkL&
+t|佹nd /a2j#?
+endstream
+endobj
+527 0 obj
+<< /Type /Page /Contents 528 0 R /Resources 526 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 530 0 R >>
endobj
530 0 obj
-<< /D [ 528 0 R /XYZ 78.37 808.885 null ] >>
+[ 519 0 R 525 0 R ]
endobj
-527 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F51 376 0 R /F15 377 0 R /F55 379 0 R /F57 381 0 R /F65 383 0 R /F58 382 0 R /F40 387 0 R >> /ProcSet [ /PDF /Text ] >>
+519 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 477.218 757.574 489.173 769.529 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
-535 0 obj
-<< /Filter /FlateDecode /Length 4529 >>
-stream
-x]I\7x 0JdN=mSf$!KoWUw|]^(R;I56Q'zw݋ғ#Ns-Ͽ>1 3͈d/ӿ)ߕR 4|~5-@Fg D[=wB)|B\?H% ?R|nΣ&_FH6))1
-<IbqP*,K7QG$u/
-WD݅Z%c͡ ,nZV"J:EF/ zdDhNԏdn d-dkk$+hu&EC^% /1pqȚ,[Kde#iEnM/2ޒ /dĪ3ֻ뤱WJǭ=8F4L|
-`;@7ɘ!NLo] KcYkREEiZOɂ8[_+)_>}JS?U~h\N|yc&O SpVMM8Epb=#[ųN$\x_[tA7Tb?;/20Uۓb^= ~a^ŷp *>4NM ~a^WTbz b^Ň&/̫Ff>K`1_Mߕ=#Ƶ=ߦOAQ?a(,aqNaKa9pxFW$)tDrP+L8JXi~+^ˠ
-M+~ _v̉<Q/lIV)T8Zfdm
-:4;H]K#:o"pǫO+C-ovO<QUW k4'ҍ6HQúnXo-C"B[eamW@2
- ʜ6p&(\w)O?NO7 sj˔駳g)1t-5?&Q}BF|hb"??U`,.Tn0gQ==@}Ne.X0w5v^a]† 5 eݥhfDT|]'buuD@@l>`~ 6T0 PFV[X\x.o(
-SH;Gxz ] /52"/WSÐ:dU+sK xis(Ӛ!<;-(RXUb&`<cYk -&"^}CMrüBe8m3KؤRLЎ6[OSWe9
-5b9&^бhyRlpgYЈS6i2<Qӎ>tuI4XwooyE P:b^ L
-aI1!?RK
-rmt}-d7]jYCuҁHZi;k$ږh&euUTT:nE
-bNSG \?!hθ\u0aeJ"aDe=Wj`񌗦b+߬8+Sը~AaGET*F`cEۘ%+J'Qdgl'/愽,ؘ~Ÿņ&-J'1EWVF}h;1*JJT<DYF )D=mzm`:?`U#-(7:w ;iF0ުO\4Fl8O\b@<l% o!4F
-Np;lBI1TPaF?9S Zc =n0#e^p!&DDCУl N'".Ң{g]<QZ0O-XWj;q6~ Ϛͳ#,""d#y>aQa; [YifAF5,Q\"unC$OaVhZTy'"W(NM&vn7('@Dxca'J6;Q
-$O;%{-s`9Z=j9=M}^j D1B]5D=*׬Z.r+E @]BvtX3qrY/'¨0s6Ds^
-"2U؝\X-zL̹ F[=qaՒ
-~Zr %]ٲmpx~9THwxu9
-endstream
+525 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.08 212.267 305.054 224.222 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-534 0 obj
-<< /Type /Page /Contents 535 0 R /Resources 533 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 537 0 R >>
+529 0 obj
+<< /D [ 527 0 R /XYZ 78.37 808.885 null ] >>
endobj
-537 0 obj
-[ 532 0 R ]
+526 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F65 383 0 R /F58 382 0 R /F40 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-532 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.717 83.059 389.174 93.021 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+534 0 obj
+<< /Filter /FlateDecode /Length 5016 >>
+stream
+x]KW8a`r]Urg7@fIzIU/hTHO:巅¿? =WGZ.~Ā.laTnb4#-߾/}K
+ϔJ_; 1<𽶔?z 42>)& -x>I}e]ITJ_7&ߖ& %i(P 4*r$F^
+KM~v6ڠ[|F}ԓ Ew)>k(S+ IkWlk_Yi+ds^tnn ʺ+mQ<ԗW@u>L-kAB"iMR ^BIJOڤfkdL[G|o/*EAgY͌! 4 Ck*z={{eZjEo?|LZY͔ )Dƞ,5P+ɈUo/J<;oӚvFF#Yj'ƕ&D8-(4'E;d,_ xj~Y{9xd=P>D /_=ץ
+rW_;m ȷ8s#wz7;Gswˇ~)AufR~䮘wsI(>JH*//̻򥅜^_[ʿ;|K|M ,*N D6 RCeйSā.9DK]rkn]82}K(a- s==zM9$ =d%W3"Ձ8Μ$UZc05I:5i *RfauÚ5H IIb|UDU01pp9̅8;8q|{00w
+©uHd)V[բK*ٸKr^vI0TN"#ľ; o%Iw>OjDwbuj:T@f2l~FSw;AD%M_Gղ?>6l(GVGa|70{meLz&gFd\/zc)VY՚uȖZ8Yb:ɩ;n*"%LJPu;PB$uH:ѩ+juU-Y!iT(OIvV'am7䳔(31D+>kG=1R'O]<RlE[4<RNV9ՂKn*j<+7q[ Cff&肫F@h-_RTS^,!nkGh50 !GjC-y=,/^OBrӾ/Qnf:5sZ_ g(ㆲ0 )P~?-ncͭpSrђлQLYXmyQBOhIZ5yH9 ciل#Lɡ=9_7  쒁S1O܂|ovGJ~%M8%3q_M+\+̬µp
+,\_olS"?SW .x#-\>TtN$Lb@OIJopeŽz*렼'7xPYn~qOnpFIn~qOX-/nɭv[ʨܷ->f*-M=8!5L| cjd fKe8e &Rp~bX&
+#VְIIX$Uz=T* ,$R MW{E~
+ˈ JMpwż+"(0ʷ*5]_w;K(>I@@W̻a&a(00./̻%̲(0-?]!rÉs DXz쯟8D@hԸœHpfH4Ⲯ+ah->P <)Du[/nZw$J~$OcՎi}O5pwx 6u.qҎ<R:rRwx&Að ?#ʩ3GD} z_PU:J3H
+x#Fi<w/`> ǔ|U cA"}[k
+~!&v}<d1 /\+B5-/38>m:sڌ"Ϸ0ȡkQ2JDn~TƤ[RAUw)+-iW FzqKr!>ߪl uw(E;w7PAO+0OcBN?Xw, T U2+Këڬ
+SH҂q<S#Fraշg OR߸}|i)RфL9%qK
+ #lم[2aziĻGt4 #OWQcH5knQ^o&S58w4@K񗠣 37OCP߅"?9Ëyx
+TT?jgXXbk:`١Fuªd[`q :9F|`\,{w&/a1o<]ɧ䇸~+>r8:>-m2c8m=+QHy~>C&\ AGHՄG `Ǧ>/Aޫc'<[rÑDpN;!ە
+o o|Ch!'0=+]
+WEyWk |cayyWÙ=&0&b9 W[xDGJ"s 4)%x>}V}G<öI9b⩡+%@G(L,k~r0:^H= (yr` ÏQl$DE>C|-s<Q B+UZcROӷ{J¬ ?ЉH`|z)OLxU3`QfpQ+TF`?qz"'l0i+iZݍn!oQaT@n ?=5x'd)ޘav<&Gn`ɉ;=!#Cr3r\٤ az]_s>E >7'fYVڙ5ja9V9qZU)!T#?(#hmb ֣7G^-}iZ!…FdLLB`"v3D 儙IY|M7.I.-Z3\p={jbbܖ C¹-^a4O|3TuI=V[Ɯ/:a5)4n)Q }J>%2[+q{n'I5^ҍ-]JNWͻ㲀YKj|8|wVef^ WyQ[K̄ˤ
+_,п=w_=@s˧!TJh+,ˁiaf.h0qFֻ
+8+ݝ|4 >#ۊMD,0~Prx0Ibr],Qӏmm#-ܚ_[k5(a۪>e%`_]5dT%&vWNc
+ѣ9^ &BZzR'WU91
+r6Z!^ҩfEѹeINO-FX G65ۚi
+|X)J(2QQRz㷲tY5yk02!?2IA!<$ & J=UX#@n*kTcHM]aNUFI>IO*o9Ulrw2-\g9Y׮U<M&mDL`Z))KEem-{^.m2aY^5kQJd®A
+endstream
+endobj
+533 0 obj
+<< /Type /Page /Contents 534 0 R /Resources 532 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 536 0 R >>
endobj
536 0 obj
-<< /D [ 534 0 R /XYZ 78.37 808.885 null ] >>
+[ 531 0 R ]
endobj
-533 0 obj
+531 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.916 111.883 155.373 123.34 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+endobj
+535 0 obj
+<< /D [ 533 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+532 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-541 0 obj
-<< /Filter /FlateDecode /Length 4190 >>
-stream
-x\ɎW>}tOci<PKJc,TJz_xX>8/S`܊/}\^9JΕp¹NG,cyy>~UVf+Z#B>?Iʸɖq|߬l]<Vu;$1:%J3eU%O~7c֪|W<z}?Z*XjaZi =fV95S_&Uh1,FAbe5߬*[
-[0gq
-Z\dy(F|vF Sc`AƦV831\RqZReTuJi8 kAg|
-9UeW3jHn2i0/͠ufI<,LїbG"uJ6,]IF^>9zZ܁}b\@99[OYf,E3QZnmş+J`3ѥ~}}J5bK.Tbey3]68Ö́%']z$G@H1]>}4~LޔE_3iZ=g[
- S!9-Sϱ}_IɴjQ:<L6_Wίń z~iXPtWezrJN=-cڈJ9%. %ICem.`56JO p?Ե㗤ä]'u::ihw>(+{ Xw~}#Czʃ+)cF0XFo
-K6H"
-,@c>mAQߛ`
-'3m00q/q
-Cb bP
-Aԉh8B 0n"E\™ioqCC[wHa~L9~ HAm0@
-cc8ݗ 1 ZQ,\Ixԏ&i|昈C?Xߢ'p-Z1(n}
-, A7\&kһ#,զ_oҋ]sIu3W_WݲÝoi՘ˇjZS-/_^V.z6y}s) l;fևdr
-s}2Sx2tN9^MF%U廣wZQvn<W2[ItE̳>닄>8a$2_Yte̳.t9iG W.}9~Hd,u;G=JKЃ><KW)<":2
-9=#;(֙p2/1>cLjsl"՝Ie=Fa3&eϤ5_J$ u.^L5-U f4J]FYy0&,^k4*LNe0Ǔx&>"8vtB5'ݤIX)1MB!*ӧDbflNhZ1&VL_3zYcʟϋ[٭
-.U$
-xx;8QHMg^Wŷ^tϓhKw $_ɯqE$">K,*szGO3BO麝OYٲ`%CQ%[T[YSе!~D}0va--Ŷ"֥,4Mv&6 (˰uq N/岈+ڨ&O%VlTW4-,JWy]iJuMDmq7&J{$ɴRyt!%H_ahE)Y~V҆'yJ,Hu/3˷ A[`q1%'Uc[mZ]ֵJZAcbz"|6i3g Yٗ&F֓͹%%5R=9<ܥǭ_$ϭDmjOסVGF1>Ee0߀%᭔Lsv+SS%-Aۻ_y EpLc0=>
-ELE LjԢ ߌZTiôߌZ3JG-`ƅYߎ[Ty(2
-+p
-46rNy]vsrh.*۞E;-vQ%m좝pٳv.*B$4Wv[좒Ko.)?Ev-vќz-`!zOר m
- ǜ#>8_TqP
-v֏f2hj?.dvAmsx1 ^a4 jkq@ag]a~L¡V $vmbg%POVCmڀ~A'`g}>Yv;냝`g}Sv֎Ub~g--*\Ϣa:CL=3MG(ܲhH AhWdd~Z-^BAe҅BZ,hDFy.bP[hvi%ZxTߢʫrPPXjˮ%\ {Q2M !a^` ["^5/"(L9
+540 0 obj
+<< /Filter /FlateDecode /Length 5241 >>
+stream
+x]K#9ϯz?":&bLDian'
+F2τ>Zj79śqe}`ֵ/Ԟ9ǜT՚QsvXig%=m "f9{hQڠA6Mf $d>5#<6{cA6YĞ++ܰd3V{BR~Pkp #\\ç_@$ 7^6W[huZ%ƺhM0C24%jwߍUPLY N)ٯڝ} ojԽퟔW{ǤR^`"w폗 e:K#k_!0HFCłA8OP, JiӗZLŴ
+R<8^K1=*=Wl8ckWŴϯ8>X 4 :ހ,:>XKKwNGHNY_̍. -{ȭ٭1J.
+01+p*9\d Cכat@ctCN sT\ìūtҿ uL
+}8 à?"iNaPī4^z60zn9^,@qďg8u@(Uzw>!4]q(Cؑ2=IǼq  ūYi^S5wPH^`@9z`d*W֮Whpgmz`28pr&9VE:颅1O\gk\ >)]'Eː;sU?li.yqpS\ jqIs2 w5yk 4\ٍݝ8Xf[ 3vq!<#&?_SWO٤N)R`_}]/ӫU[n@tQ_ݶ:"]۱%K
+rg.zWJkp|ީZ\ӀV m*a;$t:)
+YVv6~Po F}VFhGon\ҮM^^*Zݶ6?RM7unLTVek*4X6*Zk+u^Y*lc 1XlDHjɉT)ӷhUnp*hnq'|xֶŗmF&=}@5m(810jW?_ؖμ:%mQ
+ *!^߇`
+#c00概A;.z3fD`,,"cb@vJZv'1DUfi'{'*_ 4AP'#U)9ϼu8k
+D+p#S{ @d¹4 TR8u27v05D):h(! *g
+;5nNAPWd7@
+HTȸt S+Xij)һ[pCBYLA#d7@
+N<4j!CN}AtEp`g=SZKMIv(~K|͡} )wgJIAԩ7ί_COd o6(YFFk>Eݯ
+04j! TUTghAvUo긷@+">͝45x何G3=*~4ApeX4 457b#[
+oBLEEzދN]i:B@ǫ0HA-6%HC+nz;!=,*&PVQi8K Xܷ0wQkV#SxMFA
+
+TΩAJM6҂i\q\E:} -{u !ʚIYP
+ChLȚP剉H*awoUx]UH6,5:GU&nV]*Ԩs3}p.P[u
+ޤYj3A?x}Jz߹Co[`&6YtcQTz)pzv+zn<_+9\Tuh&h^pѢraf-E-ud6V!boHDR+(Ct2,Dל\\q!5\0Ϗ3J8:0Gć^K-Gdw VLz$*R*e$ZJn]g8"}Znt]K)oWo%MxRG׶q`>+M6MXGmř0Kl=6-_.ZUj%itR^Ke
+
+;r[n JzKTqM5_T5OĠ# ß&BPTiUCKz ~g׈q>띑1(]*3gv<"ca8:?N,d"iޣN*?Ox3T*M&a̟hT!C=aP'd “])\îJIX; ;"EAv(q 3/6q ' kI<ex }y GnYLA#d7@
+N<4j!C|A'GVxk+ULڙ?oAPs!BpKàR S'_5S8KR`So11(lDzeJZ;?4j9! ԟUThrBvpjb8"E|eNF Gá+C-,Ԙ
+&bPɹ+<Z[=VSq&v[i:B@ǫ0HA-(D8phuq(+C-܀N}"NXI$j}>ZDO'Q듨I$jFZ;N]V/TNy&ҢZ c̴dQZ#=td-K.1V6a 3-hcOު<3pBpo IlJfցM*HiLSxb+*W%)4 5f+9μ}
+X&좷AHPv2O-!"„kHY{6igz oDȚz;\I=EіR xHrv[KFٝV:J>xn=K€yGJv/ʩ?O6I6k.
endstream
endobj
-540 0 obj
-<< /Type /Page /Contents 541 0 R /Resources 539 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 543 0 R >>
+539 0 obj
+<< /Type /Page /Contents 540 0 R /Resources 538 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 542 0 R >>
endobj
-543 0 obj
-[ 538 0 R ]
+542 0 obj
+[ 537 0 R ]
endobj
-538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.027 552.364 272.982 564.319 ]/A << /S /GoTo /D (section.9) >> >>
+537 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.027 345.178 272.982 357.133 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-542 0 obj
-<< /D [ 540 0 R /XYZ 78.37 808.885 null ] >>
+541 0 obj
+<< /D [ 539 0 R /XYZ 78.37 808.885 null ] >>
endobj
-539 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F57 381 0 R /F20 378 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
+538 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F57 381 0 R /F20 378 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-547 0 obj
-<< /Filter /FlateDecode /Length 5075 >>
-stream
-x]K9rWq\ @^`}jn==؞f/3df2{4:Z?ƓI83oob-`շ?}ЈY}K ?s%ιfYs9_R{ mt MtfE#ݧ|(Ls_RRf\;䌗rLPxY~' ʜ~ <>}~V" 3Z?ҿYϭ?7?i.Pa*FΜe n9rfɆM3Cue}`m+h :f4 qu~eGfsR[gKlh8k:#[>cd~8Ӗ5i s?6$ZfȖ~(M؏(EjζkGB'J3:d$*T> -7YATHG!F+n#=p,:
-#s vOgFrBܰd[go, &_ڧA4>=wWn4B.aDn5eew0P6^2+*mu$%\v YF߈!d]<Sx
-GkBr=Kǯ;%r7$
-4-U?^OLC^dl`nC_" k_:kf5юܕܞ,"LhGs܅g
->Sⁿ
-!^zLtaPYJ]-uɟ#@>mo& ~]cy-51a|a07@fKvѶHI%!.AA{btݲq'[\<fůsYR/u4lK8̙֥q-7?=Iqɠd,Y7
-8*SsO}_~ ;uMђ2}Ae %:6kEKU w43´.!Еw{򋛗q,w GM^g^)<?a0KԐ;0koN!k,FJra8wf )ljC"16\N\/2]v<o$l={>=VRܮҧJZ=b=A+LlR[լWrl5o`RNI]4Y m;V;g^Z]l)
-|}[bD7![(C8]-i N}zRJ}π}:(SWUy?_vp"^G 0S8}ȃd#
-,ZpyL@7;aQ{piolWixtnwO!]n%"w"*O ץ7 t23x($NͺM8{2nx$S>Uש=f.<d{ ِL[0Tp_%z}ъmbj!S:0|JZT׆6/L<3'JPt8tL~wcP
-|>Iy[);֬SRPf
-ހ4Gs3Υ; qFVɾL3 7́gu
-BN0xh
-=DARW=;I/=buXc?+U_Ж HqQ$:~+uSٖa[amӦ_8z (C1:G-aTĤ >ZvRVU\T򧷪̠F5zEGh3+ UiB{P}IJmHJ֧CXK%X3]A3X*qYOѡwp3v[s},c}~)"҉&be[&Ťk|>L)Ӱ2Ue/EJhޮU'c0r/RCjJ hY])0rG$*&Rub.m<qR~Rok]σ3O=+Ca<tS%
-otxm<cϼ[:c]_ߔv;%$3xCv(e+'Q٭RA wFU!/)򾯵{ߺ E`W_,/_%qr 4L k&To`M{³vsJ?foLm3~ I-Dg{_wm}>-qcS kǂ^g{Ћbb!
-#s٠Kba6@)(6 qY%5obkKbFHr%'g20^mԧ\_MyN#]#XNvQC
-2y)l9Gunwcr+TjwVdcӁꫣCg⌿Йé㲈=/W < 6kմof?oLXAsl7m^mU8Ÿ0옣e@y]g#ye_ZnW8%{i5#׺Uq֌A$~ktA2@{҅}kz}yku%7D/,U%}N Xn{o_<nDyâhCGK;2
-Ґ7Ėt{ 7Uv'"nS̝" S'aļJW؈ӲLܞ-x8: %>Uy99A鎚NuSpN:N4dKўwoѠ/}g_,
+546 0 obj
+<< /Filter /FlateDecode /Length 5078 >>
+stream
+x]K$ϯ|hb0ԴZ>y-ޕ
+{BG]gA54q4_q<A:ǜT+֙"[ZΚȖؿ1δrgrZÜC 1庆t-/k5yѣG-ڑЉ
+U4H 捧vV~gJHF! He=.\<Fz9=}^nAh,r͜%v߫}{Jxw6A3!ƹOVsPQ}uo%⭲Fپ~_Gr_[k_nǙoB&ϿvA}pr̛-Q1jo`eR8ʷXzyX/g) !QޠDT.B`2 I_o$Hh_{)&*eu}&#!4_fU9FuR"LMTGHjB<ךijB[z#ڿ;
+$<t +0~3)-M
+äFFɳu (Hd Vn"/epNc\)>D~;|o :=69 j^+1d!uDUk@YcT4?QM>T;n@*0)%Jþ"ЯP"$LHx##
+!B\z+:I3*1.3[|)KE MO}L83~ PʄU JHc@`
+Jɦ2C[(+
+1n"ƽDo
+
+*a48T)T1r7bgu3mFpE4^QE)#w Yor)jWa.;_+qeУP׀." OeUC%Xt}^]Wo .I
+8*SsO}[~ ;uMђ2}Ae %:6kEKU 743´.!6Еw;򋛗},w GhSo c5;!#L2!f 2 f )|-PCI#o.¬\9E-U5C]!BxhW$Ɔ Eˎ7eÇ
+E=-@Ti_T:#s% mz]qn(U|%WZZ'儡?% ;ICezcKz%e8gZJܷHN\/Fphhnvr(C8]-i
+΁}zRJ}O}:(SWUy?_v;#)O u>A2呁K
+>M
+Ui|u5xh[i,@.qf;Bf-8Ő;XLfaɁk>G=8H8%$dA!2o=0֦l!MjS WZ+Z8Tc >J{>LGd-g *I<VCO.J!ݱf57S D<؝<Ӟyp.[]0r5Je<i<S߿7;w$CPe6LIab s'o n(e9f[ǜov %S%[N1@,% kEM8}
+'ŹM0xUf']Qs\{JôHO8i#{艂zQwғ^ʅĮ%cGYՄdG$')9+^ʶ
+k6>R?39y(j l}MUKLe'eu_eUJ%z: hkQWtԘFڪ9 1cۼ@Q6)9iڗԆd}:T芵=NT*uq1%4rW!@:yO ט>|nwLQ>̒8秛!rj),ia"Ny\̮nB]LS[΄q<:< )SU6H\Ojԁnr]~2f K #қ(:V߀v8..ѕBX c/w:zDl"U,&߶ϳ+*/1 ./6<8&h\
+ycGʎ.K'c*6(;z)/}q1F:HƂ?M{2Y7K\x%`B.YzT
+s[GIJZ9IBS'^RP]}҆2el';z/piMm*K9m=,@Ǥ1 ],rcPN޻J?E(cwWs)*-LQX* ZBmːtɜjm߃m)^U_/kj0,|1Kȏ$4ݲ/,Ǜ,}3\'vWM8^)ʍמOJ2I9W͐i26j~2˘qg;TeZ7Q6UwR}a-'iO^oz]Wn<}vmb# IWʉ〨/߷[{36x^o}{7/+!jCY/V߽"X9 nL
+Bd0uW_Rvq"ZL^>K{ 98 &5ywJ۰&X=ۈ{{Y_;s]z9jgwBw76ʙ I-Dg{_wmzK|l[^mۧ*Noo6֎TuQO1TC& ݺ*0Zf@SFM,|*˦VMJiFdAKba6@)(6 qY%5obkKbFHr%'g20^mԧ\_MyN#]#XNvQC
+G'5(0X!?la܏\V)c[3nnq Iy?Am)[ו V]9iJ/`)ҿm~b SF "/=?WhOFHGq$-W^z=笘t;|$ 져w^fanXН~Chf^nr[R2FiY&SnO_]}XВnKڪ՜tGM{A :)8'KG
endstream
endobj
-546 0 obj
-<< /Type /Page /Contents 547 0 R /Resources 545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 550 0 R >>
+545 0 obj
+<< /Type /Page /Contents 546 0 R /Resources 544 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 549 0 R >>
endobj
-550 0 obj
-[ 544 0 R ]
+549 0 obj
+[ 543 0 R ]
endobj
-544 0 obj
+543 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.975 87.384 150.432 98.841 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-548 0 obj
-<< /D [ 546 0 R /XYZ 78.37 808.885 null ] >>
+547 0 obj
+<< /D [ 545 0 R /XYZ 78.37 808.885 null ] >>
endobj
101 0 obj
-<< /D [ 546 0 R /XYZ 79.37 505.126 null ] >>
+<< /D [ 545 0 R /XYZ 79.37 505.126 null ] >>
endobj
-545 0 obj
+544 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F20 378 0 R /F23 375 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R /F72 434 0 R /F46 388 0 R /F33 479 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-554 0 obj
-<< /Filter /FlateDecode /Length 4590 >>
-stream
-xڵɮ$>_Q?Њx`/π}3'!RLw5IQIU Oݿ~ۇK`J~
-P1z_U&u(~ێtVANXw?"_.8G3~ b@ rT-Л*Rk94'o@ f\oq`^RٮV
- L_dn"0yaG0A2d6+8Ì%%F^kyT2|?~)JU5%HL4VҼ 4'*xC:'P<BFb?O FDOL[=#gQ1%aԘb1Yx宺q eABZ Spr \MѳFj&Ej0\wS(_΁w ӒAXԝ {Y̝0z<Sy{ %[1`u`2)h
-P_nʙfZ-a8+C`V]Fzuٚmn.dvD|F4;r~9Q+RQEȒD[,0~Ç{9Ҹsϟ}g"-;|oG*ÖFҽFilrߏ…FIg~?RXWPPґ3ȑxp:dcB1V gix$VV5{B˜rBC~ I nO 8 )^UzA\SOC%-X˄qP5P*kXRyO
-6AJxlƼr{w`}!oU}</3{}~CWI+~Cs~Cǎ m.o/h}0 @k |r!
-FPH=#0%-TxsEo³goW B;D^}3^=uL5XN_%G\'OYceœq`A)'a7ï;uG~x?)<1¸a;rG= IO&*sĩ0?
-yՆAa/x4AyV-BxfEۢ)=:OὬ`™V^i(OYwMV^`&#Bo˧\Pڎr} 夈Zvg(6Ieo}娖ӧh'jOFIPy5+ygkn)W0$W 2ނφvP\ݖzOÈJ7!j0Ñy_ D9Vb8m L[Ι &r .%E&.F$QeyI#ȇKBv:PB|D'W%N
-?$3ϛ{~%?CNi|EP[fi+y 9w \J؂HQ{d>ˤ{A_h[u( 'e&uhvL2K';FPR SM2^z^S5Pƾq Ҽ蓆E@iƳ/YYl<^8!8U]wYnFiѼYNVg"0-'Έ} 2ߋm'MAxw $SÕ_FVe62UVd{Q{bkk|q2ۏZ{4&+[w\<=GOWryQ++HHY7W uL:z zZo?\jR|wn޺K^/W|Uz9p3Ʈõkķ/jA Q@m| X)>t񛎼~7:Ĩ][Q:Xy[Fؐ`s(U4iPBEwahh+N2^"}[juNx~7|X<R e5Pd_~c"Qƴs%=QsA9ʤ @F3lIwGw;lʝTО|+Wx,0oSԸZQߺmVr ;I5f`߷>趨-nOnVxjfK̥`m҃9u+Xj/2o u
-/Aܭ+BBr}G Y&Gs}^7՜2ۙИQe;5@rdJ9
+553 0 obj
+<< /Filter /FlateDecode /Length 4587 >>
+stream
+xڵˮ$n?_Q?pBhi VXq lk*]83ն8c;Nqf~'<}ջK`JϿ}
+,.wZ/HLX)ͥ?/c }YV'gl<)h&;G=ԞdBx m-,I$dMyPGwvÅZڿe#>f1#~_W b3އ+b -ULP0.E;@ z_
++9"4B%3|/}:X#З'|sDA ȼ`]*z8TEjM5 !
+-nn.eΡ6%ޚj5 UQ@,2 7[v3$Cf3HyX2Z2i5(>8)dDR]^CWΤ9KJ`%qaS
+ 39zyZ2k0x/1:˧Fgʞ0oϴ?y+fFߖgw;Bis L}cuپ!0氌2( Y=l6Pm\1Q AB*SeFO'|;p&C(ĩ8X]yT`F t-n} z.S0&.12(Rֻzs3 JKf+ ŽBA?*>J)3Q/92ܪiSFHD7Z1
+~]If!7}/Ыp^TN lR[~ۻcz8yX@|PW/r){JlO6m2QA>0TRϷawLޞ%Ljq xƟ@`h=0}g3KC3`%xəvgO32KCO3l&e8y0_*jO2'9|H+r`Y/kXVT|$'|ci>'Ϥ 3mi& &u(u ,j>xNƬEgݖrn,xQbMcSgs{Y|н`||[QMy3IXgznV!=7cҗHϣx-M8dLL a 2}I-LܣF.oUT
+&X.Y!ۊotE !(slz6o,{lH4=)oa|~I G`ҵ׀T=c7Aae\9G1myU!S{haU5h xGIPa%w:-m|T'=^4?NJ •c"${*ٔRըƁg6d<OZ' 6GU]!20{H|v‡Tko84XD#/a|+>uZѼ9 vN'Ux7
+a&D.}=TBBi7rs
+ثU>rA^]fDj-[,=͎8\c)_jNԊTTQh:$zE1Ka>_V΄4negȯotˎ,&v,ѹʰ<0t;oǮpa9'D,G
+jV:#wu9q[gcCt`V1*,픜
+-;BJ~&S{NE yJH浽H!O[l 7)}1"<a"fЇ
+3휰K
+C]wzqDrNH# BpG^=SD6?U{`.8&@BqM$C|z"<kg}~  fr2~ LiHf?V+-6h7[/ЫކK N:U:<[2 L:z3%y:gɞ;Ǡ1^Lbhw:4!!Lbr'Si{iT!R\7B4lo&(<ъESXym<ц> gZy\[>d5Yy_A d<sUI (ׇPNeG>|2j9ΏXևQj [hO>}vN߫F{mڹtyNW]2]W{rCr -X:lhG ehm骇4XxD|3 X@n%܆zOa]l`"PRXQ, qn2_RoDRYvɚ4"|t)Dh%LtreY2[PCB;΁70W3䔦7]\ow~kFy^X~ڐCyGȠw-ȌML>-]8XpRf[wa$CJNt=i,p?T+c85U+Ye{ >iXڞf<uevSAŠc|P^_u7fKپdoz&rbx vwpI25\ojoU6k#CX5lJ
+{1
+')v-vfg)sHj±{ǕɳXQs%;e2uHU@?['ͤӯ3ȥ'w7死r'O=\I ^1c:\Ѹf@|Hڮ&ĺf^>7qހ;IKw3A.oʑeKp y 6ReKF (t\tr.E(5V7k|Oq)͇#`|XVULVUQ7*eL;WғE0L` hT1֟tw4Æ܉{MA r;0HnۍۦNa
+Mm%TlmKMnBoAQkm4\: ( =Q߿"-PN/+oA4JKTwXO*a5mhUݦ:h1˒n3[Ǜek8:&A|h)YM j()J݉{nId5 A;p8~\:V0}}WL
+aP (B&;fҹ Zum!m X`Ǘa}#VԪ%H+E4^3(֊1n ͠}pZT-R}k/v/НiwAAk#fk.ZmVl!!6,LS9u jNUEeLhL v/Jòni9xzPJPZ
endstream
endobj
-553 0 obj
-<< /Type /Page /Contents 554 0 R /Resources 552 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 556 0 R >>
+552 0 obj
+<< /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 555 0 R >>
endobj
-556 0 obj
-[ 551 0 R ]
+555 0 obj
+[ 550 0 R ]
endobj
-551 0 obj
+550 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.097 105.828 415.071 117.783 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-555 0 obj
-<< /D [ 553 0 R /XYZ 78.37 808.885 null ] >>
+554 0 obj
+<< /D [ 552 0 R /XYZ 78.37 808.885 null ] >>
endobj
105 0 obj
-<< /D [ 553 0 R /XYZ 79.37 377.683 null ] >>
+<< /D [ 552 0 R /XYZ 79.37 377.683 null ] >>
endobj
109 0 obj
-<< /D [ 553 0 R /XYZ 79.37 241.638 null ] >>
+<< /D [ 552 0 R /XYZ 79.37 241.638 null ] >>
endobj
-552 0 obj
+551 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F67 385 0 R /F58 382 0 R /F69 398 0 R /F55 379 0 R /F65 383 0 R /F40 387 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-561 0 obj
+560 0 obj
<< /Filter /FlateDecode /Length 5527 >>
stream
-x]Ic9ׯq`}1sD >ڗ.hm?Rҧ̔ңS'GZzb'd4#Tӗ?R.o?}!OČJ騩4og`XJoq//B#(C|} 2J~~eXwP2!uC)Qjxh1~V-,%ֺs?I x >C ŭ.-LlO[hf n 0BQ¬M@<ge}k3QL*EIYߡklOI&LY%mJ}J<1' I*8qL> MHHa&9
-IE^߸ʪ rY=T9kW_3}[a} Riσ"xmF6&7g"HпoiJeʷ&<X`!G(/X ԲPCh<< MF^3b9|qD#IRM(͟i m̛ WSb,SW vFgVIFSm靯h)YtNF2D,S5>#32u1H EWS~Thq
- P* ?T]1Q^`M)|. =c)HN#FR03"0gF)^nn= u`]b"g8/ ~8@D_cS/?J5Un JX̲C@KEN kzM(c
-^Hȩ4OzwƢ6 C{DayV>Jju@݁Pimy_ ؇LL;XW_ж|֡вh9K Hu
-1EN"*F$"y |8؜)dHA`
- Ic̴ $햝.55 E}݂߷HwV Oyoڂ-UG[>k4&|$6'8{YіpLԱB<k]gy%yJكKW%wQ60rA)Tf?@OOB&2X*sHs)KΧy73Pm:üs yԗ˖o[i*xDzQ[aѺƶ*lz߼VQ͍۫ՠ j1.=q5]E m܎cMlO1qcҊX H-+QoF=uFۨ-.]ߨ>tq yTc?:p6nC(oNƁ7^c:6Ni&RhzW,bˋjVI-F aC߶}{.0|>mh5~1qMp Q([?DT
-LK|ը;)0냎Ypf$1l-&b*CJ2BmmfM\ %j-nN: 4M{ c~@&I(dYTVlG3,t݆BTZ5 +I Ħ;Kl P;I  ur aJQ5XXq.x*Rb.HW*&m'-abO^S(Vjiݧi J)EZM,˹&(65qЛvEp[fSzphI0dêԠ&czl>pX=Pņ^*n6 °rdA`(NqDQ'5|3$HѾGTo!%+YXjii&uVWK`dVT瑓ODÌEbU\mF0 `E4F7ٰ@Y0=ӛ/wVCng;b`yNζ/'#zeǤszVy'}I gE%wFYZ[4e6~SkDZ;qBka
-=JqG'<UWF;,
-+G1Ď
-G)eU;&(<LIlrD<lˤ:ˉqNd #M L"i t;D^<O]adQu5DԈ+q$ڝqyVZl[E**|x>AYLY(yeJ ʷ)Y
-ǫ"J \ETf}ܕcT\
-w%2oK$XA1Qʄ> EsɧVH0jď%bY8P!;"hF'c,<4-+o~aR rOcCD
-cF΅^юǭdJOCĭ$bn[PN7+];S,/ 9xt1`*Ā5:RK1 9t~&QDY^%iVsb2r#=35=IǓ7\pQΆ=eT|[OPVT˭爁:Ԉ=yOXRķs] 8go:uݿSڃZn e[86Yw^
- g6!!%a2E՚d8qS۷8r䦌޿K+^8aTX)64?߉::~ƍvkbeI^F,b{ GF.Æe& 62B%~G?M$͆
-
-p`8=pb!̕;zUO|b氦Vc*
-w P% LĒ <<Cuh.4i(X:u\ٱn2u&tjjZg:yR9Y&x wT |2{^Od/e*?vƶ1ⲜBNIkg3ָԷ\| bvkIWg2LiEGIEUC XIߟ
-*#QS$G} p̈
-/ktsK%HqnaJ
+x]Idm!iQ.DOcMI "}ܗfVCugA#
+T=qo^BnR]Z{Y-ȵ
+ ؞9`,)Xð>epH=Z-,B+V7',R" (|kutFg$dF,P:s<`G?\H2l_ϭƩ.Z2D,b#y.n-
+7y &3aLb2< cJDU@
+wD>"PpF}L{IBAH$CB-{9pv.D5}qKiڷ"̮݊䙺V_vgTy?I"1 F,=zҀ $6U&o`sմ
+zDؼ6QM۫ՠ5?_$nk MN mkzAvQ\4C1RkWx>s̭pq܄bF3Ez Vo ~o|2-ht[.t1nڸ9q@R}* }B/oshDoCӻbZN^YEUPcɞ(OZѰ<yh cvm;p h㯩+I!L
+g Ųm#_jJaWϪ@Y|ͪF"Z6ۦ$.qkqm"2$&Զ&gWEޒ^wNen1f4Mɔё܁%TV!풄-]Emvd!mH.*BUZa̮Ja @lǹTq@wS=!Tخ y.a0jGpl]w\M`.0Bd(6S SaZVFQ|oqH;pcJQ0'J ɿ{iMM6f=n~ ܞZ?&D-( 9NJ&5( nW\+8/YfB>#9(ڤItoVDeׄ 0Bsj_]=]>mޥjvKVUUF%$O&θ[:[e~z4`Q(Њd΃\f`xgC~2v#˫ҖI;۾LD*fڦ<qKJ*L .|څM:) ,gӷ %:{\~PA?_wH=hWqy teqedV^Vb:\OLz4Ip"?4dڙ4XzTSR%,Ϣ:3`izJf}Kن&kUD"M/O]qYuL W1ݹIy;FL=gپ`|Ӂ'UBx1AYLɣPd
+_d=g4[ܣgՔNZ(8|y};JjND%CTxJkZ()թZtJ<:ylJq.
++QoyaҀ鹗1bI)lm"݄^-۸X5IcJ=HJ&
+23۔KHR#
+1NsoU|N|5 JK6ANٴ
+Ҟn6j+~(S݊Ťɪ[܂kDPxtww8ü,Ώcd,oAB|pgUorT3ئȥ*9sx.q.ǚB tq3/cu'r
+Z0Ѭ$_3gꀕDϜN<E((
+*8
+Wsfe AK|- Ixb8V^)l̜&C6TGz`t/ EK?OڌŮSWz+&Ym"/m3=c6P˩&5cb#tzx)sܶ3~Hz<:'Efᦟ <eZsog]k椚8G%n%_>g8BYfnMw,<Bijl^cp~<
+KKZ4Vᑕ*qpK7Y满%
+蜢UT}R|i1Mjd.W]beکV:Ew-Ɯ7NF&&&3_D\>NENn,^6)[ { _xyhӋ}̙Ɔi6Mnki[ M^b5%R(ɷF^ @=+ogTgISNk\7^O íG5? 3\/q&
endstream
endobj
-560 0 obj
-<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 563 0 R >>
+559 0 obj
+<< /Type /Page /Contents 560 0 R /Resources 558 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 562 0 R >>
endobj
-563 0 obj
-[ 557 0 R 558 0 R ]
+562 0 obj
+[ 556 0 R 557 0 R ]
endobj
-557 0 obj
+556 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.318 608.534 265.273 619.413 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-558 0 obj
+557 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.188 387.244 399.143 399.199 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-562 0 obj
-<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
+561 0 obj
+<< /D [ 559 0 R /XYZ 78.37 808.885 null ] >>
endobj
113 0 obj
-<< /D [ 560 0 R /XYZ 79.37 581.869 null ] >>
+<< /D [ 559 0 R /XYZ 79.37 581.869 null ] >>
endobj
117 0 obj
-<< /D [ 560 0 R /XYZ 79.37 542.025 null ] >>
+<< /D [ 559 0 R /XYZ 79.37 542.025 null ] >>
endobj
-559 0 obj
+558 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-567 0 obj
-<< /Filter /FlateDecode /Length 4579 >>
-stream
-xd1
-"xjrf{;׀"Yٲt{ūXwəO3f}u_~~ǜ-/$+q1-/߿ps~S\3w}W2>ϔmulYzF嵾f@@D߯%xǏuk J5
-A$+Fda,3.B2-hV>׶%gV>j`+nn- Y#U
-=&SYMC84ik9xp|fޯҏ3%kGAP
-W^w%/+$S3AU3ؗchÇ
-x;0/9AնmH/UP$Kx`Vq#L^y-Cݯmmۿ+!
-ӰBH6ޗ^'{{~黝'4˳$&RJf4/ ƹU^
-QFBf֓j|M)Ե{G&\) }DF!걧H<*(xZ2Hfgل{% =#`HO0JkyJLT|DOEsNI%WϾn',և3YgV3y)K:͌)mPLd"rϜo&8̼y!3$ޕ۹L2l|:z8~#y6өxt72^tZΚn
-a4+5(]>X针C2P cJArm
-
-[#&з Apƞm]5]bM78]8PO~]`1UI)4~-_*r6,67Zͯrg s!
-"JW.u$r03NQuyBnl;1wTjAjJŀ֋E#m'&fWvDsKm)DrA/$~L8=9֭|95gaihV$WʼnJtdfClh&Z$u;"Kjӟaʌ zm
-E9L1l댃$;G,Qt4fh}6Yn%y
-^Y"]Վyzim 5Z${-CYT( ߹C!GxA?=RYieB*3^י\2\t|Tƥ*.L)JZMcL*#3; ZƪyT4wJj@ΐ8S8(yr'X|%7CoenЗ(>:”:Ot nB>ҡT{٘PKX|-14ѩ 4rj# cE.+BFFnuȰ>m Y(G+Yy>Jk %4 {b߬aԜ Fo߅#E=+Yܜpa#{e;#anyHGPyGIf0^pA!Dm2U*T:~S#YM+eBF f2u&,ZcfX !MT%lm_]ctni :HF^+2T! .UG:oyzW0a?o\g#^VueYJ"w,XtKy IφR=bDWA%3+Hjh|0i/&^f-) {Xزm*ڶ\8X[E%xny,
-+ :%4HY{q)ĪǵavF`h̦T(mԌlLZJ )qNo^Aƛʒ<.E{.<Wt<9#O"SKo\ŚO&R0cEt\kcXL4|JՆ)h۱)B.c9ၐ'#M.HQ8G "ҫ#Ë|$v ٞtkw_'UW9z6r4{Ynx6H^)yyP YΫ#o"_v
-W)<!hҋkd&idlz/lM'v-Eqpt͉]AAWAW3`aAIA 8gldzp5W<W[߸lf zGAg b$'-vAJ1gBEO{dE법)Rz嶸ub#=MLD@6|tGxiʹy0+2I~#~n\wP̢u$YC\ȱ"Q4.&"  Β ٘-1ⓖݻt$@>C Nî,ZMNngApf} *cׄE.bׯ0!_:<ǿ+s},L.rBYQsgg0|4㏼z9^$hziWcUVV&U:cB [c3|Xr_[A"ةS42)_\)k4}ӾgkѤН9sɗzגǁфЧOH.tKo˟>\/l2Ļ Ea;8DHK.-Dg;v!nj
-ɉr3 eU
-/HsΚ0.,qfw}L+0Z.(jȊ5lbS8m[Mg&,>'A)Ws
-!47a,aЪ-$P%+YzMdIԖۊ2մEzE—ҿ-Z2 o߱JA-v{Vo͍RR1;ؤ79nRCx؀zK%^vjPz3es/ZHzqL$7c%Tu(ޢ/$i ,Tw}ѳ4pG EWIj_Tت"t ̦N2 Ҵ8[0X]V\N$ʺp1co}y[bc,TފdQ)+E
-C_m*>q:?B# +3)8>la:6J*{`V{L)iLq-zQ
+566 0 obj
+<< /Filter /FlateDecode /Length 4580 >>
+stream
+x<ɎdI8!w3_ 9pFaF?jCfDgnΙׅ߾pϘQ ~K?___~uWӠ^Dx%.14o\}r)?s.v;Cp+gJ~:,=ZS3n s} }<<,A:&k@8K=40&v>oӏ>e ߯}/(l5wL2w+.n :M{=s.՘0qx4i4V,hKD "GK7_@`N2÷/o/atV]~y˗Ki&4S
+=&S:" q u|Nt=y_K?pw Cl"`>s?S-8jigIe᱖V\"3ZZ<SKgdMZZ@VDl H[=X ߢWI?O1g Wo1$U_ІQa44x [gk+,㖗axƞBx0[
+ȹ
+x'0o9AնmH/UP$Kx`Vq#L^y-Cݯmmm!
+Ӱ BH6xvoK/Ó?\SOݮ]gkhsYj)%3c_OvA*Vf~AO]]\[)B^+lhcN򇇕> *ҍބ9?1>b3wW)yxuB/ ~ȜARȊbCZYfW5÷ZH#Ps^S) Pz4#"Cҍ~giZoqQ$O@>OHJGPe!d&o=ƷYФ2I]ʱw}• GT/Q>i{
+ģB%h-npՏMWZ+". 4
+D*V\wT~Oe'O.t>]TN0ԙTxGI0Rʒm}:~f5̘Җq{
+u}ON)2+̙"'̛GJJ]َʼ=E5|_@|ZOg6?d9t*L*fv[fJ{J/j.s$ C"B.p
+
+,W㨫Np'R2͸q !mq>x HF410ǃ=Cr*_^kq>%\ߧ[]|ݯ+AIUWQ[]ĆMFCa[A8MR7fK eOr l8&9)&կ[\Ѧ^KQNsL2|yN2DADʥBDf).Rh>Mm:J-H@MzZtZ?~NP =lfx#aG4I{V2ۛK$tH.NW((hʷ,,Mz81DaXIf6ĞjEBO[)Ī6F̘Z^خ)ۧPdö8HǨ6ћ%f D݆ ЍA#]}pBk$N3#+R~1TomZJ";
+b;YJҙ̼ j:.r1lQӘz깐F+`Vƾ RmT_2+>k5 2UOQߡn͚/7V'̣SUPr18\Dϋ; 8t|+sV6uDM qա~w 2E\R-_ZYNm #6U6xhl覈e+r@
+ivغqֶ"ö-$ ga g(6t3}2eRsz'TW)}ucglrfqw… v
+@z--*"BC)m%qG շ ȸVidSMd v -M[»jݎ_c-,4iPP}"vYLm1@ yyP!d3@o'`6鈿=+="mg\̆n,Cr[ovl
+\J"wLKBټgem)j1r$rz5
+>s[/ OO=KlY>h.ki}Q"}i|1[nޭ(y{A{V}caWf}I61`/΂I
+m|\{`!S`6MR9K3J+qz+k*19ѿU:{o+Kfx^a)Q3<p@<etkL-^Gm.r[>]tKyŒyѝrqc1)W
+cSc\Lc9ቐ'#MNR(Hl䳈""y'jU>
+U
+ÝHsΊ̭0.̸>E G-wgsK57d_6恳sXA<p[9[$#P%+xY۬zMdOdޖ|ԩMҫM4*f%`:h6qujt0q֫J*~i&5T-
+t.p}
+$q8-GƾM; osm
endstream
endobj
-566 0 obj
-<< /Type /Page /Contents 567 0 R /Resources 565 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 569 0 R >>
+565 0 obj
+<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 568 0 R >>
endobj
-569 0 obj
-[ 564 0 R ]
+568 0 obj
+[ 563 0 R ]
endobj
-564 0 obj
+563 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.992 607.586 261.965 619.542 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-568 0 obj
-<< /D [ 566 0 R /XYZ 78.37 808.885 null ] >>
+567 0 obj
+<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 566 0 R /XYZ 79.37 460.244 null ] >>
+<< /D [ 565 0 R /XYZ 79.37 460.244 null ] >>
endobj
-565 0 obj
+564 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F58 382 0 R /F26 400 0 R /F69 398 0 R /F55 379 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-575 0 obj
+574 0 obj
<< /Filter /FlateDecode /Length 3554 >>
stream
x72_ѡ MV=o$XXkG[gF64Mb],O _W|0q&c >9Ѩ03tVM^3|<b$6a}ŸuNM<iyz.&K<`qM1A1y/o89o//<~s>~~$ MvMw~ 淊W~SHh\Je ", tPQ]K]zMBl+KçUaW! CZSa I*Htİrԝ%t^FPܨUC!Yd\Kjհ
@@ -1810,162 +1815,166 @@ InŹPY>m0j<eė=m6Hvju'j6?֦nI͵V/DZ
% 냥qr<z
endstream
endobj
-574 0 obj
-<< /Type /Page /Contents 575 0 R /Resources 573 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 577 0 R >>
+573 0 obj
+<< /Type /Page /Contents 574 0 R /Resources 572 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 576 0 R >>
endobj
-577 0 obj
-[ 570 0 R 571 0 R 572 0 R ]
+576 0 obj
+[ 569 0 R 570 0 R 571 0 R ]
endobj
-570 0 obj
+569 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.302 135.32 408.257 146.388 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-571 0 obj
+570 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.96 105.613 216.685 116.492 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-572 0 obj
+571 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.406 105.613 244.361 116.492 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-576 0 obj
-<< /D [ 574 0 R /XYZ 78.37 808.885 null ] >>
+575 0 obj
+<< /D [ 573 0 R /XYZ 78.37 808.885 null ] >>
endobj
125 0 obj
-<< /D [ 574 0 R /XYZ 79.37 678.801 null ] >>
+<< /D [ 573 0 R /XYZ 79.37 678.801 null ] >>
endobj
-573 0 obj
+572 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F69 398 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F26 400 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-583 0 obj
-<< /Filter /FlateDecode /Length 6909 >>
-stream
-x]K%qW@Ƚsu"Pp+yF<̩S]XbyHχy|~HaCr/>r]|~XǟdL?{zyK~ÝΘ}9%cgy3mX?Uhdzgrhu{<h󇍏Rرإ%gf޿uGKYƼS׎'c460]}r8ԁg1r:[3Y7!v"(=޴H07f}wϹ<`Vh'C$BG7Qk J2 Z˨59kLbrܴ!`Ap&-6Y{?YXAj=U ޅ]ToHxr $6lXЕܫ vdajZF.cW
-v<lk?6G1)ޏ1>ZO+Ht.̞GE?`\; h`{B9i
-1.%oUHc~9b0e.Kd 0:''K鎓O!9ZqhP%#ø9 Ki-NNw"o<͌^fF=d@5K]C}Ueem*v,u,kc"n2>hӐ"za0? ʤ@; oA<Ӗ<gV=ž-ʦ^wn^4g3v1~4{n<Wv<<{v|l-)?Wްݯ7~ݷ0l<I]ߕݫ<<g~ݱ3y*ǭ,e&[%)bur*ay Cgy;`sJ2~/+w?ZZ1Ňo
-1M=((4H^BQaF
-
-ːyW1E6^/^/Xv1
-` d2~fTuzd#HneE+K2Y 0(.!b_QQQ]g8 SaQ]' t4\
-Zo'R_թ֑}(*X8hځ2C4p2Ad`rNJSM8)a4l[6`ywY6<( f#Pd]ܮ DL KdR]$b
-qLjTs6gqHFMnE,i j,!4>24yd4Zڔ%0JtadIӦnpكKR"TծJ`fѬf)Rֶ5:@-F/yQsUB4 desHd}<
-$w+My#U S "8fqDv'JۏB&Z56!$X@8ۼH07/6RQYZ dv{L$(qE9Z \9 |e)`HLU>$ )2I1'i(L߱TFc"2,bd2B M")L4Ĵ6P elK&ed"bc~<B. :2Q$DäP
-lJidLG4RhQ f6%
-Aa$QneA*Nq
-{6́4 #RLdJ!L8; O4: .4if.C)PAT-5dhelh~,@6AѬ3J VdzDua!ĹvS׸|l
-MPIrLEcD6a0@ONE_+TB h!ql26!$6"8,QS|LF|6\N{+W%+$5(MV%61J#*`
-)c*0h PQ1-8醂"CdjTaCIFmH?5?G2$Zhl,Dq%cQ t!ql5!Q6"<B(+-a .fKTLICU|'8Abx$ujnW
-JF2mHvdSD0Y6C"rj]S,HAEkHL*pHAfd+Pl,B#D2
-1S5@/ilIJ 2*uMTIư8ȐvL@a"7)Sјfi62
-3P^DGe BH搎ÞЦHcU PrL
-c#EsM2(mc@F
-2#pLEc~-8|u.M(}):G$=$v< 3
-3P^Ge |L
-)R(rk\N`EwHfDc7!efթ4$e,X(J;QըP}wH&˨`P"Tb*E2M2!KD[vBe|GT Gi?VTXj^jHSPI2"~n]AŊ2%n K] d Ia>(*P%'ֱR $P<"zn\ZJFn
- l|'\լ"d4E2
-׎so{.%oJ
-/%4;n7.mֹۙ ԦQ݇Yx~?d`\;+s>'3әF.{~nyj[6y6͎qt*;6$>[:;vD
-+%t'{N!O#@#y=7Щ$gv0Р,ou2W :;;cPԭ9l)G}"I!{'}8;Ϝ?8>K^d/oi67GIݠ1썳5M'=V~%C{5)ݹq3mr,q؏#?3w/%"E|N2v|DbL
-u5 `›.
--xzp}%,.mB<6RMK5Tj-4m_˸pyg{=jZ2XG8/557fM1uNne0riww=GsrDz'uKOguOH1&_HE2VfkPҹbζ^t\Rg;EjV&5~8%YXLN|ZU+Wr:[sL+^YVO [ۡsq{v+_]]*zeiΝ>0$>%g7?}
-kCz#`f\߀I{wz'9>ʹ[[Y4X?
-d\/)
-D7=<NUǀn|dUx_6v5A' 8J]vrAbp*Į4WwFa3Ru_(pG:/|{-uY|q?*YK٫[)wt\˞a|2Ktﲨ{!E|0ƮWY~7wvH5Pi.ʒJe@! 6nc+EVD_-WƤ yަ?̍dDޖba_j_/Gr ԎA.. 'MnV*W"fI˷!_j;r࣎g}:[+BʦeWTZ=/riϭh|zbs m/~ vuh/V9u!/߭xa0In$CJW-$c|bY.$^#q Ee3S~FO^jWzAp6d}:bJMc.R,<?k.dF#gKM>Gnc˯%|[jnq7e,^7/.&;W?Kպ-wź`#vk]4ݔžw|!..6}%>ur)[ kI\{H[s3Ēs/ǘEr'6׎/:zuz͜keP}>o :fP? ~X>me.,ɶo,#/5vQCVos;\l܌s5}Wj;o K sìdݶmY-
-oNMs1hRuW?bCE&o{q]ϛW<mO-f3[RlA)4aG,
-endstream
-endobj
582 0 obj
-<< /Type /Page /Contents 583 0 R /Resources 581 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 585 0 R >>
+<< /Filter /FlateDecode /Length 6934 >>
+stream
+x]Id9nׯc!h_D ps0z060n}oj"5 
+E~HQO!OjO| b]0Io1/6ޢO󯷿<+~ǑW+lWQ)k
+(A)7wUי~^g+5g:׽}O-/96,6a 1n`ꭹg߱TZs̛v,żo>~S4NDwh΂b <[3YW!vDP{0i.8L}N75<aY*
+[ >@M
+ ʡ*V(H(W5 ve؎}BW2/JtGުbG+W,g=]%*j81\YbX'-F2ڪre#ܙיӾ5U%Ct2<$M- bJHR7TJ窃ffgpr6*bRöciZC(ömYtirjfnh]ި-w??b; (`{9ٌ*c_R\`mͷ/=9b0eLKUd 0V̒p)3 *2w7a!,YxIئ}Xu_`Pȡjɵ܆3 9 t:Me8%seMCbL#Aĵv<mbxVVD-ّGߐT
+k|瑶l9Sp[v;<T<g6ڽִ?'^y9)<G:m,w o$u)]x</<[voiwzU^.r fl>7Wqѐ'7?NRwfwzͷt޵g3mbb}{_jXYTެL䂽 nD9[U+o~xaQuZxbTKe(cXbʷ_~ V-js>O7-9SZlP O~7n_~5I*ܓa6ggvܸ;sKuԓO@|y4ANQA>(#0V4V0kb]r_̂G`=.9 ,>8sS]*6N0ug,?Ύ=vh"3; ]uы2f"`<M!kb~ <D  3׈%bA #*bĒ;#fvX#fŬ2 L"@fa qsj#z5u:#AE A[xJ0%zKK
+\.EIf<|\s 1L
+tN<F2vaqHꭎ(%07 iF0a$m4uef`>6Y44vgH,E
+Zm{D)ho%<O5rCmH9$q2{6rHKH$y=ID∄NA\tB "Ð&ڄ`eIl"oL_ʹz`Zja L4KNa D-z .Ԝu|+e)`HLU>$ )2I1%+04YaD)7EYdDRii=m,ؖL@]%!IIuH7DR  zb@);)b:@BAk3eeRO-(gH(6e,IP(Z$r5(%Pq47eH@a. 9"eD֡"d!= ԜLBCHh IvH j3;[YAF蝖lMxQABGN3 Tr#c) Rk?KTfnBY/=lI4~6(0(o@NT4A4~-#4S| &HAEkHȐz@i+k(D)sܧvkbY$ 6Jb|ia)(-$5(MV%61J#*`r!}*0h XNP>%cX2 D4d i'2c#
+v@
+dd~FCd+I#hcR(ne/#2ނQO
+>])S5@^ /)ti ,G$14ڍaqd15+!$V✇E
+ @[Bܧ1Ҩd$)Xu#cJY686!QV":B(D2O2IF ݔ\^`Ht┕cJPA춐(2Ȱn,@i+S;2Rθ}*hǁd1aBAlSQ&$Tı
+::J6eP,VUexlTrJGPGVsVP2]*(Kd1}*!4:#S9j5Ș}{G$GRVS< 3
+3P^G% *'AhI-=u!z/KNT1mFGVeJLö-Y)*uZGI%̞ vl~^M@a1)96
+
+"Tb*E2M5eB$! Z` E%+ۉ"׶J/l~
+'$Y[:D
+ wl|'\Y[U;Dڀ$a,XQfvȵs<B.,jS @%WR $RڭbqdhX$tl"J\= X%,,;XKN8a);w*IFX$#`*DkyDj]2YFE@* ,,l%XXJ6%h$D,de; yB+]2% ,*sGV "&hd,VY(rm\>y&?uc%.y"EtclӫynCæ_F1Cgs$I3
+`^榳[<m(|!{e'yx&|ve8bO =|86k!LCƑZ,V $J7o\4ܜ/5KGם[:10I{vuw:!9]Wctqv!母
+̀Im1yx3x:CvJO22C?Y*^`sCa57r|+W hwA3ݏc1_Nw>(Rb֨ sD W>[7r9Rox'*ŵ
+'3]E>qFp$z⛯=#I
+-?m:3A@Qֱ 4\OH{()p}漻pȼJ|Qt3Gw/2-i{[Mx=[gt{lM ;yu9䞍> .ǣogʴ֛YDt|gG n!yEX}NH/YArvK9D"@39m8)2@P/^{CͳcV^mfu]^{ y ><\xtV9<B2-nf+ E<W%2(O2Cm!OfE(.B\t2y4n9ސ$m?92<߼c> ?<~<B^ktOdz 䇑[Ș,\YL]{PO !䝹YZڜ
+(IKSO}rFnnk -G5qja|ɧE9'/HC4tVHBżt~(ЖpZ8Ԡɔ✝g
+/nZ5r?]dC}]8riQDZ- u~*szyi7߾({ FJ/>Zۉ [E#ԚZ"T뀏k#y涬[s{Տ\irhk\ˍ4T1='ǁdPio~ay
+"*,tߝG8Q|S jzgg&LJx >"- !OYaIÅ*6z/_tXdѹfTA?sv/5ThjԢ)EtJ.15hmN(/TkaIii=F{LW(} 8dʻ|^Ϸ^4\n2zr Vn-Lz|f!$_)?L7NWq:isL)`YRO'[>X7}5f;V8~1cs!ZiΟo>& s67$n>%F3?}
+Cz'f\Ik Wz'@δ\['B- ts,As⠟2? \{pIJHKec^}# ϤOZPvuxj3 ^[T9Ew
+\$7Ճk/ O.vo[^< r!{6V&"-;^&.kj So=hiJ~t.Jj;sUk0dh]4$?h–4h;e07-r|
+nV/Ğ#fr/_ƜVN..k'k*p[s[9J5dfQGZSumBeɪm=w4T.);ymR({ [;o~w`
+z_}F<w:%|:_J0;z?j| {x3 &q; c|bU^#qɲCҦyMrފ)nk\~+^5oq=p6d6bJ;M}ĴmQ,;kdW/.im/˻GJ&q>G,c˷8ZڶN\=M] e5q.R~wQo]#p],9q>./*ڏ{3 q mY]+)"lR6G]Q>Dxmqݔ87鸅ԛV6l)Zػ>ziw.];acS=2W<w~Nocx x缅D o! 7 yi9Sp[!~@(UG;/ϟn?+0tynnqQ]K[=n=lsZp5񋄭8wMP[kaZ̃a6Vw+AJc@- ?F1B??Ou^Dxt7\+[i{S3&3L[g_vpbbTK
+A=C_=m6fR; ~㒧tJ_ix^84Lg[XVLVocb`Z_y༻CE&TUet{v,R?asF sd(sL"'~%
+endstream
endobj
-585 0 obj
-[ 578 0 R 580 0 R 579 0 R ]
+581 0 obj
+<< /Type /Page /Contents 582 0 R /Resources 580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 584 0 R >>
endobj
-578 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.528 469.001 414.484 480 ]/A << /S /GoTo /D (section.10) >> >>
+584 0 obj
+[ 577 0 R 579 0 R 578 0 R ]
endobj
-580 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.029 328.587 343.984 340.542 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+577 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.528 481.923 414.484 492.921 ]/A << /S /GoTo /D (section.10) >> >>
endobj
579 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.029 340.922 343.984 352.877 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+endobj
+578 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 330.524 67.03 340.981 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-584 0 obj
-<< /D [ 582 0 R /XYZ 78.37 808.885 null ] >>
+583 0 obj
+<< /D [ 581 0 R /XYZ 78.37 808.885 null ] >>
endobj
129 0 obj
-<< /D [ 582 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 581 0 R /XYZ 79.37 771.024 null ] >>
endobj
-581 0 obj
+580 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F20 378 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F58 382 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-593 0 obj
-<< /Filter /FlateDecode /Length 11374 >>
-stream
-x}K渑~ŷt/,I QNx Հ{"HƋGeLY7n(爌`Po7; V?)ֲqܭ-[n۳_>{.ܧnߓ zd xJ[]XqǶ=Xcr t: U׸C\z}A<p#]c3|ZҸ\+k#:6_']9]_7<vqoj_Pn u 3/q
-hxї]@;T< {oo?vY|[
-c]k$KA$5_Q29զ y(A&+~M8y<Mg'C2cc9gRaqjzuD"q _vHjD_? @~5o0\r @wp8<_ 08?He3TbX|Iد)?E9pl8{_'# QD6=/׭Ћ]گ[9xV֯x9(QhLEǩ蔴_W*z)^`Raa*$הq*2=NEOHEϑF(ׇd9"i9V/凵_ٺ/wܱC\qO>ŝ/<wǸӃGwؗOX矟;~U
-n^qZy9yΧ˛ Ztܤiyƙ7`XEGݹ~BEGq}&e\vNzr:C=1P57z[jeɵm|oF>d7tjp5g5Rt,3A-[O4xa9ŔS+|E,ЂȾV\jK$Ft9޴ɰ7.*UWp3JV '-`7v%OIdT'xcrȨmKSx_&m!AK16=psBΖ!. 6f&mǔ$֘#hֲ E\$(EFjNY)@X;؜3[-=F+ lϑ].5yaHdQ Y^(J`
-M=: ,5Vu`&Y۶쀴f F+Ya G|@̸l`3nNBV)vŠDP,[R-)6_$CŰ7G@.`ְ8uIj\A|ʒH:S™z'nQ'2Kil›\)uܦ9PؒN[>1DDD6 ١,DT5 H :2hg2yJ@Rf
-!3e-?JgF  R~S N9oJ=|Io:Y!J:"Ipt( h@ #LSE4lKr1Ʌ5B&ӊ8Op:[JgCfEHFAڣvT`Iёġ3ȳ!ܜN" l"[I8Ǘj:Pd
-)(ŋN brqN,"(B
-[A!&Op{\pBH0@RbK:V5W,# YEV&KN G(Vp"cWZĈ{+MhM
-^wĄ9
-<n'.*Ֆڢ OFLĤ5O$0dożV T(*4x*ԪTojZxb%&nxGEU"GkjYx"RP1@劋K9jPmQ˄+#I&@T)7ES!GKպPB%1QojTZqVڞ)05A.CQHZZ:#`T ,qjUGMj0e2 5YQQՀZ.PwGLȨ PiEVU2E21) H,qT
- 1b_+^
-҉ K FKVuԴڤ UF<q)_RC*x;b5M jȅ)*`*չڢ)pI/O)p|-'\1O`\jfaPEEJUZLĤkiL'ȗjy
-;bb*SMKZsVڠ OZJ؜` MV,bqVІUC?z?pFb
-5߾ɛ]72+\+NMMQ}nJY?eY}pK0@?q\oF0KY$f߾OS;
-=Q岲 ];?^j9%
-7}Iccgڟ?)Q>)i~is~t<'
-`&{%xAv^QuzMB80vmM=UqOET34$gnl5sHb<1_l.".,so
-RNheX&P–t#~n֏gDX&Qł9p`^NIzjoG_a]3dIE6Wrq6> 7J~
-i|(j),~ؤ{\ヌGts؇YY\!M9tNԿH:ӆ;c#@i2!5Ab3jt]J5~98P~?
-=4+v$ܘMaF) KF{Z- SmY7I"CRTΕ `bcuJCn<[0pElYnDͱhkdvNXREQdb@)̞*l`(r$6
-;]`8v& Ž*$2ʼnZchғ69]t!:@=0sAۂ &w ^GYbīͱ7kyMBs\4ڃ"R#
-[9e"qi)dU$yLfǨNƤF#<C0ʂ&ҤT<b?PuJųʁò:{6P6I$ZR^#5T! !V1e O!##Ox|qF u6Yf2cRduK =CҳAAlմN2KR@b@f{| S$67OYSg3GIu SgD˸*XZkQD׉lM,\A d68j付2isSp3ЍwM)0Tad3$ \ ;kss$1Lh5#,S8)(4T5@⢹S$1|ASJ24ǹ>_nDu%,CVK}sGi֜vDQdbEԮn)izptaG+281=sNL "ĭ4ݠ*]B",=ȨŜv-=mk?:ֽwTɖUX\ :&~^xXjtV9
-m ?IfeF-[LW4d|Ͷpַ&Ie:<5i: E?`r|=.2q>KcUcC>E_ƕ-;+B߯Kfs/uz nD#Xb
-peBiF\*pXԲx\~k築ɾKmOld="掰&H pҏk9(S@Vjqs C
-]-4d0]`X 8~˲/V\+%Ղ Rl/&1M<ϳ`u֧Zш`R` "csވ!C0Əi/y S=7&XŞFjגX0%ns#ܤmKQh81A %XM.|{ks{sA+N(d]=ڷͥhF6ZKLB/YIe8OjU4M`d)Êub[JrHZ+Ra0q݇9|E+b1+sJ4ڝN)~3ֆ޴r !2ܝp!m
-"
-'
-V.aiZJ p4(bw '\0 ۣ5" K [#ܨ}#%pʂeإt
-)@:mIÄTRCDeN),e0lrMlfI(>A5kD+1iN@C.rxbE‰H XpQ]#PRm0(po``H~
-c2qqIF-RѰ5Lm*N3љ޳J"E z<q/z'D{+V5Da!!aK'[ĮD*
-;xڞ"@04X==))F(ҮG)RXp!F-(M Bppw҉G<^OQ-=\S4=j W=HR#&biThHg;R13&1`pW0~ (nO2T2!B.ZRc2֔h:eik\t$S 2B銲8p|0n [Њ:AS"ō6'] ;;%zQ!ketR:DUڂ:%ɄfU|mkkJ$h#47DO kl*<uPi)w{,9V^*z
-Ԩ(fDHPȔ& 1Vdd
-_3XQRB1kaYQØxev}A>[۵7L=v-uV)zSc{w{vV=+-}Oa9|cyTo>ђ
-}ȷק5s\ۍ/yN!۽9_G{۟a/mHƲ T#ˣ$Qc ,SOAm//O5ҼУ 3MW3.
-w㧎=%A9
+592 0 obj
+<< /Filter /FlateDecode /Length 11369 >>
+stream
+x}K&^[v/n:&0uU.xŠ
+ /[[JCdGˏai0>.Ͽ?ĘOysKRHh'ANo&Nw8H@]! d"l; ;߆z Rd
+#2x*է/05Kl/HaM}b1֭9,S P_LK;'7-B-Kfc~];kS%-iy2/MW9LQ6S Qn2=MSqx3NOu 9(@e(C 4Qy[+珷~ҏ`K.wP7_ܳ!yjCJ)8$?ِe3bdÐ|Io)$?E9l8{_'# QH6=/WKVS5+'׆~ۋVqGBsd*2=NERsLc cS%aTe(Sq*zB*z4J/FȐ8>4# XI+K^z)? ְ~"'N:W|z)C\}{yϳJ!mݟދ<N+/'wypܼ޻P E`<0}Zlޣq V|wߣRQ|\ߣ 0ur ΓR1lQWѥkR5@1fz^&. zfz^Ɨ.Ź[b~y)_ɣ=:VpڭGw0Ҝbx[q}o{C}hAd_m+.UV%beq{Fodj͛IFOGa+p %m  O;$[x219dԶANԶR O%HYZ9e!AgːaA3cJ?Y^
+'߼2\@Ik6Sq!f
+">kSQBB/jaXQXeS8r5E`ICF1oiO1(N@1ʭjN;7!-qҡ WJ2
+||Ԝ.9mnPooZcD ܪḘXe9yr!$( te-/ m=K!e5Ex D1\nT"ΉEVeRp[k9 !4c3%e|lDj@S"20Nn~BDVD\ ؒdHaVQUɒSQ$-HV51(*`dnJeS8@g^
+Af,10ugI8hj8D ^niE&,V"Fdbgg\F@@Pjp:^u5+ - y>Q̻/j<DѢcҪEEEmQi! !tIj0\Xӽ*`sNc,Ѭ(!`c[5wZa5hQ&k BBzX">nOrAHhZ1KjV9ӰREL
+XX=_^ECc_Pê0ʼn2$HAC {X0'%&RS Q^!)gs"IM)odidԪ<b_+ʅ n*ԪT3jZbB&&iݐ%jUD&*Ӳµ1!bN3@%BVuԑ֤YZLĤ0 QV5k幰2KDEϵ剋FJe“(1)u͓5 [1hw> J'*$*՛ڤ)pIA/QQՀZZVr#ȸT PgjT[2ʈ'0e 5UMpR.PIwGLF[UVD&%%LdMK$PT52xV'*.x.-K\ZQjZ&LDL2uMrTT5 2yľV +T2*"5T.dQaU~&LńLL
+Һ!KժHL׊ײBtRRŪU56eBO\$Wk
+^(pjSçra
+XJue)-&\bRK)Sk
+"_+c WwYX.TQQk5G2E01)p)&k8 Z^(B򎘘TzREŮ֜6D“(6'إaCUX\a!DЏd}!?폜Q#U\ZqL/^0L߾K57yy[wM bmr^s;}i.eD{4[D8n.עw,}gHY݉}o|?L')¿ ^rYٿ. qp$[ űd3Lm7ms(i?mKe
+: WFl0Kq yv;~:&!~:乧"؇y Cڻ{7Y9$u/B^w}~7tXGu`kJ2b,S@FOaGmCy{7?G3",(pV\p`^NIzjoG_a]3dIE6Wrq6> 7'J~z
+;#xQ(IŭSK~-ŁGƧGFP;5iXu+P>;
+EsTC^_C[lG97⓾5\Q4ad5F?lO=>' ݳ1'B2u3:Ncs0眲t wj<G*-lvdCjN<=Cf躔!j(:r2;]cEqL}1~xc[@2z(WpJ“bLEV^$=HfdMtze7tO k^['m5SJӸ!noVDw KLyS5?KgA5Ꝓ^{e%ij:Ap؝ٻGPG94|
+LftO3>291YuA XRd=o4tؙIҘLle;hi*\ f1oL53%:<CtYOŸ wﶢ(e"׾rԩY
+!d9h{TCjtfaΝ$
+K|[9E'>a~6> 32.2(~^0C`ӿt:8[J81Fզ
+ߓ`SÏPLET\K;.!o9qPQr{kwM(Z)M$|-xrs,W჏6
+) -=3\R-( {=AvopxӻcV3souu,,FKtb$4Mu
+S9@%Kož=u@<:P\zuEH/Ɩg[ +wip9zI;?
+~`] U]JEUD*"PѕZ컧XǖP~&mޅ#ɵAG]rly\`QYj/WL~D^S/22/+0Nx&# Z^<
+k^+ԣpRJ)Ds|{w.*R۷iO8f`1-Web 1Ǣ켔>S4VZJJytOimJۆ)'@Tv
+2=psD{dU$\, ܘhrtFYaY
+#3鈭W3n͑psx%j,hn1p,¥˽FamqwO@\އ D:]ȡI!)PBƆ;T'/{P-dn\>jLer2(#D{k[M+ }Rw7쓚!Vt@hlҐPB߆)d8/ `^7b-gZ: $:؞W>3]ˋwυ2犋\1>* ] ̒^Z*" 79diěm᤭Mux&j
+4u@Ij+
+~{\d*|.`ƺƜ2f:}+[ }?xV_w5F,0p7e v,f=GĘJ(L@h?oJsmlrca{NcOuj?`);+5WeLIF!2.FFnDs+
+v*3AƎ5C?HS8
+i$KVc4Ja*cHL7G*X:6OX>D0YD05,/Zw|YSvJ65cЍMl瀓NnS `鮥:۫h}M .=[qc bnT¾v8B}q_
+'
+y,'B(뇭)p"R"&\iT8aDg8VVr(8KR#8G[8%璽Ui9)NXhF')lStx,.`2t
+˳+bL(bMܦ"QR.z9ѥt-%Nn<[ZHi[Jv22FpI {FJ=9$NMs.cǀWtWke!eTRÝ&  "ܢ<9F cYet_ZS2X㗔+ s9 +"%8bm"FsIp0vRH(DtS:6iI0=do<QS"E
+K [#ܨ"}>YA%
+PZ:QALĐ*<Xcp"R#&\iT8aHg3T[*
+>ܛ|~)%آ:R`2zLFseM),e4l
+;xڞ"@04X==))F(ҮG)RXp!F-(M Bppw҉G<^OQ- H!PFӣvr걨E6KBFJ?9A0? 羂_G Dvs~jŔ̐ Y4u*X+kJ4Zײ4쵿`.l])O[tEYT8 h]K X 7QI~7k-hEo)FI ܮԊ =ʨϵ2:|)xpp_GAdBO*>6zU5%vts {@ZyBG6 :l =U |
+?_3XQRB1kaYQØxev}A>{wO:ATӱ=Q=;Ğ!>كG'}|O<n
+7Mr8ZܙlI{ztKwλ:Plm+ֿW
+o4BoP|doOF?|! i9Cf6 T9<y4s~*.)3[ul$5{m6=o$\:oN lnyP] ӾxӮN4큉gx{^5k(i A
+ ܶw1[-Tp2M)׃vIr 9>ws 3@c7+2jh:FL:?KWgꚲ7s\n@mΙLq6cOGgqm߇x3gxx{lzpK>s:BXx[<3D@\2'71F|}!^?c흾`:r`J,f8J)^Dɩ]SOdy>"Byuc':J6lDj%uTN#pzz;N;LqN^wzIw=&-X$^;v{ss<N) pck&<{_K{{snɏ?ioe=6g<GIs=mY~f<<r_>}"^k<yӋ3УKævPdw}rCflN.]뻧\uW6L?f/T@n┦غm:N7L1EX<vȫ<̶)TO{J<
endstream
endobj
-592 0 obj
-<< /Type /Page /Contents 593 0 R /Resources 591 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 596 0 R >>
+591 0 obj
+<< /Type /Page /Contents 592 0 R /Resources 590 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 595 0 R >>
endobj
-596 0 obj
-[ 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R ]
+595 0 obj
+[ 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R ]
+endobj
+585 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.532 553.81 437.487 565.765 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
586 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.532 543.632 437.487 555.587 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.344 499.119 390.299 511.074 ]/A << /S /GoTo /D (section.8) >> >>
endobj
587 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.344 490.238 390.299 502.194 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.474 435.908 210.429 447.864 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
588 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.474 427.676 210.429 439.631 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 458.926 88.775 469.383 100.232 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
589 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 458.926 85.96 469.383 97.417 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.62 69.846 339.076 81.303 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-590 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.62 67.03 339.076 78.488 ]/A << /S /GoTo /D (subsection.10.5) >> >>
-endobj
-594 0 obj
-<< /D [ 592 0 R /XYZ 78.37 808.885 null ] >>
+593 0 obj
+<< /D [ 591 0 R /XYZ 78.37 808.885 null ] >>
endobj
133 0 obj
-<< /D [ 592 0 R /XYZ 79.37 401.086 null ] >>
+<< /D [ 591 0 R /XYZ 79.37 408.994 null ] >>
endobj
-591 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F15 377 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F75 595 0 R >> /ProcSet [ /PDF /Text ] >>
+590 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F15 377 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F75 594 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-600 0 obj
+599 0 obj
<< /Filter /FlateDecode /Length 10103 >>
stream
x]M$WQ:t:MFNۣvXݼ>͆׻6'_0I
@@ -2009,25 +2018,25 @@ G,po:Bcw
VcQ
endstream
endobj
-599 0 obj
-<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 602 0 R >>
+598 0 obj
+<< /Type /Page /Contents 599 0 R /Resources 597 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 601 0 R >>
endobj
-602 0 obj
-[ 597 0 R ]
+601 0 obj
+[ 596 0 R ]
endobj
-597 0 obj
+596 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.697 90.241 218.154 101.698 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-601 0 obj
-<< /D [ 599 0 R /XYZ 78.37 808.885 null ] >>
+600 0 obj
+<< /D [ 598 0 R /XYZ 78.37 808.885 null ] >>
endobj
137 0 obj
-<< /D [ 599 0 R /XYZ 79.37 276.233 null ] >>
+<< /D [ 598 0 R /XYZ 79.37 276.233 null ] >>
endobj
-598 0 obj
+597 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F69 398 0 R /F23 375 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-605 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 8678 >>
stream
x]˒嶑+(DOtԎ&<~i"|d@^խ <@$@\ 7T.uɥpXp2{u]IO??gx[2&[??vn.%}jmؗ309jØcr}^3]..10yt^R'Oip^[|+<1ԜC</J.C "[ KqiU'}gc}iû »~i]C:tw@ֻ)i\њFqM\N|?+ڤ%H#}|xr1o=_^ZOq/?8̦}=hm >g=3G3?\Cf9-[GNp;)DVlڏ}awG[8]q tM:ˆ7ڵ|^svbC9 V0bW ,lۭsHaa OX8#ZXvzZ'Pi(]Ó} \;_>-ޑ'&'Q:];bOV;a/L܇'KtYF+uf|sq_ڇNc7H-\vS;H,.ޞr>OwOAR,)}>)S*U;LS~PuIήˏ?} eEW(|oHYjTN\q>]K #q<Hcx'^dj&o-K
@@ -2073,130 +2082,118 @@ D6kvd" i-b&&
K(w 5!$.
endstream
endobj
-604 0 obj
-<< /Type /Page /Contents 605 0 R /Resources 603 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R >>
+603 0 obj
+<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
endobj
-606 0 obj
-<< /D [ 604 0 R /XYZ 78.37 808.885 null ] >>
+605 0 obj
+<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
endobj
141 0 obj
-<< /D [ 604 0 R /XYZ 79.37 460.075 null ] >>
+<< /D [ 603 0 R /XYZ 79.37 460.075 null ] >>
endobj
-603 0 obj
+602 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F15 377 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F58 382 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-610 0 obj
-<< /Filter /FlateDecode /Length 22492 >>
+609 0 obj
+<< /Filter /FlateDecode /Length 22480 >>
stream
xݽO$%xO;O
-R)ѭBl5O׌=GDFJF]/I:<>ߟ? 㼝5[jQ_~##|Ǒq|οП?_]xae2ğ+7aBky1:P9;sɓs+/8IӗTˏ%eʑaӳXNrHuD-^)z=I~ #sߏ2kYg:v/:v_BU_U<)o~k0tH?ڎFMI+._*(+*z\;'<*(R4}_,-zD
-bo-1yMoty><d93%?qFG'2[;+&TN<ak~o*n+eѵqؕ~¼lg^2$2;4 ޡލWzk#ԮeɓO|?<vZ{'W)R'ˋo7v~>_Rc<ojus۠ qpov[ɾL,Ϣu^~/r+۾ |ztG;pGȒnGNWw==Wx;ձͼʔ՛6[[mђ= N {׿-!qg[^CVr;GzQnp <{>w'+=q {4}UyG1[v%6ٍ7~I1[z3={W޶-RXGm8{Pw*jwDɼ?#|RoΆ0= I'w TP!֞qOC\ 9?IyU|n1!4؉i.jA,siQHmt<ϥ[iH[4?sJ[-=w.ò%?4,?>?>Bcx
-?~^7_qGy@/t<?, Smg׏I5oA6[/K>b
-qyiUpnws~'w/L;_Ph._KJ%/)bK*UUR
-NgoBw
-Bo
-Boff3(ǟCOZu}U'jՑ7N:=ި:1[KykգSub]^uxԢ/ߟwY^:[ձRsq/jSoU/,|ɦF­l"bU7rʔGTDϬ*|*n
-]
-
-ΞW< 4J=!O/=%45lۻK՗cLݴ~8U3T t^>KL؊Zߞ}Geǩ/ίS-u_ؓٹ[jrM^oTꭞ̣\;9cfEAXyGz–r>d)o 4qm4oq5gq1.x"K5~[&ФR59e^&߬<'NU97zUN/ws,xGz9KsWaO^^:Yp3Þ!P߿zcI7V>wn,)ŽoDx[xTzv2Kyʩ=wV6([o=9~2Ol Y7^߸~+~=PWI3a\( xqDwl~I[A K/P*/Axޘ,֘ Ik?*-k^:\zF-+ުЖZGOO*VOTh^k}J*㦗Sު:lzN:m\enÖQN(t:eW:^ô#0@|z땎޺,0O{nCé7lXé\ȏژéWZ~`};)OKJ
-\syjF w%K&>꼿K/{:$jB{!=գA~O zSqS=
-TB{G!=ՃQ|O zS=
-DTe*W* Z/>D>pȵ_?4[5)/v^ɢһ/vPyok{kxx=\žK7J/Գn{ZtsMi&.Kǵ+kʽz#9 AЇۭ8 \SǽJ5uͲ
-ӈ4eA ,]0)}%BGTӥZ%4G;xu2Ck=9F'ARx-$yBƋr
-T'᤟/ҞKc4&<;XӠhP .?L5:F*UPV8:i%1nʗU(
--ҳǰ/P~BLnU݌$(hZl\&iJ"ZM=`G߮CXTxyy[8%`(+ݙe%Qn,[LO`UFϐSrPw/s.ǪJψY
-2to&
-*(/,4Xi8:cI[mKu{uݾJ e)3JsJwfY.t ʋv1 e+cTuBN'9KڝVZq5b K)A<!R
-S\};n\::0SJo;,QUЕ3UG{Y<]k* q+BK@V K(M"U ^tQ& ]vC/O`uPڣ(γ(?,B蓠J@,]RjhK
- { ,JF!,ZXB{εoW24tg%
-*(/, '*Ww<i{@R]wRf) ʔҽY ]]YJ1]Qګ oWz,b`(MD!T
-aKcSl9tr? g JdsU ^D=0Zh٧|Rf令Uhsʇ.<4E[C6 60*Ճݳ[KW<gGEzTMn 3ݴcнid/3h7 BM^=hq#: 1E#4HGb0ꤤ~@ D a
-q%KmR9Ft tY#ALj %*6{:ۈn#
-etc
-rO; 1#KU)
-Wt`x@ft^}[2F0>K S $ nJqeKmb/wo#uc*( WW(uL
->UZ~茐kq +*hB,
-S֫  [8 _m5" qbHNJ%i H}t] ݅}%|BY輐5qsڶ{ahN+[fB0jRҫՔ7.t"K7t Ah Y `EeբsC"j-x.tuF7,o% (Mi>\VZnrgh5.Kܬӵ.XQ:Z:F57 g$M^}-Z+p-itV:7Y)%A qh`}|!t)ł*] %on& ,ooD5/ $M&sH'>:Y[7d:[:R8Be+4o% (KI+4wwd3\Gghme.x-tk
-]ܸ+,s5shZsrpAҔen,a|FYܐuLG Zj4ZprY.ؤ)ՇZ"YJХqr 47Z8B5/ g$ LY/&\Vv:xZ$H]G6M\Ꜣ%,N&zՉQ>|=ԕNG ,]._0SǶxFY,\}W.t ʋeu3!ŝ%!QsKv
-
-EէPuK!+Z
-ȼ sy0T#%`pG8!
-Bp|X,-$2pb\Tnt`jhLc([nHBA^$_-okZZAd#Ŗ[T V*P(6ِ %(X7ف*Txd6G%q kNj<C[HtrC,@}W
-]F.(+vZ3`Y.t9
-b#Wl<f+(So*f ]
-] b0MÅqt.^Dhj4X6:fޞpkhNh7ghy{0p@MŞF=xAQ՜ E54uWyq`j0MR\@9$wUJX*6:F>3T4,R`l^OX~^mhܔ%- .X@0^JnA ؂M^} <(|YXuun -3ͺnډ3X YFyCwx?.pM˷vM`h \)잕_gQ-.OM^\Nfx.};G}`h9lƕZ3@rPp3/iH{s`0ٰ.iVN[;NŰsjQ[,,7Q^ zn`v2 ]
-}49 `iP+,5LBM^_zh ܷkihSخ8,
-Vڋ w|{6o_Mmc
-]xZ5G@k Z9HU^}(vq) 5*v5Gk2GJpa6*%/t?D1t}?rehEǕºAE@ @ 2ژRvOE />=2 &
--v26^uY]xmvRpJJ)*纲g^Yca}jHe,s^)h>{Ze.2^RrWz.tp`uaK z~sC=qC=BQOq:c' ełIGC W`+ U5Jy.N!1ZB dێ֞̄662~^yb3[iglF(Պ9Y8p>W+OzrWN(PͷxqASkJ>Pw6iFe佷R{R[h^ˉvY.J r_yZ1ʋr5
-D%If+r*#Ϫh#-U>bwG-0gnQ2\W*zZ@Ɵ
-s@P tTнqW
-XL ,4
-WJJ1FnIrs &<-U
-E` =MIHbԦ^Գd<Ø#6{J1n﬽ȱat͢絆xKC --͵`ŤU-@Bw
- (Gl{ezՓ*Ѹ3rnR7>"Oz8@(-
-ZJVJ]y凁n]Fr@Nd*QM7 16
-s(~ eZ`+( hW]EܤRS}
-.sdZb`ZjXNi҇vN3
-4MzQ<|Wp@[I
-zı?ѥ[;xV@L L Ao(Ju
-Lypj9\a:
- bG~w.^L0` l++\Fa@a3Zb+"Vw?<%C1:v07Wq(67Jc!Q6
-gg+#w <X sPУrD%G_yAk/x8<,v.,u} k;wJS*6 m'Lյox &D!T
-{c.B׭PbR(p9xu:0ߎ؞ &<]4B/6HTV0w=kJDC-8i<I9c³σ&&X
-h
-dzhy~,!W.vҋwDc+@Ѕpy506{A'U>avc&8< BrJ`8G_ hyJnN\f
-bbMElzj lpmG/6ٷ.jnXx8SֵԖJi9-sG婧 ss!)"Vhw\sUQN xTfցci>bM;3a~4^!-O`B B ֫ jS\9/ ;ӯwR6u˫G|Bx\Ts]Kc!`|β<)/o|%UE@咨 }M^+5 ]Ʊ\An-MpfcAm0&esd̏)!o1?W+W+:s^!/r]+=zKXyAX4JIZ3c~!6f;08ps4-3a0$sў$ R! `W:$RZ D[\xk!WKyOiHLk;@K
-JI/Jıxi,cCSKbKfFz b[o 2
-
-Ʈh(P$$6;Mwd^]&z|Vу~M4[\
-*Ϻ*XW5-NP*Pj? J>$(wKiapTB6WNj`ӅV}uM1H9xvzQFP6 K41*[|BEfH2\CXcu
-9u*c+şq&P"f''¡iB1pY\߉N|Gܥ=~Z0uST~\}^4RL |#)}dl_O
-^?y:+[0|B`(oUx}IcX1
-0ZJuKP^Y \wsâίЀ:ڬ_"Ϻ_ T 2tS% ӄyqcXe%Tp\85^$w1tJa`D]WcO`QF0>'o̟
-yK#oO+|ĉ]؄!dzNU[h%K],qJ= I$G6oΤHfq"G1723$s9$ރq~7j%/ @"lї#oN<Èvk.|BQ 0 ХT&YJ2u!'a$32\X6dCe>)C
-YvE>/=XS%@". W&S/22t
-o׸9t
-P/veY=NO ZH4V2pYj|g?5OqG /5+yn\kXټkXټkk/V@d&(w cFwkDX=O|BZx3>vgA"XyfZ(Ƌ~8xx|~Wqkp-)o|qSo!.| e,F(c PϐDm=Ewok3sgc[EY:a eE(a#@C\Q'mxgOjG3E3ͲP%W /eVw*ॏgsg| eBy73<
-FX5KQ^-<xwlW67+ll\ pM'5ük< 5# $M-\g6wd6t({.tM$
-WUbL7&D1Q/zkj;Q~rQrNM_Q*b ?upCyE۝hȽ;qK]/]{ܽGƌ⹛nQU|)g
-igf?D*$RkqGӭfe1=6Ԡ|VK&T*NV1j[%7 yg ~q6fnS55k+5)(h"~rUhnE˼bSf}irMx&2'3ϧ9%>\kk9}]0v̗K^$zWK|U;[: X+"=#9[{~~w[s#JBwBF!GYmȵ4чϾSwB.!Y;5q.Lx[:ʽY姘o< {ŷ>[6oOWbho?~|"dr E;I=<K<Ż~v[w-H7X)ДH_bL[Gd{uw@/X ;ZvH:~kM\2ϼ~ե9GOsNkcZy>}^gר[vߺx?qn( pQ_kqB*|N1O;?Wz[>7K2-n 7Z-2Y?~w5^]ZM|+5<de~!So<-hq`[6w $jXd, ;Jon<W'KWMGtk(Y+?|y^9 ,F.?/ 7nlJFISu"k/pQٶT8?;yGmB=(@ej1=ڨG7.jΙ'۷G7G{49F7ZjXg f=oy3vD^3[k({|;GtG34N& w-wYO 9vd)m?V&MmkMS~w?ڄB{"IrqB|`#'ɎlBt듉k>Lpu){4=9|<Y+cv%<JI 9}ȥ-^q/sXk՞~w|ݛ7i
-~4~P>z&#R~M~Mz-_`&_A&m\쥛)m}<|N^߸픾Plnyv[p$`wAG`gA~r7G7=vKصU[Q+s>-uur}~z]ko%ڏqb+7 -ԓWΒUװ򐷁u-P YVєO>4lr,4.uGƫu9|m1c{S^`hiZy wD"$u~ܗNպ};Wckly;0p46FލxKf,:n.-U gřŵɼxrG> Nj7,wL7BaS12sn.!TTj*x
-^X܈6yd[;zjԔiqb&M
-qj?B?RAhӴ뿧Kz,kI@̵Cf80l4&@fΌ/[(T8Iv%
-~fK79]@ \zM!)ËT]t2:(䌱8V)^ykWBo ? -%$3 [y1@ԭPU0_i,Rkz/51`^<zvIS0 hy):OW`$Bx}q t|-5TWƆPOD.c;r߰,dmY^ۑCO] <|*SFRY/M|j_S3فǭf]$R11.pjtl R܈έ,)4,u!EE-/V-2@'TdSh=)+Z*wZ@3 BKsnnf!VI-]C`ҋlR-V[e9 ]u9x-ZH櫌E8!^=#Y*Ǝr\E54fV`!BxQ|5.‰ǚ
-庆!0C8V GG7U;[@6fRE2kNM6j\8M@ ]w%a@.RP/ En8V7QOI^D]N ;
-3LY4˕Y1l?бԅy 3;  "cFO@gwWԕ(yG;\?0&:+ Y{_O(b׵׫ .`r(.Bek#x zt,,j>O^|;N
-B#AS#.*#BRVњxcltn V>g351Ee(~
-]@7 㜌(qH E2hd ܔ146fڅ$;
-9aT TL1T\NOak8_zs#mD2UFG"T]X;3M2d.naL!
-93yY徘v
-4\YZ?R8 H25#rGZsNP80Fa !zQE ;oTFzAl>g+Kjj*\Bb$q馯 <F1aTKY 1&JUxFi,{]l`eJ2#Kr-H~_eR7^Pwqbiۙ`#S^VrwbQ"6
-_W 0t#=L)H}%O =FyQ.>(d.T-:HG[&y<FtB9?h*r>1@!2d.`Iyd -`M*̬4HW](كl~Cr1 XJ][:ӈ1XV5;nA|
-A74~qT9P/(OL19 ًa`giÑ}`m-gh[.'anL՜XB$JO@p]\99vg>c<ǔׄ 3σ4w@q-6UD2y6|`
-/5:='lI2# 9vU+<wx6:o4= \"z@*l%Guhy͑w'.p^s o41ePƲ@ӠtWOCT)(؎$^h8oN+B+hB採GL1p0^y0A1*z ے k)ięSQ(r= {@1.!;
+R)ѭBl5O׌=GDFJF]/I:<>ߟ? 㼝5[jQ_~##|Ǒq|οП?_]xae2ğ+7aBky1:P9;sɓs+/8IӗTˏ%eʑaӳXNrHuD-^)z=I~ #sߏ2kYg:v/:v_BU_U<)o~k0tH?ڎFMI+._*(+*:>RɹzN.)yu;PhjT+X^FkԆ?Z?clL񷏭R;p|yo{qKga\u
+9jwo5*)ȭDx^Gծj\ڸJJa_3/9~ꚋsgQk{*^nU,[r=z}ߎ+[;\6hs\??_7o7˲Uo9}|Iʳo~5z
+qǝX⭷~|}OT3$wOٺmLY*c-)pPn9o"w5;mu)ӊzzuȷ=uF,K~|XNW{|؜g=8ۑgBOǣ!O;C<fKomjyo-y*#ܵ=[j3Dc|xޝ@G)ƃOwˬTPy<ikH(zgnOCV{>IxK6!!Q[G!ގr>9nGOCh~ y.o ݠy.帅3= F=!
+uW3s]RG-x Zt =ڪy)̄3R} ~J..pKq;lm6ӏzy;sN jՑ7N:uި:1[Kyk ֣Sub\^u2Т/ߟwY^:[ձRsq/jSoU/,|-­lbNVe *'SS^;󝪜Jv~G++3qq L=>kA=5L_iżvg]r7IޫrjU7r&6wrSs֨wjrN:;j2w{8߬əR;S|&AM~\J
+q+ό\P‹5{wjvyPTߨwqBrq˗}븴e<YW7 ߷'ݽD/%P5]F'%Nx]N8UŽSo.ɷr> ynf_ַ=m&<탣˯ws]>8=YjyH5;5a/bީ9%?:=(alŪ|:{_N7ztǝ{{4f#oT^Qý޴L'|;JvPgZ4ZvlrޑMHW;Z}@;ӛB|&K5;!wjry}&s7`̽z9rY3l8ߩTȋ3zF
+WUBG!UՃA~U(z_U=
+WUB𫪲Ub"?=/>DU텇=<r d 8M.~wJMu(e_~w@W]-7׵_=Y<ɾK7,V/ZtseEqk?|\ɽ2qwޟz#YBu {hj)ɰuS-.k>(eƲ4eA,]0)}%BGTӥZ%4G;Oq)Pi CYJ t */*Pe~Ԩ| /aј`
+04VsuKQ^Y( ]!5'E!&7-?GXe0F/E{4IT1@xѭF$4w <UAj@X;yMf 5([_ ]!IPP|^Fi.tʋp5
+4%]RZB{gz =7J+MQV3PbBWohX]TŔnV䯞W KuݽJ 0(SJp@Kfi.t ʋv5 d+~cTtF knBX*G b^B{lU.4VPp1
+E%!={4`⽌^hS^"T#U
+괆>;%rq
+vG,{K~2ގRl@ݻM1+MQ=BT6*66^r*PR<rHP & T1@xѽȏDw?/gK1#Uo)f \bͦLl
+
+mNe'P2"F`k=5@0 EJz`9\9k}<-ңov\H uM}阁@ij40G#{Tw}9|oTlѸ/zЏcH,F
+f@fܕ=l
+Y&+%๤ұ"!o/Ă.%XpYK"P7dqMM:d A qh|]I;>\dgZ'+uk,BrKG pU`&md!e)Ճ}T|@Y謐m嗎0t `g%ml]Rګ ?h.
+u%$Z7t<bns@kn@:HQ^}-%p("qN[`YhDWF nX:K4pY˹Y$kPWIq3NW_nsFk pQ!)ńNO^`霃KS D:11P[<ݎ;~`(u%)Q6KGԱ7QVGW`+ ]}duksg rH\ǒ]mfA:
+*7hjn(>28ܝf UJyQ~u'c}WH*<INAG>fީo<x?dJjwb)j"Z2&S&\3>
+ޚxwVXA֢i bsB*‹hE=w `m{!msxrDgӫd<CЎCzj}'rjt-kԵ"gVɴUR!(.b/X[H@[e\E*6P*ܐ <%HZt r;x6F-raC9d6U2mPl!=JxQ|hoC\o9m~JX?SO0Kzհ1xcC[HtrC,@}W
+]F.(+vZ3`Y.t9
+B@Ei^WTWsV-hsA]d_}C~5J=<E|;I_٠%, IgC:fZ@#f+g,WUJUmz.s/("bE{V)U4[GsB{9^GۃKmz/5Ϝv܃(`wjT
+n% i>q,xF\#Be#M`w Cbǩp^-1jcB0jUҫ1Co A&bkTF '`ִ,͐JcECiZ1«]mam0 m5Bi]mjecB0*Uҋ;=046
+A3}.t
+`P(q(o#LIԅ.Ar~j]ID;O;t)i˽,UmknIw}Zl.+$P*&,҂%QW@[:B…6u9h+}loCؙR= v(AC٢l./o^RmǮlV`+ ]]BYJcxJyohԋL`,~2cp6M499@R\+(56c17zr ^9B(HTƋl 2(Ԛ?$s]8HF1^\FJ' .\q$U$4h-
+b{C *u
+srPТٺ!WwzepH'#zQ gs<bhZa~%{MƹW
+j"6RQh G
+snK=ʧTRH)VA>ו= SC*CfJA *sQ*sKC  z~sC=qC=BQOQ݅8c4h- ' 5 [\т}W.T(E8h 5il;<|EkcfJsf|xXQ-3GPkgljEÜƃJRP`+ U=J+W@YR x[?иQ%
+;4b 2[\ -PDJFrB,
+9]Y (e*㌸+u
+S3 yޯ1+GXO~fu2 1>#4h-Nک*qת1f
+^)%/%cv^^`=2=Ihwbsg7jW'=L Hk-c{L%+hu.s@U.zu#9 E'2o^vN
+TƦS-A k7lJ]T⹅PtrC?2c-]ϕJBAR^Y@"nR錩>
+l(\yCl\m@`<Rvg{ IBkHr,W v&&Nvb:ԤG^Qg %^sAYrfwn~AcN ̼/=hΠYP{.<@ Hʝ @t^//(`J xj. J״u2 x0:4۱m4˕k=ҭcw<+W ًp&E]vx&vAUob:j
+wv㤜Wq] sP^4vJfr{81 (q.t"l qzCqwke4P0V\+W
+KHA0!t!ք5?cqR;)S: #>Cm!F.*%~ ϱ0{>gz 뉀[}XŪ" rIT|ך.FXN^ &D8a3ױР U z92G7Ƙ+ʹKW]9x.~r=% u,b q,%$-19Ӂ0NOzhO~ss]ISګjE?i)|ya`z"x~Ky %ܧԴRct$OH@ qŀ5{FL@%@rPTtUIg?|H|D4ıu%Bi`3a~#=w7[Ȋ@t5$F`UX2grZ"_~ R| <FK`:y8Q﵆=~#J`8[mJ9( 0d-*(KX4X\^W}RM?.y\yI_d@
+d>I-,-PP;0
+}3ӿ⥄Y]9y,p \ןg>2<'3I`8Jb5E_.b(r|ut/cjw[A8xu:VQw^!:gr
+ޅCWۑ|2Ro&j9& luJOP(v ? ExQ,˕+!j|oأbn[/:dUMhbi P vp`A
+z\BQfIٳ+
+PivY҈J|L08xu{*o!iDXVR5N0By+&Bu<;=(}#(zQ%Ew->"3P x!ֱ:E?j8Z(JA{4!PUEMQ'>fҞU?-We}F^*?xt>Q/t)&߆^>z>26 /'Lm/
+<$1,^g
+0JaPD]jW<]Q?#o|*wUܧ;Cϴn_T 2tҝU(`܅䕊BK~~<UW+
+[BXZ?*AR~-[%(/,򊃻9aQVGh@KmV/g]/*Vlk)U ^tiBC81zK.wUx\:0SJ0@KVi.t ʋvZe+܏1'(M؂ jݓ7bO} {B)EMҙx+d9BjƋl !5 ѥB{SM?=uݹjX)m|!d6N[%h*.z+jF!Uc,@=寔$6^$[st
+hk$M_zHؚ!(jrDKMdڴH1&!T>c<iS}O4`93Z.c jP^kR1`DGz~=D_UyCx)I1o4-BeH憁KmRetSWQsP/Aq-jݜw 0GQӣtZuh2׾%V1f/<cѥWVvr㑷o>BiDgl2{ U=F\%.ze ĸΎM$X7ggR$s8DHBFf~wf8g\JCQâIgf@εxtLJi!(Ret
+F,E %Bw|:ܐǰJT.s,I2σ2M
+"7'<RlX
+E[47Rʴ &:1]Bt܉Efn\_
+"'s>?!-]<㏙V\3J xphfe<l-T E?`h `<>?|Z
+wh>B7gDj>X2M#M1gH pw؞⢎7GL5
+U2"Q0^  Fk !6hB<ų'Ly#VҁX fbʫ2;WJ{tPճ3
+ifnIcQL.M̢¥ޗ#<AEeS]Cί ZH0G uc4 LBx2FneIƁEvQ,!y
+m0oNyf.rM$
+UY\f6kt7:#tl= Չ4{3RY.*Ղgo
+~c=߸SqQǿ_!+LRg#2^??ZϚ"_?*}gb*qY&+(4 w VUԵ֎WQ
+P wV&kYª~pPZ{Gg/nc6X^Rs޺:/'7]ՊVV̻(=k&Wۄg"yW*;|SEc|5΁kWw8ǡ)J'"w8̧to@>'Wa ~l͕~<0PnQx}V/r9kPtKyN '閎r|VF)+?%>^@m~Vy/[ڛg>1dp,bCOl(<w>L*ifa_' ] :,]OhJ~ޭ#2~=z ؗo?EF zI;$r?>ݵ&}vk]g^ɜz5^1Sp<y>3qkT-xߋor87y\Fj}v(_j7/ 3&'gm]8ixo߉Y>ߝsxٍBE[^v7墮&[2 ࿕o?2)w7ϵIJy0mӻ#EHc512lS!~7Pk=Z,6ۭAeTJ>@y-|Kt@L
+&SC*%i|OAԉ(ɿ<9FerPxpJ>M 6C5
+N.|k|5oshsosƵJ ;Q8wD{v숼ngtPwk7NhPZ3Hku y'C8n9hSk>TL9~Y!',(RDV"ق#'ӎlBt쓉k>Lpu){4=9|Y+dv%Ō
+J 9}^v/Xk֞~&x|ݛ7i
+y|+ cN (gI 'z/'ߏyVָ>˗o}-/y.<8qV>~ƼoC~~{>K'ZW!<ܝ '1v;LGCxm|#xiiHXkCխ>Bc契F QiZ&nh)KYIC,ީ7|xF?bF׏IIcǗ&][G:#v~r{W۟w٥B|Ox>9E޽E-*><P?'7+sGa4k5lB)k5 uix{1E嫾˸js{k?(YIW+&~E&~ ~km0_/ vMOM0^˾yA|シSsC3V^ߋ;l$kݵ[WW˹x_;ƇG ؽ.bsWgXnGnOx׉ׅ_ʍs<N2-u]nǿїpj?ƝSsyj/4PO^{K3V!^xCTCA6fZES>d ;+xgqAvk<2^=_cnCH핗+B8@TgLhW GK$BR7]}T:{;~=i&Jch݈īwĮRrX)X\̋'wyrz8#NO*A6e!<1BE E̍h[qOvLMX-L)nRߤ
+-#U(KoQ*A6M{ZhRF\;d&æHcdB2APHlW[r_>/oVq)U?
+mR1\UEWHB3aE^ŘGQ!Dza+7^chq؛2TaX#^ܹkcyx2TO풦`!*ʍ0){3)JirXb>]y,4
+E%4~#_V[_r5>m<MͲuy'oKa]uuLd[LKIifH6e=~ULT8dxu-JrNѱ-HJufp#:P6^câL"Uܗ_xs~U+ŖQl{K*)4K|ptz{z-W gř!ۥ^Nn7R30+~tyc0pE6ԭ|B-$WaU"Az,LcGc Xo9bI.ۃ nqGvPMsS+Z0E!(^V[cMjr]EDkcڏrP+|tB누#
+@`h.U d5SЅ||Wr
+"UbPcukPMԵ}P:[|`@\9AИe?v1K]00.R\a4xV~wE]w
+ʕc:3Zi͐gO! M!)v]hinsӛVnElQ``
+IZEkᏱѭ».X$-]di6&(hwid:N3s2!#5ɠ]oqS@N"
+, EwC#QcL8r*yG|y+=涅RwQ6^C0q?l>g꒦Fud%ҪXz}x9bX>BvA)Ȕ]hzwՂr# Hϥ"S
+R`3wCEQ^O(J,Y wͣQƖy:91rs遜xO ?3*Cf fĚKN}P֤J$qA=? sԵ3(#enX3dG0zR+!ϹC'x/PfV4/Ϧ${MG%
+k|`К9rF:feByfnT͉.dM"4 4EmtJQmy6kS=pLyM+К 8<Iܱ4J-lcz/a Y L(is S-<ˆ1zMM@kJ#5,֞rC:u9'U3J7bVzʄ"VJs!-7F]Z ^2uLbК86;oMh;USysUo/lj
+] bt^aP1`׸$oIkw`;F
+˘ a@njS F8FfrcR5 )j)Qf"-j^ @js[`OU4tYjp<4Jl\=]*U@ӡlb01Eg瀩6{SǛH[ODКkȅ;:Bfj)9W/LXBddq(d]%H_^sV2['VQ'VXL(К}8"Ӹ49FŴq9tW`$aZe,]T]c(F%6^璪lh98S uDτ4OWh'1@`"n>q
+Sͯ>f]:Jq1TrKU]Z'QŀCP$x(9Z䭲7<Sy.gQ(Ir7M FKc@yy)x.1gnaJHgZ]wdjN%k茥gq*.jfR~}·9aKOb連Co55fT獦K]ZH ~!-/19+`!&FLXvh*v]^y7ۑ M;M٩Uq%RhA1(r= .Fw+OsFc>(>FEOva[xrMۣ<1U} 8St
+=3ZG@atb1#xV,!;
<ƛ"_BXWZB!3PUctEs,A *mk&T
-@U1*j"oЈ}@BR:͚+.%L!FQtXuHv^F4k%Ru&l۪oQ
-@Sc|W60M` x4*`xnN~uvhCwfGGؤR:nI!j172 ^2K@:'xԳl&\
-"zQf>ʀR )HSM]X4%'Յs6g'꘍n#J'MQ|+}4!p1ju"a=E :;%>N3-O(  6aFpҔ@P|w4%_E ^xZ\;N,ii,ꧫzcܶB2JeM#c
-R71K^<x9E)_?g2bM[F㣍;Sy
-yO9G%eSX<a-=s=-k#YKqc俵O}Wd~ QG|-N>Ȭ>V8;T{l\k?헹%?Od{w͛5~[.Za4^0Wג>!p ϊ*Ĩ}쵢x4NKq?ɮ?* "DwB~"
-
+@U1*j"oӈ}@BR:͚+.%L!FQtXuHv^F4k%Ru&l۪oQ
+5$!NU $TS9%'FBʘc( s( 3
+@Sc|W60M` x4*`;LRt$N"z IQStE,C!Fwl cndf4e>tQϲDp+\2Gi*J1
+ M 45wnc dVҞ"Wwc6^a(/V( 6]Fp҄%.ma9sQ7ks|t:PГ?e4 |2؄ʷ'KSAnc~3x⭸kq8Aͧe\r
+!b(U 6Y&J*چ"*HݸwH,{
+]>4ciν`%}I?U7nQ<kE!!ӗ:]UED
endstream
endobj
-609 0 obj
-<< /Type /Page /Contents 610 0 R /Resources 608 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R >>
+608 0 obj
+<< /Type /Page /Contents 609 0 R /Resources 607 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
endobj
-611 0 obj
-<< /D [ 609 0 R /XYZ 78.37 808.885 null ] >>
+610 0 obj
+<< /D [ 608 0 R /XYZ 78.37 808.885 null ] >>
endobj
145 0 obj
-<< /D [ 609 0 R /XYZ 79.37 399.724 null ] >>
+<< /D [ 608 0 R /XYZ 79.37 400.5 null ] >>
endobj
-608 0 obj
+607 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F50 370 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F51 376 0 R /F52 372 0 R /F69 398 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-617 0 obj
+616 0 obj
<< /Filter /FlateDecode /Length 5489 >>
stream
x=M7w:]0{2`O,
@@ -2231,267 +2228,250 @@ Uݟ`:jO>zV<FT#׀olnKgYTPCq\9,0h5/Gݚ[
8ǷK뼜CFv^v:LsbJ5
endstream
endobj
-616 0 obj
-<< /Type /Page /Contents 617 0 R /Resources 615 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 620 0 R >>
+615 0 obj
+<< /Type /Page /Contents 616 0 R /Resources 614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 619 0 R >>
endobj
-620 0 obj
-[ 607 0 R 612 0 R 613 0 R 614 0 R ]
+619 0 obj
+[ 606 0 R 611 0 R 612 0 R 613 0 R ]
endobj
-607 0 obj
+606 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 314.182 725.076 326.138 737.031 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-612 0 obj
+611 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.444 662.311 258.399 674.266 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-613 0 obj
+612 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.723 426.788 380.678 438.743 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-614 0 obj
+613 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.195 98.189 186.15 109.258 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-618 0 obj
-<< /D [ 616 0 R /XYZ 78.37 808.885 null ] >>
+617 0 obj
+<< /D [ 615 0 R /XYZ 78.37 808.885 null ] >>
endobj
149 0 obj
-<< /D [ 616 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 615 0 R /XYZ 79.37 771.024 null ] >>
endobj
153 0 obj
-<< /D [ 616 0 R /XYZ 79.37 473.533 null ] >>
+<< /D [ 615 0 R /XYZ 79.37 473.533 null ] >>
endobj
-615 0 obj
+614 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F29 371 0 R /F20 378 0 R /F52 372 0 R /F58 382 0 R /F65 383 0 R /F23 375 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-625 0 obj
-<< /Filter /FlateDecode /Length 7290 >>
-stream
-x=ˎ%n#h 2gmf5^8N
-:Hнwny<oA-ҩ/yt]_?sXZƷ/ NM|4Bk
-V^P"̲n=Ir?*4ftг,  e{c>u.FG1'UdH!PKgg 5 %4*T!W!_]rdPLOi_f 3#-puFSE]sII4Y9P<`ڳHY]R<_6\ϗqL HNm?tQ?4H5mB
-dz%xihȫٸXdB4+·Y+47A^j3~):?s ^xܧlѹ
-IH]#ڵk+;g[,#e2\]g^Zeq[~QNwv6ݚ K?ޫEUEn-^ݚs
-|X=QWū~bq"]Br F5әMK 8`
-_ZN~1TSlS+JrǵVs)dꙫ,hھŮ&FnFVw|3ZaB2zsJàT‚:i.B5bSmq&x!m1%EM\W-aq-?Q[hʋnV-Gr$`oc Ƣ|{ Fս͍Xni0jw,`UM%|_%Xl)&a)ԛ)I~pUP@% *UlmeHOȒC)ew
-4MfR %j7Z@sR4"/QjbŪyKz*,7oqJ&.!<0[Sڢ⬛-I{ZFw~;VD}h]ouϖ>O^[l;~qf;}5q`#TZ{7J4=`w4koj2cO'WugZm3ވ2{_M $_*Ԡ18+(s[[slJ
-wW/,G1}ԱLNWr;8V?;c"d{vG&>OGe^xh{G!<⦅m]Xb;sX(#Mϭ[b;53G6߰hѝtΦf|i6|osZt\~xm#K VJ΂J@DXT n {
-9{5J)ɽWS[%P /WÝⴆ,/)jbj$̦qXL&$߾x7
-A ;+*[?amRlmᄵsnAKt "}׭p_anXaA@V}T
-u<T9(Li? c(U?78G9}g壜XApNU Jx2Yf| ݦfwI#<+=y~ <9"hU0ڔ! F޺СpWTjXҐUjF> <1`ڦݸڼ2[Y(Xy<)ci{jHvR:'_ ^ k۱I;_.hkCjJ/?]qrn}~iRe_%]kK_X9,(nqc1lrcGljqLG?<zYYP7؋V!'9}+o/F
-Ɋ3AEF\~ +f`+ylh@?u/Qoϲ)-rV:_c47ޑU1֒ym$-V$UH1Zhp+&팭ʓy?dI/8jqBX}+ޭrq1~š:5~e
- 2A4꣝ ԧNqTqrP1rQ9Fm>q*<(j#O}={X=oN~+ hʭҺ&@:k5oѵ3Y32ahaQ½M B 0~8;
-
-9D㦾:Qιfl`
-ֳlR-U0XAbzg\1d69|ΆNy՜Dj
-lA{X(h֒HMh`e&M\,81$g*C-\XcPR
- P],ꛇsHiQˊ5:Y@/zZ:Y4F7e1e}wXjآ x3t:\Zz`U;**j;O A Z:4yx}':֊x
-n6m
-gmH(4ۀeF=hPi8T.}k#AcRndj+Y$+:M `nx2j; ~OQJ@@1grCq9Valܷ;A5:9hP8'AqU$.YJڸdB+;Au.-@ ( W c YA;. 5$( 7m<Ybk;urxE5Hg
- kpC1
-4qF⨡k;!5"(gP&!qUpBoV)'g 1d޺N߆,P6&p0V\PNڸ$+΋:M$0{lqF9h3 d%m ( W c @9r9 "0}249q-!^H£O92YBژX9gs!U*9`,u8,4ns8xwڌtYK
-qqp'ۡ*0s_~I"!v3Wy7=pًx7|l&] Nm$>)O*dBsy Gs"iL&*^N*ؼ$< 6~`d9N7i8'zt-If:̏k-{>=:|Nܝ+Jpj<$vsj:j
-^tO S{ƫZfTaÏQƎ+~vr+:5eqr (ƣN߱F';>h @i#uWXsXԲ$0Cąj4#t}W6]2
-#gtҡ}|ynIh_si۹~*nj+C曱VSx_`_v`e|. Z/S啢|RtW3iwZj%4
-#o7-n:x`̈́K[nm<n~N˱XcuY sٺkӿ `E~W@Rq<3v=P5NX['-ĝ"(|UWoWG$r#AuD9wNKWoi|v"?_X K@JJ\]B\xu2ecPn R
-M5a6RK>~XnJeh9nuz( U띐]v<t!|̐
-!h(zf]AhE9Է޹YzrDo[ۙE<7ar/xa=/ sNH^ܣ QSW
-8̧|c]LC2u~,ҭ؏gHnl!4x4U5uةj=x+fC^:Vٳh띞6zei󬿲!'\)ClTnx[#1b˝}],,41դ[5Goֹ1.'UAdC3e,ZǽdZnew#u:jVQ=r]_w^w0r?
+624 0 obj
+<< /Filter /FlateDecode /Length 7267 >>
+stream
+x=M%mh1ۀsZxo '
+Zϴ ԾJPZ巡vY!~d6oDRk$,t^fhQf @ez̴1"Q2˲2:eFoB#})˲j%jϞy>ئE iʨX2V׊ &I(&eT۪{պ
+Hَ}V2_.޼HDz Cfc CvfJBÄx$ORlhDˬ?A9,y5 F`WvCW#k%&]f*[Q.V)/OL}SS/^\xҧl^Uٕ9Nמ7N 7gr,h~bݡ׳U*r{Ev핖ɲd"x]#2՜!v&cڭy@&wZ즙moyU3b[J+ru)<ϫ5y^ |_Za#Ǣ>~3U^zZH*@GD]|}f>и}b_\UM~Je}YضGؑNs1B%umCD7#z6ECSҷi nݟZX"kw\@-i<P`JBPv(
+|Y =SW%~RU)d(Eb;*[o
+?-k&
+ x`
+,G"MF,0ϟ*+>:~EqLĠYf6P}FäT†9ew]FzƦpW׹|Ĕ>!-pߵD<$Z~^F]]Fs\Oˌ1#{gb&zu $%ngJ<OVY#bc7z -;
+oAX^3h!I~r UԂ:n,ꂨu~H[!?!K2z\J)^HUi*9#_0[G$l-j 贁
+Tt h/[*3I[.oh\ZGݫ-O}׾hv]qW'}-p`#TTF;%F-xI-JXţ,LYL<7bie+ŗg)TjYzz}+أs{GslJIw/,G1cl 7r;9VJα vu
+;G&cƿx:} OdA|Ki{@GmzHv8ә9ҿ}cKz~׼wԊ/c@|>[sF\
+NaT |aĤ *9Q9G$:a|:AɦcZkT~N RoƗJVn <I o W{mŠU}?v+9\-&X^xb*4gA;&`fp߃v^Fauٯ= Q~ؤ(ZM\f}<sHpoJ}AVg'sp4> uG`bj᭎&
+1=-S>i!
+~R&9A_6ukЁ$C^ _~o?\.{v_ !6?+
+>oGơixZ<Ɋw"LN'>E0o"~k~i<AJXH M{MlE%a}8T蓋H}nϾqg|}? }~ %] MEZ6
+>oh5Ԋ}NFXN ۑkG9|Dx遝o:h+DZ+8ƓT5<6vuA=vORw@I;I2aySۘ3d*@Jfv?" fKu wz}'S=꧷Nm jask
+[YX:zR2,α:ñ!3Ӷzfsg6gM>^t Dl Rx,JgWrF5UصUaᅵ>@Yhˏ#vlxu]v,M+?xEc1Oe_NU23d/waUkGNRgb%텠O~f`y8:Wаi'*-r&_4ϼ#i:, {Iǵd7L[ q'c4Ȓ^8i*;Jj-V^}X)哰aá> <D5e
+Kls˺jK*eプtƞꚗKY˥7Zjea:oR \lm^Z ϕV:P!&
+#!zm <Hk%0yn#3.'i{6WVkZZ{9׃6[4)A8x'[b )k9aL伱/־{bSS$5)XLqoMNik{߱ŃK9=3D澬a~5ѨA+u 1VQmXY:7+GipN"5逍ߎ5aG@|L\0FDx42.F6+)ੲ-E#acP(N#5逍厎hA4I8aIUZt@ޤ07Tշ J.0ȣ Mo( 0^f{[ɍZYtN7ٛed}w,֤UA03:\[Fh`M;*j`gЖ ݠH-@:XP<a ѕu-Mq3LeC$ǬJX
+.F'Шq]F %sѕ6V{H(7lW9 x<@ѕ޲d [
+[;KL
+:BZX B3aM\F8:}AHY$IHo[)4'h :%a(%uJd19 +qbtr%p^5"*nkʀMzp8f ,(̇% O( Wc>A9r9 m"10}*4y7p-o&!< OzP<yrd1! #qBjTrYpvY<2ist Y$$+Ki&Д0|DIm\H;}AHʹ$IP/s%?π(֕E'NDzPkῆ{XPoky88r:J/;|g?EØ 9h>+HoFxݔ9i5EJL4AEv)en$=oO fB2ꔜY躮Km9b{__ZDGP\U>HE_ıם׳a L#$Ɓny#yے{+e)1iF>YlfJT uU@e!ЗC {k
+j>e<5XzS8dJ8԰ ew;:(CޱѩE;Jդj{=)'kR+WPM('k!WH C
+nW&na]ɭ4%0eyuϘKDrV -gKfKvcNУcd5Զ{ CU7[Kya>e'3Zoby"yo&
+/1;|-t<1SP] N^m 1NW;Wݝ{Z]#ͬu+^
+%|WΌUkS>fcyˬkۮDܨaQTi"X۝Ýt*Ռd~&焃֖&=梴*\B7w"r2 +p^r*h w $M[uPX v
+z]S
endstream
endobj
-624 0 obj
-<< /Type /Page /Contents 625 0 R /Resources 623 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 628 0 R >>
+623 0 obj
+<< /Type /Page /Contents 624 0 R /Resources 622 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 627 0 R >>
endobj
-628 0 obj
-[ 621 0 R 622 0 R ]
+627 0 obj
+[ 620 0 R 621 0 R ]
endobj
-621 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 83.685 416.581 95.142 ]
+620 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 84.682 416.581 96.139 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots)>>
>>
endobj
-622 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.371 74.221 334.828 85.678 ]/A << /S /GoTo /D (subsection.12.1) >> >>
+621 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.371 75.217 334.828 86.674 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-626 0 obj
-<< /D [ 624 0 R /XYZ 78.37 808.885 null ] >>
+625 0 obj
+<< /D [ 623 0 R /XYZ 78.37 808.885 null ] >>
endobj
157 0 obj
-<< /D [ 624 0 R /XYZ 79.37 335.162 null ] >>
+<< /D [ 623 0 R /XYZ 79.37 336.159 null ] >>
endobj
-623 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F58 382 0 R /F67 385 0 R /F77 627 0 R /F57 381 0 R /F55 379 0 R /F29 371 0 R /F69 398 0 R /F21 419 0 R /F40 387 0 R /F59 389 0 R /F66 384 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
+622 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F58 382 0 R /F67 385 0 R /F77 626 0 R /F57 381 0 R /F55 379 0 R /F29 371 0 R /F69 398 0 R /F21 419 0 R /F40 387 0 R /F59 389 0 R /F66 384 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-637 0 obj
-<< /Filter /FlateDecode /Length 4944 >>
-stream
-x]K#qϯq&Gn!29YA^GI(
-]mu`YL$ .ڽ߾}݅I"o za0,]pgJ&H:b7
-[x׎RwxQx0
-K<(e_^?"R2BΞ"cKE͉=t]C9Cc]P7DlqMw.8͵5ae ch_ǺYo獈.զXySz;81
-Vnqdi?L}&4<5 s4 p5hVMD:tԋW{2@/"kdQ%ݳ{ YؕNA9J愈Oԗ04H҉ fl0XD{+ui$v#8,I!(
-e)amP({.β>; 1DYFy@<a`G rR6-@boV{Y˙1ĹQO +H3:#`l9>C{;m^mO3}2Z/zMO&(i?-.6>Écϵ}\:;f|jd5G__GA5qbMדf}D0P ⣀&IP AF%7S-9l+-Hfk
--#3,n J5YF]~66(h5ץʪZbdߔU=e
-m;-/0\ڜK^sю3=֞J_
-&x"Sdh";x|\4c6G=d.2O9apTMW7 ΰ!Io8}k7tVX'F" DhvXXD#g:)a: nݢpvͨVb̫lUf/7v~ NgUIa\A\qX
-Y: r Oq"&_J:$螈l`N5sfqH6Bx{[qOݸ p9Vi*-*\"}KG5 Vzɢ]@@-vf󒇷 N=̽%G%׵=%L9p]eAx1ף-'K)}l!$n;$+k/oz"XmçiD
-w}j~x6/wB_GmE
-YazX#65bMNAUdIaLbZF4N)
-yځ`IJ2UA+3Ɏ)-wez
-P h 䧏 -\aԣa9meP-{OSk&X>of? WQ fN<7PB)fvVJն4
-RtU59G+/;u.)&j+wĜ9ȟVFeug.uEiU65UUpC^R98~}'={3kRhGX6bk8zݜPO5'$ؓ
-e$lkR6I~lfW#T:2,gS'yhܻ9qӔxܥ$_u*$'%`*yMEAF ܉`(Klv)Fdl)dgMv|EM2>3z޷
-MUF 6RJtO:&m&Ʒ`~>Uqfю&'}ny4mxo^f'i^C>}[{MVm8'PbrN$=W~tE*H&uADŽ2p~6ځeמt淯g 0; m-7HOG}潽vZڼ8T>2
-g016&qgg$bh F`,;&FkJ,* ky -#yPqىdbZ%.ڛl?ác*=ݸ
-fs
-g7#LvV.c`t&m [3~ A AK'@*:v
-K$bl aDpR>=K
-/L2fXw
-_'tS|e@ug45_5C̍g6C,#O7AӧtDu0=L8#D6#D4Łd&6C0#ρ 341y D>L/d_8\: 
+636 0 obj
+<< /Filter /FlateDecode /Length 4962 >>
+stream
+x]I#9nׯб*&澌k^c_*\YvD?
+9{ۋ`V-5r5'Сwy R_BQV;?L]qk9k”˰n?a y\qǾYFDjXySz4:81Q7>/AVb84k?L}*`>C9Ă95\ Ċ؇8NzjO_&Z#~EZ;?<C̛ST:'DdJ} C։H`Fy5"R%[=[5Fm7ڍӒt^@]b2IJ<G`9gh'MA s"
+S)k ֹБ<̋ES2b[0=UQvޡ*rq*7
+e)a}P({.γ>; 9D](jjlt\~ >-'e {H)g3cs#OL+ggu*1G q%rc~
+ڟfœ2z/zMOi' ?=.>>+J#Ŋ:rO[ES#>Z>
+"~QJOqDž5u^/Zi|
+=A' >
+iME $iiTrbCh9DRKVOD U8tW[9\1࣎['J[ܰ0PAD"*"m(.ҼʭZbF_=ze
+9vw$Hc#W wH᯾u_/˃uxXV3^+\Zmh˷G/]%Q 5]2F!newk?O?׷8uFGg~vmN{* =Ơg!h?բeX4 eLLI45P(Ct܁~'yVQǃEY? C%l{qߗ_/x_.WKL,׊,K+]+s*uyc+NNjI O*֛x?l
+VYi4r>ٿ*_r)(MJᘿi GNؽm
+qH&;Ҧt>aFˁlVU"Z^FDO+qi
+KPӤyy&YbLSb抈+~L q}08{cN
+n4q)Ҕtp7Tp9S@4[SL ykezFnM{$M:dN ʮd ´Pj{shGKm l>sUmD)N^k1en|^ԏ8N-hzB+/ F1u5~P?0(x>~lBɮ@ ?M spxXk>a7~Gڳͱ&ӭN&J<5]V?*vvMx24K'`3<Ӣ) A=398ɩݞa]bwe'1gn>+ -n>cueí-nOk԰aʞyй ۴]%u@мS)s-5(ם
+DTҩҁSP;TFqTζNeS8fe8C5#b}yi. XY_J
+e~M{N_yo]_̻gL\9]GxVr^?R
+s
+g#f2d dNlvLN P3gjD~3!1+l翮eW,4UgOآ @^u G;>c?P?̙VX
+ӜDO$YQM"4NHP9%{9Q$5r
+P, D|@m "E !E搢scǓ`⃢S`:":zbb@3!}K X޼f"f&Ldшs
+MPu@#D=3ɾ~f}M$s -FFL4wAp*XRgH&H&I33/E
+VHn{c$fJk5\?nյ][{>-yyW5Q#2{]f.4/j++"ubjp{/Bn˹2ޢFc1ҏrTTpᰐ=\ǿ*`A{ngq^0SU2I |Kc<ںڭwTA']Aao$I4%~PqqҮA:EVku?%<Kmh𺉪q9NJǭnBGT}O|No;1k?a,φ&UfLjvm3RnXF}0d_?I.s͹}pN%yR|xp+.BtҗD}5=˾f#&~eEah m$0./Lϗm7
+{Z7cu{nu
+<`mQNWRq~qá3 \h a3Oxf߮77)"<A gP\ wWQ:5yjQT><fD+~-"مQ*l96ǬGÊt+B',sŻ=(Z3TׂRvef
endstream
endobj
-636 0 obj
-<< /Type /Page /Contents 637 0 R /Resources 635 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 640 0 R >>
+635 0 obj
+<< /Type /Page /Contents 636 0 R /Resources 634 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 639 0 R >>
endobj
-640 0 obj
-[ 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R ]
+639 0 obj
+[ 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R ]
+endobj
+628 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.38 524.299 473.068 536.254 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
629 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.38 524.797 473.068 536.752 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.233 524.299 501.188 536.254 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
630 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.233 524.797 501.188 536.752 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.598 512.343 190.553 524.299 ]/A << /S /GoTo /D (section.9) >> >>
endobj
631 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.598 512.842 190.553 524.797 ]/A << /S /GoTo /D (section.9) >> >>
-endobj
-632 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.148 128.799 224.855 139.638 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-633 0 obj
+632 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.576 128.799 252.531 139.638 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-638 0 obj
-<< /D [ 636 0 R /XYZ 78.37 808.885 null ] >>
+637 0 obj
+<< /D [ 635 0 R /XYZ 78.37 808.885 null ] >>
endobj
161 0 obj
-<< /D [ 636 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 635 0 R /XYZ 79.37 771.024 null ] >>
endobj
-635 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F52 372 0 R /F41 373 0 R /F53 639 0 R /F51 376 0 R /F23 375 0 R /F26 400 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+634 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F23 375 0 R /F26 400 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-646 0 obj
-<< /Filter /FlateDecode /Length 16854 >>
-stream
-x}M-^.݋J'I@Fgt^=_jA2"ުz Ðթ`$3Hf?nߝןn.!fo9ysҎPn%#w_?3?{w^.<%DHHn!tLs糗ǯ.ѲNl>,I}!lj=_)Jed?/ߏ򾾲9-S8(*>=:3ΔZ:RDW'gӇoVpT)guAt ah58
-Ӵm:a
-t{YrX<A>{DgJ^'/o_$!
-|F#fI!Ifmz*?l67?;jH;[9T?Ys#jXdI==2?eMypyiEnkȁVJbK~PSrvU~FYcLT{%<lE,5#<Eգx޻5ZӺ6=lwc"QGtz{JtZoZ#,׼>>i0Sju*շ @DPԠ{~j95?9pWIq+spVb}cՐvRA"h{W?kAN sբwJʳRgc\2]Y4Z4L%\H ݒzG+5S!F:bj</)-bIZ"\U!)X|ZwMKONb\"MhϷJnD/ɉ׫q( :OISy4<F(+
-Zp)z7sf(#$#Cj .kQ7@r:bDY}x5Ktg*uliI]uwE;KVʰt]RM#fت{ŒKKW_2
-VݳKR;{ !šv~MЇN|ֆ܎o x.z>H^8i/^g
-nՍ|un4S լ$uFǮOA #w2$tr'^cL\Ӡ ʵ:ꎳuχt_ӻq _vGu;̹RzB:>Oi3g|uQ(c޼ijm#tQ&}Y|glS2w`*|><MZ_m̑5?ghcӐ\sq:hi/w~i(akdV'\\&z1q
-ԖsrQ<|)2CӻzuBMߖ;+WIoYd0c/O91oR(Yuy^JG+u+yQB-p"x.T]*1׹.1̛
-ŻO|߁>;>ËSx\rh[C ;j6?:"5mg\ _hɐ7{g/Eydn֫'}<ͨ-Ҧ)9ܹ/ЧÕ pi8+?S?i@#;ӑɵ''ymX&0GܝHKLzg"qwO&>^pGI+)Xϕ<=2睑۫;bYo~͔ e>2NU
-?uicBp_rK_;XwDկY<˲yx'D{9/(8q$~>[XӶpwo<lFM+ `(s!&>+/jl ѭS2+Bg eGj/Xq|s_{6;~mk,%?=~,޳5ko7t}FߏE7<=);#ԿSa'BBhoqb?jKžie/ormfgwjGL#ō|MV_W 3<5q>=79DOu? V_./FBՠ[eu?ofѨ^rEHf֔ R5~ O%ʼnQuW_ĢjMsΟQ!O@7
-@ϷvG~?·lֻ
-GigYtGSJБzs}sG =;BWWve=0#O>.Pۑs`?&t}Y=1Y/Y+/kfjNԻ;ʹ?w$z|:XR L}J{uV[Gln& ~z`#&8b{d#&8b2b8C%G(!~uL[DصY}g%Fصx9qSӏ{ȕ_|R.ˇ;B%w9XnlhLGqԢ\=SG| WR+hV}>KQT@? Unq)Uy k׸\S!䷢6hU 'kt(wg܅#G̠\VyPi ߋ<wK͔o`#D< )*MQ"Mek,/v(w'};TQ.=YZ (f)dw H䗊N`C$rոK~s2`޸c"k
-u򤝖7Y܈
-Ff7ՀЦ 3D~vGr5AZ]Sh ChHBh&/7NdQ͔ڨ<РP4Qb+eQU54Q ?UOQ^P@8h8iEB8O]'9Fy9*bTlLz\^ [c5[EZLx_dA->,r $k h|qBJ,ı Ԁ:3d:/{^5W'E
-62oSshpSEњxW/۳g Q'vfz9r^3lg\wq(w^[=ݷR'2/ѩP.TEhr4o 1rDFN>KQ3E8T+x4ʝ*J5控bX@o# qw;A %#eshqƍN{2jC9mm\B ǓhۯzoSL@rgh4W ;1a3}'U ԎKHn J Wz!6
-2 q1W+CsʡCuzj% ɧ,0'UKT.VQOHw3~5 7AMRMy!̘a\\;\Ԑ?7Yj2UwB}Fvs\̐~e՝BRVHI;()X@o# *9qw+#FpB1?eZY
-y?5FWDəjU'4h%-VOH:s]<5m:23#vךCc/KszuRR޼_QsJH$\ScRO{ԙYf <  ʨۈuD*sNA
-40w"!CGd Ϻt+#B
-%ԞP8uhPi<Rԫh;h>xR'6ѩ0PO;OQX
-ߕ0֊ SHw$`H3S-v;QZ`zDH]H){;[Ƣp,yArq.3
-)[rvcM
-ͪ_Jp Qlu&?ug
-4˝0o;YkmJTB>F'(:)0ʄ4!4T9 hWR
-%Cup~aƃfY SmRQ;c< uw+
-&kK?'#Jo];kƢ%m
-\(ں;. 3
-ox2뛁XJ_ @`'A(ݥ~2 śyiQ zL"W;A_&Oje+i3.xfuD\%Fzԍ
-6V_0v8cnݨrſôg~*I.>q!%Q/>w㽻=unM 6y)rꋧ̻eΏrPоUTEx9نO|j2>}| ulfk/[2Glk>72Gz u
-Gv=zgmWپouiO\_lkU-~V׿S|K*|Qtz 6m|l|s1ZM|"cz[/yTz''<zz^g9TOOcO& vyffО&OTeOm4ĎM_ y@#ws|M[x
-C$a7O
-K`k*eEI*MJ#16rB *.q
-Id\"fU!S?edZLx} unj׾MRZ52C%n
-G3WSU3TQ* =r:ނemӊҾHtTϽ~Xspۤ2SS\&ob0:Rm&b<=v6W0?0O幢&Q^(\U?ʵK2W=;6'8K`nZ%h70
-$5ld7iTZoK]&’KK"%ߴ@S%./E0t|O5BXCH MEt [h.g*iE[i!./=+D%9-4Ki|TyK,DtfВH+{7-TǝU,i jF%TJ`(Ao*j 4R]M p14"}!Kё'jɚH37 G~]M@%ATOFjK-H$/gWGxK#o*!0 7 ZiE/N.B"#A`K-K"o30UbKp}$J_M t1U;XTY*%9,4KiT
-HFM\]<!kߵ^atKm,NQ&m42vaB`D݅EbpUNüS4j7ģ@F$2KޫyT"YT#Q]^_+}EKdqAmW}ZCЦb)ѝa]*{,JEuM[|٨+V J3}H.'ޱ o,G]q_S mzT[[\6Jv$sIrjZz0ب q 9$ ǫl>Ә+sǚ;D'aQ0\-Ww6SR5l.+̛Їpq( +6JH]^X@ TII}x+9lrE̻$b+Frg?c
-$Wi+c:
->8DXhf3H0.B[dBN(tP*2~' b*" FQl)o"O_KzrD7j4iu+RV`o3bo!
-aKﱧ؈5c
-i0%`pzmz}8{o 6cq;s
-H$lj׹EIJB?nb93ر,o?Ԓ)šAhv<sT#($X͸g/U&`x>4fk+#8>qat|8@ʕ]
-*S}
-BU`s_2g+rP:|:d 
-cV)
-DX
-M#Vӫ:AϪ4T!(8gs'xr8;Oqqqc.(+}94G\ t (<C}++g>K]󌲏n'մ:>]B) %W4P0UB]ZJd޹fٶ#xl*A0`eA. 8K( =JS |X.YRLk' PRg@]]UT kU |Pw{| +p}WyF#*ǰԼȻͦ. 6f,t젴P[0.2 ܧB"ϱlb"`Z c.CfW4P0UBr>AYRW-=hciK rQ Jl̥ѷ423N[ g?qVw P5K,s.lC^KN&X*xaB
-$s! ,'5}W]H(TT
-1uiXVb: +wZJ<j߈gC3;MͲX6R+qU'L xVr`#P)xtTewGNth'UPd
- PIQޔYxh8I T@ȯ7qH>=AC]:1r|w
->ԟ"(ǰKh v/s@ Gk-wGDIm|E cB4OzN>5óu93U:~*\#TLCSV.c0wS$B@aiʎo$ ?9[xQȨ;.H|h78LLBrRN2LJ_?ԑX'RLCSV.jc0wS$BIǨ9IDPq'>~Aaȇ"@FGi)vGCI¼]؊8FTȭlaʕWM8& )ib(Tԕ"Q yP3hGVB&pLF[q0ee!_2gQwZ]
-U1"AȼM Б1YN7x) " |)c+pr0wrB00N]V6?-\ 6$4Se5u6HsQwZ]
-#DŽPk e&lM!FQ#h#p0g;Uh,H2wWu.bA S.4<@0Mo;rR  ' sw+@$')1+U9m~zMvYKA3pKPXw5J]$8X
-0s.!L"t#{ip}?
-/axǡ
-f Uh{ͭNȂ{
-:W+sKEffiU
-x~"Ky+@ܚ"k
-\^%PՀxI2z-L>v?[U tOpBPiܪFܪᢩZ|"NYWx2aB|WdEei 1`egE( P "O`IQ'YttPKL(TpTTCccMY} -Y1F )%h*1P`cf.U
-e}xI֦T#b F\*{+e(nRAo}{UCW.)w]'^eetfKL&P8a1W&,?/#h %+h) 1`#f.:Y`'\ݕ ꡋOIJW.!:jW!@&J u(4Ј+}E|SCI֜,$o":6r7D t2ؘK
-G,L06J|__%'@_הWtI{5+1S
-`e.E
-G,L06J|_2_%Ǩ]7d{5G@&TV8ʤQQQoW,'?'']ʤkh*K1 `#f.2A`(lߕI"O`%HAoBp  6^Qkɨvļ]Ioktj.\2G
-`Rw%xҵl ԫR>.3
-7Rʲ6 ,h*14ئkͥNZ8la1WR>9>ק:=I𾊽/2p ùra5@]ڪ,zY]m\$*Og=:xBެ+я}. "~@,3@}Ƒ'.Q}lsf(t^8@=}bO]}C+R 'v*S4.m"ێ~XS?́as.}@yDwY2w}ñNmD<|]Ȋ6Tɛˑ3 u
+645 0 obj
+<< /Filter /FlateDecode /Length 16844 >>
+stream
+x}ˎ,7^_EF9$ ԭ[Uak*
+>QIeG)BEE?tZ_M=4m_&ž>V+p%^(^?Qgbj#ZÛS7"[jBE  Kg2/2x%wZ_}4r%!َHǬqwaսܭ5_}
+|F#f1ݓ6B :
+<8T~m8>n~wF? Ԑw8|-i ?o]57vae@V##]VYؔ~ꟗ[8aT* 5E.`WgeX+=DлWƩ\Rs{h_)>S[=ǽ^p%-i]c;1QGtzk qcʗF<Xy}|:valT̫o?ԩAxjfk|st*gjGVw-K N+ZO5^İ rtA۾ Y ڽTvxgp\S>Vuz8+ۮખ\g
+}a/B>XKjZ3%_*"eyMG<IK?׾*$KKΉ5zQIK V͕%9tz#@%a\Gev_/3uj!ƖH"B|}G!VR w4ln~1}Q+$k:PcV?@\W8 :"M,ٿ>Gw%3غD$ˮ:;upâ%reXJGVjκF
+oc^vgK2YK.O-=:L߭~(D[Itr.I;% p!5A;vB ]sȻƿE@Ch'?=vM^8i7]s'/3
+nՍ|un4S WY{I [)]v!ۃ>xF>eHz̽v29A)NɕsuL΃P>"ca8kQAs)5v'6>~i+|s157'kyXګ\IgMxV6A5 $
+߯OG3wpdAe.$\XiKm=_Zxs :Qy'IPSHj 'Mxsk"XB+؎= иPن']1DʦccI(~#%Ϩn)][MODOZdܣŢxlONuR
+}V=[_m$cJLGw]€ҟ?=}xy!C &ݟr
+_9</V"?EJNp6xh/^*6 ^7L
+4};gh~xs{
+O4f~-ֵ<sFOۄʟxlP336 4[[uyh097{HyܼWOq?X[,_٦)G=ݹ/ ѧ+'"6wQprֿZ?xoV2d:[o$]_$O<>m8B>(GS'9 Z~+d*BhG飙^oNH^uaN/ aA3
+-?\CXfz5t;32_ _hljYOw !}Jo:R{0V oh=7ֿ]g}B>>ݥ)4~K߿ۓV^?_Y]73Y/Y3㗻ϥ/5'㝏Oڟ&z|:XRBtkݫu&8z{d&8z{dbO7b~JEËdR]B_h$ ͮ;os=|K7<aorodj=y\F7%v9X.lhMGqĢ\=RG| r+ ֖bV}>KQT@?Unq)Uy ;kǸ\S!R'(]H~+j~_1LVupFw
+rWyua +rZ1CaN|OѰ{ l58;}0HVqppFoBimkAgZ .ff񋫝.]QM*(7]K8*VkAEl0EWA9 cXP#w5?Լ5A.VETY2 \8q6縺RY03c3mv% q~='H]
+(px' FT`47+D6![;z@ɕKBfLBEB3!`YTA3604(Tk+ w3.J (Ъau(wU( w(WU44$}!'у<K[1]*
+dF\=.P/zUq(jh%.e s>pw#=C[}P/Z5H|OybK*bi|euf(t^(ﺺ:Hn#*v:1/=U$Ix*r]u;A=Lj9PSh;USJxo::yǸtu*ʀG + ALvBkܐ#GD/.S?/E C-S\ StS@yTkxB/֌
+t1
+4˝0w_ÆV]?P;.!u,@(=3\\ RgX
+WW~ZN
+R|M}} '\.(ãthg.kDE.ꃚZ % r!̘a\\~-zE!'. e*(3GcYu;U4RrR.9`
++m<DC%'N|eNU>fDVR
+ys5FWDɑjU'4h%-VOH:s]<56aO;Ck͡1&^7We"*g@S^*ufjEOh:2ꉠD&(QۈuD*sNA
+Xrʎi4ythQwFZ]
+%Cup~aƃfY SmRQ;c< uw+
+I@
+Yx`(,ݙeŤlT3x2ﰳf,PҦiK0 `e.E
+ 蛯cd8y3'ȼpftu'ZCi'xfSE ď/BJg}[eqM=R
+Π9 TjHw QV|~LwZ=+М7qg;UG
+~4b WwR`#1k:Χ[V$KF
+4#^?_Yb#!Tne"(f
+uqoi\M%BCK"%ߴ \hdz$ȒYlɡ`Iy]Mc
+I"%h6+@,TP3?u5C-NG ihDm>eH
+=:yC7j=þ3fKm,NQ&n82vaB`D݉IbpUüS4jWԣ@F$2Kޫq EDTuaF- <?Wp6:MR;FѻTXlqhZ-R!Qgg@Yg~A='4r!\c%X7ۊ  \MBl.++Iմ't0بq 9$ oHīl>Ә+sǚ;D'aQ0\-Xw6SR5l.+̛Ї pq( +v@WS%.OU,$$>69kNB`p~j}GŕBPV# _Vޱrg|f4㙱Jd|PL/0og8~
+&o*{ > AjIj 
+~ho,R` L<
+]*B(JL_zI w{qF[y0<W^\=Q>i*#[.m>\L_-UJP)ih?|0*1oLttf SBL4
+Zhg[^jbbG|`V*Qx7tcN(e}z;{<J<U7+]B=EWWRx ʵӗy ZDn3 sSej6G_tBcCo$9#-4F<;!S;Pobځg/sVѧ+m[ Uq @7]8 .
+1>8 ιPƫwk[j0;>f,23CFJAyCJCX-U0)vƷNǍ*t@/ljn/HWBߵP,p1P/Z.(<{oa#^R`r L yN zBNMGrx>cOkݝ@LaKzrDiۢHp
+6cq;s
+H$ǘlj׹EIJB?]Ċsfc#X4,J%=<SnCFr@yЏ8qGP=I͸gOU&`x>4f3#8>qat|8@ʕ]
+j8PC-ᄆXߠ2F [UHF>> -4~4Ց|Gm!)ƘR'rlP0W;UUx48R j8WJo61sL&v<^nSSvDl{>撓R`R t1w
+&TYaUI5Ç􌡔| o\I!fxH4)@hO:6g;$'R` LiT5="8816AϽ23@Ę7-#+b#Xp[ڇMbltIǠk'e,7)qJbӃ 0AL1Snj~*~Cj,x< cV)
+J_͑05J(&Pʊ癏R<ۅp>2s5OGP
+1u U( L<qW8w.?aAGlH<^8ڱJP|~2: 2xGE/BY$O!J(F'2ֺ f6ƽ PrW4D0U*ZUBsŠ# lGш1,5ͳK@*4E, t1;,;(-TI) m}s,X0k6KP,U, L<qAi*nbOP'G(g {7EZXRr肁R-siE)s 9u,8 wh\`t><]#r6 GP(R J<,I\jy /jkREzHEYW RKJ_@I\'BUXzVQ,>=㉱#߾,[es(((w@^ ^uTm -6FDlJ!:y\]:*;b m[:DK2rRoJE,<4$Vއ* Ckz8C5gy?(}K'FPO SPȣ0w'"!nӀQǒ\b mCwu\{pȣQwZ]
+C[)BJ)g+
+*󥌭PƢCܝ T;u[ETxpY, |D۰Laհ ͝BGk-wG4CaN|E cBRɇU˲Dț~aWYϪ+]f2y U>NY[(; (!(lwBgzϯ-ejI7@E3ZgvTE`4"ypt9 ʥNv_@EmzS,̗jh8i_,2&?I)Q]αld49SW*q YuK
+?iBXf)yV
+9|ݪa|z%#Rq繴p HYh98-W@b ܿ+@}0 )WxܣE^_WQ1Á54E0 ,<K7'dJ).[EksUK'T_ƭ!nj!l.
+.^jTezUn'C])twMQ4YF VvQDA. i؛ duM'Yz^M
+5Dؘ̄K
+G,L546L|_$'Вc/R
+X. 6fRQ)  ۉK۫$t.Hc]"fJ
+*eyIWӱz4 d2hKeoLv漯ojrxri஋ΫL捦4.3
+`e.E
+w&/s} ss{"\@_ :0+WVԥ̢ fɕ LH.|w\GbGoCțUb%:PvS:ADw8 jv m  [+obE
+tp20o'2 <@!b腡9jnnm>&;b7i 4ʝNQ}%s7XDn#MDV&BG/d^7Pm5u(P Ki/ZgfH=Ot3@y@]]?9*t1
Re\@s{z/P s{FvJL\e6\}acPy&8&2
-pk5H&s/!oyӝBRV'< :9=3%6]],z4 r厏:ƻ˻W>cB{*P?nv-89?M9gGy9 #s9mq{M}b>c2&=g?'Ezx< Sk{
-4WԊYDA ̈́9 }'>+yȻ0\&ɻ{d|Poe&)̇
-(GH` C @=rͳ
-'eKǔ qU%905M|I1hZ_ToR祊g(zF,V ehD`)RYǧi|.MߐƢq|Cd^|y%
-!;*( Q%
-oo,>2oP1 `j&(v^h͜7:9>S+ 0=],@<m<{ly\;&k?
-'%ԏY"xe.@
-$H's7'Hx1R-qB?7:[XW-%RCS}%byo ]>ץtF"!qy.Z!-POӎ<y> /wױO0]4?}1ZWk@obM} Ro*-
-6Ԉ+g .s %xEcNT
-<=xr~A4q% C@M3=b^ZPbɦ# j_1_ifj|兹 DDyEܞOC+aDğƻv0?r_g?v)z$ͳ GD?<W+jx0,8,sh)ꃆ\G#M^
- )JȻk=rIJitn+G̿eWJDO *;w8tSw{_;%J?,~go:V= &]3?8gge#u.YQE, o*sZTa)3ѫ۰Y~*y#k 7TH,vDkRtWWME̻iuk;UR2?Q $.A]FRxV<bDqUPAԫ\C="S;}
-gwl'zH2MvvU %C",]"iTnGei<]/5lS|Wn4 =t*:j v }mTz+^}c}]ó ?%gy?_gY`Րutk0%z1MF6w' &iF_w|>i|<ja|xK
+pk5H&s/!oyӝBRV'< :9=3%6],z4 r厏:ƻ˻W>cB{*P?nv-89?E1gGy9 #s9mq{M}b>c2&=g?'Ezx< Sk{
+4WԊYDA ̈́9 }>+#8war2'M3~A}c2HI*c3OjaF#"33&j&BC2hrhw[Hm&Jy$/»XrGHqByOz1W8%
+rqrXf\FN&U7w`K3~.4δ1~#.`R{'CFBC4'>SR
+GiJ(<(n#BP&H)Pq{np$D!Qe7N=F>mBY_[(UC}(T&-
+DP-y_'V 1l\ y؄
+֣D8azhJy8Dl>/7񍿠g.m/)gUD>ȳC/porwEczO u5̱(v^:߇-R`DhF\9HHp8N(3sRPX~ .i0hSՂ[M6mi@T .H4Sc.OM %$:O~ -|k??_ s& w&v<=x˿~O_~Vÿ/_q~gN<pO _#x/g 27F.)Q>hȵy?rل@!4Iޏ얹r{]?TO`βFΝԫcwJ(x~7Y\sX&t(ަgqڮ[edWdEѲ,aQEnö+ZgEiV'4RKA$i;5i)py_g&ˢ@۝\unˁUߠ.SFM#|R<Z+1"8. w]ҝUyJ7;/>zn˅rsomtS- XI \aҽF޼[Үbµ:k$]Wg}=Zr<)bˬ7ᾷ6jICKR>^.RmDSf.î꘡dh0U޿S<2Jm(,2=- -7{Z>~4yCN>ޭZKz@5C{`6E >qZx-Ou{'Yb:}5}<=mE!]M5DaH#;S~4|¯QZs>0>Hw%A%0 7ɧ8?
endstream
endobj
-645 0 obj
-<< /Type /Page /Contents 646 0 R /Resources 644 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 648 0 R >>
+644 0 obj
+<< /Type /Page /Contents 645 0 R /Resources 643 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 647 0 R >>
endobj
-648 0 obj
-[ 634 0 R 641 0 R 642 0 R 643 0 R ]
+647 0 obj
+[ 633 0 R 640 0 R 641 0 R 642 0 R ]
endobj
-634 0 obj
+633 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.725 723.678 166.68 734.627 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
+640 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.772 639.872 370.728 650.941 ]/A << /S /GoTo /D (section.15) >> >>
+endobj
641 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.772 640.649 370.728 651.717 ]/A << /S /GoTo /D (section.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 306.379 485.652 318.334 497.607 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
642 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 306.379 487.987 318.334 499.942 ]/A << /S /GoTo /D (subsection.10.5) >> >>
-endobj
-643 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 385.311 338.177 397.266 350.133 ]/A << /S /GoTo /D (subsection.17.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 385.311 334.678 397.266 346.633 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-647 0 obj
-<< /D [ 645 0 R /XYZ 78.37 808.885 null ] >>
+646 0 obj
+<< /D [ 644 0 R /XYZ 78.37 808.885 null ] >>
endobj
165 0 obj
-<< /D [ 645 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 644 0 R /XYZ 79.37 771.024 null ] >>
endobj
169 0 obj
-<< /D [ 645 0 R /XYZ 79.37 592.771 null ] >>
+<< /D [ 644 0 R /XYZ 79.37 591.439 null ] >>
endobj
173 0 obj
-<< /D [ 645 0 R /XYZ 79.37 156.176 null ] >>
+<< /D [ 644 0 R /XYZ 79.37 161.114 null ] >>
endobj
-644 0 obj
+643 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F57 381 0 R /F58 382 0 R /F55 379 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-653 0 obj
+652 0 obj
<< /Filter /FlateDecode /Length 5680 >>
stream
x=Mdmu9`HWi9>$\ׇӫwl,zD(O'z|S'GZ/艝#BьPN_>3eۯ.30pc:h*-e𗒔j?o.z-A^+ڗo.S.~}o_b_Q?<҃/gn?#t.}Q$67Wn P,ƱnN#[pQxgt1FuI!'$~+r?"_ݔ SHJ@q]҆@E+ݗw/@@7Gsh&Gy[\y^c>4I5$,؜1CԴ1f!IHƽ
@@ -2513,26 +2493,26 @@ h-\ C 燖ĨGwZI<Ti>L3`|Rcu\\[%?4J)ULƎ
3}
endstream
endobj
-652 0 obj
-<< /Type /Page /Contents 653 0 R /Resources 651 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 655 0 R >>
+651 0 obj
+<< /Type /Page /Contents 652 0 R /Resources 650 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 654 0 R >>
endobj
-655 0 obj
-[ 649 0 R 650 0 R ]
+654 0 obj
+[ 648 0 R 649 0 R ]
endobj
-649 0 obj
+648 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.656 487.577 392.611 499.532 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-650 0 obj
+649 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.423 487.577 421.378 499.532 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-654 0 obj
-<< /D [ 652 0 R /XYZ 78.37 808.885 null ] >>
+653 0 obj
+<< /D [ 651 0 R /XYZ 78.37 808.885 null ] >>
endobj
-651 0 obj
+650 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F23 375 0 R /F65 383 0 R /F58 382 0 R /F57 381 0 R /F20 378 0 R /F29 371 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-661 0 obj
-<< /Filter /FlateDecode /Length 4636 >>
+660 0 obj
+<< /Filter /FlateDecode /Length 4634 >>
stream
xɮbr }h4;!Q
hw@d"89Jb; 
@@ -2546,34 +2526,39 @@ weaI4]o7^蕂0o;<VJךU~i-T޶הB;2ٚ
ӿOONeӅ8%QVhn \`ǖEhFZtڧg)8P&OgeDx88v !S΁þ"k(8O)
Z¨L<:Ks$vð]+꨺Rzڦ.j>+!G߲L&}$z߯䕜ÉWկ&ĘS‚ggˤx$bT(eS&$.kJ$죊* &jyfak噅i37ݒ}d9(%G?HpM
-J{pr‡A\9[9qĬ!nV+ڿŦeI,s-ifv4^qY8EYf2W_ky0e^cue{p8ə u/ 3J%=R*i%L'/i>TSH
-O>:_"JIAkta[n`ʳ*Yr'ֿ֙u')^bluG%X):b9:tۃK-/msܺy6)Z@;=}ܙc-$Ġ-3Ҷt$|Y̶͝KUW:/9aǛ%qpLU7vl⬵~_{錽9 #gixmN+bGҪfwD zDް[]Kv>P=n_Bz>=>*Yh}6}{etM7%d^o[xE}NC->.Yx>nwY6tެ\ff6<Am q]Q;Rc}gc<H_OFu`8sro.(e3Xؙw*3(?[ep=(qT.)QzRs{bUhw#,bʬ3
-L0Vڄ: 5߂Wr;_R.uhwR(ܝ(̯]T]&Q89_[K'Am2t^S_k/:}_ Ioav^2+\\Ysق[cX6_VO*L@9O;{MN9ڱYIХloSHkQ*#aQ7|C;>aBޮ)^լBSPA+$_j,2hLz6Q1NGEhVCґ5fX6ظ0`}y3ĺLpp9\o#̱e ޸ ) lPƒ{h *8oqp(idF?-t}Ruep0V_i wy6U[J(#y+$>_
-0uƇ3^OgJ[d(AC6;(YLMsV5(fakPB"x?g/U5+>
+J{pr‡A\9[9qĬ!nV+ڿŦeI,s-ifv4^qY8EYf2W_ky0e^cue{p8ə u/ 3J%=R*i%L'/i>TSH
+hVU@Sؐ{uk\V\hs]cn UXgM/kWզ38%;HˈQb4_1;{I+v~þ11ZoӕNjFq-]/UN2Qe nF<L}t6D|?1ppJ u/~IX&Fbq V
+GX΄; R",Knͷ#E
+(NtwX ? 1c j- *v=ffa1 ߷ƿE֫=|s'lf:~jyiIz>Sr98kߗ"{:coFgň.YZl1^e/ؑ)QB87zmҽ*!TۗOJZM^Y&kMEkiv4٥x7޴rmP|i|rA&a]k 7+٦')% Ot[B\WԎx#XqFsY,={;+Μ=b'J% <v骡E3!VY'\J/յk6`TxĞG5 ػ2LlB+321G6N9Cͷ U׹TK
+¿+.-w:;PNӎ^Svldti+i*[ZH{ԍ3_iaOXPkJW58y
+*K Ӈ^b M=loEhp@tjY"c=ֺ 6. X_ `'\*vGx0כ戃s,'0Dq7nB
+nkTj"k7
+h\ D@up ]sߤTݦs)p,ßǝFMUߖJ|#H%a
+ ϗ!L,: WR/|`J4SܴD~h:tYc|;r4ً?ioM/>
endstream
endobj
-660 0 obj
-<< /Type /Page /Contents 661 0 R /Resources 659 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 663 0 R >>
+659 0 obj
+<< /Type /Page /Contents 660 0 R /Resources 658 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 662 0 R >>
endobj
-663 0 obj
-[ 656 0 R 657 0 R 658 0 R ]
+662 0 obj
+[ 655 0 R 656 0 R 657 0 R ]
endobj
-656 0 obj
+655 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.269 316.805 414.224 327.754 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-657 0 obj
+656 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.2 245.074 197.906 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-658 0 obj
+657 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 210.857 245.074 222.812 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-662 0 obj
-<< /D [ 660 0 R /XYZ 78.37 808.885 null ] >>
+661 0 obj
+<< /D [ 659 0 R /XYZ 78.37 808.885 null ] >>
endobj
-659 0 obj
+658 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F51 376 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-667 0 obj
+666 0 obj
<< /Filter /FlateDecode /Length 4950 >>
stream
xɮbah 䍞FsRI
@@ -2591,85 +2576,76 @@ E5iu;q}&63'S1;a9A)yQms!AM!k5xI,1Դ~7ޗ
 _|]\R3(Ω05zDPD<EyGTS T9KVm{gv ȅW0>|pЛs$꓇h:F*nf겺-`5:簯nyK5tv>#9BpfÀ=1ի7lvfůh ` 㷛ԗEܳ%'VmC+^0zô%{T)t͛SĞ\AmfνĞ\P?XҎ"{rWx'Fn\c {mw"M8؄e.>͠y \D2ݖ.kG)ߟ)m`iVVy}ro}[{xcX)^' a#edZ~s h$vȁc著=F9"sX]YecβvӍ-Mڀ~{h|9 23,BOߦ,BғIE\TKE,2~&~+j(nj˽Mm܈Tf%p;bīhuژWi @!қ_Go;DX1!H{s򽐴qq%j2^0[+N_ZW;I3y_LYAfeu&tS=!OEb4Xy"^-ktk6ʥo})lcYE6.h^Gy'Iv~2
endstream
endobj
-666 0 obj
-<< /Type /Page /Contents 667 0 R /Resources 665 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 669 0 R >>
+665 0 obj
+<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 668 0 R >>
endobj
-669 0 obj
-[ 664 0 R ]
+668 0 obj
+[ 663 0 R ]
endobj
-664 0 obj
+663 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 161.072 86.225 357.742 97.682 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
-668 0 obj
-<< /D [ 666 0 R /XYZ 78.37 808.885 null ] >>
+667 0 obj
+<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
endobj
177 0 obj
-<< /D [ 666 0 R /XYZ 79.37 420.104 null ] >>
+<< /D [ 665 0 R /XYZ 79.37 420.104 null ] >>
endobj
-665 0 obj
+664 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F57 381 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F26 400 0 R /F20 378 0 R /F29 371 0 R /F69 398 0 R /F23 375 0 R /F55 379 0 R /F66 384 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-676 0 obj
-<< /Filter /FlateDecode /Length 4686 >>
-stream
-x]K\9nWrzQDQ/€w
-z^gr*Vt%Q2}HTE:1݌(vcyfVS-<KcSykTGl TnNqEMʜ&z2 4S4!밄DJ%c)^0BSi&Ka%N%U<tTZcG>C^6cm}0$E)^<}[,9 {[SJc`^8:K5
-מGq 4S1jBnLOD&a3|;ȔHK.m6ԤQky\zR:۔upy
-oB90?xG0͞EҊ,P,yUkuguAxJl%B|8J9-M',ykpΥ/%@qkrg}V0Q kSiiiFbU/OgV1Zn~lS C|2pCrAUA(-aQuM+}Õ\ VE٧mYm(\06ɔn-
-&W{-vt ȹ5o=l2|n59I& lV8ԛm6` .hƸ6k(
-:?LS{?Xsٶ74 `O9ri\=eFɀf8yv.~O$/\BYK%-=(Yi %A]>×K@@NW?ֈT%qU#Br
-_+j%ng*{NJ?׻?㏒D|?'
-.'\|~.hh˓BڸZ&\1%h)w'm[
-EsV]PSrxRu쁲-ZiAsZsLj✫qFs2{)Dg✫OL}rrB\rNݥݐ 0
-^d8>v6Ϸҡ̸: ,tC٘xF;8r걵Esa_m) csKh
-ggkGRIS#NĞpo
-:,ȣF~csF
-Dsg
-Cn5'kxd}r#(Öp,'c|SО*ˇs'ְw-Qx֠r*j:sIo[trC% IAtR'pȑ( )yz"Lw:kKPC6D ޗQ L1M\:ǒ/ p?h[͡"-ۭ Q?#ଇ(:Hw֙ȆdA" ߆ ߨ>b/]^ZkgX:4i XJ@jH{E
-2~B5a(ޡ@-QA 35S~k7VIi혫ॲ, &= )- ڿ2xb-;ػQ<["08;O89$J'׏pȦz. |Yv,0֨~PQҤ(i.#y~t#_6L&gkT5zGhq/@"_:2xjV< {}19m6=HN*w^z=[6r_
-)`K>պ{a*0T?G܂
- 
-MtpuY]J{8Hym%+ TыG7F"I)ŠI%68R01ڔ_|EnC ºa~4?mEwK'Ad. \C<3-<BH^հF W˄m [k&.qX 5>ځ)_uHz`&2N3bǵ>L 2sUOTh:xSF_HdEHGoZѻd5uM).:^yX1vzO vHSmsH
-v ?>r:gpDvv{NKA-ݷ'ݞN%읛*7Vpl Hj2jzmu -HWV
-c{f/$Ã5_ s޴LίxWӽc1[֯
-A̾..,_ 덐
-k, I{ ^yi0Q$dXntR4DžLEII 
-]3p0Ȧb'iN UUԺtuK<I]xZ@s/J=:8W!sK(62sX=WJ?*c^_o՝{1̐)7k^bF)ԣr"T}0ʞ^18Lu^o*vlgc4k$
-Gv8K&5P8J([`
-dRciQEìAk7|0!`jij7RP
-݉,b+?
+675 0 obj
+<< /Filter /FlateDecode /Length 4682 >>
+stream
+x]K9rWs( _@CJ$XO .`ŀ|*AU`0s/y9}o\,^E]|Z닳JH._E*u_?ϿII'ח?(~r/#^HcWB*i,D/礴Kߤ4>4fxO5iaGen6l[q{VO;Z<; FV-;^ydC#W 4r%
+nGkTeӈ<S :oiuEYokgFMcۭkE+'_>U;MlCm.~+Tkm_
+lP*dyM1Q֪X]ǫ8H>G=W"Q=TtQ$gVS-<KkSykTG TiIqGڹreNEj ͔=u]&q
+Ueb#T05 ff_(Qi)(NM~{2FyT4Lr)e\S 4RSH+ <[,5 {G.led/Ź pyh+A>M3F/TkO4m6@,Frh6 b6(t{-3SKRJg.6O<[("Q怼9w^t2. Sȭs8 BX3aB!Ot\ !au9o.9ܹucs60T0Q&a`=5ErE>#Xhs38\Xe$EB۫]^ۢӶME_5- WrQu*>miVd'Ҕհ6ɔn- #)B۷u (o=Qgbza(7ȹe?{bұ;?n%K֛m6` .jƼ6k(d~~; mo4hZY\{:PaYQҒ_"H_7VJ{"žobKԥ7|ˇ/69.WO.ާ_;j%-?K4FJv!3.u) qԕW󠰁8'e)['1ɇ'婢':)}&w?Qo4}#%Hr|?
+Es]PSjxu쁪,iAssLj✻qFs2{~v)ιk[֗$<
+THwB膴XړCz][Y[L]/mAQoVa_~Ȃ@ecuu>8pqh?
+ñۆ RX{,k*μp׶r"'cȴgiM"ve{+?U֥`W5R7:Y[)(Y|ʠJB|2'jay5wD
+3Na![X&ȃxUwO쥜EOx7jQ/woxh>mL'+U1P Q(SDvwtֺ%h2 4
+Um>PV L1OMZ[^㺾ǂ/Yl};8PTJMM\aNy*Ƿ[C&C)sYFYO[uq,3} Q0E QQ}.^@ίpuRidzai
+ i
+O`hD6%Fu^4>0 oUK((ŒaTZݐ-kyW eu~H*kg4w./I
+u>qw' oE%C m>E4yd˦.Gmt@ݩIۑ3[)S t<U6.km.#H`#d{@ygHn-v.o6M_NϙʬǴ%x5S'@|ӴP47f(
+e${_F)%qK5}݅%@3zfĽ=nPPK$#-<ͭrC& A4P;FQeb@rycOraS"2j,e޼J:-,5<#Fu[ A /6A?N6>W\<.)5=5ݓ;q}ս<Yq
+0RXg>x!j5 v35[*b:{GVtm:ѯt
+rttNExQ-'u\*RVV
+r;aP1<(<q(ÃJ
+x\'"@{X;}zȬ81s@h/ lu wޡ
endstream
endobj
-675 0 obj
-<< /Type /Page /Contents 676 0 R /Resources 674 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 678 0 R >>
+674 0 obj
+<< /Type /Page /Contents 675 0 R /Resources 673 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 677 0 R >>
endobj
-678 0 obj
-[ 670 0 R 671 0 R ]
+677 0 obj
+[ 669 0 R 670 0 R ]
endobj
-670 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.393 470.098 167.348 482.053 ]/A << /S /GoTo /D (section.9) >> >>
+669 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.393 468.202 167.348 480.157 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-671 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 470.098 510.257 482.053 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+670 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 468.202 510.257 480.157 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-677 0 obj
-<< /D [ 675 0 R /XYZ 78.37 808.885 null ] >>
+676 0 obj
+<< /D [ 674 0 R /XYZ 78.37 808.885 null ] >>
endobj
181 0 obj
-<< /D [ 675 0 R /XYZ 79.37 555.757 null ] >>
+<< /D [ 674 0 R /XYZ 79.37 553.861 null ] >>
endobj
185 0 obj
-<< /D [ 675 0 R /XYZ 79.37 153.629 null ] >>
+<< /D [ 674 0 R /XYZ 79.37 160.457 null ] >>
endobj
189 0 obj
-<< /D [ 675 0 R /XYZ 79.37 114.124 null ] >>
+<< /D [ 674 0 R /XYZ 79.37 120.953 null ] >>
endobj
-674 0 obj
+673 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F29 371 0 R /F20 378 0 R /F23 375 0 R /F69 398 0 R /F67 385 0 R /F65 383 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-685 0 obj
+684 0 obj
<< /Filter /FlateDecode /Length 3410 >>
stream
x#1  v`S"Gwx֨,} ?\ VZ}o^8+ߗ]9׎O 38oɹߥ Fj{˫.?-aqV$}ݷ"x&qO΍nXKbD\
@@ -2691,43 +2667,43 @@ z:xi5a}04֞5 #.WQy%uzč<
&#V ⩜K]sT-t_Jz6< pbՑx7щ5e/q񻥵.0/\/6;)MWZӶ]TWAj˃euɔN߰uP^c8#pEtMF*Q)j iN&?Al똎t )fퟜ!u!~{Qz>M*6Ⓢ(uDP"/4٧WWWdy1IVDC8_jtj"0_Yx!{[_8\xDŽWclG@x  B~^zf!@Ai U$ЯXu|
endstream
endobj
-684 0 obj
-<< /Type /Page /Contents 685 0 R /Resources 683 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 687 0 R >>
+683 0 obj
+<< /Type /Page /Contents 684 0 R /Resources 682 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 686 0 R >>
endobj
-687 0 obj
-[ 672 0 R 673 0 R 679 0 R 680 0 R 681 0 R 682 0 R ]
+686 0 obj
+[ 671 0 R 672 0 R 678 0 R 679 0 R 680 0 R 681 0 R ]
endobj
-672 0 obj
+671 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.306 733.664 212.28 745.619 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-673 0 obj
+672 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.048 733.664 240.003 745.619 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-679 0 obj
+678 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 124.899 653.245 131.873 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-680 0 obj
+679 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.594 653.245 159.549 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-681 0 obj
+680 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.528 363.024 417.502 374.979 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-682 0 obj
+681 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.1 363.024 446.055 374.979 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-686 0 obj
-<< /D [ 684 0 R /XYZ 78.37 808.885 null ] >>
+685 0 obj
+<< /D [ 683 0 R /XYZ 78.37 808.885 null ] >>
endobj
193 0 obj
-<< /D [ 684 0 R /XYZ 79.37 620.254 null ] >>
+<< /D [ 683 0 R /XYZ 79.37 620.254 null ] >>
endobj
197 0 obj
-<< /D [ 684 0 R /XYZ 79.37 422.869 null ] >>
+<< /D [ 683 0 R /XYZ 79.37 422.869 null ] >>
endobj
-683 0 obj
+682 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-693 0 obj
+692 0 obj
<< /Filter /FlateDecode /Length 4636 >>
stream
xڽ\Ɏ$ WF
@@ -2750,94 +2726,89 @@ Q?Nk~„и 7/X>=7p䀞c anڢfd(nfx3q|<<
endstream
endobj
-692 0 obj
-<< /Type /Page /Contents 693 0 R /Resources 691 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 700 0 R >>
+691 0 obj
+<< /Type /Page /Contents 692 0 R /Resources 690 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 699 0 R >>
endobj
-700 0 obj
-[ 689 0 R 690 0 R ]
+699 0 obj
+[ 688 0 R 689 0 R ]
endobj
-689 0 obj
+688 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.915 234.862 161.889 245.811 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-690 0 obj
+689 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.741 234.862 190.696 245.811 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
+693 0 obj
+<< /D [ 691 0 R /XYZ 78.37 808.885 null ] >>
+endobj
694 0 obj
-<< /D [ 692 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 691 0 R /XYZ 230.167 742.105 null ] >>
endobj
-695 0 obj
-<< /D [ 692 0 R /XYZ 230.167 742.105 null ] >>
+696 0 obj
+<< /D [ 691 0 R /XYZ 235.836 730.056 null ] >>
endobj
697 0 obj
-<< /D [ 692 0 R /XYZ 235.836 730.056 null ] >>
+<< /D [ 691 0 R /XYZ 198.864 697.254 null ] >>
endobj
698 0 obj
-<< /D [ 692 0 R /XYZ 198.864 697.254 null ] >>
+<< /D [ 691 0 R /XYZ 198.864 677.06 null ] >>
endobj
-699 0 obj
-<< /D [ 692 0 R /XYZ 198.864 677.06 null ] >>
+690 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 385 0 R /F15 377 0 R /F79 695 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-691 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 385 0 R /F15 377 0 R /F79 696 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+702 0 obj
+<< /Filter /FlateDecode /Length 3096 >>
+stream
+x\K 19FP蠫4H{ 9$`NOelcSU6%HH,\0gqexH'Dx!2EI$+R1O{I)e|pA-?c XԌhAHKyK𙱨FD؞|`~Ufڶy^"_w9-q{&
+Q*Jo_n,2v5&>:Y"8/-nYYaU΁
+na
+0c#]gSZ
+4 {紥@s,@Ky:,C08gʼn\(Up`C3hӗ)|ϫߛ>=YW~ǧz3S\dU̎ӕ""H<܂J9c58[^"MtdB
+I&Qj5l(/+DR
+*yRPlW͐4g(/+>!i퓐 k C(QX}LkakD3_-fsO%IzEʩV3hлSG X0̑޲/Ay@(Fm!̟Rq{t$f/}{
+VɓȀ@ذYd"yLUĨPyjbvR s
+B!մUZ;F}R
+n789!<,D~o@Bzp$⺵G
+d5,E|Ih)(H\Xw}޼cΤO cbb^} /l#uQb.7Fn~^?|0!c4IyæfcPFEtXXJ}c27P{j&>w[ϙ&qdJM\z>7~/f״
+\a,:v}/H蚀jz= 3 *A $ڝul`ky'ީ+jaԾ7 QNLOG1BYΔ; C(wA
+v6{
+<S -
+endstream
+endobj
+701 0 obj
+<< /Type /Page /Contents 702 0 R /Resources 700 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R >>
endobj
703 0 obj
-<< /Filter /FlateDecode /Length 3099 >>
-stream
-x\Ko$ W19X06A|[iL9[*U<k!tw'"))Q?
-@~V._n.8]]bf1mRm%*'^R.}w
-?s?QݨpIrYRrf.n 2fbD }ԖZR{޿J^=xfpjq^M5ZЏ~LNJD#KC_Ëvj5
-!4?gbX?W5aeMkX/i8 6(נ iMpWk)2Wi0E<aW=탶
-8Ufa
-ǸbV!]gOSk^Lȡyi}k)mhPZ+:, 0Y9t ų\ p C3h󗈖lΛ޻<kC׀~\O~RR)UZ b܎՚)&:(Dqзh .eJmVr!# z
-/~T/TO3d
-Z&0hbÊ/^(pTyݱ؈ܣJZWOƤ]5XݖjyoZXeaS@}~ 8t(8E.rbL1ڧ~G) U/7cB E?&cϏ*{׀Pn|/ȧfjnV!J,ϑ-n
- v}*~G`t%iP<K5\A%JK1'3u38FHX2˟ky{_oh[0KGWw~F Ff_֝AR><0nw^Z?!U[d6@&Ȇy}4' z>-Lf=`bu "mNsXY4b_xcn2Z+42&y
-G"ʚiD=&&unpt{! )a*"ض[oTڷvHvQ-lG4#s$Fg;KkOU\ lO#$9ZY7 PjR&Q#-%R7u
- J)IXI~?=pŒ`zc;hPF$v\S*VĮ)`m,Z8qb^8%ڱ5M]ӉF2}ggkWJDj`vS5NC Ɖ3by#WQHl$TcIշT~ @)
-k D$g|i&+urNF#29ʇjQY8wٍ|nze
-XgLE! ֳ%rs6 ygH-x@f4(>>g\~FeڟT!; Ώ1}Kvlp@AʎJk5 6耥j@FV^_Jg6(˽.`%n4RD0W
-u#LJ\[.Y-mGWRWؔY9J#tׅwռcJot3_QOQ (fJnR!XQ|krDΈߣa
-BYMu~S5i fxJ
-{&٩S$rKgIlzo(}KZ:I!ppgiza9G=+mMr-/S67Jc`$<BAP#=V{
-Š7ydHr4|T"]aبΒ&zHT2R~ҍTe?ǂI3] 4Nq*Ţ"k"cyp0]+KOǪ<n}H-I+?*ړRԎK}IX;4?M캟9UQӷ=wyVtqGti::P
-Okl,B΍6N'2-쵼pi%,x1糖/![}G!B/$}56}hvcŘ
-K풭׺O`U׮ʑcN8Qz#J \$/~\@?Ajh^`57,Xd0NkbG+>|du78*m,p]ط{J
-endstream
+<< /D [ 701 0 R /XYZ 78.37 808.885 null ] >>
endobj
-702 0 obj
-<< /Type /Page /Contents 703 0 R /Resources 701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R >>
+687 0 obj
+<< /D [ 701 0 R /XYZ 79.37 598.045 null ] >>
endobj
704 0 obj
-<< /D [ 702 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-688 0 obj
-<< /D [ 702 0 R /XYZ 79.37 597.125 null ] >>
+<< /D [ 701 0 R /XYZ 316.728 517.227 null ] >>
endobj
705 0 obj
-<< /D [ 702 0 R /XYZ 316.728 516.307 null ] >>
+<< /D [ 701 0 R /XYZ 365.552 505.178 null ] >>
endobj
706 0 obj
-<< /D [ 702 0 R /XYZ 365.552 504.258 null ] >>
+<< /D [ 701 0 R /XYZ 207.228 436.785 null ] >>
endobj
707 0 obj
-<< /D [ 702 0 R /XYZ 207.228 435.865 null ] >>
+<< /D [ 701 0 R /XYZ 207.228 414.817 null ] >>
endobj
708 0 obj
-<< /D [ 702 0 R /XYZ 207.228 413.898 null ] >>
+<< /D [ 701 0 R /XYZ 207.228 401.039 null ] >>
endobj
709 0 obj
-<< /D [ 702 0 R /XYZ 207.228 400.119 null ] >>
-endobj
-710 0 obj
-<< /D [ 702 0 R /XYZ 207.228 378.032 null ] >>
+<< /D [ 701 0 R /XYZ 207.228 378.952 null ] >>
endobj
201 0 obj
-<< /D [ 702 0 R /XYZ 79.37 330.232 null ] >>
+<< /D [ 701 0 R /XYZ 79.37 331.043 null ] >>
endobj
-701 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F66 384 0 R /F15 377 0 R /F56 380 0 R /F52 372 0 R /F79 696 0 R /F58 382 0 R /F69 398 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
+700 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F66 384 0 R /F15 377 0 R /F56 380 0 R /F52 372 0 R /F79 695 0 R /F58 382 0 R /F69 398 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-716 0 obj
+715 0 obj
<< /Filter /FlateDecode /Length 3486 >>
stream
x\ˎ ++Q  vwA*zQU]mO,hJ$")j0o~߿}[=7/ڿ7Y%Uo?w);Ҩ=O]=~Rjmy,#pe, e gGx:xi 1~ǡ$=͇z^(W24Vi/xW9`. hH+ګ4x暾 `y9do/Qh ih:-ev$,ԧy(nٚ-Y?ʼhJjJ,LS-UkCǭo"M77J?3Uwy}D9ݴʸH۶(ĬQq`0Fv00/–ŏ-,MPދB5)mfʉd/
@@ -2852,284 +2823,282 @@ x\ˎ ++Q  vwA*zQU]mO,hJ$")j0o~߿}[=
nXUapSvޯRwINˍWzGP~hw>2'pB9A!⮐|jBF+5x\Rw
endstream
endobj
-715 0 obj
-<< /Type /Page /Contents 716 0 R /Resources 714 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 718 0 R >>
+714 0 obj
+<< /Type /Page /Contents 715 0 R /Resources 713 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 717 0 R >>
endobj
-718 0 obj
-[ 712 0 R 713 0 R ]
+717 0 obj
+[ 711 0 R 712 0 R ]
endobj
-712 0 obj
+711 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 507.158 110.852 514.132 122.807 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-713 0 obj
+712 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 98.897 126.862 110.852 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-717 0 obj
-<< /D [ 715 0 R /XYZ 78.37 808.885 null ] >>
+716 0 obj
+<< /D [ 714 0 R /XYZ 78.37 808.885 null ] >>
endobj
-714 0 obj
+713 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-726 0 obj
+725 0 obj
<< /Filter /FlateDecode /Length 3525 >>
stream
-xڽ[͎ )`^`oA|[)rGDn:qTERG%/˯{闇 g.I.[ZwJH.߾_~Jno|O4FKT_>MGúJD.UR .gphcҵew=g eb13DzF*hCs$$A#7\-+>ho௴:zsԻ̎8QjH5e޳3lע
-_5MM2Ea4uaظpú+)<-J"YU4\xN2eKv™Fna#wPVGwSuŁHךY}ZzW/A4ovQЀpj3w7:|ݽ":Sݒ"LA4or',`ZtA:ڨ9(ا&D#U0R.}iJE|Eb)+FQZ$%{'hRi;f _
-,.JuD3D)Bߕ F+VD( W}Mg9>Ao|lCJҵJ; 6yU@dW@ svVytgiy~ϒ[%0Y@NT8BOA
-Ā(*%(T45 Y OȯοZ]ij~25'޹glGgWg2Uȇ?XfnP- v)PR8}T
-3/Z*B kFZ?oĝ4Ywљ HO5]INLMuάMa =/ōAŘSflB1#'B,^w/)FLeҏs<T~Rm;*5[7u++D N6ՠ`cf&_:&~Ζ#0ٱiA}3s͚08"{k&:kKOtǍA]1:ӓj7l}Ydvb H[Q:x3Wintz^oNZ3%%Xt3m6l-{zm h3m'yWFT
-V;|\yɳ#ٻ웆%+,,b}D0}<?p!o(ٙL[@=Gg'4vMlD}FNe,=Ò*g6N+_Q+Awns+ިhEt.Sc`Oz{
- 5ʉn[x4TtxwP<})ߦ-;OKէN_pJGxT_+M64HD2HS$:`QJpn̓C12z B C2BxF3b`\G.[ީ2-U<z<֬+8ɍWS, ۚid_uo%gG@뭭Xwc|طR
+xڽ[͎ )`ڽނS%>׏(SU;qTERG%/o{闇 g._I.[ZwJH._]Jno~O4FKT_>MGúJD.UR .gphcҵew=g eb13DzF*hCs$$A#7\-+>ho௴:zsԻ̎8QjH5e޳3lע
+_5MM2Ea4uaظpú+)<-J"YU4\xN2eKv™Fna#wPVGwSuŁHךY}ZzW/A4ovQЀpj3w7:|ݽ":Sݒ"LA4or',`ZtA:ڨ9(ا&D#U0R.}iJE|Eb)+FQZ$%{'hRi;f _
+,.JuD3D)Bߕ F+VD( W}Mg9>Ao|lCJҵJ; 6yU@dW@ svVytgiy~ϒ[%0Y@NT8BOA
+`eZJQ]]i!W>5*k)>'mn$9X [F5w4ӂc!k6sd˚Zx
+ZᴙhGӹVHxFA%.+7˘󅑛aY{ɟ&.$l#)z7[[NV1rDkX*.i>ޑAYF%Sޮ2ΎkVR]D|[+<yԵѹiV"PwǮ g/AÝ!<֢/Vw
+t6aZ^LM%4X,n[YqEH}ƄKy%܌j|#6*oǝUT&-<Z$W2?E^OX^৔Bњ[g5jϑ6R/J5[ŀ"ڧx_*־ߡᙉ12zqlfKa.^8ƙ ק,F9ĭy!9Ie#T1\Ƞ+~6I)\s(m:/hl$v#!Q~>5{/uO?4!b$Z'A5<bz^DŪY!cN:C|LhN%җJEjR֪mLi@SbMTHA)/_[">4E&${~uCI`T4 +CO#=;mUPꬼTӠ
+K̍7\t`
+ { rtJD=-e׏|n~d?YVKl6rLTL݃)co?GtZR[5B$M*vQt 1ZDS P}ʒO <]]#q':և-痴XL5?^aa[(i^gގ'C9s riaZ,>
+3/Z*B kFZ?oĝ4Ywљ HO5]INLMuάMa =/ōNŘSflB1#'B,^w/)FLeҏs<T~Rm;*5[7u++D N6ՠ`cf&_:&~Ζ#0ٱiA}3s͚08"{k&:kKOtǍA]1:ӓj7l}Ydvb H[Q:x3Wintz^oNZ3%%Xt3m6l-{zm h3m'yWFT
+ XAu_8w6 0}ip}ga<?;fk<)J:Gv&SPى,]ӿ:[,Qߺ{4KO뙍WJ݆j@n}\75cK:^$UQ&AA݃?0oOF)$ZaN"_ϵ?Wj^9FI,mS'[2<Co-?F$h* i߫b~Ю[k8:k" zn/ǾR`Yy<ϟ"D@܇#jA6WUGf T[ˏjjбEV3<&X6J;fxGΦ~?RPZ o3+~B4Ey#}oK ߁(
endstream
endobj
-725 0 obj
-<< /Type /Page /Contents 726 0 R /Resources 724 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 728 0 R >>
+724 0 obj
+<< /Type /Page /Contents 725 0 R /Resources 723 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 727 0 R >>
endobj
-728 0 obj
-[ 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R ]
+727 0 obj
+[ 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R ]
endobj
-719 0 obj
+718 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.124 508.381 381.079 519.22 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-720 0 obj
+719 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 351.241 357.472 370.947 369.427 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-721 0 obj
+720 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.668 357.472 398.623 369.427 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-722 0 obj
+721 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 310.412 244.527 332.887 256.482 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-723 0 obj
+722 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.609 244.527 360.564 256.482 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-727 0 obj
-<< /D [ 725 0 R /XYZ 78.37 808.885 null ] >>
+726 0 obj
+<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
endobj
205 0 obj
-<< /D [ 725 0 R /XYZ 79.37 490.054 null ] >>
+<< /D [ 724 0 R /XYZ 79.37 490.054 null ] >>
endobj
209 0 obj
-<< /D [ 725 0 R /XYZ 79.37 330.558 null ] >>
+<< /D [ 724 0 R /XYZ 79.37 330.558 null ] >>
endobj
213 0 obj
-<< /D [ 725 0 R /XYZ 79.37 291.272 null ] >>
+<< /D [ 724 0 R /XYZ 79.37 291.272 null ] >>
endobj
-724 0 obj
+723 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F65 383 0 R /F69 398 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-731 0 obj
-<< /Filter /FlateDecode /Length 8487 >>
-stream
-x]K$qW<tF9&6Q|Z>X>86LZ6I[zg״K$}x?*1_~̗3}߼pY%/?sI%E3\OOlϳwWk3y}g,OMľNRL _FYJb>TRNZSj _?e><_γf?24 hI\wi{
-A8- t%;ڈe$qX!'̮
-Mhed]B-`,E|I*Q3&e_DF1HR^L87XʢȪ?^<?$.95r%|Å?ՔFS@Deݠk;upVLfM :`*2Ϳy墨tym] 50NR,vScwim ((+ZBRJinkM>H ior{:G`IC[@O;OZv˙VꏴZ3C##fJj:27h}F >fO_o5amhՆa9Gpn:ȤX}~ ,)dwˠr 2\.~ grMPaeͳߌ{C($یG>ڌaf:ì4+[3є1-g v=My\˟'pfqo1\3-GkRJҏc%Ov'LWN;uuuvK)?k yUV]E%~u?<n2b-2[^
-.(.uh0.8/!>sֲ'Q0߈Vz0!!moBj[c`9ԶAj9uǡXxgCӢ&{10?eXj^ETtDC:m-iqr[Ez.[OOuay/]/qˆ|rn8XF.S9*Jl+ej<l;_-dwu|9nGuz){'0 +'X,fog),c>|
-<
-󝄟e[0~oؖ~ܦ[Qor;7=\uӖa?k)0ƅ"͘mRVGgIJ]fh?qg &QF{y
-UeC^ܟ Gƫ|3`)
-w׈p*T({u|皙-O%b Ԃkͫ;04ܴͺ@1Mٹ-?K]+qCmy
-[Tx<
-(*TB߼>}yk^p̪+'#׺(#qv%W=L8^J*|ε _#57)f;`͵
-ƝUޞToÉauh7Oޱ+sU'B'SS)A'q wi,PfUxz>VώqLy:0z}=,^_l` L h `A/g"[8*o]mUpsM$۴Nt*X
-9ס[ҫlGjS<%R1nrOђr=&7_`Np_(9N&÷$<rI(Ӗ/v%? S9j
-SB»h[o Z $8zIɳdpA*CtL(Wl,!1(F"b9F͇*@PPv
-tB18cTؚzV1E=(a4,1FԈq$dRO"#uَHdR6r%]8?=WZ<'S#U"塃sAqaUX!-u4k<Hz$"#s)`GjvX#CrF,H"sJ$C(#HԊ ̭#X丽`][Rlq\0(_:X+ keNj--KG*;l9x%ѧrsPY6Ił=@Ec2@
-i= ֔Hq dʶz B h),/mh8:.!+)OfI@f+VS"!GK1Ǡ%_͎8(
-[2
- //mP"~Gu7.Ӽ{Z@2m՝)p cԒGḘ6zQEK ^q ljxuT[Q r]mT=JJx؜|;zA0܀QF|g cLV) l b =JQR5YQhxeT1+$rE!$`L HW(F: 7ZJ`؜@|;n?GX-*Ufr~8U bn)FI Ȕm 'z
-Y[%rĦ12V+mh]$ )ܓq~q<NcW H҆1dUs#iE!mT`0:Rc_̺Qy;%aX+&:k"Q܈-̙vܰw0XF\7ۗ64/pQ##UƎ9K VQ-vsZZaF6]])/&e*D܌b
-jGI ԜoG;(
-[%zQ!Byw H< JU+W3놥EB64b1KqP+
-6mh!²/%4JG v/qRo^Z)f9Lv4DK [+DXdL݂JV=-%Neb1v=2gQE("~*E;ʜ|[Z’Ei)εIyB3Js@eQq0O L㾔
-8h{Z%'kJ$hi#/gHXKhV@i'P>ej+% #Dk(}ϋ+uUk@)EIƈ9WM {1ʢp
- uõkymϋ\<b49%R(i0yaXM4K#NbEc~sz~_@<F*ruJ|mRd{ (izI2sr'Y,U'\c+4m 2khr=զfcJI qǓ("Y\ =!<3,+<yYV6)2MU'nȔIf@RjUI&
-ͫwł}d_@YG21) HY⨨jdr}\TT{Wx yO*Ii:qCL2*wMrT
-N2>3V|O*l^çi-*-"EuLi1_rb?ESa$+ң'b3|&=Qb5B[&7\$×5OM((9Xpє_㧙@-"*-5IuTi1Bq%jU)&GgbFK
-(M)}xU xiQ|d8%=(_n:7Fl\ qqx jѾގ9ʘjxT-b¯奶4YYۉr8a*mȉ /6x=l"$ }Sy&踖->3¤ϹQ!}6@[1iaEޠpMZtx~'ҿ"߈ e TX p7IB7j+= /hC̸#zCܜ*ۯw
-ֹP&<F29P;K<U:; {/s Wn ;yC1ʳyvE=-+~ܪQ5MvώB|ڲқO+|#^ɆZn;VvT ?%Y{p;s6>)O<-OIHeS _fUmR.l}Ͽ a4`bp'pr>}Nsv$-nG}z;VK?r;$ #{tl`[1 ׯ]8yLkXϷGQX9܄~k UFks H!K ׹Fׇh8ы\ǻ GvyPxx+L\;ξlWϓU{;q`y5U9`0L ىCZpn<^<%ԁiy8Vղ)q]h &lJvBY+Ȅ<E+K#>cĄ}0l߰[s~uّ-=j=@R=旰zSֲg;Toa-=ՎJ۴O#'kj:ڍWoYT'X@cmBB2cA<yUB}yeJ_4+
+730 0 obj
+<< /Filter /FlateDecode /Length 8481 >>
+stream
+x]K$qW<tF9&6Q|Z>X>86LZ6I[zg״+$}x?*1_~̗3>o^M,m拹er钢h.|yyK컫<>3JWtIb_AI)& /U#,%1Fd)fb')/l2U/MYtsc;ϽJ
+vrf͗>J<Ե7ϓ] [66 ҶJ#^٧)ݒ/7dR\#91ZssIyUڏu=`>[bI;X:rzSZ9Z%rݡS0Մ)
+
+=8- t%;؈ze$mL9/0*4 ΢1-u Y@5^|iJ&0} Iz1A\{`{c)Z# ?#!t1'&.Ը7Z
+++f@!f =f 3f^7jaT|!ny=CoДїhZt80'7cU~DO$q,n9ZCp8疲5U~,7/yc<a%rvo<}ВrZx}%1h/|sUiAqQ`XKFbJ)ܬ%,}8@Qj^~
+_J/&@>$mSwW[m4z;g&};F-8 l~Z\7{?dR<',˛@m~ jpHe>+Nn문HW%@q . !T =K:%NCܟo;[N e*uuR^m1,CMGv냅,T9εO=nB/ebo?wfq|; l<ȩNiJwjtc:@!SJsf*y;U^;V0A>Pu-0A_4i"^_nZk^@}>)iYxϰ@qstϪ&s3܂ru, pFL)8̔S("[4O{ ͋2=_XFߺ@i4gşURy$,/|O 11nV[)-c"%q:2\fBVc.u1iu -z[Eu\:/do*J?_Ͻu.sm4_0;{y$ ކUvW0<?_|?09v>MyIoK |oMޯ{>q!L`n=6iߺIdr
+APN9&?rJ=7ȃe+xk{MVwywosHm
+pmKQodf3PnSfsU'msod`VhoA&w6S3a6S^9N+twH[ TDZ@ҙh>x5EMUU;;__SC: IˉM ;sSs'!0Ov,a8w̢i V5cOnu jʦ>?
+Yn!>*ǃ%TxspzK{ăuf %󕏖
+wٚ<M䠦Z*>M%U3Χ"<Ú2_e2ON2խGo?KYf7lK?nӭ79n Ж_pR׍gL[~w6^v>#M 7)|S鰫Ƿ21lc<h~;V y,w#u؋!H_xoF, wE(uXlI{ڷO80^ǯqF=%s7eZe=mvgoį/|&wGnwdվ[n`/ֺTM#ww[fu3į۶q*9?uJ|u2`VlnAf}d{}7큾 \l1wGm|Mz;m,˴p쮘wam{ؐ0~ؿŴ:^9y-.XGo9Mfsf;%}DI +m3zln}TƟ"ڋ1Mew7T8tNaw|⌼ iZ:)Putx;.,z Xua<kۚN_ջR!ѵ>X
+e\3az_ZpysGz^uwܹY]ȣ?);GwkE:λc2O~Y~
+]aU"]EjCWR7V}o7#TvknYudZWw`\=خėgKIϹkwv0lG
+VQ2{ 8 KKd!I:NDMyOF+NDYooh#p1[#Ckb (;FD"3,IeF Q0di7r cJ0E׎iY.&jg+,yub2 d+P\8ÜI:"DM&K#U  R[궮82I4Z
+o9C@E0= e$I*d1&iLb*M1,I3#
+Y[A]18Ԃ
+d0ꑁ#\zL91GKP!h8\ը#)5LrP1Łw 5&bP:ES"x lU=Vcdk"fG Θ!jULD>J 6 vL"25b Įb%l#ԓ62H!%.y#lGOBV#pU=w}Hyyxa{zbFX-qHKw;0;wؑHmyz$<ȨŜ`ms<Hz8" s++zሶ;99n/XV0[\$8k3{(J!+",!ZSmKRʎ5qu|IEAAF%mR`FAO+%4Aiјm7|tZ~5%R()asakZ"Gl
+ )/&K<K
+sYzr*HG1hW#AVxi*"
+ns=07CCD)z9AjzAV05^GUD|d
+oQi >sŕ+&膪E6'9ߎO1Cmh()k})f,C=h{['kJQRB2e1AVh),x J|r= b1xwsUB-nak Yr܈{ZAmFU4þnTNf ~17ɺΚH7"$0lK s7(* dnQF? sÈxa`RqE1wmT-mx|5=Vddnѣ*"f|jWJx,~v
+?7cBZQR5AVxeTP^&]aC95aia>J?̺ai c̒&GԊ`5ڤbaK ~Q]0AK[9FE%%,lN
+)#g3SvUF6uGKa|FgL.]LYT&sȃJ1B2D5ߖd*onyCyosm6n)5LPYT/%(c!=3xbl51(ZDؠ%FjR1VS7K+D(a6-~ +m80b)(tSwVQ$Cڜ /ZZ5,*f;T)(#vZRSaQ=30I+B3ʜ)fak s̰w 4S+Č(TG=+mP<>n Zc(KŌ‹nJZ$hi#䪘ChVPi,*,~#v}S_3"o%3Rj(b|it"E6,lrrfhDI(s~҆DPײ85pb߱B^/Vɚ +ZZ5˙*R7R
+eFJ]
+Mwłf\di}Y&RRBd$>HװBOOw
+=O{xUi-MLSՉ2ePkZUp5q1B] iffY4ת<&E֑ńLL
+{G8*'\c=+<32+xBޓkJ+mRdNܐ)̀]ժL댁6ߓ
+6i>0EJmQdSZLĤ;OT
+ )a _{OzͺE 2%s͓rS45JF>FJh+\4i&?PEJK mRdUZLĤ w\ZUp@YR@3@35C=U,RRBdyR>jY܀=YBh&+ha|牗Z$ڤ4UIa@rG#q3{REkUUEYG.1)%*qTTJ>l:J~l|SJ_ ^'7^!A`vF?NIJ12۫΍w?Fm\ނ}cCx2|kym#/m{VvζaxFJi;rbKlz%7{6A@~T0ɷ:eό0s.Gy:v3ũr"V!aoAX,7()d}S:l߉﷈7"t=6tY„&7֤7\M|̈́ڦJHK'P-3nuސ17g8VG}ˮāXʱ"'K2^Qzv[g4w K3yȯ!Dʑܐkaw6:<IwZLv(0,췞&mbf)d:5Z=]+wjo[2-{bI7 FW|SʡuK;.3=މ0No:$0eEQͭ]_J6~+GӐ`J<dQ;GS@]cM EVQ)X/z>Ku5ԇ0Q;o37NaOfUN{hNB \՟{P̥,w6xQ=unslsC?BjhT!~wݳ{6о+l;x8߈WVE[95ΟU]<UnaI_;ΜOo5O +a0@—(iU [o7äa1<3) ܴOp'G\IQߪzގ@<0RϿIgChV wkοE޾9>)-p*mQV7ᣟCU'C%DARH?nRs*=uCz>!,N".z},|2r
+8濳/dN\;oaD^zauz12 GCvbt7P`t?0[&+Ok u`y$+zZި5᧾jUr|lJ\<zIy*]qVvf62!++ϭhъzg1aD~b)̲!73~ǜg]vdvǀF;Poz1T%Ծն[ئ<nGKEo-w6ɚZ﫬 8vƕ8w #s|̘p O^ըЫ/_dYƇ
endstream
endobj
-730 0 obj
-<< /Type /Page /Contents 731 0 R /Resources 729 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R >>
+729 0 obj
+<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R >>
endobj
-732 0 obj
-<< /D [ 730 0 R /XYZ 78.37 808.885 null ] >>
+731 0 obj
+<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
endobj
217 0 obj
-<< /D [ 730 0 R /XYZ 79.37 616.209 null ] >>
+<< /D [ 729 0 R /XYZ 79.37 616.209 null ] >>
endobj
221 0 obj
-<< /D [ 730 0 R /XYZ 79.37 446.032 null ] >>
+<< /D [ 729 0 R /XYZ 79.37 446.032 null ] >>
endobj
225 0 obj
-<< /D [ 730 0 R /XYZ 79.37 260.473 null ] >>
+<< /D [ 729 0 R /XYZ 79.37 260.473 null ] >>
endobj
-729 0 obj
+728 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F69 398 0 R /F23 375 0 R /F66 384 0 R /F70 399 0 R /F29 371 0 R /F51 376 0 R /F52 372 0 R /F20 378 0 R /F57 381 0 R /F26 400 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-736 0 obj
-<< /Filter /FlateDecode /Length 4835 >>
-stream
-x]Ɏ$WQQh5=%@I:+1ܒd23UyCtf Ȣ&:}Gϟᄏh71FRLz:8"d4#T{JT8/ȼR9-( ㇓0
-X0x{`3T@]+\N%%Te% m_r5rmc Ck{.-Ot 8(炊ܰV@䰭 =WjKPA,ګ4c퓼ԗZܯCjH9*[wFn'FEuOJ[l Tg+z}Rcx$QA7qEn"b4BP؆H;@9@>lUO4XwڠlO}ZwM8ul`k:Q5j sٹvgDBklh]t}阚Mv*eDf9J8>'P+B&
-#6YB)tه^V/*O^js82{xlojg*ot ,uffsX
-9Pd#N`.1eIkFĿQ[Z?km|_XHŒ)Z?6 });/>dz+u옧}}`0'^u y|
-Y>mx^l,I.?߷r5j߭+SgHr1y^)u-̿@K8'V*к$*<|NE!)TuH":coKEd*|\P"$dbo%@*4?ݿi.GeI2Z| A~TPôye
-j<E`KH '8K?w'<Q|{1D@"d};]G=V/2jNT"Ѭla֦ BKYM}=Csދj|K+F,谢6_ni=눆tc|Y0Q8b?LS~Mcɀ'[z8*hNh7\Odž]>*9o s:Xu* ԵVWnQv69H^)*~
-H+U4
-P=+ ǧ1S*@Ƨ
-x(`'>
-O0R jMWF(sM9BaT6j#ԘR)`w#{V@Pc
-H1TۍPQN*0p#%  PCh_
-szY.%g% TrpA'Qmǧ
-WYбDau%ƆXE|@zI#?WoԇuVs a
-X[ Vs("#9W܌_K1)Rmot?R|KiLoJntDRщk +t
- Ν"fXF1c)ŷ{oOFkѩQNt*00
-+xqfv
-K? M7t z^Kۘr^u5q>h <SF]: ݟDD=so:[eV5΃`Y2=Shq}[a}G#nOf\KUyo-ALw " z1W -L @") ;TA
-XZW 冥y+\ܱZ ּj9vfnRy
-y43zgn8gD'n<N:f,ýkx?mg=nW'nDJr>rĜVD*2Ъ97a[V]Bm9җj[\Br*2x}d. Q0U$ p owf( o
-AoT-.c??2Rpy  v:T@$z¢>
-`v?F11Up|K$W$uK!@y%6‚ipOHZu:n~vE\ۺf/mqR݊ڕCmtwlׅS-S+!zSAOh*yT`H<T?C}HC
-ȃ{
-\WOO{!M֤_KrFv Y89
-0pꦎ\v.06~faPDZ]s(NPCX9w=p(Ή1nt|!s
-!\O/p¶._2W(
+735 0 obj
+<< /Filter /FlateDecode /Length 5116 >>
+stream
+x]Ko$WA
+?yM*zVӻzzӳ46[5z }Qc')cklnc3clhRnCs2<87 tŌB竚d`8 x6kj=ie/fi8@T¥{QWl0˺i%Z#48׃[!64Vl!O'Å/ߋV!=/Ʀ'^?YqUr <3gR6P+f=6ӦԩmLI هސV<.*Kֻ
+y.j8țv!<Nz_se%"N"bիM[A+%]-s}3Ih{?K/{CWU{r{uSb 9{EO*&ap$ >꾦/\{53]<S6 @ÖBOZ
+`SXL$8W+ؘ'3y&ί`M]C9
+0}=L^)@n*~
+ii+M4'
+؊yXCs4j
+Z5 vPCAlnP:Zz;Pc
+(>*zC)
+(.*:A)p+ TE0(F͐'0W/ ͏_ +a׋7G v>h!!Jpt@OclE8Kg:դ皷֌[?6;:Eҁ]<9ֹ\}nk3,rG\HOêp]-X<*B0S7p#€R%4݈>+nJyjEv$%=9\P) ~)OVx\#u!ǩOxR>yoK916=b)l
+N L]ok0ȼRzoi F B Vz$'wH0+@p fuo1.pIvp`=8>+ qo]0g t*2]0Co]0]e6vyنA%l31{|9o`z ό?QWU',h:9
+
+a3y%΁XM}nc"vsy|d́;nFNz<~iLp; ӘPw_;5
+8NTI1'읆-ɿg$,cL=vFx_4&v8T|KiLo;x'A$||kQӫ/2%(4];ꗄSt8+Y t":vQ(ݡrЎ# 8^dB=rgXD3^2@y͸$,un/ٿ=3}㨰w^3~)}eVʉ>ן[
+6j}cOiM|;xH[nSRCn?rB\ a Lj-~]3cٺFW-u]T;ІoK\yF,Ư4x[iߪbL8lL OOMzlt9Q.FQdqMeLlBdu߳8!~m 'C@u l_Mfk
+[N}=lcz2{qw K{+ck4O9 jG>.}fǦ ,Sl|ͣ%i \$B, 'M|~َ\wêRҩd ̢ϭ`7pAh)_.j'/݋d[r \餿Ti
+9*/v8eWT;;VHdt|<;V~$uە~[V
+vLd3o3I& D#0:ouV3qO]Z}&]&Z7Z~[mSI'C;dex=^,3hg"`W58I:їkT0kn_Y睗|sw I!7k)' \ Sa7eHѻy{yq9E޽,+|%N>9K9g2G$Eލy1bD<o8t#:rf(ˢfc3iF3lҚ٠ZWeN_ISMaOQ`GYE~lշ6s6 _gg 9[#3c63L\vOSldz6F-rY+o{O_&-hӨ <bB[~,,^VΨ4AB|)|1Rq,uN\@ςpVoa6#PYCcBok
+7U*#>Se1g&+7- P
++a!Xz nFj#,+iMs/S(|jqľ8
+֌ζAFp+3m&xQu:۾lĨ֡p
+_&w*8 ޱs(0&ow(02SPv(0&ݩ(ؔ~+yqy|n, PP]q Zh, wcmShgn[ aY<6!0eMOI{x߲9tfqɜ l-u& /Nrg
+([Вc$ja&RdAYW?G'>z TQ`3l+`ƛ;) ^JɆ/(tLcb O ŻU2撥`X$2b$~rm2 ҧQ".Ow_x 1D4a ˕og6cg!J
+~t^CV~DI!Rl}/}
+0jп/;x+Md[h'R~cbp[wƨMrn =mj<ܟ s̩s=~3f)[
+J1h8w5sJ)gMd}'CVCڴ-88g,"GqyRKVKS…۶آ9Ly(|mHD[> dx'uͶW)k+;z_j
+DŽ*K(jQ+O{s^s{,_NU8FgjdUufysLUgL 27$lS8jiI^H)Rffu]}J)/2"ƖQ:dn?4K_I/?)Ƶ"׸:{缭'asчg i*AbSetNQJ)?yRlM,a+'+g&'+II 9B621Ow#3ӾZqfZ:跈wֈܙ nl˙+Ryt6R
endstream
endobj
-735 0 obj
-<< /Type /Page /Contents 736 0 R /Resources 734 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 739 0 R >>
+734 0 obj
+<< /Type /Page /Contents 735 0 R /Resources 733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 738 0 R >>
endobj
-739 0 obj
-[ 733 0 R ]
+738 0 obj
+[ 732 0 R ]
endobj
-733 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.438 78.885 282.895 90.342 ]/A << /S /GoTo /D (section.7) >> >>
+732 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.438 67.03 282.895 78.488 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-737 0 obj
-<< /D [ 735 0 R /XYZ 78.37 808.885 null ] >>
+736 0 obj
+<< /D [ 734 0 R /XYZ 78.37 808.885 null ] >>
endobj
229 0 obj
-<< /D [ 735 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 734 0 R /XYZ 79.37 771.024 null ] >>
endobj
233 0 obj
-<< /D [ 735 0 R /XYZ 79.37 344.667 null ] >>
+<< /D [ 734 0 R /XYZ 79.37 353.704 null ] >>
endobj
-734 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F58 382 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F52 372 0 R /F41 373 0 R /F51 376 0 R /F53 639 0 R /F42 374 0 R /F43 738 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+733 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F58 382 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F52 372 0 R /F41 373 0 R /F51 376 0 R /F53 638 0 R /F42 374 0 R /F43 737 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
746 0 obj
-<< /Filter /FlateDecode /Length 4972 >>
-stream
-x]9\+&$qFUv23[*;"}7xxp)  /˷ox{w7c.+|?8+G3|$ʹ
-؊*=""J'ωnK" nu%2emb̕(SqSΔ`)E\jKɬY~EF
-@CxBXp
-psN0W."& M| ZFnv;ZGi~ѭc m-? u &,kZ'<i(aX^=r7i-<S06y8Z[qhl(ͬ1ÞwBʼI@d>`#pRU ͜QccxpGz_NG~X-ϣK Ģ<fW/5Hل#cNa`od]DȝD? Weqا.Ý۰~t-PJq)B]]w zdiDȣvb۱vjY
-u7-a97igNq+h:^7b1NpJdںMzΘ
-^PMk!imSD8b#ϨvɊHC۵gnjy0:ctd{%>uSvtd-vt_:qLr5ʁ˦ouߥ&7֥aDU~Q3jeMki堻+u^zKj7"nkU&`F0ڙlhϽFG%Lг@2c{F\'u?-hc=dhNj3iNOS;ͩ` 7}=Q\F5Y;q 2y ZY;>@ n.HT@2?%o>M2 q!o~@^on' ..G A
-?ehG+_
-{qyXv$珞8S/) ч/j f) /Q
-@
-0{Z_Ul<%A-c@av~fafWD1u'΂u?*<w =y"miR[uX׀Xڞ|2P%>`$>f ? {؆Aw0J)o̗(`Ox;pA%Ǘ
-S-HQV04+_((Bf^i\=vj,Puw 1O{V]F8)5[F$V16֮˘g
-Q uDBpkꎛ< CrY2IٜȞp<,IM#:[he$[ XZ؜WI<H.po jd^I Зv%\Z˔N˳ZuxP&N0dF_2X!GbFΤK癶*p&/2rZKa1ټ72;
-99%3@f+QfȄ7p5`ɻ:Ƚp{f汿O-RL;qf q2>}aVW#*iRq_ʟ׍Hw闵ޟw+K?5z
-H2WjWL1LAA@Rμ 0()L{x#||I/ sӊXߗX/.<F a`\fLpK.㛕a&²\=zrXX[zo~/0*`ByKE}\zXмrmZiz.g%!Y
-9渤v/ܙ *r{NnWS(bN ^aO('e54n1#(;BEk
+<< /Filter /FlateDecode /Length 5030 >>
+stream
+x]9d9W9k}@3A6`m0KZ}RGJ)=m0jԑ>T/o_>EK`J/_A ~R`܊˗.|B>jy$\3@͵\IέtqnOW d3JlX}owGzZ3;ZNƆ7$cgRr;/u36h9s@ia4S2-X5*Ofݚ֘J'fyĿc瑑L#e! 3>dSm;|tT >yfg5KXSJi )Y0/o69wvl,cJ*ΤTxY*8S& $sQlJ쩎3fGs9;򧫰v_B3h REE&aBpeœ>Il)ҫ[D,:ԲGOG1dYjunQ9MFkk PT.6(fJ|βɓO pHC|dyfgs&*0[xA޴]60XK7R
+#D6of'JP;}L ]!h>]("/[oQ^8$QIy˴U!@DsjXSawf^0 *x.BePW2{F2I1mbC6÷ '/f-<ZMвh#Z)ƉC?k<~4jkL"MoXmj SXb-dIOX8o v| ڔ:PF8)#G)}+m
+9Rpt`Q( OCl@z>!
+x jGYxs ˔ ^ܡ0uȚ~&Dt@6<r/T.opwCn/8:kutS$)c*e]ag89j.azSnR``Bbm+Ϥgc "ʛY,Evb\.ZFNW3C`1'.MQr !UZ|F?4:h'B_<77 \_d
+&&<ӶD9ZۙQ֧ki#dۮ; ck2$SD? M=z| qn3Ea%d-W :vct_ p+yEC ҩ':kٟ71X뉙]c fvaӰf>
+N0XC7ClPɜαסs[sl͌UOþNaNq*M.][FY]V?V)*:X=YXp,Jl|f-#cZg){Vkf^ldS46l-l B:N.K& @ٛoq"{_" Fm6r뷼I#AcXcz VVZ.jTrqu#~gVvAaٵs:QUaJmк9gRomZڲyg&!0iuGlWTxsPwtgny΀:ctZ{~R'hI?-vRwqMP1N&Kԥ~;υm՝f\fT9-JJ烞}2ZTt[0NIpĽ賄 z֞
+˱=#znϢ,S[P' Roz".,rHovԊU|8#a~va`%]/(LPn~HҨdV@w&Z%u,\o.|KsYrLAG I0r?5+ .HU{ɸST C'>$
+
+y'
+g>T|̄Į`J+1/𕻒O֢R3F[]f:L (S3?c=Rd(_tw(*dZ̞ڶϠ%VfE64ioOv,eW]\z^F9j}D`"~ƹ )a 4
+޺\
+'U5}k. ƂJt9E6[ϙ-L/>fUc)lbkI/)MM "q+5.HPM9e˱=љ]1+䪆x"*kב5 Iogq>,}Ӗ93vS. `"Wp]*y#n<ԭڪҠXk# τ[7 =y<F w=.M<q Բ8^&^|)n;z@-- >#S<Y4(O%G.ifE,>|_/_34 \jWŅgԒ(<' fb6]w^I
+OFgEr ߪnPZO .˳#:ZvWE5̔fZA)2
endstream
endobj
745 0 obj
-<< /Type /Page /Contents 746 0 R /Resources 744 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 750 0 R >>
+<< /Type /Page /Contents 746 0 R /Resources 744 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 749 0 R >>
endobj
-750 0 obj
-[ 740 0 R 741 0 R 742 0 R 743 0 R ]
+749 0 obj
+[ 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R ]
+endobj
+739 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.065 666.125 242.02 678.08 ]/A << /S /GoTo /D (section.11) >> >>
endobj
740 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.065 620.847 242.02 632.802 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 257.741 666.125 269.696 678.08 ]/A << /S /GoTo /D (section.11) >> >>
endobj
741 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 257.741 620.847 269.696 632.802 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.692 551.065 217.647 563.02 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
742 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.92 531.168 213.875 543.123 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 355.086 551.065 367.041 563.02 ]/A << /S /GoTo /D (section.12) >> >>
endobj
743 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 346.032 531.168 357.987 543.123 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.024 539.109 329.979 551.065 ]/A << /S /GoTo /D (section.9) >> >>
endobj
747 0 obj
<< /D [ 745 0 R /XYZ 78.37 808.885 null ] >>
endobj
237 0 obj
-<< /D [ 745 0 R /XYZ 79.37 602.521 null ] >>
+<< /D [ 745 0 R /XYZ 79.37 647.799 null ] >>
endobj
241 0 obj
-<< /D [ 745 0 R /XYZ 79.37 176.403 null ] >>
+<< /D [ 745 0 R /XYZ 79.37 197.296 null ] >>
endobj
744 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F55 379 0 R /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F69 398 0 R /F58 382 0 R /F29 371 0 R /F82 748 0 R /F51 376 0 R /F52 372 0 R /F40 387 0 R /F31 749 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F29 371 0 R /F82 748 0 R /F51 376 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-756 0 obj
-<< /Filter /FlateDecode /Length 4569 >>
-stream
-x<M9nw>tD}[vO{rf$d߇DTlǘó(JH")_O;Q|~4 V>$O.,ʝӟ>a
-!lY~|9k#t2#r!Ç\-\
-%
-oav܇2 i p#W/՞c5ó~)[iOI!b6~E.Iix5v9w!ˈHai*7+H^?6~(>~6!Jm3(
-qJO KG|{0(di^8}yw{ܦD(ɱ}[-?pᚰӠ+Ƨj쎦*fU
-'}zwN^_ Y
-}Tѓ@MϿ2̎T >GrXv8A'v{iƳqs"ۨ? @ȺG  J}c?o2`PGb9b(4J< m9f+䜝T ;&pޗz-mjL @<o
-U0ဘrwgi?%VlԋG7t3Sf]Yeձ/}{ޱ.L\ՌoXH34g
-. Բ
-.4Ȯ3pj n6!"Tn{9XTT]Kәe*1PTwU .p#CRL*ŏ<nck5Ir݇+7ʂynP'360fț#PnAl7m%R @s)0;Irg5.g$q[TBaE@F<:c kl -I,P [44&U̙&EMS3Ӕ_oQNN@b''Z`PI%泠NgIoP`o;iW}>Vݒ?
-7[f6ђk3Ð$?Pmпm e:zH:Td~HyWȡq-ڧ#ȵܶ&DY>|n@`}]cM{1:(I͖Ld\t
- |,O/ 1\fS ΃ڪ)0/>TumRp0h➔YX{ٕ()`u[FB\u^2lG5&>+ѮucGXE柰w1EkpvdnʒYIyL+vM+^Z+m n%eAgamJY,4q6B^*01&cdžDF%oyH}Cn0\?bcR*^;f 7es?,[$N f;&̓XrRgkB~ 7QJ ptXy}1'ccS՗,Q1W7M 6KFk
-eb_V-LJ˼t^k۸0t5x\ge[:z!: ҳhL+}{5AbPo=]HqAN!Bni (Y_hnHV[)q
-8A'nm9;Ɣl*W ZVhzGYQ;VV 펳⌢7@#Xz+H8+0+c9}cs T2ǽ~r LZG$vmJۙ_ix"}ͼoaՙnW+O߫b_NzV)8@!J!)<27ш8v7l
-W<^bD򤦞ӾOF:Pb螳*_PN3-ogėRL+{]?|&fnbfDIٌ%_ݭ:42WxV\q>EiRY*vaDƸس`P؏$ϸ_qbx' RT=k mB;@-
- . WSILwcL0 h-pX*wFo*OowhWN!kPIH djóǽ|}J2Xq%WZ'X9n>˚OjjKbTY6j@P "e>hYvg2 r*Hi\]ZS;䓿*R+R%e5oNٺnet*?JnnxpQ_|ZDs#٪ӟG"ٓVnq³cZ)ե6LBAT<;)]f/m^dD$>M]hk:kז h/DDd\Ik#D-8)=/'nI1U%lؽCБ 0t|ΐ߁?/>3op/4__!}>s)TB|>?:j;4
-84
-V<p9fj0({ΰU,}( Pnw('1J*"MJIL-R&ӣ=qjkoa xG?l?@ra'W6ER;&=aVb <{P
-0˅(Y1 4'ӰM;Fz;(qrn"FЉ~5߯&ߍ('>ӲGiP͎L.?f .i^wO7}l 澠l *~/0X-v#p(ņۥ鹵2(kcKsm:`FSsL|im[ٌT{<x}JaLИ@l<t
-<SeC5teǫ8D1Nmc*1(.+‹)j۝J07?xs>s/:%MZ]EN"U-m׽RIU]qZuglo>E]-jRo tCS)fI/Vo h=9vy)qi4F3?ds#JLif僨?VH̏on<5 MG<_2d4뿓q/4M7Try|#-Èz0f6qBҺřCE{%R'k
-]p'^āJDs*'|e~t%KW<t0F:pB\c?,0/æ`<-^NA? ᔼtR"/(2OSvD89,Ǻ-Q'bDӳO\A|z&y#ֵͱk-ŒB]+:<!h/֢֔;WB$7a<~}-I;;z(8mkjc=C`Gȥn`6q~LyU
-4 8Aqs_{v?{ZX=Ƿ[ i@J9lr M['H- <1(]0 OBh%KOLeLrh~?-tټ(qX)J^h'TUf<Z ;F 8-z
-J- ie~- WVԱ^Wb{3D*PXif4OmCz=p6ڲ~(]~0T U2
+755 0 obj
+<< /Filter /FlateDecode /Length 4407 >>
+stream
+x˒#>_R~TMkdYO!qbM! jif7[{
+8o͉y3|fŲQ
+%! UP'4fjT$>9^* *5p%
+<bv;_&v wkޞD]?)E~u PN3v zĄjLY\,CZ,Ae$M Dg 8TD/ZGL JEbO311ৈ&Y'?N̷tRu̼̒4~fo C,iVx$$U>sQ^pl_ 6Ƚm22gfy,:G2:ʀzA+*᷿~~xJ`݌p(!Rʒ4 hJ>lyEtW |ӅL{%є64޶9#sdo<VUm1{bE0ÉzWI{սe1"nt&j/c&˔zᝥ_`UG{N"\KcGqF#ݛQHGwD™t846k2B<Bȱb?\N!|$Lj1 zD s`'>'_&i`A$\ FkO%cN.HsVO|9)%S!;W6>ͅhg6=܊(9]ݓ&jsLs7.Je)~ &1 GXYIqJ ۦ!E=Z9Aѷ,”gu܍N+M7QLq :%NI!DMlXp&GM4ưM!D=-eN;j4,nF(>3ҍhȖR|_+hvv 4{ZoK?䛞li OIQ1ү*,J"#aL
+t`vB?
+0*حa+f > pÂYpg5j }[P %J0,Hihn20is(
+}
+wOdqtzO"}{I#@=R> ]/A >]{]6|SVI}1Nw]1^U) a T>WI+ך|$8I<KbTXV9HCyбJ2fD/D'b9޷M%ǂn&
+羻_V(u%>rt65o*mureʉB*qn6FJ+8Q|<DrؙdgF&O5vu 9 N/fȦAa;ȈDq̓jBe6﮻# .ltN܍N#-th -)' nIU2R+.^eg %>ƯO4\liZf|WB1ϫ\3ySUQ{.FsH~p4r΃^dkAKX|WoZ~@0ۙoܯH&6^Lʌ%B KƚX
+CE^U TCԬ>IqZU5[Q}giV?s5>^ܩf:r]U:f'iWlOFQ5%>\S[i̽bY}*eimXpQ{.
+n
+۠|+ULplH2Mɞ}~bה@攮
+%D\/hR2`wWXRu%Tb+V#_}Cvv8[ږbWCh|?sBdu3&+~R oboOޗ |<wLnE%3ġ~dQO!HӸzcPhJ ^?*Ǧ.~kTFʄ:GZVAVש_i*J-$A܇MʟU5z/l1cM5F 85I=&*K;\|v|quc|Y/d^F56? IUeԚuLxzttn!yD,8-{=:nS
endstream
endobj
-755 0 obj
-<< /Type /Page /Contents 756 0 R /Resources 754 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 758 0 R >>
+754 0 obj
+<< /Type /Page /Contents 755 0 R /Resources 753 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 757 0 R >>
endobj
-758 0 obj
-[ 751 0 R 752 0 R 753 0 R ]
+757 0 obj
+[ 750 0 R 751 0 R 752 0 R ]
+endobj
+750 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.687 466.68 429.642 478.635 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
751 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.687 435.855 429.642 447.811 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.973 454.725 439.928 466.68 ]/A << /S /GoTo /D (section.11) >> >>
endobj
752 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.973 423.9 439.928 435.855 ]/A << /S /GoTo /D (section.11) >> >>
-endobj
-753 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 233.622 164.473 434.369 175.661 ]
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 233.622 195.298 434.369 206.486 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(tex.stackexchange.com/questions/488566)>>
>>
endobj
-757 0 obj
-<< /D [ 755 0 R /XYZ 78.37 808.885 null ] >>
+756 0 obj
+<< /D [ 754 0 R /XYZ 78.37 808.885 null ] >>
endobj
245 0 obj
-<< /D [ 755 0 R /XYZ 79.37 557.081 null ] >>
+<< /D [ 754 0 R /XYZ 79.37 587.905 null ] >>
endobj
249 0 obj
-<< /D [ 755 0 R /XYZ 79.37 405.574 null ] >>
+<< /D [ 754 0 R /XYZ 79.37 436.398 null ] >>
endobj
253 0 obj
-<< /D [ 755 0 R /XYZ 79.37 234.919 null ] >>
+<< /D [ 754 0 R /XYZ 79.37 265.743 null ] >>
endobj
-754 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F58 382 0 R /F67 385 0 R /F69 398 0 R /F55 379 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+753 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F58 382 0 R /F67 385 0 R /F69 398 0 R /F55 379 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-765 0 obj
+764 0 obj
<< /Filter /FlateDecode /Length 4970 >>
stream
x=Ɏ\w}EE(V*U xN f32Ч .AFgT%"+Oy/.ޔ8}w
@@ -3156,255 +3125,268 @@ RrW5*$ښۥ47a^u>\exkV[exkW8#x5eEzj+[WgKaknZ
,.YKPF߸~{o~1/ɢ1^ȼ݄^I" gzCR@
endstream
endobj
-764 0 obj
-<< /Type /Page /Contents 765 0 R /Resources 763 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 767 0 R >>
+763 0 obj
+<< /Type /Page /Contents 764 0 R /Resources 762 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 766 0 R >>
endobj
-767 0 obj
-[ 759 0 R 760 0 R 761 0 R 762 0 R ]
+766 0 obj
+[ 758 0 R 759 0 R 760 0 R 761 0 R ]
endobj
-759 0 obj
+758 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 256.857 85.96 267.313 97.417 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-760 0 obj
+759 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 419.713 85.96 430.17 97.417 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-761 0 obj
+760 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.372 67.03 253.597 78.488 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-762 0 obj
+761 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.652 67.03 277.109 78.488 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-766 0 obj
-<< /D [ 764 0 R /XYZ 78.37 808.885 null ] >>
+765 0 obj
+<< /D [ 763 0 R /XYZ 78.37 808.885 null ] >>
endobj
257 0 obj
-<< /D [ 764 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 763 0 R /XYZ 79.37 771.024 null ] >>
endobj
261 0 obj
-<< /D [ 764 0 R /XYZ 79.37 734.627 null ] >>
+<< /D [ 763 0 R /XYZ 79.37 734.627 null ] >>
endobj
-763 0 obj
+762 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F67 385 0 R /F56 380 0 R /F23 375 0 R /F65 383 0 R /F66 384 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F46 388 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-773 0 obj
-<< /Filter /FlateDecode /Length 4188 >>
-stream
-xˎ$9_G*Cj蜞Z N
-D42{ݣ|3aރo
-'Ch>B1RreN˫
-BױVjP3]Z-F<,3+ S#3-?f0믑.:P<WdJ_$]P+S/OȊM$
- oL@x&sG0:qvi}3sq'r9&q%(B# lpb^kyd(H GF%FqL_TF(@ed %q^WDv#q@F{DHJV)gU˂QD6Zql(
-\Ħ(3'n<*<á`8?ԙLEun6_L3g&"w3/)_,u*ۑfiHЏ]H;U>6),R-A-@{"snB%Y5 y(p2%;Zp~L2.H2Ce[(pDF# oz^i$ pQtz-cʢ{O^C9b>,)q:z`#he~
-̠:((#kyo Vb2dra
-]1HVKƵXLl# JiT:— p lN2Gy:YGMA2?^bbb{<ia~xwȑ#{b{FcO#bQH?{n3tHSL9!|$ThtC絥a_eH 9: TA]ƺk7RYS}_ί֒Y9U`JcײCSkȋ2
-PN&v23
-ۂڅ:t}tk KUylhP4Vm
-5mj lU[joD,KfҜ aP"݄^O(79!mb]IgЂIFcBkVxț)|"s z& d>a3b_VoF<6j ot(o y)謓>T+4M<Є};b5Ggs`v:G/Ē<crP
-f`Be*Gr7`YdI׫3v=N{
-1}Uoߣ읺^窖ElqN5E/<h*&9Se%Q? @n^Pz$JKƾ%ugPUß4-`f==Ef[e6Md|G*kWe1J(@ +84˂@VضeB7$LD<=M8H);q_|o 
-.mzMĭ2OԶf9pgAB\BqїTɶ}lZXpCsْ* !Ӆ
-6RN&!1k(Rn%ަpXI.ܰU)/Ek Mt_ӾZ7KEٚ)LPM :eI ki*h̾h׮ m7Ls1$ƞ9ȎnR""z"^5,mLx(ڔC}awC4w:0m\Zx_:21GB/C[B}.F%>-&3FxP~i.^ {}c>A*dZۗoRp6QkO B@&X*Q4*HX1 u4<B~2cα$QY"I^.gjm&KʟXcje8-dͦ|x<J2=O1=Ir
-RsRx-2ʺ|vgnX`o;aLj'錽ʗk>OًM';;vm; N=;p]I`EQ#|hqǜX7
-mκQCΘ޼e1JLǾN<@xiݰ=UA=[%ovv1{"8-ݢ6(d{@Q1CdZG 0͠g حf5A<UgV]F|ʾZX_[꽯f@ 0#Hـ_)eYWDoK7Iq7+ H J;KU| dfK cxĵ*:ǂ?m9
+772 0 obj
+<< /Filter /FlateDecode /Length 4202 >>
+stream
+xM$9> !q'MsC`E ÉJUW8*ql_IF^vݯ/QD\>.`N_9wnA^ sR/Ia|wlB`/ݧK3"u"Fy
+.Woa"}~&,?eA0R^KFZZkJ_#h pԾ^xPe /Gnd<-
+5
+&_z(V(UӨ!.4Ϫ(
+%5."Hg2֗HK%iU'4? 1V
+,E[Q3iޓ0o媅 ޅ)']h>B;Ѕ\AXmO˫}^b_~9+;_n(d]M( xQvAfp7
+g3
+|tM朼ȁӺIbZ
+B|^\W%PU0L WmP'a_V:9jX pjTX3]:Fp^@
+Vk4{A0#]1 uyٔ <I6O n_PqeZBCi)j)ݛ/~z5!ү7n LA%WwLoKT!ē~oBxLfRJF&ivhfz
+Nµ
+ᥐ6ĦWqe$B#lpf^Ҭ N@T$DF&%&iPVU$@m2_4U@4V{"x@ 'gT2Ke%,"Sm8Q6Qgvb2bZ?1aQ(̽Cf;YX7B붬p~)VA \,5[$Q
+\(3'n)<á`># &gfDWVָ2CA
+RݙW;:4=)NCy{J[(;)c_>V:Z>e2~~UKXKEȝ^,e%4y*p1%7[pyJ2.]H
+%wF=NP|qL{寏o~^ґK`=ÍQUVDŽ{5O ^lļX~ × ,%ɈuV5IZY0bF2NރyV=,X)Xf jh]M/̲x?YOϐD5|dhr0˜d]5Ge~jj{<a3,'!GV%ܓUلONRIL?
+S{: &)
+f&bI=㴴!~
+3tNV"1=@ϑ-Pnj5Xh5~_Z#,йr>",&Vydn5 ҪC烈tOFFx3ֹ偗Cn('j
+14;'eoZL QâW0 E杗nf
+ќȩY+Y)<Y5'%+OF&m.Ι'gAw/AԖX+|мY;oQJM66U<>:5KxI7nh\NomW(׼5ib7nI}I_LR)K HÚ5F= 8ѐ7o.Sd`&XMY4m7SD=+wk3|h̭S^|cZNy0=es[tZydc@ml~> u$ېWmG~P0 W=q崀` ߞM WG鳻#>`5gwF(wKoX'2K/ ݢ咉4[l
+ե4/! Hl 2uI!^A4zT*ԝŽ|r֓зJy*X
+ΡF
+h996op[+θ|H{WaeJ
+p+eKq$`+Eo`e*j4z+һ*Ik\qf'HI'>*dmU g(5?sfQU]z?X<늝1Mb2(6Nt8IR<}6]~:rHh|<kfsmӍ.qȷ: E1AX스=G7XP۱xtt;VYU'dT.x1 =:u| =BT/'^Dxk(_ٺج|~ qM-N0i5ۻ˷pRCmx(tMEuSZy0}AE
+gbS[G]y,-*ii,\R$h a.fl&W߶!VU
+{rLv]uO=cVeA;_E,|SZyՉ-??+|W
+{u \Ra6vK߆_бmk2l ͕6{ɞD17
+ڞKb1exoC \z+~z=+OR \z*Cр
+4PӣS9q5i)L,JKkXbMfIt
+Z 8\{Z+!jؙNò(\Zm;+!u 52-Y҅
+O%$I2MI1!Y:wn0\L\ZJf13TkP̫Ez\v ESgW#'t F .eqmi-
+:S ѿ"mtQJ c-I=Pte0SǍm}.R{H"bJmiڄ*tږYɫXviL_952OGYn|mz,u3\czsZ5Fc p"Ll&ɻ>
+]\68I~ީϞ;;ثj}w=uo_P9>g2vܮ%|e$ۍw~Uxt@D9kJ>LIc~H^bd[l22NכO[S-=q/<:7zzp\]T BWٿG7- 1
endstream
endobj
-772 0 obj
-<< /Type /Page /Contents 773 0 R /Resources 771 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 775 0 R >>
+771 0 obj
+<< /Type /Page /Contents 772 0 R /Resources 770 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 774 0 R >>
endobj
-775 0 obj
-[ 768 0 R 769 0 R 770 0 R ]
+774 0 obj
+[ 767 0 R 768 0 R 769 0 R ]
+endobj
+767 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.502 521.07 298.19 531.91 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
768 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.502 520.074 298.19 530.914 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.911 521.07 325.866 531.91 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
769 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.911 520.074 325.866 530.914 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 486.065 147.626 498.02 158.575 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-770 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 486.065 146.63 498.02 157.579 ]/A << /S /GoTo /D (subsection.15.3) >> >>
-endobj
-774 0 obj
-<< /D [ 772 0 R /XYZ 78.37 808.885 null ] >>
+773 0 obj
+<< /D [ 771 0 R /XYZ 78.37 808.885 null ] >>
endobj
265 0 obj
-<< /D [ 772 0 R /XYZ 79.37 507.115 null ] >>
+<< /D [ 771 0 R /XYZ 79.37 508.112 null ] >>
endobj
269 0 obj
-<< /D [ 772 0 R /XYZ 79.37 414.64 null ] >>
+<< /D [ 771 0 R /XYZ 79.37 415.636 null ] >>
endobj
273 0 obj
-<< /D [ 772 0 R /XYZ 79.37 128.303 null ] >>
+<< /D [ 771 0 R /XYZ 79.37 129.3 null ] >>
endobj
-771 0 obj
+770 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F56 380 0 R /F67 385 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-780 0 obj
-<< /Filter /FlateDecode /Length 6923 >>
-stream
-x]KWeZ]ŌgMl ߟ"Y|6f_e.,sUXnS$=w~ݿa7m7Zэ(ǟB?"^ό?Ó Z
-  oO$|+oAV^uV>0>x=ß,C?|`}ʞU'VlG@̒Rޢ{8F yUw #-߬1u/i DЂE1#FB c_.|tg{kjYK
-WMGC?9rc {}1@tOepm_83#gߵt퐈Xof5m=w8Hu9V1`;vgs숈TH
-PӇ䥄C8[T-Άk 6D;瑊2a$[ 3"(p+@Vv\>0?6LaV;Q#P L@A;0uЍyCG| '.!#千#(qC/OhTGY7E<MdzP7!=
- 5
-oA˜>5~8_iE tJc ᰤZ"g&dcc?]+~w-kFJ?P _~}<w-L}|uHMn5h?~y] ҅F?ӛ$.GBO,u/҅0\V
-CfЎ_D엎~|B=(j
-q_vsXi碑nN;
-7NNecL$'l<毓xͭ'74ndgŒYb3B`F33@-r>]ο)-&6YsI:M
- 1 MBnT#ʇvdLAԢngpH NMAcF6.Eѧ,۰ |@3u}&J>%Fd
-
-vX#+.HX$`"*bYxؒJFlJBlKF,"GXI[)[kiznA
-!2Yl-S#dQ
-$HW"ق9%ԹaV 4&mf.uue\/ 'B)[HAY,V
-bjnkc&XkvgV7 )J7RbПʗdzݭcZ2m 8⢤8
-55`(/x2byJ2~H?Ǯ@S9g\:3VS?2?cզ%OLPr9-_Mӷτ~ĒxpjS89 άokyJ{/yS2blYv0B>ȖW2
-;_aˌX;Ì?<c{ylJ6te-\uikQi4U^KM"P}7 5֯y:<7J€̔â(=3nr(WL3z'J-3MWj^ӏ҅p 6rUJ`5r0ʎ,";8
-OĮY@فtA:;BX?ž/)?8E
-69C\cCX;b*C82fCzrY݄# pYGAZG~D\jv ,{Ւ HX؈#?V..Z+ ZXxXIVXr3L1)ؾ).TrHnŮ3i~TrnQɫq1X``H RPcSqoR%Jp k`AC1 vB%SV9'1Ip[yJ*q8jb}Ub8ۅ߾8 _<!?=kOu
-o<?6
-hs8c 0#1ʑAyD bȈ|0lN譝,% '76;xؼ\̱+!;Z l<77<܏t[o wU0%6KW @]"#6ʞn P\?>HkOԽƒҚ(;ҝ@+|5v\3-/--=_XaRF-';NZb cư_1C:c ǎP$ ,MXLv[2 M#s  <ͅVc!Wں AC]' J`lE?9ک-Tl1H.3j':v2֓:ξ"MBBTُqy@7|)!x<I⯡]gȶ$DO&
- WlY4Oj;rUmQr@9&SIuđ58k$睙Vq$Cs!Ѫͽɨ
-^`rA*$}ŭ/wH\wjM&g+lE(>pJw-5 q5ܤ_B^2z^75g{_a =UI.[%`f+Cam{f1 ;^ªŲ(;^Er'ʎ%%tJt |I?t3Q/Qz#az!xJn.Y@s 3D˒xv
-RL:z9Q9B":hGV'٫E+QzKDLnQX!|ؚYI-YC_2b֓fK#V$έ-XɈ5Ve4Lp5MgD-LLAU"M ZVj\LL/w11S\bƑY1hY#cb\bHb-k\-ɘa11ZȘ9\.1qoV!Ɛ[chH |FL*&3huS>ceǞ6̴[<ɕ;wFU$x5GSBcN;
-ʫ"B+@h
-+kF,Bʪ"C-h}%室V}
-XbtH+8dEXU RaSwhTjG6VwL٦`?z 
-w8H6? \I9&z^/9dK98g%S8h~M Rc:hp+w`[hQfϘؤ: dYH/zSd7mO$Ć#<R(*b̚/{;{ܿ'JSCMLDήN%Tfy-Wܻʶ#矏^VfUgy ׇ%''+抮[6SK1Vr?{7ފ旗0SpÄXu'ݫz;4֧sJGOV{xW앷F"<pYTu J?)Rؽ~ qbXYt4(|J? "Si)?kSx$bמj|}r9Zl~x+Nl (\ysΡ\ 5{B?xG$zו:A"Pwg$:qi!MOo
-sg/D/벷ogFN^l}ll^w8ߎ?dn~rN5&RܛIW4x>]tJzlJ^ b)
-nB oG$<_ۛthsC5H&7ai~~4d U47p-V?ЩIaJUV~yMzЄl?㏏w;DN=W׊ӲրxZ[Z=D5}Mei?ZڱG$Q=$ѵU\?,$_ß?>M
- uݗbD.OKO$v79G(~.áBXBYX6Ap%_ 鎅^ԭ*T 'a-,b0R,X,#w3.qs2n+$8 ;Df%̈0Q،8V0r7ЕĝZ/ƍAMLSaTJZn^_༂Ր W.7?r鍄hkKoX$
-^ rzK|E$F6cH{&7|^/283sQՀk )fW65;"XV>7sU[eq(IąTG@>`8P
-P1x(&(֦̽aѭltvu]1E=/]=ՋPk _IUi _X(qMF)vW}:hwp\bc[Nh|'_o4)J>Ќ'TZ7K_)}ۇbUH'ʚ(A\z~43;K&<X]T,Hq:%!e{8$cokudLXECuu75'Om)uVmR7TyAFJvD57;YK7o?KE y<2ixk\z-eP \M U6mw
-P:<`w/,^
+779 0 obj
+<< /Filter /FlateDecode /Length 6917 >>
+stream
+x]KWe
++J/(JкTļO.ᯱȰcYC?q1j.ԓ}Qkʟ~=`(aL(x;1xEggD 9oClq '$]] cKS=0f#%05D'X[aU+eVGC?#`9]i !{!@j|ʦ_u[x)eJxRK=銷wކvhBl7zϽ7#.Ҿe=sX+`gpmWPcQcI
+?psNAJ>EmRAIlCKEi$۽ݢ$^EC_1)q
+[0P
+, Q(" RQD€."(] ܃Yatbח$=%#O bExؖJAlJFlKFLn b[Vb++qqԫ _,:G Υ0*,&A+Sa;z%/EˏYIqTL1&5rwZ6x.ruraG-uOo#(,r/ċ d+Zr/E˽`٪y\Kr)Tj#*ТZ +Y^zX9xj{5G-[U/꩝UtU_{U~
+wҴB7P:n(kxK5_+pϹ
+so+1޴[zP)_9QM,,X:@g
+8%j{mo@'uc
+N#@Qr?(agɒ'쨏ړQ\œ\<9g@O@ WLfbLkv,xKԄ!OܠoT'*^euFSJ`0H\4MB̢үAjOT5$.-줜*eoQ>Y<5?[DŸHt%I~-1Jx%_b)SJ̤96
+siȬS~(p&yjv5V*[,.̭ƿ+<rف* f31=eը
+FZUVs2 PcyLcRd}$[\GBsawX-+ ^2 M9UmO8]ƌU~4kGgt̴う
+P.
+A,+lq
+C2
++n9eg`su{Pvb=&:G ?^l)?8G69CcG Cxb.C8
+29!ΨcMs]߳3+~1JnZIS_2bR.w+Ķ$&V
+b;V2b3_2bJBg` b[Vb++CX$@9A} &+Tx žf؄nͪsA\GDT,Sz`INRуSӃo҃-zp
+k`lAB Ӱ2%/@v*Gsrpl` A"78G-wqROBלQ^sj"|0"TxSi~E
+7"kLFde
+K| uw5S']+kc5(q*mQ6Nv DmD{vr{dɷ (zP%ϵg|vr`&ḮЎ X@v DYOEt\zKczK; G,&<I$I[(y60=P{(5OZga h2]M , ?`;K\X4q9X3],U9Vr-m \?uLDVbqC_2AFoTKDA_D8ϴ2Y@pT/Hb0 3z˞ JoEze -Ԓ9l,E/2!1PBc{(*]Yu<\gmp`{Ɗ|f#
+=_R%S>Ζ/)Ġ5|ɘq/ypt7mrׂGAXt.l_w gRGC`IHW5t"5[#~{J$.5 ԅ G&ks .dEJ >@ 2$JW=PdY5WOEJ =M*fP1aefUQ1t쉲3*ft R%RlGs+eϩ)D>`i>Sd#,MgP1aae#tPsyҕM.Vn
+JϬ@כVԗɎEO۲X)XɈ|ɈZKX e%!6R۱˨ঠƸk\ u҈Zv٘HfU2fMƌZvɘu6fƌJؘ9Z.1SK21Z.1o1=>fw -{.7cq2S\dfIĈۣd*'&'3jĵK>dVDcP;Rf^>>d
+O?Q2D^)E)c
+\N4Qs!I5NQ_8YTW^tI[7,:#e뜄 i8rQ+j|+wrQ*?$,1jR~g*}kJ*y
+ZcShN:]܊upb-o; `,ڟ?ٔPbyÑNDJ[5t$|(WcȟαX63®rW<[
+:' <\$9.GQ-rpkJ!\ hmi &qkwbYVQVnϹ$ʰL4mN, }ۊ92'Z qՇ3uCTL۳sO%SCMBDQ'Vie]uل/[,kTq&xih)(0> K1 ak̓Wgy*~y=UKӟ8BwN)fMXKc,>Y(+o1܃ERpUTt xP8U: KuH`&&ʄ`gT!2ʟ6)+vvVVibGɴ{?5+nv5TRA_d} xR=';4>28}.n1cl*FPCl!s]e<jbksPviknv5@R;y9cxK]W@p7),~Jq.:] df}{.z%Z٫^q툔 xKqO8S2EE"i<ʾp]D`.Q߾4q51f(%NAJwgϾ-m3߷Ik}O԰5u`kKwH.y<_=$5|&PN? o.?/t? n7#;0 `żcS"?N猖U fH£JxPTU_K^6#>H)7nTOL~U6+
+VC_ 1WB|0o7/h:1&;/-HJRlfp%76BrʤlaROgQLh/Uq,SIćG@=pxPgьGcˉ1:8Nˆmc{v_=
+(aOn7U_5ݼucAˋڒ;IowSE=fը.uNzNGm _=C,{l+y{:?tZ߉"w TxhgE-m[j7o4Jf'hAq_Z{~gO{'6 Þ8Ί]BXJ׽?vp` I:$JDIY\t:4OS{2Keu(|6]!;YX h:;ätQ)?Be[IT~/_']qSb`׹e[(Xy|W5sZޥ@92Hw{yzQ[~
endstream
endobj
-779 0 obj
-<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 711 0 R /Annots 782 0 R >>
+778 0 obj
+<< /Type /Page /Contents 779 0 R /Resources 777 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 781 0 R >>
endobj
-782 0 obj
-[ 776 0 R ]
+781 0 obj
+[ 775 0 R ]
endobj
-776 0 obj
+775 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 121.109 98.706 132.566 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-781 0 obj
-<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
+780 0 obj
+<< /D [ 778 0 R /XYZ 78.37 808.885 null ] >>
endobj
-778 0 obj
+777 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F67 385 0 R /F30 365 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-786 0 obj
-<< /Filter /FlateDecode /Length 6976 >>
-stream
-x=ێdqh!h 2zl"9WT,ޚ3فl,fg]7"O"t>_? s ,Xi?_iJ/ȹ|\K#FOH
-2Rr~88j^2D1RA  itiQ3[^t@j`4g&ٛ)9yJVcV~ =Z7wN}Zi7*囫tV9@ܚK)M`L` ;wj\=)؜s4^Ђ?`
-B{NФD.{(isNvi6{=]{a?c:a/ sԌcoTfXpܿ")ZAZV.3jwǽϙVŇ?ˇa|yˇ?t=\]TSD|*NeDJuhRˁxiz2Izڝ]iN-:k=<6dccWM--*?6SzKCڻ!3bx82ñp.3ĉFuY<>a>V |=bUBă_kA818q $ʺK7~GSD^#F#!p5JM@Zz 6 KH) n
-˄>8} = npUqcy!oH]n9%!O*ZO<à(hݼ<s W9TCL8}RKe#X|԰!` A&yA h?I.ɥS\omp?'5V74vKp)~K՘
-`*p)R4v il
-}oΚp 
-^A3-#z/IydvȵRyilI.'Z!{ĄL"DJC<
-᳄FMt\ Cg~'ol0mpk6sY4JtgY}0kFS,lM}tV3=ِWY78w{[s!wc3dV%Obx'/S̽Z\sf}b·n~WK&TLr*eA-,e^2D1^?E^x{f / wS+4FMxYTJx٫wsLxY['wb1z^^7eBh-p˂zY^Фt>e /hK'uHkE
->g-9y JTq Uq9PO0Ȩ=VqTu휢OΣ dy#M=ff+,ܓm6N'3쟹f5[5ko͸ckפYe1]<栬z.mMJp..E U ?=?:l[*Ook
-@O q)'e^V^hQ><ALihēR4pi .8CnYcmdFZ{/K+3}I h`V_tb՗yioNƯx:,YձejCl0^`ӯ4J[`g<PϓMJgUly~0Y_{XG,US@D>'$>x?bq2f+3m 5=4if:AIUgJ<T)B?f5LBf3+ zipYknS8)TShT;ٰKb똤,m2Q3 X 'N| [;a^E(L`;Z*]O2VS7t#č0?!V gQ
-泼EeaQrĎVT#UBcw~Xwn-iYq" Yn@1,H0R
-ЄAШd+
-HB/Iʧl%(U1 tG2 v-ӕ`v&]ፂw̃• ׍0R3Hj1jNuҪ<VG!auLqGٰ%7Z߽f;k>Yw姼\L~{|ꠙll ?h)a(O>nw~t=ty,L/jK.O+}8GM؇uyZyx̦~Tؐ9%y}j=O˅>=>L+TZҋsM6AL4i\Њ"8wܭ<4͛g 㦟-䚍c's_\)cYδ
-S=/a+\ }ɹp6L4t/d_epi5dȆ+P:0a&T<drͦv0i[pkFƷnE/{d)Õ0* r;\I/;r)\_%`A_m<kę]+ÕVg•^1\Y+O*ê`nG "*9c.z)0R\Â=XAГ*E"2Gg=2jGg;2:n_ 2e%iM'2̸7~KT?>|Iq=|.^ǽ+'ywGbSyKϨٮgSg7N팅y_;QgA[L~n=6ʂЃ&Pľst@LGoA`.<TFSn,(YQw^L2)u_q8d-`32`)uC.Zqn 8OüN? 4@OCN? 4(bbN䊻6g8op#u <Vg80opȣu <\qmӦ^0m5ypӦA]0m5e ^E3)49wue@3~Cz'8Ќ_ЬVuupf%=̡k0qhVơ!>93uupx|C Opx|C Opx|C Opx|఻!86DVܗ
-U}GقOe:hZP_7 @̞2:}PRnJ|G V.2 I_?݇>^x6(JŬ2h{W@Z ^ ЁԤғT <J@!$@=^
-s5eFײ=[uHzE_.OHR]NR7ZE3 bG=(vEJ5Re6Y_V^Zfw H㇎FSmh7÷m7̰g
-M˜B$U՚"s&|Jje"q[JVaJkZ6~3)YӅkp+!6f^)G⸮ȩB3UFaKRRCNQY^K6wW[WP7OkB{/,a!q_jkWnO72j'EnFZg\~dU2j뉘-5tcy^0vU?TY|ו+ls mV=2.Lw8; \Lw*1"WW)eJ[ꄉ˝;ab[Wח<Ty學e!L{9R.7u//]zggKFoC,09hl)c(X5dG"3B 09et+ܴ6kr]d?=@ rr|5.tTI,Cr_7':q`&
-GMݯI$rŽ0[&3p[S|\w¦ [bΦnq;Aн:躊p ٚХlLӐVamZ&v`QqCki :u6Gb8:Xu3pӝ{WsV36ݩ k"*ח2,&$Bp7A
-1"Hvy73GAFGؒ_=,-lc8ОBo=&Yft+2fUFwmsCV.
-{ТbSƣ|}˓"*VMGNfV
-b@āAfW"A3U:@^`#(öivxaޕK2]B @?.16
-1jBQz6 &p3sb߹՘%oٖOI,`J}h(}͖9̛ỴJK&)/-X~:P@3&CkXj46.Ɯ  )@D>\o ]oƈIԥ!0U̒>}SΔ_/x+DCd׷H –Ef LI0a%%^S'k{S\)wxCS c<>3&}9h7
+785 0 obj
+<< /Filter /FlateDecode /Length 6978 >>
+stream
+x=ێdqh!h 2zl"9WT,ޚ3فl,fg]7"O"t>_? s ,Xi?_iJ/ȹ|\K#FOH
+fTPB,d! $ ʁ xP
+x-~88j^2D1RA  itiQ3xًHՄ={38E":1OJwo7`=sQΩO+4F|s#J;[wI9C lՁ ,{'Nм'’w? Zl`>3{ %X{
+.ٛHApzsV^ ]s=`[sݝwBh-lFmb\=KSWqځUhuݩthEw=mީv.f-?%~
+}.ȓʪ:åkK). .UcF
+N(Qu)k
+zoΚp`%
+^ɋQ3m"z/CydvȵRyilI.)ǧZ!{Ą>S(p3 A8a]B/(Kw^ȵP9$x6qf sf3W!uNDL'|6Uh'~1 i
+l4Ѭ4Nl5{#: |u}'˻5r76HMfUrd/wJz2ܫŬU;'k6m
+ڪ~NQϸ'dԍD+r*޺vN'[QL Îw&f 3a0 f_-5 7 f1kʵkҾ^J"fsPVa=϶&R%8MTߪ Z5mk-f8TV ֲO)}/4( 3IimmYItW[~6Co4ˬ6K#$G噾$1Hg0/7^1 <G7׾BW<FS25͡b6`Ja0WL-S3Ez[v즊%k*<?n,xPnzXGr+US@D>'!>x?bq2}f+3m 5=4if:AUdJ<TB?f5LBf3+ zipYknS8){TShT;ٰރKbf똘,m2QU2 X 'N| [;aFE(L`;Z*]O2VS7t#č0?!V gQ
+泼EeaQrĎVT#U?cjv~Xwn-iYq" Yn@1,B0RЄAШd+
+HB/Iʧl%(U1 tG v-ӕ`v&]ፂw̃• ׍0R3Hj֓1jNuҪ<VG!auLqGٰ%7Z߽f;k>Yw姼\L~{|ꠙll ?h)a(O>nw~t=ty,L/jK.O+}8GM؇uyZyx̦~Tؐ9%y}j=O˅>=>L+TZҋsM6AL4i\Ċ"8wܭ<4f 㦟-䚍c's_V)cY7ʹ
+<,82qs}-/ ޛpn fOK>
+~X7g ZR޺8$JD0`' ~w~o8ӗ>~wxuX[AX7P*f@cbZ4&,LQZ
+! qD-[[-0B ~k6%l'%3Mo9|͆i]^*%}I;"vY*Ei^&%nr\I *L[o(~C`PC,TJzU`oCGcWz;ij}l`7ԟjUTj$
+}KeIb*2Zo0jXQT)5Z^oتȥDL+uyBjrh(J]7>AY+jGwU*=MMZ"5XE?t4hG3(/mYe=S otw|"aM3[U0V+aR"6P
+SJF^ӒI!.X][AU ,5J8u}FN=6
+/~_ErrO\d!%nvjߺꅢxZ.a ÔD;ZW<_r{)QKM8)w3:n/&rIT[OlWb{w<U΢滮\a;lh εaOu
+t6]xu6u{&xةAUą\ք.5fc
+ õn h2ܜ׀[\ZMM99ܻ
+m0mI6NYosiIjfd<7}ʢg1+`Iwq۩ncavĴuzw[v I@hw 1ة][֨&Ըb҃˅Vq ۋ:u/04K[  :PQ9' Ij# Za{c"/ HB[>e8X# d3ՂG!R2,Erh3tc<=*HdxxWlRSj/D>+8
+*E(RI  SD* +De\[=92j$ƈ>–aiqf3t.xz]1p7+^9l1K5̀nlzԄpIU}ˆ5ˌ5竤[QI
+Wn:Mt7R"<2iЉ
+. 9gr tz[$&z"Ez/eH,2Cg`J ;,-:Y؛JN .M:7 f1IiD
endstream
endobj
-785 0 obj
-<< /Type /Page /Contents 786 0 R /Resources 784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 790 0 R >>
+784 0 obj
+<< /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 789 0 R >>
endobj
-790 0 obj
-[ 777 0 R 783 0 R ]
+789 0 obj
+[ 776 0 R 782 0 R ]
endobj
-777 0 obj
+776 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 256.944 734.5 268.899 746.455 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-783 0 obj
+782 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 592.245 101.955 604.2 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-787 0 obj
-<< /D [ 785 0 R /XYZ 78.37 808.885 null ] >>
+786 0 obj
+<< /D [ 784 0 R /XYZ 78.37 808.885 null ] >>
endobj
277 0 obj
-<< /D [ 785 0 R /XYZ 79.37 195.368 null ] >>
+<< /D [ 784 0 R /XYZ 79.37 195.368 null ] >>
endobj
-784 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F30 365 0 R /F23 375 0 R /F51 376 0 R /F26 400 0 R /F20 378 0 R /F52 372 0 R /F53 639 0 R /F69 398 0 R /F55 379 0 R /F76 788 0 R >> /ProcSet [ /PDF /Text ] >>
+783 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F30 365 0 R /F23 375 0 R /F51 376 0 R /F26 400 0 R /F20 378 0 R /F52 372 0 R /F53 638 0 R /F69 398 0 R /F55 379 0 R /F76 787 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-794 0 obj
-<< /Filter /FlateDecode /Length 4781 >>
-stream
-x][ݶ~_G0_
-Q$Jے7ܠ Q>D_KPYcdK$PwE[n"&Fkkv8FD
-5{>mLN\L':!
-:M'e:t؝ p4+Op@Rh[F+jÈp3XrDJ^ӳh!4DZů]2:۵ֵp"Fo=GsZٌ;G91nԷnҧ㱎61þ]>m[Vglm׼njmku%O60zQVF6iCeqHE$#:o~!4
-giruBa0VN'n"Ei0~~7-TAJ> ']E*1(?r̕|,AH'o``XLcL~.k[Qs[KHÀ]0%
-p;q9U?r̕|he%A#s[IDApe ~7:_rĪ_ᾔD z
-<)9}.rCVO-R;k i^Rʭ>5unޞ>r$ jzy?Pލ9@eOx;1` B8'j?b_DBvjI'H$u0H s 3AOy
-4JheCz 4 4
-p%5z!IQeu$%/ [^R^%!tuDz<X#`vȮ@6b81Vc!/ň0 7 owm0x&]Sfs B23z=eZ:PS]W@
-dBNӪqwLZT.qӜ
-׆v!qYX5j/|ZH7tQF.$aRGCW}NJBAWUb^}II..ʱEpH3LD@`Ě'ؒcoN+⫴^he|a涰z
-ӷM^ОqxF"t-q
-20!pQh bxD
-9eu{*|0YSeS_9߂\553Q[A;/{]J0o Fⷀ]q~A~ xV";M1 cg;hj71|%>vY|4ŷ┄ m`"T÷Umعm)7\*b]:cK%
-W8V<|6Qu; +Y"XB"rB`u{-iiv4JuŊQM)\Jm_&_?
-36^˧il/ k^*u^[/0GL 3RQ1m鈶vDo, KGsNp]tLN
-DXGh0('.rgCzE|y\zy C&Nc Dc]N"]."l#N
-ϭd$BVKl-MAڐ A$(' w} {mWԛUzbJGnX :N)4$sQwn"!wV}Ns)!Zq^ AȢHyv!XEi|4xK.dz8%#l''鶏x_xG]VHJe
-WQ(U4<f>y
-Gf}/{HDӄ)bo%'7;W?YsIY^"ou29]
+793 0 obj
+<< /Filter /FlateDecode /Length 4782 >>
+stream
+x]K$qȣt(0kz{:=7I ޵A`;J>.1鮬H`D0 姅.?7L-8͵\> 8"b4#T(E/B I?Ï5^RSj*D)e?/ܾbX[Txc򧏿eP.$mSl&x_o$x QڑH~}ύW9)igTXyIK$RO%]"&F^߶ZsԆ Ĺ9hD2 hLԇJGիh,ؼj4v_桶
+/0tA ʵMæu{P w[<Vt,g>N>fқcDw#DV8
+0ArD~irf/ Ҩ|}(f4Ը7zJu\_K_;iv}5[qkZ\r u[ 4H֤Lʷ.he6ŀdx= Q}:]jL{'{u>%t8YA )jz1zЋ0"܊rD)x/ k%S&9v~N7^ѝߛ19۽qF(bVף63v1cov6yF+ܷ1o-Mmuҍ^Q5D/j#ry)w,C*j!%D營 ~ jru V.)%Q.H xSρi箘C<g0HRbR~⮘;YԖ(jgo[Jl殘{ADG抷.,0'(*>g[+^>(/>]1w{ {\v!Q^ 7'<Vߖ;<bUo+pO =miy0 :*`J`bœCZ{W׻}p Qp#q o
+7D7DV=G$1N~Rb,:'j)
+s/KHszZbl*!53 ]_Rm_@
+_͉NߢBEelrf-$Oa36ۓts`U=dBšZvTJr }U
+ܘ\=Ic&v.zYE\?$|CK9#iIf!a1W@
+JeruRJ!ls.(ŏ
+rk+smXk{%ԼkJZF*(Uu̵CoB}\(^{{Ww^`'䒖䣒S5Q
+d+KnZ'o늎3:7!|\WkK| շ#!?`_͉06;B')FpMf)xmPlo7Ok&K xֱFrBя^Geǒ4-p<+Oei~6:3t9D{i@^--xDBJRώ
+~[3^5?cF&]k[’nÝlɕbkS]yunђHy>.)/un+'䢒vOh#}^ )vx`0?KmPgz 9,?މwIzѩ (<5/\&):JE]j'?%ӵrf*kQkON4aړ z 6V>4K ;$^pD+gͪP5[cՇbg¿5wAb#?i)D3ȃ-yиj1K?{fW~韨k~9ޖņ;v۬hXS?S wY5fȖ^Cߒ0 =4 *C$Ftck$Ա"A媖?& ?TH Bl'8 !Zy ^Rzinu;q ᮨ3p$VZNyҷ`W~aH%^X
+@nRٳbCv|(2ukgɇyorPgRݹ9͑HtO'jiKJXE?@"o/QW"A:
endstream
endobj
-793 0 obj
-<< /Type /Page /Contents 794 0 R /Resources 792 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 796 0 R >>
+792 0 obj
+<< /Type /Page /Contents 793 0 R /Resources 791 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 795 0 R >>
endobj
-796 0 obj
-[ 791 0 R ]
+795 0 obj
+[ 790 0 R ]
endobj
-791 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.633 257.843 426.588 268.722 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+790 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.633 270.794 426.588 281.674 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-795 0 obj
-<< /D [ 793 0 R /XYZ 78.37 808.885 null ] >>
+794 0 obj
+<< /D [ 792 0 R /XYZ 78.37 808.885 null ] >>
endobj
281 0 obj
-<< /D [ 793 0 R /XYZ 79.37 292.075 null ] >>
+<< /D [ 792 0 R /XYZ 79.37 305.026 null ] >>
endobj
-792 0 obj
+791 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F66 384 0 R /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F69 398 0 R /F74 469 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
799 0 obj
-<< /Filter /FlateDecode /Length 3448 >>
-stream
-xn$70 fO[SvfH.KJD]m;CK$EMI5re˧;9|ŧEYaן E-! ࢰA-_-?<H鴔=s#AJ&WHFJMpH7_z!48'E cQB\getd$n,L;ad^|Ou2u>Wn2ZXVԟ }TPfAmkiŷ \}&@0Tt P*ͤ m$u|蒡&Ⱥ2;<EUD=KRU*ոxD)ǵG{ҡL«4KM4a"`.007$!LRXA6},M鲏! &CoNV#
-aQ
-:aӊ;W8ʙnZI'iڅH+=-<.XXhܻ Kr+-)%NXޱSNډxuz
-Ḱ,PEu eECEX h^4B?΋)ܕI!WS`
-=G58J ׈7kC}+l;_!<ATߘlfȓL pRe>x٬>`1N8ϬԕT%6RR<<="3Rhէ&&1j`|U2 {,:A˕(ռ-ZJ%d3esM;X2mj炚"J*^k'{1`ƀZFKv7㕡HP@[Z=fsxӁ<gI3eM\5_m3CQByDI5yn7nO0'=Pܰ`/;`0M7ԋiʬ֋^:6.th良_zXi+蚷{i`#oDaRj/tkZ! S7>:7Vvf&Bcn^ߨ15!r+ 3K.[I~)1$/Iɬ0lXK`@@`)mW&a&?Fy$Hbk{;]G?}U(#$Gf YZzX6.0$^
-!iWvg oIbHYuKs,~(e
-7ՆۘxLͼ#7¹bTqYrg2k-J"8S(x˿xi^ѓ{fI>:8o== vؒHv2UnFTLua1cʕa)j+l{xyY\ʘA>?8nb~k͌k
-dsyUSd 7R(xu4}m&)v`~ImIlhL3smg!nġ8nJ&jܚ${uJ!~SLՃ)nćeV oW>wTq< X-Ug(7lN'ZniVRԙr7C#9gX]Xm# Ph(tZSZiH7:$Yv $_BN
-MGaAG"NUv^Ȗ_?9w
-+; _ $/^ޒ}Sr-UmJ-\?]; .Vx&L_% P/YZ ''^q`ӅAn-6]zDcq^a 2s>.>mo|z+MLf]q.ۆg-4kq]-G8̑!'40P]_b1@u˚RտGzD?You FNۼ_6snmdUͣZZSgj$;; O^ r1َ44aޏw.^;D_wQz0c).?}mOK1³9eX)cÿ-~YN~kԍ*6C;'$o_2wpTl<ZA
-dw|y/w?/M_Od/KOwQ y.-0kH)K^~:TC` 5HvuIF/ G@gq^I#ҡ7kW`{o,F,I-l ^X'ôb[_:-#zdJQL$ w%3$V|d$cA O^Ii&8Il%{%T?bƭn R*aqcQ%]IW juʜФ
-*"[} bJ'+]ܸ 4Bn6P#A}y|=N kY+gj9XiV |QwYQ"c+uDD׺'ԆޜAXbʦD&`k^+giU7 ߀
-#M:3Ex3BBAa_Ia"
-_C#:%M'3[):)k/;F3^q}_,|׷+vT~<y#{S
-v˒\g,@nYRsKۚ ,@tm,dPǯfVttʁeՂQ7nږ׫ ޶k/Ⲟj8u
+<< /Filter /FlateDecode /Length 3559 >>
+stream
+xˎ$>_Q?в`i>9/(QGWLlzDRߔT+_|~ׇ^|Zz|A\0a .
+G)һ?~ x%+u$#U.&8$a/
+h=GҐRA" CQB\getd$n,L;ad^|Ou2u>Wn2ZXVԟ }TXfAmkiŷ \}&@0Tt P+ͤ m$>%CMuevxz<Uq"_RDk")Ok@5CWii,Ø%%'EJ]``o*HZC& .Y3(mTćߛeC6
+C;-L3 '+~0Fw¢ =u¦w`q#3mOՓ O:+őW2/yzZx,>\
+Ѐ_wzA22/V~[ R(WK :رc!$ue%q )YzM㡊A% a 2PB+5@мh~SD+Bzjp^ "w4:ֆB]+;S7&W)Kw?Bx1?jhͲ=Z['i除ɥ(!}HMUY}cpv%-YJ
+ m9Ky:Kyz/EgЪO7BMB[M2υGcHI \ e
+WABYt/Q y1[n=
+JdgLLRw%r+d*w
+D4qQ1Ӽ0'P+|tp8;o{z>%nſd~1p9uؙbdž+*[SV
+f]H71|hplG4
+dsyUSd 7R(xu4}m&)v`~ImIlhL3smg!nġ8nJ&jܚ${uJ!~SLՃ)nǽeV oW>wTq< X-Ug(7lN'ZniVRԙr7C#9gY]Xm# Ph(tZSZiH7:$Yv $_BN
+MGaAG"NUv^Ȗ>9w
++/v>eֽI^%JV=M/2ƕZ~vxI/]M1A#7y?^3 0fN/:輔J'ܸhdqq"p 4`3$2{]3ƙ;,b,r:GkepwpzR64Jsw7 +N w;Pil|Q!>`W{5`+^|g!vtwhEww&ZP%jbxhgaA9 (Knτ /)9ϲ-mJY Ū+8s|X>M{O hiNιO`)Mp1/#["TE5c8ؙ4SBiC
+ `.?}{mK1aeX.
+brL)ÿ-~YV!kZ#T6GL߁(NHž8N4O`HJVx. 9(l\~m/`5
+_`#V.F^~:TC`? 5HruI7ƒ|r"p0w3~;c2$tAyp>^<)淵-ld굒-EuZ2|vܕDd [Z2NK&7N2:Y$۹OJ3IJle+)]F@aΫƍUԨWݜpc'ӑ+sB*؊V { =+v t"r㶒OZ+mFX}~t %M,xU}h4@+ykB(kH
+(lߕĀ:
+s|kJCoNGYn
endstream
endobj
798 0 obj
-<< /Type /Page /Contents 799 0 R /Resources 797 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R >>
+<< /Type /Page /Contents 799 0 R /Resources 797 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 801 0 R >>
+endobj
+801 0 obj
+[ 796 0 R ]
+endobj
+796 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.424 267.823 426.379 279.778 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
800 0 obj
<< /D [ 798 0 R /XYZ 78.37 808.885 null ] >>
@@ -3415,90 +3397,102 @@ endobj
797 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F56 380 0 R /F57 381 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-806 0 obj
-<< /Filter /FlateDecode /Length 12497 >>
-stream
-x}K-޾Y`}ᮾ*`ː 20`D0s=%iMBꪯ" 23tus_~鈩?~zxqy ޝ(90|#_b Y:!k{ R8@~֏^BIw(N/"YO@Y0W(A*,?{65iu |Qg=m^u, OsJ?rwv 9xMo_CΐDp&+5SB<|,{$1) C
-,A;iR4hDQF$)#hkp} 7aVcUhM*
-R{&1uZ&[?ʸ޴Dg"d"Y7ǮA\9k58HiWSC6˂;͐|j4[-2T7[VB{]p)+v;{) O6/oV˾uCf#4l>3XZzВ(e,}ccxN=,HeTwsjm<p:#Zͽ- Ft*i)+E;}/xn΄thFȄ/awִ\OF^X
-o:'l/$ܛs=G}h+i4d<3{!zm&'Ui.[rܑ
-Fؿ~~wӫ4K;bi/7
-i#7Ҵ|pШb?
-$-#OWv| ~ۃ5Oߥ_O zQ_40.+}u>>>r9V f V^MU,.#\ڸ8&IܷzZǃziTsBǴ?۫>ݚ^nEq1}r lC(TFګC?3lm!:` 5Ub:jȯ&Z?蔠p3ݧO$:_w | t7%i"Bu՞W5[/#
-A*1=Thx΁0H ;@i
-\ݦD$uձG~0kj;S&p:l
-r@蚍
-OadKRq&~O40
-wܠ;.|}J [ЁdXc* cE5DQy<'2c9)pq낭2Ui1%+λ^dL5.WĶdYQ HUc?'deиrЈW8P
-]D7.T
-`* gÑspqdr[FZTSpj5| T)ZIYѨnp
-mE}&Az7"R<Q5!sA=D,(3 )+7=WU[@C//( yٷ#)#cWe"VX#T"dRxQ4*jPr=*;iQ  Ìł(hx U&hĠ$-Y]In&XTQ jO3&Q)I1:g3">`۱
-W+VK YiB< w8!P=Ƹ Cv%0:ԯ !SEx c@<|2XX Ōo12G}+ּKF7br@4'I^x
-({OH A [>R1R,
-SM=ô
-X9^ΎUj 8m=PX* h\:
-X:32R'4U(7h=}=[}
-D)XɍQjw]Gp-GB‡.<f2oR]#ǀǺ=/ba B&D[x|`m%&kTrSA;*1hl+P^հP[''\!A!t2Ў!0Y\U7!2mPu}֮@ܖTABrjl(& 聏}o(^䗐0|Ҟ#(e'w46Lx&k%(
-:f,W}X O41Sؒ%$f8O;4sx9Dl.qNCFH*qӢbhmZ<-]/c즕5hɑU:/x,< 6T ɕNâo7ظE=-P|#\Ոfg'2[*6?й% OQF/Dx@>%#0^_hdO]PaQ̇L ¦#+F^54=jMx?4o6:P!Rtk^
-~ c[U3aгa|fҋKeŇJkJu9a,?n0gb]0.ZQ Ȫcד kf|
-f:&lPny7>a hgii'@d2Z
->1nNKvP%
-ն+7M([c(b! gEKnƝCY`7ql-QtFfjfg8mV:XLN<x {;;*:=rU6LTÙ4h1fr3vV+b EPvCm1
-0T)^-g0&acT c_gj-ۄ"6{~f j8S-fLNJr4B}r4Xn_ښ@sN~U6!M3Q6V63
-T)Vc1IϦhc-^,
-WKK,fƥ*gjɸ)TwZdiD&u>4av 4_2
-^5ݥE4I֨T]LMa!n]1N =%"OD$y|&MfN$)qiR7F΁KlLخB\`PjԔۖ$*WdXHӤJIƮIJ Vn5 o <NumX$Hƴ^0'52U9m)Ѩs)os43,)e
-ǀKmж\ 2̨&SM#(X}{ູטfJpSҗ{ܰ_!<E8a*mߌ"8᝞P'|3.EٛF~ʯs wl ƛ$\q7dN(~!xiCph.>cNP3TSn_S)p—os`lApADl4r _ __'+bHui& o2*!ҟBɋC6~%Z?h!D D> Oy~ | r S=}//})B)B!?.~/~/~/~W)@q;^Td/ )|'Vzk05eP&ȞɠmM5$ _$. E@#/+7`èl=D9B1'  H¯a!B-w1ŭL}\S/>ZkW9ѧ)fBaUYMQh
-?:4d6# 1*,DmpY1HU^Q
-Z +fgvdIu}/b^hY2Y 5:eHZ FVu ]n;k(q:MxP
-mA4S92Dd<lD.|wg6m@>Jk.]}f3PӦE{p5u%ZY
-(-Z%4 Fcp(/s,VZWEFo0~4&pS4AbTZsss+h xs!Ÿ`D~5#ׇTUX0LuHlE"0KuUb44# Q0Xa1.0*9Q{xH1?za߃_bm00~U
-(:\WB֮@ZBZ;ū7M& 2ݔ
-Ε1 ?j@(;X/bfq߷
-ު!m':]7ڰ(ZeDx
-[
-( V#b2(&<GӢ \dg*1=JI*0 /`BʆA`QgG,,)xEWU}GѼa Ay2ŦS)&e[MPzBl_ZڑԝGzc#6d_UEn(`L*M4ҙb⼨cWH;\ Q/F3[GK}p47v Px$)pEjӊkU b
-ar 7UEAN&TL#U{UcIY#0BC8\[(~ XK"H频0[f!2A ;Ί#oƬ lSj;E+ŭbJA!!:( 
-YEA!Üzuc&@װb7cͿj6
-wF8>XǃH= % M&Gݗ&|\hjO#zzZwa
-Zo!|S,F&zceI#q |x>Ei4y噹H!0 B7H \_
-t7%? qMdƶOf??1%[?1%S?$3@f\22cg Jf|Q_TEe|Q_TEe|Q_TEe|Q_T/x0|f
-ec;dZA^ꀪK2KLڿ*W[Kj3?B+{~1 YASj;Eky\ZP+$^|h#:H!&/|1jcHbeV)U玘[LƬ 5\tOLh*:Ms/'Ad
-W'iaSWA LHB[ 0&yXωPZ麇C*N-45b܂ԃ$8m ?tGoB@\>Ɋ54c7HԤ-4'I^x
-hIg}
-U2c";q/jA-4Lkx+6"(rcȫ bzWMr[F+D> EkW nD`ESB<z|;F/,'YQJ́56^,F67W8U4bf,W}X O41Sj5 'b*LKkAO߆Sf|"6I Ǖ!71--6LђFq8i%g0p Z_YV3-z6T"fGo/A5 6bO(!0Eȸ1 Xf;ш/I#'Lm  hc׷Ǯo]=v}{cŬ{1^̺Ŭ{1^̺Ŭ{1^̺Ŭ{1^̺Ŭ{1^̺Ŭ{1^̺ a.n jt(ECGwp~#]Sx*yH .㒔"J|^,a>WvC!nۿK =zOῑ_)H(+Ԋ13lkHrDf~T'yΤ߬ݸws( "G%Rb-gCS*ߊ:s˴&= mR22RKroLY?i94 ʩ݋~o
-rM 7 g!;̄_
-OUh:Joə7ސHzf1q:^rD2y'tkaB&HnL?z߷tۨ#̜;37t~sv㱁>'&ʠ|C̢s
-gRttc&mNYƣ`uMM^ȭ 'mfrt<Uc D$c~h!0KN?^ܑN2푋_?i~gňO1]cQ,g&.F !vO#\s!Ж頼쇩$HT2FS6Eٕ@L/v:}aU"-`gfJ<iI?^P(J,.kB΅9P\=hn˼\gĒYGV\Nһ}ZNMtn~тSCw4JW"Ϥ.$hƌorQ搰|Mb
-:i_z?#cN,XR~D ,PkkjGo?a읾O!ΟPOA>RF#7mꬡлY)u߱x&}7gWtdq~M)tguq6z׎L$πOA{!ǛǛwtrܭ:T+l]F*/<,rsڪ9m㶥R_$$ z{v2BHW (TZ@z6fFl!vM+\ua*-=KS
- aWY.:w'S22񹟠1}\lWfÁiP1aRb[
+807 0 obj
+<< /Filter /FlateDecode /Length 12532 >>
+stream
+x}[%z`t nxjZ%`4X-.C6`=w#dsԌ'T}d{/O߹otT˟?RKHտ\Ε_OS{׏vn\F94v+%|k _#L ©Û/%tP"etzJJ}ER)5
+I#@K`=N>KugiX}Pî8[{Tm}*w$#o6q_)oc#AMzW8e کӔJ=|A$2%LE[p@OHowͬB˯W]gxDqS>APƑGo< v{Ꮮ竭4IϷ' P҈\żW7Pr?BK:9P`-6Q/_i ގ r3?]n/5\RzWIp0Q=3Ӹzi8^iH2Zg6_۔k})cI0S3w"$r=!C=2N1?ܗE.| cj#1SJ.2%#u1Bj̤'DZH9G͌a䧬]4qԪ̾嫬k`0O5ݍǶ3"F^$KIz=uGc9|c@9[kkV839珩2V*h'?!F
+=?v'Y^υ!_FxW.NYiSà9jHhο낳LYٵyܚMa x }װx^-&WG񐘉B҃D) fn{871PgA(0UHկɅ. JNooY5S\LH!_|\t㙻á!SF>>4cYr?{c)0pkϭ^ݽ1{O+"7yҐ5[>-+L\#c Wf0`&w H^Wpbضڪ뭎+<Wp]eGtg.S~nUe|;ДniYןz4]mZ>Zng~vzӱyo>w
+o/ߗ~|41|jG,FH/Wd?BOT0>jPP1N '{;lVa|;!ϹD +φ/ſK?O*$>=hѱ+=.>?>r:V)hLoU,.#\?IVz;ZOk~P>jsU蘖G{ukz'i1ezPB,!d<9lo!!^QC~6"Dê?hHllۓ}@,>c=Ϗ o/A73i"U =~-$a'|O nvB8UUB/wDL!|GwDl!|Opjx(Bݜ_"ao_*˵Jm?iWPqĄ1liΰ.xЂbnIZnz=m,K ݏO]ܸJ!2֒K~ 8w<$5zǖ^*Xcj3Y ׍:xCvz'?D*4_dwj<
+TobdoZLbl bW(b'wTq aJ3 Q dpI'XCJ&
+%_Z3{؀elHv&Ә" A7[;\+1vSQYº<VSUga(;JY1r^U1rVL7b) #G-ㄕLANhIp %/V
+,GmXQ QT> Xp
+2\Ňb\Ǻ`kf@UZoʇ%Y08S>-YVTR2Y3446.B}Q9K.U؃a"p\\jk)Ym"ܖp9ZƬ 1r3vVh*l4*(ZQ׊
+ 8>E+Ityr=Wm Yn;L}sɘ{*gBmh97FlxBi@A儶Vad\
+x\h}bP'8#UY   {i6G^!q|Y\m&l(zBƐ"I8sxg' Ld8s3LcF ԠBSUEnH loXN]x8:TTz'oɷE0@%+& #]km@:z&4>Wf
+&?ƁSHrۉFcŨLy<3
+N>VprvR|I
+Pҙ$:E,qX DFDs9mpܳ*;9ީAԝ& (`~Q
+Y>ʀBA=v 2m*!Q]vNMdD9yx@{VB-GlaZ6>
+A
+v yQL᪺ YnhwQ}h
+mA(T,Ɔb8E~
+ 3';RvrGs`˄ǘ=m6>XRmnp*1*arՇź`ܜTI(<-YZMB`6/-Tz>G?ǗP> Aı:wj y!sLF ӣEkxd4BtfVr
+נ%GVbϳ`N'A \4,FPM!zPQ"
+uGih12I,+w z;9N9 ej;-Tl@3sqK\$5"5C_H |cKF
+
+aT ߓ$MGVV=khz"~/Bi9+8ltC$
+d
+e\ɪ@dNVa^68`CmSz":M
+AAQ
+5u:OJH[ytY,~< DVD{nX:,ǓjW >i!TNce{ 7XI \
+ 7T
+m7ӘDL&|<@ &NhH,iΆQy: @g4O
+Aتeתf:І3%hN F!O G3j$(Zh\-p WnfT={΄AI/.Ej+-*-F堆ae`Tœuغ8jE% r]On4]ŽdT|8Bn*]tA~i0d|ZqSE\:Ynhg:^+Ǹ;
+w,A(Tt4hn]Q%7-wf5}ıF!]韕 -Z8c1iJ8h1X4XʕV} d3Q gӠ쒛 T)Z%B (G^,
+Vrc",vzr4 xI@(<_rh7*~fGQ]uPg_0D@w}1D3 xPPI[C<9uQg j4S<.əZABfw}Twt쵂wۆ3;^+U5<[MfT!OKnĿ)ALmhԌŤ!˹G9`^,jA>_!9h3&GQ gӠŬ͍g8vVGi(3 |7Վt' [DOF>س#/;ML_d3
+bd]nO1`н&Qq6i%oܭ1iJ6{| <vWU<YIaKUոɓqS5҈L>|'iÒ1VAh7$'ejK>i Q))*CݺcR:KDmXIM
+(m3IRXR3|5nӤnNAF<٘4%]<9,ՆX)-SCeIT*4I؍]$@=fݼk8&߮,1yB2 QI}i;`5`&O
+kdr&@LSPQ}%S6&M hG0X%/S]yޏoxmL3eQ) 0MFPus1͔EI_n~~Ogp="NJì&N-a*J_Jo({SWN?Ahi[^ԭj>D#A0rK~ xiA0lƎCY(oow ]p8.SG7:E)~`\"\ߍ?pU&BO]&ϑ.MIj"Gǟ\{)b !!d|{if~-H \w~<?^lKSl#L/mۻwDL!|OwDl!|X?~r_?|_?|_?|_?+HSB-,x/v8^p!Sco)Ox׈ajʠaM
+=yIA۞6TcP~͒b⺨#'5t` XW?<{{H0 $ f: ]0qL=Xh 2_D Ug5E f*8NАOhHĨw!CC?f RVyFdO`Ryҋ*w3S= eymRGf&AT6񁓔N$qނ
+3H^2ަܨeUfWs:T!EVH՚H]7+8#mP ( KxyOpfytdc$x!ak 
+kX1$vD#`6mC+eU'N*Tjev4
+9@eN+kԕh
+f?+8ڶh|dbҀ=E¡΍# |B[
+k]e!ӘMaQi1έЛ֛0ةqTQk<G^ R1?%8a  E4?a
+*벫Fņin-hF>a$b\0a0!7Ur
+Tdc~
+(5]3 QwW_oJM"0e! =74aO,zz5 L 1^[[YoUǐmXl2"<3SQs*K|!ra_F<tj _GG:${j-
+$~Q5Z)
+M((QSIl髏TV2h]O'
+( V#b2(&<GӢ \dg*1=JI*0 /`BʆA`QgG,,)xEWU}GѼa Ay2ŦS)&e[MPzBl_Z9 DRw]ڐB~
+gpo*r7oT)Ba0m87XKgr̊jQ_"KpI{,D=l x/-؁@ =|M+V
+ޯUUEn(`-*M`,
+u29bcBK 4tBc ZEfGM\"6 wb@dVqVTui{3fa T)Z)n5 uOU
+
+єxYAYG
+5;9L:*1M
+B :]DAnNuR+e Cm* $??n7L:m`)N?T">J2!A":XK]T*&ֹ© jN4cqԊj*6Yg&W<Rچsی‡牃t2r=
+B݉G VBdX0R$O|P%WӂqsqRE5Uy[dc҄}7
+CvCcR6ʎYjdEߍ׍ aDs=V])E2Mo݈x|}-y dI&<&XPjXD%\Um!,`q^XX-]Y{:2v:.b5$KD8YSDbAZ
+a(L̄A5v0,"tou@aRcbUHxG#6^IV lRXK1zfFEH`3Ԟ@BMY(4آsa:s-O)*-`VOѰGZC?2A:3aL 5*ס~$;stTLE[hu-kĸéq@<|2XX ^{#BÁ"gk%id nIҺ.iNwR1\U*oGL923H@/B"n>b+BlhLDXnľ"D,rC)g3f䖊i<hOuw
+ N:|7 ϥq -vxxMAgU +3ޱVp;FITcj'J!HuPabpKHDS,qX DFDsCmj>枭U玽SA;+1JMQ}7ACF,Y>ʨȖ&U02|y+ +$Ue2-'ڠUeH;Fը@lGΩ@ԝB̘H4cj܋vjq<b Z==
+A
+1*Uu"ܖ>
+ѻŬB۲*(Q=XyԄb8#ME⛻>I{F*RvrGs`pMMKQ0N1wUqsS%MZMBƋD
+sZapo0'%ǂqOisLF ӣEkxd4Btc\06nZ*\U`K: g8&L+!FPM!zM"O#>0LbD#־fH^u&'26s3cǮ]>8v}p.:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:|M7cpY #ѐ<_V^ycQì$%)Q")곜OUvorBSW
+
+Dҳb oL$,Iŧ3Wk`w7ļɢ1?ȇs,<DD \|-=s^tg{o\Z6W`mm{>pJX:#x4xc7IIUVNn^<{{W{oJx!FQ< `"N>1N(Yx k*lǪs#pC[$.|- &P>h̜;}KǸ8 ̉\N1s#_L?fJ>sb 1,:Zj}&mLwNgp>f$1ޘa<
+f;Quuꭝ@yxIlRˊ
+ݏzh5M[BWú/9ufn"^,v{SpG6ɴG.~}>i{,U"ą^i!.VBºIpk.d2L0J(=VjG}%^o)YU ۝r)%@ze8S(k}u
+!@qEm\T/bK"g}fYoe2sK5݁zo^߿OaS}<chNq Bi_0BٙTEd͗uZ, G,:.kKr]?W |ExX9)Q\:ޤX ޚ`9c,J:-6ޯ)dZL5 ^|1R~NZ^veȘS?ݯ}8˾_GBnu[I7a윾O!ΟPOzz[*7|c7EO7,|Q<c|Mگ_S¯[oo~N)R+g6zwO/߆O(G:I:sW`c2(us!سYNi+̝mOHrU|LUHioŀ3ĿE(v6.[뻦9"("[R}fVشȵJx[ԣD`?NZ);k)<WV~OJ=ZA>wAk.oM^ 
endstream
endobj
-805 0 obj
-<< /Type /Page /Contents 806 0 R /Resources 804 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 808 0 R >>
+806 0 obj
+<< /Type /Page /Contents 807 0 R /Resources 805 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 809 0 R >>
endobj
-808 0 obj
-[ 801 0 R ]
+809 0 obj
+[ 802 0 R ]
endobj
-801 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.495 250.272 375.45 262.228 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+802 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.495 251.269 375.45 263.224 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-807 0 obj
-<< /D [ 805 0 R /XYZ 78.37 808.885 null ] >>
+808 0 obj
+<< /D [ 806 0 R /XYZ 78.37 808.885 null ] >>
endobj
289 0 obj
-<< /D [ 805 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 806 0 R /XYZ 79.37 771.024 null ] >>
endobj
293 0 obj
-<< /D [ 805 0 R /XYZ 79.37 693.277 null ] >>
+<< /D [ 806 0 R /XYZ 79.37 693.277 null ] >>
endobj
297 0 obj
-<< /D [ 805 0 R /XYZ 79.37 297.714 null ] >>
+<< /D [ 806 0 R /XYZ 79.37 298.711 null ] >>
endobj
-804 0 obj
+805 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-815 0 obj
+816 0 obj
<< /Filter /FlateDecode /Length 4647 >>
stream
x<ˎc
@@ -3520,45 +3514,45 @@ T`è7.0M5$pzpU88p|NLx3&CK؞Jj„O{ց$bd.pԙޥ!R#y
u-RJo|acbrL4d4M_'7(Y7RZ~ks.H:T/wD*]W:ѢlI#'ii|(PƏ*ъ6#P<5RQ-]ȥfQh7n7#rOصщ(gu |s>wxZg㡖hcETSP4Q^1gG|1֩ҶY&\MQ$4 )l;AtmHuǔ(:wɯشϬ!eTl &-!}kTl0pZc`{*'ֻ{Hu:%lSka)=BVJp-W 5q<]~vZ`(-د0vSn _kVR#bWd_\è;έ28V7>
endstream
endobj
-814 0 obj
-<< /Type /Page /Contents 815 0 R /Resources 813 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 818 0 R >>
+815 0 obj
+<< /Type /Page /Contents 816 0 R /Resources 814 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 819 0 R >>
endobj
-818 0 obj
-[ 810 0 R 802 0 R 803 0 R 809 0 R ]
+819 0 obj
+[ 811 0 R 803 0 R 804 0 R 810 0 R ]
endobj
-810 0 obj
+811 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.069 182.009 241.024 193.964 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-802 0 obj
+803 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.303 148.634 444.76 160.091 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-803 0 obj
+804 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.628 139.169 213.085 150.626 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-809 0 obj
+810 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 117.993 82.382 482.208 93.839 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class)>>
>>
endobj
-816 0 obj
-<< /D [ 814 0 R /XYZ 78.37 808.885 null ] >>
+817 0 obj
+<< /D [ 815 0 R /XYZ 78.37 808.885 null ] >>
endobj
301 0 obj
-<< /D [ 814 0 R /XYZ 79.37 591.896 null ] >>
+<< /D [ 815 0 R /XYZ 79.37 591.896 null ] >>
endobj
305 0 obj
-<< /D [ 814 0 R /XYZ 79.37 418.093 null ] >>
+<< /D [ 815 0 R /XYZ 79.37 418.093 null ] >>
endobj
-813 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R /F88 817 0 R >> /ProcSet [ /PDF /Text ] >>
+814 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R /F88 818 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-819 0 obj
+820 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
stream
x+T030U(2 8LXX) @`@
endstream
endobj
-820 0 obj
+821 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 53 >>
stream
x+T030U(2 ,-,,r ,,Lt–fF
@@ -3568,163 +3562,159 @@ x+T030U(2 ,-,,r ,,Lt–fF
endstream
endobj
-821 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 822 0 R /Filter /FlateDecode /Length 15 >>
+822 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 823 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-822 0 obj
+823 0 obj
<< /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 50.00064] /Coords [50.00064 50.00064 0.0 50.00064 50.00064 50.00064] /Function << /FunctionType 3 /Domain [0.0 50.00064] /Functions [ << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 1 1] /C1 [1 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 0.5 0.5] /C1 [1 0.5 0.5] /N 1 >> ] /Bounds [ 25.00032] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >>
endobj
-823 0 obj
+824 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [0.0 0.0 8.50403 8.50403] /XStep 8.50403 /YStep 8.50403 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 79 >>
stream
x=0W Y".RRҿ^( U b1H<ܪY`2rir:"B,Yr߻qB
endstream
endobj
-824 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 825 0 R /Filter /FlateDecode /Length 15 >>
+825 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 826 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-825 0 obj
+826 0 obj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
-830 0 obj
-<< /Filter /FlateDecode /Length 4703 >>
-stream
-x]IWh<<@ !Q" XvTq'=3AF3&|,G_&:}AOLM8͵|df2P)R#).gQ ~VCLρ?E^ZRHy5(7,7J:"j&5qw~!Ro/L-Lס>B{hZRMƪJ)OLtd)%Tj̘
-O\$3{z|
-F oS9 U=74McsgU`셮_ECS]Nf[6MNB IR=.,uQG{?N@* lқ5AhIvWiUTSF/}w,~BPx^T]nNSNMS驒}D'! zr ^jj_o|lx̧y*xilvаdpYE@/n?%3~]rO)G`~|KvڇOUؙ
-#>}b*>\L /uDB J-s9|PW-7jѷ#/tz9;4Fu!Z&uvhu*PIs1 _ s?
-H0bf >tm8 ]1GLG9RU;HMn30jfrnlLe>˹@'lC* aۣUP3}1Xѓ+ˀ;
-mǔYfC!lQ[(pKJYsNrXOׄȊ=xW9To(cn@{d2.8#jGHK"FG/NfT.r\mzڥ#R'/}īdW
-D(%*=oc^jbQ1Yb<6<_=DfP'Dv( ]
-Xɒp
-/ahnvH*Ai-DRCgJildIĕy Y]%%<ܤfJ%Y΀J ho^@/oJWVLo_}=P}G7#Pd
- 9}ty.`.2ZE⑗O_tϋwߑv}V;cYOiZJrpƹo5e;u{ƹΌ0ЕT
-{ J;mI >_o(1vS8R8,Num{UJE\]re!АgMCɯVd
-'?j 0ia@8%'s!SqV
--Y]'df'_1/k?|*]uvC(;ڪ>XPФ`ɭ$55Ģ[<toG%0_CdHxX~ ,+M߃]ówq2shr IcF]\*#q.1L8K.7q_*E%( B iW NS}
-u7\!V!k4h[I)( oM嚒(:Ksrf4H7>|)B*gʉ, RQ3ny|rG7XVbajy!G=B8)j$8UsNwas"LOv99-|_yT0pJ.j;~uoe1zq(4\X!׮%_(Eg~J{jMe-NۧMl5hʰi:!aLg0o9_7:ƅ!NWO/1p>1T?ver?bbPXPuYNĝ0GGi"dх{*B9/b)ݮ ^crr(cT0} [|nWA
-0iHGcxȾ/lJ'X%EҀ_#:FlcCrPQ]RV<n 涭HLY3'J 6cRRE5wЃSp?YK:6wDk p;S c;\0m8#4N4YmgJ;/Z1Rn;M{v`,7e-S` ~ X]I&eja{?] d0~ؿ3rvyZi -pOD\61sW6 mv03{ 7U
-0?yd_(6% 8688es᲻s]QA,_NxƑ YNZ]Ԋ0KιhGJVsˈ6M)WHo Yzi5p,wnNpa}אEzNG%9& 65|Ku㤗ooO?ËW `/~O{yŻ*(Fü% Ĩ>@ ds4*>TFBtSqIQx8yf(J倰_ , ÿs,.%C!
+831 0 obj
+<< /Filter /FlateDecode /Length 4697 >>
+stream
+x]KWhX@
+pN`(Dr,;@~&=3k fEVb_K_&:}AOLM8͵|df2P)R#).gQ ~VCLρ?E^ZRHyjf)P6ʹNg4Q2)P0uGn-?UT\IŒ:7ۇ@[{IKRX5V,?)42 YJI4s=UZ5f“>)I^=_k@:ձC.E
+<=AM\
+ A%:: W*OpE*ni7oi|ʲXS
+6i+rWT_~F,KuڼO80Eb@ݓZ<Yd#k^'=[Y5ަr@zo(A]e @ Y5<ȋź>j*YlXѝu=&1,{] RY
+dԯ8JaTm S6j͐]! tcc*t/
+NgYF h]R47µː=z&EӸȡm%zS{ ]sN/2?')0IaUaX")."+-܃; Q˸(qیKCNV{Wɮs8V(%7tʼnX簚aW-XVv1WwߎsdcPT(%
+-0$@J5\(Ib ~Q_-1Pk]f=&;ޑ:ޘ+N%JB6v628'Oxmhw}9jZ|5"Y(q*׫1L=1=zқIZ|3_n$_狺IYv=(=5<*M::"0yĩ?_Y"s?VN~b}4G݊3R
+`X多sS3WX|Pjh 8e `L J.k[[ZSGz[s<ۈKvCJD: ?/:VO}|KcB)9Sܘ ętX3p{NtTZ
+}off?g^)*D[MW,nF%cݶBjG54ǦR9}\jE54r0b+)YШv)$Z`aLZ0&N \.TzmB_fV "s˚//~9(JVP'sQ֪w4Xr+xM ,1tQ# }R0
+zӮ`jW(shc]4$1rڮwR\t\&%Ҹ/XmY`BUyr
+SEmǏu5,F/fu +uA8ŴOAhO[0fĪbD|yi)7`IV6Mw=; ͟=Fظ0IݴUS:#NjE ]mvoE6V*TvSr7q)Q|BzQ=j*B9/l)ݮ :?ySN]z>#/Pfaۏn+G
+]V~7aƍHLS@GwU>22pļU> ֙Ahap6
+a;&3PLiWao_H5€ጀ8=Lg ^)jzǴVOKO4فXJ]oZ@ ~ X]I&eja{?]!?ݥ ;'JgPh{$?e.č){ CW*m_B_n)#-,Rn9ZaU]nb)@ݿ?Uq@;*^=0~њPzP*F]{⩡[J&p~DVُLUAŞܛzOmko[Rڮ+Ltwնp+[{*xjbH;yGs{3WËױ.jmpsx
+w jE>;x=sю2n|aW%M֋I>3$>DKX}: U Y8'3ݜpZ! 95zqJ*ԛ7ڔt-Չ$_pO?ËW `/~ P{yŻ*hQy K:Q).}wlڻG*(C$]O7:<נՈM.3¬\.S`cw3|դzȂ_VѿKN 1-8MYj\7ddSxɻKa)EC@tq|
endstream
endobj
-829 0 obj
-<< /Type /Page /Contents 830 0 R /Resources 828 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 832 0 R >>
+830 0 obj
+<< /Type /Page /Contents 831 0 R /Resources 829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 833 0 R >>
endobj
-832 0 obj
-[ 811 0 R 812 0 R 826 0 R 827 0 R ]
+833 0 obj
+[ 812 0 R 813 0 R 827 0 R 828 0 R ]
endobj
-811 0 obj
+812 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.199 721.708 415.675 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-812 0 obj
+813 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.088 721.708 444.043 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-826 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.299 73.114 469.523 84.571 ]/A << /S /GoTo /D (section.5) >> >>
-endobj
827 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.227 73.114 486.452 84.571 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.299 74.11 469.523 85.567 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-831 0 obj
-<< /D [ 829 0 R /XYZ 78.37 808.885 null ] >>
+828 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.227 74.11 486.452 85.567 ]/A << /S /GoTo /D (section.5) >> >>
+endobj
+832 0 obj
+<< /D [ 830 0 R /XYZ 78.37 808.885 null ] >>
endobj
309 0 obj
-<< /D [ 829 0 R /XYZ 79.37 652.951 null ] >>
+<< /D [ 830 0 R /XYZ 79.37 652.951 null ] >>
endobj
313 0 obj
-<< /D [ 829 0 R /XYZ 79.37 613.666 null ] >>
+<< /D [ 830 0 R /XYZ 79.37 613.666 null ] >>
endobj
-828 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F69 398 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F46 388 0 R /F66 384 0 R /F59 389 0 R >> /XObject << /Fm1 821 0 R /Fm2 824 0 R >> /ProcSet [ /PDF /Text ] >>
+829 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F69 398 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F46 388 0 R /F66 384 0 R /F59 389 0 R >> /XObject << /Fm1 822 0 R /Fm2 825 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-837 0 obj
-<< /Filter /FlateDecode /Length 3077 >>
-stream
-xڵˎ>_Q?вD nY{X8ij:zT{=ݥ)S$r>|xsuqRJDk>~~PFNjQh?ytj2() ;?񧆫)eнO ÏbV餽}7OZᷗ[ 8׷8qMD囫Sс3+\)
-SЏ9 <Qwd'" ӷ!L&Hp2Q4H“n~Rdm
-CF݆]ɂL|OOl\ϻۡ4jJvW۟WĭjFRUі3_۵ɤP{"H5ME2}Ѽ
-íu(:~`!Y0iZjj75!h5񾷖y\[M[7^2)c0
-j0-[0s2(
->RM<f( a>e| #m>f1Ѷ
-bƹ'}&.%
-:xM^r P]ʻyK )0ZH4%tFpr-b;xXθIL\ ǚyB?<8pڪ~wD}+5uorLGh?=Vst><1SnD`?<,G/} 4ONF$%?b}A_3f
-6xc}P p^߇* JT[HD"H|\"ԿÇ$C5-Q^+.60nĂb1XY!S$3WGuq5 | &2 {R<U%ziS)coAhW>k4:NN:kofyUKT0">t^OSQQJ[@[gЫLNDS
-ςP j!u#<ήG-)EEnv CeꕲtT8u S=ݒˁBsXhU
-N_d|2" s
-F]Fh[Xm:~T’.z t]LdlȦIFMįd"0HD"^l[xPBR"hN4Z}iHA"BiKqft̶iK4F: >n46[ZY٬%VUk9`6apx7hA4ۆ;G2HqS-{F{H2xv{\}-q[)ӀtJPm4;kvw
-R (n~7@@G>%Jy{nreqzW]"w&<rYقl 60&~VGYƻʈkl[=NWjz龥͵ ]k+
-d-mU5~ˊRjQ} ͸wQ{ח^Yd^rc9ai˽[Lhsfsc_o2w;QgmjLDb]L[Xs1U ۵Q𽃌 Kff΃s ޱЕ<*`Nsp1ORcWcTW`E%惃259ilI>sG+:Xf`Lo7ZFl!Jmkר0+g+<UV>,Up6 "~png[\H] lP:6z
+838 0 obj
+<< /Filter /FlateDecode /Length 3078 >>
+stream
+xڵˎ>_Q?вD mY{X8ij:zT{=ݥ)S$wr>|xsuqRJDk>~~PFNjQh?ytj2() ;?}Uᔲ'Ji Gqt>қ'q[s I8[UMU).VF)ǂBNFӨd2A&|Juu$[F?h)6p
+{Rÿ6%Kڡ `|.+1X8nm7);m0L2d $d UqL2WyFec]ߧhB]sG"#Jlm/irS~bma2mIl=TKoB$) =t\q$ldqs)pG'j#+#:Q\ks7eL6su=ٔSX90Y16Q5Pvxc_o:
+3SJ6L\7D-=an$^(q<Bѯ9p&/
+.]ȼ%~ o-g$֒m:#A9ӖHh|fx<,gܤQ}{S&tFc<[t8mU?JٻBU">PÚ:7MqGh?=Vst><1wSnD`?<,G/} 4ONF$%?b}A_3f
+6xc}P p^߇* JT[HD"H|\"ԿÇ$C5-Q^+.60nĂb1XY!S$3WGuq5 | &2 {R<U%ziS)coAhW>k4:NN:kofyUKT0">t^OSQQJ[@[gЫLND5=
+̀?^f#~\9*6T>ߧwC/3}Hp?]**+\ 8ӷ%㪛hTWW&F-\@0a(~hfT⮃DĤQ uoKuv=l,2r
+Hkk:
+MaFoFDA24Y)w
endstream
endobj
-836 0 obj
-<< /Type /Page /Contents 837 0 R /Resources 835 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R /Annots 839 0 R >>
+837 0 obj
+<< /Type /Page /Contents 838 0 R /Resources 836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 840 0 R >>
endobj
-839 0 obj
-[ 833 0 R 834 0 R ]
+840 0 obj
+[ 834 0 R 835 0 R ]
endobj
-833 0 obj
+834 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.259 200.734 462.215 211.613 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-834 0 obj
+835 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.166 200.734 487.121 211.613 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-838 0 obj
-<< /D [ 836 0 R /XYZ 78.37 808.885 null ] >>
+839 0 obj
+<< /D [ 837 0 R /XYZ 78.37 808.885 null ] >>
endobj
317 0 obj
-<< /D [ 836 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 837 0 R /XYZ 79.37 771.024 null ] >>
endobj
321 0 obj
-<< /D [ 836 0 R /XYZ 79.37 238.154 null ] >>
+<< /D [ 837 0 R /XYZ 79.37 238.154 null ] >>
endobj
-835 0 obj
+836 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F67 385 0 R /F58 382 0 R /F40 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-842 0 obj
-<< /Filter /FlateDecode /Length 3321 >>
-stream
-xڽn,񮯘cr}jw3|r~KE63shiXE6g ?>+'϶oO?\OE\\`][q Rs-߁s^o?8u`[S%a\ r|Soo}|8_|'y9s8 i]ۿVDL0HibĒ(rLu~>rLAӱH>R"/l2K/Q;Y8Y>K<wdxB\;SAv"GLxe#*̉Us oYf^/N&jg/ӝض<F]mdwq,<&qؽ%}'_ioUI[vs3JlO\iϵdJȍ$)dr|=a"P$^~28Ěm'̭1,Fgƅ0yw/hxGh;; 
-e% #b6SJ~EUºĵsSQiGVZK`ȖxG4+K[)=X,*^3o4Kʬ&1 
-`j3f?Q/5Ֆ; cr&;WgP|{ ,UaMÒ*zK.C).MAɸn &6S'ˢ&JsJoPI()R#3Wם৯7i|_HLf<F(9=)Rphpc~94Htqչ\\mkQ pHeZq\%u:J?u2Qv9ZW*q&7Yah rg͟fn!%vKu 6Ij W긣p-bێS+S~J?8 Fi<O'0mW r*IǸB`u
-ߞ% jS ibIJ>ev"(HRaKŗ= :þ_Xfh]4J<q@|1dE.%)4ѧy怓a)aFGMqJWRfנSԠTWV@-6_Λ.d֌>Q
-eYz8/yDhm&x#$?nBm0Zg48'Wjϱ^R;]UeE`oU IkM,< z$]sKboL`M0FP3T^1q
-<re/e/pw~(8@/H8ߞހdoQ"8":?hY_V"g@]8!pY[wMV4sv(sR<& UY Zm]@.#A.`Ϝ˒u(Sq($װw3,u$I{IRw|1X@ѯ qD갋#bZƯǑXHÑDLFZ!;e?Y?pee[P@`P\9/rۙL{.T˼r IkBEAt N:+&ݺI q@jŃxTm+|گmπrc6gʮ)n]5p ʭ_%x떇!A)(le cB#@x
-xXp~J(еQGL} "
-{r`
-{/Iz !H 7]|*%NJ\\A Z*%?աEل7FmCfHYuLCz=~o+~]'>>Dg>K^:k!# -˧*-;bᜮ$Ҭ)-ߏ0{XPO13*F0+ĩyhi {{hš=$8O gCOBH>J;Mg-i-Kc7F
-F%BU:`*ɌvfζuY5ϼZLy7#q~ $JrHZZ]j-Z;(˰%m Fhݟq;*~0a1s0QJ9^,cC5p+Оv>8 C| b>ysHj1KKRKNx2Žڨkah佃pIbRpg\
-'6PsC a`4rz«v}RbU D*w}•
-c0c&ģ\
-{w13#ӣ["~ϢWNq[;>l6\}OW!UzZœ.Z& I[ݗv
-89;qaRJ^?=xtrļ #O{GHR%
-xp{`fh?f*>d6Z[ޑHÄEe^4Zշ$*Cp.
+843 0 obj
+<< /Filter /FlateDecode /Length 3327 >>
+stream
+xڽ[Ko$W19
+Ҏ $d"94],>֋E6g ?>+'϶oO?\OE\\`][q Rs-߁s^o?<u`[SC%\ r~Soo}|_|'~9s$ ]ۿQVa6.+L !r0/%ёQ3tcڞ8|)e-3zi!e}F<wdd˴;Ǝ|f
+~nKԏ2=3v8fo>tkCߠe#h;bB=SAc4; #nw0pڛhL'VFʫy-im窢 Nc-!kFD9"m-dU(~d 2h'N71Ay+DD[e2\
+II`i
+$%7uK[2K y:`km<
+Ӡd,jcNSFt Ie"K9ˑ 42{u#މ7xIh4LOϣaib`"*n:&ו-rGr-F\m68MMuPx :tnh:y(߱&so<P'Yg$ȝ7L/u$֌NqGZJ ɷ{!ft`45rXy8nc_53ȝ$.SnʘS,Pe "bB N(ԖYA(HRbKO{@[
+i/LU3& %SR( WSS$~V1֧qf)qFCMct\,ZBaNePäj~(uvz$flP(˂#y§s$JEs,7G].XN,Ts{f~syFx'-T<++ފ# V$4S O5w$̈́Al$k =c`>k{
+h°zGiNDETD_Zـxs[[^&pG=jedb #wf78}&RO!½gkSEה|jB2aBt9TiU{ϤٍC~=qD,f)V=y>ˊ|oXN>k;FFݷbR(+hhL: XE<p14h)9&ܟ]xm aI򜭗YV|{Ǵ𛵗1FԊJW2׻bN|!G-v9,֖njXC6hR]n 7 PW~HI $Z<}^cyuܪU햮q U
+C.Ϋ =:#BĿ.KbĶO'ǚ՘?.SۡupE?TLȽ~,:(iܿm꓈(SQCshf qE.3z+sQ7]B?$C5~kA+';d
+/doHhL1h 6-%S?X@J}~2[f](i_?v/_ŕ/O<}xYsz #
+#>~򷧯74OkτZ0xV.EԌWkZzV #ӛ^BlYJf.
+
+C1,dTW@m]
+d?Җc!$Kbvt y9{N)gn![
+j{J}
+WN hV@U9'K8>~m紦}-=XqYOʷz$ލ'mp ~{U*<ء?HGcfF˧GDErKI㰓-v;}d mއHɧ'V-C&“."Z& H*[K;QG~84)Lxh<:
+C03H)>6׼#~ n&{rU6
+xJȰ|sO
endstream
endobj
-841 0 obj
-<< /Type /Page /Contents 842 0 R /Resources 840 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R >>
-endobj
-843 0 obj
-<< /D [ 841 0 R /XYZ 78.37 808.885 null ] >>
+842 0 obj
+<< /Type /Page /Contents 843 0 R /Resources 841 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
endobj
844 0 obj
-<< /D [ 841 0 R /XYZ 196.679 252.834 null ] >>
+<< /D [ 842 0 R /XYZ 78.37 808.885 null ] >>
endobj
845 0 obj
-<< /D [ 841 0 R /XYZ 196.679 232.64 null ] >>
+<< /D [ 842 0 R /XYZ 196.679 252.834 null ] >>
+endobj
+846 0 obj
+<< /D [ 842 0 R /XYZ 196.679 232.64 null ] >>
endobj
325 0 obj
-<< /D [ 841 0 R /XYZ 79.37 185.93 null ] >>
+<< /D [ 842 0 R /XYZ 79.37 185.93 null ] >>
endobj
-840 0 obj
+841 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F55 379 0 R /F67 385 0 R /F52 372 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-848 0 obj
+849 0 obj
<< /Filter /FlateDecode /Length 19536 >>
stream
x}M-7r^E]'I!LԀ1aОpO ﭺjyq.dF-Eo./7`_~HZ9o]/[(/%ەO?+G{JFw?ӟp};pmO]|t3=q\\rF\{s<}/n% Inu/k/t~o][i{\N|.~hujXo5j>Uɷ?lWn-֏2|dꭵr#XnWc#nWΞNJ\]#ͻ]pqv^~o/t34_Vy?^E+5z.__~N?o? q{륞wk-}?ź?V4C5\BO.μ ʼ9ܗ]2w'D h4< XO&F{W-9h]4 yw kZ>ݫi`Wb^6 Q{s^hICܧ45\7J)|"i.Fbt#3QIpFҜN?3> <zk''<x\ <W"c97|oAO%mj`]R)Ok6kvn喨 s4a-vxJ3MQ'}8<\Ś>=V'L'?A6wk_h֡g5sٿ;|$fMAѭCkӭ^|N?}5J&r%&9<sX?3i+M[4j3WB4{UL̍bB<3P'CĀpbO?s=\Y-.mrwC 6|V.!/%dzw yYV.!/%d5zw yYV.!/w%dzw yYV.!/%dp 94h#>9J](UtĔu]ƞk/SYyxgb1r,u]=QJd׾7r}{\nIQo$+7fqQ_׮K|j^}i_%Ӝ\XH5v]LnzSm^ޢɘglxL;@Yn5szLφS (54[U fT;`SM*0B&_0$Fd~B߂mBS(mܧNwqt.P(Z* %xl:hMLd| fu PnB=OY'!x
@@ -3812,19 +3802,19 @@ PJV˱iMWq,GíyKsk/DLcs}ʏ Ms~7CvpvD?2
evNϧg0`gvfa`豭vD0"
endstream
endobj
-847 0 obj
-<< /Type /Page /Contents 848 0 R /Resources 846 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R >>
+848 0 obj
+<< /Type /Page /Contents 849 0 R /Resources 847 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
endobj
-849 0 obj
-<< /D [ 847 0 R /XYZ 78.37 808.885 null ] >>
+850 0 obj
+<< /D [ 848 0 R /XYZ 78.37 808.885 null ] >>
endobj
329 0 obj
-<< /D [ 847 0 R /XYZ 79.37 305.806 null ] >>
+<< /D [ 848 0 R /XYZ 79.37 305.806 null ] >>
endobj
-846 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F52 372 0 R /F15 377 0 R /F20 378 0 R /F41 373 0 R /F53 639 0 R /F42 374 0 R /F69 398 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
+847 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F52 372 0 R /F15 377 0 R /F20 378 0 R /F41 373 0 R /F53 638 0 R /F42 374 0 R /F69 398 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-852 0 obj
+853 0 obj
<< /Filter /FlateDecode /Length 5979 >>
stream
x]I6r`dc_"Vu&bnm&ϩl9Bsw&@<>TH*߇ܘHL8?OQ)`O|$gOf~m? dBɄxXE(˄ћ΄[a !<Rl"$Zm!en9o lL-=L)Lp)_[[ʹܺnxF2mB[CƿE?5 ͤ
@@ -3852,16 +3842,16 @@ doRv˺TAu뮋0z,wH
ёT S8-{̊U-OVJn*w |IʷMUkˊC+ym)/%9nb`tBSktWSm=o~mYzY+LNC}ߨ.|
endstream
endobj
-851 0 obj
-<< /Type /Page /Contents 852 0 R /Resources 850 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 789 0 R >>
+852 0 obj
+<< /Type /Page /Contents 853 0 R /Resources 851 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
endobj
-853 0 obj
-<< /D [ 851 0 R /XYZ 78.37 808.885 null ] >>
+854 0 obj
+<< /D [ 852 0 R /XYZ 78.37 808.885 null ] >>
endobj
-850 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F23 375 0 R /F53 639 0 R /F15 377 0 R /F58 382 0 R /F56 380 0 R /F51 376 0 R /F40 387 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
+851 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F23 375 0 R /F53 638 0 R /F15 377 0 R /F58 382 0 R /F56 380 0 R /F51 376 0 R /F40 387 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-856 0 obj
+857 0 obj
<< /Filter /FlateDecode /Length 3106 >>
stream
x\Ko#W1{,k4 9 6HS~Knʞ`ԭz}UEi5/\g!ZXg.ƍX-?\R_RdW`> ǃcR'2>|AᇳЋgހQ++δp>s.>%A(q\M I?j*~DiSGKe[DZ$T\=*ȃcrL/L>fz]xqA"HZ˼P$RF)d ס;Dμ Uz:<,{oo#66)(8Ke!RcCcrlm 9t)9-b<ENo/5FXBc a!i) gqiR6؏X$b`ԪMN!sra}dY8 )ݣ(짜*g@Fh*t-i.da rƧ q8UKc 4\!ʢ<Dcvsm<@Dx`Zv7+N=jW]G_1i_|.~㘑n*W:<9X=m$bz.>qWYsqOgȼ 0k~ߒ.lxm~^˭./4׀3'tͼyj71gc/sQmc+./_ZUDi&^8U'Sk^!Nb 9?p|W$,l(r$$sN'?G c^
@@ -3877,49 +3867,47 @@ I5A+$ORAkF3Y"HǴַ%*8"c 3ΌZ\ܘ]Fhs<T֕X
7h<|~~;
endstream
endobj
-855 0 obj
-<< /Type /Page /Contents 856 0 R /Resources 854 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+856 0 obj
+<< /Type /Page /Contents 857 0 R /Resources 855 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-857 0 obj
-<< /D [ 855 0 R /XYZ 78.37 808.885 null ] >>
+858 0 obj
+<< /D [ 856 0 R /XYZ 78.37 808.885 null ] >>
endobj
333 0 obj
-<< /D [ 855 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 856 0 R /XYZ 79.37 771.024 null ] >>
endobj
337 0 obj
-<< /D [ 855 0 R /XYZ 79.37 499.028 null ] >>
+<< /D [ 856 0 R /XYZ 79.37 499.028 null ] >>
endobj
-854 0 obj
+855 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-861 0 obj
-<< /Filter /FlateDecode /Length 3318 >>
-stream
-xM+bz "QXt6ڞ4H/f4<'w=&)"ERřZ~Z8w雋eNki|ǤYk|s8&2}F+mLph7t?cĜ<aoxv:ſtLyR ?ЋC;~ r/#HOa .(/{yցȯfej2)V
-r.lI1egoۼ91m%
-~._ͱ 0>=pfy k>iy-J<bDE(o,.\-VX&r"3_9 ܄
-$'㧧wKPiF:-OY~XV4aI\c`¸DK4=fXt3tA@ptbqNv#tAWXXa 7>+YgSTau
-jC}r 'diU}4f灦NBDW2 )ӐHt@DRf"o{ e
-@w?~)`sHo<J|㧀Y{ڐQX( ,{ڐԹ_|lyʨ;ʆШ; `br̈;$Λ+,'UoCA)NgO(˿64Z0MZU"+>PT
-{A9b9[FPVFU#(>V#d*A?~\~9YOp2טh<֥Dz{[0QD׈ߟ_|q`!5/cҊ'㲠8[x&զNci[)+1Ka-lh),2+u͛8Zf@ugQ Dv8Ҋ3HLZRuti m<_PQ\,N0erM$OL%†ZUvsʮ’C@K*c>OU3S xkG}~%o{ϗ|}}μځR<lKLIN%ƨ&!2L1Vc;5%s޹VK*c 0.V;o- yK,yU)iAm-΍|ן^O:^$$*&GrKk"&T_EP f6 sSSUжwC(i; eMY@Y^7IALOG%3!j {fn$aVnג¸.A i
-޳Ӕ0{;M(枭k2M wC}nS䀌mZmʶy*s`jP6qM~{2:b,{ow'(0LTWx'}
-ag֨\46lg rDt46=u
-Y wE 0MI ygdVG<Vtt0ʤ9iSasR4i$H"Hé|5܊<C啜Q_ dI5xn(^3#EKJLJ x.H/5Ck2iimW ϿOb0 aatԫOH>Qd(1w$>$OafwCQp7}("o;W> K;rN퇟*"0K!u}|BTQSamcOJNxP+g;|ЩO(wCHPSf{;#ć%uH "?8N؅BsqщVf
- ϵ FK,:B9#wyA:BmA^&Դ4U\Ϭ64Ya; w=uz\ol!r^UBfh8=i[`r/j
-ߎӅqYSwn'W]] gT9.y
-Jf8vyzWY$ȷp0 +ouXϷ ? n:Tfܹ vO:f;( w}?T6z߶< y=;e 6̹- J€
+862 0 obj
+<< /Filter /FlateDecode /Length 3320 >>
+stream
+x\K$ ϯ0ZE p|doNNCK~WT]U-5G)QQRIdޫg߼i99A7}0`^! L>N?>Ii旖wV{Nfz|LJ &~^>+e C/9 g~m>ӟ~ݒ
+tNЃΉLi4BSA'l 7I`?*z !ZE/ʗwCY.W={Y]3M|~meQ >F B8[KC%3w[yS~<(C`X.ĉ-tGUmBJxD<oR(+$!Yh(@ t¸4.=9R|a&ȃgu!駏Llh zMO3
+j%B }uRwkݣߵ{=#"H߈a&+u#FB5c䨅t>[ نkɈH{Fd'D}I`D
+>l@ܕm uMkP)Qd?lRIQ6$Gjqh*m<pV`~1y'BU%2CX|NqrZ!h9Rji}]B橉?6
+t/A[^u0P$gMɉc[kt---[HlDHYkkXrZdY1i, Ixm ZlsXN)=Bc*w3`H4G¡iecٜӁh u 5JܖˎFf,/tC/Lodj|_ԁ[0ArB(Wصk,v-˺1_sy║V+1*e-1_uF$ ˣ—p7q+xӎLސAJ# q[/l)Q[7sD]1Y uvte*,![8U\XuV+Kݞڛ]~[F
+qݥZ zd{ O;%R}CR-bwHUI!ֱK';M:^R.omzdiغSw"@{ZklvMf욷$-{Lx-Lm2%MM⟧A;6h)dnRl•z69s'SԘ5#plXiB|OiP{?F$}=4 O4b&#Df/7M#]y39FnFwܠer\k)qnkm< WY_Zy? 9/990'r`|く=)p= 6Sej(0a@ {9;5%'/Ʌ4&i_$! 4aO x͝gSLTGA;C׼P!5n3xTvT1؆S(>kìnT, C z@d_0 j^P~)-l2j_yK0t$N KO0 s(9ܻlĐ[ekaίM0I ΟyO0vI bٙWaʶ˟.O
+F}rZhnۖ؃mXPp˹;2l;ܶ);2an:Q'@[fd牸}$y"FBy䗧1rT A<Ε:}YR=Cku&T,OB="8<t|Y_j/fW o&Pƪ' KT<*>{yB%~k`"QZ$a-K#p }. Uˮƛ6^`JEMu+;jiW@|7ʖ5ٕ_-ϒUƋ~O6dV
+ǀҗ-M֭nrn#?<Y6m~RV6,/9sƬcJA!جD ٧*"Y$w~H-O&S1f,usu
+ \w/m/Wلo ΊWH4KɛR;k=f6#ȬtVq%9𜅯$qTUq+u5*d$+uy9/sJ/<ݫZ^, a9~5zJq2[6!V5PPkf1 Z-uͶmeRZMI\P[{FB]lŜSxbZj
+Xka.꼸bq^ [*eX;^GoW^ <Zt.5e+# UJBr}a .|*=,S*rs@hs5b2CbUԨ\ŮKܟ#)\>Z{V+[|n*Gj}ei/P\S*g|g58TݒɶGgy% ҝW6[!Uo,pzm
+a}XAVZ'wТT7 j6` 8ת6B=tAX;5j6&w`C
endstream
endobj
-860 0 obj
-<< /Type /Page /Contents 861 0 R /Resources 859 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+861 0 obj
+<< /Type /Page /Contents 862 0 R /Resources 860 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-862 0 obj
-<< /D [ 860 0 R /XYZ 78.37 808.885 null ] >>
+863 0 obj
+<< /D [ 861 0 R /XYZ 78.37 808.885 null ] >>
endobj
-859 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 639 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
+860 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-865 0 obj
+866 0 obj
<< /Filter /FlateDecode /Length 5035 >>
stream
x]ͯ#9n{Z}
@@ -3949,16 +3937,16 @@ b7w>a>A8F<mf%٪_F>/z89*أre%FA:ySj}J
I숤@v }dS,շzl,0a0\}=B*$2Tڣp`_|<0@ŧxYǓw|ݗQd(ar KXn؅%\r buBi9!#f 9Q~Q̹FO:+wlڎgݢ?(a4]s5ۼ߷vsU?<2m[g':GO?,
endstream
endobj
-864 0 obj
-<< /Type /Page /Contents 865 0 R /Resources 863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+865 0 obj
+<< /Type /Page /Contents 866 0 R /Resources 864 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-866 0 obj
-<< /D [ 864 0 R /XYZ 78.37 808.885 null ] >>
+867 0 obj
+<< /D [ 865 0 R /XYZ 78.37 808.885 null ] >>
endobj
-863 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 639 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
+864 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-869 0 obj
+870 0 obj
<< /Filter /FlateDecode /Length 3906 >>
stream
x]K ϯܲX0L{8-i!q%?TIRj{ CS$E~") ]~x맧?|`jqiO ޠ [#,F3B5[>}^RRRBo/pJX\ih
@@ -3974,469 +3962,489 @@ x]K ϯܲX0L{8-i!q%?TIRj{ CS$E~") ]~x맧?
h~\@#ɠv m`pZ. -8.};!jxm:/8WÏw{~|&'c0"Ǥ&1{` ho=O;` xLp3~VCKuϓ3'׽OyYyJ-'(wy6ٔ ~כAQž06)Xw| p@Û#RՈ
endstream
endobj
-868 0 obj
-<< /Type /Page /Contents 869 0 R /Resources 867 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+869 0 obj
+<< /Type /Page /Contents 870 0 R /Resources 868 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-870 0 obj
-<< /D [ 868 0 R /XYZ 78.37 808.885 null ] >>
+871 0 obj
+<< /D [ 869 0 R /XYZ 78.37 808.885 null ] >>
endobj
-867 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 639 0 R /F51 376 0 R /F29 371 0 R >> /ProcSet [ /PDF /Text ] >>
+868 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F29 371 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-874 0 obj
-<< /Filter /FlateDecode /Length 4906 >>
-stream
-x]Ks$ c|PGJΎ{KrbM}
-Å0 O~"@O}tsm|S~@"H5kUO=&%
-0U8H(NAD'roˤTHU|:R<~8. *Gg ؕD
-Z7qG{pZH bmG8 .g^H(|$
-D8ȣWEC,1 KTjLφt 4'@èԀVA;^+;JπD%{܍Ju6C,'['lAl7[E׊wאtȂ%`7a I Ci_$lD O$]0^H"ېt$}ZB:bC O@\ n*w^v2?:u<@G#oZ{Ӷ2,FK-jӏvӿ/ 5@7MV/ezZ!AثsIPy}vGHV7U;>ǚ8¡MnPo,{Q9c2UdE vpx;ãص|hy̺?O^Y;eܴ^YCses)
-XX^m9v5`eHl=_?i{`k_wl֖Cþ
-زWCs4zB{Ө p'U2Z}~a
-\; \Ce IdR<ʷMzTgw; plmA&5&=US0{،z7Kf+کFGor*c-m7 iը*Y)g-X(M D6ե#5N$d&n8T_rmp<B爷 m#-jP^- n37]KB~
-Tu{|%f5hpn| [AvUCGUܩgtQЩ WBw.V]\̯ W"ez*LjѬ",hu?ۥN' ugne燷!gPl U}okp!<>bR5`TKKeH(s G,\P""et:X;![RBH<lFp6V8kppeLCpx>}R*BD!
-dž#
-)hsQ>{@S<r'X,.Ȕ\zkSis)r,Fd%ll ]
-2:\pFpoG;׏"*ĨYُ{Yv)9HOuu$I(򿮛ՙy[Sԙ9UV-& 9`g5܎
-V ÕrD|+K%KIɭպ '7Xxt`j,/.U@&; Z?Z.iA(cmGGJ1Ph$sӾ
-Z?ZbzO
-4|'g>>%u#w<al@w Z @+8h%|6ϗ10
-Lj8_AH炍
-WitXqYv̱"k輗$!omR AC㩮 FjRe2eϲU 4Y^Mtn`؟ݮR52Hwk? :O@ĩ* TObg#??k9?0BdܡSk Or5 ۢp|` c>:,^#@+gXgB=kj z65,ҷM!FKYU`'ʵʺYxG*xTBfI]-f Q/@{4 &WC\iO#vM2 <w׺" MSXiۺ0B^MD՘k u2v&4|dᥚ&vG_>dgnHRtcG$s \GQۖDZ˲ǔF0U.Ղ
-ڮ8#v3[!S0H
-DhweC]Ut(Prη`K{yfdUa!I?>t;O
-3vI0 9JKy×d#"M$X $b񯚈o# mǦ
-[4(`Z."%W_Ƨae }_4(]4C&蚃IVuKա ..!&zfqjk.z#Ew3&A'M(7R+в ^Ti%ڕF^+Xda!t/:P?c
+875 0 obj
+<< /Filter /FlateDecode /Length 4928 >>
+stream
+x]K WQ>LGVv4W9'ź|H9Re_>@lkw%Mh5 |
+b3*4 1{CIf't\a׷2BuL~4 >EEкى) 2^zL®g $j$
+
+jǎ ]<=igu/X.!:_7im9}?sv0>,1)_~ܣ 2ym -FMZ?ubaUၡT:i ysWH1 =0\"!O Wp;cΐŽuvrl[i
+ZmPG TLL+N:_0XRQ_ʋ<,,EB@
+B&M(L=ļɔĈbjpN!2] ,dͲrUI/|%#,b6Ͱ d]kR
+y$tY%(&]z{w{rd|',6pع1 ++@ISI3=)_L%B%B.
+0+R5M]SeB{](ZUO>8VX5oVݘ]*A`zk$Siu΁ݙ1sw8oDFQZRҟ#Wέ|e|髼aPS*͹hjD&c^z؎52u8Xue6E6;׏"(;
+b -L t˭$Lc}Fm''x?b/ҋEWg]C[Ӷx9aGI-> _JˎJkVby;$o\?b/UBznH0uj`'˭=I`g[GB$>K<x[
+{R NT ӕO:BR%F"YNvɏ3}ZVRX"4$?
+MZm3BqT,`#jˮur6|7Ab'vÄ1ca5"VZL 3x[HSV]kÏ\~xF.[ҺG/ﳹ
+Mx~K"^6K$KEm[.|W4TZuf,F0"
+a8*h+CG&nKb,
+%7LIj<salaz uU 64VJ6Գ~_54$mզ'Fum+K#o_W_Ԅ۬HR5P0f'M
+u+ :C(4̤
+Ot[\4$)7K}_f(g<qtƺNvԸm-X.;p\[lUb’c|Դ>TC:KmfwX-s'n< `pQxg15qM+712y%/B22g'+L/<y@dYrF ޱ2
+f]6k.G( v
+qv3Y5:LU(Ys7W7ʏ57gE2V~ ]G˪,xt$*lW \faH尰($SS5:,4
endstream
endobj
-873 0 obj
-<< /Type /Page /Contents 874 0 R /Resources 872 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R /Annots 876 0 R >>
+874 0 obj
+<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 877 0 R >>
endobj
-876 0 obj
-[ 871 0 R ]
+877 0 obj
+[ 872 0 R ]
endobj
-871 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 71.224 286.601 82.681 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+872 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 74.213 286.601 85.67 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-875 0 obj
-<< /D [ 873 0 R /XYZ 78.37 808.885 null ] >>
+876 0 obj
+<< /D [ 874 0 R /XYZ 78.37 808.885 null ] >>
endobj
341 0 obj
-<< /D [ 873 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 874 0 R /XYZ 79.37 771.024 null ] >>
endobj
-872 0 obj
+873 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F55 379 0 R /F66 384 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-879 0 obj
-<< /Filter /FlateDecode /Length 5638 >>
-stream
-x]M$9nϯȣFChkjjۗ.`ր{/&%]ݽ5{LIJ1"I5O _O!{zq䵷A|S&ni?}g? ^[x2>2j¤jf; / ؙ>SѱYX`yy
-2}vJɑwKMY(r#zKT$r8sA&{#D8BI۱Cl *R u甇Rj|*?"6yYM: Y{{!PT-Q8U|*Ւ:du|!cMV[L[iCӗ+U履yH-gun^n[ֆUۆ|ݵ8,0?l0<Dow50 
-~b,l10~pPΞ^Lk&.PmwF(a̓M
-?%Qp)fx<>ئE S2
-}荏,9& w "HEN<tNO>4. ^E|,O6WklZXCm9g EHV"D}և Д q܆Ń)ZVZ!ɇ>Lcqu?_t??ȮZYVYk4jJ3:
-lFSŽq#Xf-%M{.lTPoCK漜̢]s?vN{t
-Q1J<1 7^h+BwpOލV{nF ㅶ'oM
->ũjʖo5;ɨ 3z19- r,6hDh DO(*S:HwBTƭ,5s&0hk$z-1
-oMt*a&K Y() w}z`Im׭JHvP]z8@0^Jp^Qn]Z@kU&9Bc\IZnbaW )3bky{Z3#[Jv]J` ȥD Y2c'mmvpu(?R$#5<nP*2 r#r"~&u/z<^q;򢫒kMZts$eĮwpF
-JIҵqF%vni+Š##'V,]%D+
-vHyDՈqɖe\ Mp$"MHUI#v٨qI99}Z涵"2Lnk2SZiIZ6`WGZ \aF"$Rjd]B65jU4! W )%j<1Xb"(1R_2!;VnQl4YE@n$&s157yݷMhEH5Ԭ\PljN&hBBARK&(xr5b޵{3dA:dýCVN?u-W(R3u]‡%$vAMr*ڮTc x,pWZV0d\]nevvXr#OsG۰"7-<VرY]jMHPjx)
-oB$#1bV&Z<8v%{ժ"r?ÍS,ݶsǢ)p;܆iᱚ@U)( SksC=U(RHFH c< 'z
- 7V
-f_İLMѺ9{2Ʈ!y|8Y`+'ׄ)Lpeus/%%BK/?UmbLf$SdSz77@{Վa2^ J M"Ym@!-ޫdUH)YLf֭w59\ZUDB_&I^JJٰ)/
-[ ALxn#͆9ޜٚڧUl4ɬꤝS[sqk
-GŁ(\ x;̆>L$Q"ܙj<<J<xa N5ǧZU?h3:h=DWG:S0j5C5E MV.Y7|,ǡbz9s='H8;. OHĚ~kz0uj\כo%Y{.ojpO Xߥ
-8,Lܐծ6tcyeJf:Ϫ|elI[^Cހrtץ^o@T4O'WX%SgfVnZsv|}
-_F wZꄁpϜo
-H;6a;"?ޠjt_|z83=mE v|w| R-l:xn2֗ N>Fl' R/Ķ(x6=G@&OD:s+c!hy= +kS{y
-!
-o
-:=4t xq;ٟw!ujãN: ׎ݑ:Sݑ:wA51}gNP%NirEN0^tzlt)X4TNV;:uVg:Lo`u:=f]t4~okZ/Ls^q/RFQQMåQzw|A:JaXb]N].Bu(\Q.Fë́' \K3ީ˥Q.;\7
-(Tq|GzOEhhFރ\LNM6dȯtx<9*͵f|~ Tu3\1{eUDYEbP$IaZy/
-Ip֫"nPDBiE*[(ܜa2sp۪ $%&
->~B%^aSh,Sp5V^DԼƖe}Gu8խlT>JRmYPTeL1}vVxcJ} \ªZN덬2BT֚<DQ(xF#0 EP6~ ֲWo#o>U SKwuz:K]Hr|?VY<*b#Y<}#|c T ;c,dwR?~"R?hb/$z~fR,vY+|g,c$.O
- e/'k~k뺇+U|[vAE ^}ԏ';c,dR?gZd>g/'#wtץ^]ԏ'cGwR?
-{ߎs'kg_?
- 56uG7t_.]as<w;lpyM;l/TN[}69HP*[mj ngSǜlup'|yp$Ζ.~z<Ku4[:ܳEz,{pɇ ֶ$5åjT4A=3n
-cOݸS^<މMtkYwÆ;3 ZmWMRw<-̕=?%9u[[?d/3Wjevz)k=\ʶR>}YYo2?汽Y!$i;ts"i*
+880 0 obj
+<< /Filter /FlateDecode /Length 5615 >>
+stream
+x]K9rWqFo ؾmჷY;dGZ`2yr]ff  ×w%Mko/_~yiKH `Ӥf/-F<[m \h؏廀:‡NpMf}&y=NbMY(t=|ֱxE4*{9 cKdRGz.{$
+&Eel&\ oјus9[~;JdlkћE̤mW> F >IGN\ǖ(+>rIɼ6m p Y7z06t>T/թȧ/l7qRA_}`%sCAMt]War665GkIZ;3EANAUZVM^d(|K X.JO֙cEd?/x@ݰPܘ'
+1
+>qe%ehmUy:rKII,fۗO6tmFMi.R2wLﰝh >+w{YKIެKi"0T#;v-r6 ;qTZ=w)B`X╰3~bȽ?{Zq1pc \œ36Gk~mO<r?01(rњ;vσgW#]cJHnRA? ph!qcyb\F'[0\qybf\ fohOJ^p+j^W4+gCIǃwXU%_zkr;jLz$9< 3)ڠ}#=pFcJN*T3h/B\A[#\DtJ["Zx`~DZD $7]ψZ|I-=Zi8fW9E&ޚT$`X#R48o.7
+͐׾&&H"7J2rCI>RbƖwuj FI.%2L
+^3&]G|SǤI4us+sl" RwoMT*a&S)s &)q1_*$AxX]va%#An-
+5֩5h$'f`$YTԠu+c)#Jˍ XXL4݄Z3#-%N` ̋ȩH , 6y6F;L%I$GP)Vעf]zAax)=B)'ٺa`ZlqqywEW%J親QŮw0qF
+J Dڸd#IeV5
+)<4e(-!X`U)[ a[sT1]veP[b \ 갍p("H!&YQ\sR47i6b { mMf{d+W"Jˆ Xe6ر֜'UccgbFB(Hu .ب6U"҈j.!d#I؋eܟV5
+nv)/Ꝓ+WZ6F@j8H6&s>57io65"@EIͪuFjF(HU,v !$9O~+b53dׁ:dýBVN?&u-W0R3.Pb I] E4[)]ەl vl]+Rk0ZܹpK_1FRk<M̊4M@n{pڥֈJmw"^c}b{
+FjB *8b6+C .
+4qK
+vJ#ŗ )mld<H/Ob}v=~-iǞ kCkk[~5>x_[?7~}\E w6ꂶZ
+w]t] >4ABxD?9UQDM+Fm(:#[>j^s~5#JcpI^™)w;)N{_}-a>Ȳ
+TXv=6+J)U`94PdoY@V'Є`q >X;2
+rhUZ,dduUvpk̈́g%AW>VM'`!_;Z S7+Nܩ/.4k9RgX*c k3dm}̯r&PR6d(6QLI5Ja؆ /Xq_%bk&j7YkN)z~⪳s µ)mX-,Mq{`_/7 ->췠(Ҙ=7'؛͑)}xoMA -f1ssuo=Mao[8ܛ
+.$NlIYOk*Y*f3qVF smh8EyFY0'Qڴ|)9<Zk>c *E"I0GHZHZVYb%6$ >qh4c(74aN5WDžc_6F{qrAo
+5T
+J:kNiIsN![:PGuN ^ : SCB6<qeƱJ
+e
+VƸ.:W&QSV.VZ]XlYẜBu;BWf=P 5@ɦ Oښ'gErZi3ph*;9Mی\/ge%غA%Ik*(vW"9U9z%BP+V!޽ҊZM$3MHSx̊-^"
++;fwo-APϲ$
+\)\)d[|8jsO_Iז,J;kSWZ&23pv=_]yqcJ}} ,`Upx
+?ܼq{tYx { S?/$` މ샩w"0<5<4%3sWU6L}9iyípܽ;΃S۾{7 S>~0 C&`К
+؆/[Oz>74n;LJQ?ɨ&
+ڎ?ǿ?i7ؗUo; !1j=<)fSqqX|h{'Q\˼ݙ?]AK I4z[[/GLJZ-onɔ5p{;g{8Nʔ毕qe [N۝uQșN7zNx;vһA
endstream
endobj
-878 0 obj
-<< /Type /Page /Contents 879 0 R /Resources 877 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+879 0 obj
+<< /Type /Page /Contents 880 0 R /Resources 878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-880 0 obj
-<< /D [ 878 0 R /XYZ 78.37 808.885 null ] >>
+881 0 obj
+<< /D [ 879 0 R /XYZ 78.37 808.885 null ] >>
endobj
345 0 obj
-<< /D [ 878 0 R /XYZ 79.37 132.918 null ] >>
+<< /D [ 879 0 R /XYZ 79.37 144.873 null ] >>
endobj
-877 0 obj
+878 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F15 377 0 R /F23 375 0 R /F51 376 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-883 0 obj
-<< /Filter /FlateDecode /Length 10359 >>
-stream
-x}ˎ%9ݾ"Ex;$P(Ij'h1JZj`fߗF;F{V5ΈF|tO/ǿwq/-+˧߿K7nB܁+; .=lE6{/ˋ KC_5nѥ~(eWmVgݏPxۖ<ڶ'ݏZv
-{OiqFi(wy.Vt?
-k{!V|]kآo9?Bwƚ9oi IaFa(xO
-K?j75=%Mm=( e+J%6l{9jQ__F "new?W(RR(/kH~+7{QUK_QN<eà jQ8ʾ·Xx"붴}Eڲ0~G(ejѯֻjװ,LCnHC龓 KÅU Vp);+(x*Vӝ(;*UQXh{a^kSUz36۟.!Ti9-@IGM^r61zG塹 SDe'Ju
-zsz:*`&D>av= a5ܰF@eMHոP˒XJ#^e`7M!O,ZA}._2D B |rT%u$>/[;JZ(C0 ƾr|q%؂(x3ܿtҚ5(r+#KO8 T_UD'x@.d[ʌ-_ I.n!qd ۟[ԓRwӺH6\H$@.x[Pf֨Ⱦ}79<e.}Zу+WrF?_r;rzxݯSh[n^'*ֲш>ź?u~{ui= 4`8.sR%Zj.QE!<-qw6̟nyMBIQFkMV6W27R>k8y?#3е=rd%/7U^BZU\7͓o2޼RI)SK%R^bmK
-GO>wX"&o1wo<=ٽ@;J2z?hW*fp=;YENscnu<h?~Bcs{]f+X4tQӜ}O(F\taQXŀ)*ێ4hA#]Ͳ\1?<əek Q@P./hլc}Paf}0+n[  ֐NƯTMo2u/oَ۟ZF_ G^s6<05/wNV|##%z}/_<nR;n%ָu~&C=eP6ϓ 3٘NTj.|o]KfZ2gdNY|S
-BD}]qg$١HvwϷ4jx3K[ۣgkHvwX̀۝/f$Wn>l9>0~hXw4*7[n
-=Y=S'-zLa•~E;Ó`l\f [3T@ \mOpf-J&?[3hsLaߩ·AGW-|:4Uݳ'Zx}߃4=gO掲Zt,Ry l>U^Ol>5y"-={Qʾj{u{[x(:K~GAQVG~`jp=]zQVG~V2OQ~2QVײ?RRXR{p~/EkO/(}A[*0]RxS>T'(4D'E{9C{zQO7Ms
-5pJ
-dA
-u"4:h*xJzV(NRәrM?n>6W4S"Mr8ȈvBW)rTjT <8
-P.0?!+ mzRs("Фp|&Fq Fi%l}ֆYÏpNBmJrMQ\[D~Q>=!섲:S(\) 1! mzR4wj{{'ڨ{ ZhD욠x A~z:֘Hj Oņ&$q(pia}:b!w'C!tz%^\'4߀cRo/G<h8X;z<̻Qd.X@6lRNTO\j@x!nA붓[prrㄌ2 &$e8(}UwcO^8`݉*
-]Q KRd!h\wwiN6 ::UZDf" PPRxyg#iaG+7fۙ3I>^\f#x
-['giixus|y߯#w|=j\ĭ[{`<| zSfgBxdnO* ,+}F wF84VnX0n<bX%ߏCq \c6ݞu8+wS*G4Ȁ;^%k9Zag[d`d794Jc/{YB~3<Op5[)KtKՎ\Cc6ݞu8K!n燸xT]2ys?)
-V>`83vf5t|(C# XZ4T4I
-t͘AgjPŎiG#aJ=1mR`@CXu#To3z:Z\I6e8UXb&G.;j7s!tB+.nT 35J"Ac+gxǫ4hL-b(.;j_J4GTX(@ 3L7h$y/ƂWKWTKĎڭL49JC _OJ<s?u
- 4]3ZX 涔bV+c*KzTx`|0-5E(5E6J7|,3\u_7_;STKĎ~iSX`PjYkUxSVoCԌTYpWw
-IV'oP)8IuZ0"Eqy} Y+T$]Rڲm5V#e)y+/K!ZoW\BhYRD_NրD/h &JgE V#U:~c[ދ"} ҁ1Rn:\HwCD9Cg<y>Qd3ax"5jX
-1,QjCeNE80U^,Y-J3SH  _mOછ1)[VʖvJ .!
-LUZ-l76 IKvk{zӉ0GR- r+++z@"q <AN)!q:1H]՛ bcd5%P:\",lǷIRXMav R5UJ,Mifp ڔ:q 1
-.{43zqqCHAtQw֋hh8i߹S2f9c`i;D{6S7tK
+884 0 obj
+<< /Filter /FlateDecode /Length 10368 >>
+stream
+x}ˎ%9ݾ"Ex;$P(Ij'h1JZj`fߗF;F{V5ΈF×9ew/ŵ%^rs{wBV|9L۷jz?/w`΂/٥Fϟ~?bBPsCe<«ԶX+ms5<«ضY6Gi(yKGi(wy.=>( m;nK[ڟl^.3uԨl1?5Ga(xO<
+ywܓPvNvԬ%-'ukİlPחQǿdge_/W58wf.zW-|YC[B1x4^UK_Q3N<gý~׭Q|k-:!e_gH[}FpY+1E/ejqֻjװS&?4?|R7ɡ KÅU )lSJBzg HgoO ^Z _-U^iֲۡ7^;kt㌍m%0(7b/+Mh]+@-4>QىRomoC=/9hRſh0d"0ူuЧ^z3j0Q̿,y gO4>h/3Q/@E yײ +.ŗ2_B"' hI$lZ)WRԳD)!'X03猳(!E&'"A|;8A'Yr?)7_X.q,1~w77c.lo@^ɶpfe>ŭP?$lp_uӀF25{YS}?|LɷVo^_ǯDOꂷE
+eftEl(/?z~ULjƳW=-Wo9O\>=i9m'>)D7ۉʶs4s>dh^5)7M>u46Rm"`zj(|H4ODK<â gDr^D"7eRњ"rS%U͕̍geOf҃2gdTn7KHSy9MQo1=(eʵG^DJ?2J\mF)`qO}q=b+P{WiӋ'Z[kXz?h.f_{d8BHO'OwE<
+V&/Eۮ ˸?S
+(K-j%cVLMw?66N/ X$?ʾj!ܯ=˾j{\>}§dKgce_/]5d,>ʾj_&Odg?JW-xRzz OcEg/f;j{(Ecas|05#]zo/ECm+,?(E׶l^)),={L(EkO/(}A[*nSt9JK]MUBDPȧ^_ 5 %E=e4 +h8Cz[x3.
+
+dD1tfi\ӏ&Mԡ(H2UgJ*'VAr%'deA
+dC 'N|WyPZԏjXb$A Kk M>ŨH4n&
+J
+/4ϗjZiMv)b*5W
+@<M
+[8Nbus|=_xqARo|G9E!qV#q0`)\3!LP<xx2C'pޕ>|{wpF8ϴVnX0n1Òǡոa 1Rn:)Q^pgoq]Cj`(2?zݫd-kV2~<V/*+%p{! i(k |'hs \tC V":>en)ڙbthԦ۳gPc!.6E{|YkZ+fS_;֚tb:M&,n*OR$f]Ice8t‚8Lm.u1^E"Mف
+wuXDK4>PĬT`: 3XתOU<;.o`nK)f2"D|/PEӣ&Ȧ;<>tC̲; q*آ
+wuX}*p\R' |jklJM<s?ku
+oR
+cJ N! ʱs
+)ss|RHQ\itBA
+>I}"<\
+5 ˥K!k<n[{ ˥P \
+Hz{9R=p)Q|S5 9 cQøUǰJol{^*rt`Ԧ۳ݐ(QNPOc$|Ի6L'Hg֭=E:>7_trȸ  |E8vS_ q}
+ $)\u3"q`aխloԑ9 AU80Ff…p вmaeJҋ"tjtb0)ӑy 7
+
+%8_ Tnj`l$8pL.uʂ1^\vC;~ .FSzۤhm`rSX!u9+6TM<?KvS3\ Dg+l6gl`^CxL@Q'*j*#)qzBeV4 ˵6
+
+q|g(6 v*
+N_Rw*Ρi h kh7AT
+.{43{qqCHAtQw֋hh8iyd̬3zϧ挹|shx($r@/\)k4ASWl=QHr1Օh3geC`z=#qƊz(z(($ĕ3iO'&Y|=esdSVGT ńp2#ĄfzlcGX-P( ˾E71F B\)S"/V6k1$- L
+&ٹΣ&3@#AOPE,4YV L3\\<e88`Ҝ:1s
+5C])z
- qDG( kZAӉk5Y>E#esdq zT ńp2#Ąfzlc{Ř-P(Aǔ_GQ'%
-ZhV8 3zVa
-@ ~0wر*48~.MVAIce^*p
-U!?ZGk/pT)y$|ES\)WBCiX׳
-S8~&){K(Dg| jq mioq ^U>Odjߤ>LuJjr*l 8tATMqe^A ca^*L'Ʃ۸0CgOXu[M[*> SB7A`Y 6߅^e;V|=hm͋k0ٶj6a.Aߊc^LѐçZ]|i,юU<Jx٥كq JQNUc`6^0Cz(PV|,;$o+?NQOcZ٥Xm7 RT`x0SgD8Co
-tJV2oRxS, }﯑%00t~u` Lp)]YV
-+ !-+/p{a-~6. ewwuFdߓm5`(ڄ*@F2 %zJCK_zrmQ )E2vŴSAP p ^A
-тgnH"?w-:c\usYm&t'@PM5 ܞE!o#?)U9d~Ga`>Ӛb>yTd\WU"0XT)3"5KŅFBVcnͼ^\ހO 5 ܞEC}]|rt̢_e{reY>.D~X4VUV,T ȁ8ʻ]\xF)%5_) xb|"* Zc,Y!=3Uחnp5CHdYq !<ǩ
-[5`F@P.E&ZgfK^_b JK=*}(QA+qQ
-I$>]?'3'~C.BX" *!J<iIF J5U6L\ )_‹_;Z~+<5;nqȤrR]62 rPQ'΢2R5"]v4尤4ҤaI5~l0Iae֍2ALE)$e_+x炁c::S}?$
-ilo8Jtxo{[JSwӈS&tb=jvB*~~7
-wׄ_ ]TCԑ(`>{Hʞz+_ m?LTkT տa::P(k9iN"]$E.2Mnw5E.2Mvutue1ԽCzD~Xv&v&w:~L"S*`?©mFK9N"H!]o>[=^RY~h?NߎJNU~?8/pWAZ]GiM=G n;{m\l.{ɇ Col>~8Rgx$PFu"
-mN|0Sҽ|[#jX(?v V4A>`=G 8YsV7|,U;._я'_EZ!<jYo+|ܲv~yc7ܸEğY[{GVcъ`og7~EU؇J82*2Z~6QoJ'M?fkW}K[cn9cߎ&>M1{CuraQnivԛj5ߏzYYc$G,oC{KẶK{ }V_[GyFc2rUgZ%V}jn>41C^/t~KL' -8Hw?yG~\u:.!˫>i[g7H'Pߧp`\1x#LW W}%Bz5?b-Yֵ'J^?{~bJ~>;ׇ)%C^nkS{~sۺ<Fw]v{?x0exJ~N[aYz< w>w+w_z<6+J>Kk oSٷ#y6)h,#W{I/hҫ߮u}nsV?4װN w)vyweg0W~jت.).Ha7Cޖ]co%swr-g|vG;o/:Gݒd5ح^o՝پ3u9Iv[|g;ǗE]>\m<Kg0wǿۋs[[TryI8:w=9lkJ_1Ȝ2w(xGH`lT@w<wY7*Մ|SDE~?=1~y煬c>ung ı~{Mon<b\ rr6mY>vΏ_{m"?_OW'^roubr"SC{{zv5ӎ<.eBțnۿ=]'4zm cM,)+ S*qыnZlPfmt9ت|F^cр|o48ᩧM e}6wu~ㆣq(w?-p&x͇ѴCm:J||[z>\Z\UJs4
-^5IxeQGU@T[&^t촑6]Ɉv^2ZWʗobL侃St%ө]9s{٦!-869˶MVJz|>lKi/g;ý@ 
+L3{@5$V3rq[s=0Is.ݨL u )d$xqr\ep34U9}<fqwrFp|6i1-)c`"cͧ4HH`YC~ܻO|Px*M&Lo")+(!X4Vc*Y)Ri-2gŽS]6:$~Qh*'1uOb
+OrQEڍb*+)uz@3PjSOzÝ!G;9ةՌ&/#|EeS\)WBCiX׳
+S8Յp+Uwpn~5PV
+pOUp/+3zVA3P ~:w qՂ<:OLb']L2Χ[Q8ŕz-4+kz=0Cz Pgb ?~@B~&ɷ W
+jO~Uj.NZ$Hf6MJ?Tw;aԊ;)rvc0nDWj1f@|2l: C>tFttVӶV
+lOTh+*+yV@DCjMwi:vU|_O%65l_C 5SoE`Rg h S.>4h*~i%VAMq^A
+10^/T!=({ C>SFA1]٥X7 RT`x0SgD8Co
+ԯJV2oRxS,t~FøQ&5un`@^G
+^+?@@ тg}RK8T{2;:^tqȶҚU 0m@nzTr#jz?JCx|J=.JF=ܧx_ӚBOA5z)4F ܞE!=ԇE~
+>9[J{V@ ꀏqmfW:ZeOnA
+RhV7 /p{a>Wa&4"|L5/5| D`dRRg3Ej( uAB ? ݢ7v%;yshA3z!4Dk=03P]|rtɬ#voreU>.D~X4VUV,T ȁ8ʻ]\xF)%5ǯ֟j+?J@F6 /p{afmHknpQ`!$KɈFCLxS rPA 硓ajWjރ-؏^K2JW[~ !2<YIF J5U6L\儤@ϗf!߃]SA9%(MKg\ь?L
++'gF#-[)F@Gȅ/\V0HId7e" IPn%T#E'%p7CŨJE]Ydz޴k,j KkyX3%_2^b JK=*}(QA+qQ
+I$>]?'3'~C.˅VDT;*'}(T٨3q9v@~ut
+/~Z[Zm?ށ|-VNQkF$Z*Y4BFF۽oA0I鸻/ͼtiXR f dRXYG%uL46qQ
+Iً̯+x炁cۏuOAI0[߬q+Y)=
+%P
+1PAg+y"tpJ녏8
+(oƩ0n
+ $/O.[Jρx+1oUƹHn
+rMa_{DpUe(vynǍǤFzg Jӵ Je0A<I?]Hڅҿs|8jǾHҺL3ybC|c3$ֹ-2Mxh#ds]2
+wׄ_ ]T5Bԑ(`>ۥUeO#䕛y^OGF};H ӵ Կa0AOD]?5FC$w4=D!&74=D!+{g"&4=>&4;>хcy||AAW/)oM$B~R{~/ʕBݢGv+GGaоUlAV\oG0zRw9{6~wdFYn~B~[q?͇Gl,3:ەDʈSD!Q4\s푺Vݧ\:==bQsbTZW#TA[V4^4>`=Gچ_ˬhXO˫v\=8nяݓ/Ez!<Yo+|ܳvY oʍ{Dtc{^
+WBJ+28f0@)oWM.^_Of*O요]W݇3͡H'T,=c˘nN먃C%B8J5`]D2my 'Ư>ck}}^nR˿wC^p5-u5vCG4+exJ~N}O-pYzuyek+w_=x[>kokٷ|#F4x@}K/ҫnRc]-7m{|rO_,[Cwvyweg0W~*wHa7wCޖ]coN%swrg|vG;/:Gݑߏ.k[)GUwf9+4ͩ]'m=|;9
+ź.yܽcn/m>ox6V8nN.鼻a[ +}YRε~F>wnVMhñ{8E$;dGby4⇱8_7^:|?V㷃Xc8ֺ|kݒq 8d0׷%H?~\b݅-M?"ʝ7ե"RC{{̈z1WkM2fILMw_]WQ4z17|KJTqdsR-NK gC*k,ЁM݋ Olro,ZB8h{w6\ Cq~4WV*2&?~ŔdV>oO/mBqmPRKN臮ĠA{K}mZq{4G=c:ކs>kZY.<pՓr~ zux"+ؗ1D!؟_̯Y~<!ډ85&QpIn]xhKJkJ!IU6916 xSoMorc'oX_y+pfIF*pūw<"7C(r4#VIϗ:}U%ǖE?ښؒqTŏhhЖ*ZW-__%Z;!a غ)z sP[s*SMC:[p`lsͶM?ɤ[-M[]tGwM
endstream
endobj
-882 0 obj
-<< /Type /Page /Contents 883 0 R /Resources 881 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+883 0 obj
+<< /Type /Page /Contents 884 0 R /Resources 882 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-884 0 obj
-<< /D [ 882 0 R /XYZ 78.37 808.885 null ] >>
+885 0 obj
+<< /D [ 883 0 R /XYZ 78.37 808.885 null ] >>
endobj
349 0 obj
-<< /D [ 882 0 R /XYZ 79.37 251.229 null ] >>
+<< /D [ 883 0 R /XYZ 79.37 251.543 null ] >>
endobj
-881 0 obj
+882 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F52 372 0 R /F42 374 0 R /F23 375 0 R /F51 376 0 R /F29 371 0 R /F56 380 0 R /F59 389 0 R /F69 398 0 R /F15 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-887 0 obj
-<< /Filter /FlateDecode /Length 2113 >>
-stream
-x\M4WXH*ݪ ̍{aڽi}ؒ;-%8d(V˱3=|8p]8Vmϯok3x 5vgƍ^߆'ε{%Qnx/)Lpsw-O mʕ~#Lcc}_3Kc Md Gn-m{\ԥ @ <OÒB;o3|V{傁{dy4z3D>k{*C\x蒌NM}t-}Z2exӌLsy<Z%Ի0a)L|
-rr ct)DrUrsyXB; *pBN_Nr|\&/0ϸH<<.<*
-Uz?Eӗa1`\l_T >[WƔ{f dNd\v g@ =WpCvLXǞ+[. Sޏ cƕ-]05cFTɸ] `ʇcftc(WBb46<y?J<tR-N 1-yB `w H2%I;$,`b6,2KH+Rs%H64
-UYHw j` ,!˴qx+FHgMv 3ۛH,8C@; J:E4߆y1Ȏ<;[D-Ps2XaTX\WzsU)>:{>[\g׻آHyђ&'h縕{Qk}vȳ>:`Ө`XJl^MSЄ>32i)˹& lboBkJPQa\~$ $D!83ŌAXk8 8&x./ qL^2<I<d2ޮ 1B;
-xG{~lo<EYcΡ齎OūLχe㱲*TW;XYS~e~Be㱲|Ƿ1x :;\gӱnf}c;˦c%qv b6-F6:ydq6={ΔtR0|N)*Gs0 j 1,xn8Fׁ7IZo$!`9=oA
-t<9XKm,&YRsF9C򗘫 nj_U 1c%>?gf^S@. ӒI%$嚰/n|9.Xg ,3o]ùt'
+888 0 obj
+<< /Filter /FlateDecode /Length 2111 >>
+stream
+x\K4o !ͰJ{ⴂ0H>G؝@8\R/w'Ù>w~.7<^gvƍ^ߺ
+_OkK#ip/)Lps wȄ-Oa Ɣ捲f!ۨ`ʁMgeg2l LXsK4^=u~!396Kczhr傁k{Iizl\&A(9a꫱esCet7hj{ג)[f`u[zj)D KaScѥdYHbюIl ^GvU>]\8?=tCϱHg2<܇]1e@*ޢK73<h/_*^r`^F](S|5i!rKНf2\F۳J gN;ĶrKХa
+}0 iгrKYkXZ14 9
+I7¢s-I'mV2גH
+
+[{=7N_峓lz[TN>qIQ >q[kg~6{gCpⒷ!,y`S(KF2h
+?&̙ea)m h( i8B1kEK #i =e;)1^ lg4r tns~5&
+5+y̤ fKdzf<g
+t51Y"~q)y6fz4X61;[$q6^7ei?]T͙1ϛ}ӽH7ᎬA27
+hMFW3 3үMBH(LYq= 3LhլdqGzc*ڙq08eFL #&VU9Ys5ڬj,]L')x2dqr
+'JjcsPX 3z9'L<9L e$Azpsr0W3f&9ŎIWNZ0WfG=w<0i}'v2\wz!-`/g1k'pSYX7&8 '&b7?To MEm=SJoEo2?QZ^8.qu,NI7=nUḺXN<ev
+;:vi*3oP%3Y0T5c׊yajSkkMD Y|Fr#Jms+'-K' lT2393hP;?h.<e`JnI|ە={o$ 
+_n7 ޸%ܓd9-?#_gELoL@%tk .HZ!һz-3s齎ϼoDJr_hGO%͏*eЦ0 m#~V m~|kB{]˪K-6Z6O;>~TaV']mttVɚ-}ΔtR}.)*Gsнuji <QuMoѝ!,dž?'>`lDO}1$ԀN+7OQr= CW1ђҝ3rއΙ\m8vN)Ɯw6cl%>?gFC@α )̰J0S5a5awr f_ k?=g޺;Υ;
endstream
endobj
-886 0 obj
-<< /Type /Page /Contents 887 0 R /Resources 885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R >>
+887 0 obj
+<< /Type /Page /Contents 888 0 R /Resources 886 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
endobj
-888 0 obj
-<< /D [ 886 0 R /XYZ 78.37 808.885 null ] >>
+889 0 obj
+<< /D [ 887 0 R /XYZ 78.37 808.885 null ] >>
endobj
-885 0 obj
+886 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1007 0 obj
-<< /Filter /FlateDecode /Length 3254 >>
-stream
-x\n;+DQ/0:lgVۡTRDMR$E>ߛdߗpS(4Z7Eoț 9-MJT)%ܥ FH[ŚB'`3X%};|ho=
-B }V_&
-Vfʌ
-1ŁՉ#$t Rh )ldJ>0
-3.FHЍK-lSs)m;m<vepR %FN94A Dpuc2|?/(|O벖L%+ԿzDŽ }S4~-$aqlSDd_(r@3?2Fo)9"em8<)e)G9¤0U݋z j!poi؅ܒ@ t*,Gn&QUo/ՒWwK.jګNUTnjUBVG'] 9JC>fNF>Z@C^05_脶^ c.uUe$l׽`%c90QJ KZer%BO
-]uCAَya#k?:2h9TiU`}| |.dIQXvEզwTu%U*᷎ |L^魪m ]kw%9D+_P!qΥx렝aBW{{!`4e`ݴvx^9aj͠bmPL*ڐ<SiPҷd0t18F_裵KU>&)T1 WS2Py>#gdVzJIE'/ܱ
-uػ-A[1R]B}0K 6^Z{Ѿjl8_w%@ ٍNs/>c6 >+PQVNmBqTN)Q傟wT]َ_L6??JJ>Aۗ~ ը,+ "xu6bG fJX8e.> 3rݾR8E'H7|]4 U~z$vRßae"hadrM6S +|1Q\JUjKa%BPu oNwN,l=6RcQ,bh5 BJ=7qkU)nS!:qmP6:Z7Pu@;[)8# 6s؉egs‰*'B#v*Ouۄ
-g;D_Rx􅡜Nx]\w*UzI{R SU6RU
-I!jdݗ=>cq 9*7?"5$a 8f^X/2j jB7Yډ$Ѝ%VB;W+
-ˉ>׊FS>T &q*D5KwLV& udB=x},<ɸ kی[
-PB GJj'g"%!tn{HEksdEh]U.:Aau"7b}u"tӉdF88n0^RƔ4j#ʽ•5{~Ӵ36{i إ;$ܔSy^
-zǖ4BZ |7bF M-G+sHj4AR%u*_-֔S6`#[xsޯ5Tګ38oo쬪͏9JlfGKu>ϥFұ7[GD_u/&RbbtY¢-W{Do;w$[edޕ9kuB<r%*{d{ƛ MhDErPѦ' 0.6^׃ |ӳPպ?y_/s
-w$/p3ZziZ>%
-o<Ɵy|n\Gt./-j5gMWU{֋9,aӹ]<jꏺMq `@RKN v[m>| Q-v_<l&o\i_AI|ˮ?܏ER jNqnH vN":+6DQ*n3 JCOv/C$lwMhb^4w{y-5+v+)GUQ `nOPi\z+ r
+<< /Filter /FlateDecode /Length 3241 >>
+stream
+x\n;+DQ/0:lgVۡTRDEDZMR$E>ߛd_pS(4Z7Eoț 9-MJTRjsF-`bMJl,Ԓ>> |>]J+W"2c
+-;l#ߐ~O01Vh5ŒKtR 3۔&\qNOjMqMZ(i6py= J#: ǟhx{;.XtD{]er.Yݤ>&h
+ kli ;c[l&&B[1|Hyl)o L)# N9:&A$^=e[P {K.jT6g9buE6
+x#} ?-YnITXbnEWBXM{ VJ2Q
+UJ:"ٹ $Biqnj| ȧ_+|rK+t\kḁ*#򠌄M,~d QQ9&J)aIS@p8PBb Gtc9PX1}1UoĻƬsx) j!tp2@ >lY텄rM<wKĖ-ZH nH:8۱}"w:/R{dGG-#
+3-
+oeC)k߲unt!<p %U*᷎ |L^魪m ]kw%9D+_P!qΥxZ|C;'„2V{"<)S'8Z#Bqiil;rAڠ )T)!y5 @IG %_3h94FP_ٯ6I%Ejdlژ G-<#SJ*:}A'XfɁr,q@58@ I>ͩN
+mcέbJEp/tGE0󔆀S}51囔f{,@."-G>{5
+ Cu\-.};@lP<
+uػ-A[1R]B}0K 6cdl %W#eAc,N nuv ~ (6 >+PQVNmBqTN)Q傟wT]َ_L6??JJ>Aۗ~ ը,+ "xu6bG fJX8e.> 0Dn_ Tj_^M"CI@ݩgDXb-Z-UX!ܳ߆qjr)a-
+
+vIJݺ,)Uƭ]36WQG˸ SXZv [ڃP:J|ݝ-}Vl@iD%2N9D| !ؑH{XP:mcM/)߁hN'<UNX;҂jSO =poRK@z˩*ԤUXX˞CZ18l|_=|K_
+%_(,'\CrPoBMP/#U.1(p:}J Hj|zo<e<\F֎7Gk2Hz=LVw&[^,i۸RTw[DtQ-R9¦6V5yT$ U/ؽ+"
+Ȩ?/Gk*V+4eAfO@-Vmhr]ؗ*CqMn2[!ᨤ⊱jVWAXi]q7NXi)Y 6x}GO?yFP+ GaՆA;uuK)h\vʣ -4a"(`P>Fq(HEkdEh]MWF:Ga `Ȭ{Q2e:#1:{~L3ziX[;MM@% `AHX-#B\TQ\DF
+i%>\ZMw+&3Fj4qSR%פ*_'֔S`#[ssޯ5TN:Fbꬎs7oo쬪̏9JlNmGKu>ϥFұ7GDx_&Rbt2-N{n;w܅[edޏ9k|"Qs7\S2` f[LO yJU`\"lbNCGA`Fȟ</ܑ9@e:vv8UЙnCws- irǡqz8?j3jasq{6:+ ^ =ox "zѧ,tgjXm~ <=͍\?vvd;NO^L3J\X
+s2)U+FKh_WBq\NS@k Z9sj}}z񬸎\"_TjΚl׭gP
+ OkLvǩ?$ˇ6u9VXr
+OdUk` fe4ȸ{J
+B G}W%f]~ ԜHraG9:Df'8u24le1h1TVw{43JC_F+8] ]6qߊ䃰a,=MPE1wͲ =BiTJrMZ>
endstream
endobj
1006 0 obj
-<< /Type /Page /Contents 1007 0 R /Resources 1005 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R /Annots 1009 0 R >>
+<< /Type /Page /Contents 1007 0 R /Resources 1005 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 1009 0 R >>
endobj
1009 0 obj
-[ 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R ]
-endobj
-889 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.152 681.312 288.107 693.267 ]/A << /S /GoTo /D (page.17) >> >>
+[ 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R ]
endobj
890 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.152 681.312 288.107 693.267 ]/A << /S /GoTo /D (page.17) >> >>
endobj
891 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 657.621 174.872 668.799 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
endobj
892 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 633.491 241.223 645.446 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 657.621 174.872 668.799 ]/A << /S /GoTo /D (page.10) >> >>
endobj
893 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.318 633.491 257.492 645.446 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 633.491 241.223 645.446 ]/A << /S /GoTo /D (page.24) >> >>
endobj
894 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 622.104 174.872 632.933 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.318 633.491 257.492 645.446 ]/A << /S /GoTo /D (page.62) >> >>
endobj
895 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.752 587.663 253.726 599.618 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 622.104 174.872 632.933 ]/A << /S /GoTo /D (page.46) >> >>
endobj
896 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 576.276 180.102 587.105 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.752 587.663 253.726 599.618 ]/A << /S /GoTo /D (page.3) >> >>
endobj
897 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 564.321 180.102 575.15 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 576.276 180.102 587.105 ]/A << /S /GoTo /D (page.46) >> >>
endobj
898 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.104 551.798 181.059 563.753 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 564.321 180.102 575.15 ]/A << /S /GoTo /D (page.46) >> >>
endobj
899 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 540.41 122.817 551.24 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.104 551.798 181.059 563.753 ]/A << /S /GoTo /D (page.33) >> >>
endobj
900 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.472 528.455 208.446 539.285 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 540.41 122.817 551.24 ]/A << /S /GoTo /D (page.4) >> >>
endobj
901 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.435 528.455 218.409 539.285 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.472 528.455 208.446 539.285 ]/A << /S /GoTo /D (page.4) >> >>
endobj
902 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 516.151 154.2 527.329 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.435 528.455 218.409 539.285 ]/A << /S /GoTo /D (page.9) >> >>
endobj
903 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 504.196 154.2 515.374 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 516.151 154.2 527.329 ]/A << /S /GoTo /D (page.2) >> >>
endobj
904 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 492.59 159.43 503.419 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 504.196 154.2 515.374 ]/A << /S /GoTo /D (page.2) >> >>
endobj
905 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 480.635 159.43 491.464 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 492.59 159.43 503.419 ]/A << /S /GoTo /D (page.2) >> >>
endobj
906 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.926 456.156 201.881 468.111 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 480.635 159.43 491.464 ]/A << /S /GoTo /D (page.2) >> >>
endobj
907 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.165 444.201 181.139 456.156 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.926 456.156 201.881 468.111 ]/A << /S /GoTo /D (page.23) >> >>
endobj
908 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.624 432.246 194.598 444.201 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.165 444.201 181.139 456.156 ]/A << /S /GoTo /D (page.9) >> >>
endobj
909 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.032 420.291 244.987 432.246 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.624 432.246 194.598 444.201 ]/A << /S /GoTo /D (page.5) >> >>
endobj
910 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 386.418 235.804 398.373 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.032 420.291 244.987 432.246 ]/A << /S /GoTo /D (page.41) >> >>
endobj
911 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 375.021 156.75 385.86 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 386.418 235.804 398.373 ]/A << /S /GoTo /D (page.38) >> >>
endobj
912 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.479 362.507 248.434 374.463 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 375.021 156.75 385.86 ]/A << /S /GoTo /D (page.38) >> >>
endobj
913 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 351.12 127.799 361.95 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.479 362.507 248.434 374.463 ]/A << /S /GoTo /D (page.13) >> >>
endobj
914 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 339.165 159.181 349.994 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 351.12 127.799 361.95 ]/A << /S /GoTo /D (page.27) >> >>
endobj
915 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 327.2 191.38 338.039 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 339.165 159.181 349.994 ]/A << /S /GoTo /D (page.15) >> >>
endobj
916 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 327.2 207.43 338.039 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 327.2 191.38 338.039 ]/A << /S /GoTo /D (page.2) >> >>
endobj
917 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 315.245 160.157 326.084 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 327.2 207.43 338.039 ]/A << /S /GoTo /D (page.22) >> >>
endobj
918 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 315.245 176.207 326.084 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 315.245 160.157 326.084 ]/A << /S /GoTo /D (page.2) >> >>
endobj
919 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 303.29 173.946 314.129 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 315.245 176.207 326.084 ]/A << /S /GoTo /D (page.22) >> >>
endobj
920 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 303.29 189.995 314.129 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 303.29 173.946 314.129 ]/A << /S /GoTo /D (page.2) >> >>
endobj
921 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 279.389 238.075 290.219 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 303.29 189.995 314.129 ]/A << /S /GoTo /D (page.22) >> >>
endobj
922 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 267.434 211.535 278.263 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 279.389 238.075 290.219 ]/A << /S /GoTo /D (page.17) >> >>
endobj
923 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.481 254.911 179.455 266.866 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 267.434 211.535 278.263 ]/A << /S /GoTo /D (page.21) >> >>
endobj
924 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 231.001 245.826 242.956 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.481 254.911 179.455 266.866 ]/A << /S /GoTo /D (page.2) >> >>
endobj
925 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 231.001 262.095 242.956 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 231.001 245.826 242.956 ]/A << /S /GoTo /D (page.17) >> >>
endobj
926 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.465 219.045 231.42 231.001 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 231.001 262.095 242.956 ]/A << /S /GoTo /D (page.67) >> >>
endobj
927 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.694 207.09 207.649 219.045 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.465 219.045 231.42 231.001 ]/A << /S /GoTo /D (page.10) >> >>
endobj
928 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 195.703 139.614 206.642 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.694 207.09 207.649 219.045 ]/A << /S /GoTo /D (page.36) >> >>
endobj
929 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 171.783 233.193 182.662 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 195.703 139.614 206.642 ]/A << /S /GoTo /D (page.34) >> >>
endobj
930 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.594 159.838 204.549 170.707 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 171.783 233.193 182.662 ]/A << /S /GoTo /D (page.16) >> >>
endobj
931 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 147.882 167.37 158.821 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.594 159.838 204.549 170.707 ]/A << /S /GoTo /D (page.41) >> >>
endobj
932 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 135.917 170.997 146.866 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 147.882 167.37 158.821 ]/A << /S /GoTo /D (page.26) >> >>
endobj
933 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 135.917 187.266 146.866 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 135.917 170.997 146.866 ]/A << /S /GoTo /D (page.26) >> >>
endobj
934 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 135.917 203.535 146.866 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 135.917 187.266 146.866 ]/A << /S /GoTo /D (page.45) >> >>
endobj
935 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 123.962 165.677 134.911 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 135.917 203.535 146.866 ]/A << /S /GoTo /D (page.60) >> >>
endobj
936 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 123.962 181.946 134.911 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 123.962 165.677 134.911 ]/A << /S /GoTo /D (page.26) >> >>
endobj
937 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 123.962 198.215 134.911 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 123.962 181.946 134.911 ]/A << /S /GoTo /D (page.45) >> >>
endobj
938 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 123.962 215.021 134.911 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 123.962 198.215 134.911 ]/A << /S /GoTo /D (page.59) >> >>
endobj
939 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 112.007 169.303 122.956 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 123.962 215.021 134.911 ]/A << /S /GoTo /D (page.60) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 112.007 185.572 122.956 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 112.007 169.303 122.956 ]/A << /S /GoTo /D (page.26) >> >>
endobj
941 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 100.062 148.72 110.891 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 112.007 185.572 122.956 ]/A << /S /GoTo /D (page.45) >> >>
endobj
942 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 100.062 163.664 110.891 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 100.062 148.72 110.891 ]/A << /S /GoTo /D (page.34) >> >>
endobj
943 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 100.062 179.933 110.891 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 100.062 163.664 110.891 ]/A << /S /GoTo /D (page.38) >> >>
endobj
944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 87.758 188.411 98.936 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 100.062 179.933 110.891 ]/A << /S /GoTo /D (page.66) >> >>
endobj
945 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 87.758 204.68 98.936 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 87.758 188.411 98.936 ]/A << /S /GoTo /D (page.16) >> >>
endobj
946 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 87.758 219.953 98.936 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 87.758 204.68 98.936 ]/A << /S /GoTo /D (page.66) >> >>
endobj
947 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.572 75.583 181.527 87.539 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.313 87.758 221.487 98.936 ]/A << /S /GoTo /D (page.67) >> >>
endobj
948 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.622 75.583 197.796 87.539 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.572 75.583 181.527 87.539 ]/A << /S /GoTo /D (page.12) >> >>
endobj
949 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.585 681.87 390.559 692.709 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.622 75.583 197.796 87.539 ]/A << /S /GoTo /D (page.67) >> >>
endobj
950 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.703 669.915 409.658 680.754 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.585 681.87 390.559 692.709 ]/A << /S /GoTo /D (page.5) >> >>
endobj
951 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 646.014 394.206 656.884 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.703 669.915 409.658 680.754 ]/A << /S /GoTo /D (page.43) >> >>
endobj
952 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.622 634.059 492.577 644.928 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 646.014 394.206 656.884 ]/A << /S /GoTo /D (page.4) >> >>
endobj
953 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.923 621.755 414.878 632.973 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.622 634.059 492.577 644.928 ]/A << /S /GoTo /D (page.37) >> >>
endobj
954 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 610.149 433.227 621.018 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.923 621.755 414.878 632.973 ]/A << /S /GoTo /D (page.23) >> >>
endobj
955 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.079 598.064 464.034 609.063 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 610.149 433.227 621.018 ]/A << /S /GoTo /D (page.14) >> >>
endobj
956 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.072 586.229 479.028 597.108 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.079 598.064 464.034 609.063 ]/A << /S /GoTo /D (page.31) >> >>
endobj
957 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 574.283 369.01 585.113 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.072 586.229 479.028 597.108 ]/A << /S /GoTo /D (page.47) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 574.283 385.279 585.113 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 574.283 369.01 585.113 ]/A << /S /GoTo /D (page.21) >> >>
endobj
959 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.539 561.76 402.495 573.715 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 574.283 385.279 585.113 ]/A << /S /GoTo /D (page.65) >> >>
endobj
960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.644 549.805 502.599 561.76 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.539 561.76 402.495 573.715 ]/A << /S /GoTo /D (page.16) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 379.381 514.508 391.336 525.058 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.644 549.805 502.599 561.76 ]/A << /S /GoTo /D (page.18) >> >>
endobj
962 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.369 502.552 461.324 513.382 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 379.381 514.508 391.336 525.058 ]/A << /S /GoTo /D (page.21) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.419 502.552 477.593 513.382 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.369 502.552 461.324 513.382 ]/A << /S /GoTo /D (page.17) >> >>
endobj
964 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.229 490.029 501.185 501.984 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.419 502.552 477.593 513.382 ]/A << /S /GoTo /D (page.56) >> >>
endobj
965 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 478.642 383.376 489.471 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.229 490.029 501.185 501.984 ]/A << /S /GoTo /D (page.44) >> >>
endobj
966 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.305 466.119 467.26 478.074 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 478.642 383.376 489.471 ]/A << /S /GoTo /D (page.23) >> >>
endobj
967 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 451.481 454.164 463.436 466.119 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.305 466.119 467.26 478.074 ]/A << /S /GoTo /D (page.13) >> >>
endobj
968 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.531 454.164 479.705 466.119 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 451.481 454.164 463.436 466.119 ]/A << /S /GoTo /D (page.12) >> >>
endobj
969 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.018 430.811 434.973 441.76 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.531 454.164 479.705 466.119 ]/A << /S /GoTo /D (page.20) >> >>
endobj
970 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.28 418.866 458.236 429.735 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.018 430.811 434.973 441.76 ]/A << /S /GoTo /D (page.16) >> >>
endobj
971 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.374 406.911 377.329 417.85 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.28 418.866 458.236 429.735 ]/A << /S /GoTo /D (page.47) >> >>
endobj
972 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.372 394.388 485.327 406.343 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.374 406.911 377.329 417.85 ]/A << /S /GoTo /D (page.10) >> >>
endobj
973 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.698 394.388 500.873 406.343 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.268 394.388 488.223 406.343 ]/A << /S /GoTo /D (page.51) >> >>
endobj
974 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.727 394.388 516.902 406.343 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 492.318 394.388 504.492 406.343 ]/A << /S /GoTo /D (page.66) >> >>
endobj
975 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 383.001 399.466 393.83 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 383.001 399.466 393.83 ]/A << /S /GoTo /D (page.49) >> >>
endobj
976 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 370.916 398.081 381.875 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 370.916 398.081 381.875 ]/A << /S /GoTo /D (page.49) >> >>
endobj
977 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 359.09 411.889 369.92 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 359.09 411.889 369.92 ]/A << /S /GoTo /D (page.49) >> >>
endobj
978 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 359.09 428.158 369.92 ]/A << /S /GoTo /D (page.66) >> >>
@@ -4463,7 +4471,7 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 500.497 288.784 512.452 300.739 ]/A << /S /GoTo /D (page.19) >> >>
endobj
986 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 264.874 454.779 276.829 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 264.874 454.779 276.829 ]/A << /S /GoTo /D (page.35) >> >>
endobj
987 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.876 252.918 480.831 264.874 ]/A << /S /GoTo /D (page.47) >> >>
@@ -4475,7 +4483,7 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.071 229.566 458.026 240.445 ]/A << /S /GoTo /D (page.33) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 217.053 493.432 229.008 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 217.053 493.432 229.008 ]/A << /S /GoTo /D (page.41) >> >>
endobj
991 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 205.307 361.508 216.495 ]/A << /S /GoTo /D (page.13) >> >>
@@ -4499,19 +4507,19 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 479.725 123.404 491.68 135.359 ]/A << /S /GoTo /D (page.47) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 99.494 426.156 111.449 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 99.494 426.156 111.449 ]/A << /S /GoTo /D (page.39) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 99.494 442.425 111.449 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 99.494 442.425 111.449 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 472.61 87.539 484.565 99.494 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 472.61 87.539 484.565 99.494 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.659 87.539 500.834 99.494 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.659 87.539 500.834 99.494 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 495.334 75.583 507.29 87.539 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 495.334 75.583 507.29 87.539 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1008 0 obj
<< /D [ 1006 0 R /XYZ 78.37 808.885 null ] >>
@@ -4522,37 +4530,38 @@ endobj
1005 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F67 385 0 R /F56 380 0 R /F15 377 0 R /F57 381 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1112 0 obj
-<< /Filter /FlateDecode /Length 3233 >>
-stream
-x\ɮ +,K5v klUJR,]IQy8y7?oRD`_ݐuqAhwqV i.CJ R:҆o+D4*Mo
- S}ةk8VGf%Z,AP; jUL
-YM$Ue^-> e3 'XKRȭmT l(uh`h=!cw٩#ԜDJAlv=+@֥?$섓zGzr=Ը`x3?Eɶ8YַK}N
-)-g%A8EK̉M9+F>hd/΁jM صQ
-, r1s-Pݪ^F:SP$^݊8BȈrg#U:˕Q OX+B੢Ֆ*[]sy//يޖ%tc
->MQ8Nm0tGE:#
-l-.kJ\6nC%tݟlhyb5Z2GЄyď ;T.JG:B 4AOnBNKSWgdN<]"?[aZR|Ŭ,>+hrIە\S2knU[h JW¦7T m 7z]G= yi@AYV>w2g/(
--c=:MT 2a;`*}*itGzLՍ"̕lȟ[~r,!]!S:4x f*9]F[&ty'LHubܟhpJ,0y~ S]4؏D8[?Vձ۾V#~R:l@Ϋi 6\ FXlC>q'4
-SPáƉF6?Ot6YRrX@A4"61Zt PUı߳
-F HR9ьfegL0xI!/|Nސ$bS=r=s'3{; }Y?bsy>6Nt(.:tN5N=FϭOX9by`=k# um-mGz,u\Qp ?c4ô9A\wiIk>ȏJ gմ2#J87@Z
--՟@P>SAV}Z3(
-glWqbgvu@ &%MN԰A1L4b0SgIW[84Ge8Z6 y7W҄UVqL8<̓l$O9~.9N8ʛ{FíEKn*"4dMlaYQ$5Yfw:vFa7Q( ̸
-p5'9wD4ܲzV[5MM hV98S`lG* $Ov}C睻K) ggpY+
-:*Mqg rV)eJ+I)ro^FZ.3%UKjf?\.: 9;S̞<
-Kg2;hEE~噀Lhzژ,ҢXJy"y8u.ʾvo
+1113 0 obj
+<< /Filter /FlateDecode /Length 3273 >>
+stream
+x\ɮ WZ x@U׽]moCɲZ]K,u.E[^}}ۏ/e.A /M yQvgV]~? C)mXRJOO\/p[~]k㟿Υ #)l9^H +c9 _*_Ǝ:pA
+~5凪X͠9ec[bʨ#{-ҵ[ݪ(+v0
+F` ?n
+dNjy@f
+=< n 'D}.;u
+C 봃`w8Ny)88Z0 t}e |iJrp6:dSb5#0ؔ4t,٤N0ZoN`LQ+ STg\-1'6=?\nH=
+85y7`֧G*,*̵@u>zLAx=F~w+@"#2˝'PW,WF1r@r#_0`W[l5^t/d+z[,iVƠ/@.RA=.6L׵פRBANIϮόim( F}Z*Qr$o@nq4fFhIy'@Md6A#g,/'j|团pۊa<鎊tF2<?Mo_) ZZ7/g,7St]+iRpqZ0\
+֔.mGB%tݟlhyb5Z2GЄ=yď ;T.JG:B 4AOnBNKSWgdN<]"?[aZR|Ŭ,>+hrIە\S2knU[h JW¦7T bѭn6%zAXec@d(+
+|dB_Pm ">QLݚԙ8
++L)-+2Z6ɎR=½HkMspS>sr .
+B{VhS8+#4.Si }ғj}`TdM06>m:pSEfm+.y;!6uNt ռ/pR:#',t iK1JIWb-a٩LJ7ֵA
+pHu>k?g̖tb6 D`"ujk[9yvKn8ءZ
+-3^h`F\g qNrdЌPyCS!?,IqvqzTRP~Z}~RRΉa ȟ+xMN@yOX28rKxQ_z"UgFb_mwˬl85rn+%:ihltߣ2pP*2ϱ8Z;%,4$qm⠠C9/FamnI {L(f9Y=nHwStwA^`:G,/nNlRSi54o%s4 xh#V0|u½da{vWg#]j[J2S0@7-hb6IQ9j83 @%(u~ܝF)9@X^2
+(i^a2<SS%?߬f&uѡrBɳ:<;G2
+oN#Vf +ڰix3`j,;7(HiW (m[mk"񸱴5&k 4Hjph"Rؽ
+>EW
endstream
endobj
-1111 0 obj
-<< /Type /Page /Contents 1112 0 R /Resources 1110 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 858 0 R /Annots 1114 0 R >>
+1112 0 obj
+<< /Type /Page /Contents 1113 0 R /Resources 1111 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 1115 0 R >>
endobj
-1114 0 obj
-[ 1003 0 R 1004 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R ]
+1115 0 obj
+[ 1003 0 R 1004 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R ]
endobj
1003 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 758.022 182.095 768.971 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.66 745.619 240.615 757.574 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.66 745.619 240.615 757.574 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1010 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 734.102 170.09 745.17 ]/A << /S /GoTo /D (page.50) >> >>
@@ -4603,7 +4612,7 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 513.061 159.181 523.89 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1026 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 488.583 189.896 500.538 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 488.583 189.896 500.538 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1027 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 477.195 127.799 488.025 ]/A << /S /GoTo /D (page.11) >> >>
@@ -4630,10 +4639,10 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 357.644 196.86 368.513 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1035 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 345.679 233.193 356.558 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 345.679 233.193 356.558 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1036 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 333.723 193.442 344.563 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 333.723 193.442 344.563 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1037 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 333.723 209.711 344.563 ]/A << /S /GoTo /D (page.57) >> >>
@@ -4657,19 +4666,19 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.295 229.554 199.251 241.509 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 195.681 224.456 207.636 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 195.681 224.456 207.636 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 183.726 245.565 195.681 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 183.726 245.565 195.681 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 171.771 263.816 183.726 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 171.771 263.816 183.726 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1047 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.716 160.304 201.672 171.213 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1048 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 160.304 216.616 171.213 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 160.304 216.616 171.213 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1049 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 148.418 127.46 159.258 ]/A << /S /GoTo /D (page.26) >> >>
@@ -4696,794 +4705,801 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 76.568 144.327 87.636 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 745.619 420.925 757.574 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 745.619 420.925 757.574 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1058 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 733.664 453.105 745.619 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 733.664 453.105 745.619 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1059 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 722.197 427.341 733.205 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 722.197 427.341 733.205 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1060 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.515 709.753 448.47 721.708 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1061 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 698.236 371.202 709.195 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 698.236 371.202 709.195 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1062 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 673.888 473.389 685.843 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.81 686.281 415.765 697.24 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 661.933 493.972 673.888 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 661.933 473.389 673.888 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 661.933 510.241 673.888 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 649.977 493.972 661.933 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 649.977 429.085 661.933 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 649.977 510.241 661.933 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 616.104 410.465 628.06 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 638.022 429.085 649.977 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 604.149 486.498 616.104 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 604.149 410.465 616.104 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 592.194 475.3 604.149 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 592.194 486.498 604.149 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 546.934 394.206 557.803 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 580.239 475.3 592.194 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 534.979 420.109 545.848 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 534.979 394.206 545.848 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 523.014 456.442 533.893 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 523.024 420.109 533.893 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 510.5 439.864 522.456 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 511.058 456.442 521.938 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 498.765 372.218 509.943 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 498.545 439.864 510.5 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 486.809 429.503 497.987 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 486.809 372.218 497.987 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 475.203 377.449 486.032 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 474.854 429.503 486.032 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 463.248 408.582 474.077 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 463.248 377.449 474.077 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 463.248 424.851 474.077 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 451.293 408.582 462.122 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 451.293 413.812 462.122 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 451.293 424.851 462.122 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 439.048 408.831 450.167 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 439.337 413.812 450.167 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 427.382 382.679 438.212 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 427.093 408.831 438.212 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 415.427 387.909 426.256 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 415.427 382.679 426.256 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 403.472 392.891 414.301 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 403.472 387.909 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 391.517 375.894 402.346 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 391.517 392.891 402.346 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 379.562 351.526 390.391 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 379.562 375.894 390.391 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 367.038 410.674 378.994 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 367.606 351.526 378.436 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 367.038 425.618 378.994 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 355.083 410.674 367.038 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 355.083 478.669 367.038 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 355.083 425.618 367.038 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 343.696 438.609 354.525 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 343.128 478.669 355.083 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 343.696 453.553 354.525 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 331.741 438.609 342.57 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 343.696 469.822 354.525 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 331.741 453.553 342.57 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 331.392 366.739 342.57 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 331.741 469.822 342.57 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 307.263 395.501 319.218 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 319.437 366.739 330.615 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 307.263 411.77 319.218 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 295.307 395.501 307.263 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 295.756 368.721 306.814 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 295.307 411.77 307.263 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 261.654 419.043 272.832 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 283.801 368.721 294.859 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 237.524 462.828 249.479 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 249.699 419.043 260.877 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 213.614 432.044 225.569 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 225.569 462.828 237.524 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 189.703 446.938 201.659 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 201.659 432.044 213.614 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 155.831 439.175 167.786 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 177.748 446.938 189.703 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 144.314 388.935 155.273 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 143.875 439.175 155.831 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 132.199 403.351 143.317 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 132.359 388.935 143.317 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 120.403 380.278 131.472 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 120.244 403.351 131.362 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 120.403 396.547 131.472 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 108.448 380.278 119.517 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 108.229 377.449 119.407 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 108.448 396.547 119.517 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 96.334 382.679 107.452 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 96.274 377.449 107.452 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.588 84.109 437.543 96.055 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 84.378 382.679 95.497 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.532 84.109 452.487 96.055 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.588 72.154 437.543 84.099 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.582 84.109 468.756 96.055 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.532 72.154 452.487 84.099 ]/A << /S /GoTo /D (page.32) >> >>
endobj
-1113 0 obj
-<< /D [ 1111 0 R /XYZ 78.37 808.885 null ] >>
+1109 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.582 72.154 468.756 84.099 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1110 0 obj
+1114 0 obj
+<< /D [ 1112 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1111 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F67 385 0 R /F57 381 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1204 0 obj
-<< /Filter /FlateDecode /Length 3154 >>
+1205 0 obj
+<< /Filter /FlateDecode /Length 3155 >>
stream
-x\M$ ?1 E#m)E&k
- 5&ULu c?6f7}7=}˃-H@xo蛹ndns_v;c7QMZZCkwkmɝB_QDM"lO!gϡp/wYh,$fhn2n}tL%U,Kf i"InŒ}W%d4O?>
-'ѳqZv}FApG3e=9 D?ȗhxbN|`>")Z?Z
-8@VwͶMN ֒n-/Ѣ޳8GlIFOKe5~k6އve)rއzM<?Z029.9}80Nhe$xV2
-{/K"g^/'yW 꽻[;Z?48Ze˂VEu1>8!PHW$2y[ s!*P`ȋk&J~.SjU<b7y=ZF)/9;F2^Zt&=9un ]}c"JkAGIsK0q\ߐp~ vq]:B`kСg\9:okQţڱ@ 9W4i0Ig
-pj*+sp"3IIu1
-LxZ,S q xU18xkk`6!#>4t֪hG, kϮnsg[yOӈH= \tCGi :VKtpͷ
-Pk<6>#&F2gxHr %PcGțk|ElIy 5LO86+pWFZ/EƐwQs1ԛ6f'VpGeBDz=Ot.8vã<HŻJC~gpYe۹>9Vї.W4ʆ vKKRb/fDy1I8a:f>ls7(c]ǡ':P1tNtZ+(
-
+x\ˎ$W\#@Z,o{2! lkŨ;+E<N̟_@w "F7EM87JHT_R?Qv ¸ J))CJ'c"EKOK?QY/]M$ɟ6#! *}֟~謹͍ʮҰhF#h$}S%>K<B)|@έX2Q/
+h{M"'<Gk/ 5 M˧qEHQH: 7W]UZ7*qf^e޼E$jX]jFbDY.`ñ33%Lzߩgr@S%0\*iZxa089:c@].oI`-92~uB`ɶbok<7,mve.rCz3Z8z(&3~d.Sf] $,Y|`qz/6&VR;ϗ%O5.ΗʡpUzƌ2Tds`]T O2*q$fZL2Zf+<"I=kd'AG&s.G( N4ȁa> ,ˇM1z7 Sn
+|c-@JkA' G)9\9nop8QkCt&j7Gl :dƕy}X
+*UĆ.He8
+QPG SouW?g7ύw\8w`Q8N]P$)?N
+U'A£USj6!VbFĬZE !m :[ŁVî(BR&HZgF៬O*5b^e+0gk|.7T|2 u
+'7]3v}G2⤌P
+[N U.MӔ>T
+vOT-")rZĵwx4/P6G_??3p4?Z7S>nrg-ጭ޺s`G U;<G\2a .IŖ -tz\?v0^mS\mSIb?F<$( {3邹xG@qCn8ZeXWyoF5&
endstream
endobj
-1203 0 obj
-<< /Type /Page /Contents 1204 0 R /Resources 1202 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1206 0 R /Annots 1207 0 R >>
+1204 0 obj
+<< /Type /Page /Contents 1205 0 R /Resources 1203 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1208 0 R >>
endobj
-1207 0 obj
-[ 1109 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R ]
+1208 0 obj
+[ 1110 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R ]
endobj
-1109 0 obj
+1110 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.633 745.619 258.588 757.574 ]/A << /S /GoTo /D (page.31) >> >>
endobj
-1115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 723.98 130.18 732.926 ]/A << /S /GoTo /D (page.17) >> >>
-endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.584 710.321 143.54 721.151 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 723.98 130.18 732.926 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.354 698.366 154.309 708.916 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.584 710.321 143.54 721.151 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.018 685.843 283.973 697.798 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.354 698.366 154.309 708.916 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 241.682 673.888 248.655 685.843 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.018 685.843 283.973 697.798 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 649.977 197.677 661.933 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 241.682 673.888 248.655 685.843 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 280.187 638.022 292.142 649.977 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 649.977 197.677 661.933 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 602.715 223.071 613.594 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 280.187 638.022 292.142 649.977 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.046 590.64 151.002 601.599 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 602.715 223.071 613.594 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 566.291 197.677 578.246 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.046 590.64 151.002 601.599 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.576 554.336 236.531 566.291 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 566.291 197.677 578.246 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 542.949 133.248 553.778 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.576 554.336 236.531 566.291 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 542.949 149.517 553.778 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 542.949 133.248 553.778 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 542.949 165.567 553.778 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 542.949 149.517 553.778 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 519.038 170.957 529.908 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 542.949 165.567 553.778 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 507.083 212.551 517.953 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 519.038 170.957 529.908 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 483.173 238.075 494.002 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 507.083 212.551 517.953 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 483.173 254.344 494.002 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 483.173 238.075 494.002 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 471.218 211.535 482.047 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 483.173 254.344 494.002 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 471.218 227.804 482.047 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 471.218 211.535 482.047 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 458.695 219.355 470.65 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 471.218 227.804 482.047 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 446.74 281.522 458.695 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 458.695 219.355 470.65 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 425.101 130.18 434.047 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 446.74 281.522 458.695 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1138 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 411.093 143.49 422.271 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 425.101 130.18 434.047 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1139 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 398.919 244.899 410.874 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 411.093 143.49 422.271 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1140 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 398.919 261.168 410.874 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 398.919 244.899 410.874 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1141 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 365.046 216.785 377.001 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 398.919 261.168 410.874 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1142 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 365.046 232.835 377.001 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 365.046 216.785 377.001 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 353.091 240.215 365.046 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 365.046 232.835 377.001 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 341.694 154.07 352.533 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 353.091 240.215 365.046 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 329.18 264.117 341.136 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 341.694 154.07 352.533 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 317.225 282.937 329.18 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 329.18 264.117 341.136 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 305.27 287.998 317.225 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 317.225 282.937 329.18 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 281.36 223.689 293.315 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 305.27 287.998 317.225 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 269.405 175.29 281.36 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 281.36 223.689 293.315 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 257.449 205.766 269.405 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 269.405 175.29 281.36 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 245.494 247.081 257.449 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 257.449 205.766 269.405 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 233.539 293.653 245.494 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 245.494 247.081 257.449 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1153 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 222.152 157.946 232.981 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 233.539 293.653 245.494 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1154 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 209.629 216.494 221.584 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 222.152 157.946 232.981 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1155 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 209.629 232.763 221.584 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 209.629 216.494 221.584 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 187.99 130.18 196.946 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 209.629 232.763 221.584 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 161.808 225.183 173.763 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 187.99 130.18 196.946 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 161.808 241.233 173.763 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 161.808 225.183 173.763 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 161.808 257.502 173.763 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 161.808 241.233 173.763 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 161.808 273.771 173.763 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 161.808 257.502 173.763 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 137.898 225.183 149.853 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 161.808 273.771 173.763 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 104.593 159.181 115.422 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 137.898 225.183 149.853 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 104.593 175.45 115.422 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 104.593 159.181 115.422 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 92.07 254.105 104.025 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 104.593 175.45 115.422 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 80.682 164.411 91.512 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 92.07 254.105 104.025 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.851 68.159 181.806 80.114 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 80.682 164.411 91.512 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 757.574 409.907 769.529 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.851 68.159 181.806 80.114 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 745.619 429.483 757.574 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 757.574 409.907 769.529 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 733.664 464.064 745.619 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 745.619 429.483 757.574 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 710.321 394.206 721.19 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 733.664 464.064 745.619 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 710.321 410.475 721.19 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 710.321 394.206 721.19 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 698.366 459.688 709.235 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 710.321 410.475 721.19 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 698.366 475.957 709.235 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 698.366 459.688 709.235 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 686.411 433.227 697.28 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 698.366 475.957 709.235 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 673.888 473.915 685.843 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 686.411 433.227 697.28 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1176 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 661.933 435.561 673.888 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 673.888 473.915 685.843 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1177 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 661.933 451.83 673.888 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 661.933 435.561 673.888 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1178 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 616.104 446.938 628.06 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 661.933 451.83 673.888 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1179 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 582.232 452.208 594.187 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 616.104 446.938 628.06 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1180 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 582.232 468.258 594.187 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 582.232 452.208 594.187 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1181 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 570.276 425.468 582.232 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 582.232 468.258 594.187 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 558.321 407.067 570.276 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 570.276 425.468 582.232 ]/A << /S /GoTo /D (page.8) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 558.321 423.117 570.276 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 558.321 407.067 570.276 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 546.934 403.351 557.763 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 558.321 423.117 570.276 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 534.979 403.351 545.808 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 546.934 403.351 557.763 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 523.024 351.048 533.853 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 534.979 403.351 545.808 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 511.068 366.739 521.898 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 523.024 351.048 533.853 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 487.158 394.206 498.027 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 511.068 366.739 521.898 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 475.203 420.109 486.072 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 487.158 394.206 498.027 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 463.238 456.442 474.117 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 475.203 420.109 486.072 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 451.293 406.709 462.122 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 463.238 456.442 474.117 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 438.989 377.449 450.167 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 451.293 406.709 462.122 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 427.033 377.449 438.212 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 438.989 377.449 450.167 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 415.427 382.679 426.256 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 427.033 377.449 438.212 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 415.427 382.679 426.256 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.845 357.644 435.8 368.513 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.661 345.689 425.616 356.558 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.845 357.644 435.8 368.513 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 311.248 400.014 323.203 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.661 345.689 425.616 356.558 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.798 299.293 418.754 311.248 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 311.248 400.014 323.203 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.715 287.337 435.67 299.293 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.798 299.293 418.754 311.248 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.183 253.464 508.138 265.42 ]/A << /S /GoTo /D (page.38) >> >>
-endobj
-1205 0 obj
-<< /D [ 1203 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.715 287.337 435.67 299.293 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1202 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.183 253.464 508.138 265.42 ]/A << /S /GoTo /D (page.37) >> >>
+endobj
+1206 0 obj
+<< /D [ 1204 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1203 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 385 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1248 0 obj
+1249 0 obj
<< /Filter /FlateDecode /Length 2418 >>
stream
-x\ˎ;+(F8]n0;*U:ݷc[/R$2/|uy;ً@&qіI}0˿9ˋnϺ?ι'+&f&nk|Ewy-Eep &KA6L f>50uFlInqG[
-!eR辡nDV, B#~jY؟̵}s8_MaT^E }x%4U\~nJw=>6nvw+P}$^QAcQ-#,$AэTz-Gc-orIp C6ם@Ʈfq/+'P?U4"ǀP,ė~dbNHBܹK* KPН9(B2mlDBJf {7-M5_Y{aZC \^ґl, T]+9^uڍc.PUj`G|7U/[Num/"竃Bb19XmTI!TB4{UM-VB9fs=Tr"B۰GeBg:7\'
-Գn3$36D@V(v޳ir:A–q ab/Jt6ҋ^ar}THbWDrd` jTs^oh͉߄9hVMGb>7/Ox"79+mGk{=
-Qv' `K ا5g۔dvԦFm<efjRyN_nr5n̯5NV2ꃡ^eggAl]8y D%JTY
-?e> K6 H5
+x\n#;W( ݾ]g7j;zJUtr;tතu)b_s?~ǝE Hpy7qіI}0?9ˋnϺ?ι'+&f&n{|Ewz-Eep &KA6L f>50uFlInqG[
+!eR辡nDV, B#~jY؟̵}s8_MaT^E }x%4U\~nJw=>6nvw+P}$^QAcQ-#,$AэTz-Gc-orIp C6ם@Ʈfq/+'P?U4"ǀP,ė~dbNHBܹK* KPН9(B2mlDBJf {7-M=_Y{aZC \^ґl, T]+9^uڍc.PUj`G|7U/[Num/"竃Bb19XmTI!TB4{UM-VB9fs=Tr"B۰GeBg:7\'
+Գn3$36D@V(v޳ir:A–q ab/Jt6ҋ^ar}'TK\1-Hȉ z*6(є9sR3:JTߛ|n_Dꋐ79+mGk{=
+Qvؓe
+{SW~ ӚSmJ
+M;jS6af2iD5)ڼm/77WX+͌]xP3 .<lTz
+%|N]
f\2@]t\Aȼ ~8
-B{88QPv+kJ7]!E%[E>76TOn*r{ jQG1P50H+83: `;wz)--@xIџg>xsx1MSmWj;/6 $ODcn+^|wp`38.Ei
+B{88QPv+kJ7]!E%[E>v*ІME{A-394i}%`;wz)--@xIџg>xsx1MSmWj;/6 $ODcn+^|wp`38.Ei
}zJEagԑL!`֡Ze
-kkdmsmXs.CBfsTez3eHچ/}*kJ"TdU+|kAhΔu\o}%aN+;a={edޒ
-K~hg.|dOLZNpC<p
-<Žk"厛Fr//jFrzk?9+(\<? 懢z*ъInyln)˝ȁ}ڞ~a.WK) gV ,Uy
+{kdmsmXs.CBfsTez3eHچ.}*kJ"TdU+|kAhΔu\o}%aN+;a=gefޒ
+K~hg.|dOLZNpC<p
+<Žk"厛Fr//jFrzk?9+(\<? KQnh$Lu7<t7Mn> KmO0R+S ]3C
endstream
endobj
-1247 0 obj
-<< /Type /Page /Contents 1248 0 R /Resources 1246 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1206 0 R /Annots 1250 0 R >>
+1248 0 obj
+<< /Type /Page /Contents 1249 0 R /Resources 1247 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1251 0 R >>
endobj
-1250 0 obj
-[ 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R ]
+1251 0 obj
+[ 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R ]
endobj
-1208 0 obj
+1209 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 594.319 289.293 603.285 ]/A << /S /GoTo /D (section.1) >> >>
endobj
-1209 0 obj
+1210 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 570.458 265.951 581.467 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-1210 0 obj
+1211 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.433 168.606 559.549 ]/A << /S /GoTo /D (section.3) >> >>
endobj
-1211 0 obj
+1212 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 528.565 140.999 537.532 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-1212 0 obj
+1213 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.617 175.639 525.686 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-1213 0 obj
+1214 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 504.495 228.102 513.621 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-1214 0 obj
+1215 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.707 223.699 501.706 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-1215 0 obj
+1216 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 480.585 213.198 489.711 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
-1216 0 obj
+1217 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 468.63 333.089 477.756 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-1217 0 obj
+1218 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 456.675 321.731 465.801 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-1218 0 obj
+1219 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 434.867 266.419 443.943 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-1219 0 obj
+1220 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 421.088 366.075 432.037 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
-1220 0 obj
+1221 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 410.847 232.008 420.082 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
-1221 0 obj
+1222 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 396.62 239.34 408.575 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-1222 0 obj
+1223 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 385.223 272.267 396.172 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
-1223 0 obj
+1224 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.268 323.246 384.216 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
-1224 0 obj
+1225 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 363.026 251.445 372.192 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
-1225 0 obj
+1226 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 349.357 328.765 360.236 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
-1226 0 obj
+1227 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 336.844 222.623 348.799 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-1227 0 obj
+1228 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 324.889 253.467 336.844 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
-1228 0 obj
+1229 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 313.492 310.942 324.441 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-1229 0 obj
+1230 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 291.504 338.927 302.513 ]/A << /S /GoTo /D (section.6) >> >>
endobj
-1230 0 obj
+1231 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 281.332 220.77 290.458 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-1231 0 obj
+1232 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.106 322.16 279.061 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-1232 0 obj
+1233 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.589 255.35 266.657 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-1233 0 obj
+1234 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 243.753 255.298 254.632 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
-1234 0 obj
+1235 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 221.278 221.856 233.233 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-1235 0 obj
+1236 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 199.848 213.129 210.757 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-1236 0 obj
+1237 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 187.962 208.596 198.802 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-1237 0 obj
+1238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 177.721 190.464 186.847 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-1238 0 obj
+1239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 165.766 245.567 174.891 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-1239 0 obj
+1240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 142.065 271.599 153.073 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-1240 0 obj
+1241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 120.147 259.166 131.155 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-1241 0 obj
+1242 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 108.152 214.254 119.21 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
-1242 0 obj
+1243 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 95.748 296.347 107.703 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
-1243 0 obj
+1244 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 84.231 398.942 95.3 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
-1244 0 obj
+1245 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 72.276 268.67 83.275 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
-1249 0 obj
-<< /D [ 1247 0 R /XYZ 78.37 808.885 null ] >>
+1250 0 obj
+<< /D [ 1248 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1246 0 obj
+1247 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F66 384 0 R /F50 370 0 R /F67 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1303 0 obj
-<< /Filter /FlateDecode /Length 2277 >>
+1304 0 obj
+<< /Filter /FlateDecode /Length 2270 >>
stream
-x\n6߯3'P@ݶ|J$=rk6"PlI33<<3߿r<~~4j7'v^ 4{woRjptR?"Ưi.)62))s8[ssnDD<V~Scn??wkJISs}Xj,`h) uQ zeػ 1y{j"E"1Y\p^Yk DG0tl_2Ա/
-QgXN<ُt2t# X̴Jy3;[apml.&MTnc' Bv{$&N4apA9SN~<s;#|6ES2eu@3 h,B19F1
-]+DgN=UG%5[9Nml Oaܥ1:
-8cP/8vFv ;J'%^IJB5E+뵊_1@6rb̻Cc/\FS 1+ذEDmM<_=.|YdZurx5`]%0e]c)8)SE U?/Wp|)sgCe|S+5MԐ.a`0X>uW@t;FhI<3&Z~dMaVs;~6CQB+w Qa_XK.8-Է@WH)X$~5
-Y׾Vqј\eF㜉0&(rJy&NM6*5=3'+nb, ᇦk3&rW3s4Vp_ҽR
-!PkгU%k\MpM5
-I#E%֛ayGX>U$-JWq]E;򶩱Q)Bk%5:%7~k}%r#eiq7OjgТppWbfyf6CMԫ|v4RaϘZQ-GT%6ᶾ8c`Xc831CaF4_M格)3mr 
-<ԲsPxRw}>81]/B6(4,N#alcl3/aCASA<KM#s\*h4$}FqB_h^iϛ?fb1k=֖xޱUwUؿD`cFo:_SQjI^O'/|i0%M=
-NIvI^^U$
+x\r6 ߯%
+p5бA|VkP
+uX>wLYf\vzwZr2ҪO)FWhTWk:/w&PyPkgP31{}wUr]+Dg=UG%5[9ml OxG`8hi^nUbKSp\`H=,&xyUL" ӏ9SD4)Z $,,]+wTS4; Ca$&r3/h[5JI86ëX ]aXtʩ u!}@w,H֥
+)XUDŽwȉ1\raoO1$`ǶQQ7|]F
+eUkѶ-Žwq
+3 kRwERjR8=“O\F=kLY*;0DLtՆ16AɍW33|85٨|n%!}Sӵju99urAK_L^onX {lS= 5nUFkmzFfa`VOU(C UjWumjlTZWp)TK^˰,s..K܏˼@/}ڶ' -
+
+w.fo8Xks;ԴLZyǻE# 2qKUkcNf 5&f9ۈ)v=eXZ&eFD5%m*cRO>11-@ U^'h5.SYP$ rʭ*Jk&)iGf;mkw[V'ZSV 3_/xsC@^F.m,imWnӎs׷6m!֠be k{v>d^-+б`p-PZ#ioƟb.򩪾nob_g`nTW5^EZvn?
+ 77oAכ"Őb˯Z[^i{6aVqSy֏}RKZ5}z<ywK)ַ/iQmJ
+ofK
+6[3$
endstream
endobj
-1302 0 obj
-<< /Type /Page /Contents 1303 0 R /Resources 1301 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1206 0 R /Annots 1305 0 R >>
+1303 0 obj
+<< /Type /Page /Contents 1304 0 R /Resources 1302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1306 0 R >>
endobj
-1305 0 obj
-[ 1245 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R ]
+1306 0 obj
+[ 1246 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R ]
endobj
-1245 0 obj
+1246 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.012 297.502 769.011 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-1251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 264.506 757.126 ]/A << /S /GoTo /D (subsection.10.6) >> >>
-endobj
1252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 724.259 348.591 735.198 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 264.506 757.126 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
1253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 701.783 169.522 713.738 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 724.259 348.591 735.198 ]/A << /S /GoTo /D (section.11) >> >>
endobj
1254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 689.828 297.263 701.783 ]/A << /S /GoTo /D (subsection.12.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 701.783 169.522 713.738 ]/A << /S /GoTo /D (section.12) >> >>
endobj
1255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 677.873 416.735 689.828 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 689.828 297.263 701.783 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
1256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 665.918 406.484 677.873 ]/A << /S /GoTo /D (subsection.12.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 677.873 416.735 689.828 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
1257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 653.963 343.918 665.918 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 665.918 406.484 677.873 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
1258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 632.533 308.152 643.542 ]/A << /S /GoTo /D (section.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 653.963 343.918 665.918 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
1259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 620.528 233.642 631.527 ]/A << /S /GoTo /D (subsection.13.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 632.533 308.152 643.542 ]/A << /S /GoTo /D (section.13) >> >>
endobj
1260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 608.573 237.228 619.532 ]/A << /S /GoTo /D (subsection.13.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 620.528 233.642 631.527 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
1261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.451 219.804 607.576 ]/A << /S /GoTo /D (subsection.13.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 608.573 237.228 619.532 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
1262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.496 288.586 595.621 ]/A << /S /GoTo /D (subsection.13.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.451 219.804 607.576 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
1263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 572.269 337.881 584.224 ]/A << /S /GoTo /D (subsection.13.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.496 288.586 595.621 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
1264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 552.782 205.706 561.848 ]/A << /S /GoTo /D (section.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 572.269 337.881 584.224 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
1265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 540.777 224.546 549.833 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 552.732 205.706 561.848 ]/A << /S /GoTo /D (section.14) >> >>
endobj
1266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 526.441 251.983 538.396 ]/A << /S /GoTo /D (subsection.14.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 540.667 224.546 549.833 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
1267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.934 312.127 525.992 ]/A << /S /GoTo /D (subsection.14.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 526.441 251.983 538.396 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
1268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 502.53 330.937 514.486 ]/A << /S /GoTo /D (subsection.14.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.934 312.127 525.992 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
1269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.575 220.551 502.53 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 502.53 330.937 514.486 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
1270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 479.178 187.943 490.017 ]/A << /S /GoTo /D (subsection.14.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.575 220.551 502.53 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
1271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 467.113 246.244 478.172 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 479.178 187.943 490.017 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
1272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 455.148 216.735 466.107 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 467.113 246.244 478.172 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
1273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 445.026 228.312 454.261 ]/A << /S /GoTo /D (subsection.14.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 455.148 216.735 466.107 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
1274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 430.799 307.993 442.755 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 445.026 228.312 454.261 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
1275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 418.844 287.271 430.799 ]/A << /S /GoTo /D (subsection.14.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 430.799 307.993 442.755 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
1276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 399.307 273.731 408.324 ]/A << /S /GoTo /D (section.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 418.844 287.271 430.799 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
1277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 385.529 338.568 396.368 ]/A << /S /GoTo /D (subsection.15.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 399.307 273.731 408.324 ]/A << /S /GoTo /D (section.15) >> >>
endobj
1278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 373.454 240.177 384.523 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 385.529 338.568 396.368 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
1279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 363.332 270.474 372.458 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 373.454 240.177 384.523 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
1280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 349.544 325.314 360.503 ]/A << /S /GoTo /D (subsection.15.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 363.332 270.474 372.458 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
1281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.708 306.339 348.657 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 349.544 325.314 360.503 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
1282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.195 363.933 337.151 ]/A << /S /GoTo /D (subsection.15.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.708 306.339 348.657 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
1283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 303.835 229.457 314.774 ]/A << /S /GoTo /D (section.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.195 363.933 337.151 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
1284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 281.918 207.569 292.757 ]/A << /S /GoTo /D (section.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 303.835 229.457 314.774 ]/A << /S /GoTo /D (section.16) >> >>
endobj
1285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.843 201.273 280.802 ]/A << /S /GoTo /D (subsection.17.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 281.918 207.569 292.757 ]/A << /S /GoTo /D (section.17) >> >>
endobj
1286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 259.721 206.392 268.847 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.843 201.273 280.802 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
1287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 245.943 250.877 256.892 ]/A << /S /GoTo /D (subsection.17.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 259.721 206.392 268.847 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
1288 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 234.097 195.276 244.976 ]/A << /S /GoTo /D (subsection.17.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 245.943 250.877 256.892 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
1289 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 212.179 143.002 223.019 ]/A << /S /GoTo /D (section.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 234.097 195.276 244.976 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
1290 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 199.666 353.181 211.621 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 212.179 143.002 223.019 ]/A << /S /GoTo /D (section.18) >> >>
endobj
1291 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 189.982 236.81 199.108 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 199.666 353.181 211.621 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
1292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 178.027 228.302 187.153 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 189.982 236.81 199.108 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
1293 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 164.239 209.024 175.238 ]/A << /S /GoTo /D (subsection.18.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 178.027 228.302 187.153 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
1294 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 152.284 335.709 163.283 ]/A << /S /GoTo /D (subsection.18.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 164.239 209.024 175.238 ]/A << /S /GoTo /D (subsection.18.4) >> >>
endobj
1295 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 140.329 196.86 151.327 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 152.284 335.709 163.283 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
1296 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 128.493 234.767 139.332 ]/A << /S /GoTo /D (subsection.18.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 140.329 196.86 151.327 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
1297 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 116.418 311.161 127.487 ]/A << /S /GoTo /D (subsection.18.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 128.493 234.767 139.332 ]/A << /S /GoTo /D (subsection.18.7) >> >>
endobj
1298 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 104.025 331.415 115.98 ]/A << /S /GoTo /D (subsection.18.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 116.418 311.161 127.487 ]/A << /S /GoTo /D (subsection.18.8) >> >>
endobj
1299 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 92.508 227.395 103.467 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 104.025 331.415 115.98 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
1300 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 92.508 227.395 103.467 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+endobj
+1301 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 72.533 108.74 81.549 ]/A << /S /GoTo /D (section*.2) >> >>
endobj
-1304 0 obj
-<< /D [ 1302 0 R /XYZ 78.37 808.885 null ] >>
+1305 0 obj
+<< /D [ 1303 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1301 0 obj
+1302 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F67 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
endobj
2 0 obj
-<< /pgfpat5 819 0 R /pgfpat4 820 0 R /pgfpat10 823 0 R>>
+<< /pgfpat5 820 0 R /pgfpat4 821 0 R /pgfpat10 824 0 R>>
endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1306 0 obj
+1307 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1308 0 obj
+1309 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1309 0 obj
+1310 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5496,10 +5512,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1307 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1309 0 R /CIDSet 1308 0 R >>
+1308 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1310 0 R /CIDSet 1309 0 R >>
endobj
-1310 0 obj
+1311 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5509,23 +5525,23 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
rndfA~
endstream
endobj
-817 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1311 0 R ] /ToUnicode 1310 0 R >>
-endobj
-1311 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1307 0 R /W 1306 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+818 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1312 0 R ] /ToUnicode 1311 0 R >>
endobj
1312 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1308 0 R /W 1307 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+endobj
+1313 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1314 0 obj
+1315 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1315 0 obj
+1316 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5540,10 +5556,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1313 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1315 0 R /CIDSet 1314 0 R >>
+1314 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1316 0 R /CIDSet 1315 0 R >>
endobj
-1316 0 obj
+1317 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5551,14 +5567,11 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
rhah⸁CS-f_&[ QJg`jFo[UTq{ ,r}
endstream
endobj
-788 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1317 0 R ] /ToUnicode 1316 0 R >>
-endobj
-1317 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1313 0 R /W 1312 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+787 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1318 0 R ] /ToUnicode 1317 0 R >>
endobj
1318 0 obj
-[531.3 ]
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1314 0 R /W 1313 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
1319 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
@@ -5600,7 +5613,7 @@ x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\
ӳLSñUM(M΁?G6^[U)Lq,h'ɊՁ%> ;Z(9O)/TƫI|qk $wI2
endstream
endobj
-696 0 obj
+695 0 obj
<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1326 0 R ] /ToUnicode 1325 0 R >>
endobj
1326 0 obj
@@ -5650,7 +5663,7 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
aa>>׸1iCU<o3޶g
endstream
endobj
-627 0 obj
+626 0 obj
<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1333 0 R ] /ToUnicode 1332 0 R >>
endobj
1333 0 obj
@@ -5692,7 +5705,7 @@ s˭1=Ct8VePgdnWJNñ~
δ3\9N#ƃ< =z5A Ӿ<Fx?)q^ݳZkkL m*U=z}+j
endstream
endobj
-595 0 obj
+594 0 obj
<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1339 0 R ] /ToUnicode 1338 0 R >>
endobj
1339 0 obj
@@ -6285,61 +6298,61 @@ endobj
<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTDKAL+LMRoman7-Regular /FontDescriptor 1411 0 R /W 1410 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
1416 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 284 [ 511 ] ]
+[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] ]
endobj
1418 0 obj
-<< /Filter /FlateDecode /Length 35 >>
+<< /Filter /FlateDecode /Length 34 >>
stream
-xc``0/`_/@X8
+xc``0/`_/@X
endstream
endobj
1419 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6123 >>
-stream
-xyxg1<fB$tBqބlYUԻ>*[{ kJ K I6޻Od?{>W~,#y{ 8a03eӖ/ܵ/+3tm N{炳A(| b AH<e&vgjn(;tH,,z߇YO'MW9X/ !2|0PSxe,yeS??.\dϫ#7.ܞr9 "w-ܝ%r"e"S2R#R#Fd EHFrߜܔH!/9%'Rod;9I)ܔȅ ##sSR"ŋ´EY9iS.P6EH'LʉLN$p2r̄ Y)ےSx 8,<2Y,F"ːJdYG^G6"[d' ٍE!Q$GD$IAr"AGN/,NX,MDw 11G&AЛIؤ!igN3B=a}SNS5ӤF><Bv;Lf~Qg:gHDMGcbƅ'[+*Pwa7-xN-א r1`zC6Z&V |PH)\60֠\Y\d^`!:-mV$jT
- w0?3ϳ*B _g(s4`-j-fVU`SpqqI=A-菺~t7y!j;jdE"-yljך1Յ
-_<}. '_~r lJEv30>3ۦtFBE,ܰLW:Wj`[3$5 `SM͝wagp',/"xGD! -:nRN:[,XmDkwK
-xazQ'" 3᭟0˂5J *PNC |zPnҨco@ /^r\ãWH;9a->,mm.;3dAh6"fK5$|>x1񲗒"~}yڽYm̪ ݅n^7 "E
-jcGJ+;pc^I^!6 kXmq NcA6s3 FQIXKL
-3Q :4VKr
-]XpkǝUb2S+c
-EYmmeA <3`}'+o%R~x& p P }RИzѠ%űd<.]#-Y-ד_jT
-DZSm':\hw;pl_;٣<M;ِ>HصeOG4J 85Dͣ[qj˭3=^/)Z);eq"%%"\<|*NJ IrRG?~ﶏ(1tݽ
->x
-r<u*u*IXrMٯ[KV"<>ή*gr\a9L,'__d–kj.4 /!בi#zԨӊ7S:+k+, wU]ZGx/p
-jfaIg ~^g0f$缻dٴ-b pCG:l~1ԅnCшJ_^M*dBT.x_Fc4ɈDy-1mmUp`0dod$-&9];໴30/̾
- s!G+ݣJ4p1Vczh~J~8/z
-瓏xɽN v'y
-E[7>
-]7[
-M쟮0Lv
-Tf<-=heSQW@יUyQ"=Vmv} p)~:l`z02Z/N=VyRQ+ 2xRc#-նU<ڧbwֿOM#_Gxãqa8[IWJc:I޳{M?:TFAyXˢq49s |B:-_)Q3Toɾ-vjr4:UXZL}
-O]g9A!s3~4Z"1z055)K[dNה%iah-Q/S6t14epUϦ*'yeer(!RkBP"uw[D
-,l6u!S UN6( љ@+T*- ls3g֟]^PQ"UaYt1 Vavփrj.x{H|tѢ3[*,)#<"'ڲM8g{hʦFeuy*s"rtGwYnZ]
-%ᖤrf\5e@ãMiF~1@8O6⇶/oc^GM;{E6dV7,8%Ek|wێM
-j‡%,'X!Ú|弘hVN,~pM٫+(eC-ѣC*;]tn~LZĭiV#%[YNk!LKverh |>2dcpҺQVS;'`hgM:
-
-_rY gtiuN .)򕤪kHM6*.|d=atSBLR)mf
-01K鰘iK_q?:(gvF9zhuj\xpsKO:
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6083 >>
+stream
+xY xSe>!PD9rNDDPVY*;elvB4mt˾ϾvoӽPZe"880
+:{zSswIIN~0離߱mwgf-YM}/*Tp&%O" 1.H2ZfBf2CǏPOGs dy\I"F} 0 +d2&1/p3y4!g…K^}^Y7%>)q9$Ζ9;2%Q.gN&LM$gpR3E9{Ӹ9If6CNNOINIaZ2g={9fmd~N2g<''9&
+V.X N]B&gA؇r7ը{mۼ>rǞ\!'%3,GfvF|ڤ̄I|!WyyyyG dYB Md+ َ@v!=^!H$#i9 Dd#BD!EͤA?#G3)f<`m̑7H+}6ZHwNȎIdӏ
+6lCXMXٔo d=]'&>1Ga/cx“']3D]x0<,a~9]Wf~Z5
+-I nM>0
+<\`Ds,09W te UEJB-l@?b]v4B5F{kۈ7|rXKlWC ‚HmQf!M:/mFuV-#|%ȓ9AP
+ii9JI~3QJ_ ?\EcuMnQs֓]_Y+N7%'֟ҵu&l*rщ_3OQ+B̂{h.&j\j7gKALb7%֙* װR㞝ljqGF8fS_bKsceW^8N JԔZI(5~tב]ڑiUKV-{sUVTVQV07
+V 0`6Vp8Ao2HIL: MIVo4G+ 4
+e:OEAt٨RQh3GyG!#"m-zQ*héj|xVɍ8
+qY:
+J +RUdK;n7*M7'Īsej E`;gȏ2`,`.\l*)Թj=p^Mii{!3j2
+~#KM&2A%bRO|
+FtFa܅& -߆TY#IVd.PN
+;YVn*vӧ?UZ.\-5uhqU`o&צRsul)-χpW'Q5d94Y`I5 hوpN}0]UyRqcssY28DŽ-נ]Vhd~n|?ב)#ԤI
+SNtVemXoK[
+wU<AyKpT0M
+FY{Nbkg|Vٷ7^u!hwX{ ]*{<(\8\RϖM%FTeX˺2E;2
+L AFeée*O&3bO~/07Yku~
+;vt?ݚg_=w)UsO)<]`)
+St8b=k޺x!G37Y9&i8A~k0?7Kh̥48}jȫDiERő. q Vsd @ZI) <Zs]DG^.X:mPnd5\{[g 7`ɝ/62i"$E
+ɤP1{_%m0Kp wB!0%
+]+J~v+[mz Vnh*5jLN"fOQȾ4B&اұ,Ry ο<@cy8 7Hub5Uow(O(1#۟е|˗ Z☲O Vvp `"03?fPNO~+ 8+(bóFۏV=Q(A$&"CIpA]d
+7]l5F[t j;
+GOk?8}<oѧzCԕWZ9bg֓KP$
+5U|EPcִ߶ }vjjK*m\i fUK
+i !<՜(zv ~@5#٫/(Jƨ'FSCU^q\Cw[(@O$H6m3\ҕN*H}'Po欠bHq}7rUlt'
+)\n) 98lrkK:C->tT]yRQqb4p^o
endstream
endobj
1417 0 obj
-<< /Type /FontDescriptor /FontName /XVGCGS+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1419 0 R /CIDSet 1418 0 R >>
+<< /Type /FontDescriptor /FontName /HOLXNQ+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1419 0 R /CIDSet 1418 0 R >>
endobj
1420 0 obj
-<< /Filter /FlateDecode /Length 583 >>
+<< /Filter /FlateDecode /Length 579 >>
stream
-x}k@W>!u9HXTJ_c2vf3sʺ?{9:zߺ˪K7l#ԗM_ΙLVmyj_duo˭4W;-Uy<UI~[bN~iByX.7vx Uf|~[ȼ{ι SU6hK6}UӪlow<Uu9e2aMXF?ۭ[_ɾV_lzcGٞ(>;I*yЭuFE#+]Νde m%(e_/,t<aKuSP .okSqzR ZBp.&ZYSPeZC
-<"s@-Q#z.D%ly uHHI=K6&
-"x v h
-$/h49BZb v]228eKK<ds| ~Wl.V^_6{2wVLΜ/0< >c
+x}Oo0=8B(-R ]@^ClHĉpۯ7ijZ<{x; Q<r]}k ._VuqR
+)jں8ȞFoTq 9-zR}J6>w}}yU<nZ.7e o̶-ۮ9Le]3-d\*Ҫdw<ߢQÇ{jε3^ۭɮ-ՅQkJN2!ϺhWMղ㽑̷akBHgC)OH%9N@- gCqz 2
endstream
endobj
381 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVGCGS+LMRoman10-Italic /DescendantFonts [ 1421 0 R ] /ToUnicode 1420 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HOLXNQ+LMRoman10-Italic /DescendantFonts [ 1421 0 R ] /ToUnicode 1420 0 R >>
endobj
1421 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVGCGS+LMRoman10-Italic /FontDescriptor 1417 0 R /W 1416 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HOLXNQ+LMRoman10-Italic /FontDescriptor 1417 0 R /W 1416 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
1422 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 120 [ 525 525 ] 245 [ 525 525 ] 252 [ 525 ] 272 [ 525 ] ]
@@ -6770,50 +6783,52 @@ endobj
<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1472 0 R /W 1471 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
1477 0 obj
-[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 490 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 112 [ 517 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 251 [ 435 ] 257 [ 435 ] ]
+[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 72 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 490 490 ] 109 [ 544 ] 112 [ 517 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
endobj
1479 0 obj
-<< /Filter /FlateDecode /Length 30 >>
+<< /Filter /FlateDecode /Length 31 >>
stream
-xc``TThX
+xc``TTѰˁ4
endstream
endobj
1480 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3614 >>
-stream
-xڵX X皞2ƣ3v&֭@jVRQzEAB@Cn@$D
-I41V Q&H[%ZTTJmzV$*1I-)U%ܯJ*ƪ"^h5ћ$
-$"iTJ$T*IhRh`JQȟ R ZNdTPUWk5J/& 7"XxetmTId 1 y Ebd : C#Hd# ٌD![=HGD!Hx|.!A$!%81q/``TX+ܢcC31/:{B@<lTxC78Mj^
-Ց0
-۷g{\gtZȀWr2E AX\ Y~NUl ?Fn2۩ѯh sLz(΍UHn|ͤ@i=PlXdgqh!\7ܼ!s̆ŕWl1+Dsp.\y*'ĩ3=N}cURvlKl ;
-3VVXZ`4ũokbؙ-p儭(
-g߄7AndfwgIOrbe:(+CNv"ء($w%{_p|ܭﴑ[Dd>pfPUyN^_V_e#z@5qƮTO)`%J\Ja -*5{&eqL!ɹiD(xqz/E;[\vpP'!s/VXI|@܅*}n|̧Awqpߦ@M;٭YD,ܻNȳ u)Lp7/\jI9m`(y!\Hདװ&XM1~(v3vK4Q} Sؔ#qکViSRVg#c!S|eݟ-žEG#tF;!(@
-?0G<u׀4o`#w (8,nF(;fv;`t i 嘆PersgܝLMLp: <
-s4F̔J9-Cġ?
-p+ur|2Xd*-0Ga`nU`!|?yDO]Llz"p`{8b[h aa^Έ"y%K?(M{LCUy2;~ͫZxZ|u JM:"n7{#/F0_ոT
-Fܔ]-d
- (.%EY)c74z9Uip9xN|*IY[JQrY=u>-$A}:5ט';A6
-m7wɍU R95|YZ
-k2K}9'O+ǮLqD]D ЁUL>Vlɰ)7putzTy;; k g(0뗾TZPYY%؃3Nsc \Z`Mo=@mS,eLjfp{yEU-уa^ јR8,fקu 1toaτk?gR WQ..
-` nxO8
-S-j\kuYzh S23`t.OIlbmc4.kLjIlU6=e5s[hjFF^c%g63ϩȶljpK'ph(PrlܴNaeGXm{E] `/;bGf] ٹkaYT8 NkA/*W\.C|D&2 뾯k\LxTVU(yX?78YbᤷS,eփKiY~#w|0
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3575 >>
+stream
+xڭX X皞cL<zT"Ҫ .ȅ
+7]}sF>{/CN#>لnTuRph?M'FYw"Cv]_M
+N˪;-ϛ&& KaCdKdJL 1G,?b2&P9Yy6ٷNsP:*a(k 1R-{LhΤ;@q=cQl XN1h}FP>l [N^gf\`)4eȕH"|Y8 .{\VʎLn/::ˎP
+ʃJLz 倁q>~z<(+pTN'X麟Xpбv+W04$֑OH%|yjki;M\WIUgsN;-Z!h}䀕frau 3`
+MeDz2qP1#sZS(@Ӟ'}#ps!%N*fyC< 7I\hqZLSt2= )'` +S+TÀfFҰI˃KoO}ŇFA#ߑ
+҃PRZZq
+GN-5U9rչII3*ƩOL,\"1Q;(M HrX77r-D˗?
+6Uki1[ 】-澬+0
+3%a3
+fئkI7KGkĜ5!6vWPط yCYOܿ3a F8s/F6m}'s=2Tx}i}UĽ˟h6vmzO)lrCAA*m%N]ƎgRlH#.oh{k.ij
+"F 03rKwWiuVωP
+_ e)9~~`nht]68Npɕ/Zl yr^8 :{w88B J) >d'y}Rǥ_˸9hj
+.җ^Ý:~zv̻qHg1CH~/ľ{ᅂO|ω}?;j-S!> CY=kG<
+GЗ ';튝R">ON/p' d5Sm;AX<
+n25%z< =,|!F-bZ!B=o[@a1i,ؗ]ffeUk608>O{NЖRZ\dosy2 i,**Pb~@m`L䒍2Y^6Bvš95FȖUQn,Z
+13|e?
+t%jR_F
+gO&rƸZ@C?оL.Vlΰ(5:owL<{f68bgs]u^`*Ϋ(KKlE؃G~8τޙnOܥ.qeG{fZ[Apq_JsԆ]5lӾ:,B^bas:CWDMeQge
+tw L3ȥϞD2Ev= z`9W"5۱mĆ)Ea=3ʂ:WWTgOGx`x sgDzXz"7y#09~ yD׀zp=iL*N'89_*M*UU>т˝VWB}3^mݧz215IaցsxUA}ZFNGbc#"wRKb\}ƬlmCA]u6եwƉfTezQr{)xvyVj-";tr mř[M{N7Џw):RE*JԕVSa
endstream
endobj
1478 0 obj
-<< /Type /FontDescriptor /FontName /BGNVLT+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1480 0 R /CIDSet 1479 0 R >>
+<< /Type /FontDescriptor /FontName /WUMFPP+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1480 0 R /CIDSet 1479 0 R >>
endobj
1481 0 obj
-<< /Filter /FlateDecode /Length 511 >>
+<< /Filter /FlateDecode /Length 504 >>
stream
-xڅOk0C =jK04@$:$ke#ۇ|-H/3f<x?ϲ>QsuA5ohU}EIC}b.Աrڪ3[U\{ICֿt)W=+\}×}]*=]kCnˎew5d&̾ 3'A-kĢ{ιc䲮lm0Fd~.-;YA3Y'[TfZpk;\9˶7.iIT6ΤI:Ms%k ˘6sVhݾWG\Ԓ&/HB܌gl1, %sT@0<&*~
-EK#yeM%1hJMS@ӣyM^3Wh ZC * :M Obh1BE=Y3L`«wCSp-\ea58\68a2#ޥ{w\[tGvJEw[ w&bC2
+xڅߏ0+z&KC( ɹktH%7ٜ9 gLɷ_ry?~dT~-[o2Yjh@
endstream
endobj
365 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BGNVLT+LMRoman12-Regular /DescendantFonts [ 1482 0 R ] /ToUnicode 1481 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WUMFPP+LMRoman12-Regular /DescendantFonts [ 1482 0 R ] /ToUnicode 1481 0 R >>
endobj
1482 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BGNVLT+LMRoman12-Regular /FontDescriptor 1478 0 R /W 1477 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WUMFPP+LMRoman12-Regular /FontDescriptor 1478 0 R /W 1477 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
1483 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
@@ -7362,35 +7377,6 @@ endobj
<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1516 0 R >>
endobj
1518 0 obj
-<< /Length1 1380 /Length2 5975 /Length3 0 /Filter /FlateDecode /Length 6913 >>
-stream
-xڍt4]ۮޢ1D#{2 c{DDtW/=zAIwZY뙽ﺯ}_`7PۂU0
- L`Ai6;@0
-A`AvvpW7s8@` 
-Hȯg
-
-5d(
-x7dJr}P
-7L֤h7=z]KH)e|`_L'ʺmڜ9FD{NM&q䄉̱;]QnEV[!# <]f6mu)sW:"NMQCF6̗ݫ?z* :,?#C Ҹ?ܐq uȸ_$/zhdugQܲY9Kl<Violu""c{dઌ]>ъDŽwxkʷV/\S
-e2s c *\4s=qΠY?ѳn+4vSNKg\ 9fOczDzSJvh$
-yǨ0J:-Eet'XDo^_W׮꜓e5ӞZd-tnex!K,>RŴ 3ۧ#TM,k%Rg^4<|J?̯ =L:#C~CW&i(Fgi*Ѩ!嵐]M5$#Mpxq3|m-ޮ J3ƽ/_( ~E|eե@]m7ۏQ?B7z<e1uv' 9o*3dF,?ǞHJE^ckX<y#YK3x)tl>h&=;UO٠
-"o.>Sո5V_IPg
-{qݞtCcR郩U飣xcm3pd{K4SKaty㹁? LIsɆfC:.syyĢ#$[;X1gS/Ii5?$$:} lo@]\ڤ昢2
-_会0 cs۰**A0h >aGm^.&"W{$\m29q\,=V2lf5H(n=t~H};*|j<EQv5VZ>75X_TwťN^H3(MӵǏ*͋3-w?1NY+qӶܙ*ϖ8933VCHeGԮh! 4wCk5u7־>VkƾS
-&o 4U40 EH`XdS4ͩ|:|Y;0Bq,}PL@.ymل|*7
-sI[ 6t D]"焧STaW@6z}r
-Ѐ<t_,0?!ϬL /[}P4sn"ܝ"B6#/1U*S|:){\!A^d Jz;sEx/Tjp-\= }2x5ۼA(K퀺dS՗ȮҾ'CKqpHr&"Vy<Ha>SC3+O@Z$~A=1{{a|e,3Jv!e擤1Sn+M<{1!;~GYĶIdދ/Nuk &f
-zbM.|L@NXt`F2%(پL+ld Ğ(<Vr^ž=wRx v.A@\g^`5AUC#?,mX`B{7M ق,>~h|M?y!v#S CϢFq׃?P *F֛VB[z=hEdF *EO.`ga wr ?wƘRSaٟtuB+b،NEⴼ"<d4&dw1`JfCvA/G9)BP:قxN?Zƪ"{n6%VGEmeۖأuˏ1oEDؾ]}«ZN@Z9n-k\nwbݏO;4B6Ƈ9q\nu!7^iVt$<& Y'xJ6g<
-#c. Ɍ9gT_pʋsE)bq0#2΀!U,10t+ENfTjY_WEfr''Jl =r,3<biRqaiTEL|sMfk0mSRskW/e^
-Y`v>_{OWޞ L=]CjDe ty u#_z*>h E\1_fqs'Cu9 |-fxu7swI[';AsM0
-@zN:]Lhl͙,Hc32ޅhծToPKpй/.Kκ;q>ݜD#<
-<Mwy(\`k# |u=cv0h->c34x]l* tP{n2J*YL媄7^5"ê2೫q3 `PytR:w*kl{{ү]DS[^AebNkoOk|43YÏU f)-~ )3= 7~o!gֿM"ҋXq,i E˞Ց*$rV-œyf`:VvW֎ U*e7Ͼ?D\9aS#ʹ1Zʺay,UA½[8SkEMP~1U{֨$T4+S5UyأN9Xg UѴlx(Ïv5xV˜3ٻbaş~UKzTʍzM:R$"
-endstream
-endobj
-1517 0 obj
-<< /Type /FontDescriptor /FontName /VZZGNZ+CMR8 /Flags 4 /FontBBox [ -36 -250 1070 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /zero) /FontFile 1518 0 R >>
-endobj
-1520 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7433,10 +7419,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1519 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1520 0 R >>
+1517 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1518 0 R >>
endobj
-1522 0 obj
+1520 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7467,10 +7453,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1521 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1522 0 R >>
+1519 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1520 0 R >>
endobj
-1524 0 obj
+1522 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7499,8 +7485,8 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1523 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1524 0 R >>
+1521 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1522 0 R >>
endobj
748 0 obj
<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1495 0 R /FirstChar 49 /LastChar 100 /Widths 1319 0 R >>
@@ -7535,50 +7521,47 @@ endobj
376 0 obj
<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1515 0 R /FirstChar 40 /LastChar 57 /Widths 1441 0 R >>
endobj
-749 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VZZGNZ+CMR8 /FontDescriptor 1517 0 R /FirstChar 48 /LastChar 48 /Widths 1318 0 R >>
-endobj
400 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1519 0 R /FirstChar 0 /LastChar 105 /Widths 1355 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1517 0 R /FirstChar 0 /LastChar 105 /Widths 1355 0 R >>
endobj
-738 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1521 0 R /FirstChar 0 /LastChar 32 /Widths 1320 0 R >>
+737 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1519 0 R /FirstChar 0 /LastChar 32 /Widths 1320 0 R >>
endobj
-639 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1523 0 R /FirstChar 0 /LastChar 34 /Widths 1327 0 R >>
+638 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1521 0 R /FirstChar 0 /LastChar 34 /Widths 1327 0 R >>
endobj
390 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 357 0 R 395 0 R 403 0 R 416 0 R 431 0 R 444 0 R 449 0 R 454 0 R 461 0 R 466 0 R ] >>
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 357 0 R 395 0 R 403 0 R 416 0 R 431 0 R 444 0 R 449 0 R 454 0 R 461 0 R 466 0 R ] >>
endobj
480 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 476 0 R 489 0 R 496 0 R 501 0 R 506 0 R 515 0 R 522 0 R 528 0 R 534 0 R 540 0 R ] >>
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 476 0 R 489 0 R 496 0 R 501 0 R 506 0 R 512 0 R 521 0 R 527 0 R 533 0 R 539 0 R ] >>
endobj
-549 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 546 0 R 553 0 R 560 0 R 566 0 R 574 0 R 582 0 R 592 0 R 599 0 R 604 0 R 609 0 R ] >>
+548 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 545 0 R 552 0 R 559 0 R 565 0 R 573 0 R 581 0 R 591 0 R 598 0 R 603 0 R 608 0 R ] >>
endobj
-619 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 616 0 R 624 0 R 636 0 R 645 0 R 652 0 R 660 0 R 666 0 R 675 0 R 684 0 R 692 0 R ] >>
+618 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 615 0 R 623 0 R 635 0 R 644 0 R 651 0 R 659 0 R 665 0 R 674 0 R 683 0 R 691 0 R ] >>
endobj
-711 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 702 0 R 715 0 R 725 0 R 730 0 R 735 0 R 745 0 R 755 0 R 764 0 R 772 0 R 779 0 R ] >>
+710 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 701 0 R 714 0 R 724 0 R 729 0 R 734 0 R 745 0 R 754 0 R 763 0 R 771 0 R 778 0 R ] >>
endobj
-789 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 785 0 R 793 0 R 798 0 R 805 0 R 814 0 R 829 0 R 836 0 R 841 0 R 847 0 R 851 0 R ] >>
+788 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 784 0 R 792 0 R 798 0 R 806 0 R 815 0 R 830 0 R 837 0 R 842 0 R 848 0 R 852 0 R ] >>
endobj
-858 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 10 /Kids [ 855 0 R 860 0 R 864 0 R 868 0 R 873 0 R 878 0 R 882 0 R 886 0 R 1006 0 R 1111 0 R ] >>
+859 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 856 0 R 861 0 R 865 0 R 869 0 R 874 0 R 879 0 R 883 0 R 887 0 R 1006 0 R 1112 0 R ] >>
endobj
-1206 0 obj
-<< /Type /Pages /Parent 1525 0 R /Count 3 /Kids [ 1203 0 R 1247 0 R 1302 0 R ] >>
+1207 0 obj
+<< /Type /Pages /Parent 1523 0 R /Count 3 /Kids [ 1204 0 R 1248 0 R 1303 0 R ] >>
endobj
-1525 0 obj
-<< /Type /Pages /Count 73 /Kids [ 390 0 R 480 0 R 549 0 R 619 0 R 711 0 R 789 0 R 858 0 R 1206 0 R ] >>
+1523 0 obj
+<< /Type /Pages /Count 73 /Kids [ 390 0 R 480 0 R 548 0 R 618 0 R 710 0 R 788 0 R 859 0 R 1207 0 R ] >>
endobj
-1526 0 obj
+1524 0 obj
<< /Type /Outlines /First 6 0 R /Last 354 0 R /Count 19 >>
endobj
354 0 obj
-<< /Title 355 0 R /A 352 0 R /Parent 1526 0 R /Prev 310 0 R >>
+<< /Title 355 0 R /A 352 0 R /Parent 1524 0 R /Prev 310 0 R >>
endobj
350 0 obj
<< /Title 351 0 R /A 348 0 R /Parent 310 0 R /Prev 346 0 R >>
@@ -7611,7 +7594,7 @@ endobj
<< /Title 315 0 R /A 312 0 R /Parent 310 0 R /Next 318 0 R >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 1526 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
+<< /Title 311 0 R /A 308 0 R /Parent 1524 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
endobj
306 0 obj
<< /Title 307 0 R /A 304 0 R /Parent 290 0 R /Prev 302 0 R >>
@@ -7626,10 +7609,10 @@ endobj
<< /Title 295 0 R /A 292 0 R /Parent 290 0 R /Next 298 0 R >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1526 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
+<< /Title 291 0 R /A 288 0 R /Parent 1524 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 1526 0 R /Prev 258 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 1524 0 R /Prev 258 0 R /Next 290 0 R >>
endobj
282 0 obj
<< /Title 283 0 R /A 280 0 R /Parent 258 0 R /Prev 278 0 R >>
@@ -7650,7 +7633,7 @@ endobj
<< /Title 263 0 R /A 260 0 R /Parent 258 0 R /Next 274 0 R /First 266 0 R /Last 270 0 R /Count -2 >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 1526 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
+<< /Title 259 0 R /A 256 0 R /Parent 1524 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
endobj
254 0 obj
<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R >>
@@ -7686,7 +7669,7 @@ endobj
<< /Title 215 0 R /A 212 0 R /Parent 210 0 R /Next 218 0 R >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 1526 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
+<< /Title 211 0 R /A 208 0 R /Parent 1524 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
endobj
206 0 obj
<< /Title 207 0 R /A 204 0 R /Parent 186 0 R /Prev 202 0 R >>
@@ -7704,7 +7687,7 @@ endobj
<< /Title 191 0 R /A 188 0 R /Parent 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 1526 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
+<< /Title 187 0 R /A 184 0 R /Parent 1524 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
endobj
182 0 obj
<< /Title 183 0 R /A 180 0 R /Parent 166 0 R /Prev 178 0 R >>
@@ -7719,10 +7702,10 @@ endobj
<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1526 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
+<< /Title 167 0 R /A 164 0 R /Parent 1524 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 1526 0 R /Prev 134 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 1524 0 R /Prev 134 0 R /Next 166 0 R >>
endobj
158 0 obj
<< /Title 159 0 R /A 156 0 R /Parent 134 0 R /Prev 154 0 R >>
@@ -7743,10 +7726,10 @@ endobj
<< /Title 139 0 R /A 136 0 R /Parent 134 0 R /Next 142 0 R >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1526 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
+<< /Title 135 0 R /A 132 0 R /Parent 1524 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 1526 0 R /Prev 114 0 R /Next 134 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 1524 0 R /Prev 114 0 R /Next 134 0 R >>
endobj
126 0 obj
<< /Title 127 0 R /A 124 0 R /Parent 114 0 R /Prev 122 0 R >>
@@ -7758,10 +7741,10 @@ endobj
<< /Title 119 0 R /A 116 0 R /Parent 114 0 R /Next 122 0 R >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1526 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
+<< /Title 115 0 R /A 112 0 R /Parent 1524 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 1526 0 R /Prev 90 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 1524 0 R /Prev 90 0 R /Next 114 0 R >>
endobj
106 0 obj
<< /Title 107 0 R /A 104 0 R /Parent 90 0 R /Prev 102 0 R >>
@@ -7776,7 +7759,7 @@ endobj
<< /Title 95 0 R /A 92 0 R /Parent 90 0 R /Next 98 0 R >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 1526 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
+<< /Title 91 0 R /A 88 0 R /Parent 1524 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
endobj
86 0 obj
<< /Title 87 0 R /A 84 0 R /Parent 66 0 R /Prev 82 0 R >>
@@ -7809,7 +7792,7 @@ endobj
<< /Title 51 0 R /A 48 0 R /Parent 46 0 R /Next 62 0 R /First 54 0 R /Last 58 0 R /Count -2 >>
endobj
46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 1526 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
+<< /Title 47 0 R /A 44 0 R /Parent 1524 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
endobj
42 0 obj
<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R >>
@@ -7830,1588 +7813,1586 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1526 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1524 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1526 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1524 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1526 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1524 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1526 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 1524 0 R /Next 10 0 R >>
+endobj
+1525 0 obj
+<< /Names [ (Doc-Start) 362 0 R (Item.1) 407 0 R (Item.10) 709 0 R (Item.11) 845 0 R (Item.12) 846 0 R (Item.2) 408 0 R (Item.3) 409 0 R (Item.4) 410 0 R (Item.5) 697 0 R (Item.6) 698 0 R (Item.7) 706 0 R (Item.8) 707 0 R (Item.9) 708 0 R (page.1) 361 0 R (page.10) 468 0 R (page.11) 478 0 R (page.12) 491 0 R (page.13) 498 0 R (page.14) 503 0 R (page.15) 508 0 R (page.16) 514 0 R (page.17) 523 0 R (page.18) 529 0 R (page.19) 535 0 R (page.2) 397 0 R (page.20) 541 0 R (page.21) 547 0 R (page.22) 554 0 R (page.23) 561 0 R (page.24) 567 0 R (page.25) 575 0 R (page.26) 583 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+endobj
+1526 0 obj
+<< /Names [ (page.27) 593 0 R (page.28) 600 0 R (page.29) 605 0 R (page.3) 405 0 R (page.30) 610 0 R (page.31) 617 0 R (page.32) 625 0 R (page.33) 637 0 R (page.34) 646 0 R (page.35) 653 0 R (page.36) 661 0 R (page.37) 667 0 R (page.38) 676 0 R (page.39) 685 0 R (page.4) 418 0 R (page.40) 693 0 R (page.41) 703 0 R (page.42) 716 0 R (page.43) 726 0 R (page.44) 731 0 R (page.45) 736 0 R (page.46) 747 0 R (page.47) 756 0 R (page.48) 765 0 R (page.49) 773 0 R (page.5) 433 0 R (page.50) 780 0 R (page.51) 786 0 R (page.52) 794 0 R (page.53) 800 0 R (page.54) 808 0 R (page.55) 817 0 R ] /Limits [ (page.27) (page.55) ] >>
endobj
1527 0 obj
-<< /Names [ (Doc-Start) 362 0 R (Item.1) 407 0 R (Item.10) 710 0 R (Item.11) 844 0 R (Item.12) 845 0 R (Item.2) 408 0 R (Item.3) 409 0 R (Item.4) 410 0 R (Item.5) 698 0 R (Item.6) 699 0 R (Item.7) 707 0 R (Item.8) 708 0 R (Item.9) 709 0 R (page.1) 361 0 R (page.10) 468 0 R (page.11) 478 0 R (page.12) 491 0 R (page.13) 498 0 R (page.14) 503 0 R (page.15) 508 0 R (page.16) 517 0 R (page.17) 524 0 R (page.18) 530 0 R (page.19) 536 0 R (page.2) 397 0 R (page.20) 542 0 R (page.21) 548 0 R (page.22) 555 0 R (page.23) 562 0 R (page.24) 568 0 R (page.25) 576 0 R (page.26) 584 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+<< /Names [ (page.56) 832 0 R (page.57) 839 0 R (page.58) 844 0 R (page.59) 850 0 R (page.6) 446 0 R (page.60) 854 0 R (page.61) 858 0 R (page.62) 863 0 R (page.63) 867 0 R (page.64) 871 0 R (page.65) 876 0 R (page.66) 881 0 R (page.67) 885 0 R (page.68) 889 0 R (page.69) 1008 0 R (page.7) 451 0 R (page.70) 1114 0 R (page.71) 1206 0 R (page.72) 1250 0 R (page.73) 1305 0 R (page.8) 456 0 R (page.9) 463 0 R (section*.2) 353 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R ] /Limits [ (page.56) (section.17) ] >>
endobj
1528 0 obj
-<< /Names [ (page.27) 594 0 R (page.28) 601 0 R (page.29) 606 0 R (page.3) 405 0 R (page.30) 611 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 638 0 R (page.34) 647 0 R (page.35) 654 0 R (page.36) 662 0 R (page.37) 668 0 R (page.38) 677 0 R (page.39) 686 0 R (page.4) 418 0 R (page.40) 694 0 R (page.41) 704 0 R (page.42) 717 0 R (page.43) 727 0 R (page.44) 732 0 R (page.45) 737 0 R (page.46) 747 0 R (page.47) 757 0 R (page.48) 766 0 R (page.49) 774 0 R (page.5) 433 0 R (page.50) 781 0 R (page.51) 787 0 R (page.52) 795 0 R (page.53) 800 0 R (page.54) 807 0 R (page.55) 816 0 R ] /Limits [ (page.27) (page.55) ] >>
+<< /Names [ (section.18) 309 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R ] /Limits [ (section.18) (subsection.14.6) ] >>
endobj
1529 0 obj
-<< /Names [ (page.56) 831 0 R (page.57) 838 0 R (page.58) 843 0 R (page.59) 849 0 R (page.6) 446 0 R (page.60) 853 0 R (page.61) 857 0 R (page.62) 862 0 R (page.63) 866 0 R (page.64) 870 0 R (page.65) 875 0 R (page.66) 880 0 R (page.67) 884 0 R (page.68) 888 0 R (page.69) 1008 0 R (page.7) 451 0 R (page.70) 1113 0 R (page.71) 1205 0 R (page.72) 1249 0 R (page.73) 1304 0 R (page.8) 456 0 R (page.9) 463 0 R (section*.2) 353 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R ] /Limits [ (page.56) (section.17) ] >>
+<< /Names [ (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R ] /Limits [ (subsection.14.7) (subsection.6.2) ] >>
endobj
1530 0 obj
-<< /Names [ (section.18) 309 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R ] /Limits [ (section.18) (subsection.14.6) ] >>
+<< /Names [ (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 687 0 R (tabularnote.1) 694 0 R (tabularnote.2) 696 0 R (tabularnote.3) 704 0 R (tabularnote.4) 705 0 R ] /Limits [ (subsection.6.3) (tabularnote.4) ] >>
endobj
1531 0 obj
-<< /Names [ (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R ] /Limits [ (subsection.14.7) (subsection.6.2) ] >>
+<< /Kids [ 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
endobj
1532 0 obj
-<< /Names [ (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 688 0 R (tabularnote.1) 695 0 R (tabularnote.2) 697 0 R (tabularnote.3) 705 0 R (tabularnote.4) 706 0 R ] /Limits [ (subsection.6.3) (tabularnote.4) ] >>
+<< /Dests 1531 0 R >>
endobj
1533 0 obj
-<< /Kids [ 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
+<< /Type /Catalog /Pages 1523 0 R /Outlines 1524 0 R /Names 1532 0 R /PageMode/UseOutlines /OpenAction 356 0 R >>
endobj
1534 0 obj
-<< /Dests 1533 0 R >>
-endobj
-1535 0 obj
-<< /Type /Catalog /Pages 1525 0 R /Outlines 1526 0 R /Names 1534 0 R /PageMode/UseOutlines /OpenAction 356 0 R >>
-endobj
-1536 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.17.1) /CreationDate (D:20240219151739+01'00') /ModDate (D:20240219151739+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.1 (MiKTeX 24.1)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240423141121+02'00') /ModDate (D:20240423141121+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
endobj
xref
-0 1537
+0 1535
0000000000 65535 f
-0000575523 00000 n
-0000575679 00000 n
-0000575751 00000 n
+0000577916 00000 n
+0000578072 00000 n
+0000578144 00000 n
0000000020 00000 n
-0000037657 00000 n
-0000874365 00000 n
+0000037642 00000 n
+0000869220 00000 n
0000000065 00000 n
0000000289 00000 n
-0000037717 00000 n
-0000874278 00000 n
+0000037702 00000 n
+0000869133 00000 n
0000000334 00000 n
0000000552 00000 n
-0000043464 00000 n
-0000874189 00000 n
+0000043449 00000 n
+0000869044 00000 n
0000000598 00000 n
0000000710 00000 n
-0000050185 00000 n
-0000874063 00000 n
+0000050170 00000 n
+0000868918 00000 n
0000000756 00000 n
0000000832 00000 n
-0000050246 00000 n
-0000873989 00000 n
+0000050231 00000 n
+0000868844 00000 n
0000000883 00000 n
0000000975 00000 n
-0000063894 00000 n
-0000873902 00000 n
+0000063884 00000 n
+0000868757 00000 n
0000001026 00000 n
0000001170 00000 n
-0000063955 00000 n
-0000873815 00000 n
+0000063945 00000 n
+0000868670 00000 n
0000001221 00000 n
0000001363 00000 n
-0000064016 00000 n
-0000873728 00000 n
+0000064006 00000 n
+0000868583 00000 n
0000001414 00000 n
0000001543 00000 n
-0000070673 00000 n
-0000873641 00000 n
+0000070663 00000 n
+0000868496 00000 n
0000001594 00000 n
0000001867 00000 n
-0000076052 00000 n
-0000873567 00000 n
+0000075947 00000 n
+0000868422 00000 n
0000001918 00000 n
0000002181 00000 n
-0000081159 00000 n
-0000873441 00000 n
+0000081055 00000 n
+0000868296 00000 n
0000002227 00000 n
0000002442 00000 n
-0000081220 00000 n
-0000873330 00000 n
+0000081116 00000 n
+0000868185 00000 n
0000002493 00000 n
0000002814 00000 n
-0000081281 00000 n
-0000873256 00000 n
+0000081177 00000 n
+0000868111 00000 n
0000002870 00000 n
0000003004 00000 n
-0000086522 00000 n
-0000873182 00000 n
+0000086418 00000 n
+0000868037 00000 n
0000003060 00000 n
0000003187 00000 n
-0000086583 00000 n
-0000873095 00000 n
+0000086479 00000 n
+0000867950 00000 n
0000003238 00000 n
0000003464 00000 n
-0000092562 00000 n
-0000872984 00000 n
+0000092589 00000 n
+0000867839 00000 n
0000003515 00000 n
0000003799 00000 n
-0000092623 00000 n
-0000872910 00000 n
+0000092650 00000 n
+0000867765 00000 n
0000003855 00000 n
0000004023 00000 n
-0000092684 00000 n
-0000872823 00000 n
+0000100464 00000 n
+0000867678 00000 n
0000004079 00000 n
0000004332 00000 n
-0000100443 00000 n
-0000872736 00000 n
+0000100525 00000 n
+0000867591 00000 n
0000004388 00000 n
0000004513 00000 n
-0000106767 00000 n
-0000872649 00000 n
+0000106784 00000 n
+0000867504 00000 n
0000004569 00000 n
0000004706 00000 n
-0000106828 00000 n
-0000872575 00000 n
+0000106845 00000 n
+0000867430 00000 n
0000004762 00000 n
0000004977 00000 n
-0000118605 00000 n
-0000872447 00000 n
+0000123640 00000 n
+0000867302 00000 n
0000005023 00000 n
0000005318 00000 n
-0000118666 00000 n
-0000872373 00000 n
+0000123701 00000 n
+0000867228 00000 n
0000005369 00000 n
0000005518 00000 n
-0000124574 00000 n
-0000872285 00000 n
+0000123762 00000 n
+0000867140 00000 n
0000005569 00000 n
0000005838 00000 n
-0000151490 00000 n
-0000872194 00000 n
+0000153186 00000 n
+0000867049 00000 n
0000005890 00000 n
0000006081 00000 n
-0000156886 00000 n
-0000872116 00000 n
+0000158579 00000 n
+0000866971 00000 n
0000006133 00000 n
0000006320 00000 n
-0000156948 00000 n
-0000872023 00000 n
+0000158641 00000 n
+0000866878 00000 n
0000006367 00000 n
0000006510 00000 n
-0000163397 00000 n
-0000871890 00000 n
+0000165090 00000 n
+0000866745 00000 n
0000006557 00000 n
0000006710 00000 n
-0000163459 00000 n
-0000871811 00000 n
+0000165152 00000 n
+0000866666 00000 n
0000006762 00000 n
0000006887 00000 n
-0000168818 00000 n
-0000871718 00000 n
+0000170512 00000 n
+0000866573 00000 n
0000006939 00000 n
0000007044 00000 n
-0000173521 00000 n
-0000871639 00000 n
+0000175215 00000 n
+0000866494 00000 n
0000007096 00000 n
0000007267 00000 n
-0000181488 00000 n
-0000871545 00000 n
+0000183211 00000 n
+0000866400 00000 n
0000007314 00000 n
0000007536 00000 n
-0000194324 00000 n
-0000871412 00000 n
+0000196044 00000 n
+0000866267 00000 n
0000007584 00000 n
0000007798 00000 n
-0000205245 00000 n
-0000871333 00000 n
+0000206965 00000 n
+0000866188 00000 n
0000007851 00000 n
0000007988 00000 n
-0000214504 00000 n
-0000871240 00000 n
+0000216224 00000 n
+0000866095 00000 n
0000008041 00000 n
0000008268 00000 n
-0000237590 00000 n
-0000871147 00000 n
+0000239298 00000 n
+0000866002 00000 n
0000008321 00000 n
0000008693 00000 n
-0000244387 00000 n
-0000871054 00000 n
+0000246093 00000 n
+0000865909 00000 n
0000008746 00000 n
0000008968 00000 n
-0000244449 00000 n
-0000870961 00000 n
+0000246155 00000 n
+0000865816 00000 n
0000009021 00000 n
0000009270 00000 n
-0000252751 00000 n
-0000870882 00000 n
+0000254434 00000 n
+0000865737 00000 n
0000009323 00000 n
0000009550 00000 n
-0000259213 00000 n
-0000870788 00000 n
+0000260914 00000 n
+0000865643 00000 n
0000009598 00000 n
0000009888 00000 n
-0000277402 00000 n
-0000870655 00000 n
+0000279093 00000 n
+0000865510 00000 n
0000009936 00000 n
0000010036 00000 n
-0000277464 00000 n
-0000870576 00000 n
+0000279155 00000 n
+0000865431 00000 n
0000010089 00000 n
0000010319 00000 n
-0000277526 00000 n
-0000870483 00000 n
+0000279217 00000 n
+0000865338 00000 n
0000010372 00000 n
0000010745 00000 n
-0000295502 00000 n
-0000870390 00000 n
+0000297191 00000 n
+0000865245 00000 n
0000010798 00000 n
0000011147 00000 n
-0000301192 00000 n
-0000870311 00000 n
+0000302877 00000 n
+0000865166 00000 n
0000011200 00000 n
0000011475 00000 n
-0000301254 00000 n
-0000870178 00000 n
+0000302939 00000 n
+0000865033 00000 n
0000011523 00000 n
0000011791 00000 n
-0000301316 00000 n
-0000870099 00000 n
+0000303001 00000 n
+0000864954 00000 n
0000011844 00000 n
0000012005 00000 n
-0000306299 00000 n
-0000870006 00000 n
+0000307984 00000 n
+0000864861 00000 n
0000012058 00000 n
0000012227 00000 n
-0000306361 00000 n
-0000869913 00000 n
+0000308046 00000 n
+0000864768 00000 n
0000012280 00000 n
0000012423 00000 n
-0000316166 00000 n
-0000869820 00000 n
+0000317848 00000 n
+0000864675 00000 n
0000012476 00000 n
0000012702 00000 n
-0000325429 00000 n
-0000869741 00000 n
+0000327111 00000 n
+0000864596 00000 n
0000012755 00000 n
0000013042 00000 n
-0000325491 00000 n
-0000869607 00000 n
+0000327173 00000 n
+0000864462 00000 n
0000013090 00000 n
0000013235 00000 n
-0000325553 00000 n
-0000869528 00000 n
+0000327235 00000 n
+0000864383 00000 n
0000013288 00000 n
0000013436 00000 n
-0000334582 00000 n
-0000869435 00000 n
+0000336258 00000 n
+0000864290 00000 n
0000013489 00000 n
0000013639 00000 n
-0000334644 00000 n
-0000869342 00000 n
+0000336320 00000 n
+0000864197 00000 n
0000013692 00000 n
0000013957 00000 n
-0000334706 00000 n
-0000869249 00000 n
+0000336382 00000 n
+0000864104 00000 n
0000014010 00000 n
0000014286 00000 n
-0000340345 00000 n
-0000869156 00000 n
+0000342301 00000 n
+0000864011 00000 n
0000014339 00000 n
0000014472 00000 n
-0000340407 00000 n
-0000869063 00000 n
+0000342363 00000 n
+0000863918 00000 n
0000014525 00000 n
0000014627 00000 n
-0000346716 00000 n
-0000868970 00000 n
+0000348889 00000 n
+0000863825 00000 n
0000014680 00000 n
0000014851 00000 n
-0000346778 00000 n
-0000868877 00000 n
+0000348951 00000 n
+0000863732 00000 n
0000014904 00000 n
0000015041 00000 n
-0000352518 00000 n
-0000868784 00000 n
+0000354529 00000 n
+0000863639 00000 n
0000015094 00000 n
0000015247 00000 n
-0000352580 00000 n
-0000868691 00000 n
+0000354591 00000 n
+0000863546 00000 n
0000015301 00000 n
0000015524 00000 n
-0000352642 00000 n
-0000868612 00000 n
+0000354653 00000 n
+0000863467 00000 n
0000015578 00000 n
0000015771 00000 n
-0000358876 00000 n
-0000868479 00000 n
+0000360887 00000 n
+0000863334 00000 n
0000015819 00000 n
0000016035 00000 n
-0000358938 00000 n
-0000868361 00000 n
+0000360949 00000 n
+0000863216 00000 n
0000016088 00000 n
0000016368 00000 n
-0000364286 00000 n
-0000868282 00000 n
+0000366308 00000 n
+0000863137 00000 n
0000016426 00000 n
0000016564 00000 n
-0000364348 00000 n
-0000868203 00000 n
+0000366370 00000 n
+0000863058 00000 n
0000016622 00000 n
0000016793 00000 n
-0000364409 00000 n
-0000868110 00000 n
+0000366432 00000 n
+0000862965 00000 n
0000016846 00000 n
0000017111 00000 n
-0000379941 00000 n
-0000868017 00000 n
+0000381958 00000 n
+0000862872 00000 n
0000017164 00000 n
0000017424 00000 n
-0000385521 00000 n
-0000867938 00000 n
+0000387539 00000 n
+0000862793 00000 n
0000017477 00000 n
0000017767 00000 n
-0000389524 00000 n
-0000867844 00000 n
+0000391858 00000 n
+0000862699 00000 n
0000017815 00000 n
0000017981 00000 n
-0000402784 00000 n
-0000867711 00000 n
+0000405153 00000 n
+0000862566 00000 n
0000018029 00000 n
0000018161 00000 n
-0000402846 00000 n
-0000867632 00000 n
+0000405215 00000 n
+0000862487 00000 n
0000018214 00000 n
0000018331 00000 n
-0000402908 00000 n
-0000867539 00000 n
+0000405277 00000 n
+0000862394 00000 n
0000018384 00000 n
0000018510 00000 n
-0000408908 00000 n
-0000867446 00000 n
+0000411277 00000 n
+0000862301 00000 n
0000018563 00000 n
0000018740 00000 n
-0000408970 00000 n
-0000867367 00000 n
+0000411339 00000 n
+0000862222 00000 n
0000018793 00000 n
0000018905 00000 n
-0000417471 00000 n
-0000867233 00000 n
+0000419832 00000 n
+0000862088 00000 n
0000018953 00000 n
0000019022 00000 n
-0000417533 00000 n
-0000867154 00000 n
+0000419894 00000 n
+0000862009 00000 n
0000019075 00000 n
0000019390 00000 n
-0000421582 00000 n
-0000867061 00000 n
+0000423944 00000 n
+0000861916 00000 n
0000019443 00000 n
0000019608 00000 n
-0000421644 00000 n
-0000866968 00000 n
+0000424006 00000 n
+0000861823 00000 n
0000019661 00000 n
0000019814 00000 n
-0000425621 00000 n
-0000866875 00000 n
+0000427989 00000 n
+0000861730 00000 n
0000019867 00000 n
0000020005 00000 n
-0000445672 00000 n
-0000866782 00000 n
+0000448040 00000 n
+0000861637 00000 n
0000020058 00000 n
0000020369 00000 n
-0000455870 00000 n
-0000866689 00000 n
+0000458238 00000 n
+0000861544 00000 n
0000020422 00000 n
0000020545 00000 n
-0000455932 00000 n
-0000866596 00000 n
+0000458300 00000 n
+0000861451 00000 n
0000020598 00000 n
0000020748 00000 n
-0000475325 00000 n
-0000866503 00000 n
+0000477716 00000 n
+0000861358 00000 n
0000020801 00000 n
0000021050 00000 n
-0000481557 00000 n
-0000866410 00000 n
+0000483925 00000 n
+0000861265 00000 n
0000021103 00000 n
0000021378 00000 n
-0000492445 00000 n
-0000866331 00000 n
+0000494822 00000 n
+0000861186 00000 n
0000021432 00000 n
0000021582 00000 n
-0000516974 00000 n
-0000866251 00000 n
+0000519176 00000 n
+0000861106 00000 n
0000021630 00000 n
0000021684 00000 n
-0000032009 00000 n
-0000032175 00000 n
-0000032537 00000 n
+0000031994 00000 n
+0000032160 00000 n
+0000032522 00000 n
0000021736 00000 n
-0000032413 00000 n
-0000032475 00000 n
-0000727281 00000 n
-0000723429 00000 n
-0000720976 00000 n
-0000715605 00000 n
-0000712259 00000 n
-0000709816 00000 n
-0000705249 00000 n
-0000702542 00000 n
-0000862854 00000 n
-0000863582 00000 n
-0000864018 00000 n
-0000863437 00000 n
-0000863146 00000 n
-0000864161 00000 n
-0000691818 00000 n
-0000863873 00000 n
-0000680082 00000 n
-0000675467 00000 n
-0000665332 00000 n
-0000657287 00000 n
-0000652833 00000 n
-0000647059 00000 n
-0000643708 00000 n
-0000634429 00000 n
-0000632523 00000 n
-0000622585 00000 n
-0000619123 00000 n
-0000864878 00000 n
-0000032146 00000 n
-0000037439 00000 n
-0000037285 00000 n
-0000037777 00000 n
-0000037111 00000 n
-0000032999 00000 n
-0000037595 00000 n
-0000610429 00000 n
-0000601026 00000 n
-0000864447 00000 n
-0000037248 00000 n
-0000043780 00000 n
-0000043281 00000 n
-0000038083 00000 n
-0000043402 00000 n
-0000863000 00000 n
-0000043525 00000 n
-0000043589 00000 n
-0000043653 00000 n
-0000043717 00000 n
-0000049808 00000 n
-0000049966 00000 n
-0000057363 00000 n
-0000057517 00000 n
-0000050307 00000 n
-0000049634 00000 n
-0000044073 00000 n
-0000050123 00000 n
-0000863292 00000 n
-0000049771 00000 n
-0000055945 00000 n
-0000056105 00000 n
-0000056265 00000 n
-0000056420 00000 n
-0000056573 00000 n
-0000056727 00000 n
-0000056886 00000 n
-0000057046 00000 n
-0000057204 00000 n
-0000057733 00000 n
-0000055699 00000 n
-0000050600 00000 n
-0000057671 00000 n
-0000597536 00000 n
-0000055836 00000 n
-0000062885 00000 n
-0000063042 00000 n
-0000063199 00000 n
-0000063358 00000 n
-0000063517 00000 n
-0000063674 00000 n
-0000070454 00000 n
-0000064077 00000 n
-0000062679 00000 n
-0000058000 00000 n
-0000063832 00000 n
-0000062816 00000 n
-0000070734 00000 n
-0000070288 00000 n
-0000064253 00000 n
-0000070611 00000 n
-0000070425 00000 n
-0000076113 00000 n
-0000075869 00000 n
-0000070975 00000 n
-0000075990 00000 n
-0000080626 00000 n
-0000080780 00000 n
-0000080943 00000 n
-0000081342 00000 n
-0000080444 00000 n
-0000076315 00000 n
-0000081097 00000 n
-0000080581 00000 n
-0000086644 00000 n
-0000086339 00000 n
-0000081531 00000 n
-0000086460 00000 n
-0000592150 00000 n
-0000091712 00000 n
-0000091865 00000 n
-0000092019 00000 n
-0000092183 00000 n
-0000092337 00000 n
-0000092745 00000 n
-0000091514 00000 n
-0000086859 00000 n
-0000092500 00000 n
-0000863727 00000 n
-0000865031 00000 n
-0000091651 00000 n
-0000099431 00000 n
-0000099591 00000 n
-0000099751 00000 n
-0000099911 00000 n
-0000100069 00000 n
-0000100225 00000 n
-0000100503 00000 n
-0000099225 00000 n
-0000093038 00000 n
-0000100381 00000 n
-0000099362 00000 n
-0000106387 00000 n
-0000106545 00000 n
-0000106888 00000 n
-0000106213 00000 n
-0000100757 00000 n
-0000106705 00000 n
-0000106350 00000 n
-0000110864 00000 n
-0000110681 00000 n
-0000107116 00000 n
-0000110802 00000 n
-0000118388 00000 n
-0000118727 00000 n
-0000118222 00000 n
-0000111066 00000 n
-0000118543 00000 n
-0000118359 00000 n
-0000124356 00000 n
-0000123878 00000 n
-0000124041 00000 n
-0000124201 00000 n
-0000124635 00000 n
-0000123688 00000 n
-0000118968 00000 n
-0000124512 00000 n
-0000123825 00000 n
-0000129041 00000 n
-0000129194 00000 n
-0000129416 00000 n
-0000128867 00000 n
-0000124876 00000 n
-0000129354 00000 n
-0000129004 00000 n
-0000135496 00000 n
-0000135709 00000 n
-0000135330 00000 n
-0000129618 00000 n
-0000135647 00000 n
-0000135467 00000 n
-0000140714 00000 n
-0000140934 00000 n
-0000140548 00000 n
-0000135937 00000 n
-0000140872 00000 n
-0000140685 00000 n
-0000145561 00000 n
-0000145777 00000 n
-0000145395 00000 n
-0000141123 00000 n
-0000145715 00000 n
-0000145532 00000 n
-0000151276 00000 n
-0000151552 00000 n
-0000151110 00000 n
-0000145953 00000 n
-0000151428 00000 n
-0000865184 00000 n
-0000151247 00000 n
-0000156670 00000 n
-0000157010 00000 n
-0000156504 00000 n
-0000151832 00000 n
-0000156824 00000 n
-0000156641 00000 n
-0000163021 00000 n
-0000163181 00000 n
-0000163521 00000 n
-0000162847 00000 n
-0000157238 00000 n
-0000163335 00000 n
-0000162984 00000 n
-0000168602 00000 n
-0000168880 00000 n
-0000168436 00000 n
-0000163775 00000 n
-0000168756 00000 n
-0000168573 00000 n
-0000172978 00000 n
-0000173142 00000 n
-0000173300 00000 n
-0000173583 00000 n
-0000172796 00000 n
-0000169160 00000 n
-0000173459 00000 n
-0000172933 00000 n
-0000180958 00000 n
-0000181269 00000 n
-0000181109 00000 n
-0000181550 00000 n
-0000180776 00000 n
-0000173785 00000 n
-0000181426 00000 n
-0000180913 00000 n
-0000193471 00000 n
-0000193635 00000 n
-0000193789 00000 n
-0000193949 00000 n
-0000194106 00000 n
-0000194386 00000 n
-0000193273 00000 n
-0000181817 00000 n
-0000194262 00000 n
-0000588044 00000 n
-0000193410 00000 n
-0000205030 00000 n
-0000205307 00000 n
-0000204864 00000 n
-0000194679 00000 n
-0000205183 00000 n
-0000205001 00000 n
-0000214566 00000 n
-0000214321 00000 n
-0000205561 00000 n
-0000214442 00000 n
-0000243693 00000 n
-0000237652 00000 n
-0000237407 00000 n
-0000214833 00000 n
-0000237528 00000 n
-0000243853 00000 n
-0000244013 00000 n
-0000244173 00000 n
-0000244511 00000 n
-0000243503 00000 n
-0000237932 00000 n
-0000244325 00000 n
-0000865337 00000 n
-0000243640 00000 n
-0000252311 00000 n
-0000252531 00000 n
-0000252813 00000 n
-0000252137 00000 n
-0000244765 00000 n
-0000252689 00000 n
-0000585509 00000 n
-0000252274 00000 n
-0000258356 00000 n
-0000258516 00000 n
-0000258677 00000 n
-0000258831 00000 n
-0000258991 00000 n
-0000276707 00000 n
-0000259275 00000 n
-0000258158 00000 n
-0000253132 00000 n
-0000259151 00000 n
-0000864735 00000 n
-0000258295 00000 n
-0000276865 00000 n
-0000277020 00000 n
-0000277180 00000 n
-0000277588 00000 n
-0000276517 00000 n
-0000259581 00000 n
-0000277340 00000 n
-0000276654 00000 n
-0000283778 00000 n
-0000283933 00000 n
-0000284150 00000 n
-0000283604 00000 n
-0000277842 00000 n
-0000284088 00000 n
-0000283741 00000 n
-0000289304 00000 n
-0000289464 00000 n
-0000289622 00000 n
-0000289844 00000 n
-0000289122 00000 n
-0000284404 00000 n
-0000289782 00000 n
-0000289259 00000 n
-0000295244 00000 n
-0000295564 00000 n
-0000295078 00000 n
-0000290046 00000 n
-0000295440 00000 n
-0000295215 00000 n
-0000300812 00000 n
-0000300966 00000 n
-0000305304 00000 n
-0000305457 00000 n
-0000301378 00000 n
-0000300638 00000 n
-0000295870 00000 n
-0000301130 00000 n
-0000300775 00000 n
-0000305611 00000 n
-0000305771 00000 n
-0000305931 00000 n
-0000306085 00000 n
-0000306423 00000 n
-0000305098 00000 n
-0000301606 00000 n
-0000306237 00000 n
-0000305235 00000 n
-0000315720 00000 n
-0000311478 00000 n
-0000311638 00000 n
-0000312115 00000 n
-0000311304 00000 n
-0000306586 00000 n
-0000311798 00000 n
-0000311860 00000 n
-0000582446 00000 n
-0000311924 00000 n
-0000311988 00000 n
-0000312052 00000 n
-0000311441 00000 n
-0000316228 00000 n
-0000315537 00000 n
-0000312356 00000 n
-0000315658 00000 n
-0000315782 00000 n
-0000315846 00000 n
-0000315910 00000 n
-0000315974 00000 n
-0000316038 00000 n
-0000316102 00000 n
-0000865490 00000 n
-0000320198 00000 n
-0000320358 00000 n
-0000320579 00000 n
-0000320024 00000 n
-0000316456 00000 n
-0000320517 00000 n
-0000320161 00000 n
-0000324560 00000 n
-0000324719 00000 n
-0000324879 00000 n
-0000325039 00000 n
-0000325203 00000 n
-0000325615 00000 n
-0000324362 00000 n
-0000320755 00000 n
-0000325367 00000 n
-0000324499 00000 n
-0000334768 00000 n
-0000334399 00000 n
-0000325830 00000 n
-0000334520 00000 n
-0000340131 00000 n
-0000340469 00000 n
-0000339965 00000 n
-0000335048 00000 n
-0000340283 00000 n
-0000864592 00000 n
-0000340102 00000 n
-0000346032 00000 n
-0000346186 00000 n
-0000346341 00000 n
-0000346499 00000 n
-0000346840 00000 n
-0000345842 00000 n
-0000340788 00000 n
-0000346654 00000 n
-0000862708 00000 n
-0000864304 00000 n
-0000345979 00000 n
-0000351953 00000 n
-0000352113 00000 n
-0000352266 00000 n
-0000352704 00000 n
-0000351771 00000 n
-0000347120 00000 n
-0000352456 00000 n
-0000351908 00000 n
-0000358200 00000 n
-0000358352 00000 n
-0000358512 00000 n
-0000358663 00000 n
-0000359000 00000 n
-0000358010 00000 n
-0000352958 00000 n
-0000358814 00000 n
-0000358147 00000 n
-0000363745 00000 n
-0000363905 00000 n
-0000364066 00000 n
-0000364471 00000 n
-0000363563 00000 n
-0000359293 00000 n
-0000364224 00000 n
-0000363700 00000 n
-0000371870 00000 n
-0000379570 00000 n
-0000372084 00000 n
-0000371704 00000 n
-0000364699 00000 n
-0000372022 00000 n
-0000371841 00000 n
-0000379727 00000 n
-0000380003 00000 n
-0000379396 00000 n
-0000372338 00000 n
-0000379879 00000 n
-0000579943 00000 n
-0000865643 00000 n
-0000379533 00000 n
-0000385299 00000 n
-0000385583 00000 n
-0000385133 00000 n
-0000380270 00000 n
-0000385459 00000 n
-0000385270 00000 n
-0000389586 00000 n
-0000389341 00000 n
-0000385811 00000 n
-0000389462 00000 n
-0000402559 00000 n
-0000408294 00000 n
-0000408452 00000 n
-0000402970 00000 n
-0000402393 00000 n
-0000389814 00000 n
-0000402722 00000 n
-0000402530 00000 n
-0000408611 00000 n
-0000408130 00000 n
-0000416777 00000 n
-0000416941 00000 n
-0000409032 00000 n
-0000407940 00000 n
-0000403211 00000 n
-0000408846 00000 n
-0000577458 00000 n
-0000408077 00000 n
-0000409286 00000 n
-0000409604 00000 n
-0000409930 00000 n
-0000410134 00000 n
-0000410612 00000 n
-0000410956 00000 n
-0000411160 00000 n
-0000417105 00000 n
-0000417257 00000 n
-0000417595 00000 n
-0000416587 00000 n
-0000411802 00000 n
-0000417409 00000 n
-0000416724 00000 n
-0000421210 00000 n
-0000421365 00000 n
-0000421706 00000 n
-0000421036 00000 n
-0000417877 00000 n
-0000421520 00000 n
-0000421173 00000 n
-0000425682 00000 n
-0000425311 00000 n
-0000421908 00000 n
-0000425432 00000 n
-0000425494 00000 n
-0000425558 00000 n
-0000445734 00000 n
-0000445489 00000 n
-0000425871 00000 n
-0000445610 00000 n
-0000452245 00000 n
-0000452062 00000 n
-0000446001 00000 n
-0000452183 00000 n
-0000455994 00000 n
-0000455687 00000 n
-0000452499 00000 n
-0000455808 00000 n
-0000865796 00000 n
-0000459779 00000 n
-0000459596 00000 n
-0000456196 00000 n
-0000459717 00000 n
-0000465320 00000 n
-0000465137 00000 n
-0000460020 00000 n
-0000465258 00000 n
-0000469719 00000 n
-0000469536 00000 n
-0000465548 00000 n
-0000469657 00000 n
-0000475101 00000 n
-0000475387 00000 n
-0000474935 00000 n
-0000469947 00000 n
-0000475263 00000 n
-0000475072 00000 n
-0000481619 00000 n
-0000481374 00000 n
-0000475654 00000 n
-0000481495 00000 n
-0000492507 00000 n
-0000492262 00000 n
-0000481821 00000 n
-0000492383 00000 n
-0000495113 00000 n
-0000494930 00000 n
-0000492735 00000 n
-0000495051 00000 n
-0000499665 00000 n
-0000499817 00000 n
-0000499969 00000 n
-0000500121 00000 n
-0000500273 00000 n
-0000500425 00000 n
-0000500577 00000 n
-0000500728 00000 n
-0000500880 00000 n
-0000501031 00000 n
-0000501183 00000 n
-0000501332 00000 n
-0000501483 00000 n
-0000501634 00000 n
-0000501783 00000 n
-0000501932 00000 n
-0000502081 00000 n
-0000502231 00000 n
-0000502383 00000 n
-0000502534 00000 n
-0000502685 00000 n
-0000502837 00000 n
-0000502989 00000 n
-0000503139 00000 n
-0000503291 00000 n
-0000503441 00000 n
-0000503593 00000 n
-0000503741 00000 n
-0000503890 00000 n
-0000504041 00000 n
-0000504193 00000 n
-0000504343 00000 n
-0000504493 00000 n
-0000504644 00000 n
-0000504796 00000 n
-0000504947 00000 n
-0000505099 00000 n
-0000505251 00000 n
-0000505402 00000 n
-0000505553 00000 n
-0000505705 00000 n
-0000505857 00000 n
-0000506009 00000 n
-0000506160 00000 n
-0000506312 00000 n
-0000506464 00000 n
-0000506615 00000 n
-0000506767 00000 n
-0000506919 00000 n
-0000507070 00000 n
-0000507222 00000 n
-0000507374 00000 n
-0000507526 00000 n
-0000507677 00000 n
-0000507829 00000 n
-0000507981 00000 n
-0000508131 00000 n
-0000508280 00000 n
-0000508430 00000 n
-0000508580 00000 n
-0000508730 00000 n
-0000508880 00000 n
-0000509032 00000 n
-0000509183 00000 n
-0000509335 00000 n
-0000509487 00000 n
-0000509639 00000 n
-0000509791 00000 n
-0000509943 00000 n
-0000510094 00000 n
-0000510246 00000 n
-0000510397 00000 n
-0000510548 00000 n
-0000510700 00000 n
-0000510852 00000 n
-0000511004 00000 n
-0000511156 00000 n
-0000511308 00000 n
-0000511459 00000 n
-0000511611 00000 n
-0000511763 00000 n
-0000511914 00000 n
-0000512065 00000 n
-0000512216 00000 n
-0000512368 00000 n
-0000512520 00000 n
-0000512672 00000 n
-0000512823 00000 n
-0000512975 00000 n
-0000513125 00000 n
-0000513275 00000 n
-0000513427 00000 n
-0000513578 00000 n
-0000513729 00000 n
-0000513881 00000 n
-0000514033 00000 n
-0000514185 00000 n
-0000514337 00000 n
-0000514489 00000 n
-0000514641 00000 n
-0000514793 00000 n
-0000514945 00000 n
-0000515097 00000 n
-0000515249 00000 n
-0000515401 00000 n
-0000515552 00000 n
-0000515704 00000 n
-0000515855 00000 n
-0000516007 00000 n
-0000516158 00000 n
-0000516309 00000 n
-0000516459 00000 n
-0000516609 00000 n
-0000516760 00000 n
-0000521615 00000 n
-0000521767 00000 n
-0000517037 00000 n
-0000498587 00000 n
-0000495250 00000 n
-0000516910 00000 n
-0000498728 00000 n
-0000521919 00000 n
-0000522070 00000 n
-0000522222 00000 n
-0000522374 00000 n
-0000522527 00000 n
-0000522678 00000 n
-0000522831 00000 n
-0000522983 00000 n
-0000523136 00000 n
-0000523288 00000 n
-0000523440 00000 n
-0000523592 00000 n
-0000523745 00000 n
-0000523898 00000 n
-0000524050 00000 n
-0000524202 00000 n
-0000524354 00000 n
-0000524507 00000 n
-0000524660 00000 n
-0000524812 00000 n
-0000524963 00000 n
-0000525116 00000 n
-0000525268 00000 n
-0000525420 00000 n
-0000525572 00000 n
-0000525724 00000 n
-0000525877 00000 n
-0000526030 00000 n
-0000526183 00000 n
-0000526334 00000 n
-0000526485 00000 n
-0000526638 00000 n
-0000526791 00000 n
-0000526942 00000 n
-0000527095 00000 n
-0000527248 00000 n
-0000527400 00000 n
-0000527553 00000 n
-0000527706 00000 n
-0000527858 00000 n
-0000528010 00000 n
-0000528163 00000 n
-0000528316 00000 n
-0000528469 00000 n
-0000528622 00000 n
-0000528775 00000 n
-0000528926 00000 n
-0000529077 00000 n
-0000529229 00000 n
-0000529381 00000 n
-0000529534 00000 n
-0000529686 00000 n
-0000529839 00000 n
-0000529992 00000 n
-0000530145 00000 n
-0000530298 00000 n
-0000530450 00000 n
-0000530601 00000 n
-0000530754 00000 n
-0000530905 00000 n
-0000531057 00000 n
-0000531210 00000 n
-0000531363 00000 n
-0000531514 00000 n
-0000531666 00000 n
-0000531819 00000 n
-0000531971 00000 n
-0000532124 00000 n
-0000532277 00000 n
-0000532430 00000 n
-0000532582 00000 n
-0000532734 00000 n
-0000532886 00000 n
-0000533039 00000 n
-0000533192 00000 n
-0000533345 00000 n
-0000533498 00000 n
-0000533651 00000 n
-0000533804 00000 n
-0000533957 00000 n
-0000534110 00000 n
-0000534263 00000 n
-0000534415 00000 n
-0000534568 00000 n
-0000534720 00000 n
-0000534873 00000 n
-0000535026 00000 n
-0000535178 00000 n
-0000535331 00000 n
-0000535484 00000 n
-0000535636 00000 n
-0000535788 00000 n
-0000535941 00000 n
-0000536094 00000 n
-0000536247 00000 n
-0000536399 00000 n
-0000536550 00000 n
-0000536701 00000 n
-0000536852 00000 n
-0000541437 00000 n
-0000537067 00000 n
-0000520543 00000 n
-0000517227 00000 n
-0000537003 00000 n
-0000520684 00000 n
-0000541590 00000 n
-0000541741 00000 n
-0000541893 00000 n
-0000542046 00000 n
-0000542199 00000 n
-0000542351 00000 n
-0000542504 00000 n
-0000542657 00000 n
-0000542810 00000 n
-0000542962 00000 n
-0000543115 00000 n
-0000543268 00000 n
-0000543421 00000 n
-0000543574 00000 n
-0000543727 00000 n
-0000543879 00000 n
-0000544032 00000 n
-0000544184 00000 n
-0000544336 00000 n
-0000544489 00000 n
-0000544642 00000 n
-0000544792 00000 n
-0000544944 00000 n
-0000545096 00000 n
-0000545248 00000 n
-0000545401 00000 n
-0000545554 00000 n
-0000545707 00000 n
-0000545859 00000 n
-0000546011 00000 n
-0000546163 00000 n
-0000546315 00000 n
-0000546467 00000 n
-0000546619 00000 n
-0000546771 00000 n
-0000546922 00000 n
-0000547075 00000 n
-0000547228 00000 n
-0000547381 00000 n
-0000547533 00000 n
-0000547686 00000 n
-0000547839 00000 n
-0000547990 00000 n
-0000548143 00000 n
-0000548296 00000 n
-0000548449 00000 n
-0000548602 00000 n
-0000548755 00000 n
-0000548908 00000 n
-0000549060 00000 n
-0000549210 00000 n
-0000549361 00000 n
-0000549512 00000 n
-0000549665 00000 n
-0000549818 00000 n
-0000549971 00000 n
-0000550122 00000 n
-0000550272 00000 n
-0000550424 00000 n
-0000550577 00000 n
-0000550729 00000 n
-0000550881 00000 n
-0000551033 00000 n
-0000551185 00000 n
-0000551337 00000 n
-0000551490 00000 n
-0000551643 00000 n
-0000551795 00000 n
-0000551948 00000 n
-0000552101 00000 n
-0000552254 00000 n
-0000552407 00000 n
-0000552560 00000 n
-0000552713 00000 n
-0000552865 00000 n
-0000553018 00000 n
-0000553171 00000 n
-0000553324 00000 n
-0000553476 00000 n
-0000553628 00000 n
-0000553780 00000 n
-0000553932 00000 n
-0000554083 00000 n
-0000554236 00000 n
-0000554389 00000 n
-0000554542 00000 n
-0000554694 00000 n
-0000554910 00000 n
-0000540481 00000 n
-0000537244 00000 n
-0000554846 00000 n
-0000865951 00000 n
-0000540623 00000 n
-0000558085 00000 n
-0000558239 00000 n
-0000558393 00000 n
-0000558547 00000 n
-0000558701 00000 n
-0000558860 00000 n
-0000559019 00000 n
-0000559178 00000 n
-0000559337 00000 n
-0000559495 00000 n
-0000559654 00000 n
-0000559808 00000 n
-0000559967 00000 n
-0000560132 00000 n
-0000560295 00000 n
-0000560454 00000 n
-0000560613 00000 n
-0000560778 00000 n
-0000560943 00000 n
-0000561108 00000 n
-0000561273 00000 n
-0000561438 00000 n
-0000561592 00000 n
-0000561750 00000 n
-0000561908 00000 n
-0000562066 00000 n
-0000562225 00000 n
-0000562379 00000 n
-0000562533 00000 n
-0000562692 00000 n
-0000562851 00000 n
-0000563010 00000 n
-0000563164 00000 n
-0000563319 00000 n
-0000563478 00000 n
-0000563637 00000 n
-0000563793 00000 n
-0000567200 00000 n
-0000564014 00000 n
-0000557588 00000 n
-0000555087 00000 n
-0000563950 00000 n
-0000557730 00000 n
-0000567360 00000 n
-0000567520 00000 n
-0000567675 00000 n
-0000567830 00000 n
-0000567990 00000 n
-0000568150 00000 n
-0000568310 00000 n
-0000568470 00000 n
-0000568625 00000 n
-0000568785 00000 n
-0000568945 00000 n
-0000569105 00000 n
-0000569265 00000 n
-0000569425 00000 n
-0000569580 00000 n
-0000569740 00000 n
-0000569900 00000 n
-0000570060 00000 n
-0000570219 00000 n
-0000570378 00000 n
-0000570538 00000 n
-0000570698 00000 n
-0000570858 00000 n
+0000032398 00000 n
+0000032460 00000 n
+0000729539 00000 n
+0000725687 00000 n
+0000723234 00000 n
+0000717914 00000 n
+0000714568 00000 n
+0000712125 00000 n
+0000707558 00000 n
+0000704851 00000 n
+0000857852 00000 n
+0000858580 00000 n
+0000859016 00000 n
+0000858435 00000 n
+0000858144 00000 n
+0000859159 00000 n
+0000694127 00000 n
+0000858871 00000 n
+0000682391 00000 n
+0000677776 00000 n
+0000667641 00000 n
+0000659653 00000 n
+0000655199 00000 n
+0000649425 00000 n
+0000646074 00000 n
+0000636795 00000 n
+0000634889 00000 n
+0000624951 00000 n
+0000621489 00000 n
+0000859733 00000 n
+0000032131 00000 n
+0000037424 00000 n
+0000037270 00000 n
+0000037762 00000 n
+0000037096 00000 n
+0000032984 00000 n
+0000037580 00000 n
+0000612795 00000 n
+0000603392 00000 n
+0000859302 00000 n
+0000037233 00000 n
+0000043765 00000 n
+0000043266 00000 n
+0000038068 00000 n
+0000043387 00000 n
+0000857998 00000 n
+0000043510 00000 n
+0000043574 00000 n
+0000043638 00000 n
+0000043702 00000 n
+0000049793 00000 n
+0000049951 00000 n
+0000057364 00000 n
+0000057518 00000 n
+0000050292 00000 n
+0000049619 00000 n
+0000044058 00000 n
+0000050108 00000 n
+0000858290 00000 n
+0000049756 00000 n
+0000055946 00000 n
+0000056106 00000 n
+0000056266 00000 n
+0000056421 00000 n
+0000056574 00000 n
+0000056728 00000 n
+0000056887 00000 n
+0000057047 00000 n
+0000057205 00000 n
+0000057734 00000 n
+0000055700 00000 n
+0000050585 00000 n
+0000057672 00000 n
+0000599902 00000 n
+0000055837 00000 n
+0000062879 00000 n
+0000063036 00000 n
+0000063193 00000 n
+0000063352 00000 n
+0000063507 00000 n
+0000063664 00000 n
+0000070444 00000 n
+0000064067 00000 n
+0000062673 00000 n
+0000058001 00000 n
+0000063822 00000 n
+0000062810 00000 n
+0000070724 00000 n
+0000070278 00000 n
+0000064243 00000 n
+0000070601 00000 n
+0000070415 00000 n
+0000076008 00000 n
+0000075764 00000 n
+0000070965 00000 n
+0000075885 00000 n
+0000080522 00000 n
+0000080676 00000 n
+0000080839 00000 n
+0000081238 00000 n
+0000080340 00000 n
+0000076210 00000 n
+0000080993 00000 n
+0000080477 00000 n
+0000086540 00000 n
+0000086235 00000 n
+0000081427 00000 n
+0000086356 00000 n
+0000594516 00000 n
+0000091739 00000 n
+0000091892 00000 n
+0000092046 00000 n
+0000092210 00000 n
+0000092364 00000 n
+0000092711 00000 n
+0000091541 00000 n
+0000086755 00000 n
+0000092527 00000 n
+0000858725 00000 n
+0000859886 00000 n
+0000091678 00000 n
+0000099451 00000 n
+0000099611 00000 n
+0000099771 00000 n
+0000099931 00000 n
+0000100090 00000 n
+0000100246 00000 n
+0000100586 00000 n
+0000099245 00000 n
+0000093004 00000 n
+0000100402 00000 n
+0000099382 00000 n
+0000106406 00000 n
+0000106563 00000 n
+0000106906 00000 n
+0000106232 00000 n
+0000100853 00000 n
+0000106722 00000 n
+0000106369 00000 n
+0000111692 00000 n
+0000111509 00000 n
+0000107095 00000 n
+0000111630 00000 n
+0000118090 00000 n
+0000118307 00000 n
+0000117924 00000 n
+0000111946 00000 n
+0000118245 00000 n
+0000118061 00000 n
+0000129988 00000 n
+0000123823 00000 n
+0000123457 00000 n
+0000118535 00000 n
+0000123578 00000 n
+0000129358 00000 n
+0000129520 00000 n
+0000129680 00000 n
+0000129835 00000 n
+0000135488 00000 n
+0000130207 00000 n
+0000129160 00000 n
+0000124090 00000 n
+0000130145 00000 n
+0000129297 00000 n
+0000135648 00000 n
+0000135863 00000 n
+0000135314 00000 n
+0000130474 00000 n
+0000135801 00000 n
+0000135451 00000 n
+0000141355 00000 n
+0000141576 00000 n
+0000141189 00000 n
+0000136091 00000 n
+0000141514 00000 n
+0000141326 00000 n
+0000147254 00000 n
+0000147470 00000 n
+0000147088 00000 n
+0000141765 00000 n
+0000147408 00000 n
+0000147225 00000 n
+0000152972 00000 n
+0000153248 00000 n
+0000152806 00000 n
+0000147646 00000 n
+0000153124 00000 n
+0000860039 00000 n
+0000152943 00000 n
+0000158363 00000 n
+0000158703 00000 n
+0000158197 00000 n
+0000153528 00000 n
+0000158517 00000 n
+0000158334 00000 n
+0000164714 00000 n
+0000164874 00000 n
+0000165214 00000 n
+0000164540 00000 n
+0000158931 00000 n
+0000165028 00000 n
+0000164677 00000 n
+0000170296 00000 n
+0000170574 00000 n
+0000170130 00000 n
+0000165468 00000 n
+0000170450 00000 n
+0000170267 00000 n
+0000174672 00000 n
+0000174836 00000 n
+0000174994 00000 n
+0000175277 00000 n
+0000174490 00000 n
+0000170854 00000 n
+0000175153 00000 n
+0000174627 00000 n
+0000182677 00000 n
+0000182992 00000 n
+0000182832 00000 n
+0000183273 00000 n
+0000182495 00000 n
+0000175479 00000 n
+0000183149 00000 n
+0000182632 00000 n
+0000195189 00000 n
+0000195352 00000 n
+0000195506 00000 n
+0000195666 00000 n
+0000195825 00000 n
+0000196106 00000 n
+0000194991 00000 n
+0000183540 00000 n
+0000195982 00000 n
+0000590410 00000 n
+0000195128 00000 n
+0000206750 00000 n
+0000207027 00000 n
+0000206584 00000 n
+0000196399 00000 n
+0000206903 00000 n
+0000206721 00000 n
+0000216286 00000 n
+0000216041 00000 n
+0000207281 00000 n
+0000216162 00000 n
+0000245399 00000 n
+0000239358 00000 n
+0000239115 00000 n
+0000216553 00000 n
+0000239236 00000 n
+0000245559 00000 n
+0000245719 00000 n
+0000245879 00000 n
+0000246217 00000 n
+0000245209 00000 n
+0000239638 00000 n
+0000246031 00000 n
+0000860192 00000 n
+0000245346 00000 n
+0000253994 00000 n
+0000254214 00000 n
+0000254496 00000 n
+0000253820 00000 n
+0000246471 00000 n
+0000254372 00000 n
+0000587875 00000 n
+0000253957 00000 n
+0000260057 00000 n
+0000260217 00000 n
+0000260378 00000 n
+0000260532 00000 n
+0000260692 00000 n
+0000278398 00000 n
+0000260976 00000 n
+0000259859 00000 n
+0000254815 00000 n
+0000260852 00000 n
+0000859590 00000 n
+0000259996 00000 n
+0000278556 00000 n
+0000278711 00000 n
+0000278871 00000 n
+0000279279 00000 n
+0000278208 00000 n
+0000261282 00000 n
+0000279031 00000 n
+0000278345 00000 n
+0000285469 00000 n
+0000285624 00000 n
+0000285841 00000 n
+0000285295 00000 n
+0000279533 00000 n
+0000285779 00000 n
+0000285432 00000 n
+0000290993 00000 n
+0000291153 00000 n
+0000291311 00000 n
+0000291533 00000 n
+0000290811 00000 n
+0000286095 00000 n
+0000291471 00000 n
+0000290948 00000 n
+0000296933 00000 n
+0000297253 00000 n
+0000296767 00000 n
+0000291735 00000 n
+0000297129 00000 n
+0000296904 00000 n
+0000302497 00000 n
+0000302651 00000 n
+0000306989 00000 n
+0000307142 00000 n
+0000303063 00000 n
+0000302323 00000 n
+0000297559 00000 n
+0000302815 00000 n
+0000302460 00000 n
+0000307296 00000 n
+0000307456 00000 n
+0000307616 00000 n
+0000307770 00000 n
+0000308108 00000 n
+0000306783 00000 n
+0000303291 00000 n
+0000307922 00000 n
+0000306920 00000 n
+0000317402 00000 n
+0000313163 00000 n
+0000313323 00000 n
+0000313800 00000 n
+0000312989 00000 n
+0000308271 00000 n
+0000313483 00000 n
+0000313545 00000 n
+0000584812 00000 n
+0000313609 00000 n
+0000313673 00000 n
+0000313737 00000 n
+0000313126 00000 n
+0000317910 00000 n
+0000317219 00000 n
+0000314041 00000 n
+0000317340 00000 n
+0000317464 00000 n
+0000317528 00000 n
+0000317592 00000 n
+0000317656 00000 n
+0000317720 00000 n
+0000317784 00000 n
+0000860345 00000 n
+0000321880 00000 n
+0000322040 00000 n
+0000322261 00000 n
+0000321706 00000 n
+0000318138 00000 n
+0000322199 00000 n
+0000321843 00000 n
+0000326242 00000 n
+0000326401 00000 n
+0000326561 00000 n
+0000326721 00000 n
+0000326885 00000 n
+0000327297 00000 n
+0000326044 00000 n
+0000322437 00000 n
+0000327049 00000 n
+0000326181 00000 n
+0000336444 00000 n
+0000336075 00000 n
+0000327512 00000 n
+0000336196 00000 n
+0000342088 00000 n
+0000342425 00000 n
+0000341922 00000 n
+0000336724 00000 n
+0000342239 00000 n
+0000859447 00000 n
+0000342059 00000 n
+0000348054 00000 n
+0000348207 00000 n
+0000348361 00000 n
+0000348519 00000 n
+0000348673 00000 n
+0000349013 00000 n
+0000347856 00000 n
+0000342744 00000 n
+0000348827 00000 n
+0000857706 00000 n
+0000347993 00000 n
+0000353964 00000 n
+0000354123 00000 n
+0000354277 00000 n
+0000354715 00000 n
+0000353782 00000 n
+0000349293 00000 n
+0000354467 00000 n
+0000353919 00000 n
+0000360211 00000 n
+0000360363 00000 n
+0000360523 00000 n
+0000360674 00000 n
+0000361011 00000 n
+0000360021 00000 n
+0000354969 00000 n
+0000360825 00000 n
+0000360158 00000 n
+0000365770 00000 n
+0000365928 00000 n
+0000366087 00000 n
+0000366492 00000 n
+0000365588 00000 n
+0000361304 00000 n
+0000366246 00000 n
+0000365725 00000 n
+0000373885 00000 n
+0000381587 00000 n
+0000374099 00000 n
+0000373719 00000 n
+0000366720 00000 n
+0000374037 00000 n
+0000373856 00000 n
+0000381744 00000 n
+0000382020 00000 n
+0000381413 00000 n
+0000374353 00000 n
+0000381896 00000 n
+0000582336 00000 n
+0000860498 00000 n
+0000381550 00000 n
+0000387317 00000 n
+0000387601 00000 n
+0000387151 00000 n
+0000382287 00000 n
+0000387477 00000 n
+0000387288 00000 n
+0000391636 00000 n
+0000391920 00000 n
+0000391470 00000 n
+0000387829 00000 n
+0000391796 00000 n
+0000391607 00000 n
+0000404928 00000 n
+0000410663 00000 n
+0000410821 00000 n
+0000405339 00000 n
+0000404762 00000 n
+0000392148 00000 n
+0000405091 00000 n
+0000404899 00000 n
+0000410980 00000 n
+0000410499 00000 n
+0000419140 00000 n
+0000419304 00000 n
+0000411401 00000 n
+0000410309 00000 n
+0000405580 00000 n
+0000411215 00000 n
+0000579851 00000 n
+0000410446 00000 n
+0000411655 00000 n
+0000411973 00000 n
+0000412299 00000 n
+0000412503 00000 n
+0000412981 00000 n
+0000413325 00000 n
+0000413529 00000 n
+0000419468 00000 n
+0000419619 00000 n
+0000419956 00000 n
+0000418950 00000 n
+0000414171 00000 n
+0000419770 00000 n
+0000419087 00000 n
+0000423572 00000 n
+0000423727 00000 n
+0000424068 00000 n
+0000423398 00000 n
+0000420238 00000 n
+0000423882 00000 n
+0000423535 00000 n
+0000428050 00000 n
+0000427679 00000 n
+0000424270 00000 n
+0000427800 00000 n
+0000427862 00000 n
+0000427926 00000 n
+0000448102 00000 n
+0000447857 00000 n
+0000428239 00000 n
+0000447978 00000 n
+0000454613 00000 n
+0000454430 00000 n
+0000448369 00000 n
+0000454551 00000 n
+0000458362 00000 n
+0000458055 00000 n
+0000454867 00000 n
+0000458176 00000 n
+0000860651 00000 n
+0000462149 00000 n
+0000461966 00000 n
+0000458564 00000 n
+0000462087 00000 n
+0000467690 00000 n
+0000467507 00000 n
+0000462390 00000 n
+0000467628 00000 n
+0000472089 00000 n
+0000471906 00000 n
+0000467918 00000 n
+0000472027 00000 n
+0000477493 00000 n
+0000477778 00000 n
+0000477327 00000 n
+0000472317 00000 n
+0000477654 00000 n
+0000477464 00000 n
+0000483987 00000 n
+0000483742 00000 n
+0000478045 00000 n
+0000483863 00000 n
+0000494884 00000 n
+0000494639 00000 n
+0000484189 00000 n
+0000494760 00000 n
+0000497488 00000 n
+0000497305 00000 n
+0000495112 00000 n
+0000497426 00000 n
+0000502019 00000 n
+0000502171 00000 n
+0000502323 00000 n
+0000502475 00000 n
+0000502627 00000 n
+0000502779 00000 n
+0000502931 00000 n
+0000503082 00000 n
+0000503234 00000 n
+0000503385 00000 n
+0000503537 00000 n
+0000503686 00000 n
+0000503837 00000 n
+0000503988 00000 n
+0000504137 00000 n
+0000504286 00000 n
+0000504435 00000 n
+0000504585 00000 n
+0000504737 00000 n
+0000504888 00000 n
+0000505039 00000 n
+0000505191 00000 n
+0000505343 00000 n
+0000505493 00000 n
+0000505645 00000 n
+0000505795 00000 n
+0000505947 00000 n
+0000506095 00000 n
+0000506244 00000 n
+0000506395 00000 n
+0000506547 00000 n
+0000506697 00000 n
+0000506847 00000 n
+0000506998 00000 n
+0000507150 00000 n
+0000507301 00000 n
+0000507453 00000 n
+0000507605 00000 n
+0000507756 00000 n
+0000507907 00000 n
+0000508059 00000 n
+0000508211 00000 n
+0000508363 00000 n
+0000508514 00000 n
+0000508666 00000 n
+0000508818 00000 n
+0000508969 00000 n
+0000509121 00000 n
+0000509273 00000 n
+0000509424 00000 n
+0000509576 00000 n
+0000509728 00000 n
+0000509880 00000 n
+0000510031 00000 n
+0000510183 00000 n
+0000510335 00000 n
+0000510485 00000 n
+0000510634 00000 n
+0000510784 00000 n
+0000510934 00000 n
+0000511084 00000 n
+0000511234 00000 n
+0000511386 00000 n
+0000511537 00000 n
+0000511689 00000 n
+0000511841 00000 n
+0000511993 00000 n
+0000512145 00000 n
+0000512297 00000 n
+0000512448 00000 n
+0000512600 00000 n
+0000512751 00000 n
+0000512902 00000 n
+0000513054 00000 n
+0000513206 00000 n
+0000513358 00000 n
+0000513510 00000 n
+0000513662 00000 n
+0000513813 00000 n
+0000513965 00000 n
+0000514117 00000 n
+0000514268 00000 n
+0000514419 00000 n
+0000514570 00000 n
+0000514722 00000 n
+0000514874 00000 n
+0000515025 00000 n
+0000515177 00000 n
+0000515327 00000 n
+0000515477 00000 n
+0000515629 00000 n
+0000515780 00000 n
+0000515931 00000 n
+0000516083 00000 n
+0000516235 00000 n
+0000516387 00000 n
+0000516539 00000 n
+0000516691 00000 n
+0000516843 00000 n
+0000516995 00000 n
+0000517147 00000 n
+0000517299 00000 n
+0000517451 00000 n
+0000517603 00000 n
+0000517754 00000 n
+0000517906 00000 n
+0000518057 00000 n
+0000518209 00000 n
+0000518360 00000 n
+0000518511 00000 n
+0000518661 00000 n
+0000518811 00000 n
+0000518962 00000 n
+0000523866 00000 n
+0000524018 00000 n
+0000519239 00000 n
+0000500949 00000 n
+0000497625 00000 n
+0000519112 00000 n
+0000501090 00000 n
+0000524170 00000 n
+0000524321 00000 n
+0000524473 00000 n
+0000524625 00000 n
+0000524778 00000 n
+0000524929 00000 n
+0000525082 00000 n
+0000525234 00000 n
+0000525387 00000 n
+0000525539 00000 n
+0000525691 00000 n
+0000525843 00000 n
+0000525996 00000 n
+0000526149 00000 n
+0000526301 00000 n
+0000526453 00000 n
+0000526605 00000 n
+0000526758 00000 n
+0000526911 00000 n
+0000527063 00000 n
+0000527214 00000 n
+0000527367 00000 n
+0000527519 00000 n
+0000527671 00000 n
+0000527823 00000 n
+0000527975 00000 n
+0000528128 00000 n
+0000528281 00000 n
+0000528434 00000 n
+0000528585 00000 n
+0000528736 00000 n
+0000528889 00000 n
+0000529042 00000 n
+0000529193 00000 n
+0000529346 00000 n
+0000529499 00000 n
+0000529651 00000 n
+0000529804 00000 n
+0000529957 00000 n
+0000530109 00000 n
+0000530261 00000 n
+0000530414 00000 n
+0000530567 00000 n
+0000530720 00000 n
+0000530873 00000 n
+0000531026 00000 n
+0000531177 00000 n
+0000531328 00000 n
+0000531480 00000 n
+0000531632 00000 n
+0000531785 00000 n
+0000531937 00000 n
+0000532090 00000 n
+0000532241 00000 n
+0000532394 00000 n
+0000532547 00000 n
+0000532700 00000 n
+0000532852 00000 n
+0000533004 00000 n
+0000533157 00000 n
+0000533308 00000 n
+0000533460 00000 n
+0000533613 00000 n
+0000533766 00000 n
+0000533917 00000 n
+0000534069 00000 n
+0000534222 00000 n
+0000534374 00000 n
+0000534527 00000 n
+0000534680 00000 n
+0000534833 00000 n
+0000534985 00000 n
+0000535137 00000 n
+0000535289 00000 n
+0000535442 00000 n
+0000535595 00000 n
+0000535748 00000 n
+0000535901 00000 n
+0000536054 00000 n
+0000536207 00000 n
+0000536359 00000 n
+0000536511 00000 n
+0000536663 00000 n
+0000536816 00000 n
+0000536969 00000 n
+0000537121 00000 n
+0000537274 00000 n
+0000537427 00000 n
+0000537579 00000 n
+0000537732 00000 n
+0000537885 00000 n
+0000538037 00000 n
+0000538189 00000 n
+0000538342 00000 n
+0000538495 00000 n
+0000538648 00000 n
+0000538799 00000 n
+0000538949 00000 n
+0000539100 00000 n
+0000539251 00000 n
+0000543837 00000 n
+0000539466 00000 n
+0000522785 00000 n
+0000519429 00000 n
+0000539402 00000 n
+0000522926 00000 n
+0000543990 00000 n
+0000544141 00000 n
+0000544293 00000 n
+0000544446 00000 n
+0000544599 00000 n
+0000544751 00000 n
+0000544904 00000 n
+0000545057 00000 n
+0000545210 00000 n
+0000545362 00000 n
+0000545515 00000 n
+0000545668 00000 n
+0000545821 00000 n
+0000545974 00000 n
+0000546127 00000 n
+0000546279 00000 n
+0000546432 00000 n
+0000546584 00000 n
+0000546736 00000 n
+0000546889 00000 n
+0000547042 00000 n
+0000547192 00000 n
+0000547344 00000 n
+0000547496 00000 n
+0000547648 00000 n
+0000547801 00000 n
+0000547954 00000 n
+0000548107 00000 n
+0000548259 00000 n
+0000548411 00000 n
+0000548563 00000 n
+0000548715 00000 n
+0000548867 00000 n
+0000549019 00000 n
+0000549171 00000 n
+0000549322 00000 n
+0000549475 00000 n
+0000549628 00000 n
+0000549781 00000 n
+0000549933 00000 n
+0000550086 00000 n
+0000550239 00000 n
+0000550390 00000 n
+0000550543 00000 n
+0000550696 00000 n
+0000550849 00000 n
+0000551002 00000 n
+0000551155 00000 n
+0000551308 00000 n
+0000551460 00000 n
+0000551610 00000 n
+0000551761 00000 n
+0000551912 00000 n
+0000552065 00000 n
+0000552218 00000 n
+0000552371 00000 n
+0000552522 00000 n
+0000552672 00000 n
+0000552824 00000 n
+0000552977 00000 n
+0000553129 00000 n
+0000553281 00000 n
+0000553433 00000 n
+0000553585 00000 n
+0000553737 00000 n
+0000553890 00000 n
+0000554043 00000 n
+0000554195 00000 n
+0000554348 00000 n
+0000554501 00000 n
+0000554654 00000 n
+0000554807 00000 n
+0000554960 00000 n
+0000555113 00000 n
+0000555265 00000 n
+0000555418 00000 n
+0000555571 00000 n
+0000555724 00000 n
+0000555876 00000 n
+0000556028 00000 n
+0000556180 00000 n
+0000556332 00000 n
+0000556483 00000 n
+0000556636 00000 n
+0000556789 00000 n
+0000556942 00000 n
+0000557094 00000 n
+0000557310 00000 n
+0000542881 00000 n
+0000539643 00000 n
+0000557246 00000 n
+0000860806 00000 n
+0000543023 00000 n
+0000560485 00000 n
+0000560639 00000 n
+0000560793 00000 n
+0000560947 00000 n
+0000561101 00000 n
+0000561260 00000 n
+0000561419 00000 n
+0000561578 00000 n
+0000561737 00000 n
+0000561895 00000 n
+0000562054 00000 n
+0000562208 00000 n
+0000562367 00000 n
+0000562532 00000 n
+0000562695 00000 n
+0000562854 00000 n
+0000563013 00000 n
+0000563178 00000 n
+0000563343 00000 n
+0000563508 00000 n
+0000563673 00000 n
+0000563838 00000 n
+0000563992 00000 n
+0000564150 00000 n
+0000564308 00000 n
+0000564466 00000 n
+0000564625 00000 n
+0000564779 00000 n
+0000564933 00000 n
+0000565092 00000 n
+0000565251 00000 n
+0000565410 00000 n
+0000565564 00000 n
+0000565719 00000 n
+0000565878 00000 n
+0000566037 00000 n
+0000566193 00000 n
+0000569593 00000 n
+0000566414 00000 n
+0000559988 00000 n
+0000557487 00000 n
+0000566350 00000 n
+0000560130 00000 n
+0000569753 00000 n
+0000569913 00000 n
+0000570068 00000 n
+0000570223 00000 n
+0000570383 00000 n
+0000570543 00000 n
+0000570703 00000 n
+0000570863 00000 n
0000571018 00000 n
-0000571179 00000 n
-0000571340 00000 n
-0000571495 00000 n
-0000571655 00000 n
-0000571821 00000 n
-0000571987 00000 n
-0000572147 00000 n
-0000572307 00000 n
-0000572467 00000 n
-0000572622 00000 n
-0000572777 00000 n
-0000572937 00000 n
-0000573097 00000 n
-0000573257 00000 n
-0000573417 00000 n
+0000571178 00000 n
+0000571338 00000 n
+0000571498 00000 n
+0000571658 00000 n
+0000571818 00000 n
+0000571973 00000 n
+0000572133 00000 n
+0000572293 00000 n
+0000572453 00000 n
+0000572612 00000 n
+0000572771 00000 n
+0000572931 00000 n
+0000573091 00000 n
+0000573251 00000 n
+0000573411 00000 n
0000573572 00000 n
-0000573732 00000 n
-0000573891 00000 n
-0000574051 00000 n
-0000574211 00000 n
-0000574371 00000 n
-0000574530 00000 n
-0000574690 00000 n
-0000574850 00000 n
-0000575009 00000 n
-0000575169 00000 n
-0000575385 00000 n
-0000566577 00000 n
-0000564217 00000 n
-0000575321 00000 n
-0000566719 00000 n
-0000575804 00000 n
-0000576759 00000 n
-0000575860 00000 n
-0000575960 00000 n
-0000577001 00000 n
-0000577615 00000 n
-0000577819 00000 n
-0000579231 00000 n
-0000577894 00000 n
-0000577995 00000 n
-0000579473 00000 n
-0000580101 00000 n
-0000580306 00000 n
-0000580333 00000 n
-0000580478 00000 n
-0000580575 00000 n
-0000581745 00000 n
-0000580641 00000 n
-0000580738 00000 n
-0000581988 00000 n
-0000582603 00000 n
-0000582807 00000 n
-0000582911 00000 n
-0000584766 00000 n
-0000583069 00000 n
-0000583173 00000 n
-0000585006 00000 n
-0000585666 00000 n
-0000585870 00000 n
-0000587325 00000 n
-0000585949 00000 n
-0000586051 00000 n
-0000587573 00000 n
-0000588207 00000 n
+0000573733 00000 n
+0000573888 00000 n
+0000574048 00000 n
+0000574214 00000 n
+0000574380 00000 n
+0000574540 00000 n
+0000574700 00000 n
+0000574860 00000 n
+0000575015 00000 n
+0000575170 00000 n
+0000575330 00000 n
+0000575490 00000 n
+0000575650 00000 n
+0000575810 00000 n
+0000575965 00000 n
+0000576125 00000 n
+0000576284 00000 n
+0000576444 00000 n
+0000576604 00000 n
+0000576764 00000 n
+0000576923 00000 n
+0000577083 00000 n
+0000577243 00000 n
+0000577402 00000 n
+0000577562 00000 n
+0000577778 00000 n
+0000568970 00000 n
+0000566617 00000 n
+0000577714 00000 n
+0000569112 00000 n
+0000578197 00000 n
+0000579152 00000 n
+0000578253 00000 n
+0000578353 00000 n
+0000579394 00000 n
+0000580008 00000 n
+0000580212 00000 n
+0000581624 00000 n
+0000580287 00000 n
+0000580388 00000 n
+0000581866 00000 n
+0000582494 00000 n
+0000582699 00000 n
+0000582844 00000 n
+0000582941 00000 n
+0000584111 00000 n
+0000583007 00000 n
+0000583104 00000 n
+0000584354 00000 n
+0000584969 00000 n
+0000585173 00000 n
+0000585277 00000 n
+0000587132 00000 n
+0000585435 00000 n
+0000585539 00000 n
+0000587372 00000 n
+0000588032 00000 n
+0000588236 00000 n
+0000589691 00000 n
+0000588315 00000 n
0000588417 00000 n
-0000588462 00000 n
-0000591348 00000 n
-0000588710 00000 n
-0000588820 00000 n
-0000591596 00000 n
-0000592313 00000 n
-0000592523 00000 n
-0000596698 00000 n
-0000592877 00000 n
-0000592991 00000 n
-0000596941 00000 n
-0000597693 00000 n
-0000597897 00000 n
-0000597922 00000 n
-0000597948 00000 n
-0000598200 00000 n
-0000600282 00000 n
-0000598353 00000 n
-0000598459 00000 n
-0000600521 00000 n
-0000601181 00000 n
-0000601383 00000 n
-0000609430 00000 n
-0000601887 00000 n
-0000602010 00000 n
-0000609670 00000 n
-0000610585 00000 n
-0000610788 00000 n
-0000618127 00000 n
-0000611228 00000 n
-0000611336 00000 n
-0000618367 00000 n
-0000619280 00000 n
-0000619484 00000 n
-0000621796 00000 n
-0000619758 00000 n
-0000619864 00000 n
-0000622036 00000 n
-0000622742 00000 n
-0000622946 00000 n
-0000631487 00000 n
-0000623511 00000 n
-0000623648 00000 n
-0000631728 00000 n
-0000632681 00000 n
-0000632886 00000 n
-0000633742 00000 n
-0000632920 00000 n
-0000633015 00000 n
-0000633984 00000 n
-0000634587 00000 n
-0000634792 00000 n
-0000642713 00000 n
-0000635260 00000 n
-0000635377 00000 n
-0000642953 00000 n
-0000643864 00000 n
-0000644067 00000 n
-0000646299 00000 n
-0000644234 00000 n
-0000644340 00000 n
-0000646546 00000 n
-0000647222 00000 n
-0000647432 00000 n
-0000651970 00000 n
-0000647795 00000 n
-0000647913 00000 n
-0000652219 00000 n
-0000652997 00000 n
-0000653208 00000 n
-0000656507 00000 n
-0000653411 00000 n
-0000653518 00000 n
-0000656749 00000 n
-0000657445 00000 n
-0000657650 00000 n
-0000664422 00000 n
-0000658074 00000 n
-0000658192 00000 n
-0000664666 00000 n
-0000665490 00000 n
-0000665695 00000 n
-0000674405 00000 n
-0000666152 00000 n
-0000666268 00000 n
-0000674646 00000 n
-0000675625 00000 n
-0000675830 00000 n
-0000679231 00000 n
-0000676190 00000 n
-0000676297 00000 n
-0000679472 00000 n
-0000680240 00000 n
-0000680445 00000 n
-0000680680 00000 n
-0000690698 00000 n
-0000681317 00000 n
-0000681460 00000 n
-0000690940 00000 n
-0000691977 00000 n
-0000692183 00000 n
-0000692290 00000 n
-0000692569 00000 n
-0000692676 00000 n
-0000692738 00000 n
-0000692933 00000 n
-0000693302 00000 n
-0000701492 00000 n
-0000693809 00000 n
-0000693935 00000 n
-0000701732 00000 n
-0000702699 00000 n
-0000702903 00000 n
-0000704507 00000 n
-0000703060 00000 n
-0000703166 00000 n
-0000704747 00000 n
-0000705406 00000 n
-0000705610 00000 n
-0000709004 00000 n
-0000705903 00000 n
-0000706017 00000 n
-0000709245 00000 n
-0000709974 00000 n
-0000710179 00000 n
-0000711556 00000 n
-0000710258 00000 n
-0000710361 00000 n
-0000711795 00000 n
-0000712414 00000 n
-0000712616 00000 n
-0000714853 00000 n
-0000712795 00000 n
-0000712901 00000 n
-0000715094 00000 n
-0000715763 00000 n
-0000715968 00000 n
-0000720140 00000 n
-0000716306 00000 n
-0000716419 00000 n
-0000720382 00000 n
-0000721135 00000 n
-0000721341 00000 n
-0000722701 00000 n
-0000721464 00000 n
-0000721570 00000 n
-0000722942 00000 n
-0000723587 00000 n
-0000723792 00000 n
-0000726496 00000 n
-0000724015 00000 n
-0000724129 00000 n
-0000726738 00000 n
-0000727440 00000 n
-0000736892 00000 n
-0000727646 00000 n
-0000748316 00000 n
-0000737143 00000 n
-0000756004 00000 n
-0000749070 00000 n
-0000768781 00000 n
-0000756234 00000 n
-0000776252 00000 n
-0000769109 00000 n
-0000784385 00000 n
-0000776478 00000 n
-0000794312 00000 n
-0000784618 00000 n
-0000802224 00000 n
-0000794579 00000 n
-0000814934 00000 n
-0000802455 00000 n
-0000822952 00000 n
-0000815292 00000 n
-0000832193 00000 n
-0000823200 00000 n
-0000839536 00000 n
-0000832501 00000 n
-0000847405 00000 n
-0000839761 00000 n
-0000854945 00000 n
-0000847689 00000 n
-0000862459 00000 n
-0000855184 00000 n
-0000866051 00000 n
-0000866174 00000 n
-0000874438 00000 n
-0000875074 00000 n
-0000875714 00000 n
-0000876388 00000 n
-0000877241 00000 n
-0000878134 00000 n
-0000878726 00000 n
-0000878854 00000 n
-0000878894 00000 n
-0000879026 00000 n
+0000589939 00000 n
+0000590573 00000 n
+0000590783 00000 n
+0000590828 00000 n
+0000593714 00000 n
+0000591076 00000 n
+0000591186 00000 n
+0000593962 00000 n
+0000594679 00000 n
+0000594889 00000 n
+0000599064 00000 n
+0000595243 00000 n
+0000595357 00000 n
+0000599307 00000 n
+0000600059 00000 n
+0000600263 00000 n
+0000600288 00000 n
+0000600314 00000 n
+0000600566 00000 n
+0000602648 00000 n
+0000600719 00000 n
+0000600825 00000 n
+0000602887 00000 n
+0000603547 00000 n
+0000603749 00000 n
+0000611796 00000 n
+0000604253 00000 n
+0000604376 00000 n
+0000612036 00000 n
+0000612951 00000 n
+0000613154 00000 n
+0000620493 00000 n
+0000613594 00000 n
+0000613702 00000 n
+0000620733 00000 n
+0000621646 00000 n
+0000621850 00000 n
+0000624162 00000 n
+0000622124 00000 n
+0000622230 00000 n
+0000624402 00000 n
+0000625108 00000 n
+0000625312 00000 n
+0000633853 00000 n
+0000625877 00000 n
+0000626014 00000 n
+0000634094 00000 n
+0000635047 00000 n
+0000635252 00000 n
+0000636108 00000 n
+0000635286 00000 n
+0000635381 00000 n
+0000636350 00000 n
+0000636953 00000 n
+0000637158 00000 n
+0000645079 00000 n
+0000637626 00000 n
+0000637743 00000 n
+0000645319 00000 n
+0000646230 00000 n
+0000646433 00000 n
+0000648665 00000 n
+0000646600 00000 n
+0000646706 00000 n
+0000648912 00000 n
+0000649588 00000 n
+0000649798 00000 n
+0000654336 00000 n
+0000650161 00000 n
+0000650279 00000 n
+0000654585 00000 n
+0000655363 00000 n
+0000655574 00000 n
+0000658873 00000 n
+0000655777 00000 n
+0000655884 00000 n
+0000659115 00000 n
+0000659811 00000 n
+0000660016 00000 n
+0000666735 00000 n
+0000660428 00000 n
+0000660545 00000 n
+0000666979 00000 n
+0000667799 00000 n
+0000668004 00000 n
+0000676714 00000 n
+0000668461 00000 n
+0000668577 00000 n
+0000676955 00000 n
+0000677934 00000 n
+0000678139 00000 n
+0000681540 00000 n
+0000678499 00000 n
+0000678606 00000 n
+0000681781 00000 n
+0000682549 00000 n
+0000682754 00000 n
+0000682989 00000 n
+0000693007 00000 n
+0000683626 00000 n
+0000683769 00000 n
+0000693249 00000 n
+0000694286 00000 n
+0000694492 00000 n
+0000694599 00000 n
+0000694878 00000 n
+0000694985 00000 n
+0000695047 00000 n
+0000695242 00000 n
+0000695611 00000 n
+0000703801 00000 n
+0000696118 00000 n
+0000696244 00000 n
+0000704041 00000 n
+0000705008 00000 n
+0000705212 00000 n
+0000706816 00000 n
+0000705369 00000 n
+0000705475 00000 n
+0000707056 00000 n
+0000707715 00000 n
+0000707919 00000 n
+0000711313 00000 n
+0000708212 00000 n
+0000708326 00000 n
+0000711554 00000 n
+0000712283 00000 n
+0000712488 00000 n
+0000713865 00000 n
+0000712567 00000 n
+0000712670 00000 n
+0000714104 00000 n
+0000714723 00000 n
+0000714925 00000 n
+0000717162 00000 n
+0000715104 00000 n
+0000715210 00000 n
+0000717403 00000 n
+0000718072 00000 n
+0000718277 00000 n
+0000722405 00000 n
+0000718609 00000 n
+0000718723 00000 n
+0000722647 00000 n
+0000723393 00000 n
+0000723599 00000 n
+0000724959 00000 n
+0000723722 00000 n
+0000723828 00000 n
+0000725200 00000 n
+0000725845 00000 n
+0000726050 00000 n
+0000728754 00000 n
+0000726273 00000 n
+0000726387 00000 n
+0000728996 00000 n
+0000729698 00000 n
+0000739150 00000 n
+0000729904 00000 n
+0000750574 00000 n
+0000739401 00000 n
+0000758262 00000 n
+0000751328 00000 n
+0000771039 00000 n
+0000758492 00000 n
+0000778510 00000 n
+0000771367 00000 n
+0000786643 00000 n
+0000778736 00000 n
+0000796570 00000 n
+0000786876 00000 n
+0000804482 00000 n
+0000796837 00000 n
+0000817192 00000 n
+0000804713 00000 n
+0000825210 00000 n
+0000817550 00000 n
+0000834451 00000 n
+0000825458 00000 n
+0000842403 00000 n
+0000834759 00000 n
+0000849943 00000 n
+0000842687 00000 n
+0000857457 00000 n
+0000850182 00000 n
+0000860906 00000 n
+0000861029 00000 n
+0000869293 00000 n
+0000869929 00000 n
+0000870569 00000 n
+0000871243 00000 n
+0000872096 00000 n
+0000872989 00000 n
+0000873581 00000 n
+0000873709 00000 n
+0000873749 00000 n
+0000873881 00000 n
trailer
-<< /Size 1537 /Root 1535 0 R /Info 1536 0 R /ID [ <EF73A21DA4643994DF758D15C1F32FB2> <EF73A21DA4643994DF758D15C1F32FB2> ] >>
+<< /Size 1535 /Root 1533 0 R /Info 1534 0 R /ID [ <48D60F482EB7B3E72753E06407165887> <48D60F482EB7B3E72753E06407165887> ] >>
startxref
-879600
+874458
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index f7b2c07ef0..4d8cafd6e8 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -10,7 +10,7 @@
\usepackage{nicematrix}
\usepackage{tikz}
-\usetikzlibrary{fit,patterns,arrows.meta,decorations.pathmorphing}
+\usetikzlibrary{fit,patterns,arrows.meta,decorations.pathmorphing,babel}
\usepackage{enumitem}
\usepackage{siunitx}
@@ -642,8 +642,8 @@ applicables à un chemin de TikZ). Pour des exemples d'utilisation de cette clé
|tikz|, voir p.~\pageref{tikz-key-examples}.
\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip En fait, dans la liste des
-clés fournies à |tikz|, on peut mettre une clé |offset|. Cette clé n'est pas
-fournie par TikZ mais par \pkg{nicematrix}. Elle réduit le rectangle
+clés fournies à |tikz|, on peut mettre une clé \Definition{offset}. Cette clé
+n'est pas fournie par TikZ mais par \pkg{nicematrix}. Elle réduit le rectangle
correspondant au bloc par une marge (horizontalement et verticalement) égale à
la valeur (passée à |offset|). C'est ce rectangle réduit qui sera le chemin
exécuté par TikZ avec comme options les autres clés passées à la clé |tikz|.
@@ -774,7 +774,7 @@ Pour les blocs mono-rangée, la hauteur (\emph{height}) et la profondeur
(\emph{depth}) naturelles sont prises en compte pour la hauteur et la largeur de
la rangée en cours (comme le fait la commande standard |\multicolumn| de LaTeX),
sauf lorsqu'une option de placement vertical a été utilisée pour le bloc (une
-des clés |t|, |b|, |v-center|, |T| et |B| décrites à la partie
+des clés |t|, |b|, |m|, |T| et |B| décrites à la partie
\ref{vertical-pos-block}, p.~\pageref{vertical-pos-block}).
@@ -943,14 +943,12 @@ Rang & \Block[C]{1-3}{Premier groupe} & & & \Block{1-3}{Deuxième groupe} \\
\label{vertical-pos-block}
Concernant le positionnement vertical, la commande |\Block| admet les clés
-|v-center|\footnote{Cette clé ne peut être nommée \texttt{c} car la clé
- \texttt{c} est déjà prise pour le positionnement horizontal.}, |t|, |b|, |T| et~|B|.
-
+|m|, |t|, |b|, |T| et~|B|.
\begin{itemize}
\item \index{v-center (clé de \texttt{\textbackslash Block)})}
-Avec la clé \Definition{v-center}, le contenu du bloc est centré verticalement.
+Avec la clé \Definition{m}\footnote{Cette clé a un alias : |v-center|.}, le contenu du bloc est centré verticalement.
\item Avec la clé \Definition{t}, la ligne de base du contenu du bloc est alignée avec la
ligne de base de la première rangée concernée par le bloc.
@@ -964,12 +962,12 @@ impliquées dans le bloc.
Il n'y a pas de marge verticale. Néanmoins, le contenu du bloc est (toujours)
composé en interne dans une |{minipage}|, un |{tabular}| ou un |{array}|, ce qui
-fait qu'il y souvent déjà une marge.
+fait qu'il y a souvent déjà une marge.
\item Avec la clé \Definition{B}, le contenu du bloc est calé vers le bas.
\end{itemize}
-Quand aucune clé n'est donnée, c'est la clé |v-center| qui s'applique (sauf pour
+Quand aucune clé n'est donnée, c'est la clé |m| qui s'applique (sauf pour
les blocs mono-rangée).
\medskip
@@ -1368,6 +1366,28 @@ $\begin{pNiceMatrix}[vlines,rules/width=0.2pt]
\end{pNiceMatrix}$
+\medskip
+Même quand la clé |hlines| est utilisée, il reste possible d'utiliser
+|\Hline\Hline| pour placer un filet double horizontal. De même,
+on peut mettre \verb+||+ dans le préambule (d'un environnement à préambule) pour
+placer un double filet vertical, même quand la clé |vlines| est utilisée.
+
+\medskip
+\begin{Code}[width=10.6cm]
+$\begin{NiceArray}{c\emph{||}ccccc}[hlines,vlines]
+ & a & b & c & d & e \\ \emph{\Hline\Hline}
+x & 0 & 0 & 0 & 0 & 0 \\
+y & 0 & 0 & 0 & 0 & 0 \\
+z & 0 & 0 & 0 & 0 & 0 \\
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{c||ccccc}[hlines,vlines]
+ & a & b & c & d & e \\ \Hline\Hline
+x & 0 & 0 & 0 & 0 & 0 \\
+y & 0 & 0 & 0 & 0 & 0 \\
+z & 0 & 0 & 0 & 0 & 0 \\
+\end{NiceArray}$
+
\subsubsection{Les clés hvlines et hvlines-except-borders}
\label{hvlines}
@@ -1376,7 +1396,7 @@ $\begin{pNiceMatrix}[vlines,rules/width=0.2pt]
\index{hvlines-except-borders}
La clé |hvlines|, qui ne prend pas de valeur, est la conjonction des clés
-|hlines| et |vlines|.
+|hlines| et |vlines|.
\smallskip
\begin{Code}
@@ -1410,6 +1430,7 @@ pas les filets sur les bords horizontaux et verticaux du tableau. Pour un
exemple d'utilisation de cette clé, voir la partie «Exemple d'utilisation avec
\pkg{tcolorbox}» p.~\pageref{tcolorbox}.
+
\medskip
\subsubsection{Les coins (vides)}
\label{corners}
@@ -2118,18 +2139,20 @@ disponibles sont |cols|, |restart| et |respect-blocks|.
\index{restart (clé de \texttt{\textbackslash rowcolors} du \texttt{\textbackslash CodeBefore})}
\index{respect-blocks (clé de \texttt{\textbackslash rowcolors} du\newline \texttt{\textbackslash CodeBefore})}
\begin{itemize}
-\item La clé |cols| décrit un ensemble de colonnes sur lesquelles portera
-l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste d'intervalles de
-la forme $i$|-|$j$ (où $i$ et $j$ peuvent être remplacés par |*|).
+\item La clé \Definition{cols} décrit un ensemble de colonnes sur lesquelles
+portera l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste
+d'intervalles de la forme $i$|-|$j$ (où $i$ et $j$ peuvent être remplacés par
+|*|).
-\item Avec la clé |restart|, chacun des intervalles de rangées spécifié par le
-premier argument de |\rowcolors| recommence avec la même
+\item Avec la clé \Definition{restart}, chacun des intervalles de rangées
+spécifié par le premier argument de |\rowcolors| recommence avec la même
couleur.\footnote{Autrement, la couleur d'une rangée ne dépend que de la parité
de son numéro absolu.}
-\item Avec la clé |respect-blocks|, qui est de type booléen, les «rangées»
-colorées alternativement peuvent s'étendre sur plusieurs rangées réelles du
-tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\pageref{Block}).
+\item Avec la clé \Definition{respect-blocks}, qui est de type booléen, les
+«rangées» colorées alternativement peuvent s'étendre sur plusieurs rangées
+réelles du tableau pour englober les blocs (créés par la commande |\Block| :
+cf.~p.~\pageref{Block}).
\end{itemize}
\medskip
@@ -2241,7 +2264,8 @@ Stéphanie \\
On peut aussi utiliser dans la commande |\rowlistcolors| une série de couleurs
définie par la commande |\definecolorseries| de \pkg{xcolor} (et initialisée
avec |\resetcolorseries|\footnote{Pour l'initialisation, on a
- utilisé dans l'exemple qui suit le compteur LaTeX |iRow| qui, quand il est utilisé
+ utilisé dans l'exemple qui suit le compteur LaTeX |iRow| (qui correspond en
+ interne au compteur TeX |\c@iRow|) qui, quand il est utilisé
dans le |\CodeBefore| (ou le |\CodeAfter|) désigne le nombre de rangées du
tableau : cf~p.~\pageref{iRow}. Cela permet un ajustement de la gradation des
couleurs à la taille du tableau.}).
@@ -4268,14 +4292,15 @@ $\begin{pNiceMatrix}
\index{non empty (clé de \texttt{\textbackslash TikzEveryCell})}
\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip La commande |\TikzEveryCell|
-exécute avec TikZ le chemin rectangulaire qui correspond à chaque case du tableau,
-avec comme paramètres TikZ l'argument de |\TikzEveryCell|. Cet argument doit
-être une liste de couples \textsl{clé=valeur} applicables à un chemin
-TikZ. En fait, cette commande s'applique à chaque case du tableau, exceptées
-celles situées dans les rangées et colonnes extérieures (cf.~p.~\pageref{exterior}) et celles situées dans
-les coins vides (quand la clé |corners| est utilisée: cf.~p.~\pageref{corners}). Elle s'applique en fait à
-chaque bloc (sauf ceux qui ont la clé |transparent|) et ne s'applique pas aux
-cases situées dans ces blocs.
+exécute avec TikZ le chemin rectangulaire qui correspond à chaque case du
+tableau, avec comme paramètres TikZ l'argument de |\TikzEveryCell|. Cet argument
+doit être une liste de couples \textsl{clé=valeur} applicables à un chemin TikZ.
+En fait, cette commande s'applique à chaque case du tableau, exceptées celles
+situées dans les rangées et colonnes extérieures (cf.~p.~\pageref{exterior}) et
+celles situées dans les coins vides (quand la clé |corners| est utilisée:
+cf.~p.~\pageref{corners}). Elle s'applique en fait aussi à chaque bloc (sauf
+ceux qui ont la clé |transparent|) et ne s'applique pas aux cases individuelles
+situées dans ces blocs.
\medskip
En fait, dans la liste des clés passée en argument on peut mettre une clé
@@ -5068,16 +5093,18 @@ partie \ref{delimiters-in-preamble}, p.~\pageref{delimiters-in-preamble}).
\index{jCol (compteur LaTeX)}
Dans les cases du tableau, il est possible d'utiliser les compteurs LaTeX |iRow|
-et |jCol| qui représentent le numéro de la rangée courante et le numéro de la
-colonne courante\footnote{On rappelle que le numéro de la «première rangée» (si
- elle existe) est $0$ et que le numéro de la «première colonne» (si elle
- existe) est $0$ également.}. Bien entendu, l'utilisateur ne doit pas modifier
-les valeurs de ces compteurs qui sont utilisés en interne par \pkg{nicematrix}.
+et |jCol|\footnote{Il s'agit bien de compteurs LaTeX, ce qui fait que les
+ compteurs TeX sous-jacents sont |\c@iRow| et |\c@jCol|.} qui représentent le
+numéro de la rangée courante et le numéro de la colonne courante. On rappelle
+que le numéro de la «première rangée» (si elle existe) est $0$ et que le numéro
+de la «première colonne» (si elle existe) est $0$ également. Bien entendu,
+l'utilisateur ne doit pas modifier les valeurs de ces compteurs |iRow| et~|jCol|
+qui sont utilisés en interne par \pkg{nicematrix}.
Dans le |\CodeBefore| (cf. p. \pageref{code-before}) et dans le |\CodeAfter|
(cf. p. \pageref{code-after}), |iRow| représente le nombre total de rangées
-(hors éventuelles rangées extérieures) et |jCol| le nombre total de colonnes
-(hors potentielles colonnes extérieures).
+(hors éventuelles rangées extérieures : cf. p.~\pageref{exterior}) et |jCol| le
+nombre total de colonnes (hors potentielles colonnes extérieures).
\medskip
\begin{Code}[width=10.6cm]
@@ -5181,6 +5208,7 @@ dans les cases du tableau.\footnote{La raison en est que lorsque l'option |light
\medskip
+\index{light-syntax-expanded}
\colorbox{yellow!50}{\textbf{Nouveau 6.27}}\enskip La clé
|light-syntax-expanded| a le même comportement que la clé |light-syntax| mais
avec cette différence que le corps de l'environnement est complètement développé
@@ -5968,6 +5996,9 @@ utilise explicitement la variable publique |\g_nicematrix_code_before_tl|.
\ExplSyntaxOff
\medskip
+On a utilisé les compteurs LaTeX |iRow| et |jCol| fournis par \pkg{nicematrix} (cf.~p.~\pageref{iRow}).
+
+\medskip
Voici un exemple d'utilisation :
\medskip
@@ -6408,7 +6439,7 @@ On commence par écrire une commande |\stars| similaire aux commandes classiques
\begin{Code}
\ExplSyntaxOn
\NewDocumentCommand { \emph{\stars} } { m }
- { \prg_replicate:nn { \value { #1 } } { $ \star $ } }
+ { \prg_replicate:nn { \value { #1 } } { \( \star \) } }
\ExplSyntaxOff
\end{Code}
@@ -6445,7 +6476,7 @@ nombre total de notes dans le tableau). On utilise alors la clé |widest*| de
\begin{scope}
\ExplSyntaxOn
\NewDocumentCommand \stars { m }
- { \prg_replicate:nn { \value { #1 } } { $ \star $ } }
+ { \prg_replicate:nn { \value { #1 } } { \( \star \) } }
\NiceMatrixOptions
{
notes =
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 94ac8d3ffd..7029ce1ed6 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
@@ -627,50 +627,46 @@ endobj
<< /S /GoTo /D [ 361 0 R /Fit ] >>
endobj
364 0 obj
-<< /Filter /FlateDecode /Length 10018 >>
-stream
-x}K%7޾Yjh40Rp|5^x;d<<'OuKj/Z
-#d2y_>M77gc_~`/foΦ-r˶헿1???^??7TxSӪ$?"QE
-L[CAv1-:-&-H__[32W{ɛw<h<lE݄FS h9I$ o) ceY@Dg('< phǿ$sń`_"wP?gvOFfkS?VTd@?[2y'=~ )02tkM <-J@duulz My~ y+0h+JS=isה'S%oGje _I\o\G~ ~㷹 nDrR3Ms
-&v1Qhƴ%{ 0!zXXzCR+mAV;( 1\Ę؏AvG ; ep3xhF Tyd_~8տ]F 
-:(6<[/
-P!XMH(ZC:Hfh禁`J;mg]ǁjбv;7Y k׀c `Xx͝hړÜ `Ĩqa Mqjь
-|5ھH㟗 Q⹍s{iH9{.&IOZ=JSwy?
-5x3&jJ_
-P> KRkJ4"/su<mQȵ]P,Xm&fp4Z)R;S ,5<FH3<¨ q;w i%;X< R=L!XJHtHKG'DRO}FK¢K
-D}aAȷWM;LL [1)!)>QR C 9-SHhHDt簚gD a&ǁ|(Ehh!f\ƃ I<))D`h c[J
-FEڐHx5H {IL'>8\2򖂫H ɅN1 8
-E8}hJ#QtSa<"Q%P!`6L,9lɄi1|W9U!5fhr"„ҕD,)b\`Q0~ H_6aTC0FyȜVjOgͭ)HnLjfh|֌x16ߔKwȌڹ!n/* ƶՂPB4K|7+DB#}xC˜ ?n8EjG[bs)qFuiX/t iBjP P*_e΀yHiy, Y1gXP%Ive/'V(_<S
-XYkz9s7Ab3DHa06e}ͫ7L 7e)4ޚk2Jd 뤝hC;YON`iʯ "b`4ǟP( h,=FQqFꢐZ5YgO6iqL"-Scl{"pq2H_@aTΑT)
-<9(@!-)!SP 1hFHՠ1iFQ'. Oc$luQIJ7 O 6U*, l36@~HZ46:q؈¨#q;)+
-,o`qB`>TeVX1#/BBQTrʼnӤv|Iy+5#
-ʝR #HEZ,@R!ʄ%J ƌگ!mT,TaEaΨ h0&8$BL+ʘ?9< 1IY9"%T|1ŝQolv:
-fAnbcHOd
-
-voDqm;ȟiqLDbxX) E%oXj52l_$jpQoTϨ
-e%x|e83_c&0&i\4u8#a֪`aۘIyEvR
-
-U _*f\QT(qLQKY'ʷ!mZL0p?7\2\Lp PQ☤HcEGӌېv-ifF?&/T3(D1R1iFQ3,M<f4l0gCZLp?/T7T Lp2RE cFS/"e6Nؔ_Cӥ<BWjPS)0#CUbZEc҄oXj'h>Ⱦ۵`lBeov RdkF"vWX+5.b0*kY3#@*Pݠb`ƅHՊǤ E4N}}cik]aPu >O82sei&(j;N"5kWN'N(uoډꜼC$r\=2yˉ4!ЋK:B&LIAEX)w|.|3jp<E!.HzL)HM&Ldv 2TC$r\g<ՆUDX4G3M뉦dLD
-}K V>G5CC~dAp T +V>ӤhD~)ҮR
-$u#_ P2 8J?qBhM䖈Y[=UNEGne? Rq +FӄhD) ҮR
-vD}u##g`(C ؋T,hBJQ+'΋ 'Q/"qu{.mQS;]nWRs鞼gfV[lL&OUU[i#2Z5^۔7NHɋFciJǜdլY멵j7F7#? >5ҝ9^Ҙ*ztŋhbϿvӿ=`)ii( x25MO*O0_L.{]J&~&XLdz)xL<W^x&|`1ȹ? 3#߻2ʚp6RݔE;N9 Q-CѾAk;"^O`zGM,_S-,#:x=PuA>
-!Y>'D/O@uGA7/
-G/~n H˽rw^<bv<
-O{GKs(ۻ,) ࠺ [m5)_L@+j26wŨw'$VIbg?eX +|ޫ/>L`J}΃aM.&0q;&->|2΃}Bkk'55-D4'&{ƞjH
-ߟBjj/O/\"?yD
-ER%
-ʳ{5F9
-/w% fk=!˥,g\Gn35z@*oy UbڻdnK*Ύ3ЍvT \TrHӃki?ϏO ==1Z>iF6k(z/0wTڝ܇ho,<`PWF!0~[|#hȼ4?_:*>
-<=f0C:g!u eTq; ыޫHCs;godWml-qKx laftK{"C {ZjR}⭖lv
-(qh$f,g ?Դo0Vx,9W;ɫ8 ^7< _RP-,4x{PhJM@6v<[;syĝ/ꌁ-:z{<16|O~\ {8I71{!Ǜҥ+CێoOyM4xFtg<oG$uhZmNptN~„!ob
-G> ̖|;Ȑ>tʈsKKp9ІV - t!hԹdEo:EPP&>rU֡{P>ed uWv}a>Kd \MէU6BK#weX&qkL1iJ/,*K7k jxR
-tdP0]մ
-g)˵Q\\eN
-rES7Wsf<V/Jq vP]a4݃<L]Jgi,fQ6@G>x LzZ
-;uj'<莀Ma^yyUͫcu05͕*
-}JXZ!Cy?Y|mw]_;8aR|trQb]Sѻ#*<\H6e̻
-.3cZe1n(CeDkN+n^"&6vۖy~wB.GwTi6Kn0T_с`;&Q ކ3KKKLֶꝴSİ,Ͻ
-IcMy v^ k.
+<< /Filter /FlateDecode /Length 9998 >>
+stream
+x}I%=;Jpq_**} }hLi#etEf-sȪ -I3#N7/̃Omټ9C 17{s6mٔ[Xn?׏Ƥb ܧoPb0h{Rݿ6PI>TMrNDk*3o9 ٭:\~"~}m˔7_ $o%%y'?v[MA3KD&CO460e=EX@4J}T\Rt[L7 ~
+?Ӑ4Xe1BFmXC|*cf_]]t9ӡhfS^-xjHB
+̟E2[yHs$> ?,y>R.kX*<u&hyQ3|2$.͎^@4nfzF-溅Gs8ݜ$z6JpiSI}o p;Sl!4wZиoD B*B|=#Scs
+-AyFc AFud Wa[]ruRJE[2rH,R%ԸAe)ru ˟R\~~0K-Z~
+m
+f̔e3ź3w٢:fOFZX62gW!#' s85g8x
+_Ì؟GKaxj0c|5g㰍1z .qrokqL` -O,lN/9Z}ar=''w=eݪf]1
+2#mpH*Am#Wl}J3K륶D5VSV>TzDm¨ q;ə# R@n-6H3<czIwel5<, )H6(`ڑDJ=LJei3>3k{ɴ}ȥP5F/bAQF ; VCXy ;OHAD[XA# Rm0O@Alr-P vsH{{ bRMSHzi{wxNe<0
+]ubk&qL1O=
+{>?K-R͖habтڦphY[))h3CPFe诬D4DՕrQJHnG$jqn``Sʼnj{e Lh(%BW6aa6YqX \~&Mh(F1pzҖc0f*+& ,- ֽQL!*@Ǡa Tj Z)fXQEv`'q ;VC $ f^8Ezgx`SXVoKaTn;xO+b5i`rqe :\W"Fg}ŤDz\:<i' b~Ƚ;4*_X`D@`@Iƕ:t+mJ4:
+ mDN6i6rF$ @u$R<Y-Wb0y<E¿K
+bsXͳF0aH@E T[Mx"|4.G$`M h| kp0AFD kl hĢVmH^i$ ld}$@=dˀ$Bvs.QyKUB@䘂慂 WlJ^"
+i z>4(_0F|FMKi0}SA&c6dBĴP3|9paBJGC"1.(?FVIa0*HUF!
+<dNe+Zkh6&53 4 >kF<_crDz[[E\oJ\Y%; dFQBc[Chj
+i
++\j"BiR=H-Ɍw{4y
+U#!z1d$;25ƶg!
+N PFG SqXI&=IፈcEG ԌI[GT(;+3x0.\p 6J`X"m&laq2띰!OFv8J&à'ER1ޝ
+c*%yNք<"nE(̙*NR9JQHhHd.tY.fB2N?"
+voDqm;ȟiqLDbxX) E%oXj52l_$jpQ/TϨ
+d%
+iBFQNZ 38K(ϺrKaaz'zyPJ&zFBE #
+) _$&HSA31[CѵBWbPR0Bb:EcwXj'p>aT i;o׊f A|:`KH$ vwD,j58bfd߆kI301Q|AyL *%I4:ai1aQ<VWךf€S }Ab`*J40}i/kոq¦v.E͌
+*E%D/'JaސȽs᳎Q {ר-vT qAj+ebUMDj`5gJ$#kU"{Bh?<pY6܄@"
+V`8iZO4&g"RXbjH8ZPk S u[5M\X&D&Kdv 2TX?$q\,gjzNQBӜh
+(M&Dx'J(ΈrZg((=pk(SeG]5[X0&D&pLd
+~=~6j߯oO'W+T^8_ZUPh GEO*["_qy7Oe 'O͖i}W _ ;/6X W19؉XOG`Yba<^~kuu:@9E`w2_2/`Ӗ
+
+Uz؉O> _<e+OBaN-8s]2s=ɨ{ָ-
+[&0bM'Ccs.<'FzhZ#]z1[$K@sbikPƘUM0xupfI˫MPr+%L4LJEԝ8~%V⯼2Z@yX(Wnr1&!οr gk
+ >Apm}t}P[m'k8St>zhZ]z1M_Ol'~Z?}Aû.6ben,#Lt_$ /UlQ :Kf]CĘM5 (s\`a'KpPkF7htlj]3t@~y~98EP=Eu12^Q酸 4(`0~|@gfi<O~XSZ_MվV}}ّ;J}_F;|.[X9G͵aGp-4^%5F{=Tv |{i*Lu[7cT`GnwaԎޝS/{ӻ ˥s
+ o/m1=
+ùNBO>ڳ24SdT aˣ,,'&nѹsd6VkF m~U KZVSV]{ v.
+(f}ڸ\sG@qL*Хٚ6>bݥnW5u(ϔm74@Td#e!ɨ2eJp 1!*ަ 绦 giIm@uS 7\&骪=,W fZ(cu.Y;G* W}͛և9Uze{?渂ej;5 88{𛩋L`,lFR>h2I ߂;
+~px#y!s2" !<Xp _K~א,>f[ŻVb)<UBU9HJ{[HT$^\]~S)w"= S: e%z߂68z=qE{%4[&UkF{$lڂo4;%uuσyfK!B1d'~m ʳE b>9tr~E H5X|s>z ?I5R}.aR]ضӰJչjts[hdӭ/tLIi Ч\R~itce
+YZzF`HMޅ-gx(Ë/
+.KMy| zD&Ņ% SIlO&j<]=}#fx؀Ow!򃪑Wic x|.Yxz]|ޏݞ{=icbb7`:%FzXjJˑN\zqx.ao-q!CQ
+̫˾^/xneLݏSc82IPABڱ\ӸNx @]4c~qx?{<EbeX`YM (夒8N>>V>|<oNs>qD:<<;eUM)ұq!W̽Bo?(̴ڽ
endstream
endobj
361 0 obj
@@ -841,7 +837,7 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F74 423 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
438 0 obj
-<< /Filter /FlateDecode /Length 4809 >>
+<< /Filter /FlateDecode /Length 4829 >>
stream
xڽ$-߯V70Xf{
{Y—2T\ߣ? y υ3p c<˅EZH#`R:@u֞֘$:ZsUQK9FmJaAƬ#[H:#Cv0UNGȜl!Y`mI>vޚyмYQd)OuM':<+yyĎ'#NƱł*NjtUoy3o.%-9.e*Olh2=5*ństãa~*m-JzM2rFY6kp/Zꪐpq~b&f(r,8rE)*W)U4U+r%zl(TYɖL,[ҧ"[ҧll|b ^-Ir hw)E½0 )z$< PߩWvb\ LYC x^|YdH \=3÷RVIu3m`<ŇiW%C>L5g +F:;8&+wY4{Y?b _?|^
@@ -849,12 +845,14 @@ xڽ$-߯V70Xf{
LI?̝~9ѵXJ=rMg[Jhc; 8in솥S9׻@ׅ-$LN0Ey]J;Ghg8p'3?B03&
E{fA2V6 84
"{˗w.պ'Zƺљ.RnvOc.P%ѕXbs)%8WR@# 6{Ѕ ĕLiޢx~;[I4Vx70D- ӜX fqK^/U 4
-E0Ur$ @{=xq"f`0!8-FfB4d]sEBTL~VEB"$Z-Vdݢ AG?>u!zV%k)B? =72-"m6~%5;J}t 4tEj';Nq4gmx|Ztbsξ"S$4EQ~L+,O;9Ǵ[f)׎aGiy s}}ܕd~fqH=>g0
-s.JM.Omj@/ӵ%r~!KG-1zVatzS<V
-kB=٩ZMj\pօwRRzT{_5n:Dm ء5n\m򰰙x-U&vt踀'9<\wu]HeT!g_-Fm6F赨ESf> GԻ3ً{F(h;6N#VE^۱6dxU3p2 up.tOqf)*M`m߉%s
-=frvW5wY+*Z]׮F%ޏEi69:&T^+FrV*xPNP. m`7OV>^,U=̾j{YHh _PCPqģb6So()@X~cx+N\@hq?vmH-3e?9TpVEJJO :KrJp''%⒦j 0T4%7Jm+{V\-Sp!SJC}ڏQ<%n0 hj 2m*źYa` K`v"sX-Ø3_[n =)ݩN
-QN䗓L+]_.?E[y,c蜟݆A;cesCNhG;츼onHcbĩm=gJO=b`_CV2cZp-g}"1TҸr}
-8coM,i.OɔԂݡd04k
+E0Ur$ @{=xq"f`0!8-FfB4d]sEBTL~VEB"$Z-Vdݢ AG?>u!zV%k)B? =72-"m6~%5;J}t 4tEj';Nq4gmx|Ztbsξ"S$4EQ~L+,O;9Ǵ[f)׎aGiy s}}ܕd~֊3]JM!G2nQDaXRڴ˪ jﰈPZ1i9!HX5Eؑ TJva}hJ\O(q9@w zX䑔Dש-=UGqIԽm.$;/qc%2,ɷ4n+OV$`0ZyF"a҃*ѿ{#H1jw[z|Ƶ5;=\źfB$ѓfHc7A3An&<>
+]7Pʾ$ShY
+JzױɄ;dN8YLB6+"v%WCPBaڥ"zH7$:9.'RDŽ׫]mR
+QeYɴK4H*ʤ3D'ԋ WR~/Kʵ!tH*RzZbNmX$IXr o9ީB p$ 5w:-nf;
+6E 2wBiZ)J+=1`,ɱk)]gKޫhR\Q|xĭo[qLuaLY3 i?FіpY
+'MeҘ/Q\[%&@Olћ{C'+B:9ǵM>>F,CGFwj)!g ~ P8כ/((ݡ^;z0]/%~ [/d@FvcF2iYrֿk,l
+('vS/ŔYX}i|oC5+(P{5
+ƕp2VǠڵI:`ײ;,~- f[]]:%zlW]%͔k͕E'Z]{Ec*da{/>w4}%h"Z;D
endstream
endobj
437 0 obj
@@ -897,26 +895,28 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F55 383 0 R /F67 389 0 R /F66 388 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
447 0 obj
-<< /Filter /FlateDecode /Length 4700 >>
-stream
-xˎ7hDi'@ķEN^$ x䲿R{ƓdV%*OL|OI3o^gNƍ>q')%^Q4R>8hs-
-y!b[KKpD39 Y?[Jo'ōsx#W -ZxdNF]’aJ2PI(|xQJ%AeF'̱n⧟>>ăOH͌'4 $DUGWDw)WdnxE0H04
-Mi:҉ ͸9(Py,K_>2/&77!Tז}(GvI7puHmIm bܪg73곍
-Fr:7f5m_il汇זֵLXbЋ?U~7:<drBp\9zIjIft/y)j:QeF@SC`ƪZ.%<JN֐&t n1$*!`W"~W [A],] ֽ564{uKg-b8d#0 We?i[ ^֤H0|lҰ[ dddU fZ(!h&[iKSt|gۅd%M.Q.Qu.+|]C;ϴ5-doiR$ m@,y+OV3i^%(J=Lœewq"aퟎ{
-JP\J靴 0.Q18':^@v 1!L^( Y2ĪeF=s^{UG#
-%*:@reyUe CzjEA<EZOIn<# QCL|;lw9OeGC}j`V
-q{{e4D{ƧNgv~>daNO롲Ge/M
-*G =g0^DTO˾2ޥ"e Q܍z)mzzǥj/c)餢x$]&H:G0tt0L@'kފnL3ctIFaL+ h?5y-PeK;2JD1gF6̊MyH܍y&Us}[,Dk8F'Tpäk-케@gq[-apd-UhB FnUEE+9-MP./-0d9 kJڨvcwh)O5&zRJ3K& wn55Y,
-{SP+ WXjVn'>wܷEE0- R_m$QؖJ[ A}.\ *%޷VYeZPWx`XlbԥE,"JoV/WX`YɋqSX5L1W;g$ yO5f x)&aNZ+IN>$OsW4縗%q溽|61WE5f2Oۼ0?F
-ttˆm6O3,yܚ)|8n&)P[-|XZRfno2m'jcX/̌Hoرe'`h)PIϫ"!j4N(|b |)<l$Vo6b4 \X{A3h<Nyi,+608XLvvJOgXg YRGf{dՆ4r0PmGb09{^-5& ߇-o 3E]<0RMQEכqpwśL0jMįܬo"Lh).M6-=m34̙hgz p.SK+GJ+MsbD%
-;vnqIđpy3y80by#6(P
--:ЪS)*p!u߷2sIwBT[Uw1>J aT7W+ځ8/+q|;OݻC62;Yʽ`1U
-@vF],q[MڷA&0\s9wLilicl=/߬(is^|mڃrvd&
-X}jqƞ)gM Y=Dww+k^Sov5U9 t?/Tb0ˉ͛pst]}Wa׫
-]ck~\)](VW/mFneK1> ]ݫ\\)+>Ha`cb_x+oxonP{7?d ~ ~3 }ld|[A}
-L͝Nֈ񼱫 qqbko.>'^YL~ܴV^<(fNj{Ļ^U,ۏ7 qЏ3͞=nحL|Ò9+ԇGlxjχaʏ-jKe7騬mk黸B>7,ʜ}n.A7Vw]Y3';n+r3[Wz}V£a;>jzyfˁP8QN;ZEEd`lNТ>_.mئ3raun^2n2 uN$ڵdW<J{خzm+ۖiZ\m+q@ f_q/%`U HW55se>é<Hj%/4WܱqN Wk\wz>D_7YOh#+Lpk$wOD]0a;KbJq X3`u"ZPuX{@`z;`kM=
-+b# ɇQ:/$_h;|\aQk%mzHm%ގm}R u͞B6{
-4rTq R`#*1w Sqfn^=~),v-Do%c3gbƬvDʹ}=H62985 {QI
+<< /Filter /FlateDecode /Length 4698 >>
+stream
+xˎhEY`so6 {[wx@ [ERIQo~x˻?< =y 5};$&뙴5q#/ߦ?=qn
+XB'RG .^6CQA\M W;<aБ a|
+i,k(W.uKPn
+T*s'PӉ$HNO-6`,8{$|\2{R:C$QD ж@6նCچ2ᬹ:$E!V2k1E <[oT?dzJeRDe8uȨdFǖlD;ӷ~a^p0uXa(ԋWQ F%/7c\j켢%^IgG'B$Sp{[rN}O/!_Ӻ,rϢ>c'M:w nΉ0vӝ @w4PMkifS #&iޥo&09{?IiyeeFE^-$>0&8duo+%%{ZR"̇&^[
+硄SO'黯4Ṻ'ʅd˙FMTK<KjeƲ|u&ZߦHUc?ka;C
+5xDzE!\MC o_ݰHYO KE=Ca·cKZøe_,VJM#8&{TH(MIZ0Hf. f»fΟ]8C`;.`$p`Š.Xu.Wu=jsu"[KdC=м+s!i^͓y kDg6"S9P}xaL1]GN/QY,w=0nۻLh-?LF47x _oԱB >2, }@$ e
+K@H{|Bnp{XL'[Dnpߧr6/R3MSL6B-37ϔQFNȥBv㶢4~I˜@(ѹItC"+ݴzcB(8"%|mۀaX&.M!s3UKWjyUm.)Q{-$W
+_<J ~ArH2+(ѿLef+I#`19{P,c΃sQLPZ28z1^8<&8,4h@
+}}Yrf̞Jzs߹"`f:
+Svb&v lҙM7)3(׮tR1g<mG9BI\QT96tސ 9^9O#@#Xn^Sz-fwdJUhӥB24.Yn+U7E<ٔ=-) M2P3-909Kv=1[ԔL=)E |GVT'Z
+QTE\ F7y #jjB74Xƃϰ(bԧ[𕅚Rg~Nϫ!yc)R9 @: DtFlE1QKeT~ `@zǎE<@!N\
+(`HNcX'*&1ǑFasLP/F}ۑ*.y133ݗ̢+R: 쀩";>E]e;[疂܋ܽj]NplzE6ԋ-]|hٍP|*@nK̸1axIśLP. >H"(TSDѕj<2% YXuo
+&zՕ̴Ey3[+
+;KJikw:ǧrU,_i*WW!vcOuZY=.LhMh\3BR7L^F/~HioK+}ئ`(@.Hj= PbKu${4Pwq" %i='9l52
+;%ʫSzڱku5I^,9JX`u<J {uKQTXfdSX ,;цe:I]. @݂r.)`n"}Bt+kÞ߯=n.rT[07U{>ψ⤥'1U--Mƣ
+.]epj掺5
+
+;B'+_|<?ѹ2H,>46.tf/c䮸QyОN_Ś
+%XfJ%X^y
+jK:&R}{>VճֱTdW+aHɧQJO=JtYRk%ԴmzH[rMG~DTC>kb՞@ @⾫*y%W&kC MǗĖВm?EjύEHh/l4g 3t7^G97{4 Iՙ(rܰ2T2`+r6V_uiXh QEKs R: #=a<2ۍ8\Tey+EPY3m  h3X´"}YOf BMzZ$tjD+xOx1"݊baOdsf]^&ޝə*Az^k屧EJhV;#AR|0}Z{V-ڎÃ(4Z1C}}E1H9<5K_'w
endstream
endobj
446 0 obj
@@ -932,22 +932,22 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.837 758.022 505.811 769.081 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 372.135 516.902 384.091 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 372.415 516.902 384.37 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 360.18 121.881 372.135 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 360.46 121.881 372.415 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.148 67.379 131.873 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 67.379 93.099 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
444 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.594 67.379 154.568 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 108.82 67.379 115.794 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
448 0 obj
<< /D [ 446 0 R /XYZ 78.37 808.885 null ] >>
endobj
25 0 obj
-<< /D [ 446 0 R /XYZ 79.37 494.583 null ] >>
+<< /D [ 446 0 R /XYZ 79.37 495.051 null ] >>
endobj
29 0 obj
<< /D [ 446 0 R /XYZ 79.37 138.034 null ] >>
@@ -987,33 +987,27 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F74 423 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
456 0 obj
-<< /Filter /FlateDecode /Length 4444 >>
+<< /Filter /FlateDecode /Length 4276 >>
stream
-x]ˮ6+.0
+x]ˮ6+.0
+F*Ԋð[4%^O',q:L]\0OMҟ>_~yKz}T~~맟KK?~&~c|DY}'KvRJױk¹9>KC(;',uyWf yB}b aA`e1g1p J0x?`Yfa
YA_̡/AXR
C0A`lžA2E@G8L/6 ;#$Q
BK F6vW;cPDf#*xhnAy%)vp<)<nG[0<Lq1
Q;ฯ4ϛ3<Kw X™|I@
-CD<cwH(<"=AS,1pf[]f? ɷ v"LjUBWYI1$ 4k' إ{N GM8 xAYm}MHPBQ}@ۑ f 8qd&׽Y}HPsW$C%oO=?O|zoaavPB$¶5h#a3nۂ焂EBS,n 1{S-.`&bQ MI/G)"ԔY(KBS*}Eݻ'!sW=ePOM#}C}FM!=3d;Ѥ<B,9.BZ(6?!:wsa&xw]wZ Z]*T |mDZik`L@>V{.T +No;X{*[ -7J2Z[C jw*[i$,?8l-;0u$D`;;VkD[!"۬ v
-6ۤj%kHo>cYNs}ǭx⠕z&06{XJX_ )TD .~g><~k+LnڗϹk~uMqm؉R\~^/7b2
-+>. :""@Z9Ӈ7qJ|pCWNCҷIT-Ə/yrąnyѰdz
-Clj]!tm>Ft,
-t
-q_ "C>¡i{
-A2AYH
-GM J0M0R8 1# R8L1x8x.'$>a?Io
-Y|n
-Y|OpMY*4Iw(,ap<G4%O@r(mEBgZ#m!':@lEgp;oš7T?KuVIסyA%:1y8ǁiz
->}@qDh 2(D
-M1u8ʷy('p{<
-Bs'pŸyp%z=љQ^bp<y(Ǡ;yI$1 p<ϣ)4=t| ǁiz
-:YP(T
-MOPAz8O[z>I=4?0ϣ0(4x1&8P2MA'{(7<H@6x(G!Rhz : T@4=,(y*KpŸ|O=Ý=[lI*돵r<KU$^9*LH_'!Cbp7bp_;nx7ׯa<T bS1|OЧbXU)%p&8N0fu$Tu)-̲0
-O
-3N݄uR݀RHq(} Rik841JeMjk-
-;o.do&'ڏ؇1#߮YdT _G9uϋߓ6e^l"jݒ3(]ew5HR#v]6 OgUCGtHLDYѳsPYU:_2Qǵ]Wr*`o4d;i7-a֭j.¢GmĎUD1*QKW5c{Al#7V3>s5@
-ć[FQvz%%>lqM<)YU!yx-s8_Y#]j2R WTE^5MH1g0 q8, dž8K黅8̅_!Y('9t5YB@xM _p(ҽsP#VDxI4ceU)FE10m.kƤWWѬWAk3k3S bZ .Bɤ'\mg)iQa.)*qST&&in߮Ѡ!7rT) ~ C7 sh`2>tp`cYu?W"f~)_
-Xڠa7uѤfK^猱3
+CD<cwH(<"=AS,1pfV~oA(D2-Q{:cH!iJNfK,nԛqdڊ
+ؑ$ (> G6nGBg䧮j7x$z!g\^f<6#AIPLZ]l_<,a>h?959=QA bxhnGv[8P^%θm Zj
+ M%dǔOKҺhi皈EG-T?
+Mv5^U ?Az?5egq7pT{8D\ dokL,͵~5Ϊu̟w~4iǦj58j F
+b4;hwS-¦1 XS-׮81}OX`l)20(yjѮn 
+sm_Ok<~y-W[_sL{}(-ۙQ\bW+32>m2_^L~ݜ?)_}[x3J.ўoِW܏{'m{| *s07n߯[V;865|9>y쥾ٙ_5^© %_ $V,NW p KYs=:и!KJ4=CH \
+,|$Cp@bpa@)D{)<R
+
+Yan CI7,>a7,pǦQ,Cn$MiA08aɣmE'S96"! 3-Afs؀6L N 6"AI3EAt8 ʝ7PKpŸ:+C$T< yƘ<@4=>8H"QOay":@[<LAu8 ʽyJ鹓u8O<o8OM(
+M/18a<LcPʍ<$l 8QX: T@4=,(y*'s='dBS-z=Q^bp<y(Ǡ=yI$ dp<ϣ)4=*߂qdOp{<
+Bs%{8O'{N-g$Zn9%Ībwfq/|T MՃ}iݐR1R17YN0?M*W1bS1êA8Xejc|:*`ԌzϏfYfZ;'39a6J̯PDykq6\i <n~kjފx>Vs`:!HA}tGi=<,HRR,
+*rMW$V%,շ<TzO´%^>ߒd9HJ*5Y,4Z{0ˉ+=h{DAW٦jwpwɆr:ڡ1C />~HӠgIO`kUXO~U=/-O6S5YU[.QlEH^Ԙqmt:`i⠳6sˌ#2rOzkrZXH eyTn S0)W5gWz3mD_GH
+ csIZ;Xqx3.\4Y6 ͟P<ǭĻp( F{jJ+k1ևi-nIȔ"]>nu.G@7ğaHVZstTU8UE^53%ݡ]3(,.F'נr:3gdMpYmJnQ1ʈzuG4<D3Vu6=2\co6|*J8C6ٱ iY')1r=(L~՚\=dPJKlxxk7x/:ehYI7ə ұnT KƛMe%`m
endstream
endobj
455 0 obj
@@ -1026,23 +1020,25 @@ endobj
<< /D [ 455 0 R /XYZ 79.37 334.862 null ] >>
endobj
454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F66 388 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
460 0 obj
-<< /Filter /FlateDecode /Length 3145 >>
-stream
-x]KoW!X|
-
-1?1F&Chd_+4L46}VlhS2:_&ɍ.: t)tugOm{L6=$wF#elTi<
-Յ3w箉J֗/|-aAɯJlLʯ? BV+e'ޒsBzp!Ma;gPĒ9 vq4 r{x24m .v=W&f
-[ VQ&g/|ٵGOޭ2}Ap?105$^*s#=L0de3:,CBw,L q=@cEs۷-5Z7`uQSX,O#%RpJ] tH
-^ AKt%#@Gżt/.5aQ1D&Φy ť3<Jw^KaQg9B78{aB~Q9Os"rZ&/]0G 0?B(0Ga|0i*ONE@G v J(]HG"QȻ2w"RHE: PHZA:2g[v%Ê
-g`'Q4)z?
-h'* Þ:%XA=Xc Pq`q`?Q=<uhoRͰt4=`-Ɲ:ZoC nU:֡1yu蘂XV |mGY'ӇuTkXF{:&5CނC:*5,Bvb|N]D[F*cKa,XG!t[:2֡9PwacKG:?<]ۉunRwlXF-^t:֡A
-!xrBq}O_ @ܕ0h>b^8@3} Gżr`Nc] P> b^oН{x;#􂱻_pT:@" ؉p.RuHj`gѪBݍpT##S޽
-g]+-<_FiI/,̚iB>֍OBR4Tq 9rcMc*'o<9/쌄<'
-r4լ(2mf*%J:kCNoL; Dza$Tk% l,$ק԰S+0&ޱL >ME* jVVF
-ЬY46s ɹޗۦV{RGϲ\(߀v%ه ü`&[?5S'‰D63$Q}*XNÒF[x6$Ҥ6{ϙr#bܹ$12s<]9 J3w N'$Z)WO"%r4\!7%u>fzyѴ)ʿ7|) ;O\l|V2~ߨdO O_=3
+<< /Filter /FlateDecode /Length 3138 >>
+stream
+x]KoW!X|
+Յ3we wż&SKXP}+fa7}ot0A+ax`\p9p0hH19sFdN eBl\wcxZ{]Qe @ 묤zR yD)ztRe
+>Ŏ1؛?v 2v9E,N~?9M.䅺XqՊm~ez_ P28ʟ~"/;5G`.`!
+nw^ x9;@ EwB}r:k羯p=ppvf̼-v-5砻x@}w3L95gZȞA]xTHI)tp0O_ss>V<͑Ǘ ovLJblYO
+DL>^k0[e~bn0c:H&p Tx'Fz0`Zdgu.Y
+.Xz:}ヷo[X j c9߀.gLyb%߇dL>(KJ] tL
+o8i+4ĥN{uM
+^ IKt%#@Gżt/.5aQ1D&Φy ť3<Jw^KaQg9Bƽ0G!tt'9 rZ&/]0G 0?F!f'QaJ+aT9
+Jgҁ?Af'QJE:weD:H ݋t jҡtH3d"j%·'Jb畅N(iJ~NT&/tc%X=uKxzZ:T֡::~<zyah{:[;uzOU H},@b\x}uCcB^бձ@bp%#O먘װ(ztLkH湽݇tTkX&'"*U\:Tǖ:B,XG!t[:2֡9PwacKG:?<]ۉunRwlXF-^t:֡A
+!xrBq}O_ @ܕ0h>b^8@3} Gżr`Nc] P> b^oН{x;#D?ZU/B8*np D8
+uQ:vs$5hUF8*u‘)^#Sߘ4F7K½?ZUJ7we>r[9mi/sPڹ#*/:rTF1zql80805ю#Q=Ì#*xBv@[82@gylã YLy:L!T$VUڍw6bq%aTuxr4L\߲N8SF}L9<S|nȚ$>3.柒BblZB[9^$He4Υ ּxV)>[g ik/4`fM4K'! JX‰cƅÚL9籦17QK-;#!I@5G$E#]*y0vtTu3s:5)TD<k]TeWTD+Uܷ\F5i#r`Auށ&wyH⪯A/}CӨ`SJ~@RM5ki2mf*J:kCNoL;
+
+Dza$Tk%
+l,$קmaXxa*gn0iU4k #92ްorr*'A, >ծ} 0=a֏zrjX81D?͑ry&$}]շRˉ{Xhk92W4Fx9S?q)wy:.+N-c2Gdܕȭ Bjk|Xt=%'Jzjw->L?BDuaN,!/16E/Zx<Ua7*ӂ׻7
endstream
endobj
459 0 obj
@@ -1113,7 +1109,7 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F23 379 0 R /F20 382 0 R /F66 388 0 R /F78 469 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
478 0 obj
-<< /Filter /FlateDecode /Length 4233 >>
+<< /Filter /FlateDecode /Length 4234 >>
stream
xˮ[m?`q<0]`VStm
~%J:XM.k#Q$ER?O酗//?݄9/^8;9+Wε}*ɹo5?8ƥX
@@ -1131,12 +1127,10 @@ AW`
17] 3@s ZI+lHfXhejI3apױE^Ό[~LfM_^a-9pa$Xpp*R9og-MmN r8:Dy,n6;_M>xK>@"kwPޠ4hUTI(¥(--E1^s)r$XNkcmZWdNHRZlGr#OFt>Uw,r`%$,/Ojx`#^@LTDR]jհ:8WuhI0/~tL[ͲC}\qMlo wPKT ifo5[g{<i -ERKRȧR.Ib54;.C=@O9$zJ,cUd9utݓl>' 쾦=YpD0-ȟ&>u+;0:Uz"sf'E`K{+$zшÊư;NVۓ \ ېÀ߽eNzB`looobBٝ' t˾K)ֺᨊ
c{{qzFwlm9 {1c0(&Gj; 4<Qku9➣7Dd=׆ zKF+MQ)rR=uÑWzg=bSd5EK$\L)
͖Ou2)"b< oyly頡Ebx:}rXЌR| MFCMTcOLNAaŭ.;5J DZK
-6 .t
-Rbƀ2MA#XDyS|ӁV6vd(1Ѡ>='1p ;? m4U_>V[ljHL'S'#T,q[ejpMśNpqlgpoD}$lsbhj+`cEmj"&`hsN.\Omg`{nf2\Ba5ZR
-g
-J2#WPU?GJ!"m#NE.[ڭ戂7 0#+ '1^1%z$MqLvPr 떌6CnǺ%pv|!̣P&7 T}t6JD`
-Qx;Us:,Nhѣnz U.Bʯ~)Jqқ?iQT,waalq{5L8BJSk93'OuUJTl=fѧ͝{fnD
-{F9}5zw|ޞaOlЀGx; xT|ךd!p2 >{PbQFo-um"S^L}%.PqkM/T
+6 .t
+$}\C,x|@- >0}*$xMte\ F"zpIS)Ԍ\r2(aܧI?+% xYݼgGV#eg4mߴ}_H E\>Z-Ɔ05c}R* y=QJ뢣][{
+*y1(gd#AYs|17h˫o Jw O8 \2,_P~gכ $XPKF?- ;Ɲ-*]ʛ >y Ǭ2Ë,(HOYS&-^V 8j`XgvEcyKݞeHi[ݓD=;pNswY ><
+36V*ƊJ:E8Lv!dc]6DT d橅jB6t樊 !hXI~=ȆH@BCjHER6gZ 8IT+dFtU5\yC8E*:;m5G7\<8[A{o a<wo1FW*N* cS-bJ<81H@6r;-m܎uKh(ֿPCNG)Lqovrl.v2CuXY!ТGnm,9. s9]̅_R7qҢX26jnqzTrfOnꪔ S{AO뭛;̜݈
endstream
endobj
477 0 obj
@@ -1169,147 +1163,142 @@ endobj
476 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F66 388 0 R /F58 386 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-490 0 obj
-<< /Filter /FlateDecode /Length 6075 >>
-stream
-x=˒$:J~DtLXV+B{[7O޵û/ >@b=S
-!wfĶ^O~*t%D}4kx_2D{*~w+q|>Wav$ԒYkVhLnt}3U7!%\t7k0 iFJDv8˜\w9R2"/?K$EIx
-g FhO-`]9߱/ܶ /%S#J[_&.>⦧/YWYG֧ȫFWڂdIF3}u?ؤ̉@@R:.6[a^r7Ɨ.5 -|*|[][*WԸ|xbYpjJ;]Lfȑq3g*w\VW4hڈ$.Ru5H4dW <J <*B&l[dO!wΝZpp?(/q8'zɆmpT =(IOmFX2NݎP2ȥwy&jZO<ڦdMh |_ˮ
-98ЅЌ/jnRjW~Fh'3 ''zqSSAq&^
-m]`"*WY 9AwZ׫:O
-õM?^o \};k<`>r?bw^eX^1a LqO[" oȂ
-.\*a‹3e4d:7+% G%S^W 9w1LjaZIQ38B'Ui7P @{]/G(@sǤ@w-֟ʪi x'ڔn_9f#x'ޔ^7H7gNx)||Nv!N|)
-vtVԁL[<Z1:0Y2vytmm[hMƒh܎_ض#|ΤƟSWPWzӟ4)zmsàͷ=}G|vuWΕx\5+kleL\Z~GyۧƝ3t")QQ:YLLr*R2pK;ҌnO0q3wA-D
--(&TEBUIZIX`YJ7fJ_v5`NjM9Μ[d
- Z 7}N0˘:Ʒf:"薹Fw샵3az8p+Ɔ0Ҿq<*Z{?vgs9dvl\M0"-I稣78]M00eJ%v[
-H.TC2~&ϭ5PS|8t\&{IFrFǒlAS:lZZQdN%"d31\gbZ1)7}H%J#m#rEU$ Jb^b.YE5]:ڝ[pLJuiij"IêٗVs0CE,+EȋSh5f<ON!g_HH2f:z>o]+D *rqR!|T֌M zPOl<ؿM=mVO3l65577oۢ"f#bF" 5a/s}6Ry}ֻ ˄@O+ c78xud&)v:H|= z~H μR AϪ-;VB$90\^瞴Ҹb VJ[fE+(weq8_v':yģLfS+fk_ܭV뙇ܤ|PY&o[kk~>fIBdkX0'"??g W܇FN43g)o1Zp VGѯ=r"[`ޚ#Y}Qc;z<7|ìDXH=>*鹝1]Y7)g tbFr7+p"*\{bXy@p'`ō9 <.B7Ζf\i\>qܙW2q@Ȣ V5simaZ9;5h>m:J" +qB@/׆eFa~3Wis<Tr9Zq ~x.mWp;Fyb%66vrs?r/+p_#ޮ&.Zݻ˽'C;N]*iߕmҼE:.V BHx&a |޾k>숔u,Ԃ^vCFZ3ޕ-1LރrXk%i;I[Ҷwy*Yo9Xc6$g2Fak
-/rw,˩N&n4r<bN4`G"ZTG'̩i.9qqGSAZu78S~L*nM Ut{i۟ӝIi<XCCFJ4Ö.HKkl}~tb`A B' j素;o p?Ҽ9L3Hmf*O[٘-bgXZ-JX"'R l)N:.e;Mb2Ot. b)U]5ᜏƊ涥$SޔG)D-x4$}OpZLNBf?Zø#5d#tݒ(N .xgY0 ʷDINVrt0>AΥlCA吽\RUW]ڄXg?T8m.N &#%WROy moy~wMLUPͥģ7Jwka{2^k9J
-MZ)gzee-Z<{M5W,r{MUOfV x{XVvFZa{CŁ,MɭOCaH1b*YHjLVP
-?P?`w•{t:aSTήӞMłV+f)Nj4^LN@
-y2$ˣVe)(떤ow~vnj 0KKLJ94#wO/nVaŨUQÙUäamw[2HsfX_JT,[v t+N = [L"K 6A_!zcO/yM$)=/yk$LLO
-6A9!}A3y "7ܑS,dE]j6 wu:mnMZ{S[: 9'^ou\6Lֻ8i|>:8V8'Ҕ|pR$ @Bqj
- >D2%RO
-/}a^yp}x:(:Ru
-3=cϜ
-z<s
-(
-:)@O+ؐ#9eH/fcN:G)02Ϝ0L`@x3 &:;
-/
-ooQ.•Jܓ
-/
-oTJ)V)R5O{G|"PW+gwnqW8;`25@i)7&_Wm[ܬE
-yZ;5L,Qj]<D{m_Vm䊲Ƶ᎟ڊGE9ɢVpڱHJe<zmcRX.N(+װU {8IV̞rN*yҰdgU/iANs^úwY3qYbjA$qZ`B0G\p1p%*
-^+<T-oUߕKkA |Wi*j ~_.i0
-_[
-`| xg}2iLJu-ysL-w{iRJ~W.׬~^C:^ޓWTUsX5#yORԱ›k1ے7'.͘8^Ngہ0Mx%Eမ2>UbiʮM.)O|){"ߕLzbē_b8gUBJߪft9Dy HoҝzHBuƓoFջxNvdxCÄѝWiz𮓀h|ƐRMcJuG,d?(0U= gdRF{v\?pGkw2Ճ6 g@+_Ԝ:f5cM;衮 =J5|-Fc3Sʧ8᧻nku: ri
-U=;x=&g/gK,Tig)XXHѫ [/h/~h4t c+Ukmǭ+' +ah
-8dZYz3lX r GG>d'r6t'<7(EL:僪d\USv1 _(3<p )瑹ket_@0dW*c6(˳+'^׾p PE|VHcjENe4)r3C@'i9ėrVvQ|d6G7A
+488 0 obj
+<< /Filter /FlateDecode /Length 5799 >>
+stream
+x]Ko$9rWqP lWk4$o{X>`{emzd$3>*+||]}yE#Ns-/_za0]|Ra)U?㗟 \1NQUXO~ O'^/9R_'t?0Dk5Q(#7ڍqN8e>[1e
+sjtߔhbBv8pI3ߞ fq G zj j35V{[|cͣl% 
+36~ϑv66yIxbhmP˲hh#M_s]7 :BU.h{䓂jKj8/vi1dyOM5M֛gyzQvniVu.Q6w {aUBMDȾ53T0K*dt.`+yIJ/q3m,$E46qСN.6~kv9:y̼tuGpAHjQ*\{ZSb tl6p0q-ɼ[ICXn@4G٤H4}.ZަbKxT!y!ݹ;t$ F{
+Wk?9+p\}p0[a8FLLžo5c_ &{@RC8?Qw5VBiyXQN/ Qt3y\Q/WDWGNy|O|Lw.a}?wU_! kah&ʚ3a~0_LFH<d
+cfQ}7|`K=GF]Q~?)aB˔)X43s\R=Frp .z2T7L韃Endڗ2~= pot?GV 0sڧ*bN1fN7Za?f U8aM
+ȷ*!N -1\GpkO~WuEeD{ t}'.&:@i*ze_{0:3̺$u޻Ey֩h)8KG̒b֢Yީ*ofE9ީl{b\XpCP\R޴<(];8twyxvx]y.k3҄n 9`vFk|õ(#pMg[ 9v", Lntpм☂6s+ہe:n q"& ؚP0hNZE|aQKsoC*(׸*~L [5TK9)RG+Gh[A3h% e<Q?6|3&f2Ϧl5$ʱJ\mlԄST2{uThB|1 !clDo-(j89/@SE`lh"q3UT쪋F|}t#Sƍwig0~ %vܩ-9-QAUy , g8fC`"q>90MKp/[mYԦG۳ *
+BRx ؒ3J"T#'cxqwKoܷ
+
+VB饼)PwaFm7-MgoAy7֓g갋mo=G{o7
+(i޲z1)$҂Q]XZb!4PJ_ZKb
+ dL^R|T~ q~]Z\HU]י³|khXfda[ŷmQmg~OB/虗1 yyz>ֱô]żG`|:eO~n54Tme yWlrgJi*rgfLTX
+n5v9LkKYo>YV`P x/] {NP@D(b<=39Ӕ!F-yxP$z1%$2[-s*
+]'S
+L)\DIXJfv&n%St- vG2~T5.%#DI|UBJQVCz (s 7r̕ne
+Mޚ|*O~9dTD Y_hv'^mՎޮRG0q >0]t$G }kg3qR5lM`>uyԧvB]iF4ڨIo3?̓Ny<i78l}IisϪaި/QVv{pAfcs]H09s⛴ `Ćf"
+fi
+o3pHZ0bboQB`x oN$c,ܒu:SoVya
+qU[ 0w5giʪ"f9IwrK3J,;8i7gLL{i
+h"
+/AJbª[RҬtJ Z8ȳ&8ںsh&q?gG14赖}G
+^ )M!ߢa XmQ5ZB4q$7q̶ڷgA>6چ^
+-H¿׶>~m*߾6OB.fKc⇮QH
+@6w,IE/SfJ6Զu!YjvMY ?E>ywsϥx4
+Oً567j,;d(l!G
+4`Z^;ǒe' U&i^д*O4hOh?Ge#x}*)}JίTD:ݶ_/F^[jj~1ԒKG'4FE!0*V/1q*2%ls^(@$?ƭH"̿TetYA*%M
+ YĿȺd wJ -+j%%IiBݮ`m^(Op_vdZ~,E+QPsg:  w[5!旃+~mY ݸǦE튌-|+xmq1${Ie8okءu4v߶}մ[v&oJ|<9#e.y5U/˺"gG8;r4\SGN`/[EooJ&TJ]b՜++v;oYnKHdWA8t89g~n9? /Vrx3Y][]ygئڵycw@TB)/IJ"^sVvu6ȢgtSvX;Q)O5d; fIь-W.Ae 籗ы0T)w' ubŬ5uNIмcB;Y6bCnl|XiKtavu?3
endstream
endobj
-489 0 obj
-<< /Type /Page /Contents 490 0 R /Resources 488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 493 0 R >>
+487 0 obj
+<< /Type /Page /Contents 488 0 R /Resources 486 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 491 0 R >>
endobj
-493 0 obj
+491 0 obj
[ 482 0 R 483 0 R 484 0 R 485 0 R ]
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.048 409.803 475.754 420.861 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.048 271.858 475.754 282.916 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.475 409.803 503.43 420.861 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.475 271.858 503.43 282.916 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.202 366.077 176.157 376.916 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.202 224.147 176.157 234.986 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.601 67.014 169.058 78.471 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.601 81.696 169.058 93.153 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-491 0 obj
-<< /D [ 489 0 R /XYZ 78.37 808.885 null ] >>
+489 0 obj
+<< /D [ 487 0 R /XYZ 78.37 808.885 null ] >>
endobj
69 0 obj
-<< /D [ 489 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 487 0 R /XYZ 79.37 771.024 null ] >>
endobj
73 0 obj
-<< /D [ 489 0 R /XYZ 79.37 623.965 null ] >>
+<< /D [ 487 0 R /XYZ 79.37 499.967 null ] >>
endobj
77 0 obj
-<< /D [ 489 0 R /XYZ 79.37 353.976 null ] >>
+<< /D [ 487 0 R /XYZ 79.37 211.188 null ] >>
endobj
-488 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 388 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F16 367 0 R /F57 385 0 R /F55 383 0 R /F26 404 0 R /F45 390 0 R /F40 391 0 R /F33 492 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+486 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 388 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F16 367 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F33 490 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
498 0 obj
-<< /Filter /FlateDecode /Length 5225 >>
-stream
-x]K$ ϯ}hY0X`gc9-7{;ON}HzǝE3ݭ&)EH1_>=|\|A'6Gfj6}mR(/).BPh.q~aRxTAobOA<I&iFHD)"r.#V^}g`1N,2\# CۋMmDkJT2"z|}*x>π:J'1h~_5}%ƥD.]!V:p<ؽW
->֎+' R*AT0+\S&*PŷZZhE%FZBp`bjzE#+>S;3[*(*|g8S0jVI. Ā4'nƽ_qM"^+~gO瘏*͒K3Nk"#o~FDko7žM4jU=7
-w^Nǿ$ )6y;C%iN$=15%p UALc) ik r$ozFO۷/VSn^ݞu4wV%%B?nv 3Mk=_z8q6KSvOU}ð.T~̗DIQGS"˙("XP)w'j$>Mpyczq*QUOxU uu E#t 7?6I*qmt1L+-!uDk Rc:"DշF\8{%jvzaqM0 Ra "8A ԛμA "8əgͼa.}otV-Eq+Gvo 7f4EHWq 0}G1 RƠcG?6$a zQGhaǞǍ]F<.RG}krqJ̨v.Cn^vOȨ-}9C
-@K߫
-,\{3fo:S"!8&;XA8L_|·8lE֫dL+;^%;L!˟H !J8(5}Nle]+Crs>Z+3*D|Fx&AًNoXZ\cqҽ`M*وNC|֋!r9tH6!hs:j*],Rb&6|#WE1_M8TQdcKJV5:]
-Zi뉌!mZBS,/<MŊo9Pƥ%:cwVʾ!VΠc}-KePET*b!+hS[,a oaҧ.>ULE+ϩ,KM<aƒ#|MGL~$7"_jl7|5aǸәlτ2E6K0#%+hfyjK M_Lٖpʶz7*l<s5zK1NuAzŭpMi-,}^4Cm6|ֿpQj?oR6M ͬ gU- ް\F+p`Y]Oy(K+<uv<J =UsXSXcX3kz `0
-VNpv8WQcށS_ 1Br۟
-_%j/Sޗ0U܄yS"0Ytq9qGz)lnboY/O`נc^YD/ Af\[X;+J`ߒ{[X<{KI TJG<Ɇ|tI!r֫dO*dFxp^7 iU RU[>Ż
-q:.Xr^lq&,).N-*,B>ͬ#Uz_j)ϳ釯.*r r
-C+!:-AT`o,LdeXn6)E8;'\w*(O9)}3ksXHݒh?5We
-B 㐶eytSSWNrq 1doCFc:S 4ׄ|~ȟG#s'on߼譩n\dc>]+O_i-u[Py}}_whdĔrF.&aQxaG_`?t/9D$FKfIg  e
-/rf(ŵ.s`[R.&^X %=Qjp2%'sQ?#쭚gu_)*zu2xZ{/ei-aUOh<B,@RYkRE0v\?5ϖz,՟MK_V @ Cic rfsȿF .{O(שEyDs,
-[ i33aK|=Z~;-!3?Ű~JQ.OK]I&juFeD>p"q "kEDe_^ìe?.`
-3j}y3bF>W}.p^{5'm{[.g= A
-o_@‰1yRx;jF>zDnd־6=(:fξ|DSı*:f7/񃭍O3502WWIC5B2"~NWJK{nN.y<,>۩z wsuÜ ϭ wsu5ϭW oanG3!3=Kֆ`m˅;^JHmw_omtBeWRt?@#`5QC5jPgvVÊ`x]xLK?5$Y/QKQv$)b母2͆Qb\!GT߷i'sn9&\o9@?E1"Zԉ XLXcCIbQmq(zn4 QhT_uTo|jxhV\Xʥt},HsL4d9#ډ 1j7j1n`nڬQSlc-4,iwdൄLqro }9mx;Ag`̬#j+&t:B?Wh]3sjyUK v*ФT/0r{Т5hU59j<;OQ0<ՅoOO 3Qw)-8Q˅Vrؚt=6[NKn8VUjB
-{IlN}RM| T]uЃCc
-.J:` >^sFarQf[8(}z² N1ӯC#иZ)r>UgVVXuӥ
-멩mSB/fU{r?^euyXO
-
+<< /Filter /FlateDecode /Length 5207 >>
+stream
+x]K>4,x 8M9$ 流d[-QY=bWɏУ'>~*X/'1[1}2Ĺs#>J;yrNjZ4.^JhZx F`s T퓠$ġX)9 _9Q#d隫H!24H)uxqHkT-?EHЃ2g_oNgˋa֨^|u ޯhen4u#MYTqq"E<INjRjF(m]BHXǬ
+8$q$ю9z/ `=gAt,fI'iD2lH QEҊ&zc굚m啒:v-OgѓΪPr_|jr*pX4HoLREPf]~#,˚`| FjG1rG%dƅccg/]'2Z2aS'+Qg >*]R\KZlilV,cic\V|/UQmqEnx *xUύ Lr3ˇO-b
+LVI%
+Sҡ4pϟ|Paw‰3Na |%z0cmNa `Q̕.b bb
+'-YL6Qo(MjgKh+0DN9Iz{{%ԁ_A}K 2΀
+-Ipe ը-39Qo1]0
+v]#[ +aO}~$YycxzOD=qIUw739RWMjfyuQꉝb!bܙDDiQ7 [ҌKa$c҇q.vVeKdWJLR1w&eK0QWV7a.q^
+k'MhQg9҅rX
+u%PIZ>+q+rݛ۵/P`,a0!$~R?.^5aZa?dXe*t>)CN}$5:)Ǐ%tSO4R fEQR11Ց[4--#)?,ʂȾb<rcì$TA5>V-0ۜ7\ՂZ,x=%iƕʈAX['jQ!RWuK`U4zR6©?=<fbE
+097T.Sgmӟ$gntvx-)}n;C(2:9
+URN C bW\#|&ᷪD4_35bIjU<A͕|uء
+0~%^V˪%\VlC,$7: `L87ޣf:ΦoRK͎PZ/RPLo(ǼRL3˷<މ0WRo)ԴZޛpbq:0qZybN^~ʀ8Q  3?^pY1U·Y*<o߱XF<=QoAWI
+_,F<(VG#~q ScLU:Sc]ŏa- u܊F ?W5i7kR)յL=kUYum ;-];
+dqƭMߪg)nG-S[[Vk [|-k;􋵍͟gavX8@9D4y%On$)~iğ nN<}r7
+hKnKv$mIOtʪJ*
+vMP](8f6`qİi:[ۜZyÀSk&ỳ+JnS6bb
+Z4w7׹hr5{!"gh+|~mF/pY|S:f¢|b{:͠cR0KY40۬h)Qxef2g凫$R@@ \27( Lj+Q?^GȟZwCI<5tگSyMmf\}+c&J&_\]ګE
endstream
endobj
497 0 obj
<< /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 500 0 R >>
endobj
500 0 obj
-[ 494 0 R 495 0 R 486 0 R 487 0 R ]
+[ 494 0 R 495 0 R 492 0 R 493 0 R ]
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.173 406.451 441.128 418.406 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.173 233.701 441.128 245.656 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.358 394.496 413.313 406.451 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.358 221.746 413.313 233.701 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
-486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 105.14 514.551 115.547 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+492 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 115.666 514.551 126.072 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 94.462 98.706 105.919 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+493 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 104.988 98.706 116.445 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
499 0 obj
<< /D [ 497 0 R /XYZ 78.37 808.885 null ] >>
endobj
81 0 obj
-<< /D [ 497 0 R /XYZ 79.37 370.03 null ] >>
-endobj
-85 0 obj
-<< /D [ 497 0 R /XYZ 79.37 204.438 null ] >>
+<< /D [ 497 0 R /XYZ 79.37 197.28 null ] >>
endobj
496 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F23 379 0 R /F66 388 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F20 382 0 R /F26 404 0 R /F58 386 0 R /F23 379 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
503 0 obj
-<< /Filter /FlateDecode /Length 3720 >>
-stream
-x\Ɏ7W>EwрK%sX7'ƘEh.JCuWf2FAf.h͝@ߟ> [,#RE+FbO/ϔ_?ScFRݡT+]LPb<Jd>=rwF=7z]}k )Q{ԑn:ю5XA('p}T\NknNk]I&rܨLQ;"|/wqn44%l[PoꄓgZl9Za{ε)@no
-P7EhV/R%לWBuWѷjte~A0In*pv(E=wE{ mhOы=N0g622Cd\&@71)"] h$݌SK4Gm]y@5t3aPHsL4luVP w@1-pEсbm_ " 5PL9Te{ƍ!! DUm3cKԅ$) #Q 'A3y3T;nAT@8^M7΀&rиpi>'!뙽m"[=
-m"-WHqH% -(
-v L#'LOԯxvmuD#/w
-?
-"BGz'1L}Smsyc$^a?286It֬8|mcKUEj)FIKI++&"\)\X#jU\O¯zw@)hbx.iD;H\ff
-Z{<MȺmCn V*H1k.raZyaZ_C2%neoQ`*kxݯMƿΫN \\^Bq<!>-lmqt,G|e16\'L$GwZ|~'FN7KWi/I]0tI,NjSqc9g0IPsY\)6aIx2|F+>g'r\lQesK̪9@>g.K櫯B|Z?z0v$׊H.++)I"t_"ʋ߯gSn\非Hc8fDJki.RPT`aG]MOB+ԉ?6ymڤaR`t@vϫ3؇~8C[x7ߥpAW\sfԏ*.k^TQ:htQ d3ig%"^kg}-{~U ]4
-\`yڊG'1M7[>̒
-|;Z3ۧ%pjwh.i8A0c㭔<Nu=Y)+scx7A&{ U [TZ& wV-c +>¨;¤S:>с*a: E8q汜cv
-fu_{_>n, l٣
-Q9؅3\}[:d 8`6 6@Fc&HӚ]:mP BYf@Tn8F)U=QIzQE{@ʽMAꐭ2洶fF@ t6 u aN7e`NOJ=1M8װ髳 %b'k  ![=$Rdµ80j{KJH%IgJӽjLNf34w:~hab ӨBmKbaGo8;
- ԯx:jӋ8#Rc߿dY.wަ04! 5t ;0N[kw&
-mQ|7m0N=oɲmE#-֦WۋW2~}zj_OoUNw&ՄZ=}?{sd#Ǘ6pWZ{cW_~/o\yԿY_ Frmgq?nD~k^
-U<^v]wtw5@~紩m̕ 67
+<< /Filter /FlateDecode /Length 4574 >>
+stream
+xˎ_G4`!pNu3|%HbߧHj{Ūb^nQoowpқ#Ns-c
+[ݻw8i<s|1
+qm_zf#RM)byn<g2R>H=Zd`t?6=@ug=?=%2q% 5=WD_Oc(ߟ2EђOm\"s{IШZP(G(sw_6
+[/ޘAV|escRsg '+榃>in]@kvI
+ۓ0TU# [XuC  QbY1 :>dz2`+_cO
+`-_@oۡ_nhJ&
+w5-C:Ԋ} 6)+~h#PW߷nVIgal2x,Q/x3_?_XIhc 67ցl {y<q"w<{!w<|Yț{+m/2( gf&; QZ_m@p#-iXIPg󄏆gM'aVrȫ|jK@cЛ'gcBI)aATVQ[4xN"(Վ'B ஒoAbƖn$bȠ0cmzoYx%vZ:98nCspV`HhJw49FWSxs,!-ǨälӾ>R_)Z\Yn4noPQ0#4 pQ7\`:=&
+|&hTXJ'UŎI#: 44s"G>4J37 Gq1pE"p\͙[5r]Fn/.C30xΔҷa- }t1n;1V7Lp"[﹔a?
+B_1y RQ/>"/"}aŸQvVaȇj׳7#yӅ sFW;C)AoIW9UUe`-D&EO鱍]9¸O!ڔ()n2^i & .4pJ֒O65^lj[#= M<?܅EyzysÑV+u/?YВE4yTsjSs@̃
+E<XMۉUKf}( UdP H@d? LX?2<t*"d҄ äeZf[&2Azk(Snc̎ڨf=15F 1qDgFQߎbKva\o [{F11s(2A`QT4DFLc 3((s}aڎEba Of(Y
+("YVJ}
+ٌ<'5 pКIN.M[Pe?O3]ΙM'zI2PBl>d:j;5ڑJy0OWo;(m$~5Ap`9Ub'|ҩ6ULZʔ9NڐC$r[k1M.Z6c.L_j2b:wH*C
+Ar9K|ߕb$#\Ũn)fFMPz3:LK%&[R U*$UWWd)A|Gt,"-D7f#i!{SKfxwHA;عFDYcǦrezWz /;HfTU_ Ob#av*"
+u"8t 3Bk.Yb3{#
+&ߟ2\*U뻯!gKsE:[ES9=C[ Q QbIcBp+iBvlgYqe3—73^%@Ef%oZӍ+H9ns5B6-pܞHxANc~` gh"&Edjc4KLpg/-t+ɥ
+fۺ*RSʑrT':DJO
+mY,RX\\:% vW[[SDB^VXR VײP5ap{&Ԕhz;R$8Y|Y {߷I90=G<=>~+7@ЮfԀR  es{<MK=f[yqKP/|#Uw0Q,o^
+op:/HHl3$LD G p~$`5E3g^&?$5tc CP??OjFfhJ|;mj6u57hGE%)D[NMvG׌6&v;z i͈= Ip
+Iľ+{"mܙUC;t[⪸v8bfʅ
+W m-RY Eʔ|,gNG6I'3N8dCj6~Η } UZ9Sv+͋_kgc1llbc!&S5rs/n$Gw:鷬ﴤ8.ӕwF.=vNjcNs&=lr|r'rONlfK/)CjNDX˔T1PM.-+
endstream
endobj
502 0 obj
@@ -1318,23 +1307,23 @@ endobj
504 0 obj
<< /D [ 502 0 R /XYZ 78.37 808.885 null ] >>
endobj
+85 0 obj
+<< /D [ 502 0 R /XYZ 79.37 654.722 null ] >>
+endobj
501 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F23 379 0 R /F58 386 0 R /F57 385 0 R /F66 388 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F23 379 0 R /F15 381 0 R /F66 388 0 R /F65 387 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
508 0 obj
-<< /Filter /FlateDecode /Length 3323 >>
+<< /Filter /FlateDecode /Length 3951 >>
stream
-xڵˎ7>_Q?вH
-R1B
-ܠK:v(/&JQ o,^ǽ0xزgHgOmG8zp66猾}\>#0N"u3'-"$93'L &Hc8WUQ=2")+I!+D?2+pCF PPܫA5bYIWq=]s2;ɓ_[B{*` Llݸ
-vKz+XG,5YbfөNeXQ׫t%nxskȲ(]7F&{CHgG 2PtLQ*Vܨ*J=/kb'%h#**JzWE,s$+LC>Lsu_fKdR]Js"M@c4a]S9Kr1`V٣O+Ɲރ̟uٚx s vD#jIF]@ߥ[rf[r#Qpx2ПQ)Nd(vE
-Wݘ-}Uk Na׺ kN"Q#EGh"LoQB\Ֆ6íJ$0{=SdJH3[=ˑO(裔sI4XmX5aZ4}3!yǤTLIي7uX_68 ibXυ&~^lRu^<}YBXBwhڞN4Xc
-0.H쒝ع Sy} -3B2 ^ 9<ʊ4{t.^G!e38@[Q+k')NV\XMΎ)ۙ@eFof7N:
-I쏱m}`yv=ߛ:$޻ȳ{fCjS`O33歆E8ʌ4{HKc31b<itvǼ~k|F1 =cZz8NS쑬<ދgL[mfL>pOSm[idLکoeLkq1iI<gHw!io`3
-Ȗ."x-%?mtgڤ9K#FZv72=+GMqJȮ)=I|ϔ#4`oS%6ޮ0{*k)5aF<=ݘ(ز,dSP}уo5PJոOOhp8AZfmcۮ 9m bpmYw~[fbi̪i2Jn"wⱜ?iM䳶PʏM&k/[ X#?Hߤ܅cҔ5ĺxrZSȉݜĪ "C
-(]e$HSdC뛃Sh SF|@xWq'>kuZ5ܫMQ!#6eD #-w0@x+$s&ϛ>v^faP8e~vs´v -1[_ϭ/1Yi ݻԚBpTތ+b}4/p湶(=5FjfgfnM3oa:ufhPhшu#rYz5Nd)fh>ሴ)1.4:i2WMݚSbެbcŔv#N|=߈3xM )Ğs]lvd͜{+-N,5Cc  U>ݍr@'Ͷ]jl:>9zZ|Ԃy5vǡLP"S#kFNP&9|mCwoqgOL"(.b 5\U9}#j<u:+7Z+푿O,n1jK0zuU]8*V_
-|_B]z-~dJ!}că9Іi3>*?nWB.R `ɉ׀
-J8>Ѽk­%֟a~օ޷/XSZ3͐قkK,H(ghxgi $mƒI@|b$-p:i[GqP7W͌ Ru
+x\K?04Y|4ZX7C'!Q
+fG Pkw~ĀC[M=
+2C NKi:A&2iP^3U?QyR.GU+6?yu9=V%91:Ac12 !wI4b8ir 3uvfW >#h{B/PzZӚi :u-^QRe?{PiGzH
+JzMRGuJc3[YmN)ҏ(pKi\ nDmıғgy:t,IpD#HeqQuw0r(|Wz)ԋp&|c{KL|+#9(|ڗ磻iCi7(զ]%&U)Ie`5|&3wSY[f.|fU<@61ی\Էf :yoGI]vs7~9:&D{:B1jVř^U芦ݞB]Ft^H<-YD֕V9IG;sab}鵬٫'5vx͚Ώ4omE%m ts]nLպ]tx8~NHQm6[Ӳ,Y(G \\זD<>Ko
+^:H{-ѺL%WhGZ9򜹆RsLٍM7Fm V(SY[neZ$|>'-Aa;pnkOlKuRҲ١( m杺۩uħ[4o_ D,.Qd.$ EVttz\sVG\Q6KeUy %=ZOr8rROZzUJS V;L6y˶JŤ3m1X|>"{)^p-7̆W0pgĔ5c"umO5iKPS}뼆Uz/d<i$+:]?!jm<6":F,;8>}[USUw!8wGh\y|2؟Q9|tM;=v>dZVk;UZ ®u 릣LXDe oɨ R#Z[=SEKUe'ZcDM|bTں#-QƷ&hUCIs[}Ã!}۴L*1הy;~+a) M/.#xTgބoZ
+f$T(}8:n'?x1O|p~{wjي7=4)˸ȍ;$FV~):́8Djﵠ@a+6 T)1\`9CeAZ$а^>8]L#W"B< Jܟ>J2.0%vJdѼ5H=~e100
+bڝ"+yfI(m,OkJ캵or GV MLT{f2[.h)vtQzqrM#Z7iKZVsǰ}RW"Hu nZh;#?*ۖTUcK\?(d7rxvawaԨ)v:n[[zIP'4̉T$21|pqV'=ĢkMhsj. URl&09 N}u46B
+yӚ -*8fލKmAj9P2gr~$E)]c~.]k}Sgx!w AgUUfJWO$۔u=(/ef+.1opBUC\Pʓ0*%^*Nh ŌyQr˸N}F ,A)-woƺ2Yd c:l,kH)]9vٌ1xXô4C!QaE=B/ܨhbäws;׻ WuMYL(ս:԰My橊R }/j 'x[UfUOQ~P˾6)mȶ7Ont\ۡM]#E3; IŔOmfةJCAAs]wB)ۭSy嶭[C>N6 $o7R3 :Q #n:vխRqsvY[ @T+誢.<ɟ|qc@Gs(:7n~Fi413m*  NJ2+ppҵUJשN,.%ެʝR]-թvPV{
endstream
endobj
507 0 obj
@@ -1344,51 +1333,42 @@ endobj
[ 505 0 R ]
endobj
505 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 333.674 312.516 345.629 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 155.143 312.516 167.098 ]/A << /S /GoTo /D (section.10) >> >>
endobj
509 0 obj
<< /D [ 507 0 R /XYZ 78.37 808.885 null ] >>
endobj
506 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F56 384 0 R /F65 387 0 R /F55 383 0 R /F58 386 0 R /F78 469 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F65 387 0 R /F55 383 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
513 0 obj
-<< /Filter /FlateDecode /Length 7107 >>
-stream
-x]K$ϯi`jƀ$nO2 j7d<̬ьTTd0dAnW_>sLRެ ݂/q1߫1@]k ?cA*]F_PA;e^?̟}]>uh%-G
-v3J
-DtCBevH C;' s ۺl@
-LH YYyX<dI-n(HHC4 R~1! ,>HJQl6DžN%QD !8JS<K^#;h{G\1t&$` <HRN<I ^YBB00B*L@.) 
-R19 {!+K)j| f7Lj CF
-#4 +deEF48$?AAKOA8&'7DR˛>P$B 6D 8;de7P+P6x{&$-F.5~ 0 k-F-Nj
-5J !a C LSD~1! heȆ󘗕_`"\[jDh`
-# d5^(B*K)3X oRB=`sIxSüaV|- "a
- (jLLDmˑ0!Ii&)V"
-h oˉ7qL``S E w($E
-Mږ 9"4lM0s9V,m*(,oa~*%<#SA_c[
-TV(ޝKҲ 4H{?qšFj0W6EHXcRFӊ6`Yx`)d;-xAS];1+FD TYH)CkLc״_[ҢOp,s
-!A=t,J
-!̣:eK2ƐT͍x'Ar(
-&ԉN+ bnQP[|&C L
-Vgy5]{ՊIF,-RAllKլw,%x.RB
-z:H`nQ
-
-Kİ)VX*HؚR'V;80XFAQ-">:6omZVU|M~6"v Z<5xNo2$
-P`U犟"\9cdRk`Q! -1L.O^)9W`?S=E%?&'^|ljL;x5~n5N?x%)eeQfm'_|3-ǧiԵ#ޯQn*h,2Bڱ\Gqϸ}q-W(3ڽ?(yb;`G`a}>rϩYP7lt:|zi vahB'<qY$_hhihkr%N7rm~{C* s֧̗Gw2AG3뽺/ʊk\nWXeG8˖wF$_Έ]|mZhŪo=Bp^p)*#TSW&$綒;v#ݙЏK%\;~gBnRvWww&(YkI}΄sYދ w&|,E]{B΄[3rkߙ92>sl~27BUqfL.Y3<1A,A
-x
-NOz
-
-û/ ?(Fdl#ik[Lwe Zú
-ِoGeε{;5H}f |G#\d` <mގp>3v"]{ڵ 3%<𕈻؎*n~gȳIڒ]zփ ?Xi3Qh\ܟp\|<؆/,&xvuo&%|IZpOxW$Z<
-c_PV].~*d3E+Ol ==
-etF>RݮwBGV)w
-&C֒t7(dX] u)^<8= /ɻj~dD+Nz[qF&j9K7<jZD֔M0Y\ڤ4őXw_<zjsNʮ&z#_ߵ=R-fYSF{bßIj9;UKz!AG=둢ЛKoƣ& 3JlK0+pb!H$\E[0Q1/JĆ:[%?{(~:<nUv\PUH^٨t߿X6vJҗ;kZJ&N|o5S$S8)IIXÙ?ZQ~_Xvf L9]͍]nўf,]<<a- F
-n"Ji\b |z :xăC ㈎"7ԓp;l |TA zn<~y;ۋ7<p(ѫNdjq".{syz5pz-OOlȏEB[=C?`a{<$p;?$|-NOacP</x(OO: #4Z=8nu,xO;V{H dn!KMz&7ѿO
-a;$|JWKfػIc^\ZηGm  qjH[0UӤTOg:-JՖZ{Wbƺ1+?k{0Dxs+qiGS֧jyg@-"aVr|< jZ:J|׏\$~//rM{6hzwЭt4̭z3okmXXe 7$|xR_:+M]:pw;iEN:aꤴUlFT0hŴA7ѯ TH۸ÜՂ ^]cZk : T톿
-sMƲ{6xAbuz_&`x-d06?\ɥJ@x|]WS=caAʇۻ7>]5_ʠ%eZ( 7Fq, ~|^FsM2Iݺ ?˰9w}OdX}Lz7`}jpA#m
-;G y I=BKޞy|+whѶq|EwT!=k烊^Z}*./dW \#ח52׎Wj[iiޙf'ɤEͼr`mۘa` RS]40߀D>|!z?wlit~O7ct7vHGzG_靛^rxŽ9lmkcWwj4(w֊8r Z!v+5"~sn}xz(O|axvzQ^v2n xd!BS9-BNK_B(&AZ%V:Aq§fiꆱEn7kW^mԋi2÷c\h6ġY]xZ4im]f)-_Ds1sKT#ctiQf#r8,]JS`ws+R9[-?ߒ+ 7.e/q_
-ߟoMa_5營{y>5~ l-s*rey>,{"DFRK`"TUJ
-jkP4wMsv{jePˡ;%sMД~;ڠt ˞z5I6PgPäLT3DS+zR_$.@E鎽6
+<< /Filter /FlateDecode /Length 6710 >>
+stream
+x]ˎ%7rWr@aUj
+Ѿ^X%ل8;n7^ϑSw)g@SPA7kG8[jqq?'֜Y}&@GZ4i Gȶ r옶PI}#d?EW2@37Yzs{0|C.30gnm0\/30gnt1@Qtb )RpЮw/C1 -ͤ"5|r\:ցXEzxk{Z50f<,}.%مl'r[8nLGr?ClꃌgŶ{MG'zy sf{}5 ZwѶZ)vQtSnYQ/?KҲU3J
+DtCBevH C;' 9mH6  SD=x'JʒH 28E:i$(^
+WS9U[3 v+fm)(HHC4 R~1! 5RHg>HrqE7C
+/.+eڥ{sIxS<aV|- "a
+w:qgBb"Bز*F3,&ߛA3i2E,GB@$ X&++8bB|W2-'2^T%3M |3 i9H|,D@B@dmr7-MvNs8g\,Ɏq+0'2`Ȫz2
+N0+xWm)#RA3:iŁA[ҮXS)r
+4v̍8'Tr,ږ)nX*`ؚ@R'n;Qd bnVPB\:ȗ@:7 iۡ ^O-nD`CR57V,
+!A=t]2`{ gld2$=z"aF F1d)Us#މ"cs;2]d(bJ xI^8#Kͣ"/
+`˖DAZ )P9r1snEXZAJ6$R5+(v
+C
+5PS<JW)B⧳r!2Jh9^9zF_Ҟ>M7tͨ o7<+l,㞞+[Jz/h[}(>t'|Gv>A_v aсPa`Ut݄.:E/:)O-UW(k,gڐKIUKtn1Hrܾ/rS-|f-77Ƥq߃ϣ[5خK. {,σ[fӻ#nT;+Ox}îT\'ܓ w27Iܚܙ-{kk须anݝ4q TH{|'{zĵCܿ<Az' C w/O!|ۡދ ~g<xwP8^6k?ryMЕeq^RCy8'(7^ϑS{y9g@SpB7kG]p0~9޴\w &G({h&Ьڭ zteޚpR{k9ք & [.20gޚ8BFx/>׮mHW&Z(0{Z<&g<?|G1mSJ\ܟ|=SxxV]l,n:xdXK 'cMf)Lh ޕ&4ن$>&oVC=U#ax
+@8ܤ$iE%Iq^?{Ua3.Gİ!S"EN͙~r(*D31Z鎘C
+*6tE Tns$hW,I)xI
+R^I&FZ\tx˄Ue؈ 2I&6Dm
+@dbCPĂ^f«B.V7FML܌r=r{_vR V5)0UfE-J 5R'fZ53$ If^[ ҕ
+
+^2vf&ܥDwX4"X:R>x3bIv,yъ6rH
+^25ae35JP+J˞)S|AYuhMFLw<iJve]{XW^ B׭ >$g2$^b i%#GBĠo>of}^?j_"<rb[njQ_9;VSS\hO&wmq'B
+5>E}
+GiGbT"[Ef
+Ͼeңc"'}A\/hXN xRxj܆v,AÃ<&oMjstfm_%4ID]#:]x%4шU;۽,9Djwx۳ymoMD[,t%"n9LʎU}0 q<Ǫ܇
+[fӌt
+*u@; \1}4ZڷU]j_Uiuў|EѻO1,'GRf-T扢#ZC2TS 8~I41fyL.+=JfbȽR CՉRnI !Y$nr\=hX4nH,LuW$ݢߦ.3&Oo^R5px:b
+#BjP_NET ܐ%b0ϒQ1ãG =Dڴ%NKp;e,\<sVGC ֧&F F<pBt4"u@3}xtRB?-qmQx;<ޅV;vLO!-^XǼIneBOF̳_4}HvC‡w(]L:ҬeVGw2۴-r~Jih *b/3A$e
endstream
endobj
512 0 obj
@@ -1398,122 +1378,128 @@ endobj
<< /D [ 512 0 R /XYZ 78.37 808.885 null ] >>
endobj
89 0 obj
-<< /D [ 512 0 R /XYZ 79.37 536.981 null ] >>
+<< /D [ 512 0 R /XYZ 79.37 382.758 null ] >>
endobj
93 0 obj
-<< /D [ 512 0 R /XYZ 79.37 499.589 null ] >>
-endobj
-97 0 obj
-<< /D [ 512 0 R /XYZ 79.37 201.588 null ] >>
+<< /D [ 512 0 R /XYZ 79.37 345.365 null ] >>
endobj
511 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F15 381 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R /F66 388 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F78 469 0 R /F15 381 0 R /F29 375 0 R /F20 382 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-522 0 obj
-<< /Filter /FlateDecode /Length 4587 >>
-stream
-xˎ$>_Q0`vƀsr7#$xؗ~HITU1H|*(D4|—ox}~ݫ0K`J?< x[[||¹q2x <6p$|s|=  >^~Yk#[b .NHO-kZ{x-OTiPpei;ޭ׺%1/Wѕ#)ß? al14 /L
- /{:n
--}ۑa+O'e;lkl a22a?i`6-%*UF~~Ӓ$fNI={t=%V3`:.:?'%k4 _/\e_Gr='5I!{s ykaN2
-W6ϫ-kX#9a=_y=2/BT;!\
-)RtU NtL6v0MmZT8cZx`Vϖl}bnmzz`R!vvdaݩm~_5&U݈%ii*$<l4 @ܼfk
-*dYҶ6+Mw5ݘīZ1*N2<WA8oZ~Cm
-[& K,8ޖؒmO#QDgѡmJnDu򔻨߈$XfW^L@E!/g}OV[UaԬ6i\[^SC}M`.{dV.e+G] mzg6Klq_i`?TF?ic5h;;a("b5qcws^qq-L>ڣI-2쎩J^pD{'0Wkyٵlum#D]ξH]<-t1` tzkp(j U{cN*ȻYu#]I뤻=Ϫ^JSp0һY& M{_ k bc
-Jp,rCMȮbK5z^vr/j%|vo&78_9Wq~z l#!/U*ϙP0f4_<}w-i# THOB|6ඡnz o5<mԧ]=9 ;@M ~5-;nQNo&9X%7Dg)
-?1DS0 r[ Aw#h} уWzM6=/E: 6O 4fa=AC?m8o1$ S˗$v~AwuACkss?Vu #\{W鿗wF(v#8 3}.,$%Fm
-`y
-H hu<MظmsM~aϰ%.[PaB-
-'DS\z&q{Xm$ ܓC/qJ
-~T484 rz[k-Gt%2_
-\}P7viz>]&ueW{>dU^3/]KϷsPcrvyJݴ\,q?V\0H2K0՛ F*[Y,o
-<Q ]o[Su6#;Z/w<1v-rMڥA3C<;=MKF-ZE҅*!)-[&<JVM
-9>̋~2S8WzUDҪDwa! X;ky/D l?K
+521 0 obj
+<< /Filter /FlateDecode /Length 4700 >>
+stream
+xڵ<ɮ$q9ڀB~ z\7'm̌@RʇDDI%mOo|{w7!ZۯoMl3e7kFl߾oĹќk'1- {wojz'hLoOɹҚZ<ځ%ϗfxJ* ؍ݻЛgH gZ""YZBguoF2cdIfA Wmd
+UF ۙMy*H >4~O8=mFSLIJEdM2 k$L@+mX;1&}$Bd"DTbOlqK__T-eꔹ4e e˱R*ST,3w{F$f49gNhMnUpąlbz=?jFaWpoԮ`5+{{RUD.L &_SؕvI-f$`ZnJcYzh +W"/m+ZPt/(2'J)GKSLi
+Q޿/٤W~%A\򢗬7uP*sw5^+[G@Y AVKmyă[&<Ή4u7xy7`+ΌPWxq{f!YU\`ZMǬeɳZuRB39@o52b<'"9!pdr~ke Te@9#-A6h8=1QOLm bPŝV"TdC^kB)SL=Jg*AX}
+tY/#8J7;>BlB\d\1cFYi XT+SI)^bxiXAF1`D0]5Jp,
+If8ge$i-<.$@"Nz+I)Wx wb
+z`H/SgrWC/ʺvAO^0EL Ezz-ze:'K
+:zy&E3+
+W8[ vKVتsÚ:9kCf0G16au,3( %Xq΍PJ@t|!3>r8UKL&eVv_vԀc'[_vF
+{io(lƾa|a
+O6 SjbQdsgo]JCl+jAnNEj,3
+FxDUN%&r#\˯e 㜂4%K8tIw"@6V|vSg6{|m^jNp͋n>k w~zN#6.}ظt~k698i?1N+u^{a'T ȁ Հ+e`bZdw4OeSJi:
+EgN/pa] HaA}??g ǥtdx#が×z(Qa[rg`oC
+%2Z5QXJ I4m簤Mi 0KP]hr2kQpWXBq]krOChrYd=sWU&;9 R+ԋͮ~fp#{S@&RTLD)
+V5<_kFseg+? 4GHZ0
+>n:l?vo[ߔj9g<ƤhuoB2Mx+ `AjhG^!zd%
+gBi)tۯ[B]ĨoORƞ$xPV6QE$eSqSԸfQwUkEfA8=s=R?HȧʹKR>h޶)/N O!6{A˼Z&GeyO 愚Qܺ,Gzv- ~U 4rv_=?m_W6)i# U03Jg.(1AfjI%x R<r<.~ʵkG{c/k N) @i\aԸG5^U9dy<};V~Ρ7L9>e:}Юה!iĞu
+HQNÕ`(dAu@skEЩkYf~"97[߷? 5dC,xAEŇ\]
+(Fۏ ^~x'V|ζF} {؍AP? ?~ 85Z6KkF}
+ 
+vݑk|;o[5µl{&˂xξ?ۺhϘ*\JmxTr:KFQSȷ=5 QV*gkÖMY(Ju{M>Wjy7w֏o7twEu<t vc}{ɼ X
+3/hPRD<\AuQK1[ 'lq8z
+ ;l/̺COuҞ(EeR[ժgNB[0we<35`h5BWְ5۞\Oqu`~ѥp2gteRs p1ZdaQ81:[ ۩_5A*Q/5U?-h7cef`S^
+
endstream
endobj
-521 0 obj
-<< /Type /Page /Contents 522 0 R /Resources 520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 524 0 R >>
+520 0 obj
+<< /Type /Page /Contents 521 0 R /Resources 519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 523 0 R >>
endobj
-524 0 obj
+523 0 obj
[ 516 0 R 517 0 R 518 0 R 515 0 R ]
endobj
516 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.353 577.974 205.308 588.923 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.353 470.815 205.308 481.764 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
517 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.196 560.859 516.902 572.814 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.196 452.486 516.902 464.441 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.947 548.903 142.902 560.859 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.947 440.531 142.902 452.486 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
515 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.002 76.658 194.459 88.115 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-523 0 obj
-<< /D [ 521 0 R /XYZ 78.37 808.885 null ] >>
+522 0 obj
+<< /D [ 520 0 R /XYZ 78.37 808.885 null ] >>
endobj
-520 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F78 469 0 R /F65 387 0 R /F58 386 0 R /F55 383 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
+97 0 obj
+<< /D [ 520 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+519 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F56 384 0 R /F78 469 0 R /F65 387 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
528 0 obj
-<< /Filter /FlateDecode /Length 4897 >>
-stream
-x]Kt Zbݒb#6DK~w7{fm vg]"?VS>> 2J} $ؔ$K}ߨ] *RK1
-X4mFV<SƱTual
-jMW)6F*P1:|VA
-&
-v]dnc
-|<Dh k*-4Fo7*h0} ]K~SE4$C]C5!#[:].jn ^t3twe;5.)M%
-3M6Fv ~- Q,voV]Ȕg 9n?{46G[l'zs^_1~7_ P@jjͼ޾ӛ
-gG_"Lp{W:f@N>f9׎g{C>{Y^8JI1-N%Tzoxwf~w
-bڸF7$u:}OR(+]'D>$lOOLı$u$>'$N\ۢ& zX]F]cI]NߓDSt%x2KsORS9ikuT;O
- }F@ VTdH(v3oRwa1c*b5T`؈3z ^,W'v,"
- 3; gAd(
-5X`Bl!
-:p@5g*N/:
-xat
-.0wtiGiz78+'۝Hzc"M v I ҆|S}|<M w-mw$涛45S}}? ]Z<żr^8TpO6R]wFe(9A䙆
-=CkiL|,^ fLWӶ1(V+]aѢ7 DCqQ ,]`V4؁n\HX K#Yߚwƥ1-Ķ1M3E`OYqejZJB('tP5;XJ\
-38TC5X:q|j?Q^?A5r &0(744M=VbDr 6a#̆ixeJPx5m5=tQj&U&MMR1yg᷻IcXE 7 :+QSݶLGAhEAiHF]& FJwVvEGHo^k%G7 K.ڏ2Cmu\9$5wB6ɱֵOExJ:XM!_C
+<< /Filter /FlateDecode /Length 4671 >>
+stream
+x]I%7rׯch hJ%`|Ll<H[F}Gp's#_V o}%%H&]~] ޿S#Ns-/0xA8FTьP͖/-̟ͧSkKxƍ~T1J=+ġdc_^^iJb!Ɗ^DJ0F[~yXZB3CA\BY(#@s%/ 5]*fbv8tQcЦ3qNyx[8!w(ʣ_'ʒ:4<+&k0AiµF-iѭr#j"-Э>'![#idabጉ0YIP0ۊ<)V/-Ș۱#g<4)?/އXv_p7 fdSCHۘ,GP/)0H-MAiY2`m7W&Β95~ʉ2cÌ<[1vbwv)tDC(xmAScWicgL[_vѬE$m!%:{ _ɠmZCs6|W$*Օd@sdKf
+:/@⩡:j 9ɺ _ւ(fPH~ͳT9OtoMs/_)B]1]
+<ݸ9!͍3>4 : ':GV3cn7 a yٷŠuq{ C{mfX{3F'7{Gi&:RLfqs'3LB;$?+59I5Dor-9a0=zP n)[a]ffD,p2k'0Q8 DQ̸Ț9΍)1
+_iy xä(B.R?_!If|$1s>5HqFf9-mQVxN&<4HiZ9Yv@a4NGS1#L}::2 ~*}\@dVƥ?.]! (EsV Dz*HOZO+%
+Co'ĀqSr݀NHS)zfJK 9ށIUaZaT\XŃw3>91f)_ѓ&u'j6EL'-U=H cpsi=GQ>{Cx--.,w;&w@K'w9ɹbL9y8q4- 4&딪uZz>JaD^9H$i1'"ѳ ʣqb4̦t^ƝY s"` @qfRBtB~䮘{Ith3]1O<U!]?`Č/m]8hwQpa
+J[y, 9$; ]_2V|WOR;RwX/ۂl+B
+@L
+zXf0bZmWUDyg(5(jP+ &yodD: C6J{]oC0eb0ltAXe146qH{RnVy>
+2w1={
+Ƈ R8
+e/z1̢֐ zAZ=rz1!Ȳ֘ 1z +RI7%~Yۓ-ֵi&.[(
+$O>mnPE-ٝőVxp;z+l ғ[)篂г2Jdv'v-N+\++ͬµP6+pjUi ok6doid̔KR%ݥ/KR ɖxIfŚ-TOVK$$\lOe J5rs5Yn^%\ox%o5F֖oKrkp(zMx)SkKu ƺ>o0p?Ԏ^AQ7wp^whGf`l?.kLK{;=z{7pH֍4>uue_02R378!w@lȼ0r?ڼxAQ˞fj6RirkSUY^*i" Ql>hqq5\1ĩ4"πuRw.ƒ|37
endstream
endobj
527 0 obj
<< /Type /Page /Contents 528 0 R /Resources 526 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 530 0 R >>
endobj
530 0 obj
-[ 519 0 R 525 0 R ]
+[ 524 0 R 525 0 R ]
endobj
-519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.232 745.619 461.187 757.574 ]/A << /S /GoTo /D (section.9) >> >>
+524 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.232 593.689 461.187 605.644 ]/A << /S /GoTo /D (section.9) >> >>
endobj
525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.669 560.373 427.624 572.329 ]/A << /S /GoTo /D (subsection.14.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.669 408.443 427.624 420.398 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
529 0 obj
<< /D [ 527 0 R /XYZ 78.37 808.885 null ] >>
endobj
526 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F55 383 0 R /F23 379 0 R /F51 380 0 R /F57 385 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F55 383 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
534 0 obj
-<< /Filter /FlateDecode /Length 4373 >>
-stream
-x]Io%ϯcrx >9#'}Ow7v!'Hbwӯ>?i=94r&VMF3B5>~}S\zj- >& ;Rssw(5cR-"zL@bؚGV9J3PMS@]15X
-!̈́+vE.x[ѿ6+Z$ a*kRA{Ьk3eEQ!=|Vy0ʌ!붲ZQWt1oskeqmV`APHTTdl0Am"n$alvN7 &K{lǝQjbjX4?o"i: wdE
- |Kt(;i
-?"ݠkJiz$-l p_z, 5SPĕ\сd4gѱ' 5y
-1Ȼ4Ѧ5wR.28:C$TT5 T%6F%gn+q4M1C,+Menjd4B$zH 9uy'xgD0ʤh>ֳBW
-<o{36<x(oO. ;RŲga;22Y -bZSf\bH%zN<7z8pvB_nUNa{=Lǔ+ljRp)@;ceT\x2C֖h!jz}{GP&GT)2x,AawUշw
-A@`>zj'h;t
-!O1%ܖ)ab1kiJ VE|>QU7'XYVfG+V4eLxf85r-
-C XzQήj^~̝"%q:ƒP-Kӫ]-\d÷JǙ,z"rtFfTcݧ
-YVh1m5r7IZTO<4r0L?qls0
-^jTV%;T3POG9~ ƍDݙ>6ܺ6"\|oRc5m;7'E m:%B)35DڅjxfRaV<ė>R<8漼#L؟ҝ煡dIpvJB1߀o!w(I74a?5G__L"&LÄO"aV;Wf[i (`zj"*aį|~zuF|hmzYPrN$ty2hAOqAzEo2jq^,(7*p&BpK0(E {+.uV칄%>[K؍nx)&MWjzof~yWYByypv^Lw^I~nj>+\P6h6p6s)̧ \t_Ӵ~(#/բ@aI\jK|G#-20,Ϣ^]jrE>H .Pe=Fk26_G-(OP~Rj &W#r+"ZYES-
-.sTjE甂jY1QW=>/pQHIW5~˓xH~!^GU/ī5 dWī\@LOU|3dO7u>gN<I)G}fƂ
-Bxeu6.T>btBXjK.+
-n_0 G[dx,<Ҝdk;*@+ M󣁁6>`݃MoC|Ijղe'FcfE %RQ5V
-^b= Lp}(\9OL.R`]3`Z!.:i87Ia;$/WRv_v08I)f-ўs+%wr;Kn7d[U ܽ{\o!"B 3xe ~
-;*`(5[[.YQ9 ^F飛$)KjR̯h<ɍ Om>i@n;INOT?K[SѸ&Yr Jes™> f*p2|&'klB\N_o[|}>Q٥8||} 5Xח8MM/Qٚ./?*+yj0>Wk)i%FeAZD"tnmK]bE^t,XX͉[l
-Ìs:n>nuc+s//\6uO#'"\)mYޑL%Z<oOkrpqa&\ms b_|'D-#ED>jL#׻du,B5I֟9O0'itPhza!
+<< /Filter /FlateDecode /Length 5051 >>
+stream
+x=n%qw~;ڇ}
+f5x6/<#3=kZeu5Ie
+ K5I# (0#0iMːf _}
+%IK)' P(/I%Q"OBN"Qr]ylUX$ֿ?Ɓ a.jS%.uuWW<z[,_x)43]ߍi o1aSf܁ + 5¯[Ŕ
+ 8JvaN%\xU9y=KeA;KKkXB*anAm
+X $5 f
+P[E*"\.&Gu?pbF0LL6rxb1 E1xf4^#z胒Iu^^g@<pI w^yE0`%Z6"z2(qB5.LB+}…ju+ͫT@p(^)H˧k +
+>tN%bGF&.3P:/J2 B?0yƷU7<IǫzϻE)nuݜ8j%
+R$qeOD+C"TRm/|pץ/K9MqLb^^'jU7:uX,Ux>n[?`1]kS)sR8,~ Bz#ڱd03WDM5ˍV3Z2@r:n%SXa9]ԑU/Pq&bXSȗ`]J~㊶ph׺ƢHzD؀Gv{ ݡVr R` vbYE!css22c N͉yrLYKaC,d;; 2O
+vmm*_aL`Be|;3!@/}a*80hjX!Chv8S4DFُ
+K4UNuY+2mD).OnrXB| _kyQMV Տ<S\M#Z;jmբG+='_g 8HU#
+k SNX42;+ɐn+G&ӧBeCA+a)XіJ8x0E:uKO2́!rr*h 罀o',
+BR)LCR7ڸ(D+ϊƒxSD&6vS*"Eٳk`mu-&*V.ꤱ׬koBQ+ R*6A$K]# ^
+`a@/DvƟXQ3Ұ-b,d+4[Ss-)hrhr. mm{Q<J^T'
+ga ˳+`2Y8;A'ѬXԥxyJ.lNs [y%[*Bl
+"ɽj?W;#V a_My+eT/$ %3O{ƒ5DVlBBVAU`/7?K8y۸p݁T;%r A3ç=Z-n1X@ g ]9@~02G
+p"<nct_ O_WkE'U&'`n=#^&{ :1?,1Xr-nwƉPrOʸ;$a]rv˚=D5z|CfadY{ѲfLI8sne7R,O/2mtRr2(
+5Qixj8lVi6Ie'5#«U:t@-t[J$G5!IBC,` 3RGYVh`pyeΊ$XoHwb@Kj nhhΣd41@F#*jU8z5U2]NF;9$%vz?iQD;uQV qfR'eš^V b졲8G8J(CI"~A䎈 W 0xg0^-`Uh)qa$I<$ U]!\$ô6<љ O_D BC3GVvL[h19G$\-mJD."'7o})fޝɀ
+ͪlM*!nUϩݪ3GìZ"<AWkYDD_`W3o>8
+x;׾Հ<,\bRqjP9K,;-̏iiKvWg1dsbF~!HdA3s:nfP6Ga5|0ÉzqpExA2<nC\Dž3 ;+vY.vji-NAfK|LhʅC?qtȗ;W|eBRVo`q#VS͐[=?{0?R!g&;nLۼ}\od" z/C RL2G+y FWӏ(ۜ`te ^Zsֹ.rC!V'z!(}skO;C 0g#,`=Bȅ<o~/`
+tG[l?aRicMnxlz>C LsjlɍG3ûჂ6mn]oUv1CF%AD@~ATn/aE:5}tװzÂ4.\뵐Ҹ/\lTa]3߯6`sm%.v B+˲I^HV@oe eO_-C#OO-8|<Pw- 8chq Q|DzA dN[ROǗ<G"wr(y 3Ջi]bZU?ߥE+P5gj&-kZַQ$< :.A%۩Ҟ6-y*
endstream
endobj
533 0 obj
@@ -1523,650 +1509,620 @@ endobj
[ 531 0 R ]
endobj
531 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 462.782 677.873 469.756 689.828 ]/A << /S /GoTo /D (section.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 485.826 516.478 492.8 528.433 ]/A << /S /GoTo /D (section.4) >> >>
endobj
535 0 obj
<< /D [ 533 0 R /XYZ 78.37 808.885 null ] >>
endobj
532 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 388 0 R /F15 381 0 R /F56 384 0 R /F23 379 0 R /F58 386 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R /F23 379 0 R /F65 387 0 R /F66 388 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
541 0 obj
-<< /Filter /FlateDecode /Length 4858 >>
-stream
-xI$>}
- LOȧ&$[:#@\r#jz$c %juwgQ^qk9} :QI1ьH6}<xK
-ϔJ/PC͟sm)e(& ,7O?}~YtD*YR5yl HYuj\ yHJv8LIbm`VG?ϰ<a|-=S
-&3}5y<e(;BE~Ou
--z"C
-:E;d 1\$JL<Vh;s}a/K_O VaKF%-idmB6P5(u&iRAKBMځ*3
-T>3*t0r
-Y|yV@ <A..zݞTkݻT`jţ>
-q
-sϙJqe~-qAݽM57=U"}]P#BN9BlL "%6F
-I+fyɨa\QW)[&ϘtAmtPQ3:]?gguʰUT3WK3뷳؎ (#,O6%yZ]#a֣X*U2}nv=>PřQFLṾA -^Ky9e=V:j;yn>ִᑕ `Sxܶ3͹<K>/^o NOal~W޼K
-,̅$XKX/9ikkF¤6c2ZbXX--vHJv!5AF< ~76.`\Z/
-qnѷH- &)~DuQ$}_ Ȁi:ȂɷX
-TL<O!x!0oc/0BB+z#7˱
-"ޡD=oWb⾣a
-Ġ1}s%81z'{EbKpDž'$4'۰'+!@Z0\->eE@я.nl#d<Y$C:- !k֏i
-Fؗ@p?8Wp ;Iy70#5]]yMxi7+aXTnBG*JJc{;/EsĄ@(iDB^sh1u Cަ:*gr0†<HqEV<ȱ,:aј͐5۳ wv8sp"uK-D͍>/ѡYMh,bb<S<!C>3z$LC ]:y!B`o ζtOp-6=FDֹ٢۶LL mr+`*T_M1/A0Vs<>7YSV:WzUt_7(q=w!Np>`!s8k>]ēvF#aRYӸo -|ax]Sw9i=xkۿ{U018;; 8yQȻ}~
-SbԿ|M';ms! ]^oMhv|Y^2`Fe܍
-\NUآF WBۨZR)KkF {6 )6ҭFt好VtVty"~Sda.)s[ܡ5CsnnD''<*;{<\5g*RDۏ-+1sfC }6)Y
- zϰ>m
-C>qIp,frʊd QWoA'xY`\rI'Ž,TQwANۘJzZAAW
- uVw/3nTqT\krW;gb'jc7$ZA(KvEhH'RZ]@ZkgRc]4l0]V5YV]ޘ;?ïζ3:j
-☶zV@mN+SCϽl>&$*hw:@M<2ѕ%\U)&S1t9><]l4lS|ư87Z4fŎE3Y6Xby%h)Ţٌ{^|xΗ̝Bɲ
-b/ٸ1]N[Չ%[I.}4,$vCu
+<< /Filter /FlateDecode /Length 5113 >>
+stream
+x]O中(_ Low{J9L}h*˖\5"*HJHJOo<2Wo__~r=y0j O3d goӟ>?/Dgń5q,'^/BOm_|;~Ÿxp՛0ojRPxKRK1sͪ$y &%k%h*\$M\cIfi\l P/w---Q̣NORI)S$:9 `5M3ϿN|Y ,[K!nXmJVvV
+/aV׋⢰$N޲sOQ;R?boYygس,:Ֆ(U˯ݶMn$jQבbQgO$id"~mǶ ﱖyFd>O'+ȩމ_jiչ.M4߁™,n@Z5/ pE`LqauOoIײ ,7mcLzP)iC֞OZGF)l=E,uw۪+<~j:0cuݙr`XL@ha!2;);QgJ:(~UR+YBb"j%r8FS֋P{2Hsh.m¶H'a2| Sa?h !.'+&!%!9lJs0I}k/i 0diu?YWJW97xƶk@ZoҡDiGh24ocg\Zd][S혲.t
+66IS)Rʡ@TL-+'O6w G%fuo%/-KhυG*Az(M{,ntEӞn/[ B<8ƁD Ei3d}(e<"0)3G1jF N)PaKmc̜.ztpW~e*j /tFOsSܔ/l3sSR˳Mڰٝfn7 LÀ+Ϝ_\
+v;a.Z-XjIG4(w-_ŽSpZy$-U2匷cEe*C ^\C0!$˝PfPcXn.CwI~`![a-z109yDD 2h N[逋
+0Ť[%K3OaDGKfݔV̺)=¹)ƌ.ȓq[n33dXjʙ˝[7T2a;dy\l:n/jjj&=vуi "]`wLee@sk6l7L@ \v
+]0gcw\炁C3I?Á ؁{
+b|F<-]0Ety! A(,3C:&ǝD(B;*2ȣ薂 Fc'`#BÖ,Gm9 ̍9 A(<%G ?&À-9!;̹~lJ0O0(ȁQ"'e<+i{c|BۭD^@71a@c:8{fR/U+5í
+o?
+7N>yMܩb跂>DxDn$Jҷ7=ctauy#
+_Ly _0X[~;wpӇHpGq
+0F"'abxg"}*Z;p0`s9c8E%cuW Omq}* VAs>T[À ~*d'pYvx]1<hkܮOEfP1<O6.ʰY {_Tg!ḿSRqiOyT x:UUP1<>y' >̠u-T O|T@tT3>P,6ᩃo
+(U~X3<uRK{fxjS; BͿϧ?%m1ǟ>pVAT3?}: *6(qv
+:
+i< fP1<xܧZk;؝TL=waZ+[xzxx|=`E;;ȇf귇ǘܧb{cC:uȻLjoCg3+H?X`14(Cz)eVJ[)e<E\K mf5f%r^2k%0&hx!JO J g}⾎f>țYo1AN*&G&d+ |5byzI!E3UbyO/</=Ѿً}$<ؘfyhdvwhf)< ƒiLGwUG*]qNҬ/wBO)_^t)>ѵÔNt[Y{]oeEw uc3ozS2|c0J/ʇ2̓3Y>KK0AwEk+'1;jfV53&| F9i#ͫrf*?wR6PL$,2RJJ7DE$QLk:WQ/c^J/Hjwɫ^Uj`[u+])dGUشe*-2@ZJ[JYm@?RO8p"h[+OxV_^.Fo >n7!CZ6T:9YV&EA!)-[M-UkubV{GMs3"WRbcR4jq[Ҷm$$Y C@2a0#䉊lz'ԪHVPf5JQ?B6K2} 9yT-Rc2c\-cMYoIK)Zưb߿#)$5^ٲ[nzuݣ2N+^?;qͤ>͌!
endstream
endobj
540 0 obj
<< /Type /Page /Contents 541 0 R /Resources 539 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 543 0 R >>
endobj
543 0 obj
-[ 538 0 R 537 0 R ]
-endobj
-538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 142 315.545 153.955 ]/A << /S /GoTo /D (section.9) >> >>
+[ 537 0 R ]
endobj
537 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 367.851 78.249 378.308 88.212 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.619 67.03 177.076 78.488 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
542 0 obj
<< /D [ 540 0 R /XYZ 78.37 808.885 null ] >>
endobj
539 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-547 0 obj
-<< /Filter /FlateDecode /Length 6205 >>
-stream
-x];$7W)M8 V Ys+oIƭh7LUc`c0d~E/]4ˇ^84˯|A/bb4#T/_R#=s /8MߚR_RpEOWJgWQF{ +-K\_0^bQM.vEmu :(ui$9~e{}˩3Z6^Gs!tgG暤=2hyxh5"c{z%BoS $_~B:¨NAI_Z/|S'aS9P% C*:/b?Dꠟ~^ xVx3!r4ȨkOג0_ ߤ }c1 j8dZ
--Oڕro
-sC`h?jWʽ}%KY/ ,_+>샨j~Ԯ{P`uv q) ۿ˰п˿ J9j:sDDpW(s)L_P'VrŃ,a5z'GZ5|&΂5K+N :u&W:"$assړ3ҕ,y֗ҙAkg!Od86\Ky倅?B>0'ѫZ4F`aiPDcA=f幏 #?l5L\ 9j C
-[vԼGHaGf!H=  Tw
-qs
-y ȩt6
-z~0AzP0 z(Gm<Ȅ?I!Fg(Ap^!x3ANgn-@|(+RCM[$RY8h(>='z~=A΍]F}F ƸzWC9Rym!ǻ<R= 0aJkNvpǻ8Q=#
-u"$;i dY*_ ڕf&bdujo[X"?>no
-b*^Ԯ6"⃛\t{Ri=*=`ҮwsEVj(,<BۋH;ƅcʶcAxmӭ
-ߛD'\ j-㪔.<+a%ypkNRNYϘvy=80_3* ͞f'3Tݞ"v){ţ??x uE2JЀgQু?1g͎3kOq&n<ц7.BOOG$N=R94:ZΟoeDXu.af1H=':I6|޳ruqnUMC;a p
-᥃ 9'.Q\m>灲x:Y/Ot%8Wγy~uw_uc3
-'I[SHv~&ט|'{t@y
-Щ(jI C UfFoփ [ݰ,~sqт({ᬨvz=f;o:HNJlQUJq^T0?\Q9FO^=V %}|}T>=xQ9UfF}i_4tͥK%R Z\#JNV a~uc;bݝowFx֏x^ 61_\j0KjLs'e)WseҘ*yQAp5e
-┽mrݚ!zH ,-l1mT`lbys,Z)R}*_) zn8׬$cLpFaY8IqоԬv ɨy_O,2XjMVFͧ:fΉ[Ub.šYݺGx\
-Q-ocM^m{>{cM=*]_vH"Vf_T=U7 Sݖik!p3$.e}ܗWU<2O/Sԯ8ah (٦$Lɛ-h֜vESV2O,Jͤڥ'R61 U{YxʠPN sD&\bm>[kس :ȉ/gRY%hX>D ?{$<0(짺hvJ &F8,Ynpۻ $+[ۑp^X. ~1::K[D&P޶gEӛz}Ɔo "lj*umt(WMзp[ˎ W;9dϦ}[uC^m8K!A"};>֦7<;+1ᬃ ͡Q֯l^mm3),62?Di$/hzclg?Vq{P" O Di.k<ob:p|+hh1X5C[MIujӔ8В05'En>^XC59vkBt51]%.R:J+{S! z*/Qbt9jS
-uZJʌX_ME:G3d=
-
-=ridJHިa_$(yM&*b/i32y"W;NA Rp(=Y.>o睳@1nZ;cb68(;H^yqx+V]E }n_C<@7l5
- \qdG+qqr'\S<H1 a#ϰk&qs1S;Yi0,7ra!l`oa4 dJjaQlC\ abx'
-BaGT1 Hj (>NWdAh'jpWm*0[zA+tK%N R5ΰ Z]gK5KpG'8U],tKpARLdgt.OnY0CE[!11m2|5yG.}Mat10bT5aeX%ŵL)0u6pR馃'!}\4cssz-`܌FIzi }%'C%ִ3CpbJj(e o:Ƣ~ܑ? p(.v)o"Q
+546 0 obj
+<< /Filter /FlateDecode /Length 5970 >>
+stream
+x]˒+j9($Pjzz"t+ [o&ŬZh+
+}W
+ӮPȱM 4ОMPB$ nx
+gl c'NcՍyqş:R-Rz8S2+ʗ8W-Oӥuzr!m8OPۡ^ $d[A+IUmS
+PN,qƄI2:17ALtR~BE&zm-b0˕
+r%mtA 1Dkطpa69Tq;'XD]l1mL5y .t%`5SFAvITˀ/jH:PGE|w#m7Ji1o) 鷵)uj_֡J\enP-h?w$J2I0SY\@΁Fn:}iWJ%^,Fre-ZJV&}IZ9b ܒ!BRXǜ^:BRJ-E(j>TLec ou)bꔓh[TSYB.:Ky׺F!/b}
+5ϷffH]EA,p)V0za.uBjhxCʀkS^~Y&L}:y %e]Ff`nP \黱G1"Q6Q
+u\~[ukB%sַsd=/1Ǥ{?n 8#18w˗w]PKƴ\ζh+Wb7_j/_Kڍ>n^qA50IIQc!bN\+u~nGǒsոޝѾ 'FyOPr5v<B4U?i?i7]!|2u ˿~i?Vr5B ZZǝnD]\-/KŖx,GrUU3 j!5|$W. TWp5fHvJi{r$XR$r X;s (` Bz)h^ PoR+~Z4wѫA);-@ }9O
+rmX Jp5uوXVqcM/YIc
+(KŸ yLųtYoEk7 c Nc `P8Z9 $sۄ`PXB@Ȥ-@ <Y-F(M0 q<A0l0* o;1A1p
+Ϙ5 u$>0k@)igWak敮u
+WoA3p\#+oexPx[W"sENNĜcq枈sq0s9&!H
+O c0(u0==.FN$}zAgQĴۄyM[I|
+3 .JuNv3C҇9gϔr
+Op `"nBL9wD`Px;AΣ=۷GμST:S?Y OgQDѣmr?I!ƨg\Nz&&T0d: oV
+x1~3Wt 2[=f998L ^}x W(N׫#*!k>hLo\}z+e~9[I|gcE'L;/,zr!ruE;avV2CRePh^y!0%^@[N4G;pB˼r\hUOF^Zi[A2,nJkCo^gKS{Ʊ)PD/s)})iԍa9ӭwٰqQILW+;!$_I@0aWPJw 8Oa#4
+
+15Dn)a=RZU^;jގ>游s Uo %7Q=qfI\$nnWDx)<϶GڍhSt$^y~nG
+3 F.0ibxۻؗ`!:ecxDAA͞ԬcL
+3@`
+3 A SS0aY*$ICn[{s:5`ϞH|)OeO'+DyPA߲N~@/F {Ε~g(k hdzKdz{RA@&õәT&jys)-חƢ!Z->Q;k3㘣o6Le׬>Ra{ť&REqmݴpƜ^18I+b%;TrKޱÎI){LbܕA729.N.sBG_kv͓~~lҥ; kԑ>kܗofZ^1qW%]u'}xݏVs浨~Z{W&_-u(TA
+pNz߿%俚{~$]Ɍ큒#Gh^/} ))VaڊQkDۓ͓Jr@g -m}%x\!ʃq$)X|YH|oJVGo7Q+3 7qP~O}3:r(1 T1RU5,
+kQv a&+so'W:;TCN Q>n͋5u%5,*Bnc;[ĵ,<-Ѽ)T̑I6,\Vhmۅm;#9ӳB$y5r7qM jd惓8/=L_Ff~
+kFt<Ihe&ɚ+D&Mx ZRXi#SPGFAJJL3z12#\j:w{M(&T.;'Zq/f?iVǹpgP|>fK2C& }t,nzB#gX*nPK,ܥrD . ZU)O\oW*_^ y<~C*ՒIA,^ 8SV<;&Cf1qWu,k_XD\eĹu;6-x&,>`[~)eo ۤ
endstream
endobj
-546 0 obj
-<< /Type /Page /Contents 547 0 R /Resources 545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 550 0 R >>
+545 0 obj
+<< /Type /Page /Contents 546 0 R /Resources 544 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 549 0 R >>
endobj
-550 0 obj
-[ 544 0 R ]
+549 0 obj
+[ 538 0 R ]
endobj
-544 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 67.03 98.706 78.488 ]/A << /S /GoTo /D (section.7) >> >>
+538 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 745.619 315.545 757.574 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-548 0 obj
-<< /D [ 546 0 R /XYZ 78.37 808.885 null ] >>
+547 0 obj
+<< /D [ 545 0 R /XYZ 78.37 808.885 null ] >>
endobj
101 0 obj
-<< /D [ 546 0 R /XYZ 79.37 247.125 null ] >>
+<< /D [ 545 0 R /XYZ 79.37 191.651 null ] >>
endobj
-545 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F20 382 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R /F46 392 0 R /F33 492 0 R >> /ProcSet [ /PDF /Text ] >>
+544 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F20 382 0 R /F55 383 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
553 0 obj
-<< /Filter /FlateDecode /Length 4659 >>
-stream
-x=Ɏ%8R#Q;( >y nڥ^s|HJ _>__^<Z" ^|u?/s<BIpjˬ_}/bd ˷`ˤ6[L
-?krOg~g1L4
-fGF>y o4oo@_ $T !"aY`|.bZt" 2N7B8qi3ޚ#,# $N}z}ZڄGPVe铁d+R nrcJeLhD,l t۠MHIjf2 IKT5ϐHU(LBJ3H%5O%)Uh=r'KS Ʉ4+j'-Zj|_>i~8戓~m9ݰW
-yL1e‚X~W
-υ$gysFʕ1o:974^sK^U'QZGL?h1 c8yJ9
-k|͓p%4,lifq嗢/F]Iѷm}]H/|hY}9DE)>͞O:}3J3 r0wAޭ|#Rr}6-Lxɜ>9HU 3`\gŷ=G.Gρ$Q>0cg Ş!Ha[?)|c2mfp/Jp
-qF_QTt쾢#>?esfN:6-y+=X&,I;|&
-3sUk8n/UDƣ%c"j&767TR!}Tcl,ɀ"M4
-W3`şP- '6PȝG򠘖" `^[$/=CUD=VԞpK\^#rMPwtA'K%=u [ڏ(& j-f<88Et,P$8E6ЂE \@2NRTȤ #SGv
-`%u&xMVde%⼨M
-CIQeAT_~& f~+QyEO_# ڹ(  4N;
--ehd4Z#XE.G\yږ SSC7#ODWL`mxӫx&|ƪx%y5w#amٴyԋ(wtLO&׮,{]9u%A^uĜ7Qt
-aϧ i6`UEE$6-xZ =58|3D[70'o[aJz%M'iF5MG=+ >'n3/[3͙WIhӲ vNF?!f bSn9KĈ 7GAMe닓o=}DZ'Bxؾe8+i=-!N |tg(OA+)cnZ9 wVH|Rl^!7ew6Gӏ{SFNy j3w^떏)%<Yh= 9K2xBn
-)|Ma蛙?{w]/om=d< mb@[g.Q'e&y +D6H g׊<l(ZĔH=V:1Ρ Q p /iEm8q^zi: ?L:(0 XBmǢ>w!N´ T4.x=ٜ0DւtK 3NP:2Dž}=88y O^ٶ*wowͽ`C #]6֩#>Eέ(fɎyR벷.o?4f0P
-͑]AT=3q7M6.JemVFxND]D؝J {J}_1A4SŎv+$ʲ'9w le|}$m{j)oƑ4.Be7m Q}@H57&:AUMrLoR+,/#U&Ya&}ƂΛ~&OEpk;uzwr! #$|k|ziVzs8|3`B~Sf ckrk%Kyф;[!+U;sg]馞uwX[G]lwY|6n|3;^7r{p9U)m{I1= UD0 u4{AB'9>&;uL:!,Iia
-
-o .z&.ƌ O++*Z+>7W)}&<ikޤ_Ўq&u~َ 頴: b!^`qψw}RJִ3|cf}yݢ䂼gʣ WoFx3}p۔Z[l w{h#w,pBK~_ҎQe¿ϼWe/D:}؀_d܇V]zu4gi~8O`8llf, Ahya.Δ1?sȽI<o?{|84;k]C_/u<`@*{z{7e0U$wGzUU#ro&,7Xɕ uC| [Z
->gUYZ/PE艬~ͳV}BO^a%پeu3 WKӈZqʈLJTˋUu| nQ]ႹIU8spAܦ+H-t]"\10 Tjq?ayy:mZ[8#??&ULG<|tM!A;{ӣF1AA]>F<()'tLj
-ߎv~NޡC7b Uu[66%]-B2ִa8+,\[y}#|cb"%/iI ӶۭIGBي9}dS1r<_ڎ]6K]Q[>|]>U4Ҍyg̺t'N$=6%B!|%ȅ[I]a6.L57ݿhv$Pmn҄$$m!ٟ͛hk@ :aV#ajt_.ԛꔈן _"}Y
-z]0C&ۓ+_i|B{ 31,Vq+gg:ggrPa Lۂ{$2ĺ[2q?&K+
+<< /Filter /FlateDecode /Length 4830 >>
+stream
+x$1߯&opV'@NLP$[lI]7~fg,]d˗_|‡/(7`?E,^0b`܈ˏ8ʾ g$b`be_OY`¹-|HjAKPz\}"~wL6D(΋q4ȏh7)廭qcK"~rKUۧȀ+R-y+n5RX2pJ0S-ef+{{,DT"0ZY'x/_)b܈ HԺ,A4>©ѻ#@Z[hEX%`"YQЀ=I;$!POf+U~t&+`! 9 s|4
+3ΰԦNjK(!AƖo )
+g$ D˶M !yv\zjMkS?jeUƜ(k
+;:RQWIUb@|Fݶ_-YVn(@"Gd{LDq} @BjIPFJ"3i$ +yd`"3*!{Ҟu<OM O iVP6xtj:?}m7CD!0nSh(fY)nX)~y
+暁5?z)b/ŦEIbc9}v&Yzn;>MVĞ"Ha[#)|"d(!
+6zVB[!HcQW6$A ~z(ym//=g ] z&q8ekphܞ7+oݏ<r$L&yyǮ=M z(U>c8@a4OlwA%  dnJJh]N*vЪvM)/LIa'խ#RA|: +C-"=svh}Os:XYB?K,ޘ;e79N vEߌČNc6`gDyl}\+ӈ5%#
+q3)n+\M
+$qJxdy-
+-3A;mWZT?TgVcWUme=R.+&y]Xi!ls#~YJ۰pF=^0% -2e:N7.Kv=%u}Y$ܒ)N}!-gҫLJ(혒>s1c*aƑ
+eNb YB"]vgX7y>I
+ KϿйi GNcMkܐ:s |.DU)s۰A1}k_}GzL ׯKo^b bȃSaT9)I!KܧoRĺP #_a9
+L Ge^W(g ޏ?[P(q|mS]ƔI&H!F5eLE@r5.A@CzSqAv%
+80+ۢ"i,ɝwZ旕<Kj\Rrڦ S=q'آ`սcZy8VcF<go Ht0d5C:q[tv0˺^cN-H{ Vml[T0>,Y4Ϙ
+ɾiseekK7խ~DZ'DxXi`otʞE,)4];
+l*53{P˥bʘ;P…;K|$R,{}7ȥ5QT{*S?PY
+`ҵr`{ |)V;F|ݯ( 4Ӈ:?[& Dɖ[@*A{LstQ
+[X?j ̻Jw6%@7T3jE Ǵ&dQ W'E vyS| gnIm]j<ZaO3kۜŵ J̇* k;$Z34A$tgc͇} |bT*[=.Kx$\V$n
+[k)ANߠˑVhž[u̵<
+43knBAlz=Q2-9"Ž!8:T\&GE:|FtlO#muht*#7# 'r5K~ZK[c-ifE)p`EXizV߄lO:lb~WJl334[).31e0ا ?Gq</ת۰qPVxϴϠ!^A,셥X¶d3\;o$3PdCrFJ4&_tsӸrCy-\
+_ ~<OeLWq
+y
+_pvt  v~BC-Utv 3چtPJCsƄYig ~'f.XhMn̚,S|1f5̢ûd<^ES9t lSCyN+TНtuO<0[ڡ `>/3/U VN<6ͯ3@2þbz v<_
+K,/lu2!]kM.rs.z|1Q1w܆+H[:nåb9i&
+*pƏ|D68 1t}ݠh@]>:Hgsz(c\>:(0tǀ!exypVaz{`l*`
+b-#Ul bUdžcA͚% jiwgB-Bjfh1wsdVp\Kp'{cBSQ>ܮ$^1 G7pr,#>6w.m:ؾWQ4YZ6umܲn]a<ŗ Ҽ, ^/#O>DE-YP2zRgnK]\Q&f}F/zO@cتET`5Q1]/O8O%X$#Ozl{RD#"Y:*폿 Z-%F¥‡d +ݟWSipǺK&+P@WP[ey(FT|m{b xڒz-;Rz6SzUwO߮6z Q+.nu3K#GAT)|B
+3c&RY
endstream
endobj
552 0 obj
-<< /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R >>
+<< /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 555 0 R >>
+endobj
+555 0 obj
+[ 550 0 R ]
+endobj
+550 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 105.214 98.706 116.671 ]/A << /S /GoTo /D (section.7) >> >>
endobj
554 0 obj
<< /D [ 552 0 R /XYZ 78.37 808.885 null ] >>
endobj
-105 0 obj
-<< /D [ 552 0 R /XYZ 79.37 178.918 null ] >>
-endobj
551 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F66 388 0 R /F69 402 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F33 492 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F33 490 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-560 0 obj
-<< /Filter /FlateDecode /Length 4507 >>
-stream
-xɎ%_Q?вj ̛99O
-&T}7V\H V G@xMɵ!YW4}<P_)GKbOI%w}*=gMK
-"O5a]IXpm{=#UOtŭ"o?^Q7 ٫!^$k|q\KV?^(eT33~&LNԭ n,sqm~&Lz.l.qfU;pd u)I _ -o#uk(Ƴջ=jgH8ZA݊pOQ[Mٍ贔eDP<ڔm
-
-<ѠT9BV`޻{Hŋpj#-e OJU ˃ 'xsKT Ĝ&Mo:{e,vx*/<Z˼TS`{_qKT'A{ $IokԕRJ)tӵ6zJgڒQ 'Wމ̐J 2\~c{6RPnR4A
-xiu㰧E~iק?*ˉe˷'A l>=.4{@
-p/Gl<J(n۔צAx~t0sHzO
-m֌KSIu P}Z~ߢ+;R[rB˖u :jPv HATi Vہ*ܩ]0QX R[rUaOw0E?gӷ=R/]Ǫ#È؄a!8
- #J&M="gغʝ>ʙM> #@7H] خ8Bq»Zv9M!6dQ$#0t
-7 f
-A|QU媨pq繒R1L*"yґPG0'[ÚRiLӉ6.riy]ꭙ뮷&Pcʾǥ&@͇?Te@a%d
-Fi@l(%S\a|6(|kgs^lA7)p}T.~ ,J, )VqK`)\){xum*Z=qIRwןfxaɻѺuϟѲt%ʲwj L7̋]#MX'f=?6yhg;xh=;b
-A)aԇYFc58
->ŌJ:BbG
-/K*Ĩ'
-0JH%U]!mߝ!:^ 3`Qo.5 T&=3ZJ1c
-0Leܦ~ uO=н؃
-q?Gh3"}\^!2'v~`<Jm8(`Mzc;OVhe+@5ʜܰ}xm)'T0Aϻ-tHNv+~ƚY^%{D|b*J hJrY<GD!EZ݊4a&R{I(f:$T0;īd;I3Gn 8#x'y9C(VH ^XF-\lH"&.#abn xy~C/ug}% ȝP9=mRi൒/x:JAy,Э<T-(Cbp(Iө4Ze>@{͗%Bj3qxx2N{]7
-ݒM]C -DtʾCl_uqW<vUUDQ&p BG-@-fY2@0j)+̑G}&eEAHsZ^.3>MOZ9V::n*ftYT
-\z&`>Ԯ<8:*)̌ؗ¦2WQdvQc3P^-E܂hjxIa„)3Ot =:>pl|q|H@ ڕs%$oyhm:B,iǃ%i_AIyK^Gêy{$Ŕq_dz w'_@8a s+ kvX:7VlZU+FHE9$cc^ƾl5-T7'
-1Pf>:[ݑ ^vEJ6x7`EHY"%A^6\ݿ1kZ`5v+K~E‘gnuu ۶WǣYefW+cO^J} we+1k_Zd׀;QoGOMM7>=[ޖulA0nvġb
-cWS%ܴږ|mEb * A(p;6S&0r#:vp43+C/n&==2*7BOsa3OE:~46*~
- =Ubi'&ivUA#̛ HtsթO~*Gsv34qa$'_M;3{%o`ynw8P{+h<2Ϭ[F6. !4Fz
-ںVz}ʎZ bBY_\s{ g`|-'l F+̎HWz3/Ύ׫8ݵ}rqb\x'r$_MJ5${:] %?8'4}rR>3ZS4uriitSue,N0P̻XdZj8|l@_6ai N,qb|)pGҙ,Z0*U$N,o-N,UoYN -+L$& ;T81%ASî+ő~T#7'!ڏ-b+(ںQTDŀ"wPԐU:ۖ轌3D3^+UD^Ozj-r+Sx *D+X
-߁%ܻqVLwץi%?<_ ~z3\ᳺ59L$WHNp+[8TIsXc1 DC
+561 0 obj
+<< /Filter /FlateDecode /Length 4632 >>
+stream
+x\K$ ϯ?Z`mOfxoONCK~H_UbvIJHQE~v_>i1FRl_}b ff3gJTYJ{YNao_n(|AOSJ;6SIi xOd%#
+Va_> $b/<D+1NۿA35zsieD(M"A6] lVT;}27fM2h lTeiԎ #>Ԗӛ)'ރP(y>.A5B 2&Jo%GG*Ss[KL+$Ƚ+m>lI%q  4
+\
+Cbm{y
+c gnmr}O ?hm6YA&ZfQj\IMjHV(SAI^KC^BhQɯ&;/rIU5y'LJ-'^j~Z}' }ť׃'77z#DMD,Q?n{C"5s-'V4Σ5>,(\+Ӹ(\)8Մ;Hzk$Z i2Z3ᛄmnP"iC& { MҊj;ɢU6CP(5f-Tg+;2#Ɖz)pvyDYG{cq; ?к"K~/9 qi_r0
+ rQnZ?SЩdI0|+dWZ.:!}ż.:Ce(]zq޽;FT@MɝjS7Wvf/MINXS&;*hv,g2jubϯ -i^|Y6O -D0P<f᭿ =iq5r9w}<~;uX(`ONʩ=hx)pOh|~'iOv8'COie|zm_i71UvecL~ ~o1,D~nf[s/ q#E(h(.4nQ&G/IyQ,f⪷J5(5#RqcqA6{3\R"
+Kvο-)!H=q](fxUaꔂrȻM^ڽ~bۤՉ7IayJ 05vJ+ 5Eܵ4C+c|翯xjiaV=uGzjP)`kȡAsa?-3n{U.EC#}AjӮz7GMq ֔qK
+ 0U1$NDCj
+Tl?AxI͙*Vs6@^`Rr,i)O6r }|t6=ZJiѮ)e,4[*)Ps߈㕴!w91su/+5ס>UP⽫-& mc&B$1m*l)(o4jB@f^O1d#w YG=Ԛk# ^"u36<cw?WCS<R$wReࡸ5hm36:t !\W秲jcMIv
+q<ְa;mݻϟ;mA3|pNg%k޳s=;Pƚ̋]#Ͳ Kc V8N , Q?6 yjY8 <Nn(LKQ2u`oǭ
+rW?v)D
+[ EvA4'%a{$DO3|/1?a>hB!4m:B𵆁)@;DnroӸ&`@X^Arvo?Ç'j$;u!].,
+&h;壼U8#y< ?jߴ#H5>CtQs"B!^ow;afP O9>mbi2q<nQ{<ĂUHA類t#$#؈ˀDϧt6r}
+kҾ5Ɂ33Pbͮ&oad
+ֺ@#oa}45Z0*)66O1ʥJ=|S'$UAlG^4t-Ipu 7ږC4qxӤo7P GUT{V^7X-"6Z~nqSȭoޮ!AYvJ{n+nӥdtO,k'QAfK[0^j梤tA6WJ+RP0A.yA]T w,uKy~~WñO7LuO
+j·\ wE4fW+{P]\PJ)1&/I ^ը]T[|r2-JGUiO[Dqh*n>4 lzPaMiob;P=SmR\- Z\%UDy?L@;rRS%c9~L_
+Zgk\J%Xq5혶&$2cS)Kh4Ѷ}K5SKS\jhU<,W\&p&lamf
+8LQJ/u_"A M޹ [yzwN]([]ʰ԰9^ORn׹ t(yySԋϵW-j%vj`Dkͺ(z'HDљM51+݋
+mrɗ>ٯmꏙ$2Y+V佝t- N&ps E KJ_sy
+sw 6x٫AYc,Q؋c5s~A %RX!O}=E̅O!p0鿅$4~zLd
endstream
endobj
-559 0 obj
-<< /Type /Page /Contents 560 0 R /Resources 558 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 562 0 R >>
-endobj
-562 0 obj
-[ 555 0 R 556 0 R 557 0 R ]
+560 0 obj
+<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 563 0 R >>
endobj
-555 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 433.094 550.353 440.068 562.308 ]/A << /S /GoTo /D (section.2) >> >>
+563 0 obj
+[ 556 0 R 557 0 R ]
endobj
556 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.881 368.864 261.836 379.703 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 433.094 502.851 440.068 514.806 ]/A << /S /GoTo /D (section.2) >> >>
endobj
557 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.425 151.531 255.38 163.486 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.881 321.362 261.836 332.201 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-561 0 obj
-<< /D [ 559 0 R /XYZ 78.37 808.885 null ] >>
+562 0 obj
+<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+105 0 obj
+<< /D [ 560 0 R /XYZ 79.37 771.024 null ] >>
endobj
109 0 obj
-<< /D [ 559 0 R /XYZ 79.37 707.188 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 659.686 null ] >>
endobj
113 0 obj
-<< /D [ 559 0 R /XYZ 79.37 341.95 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 294.448 null ] >>
endobj
117 0 obj
-<< /D [ 559 0 R /XYZ 79.37 302.106 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 254.604 null ] >>
endobj
-558 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F65 387 0 R /F58 386 0 R /F55 383 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+559 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F66 388 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-566 0 obj
-<< /Filter /FlateDecode /Length 4433 >>
-stream
-xɎd>_QGPj:L= ss|Hl$d]zz[uPj%%9ӗ\8wѿMӧw|7 q){F0O/?>p8_356a=یY=jDȇySAH8$wJ48 x2!_ZAW'T)R'18vg!4 }s<mhia6 Ƴ~9oۖ?sH4:_ch3OB|iNemrx\$|~&&X:`E(\8/#w(ϜCӎI)/?~p@Q.}yRE0(] }__h-}?đ"JW HiEcA);x_+lƱ4~W.3
-\,9y|PSRhZ#\h%_r C%4Al*C>PⱴE緢ChYl䩴A(k kQ#Jri 5hѐF/<PE\ e^/ccUHm<<2(&! ٔ` 4Ni~ awknb0q ]D{m%,/I`H JaaM
-62.;Y;,bce7[}3Ds '& r"+{5Dx&13࢕bteZ;z/x<ia ?pR'=F|%V.0r,Ib$K%fqb
-~ +hh^/Xy/Q(9JCyCnQMW7U0跎t։yĿrxp"T˺Z :I[*+si <!#.I"vi{6жn=sL3{g¤ w+ߗm,~:egIxfj3i_|}m+Mx3buOcPyޑUt }]"B#]_$Yx ]=<o*-8Ҽ$
-8,9hBAQs;7ѽI jw7L  [A+ !'B(6ȀU̢r5!2= OZ -?J_'-D97 7G {/\[O
-Lrv-t3hMS1Of`NP {T{t~"gݜ`~RJS=jyczNl^R٤/Rg\''n37iD5"?A=i{lC/v7*oh?o~Nv,gBW09iikK ɜUy?dDg/V0[Э:hwqeL iZ;;t8$<K=02Dk
-L8ƞ+$:\
-j@+"Q
-J''y",:\rJhQ ,qvO ɴT+FynQ"M rH]cq'U3B lK߇4 0,/Ҥf@ВYx=^
--_zZN;{W!@xx^EX'~ zC wSЂ*h
-χnO󙂞;wIm{[^Jqh*,H #SEkg a=57H{hTљWފ꒭jmTZzb불3t+SڗBU>ce?mlChŎQ\mmF֕9&>v!弰r~Q^2n⢅3c6\_%ζ
-a׫n( 3)}ipƣy$ױ;_
-s =w4Ɔ]Y z%^I8%9z6rC|XPe\ Y3JO
-7/HBʙ7y %^Y6@?EZj=PW lHI*f,;dPs1*۾ qx5޷Rt=MԋIZ$?KMo"|FhտT^9/qg7^&T~ԟn"?5eknQ} .`/ )X&i!Xc"\0it;,tIo<ᦴ)ݑz8~#v6f{{9Z19d?RI`'<e+TfYFfCbJTT6V/:
-ϴ{e <Cvռ
-0]YJQ.IwLژ{ٷaՁ\py+:5{٤ Тfi-<Wm?c<|IXfxkLΎk;9k/9ijS5lCl~0̌yW$
-k[yh׿ ̭f008S9J)5h3
- )#e #zn<~]Ҙ3Kw|j'&@@̻~T|-+,Wyi5hQ9r;V5*5B9CoNR=bU$A-8j{!3IF/xLX4b`%tA?j|mu>WkIJMkg-U}r;M8Y)Uh?KgL냙 h 16SozüL_Gy0~ `FN˿.~1Zch^j步z슋g̰#G[N6g+ v* 75$< oy}rRO\E?TYip,O%<46ѻ֊W[JX2tVH5ȁ0~6C- ,hl+}Q1ͻm9p5<c4:&?[n3@9naSXަ̾}nnr X}'Xpr۟K2jed5y5AQE,H>-?z*:S߽R$m 9i?-xZ!AzSOBmFxVᗽ]'6=/׳+nelh}c<ӻ%7fݭ2k@
-+7Nڜ@ o_O͙8u@9ǪV`\U*,.
+567 0 obj
+<< /Filter /FlateDecode /Length 4404 >>
+stream
+x]K W1> $RTzrNؕʧ
+`ں saf'M>caRy[aP
+q].uL,ld_E^J7y沖)W-
+ Ңq ϼ娍E3MFWqvg(:nC~e\ћLC[,[~"piԔBo&4?,_,fPqOcZ_ww^.4pV]{y˻Obidjh;]J06ZQCA O\BMA](X
+%S~":#y_=Q묣ƺ2~T 7*@
+g[- *_H}
+dndcH
+6uWljk\-JuW1ƍ8ߙ8RwՇ5TH#'9<QjO0C}\%dVY $FHm6WFDԓ7Mv
+Rz+FbiyKo@>QalN@\.iO4;']{?YÕĭٮy$cS-L/p]iv֬^Bk)SɋIҞ;]wbR-6:%?MYܶ.? LHƕ.侩PqB6a;IOy Ob64IaH/J@yôDb\,RP2 R
+z~evݿدVx6G,&p)L鵘`&o} *#po 4JR
+;₊`pA[\PY
+~\:[- @Asraou#1$(swZۆFيei"vAXGƏ@SԭcT3dsVQ6"Q' ww'GۗI1j#F#P~G`?Z~~86CmN4|j`;`3wz_Y*a-%aCqn L$~Δ;+av`!Ʋ 8<Œ\cl$JC?\8D.S9Hd
+3p 'H}<es
+R (ӡ.G~Q ˗QupPGVxd=3hZh"P;>ϟuTZĉZF*mFB'bTI4\<(TG&
+^n`(Te[8a%.U11WX[D(_l
+Jdݰ8M.#*E%ջ$8äGt&Er)B>YШٗJ4v>բCK(Ε\י`0byVڙק r\x޸4>MdVQ߷-uz[;Xsƞe[Msf<턵yijꕲ)[m0ggm5u}1iWrTjs$6dBT( )/g'Xf-Zs[XZO)ӝL$ vQYJ[*@٬[ LzESJ𱕇ڈyAm[⇝ >o23-~$oGTAWA|4gYM 1k2c}GE;V߿7Hި`;Q?^Z-8H9E^Z|gnv/ͿL/{A]0Ȑ4nxg3Ʃ:w8-RU%>Yܒ)ftN>萩P[Jx4]£pm3rfkrzMq;C_8r6'V-fڥJE{&=hQxF/^K峾1\]DS҃#t8X8s'qÃ9%No`4u{4k´ҵ&hͩ\!53NSs+[ [By%^Z{mH-Ydj>ߗ gүOV((YՊ-[7ѡ/oU 5"!}=xH9sJV\UΚa'JT㫰U~A{^p"g@י<ek9P2BaóXwCІ㍃%k
+'@;(egv!lBN8n9oClC3ttF8}KĔ;Vs;iuX?
+%D6z>B(?&?7s|>JI\輱i+xeWaOwp"'깳q)ߵP%+M5C4 a_m[hK}"Y[oN\s =<N@es%v>b͝aB`s1XZO䘆g(H2*ZikVRLhn\4}vEG\4# , T&[~t'*RY!+ѱn8y$OGcO?;nwNɑnw(_bfn;o{]d^W}^wxsEk/aN$)9@np*-
+7E_,Sط]:* &C԰?W5{ ڄpLrm$oaC
+o| ?xhiꪠƃQWnw/.l?Pd<M&Y6ץsƀҏHBOV}ɥcݳ}X'0 @wJS5xM32ύ[=*#.6Npί J%t me=H{L>
endstream
endobj
-565 0 obj
-<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 568 0 R >>
+566 0 obj
+<< /Type /Page /Contents 567 0 R /Resources 565 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 569 0 R >>
endobj
-568 0 obj
-[ 563 0 R ]
+569 0 obj
+[ 558 0 R 564 0 R ]
endobj
-563 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.68 364.677 403.654 376.632 ]/A << /S /GoTo /D (section.4) >> >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.425 745.619 255.38 757.574 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-567 0 obj
-<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
+564 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.68 333.295 403.654 345.25 ]/A << /S /GoTo /D (section.4) >> >>
+endobj
+568 0 obj
+<< /D [ 566 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 565 0 R /XYZ 79.37 217.335 null ] >>
+<< /D [ 566 0 R /XYZ 79.37 185.953 null ] >>
endobj
-564 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F15 381 0 R /F58 386 0 R /F23 379 0 R /F69 402 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+565 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F57 385 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F58 386 0 R /F23 379 0 R /F69 402 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-571 0 obj
-<< /Filter /FlateDecode /Length 3978 >>
-stream
-x\K ϯ0Zziۀs2vn=md8ORL
-VEC 3k,fbC%
-x(ŵi6kOW` 5͛BxE zz
-
-6eV O2ʘj>A~(%F8C5J
-:-k(I
-Dng3X^I*obяVӞ͓ޡm{A0N5%ZOd#G-zHq1yIε뜡dom7lQ z9ad]|GIxH=RHl`o$1u@2u*"FwPI(Pp)6!hRL a}ǘpp;+Ad<uŕ^vY[cb8I9 T0S80it@/ژ¬TQ
-8^@ A#@3JH4/wX[C&i7 /i t㏛bs@"=[>='ڎB*Z6j-urk ,.1Bq.$tURTےH{Q& BkZ6grNRhDe|{ob&+:4M0nbL^DcW ^W)wk ??W@J($UlÏ ~|k\{{mrGԨҧ;iEv~֏usFWH!;7r?JYh,;R:HǕP'Zh ˬ:״"jdn)z
-ne'#.LmU
-pg23Tz._7\ {g:~'%l '!`{@I,%"Fd"$x4]ϱ"k0߼TO.Y;kUΉ4괭dOw`J=ŭ|A9
-A`h/pڗI{Sh8sz$1 N1p- qj8t(0{Kh֚"Np851Ҟm6HfX)>Y$#H."I3Dzy_-<q=Jy_!.Zwf1T T봌y-B&^Ծ.LWDrGP~;6YKbj&jT'{ #7ة}㾡=)sŐQ| ú9opUWv*1k)gb`B7&1dxo
-D':aȺ8buA{972
-דscpP]>S9g鞏}[ f%-r08%"RD;Ӌ
-@ .ѺD>Iha&Ȣ둮
-
+572 0 obj
+<< /Filter /FlateDecode /Length 4087 >>
+stream
+xɎd_eځ
+2<>g /dZL+kpeGUnJ<O<姑u~> [
+==Ɇ?]bm޽M_7 o9Hx\KV%$eZ4Dj<J']Ԟ(If g$Gxl^5s>Yvh{:?X,{::D_HzhYI=q#n+pӸS7B.6hMSӉ,|AI _׭<Z8+M2Srkꎳ 'p8<Ot;yF:y:yXQR<q.}f op6Pj"!rnҮ)pT2gCո-*5j(W =U= \a%̌[Z?dM;i孨#E','3%Cp5<: (|ṯ"n%8P#()wwA];Ǽq:R%/Nc
+mE%/цSV_BWy`^$&n (@'\;&`GF}$P
+geOEJL(h1 sjUШtA˘YqaD 4ZΙ#z16SI_NˑtNl~d>~hÙ2Z} ʭ9Y#Ybւ JҀoK ћF|{Goq՚
+TuU2A̎zM+A^%uŸqqqcFEr@K蕏ZI#iI<:n0)5LiAkڼQ@3.17m
+.$1ؙCc
+<R2C͢ C2^,i,pcG֊iD,MaWɹd]X=.OqI 1/7
+D=z_i=`#U`7 qS-%r׀lv^ xǫCbLM&?BZf&˧:+oIq;UwҽicY]"6ge?Si;^Xv!MOʖ\-Xwghhfm1:ƔmJ`DHx^]*h#aB2T;ɏ'r͚IV4#}/5-$L[_uuR+}Rg#MR-OBHx5ER
+iFRu-cJJ->VNS%~Dw[in
+"Dž!N.mn'=*eR|U'%ԝa nn?906RZ#6]*5:3=lyQoѕ[x#mvq%h>xU!<,.
+vK F&e C[9#1\1ѽq_uZa.-.6\Z|$~{FfɟZpOϿ/ſ^#QYry
+Y6ij"4
+FSL8!z}jjӫQ?Ghj0M-P, ¢tZh7xWM=|4%M=bzM hEe~|uuCH U-C'Z(9YjFfN_#Дj #5ޘ֢LPČyAB^냫y|]x̞E|9hڗiîl薑GKz̞6Pwϰ?u)sibx=^Iow<7 HQgFA<ah{VQ%MqLF;{rTt!Y#<վys9\ȋu%;DhHqM0}o*;Yӂ7;mT+ A=[y6u/(3šQ2R3Jt݄ykktxEGgohU,'(a2TzǘR6w *fPi-eVoX) r
endstream
endobj
-570 0 obj
-<< /Type /Page /Contents 571 0 R /Resources 569 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R >>
+571 0 obj
+<< /Type /Page /Contents 572 0 R /Resources 570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
endobj
-572 0 obj
-<< /D [ 570 0 R /XYZ 78.37 808.885 null ] >>
+573 0 obj
+<< /D [ 571 0 R /XYZ 78.37 808.885 null ] >>
endobj
125 0 obj
-<< /D [ 570 0 R /XYZ 79.37 452.623 null ] >>
+<< /D [ 571 0 R /XYZ 79.37 432.887 null ] >>
endobj
-569 0 obj
+570 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F20 382 0 R /F69 402 0 R /F57 385 0 R /F26 404 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-580 0 obj
-<< /Filter /FlateDecode /Length 6495 >>
-stream
-x]I%7xË־
-bBE< Y[sr{tB;/("1\qўw?tv1NNB-9P:%t -~}6'oO?ިKKvOK t`N8u/}7I7vM0?O?ߚf{H~I5j
-7]Zas07E
-iۏ_37oZ#0!hOǟO\]I8 l8L(ݍa޵_3A yM~]0@v]dt.1t%0.Vo=iYGt# [MB|AK06֩Bf{Yl 6-ٻn*ikz?75a5΍'逌E{SjIt>ګLυGџ=6sCJ
-M _)¢"ZeH. E$W0h"~lZ 5uAiŔk̡83W, k,%Ԓj {5t{T^2T,ɎrV)?B^MhoA񓔪iHȌ5
-;H-n>%ֺfKĭ^{y'KE<*JۚkV'x^S!5l>c,څcPV:Q8-O!B{<P=~|s1n#ty%np8W`<) UvQqd'ڇ;
-h(yչ8E;^, \i6bA*VHӞ啓,?4Xݨ`s?/c]qZhslXy Iq\9ɭ?..ɯZH)<0
- %QƨO)W!/4),>
-X񬗤W Ti5CSb_V,/(@}[2a J_
-V-9Y/XD ?[XW|̌[C83%*g4e.J-Hqܝso d=LZXk
-mk^36*x_u4EqU{+g(}!O*mS%[/}ԐUgv7ubkioP>%J?~efN0)(є V-aHNyAxiOhAhOpp/5?K
-Nh3WiFR؞3;k,|W-AZUW|nhulgaƜ`eJj~\"vìq@iX:j}ց52ӜUyu֐
- b}R40BD,$<ⵇ5
-$hNc%OJctye%bȐ1SkZz8Zm!g;=JCNL+DT8p M>W|W*0-OXJgeS}TӒүA"Rb
-p<roڰR~kj35Lභ%W8zJ:C-6',MmRvKy?̓!]T7ѯetAa6t(O[59r9% prӷem1+ AW ġL\Fhtuj1!jc5_+5Bf|!^GMƊghĺIn<ImH XGN"n=oE$Ezaקrኤ@=^-]S) ,?s=EJei{f⎇(݉;piyB5Yaꅾl9<ҴehL]wZ<cbsUʫ`.(`wydwy~̳evk <'~޶mn<t'i쮲^N<?9-w6?ږ=.֧WU`o@^t ?차%tbKoEn˹n&[x.[*-;J߸=#~,o5v:#wS_wM]/Mz<حSGaz:
-Nm[Tzԝ+q,*;h_h8<@dj3iDظrL!kb{="vFĄk,| 1o kWKEl`=@,.fߌ8_9Sdv7pN=G/+.L:ZgՋ3hfႣm+ ୞'
-I}Ed٘;~y
-3zOx3z)1{"2fo\uٌrw!8_9.nC1[Kiv5M eئ896O;,bܦ<oӰ\[$*/jnv.Oo{ӹ<)@pMxoz經P}4U%wl9Jg<h4#,!4wS9zoOP/\)Z痔T@ˋ2T[g(ĢAα9$ts"풬fi?uݻ!{d$pRS1ASM8 x!iLeQv)#@F6(nd@%ka!I#.c3VcRvD/+KzI#0 i+h6QPKvv)g
-tN<F2vaqH꽎@67J` 6$oA`$Hh
--$"Bmhi&h#4#kYPSJx5rðmH9$q2{6iQj3QA
-2WET@.7=B_9rIE_zN)MZ-Q'8SNrFM?cPljJJ V}* d?`
-0VzOEk 2DHY{?a!2VǕIwGq$Tı
-JF2ŭHr QԻDX6Cy[awgqD*ZCfw
-c#EsM2(mejGF
-2nKEcR,-8l6&L8(c6Q88!QV"<B(a3Z}jǖjeSYV UMXN O9T?*9M%I#h#_ +(Ɍ.nmoG
-@Gd1}*!4:#Sy9ÙC
-+Q!oLva=)"q
-Tɉu4 @f d=w.qb-%#ۈvOVd6 KKi>֋RXE"m@J0
-[KޗGO(o:qY9f U::Wpe9iNP!/+xYd6\7$3 |Ʊq䭡t|/McY|pζ4.9hN7,JR1WBw|ntl@!4{qEEI&J veEJ6Z2-6$|[s1$&/4nRӴn{^dxC5MMzK-y
+581 0 obj
+<< /Filter /FlateDecode /Length 6103 >>
+stream
+x]I%7rxGp_F]j/f`e`N.W4e hUU`|_ &S=?~P#/9?탆C?b^l|Ġ_Q(|zZkA2JQR{'ojvf:jY Sx
+%u94-\3RO`wQ%Ѻo-ݓ[?..ɯ C8DQa>Br"-Kdʅ|xKҫ`4;l+'NmYi/'Omx)ݦ`֒aa`sۖs|B0ZtmWC8l3%*f…
+2 ASn{@ևI]9IŌȳ>3Y X?qqr >>yWk->}njR>{ŕhoЅ~7#v'G
+@hYc)|
+]8>npM@C&Rt'1/aqѪZ&ɌSč@Q{.`S7#OS.v$SVpFN̫qǗ!sᨆ'9ve! lNleZ?1_ڊQܱݍ.)nk~ ,Xj5:dqõ\Av&oy,DZ-n?Yݙ tH~]r1C, /L![3/=͉~_*g]60[=|*t=10w70/꫔m==WVD_#)+\zKNWI(q(/J!CƠHj봟[?k2CQ=hśV٢VrbZAN8Ň8 97Zi\Œ[pS2 *մkK)v{/WάiKhۯYg8=%H!C1}؊鎻lv&$W뗲?!t__aBM_mdw6!kv䄬[6 ݴ:kg=ʌڮ^$70qWB~$؅??aZLH ʍЗŒ}P"nݍ0"vڦl!6.%;uԻf6ykLm7}j(m ܁٧9Iۂz<_TO)m!T_xMśnWrM[ \Mgj4ot\ӛ}h}>ܕy̎GỉNx\u| U tlYaMIRE w|]u#;q>p6791q$}i' :u|}rp4?ǵ-<ea\n IDLޮ#avk-<lSﻗ{*Pߞ~OUE0˹j#tSiC<߸?<#r|Ekcw:jWR_b8_.[էz:5qeO5PgBޅ8r8&yYT.{7(0f,cJώgAQ/A \ؾtS "T.s&t=0'
+nf <Í%IzW3no=7ٛ;n^ck7qs`teQ:e4n8xܼFj7Hqs |ܼh_?n%!$7ڣxf77𞗄.RִƮel6kwfd,3~5PemFN{26IwHf$4ۼ!~%u
+ʁO3|rWNvmXsspyj FW= A=hFH/_hm*ߝ_RVT0:/ʔ^HK:MO[BI 4id]6C(, J .cjȓZ4uOjq*0xA&Qm4T l~ze]2j -M`WlPN 0L
+
+DaQO hr6%SLwGt
+ʗC9>`Oz(tj ]#9fXa($̍"ŐсN*4۹F pv_h rd~FXW*&# `GHc@9Ȋ[EzQ&"[ʚ}i"K@Tߤ! D9!bzasەR`N4*(E+D4Фɲ\Ή3zTLG=# GH c@9Ȋ`aYlHy_р{%HyƗUWeKbjV2CI5VXq&U!KLAIwR}
+37j]eRw6G""2Ǡ݁r 4‹L+mW2-3ݔʡ !Jv@┕}JH!X&%3T$hm3#
+JQNݕ"oJ<" 3Jrn2y4G"A"2Ǩ݁r 4‹LPjeN% ʲJntJezʁQn*E!E<dPsvP*nn#
+"YLz_xf Gz@M?*f͑RC5;CVxa8D&ђZe)Z{f_^FC^E˒p,QU"˰ -bolV?jQ&kR)0,JmW̰{=7ŤĚSZd@#.6'vSj2JF>#%T ?VwU5[*b#.mɔpTd82nWTa](bojM+RiD))EXlsSTehr |.`'J3.,%|&U[u*MlJd,vU%N4>#+T GXJ,d L$D,Tehr}.n'Vz'e\X>JXNTaI:u4*)F\lsU(
+hq|.uGJ.'|,G@XJ,D K$ܸ䉽 qODVbjjG(b&
+bBFզ`Jȑ,,`frAIbs^4,y>JUװx"]1²SZr KQUI TI1"c
endstream
endobj
-579 0 obj
-<< /Type /Page /Contents 580 0 R /Resources 578 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 582 0 R >>
-endobj
-582 0 obj
-[ 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R ]
+580 0 obj
+<< /Type /Page /Contents 581 0 R /Resources 579 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 583 0 R >>
endobj
-573 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.812 568.635 234.767 579.584 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
+583 0 obj
+[ 574 0 R 575 0 R 576 0 R 577 0 R ]
endobj
574 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.658 534.585 257.383 545.425 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.812 543.437 234.767 554.386 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
575 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.104 534.585 285.059 545.425 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.658 507.571 257.383 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
576 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.065 184.278 362.02 195.117 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.104 507.571 285.059 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
577 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.743 67.03 308.2 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.065 151.966 362.02 162.806 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-581 0 obj
-<< /D [ 579 0 R /XYZ 78.37 808.885 null ] >>
+582 0 obj
+<< /D [ 580 0 R /XYZ 78.37 808.885 null ] >>
endobj
129 0 obj
-<< /D [ 579 0 R /XYZ 79.37 463.755 null ] >>
+<< /D [ 580 0 R /XYZ 79.37 432.717 null ] >>
endobj
-578 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F69 402 0 R /F20 382 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+579 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F20 382 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-589 0 obj
-<< /Filter /FlateDecode /Length 6624 >>
-stream
-x]Idȣtg hLJ)@ƺ> 4k
- L)I
-RL`H-+ jXPk$5.-,#R
-:=C -HqF3耸.큑QgsTSTV
-i{aH0Xdx#a3l* ;>)̀E _?"`~AYWL2SgZ\7⪒cӸww(Ÿݎ]rG3L,Lכ$
-
-;IHIQ=-پ=bWIc'^E$7|1l șb6i8Nyr[x[{Ɠhgʹ}HPKHJ#`BKRe 7pw}c>w{Q]v;<=BؼuغȐra
- )o;Y:3 oNr=uW}Y~Kz )H9j-3ZtWƺ>֫Iſҵg^t1gsW~6$v^=1 9oqhݕ_ʃ9qmnJd3}9qmZ^͆ňxIo:5Nx\u|mbͰ}=W{<g\g YlHw}Sjq> /_/yW|>3:Gc}1,^xGpw dߛg{d~k}Dwp1]~KHy[E%5b!ƦoU{Z8 ,o?@VqQow?*mS’O~5m'ӯfI~n?OO>wB<TOjr%UR-g`2<_?P? > F"%}^ߊ}X}UQuK;L;y (+hO6OM<0u<6u- Eםc=9]<qSyW4<uDjꌮoy)C/s$.N܍ ga$M ]f̽r/SִaO180G G/UfI:] ̖K'g,/5 KIꏐf59]Ҧؚ%5;h ҥ%ksȮ@~B6y}WC;/o]RJWT~$K{^o}eγn5zy1RcYj.QF9:gγYiC @yzxkyPT' K_
-ȗpy2
-Ȓx8g@<F8x,9;+rݵ+~ʤܯ]=ukih4mEʚ#<42v {Ge
-^z1t
-x>pVNQ_׫x*(.X̪O0"?UͶT͞TS5|8DwSB|aJOA-ɹnjGv0'ztlS=p=(=I[qwe&}.``]4xCڼhkgS9S]IS}Ԩq2I68>NbaЛ4id]6(ǻB8<yAI^RX?캁'U (xT;d#MpJIKb=Xb. b5†&+n6Y$I%E#/b;CQvd/p)j E#1BP 슚Mh\ÚY+zrtѴbb_0\QGbTv%1%7ÂAHP$`dmerV g!&Kb@lI6R36̣IձGv@VT$(aZH6$UY`8|S(KI[g좉"qKs]N / s %Z[dCB"E2T *9r,iZ)N]"jp&aIH8 aO=d(%s24\ We)ȒL[>DX֒ ,Tb &Hed&QO'}(8hF&&Ya$f(X2uN &HEʼnDŽ9]uTIG+(IE=I#8L7 hB)c*z:cq@;CrAY %!"d=%4L(B
- deN Ih!24"I?uBKQ\8b!̺q^aJLP -$*aU >CuI?IBhB?cE X;k&sB)Хd%^d&Hbg
-`ej18ZrxW^fY"BDB/:CIEFHIT^mALVx2\9RcŠL%)8Q%-+2,6HL@yVd[H@\|2 g8~N@]
-UH"YBA,:I=FH0I rL"@M떾X/`ŎdEc8d#= [[!EZ$P
-ŽXv) Z z*"5@p"d 1Rp<0;%&C\S=[,bU̢,9.K/ U$C)Y:endӪrveC5)U% 4>W+Xgn,&X3JR&ȒbD&}  MU
-^bDŜd
+590 0 obj
+<< /Filter /FlateDecode /Length 6715 >>
+stream
+x]K$7rϯt(o&S;  h/>A棲z[{+:#`f狾|A_| r_/\ʦtI(/<iǫ]F똵vVkg'wX~ihFfڗf6¿/?}zc5wk=֒m}vbmm՗.B)}^zoU=H!D:9Βyp%T
+ZXX vjS\
+DXݔ`'v]w/cBqԬXsj,۫$}d/s`Ag3rT͚[\Hf7w\W"X_v1YaIǜTr3g`YFXskI?d:heέuU{I P?d32=葾ڶͲN{^Xlٻ.Lr)̊18>:
+ؼdžZd,K&B_jC+8ݺ^25݈; ?,6YɃV]ꪬ(P?G!S4Ї"&@8~nJKqޘ#t0 1?,*ơV3nre9t<sTry3]*77FTHqEHqy3bMe )耸N큑QgsTS[[*3*ڝXv%xҞ6"Y6[UO0|LoMCkX J JֳK؈ԅHt7Yckgj[iex(?uU3L*9=6[wWJehis騂1{ cu^$Ip"vgVz؋<)pprN32<<L:FG^\$Uy* ٪᳜UdW &ĸ:/^EִtRӇ[R۝;j]:15U47#l=5~3m-h:&}l'8oGq׶tWQNjpaE3#ھ[:ܞNg^,<Wpjga~Y-:)HX[>ЕAx*Jhq,PJ[xnXܜW<{Tx ^YWG&y/<cpf<C \ᠷ](N^H,r+"V9-ߥosCTNͥf[*a' 鲯rDEm[dkWFqx*"lB+a ʶl<Chn On6d_C=l/1A/CYxppkU0NW=W}Ah#ޞ
+; ,|{=${{ĮNJV-~decA>[ ́<ZN BO xmtg
+dZ\>?yߨ嗵o=TKP޶x˶
+@oj8o|"B8T6/~
+u6PNhwwRT7׆ԆG]y;$!^1Û/2>i[E>!^y_qW6^0C>:mJQˉ%*-UȠ^i8o7rv*R{rtoye]">uoJ-i2Ѻт>6Z X5+㬳d޺Xcm]f&@Q5ddslNbӋ4`zG6
+UCgz{AI0Q~ V
+O,OQ64v&þG2H`wH64]qB! N6d& 0HP42(69nGV#Hafc\0qQ4# YdAWI sFy_iH>a&꽎hp$1%` Hues^ ַY2 g3HQaM=%$=|>aXH6$UY`8|(M*ف$4`7hH*v\aC;|C Dc%M!
+v’p:žz'Q&2Khdh׹`˸)`ȒL[>DX֒ ,Tb &Hed&QO'+8hF&&Ya$f(`_2uN &HEŁDŽ9]uTAG+(IE=I#ؕL7 hB)c*z:}q@;CrAY %!"d=%ԡL(B
+ deN Ih!24"IK:
+o9W8b!:`0]%6D "Ϙk];-I rABA+z+
+`hnY6)n
+@,N*{]a &($%ı5Hb1KĐ{R+#l fkvh%^H!Y?U.!"!cz!HQVXa9q"JIN^CbTAI'R C^%'ֈ!1v]Ҳ#$Q62`C\ Ҧ/n$!DdR'+
+`hnƊAʧҎ_#&UFq6z(V#K/R؁1KJZ9ڌ"L2F]["`z7%Xj`"X~H )abv'u7B~@fHI qHAƊ͚I## ]EZFE,Y"XŽ^U
+^bDŜd
-rl5(e I"T 7YSAkS:Q%݁qa(c7QժN+SiOMB#aCVH\ɎtP}w ` Y"tTm4)e ȄIb@.&vbk1""R2DRWiRYR$3dR\`)/`buTm54)eL I/FT GYUA+s<QqjSrb
- Xu(e))F\lSd8lqF>W#'T1;0*A%¢vlJUR$@K97OD bd
-+S͑*,vfA!bA94R\A쓬pɺOs2,N/|~Ob2?3ObCgfr[58k[Ǜ
-_II~5#p xZ RêJv k|K$ߴNnӺKo)zUƎjYꊖD;N=ZӚ<#2]eo~:Hfw!Evԍ~&Ꙉh=>}7` x\hޖ~jLNV jƐVu<RvRZhcwn^{7N ggu v⋒jma֭[Q 8l,'hT֥aGZ9w}t)YiEV&rmN=nh̄ M*k 18mhuO /7h\\>Cnw ѱi]uOQߝi ϶V
-Qjn~:2p,ͥb5-}^(靉yR }
-.q
+rl5(e I";T 7YSAkS:Q%݁qa(c7QժN+SiOMB#nCVH\ɎtP}w ` Y"tTm4)e ȄIb@.&vbk1""R2DRWiRYR$3dR\`)/`buTm54)eL I/zT GYUA+s<QqjSrb
+ Xu(e))F\lsSd8lqF>W#'T1;0*A%¢vlJUR$@K97OD bd
++S͑*,vfA!bA94R\AޛwG{2jcRr^|^tay{0\v獗{W"s} ;/&utc0O}qk#+pxk
+as"F6-ssD{)BWuje7GoqHiNĦ?Ճ4xW ߊ,9F2++"9vޖͰW!diz7'
+t)v<A e6 8jNNޓe䳝fu3^pQ94o&;+{ o5엧^j}a:oq#=5>Q2\Yvi"@H3erniuѬ.֌OvVz9r]4dVE2ʳ9K)eq
+JQ
+00s^_jXnU/P+xkE[} ]hysOĔf:Ʃ~cu;y=}K:?Iht='ü]m:5ݴ/V^ť V
+PTOcY/ KnSߞ#m&ywԸ(:#o&o^齉 v/B<!X()(l;ᵵ yn!&
endstream
endobj
-588 0 obj
-<< /Type /Page /Contents 589 0 R /Resources 587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 591 0 R >>
-endobj
-591 0 obj
-[ 583 0 R 584 0 R 585 0 R 586 0 R ]
+589 0 obj
+<< /Type /Page /Contents 590 0 R /Resources 588 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 592 0 R >>
endobj
-583 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 697.798 309.624 709.753 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+592 0 obj
+[ 584 0 R 585 0 R 586 0 R 578 0 R ]
endobj
584 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 212.428 168.536 224.383 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 666.568 309.624 678.524 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
585 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 148.667 390.013 160.623 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 182.934 168.536 194.889 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
586 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.992 81.479 170.947 92.319 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 119.607 390.013 131.562 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-590 0 obj
-<< /D [ 588 0 R /XYZ 78.37 808.885 null ] >>
+578 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.743 67.03 308.2 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-587 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F66 388 0 R /F56 384 0 R /F65 387 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+591 0 obj
+<< /D [ 589 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+588 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
597 0 obj
-<< /Filter /FlateDecode /Length 11702 >>
-stream
-x}ˎ%徾"Eo: T*N35zȁzS h6cF~oPIs*ℹq>$}ϷO?~Ǜ[ٿ9ʱVRbqo~{9{[=]뾇/J""7nc~wo gL8~q؎s"FׯϾ#È2LH1B?_wF>M^V⾻?Zy%;ljK=F%-a餜LQwi<"OV"[FcG]}ټ2 U1-gwԌeEH,qcz궒UO\\O?j65<<UsT~zwUsǺ=\Z/a~D%l٧T?*ޮ# XI;H^F=N@&'{v,Ya7v3]^=:R\ӓUOEٟ>*4cj<4|-hx'kKnK'G7};ܥ
-2> Q[!Է%PMY[(}{ނӛM[V:gpkLlo?ܺ/[^>/~mxmqSZRan
-Ela!X.~Olwneūtoo;˟~G݌?n-nq׫fA'Z[sv'rz}H=$70ls _q=bexis<S{/d*ݳH4J{duY= Jc&/`EKky)~߾f vT^'.5wf`6?oYOƷLCM}f\Վa.MhT@! VEyO\UB/ HV>&YT]ܣ '4؇b``5lb}[Y[yE*4u1d=4
-=
-}ԭܷKDud~H2q+5!яw 5}\\=7|q'ӊTwq'%/}s܁hlIg=ۃ g$=ۤ7{5{giaҖCxT31_m4JǬf̀jq/ݵŸO\7%<S
-UCgU~ҜPjrmki>tC7Lp>tC7,p>P̞ԊA;pb[>hXHLK}Ec藾۵}l2'V=oxݮ]|HI엟>z\.b<Sǥz♒dZ,k{T+B|ak䇕0WG"Cb)MԷĜfܞfw
-bǥ
-Lec(Uq r+wX]^h@rQ~-SA)˝ά4ik+Ь* sw{RRWxjEfPU>$q
-AݮS\\ŖNI4ѕ Izf'P (ff%P(]r# WRͻ7A&AЬ3EW'A f*ZALoV i`EI:A}~a=d:ɗBIBs(\*9*4AܝȮPq؏/Vv/
-ML5S;˓6Pa`dF͔:Q=)sK +
-CS=,
- jκ<nCa0EPh [ٞT 'Rcc>8Uof}&A|riX/}Q^. 6F\J|e;ܧ$Т
-{p'TiCt[IԺ[t2S(.ϴ:] BIaɎ'8#|TLKzX>Pf
-^$ G+3ݗ
-42*sP]EdQa☡6w
-I<WfyPəIk!(-o@~C$\01Cem
-M\JvJ S4U|0*VTKRȨYkA8!8
-UԉeëbN`aR8 EX?tf&Si.W'PsoSL4tLAZLVұQm3òyh,N`rMV4geF3˛:d>'f̌xZ !D̴f#)Rh-P3;J)q\(`<eJBC큡0W+GHK}[MɅ -Mq[hIMGbUݾ*OV<uD
-
-r7P|8o
+<< /Filter /FlateDecode /Length 11689 >>
+stream
+x}ˎ,徾""]7(T
+fkqսj@3fvH%4
+Ⱥ'̍va ?n˿_o>\ۑ}?nK1Jv۞O?}]/z=n:jF&W>a~GWlwkFؚdU}dDJbV!H|O+8p\y9Ρ>SD U<_ܿ+&?H>EWZ*31G\rC۴8}jߤ
+npdc9UxlnRUV̇q8 ,H/=z $Qe>I]ܵ)q(Q}ά*8kH{ F_EAꋩc^u!-)jp6sqTB[3~1[bf>u쇷q%ޕmZ71_VBXYp#v~ .My[*y(ʐ'Uh侜ޅ-ǸzNiRhc[<3z<89uisG"Hn5!Y+S6|bg9PnI^zsh
+e? I5lW}x |ֻ jlZ/-P9, #͖qîXܬWKw|;ߺޱ _^yqA#Cū]Nq_[C5on^[GM7-S°FCeYj:KvX\_VR*OԱ_,쐶4|TsT\ުwW߿V~^\>ufGWhx*8?R'ځvБ8%sң
+2 B%PMY[(}Co^84m$'gpkL<co?ܺ/[OƢkk65
+ftTc0=iyn9Sb}DbrC微.쟊OZ(utBAy-"),tzDF8= Ho[X3\ccw/axnŴH~[2oӳtNje4<2ŠGUmq+xv/6OrvժW}6ϕv[o8q(1fjɮ<:.nH<Yؑg) gGW<id= 4;̹^ q8k'3VGzex~ކ)7OȲ6#Kۨ 4]GVf^x"]hX <H-z\yT&{]|VUy uJ4iK<OrDS\)Q/~<|J2X}
+{^wͣ ߨ,ww/?3< g:WOԧugSzGofX+=s]oHG|crfE5F&z.򵅧*&4BEJCIcCX"u!L~'*[u4?}[:pPG?oanGu7s*Ylo`6[4@,BsFh׫1q=#w94RUk"J<X%*W [!ʷ#\y"խPkvVQ뭆QoaK<]'"6UR{~|-L0g*QsEJG楀s_:?%T
+boyl5/q7ME'Vϛ0J&jVʙ gddF6iif/l4`gKԉg5ku߶oI߷̚џ;\?ATvz.8 M o1`s"M*q\?d_Ba9 LʵNT NT LMPZB1{+'qD]xIc藾ٵ}dS}ͮ]|HI7]+3՚X"Qq^xnZ^z\k~ x%Z]R_JR"\䅖^1DM3:lXNVTA]LS,Uq r+_./4YRqB9 %SA)˝gi҆*!(WY3TΥC֊R ͠4H
+d!hOX@,`ዻU;PbjE!xhqkB6h8X;z<~e;%l
+0w''y.n)A^ s -͝ 4h +Az.4 MO?DA&Q̂W+UK2O^K RwoLYg%NAGpP f&*%JW$ zXI4\'_
+B'Q͡Ds 4VФ qw"JsGc?Nh"X]
+;oML5S;˓6Pa`dF͔:Q=)s +
+Cs=,
+ jκDnCa0EPh [ٞTzrSJVqLbجd:O. ѬiaXa eS#d.ORSnP]ul lTZCaxS*Mb֭آ"Eqy}Zxg E*01U~f&ӡҰ^,Գ c4
+sG,#,(?vP:0LfqPY;YHiXgAC%g'y RuB (͒\ph ;slG X{.fnX}[*P>)t%" L <'Ԉ3C*ج*{pi> Ept8&"? T`Rhj<=Uhz| 'uWbޟr+eDU?iE4,ehQ
+ [iu80ey:,UxxUl L<4LJu"8T'Jlj25r~ UQ[_{KyO+ibxl MD2@hDfA8t+n*9s$7.0RYn&GQO+8$%e=`6N0Λń#PO'H [4?j33;oESWHBvy$@|Lb{VSraCKjrzSq -H *Т۷BEɊHBSM|8o
0aN E3222]nP\!WLBec/G UQh
-J-r\h[}qҶ
-E
-#334\XI#<n+:^`UR|.pys_y)RݯKMQh@O{o0
-`b{xh'DTT*@8~
-M]b9P\Z[A7mU~ PpRO̮և3@zf2?^UWy#QkwĦ@04\QyA?S?x:^djN1,gjHDw
-a72lj\w`ZҨY.Gzx8],Ĩe8 -"!W
-"h4~wngX/z\mp-mQ;-ظ\4Sd#.E)$e8r5Us{˹fױzkRv졠}Ϲt9aquO'sGEP`_{( *LG)C!:Qwq;)QR|AC2fpP/w\;Pn7QE ͌FsH$@
-vj-Oc<e,ٰ&w
-,*&PEc#_x,@Ἷ $_jno |5=6C~~X|Fo
-6Zf6=xR'
-eT1t[tqfh"rQWBWKM403I{ }L,Eg8ҬI'q#? )d*t`l,iS@pa&(,xle@QSo1|pQoW Q463᫛H=MĄC.~քBȣ7LCytPDC^ݜX8
-x wh
-}aM%!Ec@CϫC@w
-ugI  ;y 2||8:*Umcys o@u [7Г]uycXxf$ۉNnmT
-͖sΞשR0ë
-R 4AXe *j0*v*€SӀS#xdB Go0ŗ2fǓɰRٝB&SV.c!w'΀S&7QjŮ$v=Edexè P;ɣw'JTxw|A]cؗ2y\A4SAt1wEy,@3Wp
-B7„ de`/_(Ba_*/
-k)?_dnB N.oo&ã-)
-&#5S˫?#O?GcW3['E^u=-^iguozX?XZ?_+CW럫Z?v@WŃЕ#?퇑_ZʜAl9?KLp+7Ll;HYY{Bt%!Nwt=ى͹K}`v]xeyϹ?\HDŽ9>/Vy۬їF>~}}U.G_{$2y+̐V2XRPWg3My.+H
-YS1)ЋC9
--K >F dzijqI;le ېb
-YJf}q7
-Эjo/A%óeoI
-oq03v<)2PgV dN8h>VV@/9^+Hf4L :3k,/qw*/)h *JX<o4ʔZ9ެ8)h,3MҐI@:3Z褌Kܝ24_݌OcQC[:Y@uAC)W+E(KYN>g9<\x_=ct DdmaXmҐI@:3Z褌Kܝ2T5FkpvQpnۨd= m4]"KFn7VЋGbSˉM#dhd3u<H u؛uQw60i;1(l TC$3ܝi"nBi \E$Tj`e"i`LuX< uHEy60i;/(l TC$3ܝi" }w`!%c)rIg4a]":!<GoeN%L{gAt4R:y3gdĞ-۰>;TDB2o @5Dۙ
-v~v%_W/j+[q.W[49be2,1^|}k
-E~x[[5cXwЯY>1϶+Q*ΰ7>]>Pv6޲ܧjuߣvrPYNJg?meȉS/ٖe'VS@>*Yh_m^KJ%7]=>Pb,{ex7?JY9_@(M܏GXFN/4Z?6e4@b<.\lDW܈@C?[#,}XsHڑZsOS7˚[1\x~&807Ja0O65><Rv\n׮߄%K&l]/\9y>nX.jFCf8vrt~|G#5?I=PmhP;>͆@qTymcF0+W= qw+߁ !$TT@@c_2ڎV
-ML5;õ g~&mB0bћUa} c1+!4h8;tq$}M9uV*H o+ד2WA
-[Fi.~4gB
-ŕ*sw
-sC\Ni.uy ks.D4iG<zI+UZf ߓ<B[A)P/}w>̣@<h8X;zK|-Sʸ-LFj m|> #֤K:M\&/RpyTT5T`Tf<I+T4Ly#Au–)ۓUhW&+@,pfJ7-< L qY|}Jq
-W4tmw
-H3Pa8m57@E3R줋vz[ڙBT i-t 8{9r8QcͰy"dt̝rQ ;#y Ayt9B
-ίSȚS" ְ342Ш OFW tpďv0|\F<
-]' kA>(
-hBLI,fwAKti!KL)pP
-TCcc"$w`%;җ4|QJfh*t(e13*JY`(lJ|Z̒&8(I5-E l 1 `%.;"Yj'LJxe,RH}F#/
- 6ZRk( vݭ ǬfwAJSz yNf>@N
-TCcc׹"w`%I>җ}QOpL-@FJ)s+%Ph: м<(i5{%l1 `e.E
-]oь:_E9ȮgwM?Cyc7cv]uQ;*gOU.w;>r{>"-uOS-RO7 ɞQoZmwyo4O.}G~Pc׻_11Vu~Il'tϖ5._s#r܃mh?ք=^bl-v{ǯwOxa oY8~m277{}k~^O׾7oooooooooooooooooooooooooooooooooooooooooooo췗- 5ՙ܌0ۿӟ׷6m|}EKڎRhTE0\tm|tV
- (w+?pO'S<>>vW~[ V[⯃uO 3qG J r<}[(vv
-RF0rh6+8NJGt;
-'yWǙ@ޯ{NVCiCJxIQNr9Z5RMwv6oܗ0CQv[G)F~\\ jCH019㣙4
-+b8(mR[m`ƻ?=tc@$\ִh\)C~oPBob6|Zք?; Cj@!?>
-g\7xr/cf߽MunT
-(R R/aҸ\a~.};e@YhکrRwD'`=+,{ܑ]E#-O[[}_qxw^ʏɴwlT=iuU|~.jI  U?HysڙW)IkP(=
+J-r\hmkGffi:GxxiЂQWI5U}4k̹#4brZ#~fHu.7FR
+M&;T3P ,)YRk"@q@)+I;Jϙ+  sw;A2 ;Njb>É. ǎyjaxP4~28?yD.7o{%w>aEKjg\ݙLp.=m.l34R65e.;Z
+`-XiԬin#Bq@U7{a -1)p/HH?
+I$w?M.|o_򲹽\TQX=jp)M;P\
+^ວr" (]=x Mpy}Am[S_޸;tKGD!iGvK yK@q@=ϻ,_{#63!
+5M44<
+veŞ'),1Mls»@ F a)4fDnN,E`};I`iZxq%((8SDAaW+HCW7'2a;E=GDގke4Cʨbiҕvl(*&PEc39y0xDŽ!^˷L 2N5jߨ{Y:m0BMM4~si3f%fm9*! 7S+?]LfFBz] KiP/u\hk[(lX@#qg+UIW#hC}T8 o* /mz^uT;Nhh4݉NM^+swR6֑7 Ta dW]ud :;%Ţ8 vbkЉOPs'6*D fKԹgToU|F2
+qe|I x;Qaiӑr2n|b#7IBIdXy)N!)k+
+BW7Ä de`/n"Q@ BEa-wRFCAA|-<EgWP-2¼Sx@;zh&w
+2
+ugI P pw+Ső ?x 8~l=C=#aͻw=>r)F9ՎgJX=@Oy%!:N3j}'bF^_D̸󲍠Gg0{j"閯X*? +rUVֿ1mVa$zf y'r6|D+=}X1SnjL &QUt_?WLg2ʽzxZ͖6.NOu{Uk~Zj1jm/uDWՃѕ^QzҼP>;AiŖGri2b38=O;DixH7~ͫ_:ܩ_f׮;Qrܜ۸wjW٥g~Q_˻_r=.+N:>/VY/͍|(={\>L1kHt`МʔF#aX@jl)~/ұkV09
+P_[6sqS >F dzijqI{ e}c
+ :i og>s{Thd24{ODޑkQMP6gH2iKhGo;fePyIЀ/你mإ
+
+jjްT`6+EptnJ{@-{J L̀pu
+жP}Nۣkj19$ \fG'_"RRQ8xPtd  ;Q݈4|FQI^B'%7ʼGec+<*bΔXpf݉mDTץ;􁲸e,4`f~"$ C[-tEbC;$V x4|^n[]}.םPc( o$ ,&LZ(gKܝw4XA%,7QeJoX l4aF"JI@:3Z褌Kܝ24?2;>OdQK[:Y@uAC)W+E(KYN>g9D\xo=ct DdmaXSJI@:3Z褌Kܝ2T5Fk͇pvRpn[d= m4]"KFn7VыGbSˉM#dhd3u<H u؛uQw60i;1(l TC$3ܝi"Bi \E$Tj`e"i`LuX< uHEy60i;/(l TC$3ܝi" }`!%c)rIg4a]":!<GoeN%L{gAt4|
+8onO]-ymzQ;Xsڢq+swt/bb;J}R_U>Ƌ5Oz xm{ނ {Xx5e/Onm;z}ZvY7?y}6K*;B%SA_z_m٥]Ֆf7?fbI}'s~06xIզ-ƺ{&·,|5pvR?=m+-O.3O.KZ
+ Z?/
+ML5; g~m}Xh{FL4zrr?, Dpcu9E WsD/g4gJťmzRJ\0X٨GK$u[%oTWRKąIj
+rW*ؖ;jRI:C5
+EFk`]p@N\b+( uLGZ҂3Ce`NTWah+) V.4`m&툇;]*iJ \ab{Zc+4(o|`V{͇yh ksP/w=|e>T sy"}Z Ǹ9+!X&_li20)}σ{|<[2S).OZ*as
+0%`jdekNeAbelP8;0BtIN)+. P pw滪\:.WWM{(k E򉟉 4ބP+@w
+NkȚ3݇E]j8>;@E3Z$[ڱJƄ6"< +ܬL$}\3Xwl2*s\TF3A|-<8^p̯
+N;0g¡.pί5;Gko
+ʹߋ@y
+ȩm!Bi2hEϣ=;@E3Z$y[ځJTW#8Rqv4
+_8ug\TC|@^%B$zyؑBեY̳]U O=B&Fg)vFCA cLS^px~3O+WjnX8op6MT^4I޵bBA+u1KYx4k=+lg1S
+`e.E
+`R&
+_$# JsMgtB0yzDDXIKH s^gx?d|F27@KBG@#TZ6JdApAw+e1xҔk>ӄٴ&%bJ \
+(0ؘ3uH"9XhI%s_4S oJE,>0meNCf-4/
+ L546L|,,>*$G/:<Me. 6^R[ᨓ ;^''?)MN2MuB t2؈KoNwA|,H
+V>wէ[ tu!T¥ϽRzSWGOVn"xJԨCQNN.DE*tg_mcW}I[?zӲ$'YurFru|or/a1q! U3IiVŤq0([{Z»<uv~x|,Zm;s)~gk-w{j×LJ7\w&ԁ)̸ަ#;u8!^̾{mމr҃{xqMTa:Kzf)Xv1=.;L*R#DuRw|t#oޡI-*+yje@Od[\_?x|Ƹ:z$E|2K)7 ©f/
+ϯ~[T܊ѲZ MFGyrϧ޳x>M
+Zcg!I
endstream
endobj
596 0 obj
-<< /Type /Page /Contents 597 0 R /Resources 595 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 600 0 R >>
+<< /Type /Page /Contents 597 0 R /Resources 595 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 600 0 R >>
endobj
600 0 obj
-[ 592 0 R 593 0 R ]
+[ 587 0 R 593 0 R 594 0 R ]
endobj
-592 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 337.833 115.714 348.29 127.394 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+587 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.992 722.266 170.947 733.106 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
593 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.903 96.563 263.36 108.02 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 337.833 111.814 348.29 123.493 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+endobj
+594 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.903 92.662 263.36 104.119 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
598 0 obj
<< /D [ 596 0 R /XYZ 78.37 808.885 null ] >>
endobj
133 0 obj
-<< /D [ 596 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 596 0 R /XYZ 79.37 695.352 null ] >>
endobj
595 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F79 599 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F58 386 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F79 599 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-603 0 obj
-<< /Filter /FlateDecode /Length 9744 >>
-stream
-x}M$7]"Cz;ɵ2Su)l$[f礵ޙ֚i/N
-UWRWϸa<cwk׻Xl1U8io1|Bڔ*Wڙұ=d奕P
-3Iץd*pŵ=gvUnRR))i͞|EW~]r>XG/ji0+wo5(|*#/E8U:]Y}yG֝۝=
-3^kgZ%zg݅G>ѵ zv#1 w[B2NM0
-Wݒ6ަz7e"WL[_1y4&Mldz}Mpyg{28?wCtJ0MFC%m)͟|}eLVwO ;O#I^k::>>lۧLJM>;/7~MuܧuI.;9z$ k]Yl}ϓ?ǜ vjs_??LɣN\An[s 3CaIЎ=u||9w&:j- {!p| z_r#:\Ϗ { _qz|WO#tvO
-?y{?v:7L(ZH]T.q|\Bļzmz]%n*? ZD ɕ˯F|嶑Jjh4PsCK#^e~"ƿ_Ô_@-$_~ۯ[dym{tuޘZǞMdO3B\O>1%(~Q }R绳$Z?ih z_h:!_ִk]NGk'}u]:Gq<
-O\SYRKt\Y0حjKd9 S\UprPJ& T`rP9͓sLm(k>D7ڹ_b4.yɭ<9v =kɶK]lkҟzK KnNZo,u͉E'.jSQ/|m\<*%́ho_ۥr_ %z3w kWD>wQ0st+3"ܒ#Fv3"1EEm@;iBzw;]szNp^WFnh5@?&4:D9`1ҽ7+3+id-
->1#gTE+bG`Pgb.8H}?JD
- ա"1EEmT$ q7B5K:MLxіBR>HyD&? T4ćhow=<^Cq L6u Td&A'OќAN,Se'P5fdDIcZDΤ1+4%<E#zgpWdYj IOdՅ&0pEtT41;>?YJK)\6K+asҸhGZ诂)؊A)]hrAՂ8ocg `dJd/jp(@#US 5{L48fs^3ƙ3cllB{aa (PmGj@bj8_%W-fh16DҦj ;u|j
-$
-v5TWk+
-PHՔJ0a ][yqbyC$q&PniWsA
- EkŝoQhR! MQgvT">AɾE~ilYn`-)U;j;
-
-7htJ.;_3`&Q5֑L]:ӌzT`L`̨P%k-"/*vha
-FF
-I/4 gE1-+=hQQkYQLQAZ! Uw˗I[#!/4~rSOc'$@J Z3,cPsGB`(k%})p6p8(ZHI=WB
-'Jfف; Y"/!e7C (Jfxفfk)
-b
- Ҏ0رXV_DJXBsX <(fTjhԚafr?STfV,FGIh(l8oF6Ib#ǤƬ)fk1P@sNbn|&hXp
- 3Yd<DUA݊ Y_K nYO VDdRe =dnQ@䯥 vYO4nèoJ M(3L̠a&pSUX<w0FBdM-d
- vk{4UݏvL
-(0ءm DU'>HH
-"i@䲁0$Ɂ&Qf$T!ACnm$h z}kiG$
-s~ eV)t,%/E>kNRv
-J0بkPmsj7Vd>6^/:ҼW,F;P}Uԗ7*>zӅbb];RxFKrvz[ y>BF rj/ɡx%V7SwFժDJI%WgzMUgY5pS؋V{;U-LtKk>pV{1,Wl{ܷO0 =8?o3~XMu/F?Ns{1;VʪI>IRl5^߮DJ x3pν{3K -Eh5P,&%l/kިMCK+^ X.~$Vmq(ppR |Yhe)) e o8F yݑηuw`-~2Qrpaq,R2 ѹmP.mrqqK۠c<klCAng.mi.7& yh_yG9zF_pGr {eMFn?-*BKur_0ĊNbոM"Eau-v.HD<-|sed/}l>7hzZ6>6|,Ռm9vGyΏF;RPhR[J3:@kB r{L;n0Q
-D4&z)8Vulj>İ˂lXVkPW?T޺\i1&B 6.2;
-
-LKV BV֐":RrD:RH*,)rPh2"Pp-8Q"
-JU
-Y?_^=C}=[)n& GFmdmtF3E``@b,dY`6K;`q(!Q˼u&1>B! EƎIS.cbaxP"v/&pǑ=W#-֌5g݁uY
-5
- 2zʁF@,µTl5qg')HӲ!kń(5g݁u;z
-B]P3)@dT9Em"= *vhn+ Ak;{!4F:@k]ݴ2]S̾:|JQܨ9܈' U$êkiJ$.iIF>buq?bDƍIS.rcb&rl
-8<oB/Zh{t/_88a
-E\4;pA#m1:@"m0YwS~G2/^ZYjK\m).!j8[ um?*G.&ߞ~iѲ} .,m4^v6ܻ;Ybb=Y^vZzQL媿6[YڣYڑwH~,mqI,Q,mǻOAG YړYH\> 𯓴'퇓 Z]iK>_hʏghi>Tvx'x~]}=iUluKa}&?;cHO` [٣eK]s<H?FD~sIva<~HSpY']rٱ iIt?;;rQ!;;ְ/cmߕ/ͦR|jv*3[EO=9Osf[~~Qx~e$3pqi|cNH%U%xөM*.) ~*T.ܳn3zCBf I
-H% `
-xWERã ;У0s`[]  .^p 7d.]7(rTgvrASfm+
-eqBWTR5oBזnuNHi /׿
-bb #I,%IҵAT0܄WR
-z3)*v*
-
-=
-Kە]eq5ւ;KXcI $u~f V~IRV?Ң_YotS߰{܂4ؿ¾jP =Eu3^,r' 1uB˧Nl5b+TUhI΢gQkf&OoF,B/s-ʹ0$IoggϏc <izSB
-kW/O-p+$?ib%>J½.rYZ)z+tJ4G(U(sT'r .[?_Lsu|tG#9>CnU?ngڍ=ٮSZ=w@O<MaqCwruɚ|9͖Jti! 2bmw=Mm9h3ob(-)S "KAn=|!bOw}2[ږ=Ν_"Qrٴ
-%ÕuSw2 Ҟy仔Cwͬؤi%IM?wNu ? Jp~
-{ޣ~^x?,NoS[n"Z:[8T3pvsZcT=cԓ_Hzb~q;S
+604 0 obj
+<< /Filter /FlateDecode /Length 11911 >>
+stream
+x}ϓ%7n]ECɍ^ELOa&<7Oژ=_ I
+_SsOԎɍ{m[>֐/:><RgT۳}kn->τ<ٷ[eysӃow螪Ĵ\J6h[sᮊ/[ 龊R C?V*Qrj*/?__|9+^^^^r{"O,|WS~ml?Ko^J/%-67oP탪;H٢MocÊ?͹Kþ=J?F8ƿZ?~/rig^ehѫhR)ee 4< "7=D>jlCQWdҤRӳ'.xڥSX~hby4
+N
+LW0_t~yZM?%Od<5eծl;%9WthlqWpVi IJ=w|<:9:_~Z-xzXRr44PTcBݧYУzZH s4$]}"s't "\8UnzHkIs Np/%CQQ ~%֓ـЃ?ͤj@t4;sPKVE4c
+d":T3D+2PEDayFU4̝\p6xfx'jV¾;tSD398P9I3=&0B5"K:M,xO&m&||#-<M~8hj3{(8yL݇:l@j=L@8Ǹ>s4pЁ4r/ΊliRfdBŮ.ufMlT<c?qR8#@[{ ŵKJsG]Ӑ8ej*z M[8OS5p~:a3)ɤ]
+THH,SFejmڜFvRWP mЀlaڦFjj #:>5 @/51jz[CKL,a 'RfL`43I[C$.B-Lj숹5Dm⵩tX l&aXHLZxM<Q%}Y,oaїz)yP ,HSUjH#/m#4uJo5uPq6$*`JՈKad(@m US* IaJc-mc2uL
+L19їELJGd4v12U sg+;k̕rl.aD M{l[p"꺼'&U_QsCs תLJ|sJT܅vE4 #"ҁD5
+=
+EvASTfw`K Z*x8N%#jK( =4e7aWieFeX2ċz4
+<\Es 2nLx̜vs;  n[a
+ȡm)D®e
+фD>Q́QQsY۝QQ0k+X o]K8)L/~ iV,5P9ì"9* 5w+
+GMP` 8hxKL$KY<'O&6`fR[)F
+)G<=GSsBsu~Ǝ=8m6$s~ɉTNKgLZbn[C #bՂg
+Y ]COǸ2X5JǢ+x|Ջ;{{<f1ϹLZ%zɷ{I7jw|8[>f n3GˢZߜW)jYvÚ\Q=<`穇x?wZ{xZ?=)\yZ?SMhuEVfl~_:֛Z3'9;W~0Mz.子2A?sQTiQ#;/10oܟ__%wacO3-)<띉Zk _\Z&Q$PHiUoޭ)_3R/+OS^h5GAPW%aI}G#b.&@֕Iwk*8FјܶrVT?]=B}wVX=iUE[pp~޺5E~4Oh?֭l~ ?H .ឭ
+Ki* oUpI48K2
+W*0C_ }3*8C$j#ɖ<5GF犟K_ڥJ[.=Yf\j׮5f7/ʳUfvE=]a/ ScG#S?8„-=<c}1q&n>P1nWhDqr6T?֦8kvEcy8;/-"S #ں6x𘢢6s s(jΎHkQju;=sp1H@nGtZ񀢠s S&CjnF`*{rrPWkzp kCáHXpVcv|Z[Y{ 뉙[LM(a=H15kLb'UhgŔCuԊq%&TkiSV!8|@67< B99-Vp5PM`MdFka=d(05j@bMjg՘F*fu%悃dJX"6<͜l6JÜv **ĂDm"# Cں6xL𘢢6s {lu;mg:mUG٘Ol؎lzCۀT 4۞I#B1i93i̺b?quJeNng1y"rRgL0(/dUNF WSV^5D Sh`33O@TZh
+M(qTŀEQ3HMV *_M2@[ ☭y[,B7VkZKZo~[j-VkgSRu "CE(QYZ]
+{9~ۛoQhR! Mb@l&a'K%s[[ mKmfܖrZɏ
+8 Sѹr-`~) Ǐ[f'.
+C(VkI1Pq8R>0
+B
+8Eio$!;LZ-6Wo εoN J*xUEC
+ 3Yd<DUAO݊ Y_K nY/ VDdRe =dnQ'D䯥 vY/4nì7%&M&UPfа[H
+MG
+ܚFI0`pAolȊZ*d˶BJ̪}MH2b2ڞX27Muc"D
+[h$ʐYR&
+"0id|DE̅\K!}@dKaHv4fվ&QT1AnmO$jp K`1qiy{.ι@'9-e\4K:JL%K)W
+%%UzQ\W^Du7N/o$k.ViIJrAA!>wխclխHO G.Pu}BFU ri/YXkťfRy.|vWL^xF{/7 4~F}od
+j2EZ}T?w#]U4.Ov姚S<v۾JM?}4abSdo\CN!Ƴ{1}R@s rRT$Go%
+^#qJV c
+s|z쥏F-YOwm\Ȥ~U13M?s~4BD*~<OԖRz{G<xGKj!-_oU+ލ'1/s3\mo_Tnly cEt۱36{X; aoZZU2E*DSW4g_X]G@uU%t^dӧ*n9ử}UBoG?..3~(9:0'E{
+Sd?S+5q}5o>RĪaU-
+q浗xz.^K* $POcǕrbmw`~q^Xey\ze9=ǥW^kiReΕzT!uPrL9zN^"'CK3ّٱsפZ~1޺\>%UL*L5Ժ(* 0y.% Y [؏O[_ԡ41ܑ':7GIfMT`=ML@&O)dwAµtTK
+z9+A =is&vSQṕQQsZ۝QQq0s'B1"*ݯڥPV] 7F70YBpR ;q#bPc'B 8s0${aXfQm^_\p4CqcR ܘ8`^)
+`}r-<GȊ KiaqZ )TЈ5,NԨs Pc@BjtgmpԔy?*`bb_(2nLp̜vs 3w+! _cw{
+OqP{./:sMfk"rDh`ԖAF'n;ST fV$B
+ht! K\7Onb㤨*a(2vLx̜vs 3w+
+5
+9XttGO\*J?ڲ %iqK8QkY[En=U4jV(@CBQHeHZMa|Abܨ-Nܨw80j$)\KQG
+|~Š,;I踦ZLQQsZ۝QMQa^nWJ]KXp,T2[i#͹L9=&U<fNQ[H9[aF
+TC
+gv(ߚ^nZ=QQsZQLOAZ!Ǡ(,Yydr?qYxr5觝嶹R'c&RڶOmr&UPq @k T#SM+:6K`9t? 9gIYf)lܞnvFНr2&ݔ1y
+8NxɄtHFx[gۓ3J1l1P H]>>I9nƌ BaK?>3}7(<)db?Krbәԥrm]ruu葜T%cPd}#i? #;h s:^Sz틳ws$ s7RGޯ-tZE?Fw!wz$ZHw$|;N?[:UȄ^r'{=wdS{)S6?W65'qW2x{ʳzH/:ZVڏ]_-۵%)x7ӴEWLvC8ק7c`i$G7N6::"QNk`b6E,Y,[$L6ˣCE}'K{~<Kv/qQDuxK۞~$/:I{~8Ir/% :E{V~<C;k5xERf2x>?;'?<:<2Ͱr}+7uOL.G/q!Yl`VJ G-.z^O9Sc(VhodG3CRc #}GǥWO^ecssΙn:grW@w.\T5 9ErԖW _f>@ڐa0Yi) I]$$`IH'0.#
+1BpnJJ[,IHK]wׅERã ;ѣ0s'`>Eﮅ R|`{hiy[҅2 .[o9*ŌaF9)
+
+j
+bq۵TRuwskid.o]WޙT1NERKRswN Z hmA+ZhRCU%,u3S:nz" Go6aRZovF3=aNhXtZ*iC\ArהnuMBiM/׽>
+b2 I, I۝RAT0܂WҐ
+=
+)JǕMsm5тA)m%3RXǏ
+6kZ Yo{ZYԕM|XU-O^}{>sWeV4
+=Eu\2r^- 圬Ge囍Al5bg(˭ϫ"E׏V,M#"iꠗZ\i2$wS"jĥ6xls_^u8FMK_O/d7s@L/rM[5zoXb}2/\‘QV`1 4Mݸkcpg*vVrG%EOl~8 Vj6G^(le˔wq@;Misq?+fw׷@`lLDsd+(4QZgO>TlNv<e~.C9(w$.{BOk=b{[Oeo.ѹ}`_}ۡ*r;t$kxrx?p'Y̚ |(6MvO)I.hrwvxr>:3!F-ovQ{FT݇:}W&_>գ`~q]s)yDŽ,pAA_}9_HzLfꉗOȳa SW(~AVr`nk\Rğ8p[
+/y+Cr裯8]CG$48
+i&nE 6X]'D
endstream
endobj
-602 0 obj
-<< /Type /Page /Contents 603 0 R /Resources 601 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R /Annots 605 0 R >>
+603 0 obj
+<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 606 0 R >>
endobj
-605 0 obj
-[ 594 0 R ]
+606 0 obj
+[ 601 0 R ]
endobj
-594 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.396 122.208 223.852 133.665 ]/A << /S /GoTo /D (section.8) >> >>
+601 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.396 67.03 223.852 78.488 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-604 0 obj
-<< /D [ 602 0 R /XYZ 78.37 808.885 null ] >>
+605 0 obj
+<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
endobj
137 0 obj
-<< /D [ 602 0 R /XYZ 79.37 597.17 null ] >>
+<< /D [ 603 0 R /XYZ 79.37 520.772 null ] >>
endobj
-601 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F29 375 0 R /F20 382 0 R /F69 402 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+602 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F15 381 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-608 0 obj
-<< /Filter /FlateDecode /Length 19770 >>
-stream
-xM%9r%_]91TTV
-;P0BkH1Ȭ.Rd0?s.NI_߶a[K=B_֎[joVۯVⶵܷ~~B(X +]~şS+/D- ?&Ee/z7OG,~ 5|DŽJUK̻ٚ{dhs!?V%<S8i5/M9ޓCVA_ڤ-I>Vӕ]͗<Σʖg^eą?uÏ)aa/9"+ؑK}=FZ*Zo&|gr2߯?5'53hJd`&_,fQrO\wuV?U'#돦a#N H]D}Krw9[='yHn-dw7Jn8ˍuz7[Q#RjBUߔYtqkh}SUˈu=f8n%-s 35w~-jl7Dхeƿ|?k@~K[^)qe.jNi>?hzve;>i?y[pJK=ZznʯVn-+=ma>.~Wx~^_}@owP=n;d3 [rY JY]Y~?ZOmn'A[o\+]<z謏}Emo#|s̟QyTm7pUXgK#Uj~ZvcJ?tyY,{:ϞsWUMZ!~@z}^yo#o56Ğ54"XdV޽2~o#o7_qn!$;B×!xo{?=/B 'T[|~JJc/oxo3{x{D=( ?-Í?Cf
-^+9z}&n-ݨc:\01U<wwk-?+_x. [pg@4`. H߫if3 _DPX3P. X7ྲྀ[T1gYc[-v?FG[ִkA״ i9b|>i?֟jc{6@ j4l>֟3@h
-n֢s R(N 17T J2DtC¨1
-
-HMh%^!
-Eid$!*: tnHZ%ӪPP&<sWBJ<* нޫAq@
-A0Lj
- FƴʛV@ ~^BpDZHJVFpT
-2R3D0IިVbI0~XtN0&4Q(j)a-q3DAUTTKDC41 ժq@;49F.(*m㥢4R 5yCxD ۏq `BL ,L7UbL; oR]æ=v vˡf`$ zJʛV@ ;b^|3
-/[(F}{ݣgeLI3CA T&s輐,JR7Uء@8PѮ@Ѱj 15!a焐\ n:@MPP)!aHިVI0~rNRF)%$p !%WxO#!*Iƴʛ^@*L{x}hM9xV@ uݦm}YY_#j0L)^9?tťkBO{KYZxg`yV3xg\ s:2/o,h\V1!ϋo<c˅ߺ~6[nښN#
-cՔBCdZ/ -bk[cR&Czq7\D~+PgOˢfFɂ)4m$L<M*\CNd꽍jVn[SC L0F)9!yaB1pz;TyjX-xx/Tʂʱ0ĬD&qFhNy+ѪNM3%rjJ$6g{ {5tTA ^hL挐0l$TNM5u۾U"Zs>j՘3ia2R3C0ݨb P޶xM*4ԐbvfxPnP{򸯄5C1ULR D34/ #S(kL ew>P6UB~6ҁԧ6ZX- f`0B)!yY܈61Wɑ~̞T
-TjJBw6(+I
-FHz(4oAl#7a1B1n)2ĜIF(/L
-.;qe9pN?D+VG9t;pa^ Vʚ7.yKתs"i r^ :ꏭᲿiF瞏pZl'7F^ =YYrBnwN>ɍz.-᱈t, Tm+w_?nH~dƫ Zkhoni'#h<ϑ Ӎ2rAhOֽs۝EM&vYԅrm_8{Hy%2LMm}^wr yowj,ǂ~HNU^N|bE^TVҹ=
-ggݹYg^qK8'~SWrY:_.s`Xm@j/4ۑsuvQTp?Zx[%Kjgg;Վή~dRY~xj'9kVx+ Es[c:y~oqdAhǽ\Z\@ۗ&4 ue-k*pݶˑy~`\}ȃT4NYr^οՃs
-8#Vn9{So^
-!~r5pmDE?Tq^ʹ/Y=#}XEϫ)|LJ"|m?% <,JnQ\Y|o󦢴騷ݯ ڣЛo٣7[;xܰ+ߗ_b>zYI-ߎXia^#y#~/JhZn"r.w.O-RO9󘋏 ,ӝ{PWg7tCl@)Viy'r/> smwdS;r彾#؇;Y?視)HZm[:6vYy>q'h<;'nݜ'Hĕn xyY]ʍnR7~Ou7ruwГ.Moȯ߯ zVny: {Jx}ރoy>[ ی5}Eu|ɱۯ>}6vRy6\}
- \X/"x|zFy>=I8q.C>9BEqAS[lRa0$Qx0q.|&Kz u9:W~ÂL}Ƨ<
-KϯWF8]rD
-૕!g^/W~)Qe oqLj~!m.o,]})?Z?+?뻷Y~}=ާUH@n1
-4٪#/THW^:<5#EWNL<Wx0h](OV}9uy>?TqO),|j3Gkw C1gP+U9~*+U@/T>ϋ_ny4=V_[
-+'R>8ca\c$_?\]-35Gڑ,WTy$Gv=_w&^<Jx޾[:O[`/*|U{Iy8\ӹbnq/QK[n) y wT|%Q"#ɀ'yګDe_Wze<}Ge&ܾՆ$KCB]sC?"ܝT`W =Uqv44_%O'D[[zu@W=9 Z
-z|IzwS=d|4@u)4>²> YGHOk3?_u|AZ%/Uk%=_uR잯:hzTV?9hzV/56=U|ցZGNkTu|֡K[{bHZ.9!C]'t6SZ#Sbt4méo3Tt<|Kmëﳜ_mmt| s| y<zv[kWs;/%C..
-]T!*vQ].Eu.BpU좺]TeE~y'Qz.뺏 <Oٿ.׾+{CFKk=Еrk9>}
-&(bI! <V@kXTVaGhKz;=c  2ؔ9`;,Q:9EЕx{;X3$攜GpfņPz,~F R)%8{4QUA@yҮf,p}pt"j=U2RflʌҝY ]BY
-r^5GIS|ѬZ+F Rd)%ҽS'D \eM Y
-# 2t #ȗQ$D <VLB_ {y
-k(҅N5@yF&@`U*5esa)Ժv۬gT 2ؔ9`;,QUA@y.f,t%9>Uk
-oVLfEl\ $,y*%`h L)-ݛ)(O,dGUPѕ5{uC̟
-(,nN# [d=5@0 EJz`gY#+j #մǪaQNݎ& HLsx4ҸGxB#: 1E7p,Ҹ#͋/,:)i?"tta8Ē
-WdU<?:V5UтwMXgN+&Ap>%jD0CzlŐA3S"ҪX YKW@y!kWƲ%-4U0 V2`ԤgN)otI#\:E4B.G, %-E#Кv& hWNk+Wd#\5ʪE,D\ՐKX6hDWF nX:KQҞ}8\,冏pѨk ]Xk#],tu@kn@:H4=pZwZ4W >U\謐uoRr K*+*h
-B,RғU;.u}#ZKWdݤMX:DWFk^@7H4iMj,N|uY71.2%t,tqW
-Vh6KbQ=XWhJG
-
-YѸ&*]\~XC
-u$zKt<i.q@k^@8HAL8tH
-56spc\c-p%}GG (].0sZp 1)(OڧaN]Wߏ<';;5ױd`Y
-[<6િbQQ!){1l[rR)ONz+qUyJy P#`hT7|2R% uwb)j$Z'S&\3o[kT;÷ =/ƿ k Wٴb9 !T
-Bp| l
-4+>(-oA6,],Jy~6+#<z>-aݝFb,:@JF,C@I5
-9{ PT@\gjY
-s `gNCKܝ@&Jk@n -֨!.Jc@Z2ʳg.݁am0 m556vYy|!+Ʌ;]͛gSyhؼB,^
-q(svicǑ07EXJ K-ݏE5Q 5Fj_W,-u(9RX1(Pu
-ʓv1 e+kU ȋ~f^/v^gB-
-$E˵RcӏSxjO`>f3Gx>1;B(x? >c+ݐ8H\aХ+nZ"P E˵XPB]}̼g
-Z$[zb4$P撛Xpݢ/:m ^:B;|p,|j]6ʢL.YB(Qʓp8KE%Nƫ.+hg8]Tx8A%Rjc^g^Yca>52d9p=2'e/GjI3=:U8E:r>>$@O]c~ Fy_Q 'qDh([.4o7'ncf>tF)O)$FKLqz 1Ѻ~>3a̹_73W^ȖOǣC(ӏQJzraLVF%i)(\Ӆ\S ,)<-^4NhjWT㓍xu¨|b#Wj/CjZr %bpz,
-FPOWؐ k9#a>ю:
-sޏ3u ;%[mNÿhWa?ZtTJińL!)t^h釧5M<
-1aTi
-A]Nqk3U9uw;#GPOF…y 4(v^h̼wb:HTd: _jѡz΂
-1Y(0UB́N?VE#oGg;AxAb1+N!)w^(=;xv
-1r Z i}N1P%O#C) 0P@H˥cuKR;Vz-󄊍 S|Iشh$D <0HC6zB ȣ(5'~ihX<ZXnH*< ܥiQ*6 WJJ1FnIrs &<-U
-I` =MAHb8ԦlSϒ}V)丽GFGh(z\khh4T@8\ VL
-9Pl=m!^iΥ Sӫ
-c4n cwbd7j"z7qP )Z1Jy懁nAr@Nd>*QSnFO
-,(|%$|GsI-H{'Nf:O$_
-$׎!)ݪR4_ Qፚ+JV}kN(2VwZM 9/h̉O 4J3~eth9aI#A(2AtOͅvB6?L?C7 aB 4qlAǶqw
-WBK^k|}Ah߅.Ey6&KJ=>fV(R1)\OZl:o &<]4B/HTV0O=kϕRG+_gpT+A!`Q=l8
-L
-yPc^68Y!/ʙ!./`Ա̟W&]
-hy/!g.vғwQԡ xalOu|옟8𠆻I p\_91%t!*
-1\]TUz W{ؗ0Ծ}}(i
-5NK{TZ0uSF^*?x\{ 0Fhҥ |#)(\w
-^<ɕ-l-i)OaoOoշ\"lË !W[ݔd3
-N)j[)BU PrՄ'">Uy(?pϥթ7i.4x
-0ZJuSPY \wsaQV#4RU#ȣ 6]Fipf *Ou4!E^q [U7pS5@rjokCaJ h*MԅNA@yUs~
-򔊁KOYƨltɲ@"lӄL\*IaP̬,.,R.,k%UНd押!:gr (2]҉9&<bS1x-M- I:Mx!S%װ*T.)I22I
-\:IrN!2bju٢s8.p
-Lu6; #(;P/2}q2l
-o׸1t
-a }kPF$*cTV6Ij(d'R_; ੈ0",~qcm>h m3<t$M̤;˶ N[՗Fߘgϛy0 U.YR&Yկg[)0> %DK|Y (w;\r K41,[
-D>2GJ|fuw%b=
-~+|!0 )JTY:&YXo]SojL*BԸ"bTRuC1msM%a(l @3βaϒ
-U6W6JGlu* B<5J$HCMPef!:UMӝM:Iqs*r6!,дk%K"Q0E3 _"ˆ*FMXN%A蒃& TP4IbIʳ̃7DW
-qסI&
-0h`3 PdJuY~4༰!,lHm$T.9xBEO$D<><,oom{@not/i|ÿ_?H229y*?BWNObeK)_{t~_Z nz66DnZi?;yFEf۶/4r3r~RA[(_,,L^ȣF%CIEE[U=ndg̼w]JsJ=QQZ{~VLSI#5*g+IAyeX{mR?)]FCc=h oDؠN_By#"q|(Fg>_~Cq.
+609 0 obj
+<< /Filter /FlateDecode /Length 19742 >>
+stream
+xM%7%ׯx˪ŻvdRԬ]M-Q=
+]cF̎ѯwoR0?s.NI_߶a[zp;J !loZ _{mk{߶_K b]/tA?V_&l[2 L8EUt_%?oiY?q;j y`w=15BCVQJTyqj^L͛rJ'x -ɿ|I)[.ee+S|_˭+/#Q7<xG-33u=C+R%oˈ )6sއSm_rD2OW#zr/TJM.\mQQS(8e_z/kNre[kVgHєLZWX͹ZeEΎ5O.FVMPG=8މ@,?rhzN\[>HW5V!nT;0[ݬqa!j=no4BnEVҎH U}SNgiANyV/#64㸕|Dα3.ݷ|%j#el6Erޮ -mywpxĕ9덚ڕn9˧^-+=J/Vjur+ZG|b^A\oy>^m8Ahr<r,lzee'D(:fueMS ]{n?h>ᚻmȖsWVyY1؋QߐG,|s̟[9tyXeu4B^槦cJ?ty~Y't,ǿ{^yT=7j:ewyNt۸{ה҈ſ%k+^DG^~Brw%mBۃSԐRn /Cqێ8$C+Dx:O[o?緮T:~f]Ax{ۃw7? &?Bq{`L'kv'܍
+?3}]0owtgKߥUYf3 ]D$z3/ XK]Yf3\D?o{mb&ԿƶPWO63֘4=߶=%_lwMԵ>gs5͘SA?c9A|X sȃ =sH|ؾlwc[>gs1ǍSD7߳>g4hl6 'yc=sH|ؾlklۧS]hT{KO?q65g.|?g.B`Oe閶BQr6?y?K{t5/|+y)Psyy^n.yJ9~F=|Kn{gqE?zNn1רv_}U @y̓(^`i%_oKVoq!y
+W)!憂ATnH^5R7Usg]""޶I +Q!=̘;4BeBg Iˢ$ucZ*gN3@HG6{4;A1@]!
+dok@QPIiߪ"ݨWw׺JC@S!TTJtHb&ժQ 1 =랮"%Bwߐ&
+Q-%츥=pb(*Jjh&a#yZ5NC@h&HEEmV[j&opa1n3 T)!IFjCLiMc@@q7na5Sn9 LRZ"!yaT\Vy
+dg^_kbFe HBVc/}{tQ1 bf(hdEIƴ*;T
+ h`@hT^hN&y*oz٫3!w7v/:'^PVD 7m *8ÏՆem,OraQ֦c/.}\ZړM]2.W;O՚;ۈTwVrWo'n8W:הya|ӅE}_/~ x^V;&n%dL[{-ɔ{piա?/<-5ߎٺB#HJv󛖝zy9kYg@ .2-[׎c)\/̅+HKj}mÐp?YdZx'įyA/HK!Q$ }N; O0Ý O0Ý O0Ý }݀_3.(Dž/#)=ٮuckK?o׿g]
+tNH^6rG*P0*?p;w fZP^@}Qc;XaY!?L, М4JVUɛf=J-cՔHHiGm\oak@ИB)!IaH<Y2fٛj9&o}kD"5gG7j՘3ia2R3C0ݨb P޶xM*4ԐbvfxPnP{򸯄5C1ULR D34/ #S(KL ew>P6VUx i#_GmZ n5@,{a2R3B򲰑9mb%#=!\wgae j6*!2DmPLW&' ȩPi߂&Gnc:ρхcRBe9! &):+$/ ܍jQ(^
+C P/"x|z7G!St #xC0ZTm[/C-ϋlR`0$Qw0\H8ajik&>Q7=l|X Jq u8O}ul,~%qp5WCμ_rR/%%}J#3]BzYJ2R|~Vwow oWkW{O8 c}~wֿvQ7j៭:BՉNݯN50k)kU'-|+?wQ:KձTsv{.||b}ȿqΈ1DŜBU3SRSRyoBUjVFf: =iF\вEO](-];k՗OPNU:w|>KU|]U!~<[%񕪜)4d~XK}&7+jrŚ3a鸨 f'ό\P“5{wjvǟ?yd >1C/uy:_?'ݽԏ8<? p~KwgwKwnNd4^vk<Aj;{ZLxGH;+|{yH 5+5a-n1Sxp|/qչ샗_vwUSIz/+^~<k}H 'ƥxp7<=Sq|F孔hw2K*^^^N;#.g;e*?5͝NoM8d &s7JMqy&s7㕚̽^zMμ /L7[ގWj2zKU Io,|[Z TTeF%~|Ӽ<r |G/qAmuG|>{DzԬq+>HS߻5w'}[NU>w"ɽo2'T ti^Ss~Vw|S@K+A/t_,nm
+k0G~ B Ṣ=Ry"
+l<]#=VK9V=JEN/<^YPSԯY]|N*KUG"|lU8ypg*3[aۏ밥tNu J.UϤj/)oϔk:_q-;j~-w7pʁ{؟$;*s wR'i+}^e^?tOꕥp[*WKCB]sC!ܝT`W =Uqv44_%O'D[[zu@W=9 Z
+z|IzwS=d|4@u)4>²> YGHOk3?_u|AZ%/Uk%=_uR잯:hzTV?9hzV/56=U|ցZGNkTu|֡K[{bHZ.9!C]'t;]I=u5{K=ui/LGSf:z6KKSW.OtIzf:z>FW/0W/ënf~
+]T!"wQ].Eu.BpE
+]T!*vQ].u<ClO^=~\nuPo_bk╽R{E!JWvJb^d׾
+rv1 e+Vv*gHGpfņPz,~F R)%8{4QUA@yҮf,p}pt"j=U~}00`Sf怕̲D]'bBW/kTuB'9JZfZq5b K)A<!R
+(8OȾxgBUhofB< W@XRh5?EWԨ͵>PY nbC.R1`Sf怕̲D!TIЕ
+2to&B <iW@GUBEWn԰ U2&h;̳zCXJ*MQ~+YeBUԒ6Ńψ&a/sp: ';R*CT_YFL&%TڼzVj۷ "!Pu
+OPZقx0P
+ Ja&AV1-n8 ݴRUZ
+F@fܕ=l
+>U\~茐kq +*hB,
+Sֳ  [8m5" qbHNJ)i H}t] Յuꏬ%|BY輐5qcږ{ahN+[fB0jRҳՔ7.t"Kt Ah Y `EeբsC"j%x,tuF7,o% (Mi>VZ.rGh5.K\ӵ.XQ:Z:F57 g$MҞ}8\-+p.itV:7Y)%A qh`}|!t)ɂ*]%on& ,ooD5/ $M&sH'>:Y講d:[:R8Be+4o% (KI+4Wwd#\Ggh\me.x.tk
+]ܸ+,s5shZsrpAҔij,a|FYܐuLG Zj4ZprY.ؤ)هZ"Y
+UНd}oUB:u ǐǭT1ov]"t ?Qc
+CURON]Xݷ}-B}zp_(UƨETssF -FPU'g{OX{=Õ*<
+RS(Qw*>[O1U5Jy~r
+-ݩRHrl۷5hcj[uӞJ_gjlFC؜CJ$ZiQ];X^Ah`\u!¦*4P(㐞8!;=t l:]Kg#uH]6m8U2mTl!A!JJ>Yt6V
+7 .bN<i?uߕ{=0rN#JLW1o %`toy
+/#3+,w&*F޹'z=V)U4[|(Q{s_GۃS-zO5n?Y=p'\ M=(QH,=<#3Tq-bWo.\HKq>RU*$[c
+]3q.tZ
+ؼa.)<BblP /Ak
+130tR2W
+ZϞfGTܙ *"X9`Em 'JqT.1?Og|G<G/T(݅8c4h- ƛM`E 13YPU'%@~8=hs?Aܯ+@Tld'!Ǩ%`pZ0&q.}BUR)e| '4֫DF:wpaXF>{K+!} -k9^\=]K
+D%If+r*-h#-U:5׋|GDD8ѝUF7M*@FJE7ޠd=,fW@#ݙ;I=ΈR,
+Ol ~XzhG
+-ն `_4ӫ԰-@z*4bB:US&b0LTMU4@ .85Dtr*:x[廝O 'H#<H]Xedh;U4f^ol; Kw$Q*`2/@OW]=gA
+ZJVxhuNc<@U7Nz 9 E'2^qN C7 
+-&Θv=2fIH?jKfU-:9&}IzFFz`G7<O\f~"W )!<O-VjzLI\@>h#ɹ
+)/FMz%+z>{P5'oE+g;-~&xl4̧҃ k 2\ܑ @B
+FxB;tMR!0VF8 pc۸;bt
+RZ]blm/>c[ Ӿ*r;=R)ah~HujE#o+#w .} G)WzK2?_(Q1}[X}`(uJ(\=0uNV繍{G].\>Pp D%t/㾠|BТ<%brRrKu+G'-
+\6^Olg.TD $*+§JDC#nq/
+}|8n`r*qI0@ (|\yd BJ &<]1B/CSwkP0VX+.
+bdME69^le9o]xA8:>pLk-:3"8r[<FSO} T! C0JSڳjE||أ_sŚWAG2H&' 0ŭ6K|,kZY ) iyIbM]P@y)?dNԦ#Dx\Tc^K}!`|)/o|%UE@咨 }C^+5 Sg9yvZ ՇnVa4Lʖ HR^Cc~g.Vt**]B^te}_+=| zKj_ľľh
+\!U)]Ui55?h}>D(Է6
+^K*5[Jso[ӑ*^kXJ+ ~ VެPA@a!%+]DhQFy7^Rmrmo,ec2r~C+/+"8r o@փ `bd&(W 5Ԇ9Bcx)aTjCNcu= BhGF"ۂDp$0 TRRFM'"K(*_3]K_Zx]+(I:g{l*o()Q!f3.iOˊ>&Cϊe!+ |]2EPKGd;`6k]fv<{NƧ+(b@a<6ݑeg8xvˇov^C{0o96
+ŮgCO!Vsw%:;DvQ1nK/ඇuxWMhbi P vp`A
+z\BQfIٳ{
+2to&B <iW@7乏KTtQGF{VqG=Ҽ}R1`eJwVY*zqW*
+-m`UW+
+ZBS_Z?*AR~-[)(O,򊍻9װ(cP~*^SQ U.4ZsJ@':}`"/θUV⭪krǩ [7͵~S
+0to&B <i * \~D9?EunB` p''ob->}žP pJQSt&
+v>YZ$[|BEjlrW":uکoXO5 6>2 UQFڭ\t@at'Zŀ<F5}tjG[xƋdsk 0GQStYuh8T +րs&<Dب>(uy8\HB捡Th~"V& @ ؐ ]"r%kQF3@%B`&GL0n@EM;s_c.ѩGv7:mc'mpE3` Q:; ;뵹&F>dר K}ypU>qwqݤ7
+2ZsFs
+!2re2"9(=@l*XKE_4;uSB
+hr&I:KTt S(86@eSR(ڢA
+PE2 ЉKt
+y+s'qc~||tQ6U1Auydbgd܉sF&n nN
+['4o!`~3e@c5,g&&W3$o;Q[lqQݛ--KyG\c[EY>:a eE(a<#@xc%1hBg0Ղ>[IgBc5',ge&K(/eVwtWJkt{\黢BZ}_h-<|#0sC0 P6YBtgٸ+:_|}T$.r~ލ5j a`S1v+M$5Lbq)͋ƯTDorM86bm6}VIQC`d &fҝe
+kKXDnoڳ[Jq<h؄e^F,GC),ڎWRssD@"u%>,B~f.9xFQeM%Iw-hdC"h#XD%>;BW1hl܊E,A DX,BV7ݮᩈI&o!jbo1*aжa撃0`P6YBtgٰgIY]g
+Yi+XP$w4G0ęR2m:,? EuxV|yp^
+U6W6JGlu* B<E'HCMPef_~}!п~NCЗ4>~_?F}c=o5̷L4
+/OPAoӓ?BJG6Ou[]MƟȭr] ?_z'hLڶFY[.7Ługɢ˂%<
+,aXO<_:Yɨ_U3Fq{|׵4W7帗iU=4R")L|ğdg_?/X&cZe=T<VpГBF jK(o|Xv9_Ḣ#˯?
endstream
endobj
-607 0 obj
-<< /Type /Page /Contents 608 0 R /Resources 606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 549 0 R >>
+608 0 obj
+<< /Type /Page /Contents 609 0 R /Resources 607 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
endobj
-609 0 obj
-<< /D [ 607 0 R /XYZ 78.37 808.885 null ] >>
+610 0 obj
+<< /D [ 608 0 R /XYZ 78.37 808.885 null ] >>
endobj
141 0 obj
-<< /D [ 607 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 608 0 R /XYZ 79.37 771.024 null ] >>
endobj
-606 0 obj
+607 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F20 382 0 R /F58 386 0 R /F50 374 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-615 0 obj
+616 0 obj
<< /Filter /FlateDecode /Length 9837 >>
stream
x]K%qW`]ƀ
@@ -2225,31 +2181,31 @@ xE}mdf K_#ߊ jWo>w,v%%񠊻<_m=Ə
acmq-)cf,e)X]ncVq
endstream
endobj
-614 0 obj
-<< /Type /Page /Contents 615 0 R /Resources 613 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 618 0 R >>
+615 0 obj
+<< /Type /Page /Contents 616 0 R /Resources 614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 619 0 R >>
endobj
-618 0 obj
-[ 610 0 R 611 0 R ]
+619 0 obj
+[ 611 0 R 612 0 R ]
endobj
-610 0 obj
+611 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 326.699 386.919 338.654 398.874 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-611 0 obj
+612 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 327.143 174.772 339.098 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-616 0 obj
-<< /D [ 614 0 R /XYZ 78.37 808.885 null ] >>
+617 0 obj
+<< /D [ 615 0 R /XYZ 78.37 808.885 null ] >>
endobj
145 0 obj
-<< /D [ 614 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 615 0 R /XYZ 79.37 771.024 null ] >>
endobj
149 0 obj
-<< /D [ 614 0 R /XYZ 79.37 433.664 null ] >>
+<< /D [ 615 0 R /XYZ 79.37 433.664 null ] >>
endobj
-613 0 obj
+614 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-623 0 obj
+624 0 obj
<< /Filter /FlateDecode /Length 3997 >>
stream
x\Io%W}F )sp."Y{yO-hd|U~|Ʒw6!X0FOMl.06gVl߾opn$.oϹE0Lq¹}s}:~^3/r Q#|OxW5}S;VFxf ,Xibњ3#<n}C3#af3r\tɼ8N|f](`JKa.7vZ$AM3W|}Y^1O/+-W}Եc{͔4=<!AM2@͟!/Z{ ВxF+yM+.8AqWgn]^p);5ΏhAÆc`v
@@ -2262,241 +2218,238 @@ boޫ@;~o'S(1"G5Kwop N6@|\]<~v7 ~B
W犺Y~SܰF #n"Qok.$n{wK0Z
endstream
endobj
-622 0 obj
-<< /Type /Page /Contents 623 0 R /Resources 621 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 626 0 R >>
+623 0 obj
+<< /Type /Page /Contents 624 0 R /Resources 622 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 627 0 R >>
endobj
-626 0 obj
-[ 612 0 R 619 0 R 620 0 R ]
+627 0 obj
+[ 613 0 R 620 0 R 621 0 R ]
endobj
-612 0 obj
+613 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.21 725.076 396.165 737.031 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-619 0 obj
+620 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.821 351.038 461.776 361.987 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-620 0 obj
+621 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 71.409 416.581 82.866 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots)>>
>>
endobj
-624 0 obj
-<< /D [ 622 0 R /XYZ 78.37 808.885 null ] >>
+625 0 obj
+<< /D [ 623 0 R /XYZ 78.37 808.885 null ] >>
endobj
153 0 obj
-<< /D [ 622 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 623 0 R /XYZ 79.37 771.024 null ] >>
endobj
-621 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F66 388 0 R /F81 625 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F67 389 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
+622 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F66 388 0 R /F81 626 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F67 389 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-630 0 obj
-<< /Filter /FlateDecode /Length 6147 >>
-stream
-x=ˎ$7<z(4e{27vzDR(^U /Uɤ("G!qA?D _hN._n< a$|k/ON^
-o$|"~Kx
-OVIc'2.ոY?s᧜(ؑd7Y$TB"QK7Sk?t1.!>anjH Awqo) Dd^~Oéd`13@A+΁8P-I/Ԝ1aŋ)-3E{R৬#i>[ ۹ӰӈQul—z.ҐTża֠x|u܅:U:(0hSS4Bemx;*x$׵ݞUv՛qvo3!P:.Jʕa ejH_c]%ChK\Ǩ&NP)dS\~m1:_FngM 42)CU+Atr0Z#+8t} NUV(Ctb1z(JGE;(.L >XJP
-D6rv2LZ(1#/8?\GakM(sCPfWLfkbs+Ʃ3hVkp I[.C+_6YmcnbQ`C&/R4>bCB |86,fTzԫc4Et60K2&G~+'
-,k d"h>MՁ;Ch [ 1\?7{}.߮bc@&qx#X5ꈬm/3 BU~7aK}Z
-\_&7* EΆ_L؝bSy[H5<+>>;Lj讁@c}4B0\q5@`@Ї& kWrGtO+w
-؎_2B@ Y0`w uo\6s-}R5ez,x :a{B(?7X T8)=Wc]/N^v5o]EHD}vQO"`ʎ_OovmGvX6k&lI$e'aIM"I
-z" Ǿ0^4"ʉ#+ |@*]B\bt"" ۝b($u n`-vOR7PI$Uܫ)dNrKHk f#W[۟z>,ArF4Sˁ'mә<vm``<Ɗxrix]7(wҴ(Vw01Q.Mk˟Nŷm~^y5w̎‚IEF=¡m bMLJŹ`Gw9M=#8S72?L]g,S9/ALdp{\AS>J mKŶ2g"TM;{TRwGHchX8o :
->L2ݺ~4-Ty|>XY/>*Tu>+
-Fs5ntGu\HŋJn vڐs*xoc'Jr/vޥ'Fs/ziɯ8~"h KIM<LCw'ttioTh*.BFe/ K
-ƱBKSUA5K*~iC'VQPR[Qj{+6
-8ZV4</LǴb€ad!^j(PU6f+9w*seKpwhE1YlūMÎ=J⹻Mg#&׀M*7_\R'?¸>v}ruJ ;C7~b rD\+U#%`V([x~EH<J.ڬN9CExvĸ`*ް* WSyz${/߄a>F/|5ϭ\=R[\`&fJSWULºx`YYc/ u#bLVDDխJ37FXQxVz v/VO
-j~<qz՟XH&NUȼ`8Xz|1bð.@aެˇG/;,?2Šӝ3t022ޜiY7Ekp {?kľ . '9xeOk[EzsI\LrLH?ik5o+5]36ru0q`29?{yY As>jk`9MLDNOIok@sNW/: ɣ4h|rc_%y&kdmk:O1M=䶓sh|
-ٓO F˗ŇVq b%1E; ]93}ƒ2v
-M!`!v[mY*wlk05X8h]1rD j(y8=-@J+VB΍+ř]Ce]՜EiUFR^|.D.n ԫ!2)(J73-9X^5CAj-9UȍN5qwXēRM ^ZHZ* mQ.Zk
-pRb0 [*LҚl\D"詣aۀ6@Jz݉ ÎZ+^}v,$CIFI:MJ"Vth)&I ֹxSZv@ 6H;$WTbu)YQ;) ɵ(N7V0Μ-9,Ql0J"5M9RccV (tQQGiC{F]؄6$@tSrԒ\%m!
-'I0%%&{R㳡r)JrR[Ub1 JBr
-5m@P IFIzԘl\D"V}_Mh `Nz0 7h`yu )bczE*FJ:b|r&%\I^m*K5V[&fD|- 5;$8jNQφʥ$+IQnUmL
-aΫ J+jaR>Ԅ[Hpz>jY)S9-?SgoiFiRnI0?1׉MNRڱwSGf:-wD;5R#gVF̘Xq839R"gtxۮKC xMVB%_T}20> V\1joxJ VqrmZJ)nVJ#gʉ 3 HgWux6%Z.ꡧL[L
-f~i*=.@omzh<
+631 0 obj
+<< /Filter /FlateDecode /Length 6161 >>
+stream
+x=ˎ$7<z(4e{jL <^x|_R%JndRI#ȐE\~z˗I{Ktʙ˗?$|!.;'/_^~yHyp^' B HE>Y
+=OeQ]%q~O9Q8##hn^H<JE<y+nL-6xMb]B|n դɑT OR@4>ȼ(!S :2\ubfڃ6WƝPqp[o_ՙ9KcŠS[f ZOYSGH}ZsaW#L/m"]!7y FqìA?
+[kDp4z2b2x&6[X[1NdսyPDKZkLzغ
+y7?lUȚ20,aX%|8ƾԏX, ?mr[Xn:"oFqrD.P4;)WFa3qo'Pk[ghIb=+mJ-Y~xg5E8  6"ُ|-}8>}^`_ɭd#2=J7O2Ս{ٖ[ž>2Nٖ̓[puQ8G-Zo?۲Gqo[yĚ9t7ukv<JNteX!roŊbcFy@,"EQaź7Q"]En܊?GB-Eauf1ק?/Ο.I<󥝂/1F
+v!_\
+P;jx<lDN7Kp"lv;(W=vmG"70l.= A]$egݢ=8>6b<nOOfQ}/BN䟻YAj}E0+w
+m/pHs(X<A8,񆟯(MejRH?|l1NUvŽQ7P1
+?FBaǨ(u~Q5kp=Ԩ6lJkk(sK+[Xq:s ,`Q. rbH84)àdY]\֖m~^y5_+fYa$<z
+R2y#N~ tWT\|w_^_
+ޝ2ֽ"*|>)}Ă9}5"})xn*>2uS> -'6Wvd\
+b^UMa*LZc]*bZX 4۽ߎ5- RO
+-Muڐ.1f XT GwTBIm: D
+SbIrT(\=Z.ˬV0ӂg+U#;dBq꒒o_p4,#wS +_l;yC+zŌ u,`+_-2vďJݭn
+.=6
+lR˿
+X gW:) )+S_;:oW'g\G=԰7t/G_+fGkU#K6>P{x@EɑA;)y\̵Y*+bsS %quaU.,RJUI^ܿ Üy^j_Zzf8L̔]a/uSYˣkBȤg,s:ц:vpq ƊsN(Ҋ bgdY.L쟭drG-[{>'}`#p<6PVF²oBR3ͻ.k},U&"aXhMu^IYq`L >ⵢT a* jl,ܬ*oUkYsQUST¤DTм`Dc(`!!`
+ z0"بOd t  ̩\33` AJ$tOgCI>g퇳\ֶ4攺wXR%Dw}[3@}{lLC~pF׌ou"k3ͽ ͂]o$hl"w3
+O؇ !Ie'9$}ù :3\xiy*58N rE4H}kjXy.mM4&Cn;?}=`4{`1ɊZi`Vs3i9|]ϹG%{|ʈYQcXw֊~-70x -<9qp4mU<N ]iNvL[u5ٳy6@ba1 ɨp2 47-ʘ^R->-m[`%AVqF`0;d6Tq;5 62rD j(静`HpWј`JTh?q8z|+s uVs +!Vy9Jzb%PȤ r+̴
+S+,#h5Ü2T52
+` jPi8*]a5V VZ H$Wb=ut> z7v&Qz݉ ÎZ+^}kv,$CIFI:MJ"VtT)&I ֹfSZv@ 6H;$WTbu)YQ;) ɵ(N7V0Μfy%;0:XcZ$RDos-569fBuD6UkօMhI Do0i/G-I̔j@ WX=Iq-q( (6[睖 KI$W8ݪIx] U*!t!`!18f
+W<6SS-25U3Wc6 J$NiC6a]m
+As9ˇrNCx%cKN|}x\N/paR!m\KTXj>72y6snץ3'YZ>zuڜR y~p\< nuY`]^0j!CynFA(Ɍ92d UBF;njaÌٛK>$8= ?Lmnw4#Iȴ|-w$Ro&rI_>)^,KLƷfz-WC4!gfF̘7qin$Zˈ<|:
+j^m=,㙁qV.fZyE傍xfV7
+XB;]2]؈K2Lvn5D=R{D|=nl⋘S-SU%+njTb1#%Ϥ!evt&Q5Oiɫpq"+iZbMy)aq鶰Y"Z"|li tFCj7mdu8>Q5#C=k~-Urv_J⚨v:]_]KpL^.(oc{Wؗޣxҁ3`^[RFxt:9X ql'PoVc͑D)~Δj (xs|gk)$qqZnV-BD_.uy>3ZVumW-օd0}[Ӥ<C-jf%ӧ&U_1I^fr{,P^:Fק_~+r˿Wp-tĿ.x= 7+W>ڔk4ܤ
+ډ  F|yA+ʾȮM*gV{KW$wuP]*g+RYвś6MvGwqA'Э BaW =QK(DZ}:'t]UxP.MƃIwViVYabzmxj8>>v6.kO^W_ne T֝E53|z[dtsC7AH6*I-ϵVvÃ`K!~i3D5#6`HaHRÇ
endstream
endobj
-629 0 obj
-<< /Type /Page /Contents 630 0 R /Resources 628 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 632 0 R >>
+630 0 obj
+<< /Type /Page /Contents 631 0 R /Resources 629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 633 0 R >>
endobj
-632 0 obj
-[ 627 0 R ]
+633 0 obj
+[ 628 0 R ]
endobj
-627 0 obj
+628 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.246 76.718 344.703 88.397 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-631 0 obj
-<< /D [ 629 0 R /XYZ 78.37 808.885 null ] >>
+632 0 obj
+<< /D [ 630 0 R /XYZ 78.37 808.885 null ] >>
endobj
157 0 obj
-<< /D [ 629 0 R /XYZ 79.37 472.57 null ] >>
+<< /D [ 630 0 R /XYZ 79.37 473.185 null ] >>
endobj
161 0 obj
-<< /D [ 629 0 R /XYZ 79.37 294.786 null ] >>
+<< /D [ 630 0 R /XYZ 79.37 295.178 null ] >>
endobj
-628 0 obj
+629 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R /F67 389 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F69 402 0 R /F58 386 0 R /F74 423 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-642 0 obj
-<< /Filter /FlateDecode /Length 5456 >>
-stream
-x]K]mWܥ\|%SegVx3Y$Y%??
-e
-[PCa}ca;@
-Bp<It:&K߻WpS{i:,Êe4[CFnGcApԶ6rw1I8;r<LdT昛Go5Eo1%L2 XIq$>e$F'M+{^"? 3g
-C/ 'K|v
-jw<xs̟*ΕlWgis^ѷ)h (7҅sWa4|3mWXG9~OPq4Nǂ׈Hqtn
-+
-+qKG6~j aiVy=grG>Ȩoy.^w'kf7(V!Znb-L39.wǢ }XQVc˱HimflpjLq@2[9&)(nGfO%0͎6ZxJjӵzi"kNNAJ yn~ )ӶKXz! ޡ{x$f0 3 ,L7Q/qsxcOY14@VݒI%ک=xI<sEf<h:ЭS7k6V'f%6ll;ךF[IfLq8b8nfa҉@RB
-f:K L}'aʹҜ_᚝=Xo(r./螷&<n,E4LMLSXaw4uA!b8AH@CѰ-1sQ[7Oz"d,xG6e;Viܗ:uv8E>
-L|WXvѭMZ%1"2,۷([а+<ic92[
-f+H{e%d^C7y+;XG@FMkTNZ@\gTSe'QmwKbfJGչ48D MUDO|GD|B@apz>p{L8ß%h(`'p""n
-M~D.ncx+Vvcf ]ZWZ Q&>~*sx^K)4NsL" wI56
-`t8{
-HV1i.[rðyƹPhZq>v+o[mԚh2 =N9S}sZhERp#h-Ӽ?sTraCka*75>#~ZS#]pǡ85UDKi~ڧ#&ܗySG|C4&Ӟ) LW5❭& "ZӼ#I˜ں~E$y&CGe'oUP[P_v+pxAfݑK3uߖo<)Ì;z e~)MusVc/a?WrD~3o!axڏ k0&i2=ړf9\
-pQ~8kN~5%Z3n+i 'k\\:ԭtޭuuD~d]uW#ffItj\vն:%J,=j(񘧫GLEApo~NҺs4¨jP.YPn EYR{me!++b6zW2݇:OMK_3J(Yv%JqfVvsd&rbOHM&IaL!s9 sb/RS:*X)`r/\r
-? hDEsJсi:,u32 )}@bDD`Hq) #KXRs`fk},$̙IY;!0y Pz6!QM ,$YH49v44a+S`33,3,3gh~!"0ֽh gEФdэ;(5ɝȷx6/r8Km2OU.333@]L[xݾ#ltGBr4WQ=b߾(w@
-[ZӒԓ=@M =X3?82I
-a! N4V>S
-7cτI纤my\kqo)l%?E2% f;gc,O4~xz8Vs5izc)*睋꿟~.==p~' UMwܸa#PwvAMiXLiOsD) rɟN}gQ/=0gLxX<GPgTLW!0].2y 3"sqYi( sŊ\6͉9@%9<g.RjLG&f>L0IOsϰ{יn#&9 偰(3ϸII~9NW-z\[1i$.T)o3Kc_ Q>P^I)`/r oDI@MbҎL8WPm+aJޏ$ScYI7Wঅ~MP sE;7ʼ%}PkzYT >xi$1c!h3t~Y'9o^<k̰oZI5I V(8ѽM3Cm(ҸMEUyW_ySLwʱ$џINl {Q7VDOPJdFx1JfkktCMӨpR-Pk+֝,q:9L\0֖1_'d]|(1/Hc!+a܅K+kQbs*= aT%!Cs}ύ֖ d[i}4hغ xmR.6-}&sbkSt,j]"i򼁟Z8Kf4+JjTCPJ4^Ȗ dخ)wʜ{<ɩJ8&AL+y]&GYː7)qf׃hXWF@kf:Cl>Tmeqe
-e.' zq3g$P#KRިF~6"I=r!S>(9GeȤG׊x4W <48ChFVfZlhݛմUA|ebUX@vjg$RR0Jyod&*[ Xۺ7u0'؜`m'&e9]!^F&gd_2T]vܴhǃ\ͫtU>R80O2}fIAxm֠|a$~!.ո]փ;;5M[s1\+9K( I +q[9q-u+=6")6bϡ ]AHie9?Vs9 lbssB7}֩.֨.^-c7wq ]=m 0Ei^{=2;֪5֐}sEBKU[ޛBmm]`v2Ld,ik"LW8)zE 84?AM.]A;^5IAtb>!)ld5dN-a>+1o1z 4TK>[4
->^-ݭRD?)j'i C#}cBNi7zݓyTTqm4e:'=஗
+643 0 obj
+<< /Filter /FlateDecode /Length 5463 >>
+stream
+x]K$mϯn("pFHLxNtpH^uĞo$L&<h;U#
+
+[PSa¶@
+feoĤd8R;11jh&hkSlĎێ]:vX[=qNk70.4@<,!X%x{tA.zE}kKnuzߩ4zFa cҰHh .nM,.}9'&{9vuBh!:ћDMo|}I?ÐI&Qq$qs\4SpmvNb]A=B/Ldl|`gY3!ʗANSzg'_-87.ǿo9WCT_8W.~o^ \ސJ6"=ӷ)h (7ع {(2V0<zۈ434٬JJq,4.B3 f]ҬS5D?_Hy4lhE`,f<aau])CxƤ ZVAF#Sh ])[}&-A L
+ЭLB'VVIl` v0Ӵi<ҞX 9D#|dTD<^Xv'[f7؏)BԴ.{+ܙfsE5{n;
+;eO;)1
+m.UdH
+[<^CD4y^$"&=5.d@Nj}OY1T@Vȷ#Z)ک
+A,aAЁ+>wzNZ)SX7uld
+ y5yΛs=-kdH hv-U1wtttOwf70< ;=N-Ln:ܩ׭7eY {PNWQJFhTʂ-qc)vp80v*3MA C `"9O$ ѝؖ('-tAu2[  S46uv8|l&m+,G;\A$Ti([Я+<i썟S:2[JVBWVBƵJ&>}te'먃p2kSp1hL5j^ ĿU}b*;@Umw?}?ձ2kQKZnxZ!eg*p]
+ڿAj2<^WaH<$BGaMU1E#K)W~:h)
+f
+ ?oϒuWV*da"J^1L AG*^w =]N}ZA2vє~`$%fBU3>z۔LaKK
+w~nzSܭ0mff;O.,)=Sխ=̉))<ʼnjFzLHKJl ]'ǵW>Md,x@ePk_:0zQ'^lb?iKl)JvO{OS9K]
+|K
+c53q`KiX
+ޛ|.nKdԩd9UVl~fGu8]%,T rr_;_5 ^'S)Dq/Ђ:g9I㉔$Nd{I3~=k-z[TXzYKhY`lb
+,?!HeiʪSx{gFT`BR0wPe$ `ewطy#W 0i.fer}Y@OcƂ8CkùQ-)=|Rc=" k%y8-@#:-P@Jc}TwP_-B]6hq1ܟJHuUBSVj%7mgf>`NO$z+`F
+4ʂh JE,A̤f{|W:(+hn疖+ɕfhzN&8&.X
+CP?wu>v*b[h@NhB i.' pFA@ ,RhnAE"ZBnK>LG@#m׊x4o*tt4q5 Vfm\gִ@Uas~UXjnx9D^aA=oh[N/g~@Ed]_PջrPN6']&e9]!楋^F&g-f馨dhoZV4\rm~}qnd|̠\ǃF[[٭A–I$hC,dMA+wosfCƛs1R}L,~r",aP&Pd'-,0%Y5xDGs݈sT[FԄxv능8DJ m}[խ.E›v'
+T]&Xfܳҁ7o=x[ضseH8Y/4efA,4!Tz&CT;=u+O <0k0<U(^iIਯ+>-&=P a'DFʒ>/f}O\IM5TTrt
+!R/UtNTIITeP'!sj SYɈ]S7A,=ܠ!˾[j_
+TU8{f7pF9_) /N|f x
+ ϢI ̶=jJ֚z[iU
+ucwZ-=+zR/9Gv
+jێi[Zlr̚
+>_-tvR6S Ra#} i97<+Y
+x\M遡Ifqr}/dڝ
endstream
endobj
-641 0 obj
-<< /Type /Page /Contents 642 0 R /Resources 640 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 645 0 R >>
-endobj
-645 0 obj
-[ 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 639 0 R 638 0 R ]
+642 0 obj
+<< /Type /Page /Contents 643 0 R /Resources 641 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 646 0 R >>
endobj
-633 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.325 693.3 172.013 705.255 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+646 0 obj
+[ 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 640 0 R 639 0 R ]
endobj
634 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.734 693.3 199.689 705.255 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.325 693.209 172.013 705.164 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
635 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.733 693.3 346.688 705.255 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.734 693.209 199.689 705.164 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
636 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.091 333.391 234.797 345.346 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.733 693.209 346.688 705.164 ]/A << /S /GoTo /D (section.9) >> >>
endobj
637 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 250.518 333.391 262.474 345.346 ]/A << /S /GoTo /D (subsection.12.2) >> >>
-endobj
-639 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.107 176.723 372.063 187.791 ]/A << /S /GoTo /D (section.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.091 333.515 234.797 345.47 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
638 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 250.518 333.515 262.474 345.47 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+endobj
+640 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.107 176.759 372.063 187.828 ]/A << /S /GoTo /D (section.15) >> >>
+endobj
+639 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.702 86.122 272.159 97.742 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-643 0 obj
-<< /D [ 641 0 R /XYZ 78.37 808.885 null ] >>
+644 0 obj
+<< /D [ 642 0 R /XYZ 78.37 808.885 null ] >>
endobj
165 0 obj
-<< /D [ 641 0 R /XYZ 79.37 307.237 null ] >>
+<< /D [ 642 0 R /XYZ 79.37 307.345 null ] >>
endobj
-640 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 375 0 R /F20 382 0 R /F52 376 0 R /F41 377 0 R /F53 644 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F26 404 0 R /F57 385 0 R /F69 402 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+641 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 375 0 R /F20 382 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F26 404 0 R /F57 385 0 R /F69 402 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-650 0 obj
-<< /Filter /FlateDecode /Length 16487 >>
-stream
-x}M$9r~E5q~@]]M)v[׌=#"#ggWF{餑t'˿]˟>/?.][J\~哣9.R5Kzdw˿pGB?+Ks.]}/tAFP!ݸ_J7uяk"vMW?!Tʼtiז}w45zJz=.k&h]Iא^1;峯{a-Xfp%Ƹxzn}|V,Kqב:^anǿ]:fk7\ȱ{E2M5^{zV_ǝD]q5 w a+IʻT Dox؎e o7<|gS TlABu?m5.LM~*#^})5XA|U.Bpinw%O^ą?=>+a'tm-?ՇH&'T[pRE^F%UCU`Z~ޗ⤆DHO0)x`D}nצ^j'óG-|-Gm>X\`_UZ!yKf%vBҶl;g|z-?1\?J
--i%?9ݜU=]ktFJ㞼3ᣟ9w9k nr,9Ž^>F-9eiKe zR;go.D#Z=(z7= "L%ޫ%ꏶk/Y;%kjc+?X;L tMN}^)Z  s(r^siv#V[=j6}8j;[sX4(
-;oazCJQ֤<޹<zNi1tX>̠V 1s5Y9{H w?=|=5 *gU?Z;S){:tm63J,|W$Mq,mL 4q?n/wij5TQa*nǕ>~Y^W <l#?x/ޜ6XZoś"ey{.8FOm~ʈ]t/#ߗJޡ4 Pq'ӗ8A†iјi Iڄ |s+Gy+&CcxդPw0r$kPҎ܄Eߺ? Fp^n~˅ӥAw .uOeF[zl3~kw%l~ O򍒷kMT)K=>+`>ź+O*(Z:R
-B祊/R8Y="5䷢6whU 'kt(w'55.\s h ;=sWv5SfzA
-3zdHӨnAZ .ff񋫝.]RM*(7Q7rTւ,`%.ks;*^XA'ȡF j%N?]s=e
-BqDf
-/
-Q"_q1'r <-oJoߡMfуrjPGZ]Sh ChHBhemcXDUL).
-ώ@xG Vv5zQU54Q ( rZAIm|OQJ\99Fyq,Unt*q@U!B>QQR_R`H1L 771RR"ǎ5D'ڡ)8֘(쨭/3CFB=bkk8,RwƆ@Nq)GOIzwGkܢFj==j FO
-0.yͰrŝByR xqԉ gtjUQ<\ixG].2uA&8"zq'~)
-whxjbB
-BPCO6wZu R@q ɭcBpq5Kbc
-^ q{euX(p19$ׯ3:/jUSLa9С:G+Hi LLz!,˥EzxWW?w)l^3 ]z*d(IqdfD<DshUE~WDυtڡLw@>PQ3.ÏSHʝ*)9)pGe06bw'2b*D3kL+]/R
-:f@WԟLɑjU'4h%-Vsux"j4NP ̌xJ^kyj:AIy~E^fY(!(rMrJH <a/HTj,ugeAMPBl1TRݙT
-40w'"!C.2]O oZ(ŝkt+rW~>ԃ@O,2
-0"9GRfʑyGOtr
-KޠYK .!--
- 󶓵M
-<SHdEF7dj1w*W_j@&J)c-lR0g'Rq hS#JB!Vܳmڄ+%Aţ!cp(jtԝrq4@3TW2&oqqoW9j]!4Vs(FA墮Xlf ۉ ցhߺ9=F ک c#2xАks^Q;c.hh8i/L
-%C5p~aƃfY SϤȣQwZEy,@54W2*/cϣkwR&hcc`5~R>U~ryq(|^.iJh.yR4 ;ddzTB)rTiLk9n 3
- L546L\EgТKKa}uUƝm:bxeg$QR_J
-E,<0L2jbRP6Y[*<QzwX3}(iSBʹPn. 3
-m_1]]o$+.JW~UMR;$?09&yOMer:7ʜՇm?en.Akz\<>&wK$ǫ]h/2P)%+e"(f
-~, 4
-~a/~%֫}M#4}iX[|J|oPCmA<0>0#}jik1竛LR!}moveSw|K>v-y^Xs}ʇMb}NSRjj[KК>\ln[ oGc#~go܀[>WYco_w?vꯄˬTVoXvє_,D B8Djt.WփKf3T 3wDS ;X*1D`mP,^EZtVh0Og'6N'HMqSM"351W
-ܠC5Nl6S3=xu+H<hZqGoT{VP;`)Em**D2<,;=s__Ώ  9R}&
-fJw_Upn|k#d,QUPɓ&ٿ_tCpԺ8'Rq
-JcJ!4
-^zCj>f)3تj:3LIW7oP;`Tfj
-KäM,F[>]
-KF{͢DrV-~? +b,ܞ8+@B{s,i
-KŖ|d tiIb<u;XTY*%9,4KiT
-\MBl.++I撏jZgfl߉PUexiLbc}0ji؈߫{)U}^\6J\u8GR'*U9bi gLjFy_/_Z{sq(TUH}ks#r\Y" xf"SK?1ήW[eQPO7a.,h,+|qܡ9 Kтf3H0.D[dBN(ssݠP*2'xh*" FQl)o"O_KzrDLԷT4au+RV`s1 ~Vu(Ah?pO4O;DS,75aTbB?6SRSBL4
-Zhg[#YjbbG|`V*QxrcN(e}zx(x ԫn,W$%z 4ʕk$ɥPԉf#:3
-j*
-T1?@h;~P0
-P7Go2}y[WCJm}Bwrځ>^i)u"̄ک
-v'1T9 &CvUm[M^tЯx\Y\-%gT1pPo<M9jp&>,c85iG꼕|<vcjՏ5Pb
-GaZ(;ꋋIBDC|*@FFe-wFCTE`b3wt)}>`cR*ƺL0T?)Eȴ1T;l6* sw;A2 Ky
-Oc[z";6
-C>'R(jtԝbq4<$ۉcTL\ A26|rU&-9BJZf2
-*u|Hb3Ce`NTtd9Ǩ (.t\=L~f#a!(j|ԝry4@44݉dLTy[hA-/
-UZF*u> PcXf4݉ d@Ȼ7>ƌ#RJYq*gt GZ&y5>Xk< NW2&D_
-yXcNcٺ[܇ OySQȨ;.H|jىL@pct}G U o
- ՘,'z
-" |)c+pr0w'r/0NV6?-\ C?8nNB3YVZiu5>Xk<* sw+
-HI~_\)oqe
-TԦ7՝͂j|;R kՕ*j˶w~zMvYK4g
-᪗B%`!k.xIp:!`窫]BdD/FA(4^ΏC- &)f Uh{ͭNȂ{
-:WԫR}Y'x
-J03&hfgd{z'q!xy-w +A pnU upTx->w+\cQS\ W\*xm5t8-ܚ¢k |E^=իXM'V.ތWA2U ̢EiqN
-`e.E
-}(d0ؘ3}{DBK֗\4ބkme3_F,H.L{[_'$@^Wd{ P%e: AjhDݙ"!KO`$kH]7dMe]":l̥
-`R&
-w&/jxgkʫRot)2"
-`R&
-w&/BcTHUi.͛Lнգa F\*{+e(Ψ3}|SCOw]t^e5o4qt3J
- L06L|_H$'Вj?נ7j8VWN/dTBT;cbΤ5U ]g~ONp u5zUIt.GL$CP21P1g7?,`#wYdEt.  6fRQ) S ;WWIt <iZ6U)]GSYFGR
-tNhMj }-_PQҷz;C1d_{>-x4)4Ksϙc@̉)1s\si=[,nCyjOě(a y,孟6Ow
-IZEs0oc.XDL̔tuj4ȕ>jt.
-:^P[
-KPB}R
-QƖl"Rnbܭ:cls#.4Fihs1*HmPeNMx[ξ- Ox fh\ "% Loi)8@ #qsA!p3}W(Gq"reOdw=ޭg#xk/3I!d>Uxm;gGDffLM09en`L H_Mwa1KjbqJ6HL3 *og<R]hi]9c$P~#.`R{'CFBC4'>SR
-F#$0ۉLSrcIr'Pe7N=F>mBY_[(UC}(T&-
-DP-y_'V 1l\ y؄
-֣D8azhJy8Dl>/7񍿠g.m/)gUD>ȳC/porwEczO u5̱(v^:߇-R`DhF\9HHp8N(3sRP{X~ .i0h)KzjA&6O4 }
-l|uq1'z&Ip'Ϗ˟>9qEl+/?7?B+/_~GB?+? 7?f |? G2W¿=xfaaK`Jk-~f+o1\RᔌK!Aޏ잹r{]?~tOМ|~h`swJ*xǞҋ~?x{Nqx y|&*ee~ٗk2KhS.t뾿2L4uiK}=^f E~Ú!ǠR*zDU=UU\/٧/n'?ɟih
-W0poר_<NC-u*`0~+_r— nc&9>r}<Ѳ[cݡ\l:*}j-agK~@q^y|<k,k)7ZcJ\B2*nf$~GN{
-|fn;R2\~./髲ky{#4F K 3-S1u6ֈ?ڛ|?. c؇:5Yޙjmtk+ATy<@[n?/wx_IW2}>8?cZ
-
-T\4DBB9p] ƅwb<[Z#Y=0lUީm>Iz3˦yaө؞q_wTBL=ߛpt UlL$s_%{䌿V.#Z9u^*/~ϤMᷲqYvahW^sg>ځn9uK̭R祚0kwo\<("bJ)昪oi k]SuСgtKL aIiw/Lc6-t_0^ja&&}fO8m-pW= ,ʼn=KBW^\IY;RÙ؁*V<|.G Qt
+651 0 obj
+<< /Filter /FlateDecode /Length 16490 >>
+stream
+x}M$9r~E5q~@]]&J-`NkFӳtuV27{N';y\r\~~vqRr/qqҮ\Jv#Ͽ^H8YV_rs~a 7?G2W¿E$~];-o q BP%ͥKsA<ջT;Tyw1]3A;Jtq,} l:0ք-(oO5{ pKbA_Ss;jw 1E\+?%Bߓ<-ڈiڮ*C׋:$ү*{_)3\X{]IWޕ$X@'v,[Nx?#^B_e n5t)GflJSK٭pGR {֟ܯr)އM^w,|z}X%.L?y_] ;x</'klk9>ĽnG7i=uj܂**4*IH
+S}Ýf'5#ZDzI6'Rs\6T{>Y=jkI>j Қ ^f4(ydekm7=S {n%ٴ]tZΞQUhimH,ip|<Z=7Rb} ̹s)_kwf)|1h )K;0]*[+.?{v!qGiU׻iEia*^-W]{ɚީ-\S'O_^ʧ7aenrz f4ҵLY`CiJW<NyZQs7~F9P{Q/rޟnƧGiTyhMV"&^&Ν^уwJ2XfZ`îI?̢ɿC\5!eP9ڑNťkYQ3`ᛥ"qnrgic!q}SOS;
+S/v8*jgsm]{|Ey?>~{,)Ns7zDWn{UF좛|Iķ,=pPgL=;xLlj6L[LLKH&n[=ʃ ^)7[&Іɗ&^kMԄrv&(-g0⼄(kr_.$ğ.] t˧|.6j>5ՋWcX+aexZo]kJ\Yci.]VE՚|?ِ{੅p< E
+:E5NpW.qZA.VjKX?&V0O,p ?5'Ȣhc+a!8S]IS.7t .eFrN-v$GEnjMfV(ΐ|1WBky8<;OiyōhnVzS m0CL$P:BfLBEB3.7nCR'fJA]mTwahPxv;JL˵cʨVwrWeW=Gix|D}%+*Nn{Rj=1Ccr+KVԈE
+b[EZLxdAЖr9vVG$1%j<1/M)ıD?=`Gm}Y2
+
+)su\[saF364TDucN ^L9zHғ;Z5RPKQ[5b4|RIp9Fk(.k^[oNd^8S30]24J;:hto'2AыT>KQ#E8T+*p(w^(lqOEN\n# qw;A %RGeshqƅ)(G=۸&w4J-Pp)&]\f3@4Tn+SzZtذЪkzKHn J}a=\
+8M1IW%aWW~ZN
+r ~o2,Wy ;y A
+wxuVF^~B 5/\G_Ѡ$xbg1W=u(v^;|
+V.߁RDn# U )9w:lw4S̃<J"C;8\6.D$&0L48NmLob;;E'}P CrG|h7I Ifo ʶB>!VuIt(y^-0u)`=Rގh
+!sy.Z!-SƔUn񹻧\X++c:
+X4lhI~t(6<&ZnTKov`fx-&dPJ7x$%̕6aqyf80P>RIm#By{.4Kقqi\xNIeN@z4@|SncVX]ͪ_Jp hiq(v>unOw]r
+*uHTb3Ce`NTe<@1*dNXSܔ<] @ Gk-wGDIm|aRGȘV(1<F'Y <40j|&E@E3Z.cPwg"Q!~\}\28F$ -8*K͋KFr=O3UBsɃ_'4$L0d݉p #Ӄ x<
+4H53&Lpfǰ=L߄DyHNRRad3_F,H.L[tFG8KI*j*H0-k:n3m4vKL'P8a1g/"'Э->]ZjcKR4l+(?C@$RV(*dၡ0wg–QRɈ[ƚCIBnusi2"
+OܹƇo󲏕Zh E˯VibE3߯U4ewm:o}4fw٩i
+?}+[MTL'g
+R6O;VQ|:-^U#3T sJQ~稵
+Q̼^
+
+$}!8?e2z5&K*)GVM5ŕzﺎDVMCa$N$Og =Q( +)**ms(x荏yC[ϴbFb.ϴO2=$QX~Xpۤ2SS\&obXF/IMTy&v6gm0?K{MnuW2SS\"6Jk%B+j[a^c],Yw^ޞC<gIs70
+$5c7/)7`qlϥ.|aIͥ%VoZR'":ʚb!,ɡ
+mp[rh-|ӂ\L'py} Kfe%%u7R%D8Y>]Zi/*d,U
+aI-K"o30U%`oBͲP|*b, ܞ8+@5CRHz7!%\pI ÒoBQVg&ϭ^K^L +"h<*t1˔@4) a8Au)ftu8egKL\KےK
+ 4L E*ɡ4 4fpp2$IO4Pa䧮
+gugf`DiBebe!|wuNs|RӔKPH_74_jBO*:Q[p c[+bW+FrGՉ7[cx]M,tqS-u=o=2 =Q2oZRZEY-ĤUA@aHFM\<!aatMzY,'ŝbM>p9eB Fv`=f5j\QMr_I]%U踆T" T#Q]+}E KdqAm}ZCЦb)ѝa]*+,JEuMV|٨3V Jo3}H.ޱ oGMqUSۊ  \MBl.++IjZgfl߉P7UexiLbc}0ji؈_;)U}^\6JM\u8GR'*U<bo g}LjFyw30_Z߁sq(TUH}sr\Y" xf"SK?1ήZ1ePOPW\X0p(X.VCsx#h͸g`
+\剶ȄP§U9ATZ_eO>TDX<ݣ؈3Rʃ!4EBPohWpn3bo!
+1>8 ιPƫwk[j0;>f,23CFJAy{CJ.CX-U0)vƷNǍ*t@/ hf/ŏ&}y'wKp=+\L8=*ԋ''Zװ-\>Se.wޢrAxr|1%;IX pGǎz'b#Ȼ1(1
+@jcLsQ65\`JƢ$%Sڮnb93ر,or?'Dmqh(Z(1'' V`q1\㉶@χ'Rwy8.FςYA xsO.,-g4ni4݋[G A]pKp?
+BU=?e.qP:|8d 
+0S_K_@T w h*yX>/H|$fێ㵋C@*z4Z"XN2.lM=<$.1p](>粤75O@Iu-wUICS.OU% z.=G~] Fiqَ(y4|t%` \V"NBdVfԶ>|G9M,^5Lkyեb(L]Z*
+J\CΠ@@71'K\
+A@[\\0P`e.(q.awښ%
+ PIQޔYxh8I T@ȯ7qH>=C]1r|w
+>FscOw%~ s@ Gk-wGDIm|E cB4OzN>5îu9#U:~i*\#><*s\4CaN|<H QoʎD_1JhQwFY]np@g+U<ddJ_ؘl#.) |J2m U:N9[hJܝNy 'RSؖ⎭M.| 2o
+CP(-5m}U⽨J1T;em<* sw+g"Wl=FO1㈔Ram}Y}0]Ñ9@E3Z";y 栖qՆ;es^3~>M!FQ#h#rPg'" 0 yI&Uw-0T24c1+kmCȴ1;6 NWά2 t>e@PuK ̮ՌS:SQ؈7,.hpfىHcDL@ʕ#=F'>#(0TcڳoR*k(42
+*󥌭PƢCܝʉT;u[ETxpY,$(dWa',a4w
+:ugE ;y J?F'[-!oN^E_id=V~+wIC1T;em< Nwʃd@~Oć 0b{qkq<P jGҼ)(jdԝQrm$>l*
+0s.!L"t#{ip}?
+/axW*4=Vcd=+Jɹ "3T4N,
+F *\% .OzC.Z5W~)6- ܪᢩZ|"WoUj86^ͻq_[Q7Á51,E7 L<{WOP!Gխ]2+7 Wd=p:@(Ep%
+e}xI֦T#b F\*{+e(nRAo}{UCW.)w]'^eetfKL&P8a1g&,?/#h %+h) 1`#f.:Y`'\ݙ ꡋOIJW.!:jW!@&J u(4Ј3}E|SCI֜,$o":6r7D t2ؘK
+G,L06L|__%'@_הWtI{5+1S
+`e.E
+G,L06L|_2_%Ǩ]7d{5G@&TV8ʤQQQog,'?'']ʤkh*K1 `#f.2A`(lߙI"O`%HAoBp  6^QkɨvļIoktj.\2G
+`Rw&xҵl ԫR>.3
+7Rʲ6 ,h*14ئkͥNZ8la1gR>9>ק:=I𾊽/2p ùra5@]ڪ,zY]m\$*Ort\w.fUX~췎hs1NjG93<q/6c3CFj{ꊿXF364 ۉLqЀvq/s;#D#o;za(cyN4[ιMZCw
+t1
+*\SD}q#04Fj(Ctgx8P0_Dޅ@4z[G^fB| %ͫ9w<) r!̘asܢɡm"x+%_;hǛ ': bb " =\ (mar?9T5g@sUjtU-x8ӺrH.0GƇ]/*O>hRO}<n#YYOPwFc?7Q~^czFg2oEU*G~kK+Mo|(GH`C @=rͳNgcn96{|V<N$Qއ QL Z7[
+t8YbWmYpcJuǒsޚOgy$wH4L/~7@FREX3o=
+#+mD<3C !Nlmf}:Ex**Q? qʻmiK7$h g^!eI);zR˼(c'<+МR!w;[%V{Ȏ
+;JC~g[1KOc }ظ> 4*Z3'Z~iNdΠ
+LO'" 0<d<}!2[`׎z2Hi
+/%%rmp=We$?j6j/L7OkRX~TRi<{AZFC1_~]U|gR
+્'p+ޑsYm/~=exo<fȣA=z%)u"|GsS|%A+W
+MϷo_G:~{^eتSe|á gj5M~˦S-K=>ƿP>Jz70^o/)xJ*\Gr 붉Y۽:2j,HMRݯzD*"CnN2q|869n'sܞ1NۥK5a6t/޸xP>]_E[S-Vxmնkp .oS3U7Wf)Ɏ'2G$\}x ~zz=i.k'xiV~2&'3 _yr $eJCtYg6r
endstream
endobj
-649 0 obj
-<< /Type /Page /Contents 650 0 R /Resources 648 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 652 0 R >>
+650 0 obj
+<< /Type /Page /Contents 651 0 R /Resources 649 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 653 0 R >>
endobj
-652 0 obj
-[ 646 0 R 647 0 R ]
+653 0 obj
+[ 647 0 R 648 0 R ]
endobj
-646 0 obj
+647 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.532 641.39 261.487 653.345 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-647 0 obj
+648 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 319.111 477.953 331.066 489.908 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-651 0 obj
-<< /D [ 649 0 R /XYZ 78.37 808.885 null ] >>
+652 0 obj
+<< /D [ 650 0 R /XYZ 78.37 808.885 null ] >>
endobj
169 0 obj
-<< /D [ 649 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 650 0 R /XYZ 79.37 771.024 null ] >>
endobj
173 0 obj
-<< /D [ 649 0 R /XYZ 79.37 294.426 null ] >>
+<< /D [ 650 0 R /XYZ 79.37 304.388 null ] >>
endobj
-648 0 obj
+649 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F23 379 0 R /F29 375 0 R /F20 382 0 R /F65 387 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-657 0 obj
+658 0 obj
<< /Filter /FlateDecode /Length 5403 >>
stream
x=˒$m:"wDdž7B>MxnZE.dVՌ;C?* D
@@ -2530,25 +2483,25 @@ C18Quѿ[-K]v6mw!B)S-&}3z AI Dp&0/$
tbNXv<X5цꀓEUuSNjkQ+La`9rJFjq+X''r޹?CZ/GH
endstream
endobj
-656 0 obj
-<< /Type /Page /Contents 657 0 R /Resources 655 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 659 0 R >>
+657 0 obj
+<< /Type /Page /Contents 658 0 R /Resources 656 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 660 0 R >>
endobj
-659 0 obj
-[ 653 0 R 654 0 R ]
+660 0 obj
+[ 654 0 R 655 0 R ]
endobj
-653 0 obj
+654 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.713 590.495 258.668 602.451 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-654 0 obj
+655 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 274.389 590.495 286.344 602.451 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-658 0 obj
-<< /D [ 656 0 R /XYZ 78.37 808.885 null ] >>
+659 0 obj
+<< /D [ 657 0 R /XYZ 78.37 808.885 null ] >>
endobj
-655 0 obj
+656 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F20 382 0 R /F23 379 0 R /F29 375 0 R /F52 376 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-665 0 obj
+666 0 obj
<< /Filter /FlateDecode /Length 4393 >>
stream
x]I_ѹ
@@ -2569,28 +2522,28 @@ nFYS 9RW_Tp/;2
0~
endstream
endobj
-664 0 obj
-<< /Type /Page /Contents 665 0 R /Resources 663 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 667 0 R >>
+665 0 obj
+<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 668 0 R >>
endobj
-667 0 obj
-[ 660 0 R 661 0 R 662 0 R ]
+668 0 obj
+[ 661 0 R 662 0 R 663 0 R ]
endobj
-660 0 obj
+661 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.659 468.618 259.614 480.573 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-661 0 obj
+662 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.923 257.918 207.629 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-662 0 obj
+663 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.581 257.918 232.536 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-666 0 obj
-<< /D [ 664 0 R /XYZ 78.37 808.885 null ] >>
+667 0 obj
+<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
endobj
-663 0 obj
+664 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F51 380 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F15 381 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-671 0 obj
+672 0 obj
<< /Filter /FlateDecode /Length 4649 >>
stream
xˎ񮯘upNus|rb#S7n4HѰŪb.r)QO wvwJqky@NaNF3B5;}ڄq=owjK}j8\w钎0k5GרM?baSYFfU q[sQb̘?5?XG`=$G/#i(v`M^3Kc;~ Y:CQ <m")S"~ml5m_Ϲ
@@ -2617,271 +2570,271 @@ xReGG^J/ѿ5m߄T;S)jXA~paRmA6
5|D+4m]_Y+PLh؁q+?~'B$雴c JOU([Bu7[ GK?'!5Xu5ݨ?cܟm$?(t u@P6|K9Gϰ_#޴%xY[3uܞ>R*q?B,
endstream
endobj
-670 0 obj
-<< /Type /Page /Contents 671 0 R /Resources 669 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 673 0 R >>
+671 0 obj
+<< /Type /Page /Contents 672 0 R /Resources 670 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 674 0 R >>
endobj
-673 0 obj
-[ 668 0 R ]
+674 0 obj
+[ 669 0 R ]
endobj
-668 0 obj
+669 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 111.059 85.34 307.73 96.959 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
-672 0 obj
-<< /D [ 670 0 R /XYZ 78.37 808.885 null ] >>
+673 0 obj
+<< /D [ 671 0 R /XYZ 78.37 808.885 null ] >>
endobj
177 0 obj
-<< /D [ 670 0 R /XYZ 79.37 533.569 null ] >>
+<< /D [ 671 0 R /XYZ 79.37 533.569 null ] >>
endobj
-669 0 obj
+670 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F26 404 0 R /F20 382 0 R /F29 375 0 R /F15 381 0 R /F57 385 0 R /F69 402 0 R /F23 379 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-682 0 obj
-<< /Filter /FlateDecode /Length 4768 >>
-stream
-xɎ\c|h,@1d(s S}{dƚaY+dU_~oxi Ûۇ7߾hs07E\g^Lˇ?>q
-$ƹ35~cp0nj?}Q)ϔVFXcxNc1cn1WױZ%-S޷te:b<ibGht_F߆iWk$p5ű/4\X3Ѩ|Xo F,FO8I/vZ?l 0dC'eLg|Zw
-J0-`
->Y.a_qIcz#i- fp~! XG mOu `CyfomP+'qg;npOH74Pq&Cͯ\K"˿.oqyRcPc'BoZ `8~x+EiMJ{\!KYE$%i܉uܽ9aX>{nM{;K'2[&=Kh^q13t˼b~
-sJ@%mzq (5x/Ӄ@tq()0|]$]̆MaI,J*2A "304Z'V,('N3y갲L\D?tZf+%؇VNSVVhNSVؚVNSەlmzL
-LiQ\V0P$అޅy-׷J2@+ 3wܯ nJęᐌ ٩`?r-N6.Y4ס{tﻢݙw;wDNIͣzW6LNoi^a 5b]+ё"VML
- <%k-d4
-Grԭ}w^OΘn-нq_.* Z5߿]:hwy
-= Gh;5!]ć$ 7h4T-1zcjDQG-_ 1J/Fb6 e>8w)IEX}O8;xOz9m19RnL2tl3 ha8*@-ެ\dEWgK~g :,zUoN~*&6D2m0>#>
-3a&\QxaC&#=AbRVϖZ+ IN<eGɣKD$5&x Q ɰ ;-p*#d_ ֈ܉\Xؑ9cGp9f[c
-8Pgn;ȝfK-/z=ۺ$t^YD$ZF"uWzs#҉̳Jo)0ydƴu\2_hI(N WM[b2v.r C! ?ݡg7Tݙi5-'?]?^wkSpGub#V!360A`қX?zT&+ma<%K RJLh)*욄0x*#%4|9WMLYU
-&h"ڴ#Q(K#ޢsoڷI膀 'k1 _ꤴ[H8cSNeٍXYB ymH-ɻ$> fz2xX)X/)SMAwajg5 mTALb%HhR41JP2 JMME4p.s' Au0DE--̔ѼHkZnôJS,3LQ]43ovs#DrWx[ۓK-,4dgWE]<{
-9[+%`[r3gTuzJ#X4¢/֓gě֠MIgz*'aiZ rl~U~I'p
-5Lͻ&ȞD^! i*3fĤTNw6)x{Tzsu~[Z1ĵZ?zO\JXZ #:c-q;7~И;RFmSD} 4C+q}z7f&шe Bƻ%Yxh7ڃ}H<a3t5QzV;{7ypyy$\xHlj.ƛ.<*sn;ݬL
->C_rJZ?LY<M1c4TDgԸe5ʩOZJ9J
-ĵY(et@\q J9Ht1CۖM $ g))gqTJS\ C[6-VLQMл1v[v{HJIݞ9=f;=.5 B-t( p1yˉ8Z0p&[&V{G%C;Ʃzs}'hxxB m[ٺV<宒JP NCǹuRBNP Mb@f5 zDWT *:sLäڍPB;ܝ-fpruZMۓEijjQ̆j1B^>堅E(jz_%pkp\Ljuq]ڸaQA,<f,ĠHR
-MAs1:u>N)F_``GSrps}@WC:^vYe1DVI5t*ZMÈ.̘{Q"ݔcͺ <P,f
-FjBr0(:ng$dt\c,)Q}K)qFv TʟG6<ٵ TrZ`l\bW#"UG]̮0@<qJtnDQe9_K|z/,'I{ w b
-oa9:!S6\}PnF”jdF-iΛOMma _CuRu6; (BۮPҩg޸fd /OU~lό\0^ Zk+]r. ύS?XBBotU5%kmTGHBnEF!ZY
-\щqO{aO 8N5<[iV#[9PGCAlIM c*|5 9&xZ?Ì䁝"I[ɴNOVB50:{ (4 `Ki9
-h-fԭ-rr?MEsxSwGw3LQ(CU,wKX+EK7$3;7i75LaY#p񑂥SE" E@ꁮ#nG{>Tg|5ipW<p5gD>Jzx"E9o{?"<
+683 0 obj
+<< /Filter /FlateDecode /Length 4662 >>
+stream
+xˎ>_Q졵zP/aY 9 ["
+V7`Ou JIA<3ַ\yؿd3pg;np2Ph8ڡL2^<cyz]p \.W$TK->-SFДZ.V #$*'ؠ)]N]-,K:J.o"Lk}T
+/7
+.8*|nWkd7oCDŽЭ%
+.zz/~
+KОٰ) {]541i<
+FbDN m )z &ފ^;L4d ՞hQeը}s0 nagkœlmzRCX&\b9nKn{HsZ=4  8lal^ EhaƿM43`Bv*z矗^8rڨ;!giGsfg}5Pδprg]1eu`!݅<`sT_yP$Gz
+Kn'K{h}OZ ~o2:=RF5N4.u+;c[{x\ Z$)qwtN/-]o~硼PCE|x(?ns3P2ƐFoL\dm2Qq٦OQjV>]ӓwh i-:8BY4>Hv-zG0{Xۦk\I냻' J9EF.U:0ghkq7}ՊJ zwo,^֔@/"5>=gbu=`-}]H4>#>]'剪yv+~{GqQq(!=A^+Ű4[ee)Qv 3a~3 '
+@I㒀Ό6tB؉p?ˠM6 #R%# C$)JhL .U $!q ň<&[n9fGɣSD"q5)& QƕUG5v"CcX V_E\͝/#^ pofOc7pgn{(T+ҳ{<ˌ7EWg?9Ey5EOi-ZwusNrش<{[b#kJs]'ɪ:@QN }bWK$Za*t/]D #
+`6y+L6Tu<ЄJ/\VʂODSxI3[ +Yi7C"筚""8tvԦs&x&_hBE.S%p9UAWi0j+RжC/;֘젦d J ?Mg*(̉R.w BPY\a"o$[WV9ͣ[588Қ0 3ӒƑy6`U嬙7_v̹Qlb+' ,m+L+WT~s*I=ۜsי9mfəcEoc^Fn46P^֋.dMIlXMYzJ1,Si5<ՕMKl8bxBr1)ROI/$]=uN;/dL)5u4\^k,ϭ6zkŋ-pMI6vUoxfgnSt`ʫq1j\nJk>X7j;֣f`.<?aI =)C<2h`kb')i*W`3cI]v
+z荚~ε9l^j}\qa"t\[EcnK3mlȍ3eJDOv6)[#6PūzCnZMx2ӝ9rg$[f=Ĵ-3Wy8Gy5{)P^`?I7N8L<ziNlL%Lj.$q ^o͹n0W0!,** 1mpx9%fqj6$1\rqh>X4IJ젢z:^u,Voxnsy i˨C-J#JI x -UIqTKWOh >"Оug
+favh+of(CS}=s{.3wZcN/gNĭ%!tUl#yˉ8Rfu8ᧉ3Q%ІP=2(Bv|'hkaznmQ"G.Uc;ԁ'˨:uBFfHMb@J+ z8Y&`W[˻ iZٍn(R@eV@P k8<::W>td%{'A9*%P<7F z^.pqYTP|814NrH n0(Z Vq'l Ā NIX@KnJ]C#
+eosm|#Ԣbq@rAl3W/jnGm^ՏyZ"j۫.Nww_= C0q[Rq_eO[dü+׹\p_Xa^t<bvB@^)Rw#7*>w,7L(ms0KՒ<
+hIU3@]9ȕwvm(堥RVQ >"r!eJ gB#2կO^{TVhz|כh}=!֫|N˓m@07Rzpca`
+vS^)V[AkSTX7WPTS_cDc!kZ9nyj%|6{gf& <DU[;6L"DW3CsQ4֎ϻ[{ДBSF~(邾Cz0
+JeMI5 n1~-ʊ?$k7v;VZ ', Q Y3#t˪Bgnj[uwuk3z l=P4rͥ*mZ駐v bNə|+'bN}Ba0\U/Hsk? #t*]҆sN f6ҽu;,,NT4Iw""ʫ.!*둋kfx_[flwpS7bt߹h4Ffq^įn^өRn~kvzc 19kTQ F'F_(žhju2E'ƭG8J?D"[BdɦzM ,AsJ?!t3C0939ybu4IJA\J%GRqO$ӡംLQAÝl7 B>}5^C‡d
endstream
endobj
-681 0 obj
-<< /Type /Page /Contents 682 0 R /Resources 680 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 684 0 R >>
-endobj
-684 0 obj
-[ 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R ]
+682 0 obj
+<< /Type /Page /Contents 683 0 R /Resources 681 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 685 0 R >>
endobj
-674 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.843 592.38 435.798 604.336 ]/A << /S /GoTo /D (section.9) >> >>
+685 0 obj
+[ 675 0 R 676 0 R 677 0 R 678 0 R ]
endobj
675 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.091 580.425 325.046 592.38 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.843 591.898 435.798 603.853 ]/A << /S /GoTo /D (section.9) >> >>
endobj
676 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 160.423 409.623 172.378 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.091 579.943 325.046 591.898 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
677 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 160.423 437.915 172.378 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 132.953 409.623 144.908 ]/A << /S /GoTo /D (section.9) >> >>
endobj
678 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 81.953 127.958 93.181 ]/A << /S /GoTo /D (table.caption.1) >> >>
-endobj
-679 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 81.953 155.634 93.181 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 132.953 437.915 144.908 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-683 0 obj
-<< /D [ 681 0 R /XYZ 78.37 808.885 null ] >>
+684 0 obj
+<< /D [ 682 0 R /XYZ 78.37 808.885 null ] >>
endobj
181 0 obj
-<< /D [ 681 0 R /XYZ 79.37 666.084 null ] >>
+<< /D [ 682 0 R /XYZ 79.37 665.602 null ] >>
endobj
185 0 obj
-<< /D [ 681 0 R /XYZ 79.37 275.261 null ] >>
+<< /D [ 682 0 R /XYZ 79.37 248.911 null ] >>
endobj
189 0 obj
-<< /D [ 681 0 R /XYZ 79.37 235.757 null ] >>
+<< /D [ 682 0 R /XYZ 79.37 209.406 null ] >>
endobj
-680 0 obj
+681 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F69 402 0 R /F66 388 0 R /F15 381 0 R /F65 387 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
690 0 obj
-<< /Filter /FlateDecode /Length 4386 >>
-stream
-xڽɎc_h4M 8Af 9$~K->[z,H~ׅ_~~뷗n6\`." Lq+.߾_~}H'oTXOä;ZnxKDGX2MK`J8*ǂӫ\|\^ߥZr,j"e 0 ;wQh9B>:3}'R8 Olm;uݝ4yt\4zMv'%gJPSg@ 'qK8|Qeࡶx xD*i[P%QұCV^
-3i-j`iAHq@P(?uH_hdgn@DYgf6@ivmAMh=/h4$iIM=MJ88t|[vEmYcy:jɆBoZU/! Y CpUj S44n mXS☓@i3w *B #gPTϭxX,?I'S@K&И%mdH{%34 h=Np8f%.5GhT#;
-}:9
-xLN\EQ8JuoD]A %XOV3+i1-]&ZC<ٵE)~rU%vDOʽqYS׏و@1 !Fv2qy:iGD:`
-܏4Tu}jQeU
-d.͸c&$|R)1Rgǵy/)MQ ΰ3(jɘ3½^o9J}~[Nura /\Q|nJ.dMo\940mZ%G7]?MV0H4^$#$"rFť̽'h:Df;}<L+خ.=
-;GQ]uϸE}9&۵EJ;,fl`}v]LG3Cbu&I~lTz 0͸ӣ-nw4N
-]F691"Zˊ!d3! ,oCK->FDQM2Rk#O='-~Y?vGQɑiso߶~'Z84~SK? B`^q"YDҩC,E,
-LK!8hAYwpGZ`WP&9L-,&5}z}X%FjH2 3DJ,Nz+Fwvh(e-,1E{t)܏dZ2*~U fo8{RSaV9Mzs_ԓOZƺǖ'\$> (7
-N(S3IS7S31J \1GL GLe'adK$[~}(]+'Lb!c^1Rpq$cSbZ.st}q-Iv͈Ɛ|GJҧpdz^o]B;:"aq?n:gY[9gBKo$_}k\
-MQKf٭kCimukx b.@Lޡ2TyVWPӤcEA%|4tT ﲇrqe(KM&.YfP#Ge}9zqA:`xa 7ϰ >54ѻEV S m,B1Y[ϰ&[!έEG,YTA!^%@ ˸0?*%-RYRԣ}dhRVGh+p "7*y%</e}0p=|kj"`.  *M志,Ɨ!7uUp>6~0sUqش&P
-nw~CLߢyE S>ȇg֕9^z.#%\,A`_G:ٸd)WH<D'fi:aNvF&ZX
-tӏJ!YRf?)= ,qׂRԁPdr^KXjŌ69s^H=Ib?!(e
-C-ݠܬ$4YmڃR "kU=YCD`whmN,B\6_PCuSw"]H&m]gPB1JXy){zyHuUIV'֛eM9`,K#А J1xy=`ӊm< ÒBtVS!ZЧ)-O2z')G
-¨zoMv)IgP^0}
-Cpމ
-NKS΢,`Mt2qœV5\F8;0}mQGOEcw bo&s*<v!
-:uP~&pcwzB61Adg[U  rYDV04+ZOYE䷸[ܝ
-b^p;O3%w8ޯĥH9CO5n}
-T(r=ם0lJ5K5;]YL_;:  Qkä)i7PL&B"z&E])
+<< /Filter /FlateDecode /Length 4075 >>
+stream
+xڽˎ#7_hE@t {܂vgK=w=lOrp]%Q7Y/O/<~}&3o/b=b`܈o_8~\BJ)Ϲ9HΕkh_gk{_Z +U5 ق~&L孽;8m_fE)eF5a0
+k(H ښR$-vqZ38;PN#J}`O84kep#jt'wqi>q.] R{x$
+@uh'FZY]d,nqk{>½-&8`XV`G@9.9sV
+|".8=B."uFY*~WXWo4\' Lϫәeg)IfM<
+3㜎fV?1( #W}snW(_4(%Q{gNSi< cj3(!(SX<~ ;+}&xNS!c6c> =d6kfF\A1vNmD;h{
+-HLS,S&*P qi-mJ"nEB/URxn<gJBo"$rɘ3½^)Ju.o-=o2y5_tt/(pl|LX?r@axJ;t;d2Y*ͤ#1cHz^<T#`֊K{O661ΠuꭊFIvxORs
+c۵'!lVxͼr#%ZhҶ|ګ z2Sfuj(((Q[=[J@qRK/ [`ptM#g29w3]n )ݗ0 a dk npV(]s?f xk*YkKTdPZA+E>619i
+$5&&?R@{1 qhBg
+{%:}6f{mg)iiθh}1tHa}M݌ Ϯ{zӷ t̛l0ŐRcIRoauz=;zLE -lqhd՗nUd*.AzBfB[ʞ9#Ggՙ @F{1B_,{ij%?Rb[rtSqD'jT!
+ CA->F$17 c])Rߵ6[S)~Y>[U`FmJ(JX~Sdh~ޣhƕNXfA{Q,<Roƕ6~1h#cy*6AhYGGoVPFOooG疋t
+$Ьp=B{ ~H,mz+O.]-e-1E{t}O)wȤuRUQeO}9l#ȳd3ӯy֓LWjzƖ') *IyNG32/^|~h7qG T;S15Ja5\)GtO^ζ!uRtnۙm&B x9˔1R-G^׌RS1KO`-פ=ھvn4WmnJ%>ifh@3'sdo{H#qN+W`ԜeoY2Y,\hL<&e"9q4%-ae7FO4Iul;Ԇw
+
+8c[G3𢱚W>٨l
+H(<}ȣKtJ%psb75P?뚇XPwrf9OVF>NہYSD=:ZPԡ pT\WBM4,0iӅiPByW3#4 YGoFQ*7e4 B1<\x*[)Z<NѶ@P9,)jvJ
+4rr@O2x')DG
+ɡZ-5Tâ=%/FH
+ܧ0;F;a!|(9ړ
+FAjp]ľYz؇:GxR̛t\HHfsԏ 1,h@9aʓ䗼()s'%?<7HV/|鬫@[Sl :fW/0`O)QHi{<5]͂?G >iץ#&OS<L"-ξL)wbRhQ3SB[_ 0ױFQ$V2Ƿ!V4EɔF]1WKs*ta29Ih%Z9JWI~Qogk~4H6$m(e_ʄJ4-F&y#F+881)WU!#CPL֝ɝ3_[B͙`2wohV:|-S{Ȩ _ʤ p̂^\ek+2; tt|lO
+!s@'ʉ5IդJ+ey$"ݥ2q@*=
+i8 n<zD8^id~Xmo0>:viak9r
endstream
endobj
689 0 obj
-<< /Type /Page /Contents 690 0 R /Resources 688 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 617 0 R /Annots 697 0 R >>
+<< /Type /Page /Contents 690 0 R /Resources 688 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 697 0 R >>
endobj
697 0 obj
-[ 686 0 R 687 0 R ]
+[ 679 0 R 680 0 R 686 0 R 687 0 R ]
+endobj
+679 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 757.853 127.958 769.081 ]/A << /S /GoTo /D (table.caption.1) >> >>
+endobj
+680 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 757.853 155.634 769.081 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
686 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 518.01 441.844 529.965 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 467.631 441.844 479.586 ]/A << /S /GoTo /D (section.9) >> >>
endobj
687 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 518.01 469.538 529.965 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 467.631 469.538 479.586 ]/A << /S /GoTo /D (section.9) >> >>
endobj
691 0 obj
<< /D [ 689 0 R /XYZ 78.37 808.885 null ] >>
endobj
193 0 obj
-<< /D [ 689 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 689 0 R /XYZ 79.37 724.862 null ] >>
endobj
197 0 obj
-<< /D [ 689 0 R /XYZ 79.37 577.856 null ] >>
+<< /D [ 689 0 R /XYZ 79.37 527.477 null ] >>
endobj
692 0 obj
-<< /D [ 689 0 R /XYZ 226.44 275.776 null ] >>
+<< /D [ 689 0 R /XYZ 226.44 223.171 null ] >>
endobj
694 0 obj
-<< /D [ 689 0 R /XYZ 232.109 263.728 null ] >>
+<< /D [ 689 0 R /XYZ 232.109 211.122 null ] >>
endobj
695 0 obj
-<< /D [ 689 0 R /XYZ 195.137 230.925 null ] >>
+<< /D [ 689 0 R /XYZ 195.137 178.32 null ] >>
endobj
696 0 obj
-<< /D [ 689 0 R /XYZ 195.137 220.753 null ] >>
+<< /D [ 689 0 R /XYZ 195.137 168.148 null ] >>
endobj
688 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F66 388 0 R /F83 693 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F66 388 0 R /F83 693 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-702 0 obj
-<< /Filter /FlateDecode /Length 3403 >>
-stream
-xc1 G Fٰ֑{G}Q{{#G>)yE^E_~zSEt?(|!/`/)!닔o?~ii |5()
-67~4=Kz"wOoQnRZUA#>;_N-a ~+I7|BTDP
-k9EGʧSŠPfbFEaA3IZ3 Q˟@oL|KjeL|NpEaGLICrM\F
-OIkH2JXUH֕o'z.PH
-$B):@PSy<0t9N TX)9]ou 486e5-yc۷jIU =9Rtkf СѠAj_iT+npK
-wem/_š-E^Suku?w  ߢӅa⩍4ephgahjTW_nΏ(iz~%+!YM#0k1'c/O@w|`uc4S ?V 8G&vH
-Xo` Fs,ͫUӡg窆14H.΋-l'/>=GuYHKEHѐ{a|75[@q(yDwQ4+0*~
-<p*Q9`[hr
-k8S 5P M9K5al**[^a⧜Kqk!kr=1u ϥaFjj&_CiccTZC/>+3:U ѽe39lv
-f\lXD@b?5
-f7z kMߛ$]OYIɺOy,~ھn8AYy?w*D1{ºe&.`顱0Z/INz yWӂ q֌3ߞQ7e6qr[>x^IwR^ޙD۵<2^]b2&oY]в
-|H:S'GG{%Agҍ7Ŏz~ߕ27rcIeEmϵ'iwCX= V`fL*0S#lp Y2b9p~YUTN8ۂ
-
+703 0 obj
+<< /Filter /FlateDecode /Length 3784 >>
+stream
+x1W,dh #ٰ{G}"G;6rnȺϖ"/"?|WEtڙˏ|QB^%*axt˯/R~JW%%ן/~W)-37|~[rN mt@р#$ʿ,ii h\m?S ga !9M%;\YuSW=* ۨ!O^:)e7-7P 3O𝎉7\`*QtQ0~"A:93%fM=&oU|"^fɪ$zSy״Ӿl%!irfvG,Pᚙj6OF'&PtrV FR{zյ ^(%&*zOM8qȗhW٬&Ҋ6rA
+U*Y\v+3utkB-7,LH+A5+֒t5=*3TOol~y<ŠVeBE۬0g[:;kjW@.
+ݼ^l5*{YaJ;bq6œ4]&LVɆ1p/vԽcm_Q)-Ӧi(>RictpH kE̴"cijĸk"lA(0' &(@U~N qA*nDPF
+r9OBfsuw<DKƝtǸ7W\XF1ÌOt7dxavWΟvߵ1v[KqXkFoUw.Ѯ6KE: 
+q!e>R |bSЖ}fɇ< V~P:3 #<
+^OM#m{ϫәYQBٰ4rc-5j EaTgo5zaj>
+<n%þ#{fi{6!>Z
+֡TYIAiItOxѽl&cS܍V0_v b/60ЌIXg0Q<XfC&CwQ\"G}Hq:~andRdy[DakS<tP4ԟg'i2TMcd[|9+ C3:U搪jOjeR{mKh4Sw 鹠c; ~[-,a =sҏ`4W Kܫ f3t. a`ЎgY[1 }rK~[C l0diJ@d6rm
+34;̲Zv;t?Y72=%7Tןl{ 1zCL)k
+2ejiZ{=noT?TK$[>k@ ʸw}a&oY<hY:
+MdgH?y QoB˥}  yg`
+b}n2-bK%Ax?HĎ^/WcEFvͳ{F Oi_Ójࡢ m sͶtPA zkӍ}wrW0V55 >K7cOƎhGeӓFTu:=+rt*INf'Gs~vڧ1g[V 3[G噍"8:ƸU,&BϓCZU<1!5؀0]Vx\j'19<i?wI<H]̙<v3^>>f2U^Yktcwi5X| wBY6.:J< &iii,`|Aԃ,+/SsZ+~u|E#/Gł?g"FVo7|w"s!y{0xSi߿/ݤ!hCUT3`ML'/(_̩yrs^ oھX 7|Uz{s}}'oSL UvXæ}T@SMҼh8}7es7qIĈwv6i"񀥁07MϬf+8 [Y 3
+T
endstream
endobj
-701 0 obj
-<< /Type /Page /Contents 702 0 R /Resources 700 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 705 0 R >>
-endobj
-705 0 obj
-[ 698 0 R 699 0 R ]
+702 0 obj
+<< /Type /Page /Contents 703 0 R /Resources 701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 706 0 R >>
endobj
-698 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 433.35 325.792 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
+706 0 obj
+[ 699 0 R 700 0 R ]
endobj
699 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 433.35 353.955 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
-endobj
-703 0 obj
-<< /D [ 701 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 365.604 325.792 376.553 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
700 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 365.604 353.955 376.553 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-708 0 obj
-<< /Filter /FlateDecode /Length 2641 >>
-stream
-xڽ[Ko8W{(D T
-Ra(rU x")u2t]٢nA}W4Ihw*6dv)qKN[:tu=9ISsE잦os{)727?nEl ?ݥbmb܎)XY`(,N%/k&L可OeOp<wyz[vnftw'Fy'ua0
-?g[R&6?n+|+җZ| E$
-gcƉt|Bm^0pU\2{ee
-)%z)K?炠'O)9{M(a90rs:lW]bIApyvNO4W uL%!D-~>P fLN _>1'*솚2 @dFKGcZ)(hic R2F:M##5dhagI0⋣uSj=#!BO`Z*3|qtB5k!l$ 4˦'!XKave0 /Xm^Љ8ϔ(>^&iީ2&7kC0&^pZcU#9Xx* Nc 惓q J,~>8N(dֲɪ٭&}x6YSsT,A/?[rHZd:#fxŃ]
-i-=u!?=]ͳApv
-KѠ]KPPs=pm%(tB8dž Ͳk[nKmv[N}[&6]۳ Ckn=Y ~ an`4Ldzj4縷w 5{ed[`հYYpqzQ;X@
-r\O"Sw#H8QXp852[o U)kvтr}'#! bGYG 8z1Q"!UYKZDX>jh 2\55XNl.ߟZjQz ֟L׾ErNTkw*K4m$ժ̫nݖd?YZqkByKI_줌Z4TQ8w$ύw7r+Z6[ mAMAO᪣
-rs-KY,URMu</4ڂh
-f5)sYJIGr
-%ĥ= իBbXhRmm >Ѧ5Qr#n̺\mt
-endstream
+704 0 obj
+<< /D [ 702 0 R /XYZ 78.37 808.885 null ] >>
endobj
-707 0 obj
-<< /Type /Page /Contents 708 0 R /Resources 706 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R >>
+701 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
709 0 obj
-<< /D [ 707 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 2710 >>
+stream
+x[;6W( =m&3ٸKnU|Zfw@3jH?_)J߅ߟ(]х-a-__)5RJj <RP@N־Np%^/ҷ(a6\Spὼ=t|TpIQ%xЋ~*im7ͨ n Qs3tgjq0.\z\8D:hgZŊ羕 *l(Ekz^5IFң:/U2ԃq% ,ke8/n
+}Y[ [Vf8jO Pl>(H_jq<V߿JEkJ,Xwp;J&-m2<o=NF$1'a2L;ޟto*3,
+ Ŝ)0kL0=1l@dt+'#9촆 C)Qw2R+٬i
+5J0 u5E @dLfZuf隥g#Sf9ĦYvҵ( zY`xnQtZ *忥Dj>]@$0x-~px3g 7J'c<pdŧ
+sZc
+j{V^90-s.n( DI̦+UYҲsи%}7gxVڭl̊Smrk7, :9 -naQf?aw%aj4sݻ{=8 -2ijx{Jcm#hc|4:tpe977f7Dyކly*2FGla%
+ȗb1Dϥ7*] -N"eDͥ"v/Lpnp]X `߶cOͫ3t$@|_Cohq{-i ׶]"̙
+|R-cw!d-:Aut?%Ps}@\$0G Kٷv.L=.eay^sXmTޱZRJ*QG+,V25Zz;9rp֚U4 8: ,Y6Ҹ<U"zWW_}6Fe?eT7'üĚtةŎ z̍\wb 1h7I{ɝl)m-e " h3l]6*_'͒<߀cU:酜ƺx}lxZM$f3HO9l+1Ze2,WC-焺w[YO} h6Yy$F>`Pgk{@8J:‘#Jj
+L|~5}5֗B4-=
+8%5,DvI[8<DXsV}JE m9}TŶ+J; HN[#iδC]`4:ZxMCLY9xØS=J.g}ĔɣjKokx2rf]&m#q:h[m!B0 I/4^#<E. G(s~+k6Yz:iRT47\ރ"JUT#H fG$ &WkbH)>$}8:W@̕U|Փ\6e;U/BtЗu.9>4;@ aS- ('BvhYE&%TCqrˌ]anV;0,xP|R ‚6:C (qWf 4+ ^_Um}9ϥ>S ![8֊VJ
+)6atQ-NȮ<, F$[(C4W HHN2Ԙ^5.;Lkn(tczHCTq'!)b1,w+y&)_pC 4. 릢>V7W 3ՖP4BCa֝G''!&<_r
+endstream
endobj
-685 0 obj
-<< /D [ 707 0 R /XYZ 79.37 777.001 null ] >>
+708 0 obj
+<< /Type /Page /Contents 709 0 R /Resources 707 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R >>
endobj
710 0 obj
-<< /D [ 707 0 R /XYZ 311.994 696.183 null ] >>
+<< /D [ 708 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+698 0 obj
+<< /D [ 708 0 R /XYZ 79.37 712.61 null ] >>
endobj
711 0 obj
-<< /D [ 707 0 R /XYZ 368.632 684.135 null ] >>
+<< /D [ 708 0 R /XYZ 311.994 631.792 null ] >>
endobj
712 0 obj
-<< /D [ 707 0 R /XYZ 202.495 615.476 null ] >>
+<< /D [ 708 0 R /XYZ 368.632 619.743 null ] >>
endobj
713 0 obj
-<< /D [ 707 0 R /XYZ 202.495 603.412 null ] >>
+<< /D [ 708 0 R /XYZ 202.495 551.085 null ] >>
endobj
714 0 obj
-<< /D [ 707 0 R /XYZ 202.495 591.457 null ] >>
+<< /D [ 708 0 R /XYZ 202.495 539.021 null ] >>
endobj
715 0 obj
-<< /D [ 707 0 R /XYZ 202.495 579.501 null ] >>
+<< /D [ 708 0 R /XYZ 202.495 527.065 null ] >>
+endobj
+716 0 obj
+<< /D [ 708 0 R /XYZ 202.495 515.11 null ] >>
endobj
201 0 obj
-<< /D [ 707 0 R /XYZ 79.37 543.562 null ] >>
+<< /D [ 708 0 R /XYZ 79.37 469.822 null ] >>
endobj
-706 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F52 376 0 R /F83 693 0 R /F58 386 0 R /F69 402 0 R /F65 387 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
+707 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F15 381 0 R /F56 384 0 R /F52 376 0 R /F83 693 0 R /F58 386 0 R /F69 402 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-720 0 obj
-<< /Filter /FlateDecode /Length 3558 >>
-stream
-x\r\ + RjMUޥMVm&>ZVYd!ž@8
-p?m=`}A kLwcw (T8M|ҨH;*68RLW{TUXyq1fyI&x0q4 f [{-]-lɮ7M5
-UH#**
-5E2DE}i>ۑvZH0%mSp9}4~OIklOuUkp򛱯mș4MjaiG(A
- 긏g}$BTﶥgm?ȯ EhkzW~Aսпr
-ύ6: *PކNl4n-ҥ԰^^75'8(Y'eHays;;}wQ r;אW+?ۧ|9_oީtxQSry"<*
-<MtK!fOU
-tT nm: =_&ݞ[B\jEc/
-aq [,}`7'\1S:&u$ז7g&q0&X^6#-GK81biϹu
-b/(ErD_1֗
+721 0 obj
+<< /Filter /FlateDecode /Length 3595 >>
+stream
+x\\ jjԚrԎM$ݚ7p M}
+3G*UjXB顏Z&mdgAۛLHxk1-,⻮Pm*diM6{=hil_>N\~~"F'JpcVڼիYΨ)~lF25OZD [+\h~"3Zj Ed>q~T ;9nʧ4(7s[/]g>>G;=*浼{Hg@=Qzx(~]J'H0-&ӄ=?$
+-P©ɬ]KkLj5%DS*W.i[2m3eS<X0-ɖj5>D&=Cq:qru&̩*4__܃ Dü(rMw۲t(b|?R!ur:ѠvettgJH{Fіjhi֭7` ~F7֥SQ^G(ʑmV$4Ϻ4Фj&*12_]K2G[m=CFYemoq ΄I{]IԱO߃)vTimPׁ[<| zis͑VB
+CCr ^D3e!$1"$"OcGz6SaM )ʋY5RNfn$˽f;8)s=wj
+@ug[L*E<ٴ38a=At5h @i(a;ѓImk8sˏJSyYdd&
+5V6 J1kAo TLe0W,ɢ)1~h<᳍MpĝS(~6"Uᅥ9E(T q&G59 6Kze¹yzX@2i&`#~>` 
+Taj*koGD~bJ;WR6Tca*a &/!HO_+ q)^9U 4==te濽_4J& az4Ŏs;oct)OKÖ !\Z!tc7˜^YU$k)
+DX<L{ϪG8ɼʨZY# pa7PAiTX
+*VP!)@pY: 2(%%ب"TVѬ:IVaj. ZVYW`ΏN~*Rs h Tn%v1?Aŗ7.$k(gfUBf7J; `M xf^4\S)a.WU7Vg)ÂYj;'yp#
+_@UR la|[maEe2UTSJ/˼+vjyzAg{I(͟t Z0P04venҧC+`u XWikX7wlE0 }jǤ-m[HЮ<<*lRešCos[,\ma ܷoo3JyN}NKWp:k^ΰkEZ_(tM*p*&> N:wRV/Cp0-2&*SWw8R3i[8ۆܰ3AWp{Mn 6{7ӝ<zWsi"fF!-\f% kJy5o 7@Mc,jW.8J]>VaLkB-@S
+8cgC#)c <%8r =<p3EXYFJĉi-X t3 鸽Os3;ط+<9zoÙg)tؼqzY̋pZDEdY堮f N`[MZEr)cS4&`u> A,w\ؗE`RшҏJD5K[{a;tdosvL43Sڜ:cr1GpSI3}O,!XnTV[yP]7N/guZi Ze/3Ё_Pqꎎ
+t$B)##'K[1!͵M -o\Pt=t 8 蘮Pv
+L49r,dk~Z HV=+ܙ(=ʤ6jkfRyy;ROEt acaÝBXƃ<?;Ğj"Tn0lMUtho8kRW vdho?Lwi_(%*MEg?(1 aǣ!,ZEި0W
+URcX 0e+cZ/2A"URpʹtio#HvOEFKBV찱 ZNgpFޞՍԕ]7%=,o`+[Ywۑnpyհ p\[z}`nk
+`?9 p/Ľ\~Zh:|ULJIB|{*Egʘ]t)f%:wU\)Fh202"
endstream
endobj
-719 0 obj
-<< /Type /Page /Contents 720 0 R /Resources 718 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 722 0 R >>
-endobj
-722 0 obj
-[ 716 0 R 717 0 R ]
+720 0 obj
+<< /Type /Page /Contents 721 0 R /Resources 719 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 723 0 R >>
endobj
-716 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 201.659 483.078 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
+723 0 obj
+[ 717 0 R 718 0 R ]
endobj
717 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 201.659 510.257 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
-endobj
-721 0 obj
-<< /D [ 719 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 185.837 483.078 197.792 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
718 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 185.837 510.257 197.792 ]/A << /S /GoTo /D (table.caption.1) >> >>
+endobj
+722 0 obj
+<< /D [ 720 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+719 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-730 0 obj
+731 0 obj
<< /Filter /FlateDecode /Length 3043 >>
stream
xڽ[n7)ZBm@ 4!P ]n$R/˯O|=7?OqikF\~\~rjxɂ֎\=G>S`p̳0¹5q_ڬn1 wε/|ńùqHw~W6ᑗDu}l4Sv))k-#pvnrZG+2*)h<YcҒ_9X ) B,ӉL + SZN;\}<2MRڍ. ią2ͧ8/PI2waH@dI^ #GH5(aXPHŢ4J1ai@ԛ$Y ˟h5߭Yޭ0iGz),}[kI\X&.;gG222N:rFlQq2r"p$QGsq~2H߮-I|QerqRu\ O+FAT
@@ -2897,43 +2850,43 @@ de%Ʒ
Z JXV;Z:OtyPN "NT/{pI# FLZ%pݍ a\+Tla
endstream
endobj
-729 0 obj
-<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 732 0 R >>
+730 0 obj
+<< /Type /Page /Contents 731 0 R /Resources 729 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 733 0 R >>
endobj
-732 0 obj
-[ 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R ]
+733 0 obj
+[ 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R ]
endobj
-723 0 obj
+724 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 343.619 566.849 355.574 577.798 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-724 0 obj
+725 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.706 415.94 449.413 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-725 0 obj
+726 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.134 415.94 477.089 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-726 0 obj
+727 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.914 302.996 351.39 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-727 0 obj
+728 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 367.111 302.996 379.066 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-731 0 obj
-<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
+732 0 obj
+<< /D [ 730 0 R /XYZ 78.37 808.885 null ] >>
endobj
205 0 obj
-<< /D [ 729 0 R /XYZ 79.37 548.523 null ] >>
+<< /D [ 730 0 R /XYZ 79.37 548.523 null ] >>
endobj
209 0 obj
-<< /D [ 729 0 R /XYZ 79.37 389.026 null ] >>
+<< /D [ 730 0 R /XYZ 79.37 389.026 null ] >>
endobj
213 0 obj
-<< /D [ 729 0 R /XYZ 79.37 349.74 null ] >>
+<< /D [ 730 0 R /XYZ 79.37 349.74 null ] >>
endobj
-728 0 obj
+729 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F71 415 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-735 0 obj
+736 0 obj
<< /Filter /FlateDecode /Length 8392 >>
stream
x}K%Grޞ,ũCh4˞ (BhأY?Y̪:%= 7ndd|_ixfJ7ӭ.5n?%s\o9%O1.ow͘
@@ -2974,120 +2927,116 @@ Młf\Odi٦.RRBd<$>HHO
"#CO{ DyZ9sjko<D E~A|%`:q
endstream
endobj
-734 0 obj
-<< /Type /Page /Contents 735 0 R /Resources 733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R >>
+735 0 obj
+<< /Type /Page /Contents 736 0 R /Resources 734 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R >>
endobj
-736 0 obj
-<< /D [ 734 0 R /XYZ 78.37 808.885 null ] >>
+737 0 obj
+<< /D [ 735 0 R /XYZ 78.37 808.885 null ] >>
endobj
217 0 obj
-<< /D [ 734 0 R /XYZ 79.37 629.659 null ] >>
+<< /D [ 735 0 R /XYZ 79.37 629.659 null ] >>
endobj
221 0 obj
-<< /D [ 734 0 R /XYZ 79.37 459.482 null ] >>
+<< /D [ 735 0 R /XYZ 79.37 459.482 null ] >>
endobj
225 0 obj
-<< /D [ 734 0 R /XYZ 79.37 275.636 null ] >>
+<< /D [ 735 0 R /XYZ 79.37 275.636 null ] >>
endobj
-733 0 obj
+734 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F69 402 0 R /F23 379 0 R /F67 389 0 R /F70 403 0 R /F55 383 0 R /F29 375 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F26 404 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-740 0 obj
-<< /Filter /FlateDecode /Length 4595 >>
-stream
-x]Ɏ$Wq( 0kzZKCstWXc@'#%df2z)
-`$Ho#N)fc df2{JT8ks]cpX>IOas?f h.H_%%^j"C.u.E 8)6P{2gT3ߌԝYMm*[chIgT#l7b= eDpjpa_fv~8i}lX.SxZƕ='o,
-9;
-)LHDnu`se~ $Arzz0*TVLs9'dW9?@IT~Hh6jΫyzІheggz($;epL7ZK8'ShenЖ^@<y4k*U0.be[\,;4:dvþ=P?Lᒒ0X"&1~Fp&˄,I.8Ǹfn>Ҿn?>^r>f6D*ЦώǷ0tNT`uND  "B@h1q"R 9q̾ߔ"\kѻ?yO )C-4|nH!
-gt4刳l: A[ i:S/S~Xl~Uڥ20%#t% I:%t!+3&[_PeUⰈ*v*[tj,@{ZX4COmA$(;}]wD(>ԁjUD3}>w@FLv{P.Ӆ0
-XHWdB^JcW҆(^ߛu ,j*7b.BJx:fΌ(M-w\1)ܔnpZ;i ~
-7%| N%e{Y\-'FÙS6ivnJv78⿝4? NApj`pv'^4bi(
- ~{mN: RBE#\7뢬^M"}9xukc)a04(\ s4<Eꚥ$ddKrѦfn`ǭ=Vu,K> ;"vé[De@m'Mwpn'VtBdڅf hGBFԽ!iOQhY6|LG(+g \d1u:S$fh:0^wYI9%7"(x%X*fftv#L[6-y5lh>̝1s+@S=*6<b|dfE3j!0NBP^ ^`*} FK`n\@@dPf=P5)N bRI sL D &ͶHf[Wлӳ8 ,ռ%
-U-}dJqhF]
-lvPN2`{tڽ1S@39܂Ȳ9kd<[ -]6en$}!FxwJx\$z|GeqF GsHqe`lqaJM{/Аә46B-W|ъ|Υ_thjK!j8k=$uAefOh`iE !%S<`Z %Ln%:L %|iO4HtfGh!hngxIzQ*rVۂk o[mˁv~̴ {-<2-eFAJ+mۭ9A$smA6C\0fg
- fR$nDt:Mg8/ ƶX]YW7yxV0*-iiďv n,t;x0UH>a._B{:.;
-o=P-3*21_^?r+P2evO([*MC=uZ=~_grWu~'5[0|k[-W
-\M!nպ4"~p!uP}8VapYxInd!ݤ'3u;۾lNLMav<ң@S!yr/Tvϩ<oo<2@ Tz*0?|
-_K 8[v Yy+r^.P`4Ga\hv.0@?3n
-?h)"ǪgYY;tfqNqlq ^c% HNGN`ƴšV.OѦ^?g~.o!3z4bPɡHNŤ\9q`ˍ9x&<MHUӉyP.k#9i*KMJhK>ϙ0+|~9;})zDMMw?SLXxWQOoD/3V~{*FKtSabR[uhI0)@Ctk`uAԙ:IΚrH+J6nZ 5:zΝz,.dn&V hR~>SqC}/#VW6!'<'N A,
+741 0 obj
+<< /Filter /FlateDecode /Length 4819 >>
+stream
+x]Ko$WF04`Ʋ 8,7'x*fwGZI1|HW,_9tBoh~xգv c)w [#,F3B5[>~Z~xG
+>~JS>/(x¯ T^Ë} 1KHHGvA!,GGZ(fGK 9{n᳸V%a LX@%/Pgā;PU{n᳉PΨٷoĦGpˈƺ'
+}ذT/]]? !<k#/< 1$(
+)tHDaDA;AmbZ_g!rQq\v Aηs57:o&(0j{i> udϣp3,ZU5ibKLk|{ԀvP5*hj}y2gȋ]eqV7{9O@pTDhqa߄%bbc|K^6rTDBīuTN*w~DZ]>gDmg7W'˧(k?Ǟ{AE}x
+L?z2e8R-_NIA1%q$R@~A E"ں '/J
+. 1zݯ `v@!
+wra)ɈlA[N?K2j'!;4rlN7FQ<IݪѐeG|WejƂ7I`
+S*PQhYL@P8V _U`f&;5^S
+ot̞BζU(VU)\Uxԇ\etr0ri8nW'b1'`Q
+)&6­+0,YQ7k&*?Dkb{+<]lL/gƮo t )0򨡴)\$HtD0$nLßL_FMo',Oi:?8gQ?{p
+qll
+04ndBMƥ-o',MaOqYZ!?htc@:MEwcN_: (%s?#\w˟]L"}?MW-u^zcM vAl1АR~hspj =sLyI!zd1iNa=8h.U=c(#02UUHOa]a7SځxiiQ:GoeH1H8.vSjE)e l;&A\:Ѵ,vLI{65"(#(pQ;C%T2Wl68Je=僚&QÃ^GO4lI
+T%,D"T5ah_X0ʁ^r
+%`olEqRL.$=*eg?/iAAI/=HOe
+ɗ~Q"CM[NU˕Tw~eajMex0ni}XJ8ބczR?![鏜Z9~ɡ-5c!uHIO_iiEN4!%
+S\YF9<~n9 p>y^Gd\䍞We̞
+ƭʶZYEe<0}|~UQSf#th#Jk:In|b%jAH/F>|JSF>cL0,Y}L=#;q&fyLdd[ߑ ,R`i_34$}= @es6xxҫ>5A(m5f9/tGpnذD3ӦڤvE&>dOq2FλLooz.K
+ v 
+١@ νώo
+LϝN ;
+-$[QB\&Cj2=E͘nW'k:cagJvZp = = +<!NwxʔPz ѣ>Bqiܻ9:]]A4Ĺ3J%q6Z~97V)~GVg3=.} <B s'xWx}Q?- &eC+裝{+lA3^/ Pȯ=``b(ZN*z>D$7YC ]C;}b&Ttz!B=V7鲞53C(TEb<e?@lSlCz+9w;
endstream
endobj
-739 0 obj
-<< /Type /Page /Contents 740 0 R /Resources 738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 743 0 R >>
+740 0 obj
+<< /Type /Page /Contents 741 0 R /Resources 739 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 744 0 R >>
endobj
-743 0 obj
-[ 737 0 R ]
+744 0 obj
+[ 738 0 R ]
endobj
-737 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.709 86.563 251.166 98.182 ]/A << /S /GoTo /D (section.7) >> >>
+738 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.709 67.03 251.166 78.65 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-741 0 obj
-<< /D [ 739 0 R /XYZ 78.37 808.885 null ] >>
+742 0 obj
+<< /D [ 740 0 R /XYZ 78.37 808.885 null ] >>
endobj
229 0 obj
-<< /D [ 739 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 740 0 R /XYZ 79.37 771.024 null ] >>
endobj
233 0 obj
-<< /D [ 739 0 R /XYZ 79.37 320.637 null ] >>
+<< /D [ 740 0 R /XYZ 79.37 326.887 null ] >>
endobj
-738 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F52 376 0 R /F41 377 0 R /F51 380 0 R /F53 644 0 R /F42 378 0 R /F43 742 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+739 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F52 376 0 R /F41 377 0 R /F51 380 0 R /F53 645 0 R /F42 378 0 R /F43 743 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-750 0 obj
-<< /Filter /FlateDecode /Length 4679 >>
-stream
-x]ɒ+Hƾ s8E'yS`Kal*ߙطB MvW%\ $0 |>SGZ^> .a.F3B5|rRE)
-~TaHK)JoֿqMʰik`[P#,
-5{HG\ZyPjwE|g$7Dc=
-Ȗ 6wYoAP!v[2A+]&"/^!ľiV(j;6<C4W:UYӊwkTH}Ƹ 6շU
-OAykb*wײ&ZH%j>V!l8Ҿ5sIgS[?6ƒE;NbzL`xF0M ~чzg7TT;7L )X^ƻJbdVهB41ʩ%,uSד!L̽@"^p gTo%!n9DY(:Tt+œ΁;A@}A.4Ń6 
-1JP- d}L{j%"MչJzu3T' s1T4v= n)uʼnj@;x):%D<T0Xboxg
-.U<*_(E,h祯itVEݖZc_7DÈJC w]#Ȫ8>L\ᑲ)A 5D~>Jg,~̆(f %%ȅ
-ⳜK0]rԶ0GݍV(=~z T& Mh}Q 5 i&O%
-5mƝUC9UUyׅ&˪ yh] +ړUsߩsVXQ4_2nc,Շ"UkQ
-eYBPl;E,Ã
-~e'vyUe:6†Z^U4ޮF /WYd/ٗ
-b>u
-- z.
-fo<"RrH/`>s0(
-̺DF
-װM 8׳I-Y
-%+ |~G/SH71{($~p!;(c:.|zC'㥼F$
-=Ix=9OaWnbvW!>hk\K_ enpI9~*
-<=9HfO{ j3%5rj`K؞,&Χ2G/E@oXw=xbӧ3?Z&zR%0=WLNڙv6
-A=9\oU!B#l\aYe-fI6p%n}AՉr7Rz
- d9̺d!z!sM- lՒ!s]-2Ւ sld27 sI/lN%A $<uc<8d*}ˌg S9fF;̺d!z!sM- lՒ!s]-2Ւ .q zyE 6' ^dḴ=<v*Pߖ>Kq?/ ݪG(E!.1ڤEǛMyxvaL%hW`#:yx/+ɯT*>We~W?jA/5I4âͧژZEޖ(bKo[/uz^ X% ޴%%vo] H'hJKE/ؓJ/p%$ӛ/Od.Y\ߵ
-7*\O42bD*׈;_|?W 3!z w.:y`/ >]7 &LKBNKɐ>¼z ;\Z7]>UL..K}xӇ“B_^ t
+752 0 obj
+<< /Filter /FlateDecode /Length 4623 >>
+stream
+x]KWQ: $/lGI9|arNx^Uj ZJ$|@% ~Ǎ~xw{UӠ=7q3Is3Z0Ϸ??sss>߆_>x 5%en`}Ҽ+}`wL@;UNa>"F
+ʹwz/0Nf؞[Ay'\ /rAP Jyd%M%v}>Yk 8x5`9aSdL̳sB2)l;}j"M,#n^~|9isd>1!bJ4bzψeZM4= șT- H ؿ'dv0gY& ̄e.sؐJd 3;fF˱9N*29Շ
+0gU L{?!v~#xp}y+iN͊yxΩۥ~ViOc&
+7Mm %K@>_x"I$-lU
+T
+Q/5EA+&"q\NG˻2ea7'7ֿ+h6vΒ<B}AG[ VAsqC9"j9HqBxy2[ODlӬ\lF -0̸eBjZ{+:RWЖ0˞?Ij;~,Ŷk40^ts/N%=KHwp- Du%Oh'߷}_:>?v^{4;"hM/Cm)S Ц} I<}ۖǥE74 3G3[}gqbml;F0ޚpbNU#oZd)e5/笕6}2}-m6kj~U[Xce6vfOJf~i5_- s0&Y`dߟo5'ɳh ~jxygH͸MleDݫpӬZfɻ;æI/i?ɧUJQn!Q_n0rq鬺ݿn~mkI欸=Y&z#A~K?|'~ߝ7LgjNޫ-ԉ8(fh繀? BYK&,<&#X>Sq+}5Qz
+}mYZe0k(hZK cl'ւcݑ[%3u->]t]>Q›3ln_ZפOԵ X/K[Uc5[NClew'#k՟gF|%o5P K1ֳzt, Dj@lK>j
+B7rdf%`E(Bx]߉7OXZL0hp ն1Rr:7]7{>c[xO.dA/[ZtÚ4;}uV ORY'ꛅ3޹:1qML(D;"T;/0W2xVڐoMƨ8})p8(ܫ0}1W
+ m}qmațk?(ϮrL Ʃ_8Q)4 Vh6/יLV8B=㗿Fj`K؞o|p1GY'"`v3<Zy+CSߝÙKSxιass-g^;jribG)n7hH7UUc&{!fݿϕ Mk{m~Lhc/ɧ8ܣmvd"v2 <6^sA@krчK:glT?=6K#
endstream
endobj
-749 0 obj
-<< /Type /Page /Contents 750 0 R /Resources 748 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 754 0 R >>
-endobj
-754 0 obj
-[ 744 0 R 745 0 R 746 0 R 747 0 R ]
+751 0 obj
+<< /Type /Page /Contents 752 0 R /Resources 750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 755 0 R >>
endobj
-744 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.089 574.261 185.044 586.217 ]/A << /S /GoTo /D (section.11) >> >>
+755 0 obj
+[ 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R ]
endobj
745 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.765 574.261 212.72 586.217 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.089 598.172 185.044 610.127 ]/A << /S /GoTo /D (section.11) >> >>
endobj
746 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.48 484.583 211.435 496.538 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.765 598.172 212.72 610.127 ]/A << /S /GoTo /D (section.11) >> >>
endobj
747 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.719 484.583 362.675 496.538 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.48 483.111 211.435 495.066 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-751 0 obj
-<< /D [ 749 0 R /XYZ 78.37 808.885 null ] >>
+748 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.719 483.111 362.675 495.066 ]/A << /S /GoTo /D (section.12) >> >>
+endobj
+749 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.828 471.156 324.783 483.111 ]/A << /S /GoTo /D (section.9) >> >>
+endobj
+753 0 obj
+<< /D [ 751 0 R /XYZ 78.37 808.885 null ] >>
endobj
237 0 obj
-<< /D [ 749 0 R /XYZ 79.37 555.935 null ] >>
+<< /D [ 751 0 R /XYZ 79.37 579.845 null ] >>
endobj
-748 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R /F20 382 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F29 375 0 R /F86 752 0 R /F51 380 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F31 753 0 R >> /ProcSet [ /PDF /Text ] >>
+750 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F20 382 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F29 375 0 R /F86 754 0 R /F51 380 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-760 0 obj
+761 0 obj
<< /Filter /FlateDecode /Length 4674 >>
stream
xɒ\U[ՔRjUIn' F$
@@ -3112,37 +3061,37 @@ yø㬸0T?LJ{T
?5ڻwUIX&b b&_ JMX{C^8=#G6MU%QMo9s6
endstream
endobj
-759 0 obj
-<< /Type /Page /Contents 760 0 R /Resources 758 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 762 0 R >>
+760 0 obj
+<< /Type /Page /Contents 761 0 R /Resources 759 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 763 0 R >>
endobj
-762 0 obj
-[ 755 0 R 756 0 R ]
+763 0 obj
+[ 756 0 R 757 0 R ]
endobj
-755 0 obj
+756 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.589 386.19 460.544 398.145 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-756 0 obj
+757 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.974 374.235 468.929 386.19 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-761 0 obj
-<< /D [ 759 0 R /XYZ 78.37 808.885 null ] >>
+762 0 obj
+<< /D [ 760 0 R /XYZ 78.37 808.885 null ] >>
endobj
241 0 obj
-<< /D [ 759 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 760 0 R /XYZ 79.37 771.024 null ] >>
endobj
245 0 obj
-<< /D [ 759 0 R /XYZ 79.37 505.243 null ] >>
+<< /D [ 760 0 R /XYZ 79.37 505.243 null ] >>
endobj
249 0 obj
-<< /D [ 759 0 R /XYZ 79.37 356.374 null ] >>
+<< /D [ 760 0 R /XYZ 79.37 356.374 null ] >>
endobj
253 0 obj
-<< /D [ 759 0 R /XYZ 79.37 187.266 null ] >>
+<< /D [ 760 0 R /XYZ 79.37 187.266 null ] >>
endobj
-758 0 obj
+759 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F58 386 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-769 0 obj
+770 0 obj
<< /Filter /FlateDecode /Length 4865 >>
stream
x=Ɏ$:J4VM ; <7'{ǀN\ 2KFFC>TW&XYA/~-ۗ~PBG;%S/_ozR*)|z:}S?HiMԧ6!=_6PڥO?=O= 6Kj?Ba
@@ -3166,94 +3115,105 @@ FZtG} .̖wt40鶳f F3:7|\-KtݣhY
?`/`٩M7͠Wl$'Z\DH\
endstream
endobj
-768 0 obj
-<< /Type /Page /Contents 769 0 R /Resources 767 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 771 0 R >>
+769 0 obj
+<< /Type /Page /Contents 770 0 R /Resources 768 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 772 0 R >>
endobj
-771 0 obj
-[ 757 0 R 763 0 R 764 0 R 765 0 R 766 0 R ]
+772 0 obj
+[ 758 0 R 764 0 R 765 0 R 766 0 R 767 0 R ]
endobj
-757 0 obj
+758 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 226.429 757.783 427.176 769.081 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(tex.stackexchange.com/questions/488566)>>
>>
endobj
-763 0 obj
+764 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.498 86.351 202.955 97.808 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-764 0 obj
+765 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.619 86.351 384.076 97.808 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-765 0 obj
+766 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.883 67.03 226.108 78.716 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-766 0 obj
+767 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.163 67.03 249.62 78.716 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-770 0 obj
-<< /D [ 768 0 R /XYZ 78.37 808.885 null ] >>
+771 0 obj
+<< /D [ 769 0 R /XYZ 78.37 808.885 null ] >>
endobj
257 0 obj
-<< /D [ 768 0 R /XYZ 79.37 731.106 null ] >>
+<< /D [ 769 0 R /XYZ 79.37 731.106 null ] >>
endobj
261 0 obj
-<< /D [ 768 0 R /XYZ 79.37 691.611 null ] >>
+<< /D [ 769 0 R /XYZ 79.37 691.611 null ] >>
endobj
-767 0 obj
+768 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F58 386 0 R /F66 388 0 R /F23 379 0 R /F65 387 0 R /F67 389 0 R /F29 375 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-777 0 obj
-<< /Filter /FlateDecode /Length 3985 >>
-stream
-xˎ$>_QA+l{{ rH8K~?ԃztxs*H/I+,rE?]Y>\~N ϯRonZk墔@O&P
-(
- 6#Tr~8(ؙY%,-ȶi0MfNۆGT
-!:D(zP~G(ۣDjDۮ&F qTqp(:U
-֏ru^.6Lj87_NV㯏瞐(]+#em
-n!>o%._ЕfV&ƨwTSXtlrW[h4ܰkpyFCcLm9:$<5S+J_U]S-Y7Y50+k[$f8lp.CI ^hCFa;M%wn/=qh4` 7 c0uT#
-++H;-"<qVͩ5%x'i'! _C3I9jm3f-j0$m ]gc=B%54:Cӗ¦,:6 E
-NXegWY)EO'LﴙbsEf<7&f +8fK8es$SiGxG>6(LS5^|;56D>ÝQu7Sus {-^<ެPa)>N,&4%9&^k+n==ÊNX/w$a5AV [9L_~BJpmoֲ}/Lmg w
-}h19q}>gbjorObk0SKa'R f"Č2m)rd
-}5bYnϏ;͏J73'(ڥ=Yf0}WpӒX/U.0t^[ZZaU4ЩxX|/s|lg749Uc2ڼUH٩k E !e1`[!?g
-.NfG0Q%LPJ` }ax{~c[)輆 zO%39Ɩ F/}OJbq iq$z| ~P/@ALLaHQ1jx:N@O-RkziZ0MG5-'T7&)CJ+Lkd_XhA\Mȑš8SnM+dwll Ś^CGPl6-[86@p`5$XS͋g k$YbC+py/nԥWZ=V ͹HN)gyBų@YPpl+\|ވςpIoe%}x czn;H Uhtzb>eV"_5RR~TssTCVp@MevsQeS3Klcg<TaSFMV֩f*f(b2"r)za%~:SX)XphsBWE'Cj}P"fImfsotH[${ߴ$
-x4ۘq Tѫp{VޠІΛ
- eϩQ`JDZY{)klmȰv6&-w6{QX&<YW`!f$xEūwA7VB0V{Ea[R_ʪ|lcjѧx3Jjn&)[oێd[[z6^~ڨ$l7L-kM_ֲoIZRQ,o6fN8 -,FɃdTʊ{Re7g
-oDXieXw;m:{(g`E0c=А7',s?(`aYLI zok׎2e狛-զtP7s8ͳc0wfnG56ʺbM'RYxiNIvvoCE~Z-xZ-ĸEa bիg8B0:gj<xo׷DeDq#Oܿμ|wú}xo}os y@H}5 2/u(_pܣ|=|;A"nŏ7rh'ILAvf~jz[Ҷ)ZCSOT[td`DZI 317NAkpm~2 |;23]zOJbtY4AYۧpMt4CfɌgqd-*r{?٥e%yqe8w1^U]^|(`.UMEGfѦp)
-޻e4|19+Wo)Lּ `Wu K_ĕ
-OI8AS|2[=렴cL֦n
-w֌v/؎ϝ!Z-V99BkXfd9R>siM?x^6!Mv K[ 9,j0:MiXSε6se_[vs:V
-Wz:ve3Hj* d=JtOr1y~>-a]ݍRyo$^}5bD9S)k`oe8ޓc||Q-lZfo*82fyZvZhvSx짙;+-|0p)jrIT@\gG<]ҽC
-/T,ͤ=!b(nfp+Ǟ0*_D<zwZjEPCEژn66DK_:{C~1jPte0SǍm}.R{H"t\rvfEa DJί{Mj0AT|pSI]v̪ZtbǍ%ؾVHQW89)$T0<5V7
-ý;;Cf'D(< 㝵հ59510fujV*W;޻%0q95
+778 0 obj
+<< /Filter /FlateDecode /Length 3984 >>
+stream
+xˎ$>_QA+l{{ rH8K~?ԃztxsn(HJZc7/~C%/
+;wJH?.~(}iR~Z&P>V}w!̽Ac7RЦ`vhx(4(S)˹׽qQ(9YA3JX8[mi0'3SmÇ|#*
+#
+ʰ|˿4ol/R_˧Zn@8><B
+2Jj"}y~ItG8ÿR.&Q8^(g 4g5KD>T.7%
+ NL@mȭ Sp*En aBlŪo
+x5ąR᪊P
+8aKAEYåQ!=3=Y
+nh@1߻PBϹ
+|΅v? q*IM%.Ko:A# z 剷/w#3ta܍ &w
+PYTQN-bei]-Lr 퇊2DSK*y*꽱 V+J_U]S-Y7Y50+k[$f8lp.CI ^hCFa+M%vn/<qh4`  c0uT#
+++H;-"<qVͩ5%x'RM8C࿆bhr^հ۪#gd[`UI@z$1:K.ji(1NU(/M1ͳYZ) Oul0{Zƒ!UmhE
+NXeg,Ōe'`aw}19sl #dr2ºmTbd#}GEc굆+},s{Ϛ18QURu6P>K[`
+9sNZ{]R}7XE})旌z힭x
+l +*!blkCPhYe +y_Tp-D>q˽'SoYǝqږuǮZGYeu5Q7'[S0S+a'R fĀ2m%rd
+]54ǝGTΛ~&N3t\f&b*<"eA
+ekزSUVsLZ?H5$|м~֩Vi+A∬Uъ*wK8+UuximꍰBf@w*L}6w.]<{~
+e϶1ȧ[,>^~0_wкPv)'Tѩ|^KױJErGD^NJ݌z)/KiY=R u[W5g
+լ^Q E[FiQC\^LzID9
+<\ûPUD3нڪm-vVR+Y+ܛ<+Җᮮ $`%UBª܋%oBu?%<J>OH(I.ssKhj=\utD~aHNJMg$LD:+(bwÈ} 5s'hq< 3̹]̍ }:rj^46Ϯױ.e(V.
+/jt?cF C%0QG1\hKag2NSk9P*["DYM=lAXftpcx6|a]ƙp-Lf#A~:O7{\aF9!
+ [0S$(yU>UӢr'\Ȱv6 +n=k(V-cnohx
+0~['Y*\ É*=r/3lZZ?УOwfʃRRRl] Nmڨ%lWLmMbֲo+JZR1oVg57vC%)V,|BS~%mQbޱwi}zvV3ֳ# 0cXXsXxtţ~zȃ囅=WZֵuof.y,]q.I%9;6ʸIbM'dRZ ${Y7ֽ"B<b\_01Փ
+kzd r1r_E7*ہµFy]duuDE ޮ!^
+oz9Ն8@.l gTV0=qDZP }k0=%1B Aa%.LSRXU`MP\$fT0<7ZFmRPq{Pʤ.aA ^_}$[K}UQX3囊 dBO`Sqx] |4LLO
+T~rчǬG 0:/A
+̓Nдz~Vn@wvPXڱ&|SÅ;SI;cd7-LwU- 3Z}Ź_>;7w"Mv(w^na[љLu>Nò9%\r;;+!]e?G$iJOwo sv8J47pM * =u)w7VMm|xދ-sO4SVli~+{ kPh`vDe
+)*#['$U*晇7&Tڊ|YapxyzgWY
+QJ
+B:j5l M| Y]Ձ2վ}#sMUy
endstream
endobj
-776 0 obj
-<< /Type /Page /Contents 777 0 R /Resources 775 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 704 0 R /Annots 779 0 R >>
-endobj
-779 0 obj
-[ 772 0 R 773 0 R 774 0 R ]
+777 0 obj
+<< /Type /Page /Contents 778 0 R /Resources 776 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 780 0 R >>
endobj
-772 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.048 508.119 272.735 519.068 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+780 0 obj
+[ 773 0 R 774 0 R 775 0 R ]
endobj
773 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 288.456 508.119 300.411 519.068 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.048 509.115 272.735 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
774 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 106.241 148.72 118.196 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 288.456 509.115 300.411 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-778 0 obj
-<< /D [ 776 0 R /XYZ 78.37 808.885 null ] >>
+775 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 107.237 148.72 119.193 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+endobj
+779 0 obj
+<< /D [ 777 0 R /XYZ 78.37 808.885 null ] >>
endobj
265 0 obj
-<< /D [ 776 0 R /XYZ 79.37 495.16 null ] >>
+<< /D [ 777 0 R /XYZ 79.37 496.156 null ] >>
endobj
269 0 obj
-<< /D [ 776 0 R /XYZ 79.37 402.684 null ] >>
+<< /D [ 777 0 R /XYZ 79.37 403.681 null ] >>
endobj
-775 0 obj
+776 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F56 384 0 R /F66 388 0 R /F55 383 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-783 0 obj
+784 0 obj
<< /Filter /FlateDecode /Length 6971 >>
stream
x]KWea~
@@ -3285,25 +3245,25 @@ w's}jatpW ]H5Jpԇ[a
(k7\@+xs<a4SVO0,Bڧj\uJ~`gT(/Z nvKWάμ.Wx[Z5 K^[ɤsnW_.'wbz_$exבsC?ɯxWMr6buÊrõR]q77%`:zHo$w7!)B\BVq%m[ڻ8-`ϻv")АOnVt48n:\ͅj ls{c[U JOe.R/w4O(%Bu 6$jU^8r޽)OђZ@2W- a)%W!`ZnM3e4NoɗGj,_Gz.RK'<s[^O7Ցd];ح` ݄Egό y3]9URR_QON6DV< ?]n*y0nE l=vgbIR[Y;xull.Iia60Rz}셽# :P?/H1[ULZKS-K3p+5&\5ӥr3#uҊ)}|3'%}$ [&3}` ۠
endstream
endobj
-782 0 obj
-<< /Type /Page /Contents 783 0 R /Resources 781 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 786 0 R >>
+783 0 obj
+<< /Type /Page /Contents 784 0 R /Resources 782 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 787 0 R >>
endobj
-786 0 obj
-[ 780 0 R ]
+787 0 obj
+[ 781 0 R ]
endobj
-780 0 obj
+781 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.907 101.177 486.364 112.797 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-784 0 obj
-<< /D [ 782 0 R /XYZ 78.37 808.885 null ] >>
+785 0 obj
+<< /D [ 783 0 R /XYZ 78.37 808.885 null ] >>
endobj
273 0 obj
-<< /D [ 782 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 783 0 R /XYZ 79.37 771.024 null ] >>
endobj
-781 0 obj
+782 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F66 388 0 R /F30 369 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-790 0 obj
+791 0 obj
<< /Filter /FlateDecode /Length 6891 >>
stream
x=Ɏdq<HR ЭI:mȀz`aA2=5IhTW%36 _ t߼~Q[`Jo?N&n.0nN&/?\~$疧 q;Bb ǿ>r.N:'΍\PH"ņDX  $"Mnԑ')wᷣcҀCn(F_}4v@%֌r̺?R%I2q%c:68 ^\X
@@ -3333,198 +3293,194 @@ b@āAF*Xou
n 9ig3u K:S~-5Z&IqȌ{LH-Ju,]a؛=vÍdv0%v 6doveS.$i
endstream
endobj
-789 0 obj
-<< /Type /Page /Contents 790 0 R /Resources 788 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 793 0 R >>
+790 0 obj
+<< /Type /Page /Contents 791 0 R /Resources 789 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 794 0 R >>
endobj
-793 0 obj
-[ 787 0 R ]
+794 0 obj
+[ 788 0 R ]
endobj
-787 0 obj
+788 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.406 604.2 492.361 616.155 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-791 0 obj
-<< /D [ 789 0 R /XYZ 78.37 808.885 null ] >>
+792 0 obj
+<< /D [ 790 0 R /XYZ 78.37 808.885 null ] >>
endobj
277 0 obj
-<< /D [ 789 0 R /XYZ 79.37 199.572 null ] >>
+<< /D [ 790 0 R /XYZ 79.37 199.572 null ] >>
endobj
-788 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F30 369 0 R /F23 379 0 R /F51 380 0 R /F26 404 0 R /F20 382 0 R /F52 376 0 R /F53 644 0 R /F69 402 0 R /F55 383 0 R /F80 792 0 R >> /ProcSet [ /PDF /Text ] >>
+789 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F30 369 0 R /F23 379 0 R /F51 380 0 R /F26 404 0 R /F20 382 0 R /F52 376 0 R /F53 645 0 R /F69 402 0 R /F55 383 0 R /F80 793 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-797 0 obj
-<< /Filter /FlateDecode /Length 4815 >>
-stream
-x][%q~_яáy
-f44P`DDfz[
-5.
-s5ˏS=d Ix,0Q|N#o^*ۍ]!0q9fWwդ )q,4+JKE͗ g/J_6k\*_.zc@gr|^յK_mE|eڥO0*K% Z~{јA_@.Ҵro2%\4cY'r9Ux]H$toߙʫZ,¬Ynx,fcqXw .BJ>Ky;/xb'F5鰉jRW%dDr'Kuέ# =OWEnW͵&ѭ'GYfVK'ĄY۷(hfеtRɨeW9]uiɂEu~o΂EwO&{RXR聜cHM p+0`WrkAF Q"m5\3VVl,F
-`j?OftfvSiB&B@$ٕ1 ^
-%wqVrmmfi'(< OK!Wuz)P6
-<UMKFrMva+fsxA[f^Ɛ߳}
-)Q"lUhyx&>);ʵ9USHw5:?hY|qV["6fŏIݱ:4G2&MmƢ}~{AB肄#/=t MpTtZe7N'lcRvt5I< Xd&1 nSh˸$qT2LBV L/A$ 2f+b`rr)괘yp潣oz3or b>X"@rdY2yq,x)( JY-NA{ʙo" AGO"d }MoNe_+v~~C&/)aAb „xL ؎~Ͻ!A0oթ F~V)z<1 0Iq$B]:CwU:j^,B&oA(Uy#4
-yg
-gз!8(F@s߳ [B!LHrȓO 'b!KxuHD 7
-^!ͅpS\F!_~?Hu;
-ep*탛~ôqM3pN
-iX-F2.E*T]ؓBØp} n2~
-wb q7*&Ɨe*-ܥ~̙8 K&h?t!Xi
+798 0 obj
+<< /Filter /FlateDecode /Length 4814 >>
+stream
+x]K$qϯȣu(kZ ֞Z]0G&|z˃lwgF 駉O߾3z/$&rq+_s-8WEy9Q:$>3 X\D[9^3H/6
+R7O_ .m±x8"om3re6=Ė.e(%9%fSٌͤOIb ,"JN
+{-+'nC,Xi.=hcήo{6YܘCq,)\®V8^naSLcOCj# -7``wRa ֧.x
+' l0\gz;jHSR|`^^ V84$:V%U'}j%jaWG Ś]HCpiBTE:kٰ2tje2^kN.M~,eޢ7ɠzzu<N~{&T){22ѻuWa~Ew^L]_ ϶xI1!0#Ѭ^sݮV}p<w}lΪ>Oۺx783.a⪝պYYcI%O:l*f SLa,sA
+jo8h3w>\Lgc35+N:
+kzb]8_;/r̛_=t, `)P0zR?2~>ʎhO VFBw:nt.:>\>4 r$pz Z9A2C8+n|':b (&d+=L'[7g^~Y .o
+fe_(*̙",@Oy
+@=;8 dς7d`|iu9/u%@!ȦS;ҲHC9KD$ wn8vjeRihR0pa*ޤA lNwj7%! -y`6χ~IyBAɁo{uYs]gۿ y>>S?Y Oԍ3!W
+TMV?73
+Y1ɨ索j+&.8fis-jp?^~!?kgZ̜t: g֙_̻?>H=xW[!LtDr!^Ԟ2HL<MZ)0?Qs4_dpcd`b!PYa*x:weӽT; D#B`:stc☑ԉSc"f\ jҒ=cQÙ꣆GײGo%Й\p!_iu-jW[zv.ꪉCҥNwrEcz`* hlI/%XZM\2ux ޹7 i+[fǦje(,<k[ JX2} .Gc-g< \tD5)~+O2m}G|mfVa#JCZ}W|֧Y3R,\vT+Oyzb,[43b:)OOdԲ +-YYz]<{O[
++VW=ssl:
+S~\?K{gUV$VXpa$6}$m/H`({K@W`$/¸q_d'itSѓIPu̓c}]{$qxCj`_S! r?oGN?#L[hҙ"P6gZRݛ@P!d:z:%xxo:3v*sGc:!t;Vpz46 UKNs^8!^GE 7(6svHn[uv!xCh}v!3ǃ{Nd+h0?:Y ut7t -Uu<B2mԝ d?˩B]{kKP;S8; a@%52MGyD<zܓ&2D"A`?]GM>D
+UO.
+6
+Ao??}w?¼`Gނׂz]}pӯ:}qڸ8'l4uZ#EYܢ[_.tǤ0ftE.w~YWOl#!TxYF2] ǜ,]sxcP8
endstream
endobj
-796 0 obj
-<< /Type /Page /Contents 797 0 R /Resources 795 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 799 0 R >>
+797 0 obj
+<< /Type /Page /Contents 798 0 R /Resources 796 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 800 0 R >>
endobj
-799 0 obj
-[ 794 0 R ]
+800 0 obj
+[ 795 0 R ]
endobj
-794 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 263.671 434.16 274.511 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+795 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 276.623 434.16 287.462 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-798 0 obj
-<< /D [ 796 0 R /XYZ 78.37 808.885 null ] >>
+799 0 obj
+<< /D [ 797 0 R /XYZ 78.37 808.885 null ] >>
endobj
281 0 obj
-<< /D [ 796 0 R /XYZ 79.37 297.903 null ] >>
+<< /D [ 797 0 R /XYZ 79.37 310.854 null ] >>
endobj
-795 0 obj
+796 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F67 389 0 R /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F69 402 0 R /F78 469 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-802 0 obj
-<< /Filter /FlateDecode /Length 3410 >>
-stream
-xˎ7>_Q?ЊDc
-HqGoKJ/z6!ϳxI@绛Kс3
-c+1HG;Tu6֎̧rJ숌#J @ 3=_i_)YFra(n![@f 1yَ7cNLŋRccGMn-w3 ŠL^Ɨ#s;vlF[ʂofAZ}&˶x9ih"G`=_@\nT5klƱf-~eIj%cQyO
-VژkW&fEVX Fƕ7,Dh^úD/1E…f ; :إM/<: ,%(3:% &{u؏7U׆ʴ8ȼs%!/))6a4qJ&e5{m6ػ@)Sfο-7DPJ0 i8FN0f(w
-9uL,(z_6jᣩFP h_<Q7z\_ 1Ga SA'@# F%*x 5Uv=rf,GSgX2/u&LJ ,q;s qИLިsE $5u9d5e
-*{1oN{Pjʅyb'% eVȓYKs4)#G~Z/"-i&ȊfJ1Û'#T'dU]]HrC'r<t  Rh.;R&hC])z5Jۢanbi`<=> 'Fz̰.Oe:X97 \Wѧ'f"iDRm,cϮz‹>z)g~taU([O)prkuCYչXS "fn3Nfٌ2 ZM{MWrAhk;kM՛j,Upoc_+b޼˭J<q$tJ]W@cPjo f8&A/7f/x=cM]΂*Znd3MW,ĶNSE\ )=l Nw?RX_
+804 0 obj
+<< /Filter /FlateDecode /Length 3541 >>
+stream
+xˎ7>_Q?ЊDm {Ʒ &H.KJ^#ɡ*&\~]IN/O\\8X\~6㳔tO_(^(j$-Q.[G<"<闔^9mBg BDw7e(g6VhYr[RkڙAb?wq&\Ai[y  e׌Kt3oiWA`Œh% VeZ}lsuW.Vduυ2?_gVx<d~d\OG& [dE<!hs/N4”5D:؞OFIMAD媐 )!
+)33>lxTx.H۔4g:>՘ K0dU3fb@1r?ƪW2c-׏w+l5:g#! O1 18<`/F 'V<gZ%{wI#B}%XtfiJHɣlٞ&V䩛f;T A"853u/J}G׏NG7aW7û"μ
++2yI_fرG nYw + }k,覡GA
+k> :qŻzS!
+gԯz&MqG\fVE><K6ؓƼ$8A uOnJXrf V8f8ՀiҦ=qң]
+?39HϘ)f
+7SXicz# 3^mo2KYI8c-DW"ܰJ ^xRR#|CA e/`b>4LG0DB('oa?RT9_~*Ӟr4"JΕ.x9G}|)\٬"cpTOa:<Z$) $o\)*KB `:p .4(aP$»Pוk3J}٨A)f}TDcKtir re2|4nkI3LQ#
+@ivX%Rװ+Ep::U]syz}JYO
+a;\tX}uv5rNoOO`5EҜYƞ].}6ks;7#CS~mYRP6R6>!s[:VE47fv;D- ̲3;eA1e5h~Ak&l)v7 X8Ɛٿl;~WFy7[yI!b/*0+zsW@cPjo f8&A/7f/x=cM]΂*Znd3MW,ĶNSE\ )=l Nw?RX_
Km|ӝb
.3S{\m NV: sI3zX+8G2
/; 1
-k8ov8矏iNgs*FeOVYk3AV=_!9ELyC{d~ot;vqFt:y^ ٛtU&|U }Iz͟/O'اl
-Nփ>> 09"bt
-] JeWlUsDoA&J09͕ =1ew1y6樢PkDr'vcݲi#II|P" ='N :bZ`u qiǁ|=zTṗ6y*J>e.3/u<8xuZg7_mOX_
-ϱ|C_u,Υ+p_oXKs*^LE[ބjA7"oCRy}A>j![]uu>~_Ң]GohoOArZ~gB ;<80;7ߛ5r8QbDn0eۻϚ/?u|Yk~tMї
-(<zd BNH:irLty'Yn7.? 9 iG
- UF]n-Ex%ԍבEr~qHqR6#o@]i*Ze|ce/kӏ#ӏ 9G]G=[$
+k8ov8矏iNgs*FeOVYk3AV=_!9n8'aU늼Ap3r2+
+WqGqYϳy J+)<npZפ^NhԊҷ_33AڗcOPcew:
++N {l
+&a p3..vSJ2ä;+9m/@͇=pcĥڬBH6;ڄ 9Glw|
+V\ xt]>v.CR#+ߜqǵRãkh ϐ-n^S+4L2>Jj%7uN$]{  1ΫO]}Θ(,!]7ϒSY{av5F;D_ƅFEʸ?- cau!dN墨UaSO_@
+&Sj~/1݇nZ!CE 2OwXxEJIiqrڄzufk&,{ye|ʃ?~]@gUnXԸ^omAՉ=A&]ҁT- <e%@yUz;J0߶h%!E
+iLJooe®%OHmm~}G::-~-g1Ӝ)g.g&$gݬ9cp3ue'9g
+,w|:U ʌN(;kAb+h[q0^C[{W=38Cr }yk BR/uENs%COL]fsG^ 9C5RL> 1^ MKLJm盅\Q<=t`-OOPTLX:8|C2&c
+ϽS)I
endstream
endobj
+803 0 obj
+<< /Type /Page /Contents 804 0 R /Resources 802 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 806 0 R >>
+endobj
+806 0 obj
+[ 801 0 R ]
+endobj
801 0 obj
-<< /Type /Page /Contents 802 0 R /Resources 800 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.381 260.195 448.337 272.15 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-803 0 obj
-<< /D [ 801 0 R /XYZ 78.37 808.885 null ] >>
+805 0 obj
+<< /D [ 803 0 R /XYZ 78.37 808.885 null ] >>
endobj
285 0 obj
-<< /D [ 801 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 803 0 R /XYZ 79.37 771.024 null ] >>
endobj
-800 0 obj
+802 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F57 385 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-809 0 obj
-<< /Filter /FlateDecode /Length 12573 >>
-stream
-x}K$9޽Eg d UPgW
-L/й'
-[A<a^U㡇Bd.nRz׳}=^!klaQ |04<
-*E\r% 5Ha%* Mm@Pӣv)^c˥|)%\[Bq0=xx$S+c_uZ㫍1h濤O>6jFr5,$523VyRI
-*ui.E49aȠ%a\JѠkiz/f#3qpqNJVnz}dDi!eҒXeF[=3/Jc0tфH|2c'7!5$#1:+ŌcHeȮ\Q|?\p ^z^_EwFN&H0%]w\
-?z0JſDٰIjoBF8֢,h`M8~]ߛ~ε?oW<^|M,qޱ(LRxYҵ't}'m:7BL{,_1BW_!+O_ץh-U}oU,=Az"^9]oLʢ!?.QxX4xG9:"[MD0?v_B6?<h/o6U?ydl[
-Uaa#?p I,w-aRm<l?O-к`vg'kz~Oқ?|﾿0F3zxsյ%x5W^n4ě ;TqD0Ѓ1w l,K*M&P#ADL
-߽)Fzz(c3`(0#lu./o| J:\2?]:KF0l
-i[[D
-t+φ/ſK?-*$>=h~
-][Ogۊ|k8
-\Ѥ\"M֮=nM4mkim?էSmr
-Ӓhz(aݚn""]LC~!5B,!d<9lF%,o%S D.$ѐ/D>} mKОKK <?}<5MD-qU?`{KƗjogtx瑩u_j)bo::ugxMPH,hj&/9î2sid4ZջL5Ֆz*GNz+ea9lK;N
-aKXzilhX .Q]ކ?D*4x́0HpqpBKbfauI/p#U]h6%"!==CA]S۱:I\om鰂j3]`Ɗv
-'ZrX!17s
-I/g"4fbf 1a%(ԞhյkWXxj6
-;
-cQp̊ U#gńp#v`8+
-Q&%8a%<VPZb%\nBbw $k֮@Kj;ĻgN"2h6;\N2f͈* kfեL͘h͌T!Cfn
-ΰU1 J;0/l=VTCǰvBp.=# W!aױ.ؚ*#Pַd%Y08S>-YVTR؏2YW
-
-fx=&kl
-P<E@ء Huw56AFVT }b>5Tq01WFHj8F 
-b@_0p3\R<S I8e!pnïAuThJa7v.<ކ÷Ep`JV4M@;t~qCq~
-K%
-G(
-A@&5*!20-'ZUkC(1Y w94C 5EZ ;8iE|+mDP cǐWAI\U7a2Pu EkW nD`956x큏}o(^KHY>i (e'w4 #/c`I5
-&©UbTŒu9&FQx[dl^ZTz>G?wxʌ7O%ՉƐ
-IE=ncZ4ZLSkhhz~1.g7 FAKҙ 56g#
-R$Ӱۀj
-k@EcO(!0Eņqn.0LbnF<ܥj8;i$Rt<ǍT.qeh@|deD)B#!H-)(REԅ0~?l{g>Ô ljxdņתg MZs2E(!q6N02c85MLl⼑P;&A 70i&|X5ǿAH,eNXXƌOQzWp
-Cd
-Q Ƴ+X<= 4rۉܰtUuXjW >i P%/&Annk
-g/
-0T!^=D2J7[
-Pt *@gRHeNוjbD rˉeX嘬QM4&QG0S i AZ '@s̖⣑I#[Z5 2RS8amLG5Zc5qCz23L$<_ α`$lTgI/.Ej+-*-6A 0eye`T|@ڇź`l]UǮ'7|
-fMؠA O7>a n3qx´Uga2Z
->A{]%;jۃ&¸[}(b! gEKn!֬FMj inѨڵY9jۢջ3GзQ #{;;*:=rU6LTÙ4h1fr3vV+b Erh
-rVT=&CRIQIOw\x[ꖞq¶ɜUfҀ%37C|pZlKİ#q=-3 rxtcq݅٪3ID5NvL JzL0,z >`Fu.x/>5=f3`NQg M3U7V6=
-0T!^)}L0&_>$|%ouk;^{9;YdfTOKf?+G!-Ng`.ʡ
-0T!^-g0&f>*+Z6ᤈ^z
-@{hSĤF@ fҐ%7;+1Cf!k(G:ހb%7pwo ivڵQUpIt'J4ToX*ddtxr@&9h:y]3#
-նf(bQk gwV`kxhD5NCv܈SNڎ}ICƗsCr8
-lGDz' E2U-<)ʙ
-ǀK^h[LxFfTJq)h=pkL3%?_7p)z Sɵtq'|9Y8>+GXe-bMEϳ~ _iiT;J
-E0uCT+
- {&=6TcP~reuQG((jyX豮 x~9$/r">;ޚ,t2SJ
-z~Zdˉ>M1
-:kB4Tp!9Q29@9NtJkE
- {B!.]T /+[m[J920S')P?Y\ #
-3u6 $Į(ަ2*SdjWsLJ#+jM
-$ܮ7+8#mP (C3F JELZGH
-j(/&p $/{8sVʜ6-K WSW5+ebjۢUIrn0,Bvu̒TX*ӈ OԄnF)Fņunpne*a DOm &T짊xX1r}JUjNw֐
-Æu u1Y Q 5T<"(-ܱ\ւ6_}}<!~M)T-h5{@.(,7T.Nu]d8hg4D8d`4Pp4yЫ|ffrRJ}"*z:.(naQʈ輦 UBP_e(7yХt 5|uB\v:
-$~?+8PukRP4 PB25"髏НBg껄cS GI0Jƈ册DEԄt9-
-EL4&QG))Q=?ơL@ &  K
-z~UfUa|'x{@̴!7LtIVi+xaۗVvvA$uRRPo\ XE*EEn(` MUi{EAtY1q^T1;ZC;\ QoF3]ý+ -u"iv Px$)O`iJJ 0tƢ \'TL#U{UcIY#0BCH .J](~a@$EȰ频0[famP 2
-+8+:YvOfB'*hJ<,,#
-vA+8Pu[J531̬FH|@zB_+i/DC^R1N9JGrX)kQ+qc+d,y 瀷#25fDmJ rPwQU0,`9y}P%WӂqsqRE5Uy [dc҄p
-Z'eب l<K!"]EJN`3=ІhayCjXEbo3S~@K/VɬG
-Mhwԩ*7t?䇵M`e $,2]3kJn!R[E2RFbULJ5Odޛ Xy?Kۻp"ҫE#s _xlk7lCiIs<Ʊ3q<Fa$x(4WՏd|%cI5<1S<Fc\"\_D8V_tzV?@B4yvi. xXPBb !!d?4oD-<H?ݧoKK <ƿ8&B'i:6Rf^{"#b;Kc,ہ1ο8Cc+Xc翖$2>O"$2>O"$2>O"$2> "c :~
-6(wȳzUK2KLҿ*W[Kj30+śRkCqxh
-"=ACϥ5 "=2KOb_(~,&oq<RN+QBL_--7*cJqƐ2ʜR]cn1͗p=3CJ4YH#g@ϽֈoEw|to,X iEcahtt
-CCcR6ʎYjeE{0˹܉^aJ6ҁW }&nD<ǖQca&<2&XPjXDNY鹪BGc% =2бZ4BY ʉ_]!XեȰxYSDAIZ
-2b(L̄;I;@6H:[%(L]
- !6hmdu &g:lTL6tȠ61=LC-:g3">c VjAvVЏLN-BtBz&@Ƅ:{@A~J`u_- d䐊Ӣh MIs`8 ;Nc7@ NjpWlH:+'Y]2&0q3`5ЃD6 6^x
-AఏT"âO3lD5kKl672BT6vDJ H!.LoBkshqFjA9a3b _~ͨRdX ݩ Gs؜;|[G
-ն+PL>׿c{
-rҞvRvrG0~S&&k%(
-DLTŒu9&FQx[TV&!`DLIi-Ǘap_ǏWӀ`s|߸75D9E4h-Fn|mVr
-נeU:Adl)N`N %bv}PM!zM"
-uGiha\hI,3h ;I#'LmǠ  hc/_;<v~yc'ɫ{Ꞽ'ɫ{Ꞽ'ɫ{Ꞽ'ɫ{Ꞽ'ɫ{Ꞽ'ɫ{Ꞽ'?yW7F|!խi^ݺV!L4Z_o! iaTEETl\(B _\^ 4mg ydCo\52Enx4"q `sB ~4D7f&. KmrfXLAw;Jګ i6賲ʮkid44!b;N=,|J>cpb;>JyM={76jC1@WCRe,^U7|#:]!!6?>Ǐ۳co}>Yf?|*({p;MBtB%E47pa{#W!i*(RsȘ|gc3D>I+?6J 'Bugw}WE,O 7>D7+ )(e#`&#\5E5DNd8֊Ku fZciðk5CF6WZ96f;w^u֝+{5|)+d~gsXSZ) -;oqw䳬ò,ɸajR9f>9CMBtuDƬj^{OtI2gZq'\kGɅ<SG D7;jD
-9{yMeOM]#mt>޾^Hkv 8]xndQ|ύ.](ݺU͎~mD?aM8}\<^Lqć??^K<psQ n7$`.:Ȉ+_*X.^"D=e
-Gvr].ߩ@)uCC˖B=鶞!d6t}٢ĠN!}VTp-䠗p{eSC-m<d\:(+=x/
-I l/ݟiXBF^kn6-ȪXhA;w΁>Ӯ+>\!j%*aꮜAXt7ȟaaۄ<Ơ̩dHOoK~+uEvFBVM2FLMٮ3TNR=QMo7r:0? 6s>țn9Fx c[D)ޮf$K6.eKW
+812 0 obj
+<< /Filter /FlateDecode /Length 12542 >>
+stream
+x}K$7]"Xd4@[XJIsɁv]-Чkf4ճn?^F?/_/>]c*˯yKX/5ko޹+ӿS{ׯРO=#4 ǟ8>?œ?K[!/{@fKJn(XeXAJh?POc6OC!W^ݿyd"|ވ?OR5|ޣ &9@v'|ųqĢp {d]snɣ3-H6N=\y<p>t!ap?]1z TJ&lq=kR Ϸ/l O
+w^o%kwy~}ȭ2#[d#v=0f7j__qJ)m&\`\ 6/S|?5 {:/G Kws#=܁әMV2u뗯j6!ܹg؜Ԟq?1w K*M&Pûk&b`3^o X]cErRvqxD~H bݟ/?](p}ۿ_~5!}i`F:|_*b0g~24 /'\^pa5Йq0Y`ǜ" zoG9$9
+;`X%W]
+~~> P.P`'z\|~d:өf2Wa\ߞX) `k"-nzZZ8˱COZP7qG^]cS_ex-=;|X#6yr
+I/g"4fbf 1a%'Ԟhյkߨ٨RdXNUT%l(pu8fņjbB;LY0u) -I1Q7!P
+hPFkW%5 Nݳs'b4^['Ys3fSA53RMQV`#zFZ3c9Uw9xN*Z3lUcD oCb9bE2xFE1
+NFcV1r3vVh*l4*(ZQ׊
+ 8>%W"$_zL)vysטN
+M=3Cd6<!o r@[B2 +\
+;&ZY
+6eϬ rZl&f€0#DiXpUBm@;PeF Jbߒ%f}LE0u:dP{ _1+8ce{sa:s-ⓙ fpb03ܱA )ENTaz.f^Ւ oᐊӢh `<׈q SN6o@+ZqkAȹ|5µoŚ {܌09~Q=
+RӜ oᕊjPLL9$3&dǃ9@@ b=UP3QsNȸ<M{pᖊi<C$Ciܩ桀0DOQ6vx*$*xur@rMMѰ#:a*EEj`XOM0D3L{ ǧ5<΅f†B.PW< 21Dµ9wvND9a3bPRdX ݩ G:9mu{C587g zP+9 }Lx.сSHrۉFcbAgLL A+8cux9;VI>֟"FW{8T
+X:3BNb{YrzeaN4h>枭Uކ
+D!XɍQj\Pq (Դ`| x"VVH $hkOT d
+6eTD JfL$
+JWQ 3>,JE!lɒjyiS
+ S^54=jMx?478P!R
+dUeaNVa^6 щ!mCz":M
+AAQ
+5qR(!}ly@+G%`$j3аm'sUaO«]er(CH4pNJТ(:ZzJH86mA!>9!.Z 4r[FFUQ ۳+*8Puxec8*l+X-n
+w,A(Tt4hݺ @KL o&<+ZrCwf5nT[HsF͐ծqVu4@_E?J81X4XʕV} d3Q gӠ쒛 T!Z%W}`/
+}MN'3Ɂkc pT Z쨃Vðx1D`JJzpIOCRUO2E47XD<M.@B̘8Lԇ3G%b["l]ã#.VLr&Lug:h9 UwWcD`[QK6Ԩs{!4{<Ykٌ:izڵQUpJc1&.Ax -EXہt B&3P: x]2#Y9
+Aumqj=8$襈TBwQIJf;em»`aZכ,QtFfjfFT;ī% $"ެG%@:{
+r DYZ{>ф7&$~ l ۪nBEg<nFvmzAaCrc ǀ =m$m
+[3ID5NcvLBf!DCwt쵂wۆ3;^+U5<[MfT!OKnĿ)ALmhԌŤ!˹G9`^,jA:_ 9h3&GQ gӠŬ͍g8vVGi(3 |7Վt' [4xwسXq_v<;fD
+búܞbRDeR/Th=psjƤ)MifTJ/ko؆ ;pb&O
+k\rM"LuǨNFd]>Is<XC!zo|IRMO(˸+xt}$XR3v1mS4=4RUu Ǥ:-tv> jߓ 6Q):8-fƥ*gjܦIݜ;.y1iJ`
+-sysXA-׫ RSn[2ʒ\!`Uh M3*U'&IC#(Xu{̺ypL6<]#Xb8eAcٓ"*wkxLTLR7FKlLќ` K^܃)"uy m˵`)ȌJI1n2e4շ{i׋"}~CC E؀SxWN-32i耑* 
+h-Ôo1LM!֤'oe2qsQMYjC5*_VL\U{HFlaT
+"هCB&2 GY!B-w1ŭL5A滛3Cpp(4AL 2Y]`%e0!d#2sȋ75*]"|I=3+ _Vڶ(bda'f2" 'LR:~Gf `iH\ QM9eU0*T BʕT!'VH՚H\oVpF 2WQ9@ZT#y$\bD c/ӑ,@8Zc'CB
+kX1$vD#ܕliC+eU'*Tjeev4
+f?+8ڶhmdbҀ= Ѕ4y# |22ֺʴ!5zS15CQia+[FXoQ ,6x\JU|.vސ
+ $޶+a
+ O<SaLbwB5-râl 0H$& JtK!w,w 0A}W:qO_K
+o |!3аm'
+ S+!ykW )Z;ī3M&' =7+4 !j@(;I/b*q߷
+ު!m'J/mXl2"û)fcUP%3F
+c}F,55+%f6Q5Z)
+M((QS9kQVt3J]±)ӡ$VAjcDrCR~ji:"{xbڣB ӎ@P&h ƒvv%
+upL4"Q( Q;5b)#4hDt}ЃkIR̎. E)mf!rߛ1+eTnJq,d{"RPCȢB<E KH+D(ӽ!Caj30m'ZbkMEXCfyԌ@TB&P
+vA+8Pu[J-31A,FbHx@:B_'d+`(юTLssS#.N?4cqԊj*6Yg&Jh|^9mƈmYy"Q)C܃ ԝx`)4 gFGD!vմ`\TQEUÖ<٘4!06>
+7oVoh|c
+wbo͊f5'$iGPHi u5-\TQ<d=XS5
+G +}
+pgL#~Xn*=RL({~vTlX
+LFx~1ΐ"Dnn{fL&%hBs|bj`([< Ȇh4nI V*OQ11.pƗLWXvJj)9 OB擐$d> OB擐$d> OB擐$d> OB擐$d> OB擐$d> OB擐$d> 2I'1BA
+|Ϝa#XCސVD6{[̼:R2Ձ,(°?#lSYu ,am2n3Wh7=3.b(Q|R@[~G 7UCc>w-±4Ltۻp"ҫE# _|xlk7lCiiIɓ?1p86X{IE
+)#~;\k\;>؟c.᧘oEwߕ8~ӴjIY
+;"#b
+<Ʋ{a2z"1>yO1>yO1>yO1>yy/PfV8(P!
+V .{.)29\m-%@ìp )R:јD8{*7Pmh-KkjEvdpžZQڛ =H+1~t\)UCbv (SJ:wd
+6ET΄&d_O =r@[# 0 |'' <."Z[=ىFGp 0d94&a옕-N}\Vtv\ #͝um#XtЗikFkl5昬o#h5Aᔕ-D}2V"БM#'; E+ ^0 f븈k!Y] n8֚5E$xeϬ *!d LP)g"rNV
+"wB‡ ?1zY'Y]Iaf, ! 2= {8fgLlpa~̵F؂UZ ?5#(٨Sh 1a|p_yWK1W79b(BSk\#-N= `ӱx:noIVei7# nq0S=HNlӜ oᕊjP9828(`Rϑy&A2+$kl/ܥ .LvX%E@"7pLuƞ lbPǧo:;U"63! PxE6mxuD)VT }|\# Zf{ ǧ5<}ZW#2Ām@p!gz!%\sʏS62B ӘK ]lF""7 loXN]x8"80@%+& "a/__Pg:i%(
+DN:LH:.h1V.FtfK]38VwW55JM"[FW{8Tq]W"xG DI,u db9a20M'{'. .{Vb;NM (5YGcf("k^ěԴ`|`20-'ю2%Q5*0 TD JfL$|5EZ ;8i~<ʀpbn91UFxWMh嶌v+41fu EkW nD`-SB7wx/YN3R ;56^,F67W8Ubf,W}X O41Cj5 |!b*IkA?> sx94 \,6_7I yih12M-Zǣ%1c즕5h}_Yl[
+~Siˆxu9DTS`.BQZ4Zl:aa'p6CpI(S1hC@78?<v~xcI{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I7Bkxz%֍խi^ݺV!L4Z_o! iaTEETl\A [^ 4mgidC\n52Anx4"Q rB!~4D7%.ŸKmrfXLAw;J٫ e6yׄ,h(ngB$vxXn;]؍Wav}ڕDEI=b7-* ٨5B}T]S)@{=V{td|<_4?Gt_{{S{쭯x<t'˫/05{|Ken9m*.Y_ ty
+HSA%#F;S;%"+?6J 'C'x}7MO > D8_Vp4H惙(sylW;vsrX0FO}9u|cKt}?ħSRHa^\pLZ _` "Rxթw.a𵬰kIݖρMic@$ szVP=
+1߿֝CAjd6ظ" +PI[P
++>AXo^c"= 8:?q2㍩A6Q[w>(“`=JhYͅb1?_i%x䥸)2&\S;>yf^IKY|}M\(1Ud0S^%|%;Kd8U;^fS*PD<D6?o9b? B$Ǘ'h b.O<ZsotiPM{;9h.9]W|i~EaSjYMc m̜\@DJn\VK n#$hE^,iDd ?QS1rw2q1Cj0g= |IÍa&. F>qջ]Ma*$5
endstream
endobj
-808 0 obj
-<< /Type /Page /Contents 809 0 R /Resources 807 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 811 0 R >>
-endobj
811 0 obj
-[ 804 0 R ]
+<< /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 814 0 R >>
endobj
-804 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.045 238.128 265.001 250.083 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+814 0 obj
+[ 807 0 R ]
endobj
-810 0 obj
-<< /D [ 808 0 R /XYZ 78.37 808.885 null ] >>
+807 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.045 239.124 265.001 251.079 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+endobj
+813 0 obj
+<< /D [ 811 0 R /XYZ 78.37 808.885 null ] >>
endobj
289 0 obj
-<< /D [ 808 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 811 0 R /XYZ 79.37 771.024 null ] >>
endobj
293 0 obj
-<< /D [ 808 0 R /XYZ 79.37 695.22 null ] >>
+<< /D [ 811 0 R /XYZ 79.37 695.22 null ] >>
endobj
297 0 obj
-<< /D [ 808 0 R /XYZ 79.37 287.234 null ] >>
+<< /D [ 811 0 R /XYZ 79.37 288.23 null ] >>
endobj
-807 0 obj
+810 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-818 0 obj
+821 0 obj
<< /Filter /FlateDecode /Length 4519 >>
stream
x\Ɏ+
@@ -3545,45 +3501,45 @@ x\Ɏ+
6J7' -~&/zs6}f']r#*{Pam\ s0DD g}蛏Wn ߍ
endstream
endobj
-817 0 obj
-<< /Type /Page /Contents 818 0 R /Resources 816 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 821 0 R >>
+820 0 obj
+<< /Type /Page /Contents 821 0 R /Resources 819 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 824 0 R >>
endobj
-821 0 obj
-[ 813 0 R 805 0 R 806 0 R 812 0 R ]
+824 0 obj
+[ 816 0 R 808 0 R 809 0 R 815 0 R ]
endobj
-813 0 obj
+816 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.069 167.799 257.024 179.755 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-805 0 obj
+808 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.119 134.196 393.576 145.882 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-806 0 obj
+809 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.643 124.503 128.099 136.189 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-812 0 obj
+815 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 107.768 67.03 471.982 78.716 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class)>>
>>
endobj
-819 0 obj
-<< /D [ 817 0 R /XYZ 78.37 808.885 null ] >>
+822 0 obj
+<< /D [ 820 0 R /XYZ 78.37 808.885 null ] >>
endobj
301 0 obj
-<< /D [ 817 0 R /XYZ 79.37 591.94 null ] >>
+<< /D [ 820 0 R /XYZ 79.37 591.94 null ] >>
endobj
305 0 obj
-<< /D [ 817 0 R /XYZ 79.37 430.206 null ] >>
+<< /D [ 820 0 R /XYZ 79.37 430.206 null ] >>
endobj
-816 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F71 415 0 R /F92 820 0 R >> /ProcSet [ /PDF /Text ] >>
+819 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F71 415 0 R /F92 823 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-822 0 obj
+825 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
stream
x+T030U(2 8LXX) @`@
endstream
endobj
-823 0 obj
+826 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 53 >>
stream
x+T030U(2 ,-,,r ,,Lt–fF
@@ -3593,84 +3549,79 @@ x+T030U(2 ,-,,r ,,Lt–fF
endstream
endobj
-824 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 825 0 R /Filter /FlateDecode /Length 15 >>
+827 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 828 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-825 0 obj
+828 0 obj
<< /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 50.00064] /Coords [50.00064 50.00064 0.0 50.00064 50.00064 50.00064] /Function << /FunctionType 3 /Domain [0.0 50.00064] /Functions [ << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 1 1] /C1 [1 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 0.5 0.5] /C1 [1 0.5 0.5] /N 1 >> ] /Bounds [ 25.00032] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >>
endobj
-826 0 obj
+829 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [0.0 0.0 8.50403 8.50403] /XStep 8.50403 /YStep 8.50403 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 79 >>
stream
x=0W Y".RRҿ^( U b1H<ܪY`2rir:"B,Yr߻qB
endstream
endobj
-827 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 828 0 R /Filter /FlateDecode /Length 15 >>
+830 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 831 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-828 0 obj
+831 0 obj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
-833 0 obj
-<< /Filter /FlateDecode /Length 4617 >>
+836 0 obj
+<< /Filter /FlateDecode /Length 4619 >>
stream
x]IWx x8'%r0|H&Dr,;~oݯgA޼l*~U&+>z\O [#,F3B5[>|^~T[J|E:)JRRn9>Kŝ5IJH)@Q;Hyvf-1z un8VM)Vny)aloH,6<PXFxz& *]!{{˱(&r\oM2KV=Uۋ'-bxGgF;IGu4}>k\
-+9T<0&DiEaN5.*v
-Le^g'hha{
-ZUjSeͧ$XB*{U= vc!MYG%Pr ^/"J9z%[8}C+cXfb9sЎ=
-jkk_%W葒F*FXt X&FdYVʵ-}9=8Z]`X0E;\iʉP%\xo)1Z!MdW]׍LqhnVz^2j*MlGłq{yՓGLvGbDV{PKb55 ilyή]`/훕HdX61_M\GZȒ]!$߶:9I ܄2qg_.h3%)v4;O5Vn12E!n+nHmBV2é+Sv|Hf{bJY5
-<,_H5 *ry {[W*bӺI*BEJb*/R25AY:/ f.]ȦQ:x @ ^ﻨ!^0~Б|~q
-̳ 9]\ǿFc[*Y+{fDy(S %5ysZf6PҩvDJ5x=<A݋}Oib8ĊLRɋiyΔ4>VcPTRٶB-6>^6Nɂ ɶ5ĦPѯfK zh6jn6Q\79"m
-^"QQu}W\-_}Y ۻPDz(]3-@Q+#.~ߏ}K,\}Pךpj0}Kٖ6@(k8` T* YmO)? , R A4Js R'k
-i8TNS[ jhsz K?=?VLi0M,P
-*)5KT$s> (~I݋|?@ί_i JO-?2%._}?y1G
-]&'kE'⒲St ҀK$ZOb(n/f= 8q? w|o
-;r/p IfȺre>!lcէ>.1g bmp!t 9eOm
-sZ\)|QcZN<y'S6˸~Ol`]p!ty[LA0 u;I6T8_%}Y/קhaVHɗWj>3O^f;JyrYy<L}wY<@ض[4S쥝 vR%\,TBVՌe2|/,caؾ0L沩M
-+X 0}W>WQuUϹuJPAte CME>ev
-gmE^uіtev75e C*.chĝb[ ~+XN| cxGK7LP)%`pS5"1tjcIx TCT4r|\ߧ8[ @O1
-b!-NӞDbS1{' YffUtzdFf2n?>O E ީ+}J 'ЭUc<nUs*7Anaw˿}\?q'alB_ϐ=垺::nE_1t=o@g wwyXyC?‡lسꩉ`j<RNť]W˶`+M4GwJf1g?X8ƻTeȞr!AP(N%2Sd!
-ןwJ&f$C>5tD:T<UUpN LI;L[TL< wB`q`g<]46wibp0 Es邽
-~~,:/c؟yچH YЎB
++9T<0&DiEaN5.*v
+@(Qb7^uY[! b)RWuC72faOhf+֑?z
+8٣NھVYrE)ndL.ϭiHwqeb~iDeo\җ#_C5
+z;om1f5{##6A%28A_݇z՗[|^9U-,ɉH141}U u + 1ڗXmis
+ V'BޑQStߦ:- ,X0
+`^wSTnn NuL.e]җor}Iağ|~yu3e69+ԧKy/meK3E^ܐ~ig}-U5M%yl_h_&ϗqz2b? j9 ј j.O1U,2 ؗquse^ώQ5[DW10Դ?\Sf
+.uDSH}t$
+~)8?Ug'Dknp eJT1omW}
+b*.F@x!/JoZ1RnPM{ F۷o*bT%c
+
+NK~X2;%wi|d:"d*n8'UU^`&QT]­@*&i;L!83G
+HI.eLۿ41j8慢tt?E?1C|Ϗ<mrs,hG!GVO/e;%†@#K^rю20wWbѺW܅I':sXG%~:(UDx9/d9ikN;CރhԧGXrj9IlmJ:ٖ,7@آ
endstream
endobj
-832 0 obj
-<< /Type /Page /Contents 833 0 R /Resources 831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 835 0 R >>
-endobj
835 0 obj
-[ 814 0 R 815 0 R 829 0 R 830 0 R ]
+<< /Type /Page /Contents 836 0 R /Resources 834 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 838 0 R >>
endobj
-814 0 obj
+838 0 obj
+[ 817 0 R 818 0 R 832 0 R 833 0 R ]
+endobj
+817 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.533 721.708 141.009 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-815 0 obj
+818 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.73 721.708 168.685 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-829 0 obj
+832 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.409 91.586 448.634 103.271 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-830 0 obj
+833 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.337 91.586 465.562 103.271 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-834 0 obj
-<< /D [ 832 0 R /XYZ 78.37 808.885 null ] >>
+837 0 obj
+<< /D [ 835 0 R /XYZ 78.37 808.885 null ] >>
endobj
309 0 obj
-<< /D [ 832 0 R /XYZ 79.37 670.884 null ] >>
+<< /D [ 835 0 R /XYZ 79.37 670.884 null ] >>
endobj
313 0 obj
-<< /D [ 832 0 R /XYZ 79.37 631.598 null ] >>
+<< /D [ 835 0 R /XYZ 79.37 631.598 null ] >>
endobj
-831 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F67 389 0 R /F59 393 0 R >> /XObject << /Fm1 824 0 R /Fm2 827 0 R >> /ProcSet [ /PDF /Text ] >>
+834 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F67 389 0 R /F59 393 0 R >> /XObject << /Fm1 827 0 R /Fm2 830 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-840 0 obj
+843 0 obj
<< /Filter /FlateDecode /Length 3013 >>
stream
xڵ[͎ S ,=-pb:}(T]*"?%qy˻;9|_>ܽzvqQJDk_>|SF.jQ_SB:| Rw]StJYH=x- ~\gn'} IlHIzVv":Dz#U$@f) Q
@@ -3684,63 +3635,63 @@ FYg4|Wj(]ҚsUn 行_m 23gɚ:=re$BH%WBu7֮Mx6
MAY/E}&>~/-UYy[r&O4Z=L)%`+ `Tʑ Vftr䄑x3vWè |o2a<
endstream
endobj
-839 0 obj
-<< /Type /Page /Contents 840 0 R /Resources 838 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R /Annots 842 0 R >>
-endobj
842 0 obj
-[ 836 0 R 837 0 R ]
+<< /Type /Page /Contents 843 0 R /Resources 841 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 845 0 R >>
endobj
-836 0 obj
+845 0 obj
+[ 839 0 R 840 0 R ]
+endobj
+839 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.629 188.779 123.584 199.339 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-837 0 obj
+840 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 188.779 148.491 199.339 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-841 0 obj
-<< /D [ 839 0 R /XYZ 78.37 808.885 null ] >>
+844 0 obj
+<< /D [ 842 0 R /XYZ 78.37 808.885 null ] >>
endobj
317 0 obj
-<< /D [ 839 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 842 0 R /XYZ 79.37 771.024 null ] >>
endobj
321 0 obj
-<< /D [ 839 0 R /XYZ 79.37 238.154 null ] >>
+<< /D [ 842 0 R /XYZ 79.37 238.154 null ] >>
endobj
-838 0 obj
+841 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F66 388 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-845 0 obj
-<< /Filter /FlateDecode /Length 3029 >>
-stream
-xڽ[K$ ϯcrhY0`Ƴm9 7'!
-!I0/E/%jZ͒ 0ΕyFO2(E;y'8~/ kdgKOmD0FrIAM)i$媃yNa|!Q8*qNr7RRi^̷Q8GJR\)c!LZQAE"{gA@47B-fk04%shn6w5(
-FfxlwXT2 %JV|X(Ly_,-V@c0` K؃4h−Qx.˴jgW|
-wiBuyI*S%-0D +4 䈹^[e&9DYR^>6Xߪ)E}vBBol'
-jma>QL,1s$d{&Xx $pkX_̸;(0kKԟjm#%5(k*c LdSH(H4G\%gR^齲<N/r{@&W7 r({I(3G}R%
-lo}3WT»K $u[LBO `:(A&L
-D::%(-E5R[ԓ_b%^LwZ%B9 ~v\7i3z >݉u\3]ߓNZZѡ:PF+ܮcd.ȱ79c3m`'LdYϼ{u| K{° {h=Qԡ,]kej51े5TqaW4l|jrl5qDo||f ʝFãZ0}NnE7=<m[EW+G;b~4!Es|\Q/1 YfpKc0 -I6EANJ׮;hΛ¦c('}ȳ9R6srQ5lRop$| -va!ĥ X,1m6d:g|JO\^>aޜS ,K6giSY瘁bi*^(2-=J<^b ߱ u};l<x:F/qs>0}SgәGS69r$bV&ѤdB`̃LM=RHC1P^s6J〲
-v9@No}dGZƂ.TrFQpCa~~ }num8ԣMb[-Χx+H흒po [Ii#%¶D~h!Q!]߾<~?]hqyrr+ (_?3G"a3|OdlOsmjkk;P+}}&\*a1E7N <΃ >
-ˬ+E(?OK' >{3ezy+pO3qBpYV !=L懵`vL
-
-@6T>9-TwifuV=J|5+,[`w SZZD`!|ډG,=B{EP4܀w٢[tdk-)+wQJ޳ՕᏳ!.X0λca>O|m/ThEy( 5ėT_="H4 oAKVՁ4f~je~y;8S}7Zݓe㙯vuB=ٚbrR˜9[)չQI1ߛ7~Pc՘
-{y' hjpU$$I3ia:}G4w? k^{t@V-Wy. )kmevwJ:(.AF';ϼ[o'_ʤA\~:ci֮?Q$BAҗJI%zG
+848 0 obj
+<< /Filter /FlateDecode /Length 3034 >>
+stream
+xڽ[K$ ϯcrhY0`Ƴm9 7'!
+ƭ|rs9Ws.9<1?x?2u`V>JB?' 2-=#5=xxLใOq\Μ8./ZVauN ~gB"a^^Jȵ%:1aDۿ+3B9wY-eB/j3Q(v#~/ kd7^~63
+H(YUbÊE9g2HPi2k>Pt0u4E RIqS[BemuֿѫDSh
+Pdܢ\7Jۓ;iAl|&~o cw>56*bq lTpFՐid>ş2Sg=|e.X*[K4(G=(, \ږcW([QH
+
+jma>QLL9'e{&'$p;1&qw%)Q`֖?F2cKhҤhaPܯI40M"x(#QSsqI{~:=6 EYODbM,Q0gC/}k''<'>u]&۔fzh
+ܺd&?Y;@Br`"eZ@ orgS݁m$ [u; 䳄i-S™h@'X=Ԭ(
+Ff%`K0wnNa
+P;1Ѱ=XG_vAfEyzkd! 7fEC"~x
+D,ula<v9}ȭK%&jF٥{O!_K
+{OKʯ |Tn$jށgzPU|u E~.!
+EGߎ:D~<쩾Cא;<!lK[g_Aa }l_jRgq?G
endstream
endobj
-844 0 obj
-<< /Type /Page /Contents 845 0 R /Resources 843 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R >>
+847 0 obj
+<< /Type /Page /Contents 848 0 R /Resources 846 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R >>
endobj
-846 0 obj
-<< /D [ 844 0 R /XYZ 78.37 808.885 null ] >>
+849 0 obj
+<< /D [ 847 0 R /XYZ 78.37 808.885 null ] >>
endobj
-847 0 obj
-<< /D [ 844 0 R /XYZ 195.137 237.821 null ] >>
+850 0 obj
+<< /D [ 847 0 R /XYZ 195.137 237.821 null ] >>
endobj
-848 0 obj
-<< /D [ 844 0 R /XYZ 195.137 227.649 null ] >>
+851 0 obj
+<< /D [ 847 0 R /XYZ 195.137 227.649 null ] >>
endobj
-843 0 obj
+846 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F66 388 0 R /F52 376 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-851 0 obj
+854 0 obj
<< /Filter /FlateDecode /Length 19637 >>
stream
xM,%_qE$ $F/SO@a6䮻PbTI3##QwW!3?F;A'oo۟͹{Kɕ_[iPJv+_p]_WJn?_U:B']Wn@DPm$HHyM]zk}{rU<o|=1BPŢ᳷滠Oh/i`aĚc e/~;9?&4(K?OC{bL$/U8x s0ey؊hGFon5gepp?oJw+]9? 6Ssm??m.緥}Y 5GIc{cn. uzowK]?7CS >zQ jX$-iwI̠M6ww͙qcЇ4?ޒ%jT]]OC>4e͏.@'8wKo9~=>j^H\6tMޏ9{ ?ԷG2s_1EudwvTa+uo!|fU)f뽕էs+J4b*&JGgV sʗ S+ӧ͢ʕOuѐt}C_g튍?r}֮X)!l+§Vt놽] )8z}mo??rjzo?y=S*y^*+/XSndsjݽvNsnG4.S'F#B @s W-4(怚X9Jk_-D/&FhGzq/;E@n }({˽ƾ^M#=e\i^HO;j?s~I3sًv><9rS/41\7h4pKh+?QHl
@@ -3841,22 +3792,22 @@ A`03F,-x$~&ؘά&m_E~;P^،wL +Bc>dT
ez?Y?lܟC6>icmZѶUG 0_b(pwKyu1j˯Ŀ̳_5s;Ƶ<oOh:ȼ 1"moIc{tͣC -^r˗*CB })`x^~i+CG}Zvlxί[Wx$w{ ww@tGջc;,\iNR5sc/?@ϖf
endstream
endobj
-850 0 obj
-<< /Type /Page /Contents 851 0 R /Resources 849 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 785 0 R >>
+853 0 obj
+<< /Type /Page /Contents 854 0 R /Resources 852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R >>
endobj
-852 0 obj
-<< /D [ 850 0 R /XYZ 78.37 808.885 null ] >>
+855 0 obj
+<< /D [ 853 0 R /XYZ 78.37 808.885 null ] >>
endobj
325 0 obj
-<< /D [ 850 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 853 0 R /XYZ 79.37 771.024 null ] >>
endobj
329 0 obj
-<< /D [ 850 0 R /XYZ 79.37 178.379 null ] >>
+<< /D [ 853 0 R /XYZ 79.37 178.379 null ] >>
endobj
-849 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F41 377 0 R /F53 644 0 R /F42 378 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
+852 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F41 377 0 R /F53 645 0 R /F42 378 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-855 0 obj
+858 0 obj
<< /Filter /FlateDecode /Length 5519 >>
stream
xˎ>_!D
@@ -3891,16 +3842,16 @@ W(o0 ,j+2VՄxذ,<SW(L9|F5LB8gEm$Z%0z|>7y
F4'
endstream
endobj
-854 0 obj
-<< /Type /Page /Contents 855 0 R /Resources 853 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+857 0 obj
+<< /Type /Page /Contents 858 0 R /Resources 856 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-856 0 obj
-<< /D [ 854 0 R /XYZ 78.37 808.885 null ] >>
+859 0 obj
+<< /D [ 857 0 R /XYZ 78.37 808.885 null ] >>
endobj
-853 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F23 379 0 R /F53 644 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F51 380 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+856 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F23 379 0 R /F53 645 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F51 380 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-860 0 obj
+863 0 obj
<< /Filter /FlateDecode /Length 4166 >>
stream
x]Kϯ1> pNɉ$
@@ -3923,74 +3874,70 @@ oX
f];Kjadk9c^*T?yO%3lMQiJ^[k:6Ր%cjeJt@n٣cmJgwS&297lm56jjh}ďIZ6
endstream
endobj
-859 0 obj
-<< /Type /Page /Contents 860 0 R /Resources 858 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+862 0 obj
+<< /Type /Page /Contents 863 0 R /Resources 861 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-861 0 obj
-<< /D [ 859 0 R /XYZ 78.37 808.885 null ] >>
+864 0 obj
+<< /D [ 862 0 R /XYZ 78.37 808.885 null ] >>
endobj
333 0 obj
-<< /D [ 859 0 R /XYZ 79.37 598.595 null ] >>
+<< /D [ 862 0 R /XYZ 79.37 598.595 null ] >>
endobj
337 0 obj
-<< /D [ 859 0 R /XYZ 79.37 325.802 null ] >>
+<< /D [ 862 0 R /XYZ 79.37 325.802 null ] >>
endobj
-858 0 obj
+861 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F51 380 0 R /F69 402 0 R /F15 381 0 R /F26 404 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-864 0 obj
-<< /Filter /FlateDecode /Length 3135 >>
+867 0 obj
+<< /Filter /FlateDecode /Length 3140 >>
stream
-xˎ$>_Qa,Qo`0ȴ{ǀ&sKr2 \!*ZVzgskI؜嗅8]{uݫc閷<Xg.ƍX>-}XՇN/ [sΥ[?~/5gCHD"MuW|\>\=CkE8uyopL8Uc9Q.=.2
-Վ</heV+SoMyKWɴF{[Tw1_<$1-gizH01u/$셃&nvB@^lG_{Ì|} KoB:=kۭ69.>n|uE9[-[4p%_8 8-1LhXZDXeʆN+mtȖBo<FGM a1Ex<
-aBwh] IUTHS#>~p0WEvfN#A'I}$W8J?JzLR; a.y]pAjf9@˛#.Os>a
-RT&>]#$ӊ 9$r٣]{ZQ+ 8%QI
-|z-[%Ǹ(nTT'#p\LPM7L:5Y2Ӊ:~dRDL;R;~D6c3\IGgtXkLJ#{ÓaǪLNZ܉*0M5SeF%Gu+sQQTxन~73`g0ѱK&~bUhz(pWW&a2ue+c{F s J]Jn FE<UfL]螩YSf\$ͥgp4F,_i.P);аS}s6|&mdL (wW80PIv
-<j%pjjƉ*R[a|6Qq
+xM+bz "Qbu6@k 9@z/i,5:9xLR$ER$=\w轸w~{U1ot$&뙴5q#O?87s!K֧s_K=LpH.x/k=->/ gh .o u 9G:Wg"=WXK:iKC<ydW# nZ|p9/{!/ƭ{IﲱInZvz밮O6R^Cx"C7-ybR<Do\~^C0uУڐe\Wc%Mqʭ)2oIJ8VObykfMq 0%Ż7`3pL{
+ [
+a[fiP϶բavLsy?_u٥WD
+vd϶[9j%sK-[̃"6\k Y~{jL|Xש53$0-K̼g~
+~"Qeb/)'-f~ьW2JSxnCH߂0؄ t L f /1AAbOM裂ԌNO3=|f4 I\c!`餜a I<3x"2 i?*
+_h W'p>Z|=jݣ)~\h h3pLnPڨPT.PqעER)8~5l)uv;Ȅ6xJl$gA$՗H߷NV}LR=%#a.΂GjmQfBʃ{BGK,py:
+XG=0 | mVaktp@T(oG!EI$1+A@pKa15@ xW @)HAz E)͜bLloIAA[ IO<5iqXh? ;i'ӌ) ;I'SF]Qt> 3#D K<'P-|>䤢KSy7HEͫ?MwLMNuz+oǁ݄Rz,lB`nq8pu8
+Kۃ>_Qy36 +}~k+Ķ&V:LcvpFѹJL0Z3 x}cCBnTXFU1ݵ%s} e:z`WTƜ2WgնbvKn{ GG%Źq{;]am K]#:߷vg#HXŌq#hIqv4XIGMeEi7%m Tִ=mCTUm(kMR@H-fMewPO %D?;I~ݔP&jc8;nJv
+o3:A`͵ n?;AzO'UX{;Av~S|Tw*^'EEzNΏj1Z$.d'h\.2:~F\.2:Xir\7:|=V)36WzH@\O1#rWyhxP@\$<g;iy^XG CQZù¤amޛFӂ|RN"'ޛFӂg_|/;iS8~RP8F<VLSq3R
+3R^h+8g̮,#G;~E cͳ=g4aц*4 5K43i[  
endstream
endobj
-863 0 obj
-<< /Type /Page /Contents 864 0 R /Resources 862 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+866 0 obj
+<< /Type /Page /Contents 867 0 R /Resources 865 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-865 0 obj
-<< /D [ 863 0 R /XYZ 78.37 808.885 null ] >>
+868 0 obj
+<< /D [ 866 0 R /XYZ 78.37 808.885 null ] >>
endobj
-862 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 644 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+865 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-868 0 obj
-<< /Filter /FlateDecode /Length 3011 >>
-stream
-xM½ E <,} 9@z/)Q=^rݱ")Rcvy'Iu7+ s/R$'5(O)!|QJ)Rkz S^<ˏkV
-%uI|je|g>-la',t.>V2LBPk$HӼ7|9ʟ
-9!g4=> ccCy%X)ŕ Ss5%i{ K*G
-@!3C `r8 MP 2 vDvz߅P:~ >}P 4T҆D/) 1?ӿӌMtQJh9J( Z1=KhN
-(4@E1JQ>P|LZ)|sA{>XlCz) :ẻL }&c|F "+P͖Rf
-l˯O_b_0eIXY@(i3e]ӖwE<H1/uE#䠅:F1 .jC$O!qC)d{Ka zqzbN"fݤv0szs':o^* Rg(
-_=m e{`r< <8A>iը=rK1F%xFg7Xz^V{~
-;b  *@:<M4#5~뵵 OXbOthq@br:;IӦ
-e&D9伩h7Λvi@t U[{s(6z aIc";a˂>
-N
-Ɖrg3(3,
-*GᣠQJWʚ/ 𙣠w(:
-XУvԊ <[#?d?gkXͷwJx\c )sSs\3vQknoS&>Wc=P ,c~2@ le7*z-MRr6?5TaI~4^Jhuq/ :]4ˣwF]Ӧd Tǣy]A#θ I}DT:m쥗Mw(TԡVIT4>C=i~dC%f3^bXKLIj#\2?V3f;\a6X:߶? X~d_n.B6N~cIN0 XTԁ cnHg0Ɓt"~Haw.cVtX71y&h`뱢앗-+s<`LIBA+'|WG'o.MDUppO>@'ڙ*`4,^2(|Cxg3܆70_ӗMZ]]_Q" 3NtMLB0$+ac툻&.:1X,s9 ." Mr2"k<. qx(LԔ;i
-(OT%!B]0șCȅ֬uq2샸ܽww~6%
-4lM1~$P"5a5em*HpQdL]&)ve
-#-aZl֜R
-KMb(Q+sk4V<z s ٥<ϭӁCr}sӯ<$(H#< Yg
-WԿEPɷetmY޽AϮW>;=OߖJzv82&9^~kUr9.0KGGi MRƦ UɬNߤU6$эҦw-ZڴwXE%1 H׾+|=~D=MIGM~z;TsSꙃX
+871 0 obj
+<< /Filter /FlateDecode /Length 3007 >>
+stream
+xˎ>_0&Y,> Ӟ]/-ɀ}H6s流TSjJ/{ToVU_'I$Wr"X ~˓" 9nrV iRZGmH^3LvB{??yJ“<#|Xl~' zE*^G_{)5i^GXAފY!3GpX/+CZQ15ZSVhk$*dn:L<R[S{'
+k }) {zمO>@(BTEo),_ӧiFSHj(%a,WB0]aeZl] tTA.QXlqF~PLZs^wѿ-#zIЄ#Z,}F} veFb-Pe-Z4~> l_o ^MM_# blzvYj(ƎXAXuZÕx
+mE @:ɫ#0G B Z5/2!/`P@$Q˞C;#^hK.ٛ3u?Ts uHl)HlTIBDՎ~O:o=ڍҧY ZQX!0({Y%o=nRPWiE%:F9c]R)Jk}pF1? m"p
+\!5ٟ$&1j'1( Ma)1q=FcS4-2!<`[Ծl7WW}u_QH gn mn(/DK횎~pN `@e򱞆R5X0Td ɘo <'C~̯#odSћcJ×ȎնNu!Uᛁ7dLeM>X C,ୱXcTatnong~
+;b  ClDs [u񁋾:Ӂ`o uSzItC<n*<M
+6P3jh5W8i5mk Ա"GȁV?ҷ'2<7Lf
+ mZKp
+<LW4. ò2l3sl]6E_U1ںeɴ'?cK
+ ݻW4`㎯yw[w_G헕GfNVձB"syKi$%zXɥm`^Ž16dh M.S8<9g%w|&B[ o+lxi]#M*h[B/;B}k_X^
+MBI5O_ǷD5d
endstream
endobj
-867 0 obj
-<< /Type /Page /Contents 868 0 R /Resources 866 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+870 0 obj
+<< /Type /Page /Contents 871 0 R /Resources 869 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-869 0 obj
-<< /D [ 867 0 R /XYZ 78.37 808.885 null ] >>
+872 0 obj
+<< /D [ 870 0 R /XYZ 78.37 808.885 null ] >>
endobj
-866 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 644 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+869 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-872 0 obj
+875 0 obj
<< /Filter /FlateDecode /Length 3868 >>
stream
x]Ko$ WTn 
@@ -4009,167 +3956,156 @@ HՔ9W5$i:KŏZk k`9h|5@=OO|<_#p|<#
yII#7ڸLyu>'wy~QP<pZH@$uA?nëh^x}C@k~{ct*ڤ\8io?a. teR\)U{)el~I\;VkѬZ$=}Z(z-=)WcjF<zrҀ`l/ǣ ^ϯ -:{jű)B׼6:+͵׍xѻ㏌4UTzM͝T3-{6h2dK K{J9^_Kފ!HiFzrT}>{+^m#= xr}ƕLj=\-w֘^A3ؘ[wo|L+5@yIx=[4:2/X¿OSO )W1h”WO^X׽S@>o)6Pm~W{w WpbAriѽ:u>~jk'[;;LË{<O.|U^n0ljԮY#vakS`+v¥)AsP/Z5sJMKZ;5tYcsDbgwyf'sIF^̮\z\
endstream
endobj
-871 0 obj
-<< /Type /Page /Contents 872 0 R /Resources 870 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+874 0 obj
+<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-873 0 obj
-<< /D [ 871 0 R /XYZ 78.37 808.885 null ] >>
+876 0 obj
+<< /D [ 874 0 R /XYZ 78.37 808.885 null ] >>
endobj
-870 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 644 0 R /F51 380 0 R /F29 375 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+873 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F29 375 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-877 0 obj
-<< /Filter /FlateDecode /Length 6347 >>
-stream
-x]K9rWo6E
-5gXҏID}uM= 5 Of8> zE " .:OhJ.U#%l_q|G9K5m7DWŽaVC Μ 9)7/NzsNL[1VRKQzn#]TMDI\uwU(R<%ls%[9Cjܳp7MN=;kd9F6@h7ɿWZlL$h| 5[0Z1Fnc~R
-NOjD-׶7Uѣ 4-&_E_be:ƽͤEIaF%77m.vs3Z"_C-'926lg,,%V˕Xf }^229(K~˔5,-2yyTb?mR ,aµP K+ef9Do4,(d:,ԓa.OI
-I
-KLM:89ȯO2i81dX\l41ZT21,47J'LjGNXG%$e2*VEyup%)*ɹy_LWԁDkW381(՟CxRsu,'F%u%7Gg&i/ș ۽ҫ7y3gow8Ϲ7Mخv3?g8=`|3j7s
-0d_S"#,?01iأO^b*%9J ?b9k(CD8Xz:$9 N HœdN}G`Ta
-˰n3aD\ڞ:$Ikw`M Gu}9gsQ- w9\ip*'K٩ $taаԆ#;ְ]?nSlvұ MJԸ
- )_M#7㍑\X^T wкN 7mbg }s@wؘVh;.~=Nwެs)UR!şܖw>.ߴƿgJ%6߁WDSޤ*ߘ~OWhU Lfpc";"A|pLP)~#3_[gt j`[Y̢ÝۤдMgTƠ^ sD#=*u[E9|oQqU,[jL }yfҺp\J؇@}|0 ?Lm?n4`t 0AnpObȃ v-}s?DD9ؓ8ٹ4 =mh-2&Z7b_v uJB}OJuP%wH:D@FeZNX*ʇ8)#)f 7^D>`HTlEhՏ]Fp
-QΌ>Q}s. qnşZ#zCiE"*^"<ߙ!սŞJX|xe˹@fG G0oDI3]<1͜RA5ַiϋaquԏ9}.E9z Oe'H+R{8ZpJ9& nqw
-F$F6+JCU<gNi2<u=8VɅz:k6l7JЕG,z`c\ɳݚhg7xD?OU9>Mi`Qn]6Pgmj638b1bD
--Кl
-ơl1_tIy#W 3?ȧ#soL/κ<@`mޘ%Xnqa
-lZj}o"*j8s(|ZMRlyte|&2~ߔ_xʼnµ q6^¼G֣\Xpگ}
-ԒÀ-J?!kG7y}֝9X~h!O⫆ۤEhi BAfm۬c?GBB?rq@G{My]X%FS".ׅPA/q'ֱ<*s\8^f
-.}r1&{s=e"߳A[ aO|<x2iS(=fDhA}|z+C M3ovm<ڹe0]#3{"t-i283ky/["=?zfݛ?gbOD?O W] %On3vPGCSp 瘸=>}&w\m
-lrf+P,ʆzJ<O/Ojץ\&1ؑYi/.QvYTҟ2].&YW:_[`KJX*C2XJ氌aR5<֕5*Q=e@hz6VRsƵPW_z IwOU1* Hu eYP^2Ka=o[ n`@ІM\ _n̹N[G$|c@?&?f_גL>VJBUܪ*{ Ebj1cW 8>Bł{^JOl%O%FO%FOq|%7%Хv`0qmhp|guV#MO7a:7c i9yu^s4 £ŃVǚ!ԦUOUOXXW LaղuV`Tq}8y}.Q}~1|P(׃bj
-͹̓| 7vs%
-\iX7IS0JWxb@
-tcݗ\`/|O"Vv)ljͧKNǠIdlN/DbdLw)Q^& Kf[ytcd$7]Lߗ9Ci .=?,׎O=X۵q^x`@C7+9e^RJSҧd'Hy;;)77Ǵ4-h| iz'Y70M{F50(9oOj>-FlSO{{`oi4&[5By&v1C2Q z:30U蕈o66*bܞXU+[2%YD)0lқ,
+880 0 obj
+<< /Filter /FlateDecode /Length 6350 >>
+stream
+x]K$mϯ(P#bb;ukoڃؽ#dI7w0U
+3ٗ 'ZB6
+G%$e2*VEyp%)*ɹy_LWԁDkW3ؔ1(՟MRsu,'F%u%7Gg&i/ș =ҫ7y2gOw>8??Ϲ'Mخv2?g8=`|2j's
+H6锓bWV7
+Mu&]lMO6t,66pnXa㷹ݦ Lmxrm}ݽZӭ\靶iքblsL.[SSڧ(!~ŶG3o!Bpor{MiN3S#&{ksG\ZSKmʟOoL]&bT3e3[jr)#qh?;W^j;m2p<myiygcقR)3lO
+!G6waŻ]+~
+7u6):So
+?`[Y>q9`p榸#?R)~Z!٫mQ|L`(M;iK|TbOwxK?
+MbIO7V5 4a7({nE|.49GSFfڅq RR$-
+Բ#H
+OE-;I!)ij"A72FzT8t\-÷"(Ys?ޢ^ԘXA uḹ(;`@ҁ{zk)p`اSMٮpt#(K}G)k
+Bomz^Nkl-QZ}Fo)$L.VRuFk-[
+pp Iqtln+fYx.=v~N~4c}z_Hk,s65W#`̈C,/@&(Ȫ
+~vW_0 ӰgA+aA;}9W¼-6k9qJu
+:9F\88:x B O *Ewu&!L^¡W$h|JІ^o+ATlJx+A!)z7& +hDle%M0psI].I?܅]6ĸ@)$n7uIsEXrIbCEBb[5CYb8f3G:7<.g~OG*,Cߘ/%κ% <@`mޘ%Xnqar-PK* KA*nl(7cj쭡FTke[dk (yXeT>$?p6)CQ:Umąq-ãi$wl !MŁW`69Qkul4Da]#Q~.\e׌DEij1J[>!kG7+zl^'ͱ:P|aC F x\G}b_5C\4A&m|m1R
+-{O?~~ehaji.G;cs NAlf_kIю8DTn \?HBb~od ><}'uV@u}Č].ѐ*p9CCIjkfOT ]n_I^m^Ȗ
+<VYI|u^81IV'?aךpDDcWNg'IeqIeأde|ɲ3HCOc"{ b*U4I <?XgfDD3 3'ZjgH29Y"xL(/%HwMhaf@ІM f̹N$[G$<cAxEwj rI_Si|eLunUD~NɼBGj# 1`3t~b=/-[~ EJEDD%G9$.=Z &
+-W SqVXk5B[@l!ql!р <9^VxX)SS[=M[=F[GBTXlbU@.HUׇ2̛PQ{~28B1Q
+nrViWu7$!;$FS3MfPd7qku,c-Q›zy+_}(
+
+-ZsEۓ~Bxm>(%NpQ \
endstream
endobj
-876 0 obj
-<< /Type /Page /Contents 877 0 R /Resources 875 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R /Annots 879 0 R >>
-endobj
879 0 obj
-[ 874 0 R ]
+<< /Type /Page /Contents 880 0 R /Resources 878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R /Annots 882 0 R >>
endobj
-874 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 258.666 67.03 269.123 78.71 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+882 0 obj
+[ 877 0 R ]
endobj
-878 0 obj
-<< /D [ 876 0 R /XYZ 78.37 808.885 null ] >>
+877 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 258.666 75.503 269.123 87.182 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+endobj
+881 0 obj
+<< /D [ 879 0 R /XYZ 78.37 808.885 null ] >>
endobj
341 0 obj
-<< /D [ 876 0 R /XYZ 79.37 540.346 null ] >>
+<< /D [ 879 0 R /XYZ 79.37 539.971 null ] >>
endobj
-875 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 644 0 R /F51 380 0 R /F29 375 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F57 385 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+878 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F29 375 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F57 385 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-882 0 obj
-<< /Filter /FlateDecode /Length 5076 >>
-stream
-x]K$9n,4ښZ-| 5ߤ$R⑑Yڅ՝ɠ(~EJb.~OEK^r0]>Nuї/1E}/*s4kꟃR<Zo␒~r0@uQ^AJwED! h }kODϵ]hT\>AFl) ^`"~JЉن<UT$ DDD5٭QDԾWQ5z_?<./Zr^ ZFFFY7+2芭7zz !q(D\t_\sMC**.I_Y8i4Y9cdi@B%oA
-9EKviγ=MwJ/٭FuՎDCܔ eZk^5 aqyg)Yumyڲ7:&%վ {>|2kњzY:ሖUE/avƇ% :^҇7,5O]ӓ;jp= ]&e !uLCEJ9rki|z8=*.w']U5ՔFRZqܟkPLQ-b"!lF_`*70~^}}v!yCG!ٖFM2{%(v櫘N')@nՖ[LR[ڦT,;Ol$ܧ*PfS"Z7v.5.X䂤-Vic
-S<hIbh Gn"ì&XOMW-YY\Fވ:Z~=.+XˤܠOg}yvF]p876Ay6 Žֳ1]O ;+^J!e'"%v֦ŻS#x]{" AWVC:Rksw֪!E<[b;5<)ˏFƸXc^o;\}wF>s~nxWf ix3f|fvhcΟr% ޠ́r_z o۵:eiU7X.фc=Eg#t߷`{)%ΪalX"F b+ZO X⸞EL} CIG[Nxk[oT8ͽn%iܾS'ВKy󬍉<2}
-C0E_&
-\κNtC]J g
-iˆ"He֕@ h
-`.Sl
-i.Q>+ q;zk*"~ybkl@]b VO!/ F/Y ؃phFݒ1@jt#^?fn}s\jWM0(nMmNTyCӌ~VgI~}չV>8W|59ָM_^_;} l!Z>׺Ng9~M9S<ѹCNNopwWk,q'`!|kbaa(vX0\yb 6ì7ܹjM#%6KKtky妓dCO2Nѭ)|Fy:S@YBԔtH~&THE:ESD0jt)nB ~[[Z88+%kչ)([;Ah7xB}jH68<@ QJ1GR.Q~yQ q+<R07iHh0l6ҐJvqN2BL. i$l#u`O6C%ihsds z P1#c68&uHj1ޯMW3
-$nG
-0!Tc :( v6M恐vFv'g$ *aq5; ĭyn 㥬ԆRً$gyI#_0tb¢pRZ,#
--gO%0b2
-ΏS4[VEnAl(X#AX֕'Q39k[&ۦ;Ls5(v6J]Rkt"A Q&8X%$h7i A09IkpNl5JQDE1NQZl]y5c3PPH) ,(vQ" ҉Du`RL$j8bdH9IP\%JAЭi aܙٺ$i7g6%"AQRlAQ::E H d#IԌqηn>(Ue½%LR`d* RwȺ@H@JWneH19V଴Km`8uȜpk^1FR.@nmz&09VhYjHPZx)))
-i$ #1bV\$8t<s.!r> Ét`vǤnImp8ܻ1@V`<Z.P)*)
-q$l#1hVچldIz]j9CT7؆RW (0ذ({f1PDpz4
-@R+jE#bJ=LZ=4,kRՖ-)Y+C:[cDhjȍ3E^OYQ*uuj{7Hxj@ 3;KtUTr^I\IզJ̒RѫfN!Og'Q9U4?>5$íC{<*N0"&,y>(*H,kf=ѿy{֘?  CKB0|T_Lm,LW%d2 =w?zƺ[z'-_roJ[( OOT:%حcQU{h<fo
-TA8,0n?$5QQZsoKmMF
-= H#$rbKJU12&ϨgkE*)^FGkIttkabVOjX&m@H%w]r!
-i/-eL^<)"5^LY T(1&xIJH~hK'+K#J-/x@{:<Od8I3^
-'A_,wSgXR]XÐ؉[ d
+885 0 obj
+<< /Filter /FlateDecode /Length 5085 >>
+stream
+x]K$9nȣ4ښZ>.v/&%̚~ŏbRT?_OT^%4\P}y^TЗϿ\R'`|>9(()Y T|dxZD?XP45qDkh^?H\ۅFEN.k~^Pʖ&Щ(mS5HE MAOMT!PS EK qI_;FoE@Cڋ!Zk(Hz͊?b^BH0
+ r3W(;WlӐ
+
+ƪ{KƗ>A}gM*?52DcfuY/>P[PjmË߼EKviγ=M^[ k,Ue)˨l׼4k
+s 8ߥdvoHnKԖ1)qHUЮdÐj+V^Q'2%l$7DǫQ&[=mW
+/?]b{pD#E5_c2KHkL19_kX927{.lkrDj x۪e\,K~hAht&D Ӟ).:{{KNY<(1qVm c
+ccx6cX|b,bX%O]LrJt§/U_w⟾ S-v=u=X25-?k-t1qq:G_#7缊w~q+}ECs*v{ g "+~Mk[ƕ|Ⱦ We{)}l^gŦ~B04=)n?1Amq bUp4lyf݊w ZI
+L_nRL&T\(M/pϯzsj-{X
+~*c"Hr ::A u).)
+#Z MXWATp?_\U>} GCWR]wUD'-?5\S1YY* +,CKVMMfT-3
+N7a6&7ǥ&PaMpHvkmkVv.R#w f6H| V<~Pg+~kpfZ.7}q}~Sg}-9kd\\_;)urB]:?XX J Les1In#H$f?OR񋂩ܩ0k 103~kzm%51NCs1Z^$/)dҝ֔[urou 2)$yMr&t+Ջ }
+B ~[[ZqpFHU禠dd$n.% G@h j
+JFAVx<B(g1n8 ezGzZDV%ʐ;.SjC&8E"֢G i\$j8pSH9Ipl5)KQDĆE1RQl]y5cemah)ä<7X2lg4%uF'aR5^iN&xs9m΁ ӚTVEn Al X5X֕'Q393)Q e`ʢRm) H(HTGJ=!$)Ofs.9?
+Nv4NUҫɝI[NMfxs`S2!l%%);.S9:Pz BI6RD|+2QN^&+ ^2ڋǤ!
+FJB ~ TYbiH&#m!J6@V`;X.!sl)s`yuǤnImx8ݻ1@V`<Ze="AiN<6`+ 0Lj[iNp
+v S`J_ƒ0tb¢oQklB}9
+?_6Kr6uyQURJ E*y.|0K/J0G>
+J- +1rIJIU[d.
+YU/RbzSAѺWg JPKad]O`u Nym.fOۂͅTn]R6zY =$JJx-
+uU3aAkk%}wmː˦55;qSnm=ז֫. 5ؐ@pK(;RYoX` $nj{jK&UP6];O:vY1e|{xrpSw)MC#]Xh9FSz4ayh|4q``h6XM9[|br?L\剳ߪd[u saυu! ⮈+I#y7$5X<0Oد25ġɍ(h̼fIj> sc,p2 +*qphq0ij[>7B9#Wo@A*Ow;ħs! p2>$ݏӦ·+6K<
+Bd>~]g'W9dħ(m~ om<luIፔbm'si>qٜI8Z6g޹RgW6Oz?xߤEXfэc~4'6ul+vѿ7-)®Mo-\xxT
endstream
endobj
-881 0 obj
-<< /Type /Page /Contents 882 0 R /Resources 880 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+884 0 obj
+<< /Type /Page /Contents 885 0 R /Resources 883 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-883 0 obj
-<< /D [ 881 0 R /XYZ 78.37 808.885 null ] >>
+886 0 obj
+<< /D [ 884 0 R /XYZ 78.37 808.885 null ] >>
endobj
-880 0 obj
+883 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F67 389 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-886 0 obj
-<< /Filter /FlateDecode /Length 11710 >>
-stream
-x}K&7^.0@CJjFv3t3-#H#_~U# `0+4[|˛7o᧘VK?cȼٷ\7rI_I11? ?{ևo`cgi㿈Q#_5P7kQ+Ǝq sXc迻#V?r.fp騌z|w>  GqY^XufOaeJܸoxkj=Ew"ɣ7ʵUC_fΗ-Lqo~ޚ5e_Avn+6=R[膩'k+^ۼՂ߂7Ңߖyӏ"6-T{uj2^^e>f
-F>!fkyu>Rn/zPjyf#>l6ŗ܏XM{wQvjb ̲cG1\^`!+esGvБ݋g'Ӹi]ٜYʩ(|Ds6߾T(^-㋵Pwk+`xQ]f$Hr~];R-.J-]ޫeKPlbpwZ]ީZfWljvYkM]GSoO̓[/PUh4QJB0y,j.Avo# r
-m>~$zu97lJ«@zh_8 LuLemơvollK[sI˃,*z \@ ML+ͩ{~ V~-.a6AA <~ < ^'BueN[wDpѺ0n[rRbBUM;AѶVJ5<aK?ռRn_ ͑V6jʖhYClloF5L;ݖ&\p)_SMhmT=6krۘAn6
-\9侽?6訚p٢8j>է -hwtX~U& .cZ#PaNMbݛ;|V
- 9,륥"ǵ`ouYSR*w7}WG>=Ն /;B{j9H\ͷjP$N[s!h}k-tk-QmL wy$sE1|Q$vo)e ɷL- ӬmRXݼd,NY}z:簇gw+ߝf?c=gy޳?,];Q+|-Y&$Irߦֽ;)̗_y拦rO};=h_m 8=tsW;LN @ OwgCɾ4d!W/ai8 VFPb(`pAg.!sCv%jI7oq.{x_ g/UK?
-{H e ^ÓU#Y<=ϩmQy > ~ ih> ,|'yљxG<tKl;$7@^S](}\7Ң?-:T'+(-
-YvQZ^Cl
-Bm^X={^$ȥ߰gQe\9.fʷe\趌?.}XL¦iOН]F/.}e˰vw5z,|նb^!eq[ඬ{(6q &sG\zkT(|]ޛ;UKHp I `a.{
-~AQ˞tQxQxopvp񬍇 V5;{kC (hkGXw
-/?AىBopմSt^2`&IE>atO8|_{z6Kt4"V@~(W1Qʭr9DZr<n<䋮d;.e(=>Z8Q,\eD.Z=x0Ap
-Hzv?
-S/_:iNLrxVs<\s'M?<+\pz
-9<0F.,]W}h0XC 3=^7YC_K´:k_QG: LZJ _J6z ϟ=oy^n/ټ͕tt=vS&"3iwJ-9z.K2=yߑ9⾹]dSіvЎ</Z Wׇfd:T<0$ӹb~Ayj)ׯjKJFJO$xfVV{l)wA9Frei
-U_ѿ.c5L[&2掦h'hy 6'J f_we\x\ߐE=9>1Xqgi^w!ߍ}}pY`2n>>XHN<9Β9`kR?Q>^9r,T%M\t=\p5݌{?^gx@jᆱ|墟{
-+mq@Ι"f.h4"lJEي2OdL+8%=1kl9 ɞ(+$h83|^#x i[,BX % evHT)<8]AvCJ2p0;e5Ż 6VV| ׎OhsBRa7( gJ2
-u evHT)/
-eܖЪш]YH49d
-t\0UGW K>=!)\3BFR'*&mHz %23Ms~\/NhVn2u %
-]vHTqrE]( iY` -Twj`q SZXsKC1D2-ڤ$x85c66
-rnw($ W/6sSd H ׫pl:dsDk3&jGu̡gpml: &'5E'bRFv݄^ ah"KG
-rnwG
-C QKRe0 `\xaMV#
-ȤʹOYO3)׌]mKIqu:1&*QLX\8Ti<II;H5H=tNӐ',ݘB(Si
-b<W&bƒ`/ک:j*|LD"[11;a74&$f5ya<M՜&FxS?PD=)&DLSYiRhia<Ct&bƒ`:}e'W]Xs{{Yn93ZmURbvm>I(/M S٭4eBr}MpOU hy1W9^K"4%إzXPKEouwd$rgD
-]AB[c
-E&iJ٥zZ&¯J~
-ŪWZ)S]JUHJӂQ[bSɦ;ܱީt"GsfhۻDU䔰E%iJ٥zLV?:svؔ =VǪxů*>!
-WHhݥ1R(ඉ_.&\
-iqu2cX.nR@ .BҘ {B|`H8TO[ >^*)cRCeǰJpK&kp/}9U:a,M{;(BNiPHb
-m& \C "E6%-2,;u- S%|EvO޼Cqc栠@L@2U7eLR( Vv
-\ƒyݫp hٶX4%E"BtjFtbbc#v^Mr"Va̬׽ SuV8F"g51Ee;PN'&f8 L.yիM*%u/j'p81eg=MڶKNLLn <.|%jSMp翗T5) V³ژ:(yYM*%)r@eVï\:4YNym }|EA |eŶ_`7j[YM0[QOMma;TX|Ѫc;`PIp 9|Z=K(i0HTUJa8i( o{$!4g)JG qćKZ|gCƒs0mQ&N@,DtǬgJ44w#! ~
-]i:ñX8X" --XUVX#BbB) kZЇC,jU>FOY@Qr$
-ThcD`aTbf7{tGXHz~˾gE72äD:9$䊙RJ
-8xrrY*ipI$;yL2YKD" SN+ L3\<E 88`Ҝ˺TclFb` 1DBɉ0qLZca,LreҬ!B LH&͙=H5(V3rr[sI{.'0Is.R7%VC ē' Œ'W+5Xf0Ss04ڞ!f? [Gf28J@58!ix13c{H8EO
-'L͗dg2~HjaKUV`JqԶ8TR6ƙ {JP
--8-ǫ{ݫ0@`z_9*4A~.Mq-B8O+k!BP‰x13c{H8EO
-k/G
-i-E8|b*g=bq>JP
-8SdB A *cb^*L$=!gB>nIrկ<}a S| WjWBTp>wd?R>L ŚN
-%8ǫ{ݫ0@x2l:<lj!:TOXx:@0\wմA!'AvBpJ4eVs
-)j%\ui Wv1=(8SdB A 'UČU )P*[NA5%l.i?.\u 0զв֮> ~k|H(Za̼۽J
-~=ljcO w{mc6jMXYQL{=?$3) \ғ |J7qWJ=pfW}*Oj٫#кq˜y {n|
-c{ϊ=BXuYFJ :SR7A*n2&^^7Or-iUNDhB5
-WVBDd)Sb{3ٕԤ0m'~
- \cB@i&UK݋03IOM͗h7XZE$[e÷{geUޯ.1.W @Ʊ
-[f%% rBH<'7zW֟>%(T8^Y MDpafm׊mnp6WtKO.%\5gޤ;`Ąǩ[AJAE:\8#V#'R
-2~4~GL<(\=: 7Ob,'+quKDll8I84
-&fw
-P2T'@Z՗$1:) wX$BdS.d$iWLK2#
-_&I<R^.
-[
->
-CQ?k%"%3&~d%u&.I nK n#\"XVߥ#JP8NIYЊ$+&îħV$y+
-ӎ,Jg XiOj )WzqdƄٞK;/I C쪞\)ĸ _dD|[pQmJg아^)!l%?._8L
-j |^ ~VKDJf1nzOZ^"bw3U~[ JgdZ)!l%?.w"Rɗ83աYn4컒k_ ]lS<JP%Px:pS.IᎪs6r[ ^-|vK LJ5af7=\Pd3"}RBN<vn}<Z*CjoUƩHn%((!D̘;ۓƒo~Jl.Gpe5[k ?h`7yk7" t=
-u/מዩlᘎZ87H7
-Gc\L ~?Qϩۡ_}6
-pА?xDA<.`! !;gG,RҼ}.,# \>΢<5ne=䇚!5Չo[7|ߢ@eyN(;t,|f<޻Xm=Yv,Wƿ~t ;D퇡;Q 5E}?{r>7-o+9`g7jUJ{FokGcȭ1 3O؊oѐGسƨ6 sm0}?zS`-ĂQ,nބώ%X>p,k *^b ױ<>XQ\gcmq|1#9:ovRVn>~1.[/<v܍n8Qpߊ YrCW8 =jzx2Mn2USc}aׄ{XL44H'Tߖ߱eL7 |SR±Dᠽl~ﰽPK
-dwOӫ_o5e]O-l俧sʵ3״. tK |wH_S?Xa٢86dnM?`P/|3}1{mz--۶D]u;]d<YdS[8O;̝?dMq<3sW~0&1
+889 0 obj
+<< /Filter /FlateDecode /Length 11642 >>
+stream
+x}M%7ݾ[vø9oQT hŸn{Հg8dfwﭪf
+(FB)H0y
+Ӱx@S3[zأ
+$l4RnKP˗zw))ڢ V=ꊟ-g+~c5ݽ?ʍ.͐j[|Qnyf\|ݢsoDmE}ۘ/ӝ٭qp:5>!󁼫eoя4~>ҧid5/R⼎L%lJKfQƎOh̋دv1\|u5v;Mx><5g_A)-:Sϗ8s^?6cؼ7cآ4<DDP+5o]@0.J%d;וZ\)Ҋw59fq&ƻ6@l1oҟg1u<_O
+Ɩ4[*D/?QͺgjuK]x'RRCp|ً޴郀cTA+=^cЋS4^kEc0B/(y^q! տОkKɻ?ky=E_]6L]|gֹeZ3-\a]uN<%NWc"񃮧wEIٛ^jlOJ{(xpg>xIkz}{hJ&F`䭩yO~HmPGÛM罸7w''ހMUZ7krź2<<ћ |֭öR m)%e&\oe{|MzaZE}U"8l&<Yl> ʭ$|h-CG[KSc\װ!&gk\YJqt\k[bmkխLW.kݺL(ݿm7co@m]hFo"J7ˊJ-&Уl"&7=яB]ˏXc-?pD)l頝*5ZzvhW7G:Y׻ie:.fPD- ev# g{dx/7yl똽%4ehdzRC@>|먱_M9ÏmO& 4>ld>ֲ߱P6O|J.w/~rs«_`Y)KC?d¸g率ͣ䟺^‹;gojQ-]i܂gw/ e%4sjJrytvI0][ e!xrmV^B6qneoZtC9?,fLO޴i nG]$Zᛖ>"^z % <MKFl{5Z(|–~BFX^.=ֲg5Zz5ԥϳoZB/Jb^ kf^7o*`( ǻir٢` u ߇녵Eݳ}^xoErpeGy- CP{[wD,&?SفRoem| F%R %; ,B(P`=ϭtGGYNS+R5Nl{o'-ͷ>LQbPqyNtm%E޺_.MVQV%-95P ݄ Lv
+Ն[]3UrK͟,I bwG-v3,q9րcJ[ͳǫڟJ°wp|S;+ cB6柯$Xy<,}+yo!ag]H
+œ'`ڣtWV3㦝Ag9>E(a;s&Ut9r'LSW._CǗz)pQ.߳u3%^r}WY?#]
+NZAx 3%ElQ|R;5?u{/&E* ޵+A\M=BjCw4iRTn֊!=R=/Nexփ"wgD-"ߙVyzнٗ"?S ;y11|KƮ+\4ٟtNG^Qiz> V^OiގGXsٛ^G[<]$;g{ٛ>,&/?{/{‡}tg>=뷕iî_|nOmeoZx)婽'71mƼ#'ZtKS<Ju&Mmel) G(jeχ7J ӳǏZKZQ&He-!Q71^P%|n%K4dXM)_Փ"ZNA<͐)ri X@³mq ԓߌ-g SILV uֲVኲCʠageN5w3V>AkW=l*v28SUWhRf2 BuUB>2wh ݣ@2j'ՙ"I>{Xtv`VEzg!y䔽|2hܭV5A6P\ NTnF]Ǧ`MLp6\E97#+ȩAQM.
+4vBW)*Tq<9 P&4?Y4 B ̩|V.zcG&U?QJ;Qgc!e؀&I&AH-WI[@~Q1;PLV ;0.ф 6Āfeа3@o Ճ2~Sҵ;9]{XK]M4m
+>GZτ<Ҙ HeJ3o.zb!w]!tz&߽dh wJ}8<
+4˃;cyԩڑYa6( WeN5 x"fA[ prRb&e&F HꝔ#+~k
+4@N<e$ŊI&O./]^jQ2݀@@AIœRt?ЃVvwriF9c
+JMt Yw
+GF.~0mըNsڮ$d㽶9ko!V^g|d]1ɮ{)OsO<]@ͬŕR㔦D>V)sk79ˢ^f =r~,y@S5I W:XgcӎX
+4X`uͰN50FҘR*#$ 5 V ooԕ _
+4)AȮ\oFmrȘ#hV ;ku7 wKC֣< mhG ;=B2--?t]3?j7||h>bٍ~rf5[k<};kz]1G30@E Tm4ݛܸ_0A 6[[ pdqF5Ap`ԆۣG.%[Nhꇥ  ZUC)^%+qgUP?\%cnO$fW(=wo'3qynqWcv`a DobthԆۣGP:8!<2qpu̻)g,9ǰ:oyhx Kkg7 )z@TI3 i f7%8v!& aԥUP4A`ףG.ՙF
+Ħk:?iN Xـ#.T G#iJ=sڠ86)f axԥPP4A`ףGlx#:?
+<8s۽KؔΦ-_EڧԖ?2ns ]P? 6eh^HP_c;wIc+)\TP]#bȓX|n\wC #Lz=p/ƜMBl MD>%ŻXftGGU.W:V,VXJYTP(2n4?-B)i*]ȑyY4G8znp-*pW
+]~:}X`PjQsUxQ<VgįOfаWw
+IųN ՕSpHjf)#N(Ȳ^"B?P[!&nr+4٭-VR]n<Z|9V=p(i>T, H$|,*d,jLnl1ymqOti|9U:0FjQ.$
+Sޔ{ăIVńytqWcv`a"I:>/+u-G]6yG|Ǡ@"M@6#enH1UŰoy9p`Q@eb.St7L7ffv3;Ls
+t.uނIbce^o.ՙFlIN)N]`CXf"uST?o+#(jwe"H`R6(ζM`rSX!u9+6TM<?Jv)4MAVyڔdu 5uڧY Bc$%Nhj,G=0Fc?) +D Nϭ(g]Ԫei7pǷaXV^m
+UUmlʑg0Pz>v4żO(((TĕU00Dۑ<@j(ϛ.QQOyK/fe0nV&pwg[vy Ax%*|v>wwl&y klL P3)Q$P ;yg;R3+h!J)q1G_Nm= +7AT
+d
+Pʼ'hgmLM7o硬~6v:npzQ   qw;n4'1a0˞KRod:Z"FHsVڣ$Lf9~;C$`ZӂEɊz(z(($ĕ#awOS^Ѯ
+5Zg$GKAX4 F9JeIi70t
+x`.i֢y2F B\)SqDS3 ^\eS҂
+h 8ݺ-- l
+ O=m޻)`ƒzTI1:=
+ MPj胿zuÝ!G#9mMٛO謌AMq^A aN㝌z=0Cz swqaoڛ4&`]riu ^U ace^*p=_:C~;k/կ,S)ݓ.-(JQ,; 3zTa@ $r~~0swsN-nU?M1Mů^
+!Li`;hσ
+%jr*u,-P¬; 3zTa@ w^7:OX;V0F0wմ>թ :U!I4l<* !5y>>yM*Xݛ<5k澆j6`.AMz=J0DCnjvwwo8yO̾]='*)+h!ij ̆pH
+|awqa۲]tE`m$\rtaLwvyO RT0 NLU&zCvWyה3ez,λ~CgQ;&7!lJ-kS8<k
+^3Acn"+B~{T{ G|bΏh{dUA5PQU' X(>4t_'w!Yv (pbX$ll^Lsp1>
+A <P7*QQGI$|tt
+/>p{-g^mg!?y6;@&zTZ$-;ux,!#US֖{pEͤq>]vKJfV0L!iOȤRJ^F a
+lo
+#wZ#~uT'kE$
+/bԷ8z$ :E ۞VҥWs)Fz:K\ i+^vB*q ;kY
+};4.NW07E|0]_HL #ހP>7xL0%drA!NDWé0*4JR2H|h@g+5.]z?!%Zg)yd2K
+%P
+1PAg+"t$wJy9*ԭ0R|p0Ep RT"zibّ Y.|p=>9ĶÕ| #Ѝ ؞@Kq^EHL Y.v,5I
+Pj@bZWTy.ģZv+}NeiP+Q$ЪA) R̈́ ZyHb|}.x?vϾ>Y*}*ƱHn
+co?CpS|O}ɛi<}773_1A<7A/LP+s);k1ԐmϴcXﴓuN0E=,"?ϲME^x9lOwMxw5FP`&nV=7t]y^/0& ( a_aNuVZI ar9H QA2L0;Hi+5i>۽\HԾ!r &#d\arw3҆݋#>Ր~h)Ly!5Bo{%WuV7*{OhamX/C<k۽\<ݾ[O>zK(M~;pK~>gdzY9f~o~l̏d[iĸP3F Q#ν  ל=t8&l!U'ZbAhyW*M ڟ`;z4GGHٱL:צwq `A?5O6E v;VoIح Kرl>(73k˿7{܉jL;Q
endstream
endobj
-885 0 obj
-<< /Type /Page /Contents 886 0 R /Resources 884 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+888 0 obj
+<< /Type /Page /Contents 889 0 R /Resources 887 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-887 0 obj
-<< /D [ 885 0 R /XYZ 78.37 808.885 null ] >>
+890 0 obj
+<< /D [ 888 0 R /XYZ 78.37 808.885 null ] >>
endobj
345 0 obj
-<< /D [ 885 0 R /XYZ 79.37 627.317 null ] >>
+<< /D [ 888 0 R /XYZ 79.37 639.272 null ] >>
endobj
-884 0 obj
+887 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F51 380 0 R /F69 402 0 R /F15 381 0 R /F52 376 0 R /F42 378 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-890 0 obj
+893 0 obj
<< /Filter /FlateDecode /Length 2911 >>
stream
x\͎S%
@@ -4185,19 +4121,19 @@ vl_S)c/唶<f5ʅZThǜ gfAL?{K14@z(~)c"ӿL]
pi8āׄ9 ),ǒУȶ6迾6ކ
endstream
endobj
-889 0 obj
-<< /Type /Page /Contents 890 0 R /Resources 888 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+892 0 obj
+<< /Type /Page /Contents 893 0 R /Resources 891 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-891 0 obj
-<< /D [ 889 0 R /XYZ 78.37 808.885 null ] >>
+894 0 obj
+<< /D [ 892 0 R /XYZ 78.37 808.885 null ] >>
endobj
349 0 obj
-<< /D [ 889 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 892 0 R /XYZ 79.37 771.024 null ] >>
endobj
-888 0 obj
+891 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-894 0 obj
+897 0 obj
<< /Filter /FlateDecode /Length 2041 >>
stream
xZˎ+'W.
@@ -4214,19 +4150,19 @@ R~>ڷewMw4J ̂ϛ8J@"8Q鵊9>:cK03xZE:3
F6ed1SD;r> >I,Lۡ*j~~ ?;
endstream
endobj
-893 0 obj
-<< /Type /Page /Contents 894 0 R /Resources 892 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 857 0 R >>
+896 0 obj
+<< /Type /Page /Contents 897 0 R /Resources 895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
endobj
-895 0 obj
-<< /D [ 893 0 R /XYZ 78.37 808.885 null ] >>
+898 0 obj
+<< /D [ 896 0 R /XYZ 78.37 808.885 null ] >>
endobj
353 0 obj
-<< /D [ 893 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 896 0 R /XYZ 79.37 771.024 null ] >>
endobj
-892 0 obj
+895 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F50 374 0 R /F55 383 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-898 0 obj
+901 0 obj
<< /Filter /FlateDecode /Length 2255 >>
stream
xn37SCrH Xi*fxsI.mT_/<~~Gw9|"qLA8翗?qo;suW
@@ -4238,16 +4174,16 @@ xn37SCrH Xi*fxsI.mT_/<~~Gw9|"
> jj;Hyۖë݆@x-cIEfJn}Zapxum K;x 69>R`y1JB; ߷GA&wUwoA3j]-tA7VHM]f2XR[Y$vX)M}2Ep23[ҜǙBеFީ1t2,
endstream
endobj
-897 0 obj
-<< /Type /Page /Contents 898 0 R /Resources 896 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+900 0 obj
+<< /Type /Page /Contents 901 0 R /Resources 899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-899 0 obj
-<< /D [ 897 0 R /XYZ 78.37 808.885 null ] >>
+902 0 obj
+<< /D [ 900 0 R /XYZ 78.37 808.885 null ] >>
endobj
-896 0 obj
+899 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-903 0 obj
+906 0 obj
<< /Filter /FlateDecode /Length 2376 >>
stream
x[n#9SZ+ۓ`}R%U=lQGJї^o~|ϻcT /B(?_7]kCk+@k w<{[!_r'x^2UthG,ʚPŢ@LO+—wu{T r$]fi\9%MϷ Qyi2,[7p0ZI}VZeʹ+_ Ko<`Y>o=b[~^nY^"QBmX4! {5&f+_ Vs&k QP
@@ -4263,16 +4199,16 @@ f"{|.>[ЌVoȝy'[F|ַ׮É_Bnt )VdÙ
[aƳ Y./ٷOԀPhA-<WjqN~^\E??ڿpe)]h4.pPU
endstream
endobj
-902 0 obj
-<< /Type /Page /Contents 903 0 R /Resources 901 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+905 0 obj
+<< /Type /Page /Contents 906 0 R /Resources 904 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-904 0 obj
-<< /D [ 902 0 R /XYZ 78.37 808.885 null ] >>
+907 0 obj
+<< /D [ 905 0 R /XYZ 78.37 808.885 null ] >>
endobj
-901 0 obj
+904 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-907 0 obj
+910 0 obj
<< /Filter /FlateDecode /Length 2649 >>
stream
x[9+&|/MVv473S.@fίrO߾Mo7q3-?pss5|GH{ x)G>oh ѷQ"nFKO43{˿A2
@@ -4291,16 +4227,16 @@ Cr ar}ĶSAW=.l0\2;#ߙ6x{k|d}EU! u?hMn7
4Ds7=jfa!N%E*wБqH fnА4qWFggkԦiڤyzB]Jl7ۘN7Z]Y1_o
endstream
endobj
-906 0 obj
-<< /Type /Page /Contents 907 0 R /Resources 905 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+909 0 obj
+<< /Type /Page /Contents 910 0 R /Resources 908 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-908 0 obj
-<< /D [ 906 0 R /XYZ 78.37 808.885 null ] >>
+911 0 obj
+<< /D [ 909 0 R /XYZ 78.37 808.885 null ] >>
endobj
-905 0 obj
+908 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F23 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-911 0 obj
+914 0 obj
<< /Filter /FlateDecode /Length 2517 >>
stream
x[n$9WF (pVVgs>_%*6\ ۑ!;)Y?OnJ`rS􍼩 BJHno.%JRR~v&7</w/YࣾdHQyNX{zJYT&1DI)s "X!JảjŹ^3왩E]bI"f#M^3EQr|¹>تKO(] _hXH.p@n]#j
@@ -4317,16 +4253,16 @@ i;<$e~i<PCLDJ*fYuN *J߻9%GluAA@:3
endstream
endobj
-910 0 obj
-<< /Type /Page /Contents 911 0 R /Resources 909 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+913 0 obj
+<< /Type /Page /Contents 914 0 R /Resources 912 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-912 0 obj
-<< /D [ 910 0 R /XYZ 78.37 808.885 null ] >>
+915 0 obj
+<< /D [ 913 0 R /XYZ 78.37 808.885 null ] >>
endobj
-909 0 obj
+912 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-915 0 obj
+918 0 obj
<< /Filter /FlateDecode /Length 2440 >>
stream
x[n, S E
@@ -4344,16 +4280,16 @@ E.1cmzF)/T _Xrsr.w j%5h+PN&*r\e+g|6--B
endstream
endobj
-914 0 obj
-<< /Type /Page /Contents 915 0 R /Resources 913 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+917 0 obj
+<< /Type /Page /Contents 918 0 R /Resources 916 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-916 0 obj
-<< /D [ 914 0 R /XYZ 78.37 808.885 null ] >>
+919 0 obj
+<< /D [ 917 0 R /XYZ 78.37 808.885 null ] >>
endobj
-913 0 obj
+916 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-919 0 obj
+922 0 obj
<< /Filter /FlateDecode /Length 3281 >>
stream
x5WL&/`0Zc2é ~bUH b|7녿 Ow^`N)a^~7EǤy1Z0ˏsƹ|\|޾J
@@ -4371,16 +4307,16 @@ qg5vGwG,5ZǞȍ*EӶ[V``ݚ.q%7mE&kx=j$>mݷz]e3Ó
g3Eݭx׎Q][O HC٣7Q4 y!z} .De8Æ⢷f{}q5GO€Oz{7r6p 5ũlK`f`Ϛw95QI 3g,Ǐ/
endstream
endobj
-918 0 obj
-<< /Type /Page /Contents 919 0 R /Resources 917 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+921 0 obj
+<< /Type /Page /Contents 922 0 R /Resources 920 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-920 0 obj
-<< /D [ 918 0 R /XYZ 78.37 808.885 null ] >>
+923 0 obj
+<< /D [ 921 0 R /XYZ 78.37 808.885 null ] >>
endobj
-917 0 obj
+920 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F57 385 0 R /F23 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-923 0 obj
+926 0 obj
<< /Filter /FlateDecode /Length 2570 >>
stream
xɎ>_0Mw`4:oA)Fr;wq)D%[94["w?^d~~Et?/
@@ -4397,16 +4333,16 @@ _E->
]RG ݵ 63M嫪<;*V?$=&¡'6r U/
endstream
endobj
-922 0 obj
-<< /Type /Page /Contents 923 0 R /Resources 921 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+925 0 obj
+<< /Type /Page /Contents 926 0 R /Resources 924 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-924 0 obj
-<< /D [ 922 0 R /XYZ 78.37 808.885 null ] >>
+927 0 obj
+<< /D [ 925 0 R /XYZ 78.37 808.885 null ] >>
endobj
-921 0 obj
+924 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-927 0 obj
+930 0 obj
<< /Filter /FlateDecode /Length 4275 >>
stream
x\K$ ϯ}hE`#Ef`l< ~%JCcE~(RE\'Y^?>E)U~_wJHwRW){) tr&
@@ -4427,1144 +4363,1133 @@ F̩E"YȾNue>.%>Kv-?YL]X
XN֩uNJB?]ްyceɗ&qjGzn<=CXÆίPi͏)$@4-j~h)13URŪ)ն9W5@<[E*#]p[-/s&z=
endstream
endobj
-926 0 obj
-<< /Type /Page /Contents 927 0 R /Resources 925 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+929 0 obj
+<< /Type /Page /Contents 930 0 R /Resources 928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-928 0 obj
-<< /D [ 926 0 R /XYZ 78.37 808.885 null ] >>
+931 0 obj
+<< /D [ 929 0 R /XYZ 78.37 808.885 null ] >>
endobj
-925 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F23 379 0 R /F52 376 0 R /F73 929 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+928 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F23 379 0 R /F52 376 0 R /F73 932 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-932 0 obj
-<< /Filter /FlateDecode /Length 1183 >>
+935 0 obj
+<< /Filter /FlateDecode /Length 1129 >>
stream
-xXɎ6W)V7`@k '5E)j1I|hD#a> ÆAknx~{= jVo
-Q'Iuhtែd`7CN=1MRz9>p2ٕߓ
-6NQ̣!;5lu}ÝEQ<JBoMITHr`
-MtdLt485$#{c{^Ҍ=kA߂6vlЪUiKaBμ׿5C}Sԓ;|vfߴl>c,a݈޸=!R}oTf3z0PƭPlxeMM h|{ҥػAM^OSVMSLVJq!#/a1rd?#,O:A~s>^! ~sVn9嵵ULܯi+tD!V]+?~s ^>p:7\/u%K}ї;B+uq[4r]"YtTlytUp ]<pٯz:#O
-L$'n5lOH<^}[aV`AKtb?cw
+xXn8 +P$Aqjuku4ʒ,Y^LP,q}|  ߞ ?6 Z`v'-O`Ѓ V`g
+N,e )ʠ{Y]=)cZ],N$TvLV\;Zbl l}"Xf&o9; $ҌʈœWɳoäAEoS`h#'XA^K<)R
+-Hӏgȸ 83>jZ)DZ'IxY|ļΣ!;5|u5.I;i<#xL2 Ao6al L)6m/abe1-Z|fd3*JX6¾_0^m^٠UѰ1JAͅ^ҒLMQO99><^eFbh<1bd 3 \ ۜ:|WoL/#VKl(><3ehbk{~W]N J};O))\VEJ+ #/ ,ㅁ+@E裡e^ dv/|! ~sVa9嵵SǓ*!)?uVW:uPFU gJSn'չy]x/r@h.^_vr[z2u᱀ M~;Dpc=O9~*:X/3j0]ח8|,|<o}E
endstream
endobj
-931 0 obj
-<< /Type /Page /Contents 932 0 R /Resources 930 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R >>
+934 0 obj
+<< /Type /Page /Contents 935 0 R /Resources 933 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
endobj
-933 0 obj
-<< /D [ 931 0 R /XYZ 78.37 808.885 null ] >>
+936 0 obj
+<< /D [ 934 0 R /XYZ 78.37 808.885 null ] >>
endobj
-930 0 obj
+933 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1051 0 obj
-<< /Filter /FlateDecode /Length 3223 >>
-stream
-x\͒#)S"::յ{^wO LreR%o?Hz 7e6 yS7v7xۿJiK RjҙoJH-%0pbN7…PC}e;RȜϯ(7
-HQ~z@}V3^|5d=BײN9F~ Nժ4hoܳ&P
-6)d'.x[ҝ;0H% R`RƯ>I!)~ĞDN,+$Vqy
->ӕa40 `]QJ QwK(ZWGODL٠RHYHK/*M-FD!6R5p]>ɉ~h'ݦ(ePs&)7ۂ,:]+G ΍wʱXֿegcZI~5l6?OJYa 0)U{,nr\<<Ko0Pjyy7>Tе@Tk;F1nDIY圸mIR޳~EA |MT?V,08 +-`rReOͪ
-֎ңY>
-m
-}^K|2>gnFӠKrKgm u{Jil.U`P3XT( .p7_lNW+jm[M"j4R'<Nx<
-:"0c@S[%=@^ 䔎U~@#UVfV(@ ^95pƗa_{7Jy =|?jy͏b8QҒ?ҪdP֯g_/j
-5ic3ڥaa]&MBŁ~ݜ NBc6qL32pnH gh;2fޘ߇U539eRzyX$>e5u&bKH9ߋΌu10dS]B(x2ePj g| WaԠg,
-G9b P@R܂lT&n}a$ =ž,f0LU2Xefwވ
-ފn6N|n}I;K
-(8XA(az*=k^%B.R%wfCg˚@Th(Au43=g
-ff|8f@0_sz+h"Cn7Mi\<RB5?lJN|(aD DC2J\Ҕ&zv~RhˋUw8cu=1I鼷,![s(I';s׻6[n94wsZkKk ίyNkzKF1BJ4 y,
-SGőY!<czig"5f'wGj]aഞ ޛIlJSEw96;:`OhSNp><I/l˃,s_Gxk\MC
-HE8R9PQE3 |z
-{'. {FM/jQoXoN_[
-iN{*8<痿
+1060 0 obj
+<< /Filter /FlateDecode /Length 3301 >>
+stream
+x\͒#)S QjoĞӾu$$2={]?I˷ɷ|?6)-P[x/>o͡ƾۿJ|H w)tۿRND`H+хh)w)?oGMJϻ23JK
+l`svI%ݹ(a&#o][IKSphEp5<>0RqxJhMl6]Q`vԍy.k;qb'Q(i"g]wzYU#my'ytnQG1}'٨MPB.51<
+3BbB/2Z͉ Э$wQmjؖ<*efLL(3!Yo%>'BdIJ5ž D&喝GycW9m۴{A`Z'QikX1ŝNs3v2z T3RJXS9}3uG9O_ZmQn_G`dLJy
+Z+q} }./e8
+ht\o3"ظs32>asBVvWI)~+ǫѫi`ָBB5Wel*pگ "pn Dr>7EˁS}r>l^FY hZ-xKӏsb,^3imij4<[*+H"RB m7_g*bN
+4؇-EKMo%g)hfy'FNy23M;2YkԸ
+|ZB*kNC2@
+oZ14=Z5r:(as+ AF
+^X -쯛_2Jv3P<f\ h볧b 5+m׭u[0-vhpFtTGKRϞse)NKL?`53YnUtg!|P KhSf<7sDpqɖ*\EKb%a$Fs1Gq*{UG1
+T#gtұ֪k=A;TH}Қ+|5y:ipB丹Wpf{a|ϦC:c'A<؄zǭ9t e2=zrFfV(9+JG;Fi _!I'R,ԷioK2w>{J挰!0,0bj<گOU
+Val҃rm+u@=ߔioJ̦:qPFNWcvF؞;Xdiv+cHVQEn5%,|؈X5xIB!9ߋN1h8齮wTPSQ-r 2i2(5
+$
+9):d aij e.:Lm5&ؿ0H螏
+0?gB{;3=v;4N.MHl=WIWoa;xMx԰wW"~-牨He4IjUHo<>@TBN^N)on̛D@l~:닚h=~`!^eМе
endstream
endobj
-1050 0 obj
-<< /Type /Page /Contents 1051 0 R /Resources 1049 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 900 0 R /Annots 1053 0 R >>
-endobj
-1053 0 obj
-[ 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R ]
-endobj
-934 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 681.312 280.635 693.267 ]/A << /S /GoTo /D (page.17) >> >>
-endobj
-935 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
+1059 0 obj
+<< /Type /Page /Contents 1060 0 R /Resources 1058 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R /Annots 1062 0 R >>
endobj
-936 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 657.621 174.872 668.799 ]/A << /S /GoTo /D (page.10) >> >>
+1062 0 obj
+[ 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R ]
endobj
937 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 633.491 241.442 645.446 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 693.267 280.635 705.222 ]/A << /S /GoTo /D (page.17) >> >>
endobj
938 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 621.536 242.339 633.491 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 681.531 174.872 692.709 ]/A << /S /GoTo /D (page.10) >> >>
endobj
939 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 610.149 174.872 620.978 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 575.708 237.946 587.663 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 645.446 241.442 657.402 ]/A << /S /GoTo /D (page.63) >> >>
endobj
941 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 564.321 180.102 575.15 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 633.491 242.339 645.446 ]/A << /S /GoTo /D (page.24) >> >>
endobj
942 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 552.366 180.102 563.195 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 622.104 174.872 632.933 ]/A << /S /GoTo /D (page.47) >> >>
endobj
943 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 539.842 174.633 551.798 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 599.618 237.946 611.573 ]/A << /S /GoTo /D (page.3) >> >>
endobj
944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 528.455 122.817 539.285 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 588.231 180.102 599.06 ]/A << /S /GoTo /D (page.47) >> >>
endobj
945 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 516.5 201.96 527.329 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 576.276 180.102 587.105 ]/A << /S /GoTo /D (page.47) >> >>
endobj
946 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 516.5 211.923 527.329 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 563.753 174.633 575.708 ]/A << /S /GoTo /D (page.33) >> >>
endobj
947 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 492.022 202.997 503.977 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 552.366 122.817 563.195 ]/A << /S /GoTo /D (page.4) >> >>
endobj
948 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 480.067 179.694 492.022 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 540.41 201.96 551.24 ]/A << /S /GoTo /D (page.4) >> >>
endobj
949 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 468.111 195.714 480.067 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 540.41 211.923 551.24 ]/A << /S /GoTo /D (page.9) >> >>
endobj
950 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 456.156 232.436 468.111 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 515.932 202.997 527.887 ]/A << /S /GoTo /D (page.23) >> >>
endobj
951 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 422.841 218.369 433.74 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 503.977 179.694 515.932 ]/A << /S /GoTo /D (page.10) >> >>
endobj
952 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 410.328 236.919 422.283 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 492.022 195.714 503.977 ]/A << /S /GoTo /D (page.5) >> >>
endobj
953 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 398.931 156.75 409.77 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 480.067 232.436 492.022 ]/A << /S /GoTo /D (page.42) >> >>
endobj
954 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 386.418 242.568 398.373 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 458.707 218.369 469.606 ]/A << /S /GoTo /D (page.39) >> >>
endobj
955 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 375.031 127.799 385.86 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 446.194 236.919 458.149 ]/A << /S /GoTo /D (page.39) >> >>
endobj
956 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 363.075 159.181 373.905 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 434.796 156.75 445.636 ]/A << /S /GoTo /D (page.39) >> >>
endobj
957 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 351.11 191.38 361.95 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 422.283 242.568 434.239 ]/A << /S /GoTo /D (page.14) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 351.11 207.43 361.95 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 410.896 127.799 421.725 ]/A << /S /GoTo /D (page.28) >> >>
endobj
959 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 339.155 160.157 349.994 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 398.941 159.181 409.77 ]/A << /S /GoTo /D (page.15) >> >>
endobj
960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 339.155 176.207 349.994 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 386.976 191.38 397.815 ]/A << /S /GoTo /D (page.2) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 327.2 173.946 338.039 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 386.976 207.43 397.815 ]/A << /S /GoTo /D (page.23) >> >>
endobj
962 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 327.2 189.995 338.039 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 375.021 160.157 385.86 ]/A << /S /GoTo /D (page.2) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 303.3 204.939 314.129 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 375.021 176.207 385.86 ]/A << /S /GoTo /D (page.23) >> >>
endobj
964 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 291.344 230.603 302.283 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 363.065 173.946 373.905 ]/A << /S /GoTo /D (page.2) >> >>
endobj
965 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 278.821 173.029 290.776 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 363.065 189.995 373.905 ]/A << /S /GoTo /D (page.23) >> >>
endobj
966 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 254.911 245.826 266.866 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 339.165 204.939 349.994 ]/A << /S /GoTo /D (page.21) >> >>
endobj
967 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 254.911 262.095 266.866 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 327.21 230.603 338.149 ]/A << /S /GoTo /D (page.17) >> >>
endobj
968 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 242.956 213.716 254.911 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 314.687 173.029 326.642 ]/A << /S /GoTo /D (page.2) >> >>
endobj
969 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 231.001 208.765 242.956 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 290.776 245.826 302.732 ]/A << /S /GoTo /D (page.17) >> >>
endobj
970 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 219.613 139.614 230.552 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 290.776 262.095 302.732 ]/A << /S /GoTo /D (page.69) >> >>
endobj
971 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 195.583 217.413 206.642 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 278.821 213.716 290.776 ]/A << /S /GoTo /D (page.10) >> >>
endobj
972 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 183.628 192.825 194.687 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 266.866 208.765 278.821 ]/A << /S /GoTo /D (page.36) >> >>
endobj
973 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 171.793 167.37 182.732 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 255.479 139.614 266.418 ]/A << /S /GoTo /D (page.34) >> >>
endobj
974 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 159.828 170.997 170.776 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 231.449 217.413 242.507 ]/A << /S /GoTo /D (page.17) >> >>
endobj
975 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 159.828 187.266 170.776 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 219.494 192.825 230.552 ]/A << /S /GoTo /D (page.42) >> >>
endobj
976 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 159.828 203.535 170.776 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 207.658 167.37 218.597 ]/A << /S /GoTo /D (page.27) >> >>
endobj
977 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 147.872 165.677 158.821 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 195.693 170.997 206.642 ]/A << /S /GoTo /D (page.27) >> >>
endobj
978 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 147.872 181.946 158.821 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 195.693 187.266 206.642 ]/A << /S /GoTo /D (page.46) >> >>
endobj
979 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 147.872 198.215 158.821 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 195.693 203.535 206.642 ]/A << /S /GoTo /D (page.61) >> >>
endobj
980 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 135.917 169.303 146.866 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 183.738 165.677 194.687 ]/A << /S /GoTo /D (page.27) >> >>
endobj
981 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 135.917 185.572 146.866 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 183.738 181.946 194.687 ]/A << /S /GoTo /D (page.46) >> >>
endobj
982 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 123.972 148.72 134.801 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 183.738 198.215 194.687 ]/A << /S /GoTo /D (page.60) >> >>
endobj
983 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 123.972 163.664 134.801 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 183.738 215.021 194.687 ]/A << /S /GoTo /D (page.61) >> >>
endobj
984 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 123.972 179.933 134.801 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 171.783 169.303 182.732 ]/A << /S /GoTo /D (page.27) >> >>
endobj
985 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 111.668 188.411 122.846 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 171.783 185.572 182.732 ]/A << /S /GoTo /D (page.46) >> >>
endobj
986 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 111.668 204.68 122.846 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 159.838 148.72 170.667 ]/A << /S /GoTo /D (page.34) >> >>
endobj
987 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 111.668 219.953 122.846 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 159.838 163.664 170.667 ]/A << /S /GoTo /D (page.39) >> >>
endobj
988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.918 88.107 259.873 99.045 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 159.838 179.933 170.667 ]/A << /S /GoTo /D (page.68) >> >>
endobj
989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.892 76.032 218.847 87.09 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 147.534 188.411 158.712 ]/A << /S /GoTo /D (page.17) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 693.715 395.321 704.774 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 147.534 204.68 158.712 ]/A << /S /GoTo /D (page.67) >> >>
endobj
991 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.498 681.76 501.453 692.819 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 147.534 219.953 158.712 ]/A << /S /GoTo /D (page.69) >> >>
endobj
992 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 404.039 669.576 415.994 680.864 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.918 123.972 259.873 134.911 ]/A << /S /GoTo /D (page.48) >> >>
endobj
993 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 657.85 428.188 668.908 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.892 111.897 218.847 122.956 ]/A << /S /GoTo /D (page.32) >> >>
endobj
994 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 646.014 369.01 656.844 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 99.942 172.073 111.001 ]/A << /S /GoTo /D (page.5) >> >>
endobj
995 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 646.014 385.279 656.844 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.249 87.987 278.205 99.045 ]/A << /S /GoTo /D (page.38) >> >>
endobj
996 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 633.491 396.069 645.446 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.79 75.803 192.745 87.09 ]/A << /S /GoTo /D (page.23) >> >>
endobj
997 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 610.149 386.405 621.088 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 693.715 428.188 704.774 ]/A << /S /GoTo /D (page.14) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 598.194 479.217 609.133 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 681.88 369.01 692.709 ]/A << /S /GoTo /D (page.21) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 586.239 388.656 597.177 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 681.88 385.279 692.709 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 573.715 500.666 585.671 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 669.357 396.069 681.312 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 540.341 353.429 548.968 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 646.014 386.405 656.953 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 526.463 453.852 537.402 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 634.059 479.217 644.998 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1003 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 526.463 470.121 537.402 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 622.104 388.656 633.043 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 513.94 502.3 525.895 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 609.581 500.666 621.536 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1005 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 502.552 383.376 513.382 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 576.206 353.429 584.834 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1006 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 490.029 461.394 501.984 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 562.328 453.852 573.267 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1007 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 478.074 459.003 490.029 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 562.328 470.121 573.267 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1008 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 478.074 475.272 490.029 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 549.805 502.3 561.76 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1009 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 454.732 381.135 465.671 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 538.418 383.376 549.247 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1010 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 442.776 394.734 453.715 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 525.895 461.394 537.85 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1011 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 430.253 422.161 442.209 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 513.94 459.003 525.895 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1012 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 430.253 438.43 442.209 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 513.94 475.272 525.895 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1013 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 418.298 495.703 430.253 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 490.597 381.135 501.536 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1014 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 418.298 513.843 430.253 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 478.642 394.734 489.581 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1015 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 408.615 353.648 417.461 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 466.119 422.161 478.074 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1016 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 394.956 399.466 405.785 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 466.119 438.43 478.074 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1017 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 382.871 398.081 393.83 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 454.164 495.703 466.119 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1018 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 371.045 411.889 381.875 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 454.164 513.843 466.119 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1019 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 371.045 428.158 381.875 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 444.48 353.648 453.327 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1020 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 358.522 473.508 370.478 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 430.821 399.466 441.651 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1021 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 347.135 369.528 357.965 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 418.737 398.081 429.696 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1022 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 347.135 384.472 357.965 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 406.911 411.889 417.74 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1023 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 313.262 352.542 324.092 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 406.911 428.158 417.74 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1024 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 313.262 368.592 324.092 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 394.388 473.508 406.343 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1025 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 313.262 384.861 324.092 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 383.001 369.528 393.83 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1026 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 300.739 506.096 312.694 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 383.001 384.472 393.83 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1027 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 276.829 462.001 288.784 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 361.669 352.542 372.498 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1028 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 264.874 454.779 276.829 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 361.669 368.592 372.498 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1029 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 252.918 401.309 264.874 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 361.669 384.861 372.498 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1030 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 241.521 437.991 252.361 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 349.146 506.096 361.101 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1031 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 229.008 480.881 240.963 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 325.236 462.001 337.191 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1032 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 217.262 361.508 228.45 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 313.28 454.779 325.236 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1033 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 205.666 381.015 216.495 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 301.325 401.309 313.28 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1034 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 205.666 395.959 216.495 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 289.928 437.991 300.767 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1035 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 205.666 412.228 216.495 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 277.415 480.881 289.37 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1036 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 193.143 447.566 205.098 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 265.669 361.508 276.857 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1037 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 181.187 407.805 193.143 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 254.072 381.015 264.902 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1038 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 181.187 424.074 193.143 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 254.072 395.959 264.902 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1039 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 147.314 460.407 159.27 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 254.072 412.228 264.902 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1040 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 135.359 499.411 147.314 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 241.549 447.566 253.505 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1041 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 111.449 426.156 123.404 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 229.594 407.805 241.549 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1042 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 111.449 442.425 123.404 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 229.594 424.074 241.549 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1043 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.059 99.494 472.014 111.449 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 208.263 460.407 220.218 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.109 99.494 488.283 111.449 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 196.307 499.411 208.263 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.784 87.539 494.739 99.494 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 172.397 426.156 184.352 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.389 76.032 405.344 86.981 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 172.397 442.425 184.352 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1052 0 obj
-<< /D [ 1050 0 R /XYZ 78.37 808.885 null ] >>
+1047 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.059 160.442 472.014 172.397 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-357 0 obj
-<< /D [ 1050 0 R /XYZ 79.37 706.717 null ] >>
+1048 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.109 160.442 488.283 172.397 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1049 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F66 388 0 R /F56 384 0 R /F15 381 0 R /F57 385 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.784 148.487 494.739 160.442 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1155 0 obj
-<< /Filter /FlateDecode /Length 3328 >>
-stream
-x\K WXDR/`aٷ ]JURI3`{o)|/Ut@77μۿAkOZR?|_!~o?u˻~,d1.($m#HT,Jy%VH– "cf28aNCa Y~ﱊ%QrEWS
-<P㟋(.T pX8%*<56($)a%BVdm$GN#5<T;T_䅱<s^Zgy~%U7^ypl
-KKcQ:; .b^>Όj"_x7BX+V[2nfI/7>6'iQӚh%"kNǐguTba*Y+M$o8( TΑ\*o⢓k5sz/5՟<ev{[6Q+R6in Oa<ENVc0o U\<ZKk~R;L>d ) ;]Wh[(u^
-A ;G, HRgZǹ|V=["yzDvp
-sYR`
-uM#E1Ȧ'/f-#AL6!
-Kvk?iͧndݠѬ/ݤasuMAc+.U,m-8i;Ұf]imu~vPS͍7]HʷMB('+1B"o.
-<R`$ɕdU bgR +ru //Uot[jj
-$~׏ړ1y~hvp ?熚UrH7R*|*+8Slb!K(/٬5s6;L^s~>SQ`;Q_>2aRf{ZTF\p`މ Z d?yrt AZ}d+Pg>VRa #),⮇p{ձ;홓<G|\iOHnYM@ )_
-j'=1%JHԞܬڼeC{ru®gblv="F=<^n8lp->=$-t7jnS'wSi0n@n=2q,:i>[} ?~~@[g
-endstream
-endobj
-1154 0 obj
-<< /Type /Page /Contents 1155 0 R /Resources 1153 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1157 0 R /Annots 1158 0 R >>
+1050 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.389 136.98 405.344 147.929 ]/A << /S /GoTo /D (page.56) >> >>
endobj
-1158 0 obj
-[ 1047 0 R 1048 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R ]
+1051 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.025 124.576 464.98 136.532 ]/A << /S /GoTo /D (page.36) >> >>
endobj
-1047 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.776 757.574 241.731 769.529 ]/A << /S /GoTo /D (page.36) >> >>
+1052 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 381.384 113.06 393.339 124.128 ]/A << /S /GoTo /D (page.51) >> >>
endobj
-1048 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 746.057 170.09 757.126 ]/A << /S /GoTo /D (page.51) >> >>
+1053 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 101.104 400.014 112.063 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1054 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 734.102 176.765 745.061 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.569 79.334 397.543 91.29 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1055 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.32 699.791 174.294 711.746 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.447 67.947 352.402 78.886 ]/A << /S /GoTo /D (page.26) >> >>
endobj
-1056 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 688.403 129.153 699.342 ]/A << /S /GoTo /D (page.26) >> >>
+1061 0 obj
+<< /D [ 1059 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 676.438 132.78 687.387 ]/A << /S /GoTo /D (page.26) >> >>
+357 0 obj
+<< /D [ 1059 0 R /XYZ 79.37 706.717 null ] >>
endobj
1058 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 676.438 149.049 687.387 ]/A << /S /GoTo /D (page.46) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F56 384 0 R /F15 381 0 R /F57 385 0 R /F55 383 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1059 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 663.925 176.835 675.88 ]/A << /S /GoTo /D (page.40) >> >>
+1178 0 obj
+<< /Filter /FlateDecode /Length 3540 >>
+stream
+xIW& PM }2KUCUUl7/2~eނ,E7Y%Uo?ߥtRZI?@?AJk751a2nIi'SG4bJ=-dT&[Cf\)'X#UC]kPs۳p!bʨg #h7HOF` ~>2J1i8Q
+9;
+)=W\`(s ^êMנ M=)ee8<K L+GC0$ޓS~]oڃz`(S,qoK!<&bq 4<%(z=AMYnG狯%#Џ@JZQE d ̯Dy!%@cdwg\b/%@1jJqDRPVι//􅀃T+p8BQ8 J^\Ĭ[S5#R GU%w~0T䠩҈Juh Y8k~Rb<Pq g|ӌ|EZJbv"dêwU<#lVpFzj)]Y$:&):SQBl6Cd4'Q] $d6eAuܻB UWCϳ >pҕkOHLtfȑक~BYi:Ib3L' ></EBPh`-Yx#q0MƁAv&
+fh5c8{*3o iRx@K#13c+ju@"bOXlyu8UĜ% z.lHU 1lɧ]e9G-2hTO:sm2Jį
+Կ"iй@Sgl2EYζ4t c_$\DI4]"ȿ/vؤeEb1Y!]N
+ )֋Mwc
+n):"0Lo*^ulmݑ0.ZXJU B֓:<(tsh=#!^1qCglvPGn5C:ӸuT;~R[?529Q?-x6?\ 78 'U02lToIp~'PAsGkJuh~ۻ؛C ŏ Ge<8 '#>ȡ*F-a Ry.ar>^t+Q<f WNuz)]x! |PlIx6j<{<6 B˃2^؉Otǽ|y;V4־!M73NQ_4Xd4}(!ͦ9&iYiʞCm*O*QrצsӗWDUW$OD7tVuL5tV`KE~ֵHN[SD:e:9ib'?K|ަ{iPAR?}0Ʌ NT>&
+(t
+eMv ‰g>NFx7?G'ކ ˸y\m"O퍲ӶtN滲Fs~8M\F9?s`[x! Z*Wt69i<o;7m%)YM8ԧÊ|T7Ze#3}!3}Rs_]w)gp'_#iG ә!ݯ''t/Iy Ʃ'x0\a4%`c.ǧ FO㩜d%+:֡xzE/!E&
+!^\IJa"^/V4ԇ'z19#KVX*^ KjѺN_F
+endstream
endobj
-1060 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 651.97 158.135 663.925 ]/A << /S /GoTo /D (page.40) >> >>
+1177 0 obj
+<< /Type /Page /Contents 1178 0 R /Resources 1176 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1181 0 R >>
endobj
-1061 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 640.015 199.838 651.97 ]/A << /S /GoTo /D (page.40) >> >>
+1181 0 obj
+[ 1056 0 R 1057 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R ]
endobj
-1062 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 628.06 182.802 640.015 ]/A << /S /GoTo /D (page.40) >> >>
+1056 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 758.132 132.78 769.081 ]/A << /S /GoTo /D (page.26) >> >>
+endobj
+1057 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 758.132 149.049 769.081 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 594.755 143.49 605.584 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 745.619 176.835 757.574 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 582.799 159.181 593.629 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 733.664 158.135 745.619 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 558.321 189.896 570.276 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 721.708 199.838 733.664 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 546.934 127.799 557.763 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 709.753 182.802 721.708 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 522.904 217.413 533.963 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 688.938 143.49 699.767 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 510.949 172.073 522.007 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 676.982 159.181 687.812 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 498.994 197.975 510.052 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 652.504 189.896 664.459 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 486.59 281.482 498.545 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 641.117 127.799 651.946 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 474.914 133.029 486.032 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 617.087 217.413 628.145 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 451.173 217.413 462.232 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 605.132 172.073 616.19 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 439.218 172.073 450.276 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 593.177 197.975 604.235 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 427.263 197.975 438.321 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 580.773 281.482 592.728 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 415.417 193.442 426.256 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 569.097 133.029 580.215 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 415.417 209.711 426.256 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 545.356 217.413 556.414 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 381.554 134.523 392.383 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 533.401 172.073 544.459 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 381.554 150.573 392.383 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 521.446 197.975 532.504 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 369.589 169.263 380.428 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 509.6 193.442 520.439 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 357.076 230.224 369.031 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 509.6 209.711 520.439 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 345.121 194.678 357.076 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 488.226 134.523 499.056 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 311.248 190.673 323.203 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 488.226 150.573 499.056 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 277.375 225.572 289.33 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 476.261 169.263 487.101 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 265.42 233.014 277.375 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 463.748 230.224 475.703 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 253.464 251.266 265.42 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 451.793 194.678 463.748 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 242.067 127.46 252.906 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 430.409 190.673 442.365 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 242.067 143.729 252.906 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 409.026 225.572 420.981 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 242.067 159.998 252.906 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 397.071 233.014 409.026 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 230.112 131.086 240.951 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 385.115 251.266 397.071 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 230.112 147.355 240.951 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 373.718 127.46 384.557 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 218.167 127.799 228.996 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 373.718 143.729 384.557 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 194.246 254.593 205.086 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 373.718 159.998 384.557 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 182.172 144.327 193.24 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 361.763 131.086 372.602 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 157.823 197.677 169.778 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 361.763 147.355 372.602 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 145.868 230.972 157.823 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 349.818 127.799 360.647 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 133.913 219.355 145.868 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 325.897 254.593 336.737 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 122.396 147.953 133.355 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 313.823 144.327 324.891 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.713 110.002 242.668 121.958 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 289.474 197.677 301.429 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.83 98.047 248.785 110.002 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 277.519 230.972 289.474 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.88 98.047 265.054 110.002 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 265.564 219.355 277.519 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.978 86.092 206.952 98.047 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 254.047 147.953 265.006 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.084 745.619 404.039 757.574 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.561 242.092 192.516 253.051 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.991 733.664 473.947 745.619 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.713 229.698 242.668 241.653 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.478 721.708 469.434 733.664 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.83 217.743 248.785 229.698 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 676.329 440.661 687.387 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.88 217.743 265.054 229.698 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 664.373 395.321 675.432 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.978 205.788 206.952 217.743 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 652.418 421.224 663.477 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.835 172.449 180.79 184.404 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.025 640.015 440.98 651.97 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.743 160.494 250.698 172.449 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 628.279 429.503 639.457 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.229 148.539 246.185 160.494 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 616.672 408.582 627.502 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 115.648 217.413 126.707 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1111 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 616.672 424.851 627.502 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 103.693 172.073 114.752 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1112 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 604.428 408.831 615.547 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 91.738 197.975 102.796 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1113 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 592.762 392.891 603.591 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.776 79.334 217.731 91.29 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1114 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 580.807 375.894 591.636 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.299 67.598 206.254 78.776 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 568.852 351.526 579.681 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 758.142 408.582 768.971 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 556.329 421.653 568.284 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 758.142 424.851 768.971 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 556.329 436.597 568.284 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 745.898 408.831 757.016 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 544.373 479.785 556.329 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 734.232 392.891 745.061 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 532.986 426.395 543.816 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 722.276 375.894 733.106 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 532.986 441.339 543.816 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 710.321 351.526 721.151 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 532.986 457.608 543.816 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 697.798 421.653 709.753 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 520.682 366.739 531.86 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 697.798 436.597 709.753 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 496.553 395.202 508.508 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 685.843 479.785 697.798 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 485.046 368.721 496.104 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 674.456 426.395 685.285 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 450.944 419.043 462.122 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 674.456 441.339 685.285 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 438.769 418.016 450.725 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 674.456 457.608 685.285 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 414.859 432.044 426.814 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 662.152 366.739 673.33 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 390.949 440.303 402.904 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 638.022 395.202 649.977 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 357.076 426.624 369.031 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 626.515 368.721 637.574 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 345.559 388.935 356.518 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 604.368 419.043 615.547 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 333.444 403.351 344.563 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 592.194 418.016 604.149 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 321.649 380.278 332.717 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 568.284 432.044 580.239 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 321.649 396.547 332.717 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 544.373 440.303 556.329 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 287.337 459.899 299.293 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 522.456 426.624 534.411 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 275.382 478.35 287.337 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 510.939 388.935 521.898 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 263.995 366.788 274.824 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 498.824 403.351 509.943 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 252.04 377.558 262.59 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 487.029 380.278 498.097 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1138 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 239.517 500.866 251.472 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 487.029 396.547 498.097 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1139 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 227.562 473.02 239.517 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 464.672 459.899 476.628 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1140 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 203.651 420.925 215.606 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 452.717 478.35 464.672 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1141 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 191.696 513.458 203.651 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 441.33 366.788 452.159 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1142 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 168.344 477.842 179.183 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 429.375 377.558 439.925 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 156.269 374.25 167.228 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 416.852 500.866 428.807 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 131.92 420.925 143.875 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 404.897 473.02 416.852 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.94 119.965 460.896 131.92 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 380.986 420.925 392.941 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 108.578 356.497 119.407 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 369.031 513.458 380.986 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.592 108.578 372.766 119.407 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 345.679 477.842 356.518 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.861 108.578 388.816 119.407 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 333.604 374.25 344.563 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 84.548 395.321 95.606 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 309.255 420.925 321.21 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 72.593 436.916 83.651 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.94 297.3 460.896 309.255 ]/A << /S /GoTo /D (page.36) >> >>
endobj
-1156 0 obj
-<< /D [ 1154 0 R /XYZ 78.37 808.885 null ] >>
+1151 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 285.913 356.497 296.742 ]/A << /S /GoTo /D (page.21) >> >>
+endobj
+1152 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.592 285.913 372.766 296.742 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1153 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F66 388 0 R /F57 385 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.861 285.913 388.816 296.742 ]/A << /S /GoTo /D (page.46) >> >>
endobj
-1230 0 obj
-<< /Filter /FlateDecode /Length 2450 >>
-stream
-x[r, ޟ Pr̭ڻT*�Q?3$gxZH$oG"!׿~
-Ԏ +a1%W:hk \bHZ+_mwo,5t'c2Oё<!i_˲%ľ$2 a6ר^/YO1Lr$8֡㉂b+'-I^a(Bd_<2d{ ἐx)(tk-pBsBxJE :)mڋ]P+=2: )֛a-p499a*ySgs-'Y<mM鮽"CEu͆v [*b:^L\ʎMvc
-75L/= 4]/_31AD֌OVCifi)
-{~.K^c?#)F:&dLQř\k*g_-Ȗ
-b4r95 =J9]޵kuT3XGT7VtVNS6ckø_;^MNgP9v:&O|cI<kN%EH>&T٩z7pcWh~?maT(DlA͍+<a~1[vRx.Rw&J4:^\t=spEu֋QÕU㛮lAcemD\z4<0n0宑E 1p`(IBR,p%/Wml }J밒1ʣ(2RFz=V`O<iu.y9HhV Ie^3~THz|?2ݝ)L U4O*ghEIKd6S 0RI6a˶7h,]hJGTrey'\49)[Ƣ,vMǹ``?bۡRk("J׵ZZ?FMx녯gUuCJp~w/@<
-yOq-@qhlgWm\1ih;tzl\
-!X"c{wvT](Nޜ^.kv7ovuT39r{fOckx1
-^Q$O5 0LSGwycnUL)sl_h㍺k$aIxIr)?r0h+%/X^ mlt* ПK^i>9?cfU/
-endstream
+1154 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 261.883 395.321 272.941 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-1229 0 obj
-<< /Type /Page /Contents 1230 0 R /Resources 1228 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1157 0 R /Annots 1232 0 R >>
+1155 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 249.928 436.916 260.986 ]/A << /S /GoTo /D (page.44) >> >>
endobj
-1232 0 obj
-[ 1151 0 R 1152 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R ]
+1156 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 226.137 428.188 236.966 ]/A << /S /GoTo /D (page.21) >> >>
endobj
-1151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 746.187 204.939 757.016 ]/A << /S /GoTo /D (page.21) >> >>
+1157 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.283 226.137 444.457 236.966 ]/A << /S /GoTo /D (page.66) >> >>
endobj
-1152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.034 746.187 221.208 757.016 ]/A << /S /GoTo /D (page.67) >> >>
+1158 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 214.182 453.852 225.121 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 734.232 230.603 745.17 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 214.182 470.121 225.121 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.698 734.232 246.872 745.17 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 431.765 201.659 443.72 213.614 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.516 721.708 220.471 733.664 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 485.344 189.703 497.299 201.659 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.095 709.753 274.05 721.708 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 177.748 516.902 189.703 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 697.798 293.653 709.753 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 166.012 366.739 177.19 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 686.062 143.49 697.24 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.115 154.406 420.089 165.235 ]/A << /S /GoTo /D (page.9) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.866 674.456 196.84 685.285 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.077 154.406 435.033 165.235 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.828 674.456 211.784 685.285 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.412 141.883 452.368 153.838 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.163 661.933 229.119 673.888 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.462 141.883 468.637 153.838 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.213 661.933 245.388 673.888 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.541 119.965 439.715 131.92 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.292 628.06 216.466 640.015 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 443.81 119.965 455.765 131.92 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.561 628.06 232.516 640.015 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.643 108.01 457.598 119.965 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.394 616.104 234.349 628.06 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.364 96.613 377.319 107.452 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 604.707 154.07 615.547 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.473 84.099 465.429 96.055 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.224 592.194 242.18 604.149 ]/A << /S /GoTo /D (page.32) >> >>
-endobj
-1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.044 580.239 260.999 592.194 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 472.293 72.144 484.248 84.099 ]/A << /S /GoTo /D (page.32) >> >>
endobj
-1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 568.284 266.06 580.239 ]/A << /S /GoTo /D (page.32) >> >>
+1179 0 obj
+<< /D [ 1177 0 R /XYZ 78.37 808.885 null ] >>
endobj
1176 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 544.373 217.054 556.329 ]/A << /S /GoTo /D (page.45) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F55 383 0 R /F56 384 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1177 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 532.418 168.865 544.373 ]/A << /S /GoTo /D (page.45) >> >>
+1235 0 obj
+<< /Filter /FlateDecode /Length 1925 >>
+stream
+xڵZ͎6 SVI6MVڞץ,ɶhEv2CĎ'GE_|x|Ut7 wߵv5ݵ5"ss^FD|=]Bʫg&zθ)Ydx?׏>bkN9X|Is(_sڋ~\Zf-IRLRokOUC?z$˓gKᚣ_#+0BHW`XY9 ((gb>.1жJmP3T+GYVA7XrV,o6<CHK+mM^sESɡv ;̐3;L@jUx c^d^lWr;5k{^kPթ2+x>aZgSuޖZIo׬X?F@sh]ϡwb\ $yiUHRj+HP?A҇GM1kU{a 2D52**u5᪀F9 Fw u:Sw)J)ZR53%7Lr\9
+H(Z; d7FnM3
+=J9M'zAy $bBfPn4^Z0"k!`牨28HiEN@B  Z;AU,l sX:=͔VD%29]?#fHt$fC jm' 3aqwbw/rMFv>V]2P+ŭb.No[6ݬvɭT4CdKQ<5@ZS7]j>. N)"8Z+m ;0K7!(PaÍ'c2q̤uHj^#)cbװx&e5b+#zx1 wYa 1E`Ɣb*$=Sdq|JH|xޯǔxtLK]δVo6?vi,*,AZ:Fl_->0Ȣk*=%Y *mA’WJ>ze'yR49))=5|?j!#.8QJ?oLc z֟4l(E}&o7 /jWQ[C9te9W٬Ħ3x8#^ ּş!k<ڡAUwTM+꦳|PrT~JJ(8($ T9š)ugpb0RΣ#kg|yw1~'>8DN9k6 /،Fevp)͂#/<pϹNc6RN\S| +M<`>*${5<]1o[zXط4izN`'%Ы <GZy!YbH?
+iʔ(V7WaBt>Fڵ]Eu`;\( [j<#*ǗIzehQDxВԘ"`u41"Ba*]'lAO$meuxgyif3>do
+endstream
endobj
-1178 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 520.463 206.882 532.418 ]/A << /S /GoTo /D (page.37) >> >>
+1234 0 obj
+<< /Type /Page /Contents 1235 0 R /Resources 1233 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1237 0 R >>
endobj
-1179 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 508.508 231.3 520.463 ]/A << /S /GoTo /D (page.47) >> >>
+1237 0 obj
+[ 1174 0 R 1175 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R ]
endobj
-1180 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 496.553 282.11 508.508 ]/A << /S /GoTo /D (page.47) >> >>
+1174 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 757.574 266.06 769.529 ]/A << /S /GoTo /D (page.32) >> >>
endobj
-1181 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 485.166 157.946 495.995 ]/A << /S /GoTo /D (page.10) >> >>
+1175 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 733.664 217.054 745.619 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 472.642 203.943 484.598 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 721.708 168.865 733.664 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 472.642 220.212 484.598 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 709.753 206.882 721.708 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 460.687 293.653 472.642 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 697.798 231.3 709.753 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 436.777 218.548 448.732 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 685.843 282.11 697.798 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 436.777 234.598 448.732 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 674.456 157.946 685.285 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 436.777 250.867 448.732 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 661.933 203.943 673.888 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 436.777 267.136 448.732 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 661.933 220.212 673.888 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 412.867 218.548 424.822 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 649.977 293.653 661.933 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 379.562 159.181 390.391 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 626.067 218.548 638.022 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 379.562 175.45 390.391 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 626.067 234.598 638.022 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 367.606 164.411 378.436 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 626.067 250.867 638.022 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 355.083 255.221 367.038 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 626.067 267.136 638.022 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 343.128 175.38 355.083 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 602.157 218.548 614.112 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 331.173 180.232 343.128 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 580.807 159.181 591.636 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 319.218 199.809 331.173 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 580.807 175.45 591.636 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 307.263 241.662 319.218 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 568.852 164.411 579.681 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 283.801 172.073 294.859 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 556.329 255.221 568.284 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 283.801 188.342 294.859 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 544.373 175.38 556.329 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 271.845 230.573 282.904 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 532.418 180.232 544.373 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 271.845 246.842 282.904 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 520.463 199.809 532.418 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1202 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 259.89 204.939 270.949 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 508.508 241.662 520.463 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1203 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 247.487 244.8 259.442 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 485.046 172.073 496.104 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1204 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 235.532 213.427 247.487 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 485.046 188.342 496.104 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1205 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 235.532 229.696 247.487 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 473.091 230.573 484.149 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1206 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 189.703 217.054 201.659 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 473.091 246.842 484.149 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1207 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 155.831 228.64 167.786 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 461.136 204.939 472.194 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1208 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 155.831 244.69 167.786 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 448.732 244.8 460.687 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1209 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 143.875 198.105 155.831 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 436.777 213.427 448.732 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 131.92 177.393 143.875 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 436.777 229.696 448.732 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 131.92 193.442 143.875 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 402.904 217.054 414.859 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 120.533 180.102 131.362 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 380.986 228.64 392.941 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 108.578 180.102 119.407 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 380.986 244.69 392.941 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 96.623 127.799 107.452 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 369.031 198.105 380.986 ]/A << /S /GoTo /D (page.8) >> >>
endobj
1215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 84.667 143.49 95.497 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 357.076 177.393 369.031 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 758.022 440.661 769.081 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 357.076 193.442 369.031 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 746.067 395.321 757.126 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 345.689 180.102 356.518 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 734.112 421.224 745.17 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 333.733 180.102 344.563 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 722.276 406.709 733.106 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 321.778 127.799 332.608 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 676.329 436.916 687.387 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 309.823 143.49 320.652 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.937 664.373 413.892 675.432 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 285.793 217.413 296.852 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.458 652.538 429.414 663.427 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 273.838 172.073 284.897 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.402 652.538 444.358 663.427 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 261.883 197.975 272.941 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.673 618.097 401.628 630.052 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.505 250.047 183.46 260.877 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.219 606.142 421.175 618.097 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.711 216.055 213.667 227.113 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1226 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.831 594.187 436.786 606.142 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.688 204.099 190.643 215.158 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1227 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 560.314 516.902 572.269 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.21 192.264 206.165 203.153 ]/A << /S /GoTo /D (page.23) >> >>
+endobj
+1228 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.153 192.264 221.109 203.153 ]/A << /S /GoTo /D (page.26) >> >>
+endobj
+1229 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.424 169.778 178.379 181.733 ]/A << /S /GoTo /D (page.24) >> >>
+endobj
+1230 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.97 157.823 197.926 169.778 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1231 0 obj
-<< /D [ 1229 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.582 145.868 213.537 157.823 ]/A << /S /GoTo /D (page.36) >> >>
endobj
-1228 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F66 388 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+1232 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 123.95 293.653 135.905 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1282 0 obj
-<< /Filter /FlateDecode /Length 2029 >>
-stream
-x\Ko6W,K _"]zέ=_7)w؎%of̓ӿxUICR0$| `\LM}NK9]Qr0?j*P-X~FQu|p5wg<y~MC_:
-15ĹݭG ?9Hp9lДW\q|L+3s|2OhgՎޕAl ԁ( D
-D֙I9r'M!H𔑬,0$Sidz'TU5@*x7Taz <CxoN^1.LZ7qW;jFzw -Ի
-PΨ
-HBJɴYڠ+Ab}MW${N !B8s H{[.
-TJV1H}DBt=^'(iwy6ْT95^`2'zÂ=ހ[}[yB/4䂠P(s:6-W/އAtQw\3+V~ڱy;B]6oZRչ<мEU%cMV1'-[߁g
-O3|*PDR51J(<+gs24
- [$1&p3S[Pѹ
-)m@١́\{(;eps(]ب%{vqI)t3^ucNJ}nVU&"3Z>lL-Ŕ0^ZW_sWC
-quO1IBeʒhK5&{by]Ѵo@fL{HIUS(8hMmE)EoF(> HLEДQNN] f )H7S.لCJ(8Sv5
-}sOn9H_yfN 0mJTE/S1jgV湉Ge
-@{N J1SSa J> ͙j\jn鿶οW
-p
-)C ݊ E"@V2]G*67o{z&{U[GS&wxiAcvOOiPT_PBR0'YS.H2q
-_`Hw]lvXZfMoqҡ1ƔX Q=1@;}pWKޮvαŏ8dB2®a6a[b^ק `vlfc<~cİGFkb8geGR3XcWp?j ZhLY2a"0뭳<o"$g"
-?B,/#
+1236 0 obj
+<< /D [ 1234 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1233 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1287 0 obj
+<< /Filter /FlateDecode /Length 2031 >>
+stream
+x\n6+aə `q+mWm&%Q|^k؎%33<?鷋A I'qЖ>h%}K9_Pr0?`U3,Z-q%<[~FQ_:>y4&!B?^\Vw#uV6[Lh+q׬D8>)>L'j
+˘?,1yHݑyP`/Y]奄A']~ b^T IzHt9U(D*4EDR@cHux_Ki/U+ ~>_JU!4IH)6KTtQ\=H캯j}, ZC=kgioZ}RJ8(NKw3ΰ!Of;[_JG} L[y@aX;+p o=^f\
+%4cN'&Ҡ96;.nkfʏ6oGU|=@:;c=d*仆pa0LiT}Pc]<F Gzz` 1'U``87(|<9!qkHD;YwoݘYR G+{ë8j!G-} 0'yxΤ ӷ4Fznxa w]LK%~n#4 
+cvIcLj:ŧmus"SHS5 ს-OraM|!eta.I=0%<xM/ֽ3v9A(NLD-g4}ؘ[ )a 殆R)\l`$2LeI%=hZYU^ Lg3#Ť)6"#rȠ)^3|`P
+/<8ǵ
+@ά]py=?[1M\P+:l bqq#dھxU3$ ˜$zƚPg);ތޏaq5P\+)-7+a;賊|]Xv ?XݴӯnUmMKRhdP(S]
+J94i?M
+.?mA)R7Aؚn|z@L23IHVĮgM,.#)R*$"=|wnR$cmk7B[ISnc2hFP
endstream
endobj
-1281 0 obj
-<< /Type /Page /Contents 1282 0 R /Resources 1280 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1157 0 R /Annots 1284 0 R >>
+1286 0 obj
+<< /Type /Page /Contents 1287 0 R /Resources 1285 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1289 0 R >>
endobj
-1284 0 obj
-[ 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R ]
+1289 0 obj
+[ 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R ]
endobj
-1233 0 obj
+1238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 736.093 264.366 747.062 ]/A << /S /GoTo /D (section.1) >> >>
endobj
-1234 0 obj
+1239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 714.245 277.846 725.085 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-1235 0 obj
+1240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 692.268 267.116 703.227 ]/A << /S /GoTo /D (section.3) >> >>
endobj
-1236 0 obj
+1241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 672.283 149.647 681.249 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-1237 0 obj
+1242 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 660.168 180.132 669.403 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-1238 0 obj
+1243 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 648.213 234.558 657.339 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-1239 0 obj
+1244 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 636.258 218.807 645.383 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-1240 0 obj
+1245 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 624.303 217.393 633.428 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
-1241 0 obj
+1246 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 610.634 327.31 621.583 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-1242 0 obj
+1247 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.679 315.684 609.628 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-1243 0 obj
+1248 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 578.584 142.752 587.6 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-1244 0 obj
+1249 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 566.519 336.317 575.755 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
-1245 0 obj
+1250 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 554.564 226.588 563.69 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
-1246 0 obj
+1251 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 540.337 240.865 552.293 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-1247 0 obj
+1252 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 530.654 298.369 539.889 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
-1248 0 obj
+1253 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 518.699 283.684 527.934 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
-1249 0 obj
+1254 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 504.92 264.835 515.869 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
-1250 0 obj
+1255 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 492.965 342.155 503.914 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
-1251 0 obj
+1256 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 480.562 239.868 492.517 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-1252 0 obj
+1257 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 468.606 254.992 480.562 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
-1253 0 obj
+1258 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 458.923 289.512 468.158 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-1254 0 obj
+1259 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 435.222 364.342 446.19 ]/A << /S /GoTo /D (section.6) >> >>
endobj
-1255 0 obj
+1260 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 425.05 188.929 434.285 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-1256 0 obj
+1261 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 410.823 314.728 422.778 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-1257 0 obj
+1262 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 401.139 301.985 410.375 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-1258 0 obj
+1263 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 387.471 243.744 398.31 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
-1259 0 obj
+1264 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 364.995 223.729 376.95 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-1260 0 obj
+1265 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 345.458 224.894 354.534 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-1261 0 obj
+1266 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 333.393 172.481 342.519 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-1262 0 obj
+1267 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 321.438 191.938 330.564 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-1263 0 obj
+1268 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 309.483 245.109 318.718 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-1264 0 obj
+1269 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 287.675 251.545 296.691 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-1265 0 obj
+1270 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 265.757 234.987 274.773 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-1266 0 obj
+1271 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 251.869 225.731 262.928 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
-1267 0 obj
+1272 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 239.466 302.264 251.421 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
-1268 0 obj
+1273 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 227.949 379.495 238.908 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
-1269 0 obj
+1274 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 217.827 253.158 227.062 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
-1270 0 obj
+1275 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 205.872 270.653 215.107 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-1271 0 obj
+1276 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 193.916 257.064 203.042 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
-1272 0 obj
+1277 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 170.285 329.741 181.184 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-1273 0 obj
+1278 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 147.809 176.964 159.765 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-1274 0 obj
+1279 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 135.854 293.756 147.809 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-1275 0 obj
+1280 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 123.899 427.634 135.854 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-1276 0 obj
+1281 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 111.944 407.37 123.899 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
-1277 0 obj
+1282 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 99.989 340.411 111.944 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
-1278 0 obj
+1283 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 78.629 269.836 89.498 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-1283 0 obj
-<< /D [ 1281 0 R /XYZ 78.37 808.885 null ] >>
+1288 0 obj
+<< /D [ 1286 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1280 0 obj
+1285 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F66 388 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1329 0 obj
+1334 0 obj
<< /Filter /FlateDecode /Length 1890 >>
stream
x\n8+aU\@9\gNaqi;vw`X,{*Y<,X{ArvA TzҪ4 }Ϟ
@@ -5578,169 +5503,169 @@ E??.`~p~vPk1lȼ.ZLJαnlb*9u75X
K]Ȗ~sS,hs[$(% ${Q%IS9 tIv\V @*j?YyaF5ukNK\x x]D
endstream
endobj
-1328 0 obj
-<< /Type /Page /Contents 1329 0 R /Resources 1327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1157 0 R /Annots 1331 0 R >>
+1333 0 obj
+<< /Type /Page /Contents 1334 0 R /Resources 1332 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1336 0 R >>
endobj
-1331 0 obj
-[ 1279 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R ]
+1336 0 obj
+[ 1284 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R ]
endobj
-1279 0 obj
+1284 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.132 214.633 769.081 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-1285 0 obj
+1290 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 747.89 185.582 757.126 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
-1286 0 obj
+1291 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 735.935 214.673 745.17 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
-1287 0 obj
+1292 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 723.98 277.328 733.215 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
-1288 0 obj
+1293 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 709.753 306.887 721.708 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
-1289 0 obj
+1294 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 690.217 168.157 699.293 ]/A << /S /GoTo /D (section.14) >> >>
endobj
-1290 0 obj
+1295 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 233.542 687.278 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-1291 0 obj
+1296 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 247.559 675.88 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
-1292 0 obj
+1297 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 652.418 280.008 663.477 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
-1293 0 obj
+1298 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 640.015 288.655 651.97 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
-1294 0 obj
+1299 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 628.06 222.075 640.015 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-1295 0 obj
+1300 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 616.662 199.42 627.502 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
-1296 0 obj
+1301 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 604.598 248.008 615.656 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-1297 0 obj
+1302 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 592.633 215.191 603.591 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
-1298 0 obj
+1303 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.51 223.549 591.746 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
-1299 0 obj
+1304 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 568.284 309.507 580.239 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-1300 0 obj
+1305 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 556.329 288.795 568.284 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
-1301 0 obj
+1306 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 536.792 238.264 545.868 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-1302 0 obj
+1307 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 522.894 353.213 533.963 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
-1303 0 obj
+1308 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 510.939 249.173 522.007 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
-1304 0 obj
+1309 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 500.817 270.015 510.052 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-1305 0 obj
+1310 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 487.029 297.462 497.987 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
-1306 0 obj
+1311 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 475.193 344.018 486.142 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-1307 0 obj
+1312 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 462.68 363.963 474.635 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-1308 0 obj
+1313 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 441.32 210.289 452.219 ]/A << /S /GoTo /D (section.16) >> >>
endobj
-1309 0 obj
+1314 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 421.225 186.289 430.241 ]/A << /S /GoTo /D (section.17) >> >>
endobj
-1310 0 obj
+1315 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 407.327 186.558 418.286 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-1311 0 obj
+1316 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 395.382 194.419 406.331 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-1312 0 obj
+1317 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 383.427 262.354 394.376 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
-1313 0 obj
+1318 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 371.581 198.045 382.421 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
-1314 0 obj
+1319 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 349.664 143.32 360.503 ]/A << /S /GoTo /D (section.18) >> >>
endobj
-1315 0 obj
+1320 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.151 349.268 349.106 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-1316 0 obj
+1321 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 327.467 207.749 336.593 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
-1317 0 obj
+1322 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 315.512 217.492 324.637 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-1318 0 obj
+1323 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 303.557 178.249 312.682 ]/A << /S /GoTo /D (subsection.18.4) >> >>
endobj
-1319 0 obj
+1324 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 289.768 298.688 300.727 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-1320 0 obj
+1325 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 279.646 181.099 288.772 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
-1321 0 obj
+1326 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.691 204.192 276.926 ]/A << /S /GoTo /D (subsection.18.7) >> >>
endobj
-1322 0 obj
+1327 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 253.903 272.227 264.971 ]/A << /S /GoTo /D (subsection.18.8) >> >>
endobj
-1323 0 obj
+1328 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 241.509 324.451 253.464 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-1324 0 obj
+1329 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 229.992 214.145 241.17 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-1325 0 obj
+1330 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 208.134 132.929 218.954 ]/A << /S /GoTo /D (section.19) >> >>
endobj
-1326 0 obj
+1331 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 188.099 108.74 197.116 ]/A << /S /GoTo /D (section*.2) >> >>
endobj
-1330 0 obj
-<< /D [ 1328 0 R /XYZ 78.37 808.885 null ] >>
+1335 0 obj
+<< /D [ 1333 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1327 0 obj
+1332 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
endobj
2 0 obj
-<< /pgfpat5 822 0 R /pgfpat4 823 0 R /pgfpat10 826 0 R>>
+<< /pgfpat5 825 0 R /pgfpat4 826 0 R /pgfpat10 829 0 R>>
endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1332 0 obj
+1337 0 obj
[489.6 ]
endobj
-1333 0 obj
+1338 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1335 0 obj
+1340 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1336 0 obj
+1341 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5753,10 +5678,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1334 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1336 0 R /CIDSet 1335 0 R >>
+1339 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1341 0 R /CIDSet 1340 0 R >>
endobj
-1337 0 obj
+1342 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5766,23 +5691,23 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
rndfA~
endstream
endobj
-820 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1338 0 R ] /ToUnicode 1337 0 R >>
+823 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1343 0 R ] /ToUnicode 1342 0 R >>
endobj
-1338 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1334 0 R /W 1333 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1343 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1339 0 R /W 1338 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1339 0 obj
+1344 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1341 0 obj
+1346 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1342 0 obj
+1347 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5797,10 +5722,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1340 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1342 0 R /CIDSet 1341 0 R >>
+1345 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1347 0 R /CIDSet 1346 0 R >>
endobj
-1343 0 obj
+1348 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5808,31 +5733,28 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
rhah⸁CS-f_&[ QJg`jFo[UTq{ ,r}
endstream
endobj
-792 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1344 0 R ] /ToUnicode 1343 0 R >>
-endobj
-1344 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1340 0 R /W 1339 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+793 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1349 0 R ] /ToUnicode 1348 0 R >>
endobj
-1345 0 obj
-[531.3 ]
+1349 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1345 0 R /W 1344 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1346 0 obj
+1350 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
endobj
-1347 0 obj
+1351 0 obj
[1083.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1361.1 ]
endobj
-1348 0 obj
+1352 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] 47 [ 603 ] ]
endobj
-1350 0 obj
+1354 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-1351 0 obj
+1355 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 900 >>
stream
xڵSoL[U]<t}dmbhAf P(d+}mx{v –@2q5,C~G>D_Yh9sﹹ990AkO4_7 N:
@@ -5847,10 +5769,10 @@ WZVRV
1mb7aKuO[&,ڗ:E["aS4c &8dxgxV6-:'T(Ed|<>a)Z9?'Uؚ
endstream
endobj
-1349 0 obj
-<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1351 0 R /CIDSet 1350 0 R >>
+1353 0 obj
+<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1355 0 R /CIDSet 1354 0 R >>
endobj
-1352 0 obj
+1356 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\DiVychr4НeL
@@ -5858,25 +5780,25 @@ x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\
endstream
endobj
693 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1353 0 R ] /ToUnicode 1352 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1357 0 R ] /ToUnicode 1356 0 R >>
endobj
-1353 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1349 0 R /W 1348 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1357 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1353 0 R /W 1352 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1354 0 obj
+1358 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1138.9 0 585.3 ]
endobj
-1355 0 obj
+1359 0 obj
[ 47 [ 525 ] 50 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 77 [ 525 ] 81 [ 525 ] 98 [ 525 ] 102 [ 525 ] 105 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1357 0 obj
+1361 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`

endstream
endobj
-1358 0 obj
+1362 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1486 >>
stream
xmU{LG%ʉr9ݚj!A⣩Qx==#Z-w CSV5$֤Uk5ZlS5SuV&Mdv3oeǢ1Ǔ
@@ -5895,10 +5817,10 @@ sƭw¸Om-åu^
T;,;T(w ;h 4
endstream
endobj
-1356 0 obj
-<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1358 0 R /CIDSet 1357 0 R >>
+1360 0 obj
+<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1362 0 R /CIDSet 1361 0 R >>
endobj
-1359 0 obj
+1363 0 obj
<< /Filter /FlateDecode /Length 420 >>
stream
x}Ok0@zp-;mڔ`$bhRe4
@@ -5907,22 +5829,22 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
aa>>׸1iCU<o3޶g
endstream
endobj
-625 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1360 0 R ] /ToUnicode 1359 0 R >>
+626 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1364 0 R ] /ToUnicode 1363 0 R >>
endobj
-1360 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1356 0 R /W 1355 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1364 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1360 0 R /W 1359 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1361 0 obj
+1365 0 obj
[ 47 [ 590 ] 81 [ 531 ] 98 [ 419 ] 105 [ 413 ] 116 [ 561 ] ]
endobj
-1363 0 obj
+1367 0 obj
<< /Filter /FlateDecode /Length 19 >>
stream
xc`
endstream
endobj
-1364 0 obj
+1368 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1167 >>
stream
x}TmLe^-+]lqShq ls RPG6Zz#"/\{/0a8`
@@ -5937,10 +5859,10 @@ _eR}&:q5d ub cly}xϱ3L7_kNGWg?v
#h}^
endstream
endobj
-1362 0 obj
-<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1364 0 R /CIDSet 1363 0 R >>
+1366 0 obj
+<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1368 0 R /CIDSet 1367 0 R >>
endobj
-1365 0 obj
+1369 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xڍR]k0}ϯ{6tN鄎ĖkM.&%MKR0Џ{9'<l>V :+IT.P "GVlb .e,Yr,Y^slY^$ցn=o4XT$Ϥ;<yZSar6X
@@ -5950,24 +5872,24 @@ s˭1=Ct8VePgdnWJNñ~
endstream
endobj
599 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1366 0 R ] /ToUnicode 1365 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1370 0 R ] /ToUnicode 1369 0 R >>
endobj
-1366 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1362 0 R /W 1361 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1370 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1366 0 R /W 1365 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1367 0 obj
+1371 0 obj
[361.7 429.7 0 0 0 644.7 ]
endobj
-1368 0 obj
+1372 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 525 ] 66 [ 525 ] 72 [ 525 ] 74 [ 525 525 525 525 ] 81 [ 525 ] 84 [ 525 ] 88 [ 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1370 0 obj
+1374 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``Td\ǣaK
endstream
endobj
-1371 0 obj
+1375 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2668 >>
stream
xڍWyX
@@ -5983,10 +5905,10 @@ pDc;
|~b~_Pr6'=:?gбƲ՜ٚ3ܖRj&v>zfC3x22#n"U )wM9=ěm<BA1FB7x[\ݞ@{a7L 
endstream
endobj
-1369 0 obj
-<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1371 0 R /CIDSet 1370 0 R >>
+1373 0 obj
+<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1375 0 R /CIDSet 1374 0 R >>
endobj
-1372 0 obj
+1376 0 obj
<< /Filter /FlateDecode /Length 484 >>
stream
xڍn0<)=P !VRCBIj ld_cZi6R|?{?3yqOz9|_ul؂^)?w%2ϋM!pŅh .%?_~/,J !pJԤP-!$Tϥx"=T?
@@ -5995,24 +5917,24 @@ s}IHiC--"%R 9僥Z6H.)Gz;}[ Ɛ!)R$2A/)
endstream
endobj
469 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1373 0 R ] /ToUnicode 1372 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1377 0 R ] /ToUnicode 1376 0 R >>
endobj
-1373 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1369 0 R /W 1368 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1377 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1373 0 R /W 1372 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1374 0 obj
+1378 0 obj
[734 ]
endobj
-1375 0 obj
+1379 0 obj
[ 28 [ 549 ] 35 [ 494 ] 40 [ 329 329 ] 43 [ 494 ] 45 [ 329 ] 47 [ 549 ] 50 [ 494 ] 55 [ 329 ] 59 [ 494 ] 63 [ 549 ] 66 [ 329 ] 70 [ 494 ] 72 [ 274 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 439 439 ] 88 [ 329 ] 96 [ 453 ] 98 [ 439 ] 104 [ 768 357 ] 109 [ 576 ] 112 [ 494 ] 114 [ 713 ] 116 [ 495 ] 118 [ 521 ] 502 [ 329 ] ]
endobj
-1377 0 obj
+1381 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``(4ůaU &
endstream
endobj
-1378 0 obj
+1382 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3534 >>
stream
xڭX tW-Y.!,!GISU
@@ -6032,38 +5954,38 @@ Mn >
.H^ڊ)jz!-,J28 w`9 `di>h8ߐ`ju<߉t]!_
endstream
endobj
-1376 0 obj
-<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1378 0 R /CIDSet 1377 0 R >>
+1380 0 obj
+<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1382 0 R /CIDSet 1381 0 R >>
endobj
-1379 0 obj
+1383 0 obj
<< /Filter /FlateDecode /Length 508 >>
stream
x}Mo0=8!PH )ڥJk6q$kuZb)(Ox͑#g7Nٗ7lqI /Dh[׈ lɷ+qJ;\OSM Ec_?M]>7AE5\6FfĂGι䦩M{7sl}Nv4 d#/j='|չ:5jfj~fRg6/Qm{!#q/˘άRfwp>C[K,@h$m)+ՙjGJ~sDO@0΃$Ilt"Γ 3A!ha)^-h 9hk)܀vE!(䲤 %(AKe E. EВ<[YJ9(jԋQ!DBdI80R)SJAKS. zO2hI%Z giߏ%׮f٠J=hD^&zy/-
endstream
endobj
415 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1380 0 R ] /ToUnicode 1379 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1384 0 R ] /ToUnicode 1383 0 R >>
endobj
-1380 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1376 0 R /W 1375 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1384 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1380 0 R /W 1379 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1381 0 obj
+1385 0 obj
[1123 ]
endobj
-1382 0 obj
+1386 0 obj
[777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 388.9 388.9 ]
endobj
-1383 0 obj
+1387 0 obj
[ 28 [ 525 ] 43 [ 489 ] 50 [ 511 ] 64 [ 367 ] 66 [ 256 ] 75 [ 867 ] 77 [ 561 ] 82 [ 550 ] 96 [ 372 ] 105 [ 404 550 550 ] 116 [ 500 ] ]
endobj
-1385 0 obj
+1389 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`X P

endstream
endobj
-1386 0 obj
+1390 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1716 >>
stream
xڍU pEUM,@+v70 X6e -ǀqL!`VK>eKeZ?K1`[4@
@@ -6075,10 +5997,10 @@ NIcO>ܷuecM·:tZ"K 4Hp'L4)v(*(8G:z<9
3##g< AjSS
endstream
endobj
-1384 0 obj
-<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1386 0 R /CIDSet 1385 0 R >>
+1388 0 obj
+<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1390 0 R /CIDSet 1389 0 R >>
endobj
-1387 0 obj
+1391 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M&+#u(Qj{ ֈ;.UUw̅^:nZN?k^>eۄG %k8 ImאrZ.MkY<xUZ!!l|^ 
@@ -6087,21 +6009,21 @@ x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M
endstream
endobj
403 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1388 0 R ] /ToUnicode 1387 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1392 0 R ] /ToUnicode 1391 0 R >>
endobj
-1388 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1384 0 R /W 1383 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1392 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1388 0 R /W 1387 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1389 0 obj
+1393 0 obj
[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 884 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 ] 72 [ 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 499 [ 551 551 ] ]
endobj
-1391 0 obj
+1395 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``6.j߿7?` H
endstream
endobj
-1392 0 obj
+1396 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6685 >>
stream
xڝy \DH&"F%13}G[oj.bQ\pȾC ,a$ Y(JZDmmݵ.Zm }~;3gP@ pt[|ĕnkC¦5yAx^;#{F<ۇlxe{[Kn&?6R8h
@@ -6129,10 +6051,10 @@ cKL; uOn[-9s'X`*OIJ8T& ?EvĿ}Tl㋉kW
ecc#RUL6ڳ4b)Y#r>qF9WfK']]s,5dmv&v(!:zOk:om؄Py|89 ԧ<icWa0d~5uKX|bz:kt1qQi3FC֞=`jc!^Ka=a.DcuEa!Mni?=ֽ+<c?f8EQZߩ;hJy"ؾT._b3ہ_c>7Woܶo;^PTk(ʳ:^?Dfy
endstream
endobj
-1390 0 obj
-<< /Type /FontDescriptor /FontName /XMUJJS+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1392 0 R /CIDSet 1391 0 R >>
+1394 0 obj
+<< /Type /FontDescriptor /FontName /XMUJJS+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1396 0 R /CIDSet 1395 0 R >>
endobj
-1393 0 obj
+1397 0 obj
<< /Filter /FlateDecode /Length 638 >>
stream
x}[o0+H!%7mJTK[k  ( }&B[3 :0}Vյ)t8u0,zѦ{ZiGTNwl8_/֦l}>;aý ?7^_wͶ&NYuValslݍ1_nڲ2/,~4j^]`DبW|,jH$;8A0U_\Inv6*hkmܼ`(ݔĆwڌݵکaQ00-h6r_+-}WofbJ 椃5 Mm?GM
@@ -6142,22 +6064,22 @@ tDk~)NL $K)UK)K'-$" I'I:%8!%"Eq$:+t?;
endstream
endobj
402 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMUJJS+LMRoman12-Bold /DescendantFonts [ 1394 0 R ] /ToUnicode 1393 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMUJJS+LMRoman12-Bold /DescendantFonts [ 1398 0 R ] /ToUnicode 1397 0 R >>
endobj
-1394 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMUJJS+LMRoman12-Bold /FontDescriptor 1390 0 R /W 1389 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1398 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMUJJS+LMRoman12-Bold /FontDescriptor 1394 0 R /W 1393 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1395 0 obj
+1399 0 obj
[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 531 ] ]
endobj
-1397 0 obj
+1401 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``&
G
endstream
endobj
-1398 0 obj
+1402 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6748 >>
stream
xڍZ \֟2c֕ZmuA;;kI a/7D@BEp +j5ֺE}O[w^}߄u{;{8p&޶cnr|ܭ0Zf*3 f2L0`Cs֞'sƷ_˛Bsqh4Ӷϰ^c!Fpd)+.cׯ]0i<"V,prz}sed_<Z,KϓϓlGW%e_iOXD nD)
@@ -6186,10 +6108,10 @@ R3@KڱLp`sZ7 V?::ؤxQ>B`{B/5_f f-[lǰ9EJ4}k=
endstream
endobj
-1396 0 obj
-<< /Type /FontDescriptor /FontName /FURTAI+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1398 0 R /CIDSet 1397 0 R >>
+1400 0 obj
+<< /Type /FontDescriptor /FontName /FURTAI+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1402 0 R /CIDSet 1401 0 R >>
endobj
-1399 0 obj
+1403 0 obj
<< /Filter /FlateDecode /Length 678 >>
stream
x}Oo0C%zH1qbBP$+M  ( ڞVVj_7367?lXٮ>g/&hQu̖eUn^v]de/~6e奮xeö/ڔm>EiۮG1R?<WŬ>z{]4D1ޕURQ"2Ig~t9qYh<C׹4F÷mYDe}jr&Q؝;=Z1ޗ[-?B*ٜ+#v6h"1^IdumjR{FO )$,&%:P"ASu)4P6e I@4ݣk MOAAQ'=3Ru EG4 =(8J<(ڀS==ixOF)H"2M2e$!:S$VВAg
@@ -6197,21 +6119,21 @@ R4gx! w4E65F TkVܭF<A2$hB4؁ 2$h.
endstream
endobj
393 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FURTAI+LMMono8-Regular /DescendantFonts [ 1400 0 R ] /ToUnicode 1399 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FURTAI+LMMono8-Regular /DescendantFonts [ 1404 0 R ] /ToUnicode 1403 0 R >>
endobj
-1400 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FURTAI+LMMono8-Regular /FontDescriptor 1396 0 R /W 1395 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1404 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FURTAI+LMMono8-Regular /FontDescriptor 1400 0 R /W 1399 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1401 0 obj
+1405 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 47 [ 549 ] 50 [ 472 ] 63 [ 549 354 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 88 [ 295 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 109 [ 549 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 118 [ 490 ] ]
endobj
-1403 0 obj
+1407 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T`\4ţa*
endstream
endobj
-1404 0 obj
+1408 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1825 >>
stream
xmU}TWC23,--% ~`AFH &"H5`˩,JY+ǮG .Zp`Y{T{a nOߙy3{w$" fY|u.!huD3,Fg+Nf%%'ů$M2Z|ӏt9! &Ltmo
@@ -6223,10 +6145,10 @@ C(ŢhJ@kmDP*2(ّKDY|=K׉D yx^^$Zɇ=f0C
`=d(#p
endstream
endobj
-1402 0 obj
-<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1404 0 R /CIDSet 1403 0 R >>
+1406 0 obj
+<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1408 0 R /CIDSet 1407 0 R >>
endobj
-1405 0 obj
+1409 0 obj
<< /Filter /FlateDecode /Length 466 >>
stream
x}Mo0
@@ -6236,21 +6158,21 @@ x}Mo0
endstream
endobj
392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1406 0 R ] /ToUnicode 1405 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1410 0 R ] /ToUnicode 1409 0 R >>
endobj
-1406 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1402 0 R /W 1401 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1410 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1406 0 R /W 1405 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1407 0 obj
+1411 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 70 [ 561 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 649 472 531 620 885 ] 125 [ 590 590 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-1409 0 obj
+1413 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``0-z߿@
endstream
endobj
-1410 0 obj
+1414 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7359 >>
stream
xڝz\,;d-3:*DcƊ"-,
@@ -6285,10 +6207,10 @@ sL4y_a0
nt``6Doz}Nexi4ff:uQ:+[d Cgr
endstream
endobj
-1408 0 obj
-<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1410 0 R /CIDSet 1409 0 R >>
+1412 0 obj
+<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1414 0 R /CIDSet 1413 0 R >>
endobj
-1411 0 obj
+1415 0 obj
<< /Filter /FlateDecode /Length 667 >>
stream
x}M0=dɧ + HBbh$DI8kJW>xl;+tgmdW\׬qϕT, h|+{6\ӵ*'V\kԿX{Æ;Ý}~}UFϧu=jW'@gكYf.ۮ =KU,ʜsFdFWCTވ;~2߼ҥ2Zjg:e#b{[ȶTG6|c9I<'IX!zk]ld.l_fwi$ ,BvM6SGLuMW'q*j
@@ -6297,22 +6219,22 @@ TIckAD/3z+ޕH47䯌_`>"P
endstream
endobj
391 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1412 0 R ] /ToUnicode 1411 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1416 0 R ] /ToUnicode 1415 0 R >>
endobj
-1412 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1408 0 R /W 1407 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1416 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1412 0 R /W 1411 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1413 0 obj
+1417 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] 187 [ 611 ] ]
endobj
-1415 0 obj
+1419 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc`
<  
endstream
endobj
-1416 0 obj
+1420 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1865 >>
stream
xuU{PSW!fe!{[ԶXV >@;ZWK0H^i7፼b@"mEeTݺjwhٵ:ǙDwٙ;~X` &BR$ǿqS
@@ -6329,31 +6251,31 @@ n@ 6]xɊLRLZy`%g!PᇓG HtHm_V6s98wW~
;;=?z=s+Z]]l-%OJ"< #* N6;,a;펆 X^hu
endstream
endobj
-1414 0 obj
-<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1416 0 R /CIDSet 1415 0 R >>
+1418 0 obj
+<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1420 0 R /CIDSet 1419 0 R >>
endobj
-1417 0 obj
+1421 0 obj
<< /Filter /FlateDecode /Length 413 >>
stream
x}]K0+M/Qps:]x%g3&%m/=IVQ xzޓyKKhxahTl0x0Pψe_mQ` !ת"qűث~[|u6*$;6k#U*a6;H9cTn .!}lv8KRJgOQQT85-V6AL3'k+*} #i
endstream
endobj
390 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1418 0 R ] /ToUnicode 1417 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1422 0 R ] /ToUnicode 1421 0 R >>
endobj
-1418 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1414 0 R /W 1413 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1422 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1418 0 R /W 1417 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1419 0 obj
+1423 0 obj
[ 47 [ 624 ] 55 [ 536 ] 59 [ 641 ] 77 [ 613 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] ]
endobj
-1421 0 obj
+1425 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
endstream
endobj
-1422 0 obj
+1426 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1466 >>
stream
x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4mmtVl>қ7/9;("#(&|e֔ur1Sk2)\d K%$)$"B*Q%h8G%SbIC*YRU͎4U#Q$!ȯљ(?2YS/) Ώ%* -*c֨s5: zz.k Rff+m53.X<OC+7VhK)Cݴb:O_ JfK-ӻiikJҊsabȜٗA~Aj^Nk4J ]rh?f>˕k +ul!c
@@ -6365,10 +6287,10 @@ x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4m
:vS0<OQ:ڈvo=(I/,:̌ jt#"8kXhmdk0$s iOirxPH]GZ}>
endstream
endobj
-1420 0 obj
-<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1422 0 R /CIDSet 1421 0 R >>
+1424 0 obj
+<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1426 0 R /CIDSet 1425 0 R >>
endobj
-1423 0 obj
+1427 0 obj
<< /Filter /FlateDecode /Length 403 >>
stream
xڍ]k0+.)̯0?PټlR|X1d>=9y󦍧6xAMa4`HshL2#Z-М$Deĉdc[4Ɠw];m|,6*K$͋ 6xΩm݉lZ#Gp?QB!tڔRa&Dev !qs8}N\J2m^D 4+E•樅<AQ#Vy~Fk
@@ -6376,86 +6298,79 @@ xڍ]k0+.)̯0?PټlR|X1d>=9y󦍧6xAMa4`HshL
endstream
endobj
389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1424 0 R ] /ToUnicode 1423 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1428 0 R ] /ToUnicode 1427 0 R >>
endobj
-1424 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1420 0 R /W 1419 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1428 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1424 0 R /W 1423 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1425 0 obj
-[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 869 607 869 607 703 511 575 ] 125 [ 639 ] 284 [ 575 ] 502 [ 319 ] ]
+1429 0 obj
+[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 ] 116 [ 607 ] 118 [ 607 703 511 575 ] 284 [ 575 ] 502 [ 319 ] ]
endobj
-1427 0 obj
+1431 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xc``0/y߿wa 8
+xc``0/y߿w_` 8
endstream
endobj
-1428 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6804 >>
-stream
-xڅY XW&hPZEU.*((D 䄰oo :VRkkVhmm]Zkk{Զr/sN&~QVVL&s\9wׂe.Z?tG
-25zzzzI͢ܩٔ5KͣS "j1ZJ-S+*ʋ(j@R *BP[mTNEPTMPTO%P2'r(IyCfEl~ijUt0}F1Bͼ4XWؿslπ^Mm9 ۯfwY籓']O 5Рaa_VVp:mtpgoӃD#Jd=;CȅJKHg:IKz+n{
-"bUV1HCCOVZ.65 +qHJi[>pi!
-B;/ö^mTչ/Lm2q57u87V `ɗbGg5ϺoE>GEV>(\wDzml>L)9fm{@(0NHy+M_灪5՝_i|\ozÔn~ `J9sݢ<v2XxXLAB8 "; G5*V"9SA CG{ =ho|.
-zLiEYyi5aZ^8p~=vpF+" >3d1{6ၞt'5N&0eQ|2.K(咷kFCA tRNNRWRZX)\шQv\$]'┕(cU:x 7cz)}z}m 0[-ěޘY/VT>=k }ly.c !C ӶK[<?J_Yv&;28, {=l.vEv}lY9Ky
-ϛl4&:W+xv,7W0CFl ۸'xSeħaقU NY3o@m((}g#'iǃ{='Ĺ-kTbYʪu/m_1w0Fэxn+oޤ|&Jr1)3MeQd6Aa+x5Ӷfu/x蝉0uZu'adž8l`ॣd} 4rCBIu2E(G#ac$}ҳ( qx"4R+-p[1;o<
-`ix` * Ag+ja~xEw\J%a-GZ~]첐aa8.@{WZ6*SGXxS Ai6cg~g!AFs hMRɎޒK5ڽCgT
-,x1|u_~&eUx P^_݆~*FxMz{~Xեso0}A9e2eǯ_Ccב`\kDdHpa(.4c3H|q CC99sy TZjfIFHiw0H.%(;7)Lcܽ?Ïz3`o[/ ] NGxC}_|&->^_@>8)4@dJ%Uo2{ 8s\}a΀vie~ܬU)`qH]83+/?vmf3- wvG%N]IӜ{5FܖҚ8\j# dҫ}vX_{ߢ˰7cj<̦H>m8iDX)JxH JMEIȴRQcx'EhCiίN
-*揵_;xg<x#^+yx."+AŻaا&{^Խ{os{Ȼ@n;P,P:%P$6$y|y>(j6GṡrCSJZy.Tyro~Ҿ%{&p>Ș!jZUYsx&<q}N]$FO*VeTYP__VQ㐉hK<{&%tatm4
-$pÂp? zt(hOqۿ.N`*~^8W407
-_󱾚{M2 Y<yZn epFCyO":)Ac3|
-⇂
-Ǎ"QDZw_IX'7'5q !I1'f 'א+J8wFBb:<ghPF8]4HS1Cg5(=
-"-SiƱ|#+!ј j$}@uqE\e,$L-#XMOa`dӜNlW(k|"\Me@1WO
-r
-f>/c?B[<d$.#9HþX^fЗ :!F􎔂h֫Hc0r8b(.{fS
-RnʯϘjqgLh/g88V-0]a}*d`0kEEx'950Y̽0KDs͙ۄ"ê{"_r“'߄|Y0b_/8[jg_- &wMg2 g(a+ #q$N7፠/B$.={Ƭx||[ o}̿q,wᓰڅַfSG g-trLrU!_qacuxۇ0ʩS,x`EgU7ٹ=Z
-F+֩,AҊ?H$U2ը BGP,](=e8+`4CQ7Ll{u@wŇV3RN{:l@8f D:A7p
-f1OJ-p$qhM=Un?Q&DݤR[Mk[&-fXMPסL#<W/HF'bdPAÎT%%|Gj{=aq|1\)l]6C,x#Hs[kdr~n1[UӔ)1aPq?30+0rLJyyb<S@cOV5^x2|R:5ܓ-M;!cD-h5N~%Bl1o{~&z2ְsƽz3C}bNѯ#C&^ڑ<@\ &qoL!(4x[h`>]ߗ
-X+U[Ϝ av;زŒݕ =7YͰWkJsKu` CU
-,!~]%p>!L/_ʭǣ{/c>* 髸Z]#f0}#K#*p΄ Tk,v|:zwR]j]gቕƗPv ^@xDjy~ffn$]_=CZmSH5ٷ^l]qA{֛r?ZCWdIFcS;K∠6< !++Vdg;]Q̈])|IFJ~jb[n&]ų2: T5$cR VHrTP%SDYBl!__`¹(8+:+T EBL|lBl5sx=S*fa|Ū
-fUv
-FqzcR['9˝%WIR].xu(0wm;["{_;^̼B  0Fc`7cv8fRC_=
-1??|jmYm0
- om|a8,N<zT
-IӷTf# 3~ݯ1p]3+ w͇0!/j z!`ӠI4&
-]s!NÈVHq>xRϖ5Ih..tkmXv~k (n^婢ySb@EMmj>v¿4)mh-ln>7pS%0l4|tFq3Ls?ff_ de%B|dznTr3Ҭ؎?D#Na7П}i0|/ӳ1o$3z򘩫;O[If_\]?`l{zc{8QVsZsuFS
-l
-|96tdQ1*
-LU]{u3*Zdeoү!f@Qi{r)w19_!x='kgWUP#
-<zWv駜2cfiXfe*%bqھl-٬gϑ> f NKP:?Ӹ]>TA:eÿWPH~}tXfюW*w
-cfvN ^A+wa"
-ζ#QV-K_;o2 XG*ɑ.)ɽAn"}zKvMw NPeB<7u7spM&!>;!2Å ~ؑV5N[
-iT*l<.Y$yȥ <vLx(7Mt^aff*%r9䙏r[q(pS/Ej>US*xNay-RZ-DyśW=\Q7@b:3LH("B[W&o6/CH=~;>;Wt;[!mB#^U GVg@a̕&0Ma>PNCUƎ>QQr
+1432 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6445 >>
+stream
+xڅYXڞuT@dXYV[)*b]E@A@ދ4=қ EPV(#j1&Xn7Fc4UMhLr0 s|QL&sX+OX2toT'~故Zxi8%I|?IKJ~ʢ7X8b=dh9s,!Q/ ӏQG}OI
+Ϳ)..3懆GFLl>v^%84628H^2EtzYh,9}:tz::?"R9azu`P:64"XM>#FC#QkVV/ R{mW;9Ց7F8o%{"lӂwvX<}*)QqQꭡj?(ߠSn_ONFSc$ʉB9SSit5ju Mj5rQn|jZD-ޡ<2j9ZIVSk'MPfʏRT
+S;P*
+"(*xpٯr"FeA6l~ibEt}^1R d-+Odl׀Nk*z giQ;l/~=8g#v*[k?>r򰃳é!vC"\8L9,OeUqC\0A"8ҦXY_ĉ .m
+JBwŧ KhHEÂȠiTSriV\Ďd=#]oB)@Mt6ôCwn?PDv'/3Z3OXmvOn\}@\.l(>i+1op~*b6Ď#5<yWT:{dNrṥ(P0섑@\>f
+Q`Q X|8
+XUśof|g 4@>FSw?Vٸt"](}K؇?S lZE| }*ʦ0I&Xq(؃-سa#T0X!<t1=0Hd++WZty_ `{ Zos~ iw 6[ 6XCyzCf)k|]Y%'jc3 ܝd?褼jJ鹮28InyO>* ;SQǪtl̑=u\'_#,>\qFCV-`nHX+Qa|jVVzx9}b颽 9}|B6 4 ^. jk{`T~+E@eY2ڙ{o䰀`\YlJvu|bVL-Vl5^83n2Le`X .0[&_έe
+Oò%kc-32u ծ]{~o\DA_ 8yyJ ax"(UWzH&q% /8=qN{Ypʋ|!Jr1%Dz 2KQ °i[.oܨx$d&aú̂sA`}8:&is!5$:R-"vģQ0Sqb> }JѡRO3E>iR}&&+Q2!)~6R]F;x7LfK${PfBVfb1feðQ}M7֟L[]3XD :UAi6Ñꃖ %C vsj=p'j]%P U?
+,5{-o~VT(OPŒ A!<xN, 8U~սWNXy֭:[x1>q8f# f VL"=wfz #=\7Ȑ bjO0 _Fp^5V9?k?!$#-z
++fpsV TA%#m1hgMivNA>v{aHs{ޔXסzgOdҺez4im(]Pȥ62@H( RxSbZX-4klo6# y>\+QM4{] ǭk qdP_͜xisf絯U`Qup7ܯo<6h[FK'\*#C|^&퇑M`a)
+#TK=H# -^I]76Vճ7WmnB3Ũr6;un1*3[H`!]ջh wu(gO^ZEv̪`̙[WňIbeVfVjQPQYMht=6]9v ]-$
+5v:g@vC1sy\l$J>?Dtѫ1J.#*
+ ȋ"~l&~(
+bncus;@wp\ Pl=_*csl߅plf~,=Qvvvt"Zk sLRhW N/_#2w'Q˶xUu=SgnX7 v~d⢹/}s[uf`XZ+u]NNφ
+sh0ms| ӷcߙ/sEv?E<nW8mџrG
+ VaW"_mIA_Ϧ\|@vxP~?p'Ww#~Pz5}cٯjKA=ңhI(a; p-ƣ!c=J|nܣpYv)=eGʿqwB;9s}tLrQ 2ö֗O`틕30YԗɊC#ܑ#5BuZQG 2)0pLRujSµY(=_9g b5U3 BoH= ușgoAtj_JQB_7ޙu?pg@
+>1׋*"c/H_Q A?.W⸴]:m&ʪHx
+Sq?,瓒LHWPqp^\<=Oa׭3z̃M}f8?!6=?|!z2FkdDMv$S*NX|uuO%X8G']% Wq7=FG#X5{gʎ&9Ź W裗vwp~U.`Q\_%>pB!52,$ ;^Z&Y([Ӹ}z(hV;\y\NP` 锘NG15AmJm:s?{9(C]]Z~7ݵbIFOWuнP:"Ujb,$Շ{6/=O i^=ʍ"QF0;;7|mI/`!9$qv 'M3%p?7rkbQu[TIk\>`|ig}fBq~|ix`n-UaU B{`kdKS';\Q)|Yf&J~i϶lgu tp)T5f)Y#$`tg(ܜd!&G_UdQ|ZT}ZZmW|Up0[m9 [r?܏.x^ΰhhQ1nQЮ,qmh;N2B"d*Ax[UhPɀ3/֝6ϱ'E
+a;TAmmu |?gܷ
+X?ʁsP xxs\V'6{U0x{:,p|Xei\٢J,NLN{:3#Ul:tO/ z>-AҐo#"FW@c~H0S3d@݆1[؉i"o.pQwTtSFE排+ªXЈ0@dIv`|O, ]."vUF?n:
+>=v Ns`bufN x#XޕHy&nνG⁳yӧ)X}kw-G ;w!3YYL.}.lEh/϶RGDOԠ(,PcM޾aS JUSƏ_pFDyaxBcu$[fh]Q")ĶSZAq
+#F[;-xR]s{͉SI9|]ck׵uB})(+Vϰ<7#L=^P3חl5C(l`Yuffv&3xQw2+dKƗK|eO~^r3zlb;7UkOݟV[]lƦ4e ==w<ôB|#ܠ(e.Sލ8H#jo2
+oh/Iϕb*ti^N i,tR.$]d"BYT6%`Kl,4ЧEaY^+:rE"
+KѩZ.Ed0if$;FBY-4u#= ǩp"d@z6$HB Z.);U57v
+gTч%WqޕBV4uЅB IPi`Vrȓ>R~5De}utnn]z{2}jVGP;m6U+%;[GVxh4s .ZYyGJ9F+.uL
endstream
endobj
-1426 0 obj
-<< /Type /FontDescriptor /FontName /UFTXJR+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1428 0 R /CIDSet 1427 0 R >>
+1430 0 obj
+<< /Type /FontDescriptor /FontName /TUDCQI+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1432 0 R /CIDSet 1431 0 R >>
endobj
-1429 0 obj
-<< /Filter /FlateDecode /Length 649 >>
+1433 0 obj
+<< /Filter /FlateDecode /Length 635 >>
stream
-x}[o0+ڇbVKXm/v46l$p$<R ;smta잳s[x\4Ͳ.'ccC{dom]nMnVK^xfȺ47~xv3&OMx<:~ͮ.i [1mW%sǓՋkc񾲺%[oyrM򋷗7dFEVv{ա؞hƣiw޼'FvѪ\׊ݥ1, lYk5EiL4q S6Y42Vs](C[~d6<O$(MKAbDy
->3O NS TjHIS tINH+"  uE p~ZBO$NSg퉞e )"r =E5)rMD=C_5tIEs
-)"輢}J$Ԙ$a:~
+x}[o0F+HCs]*UB^վBlHDIx߯oJ+8s<NfcOuu0qƴյ)L<`mtm_GS[ӱze׶8_'̩_){ؙbcTMx<:~ͮ.i [2M[V%Osyugk!ao|,nHrLEG$x{k;sYclqkn174=9g2׺>ox40mncכŰ?ZhwkVN [Tڴ0ޞL4v 6^Id'αp}oFmyLIP"2Ĉ@b"3aOIR9hLP &@.P={IdJB&32iDSȓ̨r3,@9'<)rgNDdFȌ/A$u
+OI w+m*"gHST3!Q]S Q]^KpZIܦ"B2=˨:z&HL5)&"k)&./
+
+}Q[{WVD &Ky&xO{_i?>Gqm7<
+3OҚ WW_>a4*
endstream
endobj
388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UFTXJR+LMRoman10-Bold /DescendantFonts [ 1430 0 R ] /ToUnicode 1429 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TUDCQI+LMRoman10-Bold /DescendantFonts [ 1434 0 R ] /ToUnicode 1433 0 R >>
endobj
-1430 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UFTXJR+LMRoman10-Bold /FontDescriptor 1426 0 R /W 1425 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1434 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TUDCQI+LMRoman10-Bold /FontDescriptor 1430 0 R /W 1429 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1431 0 obj
+1435 0 obj
[ 28 [ 500 ] 35 [ 556 ] 43 [ 444 ] 45 [ 278 ] 47 [ 556 ] 50 [ 444 ] 52 [ 778 ] 55 [ 306 ] 59 [ 500 ] 62 [ 750 556 333 ] 66 [ 278 ] 70 [ 528 625 278 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 ] 84 [ 556 ] 88 [ 278 ] 96 [ 392 ] 98 [ 394 ] 104 [ 722 389 ] 109 [ 556 ] 112 [ 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 125 [ 556 ] 502 [ 278 ] ]
endobj
-1433 0 obj
+1437 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``^<ţa], $&
endstream
endobj
-1434 0 obj
+1438 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4091 >>
stream
xڝX tSպ>i9!@)c\ [CE
@@ -6481,10 +6396,10 @@ O
QYp*Wcxc] ZV ;eS@UDEZL3v<W}!Grs9A,Q[]2M &S<-Mw+7Zklrp7-^
endstream
endobj
-1432 0 obj
-<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1434 0 R /CIDSet 1433 0 R >>
+1436 0 obj
+<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1438 0 R /CIDSet 1437 0 R >>
endobj
-1435 0 obj
+1439 0 obj
<< /Filter /FlateDecode /Length 523 >>
stream
xڍK0Ydp;#
@@ -6492,21 +6407,21 @@ ZPaL2,!}r@,1)z%E/P.i</gg/0x´ ?C:ml
endstream
endobj
387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1436 0 R ] /ToUnicode 1435 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1440 0 R ] /ToUnicode 1439 0 R >>
endobj
-1436 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1432 0 R /W 1431 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1440 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1436 0 R /W 1435 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1437 0 obj
+1441 0 obj
[ 28 [ 569 ] 45 [ 323 ] 50 [ 508 569 ] 55 [ 354 569 569 ] 59 [ 569 ] 66 [ 323 ] 75 [ 939 ] 78 [ 569 ] 81 [ 569 569 ] 98 [ 453 ] 100 [ 569 569 ] 105 [ 446 569 569 ] 121 [ 569 ] ]
endobj
-1439 0 obj
+1443 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc````1 S
endstream
endobj
-1440 0 obj
+1444 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2828 >>
stream
x}V TWUD,u̯rI4D-pEmiYT~#ڀ 4Ђ Qh"hqьFLΜ3Lk{^IggB"Xor_+u
@@ -6521,10 +6436,10 @@ B]/NnG"ZΜ[,T[=h pԣj]]
6/T&{TgeeYwgٲlYl[vNuVE
endstream
endobj
-1438 0 obj
-<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1440 0 R /CIDSet 1439 0 R >>
+1442 0 obj
+<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1444 0 R /CIDSet 1443 0 R >>
endobj
-1441 0 obj
+1445 0 obj
<< /Filter /FlateDecode /Length 457 >>
stream
x}Ao0
@@ -6533,21 +6448,21 @@ x}Ao0
endstream
endobj
386 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1442 0 R ] /ToUnicode 1441 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1446 0 R ] /ToUnicode 1445 0 R >>
endobj
-1442 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1438 0 R /W 1437 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1446 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1442 0 R /W 1441 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1443 0 obj
+1447 0 obj
[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 ] 47 [ 511 ] 49 [ 678 460 511 ] 54 [ 653 307 511 511 ] 59 [ 460 ] 63 [ 511 ] 66 [ 307 ] 70 [ 460 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 ] 84 [ 511 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 284 [ 511 ] ]
endobj
-1445 0 obj
+1449 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``0-/͗U 
endstream
endobj
-1446 0 obj
+1450 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5882 >>
stream
xڭY |SUN7UW ʎ**KeeҦiK6iI6mӦ{ӅntŲ㼧tnrCq\~<޼7{NL&=;֭?;,^E‹ I)L,?w"_9cTϓرbO1L# SQG,Փׂg-F)71&Ɯ|7_p6 s2xI"ŋ<_O1xօ ;Ӳ<476!9&%ݗp+L&er%2Yi|.7#!%!&3!+'dpE M㾚&q  ̄nH$\hH0-#iQ"}N梔2[j} osoBQOR2δԘui ["(A?Ɠ1g,`,b,a,e,c,g`dbaXxňf0bF283RBFCĐ0rO"ЏrLd2aLX42m|b !6`'L)˂'Ẑ!<2GN]8eZ?Ow
@@ -6570,10 +6485,10 @@ qVv5ԪTB:u[B2B:~J:m>5T V0cKSL:"ͬҎI `jrrjZ
He7zx~ ]`UzVxuattx_#YAg)Ơ>]i|Oy`ib eʼlu_ʢ0x3SfY:-rTjzU3Fpf
endstream
endobj
-1444 0 obj
-<< /Type /FontDescriptor /FontName /RMABVB+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1446 0 R /CIDSet 1445 0 R >>
+1448 0 obj
+<< /Type /FontDescriptor /FontName /RMABVB+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1450 0 R /CIDSet 1449 0 R >>
endobj
-1447 0 obj
+1451 0 obj
<< /Filter /FlateDecode /Length 557 >>
stream
x}K@5 ^<L aJ3ۘ:S I\離M7 uε*{#ѣ;k[|o4Zŵ"ݿ)RC{m]ve`\ YNZй)v藿{/>]]:/eK[u(0Qq'*\Oj/"xRZ-: AԪeh{A(TYL̪lTmf31ٙ`׷7RF6ͅ!,N[^X[eeí!: uM^P3y3Ƽ2+.Qu<M5P;om`aIF4GfB]´r.AbGQ)(D 'P" \ %ty3=
@@ -6582,21 +6497,21 @@ x}K@5 ^<L aJ3ۘ:S I\離M7 uε*{#ѣ;k[|o
endstream
endobj
385 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMABVB+LMRoman10-Italic /DescendantFonts [ 1448 0 R ] /ToUnicode 1447 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMABVB+LMRoman10-Italic /DescendantFonts [ 1452 0 R ] /ToUnicode 1451 0 R >>
endobj
-1448 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMABVB+LMRoman10-Italic /FontDescriptor 1444 0 R /W 1443 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1452 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMABVB+LMRoman10-Italic /FontDescriptor 1448 0 R /W 1447 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1449 0 obj
+1453 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 252 [ 525 ] 494 [ 525 ] ]
endobj
-1451 0 obj
+1455 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc``_P>
endstream
endobj
-1452 0 obj
+1456 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7988 >>
stream
xڵzw\D *(;{l+vQ+
@@ -6626,10 +6541,10 @@ Sa{Sr 'Yl:+W'CWy7nsv!g*ǚ 9EЪ5o?ȭ+4 пBٔ
U+qz
endstream
endobj
-1450 0 obj
-<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1452 0 R /CIDSet 1451 0 R >>
+1454 0 obj
+<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1456 0 R /CIDSet 1455 0 R >>
endobj
-1453 0 obj
+1457 0 obj
<< /Filter /FlateDecode /Length 736 >>
stream
x}]k0+B{F,)!24e6̐v.'뜴0ZDtUo/]nxu]}js&ɹ^uq櫪oUNG/)>/Yc:۟6Soe?QQŨtmWսHnEU`E#K]Y-!x(G_͹qUh2#s9Fmڲڋ/29SܐGh:}G'Feϼ' ufv[]4ES1Yiqw@?8 忷P2Kf i(5E
@@ -6637,21 +6552,21 @@ x}]k0+B{F,)!24e6̐v.'뜴0ZDtUo/]nxu]}js
endstream
endobj
384 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1454 0 R ] /ToUnicode 1453 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1458 0 R ] /ToUnicode 1457 0 R >>
endobj
-1454 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1450 0 R /W 1449 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1458 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1454 0 R /W 1453 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1455 0 obj
+1459 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 57 [ 500 ] 59 [ 500 ] 63 [ 517 333 278 239 ] 68 [ 267 ] 70 [ 489 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 500 ] 84 [ 517 ] 96 [ 342 ] 98 [ 383 ] 101 [ 500 ] 105 [ 361 500 500 ] 109 [ 517 ] 111 [ 667 461 ] 114 [ 683 ] 116 [ 461 ] 118 [ 461 ] 120 [ 435 ] 125 [ 536 536 ] ]
endobj
-1457 0 obj
+1461 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``T |5%aI6
endstream
endobj
-1458 0 obj
+1462 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2827 >>
stream
xuV TW1 h@%&RFgjk
@@ -6669,10 +6584,10 @@ m׫&IcT щqRm4T!MKUR:mZr껎u4CHNNUJӒbU:>A% iҥ5
ʊKJm)
endstream
endobj
-1456 0 obj
-<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1458 0 R /CIDSet 1457 0 R >>
+1460 0 obj
+<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1462 0 R /CIDSet 1461 0 R >>
endobj
-1459 0 obj
+1463 0 obj
<< /Filter /FlateDecode /Length 527 >>
stream
x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5YE <HuoDdm؇ ul+Uuw&yYR*uK}pK?—_?/¯Bt8 r{j[uGDf(senZ=sn,득 F^%Ke;+<b&>˓\ڎN+锍Lũ FZԁ ?hr69xeLޔ6'b#;Jh]>vf{iŎ#.kImS u`jL.+ Hɿv{I&>T.-iYP 4vĠ HRУg*<8sG9?|Oc3(@s%>AP&DL'M1FLhI|h,T' .?mzM,nO ~{6\<kmV]v+Eכԍ=
@@ -6680,18 +6595,18 @@ x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5Y
endstream
endobj
383 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1460 0 R ] /ToUnicode 1459 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1464 0 R ] /ToUnicode 1463 0 R >>
endobj
-1460 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1456 0 R /W 1455 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1464 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1460 0 R /W 1459 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1461 0 obj
+1465 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 500 500 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 277.8 0 0 0 0 0 444.4 0 0 0 0 0 277.8 0 0 0 0 555.6 500 0 0 0 394.4 ]
endobj
-1462 0 obj
+1466 0 obj
[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 ] 91 [ 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 199 [ 778 ] 234 [ 375 ] 251 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 400 [ 778 ] 499 [ 472 472 ] 502 [ 278 ] ]
endobj
-1464 0 obj
+1468 0 obj
<< /Filter /FlateDecode /Length 46 >>
stream
xc``߿
@@ -6699,7 +6614,7 @@ xc``߿
endstream
endobj
-1465 0 obj
+1469 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8638 >>
stream
xڵz\W qΘ[4v^*eB]zYXڂ1%1`4%11gpf%~X~=
@@ -6740,10 +6655,10 @@ hYek]foWPn 0(Vx0"n#i޻q"i ܘLC-c??a/vz~
Γ] aptFj
endstream
endobj
-1463 0 obj
-<< /Type /FontDescriptor /FontName /DFWWWD+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1465 0 R /CIDSet 1464 0 R >>
+1467 0 obj
+<< /Type /FontDescriptor /FontName /DFWWWD+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1469 0 R /CIDSet 1468 0 R >>
endobj
-1466 0 obj
+1470 0 obj
<< /Filter /FlateDecode /Length 757 >>
stream
xڅKo0EvAñK  iPMDߏshԪ_{}u5V$x3ؕf=&o41ΣGڵ6[˦eSn9u#nAߟ]Dlۢ.vf
@@ -6754,39 +6669,39 @@ xڅKo0EvAñK  iPMDߏshԪ_{}u5V$x3ؕf
endstream
endobj
381 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DFWWWD+LMRoman10-Regular /DescendantFonts [ 1467 0 R ] /ToUnicode 1466 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DFWWWD+LMRoman10-Regular /DescendantFonts [ 1471 0 R ] /ToUnicode 1470 0 R >>
endobj
-1467 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DFWWWD+LMRoman10-Regular /FontDescriptor 1463 0 R /W 1462 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1471 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DFWWWD+LMRoman10-Regular /FontDescriptor 1467 0 R /W 1466 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1468 0 obj
+1472 0 obj
[446.4 446.4 0 877 0 0 0 0 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-1469 0 obj
+1473 0 obj
[500 0 0 0 0 0 0 0 0 0 0 0 277.8 277.8 0 0 0 0 0 750 758.5 714.7 827.9 0 0 0 0 439.6 0 0 680.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 528.6 429.2 432.8 520.5 465.6 489.6 0 576.2 344.5 411.8 520.6 298.4 878 600.2 0 503.1 0 451.2 0 0 572.5 0 0 571.5 490.3 465 ]
endobj
-1470 0 obj
+1474 0 obj
[955.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533.6 588.2 0 0 0 880.8 ]
endobj
-1471 0 obj
+1475 0 obj
[1027.8 0 0 0 0 0 680.6 680.6 680.6 680.6 ]
endobj
-1472 0 obj
+1476 0 obj
[339.3 0 0 0 585.3 0 0 0 819.4 0 0 0 0 0 0 0 0 783.7 0 0 0 0 0 0 0 674.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542 0 0 0 404.2 472.7 607.3 0 0 706.2 0 588.9 523.6 0 0 0 0 0 0 647.8 ]
endobj
-1473 0 obj
+1477 0 obj
[333.3 0 0 0 0 0 736.1 736.1 527.8 527.8 0 0 0 0 750 750 0 0 0 0 791.7 791.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 0 0 888.9 666.7 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555.6 0 0 0 0 0 0 0 0 0 0 0 0 0 472.2 472.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666.7 666.7 450 450 450 450 ]
endobj
-1474 0 obj
+1478 0 obj
[ 27 [ 525 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 525 ] 62 [ 525 525 525 525 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 ] 84 [ 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 109 [ 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] ]
endobj
-1476 0 obj
+1480 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``_
endstream
endobj
-1477 0 obj
+1481 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7001 >>
stream
xڅz@SWJ\juWm".\8CFI#8a7(V*V6jZk='
@@ -6829,10 +6744,10 @@ pKTaW5~ByDۖ~d|o~}m<Y>ALM}-vVgI-Bj
.V]zAK^ NP 1¬3֍G- "b@IXx8Ah[M〽U[S5'_9Ki8mf7 62 >Tk0JRڪR2S 9]h7;
endstream
endobj
-1475 0 obj
-<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1477 0 R /CIDSet 1476 0 R >>
+1479 0 obj
+<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1481 0 R /CIDSet 1480 0 R >>
endobj
-1478 0 obj
+1482 0 obj
<< /Filter /FlateDecode /Length 692 >>
stream
x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<[mf^姣u݋-.xk|m;q;[Η^v]4}m+ُ֓jU1~aI~ (/PmڲrObx$ó+fձFJ]銆:ŶW SQyG
@@ -6842,21 +6757,21 @@ x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<
endstream
endobj
374 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1479 0 R ] /ToUnicode 1478 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1483 0 R ] /ToUnicode 1482 0 R >>
endobj
-1479 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1475 0 R /W 1474 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1483 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1479 0 R /W 1478 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1480 0 obj
+1484 0 obj
[ 28 [ 494 ] 43 [ 457 ] 50 [ 457 ] 63 [ 531 ] 66 [ 245 ] 75 [ 816 ] 77 [ 531 ] 96 [ 351 ] 98 [ 394 ] 105 [ 371 ] 116 [ 474 ] 118 [ 474 ] ]
endobj
-1482 0 obj
+1486 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Ta`X
endstream
endobj
-1483 0 obj
+1487 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1234 >>
stream
xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc1Iej=b//{#@h( br,Cn|Vv)OXY+&>j4MЬĆHCdZqc1ɩ
@@ -6866,10 +6781,10 @@ xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc
7bdxo;ts:<0n${z;[ZhoG6z|t?J
endstream
endobj
-1481 0 obj
-<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1483 0 R /CIDSet 1482 0 R >>
+1485 0 obj
+<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1487 0 R /CIDSet 1486 0 R >>
endobj
-1484 0 obj
+1488 0 obj
<< /Filter /FlateDecode /Length 419 >>
stream
x}N0~âRY8)UH@+R!}ڱؑ, H3rrn{t-?1pxtV`|-k6*D9DZ#
@@ -6880,21 +6795,21 @@ u0=z0a6 4
endstream
endobj
373 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1485 0 R ] /ToUnicode 1484 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1489 0 R ] /ToUnicode 1488 0 R >>
endobj
-1485 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1481 0 R /W 1480 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1489 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1485 0 R /W 1484 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1486 0 obj
+1490 0 obj
[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 ] 45 [ 286 ] 47 [ 571 ] 50 [ 457 ] 55 [ 314 ] 59 [ 514 ] 63 [ 571 343 ] 66 [ 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 84 [ 571 ] 88 [ 286 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 114 [ 742 771 542 ] ]
endobj
-1488 0 obj
+1492 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``U\<ţa
endstream
endobj
-1489 0 obj
+1493 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3281 >>
stream
xڕW XgA QwFgVRWk齲J*V "$p *HѺڧ9Y>L}ϙ'{{`>>@ X{s=Oo޲C%ˎ
@@ -6912,31 +6827,31 @@ BD/נּA[D?S/Ioh |Gf?cr=1r\g[QF2ӻ^%^MÛn
d)&#Y/L1󲵝cLۅ~>v$)YgBX >{]@s@6%?0VS|PYAozů{L:׋$5'R`;HYMǘ$ m۳Ôv750`6 Nc376A~{':TAJi>('txG/3ޗܘ`}k{tl*2`.gnY{\6:[S69{
endstream
endobj
-1487 0 obj
-<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1489 0 R /CIDSet 1488 0 R >>
+1491 0 obj
+<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1493 0 R /CIDSet 1492 0 R >>
endobj
-1490 0 obj
+1494 0 obj
<< /Filter /FlateDecode /Length 492 >>
stream
x}[@&cĐ8&$s<"]$ҐݧI&hSɷ]4GkU7lrIDٻj=l\VNeyYNZӹ)~/.䃿p)Mա/:LGٍ(2?HuU#Yp9<I5f%OYeGc B&wdZ)_\ob3ݹzuٛ*yfu~h ?{i>ע&63BGz>kזXh9ԵEIgVxV[I=Kx1\OPi! 5A!h 6 E,4A PAN%Csr*A3Bh#gdiRAP KcxI0{m%=q*=q*=.0{,Sܐsf/?vҋcnًJ~Mk׾Kjmʾ)T
endstream
endobj
372 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1491 0 R ] /ToUnicode 1490 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1495 0 R ] /ToUnicode 1494 0 R >>
endobj
-1491 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1487 0 R /W 1486 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1495 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1491 0 R /W 1490 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1492 0 obj
+1496 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-1494 0 obj
+1498 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc```
endstream
endobj
-1495 0 obj
+1499 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xmTmLSW~"]^Gd-DeNNM)R*]mXAQc`lR>TmM [21 ?̖,f{em̖,9=9xiJ*hen(Hγdmo[M ˰)q)-rQ"/J"dZ)}qLKeK)nSO 21w+(&) POh  kګ=҅Vy-4W* 2L(Ӏ (ZJ FkW8jTPiq"Q«C
@@ -6944,32 +6859,32 @@ F`B56@Jm{7
jг{qU 9L*6bӈ<|Hn;`}]{Xn_M3&b-|,#c|)̺nЬ!0d*veX?`=D~M_Ͻ}Z[b# eɶ
endstream
endobj
-1493 0 obj
-<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1495 0 R /CIDSet 1494 0 R >>
+1497 0 obj
+<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1499 0 R /CIDSet 1498 0 R >>
endobj
-1496 0 obj
+1500 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
x}RMk@ﯘ=lTEVT+^.ݰIQ(@B^ޛf{WNXV3 Vۼ"ZD9׊*]R4#N%;sQg!;~WɂAڒL4#Ggk!|x|J&BHodh\ܓfCx,SY(\Bx0d; 樅<CA#8UuAk(cXf/DmV4קٵB9yLqħ1,7 JTxhcOm(1}(DC+<ء)uh9#q=~e]U7Z:y6x?JU͢ 
endstream
endobj
371 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1497 0 R ] /ToUnicode 1496 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1501 0 R ] /ToUnicode 1500 0 R >>
endobj
-1497 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1493 0 R /W 1492 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1501 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1497 0 R /W 1496 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1498 0 obj
+1502 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-1500 0 obj
+1504 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-1501 0 obj
+1505 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -6984,71 +6899,84 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-1499 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1501 0 R /CIDSet 1500 0 R >>
+1503 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1505 0 R /CIDSet 1504 0 R >>
endobj
-1502 0 obj
+1506 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
370 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1503 0 R ] /ToUnicode 1502 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1507 0 R ] /ToUnicode 1506 0 R >>
endobj
-1503 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1499 0 R /W 1498 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1507 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1503 0 R /W 1502 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1504 0 obj
-[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 490 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
+1508 0 obj
+[ 27 [ 734 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 72 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 490 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
endobj
-1506 0 obj
+1510 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
-xc``UThX
+xc``UTѰˁ4
endstream
endobj
-1507 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3546 >>
-stream
-xڭX XgeLWgLZR(x*X(HhH -p(;^V7qڣ.m9 [{ss<g!ǛmݺmkV΍\IX0pTǩnb3?0҇ė}=8M </Ǝw_~r&p5D|+MgvaG(S3Uɲ$d!ƎoJƒ$kW%q IR]MR*$Ҥ8yD(nhRZ"S)AdDTpgT.SK$ZET%$I%c6GKV)Id^B-J$jTѤ. heAJ,8[?_{.pՆ5+6 dh$J$AKK?]RR5 R&Yp4W\$ F"PM-$ G!(d# ٌD#[=H<GR d"x<>jnj,H o/yc}e j}$&??N7~xM
-NK뺭&& & kð|Kbʡ\ Y~NU\2 ?E^2U۩h sTǣPL͋SHn|͢@Y#QlXkdw1zhFSlB#n^0g `/6ژ"j98.|NMƬfF__yj ;.Wl
-ǡOj֑bUس=v{3DҌq|&%g2;P'( HOeG-yςmD1a9L}ŬIMD?1VWw de#vےK؟'=)IRbnJɧGܜLEKUUD:K& 8s7[
-.o [n̤j.FOZoy=;ޓ(+2
-[,Tg5*Gd>LJ*2R҉
-;}88oSb
-F@UH&]+SBl$\~A`iht].8N(ɍ WڶFlZ51煈sFîa-ab|Q";mՅ\)@M<je65ͭmmw6s9۹áq[w$1GH'ľysh??O̬?* _G|O<h 5GiD1tCX9vʃ~3x܇WoPo)RJKwaܝLKJ[:K28T:7$23~҃EzjynfDZc0 xw7}L p0 'i;]R"1>R_>+ɣm]D/ձ D&0}(o𙠗i9b渎z@LUoKA(Pizz@eRqw$Xԑf8+O< dģs`~F#|G'.E|1r`l(R9>ŀnapCwC>Mz弐&3yk~TQz!!U9^hկ/+:Rijv'(|}C|>{Gy_aثq:*%uH>fy `Զ=d1 1f. (Vbkt[UVP\FMمc75{95p68x|b}դ#bM(">:q*VXR JZPG<Ϙ/ [;Q&
-B3n~gvrwnÞb+8JܷhT]jjʪz#AX
-q1;Yc pͮKf6+
-.&*k\Brm<o@,rSQVbks{m֊Ro"s`;驀
+1511 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3660 >>
+stream
+xڭX XgY˘VgLZjVTVk.
+ B
+jW4Z+ QhDd\#KN*RJTI
+MjJ4"!Q%*])KEdR<Vd
+ZC&WɤRJ&&) ՚
+L
+5+CY,@)X::1I?y`B$V#[+wx4 Df!sy|d!#+Ujd-@6"QH Dv!ɈIC2<; pDy2RUH8f7EF9fdH,~Qĉo4Zu/hX8XSh.:iwb
+?YDhtKZM*<Xل'oJRZ\Ff A .ƛ_hcz\X=#ZrN]2dL CеlKfN ;t :xEn8i"_ͤvVSмE8?*?XIy!m_PӒ);68 EU,xrN=X<}Rxa &I GlQF'u^ G?)D >tzq Gd}<
+}$y[h6K5ɑĚgtSgb8t78le'#~c4
+[NQvqz>|(+Oפ84-5r^
+wF-G!6<tkOP%RYnZGw".o]AUes>Vpw~-}pƁSRPo0y+D$\B9` u,8;ΞȎfy*CcqRX +3=%"Jl_sylB`Y^/7'lBL9!V.-D`):}\u;胊('g
+>KQ  fFаI˃KS?xz7"_%o~nӃ0oxr?E͕~(Y@?~Ɯ_E r\]][&\L$ͨ8'?31plF3@d{rX;3? j(MT u]IKXQ1턑g_swrttwcc3
+fĮ$+KG6$'Tˈ+Bkȥ y,]YV@nݳ5|u73.J6m|!GSpu%u62D$^FcWyXb+0S؜9Ƃ=Ȯ-[]$&
+A\9wm\s^8 :wg :mvRp{5Qy>~ysDy`Oac3%-*JIIuiZn#ޥ
+EǻE/SŮz n-CeKNNn=@z= ]+*{]k
+b 0 ^:ls:8,8ek3N L'xiPG<~dP$NBnVlMqjTʱ a1hm;y8#j
+pqa7t|2wXdk_M5-7&5??^GlRB8(Ov ֻ}%7{KD^Fmw3
+בp@44Bi3L"-]Ͷ
+Y3]JӚ~.tQ={[ &I:s~??wKxGiiS4fPh"?xެ)(*y{)P]q&\<
+qeؗB6m¤H[m?cgtZB:IL*>w=3u?q <q cДi-[ vÏ"G; 7N(li;CN;zO/ iɺUMuV7=g󬡂 NxλPt8CI0͢ةj߲Lu~k~n
+,6
+mXDS; (Η$USph"F$ڋqwzudeΜ;}KE'= 2N#5ɭ/[1!Mڥ(ExjXJu^Q&:u<Mnyt
+]Uk*\8#uk#p}q^jq˞՝+SEJFԖTQ4 z̷Ip.;[\)<F3珞? _19(s
+ɰ@ׇ(pYR\du5,%ֽKqI(fϘ/Iˢ
endstream
endobj
-1505 0 obj
-<< /Type /FontDescriptor /FontName /YKKYIE+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1507 0 R /CIDSet 1506 0 R >>
+1509 0 obj
+<< /Type /FontDescriptor /FontName /ZKVPJD+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1511 0 R /CIDSet 1510 0 R >>
endobj
-1508 0 obj
-<< /Filter /FlateDecode /Length 507 >>
+1512 0 obj
+<< /Filter /FlateDecode /Length 511 >>
stream
-xڅKk0E ]nK04/0>H0]:MF#) HйGף;Y{ζֽ*_7ꢯHvoDm؇ulV,; S)R9lgn*AoԟssS/NO&av+l_ڲO,?R, z'MR
-Բ!e9E2ŻKQclO.N];oRHLF^2AG[W&ƁLh]nZU4B$ R<767z$ŷ8G ct reK݈8H (-@he)\6M-E!h-McPGKs'$ |Z5hȜm@aqRg1$p" f,rPĝ@g % D192mXE*vsΔԍ_ o/x
+xڅj0ڋ@zF-#dRα&YC,پۯ_naЀ?hcg:sTN%`Y]I}%$zkĶԲbȢ_:At.䗋Æz\/d;:wL܄ݿdnMN)*Ă{ιbQ9lK?R(v/(֑K=-6-y锍tiFoJ* oN/d1)tҹ^L`#h7GtB$畠rR<7c)/HQP;QЛ?2N8H--,Š0 xhi)\ְ-E!hQ!%9z8W!.#cAY4 @k:pR9C6zcN:gAKI$:J0%n27Y08zXR=;sf?,;f٠B]D^Nz[{@2P
endstream
endobj
369 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YKKYIE+LMRoman12-Regular /DescendantFonts [ 1509 0 R ] /ToUnicode 1508 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZKVPJD+LMRoman12-Regular /DescendantFonts [ 1513 0 R ] /ToUnicode 1512 0 R >>
endobj
-1509 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YKKYIE+LMRoman12-Regular /FontDescriptor 1505 0 R /W 1504 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1513 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZKVPJD+LMRoman12-Regular /FontDescriptor 1509 0 R /W 1508 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1510 0 obj
+1514 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
endobj
-1512 0 obj
+1516 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Pa`hp
endstream
endobj
-1513 0 obj
+1517 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1024 >>
stream
xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(H$!%1?gw1&{&Kz@DVCU弪zOHVhAʕJnfl
@@ -7058,10 +6986,10 @@ xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(
CoV< }>q%N鉴4=Z^d
endstream
endobj
-1511 0 obj
-<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1513 0 R /CIDSet 1512 0 R >>
+1515 0 obj
+<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1517 0 R /CIDSet 1516 0 R >>
endobj
-1514 0 obj
+1518 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}]K0+6s2
@@ -7070,21 +6998,21 @@ nU(MKf`MJ^ߛv8 xzޓyK<p`|Mkj`*֖(5"GW{xъp
endstream
endobj
368 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1515 0 R ] /ToUnicode 1514 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1519 0 R ] /ToUnicode 1518 0 R >>
endobj
-1515 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1511 0 R /W 1510 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1519 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1515 0 R /W 1514 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1516 0 obj
+1520 0 obj
[ 28 [ 459 ] 35 [ 511 ] 43 [ 406 ] 50 [ 406 ] 55 [ 276 ] 59 [ 459 ] 63 [ 511 ] 66 [ 250 ] 70 [ 485 ] 72 [ 250 ] 75 [ 772 ] 77 [ 511 ] 81 [ 459 ] 84 [ 511 ] 91 [ 485 ] 96 [ 354 511 359 ] 104 [ 668 354 ] 108 [ 693 511 ] 114 [ 668 ] 126 [ 499 ] ]
endobj
-1518 0 obj
+1522 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``PT!
endstream
endobj
-1519 0 obj
+1523 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2974 >>
stream
xڕW TW cKCk룮mu"QD!@$@ !hA DCZPRQrd}j_֭n;=;ֶsrn;?xz"i􊈈US#"d鳂)R}s1=~~CQ4AL)_χLq_B9xy pO|; p ?"⠜1>G[3CCg.ei)9#4iq \*JJ驤(3\LFdjv6 ebHm$cklX$S,+d$UIetVbRLfg&J"&!2UdDj8S)&HR)*knH*;%XH (C#F˗E-\,zQ*WEn)dJ*U*_&";ɲDqX8S 52BDB wp$Y D$"$"`e/M'b D!mg n5jWчQM}
@@ -7098,10 +7026,10 @@ Yfi^="s[o\*+3
(<4F;qy;}L&Sl.tVX̥%fZ;g)}
endstream
endobj
-1517 0 obj
-<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1519 0 R /CIDSet 1518 0 R >>
+1521 0 obj
+<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1523 0 R /CIDSet 1522 0 R >>
endobj
-1520 0 obj
+1524 0 obj
<< /Filter /FlateDecode /Length 474 >>
stream
xڅn0y
@@ -7110,12 +7038,12 @@ xڅn0y
endstream
endobj
367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1521 0 R ] /ToUnicode 1520 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1525 0 R ] /ToUnicode 1524 0 R >>
endobj
-1521 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1517 0 R /W 1516 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1525 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1521 0 R /W 1520 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1523 0 obj
+1527 0 obj
<< /Length1 1484 /Length2 8131 /Length3 0 /Filter /FlateDecode /Length 9124 >>
stream
xڍTm6NHt,) ] .²tJH#]J4" HwwS9w3sM\LtZ2`Di
@@ -7157,10 +7085,10 @@ Mt%ŕTMHtwX:n҅O| ҙi,l59k#E~L.pz/'w/
*2;nYK/G-^䙗;%{F!zd[
endstream
endobj
-1522 0 obj
-<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1523 0 R >>
+1526 0 obj
+<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1527 0 R >>
endobj
-1525 0 obj
+1529 0 obj
<< /Length1 2319 /Length2 9802 /Length3 0 /Filter /FlateDecode /Length 11051 >>
stream
xڍTZ6Lt# 1t*]Jw
@@ -7212,10 +7140,10 @@ l1(fP@weKg}PYۈE[n(#3%[$Bf~΍Nd\zmM0 Y],9Ca0- ub
3H vrH
endstream
endobj
-1524 0 obj
-<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1525 0 R >>
+1528 0 obj
+<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1529 0 R >>
endobj
-1527 0 obj
+1531 0 obj
<< /Length1 1396 /Length2 5867 /Length3 0 /Filter /FlateDecode /Length 6812 >>
stream
xڍTTTk&FPAf@II)!f`:% @B$$DSCR@R@i$;9޵]֞=<]@P"T( X$ TV1
@@ -7248,10 +7176,10 @@ mNվ˘jB5̞cvqc~O\Y)O
ݟ~wb@ ݤmπnsA6&wSlYD]+"@?|9mo]fjǾ{sŸܦ}}rIRBR+譜yScC>gamʁt!eU p/k UQSb3Z Wзo.uY&h) @X`0rEC:s,17v TN
endstream
endobj
-1526 0 obj
-<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1527 0 R >>
+1530 0 obj
+<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1531 0 R >>
endobj
-1529 0 obj
+1533 0 obj
<< /Length1 1830 /Length2 11276 /Length3 0 /Filter /FlateDecode /Length 12424 >>
stream
xڍT[-kqS'-- @ )V-VSHhq>zsɞ׷;&9,q
@@ -7294,10 +7222,10 @@ t둭Jc_WP5jbep/wUd22>3}֟Bn9MmGvX-i1@?BDVlt[~_
|UƶO3n0&hWA:fBh;2bVF:u(o7Ȕ?xs4ŹNgX%%F}J34G_1˵-{
endstream
endobj
-1528 0 obj
-<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1529 0 R >>
+1532 0 obj
+<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1533 0 R >>
endobj
-1531 0 obj
+1535 0 obj
<< /Length1 1415 /Length2 6063 /Length3 0 /Filter /FlateDecode /Length 7021 >>
stream
xڍuTk-Xh
@@ -7327,10 +7255,10 @@ OB+F|72{ .2xcZrL_7-_5Km-܁CEMXo]Y1nfɫt/
bUyLq@jƚm#<՗aVY G<^P4~0-)gV2+ \]"X,p aqה-TW'qY'D#_Ē_w"9FuKK
endstream
endobj
-1530 0 obj
-<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1531 0 R >>
+1534 0 obj
+<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1535 0 R >>
endobj
-1533 0 obj
+1537 0 obj
<< /Length1 1451 /Length2 6812 /Length3 0 /Filter /FlateDecode /Length 7785 >>
stream
xڍtTk.)]D`A!ASIiICFwZY羞^Fzm=N[5XspEr*
@@ -7364,10 +7292,10 @@ y[f!i;7W%mIJ ﭓ71v(oT(}6u4/^%O8Ϩu(6g
a e|L1iR]ez[
endstream
endobj
-1532 0 obj
-<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1533 0 R >>
+1536 0 obj
+<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1537 0 R >>
endobj
-1535 0 obj
+1539 0 obj
<< /Length1 1589 /Length2 8523 /Length3 0 /Filter /FlateDecode /Length 9572 >>
stream
xڍTT.LCH "! 0PC!%)-!!%%ֺwZgγ}}jb&6FiPPx`c`accGաp+ȟft&jW= Iq
@@ -7411,10 +7339,10 @@ Sziq`Rky5zX-
_G)JxУ<g|eBy"7t*<
endstream
endobj
-1534 0 obj
-<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1535 0 R >>
+1538 0 obj
+<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1539 0 R >>
endobj
-1537 0 obj
+1541 0 obj
<< /Length1 1438 /Length2 6548 /Length3 0 /Filter /FlateDecode /Length 7523 >>
stream
xڍt4kׯ"ZD0zF5`0!z[H$DDoD#Ir{޻ֽkϳ=6f]>y{-LA
@@ -7451,10 +7379,10 @@ wt/ְj@884}?em\9P?{6jx)*NaqIuoŀ31&
*INS+$3z t$x g6./)~s_2oϒlAS"F!XzP%i3UsLWsOLۈklm܏f(]zj Y2
endstream
endobj
-1536 0 obj
-<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1537 0 R >>
+1540 0 obj
+<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1541 0 R >>
endobj
-1539 0 obj
+1543 0 obj
<< /Length1 1744 /Length2 11235 /Length3 0 /Filter /FlateDecode /Length 12356 >>
stream
xڍP.k;wwwwwg!0 w@pBpw
@@ -7501,10 +7429,10 @@ ttoΎфtč!e웩I]8NG'
o獧{{m1` 8>`9X;;FVqvt$3CY(n3@}"ZWkgcQ͞*EkFY<lc ?v0.+Q2SbMXw`Pi.zN o| Ի)n9`VOi{40ơ
endstream
endobj
-1538 0 obj
-<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1539 0 R >>
+1542 0 obj
+<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1543 0 R >>
endobj
-1541 0 obj
+1545 0 obj
<< /Length1 1387 /Length2 5977 /Length3 0 /Filter /FlateDecode /Length 6920 >>
stream
xڍtTk- =;J.
@@ -7533,10 +7461,10 @@ gwlk{r"_uTC
3|—Dnf!\Tc jYa_?*s
endstream
endobj
-1540 0 obj
-<< /Type /FontDescriptor /FontName /YFCZGG+CMR12 /Flags 4 /FontBBox [ -34 -251 988 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /zero) /FontFile 1541 0 R >>
+1544 0 obj
+<< /Type /FontDescriptor /FontName /YFCZGG+CMR12 /Flags 4 /FontBBox [ -34 -251 988 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /zero) /FontFile 1545 0 R >>
endobj
-1543 0 obj
+1547 0 obj
<< /Length1 1447 /Length2 6556 /Length3 0 /Filter /FlateDecode /Length 7538 >>
stream
xڍVT\%Kph%CbfI%iP@@$nQJ.7zoZ3{kؙu a '<
@@ -7571,10 +7499,10 @@ eO:[1bo_9ͣh[puK}ks 7\GU0Ǟ6Г?ﱿWy$4kw}zK
2h&ji/,
endstream
endobj
-1542 0 obj
-<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1543 0 R >>
+1546 0 obj
+<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1547 0 R >>
endobj
-1545 0 obj
+1549 0 obj
<< /Length1 1595 /Length2 7817 /Length3 0 /Filter /FlateDecode /Length 8871 >>
stream
xڍT6t
@@ -7612,39 +7540,10 @@ Y<Qj8e^z 7r-\
.+g!~ŜI #PAiМ'WXϟf'_}xbK$yv[IoRʢTYiGU$ݡsZ,U+hQ
endstream
endobj
-1544 0 obj
-<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1545 0 R >>
-endobj
-1547 0 obj
-<< /Length1 1380 /Length2 5975 /Length3 0 /Filter /FlateDecode /Length 6913 >>
-stream
-xڍt4]ۮޢ1D#{2 c{DDtW/=zAIwZY뙽ﺯ}_`7PۂU0
- L`Ai6;@0
-A`AvvpW7s8@` 
-Hȯg
-
-5d(
-x7dJr}P
-7L֤h7=z]KH)e|`_L'ʺmڜ9FD{NM&q䄉̱;]QnEV[!# <]f6mu)sW:"NMQCF6̗ݫ?z* :,?#C Ҹ?ܐq uȸ_$/zhdugQܲY9Kl<Violu""c{dઌ]>ъDŽwxkʷV/\S
-e2s c *\4s=qΠY?ѳn+4vSNKg\ 9fOczDzSJvh$
-yǨ0J:-Eet'XDo^_W׮꜓e5ӞZd-tnex!K,>RŴ 3ۧ#TM,k%Rg^4<|J?̯ =L:#C~CW&i(Fgi*Ѩ!嵐]M5$#Mpxq3|m-ޮ J3ƽ/_( ~E|eե@]m7ۏQ?B7z<e1uv' 9o*3dF,?ǞHJE^ckX<y#YK3x)tl>h&=;UO٠
-"o.>Sո5V_IPg
-{qݞtCcR郩U飣xcm3pd{K4SKaty㹁? LIsɆfC:.syyĢ#$[;X1gS/Ii5?$$:} lo@]\ڤ昢2
-_会0 cs۰**A0h >aGm^.&"W{$\m29q\,=V2lf5H(n=t~H};*|j<EQv5VZ>75X_TwťN^H3(MӵǏ*͋3-w?1NY+qӶܙ*ϖ8933VCHeGԮh! 4wCk5u7־>VkƾS
-&o 4U40 EH`XdS4ͩ|:|Y;0Bq,}PL@.ymل|*7
-sI[ 6t D]"焧STaW@6z}r
-Ѐ<t_,0?!ϬL /[}P4sn"ܝ"B6#/1U*S|:){\!A^d Jz;sEx/Tjp-\= }2x5ۼA(K퀺dS՗ȮҾ'CKqpHr&"Vy<Ha>SC3+O@Z$~A=1{{a|e,3Jv!e擤1Sn+M<{1!;~GYĶIdދ/Nuk &f
-zbM.|L@NXt`F2%(پL+ld Ğ(<Vr^ž=wRx v.A@\g^`5AUC#?,mX`B{7M ق,>~h|M?y!v#S CϢFq׃?P *F֛VB[z=hEdF *EO.`ga wr ?wƘRSaٟtuB+b،NEⴼ"<d4&dw1`JfCvA/G9)BP:قxN?Zƪ"{n6%VGEmeۖأuˏ1oEDؾ]}«ZN@Z9n-k\nwbݏO;4B6Ƈ9q\nu!7^iVt$<& Y'xJ6g<
-#c. Ɍ9gT_pʋsE)bq0#2΀!U,10t+ENfTjY_WEfr''Jl =r,3<biRqaiTEL|sMfk0mSRskW/e^
-Y`v>_{OWޞ L=]CjDe ty u#_z*>h E\1_fqs'Cu9 |-fxu7swI[';AsM0
-@zN:]Lhl͙,Hc32ޅhծToPKpй/.Kκ;q>ݜD#<
-<Mwy(\`k# |u=cv0h->c34x]l* tP{n2J*YL媄7^5"ê2೫q3 `PytR:w*kl{{ү]DS[^AebNkoOk|43YÏU f)-~ )3= 7~o!gֿM"ҋXq,i E˞Ց*$rV-œyf`:VvW֎ U*e7Ͼ?D\9aS#ʹ1Zʺay,UA½[8SkEMP~1U{֨$T4+S5UyأN9Xg UѴlx(Ïv5xV˜3ٻbaş~UKzTʍzM:R$"
-endstream
-endobj
-1546 0 obj
-<< /Type /FontDescriptor /FontName /VZZGNZ+CMR8 /Flags 4 /FontBBox [ -36 -250 1070 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /zero) /FontFile 1547 0 R >>
+1548 0 obj
+<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1549 0 R >>
endobj
-1549 0 obj
+1551 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7687,10 +7586,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1548 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1549 0 R >>
+1550 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1551 0 R >>
endobj
-1551 0 obj
+1553 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7721,10 +7620,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1550 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1551 0 R >>
+1552 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1553 0 R >>
endobj
-1553 0 obj
+1555 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7753,95 +7652,92 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1552 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1553 0 R >>
+1554 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1555 0 R >>
endobj
-752 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1522 0 R /FirstChar 49 /LastChar 100 /Widths 1346 0 R >>
+754 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1526 0 R /FirstChar 49 /LastChar 100 /Widths 1350 0 R >>
endobj
375 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1524 0 R /FirstChar 12 /LastChar 125 /Widths 1473 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1528 0 R /FirstChar 12 /LastChar 125 /Widths 1477 0 R >>
endobj
410 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1526 0 R /FirstChar 112 /LastChar 112 /Widths 1381 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1530 0 R /FirstChar 112 /LastChar 112 /Widths 1385 0 R >>
endobj
379 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1528 0 R /FirstChar 46 /LastChar 122 /Widths 1469 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1532 0 R /FirstChar 46 /LastChar 122 /Widths 1473 0 R >>
endobj
423 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1530 0 R /FirstChar 65 /LastChar 65 /Widths 1374 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1534 0 R /FirstChar 65 /LastChar 65 /Widths 1378 0 R >>
endobj
378 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1532 0 R /FirstChar 76 /LastChar 110 /Widths 1470 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1536 0 R /FirstChar 76 /LastChar 110 /Widths 1474 0 R >>
endobj
376 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1534 0 R /FirstChar 59 /LastChar 120 /Widths 1472 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1538 0 R /FirstChar 59 /LastChar 120 /Widths 1476 0 R >>
endobj
-492 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1536 0 R /FirstChar 105 /LastChar 110 /Widths 1367 0 R >>
+490 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1540 0 R /FirstChar 105 /LastChar 110 /Widths 1371 0 R >>
endobj
382 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1538 0 R /FirstChar 40 /LastChar 115 /Widths 1461 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1542 0 R /FirstChar 40 /LastChar 115 /Widths 1465 0 R >>
endobj
-929 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YFCZGG+CMR12 /FontDescriptor 1540 0 R /FirstChar 48 /LastChar 48 /Widths 1332 0 R >>
+932 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /YFCZGG+CMR12 /FontDescriptor 1544 0 R /FirstChar 48 /LastChar 48 /Widths 1337 0 R >>
endobj
377 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1542 0 R /FirstChar 43 /LastChar 52 /Widths 1471 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1546 0 R /FirstChar 43 /LastChar 52 /Widths 1475 0 R >>
endobj
380 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1544 0 R /FirstChar 40 /LastChar 57 /Widths 1468 0 R >>
-endobj
-753 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VZZGNZ+CMR8 /FontDescriptor 1546 0 R /FirstChar 48 /LastChar 48 /Widths 1345 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1548 0 R /FirstChar 40 /LastChar 57 /Widths 1472 0 R >>
endobj
404 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1548 0 R /FirstChar 0 /LastChar 105 /Widths 1382 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1550 0 R /FirstChar 0 /LastChar 105 /Widths 1386 0 R >>
endobj
-742 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1550 0 R /FirstChar 0 /LastChar 32 /Widths 1347 0 R >>
+743 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1552 0 R /FirstChar 0 /LastChar 32 /Widths 1351 0 R >>
endobj
-644 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1552 0 R /FirstChar 0 /LastChar 34 /Widths 1354 0 R >>
+645 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1554 0 R /FirstChar 0 /LastChar 34 /Widths 1358 0 R >>
endobj
394 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 437 0 R 446 0 R 451 0 R 455 0 R 459 0 R 466 0 R ] >>
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 437 0 R 446 0 R 451 0 R 455 0 R 459 0 R 466 0 R ] >>
endobj
480 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 477 0 R 489 0 R 497 0 R 502 0 R 507 0 R 512 0 R 521 0 R 527 0 R 533 0 R 540 0 R ] >>
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 477 0 R 487 0 R 497 0 R 502 0 R 507 0 R 512 0 R 520 0 R 527 0 R 533 0 R 540 0 R ] >>
endobj
-549 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 546 0 R 552 0 R 559 0 R 565 0 R 570 0 R 579 0 R 588 0 R 596 0 R 602 0 R 607 0 R ] >>
+548 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 545 0 R 552 0 R 560 0 R 566 0 R 571 0 R 580 0 R 589 0 R 596 0 R 603 0 R 608 0 R ] >>
endobj
-617 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 614 0 R 622 0 R 629 0 R 641 0 R 649 0 R 656 0 R 664 0 R 670 0 R 681 0 R 689 0 R ] >>
+618 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 615 0 R 623 0 R 630 0 R 642 0 R 650 0 R 657 0 R 665 0 R 671 0 R 682 0 R 689 0 R ] >>
endobj
-704 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 701 0 R 707 0 R 719 0 R 729 0 R 734 0 R 739 0 R 749 0 R 759 0 R 768 0 R 776 0 R ] >>
+705 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 702 0 R 708 0 R 720 0 R 730 0 R 735 0 R 740 0 R 751 0 R 760 0 R 769 0 R 777 0 R ] >>
endobj
-785 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 782 0 R 789 0 R 796 0 R 801 0 R 808 0 R 817 0 R 832 0 R 839 0 R 844 0 R 850 0 R ] >>
+786 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 783 0 R 790 0 R 797 0 R 803 0 R 811 0 R 820 0 R 835 0 R 842 0 R 847 0 R 853 0 R ] >>
endobj
-857 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 854 0 R 859 0 R 863 0 R 867 0 R 871 0 R 876 0 R 881 0 R 885 0 R 889 0 R 893 0 R ] >>
+860 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 857 0 R 862 0 R 866 0 R 870 0 R 874 0 R 879 0 R 884 0 R 888 0 R 892 0 R 896 0 R ] >>
endobj
-900 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 10 /Kids [ 897 0 R 902 0 R 906 0 R 910 0 R 914 0 R 918 0 R 922 0 R 926 0 R 931 0 R 1050 0 R ] >>
+903 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 900 0 R 905 0 R 909 0 R 913 0 R 917 0 R 921 0 R 925 0 R 929 0 R 934 0 R 1059 0 R ] >>
endobj
-1157 0 obj
-<< /Type /Pages /Parent 1554 0 R /Count 4 /Kids [ 1154 0 R 1229 0 R 1281 0 R 1328 0 R ] >>
+1180 0 obj
+<< /Type /Pages /Parent 1556 0 R /Count 4 /Kids [ 1177 0 R 1234 0 R 1286 0 R 1333 0 R ] >>
endobj
-1554 0 obj
-<< /Type /Pages /Count 84 /Kids [ 394 0 R 480 0 R 549 0 R 617 0 R 704 0 R 785 0 R 857 0 R 900 0 R 1157 0 R ] >>
+1556 0 obj
+<< /Type /Pages /Count 84 /Kids [ 394 0 R 480 0 R 548 0 R 618 0 R 705 0 R 786 0 R 860 0 R 903 0 R 1180 0 R ] >>
endobj
-1555 0 obj
+1557 0 obj
<< /Type /Outlines /First 6 0 R /Last 358 0 R /Count 20 >>
endobj
358 0 obj
-<< /Title 359 0 R /A 356 0 R /Parent 1555 0 R /Prev 354 0 R >>
+<< /Title 359 0 R /A 356 0 R /Parent 1557 0 R /Prev 354 0 R >>
endobj
354 0 obj
-<< /Title 355 0 R /A 352 0 R /Parent 1555 0 R /Prev 310 0 R /Next 358 0 R >>
+<< /Title 355 0 R /A 352 0 R /Parent 1557 0 R /Prev 310 0 R /Next 358 0 R >>
endobj
350 0 obj
<< /Title 351 0 R /A 348 0 R /Parent 310 0 R /Prev 346 0 R >>
@@ -7874,7 +7770,7 @@ endobj
<< /Title 315 0 R /A 312 0 R /Parent 310 0 R /Next 318 0 R >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 1555 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
+<< /Title 311 0 R /A 308 0 R /Parent 1557 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
endobj
306 0 obj
<< /Title 307 0 R /A 304 0 R /Parent 290 0 R /Prev 302 0 R >>
@@ -7889,10 +7785,10 @@ endobj
<< /Title 295 0 R /A 292 0 R /Parent 290 0 R /Next 298 0 R >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1555 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
+<< /Title 291 0 R /A 288 0 R /Parent 1557 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 1555 0 R /Prev 258 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 1557 0 R /Prev 258 0 R /Next 290 0 R >>
endobj
282 0 obj
<< /Title 283 0 R /A 280 0 R /Parent 258 0 R /Prev 278 0 R >>
@@ -7913,7 +7809,7 @@ endobj
<< /Title 263 0 R /A 260 0 R /Parent 258 0 R /Next 274 0 R /First 266 0 R /Last 270 0 R /Count -2 >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 1555 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
+<< /Title 259 0 R /A 256 0 R /Parent 1557 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
endobj
254 0 obj
<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R >>
@@ -7949,7 +7845,7 @@ endobj
<< /Title 215 0 R /A 212 0 R /Parent 210 0 R /Next 218 0 R >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 1555 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
+<< /Title 211 0 R /A 208 0 R /Parent 1557 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
endobj
206 0 obj
<< /Title 207 0 R /A 204 0 R /Parent 186 0 R /Prev 202 0 R >>
@@ -7967,7 +7863,7 @@ endobj
<< /Title 191 0 R /A 188 0 R /Parent 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 1555 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
+<< /Title 187 0 R /A 184 0 R /Parent 1557 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
endobj
182 0 obj
<< /Title 183 0 R /A 180 0 R /Parent 166 0 R /Prev 178 0 R >>
@@ -7982,10 +7878,10 @@ endobj
<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1555 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
+<< /Title 167 0 R /A 164 0 R /Parent 1557 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 1555 0 R /Prev 134 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 1557 0 R /Prev 134 0 R /Next 166 0 R >>
endobj
158 0 obj
<< /Title 159 0 R /A 156 0 R /Parent 134 0 R /Prev 154 0 R >>
@@ -8006,10 +7902,10 @@ endobj
<< /Title 139 0 R /A 136 0 R /Parent 134 0 R /Next 142 0 R >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1555 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
+<< /Title 135 0 R /A 132 0 R /Parent 1557 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 1555 0 R /Prev 114 0 R /Next 134 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 1557 0 R /Prev 114 0 R /Next 134 0 R >>
endobj
126 0 obj
<< /Title 127 0 R /A 124 0 R /Parent 114 0 R /Prev 122 0 R >>
@@ -8021,10 +7917,10 @@ endobj
<< /Title 119 0 R /A 116 0 R /Parent 114 0 R /Next 122 0 R >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1555 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
+<< /Title 115 0 R /A 112 0 R /Parent 1557 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 1555 0 R /Prev 90 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 1557 0 R /Prev 90 0 R /Next 114 0 R >>
endobj
106 0 obj
<< /Title 107 0 R /A 104 0 R /Parent 90 0 R /Prev 102 0 R >>
@@ -8039,7 +7935,7 @@ endobj
<< /Title 95 0 R /A 92 0 R /Parent 90 0 R /Next 98 0 R >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 1555 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
+<< /Title 91 0 R /A 88 0 R /Parent 1557 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
endobj
86 0 obj
<< /Title 87 0 R /A 84 0 R /Parent 66 0 R /Prev 82 0 R >>
@@ -8072,7 +7968,7 @@ endobj
<< /Title 51 0 R /A 48 0 R /Parent 46 0 R /Next 62 0 R /First 54 0 R /Last 58 0 R /Count -2 >>
endobj
46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 1555 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
+<< /Title 47 0 R /A 44 0 R /Parent 1557 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
endobj
42 0 obj
<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R >>
@@ -8093,474 +7989,474 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1555 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1557 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1555 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1557 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1555 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1557 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1555 0 R /Next 10 0 R >>
-endobj
-1556 0 obj
-<< /Names [ (Doc-Start) 366 0 R (Item.1) 411 0 R (Item.10) 715 0 R (Item.11) 847 0 R (Item.12) 848 0 R (Item.2) 412 0 R (Item.3) 413 0 R (Item.4) 414 0 R (Item.5) 695 0 R (Item.6) 696 0 R (Item.7) 712 0 R (Item.8) 713 0 R (Item.9) 714 0 R (page.1) 365 0 R (page.10) 468 0 R (page.11) 479 0 R (page.12) 491 0 R (page.13) 499 0 R (page.14) 504 0 R (page.15) 509 0 R (page.16) 514 0 R (page.17) 523 0 R (page.18) 529 0 R (page.19) 535 0 R (page.2) 401 0 R (page.20) 542 0 R (page.21) 548 0 R (page.22) 554 0 R (page.23) 561 0 R (page.24) 567 0 R (page.25) 572 0 R (page.26) 581 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
-endobj
-1557 0 obj
-<< /Names [ (page.27) 590 0 R (page.28) 598 0 R (page.29) 604 0 R (page.3) 409 0 R (page.30) 609 0 R (page.31) 616 0 R (page.32) 624 0 R (page.33) 631 0 R (page.34) 643 0 R (page.35) 651 0 R (page.36) 658 0 R (page.37) 666 0 R (page.38) 672 0 R (page.39) 683 0 R (page.4) 422 0 R (page.40) 691 0 R (page.41) 703 0 R (page.42) 709 0 R (page.43) 721 0 R (page.44) 731 0 R (page.45) 736 0 R (page.46) 741 0 R (page.47) 751 0 R (page.48) 761 0 R (page.49) 770 0 R (page.5) 439 0 R (page.50) 778 0 R (page.51) 784 0 R (page.52) 791 0 R (page.53) 798 0 R (page.54) 803 0 R (page.55) 810 0 R ] /Limits [ (page.27) (page.55) ] >>
+<< /Title 7 0 R /A 4 0 R /Parent 1557 0 R /Next 10 0 R >>
endobj
1558 0 obj
-<< /Names [ (page.56) 819 0 R (page.57) 834 0 R (page.58) 841 0 R (page.59) 846 0 R (page.6) 448 0 R (page.60) 852 0 R (page.61) 856 0 R (page.62) 861 0 R (page.63) 865 0 R (page.64) 869 0 R (page.65) 873 0 R (page.66) 878 0 R (page.67) 883 0 R (page.68) 887 0 R (page.69) 891 0 R (page.7) 453 0 R (page.70) 895 0 R (page.71) 899 0 R (page.72) 904 0 R (page.73) 908 0 R (page.74) 912 0 R (page.75) 916 0 R (page.76) 920 0 R (page.77) 924 0 R (page.78) 928 0 R (page.79) 933 0 R (page.8) 457 0 R (page.80) 1052 0 R (page.81) 1156 0 R (page.82) 1231 0 R (page.83) 1283 0 R (page.84) 1330 0 R ] /Limits [ (page.56) (page.84) ] >>
+<< /Names [ (Doc-Start) 366 0 R (Item.1) 411 0 R (Item.10) 716 0 R (Item.11) 850 0 R (Item.12) 851 0 R (Item.2) 412 0 R (Item.3) 413 0 R (Item.4) 414 0 R (Item.5) 695 0 R (Item.6) 696 0 R (Item.7) 713 0 R (Item.8) 714 0 R (Item.9) 715 0 R (page.1) 365 0 R (page.10) 468 0 R (page.11) 479 0 R (page.12) 489 0 R (page.13) 499 0 R (page.14) 504 0 R (page.15) 509 0 R (page.16) 514 0 R (page.17) 522 0 R (page.18) 529 0 R (page.19) 535 0 R (page.2) 401 0 R (page.20) 542 0 R (page.21) 547 0 R (page.22) 554 0 R (page.23) 562 0 R (page.24) 568 0 R (page.25) 573 0 R (page.26) 582 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
endobj
1559 0 obj
-<< /Names [ (page.9) 461 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R (section.18) 309 0 R (section.19) 353 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R ] /Limits [ (page.9) (subsection.13.1) ] >>
+<< /Names [ (page.27) 591 0 R (page.28) 598 0 R (page.29) 605 0 R (page.3) 409 0 R (page.30) 610 0 R (page.31) 617 0 R (page.32) 625 0 R (page.33) 632 0 R (page.34) 644 0 R (page.35) 652 0 R (page.36) 659 0 R (page.37) 667 0 R (page.38) 673 0 R (page.39) 684 0 R (page.4) 422 0 R (page.40) 691 0 R (page.41) 704 0 R (page.42) 710 0 R (page.43) 722 0 R (page.44) 732 0 R (page.45) 737 0 R (page.46) 742 0 R (page.47) 753 0 R (page.48) 762 0 R (page.49) 771 0 R (page.5) 439 0 R (page.50) 779 0 R (page.51) 785 0 R (page.52) 792 0 R (page.53) 799 0 R (page.54) 805 0 R (page.55) 813 0 R ] /Limits [ (page.27) (page.55) ] >>
endobj
1560 0 obj
-<< /Names [ (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R ] /Limits [ (subsection.13.2) (subsection.18.8) ] >>
+<< /Names [ (page.56) 822 0 R (page.57) 837 0 R (page.58) 844 0 R (page.59) 849 0 R (page.6) 448 0 R (page.60) 855 0 R (page.61) 859 0 R (page.62) 864 0 R (page.63) 868 0 R (page.64) 872 0 R (page.65) 876 0 R (page.66) 881 0 R (page.67) 886 0 R (page.68) 890 0 R (page.69) 894 0 R (page.7) 453 0 R (page.70) 898 0 R (page.71) 902 0 R (page.72) 907 0 R (page.73) 911 0 R (page.74) 915 0 R (page.75) 919 0 R (page.76) 923 0 R (page.77) 927 0 R (page.78) 931 0 R (page.79) 936 0 R (page.8) 457 0 R (page.80) 1061 0 R (page.81) 1179 0 R (page.82) 1236 0 R (page.83) 1288 0 R (page.84) 1335 0 R ] /Limits [ (page.56) (page.84) ] >>
endobj
1561 0 obj
-<< /Names [ (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 685 0 R (tabularnote.1) 692 0 R (tabularnote.2) 694 0 R (tabularnote.3) 710 0 R (tabularnote.4) 711 0 R ] /Limits [ (subsection.18.9) (tabularnote.4) ] >>
+<< /Names [ (page.9) 461 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R (section.18) 309 0 R (section.19) 353 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R ] /Limits [ (page.9) (subsection.13.1) ] >>
endobj
1562 0 obj
-<< /Kids [ 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
+<< /Names [ (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R ] /Limits [ (subsection.13.2) (subsection.18.8) ] >>
endobj
1563 0 obj
-<< /Dests 1562 0 R >>
+<< /Names [ (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 698 0 R (tabularnote.1) 692 0 R (tabularnote.2) 694 0 R (tabularnote.3) 711 0 R (tabularnote.4) 712 0 R ] /Limits [ (subsection.18.9) (tabularnote.4) ] >>
endobj
1564 0 obj
-<< /Type /Catalog /Pages 1554 0 R /Outlines 1555 0 R /Names 1563 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
+<< /Kids [ 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
endobj
1565 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.17.1) /CreationDate (D:20240219153714+01'00') /ModDate (D:20240219153714+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.1 (MiKTeX 24.1)) >>
+<< /Dests 1564 0 R >>
+endobj
+1566 0 obj
+<< /Type /Catalog /Pages 1556 0 R /Outlines 1557 0 R /Names 1565 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
+endobj
+1567 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240423140805+02'00') /ModDate (D:20240423140805+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
endobj
xref
-0 1566
+0 1568
0000000000 65535 f
-0000597719 00000 n
-0000597875 00000 n
-0000597947 00000 n
+0000601876 00000 n
+0000602032 00000 n
+0000602104 00000 n
0000000020 00000 n
-0000036247 00000 n
-0000903396 00000 n
+0000036227 00000 n
+0000899874 00000 n
0000000065 00000 n
0000000264 00000 n
-0000036307 00000 n
-0000903309 00000 n
+0000036287 00000 n
+0000899787 00000 n
0000000309 00000 n
0000000527 00000 n
-0000041554 00000 n
-0000903220 00000 n
+0000041534 00000 n
+0000899698 00000 n
0000000573 00000 n
0000000791 00000 n
-0000048698 00000 n
-0000903094 00000 n
+0000048678 00000 n
+0000899572 00000 n
0000000837 00000 n
0000000918 00000 n
-0000048759 00000 n
-0000903020 00000 n
+0000048739 00000 n
+0000899498 00000 n
0000000969 00000 n
0000001060 00000 n
-0000061966 00000 n
-0000902933 00000 n
+0000061960 00000 n
+0000899411 00000 n
0000001111 00000 n
0000001255 00000 n
-0000062027 00000 n
-0000902846 00000 n
+0000062021 00000 n
+0000899324 00000 n
0000001306 00000 n
0000001435 00000 n
-0000067664 00000 n
-0000902759 00000 n
+0000067658 00000 n
+0000899237 00000 n
0000001486 00000 n
0000001620 00000 n
-0000067725 00000 n
-0000902672 00000 n
+0000067719 00000 n
+0000899150 00000 n
0000001671 00000 n
0000001955 00000 n
-0000072749 00000 n
-0000902598 00000 n
+0000072575 00000 n
+0000899076 00000 n
0000002006 00000 n
0000002280 00000 n
-0000076448 00000 n
-0000902472 00000 n
+0000076254 00000 n
+0000898950 00000 n
0000002326 00000 n
0000002402 00000 n
-0000076509 00000 n
-0000902361 00000 n
+0000076315 00000 n
+0000898839 00000 n
0000002453 00000 n
0000002736 00000 n
-0000076570 00000 n
-0000902287 00000 n
+0000076376 00000 n
+0000898765 00000 n
0000002792 00000 n
0000002916 00000 n
-0000082153 00000 n
-0000902213 00000 n
+0000081959 00000 n
+0000898691 00000 n
0000002972 00000 n
0000003099 00000 n
-0000082214 00000 n
-0000902126 00000 n
+0000082020 00000 n
+0000898604 00000 n
0000003150 00000 n
0000003399 00000 n
-0000087855 00000 n
-0000902015 00000 n
+0000087662 00000 n
+0000898493 00000 n
0000003450 00000 n
0000003681 00000 n
-0000095216 00000 n
-0000901941 00000 n
+0000094747 00000 n
+0000898419 00000 n
0000003737 00000 n
0000003907 00000 n
-0000095277 00000 n
-0000901854 00000 n
+0000094808 00000 n
+0000898332 00000 n
0000003963 00000 n
0000004218 00000 n
-0000095338 00000 n
-0000901767 00000 n
+0000094869 00000 n
+0000898245 00000 n
0000004274 00000 n
0000004409 00000 n
-0000101885 00000 n
-0000901680 00000 n
+0000101387 00000 n
+0000898158 00000 n
0000004465 00000 n
0000004602 00000 n
-0000101945 00000 n
-0000901606 00000 n
+0000106540 00000 n
+0000898084 00000 n
0000004658 00000 n
0000004840 00000 n
-0000117887 00000 n
-0000901478 00000 n
+0000118487 00000 n
+0000897956 00000 n
0000004886 00000 n
0000005196 00000 n
-0000117948 00000 n
-0000901404 00000 n
+0000118548 00000 n
+0000897882 00000 n
0000005247 00000 n
0000005356 00000 n
-0000118009 00000 n
-0000901316 00000 n
+0000124513 00000 n
+0000897794 00000 n
0000005407 00000 n
0000005666 00000 n
-0000147326 00000 n
-0000901225 00000 n
+0000148342 00000 n
+0000897703 00000 n
0000005718 00000 n
0000005973 00000 n
-0000152605 00000 n
-0000901147 00000 n
+0000159481 00000 n
+0000897625 00000 n
0000006025 00000 n
0000006208 00000 n
-0000158221 00000 n
-0000901054 00000 n
+0000159543 00000 n
+0000897532 00000 n
0000006255 00000 n
0000006398 00000 n
-0000158283 00000 n
-0000900921 00000 n
+0000159605 00000 n
+0000897399 00000 n
0000006445 00000 n
0000006606 00000 n
-0000158344 00000 n
-0000900842 00000 n
+0000159667 00000 n
+0000897320 00000 n
0000006658 00000 n
0000006745 00000 n
-0000163543 00000 n
-0000900749 00000 n
+0000164997 00000 n
+0000897227 00000 n
0000006797 00000 n
0000006897 00000 n
-0000168102 00000 n
-0000900670 00000 n
+0000169691 00000 n
+0000897148 00000 n
0000006949 00000 n
0000007115 00000 n
-0000176073 00000 n
-0000900576 00000 n
+0000177107 00000 n
+0000897054 00000 n
0000007162 00000 n
0000007348 00000 n
-0000196560 00000 n
-0000900443 00000 n
+0000197838 00000 n
+0000896921 00000 n
0000007396 00000 n
0000007569 00000 n
-0000207136 00000 n
-0000900364 00000 n
+0000210578 00000 n
+0000896842 00000 n
0000007622 00000 n
0000007772 00000 n
-0000227499 00000 n
-0000900271 00000 n
+0000230914 00000 n
+0000896749 00000 n
0000007825 00000 n
0000008052 00000 n
-0000238342 00000 n
-0000900178 00000 n
+0000241757 00000 n
+0000896656 00000 n
0000008105 00000 n
0000008440 00000 n
-0000238404 00000 n
-0000900085 00000 n
+0000241819 00000 n
+0000896563 00000 n
0000008493 00000 n
0000008687 00000 n
-0000243576 00000 n
-0000899992 00000 n
+0000246991 00000 n
+0000896470 00000 n
0000008740 00000 n
0000008946 00000 n
-0000250520 00000 n
-0000899913 00000 n
+0000253949 00000 n
+0000896391 00000 n
0000008999 00000 n
0000009193 00000 n
-0000250581 00000 n
-0000899819 00000 n
+0000254011 00000 n
+0000896297 00000 n
0000009241 00000 n
0000009513 00000 n
-0000257878 00000 n
-0000899686 00000 n
+0000261319 00000 n
+0000896164 00000 n
0000009561 00000 n
0000009666 00000 n
-0000275396 00000 n
-0000899607 00000 n
+0000278840 00000 n
+0000896085 00000 n
0000009719 00000 n
0000009944 00000 n
-0000275458 00000 n
-0000899514 00000 n
+0000278902 00000 n
+0000895992 00000 n
0000009997 00000 n
0000010375 00000 n
-0000292652 00000 n
-0000899421 00000 n
+0000296096 00000 n
+0000895899 00000 n
0000010428 00000 n
0000010772 00000 n
-0000299077 00000 n
-0000899342 00000 n
+0000302085 00000 n
+0000895820 00000 n
0000010825 00000 n
0000011095 00000 n
-0000299139 00000 n
-0000899209 00000 n
+0000302147 00000 n
+0000895687 00000 n
0000011143 00000 n
0000011357 00000 n
-0000299201 00000 n
-0000899130 00000 n
+0000302209 00000 n
+0000895608 00000 n
0000011410 00000 n
0000011548 00000 n
-0000304501 00000 n
-0000899037 00000 n
+0000307536 00000 n
+0000895515 00000 n
0000011601 00000 n
0000011698 00000 n
-0000304563 00000 n
-0000898944 00000 n
+0000307598 00000 n
+0000895422 00000 n
0000011751 00000 n
0000011889 00000 n
-0000312697 00000 n
-0000898851 00000 n
+0000316181 00000 n
+0000895329 00000 n
0000011942 00000 n
0000012153 00000 n
-0000321536 00000 n
-0000898772 00000 n
+0000325057 00000 n
+0000895250 00000 n
0000012206 00000 n
0000012453 00000 n
-0000321598 00000 n
-0000898638 00000 n
+0000325119 00000 n
+0000895116 00000 n
0000012501 00000 n
0000012603 00000 n
-0000321660 00000 n
-0000898559 00000 n
+0000325181 00000 n
+0000895037 00000 n
0000012656 00000 n
0000012806 00000 n
-0000330619 00000 n
-0000898466 00000 n
+0000334140 00000 n
+0000894944 00000 n
0000012859 00000 n
0000013004 00000 n
-0000330681 00000 n
-0000898373 00000 n
+0000334202 00000 n
+0000894851 00000 n
0000013057 00000 n
0000013282 00000 n
-0000330743 00000 n
-0000898280 00000 n
+0000334264 00000 n
+0000894758 00000 n
0000013335 00000 n
0000013557 00000 n
-0000336129 00000 n
-0000898187 00000 n
+0000339872 00000 n
+0000894665 00000 n
0000013610 00000 n
0000013743 00000 n
-0000336191 00000 n
-0000898094 00000 n
+0000339934 00000 n
+0000894572 00000 n
0000013796 00000 n
0000013911 00000 n
-0000342220 00000 n
-0000898001 00000 n
+0000346082 00000 n
+0000894479 00000 n
0000013964 00000 n
0000014135 00000 n
-0000347893 00000 n
-0000897908 00000 n
+0000351742 00000 n
+0000894386 00000 n
0000014188 00000 n
0000014323 00000 n
-0000347955 00000 n
-0000897815 00000 n
+0000351804 00000 n
+0000894293 00000 n
0000014376 00000 n
0000014529 00000 n
-0000348017 00000 n
-0000897722 00000 n
+0000351866 00000 n
+0000894200 00000 n
0000014583 00000 n
0000014809 00000 n
-0000348079 00000 n
-0000897643 00000 n
+0000351928 00000 n
+0000894121 00000 n
0000014863 00000 n
0000015056 00000 n
-0000354421 00000 n
-0000897510 00000 n
+0000358270 00000 n
+0000893988 00000 n
0000015104 00000 n
0000015280 00000 n
-0000354483 00000 n
-0000897392 00000 n
+0000358332 00000 n
+0000893870 00000 n
0000015333 00000 n
0000015646 00000 n
-0000359643 00000 n
-0000897313 00000 n
+0000363491 00000 n
+0000893791 00000 n
0000015704 00000 n
0000015844 00000 n
-0000359704 00000 n
-0000897234 00000 n
+0000363553 00000 n
+0000893712 00000 n
0000015902 00000 n
0000016068 00000 n
-0000367416 00000 n
-0000897141 00000 n
+0000371265 00000 n
+0000893619 00000 n
0000016121 00000 n
0000016348 00000 n
-0000375116 00000 n
-0000897048 00000 n
+0000378965 00000 n
+0000893526 00000 n
0000016401 00000 n
0000016704 00000 n
-0000380729 00000 n
-0000896969 00000 n
+0000384577 00000 n
+0000893447 00000 n
0000016757 00000 n
0000017052 00000 n
-0000384694 00000 n
-0000896875 00000 n
+0000388877 00000 n
+0000893353 00000 n
0000017100 00000 n
0000017248 00000 n
-0000398044 00000 n
-0000896742 00000 n
+0000402196 00000 n
+0000893220 00000 n
0000017296 00000 n
0000017413 00000 n
-0000398106 00000 n
-0000896663 00000 n
+0000402258 00000 n
+0000893141 00000 n
0000017466 00000 n
0000017568 00000 n
-0000398167 00000 n
-0000896570 00000 n
+0000402319 00000 n
+0000893048 00000 n
0000017621 00000 n
0000017731 00000 n
-0000404052 00000 n
-0000896477 00000 n
+0000408203 00000 n
+0000892955 00000 n
0000017784 00000 n
0000017974 00000 n
-0000404113 00000 n
-0000896398 00000 n
+0000408264 00000 n
+0000892876 00000 n
0000018027 00000 n
0000018141 00000 n
-0000412542 00000 n
-0000896264 00000 n
+0000416695 00000 n
+0000892742 00000 n
0000018189 00000 n
0000018258 00000 n
-0000412604 00000 n
-0000896185 00000 n
+0000416757 00000 n
+0000892663 00000 n
0000018311 00000 n
0000018622 00000 n
-0000416602 00000 n
-0000896092 00000 n
+0000420755 00000 n
+0000892570 00000 n
0000018675 00000 n
0000018800 00000 n
-0000416664 00000 n
-0000895999 00000 n
+0000420817 00000 n
+0000892477 00000 n
0000018853 00000 n
0000018996 00000 n
-0000440441 00000 n
-0000895906 00000 n
+0000444599 00000 n
+0000892384 00000 n
0000019049 00000 n
0000019141 00000 n
-0000440503 00000 n
-0000895813 00000 n
+0000444661 00000 n
+0000892291 00000 n
0000019194 00000 n
0000019436 00000 n
-0000451340 00000 n
-0000895720 00000 n
+0000455498 00000 n
+0000892198 00000 n
0000019489 00000 n
0000019581 00000 n
-0000451402 00000 n
-0000895627 00000 n
+0000455560 00000 n
+0000892105 00000 n
0000019634 00000 n
0000019759 00000 n
-0000470015 00000 n
-0000895534 00000 n
+0000474179 00000 n
+0000892012 00000 n
0000019812 00000 n
0000020029 00000 n
-0000487940 00000 n
-0000895441 00000 n
+0000492045 00000 n
+0000891919 00000 n
0000020082 00000 n
0000020352 00000 n
-0000491419 00000 n
-0000895362 00000 n
+0000495524 00000 n
+0000891840 00000 n
0000020406 00000 n
0000020541 00000 n
-0000493937 00000 n
-0000895268 00000 n
+0000498042 00000 n
+0000891746 00000 n
0000020589 00000 n
0000020653 00000 n
-0000543497 00000 n
-0000895188 00000 n
+0000548600 00000 n
+0000891666 00000 n
0000020701 00000 n
0000020755 00000 n
-0000030907 00000 n
-0000031073 00000 n
-0000031435 00000 n
+0000030887 00000 n
+0000031053 00000 n
+0000031415 00000 n
0000020807 00000 n
-0000031311 00000 n
-0000031373 00000 n
-0000748638 00000 n
-0000744026 00000 n
-0000741573 00000 n
-0000736286 00000 n
-0000732940 00000 n
-0000730308 00000 n
-0000725345 00000 n
-0000722638 00000 n
-0000891478 00000 n
-0000892206 00000 n
-0000892786 00000 n
-0000892061 00000 n
-0000891770 00000 n
-0000892929 00000 n
-0000712480 00000 n
-0000892497 00000 n
-0000701377 00000 n
-0000696762 00000 n
-0000686693 00000 n
-0000678964 00000 n
-0000674569 00000 n
-0000668703 00000 n
-0000659904 00000 n
-0000657020 00000 n
-0000653713 00000 n
-0000644326 00000 n
-0000640864 00000 n
-0000893646 00000 n
-0000031044 00000 n
-0000036026 00000 n
-0000041338 00000 n
-0000036367 00000 n
-0000035860 00000 n
-0000031897 00000 n
-0000036185 00000 n
-0000632097 00000 n
-0000623446 00000 n
-0000893215 00000 n
-0000035997 00000 n
-0000041870 00000 n
-0000041172 00000 n
-0000036686 00000 n
-0000041492 00000 n
-0000891624 00000 n
-0000041614 00000 n
-0000041678 00000 n
-0000041742 00000 n
-0000041806 00000 n
-0000619981 00000 n
-0000041309 00000 n
-0000048324 00000 n
-0000048479 00000 n
-0000048820 00000 n
-0000048150 00000 n
-0000042228 00000 n
-0000048636 00000 n
-0000891916 00000 n
-0000048287 00000 n
+0000031291 00000 n
+0000031353 00000 n
+0000752519 00000 n
+0000747907 00000 n
+0000745454 00000 n
+0000740039 00000 n
+0000736693 00000 n
+0000734061 00000 n
+0000729098 00000 n
+0000726391 00000 n
+0000888099 00000 n
+0000888827 00000 n
+0000889407 00000 n
+0000888682 00000 n
+0000888391 00000 n
+0000889550 00000 n
+0000716233 00000 n
+0000889118 00000 n
+0000705130 00000 n
+0000700515 00000 n
+0000690446 00000 n
+0000682717 00000 n
+0000678322 00000 n
+0000672456 00000 n
+0000664034 00000 n
+0000661150 00000 n
+0000657843 00000 n
+0000648456 00000 n
+0000644994 00000 n
+0000890124 00000 n
+0000031024 00000 n
+0000036006 00000 n
+0000041318 00000 n
+0000036347 00000 n
+0000035840 00000 n
+0000031877 00000 n
+0000036165 00000 n
+0000636227 00000 n
+0000627576 00000 n
+0000889693 00000 n
+0000035977 00000 n
+0000041850 00000 n
+0000041152 00000 n
+0000036666 00000 n
+0000041472 00000 n
+0000888245 00000 n
+0000041594 00000 n
+0000041658 00000 n
+0000041722 00000 n
+0000041786 00000 n
+0000624111 00000 n
+0000041289 00000 n
+0000048304 00000 n
+0000048459 00000 n
+0000048800 00000 n
+0000048130 00000 n
+0000042208 00000 n
+0000048616 00000 n
+0000888537 00000 n
+0000048267 00000 n
0000055321 00000 n
0000055473 00000 n
0000054221 00000 n
@@ -8570,1140 +8466,1142 @@ xref
0000054847 00000 n
0000055001 00000 n
0000055161 00000 n
-0000060955 00000 n
-0000061114 00000 n
+0000060953 00000 n
+0000061112 00000 n
0000055687 00000 n
0000053991 00000 n
-0000049100 00000 n
+0000049080 00000 n
0000055625 00000 n
0000054128 00000 n
-0000061273 00000 n
-0000061432 00000 n
-0000061590 00000 n
-0000061747 00000 n
-0000062088 00000 n
-0000060749 00000 n
+0000061271 00000 n
+0000061429 00000 n
+0000061587 00000 n
+0000061742 00000 n
+0000062082 00000 n
+0000060747 00000 n
0000055967 00000 n
-0000061904 00000 n
-0000060886 00000 n
-0000067786 00000 n
-0000067481 00000 n
-0000062277 00000 n
-0000067602 00000 n
-0000072810 00000 n
-0000072566 00000 n
-0000068040 00000 n
-0000072687 00000 n
-0000076631 00000 n
-0000076265 00000 n
-0000073038 00000 n
-0000076386 00000 n
-0000081620 00000 n
-0000081773 00000 n
-0000081937 00000 n
-0000082275 00000 n
-0000081438 00000 n
-0000076820 00000 n
-0000082091 00000 n
-0000614656 00000 n
-0000081575 00000 n
-0000087003 00000 n
-0000087157 00000 n
-0000087311 00000 n
-0000087475 00000 n
-0000087629 00000 n
-0000087916 00000 n
-0000086805 00000 n
-0000082490 00000 n
-0000087793 00000 n
-0000893799 00000 n
-0000086942 00000 n
-0000094517 00000 n
-0000094677 00000 n
-0000094836 00000 n
-0000094996 00000 n
-0000101508 00000 n
-0000101666 00000 n
-0000095399 00000 n
-0000094327 00000 n
-0000088170 00000 n
-0000095154 00000 n
-0000892351 00000 n
-0000094464 00000 n
-0000101189 00000 n
-0000101348 00000 n
-0000102006 00000 n
-0000100999 00000 n
-0000095692 00000 n
-0000101823 00000 n
-0000101136 00000 n
-0000106232 00000 n
-0000106049 00000 n
-0000102247 00000 n
-0000106170 00000 n
-0000110057 00000 n
-0000110274 00000 n
-0000109891 00000 n
-0000106486 00000 n
-0000110212 00000 n
-0000110028 00000 n
-0000118070 00000 n
-0000117704 00000 n
-0000110515 00000 n
-0000117825 00000 n
-0000123667 00000 n
-0000123183 00000 n
-0000123347 00000 n
-0000123507 00000 n
-0000129294 00000 n
-0000123887 00000 n
-0000122993 00000 n
-0000118324 00000 n
-0000123825 00000 n
-0000123130 00000 n
-0000129448 00000 n
-0000129670 00000 n
-0000129120 00000 n
-0000124141 00000 n
-0000129608 00000 n
-0000129257 00000 n
-0000134532 00000 n
-0000134748 00000 n
-0000134366 00000 n
-0000129911 00000 n
-0000134686 00000 n
-0000134503 00000 n
-0000140227 00000 n
-0000140077 00000 n
-0000140447 00000 n
-0000139903 00000 n
-0000134963 00000 n
-0000140385 00000 n
-0000140040 00000 n
-0000147115 00000 n
-0000147388 00000 n
-0000146949 00000 n
-0000140662 00000 n
-0000147264 00000 n
-0000893952 00000 n
-0000147086 00000 n
-0000152667 00000 n
-0000152422 00000 n
-0000147681 00000 n
-0000152543 00000 n
-0000157692 00000 n
-0000157846 00000 n
-0000158006 00000 n
-0000158406 00000 n
-0000157510 00000 n
-0000152921 00000 n
-0000158159 00000 n
-0000157647 00000 n
-0000163328 00000 n
-0000163605 00000 n
-0000163162 00000 n
-0000158647 00000 n
-0000163481 00000 n
-0000163299 00000 n
-0000168164 00000 n
-0000167919 00000 n
-0000163859 00000 n
-0000168040 00000 n
-0000175219 00000 n
-0000175384 00000 n
-0000175543 00000 n
-0000175702 00000 n
-0000175856 00000 n
-0000176135 00000 n
-0000175021 00000 n
-0000168444 00000 n
-0000176011 00000 n
-0000175158 00000 n
-0000183298 00000 n
-0000183458 00000 n
-0000183622 00000 n
-0000183776 00000 n
-0000183996 00000 n
-0000183108 00000 n
-0000176402 00000 n
-0000183934 00000 n
-0000183245 00000 n
-0000196182 00000 n
-0000196341 00000 n
-0000206920 00000 n
-0000196622 00000 n
-0000196008 00000 n
-0000184224 00000 n
-0000196498 00000 n
-0000610267 00000 n
-0000196145 00000 n
-0000207197 00000 n
-0000206754 00000 n
-0000196928 00000 n
-0000207074 00000 n
-0000206891 00000 n
-0000227561 00000 n
-0000227316 00000 n
-0000207464 00000 n
-0000227437 00000 n
-0000237960 00000 n
-0000238120 00000 n
-0000242981 00000 n
-0000238466 00000 n
-0000237786 00000 n
-0000227867 00000 n
-0000238280 00000 n
-0000894105 00000 n
-0000237923 00000 n
-0000243140 00000 n
-0000243294 00000 n
-0000243638 00000 n
-0000242799 00000 n
-0000238720 00000 n
-0000243514 00000 n
-0000607732 00000 n
-0000242936 00000 n
-0000250300 00000 n
-0000250643 00000 n
-0000250134 00000 n
-0000243905 00000 n
-0000250458 00000 n
-0000250271 00000 n
-0000256714 00000 n
-0000256873 00000 n
-0000257032 00000 n
-0000257184 00000 n
-0000257344 00000 n
-0000257659 00000 n
-0000257504 00000 n
-0000257940 00000 n
-0000256500 00000 n
-0000250962 00000 n
-0000257816 00000 n
-0000893503 00000 n
-0000256637 00000 n
-0000275015 00000 n
-0000275174 00000 n
-0000275520 00000 n
-0000274841 00000 n
-0000258272 00000 n
-0000275334 00000 n
-0000274978 00000 n
-0000281433 00000 n
-0000281588 00000 n
-0000281805 00000 n
-0000281259 00000 n
-0000275774 00000 n
-0000281743 00000 n
-0000281396 00000 n
-0000286677 00000 n
-0000286837 00000 n
-0000286997 00000 n
-0000287219 00000 n
-0000286495 00000 n
-0000282020 00000 n
-0000287157 00000 n
-0000286632 00000 n
-0000292396 00000 n
-0000292714 00000 n
-0000292230 00000 n
-0000287499 00000 n
-0000292590 00000 n
-0000292367 00000 n
-0000298076 00000 n
-0000298229 00000 n
-0000298392 00000 n
-0000298546 00000 n
-0000298699 00000 n
-0000298857 00000 n
-0000299263 00000 n
-0000297870 00000 n
-0000293020 00000 n
-0000299015 00000 n
-0000298007 00000 n
-0000312251 00000 n
-0000304133 00000 n
-0000304286 00000 n
-0000304880 00000 n
-0000303959 00000 n
-0000299491 00000 n
-0000304439 00000 n
-0000304625 00000 n
-0000604669 00000 n
-0000304688 00000 n
-0000304752 00000 n
-0000304816 00000 n
-0000304096 00000 n
-0000308741 00000 n
-0000308900 00000 n
-0000309117 00000 n
-0000308567 00000 n
-0000305082 00000 n
-0000309055 00000 n
-0000894258 00000 n
-0000308704 00000 n
-0000312759 00000 n
-0000312068 00000 n
-0000309345 00000 n
-0000312189 00000 n
-0000312313 00000 n
-0000312377 00000 n
-0000312441 00000 n
-0000312505 00000 n
-0000312569 00000 n
-0000312633 00000 n
-0000316788 00000 n
-0000316948 00000 n
-0000317170 00000 n
-0000316614 00000 n
-0000312974 00000 n
-0000317108 00000 n
-0000316751 00000 n
-0000320669 00000 n
-0000320829 00000 n
-0000320988 00000 n
-0000321147 00000 n
-0000321310 00000 n
-0000321721 00000 n
-0000320471 00000 n
-0000317346 00000 n
-0000321474 00000 n
-0000320608 00000 n
-0000330805 00000 n
-0000330436 00000 n
-0000321962 00000 n
-0000330557 00000 n
-0000335915 00000 n
-0000336253 00000 n
-0000335749 00000 n
-0000331072 00000 n
-0000336067 00000 n
-0000893360 00000 n
-0000335886 00000 n
-0000341536 00000 n
-0000341691 00000 n
-0000341845 00000 n
-0000342003 00000 n
-0000342282 00000 n
-0000341346 00000 n
-0000336585 00000 n
-0000342158 00000 n
-0000891332 00000 n
-0000893072 00000 n
-0000341483 00000 n
-0000347518 00000 n
-0000347677 00000 n
-0000353553 00000 n
-0000348141 00000 n
-0000347344 00000 n
-0000342588 00000 n
-0000347831 00000 n
-0000347481 00000 n
-0000353743 00000 n
-0000353896 00000 n
-0000354058 00000 n
-0000354209 00000 n
-0000354545 00000 n
-0000353355 00000 n
-0000348408 00000 n
-0000354359 00000 n
-0000353492 00000 n
-0000359100 00000 n
-0000359261 00000 n
-0000359422 00000 n
-0000359766 00000 n
-0000358918 00000 n
-0000354851 00000 n
-0000359581 00000 n
-0000359055 00000 n
-0000367200 00000 n
-0000367478 00000 n
-0000367034 00000 n
-0000359981 00000 n
-0000367354 00000 n
-0000894411 00000 n
-0000367171 00000 n
-0000374897 00000 n
-0000375178 00000 n
-0000374731 00000 n
-0000367758 00000 n
-0000375054 00000 n
-0000602166 00000 n
-0000374868 00000 n
-0000380508 00000 n
-0000380791 00000 n
-0000380342 00000 n
-0000375445 00000 n
-0000380667 00000 n
-0000380479 00000 n
-0000384756 00000 n
-0000384511 00000 n
-0000381019 00000 n
-0000384632 00000 n
-0000397818 00000 n
-0000403438 00000 n
-0000403597 00000 n
-0000398229 00000 n
-0000397652 00000 n
-0000384997 00000 n
-0000397982 00000 n
-0000397789 00000 n
-0000403756 00000 n
-0000403274 00000 n
-0000411847 00000 n
-0000412011 00000 n
-0000404175 00000 n
-0000403084 00000 n
-0000398483 00000 n
-0000403990 00000 n
-0000599681 00000 n
-0000403221 00000 n
-0000404442 00000 n
-0000404760 00000 n
-0000405086 00000 n
-0000405290 00000 n
-0000405768 00000 n
-0000406112 00000 n
-0000406316 00000 n
-0000412174 00000 n
-0000412327 00000 n
-0000412666 00000 n
-0000411657 00000 n
-0000406958 00000 n
-0000412480 00000 n
-0000411794 00000 n
-0000416230 00000 n
-0000416385 00000 n
-0000416726 00000 n
-0000416056 00000 n
-0000412961 00000 n
-0000416540 00000 n
-0000416193 00000 n
-0000420363 00000 n
-0000420052 00000 n
-0000416941 00000 n
-0000420173 00000 n
-0000420235 00000 n
-0000420299 00000 n
-0000440565 00000 n
-0000440258 00000 n
-0000420539 00000 n
-0000440379 00000 n
-0000446616 00000 n
-0000446433 00000 n
-0000440832 00000 n
-0000446554 00000 n
-0000894564 00000 n
-0000451464 00000 n
-0000451157 00000 n
-0000446909 00000 n
-0000451278 00000 n
-0000455079 00000 n
-0000454896 00000 n
-0000451679 00000 n
-0000455017 00000 n
-0000458596 00000 n
-0000458413 00000 n
-0000455320 00000 n
-0000458534 00000 n
-0000462970 00000 n
-0000462787 00000 n
-0000458837 00000 n
-0000462908 00000 n
-0000469793 00000 n
-0000470077 00000 n
-0000469627 00000 n
-0000463198 00000 n
-0000469953 00000 n
-0000469764 00000 n
-0000475750 00000 n
-0000475567 00000 n
-0000470409 00000 n
-0000475688 00000 n
-0000488002 00000 n
-0000487757 00000 n
-0000475965 00000 n
-0000487878 00000 n
-0000491481 00000 n
-0000491236 00000 n
-0000488243 00000 n
-0000491357 00000 n
-0000493999 00000 n
-0000493754 00000 n
-0000491631 00000 n
-0000493875 00000 n
-0000496721 00000 n
-0000496538 00000 n
-0000494201 00000 n
-0000496659 00000 n
-0000894717 00000 n
-0000499525 00000 n
-0000499342 00000 n
-0000496884 00000 n
-0000499463 00000 n
-0000502602 00000 n
-0000502419 00000 n
-0000499688 00000 n
-0000502540 00000 n
-0000505560 00000 n
-0000505377 00000 n
-0000502778 00000 n
-0000505498 00000 n
-0000508454 00000 n
-0000508271 00000 n
-0000505749 00000 n
-0000508392 00000 n
-0000512176 00000 n
-0000511993 00000 n
-0000508630 00000 n
-0000512114 00000 n
-0000515213 00000 n
-0000515030 00000 n
-0000512378 00000 n
-0000515151 00000 n
-0000519968 00000 n
-0000519785 00000 n
-0000515428 00000 n
-0000519906 00000 n
-0000892642 00000 n
-0000521696 00000 n
-0000521513 00000 n
-0000520248 00000 n
-0000521634 00000 n
-0000526279 00000 n
-0000526430 00000 n
-0000526582 00000 n
-0000526734 00000 n
-0000526886 00000 n
-0000527038 00000 n
-0000527190 00000 n
-0000527341 00000 n
-0000527492 00000 n
-0000527644 00000 n
-0000527796 00000 n
-0000527947 00000 n
-0000528095 00000 n
-0000528244 00000 n
-0000528396 00000 n
-0000528548 00000 n
-0000528698 00000 n
-0000528850 00000 n
-0000529001 00000 n
-0000529153 00000 n
-0000529303 00000 n
-0000529455 00000 n
-0000529606 00000 n
-0000529758 00000 n
-0000529906 00000 n
-0000530055 00000 n
-0000530206 00000 n
-0000530358 00000 n
-0000530507 00000 n
-0000530656 00000 n
-0000530806 00000 n
-0000530958 00000 n
-0000531109 00000 n
-0000531261 00000 n
-0000531413 00000 n
-0000531565 00000 n
-0000531716 00000 n
-0000531868 00000 n
-0000532020 00000 n
-0000532171 00000 n
-0000532322 00000 n
-0000532474 00000 n
-0000532626 00000 n
-0000532777 00000 n
-0000532929 00000 n
-0000533081 00000 n
-0000533232 00000 n
-0000533384 00000 n
-0000533536 00000 n
-0000533687 00000 n
-0000533839 00000 n
-0000533991 00000 n
-0000534143 00000 n
-0000534294 00000 n
-0000534446 00000 n
-0000534596 00000 n
-0000534745 00000 n
-0000534896 00000 n
-0000535047 00000 n
-0000535199 00000 n
-0000535350 00000 n
-0000535501 00000 n
-0000535653 00000 n
-0000535805 00000 n
-0000535956 00000 n
-0000536108 00000 n
-0000536260 00000 n
-0000536413 00000 n
-0000536566 00000 n
-0000536719 00000 n
-0000536872 00000 n
-0000537022 00000 n
-0000537175 00000 n
-0000537328 00000 n
-0000537481 00000 n
-0000537634 00000 n
-0000537786 00000 n
-0000537939 00000 n
-0000538092 00000 n
-0000538244 00000 n
-0000538397 00000 n
-0000538550 00000 n
-0000538703 00000 n
-0000538856 00000 n
-0000539008 00000 n
-0000539161 00000 n
-0000539314 00000 n
-0000539467 00000 n
-0000539620 00000 n
-0000539773 00000 n
-0000539926 00000 n
-0000540079 00000 n
-0000540232 00000 n
-0000540385 00000 n
-0000540538 00000 n
-0000540691 00000 n
-0000540844 00000 n
-0000540997 00000 n
-0000541150 00000 n
-0000541302 00000 n
-0000541454 00000 n
-0000541607 00000 n
-0000541760 00000 n
-0000541912 00000 n
-0000542064 00000 n
-0000542217 00000 n
-0000542369 00000 n
-0000542522 00000 n
-0000542675 00000 n
-0000542827 00000 n
-0000542979 00000 n
-0000543131 00000 n
-0000543282 00000 n
-0000548216 00000 n
-0000548369 00000 n
-0000543560 00000 n
-0000525165 00000 n
-0000521859 00000 n
-0000543433 00000 n
-0000525306 00000 n
-0000548521 00000 n
-0000548673 00000 n
-0000548824 00000 n
-0000548977 00000 n
-0000549129 00000 n
-0000549282 00000 n
-0000549433 00000 n
-0000549584 00000 n
-0000549736 00000 n
-0000549888 00000 n
-0000550040 00000 n
-0000550193 00000 n
-0000550346 00000 n
-0000550499 00000 n
-0000550652 00000 n
-0000550804 00000 n
-0000550956 00000 n
-0000551108 00000 n
-0000551261 00000 n
-0000551414 00000 n
-0000551566 00000 n
-0000551718 00000 n
-0000551871 00000 n
-0000552024 00000 n
-0000552177 00000 n
-0000552330 00000 n
-0000552483 00000 n
-0000552636 00000 n
-0000552789 00000 n
-0000552942 00000 n
-0000553094 00000 n
-0000553246 00000 n
-0000553397 00000 n
-0000553549 00000 n
-0000553702 00000 n
-0000553855 00000 n
-0000554008 00000 n
-0000554161 00000 n
-0000554314 00000 n
-0000554467 00000 n
-0000554619 00000 n
-0000554772 00000 n
-0000554925 00000 n
-0000555076 00000 n
-0000555229 00000 n
-0000555382 00000 n
-0000555533 00000 n
-0000555684 00000 n
-0000555834 00000 n
-0000555987 00000 n
-0000556140 00000 n
-0000556293 00000 n
-0000556446 00000 n
-0000556598 00000 n
-0000556751 00000 n
-0000556902 00000 n
-0000557055 00000 n
-0000557208 00000 n
-0000557361 00000 n
-0000557513 00000 n
-0000557666 00000 n
-0000557819 00000 n
-0000557972 00000 n
-0000558125 00000 n
-0000558278 00000 n
-0000558430 00000 n
-0000558582 00000 n
-0000558735 00000 n
-0000558888 00000 n
-0000559040 00000 n
-0000559193 00000 n
-0000559346 00000 n
-0000559499 00000 n
-0000559651 00000 n
-0000559804 00000 n
-0000559957 00000 n
-0000560110 00000 n
-0000560262 00000 n
-0000560415 00000 n
-0000560568 00000 n
-0000560721 00000 n
-0000560874 00000 n
-0000561026 00000 n
-0000561179 00000 n
-0000561330 00000 n
-0000561483 00000 n
-0000561634 00000 n
-0000561786 00000 n
-0000561939 00000 n
-0000562092 00000 n
-0000562244 00000 n
-0000562395 00000 n
-0000562546 00000 n
-0000562699 00000 n
-0000562852 00000 n
-0000563005 00000 n
-0000563155 00000 n
-0000566882 00000 n
-0000567035 00000 n
-0000563369 00000 n
-0000547161 00000 n
-0000543750 00000 n
-0000563305 00000 n
-0000894871 00000 n
-0000547303 00000 n
-0000567188 00000 n
-0000567340 00000 n
-0000567492 00000 n
-0000567645 00000 n
-0000567797 00000 n
-0000567950 00000 n
-0000568101 00000 n
-0000568252 00000 n
-0000568405 00000 n
-0000568558 00000 n
-0000568711 00000 n
-0000568863 00000 n
-0000569015 00000 n
-0000569167 00000 n
-0000569319 00000 n
-0000569471 00000 n
-0000569624 00000 n
-0000569776 00000 n
-0000569929 00000 n
-0000570082 00000 n
-0000570235 00000 n
-0000570386 00000 n
-0000570538 00000 n
-0000570690 00000 n
-0000570843 00000 n
-0000570996 00000 n
-0000571149 00000 n
-0000571302 00000 n
-0000571455 00000 n
-0000571608 00000 n
-0000571761 00000 n
-0000571914 00000 n
-0000572067 00000 n
-0000572219 00000 n
-0000572372 00000 n
-0000572525 00000 n
-0000572677 00000 n
-0000572830 00000 n
-0000572983 00000 n
-0000573136 00000 n
-0000573288 00000 n
-0000573441 00000 n
-0000573593 00000 n
-0000573746 00000 n
-0000573898 00000 n
-0000574049 00000 n
-0000574201 00000 n
-0000574354 00000 n
-0000574507 00000 n
-0000574659 00000 n
-0000574811 00000 n
-0000574963 00000 n
-0000575115 00000 n
-0000575267 00000 n
-0000575420 00000 n
-0000575573 00000 n
-0000575725 00000 n
-0000575875 00000 n
-0000576028 00000 n
-0000576180 00000 n
-0000576332 00000 n
-0000576485 00000 n
-0000576637 00000 n
-0000576790 00000 n
-0000576943 00000 n
-0000577096 00000 n
-0000577249 00000 n
-0000577402 00000 n
-0000577555 00000 n
-0000577772 00000 n
-0000566079 00000 n
-0000563546 00000 n
-0000577708 00000 n
-0000566221 00000 n
-0000580639 00000 n
-0000580793 00000 n
-0000580947 00000 n
-0000581101 00000 n
-0000581255 00000 n
-0000581414 00000 n
-0000581573 00000 n
-0000581732 00000 n
-0000581891 00000 n
-0000582049 00000 n
-0000582208 00000 n
-0000582360 00000 n
-0000582519 00000 n
-0000582683 00000 n
-0000582848 00000 n
-0000583007 00000 n
-0000583166 00000 n
-0000583330 00000 n
-0000583495 00000 n
-0000583660 00000 n
-0000583825 00000 n
-0000583990 00000 n
-0000584143 00000 n
-0000584301 00000 n
-0000584460 00000 n
-0000584619 00000 n
-0000584777 00000 n
-0000584930 00000 n
-0000585084 00000 n
-0000585243 00000 n
-0000585402 00000 n
-0000585561 00000 n
-0000585715 00000 n
-0000585870 00000 n
-0000586030 00000 n
-0000586190 00000 n
-0000586350 00000 n
-0000586510 00000 n
-0000586670 00000 n
-0000586830 00000 n
-0000586985 00000 n
-0000587140 00000 n
-0000587300 00000 n
-0000587460 00000 n
-0000587619 00000 n
-0000587778 00000 n
-0000590670 00000 n
-0000587995 00000 n
-0000580061 00000 n
-0000577949 00000 n
-0000587931 00000 n
-0000580203 00000 n
-0000590830 00000 n
-0000590989 00000 n
-0000591148 00000 n
-0000591307 00000 n
-0000591467 00000 n
-0000591622 00000 n
-0000591782 00000 n
-0000591941 00000 n
-0000592101 00000 n
-0000592260 00000 n
-0000592419 00000 n
-0000592578 00000 n
-0000592738 00000 n
-0000592898 00000 n
-0000593057 00000 n
-0000593218 00000 n
-0000593379 00000 n
-0000593534 00000 n
-0000593694 00000 n
-0000593860 00000 n
-0000594026 00000 n
-0000594186 00000 n
-0000594346 00000 n
-0000594505 00000 n
-0000594659 00000 n
-0000594814 00000 n
-0000594974 00000 n
-0000595134 00000 n
-0000595294 00000 n
-0000595454 00000 n
-0000595608 00000 n
-0000595768 00000 n
-0000595928 00000 n
-0000596088 00000 n
-0000596248 00000 n
-0000596408 00000 n
-0000596568 00000 n
-0000596728 00000 n
-0000596888 00000 n
-0000597048 00000 n
-0000597208 00000 n
-0000597363 00000 n
-0000597581 00000 n
-0000590119 00000 n
-0000588146 00000 n
-0000597517 00000 n
-0000590261 00000 n
-0000598000 00000 n
-0000598027 00000 n
-0000598982 00000 n
-0000598083 00000 n
+0000061898 00000 n
+0000060884 00000 n
+0000067780 00000 n
+0000067475 00000 n
+0000062271 00000 n
+0000067596 00000 n
+0000072636 00000 n
+0000072392 00000 n
+0000068034 00000 n
+0000072513 00000 n
+0000076437 00000 n
+0000076071 00000 n
+0000072851 00000 n
+0000076192 00000 n
+0000081426 00000 n
+0000081579 00000 n
+0000081743 00000 n
+0000082081 00000 n
+0000081244 00000 n
+0000076626 00000 n
+0000081897 00000 n
+0000618786 00000 n
+0000081381 00000 n
+0000086810 00000 n
+0000086964 00000 n
+0000087118 00000 n
+0000087282 00000 n
+0000087436 00000 n
+0000087723 00000 n
+0000086612 00000 n
+0000082296 00000 n
+0000087600 00000 n
+0000890277 00000 n
+0000086749 00000 n
+0000094048 00000 n
+0000094208 00000 n
+0000094367 00000 n
+0000094527 00000 n
+0000094930 00000 n
+0000093858 00000 n
+0000087977 00000 n
+0000094685 00000 n
+0000888972 00000 n
+0000093995 00000 n
+0000101008 00000 n
+0000101167 00000 n
+0000100689 00000 n
+0000100848 00000 n
+0000101447 00000 n
+0000100499 00000 n
+0000095210 00000 n
+0000101325 00000 n
+0000100636 00000 n
+0000106601 00000 n
+0000106357 00000 n
+0000101701 00000 n
+0000106478 00000 n
+0000111067 00000 n
+0000111284 00000 n
+0000110901 00000 n
+0000106868 00000 n
+0000111222 00000 n
+0000111038 00000 n
+0000118609 00000 n
+0000118304 00000 n
+0000111512 00000 n
+0000118425 00000 n
+0000124293 00000 n
+0000123809 00000 n
+0000123973 00000 n
+0000124133 00000 n
+0000124574 00000 n
+0000123619 00000 n
+0000118837 00000 n
+0000124451 00000 n
+0000123756 00000 n
+0000129768 00000 n
+0000129922 00000 n
+0000130144 00000 n
+0000129594 00000 n
+0000124841 00000 n
+0000130082 00000 n
+0000129731 00000 n
+0000135658 00000 n
+0000135872 00000 n
+0000135492 00000 n
+0000130359 00000 n
+0000135810 00000 n
+0000135629 00000 n
+0000141474 00000 n
+0000148126 00000 n
+0000141693 00000 n
+0000141308 00000 n
+0000136113 00000 n
+0000141631 00000 n
+0000141445 00000 n
+0000148404 00000 n
+0000147960 00000 n
+0000141908 00000 n
+0000148280 00000 n
+0000890430 00000 n
+0000148097 00000 n
+0000153749 00000 n
+0000153963 00000 n
+0000153583 00000 n
+0000148671 00000 n
+0000153901 00000 n
+0000153720 00000 n
+0000159105 00000 n
+0000159259 00000 n
+0000164630 00000 n
+0000159729 00000 n
+0000158931 00000 n
+0000154217 00000 n
+0000159419 00000 n
+0000159068 00000 n
+0000164783 00000 n
+0000165059 00000 n
+0000164456 00000 n
+0000159970 00000 n
+0000164935 00000 n
+0000164593 00000 n
+0000169753 00000 n
+0000169508 00000 n
+0000165339 00000 n
+0000169629 00000 n
+0000176408 00000 n
+0000176573 00000 n
+0000176732 00000 n
+0000176891 00000 n
+0000184849 00000 n
+0000177169 00000 n
+0000176218 00000 n
+0000170033 00000 n
+0000177045 00000 n
+0000176355 00000 n
+0000184371 00000 n
+0000184531 00000 n
+0000184695 00000 n
+0000197299 00000 n
+0000185066 00000 n
+0000184181 00000 n
+0000177384 00000 n
+0000185004 00000 n
+0000184318 00000 n
+0000197459 00000 n
+0000197618 00000 n
+0000197900 00000 n
+0000197117 00000 n
+0000185346 00000 n
+0000197776 00000 n
+0000614397 00000 n
+0000197254 00000 n
+0000210365 00000 n
+0000210640 00000 n
+0000210199 00000 n
+0000198206 00000 n
+0000210516 00000 n
+0000210336 00000 n
+0000230976 00000 n
+0000230731 00000 n
+0000210907 00000 n
+0000230852 00000 n
+0000241375 00000 n
+0000241535 00000 n
+0000246396 00000 n
+0000241881 00000 n
+0000241201 00000 n
+0000231282 00000 n
+0000241695 00000 n
+0000890583 00000 n
+0000241338 00000 n
+0000246555 00000 n
+0000246709 00000 n
+0000247053 00000 n
+0000246214 00000 n
+0000242135 00000 n
+0000246929 00000 n
+0000611862 00000 n
+0000246351 00000 n
+0000253729 00000 n
+0000254073 00000 n
+0000253563 00000 n
+0000247320 00000 n
+0000253887 00000 n
+0000253700 00000 n
+0000260151 00000 n
+0000260312 00000 n
+0000260473 00000 n
+0000260627 00000 n
+0000260786 00000 n
+0000261100 00000 n
+0000260945 00000 n
+0000261381 00000 n
+0000259937 00000 n
+0000254392 00000 n
+0000261257 00000 n
+0000889981 00000 n
+0000260074 00000 n
+0000278459 00000 n
+0000278618 00000 n
+0000278964 00000 n
+0000278285 00000 n
+0000261713 00000 n
+0000278778 00000 n
+0000278422 00000 n
+0000284877 00000 n
+0000285032 00000 n
+0000285249 00000 n
+0000284703 00000 n
+0000279218 00000 n
+0000285187 00000 n
+0000284840 00000 n
+0000290121 00000 n
+0000290281 00000 n
+0000290441 00000 n
+0000290663 00000 n
+0000289939 00000 n
+0000285464 00000 n
+0000290601 00000 n
+0000290076 00000 n
+0000295840 00000 n
+0000296158 00000 n
+0000295674 00000 n
+0000290943 00000 n
+0000296034 00000 n
+0000295811 00000 n
+0000301398 00000 n
+0000301552 00000 n
+0000301716 00000 n
+0000301870 00000 n
+0000306846 00000 n
+0000307006 00000 n
+0000302271 00000 n
+0000301208 00000 n
+0000296464 00000 n
+0000302023 00000 n
+0000301345 00000 n
+0000307166 00000 n
+0000307320 00000 n
+0000307914 00000 n
+0000306656 00000 n
+0000302499 00000 n
+0000307474 00000 n
+0000307660 00000 n
+0000608799 00000 n
+0000307723 00000 n
+0000307787 00000 n
+0000307850 00000 n
+0000306793 00000 n
+0000315737 00000 n
+0000312156 00000 n
+0000312316 00000 n
+0000312534 00000 n
+0000311982 00000 n
+0000308116 00000 n
+0000312472 00000 n
+0000890736 00000 n
+0000312119 00000 n
+0000316243 00000 n
+0000315554 00000 n
+0000312762 00000 n
+0000315675 00000 n
+0000315798 00000 n
+0000315862 00000 n
+0000315926 00000 n
+0000315990 00000 n
+0000316054 00000 n
+0000316118 00000 n
+0000320309 00000 n
+0000320469 00000 n
+0000320691 00000 n
+0000320135 00000 n
+0000316458 00000 n
+0000320629 00000 n
+0000320272 00000 n
+0000324190 00000 n
+0000324350 00000 n
+0000324509 00000 n
+0000324668 00000 n
+0000324831 00000 n
+0000325242 00000 n
+0000323992 00000 n
+0000320867 00000 n
+0000324995 00000 n
+0000324129 00000 n
+0000334326 00000 n
+0000333957 00000 n
+0000325483 00000 n
+0000334078 00000 n
+0000339660 00000 n
+0000339996 00000 n
+0000339494 00000 n
+0000334593 00000 n
+0000339810 00000 n
+0000889838 00000 n
+0000339631 00000 n
+0000345244 00000 n
+0000345399 00000 n
+0000345553 00000 n
+0000345711 00000 n
+0000345866 00000 n
+0000346144 00000 n
+0000345046 00000 n
+0000340341 00000 n
+0000346020 00000 n
+0000887953 00000 n
+0000345183 00000 n
+0000351367 00000 n
+0000351526 00000 n
+0000357402 00000 n
+0000351990 00000 n
+0000351193 00000 n
+0000346437 00000 n
+0000351680 00000 n
+0000351330 00000 n
+0000357592 00000 n
+0000357745 00000 n
+0000357907 00000 n
+0000358058 00000 n
+0000358394 00000 n
+0000357204 00000 n
+0000352257 00000 n
+0000358208 00000 n
+0000357341 00000 n
+0000362948 00000 n
+0000363109 00000 n
+0000363270 00000 n
+0000363615 00000 n
+0000362766 00000 n
+0000358700 00000 n
+0000363429 00000 n
+0000362903 00000 n
+0000371049 00000 n
+0000371327 00000 n
+0000370883 00000 n
+0000363830 00000 n
+0000371203 00000 n
+0000890889 00000 n
+0000371020 00000 n
+0000378746 00000 n
+0000379027 00000 n
+0000378580 00000 n
+0000371607 00000 n
+0000378903 00000 n
+0000606323 00000 n
+0000378717 00000 n
+0000384356 00000 n
+0000384639 00000 n
+0000384190 00000 n
+0000379294 00000 n
+0000384515 00000 n
+0000384327 00000 n
+0000388656 00000 n
+0000388939 00000 n
+0000388490 00000 n
+0000384867 00000 n
+0000388815 00000 n
+0000388627 00000 n
+0000401970 00000 n
+0000407589 00000 n
+0000407748 00000 n
+0000402380 00000 n
+0000401804 00000 n
+0000389180 00000 n
+0000402134 00000 n
+0000401941 00000 n
+0000407907 00000 n
+0000407425 00000 n
+0000416000 00000 n
+0000416164 00000 n
+0000408326 00000 n
+0000407235 00000 n
+0000402634 00000 n
+0000408141 00000 n
+0000603838 00000 n
+0000407372 00000 n
+0000408593 00000 n
+0000408911 00000 n
+0000409237 00000 n
+0000409441 00000 n
+0000409919 00000 n
+0000410263 00000 n
+0000410467 00000 n
+0000416327 00000 n
+0000416480 00000 n
+0000416819 00000 n
+0000415810 00000 n
+0000411109 00000 n
+0000416633 00000 n
+0000415947 00000 n
+0000420383 00000 n
+0000420538 00000 n
+0000420879 00000 n
+0000420209 00000 n
+0000417114 00000 n
+0000420693 00000 n
+0000420346 00000 n
+0000424521 00000 n
+0000424210 00000 n
+0000421094 00000 n
+0000424331 00000 n
+0000424393 00000 n
+0000424457 00000 n
+0000444723 00000 n
+0000444416 00000 n
+0000424697 00000 n
+0000444537 00000 n
+0000450774 00000 n
+0000450591 00000 n
+0000444990 00000 n
+0000450712 00000 n
+0000891042 00000 n
+0000455622 00000 n
+0000455315 00000 n
+0000451067 00000 n
+0000455436 00000 n
+0000459242 00000 n
+0000459059 00000 n
+0000455837 00000 n
+0000459180 00000 n
+0000462755 00000 n
+0000462572 00000 n
+0000459483 00000 n
+0000462693 00000 n
+0000467129 00000 n
+0000466946 00000 n
+0000462996 00000 n
+0000467067 00000 n
+0000473955 00000 n
+0000474241 00000 n
+0000473789 00000 n
+0000467357 00000 n
+0000474117 00000 n
+0000473926 00000 n
+0000479923 00000 n
+0000479740 00000 n
+0000474573 00000 n
+0000479861 00000 n
+0000492107 00000 n
+0000491862 00000 n
+0000480138 00000 n
+0000491983 00000 n
+0000495586 00000 n
+0000495341 00000 n
+0000492348 00000 n
+0000495462 00000 n
+0000498104 00000 n
+0000497859 00000 n
+0000495736 00000 n
+0000497980 00000 n
+0000500826 00000 n
+0000500643 00000 n
+0000498306 00000 n
+0000500764 00000 n
+0000891195 00000 n
+0000503630 00000 n
+0000503447 00000 n
+0000500989 00000 n
+0000503568 00000 n
+0000506707 00000 n
+0000506524 00000 n
+0000503793 00000 n
+0000506645 00000 n
+0000509665 00000 n
+0000509482 00000 n
+0000506883 00000 n
+0000509603 00000 n
+0000512559 00000 n
+0000512376 00000 n
+0000509854 00000 n
+0000512497 00000 n
+0000516281 00000 n
+0000516098 00000 n
+0000512735 00000 n
+0000516219 00000 n
+0000519318 00000 n
+0000519135 00000 n
+0000516483 00000 n
+0000519256 00000 n
+0000524073 00000 n
+0000523890 00000 n
+0000519533 00000 n
+0000524011 00000 n
+0000889263 00000 n
+0000525747 00000 n
+0000525564 00000 n
+0000524353 00000 n
+0000525685 00000 n
+0000530465 00000 n
+0000530616 00000 n
+0000530768 00000 n
+0000530920 00000 n
+0000531072 00000 n
+0000531224 00000 n
+0000531376 00000 n
+0000531527 00000 n
+0000531678 00000 n
+0000531830 00000 n
+0000531982 00000 n
+0000532133 00000 n
+0000532281 00000 n
+0000532430 00000 n
+0000532582 00000 n
+0000532734 00000 n
+0000532884 00000 n
+0000533036 00000 n
+0000533188 00000 n
+0000533340 00000 n
+0000533491 00000 n
+0000533643 00000 n
+0000533795 00000 n
+0000533946 00000 n
+0000534096 00000 n
+0000534247 00000 n
+0000534397 00000 n
+0000534548 00000 n
+0000534699 00000 n
+0000534850 00000 n
+0000535002 00000 n
+0000535153 00000 n
+0000535304 00000 n
+0000535456 00000 n
+0000535608 00000 n
+0000535760 00000 n
+0000535911 00000 n
+0000536063 00000 n
+0000536215 00000 n
+0000536366 00000 n
+0000536517 00000 n
+0000536669 00000 n
+0000536821 00000 n
+0000536972 00000 n
+0000537124 00000 n
+0000537276 00000 n
+0000537427 00000 n
+0000537579 00000 n
+0000537731 00000 n
+0000537883 00000 n
+0000538034 00000 n
+0000538186 00000 n
+0000538338 00000 n
+0000538490 00000 n
+0000538641 00000 n
+0000538793 00000 n
+0000538945 00000 n
+0000539097 00000 n
+0000539247 00000 n
+0000539397 00000 n
+0000539545 00000 n
+0000539697 00000 n
+0000539847 00000 n
+0000539998 00000 n
+0000540151 00000 n
+0000540303 00000 n
+0000540456 00000 n
+0000540609 00000 n
+0000540762 00000 n
+0000540915 00000 n
+0000541068 00000 n
+0000541221 00000 n
+0000541371 00000 n
+0000541524 00000 n
+0000541676 00000 n
+0000541828 00000 n
+0000541980 00000 n
+0000542132 00000 n
+0000542285 00000 n
+0000542438 00000 n
+0000542590 00000 n
+0000542743 00000 n
+0000542896 00000 n
+0000543048 00000 n
+0000543201 00000 n
+0000543354 00000 n
+0000543506 00000 n
+0000543658 00000 n
+0000543811 00000 n
+0000543963 00000 n
+0000544115 00000 n
+0000544268 00000 n
+0000544421 00000 n
+0000544574 00000 n
+0000544727 00000 n
+0000544880 00000 n
+0000545032 00000 n
+0000545184 00000 n
+0000545337 00000 n
+0000545489 00000 n
+0000545642 00000 n
+0000545794 00000 n
+0000545947 00000 n
+0000546100 00000 n
+0000546252 00000 n
+0000546404 00000 n
+0000546557 00000 n
+0000546710 00000 n
+0000546863 00000 n
+0000547016 00000 n
+0000547168 00000 n
+0000547321 00000 n
+0000547474 00000 n
+0000547627 00000 n
+0000547779 00000 n
+0000547931 00000 n
+0000548083 00000 n
+0000548236 00000 n
+0000548385 00000 n
+0000553657 00000 n
+0000553809 00000 n
+0000548663 00000 n
+0000529294 00000 n
+0000525910 00000 n
+0000548536 00000 n
+0000529435 00000 n
+0000553962 00000 n
+0000554114 00000 n
+0000554266 00000 n
+0000554419 00000 n
+0000554572 00000 n
+0000554724 00000 n
+0000554877 00000 n
+0000555030 00000 n
+0000555183 00000 n
+0000555336 00000 n
+0000555487 00000 n
+0000555639 00000 n
+0000555792 00000 n
+0000555945 00000 n
+0000556098 00000 n
+0000556250 00000 n
+0000556402 00000 n
+0000556553 00000 n
+0000556704 00000 n
+0000556857 00000 n
+0000557010 00000 n
+0000557163 00000 n
+0000557316 00000 n
+0000557469 00000 n
+0000557622 00000 n
+0000557775 00000 n
+0000557928 00000 n
+0000558080 00000 n
+0000558232 00000 n
+0000558385 00000 n
+0000558538 00000 n
+0000558691 00000 n
+0000558844 00000 n
+0000558997 00000 n
+0000559150 00000 n
+0000559303 00000 n
+0000559456 00000 n
+0000559609 00000 n
+0000559760 00000 n
+0000559913 00000 n
+0000560066 00000 n
+0000560219 00000 n
+0000560371 00000 n
+0000560523 00000 n
+0000560675 00000 n
+0000560827 00000 n
+0000560980 00000 n
+0000561133 00000 n
+0000561286 00000 n
+0000561438 00000 n
+0000561589 00000 n
+0000561739 00000 n
+0000561890 00000 n
+0000562043 00000 n
+0000562196 00000 n
+0000562348 00000 n
+0000562501 00000 n
+0000562654 00000 n
+0000562807 00000 n
+0000562960 00000 n
+0000563113 00000 n
+0000563265 00000 n
+0000563417 00000 n
+0000563570 00000 n
+0000563723 00000 n
+0000563875 00000 n
+0000564028 00000 n
+0000564181 00000 n
+0000564334 00000 n
+0000564486 00000 n
+0000564639 00000 n
+0000564792 00000 n
+0000564945 00000 n
+0000565097 00000 n
+0000565250 00000 n
+0000565403 00000 n
+0000565556 00000 n
+0000565709 00000 n
+0000565861 00000 n
+0000566013 00000 n
+0000566166 00000 n
+0000566319 00000 n
+0000566470 00000 n
+0000566622 00000 n
+0000566775 00000 n
+0000566928 00000 n
+0000567080 00000 n
+0000567231 00000 n
+0000567381 00000 n
+0000567534 00000 n
+0000567687 00000 n
+0000567840 00000 n
+0000567992 00000 n
+0000568144 00000 n
+0000568297 00000 n
+0000568450 00000 n
+0000568603 00000 n
+0000568756 00000 n
+0000568908 00000 n
+0000569061 00000 n
+0000569214 00000 n
+0000569366 00000 n
+0000569518 00000 n
+0000569671 00000 n
+0000569824 00000 n
+0000569977 00000 n
+0000570129 00000 n
+0000570280 00000 n
+0000570432 00000 n
+0000570584 00000 n
+0000570735 00000 n
+0000573776 00000 n
+0000573928 00000 n
+0000570950 00000 n
+0000552476 00000 n
+0000548853 00000 n
+0000570886 00000 n
+0000891349 00000 n
+0000552618 00000 n
+0000574081 00000 n
+0000574234 00000 n
+0000574387 00000 n
+0000574538 00000 n
+0000574690 00000 n
+0000574842 00000 n
+0000574995 00000 n
+0000575148 00000 n
+0000575301 00000 n
+0000575454 00000 n
+0000575607 00000 n
+0000575760 00000 n
+0000575913 00000 n
+0000576066 00000 n
+0000576219 00000 n
+0000576371 00000 n
+0000576524 00000 n
+0000576677 00000 n
+0000576829 00000 n
+0000576982 00000 n
+0000577135 00000 n
+0000577288 00000 n
+0000577440 00000 n
+0000577593 00000 n
+0000577745 00000 n
+0000577898 00000 n
+0000578051 00000 n
+0000578202 00000 n
+0000578354 00000 n
+0000578507 00000 n
+0000578660 00000 n
+0000578812 00000 n
+0000578964 00000 n
+0000579116 00000 n
+0000579269 00000 n
+0000579422 00000 n
+0000579575 00000 n
+0000579728 00000 n
+0000579881 00000 n
+0000580033 00000 n
+0000580186 00000 n
+0000580338 00000 n
+0000580490 00000 n
+0000580642 00000 n
+0000580795 00000 n
+0000580948 00000 n
+0000581100 00000 n
+0000581253 00000 n
+0000581406 00000 n
+0000581558 00000 n
+0000581711 00000 n
+0000581927 00000 n
+0000573135 00000 n
+0000571127 00000 n
+0000581863 00000 n
+0000573277 00000 n
+0000584796 00000 n
+0000584950 00000 n
+0000585104 00000 n
+0000585258 00000 n
+0000585412 00000 n
+0000585571 00000 n
+0000585730 00000 n
+0000585889 00000 n
+0000586048 00000 n
+0000586206 00000 n
+0000586365 00000 n
+0000586517 00000 n
+0000586676 00000 n
+0000586840 00000 n
+0000587005 00000 n
+0000587164 00000 n
+0000587323 00000 n
+0000587487 00000 n
+0000587652 00000 n
+0000587817 00000 n
+0000587982 00000 n
+0000588147 00000 n
+0000588300 00000 n
+0000588458 00000 n
+0000588617 00000 n
+0000588776 00000 n
+0000588934 00000 n
+0000589087 00000 n
+0000589241 00000 n
+0000589400 00000 n
+0000589559 00000 n
+0000589718 00000 n
+0000589872 00000 n
+0000590027 00000 n
+0000590187 00000 n
+0000590347 00000 n
+0000590507 00000 n
+0000590667 00000 n
+0000590827 00000 n
+0000590987 00000 n
+0000591142 00000 n
+0000591297 00000 n
+0000591457 00000 n
+0000591617 00000 n
+0000591776 00000 n
+0000591935 00000 n
+0000594827 00000 n
+0000592152 00000 n
+0000584218 00000 n
+0000582104 00000 n
+0000592088 00000 n
+0000584360 00000 n
+0000594987 00000 n
+0000595146 00000 n
+0000595305 00000 n
+0000595464 00000 n
+0000595624 00000 n
+0000595779 00000 n
+0000595939 00000 n
+0000596098 00000 n
+0000596258 00000 n
+0000596417 00000 n
+0000596576 00000 n
+0000596735 00000 n
+0000596895 00000 n
+0000597055 00000 n
+0000597214 00000 n
+0000597375 00000 n
+0000597536 00000 n
+0000597691 00000 n
+0000597851 00000 n
+0000598017 00000 n
0000598183 00000 n
-0000599224 00000 n
-0000599838 00000 n
-0000600042 00000 n
-0000601454 00000 n
-0000600117 00000 n
-0000600218 00000 n
-0000601696 00000 n
-0000602324 00000 n
-0000602529 00000 n
-0000602556 00000 n
-0000602701 00000 n
-0000602798 00000 n
-0000603968 00000 n
-0000602864 00000 n
-0000602961 00000 n
-0000604211 00000 n
-0000604826 00000 n
-0000605030 00000 n
-0000605134 00000 n
-0000606989 00000 n
-0000605292 00000 n
-0000605396 00000 n
-0000607229 00000 n
-0000607889 00000 n
-0000608093 00000 n
-0000609548 00000 n
-0000608172 00000 n
-0000608274 00000 n
-0000609796 00000 n
-0000610430 00000 n
-0000610640 00000 n
-0000610685 00000 n
-0000613841 00000 n
-0000610960 00000 n
-0000611066 00000 n
-0000614089 00000 n
-0000614819 00000 n
-0000615029 00000 n
-0000615054 00000 n
-0000619147 00000 n
-0000615396 00000 n
-0000615506 00000 n
-0000619390 00000 n
-0000620138 00000 n
-0000620342 00000 n
-0000620368 00000 n
-0000620620 00000 n
-0000622702 00000 n
-0000620773 00000 n
-0000620879 00000 n
-0000622941 00000 n
-0000623601 00000 n
-0000623803 00000 n
-0000631136 00000 n
-0000624232 00000 n
-0000624344 00000 n
-0000631376 00000 n
-0000632253 00000 n
-0000632456 00000 n
-0000639863 00000 n
-0000632900 00000 n
-0000633008 00000 n
-0000640103 00000 n
-0000641021 00000 n
-0000641225 00000 n
-0000643537 00000 n
-0000641499 00000 n
-0000641605 00000 n
-0000643777 00000 n
-0000644483 00000 n
-0000644687 00000 n
-0000652722 00000 n
-0000645144 00000 n
-0000645256 00000 n
-0000652963 00000 n
-0000653871 00000 n
-0000654076 00000 n
-0000656282 00000 n
-0000654202 00000 n
-0000654310 00000 n
-0000656524 00000 n
-0000657178 00000 n
-0000657383 00000 n
-0000659171 00000 n
-0000657494 00000 n
-0000657598 00000 n
-0000659418 00000 n
-0000660067 00000 n
-0000660277 00000 n
-0000667731 00000 n
-0000660705 00000 n
-0000660820 00000 n
-0000667971 00000 n
-0000668859 00000 n
-0000669062 00000 n
-0000673714 00000 n
-0000669405 00000 n
-0000669516 00000 n
-0000673963 00000 n
-0000674733 00000 n
-0000674944 00000 n
-0000678182 00000 n
-0000675140 00000 n
-0000675247 00000 n
-0000678424 00000 n
-0000679122 00000 n
-0000679327 00000 n
-0000685809 00000 n
-0000679709 00000 n
-0000679820 00000 n
-0000686053 00000 n
-0000686851 00000 n
-0000687056 00000 n
-0000695702 00000 n
-0000687493 00000 n
-0000687607 00000 n
-0000695943 00000 n
-0000696920 00000 n
-0000697125 00000 n
-0000700526 00000 n
-0000697485 00000 n
-0000697592 00000 n
-0000700767 00000 n
-0000701535 00000 n
-0000701740 00000 n
-0000701975 00000 n
-0000711398 00000 n
-0000702524 00000 n
-0000702653 00000 n
-0000711640 00000 n
-0000712639 00000 n
-0000712845 00000 n
-0000712952 00000 n
-0000713231 00000 n
-0000713338 00000 n
-0000713400 00000 n
-0000713595 00000 n
-0000713964 00000 n
-0000721623 00000 n
-0000714407 00000 n
-0000714515 00000 n
-0000721863 00000 n
-0000722795 00000 n
-0000722999 00000 n
-0000724603 00000 n
-0000723156 00000 n
-0000723262 00000 n
-0000724843 00000 n
-0000725502 00000 n
-0000725706 00000 n
-0000729492 00000 n
-0000725998 00000 n
-0000726104 00000 n
-0000729733 00000 n
-0000730466 00000 n
-0000730671 00000 n
-0000732230 00000 n
-0000730764 00000 n
-0000730865 00000 n
-0000732469 00000 n
-0000733095 00000 n
-0000733297 00000 n
-0000735534 00000 n
-0000733476 00000 n
-0000733582 00000 n
-0000735775 00000 n
-0000736444 00000 n
-0000736649 00000 n
-0000740741 00000 n
-0000736974 00000 n
-0000737088 00000 n
-0000740983 00000 n
-0000741732 00000 n
-0000741938 00000 n
-0000743298 00000 n
-0000742061 00000 n
-0000742167 00000 n
-0000743539 00000 n
-0000744184 00000 n
-0000744389 00000 n
-0000747839 00000 n
-0000744651 00000 n
-0000744758 00000 n
-0000748081 00000 n
-0000748797 00000 n
-0000758249 00000 n
-0000749003 00000 n
-0000769673 00000 n
-0000758500 00000 n
-0000777361 00000 n
-0000770427 00000 n
-0000790138 00000 n
-0000777591 00000 n
-0000797609 00000 n
-0000790466 00000 n
-0000805742 00000 n
-0000797835 00000 n
-0000815669 00000 n
-0000805975 00000 n
-0000823581 00000 n
-0000815936 00000 n
-0000836291 00000 n
-0000823812 00000 n
-0000843691 00000 n
-0000836649 00000 n
-0000851576 00000 n
-0000843916 00000 n
-0000860817 00000 n
-0000851824 00000 n
-0000868160 00000 n
-0000861125 00000 n
-0000876029 00000 n
-0000868385 00000 n
-0000883569 00000 n
-0000876313 00000 n
-0000891083 00000 n
-0000883808 00000 n
-0000894980 00000 n
-0000895111 00000 n
-0000903469 00000 n
-0000904105 00000 n
-0000904745 00000 n
-0000905390 00000 n
-0000906170 00000 n
-0000907088 00000 n
-0000907971 00000 n
-0000908099 00000 n
-0000908139 00000 n
-0000908271 00000 n
+0000598343 00000 n
+0000598503 00000 n
+0000598662 00000 n
+0000598816 00000 n
+0000598971 00000 n
+0000599131 00000 n
+0000599291 00000 n
+0000599451 00000 n
+0000599611 00000 n
+0000599765 00000 n
+0000599925 00000 n
+0000600085 00000 n
+0000600245 00000 n
+0000600405 00000 n
+0000600565 00000 n
+0000600725 00000 n
+0000600885 00000 n
+0000601045 00000 n
+0000601205 00000 n
+0000601365 00000 n
+0000601520 00000 n
+0000601738 00000 n
+0000594276 00000 n
+0000592303 00000 n
+0000601674 00000 n
+0000594418 00000 n
+0000602157 00000 n
+0000602184 00000 n
+0000603139 00000 n
+0000602240 00000 n
+0000602340 00000 n
+0000603381 00000 n
+0000603995 00000 n
+0000604199 00000 n
+0000605611 00000 n
+0000604274 00000 n
+0000604375 00000 n
+0000605853 00000 n
+0000606481 00000 n
+0000606686 00000 n
+0000606831 00000 n
+0000606928 00000 n
+0000608098 00000 n
+0000606994 00000 n
+0000607091 00000 n
+0000608341 00000 n
+0000608956 00000 n
+0000609160 00000 n
+0000609264 00000 n
+0000611119 00000 n
+0000609422 00000 n
+0000609526 00000 n
+0000611359 00000 n
+0000612019 00000 n
+0000612223 00000 n
+0000613678 00000 n
+0000612302 00000 n
+0000612404 00000 n
+0000613926 00000 n
+0000614560 00000 n
+0000614770 00000 n
+0000614815 00000 n
+0000617971 00000 n
+0000615090 00000 n
+0000615196 00000 n
+0000618219 00000 n
+0000618949 00000 n
+0000619159 00000 n
+0000619184 00000 n
+0000623277 00000 n
+0000619526 00000 n
+0000619636 00000 n
+0000623520 00000 n
+0000624268 00000 n
+0000624472 00000 n
+0000624498 00000 n
+0000624750 00000 n
+0000626832 00000 n
+0000624903 00000 n
+0000625009 00000 n
+0000627071 00000 n
+0000627731 00000 n
+0000627933 00000 n
+0000635266 00000 n
+0000628362 00000 n
+0000628474 00000 n
+0000635506 00000 n
+0000636383 00000 n
+0000636586 00000 n
+0000643993 00000 n
+0000637030 00000 n
+0000637138 00000 n
+0000644233 00000 n
+0000645151 00000 n
+0000645355 00000 n
+0000647667 00000 n
+0000645629 00000 n
+0000645735 00000 n
+0000647907 00000 n
+0000648613 00000 n
+0000648817 00000 n
+0000656852 00000 n
+0000649274 00000 n
+0000649386 00000 n
+0000657093 00000 n
+0000658001 00000 n
+0000658206 00000 n
+0000660412 00000 n
+0000658332 00000 n
+0000658440 00000 n
+0000660654 00000 n
+0000661308 00000 n
+0000661513 00000 n
+0000663301 00000 n
+0000661624 00000 n
+0000661728 00000 n
+0000663548 00000 n
+0000664197 00000 n
+0000664407 00000 n
+0000671498 00000 n
+0000664831 00000 n
+0000664946 00000 n
+0000671738 00000 n
+0000672612 00000 n
+0000672815 00000 n
+0000677467 00000 n
+0000673158 00000 n
+0000673269 00000 n
+0000677716 00000 n
+0000678486 00000 n
+0000678697 00000 n
+0000681935 00000 n
+0000678893 00000 n
+0000679000 00000 n
+0000682177 00000 n
+0000682875 00000 n
+0000683080 00000 n
+0000689562 00000 n
+0000683462 00000 n
+0000683573 00000 n
+0000689806 00000 n
+0000690604 00000 n
+0000690809 00000 n
+0000699455 00000 n
+0000691246 00000 n
+0000691360 00000 n
+0000699696 00000 n
+0000700673 00000 n
+0000700878 00000 n
+0000704279 00000 n
+0000701238 00000 n
+0000701345 00000 n
+0000704520 00000 n
+0000705288 00000 n
+0000705493 00000 n
+0000705728 00000 n
+0000715151 00000 n
+0000706277 00000 n
+0000706406 00000 n
+0000715393 00000 n
+0000716392 00000 n
+0000716598 00000 n
+0000716705 00000 n
+0000716984 00000 n
+0000717091 00000 n
+0000717153 00000 n
+0000717348 00000 n
+0000717717 00000 n
+0000725376 00000 n
+0000718160 00000 n
+0000718268 00000 n
+0000725616 00000 n
+0000726548 00000 n
+0000726752 00000 n
+0000728356 00000 n
+0000726909 00000 n
+0000727015 00000 n
+0000728596 00000 n
+0000729255 00000 n
+0000729459 00000 n
+0000733245 00000 n
+0000729751 00000 n
+0000729857 00000 n
+0000733486 00000 n
+0000734219 00000 n
+0000734424 00000 n
+0000735983 00000 n
+0000734517 00000 n
+0000734618 00000 n
+0000736222 00000 n
+0000736848 00000 n
+0000737050 00000 n
+0000739287 00000 n
+0000737229 00000 n
+0000737335 00000 n
+0000739528 00000 n
+0000740197 00000 n
+0000740402 00000 n
+0000744618 00000 n
+0000740737 00000 n
+0000740851 00000 n
+0000744860 00000 n
+0000745613 00000 n
+0000745819 00000 n
+0000747179 00000 n
+0000745942 00000 n
+0000746048 00000 n
+0000747420 00000 n
+0000748065 00000 n
+0000748270 00000 n
+0000751720 00000 n
+0000748532 00000 n
+0000748639 00000 n
+0000751962 00000 n
+0000752678 00000 n
+0000762130 00000 n
+0000752884 00000 n
+0000773554 00000 n
+0000762381 00000 n
+0000781242 00000 n
+0000774308 00000 n
+0000794019 00000 n
+0000781472 00000 n
+0000801490 00000 n
+0000794347 00000 n
+0000809623 00000 n
+0000801716 00000 n
+0000819550 00000 n
+0000809856 00000 n
+0000827462 00000 n
+0000819817 00000 n
+0000840172 00000 n
+0000827693 00000 n
+0000847572 00000 n
+0000840530 00000 n
+0000855457 00000 n
+0000847797 00000 n
+0000864698 00000 n
+0000855705 00000 n
+0000872650 00000 n
+0000865006 00000 n
+0000880190 00000 n
+0000872934 00000 n
+0000887704 00000 n
+0000880429 00000 n
+0000891458 00000 n
+0000891589 00000 n
+0000899947 00000 n
+0000900583 00000 n
+0000901223 00000 n
+0000901868 00000 n
+0000902648 00000 n
+0000903566 00000 n
+0000904449 00000 n
+0000904577 00000 n
+0000904617 00000 n
+0000904749 00000 n
trailer
-<< /Size 1566 /Root 1564 0 R /Info 1565 0 R /ID [ <F4754BCC642BFF350036C32FF6D39590> <F4754BCC642BFF350036C32FF6D39590> ] >>
+<< /Size 1568 /Root 1566 0 R /Info 1567 0 R /ID [ <886AF9986773F782DD17EA3C2149DA11> <886AF9986773F782DD17EA3C2149DA11> ] >>
startxref
-908835
+905316
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix.tex b/macros/latex/contrib/nicematrix/nicematrix.tex
index 767b973312..35de300099 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix.tex
@@ -615,12 +615,12 @@ if it's not, an error will be raised.} by using as options the value of that
key |tikz| (which must be a list of keys allowed for a TikZ path).
\colorbox{yellow!50}{\textbf{New 6.24}}\enskip In fact, in the list of the keys
-provided by the user as value of |tikz|, it's possible to put a key |offset|.
-That key is not provided by TikZ but by \pkg{nicematrix}. It will narrow the
-rectangular frame corresponding to the block by a margin (horizontally and
-vertically) equal to the value (of that key |offset|). That new frame, a bit
-narrower, will be executed by TikZ with options which are the other keys in the
-list of keys provided as value to the key |tikz| of |\Block|.
+provided by the user as value of |tikz|, it's possible to put a key
+\Definition{offset}. That key is not provided by TikZ but by \pkg{nicematrix}.
+It will narrow the rectangular frame corresponding to the block by a margin
+(horizontally and vertically) equal to the value (of that key |offset|). That
+new frame, a bit narrower, will be executed by TikZ with options which are the
+other keys in the list of keys provided as value to the key |tikz| of |\Block|.
For examples, cf. p.~\pageref{tikz-key-examples}.
\end{itemize}
@@ -741,7 +741,7 @@ Henry & 14 \\ \hline
For the mono-row blocks, the natural height and depth are taken into account
for the height and depth of the current row (as does a standard |\multicolumn|
of LaTeX), except when an option of vertical position has been used for the block
-(one of the keys |t|, |b|, |v-center|, |T| and |B| described in the part
+(one of the keys |t|, |b|, |m|, |T| and |B| described in the part
\ref{vertical-pos-block}, p.~\pageref{vertical-pos-block}).
\subsection{The mono-cell blocks}
@@ -909,14 +909,12 @@ Rank & \Block[C]{1-3}{First group} & & & \Block{1-3}{Second group} \\
\label{vertical-pos-block}
For the vertical position, the command |\Blocks| accepts the keys
-|v-center|\footnote{That key could not have been named |c| since the key |c|
-is used for the horizontal alignement.},
-|t|, |b|, |T| and |B|.
+|m|, |t|, |b|, |T| and |B|.
\begin{itemize}
\item \index{v-center (key of \texttt{\textbackslash Block})}
-With the key \Definition{v-center}, the content of the block is vertically centered.
+With the key \Definition{m}\footnote{That key has an alias: |v-center|.}, the content of the block is vertically centered.
\item With the key \Definition{t}, the baseline of the content of the block is aligned
with the baseline of the first row concerned by the block.
\item with the key \Definition{b}, the baseline of the last row of the content of the
@@ -925,15 +923,14 @@ separated by |\\|) is aligned with the baseline of the last of the rows of the
array involved in the block.
\item With the key \Definition{T}, the content of the block is set upwards.
-\colorbox{yellow!50}{\textbf{Modification 6.18}}\enskip No vertical margin is
-added. However, the contents of the block is (always) composed by
-\pkg{nicematrix} in a |{minipage}|, a |{tabular}| or an |{array}| and, hence,
-there will still remain a margin (in most cases).
+No vertical margin is added. However, the contents of the block is (always)
+composed by \pkg{nicematrix} in a |{minipage}|, a |{tabular}| or an |{array}|
+and, hence, there will still remain a margin (in most cases).
\item With the key \Definition{B}, the content of the block is set downwards.
\end{itemize}
-When no key is given, the key |v-center| applies (except in the mono-row blocks).
+When no key is given, the key |m| applies (except in the mono-row blocks).
@@ -1317,6 +1314,29 @@ $\begin{pNiceMatrix}[vlines,rules/width=0.2pt]
\end{pNiceMatrix}$
+\medskip
+When the key |hlines| is in force, it's still possible to use |\Hline\Hline| to
+put a double horizontal rule. As well, it's possible to put \verb+||+ in the
+preamble (of an environment with preamble) to put a double vertical rule, even
+when the key |vlines| is in force.
+
+\medskip
+\begin{Code}[width=10.6cm]
+$\begin{NiceArray}{c\emph{||}ccccc}[hlines,vlines]
+ & a & b & c & d & e \\ \emph{\Hline\Hline}
+x & 0 & 0 & 0 & 0 & 0 \\
+y & 0 & 0 & 0 & 0 & 0 \\
+z & 0 & 0 & 0 & 0 & 0 \\
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{c||ccccc}[hlines,vlines]
+ & a & b & c & d & e \\ \Hline\Hline
+x & 0 & 0 & 0 & 0 & 0 \\
+y & 0 & 0 & 0 & 0 & 0 \\
+z & 0 & 0 & 0 & 0 & 0 \\
+\end{NiceArray}$
+
+
\subsubsection{The keys hvlines and hvlines-except-borders}
\label{hvlines}
@@ -2053,15 +2073,16 @@ the colorimetric space). The available keys are |cols|, |restart| and
\index{respect-blocks (key of \texttt{\textbackslash rowcolors} du\newline \texttt{\textbackslash CodeBefore})}
\begin{itemize}
-\item The key |cols| describes a set of columns. The command |\rowcolors| will
-color only the cells of these columns. The value is a comma-separated list of
-intervals of the form $i$-$j$ (where $i$ or $j$ may be replaced by |*|).
-\item With the key |restart|, each interval of rows (specified by the first
-mandatory argument) begins with the same color.\footnote{Otherwise, the color
+\item The key \Definition{cols} describes a set of columns. The command
+|\rowcolors| will color only the cells of these columns. The value is a
+comma-separated list of intervals of the form $i$-$j$ (where $i$ or $j$ may be
+replaced by |*|).
+\item With the key \Definition{restart}, each interval of rows (specified by the
+first mandatory argument) begins with the same color.\footnote{Otherwise, the color
of a given row relies only upon the parity of its absolute number.}
-\item With the key |respect-blocks| the ``rows'' alternately colored may extend over
-several rows if they have to incorporate blocks (created with the command
-|\Block|: cf.~p.~\pageref{Block}).
+\item With the key \Definition{respect-blocks} the ``rows'' alternately colored
+may extend over several rows if they have to incorporate blocks (created with
+the command |\Block|: cf.~p.~\pageref{Block}).
\end{itemize}
\medskip
@@ -2174,7 +2195,8 @@ Alexandra \\
It's also possible to use in the command |\rowlistcolors| a color series
defined by the command |\definecolorseries| of \pkg{xcolor} (and initialized
with the command |\resetcolorseries|\footnote{For the initialization, in the
-following example, you have used the counter |iRow| which, when used in the
+following example, you have used the counter |iRow| (which corresponds to the
+internal TeX counter |\c@iRow|) which, when used in the
|\CodeBefore| (and in the |\CodeAfter|) corresponds to the number of rows of
the array: cf.~p~\pageref{iRow}. That leads to an adjustement of the gradation
of the colors to the size of the tabular.}).
@@ -2508,8 +2530,8 @@ corresponding global keys (cf. p.~\pageref{cell-space}).
\index{color!key of \texttt{\textbackslash RowStyle}}
The key \Definition{rowcolor} sets the color of the background and the key
\Definition{color} sets the color of the text.\footnote{The key |color| uses the command
-|\color| but inserts also an instruction |\leavevmode| before. This
-instruction prevents a extra vertical space in the cells which belong to
+|\color| but also inserts an instruction |\leavevmode| before. This
+instruction prevents an extra vertical space in the cells which belong to
columns of type |p|, |b|, |m|, |X| and |V| (which start in
vertical mode of LaTeX).}
\item \index{bold (key of \texttt{\textbackslash RowStyle})} The key
@@ -4185,7 +4207,7 @@ the command applies to each of the tabular, except those in the exterior rows
and columns (cf.~p.~\pageref{exterior}) and those in the empty corners (when the
key |corners| is used: cf.~p.~\pageref{corners}). It applies in fact to each
block (excepted those with the key |transparent|) and does not apply to the
-cells located within these blocks.
+individual cells located within these blocks.
\medskip
In fact, in the list of keys provided as argument of |\TikzEveryCell|, it's
@@ -4956,16 +4978,18 @@ section \ref{delimiters-in-preamble}, p.~\pageref{delimiters-in-preamble}).
\index{jCol (LaTeX counter)}
In the cells of the array, it's possible to use the LaTeX counters |iRow| and
-|jCol| which represent the number of the current row and the number of the
-current column\footnote{We recall that the exterior ``first row'' (if it
-exists) has the number~$0$ and that the exterior ``first column'' (if it
-exists) has also the number~$0$.}. Of course, the user must not change the
-value of these counters which are used internally by \pkg{nicematrix}.
+|jCol|\footnote{There counters are actual LaTeX counters: the underlying TeX
+ counters are |\c@iRow| and |\c@jCol|} which represent the number of the
+current row and the number of the current column. We recall that the exterior
+``first row'' (if it exists) has the number~$0$ and that the exterior ``first
+column'' (if it exists) has also the number~$0$. Of course, the user must not
+change the value of these counters |iRow| and |jCol| which are used internally
+by \pkg{nicematrix}.
-In the |\CodeBefore| (cf. p. \pageref{code-before}) and in the |\CodeAfter|
-(cf. p. \pageref{code-after}), |iRow| represents the total number of rows
-(except the potential exterior rows) and |jCol| represents the total number
-of columns (except the potential exterior columns).
+In the |\CodeBefore| (cf. p. \pageref{code-before}) and in the |\CodeAfter| (cf.
+p. \pageref{code-after}), |iRow| represents the total number of rows (except the
+potential exterior rows: cf. p.~\pageref{exterior}) and |jCol| represents the
+total number of columns (except the potential exterior columns).
\medskip
\begin{Code}[width=10.6cm]
@@ -5064,6 +5088,7 @@ analyzed. The environment doesn't behave in that case as a standard
environment of LaTeX which only put TeX commands before and after the content.}
\medskip
+\index{light-syntax-expanded}
\colorbox{yellow!50}{\textbf{New 6.27}}\enskip The key |light-syntax-expanded|
has the same behaviour as the key |light-syntax| but the body of the
environment is expanded (in the TeX sens\footnote{More precisely, it's a
@@ -5837,6 +5862,9 @@ using the public variable |\g_nicematrix_code_before_tl|.
}
\ExplSyntaxOff
+\medskip
+We have used the LaTeX |counters iRow| and |jCol| provided by \pkg{nicematrix} (cf.~p.~\pageref{iRow}).
+
\bigskip
Here is an example of utilisation:
@@ -6269,7 +6297,7 @@ its argument\footnote{In fact: the value of its argument.}.
\begin{Code}
\ExplSyntaxOn
\NewDocumentCommand { \emph{\stars} } { m }
- { \prg_replicate:nn { \value { #1 } } { $ \star $ } }
+ { \prg_replicate:nn { \value { #1 } } { \( \star \) } }
\ExplSyntaxOff
\end{Code}
%
@@ -6306,7 +6334,7 @@ require a width equal to that value: |widest*=\value{tabularnote}|.
\begin{scope}
\ExplSyntaxOn
\NewDocumentCommand \stars { m }
- { \prg_replicate:nn { \value { #1 } } { $ \star $ } }
+ { \prg_replicate:nn { \value { #1 } } { \( \star \) } }
\NiceMatrixOptions
{
notes =
@@ -7913,9 +7941,6 @@ New environment |{NiceArray}| with column types |L|, |C| and |R|.
The dotted lines are no longer drawn with TikZ nodes but with TikZ circles
(for efficiency).
-Modification of the code which is now twice faster.
-
-
\cleardoublepage
diff --git a/macros/latex/contrib/nmbib/Makefile b/macros/latex/contrib/nmbib/Makefile
index 4b59427e24..4f4135521a 100644
--- a/macros/latex/contrib/nmbib/Makefile
+++ b/macros/latex/contrib/nmbib/Makefile
@@ -7,7 +7,7 @@
#
PACKAGE=nmbib
-SAMPLES = nmsample.tex
+SAMPLES = nmbib-sample.tex
PERLSCRIPTS = nmbibtex.pl
@@ -62,9 +62,9 @@ distclean: veryclean
# Archive for the distribution. Includes typeset documentation
#
archive: all clean
- tar -czvf $(PACKAGE).tgz -C .. --exclude '*~' --exclude '*.tgz' --exclude CVS $(PACKAGE)
+ COPYFILE_DISABLE=1 tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS --exclude '.git*' $(PACKAGE); mv ../$(PACKAGE).tgz .
zip: all clean
${MAKE} $(PACKAGE).sty
$(RM) *.log
- zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*' \ No newline at end of file
+ zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*'
diff --git a/macros/latex/contrib/nmbib/README b/macros/latex/contrib/nmbib/README
index 833fa7992e..00a3fe6b5d 100644
--- a/macros/latex/contrib/nmbib/README
+++ b/macros/latex/contrib/nmbib/README
@@ -9,4 +9,6 @@ provides other improvments.
Changes:
+ v1.05. nmsample is renamed to nmbib-sample to avoid TeXLive name clash
+
v1.04 An embarrassing typo corrected. \ No newline at end of file
diff --git a/macros/latex/contrib/nmbib/nmsample.pdf b/macros/latex/contrib/nmbib/nmbib-sample.pdf
index bfcf4824b5..cb3c42b895 100644
--- a/macros/latex/contrib/nmbib/nmsample.pdf
+++ b/macros/latex/contrib/nmbib/nmbib-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/nmbib/nmsample.tex b/macros/latex/contrib/nmbib/nmbib-sample.tex
index 56ff2a807a..56ff2a807a 100644
--- a/macros/latex/contrib/nmbib/nmsample.tex
+++ b/macros/latex/contrib/nmbib/nmbib-sample.tex
diff --git a/macros/latex/contrib/nmbib/nmbib.dtx b/macros/latex/contrib/nmbib/nmbib.dtx
index 24647ae06f..f84fc00877 100644
--- a/macros/latex/contrib/nmbib/nmbib.dtx
+++ b/macros/latex/contrib/nmbib/nmbib.dtx
@@ -1,7 +1,7 @@
% \iffalse
% $Id: nmbib.dtx,v 1.21 2015/07/27 20:22:45 boris Exp $
%
-%% Copyright 2015, Michael Cohen <mcohen@u-aizu.ac.jp>
+%% Copyright 2015-2024, Michael Cohen <mcohen@u-aizu.ac.jp>
%% and Boris Veytsman <borisv@lk.net>
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -59,7 +59,7 @@
% \changes{v1.00}{2014/01/23}{Preliminary release}
% \changes{v1.03}{2015/07/25}{Added day field in the chrono bst}
%
-% \title{New Multibibliography Package\thanks{\copyright 2015 Michael
+% \title{New Multibibliography Package\thanks{\copyright 2015--2024 Michael
% Cohen and Boris Veytsman}}
% \author{Boris Veytsman\thanks{borisv@lk.net}
% \and Michael Cohen\thanks{mcohen@u-aizu.ac.jp}}
diff --git a/macros/latex/contrib/nmbib/nmbib.pdf b/macros/latex/contrib/nmbib/nmbib.pdf
index ba4aeed009..2258288207 100644
--- a/macros/latex/contrib/nmbib/nmbib.pdf
+++ b/macros/latex/contrib/nmbib/nmbib.pdf
Binary files differ
diff --git a/macros/latex/contrib/nmbib/nmbibtex.1 b/macros/latex/contrib/nmbib/nmbibtex.1
index bb7bb38f4b..d96236dde8 100644
--- a/macros/latex/contrib/nmbib/nmbibtex.1
+++ b/macros/latex/contrib/nmbib/nmbibtex.1
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -15,141 +16,71 @@
.ft R
.fi
..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
+. ds C`
+. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
-.ie \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
..
-. nr % 0
-. rr F
-.\}
-.el \{\
-. de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
+.rr rF
.\" ========================================================================
.\"
.IX Title "NMBIBTEX 1"
-.TH NMBIBTEX 1 "2015-04-25" "perl v5.10.1" "User Contributed Perl Documentation"
+.TH NMBIBTEX 1 2015-04-26 "perl v5.38.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
-.SH "NAME"
+.SH NAME
nmbibtex \- a program to compile bibliographies for the package nmbib
-.SH "SYNOPSIS"
+.SH SYNOPSIS
.IX Header "SYNOPSIS"
-nmbibtex \fI\s-1OPTIONS\s0\fR \fI\s-1FILE\s0\fR
-.SH "DESCRIPTION"
+nmbibtex \fIOPTIONS\fR \fIFILE\fR
+.SH DESCRIPTION
.IX Header "DESCRIPTION"
-nmbibtex calls \fIbibtex\fR\|(1) for all aux files produced by the package
+nmbibtex calls \fBbibtex\fR\|(1) for all aux files produced by the package
nmbib
-.SH "OPTIONS"
+.SH OPTIONS
.IX Header "OPTIONS"
-.IP "\fB\-h\fR" 4
+.IP \fB\-h\fR 4
.IX Item "-h"
Print the help information and exit
.IP "\fB\-min\-crossrefs\fR \fInumber\fR" 4
.IX Item "-min-crossrefs number"
-Send the option \f(CW\*(C`\-min\-crossref=NUMBER\*(C'\fR to \fIbibtex\fR\|(1)
-.IP "\fB\-terse\fR" 4
+Send the option \f(CW\*(C`\-min\-crossref=NUMBER\*(C'\fR to \fBbibtex\fR\|(1)
+.IP \fB\-terse\fR 4
.IX Item "-terse"
-Send the option \f(CW\*(C`\-terse\*(C'\fR to \fIbibtex\fR\|(1)
-.IP "\fB\-v\fR" 4
+Send the option \f(CW\*(C`\-terse\*(C'\fR to \fBbibtex\fR\|(1)
+.IP \fB\-v\fR 4
.IX Item "-v"
Print the copyright information and exit
.SH "AUTHORS AND LICENSE"
diff --git a/macros/latex/contrib/notebeamer/README.md b/macros/latex/contrib/notebeamer/README.md
index 70e97e633b..5f8a8393b9 100644
--- a/macros/latex/contrib/notebeamer/README.md
+++ b/macros/latex/contrib/notebeamer/README.md
@@ -1,22 +1,19 @@
-# The `NoteBeamer` document
+# The `notebeamer` package
-This template provides an easy way to input Beamers on note papers and make notebook quickly. It's optimized for Goodnotes' default paper size and there won’t have difference between papers.
+This package provides macros for inputting slides on note papers quickly.
-Modules of `NoteBeamer` provide the following supports:
-
-- Draft module to compile quickly;
-- Lighter or darker colors of the cover page;
-
-**Welcome to pull requests
-[here](https://github.com/xiamyphys/NoteBeamer).**
+**Welcome to pull requests [here](https://github.com/xiamyphys/notebeamer/pulls).**
## License
-This work may be distributed and/or modified under the conditions of the
-[LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
-either version 1.3c of this license or (at your option) any later version.
+This work may be distributed and/or modified under the conditions of the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version.
This work has the LPPL maintenance status `maintained`.
-The Current Maintainer of this work is
-[Mingyu Xia](https://www.ctan.org/author/xia-my). \ No newline at end of file
+The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my).
+
+## Derivative Works
+
+- [fadingimage](https://ctan.org/pkg/fadingimage): Package provides macros for inputting full width picture at the edges of pages quickly.
+
+- [litesolution](https://ctan.org/pkg/litesolution): Class designed for typesetting solutions of problems in exams, textbooks, etc.
diff --git a/macros/latex/contrib/notebeamer/doc/images/newnote3sdemo.pdf b/macros/latex/contrib/notebeamer/doc/figures/beamerdemo.pdf
index 4df7320730..d4b3615265 100644
--- a/macros/latex/contrib/notebeamer/doc/images/newnote3sdemo.pdf
+++ b/macros/latex/contrib/notebeamer/doc/figures/beamerdemo.pdf
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/figures/paperdemo.pdf b/macros/latex/contrib/notebeamer/doc/figures/paperdemo.pdf
new file mode 100644
index 0000000000..158ef35fe8
--- /dev/null
+++ b/macros/latex/contrib/notebeamer/doc/figures/paperdemo.pdf
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/HDU.pdf b/macros/latex/contrib/notebeamer/doc/images/HDU.pdf
deleted file mode 100644
index cb9ba414c8..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/HDU.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/Inuyasa.jpg b/macros/latex/contrib/notebeamer/doc/images/Inuyasa.jpg
deleted file mode 100644
index 3d473bf869..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/Inuyasa.jpg
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/newnote4sdemo.pdf b/macros/latex/contrib/notebeamer/doc/images/newnote4sdemo.pdf
deleted file mode 100644
index 581fbd1b1d..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/newnote4sdemo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/newnotedemo.pdf b/macros/latex/contrib/notebeamer/doc/images/newnotedemo.pdf
deleted file mode 100644
index 5c0c4ab077..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/newnotedemo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/titlepage1.pdf b/macros/latex/contrib/notebeamer/doc/images/titlepage1.pdf
deleted file mode 100644
index fd79019286..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/titlepage1.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/images/titlepage2.pdf b/macros/latex/contrib/notebeamer/doc/images/titlepage2.pdf
deleted file mode 100644
index bd9ddb1eb2..0000000000
--- a/macros/latex/contrib/notebeamer/doc/images/titlepage2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer-demo.pdf b/macros/latex/contrib/notebeamer/doc/notebeamer-demo.pdf
deleted file mode 100644
index ffb1857726..0000000000
--- a/macros/latex/contrib/notebeamer/doc/notebeamer-demo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer-demo.tex b/macros/latex/contrib/notebeamer/doc/notebeamer-demo.tex
deleted file mode 100644
index 4944572ba3..0000000000
--- a/macros/latex/contrib/notebeamer/doc/notebeamer-demo.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\documentclass[darker,libertinus,colorful]{notebeamer}
-\begin{document}
- % Assign the author & mail address
- \author{Axia} \mail{xiamyphys@gmail.com}
- % Assign the titlepage, sitcker and logo file
- \flyleaf{titlepage1.pdf} \sticker{Inuyasa.jpg}
- % Assign the logo link and info
- \logo[https://sci.hdu.edu.cn]{HDU.pdf}[Hangzhou·Zhejiang]
- % Create a cover page with color H6, title and subtitle
- \notebook[H6]{Quantum Transport}[Dirac Fermion Discussion Group]
- % Assign the chapter title and the file will be inserted after
- \chapter[PHYSICAL REVIEW B VOLUME 50, NUMBER 8]{newnotedemo.pdf}
- % Insert the page 3--4 of the file with the format 1 image per page
- \newnote{3}{4}
- % Change the titlepage in the subsequent notebooks
- \flyleaf{titlepage2.pdf}
- % Create a cover page with color H5, title
- \notebook[H5]{AQM \& SPD}
- \chapter[Introduction \& Fundamental Concepts]{newnote3sdemo.pdf}
- % Insert the page 1--2, 4--6 of the file with the format 3 images per page
- \newnotesss{1}{2} \newnotesss{3}{6}
- \chapter*[SPD Basic: Transport]{newnote4sdemo.pdf}
- % Insert the page 1--2, 4--6, 7--10 of the file with the format 4 images per page
- \newnotessss{1}{2} \newnotessss{4}{6} \newnotessss{7}{10}
- % Create an empty note paper with no page number
- \emptynote*[2]
- % Create an empty note paper with logo and info but no page number
- \emptyhdunote*[2]
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer-doc.pdf b/macros/latex/contrib/notebeamer/doc/notebeamer-doc.pdf
deleted file mode 100644
index 5d7eac9fb8..0000000000
--- a/macros/latex/contrib/notebeamer/doc/notebeamer-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer-doc.tex b/macros/latex/contrib/notebeamer/doc/notebeamer-doc.tex
deleted file mode 100644
index 8df6c4bb8a..0000000000
--- a/macros/latex/contrib/notebeamer/doc/notebeamer-doc.tex
+++ /dev/null
@@ -1,285 +0,0 @@
-%% ******************************************************
-%% * This work may be distributed and/or modified under *
-%% * the conditions of the LaTeX Project Public License *
-%% * http://www.latex-project.org/lppl.txt *
-%% * either version 1.3c of this license or any later *
-%% * version. *
-%% ******************************************************
-\documentclass[11pt]{article}
-\usepackage{geometry}
-\usepackage{pdfpages}
-\usepackage[level]{datetime}
-\usepackage{unicode-math}
-\usepackage{authblk}
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
-\setmonofont{NotoSansMono}[
- Scale=MatchLowercase,
- Extension=.ttf,
- UprightFont=*-Light,
- BoldFont=*-Medium
-]
-\makeatletter
-\usepackage{listings,dirtree}
-\lstdefinestyle{TeX}{
- language = [LaTeX]TeX,
- texcsstyle = *\color{H7},
- numbers = none,
- basicstyle = {\small\color{H6}\tt},
- mathescape = false,
- breaklines = true,
- columns = fixed,
- keywordstyle = \color{H3},
- commentstyle = \color{darkgray},
- tabsize = 2,
- keywords = {mail,flyleaf,sticker,logo,notebook,chapter,newnote,newnotesss,newnotessss,emptynote,emptyhdunote}
-}
-\usepackage{hyperref,xcolor,verbatim}
-\definecolor{pkgcolor}{Hsb}{103,.8,.5}
-\definecolor{moducolor}{Hsb}{290,.8,.5}
-\definecolor{cmdcolor}{Hsb}{188,.8,.5}
-\definecolor{filecolor}{Hsb}{207,.6,.7}
-\definecolor{H1}{Hsb}{349,.8,.8}% 海棠紅 (Hangzhou MTR L 1 )
-\definecolor{H2}{Hsb}{23, .8,.8}% 丹桂橙 (Hangzhou Metro 2 )
-\definecolor{H3}{Hsb}{48, .8,.8}% 柠檬黄 (Hangzhou Metro 3 )
-\definecolor{H4}{Hsb}{103,.8,.8}% 香樟绿 (Hangzhou Metro 4 )
-\definecolor{H5}{Hsb}{188,.8,.8}% 青藍色 (Hangzhou MTR L 5 )
-\definecolor{H6}{Hsb}{207,.8,.8}% 海洋蓝 (Hangzhou Metro 6 )
-\definecolor{H7}{Hsb}{290,.8,.8}% 浪漫紫 (Hangzhou Metro 7 )
-\hypersetup{colorlinks,urlcolor=H1,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
-
-\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.1em}}
-\def\@pkg#1{\texorpdfstring{\href{https://www.ctan.org/pkg/#1}{\textcolor{pkgcolor}{\textsf{#1}}}}{“#1”}}
-\def\s@pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
-\DeclareRobustCommand\pkg{\@ifstar\s@pkg\@pkg}
-\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
-\def\cmd#1{\texorpdfstring{\textcolor{cmdcolor}{\textsf{#1}}}{“#1”}}
-\def\datechange#1#2{%
- \noindent{\makebox[\textwidth][r]{\color{H7}\rule{1.15\textwidth}{.4pt}}}
- \noindent\makebox[0pt][r]{\makebox[-3em][r]{\small\textbf{\textcolor{H7}{#1}}}\;\;}{\sffamily Update: \ignorespaces#2}}
-\makeatother
-
-\title{The \pkg{NoteBeamer} Template}
-\author[1]{Xia Ming Yu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
-\yyyymmdddate
-\date{\today}
-\affil[1]{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
-\date{\today\quad Version 2.3a}
-\begin{document}
-\maketitle
-
-\begin{abstract}
-This is the document for \pkg{NoteBeamer} template, which provides a method to input Beamers on note papers and make notebook quickly.
-
-GitHub issues: \url{https://github.com/xiamyphys/NoteBeamer/issues}
-
-\end{abstract}
-
-\tableofcontents
-
-\section{Introduction}
-
-\subsection{The purpose of this template}
-This template provides an easy way to input Beamers on note papers and make notebook quickly. It's optimized for Goodnotes' default paper size and there won't have difference between papers.
-
-If you meet bugs when using this template, or you have better suggestions or ideas, or you want to participate in the development of the template or other templates by me, feel free to contact me on GitHub \href{https://github.com/xiamyphys/NoteBeamer/issues}{issues} or via email \href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}.
-
-Also, you can join my \textsf\LaTeX{} Template Discussion \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group: 760570712} to communicate with me and get the insider preview edition of the template.
-
-\subsection{Packages required}
-This template is based on the template \pkg{standalone}. And it requires \pkg{tikz} package to plot some graphics, \pkg{kvoptions} and \pkg{etoolbox} packages to provide global options, \pkg{graphics} package to provide the \mode{draft} mode, \pkg{hyperref} package provides link jump function, \pkg{ctex} package to support the \textbf{Chinese, Simplified} language and \pkg{fontawesome5} package to provide a set of beautiful icons.
-
-I strongly suggest that you should use cmd to implement the commands to update all the packages to the latest version or switch to portable version instead.
-\begin{verbatim}
- tlmgr update --self
- tlmgr update --all
-\end{verbatim}
-
-Remember to choose the proper mirror source in your region. To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
-
-\subsection{Loading \pkg{NoteBeamer} and its modes}
-Update your \sffamily\TeX distribution or just save the file \verb|notebeamer.cls| to your project's root directory, then create a \verb|.tex| file, just input the command \verb|\documentclass{notebeamer}| on the first line.
-
-The template provides three modes: \mode{draft}, \mode{color} and \mode{font}. Just add the options of the modes separately by commas in the square bracket of the command in your \verb|.tex| file, such as
-
-\begin{verbatim}
- \documentclass[draft,darker,libertinus]{notebeamer}
-\end{verbatim}
-
-\section{Modes of \pkg{NoteBeamer}}
-
-
-\subsection{The \mode{draft} mode}
-Like most of the templates, this template also provide all modes provided by \pkg{graphics} package such as \mode{draft}, \sffamily\TeX{} will only read for size info of pages you input, and a box of the correct size is printed with the filename in.
-
-This can accelerate the speed of compile, and you can preview the effect quickly when you input a file with too many pages and (or) its size is too large. After you make sure that there's no formatting errors, you can cancel this mode just to wait until compiled.
-
-The files corresponding to the commands \cmd{sticker}, \cmd{logo} and \cmd{flyleaf} can be stored in a folder named \verb|figure(s)|, \verb|image(s)|, \verb|graphic(s)| or \verb|picture(s)|, and you needn't to write these directories again in these commands because this template has already set these directories as indexes. Just as shown in the file tree in the example in \nameref{dirtree}.
-
-\subsection{The \mode{saturation} mode}
-This mode has three options, \mode{lighter} \mode{light}, \mode{normal}, \mode{dark} and \mode{darker}, which can make the color of the covers you create in this template get lighter or darker, and the default option is \mode{normal}.
-
-\subsection{The \mode{color} mode}
-This mode has two options, \mode{main} and \mode{colorful}, which can make the color of the note line remains or keep the same hues as the cover, and the default option is \mode{main}.
-
-\subsection{The \mode{font} mode}
-This mode has two options, \mode{times} and \mode{libertinus}, which can deside which font the notebook will use: The default \emph{New Times Roman} font or the \emph{Libertinus} font. You can use Libertinus fonts if you've installed it on your computer, and the default option is \mode{times}.
-
-\section{Commands of \pkg{NoteBeamer}}
-
-\subsection{The \cmd{author}, \cmd{mail}, \cmd{flyleaf}, \cmd{sticker} and \cmd{logo} commands}
-\begin{verbatim}
- \author{Your Name} \mail{Your Mail Address}
- \flyleaf{titlepage.pdf} \sticker{sticker.png}
- \logo[link]{logofile.pdf}[info]
-\end{verbatim}
-\begin{itemize}
- \item \cmd{author}, \cmd{mail} and \cmd{flyleaf} command.
-
- There will be an author's name or (and) mail on the cover page after you use the command \cmd{author} or (and) \cmd{mail}, also a hyperlink will be added to the email address. A title page will automatically be added after the cover page after you use the command \cmd{flyleaf}.
-
- \item \cmd{sticker} and \cmd{logo} command.
-
- There will be a sticker on the southeast of the note paper after you add, and there will be a logo on the northwest corner of the cover page and HDU note paper; otherwise it won't.
-
- The first and third variable of the command \cmd{logo} can assign the link and info of the logo, which are optional.
-\end{itemize}
-
-\paragraph{The commands above are all repeatable, which can reassign the values that these commands assigned before.}
-
-\subsection{The \cmd{notebook} command}
-
-\begin{verbatim}
- \notebook[color]{title}[subtitle]
-\end{verbatim}
-
-This command can create a cover. There are 7 colors for the cover, these colors' Hues are from Hangzhou MTR line 1 -- 7, they are \textcolor{H1}{H1. \textsf{\href{https://en.wikipedia.org/wiki/Malus_spectabilis}{Haitang} Red}}, \textcolor{H2}{H2. \textsf{Dangui orange}}, \textcolor{H3}{H3. \textsf{Lemon yellow}}, \textcolor{H4}{H4. \textsf{Camphor green}}, \textcolor{H5}{H5. \textsf{Cyan}}, \textcolor{H6}{H6.\textsf{ Ocean Blue}} and \textcolor{H7}{H7. \textsf{Romantic purple}}.
-
-Here, the second value \verb|title| is mandatory, and it can add the title above the center of the cover page while the third value \verb|subtitle| is optional, and it can add the subtitle vertically to the lower left of the center. The first variable is from \textcolor{H1}{H1} to \textcolor{H7}{H7} and the default value is \textcolor{H5}{H5}.
-
-If a star (*) is added after this command, there will be an empty note after the cover page (or the title page if you assigned in the command \cmd{flyleaf}) automatically.
-
-\subsection{The \cmd{chapter} command}
-\begin{verbatim}
- \chapter[chaptertitle]{filename} \chapter*[chaptertitle]{filename}
-\end{verbatim}
-
-This command has 2 variables: \verb|chaptertitle| and \verb|filename|, will assign the following chapter title and the file (such as PDF made from \textsf\LaTeX{}) will be inputted. Here, the value \verb|chaptertitle| is optional.
-
-If a star (*) is added after this command, the counter \verb|chap| won't take effect.
-
-\subsection{The \cmd{emptynote} \& \cmd{emptyhdunote} commands}
-\begin{verbatim}
- \emptynote \emptynote* \emptyhdunote \emptyhdunote*
- \emptynote[1] \emptynote*[2] \emptyhdunote[3] \emptyhdunote*[4]
-\end{verbatim}
-
-Command \cmd{emptynote} will create an empty note paper with the chapter title before and page number following the previous page, and command \cmd{emptyhdunote} will create an empty note paper with logo (may include link) and info were assigned by the command \cmd{logo} but without chapter title on the top of the note paper.
-
-If a star (*) is added after this command, then the note paper created won't include the chapter title and page number. Also, the counter \verb|page| won't take effect.
-
-There's one optional variable of these command, it decides the number of note papers you will create, and the default value is 1, certainly.
-
-\subsection{The \cmd{newnote (sss) (ssss)} commands}
-\begin{verbatim}
- \newnote{start page}{end page} % insert 1 image per page
- \newnotesss{start page}{end page} % insert 3 images per page
- \newnotessss{start page}{end page} % insert 4 images per page
-\end{verbatim}
-
-These commands will create note papers that were inserted images on the left side, the two variables is the start page number and the end page number of the file that was already assigned by the second variable of the command \cmd{chapter}.
-
-\section{Version History}
-
-In the Advanced Quantum Mechanics class on 19 October 2023, my \emph{obsessive-compulsive disorder} forced me to copy all the content projected by the teacher onto the whiteboard on my iPad, and I found that I only got a few pages full of notes without any knowledge understood in my brain after a class is over. Then, an idea suddenly occurred me: Why not create an automated program to quickly insert the Beamers given by the teacher before class with the format of several images per page? So I can just annotate on it and pay more attention to listen to the teacher. After the class ended that day, I went back to my dormitory and started writing programs in \textsf\LaTeX{}.
-
-\textsf{\bfseries Version 1.0} was finished developing on 22 October 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3720.html}{LaTeX Studio} (Xiaoshan, Hangzhou) and \href{https://www.xiaohongshu.com/user/profile/61e7ad870000000010005642}{Xiaohongshu}, where won the favor of many people and even some people who have already retired from \textsf\LaTeX{} want to re-enter.
-
-On 24 October 2023, a member in the CMC competition WeChat group praised for my template, and proposed his idea: the template could be magically changed to insert a slightly smaller page of notes on the left side and take notes on the right side, because he found that he can only write in the corners when annotating some notes. It's a good idea, then I'm setting about developing the next version of the template.
-
-While considering the suggestions from friends, I am also thinking about how to simplify the previous code. Because in version 1.0, if one want to insert a Beamer with 78 images and make 3 images per page, then he should write the command \cmd{newnotesss} for 26 times, it's so inelegant... However, no matter how I write the loop, it can't meet my expectations or report errors. Then, I asked stackexchange for help, and finally a LaTeX programmer \href{https://tex.stackexchange.com/users/51799/wipet}{wipet} wrote the loop module for me. Here, I want to express my gratitude to him.
-
-\textsf{\bfseries Version 2.0a} was finished developing on 1 November 2023. This version not only simplified the commands to insert Beamers from to dozens of commands to only 1 command, but redesigned some details and functions. Firstly, this version supports to insert only one page of notes on the left side. What's more, this version supports to insert your school's logo on the cover page and empty note paper. Also, this version supports insert empty note papers without page number and chapter title with just add a star (*) after the command. Finally, this version can add a subtitle on the cover page, and redesign the colors (chosen from Hangzhou MTR) of the cover pages.
-
-\textsf{\bfseries Version 2.1a} was finished developing on 9 November 2023. This version has fixed some bugs, and now supports inserting non-consecutive page numbers of the same file, and you can insert a certain number of empty note papers with only one command. Also, this version has redesigned the top and bottom margins and the height between note lines in response to the suggestion from \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group} member. What's more, this version supports the `Libertinus' font, which can make users have a better visual effect.
-
-\textsf{\bfseries Version 2.2b} was finished developing on 11 November 2023. This version has fixed some bugs, and partial commands in this version has changed to use \sffamily\LaTeX{2e} original commands.
-
-\textsf{\bfseries Version 2.3a} was finished developing on 15 November 2023. This version added the option to make the note lines colorful, and removed the packages that already available in the kernel.
-
-\newpage
-\datechange{2023/11/01}{Version 2.0a}
-\begin{itemize}
- \item Simplify the command of inserting 3 \& 4 images per page.
- \item Redesign the cover page \& note paper title.
- \item Add commands to create empty note paper with(out) chapter title \& page number.
- \item Add commands to create empty note paper with logo and info on the top.
-\end{itemize}
-
-\datechange{2023/11/09}{Version 2.1a}
-\begin{itemize}
- \item Fixed the bug of page number errors when inserting the title page.
- \item Fixed the bug of picture string position when inserting the first page number of courseware when the page number is not 1.
- \item Supports inserting non-consecutive page numbers of the same file.
- \item Supports inserting a certain number of empty note papers \& HDU empty note papers with only one command.
- \item Support the `Libertinus' font.
- \item Increased the top and bottom margins of the page by 18.8\% than before.
- \item Other detailed adjustments.
-\end{itemize}
-
-\datechange{2023/11/11}{Version 2.2b}
-\begin{itemize}
- \item Fixed the image position error when inserting 3 and 4 images per note page.
- \item Partially using \sffamily\LaTeX{2e} original commands.
-\end{itemize}
-
-\datechange{\today}{Version 2.3a}
-\begin{itemize}
- \item Added the option to make the note lines colorful.
- \item Added another options in the mode \mode{saturation}.
- \item Removed the packages that already available in the kernel.
-\end{itemize}
-
-\newpage
-\appendix
-\section{Document Example}
-\lstinputlisting[style=TeX]{notebeamer-demo.tex}
-
-\vspace{0.5em}\hrule\vspace{0.5em}
-
-\label{dirtree}
-\begin{minipage}{0.48\textwidth}
- \dirtree{%
- .1 notebeamer/.
- .2 doc/.
- .3 images/.
- .3 notebeamer-demo.tex.
- .3 notebeamer-demo.pdf.
- .3 notebeamer-doc.tex.
- .3 notebeamer-doc.pdf.
- .2 tex/.
- .3 notebeamer.cls.
- .2 License.
- .2 README.md.
- }
-\end{minipage}
-\hfill
-\begin{minipage}{0.48\textwidth}
- \dirtree{%
- .1 doc/.
- .2 images/.
- .3 HDU.pdf.
- .3 Inuyasa.jpg.
- .3 titlepage1.pdf.
- .3 titlepage2.pdf.
- .3 newnotedemo.pdf.
- .3 newnote3sdemo.pdf.
- .3 newnote4sdemo.pdf.
- .2 notebeamer-demo.tex.
- .2 notebeamer-demo.pdf.
- }
-\end{minipage}
-
-
-\includepdf[pages=-,nup=4x4]{notebeamer-demo.pdf}
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer.pdf b/macros/latex/contrib/notebeamer/doc/notebeamer.pdf
new file mode 100644
index 0000000000..6a882ce051
--- /dev/null
+++ b/macros/latex/contrib/notebeamer/doc/notebeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/notebeamer/doc/notebeamer.tex b/macros/latex/contrib/notebeamer/doc/notebeamer.tex
new file mode 100644
index 0000000000..c0e59b9287
--- /dev/null
+++ b/macros/latex/contrib/notebeamer/doc/notebeamer.tex
@@ -0,0 +1,142 @@
+\documentclass[11pt,svgnames]{article}
+\usepackage[notelinecolor=MidnightBlue,notemargin=.75in]{notebeamer}
+\usepackage{indentfirst,titlesec,authblk,hyperref,hologo,pgfpages,lipsum}
+\geometry{margin=1in}
+\titleformat*{\section}{\bfseries\large}
+\titleformat*{\subsection}{\bfseries\normalsize}
+\hologoFontSetup{general=\sffamily}
+\usepackage{datetime}\yyyymmdddate
+\usepackage[libertine,mono=false]{newtx}
+\usepackage{listings}
+\lstset{language=[LaTeX]TeX,basicstyle=\ttfamily,breaklines=true,columns=flexible}
+\hypersetup{colorlinks,urlcolor=MidnightBlue}
+\def\pkg#1{\textcolor{DarkGreen}{\textsf{#1}}}
+\def\mode#1{\textcolor{Indigo}{\textsf{#1}}}
+\def\cmd#1{\textcolor{MidnightBlue}{\texttt{\string#1}}}
+
+\title{\bfseries The \pkg{notebeamer} Package}
+\author{Mingyu Hsia, \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn}}
+\affil{Hangzhou Dianzi University}
+\date{\today\quad Version 3.0b\thanks{\url{https://github.com/xiamyphys/notebeamer}}}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+
+This is the document for the \pkg{notebeamer} package, which provides an easy way to input slides on notepages quickly for making annotations.
+
+Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn} or \href{https://github.com/xiamyphys/notebeamer}{GitHub}.
+
+\end{abstract}
+
+\section{Installing \pkg{notebeamer} and loading it}
+
+Simply download \verb|notebeamer.cls| file from \href{https://github.com/xiamyphys/notebeamer}{GitHub} or \href{https://ctan.org/pkg/notebeamer}{CTAN} and save it under your working directory. However, I strongly suggest to use terminal to install and update all packages to the latest version
+
+\begin{verbatim}
+ sudo tlmgr update --self --all
+\end{verbatim}
+
+To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \hologo{TeX} distribution?}
+
+\section{Key values of this package}
+
+\begin{verbatim}
+ \usepackage[notelinecolor=<color>,notemargin=<margin>]{notebeamer}
+\end{verbatim}
+
+This package has two keys: \cmd{notelinecolor} and \cmd{notemargin}.
+
+The \cmd{notelinecolor} key can set the color notelines, the \cmd{notemargin} key can set the margin of notepages.
+
+If you have not set the keys, the default values of the four keys will be applied
+
+\begin{verbatim}
+ notelinecolor=MidnightBlue, notemargin=.75in
+\end{verbatim}
+
+Please set the geometry for the whole document \textbf{after} you set the notemargin, that is
+
+\begin{verbatim}
+ \usepackage[notemargin=<margin>]{notebeamer} \geometry{<keyval list>}
+\end{verbatim}
+
+otherwise the notemargin configuration won't work.
+
+\section{The margin of notepages}
+
+The relation of the margin of notepages and the margin configuration of package \pkg{geometry} satisfies the following expression
+
+\begin{verbatim}
+ topmargin = bottommargin = (\paperwidth-\textwidth)/3
+ leftmargin = rightmargin = (2\paperheight-2\textheight)/5
+\end{verbatim}
+
+\section{Commands of \pkg{notebeamer}}
+
+\subsection{The \cmd{notechap} command}
+
+\begin{verbatim}
+ \notechap [<notetitle>] {<filename>}
+\end{verbatim}
+
+This command can assign the following notetitle and the PDF file you want to input.
+
+\subsection{The \cmd{notelinenum} and \cmd{notecolumnratio} commands}
+
+\begin{verbatim}
+ \notelinenum{<number>} \notecolumnratio{<number>}
+\end{verbatim}
+
+The two commands can assign the number of notelines and the ratio of columns on following notepages respectively. The default value of the number of notelines is \verb|27| and that of the ratio of columns is \verb|0.5|.
+
+\subsection{The \cmd{hidenotelinetrue} and \cmd{hidenotelinefalse} commands}
+
+Notepages after the \cmd{hidenotelinetrue} command the notelines will be hidden while notepages after command \cmd{hidenotelinefalse} the notelines will be restored.
+
+\subsection{The \cmd{newnotepage}}
+
+\begin{verbatim}
+ \newnotepage[<number>] \newnotepage*[<number>]
+\end{verbatim}
+
+The \cmd{newnotepage} command can create empty notepage(s). If a star (*) is added after the command, the created empty notepage(s) won't have column rule.
+
+\subsection{The \cmd{includebeamer} command}
+
+\begin{verbatim}
+ \includebeamer[<number of slides per page>]{<start page>}{<end page>}
+\end{verbatim}
+
+This commands will create notepages that were inserted images on the left sidnumber of slides per page and the last two variables can set the start page and end page of the PDF file you want to insert that assigned by the command \cmd{notechap}.
+
+\appendix
+\section{Related packages}
+
+\subsection{The \pkg{fadingimage} package}
+
+This package provides macros for inputting full width picture at the edges of pages quickly.
+
+\subsection{The \pkg{litesolution} class}
+
+This class is designed for typesetting solutions of problems in exams, textbooks, etc. The \pkg{notebeamer} package is contained in the \pkg{litesolution} class now.
+
+\clearpage
+\pgfpagesuselayout{4 on 1}[letterpaper]
+
+\notelinenum{27}\pagecolor{yellow!2}
+
+\notechap[Chapter 1. Introduction \& Fundamental Concepts]{figures/beamerdemo.pdf}
+\notecolumnratio{.57}
+\hidenotelinefalse \includebeamer[3]{2}{4}
+\notecolumnratio{.43}
+\hidenotelinetrue \includebeamer[4]{3}{6}
+
+\notechap[Phys. Rev. B. Volume 50, Number 8]{figures/paperdemo.pdf}
+\notecolumnratio{.72}
+\hidenotelinefalse \includebeamer[1]{2}{2}
+
+\notecolumnratio{.5} \newnotepage
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/notebeamer/tex/notebeamer.cls b/macros/latex/contrib/notebeamer/tex/notebeamer.cls
deleted file mode 100644
index fef627cad0..0000000000
--- a/macros/latex/contrib/notebeamer/tex/notebeamer.cls
+++ /dev/null
@@ -1,314 +0,0 @@
-%% ************************************************************************************************************
-%% ****************************************************** *
-%% * This work may be distributed and/or modified under * * ***** * * *
-%% * the conditions of the LaTeX Project Public License * * ** * * *** * * *
-%% * http://www.latex-project.org/lppl.txt * * * ** * ***** * *
-%% * either version 1.3c of this license or any later * * * ** * ***** * *
-%% * version. * * * ** * * * * *
-%% ****************************************************** ***** ** * * *** * * *
-%% start of file `notebeamer.cls'. *
-%% Copyright 2023 LiteLaTeX (xiamyphys@gmail.com) *
-%% available at https://github.com/xiamyphys/NoteBeamer *
-%% Thanks `wipet' (https://petr.olsak.net/) provides Beamers automatically inserts module *
-%% !Mode:: "TeX:UTF-8" *
-%% ************************************************************************************************************
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{notebeamer}[2023/11/15 v2.3a NoteBeamer document class]
-
-%% Global opinions
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
-\SetupKeyvalOptions{family=NB, prefix=NB@, setkeys=\kvsetkeys}
-\def\ekv#1{\kvsetkeys{NB}{#1}}
-
-\DeclareStringOption[normal]{saturation}
-\DeclareVoidOption{lighter}{\ekv{saturation=lighter}}
-\DeclareVoidOption{light}{\ekv{saturation=light}}
-\DeclareVoidOption{normal}{\ekv{saturation=normal}}
-\DeclareVoidOption{dark}{\ekv{saturation=dark}}
-\DeclareVoidOption{darker}{\ekv{saturation=darker}}
-
-\DeclareStringOption[main]{color}
-\DeclareVoidOption{main}{\ekv{color=main}}
-\DeclareVoidOption{colorful}{\ekv{color=colorful}}
-
-\DeclareStringOption[times]{font}
-\DeclareVoidOption{times}{\ekv{font=times}}
-\DeclareVoidOption{libertinus}{\ekv{font=libertinus}}
-
-\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{standalone}}
-\ProcessKeyvalOptions*\relax
-\PassOptionsToPackage{quiet}{fontspec}
-\LoadClass[tikz]{standalone}
-
-%% Packages
-\RequirePackage[colorlinks,linkcolor=black,urlcolor=black]{hyperref}
-\RequirePackage{ctex}
-\RequirePackage{fontawesome5}
-
-%% Global definitions
-\def\notewidth{6.32}
-\def\noteheight{8.18}
-\def\author#1{\gdef\@author{#1}}
-\def\mail#1{\gdef\@mail{\href{mailto:#1}{\nolinkurl{#1}}}}
-\NewDocumentCommand\chapter{s o m}{
- \IfBooleanTF{#1}{}{\refstepcounter{chap}}
- \gdef\@chapter{#2}
- \gdef\@courseware{#3}
- \setcounter{note}{0}
-}
-\def\flyleaf#1{\gdef\@flyleaf{#1}}
-\def\sticker#1{\gdef\@sticker{#1}}
-\NewDocumentCommand\logo{O{https://www.hdu.edu.cn} m O{Hangzhou·Zhejiang}}{\gdef\@edu{#1}\gdef\@logo{#2}\gdef\@address{#3}}
-
-%% Fonts
-\ifdefstring{\NB@font}{libertinus}{
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
-\setmonofont{NotoSansMono}[
- Scale=MatchLowercase,
- Extension=.ttf,
- UprightFont=*-Light,
- BoldFont=*-Medium
-]
-}{\relax}
-
-%% notepages
-\RequirePackage{graphics}
-\graphicspath{{./beamer/}{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}}% Paths
-\definecolor{pagecolor}{HTML}{F7F6E9}
-\definecolor{main}{HTML}{223A70}
-\newcounter{chap}
-\newcounter{note}
-\def\chaptername{\faIcon{seedling} Chapter}
-
-%%%% 1 note per page
-\def\newnote#1#2{
- \refstepcounter{note}
- \addtocounter{note}{-1}
- \foreach \n in {#1,...,#2}{
- \begin{tikzpicture}
- \fill [pagecolor!50] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \ifcsname @sticker\endcsname\node [anchor=south east,opacity=0.24,inner sep=0pt] at (0.985*\notewidth in,0.012*\noteheight in) {\includegraphics[height=1.07158 in]{\@sticker}};\fi
-
- %%%%%% imput file
- \node [yshift=(\thenote+1)*33*0.028*\noteheight in,inner sep=0pt] at (0.4*\notewidth in,0.038*\noteheight in-12.5*0.028*\noteheight in) {\ifcsname @chapter\endcsname\includegraphics[height=5.61148 in,page=\n]{\@courseware}\fi};
-
- %%%%%% draw lines & dots: right
- \foreach \a in {9,...,33}
- \foreach \b in {24,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {9,...,32}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.75*\notewidth in+0.25*0.028*\notewidth in,0.038*\noteheight in) --++ (0.2*\notewidth in-0.25*0.028*\notewidth in,0);% 横线
-
- %%%%%% draw lines & dots: bottom
- \foreach \a in {0,...,8,8}
- \foreach \b in {1,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {1,...,8,8}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 横线
-
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 底部粗线
-
- \draw [line cap=round,main!80,thick,yshift=33*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=south west,at start] {\small\color{main}\bfseries\sffamily\chaptername~\ifcsname @chapter\endcsname\thechap. \@chapter\fi} node [anchor=south east] {\small\color{main}\bfseries\sffamily Page \thepage\quad};% 顶部粗线
-
- \draw [line cap=round,thick,opacity=0.4,main!50!gray] (0.75*\notewidth in,0.038*\noteheight in+8.25*0.028*\noteheight in) -- (0.75*\notewidth in,0.038*\noteheight in+32.75*0.028*\noteheight in);% 分栏线
- \end{tikzpicture}
- }
-}
-
-%%%% 3 beamers per page
-\def\threebeamers#1#2#3{
- \refstepcounter{note}
- \begin{tikzpicture}
- \fill [pagecolor!50] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \ifcsname @sticker\endcsname\node [anchor=south east,opacity=0.24,inner sep=0pt] at (0.985*\notewidth in,0.012*\noteheight in) {\includegraphics[height=1.07158 in]{\@sticker}};\fi
-
- %%%%%% imput file
- \foreach \n in {#1,#2,#3}
- \node [yshift=(27.5-(\n-#1)*11)*0.028*\noteheight in,inner sep=0pt] at (0.3125*\notewidth in,0.038*\noteheight in) {\ifcsname @chapter\endcsname\includegraphics[height=2.40492 in,page=\n]{\@courseware}\fi};
-
- %%%%%% draw lines & dots
- \foreach \a in {0,...,33}
- \foreach \b in {18,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {1,...,32}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.575*\notewidth in+0.25*0.028*\notewidth in,0.038*\noteheight in) --++ (0.375*\notewidth in-0.25*0.028*\notewidth in,0);% 横线
-
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 底部粗线
-
- \draw [line cap=round,main!80,thick,yshift=33*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=south west,at start] {\small\color{main}\bfseries\sffamily\chaptername~\ifcsname @chapter\endcsname\thechap. \@chapter\fi} node [anchor=south east] {\small\color{main}\bfseries\sffamily Page \thepage\quad};% 顶部粗线
-
- \draw [line cap=round,thick,opacity=0.4,main!50!gray] (0.575*\notewidth in,0.038*\noteheight in+0.25*0.028*\noteheight in) -- (0.575*\notewidth in,0.038*\noteheight in+32.75*0.028*\noteheight in);% 分栏线
- \end{tikzpicture}
-}
-
-%%%%%% Simplify loop 3
-\newcount\tmpnum
-\def\newnotesss#1#2{%
-\addtocounter{note}{-1}
- \def\maxnum{#2}\tmpnum=#1
- \loop
- \unless\ifnum\tmpnum>#2 \threebeamers{\valnum0}{\valnum1}{\valnum2}
- \advance\tmpnum by3
- \repeat
-}
-\def\valnum#1{%
- \ifnum\maxnum>\numexpr\tmpnum+#1\relax
- \the\numexpr\tmpnum+#1\relax \else \maxnum\fi
-}
-
-%%%% 4 slides per page
-\def\fourbeamers#1#2#3#4{
- \refstepcounter{note}
- \begin{tikzpicture}
- \fill [pagecolor!50] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \ifcsname @sticker\endcsname\node [anchor=south east,opacity=0.24,inner sep=0pt] at (0.985*\notewidth in,0.012*\noteheight in) {\includegraphics[height=1.07158 in]{\@sticker}};\fi
- %%%%%% imput file
- \foreach \n in {#1,#2,#3,#4}
- \node [yshift=(28.875-(\n-#1)*8.25)*0.028*\noteheight in,inner sep=0pt] at (0.3125*\notewidth in,0.038*\noteheight in) {\ifcsname @chapter\endcsname\includegraphics[height=1.77506 in,page=\n]{\@courseware}\fi};
-
- \foreach \a in {0,...,33}
- \foreach \b in {18,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {1,...,32}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.575*\notewidth in+0.25*0.028*\notewidth in,0.038*\noteheight in) --++ (0.375*\notewidth in-0.25*0.028*\notewidth in,0);% 横线
-
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 底部粗线
-
- \draw [line cap=round,main!80,thick,yshift=33*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=south west,at start] {\small\color{main}\bfseries\sffamily\chaptername~\ifcsname @chapter\endcsname\thechap. \@chapter\fi} node [anchor=south east] {\small\color{main}\bfseries\sffamily Page \thepage\quad};% 顶部粗线
-
- \draw [line cap=round,thick,opacity=0.4,main!50!gray] (0.575*\notewidth in,0.038*\noteheight in+0.25*0.028*\noteheight in) -- (0.575*\notewidth in,0.038*\noteheight in+32.75*0.028*\noteheight in);% 分栏线
- \end{tikzpicture}
-}
-
-%%%%%% Simplify loop 4
-\newcount\tmpnum
-\def\newnotessss#1#2{%
-\addtocounter{note}{-1}
- \def\maxnum{#2}\tmpnum=#1
- \loop
- \unless\ifnum\tmpnum>#2 \fourbeamers{\valnum0}{\valnum1}{\valnum2}{\valnum3}
- \advance\tmpnum by4
- \repeat
-}
-\def\valnum#1{%
- \ifnum\maxnum>\numexpr\tmpnum+#1\relax
- \the\numexpr\tmpnum+#1\relax \else \maxnum\fi
-}
-
-%%%% emptynote (*without chapter title & page number)
-\NewDocumentCommand\clearnote{s}{
-\begin{tikzpicture}
- \fill [pagecolor!50] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \ifcsname @sticker\endcsname\node [anchor=south east,opacity=0.24,inner sep=0pt] at (0.985*\notewidth in,0.012*\noteheight in) {\includegraphics[height=1.07158 in]{\@sticker}};\fi
- \foreach \a in {0,...,33}
- \foreach \b in {1,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {1,...,32}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 横线
-
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 底部粗线
-
- \IfBooleanTF{#1}
- {
- \draw [line cap=round,main!80,thick,yshift=33*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=south west,at start] {\small\color{main}\bfseries\sffamily\chaptername} node [anchor=south east] {\small\color{main}\bfseries\sffamily Page\addtocounter{page}{-1}\quad\quad};% 顶部粗线
- }
- {
- \draw [line cap=round,main!80,thick,yshift=33*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=south west,at start] {\small\color{main}\bfseries\sffamily\chaptername~\ifcsname @chapter\endcsname\thechap. \@chapter\fi} node [anchor=south east] {\small\color{main}\bfseries\sffamily Page \thepage\quad};% 顶部粗线
- }
-
- \draw [line cap=round,thick,opacity=0.4,main!50!gray] (0.5*\notewidth in,0.038*\noteheight in+0.25*0.028*\noteheight in) -- (0.5*\notewidth in,0.038*\noteheight in+32.75*0.028*\noteheight in);% 分栏线
-\end{tikzpicture}
-}
-
-\NewDocumentCommand\emptynote{s O{1}}
-{\IfBooleanTF{#1}{
- \Repeat{#2}{\clearnote*}
- }{
- \Repeat{#2}{\clearnote}
- }
-}
-
-%%%% emptynote with school title (*without chapter title & page number)
-\NewDocumentCommand\clearhdunote{s}{
-\begin{tikzpicture}
- \fill [pagecolor!50] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \ifcsname @sticker\endcsname\node [anchor=south east,opacity=0.24,inner sep=0pt] at (0.985*\notewidth in,0.012*\noteheight in) {\includegraphics[height=1.07158 in]{\@sticker}};\fi
- \foreach \a in {0,...,32}
- \foreach \b in {1,...,29}
- \fill [fill=main!50!gray,xshift=\b*0.03*\notewidth in,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) circle (0.006);% 点
- \foreach \a in {1,...,31}
- \draw [line cap=round,opacity=0.5,main!80!gray!80,yshift=\a*\noteheight*0.028 in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0);% 横线
-
- \IfBooleanTF{#1}
- {
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=north east,darkgray] {\small\color{main}\bfseries\sffamily Page\addtocounter{page}{-1}\quad\quad};% 底部粗线
- }{
- \draw [line cap=round,main!80,thick] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0) node [anchor=north east,darkgray] {\small\color{main}\bfseries\sffamily Page \thepage\quad};% 底部粗线
- }
-
- \draw [line cap=round,main!80,thick,yshift=32*0.028*\noteheight in] (0.05*\notewidth in,0.038*\noteheight in) --++ (0.9*\notewidth in,0)\ifcsname @logo\endcsname node [anchor=west,at start,yshift=0.033*\noteheight in,inner sep=0pt] {\href{\@edu}{\includegraphics[height=0.45808 in]{\@logo}}} node [anchor=east,yshift=0.033*\noteheight in] {\bfseries\heiti\color{main}\faIcon{map-pin} \@address\quad\quad}\fi;% 顶部粗线
-
- \draw [line cap=round,thick,opacity=0.4,main!50!gray] (0.5*\notewidth in,0.038*\noteheight in+0.25*0.028*\noteheight in) -- (0.5*\notewidth in,0.038*\noteheight in+31.75*0.028*\noteheight in);% 分栏线
-\end{tikzpicture}
-}
-
-\NewDocumentCommand\emptyhdunote{s O{1}}
-{\IfBooleanTF{#1}{
- \Repeat{#2}{\clearhdunote*}
- }{
- \Repeat{#2}{\clearhdunote}
- }
-}
-
-%% covers
-\ifdefstring{\NB@saturation}{lighter}{\def\@saturation{.18}}{\relax}
-\ifdefstring{\NB@saturation}{light}{\def\@saturation{.15}}{\relax}
-\ifdefstring{\NB@saturation}{normal}{\def\@saturation{.12}}{\relax}
-\ifdefstring{\NB@saturation}{dark}{\def\@saturation{.09}}{\relax}
-\ifdefstring{\NB@saturation}{darker}{\def\@saturation{.06}}{\relax}
-
-\definecolor{H1}{Hsb}{349,\@saturation,.9}% 海棠紅 (Hangzhou MTR L 1 )
-\definecolor{H1*}{HTML}{702230}
-\definecolor{H2}{Hsb}{23, \@saturation,.9}% 丹桂橙 (Hangzhou Metro 2 )
-\definecolor{H2*}{HTML}{703F22}
-\definecolor{H3}{Hsb}{48, \@saturation,.9}% 柠檬黄 (Hangzhou Metro 3 )
-\definecolor{H3*}{HTML}{706022}
-\definecolor{H4}{Hsb}{103,\@saturation,.9}% 香樟绿 (Hangzhou Metro 4 )
-\definecolor{H4*}{HTML}{387022}
-\definecolor{H5}{Hsb}{188,\@saturation,.9}% 青藍色 (Hangzhou MTR L 5 )
-\definecolor{H5*}{HTML}{226570}
-\definecolor{H6}{Hsb}{207,\@saturation,.9}% 海洋蓝 (Hangzhou Metro 6 )
-\definecolor{H6*}{HTML}{224C70}
-\definecolor{H7}{Hsb}{290,\@saturation,.9}% 浪漫紫 (Hangzhou Metro 7 )
-\definecolor{H7*}{HTML}{632270}
-
-\NewDocumentCommand\notebook{s O{H5} m O{}}{
- \setcounter{chap}{0}
- \setcounter{page}{0}
- \begin{tikzpicture}
- \fill [#2] (0,0) rectangle (\notewidth in,\noteheight in);% 边界
- \fill [white,opacity=0.17] (0.2*\notewidth in,0.6*\noteheight in) rectangle (\notewidth in,0);
- \fill [white,opacity=0.17] (0.3*\notewidth in,0.7*\noteheight in) rectangle (\notewidth in,0);
- \node at (0.65*\notewidth in,0.65*\noteheight in) {\LARGE\bfseries\sffamily #3};
- \node [rotate=90,opacity=0.4] at (0.25*\notewidth in,0.3*\noteheight in) {\sffamily\Large\bfseries\MakeUppercase{#4}};
- \draw [thick,line cap=round] (0.65*\notewidth in,0.05*\noteheight in) --++ (0.25*\notewidth in,0) node [anchor=south west] {\large\faIcon{feather-alt}} \ifcsname @mail\endcsname node [midway,anchor=south] {\bfseries\texttt{\@mail}}\fi node [midway,anchor=south,yshift=2em] {\bfseries\sffamily\large\ifcsname @author\endcsname\@author\fi};
- \ifcsname @logo\endcsname\node [anchor=north west] at (0.025*\notewidth in,0.991*\noteheight in) {\href{\@edu}{\includegraphics[width=2.212 in]{\@logo}}};\fi
- \end{tikzpicture}
- \ifdefstring{\NB@color}{colorful}{\colorlet{main}{main}}{\relax}
- \ifdefstring{\NB@color}{colorful}{\colorlet{main}{#2*}}{\relax}
- \ifcsname @flyleaf\endcsname
- \addtocounter{page}{-1}
- \begin{tikzpicture}
- \node [inner sep=0pt] at (0.5*\notewidth in,0.5*\noteheight in) {\includegraphics[width=\notewidth in]{\@flyleaf}};
- \end{tikzpicture}
- \fi
- \IfBooleanTF{#1}{\emptynote*}{}
-}
-
-%% LaTeX 3 \Repeat supports
-\ExplSyntaxOn
-\cs_new_eq:NN \Repeat \prg_replicate:nn
-\ExplSyntaxOff \ No newline at end of file
diff --git a/macros/latex/contrib/notebeamer/tex/notebeamer.sty b/macros/latex/contrib/notebeamer/tex/notebeamer.sty
new file mode 100644
index 0000000000..86189cb513
--- /dev/null
+++ b/macros/latex/contrib/notebeamer/tex/notebeamer.sty
@@ -0,0 +1,160 @@
+%% ***********************************************************
+%% Copyright 2024 by Mingyu Hsia <xiamyphys@hdu.edu.cn> *
+%% *
+%% This work may be distributed and/or modified under *
+%% the conditions of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later *
+%% version. *
+%% *
+%% This work has the LPPL maintenance status `maintained'. *
+%% *
+%% The Current Maintainer of this work is Mingyu Hsia. *
+%% *
+%% This work consists of the files notebeamer.sty, *
+%% and README.md. *
+%% available at https://github.com/xiamyphys/notebeamer *
+%% Thanks `wipet' (https://petr.olsak.net/) provides *
+%% Beamers automatically inserts module *
+%% ***********************************************************
+% !Mode:: "TeX:UTF-8"
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\ProvidesPackage{notebeamer}[2024/05/06 v3.0b Package provides macros for inputting slides on note papers quickly.]
+\RequirePackage{xkeyval}
+
+\DeclareOptionX{notelinecolor}{\gdef\@notelinecolor{#1}}
+\ExecuteOptionsX{notelinecolor=darkgray}
+\DeclareOptionX{notemargin}{\gdef\@notemargin{#1}}
+\ExecuteOptionsX{notemargin=.75in}
+
+\DeclareOptionX*{\PackageWarning{notebeamer}{`\CurrentOption' ignored}}
+\ProcessOptionsX\relax
+
+\RequirePackage{geometry,calc,tikz}
+\newgeometry{margin=\@notemargin}
+\tikzset{every picture/.append style={%
+ line join=round,line cap=round,thick}}
+\usetikzlibrary{calc}
+
+\newcounter{note}
+\NewDocumentCommand\notechap{o m}{
+ \gdef\@notechap{#1}
+ \gdef\@beamer{#2}
+ \setcounter{note}{0}}
+
+\newlength\hnotemargin\newlength\vnotemargin
+\setlength\hnotemargin{(\paperwidth-\textwidth)/3}
+\setlength\vnotemargin{(2\paperheight-2\textheight)/5}
+\newlength\notewidth\newlength\noteheight
+\setlength\notewidth{\paperwidth-2\hnotemargin}
+\setlength\noteheight{\paperheight-2\vnotemargin}
+\newlength\notelinespace
+
+\def\notelinenum#1{%
+ \gdef\@notelinenum{#1}
+ \setlength\notelinespace{\noteheight/#1}}
+\ifcsname @notelinenum\endcsname
+\else
+ \gdef\@notelinenum{27}
+ \setlength\notelinespace{\noteheight/27}
+\fi
+\def\notecolumnratio#1{\gdef\@notecolumnratio{#1}}
+\ifcsname @notecolumnratio\endcsname
+\else
+ \gdef\@notecolumnratio{.5}
+\fi
+
+\newif\ifhidenoteline
+
+\def\@onepaper#1{
+ \refstepcounter{note}\addtocounter{note}{-1}
+ \clearpage\thispagestyle{empty}
+ \begin{tikzpicture}[remember picture,overlay]
+ %%%%%% notepage lines
+ \draw [\@notelinecolor,opacity=.8,very thick] ($(current page.north west)+(\hnotemargin,-\vnotemargin)$) --++ (\notewidth,0) node [above right,at start,yshift=1ex] {\large\bfseries\sffamily\ifcsname @notechap\endcsname\@notechap\fi} node [above left,yshift=1ex] {\large\bfseries\sffamily Page \thepage\quad}; % 顶部粗线
+ \draw [\@notelinecolor,opacity=.8,thick] ($(current page.south west)+(\hnotemargin,\vnotemargin)$) --++ (\notewidth,0); % 底部粗线
+ \ifhidenoteline\else
+ \foreach \a in {2,...,\@notelinenum}
+ \draw [\@notelinecolor,opacity=.4,thick] ($(current page.south west)+(\hnotemargin,{\vnotemargin+(\a-1)*\notelinespace})$) --++ (\notewidth,0); % 横线
+ \fi
+ %%%%%% imput file
+ \node [below,yshift=\thenote*\noteheight-1ex,inner sep=0pt] at ($(current page.north west)+(\hnotemargin+.5*\@notecolumnratio*\notewidth,-\vnotemargin)$) {\ifcsname @notechap\endcsname\includegraphics[width=\dimeval{\@notecolumnratio\notewidth},page=#1]{\@beamer}\fi};
+ \end{tikzpicture}
+}
+
+\def\@threebeamer#1#2#3{
+ \refstepcounter{note}\addtocounter{note}{-1}
+ \clearpage\thispagestyle{empty}
+ \begin{tikzpicture}[remember picture,overlay]
+ %%%%%% notepage lines
+ \draw [\@notelinecolor,opacity=.8,very thick] ($(current page.north west)+(\hnotemargin,-\vnotemargin)$) --++ (\notewidth,0) node [above right,at start,yshift=1ex] {\large\bfseries\sffamily\ifcsname @notechap\endcsname\@notechap\fi} node [above left,yshift=1ex] {\large\bfseries\sffamily Page \thepage\quad}; % 顶部粗线
+ \draw [\@notelinecolor,opacity=.8,thick] ($(current page.south west)+(\hnotemargin,\vnotemargin)$) --++ (\notewidth,0); % 底部粗线
+ \ifhidenoteline\else
+ \foreach \a in {2,...,\@notelinenum}
+ \draw [\@notelinecolor,opacity=.4,thick] ($(current page.south west)+(\hnotemargin+\@notecolumnratio*\notewidth+1ex,{\vnotemargin+(\a-1)*\notelinespace})$) --++ ({(1-\@notecolumnratio)*\notewidth-1ex},0); % 横线
+ \fi
+ \draw [\@notelinecolor!80,opacity=.5,very thick] ($(current page.south west)+(\hnotemargin+\@notecolumnratio*\notewidth,\vnotemargin+1ex)$) --++ (0,\noteheight-2ex); % 分栏线
+ %%%%%% imput file
+ \foreach \n in {#1,#2,#3}
+ \node [yshift=(2*#1-2*\n-1)*\noteheight/6+\thenote*\noteheight,inner sep=0pt] at ($(current page.north west)+(\hnotemargin+.5*\@notecolumnratio*\notewidth,-\vnotemargin)$) {\ifcsname @notechap\endcsname\includegraphics[height=\dimeval{\noteheight/3-2ex},page=\n]{\@beamer}\fi};
+ \end{tikzpicture}
+}
+
+\def\@fourbeamer#1#2#3#4{
+ \refstepcounter{note}\addtocounter{note}{-1}
+ \clearpage\thispagestyle{empty}
+ \begin{tikzpicture}[remember picture,overlay]
+ \draw [\@notelinecolor,opacity=.8,very thick] ($(current page.north west)+(\hnotemargin,-\vnotemargin)$) --++ (\notewidth,0) node [above right,at start,yshift=1ex] {\large\bfseries\sffamily\ifcsname @notechap\endcsname\@notechap\fi} node [above left,yshift=1ex] {\large\bfseries\sffamily Page \thepage\quad}; % 顶部粗线
+ \draw [\@notelinecolor,opacity=.8,thick] ($(current page.south west)+(\hnotemargin,\vnotemargin)$) --++ (\notewidth,0); % 底部粗线
+ \ifhidenoteline\else
+ \foreach \a in {2,...,\@notelinenum}
+ \draw [opacity=.5,\@notelinecolor,opacity=.4,thick] ($(current page.south west)+(\hnotemargin+\@notecolumnratio*\notewidth+1ex,{\vnotemargin+(\a-1)*\notelinespace})$) --++ ({(1-\@notecolumnratio)*\notewidth-1ex},0); % 横线
+ \fi
+ \draw [\@notelinecolor,opacity=.5,very thick] ($(current page.south west)+(\hnotemargin+\@notecolumnratio*\notewidth,\vnotemargin+1ex)$) --++ (0,\noteheight-2ex); % 分栏线
+ %%%%%% imput file
+ \foreach \n in {#1,#2,#3,#4}
+ \node [yshift=(2*#1-2*\n-1)*\noteheight/8+\thenote*\noteheight,inner sep=0pt] at ($(current page.north west)+(\hnotemargin+.5*\@notecolumnratio*\notewidth,-\vnotemargin)$) {\ifcsname @notechap\endcsname\includegraphics[height=\dimeval{\noteheight/4-2ex},page=\n]{\@beamer}\fi};
+ \end{tikzpicture}
+}
+
+\ExplSyntaxOn\cs_new_eq:NN \Repeat \prg_replicate:nn\ExplSyntaxOff
+\NewDocumentCommand\newnotepage{s O{1}}{\Repeat{#2}{
+ \refstepcounter{note}
+ \clearpage\thispagestyle{empty}
+ \begin{tikzpicture}[remember picture,overlay]
+ \draw [\@notelinecolor,opacity=.8,very thick] ($(current page.north west)+(\hnotemargin,-\vnotemargin)$) --++ (\notewidth,0) node [above right,at start,yshift=1ex] {\large\bfseries\sffamily\ifcsname @notechap\endcsname\@notechap\fi} node [above left,yshift=1ex] {\large\bfseries\sffamily Page \thepage\quad}; % 顶部粗线
+ \draw [\@notelinecolor,opacity=.8,thick] ($(current page.south west)+(\hnotemargin,\vnotemargin)$) --++ (\notewidth,0); % 底部粗线
+ \ifhidenoteline\else
+ \foreach \a in {2,...,\@notelinenum}
+ \draw [\@notelinecolor,opacity=.4,thick] ($(current page.south west)+(\hnotemargin,{\vnotemargin+(\a-1)*\notelinespace})$) --++ (\notewidth,0); % 横线
+ \fi
+ \IfBooleanF{#1}{% 分栏线
+ \draw [\@notelinecolor,opacity=.5,very thick] ($(current page.south west)+(\hnotemargin+\@notecolumnratio*\notewidth,\vnotemargin+1ex)$) --++ (0,\noteheight-2ex);}
+\end{tikzpicture}}
+}
+
+\newcount\tmpnum
+\def\valnum#1{%
+ \ifnum\maxnum>\numexpr\tmpnum+#1\relax
+ \the\numexpr\tmpnum+#1\relax \else \maxnum\fi}
+\NewDocumentCommand\includebeamer{ o m m }{%
+ \ifnum #1=1
+ \def\maxnum{#3}\tmpnum=#2
+ \loop
+ \unless\ifnum\tmpnum>#3 \@onepaper{\valnum0}
+ \advance\tmpnum by1
+ \repeat\fi
+ \ifnum #1=3
+ \def\maxnum{#3}\tmpnum=#2
+ \loop
+ \unless\ifnum\tmpnum>#3 \@threebeamer{\valnum0}{\valnum1}{\valnum2}
+ \advance\tmpnum by3
+ \repeat\fi
+ \ifnum #1=4
+ \def\maxnum{#3}\tmpnum=#2
+ \loop
+ \unless\ifnum\tmpnum>#3 \@fourbeamer{\valnum0}{\valnum1}{\valnum2}{\valnum3}
+ \advance\tmpnum by4
+ \repeat\fi}
diff --git a/macros/latex/contrib/osda/README.md b/macros/latex/contrib/osda/README.md
index 03de404407..07396d51d5 100644
--- a/macros/latex/contrib/osda/README.md
+++ b/macros/latex/contrib/osda/README.md
@@ -28,7 +28,7 @@ above.
```
\usepackage[
- 2023,
+ 2024,
cc-by,
pages={1}{6},
url=https://osda.ws/r/aaVHo,
@@ -59,7 +59,7 @@ pdflatex osda.dtx
## License information
-Copyright 2023 by Christian Krieg (christian@osda.ws)
+Copyright 2023-2024 by Christian Krieg (christian@osda.ws)
This work (excluding the OSDA logo) may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3 of this
diff --git a/macros/latex/contrib/osda/example.png b/macros/latex/contrib/osda/example.png
index 4f8b01b361..2b1a2f49b1 100644
--- a/macros/latex/contrib/osda/example.png
+++ b/macros/latex/contrib/osda/example.png
Binary files differ
diff --git a/macros/latex/contrib/osda/osda.dtx b/macros/latex/contrib/osda/osda.dtx
index b0ad170e90..7406112206 100644
--- a/macros/latex/contrib/osda/osda.dtx
+++ b/macros/latex/contrib/osda/osda.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% osda.ins
-% Copyright 2023 by Christian Krieg (christian@osda.ws)
+% Copyright 2023-2024 by Christian Krieg (christian@osda.ws)
%
% This work (excluding the OSDA logo) may be distributed and/or modified under
% the conditions of the LaTeX Project Public License, either version 1.3 of this
@@ -29,7 +29,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{osda}
%<*package>
- [2023/04/03 v1.2.0 OSDA copyright notice generator]
+ [2024/05/01 v1.4.0 OSDA copyright notice generator]
%</package>
%
%<*driver>
@@ -52,7 +52,7 @@
moredelim=**[is][\ttfamily\bfseries\color{red}]{(*}{*)},
}
\usepackage[
- 2023,
+ 2024,
cc-by,
pages={1}{6},
url=https://osda.ws/r/0slLz,
@@ -93,6 +93,11 @@
% \changes{v1.0.0}{2023/03/30}{Initial version}
% \changes{v1.1.0}{2023/04/03}{Adding 'auto' option}
% \changes{v1.2.0}{2023/04/03}{Updating README}
+% \changes{v1.3.0}{2023/04/04}{
+% Adding presets for the years 2019 and 2020,
+% adding inline OSDA logo
+% }
+% \changes{v1.4.0}{2024/05/01}{Adding preset for 2020}
%
% \GetFileInfo{osda.sty}
%
@@ -107,7 +112,7 @@
% \author{Christian Krieg\\ Workshop on Open-Source Design Automation (OSDA) \\
% \texttt{christian@osda.ws}
% }
-% \date{April 03, 2023}
+% \date{May 01, 2024}
%
% \newcommand{\Example}{\vspace{1em}\noindent\textbf{Example:}\vspace{1em}}
%
@@ -139,7 +144,7 @@
% \begin{lstlisting}[gobble=6,float=tb,label=lst:usage-example,caption={An
% example for the most-frequent use case to use this package}]
% \usepackage[
-% 2023,
+% 2024,
% cc-by,
% pages={1}{6},
% url=https://osda.ws/r/0slLz,
@@ -190,7 +195,7 @@
% setting package options}]
% \usepackage[auto=false]{osda}
% \osdaset{
-% 2023,
+% 2024,
% cc-by,
% pages={1}{6},
% url=https://osda.ws/r/0slLz,
@@ -237,10 +242,13 @@
% example is given in \Cref{lst:option-year}.
%
% \begin{lstlisting}[gobble=6, label=lst:option-year, caption={Setting all
-% workshop-related options for the year 2023}]
-% \osdaset{2023}
+% workshop-related options for the year 2024}]
+% \osdaset{2024}
% \end{lstlisting}
%
+% Currently, presets for the following years are available:
+% |2024|, |2023|, |2020|, |2019|
+%
% \subsection{Paper license}
%
% \DescribeMacro{cc-by}
@@ -436,6 +444,36 @@
% \end{tabular}
% \end{table}
%
+% \section{Useful commands}
+%
+% \subsection{Inline logo}
+%
+% \DescribeMacro{\osda}
+% This command prints the OSDA logo inline as shown in the following examples at
+% different font sizes (\Cref{lst:inline-logo}):
+%
+% \begin{lstlisting}[gobble=6, label=lst:inline-logo, caption={Inline OSDA logo}]
+% Hello there, \osda{} is the place to be
+%
+% {\large I agree, \osda{} is the place to be!}
+%
+% {\small I agree, \osda{} is the place to be!}
+%
+% {\Huge I agree, \osda{} is the place to be!}
+%
+% {\tiny I agree, \osda{} is the place to be!}
+% \end{lstlisting}
+%
+% Hello there, \osda{} is the place to be
+%
+% {\large I agree, \osda{} is the place to be!}
+%
+% {\small I agree, \osda{} is the place to be!}
+%
+% {\Huge I agree, \osda{} is the place to be!}
+%
+% {\tiny I agree, \osda{} is the place to be!}
+%
%
% \StopEventually{}
%
@@ -560,6 +598,19 @@
%
% Default values for specific editions of OSDA
%
+ 2024/.style={
+ proceedings/title = Proceedings of the 4th Workshop on Open-Source Design Automation (OSDA),
+ workshop/counter = 4th,
+ workshop/longname = Workshop on Open-Source Design Automation,
+ workshop/acronym = OSDA,
+ location/city = Valencia,
+ location/country = Spain,
+ date/month = March,
+ date/day = 25,
+ date/year = 2024,
+ hostconference/longname = {Design, Automation, and Test in Europe Conference},
+ hostconference/acronym = DATE,
+ },
2023/.style={
proceedings/title = Proceedings of the 3rd Workshop on Open-Source Design Automation (OSDA),
workshop/counter = 3rd,
@@ -573,6 +624,32 @@
hostconference/longname = {Design, Automation, and Test in Europe Conference},
hostconference/acronym = DATE,
},
+ 2020/.style={
+ proceedings/title = Proceedings of the 2nd Workshop on Open-Source Design Automation (OSDA),
+ workshop/counter = 2nd,
+ workshop/longname = Workshop on Open-Source Design Automation,
+ workshop/acronym = OSDA,
+ location/city = Grenoble,
+ location/country = France,
+ date/month = March,
+ date/day = 13,
+ date/year = 2020,
+ hostconference/longname = {Design, Automation, and Test in Europe Conference},
+ hostconference/acronym = DATE,
+ },
+ 2019/.style={
+ proceedings/title = Proceedings of the 1st Workshop on Open-Source Design Automation (OSDA),
+ workshop/counter = 1st,
+ workshop/longname = Workshop on Open-Source Design Automation,
+ workshop/acronym = OSDA,
+ location/city = Florence,
+ location/country = Italy,
+ date/month = March,
+ date/day = 29,
+ date/year = 2019,
+ hostconference/longname = {Design, Automation, and Test in Europe Conference},
+ hostconference/acronym = DATE,
+ },
%
% Licenses
%
@@ -737,6 +814,24 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\osda}
+%%
+%% |\osda|
+%%
+%% This command prints the OSDA logo inline at a height of 1ex
+%%
+%% Usage:
+%%
+%% |\osda{}|
+%%
+% \begin{macrocode}
+%
+\newcommand{\osda}{\raisebox{.6\baselineskip}{\osdalogo{.7\baselineskip}}}
+%
+% \end{macrocode}
+% \end{macro}
+%
+%
% \begin{macro}{\osdanotice}
%%
%% |\osdanotice|
diff --git a/macros/latex/contrib/osda/osda.ins b/macros/latex/contrib/osda/osda.ins
index a76841c47b..21524ff0ac 100644
--- a/macros/latex/contrib/osda/osda.ins
+++ b/macros/latex/contrib/osda/osda.ins
@@ -1,5 +1,5 @@
%% osda.ins
-%% Copyright 2023 by Christian Krieg <christian@osda.ws>
+%% Copyright 2023-2024 by Christian Krieg <christian@osda.ws>
%%
%% This work (excluding the OSDA logo) may be distributed and/or modified under
%% the conditions of the LaTeX Project Public License, either version 1.3
@@ -29,7 +29,7 @@
This is a generated file.
-Copyright (C) 2023 by Christian Krieg <christian@osda.ws>
+Copyright (C) 2023-2024 by Christian Krieg <christian@osda.ws>
This work (excluding the OSDA logo) may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/osda/osda.pdf b/macros/latex/contrib/osda/osda.pdf
index 51bdfa0b02..5399ddcda0 100644
--- a/macros/latex/contrib/osda/osda.pdf
+++ b/macros/latex/contrib/osda/osda.pdf
Binary files differ
diff --git a/macros/latex/contrib/ppt-slides/README.md b/macros/latex/contrib/ppt-slides/README.md
index f1f92da99d..d742b04bb0 100644
--- a/macros/latex/contrib/ppt-slides/README.md
+++ b/macros/latex/contrib/ppt-slides/README.md
@@ -1,3 +1,5 @@
+# LaTeX Slidedeck à la PPT
+
[![make](https://github.com/yegor256/ppt-slides/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/ppt-slides/actions/workflows/l3build.yml)
[![CTAN](https://img.shields.io/ctan/v/ppt-slides)](https://ctan.org/pkg/ppt-slides)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/ppt-slides/blob/master/LICENSE.txt)
@@ -8,7 +10,8 @@ but more precise, uniform, and visually strict.
Check [this series of lectures](https://github.com/yegor256/ssd16)
fully designed with the use of this package.
-First, [install it](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages)
+First,
+[install it](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages)
from [CTAN](https://ctan.org/pkg/ppt-slides)
and then use in preamble:
@@ -25,7 +28,9 @@ and then use in preamble:
\end{document}
```
-Otherwise, you can download [`ppt-slides.sty`](https://yegor256.github.io/ppt-slides/ppt-slides.sty) and add to your project.
+Otherwise, you can download
+[`ppt-slides.sty`](https://yegor256.github.io/ppt-slides/ppt-slides.sty)
+and add to your project.
If you want to contribute yourself, make a fork, then create a branch,
then run `l3build ctan` in the root directory.
diff --git a/macros/latex/contrib/ppt-slides/ppt-slides.dtx b/macros/latex/contrib/ppt-slides/ppt-slides.dtx
index e0618f0a8d..0509442173 100644
--- a/macros/latex/contrib/ppt-slides/ppt-slides.dtx
+++ b/macros/latex/contrib/ppt-slides/ppt-slides.dtx
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{ppt-slides}
%<*package>
-[2024-01-23 0.3.2 Slide Decks a la Power Point]
+[2024-05-02 0.3.3 Slide Decks a la Power Point]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -610,7 +610,7 @@
}%
}%
&%
- ``#3''%
+ ``#3{}''%
\def\param{#4}%
\ifx\param\empty\else%
\par\vspace*{1em}%
diff --git a/macros/latex/contrib/ppt-slides/ppt-slides.pdf b/macros/latex/contrib/ppt-slides/ppt-slides.pdf
index 95c1024bff..39b45d9a9a 100644
--- a/macros/latex/contrib/ppt-slides/ppt-slides.pdf
+++ b/macros/latex/contrib/ppt-slides/ppt-slides.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index 2d23d813a7..dcd5987717 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCArbreChiffre.tex b/macros/latex/contrib/profcollege/latex/PfCArbreChiffre.tex
new file mode 100644
index 0000000000..f724c16fda
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCArbreChiffre.tex
@@ -0,0 +1,200 @@
+%%%
+% ArbreChiffre
+%%%
+% https://tex.stackexchange.com/questions/112975/how-to-print-the-permutation-of-s-u-v-a-t-with-latex
+
+\def\recurse#1#2#3#4\endmarker{%
+ \dopermute{#1#3}#2#4\endmarker
+ \ifx\relax#4\relax\else % add a \par before \else if there are more than 8 items
+ \recurse{#1}{#2#3}#4\endmarker
+ \fi}
+\def\dopermute#1#2#3\endmarker{%
+ \ifx\relax#3\relax
+ #1#2,%
+ \else
+ \dopermute{#1#2}#3\endmarker
+ \recurse{#1}{#2}#3\endmarker
+ \fi}
+
+\newcommand*\permute[1]{\dopermute{}#1\endmarker}
+
+\newtoks\toklistepermute%
+
+\def\UpdatetoksArbre#1\nil{\addtotok\toklistepermute{"#1",}}%
+
+\setKVdefault[ArbreChiffre]{Fixe=false,EcartV=0.5}%
+\defKV[ArbreChiffre]{Chiffre=\setKV[ArbreChiffre]{Fixe}}%
+
+\NewDocumentCommand\ArbreChiffre{om}{%
+ \useKVdefault[ArbreChiffre]%
+ \setKV[ArbreChiffre]{#1}%
+ \toklistepermute{}%
+ \xdef\Foo{\permute{#2}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist\ListePermutations{\Foo}%
+ \reademptyitems%
+ %
+ \foreachitem\compteur\in\ListePermutations{\expandafter\UpdatetoksArbre\compteur\nil}%
+ \BuildArbreChiffre{\the\toklistepermute}%
+}%
+
+\NewDocumentCommand\BuildArbreChiffre{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ boolean Fixe;
+ Fixe=\useKV[ArbreChiffre]{Fixe};
+ string NombreFixe;
+ if Fixe:
+ NombreFixe=\useKV[ArbreChiffre]{Chiffre};
+ else:
+ NombreFixe="-1";
+ fi;
+
+ string LesPermu[];
+
+ vardef LongueurArbre(text t)=
+ ec:=0;
+ for p_=t:
+ LesPermu[ec]=p_;
+ longA:=length p_;
+ ec:=ec+1;
+ endfor;
+ enddef;
+
+ LongueurArbre(#1);
+
+ ecartV=\useKV[ArbreChiffre]{EcartV}*1cm;
+ ecartH=1cm;
+
+ k:=longA;
+
+ vardef Factorielle(expr nb)=
+ save Fact;
+ numeric Fact;
+ if nb<2:
+ Fact=1;
+ else:
+ Fact=nb;
+ for m=nb-1 downto 2:
+ Fact:=Fact*m;
+ endfor;
+ fi;
+ Fact
+ enddef;
+
+ pair A[][];%1 colonne 2 ligne
+
+ vardef Lecture(text t)=
+ for p_=t:
+ n:=n+1;
+ if Fixe:
+ if k>2:
+ if (n mod Factorielle(k-1))=1:
+ A[k][decalv]=pointdepart+(0,ecartV*decalv*Factorielle(k-1));
+ if NombreFixe=substring(0,1) of p_:
+ label(TEX(substring(longA-k,longA-k+1) of p_),A[k][decalv]);
+ fi;
+ decalv:=decalv-1;
+ fi;
+ else:
+ A[k][decalv]=pointdepart+(0,ecartV*decalv);
+ if NombreFixe=substring(0,1) of p_:
+ label(TEX(substring(longA-k,longA-k+1) of p_),A[k][decalv]);
+ fi;
+ decalv:=decalv-1;
+ fi;
+ else:%Pas Fixe
+ if k>2:
+ if (n mod Factorielle(k-1))=1:
+ A[k][decalv]=pointdepart+(0,ecartV*decalv*Factorielle(k-1));
+ label(TEX(substring(longA-k,longA-k+1) of p_),A[k][decalv]);
+ decalv:=decalv-1;
+ fi;
+ else:
+ A[k][decalv]=pointdepart+(0,ecartV*decalv);
+ label(TEX(substring(longA-k,longA-k+1) of p_),A[k][decalv]);
+ decalv:=decalv-1;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ pair pointdepart;
+ pointdepart=(0,0);
+
+ forever:
+ n:=0;
+ decalv:=0;
+ Lecture(#1);
+ k:=k-1;
+ if k>1:
+ if k>2:
+ pointdepart:=if k mod 2=0:pointdepart+(ecartH,1.5*Factorielle(k-1)*ecartV); else:pointdepart+(ecartH,Factorielle(k-1)*ecartV); fi;
+ else:
+ pointdepart:=if k mod 2=0:pointdepart+(ecartH,Factorielle(k-1)*ecartV-0.5*ecartV); else:pointdepart+(ecartH,Factorielle(k-1)*ecartV+0.5*ecartV); fi;
+ fi;
+ else:
+ pointdepart:=pointdepart+(ecartH,0);
+ fi;
+ exitif k=0;
+ endfor;
+
+% drawoptions(withcolor red);
+ if Fixe:
+ for k=longA downto 3:
+ for l=0 downto (-Factorielle(longA)/Factorielle(k-1))+1:
+ if (substring(0,1) of LesPermu[abs(l)*Factorielle(k-1)+1])=NombreFixe:
+ for p=0 upto k-2:
+ drawarrow (A[k][l]--A[k-1][(k-1)*l-p]) cutbefore cercles(A[k][l],2mm) cutafter cercles(A[k-1][(k-1)*l-p],2mm);
+ endfor;
+ fi;
+ endfor;
+ endfor;
+ else:
+ for k=longA downto 3:
+ for l=0 downto (-Factorielle(longA)/Factorielle(k-1))+1:
+ for p=0 upto k-2:
+ drawarrow (A[k][l]--A[k-1][(k-1)*l-p]) cutbefore cercles(A[k][l],2mm) cutafter cercles(A[k-1][(k-1)*l-p],2mm);
+ endfor;
+ endfor;
+ endfor;
+ fi;
+% drawoptions();
+
+ % affichage du dernier cran.
+ for k=2 downto 2:
+ l:=1;
+ for p_=#1:
+ l:=l-1;
+ if Fixe:
+ if substring(0,1) of p_=NombreFixe:
+drawarrow (A[k][l]--A[k-1][l]) cutbefore cercles(A[k][l],2mm) cutafter cercles(A[k-1][l],2mm);
+ fi;
+ else:
+ drawarrow (A[k][l]--A[k-1][l]) cutbefore cercles(A[k][l],2mm) cutafter cercles(A[k-1][l],2mm);
+ fi;
+ endfor;
+ endfor;
+
+ %Affichage final du nombre
+ l:=1;
+ for p_=#1:
+ l:=l-1;
+ A[0][l]-A[1][l]=(ecartH,0);
+ if Fixe:
+ if substring(0,1) of p_=NombreFixe:
+ label.rt(TEX("\num{"&p_&"}"),A[0][l]);
+ drawarrow (A[1][l]--A[0][l]) cutbefore cercles(A[1][l],2mm) dashed evenly;
+ fi;
+ else:
+ label.rt(TEX("\num{"&p_&"}"),A[0][l]);
+ drawarrow (A[1][l]--A[0][l]) cutbefore cercles(A[1][l],2mm) dashed evenly;
+ fi;
+ endfor;
+
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex b/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex
new file mode 100644
index 0000000000..5521dbb419
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex
@@ -0,0 +1,501 @@
+%%%
+% Assemblages solides
+%%%
+\setKVdefault[Assemblage]{Phi=30,Theta=20,Distance=50,Anglez=0,Anglex=0,Largeur=1.5,Profondeur=0.75,Hauteur=1,RayonBoule=1,RayonCone=1,RayonCylindre=1,HauteurPrisme=1,HauteurPyramideA=1,HauteurPyramideB=1,HauteurConeA=1,HauteurConeB=1,HauteurCylindre=1,Cotes=3,Trace=false,Type=Pyramides}%
+\defKV[Assemblage]{Traces=\setKV[Assemblage]{Trace}}%
+
+\NewDocumentCommand\AssemblageSolides{o}{%
+ \useKVdefault[Assemblage]%
+ \setKV[Assemblage]{#1}%
+ \IfStrEqCase{\useKV[Assemblage]{Type}}{%
+ {Pyramides}{\MPAssemblagePyramides{\useKV[Assemblage]{Cotes}}}%
+ {PavePyramide}{\MPAssemblagePavePyramide}%
+ {PyramidePave}{\MPAssemblagePavePyramide}%
+ {PavePyramides}{\MPAssemblagePavePyramides}%
+ {PyramidesPave}{\MPAssemblagePavePyramides}%
+ {PrismePyramide}{\MPAssemblagePrismePyramide{\useKV[Assemblage]{Cotes}}}%
+ {PyramidePrisme}{\MPAssemblagePrismePyramide{\useKV[Assemblage]{Cotes}}}%
+ {CylindreCone}{\MPAssemblageCylindreCone}%
+ {ConeCylindre}{\MPAssemblageCylindreCone}%
+ {CylindreCones}{\MPAssemblageCylindreCones}%
+ {ConesCylindre}{\MPAssemblageCylindreCones}%
+ {CylindreConeBoule}{\MPAssemblageCylindreConeBoule}%
+ {CylindreBouleCone}{\MPAssemblageCylindreConeBoule}%
+ {ConeCylindreBoule}{\MPAssemblageCylindreConeBoule}%
+ {ConeBouleCylindre}{\MPAssemblageCylindreConeBoule}%
+ {BouleCylindreCone}{\MPAssemblageCylindreConeBoule}%
+ {BouleConeCylindre}{\MPAssemblageCylindreConeBoule}%
+ {CylindreBoule}{\MPAssemblageCylindreBoule}%
+ {BouleCylindre}{\MPAssemblageCylindreBoule}%
+ {CylindreBoules}{\MPAssemblageCylindreBoules}%
+ {BoulesCylindre}{\MPAssemblageCylindreBoules}%
+ {ConeBoule}{\MPAssemblageConeBoule}%
+ {BouleCone}{\MPAssemblageConeBoule}%
+ }%
+}%
+
+\NewDocumentCommand\MPAssemblagePyramides{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ HautA=\useKV[Assemblage]{HauteurPyramideA};
+ HautB=\useKV[Assemblage]{HauteurPyramideB};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ color Sommet[];
+
+ NbS:=#1+2;
+ angbase=360/#1;
+
+ for k=0 upto #1-1:
+ Sommet[k]:=(cosd(k*angbase),sind(k*angbase),0);
+ endfor;
+ Sommet[NbS-1]:=(0,0,HautA);
+ Sommet[NbS]:=(0,0,-HautB);
+ for k=0 upto NbS:
+ Sommet[k]:=Image(Sommet[k]);
+ endfor;
+ %% Faces
+ NF:=2*#1;
+ for k=1 upto #1:
+ Fc[k*100]:=3;Fc[k*100+1]:=(k+1) mod #1;Fc[k*100+3]:=k mod #1;Fc[k*100+2]:=NbS-1;
+ endfor;
+ for k=#1+1 upto 2*#1:
+ Fc[k*100]:=3;Fc[k*100+1]:=k mod #1;Fc[k*100+3]:=(k+1) mod #1;Fc[k*100+2]:=NbS;
+ endfor;
+ %
+ DessineObjet;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblagePavePyramide{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Larg=\useKV[Assemblage]{Hauteur};
+ Long=\useKV[Assemblage]{Largeur};
+ Prof=\useKV[Assemblage]{Profondeur};
+ HautA=\useKV[Assemblage]{HauteurPyramideA};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ color Sommet[];
+ NbS:=9;
+
+ Sommet1:=(Long,0,0);
+ Sommet2:=(Long,Prof,0);
+ Sommet3:=(0,Prof,0);
+ Sommet4:=(0,0,0);
+ Sommet5:=(0,0,Larg);
+ Sommet6:=(Long,0,Larg);
+ Sommet7:=(Long,Prof,Larg);
+ Sommet8:=(0,Prof,Larg);
+ Sommet9:=(Sommet5+Sommet6+Sommet7+Sommet8)/4+(0,0,HautA);
+ for k=1 upto 9:
+ Sommet[k]:=Image(Sommet[k]);
+ endfor;
+ %% Faces
+ NF:=9;
+ Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2;
+ Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3;
+ Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4;
+ Fc[400]:=4;Fc[401]:=2;Fc[402]:=3;Fc[403]:=8;Fc[404]:=7;
+ Fc[500]:=4;Fc[501]:=1;Fc[502]:=2;Fc[503]:=7;Fc[504]:=6;
+ Fc[600]:=3;Fc[601]:=8;Fc[602]:=5;Fc[603]:=9;
+ Fc[700]:=3;Fc[701]:=5;Fc[702]:=6;Fc[703]:=9;
+ Fc[800]:=3;Fc[801]:=6;Fc[802]:=7;Fc[803]:=9;
+ Fc[900]:=3;Fc[901]:=7;Fc[902]:=8;Fc[903]:=9;
+ %
+ DessineObjet;
+ %
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblagePavePyramides{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Larg=\useKV[Assemblage]{Hauteur};
+ Long=\useKV[Assemblage]{Largeur};
+ Prof=\useKV[Assemblage]{Profondeur};
+ HautA=\useKV[Assemblage]{HauteurPyramideA};
+ HautB=\useKV[Assemblage]{HauteurPyramideB};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ color Sommet[];
+ NbS:=10;
+
+ Sommet1:=(Long,0,0);
+ Sommet2:=(Long,Prof,0);
+ Sommet3:=(0,Prof,0);
+ Sommet4:=(0,0,0);
+ Sommet5:=(0,0,Larg);
+ Sommet6:=(Long,0,Larg);
+ Sommet7:=(Long,Prof,Larg);
+ Sommet8:=(0,Prof,Larg);
+ Sommet9:=(Sommet5+Sommet6+Sommet7+Sommet8)/4+(0,0,HautA);
+ Sommet10:=(Sommet1+Sommet2+Sommet3+Sommet4)/4+(0,0,-HautB);
+ for k=1 upto 10:
+ Sommet[k]:=Image(Sommet[k]);
+ endfor;
+ %% Faces
+ NF:=12;
+ Fc[100]:=4;Fc[101]:=4;Fc[102]:=5;Fc[103]:=8;Fc[104]:=3;
+ Fc[200]:=4;Fc[201]:=1;Fc[202]:=6;Fc[203]:=5;Fc[204]:=4;
+ Fc[300]:=4;Fc[301]:=2;Fc[302]:=3;Fc[303]:=8;Fc[304]:=7;
+ Fc[400]:=4;Fc[401]:=1;Fc[402]:=2;Fc[403]:=7;Fc[404]:=6;
+ %
+ Fc[500]:=3;Fc[501]:=8;Fc[502]:=5;Fc[503]:=9;
+ Fc[600]:=3;Fc[601]:=5;Fc[602]:=6;Fc[603]:=9;
+ Fc[700]:=3;Fc[701]:=6;Fc[702]:=7;Fc[703]:=9;
+ Fc[800]:=3;Fc[801]:=7;Fc[802]:=8;Fc[803]:=9;
+ %
+ Fc[900]:=3;Fc[901]:=4;Fc[902]:=3;Fc[903]:=10;
+ Fc[1000]:=3;Fc[1001]:=1;Fc[1002]:=4;Fc[1003]:=10;
+ Fc[1100]:=3;Fc[1101]:=2;Fc[1102]:=1;Fc[1103]:=10;
+ Fc[1200]:=3;Fc[1201]:=3;Fc[1202]:=2;Fc[1203]:=10;
+ %
+ DessineObjet;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblagePrismePyramide{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ HautP=\useKV[Assemblage]{HauteurPrisme};
+ HautA=\useKV[Assemblage]{HauteurPyramideA};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ color Sommet[];
+
+ NbS:=2*#1+1;
+ angbase=360/#1;
+
+ for k=0 upto #1-1:
+ Sommet[k]:=(cosd(k*angbase),sind(k*angbase),0);
+ endfor;
+
+ for k=#1 upto 2*#1-1:
+ Sommet[k]:=Sommet[k-#1]+(0,0,-HautP);
+ endfor;
+ Sommet[NbS-1]:=(0,0,HautA);
+ for k=0 upto NbS-1:
+ Sommet[k]:=Image(Sommet[k]);
+ endfor;
+ %% Faces
+ NF:=2*#1+1;
+ %latérale pyramide
+ for k=1 upto #1:
+ Fc[k*100]:=3;Fc[k*100+1]:=k mod #1;Fc[k*100+2]:=(k+1) mod #1;Fc[k*100+3]:=NbS-1;
+ endfor;
+ % face latérales prisme
+ for k=1 upto #1:
+ rang:=k+#1;
+ Fc[rang*100]:=4;Fc[rang*100+1]:=(k mod #1)+#1;Fc[rang*100+2]:=((k+1) mod #1)+#1;Fc[rang*100+3]:=(k+1) mod #1;Fc[rang*100+4]:=(k) mod #1;
+ endfor;
+ %face base du prisme
+ Fc[(2*#1+1)*100]:=#1;
+ for k=1 upto #1:
+ Fc[(2*#1+1)*100+k]:=((#1-k) mod #1)+#1;
+ endfor;
+ %
+ DessineObjet;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageCylindreCone{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCylindre};
+ HautC=\useKV[Assemblage]{HauteurCylindre};
+ HautCo=\useKV[Assemblage]{HauteurConeA};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=36;
+ subh:=1;
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcylindre1("r="&"Rayon","h="&"HautC");
+ TR:=(0,-HautC*sind(angx),HautC*cosd(angx));
+ nb:=72;
+ Objetcone2("r="&"Rayon","h="&"HautCo");
+ AffichageObjetCylindre1;
+ AffichageObjetCone2;
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageCylindreCones{}{%
+ % à faire
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCylindre};
+ HautC=\useKV[Assemblage]{HauteurCylindre};
+ HautCo=\useKV[Assemblage]{HauteurConeA};
+ HautCob=\useKV[Assemblage]{HauteurConeB};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=36;
+ subh:=1;
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcylindre1("r="&"Rayon","h="&"HautC");
+ nb:=72;
+ TR:=(0,-HautC*sind(angx),HautC*cosd(angx));
+ Objetcone2("r="&"Rayon","h="&"HautCo");
+ TR:=(0,0,0);
+ angx:=180+angx;
+ Objetcone3("r="&"Rayon","h="&"HautCob");
+ angx:=0;
+ AffichageObjetCylindreSansBase1;
+ AffichageObjetCone2;
+ AffichageObjetCone3;
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageCylindreConeBoule{}{%
+ % à faire
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCylindre};
+ HautC=\useKV[Assemblage]{HauteurCylindre};
+ HautCo=\useKV[Assemblage]{HauteurConeA};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=36;%36
+ subh:=1;%
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcylindre1("r="&"Rayon","h="&"HautC");
+ TR:=(0,-HautC*sind(angx),HautC*cosd(angx));
+ Objetcone2("r="&"Rayon","h="&"HautCo");
+ TR:=(0,0,0);
+ nb:=12;
+ subh:=72;
+ angx:=180+angx;
+ Objetcalotte3("R="&"Rayon","phib="&"-pi/36","phih="&"pi/2");
+ angx:=0;
+ AffichageObjetCylindreSansBase1;
+ AffichageObjetCone2;
+ AffichageObjetCalotte3;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageCylindreBoule{}{%
+ % à faire
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCylindre};
+ HautC=\useKV[Assemblage]{HauteurCylindre};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=36;%36
+ subh:=1;%
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcylindre1("r="&"Rayon","h="&"HautC");
+ TR:=(0,-HautC*sind(angx),HautC*cosd(angx));
+ nb:=12;
+ subh:=72;%
+ Objetcalotte2("R="&"Rayon","phib="&"-pi/36","phih="&"pi/2");
+ TR:=(0,0,0);
+ AffichageObjetCylindreSansBase1;
+ AffichageObjetCalotte2;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageCylindreBoules{}{%
+ % à faire
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCylindre};
+ HautC=\useKV[Assemblage]{HauteurCylindre};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=36;
+ subh:=1;
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcylindre1("r="&"Rayon","h="&"HautC");
+ TR:=(0,-HautC*sind(angx),HautC*cosd(angx));
+ nb:=12;
+ subh:=72;%
+ Objetcalotte2("R="&"Rayon","phib="&"0","phih="&"pi/2");
+ TR:=(0,0,0);
+ angx:=180+angx;
+ TR:=(0,0,0);
+ Objetcalotte3("R="&"Rayon","phib="&"0","phih="&"pi/2");
+ TR:=(0,0,0);
+ AffichageObjetCylindreSansBase1;
+ AffichageObjetCalotte2;
+ AffichageObjetCalotte3;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\MPAssemblageConeBoule{}{%
+ % à faire
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ Initialisation(1500,\useKV[Assemblage]{Phi},\useKV[Assemblage]{Theta},\useKV[Assemblage]{Distance});
+
+ angx:=\useKV[Assemblage]{Anglex};
+ angz:=\useKV[Assemblage]{Anglez};
+
+ Rayon=\useKV[Assemblage]{RayonCone};
+ HautCa=\useKV[Assemblage]{HauteurConeA};
+
+ boolean Trace;
+ Trace=\useKV[Assemblage]{Trace};
+
+ nb:=72;%36
+ subh:=1;%
+ incolor:=white;
+ outcolor:=0.8white;
+ Ferme1:=true;
+ Objetcone1("r="&"Rayon","h="&"HautCa");
+ angx:=180+angx;
+ nb:=12;
+ subh:=72;%
+ Objetcalotte2("R="&"Rayon","phib="&"-pi/144","phih="&"pi/2");
+ TR:=(0,0,0);
+ AffichageObjetConeAvecBase1;
+ AffichageObjetCalotte2;%Cone3;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex b/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
index bf9b9e0cde..1e2075d91a 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
@@ -417,11 +417,16 @@
\ifboolKV[Cards]{Jointes}{\setlength{\largeurcards}{\largeurcarte}}{}%
\ifboolKV[Cards]{Jointes}{\setlength{\hauteurcards}{\hauteurcarte}}{}%
% décalage entre les cartes ou pas
- \ifnum\PfCNbCartesLarg>1\relax
- \setlength{\margeh}{\fpeval{(\paperwidth-\PfCNbCartesLarg*\largeurcards)/(\PfCNbCartesLarg-1)}pt}%
+ \ifnum\PfCNbCartesLarg>2\relax
+ \setlength{\margeh}{\fpeval{(\paperwidth-\PfCNbCartesLarg*\largeurcards)/(\PfCNbCartesLarg-1)}pt}%
+ % \setlength{\margeh}{0pt}
+ \else
+ \setlength{\margeh}{\fpeval{(\paperwidth-\PfCNbCartesLarg*\largeurcards)/(\PfCNbCartesLarg+1)}pt}%
\fi
- \ifnum\PfCNbCartesHaut>1\relax
+ \ifnum\PfCNbCartesHaut>2\relax
\setlength{\margev}{\fpeval{(\paperheight-\PfCNbCartesHaut*\hauteurcards)/(\PfCNbCartesHaut-1)}pt}%
+ \else
+ \setlength{\margev}{\fpeval{(\paperheight-\PfCNbCartesHaut*\hauteurcards)/(\PfCNbCartesHaut+1)}pt}%
\fi
%
\setlength{\hauteurtitre}{\fpeval{\useKV[Cards]{HauteurTheme}}pt}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
index cf9aeaf66f..2b5ef28fbc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -1,7 +1,7 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur,Boussole=false,Allegee=1}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
@@ -222,6 +222,9 @@
% \mplibforcehmode
\begin{mplibcode}
input PfCMonde;
+
+ Allegee:=\useKV[Cartographie]{Allegee};
+
defaultcolormodel:=\useKV[Cartographie]{ModeleCouleur};
string arborescence;
arborescence:=\useKV[Cartographie]{Arborescence};
@@ -230,10 +233,11 @@
Epaisseur:=\useKV[Cartographie]{Epaisseur};
distanceecran=100*\useKV[Cartographie]{Echelle};
fleuves:=\useKV[Cartographie]{Fleuves};
- boolean Carte,Impression,VillesSup,Codes;
+ boolean Carte,Impression,VillesSup,VillesSupI,Codes;
Carte=\useKV[Cartographie]{Carte};
Impression=\useKV[Cartographie]{Impression};
VillesSup=\useKV[Cartographie]{VillesSup};
+ VillesSupI=\useKV[Cartographie]{VillesSupI};
Codes=\useKV[Cartographie]{Codes};
if defaultcolormodel=7:
cmykcolor couleurfond,white,payscolor,couleurfleuve;
@@ -265,6 +269,53 @@
Amcentrale:=\useKV[Cartographie]{Amcentre};
Caraibes:=\useKV[Cartographie]{Caraibes};
Afrique:=\useKV[Cartographie]{Afrique};
+
+ vardef Villes(text t)=
+ pair CoordVille;
+ string NomVille;
+ n:=0;
+ for p_:=t:
+ n:=n+1;
+ if n=1:
+ %nblec:=p;
+ else:
+ if pair p_:
+ if projection="mercator":
+ CoordVille:=mercatorc(ypart(p_),xpart(p_));
+ elseif projection="winkel":
+ CoordVille:=winkelc(ypart(p_),xpart(p_));
+ elseif projection="cylindrique":
+ CoordVille:=cylindriquec(ypart(p_),xpart(p_));
+ elseif projection="simple":
+ CoordVille:=simplec(ypart(p_),xpart(p_));
+ elseif projection="bonne":
+ CoordVille:=bonnec(ypart(p_),xpart(p_));
+ fi;
+ elseif string p_:
+ NomVille:=p_;
+ else:
+ marque_p:="croix";
+ pointe(CoordVille);
+ label.position(p_)(TEX(""&NomVille&""),CoordVille);
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ enddef;
+
+ def position(expr t)=
+ if t=1:rt
+ elseif t=2:urt
+ elseif t=3:top
+ elseif t=4:ulft
+ elseif t=5:lft
+ elseif t=6:llft
+ elseif t=7:bot
+ elseif t=8:lrt
+ fi
+ enddef;
+
+
if Carte:
Echelle:=\useKV[Cartographie]{AfficheEchelle};
figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
@@ -305,10 +356,14 @@
endfor;
drawoptions();
closefrom nomfichiermul;
- fi;
+ fi;
+ if VillesSupI:
+ Villes(\useKV[Cartographie]{VillesI});
+ fi;
if Codes:
\useKV[Cartographie]{Traces};
fi;
+
else:
draw(0,0)--(50,50);
mappemonde(#2,#3);
diff --git a/macros/latex/contrib/profcollege/latex/PfCConversion.tex b/macros/latex/contrib/profcollege/latex/PfCConversion.tex
index 78fa6d0351..e6ed80f012 100644
--- a/macros/latex/contrib/profcollege/latex/PfCConversion.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCConversion.tex
@@ -1,7 +1,10 @@
-\setKVdefault[ClesConversion]{Longueur,Aire=false,Vol=false,Masses=false,Capas=false,Sans=false,Complete=40pt}%
+\setKVdefault[ClesConversion]{Longueur,Aire=false,Vol=false,Masses=false,Capas=false,Sans=false,Completes=false}%
+\defKV[ClesConversion]{Complete=\setKV[ClesConversion]{Completes}}%
\defKV[ClesConversion]{Masse=\setKV[ClesConversion]{Longueur=false}\setKV[ClesConversion]{Masses}}%
\defKV[ClesConversion]{Capa=\setKV[ClesConversion]{Longueur=false}\setKV[ClesConversion]{Capas}}%
+\newlength{\PfCConversionLongueur}%
+
\NewDocumentCommand\ChoixUniteD{m}{%
\IfStrEqCase{#1}{%
{G}{\DeclareSIUnit{\TempoPrefixeD}{\giga}\xdef\ExposantD{9}}%
@@ -41,21 +44,21 @@
\NewDocumentCommand\Convertir{somm}{%
\useKVdefault[ClesConversion]%
\setKV[ClesConversion]{#2}%
- \StrBefore{#3}{>}[\PrefixeDepart]
- \StrBehind{#3}{>}[\PrefixeArrivee]
+ \StrBefore{#3}{>}[\PrefixeDepart]%
+ \StrBehind{#3}{>}[\PrefixeArrivee]%
\ChoixUniteD{\PrefixeDepart}%
\ChoixUniteA{\PrefixeArrivee}%
\ifboolKV[ClesConversion]{Aire}{%
\DeclareSIUnit{\TempoAvant}{\square}%
\DeclareSIUnit{\TempoBase}{\meter}
- \xdef\PfCConvExposant{2}
+ \xdef\PfCConvExposant{2}%
}{\ifboolKV[ClesConversion]{Vol}{%
\DeclareSIUnit{\TempoAvant}{\cubic}%
\DeclareSIUnit{\TempoBase}{\meter}
- \xdef\PfCConvExposant{3}
+ \xdef\PfCConvExposant{3}%
}{%
\DeclareSIUnit{\TempoAvant}{}%
- \xdef\PfCConvExposant{1}
+ \xdef\PfCConvExposant{1}%
}%
}%
\ifboolKV[ClesConversion]{Masses}{%
@@ -67,14 +70,14 @@
\ifboolKV[ClesConversion]{Capas}{%
\DeclareSIUnit{\TempoBase}{\liter}%
}{}%
- \ensuremath{
+ \ensuremath{%
\IfBooleanTF{#1}{%
\IfStrEq{\PrefixeDepart}{t}{\DeclareSIUnit{\TempoBase}{\relax}}{}\IfStrEq{\PrefixeDepart}{q}{\DeclareSIUnit{\TempoBase}{\relax}}{}
\SI{#4}{\TempoAvant\TempoPrefixeD\TempoBase}
\IfStrEq{\PrefixeDepart}{t}{\DeclareSIUnit{\TempoBase}{\gram}}{}\IfStrEq{\PrefixeDepart}{q}{\DeclareSIUnit{\TempoBase}{\gram}}{}
=
\IfStrEq{\PrefixeArrivee}{t}{\DeclareSIUnit{\TempoBase}{\relax}}{}\IfStrEq{\PrefixeArrivee}{q}{\DeclareSIUnit{\TempoBase}{\relax}}{}
- \PointsSuspension{\fpeval{#4*(10**((\ExposantD-(\ExposantA))*\PfCConvExposant))}\fpeval{#4*(10**((\ExposantD-(\ExposantA))*\PfCConvExposant))}}~\si{\TempoAvant\TempoPrefixeA\TempoBase}
+ \ifboolKV[ClesConversion]{Completes}{\setlength{\PfCConversionLongueur}{\useKV[ClesConversion]{Complete}}\pointilles[\PfCConversionLongueur]}{\PointsSuspension{\fpeval{#4*(10**((\ExposantD-(\ExposantA))*\PfCConvExposant))}\fpeval{#4*(10**((\ExposantD-(\ExposantA))*\PfCConvExposant))}}}~\si{\TempoAvant\TempoPrefixeA\TempoBase}
\IfStrEq{\PrefixeArrivee}{t}{\DeclareSIUnit{\TempoBase}{\gram}}{}\IfStrEq{\PrefixeArrivee}{q}{\DeclareSIUnit{\TempoBase}{\gram}}{}
}{%
\ifboolKV[ClesConversion]{Sans}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex b/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
index 3f11bb05b7..bf1a28e333 100644
--- a/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
@@ -43,7 +43,7 @@
Ancre0:=(0,0);
racine:=#1;
- label(btex \num{#1} etex,(0,0));
+ label(TEX("\num{#1}"),(0,0));
forever:
PremierSimple(racine);
exitif racine=1;
@@ -829,10 +829,12 @@
\end{tabular}%
\else%
\begin{tabular}{c|c}
- 1&\num{#1}\\
+ 1&\num{#1}
+ \ifnum\cnpT>2\relax\\
\xintFor* ##1 in {\xintSeq {1}{\fpeval{\cnpT/2}}}\do{%
\DiviseurNumero{#1}{##1}\num{\fpeval{\dnpT}}\uppercase{&}\DiviseurNumero{#1}{##1}\num{\fpeval{#1/\dnpT}}\\
- }
+ }
+ \fi
\end{tabular}%
\fi%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
index 3d7a324b73..6fc7a94593 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
@@ -12,7 +12,7 @@
\setcounter{TotalQCMSeul}{0}%
\setcounter{TotalQCMSeulSol}{0}%
%
-\setKVdefault[QCMSeul]{Melange=false,Solution=false,EnColonne=false}%
+\setKVdefault[QCMSeul]{Melange=false,Solution=false,EnColonne=false,LabelLettre=false}%
\defKV[QCMSeul]{Colonnes=\setKV[QCMSeul]{EnColonne}}%
%
\NewDocumentCommand\PfCQCMSChoixLabelSol{m}{%
@@ -71,7 +71,11 @@
% On écrit
\ListeQCM[1]%
\ifboolKV[QCMSeul]{EnColonne}{\begin{multicols}{\useKV[QCMSeul]{Colonnes}}}{}%
- \begin{itemize}[label=$\square$]
+ \ifboolKV[QCMSeul]{LabelLettre}{
+ \begin{enumerate}[label=\Alph{*}/]
+ }{
+ \begin{enumerate}[label=$\square$]
+ }
\xintFor* ##1 in{\xintSeq{2}{\fpeval{\ListeQCMlen-1}}}\do{%
\xdef\Titi{\ListeEnumerate[\fpeval{##1-1}]}
\ifboolKV[QCMSeul]{Solution}{%
@@ -80,7 +84,7 @@
\item \ListeQCM[\fpeval{\Titi+1}]
}%
}%
- \end{itemize}
+ \end{enumerate}
\ifboolKV[QCMSeul]{EnColonne}{\end{multicols}}{}%
}%
%
diff --git a/macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex b/macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
index d26dbade32..347ca499bc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
@@ -105,7 +105,7 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,fill=PfCSolOp,rounded corner
\fi
\opmul[decimalsepsymbol={,},lineheight=2em,columnwidth=1.5em,voperator=bottom,intermediarystyle=\stepcounter{divxlop}\color{PfCSolOp}\PfCchiffre{A\thedivxlop},resultstyle=\stepcounter{divxlop}\color{PfCSolOp}\PfCchiffre{A\thedivxlop},resultstyle.d=\color{PfCCouleurVirgule}]{#2}{#3}%
\foreach \i in {1,...,\thedivxlop}{%
- \PfCentoure{A\i}{A\i}%
+ \PfCentoure{A\i}{A\i}%
}%
\endgroup
}
@@ -168,4 +168,228 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,fill=PfCSolOp,rounded corner
\foreach \i in {1,...,\thedivxlop}{%
\PfCentoure{A\i}{A\i}%
}%
+}%
+
+%%%%%%%%%%%%%%%%%%%%% Colorees %%%%%%%%%%%%%%%%%%%
+% Merci JCC
+%%% Seule ligne à modifier selon la convenance %%%
+\newcommand\couleurs{blue,red,green,blue,red,green,blue,red,green,blue,red,green}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcount\numint%
+\newcount\indint%
+\newcount\ind%
+\def\nnil{\nil}%
+\def\ExtraitCouleurs{%
+ \ind=0%
+ \expandafter\ExtraitCouleursAux\couleurs,\nil,%
+}%
+\def\ExtraitCouleursAux#1,{%
+ \def\arg{#1}%
+ \ifx\arg\nnil%
+ \edef\cmax{\the\ind}%
+ \else%
+ \def\couleur{#1}%
+ \stepcounter{coulxlop}%
+ \stepcounter{coulxlopa}%
+ \stepcounter{coulxlopd}%
+ \expandafter\edef\csname PfCOpCouleurs\Roman{coulxlop}\endcsname{\couleur}%
+ \expandafter\edef
+ \csname op@operandstyle.1.\the\numexpr\ind+1\endcsname{%
+ \noexpand\PfCchiffre{CA\thecoulxlop}%
+ }%
+ \expandafter\edef
+ \csname op@operandstyle.2.\the\numexpr\ind+1\endcsname{%
+ \noexpand\PfCchiffre{CB\thecoulxlopa}%
+ }%
+ \expandafter\edef
+ \csname op@resultstyle.\the\numexpr\ind+1\endcsname{%
+ \noexpand\PfCchiffre{CC\thecoulxlopd}%
+ }%
+ \numint = \numexpr\ind+1
+ \indint = 1
+ \ConstruitIntermediaire
+ \advance\ind by 1
+ \expandafter\ExtraitCouleursAux
+ \fi
+}
+\def\ConstruitIntermediaire{%
+ \ifnum\numint>0
+ \stepcounter{coulxlopi}%
+ \expandafter\edef\csname PfCOpCouleursi\Roman{coulxlopi}\endcsname{\couleur}%
+ \expandafter\edef
+ \csname op@intermediarystyle.\the\numint.\the\indint\endcsname{%
+ \noexpand\PfCchiffre{CD\thecoulxlopi}%
+ }%
+ \advance\indint by 1
+ \advance\numint by -1
+ \expandafter\ConstruitIntermediaire
+ \fi
+ }
+ \def\ConstruitRemainder{%
+ \ifnum\numint>0
+ \stepcounter{coulxlopidiv}%
+ \expandafter\edef\csname PfCOpCouleursid\Roman{coulxlopidiv}\endcsname{\couleur}%
+ \expandafter\edef
+ \csname op@remainderystyle.\the\numint.\the\indint\endcsname{%
+ \noexpand\PfCchiffre{CE\thecoulxlopidiv}%
+ }%
+ \advance\indint by 1
+ \advance\numint by -1
+ \expandafter\ConstruitRemainder
+ \fi
+ }
+
+\newcounter{coulxlop}%
+\newcounter{coulxlopi}%
+\newcounter{coulxlopa}%
+\newcounter{coulxlopd}%
+\newcounter{coulxlopidiv}%
+\newcounter{coulxlopcoul}%
+
+\newcommand\PfCentoureColor[2]{%
+ \expandafter\edef\csname RetiensCouleur\endcsname{\csname PfCOpCouleurs\Roman{coulxlopcoul}\endcsname}\colorlet{CouleurCadre}{\RetiensCouleur}%
+ \tikz[remember picture,overlay] \node[preaction={draw={CouleurCadre},ultra thick,opacity=1,
+ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,inner sep=.55em,fit=(#1.center)(#2.center)]{};}
+
+\newcommand\PfCentoureColorR[3]{%
+ \expandafter\edef\csname RetiensCouleur\endcsname{\csname PfCOpCouleurs\Roman{coulxlopcoul}\endcsname}\colorlet{CouleurCadre}{\RetiensCouleur}%
+ \tikz[remember picture,overlay] \node[preaction={draw={CouleurCadre},ultra thick,opacity=1,
+ transform canvas={xshift=0em,yshift=0em}},rectangle,fill=PfCSolOp,rounded corners,ultra thick,inner sep=.55em,fit=(#1.center)(#2.center)]{};}
+
+\newcommand\PfCentoureColorI[2]{%
+ \expandafter\edef\csname RetiensCouleur\endcsname{\csname PfCOpCouleursi\Roman{coulxlopcoul}\endcsname}\colorlet{CouleurCadre}{\RetiensCouleur}%
+ \tikz[remember picture,overlay] \node[preaction={draw={CouleurCadre},ultra thick,opacity=1,
+ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,inner sep=.55em,fit=(#1.center)(#2.center)]{};}
+
+\newcommand\PfCentoureColorIR[2]{%
+ \expandafter\edef\csname RetiensCouleur\endcsname{\csname PfCOpCouleursi\Roman{coulxlopcoul}\endcsname}\colorlet{CouleurCadre}{\RetiensCouleur}%
+ \tikz[remember picture,overlay] \node[preaction={draw={CouleurCadre},ultra thick,opacity=1,
+ transform canvas={xshift=0em,yshift=0em}},rectangle,fill=PfCSolOp,rounded corners,ultra thick,inner sep=.55em,fit=(#1.center)(#2.center)]{};}
+
+\newcommand\PfCentoureColorIdiv[2]{%
+ \expandafter\edef\csname RetiensCouleur\endcsname{\csname PfCOpCouleursid\Roman{coulxlopcoul}\endcsname}\colorlet{CouleurCadre}{\RetiensCouleur}%
+ \tikz[remember picture,overlay] \node[preaction={draw={CouleurCadre},ultra thick,opacity=1,
+transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,inner sep=.55em,fit=(#1.center)(#2.center)]{};}
+
+\makeatletter
+\long\def\ifnodedefined#1#2#3{%
+ \@ifundefined{pgf@sh@ns@#1}{#3}{#2}%
+}
+\makeatother
+
+\NewDocumentCommand\MultiplicationColore{omm}{%
+ \useKVdefault[ClesOperations]%
+ \setKV[ClesOperations]{#1}%
+ \setcounter{coulxlop}{0}%
+ \setcounter{coulxlopa}{0}%
+ \setcounter{coulxlopd}{0}%
+ \setcounter{coulxlopi}{0}%
+ \setcounter{coulxlopcoul}{0}%
+ \ifboolKV[ClesOperations]{Solution}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurSolution}}}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurFond}}}%
+ \ExtraitCouleurs%
+ \begingroup%
+ \setlength{\baselineskip}{1.75em}%
+ \StrLen{#3}[\PfCLongueurFacteurDeux]%
+ \ifnum\PfCLongueurFacteurDeux=1\relax%
+ \opset{lineheight=\baselineskip} % nécessaire
+ \else%
+ \opset{lineheight=\baselineskip,displayintermediary=all,displayshiftintermediary=all} % nécessaire
+ \fi%
+ \opmul[decimalsepsymbol={,},lineheight=1.75em,columnwidth=1.5em,voperator=bottom]{#2}{#3}%
+ \endgroup%
+ \foreach \i in {1,...,\thecoulxlop}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CA\i}{%
+ \PfCentoureColor{CA\i}{CA\i}%
+ }{}
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopa}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CB\i}{%
+ \PfCentoureColor{CB\i}{CB\i}%
+ }{}
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopd}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CC\i}{%
+ \ifboolKV[ClesOperations]{Solution}{\PfCentoureColor{CC\i}{CC\i}}{\PfCentoureColorR{CC\i}{CC\i}}%
+ }{}
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopi}{%
+ \stepcounter{coulxlopcoul}%
+% La couleur est
+ \ifnodedefined{CD\i}{%
+ \ifboolKV[ClesOperations]{Solution}{\PfCentoureColorI{CD\i}{CD\i}}{\PfCentoureColorIR{CD\i}{CD\i}}%
+ }{}%
+ }%
+}%
+
+\newcommand\AdditionColore[3][]{%
+ \useKVdefault[ClesOperations]%
+ \setKV[ClesOperations]{#1}%
+ \ifboolKV[ClesOperations]{Solution}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurSolution}}}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurFond}}}%
+ \setcounter{coulxlop}{0}%
+ \setcounter{coulxlopa}{0}%
+ \setcounter{coulxlopd}{0}%
+ \setcounter{coulxlopi}{0}%
+ \setcounter{coulxlopcoul}{0}%
+ \ExtraitCouleurs%
+ \opadd[decimalsepsymbol={,},lineheight=1.75em,columnwidth=1.5em,voperator=bottom]{#2}{#3}%
+ \foreach \i in {1,...,\thecoulxlop}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CA\i}{%
+ \PfCentoureColor{CA\i}{CA\i}%
+ }{}%
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopa}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CB\i}{%
+ \PfCentoureColor{CB\i}{CB\i}%
+ }{}%
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopd}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CC\i}{%
+ \ifboolKV[ClesOperations]{Solution}{\PfCentoureColor{CC\i}{CC\i}}{\PfCentoureColorR{CC\i}{CC\i}}%
+ }{}%
+ }%
+}%
+
+\newcommand\SoustractionColore[3][]{%
+ \useKVdefault[ClesOperations]%
+ \setKV[ClesOperations]{#1}%
+ \ifboolKV[ClesOperations]{Solution}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurSolution}}}{\colorlet{PfCSolOp}{\useKV[ClesOperations]{CouleurFond}}}%
+ \setcounter{coulxlop}{0}%
+ \setcounter{coulxlopa}{0}%
+ \setcounter{coulxlopd}{0}%
+ \setcounter{coulxlopi}{0}%
+ \setcounter{coulxlopcoul}{0}%
+ \ExtraitCouleurs%
+ \opsub[decimalsepsymbol={,},lineheight=1.75em,columnwidth=1.5em,voperator=bottom]{#2}{#3}%
+\foreach \i in {1,...,\thecoulxlop}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CA\i}{%
+ \PfCentoureColor{CA\i}{CA\i}%
+ }{}
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopa}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CB\i}{%
+ \PfCentoureColor{CB\i}{CB\i}%
+ }{}
+ }%
+ \setcounter{coulxlopcoul}{0}%
+ \foreach \i in {1,...,\thecoulxlopd}{%
+ \stepcounter{coulxlopcoul}%
+ \ifnodedefined{CC\i}{%
+ \ifboolKV[ClesOperations]{Solution}{\PfCentoureColor{CC\i}{CC\i}}{\PfCentoureColorR{CC\i}{CC\i}}%
+ }{}
+ }%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
index 2be0a20bd0..dfbd3a5d23 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
@@ -1,3 +1,6 @@
+%%%
+% Patrons de pavés droits et cubes
+%%%
\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false}%
\defKV[ClesPatron]{Traces=\setKV[ClesPatron]{Codes}}%
@@ -27,6 +30,149 @@
}%
}%
+\setsepchar{,}\ignoreemptyitems
+\readlist*\ListePatronsCube{%
+ {ooxo,xxxx,ooxo},%
+ {oxoo,xxxx,xooo},%
+ {ooxo,xxxx,oxoo},%
+ {ooox,xxxx,xooo},%
+ {ooox,xxxx,oxoo},%
+ {xxxoo,ooxxx},%
+ {xxoo,oxxo,ooxx},%
+ {xxoo,oxxx,ooox},%
+ {xxoo,oxxx,ooxo},%
+ {ooox,xxxx,ooox},%
+ {ooxo,xxxo,ooxx}%
+}%
+\readlist*\ListePatronsCubeCouleurs{%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,LightSteelBlue,Yellow,Crimson,Yellow},%
+ {LightSteelBlue,Crimson,Yellow,LightSteelBlue,Crimson,Yellow},%
+ {LightSteelBlue,Crimson,Yellow,LightSteelBlue,Yellow,Crimson},%
+ {LightSteelBlue,Crimson,Yellow,LightSteelBlue,Yellow,Crimson},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,Yellow,LightSteelBlue},%
+ {LightSteelBlue,Crimson,Yellow,Crimson,LightSteelBlue,Yellow}%
+}%
+
+\readlist*\ListePatronsPave{%
+ {hlpl,lopo,hopo,lopo},%
+ {hlpo,loph,hopo,lopo},%
+ {hlpo,lopo,hopl,lopo},%
+ {hlpo,lopo,hopo,loph},%
+ {hopo,lhph,hopo,lopo},%
+ {hopo,lhpo,hopl,lopo},%
+ {hopo,lhpo,hopo,lopl},%
+ {hopo,lopo,hlpl,lopo},%
+ {hopo,lopo,hlpo,loph},%
+ {hopo,lopo,hopo,lhph},%10
+ {plhl,loho,poho,loho},%
+ {plho,loho,pohl,loho},%
+ {plho,loho,pohl,loho},%
+ {plho,loho,poho,lohp},%
+ {poho,lphp,poho,loho},%
+ {poho,lpho,pohl,loho},%
+ {poho,lpho,poho,lohp},%
+ {poho,loho,plhl,loho},%
+ {poho,loho,plho,lohp},%
+ {poho,loho,poho,lphp},%
+ {phlh,holo,polo,holo},%
+ {phlo,holp,polo,holo},%
+ {phlo,holo,polh,holo},%
+ {phlo,holo,polo,holp},%
+ {polo,hplp,polo,holo},%
+ {polo,hplo,polh,holo},%
+ {polo,hplo,polo,holp},%
+ {polo,holo,phlh,holo},%
+ {polo,holo,phlo,holp},%
+ {polo,holo,polo,hplp},%
+ {hlpo,lopo,hopl,pool},%
+ {hopo,lhpo,hopl,pool},%
+ {hopo,lopo,hlph,pool},%
+ {lhpo,hopo,loph,pooh},%
+ {lopo,hlpo,loph,pooh},%
+ {lopo,hopo,lhoh,pooh},%
+ {plho,loho,pohl,hool},%
+ {poho,lpho,pohl,hool},%
+ {poho,loho,plhl,hool},%
+ {lpho,poho,lohp,hoop},%
+ {loho,plho,lohp,hoop},%
+ {loho,poho,lphp,hoop},%
+ {phlo,holo,polh,looh},%
+ {polo,hplo,polh,looh},%
+ {polo,holo,phlh,looh},%
+ {hplo,polo,holp,loop},%
+ {holo,phlo,holp,loop},%
+ {holo,polo,hplp,loop},%
+ {hpo,lpo,hpl,pol,hol},%
+ {lpo,hpo,lph,poh,loh},%
+ {pho,plo,phl,hol,pol},%
+ {hpoo,lpho,pohl,hool},%
+ {lpoo,hplo,polh,looh},%
+ {phoo,lhpo,hopl,pool}
+}
+
+\readlist*\ListePatronsPaveCouleurs{%
+ {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},
+ {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},
+ {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},
+ {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},
+ {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},
+ {Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%10
+ {LightGreen,Crimson,LightGreen,Orange,Crimson,Orange},%
+ {LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
+ {LightGreen,Crimson,Orange,Crimson,LightGreen,Orange},%
+ {LightGreen,Crimson,Orange,Crimson,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,LightGreen,Crimson,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,Crimson,LightGreen,Orange,LightGreen},%20
+ {Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,LightGreen,Crimson,Orange},%
+ {Crimson,LightGreen,Orange,LightGreen,Crimson,Orange},%
+ {Crimson,LightGreen,Orange,LightGreen,Orange,Crimson},%
+ {LightGreen,Crimson,Orange,Crimson,LightGreen,Orange},%
+ {LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
+ {LightGreen,Crimson,Orange,LightGreen,Orange,Crimson},%
+ {LightGreen,Orange,Crimson,LightGreen,Crimson,Orange},%
+ {LightGreen,Orange,Crimson,LightGreen,Orange,Crimson},%
+ {LightGreen,Orange,LightGreen,Crimson,Orange,Crimson},%30
+ {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},%
+ {Orange,LightGreen,Crimson,LightGreen,Orange,Crimson},%
+ {LightGreen,Orange,Crimson,LightGreen,Orange,Crimson},%
+ {LightGreen,Crimson,Orange,LightGreen,Orange,Crimson},%
+ {LightGreen,Crimson,Orange,Crimson,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},%
+ {LightGreen,Orange,Crimson,Orange,LightGreen,Crimson},%40
+ {Orange,LightGreen,Crimson,Orange,LightGreen,Crimson},%
+ {Orange,Crimson,LightGreen,Orange,LightGreen,Crimson},%
+ {Crimson,LightGreen,Orange,LightGreen,Crimson,Orange},%
+ {LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
+ {LightGreen,Orange,Crimson,LightGreen,Crimson,Orange},%
+ {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},%
+ {Orange,LightGreen,Crimson,Orange,Crimson,LightGreen},%
+ {Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%
+ {LightGreen,Crimson,LightGreen,Orange,Crimson,Orange},%50
+ {Crimson,Orange,Crimson,LightGreen,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
+ {LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+}%
+\reademptyitems
+
\def\MPPatronCubeCode{%
Arete=\useKV[ClesPatron]{Arete};
%
@@ -126,13 +272,35 @@
boolean Codes;
Codes=\useKV[ClesPatron]{Codes};
numeric DecalCol[];
+ %
vardef LectureLargeur(text t)=
for p_=t:
Long:=length p_;
endfor;
for k=1 upto Long-1:
for p_=t:
- if substring(k,k+1) of p_="l":
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ fi;
+ elseif substring(k,k+1) of p_="l":
DecalCol[k]:=Largeur;
elseif substring(k,k+1) of p_="h":
DecalCol[k]:=Hauteur;
@@ -142,6 +310,7 @@
endfor;
endfor;
enddef;
+ %
vardef Patron(text t)=
path PathPave;
nblignes:=-1;
@@ -159,7 +328,11 @@
fi;
nblignes:=nblignes-YEchelle;
for k=1 upto Long-1:
- if substring(k,k+1) of p_="l":
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ PathPave:=(unitsquare scaled 0);
+ fi;
+ elseif substring(k,k+1) of p_="l":
nbcol:=nbcol+1;
PathPave:=(unitsquare xscaled Largeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
nbfaces:=nbfaces+1;
diff --git a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
index 06d0cfe95a..77eecfcb42 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
@@ -4,8 +4,8 @@
\newtoks\toklistePANombre%
\def\UpdatetoksPANombre#1\nil{\addtotok\toklistePANombre{"#1",}}%
-\setKVdefault[ClesPixelArt]{Largeur=29,Hauteur=29,Solution=false,Lettres=ABCDEFGHIJK,Nombres=false,ListeCouleurs={Orange,Red,LightGray,Maroon,Purple,black,black,Plum,Orange,White,White},Unite=5mm}
-\defKV[ClesPixelArt]{ListeNombres=\setKV[ClesPixelArt]{Nombres}}
+\setKVdefault[ClesPixelArt]{Largeur=29,Hauteur=29,Solution=false,Lettres=ABCDEFGHIJK,Nombres=false,ListeCouleurs={Orange,Red,LightGray,Maroon,Purple,black,black,Plum,Orange,White,White},Unite=5mm,Geant=false,HauteurD=1,LargeurD=1,Complet=false,Numero=1,Separations=false}%
+\defKV[ClesPixelArt]{ListeNombres=\setKV[ClesPixelArt]{Nombres}}%
\NewDocumentCommand\PixelArt{o m}{%
\toklistePANombre{}%
@@ -16,7 +16,24 @@
\setsepchar{,}%
\readlist*\ListePANombre{\ListeAvantNombres}%
\foreachitem\compteur\in\ListePANombre{\expandafter\UpdatetoksPANombre\compteur\nil}%
- \BuildPixelArt{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+ \ifboolKV[ClesPixelArt]{Geant}{%
+ % Découpe en hauteur : \fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}\\
+ % Découpe en largeur : \fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}-1}}\par
+ \ifboolKV[ClesPixelArt]{Complet}{%
+ \xintFor* ##1 in{\xintSeq{0}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}-1}}}\do{%
+ \xintFor* ##2 in{\xintSeq{0}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}-1}}}\do{%
+ \fpeval{##1*\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}+##2} : \BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{##1}{##2}\\%
+ }%
+ }%
+ }{%
+ \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+ \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+% quotient = \the\intquotient -- remainder = \the\remainder :
+ \BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{\the\intquotient}{\the\remainder}%
+ }%
+ }{%
+ \BuildPixelArt{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+ }%
}%
\NewDocumentCommand\BuildPixelArt{m m m m}{%
@@ -25,10 +42,15 @@
\begin{mplibcode}
largeur:=\useKV[ClesPixelArt]{Largeur};
hauteur:=\useKV[ClesPixelArt]{Hauteur};
+ largeurd:=\useKV[ClesPixelArt]{LargeurD};
+ hauteurd:=\useKV[ClesPixelArt]{HauteurD};
Unite:=\useKV[ClesPixelArt]{Unite};
- boolean Solution,Nombres;
+
+ boolean Solution,Nombres,Separations;
Solution:=\useKV[ClesPixelArt]{Solution};
Nombres:=\useKV[ClesPixelArt]{Nombres};
+ Separations:=\useKV[ClesPixelArt]{Separations};
+
string BaseLettres;
BaseLettres=str #2;
numeric EchelleScale;
@@ -84,6 +106,16 @@
enddef;
Lecturecsv("#1");
+ if Separations:
+ drawoptions(withcolor Purple);
+ for k=hauteur step -hauteurd until 0:
+ draw (Unite*(-1,k-0.5)--Unite*(largeur,k-0.5)) withpen pencircle scaled 1.25;
+ endfor;
+ for k=0 step largeurd until largeur:
+ draw (Unite*(k-0.5,hauteur+0.125)--Unite*(k-0.5,-0.875)) withpen pencircle scaled 1.25;
+ endfor;
+ drawoptions();
+ fi;
\end{mplibcode}
\else
\begin{mpost}[mpsettings={largeur:=\useKV[ClesPixelArt]{Largeur}; hauteur:=\useKV[ClesPixelArt]{Hauteur}; Unite:=\useKV[ClesPixelArt]{Unite}; boolean Solution,Nombres; Solution:=\useKV[ClesPixelArt]{Solution}; Nombres:=\useKV[ClesPixelArt]{Nombres};}]
@@ -142,4 +174,82 @@
Lecturecsv("#1");
\end{mpost}
\fi
+}
+
+\NewDocumentCommand\BuildPixelArtGeant{m m m m m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ largeur:=\useKV[ClesPixelArt]{Largeur};
+ hauteur:=\useKV[ClesPixelArt]{Hauteur};
+ largeurd:=\useKV[ClesPixelArt]{LargeurD};
+ hauteurd:=\useKV[ClesPixelArt]{HauteurD};
+
+ Unite:=\useKV[ClesPixelArt]{Unite};
+
+ boolean Solution,Nombres;
+ Solution:=\useKV[ClesPixelArt]{Solution};
+ Nombres:=\useKV[ClesPixelArt]{Nombres};
+
+ string BaseLettres;
+ BaseLettres=str #2;
+
+ numeric EchelleScale;
+ EchelleScale=Unite/5mm;
+
+ color ColorEntier[],ColFond;
+ n:=0;
+ for p_=#3:
+ n:=n+1;
+ ColorEntier[n]:=p_;
+ endfor;
+
+ string RetiensNombres[];
+ if Nombres:
+ n:=0;
+ for p_=#4:
+ n:=n+1;
+ RetiensNombres[n]=p_;
+ endfor;
+ fi;
+
+ vardef Lecturecsv(expr nomfichier)=
+ % for h=hauteur-#5*hauteurd downto hauteur-(#5+1)*hauteurd:
+ for h=hauteur downto 1:
+ string p_;
+ p_=readfrom nomfichier;
+ l:=0;
+ if (h>hauteur-(#5+1)*hauteurd) and (h<hauteur-#5*hauteurd+1):
+ for p=2*#6*largeurd step 2 until 2*(#6+1)*largeurd-2:
+ l:=l+1;
+ if (substring(p,p+1) of p_)="-":
+ else:
+ if Nombres:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ label(TEX(RetiensNombres[m+1]) scaled EchelleScale,((l-1)*Unite,(h-1)*Unite));
+ fi;
+ endfor;
+ else:
+ label(TEX(substring(p,p+1) of p_) scaled EchelleScale,((l-1)*Unite,(h-1)*Unite));
+ fi;
+ if Solution:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ ColFond:=ColorEntier[m+1];
+ fi;
+ endfor;
+ if unknown ColFond: else: fill (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite) withcolor ColFond fi;
+ fi;
+ trace (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite);
+ fi;
+ endfor;
+ fi;
+ endfor;
+ closefrom nomfichier;
+ enddef;
+
+ Lecturecsv("#1");
+ \end{mplibcode}
+ \fi
} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex b/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
index 216d44d8ec..f1bdc0307f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
@@ -212,7 +212,7 @@
\StrSubstitute{\tempab}{*}{\div}[\tempac]%
\StrSubstitute{\tempac}{/}{\times}[\tempad]%
\StrSubstitute{\tempad}{-}{+}[\tempae]%
- \StrSubstitute{\tempae}{+}{-}[\tempaf]%
+ \StrSubstitute{\tempae}{++}{-}[\tempaf]%
\ifnum\fpeval{\useKV[ClesProg]{Reponses}}>0\relax%
\ifnum\fpeval{\listlen\ListeProg[2]-\compteurcnt}<\fpeval{\useKV[ClesProg]{Reponses}}\relax%
\ifboolKV[ClesProg]{OpReciproques}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCPythagore.tex b/macros/latex/contrib/profcollege/latex/PfCPythagore.tex
index fa6b138d6f..5c922d98b0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPythagore.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPythagore.tex
@@ -284,7 +284,7 @@
\NomA\NomC^2&=\ifboolKV[ClesPythagore]{EnchaineA}{\opexport{a1}{\Aun}\num{\Aun}}{\opmul*{A1}{A1}{a1}\opexport{a1}{\Aun}\num{\Aun}}+\ifboolKV[ClesPythagore]{EnchaineB}{\opexport{a2}{\Adeux}\num{\Adeux}}{\opmul*{A2}{A2}{a2}\opexport{a2}{\Adeux}\num{\Adeux}}\\
\NomA\NomC^2&=\opadd*{a1}{a2}{a3}\opexport{a3}{\Atrois}\num{\Atrois}%\\
\ifboolKV[ClesPythagore]{AvantRacine}{}{%
- \ifboolKV[ClesPythagore]{Entier}{}{\\\NomA\NomC&=\sqrt{\opexport{a3}{\Atrois}\num{\Atrois}}}
+ \ifboolKV[ClesPythagore]{Entier}{}{\\\NomA\NomC&=\sqrt{\opexport{a3}{\Atrois}\num{\Atrois}}\ifboolKV[ClesPythagore]{Racine}{~\si{\PfCPythaUnit}}{}}
\ifboolKV[ClesPythagore]{Racine}{}{\\\NomA\NomC&\IfStrEq{\ResultatApproche}{\ResultatAttendu}{=}{\approx}\opsqrt[maxdivstep=5]{a3}{a4}\opround{a4}{pres}{a4}\opunzero{a4}\opexport{a4}{\Aquatre}\SI{\Aquatre}{\PfCPythaUnit}}%\\
}
\end{align*}
diff --git a/macros/latex/contrib/profcollege/latex/PfCReperage.tex b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
index e363b35e8d..23e7bd2775 100644
--- a/macros/latex/contrib/profcollege/latex/PfCReperage.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
@@ -1313,12 +1313,12 @@
maxx:=\useKV[ClesReperage]{ValeurMax};
fi;
% Pour gérer les cas des droites où toutes les valeurs sont soit positives soit négatives
- if maxx<pasx:
- maxx:=pasx+1;
- fi;
- if minx>-pasx:
- minx:=-pasx-1;
- fi;
+% if maxx<pasx:
+% maxx:=pasx+1;
+% fi;
+% if minx>-pasx:
+% minx:=-pasx-1;
+% fi;
%
if DemiDroite:
minx:=0;
diff --git a/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex b/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
index 35eed81431..0e6162aa76 100644
--- a/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
@@ -1,7 +1,7 @@
%%%
% Tableur
%%%
-\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0}%
+\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0,LargeurNombre=10pt}%
%Idee de P. Nuns
\defKV[Tableur]{Couleur=\setKV[Tableur]{Selection}}%
%
@@ -41,12 +41,14 @@
\newlength\PfCLongInter%
\newlength\PfCTableurLargeurUn%
\newlength\PfCTableurLargeur%
+\newlength\PfCTableurLargeurZero%
\NewDocumentEnvironment{Tableur}{so}{%
\useKVdefault[Tableur]%
\setKV[Tableur]{#2}%
\setlength{\PfCTableurLargeurUn}{\fpeval{\useKV[Tableur]{LargeurUn}}pt}%
\setlength{\PfCTableurLargeur}{\fpeval{\useKV[Tableur]{Largeur}}pt}%
+ \setlength{\PfCTableurLargeurZero}{\fpeval{\useKV[Tableur]{LargeurNombre}}pt}%
\ifnum\useKV[Tableur]{DebutColonnes}=0\relax
\Affichecntcol\z@%
\else
@@ -61,7 +63,8 @@
\newcolumntype{A}{>{\centering\arraybackslash}m{\PfCTableurLargeurUn}}%
\newcolumntype{B}{>{\centering\arraybackslash}m{\PfCTableurLargeur}}%
\IfBooleanTF{#1}{%
- \setlength{\PfCLongInter}{-40pt+\fpeval{\useKV[Tableur]{LargeurUn}}pt+\fpeval{(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}}pt+\fpeval{2*\useKV[Tableur]{Colonnes}-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}-3}\arrayrulewidth}%
+ %%Bandeau avec 20pt :( en largeurZero
+ \setlength{\PfCLongInter}{-60pt+\fpeval{\useKV[Tableur]{LargeurNombre}}pt+\fpeval{\useKV[Tableur]{LargeurUn}}pt+\fpeval{(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}}pt+\fpeval{2*\useKV[Tableur]{Colonnes}-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}-3}\arrayrulewidth}%
\ifboolKV[Tableur]{Bandeau}{%
\begin{tabular}{|p{\PfCTableurLargeur}|p{10pt}|p{50pt}|p{\PfCLongInter}|}%
\hhline{--~-}%
@@ -81,7 +84,7 @@
\centering\arraybackslash%
\ifnum\cntlin>\@ne%
\fpeval{\cntlin+\Affichecntlin-1}\fi}%
- wc{20pt}|A|*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{B|}}%
+ wc{\PfCTableurLargeurZero}|A|*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{B|}}%
\hline%
\rowcolor{gray!15}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
index 0ae0894e96..98566be426 100644
--- a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
@@ -20,7 +20,7 @@ Largeur=1cm,Precision=2,PrecisionF=0,Donnee=Valeurs,Effectif=Effectif,Grille=fal
% Pour les diags batons
EpaisseurBatons=1,ListeCouleursB={a},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,AngleRotationAbscisse=0,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,CouleurDefaut=black,Date=false,GrandNombrey=false,GrandNombrex=false,PasGrillex=1,PasGrilley=1,%
% Pour les diags circulaires
-Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,ListeHachures={60},LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,DebutAngle=0,%
+Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,ListeHachures={60},LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,DebutAngle=0,%on utilisera également la clé CouleurDefaut
%Pour les représentations
Representation=false,%
%Pour les barres horizontales
@@ -515,7 +515,7 @@ ModeleCouleur=5%
fi;
endfor;
if DonneesSup:
- maxAxey:=floor(maxy/10)*10+4*PasGrilley;
+ maxAxey:=maxy;%floor(maxy/10)*10+4*PasGrilley;
else:
maxAxey:=maxy;
fi;
@@ -586,15 +586,23 @@ ModeleCouleur=5%
if Date:
label.bot(TEX(decimal(xpart(p_))) rotated AngleRotation,A[l]);
else:
+ if GrandNombrex:
+ label.bot(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreA}*"&decimal(xpart(p_))&"}}") rotated AngleRotation,A[l]);
+ else:
label.bot(TEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
fi;
+ fi;
else :
if Date:
label.bot(TEX(decimal(xpart(p_))),A[l]);
else:
+ if GrandNombrex:
+
+ else:
label.bot(TEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
fi;
fi;
+ fi;
if Reponses:
if DonneesSup:
Test(l);
@@ -856,6 +864,8 @@ ModeleCouleur=5%
Retour=false;
ACompleter=\useKV[ClesStat]{ACompleter};
DebutAngle=\useKV[ClesStat]{DebutAngle};
+ color CoulDefaut;
+ CoulDefaut=\useKV[ClesStat]{CouleurDefaut};
%
pair A[],O,B[],C[],D[];
O=(0,0);
@@ -965,7 +975,12 @@ ModeleCouleur=5%
n:=0;
for p_=#3:
n:=n+1;
+ % Col[n]=p_;
+ if color p_:
Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
endfor;
% on r\'ecup\`ere les angles d'hachures
numeric anglehach[];
diff --git a/macros/latex/contrib/profcollege/latex/PfCThales.tex b/macros/latex/contrib/profcollege/latex/PfCThales.tex
index ea01972c25..d4adb5be01 100644
--- a/macros/latex/contrib/profcollege/latex/PfCThales.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCThales.tex
@@ -175,10 +175,10 @@
% #4 point sur le segment #1#2
% #5 point sur le segment #1#3
\ifluatex
- \mplibcodeinherit{enable}
+% \mplibcodeinherit{enable}
\mplibforcehmode
\begin{mplibcode}
- defaultcolormodel := \useKV[ClesThales]{ModeleCouleur};
+ defaultcolormodel := \useKV[ClesThales]{ModeleCouleur};
u:=\useKV[ClesThales]{Echelle};
pair A,B,C,M,N,O;%
%On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure
@@ -213,7 +213,7 @@
fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes4);
fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes4);
\end{mplibcode}
- \mplibcodeinherit{disable}
+% \mplibcodeinherit{disable}
\else
\begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};}]
pair A,B,C,M,N,O;%
@@ -261,7 +261,7 @@
% #5 point sur la droite #1#3
\ifluatex
\mplibforcehmode
- \mplibcodeinherit{enable}
+% \mplibcodeinherit{enable}
\begin{mplibcode}
defaultcolormodel := \useKV[ClesThales]{ModeleCouleur};
u:=\useKV[ClesThales]{Echelle};
@@ -343,7 +343,7 @@
label(btex $//$ etex ,K);
drawoptions();
\end{mplibcode}
- \mplibcodeinherit{disable}
+% \mplibcodeinherit{disable}
\else
\begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};boolean CouleursNum,CouleursDen;
CouleursNum=\useKV[ClesThales]{CouleursNum};
@@ -435,7 +435,7 @@
% #5 point sur la droite #1#3
\ifluatex
\mplibforcehmode
- \mplibcodeinherit{enable}
+% \mplibcodeinherit{enable}
\begin{mplibcode}
defaultcolormodel := \useKV[ClesThales]{ModeleCouleur};
u:=\useKV[ClesThales]{Echelle};
@@ -479,7 +479,7 @@
fill (fullcircle scaled 0.75mm) shifted (cotes1 intersectionpoint cotes2);
fill (fullcircle scaled 0.75mm) shifted (cotes3 intersectionpoint cotes2);
\end{mplibcode}
- \mplibcodeinherit{disable}
+% \mplibcodeinherit{disable}
\else
\begin{mpost}[mpsettings={u:=\useKV[ClesThales]{Echelle};}]
pair A,B,C,M,N,O;%
diff --git a/macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex b/macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
index c31076e010..38fe05ce60 100644
--- a/macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
@@ -209,7 +209,7 @@
% #6 hyp
% #7 angle de rotation
\ifluatex
- \mplibcodeinherit{enable}
+% \mplibcodeinherit{enable}
\mplibforcehmode
\begin{mplibcode}
defaultcolormodel := \useKV[ClesTrigo]{ModeleCouleur};
@@ -278,7 +278,7 @@
fi;
fi;
\end{mplibcode}
-\mplibcodeinherit{disable}
+%\mplibcodeinherit{disable}
\else
\begin{mpost}[mpsettings={u:=\useKV[ClesTrigo]{Echelle};}]
u:=1cm;
diff --git a/macros/latex/contrib/profcollege/latex/PfCTrio.tex b/macros/latex/contrib/profcollege/latex/PfCTrio.tex
index beee6278fa..560258ff59 100644
--- a/macros/latex/contrib/profcollege/latex/PfCTrio.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCTrio.tex
@@ -1,7 +1,7 @@
\newlength\PfCTrioHauteur%
\newcounter{PfCTrioLettre}%
-\setKVdefault[Trio]{Largeur=15pt,Graines=false,Repere=false,Cibles=false,Ligne=1,Colonne=1,Vide=false,VideRepere=false,Relatifs=false,Ecole=false,Horizontal=false,Vertical=false,DiagonaleM=false,DiagonaleD=false,NonAlea=false,NbSolutions=false}%
+\setKVdefault[Trio]{Largeur=15pt,Graines=false,Repere=false,Cibles=false,Ligne=1,Colonne=1,Vide=false,VideRepere=false,Relatifs=false,Ecole=false,Horizontal=false,Vertical=false,DiagonaleM=false,DiagonaleD=false,NonAlea=false,NbSolutions=false,IntroRelatifs=false}%
\defKV[Trio]{Graine=\setKV[Trio]{Graines}}%
\defKV[Trio]{Cible=\setKV[Trio]{Cibles}}%
\defKV[Trio]{Liste=\setKV[Trio]{NonAlea}}%
@@ -20,18 +20,29 @@
}%
\NewDocumentCommand\TrioTestCible{O{\useKV[Trio]{Cible}}mmm}{%
- \xintifboolexpr{%
- \fpeval{#2*#3+#4}==#1%
- || \fpeval{#2*#3-#4}==#1%
- || \fpeval{#3*#4+#2}==#1%
- || \fpeval{#3*#4-#2}==#1%
- || \fpeval{#4*#2+#3}==#1%
- || \fpeval{#4*#2-#3}==#1%
- % ajout pour une cible négative
- || \fpeval{#3-#4*#2}==#1%
- || \fpeval{#4-#2*#3}==#1%
- || \fpeval{#2-#3*#4}==#1%
- }{\xdef\PfCRetourTestCible{1}}{\xdef\PfCRetourTestCible{0}}%
+ \ifboolKV[Trio]{IntroRelatifs}{%
+ \xintifboolexpr{%
+ \fpeval{#2*#3+#4}==#1%
+ || \fpeval{#2*#3-#4}==#1%
+ || \fpeval{#3*#4+#2}==#1%
+ || \fpeval{#3*#4-#2}==#1%
+ || \fpeval{#4*#2+#3}==#1%
+ || \fpeval{#4*#2-#3}==#1%
+ % ajout pour une cible négative
+ || \fpeval{#3-#4*#2}==#1%
+ || \fpeval{#4-#2*#3}==#1%
+ || \fpeval{#2-#3*#4}==#1%
+ }{\xdef\PfCRetourTestCible{1}}{\xdef\PfCRetourTestCible{0}}%
+ }{%
+ \xintifboolexpr{%
+ \fpeval{#2*#3+#4}==#1%
+ || \fpeval{#2*#3-#4}==#1%
+ || \fpeval{#3*#4+#2}==#1%
+ || \fpeval{#3*#4-#2}==#1%
+ || \fpeval{#4*#2+#3}==#1%
+ || \fpeval{#4*#2-#3}==#1%
+ }{\xdef\PfCRetourTestCible{1}}{\xdef\PfCRetourTestCible{0}}%
+ }%
}%
\NewDocumentCommand\Trio{o}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCVisualisationMulDeci.tex b/macros/latex/contrib/profcollege/latex/PfCVisualisationMulDeci.tex
new file mode 100644
index 0000000000..54a1a079cc
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCVisualisationMulDeci.tex
@@ -0,0 +1,135 @@
+%%%
+% Visualisation Multiplication Décimaux
+%%%
+\setKVdefault[VisMulDec]{Couleur=Orange,CouleurUnite=DarkGreen,Dixiemes=false,Unite=2}%
+
+\newtoks\toksvismuldec%
+\def\UpdatetoksVisMulDec#1\nil{\addtotok\toksvismuldec{"#1",#1,}}%
+
+\NewDocumentCommand\VisualisationMulDecimaux{om}{%
+ \useKVdefault[VisMulDec]%
+ \setKV[VisMulDec]{#1}%
+ \setsepchar{x}\ignoreemptyitems%
+ \readlist*\PfCVisMulDec{#2}%
+ \toksvismuldec{}%
+ \foreachitem\compteur\in\PfCVisMulDec{\expandafter\UpdatetoksVisMulDec\compteur\nil}%
+ \BuildVisMulDec{\the\toksvismuldec}%
+ \reademptyitems%
+}%
+
+\NewDocumentCommand\BuildVisMulDec{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ string Nombres[];
+ numeric Decimaux[];
+ color Coul[];
+ boolean Dixiemes;
+
+ Unite=\useKV[VisMulDec]{Unite}*cm;
+ Coul1=\useKV[VisMulDec]{Couleur};
+ Coul2=\useKV[VisMulDec]{CouleurUnite};
+ Coul3=0.7[Coul2,white];
+
+ Dixiemes=\useKV[VisMulDec]{Dixiemes};
+
+ vardef RecupererDonnees(text t)=
+ nbs:=0;
+ nbd:=0;
+ for p_=t:
+ if string p_:
+ nbs:=nbs+1;
+ Nombres[nbs]=p_;
+ else:
+ nbd:=nbd+1;
+ Decimaux[nbd]=p_;
+ fi;
+ endfor;
+ enddef;
+
+ RecupererDonnees(#1);
+
+ pair A,B,C,D;
+ A=(0,0);
+ B-A=Unite*(Decimaux[1],0);
+ D-A=Unite*(0,Decimaux[2]);
+ C-D=B-A;
+ fill polygone(A,Unite*(1,0),Unite*(1,1),Unite*(0,1)) withcolor Coul3;
+ drawoptions(withcolor Coul1);
+ pasx=0.1;
+ pasy=0.1;
+ if (Dixiemes and ((Decimaux[1]*10) mod 10=0)):
+ pasy:=1;
+ fi;
+ if (Dixiemes and ((Decimaux[2]*10) mod 10=0)):
+ pasx:=1;
+ fi;
+ for k=0 step pasx until Decimaux[1]:
+ trace (A--(Unite*(0,Decimaux[2]))) shifted(k*Unite*(1,0));
+ endfor;
+ for k=0 step pasy until Decimaux[2]:
+ trace (A--(Unite*(Decimaux[1],0))) shifted(k*Unite*(0,1));
+ endfor;
+ drawoptions(withpen pencircle scaled 1.2 withcolor Coul2);
+ for k=0 upto Decimaux[1]:
+ trace (A--(Unite*(0,Decimaux[2]))) shifted(k*Unite*(1,0));
+ endfor;
+ for k=0 upto Decimaux[2]:
+ trace (A--(Unite*(Decimaux[1],0))) shifted(k*Unite*(0,1));
+ endfor;
+ drawoptions();
+ trace cotation(A,B,-5mm,-3mm,TEX("\num{"&Nombres[1]&"}"));
+ trace cotation(A,D,5mm,5mm,TEX("\num{"&Nombres[2]&"}") rotated -90);
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={string Nombres[];numeric Decimaux[];color Coul[];boolean Dixiemes;Unite=\useKV[VisMulDec]{Unite}*cm;Coul1=\useKV[VisMulDec]{Couleur};Coul2=\useKV[VisMulDec]{CouleurUnite};Coul3=0.7[Coul2,white];Dixiemes=\useKV[VisMulDec]{Dixiemes};}]
+ vardef RecupererDonnees(text t)=
+ nbs:=0;
+ nbd:=0;
+ for p_=t:
+ if string p_:
+ nbs:=nbs+1;
+ Nombres[nbs]=p_;
+ else:
+ nbd:=nbd+1;
+ Decimaux[nbd]=p_;
+ fi;
+ endfor;
+ enddef;
+
+ RecupererDonnees(#1);
+
+ pair A,B,C,D;
+ A=(0,0);
+ B-A=Unite*(Decimaux[1],0);
+ D-A=Unite*(0,Decimaux[2]);
+ C-D=B-A;
+ fill polygone(A,Unite*(1,0),Unite*(1,1),Unite*(0,1)) withcolor Coul3;
+ drawoptions(withcolor Coul1);
+ pasx=0.1;
+ pasy=0.1;
+ if (Dixiemes and ((Decimaux[1]*10) mod 10=0)):
+ pasy:=1;
+ fi;
+ if (Dixiemes and ((Decimaux[2]*10) mod 10=0)):
+ pasx:=1;
+ fi;
+ for k=0 step pasx until Decimaux[1]:
+ trace (A--(Unite*(0,Decimaux[2]))) shifted(k*Unite*(1,0));
+ endfor;
+ for k=0 step pasy until Decimaux[2]:
+ trace (A--(Unite*(Decimaux[1],0))) shifted(k*Unite*(0,1));
+ endfor;
+ drawoptions(withpen pencircle scaled 1.2 withcolor Coul2);
+ for k=0 upto Decimaux[1]:
+ trace (A--(Unite*(0,Decimaux[2]))) shifted(k*Unite*(1,0));
+ endfor;
+ for k=0 upto Decimaux[2]:
+ trace (A--(Unite*(Decimaux[1],0))) shifted(k*Unite*(0,1));
+ endfor;
+ drawoptions();
+ trace cotation(A,B,-5mm,-3mm,LATEX("\num{"&Nombres[1]&"}"));
+ trace cotation(A,D,5mm,5mm,LATEX("\num{"&Nombres[2]&"}") rotated -90);
+ \end{mpost}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCVueCubes.tex b/macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
index 5f284e051e..9365b7e621 100644
--- a/macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
@@ -1,30 +1,105 @@
%%%
% Vue Cubes
%%%
-\setKVdefault[VueCubes]{Solution=false,Hauteur=5,Profondeur=4,Largeur=3,Angle=60,Nom=Ex1,Trou=false,Echelle=0.25,CouleurCube=LightSteelBlue,CouleurFleche=LightGray,Face=false,Creation=false,Grilles=false,Seul=false}
+\setKVdefault[VueCubes]{Solution=false,Hauteur=5,Profondeur=4,Largeur=3,Angle=60,Nom=Ex1,Trou=false,Echelle=0.25,CouleurCube=LightSteelBlue,CouleurFleche=LightGray,Face=false,Creation=false,Grilles=false,Seul=false,Perso=false,EclateX=0,EclateZ=0,EclateY=0}
\newtoks\toklisteVueCube%
\def\UpdatetoksVueCube#1\nil{\addtotok\toklisteVueCube{#1,}}%
+\def\UpdatetoksEmpilementPerso#1\nil{\addtotok\toklisteVueCube{"#1",}}%
\NewDocumentCommand\VueCubes{o m}{%
\useKVdefault[VueCubes]%
- \setKV[VueCubes]{#1}
- \ifboolKV[VueCubes]{Solution}{%
- \BuildVueCubesSolution%
+ \setKV[VueCubes]{#1}%
+ \toklisteVueCube{}%
+ \ifboolKV[VueCubes]{Perso}{%
+ \setsepchar[*]{,*/}\ignoreemptyitems%
+ \readlist*\ListeCouches{#2}%
+ \reademptyitems%
+ \foreachitem\compteur\in\ListeCouches{%
+ \foreachitem\compteurdeux\in\ListeCouches[\compteurcnt]{%
+ \expandafter\UpdatetoksEmpilementPerso\compteurdeux\nil%
+ }%
+ }%
+ \BuildMPEmpilementPerso{\the\toklisteVueCube}{\ListeCoucheslen}{\listlen\ListeCouches[1]}%
}{%
- \ifboolKV[VueCubes]{Creation}{%Le nombre de données doit être compatible avec le "volume du pavé droit"
- \ignoreemptyitems%
- \readlist*\PfCListeHauteursCubes{#2}%
- \reademptyitems%
- \toklisteVueCube{}%
- \foreachitem\compteur\in\PfCListeHauteursCubes{\expandafter\UpdatetoksVueCube\compteur\nil}%
- \BuildVueCubes{\useKV[VueCubes]{Angle}}{\the\toklisteVueCube}%
+ \ifboolKV[VueCubes]{Solution}{%
+ \BuildVueCubesSolution%
}{%
- \BuildVueCubes{\useKV[VueCubes]{Angle}}{}%
+ \ifboolKV[VueCubes]{Creation}{%Le nombre de données doit être compatible avec le "volume du pavé droit"
+ \ignoreemptyitems%
+ \readlist*\PfCListeHauteursCubes{#2}%
+ \reademptyitems%
+ \foreachitem\compteur\in\PfCListeHauteursCubes{\expandafter\UpdatetoksVueCube\compteur\nil}%
+ \BuildVueCubes{\useKV[VueCubes]{Angle}}{\the\toklisteVueCube}%
+ }{%
+ \BuildVueCubes{\useKV[VueCubes]{Angle}}{}%
+ }%
}%
}%
}%
+\NewDocumentCommand{\BuildMPEmpilementPerso}{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ nbcouches=#2;
+ nblignes:=#3;
+
+ input PfCSolid;
+
+ intensite:=1.5;
+
+ Ferme[0]:=false;
+ outcolor:=\useKV[VueCubes]{CouleurCube};%
+ incolor:=white;
+ nb:=1;subh:=1;
+ creux:=true;
+
+ Phi := \useKV[VueCubes]{Angle};
+ Echelle:=\useKV[VueCubes]{Echelle};
+ EclateX:=\useKV[VueCubes]{EclateX};
+ EclateY:=\useKV[VueCubes]{EclateY};
+ EclateZ:=\useKV[VueCubes]{EclateZ};
+
+ string LesSymboles[];
+ string LesLignes[][];
+
+ TotalObj:=0;
+
+ vardef CreationSolide(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ LesSymboles[n]=p_;
+ endfor;
+ for l=nbcouches downto 1:
+ for k=nblignes downto 1:
+ LesLignes[l][k]=LesSymboles[(nbcouches-l)*nblignes+(nblignes-k+1)];
+ endfor;
+ endfor;
+ for l=nbcouches downto 1:
+ for k=nblignes downto 1:
+ for m=0 upto (length(LesLignes[l][k])-1):
+ if (substring((m,m+1)) of LesLignes[l][k])="x":
+ TotalObj:=incr TotalObj;
+ TR:=(Echelle*(nblignes-k)+Echelle*(nblignes-k)*EclateX,Echelle*(m+m*EclateY),Echelle*l-Echelle*(nbcouches-l)*EclateZ);
+ ObjetDeplacement[TotalObj](0);
+ fi;
+ endfor;
+ endfor;
+ endfor;
+ enddef;
+
+ Initialisation(2500,Phi,20,50);
+ Objetcube0("a="&decimal(Echelle));
+
+ CreationSolide(#1);
+ nbobj:=TotalObj;
+ DessineFusion;
+ \end{mplibcode}
+ \fi
+}
+
\NewDocumentCommand\BuildVueCubes{m m}{%
\ifluatex
\mplibforcehmode
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index d09cfda988..ca3b52ba9a 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/03/24}%
+\def\filedate{2024/05/18}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-b}%
+\def\fileversion{0.99-A-f}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -39,7 +39,7 @@
% mathématiques
\RequirePackage{siunitx}%
\sisetup{%
- locale=FR,%mode = match,
+ locale=FR,mode = match,
propagate-math-font = true,%
reset-math-version = false, reset-text-family = false,%
reset-text-series = false, reset-text-shape = false,%
@@ -165,18 +165,6 @@
\def\bla{}%JCC :) Pour les tests sur arguments vides
-%% Colorer en mode mathématique. \color ne gère pas les espaces propres au mode mathématique. Donc besoin de changer
-% https://tex.stackexchange.com/questions/21598/how-to-color-math-symbols
-%\makeatletter%
-%\def\mathcolor#1#{\@mathcolor{#1}}%
-%\def\@mathcolor#1#2#3{%
-% \protect\leavevmode%
-% \begingroup%
-% \color#1{#2}#3%
-% \endgroup%
-%}%
-%\makeatother%
-
% Pb ProfCollege<->Chinois soulev\'e par Denis
% Solution by egreg :)
\newcommand\getstrut[1]{%
@@ -326,12 +314,31 @@
\IfNoValueTF{#1}{\Dotfill}{\makebox[#1]{\Dotfill}}%
}%
-\NewDocumentCommand\Lignespointilles{m}{%
- \xintifboolexpr{\fpeval{#1}>1}{%
- \xintFor* ##1 in {\xintSeq {1}{\fpeval{#1}}}\do{%
- \pointilles\par%
- }%
+\NewDocumentCommand\PfCNbLignesRestantes{}{%
+ \edef\measurepage{\dimexpr\pagegoal-\pagetotal\relax}%
+ \xintifboolexpr{\fpeval{\the\measurepage}>\fpeval{\the\textheight}}{%
+ \edef\measurepage{\dimexpr\textheight\relax}%
}{}%
+ \xdef\PfCResteLignes{\fpeval{trunc((\the\measurepage)/(\baselineskip),0)}}%
+}%
+
+\NewDocumentCommand\PfCLignesFinales{}{%
+ \PfCNbLignesRestantes%
+ \xintFor* ##1 in {\xintSeq {1}{\PfCResteLignes}}\do{%
+ \pointilles\par%
+ }%
+}%
+
+\NewDocumentCommand\Lignespointilles{m}{%
+ \ifx\bla#1\bla%
+ \par\PfCLignesFinales%
+ \else%
+ \xintifboolexpr{\fpeval{#1}>1}{%
+ \xintFor* ##1 in {\xintSeq {1}{#1}}\do{%
+ \pointilles\par%
+ }%
+ }{}%
+ \fi
}%
%https://tex.stackexchange.com/questions/128991/frac-or-inference-rule-with-dotted-line
@@ -481,16 +488,76 @@
\day=\the\PfCrappeljour\relax%
}
-\newcommand\MelangeLettres[2]{%
+\NewDocumentCommand\MelangeLettres{smm}{%
% #2 Nombre d'éléments à conserver
+ % #3 Nom de la commande qui reçoit la liste.
\setsepchar{,}\ignoreemptyitems%
\readlist*\ListeInter{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}%
\xdef\faa{}% Liste construite
\xdef\fii{}% Liste détruite
- \xintFor* ##1 in {\xintSeq{1}{#1}}\do{%
+ \IfBooleanTF{#1}{%
+ \xintFor* ##1 in {\xintSeq{1}{#2}}\do{%
+ \xintifboolexpr{\ListeInterlen>1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea],}%
+ \xdef\fii{}%
+ \xintFor* ##2 in {\xintSeq{1}{\ListeInterlen}}\do{%
+ \xintifboolexpr{##2 == \Alea}{%
+ }{%
+ \xdef\fii{\fii \ListeInter[##2],}%
+ }%
+ }%
+ }{%
+ \xdef\faa{\faa\ListeInter[1]}%
+ }%
+ \readlist*\ListeInter{\fii}%
+ }%
+ }{%
+ \xintFor* ##1 in {\xintSeq{1}{#2}}\do{%
+ \xintifboolexpr{\ListeInterlen>1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea]}%
+ \xdef\fii{}%
+ \xintFor* ##2 in {\xintSeq{1}{\ListeInterlen}}\do{%
+ \xintifboolexpr{##2 == \Alea}{%
+ }{%
+ \xdef\fii{\fii \ListeInter[##2],}%
+ }%
+ }%
+ }{%
+ \xdef\faa{\faa\ListeInter[1]}%
+ }%
+ \readlist*\ListeInter{\fii}%
+ }%
+ }%
+ \xdef#3{\faa}%
+}%
+
+\NewDocumentCommand\MelangeListe{smm}{%
+ \IfBooleanTF{#1}{%
+ %Si on cherche un seul élément, on peut l'utiliser directement
+ \MelangeListeOne{#2}{#3}%
+ }{%
+ \MelangeListeNoOne{#2}{#3}%
+ }%
+}
+
+\NewDocumentCommand\MelangeListeOne{mm}{%
+ % #1 Liste à mélanger
+ % #2 Nombre d'éléments à conserver
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeInter{#1}%
+ \xdef\faa{}% Liste construite
+ \xdef\fii{}% Liste détruite
+ % on crée les #2 premieres solutions.
+ \xintFor* ##1 in {\xintSeq{1}{#2}}\do{%
\xintifboolexpr{\ListeInterlen>1}{%
\xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
- \xdef\faa{\faa\ListeInter[\Alea]}%
+ \ifnum\fpeval{##1}=1\relax
+ \xdef\faa{\ListeInter[\Alea]}%
+ \else
+ \xdef\faa{\faa,\ListeInter[\Alea]}%
+ \fi
\xdef\fii{}%
\xintFor* ##2 in {\xintSeq{1}{\ListeInterlen}}\do{%
\xintifboolexpr{##2 == \Alea}{%
@@ -499,14 +566,14 @@
}%
}%
}{%
- \xdef\faa{\faa\ListeInter[1]}%
+ \xdef\faa{\faa,\ListeInter[1]}%
}%
\readlist*\ListeInter{\fii}%
}%
- \xdef#2{\faa}%
+ \reademptyitems%
}%
-\newcommand\MelangeListe[2]{%
+\NewDocumentCommand\MelangeListeNoOne{mm}{%
% #1 Liste à mélanger
% #2 Nombre d'éléments à conserver
\setsepchar{,}\ignoreemptyitems%
@@ -759,6 +826,9 @@
\def\PfCSymbolTimes{\times}%
\def\PfCSymbolDiv{\div}%
+\input{PfCVisualisationMulDeci}
+\input{PfCArbreChiffre}
+\input{PfCAssemblagesSolides}
\input{PfCTicketCaisse}
\input{PfCRecyclage}
\input{PfCDontCountDots}
diff --git a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
index 3b47a88983..fd2fbe0f2d 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
@@ -42,6 +42,263 @@ Transparence:=false;
boolean couleurz;%pour grer l'affichage "des lignes" de niveaux
couleurz:=false;
+ vardef AffichageObjetCylindre[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]:
+% label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ if cpt[k]<1:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25;
+ fi;
+ if cpt[k]>1:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+ vardef AffichageObjetCylindreSansBase[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]:
+% label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ %if cpt[k]<1:
+ %draw for l=1 upto Fc[cpt[k]].nb:
+ % Projette(Fc[cpt[k]][l])--
+ % endfor
+ % cycle withpen pencircle scaled0.25;
+ % fi;
+ if cpt[k]>1:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+vardef AffichageObjetCone[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ n:=0;
+ for k=0 upto tapj:
+ if Vue[cpt[k]]:
+ %label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ if cpt[k]>0:
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]:=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+ enddef;
+
+ vardef AffichageObjetConeAvecBase[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 upto tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2])
+ dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25bp;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 upto tapj:
+ if Vue[cpt[k]]:
+ %label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ if cpt[k]>0:
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]:=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+ vardef AffichageObjetCalotte[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ minvue:=4000;
+ for k=1 step 1 until tapj:
+ if cpt[k]>1:
+ if Vue[cpt[k]]:
+ if cpt[k]<minvue:
+ minvue:=cpt[k];
+ fi;
+ fi;
+ fi;
+ endfor;
+ for k=0 upto 11:
+ draw for l=1 upto 2:%Fc[minvue+k*72].nb:
+ Projette(Fc[minvue+k*72][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25bp;
+ draw for l=3 upto 4:%Fc[minvue+k*72].nb:
+ Projette(Fc[minvue+35+k*72][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25bp;
+ endfor;
+enddef;
+
vardef AffichagePfC[]=
save _affi;
picture _affi;
diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
index 2a7ce304e2..6e2e7beb59 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
@@ -1689,8 +1689,11 @@ $=image(
fill cadre withcolor if print : coefprint*White else : if unknown colControle : LightOrange else : colControle fi fi;
draw cadre withcolor if print : coefprint*White else : if unknown colControle : LightOrange else : colControle fi fi;
AA:=ahangle;
- ahangle:=90;
- drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled2bp if print=false : withcolor white fi;
+ BB:=ahlength;
+ ahangle:=90;%90
+ ahlength:=ahlength/2;
+% drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled1.5 if print=false : withcolor white fi;
+ drawarrow (lrcorner texto+(-0.25cm,0.15cm)){dir-30}..{dir90}(urcorner texto+(-0.125cm,-0.1cm)) withpen pencircle scaled1 if print=false : withcolor white fi;
ahangle:=AA;
draw (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}..
{dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))--
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index d83649de1a..000537a0d4 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
index f8e331e0a6..5e6698109f 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index be9319048d..f622238309 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,10 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2024/03/30 3.03c Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2024/05/09 3.04b Aide pour l'utilisation de LaTeX en lycee]
+% 3.04b Travail sur la loi binomiale + Ajout de clés pour les environnements graphiques
+% 3.04a Améliorations de la partie graphiques tikz (intégrales, axes) + Factorielle
+% 3.03d Page de garde type BAC
% 3.03c Correction du fonctionnement gobble avec piton + compatibilité luamplib PfC
% 3.03b Compétences Maths Lycées + \pflnum pour num+xint :-) + correction de bugs (div eucl)
% 3.03a Forme canonique + fonction homographique
@@ -227,5 +230,7 @@
\input{proflycee-tools-recreat.tex}
%%------Compétences
\input{proflycee-tools-competences.tex}
+%%------Examens
+\input{proflycee-tools-exams.tex}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
index 19d13ab932..4d4a50eca3 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
@@ -85,8 +85,18 @@
\newcommand\NbAlea[4][0]{%entier ou décimal
\xintifboolexpr{#1 == 0}%
- {\xdef#4{\fpeval{randint(#2,#3)}}}%
- {\xdef#4{\fpeval{round(randint(#2,#3)+rand(),#1)}}}%
+ {%
+ \xdef#4{\fpeval{randint(#2,#3)}}%
+ }%
+ {%
+ \xintifboolexpr{(#3-#2) == 1}%
+ {%
+ \xdef#4{\fpeval{round(#2+rand(),#1)}}%
+ }%
+ {%
+ \xdef#4{\fpeval{round(randint(#2,#3)+rand(),#1)}}%
+ }%
+ }%
}
\newcommand\VarNbAlea[2]{%
\xdef#1{\fpeval{#2}}%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index 5e1f246ab3..ade88434c2 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -574,6 +574,36 @@
}%
}
+%===intégrale 'brute'
+\NewDocumentCommand\CalcIntegrale{ s O{} D<>{50} m m m }{%
+ \xintdeffloatfunc varfct(x) := #4 ;%
+ \def\TmpNmU{\xinteval{(#3)-1}}%
+ \def\TmpRes{\xintfloateval{(#6-#5)/(6*(#3))*(2*add(varfct(#5+i*(#6-#5)/(#3)),i=1..\TmpNmU)+varfct(#5)+varfct(#6)+4*add(varfct(#5+(i+0.5)*(#6-#5)/(#3)), i=0..\TmpNmU))}}%
+ \IfStrEq{#2}{}%
+ {%
+ \IfBooleanTF{#1}{\num{\TmpRes}}{\TmpRes}%
+ }%
+ {%
+ \IfBooleanTF{#1}{\num{\xintfloateval{round(\TmpRes,#2)}}}{\xintfloateval{round(\TmpRes,#2)}}%
+ }%
+ \relax
+}
+
+%===intégrale 'brute'
+\NewDocumentCommand\ValeurMoyenneIntg{ s O{} D<>{50} m m m }{%
+ \xintdeffloatfunc varfct(x) := #4 ;%
+ \def\TmpNmU{\xinteval{(#3)-1}}%
+ \def\TmpRes{\xintfloateval{(1)/(6*(#3))*(2*add(varfct(#5+i*(#6-#5)/(#3)),i=1..\TmpNmU)+varfct(#5)+varfct(#6)+4*add(varfct(#5+(i+0.5)*(#6-#5)/(#3)), i=0..\TmpNmU))}}%
+ \IfStrEq{#2}{}%
+ {%
+ \IfBooleanTF{#1}{\num{\TmpRes}}{\TmpRes}%
+ }%
+ {%
+ \IfBooleanTF{#1}{\num{\xintfloateval{round(\TmpRes,#2)}}}{\xintfloateval{round(\TmpRes,#2)}}%
+ }%
+ \relax
+}
+
%==intégrale tikz==
\defKV[methodeintegrtkz]{%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
index f013ab3d07..a021fea937 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
@@ -672,8 +672,8 @@
\NewDocumentCommand\InverseModulo{ s m m }{%
\xdef\PGCDD{\xinteval{gcd(#2,#3)}}%
- \xdef\resinvmod{#2{} n'est pas inversible modulo #3.}
- \xintFor* ##1 in {\xintSeq{1}{#3}}\do{\xintifboolexpr{\xintiiRem{\xinteval{#2*##1}}{#3} == 1}{\xdef\resinvmod{##1}}{}}%
+ \xdef\resinvmod{#2{} n'est pas inversible modulo #3.}%
+ \xintFor* ##1 in {\xintSeq{1}{#3}}\do{\xintifboolexpr{\xintiiRem{\xinteval{#2*##1}}{#3} == 1}{\xdef\resinvmod{##1}}{}}%
\IfBooleanTF{#1}%
{%
On a $\text{PGCD}(#2;#3)=\num{\PGCDD}$.~%
@@ -696,7 +696,7 @@
\ifboolKV[chiffaffine]{Dechiffr}%
{%
\xdef\resinvmod{0}%
- \xintFor* ##1 in {\xintSeq{1}{\tmpmodulo}}\do{
+ \xintFor* ##1 in {\xintSeq{1}{\tmpmodulo}}\do{%
\xintifboolexpr{\xintiiRem{\xinteval{(\tmpcoeffa)*(##1)}}{\tmpmodulo} == 1}%
{\xdef\resinvmod{##1}}{}%
}%
@@ -1512,4 +1512,394 @@
{}%
}
+%====FACTORIELLE
+\defKV[calcfactorielle]{ChSignif=\def\factochfsign{#1},Sens=\def\factochfsens{#1}}
+\setKVdefault[calcfactorielle]{%
+ Complet=false,%
+ Enonce=false,%
+ Partiel=false,%
+ Grand=false,%
+ ChSignif=9,%
+ Espace=\mkern1.5mu\relax,%
+ Sens=m
+}
+
+\NewDocumentCommand\Factorielle{ s O{} m }{%
+ \restoreKV[calcfactorielle]%
+ \setKV[calcfactorielle]{#2}%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \xdef\tmpres{\xintfloateval[\factochfsign]{factorial(#3)}}%
+ }%
+ {%
+ \xdef\tmpres{\xinteval{factorial(#3)}}%
+ }%
+ \ensuremath{%
+ \ifboolKV[calcfactorielle]{Enonce}%
+ {%
+ \IfBooleanTF{#1}{#3\useKV[calcfactorielle]{Espace}!}{\num{#3}\useKV[calcfactorielle]{Espace}!}=
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Partiel}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1 \times 2 \times \ldots \times \xinteval{#3-1} \times #3 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{#3 \times \xinteval{#3-1} \times \ldots \times 2 \times 1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1 \times 2 \times \ldots \times \num{\xinteval{#3-1}} \times \num{#3} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{\num{#3} \times \num{\xinteval{#3-1}} \times \ldots \times 2 \times 1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Complet}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1 \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times ##1} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{##1 \times} 1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1 \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times \num{##1}} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{\num{##1} \times} 1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ }%
+ {}%
+ \IfBooleanTF{#1}%
+ {%
+ \tmpres%
+ }%
+ {%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \num[scientific-notation=true]{\tmpres}%
+ }%
+ {%
+ \num{\tmpres}%
+ }%
+ }%
+ }%
+}
+
+\NewDocumentCommand\Primorielle{ s O{} m }{%
+ \restoreKV[calcfactorielle]%
+ \setKV[calcfactorielle]{#2}%
+ \def\tmpres{1}%
+ \xintFor* ##1 in {\xintSeq{1}{#3}}\do{%
+ \pgfmathisprime{##1}\ifnum\pgfmathresult=1\xdef\tmpres{\xinteval{\tmpres*##1}}\fi%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \xdef\tmpres{\xintfloateval[\factochfsign]{\tmpres}}%
+ }%
+ {}%
+ \ensuremath{%
+ \ifboolKV[calcfactorielle]{Enonce}%
+ {%
+ \IfBooleanTF{#1}{#3\#}{\num{#3}\#}=
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Complet}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 2 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{\pgfmathisprime{##1}\ifnum\pgfmathresult=1\times##1\fi} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{\pgfmathisprime{##1}\ifnum\pgfmathresult=1##1\times\fi} 2 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 2 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{\pgfmathisprime{##1}\ifnum\pgfmathresult=1\times\num{##1}\fi} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{\pgfmathisprime{##1}\ifnum\pgfmathresult=1\num{##1}\times\fi} 2 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ }%
+ {}%
+ \IfBooleanTF{#1}%
+ {%
+ \tmpres%
+ }%
+ {%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \num[scientific-notation=true]{\tmpres}%
+ }%
+ {%
+ \num{\tmpres}%
+ }%
+ }%
+ }%
+}
+
+\NewDocumentCommand\DoubleFactorielle{ s O{} m }{%
+ \restoreKV[calcfactorielle]%
+ \setKV[calcfactorielle]{#2}%
+ \def\tmpres{1}%
+ \xintFor* ##1 in {\xintSeq{1}{#3}}\do{%
+ \xintifboolexpr{\xintiiOdd{#3} == \xintiiOdd{##1} 'or' \xintiiEven{#3} == \xintiiEven{##1}}%
+ {%
+ \xdef\tmpres{\xinteval{\tmpres*##1}}%
+ }%
+ {}%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \xdef\tmpres{\xintfloateval[\factochfsign]{\tmpres}}%
+ }%
+ {}%
+ \ensuremath{%
+ \ifboolKV[calcfactorielle]{Enonce}%
+ {%
+ \IfBooleanTF{#1}{#3\useKV[calcfactorielle]{Espace}!!}{\num{#3}\useKV[calcfactorielle]{Espace}!!}=
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Complet}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ \xintifboolexpr{\xintiiOdd{#3} == 1}%
+ {%
+ 1 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} == 1}{\times##1}{}%
+ }%
+ }%
+ {%
+ 2 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} != 1}{\times##1}{}%
+ }%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}{\approx}{=}%
+ }%
+ {%
+ \xintifboolexpr{\xintiiOdd{#3} == 1}%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} == 1}{##1\times}{}%
+ }1%
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} != 1}{##1\times}{}%
+ }2%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}{\approx}{=}%
+ }%
+ }%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ \xintifboolexpr{\xintiiOdd{#3} == 1}%
+ {%
+ 1 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} == 1}{\times\num{##1}}{}%
+ }%
+ }%
+ {%
+ 2 \xintFor* ##1 in {\xintSeq{3}{#3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} != 1}{\times\num{##1}}{}%
+ }%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}{\approx}{=}%
+ }%
+ {%
+ \xintifboolexpr{\xintiiOdd{#3} == 1}%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} == 1}{\num{##1}\times}{}%
+ }1%
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{3}}\do{%
+ \xintifboolexpr{\xintiiOdd{##1} != 1}{\num{##1}\times}{}%
+ }2%
+ }%
+ \ifboolKV[calcfactorielle]{Grand}{\approx}{=}%
+ }%
+ }%
+ }%
+ {}%
+ \IfBooleanTF{#1}%
+ {%
+ \tmpres%
+ }%
+ {%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \num[scientific-notation=true]{\tmpres}%
+ }%
+ {%
+ \num{\tmpres}%
+ }%
+ }%
+ }%
+}
+
+\NewDocumentCommand\HyperFactorielle{ s O{} m }{%
+ \restoreKV[calcfactorielle]%
+ \setKV[calcfactorielle]{#2}%
+ \def\tmpres{1}%
+ \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\xdef\tmpres{\xinteval{\tmpres*(##1)^(##1)}}}%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \xdef\tmpres{\xintfloateval[\factochfsign]{\tmpres}}%
+ }%
+ {}%
+ \ensuremath{%
+ \ifboolKV[calcfactorielle]{Enonce}%
+ {%
+ \IfBooleanTF{#1}{\text{H}(#3)}{\text{H}(\rm{#3})}=
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Partiel}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1^1 \times 2^2 \times \ldots \times \xinteval{#3-1}^{\xinteval{#3-1}} \times #3^{#3} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{#3^{#3} \times \xinteval{#3-1}^{\xinteval{#3-1}} \times \ldots \times 2^2 \times 1^1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1 \times 2 \times \ldots \times \num{\xinteval{#3-1}}^{\num{\xinteval{#3-1}}} \times \num{#3}^{\num{#3}} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{\num{#3}^{\num{#3}} \times \num{\xinteval{#3-1}}^{\num{\xinteval{#3-1}}} \times \ldots \times 2^2 \times 1^1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Complet}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1^1 \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times ##1^{##1}} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{##1^{##1} \times} 1^1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1^1 \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times \num{##1}^{\num{##1}}} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{\num{##1}^{\num{##1}} \times} 1^1 \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ }%
+ {}%
+ \IfBooleanTF{#1}%
+ {%
+ \tmpres%
+ }%
+ {%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \num[scientific-notation=true]{\tmpres}%
+ }%
+ {%
+ \num{\tmpres}%
+ }%
+ }%
+ }%
+}
+
+\NewDocumentCommand\SuperFactorielle{ s O{} m }{%
+ \restoreKV[calcfactorielle]%
+ \setKV[calcfactorielle]{#2}%
+ \def\tmpres{1}%
+ \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\xdef\tmpres{\xinteval{\tmpres*factorial(##1)}}}%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \xdef\tmpres{\xintfloateval[\factochfsign]{\tmpres}}%
+ }%
+ {}%
+ \ensuremath{%
+ \ifboolKV[calcfactorielle]{Enonce}%
+ {%
+ \IfBooleanTF{#1}{\text{sf}(#3)}{\text{sf}(\num{#3})}=
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Partiel}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1\useKV[calcfactorielle]{Espace}! \times 2\useKV[calcfactorielle]{Espace}! \times \ldots \times \xinteval{#3-1}\useKV[calcfactorielle]{Espace}! \times #3\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{#3\useKV[calcfactorielle]{Espace}! \times \xinteval{#3-1}\useKV[calcfactorielle]{Espace}! \times \ldots \times 2\useKV[calcfactorielle]{Espace}! \times 1\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ {%
+ \IfStrEqCase{\factochfsens}{%
+ {m}{1\useKV[calcfactorielle]{Espace}! \times 2\useKV[calcfactorielle]{Espace}! \times \ldots \times \num{\xinteval{#3-1}}\useKV[calcfactorielle]{Espace}! \times \num{#3}\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ {d}{\num{#3}\useKV[calcfactorielle]{Espace}! \times \num{\xinteval{#3-1}}\useKV[calcfactorielle]{Espace}! \times \ldots \times 2\useKV[calcfactorielle]{Espace}! \times 1\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}}%
+ }%
+ }%
+ }%
+ {}%
+ \ifboolKV[calcfactorielle]{Complet}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1\useKV[calcfactorielle]{Espace}! \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times ##1\useKV[calcfactorielle]{Espace}!} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{##1\useKV[calcfactorielle]{Espace}! \times} 1\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ {%
+ \IfStrEq{\factochfsens}{m}%
+ {%
+ 1\useKV[calcfactorielle]{Espace}! \xintFor* ##1 in {\xintSeq{2}{#3}}\do{\times \num{##1}\useKV[calcfactorielle]{Espace}!} \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ {%
+ \xintFor* ##1 in {\xintSeq{#3}{2}}\do{\num{##1}\useKV[calcfactorielle]{Espace}! \times} 1\useKV[calcfactorielle]{Espace}! \ifboolKV[calcfactorielle]{Grand}{\approx}{=}
+ }%
+ }%
+ }%
+ {}%
+ \IfBooleanTF{#1}%
+ {%
+ \tmpres%
+ }%
+ {%
+ \ifboolKV[calcfactorielle]{Grand}%
+ {%
+ \num[scientific-notation=true]{\tmpres}%
+ }%
+ {%
+ \num{\tmpres}%
+ }%
+ }%
+ }%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-exams.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-exams.tex
new file mode 100644
index 0000000000..940c64d0a4
--- /dev/null
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-exams.tex
@@ -0,0 +1,152 @@
+% proflycee-tools-stats.tex
+% Copyright 2024 Cédric Pierquet
+% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+
+%3.03d Page de garde Type BAC
+
+%====PAGE GARDE [BAC]
+\defKV[EnteteSujetBac]{DernierePage=\def\packlastpage{#1},NbExos=\def\packnbexos{#1},Serie=\def\packfiliere{#1}}
+\setKVdefault[EnteteSujetBac]{%
+ Police=\normalfont,%
+ Serie={GÉNÉRAL},%
+ Matiere=MATHÉMATIQUES,%
+ Filiere={SCIENCES ET TECHNOLOGIES DE L’INDUSTRIE ET DU DÉVELOPPEMENT DURABLE},%
+ Session={SESSION \the\year},%
+ AffSession=true,%
+ Jour={Jour 1},%
+ AffJour=true,%
+ Duree=4 heures,%
+ ModeExamen=true,%
+ DernierePage=lastpage,%
+ Justification=true,%
+ TraceRecherche=true,%
+ Clarte=true,%
+ NbExos=4,%
+ Traiter=false,%
+ EspaceAvant=1cm,%
+ LargeurPar={0.85\linewidth}
+}
+
+\NewDocumentCommand\PageGardeSujetBac{ O{} }{%
+ \restoreKV[EnteteSujetBac]%
+ \setKV[EnteteSujetBac]{#1}%
+ \useKV[EnteteSujetBac]{Police}{%
+ \vspace*{\useKV[EnteteSujetBac]{EspaceAvant}}
+
+ \begin{center}
+ {\Huge BACCALAURÉAT~%
+ \IfSubStr{\packfiliere}{GÉN}{GÉNÉRAL}{}%
+ \IfSubStr{\packfiliere}{GEN}{GÉNÉRAL}{}%
+ \IfSubStr{\packfiliere}{TECHNO}{TECHNOLOGIQUE}{}%
+ \IfSubStr{\packfiliere}{PRO}{PROFESSIONNEL}{}%
+ }%
+ \IfSubStr{\packfiliere}{PRO}%
+ {}%
+ {%
+ \vspace*{10mm}
+
+ {\Large ÉPREUVE D’ENSEIGNEMENT DE SPÉCIALITÉ}%
+ }%
+
+ \ifboolKV[EnteteSujetBac]{AffSession}%
+ {%
+ \vspace*{10mm}
+
+ {\Large\bfseries\useKV[EnteteSujetBac]{Session}}%
+ }%
+ {}%
+ \IfSubStr{\packfiliere}{TECHNO}%
+ {%
+ \vspace*{10mm}
+
+ \begin{minipage}{\useKV[EnteteSujetBac]{LargeurPar}}
+ \centering
+ \linespread{1.2}\LARGE\bfseries\useKV[EnteteSujetBac]{Filiere}
+ \end{minipage}%
+ }%
+ {}%
+ \IfSubStr{\packfiliere}{PRO}%
+ {%
+ \vspace*{10mm}
+
+ \begin{minipage}{\useKV[EnteteSujetBac]{LargeurPar}}
+ \centering
+ \linespread{1.2}\LARGE\bfseries\useKV[EnteteSujetBac]{Filiere}
+ \end{minipage}%
+ }%
+ {}%
+ \vspace*{15mm}
+
+ {\LARGE\bfseries \useKV[EnteteSujetBac]{Matiere}}
+
+ \ifboolKV[EnteteSujetBac]{AffJour}%
+ {%
+ \vspace*{15mm}
+
+ {\Large\bfseries \useKV[EnteteSujetBac]{Jour}}%
+ }%
+ {}%
+
+ \vspace*{15mm}
+
+ Durée de l’épreuve : \textbf{\useKV[EnteteSujetBac]{Duree}}%
+
+ \vspace*{15mm}
+
+ \ifboolKV[EnteteSujetBac]{ModeExamen}%
+ {%
+ \textit{L’usage de la calculatrice avec mode examen actif est autorisé.}
+
+ \medskip
+
+ \textit{L’usage de la calculatrice sans mémoire « type collège » est autorisé.}
+ }%
+ {%
+ \textit{L’usage de la calculatrice avec ou sans mode examen est autorisé.}
+ }%
+ \vspace*{10mm}
+
+ Dès que ce sujet vous est remis, assurez-vous qu’il est complet.
+
+ \smallskip
+
+ Ce sujet comporte \IfStrEqCase{\packlastpage}{{lastpage}{\pageref{LastPage}}{zref}{\zpageref{LastPage}}}[\packlastpage]\ pages numérotées de 1/\IfStrEqCase{\packlastpage}{{lastpage}{\pageref{LastPage}}{zref}{\zpageref{LastPage}}}[\packlastpage]\ à \IfStrEqCase{\packlastpage}{{lastpage}{\pageref{LastPage}}{zref}{\zpageref{LastPage}}}[\packlastpage]/\IfStrEqCase{\packlastpage}{{lastpage}{\pageref{LastPage}}{zref}{\zpageref{LastPage}}}[\packlastpage].
+ \end{center}
+ %
+ \begin{center}
+ \parbox{\useKV[EnteteSujetBac]{LargeurPar}}{%
+ \ifboolKV[EnteteSujetBac]{Justification}%
+ {%
+ \vspace*{10mm}
+
+ \noindent\textbf{Sauf mention contraire, toute réponse devra être justifiée.}
+ }%
+ {}%
+ \ifboolKV[EnteteSujetBac]{Traiter}%
+ {%
+ \vspace*{5mm}
+
+ \noindent\textbf{Le candidat doit traiter les \IfStrEqCase{\packnbexos}{{2}{deux}{3}{trois}{4}{quatre}{5}{cinq}{6}{six}{7}{sept}}\ exercices proposés.}
+ }%
+ {}%
+ \ifboolKV[EnteteSujetBac]{TraceRecherche}%
+ {%
+ \vspace*{10mm}
+
+ \noindent\textit{Le candidat est invité à faire figurer sur la copie toute trace de recherche, même incomplète ou non fructueuse, qu’il aura développée.}
+ }%
+ {}%
+ \ifboolKV[EnteteSujetBac]{Clarte}%
+ {%
+ \vspace*{2mm}
+
+ \noindent\textit{La qualité de la rédaction, la clarté et la précision des raisonnements seront prises en compte dans l’appréciation de la copie. Les traces de recherche, même incomplètes ou infructueuses seront valorisées.}
+ }%
+ {}%
+ }%
+ \end{center}%
+ }%
+ \pagebreak
+}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
index 22775038e7..74a3e827ed 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
@@ -36,7 +36,7 @@
}
\NewDocumentCommand\PtsDiscontinuite{ O{} m }{%
- \useKVdefault[ptdiscont]
+ \restoreKV[ptdiscont]
\setKV[ptdiscont]{#1}%
\setsepchar[.]{§./}%
\readlist*\SPLlisteDiscont{#2}%
@@ -101,7 +101,7 @@
%1=liste
%2=num point début
%3=num point fin
- \useKVdefault[genspline]%
+ \restoreKV[genspline]%
\setKV[genspline]{#1}%
\setsepchar[.]{§./}%
\readlist*\SPLlistepoints{#2}%
@@ -156,7 +156,7 @@
\NewDocumentCommand\SplineTikz{ O{} m }{%
%\newcommand\SplineTikz[2][]{%
- \useKVdefault[spline]
+ \restoreKV[spline]
\setKV[spline]{#1}% on paramètres les nouvelles clés et on les simplifie
%on lit la liste des points/nbderivés et on stocke dans \listepoints
\setsepchar[.]{§./}%
@@ -219,7 +219,7 @@
}
\newcommand\TangenteTikz[2][]{%
- \useKVdefault[tgte]%
+ \restoreKV[tgte]%
\setKV[tgte]{#1}% on paramètres les nouvelles clés et on les simplifie
\setsepchar[.]{§./}%
\readlist*\TGTlistepoints{#2}%
@@ -308,26 +308,36 @@
}
\DeclareDocumentCommand\AxexTikz{ O{} m }{%
- \useKVdefault[PLaxextkz]
+ \restoreKV[PLaxextkz]
\setKV[PLaxextkz]{#1}% on paramètres les nouvelles clés et on les simplifie
%récupération des tickwidth H/B
\IfSubStr{\axextickwidth}{/}
{\StrCut{\axextickwidth}{/}{\axextickwidthA}{\axextickwidthB}}
{\def\axextickwidthA{\axextickwidth}\def\axextickwidthB{\axextickwidth}}
+ %====test====
+ \IfEq{#2}{auto}%
+ {%
+ \xdef\tmprangexvalues{\xintfloateval{seq(i,i=\xmin..[\xgrille]..\xmax)}}\StrDel{\tmprangexvalues}{ }[\tmprangexvalues]%
+ \setKV[PLaxextkz]{Trigo=false}%
+ }%
+ {%
+ \xdef\tmprangexvalues{#2}%
+ }%
+ %====fintest=
%en fonction de Trigo ou non
\ifboolKV[PLaxextkz]{Trigo}
- {
- \foreach \x in {#2}{%
+ {%
+ \foreach \x in \tmprangexvalues {%
\draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
\ifboolKV[PLaxextkz]{AffGrad}%on affiche les graduations
{%
node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{Dfrac}{$\AffAngleRadian*{\x}$}{$\AffAngleRadian{\x}$}}
}%
{}%
- ;}
- }
- {
- \foreach \x in {#2}{%
+ ;}%
+ }%
+ {%
+ \foreach \x in \tmprangexvalues {%
\draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
\ifboolKV[PLaxextkz]{AffGrad}%on affiche les graduations
{%
@@ -336,16 +346,16 @@
{\ifboolKV[PLaxextkz]{Annee}%
{\num[group-digits=none]{\x}}%
{\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
- }
- }
+ }%
+ }%
{\xintifboolexpr{\x==\axexOx}{}{node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{Annee}%
{\num[group-digits=none]{\x}}%
{\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
- }
- }
- }
- }
- {}
+ }%
+ }%
+ }%
+ }%
+ {}%
;}
}
@@ -371,26 +381,36 @@
}
\DeclareDocumentCommand\AxeyTikz{ O{} m }{%
- \useKVdefault[PLaxeytkz]
+ \restoreKV[PLaxeytkz]
\setKV[PLaxeytkz]{#1}% on paramètres les nouvelles clés et on les simplifie
\IfSubStr{\axeytickwidth}{/}
- {\StrCut{\axeytickwidth}{/}{\axeytickwidthA}{\axeytickwidthB}}
- {\def\axeytickwidthA{\axeytickwidth}\def\axeytickwidthB{\axeytickwidth}}
+ {\StrCut{\axeytickwidth}{/}{\axeytickwidthA}{\axeytickwidthB}}
+ {\def\axeytickwidthA{\axeytickwidth}\def\axeytickwidthB{\axeytickwidth}}
+ %====test====
+ \IfEq{#2}{auto}%
+ {%
+ \xdef\tmprangeyvalues{\xintfloateval{seq(i,i=\ymin..[\ygrille]..\ymax)}}\StrDel{\tmprangeyvalues}{ }[\tmprangeyvalues]%
+ }%
+ {%
+ \xdef\tmprangeyvalues{#2}%
+ }%
+ %====fintest=
+
\ifboolKV[PLaxeytkz]{Frac}%
{%
\ifboolKV[PLaxeytkz]{AffGrad}%on affiche les graduations
{%
- \foreach \y in {#2}
+ \foreach \y in \tmprangeyvalues
{\draw[line width=\axeywidth] ({\axeytickwidthA},{\y-\axeyOy}) -- ({-\axeytickwidthB},{\y-\axeyOy}) %
\xintifboolexpr{\y==\axeyOy}{}{node[\axeyposlabel,font=\axeyfont] {\ConversionFraction{\y}}} ;}
}%
{%
- \foreach \y in {#2}
+ \foreach \y in \tmprangeyvalues
{\draw[line width=\axeywidth] ({\axeytickwidthA},{\y-\axeyOy}) -- ({-\axeytickwidthB},{\y-\axeyOy}) ;}
}%
}%
{%
- \foreach \y in {#2}{%
+ \foreach \y in \tmprangeyvalues {%
\draw[line width=\axeywidth] ({\axeytickwidthA},{\y-\axeyOy}) -- ({-\axeytickwidthB},{\y-\axeyOy})%
\ifboolKV[PLaxeytkz]{AffGrad}%on affiche les graduations
{%
@@ -414,6 +434,12 @@
}%
}
+%axesOxoy
+\DeclareDocumentCommand\AxexyTikz{ O{} O{} m m }{%
+ \AxexTikz[#1]{#3}
+ \AxeyTikz[#2]{#4}
+}
+
%axes
\defKV[PLaxestkz]{%
Epaisseur=\def\axeswidth{#1},%
@@ -444,7 +470,7 @@
}
\DeclareDocumentCommand\AxesTikz{ O{} }{%
- \useKVdefault[PLaxestkz]
+ \restoreKV[PLaxestkz]
\setKV[PLaxestkz]{#1}%
%les petits élargissements
\IfSubStr{\axeselargx}{/}
@@ -490,7 +516,7 @@
}
\DeclareDocumentCommand\OrigineTikz{ O{} }{%
- \useKVdefault[PLaxesorig]%
+ \restoreKV[PLaxesorig]%
\setKV[PLaxesorig]{#1}%
\draw (0,0) node[\axesorpos=\axesordecal,font=\axesorfont] {\axesorval} ;
}
@@ -498,11 +524,12 @@
%grilles
\setKVdefault[PLgrillestkz]{%
Affp=true,%
- Affs=true
+ Affs=true,%
+ Dernier=false
}
\DeclareDocumentCommand\GrilleTikz{ O{} O{thin,lightgray} O{ultra thin,lightgray} }{%
- \useKVdefault[PLgrillestkz]
+ \restoreKV[PLgrillestkz]
\setKV[PLgrillestkz]{#1}%
\ifboolKV[PLgrillestkz]{Affs}
{\draw[xstep=\xgrilles,ystep=\ygrilles,#3] ({\xmin-\axexOx},{\ymin-\axeyOy}) grid ({\xmax-\axexOx},{\ymax-\axeyOy});}
@@ -510,6 +537,12 @@
\ifboolKV[PLgrillestkz]{Affp}
{\draw[xstep=\xgrille,ystep=\ygrille,#2] ({\xmin-\axexOx},{\ymin-\axeyOy}) grid ({\xmax-\axexOx},{\ymax-\axeyOy});}
{}
+ \ifboolKV[PLgrillestkz]{Dernier}
+ {%
+ \draw[#2] ({\xmin-\axexOx},{\ymax-\axeyOy}) -- ({\xmax-\axexOx},{\ymax-\axeyOy});%
+ \draw[#2] ({\xmax-\axexOx},{\ymin-\axeyOy}) -- ({\xmax-\axexOx},{\ymax-\axeyOy});%
+ }
+ {}
}
%point(s) avec changement origines
@@ -526,7 +559,7 @@
}
\newcommand\PLnuagepoints[2][]{%
- \useKVdefault[PLpts]
+ \restoreKV[PLpts]
\setKV[PLpts]{#1}%
\setsepchar{§}%
\readlist\listepointsaffiches{#2}
@@ -546,7 +579,7 @@
}
\newcommand\NuagePointsTikz[3][]{%
- \useKVdefault[PLpts]
+ \restoreKV[PLpts]
\setKV[PLpts]{#1}% on paramètres les nouvelles clés et on les simplifie
\def\xliste{#2}
\def\yliste{#3}
@@ -597,7 +630,7 @@
}
\newcommand\PointMoyenTikz[1][]{%
- \useKVdefault[PLptmoy]
+ \restoreKV[PLptmoy]
\setKV[PLptmoy]{#1}% on paramètres les nouvelles clés et on les simplifie
\IfStrEq{\ptmoystyle}{o}%
{
@@ -648,7 +681,7 @@
}
\DeclareDocumentCommand\FenetreSimpleTikz{ O{} D(){} D<>{} m D<>{} m }{%
- \useKVdefault[PLsimplewindow]%
+ \restoreKV[PLsimplewindow]%
\setKV[PLsimplewindow]{#1}% on paramètres les nouvelles clés et on les simplifie
\ifboolKV[PLsimplewindow]{Grille}%
{\GrilleTikz}%
@@ -664,6 +697,10 @@
\tikzset{declare function={#1(\x)=#2;}}
}
+\NewDocumentCommand\DeclareFonctionTikzXint{ O{f} m }{%nom_fonction+langage xint
+ \xintdeffloatfunc #1(x) := #2 ;%
+}
+
%====INTERVALLES TIKZ
\usetikzlibrary{decorations.pathmorphing,decorations.pathreplacing}
@@ -821,4 +858,92 @@
\end{scope}%
}
+%====Intégrale TikZ
+\defKV[IntegrDomainTikz]{%
+ Epaisseur=\def\intgdomtikzthick{#1},%
+ Couleurs=\def\intgdomtikzcolors{#1},%
+ Style=\def\intgdomtikzstyle{#1},%
+ Opacite=\def\intgdomtikzopac{#1},%
+ Samples=\def\intgdomtikzsamples{#1},%
+ Hachures=\def\intgdomtikzhatch{#1},%
+ Type=\def\intgdomtikztype{#1},%
+ Pas=\def\intgdomtikzstep{#1},%
+ Jonction=\def\intgdomtikzjoin{#1}
+}
+\setKVdefault[IntegrDomainTikz]{%
+ Epaisseur=1pt,%
+ Couleurs={gray/teal},%
+ Style=remplissage,%
+ Opacite=0.5,%
+ Samples=250,%
+ Hachures={north west lines},%
+ Type=dessous,%
+ Pas=0.1,%
+ Jonction=bevel
+}
+
+\NewDocumentCommand\IntegraleTikz{ O{} D<>{} m O{0} m m }{%
+ %1 = clés
+ %2 = options particulières tikz
+ %3 = fonction, en tikz
+ %4 = fonction n°2 éventuelle
+ %de #5 à #6
+ \restoreKV[IntegrDomainTikz]% revenir au valeurs par défaut
+ \setKV[IntegrDomainTikz]{#1}% lit les arguments optionnels
+ \StrCut{\intgdomtikzcolors}{/}{\intgcolbord}{\intcolhach}%
+ \IfStrEq{\intgcolbord}{}{\xdef\intgcolbord{none}}{}%
+ \IfStrEq{\intgdomtikzstyle}{hachures}%
+ {%
+ \tikzset{integraletikzstyle/.style={line width=\intgdomtikzthick,draw=\intgcolbord,pattern=\intgdomtikzhatch,pattern color=\intcolhach,line join=\intgdomtikzjoin}}
+ }%
+ {}%
+ \IfStrEq{\intgdomtikzstyle}{remplissage}%
+ {%
+ \tikzset{integraletikzstyle/.style={line width=\intgdomtikzthick,draw=\intgcolbord,fill=\intcolhach,fill opacity=\intgdomtikzopac,line join=\intgdomtikzjoin}}
+ }%
+ {}%
+ \IfStrEq{\intgdomtikztype}{dessous}%
+ {%
+ \draw[integraletikzstyle,#2] (#5,0) -- plot[samples=\intgdomtikzsamples,domain=#5:#6] (\x,{#3}) --(#6,0) -- cycle ;
+ }%
+ {}%
+ \IfStrEq{\intgdomtikztype}{entre}%
+ {%
+ \draw[integraletikzstyle,#2] plot[samples=\intgdomtikzsamples,domain=#5:#6] (\x,{#3}) -- plot[samples=\intgdomtikzsamples,domain=#6:#5] (\x,{#4}) -- cycle ;
+ }%
+ {}%
+}
+
+\NewDocumentCommand\IntegraleTikzXint{ O{} D<>{} m O{0} m m }{%
+ %1 = clés
+ %2 = options particulières tikz
+ %3 = fonction, en tikz
+ %4 = fonction n°2 éventuelle
+ %de #5 à #6
+ \restoreKV[IntegrDomainTikz]% revenir au valeurs par défaut
+ \setKV[IntegrDomainTikz]{#1}% lit les arguments optionnels
+ \StrCut{\intgdomtikzcolors}{/}{\intgcolbord}{\intcolhach}%
+ \IfStrEq{\intgcolbord}{}{\xdef\intgcolbord{none}}{}%
+ \IfStrEq{\intgdomtikzstyle}{hachures}%
+ {%
+ \tikzset{integraletikzstyle/.style={line width=\intgdomtikzthick,draw=\intgcolbord,pattern=\intgdomtikzhatch,pattern color=\intcolhach,line join=\intgdomtikzjoin}}
+ }%
+ {}%
+ \IfStrEq{\intgdomtikzstyle}{remplissage}%
+ {%
+ \tikzset{integraletikzstyle/.style={line width=\intgdomtikzthick,draw=\intgcolbord,fill=\intcolhach,fill opacity=\intgdomtikzopac,line join=\intgdomtikzjoin}}
+ }%
+ {}%
+ \IfStrEq{\intgdomtikztype}{dessous}%
+ {%
+ \draw[integraletikzstyle,#2] (#5,0) -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=#5..[\intgdomtikzstep]..#6)\relax} -- (#6,0) -- cycle ;
+ }%
+ {}%
+ \IfStrEq{\intgdomtikztype}{entre}%
+ {%
+ \draw[integraletikzstyle,#2] plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#3),x=#5..[\intgdomtikzstep]..#6)\relax} -- plot[smooth] coordinates {\xintthecoords\xintfloatexpr seq((x,#4),x=#6..[-\intgdomtikzstep]..#5)\relax} -- cycle ;
+ }%
+ {}%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
index e817af767e..92cff33772 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
@@ -1041,4 +1041,187 @@
}%
}
+%===BINOMIALE
+\defKV[HistoBinom]{%
+ Largeur=\def\GraphBinomLarg{#1},%
+ Hauteur=\def\GraphBinomHaut{#1},%
+ PasX=\def\GraphBinomPasX{#1},%
+ PasY=\def\GraphBinomPasY{#1},%
+ Plage=\def\GraphBinomPlage{#1},%
+ CouleurPlage=\def\GraphBimomColPlage{#1},%
+ Epaisseur=\def\GraphBinomThick{#1},%
+ ClipX=\def\GraphBinomXminmax{#1},%
+ Police=\def\GraphBinomFonte{#1},%
+ CouleurNormale=\def\GraphBinomColNorm{#1}
+}
+\setKVdefault[HistoBinom]{%
+ Largeur=10,%
+ Hauteur=5,%
+ PasX=5,%
+ PasY=0.01,%
+ Plage={},%
+ CouleurPlage=teal!50,%
+ Epaisseur=0.8pt,
+ ClipX={},%
+ Police=\normalfont\normalsize,%
+ AffNormale=false,%
+ CouleurNormale=red
+}
+
+\NewDocumentCommand\HistogrammeBinomiale{ O{} D<>{} m m }{%
+ \restoreKV[HistoBinom]%
+ \setKV[HistoBinom]{#1}
+ \def\GraphBinomN{#3}%
+ \def\GraphBinomP{#4}%
+ \IfStrEq{\GraphBinomXminmax}{}%
+ {%
+ \xdef\GraphBinomXmin{0}%
+ \xdef\GraphBinomXmax{\GraphBinomN}%
+ }%
+ {%
+ \StrCut{\GraphBinomXminmax}{-}{\GraphBinomXmin}{\GraphBinomXmax}%
+ \IfStrEq{\GraphBinomXmin}{*}{\xdef\GraphBinomXmin{0}}{}%
+ \IfStrEq{\GraphBinomXmax}{*}{\xdef\GraphBinomXmax{\GraphBinomN}}{}%
+ }%
+ \IfStrEq{\GraphBinomPlage}{}%
+ {}%
+ {%
+ \StrCut{\GraphBinomPlage}{-}{\GraphBinomColorMin}{\GraphBinomColorMax}%
+ \IfStrEq{\GraphBinomColorMin}{*}{\xdef\GraphBinomColorMin{\GraphBinomXmin}}{}%
+ \IfStrEq{\GraphBinomColorMax}{*}{\xdef\GraphBinomColorMax{\GraphBinomXmax}}{}%
+ }%
+ %test d'unités
+ \xdef\GraphBinomXunit{\xintfloateval{round((\GraphBinomLarg)/(\GraphBinomXmax-\GraphBinomXmin+1),3)}}%
+ \xdef\grphbinommedA{\xintfloateval{trunc(\GraphBinomN*\GraphBinomP,0)}}%
+ \xdef\grphbinommedB{\xintfloateval{\grphbinommedA+1}}%
+ \xdef\GraphBinomYmaxA{\xintfloateval{binomial(\GraphBinomN,\grphbinommedA)*(\GraphBinomP)^(\grphbinommedA)*(1-(\GraphBinomP))^((\GraphBinomN)-(\grphbinommedA))}}%
+ \xdef\GraphBinomYmaxB{\xintfloateval{binomial(\GraphBinomN,\grphbinommedB)*(\GraphBinomP)^(\grphbinommedB)*(1-(\GraphBinomP))^((\GraphBinomN)-(\grphbinommedB))}}%
+ \xdef\GraphBinomMaxY{\xintfloateval{1.1*max(\GraphBinomYmaxA,\GraphBinomYmaxB)}}%
+ \xdef\GraphBinomNbPrecision{\xinteval{abs(ilog10(\GraphBinomMaxY))+1}}%
+ \xdef\GraphBinomYunit{\xintfloateval{round((\GraphBinomHaut)/(max(\GraphBinomYmaxA,\GraphBinomYmaxB)),3)}}%
+ \begin{tikzpicture}[x=\GraphBinomXunit cm,y=\GraphBinomYunit cm,#2]
+ %coloriage éventuel
+ \IfStrEq{\GraphBinomPlage}{}%
+ {}%
+ {%
+ \xintFor* ##1 in {\xintSeq{\GraphBinomColorMin}{\GraphBinomColorMax}}\do{%
+ \xdef\tmpYYY{\xintfloateval{binomial(\GraphBinomN,##1)*(\GraphBinomP)^(##1)*(1-(\GraphBinomP))^((\GraphBinomN)-(##1))}}%
+ \draw[draw=none,fill=\GraphBimomColPlage,fill opacity=0.5] ({##1-0.5},0) rectangle++ (1,{\tmpYYY}) ;
+ }%
+ }%
+ %axes
+ \draw[line width=\GraphBinomThick,->,>=latex] ({\GraphBinomXmin-0.5},0)--({\GraphBinomXmax+1},0) ;
+ \draw[line width=\GraphBinomThick,->,>=latex] ({\GraphBinomXmin-0.5},0)--({\GraphBinomXmin-0.5},{1.1*(\GraphBinomHaut)/(\GraphBinomYunit)}) ;
+ \foreach \x in {\GraphBinomXmin,\inteval{\GraphBinomXmin+\GraphBinomPasX},...,\GraphBinomXmax}{%
+ \draw[line width=\GraphBinomThick] (\x,2pt)--++(0,-4pt) node[below,font=\GraphBinomFonte] {\num{\x}} ;
+ }%
+ \xdef\GraphBinomNbPrecisionAxeY{\xinteval{abs(ilog10(\GraphBinomPasY))+1}}%
+ \foreach \y in {0,\GraphBinomPasY,...,\GraphBinomMaxY}{%
+ \draw[line width=\GraphBinomThick] ($({\GraphBinomXmin-0.5},\y)+(2pt,0)$)--++(-4pt,0) node[left,font=\GraphBinomFonte] {\num{\xintfloateval{round(\y,\GraphBinomNbPrecisionAxeY)}}} ;
+ }%
+ %tracé
+ \xintFor* ##1 in {\xintSeq{\GraphBinomXmin}{\GraphBinomXmax}}\do{%
+ \xdef\tmpYYY{\xintfloateval{binomial(\GraphBinomN,##1)*(\GraphBinomP)^(##1)*(1-(\GraphBinomP))^((\GraphBinomN)-(##1))}}%
+ \draw[line width=\GraphBinomThick] ({##1-0.5},0) rectangle++ (1,{\tmpYYY}) ;
+ }
+ \ifboolKV[HistoBinom]{AffNormale}%
+ {%
+ \xdef\MinNormHistoBinom{\xintfloateval{{\GraphBinomXmin-0.5}}}%
+ \xdef\MaxNormHistoBinom{\xintfloateval{{\GraphBinomXmax+0.5}}}%
+ \TraceLoiNormale*[line width={1.25*\GraphBinomThick},\GraphBinomColNorm]<\MinNormHistoBinom..[0.1]..\MaxNormHistoBinom>{#3}{#4}
+ }%
+ {}%
+ \end{tikzpicture}
+}
+
+\NewDocumentEnvironment{HistoBinomiale}{ O{} D<>{} m m }%
+{%
+ \restoreKV[HistoBinom]%
+ \setKV[HistoBinom]{#1}
+ \def\GraphBinomN{#3}%
+ \def\GraphBinomP{#4}%
+ \IfStrEq{\GraphBinomXminmax}{}%
+ {%
+ \xdef\GraphBinomXmin{0}%
+ \xdef\GraphBinomXmax{\GraphBinomN}%
+ }%
+ {%
+ \StrCut{\GraphBinomXminmax}{-}{\GraphBinomXmin}{\GraphBinomXmax}%
+ \IfStrEq{\GraphBinomXmin}{*}{\xdef\GraphBinomXmin{0}}{}%
+ \IfStrEq{\GraphBinomXmax}{*}{\xdef\GraphBinomXmax{\GraphBinomN}}{}%
+ }%
+ \IfStrEq{\GraphBinomPlage}{}%
+ {}%
+ {%
+ \StrCut{\GraphBinomPlage}{-}{\GraphBinomColorMin}{\GraphBinomColorMax}%
+ \IfStrEq{\GraphBinomColorMin}{*}{\xdef\GraphBinomColorMin{\GraphBinomXmin}}{}%
+ \IfStrEq{\GraphBinomColorMax}{*}{\xdef\GraphBinomColorMax{\GraphBinomXmax}}{}%
+ }%
+ %test d'unités
+ \xdef\GraphBinomXunit{\xintfloateval{round((\GraphBinomLarg)/(\GraphBinomXmax-\GraphBinomXmin+1),3)}}%
+ \xdef\grphbinommedA{\xintfloateval{trunc(\GraphBinomN*\GraphBinomP,0)}}%
+ \xdef\grphbinommedB{\xintfloateval{\grphbinommedA+1}}%
+ \xdef\GraphBinomYmaxA{\xintfloateval{binomial(\GraphBinomN,\grphbinommedA)*(\GraphBinomP)^(\grphbinommedA)*(1-(\GraphBinomP))^((\GraphBinomN)-(\grphbinommedA))}}%
+ \xdef\GraphBinomYmaxB{\xintfloateval{binomial(\GraphBinomN,\grphbinommedB)*(\GraphBinomP)^(\grphbinommedB)*(1-(\GraphBinomP))^((\GraphBinomN)-(\grphbinommedB))}}%
+ \xdef\GraphBinomMaxY{\xintfloateval{1.1*max(\GraphBinomYmaxA,\GraphBinomYmaxB)}}%
+ \xdef\GraphBinomNbPrecision{\xinteval{abs(ilog10(\GraphBinomMaxY))+1}}%
+ \xdef\GraphBinomYunit{\xintfloateval{round((\GraphBinomHaut)/(max(\GraphBinomYmaxA,\GraphBinomYmaxB)),3)}}%
+ \begin{tikzpicture}[x=\GraphBinomXunit cm,y=\GraphBinomYunit cm,#2]
+ %coloriage éventuel
+ \IfStrEq{\GraphBinomPlage}{}%
+ {}%
+ {%
+ \xintFor* ##1 in {\xintSeq{\GraphBinomColorMin}{\GraphBinomColorMax}}\do{%
+ \xdef\tmpYYY{\xintfloateval{binomial(\GraphBinomN,##1)*(\GraphBinomP)^(##1)*(1-(\GraphBinomP))^((\GraphBinomN)-(##1))}}%
+ \draw[draw=none,fill=\GraphBimomColPlage,fill opacity=0.5] ({##1-0.5},0) rectangle++ (1,{\tmpYYY}) ;
+ }%
+ }%
+ %axes
+ \draw[line width=\GraphBinomThick,->,>=latex] ({\GraphBinomXmin-0.5},0)--({\GraphBinomXmax+1},0) ;
+ \draw[line width=\GraphBinomThick,->,>=latex] ({\GraphBinomXmin-0.5},0)--({\GraphBinomXmin-0.5},{1.1*(\GraphBinomHaut)/(\GraphBinomYunit)}) ;
+ \foreach \x in {\GraphBinomXmin,\inteval{\GraphBinomXmin+\GraphBinomPasX},...,\GraphBinomXmax}{%
+ \draw[line width=\GraphBinomThick] (\x,2pt)--++(0,-4pt) node[below,font=\GraphBinomFonte] {\num{\x}} ;
+ }%
+ \xdef\GraphBinomNbPrecisionAxeY{\xinteval{abs(ilog10(\GraphBinomPasY))+1}}%
+ \foreach \y in {0,\GraphBinomPasY,...,\GraphBinomMaxY}{%
+ \draw[line width=\GraphBinomThick] ($({\GraphBinomXmin-0.5},\y)+(2pt,0)$)--++(-4pt,0) node[left,font=\GraphBinomFonte] {\num{\xintfloateval{round(\y,\GraphBinomNbPrecisionAxeY)}}} ;
+ }%
+ %tracé
+ \xintFor* ##1 in {\xintSeq{\GraphBinomXmin}{\GraphBinomXmax}}\do{%
+ \xdef\tmpYYY{\xintfloateval{binomial(\GraphBinomN,##1)*(\GraphBinomP)^(##1)*(1-(\GraphBinomP))^((\GraphBinomN)-(##1))}}%
+ \draw[line width=\GraphBinomThick] ({##1-0.5},0) rectangle++ (1,{\tmpYYY}) ;
+ }
+ %loi normale ?
+ \ifboolKV[HistoBinom]{AffNormale}%
+ {%
+ \xdef\MinNormHistoBinom{\xintfloateval{{\GraphBinomXmin-0.5}}}%
+ \xdef\MaxNormHistoBinom{\xintfloateval{{\GraphBinomXmax+0.5}}}%
+ \TraceLoiNormale*[line width={1.25*\GraphBinomThick},\GraphBinomColNorm]<\MinNormHistoBinom..[0.1]..\MaxNormHistoBinom>{#3}{#4}
+ }%
+ {}%
+ }%
+ {%
+ \end{tikzpicture}
+}
+
+\xintdeffloatfunc fctreploinorm(x,mu,sigma):=1/(sigma*sqrt(2*Pi))*exp(-1/2*((x-mu)/sigma)^2);
+
+\NewDocumentCommand\TraceLoiNormale{ s O{} D<>{} m m }{%
+ \IfBooleanTF{#1}%
+ {%
+ \draw[#2] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,fctreploinorm(x,#4*#5,sqrt(#4*#5*(1-#5)))),x=#3)
+ \relax
+ };
+ }%
+ {%
+ \draw[#2] plot[smooth] coordinates {%
+ \xintthecoords\xintfloatexpr
+ seq((x,fctreploinorm(x,#4,#5)),x=#3)
+ \relax
+ };
+ }%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
index dbd1708aaf..655d73fe6e 100644
--- a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
+++ b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
index 62f7313ca3..9aa462bb76 100644
--- a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
+++ b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/04/13}%
+\def\filedate{2024/05/02}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.91}%
+\def\fileversion{0.94}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -37,15 +37,16 @@
\makeatletter
\gdef\PfMFontSize{\@ptsize}
+%\gdef\PfMFontSize{\f@size}
\makeatother
%définition des clés
\RequirePackage{simplekv}%
-\setKVdefault[Boulot]{Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,VersSolution=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
+\setKVdefault[Boulot]{Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,CorrigeInverse=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,VersSolution=false,AvecEntrainement=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
\defKV[Boulot]{Colonnes=\setKV[Boulot]{CorrectionColonnes}}%
\setKVdefault[Cours]{Couleur=Crimson,Theme=Trace écrite,NomExercice=Exercice}%
\setKVdefault[DM]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname}%
\setKVdefault[DS]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname,Calculatrice=false,Sujet=A}%
-\setKVdefault[Fiche]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
+\setKVdefault[Fiche]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,}%
\setKVdefault[PdT]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
\setKVdefault[FdR]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
\setKVdefault[Parcours]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false}%
@@ -57,7 +58,7 @@
\setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lycée
du Hainaut (Valenciennes),NomEleve=Albert Einstein,CR=false}%
\setKVdefault[CAN]{Date=\today,Niveau=6,Duree=9,CoefQ=0.4,CoefR=0.35,CoefJ=0.1}%
-\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,TitreSol=false,NonUtilise=false,Profile=false}%
+\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,TitreSol=false,NonUtilise=false,Profile=false,PasEntrainement=false}%
\defKV[ClesExercices]{TitreSolution=\setKV[ClesExercices]{TitreSol}}%
\defKV[ClesExercices]{Source=\setKV[ClesExercices]{AffichageSource}}%
\defKV[ClesExercices]{Titre=\setKV[ClesExercices]{AffichageTitre}}%
@@ -85,12 +86,28 @@
\IfNoValueTF{#1}{\PfMDotfill}{\makebox[#1]{\PfMDotfill}}%
}%
%
-\NewDocumentCommand\PfMLignespointilles{m}{%
- \xintifboolexpr{\fpeval{#1}>1}{%
- \xintFor* ##1 in {\xintSeq {1}{\fpeval{#1}}}\do{%
- \PfMpointilles\par%
- }%
- }{}%
+\NewDocumentCommand\PfMNbLignesRestantes{}{%
+ \edef\measurepage{\dimexpr\pagegoal-\pagetotal\relax}%
+ \xdef\PfMResteLignes{\fpeval{trunc((\the\measurepage)/(\baselineskip),0)}}%
+}%
+
+\NewDocumentCommand\PfMLignesFinales{}{%
+ \PfMNbLignesRestantes%
+ \xintFor* ##1 in {\xintSeq {1}{\PfMResteLignes}}\do{%
+ \PfMpointilles\par%
+ }%
+}%
+
+\NewDocumentCommand\PfMLignespointilles{sm}{%
+ \IfBooleanTF{#1}{%
+ \par\PfMLignesFinales%
+ }{%
+ \xintifboolexpr{\fpeval{#2}>1}{%
+ \xintFor* ##1 in {\xintSeq {1}{#2}}\do{%
+ \PfMpointilles\par%
+ }%
+ }{}%
+ }%
}%
% Definition de longueurs
\newlength\PfMLargeurSchemaParcours%
@@ -124,6 +141,8 @@
\setcounter{PfMExo}{0}%
\newcounter{PfMExoSol}%Pour repérer les valeurs aléatoires construites automatiquement dans la solution
\setcounter{PfMExoSol}{0}%
+\newcounter{PfMExoEntrai}%Pour repérer les entrainements
+\setcounter{PfMExoEntrai}{0}%
\newcounter{PfMCorrigeParcoursPerso}%affichage des solutions ou pas dans le cadre d'un parcours perso
\setcounter{PfMCorrigeParcoursPerso}{0}%
\newcounter{PfMSOS}%Numéro des SOS dans les parcours fléchés
@@ -143,6 +162,8 @@
\newcounter{Nbcolonnes}
+\newbox\PfMSauvegardeBox%
+
\newif\ifPfMDeuxColonnes
\newif\ifPfMRectoVerso
\makeatletter
@@ -220,6 +241,15 @@
\repeat
}%
+% On bloque la graine de fabrication des nombres aléatoires.
+\ExplSyntaxOn
+\cs_new_eq:NN \PfMGraineAlea \sys_gset_rand_seed:n
+\ExplSyntaxOff
+
+\ExplSyntaxOn
+\cs_new_eq:NN \PfMChoisisGraineAlea \int_rand:n
+\ExplSyntaxOff
+
%% Gestion de l'affichage ou pas des item (Pour élèves PAP) par exemple
% Code by egreg : https://tex.stackexchange.com/questions/627250/hide-specific-item-in-a-list
\ExplSyntaxOn
@@ -876,7 +906,7 @@
\]%
}%
%
-%%%%
+%
%%% Définitions des environnements pour la correction
\makeatletter
\newwrite\verbatim@out
@@ -1021,6 +1051,7 @@
}%
\def\PfMTexteDuCorrige{Corrigé de l'exercice}
+\def\PfMTexteDeLEntrainement{Automatisme(s) lié(s) à l'exercice}
\NewDocumentCommand\PfMAffichageCorrige{}{%
\ifboolKV[Boulot]{CAN}{%
@@ -1043,6 +1074,43 @@
}%
}%
}%
+
+\NewDocumentEnvironment{Entrainement}{}{}{}%
+
+\makeatletter
+\def\EntrainementWrite{%
+ \@bsphack%
+ \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.qrc"%
+ \let\do\@makeother\dospecials%
+ \catcode`\^^M\active%
+ \def\verbatim@processline{%
+ \immediate\write\verbatim@out{\the\verbatim@line}}%
+ \verbatim@start}%
+\def\endEntrainementWrite{\immediate\closeout\verbatim@out\@esphack}%
+
+\let\Entrainement\EntrainementWrite\let\endEntrainement\endEntrainementWrite%
+\makeatother
+
+\NewDocumentCommand\PfMAffichageEntrainement{}{%
+ \clearpage
+ \TikzAutomatismes
+ \setcounter{PfMExoEntrai}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
+ \refstepcounter{PfMExoEntrai}%
+ \IfFileExists{\jobname-Ex##1.qrc}{%
+ \begin{center}
+ \label{pageentrai-\thePfMMaquette-\thePfMExoEntrai}%
+ \textbf{\PfMTexteDeLEntrainement\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi}\par\nopagebreak\input{\jobname-Ex##1.qrc}\end{center}}{}%
+ }%
+}%
+
+\NewDocumentCommand\TikzAutomatismes{}{%
+ \begin{tcolorbox}
+ \begin{center}
+ \Large\sffamily Automatismes%
+ \end{center}
+ \end{tcolorbox}%
+}%
%%%%%%%% BAREME %%%%%%%%%%%
%% Bareme
\newlength{\brouillon}
@@ -1176,7 +1244,18 @@
\node[%
fill=tcbcolback,%
anchor=center,%
- ] at (frame.east){\hyperref[pagesol-\thePfMMaquette-\thePfMExo]{\faKey}};%
+ ] at ($(frame.north east)!0.25!(frame.south east)$){\hyperref[pagesol-\thePfMMaquette-\thePfMExo]{\faKey}};%
+ }%
+ }{}%
+}%
+
+\NewDocumentCommand{\PfMLienVersEntrainement}{}{%
+ \ifboolKV[Boulot]{AvecEntrainement}{%
+ \ifboolKV[ClesExercices]{PasEntrainement}{}{%
+ \node[%
+ fill=tcbcolback,%
+ anchor=center,rotate=45%
+ ] at ($(frame.north east)!0.75!(frame.south east)$){\hyperref[pageentrai-\thePfMMaquette-\thePfMExo]{\faDumbbell}};%
}%
}{}%
}%
@@ -1535,6 +1614,8 @@
\PfMAffichageSource%
%
\PfMLienVersSolution%
+ %
+ \PfMLienVersEntrainement%
}%
}%
}%
@@ -1853,7 +1934,7 @@
\setsepchar{,}%
\readlist*\ListePetitsObjets{bonbons,billes,biscuits,gommes,clous,vis,cahiers,trousses}%
\readlist*\ListeFruits{pommes,poires,abricots,cerises,fraises,framboises,noix,pêches,nectarines,myrtilles,oranges,mandarines,kiwis}%
-\readlist*\ListeVariables{a,b,c,m,n,p,r,s,t,x,y,z}%
+\readlist*\ListeVariables{a,b,c,\ell,m,n,p,r,s,t,x,y,z}%
\makeatletter
\def\ExoCANWrite{%
@@ -2007,6 +2088,8 @@
\PfMAffichageSource%
%
\PfMLienVersSolution%
+ %
+ \PfMLienVersEntrainement%
}%
}%
}%
@@ -2278,6 +2361,8 @@
\fi%
}%
+\newbox\PfMBoxSauvegarde%
+
\NewDocumentEnvironment{exerciceFiche}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
@@ -2979,6 +3064,8 @@
\PfMAffichageSource%
% Lien vers la solution
\PfMLienVersSolution
+ % Lien vers les entrainements
+ \PfMLienVersEntrainement
}%
}%
}%
@@ -3070,6 +3157,8 @@
\PfMAffichageSource%
%
\PfMLienVersSolution%
+ %
+ \PfMLienVersEntrainement%
}%
}%
}%
@@ -3274,14 +3363,15 @@
}{%
\ifnum\thePfMMaquette=1\relax%
\else%
- \ifnum\PfMFontSize=0\relax%
- \fontsize{10}{\fpeval{1.2*10}}%
- \else\ifnum\PfMFontSize=1\relax%
- \fontsize{11}{\fpeval{1.2*11}}%
- \else%
- \fontsize{12}{\fpeval{1.2*12}}%
- \fi%
- \fi%
+ %\ifnum\PfMFontSize=0\relax%
+ % \fontsize{10}{\fpeval{1.2*10}}%
+ %\else\ifnum\PfMFontSize=1\relax%
+ % \fontsize{11}{\fpeval{1.2*11}}%
+ % \else%
+ % \fontsize{12}{\fpeval{1.2*12}}%
+ % \fi%
+ %\fi%
+ \fontsize{\fpeval{10+\PfMFontSize}}{\fpeval{1.2*(10+\PfMFontSize)}}%
\selectfont%
\renewcommand{\JustifyingParindent}{\parindent}
\justifying%
@@ -3313,6 +3403,7 @@
\fi%
\PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMChangerTailleCorrection%
}%
\NewDocumentCommand\PfMAffichageCorrectionColonnes{}{%
@@ -3321,6 +3412,12 @@
\ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
+\NewDocumentCommand\PfMAffichageEntrainementColonnes{}{%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageEntrainement%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+}%
+
%%%%%%%%%%%%%%% Debut Maquette %%%%%%%
% Environnement englobant le tout.
\makeatletter
@@ -3336,7 +3433,7 @@
\stepcounter{PfMMaquette}%
% options de boulot
\IfHookExistsTF{env/Maquette/after}{\RemoveFromHook{env/Maquette/after}[*]}{}%
- \IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]}{}%
+ %\IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]}{}%
% \AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}%
\useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
@@ -3355,108 +3452,116 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \clearpage
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
-% \TikzOlympiadesAPMEPCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
\ifboolKV[Boulot]{CAN}{%
\setKV[CAN]{#2}%
- \ifboolKV[Boulot]{CorrigeSeul}{}{\TikzCAN}%
- \PfMChangerTailleCorrection%
- \setcounter{PfMCNNumQ}{0}%
- \setlength{\PfMLargeurQuestion}{\useKV[CAN]{CoefQ}\linewidth}\setlength{\PfMLargeurReponse}{\useKV[CAN]{CoefR}\linewidth}\setlength{\PfMLargeurJury}{\useKV[CAN]{CoefJ}\linewidth}%
- \let\exercice\ExoCANWrite\let\endexercice\endExoCANWrite%
- \AddToHook{env/exercice/begin}{\setcounter{PfMAlea}{0}}%
- \AddToHook{env/Maquette/end}{%
- \xdef\PfMCANTotalExo{\thePfMExo}%
- \ifboolKV[Boulot]{CorrigeSeul}{}{
- \setcounter{PfMExo}{0}%
- \renewcommand{\arraystretch}{2}%
- \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}%
- \hhline{~---}%
- \multicolumn{1}{c|}{}&\cellcolor{gray!15}\centering Question&\cellcolor{gray!15}\centering Réponse&\cellcolor{gray!15}\centering\arraybackslash Jury\\%
- \hline%
- \endhead%
- \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{%
- \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\
- \hline%
- }%
- \end{longtable}%
- \renewcommand{\arraystretch}{1}%
- }%
- }%
- \ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
- \PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzCANCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
- \PfMAffichageCorrectionColonnes%
- }%
- }{}%
+ %\ifboolKV[Boulot]{CorrigeSeul}{}{\TikzCAN}%
+ \setcounter{PfMCNNumQ}{0}%
+ \setlength{\PfMLargeurQuestion}{\useKV[CAN]{CoefQ}\linewidth}\setlength{\PfMLargeurReponse}{\useKV[CAN]{CoefR}\linewidth}\setlength{\PfMLargeurJury}{\useKV[CAN]{CoefJ}\linewidth}%
+ \let\exercice\ExoCANWrite\let\endexercice\endExoCANWrite%
+ \AddToHook{env/exercice/begin}{\setcounter{PfMAlea}{0}}%
+ \AddToHook{env/Maquette/end}{%
+ \xdef\PfMAncienneGraine{\PfMChoisisGraineAlea{123456789}}
+ \xdef\PfMCANTotalExo{\thePfMExo}%
+ \setbox\PfMSauvegardeBox\vbox{%
+ \PfMGraineAlea{\thePfMMaquette}
+ \setcounter{PfMExo}{0}%
+ \renewcommand{\arraystretch}{2}%
+ \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}%
+ \hhline{~---}%
+ \multicolumn{1}{c|}{}&\cellcolor{gray!15}\centering Question&\cellcolor{gray!15}\centering Réponse&\cellcolor{gray!15}\centering\arraybackslash Jury\\%
+ \hline%
+ \endhead%
+ \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{%
+ \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\
+ \hline%
+ }%
+ \end{longtable}%
+ \renewcommand{\arraystretch}{1}%
+ }
+ \ifboolKV[Boulot]{CorrigeInverse}{%
+ \PfMPrepareCorrection{#1}%
+ \TikzCANCor{#2}%
+ \PfMAffichageCorrectionColonnes%
+ \clearpage
+ \normalsize%
+ \TikzCAN%
+ \PfMGraineAlea{\thePfMMaquette}%
+ \setcounter{PfMCNNumQ}{0}%
+ \setcounter{PfMExo}{0}%
+ \renewcommand{\arraystretch}{2}%
+ \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}%
+ \hhline{~---}%
+ \multicolumn{1}{c|}{}&\cellcolor{gray!15}\centering Question&\cellcolor{gray!15}\centering Réponse&\cellcolor{gray!15}\centering\arraybackslash Jury\\%
+ \hline%
+ \endhead%
+ \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{%
+ \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\
+ \hline%
+ }%
+ \end{longtable}%
+ \renewcommand{\arraystretch}{1}%
+ }{%
+ \PfMGraineAlea{\PfMAncienneGraine}%
+ \TikzCAN%
+ \setcounter{PfMCNNumQ}{0}%
+ \setcounter{PfMExo}{0}%
+ \renewcommand{\arraystretch}{2}%
+ \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}%
+ \hhline{~---}%
+ \multicolumn{1}{c|}{}&\cellcolor{gray!15}\centering Question&\cellcolor{gray!15}\centering Réponse&\cellcolor{gray!15}\centering\arraybackslash Jury\\%
+ \hline%
+ \endhead%
+ \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{%
+ \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\
+ \hline%
+ }%
+ \end{longtable}%
+ \renewcommand{\arraystretch}{1}%
+ \ifboolKV[Boulot]{CorrigeFin}{\ifboolKV[Boulot]{CorrigeInverse}{}{\clearpage
+ \PfMPrepareCorrection{#1}%
+ \TikzCANCor{#2}%
+ \PfMAffichageCorrectionColonnes%
+ }
+ }{}
+ }
+ }%
}{%
\ifboolKV[Boulot]{FdR}{%
- \ifboolKV[Boulot]{CorrigeSeul}{}{%
- \setKV[FdR]{#2}\TikzFdR%
- }
- \let\exercice\exerciceFdR\let\endexercice\endexerciceFdR%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[FdR]{#2}\TikzFdR%
+ }
+ \let\exercice\exerciceFdR\let\endexercice\endexerciceFdR%
+ \ifboolKV[Boulot]{AvecEntrainement}{%
+ \AddToHook{env/Maquette/end}[Haltere]{%
+ \PfMAffichageEntrainementColonnes%
+ }%
+ }{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFdRCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes
}%
}{}%
}{%
\ifboolKV[Boulot]{Contrat}{%
- \ifboolKV[Boulot]{CorrigeSeul}{}{%
- \setKV[Contrat]{#2}\TikzContrat%
- }
- \let\exercice\exerciceContrat\let\endexercice\endexerciceContrat%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[Contrat]{#2}\TikzContrat%
+ }
+ \let\exercice\exerciceContrat\let\endexercice\endexerciceContrat%
+ \ifboolKV[Boulot]{AvecEntrainement}{%
+ \AddToHook{env/Maquette/end}[Haltere]{%
+ \PfMAffichageEntrainementColonnes%
+ }%
+ }{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzContratCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes%
}%
}{}%
@@ -3468,17 +3573,7 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes
}%
}{}%
@@ -3490,17 +3585,7 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzRecapBrevetCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes%
}%
}{}%
@@ -3516,24 +3601,19 @@
}%
}{%
\ifboolKV[Boulot]{Parcours}{%
- \ifboolKV[Boulot]{CorrigeSeul}{}{%
- \setKV[Parcours]{#2}\TikzParcours%
- }
- \let\exercice\exerciceParcours\let\endexercice\endexerciceParcours%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[Parcours]{#2}\TikzParcours%
+ }
+ \let\exercice\exerciceParcours\let\endexercice\endexerciceParcours%
+ \ifboolKV[Boulot]{AvecEntrainement}{%
+ \AddToHook{env/Maquette/end}[Haltere]{%
+ \PfMAffichageEntrainementColonnes%
+ }%
+ }{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzParcoursCor{#2}
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes
}%
}{}%
@@ -3546,17 +3626,7 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzPdTCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes%
}%
}{}%
@@ -3566,17 +3636,9 @@
\setKV[DM]{#2}\TikzDM%
}
\let\exercice\exerciceDM\let\endexercice\endexerciceDM%
-% \let\Exercice\exercice\let\endExercice\endexercice%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzDMCor{#2}%
\PfMAffichageCorrectionColonnes%
}%
@@ -3588,18 +3650,15 @@
\TikzFiche%
}%
\let\exercice\exerciceFiche\let\endexercice\endexerciceFiche%
- %\let\Exercice\exercice\let\endExercice\endexercice
+ \ifboolKV[Boulot]{AvecEntrainement}{%
+ \AddToHook{env/Maquette/end}[Haltere]{%
+ \PfMAffichageEntrainementColonnes%
+ }%
+ }{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\ifboolKV[Boulot]{CorrigeAll}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}%
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
@@ -3651,17 +3710,7 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzDSCor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes%
}%
}{}%
@@ -3674,17 +3723,7 @@
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
\PfMPrepareCorrection{#1}
-% \useKVdefault[Boulot]%
-% \setKV[Boulot]{#1}%
-% \if@Dyslexie
-% \setKV[Boulot]{Dys}
-% \fi
-% \PfMBasculeDys%
-% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzIECor{#2}%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
-% \PfMAffichageCorrige%
-% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\PfMAffichageCorrectionColonnes
}%
}{}%
diff --git a/macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx b/macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx
index 12594049c6..fc3427bf80 100644
--- a/macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx
+++ b/macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx
@@ -246,7 +246,7 @@
% \cs{ledsubsection} & \cs{eledsubsection} \\
% \cs{ledsubsubsection} & \cs{eledsubsubsection} \\
% \cs{noeledsec} & Package option \verb+noeledsec+ \\
-% \cs{noendnotes} & Package option \verb+noendnotes+ \\
+% \cs{noendnotes} & Package option \verb+noend+ \\
% \cs{pageparbreak} & \cs{ledpb} \\
% \end{longtable}
%
diff --git a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
index 18605ab2db..1ae91515fb 100644
--- a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
index 9c77ee92d8..58f1d6981d 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
index e25e9f9fd2..ea2f749d32 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
index 22b5bd2729..2d7130fcb9 100644
--- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
index 2e09c62414..d7a945978b 100644
--- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
index f4641e8ed2..75b679b50d 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf
index 345486a466..e1d1b6af19 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
index 725b561e91..f7b843c631 100644
--- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
index bb84710a9b..1c53f875a0 100644
--- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
index b1fb90d576..c9e6daca45 100644
--- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
index bc1cc26fa3..f702632cf3 100644
--- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
index bd9a1ac760..ca3b90abcc 100644
--- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
index 785306eb4c..95a09523d9 100644
--- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
index 20a2c5d6a8..0021b1cbd3 100644
--- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
index 4d32ac79ca..67424c3e0c 100644
--- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
index 4deece32c7..362ff7012a 100644
--- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
index be687afa88..0fe795532a 100644
--- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
index 9e5b0624aa..ad48933ba2 100644
--- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf
index 822f29af7e..e68f4f3b49 100644
--- a/macros/latex/contrib/reledmac/examples/2-performances.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
index fdf1ad93f5..ed0755c95b 100644
--- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
index 1a079d07da..a0e92d1b90 100644
--- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index 16d3cc7f02..22f3ac9ed3 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
index 1021f61ecb..6edc466546 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
index d9ca46f8e5..ae6daea2f3 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
index d62f7e46a6..65e77b6045 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index 79e086308e..7864905fc5 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index e5aaa63498..147ece9039 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index 9b95c6bfdd..bc2e485aa7 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index 18d3b9814b..a53aafd365 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
index 333e6b906a..b873ef2634 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index f908766e8f..4437bcd188 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 0635fef82c..0c36cb9564 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index c4936a579f..073be3c769 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index 687871bf30..7a13994ca4 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index 6436851359..5dbce10161 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 125c76967c..4c574e496b 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
index 36a70b5322..012bb74b4e 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index 4d07ca87f3..fc67986e5a 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 610ba2241f..58d08bf3bd 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index be6f88912c..36f6321386 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
index 89396d832c..db1ccbc5a7 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index e62fa711ad..d71f06d80e 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index d1eec4642f..c6186efd4d 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index 1bc32688b6..a36ab701dd 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 90675794b5..33338d8f63 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
index 21c417fdaa..c8200f5ff5 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/migration.pdf b/macros/latex/contrib/reledmac/migration.pdf
index 3bb51a2f91..50d46b721e 100644
--- a/macros/latex/contrib/reledmac/migration.pdf
+++ b/macros/latex/contrib/reledmac/migration.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx
index 2bce791494..2109ca38b5 100644
--- a/macros/latex/contrib/reledmac/reledmac.dtx
+++ b/macros/latex/contrib/reledmac/reledmac.dtx
@@ -602,6 +602,9 @@
% \changes{v2.39.7}{2023/08/21}{Again fix with hyperref, footnote and tabular environment}
% \changes{v2.40.0}{2023/09/30}{Add\protect\cs{Xonlyonerule} and \protect\cs{onlyoneruleX} hooks}
% \changes{v2.40.0}{2023/09/30}{Add\protect\option{onlyonerule} option}
+% \changes{v2.40.1}{2024/05/11}{Reset \protect\cs{parfillskip} after paragraphed and columned footnote}
+% \changes{v2.40.1}{2024/05/11}{Fix bug when using \protect\cs{edlabel} in \protect\env{edtabular} and related}
+% \changes{v2.40.1}{2024/05/11}{Dealing with direction in \protect\cs{footnoteXtxt} when using LuaLaTeX}
% Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename)
% has version number \fileversion, last revised \filedate.}}
%
@@ -4528,7 +4531,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2023/08/21 v2.39.7 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2024/05/11 v2.40.1 typesetting critical editions]%
% \end{macrocode}
%
% \subsection{Loading packages}
@@ -10872,6 +10875,7 @@
% \item \protect\cs{splitmaxdepth}.
% \item \protect\cs{floatingpenalty}, that is penalty values being added when a long note flows from one page to another.
% Here, we let it to 0 when we process parallel pages in \protect\package{eledpar}, in order to allow notes to flow from left to right pages and \emph{vice-versa}.
+% \item\cs{parfillskip} for ending of paragraph.
% Otherwise, we let it to \protect\cs{@MM}, which is the standard \LaTeX\ \protect\cs{floatingpenalty}.
% \end{itemize}
% \changes{v0.7.0}{2005/02/18}{Added \protect\cs{footsplitskips} for use in many
@@ -10883,8 +10887,12 @@
\unless\ifl@dprintingpages%
\floatingpenalty=\@MM%
\fi%
- \splittopskip=\ht\strutbox \splitmaxdepth=\dp\strutbox
- \leftskip=\z@skip \rightskip=\z@skip}
+ \splittopskip=\ht\strutbox%
+ \splitmaxdepth=\dp\strutbox%
+ \leftskip=\z@skip%
+ \rightskip=\z@skip%
+ \parfillskip=0pt plus 1fil%
+}
% \end{macrocode}
% \end{macro}
@@ -11169,6 +11177,7 @@
% Read \reff{width2columns} for the general description of the problem.
% \begin{macrocode}
\leftskip0pt \rightskip0pt
+ \parfillskip=0pt plus 1fil
\ifl@dpairing\else%
\hsize=\old@hsize%
\fi%
@@ -11349,6 +11358,7 @@
\let\bidi@RTL@everypar\@empty%
\noindent\leavevmode%
\let\bidi@RTL@everypar\old@bidi@RTL@everypar%
+ \parfillskip=0pt plus 1fil%
}%
% \end{macrocode}
% \end{macro}
@@ -13917,6 +13927,7 @@
}%
\leftskip=\z@
\rightskip=\z@
+ \parfillskip=0pt plus 1fil
\setparindentX{#1}%
\vskip\skip\@nameuse{footins#1}%
\setnoteswidthliketwocolumnsX@{#1}%
@@ -15589,6 +15600,10 @@
}%
\expandafter\newcommand\csname footnote#1text\endcsname[2][]{%
\begingroup%
+ \ifluatex%
+ \xdef\footnote@luatextextdir{\the\textdir}%
+ \xdef\footnote@luatexpardir{\the\pardir}%
+ \fi%
\csuse{vfootnote#1}{#1}{\expandonce{##2}}{##1}%
\endgroup%
}%
@@ -19897,8 +19912,8 @@
\listxadd{\@msdata@list}{%
\@msd@options@iffullpage%
\ifluatex%
- \csxdef{footnote@luatextextdir}{\the\textdir}%
- \csxdef{footnote@luatexpardir}{\the\pardir}%
+ \xdef\footnote@luatextextdir{\the\textdir}%
+ \xdef\footnote@luatexpardir{\the\pardir}%
\fi%
\csdef{@this@crossref@start}{\add@msd@c:start:msdata}%
\csdef{@this@crossref@end}{\add@msd@c:end:msdata}%
@@ -20457,12 +20472,12 @@
% \begin{macro}{\restore@edlabel}
% We need to be able to modify and restore the \protect\cs{edlabel} macro.
% \begin{macrocode}
+\let\original@edlabel\edlabel%
\newcommand{\disable@edlabel}{%
- \let\old@edlabel\edlabel%
\let\edlabel\@gobble%
}%
\newcommand{\restore@edlabel}{%
- \let\edlabel\old@edlabel%
+ \let\edlabel\original@edlabel%
}%
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf
index fcc8c9d698..bc1f8b20f9 100644
--- a/macros/latex/contrib/reledmac/reledmac.pdf
+++ b/macros/latex/contrib/reledmac/reledmac.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledpar.dtx b/macros/latex/contrib/reledmac/reledpar.dtx
index 9040bb3630..aff1d03da1 100644
--- a/macros/latex/contrib/reledmac/reledpar.dtx
+++ b/macros/latex/contrib/reledmac/reledpar.dtx
@@ -347,7 +347,7 @@
% \changes{v2.24.1}{2020/08/19}{Fix incompatibility between lineation by \protect\cs{pstart} and (a)stanza.}
% \changes{v2.24.2}{2020/09/16}{Fix some bugs with lineation by page, when a numbered section starts at the very beginning of page.}
% \changes{v2.24.3}{2020/11/08}{Fix bug with hanging verse in parallel typesetting.}
-% \changes{v2.25.0}{2020/11/29}{Add compatibility with \protect\cs{linenumannotationothersidetrue} of \protect\macpackage.}.
+% \changes{v2.25.0}{2020/11/29}{Add compatibility with \protect\cs{linenumannotationothersidetrue} of \protect\macpackage.}
% \changes{v2.25.1}{2021/01/21}{\protect\cs{ifsublines@R} migrated to \protect\macpackage}
% \changes{v2.25.2}{2021/09/27}{Fix incompatibility with \protect\package{babel} v3.61}
% \changes{v2.25.3}{2022/04/22}{Fix incompatibility with \protect\package{polyglossia} v1.55}
@@ -1410,7 +1410,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledpar}[2024/02/26 v2.25.6 reledmac extension for parallel texts]%
+\ProvidesPackage{reledpar}[2024/05/11 v2.25.6a reledmac extension for parallel texts]%
% \end{macrocode}
% \subsection{Package's requirement}
diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf
index 787452ce62..84a3fd4ec0 100644
--- a/macros/latex/contrib/reledmac/reledpar.pdf
+++ b/macros/latex/contrib/reledmac/reledpar.pdf
Binary files differ
diff --git a/macros/latex/contrib/rigidnotation/README.md b/macros/latex/contrib/rigidnotation/README.md
new file mode 100644
index 0000000000..06e65991d9
--- /dev/null
+++ b/macros/latex/contrib/rigidnotation/README.md
@@ -0,0 +1,31 @@
+# The rigidnotation LaTeX package
+This package provides LaTeX macros to easily and concisely typeset vectors and matrices in a flexible way such as to follow the RIGID notation convention. The package enables the user to define custom commands that can then be used in any math-mode environment to efficiently and rigorously typeset the notational elements commonly used in robotics research (and many other fields) for position vectors, rotation matrices, pose matrices, etc.
+
+## Documentation
+This package is [available on CTAN](https://ctan.org/pkg/rigidnotation), and a PDF manual is accessible here.
+
+## Local Installation
+If you want to install the package manually on your local computer, you can follow the steps outlined below.
+1. Run `kpsewhich -var-value TEXMFHOME` to get the path to your TeX package home.
+Assuming that your TeX package home is `$TEXHOME`,
+2. Run `mkdir -p $TEXHOME/tex/latex/rigidnotation/` to create a directory for this package.
+3. Run `tex rigidnotation.ins` to generate the `rigidnotation.sty` macro file.
+3. Run `cp rigidnotation.sty $TEXHOME/tex/latex/rigidnotation/` to install the package.
+3. Run `pdflatex -interaction=nonstopmode rigidnotation.dtx` to build the documentation.
+5. Run `texhash $TEXHOME` to update the LaTeX package tree.
+
+## Requirements
+This package depends on [mathtools](https://ctan.org/pkg/mathtools) and [xparse](https://ctan.org/pkg/xparse) packages, both of which are widely used.
+
+## License
+Copyright (C) 2024 Philippe Nadeau
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in:
+
+http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later. \ No newline at end of file
diff --git a/macros/latex/contrib/rigidnotation/rigidnotation.dtx b/macros/latex/contrib/rigidnotation/rigidnotation.dtx
new file mode 100644
index 0000000000..565ac2bb50
--- /dev/null
+++ b/macros/latex/contrib/rigidnotation/rigidnotation.dtx
@@ -0,0 +1,507 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Philippe Nadeau
+% --------------------------------
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% \fi
+%
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{rigidnotation}[2024/05/13 1.0.0 Rigid Notation]
+%
+%<*driver>
+\documentclass{ltxdoc}
+% This package is required to build its own documentation!
+\usepackage{rigidnotation}
+\NewRigidNotation{Vel}{v}
+\NewRigidNotation{Acc}{a}
+\setlength{\fboxsep}{0pt}
+\setlength{\fboxrule}{0.1pt}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{rigidnotation.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \def\oargument#1{\texttt{[\meta{#1}]}}
+% \def\margument#1{\texttt{\{\meta{#1}\}}}
+%
+%
+% \changes{v1.0}{2024-05-13}{Initial version}
+%
+% \GetFileInfo{rigidnotation.sty}
+%
+% \DoNotIndex{}
+%
+% \title{The \textsf{rigidnotation} package\thanks{This document
+% corresponds to \textsf{rigidnotation}~\fileversion,
+% dated \filedate.}}
+% \author{Philippe Nadeau \\ \texttt{philippe.nadeau [at] robotics.utias.utoronto.ca}}
+% \date{\filedate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package provides \LaTeX\ macros to easily and concisely typeset vectors and matrices in a flexible way such as to follow the RIGID notation convention. The package enables the user to define custom commands that can then be used in any math-mode environment to efficiently and rigorously typeset the notational elements commonly used in robotics research (and many other fields) for position vectors, rotation matrices, pose matrices, etc.
+% \end{abstract}
+%
+% \section{Introduction}
+% A useful typesetting system should reduce to a minimum the number of keystrokes required by the user while enabling a flexible usage of the system and cater to various needs. This is the philosophy behind this package.
+%
+% This package makes it easy to typeset vectors and matrices following the RIGID convention, which is compliant with the \textit{ISO 800000 Standard on Quantities and Units}. To do so, this package defines a \textit{command factory} that can be used to concisely generate multiple commands, each one dedicated to a user-defined quantity (e.g. position vector, velocity vector, rotation matrix). The user can then call the generated commands within math-mode environments to typeset a concise representation of the quantity.
+%
+% For instance, |\Pos[\dot]{s}{b}{w}\Tran| produces
+% \begin{equation*}
+% \resizebox{1cm}{!}{$\Pos[\dot]{s}{b}{w}\Tran$}
+% \end{equation*}
+% which very concisely represents the time-derivative of the transposed position vector of subject $s$ with respect to basis $b$ when expressed in coordinate system $w$. When typing the keystrokes, the user can think: \textit{position of $s$ with respect to $b$ expressed in $w$, transposed}. Except for the accent, the order in which the elements are typed respects the order in which they can be spoken, making it easier to remember the order of the arguments.
+%
+% The \textit{subject} of a quantity is the elements to which the quantity pertains (e.g. the orientation of the subject, the velocity of the subject). The \textit{basis} is the element relative to which the quantity is observed/measured/defined (e.g. the velocity of the car/subject relative to the train/basis). A vector quantity is commonly pictured as an arrow pointing from the basis to the subject. To facilitate computations, quantities are \textit{expressed} in a \textit{coordinate system} such that they can be represented as a set of numbers. Sometime it makes sense to specify only a subset of the four elements: quantity, subject, basis, and coordinate system. This package allows the user to specify only the necessary elements. A \textit{concise mode} can also be enabled such that when the basis and coordinate system are the same, only the basis is denoted.
+%
+% \section{Usage}
+% The typical usage of the package involves defining quantities of interest in the preamble, like
+% \begin{verbatim}
+% \usepackage{rigidnotation}
+% \NewRigidNotation{Vel}{v} % Velocity
+% \NewRigidNotation{Acc}{a} % Acceleration
+% % Whether the concise notation is desired
+% \SetConciseNotation{\BooleanTrue}
+% \end{verbatim}
+% in which quantities representing velocities and accelerations are defined. Then, in any math-mode environment, variations of the following commands can be used:
+% \begin{verbatim}
+% \begin{equation*}
+% 1:\Vel \quad
+% 2:\Vel[\hat] \quad
+% 3:\Vel[\ddot]{s} \quad
+% 4:\SetConciseNotation \Vel{s}{b}{b} \quad
+% 5:\Vel{s}{b}{c} \quad
+% 6:\UnsetConciseNotation \Vel{s}{b}{b} \quad
+% 7:\Acc{s}{b}\Tran \quad
+% 8:\Acc{s}{b}^2 \quad
+% 9:\Rot{s}{b}\Inv \quad
+% \end{equation*}
+% \end{verbatim}
+% to produce
+% \begin{equation*}
+% 1:\Vel \quad
+% 2:\Vel[\hat] \quad
+% 3:\Vel[\ddot]{s} \quad
+% 4:\SetConciseNotation \Vel{s}{b}{b} \quad
+% 5:\Vel{s}{b}{c} \quad
+% 6:\UnsetConciseNotation \Vel{s}{b}{b} \quad
+% 7:\Acc{W}{b}\Tran \quad
+% 8:\Acc{W}{b}^2 \quad
+% 9:\Rot{W}{b}\Inv
+% \end{equation*}
+% where the concise notation was enabled for items 4 and 5 but disabled for element 6 (notice the difference). Also note that command |\Rot| was used even though it was not defined in the preamble. This is because the package comes with a few pre-defined quantities: |\Pos|, |\Rot|, and |\Pose|.
+%
+% \subsection{Commands}
+% In the following, arguments surrounded by square brackets are optional while those surrounded by curly brackets are mandatory like \oargument{optional} and \margument{mandatory} respectively.
+%
+% \vspace{5mm}\DescribeMacro{\NewRigidNotation}
+% \hspace{-6.5mm} \textbf{Arguments}:
+% \begin{enumerate}
+% \item \margument{name}: Name of the command to create.
+% \item \margument{symbol}: Symbol used to represent the quantity.
+% \end{enumerate}
+% \textbf{Description}:\\
+% Define a new command that can be used to typeset a physical or mathematical quantity according to the RIGID convention.
+% For instance, |\NewRigidNotation{Pos}{p}| can be used to create a new command |\Pos| for typesetting position vectors, with the |p| symbol being used to represent the quantity. After it has been defined, the new command can be used with the following arguments:
+% \begin{enumerate}
+% \item \oargument{accent}: Command to put an accent over the letter (e.g. |\hat|).
+% \item \oargument{subject}: The symbol of the \textit{subject} (e.g. vector endpoint).
+% \item \oargument{basis}: The symbol of the \textit{basis} (e.g. vector origin).
+% \item \oargument{coord}: Symbol for the coordinate system potentially used.
+% \end{enumerate}
+% Hence, this is a kind of meta-command or command factory: |\NewRigidNotation| creates a new command that can be used with arguments.
+%For instance, calling |\NewRigidNotation{Pos}{p}| defines a new command |\Pos| that can be used with zero or more arguments, as in |\Pos[\dot]{a}{b}{c}|, in which |a| is the subject symbol, |b| is the basis symbol, |c| is the coordinate system, and a dot ($\cdot$) will be placed above the |p| in the notation, producing $\Pos[\dot]{a}{b}{c}$.
+%
+% \vspace{5mm}\DescribeMacro{\SetConciseNotation}
+% \hspace{-6.5mm} \textbf{Arguments}:
+% \begin{enumerate}
+% \item \oargument{bool}: Either |\BooleanTrue| or |\BooleanFalse|.
+% \end{enumerate}
+% \textbf{Description}:\\
+% Sets whether to use the concise notation that omits to state the coordinate system when the basis and coordinate systems are the same. Calling |\SetConciseNotation| with no argument will enable the concise notation, which is the same as |\SetConciseNotation{\BooleanTrue}|. Note that, although the argument is optional, curly brackets are used.
+% Also note that the concise notation can be enabled/disabled multiple times throughout the document.
+%
+% \vspace{5mm}\DescribeMacro{\UnsetConciseNotation}
+% \hspace{-6.5mm} \textbf{Arguments}: None.\\
+% \textbf{Description}:\\
+% Informs the package that the concise notation should not be used. This is equivalent to |\SetConciseNotation{\BooleanFalse}| and is the default behaviour.
+%
+% \vspace{5mm}\DescribeMacro{\Tran}
+% \hspace{-6.5mm} Macro that typesets a $\cdot^\mathsf{T}$ in the right super-script position to denote the transpose\
+% as in $\Pos{a}{b}{c}\Tran$.
+%
+% \vspace{5mm}\DescribeMacro{\Inv}
+% \hspace{-6.5mm} Macro that typesets a $\cdot^{-1}$ in the right super-script position to denote the inverse\
+% as in $\Pos{a}{b}{c}\Inv$.
+%
+% \vspace{5mm}\DescribeMacro{\Herm}
+% \hspace{-6.5mm} Macro that typesets a $\cdot^\mathsf{H}$ in the right super-script position to denote the Hermitian\
+% as in $\Rot{a}{b}\Herm$.
+%
+% \vspace{5mm}\DescribeMacro{\Conj}
+% \hspace{-6.5mm} Macro that typesets a $\cdot^\ast$ in the right super-script position to denote the complex conjugate\
+% as in $\Pos\Conj$.
+%
+% \MaybeStop{}
+%
+% \section{Implementation}
+%
+% \begin{macro}{\SetConciseNotation}
+% Defines whether the concise notation is used or not.
+% When used the concise notation will ommit mentionning
+% the reference frame when the source and reference are the same.
+%
+% To use the concise notation, either call |\SetConciseNotation|
+% with no argument or with |\SetConciseNotation{\BooleanTrue}|.
+% \begin{macrocode}
+\usepackage{xparse}
+\usepackage{mathtools}
+
+%This box is used to measure the width of the post-script
+\newsavebox{\RN@postbox}
+\newlength{\RN@postboxwd}
+\newsavebox{\RN@expbox}
+\newlength{\RN@expboxwd}
+%Spacing before and after the symbol
+\def\RN@prespace{0.08em}
+\def\RN@postspace{0.23em}
+
+\NewDocumentCommand{\SetConciseNotation}{g}
+{
+ \newif\IfRN@C
+ \IfNoValueTF{#1}
+ {
+ \RN@Ctrue
+ }
+ {
+ \IfBooleanTF{#1}
+ {
+ \RN@Ctrue
+ }
+ {
+ \RN@Cfalse
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\UnsetConciseNotation}
+% Disables the concise notation.
+% This is equivalent to |\SetConciseNotation{\BooleanFalse}|.
+% \begin{macrocode}
+\def\UnsetConciseNotation{\SetConciseNotation{\BooleanFalse}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\RN@makecmd}
+% \textbf{Arguments}:
+% \begin{enumerate}
+% \item \oargument{accent}: Command to put an accent over the letter (e.g. |\hat|).
+% \item \margument{qty}: Symbol for the quantity to represent.
+% \item \oargument{subject}: The symbol of the \textit{subject} (e.g. vector endpoint).
+% \item \oargument{basis}: The symbol of the \textit{basis} (e.g. vector origin).
+% \item \oargument{coord}: Symbol for the coordinate system potentially used.
+% \end{enumerate}
+% \textbf{Description}:\\
+% Defines a typesetting command from arguments. Main typesetting routine that should not be needed by the end-user. Instead, the end-user should use |\NewRigidNotation| to define typesetting commands. If the basis and coordinate system are the same, the coordinate system is omitted when the |RN@C| keyword is set.
+% \begin{macrocode}
+\NewDocumentCommand{\RN@makecmd}{omggg}
+{
+ \IfNoValueTF{#1}{\def\RN@symb{\boldsymbol{#2}}}{\def\RN@symb{#1{\boldsymbol{#2}}}}
+ \IfNoValueTF{#3}
+ {%subject is not specified
+ \IfNoValueTF{#4}
+ {%basis is not specified
+ \IfNoValueTF{#5}
+ {%subject, basis and coordinate system are not specified
+ \RN@symb
+ }
+ {%subject and basis are not specified, coordinate system is specified
+ \hspace{\RN@prespace}
+ \prescript{#5}{}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ }
+ }
+ {%basis is specified
+ \IfNoValueTF{#5}%
+ {%basis is specified, subject and coordinate system are not specified
+ \hspace{\RN@prespace}
+ \prescript{}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ }
+ {%basis and coordinate system are specified, subject is not specified
+ \IfEq{#4}{#5}
+ {
+ \IfRN@C
+ {%basis and coordinate system are the same and RN@C is set
+ \hspace{\RN@prespace}
+ \prescript{}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ }
+ {
+ \hspace{\RN@prespace}
+ \prescript{#5}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ }
+ }
+ {
+ \hspace{\RN@prespace}
+ \prescript{#5}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ }
+ }
+ }
+ %If there is no subject, no space is needed on the right of the symbol
+ \setlength{\RN@postboxwd}{0pt}
+ }
+ {%subject is specified
+ \IfNoValueTF{#4}
+ {%basis is not specified
+ \IfNoValueTF{#5}
+ {%subject is specified, basis and coordinate system are not specified
+ \RN@symb
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ {%basis is not specified, subject and coordinate system are specified
+ \hspace{\RN@prespace}
+ \prescript{#5}{}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ }
+ {%basis is specified
+ \IfNoValueTF{#5}
+ {%subject and basis are specified, coordinate system is not specified
+ \hspace{\RN@prespace}
+ \prescript{}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ {%subject, basis, and coordinate system are specified
+ \def\RN@argfour{#4}
+ \def\RN@argfive{#5}
+ \ifx\RN@argfour\RN@argfive
+ {
+ \IfRN@C
+ {%basis and coordinate system are the same and RN@C is set
+ \hspace{\RN@prespace}
+ \prescript{}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ \else
+ {
+ \hspace{\RN@prespace}
+ \prescript{#5}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ \fi
+ }
+ \else
+ {
+ \hspace{\RN@prespace}
+ \prescript{#5}{#4}{
+ \hspace{-\RN@prespace}
+ \RN@symb
+ }
+ \hspace{-\RN@postspace}
+ \prescript{}{#3}{}
+ }
+ \fi
+ }
+ }
+ %If there is a subject, we need to know the width
+ %of the symbol to bring the exponent closer
+ \sbox{\RN@postbox}{$#3$}
+ \setlength{\RN@postboxwd}{\wd\RN@postbox}
+ }
+ %If the following command is an exponent-type command,
+ %we bring it closer to the symbol.
+ %The next line has to be the last of the macro
+ \@ifnextchar^{\hspace{\RN@postspace}\hspace{-\RN@postboxwd}}{}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\NewRigidNotation}
+% \textbf{Arguments}:
+% \begin{enumerate}
+% \item \margument{cmd}: New command name.
+% \item \margument{sym}: Symbol for the quantity to represent.
+% \end{enumerate}
+% \textbf{Description}:
+% Defines a new command that can be used to typeset the given symbol using the RIGID convention.
+% This essentially expands |\NewRigidNotation{cmd}{sym}| into |\NewDocumentCommand{cmd}{oggg}{\RN@makecmd[#1]{sym}{#2}{#3}{#4}}| such that |\cmd| can be used afterward with up to four arguments.
+% \begin{macrocode}
+\NewDocumentCommand{\NewRigidNotation}{mm}%
+{%
+ \expandafter\NewDocumentCommand\csname #1\endcsname{oggg}%
+ {%
+ \expandafter\csname RN@makecmd\endcsname[##1]{#2}{##2}{##3}{##4}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\Tran}
+% Macro that typesets a $\mathsf{T}$ in the right super-script position, closer to the quantity than normal, and with a smaller font size.
+% \begin{macrocode}
+\def\Tran{%
+ \sbox{\RN@expbox}{${\scriptscriptstyle\mathsf{T}}$}%
+ \setlength{\RN@expboxwd}{\wd\RN@expbox}%
+ \ifnum \RN@postboxwd>0%
+ \hspace{\RN@postspace}%
+ \hspace{-\RN@postboxwd}%
+ \ifnum \RN@postboxwd>\RN@expboxwd%
+ \mathmakebox[\RN@postboxwd][l]{%
+ {}^{\scriptscriptstyle\mathsf{T}}%
+ }%
+ \else%
+ \mathmakebox[\RN@expboxwd][l]{%
+ {}^{\scriptscriptstyle\mathsf{T}}%
+ }%
+ \fi%
+ \else%
+ ^{\scriptscriptstyle\mathsf{T}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\Inv}
+% Macro that typesets a $\mathsf{-1}$ in the right super-script position, closer to the quantity than normal, and with a smaller font size.
+% \begin{macrocode}
+\def\Inv{%
+ \sbox{\RN@expbox}{${\scriptscriptstyle{-1}}$}%
+ \setlength{\RN@expboxwd}{\wd\RN@expbox}%
+ \ifnum \RN@postboxwd>0%
+ \hspace{\RN@postspace}%
+ \hspace{-\RN@postboxwd}%
+ \ifnum \RN@postboxwd>\RN@expboxwd%
+ \mathmakebox[\RN@postboxwd][l]{%
+ {}^{\scriptscriptstyle{-1}}%
+ }%
+ \else%
+ \mathmakebox[\RN@expboxwd][l]{%
+ {}^{\scriptscriptstyle{-1}}%
+ }%
+ \fi%
+ \else%
+ ^{\scriptscriptstyle{-1}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\Herm}
+% Macro that typesets a $\mathsf{H}$ in the right super-script position, closer to the quantity than normal, and with a smaller font size.
+% \begin{macrocode}
+\def\Herm{%
+ \sbox{\RN@expbox}{${\scriptscriptstyle\mathsf{H}}$}%
+ \setlength{\RN@expboxwd}{\wd\RN@expbox}%
+ \ifnum \RN@postboxwd>0%
+ \hspace{\RN@postspace}%
+ \hspace{-\RN@postboxwd}%
+ \ifnum \RN@postboxwd>\RN@expboxwd%
+ \mathmakebox[\RN@postboxwd][l]{%
+ {}^{\scriptscriptstyle\mathsf{H}}%
+ }%
+ \else%
+ \mathmakebox[\RN@expboxwd][l]{%
+ {}^{\scriptscriptstyle\mathsf{H}}%
+ }%
+ \fi%
+ \else%
+ ^{\scriptscriptstyle\mathsf{H}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\Conj}
+% Macro that typesets a $\ast$ in the right super-script position, closer to the quantity than normal, and with a smaller font size.
+% \begin{macrocode}
+\def\Conj{%
+ \sbox{\RN@expbox}{${\scriptscriptstyle\ast}$}%
+ \setlength{\RN@expboxwd}{\wd\RN@expbox}%
+ \ifnum \RN@postboxwd>0%
+ \hspace{\RN@postspace}%
+ \hspace{-\RN@postboxwd}%
+ \ifnum \RN@postboxwd>\RN@expboxwd%
+ \mathmakebox[\RN@postboxwd][l]{%
+ {}^{\scriptscriptstyle\ast}%
+ }%
+ \else%
+ \mathmakebox[\RN@expboxwd][l]{%
+ {}^{\scriptscriptstyle\ast}%
+ }%
+ \fi%
+ \else%
+ ^{\scriptscriptstyle\ast}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{Default settings}
+% By default, the following commonly used commands are provided. They are used to typeset position vectors, rotation matrices and pose matrices respectively. By default, the concise notation is disabled.
+% \begin{macrocode}
+\NewRigidNotation{Pos}{p}
+\NewRigidNotation{Rot}{R}
+\NewRigidNotation{Pose}{T}
+\UnsetConciseNotation
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/rigidnotation/rigidnotation.ins b/macros/latex/contrib/rigidnotation/rigidnotation.ins
new file mode 100644
index 0000000000..2330745216
--- /dev/null
+++ b/macros/latex/contrib/rigidnotation/rigidnotation.ins
@@ -0,0 +1,41 @@
+%%
+%% Copyright (C) 2024 Philippe Nadeau
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/rigidnotation}
+\preamble
+This is a generated file.
+Copyright (C) 2024 Philippe Nadeau
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008-05-04 or later.
+\endpreamble
+\generate{\file{rigidnotation.sty}{\from{rigidnotation.dtx}{package}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space rigidnotation.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file rigidnotation.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/rigidnotation/rigidnotation.pdf b/macros/latex/contrib/rigidnotation/rigidnotation.pdf
new file mode 100644
index 0000000000..e22454cc13
--- /dev/null
+++ b/macros/latex/contrib/rigidnotation/rigidnotation.pdf
Binary files differ
diff --git a/macros/latex/contrib/rpgicons/LICENSE b/macros/latex/contrib/rpgicons/LICENSE
new file mode 100644
index 0000000000..4db9b5af29
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/rpgicons/README.md b/macros/latex/contrib/rpgicons/README.md
new file mode 100644
index 0000000000..e889b70b03
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/README.md
@@ -0,0 +1,30 @@
+![Version 1.8.3](https://img.shields.io/badge/version-1.8.3-blue)
+
+<img width="200" alt="rpgicons-example" src="https://github.com/jasperhabicht/rpgicons/assets/6378801/81a1d0aa-7a4f-4f83-bbdc-3bc3332023b2" />
+
+# The `rpgicons` package
+
+This package provides a set of high-quality icons for use in notes for tabletop role-playing games.
+The icons are meant to be used in the body text, but they can also be used in other contexts such
+as graphics or diagrams. The package comes in two variants, one based on the `l3draw` package and one
+based on PGF/Ti*k*Z.
+
+As of version 1.4.0, an `l3draw` variant of the `rpgicons` package exists which is loaded by default.
+The `l3draw` package does not provide the same variety of styles as Ti*k*Z does.
+
+The PGF veriant of the `rpgicons` package provides the icons as Ti*k*Z shapes. Since the commands to
+typeset the icons use `tikzpicture` environments, these commands should not be used inside another
+`tikzpicture`. However, because the package defines the icons as Ti*k*Z shapes, it is possible to
+use the icons in `tikzpicture` environments directly. Apart from that, as of version 1.1.0, the
+package provides a way to define custom commands to typeset the icons as boxed material which is
+safe to use in a tikzpicture context. As of version 1.3.1, the package provides an additional way
+to use the icons as Ti*k*Z pics.
+
+The `rpgicons` package is installed by copying the relevant `.sty` file into the working or `texmf`
+directory. The package is loaded by calling `\usepackage{rpgicons}` in the preamble of the document.
+To load the PGF variant, the package can be loaded with the option `pgf`. The `l3draw` variant is
+loaded per default. The PGF or `l3draw` variants can be loaded directly via
+`\usepackage{rpgicons-pgf}` or`\usepackage{rpgicons-l3}`.
+
+This package including all files is subject to the LPPL 1.3c license.
+Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.pdf b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
new file mode 100644
index 0000000000..7fa0c036d7
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.tex b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
new file mode 100644
index 0000000000..7eef59a1a4
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
@@ -0,0 +1,868 @@
+% File: rpgicons-doc.tex
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `rpgicons' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\documentclass[a4paper]{article}
+\def\rpgiconsfileversion{1.8.3}
+\def\rpgiconsfiledate{15 May 2024}
+
+\usepackage[T1]{fontenc}
+\usepackage{Alegreya}
+\usepackage{AlegreyaSans}
+\usepackage{FiraMono}
+
+\usepackage{geometry, longtable, booktabs, tcolorbox, hyperref}
+\geometry{margin=25mm, left=45mm}
+
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\fancyfoot[R]{\thepage}
+
+\linespread{1.1}\selectfont
+\addtolength{\skip\footins}{1em plus 5pt}
+\makeatletter
+\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
+\renewcommand{\@makefntext}[1]{%
+ \noindent\hbox to 0.75em{\normalfont\@thefnmark\hss}~#1%
+}
+\makeatother
+
+\tcbuselibrary{listings}
+\lstdefinestyle{rpgiconsdocmacro}{
+ basicstyle=\small\ttfamily,
+ literate=*{<}{{{\color{black!50}\guilsinglleft}}}1
+ {>}{{{\color{black!50}\guilsinglright}}}1,
+ keywords={},
+ moredelim=[is][\bfseries]{|}{|},
+ moredelim=[is][\color{black!50}]{!}{!},
+}
+\lstdefinestyle{rpgiconsdoccodeexample}{
+ basicstyle=\small\ttfamily,
+ keywords={},
+}
+
+\hypersetup{colorlinks}
+
+\ExplSyntaxOn
+\int_new:N \l_rpgicons_doc_change_int
+\NewDocumentCommand{\changes}{ m m m }{
+ \int_incr:N \l_rpgicons_doc_change_int
+ \prop_new:c { l_rpgicons_doc_change_
+ \int_to_roman:n { \l_rpgicons_doc_change_int } _prop }
+ \prop_put:cnn { l_rpgicons_doc_change_
+ \int_to_roman:n { \l_rpgicons_doc_change_int } _prop } { version } {#1}
+ \prop_put:cnn { l_rpgicons_doc_change_
+ \int_to_roman:n { \l_rpgicons_doc_change_int } _prop } { date } {#2}
+ \prop_put:cnn { l_rpgicons_doc_change_
+ \int_to_roman:n { \l_rpgicons_doc_change_int } _prop } { changes } {#3}
+}
+\NewDocumentCommand{\printchanges}{ }{
+ \section{Changes}
+ \begin{description}
+ \int_step_inline:nn { \l_rpgicons_doc_change_int } {
+ \item[
+ \prop_item:cn { l_rpgicons_doc_change_
+ \int_to_roman:n { ##1 } _prop } { version } ]
+ ( \prop_item:cn { l_rpgicons_doc_change_
+ \int_to_roman:n { ##1 } _prop } { date } ) \\
+ \prop_item:cn { l_rpgicons_doc_change_
+ \int_to_roman:n { ##1 } _prop } { changes }
+ }
+ \end{description}
+}
+
+\tl_new:N \l_rpgicons_doc_doctitle_tl
+\NewExpandableDocumentCommand{\makedoctitle}{ o m o m m o m }{
+ \hypersetup{
+ pdfauthor={#5},
+ pdftitle={\IfValueTF{#1}{#1}{#2}},
+ pdfsubject={\IfValueTF{#3}{#3}{#4}}
+ }
+ \tl_set:Nn \l_rpgicons_doc_doctitle_tl {
+ \group_begin:
+ \tcbset{
+ title ~ style ~ hook/.style={
+ boxrule=2pt,
+ fontupper=\huge\ttfamily
+ }
+ }
+ \setlength{\parindent}{0pt}\sffamily
+ \Huge{\bfseries #2}\par\bigskip
+ \Large #4\par\bigskip
+ \large #5
+ \IfValueT{#6}{
+ \,\footnote{#6}\par\bigskip
+ }
+ #7\par\bigskip
+ \rule{\textwidth}{.08em}
+ \group_end:
+ }
+}
+
+\NewExpandableDocumentCommand{\printdoctitle}{ }{
+ \tl_use:N \l_rpgicons_doc_doctitle_tl
+}
+\ExplSyntaxOff
+
+\tcbset{
+ size=small,
+ arc=2.5pt,
+ outer arc=2.5pt,
+ colframe=black!10,
+ colback=black!10,
+ title style hook/.style={}
+}
+
+\NewTCBListing{macrodef}{ }{
+ listing only,
+ listing style={rpgiconsdocmacro},
+ grow to left by=2cm,
+ boxrule=0pt,
+ after={\par\smallskip\noindent}
+}
+
+\NewTCBListing{codeexample}{ }{
+ text side listing,
+ lefthand width=4.5cm,
+ listing style={rpgiconsdoccodeexample},
+ after={\par\smallskip\noindent}
+}
+
+\NewTotalTCBox{\macro}{ O{} v }{
+ verbatim,
+ size=tight,
+ arc=1pt,
+ outer arc=1pt,
+ top=0.5pt,
+ bottom=0.5pt,
+ left=2pt,
+ right=2pt,
+ boxrule=0pt,
+ colframe=black!10,
+ colback=black!10,
+ fontupper=\small\ttfamily,
+ #1
+}{\vphantom{/g}\lstinline^#2^}
+
+\NewTotalTCBox{\titlemacro}{ s O{} m }{
+ verbatim,
+ size=tight,
+ arc=1pt,
+ outer arc=1pt,
+ top=0.5pt,
+ bottom=0.5pt,
+ left=2pt,
+ right=2pt,
+ boxrule=0pt,
+ colframe=black!10,
+ colback=black!10,
+ fontupper=\small\ttfamily,
+ title style hook,
+ #2
+}{\vphantom{/g}\IfBooleanT{#1}{\textbackslash}#3}
+
+\usepackage{rpgicons-l3}
+\usepackage[pics]{rpgicons-pgf}
+
+\ExplSyntaxOn
+\clist_new:N \l_rpgicons_doc_logo_icons_clist
+\clist_new:N \l_rpgicons_doc_logo_colors_clist
+\cs_generate_variant:Nn { \color_set:nnn } { nne }
+
+\clist_set:Nn \l_rpgicons_doc_logo_colors_clist {
+ 264653 , 287271 , 2a9d8f , e9c46a , f4a261 , e76f51
+}
+\int_step_inline:nn { \clist_count:N \l_rpgicons_doc_logo_colors_clist } {
+ \color_set:nne { rpgiconslogo \int_to_roman:n { #1 } } { HTML } {
+ \clist_item:Nn \l_rpgicons_doc_logo_colors_clist { #1 }
+ }
+}
+\clist_set:Nn \l_rpgicons_doc_logo_icons_clist {
+ twentyside , charisma , armor , buff , ranged , proficiency
+}
+
+\NewDocumentCommand{\rpgiconslogo}{ O{1} }{
+ \draw_begin:
+ \draw_transform_scale:n { #1 }
+ \int_step_inline:nn { \clist_count:N \l_rpgicons_doc_logo_icons_clist } {
+ \hcoffin_set:Nn \l_tmpa_coffin {
+ \draw_suspend_begin:
+ \RPGIconsAbility[negative]{
+ \clist_item:Nn \l_rpgicons_doc_logo_icons_clist { ##1 }
+ }[color=rpgiconslogo \int_to_roman:n { ##1 } ]
+ \draw_suspend_end:
+ }
+ \draw_scope_begin:
+ \draw_transform_shift:n {
+ % fix bug in older l3draw version
+ \cs_if_exist:NTF \__draw_transform_shift:nnnn {
+ \draw_point_polar:nn { 0.33cm } { 60 * ##1 + 10 }
+ } {
+ \draw_point_transform:n { \draw_point_polar:nn { 0.33cm } { 60 * ##1 + 10 } }
+ }
+ }
+ \draw_coffin_use:Nnn \l_tmpa_coffin { hc } { vc }
+ \draw_scope_end:
+ }
+ \draw_end:
+}
+\ExplSyntaxOff
+
+\NewDocumentEnvironment{rpgiconsiconlist}{ }{
+ \begin{longtable}{ @{} p{20em} p{5em} p{\dimexpr\linewidth-25em-4\tabcolsep} @{} }
+ \toprule
+ \textbf{Command} & \textbf{Icon} & \textbf{Shape} \\
+ \midrule\endhead
+}{
+ \bottomrule
+ \end{longtable}
+}
+
+\makedoctitle
+ [The rpgicons package]
+ {The \titlemacro{rpgicons} package}
+ {A set of high-quality icons for use in notes for tabletop role-playing games}
+ {Jasper Habicht}[E-mail: \href{mailto:mail@jasperhabicht.de}{mail@jasperhabicht.de}. I am grateful to Joseph Wright who fixes bugs at an astonishing speed and to all other contributors to this package.]
+ {Version \rpgiconsfileversion, released on \rpgiconsfiledate}
+
+\changes{v1.1.0}{2023/08/15}{First public release.}
+\changes{v1.1.1}{2023/11/15}{Fudge dice icon added.}
+\changes{v1.1.2}{2023/11/16}{Bug fixed that caused wrong spacing when using dice icons without quantifier.}
+\changes{v1.2.0}{2023/11/20}{Corrections in the manual. Icons for six-sided dice with one to nine pips, plus sign and minus sign added.}
+%\changes{v1.2.1}{2023/11/20}{Documentation of lengths for spacing added.}
+%\changes{v1.2.2}{2023/11/21}{Corrections in the manual.}
+\changes{v1.3.0}{2023/11/21}{Option to set background color added. Renamed global option.}
+\changes{v1.3.1}{2024/02/18}{Correction of initializing code. Correction of default value of after sep. Addition of pics.}
+%\changes{v1.3.2}{2024/02/19}{Reformatting of the manual.}
+%\changes{v1.3.4}{2024/02/20}{Minor corrections of some shapes.}
+\changes{v1.4.0}{2024/02/21}{L3 variant added.}
+\changes{v1.4.1}{2024/02/21}{Corrections in L3 variant.}
+\changes{v1.4.2}{2024/02/21}{Alternative set of commands in L3 variant defined.}
+\changes{v1.4.3}{2024/02/22}{Added option to L3 variant to enable upward compatibility.}
+\changes{v1.4.4}{2024/02/24}{Added styles for every instance of command or shape, correction of recent \titlemacro{l3draw} code.}
+\changes{v1.5.0}{2024/02/25}{Alternative set of commands defined, added support of styles in pics.}
+\changes{v1.5.1}{2024/02/28}{Addition of opacity to L3 variant.}
+\changes{v1.5.2}{2024/02/29}{Unification of scaling, minor corrections.}
+\changes{v1.5.3}{2024/03/03}{Optimisation of code in L3 variant.}
+\changes{v1.5.4}{2024/03/06}{Correction of baseline settings in L3 variant, added accessibililty support for L3 variant.}
+%\changes{v1.5.5}{2024/03/07}{Optimsation of accessibililty support for L3 variant.}
+\changes{v1.6.0}{2024/03/15}{Four attribute icons added, minor correction of styles.}
+\changes{v1.6.1}{2024/03/16}{Unified size of negative attribute icon.}
+\changes{v1.7.0}{2024/03/16}{Macro for easy typesetting using roll dice syntax added in L3 variant, compatibility mode updated.}
+\changes{v1.8.0}{2024/03/24}{Unified wrapper to load either package variant.}
+\changes{v1.8.2}{2024/04/28}{Roll dice syntax for PGF variant.}
+\changes{v1.8.3}{2024/05/15}{Minor compatibility fix. Example of how to use pics added to ducumentation.}
+
+\begin{document}
+
+\vspace*{-1cm}
+\noindent\rpgiconslogo[4]
+
+\bigskip
+
+\printdoctitle
+
+\bigskip
+
+\section{Introduction}
+
+The \macro{rpgicons} package provides a set of high-quality icons for use in notes for tabletop role-playing games. The icons are meant to be used in the body text, but they can also be used in other contexts such as graphics or diagrams.
+
+The package comes in two variants, a L3 variant based on the \macro{l3draw} package which is loaded per default and a PGF variant based on PGF/Ti\emph{k}Z.
+
+\section{Loading the package}
+
+To install the package, copy the relevant package files \macro{rpgicons.sty}, \macro{rpgicons-l3.sty} and \macro{rpgicons-pgf.sty} into the working directory or into the \macro{texmf} directory. After the package has been installed, the \macro{rpgicons} package is loaded by calling \macro{\usepackage{rpgicons}} in the preamble of the document.
+
+\begin{macrodef}l3\end{macrodef}
+The L3 variant of the package is loaded by default. To load it explicitly, the package can be loaded using the option \macro{l3}. Alternatively, \macro{\usepackage{rpgicons-l3}} can be called instead.
+
+\begin{macrodef}pgf\end{macrodef}
+To load the PGF variant of the package the package needs to be loaded with the option \macro{pgf}. Alternatively, \macro{\usepackage{rpgicons-pgf}} can be called instead.
+
+\subsection{Dependencies}
+
+The L3 variant of the package loads the \macro{l3draw} package. If the package is loaded with the \macro{opacity} option to enable transparency, the \macro{l3opacity} package is also loaded.
+
+The PGF variant of the package loads the \macro{tikz} package which in turn loads the \macro{xcolor} package. To make use of specific options these packages provide, you need to load the packages with the relevant options beforehand or use, such as \macro{\PassOptionsToPackage{svgnames}{xcolor}}.
+
+\section{Main user commands}
+
+Regardless of the variant of the package, a set of user commands is always available. These are described in the following. Depending on the use of the L3 or the PGF variant, certain specific commands or options are available that are explained in the following sections in further detail.
+
+Because of the way the package defines the icons, every of the below described user commands can actually be used together with every shape. However, the combinations of shapes and commands as described in the following subsections are preferable.
+
+\subsection[Command \textbackslash die]{Command \titlemacro*{die}}
+
+\begin{macrodef}
+|\die|[<style>]{<shape>}[<options>]{<integer>}
+\end{macrodef}
+The command \macro{\die} prints an icon to depict a die with a certain number of sides. Two special icons exist for a two-sided die (which would be equivalent to a coin) and for a hundred-sided die (which typically comes in the shape of a sphere). There is also a special icon for a fudge die.
+
+For the six-sided die, nine additional shapes exists representing the values one to nine as pips. Also, additional shapes exist representing the plus or minus side of a fudge die.
+
+The command takes two mandatory commands, the first of which describes the shape (see the lists below) and the second can take an integer that is placed in front of the shape. For example, \macro{\die{eightside}{2}} results in \die{eightside}{2} (meaning two eight-sided dice are rolled).
+
+The command also takes two optional arguments, the second of which can take additional options to style the icon. The options affect the shape, not the integer when it is printed before the icon. These options differ depending on the package variant. See the relevant sections below.
+
+The first optional argument can take the value \macro{normal} or \macro{large}, \macro{normal} being the default value. With \macro{large} given as argument, the icon is drawn larger and the additional integer is printed inside of the shape instead of before it. As an example, \macro{\die[large]{eightside}{2}} results in \die[large]{eightside}{2}. Note that the integer will always be printed on top of the shape, even if the shape does not have an open center as in the case of the \macro{fudge} shapes or the shapes featuring pips.
+
+\begin{rpgiconsiconlist}
+\macro{\die}
+ & \die{twoside}{} & \macro{twoside} \\
+ & \die{fourside}{} & \macro{fourside} \\
+ & \die{sixside}{} & \macro{sixside} \\
+ & \die{eightside}{} & \macro{eightside} \\
+ & \die{tenside}{} & \macro{tenside} \\
+ & \die{twelveside}{} & \macro{twelveside} \\
+ & \die{twentyside}{} & \macro{twentyside} \\
+ & \die{hundredside}{} & \macro{hundredside} \\
+ & \die{fudge}{} & \macro{fudge} \\
+ & \die{sixside one}{} & \macro{sixside one} \\
+ & \die{sixside two}{} & \macro{sixside two} \\
+ & \die{sixside three}{} & \macro{sixside three} \\
+ & \die{sixside four}{} & \macro{sixside four} \\
+ & \die{sixside five}{} & \macro{sixside five} \\
+ & \die{sixside six}{} & \macro{sixside six} \\
+ & \die{sixside seven}{} & \macro{sixside seven} \\
+ & \die{sixside eight}{} & \macro{sixside eight} \\
+ & \die{sixside nine}{} & \macro{sixside nine} \\
+ & \die{fudge plus}{} & \macro{fudge plus} \\
+ & \die{fudge minus}{} & \macro{fudge minus} \\
+\end{rpgiconsiconlist}
+
+\subsection[Commands \textbackslash ability and \textbackslash saving]{Commands \titlemacro*{ability} and \titlemacro*{saving}}
+
+\begin{macrodef}
+|\ability|[<style>]{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\ability} prints icons depicting an ability of a character. The abilities are represented by animal-like shapes. The relevant shape should be given as mandatory argument to the command. The second optional argument can take additional options to style the icon.
+
+The first optional argument can take the value \macro{positive} or \macro{negative}, \macro{positive} being the default value. With \macro{negative} given as argument, the icon is drawn negative inside a circle. As an example, \macro{\ability[negative]{charisma}} results in \ability[negative]{charisma}.
+
+\begin{macrodef}
+|\saving|[<style>]{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\saving} prints the icons that can be typeset using the \macro{\ability} command inside a small shield. It can take the same values for the mandatory argument as the \macro{\ability} command. The optional argument can take additional options to style the icon.
+
+The first optional argument can take the value \macro{normal} or \macro{empty}, \macro{normal} being the default value. With \macro{empty} given as argument, the icon inside the shield is not printed. In this case, the mandatory argument can be left empty. As an example, \macro{\saving[empty]{}} results in \saving[empty]{}.
+
+\begin{rpgiconsiconlist}
+\macro{\ability}
+ & \ability{strength} & \macro{strength} \\
+ & \ability{dexterity} & \macro{dexterity} \\
+ & \ability{dexterity alt} & \macro{dexterity alt} \\
+ & \ability{constitution} & \macro{constitution} \\
+ & \ability{intelligence} & \macro{intelligence} \\
+ & \ability{wisdom} & \macro{wisdom} \\
+ & \ability{charisma} & \macro{charisma} \\
+ & \ability{resilience} & \macro{resilience} \\
+ & \ability{sanity} & \macro{sanity} \\
+ & \ability{perception} & \macro{perception} \\
+ & \ability{luck} & \macro{luck} \\
+ & \ability{armor} & \macro{armor} \\
+ & \ability{proficiency} & \macro{proficiency} \\
+\midrule
+\macro{\saving}
+ & \saving{strength} & \macro{strength} \\
+ & \saving{dexterity} & \macro{dexterity} \\
+ & \saving{dexterity alt} & \macro{dexterity alt} \\
+ & \saving{constitution} & \macro{constitution} \\
+ & \saving{intelligence} & \macro{intelligence} \\
+ & \saving{wisdom} & \macro{wisdom} \\
+ & \saving{charisma} & \macro{charisma} \\
+ & \saving{resilience} & \macro{resilience} \\
+ & \saving{sanity} & \macro{sanity} \\
+ & \saving{perception} & \macro{perception} \\
+ & \saving{luck} & \macro{luck} \\
+ & \saving{armor} & \macro{armor} \\
+ & \saving{proficiency} & \macro{proficiency} \\
+\end{rpgiconsiconlist}
+
+\subsection[Command \textbackslash spell]{Command \titlemacro*{spell}}
+
+\begin{macrodef}
+|\spell|{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\spell} prints icons depicting the effect of a spell or how it is to be effected. The optional argument can take additional options to style the icon.
+
+\begin{rpgiconsiconlist}
+\macro{\spell}
+ & \spell{linear} & \macro{linear} \\
+ & \spell{conic} & \macro{conic} \\
+ & \spell{quadratic} & \macro{quadratic} \\
+ & \spell{cubic} & \macro{cubic} \\
+ & \spell{spheric} & \macro{spheric} \\
+ & \spell{cylindric} & \macro{cylindric} \\
+ & \spell{verbal} & \macro{verbal} \\
+ & \spell{somatic} & \macro{somatic} \\
+ & \spell{material} & \macro{material} \\
+ & \spell{focus} & \macro{focus} \\
+\end{rpgiconsiconlist}
+
+\subsection[Command \textbackslash spellschool]{Command \titlemacro*{spellschool}}
+
+\begin{macrodef}
+|\spellschool|[<style>]{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\spellschool} prints icons that represent the school a spell belongs to. The second optional argument can take additional options to style the icon.
+
+The first optional argument can take the value \macro{negative} or \macro{positive}, \macro{negative} being the default value. Per default the icon is drawn in white inside a filled escutcheon. With \macro{positive} given as argument, the icon as well as the escutcheon are drawn in the currently selected color. As an example, \macro{\spellschool[positive]{evocation}} results in \spellschool[positive]{evocation}.
+
+\begin{rpgiconsiconlist}
+\macro{\spellschool}
+ & \spellschool{abjuration} & \macro{abjuration} \\
+ & \spellschool{conjuration} & \macro{conjuration} \\
+ & \spellschool{divination} & \macro{divination} \\
+ & \spellschool{enchantment} & \macro{enchantment} \\
+ & \spellschool{evocation} & \macro{evocation} \\
+ & \spellschool{illusion} & \macro{illusion} \\
+ & \spellschool{necromancy} & \macro{necromancy} \\
+ & \spellschool{transmutation} & \macro{transmutation} \\
+\end{rpgiconsiconlist}
+
+\subsection[Commands \textbackslash damage, \textbackslash attack, and \textbackslash condition]{Commands \titlemacro*{damage}, \titlemacro*{attack}, and \titlemacro*{condition}}
+
+\begin{macrodef}
+|\damage|{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\damage} prints icons depicting the damage of an attack. The icon is printed inside a circle. The optional argument can take additional options to style the icon.
+
+\begin{macrodef}
+|\attack|{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\attack} prints icons depicting the kind of an attack. The optional argument can take additional options to style the icon.
+
+\begin{macrodef}
+|\condition|{<shape>}[<options>]
+\end{macrodef}
+The command \macro{\condition} prints icons depicting a condition of a character. The optional argument can take additional options to style the icon.
+
+\begin{rpgiconsiconlist}
+\macro{\damage}
+ & \damage{acid} & \macro{acid} \\
+ & \damage{bludgeoning} & \macro{bludgeoning} \\
+ & \damage{cold} & \macro{cold} \\
+ & \damage{fire} & \macro{fire} \\
+ & \damage{force} & \macro{force} \\
+ & \damage{lightning} & \macro{lightning} \\
+ & \damage{necrotic} & \macro{necrotic} \\
+ & \damage{piercing} & \macro{piercing} \\
+ & \damage{poison} & \macro{poison} \\
+ & \damage{psychic} & \macro{psychic} \\
+ & \damage{radiant} & \macro{radiant} \\
+ & \damage{slashing} & \macro{slashing} \\
+ & \damage{thunder} & \macro{thunder} \\
+ & \damage{healing} & \macro{healing} \\
+\midrule
+\macro{\attack}
+ & \attack{melee} & \macro{melee} \\
+ & \attack{ranged} & \macro{ranged} \\
+ & \attack{magic} & \macro{magic} \\
+ & \attack{singlehanded} & \macro{singlehanded} \\
+ & \attack{doublehanded} & \macro{doublehanded} \\
+\midrule
+\macro{\condition}
+ & \condition{buff} & \macro{buff} \\
+ & \condition{blinded} & \macro{blinded} \\
+ & \condition{charmed} & \macro{charmed} \\
+ & \condition{deafened} & \macro{deafened} \\
+ & \condition{exhausted} & \macro{exhausted} \\
+ & \condition{frightened} & \macro{frightened} \\
+ & \condition{grappled} & \macro{grappled} \\
+ & \condition{incapacitated} & \macro{incapacitated} \\
+ & \condition{invisible} & \macro{invisible} \\
+ & \condition{paralyzed} & \macro{paralyzed} \\
+ & \condition{petrified} & \macro{petrified} \\
+ & \condition{poisoned} & \macro{poisoned} \\
+ & \condition{prone} & \macro{prone} \\
+ & \condition{restrained} & \macro{restrained} \\
+ & \condition{stunned} & \macro{stunned} \\
+ & \condition{unconscious} & \macro{unconscious} \\
+ & \condition{hearing} & \macro{hearing} \\
+ & \condition{seeing} & \macro{seeing} \\
+\end{rpgiconsiconlist}
+
+% l3 variant
+
+\section{Specifics of the L3 package variant}
+
+The L3 variant of the package that uses the \macro{l3draw} package is loaded by default or explicitly by either calling \macro{\usepackage[l3]{rpgicons}} or \macro{\usepackage{rpgicons-l3}} in the preamble of the document after having installed the files \macro{rpgicons.sty} and \macro{rpgicons-l3.sty}. The \macro{l3draw} package is an experimental package that provides only basic drawing functionality. The L3 variant thus only supports a certain set of option for styling the icons.
+
+The L3 variant of the package does not load the \macro{xcolor} package, but makes use of the \macro{l3color} module which uses a similar syntax like the \macro{xcolor} package, but color definitions made using the \macro{l3color} module are not directly usable via commands provided by the \macro{xcolor} package. Therefore, setting a color using the \macro{\color} macro provided by the \macro{xcolor} package won't affect the color of the icons.
+
+\begin{macrodef}compat\end{macrodef}
+The \macro{l3draw} package is experimental and subject to ongoing updates. Loading the L3 variant of the package with the option \macro{compat} will use macro definitions that have been available since the last major TeX Live release as replacement for certain functions that only became available in the most recent versions of the \macro{l3draw} and related packages.
+
+\label{macro:opacity}
+\begin{macrodef}opacity\end{macrodef}
+With the \macro{opacity} option, the L3 variant of the package supports transparency using the functionality of the \macro{l3opacity} package. Since transparency requires the management of certain PDF settings, it is necessary to call \macro{\DocumentMetadata{}} before loading a \macro{\documentclass}. The \macro{l3opacity} package is experimental.
+
+\subsection{Icon commands}
+
+\begin{macrodef}
+|\RPGIconsUseIcon|[<options>][<integer>]{<shape>}
+|\RPGIconsUseIcon*|[<options>][<integer>]{<shape>}
+\end{macrodef}
+\macro{\RPGIconsUseIcon} is the primary command to typeset icons using the L3 variant of the package. The commands \macro{\die}, \macro{\ability}, \macro{\saving}, \macro{\spell}, \macro{\spellschool}, \macro{\damage}, \macro{\attack} and \macro{\condition} are based on this command.
+
+The \macro{\RPGIconsUseIcon} command has a starred version and two optional arguments as well as one mandatory argument. The mandatory argument holds the shape of the icon. The second optional argument can be used to add an integer when used with shapes for dice.
+
+The starred version of the command is used to fill a frame with color instead of drawing its outline. Frames can be put around the shape via the relevant \macro{frame} option.
+
+\begin{macrodef}
+|\RPGIconsDie|[<style>]{<shape>}[<options>]{<integer>}
+|\RPGIconsAbiliy|[<style>]{<shape>}[<options>]
+|\RPGIconsSaving|[<style>]{<shape>}[<options>]
+|\RPGIconsSpell|{<shape>}[<options>]
+|\RPGIconsSpellschool|[<style>]{<shape>}[<options>]
+|\RPGIconsDamage|{<shape>}[<options>]
+|\RPGIconsAttack|{<shape>}[<options>]
+|\RPGIconsCondition|{<shape>}[<options>]
+\end{macrodef}
+The L3 variant of the package defines a set of commands on which the user commands \macro{\die}, \macro{\ability}, \macro{\saving}, \macro{\spell}, \macro{\spellschool}, \macro{\damage}, \macro{\attack} and \macro{\condition} are based. This set of commands can be used in cases where another package defines one of these user commands. These user commands are exact copies of this set of commands.
+
+\subsection{Icon options}
+
+\begin{macrodef}
+frame
+stroke
+fill
+text
+color
+background
+stroke opacity
+fill opacity
+text opacity
+opacity
+background opacity
+line width
+scale
+scale inner
+rotate
+\end{macrodef}
+The \macro{\RPGIconsUseIcon} command and the commands \macro{\die}, \macro{\ability}, \macro{\saving}, \macro{\spell}, \macro{\spellschool}, \macro{\damage}, \macro{\attack} and \macro{\condition} can be used with certain options that each consist of a key-value pair and can be combined. When used with the \macro{\RPGIconsUseIcon} command or the other commands based on this command, these options should be used directly without wrapping them inside the \macro{style} option.
+
+For example, \macro{\die{eightside}[color=blue, line width=0.8pt]{2}} would result in \die{eightside}[color=blue, line width=0.8pt]{2}.
+
+With the \macro{frame} option, one of four different frames can be selected that are drawn around the shape of the icon. The values \macro{ability} and \macro{damage} draw a circle around the shape. The value \macro{saving} draws a rounded shield and the value \macro{spellschool} draws an angular shield around the shape. The commands \macro{\ability}, \macro{\saving}, \macro{\spellschool} and \macro{\damage} make use of the relevant frame.
+
+Some icons can be used with a negative color scheme where the icon is drawn negatively inside a filled shape. Per default, the icons are drawn in white in such cases, but it might be desirable that the icons are in the same color as the background. To this end, the \macro{background} option sets the color of the shape when it is printed over a filled frame which can be achieved by setting the \macro{negative} option for the \macro{\ability} or the \macro{\spellschool} command or using the starred version of the \macro{\RPGIconsUseIcon} command.
+
+The \macro{color} option sets the color of strokes, fills and text in general while the \macro{stroke} option, the \macro{fill} option and the \macro{text} option set the color only for strokes, fills or text respectively. Similarly, the \macro{opacity} macro sets the opacity generally, while the options \macro{stroke opacity}, \macro{fill opacity} and \macro{text opacity} allow for setting the opacity of strokes, fill and text separately. The opacity styles are only available when loading the package with the \macro{opacity} option (see the \hyperref{macro:opacity}{description above}). The \macro{line width} sets the line width for strokes. Using the \macro{scale} and \macro{rotate} options, the shape can be scaled and rotated.
+
+The \macro{scale inner} option can be used to change the scaling of the icon when placed inside a frame when using the \macro{\ability}, \macro{\saving}, \macro{\spellschool} and \macro{\damage} macros. The default value is 0.675.
+
+\begin{macrodef}
+accessible
+accessible = basic
+accessible = full
+accessible = false
+\end{macrodef}
+Using the \macro{accessible} option with no value or the value \macro{basic}, a replacement text to the relevant icon can be added which can be copied to the clipboard. The value \macro{full} additionally places an \macro{\Alt} mark in the PDF which means that the shape of the relevant icon is read by screen readers. For this to work, is necessary to call \macro{\DocumentMetadata{}} before loading a \macro{\documentclass}, preferably with tagging enabled to make use of the \macro{accessible} option. The value \macro{full} can be used to disable the function explicitly. Note that depending on the compiler and PDF viewer, there might be line breaks or no spaces before and after the replacement text.
+
+\begin{macrodef}
+every die
+every ability
+every saving
+every spell
+every spellschool
+every damage
+every attack
+every condition
+every <shape>
+\end{macrodef}
+Styles following the pattern \macro{rpg icons/every} followed by a space and the name of the command or the shape can be used to apply styles to every instance of this command or shape. For example, \macro{\rpgiconsset{every die={color={red}}}} can be used to draw in red all icons created using the \macro{\die} command. Calling \macro{\rpgiconsset{every charisma={color={red}}}} will draw every instance of the \macro{charisma} shape in red.
+
+\subsection{Setting options globally}
+
+\begin{macrodef}
+|\rpgiconsset|
+\end{macrodef}
+Apart from setting the options to the commands directly, it is also possible to set them globally using the \macro{\rpgiconsset} command. Globally set options are overridden by options that are selected directly.
+
+\begin{codeexample}
+\rpgiconsset{
+ color=blue
+}
+
+\ability{charisma}
+\ability{charisma}[color=red]
+\ability{charisma}
+\end{codeexample}
+
+\begin{macrodef}
+before sep
+after sep
+baseline
+\end{macrodef}
+The spacing before and after the icons can be set using the options \macro{before sep} and \macro{after sep}. The option \macro{baseline} can be used to adjust the baseline of the icons. These options can also be applied to the icon commands directly.
+
+\begin{codeexample}
+Roll\die{eightside}{}a die!
+
+\rpgiconsset{
+ before sep={1cm}
+}
+Roll\die{eightside}{}a die!
+\end{codeexample}
+
+\subsection{Roll dice syntax}\label{sec:roll-dice-syntax}
+
+\begin{macrodef}
+|\roll|{<roll syntax>}
+|\RPGIconsRoll|{<roll syntax>}
+\end{macrodef}
+The \macro{\roll} macro can be used to quickly typeset dice rolls with the relevant icons using the established dice rolling syntax. This syntax consists of a sequence of dice and numbers concatenated by mathematical operators (plus, minus or times). Typically, the letter \macro{d} is used to denote a die with a certain number of sides. For example \macro{d6} denotes a six-sided die. A number can be added to specify the number of such dice that are rolled together. The letter to denote the die can be changed using the option \macro{roll syntax}.
+
+For example, \macro{2d6 + 3d4 - 1} means ``roll two six-sided dice and three four-sided dice and subtract one from the result''. The command \macro{\roll{2d6 + 3d4 - 1}} results in \roll{2d6 + 3d4 - 1}.
+
+The die notations \macro{d2}, \macro{d4}, \macro{d6}, \macro{d8}, \macro{d10}, \macro{d12}, \macro{d20} and \macro{d100} are defined. To denote a fudge die, \macro{dF} can be used. To denote that the lowest or highest die should be removed from the result, the letters \macro{L} and \macro{H} can be used. The syntax \macro{2d6 x 2} or \macro{2d6 * 2} can be used to denote several rolls with the same set of dice.
+
+If the \macro{rpgicons} package is to be loaded together with some other package that defines the command \macro{\roll}, the command \macro{\RPGIconsRoll} can be used. This alternative command is an exact copy of the \macro{\roll} command.
+
+\begin{macrodef}
+roll syntax
+\end{macrodef}
+The option \macro{roll syntax} can be used to change the character that denotes a die in the dice rolling syntax. Multiple characters can be given using a comma separated list. The default setting is \macro{d,D} which allows notations such as \macro{2d6} or \macro{2D6}.
+
+With \macro{\rpgiconsset{roll syntax={w,W}}}, for example, notations such as \macro{2w6} or \macro{2W6} could be used.
+
+% PGF variant
+
+\RenewCommandCopy\die\rpgiconsdie
+\RenewCommandCopy\ability\rpgiconsability
+
+\section{Specifics of the PGF package variant}
+
+The PGF variant of the package is loaded by either calling \macro{\usepackage[pgf]{rpgicons}} or \macro{\usepackage{rpgicons-pgf}} in the preamble of the document after having installed the files \macro{rpgicons.sty} and \macro{rpgicons-pgf.sty}.
+
+Since the commands to typeset the icons with the PGF variant of the package use \macro{tikzpicture} environments, these commands should not be used inside another \macro{tikzpicture}. However, because the package defines the icons as Ti\emph{k}Z shapes, it is possible to use the icons in \macro{tikzpicture} environments directly.
+
+Apart from that, the PGF variant of the package provides a way to define custom commands to typeset the icons as boxed material which is safe to use in a \macro{tikzpicture} context. Furthermore, the icons can be used as Ti\emph{k}Z pics.
+
+Once loaded, the PGF variant of the package defines a set of node shapes that can be used inside a \macro{tikzpicture} environment.
+
+\begin{macrodef}pics\end{macrodef}
+The PGF variant of the package provides the option \macro{pics}. If the package is loaded with this option, every icon is also available as Ti\emph{k}Z pic. On the use of pics, see section \ref{sec:pics} below.
+
+\subsection{Icon commands}
+
+\begin{macrodef}
+|\rpgiconsdie|[<style>]{<shape>}[<options>]{<integer>}
+|\rpgiconsability|[<style>]{<shape>}[<options>]
+|\rpgiconssaving|[<style>]{<shape>}[<options>]
+|\rpgiconsspell|{<shape>}[<options>]
+|\rpgiconsspellschool|[<style>]{<shape>}[<options>]
+|\rpgiconsdamage|{<shape>}[<options>]
+|\rpgiconsattack|{<shape>}[<options>]
+|\rpgiconscondition|{<shape>}[<options>]
+\end{macrodef}
+The PGF variant of the package defines a set of commands on which the user commands \macro{\die}, \macro{\ability}, \macro{\saving}, \macro{\spell}, \macro{\spellschool}, \macro{\damage}, \macro{\attack} and \macro{\condition} are based. This set of commands can be used in cases where another package defines one of these user commands. These user commands are exact copies of this set of commands.
+
+\subsection{Icon styles}
+
+Using the PGF variant of the package, all icons can by styled using arbitrary Ti\emph{k}Z styles in general. As an example, \macro{\die{eightside}[blue, thick]{2}} results in \die{eightside}[blue, thick]{2}.
+
+\begin{macrodef}
+!rpg icons/!every die
+!rpg icons/!every ability
+!rpg icons/!every saving
+!rpg icons/!every spell
+!rpg icons/!every spellschool
+!rpg icons/!every damage
+!rpg icons/!every attack
+!rpg icons/!every condition
+!rpg icons/!every <shape>
+\end{macrodef}
+Using Ti\emph{k}Z styles, all instances of a certain command or a certain shape can be styled at once. These styles all follow the pattern \macro{rpg icons/every} followed by a space and the name of the command or the shape. For example, \macro{\tikzset{rpg icons/every die/.append style={red}}} can be used to draw in red all icons created using the \macro{\die} command. To draw every instace of the \macro{charisma} shape in red, \macro{\tikzset{rpg icons/every charisma/.append style={red}}} can be used.
+
+\subsection{Setting styles lobally}
+
+\begin{macrodef}rpg icons\end{macrodef}
+All icons share the Ti\emph{k}Z style \macro{rpg icons} that has no options per default but can be used to style all icons at once. For example, if \macro{\tikzset{rpg icons/.append style={draw=red}}} is placed at the beginning of the document, all icons will be drawn in red. Per default, the icons are drawn in the color of the surrounding text.
+
+Note that it may be necessary to add the Ti\emph{k}Z option \macro{transform shape} when applying transformations to the icons, because the icons are realised as Ti\emph{k}Z nodes which are not affected by some transformations per default.
+
+\begin{macrodef}!rpg icons/!background color\end{macrodef}
+Some icons can be used with a negative color scheme where the icon is drawn negatively inside a filled shape. Per default, the icons are drawn in white in such cases, but it might be desirable that the icons are in the same color as the background. To this end, the color can be changed using the Ti\emph{k}Z option \macro{rpg icons/background color} in the following way:
+
+\begin{codeexample}
+\colorbox{blue!50}{%
+ \ability[negative]{charisma}
+ [scale=2, transform shape]%
+}
+
+\tikzset{
+ rpg icons/background color={blue!50}
+}
+\colorbox{blue!50}{%
+ \ability[negative]{charisma}
+ [scale=2, transform shape]%
+}
+\end{codeexample}
+This feature can, of course, also be used to change the color of the icon independently from the color of the background.
+
+\begin{macrodef}
+!rpg icons/!before sep
+!rpg icons/!after sep
+!rpg icons/!baseline
+\end{macrodef}
+The Ti\emph{k}Z options \macro{rpg icons/before sep} and \macro{rpg icons/after sep} are used to define the width of the space that is added before and after the icons respectively. The default value of both lengths is 0.05\,em. For example, setting the space before icons to 1\,cm can be achieved as follows:
+
+\begin{codeexample}
+Roll\die{eightside}{}a die!
+
+\tikzset{
+ rpg icons/before sep={1cm}
+}
+Roll\die{eightside}{}a die!
+\end{codeexample}
+
+The option \macro{baseline} can be used to adjust the baseline of the icons. A larger value for the baseline will shift the icon downwards relative to the baseline of the surrounding text. The default value of the baseline is \textminus 3.5\,pt.
+
+\subsection{Direct use of shapes}
+
+Because the icons are defined as Ti\emph{k}Z shapes, they can directly be applied to Ti\emph{k}Z nodes. However, the shapes don't have a shape border and no anchors except for the \macro{center} anchor that sits exactly in the center of the shape. Therefore, if nodes with these shapes are connected using edges, the \macro{center} anchor will be used to connect the nodes. If nodes with these shapes are being positioned, only the \macro{center} anchor is available. Text content of these nodes is simply printed on top of the center of the node. Compare the following example.
+
+\begin{codeexample}
+\begin{tikzpicture}
+ \node[eightside, blue, thick]
+ at (0,0) (A) {A};
+ \node[charisma] at (2,0) (B) {B};
+ \draw[red] (A) -- (B);
+\end{tikzpicture}
+\end{codeexample}
+
+\subsection{Boxing of icons}
+
+Because the icons cannot simply be used inside \macro{tikzpicture} environments, the PGF variant of the package provides a workaround to place icons inside of boxes for later use. Icons that are boxed this way can safely used inside \macro{tikzpicture} environments. This might be necessary, if an icon should be used in inline text that sits inside a node.
+
+\begin{macrodef}|\provideprotectedrpgicon|{<command>}[<style>]{<shape>}[<options>]{<box name>}\end{macrodef}
+The command \macro{\provideprotectedrpgicon} creates a box containing the icon that would be created using one of the regular commands this package provides.
+
+\macro{\provideprotectedrpgicon{die}[large]{eightside}[blue, thick]{mybox}}, for example, stores the icon of an eight-sided die with the relevant style and Ti\emph{k}Z options in a new box named \macro{mybox}. Note that no integer can be added to the \macro{die} command in this context.
+
+\provideprotectedrpgicon{die}[large]{eightside}[blue, thick]{mybox}
+
+\begin{macrodef}|\useprotectedrpgicon|{<box name>}\end{macrodef}
+Using the command \macro{\useprotectedrpgicon}, the previously defined box can be used to place the relevant icon. With the above definition, \macro{\useprotectedrpgicon{mybox}} would result in \useprotectedrpgicon{mybox}.
+
+Having created a boxed icon, it is safe to use it, for example, inside a Ti\emph{k}Z node:
+
+\begin{codeexample}
+\begin{tikzpicture}
+ \node[circle, draw, align=center] {
+ \useprotectedrpgicon{mybox} \\
+ Roll a die!
+ };
+\end{tikzpicture}
+\end{codeexample}
+
+
+\subsection{Icons as pics}\label{sec:pics}
+
+If the PGF variant of the package is loaded with the option \macro{pics}, every icon is also available as Ti\emph{k}Z pic. The names of the pic always start with \macro{rpg icons} followed by a space and the name of the relevant icon (see the lists above). For abilities, savings, spellschools and damages, additional pics exists where the name has the suffixes \macro{ability}, \macro{saving}, \macro{spellschool}, and \macro{damage} respectively.
+
+The icon is embedded as a node in the pic which has the name \macro{-node}. Thus, it is possible to name the pic and refer to the node inside. Due to the fact that the icon is a node, the option `transform shape` has to be used if transformations on the pic are to affect the node as well. It is easily possible to apply styles to the node using the Ti\emph{k}Z option \macro{every node} as shown in the following example.
+
+\begin{codeexample}
+\begin{tikzpicture}
+ \pic[
+ transform shape,
+ scale=2,
+ fill=blue,
+ draw=red,
+ every node/.append style={
+ white,
+ thick
+ }
+ ] (p) {rpg icons charisma ability};
+ \draw[red] (p-node) -- +(2,0);
+\end{tikzpicture}
+\end{codeexample}
+
+\begin{macrodef}
+!rpg icons/!create pic from shape
+!rpg icons/!create pic from ability shape
+!rpg icons/!create pic from saving shape
+!rpg icons/!create pic from spellschool shape
+!rpg icons/!create pic from damage shape
+!rpg icons/!create every style
+\end{macrodef}
+The PGF variant of the package defines five Ti\emph{k}Z keys that are used to create pics using the relevant node shapes. Another key is defined to create keys that can be used to style all instances of a command or shape. In normal circumstances, it is not necessary to use these keys. They are mentioned here only for reference.
+
+The following example shows how to create the drawing on the first page of this documentation using Ti\emph{k}Z pics. We need to call \macro{rpg icons/create pic from ability shape} for the shapes \macro{twentyside}, \macro{buff} and \macro{ranged}, because per default no pics are defined for these shapes in combination with ability. Note the use of \macro{\space} to ensure correct use of spaces in the pic name as spaces are gobbled after commands in TeX.
+
+\begin{codeexample}
+\tikzset{
+ rpg icons/%
+ create pic from ability shape/%
+ .list={
+ twentyside,
+ buff,
+ ranged
+ },
+ rpg icons/every ability/.style={
+ ultra thick,
+ draw=white,
+ line join=round,
+ line cap=round
+ }
+}
+
+\begin{tikzpicture}[scale=4]
+ \foreach \x/\c [count=\i] in {
+ twentyside/264653,
+ charisma/287271,
+ armor/2a9d8f,
+ buff/e9c46a,
+ ranged/f4a261,
+ proficiency/e76f51
+ } {
+ \definecolor{color}{HTML}{\c}
+ \pic[fill=color, transform shape]
+ at ({60*\i+10}:{0.33cm})
+ {rpg icons \x\space ability};
+ }
+\end{tikzpicture}
+\end{codeexample}
+
+\subsection{Roll dice syntax}
+
+\begin{macrodef}
+|\roll|{<roll syntax>}
+|\rpgiconsroll|{<roll syntax>}
+\end{macrodef}
+The \macro{\roll} macro can be used to quickly typeset dice rolls with the relevant icons using the established dice rolling syntax. This syntax consists of a sequence of dice and numbers concatenated by mathematical operators (plus, minus or times). Typically, the letter \macro{d} is used to denote a die with a certain number of sides. For example \macro{d6} denotes a six-sided die. A number can be added to specify the number of such dice that are rolled together. The letter to denote the die can be changed using the Ti\emph{k}Z style \macro{rpg icons/roll syntax}.
+
+For example, \macro{2d6 + 3d4 - 1} means ``roll two six-sided dice and three four-sided dice and subtract one from the result''. The command \macro{\roll{2d6 + 3d4 - 1}} results in \roll{2d6 + 3d4 - 1}.
+
+The die notations \macro{d2}, \macro{d4}, \macro{d6}, \macro{d8}, \macro{d10}, \macro{d12}, \macro{d20} and \macro{d100} are defined. To denote a fudge die, \macro{dF} can be used. To denote that the lowest or highest die should be removed from the result, the letters \macro{L} and \macro{H} can be used. The syntax \macro{2d6 x 2} or \macro{2d6 * 2} can be used to denote several rolls with the same set of dice.
+
+If the \macro{rpgicons} package is to be loaded together with some other package that defines the command \macro{\roll}, the command \macro{\rpgiconsroll} can be used. This alternative command is an exact copy of the \macro{\roll} command.
+
+\begin{macrodef}
+!rpg icons/!roll syntax
+\end{macrodef}
+The Ti\emph{k}Z style \macro{rpg icons/roll syntax} can be used to change the character that denotes a die in the dice rolling syntax. Multiple characters can be given using a comma separated list. The default setting is \macro{d,D} which allows notations such as \macro{2d6} or \macro{2D6}.
+
+With \macro{\tikzset{rpg icons/roll syntax={w,W}}}, for example, notations such as \macro{2w6} or \macro{2W6} could be used.
+
+% =====
+
+\printchanges
+
+\end{document}
+
+%% End of file `rpgicons-doc.tex`.
diff --git a/macros/latex/contrib/rpgicons/rpgicons-l3.sty b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
new file mode 100644
index 0000000000..3103502bf3
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
@@ -0,0 +1,2025 @@
+% File: rpgicons-l3.sty
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `rpgicons' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\ProvidesExplPackage {rpgicons-l3} {2024-05-15} {1.8.3}
+ {rpg Icons Package (l3 Variant)}
+
+\bool_new:N \l__rpgicons_unicode_mode_bool
+\sys_if_engine_luatex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+}
+\sys_if_engine_xetex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+}
+
+\bool_new:N \l__rpgicons_compat_mode_bool
+\bool_new:N \l__rpgicons_use_opacity_bool
+\keys_define:nn { rpgicons / package ~ options } {
+ compat .bool_set:N = \l__rpgicons_compat_mode_bool ,
+ compat .default:n = { true } ,
+ opacity .bool_set:N = \l__rpgicons_use_opacity_bool ,
+ opacity .default:n = { true } ,
+}
+\ProcessKeyOptions [ rpgicons / package ~ options ]
+
+\msg_new:nnn { rpgicons } { documentmetadata-missing } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ In ~ order ~ to ~ use ~ opacity, ~ \token_to_str:N \DocumentMetadata \c_space_tl must ~ be ~ set.
+}
+\msg_new:nnn { rpgicons } { opacity-option-missing } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ In ~ order ~ to ~ use ~ opacity, ~ the ~ package ~ must ~ be ~ loaded ~ with ~ the ~ `opacity' ~ option.
+}
+\msg_new:nnn { rpgicons } { l3draw-old } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ The ~ version ~ of ~ the ~ `l3draw' ~ package ~ is ~ older ~ than ~ 2024-03-14. ~
+ Consider ~ using ~ the ~ `compat' ~ option.
+}
+
+\bool_if:NT \l__rpgicons_use_opacity_bool {
+ \IfDocumentMetadataTF { } {
+ \msg_error:nn { rpgicons } { documentmetadata-missing }
+ }
+ \RequirePackage { l3opacity }
+ \bool_if:NT \l__rpgicons_compat_mode_bool {
+ % l3opacity fix
+ \tl_set:Nn \l__opacity_backend_fill_tl { 1 }
+ \tl_set:Nn \l__opacity_backend_stroke_tl { 1 }
+ }
+}
+
+\RequirePackage { l3draw }
+
+\IfPackageAtLeastTF { l3draw } { 2024/03/14 } { } {
+ \bool_if:NF \l__rpgicons_compat_mode_bool {
+ \msg_warning:nn { rpgicons } { l3draw-old }
+ }
+}
+
+% DICE
+
+\cs_new:Npn \rpgicons_draw_shape_twoside: {
+ \draw_path_ellipse:nnn { 0cm , 0cm } { 0cm , .25cm } { .425cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fourside: {
+ \draw_path_moveto:n { 0cm , .35cm }
+ \draw_path_lineto:n { .433cm , -.4cm }
+ \draw_path_lineto:n { -.433cm , -.4cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_sixside: {
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ \draw_path_moveto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { -.4cm , .4cm }
+ \draw_path_lineto:n { .4cm , .4cm }
+ \draw_path_lineto:n { .4cm , -.4cm }
+ \draw_path_close:
+ } {
+ \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_eightside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .433cm , .25cm }
+ \draw_path_lineto:n { .433cm , -.25cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.433cm , -.25cm }
+ \draw_path_lineto:n { -.433cm , .25cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .433cm , -.25cm }
+ \draw_path_lineto:n { -.433cm , -.25cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_tenside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .475cm , .1cm }
+ \draw_path_lineto:n { .475cm , -.1cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.475cm , -.1cm }
+ \draw_path_lineto:n { -.475cm , .1cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .294cm , -.154cm }
+ \draw_path_lineto:n { 0cm , -.3cm }
+ \draw_path_lineto:n { -.294cm , -.154cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .294cm , -.154cm }
+ \draw_path_lineto:n { .475cm , -.1cm }
+ \draw_path_moveto:n { -.475cm , -.1cm }
+ \draw_path_lineto:n { -.294cm , -.154cm }
+ \draw_path_moveto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { 0cm , -.3cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_twelveside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { 0.294cm , .405cm }
+ \draw_path_lineto:n { .475cm , .173cm }
+ \draw_path_lineto:n { .475cm , -.173cm }
+ \draw_path_lineto:n { .294cm , -.405cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.294cm , -.405cm }
+ \draw_path_lineto:n { -.475cm , -.173cm }
+ \draw_path_lineto:n { -.475cm , .173cm }
+ \draw_path_lineto:n { -.294cm , .405cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , .349cm }
+ \draw_path_lineto:n { .332cm , .108cm }
+ \draw_path_lineto:n { .205cm , -.282cm }
+ \draw_path_lineto:n { -.205cm , -.282cm }
+ \draw_path_lineto:n { -.332cm , .108cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , .5cm }
+ \draw_path_moveto:n { .475cm , .173cm }
+ \draw_path_lineto:n { .332cm , .108cm }
+ \draw_path_moveto:n { .294cm , -.405cm }
+ \draw_path_lineto:n { .205cm , -.282cm }
+ \draw_path_moveto:n { -.294cm , -.405cm }
+ \draw_path_lineto:n { -.205cm , -.282cm }
+ \draw_path_moveto:n { -.475cm , .173cm }
+ \draw_path_lineto:n { -.332cm , .108cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_twentyside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .454cm , .262cm }
+ \draw_path_lineto:n { .454cm , -.262cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.454cm , -.262cm }
+ \draw_path_lineto:n { -.454cm , .262cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , .292cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .454cm , .262cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+ \draw_path_lineto:n { -.454cm , .262cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , .5cm }
+ \draw_path_moveto:n { .454cm , -.262cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_moveto:n { -.454cm , -.262cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_hundredside: {
+ \draw_path_circle:nn { 0cm, 0cm } { .425cm }
+ \draw_path_moveto:n { .425cm , 0cm }
+ \draw_path_arc:nnnn { 180 } { 50 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 270 } { 140 } { -.2cm } { .425cm }
+}
+
+\clist_new:N \l_rpgnicons_pips_clist
+\fp_new:N \l_rpgnicons_pips_coordx_fp
+\fp_new:N \l_rpgnicons_pips_coordy_fp
+\cs_new:Npn \rpgicons_draw_shape_sixside_pips:n #1 {
+ \str_case:nn {#1} {
+ { one } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { 0cm , 0cm }
+ } }
+ { two } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , -.2cm }
+ } }
+ { three } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , 0cm } , { .2cm , -.2cm }
+ } }
+ { four } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { five } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { 0cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { six } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { seven } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { 0cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { eight } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { 0cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { nine } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { 0cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { 0cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ }
+ \clist_map_inline:Nn \l_rpgnicons_pips_clist {
+ \fp_set:Nn \l_rpgnicons_pips_coordx_fp { \clist_item:nn {##1} { 1 } }
+ \fp_set:Nn \l_rpgnicons_pips_coordy_fp { \clist_item:nn {##1} { 2 } }
+ \draw_path_circle:nn { \l_rpgnicons_pips_coordx_fp , \l_rpgnicons_pips_coordy_fp } { 2pt }
+ }
+ \draw_path_use_clear:n { fill }
+ \rpgicons_draw_shape_sixside:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { .15cm , .1cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { 0cm , -.05cm }
+ \draw_path_moveto:n { -.15cm , -.2cm }
+ \draw_path_lineto:n { .15cm , -.2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge_plus: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_lineto:n { 0cm , -.15cm }
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { .15cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge_minus: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { .15cm , 0cm }
+}
+
+% ABILITIES
+
+\cs_new:Npn \rpgicons_draw_shape_strength: {
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 60 } { .425cm }
+ \draw_path_arc:nnn { 200 } { -40 } { .1cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnn { 45 } { -20 } { .425cm }
+ \draw_path_arc:nnn { -50 } { -80 } { .35cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 120 } { .425cm }
+ \draw_path_arc:nnn { -20 } { 220 } { .1cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 200 } { .425cm }
+ \draw_path_arc:nnn { 230 } { 260 } { .35cm }
+ \draw_path_moveto:n { -.2cm , -.025cm }
+ \draw_path_lineto:n { -.1cm , -.05cm }
+ \draw_path_lineto:n { -.125cm , -.325cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .125cm } { .1cm }
+ \draw_path_lineto:n { .1cm , -.05cm }
+ \draw_path_lineto:n { .2cm , -.025cm }
+ \draw_path_moveto:n { 0cm , -.3cm }
+ \draw_path_arc:nnn { 90 } { 70 } { .1cm }
+ \draw_path_moveto:n { 0cm , -.3cm }
+ \draw_path_arc:nnn { 90 } { 110 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_constitution: {
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { .125cm , .25cm }
+ \draw_path_arc:nnn { -90 } { -30 } { .325cm }
+ \draw_path_arc:nnn { 0 } { -80 } { .3cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { -.125cm , .25cm }
+ \draw_path_arc:nnn { 270 } { 210 } { .325cm }
+ \draw_path_arc:nnn { 180 } { 260 } { .3cm }
+ \draw_path_moveto:n { .325cm , .1cm }
+ \draw_path_lineto:n { .425cm , .075cm }
+ \draw_path_arc:nnnn { 0 } { -90 } { .175cm } { .1cm }
+ \draw_path_lineto:n { .2cm , -.15cm }
+ \draw_path_moveto:n { -.325cm , .1cm }
+ \draw_path_lineto:n { -.425cm , .075cm }
+ \draw_path_arc:nnnn { 180 } { 270 } { .175cm } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.15cm }
+ \draw_path_moveto:n { -.15cm , -.225cm }
+ \draw_path_arc:nnn { 90 } { 270 } { .1cm }
+ \draw_path_lineto:n { .15cm , -.425cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .1cm }
+ \draw_path_moveto:n { -.125cm , -.35cm }
+ \draw_path_arc:nnn { -90 } { 0 } { .05cm }
+ \draw_path_moveto:n { .125cm , -.35cm }
+ \draw_path_arc:nnn { 90 } { 0 } { -.05cm }
+ \draw_path_moveto:n { -.125cm , -.025cm }
+ \draw_path_lineto:n { -.075cm , -.05cm }
+ \draw_path_lineto:n { -.075cm , -.1cm }
+ \draw_path_moveto:n { .125cm , -.025cm }
+ \draw_path_lineto:n { .075cm , -.05cm }
+ \draw_path_lineto:n { .075cm , -.1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_wisdom: {
+ \draw_path_moveto:n { 0cm , .175cm }
+ \draw_path_arc:nnn { 60 } { 90 } { .425cm }
+ \draw_path_arc:nnn { 270 } { 240 } { .425cm }
+ \draw_path_moveto:n { 0cm , .175cm }
+ \draw_path_arc:nnn { 120 } { 90 } { .425cm }
+ \draw_path_arc:nnn { 270 } { 300 } { .425cm }
+ \draw_path_circle:nn { -.175cm , 0cm } { .075cm }
+ \draw_path_circle:nn { .175cm , 0cm } { .075cm }
+ \draw_path_moveto:n { .075cm , -.125cm }
+ \draw_path_lineto:n { 0cm , -.325cm }
+ \draw_path_lineto:n { -.075cm , -.125cm }
+ \draw_path_moveto:n { -.375cm , .125cm }
+ \draw_path_arc:nnn { 150 } { 270 } { .25cm }
+ \draw_path_moveto:n { .375cm , .125cm }
+ \draw_path_arc:nnn { 30 } { -90 } { .25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_charisma: {
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 270 } { 190 } { .15cm } { .1cm }
+ \draw_path_arc:nnnn { 10 } { 90 } { .175cm } { .225cm }
+ \draw_path_arc:nnnn { 40 } { 0 } { .125cm } { .175cm }
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 270 } { 350 } { .15cm } { .1cm }
+ \draw_path_arc:nnnn { 170 } { 90 } { .175cm } { .225cm }
+ \draw_path_arc:nnnn { 140 } { 180 } { .125cm } { .175cm }
+ \draw_path_moveto:n { -.2cm , .125cm }
+ \draw_path_arc:nnnn { 0 } { 90 } { .175cm } { .1cm }
+ \draw_path_arc:nnnn { 180 } { 270 } { .15cm } { .2cm }
+ \draw_path_lineto:n { -.25cm , -.05cm }
+ \draw_path_arc:nnn { 40 } { 0 } { .45cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { .2cm , .125cm }
+ \draw_path_arc:nnnn { 180 } { 90 } { .175cm } { .1cm }
+ \draw_path_arc:nnnn { 0 } { -90 } { .15cm } { .2cm }
+ \draw_path_lineto:n { .25cm , -.05cm }
+ \draw_path_arc:nnn { 140 } { 180 } { .45cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.05cm , -.275cm }
+ \draw_path_arc:nnn { -30 } { 60 } { .05cm }
+ \draw_path_moveto:n { .05cm , -.275cm }
+ \draw_path_arc:nnn { 210 } { 120 } { .05cm }
+ \draw_path_moveto:n { -.125cm , -.05cm }
+ \draw_path_lineto:n { -.05cm , -.075cm }
+ \draw_path_moveto:n { .125cm , -.05cm }
+ \draw_path_lineto:n { .05cm , -.075cm }
+ \draw_path_moveto:n { -.35cm , -.05cm }
+ \draw_path_lineto:n { -.425cm , -.05cm }
+ \draw_path_arc:nnn { 30 } { -30 } { .15cm }
+ \draw_path_arc:nnn { 80 } { 10 } { .15cm }
+ \draw_path_lineto:n { -.25cm , -.275cm }
+ \draw_path_moveto:n { .35cm , -.05cm }
+ \draw_path_lineto:n { .425cm , -.05cm }
+ \draw_path_arc:nnn { 150 } { 210 } { .15cm }
+ \draw_path_arc:nnn { 100 } { 170 } { .15cm }
+ \draw_path_lineto:n { .25cm , -.275cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_dexterity: {
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 65 } { .425cm }
+ \draw_path_arc:nnnn { 200 } { 90 } { .1cm } { .075cm }
+ \draw_path_arc:nnnn { 90 } { -30 } { .1cm } { .075cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnnn { 45 } { -20 } { .425cm } { .35cm }
+ \draw_path_arc:nnn { 110 } { 160 } { .175cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 115 } { .425cm }
+ \draw_path_arc:nnnn { -20 } { 90 } { .1cm } { .075cm }
+ \draw_path_arc:nnnn { 90 } { 220 } { .1cm } { .075cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnnn { 135 } { 200 } { .425cm } { .35cm }
+ \draw_path_arc:nnn { 70 } { 20 } { .175cm }
+ \draw_path_moveto:n { -.075cm , -.175cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.225cm }
+ \draw_path_lineto:n { 0cm , -.25cm }
+ \draw_path_moveto:n { -.2cm , .025cm }
+ \draw_path_lineto:n { -.075cm , 0cm }
+ \draw_path_lineto:n { -.125cm , -.075cm }
+ \draw_path_moveto:n { .125cm , -.075cm }
+ \draw_path_lineto:n { .075cm , 0cm }
+ \draw_path_lineto:n { .2cm , .025cm }
+ \draw_path_moveto:n { 0cm , -.25cm }
+ \draw_path_arc:nnnn { 360 } { 140 } { .1cm } { .075cm }
+ \draw_path_moveto:n { 0cm , -.25cm }
+ \draw_path_arc:nnnn { 180 } { 400 } { .1cm } { .075cm }
+ \draw_path_moveto:n { -.1cm , -.325cm }
+ \draw_path_lineto:n { -.1cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.325cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_dexterity_alt: {
+ \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 75 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 105 } { .425cm }
+ \draw_path_moveto:n { .125cm , .175cm }
+ \draw_path_lineto:n { .375cm , .425cm }
+ \draw_path_arc:nnn { 30 } { -20 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .425cm } { 30 } ) }
+ \draw_path_arc:nnnn { 30 } { -45 } { .425cm } { .35cm }
+ \draw_path_moveto:n { -.125cm , .175cm }
+ \draw_path_lineto:n { -.375cm , .425cm }
+ \draw_path_arc:nnn { 150 } { 200 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .425cm } { 150 } ) }
+ \draw_path_arc:nnnn { 150 } { 225 } { .425cm } { .35cm }
+ \draw_path_moveto:n { .075cm , -.075cm }
+ \draw_path_arc:nnnn { 170 } { 90 } { .15cm } { .05cm }
+ \draw_path_moveto:n { -.075cm , -.075cm }
+ \draw_path_arc:nnnn { 10 } { 90 } { .15cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 0 } { 90 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 180 } { 90 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 360 } { 180 } { .1cm } { .075cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .075cm }
+ \draw_path_moveto:n { -.1cm , -.35cm }
+ \draw_path_lineto:n { -.1cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.35cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_intelligence: {
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 60 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .6cm } { 60 } ) }
+ \draw_path_arc:nnn { 40 } { -2.5 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 120 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .6cm } { 120 } ) }
+ \draw_path_arc:nnn { 140 } { 182.5 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnn { 45 } { 0 } { .425cm }
+ \draw_path_lineto:n { .2cm , -.275cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 180 } { .425cm }
+ \draw_path_lineto:n { -.2cm , -.275cm }
+ \draw_path_moveto:n { -.2cm , -.075cm }
+ \draw_path_lineto:n { -.1cm , -.1cm }
+ \draw_path_lineto:n { -.075cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .075cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.1cm }
+ \draw_path_lineto:n { .2cm , -.075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_resilience: {
+ \draw_path_moveto:n { ( -.425cm , -.475cm ) + ( \draw_point_polar:nn { .5cm } { 65 } ) }
+ \draw_path_arc:nnn { 65 } { 90 } { .5cm }
+ \draw_path_lineto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .55cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 45 } { .55cm }
+ \draw_path_lineto:n { .425cm , .025cm }
+ \draw_path_arc:nnn { 90 } { 115 } { .5cm }
+ \draw_path_moveto:n { .2cm , .3cm }
+ \draw_path_lineto:n { .125cm , .275cm }
+ \draw_path_lineto:n { .2cm , .15cm }
+ \draw_path_moveto:n { .125cm , .075cm }
+ \draw_path_lineto:n { .05cm , .05cm }
+ \draw_path_moveto:n { .15cm , -.1cm }
+ \draw_path_arc:nnn { 200 } { 230 } { .4cm }
+ \draw_path_moveto:n { -.2cm , .3cm }
+ \draw_path_lineto:n { -.125cm , .275cm }
+ \draw_path_lineto:n { -.2cm , .15cm }
+ \draw_path_moveto:n { -.125cm , .075cm }
+ \draw_path_lineto:n { -.05cm , .05cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { 340 } { 310 } { .4cm }
+ \draw_path_moveto:n { -.065cm , -.075cm }
+ \draw_path_lineto:n { -.045cm , -.425cm }
+ \draw_path_lineto:n { .045cm , -.425cm }
+ \draw_path_lineto:n { .065cm , -.075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_sanity: {
+ \draw_path_moveto:n { ( -.125cm + .175cm * sind(30) , .425cm - .175cm * cosd(30) ) +
+ ( \draw_point_polar:nn { .175cm } { 210 } ) }
+ \draw_path_arc:nnn { 210 } { 120 } { .175cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm } { 110 } }
+ \draw_path_arc:nnn { 110 } { 70 } { .25cm }
+ \draw_path_lineto:n { .125cm , .425cm }
+ \draw_path_arc:nnn { 420 } { 330 } { .175cm }
+ \draw_path_moveto:n { .25cm , .1cm }
+ \draw_path_arc:nnn { 390 } { 305 } { .15cm }
+ \draw_path_moveto:n { -.25cm , .1cm }
+ \draw_path_arc:nnn { 150 } { 235 } { .15cm }
+ \draw_path_moveto:n { -.15cm , .075cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_lineto:n { -.1cm , .025cm }
+ \draw_path_moveto:n { .15cm , .075cm }
+ \draw_path_lineto:n { .1cm , .05cm }
+ \draw_path_lineto:n { .1cm , .025cm }
+ \draw_path_moveto:n { ( -.55cm , -.35cm ) + ( \draw_point_polar:nnn { .125cm } { .075cm} { 135 } ) +
+ ( \draw_point_polar:nn { .55cm } { 20 } ) }
+ \draw_path_arc:nnn { 380 } { 360 } { .55cm }
+ \draw_path_arc:nnnn { 135 } { 405 } { .125cm } { .075cm }
+ \draw_path_arc:nnn { 180 } { 160 } { .55cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_perception: {
+ \draw_path_moveto:n { ( 0cm , .35cm ) + ( \draw_point_polar:nn { .125cm } { 150 } ) }
+ \draw_path_arc:nnn { 150 } { 390 } { .125cm }
+ \draw_path_moveto:n { -.3cm , .425cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .3cm } { .2cm }
+ \draw_path_moveto:n { ( 0cm , .425cm ) + ( \draw_point_polar:nnn { .3cm } { .2cm } { 330 } ) }
+ \draw_path_arc:nnnn { 270 } { 350 } { .15cm } { .1cm }
+ \draw_path_moveto:n { ( 0cm , .425cm ) + ( \draw_point_polar:nnn { .3cm } { .2cm } { 210 } ) }
+ \draw_path_arc:nnnn { 270 } { 190 } { .15cm } { .1cm }
+ \draw_path_moveto:n { -.2cm , .15cm }
+ \draw_path_lineto:n { -.375cm , .125cm }
+ \draw_path_arc:nnn { 210 } { 250 } { .225cm }
+ \draw_path_moveto:n { .2cm , .15cm }
+ \draw_path_lineto:n { .375cm , .125cm }
+ \draw_path_arc:nnn { 330 } { 290 } { .225cm }
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { -.075cm , -.025cm }
+ \draw_path_lineto:n { -.075cm , -.05cm }
+ \draw_path_moveto:n { .15cm , 0cm }
+ \draw_path_lineto:n { .075cm , -.025cm }
+ \draw_path_lineto:n { .075cm , -.05cm }
+ \draw_path_moveto:n { ( -.075cm , ( -.35cm + .075cm * ( 2 + sqrt(3) ) ) ) +
+ ( \draw_point_polar:nnn { .1cm } { .075cm } { 195 } ) }
+ \draw_path_lineto:n { ( 0cm , -.35cm ) + ( \draw_point_polar:nnn { .1cm } { .075cm } { 195 } ) }
+ \draw_path_arc:nnnn { 195 } { 345 } { .1cm } { .075cm }
+ \draw_path_lineto:n { ( .075cm , ( -.35cm + .075cm * ( 2 + sqrt(3) ) ) ) +
+ ( \draw_point_polar:nnn { .1cm } { .075cm } { 345 } ) }
+ \draw_path_moveto:n { .025cm , -.325cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .025cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_luck: {
+ \draw_path_moveto:n { .1cm , .15cm }
+ \draw_path_lineto:n { .1cm , -.05cm }
+ \draw_path_arc:nnn { -75 } { -15 } { .425cm }
+ \draw_path_arc:nnn { 40 } { 85 } { .425cm }
+ \draw_path_moveto:n { -.1cm , .15cm }
+ \draw_path_lineto:n { -.1cm , -.05cm }
+ \draw_path_arc:nnn { -105 } { -165 } { .425cm }
+ \draw_path_arc:nnn { 140 } { 95 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.05cm ) + ( \draw_point_polar:nn { .425cm } { 15 } ) }
+ \draw_path_arc:nnnn { 15 } { -55 } { .425cm } { .3cm }
+ \draw_path_moveto:n { ( 0cm , -.05cm ) + ( \draw_point_polar:nn { .425cm } { 165 } ) }
+ \draw_path_arc:nnnn { 165 } { 235 } { .425cm } { .3cm }
+ \draw_path_moveto:n { 0cm , -.175cm }
+ \draw_path_arc:nnnn { 90 } { 250 } { .175cm } { .125cm }
+ \draw_path_lineto:n { -.05cm , -.325cm }
+ \draw_path_moveto:n { 0cm , -.175cm }
+ \draw_path_arc:nnnn { 90 } { -70 } { .175cm } { .125cm }
+ \draw_path_lineto:n { .05cm , -.325cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_armor: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .25cm , -.425cm }
+ \draw_path_lineto:n { .2cm , -.225cm }
+ \draw_path_lineto:n { .25cm , .125cm }
+ \draw_path_lineto:n { .425cm , .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .3cm }
+ \draw_path_lineto:n { .125cm , .35cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.125cm , .425cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .3cm }
+ \draw_path_lineto:n { -.25cm , .125cm }
+ \draw_path_lineto:n { -.2cm , -.225cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .125cm , .425cm }
+ \draw_path_lineto:n { .125cm , .25cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_moveto:n { -.125cm , .425cm }
+ \draw_path_lineto:n { -.125cm , .25cm }
+ \draw_path_arc:nnn { 360 } { 270 } { .125cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_moveto:n { -.2cm , -.225cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { .2cm , -.225cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_proficiency: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 126 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 162 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 198 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 234 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 306 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 342 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 18 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 54 } }
+ \draw_path_close:
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 342 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 342 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 54 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 54 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm } { 126 }}
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 126 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 198 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 198 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_linear: {
+ \draw_path_circle:nn { -.4cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_moveto:n { -.4cm , 0cm }
+ \draw_path_lineto:n { .4cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_conic: {
+ \draw_path_circle:nn { -.425cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_ellipse:nnn { .2125cm , 0cm } { .2cm , 0cm } { 0cm , .425cm }
+ \draw_path_moveto:n { .2125cm - .2cm * sin( asin( .2cm / .6375cm ) ) ,
+ -.425cm * cos( asin( .2cm / ( .6375cm ) ) ) }
+ \draw_path_lineto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .2125cm - .2cm * sin( asin( .2cm / .6375cm ) ) ,
+ .425cm * cos( asin( .2cm / ( .6375cm ) ) ) }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_quadratic: {
+ \draw_path_circle:nn { 0cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ \draw_path_moveto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { -.4cm , .4cm }
+ \draw_path_lineto:n { .4cm , .4cm }
+ \draw_path_lineto:n { .4cm , -.4cm }
+ \draw_path_close:
+ } {
+ \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cubic: {
+ \draw_path_circle:nn { .1125cm , -.1125cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_moveto:n { -.425cm , .425cm }
+ \draw_path_lineto:n { -.425cm , -.2cm }
+ \draw_path_lineto:n { -.2cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+ \draw_path_lineto:n { .425cm , .2cm }
+ \draw_path_lineto:n { .2cm , .425cm }
+ \draw_path_close:
+ \draw_path_lineto:n { -.2cm , .2cm }
+ \draw_path_lineto:n { -.2cm , -.425cm }
+ \draw_path_moveto:n { -.2cm , .2cm }
+ \draw_path_lineto:n { .425cm , .2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_spheric: {
+ \draw_path_circle:nn { 0cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { .425cm , 0cm }
+ \draw_path_arc:nnnn { 180 } { 50 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 270 } { 140 } { -.2cm } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cylindric: {
+ \draw_path_circle:nn { 0cm , -.2125cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_ellipse:nnn { 0cm , .2125cm } { 0cm , .2cm } { .425cm , 0cm }
+ \draw_path_moveto:n { -.425cm , .2125cm }
+ \draw_path_lineto:n { -.425cm , -.2125cm }
+ \draw_path_arc:nnnn { 0 } { 180 } { -.425cm } { -.2cm }
+ \draw_path_lineto:n { .425cm , .2125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_verbal: {
+ \draw_path_moveto:n { -.35cm , 0cm }
+ \draw_path_arc:nnn { 180 } { -115 } { .35cm }
+ \draw_path_lineto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm } { 215 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_somatic: {
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_arc:nnnn { 0 } { 270 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 90 } { 360 } { -.2cm } { -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_material: {
+ \draw_path_moveto:n { -.4cm , .2cm }
+ \draw_path_lineto:n { -.4cm , -.2cm }
+ \draw_path_lineto:n { 0cm , -.4cm }
+ \draw_path_lineto:n { .4cm , -.2cm }
+ \draw_path_lineto:n { .4cm , .2cm }
+ \draw_path_lineto:n { 0cm , .4cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .4cm , .2cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , -.4cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_focus: {
+ \draw_path_circle:nn { 0cm , 0cm } { .35cm }
+ \draw_path_moveto:n { -.15cm , 0 }
+ \draw_path_lineto:n { -.425cm , 0 }
+ \draw_path_moveto:n { .15cm , 0 }
+ \draw_path_lineto:n { .425cm , 0 }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+}
+
+% SPELLSCHOOLS
+
+\cs_new:Npn \rpgicons_draw_shape_abjuration: {
+ \draw_path_moveto:n { 0cm , .025cm }
+ \draw_path_arc:nnnn { 270 } { 390 } { .275cm } { .175cm }
+ \draw_path_arc:nnn { 210 } { 120 } { .095cm }
+ \draw_path_moveto:n { 0cm , .025cm }
+ \draw_path_arc:nnnn { 270 } { 150 } { .275cm } { .175cm }
+ \draw_path_arc:nnn { -30 } { 60 } { .095cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.25cm , -.125cm }
+ \draw_path_lineto:n { .25cm , -.125cm }
+ \draw_path_moveto:n { -.25cm , -.3cm }
+ \draw_path_lineto:n { .25cm , -.3cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_conjuration: {
+ \draw_path_moveto:n { -.425cm , .425cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+ \draw_path_moveto:n { -.225cm , .05cm }
+ \draw_path_lineto:n { .225cm , .05cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnn { 110 } { 70 } { .5cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnn { 110 } { 70 } { -.5cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_divination: {
+ \draw_path_moveto:n { -.35cm , -.175cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .15cm } { -.25cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .4cm }
+ \draw_path_moveto:n { -.05cm , -.175cm }
+ \draw_path_lineto:n { -.05cm , 0cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .4cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_enchantment: {
+ \draw_path_moveto:n { -.2cm , -.425cm }
+ \draw_path_lineto:n { -.2cm , .425cm }
+ \draw_path_moveto:n { -.425cm , .175cm }
+ \draw_path_lineto:n { .025cm , .175cm }
+ \draw_path_moveto:n { -.2cm , -.225cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { .2cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { .2cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { -.2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_evocation: {
+ \draw_path_ellipse:nnn { 0cm , 0cm } { .325cm , 0cm } { 0cm , .225cm }
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 30 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 30 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 60 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 60 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 120 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 120 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 150 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 150 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 210 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 210 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 240 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 240 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 300 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 300 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 330 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 330 } { .4cm} }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_illusion: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 270 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 270 } }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 240 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm} { 225 } }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 300 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm} { 315 } }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , .075cm } { .15cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_necromancy: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_arc:nnn { 210 } { -30 } { .25cm }
+ \draw_path_arc:nnn { 150 } { 390 } { .1cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_arc:nnn { 390 } { 150 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_transmutation: {
+ \draw_path_moveto:n { -.25cm , .35cm }
+ \draw_path_lineto:n { -.25cm , -.35cm }
+ \draw_path_moveto:n { 0cm , .35cm }
+ \draw_path_lineto:n { 0cm , -.35cm }
+ \draw_path_moveto:n { -.425cm , .35cm }
+ \draw_path_lineto:n { .15cm , .35cm }
+ \draw_path_arc:nnn { 90 } { -45 } { .1cm }
+ \draw_path_arc:nnn { 135 } { 360 } { .1cm }
+}
+
+% DAMAGES
+
+\cs_new:Npn \rpgicons_draw_shape_acid: {
+ \draw_path_moveto:n { ( -.175cm , .05cm ) + ( \draw_point_polar:nn { .175 } { -20 } ) }
+ \draw_path_arc:nnn { -20 } { 200 } { -.175cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_close:
+ \draw_path_moveto:n {
+ \draw_point_intersect_lines:nnnn
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 160 } ) }
+ { -.425cm , -.425cm } { -.425cm , .425cm }
+ }
+ \draw_path_lineto:n { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ \draw_path_arc:nnn { 20 } { 160 } { -.25cm }
+ \draw_path_lineto:n {
+ \draw_point_intersect_lines:nnnn
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 160 } ) }
+ { .425cm , -.425cm } { .425cm , .425cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_bludgeoning: {
+ \draw_path_moveto:n { -.2cm , .225cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .225cm , -.2cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .05cm , -.025cm }
+ \draw_path_lineto:n { -.35cm , -.425cm }
+ \draw_path_lineto:n { -.425cm , -.35cm }
+ \draw_path_lineto:n { -.025cm , .05cm }
+ \draw_path_moveto:n { .2375cm , .1875cm }
+ \draw_path_arc:nnn { 135 } { 315 } { -.05cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cold: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 110 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 70 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 250 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 290 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 50 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 10 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 190 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 230 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 330 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 170 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 310 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 350 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fire: {
+ \draw_path_moveto:n { .15cm , -.425cm }
+ \draw_path_arc:nnnn { -60 } { 0 } { .45cm } { .375cm }
+ \draw_path_curveto:nnn { .375cm , .15cm } { .15cm , .375cm } { -.05cm , .425cm }
+ \draw_path_moveto:n { -.15cm , -.425cm }
+ \draw_path_arc:nnnn { 240 } { 135 } { .45cm } { .35cm }
+ \draw_path_curveto:nnn { -.15cm , .2cm } { 0cm , .25cm } { -.05cm , .425cm }
+ \draw_path_moveto:n { .075cm , -.3cm }
+ \draw_path_curveto:nnn { .2cm , -.2cm } { .2cm , -.05cm } { .05cm , .1cm }
+ \draw_path_moveto:n { -.075cm , -.3cm }
+ \draw_path_arc:nnnn { 220 } { 150 } { .35cm } { .2cm }
+ \draw_path_curveto:nnn { 0cm , -.2cm } { .05cm , -.1cm } { .05cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_force: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 120 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 180 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 240 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 0 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 60 } }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_lightning: {
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { -.25cm , -.15cm }
+ \draw_path_lineto:n { .25cm , .15cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_necrotic: {
+ \draw_path_moveto:n { -.35cm , -.425cm }
+ \draw_path_lineto:n { -.35cm , .075cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .35cm }
+ \draw_path_lineto:n { .35cm , -.425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , -.2cm }
+ \draw_path_lineto:n { 0cm , .25cm }
+ \draw_path_moveto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { .15cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_piercing: {
+ \draw_path_moveto:n { -.425cm , .075cm }
+ \draw_path_lineto:n { .3cm , .075cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .3cm , -.075cm }
+ \draw_path_lineto:n { -.425cm , -.075cm }
+ \draw_path_moveto:n { .25cm , .2cm }
+ \draw_path_lineto:n { -.05cm , .35cm }
+ \draw_path_moveto:n { .25cm , -.2cm }
+ \draw_path_lineto:n { -.05cm , -.35cm }
+ \draw_path_moveto:n { .425cm , .15cm }
+ \draw_path_lineto:n { .25cm , .425cm }
+ \draw_path_moveto:n { .425cm , -.15cm }
+ \draw_path_lineto:n { .25cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_poison: {
+ \draw_path_moveto:n { ( 0cm , .175cm ) + ( \draw_point_polar:nn { .25cm } { -40 } ) }
+ \draw_path_arc:nnn { -40 } { 220 } { .25cm }
+ \draw_path_lineto:n { -.15cm , -.1cm }
+ \draw_path_lineto:n { .15cm , -.1cm }
+ \draw_path_close:
+ \draw_path_circle:nn { -.1cm , .15cm } { .05cm }
+ \draw_path_circle:nn { .1cm , .15cm } { .05cm }
+ \draw_path_moveto:n { .425cm , -.2cm }
+ \draw_path_lineto:n { -.425cm , -.425cm }
+ \draw_path_moveto:n { -.425cm , -.2cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_psychic: {
+ \draw_path_moveto:n { .075cm , .4cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .425cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .375cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .325cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .275cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .225cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_radiant: {
+ \draw_path_circle:nn { 0cm , 0cm } { .225cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 15 } }
+ \draw_path_arc:nnn { 15 } { 45 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 75 } }
+ \draw_path_arc:nnn { 75 } { 105 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_arc:nnn { 135 } { 165 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 195 } }
+ \draw_path_arc:nnn { 195 } { 225 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 255 } }
+ \draw_path_arc:nnn { 255 } { 285 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 315 } }
+ \draw_path_arc:nnn { 315 } { 345 } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_slashing: {
+ \draw_path_moveto:n { -.15cm , .225cm }
+ \draw_path_lineto:n { -.275cm , .35cm }
+ \draw_path_arc:nnn { 0 } { 240 } { .075cm }
+ \draw_path_lineto:n { -.35cm , .275cm }
+ \draw_path_lineto:n { -.225cm , .15cm }
+ \draw_path_lineto:n { -.425cm , -.05cm }
+ \draw_path_lineto:n { -.35cm , -.125cm }
+ \draw_path_lineto:n { .125cm , .35cm }
+ \draw_path_lineto:n { .05cm , .425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , .025cm }
+ \draw_path_lineto:n { .225cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.225cm }
+ \draw_path_lineto:n { -.025cm , .2cm }
+ \draw_path_moveto:n { .325cm , -.325cm }
+ \draw_path_lineto:n { 0cm , 0cm }
+ \draw_path_moveto:n { .425cm , .3cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { .275cm , .425cm }
+ \draw_path_lineto:n { .275cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_thunder: {
+ \draw_path_moveto:n { .225cm , -.075cm }
+ \draw_path_arc:nnn { -90 } { 120 } { .2cm }
+ \draw_path_arc:nnn { 30 } { 180 } { .225cm }
+ \draw_path_lineto:n { -.3cm , .125cm + cosd( 30 ) * .2cm - sind( 30 ) * .225cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.425cm , .05cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.1cm , -.225cm }
+ \draw_path_arc:nnn { 240 } { 300 } { .3cm }
+ \draw_path_moveto:n { -.2cm , -.35cm }
+ \draw_path_arc:nnn { 240 } { 300 } { .5cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_healing: {
+ \draw_path_moveto:n { 0cm , .125cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .2cm }
+ \draw_path_lineto:n { 0cm , -.375cm }
+ \draw_path_moveto:n { 0cm , .125cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .2cm }
+ \draw_path_lineto:n { 0cm , -.375cm }
+}
+
+% ATTACKS
+
+\cs_new:Npn \rpgicons_draw_shape_melee: {
+ \draw_path_moveto:n { -.15cm , -.225cm }
+ \draw_path_lineto:n { -.275cm , -.35cm }
+ \draw_path_arc:nnn { 360 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , -.275cm }
+ \draw_path_lineto:n { -.225cm , -.15cm }
+ \draw_path_lineto:n { -.425cm , .05cm }
+ \draw_path_lineto:n { -.35cm , .125cm }
+ \draw_path_lineto:n { .125cm , -.35cm }
+ \draw_path_lineto:n { .05cm , -.425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , -.025cm }
+ \draw_path_lineto:n { .225cm , .425cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+ \draw_path_lineto:n { .425cm , .225cm }
+ \draw_path_lineto:n { -.025cm , -.2cm }
+ \draw_path_moveto:n { .325cm , .325cm }
+ \draw_path_lineto:n { 0cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_ranged: {
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , -.225cm }
+ \draw_path_arc:nnn { 0 } { -30 } { .4cm }
+ \draw_path_arc:nnn { -45 } { 0 } { .6cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 0 } { 30 } { .4cm }
+ \draw_path_arc:nnn { 45 } { 0 } { .6cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { .275cm , .1cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .275cm , -.1cm }
+ \draw_path_moveto:n { ( -.4cm , -.225cm ) + ( \draw_point_polar:nn { .4cm } { -20 } ) }
+ \draw_path_lineto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { ( -.4cm , .225cm ) + ( \draw_point_polar:nn { .4cm } { 20 } ) }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_magic: {
+ \draw_path_moveto:n { -.225cm , -.425cm }
+ \draw_path_lineto:n { -.425cm , -.225cm }
+ \draw_path_lineto:n { -.3cm , -.1cm }
+ \draw_path_lineto:n { -.3cm , .125cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_arc:nnn { 405 } { 315 } { .1cm }
+ \draw_path_lineto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { -.15cm , -.05cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .05cm }
+ \draw_path_lineto:n { -.05cm , 0cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .1cm }
+ \draw_path_lineto:n { .05cm , -.1cm }
+ \draw_path_arc:nnn { 360 } { 315 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.225cm , -.25cm }
+ \draw_path_lineto:n { -.325cm , -.15cm }
+ \draw_path_moveto:n { .2cm , .2cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 45 } { .1cm }
+ \draw_path_arc:nnn { 225 } { 180 } { .2cm }
+ \draw_path_circle:nn { .3cm , -.075cm } { .075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_singlehanded: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .025cm , -.425cm }
+ \draw_path_lineto:n { .325cm , -.125cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { -.15cm , -.275cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { -.1cm , -.175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.075cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_doublehanded: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .025cm , -.425cm }
+ \draw_path_lineto:n { .325cm , -.125cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { -.15cm , -.275cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { -.1cm , -.175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.075cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+ \draw_path_moveto:n { .25cm , .425cm }
+ \draw_path_lineto:n { -.025cm , .425cm }
+ \draw_path_lineto:n { -.325cm , .125cm }
+ \draw_path_arc:nnn { 225 } { 315 } { .1cm }
+ \draw_path_lineto:n { 0cm , .275cm }
+ \draw_path_lineto:n { .15cm , .275cm }
+ \draw_path_arc:nnn { 450 } { 270 } { .05cm }
+ \draw_path_lineto:n { .1cm , .175cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_lineto:n { .2cm , .075cm }
+ \draw_path_arc:nnn { 270 } { 315 } { .125cm }
+ \draw_path_lineto:n { .425cm , .25cm }
+}
+
+% CONDITIONS
+
+\cs_new:Npn \rpgicons_draw_shape_buff: {
+ \draw_path_moveto:n { -.425cm , -.225cm }
+ \draw_path_lineto:n { -.225cm , -.425cm }
+ \draw_path_lineto:n { -.1cm , -.3cm }
+ \draw_path_lineto:n { .125cm , -.3cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { .1cm , -.15cm }
+ \draw_path_lineto:n { -.05cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { 0cm , -.05cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.25cm , -.225cm }
+ \draw_path_lineto:n { -.15cm , -.325cm }
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { .25cm , .425cm }
+ \draw_path_lineto:n { .25cm , .275cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .125cm }
+ \draw_path_close:
+
+}
+
+\cs_new:Npn \rpgicons_draw_shape_blinded: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .15cm }
+ \draw_path_moveto:n { -.425cm , -.425cm }
+ \draw_path_lineto:n { -.25cm , -.25cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_charmed: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.1cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.175cm , .15cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .0625cm }
+ \draw_path_lineto:n { -.175cm , 0cm }
+ \draw_path_moveto:n { -.175cm , .15cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .0625cm }
+ \draw_path_lineto:n { -.175cm , 0cm }
+ \draw_path_moveto:n { .175cm , .15cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .0625cm }
+ \draw_path_lineto:n { .175cm , 0cm }
+ \draw_path_moveto:n { .175cm , .15cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .0625cm }
+ \draw_path_lineto:n { .175cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_deafened: {
+ \draw_path_moveto:n { -.175cm , -.275cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .15cm }
+ \draw_path_lineto:n { .125cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 135 } { .25cm }
+ \draw_path_arc:nnn { 315 } { 360 } { .25cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .275cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.15cm , .125cm }
+ \draw_path_arc:nnn { 180 } { 45 } { .15cm }
+ \draw_path_moveto:n { -.425cm , -.425cm }
+ \draw_path_lineto:n { -.2cm , -.2cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_exhausted: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .275cm , .15cm }
+ \draw_path_arc:nnn { 180 } { 0 } { -.1cm }
+ \draw_path_moveto:n { -.075cm , .15cm }
+ \draw_path_arc:nnn { 180 } { 0 } { -.1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_frightened: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_circle:nn { -.175cm , .125cm } { .075cm }
+ \draw_path_circle:nn { .175cm , .125cm } { .075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_grappled: {
+ \draw_path_moveto:n { -.25cm , .3cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , .15cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , 0cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , 0cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , -.15cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.3cm , -.3cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .425cm , .05cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .25cm }
+ \draw_path_lineto:n { -.05cm , .3cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .15cm }
+ \draw_path_lineto:n { .175cm , .15cm }
+ \draw_path_lineto:n { .175cm , -.425cm }
+ \draw_path_moveto:n { .175cm , -.275cm }
+ \draw_path_lineto:n { .425cm , -.275cm }
+ \draw_path_moveto:n { .175cm , .3cm }
+ \draw_path_lineto:n { .175cm , .425cm }
+ \draw_path_moveto:n { -.3cm , .3cm }
+ \draw_path_lineto:n { -.3cm , .425cm }
+ \draw_path_moveto:n { -.3cm , -.3cm }
+ \draw_path_lineto:n { -.3cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_incapacitated: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_arc:nnn { 270 } { 210 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 90 } }
+ \draw_path_arc:nnn { 30 } { 90 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_arc:nnn { 330 } { 270 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 150 } }
+ \draw_path_arc:nnn { 90 } { 150 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_arc:nnn { 30 } { -30 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 210 } }
+ \draw_path_arc:nnn { 150 } { 210 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 30 } }
+ \draw_path_arc:nnn { 270 } { 210 } { .25cm }
+ \draw_path_arc:nnn { 330 } { 270 } { .25cm }
+ \draw_path_arc:nnn { 30 } { -30 } { .25cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .25cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .25cm }
+ \draw_path_arc:nnn { 210 } { 150 } { .25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_invisible: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { -15 } }
+ \draw_path_arc:nnn { -15 } { 15 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_arc:nnn { 30 } { 60 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 75 } }
+ \draw_path_arc:nnn { 75 } { 105 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 120 } }
+ \draw_path_arc:nnn { 120 } { 150 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 165 } }
+ \draw_path_arc:nnn { 165 } { 195 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_arc:nnn { 210 } { 240 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 255 } }
+ \draw_path_arc:nnn { 255 } { 285 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_arc:nnn { 300 } { 330 } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_paralyzed: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .25cm , .2cm }
+ \draw_path_lineto:n { .1cm , .05cm }
+ \draw_path_moveto:n { .25cm , .05cm }
+ \draw_path_lineto:n { .1cm , .2cm }
+ \draw_path_moveto:n { -.25cm , .2cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_moveto:n { -.25cm , .05cm }
+ \draw_path_lineto:n { -.1cm , .2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_petrified: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 45 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 100 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 190 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 230 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 250 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 350 } }
+ \draw_path_close:
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_lineto:n { -.25cm , .075cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .2cm} { 220 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .325cm} { 240 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .3cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .225cm} { 350 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 45 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .3cm} { 60 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_moveto:n { -.15cm , -.175cm }
+ \draw_path_lineto:n { .075cm , -.15cm }
+ \draw_path_lineto:n { .125cm , -.2cm }
+ \draw_path_moveto:n { -.25cm , .075cm }
+ \draw_path_lineto:n { -.1cm , .1cm }
+ \draw_path_moveto:n { .25cm , .075cm }
+ \draw_path_lineto:n { .1cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_poisoned: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.15cm , -.2cm }
+ \draw_path_lineto:n { -.075cm , -.125cm }
+ \draw_path_lineto:n { 0cm , -.2cm }
+ \draw_path_lineto:n { .075cm , -.125cm }
+ \draw_path_lineto:n { .15cm , -.2cm }
+ \draw_path_moveto:n { .25cm , .175cm }
+ \draw_path_lineto:n { .1cm , .1cm }
+ \draw_path_lineto:n { .25cm , .025cm }
+ \draw_path_moveto:n { -.25cm , .175cm }
+ \draw_path_lineto:n { -.1cm , .1cm }
+ \draw_path_lineto:n { -.25cm , .025cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_prone: {
+ \draw_path_circle:nn { .2cm , -.125cm } { .125cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { -.15cm , 0cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+ \draw_path_moveto:n { .225cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .1cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .1cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .1cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_restrained: {
+ \draw_path_moveto:n { -.075cm , -.225cm }
+ \draw_path_lineto:n { -.075cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.2cm , 0cm }
+ \draw_path_arc:nnn { 270 } { 180 } { .1cm }
+ \draw_path_lineto:n { -.3cm , .3cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.075cm }
+ \draw_path_arc:nnn { 180 } { 235 } { .1cm }
+ \draw_path_lineto:n { -.3cm , -.225cm }
+ \draw_path_moveto:n { .075cm , -.225cm }
+ \draw_path_lineto:n { .075cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 0 } { .125cm }
+ \draw_path_lineto:n { .2cm , 0cm }
+ \draw_path_arc:nnn { -90 } { 0 } { .1cm }
+ \draw_path_lineto:n { .3cm , .3cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .125cm }
+ \draw_path_lineto:n { .425cm , -.075cm }
+ \draw_path_arc:nnn { 360 } { 330 } { .1cm }
+ \draw_path_lineto:n { .3cm , -.225cm }
+ \draw_path_moveto:n { .35cm , -.225cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .05cm }
+ \draw_path_lineto:n { -.35cm , -.325cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .35cm , -.325cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .05cm }
+ \draw_path_lineto:n { -.35cm , -.425cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_stunned: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_ellipse:nnn { 0cm , -.175cm } { 0cm , .1cm } { .175cm , 0cm }
+ \draw_path_moveto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 90 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 126 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 162 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 198 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 234 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 270 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 306 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 342 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 18 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 54 } ) }
+ \draw_path_close:
+ \draw_path_moveto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 90 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 126 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 162 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 198 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 234 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 270 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 306 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 342 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 18 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 54 } ) }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_unconscious: {
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 90 } { -30 } { .425cm } { .15cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnnn { 270 } { 150 } { .425cm } { .15cm }
+ \draw_path_moveto:n { -.35cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+ \draw_path_moveto:n { .1cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_hearing: {
+ \draw_path_moveto:n { -.175cm , -.275cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .15cm }
+ \draw_path_lineto:n { .125cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 135 } { .25cm }
+ \draw_path_arc:nnn { 315 } { 360 } { .25cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .275cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.15cm , .125cm }
+ \draw_path_arc:nnn { 180 } { 45 } { .15cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_seeing: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .15cm }
+}
+
+% FRAMES
+
+\cs_new:Npn \rpgicons_draw_frame_ability: {
+ \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+}
+
+\cs_new:Npn \rpgicons_draw_frame_saving: {
+ \draw_path_moveto:n { -.45cm, . 45cm }
+ \draw_path_lineto:n { .45cm , .45cm }
+ \draw_path_lineto:n { .45cm , -.05cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .45cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_frame_spellschool: {
+ \draw_path_moveto:n { -.475cm, . 35cm }
+ \draw_path_lineto:n { -.35cm , .475cm }
+ \draw_path_lineto:n { .35cm , .475cm }
+ \draw_path_lineto:n { .475cm , .35cm }
+ \draw_path_lineto:n { .425cm , -.375cm }
+ \draw_path_lineto:n { 0cm , -.475cm }
+ \draw_path_lineto:n { -.425cm , -.375cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_frame_damage: {
+ \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+}
+
+% USER COMMANDS
+
+\NewDocumentCommand { \rpgiconsset } { m } {
+ \keys_set:nn { rpgicons / local ~ options } {#1}
+}
+
+\dim_new:N \l_rpgicons_icon_before_sep_dim
+\dim_new:N \l_rpgicons_icon_after_sep_dim
+\dim_new:N \l_rpgicons_icon_baseline_dim
+\dim_new:N \l_rpgicons_icon_linewidth_dim
+
+\tl_new:N \l_rpgicons_icon_frame_tl
+\tl_new:N \l_rpgicons_icon_color_stroke_tl
+\tl_new:N \l_rpgicons_icon_color_fill_tl
+\tl_new:N \l_rpgicons_icon_color_text_tl
+\tl_new:N \l_rpgicons_icon_color_background_tl
+
+\fp_new:N \l_rpgicons_icon_opacity_stroke_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_fill_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_fill_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_text_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_text_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_background_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_background_fp { 1.0 }
+
+\fp_new:N \l_rpgicons_icon_transform_scale_fp
+\fp_new:N \l_rpgicons_icon_transform_scale_inner_fp
+\fp_new:N \l_rpgicons_icon_transform_rotate_fp
+
+\bool_new:N \l_rpgicons_icon_accessible_basic_bool
+\bool_new:N \l_rpgicons_icon_accessible_full_bool
+
+\cs_generate_variant:Nn \color_select:n { V }
+\cs_generate_variant:Nn \color_stroke:n { V }
+\cs_generate_variant:Nn \color_fill:n { V }
+
+\bool_new:N \l__rpgicons_opacity_warning_bool
+\cs_new:Npn \__rpgicons_opacity_check: {
+ \bool_lazy_and:nnT {
+ \bool_not_p:n { \l__rpgicons_opacity_warning_bool }
+ } {
+ \bool_not_p:n { \l__rpgicons_use_opacity_bool }
+ } {
+ \msg_warning:nn { rpgicons } { opacity-option-missing }
+ \bool_set_true:N \l__rpgicons_opacity_warning_bool
+ }
+}
+\cs_new:Npn \__rpgicons_accessible_check: {
+ \IfDocumentMetadataTF { } {
+ \msg_error:nn { rpgicons } { documentmetadata-missing }
+ }
+}
+
+\cs_generate_variant:Nn \bool_set:Nn { Ne }
+\keys_define:nn { rpgicons / local ~ options } {
+ before ~ sep .groups:n = { extra } ,
+ before ~ sep .dim_set:N = \l_rpgicons_icon_before_sep_dim ,
+ before ~ sep .initial:n = { 0.05em } ,
+ after ~ sep .groups:n = { extra } ,
+ after ~ sep .dim_set:N = \l_rpgicons_icon_after_sep_dim ,
+ after ~ sep .initial:n = { 0.05em } ,
+ accessible .choice: ,
+ accessible / false .code:n = {
+ \bool_set_false:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_false:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible / basic .code:n = {
+ \bool_set_true:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_false:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible / full .code:n = {
+ \bool_set_true:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_true:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible .default:n = { basic } ,
+ baseline .dim_set:N = \l_rpgicons_icon_baseline_dim ,
+ baseline .initial:n = { -3.5pt } ,
+ frame .tl_set:N = \l_rpgicons_icon_frame_tl ,
+ frame .initial:n = { } ,
+ stroke .tl_set:N = \l_rpgicons_icon_color_stroke_tl ,
+ stroke .initial:n = { . } ,
+ fill .tl_set:N = \l_rpgicons_icon_color_fill_tl ,
+ fill .initial:n = { . } ,
+ text .tl_set:N = \l_rpgicons_icon_color_text_tl ,
+ text .initial:n = { . } ,
+ color .code:n = {
+ \tl_set:Nn \l_rpgicons_icon_color_stroke_tl {#1}
+ \tl_set:Nn \l_rpgicons_icon_color_fill_tl {#1}
+ \tl_set:Nn \l_rpgicons_icon_color_text_tl {#1}
+ } ,
+ background .tl_set:N = \l_rpgicons_icon_color_background_tl ,
+ background .initial:n = { white } ,
+ stroke ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp {#1}
+ } ,
+ fill ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_fill_fp {#1}
+ } ,
+ text ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_text_fp {#1}
+ } ,
+ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp {#1}
+ \fp_set:Nn \l_rpgicons_icon_opacity_fill_fp {#1}
+ \fp_set:Nn \l_rpgicons_icon_opacity_text_fp {#1}
+ } ,
+ background ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_background_fp {#1}
+ } ,
+ line ~ width .dim_set:N = \l_rpgicons_icon_linewidth_dim ,
+ line ~ width .initial:n = { \l_draw_default_linewidth_dim } ,
+ scale .fp_set:N = \l_rpgicons_icon_transform_scale_fp ,
+ scale .initial:n = { 1.0 } ,
+ scale ~ inner .fp_set:N = \l_rpgicons_icon_transform_scale_inner_fp ,
+ scale ~ inner .initial:n = { 0.675 } ,
+ rotate .fp_set:N = \l_rpgicons_icon_transform_rotate_fp ,
+ rotate .initial:n = { 0.0 } ,
+}
+
+\clist_const:Nn \c__rpgicons_types_clist {
+ die , ability , saving , spell , spellschool , damage , attack , condition
+}
+
+\str_new:N \l__rpgicons_icon_shape_name_str
+\clist_map_inline:Nn \c__rpgicons_types_clist {
+ \str_set:Nn \l__rpgicons_icon_shape_name_str {#1}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \clist_new:c { l_rpgicons_types_every_ \l__rpgicons_icon_shape_name_str _style_clist }
+ \keys_define:nn { rpgicons / local ~ options } {
+ every ~ #1 .code:n = {
+ \clist_set:cn {
+ l_rpgicons_types_every_ \l__rpgicons_icon_shape_name_str _style_clist
+ } {##1}
+ }
+ }
+}
+
+\clist_const:Nn \c__rpgicons_shapes_clist {
+ twoside , fourside , sixside , eightside , tenside , twelveside , twentyside , hundredside ,
+ fudge , sixside ~ one , sixside ~ two , sixside ~ three, sixside ~ four, sixside ~ five ,
+ sixside ~ six , sixside ~ seven, sixside ~ eight, sixside ~ nine, fudge ~ plus, fudge ~ minus ,
+ strength , dexterity , dexterity ~ alt , constitution , intelligence , wisdom , charisma ,
+ resilience , sanity , perception , luck , armor , proficiency ,
+ linear , conic , quadratic , cubic , spheric , cylindric , verbal , somatic , material , focus ,
+ abjuration , conjuration , divination , enchantment , evocation , illusion , necromancy , transmutation ,
+ acid , bludgeoning , cold , fire , force , lightning , necrotic , piercing , poison , psychic ,
+ radiant , slashing , thunder , healing ,
+ melee , ranged , magic , singlehanded , doublehanded ,
+ buff , blinded , charmed , deafened , exhausted , frightened , grappled , incapacitated , invisible ,
+ paralyzed , petrified , poisoned , prone , restrained , stunned , unconscious , hearing , seeing
+}
+
+\clist_map_inline:Nn \c__rpgicons_shapes_clist {
+ \str_set:Nn \l__rpgicons_icon_shape_name_str {#1}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \clist_new:c { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist }
+ \keys_define:nn { rpgicons / local ~ options } {
+ every ~ #1 .code:n = {
+ \clist_set:cn {
+ l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist
+ } {##1}
+ }
+ }
+}
+
+\seq_new:N \l__rpgicons_icon_shape_name_parts_seq
+\coffin_new:N \l__rpgicons_icon_accessible_coffin
+\coffin_new:N \l__rpgicons_icon_label_coffin
+\bool_if:NT \l__rpgicons_compat_mode_bool {
+ % l3keys cs name fix
+ \cs_generate_variant:Nn \keys_set:nn { ne }
+ \cs_generate_variant:Nn \str_set:Nn { Ne }
+ \cs_generate_variant:Nn \seq_set_split:Nnn { Nee }
+}
+\prg_generate_conditional_variant:Nnn \clist_if_in:nn { ne } { T , TF }
+\cs_generate_variant:Nn \hcoffin_set:Nn { Ne }
+\cs_generate_variant:Nn \keys_set_groups:nnn { nne }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nne }
+\NewDocumentCommand \RPGIconsUseIcon { s O{} o m } {
+ \bool_if:NT \l_rpgicons_icon_accessible_full_bool {
+ \__rpgicons_accessible_check:
+ \pdf_bdc:nn { Span } { /Alt ~ ( #4 ) }
+ }
+ \draw_begin:
+ \draw_cap_round:
+ \draw_join_round:
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3keys cs name fix
+ \keys_set:ne { rpgicons / local ~ options } {#2}
+ } {
+ \keys_set_exclude_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ }
+ \str_set:Ne \l__rpgicons_icon_shape_name_str {#4}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \str_if_empty:NF \l__rpgicons_icon_shape_name_str {
+ \clist_if_exist:cT { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } {
+ \keys_set:ne { rpgicons / local ~ options } {
+ \clist_use:cn { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } { , }
+ }
+ }
+ }
+ \color_stroke:V { \l_rpgicons_icon_color_stroke_tl }
+ \color_fill:V { \l_rpgicons_icon_color_fill_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_stroke:n { \l_rpgicons_icon_opacity_stroke_fp }
+ \opacity_fill:n { \l_rpgicons_icon_opacity_fill_fp }
+ }
+ \draw_linewidth:n { \l_rpgicons_icon_linewidth_dim }
+ \draw_transform_scale:n { \l_rpgicons_icon_transform_scale_fp }
+ \draw_transform_rotate:n { \l_rpgicons_icon_transform_rotate_fp }
+ \draw_baseline:n { \l_rpgicons_icon_baseline_dim }
+ \bool_if:NT \l_rpgicons_icon_accessible_basic_bool {
+ \draw_scope_begin:
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ % l3draw bounding box workaround
+ \draw_path_moveto:n { -.5cm , .5cm }
+ \draw_path_lineto:n { -.5cm , .5cm }
+ \draw_path_lineto:n { .5cm , .5cm }
+ \draw_path_lineto:n { .5cm , .5cm }
+ \draw_path_close:
+ \draw_path_use_clear:n { clip }
+ } {
+ \draw_path_rectangle_corners:nn
+ { -.5cm , .5cm }
+ { .5cm , .5cm }
+ \draw_path_use_clear:n { clip }
+ }
+ \bool_if:NTF \l_rpgicons_icon_accessible_full_bool {
+ \hcoffin_set:Nn \l__rpgicons_icon_accessible_coffin { \pdffakespace #4 \pdffakespace }
+ } {
+ \hcoffin_set:Nn \l__rpgicons_icon_accessible_coffin {#4}
+ }
+ \coffin_resize:Nnn \l__rpgicons_icon_accessible_coffin { 1cm } { 1cm }
+ \draw_coffin_use:Nnnn \l__rpgicons_icon_accessible_coffin { hc } { vc } { 0cm , 0cm }
+ \draw_scope_end:
+ }
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ % l3draw bounding box workaround
+ \draw_path_moveto:n { -.5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { -.5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { .5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { .5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_close:
+ \draw_path_use_clear:n { clip }
+ } {
+ \draw_path_rectangle_corners:nn
+ { -.5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ { .5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_replace_bb:
+ \bool_set_false:N \l_draw_bb_update_bool
+ }
+ \draw_scope_begin:
+ \clist_if_in:neT { ability , saving , spellschool , damage } { \l_rpgicons_icon_frame_tl } {
+ \use:c { rpgicons_draw_frame_ \l_rpgicons_icon_frame_tl : }
+ \IfBooleanTF {#1} {
+ \draw_path_use_clear:n { fill }
+ \color_select:V { \l_rpgicons_icon_color_background_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_select:n { \l_rpgicons_icon_opacity_background_fp }
+ }
+ } {
+ \draw_path_use_clear:n { stroke }
+ }
+ \draw_transform_scale:n { \l_rpgicons_icon_transform_scale_inner_fp }
+ }
+ \clist_if_in:neTF { sixside ~ one , sixside ~ two , sixside ~ three , sixside ~ four ,
+ sixside ~ five , sixside ~ six , sixside ~ seven , sixside ~ eight , sixside ~ nine } {#4} {
+ \seq_set_split:Nee \l__rpgicons_icon_shape_name_parts_seq
+ { \c_underscore_str } { \l__rpgicons_icon_shape_name_str }
+ \exp_args:Ne \rpgicons_draw_shape_sixside_pips:n {
+ \seq_item:Nn \l__rpgicons_icon_shape_name_parts_seq { 2 }
+ }
+ } {
+ \use:c { rpgicons_draw_shape_ \l__rpgicons_icon_shape_name_str : }
+ }
+ \draw_path_use_clear:n { stroke }
+ \IfValueT {#3} {
+ \draw_scope_begin:
+ \color_select:V { \l_rpgicons_icon_color_text_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_select:n { \l_rpgicons_icon_opacity_text_fp }
+ }
+ \hcoffin_set:Ne \l__rpgicons_icon_label_coffin {#3}
+ \draw_coffin_use:Nnn \l__rpgicons_icon_label_coffin { hc } { vc }
+ \draw_scope_end:
+ }
+ \draw_scope_end:
+ \draw_end:
+ \bool_if:NT \l_rpgicons_icon_accessible_full_bool {
+ \pdf_emc:
+ }
+}
+
+\str_new:N \l__rpgicons_icon_integer_str
+\cs_generate_variant:Nn \str_if_eq:nnTF { ne }
+\NewDocumentCommand { \RPGIconsDie } { O{normal} m O{} m } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_die_style_clist { , } }
+ \str_set:Ne \l__rpgicons_icon_integer_str {#4}
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { large } {#1} {
+ \RPGIconsUseIcon[scale=.675, #3][#4]{#2}
+ } {
+ \str_if_empty:NF \l__rpgicons_icon_integer_str { \str_use:N \l__rpgicons_icon_integer_str \, }
+ \RPGIconsUseIcon[scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \die { \cs_new_eq:NN \die \RPGIconsDie }
+
+\NewDocumentCommand { \RPGIconsAbility } { O{positive} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_ability_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { negative } {#1} {
+ \RPGIconsUseIcon*[frame=ability, scale=.333, #3]{#2}
+ } {
+ \RPGIconsUseIcon[scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \ability { \cs_new_eq:NN \ability \RPGIconsAbility }
+
+\NewDocumentCommand { \RPGIconsSaving } { O{} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_saving_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { empty } {#1} {
+ \RPGIconsUseIcon[frame=saving, scale=.333, #3]{}
+ } {
+ \RPGIconsUseIcon[frame=saving, scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \saving { \cs_new_eq:NN \saving \RPGIconsSaving }
+
+\NewDocumentCommand { \RPGIconsSpell } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spell_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \spell { \cs_new_eq:NN \spell \RPGIconsSpell }
+
+\NewDocumentCommand { \RPGIconsSpellschool } { O{positive} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spellschool_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { negative } {#1} {
+ \RPGIconsUseIcon*[frame=spellschool, scale=.333, #3]{#2}
+ } {
+ \RPGIconsUseIcon[frame=spellschool, scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \spellschool { \cs_new_eq:NN \spellschool \RPGIconsSpellschool }
+
+\NewDocumentCommand { \RPGIconsDamage } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_damage_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[frame=damage, scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \damage { \cs_new_eq:NN \damage \RPGIconsDamage }
+
+\NewDocumentCommand { \RPGIconsAttack } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_attack_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \attack { \cs_new_eq:NN \attack \RPGIconsAttack }
+
+\NewDocumentCommand { \RPGIconsCondition } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_condition_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \condition { \cs_new_eq:NN \condition \RPGIconsCondition }
+
+% ROLL SYNTAX
+
+\regex_new:N \l__rpgicons_roll_syntax_die_regex
+\cs_generate_variant:Nn \regex_set:Nn { Ne }
+\cs_new:Npn \rpgicons_roll_syntax_die_set:n #1 {
+ \regex_set:Ne \l__rpgicons_roll_syntax_die_regex { [ \clist_use:nn {#1} { } ] }
+}
+
+\keys_define:nn { rpgicons / local ~ options } {
+ roll ~ syntax .code:n = { \rpgicons_roll_syntax_die_set:n {#1} } ,
+ roll ~ syntax .initial:n = { d , D } ,
+}
+
+\cs_new:Npn \rpgicons_roll_syntax_convert:n #1 {
+ \str_case:nnF {#1} {
+ { 2 } { twoside }
+ { 4 } { fourside }
+ { 6 } { sixside }
+ { 8 } { eightside }
+ { 10 } { tenside }
+ { 12 } { twelveside }
+ { 20 } { twentyside }
+ { 100 } { hundredside }
+ { F } { fudge }
+ }
+ {#1}
+}
+
+\seq_new:N \l__rpgicons_roll_syntax_seq
+\tl_new:N \l__rpgicons_roll_syntax_part_tl
+\regex_new:N \l__rpgicons_roll_syntax_split_regex
+\regex_new:N \l__rpgicons_roll_syntax_plusminus_regex
+\regex_new:N \l__rpgicons_roll_syntax_times_regex
+\bool_if:NTF \l__rpgicons_unicode_mode_bool {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-\x{2212}x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-\x{2212}])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+} {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+}
+\regex_new:N \l__rpgicons_roll_syntax_dice_regex
+\cs_new:Npn \rpgicons_roll_syntax_parse:n #1 {
+ \regex_set:Nn \l__rpgicons_roll_syntax_dice_regex { \A(\d*)\ur{l__rpgicons_roll_syntax_die_regex}([F\d]+)\Z }
+ \regex_split:NnN \l__rpgicons_roll_syntax_split_regex {#1} \l__rpgicons_roll_syntax_seq
+ \seq_map_inline:Nn \l__rpgicons_roll_syntax_seq {
+ \tl_set:Ne \l__rpgicons_roll_syntax_part_tl {##1}
+ \regex_replace_case_once:nNTF {
+ { \l__rpgicons_roll_syntax_plusminus_regex } { \c{,} $\1$ \c{,} }
+ { \l__rpgicons_roll_syntax_times_regex } { \c{,} $\c{times}$ \c{,} }
+ { \l__rpgicons_roll_syntax_dice_regex }
+ { \c{ RPGIconsDie } { \c{ rpgicons_roll_syntax_convert:n } { \2 } } { \1 } }
+ } \l__rpgicons_roll_syntax_part_tl
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ }
+}
+
+\NewDocumentCommand{\RPGIconsRoll}{ m }{
+ \rpgicons_roll_syntax_parse:n {#1}
+}
+\cs_if_exist:NF \roll { \cs_new_eq:NN \roll \RPGIconsRoll }
+
+% EOF \ No newline at end of file
diff --git a/macros/latex/contrib/rpgicons/rpgicons-pgf.sty b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
new file mode 100644
index 0000000000..0e0c037187
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
@@ -0,0 +1,2596 @@
+% File: rpgicons-pgf.sty
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `rpgicons' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{rpgicons-pgf}[2024-05-15 rpg Icons Package (PGF Variant) (1.8.3)]
+
+% provide pics option
+\newif\ifrpgicons@pics\rpgicons@picsfalse
+\DeclareOption{pics}{\rpgicons@picstrue}
+\ProcessOptions\relax
+
+\RequirePackage{tikz}
+\newlength{\rpgicons@beforesep}
+\newlength{\rpgicons@aftersep}
+\newlength{\rpgicons@baseline}
+
+\def\rpgicons@allshapes{%
+ twoside, fourside, sixside, eightside, tenside, twelveside, twentyside, hundredside,
+ fudge, sixside one, sixside two, sixside three, sixside four, sixside five,
+ sixside six, sixside seven, sixside eight, sixside nine, fudge plus, fudge minus,
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency,
+ linear, conic, quadratic, cubic, spheric, cylindric, verbal, somatic, material, focus,
+ abjuration, conjuration, divination, enchantment, evocation, illusion, necromancy, transmutation,
+ acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic,
+ radiant, slashing, thunder, healing,
+ melee, ranged, magic, singlehanded, doublehanded,
+ buff, blinded, charmed, deafened, exhausted, frightened, grappled, incapacitated, invisible,
+ paralyzed, petrified, poisoned, prone, restrained, stunned, unconscious, hearing, seeing%
+}
+
+\tikzset{
+ rpg icons/background color/.code={
+ \colorlet{rpgicons@bg}{#1}
+ },
+ rpg icons/background color={white},
+ rpg icons/before sep/.code={
+ \setlength{\rpgicons@beforesep}{#1}
+ },
+ rpg icons/before sep={.05em},
+ rpg icons/after sep/.code={
+ \setlength{\rpgicons@aftersep}{#1}
+ },
+ rpg icons/after sep={.05em},
+ rpg icons/baseline/.code={
+ \setlength{\rpgicons@baseline}{#1}
+ },
+ rpg icons/baseline={-3.5pt},
+ rpg icons/.style={},
+ rpg icons/.append style={
+ every node/.style={
+ line cap=round,
+ line join=round
+ }
+ },
+ %
+ rpg icons/every die/.style={},
+ rpg icons/every ability/.style={},
+ rpg icons/every saving/.style={},
+ rpg icons/every spell/.style={},
+ rpg icons/every spellschool/.style={},
+ rpg icons/every damage/.style={},
+ rpg icons/every attack/.style={},
+ rpg icons/every condition/.style={},
+ %
+ rpg icons/create every style/.code={
+ \tikzset{
+ rpg icons/every #1/.style={}
+ }
+ },
+ rpg icons/create every style/.list/.expanded={%
+ \rpgicons@allshapes%
+ }
+}
+
+% make tikz icons usable inside tikz environments
+\NewDocumentCommand{\provideprotectedrpgicon}{ m o m O{} m }{%
+ \expandafter\newsavebox\csname rpgicons@protectbox@#5\endcsname%
+ \expandafter\savebox\csname rpgicons@protectbox@#5\endcsname{%
+ \IfValueTF{#2}{%
+ \csname #1\endcsname[#2]{#3}[#4]{}%
+ }{%
+ \csname #1\endcsname{#3}[#4]{}%
+ }%
+ }%
+}
+
+\NewDocumentCommand{\useprotectedrpgicon}{ m }{%
+ \expandafter\usebox\csname rpgicons@protectbox@#1\endcsname%
+}
+
+% DICE
+
+% disc
+\pgfdeclareshape{twoside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0cm}{.25cm}}{\pgfpoint{.425cm}{0cm}}
+ \pgfusepath{draw} % draw ellipse
+ }
+}
+
+% tetrahedron
+\pgfdeclareshape{fourside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.4cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.4cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw triangle
+ }
+}
+
+% cube
+\pgfdeclareshape{sixside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ }
+}
+
+% octahedron
+\pgfdeclareshape{eightside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{.25cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% decahedron
+\pgfdeclareshape{tenside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.1cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dodecahedron
+\pgfdeclareshape{twelveside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{0.294cm}{.405cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{.405cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{.349cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathmoveto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% icosahedron
+\pgfdeclareshape{twentyside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{.292cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathmoveto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathmoveto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% sphere
+\pgfdeclareshape{hundredside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{180}{50}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{270}{140}{-.2cm and .425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% cube (one)
+\pgfdeclareshape{sixside one}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ 0cm/0cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (two)
+\pgfdeclareshape{sixside two}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ .2cm/-.2cm, -.2cm/.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (three)
+\pgfdeclareshape{sixside three}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ .2cm/-.2cm, 0cm/0cm, -.2cm/.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (four)
+\pgfdeclareshape{sixside four}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (five)
+\pgfdeclareshape{sixside five}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ 0cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (six)
+\pgfdeclareshape{sixside six}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (seven)
+\pgfdeclareshape{sixside seven}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, 0cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (eight)
+\pgfdeclareshape{sixside eight}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, 0cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, 0cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (nine)
+\pgfdeclareshape{sixside nine}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, 0cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, 0cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, 0cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (fudge)
+\pgfdeclareshape{fudge}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.2cm}}
+ \pgfusepath{draw}
+ }
+}
+
+% cube (fudge plus)
+\pgfdeclareshape{fudge plus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{0cm}}
+ \pgfusepath{draw}
+ }
+}
+
+% cube (fudge)
+\pgfdeclareshape{fudge minus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{0cm}}
+ \pgfusepath{draw}
+ }
+}
+
+\ExplSyntaxOn
+\NewDocumentCommand{\rpgicons@ifEmptyF}{ m m }{
+ \tl_if_empty:nF { #1 } { #2 }
+}
+\ExplSyntaxOff
+
+\NewDocumentCommand{\rpgiconsdie}{ O{normal} m O{} m }{%
+ \edef\rpgicons@diceiconnrmlrg{#1}%
+ \edef\rpgicons@diceiconlrg{large}%
+ \ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg%
+ \def\rpgicons@diceiconfg{fglrg}\else%
+ \def\rpgicons@diceiconfg{fgnrm}\fi%
+ \ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg\else\rpgicons@ifEmptyF{#4}{#4\,}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every die, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgnrm/.style={scale=.333}, fglrg/.style={scale=.675}, #3] {
+ \node[#2, \rpgicons@diceiconfg, font={\footnotesize}] (0cm,0cm)
+ {\ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg\textbf{#4}\fi};
+ \path[draw=none, \rpgicons@diceiconfg] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{die}{\NewCommandCopy\die\rpgiconsdie}{}
+
+% ABILITIES
+
+% strength
+\pgfdeclareshape{strength}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{60}{.425cm}
+ \pgfpatharc{200}{-40}{.1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{-20}{.425cm}
+ \pgfpatharc{-50}{-80}{.35cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{120}{.425cm}
+ \pgfpatharc{-20}{220}{.1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{200}{.425cm}
+ \pgfpatharc{230}{260}{.35cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{-.325cm}}
+ \pgfpatharc{180}{360}{.125cm and .1cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.025cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpatharc{90}{70}{.1cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpatharc{90}{110}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dexterity
+\pgfdeclareshape{dexterity}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{65}{.425cm}
+ \pgfpatharc{200}{90}{.1cm and .075cm}
+ \pgfpatharc{90}{-30}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{-20}{.425cm and .35cm}
+ \pgfpatharc{110}{160}{.175cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{115}{.425cm}
+ \pgfpatharc{-20}{90}{.1cm and .075cm}
+ \pgfpatharc{90}{220}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{200}{.425cm and .35cm}
+ \pgfpatharc{70}{20}{.175cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.175cm}}
+ \pgfpatharc{180}{360}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpatharc{360}{140}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpatharc{180}{400}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.1cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.325cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dexterity alt
+\pgfdeclareshape{dexterity alt}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.15cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{75}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.15cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{105}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.125cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.375cm}{.425cm}}
+ \pgfpatharc{30}{-20}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{30}{.425cm}}}
+ \pgfpatharc{30}{-45}{.425cm and .35cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{-.375cm}{.425cm}}
+ \pgfpatharc{150}{200}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{150}{.425cm}}}
+ \pgfpatharc{150}{225}{.425cm and .35cm}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.075cm}}
+ \pgfpatharc{170}{90}{.15cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.075cm}}
+ \pgfpatharc{10}{90}{.15cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{0}{90}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{180}{90}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{360}{180}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.1cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% constitution
+\pgfdeclareshape{constitution}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.25cm}}
+ \pgfpatharc{-90}{-30}{.325cm}
+ \pgfpatharc{0}{-80}{.3cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.25cm}}
+ \pgfpatharc{270}{210}{.325cm}
+ \pgfpatharc{180}{260}{.3cm}
+ \pgfpathmoveto{\pgfpoint{.325cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.075cm}}
+ \pgfpatharc{0}{-90}{.175cm and .1cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.325cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.075cm}}
+ \pgfpatharc{180}{270}{.175cm and .1cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.225cm}}
+ \pgfpatharc{90}{270}{.1cm}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.425cm}}
+ \pgfpatharc{-90}{90}{.1cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.35cm}}
+ \pgfpatharc{-90}{0}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.35cm}}
+ \pgfpatharc{90}{0}{-.05cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% intelligence
+\pgfdeclareshape{intelligence}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{60}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{60}{.6cm}}}
+ \pgfpatharc{40}{-2.5}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{120}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{120}{.6cm}}}
+ \pgfpatharc{140}{182.5}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{0}{.425cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{180}{.425cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.075cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.075cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% wisdom
+\pgfdeclareshape{wisdom}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.175cm}}
+ \pgfpatharc{60}{90}{.425cm}
+ \pgfpatharc{270}{240}{.425cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.175cm}}
+ \pgfpatharc{120}{90}{.425cm}
+ \pgfpatharc{270}{300}{.425cm}
+ \pgfpathcircle{\pgfpoint{-.175cm}{0cm}}{.075cm}
+ \pgfpathcircle{\pgfpoint{.175cm}{0cm}}{.075cm}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.125cm}}
+ \pgfpathmoveto{\pgfpoint{-.375cm}{.125cm}}
+ \pgfpatharc{150}{270}{.25cm}
+ \pgfpathmoveto{\pgfpoint{.375cm}{.125cm}}
+ \pgfpatharc{30}{-90}{.25cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% charisma
+\pgfdeclareshape{charisma}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{270}{190}{.15cm and .1cm}
+ \pgfpatharc{10}{90}{.175cm and .225cm}
+ \pgfpatharc{40}{0}{.125cm and .175cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{270}{350}{.15cm and .1cm}
+ \pgfpatharc{170}{90}{.175cm and .225cm}
+ \pgfpatharc{140}{180}{.125cm and .175cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.125cm}}
+ \pgfpatharc{0}{90}{.175cm and .1cm}
+ \pgfpatharc{180}{270}{.15cm and .2cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.05cm}}
+ \pgfpatharc{40}{0}{.45cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.125cm}}
+ \pgfpatharc{180}{90}{.175cm and .1cm}
+ \pgfpatharc{0}{-90}{.15cm and .2cm}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.05cm}}
+ \pgfpatharc{140}{180}{.45cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.05cm}{-.275cm}}
+ \pgfpatharc{-30}{60}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.05cm}{-.275cm}}
+ \pgfpatharc{210}{120}{.05cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.05cm}}
+ \pgfpatharc{30}{-30}{.15cm}
+ \pgfpatharc{80}{10}{.15cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.05cm}}
+ \pgfpatharc{150}{210}{.15cm}
+ \pgfpatharc{100}{170}{.15cm}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.275cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% resilience
+\pgfdeclareshape{resilience}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.425cm}{-.475cm}}{\pgfpointpolar{65}{.5cm}}}
+ \pgfpatharc{65}{90}{.5cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.55cm}}}
+ \pgfpatharc{135}{45}{.55cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{.025cm}}
+ \pgfpatharc{90}{115}{.5cm}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.15cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{-.1cm}}
+ \pgfpatharc{200}{230}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{340}{310}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.065cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.045cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.045cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.065cm}{-.075cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% sanity
+\pgfdeclareshape{sanity}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.125cm + .175cm * sin(30)}{.425cm - .175cm * cos(30)}}
+ {\pgfpointpolar{210}{.175cm}}}
+ \pgfpatharc{210}{120}{.175cm}
+ \pgfpathlineto{\pgfpointpolar{110}{.25cm}}
+ \pgfpatharc{110}{70}{.25cm}
+ \pgfpathlineto{\pgfpoint{.125cm}{.425cm}}
+ \pgfpatharc{420}{330}{.175cm}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.1cm}}
+ \pgfpatharc{390}{305}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.1cm}}
+ \pgfpatharc{150}{235}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.025cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.55cm}{-.35cm}}
+ {\pgfpointadd{\pgfpointpolar{135}{.125cm and .075cm}}{\pgfpointpolar{20}{.55cm}}}}
+ \pgfpatharc{380}{360}{.55cm}
+ \pgfpatharc{135}{405}{.125cm and .075cm}
+ \pgfpatharc{180}{160}{.55cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% perception
+\pgfdeclareshape{perception}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.35cm}}{\pgfpointpolar{150}{.125cm}}}
+ \pgfpatharc{150}{390}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{.425cm}}
+ \pgfpatharc{180}{360}{.3cm and .2cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.425cm}}{\pgfpointpolar{330}{.3cm and .2cm}}}
+ \pgfpatharc{270}{350}{.15cm and .1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.425cm}}{\pgfpointpolar{210}{.3cm and .2cm}}}
+ \pgfpatharc{270}{190}{.15cm and .1cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.375cm}{.125cm}}
+ \pgfpatharc{210}{250}{.225cm}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.375cm}{.125cm}}
+ \pgfpatharc{330}{290}{.225cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.075cm}{-.35cm + .075cm * ( 2 + sqrt(3) )}}
+ {\pgfpointpolar{195}{.1cm and .075cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.35cm}}{\pgfpointpolar{195}{.1cm and .075cm}}}
+ \pgfpatharc{195}{345}{.1cm and .075cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.075cm}{-.35cm + .075cm * ( 2 + sqrt(3) )}}
+ {\pgfpointpolar{345}{.1cm and .075cm}}}
+ \pgfpathmoveto{\pgfpoint{.025cm}{-.325cm}}
+ \pgfpatharc{0}{180}{.025cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% luck
+\pgfdeclareshape{luck}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.1cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.05cm}}
+ \pgfpatharc{-75}{-15}{.425cm}
+ \pgfpatharc{40}{85}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.05cm}}
+ \pgfpatharc{-105}{-165}{.425cm}
+ \pgfpatharc{140}{95}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.05cm}}{\pgfpointpolar{15}{.425cm}}}
+ \pgfpatharc{15}{-55}{.425cm and .3cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.05cm}}{\pgfpointpolar{165}{.425cm}}}
+ \pgfpatharc{165}{235}{.425cm and .3cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.175cm}}
+ \pgfpatharc{90}{250}{.175cm and .125cm}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.325cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.175cm}}
+ \pgfpatharc{90}{-70}{.175cm and .125cm}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.325cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% armor
+\pgfdeclareshape{armor}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.125cm}}
+ \pgfpatharc{0}{90}{.3cm}
+ \pgfpathlineto{\pgfpoint{.125cm}{.35cm}}
+ \pgfpatharc{360}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.425cm}}
+ \pgfpatharc{90}{180}{.3cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.125cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.25cm}}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.25cm}}
+ \pgfpatharc{360}{270}{.125cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.225cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% proficiency
+\pgfdeclareshape{proficiency}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{126}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{162}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{198}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{234}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{306}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{342}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{18}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{54}{.15cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointpolar{270}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{342}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{342}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{54}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{54}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{126}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{126}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{198}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{198}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsability}{ O{positive} m O{} }{%
+ \edef\rpgicons@abilityiconposneg{#1}%
+ \edef\rpgicons@abilityiconneg{negative}%
+ \ifx\rpgicons@abilityiconposneg\rpgicons@abilityiconneg%
+ \def\rpgicons@abilityiconfg{fgneg}\else%
+ \def\rpgicons@abilityiconfg{fgpos}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every ability, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgpos/.style={draw}, fgneg/.style={draw=rpgicons@bg, line width=.6pt}, #3] {
+ \ifx\rpgicons@abilityiconposneg\rpgicons@abilityiconneg%
+ \path[scale=.333, fill] (0cm,0cm) circle[radius=.45cm];
+ \node[#2, \rpgicons@abilityiconfg, scale=.225] (0cm,0cm) {};
+ \else
+ \node[#2, \rpgicons@abilityiconfg, scale=.333] (0cm,0cm) {};
+ \fi%
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{ability}{\NewCommandCopy\ability\rpgiconsability}{}
+
+\NewDocumentCommand{\rpgiconssaving}{ O{normal} m O{} }{%
+ \edef\rpgicons@abilityiconnrmemp{#1}%
+ \edef\rpgicons@abilityiconemp{empty}%
+ \ifx\rpgicons@abilityiconnrmemp\rpgicons@abilityiconemp%
+ \def\rpgicons@savingstyle{}\else%
+ \def\rpgicons@savingstyle{rpg icons/every #2}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every saving, \rpgicons@savingstyle,
+ baseline=\rpgicons@baseline, #3] {
+ \path[draw, scale=.333] (-.45cm,.45cm) -- (.45cm,.45cm) -- (.45cm,-.05cm)
+ arc[start angle=360, end angle=180, radius=.45cm] -- cycle;
+ \ifx\rpgicons@abilityiconnrmemp\rpgicons@abilityiconemp\else%
+ \node[#2, draw,scale=.225] (0cm,0cm) {};
+ \fi%
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{saving}{\NewCommandCopy\saving\rpgiconssaving}{}
+
+% SPELLS
+
+% line
+\pgfdeclareshape{linear}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.4cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{-.4cm}{0cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cone
+\pgfdeclareshape{conic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \def\rx{.425cm}
+ \def\ry{.2cm}
+ \def\z{(.425cm+.2125cm)}
+ \pgfpathellipse{\pgfpoint{\z-.425cm}{0cm}}{\pgfpoint{\ry}{0cm}}{\pgfpoint{0cm}{\rx}}
+ \pgfmathparse{asin(\ry/\z)}
+ \let\angle\pgfmathresult
+ \pgfmathparse{-\rx*cos(\angle)}
+ \let\coordya\pgfmathresult
+ \pgfmathparse{\rx*cos(\angle)}
+ \let\coordyb\pgfmathresult
+ \pgfmathparse{\z-\ry*sin(\angle)}
+ \let\coordx\pgfmathresult
+ \pgfpathmoveto{\pgfpoint{\coordx-.425cm}{\coordya}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{\coordx-.425cm}{\coordyb}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{-.425cm}{0cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% square
+\pgfdeclareshape{quadratic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpointorigin}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cube
+\pgfdeclareshape{cubic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.425cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{-.2cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{.1125cm}{-.1125cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% sphere
+\pgfdeclareshape{spheric}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{180}{50}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{270}{140}{-.2cm and .425cm}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpointorigin}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cylinder
+\pgfdeclareshape{cylindric}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpoint{0cm}{.2125cm}}{\pgfpoint{0cm}{.2cm}}{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.2125cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.2125cm}}
+ \pgfpatharc{0}{180}{-.425cm and -.2cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2125cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{0cm}{-.2125cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% verbal
+\pgfdeclareshape{verbal}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{0cm}}
+ \pgfpatharc{180}{-115}{.35cm}
+ \pgfpathlineto{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfpathlineto{\pgfpointpolar{215}{.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% somatic
+\pgfdeclareshape{somatic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpatharc{0}{270}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{90}{360}{-.2cm and -.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% material
+\pgfdeclareshape{material}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.4cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.4cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.4cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.4cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.4cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% focus
+\pgfdeclareshape{focus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.35cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsspell}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every spell, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw,scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{spell}{\NewCommandCopy\spell\rpgiconsspell}{}
+
+% SPELLSCHOOLS
+
+% abjuration
+\pgfdeclareshape{abjuration}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.025cm}}
+ \pgfpatharc{270}{390}{.275cm and .175cm}
+ \pgfpatharc{210}{120}{.095cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.025cm}}
+ \pgfpatharc{270}{150}{.275cm and .175cm}
+ \pgfpatharc{-30}{60}{.095cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.125cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.3cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% conjuration
+\pgfdeclareshape{conjuration}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.225cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{110}{70}{.5cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{110}{70}{-.5cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% divination
+\pgfdeclareshape{divination}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.175cm}}
+ \pgfpatharc{180}{0}{.15cm and -.25cm}
+ \pgfpatharc{180}{90}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.05cm}{-.175cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{0cm}}
+ \pgfpatharc{180}{90}{.4cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% enchantment
+\pgfdeclareshape{enchantment}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.025cm}{.175cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.1cm and .2cm}
+ \pgfpatharc{180}{0}{.1cm and .2cm}
+ \pgfpatharc{180}{0}{.1cm and -.2cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% evocation
+\pgfdeclareshape{evocation}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{.325cm}{0cm}}{\pgfpoint{0cm}{.225cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpointpolar{30}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{60}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{120}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{120}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{150}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{210}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{240}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{300}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{330}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.4cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% illusion
+\pgfdeclareshape{illusion}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{270}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{270}{.35cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{240}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{225}{.4cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{300}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{315}{.4cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{.075cm}}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% necromancy
+\pgfdeclareshape{necromancy}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{210}{.25cm}}
+ \pgfpatharc{210}{-30}{.25cm}
+ \pgfpatharc{150}{390}{.1cm}
+ \pgfpathmoveto{\pgfpointpolar{210}{.25cm}}
+ \pgfpatharc{390}{150}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% transmutation
+\pgfdeclareshape{transmutation}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.35cm}}
+ \pgfpatharc{90}{-45}{.1cm}
+ \pgfpatharc{135}{360}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsspellschool}{ O{negative} m O{} }{%
+ \edef\rpgicons@spellschooliconposneg{#1}%
+ \edef\rpgicons@spellschooliconpos{positive}%
+ \ifx\rpgicons@spellschooliconposneg\rpgicons@spellschooliconpos%
+ \def\rpgicons@spellschooliconfg{fgneg}\else%
+ \def\rpgicons@spellschooliconfg{fgpos}\fi%
+ \ifx\rpgicons@spellschooliconposneg\rpgicons@spellschooliconpos%
+ \def\rpgicons@spellschooliconbg{bgneg}\else%
+ \def\rpgicons@spellschooliconbg{bgpos}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every spellschool, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgpos/.style={draw=rpgicons@bg, line width=.6pt}, fgneg/.style={draw},
+ bgpos/.style={fill}, bgneg/.style={draw}, #3] {
+ \path[scale=.333, \rpgicons@spellschooliconbg] (-.475cm,.35cm)
+ -- (-.35cm,.475cm) -- (.35cm,.475cm) -- (.475cm,.35cm) -- (.425cm,-.375cm) -- (0cm,-.475cm) -- (-.425cm,-.375cm) -- cycle;
+ \node[#2, scale=.225, \rpgicons@spellschooliconfg] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425,.425) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{spellschool}{\NewCommandCopy\spellschool\rpgiconsspellschool}{}
+
+% DAMAGES
+
+% acid
+\pgfdeclareshape{acid}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.175cm}{.05cm}}{\pgfpointpolar{-20}{.175}}}
+ \pgfpatharc{-20}{200}{-.175cm}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathclose
+ \newdimen\rpgicons@py
+ \pgfextracty{\rpgicons@py}{\pgfpointadd{\pgfpoint{0cm}{-.175cm}}{\pgfpointpolar{20}{-.25cm}}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{\rpgicons@py}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.175cm}}{\pgfpointpolar{20}{-.25cm}}}
+ \pgfpatharc{20}{160}{-.25cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{\rpgicons@py}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% bludgeoning
+\pgfdeclareshape{bludgeoning}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{-.2cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.05cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.2375cm}{.1875cm}}
+ \pgfpatharc{135}{315}{-.05cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% cold
+\pgfdeclareshape{cold}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{110}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{90}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{70}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{250}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{290}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{50}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{10}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{190}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{230}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{150}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{170}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{310}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% fire
+\pgfdeclareshape{fire}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.15cm}{-.425cm}}
+ \pgfpatharc{-60}{0}{.45cm and .375cm}
+ \pgfpathcurveto{\pgfpoint{.375cm}{.15cm}}{\pgfpoint{.15cm}{.375cm}}{\pgfpoint{-.05cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.425cm}}
+ \pgfpatharc{240}{135}{.45cm and .35cm}
+ \pgfpathcurveto{\pgfpoint{-.15cm}{.2cm}}{\pgfpoint{0cm}{.25cm}}{\pgfpoint{-.05cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.3cm}}
+ \pgfpathcurveto{\pgfpoint{.2cm}{-.2cm}}{\pgfpoint{.2cm}{-.05cm}}{\pgfpoint{.05cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.3cm}}
+ \pgfpatharc{220}{150}{.35cm and .2cm}
+ \pgfpathcurveto{\pgfpoint{0cm}{-.2cm}}{\pgfpoint{.05cm}{-.1cm}}{\pgfpoint{.05cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% force
+\pgfdeclareshape{force}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{120}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{180}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{0}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.15cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% lightning
+\pgfdeclareshape{lightning}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% necrotic
+\pgfdeclareshape{necrotic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.075cm}}
+ \pgfpatharc{180}{0}{.35cm}
+ \pgfpathlineto{\pgfpoint{.35cm}{-.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% piercing
+\pgfdeclareshape{piercing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.3cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.3cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.35cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% poison
+\pgfdeclareshape{poison}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.175cm}}{\pgfpointpolar{-40}{.25cm}}}
+ \pgfpatharc{-40}{220}{.25cm}
+ \pgfpathlineto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.1cm}}
+ \pgfpathclose
+ \pgfpathcircle{\pgfpoint{-.1cm}{.15cm}}{.05cm}
+ \pgfpathcircle{\pgfpoint{.1cm}{.15cm}}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% psychic
+\pgfdeclareshape{psychic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.075cm}{.4cm}}
+ \pgfpatharc{90}{180}{.425cm}
+ \pgfpatharc{180}{270}{.375cm}
+ \pgfpatharc{270}{360}{.325cm}
+ \pgfpatharc{0}{90}{.275cm}
+ \pgfpatharc{90}{180}{.225cm}
+ \pgfpatharc{180}{270}{.175cm}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% radiant
+\pgfdeclareshape{radiant}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.225cm}
+ \pgfpathmoveto{\pgfpointpolar{15}{.425cm}}
+ \pgfpatharc{15}{45}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{75}{.425cm}}
+ \pgfpatharc{75}{105}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{135}{.425cm}}
+ \pgfpatharc{135}{165}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{195}{.425cm}}
+ \pgfpatharc{195}{225}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{255}{.425cm}}
+ \pgfpatharc{255}{285}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{315}{.425cm}}
+ \pgfpatharc{315}{345}{.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% slashing
+\pgfdeclareshape{slashing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{-.275cm}{.35cm}}
+ \pgfpatharc{0}{240}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{-.225cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.025cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{.325cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.275cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.275cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% thunder
+\pgfdeclareshape{thunder}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.225cm}{-.075cm}}
+ \pgfpatharc{-90}{120}{.2cm}
+ \pgfpatharc{30}{180}{.225cm}
+ \newdimen\rpgicons@qy
+ \pgfmathparse{.125cm+cos(30)*.2cm-sin(30)*.225cm}
+ \rpgicons@qy=\pgfmathresult pt
+ \pgfpathlineto{\pgfpoint{-.3cm}{\rpgicons@qy}}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.05cm}}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.225cm}}
+ \pgfpatharc{240}{300}{.3cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.35cm}}
+ \pgfpatharc{240}{300}{.5cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% healing
+\pgfdeclareshape{healing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.125cm}}
+ \pgfpatharc{0}{225}{.2cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.375cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.125cm}}
+ \pgfpatharc{180}{-45}{.2cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.375cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsdamage}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every damage, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \path[draw, scale=.333] (0cm,0cm) circle[radius=.5cm];
+ \node[#1, draw, scale=.225] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{damage}{\NewCommandCopy\damage\rpgiconsdamage}{}
+
+% ATTACKS
+
+% melee
+\pgfdeclareshape{melee}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.275cm}{-.35cm}}
+ \pgfpatharc{360}{90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{-.225cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{.325cm}{.325cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% ranged
+\pgfdeclareshape{ranged}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.225cm}}
+ \pgfpatharc{0}{-30}{.4cm}
+ \pgfpatharc{-45}{0}{.6cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{0}{30}{.4cm}
+ \pgfpatharc{45}{0}{.6cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.275cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.275cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.4cm}{-.225cm}}{\pgfpointpolar{-20}{.4cm}}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.4cm}{.225cm}}{\pgfpointpolar{20}{.4cm}}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% magic
+\pgfdeclareshape{magic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.225cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.425cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.3cm}{-.1cm}}
+ \pgflineto{\pgfpoint{-.3cm}{.125cm}}
+ \pgflineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpatharc{405}{315}{.1cm}
+ \pgflineto{\pgfpoint{-.15cm}{.1cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.05cm}}
+ \pgfpatharc{180}{360}{.05cm}
+ \pgflineto{\pgfpoint{-.05cm}{0cm}}
+ \pgfpatharc{180}{90}{.1cm}
+ \pgflineto{\pgfpoint{.05cm}{-.1cm}}
+ \pgfpatharc{360}{315}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.225cm}{-.25cm}}
+ \pgflineto{\pgfpoint{-.325cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.2cm}}
+ \pgfpatharc{180}{360}{.1cm}
+ \pgfpatharc{0}{45}{.1cm}
+ \pgfpatharc{225}{180}{.2cm}
+ \pgfpathcircle{\pgfpoint{.3cm}{-.075cm}}{.075cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% single-handed
+\pgfdeclareshape{singlehanded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.025cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.325cm}{-.125cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{-.275cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.275cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{-.1cm}{-.175cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgflineto{\pgfpoint{-.425cm}{-.25cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% double-handed
+\pgfdeclareshape{doublehanded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.025cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.325cm}{-.125cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{-.275cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.275cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{-.1cm}{-.175cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgflineto{\pgfpoint{-.425cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.425cm}}
+ \pgflineto{\pgfpoint{-.025cm}{.425cm}}
+ \pgflineto{\pgfpoint{-.325cm}{.125cm}}
+ \pgfpatharc{225}{315}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{.275cm}}
+ \pgflineto{\pgfpoint{.15cm}{.275cm}}
+ \pgfpatharc{450}{270}{.05cm}
+ \pgflineto{\pgfpoint{.1cm}{.175cm}}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgflineto{\pgfpoint{.2cm}{.075cm}}
+ \pgfpatharc{270}{315}{.125cm}
+ \pgflineto{\pgfpoint{.425cm}{.25cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsattack}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every attack, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw, scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{attack}{\NewCommandCopy\attack\rpgiconsattack}{}
+
+% CONDITIONS
+
+% buff
+\pgfdeclareshape{buff}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.225cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.1cm}{-.3cm}}
+ \pgflineto{\pgfpoint{.125cm}{-.3cm}}
+ \pgflineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{.1cm}{-.15cm}}
+ \pgflineto{\pgfpoint{-.05cm}{-.15cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{0cm}{-.05cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.325cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgflineto{\pgfpoint{.25cm}{.425cm}}
+ \pgflineto{\pgfpoint{.25cm}{.275cm}}
+ \pgfpatharc{360}{180}{.125cm}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% blinded
+\pgfdeclareshape{blinded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.25cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgflineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% charmed
+\pgfdeclareshape{charmed}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.1cm}}
+ \pgfpatharc{180}{360}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.175cm}{.15cm}}
+ \pgfpatharc{0}{225}{.0625cm}
+ \pgfpathlineto{\pgfpoint{-.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{.15cm}}
+ \pgfpatharc{180}{-45}{.0625cm}
+ \pgfpathlineto{\pgfpoint{-.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpatharc{0}{225}{.0625cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpatharc{180}{-45}{.0625cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% deafened
+\pgfdeclareshape{deafened}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.15cm}
+ \pgflineto{\pgfpoint{.125cm}{-.225cm}}
+ \pgfpatharc{180}{135}{.25cm}
+ \pgfpatharc{315}{360}{.25cm}
+ \pgfpatharc{0}{180}{.275cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{-90}{90}{.075cm}
+ \pgflineto{\pgfpoint{-.15cm}{.125cm}}
+ \pgfpatharc{180}{45}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.2cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgflineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% exhausted
+\pgfdeclareshape{exhausted}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.275cm}{.15cm}}
+ \pgfpatharc{180}{0}{-.1cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{.15cm}}
+ \pgfpatharc{180}{0}{-.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% frightened
+\pgfdeclareshape{frightened}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathcircle{\pgfpoint{-.175cm}{.125cm}}{.075cm}
+ \pgfpathcircle{\pgfpoint{.175cm}{.125cm}}{.075cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% grappled
+\pgfdeclareshape{grappled}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.3cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.15cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{0cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{0cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.15cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.15cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.3cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.425cm}{.05cm}}
+ \pgfpatharc{0}{90}{.25cm}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.3cm}}
+ \pgfpatharc{180}{270}{.15cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.175cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.175cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{-.3cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% incapacitated
+\pgfdeclareshape{incapacitated}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpatharc{270}{210}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{90}{-.425cm}}
+ \pgfpatharc{30}{90}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpatharc{330}{270}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{150}{-.425cm}}
+ \pgfpatharc{90}{150}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{150}{.425cm}}
+ \pgfpatharc{30}{-30}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{210}{-.425cm}}
+ \pgfpatharc{150}{210}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{30}{.25cm}}
+ \pgfpatharc{270}{210}{.25cm}
+ \pgfpatharc{330}{270}{.25cm}
+ \pgfpatharc{30}{-30}{.25cm}
+ \pgfpatharc{90}{30}{.25cm}
+ \pgfpatharc{150}{90}{.25cm}
+ \pgfpatharc{210}{150}{.25cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% invisible
+\pgfdeclareshape{invisible}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{-15}{.425cm}}
+ \pgfpatharc{-15}{15}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpatharc{30}{60}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{75}{.425cm}}
+ \pgfpatharc{75}{105}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{120}{.425cm}}
+ \pgfpatharc{120}{150}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{165}{.425cm}}
+ \pgfpatharc{165}{195}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{210}{.425cm}}
+ \pgfpatharc{210}{240}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{255}{.425cm}}
+ \pgfpatharc{255}{285}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{300}{.425cm}}
+ \pgfpatharc{300}{330}{.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% paralyzed
+\pgfdeclareshape{paralyzed}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.2cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% petrified
+\pgfdeclareshape{petrified}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{45}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{100}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{135}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{190}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{230}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{250}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointpolar{135}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpointpolar{220}{.2cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.325cm}}
+ \pgfpathmoveto{\pgfpointpolar{300}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.3cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.225cm}}
+ \pgfpathmoveto{\pgfpointpolar{45}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.3cm}}
+ \pgfpathlineto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.175cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% poisoned
+\pgfdeclareshape{poisoned}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.025cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% prone
+\pgfdeclareshape{prone}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{.2cm}{-.125cm}}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpatharc{90}{-90}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.25cm}}
+
+ \pgfpathmoveto{\pgfpoint{.225cm}{.15cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgfpatharc{180}{270}{.1cm}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgfpatharc{0}{90}{.1cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgfpatharc{180}{270}{.1cm}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgfpatharc{0}{90}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% restrained
+\pgfdeclareshape{restrained}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{.225cm}}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{0cm}}
+ \pgfpatharc{270}{180}{.1cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{.3cm}}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.075cm}}
+ \pgfpatharc{180}{235}{.1cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.225cm}}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{.225cm}}
+ \pgfpatharc{90}{0}{.125cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{0cm}}
+ \pgfpatharc{-90}{0}{.1cm}
+ \pgfpathlineto{\pgfpoint{.3cm}{.3cm}}
+ \pgfpatharc{180}{90}{.125cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.075cm}}
+ \pgfpatharc{360}{330}{.1cm}
+ \pgfpathlineto{\pgfpoint{.3cm}{-.225cm}}
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.225cm}}
+ \pgfpatharc{90}{-90}{.05cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.325cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.325cm}}
+ \pgfpatharc{90}{-90}{.05cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% stunned
+\pgfdeclareshape{stunned}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathellipse{\pgfpoint{0cm}{-.175cm}}{\pgfpoint{0cm}{.1cm}}{\pgfpoint{.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{90}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{126}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{162}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{198}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{234}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{270}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{306}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{342}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{18}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{54}{.05cm}}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{90}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{126}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{162}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{198}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{234}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{270}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{306}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{342}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{18}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{54}{.05cm}}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% unconscious
+\pgfdeclareshape{unconscious}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{90}{-30}{.425cm and .15cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{270}{150}{.425cm and .15cm}
+ \pgfpathmoveto{\pgfpoint{-.35cm}{.15cm}}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfpathmoveto{\pgfpoint{.1cm}{-.15cm}}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% hearing
+\pgfdeclareshape{hearing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.15cm}
+ \pgflineto{\pgfpoint{.125cm}{-.225cm}}
+ \pgfpatharc{180}{135}{.25cm}
+ \pgfpatharc{315}{360}{.25cm}
+ \pgfpatharc{0}{180}{.275cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{-90}{90}{.075cm}
+ \pgflineto{\pgfpoint{-.15cm}{.125cm}}
+ \pgfpatharc{180}{45}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% seeing
+\pgfdeclareshape{seeing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconscondition}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every condition, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw, scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{condition}{\NewCommandCopy\condition\rpgiconscondition}{}
+
+% make tikz icons available as pics
+\ifrpgicons@pics
+
+\tikzset{
+ rpg icons/create pic from shape/.code={%
+ \tikzset{
+ rpg icons #1/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every #1]
+ \node[draw, scale=.333] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ },
+ }%
+ },
+ rpg icons/create pic from ability shape/.code={%
+ \tikzset{
+ rpg icons #1 ability/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every ability, rpg icons/every #1]
+ \path[scale=.333, pic actions] (0cm,0cm) circle[radius=.45cm];
+ \node[draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from saving shape/.code={%
+ \tikzset{
+ rpg icons #1 saving/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every saving, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (-.45cm,.45cm) -- (.45cm,.45cm) -- (.45cm,-.05cm)
+ arc[start angle=360, end angle=180, radius=.45cm] -- cycle;
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from spellschool shape/.code={%
+ \tikzset{
+ rpg icons #1 spellschool/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every spellschool, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (-.475cm,.35cm)
+ -- (-.35cm,.475cm) -- (.35cm,.475cm) -- (.475cm,.35cm) -- (.425cm,-.375cm) -- (0cm,-.475cm) -- (-.425cm,-.375cm) -- cycle;
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from damage shape/.code={
+ \tikzset{
+ rpg icons #1 damage/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every damage, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (0cm,0cm) circle[radius=.5cm];
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }
+ },
+ rpg icons/create pic from shape/.list/.expanded={%
+ \rpgicons@allshapes%
+ },
+ rpg icons/create pic from ability shape/.list={%
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency%
+ },
+ rpg icons/create pic from saving shape/.list={%
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency%
+ },
+ rpg icons/create pic from spellschool shape/.list={%
+ abjuration, conjuration, divination, enchantment, evocation, illusion, necromancy, transmutation%
+ },
+ rpg icons/create pic from damage shape/.list={%
+ acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic,
+ radiant, slashing, thunder, healing%
+ }
+}
+
+\fi
+
+% ROLL SYNTAX
+
+\ExplSyntaxOn
+
+\cs_if_exist:NF \rpgicons_roll_syntax_parse:n {
+
+ \bool_new:N \l__rpgicons_unicode_mode_bool
+ \sys_if_engine_luatex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+ }
+ \sys_if_engine_xetex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+ }
+
+ \regex_new:N \l__rpgicons_roll_syntax_die_regex
+ \cs_generate_variant:Nn \regex_set:Nn { Ne }
+ \cs_new:Npn \rpgicons_roll_syntax_die_set:n #1 {
+ \regex_set:Ne \l__rpgicons_roll_syntax_die_regex { [ \clist_use:nn {#1} { } ] }
+ }
+
+ \cs_new:Npn \rpgicons_roll_syntax_convert:n #1 {
+ \str_case:nnF {#1} {
+ { 2 } { twoside }
+ { 4 } { fourside }
+ { 6 } { sixside }
+ { 8 } { eightside }
+ { 10 } { tenside }
+ { 12 } { twelveside }
+ { 20 } { twentyside }
+ { 100 } { hundredside }
+ { F } { fudge }
+ }
+ {#1}
+ }
+
+ \seq_new:N \l__rpgicons_roll_syntax_seq
+ \tl_new:N \l__rpgicons_roll_syntax_part_tl
+ \regex_new:N \l__rpgicons_roll_syntax_split_regex
+ \regex_new:N \l__rpgicons_roll_syntax_plusminus_regex
+ \regex_new:N \l__rpgicons_roll_syntax_times_regex
+ \bool_if:NTF \l__rpgicons_unicode_mode_bool {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-\x{2212}x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-\x{2212}])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+ } {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+ }
+ \regex_new:N \l__rpgicons_roll_syntax_dice_regex
+ \cs_new:Npn \rpgicons_roll_syntax_parse:n #1 {
+ \regex_set:Nn \l__rpgicons_roll_syntax_dice_regex { \A(\d*)\ur{l__rpgicons_roll_syntax_die_regex}([F\d]+)\Z }
+ \regex_split:NnN \l__rpgicons_roll_syntax_split_regex {#1} \l__rpgicons_roll_syntax_seq
+ \seq_map_inline:Nn \l__rpgicons_roll_syntax_seq {
+ \tl_set:Ne \l__rpgicons_roll_syntax_part_tl {##1}
+ \regex_replace_case_once:nNTF {
+ { \l__rpgicons_roll_syntax_plusminus_regex } { \c{,} $\1$ \c{,} }
+ { \l__rpgicons_roll_syntax_times_regex } { \c{,} $\c{times}$ \c{,} }
+ { \l__rpgicons_roll_syntax_dice_regex }
+ { \c{ rpgiconsdie } { \c{ rpgicons_roll_syntax_convert:n } { \2 } } { \1 } }
+ } \l__rpgicons_roll_syntax_part_tl
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ }
+ }
+
+}
+
+\tikzset{
+ rpg ~ icons/roll ~ syntax/.code={
+ \rpgicons_roll_syntax_die_set:n {#1}
+ },
+ rpg ~ icons/roll ~ syntax={d,D}
+}
+
+\NewDocumentCommand{\rpgiconsroll}{ m }{
+ \rpgicons_roll_syntax_parse:n {#1}
+}
+
+\ExplSyntaxOff
+
+\@ifundefined{roll}{\NewCommandCopy\roll\rpgiconsroll}{}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/rpgicons/rpgicons.sty b/macros/latex/contrib/rpgicons/rpgicons.sty
new file mode 100644
index 0000000000..8079232a4f
--- /dev/null
+++ b/macros/latex/contrib/rpgicons/rpgicons.sty
@@ -0,0 +1,35 @@
+% File: rpgicons.sty
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `rpgicons' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\ProvidesExplPackage {rpgicons} {2024-05-15} {1.8.3}
+ {rpg Icons Package}
+
+\bool_new:N \l__rpgicons_use_legacy_variant_bool
+\clist_new:N \l__rpgicons_forwarded_options_clist
+\keys_define:nn { rpgicons / select ~ variant } {
+ l3 .bool_set:N = \l__rpgicons_use_legacy_variant_bool ,
+ l3 .default:n = { false } ,
+ pgf .bool_set:N = \l__rpgicons_use_legacy_variant_bool ,
+ pgf .default:n = { true } ,
+ pics .code:n = { \clist_put_right:Nn \l__rpgicons_forwarded_options_clist { pics } } ,
+ compat .code:n = { \clist_put_right:Nn \l__rpgicons_forwarded_options_clist { compat } } ,
+ opacity .code:n = { \clist_put_right:Nn \l__rpgicons_forwarded_options_clist { opacity } }
+}
+\ProcessKeyOptions [ rpgicons / select ~ variant ]
+
+\bool_if:NTF \l__rpgicons_use_legacy_variant_bool {
+ \RequirePackage [ \l__rpgicons_forwarded_options_clist ] { rpgicons-pgf }
+} {
+ \RequirePackage [ \l__rpgicons_forwarded_options_clist ] { rpgicons-l3 }
+}
+
+% EOF \ No newline at end of file
diff --git a/macros/latex/contrib/se2thesis/CHANGELOG.md b/macros/latex/contrib/se2thesis/CHANGELOG.md
index 600f16953b..32bdced07c 100644
--- a/macros/latex/contrib/se2thesis/CHANGELOG.md
+++ b/macros/latex/contrib/se2thesis/CHANGELOG.md
@@ -7,6 +7,33 @@ and this project adheres to
## [Unreleased]
+## [v4.0.1] – 2024–05–17
+
+### Fixed
+
+- Updated copyright years.
+- Add the missing `colormode` option `bw` to `se2colors`.
+
+## [v4.0.0] – 2024–05–08
+
+### Changed
+
+- Set the maths style and bold-maths style to ISO for the maths fonts.
+
+### Removed
+
+- The option `fmode` was removed from `se2fonts`; it was already deprecated
+ since `se2thesis` version 2.0.0.
+
+## [v3.4.0] – 2024–04–20
+
+### Added
+- Fix the referencing with cleveref's `\cref` etc. for the `resq` (research
+ questions) and `hyp` (hypotheses) environments
+ (see [#8](https://github.com/se2p/se2thesis/issues/8))
+- Add the thesis type `phdphil` for a PhD thesis in philosophy.
+- Add section to documentation that the template is also available from Overleaf.
+
## [v3.3.1] – 2024–02–23
### Changed
@@ -176,6 +203,10 @@ These changes might be breaking changes!
### Added
- First official release
+[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.0.1...HEAD
+[v4.0.1]: https://github.com/se2p/se2thesis/compare/v4.0.1...v4.0.0
+[v4.0.0]: https://github.com/se2p/se2thesis/compare/v4.0.0...v3.4.0
+[v3.4.0]: https://github.com/se2p/se2thesis/compare/v3.4.0...v3.3.1
[v3.3.1]: https://github.com/se2p/se2thesis/compare/v3.3.1...v3.3.0
[v3.3.0]: https://github.com/se2p/se2thesis/compare/v3.3.0...v3.2.0
[v3.2.0]: https://github.com/se2p/se2thesis/compare/v3.2.0...v3.1.0
diff --git a/macros/latex/contrib/se2thesis/se2colors.dtx b/macros/latex/contrib/se2thesis/se2colors.dtx
index 97d57ee682..ccea678194 100644
--- a/macros/latex/contrib/se2thesis/se2colors.dtx
+++ b/macros/latex/contrib/se2thesis/se2colors.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: se2colors.dtx Copyright (C) 2022--2023 Stephan Lukasczyk
+% File: se2colors.dtx Copyright (C) 2022--2024 Stephan Lukasczyk
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -231,7 +231,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2colors} {2024-02-23} {3.3.1}
+\ProvidesExplPackage {se2colors} {2024-05-17} {4.0.1}
{A colour support package for the se2thesis bundle}
% \end{macrocode}
%
@@ -259,10 +259,13 @@
cmode / cmyk .meta:n = {cmode=4C},
cmode / rgb .meta:n = {cmode=RGB},
cmode / gray .meta:n = {cmode=BW},
+ cmode / bw .meta:n = {cmode=BW},
RGB .meta:n = {cmode=RGB},
rgb .meta:n = {cmode=RGB},
CMYK .meta:n = {cmode=4C},
cmyk .meta:n = {cmode=4C},
+ BW .meta:n = {cmode=BW},
+ bw .meta:n = {cmode=BW},
gray .meta:n = {cmode=BW},
}
\keys_set:nn { seiicolors } { cmode = 4C }
diff --git a/macros/latex/contrib/se2thesis/se2fonts.dtx b/macros/latex/contrib/se2thesis/se2fonts.dtx
index 938c24d1f7..741478e0fd 100644
--- a/macros/latex/contrib/se2thesis/se2fonts.dtx
+++ b/macros/latex/contrib/se2thesis/se2fonts.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: se2fonts.dtx Copyright (C) 2022--2023 Stephan Lukasczyk
+% File: se2fonts.dtx Copyright (C) 2022--2024 Stephan Lukasczyk
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -151,65 +151,28 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2fonts} {2024-02-23} {3.3.1}
+\ProvidesExplPackage {se2fonts} {2024-05-17} {4.0.1}
{A font-selection support package for the se2thesis bundle}
% \end{macrocode}
%
% \subsection{Load-time options}
%
-% \begin{macro}{\l_@@_fontmode_tl}
-% Holds the font-selection mode specified by the user as a package
-% load-time option.
-% \emph{Please note:} this option is deprecated!
-% \begin{macrocode}
-\tl_new:N \l_@@_fontmode_tl
-\keys_define:nn { seiifonts }
- {
- fmode .choice:,
- fmode / original .code:n = {
- \tl_gset:Nn \l_@@_fontmode_tl {original}
- },
- fmode / replacement .code:n = {
- \tl_gset:Nn \l_@@_fontmode_tl {replacement}
- },
- fmode / auto .code:n = {
- \tl_gset:Nn \l_@@_fontmode_tl {auto}
- },
- original .meta:n = {fmode=original},
- replacement .meta:n = {fmode=replacement},
- auto .meta:n = {fmode=auto},
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Option handling}
-%
-% \begin{macrocode}
-\IfFormatAtLeastTF { 2022-06-01 }
- { \ProcessKeyOptions [ seiifonts ] }
- {
- \RequirePackage{ l3keys2e }
- \ProcessKeysOptions { seiifonts }
- }
-% \end{macrocode}
+% The package does not have any load-time options; the formerly defined option
+% to set the font mode was removed with \pkg{se2thesis} version 4.0.0.
%
-% Define a warning message
-% \begin{macrocode}
-\msg_set:nnnn { seiifonts } { deprecated-option }
- { The~ option~ fmode~ to~ the~ se2fonts~ package~ is~ deprecated. }
- { Remove~ it~ from~ your~ code.}
-% \end{macrocode}
+% \subsection{Helper macros}
%
-% Raise the warning if the option was used
+% Define a warning message of users of \pdfLaTeX{} that not all features of the
+% fonts are available and that they should consider using \LuaTeX{} instead.
% \begin{macrocode}
-\tl_if_empty:NF \l_@@_fontmode_tl
+\msg_new:nnnn { seiifonts } { pdflatex-used }
+ { You~ are~ using~ pdfLaTeX~ with~ the~ se2fonts~ packages.}
{
- \msg_warning:nn { seiifonts } { deprecated-option }
+ While~ this~ works~ some~ font~ features~ are~ not~ available,~ consider~
+ using~ lualatex~ instead.
}
% \end{macrocode}
%
-% \subsection{Helper macros}
-%
% \begin{macro}{\pdftexengine, \xetexengine, \luatexengine}
% We define several alias macros to identify which engine the user is running.
% \begin{macrocode}
@@ -242,7 +205,7 @@
% \begin{macrocode}
\ifengineT { \xetexengine }
{
- \msg_set:nnnn { seiifonts } { xetex-not-supported }
+ \msg_new:nnnn { seiifonts } { xetex-not-supported }
{ XeTeX~ is~ not~ supported~ by~ the~ se2fonts~ package. }
{ Switch~ to~ pdfTeX~ or~ (preferably)~ LuaTeX. }
\msg_error:nn { seiifonts } { xetex-not-supported }
@@ -261,6 +224,7 @@
% If the user uses \LuaTeX{}, load \pkg{fontspec} and \pkg{unicode-math}.
% \begin{macrocode}
\RequirePackage{fontspec}
+ \PassOptionsToPackage{math-style=ISO,bold-style=ISO}{unicode-math}
\RequirePackage{unicode-math}
% \end{macrocode}
%
@@ -288,6 +252,7 @@
%
% The user does not use \LuaTeX{}, thus fallback to T1 fonts.
% \begin{macrocode}
+ \msg_warning:nn { seiifonts } { pdflatex-used }
\PassOptionsToPackage{T1}{fontenc}
\PassOptionsToPackage{scaled=0.9,varl}{inconsolata}
\PassOptionsToPackage{mono=false}{libertinus-type1}
diff --git a/macros/latex/contrib/se2thesis/se2packages.dtx b/macros/latex/contrib/se2thesis/se2packages.dtx
index 8e29a96906..4c28b13fce 100644
--- a/macros/latex/contrib/se2thesis/se2packages.dtx
+++ b/macros/latex/contrib/se2thesis/se2packages.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: se2packages.dtx Copyright (C) 2022--2023 Stephan Lukasczyk
+% File: se2packages.dtx Copyright (C) 2022--2024 Stephan Lukasczyk
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -443,7 +443,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2packages} {2024-02-23} {3.3.1}
+\ProvidesExplPackage {se2packages} {2024-05-17} {4.0.1}
{Supporting packages for the se2thesis bundle}
% \end{macrocode}
%
@@ -881,6 +881,8 @@
\AddToHook { begindocument/before }
{
\RequirePackage[capitalise]{cleveref}
+ \Crefname{resq}{Research Question}{Research Questions}
+ \Crefname{hyp}{Hypothesis}{Hypotheses}
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
index cdfb050e29..957e0b5110 100644
--- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
index 15000000b2..4f10ae80f5 100644
--- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
+++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
@@ -44,6 +44,10 @@
\institute{Chair of Example}
\location{Passau}
+\usepackage[capitalise]{cleveref}
+%\crefname{resq}{research question}{research questions}
+\Crefname{resq}{Research Question}{Research Questions}
+
\begin{document}
\frontmatter
@@ -72,13 +76,18 @@
\section{Further Examples}
-We could reference the \TeX{} book~\autocite{Knu86}.
+We could reference the \TeX{} book~\autocite{Knu86}. And we want to reference
+\cref{rq:1} and \cref{hyp:1} here.
-\begin{resq}
+\begin{resq}\label{rq:1}
What is \(41 + 1\)?
\end{resq}
-\begin{summary}{Research Question 1}
+\begin{hyp}\label{hyp:1}
+ We hypothesise that the answer to \cref{rq:1} is 42!
+\end{hyp}
+
+\begin{summary}{\Cref{rq:1}}
It's 42, obviously!
\end{summary}
diff --git a/macros/latex/contrib/se2thesis/se2thesis.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx
index 9bb167399c..ced3b912d1 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.dtx
+++ b/macros/latex/contrib/se2thesis/se2thesis.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: se2thesis.dtx Copyright (C) 2022--2023 Stephan Lukasczyk
+% File: se2thesis.dtx Copyright (C) 2022--2024 Stephan Lukasczyk
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -123,6 +123,27 @@
% thus also recent releases of \pkg{se2thesis} will be part of the image
% soon after their release date.
%
+% \subsection{Availability on Overleaf}\label{sec:doc-intro-overleaf}
+%
+% Since April 3, 2024, the \pkg{se2thesis} document template is also available
+% from Overleaf. The document that is in Overleafs gallery is based on the
+% example document that comes with this package. Any Overleaf user can just
+% create a new thesis document based on the template by clicking the respective
+% button on Overleaf's gallery page.
+%
+% The gallery entry for \pkg{se2thesis} is available from
+% \href{https://www.overleaf.com/latex/templates/se2thesis-a-thesis-class-for-the-chair-of-software-engineering-ii-at-the-university-of-passau-germany/fpymkmxmbgpc}{https://www.overleaf.com/latex/templates/se2thesis-a-thesis-class-for-the-chair-of-software-engineering-ii-at-the-university-of-passau-germany/fpymkmxmbgpc}.%
+%
+% \emph{Important remark:} Currently, the Overleaf template does not support
+% \LuaLaTeX{} but requires builds with \pdfLaTeX. The reason is that Overleaf
+% does not yet ship \TeXLive~2024, but only \TeXLive~2023, which does not
+% provide the respective font package~(notably \pkg{inconsolata-nerd-font}).
+% Until the latest \TeXLive{} will be available from Overleaf, one can only use
+% the \pdfLaTeX{} mode, which has some drawbacks on the fonts, but works fine
+% otherwise. From the Overleaf blog, we assume that \TeXLive~2024 might be
+% available from some time in autumn 2024. We will update this documentation
+% accordingly, as soon as the new version is available.
+%
% \subsection{General Macros}\label{sec:doc-intro-macros}
%
% They all have in common one macro, \cs{IfFormatAtLeastTF};
@@ -225,8 +246,8 @@
% |bachelor| for a bachelor thesis, |bachelorproposal| for a proposal to
% a bachelor thesis, |master| for a master thesis, |masterproposal| for
% a proposal to a master thesis, |phdproposal| for a proposal to a PhD thesis,
-% |phd| for a PhD thesis in the natural sciences and |phdeng| for a PhD thesis
-% in engineering.
+% |phd| for a PhD thesis in the natural sciences, |phdeng| for a PhD thesis
+% in engineering, and |phdphil| for a PhD thesis in philosophy.
% \end{function}
%
% \begin{function}{colormode}
@@ -586,7 +607,7 @@
%
% Identify the class and give the overall version number.
% \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2024-02-23} {3.3.1}
+\ProvidesExplClass {se2thesis} {2024-05-17} {4.0.1}
{A thesis class for the Chair of Software Engineering II}
% \end{macrocode}
%
@@ -761,6 +782,7 @@
},
thesistype / phd .code:n = \tl_gset:Nn \l_@@_thesis_type_tl {phd},
thesistype / phdeng .code:n = \tl_gset:Nn \l_@@_thesis_type_tl {phdeng},
+ thesistype / phdphil .code:n = \tl_gset:Nn \l_@@_thesis_type_tl {phdphil},
thesistype / phdproposal .code:n = {
\tl_gset:Nn \l_@@_thesis_type_tl {phdproposal}
},
@@ -1258,23 +1280,37 @@
in~ partial~ fulfillment~ of~ obtaining\\
the~ degree~ of~ a~ Doctor~ of~ Engineering
} {
- \tl_if_eq:NnT \l_@@_thesis_type_tl { bachelor }
- { \GetTranslation{Bachelor-thesis} }
- \tl_if_eq:NnT \l_@@_thesis_type_tl { bachelorproposal }
- { \GetTranslation{Bachelor-thesis-proposal} }
- \tl_if_eq:NnT \l_@@_thesis_type_tl { master }
- { \GetTranslation{Master-thesis} }
- \tl_if_eq:NnT \l_@@_thesis_type_tl { masterproposal }
- { \GetTranslation{Master-thesis-proposal} }
- \tl_if_eq:NnT \l_@@_thesis_type_tl { phdproposal }
- { \GetTranslation{PhD-thesis-proposal} }
- \tl_if_empty:NF \l_@@_degreeprogramme_tl
+ \tl_if_eq:NnTF \l_@@_thesis_type_tl { phdphil }
{
- \ in~\l_@@_degreeprogramme_tl
+ Dissertation~ zur~ Erlangung~ des~ Doktorgrades\\
+ der~ Philosophie~ (Dr.\,phil.)\\
+ eingereicht~ an~ der~ Fakultät~ für~ Informatik~ und~ Mathematik\\
+ der~ Universität~ Passau\\
+ \rule{\textwidth}{.1pt}\\
+ Dissertation~ submitted~ to\\
+ the~ Faculty~ of~ Computer~ Science~ and~ Mathematics\\
+ of~ the~ University~ of~ Passau\\
+ in~ partial~ fulfillment~ of~ obtaining\\
+ the~ degree~ of~ a~ Doctor~ of~ Philosophy
+ } {
+ \tl_if_eq:NnT \l_@@_thesis_type_tl { bachelor }
+ { \GetTranslation{Bachelor-thesis} }
+ \tl_if_eq:NnT \l_@@_thesis_type_tl { bachelorproposal }
+ { \GetTranslation{Bachelor-thesis-proposal} }
+ \tl_if_eq:NnT \l_@@_thesis_type_tl { master }
+ { \GetTranslation{Master-thesis} }
+ \tl_if_eq:NnT \l_@@_thesis_type_tl { masterproposal }
+ { \GetTranslation{Master-thesis-proposal} }
+ \tl_if_eq:NnT \l_@@_thesis_type_tl { phdproposal }
+ { \GetTranslation{PhD-thesis-proposal} }
+ \tl_if_empty:NF \l_@@_degreeprogramme_tl
+ {
+ \ in~\l_@@_degreeprogramme_tl
+ }
+ \par
+ \tl_if_empty:NF \l_@@_department_tl { \l_@@_department_tl \par }
+ \tl_if_empty:NF \l_@@_institute_tl { \l_@@_institute_tl \par }
}
- \par
- \tl_if_empty:NF \l_@@_department_tl { \l_@@_department_tl \par }
- \tl_if_empty:NF \l_@@_institute_tl { \l_@@_institute_tl \par }
}
}
\end{center}\par\bigskip
@@ -1619,7 +1655,7 @@
% We provide the following English translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2024/02/23]
+\ProvideDictionaryFor{English}{se2translations}[2024/05/17]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -1670,7 +1706,7 @@
% We provide the following German translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2024/02/23]
+\ProvideDictionaryFor{German}{se2translations}[2024/05/17]
\ProvideDictTranslation{abstract}{Zusammenfassung}
\ProvideDictTranslation{Abstract}{Zusammenfassung}
\ProvideDictTranslation{acknowledgement}{Danksagung}
diff --git a/macros/latex/contrib/se2thesis/se2thesis.ins b/macros/latex/contrib/se2thesis/se2thesis.ins
index c3af7cd020..79ac36c563 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.ins
+++ b/macros/latex/contrib/se2thesis/se2thesis.ins
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File: se2thesis.ins Copyright (C) 2022--2023 Stephan Lukasczyk
+File: se2thesis.ins Copyright (C) 2022--2024 Stephan Lukasczyk
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -31,7 +31,7 @@ for those people who are interested.
% stop DocStrip adding rather wordy text
\preamble
-Copyright (C) 2022--2023 by Stephan Lukasczyk <tex@lukasczyk.me>
+Copyright (C) 2022--2024 by Stephan Lukasczyk <stephan@dante.de>
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -112,4 +112,4 @@ This work consists of the files se2thesis.dtx,
\endbatchfile
-%% vim: set ft=tex : \ No newline at end of file
+%% vim: set ft=tex :
diff --git a/macros/latex/contrib/se2thesis/se2thesis.pdf b/macros/latex/contrib/se2thesis/se2thesis.pdf
index e83e4eeb21..b9a75b0b66 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/se2thesis/se2thesis.tex b/macros/latex/contrib/se2thesis/se2thesis.tex
index eac8fdf59e..f1bebf73f2 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.tex
+++ b/macros/latex/contrib/se2thesis/se2thesis.tex
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File: se2thesis.tex Copyright (C) 2022--2023 Stephan Lukasczyk
+File: se2thesis.tex Copyright (C) 2022--2024 Stephan Lukasczyk
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 38db79ac18..4dad256c37 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,24 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.17] - 2024-05-06
+
+### Fixed
+- Correct treatment of end-iof-line spaces when allowing breaks (see issue
+ [\#730](https://github.com/josephwright/siunitx/issues/730))
+
+## [v3.3.16] - 2024-04-24
+
+### Fixed
+- Ensure that mode-dependent symbols respect printing mode (see issue
+ [\#729](https://github.com/josephwright/siunitx/issues/729))
+
+## [v3.3.15] - 2024-04-23
+
+### Fixed
+- Appearance of ohm symbol with `kmath` package (see
+ issue [\#728](https://github.com/josephwright/siunitx/issues/728))
+
## [v3.3.14] - 2024-04-15
### Fixed
@@ -2092,7 +2110,10 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.14...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.17...HEAD
+[v3.3.17]: https://github.com/josephwright/siunitx/compare/v3.3.16...v3.3.17
+[v3.3.16]: https://github.com/josephwright/siunitx/compare/v3.3.15...v3.3.16
+[v3.3.15]: https://github.com/josephwright/siunitx/compare/v3.3.14...v3.3.15
[v3.3.14]: https://github.com/josephwright/siunitx/compare/v3.3.13...v3.3.14
[v3.3.13]: https://github.com/josephwright/siunitx/compare/v3.3.12...v3.3.13
[v3.3.12]: https://github.com/josephwright/siunitx/compare/v3.3.11...v3.3.12
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 7c2b6e2b65..0e89bc3e22 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-quantity.dtx b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
index 9e3c14ffaf..959d9e3a30 100644
--- a/macros/latex/contrib/siunitx/siunitx-quantity.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
@@ -394,10 +394,10 @@
{ \tl_if_blank_p:n {#1} }
{ ! \tl_if_head_eq_charcode_p:nN {#2} { 1 } }
{
- \tl_use:N \l_@@_product_tl
\bool_if:NTF \l_@@_break_bool
{ \penalty \binoppenalty }
{ \nobreak }
+ \tl_use:N \l_@@_product_tl
\siunitx_print_unit:n {#2}
}
{ \siunitx_print_unit:o { \use_none:n #2 } }
diff --git a/macros/latex/contrib/siunitx/siunitx-symbol.dtx b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
index 7428d39dc4..ea97431841 100644
--- a/macros/latex/contrib/siunitx/siunitx-symbol.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -161,18 +161,17 @@
{
\siunitx_declare_unit:Nen \degree
{
- \exp_not:N \ifmmode
- \@ifpackageloaded { unicode-math }
- { \@@_non_latin:n { "00B0 } }
- { { } ^ { \exp_not:N \circ } }
- \exp_not:N \else
- \exp_not:N \text
- {
- \@ifpackageloaded { inputenc }
- { \exp_not:N \textdegree }
- { \@@_non_latin:n { "00B0 } }
- }
- \exp_not:N \fi
+ \exp_not:N \TextOrMath
+ {
+ \@ifpackageloaded { inputenc }
+ { \exp_not:N \textdegree }
+ { \@@_non_latin:n { "00B0 } }
+ }
+ {
+ \@ifpackageloaded { unicode-math }
+ { \@@_non_latin:n { "00B0 } }
+ { { } ^ { \exp_not:N \circ } }
+ }
}
{ quantity-product = { } }
}
@@ -191,18 +190,17 @@
\group_end:
\siunitx_declare_unit:Ne \degreeCelsius
{
- \exp_not:N \ifmmode
- \@ifpackageloaded { unicode-math }
- { \@@_non_latin:n { "00B0 } }
- { { } ^ { \exp_not:N \circ } }
- \exp_not:N \else
- \exp_not:N \text
- {
- \@ifpackageloaded { inputenc }
- { \exp_not:N \textdegree }
- { \@@_non_latin:n { "00B0 } }
- }
- \exp_not:N \fi
+ \exp_not:N \TextOrMath
+ {
+ \@ifpackageloaded { inputenc }
+ { \exp_not:N \textdegree }
+ { \@@_non_latin:n { "00B0 } }
+ }
+ {
+ \@ifpackageloaded { unicode-math }
+ { \@@_non_latin:n { "00B0 } }
+ { { } ^ { \exp_not:N \circ } }
+ }
C
}
}
@@ -233,24 +231,33 @@
{ \exp_not:V \l_@@_tmpa_tl }
}
{
- \exp_not:N \ifmmode
- \@ifpackageloaded { fontspec }
- { \exp_not:V \l_@@_tmpb_tl }
- {
- \@ifclassloaded { beamer }
- { \exp_not:V \l_@@_tmpb_tl }
- { \exp_not:V \l_@@_tmpa_tl }
- }
- \exp_not:N \else
- \exp_not:N \text
- {
- \bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
- { \@@_non_latin:n { "2126 } }
- { \exp_not:N \textohm }
- }
- \exp_not:N \fi
+ \exp_not:N \TextOrMath
+ {
+ \bool_lazy_or:nnTF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ { \@@_non_latin:n { "2126 } }
+ { \exp_not:N \textohm }
+ }
+ {
+ \@ifpackageloaded { fontspec }
+ { \exp_not:V \l_@@_tmpb_tl }
+ {
+ \bool_lazy_or:nnTF
+ {
+ \@ifclassloaded { beamer }
+ \c_true_bool
+ \c_false_bool
+ }
+ {
+ \@ifpackageloaded { kmath }
+ \c_true_bool
+ \c_false_bool
+ }
+ { \exp_not:V \l_@@_tmpb_tl }
+ { \exp_not:V \l_@@_tmpa_tl }
+ }
+ }
}
}
}
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index a7fd28e8bc..7faf5740da 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -86,7 +86,7 @@
% A small number of \LaTeXe{} math mode commands are assumed to be available
% as part of the formatted output. The \cs{mathchoice} command
% (normally the \TeX{} primitive) is needed when using different settings
-% for inline and siplay |per-mode|. The commands \cs{frac}, \cs{mathrm},
+% for inline and display |per-mode|. The commands \cs{frac}, \cs{mathrm},
% \cs{mbox}, \verb*|\ | and \cs{,} are used by the standard module settings.
% For the display of colored (highlighted) and cancelled units, the commands
% \cs{textcolor} and \cs{cancel} are assumed to be available.
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 34a38b864a..00af01ae8a 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2024-04-15} {3.3.14}
+\ProvidesExplPackage {siunitx} {2024-05-06} {3.3.17}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 15e5ab256a..5dea63dd66 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/README.md b/macros/latex/contrib/skillicons/README.md
new file mode 100644
index 0000000000..be1f550dbe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/README.md
@@ -0,0 +1,15 @@
+# `skillicons`: Seamlessly Integrating Skill Icons into LaTeX Documents
+
+## Introduction
+`skillicons` is a LaTeX package designed to seamlessly integrate skill icons into your documents. Whether you're working on resumes, CVs, or any document requiring skill representation, skillicons offers an easy and visually appealing solution.
+
+## Features
+- **Seamless Integration:** Easily incorporate skill icons into your LaTeX documents.
+- **Visually Appealing:** Choose from a variety of skill icons to enhance the visual appeal of your content.
+- **Flexible Customization:** Customize the size and style of the skill icons to suit your preferences and document design.
+
+## Contact
+For inquiries and support, please contact Anton at antoniys470@gmail.com.
+
+## License
+This package and its included icon images, taken from https://github.com/tandpfun/skill-icons, are both released under the MIT license. \ No newline at end of file
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bd79c0b6fd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark.eps
new file mode 100644
index 0000000000..023cc7aa2c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..779301e620
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light.eps
new file mode 100644
index 0000000000..6fa9806131
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..3ed3ccd047
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark.eps
new file mode 100644
index 0000000000..1e4cf6a2f4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..d1c59c10f8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmˍ0 EBK,#5dY$/"`yxCS9XC-
+sg#5P*;ʒUR"ph//k-,p'nmE =A6|*x¯Wj"s3_=cCB-b-cTێu촆öp&,PP/^ryTi-Q0@D[_Wl!q=jNHuVUvx-@mS:cApnH[ܞTn8.,s8oGHF>Sjw<R
+3{<*0 ~^3r+r|m+)Cv @6mp~.>oؙ{̏ H'w-_{q|8,u /7|OBMfkE IW65jSۙ9D#d犽Zdyyj!II*w]-T7Dɯi"Ս?u^Stlri-}KQKW-WU;%тo~]6N᱐#C p N.3\Ȱץ~{)f-,"_B^]k ľrR0J/ׇQf1K OhmصWqS )'_G ֹendstream
+endobj
+6 0 obj
+675
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:18:35+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:18:35+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:3441dcf7-143f-11ef-0000-ce5efda19c99'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131835+02'00')
+/ModDate(D:20240514131835+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000001222 00000 n
+0000002544 00000 n
+0000001163 00000 n
+0000001049 00000 n
+0000000285 00000 n
+0000001030 00000 n
+0000001286 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<85FA3FFEB023C2538065900408CFCA15><85FA3FFEB023C2538065900408CFCA15>]
+>>
+startxref
+2669
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light.eps
new file mode 100644
index 0000000000..c424f7654a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..2741530d87
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark.eps
new file mode 100644
index 0000000000..d2f42d8d0f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..06088c166b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeR;r0u
+)c yqa-痌g,˲]`msK8rpqBπ|՟"Utju/(:㭠A3=_CfХq2lgHKd6LP~[orKYO:#Ԅ[`:F+v>\_)}Vl @:*@o
+>LdXndVg?>^ ASH#wg[pKR~iP"`~|/: <6M"0n1/F2ҽpÛ#\ endstream
+endobj
+6 0 obj
+294
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:18:37+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:18:37+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:357309f7-143f-11ef-0000-3a31daee34c0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131837+02'00')
+/ModDate(D:20240514131837+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000841 00000 n
+0000002163 00000 n
+0000000782 00000 n
+0000000668 00000 n
+0000000285 00000 n
+0000000649 00000 n
+0000000905 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<3CBB58E655918350E6D3885F45CB21FE><3CBB58E655918350E6D3885F45CB21FE>]
+>>
+startxref
+2288
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light.eps
new file mode 100644
index 0000000000..21ea3f8e92
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..95860d324b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark.eps
new file mode 100644
index 0000000000..8437859a5c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ce53eb7d64
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light.eps
new file mode 100644
index 0000000000..ce5f0d7151
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis-eps-converted-to.pdf
new file mode 100644
index 0000000000..464db9563e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis.eps
new file mode 100644
index 0000000000..f40105b918
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects-eps-converted-to.pdf
new file mode 100644
index 0000000000..0ef24be988
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects.eps
new file mode 100644
index 0000000000..c09bcb77a3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..0be0b3a5f6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark.eps
new file mode 100644
index 0000000000..cf6de055fb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2d82078f94
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light.eps
new file mode 100644
index 0000000000..4e0c669964
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..70696d537e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMP;nD1}
+)`~>FoEOdx`~;uSj
+F&&c5/|6r
+P2' G8;d(U\d&)iȀHw" nwlpЏ/Mm
+'$A鏆*2s{4g>]G]ߦDffpLxSDL5걷,k)&Yrk0#uB@z'XsVKendstream
+endobj
+6 0 obj
+218
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:18:44+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:18:44+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:399f2777-143f-11ef-0000-80944cc67489'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131844+02'00')
+/ModDate(D:20240514131844+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000765 00000 n
+0000002087 00000 n
+0000000706 00000 n
+0000000592 00000 n
+0000000285 00000 n
+0000000573 00000 n
+0000000829 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<24F287E7C85A911C415C8B2956CA3B78><24F287E7C85A911C415C8B2956CA3B78>]
+>>
+startxref
+2212
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark.eps
new file mode 100644
index 0000000000..7a1909df43
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..26af7050a9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light.eps
new file mode 100644
index 0000000000..75f91a2d0c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8ad318f16c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark.eps
new file mode 100644
index 0000000000..7fd2fa760c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..8580330d2d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light.eps
new file mode 100644
index 0000000000..77380d9605
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..d31c25208e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark.eps
new file mode 100644
index 0000000000..afa4064ccc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a2ea58d41d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light.eps
new file mode 100644
index 0000000000..3f504bfee5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6952845019
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmRAn0~ 7Dj=?oVbLfğ:qoY
+Mt,GNv}62rPc>h U2^M޸B`Q
+wGೊ{hg=U,+:-r$ЙP`.er
++ˆ*htHaL Foh+Cr(1@b⋡[
+P"5Ki)I >`dVD1S"?w8EVGha4M+"љ%\^"Bу&?9sQ},o:endstream
+endobj
+6 0 obj
+311
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:18:49+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:18:49+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:3c9a17f7-143f-11ef-0000-1e2579a9a4a0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131849+02'00')
+/ModDate(D:20240514131849+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000858 00000 n
+0000002180 00000 n
+0000000799 00000 n
+0000000685 00000 n
+0000000285 00000 n
+0000000666 00000 n
+0000000922 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<CCCE37DDD13C6E891BFF55F1F172BD05><CCCE37DDD13C6E891BFF55F1F172BD05>]
+>>
+startxref
+2305
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark.eps
new file mode 100644
index 0000000000..66c38620e1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..dfa920a24b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmRKn0> 3Dj"oQpH1fFgGx6Љ#{ GN؟dl4AjMh
+U2^M޸B`Q
+շmYnUj=󹧷Ea(j3r%#T2?2^,ˆ*ht9 1Q&z+G)o?~*1HHC:v)2h3%)F'XEsAP)A:[Ӛ-i%^>j%>3K^D?9seP W
+endstream
+endobj
+6 0 obj
+311
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:18:50+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:18:50+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:3d32ae77-143f-11ef-0000-007b3e5454a6'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131850+02'00')
+/ModDate(D:20240514131850+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000858 00000 n
+0000002180 00000 n
+0000000799 00000 n
+0000000685 00000 n
+0000000285 00000 n
+0000000666 00000 n
+0000000922 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<7D365C100464CDD231970D1A28D1D7A0><7D365C100464CDD231970D1A28D1D7A0>]
+>>
+startxref
+2305
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light.eps
new file mode 100644
index 0000000000..0c223b6938
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible-eps-converted-to.pdf
new file mode 100644
index 0000000000..0c6610594b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible.eps
new file mode 100644
index 0000000000..4f60527dbd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo-eps-converted-to.pdf
new file mode 100644
index 0000000000..332fd848ed
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo.eps
new file mode 100644
index 0000000000..44d36468d2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..39d80b808f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark.eps
new file mode 100644
index 0000000000..a55ba8c861
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..5aaeacc664
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light.eps
new file mode 100644
index 0000000000..f1b5f1100c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite-eps-converted-to.pdf
new file mode 100644
index 0000000000..6eb4454ea0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite.eps
new file mode 100644
index 0000000000..93717650ac
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..339308af05
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark.eps
new file mode 100644
index 0000000000..57f28ac5ae
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..6a813cd636
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light.eps
new file mode 100644
index 0000000000..4612eff302
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino-eps-converted-to.pdf
new file mode 100644
index 0000000000..d622427417
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino.eps
new file mode 100644
index 0000000000..19937a5887
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro-eps-converted-to.pdf
new file mode 100644
index 0000000000..0166aa3c34
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro.eps
new file mode 100644
index 0000000000..519a257bb6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Astro.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom-eps-converted-to.pdf
new file mode 100644
index 0000000000..cecc153608
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom.eps
new file mode 100644
index 0000000000..08683f3956
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Atom.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition-eps-converted-to.pdf
new file mode 100644
index 0000000000..53398f7dcf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition.eps
new file mode 100644
index 0000000000..8c5773c269
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Audition.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD-Light.eps
new file mode 100644
index 0000000000..47ace2b612
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD_Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD_Dark.eps
new file mode 100644
index 0000000000..08e3f793ee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD_Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Autocad-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Autocad-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f731a51fa3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Autocad-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul-eps-converted-to.pdf
new file mode 100644
index 0000000000..d40d0458f0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul.eps
new file mode 100644
index 0000000000..028958b718
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azul.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..94de301f52
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark.eps
new file mode 100644
index 0000000000..6958d98de6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..631c3c54e0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light.eps
new file mode 100644
index 0000000000..0df912d746
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..019b2c58b1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark.eps
new file mode 100644
index 0000000000..20cb86ac64
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e82a723385
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light.eps
new file mode 100644
index 0000000000..3af9153936
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel-eps-converted-to.pdf
new file mode 100644
index 0000000000..7ad88f8c4a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel.eps
new file mode 100644
index 0000000000..dbf329c592
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Babel.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..223ea5be5d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark.eps
new file mode 100644
index 0000000000..d2a66746ec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..09127c7367
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light.eps
new file mode 100644
index 0000000000..c2a06ac418
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8879a7e7f5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark.eps
new file mode 100644
index 0000000000..aa868b583f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4a109873ae
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light.eps
new file mode 100644
index 0000000000..61f6224ca1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..59d17f3e16
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark-eps-converted-to.pdf
@@ -0,0 +1,128 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xTmA Ol}a}d=ǐūf?J-%o J5(~]qѪm9tJ4j 0/@|%W`"j~e<3 Wׯ9\c|.-m5Wk;hSg]t5a2.f:aJ5S)Vh]C̞Z:㫳8\0ZC/M;h1bag>b_*=:bVlؚ@`gxaLDɏ>^Ӄ+(=S`8C& ƒY!amGa`0uOj{nȓ)搅FYBvjm zzT<X>xX'4$b֎1<30fK
+י}16u+4/Mdy W~0=JOxBxߑxNl,89gI
+$\6)xB8bZ RHI ~qdnm~k^V" i mH Rs3'^?(Ƿ,Bkϗ_x~/endstream
+endobj
+6 0 obj
+609
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 11 0 R
+/Pattern 12 0 R
+/Shading 13 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 14 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+11 0 obj
+<</R7
+7 0 R>>
+endobj
+12 0 obj
+<</R10
+10 0 R>>
+endobj
+10 0 obj
+<</PatternType 2
+/Shading 9 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+13 0 obj
+<</R9
+9 0 R>>
+endobj
+9 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[36404.7
+7003.86
+23538.7
+23660.6]
+/Function 8 0 R
+/Extend [true true]>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0
+0.321569
+0.8]
+/C1[0.14902
+0.517647
+1]
+/N 1>>endobj
+14 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:12+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:12+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:4a4f9d77-143f-11ef-0000-8399616cbad5'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131912+02'00')
+/ModDate(D:20240514131912+02'00')>>endobj
+xref
+0 15
+0000000000 65535 f
+0000001207 00000 n
+0000002956 00000 n
+0000001148 00000 n
+0000000983 00000 n
+0000000285 00000 n
+0000000964 00000 n
+0000001272 00000 n
+0000001601 00000 n
+0000001469 00000 n
+0000001360 00000 n
+0000001298 00000 n
+0000001328 00000 n
+0000001439 00000 n
+0000001697 00000 n
+trailer
+<< /Size 15 /Root 1 0 R /Info 2 0 R
+/ID [<CF06869BD3A4C747B091686D655F0DF9><CF06869BD3A4C747B091686D655F0DF9>]
+>>
+startxref
+3081
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark.eps
new file mode 100644
index 0000000000..fa92e1aa9a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a35f66ab73
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light.eps
new file mode 100644
index 0000000000..a8a8e74a02
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..aaaf47b725
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark.eps
new file mode 100644
index 0000000000..e7c7eb8ba4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..8167538b0c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light.eps
new file mode 100644
index 0000000000..65cb158f3b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap-eps-converted-to.pdf
new file mode 100644
index 0000000000..e7b3fdc03b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap-eps-converted-to.pdf
@@ -0,0 +1,163 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xR1n0 u
+%)R.:4K 2%eC.PG=*Zދ(V؎BF'<_7H,+2]yLR6#&Y6`_[V0ˣx:? \<xji,R<*UΞ^j.eqcCm#Kˊ`^PT&tV4[W7@S<Z< W 6@B
+Y؄FAg:, XeY%!(^w&`WEz:s70m`g@U@$n<ḍ4
+ACٕpP84b!Ìq߉깯O762NKA\ߗe҅w~RGendstream
+endobj
+6 0 obj
+387
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 14 0 R
+/Pattern 15 0 R
+/Shading 16 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 17 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+14 0 obj
+<</R7
+7 0 R>>
+endobj
+15 0 obj
+<</R13
+13 0 R/R10
+10 0 R>>
+endobj
+13 0 obj
+<</PatternType 2
+/Shading 12 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+189]>>endobj
+10 0 obj
+<</PatternType 2
+/Shading 9 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+16 0 obj
+<</R12
+12 0 R/R9
+9 0 R>>
+endobj
+12 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[85.793
+68.962
+148.541
+175.084]
+/Function 11 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[0
+0
+256
+256]
+/Function 8 0 R
+/Extend [true true]>>endobj
+11 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[1
+1
+1]
+/C1[0.945098
+0.898039
+0.988235]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.564706
+0.0745098
+0.996078]
+/C1[0.419608
+0.0666667
+0.956863]
+/N 1>>endobj
+17 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:16+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:16+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:4cb1f777-143f-11ef-0000-f5f9ee6058a8'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131916+02'00')
+/ModDate(D:20240514131916+02'00')>>endobj
+xref
+0 18
+0000000000 65535 f
+0000000985 00000 n
+0000003066 00000 n
+0000000926 00000 n
+0000000761 00000 n
+0000000285 00000 n
+0000000742 00000 n
+0000001050 00000 n
+0000001689 00000 n
+0000001481 00000 n
+0000001229 00000 n
+0000001593 00000 n
+0000001349 00000 n
+0000001149 00000 n
+0000001076 00000 n
+0000001106 00000 n
+0000001308 00000 n
+0000001807 00000 n
+trailer
+<< /Size 18 /Root 1 0 R /Info 2 0 R
+/ID [<35411FF33D08F624BCAD906AE7BD2CAB><35411FF33D08F624BCAD906AE7BD2CAB>]
+>>
+startxref
+3191
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap.eps
new file mode 100644
index 0000000000..0632f17c11
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f1cf5ea29e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark.eps
new file mode 100644
index 0000000000..6ab2ccb907
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..717c620dc4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light.eps
new file mode 100644
index 0000000000..238f6cdd30
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_C-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_C-eps-converted-to.pdf
new file mode 100644
index 0000000000..f967c3724f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_C-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_C.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_C.eps
new file mode 100644
index 0000000000..0a0dd27a5c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_C.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..14fe49d145
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark.eps
new file mode 100644
index 0000000000..69075fafd5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a3da05b276
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light.eps
new file mode 100644
index 0000000000..4a73c5e31e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ff6e964513
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark-eps-converted-to.pdf
@@ -0,0 +1,231 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xR1n0
+@%.:4K` H;%%H`Qs"̱־!QA!Ӣ2g օw Z}OX,3HA[8^x"fw2Gx:(n_QƯ~+ P.%5
+3Ef՚%>exzfu44U朮$$=FX^̶~yoAXMz|!a
+'ȜC G{_AQ.-#4Ky*snwȄ ֌endstream
+endobj
+6 0 obj
+302
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 20 0 R
+/Pattern 21 0 R
+/Shading 22 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 23 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+20 0 obj
+<</R7
+7 0 R>>
+endobj
+21 0 obj
+<</R19
+19 0 R/R16
+16 0 R/R13
+13 0 R/R10
+10 0 R>>
+endobj
+19 0 obj
+<</PatternType 2
+/Shading 18 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+16 0 obj
+<</PatternType 2
+/Shading 15 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+13 0 obj
+<</PatternType 2
+/Shading 12 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+10 0 obj
+<</PatternType 2
+/Shading 9 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+22 0 obj
+<</R18
+18 0 R/R15
+15 0 R/R12
+12 0 R/R9
+9 0 R>>
+endobj
+18 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[133.963
+173.335
+132.816
+134.914]
+/Function 17 0 R
+/Extend [true true]>>endobj
+15 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[164.929
+206.021
+76.6192
+198.566]
+/Function 14 0 R
+/Extend [true true]>>endobj
+12 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[139.124
+93.0525
+201.629
+198.566]
+/Function 11 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[78.9132
+164.733
+123.642
+70.115]
+/Function 8 0 R
+/Extend [true true]>>endobj
+17 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.517647
+0.517647
+0.517647]
+/C1[0.823529
+0.823529
+0.823529]
+/N 1>>endobj
+14 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.00392157
+0.639216
+0]
+/C1[0.00392157
+0.87451
+0]
+/N 1>>endobj
+11 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.705882
+0.054902
+0.054902]
+/C1[1
+0.34902
+0.34902]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.0627451
+0.0666667
+0.631373]
+/C1[0.411765
+0.411765
+0.882353]
+/N 1>>endobj
+23 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:29+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:29+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:54719bf7-143f-11ef-0000-ee84fe6edbe6'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131929+02'00')
+/ModDate(D:20240514131929+02'00')>>endobj
+xref
+0 24
+0000000000 65535 f
+0000000900 00000 n
+0000003709 00000 n
+0000000841 00000 n
+0000000676 00000 n
+0000000285 00000 n
+0000000657 00000 n
+0000000965 00000 n
+0000002332 00000 n
+0000001870 00000 n
+0000001326 00000 n
+0000002224 00000 n
+0000001736 00000 n
+0000001246 00000 n
+0000002118 00000 n
+0000001602 00000 n
+0000001166 00000 n
+0000002001 00000 n
+0000001468 00000 n
+0000001086 00000 n
+0000000991 00000 n
+0000001021 00000 n
+0000001405 00000 n
+0000002450 00000 n
+trailer
+<< /Size 24 /Root 1 0 R /Info 2 0 R
+/ID [<3BFD6999A5CAE584510C174B3483FCEF><3BFD6999A5CAE584510C174B3483FCEF>]
+>>
+startxref
+3834
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark.eps
new file mode 100644
index 0000000000..a25bd5b717
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..5d63bf4b8a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light-eps-converted-to.pdf
@@ -0,0 +1,230 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xQ1nC19'ج]:uhKi$Rڡ/؎۬%=2%8.dq|i2& V|R*3D$83E^@(` o,9ſݻ`
+/vF+E*ZM{i9ywjԲOٽ^8=a,fk\:7s)>j(U-鿴_:-eiqPRws9~
+e)bd>0rO;^wVmZ/#AŒendstream
+endobj
+6 0 obj
+298
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 20 0 R
+/Pattern 21 0 R
+/Shading 22 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 23 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+20 0 obj
+<</R7
+7 0 R>>
+endobj
+21 0 obj
+<</R19
+19 0 R/R16
+16 0 R/R13
+13 0 R/R10
+10 0 R>>
+endobj
+19 0 obj
+<</PatternType 2
+/Shading 18 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+16 0 obj
+<</PatternType 2
+/Shading 15 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+13 0 obj
+<</PatternType 2
+/Shading 12 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+10 0 obj
+<</PatternType 2
+/Shading 9 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+22 0 obj
+<</R18
+18 0 R/R15
+15 0 R/R12
+12 0 R/R9
+9 0 R>>
+endobj
+18 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[133.963
+173.335
+132.816
+134.914]
+/Function 17 0 R
+/Extend [true true]>>endobj
+15 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[164.929
+206.021
+76.6192
+198.566]
+/Function 14 0 R
+/Extend [true true]>>endobj
+12 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[139.124
+93.0525
+201.629
+198.566]
+/Function 11 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[78.9132
+164.733
+123.642
+70.115]
+/Function 8 0 R
+/Extend [true true]>>endobj
+17 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.517647
+0.517647
+0.517647]
+/C1[0.823529
+0.823529
+0.823529]
+/N 1>>endobj
+14 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.00392157
+0.639216
+0]
+/C1[0.00392157
+0.87451
+0]
+/N 1>>endobj
+11 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.705882
+0.054902
+0.054902]
+/C1[1
+0.34902
+0.34902]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.0627451
+0.0666667
+0.631373]
+/C1[0.411765
+0.411765
+0.882353]
+/N 1>>endobj
+23 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:30+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:30+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:550a3277-143f-11ef-0000-7cfd5cee4091'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131930+02'00')
+/ModDate(D:20240514131930+02'00')>>endobj
+xref
+0 24
+0000000000 65535 f
+0000000896 00000 n
+0000003705 00000 n
+0000000837 00000 n
+0000000672 00000 n
+0000000285 00000 n
+0000000653 00000 n
+0000000961 00000 n
+0000002328 00000 n
+0000001866 00000 n
+0000001322 00000 n
+0000002220 00000 n
+0000001732 00000 n
+0000001242 00000 n
+0000002114 00000 n
+0000001598 00000 n
+0000001162 00000 n
+0000001997 00000 n
+0000001464 00000 n
+0000001082 00000 n
+0000000987 00000 n
+0000001017 00000 n
+0000001401 00000 n
+0000002446 00000 n
+trailer
+<< /Size 24 /Root 1 0 R /Info 2 0 R
+/ID [<D4BF8B355F69478F3BBC30EC2E575FAD><D4BF8B355F69478F3BBC30EC2E575FAD>]
+>>
+startxref
+3830
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light.eps
new file mode 100644
index 0000000000..a8ec9d7f87
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP-eps-converted-to.pdf
new file mode 100644
index 0000000000..32b4aeeaec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP.eps
new file mode 100644
index 0000000000..8647fd80e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CPP.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CS-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CS-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a6ed72e18
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CS-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CS.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CS.eps
new file mode 100644
index 0000000000..0dff908bb9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CS.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS-eps-converted-to.pdf
new file mode 100644
index 0000000000..49cd66a852
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS-eps-converted-to.pdf
@@ -0,0 +1,73 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmRIn0 zAJ!{h(iK3D*3_ќ;`YU0ֹ|4֯BlF>Y(Nu
+<2lV,o2;lQwKl8I}v DhƠ8 Ctc5f.]B+p- L#>NB`Qh,j:x!#>t&ڈѓ.cnTe.ЫP'& g*q?ZxBۜ8OMݼ A\G0ÙHhI FIgԆMDbz<^<D )ЪKendstream
+endobj
+6 0 obj
+346
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:39+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:39+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:5a677cf7-143f-11ef-0000-241dca65b5ff'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131939+02'00')
+/ModDate(D:20240514131939+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000893 00000 n
+0000002215 00000 n
+0000000834 00000 n
+0000000720 00000 n
+0000000285 00000 n
+0000000701 00000 n
+0000000957 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<702C666611DA512AD5D41C80C0426EC3><702C666611DA512AD5D41C80C0426EC3>]
+>>
+startxref
+2340
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS.eps
new file mode 100644
index 0000000000..0c23591bac
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CSS.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..213ab56da9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark.eps
new file mode 100644
index 0000000000..42c763b256
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2814d703b6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light.eps
new file mode 100644
index 0000000000..4a92994f9a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..28d1e436d5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark.eps
new file mode 100644
index 0000000000..3fb9bea0d8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..17c933c579
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light.eps
new file mode 100644
index 0000000000..cf3cb117ee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bf5c420d9e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark.eps
new file mode 100644
index 0000000000..64cdd7acf3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..6ed1753646
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light.eps
new file mode 100644
index 0000000000..aab3ccd5b5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..54d1e07ea5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark.eps
new file mode 100644
index 0000000000..880d98edfd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..25bfe84eea
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light.eps
new file mode 100644
index 0000000000..3fa6f147a9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..7b52a56d6a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark.eps
new file mode 100644
index 0000000000..e5a8d1d3ba
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ece0551e8c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light.eps
new file mode 100644
index 0000000000..a1ff33d24e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..5ad50ef3cc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark.eps
new file mode 100644
index 0000000000..dc532ce469
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..44a8f02ad6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light.eps
new file mode 100644
index 0000000000..695827f601
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..fc5538aedd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark.eps
new file mode 100644
index 0000000000..ecf950895a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a3c8d918d2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light.eps
new file mode 100644
index 0000000000..acb65ad6af
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..31f0e494aa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark.eps
new file mode 100644
index 0000000000..85d8a43c48
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..b0c5a0e4ac
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light.eps
new file mode 100644
index 0000000000..25eac5df42
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..5ae86bd70f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark.eps
new file mode 100644
index 0000000000..03a405ccae
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2cb3815c7e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light.eps
new file mode 100644
index 0000000000..888f87e2fe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a010428d10
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark.eps
new file mode 100644
index 0000000000..d0f06d8e86
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..86e768e790
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light.eps
new file mode 100644
index 0000000000..c5146260b6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..225be906e6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark.eps
new file mode 100644
index 0000000000..7e9ec53dc8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f2e3cba83a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light.eps
new file mode 100644
index 0000000000..67792f353d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bc4a3b41e1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark-eps-converted-to.pdf
@@ -0,0 +1,79 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmSK0 ZwA#Q1z[-/:$@ Ě7V&~eOiL]}> zLJP
+Rzu uT$;xRmEm[e<;]eHxd<kH̰I*:
+rЅ
+GQtps!94WragzYJP @nj'٘`
+ע41xf
+H껑rtSjiIffbmľpxpLMobLfngWE4ܨA 9ޫ }xH(6cEd!x* .O|1L@L#ޢ>
+ZŇ} F4ueR81B-Wpkaqu:iH/mI+?]Åh$ٹ9Z{(byFԣؚXb,&E
+䁻z#~hQ~ endstream
+endobj
+6 0 obj
+495
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:19:50+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:19:50+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:60f5f477-143f-11ef-0000-79f8693ac7c4'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514131950+02'00')
+/ModDate(D:20240514131950+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000001042 00000 n
+0000002364 00000 n
+0000000983 00000 n
+0000000869 00000 n
+0000000285 00000 n
+0000000850 00000 n
+0000001106 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<7572255066FF4D6C815BC8F69DD10B7D><7572255066FF4D6C815BC8F69DD10B7D>]
+>>
+startxref
+2489
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark.eps
new file mode 100644
index 0000000000..dcec3896cd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e8e366c5b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light.eps
new file mode 100644
index 0000000000..677fea3109
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord-eps-converted-to.pdf
new file mode 100644
index 0000000000..e773edc3f5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord.eps
new file mode 100644
index 0000000000..eab558bada
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Discord.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots-eps-converted-to.pdf
new file mode 100644
index 0000000000..628cd578ed
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots.eps
new file mode 100644
index 0000000000..6cf4249a20
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a800661526
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark.eps
new file mode 100644
index 0000000000..3d7b9fd8f1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fa2297cc41
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light.eps
new file mode 100644
index 0000000000..086c0ae492
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Django-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Django-eps-converted-to.pdf
new file mode 100644
index 0000000000..ef29e1b512
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Django-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Django.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Django.eps
new file mode 100644
index 0000000000..21ef360917
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Django.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker-eps-converted-to.pdf
new file mode 100644
index 0000000000..73ca46c41a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker.eps
new file mode 100644
index 0000000000..f335638f29
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Docker.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet-eps-converted-to.pdf
new file mode 100644
index 0000000000..bdcda04097
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet.eps
new file mode 100644
index 0000000000..1c3320c6cb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..2beb6b1258
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark.eps
new file mode 100644
index 0000000000..ed59c7f24e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4b0b3316f9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light.eps
new file mode 100644
index 0000000000..8614cda8f2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bc1a2c027d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark.eps
new file mode 100644
index 0000000000..ea929eba04
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ba4171a223
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light.eps
new file mode 100644
index 0000000000..57e2220aca
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..e4ed0026d2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark.eps
new file mode 100644
index 0000000000..203f1ca443
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..66a5d7c4e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light.eps
new file mode 100644
index 0000000000..5dbd8a027d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron-eps-converted-to.pdf
new file mode 100644
index 0000000000..01e79d8ec3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron.eps
new file mode 100644
index 0000000000..3abd7a9933
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Electron.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..55a6e12c08
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark.eps
new file mode 100644
index 0000000000..37c53c6889
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..3938f8b59b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light.eps
new file mode 100644
index 0000000000..7c64c2d981
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..e5bb02417b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark.eps
new file mode 100644
index 0000000000..dda654f505
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e3fae95ec8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light.eps
new file mode 100644
index 0000000000..aca9f60f42
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs-eps-converted-to.pdf
new file mode 100644
index 0000000000..f57f9591b2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs.eps
new file mode 100644
index 0000000000..a735e6beee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember-eps-converted-to.pdf
new file mode 100644
index 0000000000..894e5988c4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember.eps
new file mode 100644
index 0000000000..568da7f7a6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ember.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b122ce1905
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark.eps
new file mode 100644
index 0000000000..fdb615ad23
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4f16b17ad8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light.eps
new file mode 100644
index 0000000000..284e6f5337
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..870add3f67
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark.eps
new file mode 100644
index 0000000000..c3a34b60cc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..348e7d82d6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light.eps
new file mode 100644
index 0000000000..499352a0ee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI-eps-converted-to.pdf
new file mode 100644
index 0000000000..413c6eafc2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmPKnD! s
+Nc Ovf1sEG^6 ̄̾<VkA`Tgp~&Ldѵ3KtaO8^0Ε.rY(H
+)ħso}(:IF!$2xa;"r
+L"ڴ*.n.ٖ>Pȵwe6.j.+`:ͦ
+NszE˭GJUlRendstream
+endobj
+6 0 obj
+242
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:14+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:14+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:6f441078-143f-11ef-0000-e14287b0e8e4'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132014+02'00')
+/ModDate(D:20240514132014+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000789 00000 n
+0000002111 00000 n
+0000000730 00000 n
+0000000616 00000 n
+0000000285 00000 n
+0000000597 00000 n
+0000000853 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<F1D42411420636CB49A2CC75D2F6E96D><F1D42411420636CB49A2CC75D2F6E96D>]
+>>
+startxref
+2236
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI.eps
new file mode 100644
index 0000000000..00f032a151
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a2797b8372
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark.eps
new file mode 100644
index 0000000000..f9b89c2d70
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..8ceafded39
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light.eps
new file mode 100644
index 0000000000..de70ece266
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..68605fbe62
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark.eps
new file mode 100644
index 0000000000..66bf8641b7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..73c70362c2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light.eps
new file mode 100644
index 0000000000..0c37556108
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f2fa720860
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark.eps
new file mode 100644
index 0000000000..34449ea0f2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..0a0efc9c9c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light.eps
new file mode 100644
index 0000000000..2c7b7336c2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c589f1939b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark.eps
new file mode 100644
index 0000000000..15375cd6eb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..97ad40e946
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light.eps
new file mode 100644
index 0000000000..6d21a3653d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a78a477bbe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark.eps
new file mode 100644
index 0000000000..dddffbaa65
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f01f851622
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xuRAn1~ ?o::R۴<3IјOl*tEf|oe)G7zSr.Y*#ɪ=Q@mUO疣wWӈ`0Q*|? @F>ʦ@DZ.yԮ5rA#W. l}|+ApԊ7:c2`9+:gS%d
+%=}g#S͓U/{QNRJ0텷tTS
+shB"B~q<Xs|t8:#@ua@v@?R2SPP9a+g%<'V/YEԵ/آIendstream
+endobj
+6 0 obj
+366
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:24+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:24+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7539f178-143f-11ef-0000-9e2e53feda12'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132024+02'00')
+/ModDate(D:20240514132024+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000913 00000 n
+0000002235 00000 n
+0000000854 00000 n
+0000000740 00000 n
+0000000285 00000 n
+0000000721 00000 n
+0000000977 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<312F79E0025F1A07DD268F260AF97D24><312F79E0025F1A07DD268F260AF97D24>]
+>>
+startxref
+2360
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light.eps
new file mode 100644
index 0000000000..4f6f35ab0a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth-eps-converted-to.pdf
new file mode 100644
index 0000000000..4578d7822e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth.eps
new file mode 100644
index 0000000000..8ac75748c1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Forth.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran-eps-converted-to.pdf
new file mode 100644
index 0000000000..f0edfbb570
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran.eps
new file mode 100644
index 0000000000..a2b0b15443
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..370e6e68cd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark.eps
new file mode 100644
index 0000000000..8708c1f258
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fc5cc1ff18
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light.eps
new file mode 100644
index 0000000000..533efb6730
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..5f15ea1d12
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark.eps
new file mode 100644
index 0000000000..7e746f693c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..68e0c8b914
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xuR;N1 sۉ[*
++l
+N4H>yT1/ׂڱ\ɳ`1kJX(i:uKu2d\}ymDX6(]Yt*7\Y4XgPz/TZIA[ %tj܎+!/>PzN-thIC,lUi>gNm 躥-fNs˽9q[4s|
+<}IՐ->1L-\̺;u,_nW3*</Õ*endstream
+endobj
+6 0 obj
+333
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:50+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:50+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:84b93a78-143f-11ef-0000-57fbd44ff41f'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132050+02'00')
+/ModDate(D:20240514132050+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000880 00000 n
+0000002202 00000 n
+0000000821 00000 n
+0000000707 00000 n
+0000000285 00000 n
+0000000688 00000 n
+0000000944 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<4A731E2407976CCECEE1D27BD2D7097A><4A731E2407976CCECEE1D27BD2D7097A>]
+>>
+startxref
+2327
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light.eps
new file mode 100644
index 0000000000..df4cd67ea4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio-eps-converted-to.pdf
new file mode 100644
index 0000000000..af832efb2b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio-eps-converted-to.pdf
@@ -0,0 +1,72 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmA EP@TsT,ft&UT1VQzSerc2J~ֱ1֣PԳBmA ˩a.ɸ,N.ȀK"n ^!cy{yߛ~sBTm l^~\ } Bl7>Ɇ61JCLݤYGWhf2}D]ZAendstream
+endobj
+6 0 obj
+201
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:27+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:27+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7703b4f8-143f-11ef-0000-ed51d6ddd3b0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132027+02'00')
+/ModDate(D:20240514132027+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000748 00000 n
+0000002070 00000 n
+0000000689 00000 n
+0000000575 00000 n
+0000000285 00000 n
+0000000556 00000 n
+0000000812 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<5BC0B5900BFFAAA592C8D75A63FA31C2><5BC0B5900BFFAAA592C8D75A63FA31C2>]
+>>
+startxref
+2195
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio.eps
new file mode 100644
index 0000000000..c46db89b0d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby-eps-converted-to.pdf
new file mode 100644
index 0000000000..dbdf4b7002
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby.eps
new file mode 100644
index 0000000000..b1d0e342a8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..3263f0a408
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark.eps
new file mode 100644
index 0000000000..d1072bb82f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..019bcaf158
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light.eps
new file mode 100644
index 0000000000..825b606704
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Git-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Git-eps-converted-to.pdf
new file mode 100644
index 0000000000..31b0f17e2d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Git-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Git.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Git.eps
new file mode 100644
index 0000000000..7b79d00d71
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Git.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..adf3c15e9f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark.eps
new file mode 100644
index 0000000000..26a0f8bc48
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..0a8d61751c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light.eps
new file mode 100644
index 0000000000..58fb3bbeba
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..60d9a6bf3c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark.eps
new file mode 100644
index 0000000000..823e6f1468
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ea1a6b151c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light.eps
new file mode 100644
index 0000000000..9416300f89
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..dd58b2be44
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark.eps
new file mode 100644
index 0000000000..383105d17a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..943545b62b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light.eps
new file mode 100644
index 0000000000..b4713798de
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..5a73edf6af
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeSK0>%9^,/WAj߭n_-MAD3cDۿMoԷWCe
+(2Gmڕ8M'd/\! T(dno |U?w_t2$P r8p P0b\'unI3=1.G"@AXl
+CJT<l;Lt
+GE}rb7h&rd9mzRY\b&gcʹ@Ga7.(r<6`J(nPby$^=Y#&E1'e\pud]P[VEYD#sWs(Un^7Ǿ<H.%hRu^V{ݯ
+}endstream
+endobj
+6 0 obj
+387
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:38+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:38+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7d922c78-143f-11ef-0000-76a43d9e5334'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132038+02'00')
+/ModDate(D:20240514132038+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000934 00000 n
+0000002256 00000 n
+0000000875 00000 n
+0000000761 00000 n
+0000000285 00000 n
+0000000742 00000 n
+0000000998 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<E8AC745464701A8D27AB8E56D3ED5556><E8AC745464701A8D27AB8E56D3ED5556>]
+>>
+startxref
+2381
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark.eps
new file mode 100644
index 0000000000..0b2e7a4993
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..67b469b801
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeSɍ0 +
+G@``vL%R
+6K*Uu3uΉ!$
+cDA}{4q>_2&(θ2ϐ2O^1T(@2II>*WU *+eK er 7v1Z7p҈@2* wy}j<S8&Ҋls{Ѻ[+ SaL{;L6YZbgcʩ@Ga-(y[J=ý xV2BʯD%}(>֠#Y.&%> £eED8~o(Yp9R@{C$oh;Хcju~Wj:wendstream
+endobj
+6 0 obj
+390
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:39+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:39+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7e2ac2f8-143f-11ef-0000-179f5761fdda'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132039+02'00')
+/ModDate(D:20240514132039+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000937 00000 n
+0000002259 00000 n
+0000000878 00000 n
+0000000764 00000 n
+0000000285 00000 n
+0000000745 00000 n
+0000001001 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<B9349ED98EDBAF8184CABE03FB27F32B><B9349ED98EDBAF8184CABE03FB27F32B>]
+>>
+startxref
+2384
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light.eps
new file mode 100644
index 0000000000..fed75bc77f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang-eps-converted-to.pdf
new file mode 100644
index 0000000000..1470f0186e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang.eps
new file mode 100644
index 0000000000..adfca0f4e3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..19cc2f10ee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark.eps
new file mode 100644
index 0000000000..20c8c76373
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..b54c140329
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light.eps
new file mode 100644
index 0000000000..b5349c819b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f2ba1ebdfb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark.eps
new file mode 100644
index 0000000000..1711e932a1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9405eab055
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light.eps
new file mode 100644
index 0000000000..67bed35597
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..9ee9327a3f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark.eps
new file mode 100644
index 0000000000..bdc08517c3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..397c5bd764
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light.eps
new file mode 100644
index 0000000000..93ace20b65
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light.eps
@@ -0,0 +1,216 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.16.0 (https://cairographics.org)
+%%CreationDate: Sun May 12 20:32:59 2024
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 192 192
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 192 192
+%%EndPageSetup
+q 0 0 192 192 rectclip
+1 0 0 -1 0 192 cm q
+0.956863 0.94902 0.929412 rg
+45 0 m 147 0 l 171.93 0 192 20.07 192 45 c 192 147 l 192 171.93 171.93
+192 147 192 c 45 192 l 20.07 192 0 171.93 0 147 c 0 45 l 0 20.07 20.07 0
+ 45 0 c h
+45 0 m f
+q
+165.543 87.34 m 165.277 84.945 165.012 82.012 163.945 78.816 c 163.145
+75.617 161.812 72.156 159.949 68.426 c 158.082 64.695 155.688 60.965 152.754
+ 57.234 c 151.688 55.902 150.355 54.305 148.758 52.973 c 150.891 44.445
+146.094 37.254 146.094 37.254 c 138.102 36.719 132.773 39.648 130.906 41.25
+ c 130.641 41.25 130.375 40.98 129.84 40.715 c 128.512 40.184 127.176 39.648
+ 125.578 39.117 c 123.98 38.586 122.648 38.316 121.051 37.785 c 119.449
+37.52 117.852 37.254 116.52 36.984 c 116.254 36.984 115.988 36.984 115.723
+ 36.984 c 112.258 25.797 102.133 21 102.133 21 c 90.945 28.195 88.812 38.051
+ 88.812 38.051 c 88.812 38.051 88.812 38.316 88.812 38.586 c 88.277 38.852
+ 87.48 38.852 86.945 39.117 c 86.148 39.383 85.348 39.648 84.281 39.918
+c 83.484 40.184 82.684 40.449 81.617 40.98 c 80.02 41.781 78.156 42.582
+76.555 43.379 c 74.957 44.18 73.359 45.246 71.762 46.312 c 71.492 46.312
+ 71.492 46.043 71.492 46.043 c 55.773 40.184 41.922 47.375 41.922 47.375
+ c 40.59 63.895 48.047 74.551 49.648 76.418 c 49.379 77.484 48.848 78.551
+ 48.582 79.613 c 47.516 83.344 46.449 87.34 45.918 91.34 c 45.918 91.871
+ 45.648 92.402 45.648 92.938 c 31.262 100.129 27 114.781 27 114.781 c 38.988
+ 128.637 53.109 129.438 53.109 129.438 c 54.977 132.633 56.84 135.566 59.238
+ 138.496 c 60.305 139.562 61.371 140.895 62.168 141.961 c 57.906 154.48
+62.703 164.871 62.703 164.871 c 76.023 165.406 84.816 159.012 86.68 157.414
+ c 88.012 157.945 89.344 158.211 90.676 158.746 c 94.672 159.809 98.938
+160.344 103.199 160.609 c 104.266 160.609 105.332 160.609 106.398 160.609
+ c 108.262 160.609 l 114.656 169.668 125.578 171 125.578 171 c 133.57 162.742
+ 133.84 154.48 133.84 152.617 c 133.84 152.352 133.84 152.352 133.84 152.352
+ c 133.84 152.082 l 135.438 151.02 137.035 149.688 138.633 148.355 c 141.832
+ 145.422 144.496 142.227 146.895 138.762 c 147.16 138.496 147.426 138.23
+ 147.426 137.695 c 156.484 138.23 162.613 132.102 162.613 132.102 c 161.016
+ 122.777 155.684 118.246 154.621 117.449 c 154.621 117.449 154.621 117.449
+ 154.355 117.449 c 154.355 116.914 154.355 116.383 154.355 115.848 c 154.355
+ 114.781 154.355 113.719 154.355 112.918 c 154.355 111.055 l 154.355 110.785
+ 154.355 110.785 154.355 110.785 c 154.355 109.453 l 154.355 109.188 154.355
+ 108.922 154.355 108.656 c 154.355 108.391 154.355 108.121 154.355 107.855
+ c 154.355 106.258 l 154.086 105.191 154.086 104.125 153.82 103.328 c 152.754
+ 99.332 151.422 95.602 149.293 92.137 c 147.16 88.672 144.762 85.742 141.832
+ 83.078 c 138.898 80.414 135.703 78.551 132.238 76.949 c 128.777 75.352
+125.312 74.551 121.582 74.02 c 119.719 73.754 118.117 73.754 116.254 73.754
+ c 114.391 73.754 l 114.121 73.754 113.855 73.754 113.59 73.754 c 112.789
+ 73.754 111.723 74.02 110.926 74.02 c 107.461 74.551 103.996 75.883 101.066
+ 77.75 c 98.137 79.613 95.473 81.746 93.34 84.145 c 91.211 86.543 89.609
+ 89.473 88.547 92.402 c 87.48 95.336 86.945 98.266 86.68 101.195 c 86.68
+ 101.996 86.68 102.527 86.68 103.328 c 86.68 103.594 86.68 103.594 86.68
+ 103.859 c 86.68 104.391 l 86.68 104.66 86.68 105.191 86.68 105.457 c 86.945
+ 106.789 87.215 108.391 87.48 109.723 c 88.277 112.387 89.609 114.781 90.945
+ 116.914 c 92.543 119.047 94.406 120.645 96.273 121.977 c 98.137 123.309
+ 100.27 124.375 102.398 124.906 c 104.531 125.441 106.398 125.707 108.527
+ 125.707 c 108.793 125.707 109.059 125.707 109.328 125.707 c 109.859 125.707
+ l 110.125 125.707 110.391 125.707 110.391 125.707 c 110.391 125.707 110.391
+ 125.707 110.66 125.707 c 111.191 125.707 l 111.457 125.707 111.723 125.707
+ 111.992 125.707 c 112.258 125.707 112.523 125.707 112.789 125.441 c 113.324
+ 125.441 113.59 125.176 114.121 125.176 c 114.922 124.906 115.723 124.641
+ 116.52 124.109 c 117.32 123.84 117.852 123.309 118.652 122.777 c 118.918
+ 122.777 118.918 122.512 119.184 122.242 c 119.984 121.711 119.984 120.645
+ 119.449 120.113 c 118.918 119.578 118.117 119.312 117.586 119.844 c 117.32
+ 119.844 117.32 120.113 117.055 120.113 c 116.52 120.379 115.988 120.645
+ 115.188 120.91 c 114.656 121.176 113.855 121.176 113.324 121.445 c 113.055
+ 121.445 112.523 121.445 112.258 121.445 c 111.992 121.445 111.992 121.445
+ 111.723 121.445 c 111.457 121.445 111.457 121.445 111.191 121.445 c 110.926
+ 121.445 110.926 121.445 110.66 121.445 c 110.391 121.445 110.125 121.445
+ 110.125 121.445 c 109.594 121.445 l 109.328 121.445 109.328 121.445 109.059
+ 121.445 c 107.461 121.176 106.129 120.91 104.531 120.113 c 102.934 119.578
+ 101.602 118.512 100.266 117.449 c 98.938 116.383 97.871 114.781 97.07 113.449
+ c 96.273 112.117 95.473 110.254 95.207 108.391 c 94.941 107.59 94.941 106.523
+ 94.941 105.723 c 94.941 105.457 94.941 105.191 94.941 104.926 c 94.941
+104.391 l 94.941 103.859 94.941 103.328 95.207 102.793 c 96.004 98.797 97.871
+ 95.066 101.066 91.871 c 101.867 91.07 102.664 90.539 103.465 89.738 c 104.266
+ 89.207 105.332 88.672 106.129 88.141 c 107.195 87.609 108.262 87.34 109.059
+ 87.074 c 110.125 86.809 111.191 86.543 112.258 86.543 c 112.789 86.543
+113.324 86.543 113.855 86.543 c 114.121 86.543 114.121 86.543 114.121 86.543
+ c 115.453 86.543 l 116.52 86.543 117.852 86.809 118.918 87.074 c 121.316
+ 87.609 123.445 88.406 125.578 89.738 c 129.84 92.137 133.305 95.867 135.703
+ 100.129 c 136.77 102.262 137.57 104.66 138.102 107.055 c 138.102 107.59
+ 138.367 108.391 138.367 108.922 c 138.367 109.988 l 138.367 110.254 138.367
+ 110.254 138.367 110.52 c 138.367 110.785 138.367 110.785 138.367 111.055
+ c 138.367 112.117 l 138.367 112.387 138.367 112.918 138.367 113.184 c 138.367
+ 113.984 138.367 114.516 138.102 115.316 c 138.102 115.848 137.836 116.648
+ 137.836 117.18 c 137.836 117.715 137.566 118.512 137.301 119.047 c 137.035
+ 120.379 136.504 121.711 135.969 122.777 c 134.902 125.176 133.57 127.57
+ 131.973 129.969 c 128.777 134.234 124.512 137.961 119.449 140.094 c 117.055
+ 141.16 114.391 141.961 111.723 142.492 c 110.391 142.758 109.059 142.758
+ 107.727 143.023 c 105.863 143.023 l 106.129 143.023 105.863 143.023 105.863
+ 143.023 c 105.062 143.023 104.531 143.023 103.73 143.023 c 100.801 142.758
+ 97.871 142.227 95.207 141.426 c 92.543 140.629 89.609 139.562 87.215 138.23
+ c 82.152 135.566 77.621 131.836 73.891 127.305 c 72.027 125.176 70.43 122.777
+ 69.363 120.113 c 68.031 117.449 66.965 114.781 66.164 112.117 c 65.367
+109.453 64.832 106.523 64.832 103.859 c 64.832 99.863 l 64.832 99.598 64.832
+ 99.062 64.832 98.797 c 64.832 97.465 65.098 95.867 65.098 94.535 c 65.367
+ 93.203 65.633 91.602 65.898 90.273 c 66.164 88.941 66.43 87.34 66.965 86.008
+ c 67.766 83.344 68.828 80.68 69.895 78.016 c 72.293 72.953 75.223 68.426
+ 78.953 64.961 c 79.754 64.16 80.82 63.098 81.883 62.297 c 82.949 61.496
+ 84.016 60.699 85.082 60.164 c 86.148 59.367 87.215 58.832 88.277 58.301
+ c 88.812 58.035 89.344 57.766 89.879 57.5 c 90.145 57.5 90.41 57.234 90.676
+ 57.234 c 90.941 57.234 91.211 56.969 91.477 56.969 c 92.543 56.434 93.875
+ 56.168 94.941 55.637 c 95.207 55.637 95.473 55.371 95.738 55.371 c 96.004
+ 55.371 96.273 55.102 96.539 55.102 c 97.07 54.836 97.871 54.836 98.402
+54.57 c 98.668 54.57 98.938 54.305 99.469 54.305 c 99.734 54.305 100.004
+ 54.305 100.535 54.039 c 100.801 54.039 101.066 54.039 101.602 53.77 c 102.664
+ 53.77 l 102.934 53.77 103.199 53.77 103.73 53.504 c 103.996 53.504 104.531
+ 53.504 104.797 53.238 c 105.062 53.238 105.598 53.238 105.863 53.238 c
+106.129 53.238 106.398 53.238 106.66 53.238 c 107.727 53.238 l 107.996 53.238
+ 108.527 53.238 108.793 53.238 c 109.328 53.238 l 109.328 53.238 109.594
+ 53.238 109.328 53.238 c 109.594 53.238 l 109.859 53.238 110.125 53.238
+110.391 53.238 c 111.723 53.238 112.789 53.238 114.121 53.238 c 116.52 53.238
+ 118.918 53.504 121.316 54.039 c 125.844 54.836 130.109 56.434 134.105 58.301
+ c 138.102 60.164 141.566 62.562 144.496 65.227 c 144.762 65.492 144.762
+ 65.492 145.027 65.762 c 145.293 66.027 145.293 66.027 145.562 66.293 c
+145.828 66.559 146.359 66.824 146.625 67.359 c 146.895 67.891 147.426 67.891
+ 147.691 68.426 c 147.961 68.957 148.492 69.223 148.758 69.488 c 150.09
+70.824 151.156 72.156 152.223 73.754 c 154.355 76.418 156.219 79.348 157.551
+ 82.012 c 157.551 82.277 157.816 82.277 157.816 82.547 c 157.816 82.812
+158.082 82.812 158.082 83.078 c 158.352 83.344 158.352 83.609 158.617 84.145
+ c 158.883 84.41 158.883 84.676 159.148 85.211 c 159.414 85.477 159.414
+85.742 159.684 86.277 c 160.215 87.609 160.75 88.672 161.016 89.738 c 161.547
+ 91.602 162.078 93.203 162.348 94.535 c 162.613 95.066 163.145 95.602 163.68
+ 95.336 c 164.211 95.336 164.746 94.801 164.746 94.266 c 165.809 91.07 165.809
+ 89.207 165.543 87.34 c h
+165.543 87.34 m W n
+[0.75 0 0 0.75 0 0] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 1 0.945098 0 ]
+ /C1 [ 0.941176 0.352941 0.156863 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 129.039001 282.048004 129.039001 50.682999 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..67fa39b6aa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark.eps
new file mode 100644
index 0000000000..07cbbf52bf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fe218f00ec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light.eps
new file mode 100644
index 0000000000..7313803495
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp-eps-converted-to.pdf
new file mode 100644
index 0000000000..e7901e25c1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp.eps
new file mode 100644
index 0000000000..fedc87c753
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML-eps-converted-to.pdf
new file mode 100644
index 0000000000..eab5019500
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML.eps
new file mode 100644
index 0000000000..901a94347e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HTML.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..e9bc3aae68
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark.eps
new file mode 100644
index 0000000000..ac40008c2e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e314e42b5e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light-eps-converted-to.pdf
@@ -0,0 +1,79 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmMn0 9EN`?c HYE{E
+VH/C>k->J848gA>{*:QPt{AEN<nCĖHVf QR;,yҙ-G
+eo[Y=Ɲb+;#棦:$g,cd%R p>'NC
+(_Ha˼i{N,8sHcIܮ%Gcؙi؝
+[l,I-WȝI
+&Kt*#%H$F
+y\Z(F^Ρ3Abk
+q"# AcT43Ux l7>[^{endstream
+endobj
+6 0 obj
+326
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:53+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:53+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8682fdf8-143f-11ef-0000-76e1cb2e7131'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132053+02'00')
+/ModDate(D:20240514132053+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000873 00000 n
+0000002195 00000 n
+0000000814 00000 n
+0000000700 00000 n
+0000000285 00000 n
+0000000681 00000 n
+0000000937 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [(IPdt}t\344\261\366+\367\3749#6W)(IPdt}t\344\261\366+\367\3749#6W)]
+>>
+startxref
+2320
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light.eps
new file mode 100644
index 0000000000..fbde0ac03c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..26f90d59d6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark.eps
new file mode 100644
index 0000000000..3db64926ee
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c9ade87817
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light.eps
new file mode 100644
index 0000000000..3d1005f97c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ce606b969e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark-eps-converted-to.pdf
@@ -0,0 +1,73 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmQK0spwkś/DgF*m9?;o`01B*QR)lI:^+*˜j:Î]am0RsIoN^!7\v0|J$}BUͼ $[Qsx=kc6quB h-%L&ߧe¢C)NSv7v6!<^É
+a^'wQcXGL1w\v67pU8v w4sf.7O6ʞ,endstream
+endobj
+6 0 obj
+295
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:55+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:55+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:87b42af8-143f-11ef-0000-6d133545f7c0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132055+02'00')
+/ModDate(D:20240514132055+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000842 00000 n
+0000002164 00000 n
+0000000783 00000 n
+0000000669 00000 n
+0000000285 00000 n
+0000000650 00000 n
+0000000906 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<4D9D6751681C62DF093F09BAD50E2915><4D9D6751681C62DF093F09BAD50E2915>]
+>>
+startxref
+2289
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark.eps
new file mode 100644
index 0000000000..e9db73c42e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2fe96a9ced
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light.eps
new file mode 100644
index 0000000000..963ec88e52
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku-eps-converted-to.pdf
new file mode 100644
index 0000000000..5f5acd9126
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku.eps
new file mode 100644
index 0000000000..c16edccc77
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8b45efcdc2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark-eps-converted-to.pdf
@@ -0,0 +1,72 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xPKn0>g3DjoQpHZEJ20|VPHg>0ν~}mXi0g!BNeT'd<){x󒙤mF3./Dqc`H4׬*7  Ea0GGC1ˤ `N]-Äm]R'mcje<tdI@_i ʞamw$yCώa?K.=N i#D|]cW6oTendstream
+endobj
+6 0 obj
+276
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:20:58+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:20:58+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:897dee78-143f-11ef-0000-4c97c27f487e'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132058+02'00')
+/ModDate(D:20240514132058+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000823 00000 n
+0000002145 00000 n
+0000000764 00000 n
+0000000650 00000 n
+0000000285 00000 n
+0000000631 00000 n
+0000000887 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<9EB6EE8FFBAFCF4364D9FF7D001F069A><9EB6EE8FFBAFCF4364D9FF7D001F069A>]
+>>
+startxref
+2270
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark.eps
new file mode 100644
index 0000000000..bd035dafe9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4b9ba0a7b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light.eps
new file mode 100644
index 0000000000..ecb22ada81
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..052aae34aa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark.eps
new file mode 100644
index 0000000000..07f6a9ea7d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..baa4bdd7bf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light.eps
new file mode 100644
index 0000000000..9c0d6bc9f2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..54f4b6405e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark.eps
new file mode 100644
index 0000000000..b53c4d5dae
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..571c3bbf54
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light.eps
new file mode 100644
index 0000000000..458c40b44b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c1f637801c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark.eps
new file mode 100644
index 0000000000..7921bb4ac6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2f368419b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light.eps
new file mode 100644
index 0000000000..393d703955
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator-eps-converted-to.pdf
new file mode 100644
index 0000000000..24fa530bc1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator.eps
new file mode 100644
index 0000000000..67fb19c944
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram-eps-converted-to.pdf
new file mode 100644
index 0000000000..7bfcf50ccb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram.eps
new file mode 100644
index 0000000000..096d20f20e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery-eps-converted-to.pdf
new file mode 100644
index 0000000000..41e3ecdcc6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery.eps
new file mode 100644
index 0000000000..fdefbab93e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..d0e3b1ac2b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark.eps
new file mode 100644
index 0000000000..e739cbc9b5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a18449a6a3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light.eps
new file mode 100644
index 0000000000..a9039d52df
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript-eps-converted-to.pdf
new file mode 100644
index 0000000000..10d58ab87f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript.eps
new file mode 100644
index 0000000000..5586b1b8b8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..50f634e9c0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark.eps
new file mode 100644
index 0000000000..2207e20e06
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4eabce85de
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light.eps
new file mode 100644
index 0000000000..bd02d01452
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest-eps-converted-to.pdf
new file mode 100644
index 0000000000..bedec64e3c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest.eps
new file mode 100644
index 0000000000..1e88033a94
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Jest.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..eeca82a19b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark.eps
new file mode 100644
index 0000000000..64c09865f3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a6cc9dbabd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeRA0~26}C 5QH <
+6{<JՆ堤ՃS}VQ{"\(}5I$=3!A#@x)@({l<\E23V<%2?RȊa5 (VJ2ѳҒaaXHA'(63[Fv<2
+)(
+72T>[K3FVR= ¤!lrq>¶ș NAAOħ-ms}HA $\>`k@tIաLܢwf5H0ḄQ
+#)ӣpw|8 Tendstream
+endobj
+6 0 obj
+382
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:21:15+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:21:15+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:939fecf8-143f-11ef-0000-c376b529ce8e'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132115+02'00')
+/ModDate(D:20240514132115+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000929 00000 n
+0000002251 00000 n
+0000000870 00000 n
+0000000756 00000 n
+0000000285 00000 n
+0000000737 00000 n
+0000000993 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<8EA2BFE55EAAF86BF3AEF54312CE2DAE><8EA2BFE55EAAF86BF3AEF54312CE2DAE>]
+>>
+startxref
+2376
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light.eps
new file mode 100644
index 0000000000..ffb8196186
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka-eps-converted-to.pdf
new file mode 100644
index 0000000000..452dddc09f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka.eps
new file mode 100644
index 0000000000..4a598343d8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..3f8344e30e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark.eps
new file mode 100644
index 0000000000..e90af053d5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..d8bcba195f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light.eps
new file mode 100644
index 0000000000..4c4e29c9c3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..e60f034f12
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark-eps-converted-to.pdf
@@ -0,0 +1,155 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x
+ @wH4KHBgl8&Fel1wR
+s78OY7`+p4y8B%KT-Y'ԁBCfTI534g
+\wҡ0{[ک@1X"<+<oNOOendstream
+endobj
+6 0 obj
+171
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 13 0 R
+/Pattern 14 0 R
+/Shading 15 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 16 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+13 0 obj
+<</R7
+7 0 R>>
+endobj
+14 0 obj
+<</R12
+12 0 R>>
+endobj
+12 0 obj
+<</PatternType 2
+/Shading 11 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+15 0 obj
+<</R11
+11 0 R>>
+endobj
+11 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[217.382
+38.6183
+38
+218]
+/Domain[0.00343514
+1]
+/Function 10 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.780392
+0.0666667
+0.882353]
+/C1[0.498039
+0.321569
+1]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.894118
+0.282353
+0.341176]
+/C1[0.780392
+0.0666667
+0.882353]
+/N 1>>endobj
+10 0 obj
+<</Functions[8 0 R
+9 0 R]
+/FunctionType 3
+/Domain[0.00343514
+1]
+/Bounds[0.4689]
+/Encode[0
+1
+0
+1]>>endobj
+16 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:21:18+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:21:18+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:9569b078-143f-11ef-0000-8d2a55882c66'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132118+02'00')
+/ModDate(D:20240514132118+02'00')>>endobj
+xref
+0 17
+0000000000 65535 f
+0000000769 00000 n
+0000002781 00000 n
+0000000710 00000 n
+0000000545 00000 n
+0000000285 00000 n
+0000000526 00000 n
+0000000834 00000 n
+0000001291 00000 n
+0000001181 00000 n
+0000001408 00000 n
+0000001034 00000 n
+0000000922 00000 n
+0000000860 00000 n
+0000000890 00000 n
+0000001002 00000 n
+0000001522 00000 n
+trailer
+<< /Size 17 /Root 1 0 R /Info 2 0 R
+/ID [<2776B5279556A4B8E9BC0BA0078EDB0D><2776B5279556A4B8E9BC0BA0078EDB0D>]
+>>
+startxref
+2906
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark.eps
new file mode 100644
index 0000000000..78c0048811
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fd452af223
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light-eps-converted-to.pdf
@@ -0,0 +1,156 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x
+0L.^:'RHB{@ran@DK"\TH9>r
+'
+8qvA%&v>QzM)4[6NI3BxtVs+CTx_?CZ5Pct=q#aƂߺ
+?;Omendstream
+endobj
+6 0 obj
+171
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 13 0 R
+/Pattern 14 0 R
+/Shading 15 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 16 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+13 0 obj
+<</R7
+7 0 R>>
+endobj
+14 0 obj
+<</R12
+12 0 R>>
+endobj
+12 0 obj
+<</PatternType 2
+/Shading 11 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+15 0 obj
+<</R11
+11 0 R>>
+endobj
+11 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[217.382
+38.6183
+38
+218]
+/Domain[0.00343514
+1]
+/Function 10 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.780392
+0.0666667
+0.882353]
+/C1[0.498039
+0.321569
+1]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.894118
+0.282353
+0.341176]
+/C1[0.780392
+0.0666667
+0.882353]
+/N 1>>endobj
+10 0 obj
+<</Functions[8 0 R
+9 0 R]
+/FunctionType 3
+/Domain[0.00343514
+1]
+/Bounds[0.4689]
+/Encode[0
+1
+0
+1]>>endobj
+16 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:21:19+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:21:19+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:960246f8-143f-11ef-0000-f3e1c9d2f426'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132119+02'00')
+/ModDate(D:20240514132119+02'00')>>endobj
+xref
+0 17
+0000000000 65535 f
+0000000769 00000 n
+0000002781 00000 n
+0000000710 00000 n
+0000000545 00000 n
+0000000285 00000 n
+0000000526 00000 n
+0000000834 00000 n
+0000001291 00000 n
+0000001181 00000 n
+0000001408 00000 n
+0000001034 00000 n
+0000000922 00000 n
+0000000860 00000 n
+0000000890 00000 n
+0000001002 00000 n
+0000001522 00000 n
+trailer
+<< /Size 17 /Root 1 0 R /Info 2 0 R
+/ID [<5FB8036A790C17F967694E35956BADBB><5FB8036A790C17F967694E35956BADBB>]
+>>
+startxref
+2906
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light.eps
new file mode 100644
index 0000000000..adf6189107
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ebad41d459
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark.eps
new file mode 100644
index 0000000000..ffb3d4c5c4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..7fbb6ae03f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light.eps
new file mode 100644
index 0000000000..b666b8b1a6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes-eps-converted-to.pdf
new file mode 100644
index 0000000000..1d44a2c55e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes.eps
new file mode 100644
index 0000000000..816a8554e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a609f33fd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark.eps
new file mode 100644
index 0000000000..30f411d7e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..6e1f8fb593
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light.eps
new file mode 100644
index 0000000000..39258a72e4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..afb2a1ca66
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark.eps
new file mode 100644
index 0000000000..3a374ee954
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Dark.eps
@@ -0,0 +1,8539 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 0 0 256 256
+%%HiResBoundingBox: 0.00 0.00 256.00 256.00
+%%Creator: (Zamzar)
+%%LanguageLevel: 2
+%%CreationDate: D:20240513225134Z00'00'
+%%Pages: 1
+%%Copyright: (Zamzar)
+%%EndComments
+%%BeginProlog
+/DSC_OPDFREAD true def
+/SetPageSize false def
+/EPS2Write true def
+currentdict/DSC_OPDFREAD known{
+currentdict/DSC_OPDFREAD get
+}{
+false
+}ifelse
+10 dict begin
+/DSC_OPDFREAD exch def
+/this currentdict def
+/y 720 def
+/ebuf 200 string def
+/prnt{
+36//this/y get moveto//ebuf cvs show
+//this/y 2 copy get 12 sub put
+}bind def
+/newline{
+36//this/y get moveto
+//this/y 2 copy get 12 sub put
+}bind def
+errordict/handleerror
+{systemdict begin
+$error begin
+newerror
+{(%%[ Error handled by opdfread.ps : )print errorname//ebuf cvs print(; OffendingCommand: )
+print/command load//ebuf cvs print( ]%%)= flush
+/newerror false store vmstatus pop pop 0 ne
+{grestoreall
+}if
+errorname(VMerror)ne
+{showpage
+}if
+initgraphics
+0 720 moveto
+errorname(VMerror)eq
+{//this/ehsave known
+{clear//this/ehsave get restore 2 vmreclaim
+}if
+vmstatus exch pop exch pop
+}
+/Courier 12 selectfont
+{
+(ERROR: )//prnt exec errorname//prnt exec
+(OFFENDING COMMAND: )//prnt exec
+/command load//prnt exec
+$error/ostack known{
+(%%[STACK:)=
+(STACK:)//prnt exec
+$error/ostack get aload length{
+//newline exec
+dup mark eq{
+(-mark-)dup = show
+}{
+dup type/nametype eq{
+dup xcheck not{
+(/)show
+(/)print
+}if
+}if
+dup =//ebuf cvs show
+}ifelse
+}repeat
+}if
+}ifelse
+(%%]%)=
+//systemdict/showpage get exec
+quit
+}if
+end
+end
+}bind readonly put
+end
+50 dict begin
+/DefaultSwitch
+{
+dup where{
+pop pop
+}{
+false def
+}ifelse
+}bind def
+/=string 256 string def
+/=only{
+//=string cvs print
+}bind def
+/HexDigits(0123456789ABCDEF)readonly def
+/PrintHex
+{8{
+dup -28 bitshift 15 and//HexDigits exch 1 getinterval//=only exec
+4 bitshift
+}repeat
+pop
+}bind def
+/PDFR_DEBUG DefaultSwitch
+/PDFR_DUMP DefaultSwitch
+/PDFR_STREAM DefaultSwitch
+/TTFDEBUG DefaultSwitch
+/RotatePages DefaultSwitch
+/FitPages DefaultSwitch
+/CenterPages DefaultSwitch
+/SetPageSize DefaultSwitch
+/error
+{
+counttomark 1 sub -1 0{
+index dup type/arraytype eq{==}{=only}ifelse
+}for
+()=
+cleartomark
+....Undefined
+}bind def
+//SetPageSize{
+//RotatePages//FitPages or//CenterPages or{
+mark(/RotatePages, /FitPages and CenterPages are not allowed with /SetPageSize)//error exec
+}if
+}
+{
+//FitPages//CenterPages and{
+mark(CenterPages is not allowed with /FitPages)//error exec
+}if
+}
+ifelse
+/knownget
+{
+2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/IsUpper
+{dup(A)0 get ge exch(Z)0 get le and
+}bind def
+/cpa2g{
+dup length array
+0 1 2 index length 1 sub{
+dup 3 index exch get cp2g
+3 copy put pop pop
+}for
+exch pop
+}bind def
+/cpd2g{
+dup length dict exch{
+cp2g 2 index 3 1 roll put
+}forall
+}bind def
+/cps2g{
+dup length string copy
+}bind def
+/cp2gprocs
+<</arraytype//cpa2g/dicttype//cpd2g/packedarraytype//cpa2g/stringtype//cps2g >>
+def
+/cp2g{
+dup gcheck not{
+dup//cp2gprocs 1 index type
+2 copy known{
+get currentglobal 3 1 roll true setglobal exec exch setglobal
+1 index wcheck not{readonly}if
+1 index xcheck{cvx}if
+exch pop
+}{
+pop pop
+}ifelse
+}if
+}bind def
+/BlockBuffer 65535 string def
+/PDFReader currentdict def
+/ObjectRegistryMaxLength 50000 def
+/ObjectRegistry 10 dict def
+ObjectRegistry
+begin
+0 ObjectRegistryMaxLength dict def
+end
+/CurrentObject null def
+/DoneDocumentStructure false def
+/GraphicState 20 dict begin
+/InitialTextMatrix matrix def
+/InitialMatrix matrix currentmatrix def
+currentdict end def
+/TempMatrix matrix def
+/GraphicStateStack 20 array def
+/GraphicStateStackPointer 0 def
+/InitialTextMatrixStack 20 array def
+/InitialTextMatrixStackPointer 0 def
+/PDFColorSpaces 50 dict def
+/InstalledFonts 50 dict def
+/MacRomanEncodingInverse null def
+currentglobal false setglobal
+userdict/PDFR_InitialGS gstate put
+userdict/PDFR_Patterns 50 dict put
+userdict/FuncDataReader 10 dict put
+setglobal
+/InitialExtGState 20 dict begin
+/BG2 currentblackgeneration cp2g def
+/UCR2 currentundercolorremoval cp2g def
+/TR2 currentglobal false setglobal[currentcolortransfer]exch setglobal cp2g def
+/HT currenthalftone cp2g def
+currentdict end readonly def
+/InitialGraphicState 20 dict begin
+/FontSize 0 def
+/CharacterSpacing 0 def
+/TextLeading 0 def
+/TextRenderingMode 0 def
+/WordSpacing 0 def
+currentdict end readonly def
+/SimpleColorSpaceNames 15 dict begin
+/DeviceGray true def
+/DeviceRGB true def
+/DeviceCMYK true def
+currentdict end readonly def
+/1_24_bitshift_1_sub 1 24 bitshift 1 sub def
+/ReadFontProcs 10 dict def
+/GetObject
+{
+dup ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get exch knownget{
+exch knownget
+}{
+pop false
+}ifelse
+}bind def
+/PutObject
+{
+1 index ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get 1 index knownget{
+exch pop
+3 1 roll put
+}{
+//PDFReader/ObjectRegistry get dup
+begin
+1 index ObjectRegistryMaxLength dict def
+end
+exch get
+3 1 roll put
+}ifelse
+}bind def
+/Register
+{
+1 index GetObject{
+dup xcheck{
+4 3 roll pop
+//PDFR_DEBUG{
+(Have a daemon for )print 2 index ==
+}if
+exec
+}{
+dup null ne{
+mark(The object )4 index(is already defined : )4 index//error exec
+}{
+pop
+}ifelse
+3 2 roll
+exec
+}ifelse
+}{
+3 2 roll
+exec
+}ifelse
+PutObject
+}bind def
+/IsRegistered
+{
+GetObject{
+null ne
+}{
+false
+}ifelse
+}bind def
+/GetRegistered
+{
+dup GetObject not{
+exch mark exch(Object )exch( isn't defined before needed (1).)//error exec
+}if
+dup xcheck{
+exch mark exch(Object )exch( isn't defined before needed (2).)//error exec
+}{
+dup null eq{
+exch mark exch(Object )exch( isn't defined before needed (3).)//error exec
+}if
+exch pop
+}ifelse
+}bind def
+/StandardFontNames<<
+/Times-Roman true
+/Helvetica true
+/Courier true
+/Symbol true
+/Times-Bold true
+/Helvetica-Bold true
+/Courier-Bold true
+/ZapfDingbats true
+/Times-Italic true
+/Helvetica-Oblique true
+/Courier-Oblique true
+/Times-BoldItalic true
+/Helvetica-BoldOblique true
+/Courier-BoldOblique true
+>>def
+/CleanAllResources
+{//PDFR_DEBUG{
+(CleanAllResources beg)=
+}if
+//PDFReader/ObjectRegistry get{
+dup length 0 exch 1 exch 1 sub{
+2 copy get dup xcheck{
+pop pop
+}{
+dup null eq{
+pop pop
+}{
+dup type/dicttype eq{/.Global known}{pop false}ifelse{
+pop
+}{
+//PDFR_DEBUG{
+(Dropping )print dup =
+}if
+1 index exch/DroppedObject put
+}ifelse
+}ifelse
+}ifelse
+}for
+pop
+}forall
+FontDirectory length dict begin
+FontDirectory{
+pop
+dup//StandardFontNames exch known not{
+dup null def
+}if
+pop
+}forall
+currentdict
+end{
+pop
+//PDFR_DEBUG{
+(Undefining font )print dup =
+}if
+undefinefont
+}forall
+//PDFR_DEBUG{
+(CleanAllResources end)=
+}if
+}bind def
+/PrintReference
+{
+//PDFR_DEBUG{
+({ )print
+dup{
+=only( )print
+}forall
+( })=
+}if
+}bind def
+/R
+{
+0 ne{
+exch mark exch(A referred object generation )exch( isn't 0.)//error exec
+}if
+[
+exch//GetRegistered/exec load
+]cvx
+//PrintReference exec
+}bind def
+/IsObjRef
+{
+dup type/arraytype eq{
+dup length 3 eq{
+dup xcheck exch
+dup 0 get type/integertype eq 3 2 roll and exch
+dup 1 get//GetRegistered eq 3 2 roll and exch
+2 get/exec load eq and
+}{
+pop false
+}ifelse
+}{
+pop false
+}ifelse
+}bind def
+/DoNothing
+{
+}def
+/RunTypeDaemon
+{
+dup type/dicttype eq{
+dup/Type//knownget exec{
+//PDFReader/TypeDaemons get exch
+//knownget exec{
+exec
+}if
+}if
+}if
+}bind def
+/obj
+{
+//PDFR_DEBUG{
+(Defining )print 1 index =only( )print dup =only( obj)=
+}if
+0 ne{
+exch mark exch(An object generation )exch( isn't 0.)//error exec
+}if
+}bind def
+/endobj
+{
+//PDFR_DEBUG{
+(endobj )=
+}if
+count 1 eq{
+pop
+}{
+dup type/dicttype eq{
+dup/.endobj_daemon//knownget exec{
+//PDFR_DEBUG{(.endobj_daemon for )print 2 index =}if
+exec
+}if
+}if
+dup type/dicttype eq{dup/ImmediateExec known}{false}ifelse{
+pop pop
+}{
+//PDFR_DEBUG{
+(Storing )print 1 index =
+}if
+//RunTypeDaemon exec
+//DoNothing 3 1 roll//Register exec
+}ifelse
+}ifelse
+}bind def
+/StoreBlock
+{
+//PDFR_DEBUG{
+(StoreBlock )print//PDFReader/BlockCount get =only(, Length = )print dup length =
+}if
+dup length string copy
+//PDFReader/BlockCount get exch
+//PDFReader/CurrentObject get 3 1 roll
+put
+//PDFReader/BlockCount get 1 add
+//PDFReader exch/BlockCount exch put
+}bind def
+/CheckLength
+{dup type/integertype ne{
+mark(Object length isn't an integer.)//error exec
+}if
+}bind def
+/ResolveD
+{
+3 copy pop get
+dup//IsObjRef exec{
+//PDFR_DEBUG{
+(Resolving )print//PrintReference exec
+}if
+exec
+exch exec
+}{
+exch pop
+}ifelse
+dup 4 1 roll
+put
+}bind def
+/ResolveA
+{2 index 2 index get
+dup//IsObjRef exec{
+exec
+exch exec
+3 copy put
+}{
+exch pop
+}ifelse
+exch pop exch pop
+}bind def
+/StoreStream
+{
+dup//PDFReader exch/CurrentObject exch put
+//PDFReader/BlockCount 0 put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(StoreStream Length = )print dup =
+}if
+currentfile exch()/SubFileDecode filter
+{dup//BlockBuffer readstring{
+//StoreBlock exec
+}{
+//StoreBlock exec
+exit
+}ifelse
+}loop
+pop
+//PDFReader/CurrentObject null put
+//PDFR_DEBUG{
+(StoreStream end.)=
+}if
+}bind def
+/MakeStreamDumper
+{
+//PDFR_DEBUG{
+(MakeStreamDumper beg.)=
+}if
+currentglobal exch dup gcheck setglobal
+[exch
+1 dict dup/c 0 put exch
+1024 string
+{readstring pop
+(StreamDumper )print 1 index/c get =string cvs print( )print
+dup length =string cvs print( <)print dup print(>\n)print
+dup length
+3 2 roll
+dup/c get
+3 2 roll
+add/c exch put
+}/exec load
+]
+cvx 0()/SubFileDecode filter
+exch setglobal
+//PDFR_DEBUG{
+(MakeStreamDumper end.)=
+}if
+}bind def
+/ShortFilterNames 15 dict begin
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/AppendFilters
+{
+//PDFR_DEBUG{
+(AppendFilters beg.)=
+}if
+dup 3 1 roll
+/Filter//knownget exec{
+dup type/nametype eq{
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+2 index/DecodeParms//knownget exec{
+exch
+}if
+filter
+}{
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+3 1 roll
+4 index/DecodeParms//knownget exec{
+exch get
+}{
+pop null
+}ifelse
+dup null eq{
+pop 3 1 roll filter exch
+}{
+3 1 roll
+4 1 roll filter exch
+}ifelse
+}for
+pop
+}ifelse
+//PDFR_DEBUG//PDFR_DUMP and{
+//MakeStreamDumper exec
+}if
+}if
+exch pop
+//PDFR_DEBUG{
+(AppendFilters end.)=
+}if
+}bind def
+/ExecuteStream
+{
+dup//PDFReader exch/CurrentObject exch put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(ExecuteStream id = )print 2 index =only( Length = )print dup =
+}if
+//PDFReader/InitialGraphicState get
+//PDFReader/GraphicState get copy pop
+//PDFReader/Operators get begin
+currentfile exch()/SubFileDecode filter
+1 index//AppendFilters exec
+cvx mark exch
+exec
+counttomark 0 ne{
+mark(Data left on ostack after an immediate stream execution.)//error exec
+}if
+cleartomark
+end
+//PDFR_DEBUG{
+(ExecuteStream end.)=
+}if
+//PDFReader/CurrentObject null put
+dup/IsPage known{
+dup/Context get/NumCopies//knownget exec{
+1 sub{
+copypage
+}repeat
+}if
+EPS2Write not{showpage}if
+}if
+}bind def
+/stream
+{
+//PDFR_DEBUG{
+1 index =only( stream)=
+}if
+1 index GetObject{
+dup xcheck{
+exec
+1 index null PutObject
+}{
+pop
+}ifelse
+}if
+dup/ImmediateExec known{
+dup/GlobalExec//knownget exec{
+currentglobal 4 1 roll
+setglobal
+//ExecuteStream exec
+3 2 roll setglobal
+}{
+//ExecuteStream exec
+}ifelse
+}{
+//StoreStream exec
+}ifelse
+dup/.CleanResources//knownget exec{
+/All eq{
+//CleanAllResources exec
+}if
+}if
+}bind def
+/HookFont
+{
+//PDFR_DEBUG{
+(Loaded the font )print dup/FontName get =
+}if
+{
+dup/FontFileType get dup/Type1 eq exch/MMType1 eq or{
+dup/FontName get
+//PDFReader/RemoveFontNamePrefix get exec
+findfont
+exit
+}if
+dup/FontFileType get/TrueType eq{
+//PDFReader/MakeType42 get exec
+//PDFR_DEBUG{
+(Font dict <<)=
+dup{
+1 index/sfnts eq{
+exch pop
+(/sfnts [)print
+{
+(-string\()print length//=only exec(\)- )=
+}forall
+(])=
+}{
+exch//=only exec( )print ==
+}ifelse
+}forall
+(>>)=
+}if
+dup/FontName get exch definefont
+exit
+}if
+mark(FontHook has no proc for )2 index/FontFileType get//error exec
+}loop
+/Font exch put
+}bind def
+/endstream
+{
+}bind def
+/xref
+{
+//PDFR_DEBUG{
+(xref)=
+//PDFR_DUMP{
+//PDFReader/ObjectRegistry get ==
+}if
+}if
+end
+count 0 ne{
+mark(Excessive data on estack at the end of the interpretation.)//error exec
+}if
+currentfile 1(%%EOF)/SubFileDecode filter
+flushfile
+cleardictstack
+}bind def
+/ResolveDict
+{dup{
+pop 1 index exch
+//DoNothing//ResolveD exec
+pop
+}forall
+pop
+}bind def
+/SetupPageView
+{
+//PDFR_DEBUG{
+(SetupPageView beg)=
+}if
+//DSC_OPDFREAD not{
+//GraphicState/InitialMatrix get setmatrix
+}if
+/MediaBox get aload pop
+3 index neg 3 index neg translate
+3 -1 roll sub 3 1 roll exch sub exch
+userdict/.HWMargins//knownget exec{
+aload pop
+}{
+currentpagedevice/.HWMargins//knownget exec{
+aload pop
+}{
+0 0 0 0
+}ifelse
+}ifelse
+currentpagedevice/PageSize get aload pop
+3 -1 roll sub 3 1 roll exch sub exch
+exch 3 index sub exch 3 index sub
+//SetPageSize{
+//PDFR_DEBUG{
+(Setting page size to )print 1 index//=only exec( )print dup =
+}if
+pop pop 3 index 3 index 2 copy
+currentglobal false setglobal 3 1 roll
+currentpagedevice dup/PageSize known{
+/PageSize get aload pop
+}{
+0 0
+}ifelse
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(PageSize matches request)== flush}if
+pop pop
+}{
+/MediaRequested where{
+//PDFR_DEBUG{(MediaRequested is true, check against new request)== flush}if
+/MediaRequested get aload pop
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(MediaRequested same as current request, ignore)== flush}if
+pop pop false
+}{
+//PDFR_DEBUG{(MediaRequested different to current request)== flush}if
+true
+}ifelse
+}{
+//PDFR_DEBUG{(No MediaRequested yet)== flush}if
+true
+}ifelse
+{
+//PDFR_DEBUG{(Setting pagesize)== flush}if
+2 array astore
+dup/MediaRequested exch def
+<< exch/PageSize exch >>setpagedevice
+}if
+}ifelse
+userdict/PDFR_InitialGS gstate put
+setglobal
+}if
+//RotatePages{
+2 copy gt 6 index 6 index gt ne{
+1 index 5 index le 1 index 5 index le and not
+}{
+false
+}ifelse
+}{
+false
+}ifelse
+{//CenterPages{
+//PDFR_DEBUG{
+(Rotating page, and then centering it)==
+}if
+90 rotate
+0 5 index neg translate
+5 index 1 index exch sub 2 div
+2 index 6 index sub 2 div neg
+translate
+}{
+//FitPages{
+1 index 5 index div 1 index 7 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+90 rotate
+0 5 index neg translate
+}ifelse
+}{
+//CenterPages{
+//PDFR_DEBUG{
+(Ccentering page)==
+}if
+1 index 6 index sub 2 div
+1 index 6 index sub 2 div
+translate
+}{
+//FitPages{
+1 index 6 index div 1 index 6 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+}ifelse
+}ifelse
+pop pop
+translate
+pop pop
+//PDFR_DEBUG{
+(SetupPageView end)=
+}if
+}bind def
+/PageContentsDaemon
+{
+//PDFR_DEBUG{
+(Executing PageContentsDaemon for )print 2 index =
+}if
+1 index exch/Context exch put
+dup/ImmediateExec true put
+dup/IsPage true put
+SetPageSize{dup/Context get//SetupPageView exec}if
+}bind def
+/FontFileDaemon
+{
+//PDFR_DEBUG{
+(Executing FontFileDaemon for )print 2 index =
+}if
+dup/FontFileType get
+2 index exch
+dup//ReadFontProcs exch//knownget exec{
+exch pop exec
+}{
+mark(FontFile reader for )2 index( isn't implemented yet.)//error exec
+}ifelse
+//PDFR_DEBUG{
+(FontFileDaemon end)=
+}if
+pop
+}bind def
+/FontDescriptorDaemon
+{
+//PDFR_DEBUG{
+(Executing FontDescriptorDaemon for )print 2 index =
+}if
+2 copy/FontResource exch put
+/Subtype get 1 index exch/FontFileType exch put
+}bind def
+/UnPDFEscape{
+dup dup length string cvs
+dup(#)search{
+{
+pop
+(16#--)2 index 0 2 getinterval
+1 index 3 2 getinterval copy pop
+cvi
+0 exch put
+0
+1 index 2 1 index length 2 sub getinterval
+3 copy putinterval
+length
+3 copy exch put
+getinterval
+(#)search not{
+pop exit
+}if
+}loop
+(\0)search pop exch pop exch pop
+cvn
+exch pop
+}{
+pop pop
+}ifelse
+}bind def
+/TypeDaemons<<
+/Page
+{//PDFR_DEBUG{
+(Recognized a page.)=
+}if
+dup/Contents//knownget exec{
+0 get//DoNothing exch
+[
+3 index//PageContentsDaemon/exec load
+]cvx
+//Register exec
+}{
+(fixme: page with no Contents won't be printed.)=
+}ifelse
+}bind
+/FontDescriptor
+{//PDFR_DEBUG{
+(Recognized a font descriptor.)=
+}if
+dup/FontName//knownget exec{
+1 index/FontName 3 -1 roll//UnPDFEscape exec put
+}if
+dup dup/FontFile known{/FontFile}{/FontFile2}ifelse
+//knownget exec{
+0 get//DoNothing exch
+[
+3 index//FontFileDaemon/exec load
+]cvx
+//Register exec
+}{
+(Font descriptor )print 1 index =only( has no FontFile.)=
+}ifelse
+}bind
+/Font
+{//PDFR_DEBUG{
+(Recognized a font resource.)=
+}if
+dup/BaseFont//knownget exec{
+//UnPDFEscape exec 2 copy/BaseFont exch put
+//PDFReader/RemoveFontNamePrefix get exec
+currentglobal exch
+dup/Font resourcestatus{
+pop pop
+//PDFReader/GetInstalledFont get exec pop
+}{
+pop
+}ifelse
+setglobal
+}if
+dup/FontDescriptor//knownget exec{
+0 get
+dup//IsRegistered exec{
+//PDFR_DEBUG{
+(already registered )print dup =
+}if
+pop
+}{
+//DoNothing exch
+[
+3 index//FontDescriptorDaemon/exec load
+]cvx
+//Register exec
+}ifelse
+}if
+}bind
+>>def
+/MakeStreamReader
+{dup
+[
+exch
+//PDFR_DEBUG{
+(Stream proc )
+/print load
+//PDFR_STREAM{
+(<)
+/print load
+}if
+}if
+1 dict dup/i -1 put
+/dup load
+/i
+/get load
+1
+/add load
+/dup load
+3
+1
+/roll load
+/i
+/exch load
+/put load
+//knownget
+/exec load
+/not load
+{()}
+/if load
+//PDFR_DEBUG{
+//PDFR_STREAM{
+/dup load
+/print load
+(>)
+/print load
+}if
+( end of stream proc.\n)
+/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Stream reader )print dup ==
+}if
+0()/SubFileDecode filter
+exch//AppendFilters exec
+}bind def
+/RunDelayedStream
+{
+//GraphicState/InitialTextMatrix get
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get
+2 copy get null eq{
+2 copy currentglobal true setglobal matrix exch setglobal put
+}if
+get copy pop
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 add put
+//MakeStreamReader exec
+mark exch
+cvx exec
+counttomark 0 ne{
+mark(Data left on ostack after a delayed stream execution.)//error exec
+}if
+cleartomark
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 sub put
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get get
+//GraphicState/InitialTextMatrix get
+copy pop
+}bind def
+//ReadFontProcs begin
+/Type1
+{//PDFR_DEBUG{
+(ReadFontProcs.Type1)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+dup/ImmediateExec true put
+/GlobalExec true put
+}bind def
+/MMType1//Type1 def
+/TrueType
+{//PDFR_DEBUG{
+(ReadFontProcs.TrueType)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+pop
+}bind def
+end
+/.opdloadttfontdict 50 dict def
+.opdloadttfontdict begin
+/maxstring 65400 def
+end
+/.InsertionSort
+{
+/CompareProc exch def
+/Array exch def
+1 1 Array length 1 sub
+{
+/Ix exch def
+/Value1 Array Ix get def
+/Jx Ix 1 sub def
+{
+Jx 0 lt{
+exit
+}if
+/Value2 Array Jx get def
+Value1 Value2 CompareProc{
+exit
+}if
+Array Jx 1 add Value2 put
+/Jx Jx 1 sub def
+}loop
+Array Jx 1 add Value1 put
+}for
+Array
+}bind def
+/putu16{
+3 copy -8 bitshift put
+exch 1 add exch 16#ff and put
+}bind def
+/putu32{
+3 copy -16 bitshift putu16
+exch 2 add exch 16#ffff and putu16
+}bind def
+/.readtable{
+dup dup 1 and add string
+dup 0 4 -1 roll getinterval
+3 -1 roll exch
+dup()ne{readstring}if pop pop
+}bind def
+/.readbigtable{
+dup maxstring lt{
+.readtable
+}{
+currentuserparams/VMReclaim get -2 vmreclaim
+[4 2 roll{
+dup maxstring le{exit}if
+1 index maxstring string readstring pop 3 1 roll maxstring sub
+}loop .readtable]
+exch vmreclaim
+}ifelse
+}bind def
+/ReadTTF
+{
+.opdloadttfontdict begin
+/TTFontFile exch def
+/TableDir TTFontFile 12 string readstring pop def
+/tables TTFontFile TableDir 4 getu16 16 mul string readstring pop def
+/tabarray tables length 16 idiv array def
+TableDir 0 4 getinterval(ttcf)eq{
+QUIET not{(Can't handle TrueType font Collections.)=}if
+/.loadttfonttables cvx/invalidfont signalerror
+}{
+0 16 tables length 1 sub{
+dup
+tables exch 16 getinterval
+exch 16 div cvi exch
+tabarray 3 1 roll put
+}for
+}ifelse
+tabarray{exch 8 getu32 exch 8 getu32 gt}.InsertionSort pop
+/Read TableDir length tables length add def
+/tabs[
+tabarray{
+dup 8 getu32
+Read sub
+dup 0 gt{
+dup string TTFontFile exch readstring pop pop
+Read add/Read exch def
+}{
+pop
+}ifelse
+12 getu32
+dup Read add
+/Read exch def
+TTFontFile exch .readbigtable
+}forall
+]def
+end
+}bind def
+/GetLocaType
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(head)eq{
+tabs exch get
+50 gets16
+/LocaType exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/GetNumGlyphs
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(maxp)eq{
+tabs exch get
+4 getu16
+/NumGlyphs exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/StringToLoca
+{
+/LocaIndex exch def
+/StringOffset 0 def
+{
+dup length StringOffset gt{
+dup
+LocaType 1 eq{
+StringOffset getu32
+LocaArray LocaIndex 3 -1 roll put
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 4 add
+def
+}{
+StringOffset getu16 2 mul
+LocaArray length LocaIndex gt{
+LocaArray LocaIndex 3 -1 roll put
+}{
+pop
+}ifelse
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 2 add
+def
+}ifelse
+}{
+pop
+LocaIndex
+exit
+}ifelse
+}loop
+}bind def
+/GetSortedLoca
+{
+NumGlyphs 1 add array/LocaArray exch def
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(loca)eq{
+tabs exch get
+exit
+}{
+pop
+}ifelse
+}for
+dup type/stringtype eq{
+0 StringToLoca pop
+}{
+0 exch
+{
+exch StringToLoca
+}forall
+pop
+}ifelse
+LocaArray{gt}.InsertionSort pop
+}bind def
+/GetWorkingString
+{
+WorkString 0
+GlyfArray GlyfStringIndex get
+putinterval
+/WorkBytes GlyfArray GlyfStringIndex get length def
+/GlyfStringIndex GlyfStringIndex 1 add def
+}bind def
+/GetWorkingBytes
+{
+/BytesToRead exch def
+WorkString 0 BytesToRead getinterval
+dup length string copy
+WorkString BytesToRead WorkBytes BytesToRead sub getinterval
+dup length string copy
+WorkString 0 3 -1 roll putinterval
+/WorkBytes WorkBytes BytesToRead sub def
+}bind def
+/GetGlyfBytes
+{
+/ToRead exch def
+WorkBytes 0 eq{
+GetWorkingString
+}if
+WorkBytes ToRead ge{
+ToRead string dup 0
+ToRead GetWorkingBytes putinterval
+}{
+ToRead string
+dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+ToRead WorkBytes sub
+GetWorkingString
+GetWorkingBytes
+putinterval
+}ifelse
+}bind def
+/SplitGlyf
+{
+/GlyfArray exch def
+/DestArray GlyfArray length 2 mul array def
+/DestArrayIndex 0 def
+/LastLoca 0 def
+/NextLocaIndex 0 def
+/LastLocaIndex 0 def
+/GlyfStringIndex 0 def
+/WorkString maxstring string def
+/WorkBytes 0 def
+{
+LocaArray NextLocaIndex get
+LastLoca sub maxstring gt
+{
+LocaArray LastLocaIndex get LastLoca sub
+GetGlyfBytes
+DestArray DestArrayIndex 3 -1 roll put
+/DestArrayIndex DestArrayIndex 1 add def
+LocaArray LastLocaIndex get/LastLoca exch def
+}{
+/LastLocaIndex NextLocaIndex def
+/NextLocaIndex NextLocaIndex 1 add def
+NextLocaIndex NumGlyphs gt
+{
+WorkBytes
+GlyfStringIndex GlyfArray length lt{
+GlyfArray GlyfStringIndex get length
+add string dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+GetWorkingString
+WorkString 0 WorkBytes getinterval
+putinterval
+}{
+pop
+WorkString 0 WorkBytes getinterval
+}ifelse
+dup length string copy
+DestArray DestArrayIndex 3 -1 roll put
+exit
+}if
+}ifelse
+}loop
+DestArray
+}bind def
+/ProcessTTData
+{
+.opdloadttfontdict begin
+0 1 tabarray length 1 sub{
+/ix exch def
+tabarray ix get
+12 getu32 dup maxstring le{
+dup 4 mod 0 ne{
+4 div cvi 1 add 4 mul string/newstring exch def
+/oldstring tabs ix get def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix newstring put
+}{
+pop
+}ifelse
+}{
+dup 4 mod 0 ne{
+dup maxstring idiv maxstring mul sub
+4 idiv 1 add 4 mul string/newstring exch def
+tabs ix get
+dup length 1 sub dup/iy exch def get/oldstring exch def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix get iy newstring put
+}{
+pop
+}ifelse
+}ifelse
+}for
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+dup 12 getu32 maxstring gt{
+0 4 getinterval dup(glyf)eq{
+pop
+GetLocaType
+GetNumGlyphs
+GetSortedLoca
+dup tabs exch get
+SplitGlyf
+tabs 3 1 roll put
+}{
+(Warning, table )print print( > 64Kb\n)print
+pop
+}ifelse
+}{
+pop
+pop
+}ifelse
+}for
+end
+}bind def
+/Makesfnts
+{
+.opdloadttfontdict begin
+0
+tabs{
+dup type/stringtype eq{
+pop
+1 add
+}{
+{
+type/stringtype eq{
+1 add
+}if
+}forall
+}ifelse
+}forall
+1 add
+/TTOffset
+TableDir length
+tabarray length 16 mul add
+def
+0
+tabarray{
+exch dup 1 add
+3 1 roll
+dup
+tabs exch get
+dup type/stringtype eq{
+length
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}{
+0 exch
+{
+dup type/stringtype eq{
+length add
+}{
+pop
+}ifelse
+}forall
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}ifelse
+}forall
+pop
+array
+dup 0
+TableDir length
+tables length add
+string
+dup 0 TableDir putinterval
+dup 12 tables putinterval
+put
+dup
+/ix 1 def
+tabs{
+dup type/stringtype eq{
+ix exch
+put dup
+/ix ix 1 add def
+}{
+{
+dup type/stringtype eq{
+ix exch put dup
+/ix ix 1 add def
+}{
+pop
+}ifelse
+}forall
+}ifelse
+}forall
+pop
+end
+}bind def
+/MakeType42
+{
+//PDFR_DEBUG{
+(MakeType42 beg)=
+}if
+10 dict begin
+/FontName 1 index/FontName get def
+/FontType 42 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox 1 index/FontBBox get def
+dup/FontResource get
+dup/Encoding known{
+//PDFReader/ObtainEncoding get exec
+/Encoding get
+}{
+pop null
+}ifelse
+/PDFEncoding exch def
+/CharStrings 2 index//PDFReader/MakeTTCharStrings get exec def
+/sfnts 2 index//MakeStreamReader exec
+ReadTTF
+ProcessTTData
+Makesfnts
+def
+/Encoding StandardEncoding def
+/PaintType 0 def
+currentdict end
+//PDFR_DEBUG{
+(MakeType42 end)=
+}if
+}bind def
+/GetInstalledFont
+{
+dup//InstalledFonts exch knownget{
+exch pop
+}{
+dup findfont dup 3 1 roll
+//InstalledFonts 3 1 roll put
+}ifelse
+}bind def
+/RemoveFontNamePrefix
+{//=string cvs true
+0 1 5{
+2 index exch get//IsUpper exec not{
+pop false exit
+}if
+}for
+{(+)search{
+pop pop
+}if
+}if
+cvn
+}bind def
+/CheckFont
+{dup/Type get/Font ne{
+mark(Resource )3 index( must have /Type/Font .)//error exec
+}if
+}bind def
+/CheckEncoding
+{dup type/nametype ne{
+dup/Type get/Encoding ne{
+mark(Resource )3 index( must have /Type/Encoding .)//error exec
+}if
+}if
+}bind def
+/ObtainEncoding
+{dup/Encoding known{
+dup dup/Encoding//CheckEncoding//ResolveD exec
+dup type dup/arraytype eq exch/packedarraytype eq or{
+pop pop
+}{
+dup type/nametype eq{
+/Encoding findresource
+}{
+dup/BaseEncoding//knownget exec not{
+/StandardEncoding
+}if
+/Encoding findresource
+exch
+/Differences//knownget exec{
+exch dup length array copy exch
+0 exch
+{
+dup type/integertype eq{
+exch pop
+}{
+3 copy put pop
+1 add
+}ifelse
+}forall
+pop
+}if
+}ifelse
+/Encoding exch put
+}ifelse
+}{
+dup/Encoding/StandardEncoding/Encoding findresource put
+}ifelse
+}bind def
+/ObtainMetrics
+{dup/Widths//knownget exec{
+1 index/Encoding get
+256 dict
+3 index/Subtype get/TrueType eq{
+1000
+}{
+1
+}ifelse
+4 index/MissingWidth//knownget exec not{
+0
+}if
+5 index/FirstChar//knownget exec not{
+0
+}if
+6 5 roll
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+exch 3 index add
+7 index exch get
+dup dup null ne exch/.notdef ne and{
+6 index 3 1 roll exch
+6 index div
+3 copy pop//knownget exec{
+0 eq
+}{
+true
+}ifelse
+{put
+}{
+pop pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}for
+pop pop pop pop exch pop
+1 index exch/Metrics exch put
+}{
+dup/MissingWidth//knownget exec{
+256 dict
+2 index/Encoding get{
+dup null ne{
+3 copy 3 2 roll put
+}if
+pop
+}forall
+exch pop
+1 index exch/Metrics exch put
+}if
+}ifelse
+}bind def
+/NotDef
+{
+FontMatrix aload pop pop pop exch pop exch pop
+1 exch div exch
+1 exch div exch
+1 index 0 setcharwidth
+0 setlinewidth
+0 0 moveto
+2 copy rlineto
+1 index 0 rlineto
+neg exch neg exch rlineto
+closepath stroke
+}bind def
+/SaveResourcesToStack
+{
+[
+//PDFReader/OldResources known{
+//PDFReader/OldResources get
+}{
+null
+}ifelse
+//PDFReader/CurrentObject get/Context get/Resources get
+]
+//PDFReader/OldResources 3 -1 roll put
+}bind def
+/RestoreResourcesFromStack
+{
+//PDFReader/OldResources get dup
+0 get//PDFReader/OldResources 3 -1 roll put
+1 get//PDFReader/CurrentObject get/Context get/Resources 3 -1 roll put
+}bind def
+/BuildChar
+{//PDFR_DEBUG{
+(BuildChar )print dup//=only exec( )print
+}if
+exch begin
+Encoding exch get
+//PDFR_DEBUG{
+dup =
+}if
+dup null eq{
+pop//NotDef exec
+}
+{
+CharProcs exch//knownget exec
+{
+currentfont/Font get/Resources//knownget exec{
+exec
+SaveResourcesToStack
+//PDFReader/CurrentObject get/Context get
+/Resources 3 -1 roll put
+//RunDelayedStream exec
+RestoreResourcesFromStack
+}{
+//RunDelayedStream exec
+}ifelse
+}
+{
+//NotDef exec
+}ifelse
+}ifelse
+end
+}bind def
+/printdict
+{(<<)=
+{exch = ==}forall
+(>>)=
+}bind def
+/printfont
+{
+dup{
+exch dup =
+dup/Encoding eq{
+pop =
+}{
+dup/FontInfo eq exch/Private eq or{
+//printdict exec
+}{
+==
+}ifelse
+}ifelse
+}forall
+}bind def
+/ScaleMetrics
+{1 index{
+2 index div
+3 index
+3 1 roll put
+}forall
+pop
+}bind def
+/ResolveAndSetFontAux
+{exch dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Font//DoNothing//ResolveD exec
+exch//CheckFont//ResolveD exec
+dup/Font//knownget exec{
+exch pop exch pop
+}{
+{
+dup/Subtype get dup dup/Type1 eq exch/TrueType eq or exch/MMType1 eq or{
+exch pop
+dup/BaseFont get
+//RemoveFontNamePrefix exec
+//PDFR_DEBUG{
+(Font )print dup =
+}if
+1 index/FontDescriptor known{
+//PDFR_DEBUG{
+(Font from a font descriptor.)=
+}if
+1 index
+/FontDescriptor//DoNothing//ResolveD exec
+/Font//knownget exec{
+exch pop
+}{
+//PDFR_DEBUG{
+(Font descriptor has no Font resolved.)=
+}if
+//GetInstalledFont exec
+}ifelse
+}{
+//GetInstalledFont exec
+}ifelse
+exch
+dup/Encoding known not{
+1 index/Encoding get 1 index exch/Encoding exch put
+}if
+//ObtainEncoding exec
+//ObtainMetrics exec
+exch
+dup length dict copy
+dup 2 index/Encoding get
+/Encoding exch put
+1 index/Metrics//knownget exec{
+2 index/Subtype get/TrueType ne{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+0.001 div
+//ScaleMetrics exec
+}{
+1 index/sfnts known not{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+//ScaleMetrics exec
+}if
+}ifelse
+1 index exch/Metrics exch put
+}if
+1 index/BaseFont get
+exch
+dup/FID undef
+dup/UniqueID undef
+definefont
+dup 3 1 roll
+/Font exch put
+exit
+}if
+dup/Subtype get/Type3 eq{
+//ObtainEncoding exec
+2 copy exch/FontName exch put
+dup/CharProcs get//ResolveDict exec
+dup/FontType 3 put
+dup/BuildChar//BuildChar put
+dup dup/Font exch put
+dup 3 1 roll
+definefont
+2 copy ne{
+2 copy/Font exch put
+}if
+exch pop
+exit
+}if
+dup/Subtype get/Type0 eq{
+}if
+dup/Subtype get/CIDFontType0 eq{
+}if
+dup/Subtype get/CIDFontType2 eq{
+}if
+mark(Unknown font type )2 index/Subtype get//error exec
+}loop
+}ifelse
+exch scalefont setfont
+}bind def
+/ResolveAndSetFont
+{
+//ResolveAndSetFontAux exec
+}bind def
+/.knownget
+{2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/.min
+{2 copy lt{
+exch
+}if
+pop
+}bind def
+/.max
+{2 copy gt{
+exch
+}if
+pop
+}bind def
+/.dicttomark
+{>>
+}bind def
+/getu16{
+2 copy get 8 bitshift 3 1 roll 1 add get add
+}bind def
+/gets16{
+getu16 16#8000 xor 16#8000 sub
+}bind def
+/getu32{
+2 copy getu16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/gets32{
+2 copy gets16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/cmapformats mark
+0{
+6 256 getinterval{}forall 256 packedarray
+}bind
+2{
+/sHK_sz 2 def
+/sH_sz 8 def
+dup 2 getu16/cmapf2_tblen exch def
+dup 4 getu16/cmapf2_lang exch def
+dup 6 256 sHK_sz mul getinterval/sHKs exch def
+0
+0 1 255{
+sHKs exch
+2 mul getu16
+1 index
+1 index
+lt{exch}if pop
+}for
+/sH_len exch def
+dup 6 256 sHK_sz mul add
+cmapf2_tblen 1 index sub getinterval
+/sH_gIA exch def
+/cmapf2_glyph_array 65535 array def
+/.cmapf2_putGID{
+/cmapf2_ch cmapf2_ch_hi 8 bitshift cmapf2_ch_lo add def
+firstCode cmapf2_ch_lo le
+cmapf2_ch_lo firstCode entryCount add lt
+and{
+sH_offset idRangeOffset add
+cmapf2_ch_lo firstCode sub 2 mul
+add 6 add
+sH_gIA exch getu16
+dup 0 gt{
+idDelta add
+cmapf2_glyph_array exch cmapf2_ch exch put
+}{
+pop
+}ifelse
+}{
+}ifelse
+}def
+16#00 1 16#ff{
+/cmapf2_ch_hi exch def
+sHKs cmapf2_ch_hi sHK_sz mul getu16
+/sH_offset exch def
+sH_gIA sH_offset sH_sz getinterval
+dup 0 getu16/firstCode exch def
+dup 2 getu16/entryCount exch def
+dup 4 gets16/idDelta exch def
+dup 6 getu16/idRangeOffset exch def
+pop
+sH_offset 0 eq{
+/cmapf2_ch_lo cmapf2_ch_hi def
+/cmapf2_ch_hi 0 def
+.cmapf2_putGID
+}{
+16#00 1 16#ff{
+/cmapf2_ch_lo exch def
+.cmapf2_putGID
+}for
+}ifelse
+}for
+pop
+0 1 cmapf2_glyph_array length 1 sub{
+dup cmapf2_glyph_array exch get
+null eq{cmapf2_glyph_array exch 0 put}{pop}ifelse
+}for
+cmapf2_glyph_array
+}bind
+4{
+/etab exch def
+/nseg2 etab 6 getu16 def
+14/endc etab 2 index nseg2 getinterval def
+2 add
+nseg2 add/startc etab 2 index nseg2 getinterval def
+nseg2 add/iddelta etab 2 index nseg2 getinterval def
+nseg2 add/idroff etab 2 index nseg2 getinterval def
+pop
+/firstcode startc 0 getu16 16#ff00 and dup 16#f000 ne{pop 0}if def
+/lastcode firstcode def
+/striptopbyte false def
+/putglyph{
+glyphs code 3 -1 roll put/code code 1 add def
+}bind def
+/numcodes 0 def/glyphs 0 0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+ecode lastcode gt{
+/lastcode ecode def
+}if
+}for pop
+firstcode 16#f000 ge lastcode firstcode sub 255 le and{
+lastcode 255 and
+/striptopbyte true def
+}{
+lastcode
+}ifelse
+1 add
+array def
+glyphs length 1024 ge{
+.array1024z 0 1024 glyphs length 1023 sub{glyphs exch 2 index putinterval}for
+glyphs dup length 1024 sub 3 -1 roll
+putinterval
+}{
+0 1 glyphs length 1 sub{glyphs exch 0 put}for
+}ifelse
+/numcodes 0 def/code 0 def
+0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+numcodes scode firstcode sub
+exch sub 0 .max dup/code exch code exch add def
+ecode scode sub 1 add add numcodes add/numcodes exch def
+/delta iddelta i2 gets16 def
+TTFDEBUG{
+(scode=)print scode =only
+( ecode=)print ecode =only
+( delta=)print delta =only
+( droff=)print idroff i2 getu16 =
+}if
+idroff i2 getu16 dup 0 eq{
+pop scode delta add 65535 and 1 ecode delta add 65535 and
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+{putglyph}for
+}{
+/gloff exch 14 nseg2 3 mul add 2 add i2 add add def
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+0 1 ecode scode sub{
+2 mul gloff add etab exch getu16
+dup 0 ne{delta add 65535 and}if putglyph
+}for
+}ifelse
+}for glyphs/glyphs null def
+}bind
+6{
+dup 6 getu16/firstcode exch def dup 8 getu16/ng exch def
+firstcode ng add array
+0 1 firstcode 1 sub{2 copy 0 put pop}for
+dup firstcode ng getinterval
+0 1 ng 1 sub{
+dup 2 mul 10 add 4 index exch getu16 3 copy put pop pop
+}for pop exch pop
+}bind
+.dicttomark readonly def
+/cmaparray{
+dup 0 getu16 cmapformats exch .knownget{
+TTFDEBUG{
+(cmap: format )print 1 index 0 getu16 = flush
+}if exec
+}{
+(Can't handle format )print 0 getu16 = flush
+0 1 255{}for 256 packedarray
+}ifelse
+TTFDEBUG{
+(cmap: length=)print dup length = dup ==
+}if
+}bind def
+/postremap mark
+/Cdot/Cdotaccent
+/Edot/Edotaccent
+/Eoverdot/Edotaccent
+/Gdot/Gdotaccent
+/Ldot/Ldotaccent
+/Zdot/Zdotaccent
+/cdot/cdotaccent
+/edot/edotaccent
+/eoverdot/edotaccent
+/gdot/gdotaccent
+/ldot/ldotaccent
+/zdot/zdotaccent
+.dicttomark readonly def
+/get_from_stringarray
+{1 index type/stringtype eq{
+get
+}{
+exch{
+2 copy length ge{
+length sub
+}{
+exch get exit
+}ifelse
+}forall
+}ifelse
+}bind def
+/getinterval_from_stringarray
+{
+2 index type/stringtype eq{
+getinterval
+}{
+string exch 0
+4 3 roll{
+dup length
+dup 4 index lt{
+3 index exch sub
+exch pop 3 1 roll exch pop
+}{
+dup 3 1 roll
+4 index sub
+5 index length 4 index sub
+2 copy gt{exch}if pop
+dup 3 1 roll
+5 index exch getinterval
+5 index 4 index 3 index
+getinterval
+copy pop
+exch pop add exch pop 0 exch
+dup 3 index length ge{exit}if
+}ifelse
+}forall
+pop pop
+}ifelse
+}bind def
+/string_array_size
+{dup type/stringtype eq{
+length
+}{
+0 exch{length add}forall
+}ifelse
+}bind def
+/postformats mark
+16#00010000{
+pop MacGlyphEncoding
+}
+16#00020000{
+dup dup type/arraytype eq{0 get}if length 36 lt{
+TTFDEBUG{(post format 2.0 invalid.)= flush}if
+pop[]
+}{
+/postglyphs exch def
+/post_first postglyphs dup type/arraytype eq{0 get}if def
+post_first 32 getu16/numglyphs exch def
+/glyphnames numglyphs 2 mul 34 add def
+/postpos glyphnames def
+/total_length postglyphs//string_array_size exec def
+numglyphs array 0 1 numglyphs 1 sub{
+postpos total_length ge{
+1 numglyphs 1 sub{1 index exch/.notdef put}for
+exit
+}if
+postglyphs postpos//get_from_stringarray exec
+postglyphs postpos 1 add 2 index//getinterval_from_stringarray exec cvn
+exch postpos add 1 add/postpos exch def
+2 index 3 1 roll
+put
+}for
+/postnames exch def
+numglyphs array 0 1 numglyphs 1 sub{
+dup 2 mul 34 add postglyphs exch 2//getinterval_from_stringarray exec
+dup 0 get 8 bitshift exch 1 get add dup 258 lt{
+MacGlyphEncoding exch get
+}{
+dup 32768 ge{
+pop/.notdef
+}{
+258 sub dup postnames length ge{
+TTFDEBUG{( *** warning: glyph index past end of 'post' table)= flush}if
+pop
+exit
+}if
+postnames exch get
+postremap 1 index .knownget{exch pop}if
+}ifelse
+}ifelse
+2 index 3 1 roll put
+}for
+}
+ifelse
+}bind
+16#00030000{
+pop[]
+}bind
+.dicttomark readonly def
+/first_post_string
+{
+post dup type/arraytype eq{0 get}if
+}bind def
+/.getpost{
+/glyphencoding post null eq{
+TTFDEBUG{(post missing)= flush}if[]
+}{
+postformats first_post_string 0 getu32 .knownget{
+TTFDEBUG{
+(post: format )print
+first_post_string
+dup 0 getu16 =only(,)print 2 getu16 = flush
+}if
+post exch exec
+}{
+TTFDEBUG{(post: unknown format )print post 0 getu32 = flush}if[]
+}ifelse
+}ifelse def
+}bind def
+/MacRomanEncoding[
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+]/Encoding defineresource pop
+/TTParser<<
+/Pos 0
+/post null
+>>def
+/readu8
+{read not{
+mark(Insufficient data in the stream.)//error exec
+}if
+}bind def
+/readu16
+{dup//readu8 exec 8 bitshift exch//readu8 exec or
+}bind def
+/reads16
+{//readu16 exec 16#8000 xor 16#8000 sub
+}bind def
+/readu32
+{dup//readu16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/reads32
+{dup//reads16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/SkipToPosition
+{dup//TTParser/Pos get
+exch//TTParser exch/Pos exch put
+sub
+//PDFR_DEBUG{
+(Skipping )print dup//=only exec( bytes.)=
+}if
+dup 0 eq{
+pop pop
+}{
+dup 3 1 roll
+()/SubFileDecode filter
+exch
+{1 index//BlockBuffer readstring pop length
+dup 0 eq{pop exch pop exit}if
+sub
+}loop
+0 ne{
+mark(Insufficient data in the stream for SkipToPosition.)//error exec
+}if
+}ifelse
+}bind def
+/TagBuffer 4 string def
+/ParseTTTableDirectory
+{//PDFR_DEBUG{
+(ParseTTTableDirectory beg)=
+}if
+15 dict begin
+dup//readu32 exec 16#00010000 ne{
+mark(Unknown True Type version.)//error exec
+}if
+dup//readu16 exec/NumTables exch def
+dup//readu16 exec/SearchRange exch def
+dup//readu16 exec/EntrySelector exch def
+dup//readu16 exec/RangeShift exch def
+//PDFR_DEBUG{
+(NumTables = )print NumTables =
+}if
+NumTables{
+dup//TagBuffer readstring not{
+mark(Could not read TT tag.)//error exec
+}if
+cvn
+[2 index//readu32 exec pop
+2 index//readu32 exec
+3 index//readu32 exec
+]
+//PDFR_DEBUG{
+2 copy exch//=only exec( )print ==
+}if
+def
+}repeat
+pop
+//TTParser/Pos 12 NumTables 16 mul add put
+currentdict end
+//PDFR_DEBUG{
+(ParseTTTableDirectory end)=
+}if
+}bind def
+/ParseTTcmap
+{//PDFR_DEBUG{
+(ParseTTcmap beg)=
+}if
+/cmap get aload pop
+3 1 roll
+7 dict begin
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(cmap position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos get/TablePos exch def
+dup//readu16 exec pop
+dup//readu16 exec/NumEncodings exch def
+//PDFR_DEBUG{
+(NumEncodings = )print NumEncodings =
+}if
+null
+NumEncodings{
+1 index//readu32 exec
+2 index//readu32 exec
+3 array dup 3 2 roll 0 exch put
+2 index null ne{
+dup 0 get 3 index 0 get sub
+3 index exch 1 exch put
+}if
+dup 4 3 roll pop 3 1 roll
+def
+}repeat
+dup 0 get
+4 3 roll exch sub
+1 exch put
+//PDFR_DEBUG{
+currentdict{
+exch dup type/integertype eq{
+//PrintHex exec( )print ==
+}{
+pop pop
+}ifelse
+}forall
+}if
+4 NumEncodings 8 mul add/HeaderLength exch def
+//TTParser/Pos//TTParser/Pos get HeaderLength add put
+0
+NumEncodings{
+16#7FFFFFF null
+currentdict{
+1 index type/integertype eq{
+exch pop dup 0 get
+dup 5 index gt{
+dup 4 index lt{
+4 1 roll
+exch pop exch pop
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}forall
+//PDFR_DEBUG{
+(Obtaining subtable for )print dup ==
+}if
+3 2 roll pop
+3 copy pop
+TablePos add//SkipToPosition exec
+3 copy exch pop 1 get
+//TTParser/Pos//TTParser/Pos get 3 index add put
+string
+readstring not{
+mark(Can't read a cmap subtable.)//error exec
+}if
+2 exch put
+}repeat
+pop pop
+currentdict end
+//PDFR_DEBUG{
+(ParseTTcmap end)=
+}if
+}bind def
+/GetTTEncoding
+{//PDFR_DEBUG{
+(GetTTEncoding beg)=
+}if
+get
+exch pop
+2 get
+10 dict begin
+/TTFDEBUG//PDFR_DEBUG def
+//cmaparray exec
+end
+//PDFR_DEBUG{
+(GetTTEncoding end)=
+dup ==
+}if
+}bind def
+/InverseEncoding
+{
+256 dict begin
+dup length 1 sub -1 0{
+2 copy get
+exch
+1 index currentdict exch//knownget exec{
+dup type/arraytype eq{
+aload length 1 add array astore
+}{
+2 array astore
+}ifelse
+}if
+def
+}for
+pop
+currentdict end
+}bind def
+/GetMacRomanEncodingInverse
+{//PDFReader/MacRomanEncodingInverse get
+dup null eq{
+pop
+MacRomanEncoding//InverseEncoding exec
+dup//PDFReader exch/MacRomanEncodingInverse exch put
+}if
+}bind def
+/PutCharStringSingle
+{
+dup 3 index length lt{
+2 index exch get
+dup 0 ne{
+def
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/PutCharString
+{1 index type/nametype ne{
+mark(Bad charstring name)//error exec
+}if
+dup type/arraytype eq{
+{
+3 copy//PutCharStringSingle exec
+pop pop
+}forall
+pop
+}{
+//PutCharStringSingle exec
+}ifelse
+}bind def
+/ComposeCharStrings
+{
+//PDFR_DEBUG{
+(ComposeCharStrings beg)=
+}if
+1 index length 1 add dict begin
+/.notdef 0 def
+exch
+//TTParser/post get
+dup null ne{
+exch
+1 index length 1 sub -1 0{
+dup 3 index exch get exch
+dup 0 eq 2 index/.notdef eq or{
+pop pop
+}{
+def
+}ifelse
+}for
+}if
+exch pop exch
+{
+//PutCharString exec
+}forall
+pop
+currentdict end
+//PDFR_DEBUG{
+(ComposeCharStrings end)=
+}if
+}bind def
+/ParseTTpost
+{
+//PDFR_DEBUG{
+(ParseTTpost beg)=
+}if
+/post get aload pop
+3 1 roll
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(post position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos//TTParser/Pos get 4 index add put
+exch dup 65535 le{
+string
+readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}{
+[3 1 roll
+dup 16384 div floor cvi
+exch 1 index 16384 mul
+sub exch
+1 sub 0 1 3 -1 roll
+{
+1 add index
+16384 string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}for
+counttomark -2 roll
+string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+]
+}ifelse
+1 dict begin
+/post exch def
+//.getpost exec
+//TTParser/post glyphencoding put
+//PDFR_DEBUG{
+(ParseTTpost end)=
+glyphencoding ==
+}if
+end
+}bind def
+/MakeTTCharStrings
+{//MakeStreamReader exec
+dup dup//ParseTTTableDirectory exec
+//TTParser/post null put
+dup/post//knownget exec{
+0 get
+1 index/cmap get 0 get
+lt{
+2 copy//ParseTTpost exec
+//ParseTTcmap exec
+}{
+2 copy//ParseTTcmap exec
+3 1 roll
+//ParseTTpost exec
+}ifelse
+}{
+//ParseTTcmap exec
+}ifelse
+{
+dup 16#00030001 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Windows Unicode.)=
+}if
+16#00030001//GetTTEncoding exec
+AdobeGlyphList//ComposeCharStrings exec
+exit
+}if
+dup 16#00010000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Macintosh Roman.)=
+}if
+16#00010000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+dup 16#00030000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding 3.0 - not sure why Ghostscript writes it since old versions.)=
+}if
+16#00030000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+mark(True Type cmap has no useful encodings.)//error exec
+}loop
+//PDFR_DEBUG{
+(CharStrings <<)=
+dup{
+exch
+dup type/nametype eq{
+//=only exec
+}{
+==
+}ifelse
+( )print ==
+}forall
+(>>)=
+}if
+}bind def
+/ScaleVal
+{
+aload pop
+1 index sub
+3 2 roll mul add
+}bind def
+/ScaleArg
+{
+aload pop
+1 index sub
+3 1 roll
+sub exch div
+}bind def
+/ScaleArgN
+{
+dup length 2 sub -2 0{
+2
+2 index 3 1 roll getinterval
+3 2 roll
+exch//ScaleArg exec
+1 index length 2 idiv 1 add 1 roll
+}for
+pop
+}bind def
+/ComputeFunction_10
+{
+//PDFR_DEBUG{
+(ComputeFunction_10 beg )print 1 index//=only exec( stack=)print count =
+}if
+exch
+dup 1 eq{
+pop dup length 1 sub get
+}{
+1 index length 1 sub mul
+dup dup floor sub
+dup 0 eq{
+pop cvi get
+}{
+3 1 roll floor cvi
+2 getinterval
+aload pop
+2 index mul 3 2 roll 1 exch sub 3 2 roll mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_10 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/ComputeFunction_n0
+{
+//PDFR_DEBUG{
+(ComputeFunction_n0 beg N=)print dup//=only exec( stack=)print count =
+}if
+dup 0 eq{
+pop
+}{
+dup 2 add -1 roll
+dup 3 index length 1 sub ge{
+pop 1 sub
+exch dup length 1 sub get exch
+//PDFReader/ComputeFunction_n0 get exec
+}{
+dup floor cvi dup
+4 index exch get
+3 index dup
+5 add copy
+6 2 roll
+pop pop pop pop
+1 sub
+//PDFReader/ComputeFunction_n0 get exec
+3 2 roll pop
+exch
+4 3 roll exch
+4 add 2 roll 1 add
+3 2 roll exch get
+exch 1 sub
+//PDFReader/ComputeFunction_n0 get exec
+1 index mul
+3 1 roll
+1 exch sub mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_n0 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/FunctionToProc_x01
+{
+dup/Domain get exch
+dup/Data get 0 get exch
+/Size get length
+[4 1 roll
+//PDFR_DEBUG{
+{(function beg, stack =)print count//=only exec(\n)print}/exec load
+5 2 roll
+}if
+dup 1 gt{
+{mark exch
+3 add 2 roll
+//ScaleArgN exec
+counttomark dup
+3 add -2 roll
+pop exch
+//ComputeFunction_n0 exec
+}/exec load
+}{
+pop
+3 1/roll load//ScaleArg/exec load
+/exch load
+//ComputeFunction_10/exec load
+}ifelse
+//PDFR_DEBUG{
+(function end, stack =)/print load/count load//=only/exec load(\n)/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Made a procedure for the 1-result function :)=
+dup ==
+}if
+}bind def
+/FunctionProcDebugBeg
+{(FunctionProcDebugBeg )print count =
+}bind def
+/FunctionProcDebugEnd
+{(FunctionProcDebugEnd )print count =
+}bind def
+/FunctionToProc_x0n
+{
+PDFR_DEBUG{
+(FunctionToProc_x0n beg m=)print dup =
+}if
+1 index/Size get length exch
+dup 7 mul 2 add array
+PDFR_DEBUG{
+dup 0//FunctionProcDebugBeg put
+}{
+dup 0//DoNothing put
+}ifelse
+dup 1/exec load put
+dup 2 5 index/Domain get put
+2 index 1 eq{
+dup 3//ScaleArg put
+}{
+dup 3//ScaleArgN put
+}ifelse
+dup 4/exec load put
+1 index 1 sub 0 exch 1 exch{
+dup 7 mul 5 add
+1 index 4 index 1 sub ne{
+dup 3 index exch 6 index put 1 add
+dup 3 index exch/copy load put 1 add
+}if
+[
+6 index/Data get 3 index get
+6 index 1 eq{
+//ComputeFunction_10/exec load
+}{
+6 index
+//ComputeFunction_n0/exec load
+}ifelse
+]cvx
+3 index exch 2 index exch put 1 add
+2 index 1 index/exec load put 1 add
+1 index 4 index 1 sub ne{
+2 index 1 index 6 index 1 add put 1 add
+2 index 1 index 1 put 1 add
+2 index 1 index/roll load put
+}if
+pop pop
+}for
+PDFR_DEBUG{
+dup dup length 2 sub//FunctionProcDebugEnd put
+}{
+dup dup length 2 sub//DoNothing put
+}ifelse
+dup dup length 1 sub/exec load put
+cvx exch pop exch pop exch pop
+//PDFR_DEBUG{
+(Made a procedure for the n-argument function :)=
+dup ==
+}if
+PDFR_DEBUG{
+(FunctionToProc_x0n end)=
+}if
+}bind def
+/MakeTableRec
+{
+0
+exec
+}bind def
+/MakeTable
+{//PDFR_DEBUG{
+(MakeTable beg )print count =
+}if
+1 index/Size get exch
+1 sub dup
+3 1 roll
+get
+array
+1 index 0 eq{
+exch pop exch pop
+}{
+dup length 1 sub -1 0{
+3 index 3 index//MakeTableRec exec
+2 index 3 1 roll put
+}for
+exch pop exch pop
+}ifelse
+//PDFR_DEBUG{
+(MakeTable end )print count =
+}if
+}bind def
+//MakeTableRec 0//MakeTable put
+/StoreSample
+{
+1 sub
+dup 0 eq{
+pop
+}{
+-1 1{
+I exch get get
+}for
+}ifelse
+I 0 get 3 2 roll put
+}bind def
+/ReadSample32
+{
+4{
+File read not{
+mark(Insufficient data for function.)//error exec
+}if
+}repeat
+pop
+3 1 roll exch
+256 mul add 256 mul add
+//1_24_bitshift_1_sub div
+}bind def
+/ReadSample
+{
+Buffer BitsLeft BitsPerSample
+{2 copy ge{
+exit
+}if
+3 1 roll
+8 add 3 1 roll
+256 mul File read not{
+mark(Insufficient data for function.)//error exec
+}if
+add
+3 1 roll
+}loop
+sub dup
+2 index exch
+neg bitshift
+2 copy exch bitshift
+4 3 roll exch sub
+/Buffer exch def
+exch/BitsLeft exch def
+Div div
+}bind def
+/ReadSamplesRec
+{0
+exec
+}bind def
+/ReadSamples
+{
+//PDFR_DEBUG{
+(ReadSamples beg )print count =
+}if
+dup 1 eq{
+pop
+0 1 Size 0 get 1 sub{
+I exch 0 exch put
+0 1 M 1 sub{
+dup Range exch 2 mul 2 getinterval
+//PDFR_DEBUG{
+(Will read a sample ... )print
+}if
+BitsPerSample 32 eq{//ReadSample32}{//ReadSample}ifelse
+exec exch//ScaleVal exec
+//PDFR_DEBUG{
+(value=)print dup =
+}if
+exch Table exch get
+Size length//StoreSample exec
+}for
+}for
+}{
+1 sub
+dup Size exch get 0 exch 1 exch 1 sub{
+I exch 2 index exch put
+dup//ReadSamplesRec exec
+}for
+pop
+}ifelse
+//PDFR_DEBUG{
+(ReadSamples end )print count =
+}if
+}bind def
+//ReadSamplesRec 0//ReadSamples put
+/StreamToArray
+{//PDFR_DEBUG{
+(StreamToArray beg )print count =
+}if
+userdict/FuncDataReader get begin
+dup/BitsPerSample get/BitsPerSample exch def
+dup/Size get length/N exch def
+dup/Range get length 2 idiv/M exch def
+1 BitsPerSample bitshift 1 sub/Div exch def
+/BitsLeft 0 def
+/Buffer 0 def
+dup/Size get/Size exch def
+dup/Range get/Range exch def
+/File 1 index//MakeStreamReader exec def
+/I[N{0}repeat]def
+M array
+dup length 1 sub -1 0{
+2 index N//MakeTable exec
+2 index 3 1 roll put
+}for
+/Table exch def
+N//ReadSamples exec
+PDFR_DEBUG{
+(Table = )print Table ==
+}if
+/Data Table put
+end
+//PDFR_DEBUG{
+(StreamToArray end )print count =
+}if
+}bind def
+/FunctionToProc10
+{
+PDFR_DEBUG{
+(FunctionToProc10 beg, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+PDFR_DEBUG{
+(FunctionToProc10 end)=
+}if
+}bind def
+/FunctionToProc12
+{begin
+currentdict/C0//knownget exec{length 1 eq}{true}ifelse{
+N
+currentdict/C0//knownget exec{
+0 get
+}{
+0
+}ifelse
+currentdict/C1//knownget exec{
+0 get
+}{
+1
+}ifelse
+1 index sub
+[4 1 roll
+{
+4 2 roll
+exp mul add
+}aload pop
+]cvx
+}{
+[
+0 1 C0 length 1 sub{
+N
+C0 2 index get
+C1 3 index get
+4 3 roll pop
+1 index sub
+[/dup load
+5 2 roll
+{
+4 2 roll
+exp mul add
+exch
+}aload pop
+]cvx
+/exec load
+}for
+/pop load
+]cvx
+}ifelse
+end
+//PDFR_DEBUG{
+(FunctionType2Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc14
+{//MakeStreamReader exec cvx exec
+//PDFR_DEBUG{
+(FunctionType4Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc1
+{
+dup/FunctionType get
+{dup 0 eq{
+pop//FunctionToProc10 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc12 exec exit
+}if
+dup 4 eq{
+pop//FunctionToProc14 exec exit
+}if
+mark exch(Function type )exch( isn't implemented yet.)//error exec
+}loop
+}bind def
+/FunctionToProc20
+{
+PDFR_DEBUG{
+(FunctionToProc20, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+}bind def
+/FunctionToProc
+{//PDFR_DEBUG{
+(FunctionToProc beg )print count =
+}if
+dup type/dicttype eq{
+dup/Domain get length 2 idiv
+{
+dup 1 eq{
+pop//FunctionToProc1 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc20 exec exit
+}if
+mark(Functions with many arguments aren't implemented yet.)//error exec
+}loop
+}{
+//PDFR_DEBUG{(Not a function dict, assume already a procedure.)print}if
+}ifelse
+//PDFR_DEBUG{
+(FunctionToProc end )print count =
+}if
+}bind def
+/spotfunctions mark
+/Round{
+abs exch abs 2 copy add 1 le{
+dup mul exch dup mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}
+/Diamond{
+abs exch abs 2 copy add .75 le{
+dup mul exch dup mul add 1 exch sub
+}{
+2 copy add 1.23 le{
+.85 mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}ifelse
+}
+/Ellipse{
+abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt{
+pop dup mul exch .75 div dup mul add 4 div 1 exch sub
+}{
+dup 1 gt{
+pop 1 exch sub dup mul exch 1 exch sub
+.75 div dup mul add 4 div 1 sub
+}{
+.5 exch sub exch pop exch pop
+}ifelse
+}ifelse
+}
+/EllipseA{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseA{dup mul .9 mul exch dup mul add 1 sub}
+/EllipseB{dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}
+/EllipseC{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseC{dup mul .9 mul exch dup mul add 1 sub}
+/Line{exch pop abs neg}
+/LineX{pop}
+/LineY{exch pop}
+/Square{abs exch abs 2 copy lt{exch}if pop neg}
+/Cross{abs exch abs 2 copy gt{exch}if pop neg}
+/Rhomboid{abs exch abs 0.9 mul add 2 div}
+/DoubleDot{2{360 mul sin 2 div exch}repeat add}
+/InvertedDoubleDot{2{360 mul sin 2 div exch}repeat add neg}
+/SimpleDot{dup mul exch dup mul add 1 exch sub}
+/InvertedSimpleDot{dup mul exch dup mul add 1 sub}
+/CosineDot{180 mul cos exch 180 mul cos add 2 div}
+/Double{exch 2 div exch 2{360 mul sin 2 div exch}repeat add}
+/InvertedDouble{
+exch 2 div exch 2{360 mul sin 2 div exch}repeat add neg
+}
+.dicttomark readonly def
+/CheckColorSpace
+{
+dup type/arraytype ne{
+mark(Resource )3 index( must be an array.)//error exec
+}if
+}bind def
+/SubstitutePDFColorSpaceRec
+{0
+exec
+}bind def
+/SubstitutePDFColorSpace
+{
+{
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup dup 1//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+1 exch put
+}if
+exit
+}if
+dup 0 get/Indexed eq{
+exit
+}if
+dup 0 get/Separation eq{
+dup dup 2//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+2 exch put
+exit
+}if
+dup 0 get/CalGray eq{
+1 get
+dup/Gamma//knownget exec{
+[exch[exch/exp load]cvx dup dup]
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedA exch]
+exit
+}if
+dup 0 get/CalRGB eq{
+1 get
+dup/Matrix//knownget exec{
+1 index exch/MatrixLMN exch put
+}if
+dup/Gamma//knownget exec{
+aload pop
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+3 array astore
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedABC exch]
+exit
+}if
+dup 0 get/Lab eq{
+1 get
+begin
+currentdict/Range//knownget exec{aload pop}{-100 100 -100 100}ifelse
+0 100 6 2 roll 6 array astore
+/RangeABC exch def
+/DecodeABC[{16 add 116 div}bind{500 div}bind{200 div}bind]def
+/MatrixABC[1 1 1 1 0 0 0 0 -1]def
+{dup 6 29 div ge{dup dup mul mul}{4 29 div sub 108 841 div mul}ifelse}
+/DecodeLMN[
+[3 index aload pop WhitePoint 0 get/mul load]cvx
+[4 index aload pop WhitePoint 1 get/mul load]cvx
+[5 index aload pop WhitePoint 2 get/mul load]cvx
+]def pop
+//PDFR_DEBUG{
+(Constructed from Lab <<)=
+currentdict{exch = ==}forall
+(>>)=
+}if
+[/CIEBasedABC currentdict]
+end
+exit
+pop
+}if
+dup 0 get/CIEBasedA eq{exit}if
+dup 0 get/CIEBasedABC eq{exit}if
+mark exch(Unimplemented color space )exch//error exec
+}loop
+}bind def
+//SubstitutePDFColorSpaceRec 0//SubstitutePDFColorSpace put
+/ResolveArrayElement
+{2 copy get
+dup type dup/arraytype eq exch
+/packedarraytype eq or{
+dup length 1 ge exch xcheck and{
+2 copy get
+dup 0 get type/integertype eq
+1 index 1 get type dup/arraytype
+eq exch
+/packedarraytype eq or
+and{
+exec
+2 index 4 1 roll put
+}{
+pop pop
+}ifelse
+}{
+pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/ResolveColorSpaceArrayRec
+{0
+exec
+}bind def
+/SetColorSpaceSafe
+{
+PDFR_DEBUG{
+(SetColorSpaceSafe beg)=
+}if
+currentcolorspace dup type/arraytype eq{
+1 index type/arraytype eq{
+dup length 2 index length eq{
+false exch
+dup length 0 exch 1 exch 1 sub{
+dup
+4 index exch get exch
+2 index exch get
+ne{
+exch pop true exch exit
+}if
+}for
+pop
+{
+setcolorspace
+}{
+pop
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+PDFR_DEBUG{
+(SetColorSpaceSafe end)=
+}if
+}bind def
+/ResolveColorSpaceArray
+{
+//PDFR_DEBUG{
+(ResolveColorSpaceArray beg )print dup ==
+}if
+dup 0 get/Indexed eq{
+1//ResolveArrayElement exec
+dup dup 1 get
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArrayRec exec
+1 exch put
+}{
+pop pop
+}ifelse
+}if
+dup 0 get/Separation eq{
+dup dup 1 get UnPDFEscape 1 exch put
+3//ResolveArrayElement exec
+dup 3 get//FunctionToProc exec
+2 copy 3 exch put
+pop
+}if
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup 1 get dup type/arraytype eq{
+ResolveColorSpaceArray
+1 index 1 3 -1 roll put
+}{
+pop
+}ifelse
+}if
+}if
+PDFR_DEBUG{
+(Construcrted color space :)=
+dup ==
+}if
+//PDFR_DEBUG{
+(ResolveColorSpaceArray end )print dup ==
+}if
+}bind def
+//ResolveColorSpaceArrayRec 0//ResolveColorSpaceArray put
+/ResolveColorSpace
+{
+//PDFR_DEBUG{
+(ResolveColorSpace beg )print dup =
+}if
+dup//SimpleColorSpaceNames exch known not{
+dup//PDFColorSpaces exch//knownget exec{
+exch pop
+//PDFR_DEBUG{
+(ResolveColorSpace known )=
+}if
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/ColorSpace//DoNothing//ResolveD exec
+exch//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArray exec
+dup//PDFColorSpaces 4 2 roll put
+}if
+}ifelse
+}if
+//PDFR_DEBUG{
+(ResolveColorSpace end )print dup ==
+}if
+}bind def
+/CheckPattern
+{
+dup/PatternType//knownget exec{
+dup 1 ne{
+mark(Resource )4 index( is a shading, which can't be handled at level 2. )//error exec
+}if
+pop
+}if
+dup/Type knownget{
+/Pattern ne{
+mark(Resource )4 index( must have /Type/Pattern .)//error exec
+}if
+}if
+}bind def
+/PaintProc
+{/Context get
+//RunDelayedStream exec
+}bind def
+/ResolvePattern
+{
+dup
+userdict/PDFR_Patterns get
+exch//knownget exec{
+exch pop
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Pattern//DoNothing//ResolveD exec
+exch//CheckPattern//ResolveD exec
+dup dup/Context exch put
+dup/Resources//DoNothing//ResolveD exec pop
+dup/PaintProc//PaintProc put
+gsave userdict/PDFR_InitialGS get setgstate
+currentglobal exch false setglobal
+dup/Matrix get
+makepattern
+exch setglobal
+grestore
+dup userdict/PDFR_Patterns get
+4 2 roll
+put
+}ifelse
+}bind def
+/SetColor
+{//PDFR_DEBUG{
+(SetColor beg)=
+}if
+currentcolorspace dup type/nametype eq{
+pop setcolor
+}{
+0 get/Pattern eq{
+//ResolvePattern exec setpattern
+}{
+setcolor
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(SetColor end)=
+}if
+}bind def
+/ImageKeys 15 dict begin
+/BPC/BitsPerComponent def
+/CS/ColorSpace def
+/D/Decode def
+/DP/DecodeParms def
+/F/Filter def
+/H/Height def
+/IM/ImageMask def
+/I/Interpolate def
+/W/Width def
+currentdict end readonly def
+/ImageValues 15 dict begin
+/G/DeviceGray def
+/RGB/DeviceRGB def
+/CMYK/DeviceCMYK def
+/I/Indexed def
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/GetColorSpaceRange
+{2 index/ColorSpace get
+dup type/arraytype eq{
+1 get
+}if
+exch//knownget exec{
+exch pop
+}if
+}bind def
+/DecodeArrays 15 dict begin
+/DeviceGray{[0 1]}def
+/DeviceRGB{[0 1 0 1 0 1]}def
+/DeviceCMYK{[0 1 0 1 0 1 0 1]}def
+/Indexed{
+dup/BitsPerComponent get 1 exch bitshift 1 sub[exch 0 exch]
+}def
+/Separation{[0 1]}def
+/CIEBasedA{[0 1]/RangeA//GetColorSpaceRange exec}def
+/CIEBasedABC{[0 1 0 1 0 1]/RangeABC//GetColorSpaceRange exec}def
+currentdict end readonly def
+/Substitute
+{1 index//knownget exec{
+exch pop
+}if
+}bind def
+/DebugImagePrinting
+{
+//PDFR_DEBUG{
+(Image :)=
+dup{exch//=only exec( )print ==
+}forall
+}if
+}bind def
+/CompleteImage
+{
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec pop
+}if
+dup/Decode known not{
+dup/ColorSpace//knownget exec{
+dup type/arraytype eq{
+0 get
+}if
+//DecodeArrays exch get exec
+}{
+[0 1]
+}ifelse
+1 index exch/Decode exch put
+}if
+dup/ImageMatrix[2 index/Width get 0 0 5 index/Height get neg
+0 7 index/Height get]put
+//DebugImagePrinting exec
+}bind def
+/CompleteInlineImage
+{
+//PDFR_DEBUG{
+(CompleteInlineImage beg)=
+}if
+dup/ImageType known not{
+dup/ImageType 1 put
+}if
+dup length dict exch{
+exch//ImageKeys//Substitute exec
+dup/Filter eq{
+exch//ImageValues//Substitute exec exch
+}if
+dup/ColorSpace eq{
+exch
+dup//ImageValues exch//knownget exec{
+exch pop
+}{
+//ResolveColorSpace exec
+}ifelse
+exch
+}if
+exch
+2 index 3 1 roll put
+}forall
+//CompleteImage exec
+dup/DataSource 2 copy get
+2 index//AppendFilters exec put
+//PDFR_DEBUG{
+(CompleteInlineImage end)=
+}if
+}bind def
+/CompleteOutlineImage
+{
+currentglobal exch dup gcheck setglobal
+//PDFR_DEBUG{
+(CompleteOutlineImage beg)=
+}if
+dup dup//MakeStreamReader exec/DataSource exch put
+dup/ImageType known not{
+//CompleteImage exec
+dup/ImageType 1 put
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//ResolveColorSpaceArray exec
+//SubstitutePDFColorSpace exec
+1 index exch/ColorSpace exch put
+}{
+pop
+}ifelse
+}if
+}if
+//PDFR_DEBUG{
+(CompleteOutlineImage end)=
+}if
+exch setglobal
+}bind def
+/DoImage
+{
+//PDFR_DEBUG{
+(DoImage beg)=
+}if
+gsave
+dup/ColorSpace//knownget exec{setcolorspace}if
+dup/ImageMask//knownget exec not{false}if
+{imagemask}{image}ifelse
+grestore
+//PDFR_DEBUG{
+(DoImage end)=
+}if
+}bind def
+/GSave
+{
+gsave
+//PDFReader/GraphicStateStackPointer get
+dup//GraphicStateStack exch get null eq{
+dup//GraphicStateStack exch//InitialGraphicState length dict put
+}if
+dup//GraphicStateStack exch get
+//GraphicState exch copy pop
+1 add//PDFReader exch/GraphicStateStackPointer exch put
+}bind def
+/GRestore
+{
+grestore
+//PDFReader/GraphicStateStackPointer get
+1 sub dup
+//PDFReader exch/GraphicStateStackPointer exch put
+//GraphicStateStack exch get
+//GraphicState copy pop
+}bind def
+/SetFont
+{dup//GraphicState exch/FontSize exch put
+//ResolveAndSetFont exec
+//GraphicState/FontMatrixNonHV currentfont/FontMatrix get 1 get 0 ne put
+}bind def
+/ShowText
+{//GraphicState/TextRenderingMode get 0 eq{
+//GraphicState/WordSpacing get 0
+32
+//GraphicState/CharacterSpacing get 0
+6 5 roll
+//GraphicState/FontMatrixNonHV get{
+[
+7 -2 roll pop
+5 -2 roll pop
+5 -1 roll
+{
+exch
+pop
+3 index add
+exch 2 index eq{3 index add}if
+4 1 roll
+}
+currentfont/FontMatrix get 0 get 0 ne{
+1 1 index length 1 sub getinterval cvx
+}if
+5 index
+cshow
+pop pop pop]
+xshow
+}{
+awidthshow
+}ifelse
+}{
+//GraphicState/CharacterSpacing get 0 eq
+//GraphicState/FontMatrixNonHV get not and
+//GraphicState/WordSpacing get 0 eq and{
+true charpath
+}{
+{
+exch
+pop 0
+currentpoint 5 4 roll
+( )dup 0 3 index put true charpath
+5 1 roll
+moveto rmoveto
+//GraphicState/CharacterSpacing get 0 rmoveto
+32 eq{
+//GraphicState/WordSpacing get 0 rmoveto
+}if
+}
+//GraphicState/FontMatrixNonHV get dup not exch{
+pop currentfont/FontMatrix get 0 get 0 ne
+}if{
+1 1 index length 1 sub getinterval cvx
+}if
+exch cshow
+}ifelse
+}ifelse
+}bind def
+/ShowTextBeg
+{//GraphicState/TextRenderingMode get 0 ne{
+currentpoint newpath moveto
+}if
+}bind def
+/ShowTextEnd
+{//GraphicState/TextRenderingMode get
+{dup 1 eq{
+stroke exit
+}if
+dup 2 eq{
+gsave fill grestore stroke exit
+}if
+dup 3 eq{
+currentpoint newpath moveto
+}if
+dup 4 eq{
+gsave fill grestore clip exit
+}if
+dup 5 eq{
+gsave stroke grestore clip exit
+}if
+dup 6 eq{
+gsave fill grestore gsave stroke grestore fill exit
+}if
+dup 7 eq{
+clip exit
+}if
+exit
+}loop
+pop
+}bind def
+/ShowTextWithGlyphPositioning
+{//ShowTextBeg exec
+{dup type/stringtype eq{
+//ShowText exec
+}{
+neg 1000 div//GraphicState/FontSize get mul 0 rmoveto
+}ifelse
+}forall
+//ShowTextEnd exec
+}bind def
+/CheckFont
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/SetTransfer
+{
+//PDFR_DEBUG{(SetTransfer beg )print count =}if
+dup type/arraytype eq 1 index xcheck not and{
+0 4 getinterval aload pop
+setcolortransfer
+}{
+settransfer
+}ifelse
+//PDFR_DEBUG{(SetTransfer end )print count =}if
+}bind def
+/CheckExtGState
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/CheckHalftone
+{dup/HalftoneType known not{
+mark(Resource )3 index( must have /HalftoneType.)//error exec
+}if
+}bind def
+/ResolveFunction
+{
+//PDFR_DEBUG{(ResolveFunction beg )print dup = count =}if
+2 copy get//IsObjRef exec{
+2 copy//DoNothing//ResolveD exec
+3 copy put pop
+}if
+2 copy get dup type/arraytype eq exch xcheck and not{
+2 copy get
+dup type/arraytype eq 1 index xcheck not and{
+dup length 1 sub -1 0{
+2 copy//DoNothing ResolveA
+dup/Identity eq{
+pop 2 copy{}put
+}{
+//FunctionToProc exec
+3 copy put pop
+}ifelse
+pop
+}for
+}{
+dup/Default eq{
+}{
+dup/Identity eq{
+pop{}
+}{dup type/nametype eq{
+//spotfunctions exch get
+}{
+//FunctionToProc exec
+}ifelse
+}ifelse
+}ifelse
+}ifelse
+3 copy put
+exch pop
+}{
+1 index exch get
+}ifelse
+//PDFR_DEBUG{(ResolveFunction end )print dup == count =}if
+}bind def
+/ResolveFunctionSafe
+{2 copy known{
+//ResolveFunction exec
+}if
+pop
+}bind def
+/CreateHalftoneThresholds
+{
+dup/Thresholds known not{
+dup/HalftoneType get 10 eq{
+dup dup//MakeStreamReader exec
+/Thresholds exch put
+}if
+dup/HalftoneType get dup 3 eq exch 6 eq or{
+dup dup//MakeStreamReader exec
+//BlockBuffer readstring pop
+dup length
+dup 0 eq{
+mark(Could not read Thresholds)//error exec
+}if
+string copy/Thresholds exch put
+dup/HalftoneType 3 put
+}if
+}if
+}bind def
+/SetExtGState
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/ExtGState//DoNothing//ResolveD exec
+exch//CheckExtGState//ResolveD exec
+dup/LW//knownget exec{
+setlinewidth
+}if
+dup/LC//knownget exec{
+setlinecap
+}if
+dup/LJ//knownget exec{
+setlinejoin
+}if
+dup/ML//knownget exec{
+setmeterlimit
+}if
+dup/D//knownget exec{
+setdash
+}if
+dup/RI//knownget exec{
+mark(Unimplemented ExtGState.RI)//error exec
+}if
+dup/OP//knownget exec{
+setoverprint
+}if
+dup/op//knownget exec{
+setoverprint
+}if
+dup/OPM//knownget exec{
+mark(Unimplemented ExtGState.OPM)//error exec
+}if
+dup/Font//knownget exec{
+mark(Unimplemented ExtGState.Font)//error exec
+}if
+dup/BG known{
+/BG//ResolveFunction exec
+setblackgeneration
+}if
+dup/BG2 known{
+/BG2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/BG2 get
+}if
+setblackgeneration
+}if
+dup/UCR known{
+/UCR//ResolveFunction exec
+setundercolorremoval
+}if
+dup/UCR2 known{
+/UCR2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/UCR2 get
+}if
+setundercolorremoval
+}if
+dup/TR known{
+/TR//ResolveFunction exec
+//SetTransfer exec
+}if
+dup/TR2 known{
+/TR2//ResolveFunction exec
+dup/Default eq{
+pop//InitialExtGState/TR2 get
+aload pop setcolortransfer
+}{
+//SetTransfer exec
+}ifelse
+}if
+dup/HT//knownget exec{
+dup/Default eq{
+pop//InitialExtGState/HT get
+sethalftone
+}{
+//PDFR_DEBUG{(Ht beg)=}if
+pop dup/HT//CheckHalftone//ResolveD exec
+/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+null exch
+dup/HalftoneType get dup 5 eq exch dup 4 eq exch 2 eq or or{
+dup{
+dup//IsObjRef exec{
+pop
+1 index exch//CheckHalftone ResolveD
+}if
+dup type/dicttype eq{
+dup/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+//CreateHalftoneThresholds exec
+dup/HalftoneType get 5 gt{
+4 3 roll pop
+dup 4 1 roll
+}if
+}if
+pop pop
+}forall
+}if
+//CreateHalftoneThresholds exec
+//PDFR_DEBUG{
+(HT:)=
+dup{
+1 index/Default eq{
+(Default <<)=
+exch pop
+{exch = ==}forall
+(>>)=
+}{
+exch = ==
+}ifelse
+}forall
+(HT end)= flush
+}if
+exch dup null ne{
+(Warning: Ignoring a halftone with a Level 3 component halftone Type )print dup/HalftoneType get =
+pop pop
+}{
+pop
+dup/HalftoneType get 5 gt{
+(Warning: Ignoring a Level 3 halftone Type )print dup/HalftoneType get =
+pop
+}{
+sethalftone
+}ifelse
+}ifelse
+//PDFR_DEBUG{(HT set)= flush}if
+}ifelse
+}if
+dup/FL//knownget exec{
+setflattness
+}if
+dup/SM//knownget exec{
+setsmoothness
+}if
+dup/SA//knownget exec{
+setstrokeadjust
+}if
+dup/BM//knownget exec{
+mark(Unimplemented ExtGState.BM)//error exec
+}if
+dup/SMask//knownget exec{
+mark(Unimplemented ExtGState.SMask)//error exec
+}if
+dup/CA//knownget exec{
+mark(Unimplemented ExtGState.CA)//error exec
+}if
+dup/ca//knownget exec{
+mark(Unimplemented ExtGState.ca)//error exec
+}if
+dup/AIS//knownget exec{
+mark(Unimplemented ExtGState.AIS)//error exec
+}if
+dup/TK//knownget exec{
+mark(Unimplemented ExtGState.TK)//error exec
+}if
+pop
+}bind def
+/CheckXObject
+{dup/Subtype get dup/Image ne exch dup/Form ne exch/PS ne and and{
+mark(Resource )3 index( must have /Subtype /Image or /Form or /PS.)//error exec
+}if
+}bind def
+/DoXObject
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/XObject//DoNothing//ResolveD exec
+exch//CheckXObject//ResolveD exec
+dup/Subtype get
+dup/Image eq{
+pop
+//CompleteOutlineImage exec
+//DoImage exec
+}{
+dup/PS eq{
+PDFR_DEBUG{
+(Executing a PS Xobject)=
+}if
+pop
+//RunDelayedStream exec
+}{
+dup/Form eq{
+pop
+PDFR_DEBUG{
+(Executing a Form XObject)=
+}if
+//PDFReader/CurrentObject get exch
+dup//PDFReader exch<< exch/Context exch >>/CurrentObject exch put
+dup/Matrix get concat
+dup/BBox get aload pop exch 3 index sub exch 2 index sub rectclip
+//RunDelayedStream exec
+//PDFReader exch/CurrentObject exch put
+}{
+mark exch(unimplemented XObject type )exch//error exec
+}ifelse
+}ifelse
+}ifelse
+}bind def
+/Operators 50 dict begin
+/q{//GSave exec}bind def
+/Q{//GRestore exec}bind def
+/cm{//TempMatrix astore concat}bind def
+/i{1 .min setflat}bind def
+/J/setlinecap load def
+/d/setdash load def
+/j/setlinejoin load def
+/w/setlinewidth load def
+/M/setmiterlimit load def
+/gs{SetExtGState}bind def
+/g/setgray load def
+/rg/setrgbcolor load def
+/k/setcmykcolor load def
+/cs{//ResolveColorSpace exec//SetColorSpaceSafe exec
+}bind def
+/sc/setcolor load def
+/scn{//SetColor exec}bind def
+/G/setgray load def
+/RG/setrgbcolor load def
+/K/setcmykcolor load def
+/CS//cs def
+/ri{SetColorRenderingIntent}bind def
+/SC/setcolor load def
+/SCN{//SetColor exec}bind def
+/m/moveto load def
+/l/lineto load def
+/c/curveto load def
+/v{currentpoint 6 2 roll curveto}bind def
+/y{2 copy curveto}bind def
+/re{
+4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
+closepath
+}def
+/h/closepath load def
+/n/newpath load def
+/S/stroke load def
+/s{closepath stroke}bind def
+/f/fill load def
+/f*/eofill load def
+/B{gsave fill grestore stroke}bind def
+/b{closepath gsave fill grestore stroke}bind def
+/B*{gsave eofill grestore stroke}bind def
+/b*{closepath gsave eofill grestore stroke}bind def
+/W/clip load def
+/W*/eoclip load def
+/sh{
+ResolveShading
+dup/Background known{
+gsave
+dup/ColorSpace get setcolorspace
+dup/Background get aload pop setcolor
+pathbbox
+2 index sub exch 3 index sub exch
+rectfill
+grestore
+}if
+shfill
+}bind def
+/Do{//DoXObject exec}bind def
+/BI{currentglobal false setglobal<<}bind def
+/ID{>>
+dup/DataSource currentfile
+2 index/F//knownget exec{
+/A85 eq{
+0(~>)/SubFileDecode filter
+}if
+}if
+put
+//CompleteInlineImage exec
+exch setglobal
+//DoImage exec
+}bind def
+/EI{}bind def
+/BT{gsave//GraphicState/InitialTextMatrix get currentmatrix pop}bind def
+/ET{grestore}bind def
+/Tc{//GraphicState exch/CharacterSpacing exch put}bind def
+/TL{//GraphicState exch/TextLeading exch put}bind def
+/Tr{//GraphicState exch/TextRenderingMode exch put}bind def
+/Ts{
+mark(Unimplemented SetTextRise)//error exec
+}bind def
+/Tw{//GraphicState exch/WordSpacing exch put}bind def
+/Tz{
+mark(Unimplemented SetHorizontalTextScaling)//error exec
+}bind def
+/Td{translate 0 0 moveto}bind def
+/TD{dup neg//TL exec//Td exec}bind def
+/Tm{//GraphicState/InitialTextMatrix get setmatrix
+//TempMatrix astore concat
+0 0 moveto}bind def
+/T*{0//GraphicState/TextLeading get neg//Td exec}bind def
+/Tj{//ShowTextBeg exec//ShowText exec//ShowTextEnd exec}bind def
+/'{//T* exec//ShowText exec//ShowTextEnd exec}bind def
+/"{3 2 roll//Tw exec exch//Tc exec//' exec}bind def
+/TJ//ShowTextWithGlyphPositioning def
+/Tf//SetFont def
+/d0/setcharwidth load def
+/d1/setcachedevice load def
+/BDC{pop pop}bind def
+/BMC{pop}bind def
+/EMC{}bind def
+/BX{BeginCompatibilitySection}bind def
+/EX{EndCompatibilitySection}bind def
+/DP{DefineMarkedContentPointWithPropertyList}bind def
+/MP{DefineMarkedContentPoint}bind def
+/PS{cvx exec}bind def
+currentdict end def
+//PDFR_STREAM{
+//Operators length dict begin
+//Operators{
+exch dup
+[exch//=only/exec load
+( )/print load
+8 7 roll
+dup type/arraytype eq{
+/exec load
+}if
+( )/print load
+]cvx
+def
+}forall
+currentdict end/Operators exch def
+}if
+/.registerencoding
+{pop pop
+}bind def
+/.defineencoding
+{def
+}bind def
+/.findencoding
+{load
+}bind def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+256 packedarray
+5 1 index .registerencoding
+.defineencoding
+exec
+/AdobeGlyphList mark
+/A 16#0041
+/AE 16#00c6
+/AEacute 16#01fc
+/AEmacron 16#01e2
+/AEsmall 16#f7e6
+/Aacute 16#00c1
+/Aacutesmall 16#f7e1
+/Abreve 16#0102
+/Abreveacute 16#1eae
+/Abrevecyrillic 16#04d0
+/Abrevedotbelow 16#1eb6
+/Abrevegrave 16#1eb0
+/Abrevehookabove 16#1eb2
+/Abrevetilde 16#1eb4
+/Acaron 16#01cd
+/Acircle 16#24b6
+/Acircumflex 16#00c2
+/Acircumflexacute 16#1ea4
+/Acircumflexdotbelow 16#1eac
+/Acircumflexgrave 16#1ea6
+/Acircumflexhookabove 16#1ea8
+/Acircumflexsmall 16#f7e2
+/Acircumflextilde 16#1eaa
+/Acute 16#f6c9
+/Acutesmall 16#f7b4
+/Acyrillic 16#0410
+/Adblgrave 16#0200
+/Adieresis 16#00c4
+/Adieresiscyrillic 16#04d2
+/Adieresismacron 16#01de
+/Adieresissmall 16#f7e4
+/Adotbelow 16#1ea0
+/Adotmacron 16#01e0
+/Agrave 16#00c0
+/Agravesmall 16#f7e0
+/Ahookabove 16#1ea2
+/Aiecyrillic 16#04d4
+/Ainvertedbreve 16#0202
+/Alpha 16#0391
+/Alphatonos 16#0386
+/Amacron 16#0100
+/Amonospace 16#ff21
+/Aogonek 16#0104
+/Aring 16#00c5
+/Aringacute 16#01fa
+/Aringbelow 16#1e00
+/Aringsmall 16#f7e5
+/Asmall 16#f761
+/Atilde 16#00c3
+/Atildesmall 16#f7e3
+/Aybarmenian 16#0531
+/B 16#0042
+/Bcircle 16#24b7
+/Bdotaccent 16#1e02
+/Bdotbelow 16#1e04
+/Becyrillic 16#0411
+/Benarmenian 16#0532
+/Beta 16#0392
+/Bhook 16#0181
+/Blinebelow 16#1e06
+/Bmonospace 16#ff22
+/Brevesmall 16#f6f4
+/Bsmall 16#f762
+/Btopbar 16#0182
+/C 16#0043
+/Caarmenian 16#053e
+/Cacute 16#0106
+/Caron 16#f6ca
+/Caronsmall 16#f6f5
+/Ccaron 16#010c
+/Ccedilla 16#00c7
+/Ccedillaacute 16#1e08
+/Ccedillasmall 16#f7e7
+/Ccircle 16#24b8
+/Ccircumflex 16#0108
+/Cdot 16#010a
+/Cdotaccent 16#010a
+/Cedillasmall 16#f7b8
+/Chaarmenian 16#0549
+/Cheabkhasiancyrillic 16#04bc
+/Checyrillic 16#0427
+/Chedescenderabkhasiancyrillic 16#04be
+/Chedescendercyrillic 16#04b6
+/Chedieresiscyrillic 16#04f4
+/Cheharmenian 16#0543
+/Chekhakassiancyrillic 16#04cb
+/Cheverticalstrokecyrillic 16#04b8
+/Chi 16#03a7
+/Chook 16#0187
+/Circumflexsmall 16#f6f6
+/Cmonospace 16#ff23
+/Coarmenian 16#0551
+/Csmall 16#f763
+/D 16#0044
+/DZ 16#01f1
+/DZcaron 16#01c4
+/Daarmenian 16#0534
+/Dafrican 16#0189
+/Dcaron 16#010e
+/Dcedilla 16#1e10
+/Dcircle 16#24b9
+/Dcircumflexbelow 16#1e12
+/Dcroat 16#0110
+/Ddotaccent 16#1e0a
+/Ddotbelow 16#1e0c
+/Decyrillic 16#0414
+/Deicoptic 16#03ee
+/Delta 16#2206
+/Deltagreek 16#0394
+/Dhook 16#018a
+/Dieresis 16#f6cb
+/DieresisAcute 16#f6cc
+/DieresisGrave 16#f6cd
+/Dieresissmall 16#f7a8
+/Digammagreek 16#03dc
+/Djecyrillic 16#0402
+/Dlinebelow 16#1e0e
+/Dmonospace 16#ff24
+/Dotaccentsmall 16#f6f7
+/Dslash 16#0110
+/Dsmall 16#f764
+/Dtopbar 16#018b
+/Dz 16#01f2
+/Dzcaron 16#01c5
+/Dzeabkhasiancyrillic 16#04e0
+/Dzecyrillic 16#0405
+/Dzhecyrillic 16#040f
+/E 16#0045
+/Eacute 16#00c9
+/Eacutesmall 16#f7e9
+/Ebreve 16#0114
+/Ecaron 16#011a
+/Ecedillabreve 16#1e1c
+/Echarmenian 16#0535
+/Ecircle 16#24ba
+/Ecircumflex 16#00ca
+/Ecircumflexacute 16#1ebe
+/Ecircumflexbelow 16#1e18
+/Ecircumflexdotbelow 16#1ec6
+/Ecircumflexgrave 16#1ec0
+/Ecircumflexhookabove 16#1ec2
+/Ecircumflexsmall 16#f7ea
+/Ecircumflextilde 16#1ec4
+/Ecyrillic 16#0404
+/Edblgrave 16#0204
+/Edieresis 16#00cb
+/Edieresissmall 16#f7eb
+/Edot 16#0116
+/Edotaccent 16#0116
+/Edotbelow 16#1eb8
+/Efcyrillic 16#0424
+/Egrave 16#00c8
+/Egravesmall 16#f7e8
+/Eharmenian 16#0537
+/Ehookabove 16#1eba
+/Eightroman 16#2167
+/Einvertedbreve 16#0206
+/Eiotifiedcyrillic 16#0464
+/Elcyrillic 16#041b
+/Elevenroman 16#216a
+/Emacron 16#0112
+/Emacronacute 16#1e16
+/Emacrongrave 16#1e14
+/Emcyrillic 16#041c
+/Emonospace 16#ff25
+/Encyrillic 16#041d
+/Endescendercyrillic 16#04a2
+/Eng 16#014a
+/Enghecyrillic 16#04a4
+/Enhookcyrillic 16#04c7
+/Eogonek 16#0118
+/Eopen 16#0190
+/Epsilon 16#0395
+/Epsilontonos 16#0388
+/Ercyrillic 16#0420
+/Ereversed 16#018e
+/Ereversedcyrillic 16#042d
+/Escyrillic 16#0421
+/Esdescendercyrillic 16#04aa
+/Esh 16#01a9
+/Esmall 16#f765
+/Eta 16#0397
+/Etarmenian 16#0538
+/Etatonos 16#0389
+/Eth 16#00d0
+/Ethsmall 16#f7f0
+/Etilde 16#1ebc
+/Etildebelow 16#1e1a
+/Euro 16#20ac
+/Ezh 16#01b7
+/Ezhcaron 16#01ee
+/Ezhreversed 16#01b8
+/F 16#0046
+/Fcircle 16#24bb
+/Fdotaccent 16#1e1e
+/Feharmenian 16#0556
+/Feicoptic 16#03e4
+/Fhook 16#0191
+/Fitacyrillic 16#0472
+/Fiveroman 16#2164
+/Fmonospace 16#ff26
+/Fourroman 16#2163
+/Fsmall 16#f766
+/G 16#0047
+/GBsquare 16#3387
+/Gacute 16#01f4
+/Gamma 16#0393
+/Gammaafrican 16#0194
+/Gangiacoptic 16#03ea
+/Gbreve 16#011e
+/Gcaron 16#01e6
+/Gcedilla 16#0122
+/Gcircle 16#24bc
+/Gcircumflex 16#011c
+/Gcommaaccent 16#0122
+/Gdot 16#0120
+/Gdotaccent 16#0120
+/Gecyrillic 16#0413
+/Ghadarmenian 16#0542
+/Ghemiddlehookcyrillic 16#0494
+/Ghestrokecyrillic 16#0492
+/Gheupturncyrillic 16#0490
+/Ghook 16#0193
+/Gimarmenian 16#0533
+/Gjecyrillic 16#0403
+/Gmacron 16#1e20
+/Gmonospace 16#ff27
+/Grave 16#f6ce
+/Gravesmall 16#f760
+/Gsmall 16#f767
+/Gsmallhook 16#029b
+/Gstroke 16#01e4
+/H 16#0048
+/H18533 16#25cf
+/H18543 16#25aa
+/H18551 16#25ab
+/H22073 16#25a1
+/HPsquare 16#33cb
+/Haabkhasiancyrillic 16#04a8
+/Hadescendercyrillic 16#04b2
+/Hardsigncyrillic 16#042a
+/Hbar 16#0126
+/Hbrevebelow 16#1e2a
+/Hcedilla 16#1e28
+/Hcircle 16#24bd
+/Hcircumflex 16#0124
+/Hdieresis 16#1e26
+/Hdotaccent 16#1e22
+/Hdotbelow 16#1e24
+/Hmonospace 16#ff28
+/Hoarmenian 16#0540
+/Horicoptic 16#03e8
+/Hsmall 16#f768
+/Hungarumlaut 16#f6cf
+/Hungarumlautsmall 16#f6f8
+/Hzsquare 16#3390
+/I 16#0049
+/IAcyrillic 16#042f
+/IJ 16#0132
+/IUcyrillic 16#042e
+/Iacute 16#00cd
+/Iacutesmall 16#f7ed
+/Ibreve 16#012c
+/Icaron 16#01cf
+/Icircle 16#24be
+/Icircumflex 16#00ce
+/Icircumflexsmall 16#f7ee
+/Icyrillic 16#0406
+/Idblgrave 16#0208
+/Idieresis 16#00cf
+/Idieresisacute 16#1e2e
+/Idieresiscyrillic 16#04e4
+/Idieresissmall 16#f7ef
+/Idot 16#0130
+/Idotaccent 16#0130
+/Idotbelow 16#1eca
+/Iebrevecyrillic 16#04d6
+/Iecyrillic 16#0415
+/Ifraktur 16#2111
+/Igrave 16#00cc
+/Igravesmall 16#f7ec
+/Ihookabove 16#1ec8
+/Iicyrillic 16#0418
+/Iinvertedbreve 16#020a
+/Iishortcyrillic 16#0419
+/Imacron 16#012a
+/Imacroncyrillic 16#04e2
+/Imonospace 16#ff29
+/Iniarmenian 16#053b
+/Iocyrillic 16#0401
+/Iogonek 16#012e
+/Iota 16#0399
+/Iotaafrican 16#0196
+/Iotadieresis 16#03aa
+/Iotatonos 16#038a
+/Ismall 16#f769
+/Istroke 16#0197
+/Itilde 16#0128
+/Itildebelow 16#1e2c
+/Izhitsacyrillic 16#0474
+/Izhitsadblgravecyrillic 16#0476
+/J 16#004a
+/Jaarmenian 16#0541
+/Jcircle 16#24bf
+/Jcircumflex 16#0134
+/Jecyrillic 16#0408
+/Jheharmenian 16#054b
+/Jmonospace 16#ff2a
+/Jsmall 16#f76a
+/K 16#004b
+/KBsquare 16#3385
+/KKsquare 16#33cd
+/Kabashkircyrillic 16#04a0
+/Kacute 16#1e30
+/Kacyrillic 16#041a
+/Kadescendercyrillic 16#049a
+/Kahookcyrillic 16#04c3
+/Kappa 16#039a
+/Kastrokecyrillic 16#049e
+/Kaverticalstrokecyrillic 16#049c
+/Kcaron 16#01e8
+/Kcedilla 16#0136
+/Kcircle 16#24c0
+/Kcommaaccent 16#0136
+/Kdotbelow 16#1e32
+/Keharmenian 16#0554
+/Kenarmenian 16#053f
+/Khacyrillic 16#0425
+/Kheicoptic 16#03e6
+/Khook 16#0198
+/Kjecyrillic 16#040c
+/Klinebelow 16#1e34
+/Kmonospace 16#ff2b
+/Koppacyrillic 16#0480
+/Koppagreek 16#03de
+/Ksicyrillic 16#046e
+/Ksmall 16#f76b
+/L 16#004c
+/LJ 16#01c7
+/LL 16#f6bf
+/Lacute 16#0139
+/Lambda 16#039b
+/Lcaron 16#013d
+/Lcedilla 16#013b
+/Lcircle 16#24c1
+/Lcircumflexbelow 16#1e3c
+/Lcommaaccent 16#013b
+/Ldot 16#013f
+/Ldotaccent 16#013f
+/Ldotbelow 16#1e36
+/Ldotbelowmacron 16#1e38
+/Liwnarmenian 16#053c
+/Lj 16#01c8
+/Ljecyrillic 16#0409
+/Llinebelow 16#1e3a
+/Lmonospace 16#ff2c
+/Lslash 16#0141
+/Lslashsmall 16#f6f9
+/Lsmall 16#f76c
+/M 16#004d
+/MBsquare 16#3386
+/Macron 16#f6d0
+/Macronsmall 16#f7af
+/Macute 16#1e3e
+/Mcircle 16#24c2
+/Mdotaccent 16#1e40
+/Mdotbelow 16#1e42
+/Menarmenian 16#0544
+/Mmonospace 16#ff2d
+/Msmall 16#f76d
+/Mturned 16#019c
+/Mu 16#039c
+/N 16#004e
+/NJ 16#01ca
+/Nacute 16#0143
+/Ncaron 16#0147
+/Ncedilla 16#0145
+/Ncircle 16#24c3
+/Ncircumflexbelow 16#1e4a
+/Ncommaaccent 16#0145
+/Ndotaccent 16#1e44
+/Ndotbelow 16#1e46
+/Nhookleft 16#019d
+/Nineroman 16#2168
+/Nj 16#01cb
+/Njecyrillic 16#040a
+/Nlinebelow 16#1e48
+/Nmonospace 16#ff2e
+/Nowarmenian 16#0546
+/Nsmall 16#f76e
+/Ntilde 16#00d1
+/Ntildesmall 16#f7f1
+/Nu 16#039d
+/O 16#004f
+/OE 16#0152
+/OEsmall 16#f6fa
+/Oacute 16#00d3
+/Oacutesmall 16#f7f3
+/Obarredcyrillic 16#04e8
+/Obarreddieresiscyrillic 16#04ea
+/Obreve 16#014e
+/Ocaron 16#01d1
+/Ocenteredtilde 16#019f
+/Ocircle 16#24c4
+/Ocircumflex 16#00d4
+/Ocircumflexacute 16#1ed0
+/Ocircumflexdotbelow 16#1ed8
+/Ocircumflexgrave 16#1ed2
+/Ocircumflexhookabove 16#1ed4
+/Ocircumflexsmall 16#f7f4
+/Ocircumflextilde 16#1ed6
+/Ocyrillic 16#041e
+/Odblacute 16#0150
+/Odblgrave 16#020c
+/Odieresis 16#00d6
+/Odieresiscyrillic 16#04e6
+/Odieresissmall 16#f7f6
+/Odotbelow 16#1ecc
+/Ogoneksmall 16#f6fb
+/Ograve 16#00d2
+/Ogravesmall 16#f7f2
+/Oharmenian 16#0555
+/Ohm 16#2126
+/Ohookabove 16#1ece
+/Ohorn 16#01a0
+/Ohornacute 16#1eda
+/Ohorndotbelow 16#1ee2
+/Ohorngrave 16#1edc
+/Ohornhookabove 16#1ede
+/Ohorntilde 16#1ee0
+/Ohungarumlaut 16#0150
+/Oi 16#01a2
+/Oinvertedbreve 16#020e
+/Omacron 16#014c
+/Omacronacute 16#1e52
+/Omacrongrave 16#1e50
+/Omega 16#2126
+/Omegacyrillic 16#0460
+/Omegagreek 16#03a9
+/Omegaroundcyrillic 16#047a
+/Omegatitlocyrillic 16#047c
+/Omegatonos 16#038f
+/Omicron 16#039f
+/Omicrontonos 16#038c
+/Omonospace 16#ff2f
+/Oneroman 16#2160
+/Oogonek 16#01ea
+/Oogonekmacron 16#01ec
+/Oopen 16#0186
+/Oslash 16#00d8
+/Oslashacute 16#01fe
+/Oslashsmall 16#f7f8
+/Osmall 16#f76f
+/Ostrokeacute 16#01fe
+/Otcyrillic 16#047e
+/Otilde 16#00d5
+/Otildeacute 16#1e4c
+/Otildedieresis 16#1e4e
+/Otildesmall 16#f7f5
+/P 16#0050
+/Pacute 16#1e54
+/Pcircle 16#24c5
+/Pdotaccent 16#1e56
+/Pecyrillic 16#041f
+/Peharmenian 16#054a
+/Pemiddlehookcyrillic 16#04a6
+/Phi 16#03a6
+/Phook 16#01a4
+/Pi 16#03a0
+/Piwrarmenian 16#0553
+/Pmonospace 16#ff30
+/Psi 16#03a8
+/Psicyrillic 16#0470
+/Psmall 16#f770
+/Q 16#0051
+/Qcircle 16#24c6
+/Qmonospace 16#ff31
+/Qsmall 16#f771
+/R 16#0052
+/Raarmenian 16#054c
+/Racute 16#0154
+/Rcaron 16#0158
+/Rcedilla 16#0156
+/Rcircle 16#24c7
+/Rcommaaccent 16#0156
+/Rdblgrave 16#0210
+/Rdotaccent 16#1e58
+/Rdotbelow 16#1e5a
+/Rdotbelowmacron 16#1e5c
+/Reharmenian 16#0550
+/Rfraktur 16#211c
+/Rho 16#03a1
+/Ringsmall 16#f6fc
+/Rinvertedbreve 16#0212
+/Rlinebelow 16#1e5e
+/Rmonospace 16#ff32
+/Rsmall 16#f772
+/Rsmallinverted 16#0281
+/Rsmallinvertedsuperior 16#02b6
+/S 16#0053
+/SF010000 16#250c
+/SF020000 16#2514
+/SF030000 16#2510
+/SF040000 16#2518
+/SF050000 16#253c
+/SF060000 16#252c
+/SF070000 16#2534
+/SF080000 16#251c
+/SF090000 16#2524
+/SF100000 16#2500
+/SF110000 16#2502
+/SF190000 16#2561
+/SF200000 16#2562
+/SF210000 16#2556
+/SF220000 16#2555
+/SF230000 16#2563
+/SF240000 16#2551
+/SF250000 16#2557
+/SF260000 16#255d
+/SF270000 16#255c
+/SF280000 16#255b
+/SF360000 16#255e
+/SF370000 16#255f
+/SF380000 16#255a
+/SF390000 16#2554
+/SF400000 16#2569
+/SF410000 16#2566
+/SF420000 16#2560
+/SF430000 16#2550
+/SF440000 16#256c
+/SF450000 16#2567
+/SF460000 16#2568
+/SF470000 16#2564
+/SF480000 16#2565
+/SF490000 16#2559
+/SF500000 16#2558
+/SF510000 16#2552
+/SF520000 16#2553
+/SF530000 16#256b
+/SF540000 16#256a
+/Sacute 16#015a
+/Sacutedotaccent 16#1e64
+/Sampigreek 16#03e0
+/Scaron 16#0160
+/Scarondotaccent 16#1e66
+/Scaronsmall 16#f6fd
+/Scedilla 16#015e
+/Schwa 16#018f
+/Schwacyrillic 16#04d8
+/Schwadieresiscyrillic 16#04da
+/Scircle 16#24c8
+/Scircumflex 16#015c
+/Scommaaccent 16#0218
+/Sdotaccent 16#1e60
+/Sdotbelow 16#1e62
+/Sdotbelowdotaccent 16#1e68
+/Seharmenian 16#054d
+/Sevenroman 16#2166
+/Shaarmenian 16#0547
+/Shacyrillic 16#0428
+/Shchacyrillic 16#0429
+/Sheicoptic 16#03e2
+/Shhacyrillic 16#04ba
+/Shimacoptic 16#03ec
+/Sigma 16#03a3
+/Sixroman 16#2165
+/Smonospace 16#ff33
+/Softsigncyrillic 16#042c
+/Ssmall 16#f773
+/Stigmagreek 16#03da
+/T 16#0054
+/Tau 16#03a4
+/Tbar 16#0166
+/Tcaron 16#0164
+/Tcedilla 16#0162
+/Tcircle 16#24c9
+/Tcircumflexbelow 16#1e70
+/Tcommaaccent 16#0162
+/Tdotaccent 16#1e6a
+/Tdotbelow 16#1e6c
+/Tecyrillic 16#0422
+/Tedescendercyrillic 16#04ac
+/Tenroman 16#2169
+/Tetsecyrillic 16#04b4
+/Theta 16#0398
+/Thook 16#01ac
+/Thorn 16#00de
+/Thornsmall 16#f7fe
+/Threeroman 16#2162
+/Tildesmall 16#f6fe
+/Tiwnarmenian 16#054f
+/Tlinebelow 16#1e6e
+/Tmonospace 16#ff34
+/Toarmenian 16#0539
+/Tonefive 16#01bc
+/Tonesix 16#0184
+/Tonetwo 16#01a7
+/Tretroflexhook 16#01ae
+/Tsecyrillic 16#0426
+/Tshecyrillic 16#040b
+/Tsmall 16#f774
+/Twelveroman 16#216b
+/Tworoman 16#2161
+/U 16#0055
+/Uacute 16#00da
+/Uacutesmall 16#f7fa
+/Ubreve 16#016c
+/Ucaron 16#01d3
+/Ucircle 16#24ca
+/Ucircumflex 16#00db
+/Ucircumflexbelow 16#1e76
+/Ucircumflexsmall 16#f7fb
+/Ucyrillic 16#0423
+/Udblacute 16#0170
+/Udblgrave 16#0214
+/Udieresis 16#00dc
+/Udieresisacute 16#01d7
+/Udieresisbelow 16#1e72
+/Udieresiscaron 16#01d9
+/Udieresiscyrillic 16#04f0
+/Udieresisgrave 16#01db
+/Udieresismacron 16#01d5
+/Udieresissmall 16#f7fc
+/Udotbelow 16#1ee4
+/Ugrave 16#00d9
+/Ugravesmall 16#f7f9
+/Uhookabove 16#1ee6
+/Uhorn 16#01af
+/Uhornacute 16#1ee8
+/Uhorndotbelow 16#1ef0
+/Uhorngrave 16#1eea
+/Uhornhookabove 16#1eec
+/Uhorntilde 16#1eee
+/Uhungarumlaut 16#0170
+/Uhungarumlautcyrillic 16#04f2
+/Uinvertedbreve 16#0216
+/Ukcyrillic 16#0478
+/Umacron 16#016a
+/Umacroncyrillic 16#04ee
+/Umacrondieresis 16#1e7a
+/Umonospace 16#ff35
+/Uogonek 16#0172
+/Upsilon 16#03a5
+/Upsilon1 16#03d2
+/Upsilonacutehooksymbolgreek 16#03d3
+/Upsilonafrican 16#01b1
+/Upsilondieresis 16#03ab
+/Upsilondieresishooksymbolgreek 16#03d4
+/Upsilonhooksymbol 16#03d2
+/Upsilontonos 16#038e
+/Uring 16#016e
+/Ushortcyrillic 16#040e
+/Usmall 16#f775
+/Ustraightcyrillic 16#04ae
+/Ustraightstrokecyrillic 16#04b0
+/Utilde 16#0168
+/Utildeacute 16#1e78
+/Utildebelow 16#1e74
+/V 16#0056
+/Vcircle 16#24cb
+/Vdotbelow 16#1e7e
+/Vecyrillic 16#0412
+/Vewarmenian 16#054e
+/Vhook 16#01b2
+/Vmonospace 16#ff36
+/Voarmenian 16#0548
+/Vsmall 16#f776
+/Vtilde 16#1e7c
+/W 16#0057
+/Wacute 16#1e82
+/Wcircle 16#24cc
+/Wcircumflex 16#0174
+/Wdieresis 16#1e84
+/Wdotaccent 16#1e86
+/Wdotbelow 16#1e88
+/Wgrave 16#1e80
+/Wmonospace 16#ff37
+/Wsmall 16#f777
+/X 16#0058
+/Xcircle 16#24cd
+/Xdieresis 16#1e8c
+/Xdotaccent 16#1e8a
+/Xeharmenian 16#053d
+/Xi 16#039e
+/Xmonospace 16#ff38
+/Xsmall 16#f778
+/Y 16#0059
+/Yacute 16#00dd
+/Yacutesmall 16#f7fd
+/Yatcyrillic 16#0462
+/Ycircle 16#24ce
+/Ycircumflex 16#0176
+/Ydieresis 16#0178
+/Ydieresissmall 16#f7ff
+/Ydotaccent 16#1e8e
+/Ydotbelow 16#1ef4
+/Yericyrillic 16#042b
+/Yerudieresiscyrillic 16#04f8
+/Ygrave 16#1ef2
+/Yhook 16#01b3
+/Yhookabove 16#1ef6
+/Yiarmenian 16#0545
+/Yicyrillic 16#0407
+/Yiwnarmenian 16#0552
+/Ymonospace 16#ff39
+/Ysmall 16#f779
+/Ytilde 16#1ef8
+/Yusbigcyrillic 16#046a
+/Yusbigiotifiedcyrillic 16#046c
+/Yuslittlecyrillic 16#0466
+/Yuslittleiotifiedcyrillic 16#0468
+/Z 16#005a
+/Zaarmenian 16#0536
+/Zacute 16#0179
+/Zcaron 16#017d
+/Zcaronsmall 16#f6ff
+/Zcircle 16#24cf
+/Zcircumflex 16#1e90
+/Zdot 16#017b
+/Zdotaccent 16#017b
+/Zdotbelow 16#1e92
+/Zecyrillic 16#0417
+/Zedescendercyrillic 16#0498
+/Zedieresiscyrillic 16#04de
+/Zeta 16#0396
+/Zhearmenian 16#053a
+/Zhebrevecyrillic 16#04c1
+/Zhecyrillic 16#0416
+/Zhedescendercyrillic 16#0496
+/Zhedieresiscyrillic 16#04dc
+/Zlinebelow 16#1e94
+/Zmonospace 16#ff3a
+/Zsmall 16#f77a
+/Zstroke 16#01b5
+/a 16#0061
+/aabengali 16#0986
+/aacute 16#00e1
+/aadeva 16#0906
+/aagujarati 16#0a86
+/aagurmukhi 16#0a06
+/aamatragurmukhi 16#0a3e
+/aarusquare 16#3303
+/aavowelsignbengali 16#09be
+/aavowelsigndeva 16#093e
+/aavowelsigngujarati 16#0abe
+/abbreviationmarkarmenian 16#055f
+/abbreviationsigndeva 16#0970
+/abengali 16#0985
+/abopomofo 16#311a
+/abreve 16#0103
+/abreveacute 16#1eaf
+/abrevecyrillic 16#04d1
+/abrevedotbelow 16#1eb7
+/abrevegrave 16#1eb1
+/abrevehookabove 16#1eb3
+/abrevetilde 16#1eb5
+/acaron 16#01ce
+/acircle 16#24d0
+/acircumflex 16#00e2
+/acircumflexacute 16#1ea5
+/acircumflexdotbelow 16#1ead
+/acircumflexgrave 16#1ea7
+/acircumflexhookabove 16#1ea9
+/acircumflextilde 16#1eab
+/acute 16#00b4
+/acutebelowcmb 16#0317
+/acutecmb 16#0301
+/acutecomb 16#0301
+/acutedeva 16#0954
+/acutelowmod 16#02cf
+/acutetonecmb 16#0341
+/acyrillic 16#0430
+/adblgrave 16#0201
+/addakgurmukhi 16#0a71
+/adeva 16#0905
+/adieresis 16#00e4
+/adieresiscyrillic 16#04d3
+/adieresismacron 16#01df
+/adotbelow 16#1ea1
+/adotmacron 16#01e1
+/ae 16#00e6
+/aeacute 16#01fd
+/aekorean 16#3150
+/aemacron 16#01e3
+/afii00208 16#2015
+/afii08941 16#20a4
+/afii10017 16#0410
+/afii10018 16#0411
+/afii10019 16#0412
+/afii10020 16#0413
+/afii10021 16#0414
+/afii10022 16#0415
+/afii10023 16#0401
+/afii10024 16#0416
+/afii10025 16#0417
+/afii10026 16#0418
+/afii10027 16#0419
+/afii10028 16#041a
+/afii10029 16#041b
+/afii10030 16#041c
+/afii10031 16#041d
+/afii10032 16#041e
+/afii10033 16#041f
+/afii10034 16#0420
+/afii10035 16#0421
+/afii10036 16#0422
+/afii10037 16#0423
+/afii10038 16#0424
+/afii10039 16#0425
+/afii10040 16#0426
+/afii10041 16#0427
+/afii10042 16#0428
+/afii10043 16#0429
+/afii10044 16#042a
+/afii10045 16#042b
+/afii10046 16#042c
+/afii10047 16#042d
+/afii10048 16#042e
+/afii10049 16#042f
+/afii10050 16#0490
+/afii10051 16#0402
+/afii10052 16#0403
+/afii10053 16#0404
+/afii10054 16#0405
+/afii10055 16#0406
+/afii10056 16#0407
+/afii10057 16#0408
+/afii10058 16#0409
+/afii10059 16#040a
+/afii10060 16#040b
+/afii10061 16#040c
+/afii10062 16#040e
+/afii10063 16#f6c4
+/afii10064 16#f6c5
+/afii10065 16#0430
+/afii10066 16#0431
+/afii10067 16#0432
+/afii10068 16#0433
+/afii10069 16#0434
+/afii10070 16#0435
+/afii10071 16#0451
+/afii10072 16#0436
+/afii10073 16#0437
+/afii10074 16#0438
+/afii10075 16#0439
+/afii10076 16#043a
+/afii10077 16#043b
+/afii10078 16#043c
+/afii10079 16#043d
+/afii10080 16#043e
+/afii10081 16#043f
+/afii10082 16#0440
+/afii10083 16#0441
+/afii10084 16#0442
+/afii10085 16#0443
+/afii10086 16#0444
+/afii10087 16#0445
+/afii10088 16#0446
+/afii10089 16#0447
+/afii10090 16#0448
+/afii10091 16#0449
+/afii10092 16#044a
+/afii10093 16#044b
+/afii10094 16#044c
+/afii10095 16#044d
+/afii10096 16#044e
+/afii10097 16#044f
+/afii10098 16#0491
+/afii10099 16#0452
+/afii10100 16#0453
+/afii10101 16#0454
+/afii10102 16#0455
+/afii10103 16#0456
+/afii10104 16#0457
+/afii10105 16#0458
+/afii10106 16#0459
+/afii10107 16#045a
+/afii10108 16#045b
+/afii10109 16#045c
+/afii10110 16#045e
+/afii10145 16#040f
+/afii10146 16#0462
+/afii10147 16#0472
+/afii10148 16#0474
+/afii10192 16#f6c6
+/afii10193 16#045f
+/afii10194 16#0463
+/afii10195 16#0473
+/afii10196 16#0475
+/afii10831 16#f6c7
+/afii10832 16#f6c8
+/afii10846 16#04d9
+/afii299 16#200e
+/afii300 16#200f
+/afii301 16#200d
+/afii57381 16#066a
+/afii57388 16#060c
+/afii57392 16#0660
+/afii57393 16#0661
+/afii57394 16#0662
+/afii57395 16#0663
+/afii57396 16#0664
+/afii57397 16#0665
+/afii57398 16#0666
+/afii57399 16#0667
+/afii57400 16#0668
+/afii57401 16#0669
+/afii57403 16#061b
+/afii57407 16#061f
+/afii57409 16#0621
+/afii57410 16#0622
+/afii57411 16#0623
+/afii57412 16#0624
+/afii57413 16#0625
+/afii57414 16#0626
+/afii57415 16#0627
+/afii57416 16#0628
+/afii57417 16#0629
+/afii57418 16#062a
+/afii57419 16#062b
+/afii57420 16#062c
+/afii57421 16#062d
+/afii57422 16#062e
+/afii57423 16#062f
+/afii57424 16#0630
+/afii57425 16#0631
+/afii57426 16#0632
+/afii57427 16#0633
+/afii57428 16#0634
+/afii57429 16#0635
+/afii57430 16#0636
+/afii57431 16#0637
+/afii57432 16#0638
+/afii57433 16#0639
+/afii57434 16#063a
+/afii57440 16#0640
+/afii57441 16#0641
+/afii57442 16#0642
+/afii57443 16#0643
+/afii57444 16#0644
+/afii57445 16#0645
+/afii57446 16#0646
+/afii57448 16#0648
+/afii57449 16#0649
+/afii57450 16#064a
+/afii57451 16#064b
+/afii57452 16#064c
+/afii57453 16#064d
+/afii57454 16#064e
+/afii57455 16#064f
+/afii57456 16#0650
+/afii57457 16#0651
+/afii57458 16#0652
+/afii57470 16#0647
+/afii57505 16#06a4
+/afii57506 16#067e
+/afii57507 16#0686
+/afii57508 16#0698
+/afii57509 16#06af
+/afii57511 16#0679
+/afii57512 16#0688
+/afii57513 16#0691
+/afii57514 16#06ba
+/afii57519 16#06d2
+/afii57534 16#06d5
+/afii57636 16#20aa
+/afii57645 16#05be
+/afii57658 16#05c3
+/afii57664 16#05d0
+/afii57665 16#05d1
+/afii57666 16#05d2
+/afii57667 16#05d3
+/afii57668 16#05d4
+/afii57669 16#05d5
+/afii57670 16#05d6
+/afii57671 16#05d7
+/afii57672 16#05d8
+/afii57673 16#05d9
+/afii57674 16#05da
+/afii57675 16#05db
+/afii57676 16#05dc
+/afii57677 16#05dd
+/afii57678 16#05de
+/afii57679 16#05df
+/afii57680 16#05e0
+/afii57681 16#05e1
+/afii57682 16#05e2
+/afii57683 16#05e3
+/afii57684 16#05e4
+/afii57685 16#05e5
+/afii57686 16#05e6
+/afii57687 16#05e7
+/afii57688 16#05e8
+/afii57689 16#05e9
+/afii57690 16#05ea
+/afii57694 16#fb2a
+/afii57695 16#fb2b
+/afii57700 16#fb4b
+/afii57705 16#fb1f
+/afii57716 16#05f0
+/afii57717 16#05f1
+/afii57718 16#05f2
+/afii57723 16#fb35
+/afii57793 16#05b4
+/afii57794 16#05b5
+/afii57795 16#05b6
+/afii57796 16#05bb
+/afii57797 16#05b8
+/afii57798 16#05b7
+/afii57799 16#05b0
+/afii57800 16#05b2
+/afii57801 16#05b1
+/afii57802 16#05b3
+/afii57803 16#05c2
+/afii57804 16#05c1
+/afii57806 16#05b9
+/afii57807 16#05bc
+/afii57839 16#05bd
+/afii57841 16#05bf
+/afii57842 16#05c0
+/afii57929 16#02bc
+/afii61248 16#2105
+/afii61289 16#2113
+/afii61352 16#2116
+/afii61573 16#202c
+/afii61574 16#202d
+/afii61575 16#202e
+/afii61664 16#200c
+/afii63167 16#066d
+/afii64937 16#02bd
+/agrave 16#00e0
+/agujarati 16#0a85
+/agurmukhi 16#0a05
+/ahiragana 16#3042
+/ahookabove 16#1ea3
+/aibengali 16#0990
+/aibopomofo 16#311e
+/aideva 16#0910
+/aiecyrillic 16#04d5
+/aigujarati 16#0a90
+/aigurmukhi 16#0a10
+/aimatragurmukhi 16#0a48
+/ainarabic 16#0639
+/ainfinalarabic 16#feca
+/aininitialarabic 16#fecb
+/ainmedialarabic 16#fecc
+/ainvertedbreve 16#0203
+/aivowelsignbengali 16#09c8
+/aivowelsigndeva 16#0948
+/aivowelsigngujarati 16#0ac8
+/akatakana 16#30a2
+/akatakanahalfwidth 16#ff71
+/akorean 16#314f
+/alef 16#05d0
+/alefarabic 16#0627
+/alefdageshhebrew 16#fb30
+/aleffinalarabic 16#fe8e
+/alefhamzaabovearabic 16#0623
+/alefhamzaabovefinalarabic 16#fe84
+/alefhamzabelowarabic 16#0625
+/alefhamzabelowfinalarabic 16#fe88
+/alefhebrew 16#05d0
+/aleflamedhebrew 16#fb4f
+/alefmaddaabovearabic 16#0622
+/alefmaddaabovefinalarabic 16#fe82
+/alefmaksuraarabic 16#0649
+/alefmaksurafinalarabic 16#fef0
+/alefmaksurainitialarabic 16#fef3
+/alefmaksuramedialarabic 16#fef4
+/alefpatahhebrew 16#fb2e
+/alefqamatshebrew 16#fb2f
+/aleph 16#2135
+/allequal 16#224c
+/alpha 16#03b1
+/alphatonos 16#03ac
+/amacron 16#0101
+/amonospace 16#ff41
+/ampersand 16#0026
+/ampersandmonospace 16#ff06
+/ampersandsmall 16#f726
+/amsquare 16#33c2
+/anbopomofo 16#3122
+/angbopomofo 16#3124
+/angkhankhuthai 16#0e5a
+/angle 16#2220
+/anglebracketleft 16#3008
+/anglebracketleftvertical 16#fe3f
+/anglebracketright 16#3009
+/anglebracketrightvertical 16#fe40
+/angleleft 16#2329
+/angleright 16#232a
+/angstrom 16#212b
+/anoteleia 16#0387
+/anudattadeva 16#0952
+/anusvarabengali 16#0982
+/anusvaradeva 16#0902
+/anusvaragujarati 16#0a82
+/aogonek 16#0105
+/apaatosquare 16#3300
+/aparen 16#249c
+/apostrophearmenian 16#055a
+/apostrophemod 16#02bc
+/apple 16#f8ff
+/approaches 16#2250
+/approxequal 16#2248
+/approxequalorimage 16#2252
+/approximatelyequal 16#2245
+/araeaekorean 16#318e
+/araeakorean 16#318d
+/arc 16#2312
+/arighthalfring 16#1e9a
+/aring 16#00e5
+/aringacute 16#01fb
+/aringbelow 16#1e01
+/arrowboth 16#2194
+/arrowdashdown 16#21e3
+/arrowdashleft 16#21e0
+/arrowdashright 16#21e2
+/arrowdashup 16#21e1
+/arrowdblboth 16#21d4
+/arrowdbldown 16#21d3
+/arrowdblleft 16#21d0
+/arrowdblright 16#21d2
+/arrowdblup 16#21d1
+/arrowdown 16#2193
+/arrowdownleft 16#2199
+/arrowdownright 16#2198
+/arrowdownwhite 16#21e9
+/arrowheaddownmod 16#02c5
+/arrowheadleftmod 16#02c2
+/arrowheadrightmod 16#02c3
+/arrowheadupmod 16#02c4
+/arrowhorizex 16#f8e7
+/arrowleft 16#2190
+/arrowleftdbl 16#21d0
+/arrowleftdblstroke 16#21cd
+/arrowleftoverright 16#21c6
+/arrowleftwhite 16#21e6
+/arrowright 16#2192
+/arrowrightdblstroke 16#21cf
+/arrowrightheavy 16#279e
+/arrowrightoverleft 16#21c4
+/arrowrightwhite 16#21e8
+/arrowtableft 16#21e4
+/arrowtabright 16#21e5
+/arrowup 16#2191
+/arrowupdn 16#2195
+/arrowupdnbse 16#21a8
+/arrowupdownbase 16#21a8
+/arrowupleft 16#2196
+/arrowupleftofdown 16#21c5
+/arrowupright 16#2197
+/arrowupwhite 16#21e7
+/arrowvertex 16#f8e6
+/asciicircum 16#005e
+/asciicircummonospace 16#ff3e
+/asciitilde 16#007e
+/asciitildemonospace 16#ff5e
+/ascript 16#0251
+/ascriptturned 16#0252
+/asmallhiragana 16#3041
+/asmallkatakana 16#30a1
+/asmallkatakanahalfwidth 16#ff67
+/asterisk 16#002a
+/asteriskaltonearabic 16#066d
+/asteriskarabic 16#066d
+/asteriskmath 16#2217
+/asteriskmonospace 16#ff0a
+/asterisksmall 16#fe61
+/asterism 16#2042
+/asuperior 16#f6e9
+/asymptoticallyequal 16#2243
+/at 16#0040
+/atilde 16#00e3
+/atmonospace 16#ff20
+/atsmall 16#fe6b
+/aturned 16#0250
+/aubengali 16#0994
+/aubopomofo 16#3120
+/audeva 16#0914
+/augujarati 16#0a94
+/augurmukhi 16#0a14
+/aulengthmarkbengali 16#09d7
+/aumatragurmukhi 16#0a4c
+/auvowelsignbengali 16#09cc
+/auvowelsigndeva 16#094c
+/auvowelsigngujarati 16#0acc
+/avagrahadeva 16#093d
+/aybarmenian 16#0561
+/ayin 16#05e2
+/ayinaltonehebrew 16#fb20
+/ayinhebrew 16#05e2
+/b 16#0062
+/babengali 16#09ac
+/backslash 16#005c
+/backslashmonospace 16#ff3c
+/badeva 16#092c
+/bagujarati 16#0aac
+/bagurmukhi 16#0a2c
+/bahiragana 16#3070
+/bahtthai 16#0e3f
+/bakatakana 16#30d0
+/bar 16#007c
+/barmonospace 16#ff5c
+/bbopomofo 16#3105
+/bcircle 16#24d1
+/bdotaccent 16#1e03
+/bdotbelow 16#1e05
+/beamedsixteenthnotes 16#266c
+/because 16#2235
+/becyrillic 16#0431
+/beharabic 16#0628
+/behfinalarabic 16#fe90
+/behinitialarabic 16#fe91
+/behiragana 16#3079
+/behmedialarabic 16#fe92
+/behmeeminitialarabic 16#fc9f
+/behmeemisolatedarabic 16#fc08
+/behnoonfinalarabic 16#fc6d
+/bekatakana 16#30d9
+/benarmenian 16#0562
+/bet 16#05d1
+/beta 16#03b2
+/betasymbolgreek 16#03d0
+/betdagesh 16#fb31
+/betdageshhebrew 16#fb31
+/bethebrew 16#05d1
+/betrafehebrew 16#fb4c
+/bhabengali 16#09ad
+/bhadeva 16#092d
+/bhagujarati 16#0aad
+/bhagurmukhi 16#0a2d
+/bhook 16#0253
+/bihiragana 16#3073
+/bikatakana 16#30d3
+/bilabialclick 16#0298
+/bindigurmukhi 16#0a02
+/birusquare 16#3331
+/blackcircle 16#25cf
+/blackdiamond 16#25c6
+/blackdownpointingtriangle 16#25bc
+/blackleftpointingpointer 16#25c4
+/blackleftpointingtriangle 16#25c0
+/blacklenticularbracketleft 16#3010
+/blacklenticularbracketleftvertical 16#fe3b
+/blacklenticularbracketright 16#3011
+/blacklenticularbracketrightvertical 16#fe3c
+/blacklowerlefttriangle 16#25e3
+/blacklowerrighttriangle 16#25e2
+/blackrectangle 16#25ac
+/blackrightpointingpointer 16#25ba
+/blackrightpointingtriangle 16#25b6
+/blacksmallsquare 16#25aa
+/blacksmilingface 16#263b
+/blacksquare 16#25a0
+/blackstar 16#2605
+/blackupperlefttriangle 16#25e4
+/blackupperrighttriangle 16#25e5
+/blackuppointingsmalltriangle 16#25b4
+/blackuppointingtriangle 16#25b2
+/blank 16#2423
+/blinebelow 16#1e07
+/block 16#2588
+/bmonospace 16#ff42
+/bobaimaithai 16#0e1a
+/bohiragana 16#307c
+/bokatakana 16#30dc
+/bparen 16#249d
+/bqsquare 16#33c3
+/braceex 16#f8f4
+/braceleft 16#007b
+/braceleftbt 16#f8f3
+/braceleftmid 16#f8f2
+/braceleftmonospace 16#ff5b
+/braceleftsmall 16#fe5b
+/bracelefttp 16#f8f1
+/braceleftvertical 16#fe37
+/braceright 16#007d
+/bracerightbt 16#f8fe
+/bracerightmid 16#f8fd
+/bracerightmonospace 16#ff5d
+/bracerightsmall 16#fe5c
+/bracerighttp 16#f8fc
+/bracerightvertical 16#fe38
+/bracketleft 16#005b
+/bracketleftbt 16#f8f0
+/bracketleftex 16#f8ef
+/bracketleftmonospace 16#ff3b
+/bracketlefttp 16#f8ee
+/bracketright 16#005d
+/bracketrightbt 16#f8fb
+/bracketrightex 16#f8fa
+/bracketrightmonospace 16#ff3d
+/bracketrighttp 16#f8f9
+/breve 16#02d8
+/brevebelowcmb 16#032e
+/brevecmb 16#0306
+/breveinvertedbelowcmb 16#032f
+/breveinvertedcmb 16#0311
+/breveinverteddoublecmb 16#0361
+/bridgebelowcmb 16#032a
+/bridgeinvertedbelowcmb 16#033a
+/brokenbar 16#00a6
+/bstroke 16#0180
+/bsuperior 16#f6ea
+/btopbar 16#0183
+/buhiragana 16#3076
+/bukatakana 16#30d6
+/bullet 16#2022
+/bulletinverse 16#25d8
+/bulletoperator 16#2219
+/bullseye 16#25ce
+/c 16#0063
+/caarmenian 16#056e
+/cabengali 16#099a
+/cacute 16#0107
+/cadeva 16#091a
+/cagujarati 16#0a9a
+/cagurmukhi 16#0a1a
+/calsquare 16#3388
+/candrabindubengali 16#0981
+/candrabinducmb 16#0310
+/candrabindudeva 16#0901
+/candrabindugujarati 16#0a81
+/capslock 16#21ea
+/careof 16#2105
+/caron 16#02c7
+/caronbelowcmb 16#032c
+/caroncmb 16#030c
+/carriagereturn 16#21b5
+/cbopomofo 16#3118
+/ccaron 16#010d
+/ccedilla 16#00e7
+/ccedillaacute 16#1e09
+/ccircle 16#24d2
+/ccircumflex 16#0109
+/ccurl 16#0255
+/cdot 16#010b
+/cdotaccent 16#010b
+/cdsquare 16#33c5
+/cedilla 16#00b8
+/cedillacmb 16#0327
+/cent 16#00a2
+/centigrade 16#2103
+/centinferior 16#f6df
+/centmonospace 16#ffe0
+/centoldstyle 16#f7a2
+/centsuperior 16#f6e0
+/chaarmenian 16#0579
+/chabengali 16#099b
+/chadeva 16#091b
+/chagujarati 16#0a9b
+/chagurmukhi 16#0a1b
+/chbopomofo 16#3114
+/cheabkhasiancyrillic 16#04bd
+/checkmark 16#2713
+/checyrillic 16#0447
+/chedescenderabkhasiancyrillic 16#04bf
+/chedescendercyrillic 16#04b7
+/chedieresiscyrillic 16#04f5
+/cheharmenian 16#0573
+/chekhakassiancyrillic 16#04cc
+/cheverticalstrokecyrillic 16#04b9
+/chi 16#03c7
+/chieuchacirclekorean 16#3277
+/chieuchaparenkorean 16#3217
+/chieuchcirclekorean 16#3269
+/chieuchkorean 16#314a
+/chieuchparenkorean 16#3209
+/chochangthai 16#0e0a
+/chochanthai 16#0e08
+/chochingthai 16#0e09
+/chochoethai 16#0e0c
+/chook 16#0188
+/cieucacirclekorean 16#3276
+/cieucaparenkorean 16#3216
+/cieuccirclekorean 16#3268
+/cieuckorean 16#3148
+/cieucparenkorean 16#3208
+/cieucuparenkorean 16#321c
+/circle 16#25cb
+/circlemultiply 16#2297
+/circleot 16#2299
+/circleplus 16#2295
+/circlepostalmark 16#3036
+/circlewithlefthalfblack 16#25d0
+/circlewithrighthalfblack 16#25d1
+/circumflex 16#02c6
+/circumflexbelowcmb 16#032d
+/circumflexcmb 16#0302
+/clear 16#2327
+/clickalveolar 16#01c2
+/clickdental 16#01c0
+/clicklateral 16#01c1
+/clickretroflex 16#01c3
+/club 16#2663
+/clubsuitblack 16#2663
+/clubsuitwhite 16#2667
+/cmcubedsquare 16#33a4
+/cmonospace 16#ff43
+/cmsquaredsquare 16#33a0
+/coarmenian 16#0581
+/colon 16#003a
+/colonmonetary 16#20a1
+/colonmonospace 16#ff1a
+/colonsign 16#20a1
+/colonsmall 16#fe55
+/colontriangularhalfmod 16#02d1
+/colontriangularmod 16#02d0
+/comma 16#002c
+/commaabovecmb 16#0313
+/commaaboverightcmb 16#0315
+/commaaccent 16#f6c3
+/commaarabic 16#060c
+/commaarmenian 16#055d
+/commainferior 16#f6e1
+/commamonospace 16#ff0c
+/commareversedabovecmb 16#0314
+/commareversedmod 16#02bd
+/commasmall 16#fe50
+/commasuperior 16#f6e2
+/commaturnedabovecmb 16#0312
+/commaturnedmod 16#02bb
+/compass 16#263c
+/congruent 16#2245
+/contourintegral 16#222e
+/control 16#2303
+/controlACK 16#0006
+/controlBEL 16#0007
+/controlBS 16#0008
+/controlCAN 16#0018
+/controlCR 16#000d
+/controlDC1 16#0011
+/controlDC2 16#0012
+/controlDC3 16#0013
+/controlDC4 16#0014
+/controlDEL 16#007f
+/controlDLE 16#0010
+/controlEM 16#0019
+/controlENQ 16#0005
+/controlEOT 16#0004
+/controlESC 16#001b
+/controlETB 16#0017
+/controlETX 16#0003
+/controlFF 16#000c
+/controlFS 16#001c
+/controlGS 16#001d
+/controlHT 16#0009
+/controlLF 16#000a
+/controlNAK 16#0015
+/controlRS 16#001e
+/controlSI 16#000f
+/controlSO 16#000e
+/controlSOT 16#0002
+/controlSTX 16#0001
+/controlSUB 16#001a
+/controlSYN 16#0016
+/controlUS 16#001f
+/controlVT 16#000b
+/copyright 16#00a9
+/copyrightsans 16#f8e9
+/copyrightserif 16#f6d9
+/cornerbracketleft 16#300c
+/cornerbracketlefthalfwidth 16#ff62
+/cornerbracketleftvertical 16#fe41
+/cornerbracketright 16#300d
+/cornerbracketrighthalfwidth 16#ff63
+/cornerbracketrightvertical 16#fe42
+/corporationsquare 16#337f
+/cosquare 16#33c7
+/coverkgsquare 16#33c6
+/cparen 16#249e
+/cruzeiro 16#20a2
+/cstretched 16#0297
+/curlyand 16#22cf
+/curlyor 16#22ce
+/currency 16#00a4
+/cyrBreve 16#f6d1
+/cyrFlex 16#f6d2
+/cyrbreve 16#f6d4
+/cyrflex 16#f6d5
+/d 16#0064
+/daarmenian 16#0564
+/dabengali 16#09a6
+/dadarabic 16#0636
+/dadeva 16#0926
+/dadfinalarabic 16#febe
+/dadinitialarabic 16#febf
+/dadmedialarabic 16#fec0
+/dagesh 16#05bc
+/dageshhebrew 16#05bc
+/dagger 16#2020
+/daggerdbl 16#2021
+/dagujarati 16#0aa6
+/dagurmukhi 16#0a26
+/dahiragana 16#3060
+/dakatakana 16#30c0
+/dalarabic 16#062f
+/dalet 16#05d3
+/daletdagesh 16#fb33
+/daletdageshhebrew 16#fb33
+/dalethebrew 16#05d3
+/dalfinalarabic 16#feaa
+/dammaarabic 16#064f
+/dammalowarabic 16#064f
+/dammatanaltonearabic 16#064c
+/dammatanarabic 16#064c
+/danda 16#0964
+/dargahebrew 16#05a7
+/dargalefthebrew 16#05a7
+/dasiapneumatacyrilliccmb 16#0485
+/dblGrave 16#f6d3
+/dblanglebracketleft 16#300a
+/dblanglebracketleftvertical 16#fe3d
+/dblanglebracketright 16#300b
+/dblanglebracketrightvertical 16#fe3e
+/dblarchinvertedbelowcmb 16#032b
+/dblarrowleft 16#21d4
+/dblarrowright 16#21d2
+/dbldanda 16#0965
+/dblgrave 16#f6d6
+/dblgravecmb 16#030f
+/dblintegral 16#222c
+/dbllowline 16#2017
+/dbllowlinecmb 16#0333
+/dbloverlinecmb 16#033f
+/dblprimemod 16#02ba
+/dblverticalbar 16#2016
+/dblverticallineabovecmb 16#030e
+/dbopomofo 16#3109
+/dbsquare 16#33c8
+/dcaron 16#010f
+/dcedilla 16#1e11
+/dcircle 16#24d3
+/dcircumflexbelow 16#1e13
+/dcroat 16#0111
+/ddabengali 16#09a1
+/ddadeva 16#0921
+/ddagujarati 16#0aa1
+/ddagurmukhi 16#0a21
+/ddalarabic 16#0688
+/ddalfinalarabic 16#fb89
+/dddhadeva 16#095c
+/ddhabengali 16#09a2
+/ddhadeva 16#0922
+/ddhagujarati 16#0aa2
+/ddhagurmukhi 16#0a22
+/ddotaccent 16#1e0b
+/ddotbelow 16#1e0d
+/decimalseparatorarabic 16#066b
+/decimalseparatorpersian 16#066b
+/decyrillic 16#0434
+/degree 16#00b0
+/dehihebrew 16#05ad
+/dehiragana 16#3067
+/deicoptic 16#03ef
+/dekatakana 16#30c7
+/deleteleft 16#232b
+/deleteright 16#2326
+/delta 16#03b4
+/deltaturned 16#018d
+/denominatorminusonenumeratorbengali 16#09f8
+/dezh 16#02a4
+/dhabengali 16#09a7
+/dhadeva 16#0927
+/dhagujarati 16#0aa7
+/dhagurmukhi 16#0a27
+/dhook 16#0257
+/dialytikatonos 16#0385
+/dialytikatonoscmb 16#0344
+/diamond 16#2666
+/diamondsuitwhite 16#2662
+/dieresis 16#00a8
+/dieresisacute 16#f6d7
+/dieresisbelowcmb 16#0324
+/dieresiscmb 16#0308
+/dieresisgrave 16#f6d8
+/dieresistonos 16#0385
+/dihiragana 16#3062
+/dikatakana 16#30c2
+/dittomark 16#3003
+/divide 16#00f7
+/divides 16#2223
+/divisionslash 16#2215
+/djecyrillic 16#0452
+/dkshade 16#2593
+/dlinebelow 16#1e0f
+/dlsquare 16#3397
+/dmacron 16#0111
+/dmonospace 16#ff44
+/dnblock 16#2584
+/dochadathai 16#0e0e
+/dodekthai 16#0e14
+/dohiragana 16#3069
+/dokatakana 16#30c9
+/dollar 16#0024
+/dollarinferior 16#f6e3
+/dollarmonospace 16#ff04
+/dollaroldstyle 16#f724
+/dollarsmall 16#fe69
+/dollarsuperior 16#f6e4
+/dong 16#20ab
+/dorusquare 16#3326
+/dotaccent 16#02d9
+/dotaccentcmb 16#0307
+/dotbelowcmb 16#0323
+/dotbelowcomb 16#0323
+/dotkatakana 16#30fb
+/dotlessi 16#0131
+/dotlessj 16#f6be
+/dotlessjstrokehook 16#0284
+/dotmath 16#22c5
+/dottedcircle 16#25cc
+/doubleyodpatah 16#fb1f
+/doubleyodpatahhebrew 16#fb1f
+/downtackbelowcmb 16#031e
+/downtackmod 16#02d5
+/dparen 16#249f
+/dsuperior 16#f6eb
+/dtail 16#0256
+/dtopbar 16#018c
+/duhiragana 16#3065
+/dukatakana 16#30c5
+/dz 16#01f3
+/dzaltone 16#02a3
+/dzcaron 16#01c6
+/dzcurl 16#02a5
+/dzeabkhasiancyrillic 16#04e1
+/dzecyrillic 16#0455
+/dzhecyrillic 16#045f
+/e 16#0065
+/eacute 16#00e9
+/earth 16#2641
+/ebengali 16#098f
+/ebopomofo 16#311c
+/ebreve 16#0115
+/ecandradeva 16#090d
+/ecandragujarati 16#0a8d
+/ecandravowelsigndeva 16#0945
+/ecandravowelsigngujarati 16#0ac5
+/ecaron 16#011b
+/ecedillabreve 16#1e1d
+/echarmenian 16#0565
+/echyiwnarmenian 16#0587
+/ecircle 16#24d4
+/ecircumflex 16#00ea
+/ecircumflexacute 16#1ebf
+/ecircumflexbelow 16#1e19
+/ecircumflexdotbelow 16#1ec7
+/ecircumflexgrave 16#1ec1
+/ecircumflexhookabove 16#1ec3
+/ecircumflextilde 16#1ec5
+/ecyrillic 16#0454
+/edblgrave 16#0205
+/edeva 16#090f
+/edieresis 16#00eb
+/edot 16#0117
+/edotaccent 16#0117
+/edotbelow 16#1eb9
+/eegurmukhi 16#0a0f
+/eematragurmukhi 16#0a47
+/efcyrillic 16#0444
+/egrave 16#00e8
+/egujarati 16#0a8f
+/eharmenian 16#0567
+/ehbopomofo 16#311d
+/ehiragana 16#3048
+/ehookabove 16#1ebb
+/eibopomofo 16#311f
+/eight 16#0038
+/eightarabic 16#0668
+/eightbengali 16#09ee
+/eightcircle 16#2467
+/eightcircleinversesansserif 16#2791
+/eightdeva 16#096e
+/eighteencircle 16#2471
+/eighteenparen 16#2485
+/eighteenperiod 16#2499
+/eightgujarati 16#0aee
+/eightgurmukhi 16#0a6e
+/eighthackarabic 16#0668
+/eighthangzhou 16#3028
+/eighthnotebeamed 16#266b
+/eightideographicparen 16#3227
+/eightinferior 16#2088
+/eightmonospace 16#ff18
+/eightoldstyle 16#f738
+/eightparen 16#247b
+/eightperiod 16#248f
+/eightpersian 16#06f8
+/eightroman 16#2177
+/eightsuperior 16#2078
+/eightthai 16#0e58
+/einvertedbreve 16#0207
+/eiotifiedcyrillic 16#0465
+/ekatakana 16#30a8
+/ekatakanahalfwidth 16#ff74
+/ekonkargurmukhi 16#0a74
+/ekorean 16#3154
+/elcyrillic 16#043b
+/element 16#2208
+/elevencircle 16#246a
+/elevenparen 16#247e
+/elevenperiod 16#2492
+/elevenroman 16#217a
+/ellipsis 16#2026
+/ellipsisvertical 16#22ee
+/emacron 16#0113
+/emacronacute 16#1e17
+/emacrongrave 16#1e15
+/emcyrillic 16#043c
+/emdash 16#2014
+/emdashvertical 16#fe31
+/emonospace 16#ff45
+/emphasismarkarmenian 16#055b
+/emptyset 16#2205
+/enbopomofo 16#3123
+/encyrillic 16#043d
+/endash 16#2013
+/endashvertical 16#fe32
+/endescendercyrillic 16#04a3
+/eng 16#014b
+/engbopomofo 16#3125
+/enghecyrillic 16#04a5
+/enhookcyrillic 16#04c8
+/enspace 16#2002
+/eogonek 16#0119
+/eokorean 16#3153
+/eopen 16#025b
+/eopenclosed 16#029a
+/eopenreversed 16#025c
+/eopenreversedclosed 16#025e
+/eopenreversedhook 16#025d
+/eparen 16#24a0
+/epsilon 16#03b5
+/epsilontonos 16#03ad
+/equal 16#003d
+/equalmonospace 16#ff1d
+/equalsmall 16#fe66
+/equalsuperior 16#207c
+/equivalence 16#2261
+/erbopomofo 16#3126
+/ercyrillic 16#0440
+/ereversed 16#0258
+/ereversedcyrillic 16#044d
+/escyrillic 16#0441
+/esdescendercyrillic 16#04ab
+/esh 16#0283
+/eshcurl 16#0286
+/eshortdeva 16#090e
+/eshortvowelsigndeva 16#0946
+/eshreversedloop 16#01aa
+/eshsquatreversed 16#0285
+/esmallhiragana 16#3047
+/esmallkatakana 16#30a7
+/esmallkatakanahalfwidth 16#ff6a
+/estimated 16#212e
+/esuperior 16#f6ec
+/eta 16#03b7
+/etarmenian 16#0568
+/etatonos 16#03ae
+/eth 16#00f0
+/etilde 16#1ebd
+/etildebelow 16#1e1b
+/etnahtafoukhhebrew 16#0591
+/etnahtafoukhlefthebrew 16#0591
+/etnahtahebrew 16#0591
+/etnahtalefthebrew 16#0591
+/eturned 16#01dd
+/eukorean 16#3161
+/euro 16#20ac
+/evowelsignbengali 16#09c7
+/evowelsigndeva 16#0947
+/evowelsigngujarati 16#0ac7
+/exclam 16#0021
+/exclamarmenian 16#055c
+/exclamdbl 16#203c
+/exclamdown 16#00a1
+/exclamdownsmall 16#f7a1
+/exclammonospace 16#ff01
+/exclamsmall 16#f721
+/existential 16#2203
+/ezh 16#0292
+/ezhcaron 16#01ef
+/ezhcurl 16#0293
+/ezhreversed 16#01b9
+/ezhtail 16#01ba
+/f 16#0066
+/fadeva 16#095e
+/fagurmukhi 16#0a5e
+/fahrenheit 16#2109
+/fathaarabic 16#064e
+/fathalowarabic 16#064e
+/fathatanarabic 16#064b
+/fbopomofo 16#3108
+/fcircle 16#24d5
+/fdotaccent 16#1e1f
+/feharabic 16#0641
+/feharmenian 16#0586
+/fehfinalarabic 16#fed2
+/fehinitialarabic 16#fed3
+/fehmedialarabic 16#fed4
+/feicoptic 16#03e5
+/female 16#2640
+/ff 16#fb00
+/ffi 16#fb03
+/ffl 16#fb04
+/fi 16#fb01
+/fifteencircle 16#246e
+/fifteenparen 16#2482
+/fifteenperiod 16#2496
+/figuredash 16#2012
+/filledbox 16#25a0
+/filledrect 16#25ac
+/finalkaf 16#05da
+/finalkafdagesh 16#fb3a
+/finalkafdageshhebrew 16#fb3a
+/finalkafhebrew 16#05da
+/finalmem 16#05dd
+/finalmemhebrew 16#05dd
+/finalnun 16#05df
+/finalnunhebrew 16#05df
+/finalpe 16#05e3
+/finalpehebrew 16#05e3
+/finaltsadi 16#05e5
+/finaltsadihebrew 16#05e5
+/firsttonechinese 16#02c9
+/fisheye 16#25c9
+/fitacyrillic 16#0473
+/five 16#0035
+/fivearabic 16#0665
+/fivebengali 16#09eb
+/fivecircle 16#2464
+/fivecircleinversesansserif 16#278e
+/fivedeva 16#096b
+/fiveeighths 16#215d
+/fivegujarati 16#0aeb
+/fivegurmukhi 16#0a6b
+/fivehackarabic 16#0665
+/fivehangzhou 16#3025
+/fiveideographicparen 16#3224
+/fiveinferior 16#2085
+/fivemonospace 16#ff15
+/fiveoldstyle 16#f735
+/fiveparen 16#2478
+/fiveperiod 16#248c
+/fivepersian 16#06f5
+/fiveroman 16#2174
+/fivesuperior 16#2075
+/fivethai 16#0e55
+/fl 16#fb02
+/florin 16#0192
+/fmonospace 16#ff46
+/fmsquare 16#3399
+/fofanthai 16#0e1f
+/fofathai 16#0e1d
+/fongmanthai 16#0e4f
+/forall 16#2200
+/four 16#0034
+/fourarabic 16#0664
+/fourbengali 16#09ea
+/fourcircle 16#2463
+/fourcircleinversesansserif 16#278d
+/fourdeva 16#096a
+/fourgujarati 16#0aea
+/fourgurmukhi 16#0a6a
+/fourhackarabic 16#0664
+/fourhangzhou 16#3024
+/fourideographicparen 16#3223
+/fourinferior 16#2084
+/fourmonospace 16#ff14
+/fournumeratorbengali 16#09f7
+/fouroldstyle 16#f734
+/fourparen 16#2477
+/fourperiod 16#248b
+/fourpersian 16#06f4
+/fourroman 16#2173
+/foursuperior 16#2074
+/fourteencircle 16#246d
+/fourteenparen 16#2481
+/fourteenperiod 16#2495
+/fourthai 16#0e54
+/fourthtonechinese 16#02cb
+/fparen 16#24a1
+/fraction 16#2044
+/franc 16#20a3
+/g 16#0067
+/gabengali 16#0997
+/gacute 16#01f5
+/gadeva 16#0917
+/gafarabic 16#06af
+/gaffinalarabic 16#fb93
+/gafinitialarabic 16#fb94
+/gafmedialarabic 16#fb95
+/gagujarati 16#0a97
+/gagurmukhi 16#0a17
+/gahiragana 16#304c
+/gakatakana 16#30ac
+/gamma 16#03b3
+/gammalatinsmall 16#0263
+/gammasuperior 16#02e0
+/gangiacoptic 16#03eb
+/gbopomofo 16#310d
+/gbreve 16#011f
+/gcaron 16#01e7
+/gcedilla 16#0123
+/gcircle 16#24d6
+/gcircumflex 16#011d
+/gcommaaccent 16#0123
+/gdot 16#0121
+/gdotaccent 16#0121
+/gecyrillic 16#0433
+/gehiragana 16#3052
+/gekatakana 16#30b2
+/geometricallyequal 16#2251
+/gereshaccenthebrew 16#059c
+/gereshhebrew 16#05f3
+/gereshmuqdamhebrew 16#059d
+/germandbls 16#00df
+/gershayimaccenthebrew 16#059e
+/gershayimhebrew 16#05f4
+/getamark 16#3013
+/ghabengali 16#0998
+/ghadarmenian 16#0572
+/ghadeva 16#0918
+/ghagujarati 16#0a98
+/ghagurmukhi 16#0a18
+/ghainarabic 16#063a
+/ghainfinalarabic 16#fece
+/ghaininitialarabic 16#fecf
+/ghainmedialarabic 16#fed0
+/ghemiddlehookcyrillic 16#0495
+/ghestrokecyrillic 16#0493
+/gheupturncyrillic 16#0491
+/ghhadeva 16#095a
+/ghhagurmukhi 16#0a5a
+/ghook 16#0260
+/ghzsquare 16#3393
+/gihiragana 16#304e
+/gikatakana 16#30ae
+/gimarmenian 16#0563
+/gimel 16#05d2
+/gimeldagesh 16#fb32
+/gimeldageshhebrew 16#fb32
+/gimelhebrew 16#05d2
+/gjecyrillic 16#0453
+/glottalinvertedstroke 16#01be
+/glottalstop 16#0294
+/glottalstopinverted 16#0296
+/glottalstopmod 16#02c0
+/glottalstopreversed 16#0295
+/glottalstopreversedmod 16#02c1
+/glottalstopreversedsuperior 16#02e4
+/glottalstopstroke 16#02a1
+/glottalstopstrokereversed 16#02a2
+/gmacron 16#1e21
+/gmonospace 16#ff47
+/gohiragana 16#3054
+/gokatakana 16#30b4
+/gparen 16#24a2
+/gpasquare 16#33ac
+/gradient 16#2207
+/grave 16#0060
+/gravebelowcmb 16#0316
+/gravecmb 16#0300
+/gravecomb 16#0300
+/gravedeva 16#0953
+/gravelowmod 16#02ce
+/gravemonospace 16#ff40
+/gravetonecmb 16#0340
+/greater 16#003e
+/greaterequal 16#2265
+/greaterequalorless 16#22db
+/greatermonospace 16#ff1e
+/greaterorequivalent 16#2273
+/greaterorless 16#2277
+/greateroverequal 16#2267
+/greatersmall 16#fe65
+/gscript 16#0261
+/gstroke 16#01e5
+/guhiragana 16#3050
+/guillemotleft 16#00ab
+/guillemotright 16#00bb
+/guilsinglleft 16#2039
+/guilsinglright 16#203a
+/gukatakana 16#30b0
+/guramusquare 16#3318
+/gysquare 16#33c9
+/h 16#0068
+/haabkhasiancyrillic 16#04a9
+/haaltonearabic 16#06c1
+/habengali 16#09b9
+/hadescendercyrillic 16#04b3
+/hadeva 16#0939
+/hagujarati 16#0ab9
+/hagurmukhi 16#0a39
+/haharabic 16#062d
+/hahfinalarabic 16#fea2
+/hahinitialarabic 16#fea3
+/hahiragana 16#306f
+/hahmedialarabic 16#fea4
+/haitusquare 16#332a
+/hakatakana 16#30cf
+/hakatakanahalfwidth 16#ff8a
+/halantgurmukhi 16#0a4d
+/hamzaarabic 16#0621
+/hamzalowarabic 16#0621
+/hangulfiller 16#3164
+/hardsigncyrillic 16#044a
+/harpoonleftbarbup 16#21bc
+/harpoonrightbarbup 16#21c0
+/hasquare 16#33ca
+/hatafpatah 16#05b2
+/hatafpatah16 16#05b2
+/hatafpatah23 16#05b2
+/hatafpatah2f 16#05b2
+/hatafpatahhebrew 16#05b2
+/hatafpatahnarrowhebrew 16#05b2
+/hatafpatahquarterhebrew 16#05b2
+/hatafpatahwidehebrew 16#05b2
+/hatafqamats 16#05b3
+/hatafqamats1b 16#05b3
+/hatafqamats28 16#05b3
+/hatafqamats34 16#05b3
+/hatafqamatshebrew 16#05b3
+/hatafqamatsnarrowhebrew 16#05b3
+/hatafqamatsquarterhebrew 16#05b3
+/hatafqamatswidehebrew 16#05b3
+/hatafsegol 16#05b1
+/hatafsegol17 16#05b1
+/hatafsegol24 16#05b1
+/hatafsegol30 16#05b1
+/hatafsegolhebrew 16#05b1
+/hatafsegolnarrowhebrew 16#05b1
+/hatafsegolquarterhebrew 16#05b1
+/hatafsegolwidehebrew 16#05b1
+/hbar 16#0127
+/hbopomofo 16#310f
+/hbrevebelow 16#1e2b
+/hcedilla 16#1e29
+/hcircle 16#24d7
+/hcircumflex 16#0125
+/hdieresis 16#1e27
+/hdotaccent 16#1e23
+/hdotbelow 16#1e25
+/he 16#05d4
+/heart 16#2665
+/heartsuitblack 16#2665
+/heartsuitwhite 16#2661
+/hedagesh 16#fb34
+/hedageshhebrew 16#fb34
+/hehaltonearabic 16#06c1
+/heharabic 16#0647
+/hehebrew 16#05d4
+/hehfinalaltonearabic 16#fba7
+/hehfinalalttwoarabic 16#feea
+/hehfinalarabic 16#feea
+/hehhamzaabovefinalarabic 16#fba5
+/hehhamzaaboveisolatedarabic 16#fba4
+/hehinitialaltonearabic 16#fba8
+/hehinitialarabic 16#feeb
+/hehiragana 16#3078
+/hehmedialaltonearabic 16#fba9
+/hehmedialarabic 16#feec
+/heiseierasquare 16#337b
+/hekatakana 16#30d8
+/hekatakanahalfwidth 16#ff8d
+/hekutaarusquare 16#3336
+/henghook 16#0267
+/herutusquare 16#3339
+/het 16#05d7
+/hethebrew 16#05d7
+/hhook 16#0266
+/hhooksuperior 16#02b1
+/hieuhacirclekorean 16#327b
+/hieuhaparenkorean 16#321b
+/hieuhcirclekorean 16#326d
+/hieuhkorean 16#314e
+/hieuhparenkorean 16#320d
+/hihiragana 16#3072
+/hikatakana 16#30d2
+/hikatakanahalfwidth 16#ff8b
+/hiriq 16#05b4
+/hiriq14 16#05b4
+/hiriq21 16#05b4
+/hiriq2d 16#05b4
+/hiriqhebrew 16#05b4
+/hiriqnarrowhebrew 16#05b4
+/hiriqquarterhebrew 16#05b4
+/hiriqwidehebrew 16#05b4
+/hlinebelow 16#1e96
+/hmonospace 16#ff48
+/hoarmenian 16#0570
+/hohipthai 16#0e2b
+/hohiragana 16#307b
+/hokatakana 16#30db
+/hokatakanahalfwidth 16#ff8e
+/holam 16#05b9
+/holam19 16#05b9
+/holam26 16#05b9
+/holam32 16#05b9
+/holamhebrew 16#05b9
+/holamnarrowhebrew 16#05b9
+/holamquarterhebrew 16#05b9
+/holamwidehebrew 16#05b9
+/honokhukthai 16#0e2e
+/hookabovecomb 16#0309
+/hookcmb 16#0309
+/hookpalatalizedbelowcmb 16#0321
+/hookretroflexbelowcmb 16#0322
+/hoonsquare 16#3342
+/horicoptic 16#03e9
+/horizontalbar 16#2015
+/horncmb 16#031b
+/hotsprings 16#2668
+/house 16#2302
+/hparen 16#24a3
+/hsuperior 16#02b0
+/hturned 16#0265
+/huhiragana 16#3075
+/huiitosquare 16#3333
+/hukatakana 16#30d5
+/hukatakanahalfwidth 16#ff8c
+/hungarumlaut 16#02dd
+/hungarumlautcmb 16#030b
+/hv 16#0195
+/hyphen 16#002d
+/hypheninferior 16#f6e5
+/hyphenmonospace 16#ff0d
+/hyphensmall 16#fe63
+/hyphensuperior 16#f6e6
+/hyphentwo 16#2010
+/i 16#0069
+/iacute 16#00ed
+/iacyrillic 16#044f
+/ibengali 16#0987
+/ibopomofo 16#3127
+/ibreve 16#012d
+/icaron 16#01d0
+/icircle 16#24d8
+/icircumflex 16#00ee
+/icyrillic 16#0456
+/idblgrave 16#0209
+/ideographearthcircle 16#328f
+/ideographfirecircle 16#328b
+/ideographicallianceparen 16#323f
+/ideographiccallparen 16#323a
+/ideographiccentrecircle 16#32a5
+/ideographicclose 16#3006
+/ideographiccomma 16#3001
+/ideographiccommaleft 16#ff64
+/ideographiccongratulationparen 16#3237
+/ideographiccorrectcircle 16#32a3
+/ideographicearthparen 16#322f
+/ideographicenterpriseparen 16#323d
+/ideographicexcellentcircle 16#329d
+/ideographicfestivalparen 16#3240
+/ideographicfinancialcircle 16#3296
+/ideographicfinancialparen 16#3236
+/ideographicfireparen 16#322b
+/ideographichaveparen 16#3232
+/ideographichighcircle 16#32a4
+/ideographiciterationmark 16#3005
+/ideographiclaborcircle 16#3298
+/ideographiclaborparen 16#3238
+/ideographicleftcircle 16#32a7
+/ideographiclowcircle 16#32a6
+/ideographicmedicinecircle 16#32a9
+/ideographicmetalparen 16#322e
+/ideographicmoonparen 16#322a
+/ideographicnameparen 16#3234
+/ideographicperiod 16#3002
+/ideographicprintcircle 16#329e
+/ideographicreachparen 16#3243
+/ideographicrepresentparen 16#3239
+/ideographicresourceparen 16#323e
+/ideographicrightcircle 16#32a8
+/ideographicsecretcircle 16#3299
+/ideographicselfparen 16#3242
+/ideographicsocietyparen 16#3233
+/ideographicspace 16#3000
+/ideographicspecialparen 16#3235
+/ideographicstockparen 16#3231
+/ideographicstudyparen 16#323b
+/ideographicsunparen 16#3230
+/ideographicsuperviseparen 16#323c
+/ideographicwaterparen 16#322c
+/ideographicwoodparen 16#322d
+/ideographiczero 16#3007
+/ideographmetalcircle 16#328e
+/ideographmooncircle 16#328a
+/ideographnamecircle 16#3294
+/ideographsuncircle 16#3290
+/ideographwatercircle 16#328c
+/ideographwoodcircle 16#328d
+/ideva 16#0907
+/idieresis 16#00ef
+/idieresisacute 16#1e2f
+/idieresiscyrillic 16#04e5
+/idotbelow 16#1ecb
+/iebrevecyrillic 16#04d7
+/iecyrillic 16#0435
+/ieungacirclekorean 16#3275
+/ieungaparenkorean 16#3215
+/ieungcirclekorean 16#3267
+/ieungkorean 16#3147
+/ieungparenkorean 16#3207
+/igrave 16#00ec
+/igujarati 16#0a87
+/igurmukhi 16#0a07
+/ihiragana 16#3044
+/ihookabove 16#1ec9
+/iibengali 16#0988
+/iicyrillic 16#0438
+/iideva 16#0908
+/iigujarati 16#0a88
+/iigurmukhi 16#0a08
+/iimatragurmukhi 16#0a40
+/iinvertedbreve 16#020b
+/iishortcyrillic 16#0439
+/iivowelsignbengali 16#09c0
+/iivowelsigndeva 16#0940
+/iivowelsigngujarati 16#0ac0
+/ij 16#0133
+/ikatakana 16#30a4
+/ikatakanahalfwidth 16#ff72
+/ikorean 16#3163
+/ilde 16#02dc
+/iluyhebrew 16#05ac
+/imacron 16#012b
+/imacroncyrillic 16#04e3
+/imageorapproximatelyequal 16#2253
+/imatragurmukhi 16#0a3f
+/imonospace 16#ff49
+/increment 16#2206
+/infinity 16#221e
+/iniarmenian 16#056b
+/integral 16#222b
+/integralbottom 16#2321
+/integralbt 16#2321
+/integralex 16#f8f5
+/integraltop 16#2320
+/integraltp 16#2320
+/intersection 16#2229
+/intisquare 16#3305
+/invbullet 16#25d8
+/invcircle 16#25d9
+/invsmileface 16#263b
+/iocyrillic 16#0451
+/iogonek 16#012f
+/iota 16#03b9
+/iotadieresis 16#03ca
+/iotadieresistonos 16#0390
+/iotalatin 16#0269
+/iotatonos 16#03af
+/iparen 16#24a4
+/irigurmukhi 16#0a72
+/ismallhiragana 16#3043
+/ismallkatakana 16#30a3
+/ismallkatakanahalfwidth 16#ff68
+/issharbengali 16#09fa
+/istroke 16#0268
+/isuperior 16#f6ed
+/iterationhiragana 16#309d
+/iterationkatakana 16#30fd
+/itilde 16#0129
+/itildebelow 16#1e2d
+/iubopomofo 16#3129
+/iucyrillic 16#044e
+/ivowelsignbengali 16#09bf
+/ivowelsigndeva 16#093f
+/ivowelsigngujarati 16#0abf
+/izhitsacyrillic 16#0475
+/izhitsadblgravecyrillic 16#0477
+/j 16#006a
+/jaarmenian 16#0571
+/jabengali 16#099c
+/jadeva 16#091c
+/jagujarati 16#0a9c
+/jagurmukhi 16#0a1c
+/jbopomofo 16#3110
+/jcaron 16#01f0
+/jcircle 16#24d9
+/jcircumflex 16#0135
+/jcrossedtail 16#029d
+/jdotlessstroke 16#025f
+/jecyrillic 16#0458
+/jeemarabic 16#062c
+/jeemfinalarabic 16#fe9e
+/jeeminitialarabic 16#fe9f
+/jeemmedialarabic 16#fea0
+/jeharabic 16#0698
+/jehfinalarabic 16#fb8b
+/jhabengali 16#099d
+/jhadeva 16#091d
+/jhagujarati 16#0a9d
+/jhagurmukhi 16#0a1d
+/jheharmenian 16#057b
+/jis 16#3004
+/jmonospace 16#ff4a
+/jparen 16#24a5
+/jsuperior 16#02b2
+/k 16#006b
+/kabashkircyrillic 16#04a1
+/kabengali 16#0995
+/kacute 16#1e31
+/kacyrillic 16#043a
+/kadescendercyrillic 16#049b
+/kadeva 16#0915
+/kaf 16#05db
+/kafarabic 16#0643
+/kafdagesh 16#fb3b
+/kafdageshhebrew 16#fb3b
+/kaffinalarabic 16#feda
+/kafhebrew 16#05db
+/kafinitialarabic 16#fedb
+/kafmedialarabic 16#fedc
+/kafrafehebrew 16#fb4d
+/kagujarati 16#0a95
+/kagurmukhi 16#0a15
+/kahiragana 16#304b
+/kahookcyrillic 16#04c4
+/kakatakana 16#30ab
+/kakatakanahalfwidth 16#ff76
+/kappa 16#03ba
+/kappasymbolgreek 16#03f0
+/kapyeounmieumkorean 16#3171
+/kapyeounphieuphkorean 16#3184
+/kapyeounpieupkorean 16#3178
+/kapyeounssangpieupkorean 16#3179
+/karoriisquare 16#330d
+/kashidaautoarabic 16#0640
+/kashidaautonosidebearingarabic 16#0640
+/kasmallkatakana 16#30f5
+/kasquare 16#3384
+/kasraarabic 16#0650
+/kasratanarabic 16#064d
+/kastrokecyrillic 16#049f
+/katahiraprolongmarkhalfwidth 16#ff70
+/kaverticalstrokecyrillic 16#049d
+/kbopomofo 16#310e
+/kcalsquare 16#3389
+/kcaron 16#01e9
+/kcedilla 16#0137
+/kcircle 16#24da
+/kcommaaccent 16#0137
+/kdotbelow 16#1e33
+/keharmenian 16#0584
+/kehiragana 16#3051
+/kekatakana 16#30b1
+/kekatakanahalfwidth 16#ff79
+/kenarmenian 16#056f
+/kesmallkatakana 16#30f6
+/kgreenlandic 16#0138
+/khabengali 16#0996
+/khacyrillic 16#0445
+/khadeva 16#0916
+/khagujarati 16#0a96
+/khagurmukhi 16#0a16
+/khaharabic 16#062e
+/khahfinalarabic 16#fea6
+/khahinitialarabic 16#fea7
+/khahmedialarabic 16#fea8
+/kheicoptic 16#03e7
+/khhadeva 16#0959
+/khhagurmukhi 16#0a59
+/khieukhacirclekorean 16#3278
+/khieukhaparenkorean 16#3218
+/khieukhcirclekorean 16#326a
+/khieukhkorean 16#314b
+/khieukhparenkorean 16#320a
+/khokhaithai 16#0e02
+/khokhonthai 16#0e05
+/khokhuatthai 16#0e03
+/khokhwaithai 16#0e04
+/khomutthai 16#0e5b
+/khook 16#0199
+/khorakhangthai 16#0e06
+/khzsquare 16#3391
+/kihiragana 16#304d
+/kikatakana 16#30ad
+/kikatakanahalfwidth 16#ff77
+/kiroguramusquare 16#3315
+/kiromeetorusquare 16#3316
+/kirosquare 16#3314
+/kiyeokacirclekorean 16#326e
+/kiyeokaparenkorean 16#320e
+/kiyeokcirclekorean 16#3260
+/kiyeokkorean 16#3131
+/kiyeokparenkorean 16#3200
+/kiyeoksioskorean 16#3133
+/kjecyrillic 16#045c
+/klinebelow 16#1e35
+/klsquare 16#3398
+/kmcubedsquare 16#33a6
+/kmonospace 16#ff4b
+/kmsquaredsquare 16#33a2
+/kohiragana 16#3053
+/kohmsquare 16#33c0
+/kokaithai 16#0e01
+/kokatakana 16#30b3
+/kokatakanahalfwidth 16#ff7a
+/kooposquare 16#331e
+/koppacyrillic 16#0481
+/koreanstandardsymbol 16#327f
+/koroniscmb 16#0343
+/kparen 16#24a6
+/kpasquare 16#33aa
+/ksicyrillic 16#046f
+/ktsquare 16#33cf
+/kturned 16#029e
+/kuhiragana 16#304f
+/kukatakana 16#30af
+/kukatakanahalfwidth 16#ff78
+/kvsquare 16#33b8
+/kwsquare 16#33be
+/l 16#006c
+/labengali 16#09b2
+/lacute 16#013a
+/ladeva 16#0932
+/lagujarati 16#0ab2
+/lagurmukhi 16#0a32
+/lakkhangyaothai 16#0e45
+/lamaleffinalarabic 16#fefc
+/lamalefhamzaabovefinalarabic 16#fef8
+/lamalefhamzaaboveisolatedarabic 16#fef7
+/lamalefhamzabelowfinalarabic 16#fefa
+/lamalefhamzabelowisolatedarabic 16#fef9
+/lamalefisolatedarabic 16#fefb
+/lamalefmaddaabovefinalarabic 16#fef6
+/lamalefmaddaaboveisolatedarabic 16#fef5
+/lamarabic 16#0644
+/lambda 16#03bb
+/lambdastroke 16#019b
+/lamed 16#05dc
+/lameddagesh 16#fb3c
+/lameddageshhebrew 16#fb3c
+/lamedhebrew 16#05dc
+/lamfinalarabic 16#fede
+/lamhahinitialarabic 16#fcca
+/laminitialarabic 16#fedf
+/lamjeeminitialarabic 16#fcc9
+/lamkhahinitialarabic 16#fccb
+/lamlamhehisolatedarabic 16#fdf2
+/lammedialarabic 16#fee0
+/lammeemhahinitialarabic 16#fd88
+/lammeeminitialarabic 16#fccc
+/largecircle 16#25ef
+/lbar 16#019a
+/lbelt 16#026c
+/lbopomofo 16#310c
+/lcaron 16#013e
+/lcedilla 16#013c
+/lcircle 16#24db
+/lcircumflexbelow 16#1e3d
+/lcommaaccent 16#013c
+/ldot 16#0140
+/ldotaccent 16#0140
+/ldotbelow 16#1e37
+/ldotbelowmacron 16#1e39
+/leftangleabovecmb 16#031a
+/lefttackbelowcmb 16#0318
+/less 16#003c
+/lessequal 16#2264
+/lessequalorgreater 16#22da
+/lessmonospace 16#ff1c
+/lessorequivalent 16#2272
+/lessorgreater 16#2276
+/lessoverequal 16#2266
+/lesssmall 16#fe64
+/lezh 16#026e
+/lfblock 16#258c
+/lhookretroflex 16#026d
+/lira 16#20a4
+/liwnarmenian 16#056c
+/lj 16#01c9
+/ljecyrillic 16#0459
+/ll 16#f6c0
+/lladeva 16#0933
+/llagujarati 16#0ab3
+/llinebelow 16#1e3b
+/llladeva 16#0934
+/llvocalicbengali 16#09e1
+/llvocalicdeva 16#0961
+/llvocalicvowelsignbengali 16#09e3
+/llvocalicvowelsigndeva 16#0963
+/lmiddletilde 16#026b
+/lmonospace 16#ff4c
+/lmsquare 16#33d0
+/lochulathai 16#0e2c
+/logicaland 16#2227
+/logicalnot 16#00ac
+/logicalnotreversed 16#2310
+/logicalor 16#2228
+/lolingthai 16#0e25
+/longs 16#017f
+/lowlinecenterline 16#fe4e
+/lowlinecmb 16#0332
+/lowlinedashed 16#fe4d
+/lozenge 16#25ca
+/lparen 16#24a7
+/lslash 16#0142
+/lsquare 16#2113
+/lsuperior 16#f6ee
+/ltshade 16#2591
+/luthai 16#0e26
+/lvocalicbengali 16#098c
+/lvocalicdeva 16#090c
+/lvocalicvowelsignbengali 16#09e2
+/lvocalicvowelsigndeva 16#0962
+/lxsquare 16#33d3
+/m 16#006d
+/mabengali 16#09ae
+/macron 16#00af
+/macronbelowcmb 16#0331
+/macroncmb 16#0304
+/macronlowmod 16#02cd
+/macronmonospace 16#ffe3
+/macute 16#1e3f
+/madeva 16#092e
+/magujarati 16#0aae
+/magurmukhi 16#0a2e
+/mahapakhhebrew 16#05a4
+/mahapakhlefthebrew 16#05a4
+/mahiragana 16#307e
+/maichattawalowleftthai 16#f895
+/maichattawalowrightthai 16#f894
+/maichattawathai 16#0e4b
+/maichattawaupperleftthai 16#f893
+/maieklowleftthai 16#f88c
+/maieklowrightthai 16#f88b
+/maiekthai 16#0e48
+/maiekupperleftthai 16#f88a
+/maihanakatleftthai 16#f884
+/maihanakatthai 16#0e31
+/maitaikhuleftthai 16#f889
+/maitaikhuthai 16#0e47
+/maitholowleftthai 16#f88f
+/maitholowrightthai 16#f88e
+/maithothai 16#0e49
+/maithoupperleftthai 16#f88d
+/maitrilowleftthai 16#f892
+/maitrilowrightthai 16#f891
+/maitrithai 16#0e4a
+/maitriupperleftthai 16#f890
+/maiyamokthai 16#0e46
+/makatakana 16#30de
+/makatakanahalfwidth 16#ff8f
+/male 16#2642
+/mansyonsquare 16#3347
+/maqafhebrew 16#05be
+/mars 16#2642
+/masoracirclehebrew 16#05af
+/masquare 16#3383
+/mbopomofo 16#3107
+/mbsquare 16#33d4
+/mcircle 16#24dc
+/mcubedsquare 16#33a5
+/mdotaccent 16#1e41
+/mdotbelow 16#1e43
+/meemarabic 16#0645
+/meemfinalarabic 16#fee2
+/meeminitialarabic 16#fee3
+/meemmedialarabic 16#fee4
+/meemmeeminitialarabic 16#fcd1
+/meemmeemisolatedarabic 16#fc48
+/meetorusquare 16#334d
+/mehiragana 16#3081
+/meizierasquare 16#337e
+/mekatakana 16#30e1
+/mekatakanahalfwidth 16#ff92
+/mem 16#05de
+/memdagesh 16#fb3e
+/memdageshhebrew 16#fb3e
+/memhebrew 16#05de
+/menarmenian 16#0574
+/merkhahebrew 16#05a5
+/merkhakefulahebrew 16#05a6
+/merkhakefulalefthebrew 16#05a6
+/merkhalefthebrew 16#05a5
+/mhook 16#0271
+/mhzsquare 16#3392
+/middledotkatakanahalfwidth 16#ff65
+/middot 16#00b7
+/mieumacirclekorean 16#3272
+/mieumaparenkorean 16#3212
+/mieumcirclekorean 16#3264
+/mieumkorean 16#3141
+/mieumpansioskorean 16#3170
+/mieumparenkorean 16#3204
+/mieumpieupkorean 16#316e
+/mieumsioskorean 16#316f
+/mihiragana 16#307f
+/mikatakana 16#30df
+/mikatakanahalfwidth 16#ff90
+/minus 16#2212
+/minusbelowcmb 16#0320
+/minuscircle 16#2296
+/minusmod 16#02d7
+/minusplus 16#2213
+/minute 16#2032
+/miribaarusquare 16#334a
+/mirisquare 16#3349
+/mlonglegturned 16#0270
+/mlsquare 16#3396
+/mmcubedsquare 16#33a3
+/mmonospace 16#ff4d
+/mmsquaredsquare 16#339f
+/mohiragana 16#3082
+/mohmsquare 16#33c1
+/mokatakana 16#30e2
+/mokatakanahalfwidth 16#ff93
+/molsquare 16#33d6
+/momathai 16#0e21
+/moverssquare 16#33a7
+/moverssquaredsquare 16#33a8
+/mparen 16#24a8
+/mpasquare 16#33ab
+/mssquare 16#33b3
+/msuperior 16#f6ef
+/mturned 16#026f
+/mu 16#00b5
+/mu1 16#00b5
+/muasquare 16#3382
+/muchgreater 16#226b
+/muchless 16#226a
+/mufsquare 16#338c
+/mugreek 16#03bc
+/mugsquare 16#338d
+/muhiragana 16#3080
+/mukatakana 16#30e0
+/mukatakanahalfwidth 16#ff91
+/mulsquare 16#3395
+/multiply 16#00d7
+/mumsquare 16#339b
+/munahhebrew 16#05a3
+/munahlefthebrew 16#05a3
+/musicalnote 16#266a
+/musicalnotedbl 16#266b
+/musicflatsign 16#266d
+/musicsharpsign 16#266f
+/mussquare 16#33b2
+/muvsquare 16#33b6
+/muwsquare 16#33bc
+/mvmegasquare 16#33b9
+/mvsquare 16#33b7
+/mwmegasquare 16#33bf
+/mwsquare 16#33bd
+/n 16#006e
+/nabengali 16#09a8
+/nabla 16#2207
+/nacute 16#0144
+/nadeva 16#0928
+/nagujarati 16#0aa8
+/nagurmukhi 16#0a28
+/nahiragana 16#306a
+/nakatakana 16#30ca
+/nakatakanahalfwidth 16#ff85
+/napostrophe 16#0149
+/nasquare 16#3381
+/nbopomofo 16#310b
+/nbspace 16#00a0
+/ncaron 16#0148
+/ncedilla 16#0146
+/ncircle 16#24dd
+/ncircumflexbelow 16#1e4b
+/ncommaaccent 16#0146
+/ndotaccent 16#1e45
+/ndotbelow 16#1e47
+/nehiragana 16#306d
+/nekatakana 16#30cd
+/nekatakanahalfwidth 16#ff88
+/newsheqelsign 16#20aa
+/nfsquare 16#338b
+/ngabengali 16#0999
+/ngadeva 16#0919
+/ngagujarati 16#0a99
+/ngagurmukhi 16#0a19
+/ngonguthai 16#0e07
+/nhiragana 16#3093
+/nhookleft 16#0272
+/nhookretroflex 16#0273
+/nieunacirclekorean 16#326f
+/nieunaparenkorean 16#320f
+/nieuncieuckorean 16#3135
+/nieuncirclekorean 16#3261
+/nieunhieuhkorean 16#3136
+/nieunkorean 16#3134
+/nieunpansioskorean 16#3168
+/nieunparenkorean 16#3201
+/nieunsioskorean 16#3167
+/nieuntikeutkorean 16#3166
+/nihiragana 16#306b
+/nikatakana 16#30cb
+/nikatakanahalfwidth 16#ff86
+/nikhahitleftthai 16#f899
+/nikhahitthai 16#0e4d
+/nine 16#0039
+/ninearabic 16#0669
+/ninebengali 16#09ef
+/ninecircle 16#2468
+/ninecircleinversesansserif 16#2792
+/ninedeva 16#096f
+/ninegujarati 16#0aef
+/ninegurmukhi 16#0a6f
+/ninehackarabic 16#0669
+/ninehangzhou 16#3029
+/nineideographicparen 16#3228
+/nineinferior 16#2089
+/ninemonospace 16#ff19
+/nineoldstyle 16#f739
+/nineparen 16#247c
+/nineperiod 16#2490
+/ninepersian 16#06f9
+/nineroman 16#2178
+/ninesuperior 16#2079
+/nineteencircle 16#2472
+/nineteenparen 16#2486
+/nineteenperiod 16#249a
+/ninethai 16#0e59
+/nj 16#01cc
+/njecyrillic 16#045a
+/nkatakana 16#30f3
+/nkatakanahalfwidth 16#ff9d
+/nlegrightlong 16#019e
+/nlinebelow 16#1e49
+/nmonospace 16#ff4e
+/nmsquare 16#339a
+/nnabengali 16#09a3
+/nnadeva 16#0923
+/nnagujarati 16#0aa3
+/nnagurmukhi 16#0a23
+/nnnadeva 16#0929
+/nohiragana 16#306e
+/nokatakana 16#30ce
+/nokatakanahalfwidth 16#ff89
+/nonbreakingspace 16#00a0
+/nonenthai 16#0e13
+/nonuthai 16#0e19
+/noonarabic 16#0646
+/noonfinalarabic 16#fee6
+/noonghunnaarabic 16#06ba
+/noonghunnafinalarabic 16#fb9f
+/nooninitialarabic 16#fee7
+/noonjeeminitialarabic 16#fcd2
+/noonjeemisolatedarabic 16#fc4b
+/noonmedialarabic 16#fee8
+/noonmeeminitialarabic 16#fcd5
+/noonmeemisolatedarabic 16#fc4e
+/noonnoonfinalarabic 16#fc8d
+/notcontains 16#220c
+/notelement 16#2209
+/notelementof 16#2209
+/notequal 16#2260
+/notgreater 16#226f
+/notgreaternorequal 16#2271
+/notgreaternorless 16#2279
+/notidentical 16#2262
+/notless 16#226e
+/notlessnorequal 16#2270
+/notparallel 16#2226
+/notprecedes 16#2280
+/notsubset 16#2284
+/notsucceeds 16#2281
+/notsuperset 16#2285
+/nowarmenian 16#0576
+/nparen 16#24a9
+/nssquare 16#33b1
+/nsuperior 16#207f
+/ntilde 16#00f1
+/nu 16#03bd
+/nuhiragana 16#306c
+/nukatakana 16#30cc
+/nukatakanahalfwidth 16#ff87
+/nuktabengali 16#09bc
+/nuktadeva 16#093c
+/nuktagujarati 16#0abc
+/nuktagurmukhi 16#0a3c
+/numbersign 16#0023
+/numbersignmonospace 16#ff03
+/numbersignsmall 16#fe5f
+/numeralsigngreek 16#0374
+/numeralsignlowergreek 16#0375
+/numero 16#2116
+/nun 16#05e0
+/nundagesh 16#fb40
+/nundageshhebrew 16#fb40
+/nunhebrew 16#05e0
+/nvsquare 16#33b5
+/nwsquare 16#33bb
+/nyabengali 16#099e
+/nyadeva 16#091e
+/nyagujarati 16#0a9e
+/nyagurmukhi 16#0a1e
+/o 16#006f
+/oacute 16#00f3
+/oangthai 16#0e2d
+/obarred 16#0275
+/obarredcyrillic 16#04e9
+/obarreddieresiscyrillic 16#04eb
+/obengali 16#0993
+/obopomofo 16#311b
+/obreve 16#014f
+/ocandradeva 16#0911
+/ocandragujarati 16#0a91
+/ocandravowelsigndeva 16#0949
+/ocandravowelsigngujarati 16#0ac9
+/ocaron 16#01d2
+/ocircle 16#24de
+/ocircumflex 16#00f4
+/ocircumflexacute 16#1ed1
+/ocircumflexdotbelow 16#1ed9
+/ocircumflexgrave 16#1ed3
+/ocircumflexhookabove 16#1ed5
+/ocircumflextilde 16#1ed7
+/ocyrillic 16#043e
+/odblacute 16#0151
+/odblgrave 16#020d
+/odeva 16#0913
+/odieresis 16#00f6
+/odieresiscyrillic 16#04e7
+/odotbelow 16#1ecd
+/oe 16#0153
+/oekorean 16#315a
+/ogonek 16#02db
+/ogonekcmb 16#0328
+/ograve 16#00f2
+/ogujarati 16#0a93
+/oharmenian 16#0585
+/ohiragana 16#304a
+/ohookabove 16#1ecf
+/ohorn 16#01a1
+/ohornacute 16#1edb
+/ohorndotbelow 16#1ee3
+/ohorngrave 16#1edd
+/ohornhookabove 16#1edf
+/ohorntilde 16#1ee1
+/ohungarumlaut 16#0151
+/oi 16#01a3
+/oinvertedbreve 16#020f
+/okatakana 16#30aa
+/okatakanahalfwidth 16#ff75
+/okorean 16#3157
+/olehebrew 16#05ab
+/omacron 16#014d
+/omacronacute 16#1e53
+/omacrongrave 16#1e51
+/omdeva 16#0950
+/omega 16#03c9
+/omega1 16#03d6
+/omegacyrillic 16#0461
+/omegalatinclosed 16#0277
+/omegaroundcyrillic 16#047b
+/omegatitlocyrillic 16#047d
+/omegatonos 16#03ce
+/omgujarati 16#0ad0
+/omicron 16#03bf
+/omicrontonos 16#03cc
+/omonospace 16#ff4f
+/one 16#0031
+/onearabic 16#0661
+/onebengali 16#09e7
+/onecircle 16#2460
+/onecircleinversesansserif 16#278a
+/onedeva 16#0967
+/onedotenleader 16#2024
+/oneeighth 16#215b
+/onefitted 16#f6dc
+/onegujarati 16#0ae7
+/onegurmukhi 16#0a67
+/onehackarabic 16#0661
+/onehalf 16#00bd
+/onehangzhou 16#3021
+/oneideographicparen 16#3220
+/oneinferior 16#2081
+/onemonospace 16#ff11
+/onenumeratorbengali 16#09f4
+/oneoldstyle 16#f731
+/oneparen 16#2474
+/oneperiod 16#2488
+/onepersian 16#06f1
+/onequarter 16#00bc
+/oneroman 16#2170
+/onesuperior 16#00b9
+/onethai 16#0e51
+/onethird 16#2153
+/oogonek 16#01eb
+/oogonekmacron 16#01ed
+/oogurmukhi 16#0a13
+/oomatragurmukhi 16#0a4b
+/oopen 16#0254
+/oparen 16#24aa
+/openbullet 16#25e6
+/option 16#2325
+/ordfeminine 16#00aa
+/ordmasculine 16#00ba
+/orthogonal 16#221f
+/oshortdeva 16#0912
+/oshortvowelsigndeva 16#094a
+/oslash 16#00f8
+/oslashacute 16#01ff
+/osmallhiragana 16#3049
+/osmallkatakana 16#30a9
+/osmallkatakanahalfwidth 16#ff6b
+/ostrokeacute 16#01ff
+/osuperior 16#f6f0
+/otcyrillic 16#047f
+/otilde 16#00f5
+/otildeacute 16#1e4d
+/otildedieresis 16#1e4f
+/oubopomofo 16#3121
+/overline 16#203e
+/overlinecenterline 16#fe4a
+/overlinecmb 16#0305
+/overlinedashed 16#fe49
+/overlinedblwavy 16#fe4c
+/overlinewavy 16#fe4b
+/overscore 16#00af
+/ovowelsignbengali 16#09cb
+/ovowelsigndeva 16#094b
+/ovowelsigngujarati 16#0acb
+/p 16#0070
+/paampssquare 16#3380
+/paasentosquare 16#332b
+/pabengali 16#09aa
+/pacute 16#1e55
+/padeva 16#092a
+/pagedown 16#21df
+/pageup 16#21de
+/pagujarati 16#0aaa
+/pagurmukhi 16#0a2a
+/pahiragana 16#3071
+/paiyannoithai 16#0e2f
+/pakatakana 16#30d1
+/palatalizationcyrilliccmb 16#0484
+/palochkacyrillic 16#04c0
+/pansioskorean 16#317f
+/paragraph 16#00b6
+/parallel 16#2225
+/parenleft 16#0028
+/parenleftaltonearabic 16#fd3e
+/parenleftbt 16#f8ed
+/parenleftex 16#f8ec
+/parenleftinferior 16#208d
+/parenleftmonospace 16#ff08
+/parenleftsmall 16#fe59
+/parenleftsuperior 16#207d
+/parenlefttp 16#f8eb
+/parenleftvertical 16#fe35
+/parenright 16#0029
+/parenrightaltonearabic 16#fd3f
+/parenrightbt 16#f8f8
+/parenrightex 16#f8f7
+/parenrightinferior 16#208e
+/parenrightmonospace 16#ff09
+/parenrightsmall 16#fe5a
+/parenrightsuperior 16#207e
+/parenrighttp 16#f8f6
+/parenrightvertical 16#fe36
+/partialdiff 16#2202
+/paseqhebrew 16#05c0
+/pashtahebrew 16#0599
+/pasquare 16#33a9
+/patah 16#05b7
+/patah11 16#05b7
+/patah1d 16#05b7
+/patah2a 16#05b7
+/patahhebrew 16#05b7
+/patahnarrowhebrew 16#05b7
+/patahquarterhebrew 16#05b7
+/patahwidehebrew 16#05b7
+/pazerhebrew 16#05a1
+/pbopomofo 16#3106
+/pcircle 16#24df
+/pdotaccent 16#1e57
+/pe 16#05e4
+/pecyrillic 16#043f
+/pedagesh 16#fb44
+/pedageshhebrew 16#fb44
+/peezisquare 16#333b
+/pefinaldageshhebrew 16#fb43
+/peharabic 16#067e
+/peharmenian 16#057a
+/pehebrew 16#05e4
+/pehfinalarabic 16#fb57
+/pehinitialarabic 16#fb58
+/pehiragana 16#307a
+/pehmedialarabic 16#fb59
+/pekatakana 16#30da
+/pemiddlehookcyrillic 16#04a7
+/perafehebrew 16#fb4e
+/percent 16#0025
+/percentarabic 16#066a
+/percentmonospace 16#ff05
+/percentsmall 16#fe6a
+/period 16#002e
+/periodarmenian 16#0589
+/periodcentered 16#00b7
+/periodhalfwidth 16#ff61
+/periodinferior 16#f6e7
+/periodmonospace 16#ff0e
+/periodsmall 16#fe52
+/periodsuperior 16#f6e8
+/perispomenigreekcmb 16#0342
+/perpendicular 16#22a5
+/perthousand 16#2030
+/peseta 16#20a7
+/pfsquare 16#338a
+/phabengali 16#09ab
+/phadeva 16#092b
+/phagujarati 16#0aab
+/phagurmukhi 16#0a2b
+/phi 16#03c6
+/phi1 16#03d5
+/phieuphacirclekorean 16#327a
+/phieuphaparenkorean 16#321a
+/phieuphcirclekorean 16#326c
+/phieuphkorean 16#314d
+/phieuphparenkorean 16#320c
+/philatin 16#0278
+/phinthuthai 16#0e3a
+/phisymbolgreek 16#03d5
+/phook 16#01a5
+/phophanthai 16#0e1e
+/phophungthai 16#0e1c
+/phosamphaothai 16#0e20
+/pi 16#03c0
+/pieupacirclekorean 16#3273
+/pieupaparenkorean 16#3213
+/pieupcieuckorean 16#3176
+/pieupcirclekorean 16#3265
+/pieupkiyeokkorean 16#3172
+/pieupkorean 16#3142
+/pieupparenkorean 16#3205
+/pieupsioskiyeokkorean 16#3174
+/pieupsioskorean 16#3144
+/pieupsiostikeutkorean 16#3175
+/pieupthieuthkorean 16#3177
+/pieuptikeutkorean 16#3173
+/pihiragana 16#3074
+/pikatakana 16#30d4
+/pisymbolgreek 16#03d6
+/piwrarmenian 16#0583
+/plus 16#002b
+/plusbelowcmb 16#031f
+/pluscircle 16#2295
+/plusminus 16#00b1
+/plusmod 16#02d6
+/plusmonospace 16#ff0b
+/plussmall 16#fe62
+/plussuperior 16#207a
+/pmonospace 16#ff50
+/pmsquare 16#33d8
+/pohiragana 16#307d
+/pointingindexdownwhite 16#261f
+/pointingindexleftwhite 16#261c
+/pointingindexrightwhite 16#261e
+/pointingindexupwhite 16#261d
+/pokatakana 16#30dd
+/poplathai 16#0e1b
+/postalmark 16#3012
+/postalmarkface 16#3020
+/pparen 16#24ab
+/precedes 16#227a
+/prescription 16#211e
+/primemod 16#02b9
+/primereversed 16#2035
+/product 16#220f
+/projective 16#2305
+/prolongedkana 16#30fc
+/propellor 16#2318
+/propersubset 16#2282
+/propersuperset 16#2283
+/proportion 16#2237
+/proportional 16#221d
+/psi 16#03c8
+/psicyrillic 16#0471
+/psilipneumatacyrilliccmb 16#0486
+/pssquare 16#33b0
+/puhiragana 16#3077
+/pukatakana 16#30d7
+/pvsquare 16#33b4
+/pwsquare 16#33ba
+/q 16#0071
+/qadeva 16#0958
+/qadmahebrew 16#05a8
+/qafarabic 16#0642
+/qaffinalarabic 16#fed6
+/qafinitialarabic 16#fed7
+/qafmedialarabic 16#fed8
+/qamats 16#05b8
+/qamats10 16#05b8
+/qamats1a 16#05b8
+/qamats1c 16#05b8
+/qamats27 16#05b8
+/qamats29 16#05b8
+/qamats33 16#05b8
+/qamatsde 16#05b8
+/qamatshebrew 16#05b8
+/qamatsnarrowhebrew 16#05b8
+/qamatsqatanhebrew 16#05b8
+/qamatsqatannarrowhebrew 16#05b8
+/qamatsqatanquarterhebrew 16#05b8
+/qamatsqatanwidehebrew 16#05b8
+/qamatsquarterhebrew 16#05b8
+/qamatswidehebrew 16#05b8
+/qarneyparahebrew 16#059f
+/qbopomofo 16#3111
+/qcircle 16#24e0
+/qhook 16#02a0
+/qmonospace 16#ff51
+/qof 16#05e7
+/qofdagesh 16#fb47
+/qofdageshhebrew 16#fb47
+/qofhebrew 16#05e7
+/qparen 16#24ac
+/quarternote 16#2669
+/qubuts 16#05bb
+/qubuts18 16#05bb
+/qubuts25 16#05bb
+/qubuts31 16#05bb
+/qubutshebrew 16#05bb
+/qubutsnarrowhebrew 16#05bb
+/qubutsquarterhebrew 16#05bb
+/qubutswidehebrew 16#05bb
+/question 16#003f
+/questionarabic 16#061f
+/questionarmenian 16#055e
+/questiondown 16#00bf
+/questiondownsmall 16#f7bf
+/questiongreek 16#037e
+/questionmonospace 16#ff1f
+/questionsmall 16#f73f
+/quotedbl 16#0022
+/quotedblbase 16#201e
+/quotedblleft 16#201c
+/quotedblmonospace 16#ff02
+/quotedblprime 16#301e
+/quotedblprimereversed 16#301d
+/quotedblright 16#201d
+/quoteleft 16#2018
+/quoteleftreversed 16#201b
+/quotereversed 16#201b
+/quoteright 16#2019
+/quoterightn 16#0149
+/quotesinglbase 16#201a
+/quotesingle 16#0027
+/quotesinglemonospace 16#ff07
+/r 16#0072
+/raarmenian 16#057c
+/rabengali 16#09b0
+/racute 16#0155
+/radeva 16#0930
+/radical 16#221a
+/radicalex 16#f8e5
+/radoverssquare 16#33ae
+/radoverssquaredsquare 16#33af
+/radsquare 16#33ad
+/rafe 16#05bf
+/rafehebrew 16#05bf
+/ragujarati 16#0ab0
+/ragurmukhi 16#0a30
+/rahiragana 16#3089
+/rakatakana 16#30e9
+/rakatakanahalfwidth 16#ff97
+/ralowerdiagonalbengali 16#09f1
+/ramiddlediagonalbengali 16#09f0
+/ramshorn 16#0264
+/ratio 16#2236
+/rbopomofo 16#3116
+/rcaron 16#0159
+/rcedilla 16#0157
+/rcircle 16#24e1
+/rcommaaccent 16#0157
+/rdblgrave 16#0211
+/rdotaccent 16#1e59
+/rdotbelow 16#1e5b
+/rdotbelowmacron 16#1e5d
+/referencemark 16#203b
+/reflexsubset 16#2286
+/reflexsuperset 16#2287
+/registered 16#00ae
+/registersans 16#f8e8
+/registerserif 16#f6da
+/reharabic 16#0631
+/reharmenian 16#0580
+/rehfinalarabic 16#feae
+/rehiragana 16#308c
+/rekatakana 16#30ec
+/rekatakanahalfwidth 16#ff9a
+/resh 16#05e8
+/reshdageshhebrew 16#fb48
+/reshhebrew 16#05e8
+/reversedtilde 16#223d
+/reviahebrew 16#0597
+/reviamugrashhebrew 16#0597
+/revlogicalnot 16#2310
+/rfishhook 16#027e
+/rfishhookreversed 16#027f
+/rhabengali 16#09dd
+/rhadeva 16#095d
+/rho 16#03c1
+/rhook 16#027d
+/rhookturned 16#027b
+/rhookturnedsuperior 16#02b5
+/rhosymbolgreek 16#03f1
+/rhotichookmod 16#02de
+/rieulacirclekorean 16#3271
+/rieulaparenkorean 16#3211
+/rieulcirclekorean 16#3263
+/rieulhieuhkorean 16#3140
+/rieulkiyeokkorean 16#313a
+/rieulkiyeoksioskorean 16#3169
+/rieulkorean 16#3139
+/rieulmieumkorean 16#313b
+/rieulpansioskorean 16#316c
+/rieulparenkorean 16#3203
+/rieulphieuphkorean 16#313f
+/rieulpieupkorean 16#313c
+/rieulpieupsioskorean 16#316b
+/rieulsioskorean 16#313d
+/rieulthieuthkorean 16#313e
+/rieultikeutkorean 16#316a
+/rieulyeorinhieuhkorean 16#316d
+/rightangle 16#221f
+/righttackbelowcmb 16#0319
+/righttriangle 16#22bf
+/rihiragana 16#308a
+/rikatakana 16#30ea
+/rikatakanahalfwidth 16#ff98
+/ring 16#02da
+/ringbelowcmb 16#0325
+/ringcmb 16#030a
+/ringhalfleft 16#02bf
+/ringhalfleftarmenian 16#0559
+/ringhalfleftbelowcmb 16#031c
+/ringhalfleftcentered 16#02d3
+/ringhalfright 16#02be
+/ringhalfrightbelowcmb 16#0339
+/ringhalfrightcentered 16#02d2
+/rinvertedbreve 16#0213
+/rittorusquare 16#3351
+/rlinebelow 16#1e5f
+/rlongleg 16#027c
+/rlonglegturned 16#027a
+/rmonospace 16#ff52
+/rohiragana 16#308d
+/rokatakana 16#30ed
+/rokatakanahalfwidth 16#ff9b
+/roruathai 16#0e23
+/rparen 16#24ad
+/rrabengali 16#09dc
+/rradeva 16#0931
+/rragurmukhi 16#0a5c
+/rreharabic 16#0691
+/rrehfinalarabic 16#fb8d
+/rrvocalicbengali 16#09e0
+/rrvocalicdeva 16#0960
+/rrvocalicgujarati 16#0ae0
+/rrvocalicvowelsignbengali 16#09c4
+/rrvocalicvowelsigndeva 16#0944
+/rrvocalicvowelsigngujarati 16#0ac4
+/rsuperior 16#f6f1
+/rtblock 16#2590
+/rturned 16#0279
+/rturnedsuperior 16#02b4
+/ruhiragana 16#308b
+/rukatakana 16#30eb
+/rukatakanahalfwidth 16#ff99
+/rupeemarkbengali 16#09f2
+/rupeesignbengali 16#09f3
+/rupiah 16#f6dd
+/ruthai 16#0e24
+/rvocalicbengali 16#098b
+/rvocalicdeva 16#090b
+/rvocalicgujarati 16#0a8b
+/rvocalicvowelsignbengali 16#09c3
+/rvocalicvowelsigndeva 16#0943
+/rvocalicvowelsigngujarati 16#0ac3
+/s 16#0073
+/sabengali 16#09b8
+/sacute 16#015b
+/sacutedotaccent 16#1e65
+/sadarabic 16#0635
+/sadeva 16#0938
+/sadfinalarabic 16#feba
+/sadinitialarabic 16#febb
+/sadmedialarabic 16#febc
+/sagujarati 16#0ab8
+/sagurmukhi 16#0a38
+/sahiragana 16#3055
+/sakatakana 16#30b5
+/sakatakanahalfwidth 16#ff7b
+/sallallahoualayhewasallamarabic 16#fdfa
+/samekh 16#05e1
+/samekhdagesh 16#fb41
+/samekhdageshhebrew 16#fb41
+/samekhhebrew 16#05e1
+/saraaathai 16#0e32
+/saraaethai 16#0e41
+/saraaimaimalaithai 16#0e44
+/saraaimaimuanthai 16#0e43
+/saraamthai 16#0e33
+/saraathai 16#0e30
+/saraethai 16#0e40
+/saraiileftthai 16#f886
+/saraiithai 16#0e35
+/saraileftthai 16#f885
+/saraithai 16#0e34
+/saraothai 16#0e42
+/saraueeleftthai 16#f888
+/saraueethai 16#0e37
+/saraueleftthai 16#f887
+/sarauethai 16#0e36
+/sarauthai 16#0e38
+/sarauuthai 16#0e39
+/sbopomofo 16#3119
+/scaron 16#0161
+/scarondotaccent 16#1e67
+/scedilla 16#015f
+/schwa 16#0259
+/schwacyrillic 16#04d9
+/schwadieresiscyrillic 16#04db
+/schwahook 16#025a
+/scircle 16#24e2
+/scircumflex 16#015d
+/scommaaccent 16#0219
+/sdotaccent 16#1e61
+/sdotbelow 16#1e63
+/sdotbelowdotaccent 16#1e69
+/seagullbelowcmb 16#033c
+/second 16#2033
+/secondtonechinese 16#02ca
+/section 16#00a7
+/seenarabic 16#0633
+/seenfinalarabic 16#feb2
+/seeninitialarabic 16#feb3
+/seenmedialarabic 16#feb4
+/segol 16#05b6
+/segol13 16#05b6
+/segol1f 16#05b6
+/segol2c 16#05b6
+/segolhebrew 16#05b6
+/segolnarrowhebrew 16#05b6
+/segolquarterhebrew 16#05b6
+/segoltahebrew 16#0592
+/segolwidehebrew 16#05b6
+/seharmenian 16#057d
+/sehiragana 16#305b
+/sekatakana 16#30bb
+/sekatakanahalfwidth 16#ff7e
+/semicolon 16#003b
+/semicolonarabic 16#061b
+/semicolonmonospace 16#ff1b
+/semicolonsmall 16#fe54
+/semivoicedmarkkana 16#309c
+/semivoicedmarkkanahalfwidth 16#ff9f
+/sentisquare 16#3322
+/sentosquare 16#3323
+/seven 16#0037
+/sevenarabic 16#0667
+/sevenbengali 16#09ed
+/sevencircle 16#2466
+/sevencircleinversesansserif 16#2790
+/sevendeva 16#096d
+/seveneighths 16#215e
+/sevengujarati 16#0aed
+/sevengurmukhi 16#0a6d
+/sevenhackarabic 16#0667
+/sevenhangzhou 16#3027
+/sevenideographicparen 16#3226
+/seveninferior 16#2087
+/sevenmonospace 16#ff17
+/sevenoldstyle 16#f737
+/sevenparen 16#247a
+/sevenperiod 16#248e
+/sevenpersian 16#06f7
+/sevenroman 16#2176
+/sevensuperior 16#2077
+/seventeencircle 16#2470
+/seventeenparen 16#2484
+/seventeenperiod 16#2498
+/seventhai 16#0e57
+/sfthyphen 16#00ad
+/shaarmenian 16#0577
+/shabengali 16#09b6
+/shacyrillic 16#0448
+/shaddaarabic 16#0651
+/shaddadammaarabic 16#fc61
+/shaddadammatanarabic 16#fc5e
+/shaddafathaarabic 16#fc60
+/shaddakasraarabic 16#fc62
+/shaddakasratanarabic 16#fc5f
+/shade 16#2592
+/shadedark 16#2593
+/shadelight 16#2591
+/shademedium 16#2592
+/shadeva 16#0936
+/shagujarati 16#0ab6
+/shagurmukhi 16#0a36
+/shalshelethebrew 16#0593
+/shbopomofo 16#3115
+/shchacyrillic 16#0449
+/sheenarabic 16#0634
+/sheenfinalarabic 16#feb6
+/sheeninitialarabic 16#feb7
+/sheenmedialarabic 16#feb8
+/sheicoptic 16#03e3
+/sheqel 16#20aa
+/sheqelhebrew 16#20aa
+/sheva 16#05b0
+/sheva115 16#05b0
+/sheva15 16#05b0
+/sheva22 16#05b0
+/sheva2e 16#05b0
+/shevahebrew 16#05b0
+/shevanarrowhebrew 16#05b0
+/shevaquarterhebrew 16#05b0
+/shevawidehebrew 16#05b0
+/shhacyrillic 16#04bb
+/shimacoptic 16#03ed
+/shin 16#05e9
+/shindagesh 16#fb49
+/shindageshhebrew 16#fb49
+/shindageshshindot 16#fb2c
+/shindageshshindothebrew 16#fb2c
+/shindageshsindot 16#fb2d
+/shindageshsindothebrew 16#fb2d
+/shindothebrew 16#05c1
+/shinhebrew 16#05e9
+/shinshindot 16#fb2a
+/shinshindothebrew 16#fb2a
+/shinsindot 16#fb2b
+/shinsindothebrew 16#fb2b
+/shook 16#0282
+/sigma 16#03c3
+/sigma1 16#03c2
+/sigmafinal 16#03c2
+/sigmalunatesymbolgreek 16#03f2
+/sihiragana 16#3057
+/sikatakana 16#30b7
+/sikatakanahalfwidth 16#ff7c
+/siluqhebrew 16#05bd
+/siluqlefthebrew 16#05bd
+/similar 16#223c
+/sindothebrew 16#05c2
+/siosacirclekorean 16#3274
+/siosaparenkorean 16#3214
+/sioscieuckorean 16#317e
+/sioscirclekorean 16#3266
+/sioskiyeokkorean 16#317a
+/sioskorean 16#3145
+/siosnieunkorean 16#317b
+/siosparenkorean 16#3206
+/siospieupkorean 16#317d
+/siostikeutkorean 16#317c
+/six 16#0036
+/sixarabic 16#0666
+/sixbengali 16#09ec
+/sixcircle 16#2465
+/sixcircleinversesansserif 16#278f
+/sixdeva 16#096c
+/sixgujarati 16#0aec
+/sixgurmukhi 16#0a6c
+/sixhackarabic 16#0666
+/sixhangzhou 16#3026
+/sixideographicparen 16#3225
+/sixinferior 16#2086
+/sixmonospace 16#ff16
+/sixoldstyle 16#f736
+/sixparen 16#2479
+/sixperiod 16#248d
+/sixpersian 16#06f6
+/sixroman 16#2175
+/sixsuperior 16#2076
+/sixteencircle 16#246f
+/sixteencurrencydenominatorbengali 16#09f9
+/sixteenparen 16#2483
+/sixteenperiod 16#2497
+/sixthai 16#0e56
+/slash 16#002f
+/slashmonospace 16#ff0f
+/slong 16#017f
+/slongdotaccent 16#1e9b
+/smileface 16#263a
+/smonospace 16#ff53
+/sofpasuqhebrew 16#05c3
+/softhyphen 16#00ad
+/softsigncyrillic 16#044c
+/sohiragana 16#305d
+/sokatakana 16#30bd
+/sokatakanahalfwidth 16#ff7f
+/soliduslongoverlaycmb 16#0338
+/solidusshortoverlaycmb 16#0337
+/sorusithai 16#0e29
+/sosalathai 16#0e28
+/sosothai 16#0e0b
+/sosuathai 16#0e2a
+/space 16#0020
+/spacehackarabic 16#0020
+/spade 16#2660
+/spadesuitblack 16#2660
+/spadesuitwhite 16#2664
+/sparen 16#24ae
+/squarebelowcmb 16#033b
+/squarecc 16#33c4
+/squarecm 16#339d
+/squarediagonalcrosshatchfill 16#25a9
+/squarehorizontalfill 16#25a4
+/squarekg 16#338f
+/squarekm 16#339e
+/squarekmcapital 16#33ce
+/squareln 16#33d1
+/squarelog 16#33d2
+/squaremg 16#338e
+/squaremil 16#33d5
+/squaremm 16#339c
+/squaremsquared 16#33a1
+/squareorthogonalcrosshatchfill 16#25a6
+/squareupperlefttolowerrightfill 16#25a7
+/squareupperrighttolowerleftfill 16#25a8
+/squareverticalfill 16#25a5
+/squarewhitewithsmallblack 16#25a3
+/srsquare 16#33db
+/ssabengali 16#09b7
+/ssadeva 16#0937
+/ssagujarati 16#0ab7
+/ssangcieuckorean 16#3149
+/ssanghieuhkorean 16#3185
+/ssangieungkorean 16#3180
+/ssangkiyeokkorean 16#3132
+/ssangnieunkorean 16#3165
+/ssangpieupkorean 16#3143
+/ssangsioskorean 16#3146
+/ssangtikeutkorean 16#3138
+/ssuperior 16#f6f2
+/sterling 16#00a3
+/sterlingmonospace 16#ffe1
+/strokelongoverlaycmb 16#0336
+/strokeshortoverlaycmb 16#0335
+/subset 16#2282
+/subsetnotequal 16#228a
+/subsetorequal 16#2286
+/succeeds 16#227b
+/suchthat 16#220b
+/suhiragana 16#3059
+/sukatakana 16#30b9
+/sukatakanahalfwidth 16#ff7d
+/sukunarabic 16#0652
+/summation 16#2211
+/sun 16#263c
+/superset 16#2283
+/supersetnotequal 16#228b
+/supersetorequal 16#2287
+/svsquare 16#33dc
+/syouwaerasquare 16#337c
+/t 16#0074
+/tabengali 16#09a4
+/tackdown 16#22a4
+/tackleft 16#22a3
+/tadeva 16#0924
+/tagujarati 16#0aa4
+/tagurmukhi 16#0a24
+/taharabic 16#0637
+/tahfinalarabic 16#fec2
+/tahinitialarabic 16#fec3
+/tahiragana 16#305f
+/tahmedialarabic 16#fec4
+/taisyouerasquare 16#337d
+/takatakana 16#30bf
+/takatakanahalfwidth 16#ff80
+/tatweelarabic 16#0640
+/tau 16#03c4
+/tav 16#05ea
+/tavdages 16#fb4a
+/tavdagesh 16#fb4a
+/tavdageshhebrew 16#fb4a
+/tavhebrew 16#05ea
+/tbar 16#0167
+/tbopomofo 16#310a
+/tcaron 16#0165
+/tccurl 16#02a8
+/tcedilla 16#0163
+/tcheharabic 16#0686
+/tchehfinalarabic 16#fb7b
+/tchehinitialarabic 16#fb7c
+/tchehmedialarabic 16#fb7d
+/tcircle 16#24e3
+/tcircumflexbelow 16#1e71
+/tcommaaccent 16#0163
+/tdieresis 16#1e97
+/tdotaccent 16#1e6b
+/tdotbelow 16#1e6d
+/tecyrillic 16#0442
+/tedescendercyrillic 16#04ad
+/teharabic 16#062a
+/tehfinalarabic 16#fe96
+/tehhahinitialarabic 16#fca2
+/tehhahisolatedarabic 16#fc0c
+/tehinitialarabic 16#fe97
+/tehiragana 16#3066
+/tehjeeminitialarabic 16#fca1
+/tehjeemisolatedarabic 16#fc0b
+/tehmarbutaarabic 16#0629
+/tehmarbutafinalarabic 16#fe94
+/tehmedialarabic 16#fe98
+/tehmeeminitialarabic 16#fca4
+/tehmeemisolatedarabic 16#fc0e
+/tehnoonfinalarabic 16#fc73
+/tekatakana 16#30c6
+/tekatakanahalfwidth 16#ff83
+/telephone 16#2121
+/telephoneblack 16#260e
+/telishagedolahebrew 16#05a0
+/telishaqetanahebrew 16#05a9
+/tencircle 16#2469
+/tenideographicparen 16#3229
+/tenparen 16#247d
+/tenperiod 16#2491
+/tenroman 16#2179
+/tesh 16#02a7
+/tet 16#05d8
+/tetdagesh 16#fb38
+/tetdageshhebrew 16#fb38
+/tethebrew 16#05d8
+/tetsecyrillic 16#04b5
+/tevirhebrew 16#059b
+/tevirlefthebrew 16#059b
+/thabengali 16#09a5
+/thadeva 16#0925
+/thagujarati 16#0aa5
+/thagurmukhi 16#0a25
+/thalarabic 16#0630
+/thalfinalarabic 16#feac
+/thanthakhatlowleftthai 16#f898
+/thanthakhatlowrightthai 16#f897
+/thanthakhatthai 16#0e4c
+/thanthakhatupperleftthai 16#f896
+/theharabic 16#062b
+/thehfinalarabic 16#fe9a
+/thehinitialarabic 16#fe9b
+/thehmedialarabic 16#fe9c
+/thereexists 16#2203
+/therefore 16#2234
+/theta 16#03b8
+/theta1 16#03d1
+/thetasymbolgreek 16#03d1
+/thieuthacirclekorean 16#3279
+/thieuthaparenkorean 16#3219
+/thieuthcirclekorean 16#326b
+/thieuthkorean 16#314c
+/thieuthparenkorean 16#320b
+/thirteencircle 16#246c
+/thirteenparen 16#2480
+/thirteenperiod 16#2494
+/thonangmonthothai 16#0e11
+/thook 16#01ad
+/thophuthaothai 16#0e12
+/thorn 16#00fe
+/thothahanthai 16#0e17
+/thothanthai 16#0e10
+/thothongthai 16#0e18
+/thothungthai 16#0e16
+/thousandcyrillic 16#0482
+/thousandsseparatorarabic 16#066c
+/thousandsseparatorpersian 16#066c
+/three 16#0033
+/threearabic 16#0663
+/threebengali 16#09e9
+/threecircle 16#2462
+/threecircleinversesansserif 16#278c
+/threedeva 16#0969
+/threeeighths 16#215c
+/threegujarati 16#0ae9
+/threegurmukhi 16#0a69
+/threehackarabic 16#0663
+/threehangzhou 16#3023
+/threeideographicparen 16#3222
+/threeinferior 16#2083
+/threemonospace 16#ff13
+/threenumeratorbengali 16#09f6
+/threeoldstyle 16#f733
+/threeparen 16#2476
+/threeperiod 16#248a
+/threepersian 16#06f3
+/threequarters 16#00be
+/threequartersemdash 16#f6de
+/threeroman 16#2172
+/threesuperior 16#00b3
+/threethai 16#0e53
+/thzsquare 16#3394
+/tihiragana 16#3061
+/tikatakana 16#30c1
+/tikatakanahalfwidth 16#ff81
+/tikeutacirclekorean 16#3270
+/tikeutaparenkorean 16#3210
+/tikeutcirclekorean 16#3262
+/tikeutkorean 16#3137
+/tikeutparenkorean 16#3202
+/tilde 16#02dc
+/tildebelowcmb 16#0330
+/tildecmb 16#0303
+/tildecomb 16#0303
+/tildedoublecmb 16#0360
+/tildeoperator 16#223c
+/tildeoverlaycmb 16#0334
+/tildeverticalcmb 16#033e
+/timescircle 16#2297
+/tipehahebrew 16#0596
+/tipehalefthebrew 16#0596
+/tippigurmukhi 16#0a70
+/titlocyrilliccmb 16#0483
+/tiwnarmenian 16#057f
+/tlinebelow 16#1e6f
+/tmonospace 16#ff54
+/toarmenian 16#0569
+/tohiragana 16#3068
+/tokatakana 16#30c8
+/tokatakanahalfwidth 16#ff84
+/tonebarextrahighmod 16#02e5
+/tonebarextralowmod 16#02e9
+/tonebarhighmod 16#02e6
+/tonebarlowmod 16#02e8
+/tonebarmidmod 16#02e7
+/tonefive 16#01bd
+/tonesix 16#0185
+/tonetwo 16#01a8
+/tonos 16#0384
+/tonsquare 16#3327
+/topatakthai 16#0e0f
+/tortoiseshellbracketleft 16#3014
+/tortoiseshellbracketleftsmall 16#fe5d
+/tortoiseshellbracketleftvertical 16#fe39
+/tortoiseshellbracketright 16#3015
+/tortoiseshellbracketrightsmall 16#fe5e
+/tortoiseshellbracketrightvertical 16#fe3a
+/totaothai 16#0e15
+/tpalatalhook 16#01ab
+/tparen 16#24af
+/trademark 16#2122
+/trademarksans 16#f8ea
+/trademarkserif 16#f6db
+/tretroflexhook 16#0288
+/triagdn 16#25bc
+/triaglf 16#25c4
+/triagrt 16#25ba
+/triagup 16#25b2
+/ts 16#02a6
+/tsadi 16#05e6
+/tsadidagesh 16#fb46
+/tsadidageshhebrew 16#fb46
+/tsadihebrew 16#05e6
+/tsecyrillic 16#0446
+/tsere 16#05b5
+/tsere12 16#05b5
+/tsere1e 16#05b5
+/tsere2b 16#05b5
+/tserehebrew 16#05b5
+/tserenarrowhebrew 16#05b5
+/tserequarterhebrew 16#05b5
+/tserewidehebrew 16#05b5
+/tshecyrillic 16#045b
+/tsuperior 16#f6f3
+/ttabengali 16#099f
+/ttadeva 16#091f
+/ttagujarati 16#0a9f
+/ttagurmukhi 16#0a1f
+/tteharabic 16#0679
+/ttehfinalarabic 16#fb67
+/ttehinitialarabic 16#fb68
+/ttehmedialarabic 16#fb69
+/tthabengali 16#09a0
+/tthadeva 16#0920
+/tthagujarati 16#0aa0
+/tthagurmukhi 16#0a20
+/tturned 16#0287
+/tuhiragana 16#3064
+/tukatakana 16#30c4
+/tukatakanahalfwidth 16#ff82
+/tusmallhiragana 16#3063
+/tusmallkatakana 16#30c3
+/tusmallkatakanahalfwidth 16#ff6f
+/twelvecircle 16#246b
+/twelveparen 16#247f
+/twelveperiod 16#2493
+/twelveroman 16#217b
+/twentycircle 16#2473
+/twentyhangzhou 16#5344
+/twentyparen 16#2487
+/twentyperiod 16#249b
+/two 16#0032
+/twoarabic 16#0662
+/twobengali 16#09e8
+/twocircle 16#2461
+/twocircleinversesansserif 16#278b
+/twodeva 16#0968
+/twodotenleader 16#2025
+/twodotleader 16#2025
+/twodotleadervertical 16#fe30
+/twogujarati 16#0ae8
+/twogurmukhi 16#0a68
+/twohackarabic 16#0662
+/twohangzhou 16#3022
+/twoideographicparen 16#3221
+/twoinferior 16#2082
+/twomonospace 16#ff12
+/twonumeratorbengali 16#09f5
+/twooldstyle 16#f732
+/twoparen 16#2475
+/twoperiod 16#2489
+/twopersian 16#06f2
+/tworoman 16#2171
+/twostroke 16#01bb
+/twosuperior 16#00b2
+/twothai 16#0e52
+/twothirds 16#2154
+/u 16#0075
+/uacute 16#00fa
+/ubar 16#0289
+/ubengali 16#0989
+/ubopomofo 16#3128
+/ubreve 16#016d
+/ucaron 16#01d4
+/ucircle 16#24e4
+/ucircumflex 16#00fb
+/ucircumflexbelow 16#1e77
+/ucyrillic 16#0443
+/udattadeva 16#0951
+/udblacute 16#0171
+/udblgrave 16#0215
+/udeva 16#0909
+/udieresis 16#00fc
+/udieresisacute 16#01d8
+/udieresisbelow 16#1e73
+/udieresiscaron 16#01da
+/udieresiscyrillic 16#04f1
+/udieresisgrave 16#01dc
+/udieresismacron 16#01d6
+/udotbelow 16#1ee5
+/ugrave 16#00f9
+/ugujarati 16#0a89
+/ugurmukhi 16#0a09
+/uhiragana 16#3046
+/uhookabove 16#1ee7
+/uhorn 16#01b0
+/uhornacute 16#1ee9
+/uhorndotbelow 16#1ef1
+/uhorngrave 16#1eeb
+/uhornhookabove 16#1eed
+/uhorntilde 16#1eef
+/uhungarumlaut 16#0171
+/uhungarumlautcyrillic 16#04f3
+/uinvertedbreve 16#0217
+/ukatakana 16#30a6
+/ukatakanahalfwidth 16#ff73
+/ukcyrillic 16#0479
+/ukorean 16#315c
+/umacron 16#016b
+/umacroncyrillic 16#04ef
+/umacrondieresis 16#1e7b
+/umatragurmukhi 16#0a41
+/umonospace 16#ff55
+/underscore 16#005f
+/underscoredbl 16#2017
+/underscoremonospace 16#ff3f
+/underscorevertical 16#fe33
+/underscorewavy 16#fe4f
+/union 16#222a
+/universal 16#2200
+/uogonek 16#0173
+/uparen 16#24b0
+/upblock 16#2580
+/upperdothebrew 16#05c4
+/upsilon 16#03c5
+/upsilondieresis 16#03cb
+/upsilondieresistonos 16#03b0
+/upsilonlatin 16#028a
+/upsilontonos 16#03cd
+/uptackbelowcmb 16#031d
+/uptackmod 16#02d4
+/uragurmukhi 16#0a73
+/uring 16#016f
+/ushortcyrillic 16#045e
+/usmallhiragana 16#3045
+/usmallkatakana 16#30a5
+/usmallkatakanahalfwidth 16#ff69
+/ustraightcyrillic 16#04af
+/ustraightstrokecyrillic 16#04b1
+/utilde 16#0169
+/utildeacute 16#1e79
+/utildebelow 16#1e75
+/uubengali 16#098a
+/uudeva 16#090a
+/uugujarati 16#0a8a
+/uugurmukhi 16#0a0a
+/uumatragurmukhi 16#0a42
+/uuvowelsignbengali 16#09c2
+/uuvowelsigndeva 16#0942
+/uuvowelsigngujarati 16#0ac2
+/uvowelsignbengali 16#09c1
+/uvowelsigndeva 16#0941
+/uvowelsigngujarati 16#0ac1
+/v 16#0076
+/vadeva 16#0935
+/vagujarati 16#0ab5
+/vagurmukhi 16#0a35
+/vakatakana 16#30f7
+/vav 16#05d5
+/vavdagesh 16#fb35
+/vavdagesh65 16#fb35
+/vavdageshhebrew 16#fb35
+/vavhebrew 16#05d5
+/vavholam 16#fb4b
+/vavholamhebrew 16#fb4b
+/vavvavhebrew 16#05f0
+/vavyodhebrew 16#05f1
+/vcircle 16#24e5
+/vdotbelow 16#1e7f
+/vecyrillic 16#0432
+/veharabic 16#06a4
+/vehfinalarabic 16#fb6b
+/vehinitialarabic 16#fb6c
+/vehmedialarabic 16#fb6d
+/vekatakana 16#30f9
+/venus 16#2640
+/verticalbar 16#007c
+/verticallineabovecmb 16#030d
+/verticallinebelowcmb 16#0329
+/verticallinelowmod 16#02cc
+/verticallinemod 16#02c8
+/vewarmenian 16#057e
+/vhook 16#028b
+/vikatakana 16#30f8
+/viramabengali 16#09cd
+/viramadeva 16#094d
+/viramagujarati 16#0acd
+/visargabengali 16#0983
+/visargadeva 16#0903
+/visargagujarati 16#0a83
+/vmonospace 16#ff56
+/voarmenian 16#0578
+/voicediterationhiragana 16#309e
+/voicediterationkatakana 16#30fe
+/voicedmarkkana 16#309b
+/voicedmarkkanahalfwidth 16#ff9e
+/vokatakana 16#30fa
+/vparen 16#24b1
+/vtilde 16#1e7d
+/vturned 16#028c
+/vuhiragana 16#3094
+/vukatakana 16#30f4
+/w 16#0077
+/wacute 16#1e83
+/waekorean 16#3159
+/wahiragana 16#308f
+/wakatakana 16#30ef
+/wakatakanahalfwidth 16#ff9c
+/wakorean 16#3158
+/wasmallhiragana 16#308e
+/wasmallkatakana 16#30ee
+/wattosquare 16#3357
+/wavedash 16#301c
+/wavyunderscorevertical 16#fe34
+/wawarabic 16#0648
+/wawfinalarabic 16#feee
+/wawhamzaabovearabic 16#0624
+/wawhamzaabovefinalarabic 16#fe86
+/wbsquare 16#33dd
+/wcircle 16#24e6
+/wcircumflex 16#0175
+/wdieresis 16#1e85
+/wdotaccent 16#1e87
+/wdotbelow 16#1e89
+/wehiragana 16#3091
+/weierstrass 16#2118
+/wekatakana 16#30f1
+/wekorean 16#315e
+/weokorean 16#315d
+/wgrave 16#1e81
+/whitebullet 16#25e6
+/whitecircle 16#25cb
+/whitecircleinverse 16#25d9
+/whitecornerbracketleft 16#300e
+/whitecornerbracketleftvertical 16#fe43
+/whitecornerbracketright 16#300f
+/whitecornerbracketrightvertical 16#fe44
+/whitediamond 16#25c7
+/whitediamondcontainingblacksmalldiamond 16#25c8
+/whitedownpointingsmalltriangle 16#25bf
+/whitedownpointingtriangle 16#25bd
+/whiteleftpointingsmalltriangle 16#25c3
+/whiteleftpointingtriangle 16#25c1
+/whitelenticularbracketleft 16#3016
+/whitelenticularbracketright 16#3017
+/whiterightpointingsmalltriangle 16#25b9
+/whiterightpointingtriangle 16#25b7
+/whitesmallsquare 16#25ab
+/whitesmilingface 16#263a
+/whitesquare 16#25a1
+/whitestar 16#2606
+/whitetelephone 16#260f
+/whitetortoiseshellbracketleft 16#3018
+/whitetortoiseshellbracketright 16#3019
+/whiteuppointingsmalltriangle 16#25b5
+/whiteuppointingtriangle 16#25b3
+/wihiragana 16#3090
+/wikatakana 16#30f0
+/wikorean 16#315f
+/wmonospace 16#ff57
+/wohiragana 16#3092
+/wokatakana 16#30f2
+/wokatakanahalfwidth 16#ff66
+/won 16#20a9
+/wonmonospace 16#ffe6
+/wowaenthai 16#0e27
+/wparen 16#24b2
+/wring 16#1e98
+/wsuperior 16#02b7
+/wturned 16#028d
+/wynn 16#01bf
+/x 16#0078
+/xabovecmb 16#033d
+/xbopomofo 16#3112
+/xcircle 16#24e7
+/xdieresis 16#1e8d
+/xdotaccent 16#1e8b
+/xeharmenian 16#056d
+/xi 16#03be
+/xmonospace 16#ff58
+/xparen 16#24b3
+/xsuperior 16#02e3
+/y 16#0079
+/yaadosquare 16#334e
+/yabengali 16#09af
+/yacute 16#00fd
+/yadeva 16#092f
+/yaekorean 16#3152
+/yagujarati 16#0aaf
+/yagurmukhi 16#0a2f
+/yahiragana 16#3084
+/yakatakana 16#30e4
+/yakatakanahalfwidth 16#ff94
+/yakorean 16#3151
+/yamakkanthai 16#0e4e
+/yasmallhiragana 16#3083
+/yasmallkatakana 16#30e3
+/yasmallkatakanahalfwidth 16#ff6c
+/yatcyrillic 16#0463
+/ycircle 16#24e8
+/ycircumflex 16#0177
+/ydieresis 16#00ff
+/ydotaccent 16#1e8f
+/ydotbelow 16#1ef5
+/yeharabic 16#064a
+/yehbarreearabic 16#06d2
+/yehbarreefinalarabic 16#fbaf
+/yehfinalarabic 16#fef2
+/yehhamzaabovearabic 16#0626
+/yehhamzaabovefinalarabic 16#fe8a
+/yehhamzaaboveinitialarabic 16#fe8b
+/yehhamzaabovemedialarabic 16#fe8c
+/yehinitialarabic 16#fef3
+/yehmedialarabic 16#fef4
+/yehmeeminitialarabic 16#fcdd
+/yehmeemisolatedarabic 16#fc58
+/yehnoonfinalarabic 16#fc94
+/yehthreedotsbelowarabic 16#06d1
+/yekorean 16#3156
+/yen 16#00a5
+/yenmonospace 16#ffe5
+/yeokorean 16#3155
+/yeorinhieuhkorean 16#3186
+/yerahbenyomohebrew 16#05aa
+/yerahbenyomolefthebrew 16#05aa
+/yericyrillic 16#044b
+/yerudieresiscyrillic 16#04f9
+/yesieungkorean 16#3181
+/yesieungpansioskorean 16#3183
+/yesieungsioskorean 16#3182
+/yetivhebrew 16#059a
+/ygrave 16#1ef3
+/yhook 16#01b4
+/yhookabove 16#1ef7
+/yiarmenian 16#0575
+/yicyrillic 16#0457
+/yikorean 16#3162
+/yinyang 16#262f
+/yiwnarmenian 16#0582
+/ymonospace 16#ff59
+/yod 16#05d9
+/yoddagesh 16#fb39
+/yoddageshhebrew 16#fb39
+/yodhebrew 16#05d9
+/yodyodhebrew 16#05f2
+/yodyodpatahhebrew 16#fb1f
+/yohiragana 16#3088
+/yoikorean 16#3189
+/yokatakana 16#30e8
+/yokatakanahalfwidth 16#ff96
+/yokorean 16#315b
+/yosmallhiragana 16#3087
+/yosmallkatakana 16#30e7
+/yosmallkatakanahalfwidth 16#ff6e
+/yotgreek 16#03f3
+/yoyaekorean 16#3188
+/yoyakorean 16#3187
+/yoyakthai 16#0e22
+/yoyingthai 16#0e0d
+/yparen 16#24b4
+/ypogegrammeni 16#037a
+/ypogegrammenigreekcmb 16#0345
+/yr 16#01a6
+/yring 16#1e99
+/ysuperior 16#02b8
+/ytilde 16#1ef9
+/yturned 16#028e
+/yuhiragana 16#3086
+/yuikorean 16#318c
+/yukatakana 16#30e6
+/yukatakanahalfwidth 16#ff95
+/yukorean 16#3160
+/yusbigcyrillic 16#046b
+/yusbigiotifiedcyrillic 16#046d
+/yuslittlecyrillic 16#0467
+/yuslittleiotifiedcyrillic 16#0469
+/yusmallhiragana 16#3085
+/yusmallkatakana 16#30e5
+/yusmallkatakanahalfwidth 16#ff6d
+/yuyekorean 16#318b
+/yuyeokorean 16#318a
+/yyabengali 16#09df
+/yyadeva 16#095f
+/z 16#007a
+/zaarmenian 16#0566
+/zacute 16#017a
+/zadeva 16#095b
+/zagurmukhi 16#0a5b
+/zaharabic 16#0638
+/zahfinalarabic 16#fec6
+/zahinitialarabic 16#fec7
+/zahiragana 16#3056
+/zahmedialarabic 16#fec8
+/zainarabic 16#0632
+/zainfinalarabic 16#feb0
+/zakatakana 16#30b6
+/zaqefgadolhebrew 16#0595
+/zaqefqatanhebrew 16#0594
+/zarqahebrew 16#0598
+/zayin 16#05d6
+/zayindagesh 16#fb36
+/zayindageshhebrew 16#fb36
+/zayinhebrew 16#05d6
+/zbopomofo 16#3117
+/zcaron 16#017e
+/zcircle 16#24e9
+/zcircumflex 16#1e91
+/zcurl 16#0291
+/zdot 16#017c
+/zdotaccent 16#017c
+/zdotbelow 16#1e93
+/zecyrillic 16#0437
+/zedescendercyrillic 16#0499
+/zedieresiscyrillic 16#04df
+/zehiragana 16#305c
+/zekatakana 16#30bc
+/zero 16#0030
+/zeroarabic 16#0660
+/zerobengali 16#09e6
+/zerodeva 16#0966
+/zerogujarati 16#0ae6
+/zerogurmukhi 16#0a66
+/zerohackarabic 16#0660
+/zeroinferior 16#2080
+/zeromonospace 16#ff10
+/zerooldstyle 16#f730
+/zeropersian 16#06f0
+/zerosuperior 16#2070
+/zerothai 16#0e50
+/zerowidthjoiner 16#feff
+/zerowidthnonjoiner 16#200c
+/zerowidthspace 16#200b
+/zeta 16#03b6
+/zhbopomofo 16#3113
+/zhearmenian 16#056a
+/zhebrevecyrillic 16#04c2
+/zhecyrillic 16#0436
+/zhedescendercyrillic 16#0497
+/zhedieresiscyrillic 16#04dd
+/zihiragana 16#3058
+/zikatakana 16#30b8
+/zinorhebrew 16#05ae
+/zlinebelow 16#1e95
+/zmonospace 16#ff5a
+/zohiragana 16#305e
+/zokatakana 16#30be
+/zparen 16#24b5
+/zretroflexhook 16#0290
+/zstroke 16#01b6
+/zuhiragana 16#305a
+/zukatakana 16#30ba
+.dicttomark readonly def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding .findencoding
+/MacGlyphEncoding
+/.notdef/.null/CR
+4 index 32 95 getinterval aload pop
+99 index 128 45 getinterval aload pop
+/notequal/AE
+/Oslash/infinity/plusminus/lessequal/greaterequal
+/yen/mu1/partialdiff/summation/product
+/pi/integral/ordfeminine/ordmasculine/Ohm
+/ae/oslash/questiondown/exclamdown/logicalnot
+/radical/florin/approxequal/increment/guillemotleft
+/guillemotright/ellipsis/nbspace
+174 index 203 12 getinterval aload pop
+/lozenge
+187 index 216 24 getinterval aload pop
+/applelogo
+212 index 241 7 getinterval aload pop
+/overscore
+220 index 249 7 getinterval aload pop
+/Lslash/lslash/Scaron/scaron
+/Zcaron/zcaron/brokenbar/Eth/eth
+/Yacute/yacute/Thorn/thorn/minus
+/multiply/onesuperior/twosuperior/threesuperior/onehalf
+/onequarter/threequarters/franc/Gbreve/gbreve
+/Idotaccent/Scedilla/scedilla/Cacute/cacute
+/Ccaron/ccaron/dmacron
+260 -1 roll pop
+258 packedarray
+7 1 index .registerencoding
+.defineencoding
+exec
+
+%%BeginResource: file (PDF object obj_1)
+1 0 obj
+<<>>endobj
+%%EndResource
+%%EndProlog
+%begin_xml_code
+/pdfmark where {pop true} {false} ifelse
+/currentdistillerparams where {pop currentdistillerparams
+/CoreDistVersion get 5000 ge } {false} ifelse
+and not {userdict /pdfmark /cleartomark load put} if
+[/NamespacePush pdfmark
+[/_objdef {exiftool_metadata_stream} /type /stream /OBJ pdfmark
+[{exiftool_metadata_stream} 2 dict begin /Type /Metadata def
+ /Subtype /XML def currentdict end /PUT pdfmark
+/MetadataString 2943 string def % exact length of metadata
+/TempString 100 string def
+/ConsumeMetadata {
+currentfile TempString readline pop pop
+currentfile MetadataString readstring pop pop
+} bind def
+ConsumeMetadata
+%begin_xml_packet: 2943
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+
+ <rdf:Description rdf:about=''
+ xmlns:dc='http://purl.org/dc/elements/1.1/'>
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li>Zamzar</rdf:li>
+ </rdf:Seq>
+ </dc:creator>
+ </rdf:Description>
+
+ <rdf:Description rdf:about=''
+ xmlns:pdf='http://ns.adobe.com/pdf/1.3/'>
+ <pdf:Producer>Zamzar</pdf:Producer>
+ </rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end='w'?>
+%end_xml_packet
+[{exiftool_metadata_stream} MetadataString /PUT pdfmark
+[/Document 1 dict begin
+ /Metadata {exiftool_metadata_stream} def currentdict end /BDC pdfmark
+[/NamespacePop pdfmark
+%end_xml_code
+%%Page: 1 1
+%%BeginPageSetup
+4 0 obj
+<</Type/Page/MediaBox [0 0 256 256]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+%%EndPageSetup
+/pagesave save def
+5 0 obj
+<</Length 3978>>stream
+q 0.1 0 0 0.1 0 0 cm
+0.141113 0.160889 0.219727 RG
+0.141113 0.160889 0.219727 rg
+600 2560 m
+1960 2560 l
+2291.37 2560 2560 2291.37 2560 1960 c
+2560 600 l
+2560 268.629 2291.37 0 1960 0 c
+600 0 l
+268.629 0 0 268.629 0 600 c
+0 1960 l
+0 2291.37 268.629 2560 600 2560 c
+h
+600 2560 m
+f
+1 0.176514 0.125488 RG
+1 0.176514 0.125488 rg
+2158.48 1776.87 m
+2159.1 1774.41 2159.45 1771.91 2159.45 1769.41 c
+2159.45 1377.38 l
+2159.45 1372.38 2158.13 1367.42 2155.66 1363.09 c
+2153.16 1358.71 2149.57 1355.12 2145.27 1352.62 c
+1820.82 1163.2 l
+1820.82 787.73 l
+1820.82 777.539 1815.47 768.09 1806.72 762.93 c
+1129.45 367.582 l
+1127.89 366.719 1126.21 366.129 1124.53 365.512 c
+1123.87 365.309 1123.28 364.922 1122.62 364.73 c
+1117.89 363.48 1112.89 363.48 1108.16 364.73 c
+1107.38 364.961 1106.68 365.391 1105.94 365.66 c
+1104.41 366.211 1102.77 366.719 1101.29 367.582 c
+424.18 762.93 l
+419.84 765.469 416.289 769.059 413.789 773.398 c
+411.328 777.77 410 782.699 410 787.73 c
+410 1963.71 l
+410 1966.29 410.352 1968.79 410.98 1971.21 c
+411.211 1972.03 411.68 1972.77 411.988 1973.59 c
+412.5 1975.12 413.012 1976.64 413.789 1978.05 c
+414.301 1978.98 415.078 1979.73 415.699 1980.59 c
+416.52 1981.72 417.27 1982.89 418.199 1983.91 c
+419.02 1984.73 420.078 1985.31 420.98 1986.05 c
+422.031 1986.91 422.93 1987.81 424.102 1988.52 c
+424.141 1988.52 l
+762.699 2186.17 l
+766.988 2188.67 771.879 2190 776.801 2190 c
+781.762 2190 786.602 2188.67 790.898 2186.17 c
+1129.49 1988.52 l
+1129.57 1988.52 l
+1130.66 1987.77 1131.64 1986.91 1132.66 1986.09 c
+1133.55 1985.35 1134.61 1984.73 1135.39 1983.95 c
+1136.41 1982.89 1137.11 1981.72 1137.93 1980.59 c
+1138.55 1979.73 1139.34 1978.98 1139.84 1978.05 c
+1140.66 1976.6 1141.09 1975.12 1141.68 1973.59 c
+1141.95 1972.77 1142.46 1972.03 1142.66 1971.17 c
+1143.32 1968.75 1143.63 1966.25 1143.63 1963.71 c
+1143.63 1229.22 l
+1425.78 1393.95 l
+1425.78 1769.41 l
+1425.78 1771.91 1426.13 1774.45 1426.8 1776.87 c
+1427.03 1777.73 1427.46 1778.48 1427.77 1779.3 c
+1428.32 1780.78 1428.83 1782.34 1429.61 1783.71 c
+1430.12 1784.65 1430.9 1785.39 1431.48 1786.25 c
+1432.34 1787.38 1433.05 1788.59 1434.02 1789.57 c
+1434.84 1790.39 1435.86 1791.02 1436.8 1791.72 c
+1437.85 1792.58 1438.75 1793.52 1439.88 1794.18 c
+1439.92 1794.18 l
+1778.55 1991.87 l
+1782.81 1994.37 1787.7 1995.7 1792.66 1995.7 c
+1797.58 1995.7 1802.46 1994.37 1806.72 1991.87 c
+2145.31 1794.18 l
+2146.52 1793.48 2147.42 1792.58 2148.48 1791.76 c
+2149.38 1791.05 2150.39 1790.39 2151.21 1789.61 c
+2152.19 1788.59 2152.89 1787.38 2153.75 1786.25 c
+2154.38 1785.39 2155.16 1784.65 2155.63 1783.71 c
+2156.45 1782.34 2156.91 1780.78 2157.46 1779.3 c
+2157.77 1778.48 2158.24 1777.73 2158.48 1776.87 c
+h
+2103.01 1393.95 m
+2103.01 1719.92 l
+1984.49 1650.74 l
+1820.82 1555.2 l
+1820.82 1229.22 l
+2103.05 1393.95 l
+h
+1764.41 804.301 m
+1764.41 1130.47 l
+1603.4 1037.23 l
+1143.59 771.129 l
+1143.59 441.871 l
+h
+466.449 1914.22 m
+466.449 804.301 l
+1087.19 441.91 l
+1087.19 771.09 l
+762.891 957.191 l
+762.66 957.34 l
+761.559 957.969 760.629 958.91 759.609 959.691 c
+758.75 960.391 757.699 960.98 756.949 961.762 c
+756.879 961.871 l
+755.941 962.77 755.309 963.871 754.531 964.879 c
+753.828 965.82 753.012 966.641 752.422 967.66 c
+752.379 967.77 l
+751.762 968.828 751.371 970.121 750.898 971.328 c
+750.43 972.379 749.84 973.398 749.57 974.531 c
+749.57 974.609 l
+749.219 975.941 749.141 977.379 749.02 978.789 c
+748.871 979.84 748.59 980.898 748.59 981.988 c
+748.59 1749.49 l
+584.922 1845.12 l
+466.449 1914.18 l
+h
+776.84 2128.36 m
+494.73 1963.71 l
+776.762 1799.06 l
+1058.83 1963.75 l
+776.762 2128.36 l
+h
+923.551 1100.74 m
+1087.23 1196.29 l
+1087.23 1914.22 l
+968.711 1845.08 l
+805.039 1749.49 l
+805.039 1031.52 l
+h
+1792.66 1934.06 m
+1510.55 1769.41 l
+1792.66 1604.73 l
+2074.69 1769.41 l
+h
+1764.41 1555.2 m
+1600.7 1650.74 l
+1482.23 1719.92 l
+1482.23 1393.95 l
+1645.9 1298.4 l
+1764.41 1229.22 l
+h
+1115.35 820.59 m
+1529.1 1060.12 l
+1735.9 1179.8 l
+1454.06 1344.37 l
+1129.53 1154.88 l
+833.75 982.23 l
+h
+1115.35 820.59 m
+f*
+Q
+
+endstream
+endobj
+pagesave restore
+%%PageTrailer
+%%Trailer
+end
+[/EMC pdfmark
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..77e8015dbf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light.eps
new file mode 100644
index 0000000000..e28929c234
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..adcb0f32ab
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark.eps
new file mode 100644
index 0000000000..622a2bdaa9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..52cd862397
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light.eps
new file mode 100644
index 0000000000..604deb2626
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn-eps-converted-to.pdf
new file mode 100644
index 0000000000..b662d5068a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn.eps
new file mode 100644
index 0000000000..3d0a3ba129
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..9b8da50e74
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark.eps
new file mode 100644
index 0000000000..8e12fb13b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..b743629e8f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light.eps
new file mode 100644
index 0000000000..9c9faa38fe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..3d3dd669c6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark.eps
new file mode 100644
index 0000000000..c4b9d9c34d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..d7b878dcc8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x]͍0T
+,!L51(Ja?;`q^?{ _upj$ 6YV9qJVҩRE*[
+
+8/ħʿ] {~ @:QNe)w0iTT:iV%v[s.#"K0mm=S:Ż¹ Pz+sfش/c&W=[L~tx;:zendstream
+endobj
+6 0 obj
+246
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:21:32+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:21:32+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:9dc1eb78-143f-11ef-0000-5632226cfd5e'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132132+02'00')
+/ModDate(D:20240514132132+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000793 00000 n
+0000002115 00000 n
+0000000734 00000 n
+0000000620 00000 n
+0000000285 00000 n
+0000000601 00000 n
+0000000857 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<9203CEF1D1528CA3E940A0A89F56E81C><9203CEF1D1528CA3E940A0A89F56E81C>]
+>>
+startxref
+2240
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light.eps
new file mode 100644
index 0000000000..0bc062c09f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..4685664ddb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark.eps
new file mode 100644
index 0000000000..c386135a8e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ffc5257c89
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light.eps
new file mode 100644
index 0000000000..6bc7fcc410
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c569905a7b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark.eps
new file mode 100644
index 0000000000..69e1cd5b88
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c1082ceb3e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light.eps
new file mode 100644
index 0000000000..dc8d193222
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..26cd9381e5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark.eps
new file mode 100644
index 0000000000..5ed1596d6e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c2bedc92e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light.eps
new file mode 100644
index 0000000000..325ed446d6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..d56f904fdb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark.eps
new file mode 100644
index 0000000000..a0efb06f41
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..48e35d9b1a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light.eps
new file mode 100644
index 0000000000..d416815de5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..19f92d133c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark.eps
new file mode 100644
index 0000000000..6d88a75469
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..7953361a65
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light.eps
new file mode 100644
index 0000000000..625df0bce9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bd06834ce7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark.eps
new file mode 100644
index 0000000000..4c0aacf92d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f2666a3ef8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light.eps
new file mode 100644
index 0000000000..7f5aeeb912
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6e83fa7d7f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark.eps
new file mode 100644
index 0000000000..d50aea63e1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..105f2affe5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light.eps
new file mode 100644
index 0000000000..32594ca53d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f419965902
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark.eps
new file mode 100644
index 0000000000..efa1e3cd14
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..29d6f134da
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light.eps
new file mode 100644
index 0000000000..088b301f1c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB-eps-converted-to.pdf
new file mode 100644
index 0000000000..ab43790a3c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB.eps
new file mode 100644
index 0000000000..31d467e53a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a2365119c5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark.eps
new file mode 100644
index 0000000000..2bc14173e1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c7dc1f54c9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light.eps
new file mode 100644
index 0000000000..a5cce12788
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..150e78faa4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark.eps
new file mode 100644
index 0000000000..447fa136cc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f21c1a81e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light.eps
new file mode 100644
index 0000000000..d37c7da953
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..14e29438f9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark.eps
new file mode 100644
index 0000000000..a2da0033d8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c9ad812087
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light.eps
new file mode 100644
index 0000000000..95e7647015
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..2b4bdb05a9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark.eps
new file mode 100644
index 0000000000..8a98239efb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9881993174
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light.eps
new file mode 100644
index 0000000000..d30c53c614
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b9d29613e7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark.eps
new file mode 100644
index 0000000000..a2d0ef2f0f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..80d56b44b0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light.eps
new file mode 100644
index 0000000000..22750d19a9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx-eps-converted-to.pdf
new file mode 100644
index 0000000000..ed120287e0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx-eps-converted-to.pdf
@@ -0,0 +1,72 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x]RIn0 |!n@Crh(iSMR9p#Aϧǣ%0"2D糩utV|o4kLBI=gr(U\d&)iHZw"3nO9}.}ka#!y&Y*G& d_7ALjȱN)A/qBƎT#6BG;Y{zW{APCAL)`B,!A8?Q0%`qT >^-&T35QN!6zL~k='zyڧL" Q=&8hXҵP{i~~Geendstream
+endobj
+6 0 obj
+343
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:21:58+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:21:58+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:ad413479-143f-11ef-0000-6264b987948e'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132158+02'00')
+/ModDate(D:20240514132158+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000890 00000 n
+0000002212 00000 n
+0000000831 00000 n
+0000000717 00000 n
+0000000285 00000 n
+0000000698 00000 n
+0000000954 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<80111CB5CA82E172B62B2EC0FB161974><80111CB5CA82E172B62B2EC0FB161974>]
+>>
+startxref
+2337
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx.eps
new file mode 100644
index 0000000000..dc15d72453
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c49c17e74a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark.eps
new file mode 100644
index 0000000000..9d62f8b65f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..3220db1934
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light.eps
new file mode 100644
index 0000000000..0503c3262d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b0f277a221
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark.eps
new file mode 100644
index 0000000000..c0c3286930
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..004d238308
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light.eps
new file mode 100644
index 0000000000..b5a8523f65
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..72319324a2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark.eps
new file mode 100644
index 0000000000..ba1d50e3c2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c0b8e6033d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light.eps
new file mode 100644
index 0000000000..0f51d6b856
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6977052452
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark.eps
new file mode 100644
index 0000000000..9d1f6496b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ca18223ec1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light.eps
new file mode 100644
index 0000000000..d2155264eb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..92f722042c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark.eps
new file mode 100644
index 0000000000..c67d371b4f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..82afe8a6b6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light.eps
new file mode 100644
index 0000000000..d0679a4f87
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..24b16f19d4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark.eps
new file mode 100644
index 0000000000..24d9bdf215
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..dc0f0e3945
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light.eps
new file mode 100644
index 0000000000..6671c9f529
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml-eps-converted-to.pdf
new file mode 100644
index 0000000000..7ccb9562ea
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml.eps
new file mode 100644
index 0000000000..18cd354e7d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8c1df55f55
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark.eps
new file mode 100644
index 0000000000..e82467c792
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..423d806bef
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light.eps
new file mode 100644
index 0000000000..3dae072040
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ce0297bf1c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark.eps
new file mode 100644
index 0000000000..fd2b37febe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f61cdf54ad
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light.eps
new file mode 100644
index 0000000000..099fb4174b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..999815acab
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark.eps
new file mode 100644
index 0000000000..1563aa00dd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a0d5a9d347
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light.eps
new file mode 100644
index 0000000000..457e91ec23
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift-eps-converted-to.pdf
new file mode 100644
index 0000000000..d9346b773b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift.eps
new file mode 100644
index 0000000000..829cacddd0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a14960e554
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark-eps-converted-to.pdf
@@ -0,0 +1,77 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x}SAn1 {)"7,9?tծ X1ь[%j~ֺ-9B8ߟnR:V}
+&u/ YJ=[՗ٔm#j,kܥ2|<BCJt*fV%
+rNl+ ҔIQtk4Yk(Aq"PR$/
+L!66Y7F҃pApE7MNI u(x
+DYƞehd)! 2/QhWdCM#fSpiF {=h~3G1izL;'
+^1DK#Ho7@VckjBY6e7DZa-{6&|c|0/"Dy>k0p>eMendstream
+endobj
+6 0 obj
+417
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:17+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:17+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:b8945ff9-143f-11ef-0000-42db723814c0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132217+02'00')
+/ModDate(D:20240514132217+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000964 00000 n
+0000002286 00000 n
+0000000905 00000 n
+0000000791 00000 n
+0000000285 00000 n
+0000000772 00000 n
+0000001028 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<6BFBF67C784A0C67ABF4AC57B5DC43EA><6BFBF67C784A0C67ABF4AC57B5DC43EA>]
+>>
+startxref
+2411
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark.eps
new file mode 100644
index 0000000000..d7f66b6633
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..249ceea3ab
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x}R10
+)(y""CY..`3Kq8#Ʌ8HՅ=
+q#N.%?׾3qAM.x=3ձ@i1J)W:3mu#3uwHKP*:Y0ȭ4b8_m<V&iRoW]'Ld[:%!*u
+#JiNf(\QͰ]#?ĀK#w2,ܺ\'ؿE:zOFFŖCl˅ D]fd7\mN<"rȆ?D1oxjw7DˍZ#Z=i[>*kg GR156Lendstream
+endobj
+6 0 obj
+414
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:18+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:18+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:b92cf679-143f-11ef-0000-55eefeaa6718'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132218+02'00')
+/ModDate(D:20240514132218+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000961 00000 n
+0000002283 00000 n
+0000000902 00000 n
+0000000788 00000 n
+0000000285 00000 n
+0000000769 00000 n
+0000001025 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<4B3333D88114217777019C5912217D50><4B3333D88114217777019C5912217D50>]
+>>
+startxref
+2408
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light.eps
new file mode 100644
index 0000000000..f5f8c43faf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ed6859ea4c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark.eps
new file mode 100644
index 0000000000..403698f999
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f89132bd08
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light.eps
new file mode 100644
index 0000000000..5650e63ab3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl-eps-converted-to.pdf
new file mode 100644
index 0000000000..bae36ad8ab
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl.eps
new file mode 100644
index 0000000000..038aa1c3b4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Perl.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop-eps-converted-to.pdf
new file mode 100644
index 0000000000..ff79dee8f4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop.eps
new file mode 100644
index 0000000000..013fc93d85
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..456261ac45
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark.eps
new file mode 100644
index 0000000000..fadfd3b9ba
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..dd0a918eaa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light.eps
new file mode 100644
index 0000000000..557d56dd36
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..199a4b60b2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark.eps
new file mode 100644
index 0000000000..690785b7b0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..aa320f699a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light.eps
new file mode 100644
index 0000000000..a2b3994495
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a534947504
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark.eps
new file mode 100644
index 0000000000..7a63955b42
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..17b23e36ad
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light.eps
new file mode 100644
index 0000000000..ea684811e1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b910a94312
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark.eps
new file mode 100644
index 0000000000..2fea477678
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a54bbf6021
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light.eps
new file mode 100644
index 0000000000..d4d195a996
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..1e882887bf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark.eps
new file mode 100644
index 0000000000..a01d662273
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..4edc705aed
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xUQKn! s "~Fv[_4F}Hc7e~% gIt.˽&^ia(
+5oi><0A0Pt?r+ \V2D^hTrkTzcov1Uapu
+* vy5P[]kl%DCiJ+gk՗nPǠgjR$$fO< /v2m!~
+f(*]iC&
+RwHzmendstream
+endobj
+6 0 obj
+267
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:32+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:32+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c1853179-143f-11ef-0000-d2a1f615688a'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132232+02'00')
+/ModDate(D:20240514132232+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000814 00000 n
+0000002136 00000 n
+0000000755 00000 n
+0000000641 00000 n
+0000000285 00000 n
+0000000622 00000 n
+0000000878 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<CA601CED247D5BA4CFD18B4F50535480><CA601CED247D5BA4CFD18B4F50535480>]
+>>
+startxref
+2261
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light.eps
new file mode 100644
index 0000000000..18b19d2c21
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b49c8e5287
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x9 E{N f8Ɯ!H'(JE}גcKz&22s@.S)U*^6,WOv21u9ObYv..y(! v<xq`JB6|;ָM
+V)c,"!e:Z e.K}jtUiٛ
+@xaUpa9=sendstream
+endobj
+6 0 obj
+193
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:33+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:33+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c21dc7f9-143f-11ef-0000-f3e78ec3ceea'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132233+02'00')
+/ModDate(D:20240514132233+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000740 00000 n
+0000002062 00000 n
+0000000681 00000 n
+0000000567 00000 n
+0000000285 00000 n
+0000000548 00000 n
+0000000804 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<CF685D63F20291188B68CEDB92103D0F><CF685D63F20291188B68CEDB92103D0F>]
+>>
+startxref
+2187
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark.eps
new file mode 100644
index 0000000000..20b8ed579d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..71ecbd5379
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x; D{N {h?ERl_(Q>*7`%-q X|5bQN&.GȻX&;j`KDl8l{0X%!>vk\u„Sf,GLGcR&}pS
+*-{SP!ǔ*8-_
+rj{>sendstream
+endobj
+6 0 obj
+194
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:34+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:34+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c2b65e79-143f-11ef-0000-ab49e726f3b3'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132234+02'00')
+/ModDate(D:20240514132234+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000741 00000 n
+0000002063 00000 n
+0000000682 00000 n
+0000000568 00000 n
+0000000285 00000 n
+0000000549 00000 n
+0000000805 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<FD6D8016CB701F989050C854DFA57B86><FD6D8016CB701F989050C854DFA57B86>]
+>>
+startxref
+2188
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light.eps
new file mode 100644
index 0000000000..ee37a24a4e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6ad727aa95
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark.eps
new file mode 100644
index 0000000000..31b334e161
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a16b5ebea
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light.eps
new file mode 100644
index 0000000000..94380203e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman-eps-converted-to.pdf
new file mode 100644
index 0000000000..fc441be28b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman.eps
new file mode 100644
index 0000000000..21197318b0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Postman.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ec2fe9f2fa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark.eps
new file mode 100644
index 0000000000..cd7fff3790
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..3022992615
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light.eps
new file mode 100644
index 0000000000..b160b7c00e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere-eps-converted-to.pdf
new file mode 100644
index 0000000000..add20ad1d1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere.eps
new file mode 100644
index 0000000000..a9e5ce3b9a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma-eps-converted-to.pdf
new file mode 100644
index 0000000000..eb708de0ae
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma.eps
new file mode 100644
index 0000000000..ae7237af6d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..488a480d37
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMAn D>O<8AW]=REh7~q __1y3aI`gISg.)j/"']+:ґp,m\h6mwK ~20mś%Mj//=eXkN<NfY}*JӸ9ɭ){W}ʆL
+e/:,\
+nX3qMÓY 7FXendstream
+endobj
+6 0 obj
+231
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:42+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:42+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c77b1279-143f-11ef-0000-297ed21add61'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132242+02'00')
+/ModDate(D:20240514132242+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000778 00000 n
+0000002100 00000 n
+0000000719 00000 n
+0000000605 00000 n
+0000000285 00000 n
+0000000586 00000 n
+0000000842 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<205D28A55DF50ECEAA21DE8A1A34E712><205D28A55DF50ECEAA21DE8A1A34E712>]
+>>
+startxref
+2225
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark.eps
new file mode 100644
index 0000000000..a6564ba0a4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..8cc9067805
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light-eps-converted-to.pdf
@@ -0,0 +1,73 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMAn0E tE#D"Y^&vFQ$d;{2+buJ#UjԙO<e^\ %lw,xOW)6xއ"
+ؖţXҸv(¥SʒF-:z6ʤOocXR.޲EgƎa?#$LL )$ȬJ5Xendstream
+endobj
+6 0 obj
+228
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:43+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:43+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c813a8f9-143f-11ef-0000-5b9f8bf91f3e'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132243+02'00')
+/ModDate(D:20240514132243+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000775 00000 n
+0000002097 00000 n
+0000000716 00000 n
+0000000602 00000 n
+0000000285 00000 n
+0000000583 00000 n
+0000000839 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<D1E24EB79A1DFF5CF31DE424C51D0B83><D1E24EB79A1DFF5CF31DE424C51D0B83>]
+>>
+startxref
+2222
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light.eps
new file mode 100644
index 0000000000..7c041c10cb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus-eps-converted-to.pdf
new file mode 100644
index 0000000000..7d4da67313
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus.eps
new file mode 100644
index 0000000000..cda66e4b0b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..d6b0d8bffd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark.eps
new file mode 100644
index 0000000000..afc1686b8e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..14162be23a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light.eps
new file mode 100644
index 0000000000..ce96daf3b5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..072199629b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark.eps
new file mode 100644
index 0000000000..6af9b5c6e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..78420a03e2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light.eps
new file mode 100644
index 0000000000..90f40c04db
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..98caa42d81
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark.eps
new file mode 100644
index 0000000000..6be51006cb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..76678b9cd6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeQKn%1> c,:yJRS"P{}׎-08ncԯ"~P|~ d,ԫL;+܏PV%3II[,,vi\Яך,n)aO}ԴCBC%AJrtiy@h^ ՝R7:C,
+:Ct[,7b8ya *1ΙƑ6@cM9h?*ҲyDf "J C&5qZx<ׯ
+!t λZjCxnd^xrb([, Aa_<gϰ b){?&\endstream
+endobj
+6 0 obj
+374
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:50+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:50+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:cc3fc679-143f-11ef-0000-301f98f61832'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132250+02'00')
+/ModDate(D:20240514132250+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000921 00000 n
+0000002243 00000 n
+0000000862 00000 n
+0000000748 00000 n
+0000000285 00000 n
+0000000729 00000 n
+0000000985 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<BECE75A013B819E010A4EDACBF6FFBCD><BECE75A013B819E010A4EDACBF6FFBCD>]
+>>
+startxref
+2368
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light.eps
new file mode 100644
index 0000000000..7000f9377a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..61b138b419
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark.eps
new file mode 100644
index 0000000000..5b3a1e1771
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..60485ba5fc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light.eps
new file mode 100644
index 0000000000..178210a911
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..aaa3a5fd11
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark.eps
new file mode 100644
index 0000000000..6ac64f7644
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2e6dbf01f1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light.eps
new file mode 100644
index 0000000000..72d8bb5b1d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..9caf2149d0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark.eps
new file mode 100644
index 0000000000..056db29f08
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..68e2371062
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light.eps
new file mode 100644
index 0000000000..aab97cfd5a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..2fd186122a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark.eps
new file mode 100644
index 0000000000..abccfc2449
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9788224a94
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light.eps
new file mode 100644
index 0000000000..ef2e094be5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f0ef1356c4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark.eps
new file mode 100644
index 0000000000..4decf8b158
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2a11876374
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmSK1}pa,-/hiW_tan6v`bLzdEx}7U"D 9}d&\vaFaVX(^8;Qj>jQX73 -e&]]3
+#d0-ZC>bi@9JE/?-3էy?0!,Ib"ʨaZCĤ:Td!ð͎pL~3YIj굜V.3g-o /]`dpb5NHi㼦[vVUC}0L.G&趢wl,h].Z|Xi*x끯g="<&`1aL"F=+ƞS\9W&zμz$niDax
+\V;h~k1LKb%r=JR{fsbtJC>ۋendstream
+endobj
+6 0 obj
+493
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:22:56+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:22:56+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:cfd34d79-143f-11ef-0000-d18420bf1de0'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132256+02'00')
+/ModDate(D:20240514132256+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000001040 00000 n
+0000002362 00000 n
+0000000981 00000 n
+0000000867 00000 n
+0000000285 00000 n
+0000000848 00000 n
+0000001104 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<DD9F4AB111CCB2D8A88765E7100C408E><DD9F4AB111CCB2D8A88765E7100C408E>]
+>>
+startxref
+2487
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light.eps
new file mode 100644
index 0000000000..658deff38f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails-eps-converted-to.pdf
new file mode 100644
index 0000000000..c7842e6fb4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails.eps
new file mode 100644
index 0000000000..498410bd4f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rails.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..7eebd49c0f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark.eps
new file mode 100644
index 0000000000..daa8e8beca
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..0c96aaabe9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light.eps
new file mode 100644
index 0000000000..7184ba8c91
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..83a7f9e3fa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark.eps
new file mode 100644
index 0000000000..3c6480924b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f885766199
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light.eps
new file mode 100644
index 0000000000..0f0b6cfd12
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..801b4c7825
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark.eps
new file mode 100644
index 0000000000..e00bc531fc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2471bf3bc9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light.eps
new file mode 100644
index 0000000000..b96465dfc4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6553fdeb20
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark.eps
new file mode 100644
index 0000000000..694700980b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..221c4fc06f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light.eps
new file mode 100644
index 0000000000..a1849795a4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..19d61c1ba7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark.eps
new file mode 100644
index 0000000000..13df8aac4c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e98ba1420d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light.eps
new file mode 100644
index 0000000000..0f18c843c6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux-eps-converted-to.pdf
new file mode 100644
index 0000000000..a8f12e95d5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux.eps
new file mode 100644
index 0000000000..3738a9bec3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Redux.eps
@@ -0,0 +1,8471 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 0 0 256 256
+%%HiResBoundingBox: 0.00 0.00 256.00 256.00
+%%Creator: (Zamzar)
+%%LanguageLevel: 2
+%%CreationDate: D:20240513225524Z00'00'
+%%Pages: 1
+%%Copyright: (Zamzar)
+%%EndComments
+%%BeginProlog
+/DSC_OPDFREAD true def
+/SetPageSize false def
+/EPS2Write true def
+currentdict/DSC_OPDFREAD known{
+currentdict/DSC_OPDFREAD get
+}{
+false
+}ifelse
+10 dict begin
+/DSC_OPDFREAD exch def
+/this currentdict def
+/y 720 def
+/ebuf 200 string def
+/prnt{
+36//this/y get moveto//ebuf cvs show
+//this/y 2 copy get 12 sub put
+}bind def
+/newline{
+36//this/y get moveto
+//this/y 2 copy get 12 sub put
+}bind def
+errordict/handleerror
+{systemdict begin
+$error begin
+newerror
+{(%%[ Error handled by opdfread.ps : )print errorname//ebuf cvs print(; OffendingCommand: )
+print/command load//ebuf cvs print( ]%%)= flush
+/newerror false store vmstatus pop pop 0 ne
+{grestoreall
+}if
+errorname(VMerror)ne
+{showpage
+}if
+initgraphics
+0 720 moveto
+errorname(VMerror)eq
+{//this/ehsave known
+{clear//this/ehsave get restore 2 vmreclaim
+}if
+vmstatus exch pop exch pop
+}
+/Courier 12 selectfont
+{
+(ERROR: )//prnt exec errorname//prnt exec
+(OFFENDING COMMAND: )//prnt exec
+/command load//prnt exec
+$error/ostack known{
+(%%[STACK:)=
+(STACK:)//prnt exec
+$error/ostack get aload length{
+//newline exec
+dup mark eq{
+(-mark-)dup = show
+}{
+dup type/nametype eq{
+dup xcheck not{
+(/)show
+(/)print
+}if
+}if
+dup =//ebuf cvs show
+}ifelse
+}repeat
+}if
+}ifelse
+(%%]%)=
+//systemdict/showpage get exec
+quit
+}if
+end
+end
+}bind readonly put
+end
+50 dict begin
+/DefaultSwitch
+{
+dup where{
+pop pop
+}{
+false def
+}ifelse
+}bind def
+/=string 256 string def
+/=only{
+//=string cvs print
+}bind def
+/HexDigits(0123456789ABCDEF)readonly def
+/PrintHex
+{8{
+dup -28 bitshift 15 and//HexDigits exch 1 getinterval//=only exec
+4 bitshift
+}repeat
+pop
+}bind def
+/PDFR_DEBUG DefaultSwitch
+/PDFR_DUMP DefaultSwitch
+/PDFR_STREAM DefaultSwitch
+/TTFDEBUG DefaultSwitch
+/RotatePages DefaultSwitch
+/FitPages DefaultSwitch
+/CenterPages DefaultSwitch
+/SetPageSize DefaultSwitch
+/error
+{
+counttomark 1 sub -1 0{
+index dup type/arraytype eq{==}{=only}ifelse
+}for
+()=
+cleartomark
+....Undefined
+}bind def
+//SetPageSize{
+//RotatePages//FitPages or//CenterPages or{
+mark(/RotatePages, /FitPages and CenterPages are not allowed with /SetPageSize)//error exec
+}if
+}
+{
+//FitPages//CenterPages and{
+mark(CenterPages is not allowed with /FitPages)//error exec
+}if
+}
+ifelse
+/knownget
+{
+2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/IsUpper
+{dup(A)0 get ge exch(Z)0 get le and
+}bind def
+/cpa2g{
+dup length array
+0 1 2 index length 1 sub{
+dup 3 index exch get cp2g
+3 copy put pop pop
+}for
+exch pop
+}bind def
+/cpd2g{
+dup length dict exch{
+cp2g 2 index 3 1 roll put
+}forall
+}bind def
+/cps2g{
+dup length string copy
+}bind def
+/cp2gprocs
+<</arraytype//cpa2g/dicttype//cpd2g/packedarraytype//cpa2g/stringtype//cps2g >>
+def
+/cp2g{
+dup gcheck not{
+dup//cp2gprocs 1 index type
+2 copy known{
+get currentglobal 3 1 roll true setglobal exec exch setglobal
+1 index wcheck not{readonly}if
+1 index xcheck{cvx}if
+exch pop
+}{
+pop pop
+}ifelse
+}if
+}bind def
+/BlockBuffer 65535 string def
+/PDFReader currentdict def
+/ObjectRegistryMaxLength 50000 def
+/ObjectRegistry 10 dict def
+ObjectRegistry
+begin
+0 ObjectRegistryMaxLength dict def
+end
+/CurrentObject null def
+/DoneDocumentStructure false def
+/GraphicState 20 dict begin
+/InitialTextMatrix matrix def
+/InitialMatrix matrix currentmatrix def
+currentdict end def
+/TempMatrix matrix def
+/GraphicStateStack 20 array def
+/GraphicStateStackPointer 0 def
+/InitialTextMatrixStack 20 array def
+/InitialTextMatrixStackPointer 0 def
+/PDFColorSpaces 50 dict def
+/InstalledFonts 50 dict def
+/MacRomanEncodingInverse null def
+currentglobal false setglobal
+userdict/PDFR_InitialGS gstate put
+userdict/PDFR_Patterns 50 dict put
+userdict/FuncDataReader 10 dict put
+setglobal
+/InitialExtGState 20 dict begin
+/BG2 currentblackgeneration cp2g def
+/UCR2 currentundercolorremoval cp2g def
+/TR2 currentglobal false setglobal[currentcolortransfer]exch setglobal cp2g def
+/HT currenthalftone cp2g def
+currentdict end readonly def
+/InitialGraphicState 20 dict begin
+/FontSize 0 def
+/CharacterSpacing 0 def
+/TextLeading 0 def
+/TextRenderingMode 0 def
+/WordSpacing 0 def
+currentdict end readonly def
+/SimpleColorSpaceNames 15 dict begin
+/DeviceGray true def
+/DeviceRGB true def
+/DeviceCMYK true def
+currentdict end readonly def
+/1_24_bitshift_1_sub 1 24 bitshift 1 sub def
+/ReadFontProcs 10 dict def
+/GetObject
+{
+dup ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get exch knownget{
+exch knownget
+}{
+pop false
+}ifelse
+}bind def
+/PutObject
+{
+1 index ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get 1 index knownget{
+exch pop
+3 1 roll put
+}{
+//PDFReader/ObjectRegistry get dup
+begin
+1 index ObjectRegistryMaxLength dict def
+end
+exch get
+3 1 roll put
+}ifelse
+}bind def
+/Register
+{
+1 index GetObject{
+dup xcheck{
+4 3 roll pop
+//PDFR_DEBUG{
+(Have a daemon for )print 2 index ==
+}if
+exec
+}{
+dup null ne{
+mark(The object )4 index(is already defined : )4 index//error exec
+}{
+pop
+}ifelse
+3 2 roll
+exec
+}ifelse
+}{
+3 2 roll
+exec
+}ifelse
+PutObject
+}bind def
+/IsRegistered
+{
+GetObject{
+null ne
+}{
+false
+}ifelse
+}bind def
+/GetRegistered
+{
+dup GetObject not{
+exch mark exch(Object )exch( isn't defined before needed (1).)//error exec
+}if
+dup xcheck{
+exch mark exch(Object )exch( isn't defined before needed (2).)//error exec
+}{
+dup null eq{
+exch mark exch(Object )exch( isn't defined before needed (3).)//error exec
+}if
+exch pop
+}ifelse
+}bind def
+/StandardFontNames<<
+/Times-Roman true
+/Helvetica true
+/Courier true
+/Symbol true
+/Times-Bold true
+/Helvetica-Bold true
+/Courier-Bold true
+/ZapfDingbats true
+/Times-Italic true
+/Helvetica-Oblique true
+/Courier-Oblique true
+/Times-BoldItalic true
+/Helvetica-BoldOblique true
+/Courier-BoldOblique true
+>>def
+/CleanAllResources
+{//PDFR_DEBUG{
+(CleanAllResources beg)=
+}if
+//PDFReader/ObjectRegistry get{
+dup length 0 exch 1 exch 1 sub{
+2 copy get dup xcheck{
+pop pop
+}{
+dup null eq{
+pop pop
+}{
+dup type/dicttype eq{/.Global known}{pop false}ifelse{
+pop
+}{
+//PDFR_DEBUG{
+(Dropping )print dup =
+}if
+1 index exch/DroppedObject put
+}ifelse
+}ifelse
+}ifelse
+}for
+pop
+}forall
+FontDirectory length dict begin
+FontDirectory{
+pop
+dup//StandardFontNames exch known not{
+dup null def
+}if
+pop
+}forall
+currentdict
+end{
+pop
+//PDFR_DEBUG{
+(Undefining font )print dup =
+}if
+undefinefont
+}forall
+//PDFR_DEBUG{
+(CleanAllResources end)=
+}if
+}bind def
+/PrintReference
+{
+//PDFR_DEBUG{
+({ )print
+dup{
+=only( )print
+}forall
+( })=
+}if
+}bind def
+/R
+{
+0 ne{
+exch mark exch(A referred object generation )exch( isn't 0.)//error exec
+}if
+[
+exch//GetRegistered/exec load
+]cvx
+//PrintReference exec
+}bind def
+/IsObjRef
+{
+dup type/arraytype eq{
+dup length 3 eq{
+dup xcheck exch
+dup 0 get type/integertype eq 3 2 roll and exch
+dup 1 get//GetRegistered eq 3 2 roll and exch
+2 get/exec load eq and
+}{
+pop false
+}ifelse
+}{
+pop false
+}ifelse
+}bind def
+/DoNothing
+{
+}def
+/RunTypeDaemon
+{
+dup type/dicttype eq{
+dup/Type//knownget exec{
+//PDFReader/TypeDaemons get exch
+//knownget exec{
+exec
+}if
+}if
+}if
+}bind def
+/obj
+{
+//PDFR_DEBUG{
+(Defining )print 1 index =only( )print dup =only( obj)=
+}if
+0 ne{
+exch mark exch(An object generation )exch( isn't 0.)//error exec
+}if
+}bind def
+/endobj
+{
+//PDFR_DEBUG{
+(endobj )=
+}if
+count 1 eq{
+pop
+}{
+dup type/dicttype eq{
+dup/.endobj_daemon//knownget exec{
+//PDFR_DEBUG{(.endobj_daemon for )print 2 index =}if
+exec
+}if
+}if
+dup type/dicttype eq{dup/ImmediateExec known}{false}ifelse{
+pop pop
+}{
+//PDFR_DEBUG{
+(Storing )print 1 index =
+}if
+//RunTypeDaemon exec
+//DoNothing 3 1 roll//Register exec
+}ifelse
+}ifelse
+}bind def
+/StoreBlock
+{
+//PDFR_DEBUG{
+(StoreBlock )print//PDFReader/BlockCount get =only(, Length = )print dup length =
+}if
+dup length string copy
+//PDFReader/BlockCount get exch
+//PDFReader/CurrentObject get 3 1 roll
+put
+//PDFReader/BlockCount get 1 add
+//PDFReader exch/BlockCount exch put
+}bind def
+/CheckLength
+{dup type/integertype ne{
+mark(Object length isn't an integer.)//error exec
+}if
+}bind def
+/ResolveD
+{
+3 copy pop get
+dup//IsObjRef exec{
+//PDFR_DEBUG{
+(Resolving )print//PrintReference exec
+}if
+exec
+exch exec
+}{
+exch pop
+}ifelse
+dup 4 1 roll
+put
+}bind def
+/ResolveA
+{2 index 2 index get
+dup//IsObjRef exec{
+exec
+exch exec
+3 copy put
+}{
+exch pop
+}ifelse
+exch pop exch pop
+}bind def
+/StoreStream
+{
+dup//PDFReader exch/CurrentObject exch put
+//PDFReader/BlockCount 0 put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(StoreStream Length = )print dup =
+}if
+currentfile exch()/SubFileDecode filter
+{dup//BlockBuffer readstring{
+//StoreBlock exec
+}{
+//StoreBlock exec
+exit
+}ifelse
+}loop
+pop
+//PDFReader/CurrentObject null put
+//PDFR_DEBUG{
+(StoreStream end.)=
+}if
+}bind def
+/MakeStreamDumper
+{
+//PDFR_DEBUG{
+(MakeStreamDumper beg.)=
+}if
+currentglobal exch dup gcheck setglobal
+[exch
+1 dict dup/c 0 put exch
+1024 string
+{readstring pop
+(StreamDumper )print 1 index/c get =string cvs print( )print
+dup length =string cvs print( <)print dup print(>\n)print
+dup length
+3 2 roll
+dup/c get
+3 2 roll
+add/c exch put
+}/exec load
+]
+cvx 0()/SubFileDecode filter
+exch setglobal
+//PDFR_DEBUG{
+(MakeStreamDumper end.)=
+}if
+}bind def
+/ShortFilterNames 15 dict begin
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/AppendFilters
+{
+//PDFR_DEBUG{
+(AppendFilters beg.)=
+}if
+dup 3 1 roll
+/Filter//knownget exec{
+dup type/nametype eq{
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+2 index/DecodeParms//knownget exec{
+exch
+}if
+filter
+}{
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+3 1 roll
+4 index/DecodeParms//knownget exec{
+exch get
+}{
+pop null
+}ifelse
+dup null eq{
+pop 3 1 roll filter exch
+}{
+3 1 roll
+4 1 roll filter exch
+}ifelse
+}for
+pop
+}ifelse
+//PDFR_DEBUG//PDFR_DUMP and{
+//MakeStreamDumper exec
+}if
+}if
+exch pop
+//PDFR_DEBUG{
+(AppendFilters end.)=
+}if
+}bind def
+/ExecuteStream
+{
+dup//PDFReader exch/CurrentObject exch put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(ExecuteStream id = )print 2 index =only( Length = )print dup =
+}if
+//PDFReader/InitialGraphicState get
+//PDFReader/GraphicState get copy pop
+//PDFReader/Operators get begin
+currentfile exch()/SubFileDecode filter
+1 index//AppendFilters exec
+cvx mark exch
+exec
+counttomark 0 ne{
+mark(Data left on ostack after an immediate stream execution.)//error exec
+}if
+cleartomark
+end
+//PDFR_DEBUG{
+(ExecuteStream end.)=
+}if
+//PDFReader/CurrentObject null put
+dup/IsPage known{
+dup/Context get/NumCopies//knownget exec{
+1 sub{
+copypage
+}repeat
+}if
+EPS2Write not{showpage}if
+}if
+}bind def
+/stream
+{
+//PDFR_DEBUG{
+1 index =only( stream)=
+}if
+1 index GetObject{
+dup xcheck{
+exec
+1 index null PutObject
+}{
+pop
+}ifelse
+}if
+dup/ImmediateExec known{
+dup/GlobalExec//knownget exec{
+currentglobal 4 1 roll
+setglobal
+//ExecuteStream exec
+3 2 roll setglobal
+}{
+//ExecuteStream exec
+}ifelse
+}{
+//StoreStream exec
+}ifelse
+dup/.CleanResources//knownget exec{
+/All eq{
+//CleanAllResources exec
+}if
+}if
+}bind def
+/HookFont
+{
+//PDFR_DEBUG{
+(Loaded the font )print dup/FontName get =
+}if
+{
+dup/FontFileType get dup/Type1 eq exch/MMType1 eq or{
+dup/FontName get
+//PDFReader/RemoveFontNamePrefix get exec
+findfont
+exit
+}if
+dup/FontFileType get/TrueType eq{
+//PDFReader/MakeType42 get exec
+//PDFR_DEBUG{
+(Font dict <<)=
+dup{
+1 index/sfnts eq{
+exch pop
+(/sfnts [)print
+{
+(-string\()print length//=only exec(\)- )=
+}forall
+(])=
+}{
+exch//=only exec( )print ==
+}ifelse
+}forall
+(>>)=
+}if
+dup/FontName get exch definefont
+exit
+}if
+mark(FontHook has no proc for )2 index/FontFileType get//error exec
+}loop
+/Font exch put
+}bind def
+/endstream
+{
+}bind def
+/xref
+{
+//PDFR_DEBUG{
+(xref)=
+//PDFR_DUMP{
+//PDFReader/ObjectRegistry get ==
+}if
+}if
+end
+count 0 ne{
+mark(Excessive data on estack at the end of the interpretation.)//error exec
+}if
+currentfile 1(%%EOF)/SubFileDecode filter
+flushfile
+cleardictstack
+}bind def
+/ResolveDict
+{dup{
+pop 1 index exch
+//DoNothing//ResolveD exec
+pop
+}forall
+pop
+}bind def
+/SetupPageView
+{
+//PDFR_DEBUG{
+(SetupPageView beg)=
+}if
+//DSC_OPDFREAD not{
+//GraphicState/InitialMatrix get setmatrix
+}if
+/MediaBox get aload pop
+3 index neg 3 index neg translate
+3 -1 roll sub 3 1 roll exch sub exch
+userdict/.HWMargins//knownget exec{
+aload pop
+}{
+currentpagedevice/.HWMargins//knownget exec{
+aload pop
+}{
+0 0 0 0
+}ifelse
+}ifelse
+currentpagedevice/PageSize get aload pop
+3 -1 roll sub 3 1 roll exch sub exch
+exch 3 index sub exch 3 index sub
+//SetPageSize{
+//PDFR_DEBUG{
+(Setting page size to )print 1 index//=only exec( )print dup =
+}if
+pop pop 3 index 3 index 2 copy
+currentglobal false setglobal 3 1 roll
+currentpagedevice dup/PageSize known{
+/PageSize get aload pop
+}{
+0 0
+}ifelse
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(PageSize matches request)== flush}if
+pop pop
+}{
+/MediaRequested where{
+//PDFR_DEBUG{(MediaRequested is true, check against new request)== flush}if
+/MediaRequested get aload pop
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(MediaRequested same as current request, ignore)== flush}if
+pop pop false
+}{
+//PDFR_DEBUG{(MediaRequested different to current request)== flush}if
+true
+}ifelse
+}{
+//PDFR_DEBUG{(No MediaRequested yet)== flush}if
+true
+}ifelse
+{
+//PDFR_DEBUG{(Setting pagesize)== flush}if
+2 array astore
+dup/MediaRequested exch def
+<< exch/PageSize exch >>setpagedevice
+}if
+}ifelse
+userdict/PDFR_InitialGS gstate put
+setglobal
+}if
+//RotatePages{
+2 copy gt 6 index 6 index gt ne{
+1 index 5 index le 1 index 5 index le and not
+}{
+false
+}ifelse
+}{
+false
+}ifelse
+{//CenterPages{
+//PDFR_DEBUG{
+(Rotating page, and then centering it)==
+}if
+90 rotate
+0 5 index neg translate
+5 index 1 index exch sub 2 div
+2 index 6 index sub 2 div neg
+translate
+}{
+//FitPages{
+1 index 5 index div 1 index 7 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+90 rotate
+0 5 index neg translate
+}ifelse
+}{
+//CenterPages{
+//PDFR_DEBUG{
+(Ccentering page)==
+}if
+1 index 6 index sub 2 div
+1 index 6 index sub 2 div
+translate
+}{
+//FitPages{
+1 index 6 index div 1 index 6 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+}ifelse
+}ifelse
+pop pop
+translate
+pop pop
+//PDFR_DEBUG{
+(SetupPageView end)=
+}if
+}bind def
+/PageContentsDaemon
+{
+//PDFR_DEBUG{
+(Executing PageContentsDaemon for )print 2 index =
+}if
+1 index exch/Context exch put
+dup/ImmediateExec true put
+dup/IsPage true put
+SetPageSize{dup/Context get//SetupPageView exec}if
+}bind def
+/FontFileDaemon
+{
+//PDFR_DEBUG{
+(Executing FontFileDaemon for )print 2 index =
+}if
+dup/FontFileType get
+2 index exch
+dup//ReadFontProcs exch//knownget exec{
+exch pop exec
+}{
+mark(FontFile reader for )2 index( isn't implemented yet.)//error exec
+}ifelse
+//PDFR_DEBUG{
+(FontFileDaemon end)=
+}if
+pop
+}bind def
+/FontDescriptorDaemon
+{
+//PDFR_DEBUG{
+(Executing FontDescriptorDaemon for )print 2 index =
+}if
+2 copy/FontResource exch put
+/Subtype get 1 index exch/FontFileType exch put
+}bind def
+/UnPDFEscape{
+dup dup length string cvs
+dup(#)search{
+{
+pop
+(16#--)2 index 0 2 getinterval
+1 index 3 2 getinterval copy pop
+cvi
+0 exch put
+0
+1 index 2 1 index length 2 sub getinterval
+3 copy putinterval
+length
+3 copy exch put
+getinterval
+(#)search not{
+pop exit
+}if
+}loop
+(\0)search pop exch pop exch pop
+cvn
+exch pop
+}{
+pop pop
+}ifelse
+}bind def
+/TypeDaemons<<
+/Page
+{//PDFR_DEBUG{
+(Recognized a page.)=
+}if
+dup/Contents//knownget exec{
+0 get//DoNothing exch
+[
+3 index//PageContentsDaemon/exec load
+]cvx
+//Register exec
+}{
+(fixme: page with no Contents won't be printed.)=
+}ifelse
+}bind
+/FontDescriptor
+{//PDFR_DEBUG{
+(Recognized a font descriptor.)=
+}if
+dup/FontName//knownget exec{
+1 index/FontName 3 -1 roll//UnPDFEscape exec put
+}if
+dup dup/FontFile known{/FontFile}{/FontFile2}ifelse
+//knownget exec{
+0 get//DoNothing exch
+[
+3 index//FontFileDaemon/exec load
+]cvx
+//Register exec
+}{
+(Font descriptor )print 1 index =only( has no FontFile.)=
+}ifelse
+}bind
+/Font
+{//PDFR_DEBUG{
+(Recognized a font resource.)=
+}if
+dup/BaseFont//knownget exec{
+//UnPDFEscape exec 2 copy/BaseFont exch put
+//PDFReader/RemoveFontNamePrefix get exec
+currentglobal exch
+dup/Font resourcestatus{
+pop pop
+//PDFReader/GetInstalledFont get exec pop
+}{
+pop
+}ifelse
+setglobal
+}if
+dup/FontDescriptor//knownget exec{
+0 get
+dup//IsRegistered exec{
+//PDFR_DEBUG{
+(already registered )print dup =
+}if
+pop
+}{
+//DoNothing exch
+[
+3 index//FontDescriptorDaemon/exec load
+]cvx
+//Register exec
+}ifelse
+}if
+}bind
+>>def
+/MakeStreamReader
+{dup
+[
+exch
+//PDFR_DEBUG{
+(Stream proc )
+/print load
+//PDFR_STREAM{
+(<)
+/print load
+}if
+}if
+1 dict dup/i -1 put
+/dup load
+/i
+/get load
+1
+/add load
+/dup load
+3
+1
+/roll load
+/i
+/exch load
+/put load
+//knownget
+/exec load
+/not load
+{()}
+/if load
+//PDFR_DEBUG{
+//PDFR_STREAM{
+/dup load
+/print load
+(>)
+/print load
+}if
+( end of stream proc.\n)
+/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Stream reader )print dup ==
+}if
+0()/SubFileDecode filter
+exch//AppendFilters exec
+}bind def
+/RunDelayedStream
+{
+//GraphicState/InitialTextMatrix get
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get
+2 copy get null eq{
+2 copy currentglobal true setglobal matrix exch setglobal put
+}if
+get copy pop
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 add put
+//MakeStreamReader exec
+mark exch
+cvx exec
+counttomark 0 ne{
+mark(Data left on ostack after a delayed stream execution.)//error exec
+}if
+cleartomark
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 sub put
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get get
+//GraphicState/InitialTextMatrix get
+copy pop
+}bind def
+//ReadFontProcs begin
+/Type1
+{//PDFR_DEBUG{
+(ReadFontProcs.Type1)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+dup/ImmediateExec true put
+/GlobalExec true put
+}bind def
+/MMType1//Type1 def
+/TrueType
+{//PDFR_DEBUG{
+(ReadFontProcs.TrueType)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+pop
+}bind def
+end
+/.opdloadttfontdict 50 dict def
+.opdloadttfontdict begin
+/maxstring 65400 def
+end
+/.InsertionSort
+{
+/CompareProc exch def
+/Array exch def
+1 1 Array length 1 sub
+{
+/Ix exch def
+/Value1 Array Ix get def
+/Jx Ix 1 sub def
+{
+Jx 0 lt{
+exit
+}if
+/Value2 Array Jx get def
+Value1 Value2 CompareProc{
+exit
+}if
+Array Jx 1 add Value2 put
+/Jx Jx 1 sub def
+}loop
+Array Jx 1 add Value1 put
+}for
+Array
+}bind def
+/putu16{
+3 copy -8 bitshift put
+exch 1 add exch 16#ff and put
+}bind def
+/putu32{
+3 copy -16 bitshift putu16
+exch 2 add exch 16#ffff and putu16
+}bind def
+/.readtable{
+dup dup 1 and add string
+dup 0 4 -1 roll getinterval
+3 -1 roll exch
+dup()ne{readstring}if pop pop
+}bind def
+/.readbigtable{
+dup maxstring lt{
+.readtable
+}{
+currentuserparams/VMReclaim get -2 vmreclaim
+[4 2 roll{
+dup maxstring le{exit}if
+1 index maxstring string readstring pop 3 1 roll maxstring sub
+}loop .readtable]
+exch vmreclaim
+}ifelse
+}bind def
+/ReadTTF
+{
+.opdloadttfontdict begin
+/TTFontFile exch def
+/TableDir TTFontFile 12 string readstring pop def
+/tables TTFontFile TableDir 4 getu16 16 mul string readstring pop def
+/tabarray tables length 16 idiv array def
+TableDir 0 4 getinterval(ttcf)eq{
+QUIET not{(Can't handle TrueType font Collections.)=}if
+/.loadttfonttables cvx/invalidfont signalerror
+}{
+0 16 tables length 1 sub{
+dup
+tables exch 16 getinterval
+exch 16 div cvi exch
+tabarray 3 1 roll put
+}for
+}ifelse
+tabarray{exch 8 getu32 exch 8 getu32 gt}.InsertionSort pop
+/Read TableDir length tables length add def
+/tabs[
+tabarray{
+dup 8 getu32
+Read sub
+dup 0 gt{
+dup string TTFontFile exch readstring pop pop
+Read add/Read exch def
+}{
+pop
+}ifelse
+12 getu32
+dup Read add
+/Read exch def
+TTFontFile exch .readbigtable
+}forall
+]def
+end
+}bind def
+/GetLocaType
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(head)eq{
+tabs exch get
+50 gets16
+/LocaType exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/GetNumGlyphs
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(maxp)eq{
+tabs exch get
+4 getu16
+/NumGlyphs exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/StringToLoca
+{
+/LocaIndex exch def
+/StringOffset 0 def
+{
+dup length StringOffset gt{
+dup
+LocaType 1 eq{
+StringOffset getu32
+LocaArray LocaIndex 3 -1 roll put
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 4 add
+def
+}{
+StringOffset getu16 2 mul
+LocaArray length LocaIndex gt{
+LocaArray LocaIndex 3 -1 roll put
+}{
+pop
+}ifelse
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 2 add
+def
+}ifelse
+}{
+pop
+LocaIndex
+exit
+}ifelse
+}loop
+}bind def
+/GetSortedLoca
+{
+NumGlyphs 1 add array/LocaArray exch def
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(loca)eq{
+tabs exch get
+exit
+}{
+pop
+}ifelse
+}for
+dup type/stringtype eq{
+0 StringToLoca pop
+}{
+0 exch
+{
+exch StringToLoca
+}forall
+pop
+}ifelse
+LocaArray{gt}.InsertionSort pop
+}bind def
+/GetWorkingString
+{
+WorkString 0
+GlyfArray GlyfStringIndex get
+putinterval
+/WorkBytes GlyfArray GlyfStringIndex get length def
+/GlyfStringIndex GlyfStringIndex 1 add def
+}bind def
+/GetWorkingBytes
+{
+/BytesToRead exch def
+WorkString 0 BytesToRead getinterval
+dup length string copy
+WorkString BytesToRead WorkBytes BytesToRead sub getinterval
+dup length string copy
+WorkString 0 3 -1 roll putinterval
+/WorkBytes WorkBytes BytesToRead sub def
+}bind def
+/GetGlyfBytes
+{
+/ToRead exch def
+WorkBytes 0 eq{
+GetWorkingString
+}if
+WorkBytes ToRead ge{
+ToRead string dup 0
+ToRead GetWorkingBytes putinterval
+}{
+ToRead string
+dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+ToRead WorkBytes sub
+GetWorkingString
+GetWorkingBytes
+putinterval
+}ifelse
+}bind def
+/SplitGlyf
+{
+/GlyfArray exch def
+/DestArray GlyfArray length 2 mul array def
+/DestArrayIndex 0 def
+/LastLoca 0 def
+/NextLocaIndex 0 def
+/LastLocaIndex 0 def
+/GlyfStringIndex 0 def
+/WorkString maxstring string def
+/WorkBytes 0 def
+{
+LocaArray NextLocaIndex get
+LastLoca sub maxstring gt
+{
+LocaArray LastLocaIndex get LastLoca sub
+GetGlyfBytes
+DestArray DestArrayIndex 3 -1 roll put
+/DestArrayIndex DestArrayIndex 1 add def
+LocaArray LastLocaIndex get/LastLoca exch def
+}{
+/LastLocaIndex NextLocaIndex def
+/NextLocaIndex NextLocaIndex 1 add def
+NextLocaIndex NumGlyphs gt
+{
+WorkBytes
+GlyfStringIndex GlyfArray length lt{
+GlyfArray GlyfStringIndex get length
+add string dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+GetWorkingString
+WorkString 0 WorkBytes getinterval
+putinterval
+}{
+pop
+WorkString 0 WorkBytes getinterval
+}ifelse
+dup length string copy
+DestArray DestArrayIndex 3 -1 roll put
+exit
+}if
+}ifelse
+}loop
+DestArray
+}bind def
+/ProcessTTData
+{
+.opdloadttfontdict begin
+0 1 tabarray length 1 sub{
+/ix exch def
+tabarray ix get
+12 getu32 dup maxstring le{
+dup 4 mod 0 ne{
+4 div cvi 1 add 4 mul string/newstring exch def
+/oldstring tabs ix get def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix newstring put
+}{
+pop
+}ifelse
+}{
+dup 4 mod 0 ne{
+dup maxstring idiv maxstring mul sub
+4 idiv 1 add 4 mul string/newstring exch def
+tabs ix get
+dup length 1 sub dup/iy exch def get/oldstring exch def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix get iy newstring put
+}{
+pop
+}ifelse
+}ifelse
+}for
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+dup 12 getu32 maxstring gt{
+0 4 getinterval dup(glyf)eq{
+pop
+GetLocaType
+GetNumGlyphs
+GetSortedLoca
+dup tabs exch get
+SplitGlyf
+tabs 3 1 roll put
+}{
+(Warning, table )print print( > 64Kb\n)print
+pop
+}ifelse
+}{
+pop
+pop
+}ifelse
+}for
+end
+}bind def
+/Makesfnts
+{
+.opdloadttfontdict begin
+0
+tabs{
+dup type/stringtype eq{
+pop
+1 add
+}{
+{
+type/stringtype eq{
+1 add
+}if
+}forall
+}ifelse
+}forall
+1 add
+/TTOffset
+TableDir length
+tabarray length 16 mul add
+def
+0
+tabarray{
+exch dup 1 add
+3 1 roll
+dup
+tabs exch get
+dup type/stringtype eq{
+length
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}{
+0 exch
+{
+dup type/stringtype eq{
+length add
+}{
+pop
+}ifelse
+}forall
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}ifelse
+}forall
+pop
+array
+dup 0
+TableDir length
+tables length add
+string
+dup 0 TableDir putinterval
+dup 12 tables putinterval
+put
+dup
+/ix 1 def
+tabs{
+dup type/stringtype eq{
+ix exch
+put dup
+/ix ix 1 add def
+}{
+{
+dup type/stringtype eq{
+ix exch put dup
+/ix ix 1 add def
+}{
+pop
+}ifelse
+}forall
+}ifelse
+}forall
+pop
+end
+}bind def
+/MakeType42
+{
+//PDFR_DEBUG{
+(MakeType42 beg)=
+}if
+10 dict begin
+/FontName 1 index/FontName get def
+/FontType 42 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox 1 index/FontBBox get def
+dup/FontResource get
+dup/Encoding known{
+//PDFReader/ObtainEncoding get exec
+/Encoding get
+}{
+pop null
+}ifelse
+/PDFEncoding exch def
+/CharStrings 2 index//PDFReader/MakeTTCharStrings get exec def
+/sfnts 2 index//MakeStreamReader exec
+ReadTTF
+ProcessTTData
+Makesfnts
+def
+/Encoding StandardEncoding def
+/PaintType 0 def
+currentdict end
+//PDFR_DEBUG{
+(MakeType42 end)=
+}if
+}bind def
+/GetInstalledFont
+{
+dup//InstalledFonts exch knownget{
+exch pop
+}{
+dup findfont dup 3 1 roll
+//InstalledFonts 3 1 roll put
+}ifelse
+}bind def
+/RemoveFontNamePrefix
+{//=string cvs true
+0 1 5{
+2 index exch get//IsUpper exec not{
+pop false exit
+}if
+}for
+{(+)search{
+pop pop
+}if
+}if
+cvn
+}bind def
+/CheckFont
+{dup/Type get/Font ne{
+mark(Resource )3 index( must have /Type/Font .)//error exec
+}if
+}bind def
+/CheckEncoding
+{dup type/nametype ne{
+dup/Type get/Encoding ne{
+mark(Resource )3 index( must have /Type/Encoding .)//error exec
+}if
+}if
+}bind def
+/ObtainEncoding
+{dup/Encoding known{
+dup dup/Encoding//CheckEncoding//ResolveD exec
+dup type dup/arraytype eq exch/packedarraytype eq or{
+pop pop
+}{
+dup type/nametype eq{
+/Encoding findresource
+}{
+dup/BaseEncoding//knownget exec not{
+/StandardEncoding
+}if
+/Encoding findresource
+exch
+/Differences//knownget exec{
+exch dup length array copy exch
+0 exch
+{
+dup type/integertype eq{
+exch pop
+}{
+3 copy put pop
+1 add
+}ifelse
+}forall
+pop
+}if
+}ifelse
+/Encoding exch put
+}ifelse
+}{
+dup/Encoding/StandardEncoding/Encoding findresource put
+}ifelse
+}bind def
+/ObtainMetrics
+{dup/Widths//knownget exec{
+1 index/Encoding get
+256 dict
+3 index/Subtype get/TrueType eq{
+1000
+}{
+1
+}ifelse
+4 index/MissingWidth//knownget exec not{
+0
+}if
+5 index/FirstChar//knownget exec not{
+0
+}if
+6 5 roll
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+exch 3 index add
+7 index exch get
+dup dup null ne exch/.notdef ne and{
+6 index 3 1 roll exch
+6 index div
+3 copy pop//knownget exec{
+0 eq
+}{
+true
+}ifelse
+{put
+}{
+pop pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}for
+pop pop pop pop exch pop
+1 index exch/Metrics exch put
+}{
+dup/MissingWidth//knownget exec{
+256 dict
+2 index/Encoding get{
+dup null ne{
+3 copy 3 2 roll put
+}if
+pop
+}forall
+exch pop
+1 index exch/Metrics exch put
+}if
+}ifelse
+}bind def
+/NotDef
+{
+FontMatrix aload pop pop pop exch pop exch pop
+1 exch div exch
+1 exch div exch
+1 index 0 setcharwidth
+0 setlinewidth
+0 0 moveto
+2 copy rlineto
+1 index 0 rlineto
+neg exch neg exch rlineto
+closepath stroke
+}bind def
+/SaveResourcesToStack
+{
+[
+//PDFReader/OldResources known{
+//PDFReader/OldResources get
+}{
+null
+}ifelse
+//PDFReader/CurrentObject get/Context get/Resources get
+]
+//PDFReader/OldResources 3 -1 roll put
+}bind def
+/RestoreResourcesFromStack
+{
+//PDFReader/OldResources get dup
+0 get//PDFReader/OldResources 3 -1 roll put
+1 get//PDFReader/CurrentObject get/Context get/Resources 3 -1 roll put
+}bind def
+/BuildChar
+{//PDFR_DEBUG{
+(BuildChar )print dup//=only exec( )print
+}if
+exch begin
+Encoding exch get
+//PDFR_DEBUG{
+dup =
+}if
+dup null eq{
+pop//NotDef exec
+}
+{
+CharProcs exch//knownget exec
+{
+currentfont/Font get/Resources//knownget exec{
+exec
+SaveResourcesToStack
+//PDFReader/CurrentObject get/Context get
+/Resources 3 -1 roll put
+//RunDelayedStream exec
+RestoreResourcesFromStack
+}{
+//RunDelayedStream exec
+}ifelse
+}
+{
+//NotDef exec
+}ifelse
+}ifelse
+end
+}bind def
+/printdict
+{(<<)=
+{exch = ==}forall
+(>>)=
+}bind def
+/printfont
+{
+dup{
+exch dup =
+dup/Encoding eq{
+pop =
+}{
+dup/FontInfo eq exch/Private eq or{
+//printdict exec
+}{
+==
+}ifelse
+}ifelse
+}forall
+}bind def
+/ScaleMetrics
+{1 index{
+2 index div
+3 index
+3 1 roll put
+}forall
+pop
+}bind def
+/ResolveAndSetFontAux
+{exch dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Font//DoNothing//ResolveD exec
+exch//CheckFont//ResolveD exec
+dup/Font//knownget exec{
+exch pop exch pop
+}{
+{
+dup/Subtype get dup dup/Type1 eq exch/TrueType eq or exch/MMType1 eq or{
+exch pop
+dup/BaseFont get
+//RemoveFontNamePrefix exec
+//PDFR_DEBUG{
+(Font )print dup =
+}if
+1 index/FontDescriptor known{
+//PDFR_DEBUG{
+(Font from a font descriptor.)=
+}if
+1 index
+/FontDescriptor//DoNothing//ResolveD exec
+/Font//knownget exec{
+exch pop
+}{
+//PDFR_DEBUG{
+(Font descriptor has no Font resolved.)=
+}if
+//GetInstalledFont exec
+}ifelse
+}{
+//GetInstalledFont exec
+}ifelse
+exch
+dup/Encoding known not{
+1 index/Encoding get 1 index exch/Encoding exch put
+}if
+//ObtainEncoding exec
+//ObtainMetrics exec
+exch
+dup length dict copy
+dup 2 index/Encoding get
+/Encoding exch put
+1 index/Metrics//knownget exec{
+2 index/Subtype get/TrueType ne{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+0.001 div
+//ScaleMetrics exec
+}{
+1 index/sfnts known not{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+//ScaleMetrics exec
+}if
+}ifelse
+1 index exch/Metrics exch put
+}if
+1 index/BaseFont get
+exch
+dup/FID undef
+dup/UniqueID undef
+definefont
+dup 3 1 roll
+/Font exch put
+exit
+}if
+dup/Subtype get/Type3 eq{
+//ObtainEncoding exec
+2 copy exch/FontName exch put
+dup/CharProcs get//ResolveDict exec
+dup/FontType 3 put
+dup/BuildChar//BuildChar put
+dup dup/Font exch put
+dup 3 1 roll
+definefont
+2 copy ne{
+2 copy/Font exch put
+}if
+exch pop
+exit
+}if
+dup/Subtype get/Type0 eq{
+}if
+dup/Subtype get/CIDFontType0 eq{
+}if
+dup/Subtype get/CIDFontType2 eq{
+}if
+mark(Unknown font type )2 index/Subtype get//error exec
+}loop
+}ifelse
+exch scalefont setfont
+}bind def
+/ResolveAndSetFont
+{
+//ResolveAndSetFontAux exec
+}bind def
+/.knownget
+{2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/.min
+{2 copy lt{
+exch
+}if
+pop
+}bind def
+/.max
+{2 copy gt{
+exch
+}if
+pop
+}bind def
+/.dicttomark
+{>>
+}bind def
+/getu16{
+2 copy get 8 bitshift 3 1 roll 1 add get add
+}bind def
+/gets16{
+getu16 16#8000 xor 16#8000 sub
+}bind def
+/getu32{
+2 copy getu16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/gets32{
+2 copy gets16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/cmapformats mark
+0{
+6 256 getinterval{}forall 256 packedarray
+}bind
+2{
+/sHK_sz 2 def
+/sH_sz 8 def
+dup 2 getu16/cmapf2_tblen exch def
+dup 4 getu16/cmapf2_lang exch def
+dup 6 256 sHK_sz mul getinterval/sHKs exch def
+0
+0 1 255{
+sHKs exch
+2 mul getu16
+1 index
+1 index
+lt{exch}if pop
+}for
+/sH_len exch def
+dup 6 256 sHK_sz mul add
+cmapf2_tblen 1 index sub getinterval
+/sH_gIA exch def
+/cmapf2_glyph_array 65535 array def
+/.cmapf2_putGID{
+/cmapf2_ch cmapf2_ch_hi 8 bitshift cmapf2_ch_lo add def
+firstCode cmapf2_ch_lo le
+cmapf2_ch_lo firstCode entryCount add lt
+and{
+sH_offset idRangeOffset add
+cmapf2_ch_lo firstCode sub 2 mul
+add 6 add
+sH_gIA exch getu16
+dup 0 gt{
+idDelta add
+cmapf2_glyph_array exch cmapf2_ch exch put
+}{
+pop
+}ifelse
+}{
+}ifelse
+}def
+16#00 1 16#ff{
+/cmapf2_ch_hi exch def
+sHKs cmapf2_ch_hi sHK_sz mul getu16
+/sH_offset exch def
+sH_gIA sH_offset sH_sz getinterval
+dup 0 getu16/firstCode exch def
+dup 2 getu16/entryCount exch def
+dup 4 gets16/idDelta exch def
+dup 6 getu16/idRangeOffset exch def
+pop
+sH_offset 0 eq{
+/cmapf2_ch_lo cmapf2_ch_hi def
+/cmapf2_ch_hi 0 def
+.cmapf2_putGID
+}{
+16#00 1 16#ff{
+/cmapf2_ch_lo exch def
+.cmapf2_putGID
+}for
+}ifelse
+}for
+pop
+0 1 cmapf2_glyph_array length 1 sub{
+dup cmapf2_glyph_array exch get
+null eq{cmapf2_glyph_array exch 0 put}{pop}ifelse
+}for
+cmapf2_glyph_array
+}bind
+4{
+/etab exch def
+/nseg2 etab 6 getu16 def
+14/endc etab 2 index nseg2 getinterval def
+2 add
+nseg2 add/startc etab 2 index nseg2 getinterval def
+nseg2 add/iddelta etab 2 index nseg2 getinterval def
+nseg2 add/idroff etab 2 index nseg2 getinterval def
+pop
+/firstcode startc 0 getu16 16#ff00 and dup 16#f000 ne{pop 0}if def
+/lastcode firstcode def
+/striptopbyte false def
+/putglyph{
+glyphs code 3 -1 roll put/code code 1 add def
+}bind def
+/numcodes 0 def/glyphs 0 0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+ecode lastcode gt{
+/lastcode ecode def
+}if
+}for pop
+firstcode 16#f000 ge lastcode firstcode sub 255 le and{
+lastcode 255 and
+/striptopbyte true def
+}{
+lastcode
+}ifelse
+1 add
+array def
+glyphs length 1024 ge{
+.array1024z 0 1024 glyphs length 1023 sub{glyphs exch 2 index putinterval}for
+glyphs dup length 1024 sub 3 -1 roll
+putinterval
+}{
+0 1 glyphs length 1 sub{glyphs exch 0 put}for
+}ifelse
+/numcodes 0 def/code 0 def
+0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+numcodes scode firstcode sub
+exch sub 0 .max dup/code exch code exch add def
+ecode scode sub 1 add add numcodes add/numcodes exch def
+/delta iddelta i2 gets16 def
+TTFDEBUG{
+(scode=)print scode =only
+( ecode=)print ecode =only
+( delta=)print delta =only
+( droff=)print idroff i2 getu16 =
+}if
+idroff i2 getu16 dup 0 eq{
+pop scode delta add 65535 and 1 ecode delta add 65535 and
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+{putglyph}for
+}{
+/gloff exch 14 nseg2 3 mul add 2 add i2 add add def
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+0 1 ecode scode sub{
+2 mul gloff add etab exch getu16
+dup 0 ne{delta add 65535 and}if putglyph
+}for
+}ifelse
+}for glyphs/glyphs null def
+}bind
+6{
+dup 6 getu16/firstcode exch def dup 8 getu16/ng exch def
+firstcode ng add array
+0 1 firstcode 1 sub{2 copy 0 put pop}for
+dup firstcode ng getinterval
+0 1 ng 1 sub{
+dup 2 mul 10 add 4 index exch getu16 3 copy put pop pop
+}for pop exch pop
+}bind
+.dicttomark readonly def
+/cmaparray{
+dup 0 getu16 cmapformats exch .knownget{
+TTFDEBUG{
+(cmap: format )print 1 index 0 getu16 = flush
+}if exec
+}{
+(Can't handle format )print 0 getu16 = flush
+0 1 255{}for 256 packedarray
+}ifelse
+TTFDEBUG{
+(cmap: length=)print dup length = dup ==
+}if
+}bind def
+/postremap mark
+/Cdot/Cdotaccent
+/Edot/Edotaccent
+/Eoverdot/Edotaccent
+/Gdot/Gdotaccent
+/Ldot/Ldotaccent
+/Zdot/Zdotaccent
+/cdot/cdotaccent
+/edot/edotaccent
+/eoverdot/edotaccent
+/gdot/gdotaccent
+/ldot/ldotaccent
+/zdot/zdotaccent
+.dicttomark readonly def
+/get_from_stringarray
+{1 index type/stringtype eq{
+get
+}{
+exch{
+2 copy length ge{
+length sub
+}{
+exch get exit
+}ifelse
+}forall
+}ifelse
+}bind def
+/getinterval_from_stringarray
+{
+2 index type/stringtype eq{
+getinterval
+}{
+string exch 0
+4 3 roll{
+dup length
+dup 4 index lt{
+3 index exch sub
+exch pop 3 1 roll exch pop
+}{
+dup 3 1 roll
+4 index sub
+5 index length 4 index sub
+2 copy gt{exch}if pop
+dup 3 1 roll
+5 index exch getinterval
+5 index 4 index 3 index
+getinterval
+copy pop
+exch pop add exch pop 0 exch
+dup 3 index length ge{exit}if
+}ifelse
+}forall
+pop pop
+}ifelse
+}bind def
+/string_array_size
+{dup type/stringtype eq{
+length
+}{
+0 exch{length add}forall
+}ifelse
+}bind def
+/postformats mark
+16#00010000{
+pop MacGlyphEncoding
+}
+16#00020000{
+dup dup type/arraytype eq{0 get}if length 36 lt{
+TTFDEBUG{(post format 2.0 invalid.)= flush}if
+pop[]
+}{
+/postglyphs exch def
+/post_first postglyphs dup type/arraytype eq{0 get}if def
+post_first 32 getu16/numglyphs exch def
+/glyphnames numglyphs 2 mul 34 add def
+/postpos glyphnames def
+/total_length postglyphs//string_array_size exec def
+numglyphs array 0 1 numglyphs 1 sub{
+postpos total_length ge{
+1 numglyphs 1 sub{1 index exch/.notdef put}for
+exit
+}if
+postglyphs postpos//get_from_stringarray exec
+postglyphs postpos 1 add 2 index//getinterval_from_stringarray exec cvn
+exch postpos add 1 add/postpos exch def
+2 index 3 1 roll
+put
+}for
+/postnames exch def
+numglyphs array 0 1 numglyphs 1 sub{
+dup 2 mul 34 add postglyphs exch 2//getinterval_from_stringarray exec
+dup 0 get 8 bitshift exch 1 get add dup 258 lt{
+MacGlyphEncoding exch get
+}{
+dup 32768 ge{
+pop/.notdef
+}{
+258 sub dup postnames length ge{
+TTFDEBUG{( *** warning: glyph index past end of 'post' table)= flush}if
+pop
+exit
+}if
+postnames exch get
+postremap 1 index .knownget{exch pop}if
+}ifelse
+}ifelse
+2 index 3 1 roll put
+}for
+}
+ifelse
+}bind
+16#00030000{
+pop[]
+}bind
+.dicttomark readonly def
+/first_post_string
+{
+post dup type/arraytype eq{0 get}if
+}bind def
+/.getpost{
+/glyphencoding post null eq{
+TTFDEBUG{(post missing)= flush}if[]
+}{
+postformats first_post_string 0 getu32 .knownget{
+TTFDEBUG{
+(post: format )print
+first_post_string
+dup 0 getu16 =only(,)print 2 getu16 = flush
+}if
+post exch exec
+}{
+TTFDEBUG{(post: unknown format )print post 0 getu32 = flush}if[]
+}ifelse
+}ifelse def
+}bind def
+/MacRomanEncoding[
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+]/Encoding defineresource pop
+/TTParser<<
+/Pos 0
+/post null
+>>def
+/readu8
+{read not{
+mark(Insufficient data in the stream.)//error exec
+}if
+}bind def
+/readu16
+{dup//readu8 exec 8 bitshift exch//readu8 exec or
+}bind def
+/reads16
+{//readu16 exec 16#8000 xor 16#8000 sub
+}bind def
+/readu32
+{dup//readu16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/reads32
+{dup//reads16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/SkipToPosition
+{dup//TTParser/Pos get
+exch//TTParser exch/Pos exch put
+sub
+//PDFR_DEBUG{
+(Skipping )print dup//=only exec( bytes.)=
+}if
+dup 0 eq{
+pop pop
+}{
+dup 3 1 roll
+()/SubFileDecode filter
+exch
+{1 index//BlockBuffer readstring pop length
+dup 0 eq{pop exch pop exit}if
+sub
+}loop
+0 ne{
+mark(Insufficient data in the stream for SkipToPosition.)//error exec
+}if
+}ifelse
+}bind def
+/TagBuffer 4 string def
+/ParseTTTableDirectory
+{//PDFR_DEBUG{
+(ParseTTTableDirectory beg)=
+}if
+15 dict begin
+dup//readu32 exec 16#00010000 ne{
+mark(Unknown True Type version.)//error exec
+}if
+dup//readu16 exec/NumTables exch def
+dup//readu16 exec/SearchRange exch def
+dup//readu16 exec/EntrySelector exch def
+dup//readu16 exec/RangeShift exch def
+//PDFR_DEBUG{
+(NumTables = )print NumTables =
+}if
+NumTables{
+dup//TagBuffer readstring not{
+mark(Could not read TT tag.)//error exec
+}if
+cvn
+[2 index//readu32 exec pop
+2 index//readu32 exec
+3 index//readu32 exec
+]
+//PDFR_DEBUG{
+2 copy exch//=only exec( )print ==
+}if
+def
+}repeat
+pop
+//TTParser/Pos 12 NumTables 16 mul add put
+currentdict end
+//PDFR_DEBUG{
+(ParseTTTableDirectory end)=
+}if
+}bind def
+/ParseTTcmap
+{//PDFR_DEBUG{
+(ParseTTcmap beg)=
+}if
+/cmap get aload pop
+3 1 roll
+7 dict begin
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(cmap position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos get/TablePos exch def
+dup//readu16 exec pop
+dup//readu16 exec/NumEncodings exch def
+//PDFR_DEBUG{
+(NumEncodings = )print NumEncodings =
+}if
+null
+NumEncodings{
+1 index//readu32 exec
+2 index//readu32 exec
+3 array dup 3 2 roll 0 exch put
+2 index null ne{
+dup 0 get 3 index 0 get sub
+3 index exch 1 exch put
+}if
+dup 4 3 roll pop 3 1 roll
+def
+}repeat
+dup 0 get
+4 3 roll exch sub
+1 exch put
+//PDFR_DEBUG{
+currentdict{
+exch dup type/integertype eq{
+//PrintHex exec( )print ==
+}{
+pop pop
+}ifelse
+}forall
+}if
+4 NumEncodings 8 mul add/HeaderLength exch def
+//TTParser/Pos//TTParser/Pos get HeaderLength add put
+0
+NumEncodings{
+16#7FFFFFF null
+currentdict{
+1 index type/integertype eq{
+exch pop dup 0 get
+dup 5 index gt{
+dup 4 index lt{
+4 1 roll
+exch pop exch pop
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}forall
+//PDFR_DEBUG{
+(Obtaining subtable for )print dup ==
+}if
+3 2 roll pop
+3 copy pop
+TablePos add//SkipToPosition exec
+3 copy exch pop 1 get
+//TTParser/Pos//TTParser/Pos get 3 index add put
+string
+readstring not{
+mark(Can't read a cmap subtable.)//error exec
+}if
+2 exch put
+}repeat
+pop pop
+currentdict end
+//PDFR_DEBUG{
+(ParseTTcmap end)=
+}if
+}bind def
+/GetTTEncoding
+{//PDFR_DEBUG{
+(GetTTEncoding beg)=
+}if
+get
+exch pop
+2 get
+10 dict begin
+/TTFDEBUG//PDFR_DEBUG def
+//cmaparray exec
+end
+//PDFR_DEBUG{
+(GetTTEncoding end)=
+dup ==
+}if
+}bind def
+/InverseEncoding
+{
+256 dict begin
+dup length 1 sub -1 0{
+2 copy get
+exch
+1 index currentdict exch//knownget exec{
+dup type/arraytype eq{
+aload length 1 add array astore
+}{
+2 array astore
+}ifelse
+}if
+def
+}for
+pop
+currentdict end
+}bind def
+/GetMacRomanEncodingInverse
+{//PDFReader/MacRomanEncodingInverse get
+dup null eq{
+pop
+MacRomanEncoding//InverseEncoding exec
+dup//PDFReader exch/MacRomanEncodingInverse exch put
+}if
+}bind def
+/PutCharStringSingle
+{
+dup 3 index length lt{
+2 index exch get
+dup 0 ne{
+def
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/PutCharString
+{1 index type/nametype ne{
+mark(Bad charstring name)//error exec
+}if
+dup type/arraytype eq{
+{
+3 copy//PutCharStringSingle exec
+pop pop
+}forall
+pop
+}{
+//PutCharStringSingle exec
+}ifelse
+}bind def
+/ComposeCharStrings
+{
+//PDFR_DEBUG{
+(ComposeCharStrings beg)=
+}if
+1 index length 1 add dict begin
+/.notdef 0 def
+exch
+//TTParser/post get
+dup null ne{
+exch
+1 index length 1 sub -1 0{
+dup 3 index exch get exch
+dup 0 eq 2 index/.notdef eq or{
+pop pop
+}{
+def
+}ifelse
+}for
+}if
+exch pop exch
+{
+//PutCharString exec
+}forall
+pop
+currentdict end
+//PDFR_DEBUG{
+(ComposeCharStrings end)=
+}if
+}bind def
+/ParseTTpost
+{
+//PDFR_DEBUG{
+(ParseTTpost beg)=
+}if
+/post get aload pop
+3 1 roll
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(post position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos//TTParser/Pos get 4 index add put
+exch dup 65535 le{
+string
+readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}{
+[3 1 roll
+dup 16384 div floor cvi
+exch 1 index 16384 mul
+sub exch
+1 sub 0 1 3 -1 roll
+{
+1 add index
+16384 string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}for
+counttomark -2 roll
+string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+]
+}ifelse
+1 dict begin
+/post exch def
+//.getpost exec
+//TTParser/post glyphencoding put
+//PDFR_DEBUG{
+(ParseTTpost end)=
+glyphencoding ==
+}if
+end
+}bind def
+/MakeTTCharStrings
+{//MakeStreamReader exec
+dup dup//ParseTTTableDirectory exec
+//TTParser/post null put
+dup/post//knownget exec{
+0 get
+1 index/cmap get 0 get
+lt{
+2 copy//ParseTTpost exec
+//ParseTTcmap exec
+}{
+2 copy//ParseTTcmap exec
+3 1 roll
+//ParseTTpost exec
+}ifelse
+}{
+//ParseTTcmap exec
+}ifelse
+{
+dup 16#00030001 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Windows Unicode.)=
+}if
+16#00030001//GetTTEncoding exec
+AdobeGlyphList//ComposeCharStrings exec
+exit
+}if
+dup 16#00010000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Macintosh Roman.)=
+}if
+16#00010000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+dup 16#00030000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding 3.0 - not sure why Ghostscript writes it since old versions.)=
+}if
+16#00030000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+mark(True Type cmap has no useful encodings.)//error exec
+}loop
+//PDFR_DEBUG{
+(CharStrings <<)=
+dup{
+exch
+dup type/nametype eq{
+//=only exec
+}{
+==
+}ifelse
+( )print ==
+}forall
+(>>)=
+}if
+}bind def
+/ScaleVal
+{
+aload pop
+1 index sub
+3 2 roll mul add
+}bind def
+/ScaleArg
+{
+aload pop
+1 index sub
+3 1 roll
+sub exch div
+}bind def
+/ScaleArgN
+{
+dup length 2 sub -2 0{
+2
+2 index 3 1 roll getinterval
+3 2 roll
+exch//ScaleArg exec
+1 index length 2 idiv 1 add 1 roll
+}for
+pop
+}bind def
+/ComputeFunction_10
+{
+//PDFR_DEBUG{
+(ComputeFunction_10 beg )print 1 index//=only exec( stack=)print count =
+}if
+exch
+dup 1 eq{
+pop dup length 1 sub get
+}{
+1 index length 1 sub mul
+dup dup floor sub
+dup 0 eq{
+pop cvi get
+}{
+3 1 roll floor cvi
+2 getinterval
+aload pop
+2 index mul 3 2 roll 1 exch sub 3 2 roll mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_10 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/ComputeFunction_n0
+{
+//PDFR_DEBUG{
+(ComputeFunction_n0 beg N=)print dup//=only exec( stack=)print count =
+}if
+dup 0 eq{
+pop
+}{
+dup 2 add -1 roll
+dup 3 index length 1 sub ge{
+pop 1 sub
+exch dup length 1 sub get exch
+//PDFReader/ComputeFunction_n0 get exec
+}{
+dup floor cvi dup
+4 index exch get
+3 index dup
+5 add copy
+6 2 roll
+pop pop pop pop
+1 sub
+//PDFReader/ComputeFunction_n0 get exec
+3 2 roll pop
+exch
+4 3 roll exch
+4 add 2 roll 1 add
+3 2 roll exch get
+exch 1 sub
+//PDFReader/ComputeFunction_n0 get exec
+1 index mul
+3 1 roll
+1 exch sub mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_n0 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/FunctionToProc_x01
+{
+dup/Domain get exch
+dup/Data get 0 get exch
+/Size get length
+[4 1 roll
+//PDFR_DEBUG{
+{(function beg, stack =)print count//=only exec(\n)print}/exec load
+5 2 roll
+}if
+dup 1 gt{
+{mark exch
+3 add 2 roll
+//ScaleArgN exec
+counttomark dup
+3 add -2 roll
+pop exch
+//ComputeFunction_n0 exec
+}/exec load
+}{
+pop
+3 1/roll load//ScaleArg/exec load
+/exch load
+//ComputeFunction_10/exec load
+}ifelse
+//PDFR_DEBUG{
+(function end, stack =)/print load/count load//=only/exec load(\n)/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Made a procedure for the 1-result function :)=
+dup ==
+}if
+}bind def
+/FunctionProcDebugBeg
+{(FunctionProcDebugBeg )print count =
+}bind def
+/FunctionProcDebugEnd
+{(FunctionProcDebugEnd )print count =
+}bind def
+/FunctionToProc_x0n
+{
+PDFR_DEBUG{
+(FunctionToProc_x0n beg m=)print dup =
+}if
+1 index/Size get length exch
+dup 7 mul 2 add array
+PDFR_DEBUG{
+dup 0//FunctionProcDebugBeg put
+}{
+dup 0//DoNothing put
+}ifelse
+dup 1/exec load put
+dup 2 5 index/Domain get put
+2 index 1 eq{
+dup 3//ScaleArg put
+}{
+dup 3//ScaleArgN put
+}ifelse
+dup 4/exec load put
+1 index 1 sub 0 exch 1 exch{
+dup 7 mul 5 add
+1 index 4 index 1 sub ne{
+dup 3 index exch 6 index put 1 add
+dup 3 index exch/copy load put 1 add
+}if
+[
+6 index/Data get 3 index get
+6 index 1 eq{
+//ComputeFunction_10/exec load
+}{
+6 index
+//ComputeFunction_n0/exec load
+}ifelse
+]cvx
+3 index exch 2 index exch put 1 add
+2 index 1 index/exec load put 1 add
+1 index 4 index 1 sub ne{
+2 index 1 index 6 index 1 add put 1 add
+2 index 1 index 1 put 1 add
+2 index 1 index/roll load put
+}if
+pop pop
+}for
+PDFR_DEBUG{
+dup dup length 2 sub//FunctionProcDebugEnd put
+}{
+dup dup length 2 sub//DoNothing put
+}ifelse
+dup dup length 1 sub/exec load put
+cvx exch pop exch pop exch pop
+//PDFR_DEBUG{
+(Made a procedure for the n-argument function :)=
+dup ==
+}if
+PDFR_DEBUG{
+(FunctionToProc_x0n end)=
+}if
+}bind def
+/MakeTableRec
+{
+0
+exec
+}bind def
+/MakeTable
+{//PDFR_DEBUG{
+(MakeTable beg )print count =
+}if
+1 index/Size get exch
+1 sub dup
+3 1 roll
+get
+array
+1 index 0 eq{
+exch pop exch pop
+}{
+dup length 1 sub -1 0{
+3 index 3 index//MakeTableRec exec
+2 index 3 1 roll put
+}for
+exch pop exch pop
+}ifelse
+//PDFR_DEBUG{
+(MakeTable end )print count =
+}if
+}bind def
+//MakeTableRec 0//MakeTable put
+/StoreSample
+{
+1 sub
+dup 0 eq{
+pop
+}{
+-1 1{
+I exch get get
+}for
+}ifelse
+I 0 get 3 2 roll put
+}bind def
+/ReadSample32
+{
+4{
+File read not{
+mark(Insufficient data for function.)//error exec
+}if
+}repeat
+pop
+3 1 roll exch
+256 mul add 256 mul add
+//1_24_bitshift_1_sub div
+}bind def
+/ReadSample
+{
+Buffer BitsLeft BitsPerSample
+{2 copy ge{
+exit
+}if
+3 1 roll
+8 add 3 1 roll
+256 mul File read not{
+mark(Insufficient data for function.)//error exec
+}if
+add
+3 1 roll
+}loop
+sub dup
+2 index exch
+neg bitshift
+2 copy exch bitshift
+4 3 roll exch sub
+/Buffer exch def
+exch/BitsLeft exch def
+Div div
+}bind def
+/ReadSamplesRec
+{0
+exec
+}bind def
+/ReadSamples
+{
+//PDFR_DEBUG{
+(ReadSamples beg )print count =
+}if
+dup 1 eq{
+pop
+0 1 Size 0 get 1 sub{
+I exch 0 exch put
+0 1 M 1 sub{
+dup Range exch 2 mul 2 getinterval
+//PDFR_DEBUG{
+(Will read a sample ... )print
+}if
+BitsPerSample 32 eq{//ReadSample32}{//ReadSample}ifelse
+exec exch//ScaleVal exec
+//PDFR_DEBUG{
+(value=)print dup =
+}if
+exch Table exch get
+Size length//StoreSample exec
+}for
+}for
+}{
+1 sub
+dup Size exch get 0 exch 1 exch 1 sub{
+I exch 2 index exch put
+dup//ReadSamplesRec exec
+}for
+pop
+}ifelse
+//PDFR_DEBUG{
+(ReadSamples end )print count =
+}if
+}bind def
+//ReadSamplesRec 0//ReadSamples put
+/StreamToArray
+{//PDFR_DEBUG{
+(StreamToArray beg )print count =
+}if
+userdict/FuncDataReader get begin
+dup/BitsPerSample get/BitsPerSample exch def
+dup/Size get length/N exch def
+dup/Range get length 2 idiv/M exch def
+1 BitsPerSample bitshift 1 sub/Div exch def
+/BitsLeft 0 def
+/Buffer 0 def
+dup/Size get/Size exch def
+dup/Range get/Range exch def
+/File 1 index//MakeStreamReader exec def
+/I[N{0}repeat]def
+M array
+dup length 1 sub -1 0{
+2 index N//MakeTable exec
+2 index 3 1 roll put
+}for
+/Table exch def
+N//ReadSamples exec
+PDFR_DEBUG{
+(Table = )print Table ==
+}if
+/Data Table put
+end
+//PDFR_DEBUG{
+(StreamToArray end )print count =
+}if
+}bind def
+/FunctionToProc10
+{
+PDFR_DEBUG{
+(FunctionToProc10 beg, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+PDFR_DEBUG{
+(FunctionToProc10 end)=
+}if
+}bind def
+/FunctionToProc12
+{begin
+currentdict/C0//knownget exec{length 1 eq}{true}ifelse{
+N
+currentdict/C0//knownget exec{
+0 get
+}{
+0
+}ifelse
+currentdict/C1//knownget exec{
+0 get
+}{
+1
+}ifelse
+1 index sub
+[4 1 roll
+{
+4 2 roll
+exp mul add
+}aload pop
+]cvx
+}{
+[
+0 1 C0 length 1 sub{
+N
+C0 2 index get
+C1 3 index get
+4 3 roll pop
+1 index sub
+[/dup load
+5 2 roll
+{
+4 2 roll
+exp mul add
+exch
+}aload pop
+]cvx
+/exec load
+}for
+/pop load
+]cvx
+}ifelse
+end
+//PDFR_DEBUG{
+(FunctionType2Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc14
+{//MakeStreamReader exec cvx exec
+//PDFR_DEBUG{
+(FunctionType4Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc1
+{
+dup/FunctionType get
+{dup 0 eq{
+pop//FunctionToProc10 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc12 exec exit
+}if
+dup 4 eq{
+pop//FunctionToProc14 exec exit
+}if
+mark exch(Function type )exch( isn't implemented yet.)//error exec
+}loop
+}bind def
+/FunctionToProc20
+{
+PDFR_DEBUG{
+(FunctionToProc20, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+}bind def
+/FunctionToProc
+{//PDFR_DEBUG{
+(FunctionToProc beg )print count =
+}if
+dup type/dicttype eq{
+dup/Domain get length 2 idiv
+{
+dup 1 eq{
+pop//FunctionToProc1 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc20 exec exit
+}if
+mark(Functions with many arguments aren't implemented yet.)//error exec
+}loop
+}{
+//PDFR_DEBUG{(Not a function dict, assume already a procedure.)print}if
+}ifelse
+//PDFR_DEBUG{
+(FunctionToProc end )print count =
+}if
+}bind def
+/spotfunctions mark
+/Round{
+abs exch abs 2 copy add 1 le{
+dup mul exch dup mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}
+/Diamond{
+abs exch abs 2 copy add .75 le{
+dup mul exch dup mul add 1 exch sub
+}{
+2 copy add 1.23 le{
+.85 mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}ifelse
+}
+/Ellipse{
+abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt{
+pop dup mul exch .75 div dup mul add 4 div 1 exch sub
+}{
+dup 1 gt{
+pop 1 exch sub dup mul exch 1 exch sub
+.75 div dup mul add 4 div 1 sub
+}{
+.5 exch sub exch pop exch pop
+}ifelse
+}ifelse
+}
+/EllipseA{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseA{dup mul .9 mul exch dup mul add 1 sub}
+/EllipseB{dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}
+/EllipseC{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseC{dup mul .9 mul exch dup mul add 1 sub}
+/Line{exch pop abs neg}
+/LineX{pop}
+/LineY{exch pop}
+/Square{abs exch abs 2 copy lt{exch}if pop neg}
+/Cross{abs exch abs 2 copy gt{exch}if pop neg}
+/Rhomboid{abs exch abs 0.9 mul add 2 div}
+/DoubleDot{2{360 mul sin 2 div exch}repeat add}
+/InvertedDoubleDot{2{360 mul sin 2 div exch}repeat add neg}
+/SimpleDot{dup mul exch dup mul add 1 exch sub}
+/InvertedSimpleDot{dup mul exch dup mul add 1 sub}
+/CosineDot{180 mul cos exch 180 mul cos add 2 div}
+/Double{exch 2 div exch 2{360 mul sin 2 div exch}repeat add}
+/InvertedDouble{
+exch 2 div exch 2{360 mul sin 2 div exch}repeat add neg
+}
+.dicttomark readonly def
+/CheckColorSpace
+{
+dup type/arraytype ne{
+mark(Resource )3 index( must be an array.)//error exec
+}if
+}bind def
+/SubstitutePDFColorSpaceRec
+{0
+exec
+}bind def
+/SubstitutePDFColorSpace
+{
+{
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup dup 1//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+1 exch put
+}if
+exit
+}if
+dup 0 get/Indexed eq{
+exit
+}if
+dup 0 get/Separation eq{
+dup dup 2//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+2 exch put
+exit
+}if
+dup 0 get/CalGray eq{
+1 get
+dup/Gamma//knownget exec{
+[exch[exch/exp load]cvx dup dup]
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedA exch]
+exit
+}if
+dup 0 get/CalRGB eq{
+1 get
+dup/Matrix//knownget exec{
+1 index exch/MatrixLMN exch put
+}if
+dup/Gamma//knownget exec{
+aload pop
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+3 array astore
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedABC exch]
+exit
+}if
+dup 0 get/Lab eq{
+1 get
+begin
+currentdict/Range//knownget exec{aload pop}{-100 100 -100 100}ifelse
+0 100 6 2 roll 6 array astore
+/RangeABC exch def
+/DecodeABC[{16 add 116 div}bind{500 div}bind{200 div}bind]def
+/MatrixABC[1 1 1 1 0 0 0 0 -1]def
+{dup 6 29 div ge{dup dup mul mul}{4 29 div sub 108 841 div mul}ifelse}
+/DecodeLMN[
+[3 index aload pop WhitePoint 0 get/mul load]cvx
+[4 index aload pop WhitePoint 1 get/mul load]cvx
+[5 index aload pop WhitePoint 2 get/mul load]cvx
+]def pop
+//PDFR_DEBUG{
+(Constructed from Lab <<)=
+currentdict{exch = ==}forall
+(>>)=
+}if
+[/CIEBasedABC currentdict]
+end
+exit
+pop
+}if
+dup 0 get/CIEBasedA eq{exit}if
+dup 0 get/CIEBasedABC eq{exit}if
+mark exch(Unimplemented color space )exch//error exec
+}loop
+}bind def
+//SubstitutePDFColorSpaceRec 0//SubstitutePDFColorSpace put
+/ResolveArrayElement
+{2 copy get
+dup type dup/arraytype eq exch
+/packedarraytype eq or{
+dup length 1 ge exch xcheck and{
+2 copy get
+dup 0 get type/integertype eq
+1 index 1 get type dup/arraytype
+eq exch
+/packedarraytype eq or
+and{
+exec
+2 index 4 1 roll put
+}{
+pop pop
+}ifelse
+}{
+pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/ResolveColorSpaceArrayRec
+{0
+exec
+}bind def
+/SetColorSpaceSafe
+{
+PDFR_DEBUG{
+(SetColorSpaceSafe beg)=
+}if
+currentcolorspace dup type/arraytype eq{
+1 index type/arraytype eq{
+dup length 2 index length eq{
+false exch
+dup length 0 exch 1 exch 1 sub{
+dup
+4 index exch get exch
+2 index exch get
+ne{
+exch pop true exch exit
+}if
+}for
+pop
+{
+setcolorspace
+}{
+pop
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+PDFR_DEBUG{
+(SetColorSpaceSafe end)=
+}if
+}bind def
+/ResolveColorSpaceArray
+{
+//PDFR_DEBUG{
+(ResolveColorSpaceArray beg )print dup ==
+}if
+dup 0 get/Indexed eq{
+1//ResolveArrayElement exec
+dup dup 1 get
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArrayRec exec
+1 exch put
+}{
+pop pop
+}ifelse
+}if
+dup 0 get/Separation eq{
+dup dup 1 get UnPDFEscape 1 exch put
+3//ResolveArrayElement exec
+dup 3 get//FunctionToProc exec
+2 copy 3 exch put
+pop
+}if
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup 1 get dup type/arraytype eq{
+ResolveColorSpaceArray
+1 index 1 3 -1 roll put
+}{
+pop
+}ifelse
+}if
+}if
+PDFR_DEBUG{
+(Construcrted color space :)=
+dup ==
+}if
+//PDFR_DEBUG{
+(ResolveColorSpaceArray end )print dup ==
+}if
+}bind def
+//ResolveColorSpaceArrayRec 0//ResolveColorSpaceArray put
+/ResolveColorSpace
+{
+//PDFR_DEBUG{
+(ResolveColorSpace beg )print dup =
+}if
+dup//SimpleColorSpaceNames exch known not{
+dup//PDFColorSpaces exch//knownget exec{
+exch pop
+//PDFR_DEBUG{
+(ResolveColorSpace known )=
+}if
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/ColorSpace//DoNothing//ResolveD exec
+exch//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArray exec
+dup//PDFColorSpaces 4 2 roll put
+}if
+}ifelse
+}if
+//PDFR_DEBUG{
+(ResolveColorSpace end )print dup ==
+}if
+}bind def
+/CheckPattern
+{
+dup/PatternType//knownget exec{
+dup 1 ne{
+mark(Resource )4 index( is a shading, which can't be handled at level 2. )//error exec
+}if
+pop
+}if
+dup/Type knownget{
+/Pattern ne{
+mark(Resource )4 index( must have /Type/Pattern .)//error exec
+}if
+}if
+}bind def
+/PaintProc
+{/Context get
+//RunDelayedStream exec
+}bind def
+/ResolvePattern
+{
+dup
+userdict/PDFR_Patterns get
+exch//knownget exec{
+exch pop
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Pattern//DoNothing//ResolveD exec
+exch//CheckPattern//ResolveD exec
+dup dup/Context exch put
+dup/Resources//DoNothing//ResolveD exec pop
+dup/PaintProc//PaintProc put
+gsave userdict/PDFR_InitialGS get setgstate
+currentglobal exch false setglobal
+dup/Matrix get
+makepattern
+exch setglobal
+grestore
+dup userdict/PDFR_Patterns get
+4 2 roll
+put
+}ifelse
+}bind def
+/SetColor
+{//PDFR_DEBUG{
+(SetColor beg)=
+}if
+currentcolorspace dup type/nametype eq{
+pop setcolor
+}{
+0 get/Pattern eq{
+//ResolvePattern exec setpattern
+}{
+setcolor
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(SetColor end)=
+}if
+}bind def
+/ImageKeys 15 dict begin
+/BPC/BitsPerComponent def
+/CS/ColorSpace def
+/D/Decode def
+/DP/DecodeParms def
+/F/Filter def
+/H/Height def
+/IM/ImageMask def
+/I/Interpolate def
+/W/Width def
+currentdict end readonly def
+/ImageValues 15 dict begin
+/G/DeviceGray def
+/RGB/DeviceRGB def
+/CMYK/DeviceCMYK def
+/I/Indexed def
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/GetColorSpaceRange
+{2 index/ColorSpace get
+dup type/arraytype eq{
+1 get
+}if
+exch//knownget exec{
+exch pop
+}if
+}bind def
+/DecodeArrays 15 dict begin
+/DeviceGray{[0 1]}def
+/DeviceRGB{[0 1 0 1 0 1]}def
+/DeviceCMYK{[0 1 0 1 0 1 0 1]}def
+/Indexed{
+dup/BitsPerComponent get 1 exch bitshift 1 sub[exch 0 exch]
+}def
+/Separation{[0 1]}def
+/CIEBasedA{[0 1]/RangeA//GetColorSpaceRange exec}def
+/CIEBasedABC{[0 1 0 1 0 1]/RangeABC//GetColorSpaceRange exec}def
+currentdict end readonly def
+/Substitute
+{1 index//knownget exec{
+exch pop
+}if
+}bind def
+/DebugImagePrinting
+{
+//PDFR_DEBUG{
+(Image :)=
+dup{exch//=only exec( )print ==
+}forall
+}if
+}bind def
+/CompleteImage
+{
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec pop
+}if
+dup/Decode known not{
+dup/ColorSpace//knownget exec{
+dup type/arraytype eq{
+0 get
+}if
+//DecodeArrays exch get exec
+}{
+[0 1]
+}ifelse
+1 index exch/Decode exch put
+}if
+dup/ImageMatrix[2 index/Width get 0 0 5 index/Height get neg
+0 7 index/Height get]put
+//DebugImagePrinting exec
+}bind def
+/CompleteInlineImage
+{
+//PDFR_DEBUG{
+(CompleteInlineImage beg)=
+}if
+dup/ImageType known not{
+dup/ImageType 1 put
+}if
+dup length dict exch{
+exch//ImageKeys//Substitute exec
+dup/Filter eq{
+exch//ImageValues//Substitute exec exch
+}if
+dup/ColorSpace eq{
+exch
+dup//ImageValues exch//knownget exec{
+exch pop
+}{
+//ResolveColorSpace exec
+}ifelse
+exch
+}if
+exch
+2 index 3 1 roll put
+}forall
+//CompleteImage exec
+dup/DataSource 2 copy get
+2 index//AppendFilters exec put
+//PDFR_DEBUG{
+(CompleteInlineImage end)=
+}if
+}bind def
+/CompleteOutlineImage
+{
+currentglobal exch dup gcheck setglobal
+//PDFR_DEBUG{
+(CompleteOutlineImage beg)=
+}if
+dup dup//MakeStreamReader exec/DataSource exch put
+dup/ImageType known not{
+//CompleteImage exec
+dup/ImageType 1 put
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//ResolveColorSpaceArray exec
+//SubstitutePDFColorSpace exec
+1 index exch/ColorSpace exch put
+}{
+pop
+}ifelse
+}if
+}if
+//PDFR_DEBUG{
+(CompleteOutlineImage end)=
+}if
+exch setglobal
+}bind def
+/DoImage
+{
+//PDFR_DEBUG{
+(DoImage beg)=
+}if
+gsave
+dup/ColorSpace//knownget exec{setcolorspace}if
+dup/ImageMask//knownget exec not{false}if
+{imagemask}{image}ifelse
+grestore
+//PDFR_DEBUG{
+(DoImage end)=
+}if
+}bind def
+/GSave
+{
+gsave
+//PDFReader/GraphicStateStackPointer get
+dup//GraphicStateStack exch get null eq{
+dup//GraphicStateStack exch//InitialGraphicState length dict put
+}if
+dup//GraphicStateStack exch get
+//GraphicState exch copy pop
+1 add//PDFReader exch/GraphicStateStackPointer exch put
+}bind def
+/GRestore
+{
+grestore
+//PDFReader/GraphicStateStackPointer get
+1 sub dup
+//PDFReader exch/GraphicStateStackPointer exch put
+//GraphicStateStack exch get
+//GraphicState copy pop
+}bind def
+/SetFont
+{dup//GraphicState exch/FontSize exch put
+//ResolveAndSetFont exec
+//GraphicState/FontMatrixNonHV currentfont/FontMatrix get 1 get 0 ne put
+}bind def
+/ShowText
+{//GraphicState/TextRenderingMode get 0 eq{
+//GraphicState/WordSpacing get 0
+32
+//GraphicState/CharacterSpacing get 0
+6 5 roll
+//GraphicState/FontMatrixNonHV get{
+[
+7 -2 roll pop
+5 -2 roll pop
+5 -1 roll
+{
+exch
+pop
+3 index add
+exch 2 index eq{3 index add}if
+4 1 roll
+}
+currentfont/FontMatrix get 0 get 0 ne{
+1 1 index length 1 sub getinterval cvx
+}if
+5 index
+cshow
+pop pop pop]
+xshow
+}{
+awidthshow
+}ifelse
+}{
+//GraphicState/CharacterSpacing get 0 eq
+//GraphicState/FontMatrixNonHV get not and
+//GraphicState/WordSpacing get 0 eq and{
+true charpath
+}{
+{
+exch
+pop 0
+currentpoint 5 4 roll
+( )dup 0 3 index put true charpath
+5 1 roll
+moveto rmoveto
+//GraphicState/CharacterSpacing get 0 rmoveto
+32 eq{
+//GraphicState/WordSpacing get 0 rmoveto
+}if
+}
+//GraphicState/FontMatrixNonHV get dup not exch{
+pop currentfont/FontMatrix get 0 get 0 ne
+}if{
+1 1 index length 1 sub getinterval cvx
+}if
+exch cshow
+}ifelse
+}ifelse
+}bind def
+/ShowTextBeg
+{//GraphicState/TextRenderingMode get 0 ne{
+currentpoint newpath moveto
+}if
+}bind def
+/ShowTextEnd
+{//GraphicState/TextRenderingMode get
+{dup 1 eq{
+stroke exit
+}if
+dup 2 eq{
+gsave fill grestore stroke exit
+}if
+dup 3 eq{
+currentpoint newpath moveto
+}if
+dup 4 eq{
+gsave fill grestore clip exit
+}if
+dup 5 eq{
+gsave stroke grestore clip exit
+}if
+dup 6 eq{
+gsave fill grestore gsave stroke grestore fill exit
+}if
+dup 7 eq{
+clip exit
+}if
+exit
+}loop
+pop
+}bind def
+/ShowTextWithGlyphPositioning
+{//ShowTextBeg exec
+{dup type/stringtype eq{
+//ShowText exec
+}{
+neg 1000 div//GraphicState/FontSize get mul 0 rmoveto
+}ifelse
+}forall
+//ShowTextEnd exec
+}bind def
+/CheckFont
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/SetTransfer
+{
+//PDFR_DEBUG{(SetTransfer beg )print count =}if
+dup type/arraytype eq 1 index xcheck not and{
+0 4 getinterval aload pop
+setcolortransfer
+}{
+settransfer
+}ifelse
+//PDFR_DEBUG{(SetTransfer end )print count =}if
+}bind def
+/CheckExtGState
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/CheckHalftone
+{dup/HalftoneType known not{
+mark(Resource )3 index( must have /HalftoneType.)//error exec
+}if
+}bind def
+/ResolveFunction
+{
+//PDFR_DEBUG{(ResolveFunction beg )print dup = count =}if
+2 copy get//IsObjRef exec{
+2 copy//DoNothing//ResolveD exec
+3 copy put pop
+}if
+2 copy get dup type/arraytype eq exch xcheck and not{
+2 copy get
+dup type/arraytype eq 1 index xcheck not and{
+dup length 1 sub -1 0{
+2 copy//DoNothing ResolveA
+dup/Identity eq{
+pop 2 copy{}put
+}{
+//FunctionToProc exec
+3 copy put pop
+}ifelse
+pop
+}for
+}{
+dup/Default eq{
+}{
+dup/Identity eq{
+pop{}
+}{dup type/nametype eq{
+//spotfunctions exch get
+}{
+//FunctionToProc exec
+}ifelse
+}ifelse
+}ifelse
+}ifelse
+3 copy put
+exch pop
+}{
+1 index exch get
+}ifelse
+//PDFR_DEBUG{(ResolveFunction end )print dup == count =}if
+}bind def
+/ResolveFunctionSafe
+{2 copy known{
+//ResolveFunction exec
+}if
+pop
+}bind def
+/CreateHalftoneThresholds
+{
+dup/Thresholds known not{
+dup/HalftoneType get 10 eq{
+dup dup//MakeStreamReader exec
+/Thresholds exch put
+}if
+dup/HalftoneType get dup 3 eq exch 6 eq or{
+dup dup//MakeStreamReader exec
+//BlockBuffer readstring pop
+dup length
+dup 0 eq{
+mark(Could not read Thresholds)//error exec
+}if
+string copy/Thresholds exch put
+dup/HalftoneType 3 put
+}if
+}if
+}bind def
+/SetExtGState
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/ExtGState//DoNothing//ResolveD exec
+exch//CheckExtGState//ResolveD exec
+dup/LW//knownget exec{
+setlinewidth
+}if
+dup/LC//knownget exec{
+setlinecap
+}if
+dup/LJ//knownget exec{
+setlinejoin
+}if
+dup/ML//knownget exec{
+setmeterlimit
+}if
+dup/D//knownget exec{
+setdash
+}if
+dup/RI//knownget exec{
+mark(Unimplemented ExtGState.RI)//error exec
+}if
+dup/OP//knownget exec{
+setoverprint
+}if
+dup/op//knownget exec{
+setoverprint
+}if
+dup/OPM//knownget exec{
+mark(Unimplemented ExtGState.OPM)//error exec
+}if
+dup/Font//knownget exec{
+mark(Unimplemented ExtGState.Font)//error exec
+}if
+dup/BG known{
+/BG//ResolveFunction exec
+setblackgeneration
+}if
+dup/BG2 known{
+/BG2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/BG2 get
+}if
+setblackgeneration
+}if
+dup/UCR known{
+/UCR//ResolveFunction exec
+setundercolorremoval
+}if
+dup/UCR2 known{
+/UCR2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/UCR2 get
+}if
+setundercolorremoval
+}if
+dup/TR known{
+/TR//ResolveFunction exec
+//SetTransfer exec
+}if
+dup/TR2 known{
+/TR2//ResolveFunction exec
+dup/Default eq{
+pop//InitialExtGState/TR2 get
+aload pop setcolortransfer
+}{
+//SetTransfer exec
+}ifelse
+}if
+dup/HT//knownget exec{
+dup/Default eq{
+pop//InitialExtGState/HT get
+sethalftone
+}{
+//PDFR_DEBUG{(Ht beg)=}if
+pop dup/HT//CheckHalftone//ResolveD exec
+/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+null exch
+dup/HalftoneType get dup 5 eq exch dup 4 eq exch 2 eq or or{
+dup{
+dup//IsObjRef exec{
+pop
+1 index exch//CheckHalftone ResolveD
+}if
+dup type/dicttype eq{
+dup/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+//CreateHalftoneThresholds exec
+dup/HalftoneType get 5 gt{
+4 3 roll pop
+dup 4 1 roll
+}if
+}if
+pop pop
+}forall
+}if
+//CreateHalftoneThresholds exec
+//PDFR_DEBUG{
+(HT:)=
+dup{
+1 index/Default eq{
+(Default <<)=
+exch pop
+{exch = ==}forall
+(>>)=
+}{
+exch = ==
+}ifelse
+}forall
+(HT end)= flush
+}if
+exch dup null ne{
+(Warning: Ignoring a halftone with a Level 3 component halftone Type )print dup/HalftoneType get =
+pop pop
+}{
+pop
+dup/HalftoneType get 5 gt{
+(Warning: Ignoring a Level 3 halftone Type )print dup/HalftoneType get =
+pop
+}{
+sethalftone
+}ifelse
+}ifelse
+//PDFR_DEBUG{(HT set)= flush}if
+}ifelse
+}if
+dup/FL//knownget exec{
+setflattness
+}if
+dup/SM//knownget exec{
+setsmoothness
+}if
+dup/SA//knownget exec{
+setstrokeadjust
+}if
+dup/BM//knownget exec{
+mark(Unimplemented ExtGState.BM)//error exec
+}if
+dup/SMask//knownget exec{
+mark(Unimplemented ExtGState.SMask)//error exec
+}if
+dup/CA//knownget exec{
+mark(Unimplemented ExtGState.CA)//error exec
+}if
+dup/ca//knownget exec{
+mark(Unimplemented ExtGState.ca)//error exec
+}if
+dup/AIS//knownget exec{
+mark(Unimplemented ExtGState.AIS)//error exec
+}if
+dup/TK//knownget exec{
+mark(Unimplemented ExtGState.TK)//error exec
+}if
+pop
+}bind def
+/CheckXObject
+{dup/Subtype get dup/Image ne exch dup/Form ne exch/PS ne and and{
+mark(Resource )3 index( must have /Subtype /Image or /Form or /PS.)//error exec
+}if
+}bind def
+/DoXObject
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/XObject//DoNothing//ResolveD exec
+exch//CheckXObject//ResolveD exec
+dup/Subtype get
+dup/Image eq{
+pop
+//CompleteOutlineImage exec
+//DoImage exec
+}{
+dup/PS eq{
+PDFR_DEBUG{
+(Executing a PS Xobject)=
+}if
+pop
+//RunDelayedStream exec
+}{
+dup/Form eq{
+pop
+PDFR_DEBUG{
+(Executing a Form XObject)=
+}if
+//PDFReader/CurrentObject get exch
+dup//PDFReader exch<< exch/Context exch >>/CurrentObject exch put
+dup/Matrix get concat
+dup/BBox get aload pop exch 3 index sub exch 2 index sub rectclip
+//RunDelayedStream exec
+//PDFReader exch/CurrentObject exch put
+}{
+mark exch(unimplemented XObject type )exch//error exec
+}ifelse
+}ifelse
+}ifelse
+}bind def
+/Operators 50 dict begin
+/q{//GSave exec}bind def
+/Q{//GRestore exec}bind def
+/cm{//TempMatrix astore concat}bind def
+/i{1 .min setflat}bind def
+/J/setlinecap load def
+/d/setdash load def
+/j/setlinejoin load def
+/w/setlinewidth load def
+/M/setmiterlimit load def
+/gs{SetExtGState}bind def
+/g/setgray load def
+/rg/setrgbcolor load def
+/k/setcmykcolor load def
+/cs{//ResolveColorSpace exec//SetColorSpaceSafe exec
+}bind def
+/sc/setcolor load def
+/scn{//SetColor exec}bind def
+/G/setgray load def
+/RG/setrgbcolor load def
+/K/setcmykcolor load def
+/CS//cs def
+/ri{SetColorRenderingIntent}bind def
+/SC/setcolor load def
+/SCN{//SetColor exec}bind def
+/m/moveto load def
+/l/lineto load def
+/c/curveto load def
+/v{currentpoint 6 2 roll curveto}bind def
+/y{2 copy curveto}bind def
+/re{
+4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
+closepath
+}def
+/h/closepath load def
+/n/newpath load def
+/S/stroke load def
+/s{closepath stroke}bind def
+/f/fill load def
+/f*/eofill load def
+/B{gsave fill grestore stroke}bind def
+/b{closepath gsave fill grestore stroke}bind def
+/B*{gsave eofill grestore stroke}bind def
+/b*{closepath gsave eofill grestore stroke}bind def
+/W/clip load def
+/W*/eoclip load def
+/sh{
+ResolveShading
+dup/Background known{
+gsave
+dup/ColorSpace get setcolorspace
+dup/Background get aload pop setcolor
+pathbbox
+2 index sub exch 3 index sub exch
+rectfill
+grestore
+}if
+shfill
+}bind def
+/Do{//DoXObject exec}bind def
+/BI{currentglobal false setglobal<<}bind def
+/ID{>>
+dup/DataSource currentfile
+2 index/F//knownget exec{
+/A85 eq{
+0(~>)/SubFileDecode filter
+}if
+}if
+put
+//CompleteInlineImage exec
+exch setglobal
+//DoImage exec
+}bind def
+/EI{}bind def
+/BT{gsave//GraphicState/InitialTextMatrix get currentmatrix pop}bind def
+/ET{grestore}bind def
+/Tc{//GraphicState exch/CharacterSpacing exch put}bind def
+/TL{//GraphicState exch/TextLeading exch put}bind def
+/Tr{//GraphicState exch/TextRenderingMode exch put}bind def
+/Ts{
+mark(Unimplemented SetTextRise)//error exec
+}bind def
+/Tw{//GraphicState exch/WordSpacing exch put}bind def
+/Tz{
+mark(Unimplemented SetHorizontalTextScaling)//error exec
+}bind def
+/Td{translate 0 0 moveto}bind def
+/TD{dup neg//TL exec//Td exec}bind def
+/Tm{//GraphicState/InitialTextMatrix get setmatrix
+//TempMatrix astore concat
+0 0 moveto}bind def
+/T*{0//GraphicState/TextLeading get neg//Td exec}bind def
+/Tj{//ShowTextBeg exec//ShowText exec//ShowTextEnd exec}bind def
+/'{//T* exec//ShowText exec//ShowTextEnd exec}bind def
+/"{3 2 roll//Tw exec exch//Tc exec//' exec}bind def
+/TJ//ShowTextWithGlyphPositioning def
+/Tf//SetFont def
+/d0/setcharwidth load def
+/d1/setcachedevice load def
+/BDC{pop pop}bind def
+/BMC{pop}bind def
+/EMC{}bind def
+/BX{BeginCompatibilitySection}bind def
+/EX{EndCompatibilitySection}bind def
+/DP{DefineMarkedContentPointWithPropertyList}bind def
+/MP{DefineMarkedContentPoint}bind def
+/PS{cvx exec}bind def
+currentdict end def
+//PDFR_STREAM{
+//Operators length dict begin
+//Operators{
+exch dup
+[exch//=only/exec load
+( )/print load
+8 7 roll
+dup type/arraytype eq{
+/exec load
+}if
+( )/print load
+]cvx
+def
+}forall
+currentdict end/Operators exch def
+}if
+/.registerencoding
+{pop pop
+}bind def
+/.defineencoding
+{def
+}bind def
+/.findencoding
+{load
+}bind def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+256 packedarray
+5 1 index .registerencoding
+.defineencoding
+exec
+/AdobeGlyphList mark
+/A 16#0041
+/AE 16#00c6
+/AEacute 16#01fc
+/AEmacron 16#01e2
+/AEsmall 16#f7e6
+/Aacute 16#00c1
+/Aacutesmall 16#f7e1
+/Abreve 16#0102
+/Abreveacute 16#1eae
+/Abrevecyrillic 16#04d0
+/Abrevedotbelow 16#1eb6
+/Abrevegrave 16#1eb0
+/Abrevehookabove 16#1eb2
+/Abrevetilde 16#1eb4
+/Acaron 16#01cd
+/Acircle 16#24b6
+/Acircumflex 16#00c2
+/Acircumflexacute 16#1ea4
+/Acircumflexdotbelow 16#1eac
+/Acircumflexgrave 16#1ea6
+/Acircumflexhookabove 16#1ea8
+/Acircumflexsmall 16#f7e2
+/Acircumflextilde 16#1eaa
+/Acute 16#f6c9
+/Acutesmall 16#f7b4
+/Acyrillic 16#0410
+/Adblgrave 16#0200
+/Adieresis 16#00c4
+/Adieresiscyrillic 16#04d2
+/Adieresismacron 16#01de
+/Adieresissmall 16#f7e4
+/Adotbelow 16#1ea0
+/Adotmacron 16#01e0
+/Agrave 16#00c0
+/Agravesmall 16#f7e0
+/Ahookabove 16#1ea2
+/Aiecyrillic 16#04d4
+/Ainvertedbreve 16#0202
+/Alpha 16#0391
+/Alphatonos 16#0386
+/Amacron 16#0100
+/Amonospace 16#ff21
+/Aogonek 16#0104
+/Aring 16#00c5
+/Aringacute 16#01fa
+/Aringbelow 16#1e00
+/Aringsmall 16#f7e5
+/Asmall 16#f761
+/Atilde 16#00c3
+/Atildesmall 16#f7e3
+/Aybarmenian 16#0531
+/B 16#0042
+/Bcircle 16#24b7
+/Bdotaccent 16#1e02
+/Bdotbelow 16#1e04
+/Becyrillic 16#0411
+/Benarmenian 16#0532
+/Beta 16#0392
+/Bhook 16#0181
+/Blinebelow 16#1e06
+/Bmonospace 16#ff22
+/Brevesmall 16#f6f4
+/Bsmall 16#f762
+/Btopbar 16#0182
+/C 16#0043
+/Caarmenian 16#053e
+/Cacute 16#0106
+/Caron 16#f6ca
+/Caronsmall 16#f6f5
+/Ccaron 16#010c
+/Ccedilla 16#00c7
+/Ccedillaacute 16#1e08
+/Ccedillasmall 16#f7e7
+/Ccircle 16#24b8
+/Ccircumflex 16#0108
+/Cdot 16#010a
+/Cdotaccent 16#010a
+/Cedillasmall 16#f7b8
+/Chaarmenian 16#0549
+/Cheabkhasiancyrillic 16#04bc
+/Checyrillic 16#0427
+/Chedescenderabkhasiancyrillic 16#04be
+/Chedescendercyrillic 16#04b6
+/Chedieresiscyrillic 16#04f4
+/Cheharmenian 16#0543
+/Chekhakassiancyrillic 16#04cb
+/Cheverticalstrokecyrillic 16#04b8
+/Chi 16#03a7
+/Chook 16#0187
+/Circumflexsmall 16#f6f6
+/Cmonospace 16#ff23
+/Coarmenian 16#0551
+/Csmall 16#f763
+/D 16#0044
+/DZ 16#01f1
+/DZcaron 16#01c4
+/Daarmenian 16#0534
+/Dafrican 16#0189
+/Dcaron 16#010e
+/Dcedilla 16#1e10
+/Dcircle 16#24b9
+/Dcircumflexbelow 16#1e12
+/Dcroat 16#0110
+/Ddotaccent 16#1e0a
+/Ddotbelow 16#1e0c
+/Decyrillic 16#0414
+/Deicoptic 16#03ee
+/Delta 16#2206
+/Deltagreek 16#0394
+/Dhook 16#018a
+/Dieresis 16#f6cb
+/DieresisAcute 16#f6cc
+/DieresisGrave 16#f6cd
+/Dieresissmall 16#f7a8
+/Digammagreek 16#03dc
+/Djecyrillic 16#0402
+/Dlinebelow 16#1e0e
+/Dmonospace 16#ff24
+/Dotaccentsmall 16#f6f7
+/Dslash 16#0110
+/Dsmall 16#f764
+/Dtopbar 16#018b
+/Dz 16#01f2
+/Dzcaron 16#01c5
+/Dzeabkhasiancyrillic 16#04e0
+/Dzecyrillic 16#0405
+/Dzhecyrillic 16#040f
+/E 16#0045
+/Eacute 16#00c9
+/Eacutesmall 16#f7e9
+/Ebreve 16#0114
+/Ecaron 16#011a
+/Ecedillabreve 16#1e1c
+/Echarmenian 16#0535
+/Ecircle 16#24ba
+/Ecircumflex 16#00ca
+/Ecircumflexacute 16#1ebe
+/Ecircumflexbelow 16#1e18
+/Ecircumflexdotbelow 16#1ec6
+/Ecircumflexgrave 16#1ec0
+/Ecircumflexhookabove 16#1ec2
+/Ecircumflexsmall 16#f7ea
+/Ecircumflextilde 16#1ec4
+/Ecyrillic 16#0404
+/Edblgrave 16#0204
+/Edieresis 16#00cb
+/Edieresissmall 16#f7eb
+/Edot 16#0116
+/Edotaccent 16#0116
+/Edotbelow 16#1eb8
+/Efcyrillic 16#0424
+/Egrave 16#00c8
+/Egravesmall 16#f7e8
+/Eharmenian 16#0537
+/Ehookabove 16#1eba
+/Eightroman 16#2167
+/Einvertedbreve 16#0206
+/Eiotifiedcyrillic 16#0464
+/Elcyrillic 16#041b
+/Elevenroman 16#216a
+/Emacron 16#0112
+/Emacronacute 16#1e16
+/Emacrongrave 16#1e14
+/Emcyrillic 16#041c
+/Emonospace 16#ff25
+/Encyrillic 16#041d
+/Endescendercyrillic 16#04a2
+/Eng 16#014a
+/Enghecyrillic 16#04a4
+/Enhookcyrillic 16#04c7
+/Eogonek 16#0118
+/Eopen 16#0190
+/Epsilon 16#0395
+/Epsilontonos 16#0388
+/Ercyrillic 16#0420
+/Ereversed 16#018e
+/Ereversedcyrillic 16#042d
+/Escyrillic 16#0421
+/Esdescendercyrillic 16#04aa
+/Esh 16#01a9
+/Esmall 16#f765
+/Eta 16#0397
+/Etarmenian 16#0538
+/Etatonos 16#0389
+/Eth 16#00d0
+/Ethsmall 16#f7f0
+/Etilde 16#1ebc
+/Etildebelow 16#1e1a
+/Euro 16#20ac
+/Ezh 16#01b7
+/Ezhcaron 16#01ee
+/Ezhreversed 16#01b8
+/F 16#0046
+/Fcircle 16#24bb
+/Fdotaccent 16#1e1e
+/Feharmenian 16#0556
+/Feicoptic 16#03e4
+/Fhook 16#0191
+/Fitacyrillic 16#0472
+/Fiveroman 16#2164
+/Fmonospace 16#ff26
+/Fourroman 16#2163
+/Fsmall 16#f766
+/G 16#0047
+/GBsquare 16#3387
+/Gacute 16#01f4
+/Gamma 16#0393
+/Gammaafrican 16#0194
+/Gangiacoptic 16#03ea
+/Gbreve 16#011e
+/Gcaron 16#01e6
+/Gcedilla 16#0122
+/Gcircle 16#24bc
+/Gcircumflex 16#011c
+/Gcommaaccent 16#0122
+/Gdot 16#0120
+/Gdotaccent 16#0120
+/Gecyrillic 16#0413
+/Ghadarmenian 16#0542
+/Ghemiddlehookcyrillic 16#0494
+/Ghestrokecyrillic 16#0492
+/Gheupturncyrillic 16#0490
+/Ghook 16#0193
+/Gimarmenian 16#0533
+/Gjecyrillic 16#0403
+/Gmacron 16#1e20
+/Gmonospace 16#ff27
+/Grave 16#f6ce
+/Gravesmall 16#f760
+/Gsmall 16#f767
+/Gsmallhook 16#029b
+/Gstroke 16#01e4
+/H 16#0048
+/H18533 16#25cf
+/H18543 16#25aa
+/H18551 16#25ab
+/H22073 16#25a1
+/HPsquare 16#33cb
+/Haabkhasiancyrillic 16#04a8
+/Hadescendercyrillic 16#04b2
+/Hardsigncyrillic 16#042a
+/Hbar 16#0126
+/Hbrevebelow 16#1e2a
+/Hcedilla 16#1e28
+/Hcircle 16#24bd
+/Hcircumflex 16#0124
+/Hdieresis 16#1e26
+/Hdotaccent 16#1e22
+/Hdotbelow 16#1e24
+/Hmonospace 16#ff28
+/Hoarmenian 16#0540
+/Horicoptic 16#03e8
+/Hsmall 16#f768
+/Hungarumlaut 16#f6cf
+/Hungarumlautsmall 16#f6f8
+/Hzsquare 16#3390
+/I 16#0049
+/IAcyrillic 16#042f
+/IJ 16#0132
+/IUcyrillic 16#042e
+/Iacute 16#00cd
+/Iacutesmall 16#f7ed
+/Ibreve 16#012c
+/Icaron 16#01cf
+/Icircle 16#24be
+/Icircumflex 16#00ce
+/Icircumflexsmall 16#f7ee
+/Icyrillic 16#0406
+/Idblgrave 16#0208
+/Idieresis 16#00cf
+/Idieresisacute 16#1e2e
+/Idieresiscyrillic 16#04e4
+/Idieresissmall 16#f7ef
+/Idot 16#0130
+/Idotaccent 16#0130
+/Idotbelow 16#1eca
+/Iebrevecyrillic 16#04d6
+/Iecyrillic 16#0415
+/Ifraktur 16#2111
+/Igrave 16#00cc
+/Igravesmall 16#f7ec
+/Ihookabove 16#1ec8
+/Iicyrillic 16#0418
+/Iinvertedbreve 16#020a
+/Iishortcyrillic 16#0419
+/Imacron 16#012a
+/Imacroncyrillic 16#04e2
+/Imonospace 16#ff29
+/Iniarmenian 16#053b
+/Iocyrillic 16#0401
+/Iogonek 16#012e
+/Iota 16#0399
+/Iotaafrican 16#0196
+/Iotadieresis 16#03aa
+/Iotatonos 16#038a
+/Ismall 16#f769
+/Istroke 16#0197
+/Itilde 16#0128
+/Itildebelow 16#1e2c
+/Izhitsacyrillic 16#0474
+/Izhitsadblgravecyrillic 16#0476
+/J 16#004a
+/Jaarmenian 16#0541
+/Jcircle 16#24bf
+/Jcircumflex 16#0134
+/Jecyrillic 16#0408
+/Jheharmenian 16#054b
+/Jmonospace 16#ff2a
+/Jsmall 16#f76a
+/K 16#004b
+/KBsquare 16#3385
+/KKsquare 16#33cd
+/Kabashkircyrillic 16#04a0
+/Kacute 16#1e30
+/Kacyrillic 16#041a
+/Kadescendercyrillic 16#049a
+/Kahookcyrillic 16#04c3
+/Kappa 16#039a
+/Kastrokecyrillic 16#049e
+/Kaverticalstrokecyrillic 16#049c
+/Kcaron 16#01e8
+/Kcedilla 16#0136
+/Kcircle 16#24c0
+/Kcommaaccent 16#0136
+/Kdotbelow 16#1e32
+/Keharmenian 16#0554
+/Kenarmenian 16#053f
+/Khacyrillic 16#0425
+/Kheicoptic 16#03e6
+/Khook 16#0198
+/Kjecyrillic 16#040c
+/Klinebelow 16#1e34
+/Kmonospace 16#ff2b
+/Koppacyrillic 16#0480
+/Koppagreek 16#03de
+/Ksicyrillic 16#046e
+/Ksmall 16#f76b
+/L 16#004c
+/LJ 16#01c7
+/LL 16#f6bf
+/Lacute 16#0139
+/Lambda 16#039b
+/Lcaron 16#013d
+/Lcedilla 16#013b
+/Lcircle 16#24c1
+/Lcircumflexbelow 16#1e3c
+/Lcommaaccent 16#013b
+/Ldot 16#013f
+/Ldotaccent 16#013f
+/Ldotbelow 16#1e36
+/Ldotbelowmacron 16#1e38
+/Liwnarmenian 16#053c
+/Lj 16#01c8
+/Ljecyrillic 16#0409
+/Llinebelow 16#1e3a
+/Lmonospace 16#ff2c
+/Lslash 16#0141
+/Lslashsmall 16#f6f9
+/Lsmall 16#f76c
+/M 16#004d
+/MBsquare 16#3386
+/Macron 16#f6d0
+/Macronsmall 16#f7af
+/Macute 16#1e3e
+/Mcircle 16#24c2
+/Mdotaccent 16#1e40
+/Mdotbelow 16#1e42
+/Menarmenian 16#0544
+/Mmonospace 16#ff2d
+/Msmall 16#f76d
+/Mturned 16#019c
+/Mu 16#039c
+/N 16#004e
+/NJ 16#01ca
+/Nacute 16#0143
+/Ncaron 16#0147
+/Ncedilla 16#0145
+/Ncircle 16#24c3
+/Ncircumflexbelow 16#1e4a
+/Ncommaaccent 16#0145
+/Ndotaccent 16#1e44
+/Ndotbelow 16#1e46
+/Nhookleft 16#019d
+/Nineroman 16#2168
+/Nj 16#01cb
+/Njecyrillic 16#040a
+/Nlinebelow 16#1e48
+/Nmonospace 16#ff2e
+/Nowarmenian 16#0546
+/Nsmall 16#f76e
+/Ntilde 16#00d1
+/Ntildesmall 16#f7f1
+/Nu 16#039d
+/O 16#004f
+/OE 16#0152
+/OEsmall 16#f6fa
+/Oacute 16#00d3
+/Oacutesmall 16#f7f3
+/Obarredcyrillic 16#04e8
+/Obarreddieresiscyrillic 16#04ea
+/Obreve 16#014e
+/Ocaron 16#01d1
+/Ocenteredtilde 16#019f
+/Ocircle 16#24c4
+/Ocircumflex 16#00d4
+/Ocircumflexacute 16#1ed0
+/Ocircumflexdotbelow 16#1ed8
+/Ocircumflexgrave 16#1ed2
+/Ocircumflexhookabove 16#1ed4
+/Ocircumflexsmall 16#f7f4
+/Ocircumflextilde 16#1ed6
+/Ocyrillic 16#041e
+/Odblacute 16#0150
+/Odblgrave 16#020c
+/Odieresis 16#00d6
+/Odieresiscyrillic 16#04e6
+/Odieresissmall 16#f7f6
+/Odotbelow 16#1ecc
+/Ogoneksmall 16#f6fb
+/Ograve 16#00d2
+/Ogravesmall 16#f7f2
+/Oharmenian 16#0555
+/Ohm 16#2126
+/Ohookabove 16#1ece
+/Ohorn 16#01a0
+/Ohornacute 16#1eda
+/Ohorndotbelow 16#1ee2
+/Ohorngrave 16#1edc
+/Ohornhookabove 16#1ede
+/Ohorntilde 16#1ee0
+/Ohungarumlaut 16#0150
+/Oi 16#01a2
+/Oinvertedbreve 16#020e
+/Omacron 16#014c
+/Omacronacute 16#1e52
+/Omacrongrave 16#1e50
+/Omega 16#2126
+/Omegacyrillic 16#0460
+/Omegagreek 16#03a9
+/Omegaroundcyrillic 16#047a
+/Omegatitlocyrillic 16#047c
+/Omegatonos 16#038f
+/Omicron 16#039f
+/Omicrontonos 16#038c
+/Omonospace 16#ff2f
+/Oneroman 16#2160
+/Oogonek 16#01ea
+/Oogonekmacron 16#01ec
+/Oopen 16#0186
+/Oslash 16#00d8
+/Oslashacute 16#01fe
+/Oslashsmall 16#f7f8
+/Osmall 16#f76f
+/Ostrokeacute 16#01fe
+/Otcyrillic 16#047e
+/Otilde 16#00d5
+/Otildeacute 16#1e4c
+/Otildedieresis 16#1e4e
+/Otildesmall 16#f7f5
+/P 16#0050
+/Pacute 16#1e54
+/Pcircle 16#24c5
+/Pdotaccent 16#1e56
+/Pecyrillic 16#041f
+/Peharmenian 16#054a
+/Pemiddlehookcyrillic 16#04a6
+/Phi 16#03a6
+/Phook 16#01a4
+/Pi 16#03a0
+/Piwrarmenian 16#0553
+/Pmonospace 16#ff30
+/Psi 16#03a8
+/Psicyrillic 16#0470
+/Psmall 16#f770
+/Q 16#0051
+/Qcircle 16#24c6
+/Qmonospace 16#ff31
+/Qsmall 16#f771
+/R 16#0052
+/Raarmenian 16#054c
+/Racute 16#0154
+/Rcaron 16#0158
+/Rcedilla 16#0156
+/Rcircle 16#24c7
+/Rcommaaccent 16#0156
+/Rdblgrave 16#0210
+/Rdotaccent 16#1e58
+/Rdotbelow 16#1e5a
+/Rdotbelowmacron 16#1e5c
+/Reharmenian 16#0550
+/Rfraktur 16#211c
+/Rho 16#03a1
+/Ringsmall 16#f6fc
+/Rinvertedbreve 16#0212
+/Rlinebelow 16#1e5e
+/Rmonospace 16#ff32
+/Rsmall 16#f772
+/Rsmallinverted 16#0281
+/Rsmallinvertedsuperior 16#02b6
+/S 16#0053
+/SF010000 16#250c
+/SF020000 16#2514
+/SF030000 16#2510
+/SF040000 16#2518
+/SF050000 16#253c
+/SF060000 16#252c
+/SF070000 16#2534
+/SF080000 16#251c
+/SF090000 16#2524
+/SF100000 16#2500
+/SF110000 16#2502
+/SF190000 16#2561
+/SF200000 16#2562
+/SF210000 16#2556
+/SF220000 16#2555
+/SF230000 16#2563
+/SF240000 16#2551
+/SF250000 16#2557
+/SF260000 16#255d
+/SF270000 16#255c
+/SF280000 16#255b
+/SF360000 16#255e
+/SF370000 16#255f
+/SF380000 16#255a
+/SF390000 16#2554
+/SF400000 16#2569
+/SF410000 16#2566
+/SF420000 16#2560
+/SF430000 16#2550
+/SF440000 16#256c
+/SF450000 16#2567
+/SF460000 16#2568
+/SF470000 16#2564
+/SF480000 16#2565
+/SF490000 16#2559
+/SF500000 16#2558
+/SF510000 16#2552
+/SF520000 16#2553
+/SF530000 16#256b
+/SF540000 16#256a
+/Sacute 16#015a
+/Sacutedotaccent 16#1e64
+/Sampigreek 16#03e0
+/Scaron 16#0160
+/Scarondotaccent 16#1e66
+/Scaronsmall 16#f6fd
+/Scedilla 16#015e
+/Schwa 16#018f
+/Schwacyrillic 16#04d8
+/Schwadieresiscyrillic 16#04da
+/Scircle 16#24c8
+/Scircumflex 16#015c
+/Scommaaccent 16#0218
+/Sdotaccent 16#1e60
+/Sdotbelow 16#1e62
+/Sdotbelowdotaccent 16#1e68
+/Seharmenian 16#054d
+/Sevenroman 16#2166
+/Shaarmenian 16#0547
+/Shacyrillic 16#0428
+/Shchacyrillic 16#0429
+/Sheicoptic 16#03e2
+/Shhacyrillic 16#04ba
+/Shimacoptic 16#03ec
+/Sigma 16#03a3
+/Sixroman 16#2165
+/Smonospace 16#ff33
+/Softsigncyrillic 16#042c
+/Ssmall 16#f773
+/Stigmagreek 16#03da
+/T 16#0054
+/Tau 16#03a4
+/Tbar 16#0166
+/Tcaron 16#0164
+/Tcedilla 16#0162
+/Tcircle 16#24c9
+/Tcircumflexbelow 16#1e70
+/Tcommaaccent 16#0162
+/Tdotaccent 16#1e6a
+/Tdotbelow 16#1e6c
+/Tecyrillic 16#0422
+/Tedescendercyrillic 16#04ac
+/Tenroman 16#2169
+/Tetsecyrillic 16#04b4
+/Theta 16#0398
+/Thook 16#01ac
+/Thorn 16#00de
+/Thornsmall 16#f7fe
+/Threeroman 16#2162
+/Tildesmall 16#f6fe
+/Tiwnarmenian 16#054f
+/Tlinebelow 16#1e6e
+/Tmonospace 16#ff34
+/Toarmenian 16#0539
+/Tonefive 16#01bc
+/Tonesix 16#0184
+/Tonetwo 16#01a7
+/Tretroflexhook 16#01ae
+/Tsecyrillic 16#0426
+/Tshecyrillic 16#040b
+/Tsmall 16#f774
+/Twelveroman 16#216b
+/Tworoman 16#2161
+/U 16#0055
+/Uacute 16#00da
+/Uacutesmall 16#f7fa
+/Ubreve 16#016c
+/Ucaron 16#01d3
+/Ucircle 16#24ca
+/Ucircumflex 16#00db
+/Ucircumflexbelow 16#1e76
+/Ucircumflexsmall 16#f7fb
+/Ucyrillic 16#0423
+/Udblacute 16#0170
+/Udblgrave 16#0214
+/Udieresis 16#00dc
+/Udieresisacute 16#01d7
+/Udieresisbelow 16#1e72
+/Udieresiscaron 16#01d9
+/Udieresiscyrillic 16#04f0
+/Udieresisgrave 16#01db
+/Udieresismacron 16#01d5
+/Udieresissmall 16#f7fc
+/Udotbelow 16#1ee4
+/Ugrave 16#00d9
+/Ugravesmall 16#f7f9
+/Uhookabove 16#1ee6
+/Uhorn 16#01af
+/Uhornacute 16#1ee8
+/Uhorndotbelow 16#1ef0
+/Uhorngrave 16#1eea
+/Uhornhookabove 16#1eec
+/Uhorntilde 16#1eee
+/Uhungarumlaut 16#0170
+/Uhungarumlautcyrillic 16#04f2
+/Uinvertedbreve 16#0216
+/Ukcyrillic 16#0478
+/Umacron 16#016a
+/Umacroncyrillic 16#04ee
+/Umacrondieresis 16#1e7a
+/Umonospace 16#ff35
+/Uogonek 16#0172
+/Upsilon 16#03a5
+/Upsilon1 16#03d2
+/Upsilonacutehooksymbolgreek 16#03d3
+/Upsilonafrican 16#01b1
+/Upsilondieresis 16#03ab
+/Upsilondieresishooksymbolgreek 16#03d4
+/Upsilonhooksymbol 16#03d2
+/Upsilontonos 16#038e
+/Uring 16#016e
+/Ushortcyrillic 16#040e
+/Usmall 16#f775
+/Ustraightcyrillic 16#04ae
+/Ustraightstrokecyrillic 16#04b0
+/Utilde 16#0168
+/Utildeacute 16#1e78
+/Utildebelow 16#1e74
+/V 16#0056
+/Vcircle 16#24cb
+/Vdotbelow 16#1e7e
+/Vecyrillic 16#0412
+/Vewarmenian 16#054e
+/Vhook 16#01b2
+/Vmonospace 16#ff36
+/Voarmenian 16#0548
+/Vsmall 16#f776
+/Vtilde 16#1e7c
+/W 16#0057
+/Wacute 16#1e82
+/Wcircle 16#24cc
+/Wcircumflex 16#0174
+/Wdieresis 16#1e84
+/Wdotaccent 16#1e86
+/Wdotbelow 16#1e88
+/Wgrave 16#1e80
+/Wmonospace 16#ff37
+/Wsmall 16#f777
+/X 16#0058
+/Xcircle 16#24cd
+/Xdieresis 16#1e8c
+/Xdotaccent 16#1e8a
+/Xeharmenian 16#053d
+/Xi 16#039e
+/Xmonospace 16#ff38
+/Xsmall 16#f778
+/Y 16#0059
+/Yacute 16#00dd
+/Yacutesmall 16#f7fd
+/Yatcyrillic 16#0462
+/Ycircle 16#24ce
+/Ycircumflex 16#0176
+/Ydieresis 16#0178
+/Ydieresissmall 16#f7ff
+/Ydotaccent 16#1e8e
+/Ydotbelow 16#1ef4
+/Yericyrillic 16#042b
+/Yerudieresiscyrillic 16#04f8
+/Ygrave 16#1ef2
+/Yhook 16#01b3
+/Yhookabove 16#1ef6
+/Yiarmenian 16#0545
+/Yicyrillic 16#0407
+/Yiwnarmenian 16#0552
+/Ymonospace 16#ff39
+/Ysmall 16#f779
+/Ytilde 16#1ef8
+/Yusbigcyrillic 16#046a
+/Yusbigiotifiedcyrillic 16#046c
+/Yuslittlecyrillic 16#0466
+/Yuslittleiotifiedcyrillic 16#0468
+/Z 16#005a
+/Zaarmenian 16#0536
+/Zacute 16#0179
+/Zcaron 16#017d
+/Zcaronsmall 16#f6ff
+/Zcircle 16#24cf
+/Zcircumflex 16#1e90
+/Zdot 16#017b
+/Zdotaccent 16#017b
+/Zdotbelow 16#1e92
+/Zecyrillic 16#0417
+/Zedescendercyrillic 16#0498
+/Zedieresiscyrillic 16#04de
+/Zeta 16#0396
+/Zhearmenian 16#053a
+/Zhebrevecyrillic 16#04c1
+/Zhecyrillic 16#0416
+/Zhedescendercyrillic 16#0496
+/Zhedieresiscyrillic 16#04dc
+/Zlinebelow 16#1e94
+/Zmonospace 16#ff3a
+/Zsmall 16#f77a
+/Zstroke 16#01b5
+/a 16#0061
+/aabengali 16#0986
+/aacute 16#00e1
+/aadeva 16#0906
+/aagujarati 16#0a86
+/aagurmukhi 16#0a06
+/aamatragurmukhi 16#0a3e
+/aarusquare 16#3303
+/aavowelsignbengali 16#09be
+/aavowelsigndeva 16#093e
+/aavowelsigngujarati 16#0abe
+/abbreviationmarkarmenian 16#055f
+/abbreviationsigndeva 16#0970
+/abengali 16#0985
+/abopomofo 16#311a
+/abreve 16#0103
+/abreveacute 16#1eaf
+/abrevecyrillic 16#04d1
+/abrevedotbelow 16#1eb7
+/abrevegrave 16#1eb1
+/abrevehookabove 16#1eb3
+/abrevetilde 16#1eb5
+/acaron 16#01ce
+/acircle 16#24d0
+/acircumflex 16#00e2
+/acircumflexacute 16#1ea5
+/acircumflexdotbelow 16#1ead
+/acircumflexgrave 16#1ea7
+/acircumflexhookabove 16#1ea9
+/acircumflextilde 16#1eab
+/acute 16#00b4
+/acutebelowcmb 16#0317
+/acutecmb 16#0301
+/acutecomb 16#0301
+/acutedeva 16#0954
+/acutelowmod 16#02cf
+/acutetonecmb 16#0341
+/acyrillic 16#0430
+/adblgrave 16#0201
+/addakgurmukhi 16#0a71
+/adeva 16#0905
+/adieresis 16#00e4
+/adieresiscyrillic 16#04d3
+/adieresismacron 16#01df
+/adotbelow 16#1ea1
+/adotmacron 16#01e1
+/ae 16#00e6
+/aeacute 16#01fd
+/aekorean 16#3150
+/aemacron 16#01e3
+/afii00208 16#2015
+/afii08941 16#20a4
+/afii10017 16#0410
+/afii10018 16#0411
+/afii10019 16#0412
+/afii10020 16#0413
+/afii10021 16#0414
+/afii10022 16#0415
+/afii10023 16#0401
+/afii10024 16#0416
+/afii10025 16#0417
+/afii10026 16#0418
+/afii10027 16#0419
+/afii10028 16#041a
+/afii10029 16#041b
+/afii10030 16#041c
+/afii10031 16#041d
+/afii10032 16#041e
+/afii10033 16#041f
+/afii10034 16#0420
+/afii10035 16#0421
+/afii10036 16#0422
+/afii10037 16#0423
+/afii10038 16#0424
+/afii10039 16#0425
+/afii10040 16#0426
+/afii10041 16#0427
+/afii10042 16#0428
+/afii10043 16#0429
+/afii10044 16#042a
+/afii10045 16#042b
+/afii10046 16#042c
+/afii10047 16#042d
+/afii10048 16#042e
+/afii10049 16#042f
+/afii10050 16#0490
+/afii10051 16#0402
+/afii10052 16#0403
+/afii10053 16#0404
+/afii10054 16#0405
+/afii10055 16#0406
+/afii10056 16#0407
+/afii10057 16#0408
+/afii10058 16#0409
+/afii10059 16#040a
+/afii10060 16#040b
+/afii10061 16#040c
+/afii10062 16#040e
+/afii10063 16#f6c4
+/afii10064 16#f6c5
+/afii10065 16#0430
+/afii10066 16#0431
+/afii10067 16#0432
+/afii10068 16#0433
+/afii10069 16#0434
+/afii10070 16#0435
+/afii10071 16#0451
+/afii10072 16#0436
+/afii10073 16#0437
+/afii10074 16#0438
+/afii10075 16#0439
+/afii10076 16#043a
+/afii10077 16#043b
+/afii10078 16#043c
+/afii10079 16#043d
+/afii10080 16#043e
+/afii10081 16#043f
+/afii10082 16#0440
+/afii10083 16#0441
+/afii10084 16#0442
+/afii10085 16#0443
+/afii10086 16#0444
+/afii10087 16#0445
+/afii10088 16#0446
+/afii10089 16#0447
+/afii10090 16#0448
+/afii10091 16#0449
+/afii10092 16#044a
+/afii10093 16#044b
+/afii10094 16#044c
+/afii10095 16#044d
+/afii10096 16#044e
+/afii10097 16#044f
+/afii10098 16#0491
+/afii10099 16#0452
+/afii10100 16#0453
+/afii10101 16#0454
+/afii10102 16#0455
+/afii10103 16#0456
+/afii10104 16#0457
+/afii10105 16#0458
+/afii10106 16#0459
+/afii10107 16#045a
+/afii10108 16#045b
+/afii10109 16#045c
+/afii10110 16#045e
+/afii10145 16#040f
+/afii10146 16#0462
+/afii10147 16#0472
+/afii10148 16#0474
+/afii10192 16#f6c6
+/afii10193 16#045f
+/afii10194 16#0463
+/afii10195 16#0473
+/afii10196 16#0475
+/afii10831 16#f6c7
+/afii10832 16#f6c8
+/afii10846 16#04d9
+/afii299 16#200e
+/afii300 16#200f
+/afii301 16#200d
+/afii57381 16#066a
+/afii57388 16#060c
+/afii57392 16#0660
+/afii57393 16#0661
+/afii57394 16#0662
+/afii57395 16#0663
+/afii57396 16#0664
+/afii57397 16#0665
+/afii57398 16#0666
+/afii57399 16#0667
+/afii57400 16#0668
+/afii57401 16#0669
+/afii57403 16#061b
+/afii57407 16#061f
+/afii57409 16#0621
+/afii57410 16#0622
+/afii57411 16#0623
+/afii57412 16#0624
+/afii57413 16#0625
+/afii57414 16#0626
+/afii57415 16#0627
+/afii57416 16#0628
+/afii57417 16#0629
+/afii57418 16#062a
+/afii57419 16#062b
+/afii57420 16#062c
+/afii57421 16#062d
+/afii57422 16#062e
+/afii57423 16#062f
+/afii57424 16#0630
+/afii57425 16#0631
+/afii57426 16#0632
+/afii57427 16#0633
+/afii57428 16#0634
+/afii57429 16#0635
+/afii57430 16#0636
+/afii57431 16#0637
+/afii57432 16#0638
+/afii57433 16#0639
+/afii57434 16#063a
+/afii57440 16#0640
+/afii57441 16#0641
+/afii57442 16#0642
+/afii57443 16#0643
+/afii57444 16#0644
+/afii57445 16#0645
+/afii57446 16#0646
+/afii57448 16#0648
+/afii57449 16#0649
+/afii57450 16#064a
+/afii57451 16#064b
+/afii57452 16#064c
+/afii57453 16#064d
+/afii57454 16#064e
+/afii57455 16#064f
+/afii57456 16#0650
+/afii57457 16#0651
+/afii57458 16#0652
+/afii57470 16#0647
+/afii57505 16#06a4
+/afii57506 16#067e
+/afii57507 16#0686
+/afii57508 16#0698
+/afii57509 16#06af
+/afii57511 16#0679
+/afii57512 16#0688
+/afii57513 16#0691
+/afii57514 16#06ba
+/afii57519 16#06d2
+/afii57534 16#06d5
+/afii57636 16#20aa
+/afii57645 16#05be
+/afii57658 16#05c3
+/afii57664 16#05d0
+/afii57665 16#05d1
+/afii57666 16#05d2
+/afii57667 16#05d3
+/afii57668 16#05d4
+/afii57669 16#05d5
+/afii57670 16#05d6
+/afii57671 16#05d7
+/afii57672 16#05d8
+/afii57673 16#05d9
+/afii57674 16#05da
+/afii57675 16#05db
+/afii57676 16#05dc
+/afii57677 16#05dd
+/afii57678 16#05de
+/afii57679 16#05df
+/afii57680 16#05e0
+/afii57681 16#05e1
+/afii57682 16#05e2
+/afii57683 16#05e3
+/afii57684 16#05e4
+/afii57685 16#05e5
+/afii57686 16#05e6
+/afii57687 16#05e7
+/afii57688 16#05e8
+/afii57689 16#05e9
+/afii57690 16#05ea
+/afii57694 16#fb2a
+/afii57695 16#fb2b
+/afii57700 16#fb4b
+/afii57705 16#fb1f
+/afii57716 16#05f0
+/afii57717 16#05f1
+/afii57718 16#05f2
+/afii57723 16#fb35
+/afii57793 16#05b4
+/afii57794 16#05b5
+/afii57795 16#05b6
+/afii57796 16#05bb
+/afii57797 16#05b8
+/afii57798 16#05b7
+/afii57799 16#05b0
+/afii57800 16#05b2
+/afii57801 16#05b1
+/afii57802 16#05b3
+/afii57803 16#05c2
+/afii57804 16#05c1
+/afii57806 16#05b9
+/afii57807 16#05bc
+/afii57839 16#05bd
+/afii57841 16#05bf
+/afii57842 16#05c0
+/afii57929 16#02bc
+/afii61248 16#2105
+/afii61289 16#2113
+/afii61352 16#2116
+/afii61573 16#202c
+/afii61574 16#202d
+/afii61575 16#202e
+/afii61664 16#200c
+/afii63167 16#066d
+/afii64937 16#02bd
+/agrave 16#00e0
+/agujarati 16#0a85
+/agurmukhi 16#0a05
+/ahiragana 16#3042
+/ahookabove 16#1ea3
+/aibengali 16#0990
+/aibopomofo 16#311e
+/aideva 16#0910
+/aiecyrillic 16#04d5
+/aigujarati 16#0a90
+/aigurmukhi 16#0a10
+/aimatragurmukhi 16#0a48
+/ainarabic 16#0639
+/ainfinalarabic 16#feca
+/aininitialarabic 16#fecb
+/ainmedialarabic 16#fecc
+/ainvertedbreve 16#0203
+/aivowelsignbengali 16#09c8
+/aivowelsigndeva 16#0948
+/aivowelsigngujarati 16#0ac8
+/akatakana 16#30a2
+/akatakanahalfwidth 16#ff71
+/akorean 16#314f
+/alef 16#05d0
+/alefarabic 16#0627
+/alefdageshhebrew 16#fb30
+/aleffinalarabic 16#fe8e
+/alefhamzaabovearabic 16#0623
+/alefhamzaabovefinalarabic 16#fe84
+/alefhamzabelowarabic 16#0625
+/alefhamzabelowfinalarabic 16#fe88
+/alefhebrew 16#05d0
+/aleflamedhebrew 16#fb4f
+/alefmaddaabovearabic 16#0622
+/alefmaddaabovefinalarabic 16#fe82
+/alefmaksuraarabic 16#0649
+/alefmaksurafinalarabic 16#fef0
+/alefmaksurainitialarabic 16#fef3
+/alefmaksuramedialarabic 16#fef4
+/alefpatahhebrew 16#fb2e
+/alefqamatshebrew 16#fb2f
+/aleph 16#2135
+/allequal 16#224c
+/alpha 16#03b1
+/alphatonos 16#03ac
+/amacron 16#0101
+/amonospace 16#ff41
+/ampersand 16#0026
+/ampersandmonospace 16#ff06
+/ampersandsmall 16#f726
+/amsquare 16#33c2
+/anbopomofo 16#3122
+/angbopomofo 16#3124
+/angkhankhuthai 16#0e5a
+/angle 16#2220
+/anglebracketleft 16#3008
+/anglebracketleftvertical 16#fe3f
+/anglebracketright 16#3009
+/anglebracketrightvertical 16#fe40
+/angleleft 16#2329
+/angleright 16#232a
+/angstrom 16#212b
+/anoteleia 16#0387
+/anudattadeva 16#0952
+/anusvarabengali 16#0982
+/anusvaradeva 16#0902
+/anusvaragujarati 16#0a82
+/aogonek 16#0105
+/apaatosquare 16#3300
+/aparen 16#249c
+/apostrophearmenian 16#055a
+/apostrophemod 16#02bc
+/apple 16#f8ff
+/approaches 16#2250
+/approxequal 16#2248
+/approxequalorimage 16#2252
+/approximatelyequal 16#2245
+/araeaekorean 16#318e
+/araeakorean 16#318d
+/arc 16#2312
+/arighthalfring 16#1e9a
+/aring 16#00e5
+/aringacute 16#01fb
+/aringbelow 16#1e01
+/arrowboth 16#2194
+/arrowdashdown 16#21e3
+/arrowdashleft 16#21e0
+/arrowdashright 16#21e2
+/arrowdashup 16#21e1
+/arrowdblboth 16#21d4
+/arrowdbldown 16#21d3
+/arrowdblleft 16#21d0
+/arrowdblright 16#21d2
+/arrowdblup 16#21d1
+/arrowdown 16#2193
+/arrowdownleft 16#2199
+/arrowdownright 16#2198
+/arrowdownwhite 16#21e9
+/arrowheaddownmod 16#02c5
+/arrowheadleftmod 16#02c2
+/arrowheadrightmod 16#02c3
+/arrowheadupmod 16#02c4
+/arrowhorizex 16#f8e7
+/arrowleft 16#2190
+/arrowleftdbl 16#21d0
+/arrowleftdblstroke 16#21cd
+/arrowleftoverright 16#21c6
+/arrowleftwhite 16#21e6
+/arrowright 16#2192
+/arrowrightdblstroke 16#21cf
+/arrowrightheavy 16#279e
+/arrowrightoverleft 16#21c4
+/arrowrightwhite 16#21e8
+/arrowtableft 16#21e4
+/arrowtabright 16#21e5
+/arrowup 16#2191
+/arrowupdn 16#2195
+/arrowupdnbse 16#21a8
+/arrowupdownbase 16#21a8
+/arrowupleft 16#2196
+/arrowupleftofdown 16#21c5
+/arrowupright 16#2197
+/arrowupwhite 16#21e7
+/arrowvertex 16#f8e6
+/asciicircum 16#005e
+/asciicircummonospace 16#ff3e
+/asciitilde 16#007e
+/asciitildemonospace 16#ff5e
+/ascript 16#0251
+/ascriptturned 16#0252
+/asmallhiragana 16#3041
+/asmallkatakana 16#30a1
+/asmallkatakanahalfwidth 16#ff67
+/asterisk 16#002a
+/asteriskaltonearabic 16#066d
+/asteriskarabic 16#066d
+/asteriskmath 16#2217
+/asteriskmonospace 16#ff0a
+/asterisksmall 16#fe61
+/asterism 16#2042
+/asuperior 16#f6e9
+/asymptoticallyequal 16#2243
+/at 16#0040
+/atilde 16#00e3
+/atmonospace 16#ff20
+/atsmall 16#fe6b
+/aturned 16#0250
+/aubengali 16#0994
+/aubopomofo 16#3120
+/audeva 16#0914
+/augujarati 16#0a94
+/augurmukhi 16#0a14
+/aulengthmarkbengali 16#09d7
+/aumatragurmukhi 16#0a4c
+/auvowelsignbengali 16#09cc
+/auvowelsigndeva 16#094c
+/auvowelsigngujarati 16#0acc
+/avagrahadeva 16#093d
+/aybarmenian 16#0561
+/ayin 16#05e2
+/ayinaltonehebrew 16#fb20
+/ayinhebrew 16#05e2
+/b 16#0062
+/babengali 16#09ac
+/backslash 16#005c
+/backslashmonospace 16#ff3c
+/badeva 16#092c
+/bagujarati 16#0aac
+/bagurmukhi 16#0a2c
+/bahiragana 16#3070
+/bahtthai 16#0e3f
+/bakatakana 16#30d0
+/bar 16#007c
+/barmonospace 16#ff5c
+/bbopomofo 16#3105
+/bcircle 16#24d1
+/bdotaccent 16#1e03
+/bdotbelow 16#1e05
+/beamedsixteenthnotes 16#266c
+/because 16#2235
+/becyrillic 16#0431
+/beharabic 16#0628
+/behfinalarabic 16#fe90
+/behinitialarabic 16#fe91
+/behiragana 16#3079
+/behmedialarabic 16#fe92
+/behmeeminitialarabic 16#fc9f
+/behmeemisolatedarabic 16#fc08
+/behnoonfinalarabic 16#fc6d
+/bekatakana 16#30d9
+/benarmenian 16#0562
+/bet 16#05d1
+/beta 16#03b2
+/betasymbolgreek 16#03d0
+/betdagesh 16#fb31
+/betdageshhebrew 16#fb31
+/bethebrew 16#05d1
+/betrafehebrew 16#fb4c
+/bhabengali 16#09ad
+/bhadeva 16#092d
+/bhagujarati 16#0aad
+/bhagurmukhi 16#0a2d
+/bhook 16#0253
+/bihiragana 16#3073
+/bikatakana 16#30d3
+/bilabialclick 16#0298
+/bindigurmukhi 16#0a02
+/birusquare 16#3331
+/blackcircle 16#25cf
+/blackdiamond 16#25c6
+/blackdownpointingtriangle 16#25bc
+/blackleftpointingpointer 16#25c4
+/blackleftpointingtriangle 16#25c0
+/blacklenticularbracketleft 16#3010
+/blacklenticularbracketleftvertical 16#fe3b
+/blacklenticularbracketright 16#3011
+/blacklenticularbracketrightvertical 16#fe3c
+/blacklowerlefttriangle 16#25e3
+/blacklowerrighttriangle 16#25e2
+/blackrectangle 16#25ac
+/blackrightpointingpointer 16#25ba
+/blackrightpointingtriangle 16#25b6
+/blacksmallsquare 16#25aa
+/blacksmilingface 16#263b
+/blacksquare 16#25a0
+/blackstar 16#2605
+/blackupperlefttriangle 16#25e4
+/blackupperrighttriangle 16#25e5
+/blackuppointingsmalltriangle 16#25b4
+/blackuppointingtriangle 16#25b2
+/blank 16#2423
+/blinebelow 16#1e07
+/block 16#2588
+/bmonospace 16#ff42
+/bobaimaithai 16#0e1a
+/bohiragana 16#307c
+/bokatakana 16#30dc
+/bparen 16#249d
+/bqsquare 16#33c3
+/braceex 16#f8f4
+/braceleft 16#007b
+/braceleftbt 16#f8f3
+/braceleftmid 16#f8f2
+/braceleftmonospace 16#ff5b
+/braceleftsmall 16#fe5b
+/bracelefttp 16#f8f1
+/braceleftvertical 16#fe37
+/braceright 16#007d
+/bracerightbt 16#f8fe
+/bracerightmid 16#f8fd
+/bracerightmonospace 16#ff5d
+/bracerightsmall 16#fe5c
+/bracerighttp 16#f8fc
+/bracerightvertical 16#fe38
+/bracketleft 16#005b
+/bracketleftbt 16#f8f0
+/bracketleftex 16#f8ef
+/bracketleftmonospace 16#ff3b
+/bracketlefttp 16#f8ee
+/bracketright 16#005d
+/bracketrightbt 16#f8fb
+/bracketrightex 16#f8fa
+/bracketrightmonospace 16#ff3d
+/bracketrighttp 16#f8f9
+/breve 16#02d8
+/brevebelowcmb 16#032e
+/brevecmb 16#0306
+/breveinvertedbelowcmb 16#032f
+/breveinvertedcmb 16#0311
+/breveinverteddoublecmb 16#0361
+/bridgebelowcmb 16#032a
+/bridgeinvertedbelowcmb 16#033a
+/brokenbar 16#00a6
+/bstroke 16#0180
+/bsuperior 16#f6ea
+/btopbar 16#0183
+/buhiragana 16#3076
+/bukatakana 16#30d6
+/bullet 16#2022
+/bulletinverse 16#25d8
+/bulletoperator 16#2219
+/bullseye 16#25ce
+/c 16#0063
+/caarmenian 16#056e
+/cabengali 16#099a
+/cacute 16#0107
+/cadeva 16#091a
+/cagujarati 16#0a9a
+/cagurmukhi 16#0a1a
+/calsquare 16#3388
+/candrabindubengali 16#0981
+/candrabinducmb 16#0310
+/candrabindudeva 16#0901
+/candrabindugujarati 16#0a81
+/capslock 16#21ea
+/careof 16#2105
+/caron 16#02c7
+/caronbelowcmb 16#032c
+/caroncmb 16#030c
+/carriagereturn 16#21b5
+/cbopomofo 16#3118
+/ccaron 16#010d
+/ccedilla 16#00e7
+/ccedillaacute 16#1e09
+/ccircle 16#24d2
+/ccircumflex 16#0109
+/ccurl 16#0255
+/cdot 16#010b
+/cdotaccent 16#010b
+/cdsquare 16#33c5
+/cedilla 16#00b8
+/cedillacmb 16#0327
+/cent 16#00a2
+/centigrade 16#2103
+/centinferior 16#f6df
+/centmonospace 16#ffe0
+/centoldstyle 16#f7a2
+/centsuperior 16#f6e0
+/chaarmenian 16#0579
+/chabengali 16#099b
+/chadeva 16#091b
+/chagujarati 16#0a9b
+/chagurmukhi 16#0a1b
+/chbopomofo 16#3114
+/cheabkhasiancyrillic 16#04bd
+/checkmark 16#2713
+/checyrillic 16#0447
+/chedescenderabkhasiancyrillic 16#04bf
+/chedescendercyrillic 16#04b7
+/chedieresiscyrillic 16#04f5
+/cheharmenian 16#0573
+/chekhakassiancyrillic 16#04cc
+/cheverticalstrokecyrillic 16#04b9
+/chi 16#03c7
+/chieuchacirclekorean 16#3277
+/chieuchaparenkorean 16#3217
+/chieuchcirclekorean 16#3269
+/chieuchkorean 16#314a
+/chieuchparenkorean 16#3209
+/chochangthai 16#0e0a
+/chochanthai 16#0e08
+/chochingthai 16#0e09
+/chochoethai 16#0e0c
+/chook 16#0188
+/cieucacirclekorean 16#3276
+/cieucaparenkorean 16#3216
+/cieuccirclekorean 16#3268
+/cieuckorean 16#3148
+/cieucparenkorean 16#3208
+/cieucuparenkorean 16#321c
+/circle 16#25cb
+/circlemultiply 16#2297
+/circleot 16#2299
+/circleplus 16#2295
+/circlepostalmark 16#3036
+/circlewithlefthalfblack 16#25d0
+/circlewithrighthalfblack 16#25d1
+/circumflex 16#02c6
+/circumflexbelowcmb 16#032d
+/circumflexcmb 16#0302
+/clear 16#2327
+/clickalveolar 16#01c2
+/clickdental 16#01c0
+/clicklateral 16#01c1
+/clickretroflex 16#01c3
+/club 16#2663
+/clubsuitblack 16#2663
+/clubsuitwhite 16#2667
+/cmcubedsquare 16#33a4
+/cmonospace 16#ff43
+/cmsquaredsquare 16#33a0
+/coarmenian 16#0581
+/colon 16#003a
+/colonmonetary 16#20a1
+/colonmonospace 16#ff1a
+/colonsign 16#20a1
+/colonsmall 16#fe55
+/colontriangularhalfmod 16#02d1
+/colontriangularmod 16#02d0
+/comma 16#002c
+/commaabovecmb 16#0313
+/commaaboverightcmb 16#0315
+/commaaccent 16#f6c3
+/commaarabic 16#060c
+/commaarmenian 16#055d
+/commainferior 16#f6e1
+/commamonospace 16#ff0c
+/commareversedabovecmb 16#0314
+/commareversedmod 16#02bd
+/commasmall 16#fe50
+/commasuperior 16#f6e2
+/commaturnedabovecmb 16#0312
+/commaturnedmod 16#02bb
+/compass 16#263c
+/congruent 16#2245
+/contourintegral 16#222e
+/control 16#2303
+/controlACK 16#0006
+/controlBEL 16#0007
+/controlBS 16#0008
+/controlCAN 16#0018
+/controlCR 16#000d
+/controlDC1 16#0011
+/controlDC2 16#0012
+/controlDC3 16#0013
+/controlDC4 16#0014
+/controlDEL 16#007f
+/controlDLE 16#0010
+/controlEM 16#0019
+/controlENQ 16#0005
+/controlEOT 16#0004
+/controlESC 16#001b
+/controlETB 16#0017
+/controlETX 16#0003
+/controlFF 16#000c
+/controlFS 16#001c
+/controlGS 16#001d
+/controlHT 16#0009
+/controlLF 16#000a
+/controlNAK 16#0015
+/controlRS 16#001e
+/controlSI 16#000f
+/controlSO 16#000e
+/controlSOT 16#0002
+/controlSTX 16#0001
+/controlSUB 16#001a
+/controlSYN 16#0016
+/controlUS 16#001f
+/controlVT 16#000b
+/copyright 16#00a9
+/copyrightsans 16#f8e9
+/copyrightserif 16#f6d9
+/cornerbracketleft 16#300c
+/cornerbracketlefthalfwidth 16#ff62
+/cornerbracketleftvertical 16#fe41
+/cornerbracketright 16#300d
+/cornerbracketrighthalfwidth 16#ff63
+/cornerbracketrightvertical 16#fe42
+/corporationsquare 16#337f
+/cosquare 16#33c7
+/coverkgsquare 16#33c6
+/cparen 16#249e
+/cruzeiro 16#20a2
+/cstretched 16#0297
+/curlyand 16#22cf
+/curlyor 16#22ce
+/currency 16#00a4
+/cyrBreve 16#f6d1
+/cyrFlex 16#f6d2
+/cyrbreve 16#f6d4
+/cyrflex 16#f6d5
+/d 16#0064
+/daarmenian 16#0564
+/dabengali 16#09a6
+/dadarabic 16#0636
+/dadeva 16#0926
+/dadfinalarabic 16#febe
+/dadinitialarabic 16#febf
+/dadmedialarabic 16#fec0
+/dagesh 16#05bc
+/dageshhebrew 16#05bc
+/dagger 16#2020
+/daggerdbl 16#2021
+/dagujarati 16#0aa6
+/dagurmukhi 16#0a26
+/dahiragana 16#3060
+/dakatakana 16#30c0
+/dalarabic 16#062f
+/dalet 16#05d3
+/daletdagesh 16#fb33
+/daletdageshhebrew 16#fb33
+/dalethebrew 16#05d3
+/dalfinalarabic 16#feaa
+/dammaarabic 16#064f
+/dammalowarabic 16#064f
+/dammatanaltonearabic 16#064c
+/dammatanarabic 16#064c
+/danda 16#0964
+/dargahebrew 16#05a7
+/dargalefthebrew 16#05a7
+/dasiapneumatacyrilliccmb 16#0485
+/dblGrave 16#f6d3
+/dblanglebracketleft 16#300a
+/dblanglebracketleftvertical 16#fe3d
+/dblanglebracketright 16#300b
+/dblanglebracketrightvertical 16#fe3e
+/dblarchinvertedbelowcmb 16#032b
+/dblarrowleft 16#21d4
+/dblarrowright 16#21d2
+/dbldanda 16#0965
+/dblgrave 16#f6d6
+/dblgravecmb 16#030f
+/dblintegral 16#222c
+/dbllowline 16#2017
+/dbllowlinecmb 16#0333
+/dbloverlinecmb 16#033f
+/dblprimemod 16#02ba
+/dblverticalbar 16#2016
+/dblverticallineabovecmb 16#030e
+/dbopomofo 16#3109
+/dbsquare 16#33c8
+/dcaron 16#010f
+/dcedilla 16#1e11
+/dcircle 16#24d3
+/dcircumflexbelow 16#1e13
+/dcroat 16#0111
+/ddabengali 16#09a1
+/ddadeva 16#0921
+/ddagujarati 16#0aa1
+/ddagurmukhi 16#0a21
+/ddalarabic 16#0688
+/ddalfinalarabic 16#fb89
+/dddhadeva 16#095c
+/ddhabengali 16#09a2
+/ddhadeva 16#0922
+/ddhagujarati 16#0aa2
+/ddhagurmukhi 16#0a22
+/ddotaccent 16#1e0b
+/ddotbelow 16#1e0d
+/decimalseparatorarabic 16#066b
+/decimalseparatorpersian 16#066b
+/decyrillic 16#0434
+/degree 16#00b0
+/dehihebrew 16#05ad
+/dehiragana 16#3067
+/deicoptic 16#03ef
+/dekatakana 16#30c7
+/deleteleft 16#232b
+/deleteright 16#2326
+/delta 16#03b4
+/deltaturned 16#018d
+/denominatorminusonenumeratorbengali 16#09f8
+/dezh 16#02a4
+/dhabengali 16#09a7
+/dhadeva 16#0927
+/dhagujarati 16#0aa7
+/dhagurmukhi 16#0a27
+/dhook 16#0257
+/dialytikatonos 16#0385
+/dialytikatonoscmb 16#0344
+/diamond 16#2666
+/diamondsuitwhite 16#2662
+/dieresis 16#00a8
+/dieresisacute 16#f6d7
+/dieresisbelowcmb 16#0324
+/dieresiscmb 16#0308
+/dieresisgrave 16#f6d8
+/dieresistonos 16#0385
+/dihiragana 16#3062
+/dikatakana 16#30c2
+/dittomark 16#3003
+/divide 16#00f7
+/divides 16#2223
+/divisionslash 16#2215
+/djecyrillic 16#0452
+/dkshade 16#2593
+/dlinebelow 16#1e0f
+/dlsquare 16#3397
+/dmacron 16#0111
+/dmonospace 16#ff44
+/dnblock 16#2584
+/dochadathai 16#0e0e
+/dodekthai 16#0e14
+/dohiragana 16#3069
+/dokatakana 16#30c9
+/dollar 16#0024
+/dollarinferior 16#f6e3
+/dollarmonospace 16#ff04
+/dollaroldstyle 16#f724
+/dollarsmall 16#fe69
+/dollarsuperior 16#f6e4
+/dong 16#20ab
+/dorusquare 16#3326
+/dotaccent 16#02d9
+/dotaccentcmb 16#0307
+/dotbelowcmb 16#0323
+/dotbelowcomb 16#0323
+/dotkatakana 16#30fb
+/dotlessi 16#0131
+/dotlessj 16#f6be
+/dotlessjstrokehook 16#0284
+/dotmath 16#22c5
+/dottedcircle 16#25cc
+/doubleyodpatah 16#fb1f
+/doubleyodpatahhebrew 16#fb1f
+/downtackbelowcmb 16#031e
+/downtackmod 16#02d5
+/dparen 16#249f
+/dsuperior 16#f6eb
+/dtail 16#0256
+/dtopbar 16#018c
+/duhiragana 16#3065
+/dukatakana 16#30c5
+/dz 16#01f3
+/dzaltone 16#02a3
+/dzcaron 16#01c6
+/dzcurl 16#02a5
+/dzeabkhasiancyrillic 16#04e1
+/dzecyrillic 16#0455
+/dzhecyrillic 16#045f
+/e 16#0065
+/eacute 16#00e9
+/earth 16#2641
+/ebengali 16#098f
+/ebopomofo 16#311c
+/ebreve 16#0115
+/ecandradeva 16#090d
+/ecandragujarati 16#0a8d
+/ecandravowelsigndeva 16#0945
+/ecandravowelsigngujarati 16#0ac5
+/ecaron 16#011b
+/ecedillabreve 16#1e1d
+/echarmenian 16#0565
+/echyiwnarmenian 16#0587
+/ecircle 16#24d4
+/ecircumflex 16#00ea
+/ecircumflexacute 16#1ebf
+/ecircumflexbelow 16#1e19
+/ecircumflexdotbelow 16#1ec7
+/ecircumflexgrave 16#1ec1
+/ecircumflexhookabove 16#1ec3
+/ecircumflextilde 16#1ec5
+/ecyrillic 16#0454
+/edblgrave 16#0205
+/edeva 16#090f
+/edieresis 16#00eb
+/edot 16#0117
+/edotaccent 16#0117
+/edotbelow 16#1eb9
+/eegurmukhi 16#0a0f
+/eematragurmukhi 16#0a47
+/efcyrillic 16#0444
+/egrave 16#00e8
+/egujarati 16#0a8f
+/eharmenian 16#0567
+/ehbopomofo 16#311d
+/ehiragana 16#3048
+/ehookabove 16#1ebb
+/eibopomofo 16#311f
+/eight 16#0038
+/eightarabic 16#0668
+/eightbengali 16#09ee
+/eightcircle 16#2467
+/eightcircleinversesansserif 16#2791
+/eightdeva 16#096e
+/eighteencircle 16#2471
+/eighteenparen 16#2485
+/eighteenperiod 16#2499
+/eightgujarati 16#0aee
+/eightgurmukhi 16#0a6e
+/eighthackarabic 16#0668
+/eighthangzhou 16#3028
+/eighthnotebeamed 16#266b
+/eightideographicparen 16#3227
+/eightinferior 16#2088
+/eightmonospace 16#ff18
+/eightoldstyle 16#f738
+/eightparen 16#247b
+/eightperiod 16#248f
+/eightpersian 16#06f8
+/eightroman 16#2177
+/eightsuperior 16#2078
+/eightthai 16#0e58
+/einvertedbreve 16#0207
+/eiotifiedcyrillic 16#0465
+/ekatakana 16#30a8
+/ekatakanahalfwidth 16#ff74
+/ekonkargurmukhi 16#0a74
+/ekorean 16#3154
+/elcyrillic 16#043b
+/element 16#2208
+/elevencircle 16#246a
+/elevenparen 16#247e
+/elevenperiod 16#2492
+/elevenroman 16#217a
+/ellipsis 16#2026
+/ellipsisvertical 16#22ee
+/emacron 16#0113
+/emacronacute 16#1e17
+/emacrongrave 16#1e15
+/emcyrillic 16#043c
+/emdash 16#2014
+/emdashvertical 16#fe31
+/emonospace 16#ff45
+/emphasismarkarmenian 16#055b
+/emptyset 16#2205
+/enbopomofo 16#3123
+/encyrillic 16#043d
+/endash 16#2013
+/endashvertical 16#fe32
+/endescendercyrillic 16#04a3
+/eng 16#014b
+/engbopomofo 16#3125
+/enghecyrillic 16#04a5
+/enhookcyrillic 16#04c8
+/enspace 16#2002
+/eogonek 16#0119
+/eokorean 16#3153
+/eopen 16#025b
+/eopenclosed 16#029a
+/eopenreversed 16#025c
+/eopenreversedclosed 16#025e
+/eopenreversedhook 16#025d
+/eparen 16#24a0
+/epsilon 16#03b5
+/epsilontonos 16#03ad
+/equal 16#003d
+/equalmonospace 16#ff1d
+/equalsmall 16#fe66
+/equalsuperior 16#207c
+/equivalence 16#2261
+/erbopomofo 16#3126
+/ercyrillic 16#0440
+/ereversed 16#0258
+/ereversedcyrillic 16#044d
+/escyrillic 16#0441
+/esdescendercyrillic 16#04ab
+/esh 16#0283
+/eshcurl 16#0286
+/eshortdeva 16#090e
+/eshortvowelsigndeva 16#0946
+/eshreversedloop 16#01aa
+/eshsquatreversed 16#0285
+/esmallhiragana 16#3047
+/esmallkatakana 16#30a7
+/esmallkatakanahalfwidth 16#ff6a
+/estimated 16#212e
+/esuperior 16#f6ec
+/eta 16#03b7
+/etarmenian 16#0568
+/etatonos 16#03ae
+/eth 16#00f0
+/etilde 16#1ebd
+/etildebelow 16#1e1b
+/etnahtafoukhhebrew 16#0591
+/etnahtafoukhlefthebrew 16#0591
+/etnahtahebrew 16#0591
+/etnahtalefthebrew 16#0591
+/eturned 16#01dd
+/eukorean 16#3161
+/euro 16#20ac
+/evowelsignbengali 16#09c7
+/evowelsigndeva 16#0947
+/evowelsigngujarati 16#0ac7
+/exclam 16#0021
+/exclamarmenian 16#055c
+/exclamdbl 16#203c
+/exclamdown 16#00a1
+/exclamdownsmall 16#f7a1
+/exclammonospace 16#ff01
+/exclamsmall 16#f721
+/existential 16#2203
+/ezh 16#0292
+/ezhcaron 16#01ef
+/ezhcurl 16#0293
+/ezhreversed 16#01b9
+/ezhtail 16#01ba
+/f 16#0066
+/fadeva 16#095e
+/fagurmukhi 16#0a5e
+/fahrenheit 16#2109
+/fathaarabic 16#064e
+/fathalowarabic 16#064e
+/fathatanarabic 16#064b
+/fbopomofo 16#3108
+/fcircle 16#24d5
+/fdotaccent 16#1e1f
+/feharabic 16#0641
+/feharmenian 16#0586
+/fehfinalarabic 16#fed2
+/fehinitialarabic 16#fed3
+/fehmedialarabic 16#fed4
+/feicoptic 16#03e5
+/female 16#2640
+/ff 16#fb00
+/ffi 16#fb03
+/ffl 16#fb04
+/fi 16#fb01
+/fifteencircle 16#246e
+/fifteenparen 16#2482
+/fifteenperiod 16#2496
+/figuredash 16#2012
+/filledbox 16#25a0
+/filledrect 16#25ac
+/finalkaf 16#05da
+/finalkafdagesh 16#fb3a
+/finalkafdageshhebrew 16#fb3a
+/finalkafhebrew 16#05da
+/finalmem 16#05dd
+/finalmemhebrew 16#05dd
+/finalnun 16#05df
+/finalnunhebrew 16#05df
+/finalpe 16#05e3
+/finalpehebrew 16#05e3
+/finaltsadi 16#05e5
+/finaltsadihebrew 16#05e5
+/firsttonechinese 16#02c9
+/fisheye 16#25c9
+/fitacyrillic 16#0473
+/five 16#0035
+/fivearabic 16#0665
+/fivebengali 16#09eb
+/fivecircle 16#2464
+/fivecircleinversesansserif 16#278e
+/fivedeva 16#096b
+/fiveeighths 16#215d
+/fivegujarati 16#0aeb
+/fivegurmukhi 16#0a6b
+/fivehackarabic 16#0665
+/fivehangzhou 16#3025
+/fiveideographicparen 16#3224
+/fiveinferior 16#2085
+/fivemonospace 16#ff15
+/fiveoldstyle 16#f735
+/fiveparen 16#2478
+/fiveperiod 16#248c
+/fivepersian 16#06f5
+/fiveroman 16#2174
+/fivesuperior 16#2075
+/fivethai 16#0e55
+/fl 16#fb02
+/florin 16#0192
+/fmonospace 16#ff46
+/fmsquare 16#3399
+/fofanthai 16#0e1f
+/fofathai 16#0e1d
+/fongmanthai 16#0e4f
+/forall 16#2200
+/four 16#0034
+/fourarabic 16#0664
+/fourbengali 16#09ea
+/fourcircle 16#2463
+/fourcircleinversesansserif 16#278d
+/fourdeva 16#096a
+/fourgujarati 16#0aea
+/fourgurmukhi 16#0a6a
+/fourhackarabic 16#0664
+/fourhangzhou 16#3024
+/fourideographicparen 16#3223
+/fourinferior 16#2084
+/fourmonospace 16#ff14
+/fournumeratorbengali 16#09f7
+/fouroldstyle 16#f734
+/fourparen 16#2477
+/fourperiod 16#248b
+/fourpersian 16#06f4
+/fourroman 16#2173
+/foursuperior 16#2074
+/fourteencircle 16#246d
+/fourteenparen 16#2481
+/fourteenperiod 16#2495
+/fourthai 16#0e54
+/fourthtonechinese 16#02cb
+/fparen 16#24a1
+/fraction 16#2044
+/franc 16#20a3
+/g 16#0067
+/gabengali 16#0997
+/gacute 16#01f5
+/gadeva 16#0917
+/gafarabic 16#06af
+/gaffinalarabic 16#fb93
+/gafinitialarabic 16#fb94
+/gafmedialarabic 16#fb95
+/gagujarati 16#0a97
+/gagurmukhi 16#0a17
+/gahiragana 16#304c
+/gakatakana 16#30ac
+/gamma 16#03b3
+/gammalatinsmall 16#0263
+/gammasuperior 16#02e0
+/gangiacoptic 16#03eb
+/gbopomofo 16#310d
+/gbreve 16#011f
+/gcaron 16#01e7
+/gcedilla 16#0123
+/gcircle 16#24d6
+/gcircumflex 16#011d
+/gcommaaccent 16#0123
+/gdot 16#0121
+/gdotaccent 16#0121
+/gecyrillic 16#0433
+/gehiragana 16#3052
+/gekatakana 16#30b2
+/geometricallyequal 16#2251
+/gereshaccenthebrew 16#059c
+/gereshhebrew 16#05f3
+/gereshmuqdamhebrew 16#059d
+/germandbls 16#00df
+/gershayimaccenthebrew 16#059e
+/gershayimhebrew 16#05f4
+/getamark 16#3013
+/ghabengali 16#0998
+/ghadarmenian 16#0572
+/ghadeva 16#0918
+/ghagujarati 16#0a98
+/ghagurmukhi 16#0a18
+/ghainarabic 16#063a
+/ghainfinalarabic 16#fece
+/ghaininitialarabic 16#fecf
+/ghainmedialarabic 16#fed0
+/ghemiddlehookcyrillic 16#0495
+/ghestrokecyrillic 16#0493
+/gheupturncyrillic 16#0491
+/ghhadeva 16#095a
+/ghhagurmukhi 16#0a5a
+/ghook 16#0260
+/ghzsquare 16#3393
+/gihiragana 16#304e
+/gikatakana 16#30ae
+/gimarmenian 16#0563
+/gimel 16#05d2
+/gimeldagesh 16#fb32
+/gimeldageshhebrew 16#fb32
+/gimelhebrew 16#05d2
+/gjecyrillic 16#0453
+/glottalinvertedstroke 16#01be
+/glottalstop 16#0294
+/glottalstopinverted 16#0296
+/glottalstopmod 16#02c0
+/glottalstopreversed 16#0295
+/glottalstopreversedmod 16#02c1
+/glottalstopreversedsuperior 16#02e4
+/glottalstopstroke 16#02a1
+/glottalstopstrokereversed 16#02a2
+/gmacron 16#1e21
+/gmonospace 16#ff47
+/gohiragana 16#3054
+/gokatakana 16#30b4
+/gparen 16#24a2
+/gpasquare 16#33ac
+/gradient 16#2207
+/grave 16#0060
+/gravebelowcmb 16#0316
+/gravecmb 16#0300
+/gravecomb 16#0300
+/gravedeva 16#0953
+/gravelowmod 16#02ce
+/gravemonospace 16#ff40
+/gravetonecmb 16#0340
+/greater 16#003e
+/greaterequal 16#2265
+/greaterequalorless 16#22db
+/greatermonospace 16#ff1e
+/greaterorequivalent 16#2273
+/greaterorless 16#2277
+/greateroverequal 16#2267
+/greatersmall 16#fe65
+/gscript 16#0261
+/gstroke 16#01e5
+/guhiragana 16#3050
+/guillemotleft 16#00ab
+/guillemotright 16#00bb
+/guilsinglleft 16#2039
+/guilsinglright 16#203a
+/gukatakana 16#30b0
+/guramusquare 16#3318
+/gysquare 16#33c9
+/h 16#0068
+/haabkhasiancyrillic 16#04a9
+/haaltonearabic 16#06c1
+/habengali 16#09b9
+/hadescendercyrillic 16#04b3
+/hadeva 16#0939
+/hagujarati 16#0ab9
+/hagurmukhi 16#0a39
+/haharabic 16#062d
+/hahfinalarabic 16#fea2
+/hahinitialarabic 16#fea3
+/hahiragana 16#306f
+/hahmedialarabic 16#fea4
+/haitusquare 16#332a
+/hakatakana 16#30cf
+/hakatakanahalfwidth 16#ff8a
+/halantgurmukhi 16#0a4d
+/hamzaarabic 16#0621
+/hamzalowarabic 16#0621
+/hangulfiller 16#3164
+/hardsigncyrillic 16#044a
+/harpoonleftbarbup 16#21bc
+/harpoonrightbarbup 16#21c0
+/hasquare 16#33ca
+/hatafpatah 16#05b2
+/hatafpatah16 16#05b2
+/hatafpatah23 16#05b2
+/hatafpatah2f 16#05b2
+/hatafpatahhebrew 16#05b2
+/hatafpatahnarrowhebrew 16#05b2
+/hatafpatahquarterhebrew 16#05b2
+/hatafpatahwidehebrew 16#05b2
+/hatafqamats 16#05b3
+/hatafqamats1b 16#05b3
+/hatafqamats28 16#05b3
+/hatafqamats34 16#05b3
+/hatafqamatshebrew 16#05b3
+/hatafqamatsnarrowhebrew 16#05b3
+/hatafqamatsquarterhebrew 16#05b3
+/hatafqamatswidehebrew 16#05b3
+/hatafsegol 16#05b1
+/hatafsegol17 16#05b1
+/hatafsegol24 16#05b1
+/hatafsegol30 16#05b1
+/hatafsegolhebrew 16#05b1
+/hatafsegolnarrowhebrew 16#05b1
+/hatafsegolquarterhebrew 16#05b1
+/hatafsegolwidehebrew 16#05b1
+/hbar 16#0127
+/hbopomofo 16#310f
+/hbrevebelow 16#1e2b
+/hcedilla 16#1e29
+/hcircle 16#24d7
+/hcircumflex 16#0125
+/hdieresis 16#1e27
+/hdotaccent 16#1e23
+/hdotbelow 16#1e25
+/he 16#05d4
+/heart 16#2665
+/heartsuitblack 16#2665
+/heartsuitwhite 16#2661
+/hedagesh 16#fb34
+/hedageshhebrew 16#fb34
+/hehaltonearabic 16#06c1
+/heharabic 16#0647
+/hehebrew 16#05d4
+/hehfinalaltonearabic 16#fba7
+/hehfinalalttwoarabic 16#feea
+/hehfinalarabic 16#feea
+/hehhamzaabovefinalarabic 16#fba5
+/hehhamzaaboveisolatedarabic 16#fba4
+/hehinitialaltonearabic 16#fba8
+/hehinitialarabic 16#feeb
+/hehiragana 16#3078
+/hehmedialaltonearabic 16#fba9
+/hehmedialarabic 16#feec
+/heiseierasquare 16#337b
+/hekatakana 16#30d8
+/hekatakanahalfwidth 16#ff8d
+/hekutaarusquare 16#3336
+/henghook 16#0267
+/herutusquare 16#3339
+/het 16#05d7
+/hethebrew 16#05d7
+/hhook 16#0266
+/hhooksuperior 16#02b1
+/hieuhacirclekorean 16#327b
+/hieuhaparenkorean 16#321b
+/hieuhcirclekorean 16#326d
+/hieuhkorean 16#314e
+/hieuhparenkorean 16#320d
+/hihiragana 16#3072
+/hikatakana 16#30d2
+/hikatakanahalfwidth 16#ff8b
+/hiriq 16#05b4
+/hiriq14 16#05b4
+/hiriq21 16#05b4
+/hiriq2d 16#05b4
+/hiriqhebrew 16#05b4
+/hiriqnarrowhebrew 16#05b4
+/hiriqquarterhebrew 16#05b4
+/hiriqwidehebrew 16#05b4
+/hlinebelow 16#1e96
+/hmonospace 16#ff48
+/hoarmenian 16#0570
+/hohipthai 16#0e2b
+/hohiragana 16#307b
+/hokatakana 16#30db
+/hokatakanahalfwidth 16#ff8e
+/holam 16#05b9
+/holam19 16#05b9
+/holam26 16#05b9
+/holam32 16#05b9
+/holamhebrew 16#05b9
+/holamnarrowhebrew 16#05b9
+/holamquarterhebrew 16#05b9
+/holamwidehebrew 16#05b9
+/honokhukthai 16#0e2e
+/hookabovecomb 16#0309
+/hookcmb 16#0309
+/hookpalatalizedbelowcmb 16#0321
+/hookretroflexbelowcmb 16#0322
+/hoonsquare 16#3342
+/horicoptic 16#03e9
+/horizontalbar 16#2015
+/horncmb 16#031b
+/hotsprings 16#2668
+/house 16#2302
+/hparen 16#24a3
+/hsuperior 16#02b0
+/hturned 16#0265
+/huhiragana 16#3075
+/huiitosquare 16#3333
+/hukatakana 16#30d5
+/hukatakanahalfwidth 16#ff8c
+/hungarumlaut 16#02dd
+/hungarumlautcmb 16#030b
+/hv 16#0195
+/hyphen 16#002d
+/hypheninferior 16#f6e5
+/hyphenmonospace 16#ff0d
+/hyphensmall 16#fe63
+/hyphensuperior 16#f6e6
+/hyphentwo 16#2010
+/i 16#0069
+/iacute 16#00ed
+/iacyrillic 16#044f
+/ibengali 16#0987
+/ibopomofo 16#3127
+/ibreve 16#012d
+/icaron 16#01d0
+/icircle 16#24d8
+/icircumflex 16#00ee
+/icyrillic 16#0456
+/idblgrave 16#0209
+/ideographearthcircle 16#328f
+/ideographfirecircle 16#328b
+/ideographicallianceparen 16#323f
+/ideographiccallparen 16#323a
+/ideographiccentrecircle 16#32a5
+/ideographicclose 16#3006
+/ideographiccomma 16#3001
+/ideographiccommaleft 16#ff64
+/ideographiccongratulationparen 16#3237
+/ideographiccorrectcircle 16#32a3
+/ideographicearthparen 16#322f
+/ideographicenterpriseparen 16#323d
+/ideographicexcellentcircle 16#329d
+/ideographicfestivalparen 16#3240
+/ideographicfinancialcircle 16#3296
+/ideographicfinancialparen 16#3236
+/ideographicfireparen 16#322b
+/ideographichaveparen 16#3232
+/ideographichighcircle 16#32a4
+/ideographiciterationmark 16#3005
+/ideographiclaborcircle 16#3298
+/ideographiclaborparen 16#3238
+/ideographicleftcircle 16#32a7
+/ideographiclowcircle 16#32a6
+/ideographicmedicinecircle 16#32a9
+/ideographicmetalparen 16#322e
+/ideographicmoonparen 16#322a
+/ideographicnameparen 16#3234
+/ideographicperiod 16#3002
+/ideographicprintcircle 16#329e
+/ideographicreachparen 16#3243
+/ideographicrepresentparen 16#3239
+/ideographicresourceparen 16#323e
+/ideographicrightcircle 16#32a8
+/ideographicsecretcircle 16#3299
+/ideographicselfparen 16#3242
+/ideographicsocietyparen 16#3233
+/ideographicspace 16#3000
+/ideographicspecialparen 16#3235
+/ideographicstockparen 16#3231
+/ideographicstudyparen 16#323b
+/ideographicsunparen 16#3230
+/ideographicsuperviseparen 16#323c
+/ideographicwaterparen 16#322c
+/ideographicwoodparen 16#322d
+/ideographiczero 16#3007
+/ideographmetalcircle 16#328e
+/ideographmooncircle 16#328a
+/ideographnamecircle 16#3294
+/ideographsuncircle 16#3290
+/ideographwatercircle 16#328c
+/ideographwoodcircle 16#328d
+/ideva 16#0907
+/idieresis 16#00ef
+/idieresisacute 16#1e2f
+/idieresiscyrillic 16#04e5
+/idotbelow 16#1ecb
+/iebrevecyrillic 16#04d7
+/iecyrillic 16#0435
+/ieungacirclekorean 16#3275
+/ieungaparenkorean 16#3215
+/ieungcirclekorean 16#3267
+/ieungkorean 16#3147
+/ieungparenkorean 16#3207
+/igrave 16#00ec
+/igujarati 16#0a87
+/igurmukhi 16#0a07
+/ihiragana 16#3044
+/ihookabove 16#1ec9
+/iibengali 16#0988
+/iicyrillic 16#0438
+/iideva 16#0908
+/iigujarati 16#0a88
+/iigurmukhi 16#0a08
+/iimatragurmukhi 16#0a40
+/iinvertedbreve 16#020b
+/iishortcyrillic 16#0439
+/iivowelsignbengali 16#09c0
+/iivowelsigndeva 16#0940
+/iivowelsigngujarati 16#0ac0
+/ij 16#0133
+/ikatakana 16#30a4
+/ikatakanahalfwidth 16#ff72
+/ikorean 16#3163
+/ilde 16#02dc
+/iluyhebrew 16#05ac
+/imacron 16#012b
+/imacroncyrillic 16#04e3
+/imageorapproximatelyequal 16#2253
+/imatragurmukhi 16#0a3f
+/imonospace 16#ff49
+/increment 16#2206
+/infinity 16#221e
+/iniarmenian 16#056b
+/integral 16#222b
+/integralbottom 16#2321
+/integralbt 16#2321
+/integralex 16#f8f5
+/integraltop 16#2320
+/integraltp 16#2320
+/intersection 16#2229
+/intisquare 16#3305
+/invbullet 16#25d8
+/invcircle 16#25d9
+/invsmileface 16#263b
+/iocyrillic 16#0451
+/iogonek 16#012f
+/iota 16#03b9
+/iotadieresis 16#03ca
+/iotadieresistonos 16#0390
+/iotalatin 16#0269
+/iotatonos 16#03af
+/iparen 16#24a4
+/irigurmukhi 16#0a72
+/ismallhiragana 16#3043
+/ismallkatakana 16#30a3
+/ismallkatakanahalfwidth 16#ff68
+/issharbengali 16#09fa
+/istroke 16#0268
+/isuperior 16#f6ed
+/iterationhiragana 16#309d
+/iterationkatakana 16#30fd
+/itilde 16#0129
+/itildebelow 16#1e2d
+/iubopomofo 16#3129
+/iucyrillic 16#044e
+/ivowelsignbengali 16#09bf
+/ivowelsigndeva 16#093f
+/ivowelsigngujarati 16#0abf
+/izhitsacyrillic 16#0475
+/izhitsadblgravecyrillic 16#0477
+/j 16#006a
+/jaarmenian 16#0571
+/jabengali 16#099c
+/jadeva 16#091c
+/jagujarati 16#0a9c
+/jagurmukhi 16#0a1c
+/jbopomofo 16#3110
+/jcaron 16#01f0
+/jcircle 16#24d9
+/jcircumflex 16#0135
+/jcrossedtail 16#029d
+/jdotlessstroke 16#025f
+/jecyrillic 16#0458
+/jeemarabic 16#062c
+/jeemfinalarabic 16#fe9e
+/jeeminitialarabic 16#fe9f
+/jeemmedialarabic 16#fea0
+/jeharabic 16#0698
+/jehfinalarabic 16#fb8b
+/jhabengali 16#099d
+/jhadeva 16#091d
+/jhagujarati 16#0a9d
+/jhagurmukhi 16#0a1d
+/jheharmenian 16#057b
+/jis 16#3004
+/jmonospace 16#ff4a
+/jparen 16#24a5
+/jsuperior 16#02b2
+/k 16#006b
+/kabashkircyrillic 16#04a1
+/kabengali 16#0995
+/kacute 16#1e31
+/kacyrillic 16#043a
+/kadescendercyrillic 16#049b
+/kadeva 16#0915
+/kaf 16#05db
+/kafarabic 16#0643
+/kafdagesh 16#fb3b
+/kafdageshhebrew 16#fb3b
+/kaffinalarabic 16#feda
+/kafhebrew 16#05db
+/kafinitialarabic 16#fedb
+/kafmedialarabic 16#fedc
+/kafrafehebrew 16#fb4d
+/kagujarati 16#0a95
+/kagurmukhi 16#0a15
+/kahiragana 16#304b
+/kahookcyrillic 16#04c4
+/kakatakana 16#30ab
+/kakatakanahalfwidth 16#ff76
+/kappa 16#03ba
+/kappasymbolgreek 16#03f0
+/kapyeounmieumkorean 16#3171
+/kapyeounphieuphkorean 16#3184
+/kapyeounpieupkorean 16#3178
+/kapyeounssangpieupkorean 16#3179
+/karoriisquare 16#330d
+/kashidaautoarabic 16#0640
+/kashidaautonosidebearingarabic 16#0640
+/kasmallkatakana 16#30f5
+/kasquare 16#3384
+/kasraarabic 16#0650
+/kasratanarabic 16#064d
+/kastrokecyrillic 16#049f
+/katahiraprolongmarkhalfwidth 16#ff70
+/kaverticalstrokecyrillic 16#049d
+/kbopomofo 16#310e
+/kcalsquare 16#3389
+/kcaron 16#01e9
+/kcedilla 16#0137
+/kcircle 16#24da
+/kcommaaccent 16#0137
+/kdotbelow 16#1e33
+/keharmenian 16#0584
+/kehiragana 16#3051
+/kekatakana 16#30b1
+/kekatakanahalfwidth 16#ff79
+/kenarmenian 16#056f
+/kesmallkatakana 16#30f6
+/kgreenlandic 16#0138
+/khabengali 16#0996
+/khacyrillic 16#0445
+/khadeva 16#0916
+/khagujarati 16#0a96
+/khagurmukhi 16#0a16
+/khaharabic 16#062e
+/khahfinalarabic 16#fea6
+/khahinitialarabic 16#fea7
+/khahmedialarabic 16#fea8
+/kheicoptic 16#03e7
+/khhadeva 16#0959
+/khhagurmukhi 16#0a59
+/khieukhacirclekorean 16#3278
+/khieukhaparenkorean 16#3218
+/khieukhcirclekorean 16#326a
+/khieukhkorean 16#314b
+/khieukhparenkorean 16#320a
+/khokhaithai 16#0e02
+/khokhonthai 16#0e05
+/khokhuatthai 16#0e03
+/khokhwaithai 16#0e04
+/khomutthai 16#0e5b
+/khook 16#0199
+/khorakhangthai 16#0e06
+/khzsquare 16#3391
+/kihiragana 16#304d
+/kikatakana 16#30ad
+/kikatakanahalfwidth 16#ff77
+/kiroguramusquare 16#3315
+/kiromeetorusquare 16#3316
+/kirosquare 16#3314
+/kiyeokacirclekorean 16#326e
+/kiyeokaparenkorean 16#320e
+/kiyeokcirclekorean 16#3260
+/kiyeokkorean 16#3131
+/kiyeokparenkorean 16#3200
+/kiyeoksioskorean 16#3133
+/kjecyrillic 16#045c
+/klinebelow 16#1e35
+/klsquare 16#3398
+/kmcubedsquare 16#33a6
+/kmonospace 16#ff4b
+/kmsquaredsquare 16#33a2
+/kohiragana 16#3053
+/kohmsquare 16#33c0
+/kokaithai 16#0e01
+/kokatakana 16#30b3
+/kokatakanahalfwidth 16#ff7a
+/kooposquare 16#331e
+/koppacyrillic 16#0481
+/koreanstandardsymbol 16#327f
+/koroniscmb 16#0343
+/kparen 16#24a6
+/kpasquare 16#33aa
+/ksicyrillic 16#046f
+/ktsquare 16#33cf
+/kturned 16#029e
+/kuhiragana 16#304f
+/kukatakana 16#30af
+/kukatakanahalfwidth 16#ff78
+/kvsquare 16#33b8
+/kwsquare 16#33be
+/l 16#006c
+/labengali 16#09b2
+/lacute 16#013a
+/ladeva 16#0932
+/lagujarati 16#0ab2
+/lagurmukhi 16#0a32
+/lakkhangyaothai 16#0e45
+/lamaleffinalarabic 16#fefc
+/lamalefhamzaabovefinalarabic 16#fef8
+/lamalefhamzaaboveisolatedarabic 16#fef7
+/lamalefhamzabelowfinalarabic 16#fefa
+/lamalefhamzabelowisolatedarabic 16#fef9
+/lamalefisolatedarabic 16#fefb
+/lamalefmaddaabovefinalarabic 16#fef6
+/lamalefmaddaaboveisolatedarabic 16#fef5
+/lamarabic 16#0644
+/lambda 16#03bb
+/lambdastroke 16#019b
+/lamed 16#05dc
+/lameddagesh 16#fb3c
+/lameddageshhebrew 16#fb3c
+/lamedhebrew 16#05dc
+/lamfinalarabic 16#fede
+/lamhahinitialarabic 16#fcca
+/laminitialarabic 16#fedf
+/lamjeeminitialarabic 16#fcc9
+/lamkhahinitialarabic 16#fccb
+/lamlamhehisolatedarabic 16#fdf2
+/lammedialarabic 16#fee0
+/lammeemhahinitialarabic 16#fd88
+/lammeeminitialarabic 16#fccc
+/largecircle 16#25ef
+/lbar 16#019a
+/lbelt 16#026c
+/lbopomofo 16#310c
+/lcaron 16#013e
+/lcedilla 16#013c
+/lcircle 16#24db
+/lcircumflexbelow 16#1e3d
+/lcommaaccent 16#013c
+/ldot 16#0140
+/ldotaccent 16#0140
+/ldotbelow 16#1e37
+/ldotbelowmacron 16#1e39
+/leftangleabovecmb 16#031a
+/lefttackbelowcmb 16#0318
+/less 16#003c
+/lessequal 16#2264
+/lessequalorgreater 16#22da
+/lessmonospace 16#ff1c
+/lessorequivalent 16#2272
+/lessorgreater 16#2276
+/lessoverequal 16#2266
+/lesssmall 16#fe64
+/lezh 16#026e
+/lfblock 16#258c
+/lhookretroflex 16#026d
+/lira 16#20a4
+/liwnarmenian 16#056c
+/lj 16#01c9
+/ljecyrillic 16#0459
+/ll 16#f6c0
+/lladeva 16#0933
+/llagujarati 16#0ab3
+/llinebelow 16#1e3b
+/llladeva 16#0934
+/llvocalicbengali 16#09e1
+/llvocalicdeva 16#0961
+/llvocalicvowelsignbengali 16#09e3
+/llvocalicvowelsigndeva 16#0963
+/lmiddletilde 16#026b
+/lmonospace 16#ff4c
+/lmsquare 16#33d0
+/lochulathai 16#0e2c
+/logicaland 16#2227
+/logicalnot 16#00ac
+/logicalnotreversed 16#2310
+/logicalor 16#2228
+/lolingthai 16#0e25
+/longs 16#017f
+/lowlinecenterline 16#fe4e
+/lowlinecmb 16#0332
+/lowlinedashed 16#fe4d
+/lozenge 16#25ca
+/lparen 16#24a7
+/lslash 16#0142
+/lsquare 16#2113
+/lsuperior 16#f6ee
+/ltshade 16#2591
+/luthai 16#0e26
+/lvocalicbengali 16#098c
+/lvocalicdeva 16#090c
+/lvocalicvowelsignbengali 16#09e2
+/lvocalicvowelsigndeva 16#0962
+/lxsquare 16#33d3
+/m 16#006d
+/mabengali 16#09ae
+/macron 16#00af
+/macronbelowcmb 16#0331
+/macroncmb 16#0304
+/macronlowmod 16#02cd
+/macronmonospace 16#ffe3
+/macute 16#1e3f
+/madeva 16#092e
+/magujarati 16#0aae
+/magurmukhi 16#0a2e
+/mahapakhhebrew 16#05a4
+/mahapakhlefthebrew 16#05a4
+/mahiragana 16#307e
+/maichattawalowleftthai 16#f895
+/maichattawalowrightthai 16#f894
+/maichattawathai 16#0e4b
+/maichattawaupperleftthai 16#f893
+/maieklowleftthai 16#f88c
+/maieklowrightthai 16#f88b
+/maiekthai 16#0e48
+/maiekupperleftthai 16#f88a
+/maihanakatleftthai 16#f884
+/maihanakatthai 16#0e31
+/maitaikhuleftthai 16#f889
+/maitaikhuthai 16#0e47
+/maitholowleftthai 16#f88f
+/maitholowrightthai 16#f88e
+/maithothai 16#0e49
+/maithoupperleftthai 16#f88d
+/maitrilowleftthai 16#f892
+/maitrilowrightthai 16#f891
+/maitrithai 16#0e4a
+/maitriupperleftthai 16#f890
+/maiyamokthai 16#0e46
+/makatakana 16#30de
+/makatakanahalfwidth 16#ff8f
+/male 16#2642
+/mansyonsquare 16#3347
+/maqafhebrew 16#05be
+/mars 16#2642
+/masoracirclehebrew 16#05af
+/masquare 16#3383
+/mbopomofo 16#3107
+/mbsquare 16#33d4
+/mcircle 16#24dc
+/mcubedsquare 16#33a5
+/mdotaccent 16#1e41
+/mdotbelow 16#1e43
+/meemarabic 16#0645
+/meemfinalarabic 16#fee2
+/meeminitialarabic 16#fee3
+/meemmedialarabic 16#fee4
+/meemmeeminitialarabic 16#fcd1
+/meemmeemisolatedarabic 16#fc48
+/meetorusquare 16#334d
+/mehiragana 16#3081
+/meizierasquare 16#337e
+/mekatakana 16#30e1
+/mekatakanahalfwidth 16#ff92
+/mem 16#05de
+/memdagesh 16#fb3e
+/memdageshhebrew 16#fb3e
+/memhebrew 16#05de
+/menarmenian 16#0574
+/merkhahebrew 16#05a5
+/merkhakefulahebrew 16#05a6
+/merkhakefulalefthebrew 16#05a6
+/merkhalefthebrew 16#05a5
+/mhook 16#0271
+/mhzsquare 16#3392
+/middledotkatakanahalfwidth 16#ff65
+/middot 16#00b7
+/mieumacirclekorean 16#3272
+/mieumaparenkorean 16#3212
+/mieumcirclekorean 16#3264
+/mieumkorean 16#3141
+/mieumpansioskorean 16#3170
+/mieumparenkorean 16#3204
+/mieumpieupkorean 16#316e
+/mieumsioskorean 16#316f
+/mihiragana 16#307f
+/mikatakana 16#30df
+/mikatakanahalfwidth 16#ff90
+/minus 16#2212
+/minusbelowcmb 16#0320
+/minuscircle 16#2296
+/minusmod 16#02d7
+/minusplus 16#2213
+/minute 16#2032
+/miribaarusquare 16#334a
+/mirisquare 16#3349
+/mlonglegturned 16#0270
+/mlsquare 16#3396
+/mmcubedsquare 16#33a3
+/mmonospace 16#ff4d
+/mmsquaredsquare 16#339f
+/mohiragana 16#3082
+/mohmsquare 16#33c1
+/mokatakana 16#30e2
+/mokatakanahalfwidth 16#ff93
+/molsquare 16#33d6
+/momathai 16#0e21
+/moverssquare 16#33a7
+/moverssquaredsquare 16#33a8
+/mparen 16#24a8
+/mpasquare 16#33ab
+/mssquare 16#33b3
+/msuperior 16#f6ef
+/mturned 16#026f
+/mu 16#00b5
+/mu1 16#00b5
+/muasquare 16#3382
+/muchgreater 16#226b
+/muchless 16#226a
+/mufsquare 16#338c
+/mugreek 16#03bc
+/mugsquare 16#338d
+/muhiragana 16#3080
+/mukatakana 16#30e0
+/mukatakanahalfwidth 16#ff91
+/mulsquare 16#3395
+/multiply 16#00d7
+/mumsquare 16#339b
+/munahhebrew 16#05a3
+/munahlefthebrew 16#05a3
+/musicalnote 16#266a
+/musicalnotedbl 16#266b
+/musicflatsign 16#266d
+/musicsharpsign 16#266f
+/mussquare 16#33b2
+/muvsquare 16#33b6
+/muwsquare 16#33bc
+/mvmegasquare 16#33b9
+/mvsquare 16#33b7
+/mwmegasquare 16#33bf
+/mwsquare 16#33bd
+/n 16#006e
+/nabengali 16#09a8
+/nabla 16#2207
+/nacute 16#0144
+/nadeva 16#0928
+/nagujarati 16#0aa8
+/nagurmukhi 16#0a28
+/nahiragana 16#306a
+/nakatakana 16#30ca
+/nakatakanahalfwidth 16#ff85
+/napostrophe 16#0149
+/nasquare 16#3381
+/nbopomofo 16#310b
+/nbspace 16#00a0
+/ncaron 16#0148
+/ncedilla 16#0146
+/ncircle 16#24dd
+/ncircumflexbelow 16#1e4b
+/ncommaaccent 16#0146
+/ndotaccent 16#1e45
+/ndotbelow 16#1e47
+/nehiragana 16#306d
+/nekatakana 16#30cd
+/nekatakanahalfwidth 16#ff88
+/newsheqelsign 16#20aa
+/nfsquare 16#338b
+/ngabengali 16#0999
+/ngadeva 16#0919
+/ngagujarati 16#0a99
+/ngagurmukhi 16#0a19
+/ngonguthai 16#0e07
+/nhiragana 16#3093
+/nhookleft 16#0272
+/nhookretroflex 16#0273
+/nieunacirclekorean 16#326f
+/nieunaparenkorean 16#320f
+/nieuncieuckorean 16#3135
+/nieuncirclekorean 16#3261
+/nieunhieuhkorean 16#3136
+/nieunkorean 16#3134
+/nieunpansioskorean 16#3168
+/nieunparenkorean 16#3201
+/nieunsioskorean 16#3167
+/nieuntikeutkorean 16#3166
+/nihiragana 16#306b
+/nikatakana 16#30cb
+/nikatakanahalfwidth 16#ff86
+/nikhahitleftthai 16#f899
+/nikhahitthai 16#0e4d
+/nine 16#0039
+/ninearabic 16#0669
+/ninebengali 16#09ef
+/ninecircle 16#2468
+/ninecircleinversesansserif 16#2792
+/ninedeva 16#096f
+/ninegujarati 16#0aef
+/ninegurmukhi 16#0a6f
+/ninehackarabic 16#0669
+/ninehangzhou 16#3029
+/nineideographicparen 16#3228
+/nineinferior 16#2089
+/ninemonospace 16#ff19
+/nineoldstyle 16#f739
+/nineparen 16#247c
+/nineperiod 16#2490
+/ninepersian 16#06f9
+/nineroman 16#2178
+/ninesuperior 16#2079
+/nineteencircle 16#2472
+/nineteenparen 16#2486
+/nineteenperiod 16#249a
+/ninethai 16#0e59
+/nj 16#01cc
+/njecyrillic 16#045a
+/nkatakana 16#30f3
+/nkatakanahalfwidth 16#ff9d
+/nlegrightlong 16#019e
+/nlinebelow 16#1e49
+/nmonospace 16#ff4e
+/nmsquare 16#339a
+/nnabengali 16#09a3
+/nnadeva 16#0923
+/nnagujarati 16#0aa3
+/nnagurmukhi 16#0a23
+/nnnadeva 16#0929
+/nohiragana 16#306e
+/nokatakana 16#30ce
+/nokatakanahalfwidth 16#ff89
+/nonbreakingspace 16#00a0
+/nonenthai 16#0e13
+/nonuthai 16#0e19
+/noonarabic 16#0646
+/noonfinalarabic 16#fee6
+/noonghunnaarabic 16#06ba
+/noonghunnafinalarabic 16#fb9f
+/nooninitialarabic 16#fee7
+/noonjeeminitialarabic 16#fcd2
+/noonjeemisolatedarabic 16#fc4b
+/noonmedialarabic 16#fee8
+/noonmeeminitialarabic 16#fcd5
+/noonmeemisolatedarabic 16#fc4e
+/noonnoonfinalarabic 16#fc8d
+/notcontains 16#220c
+/notelement 16#2209
+/notelementof 16#2209
+/notequal 16#2260
+/notgreater 16#226f
+/notgreaternorequal 16#2271
+/notgreaternorless 16#2279
+/notidentical 16#2262
+/notless 16#226e
+/notlessnorequal 16#2270
+/notparallel 16#2226
+/notprecedes 16#2280
+/notsubset 16#2284
+/notsucceeds 16#2281
+/notsuperset 16#2285
+/nowarmenian 16#0576
+/nparen 16#24a9
+/nssquare 16#33b1
+/nsuperior 16#207f
+/ntilde 16#00f1
+/nu 16#03bd
+/nuhiragana 16#306c
+/nukatakana 16#30cc
+/nukatakanahalfwidth 16#ff87
+/nuktabengali 16#09bc
+/nuktadeva 16#093c
+/nuktagujarati 16#0abc
+/nuktagurmukhi 16#0a3c
+/numbersign 16#0023
+/numbersignmonospace 16#ff03
+/numbersignsmall 16#fe5f
+/numeralsigngreek 16#0374
+/numeralsignlowergreek 16#0375
+/numero 16#2116
+/nun 16#05e0
+/nundagesh 16#fb40
+/nundageshhebrew 16#fb40
+/nunhebrew 16#05e0
+/nvsquare 16#33b5
+/nwsquare 16#33bb
+/nyabengali 16#099e
+/nyadeva 16#091e
+/nyagujarati 16#0a9e
+/nyagurmukhi 16#0a1e
+/o 16#006f
+/oacute 16#00f3
+/oangthai 16#0e2d
+/obarred 16#0275
+/obarredcyrillic 16#04e9
+/obarreddieresiscyrillic 16#04eb
+/obengali 16#0993
+/obopomofo 16#311b
+/obreve 16#014f
+/ocandradeva 16#0911
+/ocandragujarati 16#0a91
+/ocandravowelsigndeva 16#0949
+/ocandravowelsigngujarati 16#0ac9
+/ocaron 16#01d2
+/ocircle 16#24de
+/ocircumflex 16#00f4
+/ocircumflexacute 16#1ed1
+/ocircumflexdotbelow 16#1ed9
+/ocircumflexgrave 16#1ed3
+/ocircumflexhookabove 16#1ed5
+/ocircumflextilde 16#1ed7
+/ocyrillic 16#043e
+/odblacute 16#0151
+/odblgrave 16#020d
+/odeva 16#0913
+/odieresis 16#00f6
+/odieresiscyrillic 16#04e7
+/odotbelow 16#1ecd
+/oe 16#0153
+/oekorean 16#315a
+/ogonek 16#02db
+/ogonekcmb 16#0328
+/ograve 16#00f2
+/ogujarati 16#0a93
+/oharmenian 16#0585
+/ohiragana 16#304a
+/ohookabove 16#1ecf
+/ohorn 16#01a1
+/ohornacute 16#1edb
+/ohorndotbelow 16#1ee3
+/ohorngrave 16#1edd
+/ohornhookabove 16#1edf
+/ohorntilde 16#1ee1
+/ohungarumlaut 16#0151
+/oi 16#01a3
+/oinvertedbreve 16#020f
+/okatakana 16#30aa
+/okatakanahalfwidth 16#ff75
+/okorean 16#3157
+/olehebrew 16#05ab
+/omacron 16#014d
+/omacronacute 16#1e53
+/omacrongrave 16#1e51
+/omdeva 16#0950
+/omega 16#03c9
+/omega1 16#03d6
+/omegacyrillic 16#0461
+/omegalatinclosed 16#0277
+/omegaroundcyrillic 16#047b
+/omegatitlocyrillic 16#047d
+/omegatonos 16#03ce
+/omgujarati 16#0ad0
+/omicron 16#03bf
+/omicrontonos 16#03cc
+/omonospace 16#ff4f
+/one 16#0031
+/onearabic 16#0661
+/onebengali 16#09e7
+/onecircle 16#2460
+/onecircleinversesansserif 16#278a
+/onedeva 16#0967
+/onedotenleader 16#2024
+/oneeighth 16#215b
+/onefitted 16#f6dc
+/onegujarati 16#0ae7
+/onegurmukhi 16#0a67
+/onehackarabic 16#0661
+/onehalf 16#00bd
+/onehangzhou 16#3021
+/oneideographicparen 16#3220
+/oneinferior 16#2081
+/onemonospace 16#ff11
+/onenumeratorbengali 16#09f4
+/oneoldstyle 16#f731
+/oneparen 16#2474
+/oneperiod 16#2488
+/onepersian 16#06f1
+/onequarter 16#00bc
+/oneroman 16#2170
+/onesuperior 16#00b9
+/onethai 16#0e51
+/onethird 16#2153
+/oogonek 16#01eb
+/oogonekmacron 16#01ed
+/oogurmukhi 16#0a13
+/oomatragurmukhi 16#0a4b
+/oopen 16#0254
+/oparen 16#24aa
+/openbullet 16#25e6
+/option 16#2325
+/ordfeminine 16#00aa
+/ordmasculine 16#00ba
+/orthogonal 16#221f
+/oshortdeva 16#0912
+/oshortvowelsigndeva 16#094a
+/oslash 16#00f8
+/oslashacute 16#01ff
+/osmallhiragana 16#3049
+/osmallkatakana 16#30a9
+/osmallkatakanahalfwidth 16#ff6b
+/ostrokeacute 16#01ff
+/osuperior 16#f6f0
+/otcyrillic 16#047f
+/otilde 16#00f5
+/otildeacute 16#1e4d
+/otildedieresis 16#1e4f
+/oubopomofo 16#3121
+/overline 16#203e
+/overlinecenterline 16#fe4a
+/overlinecmb 16#0305
+/overlinedashed 16#fe49
+/overlinedblwavy 16#fe4c
+/overlinewavy 16#fe4b
+/overscore 16#00af
+/ovowelsignbengali 16#09cb
+/ovowelsigndeva 16#094b
+/ovowelsigngujarati 16#0acb
+/p 16#0070
+/paampssquare 16#3380
+/paasentosquare 16#332b
+/pabengali 16#09aa
+/pacute 16#1e55
+/padeva 16#092a
+/pagedown 16#21df
+/pageup 16#21de
+/pagujarati 16#0aaa
+/pagurmukhi 16#0a2a
+/pahiragana 16#3071
+/paiyannoithai 16#0e2f
+/pakatakana 16#30d1
+/palatalizationcyrilliccmb 16#0484
+/palochkacyrillic 16#04c0
+/pansioskorean 16#317f
+/paragraph 16#00b6
+/parallel 16#2225
+/parenleft 16#0028
+/parenleftaltonearabic 16#fd3e
+/parenleftbt 16#f8ed
+/parenleftex 16#f8ec
+/parenleftinferior 16#208d
+/parenleftmonospace 16#ff08
+/parenleftsmall 16#fe59
+/parenleftsuperior 16#207d
+/parenlefttp 16#f8eb
+/parenleftvertical 16#fe35
+/parenright 16#0029
+/parenrightaltonearabic 16#fd3f
+/parenrightbt 16#f8f8
+/parenrightex 16#f8f7
+/parenrightinferior 16#208e
+/parenrightmonospace 16#ff09
+/parenrightsmall 16#fe5a
+/parenrightsuperior 16#207e
+/parenrighttp 16#f8f6
+/parenrightvertical 16#fe36
+/partialdiff 16#2202
+/paseqhebrew 16#05c0
+/pashtahebrew 16#0599
+/pasquare 16#33a9
+/patah 16#05b7
+/patah11 16#05b7
+/patah1d 16#05b7
+/patah2a 16#05b7
+/patahhebrew 16#05b7
+/patahnarrowhebrew 16#05b7
+/patahquarterhebrew 16#05b7
+/patahwidehebrew 16#05b7
+/pazerhebrew 16#05a1
+/pbopomofo 16#3106
+/pcircle 16#24df
+/pdotaccent 16#1e57
+/pe 16#05e4
+/pecyrillic 16#043f
+/pedagesh 16#fb44
+/pedageshhebrew 16#fb44
+/peezisquare 16#333b
+/pefinaldageshhebrew 16#fb43
+/peharabic 16#067e
+/peharmenian 16#057a
+/pehebrew 16#05e4
+/pehfinalarabic 16#fb57
+/pehinitialarabic 16#fb58
+/pehiragana 16#307a
+/pehmedialarabic 16#fb59
+/pekatakana 16#30da
+/pemiddlehookcyrillic 16#04a7
+/perafehebrew 16#fb4e
+/percent 16#0025
+/percentarabic 16#066a
+/percentmonospace 16#ff05
+/percentsmall 16#fe6a
+/period 16#002e
+/periodarmenian 16#0589
+/periodcentered 16#00b7
+/periodhalfwidth 16#ff61
+/periodinferior 16#f6e7
+/periodmonospace 16#ff0e
+/periodsmall 16#fe52
+/periodsuperior 16#f6e8
+/perispomenigreekcmb 16#0342
+/perpendicular 16#22a5
+/perthousand 16#2030
+/peseta 16#20a7
+/pfsquare 16#338a
+/phabengali 16#09ab
+/phadeva 16#092b
+/phagujarati 16#0aab
+/phagurmukhi 16#0a2b
+/phi 16#03c6
+/phi1 16#03d5
+/phieuphacirclekorean 16#327a
+/phieuphaparenkorean 16#321a
+/phieuphcirclekorean 16#326c
+/phieuphkorean 16#314d
+/phieuphparenkorean 16#320c
+/philatin 16#0278
+/phinthuthai 16#0e3a
+/phisymbolgreek 16#03d5
+/phook 16#01a5
+/phophanthai 16#0e1e
+/phophungthai 16#0e1c
+/phosamphaothai 16#0e20
+/pi 16#03c0
+/pieupacirclekorean 16#3273
+/pieupaparenkorean 16#3213
+/pieupcieuckorean 16#3176
+/pieupcirclekorean 16#3265
+/pieupkiyeokkorean 16#3172
+/pieupkorean 16#3142
+/pieupparenkorean 16#3205
+/pieupsioskiyeokkorean 16#3174
+/pieupsioskorean 16#3144
+/pieupsiostikeutkorean 16#3175
+/pieupthieuthkorean 16#3177
+/pieuptikeutkorean 16#3173
+/pihiragana 16#3074
+/pikatakana 16#30d4
+/pisymbolgreek 16#03d6
+/piwrarmenian 16#0583
+/plus 16#002b
+/plusbelowcmb 16#031f
+/pluscircle 16#2295
+/plusminus 16#00b1
+/plusmod 16#02d6
+/plusmonospace 16#ff0b
+/plussmall 16#fe62
+/plussuperior 16#207a
+/pmonospace 16#ff50
+/pmsquare 16#33d8
+/pohiragana 16#307d
+/pointingindexdownwhite 16#261f
+/pointingindexleftwhite 16#261c
+/pointingindexrightwhite 16#261e
+/pointingindexupwhite 16#261d
+/pokatakana 16#30dd
+/poplathai 16#0e1b
+/postalmark 16#3012
+/postalmarkface 16#3020
+/pparen 16#24ab
+/precedes 16#227a
+/prescription 16#211e
+/primemod 16#02b9
+/primereversed 16#2035
+/product 16#220f
+/projective 16#2305
+/prolongedkana 16#30fc
+/propellor 16#2318
+/propersubset 16#2282
+/propersuperset 16#2283
+/proportion 16#2237
+/proportional 16#221d
+/psi 16#03c8
+/psicyrillic 16#0471
+/psilipneumatacyrilliccmb 16#0486
+/pssquare 16#33b0
+/puhiragana 16#3077
+/pukatakana 16#30d7
+/pvsquare 16#33b4
+/pwsquare 16#33ba
+/q 16#0071
+/qadeva 16#0958
+/qadmahebrew 16#05a8
+/qafarabic 16#0642
+/qaffinalarabic 16#fed6
+/qafinitialarabic 16#fed7
+/qafmedialarabic 16#fed8
+/qamats 16#05b8
+/qamats10 16#05b8
+/qamats1a 16#05b8
+/qamats1c 16#05b8
+/qamats27 16#05b8
+/qamats29 16#05b8
+/qamats33 16#05b8
+/qamatsde 16#05b8
+/qamatshebrew 16#05b8
+/qamatsnarrowhebrew 16#05b8
+/qamatsqatanhebrew 16#05b8
+/qamatsqatannarrowhebrew 16#05b8
+/qamatsqatanquarterhebrew 16#05b8
+/qamatsqatanwidehebrew 16#05b8
+/qamatsquarterhebrew 16#05b8
+/qamatswidehebrew 16#05b8
+/qarneyparahebrew 16#059f
+/qbopomofo 16#3111
+/qcircle 16#24e0
+/qhook 16#02a0
+/qmonospace 16#ff51
+/qof 16#05e7
+/qofdagesh 16#fb47
+/qofdageshhebrew 16#fb47
+/qofhebrew 16#05e7
+/qparen 16#24ac
+/quarternote 16#2669
+/qubuts 16#05bb
+/qubuts18 16#05bb
+/qubuts25 16#05bb
+/qubuts31 16#05bb
+/qubutshebrew 16#05bb
+/qubutsnarrowhebrew 16#05bb
+/qubutsquarterhebrew 16#05bb
+/qubutswidehebrew 16#05bb
+/question 16#003f
+/questionarabic 16#061f
+/questionarmenian 16#055e
+/questiondown 16#00bf
+/questiondownsmall 16#f7bf
+/questiongreek 16#037e
+/questionmonospace 16#ff1f
+/questionsmall 16#f73f
+/quotedbl 16#0022
+/quotedblbase 16#201e
+/quotedblleft 16#201c
+/quotedblmonospace 16#ff02
+/quotedblprime 16#301e
+/quotedblprimereversed 16#301d
+/quotedblright 16#201d
+/quoteleft 16#2018
+/quoteleftreversed 16#201b
+/quotereversed 16#201b
+/quoteright 16#2019
+/quoterightn 16#0149
+/quotesinglbase 16#201a
+/quotesingle 16#0027
+/quotesinglemonospace 16#ff07
+/r 16#0072
+/raarmenian 16#057c
+/rabengali 16#09b0
+/racute 16#0155
+/radeva 16#0930
+/radical 16#221a
+/radicalex 16#f8e5
+/radoverssquare 16#33ae
+/radoverssquaredsquare 16#33af
+/radsquare 16#33ad
+/rafe 16#05bf
+/rafehebrew 16#05bf
+/ragujarati 16#0ab0
+/ragurmukhi 16#0a30
+/rahiragana 16#3089
+/rakatakana 16#30e9
+/rakatakanahalfwidth 16#ff97
+/ralowerdiagonalbengali 16#09f1
+/ramiddlediagonalbengali 16#09f0
+/ramshorn 16#0264
+/ratio 16#2236
+/rbopomofo 16#3116
+/rcaron 16#0159
+/rcedilla 16#0157
+/rcircle 16#24e1
+/rcommaaccent 16#0157
+/rdblgrave 16#0211
+/rdotaccent 16#1e59
+/rdotbelow 16#1e5b
+/rdotbelowmacron 16#1e5d
+/referencemark 16#203b
+/reflexsubset 16#2286
+/reflexsuperset 16#2287
+/registered 16#00ae
+/registersans 16#f8e8
+/registerserif 16#f6da
+/reharabic 16#0631
+/reharmenian 16#0580
+/rehfinalarabic 16#feae
+/rehiragana 16#308c
+/rekatakana 16#30ec
+/rekatakanahalfwidth 16#ff9a
+/resh 16#05e8
+/reshdageshhebrew 16#fb48
+/reshhebrew 16#05e8
+/reversedtilde 16#223d
+/reviahebrew 16#0597
+/reviamugrashhebrew 16#0597
+/revlogicalnot 16#2310
+/rfishhook 16#027e
+/rfishhookreversed 16#027f
+/rhabengali 16#09dd
+/rhadeva 16#095d
+/rho 16#03c1
+/rhook 16#027d
+/rhookturned 16#027b
+/rhookturnedsuperior 16#02b5
+/rhosymbolgreek 16#03f1
+/rhotichookmod 16#02de
+/rieulacirclekorean 16#3271
+/rieulaparenkorean 16#3211
+/rieulcirclekorean 16#3263
+/rieulhieuhkorean 16#3140
+/rieulkiyeokkorean 16#313a
+/rieulkiyeoksioskorean 16#3169
+/rieulkorean 16#3139
+/rieulmieumkorean 16#313b
+/rieulpansioskorean 16#316c
+/rieulparenkorean 16#3203
+/rieulphieuphkorean 16#313f
+/rieulpieupkorean 16#313c
+/rieulpieupsioskorean 16#316b
+/rieulsioskorean 16#313d
+/rieulthieuthkorean 16#313e
+/rieultikeutkorean 16#316a
+/rieulyeorinhieuhkorean 16#316d
+/rightangle 16#221f
+/righttackbelowcmb 16#0319
+/righttriangle 16#22bf
+/rihiragana 16#308a
+/rikatakana 16#30ea
+/rikatakanahalfwidth 16#ff98
+/ring 16#02da
+/ringbelowcmb 16#0325
+/ringcmb 16#030a
+/ringhalfleft 16#02bf
+/ringhalfleftarmenian 16#0559
+/ringhalfleftbelowcmb 16#031c
+/ringhalfleftcentered 16#02d3
+/ringhalfright 16#02be
+/ringhalfrightbelowcmb 16#0339
+/ringhalfrightcentered 16#02d2
+/rinvertedbreve 16#0213
+/rittorusquare 16#3351
+/rlinebelow 16#1e5f
+/rlongleg 16#027c
+/rlonglegturned 16#027a
+/rmonospace 16#ff52
+/rohiragana 16#308d
+/rokatakana 16#30ed
+/rokatakanahalfwidth 16#ff9b
+/roruathai 16#0e23
+/rparen 16#24ad
+/rrabengali 16#09dc
+/rradeva 16#0931
+/rragurmukhi 16#0a5c
+/rreharabic 16#0691
+/rrehfinalarabic 16#fb8d
+/rrvocalicbengali 16#09e0
+/rrvocalicdeva 16#0960
+/rrvocalicgujarati 16#0ae0
+/rrvocalicvowelsignbengali 16#09c4
+/rrvocalicvowelsigndeva 16#0944
+/rrvocalicvowelsigngujarati 16#0ac4
+/rsuperior 16#f6f1
+/rtblock 16#2590
+/rturned 16#0279
+/rturnedsuperior 16#02b4
+/ruhiragana 16#308b
+/rukatakana 16#30eb
+/rukatakanahalfwidth 16#ff99
+/rupeemarkbengali 16#09f2
+/rupeesignbengali 16#09f3
+/rupiah 16#f6dd
+/ruthai 16#0e24
+/rvocalicbengali 16#098b
+/rvocalicdeva 16#090b
+/rvocalicgujarati 16#0a8b
+/rvocalicvowelsignbengali 16#09c3
+/rvocalicvowelsigndeva 16#0943
+/rvocalicvowelsigngujarati 16#0ac3
+/s 16#0073
+/sabengali 16#09b8
+/sacute 16#015b
+/sacutedotaccent 16#1e65
+/sadarabic 16#0635
+/sadeva 16#0938
+/sadfinalarabic 16#feba
+/sadinitialarabic 16#febb
+/sadmedialarabic 16#febc
+/sagujarati 16#0ab8
+/sagurmukhi 16#0a38
+/sahiragana 16#3055
+/sakatakana 16#30b5
+/sakatakanahalfwidth 16#ff7b
+/sallallahoualayhewasallamarabic 16#fdfa
+/samekh 16#05e1
+/samekhdagesh 16#fb41
+/samekhdageshhebrew 16#fb41
+/samekhhebrew 16#05e1
+/saraaathai 16#0e32
+/saraaethai 16#0e41
+/saraaimaimalaithai 16#0e44
+/saraaimaimuanthai 16#0e43
+/saraamthai 16#0e33
+/saraathai 16#0e30
+/saraethai 16#0e40
+/saraiileftthai 16#f886
+/saraiithai 16#0e35
+/saraileftthai 16#f885
+/saraithai 16#0e34
+/saraothai 16#0e42
+/saraueeleftthai 16#f888
+/saraueethai 16#0e37
+/saraueleftthai 16#f887
+/sarauethai 16#0e36
+/sarauthai 16#0e38
+/sarauuthai 16#0e39
+/sbopomofo 16#3119
+/scaron 16#0161
+/scarondotaccent 16#1e67
+/scedilla 16#015f
+/schwa 16#0259
+/schwacyrillic 16#04d9
+/schwadieresiscyrillic 16#04db
+/schwahook 16#025a
+/scircle 16#24e2
+/scircumflex 16#015d
+/scommaaccent 16#0219
+/sdotaccent 16#1e61
+/sdotbelow 16#1e63
+/sdotbelowdotaccent 16#1e69
+/seagullbelowcmb 16#033c
+/second 16#2033
+/secondtonechinese 16#02ca
+/section 16#00a7
+/seenarabic 16#0633
+/seenfinalarabic 16#feb2
+/seeninitialarabic 16#feb3
+/seenmedialarabic 16#feb4
+/segol 16#05b6
+/segol13 16#05b6
+/segol1f 16#05b6
+/segol2c 16#05b6
+/segolhebrew 16#05b6
+/segolnarrowhebrew 16#05b6
+/segolquarterhebrew 16#05b6
+/segoltahebrew 16#0592
+/segolwidehebrew 16#05b6
+/seharmenian 16#057d
+/sehiragana 16#305b
+/sekatakana 16#30bb
+/sekatakanahalfwidth 16#ff7e
+/semicolon 16#003b
+/semicolonarabic 16#061b
+/semicolonmonospace 16#ff1b
+/semicolonsmall 16#fe54
+/semivoicedmarkkana 16#309c
+/semivoicedmarkkanahalfwidth 16#ff9f
+/sentisquare 16#3322
+/sentosquare 16#3323
+/seven 16#0037
+/sevenarabic 16#0667
+/sevenbengali 16#09ed
+/sevencircle 16#2466
+/sevencircleinversesansserif 16#2790
+/sevendeva 16#096d
+/seveneighths 16#215e
+/sevengujarati 16#0aed
+/sevengurmukhi 16#0a6d
+/sevenhackarabic 16#0667
+/sevenhangzhou 16#3027
+/sevenideographicparen 16#3226
+/seveninferior 16#2087
+/sevenmonospace 16#ff17
+/sevenoldstyle 16#f737
+/sevenparen 16#247a
+/sevenperiod 16#248e
+/sevenpersian 16#06f7
+/sevenroman 16#2176
+/sevensuperior 16#2077
+/seventeencircle 16#2470
+/seventeenparen 16#2484
+/seventeenperiod 16#2498
+/seventhai 16#0e57
+/sfthyphen 16#00ad
+/shaarmenian 16#0577
+/shabengali 16#09b6
+/shacyrillic 16#0448
+/shaddaarabic 16#0651
+/shaddadammaarabic 16#fc61
+/shaddadammatanarabic 16#fc5e
+/shaddafathaarabic 16#fc60
+/shaddakasraarabic 16#fc62
+/shaddakasratanarabic 16#fc5f
+/shade 16#2592
+/shadedark 16#2593
+/shadelight 16#2591
+/shademedium 16#2592
+/shadeva 16#0936
+/shagujarati 16#0ab6
+/shagurmukhi 16#0a36
+/shalshelethebrew 16#0593
+/shbopomofo 16#3115
+/shchacyrillic 16#0449
+/sheenarabic 16#0634
+/sheenfinalarabic 16#feb6
+/sheeninitialarabic 16#feb7
+/sheenmedialarabic 16#feb8
+/sheicoptic 16#03e3
+/sheqel 16#20aa
+/sheqelhebrew 16#20aa
+/sheva 16#05b0
+/sheva115 16#05b0
+/sheva15 16#05b0
+/sheva22 16#05b0
+/sheva2e 16#05b0
+/shevahebrew 16#05b0
+/shevanarrowhebrew 16#05b0
+/shevaquarterhebrew 16#05b0
+/shevawidehebrew 16#05b0
+/shhacyrillic 16#04bb
+/shimacoptic 16#03ed
+/shin 16#05e9
+/shindagesh 16#fb49
+/shindageshhebrew 16#fb49
+/shindageshshindot 16#fb2c
+/shindageshshindothebrew 16#fb2c
+/shindageshsindot 16#fb2d
+/shindageshsindothebrew 16#fb2d
+/shindothebrew 16#05c1
+/shinhebrew 16#05e9
+/shinshindot 16#fb2a
+/shinshindothebrew 16#fb2a
+/shinsindot 16#fb2b
+/shinsindothebrew 16#fb2b
+/shook 16#0282
+/sigma 16#03c3
+/sigma1 16#03c2
+/sigmafinal 16#03c2
+/sigmalunatesymbolgreek 16#03f2
+/sihiragana 16#3057
+/sikatakana 16#30b7
+/sikatakanahalfwidth 16#ff7c
+/siluqhebrew 16#05bd
+/siluqlefthebrew 16#05bd
+/similar 16#223c
+/sindothebrew 16#05c2
+/siosacirclekorean 16#3274
+/siosaparenkorean 16#3214
+/sioscieuckorean 16#317e
+/sioscirclekorean 16#3266
+/sioskiyeokkorean 16#317a
+/sioskorean 16#3145
+/siosnieunkorean 16#317b
+/siosparenkorean 16#3206
+/siospieupkorean 16#317d
+/siostikeutkorean 16#317c
+/six 16#0036
+/sixarabic 16#0666
+/sixbengali 16#09ec
+/sixcircle 16#2465
+/sixcircleinversesansserif 16#278f
+/sixdeva 16#096c
+/sixgujarati 16#0aec
+/sixgurmukhi 16#0a6c
+/sixhackarabic 16#0666
+/sixhangzhou 16#3026
+/sixideographicparen 16#3225
+/sixinferior 16#2086
+/sixmonospace 16#ff16
+/sixoldstyle 16#f736
+/sixparen 16#2479
+/sixperiod 16#248d
+/sixpersian 16#06f6
+/sixroman 16#2175
+/sixsuperior 16#2076
+/sixteencircle 16#246f
+/sixteencurrencydenominatorbengali 16#09f9
+/sixteenparen 16#2483
+/sixteenperiod 16#2497
+/sixthai 16#0e56
+/slash 16#002f
+/slashmonospace 16#ff0f
+/slong 16#017f
+/slongdotaccent 16#1e9b
+/smileface 16#263a
+/smonospace 16#ff53
+/sofpasuqhebrew 16#05c3
+/softhyphen 16#00ad
+/softsigncyrillic 16#044c
+/sohiragana 16#305d
+/sokatakana 16#30bd
+/sokatakanahalfwidth 16#ff7f
+/soliduslongoverlaycmb 16#0338
+/solidusshortoverlaycmb 16#0337
+/sorusithai 16#0e29
+/sosalathai 16#0e28
+/sosothai 16#0e0b
+/sosuathai 16#0e2a
+/space 16#0020
+/spacehackarabic 16#0020
+/spade 16#2660
+/spadesuitblack 16#2660
+/spadesuitwhite 16#2664
+/sparen 16#24ae
+/squarebelowcmb 16#033b
+/squarecc 16#33c4
+/squarecm 16#339d
+/squarediagonalcrosshatchfill 16#25a9
+/squarehorizontalfill 16#25a4
+/squarekg 16#338f
+/squarekm 16#339e
+/squarekmcapital 16#33ce
+/squareln 16#33d1
+/squarelog 16#33d2
+/squaremg 16#338e
+/squaremil 16#33d5
+/squaremm 16#339c
+/squaremsquared 16#33a1
+/squareorthogonalcrosshatchfill 16#25a6
+/squareupperlefttolowerrightfill 16#25a7
+/squareupperrighttolowerleftfill 16#25a8
+/squareverticalfill 16#25a5
+/squarewhitewithsmallblack 16#25a3
+/srsquare 16#33db
+/ssabengali 16#09b7
+/ssadeva 16#0937
+/ssagujarati 16#0ab7
+/ssangcieuckorean 16#3149
+/ssanghieuhkorean 16#3185
+/ssangieungkorean 16#3180
+/ssangkiyeokkorean 16#3132
+/ssangnieunkorean 16#3165
+/ssangpieupkorean 16#3143
+/ssangsioskorean 16#3146
+/ssangtikeutkorean 16#3138
+/ssuperior 16#f6f2
+/sterling 16#00a3
+/sterlingmonospace 16#ffe1
+/strokelongoverlaycmb 16#0336
+/strokeshortoverlaycmb 16#0335
+/subset 16#2282
+/subsetnotequal 16#228a
+/subsetorequal 16#2286
+/succeeds 16#227b
+/suchthat 16#220b
+/suhiragana 16#3059
+/sukatakana 16#30b9
+/sukatakanahalfwidth 16#ff7d
+/sukunarabic 16#0652
+/summation 16#2211
+/sun 16#263c
+/superset 16#2283
+/supersetnotequal 16#228b
+/supersetorequal 16#2287
+/svsquare 16#33dc
+/syouwaerasquare 16#337c
+/t 16#0074
+/tabengali 16#09a4
+/tackdown 16#22a4
+/tackleft 16#22a3
+/tadeva 16#0924
+/tagujarati 16#0aa4
+/tagurmukhi 16#0a24
+/taharabic 16#0637
+/tahfinalarabic 16#fec2
+/tahinitialarabic 16#fec3
+/tahiragana 16#305f
+/tahmedialarabic 16#fec4
+/taisyouerasquare 16#337d
+/takatakana 16#30bf
+/takatakanahalfwidth 16#ff80
+/tatweelarabic 16#0640
+/tau 16#03c4
+/tav 16#05ea
+/tavdages 16#fb4a
+/tavdagesh 16#fb4a
+/tavdageshhebrew 16#fb4a
+/tavhebrew 16#05ea
+/tbar 16#0167
+/tbopomofo 16#310a
+/tcaron 16#0165
+/tccurl 16#02a8
+/tcedilla 16#0163
+/tcheharabic 16#0686
+/tchehfinalarabic 16#fb7b
+/tchehinitialarabic 16#fb7c
+/tchehmedialarabic 16#fb7d
+/tcircle 16#24e3
+/tcircumflexbelow 16#1e71
+/tcommaaccent 16#0163
+/tdieresis 16#1e97
+/tdotaccent 16#1e6b
+/tdotbelow 16#1e6d
+/tecyrillic 16#0442
+/tedescendercyrillic 16#04ad
+/teharabic 16#062a
+/tehfinalarabic 16#fe96
+/tehhahinitialarabic 16#fca2
+/tehhahisolatedarabic 16#fc0c
+/tehinitialarabic 16#fe97
+/tehiragana 16#3066
+/tehjeeminitialarabic 16#fca1
+/tehjeemisolatedarabic 16#fc0b
+/tehmarbutaarabic 16#0629
+/tehmarbutafinalarabic 16#fe94
+/tehmedialarabic 16#fe98
+/tehmeeminitialarabic 16#fca4
+/tehmeemisolatedarabic 16#fc0e
+/tehnoonfinalarabic 16#fc73
+/tekatakana 16#30c6
+/tekatakanahalfwidth 16#ff83
+/telephone 16#2121
+/telephoneblack 16#260e
+/telishagedolahebrew 16#05a0
+/telishaqetanahebrew 16#05a9
+/tencircle 16#2469
+/tenideographicparen 16#3229
+/tenparen 16#247d
+/tenperiod 16#2491
+/tenroman 16#2179
+/tesh 16#02a7
+/tet 16#05d8
+/tetdagesh 16#fb38
+/tetdageshhebrew 16#fb38
+/tethebrew 16#05d8
+/tetsecyrillic 16#04b5
+/tevirhebrew 16#059b
+/tevirlefthebrew 16#059b
+/thabengali 16#09a5
+/thadeva 16#0925
+/thagujarati 16#0aa5
+/thagurmukhi 16#0a25
+/thalarabic 16#0630
+/thalfinalarabic 16#feac
+/thanthakhatlowleftthai 16#f898
+/thanthakhatlowrightthai 16#f897
+/thanthakhatthai 16#0e4c
+/thanthakhatupperleftthai 16#f896
+/theharabic 16#062b
+/thehfinalarabic 16#fe9a
+/thehinitialarabic 16#fe9b
+/thehmedialarabic 16#fe9c
+/thereexists 16#2203
+/therefore 16#2234
+/theta 16#03b8
+/theta1 16#03d1
+/thetasymbolgreek 16#03d1
+/thieuthacirclekorean 16#3279
+/thieuthaparenkorean 16#3219
+/thieuthcirclekorean 16#326b
+/thieuthkorean 16#314c
+/thieuthparenkorean 16#320b
+/thirteencircle 16#246c
+/thirteenparen 16#2480
+/thirteenperiod 16#2494
+/thonangmonthothai 16#0e11
+/thook 16#01ad
+/thophuthaothai 16#0e12
+/thorn 16#00fe
+/thothahanthai 16#0e17
+/thothanthai 16#0e10
+/thothongthai 16#0e18
+/thothungthai 16#0e16
+/thousandcyrillic 16#0482
+/thousandsseparatorarabic 16#066c
+/thousandsseparatorpersian 16#066c
+/three 16#0033
+/threearabic 16#0663
+/threebengali 16#09e9
+/threecircle 16#2462
+/threecircleinversesansserif 16#278c
+/threedeva 16#0969
+/threeeighths 16#215c
+/threegujarati 16#0ae9
+/threegurmukhi 16#0a69
+/threehackarabic 16#0663
+/threehangzhou 16#3023
+/threeideographicparen 16#3222
+/threeinferior 16#2083
+/threemonospace 16#ff13
+/threenumeratorbengali 16#09f6
+/threeoldstyle 16#f733
+/threeparen 16#2476
+/threeperiod 16#248a
+/threepersian 16#06f3
+/threequarters 16#00be
+/threequartersemdash 16#f6de
+/threeroman 16#2172
+/threesuperior 16#00b3
+/threethai 16#0e53
+/thzsquare 16#3394
+/tihiragana 16#3061
+/tikatakana 16#30c1
+/tikatakanahalfwidth 16#ff81
+/tikeutacirclekorean 16#3270
+/tikeutaparenkorean 16#3210
+/tikeutcirclekorean 16#3262
+/tikeutkorean 16#3137
+/tikeutparenkorean 16#3202
+/tilde 16#02dc
+/tildebelowcmb 16#0330
+/tildecmb 16#0303
+/tildecomb 16#0303
+/tildedoublecmb 16#0360
+/tildeoperator 16#223c
+/tildeoverlaycmb 16#0334
+/tildeverticalcmb 16#033e
+/timescircle 16#2297
+/tipehahebrew 16#0596
+/tipehalefthebrew 16#0596
+/tippigurmukhi 16#0a70
+/titlocyrilliccmb 16#0483
+/tiwnarmenian 16#057f
+/tlinebelow 16#1e6f
+/tmonospace 16#ff54
+/toarmenian 16#0569
+/tohiragana 16#3068
+/tokatakana 16#30c8
+/tokatakanahalfwidth 16#ff84
+/tonebarextrahighmod 16#02e5
+/tonebarextralowmod 16#02e9
+/tonebarhighmod 16#02e6
+/tonebarlowmod 16#02e8
+/tonebarmidmod 16#02e7
+/tonefive 16#01bd
+/tonesix 16#0185
+/tonetwo 16#01a8
+/tonos 16#0384
+/tonsquare 16#3327
+/topatakthai 16#0e0f
+/tortoiseshellbracketleft 16#3014
+/tortoiseshellbracketleftsmall 16#fe5d
+/tortoiseshellbracketleftvertical 16#fe39
+/tortoiseshellbracketright 16#3015
+/tortoiseshellbracketrightsmall 16#fe5e
+/tortoiseshellbracketrightvertical 16#fe3a
+/totaothai 16#0e15
+/tpalatalhook 16#01ab
+/tparen 16#24af
+/trademark 16#2122
+/trademarksans 16#f8ea
+/trademarkserif 16#f6db
+/tretroflexhook 16#0288
+/triagdn 16#25bc
+/triaglf 16#25c4
+/triagrt 16#25ba
+/triagup 16#25b2
+/ts 16#02a6
+/tsadi 16#05e6
+/tsadidagesh 16#fb46
+/tsadidageshhebrew 16#fb46
+/tsadihebrew 16#05e6
+/tsecyrillic 16#0446
+/tsere 16#05b5
+/tsere12 16#05b5
+/tsere1e 16#05b5
+/tsere2b 16#05b5
+/tserehebrew 16#05b5
+/tserenarrowhebrew 16#05b5
+/tserequarterhebrew 16#05b5
+/tserewidehebrew 16#05b5
+/tshecyrillic 16#045b
+/tsuperior 16#f6f3
+/ttabengali 16#099f
+/ttadeva 16#091f
+/ttagujarati 16#0a9f
+/ttagurmukhi 16#0a1f
+/tteharabic 16#0679
+/ttehfinalarabic 16#fb67
+/ttehinitialarabic 16#fb68
+/ttehmedialarabic 16#fb69
+/tthabengali 16#09a0
+/tthadeva 16#0920
+/tthagujarati 16#0aa0
+/tthagurmukhi 16#0a20
+/tturned 16#0287
+/tuhiragana 16#3064
+/tukatakana 16#30c4
+/tukatakanahalfwidth 16#ff82
+/tusmallhiragana 16#3063
+/tusmallkatakana 16#30c3
+/tusmallkatakanahalfwidth 16#ff6f
+/twelvecircle 16#246b
+/twelveparen 16#247f
+/twelveperiod 16#2493
+/twelveroman 16#217b
+/twentycircle 16#2473
+/twentyhangzhou 16#5344
+/twentyparen 16#2487
+/twentyperiod 16#249b
+/two 16#0032
+/twoarabic 16#0662
+/twobengali 16#09e8
+/twocircle 16#2461
+/twocircleinversesansserif 16#278b
+/twodeva 16#0968
+/twodotenleader 16#2025
+/twodotleader 16#2025
+/twodotleadervertical 16#fe30
+/twogujarati 16#0ae8
+/twogurmukhi 16#0a68
+/twohackarabic 16#0662
+/twohangzhou 16#3022
+/twoideographicparen 16#3221
+/twoinferior 16#2082
+/twomonospace 16#ff12
+/twonumeratorbengali 16#09f5
+/twooldstyle 16#f732
+/twoparen 16#2475
+/twoperiod 16#2489
+/twopersian 16#06f2
+/tworoman 16#2171
+/twostroke 16#01bb
+/twosuperior 16#00b2
+/twothai 16#0e52
+/twothirds 16#2154
+/u 16#0075
+/uacute 16#00fa
+/ubar 16#0289
+/ubengali 16#0989
+/ubopomofo 16#3128
+/ubreve 16#016d
+/ucaron 16#01d4
+/ucircle 16#24e4
+/ucircumflex 16#00fb
+/ucircumflexbelow 16#1e77
+/ucyrillic 16#0443
+/udattadeva 16#0951
+/udblacute 16#0171
+/udblgrave 16#0215
+/udeva 16#0909
+/udieresis 16#00fc
+/udieresisacute 16#01d8
+/udieresisbelow 16#1e73
+/udieresiscaron 16#01da
+/udieresiscyrillic 16#04f1
+/udieresisgrave 16#01dc
+/udieresismacron 16#01d6
+/udotbelow 16#1ee5
+/ugrave 16#00f9
+/ugujarati 16#0a89
+/ugurmukhi 16#0a09
+/uhiragana 16#3046
+/uhookabove 16#1ee7
+/uhorn 16#01b0
+/uhornacute 16#1ee9
+/uhorndotbelow 16#1ef1
+/uhorngrave 16#1eeb
+/uhornhookabove 16#1eed
+/uhorntilde 16#1eef
+/uhungarumlaut 16#0171
+/uhungarumlautcyrillic 16#04f3
+/uinvertedbreve 16#0217
+/ukatakana 16#30a6
+/ukatakanahalfwidth 16#ff73
+/ukcyrillic 16#0479
+/ukorean 16#315c
+/umacron 16#016b
+/umacroncyrillic 16#04ef
+/umacrondieresis 16#1e7b
+/umatragurmukhi 16#0a41
+/umonospace 16#ff55
+/underscore 16#005f
+/underscoredbl 16#2017
+/underscoremonospace 16#ff3f
+/underscorevertical 16#fe33
+/underscorewavy 16#fe4f
+/union 16#222a
+/universal 16#2200
+/uogonek 16#0173
+/uparen 16#24b0
+/upblock 16#2580
+/upperdothebrew 16#05c4
+/upsilon 16#03c5
+/upsilondieresis 16#03cb
+/upsilondieresistonos 16#03b0
+/upsilonlatin 16#028a
+/upsilontonos 16#03cd
+/uptackbelowcmb 16#031d
+/uptackmod 16#02d4
+/uragurmukhi 16#0a73
+/uring 16#016f
+/ushortcyrillic 16#045e
+/usmallhiragana 16#3045
+/usmallkatakana 16#30a5
+/usmallkatakanahalfwidth 16#ff69
+/ustraightcyrillic 16#04af
+/ustraightstrokecyrillic 16#04b1
+/utilde 16#0169
+/utildeacute 16#1e79
+/utildebelow 16#1e75
+/uubengali 16#098a
+/uudeva 16#090a
+/uugujarati 16#0a8a
+/uugurmukhi 16#0a0a
+/uumatragurmukhi 16#0a42
+/uuvowelsignbengali 16#09c2
+/uuvowelsigndeva 16#0942
+/uuvowelsigngujarati 16#0ac2
+/uvowelsignbengali 16#09c1
+/uvowelsigndeva 16#0941
+/uvowelsigngujarati 16#0ac1
+/v 16#0076
+/vadeva 16#0935
+/vagujarati 16#0ab5
+/vagurmukhi 16#0a35
+/vakatakana 16#30f7
+/vav 16#05d5
+/vavdagesh 16#fb35
+/vavdagesh65 16#fb35
+/vavdageshhebrew 16#fb35
+/vavhebrew 16#05d5
+/vavholam 16#fb4b
+/vavholamhebrew 16#fb4b
+/vavvavhebrew 16#05f0
+/vavyodhebrew 16#05f1
+/vcircle 16#24e5
+/vdotbelow 16#1e7f
+/vecyrillic 16#0432
+/veharabic 16#06a4
+/vehfinalarabic 16#fb6b
+/vehinitialarabic 16#fb6c
+/vehmedialarabic 16#fb6d
+/vekatakana 16#30f9
+/venus 16#2640
+/verticalbar 16#007c
+/verticallineabovecmb 16#030d
+/verticallinebelowcmb 16#0329
+/verticallinelowmod 16#02cc
+/verticallinemod 16#02c8
+/vewarmenian 16#057e
+/vhook 16#028b
+/vikatakana 16#30f8
+/viramabengali 16#09cd
+/viramadeva 16#094d
+/viramagujarati 16#0acd
+/visargabengali 16#0983
+/visargadeva 16#0903
+/visargagujarati 16#0a83
+/vmonospace 16#ff56
+/voarmenian 16#0578
+/voicediterationhiragana 16#309e
+/voicediterationkatakana 16#30fe
+/voicedmarkkana 16#309b
+/voicedmarkkanahalfwidth 16#ff9e
+/vokatakana 16#30fa
+/vparen 16#24b1
+/vtilde 16#1e7d
+/vturned 16#028c
+/vuhiragana 16#3094
+/vukatakana 16#30f4
+/w 16#0077
+/wacute 16#1e83
+/waekorean 16#3159
+/wahiragana 16#308f
+/wakatakana 16#30ef
+/wakatakanahalfwidth 16#ff9c
+/wakorean 16#3158
+/wasmallhiragana 16#308e
+/wasmallkatakana 16#30ee
+/wattosquare 16#3357
+/wavedash 16#301c
+/wavyunderscorevertical 16#fe34
+/wawarabic 16#0648
+/wawfinalarabic 16#feee
+/wawhamzaabovearabic 16#0624
+/wawhamzaabovefinalarabic 16#fe86
+/wbsquare 16#33dd
+/wcircle 16#24e6
+/wcircumflex 16#0175
+/wdieresis 16#1e85
+/wdotaccent 16#1e87
+/wdotbelow 16#1e89
+/wehiragana 16#3091
+/weierstrass 16#2118
+/wekatakana 16#30f1
+/wekorean 16#315e
+/weokorean 16#315d
+/wgrave 16#1e81
+/whitebullet 16#25e6
+/whitecircle 16#25cb
+/whitecircleinverse 16#25d9
+/whitecornerbracketleft 16#300e
+/whitecornerbracketleftvertical 16#fe43
+/whitecornerbracketright 16#300f
+/whitecornerbracketrightvertical 16#fe44
+/whitediamond 16#25c7
+/whitediamondcontainingblacksmalldiamond 16#25c8
+/whitedownpointingsmalltriangle 16#25bf
+/whitedownpointingtriangle 16#25bd
+/whiteleftpointingsmalltriangle 16#25c3
+/whiteleftpointingtriangle 16#25c1
+/whitelenticularbracketleft 16#3016
+/whitelenticularbracketright 16#3017
+/whiterightpointingsmalltriangle 16#25b9
+/whiterightpointingtriangle 16#25b7
+/whitesmallsquare 16#25ab
+/whitesmilingface 16#263a
+/whitesquare 16#25a1
+/whitestar 16#2606
+/whitetelephone 16#260f
+/whitetortoiseshellbracketleft 16#3018
+/whitetortoiseshellbracketright 16#3019
+/whiteuppointingsmalltriangle 16#25b5
+/whiteuppointingtriangle 16#25b3
+/wihiragana 16#3090
+/wikatakana 16#30f0
+/wikorean 16#315f
+/wmonospace 16#ff57
+/wohiragana 16#3092
+/wokatakana 16#30f2
+/wokatakanahalfwidth 16#ff66
+/won 16#20a9
+/wonmonospace 16#ffe6
+/wowaenthai 16#0e27
+/wparen 16#24b2
+/wring 16#1e98
+/wsuperior 16#02b7
+/wturned 16#028d
+/wynn 16#01bf
+/x 16#0078
+/xabovecmb 16#033d
+/xbopomofo 16#3112
+/xcircle 16#24e7
+/xdieresis 16#1e8d
+/xdotaccent 16#1e8b
+/xeharmenian 16#056d
+/xi 16#03be
+/xmonospace 16#ff58
+/xparen 16#24b3
+/xsuperior 16#02e3
+/y 16#0079
+/yaadosquare 16#334e
+/yabengali 16#09af
+/yacute 16#00fd
+/yadeva 16#092f
+/yaekorean 16#3152
+/yagujarati 16#0aaf
+/yagurmukhi 16#0a2f
+/yahiragana 16#3084
+/yakatakana 16#30e4
+/yakatakanahalfwidth 16#ff94
+/yakorean 16#3151
+/yamakkanthai 16#0e4e
+/yasmallhiragana 16#3083
+/yasmallkatakana 16#30e3
+/yasmallkatakanahalfwidth 16#ff6c
+/yatcyrillic 16#0463
+/ycircle 16#24e8
+/ycircumflex 16#0177
+/ydieresis 16#00ff
+/ydotaccent 16#1e8f
+/ydotbelow 16#1ef5
+/yeharabic 16#064a
+/yehbarreearabic 16#06d2
+/yehbarreefinalarabic 16#fbaf
+/yehfinalarabic 16#fef2
+/yehhamzaabovearabic 16#0626
+/yehhamzaabovefinalarabic 16#fe8a
+/yehhamzaaboveinitialarabic 16#fe8b
+/yehhamzaabovemedialarabic 16#fe8c
+/yehinitialarabic 16#fef3
+/yehmedialarabic 16#fef4
+/yehmeeminitialarabic 16#fcdd
+/yehmeemisolatedarabic 16#fc58
+/yehnoonfinalarabic 16#fc94
+/yehthreedotsbelowarabic 16#06d1
+/yekorean 16#3156
+/yen 16#00a5
+/yenmonospace 16#ffe5
+/yeokorean 16#3155
+/yeorinhieuhkorean 16#3186
+/yerahbenyomohebrew 16#05aa
+/yerahbenyomolefthebrew 16#05aa
+/yericyrillic 16#044b
+/yerudieresiscyrillic 16#04f9
+/yesieungkorean 16#3181
+/yesieungpansioskorean 16#3183
+/yesieungsioskorean 16#3182
+/yetivhebrew 16#059a
+/ygrave 16#1ef3
+/yhook 16#01b4
+/yhookabove 16#1ef7
+/yiarmenian 16#0575
+/yicyrillic 16#0457
+/yikorean 16#3162
+/yinyang 16#262f
+/yiwnarmenian 16#0582
+/ymonospace 16#ff59
+/yod 16#05d9
+/yoddagesh 16#fb39
+/yoddageshhebrew 16#fb39
+/yodhebrew 16#05d9
+/yodyodhebrew 16#05f2
+/yodyodpatahhebrew 16#fb1f
+/yohiragana 16#3088
+/yoikorean 16#3189
+/yokatakana 16#30e8
+/yokatakanahalfwidth 16#ff96
+/yokorean 16#315b
+/yosmallhiragana 16#3087
+/yosmallkatakana 16#30e7
+/yosmallkatakanahalfwidth 16#ff6e
+/yotgreek 16#03f3
+/yoyaekorean 16#3188
+/yoyakorean 16#3187
+/yoyakthai 16#0e22
+/yoyingthai 16#0e0d
+/yparen 16#24b4
+/ypogegrammeni 16#037a
+/ypogegrammenigreekcmb 16#0345
+/yr 16#01a6
+/yring 16#1e99
+/ysuperior 16#02b8
+/ytilde 16#1ef9
+/yturned 16#028e
+/yuhiragana 16#3086
+/yuikorean 16#318c
+/yukatakana 16#30e6
+/yukatakanahalfwidth 16#ff95
+/yukorean 16#3160
+/yusbigcyrillic 16#046b
+/yusbigiotifiedcyrillic 16#046d
+/yuslittlecyrillic 16#0467
+/yuslittleiotifiedcyrillic 16#0469
+/yusmallhiragana 16#3085
+/yusmallkatakana 16#30e5
+/yusmallkatakanahalfwidth 16#ff6d
+/yuyekorean 16#318b
+/yuyeokorean 16#318a
+/yyabengali 16#09df
+/yyadeva 16#095f
+/z 16#007a
+/zaarmenian 16#0566
+/zacute 16#017a
+/zadeva 16#095b
+/zagurmukhi 16#0a5b
+/zaharabic 16#0638
+/zahfinalarabic 16#fec6
+/zahinitialarabic 16#fec7
+/zahiragana 16#3056
+/zahmedialarabic 16#fec8
+/zainarabic 16#0632
+/zainfinalarabic 16#feb0
+/zakatakana 16#30b6
+/zaqefgadolhebrew 16#0595
+/zaqefqatanhebrew 16#0594
+/zarqahebrew 16#0598
+/zayin 16#05d6
+/zayindagesh 16#fb36
+/zayindageshhebrew 16#fb36
+/zayinhebrew 16#05d6
+/zbopomofo 16#3117
+/zcaron 16#017e
+/zcircle 16#24e9
+/zcircumflex 16#1e91
+/zcurl 16#0291
+/zdot 16#017c
+/zdotaccent 16#017c
+/zdotbelow 16#1e93
+/zecyrillic 16#0437
+/zedescendercyrillic 16#0499
+/zedieresiscyrillic 16#04df
+/zehiragana 16#305c
+/zekatakana 16#30bc
+/zero 16#0030
+/zeroarabic 16#0660
+/zerobengali 16#09e6
+/zerodeva 16#0966
+/zerogujarati 16#0ae6
+/zerogurmukhi 16#0a66
+/zerohackarabic 16#0660
+/zeroinferior 16#2080
+/zeromonospace 16#ff10
+/zerooldstyle 16#f730
+/zeropersian 16#06f0
+/zerosuperior 16#2070
+/zerothai 16#0e50
+/zerowidthjoiner 16#feff
+/zerowidthnonjoiner 16#200c
+/zerowidthspace 16#200b
+/zeta 16#03b6
+/zhbopomofo 16#3113
+/zhearmenian 16#056a
+/zhebrevecyrillic 16#04c2
+/zhecyrillic 16#0436
+/zhedescendercyrillic 16#0497
+/zhedieresiscyrillic 16#04dd
+/zihiragana 16#3058
+/zikatakana 16#30b8
+/zinorhebrew 16#05ae
+/zlinebelow 16#1e95
+/zmonospace 16#ff5a
+/zohiragana 16#305e
+/zokatakana 16#30be
+/zparen 16#24b5
+/zretroflexhook 16#0290
+/zstroke 16#01b6
+/zuhiragana 16#305a
+/zukatakana 16#30ba
+.dicttomark readonly def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding .findencoding
+/MacGlyphEncoding
+/.notdef/.null/CR
+4 index 32 95 getinterval aload pop
+99 index 128 45 getinterval aload pop
+/notequal/AE
+/Oslash/infinity/plusminus/lessequal/greaterequal
+/yen/mu1/partialdiff/summation/product
+/pi/integral/ordfeminine/ordmasculine/Ohm
+/ae/oslash/questiondown/exclamdown/logicalnot
+/radical/florin/approxequal/increment/guillemotleft
+/guillemotright/ellipsis/nbspace
+174 index 203 12 getinterval aload pop
+/lozenge
+187 index 216 24 getinterval aload pop
+/applelogo
+212 index 241 7 getinterval aload pop
+/overscore
+220 index 249 7 getinterval aload pop
+/Lslash/lslash/Scaron/scaron
+/Zcaron/zcaron/brokenbar/Eth/eth
+/Yacute/yacute/Thorn/thorn/minus
+/multiply/onesuperior/twosuperior/threesuperior/onehalf
+/onequarter/threequarters/franc/Gbreve/gbreve
+/Idotaccent/Scedilla/scedilla/Cacute/cacute
+/Ccaron/ccaron/dmacron
+260 -1 roll pop
+258 packedarray
+7 1 index .registerencoding
+.defineencoding
+exec
+
+%%BeginResource: file (PDF object obj_1)
+1 0 obj
+<<>>endobj
+%%EndResource
+%%EndProlog
+%begin_xml_code
+/pdfmark where {pop true} {false} ifelse
+/currentdistillerparams where {pop currentdistillerparams
+/CoreDistVersion get 5000 ge } {false} ifelse
+and not {userdict /pdfmark /cleartomark load put} if
+[/NamespacePush pdfmark
+[/_objdef {exiftool_metadata_stream} /type /stream /OBJ pdfmark
+[{exiftool_metadata_stream} 2 dict begin /Type /Metadata def
+ /Subtype /XML def currentdict end /PUT pdfmark
+/MetadataString 2943 string def % exact length of metadata
+/TempString 100 string def
+/ConsumeMetadata {
+currentfile TempString readline pop pop
+currentfile MetadataString readstring pop pop
+} bind def
+ConsumeMetadata
+%begin_xml_packet: 2943
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+
+ <rdf:Description rdf:about=''
+ xmlns:dc='http://purl.org/dc/elements/1.1/'>
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li>Zamzar</rdf:li>
+ </rdf:Seq>
+ </dc:creator>
+ </rdf:Description>
+
+ <rdf:Description rdf:about=''
+ xmlns:pdf='http://ns.adobe.com/pdf/1.3/'>
+ <pdf:Producer>Zamzar</pdf:Producer>
+ </rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end='w'?>
+%end_xml_packet
+[{exiftool_metadata_stream} MetadataString /PUT pdfmark
+[/Document 1 dict begin
+ /Metadata {exiftool_metadata_stream} def currentdict end /BDC pdfmark
+[/NamespacePop pdfmark
+%end_xml_code
+%%Page: 1 1
+%%BeginPageSetup
+4 0 obj
+<</Type/Page/MediaBox [0 0 256 256]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+%%EndPageSetup
+/pagesave save def
+5 0 obj
+<</Length 2539>>stream
+q 0.1 0 0 0.1 0 0 cm
+0.462646 0.290283 0.736328 RG
+0.462646 0.290283 0.736328 rg
+600 2560 m
+1960 2560 l
+2291.37 2560 2560 2291.37 2560 1960 c
+2560 600 l
+2560 268.629 2291.37 0 1960 0 c
+600 0 l
+268.629 0 0 268.629 0 600 c
+0 1960 l
+0 2291.37 268.629 2560 600 2560 c
+h
+600 2560 m
+f
+1 1 1 RG
+1 1 1 rg
+1665.78 904.02 m
+1739.61 911.641 1795.59 975.27 1793.05 1051.64 c
+1790.51 1127.97 1726.88 1189.06 1650.51 1189.06 c
+1645.43 1189.06 l
+1566.52 1186.52 1505.47 1120.35 1508.01 1041.45 c
+1510.55 1003.28 1525.82 970.199 1548.71 947.27 c
+1462.19 776.762 1329.84 652.031 1131.33 547.699 c
+996.449 476.449 856.449 450.98 716.48 468.789 c
+601.949 484.059 512.852 534.961 456.879 618.949 c
+375.43 743.672 367.809 878.551 436.52 1013.44 c
+484.879 1110.16 561.211 1181.45 609.57 1217.07 c
+599.41 1250.16 584.141 1306.13 576.48 1346.87 c
+207.461 1079.61 245.629 718.199 357.621 547.699 c
+441.602 420.469 612.109 341.559 800.469 341.559 c
+851.371 341.559 902.27 346.641 953.16 359.371 c
+1278.95 423.012 1525.82 616.41 1665.78 904.02 c
+h
+1665.78 904.02 m
+f
+2113.71 1219.61 m
+1920.31 1446.13 1635.23 1570.82 1309.49 1570.82 c
+1268.75 1570.82 l
+1245.86 1616.64 1197.5 1647.19 1144.06 1647.19 c
+1138.95 1647.19 l
+1060.08 1644.65 998.98 1578.48 1001.52 1499.57 c
+1004.06 1423.2 1067.7 1362.15 1144.06 1362.15 c
+1149.14 1362.15 l
+1205.12 1364.69 1253.48 1400.31 1273.87 1448.67 c
+1319.65 1448.67 l
+1513.09 1448.67 1696.33 1392.66 1861.76 1283.24 c
+1989.02 1199.26 2080.63 1089.8 2131.52 957.461 c
+2174.8 850.59 2172.27 746.211 2126.45 657.148 c
+2055.2 522.27 1935.59 448.441 1777.77 448.441 c
+1675.98 448.441 1579.26 478.98 1528.36 501.871 c
+1500.35 476.449 1449.45 435.699 1413.83 410.27 c
+1523.24 359.371 1635.23 331.371 1742.15 331.371 c
+1986.48 331.371 2167.19 466.25 2235.9 601.129 c
+2309.69 748.75 2304.61 1003.28 2113.71 1219.61 c
+h
+2113.71 1219.61 m
+f
+820.82 860.738 m
+823.359 784.371 886.988 723.32 963.359 723.32 c
+968.441 723.32 l
+1047.34 725.859 1108.44 792.031 1105.86 870.941 c
+1103.32 947.27 1039.69 1008.36 963.359 1008.36 c
+958.238 1008.36 l
+953.16 1008.36 945.551 1008.36 940.43 1005.82 c
+836.09 1178.87 792.809 1367.23 808.09 1570.82 c
+818.281 1723.52 869.18 1855.86 958.238 1965.31 c
+1032.07 2059.49 1174.61 2105.27 1271.29 2107.85 c
+1541.09 2112.93 1655.63 1776.99 1663.24 1642.07 c
+1696.33 1634.45 1752.3 1616.64 1790.51 1603.91 c
+1759.96 2016.21 1505.47 2230 1261.13 2230 c
+1032.07 2230 820.82 2064.57 736.84 1820.23 c
+619.77 1494.45 696.09 1181.45 838.629 934.531 c
+825.898 916.762 818.281 888.75 820.82 860.738 c
+h
+820.82 860.738 m
+f
+Q
+
+endstream
+endobj
+pagesave restore
+%%PageTrailer
+%%Trailer
+end
+[/EMC pdfmark
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..6be7bab239
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark.eps
new file mode 100644
index 0000000000..cb9be684b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..10e2251952
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light.eps
new file mode 100644
index 0000000000..00f3860754
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..1198fa444d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark.eps
new file mode 100644
index 0000000000..d04ee78f62
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9851e833af
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light-eps-converted-to.pdf
@@ -0,0 +1,103 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+6 0 obj
+<</Length 7 0 R/Filter /FlateDecode>>
+stream
+xU10
+)%RI|?CYR p0!E?2dk_niXL =|M8Pη$օ/K눰K]6/](Cu%-wdKz{4}M(E*ҖU> AudBe µ
+9a%iz2D-Th-J_:ϵT0%4M9k{!pm!蝉]%:p@)<dyzFy 11c1b*y_t8 }̃/+s>X`h"[2$}biNc9WȎj1"*Le(F(Ė
+nn["ӰT맏>SGDNe
+4s{sGM15sd''
+^DN`cЊ;Ǘ'<&GTu%,z4ޞ~+1ȿS_N˗iDMendstream
+endobj
+7 0 obj
+525
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Group 5 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 10 0 R
+>>
+/Contents 6 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 11 0 R
+>>
+endobj
+8 0 obj
+<</Type/ExtGState
+/AIS false
+/CA 0.8
+/ca 0.8>>endobj
+9 0 obj
+<</Type/ExtGState
+/AIS false
+/CA 1
+/ca 1>>endobj
+10 0 obj
+<</R9
+9 0 R/R8
+8 0 R>>
+endobj
+5 0 obj
+<</Type/Group
+/S/Transparency
+/I true
+/CS/DeviceRGB>>endobj
+11 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:10+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:10+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:d82b8879-143f-11ef-0000-824f239479ae'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132310+02'00')
+/ModDate(D:20240514132310+02'00')>>endobj
+xref
+0 12
+0000000000 65535 f
+0000001103 00000 n
+0000002652 00000 n
+0000001044 00000 n
+0000000899 00000 n
+0000001325 00000 n
+0000000285 00000 n
+0000000880 00000 n
+0000001168 00000 n
+0000001229 00000 n
+0000001286 00000 n
+0000001393 00000 n
+trailer
+<< /Size 12 /Root 1 0 R /Info 2 0 R
+/ID [<6904C338649981BA2BA7384F0A7B9916><6904C338649981BA2BA7384F0A7B9916>]
+>>
+startxref
+2777
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light.eps
new file mode 100644
index 0000000000..619cc276d9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c0c9e67e4e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark.eps
new file mode 100644
index 0000000000..12b1a64a90
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e052b17ec3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light-eps-converted-to.pdf
@@ -0,0 +1,73 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x]QKn0>e|RyI)q`&?1'Y?;4"ptjPSE׫Ntêp.yxiiW(Em/>xS z>t:U"T{ˠ"SGi\,dbeHLctg`l|),g0
+S=HlOǭpܺP&*BI9$J3iv{~ ڹ/"q! Czz9j7pKp?[x(sP<\+^g[vzpendstream
+endobj
+6 0 obj
+312
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:12+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:12+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:d95cb579-143f-11ef-0000-07f1bd75a8c2'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132312+02'00')
+/ModDate(D:20240514132312+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000859 00000 n
+0000002181 00000 n
+0000000800 00000 n
+0000000686 00000 n
+0000000285 00000 n
+0000000667 00000 n
+0000000923 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<032D6EA97672D059971706A8DAA8F695><032D6EA97672D059971706A8DAA8F695>]
+>>
+startxref
+2306
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light.eps
new file mode 100644
index 0000000000..8688da89d1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..85124d3585
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark.eps
new file mode 100644
index 0000000000..146e5a6e4f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..633ac51f5b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light.eps
new file mode 100644
index 0000000000..cc49fb19a4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio-eps-converted-to.pdf
new file mode 100644
index 0000000000..c47e6d833b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio.eps
new file mode 100644
index 0000000000..64eae2e58b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket-eps-converted-to.pdf
new file mode 100644
index 0000000000..e88a0ebccf
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket.eps
new file mode 100644
index 0000000000..efdbdfd9e4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8e74542e52
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark.eps
new file mode 100644
index 0000000000..254aab2f4b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..15cd69d915
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light.eps
new file mode 100644
index 0000000000..61f272d408
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby-eps-converted-to.pdf
new file mode 100644
index 0000000000..bc4e866f12
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby.eps
new file mode 100644
index 0000000000..b1c76e5190
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust-eps-converted-to.pdf
new file mode 100644
index 0000000000..8a7ca66df0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust.eps
new file mode 100644
index 0000000000..81abbc04e9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Rust.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite-eps-converted-to.pdf
new file mode 100644
index 0000000000..812cf45e26
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite.eps
new file mode 100644
index 0000000000..8edefa1d65
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..367fe80a7e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark.eps
new file mode 100644
index 0000000000..9808dd6367
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..e53da490b0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light.eps
new file mode 100644
index 0000000000..90b34d9425
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass-eps-converted-to.pdf
new file mode 100644
index 0000000000..b8db8d26bb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass.eps
new file mode 100644
index 0000000000..67d1d85b82
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sass.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a7cc8bf70f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark.eps
new file mode 100644
index 0000000000..c0849e30e4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..48a4981bfd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light.eps
new file mode 100644
index 0000000000..1e06e87080
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..ff42a6e3fd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light.eps
new file mode 100644
index 0000000000..71a983ea4d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..11a592ab88
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark.eps
new file mode 100644
index 0000000000..7c9d5f2699
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium-eps-converted-to.pdf
new file mode 100644
index 0000000000..09a606c34b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium.eps
new file mode 100644
index 0000000000..17c168a9e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry-eps-converted-to.pdf
new file mode 100644
index 0000000000..d0e37bf39b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry.eps
new file mode 100644
index 0000000000..0847a1b81a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..edb3c34c03
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark.eps
new file mode 100644
index 0000000000..bdeac78a3a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9863d72cd3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light.eps
new file mode 100644
index 0000000000..b0773c0d23
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a9c033ea4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMRAn!
+^xF߰RR5Ґǎ3S|xgm9
+U[V_7~F@l$dxPہKdv]P=?3oПP}pXڃ6+
+I|gȬ{1ł@|t9HDgQdwM$|>o-*WȰ&bKcȴ#֚pSֆ419u. ,!jy+F-2ar[&L<j,d2udV;*ӧse_>Gendstream
+endobj
+6 0 obj
+333
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:31+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:31+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:e4afe0fa-143f-11ef-0000-943a03af1aa4'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132331+02'00')
+/ModDate(D:20240514132331+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000880 00000 n
+0000002202 00000 n
+0000000821 00000 n
+0000000707 00000 n
+0000000285 00000 n
+0000000688 00000 n
+0000000944 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<95A3CDDFCA291158EDFD842156423CCB><95A3CDDFCA291158EDFD842156423CCB>]
+>>
+startxref
+2327
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark.eps
new file mode 100644
index 0000000000..c3cd4a3b19
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..856b6dbabe
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light-eps-converted-to.pdf
@@ -0,0 +1,76 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMRKnC1>2 gv,/:؎TE<AGj|LY_MmtNXA&=˙4nSGu1<O)@+d
+vՈ^P=?to]<ӟo,<eeEw'^@wMcH I$M t]gEb}ߍ'Y־$¶iKx ^&eLR֢#62^{ic,
+i9)O>Dga#1#JJ6٫E
+θ/e
+sfK(r,. D8 endstream
+endobj
+6 0 obj
+336
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:32+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:32+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:e548777a-143f-11ef-0000-31b2a32af474'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132332+02'00')
+/ModDate(D:20240514132332+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000883 00000 n
+0000002205 00000 n
+0000000824 00000 n
+0000000710 00000 n
+0000000285 00000 n
+0000000691 00000 n
+0000000947 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<B480B036840686F5B82C8F0D28D97ED4><B480B036840686F5B82C8F0D28D97ED4>]
+>>
+startxref
+2330
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light.eps
new file mode 100644
index 0000000000..d8808388ad
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b28ab09e4d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark.eps
new file mode 100644
index 0000000000..f6b5fa7960
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..d3d1b7a041
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light.eps
new file mode 100644
index 0000000000..2f441cbb08
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity-eps-converted-to.pdf
new file mode 100644
index 0000000000..ab47e4d8d4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity.eps
new file mode 100644
index 0000000000..e9d92449a1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..b9e438068a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark.eps
new file mode 100644
index 0000000000..3bc72585e7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..7889644463
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light.eps
new file mode 100644
index 0000000000..93dd2110ab
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..fd5e21e8e9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmRKNC1 ܿSXşcpϢ, 켔*d<{9h`(D$}gۡ%8H}ANeNM 'eo^3Դ&k]uYr6Zp`e
+
+q=Do\PO p熩 3?P}uG;w Dʹ:jߔZ*V4آB\5 wy MSF`SI"x)o
+ɥcYI<gBYi9R[+\AL?ijǰJEL'T&QoIn-dXuwx*$m7T*v7||Vwendstream
+endobj
+6 0 obj
+357
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:38+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:38+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:e8dbfe7a-143f-11ef-0000-0f780d513bb5'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132338+02'00')
+/ModDate(D:20240514132338+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000904 00000 n
+0000002226 00000 n
+0000000845 00000 n
+0000000731 00000 n
+0000000285 00000 n
+0000000712 00000 n
+0000000968 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<A25A80DBD46DEDA4F2301C60F64F4719><A25A80DBD46DEDA4F2301C60F64F4719>]
+>>
+startxref
+2351
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark.eps
new file mode 100644
index 0000000000..5104ab7754
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9e389c0b4f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light.eps
new file mode 100644
index 0000000000..c7a48cdf19
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents-eps-converted-to.pdf
new file mode 100644
index 0000000000..a1b9122ea5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents.eps
new file mode 100644
index 0000000000..e01cd76df0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..d18c2a8f44
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark.eps
new file mode 100644
index 0000000000..9de564483d
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..c8fae154ba
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light.eps
new file mode 100644
index 0000000000..933beef148
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bb0629d5e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark.eps
new file mode 100644
index 0000000000..f65c3e6260
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..2a871c0ce5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light.eps
new file mode 100644
index 0000000000..f5c7277bcc
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte-eps-converted-to.pdf
new file mode 100644
index 0000000000..d909379163
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte.eps
new file mode 100644
index 0000000000..66ef95c46e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift-eps-converted-to.pdf
new file mode 100644
index 0000000000..dd56dbc6e5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift.eps
new file mode 100644
index 0000000000..4e6ecbd011
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Swift.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f1eeea9e85
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark.eps
new file mode 100644
index 0000000000..89a2c5ed78
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..22bfb71804
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light.eps
new file mode 100644
index 0000000000..8d34e8c67f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..390cf682d6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark.eps
new file mode 100644
index 0000000000..052a75c410
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..35e2f6a0c3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light.eps
new file mode 100644
index 0000000000..67870b1bf5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..5ac59dee92
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark.eps
new file mode 100644
index 0000000000..aae93613f2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fc467f2125
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light.eps
new file mode 100644
index 0000000000..0da3bfc826
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..1c35d335c4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark.eps
new file mode 100644
index 0000000000..2108e23620
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..afb76b8b0f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light.eps
new file mode 100644
index 0000000000..cd561a2c05
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..bcf94b9e4b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x}Q9n0
+)(>#o0.!e:f֐x@s;FDs&SUZJXBM&t>5,Ca?!I3HAKFܒ߶=@_r[yc5O%
+]&3ui%jLf::tb@fNk&ws*5K1Qkb#9DpGS70~X r'BYVLa9:#h{9*eY+0setubEDz\
+. L}endstream
+endobj
+6 0 obj
+276
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:23:56+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:23:56+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:f396937a-143f-11ef-0000-be8a45fd7cb4'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132356+02'00')
+/ModDate(D:20240514132356+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000823 00000 n
+0000002145 00000 n
+0000000764 00000 n
+0000000650 00000 n
+0000000285 00000 n
+0000000631 00000 n
+0000000887 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<834323B93782F5A89C4868CFFF52FABE><834323B93782F5A89C4868CFFF52FABE>]
+>>
+startxref
+2270
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark.eps
new file mode 100644
index 0000000000..c26e0bc0fa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..06208ed397
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light.eps
new file mode 100644
index 0000000000..8e480b5d3a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..4b100f87e9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark.eps
new file mode 100644
index 0000000000..0fc1157900
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..28814087ca
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light.eps
new file mode 100644
index 0000000000..dda0237270
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter-eps-converted-to.pdf
new file mode 100644
index 0000000000..30d63c5c57
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter.eps
new file mode 100644
index 0000000000..7dc30add2a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript-eps-converted-to.pdf
new file mode 100644
index 0000000000..82ec0c81e0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript.eps
new file mode 100644
index 0000000000..e9a0d5d366
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..efb1d086aa
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark.eps
new file mode 100644
index 0000000000..c3f924318b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..5a70c5bec0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light.eps
new file mode 100644
index 0000000000..3fee331051
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c2136f47e8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark.eps
new file mode 100644
index 0000000000..cffafbdfff
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f3e5288a4b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light.eps
new file mode 100644
index 0000000000..fd05d84dd6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine-eps-converted-to.pdf
new file mode 100644
index 0000000000..50e76df9c6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine.eps
new file mode 100644
index 0000000000..70e0d16aeb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..7f3867bcce
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xeRA#1~2~ƾ=$L+Hi)omĵ<gAܳf-b".^.:Z)> Q9hN9IzgmD&r v/\}/2,i4zXқBY'ըe% S{*wbu݂-|f B<&>))arVݓK0Sb0
+؃QVȍvsV|ӥe$cy(Z
+dr@SH͍8hNOT(淯bm5smͱtlzmkȲ%:eNorb6
+8o6Ye8t]u\e*q13'&ɾNӊO{ʯ7endstream
+endobj
+6 0 obj
+432
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:07+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:07+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:fa250afa-143f-11ef-0000-59290eabf130'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132407+02'00')
+/ModDate(D:20240514132407+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000979 00000 n
+0000002301 00000 n
+0000000920 00000 n
+0000000806 00000 n
+0000000285 00000 n
+0000000787 00000 n
+0000001043 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<91E0499E128AAD1504ADFA49A637B856><91E0499E128AAD1504ADFA49A637B856>]
+>>
+startxref
+2426
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark.eps
new file mode 100644
index 0000000000..7f3bab5481
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..0422c9e48e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light.eps
new file mode 100644
index 0000000000..6bcbfd2ecb
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..99b4b582ec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark.eps
new file mode 100644
index 0000000000..4502bec378
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a75e97298e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light.eps
new file mode 100644
index 0000000000..f37210eb33
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..ce873dcf38
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark.eps
new file mode 100644
index 0000000000..8f473b05d2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..7de6e20ac6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light.eps
new file mode 100644
index 0000000000..41467f19b6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..0cc803937e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark.eps
new file mode 100644
index 0000000000..d5e9168074
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a8157ef0b1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light.eps
new file mode 100644
index 0000000000..c525809e45
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light.eps
@@ -0,0 +1,142 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.16.0 (https://cairographics.org)
+%%CreationDate: Sun May 12 20:26:21 2024
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 192 192
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 192 192
+%%EndPageSetup
+q 0 0 192 192 rectclip
+1 0 0 -1 0 192 cm q
+q
+0 0 192 192 re W n
+ q
+0.956863 0.94902 0.929412 rg
+147 0 m 45 0 l 20.148 0 0 20.148 0 45 c 0 147 l 0 171.852 20.148 192 45
+ 192 c 147 192 l 171.852 192 192 171.852 192 147 c 192 45 l 192 20.148 171.852
+ 0 147 0 c h
+147 0 m f
+Q q
+30 30 131.25 131.25 re W n
+q
+30 30 132 132 re W n
+ q
+q
+93.34 32.984 m 89.594 35.387 88.516 40.367 90.93 44.098 c 104.195 64.645
+ 107.328 80.145 105.969 93.727 c 100.477 119.734 88.543 125.012 78.109 125.012
+ c 67.926 125.012 70.652 108.25 78.309 103.344 c 82.879 100.488 88.73 98.633
+ 93.223 98.633 c 97.676 98.633 101.285 95.035 101.285 90.598 c 101.285 86.156
+ 97.676 82.562 93.223 82.562 c 87.977 82.562 82.828 83.664 78.023 85.539
+ c 79.004 80.906 79.367 75.902 78.098 70.582 c 76.172 62.5 70.625 54.785
+ 60.996 47.301 c 59.309 45.988 57.168 45.402 55.047 45.664 c 52.926 45.926
+ 50.992 47.02 49.68 48.699 c 46.945 52.203 47.578 57.254 51.094 59.98 c
+58.941 66.074 61.531 70.586 62.418 74.301 c 63.305 78.012 62.59 81.996 60.812
+ 87.469 c 58.535 94.848 55.895 101.43 54.738 107.746 c 54.168 110.852 54.121
+ 114.234 53.973 116.938 c 48.324 111.43 46.109 104.16 46.109 93.535 c 46.109
+ 89.094 42.5 85.496 38.051 85.496 c 33.602 85.5 29.996 89.098 29.996 93.535
+ c 29.996 108.047 34.238 121.852 45.613 131.062 c 55.906 140.871 82.086
+137.246 82.086 152.992 c 82.086 157.438 88.594 159.602 93.043 159.602 c
+97.609 159.602 103.352 156.551 103.352 152.992 c 103.352 135.129 122.18
+124.27 153.176 124.316 c 157.629 124.324 161.238 120.727 161.246 116.289
+ c 161.254 111.848 157.652 108.242 153.199 108.234 c 151.082 108.234 149.016
+ 108.305 146.977 108.426 c 150.441 100.277 151.98 91.305 151.66 81.613 c
+ 151.516 77.176 147.789 73.695 143.344 73.84 c 138.891 73.984 135.402 77.703
+ 135.547 82.145 c 135.965 94.832 135.492 106.164 126.035 112.137 c 123.348
+ 113.836 120.223 115.309 117.262 115.309 c 119.562 109.051 121.301 102.441
+ 122.012 95.324 c 122.465 90.777 122.512 85.379 121.996 81.188 c 121.191
+ 74.691 120.219 67.32 122.684 61.773 c 124.902 56.992 129.863 54.988 137.152
+ 54.988 c 141.602 54.984 145.203 51.387 145.207 46.953 c 145.207 42.512
+141.602 38.91 137.152 38.906 c 126.32 38.906 118.113 44.609 113.457 51.496
+ c 111.023 46.297 108.062 40.941 104.48 35.398 c 103.324 33.605 101.504
+32.348 99.414 31.895 c 98.379 31.668 97.312 31.648 96.27 31.836 c 95.227
+ 32.023 94.23 32.414 93.34 32.984 c h
+93.34 32.984 m W n
+[0.75 0 0 0.75 0 0] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 0.384314 0.627451 0.917647 ]
+ /C1 [ 0.101961 0.372549 0.705882 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 39.994598 42.2785 209.164001 205.503006 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+ Q
+Q
+ Q
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala-eps-converted-to.pdf
new file mode 100644
index 0000000000..05ca28e0b9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala.eps
new file mode 100644
index 0000000000..ce0b457582
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vala.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a2152f703e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark-eps-converted-to.pdf
@@ -0,0 +1,72 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMK D>Ok0g@JHe#E`_I8#'Mi"[ͭ)TCV2K'yĥˮ$ka4*Kj^H$ `ߠȿ].1h0b+TTthkM;endstream
+endobj
+6 0 obj
+151
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:10+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:10+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:fbeece7a-143f-11ef-0000-1d8c79741b8c'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132410+02'00')
+/ModDate(D:20240514132410+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000698 00000 n
+0000002020 00000 n
+0000000639 00000 n
+0000000525 00000 n
+0000000285 00000 n
+0000000506 00000 n
+0000000762 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [(wK1\230\363\367hL\0366[NT]m<)(wK1\230\363\367hL\0366[NT]m<)]
+>>
+startxref
+2145
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark.eps
new file mode 100644
index 0000000000..87cda9bd20
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fcc3c27572
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light-eps-converted-to.pdf
@@ -0,0 +1,72 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xMK0D',Y8fb"E17q88{i:}vsP߇pWNГIE]Wm:HK*/$ X0joP"︻%ϡ7*^1e-X6%9֞vТ<endstream
+endobj
+6 0 obj
+152
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:11+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:11+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:fc8764fa-143f-11ef-0000-fe54e8c4bfd7'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132411+02'00')
+/ModDate(D:20240514132411+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000699 00000 n
+0000002021 00000 n
+0000000640 00000 n
+0000000526 00000 n
+0000000285 00000 n
+0000000507 00000 n
+0000000763 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<7B159923723AEE961B5276A838D3D643><7B159923723AEE961B5276A838D3D643>]
+>>
+startxref
+2146
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light.eps
new file mode 100644
index 0000000000..30b6846109
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..eb6957d4f1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark.eps
new file mode 100644
index 0000000000..a83041c9b4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..28ff46c572
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light.eps
new file mode 100644
index 0000000000..5efc25a9d4
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..4f5a4196c7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark.eps
new file mode 100644
index 0000000000..758ca80203
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..6cb7ad1971
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light.eps
new file mode 100644
index 0000000000..5206364509
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..11744779f7
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark.eps
new file mode 100644
index 0000000000..fbaa571be2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..9a7273dc93
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light.eps
new file mode 100644
index 0000000000..66a1b883ec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..cfc244613e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark-eps-converted-to.pdf
@@ -0,0 +1,74 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x]An D>'@gfAi<0'`_1Q[r
+ߐmչU(<c+bV?t͡
+d:SdgYm7=]nᜇ>z>j*cET*[HXlCRҬ#'JTdXk.w"K};|.He)ǒ\=?lq8endstream
+endobj
+6 0 obj
+230
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:23+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:23+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:03ae72fa-1440-11ef-0000-21425758fbe5'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132423+02'00')
+/ModDate(D:20240514132423+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000777 00000 n
+0000002099 00000 n
+0000000718 00000 n
+0000000604 00000 n
+0000000285 00000 n
+0000000585 00000 n
+0000000841 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<F6092EAD96BD24EBB3316EAADDF7E73D><F6092EAD96BD24EBB3316EAADDF7E73D>]
+>>
+startxref
+2224
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark.eps
new file mode 100644
index 0000000000..c9678659d0
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..204fb71613
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light.eps
new file mode 100644
index 0000000000..e9a2df420e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c7c592921f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark.eps
new file mode 100644
index 0000000000..48d5519a43
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f79e74e8a6
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmRKn1>c8FW=@4RM~U4<\+5.ZI‘waT9s⦾mHz ?=nͬD,<f‰2~-c;`Xe*QY޾gΆGj
+ZYfzr$*5h[d)MG.HV)
+֦>_N` xmହ67(͒7{_h#;,zЂa_ 2|+m<*;)u<9z-g,)PO5VNƫbhHcb/
+x7?}endstream
+endobj
+6 0 obj
+359
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:26+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:26+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:0578367a-1440-11ef-0000-1e8a9c360951'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132426+02'00')
+/ModDate(D:20240514132426+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000906 00000 n
+0000002228 00000 n
+0000000847 00000 n
+0000000733 00000 n
+0000000285 00000 n
+0000000714 00000 n
+0000000970 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<E9CA4BA0BFA7FD7B62E88D84ABD29F4E><E9CA4BA0BFA7FD7B62E88D84ABD29F4E>]
+>>
+startxref
+2353
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light.eps
new file mode 100644
index 0000000000..16b9255690
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly-eps-converted-to.pdf
new file mode 100644
index 0000000000..6bd453f8ec
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly.eps
new file mode 100644
index 0000000000..f01b072ddd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..8da310a32c
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark.eps
new file mode 100644
index 0000000000..7594f767f9
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..fe138e5ce2
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light.eps
new file mode 100644
index 0000000000..7f015c5846
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow-eps-converted-to.pdf
new file mode 100644
index 0000000000..41e62de024
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow.eps
new file mode 100644
index 0000000000..45a7148a24
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..a1537c4ce5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark.eps
new file mode 100644
index 0000000000..991f187932
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..46e9551772
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light-eps-converted-to.pdf
@@ -0,0 +1,75 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xSKn0>2g34Eh(8]U#M6򷞏g]Ǩ?UWA
+H?uH83KfyHQ`_rW<k7DT99L&6^$H!`4j60
+^4&8V -Wت"F=q-#(ϴ VA
+1"SN#flC=B΅vb|Y3,Zh>fPա rg)+BPAt"G"9mk̛􅼵 nDl>cb#4hr2y5;Ņ r~'wNuߋrɄVY&R6m#UW Fs1W5elpq7'z l.endstream
+endobj
+6 0 obj
+410
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:30+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:30+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:07da907a-1440-11ef-0000-d94d274f7055'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132430+02'00')
+/ModDate(D:20240514132430+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000957 00000 n
+0000002279 00000 n
+0000000898 00000 n
+0000000784 00000 n
+0000000285 00000 n
+0000000765 00000 n
+0000001021 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<1EC3C47BC79D74DE23ACA81796CC8BAD><1EC3C47BC79D74DE23ACA81796CC8BAD>]
+>>
+startxref
+2404
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light.eps
new file mode 100644
index 0000000000..ab52df172a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..3b7e46615b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark-eps-converted-to.pdf
@@ -0,0 +1,157 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xWMn1>ll|dv1RE]U"OOzÇef^#E|LDuU LroCs\| <+ nz.tvnFn6-pFvi|0v+J6Z#j\iFLVm;c! 5;fe(z yI XikK#$)b>A
+x
+j]X3ڲۅg)Gؚ4VICX!a-<hMfӖAKHs'K_Ǐw{ޒ6d?)P̶g%55uX6 v
+l1TKڂ9@LKX`v^[+9PZ[qH5]d7gFܺ+ģYj1Z%iފs)jCX>7y+i$ďz T!՟wzE4)ԶJ+% IDbdsB.ݙ7r2dsr`R6,tf8ka9j36
+²Td:W%$'57
+~oy^3ؓnl%.dt).}߇iendstream
+endobj
+6 0 obj
+616
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ColorSpace 13 0 R
+/Pattern 14 0 R
+/Shading 15 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 16 0 R
+>>
+endobj
+7 0 obj
+[/Pattern]
+endobj
+13 0 obj
+<</R7
+7 0 R>>
+endobj
+14 0 obj
+<</R12
+12 0 R>>
+endobj
+12 0 obj
+<</PatternType 2
+/Shading 11 0 R
+/Matrix[0.75
+0
+0
+-0.75
+0
+192]>>endobj
+15 0 obj
+<</R11
+11 0 R>>
+endobj
+11 0 obj
+<</ShadingType 2
+/ColorSpace/DeviceRGB
+/Coords[61.048
+59.274
+168
+228]
+/Domain[0.078
+1]
+/Function 10 0 R
+/Extend [true true]>>endobj
+9 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.254902
+0.635294
+0.937255]
+/C1[0.2
+0.52549
+0.933333]
+/N 1>>endobj
+8 0 obj
+<</FunctionType 2
+/Domain[0
+1]
+/C0[0.329412
+0.784314
+0.945098]
+/C1[0.254902
+0.635294
+0.937255]
+/N 1>>endobj
+10 0 obj
+<</Functions[8 0 R
+9 0 R]
+/FunctionType 3
+/Domain[0.078
+1]
+/Bounds[0.573]
+/Encode[0
+1
+0
+1]>>endobj
+16 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:33+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:33+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:09a453fa-1440-11ef-0000-d02ea6680009'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132433+02'00')
+/ModDate(D:20240514132433+02'00')>>endobj
+xref
+0 17
+0000000000 65535 f
+0000001214 00000 n
+0000003213 00000 n
+0000001155 00000 n
+0000000990 00000 n
+0000000285 00000 n
+0000000971 00000 n
+0000001279 00000 n
+0000001730 00000 n
+0000001620 00000 n
+0000001846 00000 n
+0000001479 00000 n
+0000001367 00000 n
+0000001305 00000 n
+0000001335 00000 n
+0000001447 00000 n
+0000001954 00000 n
+trailer
+<< /Size 17 /Root 1 0 R /Info 2 0 R
+/ID [<514317BEFF38AC6AEC3604179EF55A15><514317BEFF38AC6AEC3604179EF55A15>]
+>>
+startxref
+3338
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark.eps
new file mode 100644
index 0000000000..27b5ac085f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f966384279
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light.eps
new file mode 100644
index 0000000000..98c00249f8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..f67ee1cc6a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark.eps
new file mode 100644
index 0000000000..1c36e00370
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..6f10b2f623
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light.eps
new file mode 100644
index 0000000000..1d0eab7fcd
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress-eps-converted-to.pdf
new file mode 100644
index 0000000000..35519b526f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress.eps
new file mode 100644
index 0000000000..7dfe2d91b3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..fdad5e891b
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark.eps
new file mode 100644
index 0000000000..c3cbea81c8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..f1a41333c8
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light.eps
new file mode 100644
index 0000000000..13809b4ae3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_XD-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_XD-eps-converted-to.pdf
new file mode 100644
index 0000000000..f69e7d131e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_XD-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_XD.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_XD.eps
new file mode 100644
index 0000000000..9bebc83e3f
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_XD.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..2bdf20a281
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark.eps
new file mode 100644
index 0000000000..519d90aa3a
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..b76fc27957
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light.eps
new file mode 100644
index 0000000000..9d7047eec1
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..c2de19eb9e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark.eps
new file mode 100644
index 0000000000..22f2195254
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..b815113a92
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light-eps-converted-to.pdf
@@ -0,0 +1,78 @@
+%PDF-1.5
+%쏢
+%%Invocation: gswin64c -dDisplayFormat=198788 -dDisplayResolution=120 -q -dSAFER -dNOPAUSE -dBATCH -dCompatibilityLevel=1.5 -sDEVICE=pdfwrite -sOutputFile=? -dPDFSETTINGS#/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
+%%+ -dAutoRotatePages#/None ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xuR1N1 '[$$
+ +G
+&m3cH(yn@hSM,T+tJl;H
+Eȓk
+($ccrFs:3_'<mvvbUr @ZMbBsws6gi茕: puCkf\+撖Г4+W,xnDgxF $=9(F
+]*KjX$~YS,͗Xo((̕A>Xx &c̈́RIDzbf;h[o! SH=M־o|
+26#GxhvYim-zߧU$endstream
+endobj
+6 0 obj
+344
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 192 192]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1182>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.56.1'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2024-05-14T13:24:43+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2024-05-14T13:24:43+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:0f9a34fa-1440-11ef-0000-b76360559bed'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.56.1)
+/CreationDate(D:20240514132443+02'00')
+/ModDate(D:20240514132443+02'00')>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000891 00000 n
+0000002213 00000 n
+0000000832 00000 n
+0000000718 00000 n
+0000000285 00000 n
+0000000699 00000 n
+0000000955 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<208A20709D820EE84DC675EC307CA8F0><208A20709D820EE84DC675EC307CA8F0>]
+>>
+startxref
+2338
+%%EOF
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light.eps
new file mode 100644
index 0000000000..b6e522f995
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark-eps-converted-to.pdf
new file mode 100644
index 0000000000..07f654ff6e
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark.eps
new file mode 100644
index 0000000000..d9bda50dc3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light-eps-converted-to.pdf
new file mode 100644
index 0000000000..a77d2420d5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light.eps
new file mode 100644
index 0000000000..f50c1caa70
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js-eps-converted-to.pdf b/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js-eps-converted-to.pdf
new file mode 100644
index 0000000000..58a14b7310
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js.eps b/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js.eps
new file mode 100644
index 0000000000..dfd73b9418
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skill-icons/skillicons_p5js.eps
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skillicons.pdf b/macros/latex/contrib/skillicons/skillicons.pdf
new file mode 100644
index 0000000000..2e4982b700
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skillicons.pdf
Binary files differ
diff --git a/macros/latex/contrib/skillicons/skillicons.sty b/macros/latex/contrib/skillicons/skillicons.sty
new file mode 100644
index 0000000000..cb9d7760c3
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skillicons.sty
@@ -0,0 +1,28 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% A package to bring cute cool and modern icons into your document
+% Maintained by Anton --> AnMnV https://github.com/AnMnv/AnMnv
+%
+% Project repository and bug tracker:
+% https://github.com/AnMnv/latex-skill-icons
+%
+% Released under the MIT License
+% See https://opensource.org/license/mit
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{skillicons}[2024-05-14 version v1.0 A LaTeX package designed to seamlessly integrate skill icons into your documents]
+
+\RequirePackage{graphicx}
+
+
+
+\newcommand{\photosymbol}[2][1]{%
+ \raisebox{\dimexpr 0.5\fontcharht\font`T - 0.5\height - 0.5\fontchardp\font`q}{%
+ \includegraphics[height=\dimexpr#1\fontcharht\font`T+1.5\fontchardp\font`q]{skill-icons/skillicons_#2}%
+ }%
+}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/skillicons/skillicons.tex b/macros/latex/contrib/skillicons/skillicons.tex
new file mode 100644
index 0000000000..d854e6f3a5
--- /dev/null
+++ b/macros/latex/contrib/skillicons/skillicons.tex
@@ -0,0 +1,584 @@
+\documentclass[12pt]{article}
+\usepackage[left=1.5cm,right=1.5cm,top=1.5cm,bottom=1.5cm,bindingoffset=0cm]{geometry}
+\usepackage{skillicons}
+\usepackage{multicol}
+
+
+\usepackage[dvipsnames]{xcolor}
+
+\usepackage{tikz}
+\usetikzlibrary{calc}
+\usepackage{anyfontsize}
+\usepackage{sectsty}
+\usepackage{hyperref}
+
+\hypersetup{
+ colorlinks=true,
+ urlcolor=red,
+ allbordercolors=red,
+}
+
+\usepackage[most]{tcolorbox}
+\colorlet{LightLavender}{Lavender!40!}
+\colorlet{LightGreen}{black!15!}
+
+\tcbset{on line,
+ boxsep=4pt, left=0pt,right=0pt,top=0pt,bottom=0pt,
+ colframe=white,colback=LightGreen,
+ highlight math style={enhanced}
+ }
+
+
+%%%%%%%%%%%%%%%%%%
+% -- Loading the code block package:
+\usepackage{listings}
+% -- Basic formatting
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+\usepackage{times}
+\setlength{\parindent}{8pt}
+\usepackage{indentfirst}
+% -- Defining colors:
+\usepackage[dvipsnames]{xcolor}
+\definecolor{codegreen}{rgb}{0,0.6,0}
+\definecolor{codegray}{rgb}{0.5,0.5,0.5}
+\definecolor{codepurple}{rgb}{0.58,0,0.82}
+\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
+% Definig a custom style:
+\lstdefinestyle{mystyle}{
+ backgroundcolor=\color{backcolour},
+ commentstyle=\color{codepurple},
+ keywordstyle=\color{NavyBlue},
+ numberstyle=\tiny\color{codegray},
+ stringstyle=\color{codepurple},
+ basicstyle=\ttfamily\footnotesize\bfseries,
+ breakatwhitespace=false,
+ breaklines=true,
+ captionpos=t,
+ keepspaces=true,
+ % numbers=left,
+ % numbersep=5pt,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ tabsize=2
+}
+% -- Setting up the custom style:
+\lstset{style=mystyle}
+%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+
+\begin{center}
+\fontsize{40}{50} \selectfont {{\tcbox{Icon Skills package}}}\\[1cm] \photosymbol[5]{LaTeX-Dark} \\[1cm]
+
+\Large \href{https://github.com/AnMnv/latex-skill-icons}{https://github.com/AnMnv/latex-skill-icons}\\[1cm]
+
+2024-05-14 version v1.0
+\end{center}
+
+
+
+
+
+
+\vspace*{2cm}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\section*{Introduction}
+Welcome to the documentation for \texttt{skillicons} package, a LaTeX package designed to seamlessly integrate skill icons into your documents. With this package, you can easily enhance your documents by incorporating visually appealing skill indicators, perfect for resumes, CVs, or any document requiring skill representation.
+
+
+
+\section*{Acknowledgements}
+The skill icons used to create a package are sourced from the repository \href{https://github.com/tandpfun/skill-icons}{https://github.com/tandpfun/skill-icons}.
+
+\section*{Setting}
+\begin{enumerate}
+\item Clone \tcbox{\texttt{skillicons.sty}} file and \tcbox{\texttt{skill-icons}} folder from \href{https://github.com/AnMnv/latex-skill-icons}{https://github.com/AnMnv/latex-skill-icons} into your current directory where your \texttt{main.tex} file is.
+\item Paste \tcbox{\texttt{$\backslash$usepackage\{skillicons\}}} in the preambula (before \texttt{$\backslash$begin\{document\}})
+\item You are ready to go!
+\end{enumerate}
+
+\section*{Usage Example}
+
+
+\begin{lstlisting}[language={[latex]TeX}]
+\documentclass[11pt]{report}
+\usepackage{skillicons}
+
+\begin{document}
+\begin{itemize}
+\item[] \photosymbol{JavaScript} I'm proficient in JavaScript.
+\item[] \photosymbol{Python-Dark} Python is one of my core skills.
+\item[] \photosymbol{React-Light} I have experience working with React.
+\item[] \photosymbol{Java-Dark} Java is one of my strong suits.
+\item[] \photosymbol{NodeJS-Light} I'm proficient in Node.js development.
+\item[] \photosymbol{Git} I'm adept at using Git for version control.
+\item[] \photosymbol{MySQL-Dark} SQL is one of the databases languages.
+\item[] \photosymbol{Rust} Rust is a language I've been learning and enjoying lately.
+\end{itemize}
+\end{document}
+\end{lstlisting}
+
+\section*{Result:}
+
+{ \Large
+\begin{itemize}
+\item[] \photosymbol{JavaScript} I'm proficient in JavaScript.
+\item[] \photosymbol{Python-Dark} Python is one of my core skills.
+\item[] \photosymbol{React-Light} I have experience working with React.
+\item[] \photosymbol{Java-Dark} Java is one of my strong suits.
+\item[] \photosymbol{NodeJS-Light} I'm proficient in Node.js development.
+\item[] \photosymbol{Git} I'm adept at using Git for version control.
+\item[] \photosymbol{MySQL-Dark} SQL is one of the databases languages.
+\item[] \photosymbol{Rust} Rust is a language I've been learning and enjoying lately.
+\end{itemize}}
+
+\vspace{0.5cm}
+{\LARGE
+\begin{lstlisting}[language={[latex]TeX}]
+By default \photosymbol{Powershell-Dark} you can \photosymbol[2]{NodeJS-Dark} use icons right \photosymbol[3]{Sublime-Dark} inside text lines \photosymbol[4]{StackOverflow-Dark} with or without scale parameter.
+\end{lstlisting}
+
+By default \photosymbol{Powershell-Dark} you can \photosymbol[2]{NodeJS-Dark} use icons right \photosymbol[3]{Sublime-Dark} inside text lines \photosymbol[4]{StackOverflow-Dark} with or without scale parameter.}
+
+\clearpage
+
+
+
+
+\section*{All available icons}
+\begin{multicols}{3}
+\begin{itemize}
+\item[] \photosymbol[3]{Ableton-Dark} Ableton-Dark
+\item[] \photosymbol[3]{Ableton-Light} Ableton-Light
+\item[] \photosymbol[3]{ActivityPub-Dark} ActivityPub-Dark
+\item[] \photosymbol[3]{ActivityPub-Light} ActivityPub-Light
+\item[] \photosymbol[3]{Actix-Dark} Actix-Dark
+\item[] \photosymbol[3]{Actix-Light} Actix-Light
+\item[] \photosymbol[3]{Adonis} Adonis
+\item[] \photosymbol[3]{AfterEffects} AfterEffects
+\item[] \photosymbol[3]{AiScript-Dark} AiScript-Dark
+\item[] \photosymbol[3]{AiScript-Light} AiScript-Light
+\item[] \photosymbol[3]{AlpineJS-Dark} AlpineJS-Dark
+\item[] \photosymbol[3]{AlpineJS-Light} AlpineJS-Light
+\item[] \photosymbol[3]{Anaconda-Dark} Anaconda-Dark
+\item[] \photosymbol[3]{Anaconda-Light} Anaconda-Light
+\item[] \photosymbol[3]{AndroidStudio-Dark} AndroidStudio-Dark
+\item[] \photosymbol[3]{AndroidStudio-Light} AndroidStudio-Light
+\item[] \photosymbol[3]{Angular-Dark} Angular-Dark
+\item[] \photosymbol[3]{Angular-Light} Angular-Light
+\item[] \photosymbol[3]{Ansible} Ansible
+\item[] \photosymbol[3]{Apollo} Apollo
+\item[] \photosymbol[3]{Apple-Dark} Apple-Dark
+\item[] \photosymbol[3]{Apple-Light} Apple-Light
+\item[] \photosymbol[3]{Appwrite} Appwrite
+\item[] \photosymbol[3]{Arch-Dark} Arch-Dark
+\item[] \photosymbol[3]{Arch-Light} Arch-Light
+\item[] \photosymbol[3]{Arduino} Arduino
+\item[] \photosymbol[3]{Astro} Astro
+\item[] \photosymbol[3]{Atom} Atom
+\item[] \photosymbol[3]{Audition} Audition
+%\item[] \photosymbol[3]{Autocad-Dark} AutoCAD-Dark
+\item[] \photosymbol[3]{Autocad-Light} AutoCAD-Light
+\item[] \photosymbol[3]{AWS-Dark} AWS-Dark
+\item[] \photosymbol[3]{AWS-Light} AWS-Light
+\item[] \photosymbol[3]{Azul} Azul
+\item[] \photosymbol[3]{Azure-Dark} Azure-Dark
+\item[] \photosymbol[3]{Azure-Light} Azure-Light
+\item[] \photosymbol[3]{Babel} Babel
+\item[] \photosymbol[3]{Bash-Dark} Bash-Dark
+\item[] \photosymbol[3]{Bash-Light} Bash-Light
+\item[] \photosymbol[3]{Bevy-Dark} Bevy-Dark
+\item[] \photosymbol[3]{Bevy-Light} Bevy-Light
+\item[] \photosymbol[3]{BitBucket-Dark} BitBucket-Dark
+\item[] \photosymbol[3]{BitBucket-Light} BitBucket-Light
+\item[] \photosymbol[3]{Blender-Dark} Blender-Dark
+\item[] \photosymbol[3]{Blender-Light} Blender-Light
+\item[] \photosymbol[3]{Bootstrap} Bootstrap
+\item[] \photosymbol[3]{BSD-Dark} BSD-Dark
+\item[] \photosymbol[3]{BSD-Light} BSD-Light
+\item[] \photosymbol[3]{Bun-Dark} Bun-Dark
+\item[] \photosymbol[3]{Bun-Light} Bun-Light
+\item[] \photosymbol[3]{C} C
+\item[] \photosymbol[3]{Cassandra-Dark} Cassandra-Dark
+\item[] \photosymbol[3]{Cassandra-Light} Cassandra-Light
+\item[] \photosymbol[3]{CLion-Dark} CLion-Dark
+\item[] \photosymbol[3]{CLion-Light} CLion-Light
+\item[] \photosymbol[3]{Clojure-Dark} Clojure-Dark
+\item[] \photosymbol[3]{Clojure-Light} Clojure-Light
+\item[] \photosymbol[3]{Cloudflare-Dark} Cloudflare-Dark
+\item[] \photosymbol[3]{Cloudflare-Light} Cloudflare-Light
+\item[] \photosymbol[3]{CMake-Dark} CMake-Dark
+\item[] \photosymbol[3]{CMake-Light} CMake-Light
+\item[] \photosymbol[3]{CodePen-Dark} CodePen-Dark
+\item[] \photosymbol[3]{CodePen-Light} CodePen-Light
+\item[] \photosymbol[3]{CoffeeScript-Dark} CoffeeScript-Dark
+\item[] \photosymbol[3]{CoffeeScript-Light} CoffeeScript-Light
+\item[] \photosymbol[3]{CPP} CPP
+\item[] \photosymbol[3]{Crystal-Dark} Crystal-Dark
+\item[] \photosymbol[3]{Crystal-Light} Crystal-Light
+\item[] \photosymbol[3]{CS} CS
+\item[] \photosymbol[3]{CSS} CSS
+\item[] \photosymbol[3]{Cypress-Dark} Cypress-Dark
+\item[] \photosymbol[3]{Cypress-Light} Cypress-Light
+\item[] \photosymbol[3]{D3-Dark} D3-Dark
+\item[] \photosymbol[3]{D3-Light} D3-Light
+\item[] \photosymbol[3]{Dart-Dark} Dart-Dark
+\item[] \photosymbol[3]{Dart-Light} Dart-Light
+\item[] \photosymbol[3]{Debian-Dark} Debian-Dark
+\item[] \photosymbol[3]{Debian-Light} Debian-Light
+\item[] \photosymbol[3]{DENO-Dark} DENO-Dark
+\item[] \photosymbol[3]{DENO-Light} DENO-Light
+\item[] \photosymbol[3]{DevTo-Dark} DevTo-Dark
+\item[] \photosymbol[3]{DevTo-Light} DevTo-Light
+\item[] \photosymbol[3]{Discord} Discord
+\item[] \photosymbol[3]{DiscordBots} DiscordBots
+\item[] \photosymbol[3]{DiscordJS-Dark} DiscordJS-Dark
+\item[] \photosymbol[3]{DiscordJS-Light} DiscordJS-Light
+\item[] \photosymbol[3]{Django} Django
+\item[] \photosymbol[3]{Docker} Docker
+\item[] \photosymbol[3]{DotNet} DotNet
+\item[] \photosymbol[3]{DynamoDB-Dark} DynamoDB-Dark
+\item[] \photosymbol[3]{DynamoDB-Light} DynamoDB-Light
+\item[] \photosymbol[3]{Eclipse-Dark} Eclipse-Dark
+\item[] \photosymbol[3]{Eclipse-Light} Eclipse-Light
+\item[] \photosymbol[3]{Elasticsearch-Dark} Elasticsearch-Dark
+\item[] \photosymbol[3]{Elasticsearch-Light} Elasticsearch-Light
+\item[] \photosymbol[3]{Electron} Electron
+\item[] \photosymbol[3]{Elixir-Dark} Elixir-Dark
+\item[] \photosymbol[3]{Elixir-Light} Elixir-Light
+\item[] \photosymbol[3]{Elysia-Dark} Elysia-Dark
+\item[] \photosymbol[3]{Elysia-Light} Elysia-Light
+\item[] \photosymbol[3]{Emacs} Emacs
+\item[] \photosymbol[3]{Ember} Ember
+\item[] \photosymbol[3]{Emotion-Dark} Emotion-Dark
+\item[] \photosymbol[3]{Emotion-Light} Emotion-Light
+\item[] \photosymbol[3]{ExpressJS-Dark} ExpressJS-Dark
+\item[] \photosymbol[3]{ExpressJS-Light} ExpressJS-Light
+\item[] \photosymbol[3]{FastAPI} FastAPI
+\item[] \photosymbol[3]{Fediverse-Dark} Fediverse-Dark
+\item[] \photosymbol[3]{Fediverse-Light} Fediverse-Light
+\item[] \photosymbol[3]{Figma-Dark} Figma-Dark
+\item[] \photosymbol[3]{Figma-Light} Figma-Light
+\item[] \photosymbol[3]{Firebase-Dark} Firebase-Dark
+\item[] \photosymbol[3]{Firebase-Light} Firebase-Light
+\item[] \photosymbol[3]{Flask-Dark} Flask-Dark
+\item[] \photosymbol[3]{Flask-Light} Flask-Light
+\item[] \photosymbol[3]{Flutter-Dark} Flutter-Dark
+\item[] \photosymbol[3]{Flutter-Light} Flutter-Light
+\item[] \photosymbol[3]{Forth} Forth
+\item[] \photosymbol[3]{Fortran} Fortran
+\item[] \photosymbol[3]{GameMakerStudio} GameMakerStudio
+\item[] \photosymbol[3]{Gatsby} Gatsby
+\item[] \photosymbol[3]{GCP-Dark} GCP-Dark
+\item[] \photosymbol[3]{GCP-Light} GCP-Light
+\item[] \photosymbol[3]{Gherkin-Dark} Gherkin-Dark
+\item[] \photosymbol[3]{Gherkin-Light} Gherkin-Light
+\item[] \photosymbol[3]{Git} Git
+\item[] \photosymbol[3]{Github-Dark} Github-Dark
+\item[] \photosymbol[3]{Github-Light} Github-Light
+\item[] \photosymbol[3]{GithubActions-Dark} GithubActions-Dark
+\item[] \photosymbol[3]{GithubActions-Light} GithubActions-Light
+\item[] \photosymbol[3]{GitLab-Dark} GitLab-Dark
+\item[] \photosymbol[3]{GitLab-Light} GitLab-Light
+\item[] \photosymbol[3]{Gmail-Dark} Gmail-Dark
+\item[] \photosymbol[3]{Gmail-Light} Gmail-Light
+\item[] \photosymbol[3]{Godot-Dark} Godot-Dark
+\item[] \photosymbol[3]{Godot-Light} Godot-Light
+\item[] \photosymbol[3]{GoLang} GoLang
+\item[] \photosymbol[3]{Gradle-Dark} Gradle-Dark
+\item[] \photosymbol[3]{Gradle-Light} Gradle-Light
+\item[] \photosymbol[3]{Grafana-Dark} Grafana-Dark
+\item[] \photosymbol[3]{Grafana-Light} Grafana-Light
+\item[] \photosymbol[3]{GraphQL-Dark} GraphQL-Dark
+\item[] \photosymbol[3]{GraphQL-Light} GraphQL-Light
+\item[] \photosymbol[3]{GTK-Dark} GTK-Dark
+\item[] \photosymbol[3]{GTK-Light} GTK-Light
+\item[] \photosymbol[3]{Gulp} Gulp
+\item[] \photosymbol[3]{Haskell-Dark} Haskell-Dark
+\item[] \photosymbol[3]{Haskell-Light} Haskell-Light
+\item[] \photosymbol[3]{Haxe-Dark} Haxe-Dark
+\item[] \photosymbol[3]{Haxe-Light} Haxe-Light
+\item[] \photosymbol[3]{HaxeFlixel-Dark} HaxeFlixel-Dark
+\item[] \photosymbol[3]{HaxeFlixel-Light} HaxeFlixel-Light
+\item[] \photosymbol[3]{Heroku} Heroku
+\item[] \photosymbol[3]{Hibernate-Dark} Hibernate-Dark
+\item[] \photosymbol[3]{Hibernate-Light} Hibernate-Light
+\item[] \photosymbol[3]{HTML} HTML
+\item[] \photosymbol[3]{Htmx-Dark} Htmx-Dark
+\item[] \photosymbol[3]{Htmx-Light} Htmx-Light
+\item[] \photosymbol[3]{Idea-Dark} Idea-Dark
+\item[] \photosymbol[3]{Idea-Light} Idea-Light
+\item[] \photosymbol[3]{Illustrator} Illustrator
+\item[] \photosymbol[3]{Instagram} Instagram
+\item[] \photosymbol[3]{IPFS-Dark} IPFS-Dark
+\item[] \photosymbol[3]{IPFS-Light} IPFS-Light
+\item[] \photosymbol[3]{Java-Dark} Java-Dark
+\item[] \photosymbol[3]{Java-Light} Java-Light
+\item[] \photosymbol[3]{JavaScript} JavaScript
+\item[] \photosymbol[3]{Jenkins-Dark} Jenkins-Dark
+\item[] \photosymbol[3]{Jenkins-Light} Jenkins-Light
+\item[] \photosymbol[3]{Jest} Jest
+\item[] \photosymbol[3]{JQuery} JQuery
+\item[] \photosymbol[3]{Julia-Dark} Julia-Dark
+\item[] \photosymbol[3]{Julia-Light} Julia-Light
+\item[] \photosymbol[3]{Kafka} Kafka
+\item[] \photosymbol[3]{Kali-Dark} Kali-Dark
+\item[] \photosymbol[3]{Kali-Light} Kali-Light
+\item[] \photosymbol[3]{Kotlin-Dark} Kotlin-Dark
+\item[] \photosymbol[3]{Kotlin-Light} Kotlin-Light
+\item[] \photosymbol[3]{Ktor-Dark} Ktor-Dark
+\item[] \photosymbol[3]{Ktor-Light} Ktor-Light
+\item[] \photosymbol[3]{Kubernetes} Kubernetes
+\item[] \photosymbol[3]{Laravel-Dark} Laravel-Dark
+\item[] \photosymbol[3]{Laravel-Light} Laravel-Light
+\item[] \photosymbol[3]{LaTeX-Dark} LaTeX-Dark
+\item[] \photosymbol[3]{LaTeX-Light} LaTeX-Light
+\item[] \photosymbol[3]{Less-Dark} Less-Dark
+\item[] \photosymbol[3]{Less-Light} Less-Light
+\item[] \photosymbol[3]{LinkedIn} LinkedIn
+\item[] \photosymbol[3]{Linux-Dark} Linux-Dark
+\item[] \photosymbol[3]{Linux-Light} Linux-Light
+\item[] \photosymbol[3]{Lit-Dark} Lit-Dark
+\item[] \photosymbol[3]{Lit-Light} Lit-Light
+\item[] \photosymbol[3]{Lua-Dark} Lua-Dark
+\item[] \photosymbol[3]{Lua-Light} Lua-Light
+\item[] \photosymbol[3]{Markdown-Dark} Markdown-Dark
+\item[] \photosymbol[3]{Markdown-Light} Markdown-Light
+\item[] \photosymbol[3]{Mastodon-Dark} Mastodon-Dark
+\item[] \photosymbol[3]{Mastodon-Light} Mastodon-Light
+\item[] \photosymbol[3]{MaterialUI-Dark} MaterialUI-Dark
+\item[] \photosymbol[3]{MaterialUI-Light} MaterialUI-Light
+\item[] \photosymbol[3]{Matlab-Dark} Matlab-Dark
+\item[] \photosymbol[3]{Matlab-Light} Matlab-Light
+\item[] \photosymbol[3]{Maven-Dark} Maven-Dark
+\item[] \photosymbol[3]{Maven-Light} Maven-Light
+\item[] \photosymbol[3]{Mint-Dark} Mint-Dark
+\item[] \photosymbol[3]{Mint-Light} Mint-Light
+\item[] \photosymbol[3]{Misskey-Dark} Misskey-Dark
+\item[] \photosymbol[3]{Misskey-Light} Misskey-Light
+\item[] \photosymbol[3]{MongoDB} MongoDB
+\item[] \photosymbol[3]{MySQL-Dark} MySQL-Dark
+\item[] \photosymbol[3]{MySQL-Light} MySQL-Light
+\item[] \photosymbol[3]{NeoVim-Dark} NeoVim-Dark
+\item[] \photosymbol[3]{NeoVim-Light} NeoVim-Light
+\item[] \photosymbol[3]{NestJS-Dark} NestJS-Dark
+\item[] \photosymbol[3]{NestJS-Light} NestJS-Light
+\item[] \photosymbol[3]{Netlify-Dark} Netlify-Dark
+\item[] \photosymbol[3]{Netlify-Light} Netlify-Light
+\item[] \photosymbol[3]{NextJS-Dark} NextJS-Dark
+\item[] \photosymbol[3]{NextJS-Light} NextJS-Light
+\item[] \photosymbol[3]{Nginx} Nginx
+\item[] \photosymbol[3]{Nim-Dark} Nim-Dark
+\item[] \photosymbol[3]{Nim-Light} Nim-Light
+\item[] \photosymbol[3]{Nix-Dark} Nix-Dark
+\item[] \photosymbol[3]{Nix-Light} Nix-Light
+\item[] \photosymbol[3]{NodeJS-Dark} NodeJS-Dark
+\item[] \photosymbol[3]{NodeJS-Light} NodeJS-Light
+\item[] \photosymbol[3]{Notion-Dark} Notion-Dark
+\item[] \photosymbol[3]{Notion-Light} Notion-Light
+\item[] \photosymbol[3]{Npm-Dark} Npm-Dark
+\item[] \photosymbol[3]{Npm-Light} Npm-Light
+\item[] \photosymbol[3]{NuxtJS-Dark} NuxtJS-Dark
+\item[] \photosymbol[3]{NuxtJS-Light} NuxtJS-Light
+\item[] \photosymbol[3]{Obsidian-Dark} Obsidian-Dark
+\item[] \photosymbol[3]{Obsidian-Light} Obsidian-Light
+\item[] \photosymbol[3]{OCaml} OCaml
+\item[] \photosymbol[3]{Octave-Dark} Octave-Dark
+\item[] \photosymbol[3]{Octave-Light} Octave-Light
+\item[] \photosymbol[3]{OpenCV-Dark} OpenCV-Dark
+\item[] \photosymbol[3]{OpenCV-Light} OpenCV-Light
+\item[] \photosymbol[3]{OpenShift} OpenShift
+\item[] \photosymbol[3]{OpenStack-Dark} OpenStack-Dark
+\item[] \photosymbol[3]{OpenStack-Light} OpenStack-Light
+\item[] \photosymbol[3]{p5js} p5js
+\item[] \photosymbol[3]{Perl} Perl
+\item[] \photosymbol[3]{Photoshop} Photoshop
+\item[] \photosymbol[3]{PHP-Dark} PHP-Dark
+\item[] \photosymbol[3]{PHP-Light} PHP-Light
+\item[] \photosymbol[3]{PhpStorm-Dark} PhpStorm-Dark
+\item[] \photosymbol[3]{PhpStorm-Light} PhpStorm-Light
+\item[] \photosymbol[3]{Pinia-Dark} Pinia-Dark
+\item[] \photosymbol[3]{Pinia-Light} Pinia-Light
+\item[] \photosymbol[3]{Pkl-Dark} Pkl-Dark
+\item[] \photosymbol[3]{Pkl-Light} Pkl-Light
+\item[] \photosymbol[3]{Plan9-Dark} Plan9-Dark
+\item[] \photosymbol[3]{Plan9-Light} Plan9-Light
+\item[] \photosymbol[3]{PlanetScale-Dark} PlanetScale-Dark
+\item[] \photosymbol[3]{PlanetScale-Light} PlanetScale-Light
+\item[] \photosymbol[3]{Pnpm-Dark} Pnpm-Dark
+\item[] \photosymbol[3]{Pnpm-Light} Pnpm-Light
+\item[] \photosymbol[3]{PostgreSQL-Dark} PostgreSQL-Dark
+\item[] \photosymbol[3]{PostgreSQL-Light} PostgreSQL-Light
+\item[] \photosymbol[3]{Postman} Postman
+\item[] \photosymbol[3]{Powershell-Dark} Powershell-Dark
+\item[] \photosymbol[3]{Powershell-Light} Powershell-Light
+\item[] \photosymbol[3]{Premiere} Premiere
+\item[] \photosymbol[3]{Prisma} Prisma
+\item[] \photosymbol[3]{Processing-Dark} Processing-Dark
+\item[] \photosymbol[3]{Processing-Light} Processing-Light
+\item[] \photosymbol[3]{Prometheus} Prometheus
+\item[] \photosymbol[3]{Pug-Dark} Pug-Dark
+\item[] \photosymbol[3]{Pug-Light} Pug-Light
+\item[] \photosymbol[3]{PyCharm-Dark} PyCharm-Dark
+\item[] \photosymbol[3]{PyCharm-Light} PyCharm-Light
+\item[] \photosymbol[3]{Python-Dark} Python-Dark
+\item[] \photosymbol[3]{Python-Light} Python-Light
+\item[] \photosymbol[3]{PyTorch-Dark} PyTorch-Dark
+\item[] \photosymbol[3]{PyTorch-Light} PyTorch-Light
+\item[] \photosymbol[3]{QT-Dark} QT-Dark
+\item[] \photosymbol[3]{QT-Light} QT-Light
+\item[] \photosymbol[3]{R-Dark} R-Dark
+\item[] \photosymbol[3]{R-Light} R-Light
+\item[] \photosymbol[3]{RabbitMQ-Dark} RabbitMQ-Dark
+\item[] \photosymbol[3]{RabbitMQ-Light} RabbitMQ-Light
+\item[] \photosymbol[3]{Rails} Rails
+\item[] \photosymbol[3]{RaspberryPi-Dark} RaspberryPi-Dark
+\item[] \photosymbol[3]{RaspberryPi-Light} RaspberryPi-Light
+\item[] \photosymbol[3]{React-Dark} React-Dark
+\item[] \photosymbol[3]{React-Light} React-Light
+\item[] \photosymbol[3]{ReactiveX-Dark} ReactiveX-Dark
+\item[] \photosymbol[3]{ReactiveX-Light} ReactiveX-Light
+\item[] \photosymbol[3]{RedHat-Dark} RedHat-Dark
+\item[] \photosymbol[3]{RedHat-Light} RedHat-Light
+\item[] \photosymbol[3]{Redis-Dark} Redis-Dark
+\item[] \photosymbol[3]{Redis-Light} Redis-Light
+\item[] \photosymbol[3]{Redux} Redux
+\item[] \photosymbol[3]{Regex-Dark} Regex-Dark
+\item[] \photosymbol[3]{Regex-Light} Regex-Light
+\item[] \photosymbol[3]{Remix-Dark} Remix-Dark
+\item[] \photosymbol[3]{Remix-Light} Remix-Light
+\item[] \photosymbol[3]{Replit-Dark} Replit-Dark
+\item[] \photosymbol[3]{Replit-Light} Replit-Light
+\item[] \photosymbol[3]{Rider-Dark} Rider-Dark
+\item[] \photosymbol[3]{Rider-Light} Rider-Light
+\item[] \photosymbol[3]{RobloxStudio} RobloxStudio
+\item[] \photosymbol[3]{Rocket} Rocket
+\item[] \photosymbol[3]{RollupJS-Dark} RollupJS-Dark
+\item[] \photosymbol[3]{RollupJS-Light} RollupJS-Light
+\item[] \photosymbol[3]{ROS-Dark} ROS-Dark
+\item[] \photosymbol[3]{ROS-Light} ROS-Light
+\item[] \photosymbol[3]{Ruby} Ruby
+\item[] \photosymbol[3]{Rust} Rust
+\item[] \photosymbol[3]{Sass} Sass
+\item[] \photosymbol[3]{Scala-Dark} Scala-Dark
+\item[] \photosymbol[3]{Scala-Light} Scala-Light
+\item[] \photosymbol[3]{ScikitLearn-Dark} ScikitLearn-Dark
+\item[] \photosymbol[3]{SciKitLearn-Light} SciKitLearn-Light
+\item[] \photosymbol[3]{Selenium} Selenium
+\item[] \photosymbol[3]{Sentry} Sentry
+\item[] \photosymbol[3]{Sequelize-Dark} Sequelize-Dark
+\item[] \photosymbol[3]{Sequelize-Light} Sequelize-Light
+\item[] \photosymbol[3]{Sketchup-Dark} Sketchup-Dark
+\item[] \photosymbol[3]{Sketchup-Light} Sketchup-Light
+\item[] \photosymbol[3]{Solidity} Solidity
+\item[] \photosymbol[3]{SolidJS-Dark} SolidJS-Dark
+\item[] \photosymbol[3]{SolidJS-Light} SolidJS-Light
+\item[] \photosymbol[3]{Spring-Dark} Spring-Dark
+\item[] \photosymbol[3]{Spring-Light} Spring-Light
+\item[] \photosymbol[3]{SQLite} SQLite
+\item[] \photosymbol[3]{StackOverflow-Dark} StackOverflow-Dark
+\item[] \photosymbol[3]{StackOverflow-Light} StackOverflow-Light
+\item[] \photosymbol[3]{StyledComponents} StyledComponents
+\item[] \photosymbol[3]{Sublime-Dark} Sublime-Dark
+\item[] \photosymbol[3]{Sublime-Light} Sublime-Light
+\item[] \photosymbol[3]{Supabase-Dark} Supabase-Dark
+\item[] \photosymbol[3]{Supabase-Light} Supabase-Light
+\item[] \photosymbol[3]{Svelte} Svelte
+\item[] \photosymbol[3]{SVG-Dark} SVG-Dark
+\item[] \photosymbol[3]{SVG-Light} SVG-Light
+\item[] \photosymbol[3]{Swift} Swift
+\item[] \photosymbol[3]{Symfony-Dark} Symfony-Dark
+\item[] \photosymbol[3]{Symfony-Light} Symfony-Light
+\item[] \photosymbol[3]{TailwindCSS-Dark} TailwindCSS-Dark
+\item[] \photosymbol[3]{TailwindCSS-Light} TailwindCSS-Light
+\item[] \photosymbol[3]{Tauri-Dark} Tauri-Dark
+\item[] \photosymbol[3]{Tauri-Light} Tauri-Light
+\item[] \photosymbol[3]{TensorFlow-Dark} TensorFlow-Dark
+\item[] \photosymbol[3]{TensorFlow-Light} TensorFlow-Light
+\item[] \photosymbol[3]{Terraform-Dark} Terraform-Dark
+\item[] \photosymbol[3]{Terraform-Light} Terraform-Light
+\item[] \photosymbol[3]{ThreeJS-Dark} ThreeJS-Dark
+\item[] \photosymbol[3]{ThreeJS-Light} ThreeJS-Light
+\item[] \photosymbol[3]{Twitter} Twitter
+\item[] \photosymbol[3]{TypeScript} TypeScript
+\item[] \photosymbol[3]{Ubuntu-Dark} Ubuntu-Dark
+\item[] \photosymbol[3]{Ubuntu-Light} Ubuntu-Light
+\item[] \photosymbol[3]{Unity-Dark} Unity-Dark
+\item[] \photosymbol[3]{Unity-Light} Unity-Light
+\item[] \photosymbol[3]{UnrealEngine} UnrealEngine
+\item[] \photosymbol[3]{V-Dark} V-Dark
+\item[] \photosymbol[3]{V-Light} V-Light
+\item[] \photosymbol[3]{Vala} Vala
+\item[] \photosymbol[3]{Vercel-Dark} Vercel-Dark
+\item[] \photosymbol[3]{Vercel-Light} Vercel-Light
+\item[] \photosymbol[3]{VIM-Dark} VIM-Dark
+\item[] \photosymbol[3]{VIM-Light} VIM-Light
+\item[] \photosymbol[3]{VisualStudio-Dark} VisualStudio-Dark
+\item[] \photosymbol[3]{VisualStudio-Light} VisualStudio-Light
+\item[] \photosymbol[3]{Vite-Dark} Vite-Dark
+\item[] \photosymbol[3]{Vite-Light} Vite-Light
+\item[] \photosymbol[3]{Vitest-Dark} Vitest-Dark
+\item[] \photosymbol[3]{Vitest-Light} Vitest-Light
+\item[] \photosymbol[3]{VSCode-Dark} VSCode-Dark
+\item[] \photosymbol[3]{VSCode-Light} VSCode-Light
+\item[] \photosymbol[3]{VSCodium-Dark} VSCodium-Dark
+\item[] \photosymbol[3]{VSCodium-Light} VSCodium-Light
+\item[] \photosymbol[3]{VueJS-Dark} VueJS-Dark
+\item[] \photosymbol[3]{VueJS-Light} VueJS-Light
+\item[] \photosymbol[3]{Vuetify-Dark} Vuetify-Dark
+\item[] \photosymbol[3]{Vuetify-Light} Vuetify-Light
+\item[] \photosymbol[3]{WebAssembly} WebAssembly
+\item[] \photosymbol[3]{Webflow} Webflow
+\item[] \photosymbol[3]{Webpack-Dark} Webpack-Dark
+\item[] \photosymbol[3]{Webpack-Light} Webpack-Light
+\item[] \photosymbol[3]{WebStorm-Dark} WebStorm-Dark
+\item[] \photosymbol[3]{WebStorm-Light} WebStorm-Light
+\item[] \photosymbol[3]{WindiCSS-Dark} WindiCSS-Dark
+\item[] \photosymbol[3]{WindiCSS-Light} WindiCSS-Light
+\item[] \photosymbol[3]{Windows-Dark} Windows-Dark
+\item[] \photosymbol[3]{Windows-Light} Windows-Light
+\item[] \photosymbol[3]{Wordpress} Wordpress
+\item[] \photosymbol[3]{Workers-Dark} Workers-Dark
+\item[] \photosymbol[3]{Workers-Light} Workers-Light
+\item[] \photosymbol[3]{XD} XD
+\item[] \photosymbol[3]{Yarn-Dark} Yarn-Dark
+\item[] \photosymbol[3]{Yarn-Light} Yarn-Light
+\item[] \photosymbol[3]{Yew-Dark} Yew-Dark
+\item[] \photosymbol[3]{Yew-Light} Yew-Light
+\item[] \photosymbol[3]{Zig-Dark} Zig-Dark
+\item[] \photosymbol[3]{Zig-Light} Zig-Light
+\end{itemize}
+\end{multicols}
+
+\section*{License}
+This package and its included icon images, taken from \href{https://github.com/tandpfun/skill-icons}{https://github.com/tandpfun/skill-icons}, are released under the \href{https://opensource.org/license/mit}{MIT} license.
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index 2f512d8f75..5ad9b3e360 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index 117a0e167b..9646dc1e00 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -9,7 +9,7 @@
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/02/16}{1.46e}
+\ProvidesExplPackage{spbmark}{2024/05/13}{1.46i}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -18,7 +18,6 @@
\cs_generate_variant:Nn \dim_gset:Nn { Nv }
\cs_generate_variant:Nn \dim_abs:n { V,v }
\cs_generate_variant:Nn \dim_compare:nNnTF { V,v }
-\cs_generate_variant:Nn \msg_warning:nnn { nnV }
\cs_generate_variant:Nn \str_case:nn { x }
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_generate_variant:Nn \tl_if_blank:nF { v }
@@ -28,8 +27,8 @@
\cs_set_eq:NN \spb@math@super@save \sp
\cs_set_eq:NN \spb@math@sub@save \sb
\cs_set_eq:NN \spb@@makefnmark@save \@makefnmark
-\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/style } }
-\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/style } }
+\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/tools } }
+\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/tools } }
\cs_set_eq:NN \spbset \spb_set:n
\keys_define:nn { spbmark/option }
{
@@ -157,13 +156,13 @@
}
\cs_new:Npn \spb_box_super_move_up_i:n #1
- { \box_move_up:nn {#1} { \box_use:N \l__super_i_inner_box } }
+ { \box_move_up:nn {#1} { \box_use:N \g__super_i_inner_box } }
\cs_new:Npn \spb_box_sub_move_down_i:n #1
- { \box_move_down:nn {#1} { \box_use:N \l__sub_i_inner_box } }
+ { \box_move_down:nn {#1} { \box_use:N \g__sub_i_inner_box } }
\cs_new:Npn \spb_box_super_move_up_ii:n #1
- { \box_move_up:nn {#1} { \box_use:N \l__super_ii_box } }
+ { \box_move_up:nn {#1} { \box_use:N \g__super_ii_box } }
\cs_new:Npn \spb_box_sub_move_down_ii:n #1
- { \box_move_down:nn {#1} { \box_use:N \l__sub_ii_box } }
+ { \box_move_down:nn {#1} { \box_use:N \g__sub_ii_box } }
\cs_new:Npn \spb_box_vmove_i:nn #1
{
\str_case:nn {#1}
@@ -256,28 +255,28 @@
\cs_new_protected:Npn \spb_ht_dp_assign:nnnn #1#2#3#4
{
\tl_if_blank:vF { l__#1_height_#3_tl }
- { \box_set_ht:cv { l__#1_#3#4_box } { l__#1_height_#3_tl } }
+ { \box_set_ht:cv { g__#1_#3#4_box } { l__#1_height_#3_tl } }
\tl_if_blank:vF { l__#1_depth_i_tl }
- { \box_set_dp:cv { l__#2_#3#4_box } { l__#2_depth_#3_tl } }
+ { \box_set_dp:cv { g__#2_#3#4_box } { l__#2_depth_#3_tl } }
}
-\box_new:N \l__super_i_outer_box
-\box_new:N \l__super_i_inner_box
-\box_new:N \l__sub_i_outer_box
-\box_new:N \l__sub_i_inner_box
-\box_new:N \l__super_ii_box
-\box_new:N \l__sub_ii_box
+\box_new:N \g__super_i_outer_box
+\box_new:N \g__super_i_inner_box
+\box_new:N \g__sub_i_outer_box
+\box_new:N \g__sub_i_inner_box
+\box_new:N \g__super_ii_box
+\box_new:N \g__sub_ii_box
\dim_new:N \llastwd
\dim_new:N \clastwd
\dim_new:N \rlastwd
-\tl_set:Nn \superwd { \box_wd:N \l__super_ii_box }
-\tl_set:Nn \subwd { \box_wd:N \l__sub_ii_box }
+\tl_set:Nn \superwd { \box_wd:N \g__super_ii_box }
+\tl_set:Nn \subwd { \box_wd:N \g__sub_ii_box }
\tl_set:Nn \maxwd { \dim_max:VV \superwd \subwd }
-\tl_set:Nn \l__spb_box_super_wd_i_tl { \box_wd:N \l__super_i_inner_box }
-\tl_set:Nn \l__spb_box_sub_wd_i_tl { \box_wd:N \l__sub_i_inner_box }
+\tl_set:Nn \l__spb_box_super_wd_i_tl { \box_wd:N \g__super_i_inner_box }
+\tl_set:Nn \l__spb_box_sub_wd_i_tl { \box_wd:N \g__sub_i_inner_box }
\cs_new:Npn \spb_math_print_store_i:nn #1#2
{
- \hbox_gset:cn { l__#1_i_inner_box }
+ \hbox_gset:cn { g__#1_i_inner_box }
{
\ensuremath
{
@@ -289,7 +288,7 @@
}
\cs_new:Npn \spb_text_print_store_i:nn #1#2
{
- \hbox_gset:cn { l__#1_i_inner_box }
+ \hbox_gset:cn { g__#1_i_inner_box }
{
\use:c { spb@text#1script@save }
{ \tl_use:c { l__spb_#1_cmd_i_tl }{#2} }
@@ -298,16 +297,16 @@
}
\cs_new:Npn \spb_math_print_store_ii:nn #1#2
{
- \hbox_gset:Nn \l__super_ii_box
+ \hbox_gset:Nn \g__super_ii_box
{ \ensuremath{\spb@math@super@save{\l__spb_super_cmd_ii_tl{#1}}} }
- \hbox_gset:Nn \l__sub_ii_box
+ \hbox_gset:Nn \g__sub_ii_box
{ \ensuremath{\spb@math@sub@save{\l__spb_sub_cmd_ii_tl{#2}}} }
}
\cs_new:Npn \spb_text_print_store_ii:nn #1#2
{
- \hbox_gset:Nn \l__super_ii_box
+ \hbox_gset:Nn \g__super_ii_box
{ \spb@textsuperscript@save{\l__spb_super_cmd_ii_tl{#1}} }
- \hbox_gset:Nn \l__sub_ii_box
+ \hbox_gset:Nn \g__sub_ii_box
{ \spb@textsubscript@save{\l__spb_sub_cmd_ii_tl{#2}} }
}
\cs_set_eq:NN \spbifmath \use_ii:nn
@@ -408,7 +407,7 @@
\spb_mode_switch:nnn {#1} {##4} { i }
\spb_content_hbox_set:nn {#1} {##1}
\spb_ht_dp_assign:nnnn {#1} {#1} { i } { _outer }
- \box_use:c { l__#1_i_outer_box }
+ \box_use:c { g__#1_i_outer_box }
\exp_last_unbraced:Nx
\group_end:
{
@@ -422,7 +421,7 @@
{
\dim_gset:Nn \clastwd { (\llastwd + \rlastwd)/2 }
\tl_set:Nn \abs@hmove@i { \dim_abs:v { l__spb_#1_hmove_tl } }
- \hbox_set:cn { l__#1_i_outer_box }
+ \hbox_gset:cn { g__#1_i_outer_box }
{
\dim_compare:vNnTF { l__spb_#1_hmove_tl } < { 0pt }
{
@@ -545,7 +544,7 @@
\IfPackageLoadedTF{easybase}
{\AddToHook{package/easybase/after}}
{\use:n}
- { \keys_define:nn { } { ctex/style .inherit:n = spbmark/option } }
+ { \keys_define:nn { } { ctex/tools .inherit:n = spbmark/option } }
\IfFormatAtLeastTF{2021/11/15}
{
\AddToHook{package/altsubsup/after}
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index 3235237822..e631b4c210 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -2,13 +2,14 @@
\usepackage{siunitx,setspace,pifont,hologo}
\usepackage[spbmark]{altsubsup}
+\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = spbmark,
title = the spbmark package,
- version = v1.46e,
- date = 2024/02/16,
+ version = v1.46i,
+ date = 2024/05/13,
authors = Qu Yi,
info = Customize superscript and subscript,
email = toquyi@163.com,
@@ -39,21 +40,21 @@
\newsplitarg{\splitoarg}{[}{]}
\newsplitarg{\splitmarg}{\{}{\}}
\newsplitarg{\splitdarg}{(}{)}
-\newnote{\newtag}[1][New]{\textcolor{red}{\ding{73}\ #1}}
+\newnote{\newtag}[1][New]{\textcolor{red}{#1}}
\renewcommand{\emph}[1]{\textcolor{red}{#1}}
\renewcommand{\cnltx@write@lastname}{}
\makeatother
\begin{document}
\section{Macro package options}
-The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{sbpset}.
+The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}.
\begin{options}
\keychoice{text}{true,\fbox{false}}\newtag[Changed]%
- \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. At this point, you can use the \cs{defspbstyle} command to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
+ \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. You can also use the \cs{defspbstyle} command to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
\keychoice{math}{true,\fbox{false}}\newtag[Changed]%
- \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. At this point, you can use the \cs{defspbstyle} command to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
+ \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. You can also use the \cs{defspbstyle} command to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
\keychoice{foot}{true,\fbox{false}}\newtag[Changed]%
- The format of the footnote mark match the superscript global move and format settings. At this point, you can use the \cs{defspbstyle} command to define the superscript style \code{fnmark} to change the format of the footnote mark.
+ The format of the footnote mark match the superscript global move and format settings. You can also use the \cs{defspbstyle} command to define the superscript style \code{fnmark} to change the format of the footnote mark.
\begin{example}[code-only]
\defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries}
\defspbstyle{mathsb}{hmove=0.5em}
diff --git a/macros/latex/contrib/synthslant/LICENSE b/macros/latex/contrib/synthslant/LICENSE
new file mode 100644
index 0000000000..f8b699e6eb
--- /dev/null
+++ b/macros/latex/contrib/synthslant/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/synthslant/Makefile b/macros/latex/contrib/synthslant/Makefile
new file mode 100644
index 0000000000..d8de419230
--- /dev/null
+++ b/macros/latex/contrib/synthslant/Makefile
@@ -0,0 +1,302 @@
+### name: Makefile
+### synopsis: Build `synthslant' style file and documentation
+### author: Dr. Christoph L. Spiel
+### GNU make version: 4.3
+
+
+SHELL := /bin/sh
+
+
+BASE64 := base64
+BASE64_FLAGS :=
+
+
+DVIPDFMX := dvipdfmx
+DVIPDFMX_FLAGS :=
+
+
+DVIPS := dvips
+DVIPS_FLAGS := -d1 # debug \special{}
+
+
+LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
+LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
+
+
+MAKEINDEX := makeindex
+MAKEINDEX_FLAGS := -q
+
+
+METAPOST := mpost
+METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
+
+
+SPELLCHECK := aspell
+SPELLCHECK_FLAGS := \
+ --add-tex-command='citenum p' --add-tex-command='code p' \
+ --add-tex-command='Cref p' --add-tex-command='cref p' \
+ --add-tex-command='cs p' \
+ --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
+ --add-tex-command='marg p' --add-tex-command='meta p' \
+ --add-tex-command='oarg p' \
+ --lang=en_US --mode=tex
+
+
+SOURCE_FILES := LICENSE Makefile synthslant.dtx synthslant.ins
+
+
+
+.PHONY: all
+all: sty pdf
+
+
+.PHONY: sty
+sty: synthslant.sty
+
+
+.PHONY: pdf
+pdf: doc gauge
+
+
+.PHONY: doc
+doc: synthslant.pdf
+
+
+.PHONY: gauge
+gauge: synthslant-gauge.pdf
+
+
+.PHONY: cpio
+cpio:
+ cd ..; \
+ echo $(addprefix synthslant/,$(SOURCE_FILES)) | \
+ cpio -o | \
+ gzip > "synthslant-$$(date +%Y-%m-%d).cpio.gz"
+
+
+.PHONY: tar
+tar:
+ cd ..; \
+ tar czf "synthslant-$$(date +%Y-%m-%d).tar.gz" \
+ $(addprefix synthslant/,$(SOURCE_FILES))
+
+
+.PHONY: clean
+clean:
+ $(RM) ./*.aux ./*.brf ./*.dvi ./*.glg ./*.glo ./*.gls
+ $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.loe ./*.lof ./*.log ./*.lot
+ $(RM) ./*.mp ./*.mps ./*.mpx ./*.out ./*.pdf ./*.ps ./*.toc
+ $(RM) mptextmp.* mpxerr.tex
+ $(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
+ $(RM) compare-with-the-gimp.eps compare-with-the-gimp.png
+
+
+.PHONY: mostlyclean
+mostlyclean: clean
+
+
+.PHONY: maintainer-clean
+maintainer-clean: mostlyclean
+ $(RM) ./*.base64 ./*.ist ./*.mp ./*.sty ./*.tex
+
+
+.PHONY: perf
+perf: synthslant-gauge.tex synthslant.sty
+ perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction batchmode -draftmode $<
+
+
+.PHONY: tool-check
+tool-check:
+ @printf '*** LATEX = "%s"\n' '$(LATEX)'
+ $(LATEX) --version
+ @printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
+ $(MAKEINDEX) < /dev/null
+ @printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
+ $(METAPOST) --version
+ @printf '\n*** BASE64 = "%s"\n' '$(BASE64)'
+ $(BASE64) --version
+ @printf '\n\nTool check passed.\n'
+
+
+.PHONY: spell-check
+spell-check:
+ @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
+ -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < synthslant.dtx | \
+ sed -e 's/^ *%%*//' | \
+ sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
+ $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
+ sort | uniq | fmt | sed -e 's/ / /g'
+
+
+.PHONY: update-docs
+update-docs: pdf
+ cp -f synthslant.pdf synthslant-gauge.pdf docs
+
+
+define HELP_SCREEN
+Selected Phony Targets
+----------------------
+all: Make everything there is to make. This is the .DEFAULT_GOAL.
+
+clean: Remove some products.
+
+cpio: In the parent directory create a cpio(1) archive of the
+ project source files whose name is time-stamped.
+
+doc: Build "synthslant.pdf" the Syntslant documentation.
+
+gauge: Build "synthslant-gauge.pdf" the Syntslant gauge and example
+ file.
+
+maintainer-clean: Remove every product file that can be rebuilt even
+ if uncommon tools are necessary.
+
+mostlyclean: Remove some more products than clean:.
+
+pdf: Build doc: and gauge:.
+
+sty: Only extract "synthslant.sty" from "synthslant.dtx". This
+ operation requires LaTeX (-> $(LATEX)) and nothing else.
+
+tar: In the parent directory create a tar(1) file of the project
+ source files whose name is time-stamped.
+
+tool-check: Check whether some of the required tools to build the
+ project are available.
+
+
+Selected Implicit Rules
+-----------------------
+%.dvi %.pdf: %.dtx
+ Run LaTeX or pdfLaTeX (-> $(LATEX)) on dtx source until a
+ fix-point is reached.
+
+%.dvi %.pdf: %.tex
+ Run LaTeX or pdfLaTeX (-> $(LATEX)) on tex file until a
+ fix-point is reached.
+
+%.mx.pdf: %.dvi
+ Convert dvi to pdf via dvipdfmx (-> $(DVIPDFMX)).
+
+%.ps: %.dvi
+ Convert dvi to ps via dvips (-> $(DVIPS)).
+
+
+Some Explicit Rules
+-------------------
+README.html:
+ Convert "README.md" to html. Requires markdown(1).
+
+README: Convert "README.html" to plain text. Requires w3m(1).
+
+endef
+
+.PHONY: help
+help:
+ $(info $(HELP_SCREEN))
+
+
+
+.PRECIOUS: %.mps
+
+
+
+define MAKE_INDEX_AND_GLOSSARY
+sed -e '/@/d' < $*.idx > ,$*.idx; mv ,$*.idx $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s synthslant.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+endef
+
+define GREP_LATEX_WARNINGS
+test -e $*.log && grep -E $(LATEX_WARNING) $*.log | uniq
+endef
+
+%.dvi %.pdf: %.dtx
+ $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.gls ./$*.glo ./$*.lof ./$*.lot ./$*.toc
+ $(LATEX) $(LATEX_FLAGS) -draftmode $<
+ $(MAKE_INDEX_AND_GLOSSARY)
+ $(LATEX) $(LATEX_FLAGS) $<
+ $(MAKE_INDEX_AND_GLOSSARY)
+ while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \
+ do \
+ $(LATEX) $(LATEX_FLAGS) $<; \
+ $(MAKE_INDEX_AND_GLOSSARY); \
+ done
+ $(GREP_LATEX_WARNINGS)
+
+
+%.dvi: LATEX=latex
+
+
+%.dvi %.pdf: %.tex
+ $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.lof ./$*.lot ./$*.toc
+ $(LATEX) $(LATEX_FLAGS) -draftmode $<
+ $(LATEX) $(LATEX_FLAGS) $<
+ while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \
+ do \
+ $(LATEX) $(LATEX_FLAGS) $<; \
+ done
+ $(GREP_LATEX_WARNINGS)
+
+
+%.mx.pdf: %.dvi
+ $(DVIPDFMX) $(DVIPDFMX_FLAGS) -o $@ $<
+
+
+%.ps: %.dvi
+ $(DVIPS) $(DVIPS_FLAGS) -o $@ $<
+
+
+%.mps: %.mp
+ $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $<
+
+
+%.eps: %.png
+ convert $< -compress lzw eps2:$@
+
+
+%.html: %.md
+ markdown $< > $@
+
+%: %.html
+ w3m -cols 79 $< > $@
+
+
+
+synthslant.sty synthslant.ist synthslant-gauge.tex \
+compare-with-the-gimp.png.base64 shear-transform.mp title.mp: \
+ synthslant.ins synthslant.dtx
+ $(LATEX) $(LATEX_FLAGS) $<
+
+
+synthslant.pdf: \
+ synthslant.dtx \
+ compare-with-the-gimp.png \
+ shear-transform.mps \
+ title.mps \
+ | synthslant.sty
+
+synthslant.dvi: \
+ synthslant.dtx \
+ compare-with-the-gimp.eps \
+ shear-transform.mps \
+ title.mps
+
+
+compare-with-the-gimp.png: compare-with-the-gimp.png.base64
+ $(BASE64) $(BASE64_FLAGS) --decode $< > $@
+
+
+shear-transform.mps: shear-transform.mp
+
+
+title.mps: title.mp
+
+
+## compare-with-the-gimp.png: compare-with-the-gimp.orig.png
+## convert $< -depth 8 -resize 50% -set colorspace Gray -separate -average $@
+##
+## compare-with-the-gimp.png.base64: compare-with-the-gimp.png
+## $(BASE64) $(BASE64_FLAGS) $< > $@
diff --git a/macros/latex/contrib/synthslant/README.md b/macros/latex/contrib/synthslant/README.md
new file mode 100644
index 0000000000..1b1c719189
--- /dev/null
+++ b/macros/latex/contrib/synthslant/README.md
@@ -0,0 +1,64 @@
+# SynthSlant &ndash; Synthetic slanting of glyphs
+
+LaTeX package `synthslant` slants short pieces of text to the right or to the left.
+
+
+## Installation
+
+The minimally necessary files to install synthslant are *synthslant.ins* and *synthslant.dtx*.
+Running LaTeX on *synthslant.ins* in particular produces *synthslant.sty*:
+
+ latex synthslant.ins
+
+After extraction from *synthslant.dtx* place *synthslant.sty* in a directory mentioned in your
+TEXINPUTS paths or copy it into one of the directories for your LaTeX installation's *sty*-files
+and run **mktexlsr** or equivalent.
+
+To build the documentation it is easier to use the GNU *Makefile*:
+
+ make
+
+LuaLaTeX users will want to override the default LaTeX command **pdflatex** with **lualatex** by
+saying
+
+ make LATEX=lualatex
+
+To construct the manual *synthslant.pdf* a working [MetaPost](https://tug.org/metapost.html)
+installation is required. Moreover, besides the usual POSIX utilities
+[**base64**](https://www.gnu.org/software/coreutils/manual/html_node/base64-invocation.html) is
+needed to recover the graphics file stored as printable ASCII characters inside of
+*synthslant.dtx*. Cautious users can run
+
+ make tool-check
+
+ahead to verify that the required utilities are installed and working.
+For an overview over the most important *Makefile* targets use
+
+ make help
+
+
+## Usage
+
+Load the package with the usual incantation
+
+ \usepackage{synthslant}
+
+See Section 2 of the package documentation for available options.
+
+
+## Documentation
+
+The package documentation can be found
+[online](https://cspiel.github.io/synthslant/).
+
+
+## Credits
+
+Synthslant is written by Ch. L. Spiel <cspiel@users.sourceforge.org>.
+
+
+## License
+
+Released under the
+[LaTeX Project Public License v1.3c](https://www.latex-project.org/lppl.txt)
+or later.
diff --git a/macros/latex/contrib/synthslant/RELEASE-HOWTO.md b/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
new file mode 100644
index 0000000000..13435ef66d
--- /dev/null
+++ b/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
@@ -0,0 +1,51 @@
+# How to prepare a new release
+
+... and not make too many mistakes.
+
+
+1. Check that the work-area is clean with respect to **git**-tracked
+ files.
+
+ ``` git status ```
+
+1. Update the date stamp of `\ProvidesPackage`.
+
+1. (Temporarily) Zero the `\overfullrule`s of the documentation and
+ the example files.
+
+1. Thoroughly clean the work-area:
+
+ ```make maintainer-clean```
+
+1. Rebuild:
+
+ ```make```
+
+1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
+
+1. Push the documentation files created in the previous step down into
+ the *docs* directory:
+
+ ```make update-docs```
+
+1. Undo the `\overfullrule` change.
+
+1. Commit the changes:
+
+ ```
+ git add .
+ ```
+
+ and finally
+
+ ```
+ git commit
+ ```
+
+1. Tag the commit with the version string of `\ProvidesPackage`:
+
+ ```git tag v1.23```
+
+1. Push the changes to the public repository:
+
+ ```git push origin master --tags```
diff --git a/macros/latex/contrib/synthslant/docs/index.md b/macros/latex/contrib/synthslant/docs/index.md
new file mode 100644
index 0000000000..c8c312f388
--- /dev/null
+++ b/macros/latex/contrib/synthslant/docs/index.md
@@ -0,0 +1,4 @@
+### Package Documentation
+
+- Comprehensive `synthslant` documentation: [synthslant.pdf](https://cspiel.github.io/synthslant/synthslant.pdf)
+- `synthslant` test and demonstration: [synthslant-gauge.pdf](https://cspiel.github.io/synthslant/synthslant-gauge.pdf)
diff --git a/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
new file mode 100644
index 0000000000..425e7944ef
--- /dev/null
+++ b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/docs/synthslant.pdf b/macros/latex/contrib/synthslant/docs/synthslant.pdf
new file mode 100644
index 0000000000..9b034b86c3
--- /dev/null
+++ b/macros/latex/contrib/synthslant/docs/synthslant.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/synthslant.dtx b/macros/latex/contrib/synthslant/synthslant.dtx
new file mode 100644
index 0000000000..f5424cf7fa
--- /dev/null
+++ b/macros/latex/contrib/synthslant/synthslant.dtx
@@ -0,0 +1,5264 @@
+% \iffalse
+%
+% Copyright (C) 2024 by Ch. L. Spiel
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3 of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+
+\tracingonline=0
+
+%--\OnlyDescription
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+
+\PassOptionsToClass{a4paper}{article}
+\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
+\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
+\PassOptionsToPackage{dvipsnames}{xcolor}
+
+\usepackage{amsmath}
+\usepackage{booktabs}
+\usepackage{caption}
+\usepackage{dtk-logos}
+\usepackage{enumitem}
+\usepackage{etoolbox}%--\tracingpatches
+\usepackage{fancyhdr}
+\usepackage[T1]{fontenc}
+\usepackage{fullwidth}
+\usepackage{hypdoc}
+\usepackage{hyphenat}
+\usepackage{mathtools}
+\iftrue
+ \usepackage[letterspace=0, shrink=10, stretch=10, tracking=true]{microtype}
+ \DeclareMicrotypeSet[tracking]{italics}
+ {encoding=*, font={SourceSerifPro-LF/m/it/*}}
+ \UseMicrotypeSet[tracking]{italics}
+ \SetTracking[context=synthnegslant, no ligatures={f}, spacing={10*,,}]
+ {encoding=*, shape=it}{10}
+\else
+ \newcommand*{\textls}[2][]{#2}
+\fi
+\usepackage{needspace}
+\usepackage{ragged2e}
+\usepackage{setspace}
+\usepackage[slant=.18, negslant=-.16]{synthslant}
+\usepackage{titlesec}
+\usepackage{tcolorbox}
+\usepackage{titlesec}\renewcommand*{\bottomtitlespace}{.15\textheight}%nobottomtitles*
+\usepackage{wrapfig}
+\usepackage{xcolor}
+
+
+\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
+\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
+\usepackage[lining, regular]{sourcecodepro}
+\usepackage[xcharter]{newtxmath}
+\setstretch{1.04166}% \baselineskip: 12.5pt
+
+
+\makeatletter
+\def\@get@fontclan#1-#2\relax{#1}
+\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
+\makeatother
+
+\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+
+\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+
+\newcommand*{\nativetextfraction}[2]
+ {\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
+
+\makeatletter
+\renewcommand*{\@makefnmark}{\hbox{\sf\textsuperior{\@thefnmark}}}
+\newenvironment*{tabfigures}
+ {\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
+ {\ignorespacesafterend}
+
+\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
+\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
+\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
+\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
+%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
+%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
+\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
+\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
+\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
+\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
+\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
+\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
+\makeatother
+
+
+\usepackage{cleveref}
+
+
+\expandafter\GetFileInfo\expandafter{\jobname.sty}
+\def\aspdfdate#1/#2/#3\relax{D:#1#2#3}
+\edef\pdffiledate{\expandafter\aspdfdate\filedate\relax}
+
+\hypersetup{
+ citecolor = blue,
+ colorlinks = true,
+ linkcolor = blue,
+ linktocpage = false,
+ pdfauthor={Dr. Christoph L. Spiel},
+ pdfcreationdate={\pdffiledate},
+ pdfkeywords={LaTeX, font, italic, oblique, slant, upright},
+ pdflang=en-US,
+ pdfsubject={Synthetic generation of slanted glyphs in LaTeX},
+ pdftitle={Package synthslant \fileversion},
+ raiselinks = false,
+ urlcolor = [rgb]{0, 0, .5}% = navy
+}
+
+
+\makeatletter
+\renewcommand*{\@dotsep}{10000} % suppress leaders
+\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\makeatother
+
+
+\Crefname{equation}{Equation}{Equations}
+\crefname{equation}{Equ.}{Equs.}
+\creflabelformat{equation}{#2#1#3}
+
+\Crefname{figure}{Figure}{Figures}
+\crefname{figure}{Fig.}{Figs.}
+
+\Crefname{page}{Page}{Pages}
+\crefname{page}{p.}{p.}
+
+\Crefname{section}{Section}{Sections}
+\crefname{section}{Sec.}{Secs.}
+
+\Crefname{table}{Table}{Tables}
+\crefname{table}{Tab.}{Tabs.}
+
+
+\newcommand*{\floatcaptionwidth}{.79\textwidth}
+
+\captionsetup[figure]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[table]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
+
+
+\newsavebox{\listlabelbox}
+
+\sbox{\listlabelbox}{---}
+\SetEnumitemKey{noindent}{
+ label={---},
+ labelwidth=\wd\listlabelbox,
+ leftmargin=!
+}
+
+\SetEnumitemKey{nestedinspecialsection}{
+ leftmargin=10pt
+}
+
+\SetEnumitemKey{notopsep}{
+ after=\vskip.8em plus .2em minus .4em,
+ partopsep=0pt,
+ topsep=0pt
+}
+
+
+\newlength{\marginindicatorsep}
+\setlength{\marginindicatorsep}{10pt}
+
+\newcommand*{\marginalizesectionnumber}[1]
+ {\makebox[0pt][r]{#1\hspace{\marginindicatorsep}}}
+
+
+\fancypagestyle{pagenumberonly}{
+ \fancyhead[L]{}
+ \fancyhead[R]{\thepage}
+}
+\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[L]{\rightmark}
+\fancyhead[R]{\textsf{\thepage}}
+\newcommand*{\resetfancyhead}
+ {\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
+
+\renewcommand*{\headrulewidth}{0pt}
+\renewcommand*{\sectionmark}[1]
+ {\def\truesectionname{#1}%
+ \markright{\textsf{\marginalizesectionnumber{\thesection}%
+ \textsc{\textls[20]{#1}}}}}
+\renewcommand*{\subsectionmark}[1]
+ {\markright{\textsf{\marginalizesectionnumber{\thesubsection}%
+ \textsc{\textls[20]{\truesectionname:\enspace}}#1}}}
+
+
+\titleformat{\section}[hang]
+ {\sffamily\Large\bfseries}{\marginalizesectionnumber{\thesection}}{0pt}{}
+\titleformat{\subsection}[hang]
+ {\sffamily\large\bfseries}{\marginalizesectionnumber{\thesubsection}}{0pt}{}
+\titleformat{\subsubsection}[hang]
+ {\sffamily\normalsize\bfseries}{\marginalizesectionnumber{\thesubsubsection}}{0pt}{}
+\titleformat{\paragraph}[runin]
+ {\sffamily\normalsize\bfseries}{\theparagraph}{1em}{}
+
+
+\let\footnoterule=\relax% suppress footnote rule
+\interfootnotelinepenalty=10000
+
+\makeatletter
+\renewcommand*{\@makefntext}[1]
+ {\noindent
+ \llap{\let\@textsuperscript=\relax% use "normal" figures for the footnote numbers
+ \let\textsuperior=\relax
+ \@makefnmark
+ \hspace{\marginindicatorsep}}% separate the footnote number and the body
+ #1}
+\makeatother
+
+
+\pretocmd{\DescribeEnv}{\needspace{25pt}}{\relax}{\PrependingFailed}
+\pretocmd{\DescribeMacro}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+
+\setcounter{IndexColumns}{2}
+
+
+\setlength{\columnsep}{20pt}
+\setlength{\skip\footins}{25pt}
+\setlength{\overfullrule}{3pt}
+
+
+
+\newrobustcmd*{\acronym}[1]{\mbox{\scshape\MakeLowercase{#1}}}
+
+\newcommand*{\application}[1]{\mbox{\sffamily #1}}
+
+\renewcommand*{\arraystretch}{1.12}
+
+\newcommand*{\bibauthor}[1]{\mbox{\textsc{#1}}}
+\newcommand*{\bibtitle}[1]{\textit{#1}}
+\newcommand*{\biburl}[1]{\url{#1}}
+
+\newcommand*{\bottomstrut}{\rule[-.5em]{0pt}{0pt}}
+
+\newenvironment*{codeexample}
+ {\vspace{.5\smallskipamount}
+ \par
+ \centering
+ \begin{minipage}{\linewidth}
+ \ttfamily
+ \begin{tabbing}}
+ {\end{tabbing}
+ \end{minipage}
+ \par
+ \vspace{.5\smallskipamount}}
+
+\makeatletter
+\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
+\makeatother
+
+\def\code#1{\texttt{#1}}
+
+\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
+
+\newcommand*{\degree}{{}^\circ}
+
+\newcommand*{\doublequotes}[1]{\guillemetright\kern-.03333em #1\guillemetleft}
+
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+
+\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
+
+\newcommand*{\filledrectangle}[2]{\rule{#1}{#2}}
+\newcommand*{\filledsquare}[1]{\filledrectangle{#1}{#1}}
+
+\newcommand*{\foreignphrase}[1]{\textsl{#1}}
+
+\makeatletter
+\renewcommand*{\fps@figure}{htbp}
+\renewcommand*{\fps@table}{htbp}
+\makeatother
+
+\newcommand*{\hollowrectangle}[2]
+ {\setlength{\fboxrule}{.5pt}%
+ \setlength{\fboxsep}{0pt}%
+ \framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
+\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+
+\newcommand*{\logmacro}[1]
+ {\ifdef{#1}
+ {\message{^^JDump of macro \string#1 follows.^^J}
+ \message{\detokenize\expandafter{#1}}
+ \message{^^JEnd macro dump.^^J}}
+ {\message{^^JMacro \string#1 is not defined.^^J}}}
+
+\newenvironment*{maxipage}
+ {\fullwidthsetup{leftmargin=-\marginparsep - \marginparwidth,
+ width=\textwidth + \marginparsep + \marginparwidth}%
+ \begin{fullwidth}}
+ {\end{fullwidth}}
+
+\newenvironment*{multilinecodeexample}
+ {\begin{quote}\tt
+ \def\indent{\mbox{}\hspace{25pt}}%
+ \def\pushright{\mbox{}\hfill}%
+ \ignorespaces}
+ {\end{quote}}
+
+\newcommand*{\needtocspace}[1][3]
+ {\addtocontents{toc}{\protect\needspace{#1\baselineskip}}}
+
+\newcommand*{\numberset}[1]{\mathbb{#1}}
+
+\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
+\newcommand*{\programname}[1]{\mbox{\textbf{#1}}}
+\newcommand*{\propername}[1]{\mbox{\textsc{#1}}}
+
+\newcommand*{\pstrickslogo}{\mbox{PSTricks}}
+
+\newcommand*{\quarterspace}{\hspace{.25em}}
+
+\newcommand*{\sample}[1]
+ {\setbox0=\hbox{#1}% H: 6.19849pt, /: 7.49817
+ \mbox{\raisebox{\dimexpr -.15em - \dp0}{\tiny$\llcorner$}%
+ \kern-.15em\copy0\kern-.15em
+ \raisebox{\ifdim\ht0>.7em\dimexpr\ht0 - .1em\else .45em\fi}{\tiny$\urcorner$}}}
+
+\newcommand*{\sinceversion}[1]{% modeled after \NewIn of "doc.dtx"
+ \leavevmode
+ \marginpar{\hfill\textcolor{\markercolor}{\sf\proportionaloldstylefigures\scshape #1}}%
+ \ignorespaces
+}
+
+\newcommand*{\singlequotes}[1]{\mbox{\guilsinglright #1\guilsinglleft}}
+
+\definecolor{customred1}{rgb}{.890, .282, .282}%-- https://paletton.com/
+\definecolor{customred2}{rgb}{.831, .110, .110}
+\definecolor{customred3}{rgb}{.686, .043, .043}
+\definecolor{customred4}{rgb}{.569, .000, .000}
+\definecolor{customred5}{rgb}{.420, .000, .000}
+\newcommand*{\specialsectionheading}[1]{\textcolor{\markercolor}{\textit{\textbf{#1}}}}
+\newcommand*{\markercolor}{customred4}
+\newcommand*{\specialsectionmarker}{\color{\markercolor}\filledsquare{5pt}}
+\newcommand*{\specialsectionbegin}
+ {\llap{\raisebox{1pt}{\specialsectionmarker}%
+ \hspace{\marginindicatorsep}}}
+\newcommand*{\specialsectionend}
+ {\ifmmode
+ \specialsectionmarker
+ \else
+ \leavevmode
+ \unskip
+ \penalty9999\mbox{}\nobreak
+ \hfill
+ \quad
+ \mbox{\specialsectionmarker}%
+ \fi}
+\newtoggle{printspecialsectionmarker}
+\NewDocumentEnvironment{specialsection}{m m}
+ {\Needspace{4\baselineskip}%
+ \toggletrue{printspecialsectionmarker}%
+ \begin{list}
+ {\specialsectionheading{#1\ifblank{#2}{}{\textup{\space---\space#2}}}}
+ {\itemindent=0pt
+ \labelwidth=10pt
+ \leftmargin=15pt
+ \listparindent=15pt
+ \parsep=0pt
+ \topsep=\medskipamount}
+ \newcommand*{\specialsectionendhere}
+ {\specialsectionend
+ \global\togglefalse{printspecialsectionmarker}}
+ \item
+ \nointerlineskip
+ \leavevmode\par
+ \noindent}
+ {\iftoggle{printspecialsectionmarker}{\specialsectionend}{\relax}%
+ \end{list}}
+
+ \newenvironment*{caution}[1][]{\begin{specialsection}{Caution}{#1}}{\end{specialsection}}
+ \newenvironment*{example}[1][]{\begin{specialsection}{Example}{#1}}{\end{specialsection}}
+ \newenvironment*{futuredirection}[1][]
+ {\begin{specialsection}{Anticipated Changes \& Possible Extensions}{#1}\small}
+ {\end{specialsection}}
+ \newenvironment*{important}[1][]{\begin{specialsection}{Important}{#1}}{\end{specialsection}}
+ \newenvironment*{note}[1][]{\begin{specialsection}{Note}{#1}}{\end{specialsection}}
+ \newenvironment*{notes}[1][]{\begin{specialsection}{Notes}{#1}}{\end{specialsection}}
+ \newenvironment*{tip}[1][]{\begin{specialsection}{Tip}{#1}}{\end{specialsection}}
+ \newenvironment*{tips}[1][]{\begin{specialsection}{Tips}{#1}}{\end{specialsection}}
+ \newenvironment*{usecase}[1][]{\begin{specialsection}{Use Case}{#1}\small}{\end{specialsection}}
+ \newenvironment*{usecases}[1][]{\begin{specialsection}{Use Cases}{#1}\small}{\end{specialsection}}
+
+\newcommand*{\specialcodesectionheading}[1]{\textcolor{\markercolor}{\textbf{\textit{#1}}}}
+\newenvironment*{specialcodesection}[1]
+ {\Needspace{4\baselineskip}%
+ \begin{tcolorbox}[colback=white, colframe=\markercolor,
+ bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ \sffamily
+ \begin{list}
+ {\specialcodesectionheading{#1}}
+ {\itemindent=0pt
+ \labelwidth=20pt
+ \leftmargin=25pt
+ \listparindent=15pt
+ \parsep=0pt
+ \topsep=\medskipamount}
+ \item
+ \nointerlineskip
+ \leavevmode\par
+ \noindent}
+ {\end{list}
+ \end{tcolorbox}}
+ \newenvironment*{anticipatedchange}
+ {\begin{specialcodesection}{Anticipated Change}}
+ {\end{specialcodesection}}
+ \newenvironment*{implementationnote}
+ {\begin{specialcodesection}{Implementation Note}}
+ {\end{specialcodesection}}
+ \newenvironment*{knownbug}
+ {\begin{specialcodesection}{Known Bug}}
+ {\end{specialcodesection}}
+
+\newenvironment*{suspendshortverb}
+ {\DeleteShortVerb{\|}}
+ {\MakeShortVerb{\|}}
+
+\definecolor{cold-silver}{cmyk}{.08, 0, 0, .18}
+\newenvironment*{synopsis}
+ {\begin{tcolorbox}[boxrule=.25pt, colback=cold-silver]%
+ \phantomsection}
+ {\end{tcolorbox}}
+
+\newcommand*{\synthslantlogo}
+ {{\sf
+ S\hspace{-.06em}\synthslantbox{.15}{y}\hspace{.04em}nth%
+ \hspace{-.02em}%
+ Slant}}
+
+\newenvironment*{tablenotes}
+ {\medskip
+ \centering
+ \begin{minipage}{\floatcaptionwidth}}
+ {\end{minipage}}
+\newcommand*{\tablenotemark}[1]{\smash{\textsuperscript{#1}}}
+
+\newcommand*{\termparbox}[1]{\parbox[t]{\linewidth}{#1\bottomstrut}}
+
+\newcommand*{\thousandsseparator}{\mbox{,}}
+
+\newcommand*{\tikzlogo}{\textrm{Ti\textit{k\/}Z}}
+
+\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
+
+\newcommand*{\transpose}[1]{{#1}^{\text{T}}}
+
+\newlength{\ttellipsisgap}
+\setlength{\ttellipsisgap}{.4em}
+\newcommand*{\ttdots}
+ {\setbox0=\hbox{.}%
+ \wd0=0pt%
+ \copy0\kern\ttellipsisgap
+ \copy0\kern\ttellipsisgap
+ \box0\kern\ttellipsisgap}
+
+\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
+
+\newenvironment*{widecodeexample}
+ {\begin{maxipage}
+ \flushright
+ \begin{minipage}{\textwidth}
+ \ttfamily
+ \begin{tabbing}}
+ {\end{tabbing}
+ \end{minipage}
+ \end{maxipage}}
+
+
+\hyphenation{% https://hyphenateit.com/en-us
+}
+
+
+\newcommand*{\librecaslonmapline}
+ {LibreCsln-Italic-osf-t1--base LibreCsln-Italic
+ " -0.12 SlantFont AutoEnc_etzx2kxblronahmbt4swbkr7jb ReEncodeFont "
+ <[lcsln_etzx2k.enc <LibreCsln-Italic.pfb}
+\ifdefined\pdfoutput
+ \ifnum\pdfoutput>0
+ \pdfmapline{=\librecaslonmapline}
+ \else
+ \special{pdf:mapline \librecaslonmapline}
+ \fi
+\else
+ \special{pdf:mapline \librecaslonmapline}
+\fi
+
+
+\begin{document}
+ \DocInput{synthslant.dtx}
+\end{document}
+%</driver>
+%<*index-style>
+actual '='
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 1
+level '>'
+quote '!'
+%</index-style>
+% \fi
+%
+%
+% \DoNotIndex{\-}
+% \DoNotIndex{\begingroup,\bool,\box}
+% \DoNotIndex{\DeclareOptionX,\def,\dim,\dimen,\discretionary,\draw}
+% \DoNotIndex{\edef,\else}
+% \DoNotIndex{\endgroup,\endmicrotypecontext,\endnegslantenvironment,\endslantenvironment}
+% \DoNotIndex{\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
+% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp}
+% \DoNotIndex{\hbox,\hskip}
+% \DoNotIndex{\ifcase,\ifcsdef,\ifdefined,\ifluatex,\ifmmode,\ifnum,\ifpdftex,\ifx,\itshape}
+% \DoNotIndex{\kern}
+% \DoNotIndex{\l,\let,\llap}
+% \DoNotIndex{\mbox,\microtypecontext}
+% \DoNotIndex{\NeedsTeXFormat}
+% \DoNotIndex{\newbox,\newcommand,\NewDocumentCommand,\NewDocumentEnvironment,\newenvironment,\newrobustcmd}
+% \DoNotIndex{\node,\nolinebreak}
+% \DoNotIndex{\or}
+% \DoNotIndex{\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage}
+% \DoNotIndex{\pdfoutput,\pdfrestore,\pdfsave,\pdfsetmatrix,\pstilt}
+% \DoNotIndex{\relax,\RequirePackage}
+% \DoNotIndex{\sbox,\skip,\space}
+% \DoNotIndex{\tikz}
+% \DoNotIndex{\upshape,\usebox}
+% \DoNotIndex{\wd}
+%
+%
+% \changes{v0.1}{2024-2-12}{Initial version}
+%
+%
+% \pagenumbering{roman}
+%
+% \title{\synthslantlogo{} -- Synthetically Slanted Glyphs}
+% \author{Ch.~L.~Spiel\footnote{\quarterspace\texttt{cspiel@users.sourceforge.org}}}
+% \date{\fileversion\qquad \filedate}
+% \maketitle
+% \thispagestyle{empty}
+%
+%
+% \begingroup
+% \let\small=\normalsize
+% \begin{abstract}
+% \noindent
+% Package~\packagename{synthslant} provides macros to slant arbitrary glyphs in both
+% directions. It can be used to fake a real slanted font for \emph{short} pieces of text
+% and it can generate startling effects, like, for example, upright italics.
+% \end{abstract}
+% \endgroup
+%
+%
+% \iffalse
+%<*title>
+prologues := 3;
+
+string roman_font;
+roman_font := "pplr8r"; % URW Palladio L - Roman
+
+string italics_font;
+italics_font := "pplri8r"; % URW Palladio L - Italic
+
+string sample_text;
+sample_text := "fga";
+
+u := 70;
+
+font_scale := 7;
+
+color light_gray;
+light_gray := .8 white;
+
+color original_color, slanted_color;
+original_color := light_gray;
+slanted_color := black;
+
+pair loc[];
+loc[1] := (0, 0); % roman
+loc[2] := (1.9u, 0); % italics
+loc[3] := (2.03u, 1.1u); % slanted roman
+loc[4] := (-.1u, -1.1u); % upright italics
+
+picture roman;
+roman := thelabel.rt(sample_text infont roman_font scaled font_scale, loc[1]);
+
+picture italics;
+italics := thelabel.rt(sample_text infont italics_font scaled font_scale, loc[2]);
+
+picture slanted_roman;
+slanted_roman := thelabel.rt(sample_text infont roman_font scaled font_scale slanted .2, loc[3]);
+
+picture upright_italics;
+upright_italics := thelabel.rt(sample_text infont italics_font scaled font_scale slanted -.2, loc[4]);
+
+
+beginfig(1);
+ draw roman withcolor original_color;
+ draw italics withcolor original_color;
+ draw slanted_roman withcolor slanted_color;
+ draw upright_italics withcolor slanted_color;
+endfig;
+end
+%</title>
+% \fi
+%
+%
+% \begin{center}
+% \includegraphics{title.mps}
+% \end{center}
+%
+% \vfill
+%
+% \begingroup
+% \footnotesize
+% \noindent
+% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed and/or
+% modified under the conditions of the \LaTeX{} Project Public License \acronym{(LPPL)},
+% either version~1.3c of this license or --~at your option~-- any later version. This work
+% has the \acronym{LPPL} maintenance status \doublequotes{author-maintained}.\par
+% \endgroup
+%
+%
+% \clearpage
+% \thispagestyle{pagenumberonly}
+% \tableofcontents
+%
+% \vspace{\fill}
+%
+% \begingroup
+% \footnotesize
+% \singlespacing
+% \noindent
+% The font samples~\singlequotes{fga} on the title page
+% were generated with the help of \MP{} using \doublequotes{\acronym{URW} Palladio~L}
+% in styles~\singlequotes{roman} and~\singlequotes{italic}.
+% The affine transformations were \code{slanted .2} for the slanted roman and
+% \code{slanted -.2} for the upright italics.\par
+% \endgroup
+%
+%
+% \clearpage
+% \thispagestyle{pagenumberonly}
+% \listoftables
+% \bigskip
+% \listoffigures
+%
+%
+% \clearpage
+% \pagenumbering{arabic}
+% \section{Introduction}\label{sec:introduction}
+%
+% The \packagename{synthslant} package provides a translator (e.\,g.~\LaTeX, \pdfLaTeX, or
+% \LuaLaTeX) independent interface to shearing glyphs. It implements a generic operation where
+% a short piece of text gets slanted forward or backward. Moreover, specialized macros for the
+% two most important use cases are provided, namely slanting an upright font forward and making
+% an italics font upright. Unbeknown to some users, \pdfTeX{} performs a similar operation
+% under the hood: of the 40\thousandsseparator210~map lines in my \filesystem{pdftex.map}
+% currently 1\thousandsseparator236 instruct \pdfTeX{} to artificially slant a font. This
+% means some three percent of the shapes are generated this way.
+%
+% Similar transformations can be achieved by other means. I elaborate on one of the
+% alternatives in \cref{sec:alternative} on \cpageref{sec:alternative}.
+% Package~\packagename{synthslant} however focuses on ease of use and strict locality of the
+% glyph manipulation.
+%
+%
+% \subsection{Appeal for Artificially Slanted Type}\label{sec:appleal-for-artificially-slanted}
+%
+% Artificially slanted type have a bad reputation. Whenever there is an order to round up the
+% usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy}
+% defines a \doublequotes{Poor Man's Bold} macro~\cs{pmb} that works by
+% \singlequotes{overprinting}. The authors of \packagename{amsbsy} recommend to prefer
+% package~\packagename{bm} for bold mathematical symbols, though.}, and condensed type along
+% with artificial small-caps swiftly are stuffed into the black Maria.\footnote{See for example
+% Ref.~\citenum{strizver:2014}, p.~97, but compare p.~142 and also
+% Ref.~\citenum{middendorp:2014}, p.~68n, for a more nuanced assessment.} I can retrace this
+% condescension for synthetic bold and condensed variants. They spoil the glyphs' outline
+% because they do not (and cannot) conserve the necessary proportions. For small-caps the
+% problems are somewhat minor and I wonder how far one could get with an
+% \propername{OpenType}~font that supports a \code{size}~axis\index{font>axis>size=\code{size}}
+% as well as an \code{opsz}~axis\index{font>axis>opsz=\code{opsz}} in the necessary ranges to
+% construct convincing small-caps out of the multiple-master font.
+%
+% In my view artificial slanting keeps much of the font's character intact. In fact one
+% accusation of synthetically slanted type is that is creates less contrast than a proper
+% italic~\cite[p.~141]{strizver:2014} to which I object that less contrast can in fact be
+% enough contrast in a particular setting. Moreover, small contrast with respect to the main
+% type is a problem of second order. It does not devalue the shape \foreignphrase{per se} as
+% is true for artificial bold and condensed fonts.
+%
+% What seems to have gotten lost in the discussion is the shapes of true italics that were
+% designed alongside with the roman type. If we have an unbiased look at it --~for example at
+% the title~page of this manual~-- the italic versions of the upright characters are so
+% markedly different that I would like to ask whether they match the upright shape in a strict
+% sense. For the double-storey~\sample{a} becomes single-storey, the start of the loop
+% of~\sample{g} moves from the far left into the middle. Alongside, the aspect ratio of both
+% of the counters change. These defy the common guidelines~\cite[Ch.~6]{stamm:2020} of font
+% pairing. We can make sense of the seeming contradiction by recognizing that the italics
+% shape is not simply slanted, but creates tension in respect to the upright type by a variety
+% of additional design features. A famous quote of \propername{Zuzana Li\v{c}ko} applies once
+% again:
+%
+% \begin{quote}
+% The most popular typefaces are the easiest to read; their popularity has made them
+% disappear from conscious cognition. It becomes impossible to tell if they are easy to read
+% because they are commonly used, or if they are commonly used because they are easy to read.
+% \end{quote}
+%
+%
+% \subsection{Some History}\label{sec:history}
+%
+% Italics accompanying a roman font date back to one of the earliest print shops, namely that
+% of \href{https://it.wikipedia.org/wiki/Aldo_Manuzio}{\propername{Aldus Manutius}} around
+% 1500\:A.\,C\@. Artificially slanted, also known as \singlequotes{oblique}, versions of
+% upright fonts appear in the twentieth century, when type designers and foundries start to
+% save time and money by automatically constructing a slanted version of a given roman
+% type~\cite[p.~68n]{middendorp:2014}. \packagename{Synthslant} closely follows on their
+% steps.
+%
+% Some fonts in current \LaTeX{} distributions offer slanted series right out of the box.
+% \foreignphrase{Eureka!} In particular the oldest (and once upon a time the only) font family
+% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{Computer Modern
+% Roman}\index{font>Computer Modern Roman} --~nowadays member of the \acronym{CM}-Super
+% family~-- is available in a deluge of almost thirty shapes. It covers not just slanted roman
+% or slanted smallcaps but also slanted typewriter and somewhat surprisingly upright italics.
+% Furthermore, the \LaTeXe{} font selection scheme provisions \singlequotes{\code{sl}} for
+% slanted shapes and \singlequotes{\code{ui}} for upright italics~\cite{fntguide}. The former
+% is accompanied by the macros~\cs{slshape} and~\cs{textsl}.
+%
+% \begin{wraptable}{r}{.382\textwidth}
+% \renewcommand*{\floatcaptionwidth}{\textwidth}
+% \small
+% \centering
+% \caption[Variable fonts with slant-axis]
+% {A short list of some variable fonts with a slant axis (\code{slnt}).}
+% \label{tab:open-type-slant-feature}
+%
+% \begin{tabular}{@{}l@{}}
+% \toprule
+% Font Name \\
+% \midrule
+% Cairo\index{font>Cairo} \\
+% Commissioner\index{font>Commissioner} \\
+% Geologica\index{font>Geologica} \\
+% Gluten\index{font>Gluten} \\
+% Inter\index{font>Inter} \\
+% Recursive\index{font>Recursive} \\
+% Roboto Flex\index{font>Roboto Flex} \\
+% \bottomrule
+% \end{tabular}
+% \end{wraptable}
+%
+% Refer to \cref{tab:open-type-slant-feature} on the right for a brief list of variable
+% fonts\footnote{See also the \LaTeX~Font Catalogue for
+% \href{https://tug.org/FontCatalogue/opentypefonts.html}%
+% {Fonts with \propername{OpenType} or \propername{TrueType}~Support}
+% and search \href{https://fonts.google.com/}{Google Fonts} for families of
+% \href{https://fonts.google.com/variablefonts?vfaxis=slnt}{variable fonts with a
+% \code{slnt}-axis} or fonts with an \href{https://v-fonts.com/tags/C5}{unusual variation} at
+% \href{https://v-fonts.com/}{Variable Fonts}.} that offer a slant-axis\footnote{The
+% registered axis is called \code{slnt} and it is not to be confused with the
+% \code{ital}~axis.}\index{font>axis>slant=\code{slant}}\index{font>axis>ital=\code{ital}} that
+% can be controlled with \packagename{fontspec}'s\index{package>\packagename{fontspec}}
+% \code{Slant}\footnote{Since \packagename{fontspec} version~2.9a as of 2024/2/13.}~key and
+% \cref{tab:slanted-series-fonts} for a rather incomplete list of fonts that are shipped with
+% slanted shapes. For these fonts \packagename{synthslant} is largely superfluous unless
+% e.\,g.~they also come with an italics shape that is to be typeset upright.
+%
+% \begin{table}
+% \small
+% \centering
+% \caption[Fonts with slanted series]
+% {Selected fonts that come with their own slanted series.~\visualpar{} The table on
+% the left-hand side shows serif fonts, the one on the right-hand side sans-serif
+% fonts.}
+% \label{tab:slanted-series-fonts}
+%
+% \newcommand*{\itshapemark}{\tablenotemark{\dag}}%
+%
+% \begin{tabular}[t]{@{}p{12em}@{}}
+% \toprule
+% Font Name \\
+% \midrule
+% Arvo\index{font>Arvo} \\
+% Computer Modern Roman\index{font>Computer Modern Roman} \\
+% Domitian\index{font>Domitian} \\
+% Droid Serif\index{font>Droid Serif} \\
+% Erewhon\index{font>Erewhon} \\
+% Extended Charter\index{font>Extended Charter} \\
+% \acronym{GFS} Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia} \\
+% \acronym{GFS} Bodoni\index{font>GFS Bodoni=\acronym{GFS} Bodoni} \\
+% \acronym{GFS} Didot\index{font>GFSDidot=\acronym{GFS} Didot} \\
+% \\
+% \bottomrule
+% \end{tabular}
+% \qquad
+% \begin{tabular}[t]{@{}p{12em}@{}}
+% \toprule
+% Font Name \\
+% \midrule
+% Cabin\index{font>Cabin} \\
+% Clear Sans\index{font>Clear Sans} \\
+% Cuprum\index{font>Cuprum} \\
+% Fira Sans\index{font>Fira Sans} \\
+% Gandhi Sans\index{font>Gandhi Sans} \\
+% \acronym{Inria} Sans\index{font>Inria Sans=\acronym{Inria} Sans} \\
+% Lato\index{font>Lato}\itshapemark \\
+% Montserrat\index{font>Montserrat} \\
+% \acronym{PT} Sans\index{font>PT Sans=\acronym{PT} Sans} \\
+% Source Sans Pro\index{font>Source Sans Pro} \\
+% \bottomrule
+% \end{tabular}
+%
+% \begin{tablenotes}
+% \itshapemark\enspace The shape is activated with \cs{itshape}.
+% \end{tablenotes}
+% \end{table}
+%
+% It seems that the original idea of automatically shearing text in \LaTeX{} to simulate a
+% slanted shape goes back to \propername{David Carlisle} who suggested to use the
+% \pdfTeX-primitive \cs{pdfliteral} for shearing~\cite{tex-stackexchange-2013-12-7}. Shortly
+% thereafter \propername{Bruno Le Floch} pointed to another \pdfTeX-primitive, namely
+% \cs{pdfsetmatrix}, available with (in 2013) more recent
+% \pdfTeX~versions~\cite{pdftex}.\footnote{The user-level manipulation of the transformation
+% matrix has been part of the \acronym{PDF}-standard since its initial publication in
+% 1993~\cite[Secs.~3.8 and~3.9]{adobe-pdf-1.0} in the form of operator~\code{cm}
+% (\singlequotes{concat}~-- concatenate matrix to current transformation matrix).~\visualpar{}
+% The primitive~\cs{pdfliteral} was implemented already in the first release of \pdfTeX{}
+% in~1998~\cite{baskerville-pdftex-8-1:1998} and the primitive~\cs{pdfsetmatrix} joined 2007 in
+% \pdfTeX~version~1.40.0~\cite{schroeder:2007}.} With the help of the latter affine
+% transformations of arbitrary content can be coded directly by setting the transformation
+% matrix. A slight variant of his code is used in this package for the \acronym{PDF}- and
+% \packagename{l3draw}\index{package>\packagename{l3draw}}-slant~engines. The implementations
+% for \pstrickslogo, \tikzlogo{}, and \packagename{fontspec}\packagename{fontspec} are trivial
+% as they build upon shear~functions supplied by the respective packages.
+%
+%
+% \subsection{Shear Transformation, Slant, and Angle}\label{sec:shear-transformation}
+%
+% \index{slant>operation}
+% \index{shear>transformation}
+% Mathematically the slant operation is a shear transformation, which can be expressed with the
+% equation
+% \begin{equation}\label{equ:shear-transformation}
+% \begin{pmatrix}
+% x' \\
+% y'
+% \end{pmatrix}
+% =
+% \begin{pmatrix}
+% 1 & \sin\alpha \\
+% 0 & 1
+% \end{pmatrix}
+% \mathbin{}
+% \begin{pmatrix}
+% x \\
+% y
+% \end{pmatrix},
+% \end{equation}
+%
+% \noindent
+% where the vector~\(\transpose{(x, y)}\) is mapped to \(\transpose{(x'\!, y')}\) and both are
+% elements of the two-dimensional drawing plane~\(\numberset{E}^2\)\!. Compare with
+% \Cref{fig:shear-transform}.
+%
+%
+% \iffalse
+%<*shear-transform>
+verbatimtex
+%&latex
+\documentclass{amsart}
+\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
+\usepackage[lining, proportional, semibold]{sourcesanspro}
+\usepackage[semibold]{sourcecodepro}
+\usepackage[xcharter]{newtxmath}
+\newcommand*{\numberset}[1]{\mathbb{#1}}
+\newcommand*{\transpose}[1]{{#1}^{\text{T}}}
+\begin{document}
+etex
+
+
+prologues := 3;
+
+
+phi := .618;
+
+u := 80;
+
+
+numeric line_thickness[];
+line_thickness[1] := .25 * 72/25.4;
+line_thickness[2] := .35 * 72/25.4;
+line_thickness[3] := .5 * 72/25.4;
+line_thickness[4] := .7 * 72/25.4;
+
+narrow_width := line_thickness[1];
+medium_width := line_thickness[2];
+wide_width := line_thickness[3];
+
+
+%% / x' \ / 1 slant \ / x \
+%% | | = | | | |
+%% \ y' / \ 0 1 / \ y /
+def slant_point(expr a_point, a_slant) =
+ (xpart a_point + ypart a_point * a_slant, ypart a_point)
+enddef;
+
+
+pair original_rectangle[];
+original_rectangle[1] := (0, 0);
+original_rectangle[2] := (u, 0);
+original_rectangle[3] := (u, phi * u);
+original_rectangle[4] := (0, phi * u);
+
+slant := .2;
+
+pair slanted_rectangle[];
+slanted_rectangle[1] := slant_point(original_rectangle[1], slant);
+slanted_rectangle[2] := slant_point(original_rectangle[2], slant);
+slanted_rectangle[3] := slant_point(original_rectangle[3], slant);
+slanted_rectangle[4] := slant_point(original_rectangle[4], slant);
+
+pair offset[];
+offset[0] := (0, 0);
+offset[1] := (1.75u, 0);
+
+
+beginfig(1);
+ drawarrow (-.2u, 0) + offset[0] -- (1.25u, 0) + offset[0]
+ withpen pencircle scaled narrow_width;
+ drawarrow (0, -.2u) + offset[0] -- (0, u) + offset[0]
+ withpen pencircle scaled narrow_width;
+
+ label.llft(btex \(\numberset{E}^2\) etex, offset[0]);
+ label.llft(btex \(x\) etex, (1.25u, 0) + offset[0] + (0, -2));
+ label.lft(btex \(y\) etex, (0, u) + offset[0]);
+
+ draw original_rectangle[1] + offset[0] --
+ original_rectangle[2] + offset[0] --
+ original_rectangle[3] + offset[0] --
+ original_rectangle[4] + offset[0] --
+ cycle
+ withpen pencircle scaled wide_width;
+ drawdot original_rectangle[4] + offset[0] withpen pencircle scaled 4pt;
+ label.urt(btex \(\transpose{(x, y)}\) etex, original_rectangle[4] + offset[0] + (1, 1));
+
+
+ drawarrow (-.2u, 0) + offset[1] -- (1.25u, 0) + offset[1]
+ withpen pencircle scaled narrow_width;
+ drawarrow (0, -.2u) + offset[1] -- (0, u) + offset[1]
+ withpen pencircle scaled narrow_width;
+
+ label.llft(btex \(\numberset{E}^2\) etex, offset[1]);
+ label.llft(btex \(x\) etex, (1.25u, 0) + offset[1] + (0, -2));
+ label.lft(btex \(y\) etex, (0, u) + offset[1]);
+
+ draw slanted_rectangle[1] + offset[1] --
+ slanted_rectangle[2] + offset[1] --
+ slanted_rectangle[3] + offset[1] --
+ slanted_rectangle[4] + offset[1] --
+ cycle
+ withpen pencircle scaled wide_width;
+ drawdot slanted_rectangle[4] + offset[1] withpen pencircle scaled 4pt;
+ label.urt(btex \(\transpose{(x'\!, y')}\) etex, slanted_rectangle[4] + offset[1] + (3, 1));
+
+
+ pair p;
+ p := slanted_rectangle[1] + offset[1];
+ draw p -- (1.5slanted_rectangle[4] + offset[1])
+ withpen pencircle scaled narrow_width;
+
+ path angle_indicator;
+ angle_indicator := fullcircle scaled 1.6u shifted offset[1];
+ draw angle_indicator
+ cutbefore (p -- (1.5slanted_rectangle[4] + offset[1]))
+ cutafter (offset[1] -- (0, u) + offset[1]);
+ label.rt(btex \(\alpha\) etex, 1.4original_rectangle[4] + offset[1] + (1, 0));
+endfig;
+end
+%</shear-transform>
+% \fi
+%
+%
+% \begin{figure}
+% \centering
+% \includegraphics{shear-transform.mps}
+%
+% \caption[Shear transform]
+% {Shear transform of a rectangle by the angle~\(\alpha\). The left-hand side shows
+% the original figure the right-hand side the one sheared by~\(\alpha\). The
+% \(x\)-axis can be identified with the baseline of the
+% text.}\label{fig:shear-transform}
+% \end{figure}
+%
+%
+% For \(\alpha = 0\) the shear matrix becomes the identity matrix. Throughout of
+% \packagename{synthslant} we work with the \meta{slant} which is \(\sin \alpha\) in
+% \cref{equ:shear-transformation} and avoid converting back and forth to the
+% \index{shear>angle}shear angle~\(\alpha\).\footnote{At least one slant engine currently
+% requires such a conversion, namely~\pstrickslogo. The math is hidden from the user, though.}
+% Some values for orientation: \mbox{\(\sin 5.74\degree \approx .1\)}, \mbox{\(\sin 11.5\degree
+% \approx .2\)}, and \mbox{\(\sin 17.5\degree \approx .3\)}.\footnote{For small
+% angles~\(\lvert\alpha\rvert\) measured in radians the sine is approximately linear: \(\sin
+% \alpha \approx \alpha\).} For real-life serif fonts \meta{slant} is in the range of~\(.1\)
+% to~\(.45\) and a value of~\(.2\) seems to be quite common. My \filesystem{pdftex.map} lists
+% negative \meta{slant} values in the range~\(-.4\) to~\(-.05\) and positive \meta{slant}
+% values in the range~\(.14\) up to~\(.45\). See \Cref{tab:slant-values} on
+% \cpageref{tab:slant-values} for some actual values of serif fonts in \LaTeX.
+%
+%
+% \subsection{Usage Ideas}\label{sec:usage-ideas}
+%
+% Automatic slanting both forward and reverse can be applied in a variety of typographic
+% occasions. Here are some ideas.
+%
+% \begin{enumerate}
+% \item\label{it:no-italics}
+% Generate a slanted serif in the unfortunate situation when a serif font comes without
+% italics such as \singlequotes{\acronym{URW}~Antiqua}\index{font>URW Antiqua=\acronym{URW}
+% Antiqua}.
+%
+% Here, the user is relatively free to choose a \meta{slant}, for there are no italics whose
+% angle must be matched. \packagename{Synthslant}'s default of~.2 should be a good starting
+% point.
+%
+% \item\label{it:upright-italics}
+% Augment a serif font that features an italics shape with upright italics.
+%
+% In nearly all cases it is desirable not to remove all forward-slant of the italics but
+% retain some 1\textdegree{} to~2\textdegree{} of residual angle.
+%
+% \item\label{it:correct-italics-angle}
+% An italics shape that has an excessive slant angle, as
+% e.\,g.~\singlequotes{Libre~Caslon}\index{font>Libre Caslon} may be corrected, i.\,e.,
+% partially un-slanted.
+%
+% In this case, and generally if a font as a whole needs to be corrected, an alternative
+% approach like the one sketched in \cref{sec:alternative} on \cpageref{sec:alternative} may
+% be warranted.
+%
+% \item\label{it:generate-sole-obliques}
+% Generate an oblique sans-serif if a sans-serif font comes without an oblique shape as,
+% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>URW Grotesk=\acronym{URW} Grotesk}
+%
+% \item\label{it:generate-extra-obliques}
+% Supply a slanted sans-serif shape for sans-serif fonts with designed, this is \emph{true}
+% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>Open Sans}
+%
+% \item\label{it:slant-typewriter}
+% Fixed-width --~also called \singlequotes{typewriter} or \singlequotes{teletype}~-- fonts
+% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>Inconsolata} finally
+% get an oblique shape.
+%
+% \item\label{it:slanted-small-caps}
+% Small caps without accompanying italics can be slanted, too.
+%
+% \item\label{it:slant-in-math-mode}
+% As \packagename{synthslant} also works in \TeX's math-mode, it is possible to give
+% math-italics even more of a heeling.
+%
+% \item\label{it:correct-math-script}
+% If the slant of the math script font is at odds with the slant of the usual math italics,
+% it may be possible to apply \packagename{synthslant} on the script symbols for matching
+% angles.
+%
+% \item\label{it:slant-big-math-operators}
+% Big mathematical operators like the sigma can be slanted and others, like the integral
+% sign, can have their inclination adjusted.
+% \end{enumerate}
+%
+% It is possible to obtain slants that run against the reading direction, so called
+% \singlequotes{backslanted} glyphs, but I have rarely seen an
+% \href{https://fontsinuse.com/tags/2044/left-leaning-italics-backslanted}{example} where the
+% typography of a document could benefit from that.
+%
+%
+% \clearpage
+% \section{Package Options}\label{sec:package-options}
+%
+% \begin{synopsis}
+% |\usepackage[|\meta{option}\dots|]{synthslant}|
+% \end{synopsis}
+%
+% This is a list of \meta{option}s that \packagename{synthslant} understands. The package
+% options allow to predefine the forward and backward slant angles as well as the selection of
+% a particular slanting engine.
+%
+% \begingroup
+% \newcommand*{\indexpackageoption}[1]
+% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% \begin{description}
+% [before={\let\oldmakelabel=\makelabel
+% \renewcommand{\makelabel}[1]
+% {\oldmakelabel{\termparbox{##1}}\phantomsection}},
+% font=\normalfont,
+% style=nextline]
+% \item[|auto|]\label{item:auto}
+% \indexpackageoption{auto}
+% Let the package choose a slant engine. This is the default.
+%
+% For \pdfLaTeX{} package \packagename{synthslant} selects the \acronym{PDF}-engine, for
+% \LuaLaTeX{} the \packagename{fontspec}-engine, and in all other cases the
+% \packagename{l3draw}-layer handles the shear transformation.
+%
+% \item[|disable|]\label{item:disable}
+% \indexpackageoption{disable}
+% Disable slanting completely.
+%
+% \item[|fontspec|]\label{item:fontspec}
+% \indexpackageoption{fontspec}
+% Use \packagename{fontspec}\index{package>\packagename{fontspec}} as slanting
+% back-end.\footnote{Requires \filesystem{fontspec.sty.}}
+%
+% \item[|l3draw|]\label{item:l3draw}
+% \indexpackageoption{l3draw}
+% Select the \singlequotes{draw} layer\index{package>\packagename{l3draw}} of \LaTeXIII{} as
+% base for the slanting engine.\footnote{This option requires \filesystem{l3draw.sty.}}
+%
+% \begin{caution}
+% This engine is experimental and the \singlequotes{draw} layer of \LaTeXIII{} itself is
+% still experimental, too. See \cref{sec:limitations} on \cpageref{sec:limitations} for
+% details.
+% \end{caution}
+%
+% \item[|negslant=|\meta{slant-expr}]\label{item:negslant}
+% \indexpackageoption{negslant}
+% Set the default value for \hyperref[syn:synthnegslant]{\cs{synthnegslant}} \emph{only.}
+% The argument \meta{slant-expr} is a floating-point expression. Note that for this option
+% \meta{slant-expr} must evaluate to a non-positive value.
+%
+% \item[|PDF|, |pdf|]\label{item:pdf}
+% \indexpackageoption{pdf}
+% Select the \acronym{PDF}-slant engine. This requires the document is translated with
+% \pdfLaTeX{} or a compatible program.
+%
+% \item[|posslant=|\meta{slant-expr}]\label{item:posslant}
+% \indexpackageoption{posslant}
+% Set the default value for \hyperref[syn:synthslant]{\cs{synthslant}} \emph{only.} The
+% argument \meta{slant-expr} is a floating-point expression. Note that for this option
+% \meta{slant-expr} must evaluate to a non-negative value.
+%
+% \item[|PS|, |ps|]\label{item:postscript}
+% \index{ps}
+% Use \pstrickslogo\index{package>\packagename{pstricks}} to delegate slanting to the
+% PostScript\index{PostScript} interpreter. Obviously requires \pstrickslogo\footnote{The
+% package actually required is \filesystem{pst-3d.sty.}} and \acronym{DVI}-to-PostScript
+% translation.
+%
+% \begin{caution}
+% This engine is still experimental and produces low-quality output! See
+% \cref{sec:limitations} on \cpageref{sec:limitations} for details.
+% \end{caution}
+%
+% \item[|slant=|\meta{slant-expr}]\label{item:slant}
+% \indexpackageoption{slant}
+% Set the default values for both \hyperref[syn:synthslant]{\cs{synthslant}} and
+% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, behave as if the two package
+% options \(\code{posslant} = \meta{slant-expr}\) and \(\code{negslant} =
+% -(\meta{slant-expr})\) have been given. The argument \meta{slant-expr} is a floating-point
+% expression.
+%
+% If omitted \packagename{synthslant} assumes \(.2\) and \(-.2\), respectively.
+%
+% \item[|TikZ|, |tikz|]\label{item:tikz}
+% \indexpackageoption{tikz}
+% Use \packagename{TikZ}\index{package>\packagename{TikZ}} for slanting.\footnote{Requires
+% \filesystem{tikz.sty.}}
+%
+% \begin{caution}
+% This engine is still experimental and produces low-quality output! See
+% \cref{sec:limitations} on \cpageref{sec:limitations} for details.
+% \end{caution}
+% \end{description}
+% \endgroup
+%
+% The package options \code{slant}, \code{posslant}, and \code{negslant} all accept
+% floating-point \emph{expressions} as their arguments not just plain floating-point literals.
+% See Ref.~\citenum{latex3-interfaces}, Ch.~29, \doublequotes{The \textsf{l3fp}~module~--
+% Floating points} for a description of the floating-point expression syntax and the available
+% functions.
+%
+%
+% \clearpage
+% \section{Macros and Environments}\label{sec:macros-and-environments}
+%
+% This section describes how to actually apply the functionality of \packagename{synthslant} to
+% some text. If the \meta{slant}~value matching a given font is known this is about it. To
+% figure out an unknown \meta{slant}~value check out \cref{sec:determine-slant}.
+%
+%
+% \subsection{Variable-Like Macros}\label{sec:variables}
+%
+% The amount of slanting forward (positive slant angles) and backward (negative slant angles)
+% is controlled by two macros. They are set during package initialization. However, they can
+% be changed at any time to accommodate for different fonts or special needs.
+%
+% \DescribeMacro{\synthslant}
+% Control the slant applied by \hyperref[syn:textsynthslant]{\cs{textsynthslant}}.
+% This value is non-negative.
+%
+% \begin{synopsis}\label{syn:synthslant}
+% \cs{synthslant}
+% \end{synopsis}
+%
+% To change the slant value to \(.24\) say
+%
+% \begin{codeexample}
+% \cs{renewcommand}*\{\cs{synthslant}\}\{.24\}
+% \end{codeexample}
+%
+% \Cref{tab:slant-values} summarizes some suggested slant values for selected fonts.
+%
+% \begin{table}
+% \small
+% \centering
+% \caption[Suggested slant values]
+% {Suggested slant values for selected \emph{serif} fonts. The \meta{slant} shown in
+% the tables is not necessarily the one closest to the font's italics. Also compare
+% with the left-hand table of \cref{tab:slanted-series-fonts}.}
+% \label{tab:slant-values}
+%
+% \fullwidthsetup{skipabove=0pt, skipbelow=0pt}
+% \begin{maxipage}
+% \begin{minipage}{\textwidth}
+% \flushright
+% \begin{tabfigures}
+% \begin{tabular}[t]{@{}p{9.5em}l@{}}
+% \toprule
+% Font Name & Slant \\
+% \midrule
+% \acronym{ADF} Accanthis\index{font>ADF Accanthis=\acronym{ADF} Accanthis} & .26 \\
+% \acronym{ADF} Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} & .32 \\
+% \acronym{ADF} Berenis\index{font>ADF Berenis=\acronym{ADF} Berenis} & .2 \\
+% \acronym{ADF} Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis} & .2 \\
+% Alegreya\index{font>Alegreya} & .2 \\
+% Arvo\index{font>Arvo} & .2 \\
+% BaskervilleF\index{font>BaskervilleF} & .2 \\
+% Bera Serif\index{font>Bera Serif} & .2 \\
+% Bitter\index{font>Bitter} & .16 \\
+% Caladea\index{font>Caladea} & .14 \\
+% Clara\index{font>Clara} & .24 \\
+% Cochineal\index{font>Cochineal} & .2 \\
+% Coelacanth\index{font>Coelacanth} & .2 \\
+% Crimson Pro\index{font>Crimson Pro} & .2 \\
+% Crimson Text\index{font>Crimson Text} & .2 \\
+% \bottomrule
+% \end{tabular}%
+% \qquad
+% \begin{tabular}[t]{@{}p{9.5em}l@{}}
+% \toprule
+% Font Name & Slant \\
+% \midrule
+% Day Roman\index{font>Day Roman} & .2 \\
+% \acronym{EB} Garamond\index{font>EB Garamond=\acronym{EB} Garamond} & .3 \\
+% etbb\index{font>etbb} & .2 \\
+% fbb\index{font>fbb} & .2 \\
+% Garamond Expert\index{font>Garamond Expert} & .2 \\
+% Gandhi Serif\index{font>Gandhi Serif} & .2 \\
+% Gentium\index{font>Gentium} & .2 \\
+% Ibarra Real Nova\index{font>Ibarra Real Nova} & .2 \\
+% \acronym{IBM} Plex Serif\index{font>IBM Plex Serif=\acronym{IBM} Plex Serif} & .24 \\
+% \acronym{Inria} Serif\index{font>Inria Serif=\acronym{Inria} Serif} & .2 \\
+% Libertinus Serif\index{font>Libertinus Serif} & .2 \\
+% Libre Baskerville\index{font>Libre Baskerville} & .3 \\
+% Libre Caslon\index{font>Libre Caslon} & .38 \\
+% & \\
+% & \\
+% \bottomrule
+% \end{tabular}%
+% \qquad
+% \begin{tabular}[t]{@{}p{9.5em}l@{}}
+% \toprule
+% Font Name & Slant \\
+% \midrule
+% Merriweather\index{font>Merriweather} & .14 \\
+% MLModern\index{font>MLModern} & .23 \\
+% Noto Serif\index{font>Noto Serif} & .22 \\
+% \acronym{PT} Serif\index{font>PT Serif=\acronym{PT} Serif} & .2 \\
+% Roboto Slab\index{font>Roboto Slab} & .2 \\
+% Quattrocento\index{font>Quattrocento} & .2 \\
+% Source Serif Pro\index{font>Source Serif Pro} & .18 \\
+% Spectral\index{font>Spectral} & .18 \\
+% \acronym{STIX}\index{font>STIX=\acronym{STIX}} & .2 \\
+% \TeX{} Gyre Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella} & .16 \\
+% \acronym{TX} Fonts Serif\index{font>TX Fonts Serif=\acronym{TX} Fonts Serif} & .2 \\
+% \acronym{URW} Antiqua\index{font>URW Antiqua=\acronym{URW} Antiqua} & .2 \\
+% \acronym{URW} Nimbus Roman\index{font>URW Nimbus Roman=\acronym{URW} Nimbus Roman} & .2 \\
+% Utopia\index{font>Utopia} & .2 \\
+% & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{minipage}
+% \end{maxipage}
+% \end{table}
+%
+% \DescribeMacro{\synthnegslant}
+% Control the slant applied by
+% \hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}. This value is
+% non-positive.
+%
+% \begin{synopsis}\label{syn:synthnegslant}
+% \cs{synthnegslant}
+% \end{synopsis}
+%
+%
+% \subsection{Basic Interface}\label{sec:basic-interface}
+%
+% Package \packagename{synthslant} provides two easy-to-use macros for slanting glyphs. For a
+% more flexible and powerful interface, see~\cref{sec:advanced-interface}.
+%
+% \begin{note}
+% The following restrictions and workarounds to get line-breaking and automatic hyphenation
+% working again do \emph{not} apply to the
+% \packagename{fontspec}\index{package>\packagename{fontspec}} back-end.
+% \end{note}
+%
+% \noindent
+% Both macros provide \emph{simplistic} support for slanting hyphenatable
+% words and space-separated phrases for a given \meta{text}. The fundamental shear
+% transformation would produce an single unbreakable horizontal box. So we have added two
+% provisions to re-enable at least some breakability.
+%
+% \begin{enumerate}
+% \item Spaces introduce breakpoint,\index{breakpoint at space} e.\,g.
+% \begin{codeexample}
+% \cs{textsynthslant}\{topological dual space\}
+% \end{codeexample}
+% slants the first word (producing a horizontal box) inserts a space and then slants the
+% second word (producing another horizontal box). \TeX{} sees two (unbreakable) boxes and a
+% discardable space when it comes to linebreaking.
+%
+% \item Discretionary hyphens\index{discretionary hyphen} in the form of \singlequotes{\cs{-}}
+% get propagated. So, we could improve on our above example by saying
+% \begin{codeexample}
+% \cs{textsynthslant}\{topo\cs{-}log\cs{-}i\cs{-}cal dual space\}
+% \end{codeexample}
+% to \singlequotes{recover} hyphenation of the first word.
+% \end{enumerate}
+%
+% \noindent
+% This neither is a complete nor an elegant solution but it will take us quite far.
+%
+% \medskip
+%
+% \DescribeMacro{\textsynthslant}
+% Forward slant some upright glyphs.
+%
+% \begin{synopsis}\label{syn:textsynthslant}
+% \cs{textsynthslant}\marg{text}
+% \end{synopsis}
+%
+% In horizontal mode switch to an upright shape, slant \meta{text} with the slant value stored
+% in \hyperref[syn:synthslant]{\cs{synthslant}} and apply \doublequotes{slant
+% correction}\index{slant>correction} --~the equivalent of italics correction~-- at the
+% right-hand side of~\meta{text}.
+%
+% In math mode just slant \meta{text} with the slant value stored in
+% \hyperref[syn:synthslant]{\cs{synthslant}}.
+%
+% \begin{usecases}
+% If italics seem to be too intrusive in the body we can substitute slanted text for example
+% for foreign phrases like \singlequotes{et.\,al.} and \singlequotes{etc.}:
+%
+% \begin{codeexample}
+% \cs{newcommand*}\=\{\cs{foreignphrase}\}[2][USenglish] \\
+% \>\{\cs{foreignlanguage}\{\#1\}\{\cs{textsynthslant}\{\#2\}\}\}
+% \end{codeexample}
+%
+% \noindent
+% where we show the font modification in conjunction with the
+% \packagename{babel}~macro\index{package>\packagename{babel}}
+% \cs{foreignlanguage}~\cite{package:babel}.~\visualpar
+%
+% In math-mode you cannot have enough fonts, symbols, and most of the gizmos over there! I
+% like to mark up automorphism groups associated with a given group with a slanted-roman
+% typeface, though my macro has a more general name.
+%
+% \begin{codeexample}
+% \cs{newcommand*}\=\{\cs{functionspace}\}[1] \\
+% \>\{\cs{mbox}\{\cs{textsynthslant}\{\#1\}\}\}\specialsectionendhere
+% \end{codeexample}
+% \end{usecases}
+%
+% \DescribeMacro{\textsynthuprightitalic}
+% Backward slant some italics or oblique glyphs.
+%
+% \begin{synopsis}\label{syn:textsynthuprightitalic}
+% \cs{textsynthuprightitalic}\marg{text}
+% \end{synopsis}
+%
+% In horizontal mode switch to an italics shape,
+% slant \meta{text} with the slant value stored in \cs{synthnegslant}.
+%
+% In math mode just un-slant \meta{text} with the slant value stored in \cs{synthnegslant}.
+%
+% \begin{example}
+% To set apart operators in an algebra like, e.\,g., the radical, we could use upright
+% italics
+%
+% \begin{codeexample}
+% \cs{newcommand*}\=\{\cs{algebraoperator}\}[1] \\
+% \>\{\cs{mbox}\{\cs{textsynthuprightitalic}\{\#1\}\}\}
+% \end{codeexample}
+%
+% \noindent
+% and follow up with
+%
+% \begin{codeexample}
+% \cs{DeclareMathOperator}\{\cs{rad}\}\{\cs{algebraoperator}\{rad\}\}
+% \end{codeexample}
+%
+% \noindent
+% where we have assumed that \packagename{amsmath} has been loaded to bring
+% \cs{DeclareMathOperator} into scope.
+% \end{example}
+%
+%
+% \subsection{Advanced Interface}\label{sec:advanced-interface}
+%
+% \DescribeMacro{\synthslantbox}
+% Slant \meta{text} with an amount of \meta{slant} that can be positive, negative or zero.
+%
+% \begin{synopsis}\label{syn:synthslantbox}
+% \cs{synthslantbox}\marg{slant}\marg{text}
+% \end{synopsis}
+%
+% This is the unadorned call to the chosen slanting engine. In particular, neither the values
+% of \hyperref[syn:synthslant]{\cs{synthslant}} nor of
+% \hyperref[syn:synthnegslant]{\cs{synthnegslant}} enter its expansion! No corrections or
+% \TeX-mode adjustments are made.
+%
+% \begin{example}
+% Generate a substitute for a missing solidus character:
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{renewcommand*}\{\cs{textfractionsolidus}\}[1] \\
+% \>\{\=\cs{kern}-.125em \\
+% \> \>\cs{raisebox}\=\{.125em\} \\
+% \> \> \>\{\=\cs{smaller} \\
+% \> \> \> \>\cs{synthslantbox}\{.3\}\{\cs{char}`/\}\}\% \\
+% \> \>\cs{kern.1em}\}
+% \end{codeexample}
+%
+% \noindent
+% where the \cs{smaller} macro is from the
+% \packagename{relsize}~package~\cite{package:relsize}.
+% \end{example}
+%
+% The following two environments are responsible for setting up everything before the actual
+% slant or un-slant code runs and what happens after the slant-engine finishes. They can be
+% redefined or patched to meet different users' needs.
+%
+% \DescribeEnv{slantenvironment}
+% Wrapper around \hyperref[syn:synthslantbox]{\cs{synthslantbox}} that is called for every
+% forward-slanting operation with~\hyperref[syn:textsynthslant]{\cs{textsynthslant}}.
+%
+% \begin{synopsis}\label{syn:slantenvironment}
+% \cs{begin}|{slantenvironment}| \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{slantenvironment}|
+% \end{synopsis}
+%
+% Switch to an upright font shape and --~if
+% package~\packagename{microtype}~\cite{package:microtype}\index{package>\packagename{microtype}}
+% has been loaded~-- enter the Microtype-context defined by
+% macro~\hyperref[syn:slantcontext]{\cs{slantcontext}}. At the end add some slant correction,
+% which is the equivalent of italics correction.
+%
+% \begin{usecases}[\doublequotes{Patch Cases}]
+% Left-italics correction.~\visualpar{}
+% Simultaneous left-italics and right-italics correction for a shift-left effect.
+% \end{usecases}
+%
+% \DescribeEnv{negslantenvironment}
+% Wrapper around \hyperref[syn:synthslantbox]{\cs{synthslantbox}} that is called for every
+% backward-slanting operation
+% with~\hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}.
+%
+% \begin{synopsis}\label{syn:negslantenvironment}
+% \cs{begin}|{negslantenvironment}| \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{negslantenvironment}|
+% \end{synopsis}
+%
+% Switch to an italics font shape and --~if
+% package~\packagename{microtype}~\cite{package:microtype} has been loaded~-- enter the
+% Microtype-context defined by macro~\hyperref[syn:negslantcontext]{\cs{negslantcontext}}.
+%
+% \DescribeMacro{\slantcontext}
+% Microtype context used when typesetting slanted text.
+%
+% \begin{synopsis}\label{syn:slantcontext}
+% \cs{slantcontext}
+% \end{synopsis}
+%
+% The expansion of this macro may be empty.
+% The package's default is
+%
+% \begin{codeexample}
+% tracking = synthslant
+% \end{codeexample}
+%
+% \begin{note}
+% The tracking context~\code{synthslant} is \emph{not} defined by \packagename{synthslant}.
+% And \packagename{microtype} ignores undefined contexts.
+% \end{note}
+%
+% \DescribeMacro{\negslantcontext}
+% Microtype context used when typesetting un-slanted text.
+%
+% \begin{synopsis}\label{syn:negslantcontext}
+% \cs{negslantcontext}
+% \end{synopsis}
+%
+% The expansion of this macro may be empty.
+% The package's default is
+%
+% \begin{codeexample}
+% tracking = synthnegslant
+% \end{codeexample}
+%
+% \begin{note}
+% The tracking context~\code{synthnegslant} is \emph{not} defined by
+% \packagename{synthslant}. And \packagename{microtype} ignores undefined contexts.
+% \end{note}
+%
+% \begin{example}
+% Upright italics often look somewhat tight. I like to add some extra tracking to them. So,
+% I simply define the context~\code{synthnegslant}:
+%
+% \begin{codeexample}
+% \cs{SetTracking}\=[context = synthnegslant] \\
+% \>\{encoding = *, shape = it\} \\
+% \>\{10\}\specialsectionendhere
+% \end{codeexample}
+% \end{example}
+%
+% \begin{tip}
+% When the tracking of upright italics is changed
+% it may be advisable
+%
+% \begin{itemize}[notopsep]
+% \item to break ligatures, e.\,g.~\code{no ligatures = \{f\}},
+% \item to adjust the outer kerning, e.\,g.~\code{outer~kerning = \{0, 0\}} and
+% \item to adapt the inter-word spacing, e.\,g.~\code{spacing = \{100,,\}}.
+% \end{itemize}
+%
+% The document \filesystem{synthslant-gauge.tex}, which comes with
+% package~\packagename{synthslant}, has sample texts and tracking variations already set up
+% for experimentation.
+% \end{tip}
+%
+%
+% \clearpage
+% \section{Determining Slant}\label{sec:determine-slant}
+%
+% If a synthetically slanted piece of text needs to match to an existing italics or oblique
+% font the question arises how to determine the slant angle~\(\alpha\) or~\meta{slant}.
+%
+% \begin{note}
+% The slant angles of different glyphs in the same font may slightly differ from each other.
+% We look for a representative \meta{slant}, a kind of average that achieves a visual match
+% with the italics or obliques of the font family.
+% \end{note}
+%
+%
+% \subsection{Direct Measurement}\label{sec:direct-meansurement}
+%
+% Measure the angle of some reference glyphs with a graphics program.
+%
+% \begin{enumerate}[itemsep=.5\itemsep, parsep=.5\parsep]
+% \item Prepare a page with some sample glyphs of the font shape to be matched.
+%
+% \item Render it as PostScript or in~\acronym{PDF}.
+%
+% \item Load the file at a resolution of 1200\,dpi or higher into your favourite graphics
+% editor that supports measuring angles.
+%
+% \item In the graphics editor center the interesting letters and set the zoom to one hundred
+% percent or more.
+%
+% \item Measure some letters and write down the angles.
+%
+% \item Convert the desired angle~\(\alpha\) to a \meta{slant} by calculating \(\sin \alpha\).
+%
+% If no computer is available, the following formula might help:
+% \begin{equation*}
+% \meta{slant} = \sin \alpha \approx \frac{11}{630\degree} \: \alpha,
+% \end{equation*}
+%
+% where \(\alpha\) is given in degrees.
+% \end{enumerate}
+%
+%
+% \subsection{Comparison of Shapes}\label{sec:shape-comparison}
+%
+% Compare some reference glyphs with a differently slanted versions.
+%
+% \begin{enumerate}[itemsep=.5\itemsep, parsep=.5\parsep]
+% \item In file~\filesystem{synthslant-gauge.tex} which comes with the
+% \packagename{synthslant}~package insert the code to load your font-of-interest.
+%
+% \item Render the document as PostScript or as~\acronym{PDF}.
+%
+% \item Load the first page at a resolution of 600\,dpi to~900\,dpi into your favourite
+% graphics editor.
+%
+% \item Cut the italics sample at the top allowing for generous white-space around it as a
+% rectangle
+%
+% \item Paste the rectangle in a new layer called e.\,g.~\singlequotes{sample}.
+%
+% \item On layer \singlequotes{sample} move the rectangle down the list of different slant
+% values until it match best.
+%
+% \item Switch the layer mode of \singlequotes{sample} to \singlequotes{difference} and
+% fine-position the rectangle over the slanted sample. Compare different letters in that
+% way. Change line until the best match is found.
+%
+% \item Read the slant value at the left-hand side of the line. See
+% \Cref{fig:compare-with-the-gimp}.
+% \end{enumerate}
+%
+% \begin{figure}
+% \centering
+% \includegraphics[keepaspectratio=true, width=\linewidth]
+% {compare-with-the-gimp}
+%
+% \caption[Compare slant angles]
+% {Compare italics and slanted samples with \application{The Gimp}.~\visualpar{} For
+% this screendump I loaded the samples on the first page of
+% \filesystem{synthslant-gauge.pdf} at a resolution of~600\,dpi into
+% \application{The Gimp}. The \singlequotes{sample}~layer is aligned to the
+% letter~\singlequotes{t} in the word~\singlequotes{White}. Note that accidentally
+% the letter~\singlequotes{H} of the next word~\singlequotes{Handgloves} confirms
+% the good match.}\label{fig:compare-with-the-gimp}
+% \end{figure}
+%
+%
+% \subsection{Exploring Further}\label{sec:exploring-further}
+%
+% Once a usable slant value has been found it can be fed into \filesystem{synthslant-gauge.tex}
+% and --~after recompiling with the appropriate \LaTeX-engine~-- used to examine the details of
+% the slant operations.
+%
+% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native al
+% well as synthesized ones. Here, the slanted glyphs as well as the upright italics should
+% blend well with the native italics/obliques and the normal font, respectively.
+%
+% Page~3, Sec.~3.2 and following sub-sections, examines the coupling of
+% \packagename{synthslant} with the \TeX-system and some of its extensions. If a slant engine
+% malfunctions, it will become evident on this page.
+%
+%
+% \clearpage
+% \section{Limitations and Known Problems}\label{sec:limitations}
+%
+% Here I list some of the known problems of \packagename{syntslant}. Conceivably there are
+% more.
+%
+% \begin{description}
+% \item[All except \packagename{fontspec}.]
+% \packagename{Syntslant}~manipulations may not survive
+% (pre-)\discretionary{}{}{}processing by \MP.
+%
+% \item[\packagename{l3draw} engine.]\index{package>\packagename{l3draw}}\mbox{}
+% \begin{itemize}
+% \item Depending of the shear direction the \packagename{l3draw} engine may generate some
+% extra positive or negative space at the ends of the text.
+%
+% \item Any box sheared looses its depth; technically \cs{dp} becomes~0pt.
+%
+% \item Markedly slower than the \acronym{PDF}-implementation!
+% \end{itemize}
+%
+% \item[\pstrickslogo{} engine.]\index{package>\packagename{pstricks}}
+% The \pstrickslogo{} engine produces some extra space at the ends of the text.
+%
+% \item[\tikzlogo{} engine.]\index{package>\packagename{tikz}}
+% The \tikzlogo{} engine produces some extra space at the ends of the text.
+% \end{description}
+%
+%
+% \clearpage
+% \section{Alternative Solution}\label{sec:alternative}
+%
+% Here is an alternative to \packagename{synthslant} that I am aware of. It changes the slant
+% of a font as a whole and it is impossible to undo the change within the document.
+%
+%
+% \subsection{Using \pdfTeX}\label{sec:alternative-pdftex}
+%
+% In \pdfTeX{} fonts can be re-mapped in the document preamble with the
+% primitive~\cs{pdfmapline}; see the \pdfTeX{} Reference Manual~\cite[Sec.~6.1]{pdftex} for a
+% description of the syntax. This possibility renders possible to splice in a slanting
+% operation on the fly.
+%
+% Here is a simplified syntax of a font map line, which does not indicate any of the optional
+% parts for better readability:
+%
+% \begin{multilinecodeexample}
+% \meta{tfm-name} \meta{ps-name} \meta{font-flags} \\
+% \pushright "\meta{special}" <\meta{encoding-file} <\meta{font-file}
+% \end{multilinecodeexample}
+%
+% \noindent where
+%
+% \begin{itemize}[notopsep]
+% \item \meta{tfm-name} is the basename of the \TeX{} font-metric file~(\filesystem{*.tfm}),
+%
+% \item \meta{ps-name} is the name the font will acquire inside of \TeX,
+%
+% \item \meta{font-flags} optionally specify some characteristics of the font,
+%
+% \item \meta{special} prescribes font manipulations in the same way as
+% \command{dvips}~\cite[Sec.~6.3]{dvips} does,
+%
+% \item \meta{encoding-file} is the filename~(\filesystem{*.enc}) where the encoding to be used
+% with \meta{font-file} is stored, and
+%
+% \item \meta{font-file} sets the filename of the font's definition. It is given without path
+% but includes an extension, which typically is \filesystem{otf,} \filesystem{pfb,}
+% or~\filesystem{ttf.}
+% \end{itemize}
+%
+% \noindent
+% We are particularly interested in the \meta{special}~part that allows us to slant the whole
+% font with a single instruction.
+%
+% I want to elaborate the example given in \cref{sec:usage-ideas},
+% \cref{it:correct-italics-angle} and generate less-angled italics for
+% Libre~Caslon.\index{font>Libre Caslon} Here is a suitable map line taken from
+% \filesystem{pdftex.map} on my system:
+%
+% \begin{multilinecodeexample}
+% LibreCsln-Italic-osf-t1--base LibreCsln-Italic \\
+% \indent "\textvisiblespace AutoEnc\ttdots\textvisiblespace ReEncodeFont\textvisiblespace" \\
+% \pushright <[lcsln\ttdots.enc <LibreCsln-Italic.pfb
+% \end{multilinecodeexample}
+%
+% \smallskip
+%
+% \noindent
+% which I had to break into three lines to make it fit this page. The
+% \singlequotes{{\ttfamily\ttdots\,}} indicate parts of the identifiers that I left out beyond
+% that. There are in fact four map lines for \code{T1}-encoded Libre~Caslon italics, those for
+% lining figures~\singlequotes{\code{lf}}, oldstyle figures~\singlequotes{\code{osf}}, tabular
+% lining figures~\singlequotes{\code{tlf}}, and tabular oldstyle
+% figures~\singlequotes{\code{osf}}.
+%
+% The slant operation I want to add to the \meta{special}~part has the format:
+%
+% \begin{codeexample}
+% \meta{slant}~SlantFont
+% \end{codeexample}
+%
+% \noindent
+% so for a shear to the left, for example, \(\meta{slant} = -.12\), which means the font gets
+% slanted by~\(-8\degree\) the \meta{special}~part becomes
+%
+% \begin{codeexample}
+% "\textvisiblespace -0.12\textvisiblespace SlantFont\textvisiblespace
+% AutoEnc\ttdots\textvisiblespace ReEncodeFont\textvisiblespace"
+% \end{codeexample}
+%
+% \noindent
+% Finally, I select the modified font e.\,g.~with macro
+%
+% \begin{codeexample}
+% \cs{usefont}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}
+% \end{codeexample}
+%
+% \noindent
+% See Ref.~\citenum{latex-unofficial-refman} for details.
+% In our case the call to \cs{usefont} is
+%
+% \begin{codeexample}
+% \char`\\usefont\{T1\}\{LibreCsln-OsF\}\{regular\}\{it\}
+% \end{codeexample}
+%
+% \begin{example}
+% Here is all the talk of above put into action as this very document contains exactly the
+% \cs{pdfmapline} just described.
+%
+% \begin{center}
+% \def\sample{White Handgloves}
+% \begin{tabular}{@{}ll@{}}
+% Uncorrected, original italics & {\usefont{T1}{LibreCsln-LF}{regular}{it}\sample} \\
+% Less angled version & {\usefont{T1}{LibreCsln-OsF}{regular}{it}\sample}
+% \end{tabular}
+% \end{center}
+%
+% \noindent
+% The only trick I have to reveal is that for the \doublequotes{original italics} I used the
+% lining figures~\singlequotes{\code{lf}} version of the font, whereas the \doublequotes{less
+% angled} version shows the oldstyle figures~\singlequotes{\code{osf}} version.
+%
+% The \TeX{} Font Metrics file (\acronym{TFM}) for this particular variant of Libre~Caslon
+% was not touched.
+% \end{example}
+%
+%
+% \subsection{Combining \LaTeX{} and \command{dvipdfmx}}\label{sec:alternative-latex}
+%
+% The alternative when using \LaTeX{} is similar the one elaborated in the previous section.
+% The font mapline gets modified by \cs{special} primitive
+%
+% \begin{codeexample}
+% \cs{special}\{pdf:mapline \meta{font-mapline}\}
+% \end{codeexample}
+%
+% \noindent
+% that forwards the task of re-mapping the font, e.\,g.~to \command{dvipdfmx}. Our running
+% example becomes
+%
+% \begin{multilinecodeexample}
+% \cs{special}\{pdf:mapline \\
+% \indent LibreCsln-Italic-osf-t1--base LibreCsln-Italic \\
+% \indent "\textvisiblespace -0.12\textvisiblespace SlantFont\textvisiblespace
+% AutoEnc\ttdots\textvisiblespace
+% ReEncodeFont\textvisiblespace" \\
+% \pushright <[lcsln\ttdots.enc <LibreCsln-Italic.pfb\}
+% \end{multilinecodeexample}
+%
+% \noindent
+% The mapline contains \command{dvips}~options for special font effects; see
+% Ref.~\citenum{dvips}, Sec.~6.3. Note that there is no \singlequotes{\code{=}}-sign at the
+% beginning of the \code{pdf:mapline} in contrast to \cs{pdfmapline}.
+%
+% The font is activated in the same way as in the \acronym{PDF}-path
+% (\cref{sec:alternative-pdftex}). The further translation of the resulting \acronym{DVI}-file
+% must be performed with an application that is aware of the \cs{special}~primitive as for
+% example~\command{dvipdfmx}~\cite{dvipdfmx} is.
+%
+% \begin{note}
+% Despite the option syntax originates with \command{dvips} it is not able to interpret any
+% \code{\cs{special}\{pdf:mapline \ttdots\}}.
+% \end{note}
+%
+%
+% \clearpage
+% \appendix
+%
+%
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+% \MaybeStop{
+% \clearpage
+% \phantomsection
+% \resetfancyhead
+% \addcontentsline{toc}{section}{Change History}
+% \PrintChanges
+%
+% \clearpage
+% \phantomsection
+% \addcontentsline{toc}{section}{References}
+% \begin{RaggedRight}
+% \begin{thebibliography}{88}
+% \bibitem{package:relsize}
+% \bibauthor{Arseneau, Donald}.
+% \bibtitle{The \textsf{relsize} package}.
+% 2013,
+% \biburl{https://ctan.org/pkg/relsize}.
+%
+% \bibitem{adobe-pdf-1.0}
+% \bibauthor{Bienz, Tim} and \bibauthor{Richard Cohn}.
+% \bibtitle{Portable Document Format Reference Manual}.
+% Addison-Wesley Publishing Company, Reading/MA,
+% 1993,
+% \biburl{https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/pdfreference1.0.pdf}.
+%
+% \bibitem{package:babel}
+% \bibauthor{Bezos, Javier}.
+% \bibtitle{Package~\packagename{babel}}.
+% 2021,
+% \biburl{https://ctan.org/pkg/babel}.
+% The original author of \packagename{babel} was \bibauthor{J. L. Braams}.
+%
+% \bibitem{tex-stackexchange-2013-12-7}
+% \bibauthor{Carlisle, David}.
+% \bibtitle{Shear Transform a Box}.
+% 2013-12-7,
+% \biburl{https://tex.stackexchange.com/questions/63179/shear-transform-a-box/63188}.
+%
+% \bibitem{dvipdfmx}
+% \bibauthor{Dvipdfmx Project Team,} ed.
+% \bibtitle{\command{dvipdfmx}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/dvipdfmx}.
+%
+% \bibitem{fntguide}
+% \bibauthor{\LaTeXIII{} Project Team,} ed.
+% \bibtitle{\LaTeXe{} font selection}.
+% 2023,
+% \biburl{https://www.latex-project.org/help/documentation/fntguide.pdf}.
+%
+% \bibitem{latex3-interfaces}
+% \bibauthor{\LaTeXIII{} Project,}
+% \bibtitle{The \LaTeXIII{} Interfaces}.
+% 2024,
+% \biburl{https://texdoc.org/serve/interface3/0}.
+%
+% \bibitem{latex-unofficial-refman}
+% \bibauthor{latexref.xyz}.
+% \bibtitle{\LaTeXe: An unofficial reference manual}.
+% 2023,
+% \biburl{https://latexref.xyz/dev/latex2e.pdf}.
+%
+% \bibitem{middendorp:2014}
+% \bibauthor{Middendorp, Jan}.
+% \bibtitle{Shaping Text}.
+% \acronym{BIS}~publishers, Amsterdam,
+% 2014.
+%
+% \bibitem{dvips}
+% \bibauthor{Rokicki, Tomas}.
+% \bibtitle{\command{dvips}}.
+% 2022,
+% \biburl{https://tug.org/texlive/Contents/live/texmf-dist/doc/dvips/dvips.pdf}.
+%
+% \bibitem{package:microtype}
+% \bibauthor{Schlicht, Robert}.
+% \bibtitle{Package~\packagename{microtype}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/microtype}.
+%
+% \bibitem{schroeder:2007}
+% \bibauthor{Schr\"oder, Martin}.
+% \bibtitle{pdftex 1.40}.
+% 2007,
+% \biburl{https://tug.org/mail-archives/pdftex/2007-January/006910.html}.
+%
+% \bibitem{stamm:2020}
+% \bibauthor{Stamm, Philipp}.
+% \bibtitle{Schrifttypen -- Verstehen Kombinieren:
+% Schriftmischung als Reiz in der Typografie}.
+% Birkhäuser, Basel,
+% 2020.
+%
+% \bibitem{strizver:2014}
+% \bibauthor{Strizver, Ilene}.
+% \bibtitle{Type rules!: the designer's guide to professional typography},
+% 4\textsuperior{th}~ed.
+% John Wiley~\& Sons, Hoboken/NJ,
+% 2014.
+%
+% \bibitem{baskerville-pdftex-8-1:1998}
+% \bibauthor{Th\`anh, Han The}.
+% \bibtitle{The \pdfTeX{} user manual}.
+% Baskerville, 8(1), 9--14 (1998),
+% \biburl{http://uk-tug-archive.tug.org/wp-installed-content/uploads/2008/12/81.pdf}.
+%
+% \bibitem{pdftex}
+% \bibauthor{Th\`anh, Han The} et al.
+% \bibtitle{\pdfTeX}.
+% 2023,
+% \biburl{http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf}.
+% \end{thebibliography}
+% \end{RaggedRight}
+%
+%
+% \clearpage
+% \begin{RaggedRight}
+% \setcounter{IndexColumns}{2}
+% \setlength{\columnsep}{30pt}
+% \label{sec:index}
+% \phantomsection
+% \addcontentsline{toc}{section}{Index}
+% \PrintIndex
+% \end{RaggedRight}
+% }
+%
+%
+% \clearpage
+% \section{Package Code}\label{sec:package-code}
+% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{multicols}{2}}
+% \addtocontents{toc}{\protect\raggedcolumns}
+%
+% This is the \doublequotes{Reference Manual} section of the documentation
+% where we describe the package's code
+% and explain its implementation details.
+%
+%
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{synthslant}
+ [2024/05/07 v0.1 Synthetically Slant glyphs]
+
+\RequirePackage{iftex}
+\RequirePackage{xkeyval}
+
+% \end{macrocode}
+%
+%
+% \subsection{Declaration of Default Slants}
+%
+% \begin{macro}{\synthslant}
+% Introduce a reasonable default for the slant. Let the user override it if she knows
+% better.
+%
+% Remember that the slant is not an angle (with respect to the \(y\)-axis), but the sine of
+% it; The value~\(.2\) approximately corresponds to a slant-angle of 12\textdegree\!.
+%
+% \begin{macrocode}
+\providecommand*{\synthslant}{.2}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\synthnegslant}
+% Also introduce a reasonable default for the negative slant, which is used for upright
+% italics.
+%
+% \begin{macrocode}
+\providecommand*{\synthnegslant}{-.2}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Selection of Slant-Engine}
+%
+% We provide several methods to slant glyphs. The actual slanting is delegated to a
+% \singlequotes{slant-engine} which shears the glyphs.
+%
+% \begin{macro}{\synthslant@engine}
+% Default to automatic selection of the slant engine.
+%
+% \begin{macrocode}
+\def\synthslant@engine{-1}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Expose default forward and backward slant values as package options.
+%
+% \begin{macrocode}
+\DeclareOptionX{slant}{%
+ \xdef\synthslant{\fpeval{#1}}%
+ \xdef\synthnegslant{\fpeval{-(#1)}}}
+\DeclareOptionX{negslant}{\xdef\synthnegslant{\fpeval{#1}}}
+\DeclareOptionX{posslant}{\xdef\synthslant{\fpeval{#1}}}
+
+% \end{macrocode}
+%
+% Make slant-engine selection configurable.
+%
+% \begin{macrocode}
+\DeclareOptionX{auto}{\def\synthslant@engine{-1}}
+\DeclareOptionX{PDF}{\def\synthslant@engine{0}}
+\DeclareOptionX{pdf}{\def\synthslant@engine{0}}
+\DeclareOptionX{l3draw}{\def\synthslant@engine{1}}
+\DeclareOptionX{ps}{\def\synthslant@engine{2}}
+\DeclareOptionX{PS}{\def\synthslant@engine{2}}
+\DeclareOptionX{tikz}{\def\synthslant@engine{3}}
+\DeclareOptionX{TikZ}{\def\synthslant@engine{3}}
+\DeclareOptionX{fontspec}{\def\synthslant@engine{4}}
+\DeclareOptionX{disable}{\def\synthslant@engine{10000}}
+
+\ProcessOptionsX\relax
+
+% \end{macrocode}
+%
+% Require sane parameter values.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\fp_compare:nNnTF {\synthslant} < {.0}
+ {\PackageError{synthslant}{\string\synthslant\space <\space 0}
+ {Pass\space a\space value\space that\space is\space non-negative.}}
+ {}
+\fp_compare:nNnTF {\synthnegslant} > {.0}
+ {\PackageError{synthslant}{\string\synthnegslant\space >\space 0}
+ {Pass\space a\space value\space that\space is\space non-positive.}}
+ {}
+\ExplSyntaxOff
+
+% \end{macrocode}
+%
+% Announce the positive and negative slant values now that we are sure they are ok. This may
+% be useful information if the user passed a (complicated) floating-point expression and wants
+% to know how \LaTeX{} did evaluate it.
+%
+% \begin{macrocode}
+\PackageInfo{synthslant}{\string\synthslant=\synthslant}
+\PackageInfo{synthslant}{\string\synthnegslant=\synthnegslant}
+
+
+% \end{macrocode}
+%
+%
+% \subsection{Slant Engines}
+%
+% The auto-selection code is pretty trivial. If we identify \pdfTeX{} running we select the
+% \acronym{PDF}-engine, for \LuaLaTeX{} we select the \packagename{fontspec}-engine, and in all
+% other cases we let the \packagename{l3draw}-layer handle the shearing.
+%
+% \begin{macrocode}
+\ifnum\synthslant@engine<0
+ \PackageInfo{synthslant}{auto-selecting slant engine}
+
+ \ifpdftex
+ \ifnum\pdfoutput>0
+ \def\synthslant@engine{0}
+ \else
+ \def\synthslant@engine{1}
+ \fi
+ \else
+ \ifluatex
+ \def\synthslant@engine{4}
+ \else
+ \def\synthslant@engine{1}
+ \fi
+ \fi
+\fi
+
+
+% \end{macrocode}
+%
+%
+% \begin{macro}{\synthslant@shear@box}
+% The various slant engine macros are all subsumed under \cs{synthslant@\-shear@\-box}. So
+% the higher-level code becomes (almost) engine independent.
+% \end{macro}
+%
+%
+% \begin{macro}{\synthslant@engine@name}
+% Sometimes we would like to recover the (printable) name of the selected slant engine.
+%
+% \begin{macrocode}
+\newcommand*{\synthslant@engine@name}{%
+ \ifcase\synthslant@engine
+ PDF%
+ \or% 1
+ l3draw%
+ \or% 2
+ PSTricks%
+ \or% 3
+ TikZ%
+ \or% 4
+ fontspec%
+ \else
+ null-implementation%
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{\acronym{PDF} Slant Engine}
+%
+% The \acronym{PDF}-engine works well and it is the best tested alternative.
+%
+% \begin{macrocode}
+\ifcase\synthslant@engine% 0: PDF
+ \PackageInfo{synthslant}{shearing done by PDF}
+
+ \newbox{\synthslant@box}
+
+% \end{macrocode}
+% \begin{macro}{\synthslant@pdf@shear@box}
+% \begin{macrocode}
+ \newcommand*{\synthslant@pdf@shear@box}[2]{%
+ \mbox{\sbox{\synthslant@box}{#2}%
+ \hskip\wd\synthslant@box
+ \pdfsave
+ \pdfsetmatrix{1 0 #1 1}%
+ \llap{\usebox{\synthslant@box}}%
+ \pdfrestore}%
+ }
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \let\synthslant@shear@box=\synthslant@pdf@shear@box
+% \end{macrocode}
+%
+%
+% \subsubsection{\packagename{l3draw} Slant Engine}
+%
+% Using \LaTeXIII{} may be like cheating on a very high level as the draw subsystem may
+% delegate to the \acronym{PDF}-engine itself. \acronym{LOL!}
+%
+% \begin{macrocode}
+\or% 1: LaTeX3 draw subsystem
+ \PackageInfo{synthslant}{shearing delegated to l3draw}
+
+ \RequirePackage{l3draw}
+
+ \ExplSyntaxOn
+% \end{macrocode}
+% \begin{macro}{\synthslant@latex@shear@box}
+% Slanting implemented with the experimental l3draw subsystem.
+%
+% \begin{anticipatedchange}
+% As soon as the l3kernel offers an x-shear operation (\cs{box\_xshear:Nn}?) we shall ditch
+% this implementation and switch to the one that is tailored to \emph{text} instead of the
+% current one for graphics.
+% \end{anticipatedchange}
+%
+% \begin{macrocode}
+ \NewDocumentCommand{\synthslant@latex@shear@box}{mm}{
+ \hbox_set:Nn \l_tmpa_box {#2}
+ \dim_set:Nn \l_tmpa_dim {\box_wd:N \l_tmpa_box}
+ \dim_set:Nn \l_tmpb_dim {\box_ht:N \l_tmpa_box}
+ \draw_begin:
+ \draw_transform_xslant:n {#1}
+% \end{macrocode}
+%
+% Force the baseline of the payload (\#2) to coincide with the baseline of the surrounding
+% text. This --~of course~-- screws up our bounding box at least vertically.
+%
+% \begin{macrocode}
+ \box_set_dp:Nn \l_tmpa_box {\z@}
+% \end{macrocode}
+%
+% Here comes a fudge because the l3draw bounding boxes are way too loose. For positive
+% slants: shrink the box-width by the box-height times~\meta{slant}. For negative slants:
+% shrink the box-width as for positive slants and in addition shift the payload to the left by
+% the box-height times~\meta{slant}.
+%
+% \begin{macrocode}
+ \fp_compare:nNnTF {#1} >= {.0}
+ {
+ \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim - #1\l_tmpb_dim}
+ }
+ {
+ \draw_suspend_begin:
+ \kern#1\l_tmpb_dim
+ \draw_suspend_end:
+ \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim + #1\l_tmpb_dim}
+ }
+% \end{macrocode}
+%
+% Now typeset the box.
+%
+% \begin{macrocode}
+ \draw_box_use:N \l_tmpa_box
+ \draw_end:
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \ExplSyntaxOff
+
+ \let\synthslant@shear@box=\synthslant@latex@shear@box
+% \end{macrocode}
+%
+%
+% \subsubsection{\pstrickslogo{} Slant Engine}
+%
+% Shearing via \pstrickslogo{} works, but exhibits a weird interface.
+%
+% \begin{macrocode}
+\or% 2: PSTricks
+ \PackageInfo{synthslant}
+ {shearing deferred to PostScript via PSTricks}
+
+ \RequirePackage{pst-3d}% \pstilt
+
+% \end{macrocode}
+%
+% Package~\packagename{pstricks} offers \cs{pstilt} and \cs{psTilt} both with typographically
+% sub-optimal outcomes.
+%
+% \begin{macro}{\synthslant@pstricks@shear@box}
+% \begin{macrocode}
+ \newcommand*{\synthslant@pstricks@shear@box}[2]{%
+ \pstilt{\fpeval{57.2958 * acos(#1)}}{#2}%
+ }
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \let\synthslant@shear@box=\synthslant@pstricks@shear@box
+% \end{macrocode}
+%
+%
+% \subsubsection{\tikzlogo{} Slant Engine}
+%
+% The \tikzlogo{} code has not been tested thoroughly yet, but it looks like it could work
+% after some tweaking.
+%
+% \begin{macrocode}
+\or% 3: TikZ
+ \PackageInfo{synthslant}{shearing by TikZ}
+
+ \RequirePackage{tikz}
+
+% \end{macrocode}
+% \begin{macro}{\synthslant@tikz@shear@box}
+% \begin{macrocode}
+ \newcommand*{\synthslant@tikz@shear@box}[2]{%
+ \tikz[baseline = (ANCHOR.base), xslant = #1]
+ \node[inner sep = 0pt, xslant = #1] (ANCHOR) {#2};
+ }
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \let\synthslant@shear@box=\synthslant@tikz@shear@box
+% \end{macrocode}
+%
+%
+% \subsubsection{\packagename{fontspec}}
+%
+% The \packagename{fontspec} works particularly well, but it does not jibe with \pdfTeX.
+%
+% \begin{macrocode}
+\or% 4: fontspec
+ \PackageInfo{synthslant}
+ {use fontspec's artificial font transformations}
+
+ \RequirePackage{fontspec}
+
+ \ExplSyntaxOn
+% \end{macrocode}
+% \begin{macro}{\synthslantbox@fontspect@shear@box}
+% \begin{macrocode}
+ \newcommand*{\synthslantbox@fontspect@shear@box}[2]{
+ \begingroup
+ \expandafter\fontspec[FakeSlant = #1]{\l_fontspec_family_tl}
+ #2
+ \endgroup
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \ExplSyntaxOff
+
+ \let\synthslant@shear@box=\synthslantbox@fontspect@shear@box
+% \end{macrocode}
+%
+%
+% \subsubsection{Null Implementation}
+%
+% The null implementation --~which does exactly what its name implies~-- can be useful for
+% debugging or to get rid of the effect temporarily.
+%
+% \begin{macrocode}
+\else% >=5: Null implementation
+ \PackageWarning{synthslant}{shearing disabled}
+
+% \end{macrocode}
+% \begin{macro}{\synthslant@identity@shear@box}
+% \begin{macrocode}
+ \newcommand*{\synthslant@identity@shear@box}[2]{#2}
+
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \let\synthslant@shear@box=\synthslant@identity@shear@box
+\fi
+
+
+% \end{macrocode}
+%
+%
+% \subsection{Generic Slant Code}
+%
+% Here comes the engine-independent code.
+%
+% \begin{macro}{\synthslant@nolinebreak}
+% The \LaTeXIII{} and \tikzlogo{} engines break lines at \singlequotes{unexpected} points.
+% Here is a duct-tape solution for them that concretes together the adajacent parts.
+%
+% \begin{macrocode}
+\def\synthslant@nolinebreak{%
+ \ifnum\synthslant@engine=1% l3draw
+ \nolinebreak
+ \else
+ \ifnum\synthslant@engine=3% TikZ
+ \nolinebreak
+ \fi
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\synthslantbox@soft@hyphen}
+% Allow for line breaks at hyphenation opportunities~(\singlequotes{\cs{-}}).
+%
+% \begin{macrocode}
+\def\synthslantbox@soft@hyphen#1\-#2\relax{%
+ \synthslant@shear@box{\synthslant@slant@value}{#1}%
+ \ifx\relax#2%
+ \relax
+ \else
+ \synthslant@nolinebreak
+ \discretionary{-}{}{}%
+ \synthslantbox@soft@hyphen#2\relax
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\synthslantbox@hard@hyphen}
+% Allow for line breaks at embedded, explicit hyphens~(\singlequotes{-}).
+%
+% \begin{macrocode}
+\def\synthslantbox@hard@hyphen#1-#2\relax{%
+ \synthslantbox@soft@hyphen#1\-\relax
+ \ifx\relax#2%
+ \relax
+ \else
+ \synthslant@nolinebreak
+ \synthslant@shear@box{\synthslant@slant@value}{-}%
+ \synthslant@nolinebreak
+ \discretionary{}{}{}%
+ \synthslantbox@hard@hyphen#2\relax
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\synthslantbox@space}
+% Allow for line breaks at embedded spaces~(\singlequotes{\textvisiblespace}).
+%
+% \begin{macrocode}
+\def\synthslantbox@space#1 #2\relax{%
+ \synthslantbox@hard@hyphen#1-\relax
+ \ifx\relax#2%
+ \relax
+ \else
+ \space
+ \synthslantbox@space#2\relax
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\synthslantbox}
+% We define two completely different implementations depending on the request for
+% \packagename{fontspec} doing the slanting or any other package.
+%
+% Macro~1: Immediately call the \packagename{fontspec}-specific macro. Bypass the hierarchy
+% needed for the other slant engines.
+%
+% \begin{macrocode}
+\ifnum\synthslant@engine=4% fontspec
+ \newrobustcmd*{\synthslantbox}[2]{%
+ \edef\synthslant@slant@value{#1}% definition for compatibility of both branches
+ \synthslantbox@fontspect@shear@box{\synthslant@slant@value}{#2}%
+ }
+% \end{macrocode}
+%
+% Macro~2: This is the firestarter for the processing of all different kinds breakpoints
+% until we reach unbreakable chunks to be passed on to the selected slant engine.
+%
+% Normally, a user wants to call \cs{text\-synth\-slant} or
+% \cs{text\-synth\-up\-right\-italic}, however \LaTeX~wizards may have other ideas.
+%
+% \begin{macrocode}
+\else
+ \newrobustcmd*{\synthslantbox}[2]{%
+ \edef\synthslant@slant@value{#1}%
+ \expandafter\synthslantbox@space#2 \relax\relax
+ }
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\synthslantbox@right@slant@correction}
+% This is a simple yet surprisingly effective heuristic for slant correction on the
+% right-hand side if the slanted text. The value~\cs{synthslant} is \(\sin \alpha\), where
+% \(\alpha\) is the slant angle; see \cref{equ:shear-transformation} on
+% \cpageref{equ:shear-transformation}. Multiplied with the ex-height of the current font,
+% \cs{fontdimen5}, this is a good approximation of the necessary slant correction.
+%
+% \begin{macrocode}
+\newcommand*{\synthslantbox@right@slant@correction}{%
+ \dimen0=\fontdimen5\font
+ \kern\synthslant\dimen0\relax
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\slantcontext}
+% If we have \packagename{microtype} support we enter the context defined by this macro in
+% |slantenvironment|.
+%
+% \begin{macrocode}
+\newcommand*{\slantcontext}{tracking=synthslant}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{slantenvironment}
+% We use this environment as a pair of hooks that are called right before and right after the
+% actual slanting code runs. The default sets up an upright type shape before and adds some
+% italic correction after slanting.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{slantenvironment}{}
+ {\upshape
+ \ifcsdef{microtypecontext}
+ {\expandafter\microtypecontext\expandafter{\slantcontext}}
+ {}}
+ {\ifcsdef{endmicrotypecontext}
+ {\endmicrotypecontext}
+ {}%
+ \synthslantbox@right@slant@correction}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\textsynthslant}
+% User-level macro to slant some text.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\textsynthslant}{m}
+ {\ifmmode
+ \synthslantbox{\synthslant}{#1}%
+ \else
+ {\slantenvironment
+ \synthslantbox{\synthslant}{#1}%
+ \endslantenvironment}%
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\synthslantbox@right@negslant@correction}
+% We could play the same trick here as in \cs{synthslantbox@right@slant@correction} and use
+% \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a
+% correction. Anyhow, this macro may be convenient to override someday.
+%
+% \begin{macrocode}
+\newcommand*{\synthslantbox@right@negslant@correction}{}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\negslantcontext}
+% If we have \packagename{microtype} support we enter the context defined by this macro in
+% |negslantenvironment|.
+%
+% \begin{macrocode}
+\newcommand*{\negslantcontext}{tracking=synthnegslant}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{negslantenvironment}
+% We use this environment as a pair of hooks that are called right before and right after the
+% actual un-slanting code runs.
+%
+% The default sets up an italics shape before un-slanting and adds some negative italic
+% correction after un-slanting.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{negslantenvironment}{}
+ {\itshape
+ \ifcsdef{microtypecontext}
+ {\expandafter\microtypecontext\expandafter{\negslantcontext}}
+ {}}
+ {\ifcsdef{endmicrotypecontext}
+ {\endmicrotypecontext}
+ {}%
+ \synthslantbox@right@negslant@correction}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\textsynthuprightitalic}
+% User-level macro to un-slant some italics or oblique text.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\textsynthuprightitalic}{m}
+ {\ifmmode
+ \synthslantbox{\synthnegslant}{#1}%
+ \else
+ {\negslantenvironment
+ \synthslantbox{\synthnegslant}{#1}%
+ \endnegslantenvironment}%
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \iffalse
+%</package>
+% \fi
+%
+%
+% \addtocontents{toc}{\protect\end{multicols}}
+% \addtocontents{toc}{\endgroup}
+%
+%
+% \Finale
+%
+%
+%
+%
+% \iffalse
+% <DISABLE-SPELL-CHECK>
+%<*compare-with-the-gimp>
+iVBORw0KGgoAAAANSUhEUgAAA78AAAI8CAAAAAAc2EOEAAAABGdBTUEAALGPC/xhBQAAAAJiS0dE
+AP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH6AMCCBkfw3F0QQAAgABJREFUeNrs
+XWWYJcXVfk9V9ZVx3511d4XF3RIsECBGkJAQEiQQJAYhkBBCCAT3QIhhIQR3FndZd5/ZHZ/Z8TtX
+uuuc70ffO3NHlrUBli/zPs/u3O6uLus+XVWnznkP3YMBDGAAX1IoAIBAhAWSfkXAItI9tUB6pEqe
+F0E/YUtF9HWxr2pvc15dlwXCO5zJAAbwBUJBICysVICEAPivM7OQBJQCI/WGs0BIjBZKphFI519N
+PWR/S+986oY+LySLMMmKpF1g/6a0iyJIVtuvYu+cABKlhJKVSZ1MpgALsVJCAAkFuxXZmUYEQqJN
+r6sDGMAuAf01EgoFTCRekQsREpB/gq0u02wCHkiIRIUcYWGnMp7tARBRjgUJCQWZA9Tm+KIhEBIC
+iVEWIgJiAYkIujIPcNrAJ4D4+YgKOWSFneqOHL8IEb9sCgYc4wlB2Klpz/ZAECKSUMDpSFRkB62f
+TTI9SCjkgEUgFPcMQ4yySnTIgVXJLLXjhYjDHZ5hAZAoK2CB/x3ozEUbz9FW2KlvyfEAGhDiAexy
+MBDiD9vzhybWDXeMdQkQkg87zNTczI0mbCrHJIQgKr7QG59nxFRmlSqVkBBiZWMSQkJ22ehwhQ2G
+HcezSoyrXQLEVPNIwBrPDWrXDWjEVcDzM+eVI41yJBFwySRClLxAoqML3OFDDHS1Gap0TAUslGsJ
+QvJxB5k9QlGERNdghBFXCAI1vzlnGNaWlo+0RiUolR5Cdl50XKGhhHEibpaC1KhBHYGGFRg5tiPA
+liC6uXHikoKiFYWcRSphM+yacY6Ka+t4JEr7uZj6yJgqd7giU98x2ijXGxDgAexy0F+Dii/ca1DU
+toyuWyJ5TICKL9xzSGb5iqYh1P4SipVAwu/QpETG0k3Fm4MFSzYVqAV17lwuUQIJzXcGvVmEnIZF
+wGa3PKOikEESWh4NLq5wlyFv8Vonv2xFTX7rQpvPICj74ciM+oXNhesyvbKC5WXFTUvcAiYhebVw
+WCJjcdngRl00v2xQ09LWxrUZGUwgya+PzVy2sVAvLBvUaMLz2vNJCMQfzx4Rs5HwK/GStesLW5e0
+Nq0JZzCJhD9unxnLWlyet64skd2+fEPukgX5Bc6ayH6mrGgjZzJBJT4Z85oJLR/B0ZUbQpkLNtkx
+C9cXVQbWmkauWRnOZIIEN9TPXl0zdtn6/HYElpQFs3lAfAewq0F/DSSr2zMq2ynr3WGLirKZQLy6
+o00vmbi+dNWw1ikhAkBS2zFyQZtsCoXLmlDZ7A5DdHKYQDBmY2bNtI9K3h66LFDbvEG3jXAVxNRk
+NLTkL5m6eHS4Y13ewsnzchaVLsnNYwJxxQjlmPWqLdYUbawzGxPVMwGCU1tzqDPkI2RsCDsVXnhT
+rGbcJyPDYSES5LVkROIZG5sTWeszdFVkcIYCgWhNa7C+iUubZq2tC5Z5VRM+HhEOCxEIda0jV7SN
+xnuTm2KRjeOW5WaNbkKkzAsvH79MF3sEyaxKhEObB7e3xjaNWhOJ5jQnIvnrbdtyVZexeEg4Qwhi
+Wla1rBncXJ69Koci6yYtHKEGxt8B7GpQANgZW6gNom1cogQAODhlajw4JYcDTqiUhKDcoQdlvdrk
+hgo8NCVCBQ2jRmcHSklIEB/ivTuWgtE2zh8UaxuxfJRHAIhtYPSQktHBlkW2rTE4cXC0zRabpJop
+lLuuQmqnrd8wpS4RLKTxWUwAZ8RaTUfzyLFtFi0jxrfqMYPnRKqVCAie5zWMGN/eNGJcOycmDd0Y
+VQDAenSJdtgEh7bGA4U0dvCcjioFAdySAwe9Wj9ibKhoZEjroROtV5S9shb5Y8NkWIMAUUXzh8vq
+ITB6xChsHj7aaRo6sXnEsvF18aGz4lUEAcgWTCmV5rgp9kQPmcQx9UU/qwEMoCcMAGSUZJJG0aS2
+nBwGAOWudMaZJ5sdBOWd3UggZkONW1q6xiupkukrvaH58zdM1O/sTkIioaIFo2JUOLk9uzgUHbIq
+1wKAGC3WU3FD0Sw9qOHFykmT27NzLQBRsXdyo56hIuPmTVyfGFpvLYRgcye8mVkydb5MjcjkeZja
+ztHGxqykrlnbyZ/QhMz5mByzrY3NyZlsqDhXKR0IvDZ+fXxkk402NoVJSGAqNvGgUfMrxpgEEa1r
+KR7yfvhwWphXFMt6vXa0AAQu7ihutfmbtBIXkxYqnvXJyjElsdKGLNrcHFBCgFBucUFkciw2LOLp
+Dc8V57pf9LMawAB6gu4REqvJQhxpCocEJKBYFDmqLUOx40ZySEgIbcil9nguI9Aez3EiXk4ikuNr
+dIS1WEeaQhlWtNUCgpAlIbLGcxKRLFPfvPag7IZQ2M883oG8dhXG65NHcEc0V5DcknLaElnBNs6N
+IxCxuXGYjkS+ha/z4mDE5iBic+NELZlBX61llbIQw60F0Y5ciInG89nXbLV7ebojnu0ZL7wwMTWg
+2igsYE3SFtb+NFisYXY8gmg3FOFgoMPN9VgJdCoXYjZWgh0dORJeEpkewMD0eQC7HOgeCJEIAQLD
+/sgmWsGDtoCQtslr8KCURxClrCiyySsQghCxf7MklbSpTVrFSllVs3HYEM9JZa40PM2mvHGmB6Vs
+Z2I2ZNnAEkTDEkQpD6ncRMPCP22YyS/UrzZpz8+mK70mv7ICp5qGxKFhQRCQZklWmpiIya+jBosi
+C8VppQpBkq11anhYfGADaQC7HujutAMBpX6A0E0S/Wudp6Tzeu+b006RkAAwjudSt8yFxNExwnYO
+aqkPRq+z3evq//ITG3hpVf2U4raURiiZyQAGsMvB6LSDtHdU0s/2Mpei7il6nuolYAlyemYhzKZn
+SVvBDoqQ6Ydukv7IZAD/r9FNZD4vmM2dpZN4XRXQyUFLQJ5o1Wla6V+1DNJd80kBCQtI+VNOYrvV
+csn447HobVbrih2YwA5gV4Uo3TV1s5+brYBp6PxpXe46r0zniBPnUM/a2Lg4gfQTnicCgjEEABzb
+amtNMNnq4RYpL4puCXoNyxKojA9s4QxgF4UdHPBIiQAQp7VB73SGnw4RAERd82fyrEoXD/Yc7cuQ
+DjidwsQMpQAtHDBpEuayfyvbAAHQzNgKHP92MYgSEO0lrSbY8xQbxxuQ3wHsmiCYuKvanSATWIw2
+n7HHWkAAUCK1OBTy4iDRGrDW17RadgwEJEIpna0kLADjgCh1EoCQ6yZ/kk0EqA/dVi8IkrcLiEQd
+FOhxmapXBXotsAec+Aawq0IgUDZDoADqT3/avgtTK+KkoceldEgkCRACBoDxXPFNJhMcIOnaCwJc
+SwA8BKCQpuplrzMRWWuwLev37iPpgb3UQ0uWBAfEdQBfLti8RGtmW0h/5vorpybj+IZI3ocNgwwA
+COAJSXJKbMQFACF4cIDOqTBxchPFcpr0CWAlbWvU6+EK3CeEurewIxNgISFiUgBYxQdUVQP4soFs
+SSLu7Hw+Wy/IK6paPaQ9M07+wEdiIdpXCQuMZd+rnTwE0jRJSUnumjn7h+D0AXfbRs0e0qm0SGvC
+oYQmFCgQtl0rPYAB7CIQIp1bG9765svOg7x1M3/y8uLMzvWvkGhfrEjIJICkAFNA+tjWFU63lejO
+fuGba20FqtcgTcEgVK4W0DaM3wMYwK4HckNeWMxnu/b1IWbsoiszc+KpdSgLqGvIo84/5HosqRl0
+UuhEKTC2oGEmAmjrLaDea2Rj4cZipAbMFAfwpQQlwhnQowYFE5/5CCSmfsi0YFZE+3ZFvmqXOvXG
+6UNgAmRNkpbGSfgLZLIM7rKmVOnsb4qEPo0OLpmq9ymnQ8O1Ku44Kd27dH4IaECoB7Crg7jQFZCX
+0Ub02U4iySte+x/SYoZ5BiwAWSZYhc7Br9sCV6zxDYoNuQJytHgE9k2bQQJt07TRmgR2awo46i2/
+RASCi0QkM6ezYMpgkIiJDnBfDGAXhyRia5QQQVR8GwwQdxLjIQC5YjhMAgoDAEnUH+go1Cu9Py3W
+/u4Wktu14p/WPZObbbAWJun+lRBXsQ0H0lXZQvY1h10daJ+TOSDAA9ilIWZ80r+ORNWQ/oyn0H72
+RGZIngCiwARRTdVEPf3kSCRJvkgCJQAUOOVg5y+IqTNHn/4uNa+mdItl6W7VIT3tMRzPIsrWdTI7
+k2S87czJGtxUV/b+sZEB+R3ALg2JdroP6LY2Lf4Q9ZmCbLEpLNMCHUPYA9nhzVGFND8/gNhztFjy
+PW49UQRhMgKAhH3jS98WUwEgtjpVb6JWyVLc2Qiy6PookRD3WNQq7Uk8rqMSTBljidCMdbo8EhvX
+NMB9MYBdG+R+kiBAiAQw2hUQ07ZYMu1MmV7CsDKsOyp5eKZVYAKT793LREJCXkZJBjpaO1wSIqih
+3CZZTgUIArHa0+Irl4SkDYDNzmrXvnGGUEUQNaMdTm4nqY4IhbI42SAhUe1BJ/0DJaQQgAqkzZSJ
+82pGf7jn+sLPY0ttAAPYGVA4YJiNeIaEXBjhVSMzP+OFsCIDsOZ3hvCrxziuEDg36pFWrmR4CSXk
+DZ7S2ODZANotAeKoto9zZjoBlwDVFgsmACCUJQDFMybFM6o3HVC+PsQEiFM9qLQhuHGCT6gFHW/O
+cjpSU2MhdmZs3NTdxJnZSyjtctpJmzPo1ft/o4e4A7PnAezyaK/KyduUWVIZzWktlWpnMNQGVfoZ
+75wYiLPZO3gVH1njlHYAqiVzEGuybr0mEGfOXFFOhGBmRisBYG9tXDUV+qvegPVCgMT9jCScn0i0
+WhyyXkhIKK6HrW5KBPyADFHpKJx84j9ak1NrIcbYDjco3VYIREaJ0iqtvbq19rAL9lxf5QyYdAxg
+F4eYCi+/o70uo66ksqjBDSYqQ+uaODf7sx2BDZRbTlDSWOblKQHUiH08iFP7RpxAtkhVaBLWOgoA
+UGZ0nc0N+GZagVBmiwHHk7XfvJibmzOWrHQAEnKactgrzBEBiepIRPc/6JGaI+9SPjklsUzx1oru
+bocpqqWaigI2LT6Zak6sHbUhvvmz9qYcwAB2FpQYvL4qkoHIoNBg47blxpV4w3IztupJu3MwohqG
+ttbmS3VxVvl4QELKt+QIuJZE142btd4LBHUk7rM667zdJej4UUpEFCftsARiAnVtntUVWVoA1dGq
+hzWUroalXAZE7fHDx+XD02dtyrb+nZN5NXRPoimG0pTWXiJZNCdrcFPd+hYn8UU/ngEM4FNB3FAw
+pKl9pHbcjITT1FxsdH5VIJe3Yskvfc6v6VOudzs2ZItXYnCDHVrWMMcFKCYBIjEmzoDoyJqRxZmx
+SHMHfF7W5ZkGte3I5qTjUTLoFwG2xEsgYqFyhOCOzE40CMbUbk7sFidIePGaaR0j48ffziQg5slY
+CcM9vIQVZWcBaRtFFJ390Sfs6kD7PrGBBfAAdm2IHme9wmIrcDgzWjgkDjgTt85Eo3oFtxSQ16nE
+lR7XJf2aBgygR9jMRhR6JhQlULxtowfo5gQrkASq2oY3VQprEYKKKtMRpjbW0ZAAQEZEUVyUVUKU
+OKK5WrMLJQBxVqTeGIth+WsFgETdl07/jtn8gYKARI+nlTDcc3uM2XNh0qg7SPShA/ZXA/hygKwe
+0eUHr7w+qVL9i8m/QhDdXNdzHkrg0qxOn4O22m7XyaZda68iA9gsXpBD7+9jYAScV1NLxkRFh2JC
+AlUXyga0GLGAdQKukHWItEdCiWg2a48DIhDS74zLcdnLzlRiCZ5nlBgQjAIkFB20bNEei56tKmZL
+8L7mvqgNk59nF5QyQun6KyGJJGs9YP88gF0c4kxyto1lOG2GCRqEWgOgS5UryhuS3d65zZqHGtPl
+Li9eaU570j+AvFzrGYCYpjXZEYo2NB8lYFhilzlY3jY5ruANGb2GlZiKyOS4BGMJoxHqCNbHJ8UJ
+ppEAUEeOgDhQ0YJAjpupqlqnuOIMlrgbjcaby8wYFyZXMl5csDw8aFPrlLiSRVYpJjHVzVPjac1i
+thbG63JeInS5+Q+I7wB2aRAHAy16O19UItE51eQbOBp/XDWuZLVFgwKwcrgDWUyQ1DQ8JFntESu+
+4bKmzBaj2BPoXARcbgmRUJwIDFLx9rAQoNoWxgmQaFhITIZoIBzQ9SEhEp/UucBXeIlpV+IEmDrC
+IoEy47FIQGdYTURiEYivLRAvGhKC2UhGSCAd4W4z6JTZ1hf9JAYwgO2HQFjrTjPhT7Wd7JpaK0kq
+bIW8jZogMC3jYQ2v0EA4Xps5WTNB9O6aCSC7MsHkTNIazGTXkcBsHp6yf5bhVOsH2SMAPElcglAC
+CkJ2orgEURAAWiaIS6kq6tQsX0NEyE4Ql+AlFKANaCq7BALYCVhgvLgkSkEIBDteutllGAKDghjY
+LBrAlxeO2KBnlVVJG+EtJCPtEWC6gpY4tfucYrWY1x+JhmAaZp1iA/MXHfxJSx4A0Xt4G8cDFF8t
+JGqKrpecDEqsB2CqmijlecCIUTLmiT8QC5Eo3yMhTpS07QSS13zXhlRcFPLpq/xrIC1EYMBLLl2J
+Afj3pfjw/JQAALYAtE5esFumBxjAAHZpmMqM4g2FufTexPyEsSHp23JQyLbnxynQnJlmrZRXAOC5
+IUe+nQFQRp68ZM/Iiy30I/rGIjVFGVbHAEC82tVaj/fdCYyKptx4AVIQErLGWiMqyZLhR8RWgJCX
+CGoQJHVNjEKK1A4kxIkwJwk0SSc8HWRRqS+MP13w95Z9np40J/6MHlFcNAbYJwfwZYRO1BaU8cqx
+qjWe0VKwLG/YFgYi8/jwY+W/rad1OeZQNOpmvMR7fEKAqNbGf0z6GnuxFOWNK+vHhuIaAEgaHWM3
+chYBMEkp4kBhe7s/sbUFE2hNvUl5BWr2/FApxJnfeC7hCjsmGVrF1DZQ9vDOIIGyCTmFNkkVvVln
+xNvyt0FvTAR6uzf/c7CnJoAGdFgD2GWRmii7w+vXFmYua8lvbxteXb65rKAvAyyCqFPvDsQrz+6a
+YAtFmtRDRSclaauGVY7bj71AapWqPBWpGlQ7AgCoI2pYexz3gsngXkJsBqk8G1UEiNNQXlra6ir/
+CtqcQU3+pFd0lrQhaFuL/C0pSmweFC0rDLEvpLpRhpYVe75nfkPu0EBhxapi2YoAk00owavdHRks
+EAwlVdPMfiXJhkS6uQxbJjFdvLVC6awBnqh+W0d7glTelkEGVkz6ScCfkgBsO0+y1aqPoIyepHNr
+ikeiyes3tk3xfE1mWqdIeif1rAJbUHLVkn7abyUgnlZ+MB/dlUWfBkWeULdIVpYp9QDYdl3yBErD
+I935O5XELyE9bVc1APGU7rszlU52Y9fjTj9iS2KYUz3Q/ZUBK7jdOktv7xDRtVniWzERB7M/PH5R
+aWMkt7GczfDBQelz2FE2cP5toXPTmJjJFgx5vnS/5KgZLA8f0ZCbyl4CTeWxnNq6hKMBMc0tKitq
+EVTii4YQ6xKyvuGxQJdtGDopGZ6IJD56fPGm1S0KEB25UWWEjGmzfu/ozYGK5tbascmwRJ5M2jSu
+JdcVEhUxeQ1u3ZzGtpytmG97hYM8QHVrYzBHqLXDn9FLZgao0SMB2eZgN5HMDgFNKZ9pVUBeU9rF
+At3tcGegCgjc6PdkZgakyWaHGm2hgjR2fltVuEMAZGSCmzjZiEgHyIjt9mlS+Qrt0c7DQC7Q7ubH
+2vqpqk4egLR65RsA1NrNCEjlK6QKDGd1diHla3Qkt9vzHNhGAIHcSIefSWc/gzKivUcUyjPovDuZ
+A+KtAIBQtlCyPMrXSLSoAtvk/06mQCgbaHYBZIWF2jprmxvwqwGY/HgryMDrvqrKN35LArmdpQEw
++UDq4WeHgM3hzOZEZ45o6TLFzYzx8NTzAuUZvxLbg0DKhU63MoEIZEdwzujasbrEi4zIWVlX1If0
+EgDlmvMU23SajuB75sgaBS2ABBacHDQUSNLDOvWLjtAv7ZlHT28OSaAqcCRe3jMPzzcOFRhffEuN
+9VoTBAioo3Rd1VgxQgJQx+RjY1LZZPxY1mHKYlaD/G+EoIlWJ5wNY31yLN1c0O4FWiOOElA8FPVM
+a+XQRVvtAXuw0/0LxWrJf7U9Zn9WAJjeeEXZcwYLQaQmEU2n83hqoeKzhiTH9447Okp/0DUe0q2N
+Q3/QL6OaUPudUeScEwIgmPsiQmfnPr74p/k3tkn4nJzUIiO6aH8HQm++hNwfh4XAatljhxyKWGWw
+VKfn1XpPhL56aKcGb+0Dxh49+p5Zx2/NSnYbq1pxHwEInZeVLOGeGhLyjt83nZOo/Z42mnOMHyD5
+g8ehfjRICEDsL410wKFCgKh/bEDRucRq9cOHH8rq3irCWaWpOvNHe2T2KtneW6t4v8M7i6G/lWs7
+7SQhsFryuPZ2O04IgHtvHU04ueOWwh8Jxe9toGkn+dVY+DjJ90eIqBc+0va4fTk59Xt4NfLPJ0Co
+9u6pJ5FXgSHd1ln2/irsfqyA1v1L89RvpJ5F/V1KhvzQf5WenUdy4SfPnD7BL+jh1YpPGZdqin53
+tnNd+CcZfm7uvfXqeyO2y05IaNX6IBOEbEaG9ZeCnDk7Nmwki51CHu8piS2t+jSTcFoYE8589jsH
+VTWF0EoCcMypbgx6ppkEEKfljX35zSFE7+Rlim57dU95rWS4en2YdmEgJHqoFq85ARICeXkqUZ+h
+OgJCQl7WoCXTpDYesASyoUv+6irhwfWsBNCReH1paIHXmsFCgKW2tqIqtXDYSBcAE0R0fKsRuk1d
+Tm7Pc813A1nHJl/p/zyOnOt8RrvawnHpyf76OnDTzNTRWZUFf03j4fpW7TGH7Jw0dOLJ54HTvur/
+vvItDD8y8NPlz2RdPB+4e0QqzU/uLR8M4P7XMflI/8wzr3/rIMDtMYtf9hzwk4M6D4f8EBi66vXf
+HthPVd1wmgD4+jGp49+9DiD04LD0NGueAY5IVuHR15H970IAQOVTFt9Jnj53GfY5GMCi139yEHDz
+68Dv903dfv0V7+/eq9zmF1qAE7raJWeuBXb3j+95HbjI/1n5GGPCQWUvffMgoPYJm0qBV1+Hvn8U
+gHmvAyd2ZnPBYr8awN9fn3Qw4PUI5Rz5RhMOOghA6ZlARudtN7wO3Jk8Wvhn4Lh/xk/O8g8fex04
+tzPhg1e8OOF156+Dk4fXvK7uH4HtQ/vCHLZifGY4EIgIceW5BEoAFOt7/4iS/6WrdGxG1eP/hiix
+wzxwZu7lEAJ4lNVAomTeT0E3AmacS27JustAdxNMsQsYkKBIi9ucIAiJipXu1jxm8PjMlc0BgehY
++7QPsoLwGTPid7OhDqfJi2cJsW6M1g3SwWjZzJgSqHhrbaAlFsjNt4CEWwpNYnDhR6Gtap1Mr1iF
+MvG7j9A8EQYg8Q+1PT/H1YK6b79NP7mBUmM/k6O0jSVEQQFsjr+r6b+nxPzgFZ7zfhtOs7Y/VsCs
+/ksB92RrNTxnwceOnaob1u0W4jPmh+JvftczgHih5+44Ii8B0CKF6Z6nFVh9qN74kUIymEZC+as7
+tYAMjXclVbGR05bTo4kzD3T7aapQMG6dluDVbBUAWD37TQ33l8MSnR3BVi1EKD7dtY6IqEUK47MT
+itiqRTbgTXbZQKixQ2GatXCeCuxtXeeMJ8PxN/ZJGABuaN6vJo31uj1ThlXLWzTxFNdf8gtTWaUy
+3gzXaqjNbyoMP9gKIRG+l8Px2d58vY+bCCy2ofgM1zoirBcojClxAXXU5dZbJK4G4IZeXe3YfVxr
+yDPvqnktuSnpdaEAiFXLmhxvumsNxhzwnqzzWBHgOeXXBxLfPsf1w/DsR0p+mXgmK6EBsDrl9qD7
+xjfiBoAXLDsvd+ZzCisKRQMiyup9h2+bAWTXu2GpKZapNwdzFeDPfDvNBgl90iQDaeENCAzlH4ue
+7vkUc9bTUTXFt/inuOcIsTkouUMU95SnviogCKjdC8IISbCwSTXHkIyeEliW2N9bz5H2EguoeFa9
+27EhzADI5je6DjijoSguELINtdyEsC2bSkKi6+NjW2xGazA3roTDHRXDiwKvReoz1FZmJEI9UojI
+JY/ad5fMcA3cwJOVlHeWaBJ969va3nbc4V1C6bHiQOeE6qx7vSsOGeKBIBJM/K5jz+PJ6QeNtRBt
+huWAcpUE3QujAR6vl7YfaOzJN5Sr208OuiBtFp4+9K8hAE2VjDnG+CxI/O/qaYoCmRlF42fkgRWg
+HSwTd9ykzgg5NjB7qUkUXcX9o8ASyS1YY9zvTLUGBIjoMay84nPEdA4D2sFSxEMzHAcAOsoZuwUA
+0Q5WIFEyzQHAygEjoWOZq946eggH5Yg9Plb3nZfrgnSo/FvhB/K6fRdFw8FqkJc73XGQnG5tjKoE
+zXYcCDraRSgEEQovuA5xnmRetfs4DpbBTwFA1jJmZADCk094SD99bWFciw6t/n4swBMdB2BF/NFB
+extlMjMKxkwfDFYQMlgNNzTLceCZC9/Wa146xhWoYPwHtTjgLr9HSY0btskkjjvWOiCIkj2OeU4/
+9IsRLqCDDd9seb7wY+YnDnGZhJwPPrY/oR6amK1Bg+LF43TNWgJURyKPabspr0ybSbIpJ9flrEwk
+V6WemMlp1qSQUplo05Grkpu6yMytJ0NQNlJQHlOACJEtnhrtiHVEY25YWYKbk3ggU5QWI5YE3384
+bsh6HgHQLdVNeeOlor2+vsQTFdm4e0aBa9S7zXkJEilsLlO0KTJs9fTtjkSm7W6/udK94IUwEGi8
+kuS6kVYLZINRyt0AgYDKmhy98nVN6s/fz3VobJZoO+v3v1p/3H2zAADlF75S8o9Q//gsidr9BYf/
+clgIqD79o0lrqKz1DpwmXHTH8fbjH9+YC3gP/zj46HBuLQv8szHgvbNnlpkQsubr7zlvvZXMo+Sb
+lw5lhVVc/YiitudGl/irSRHZ618Klw3xTL+4Z5Cl8R/a8C9SFjWQMSCcO8hLGrwLYbVX+4AieWaf
+wJTIuuAjVQFv/QeB0tK18ca/KUo8P7VwuBDnjtigFthM7xLvNyKKM+46rKXsu/eVAnjurNr/zLZp
+DjECWt+s627SpN2H9qeM8Zo21auWq7UiPBZxnHGhQaMWh8of/p4G3jqxtK0R68c8PHOPtbGmvyot
+zyfMFHdV6NnVjq14N1wyDPKntzfVn/OvIIAXTmlSHp4cnzcmF/K1v2FRSpWSc/SvZjJReWvkTqXw
+7P7BCcaeeM5ddH7JHgBWXPQGjvlXPit/xzNv6iYJXyNJgwNWty2oav72v8YBePPHq+4+StYqvvcr
+xwLAolOjp3+Lt1cBTazHb2yYXWcBsouGdLvU2Ud9m3D4A6pqqdVez2vlgzPZ195C19aqNBWwi/JB
+Wal4Y7qmfgj9QnVECgqrOpSoXBJQnKzrep6X6MgdlyCy8QwAYioikxMSOvq5mIlkt+S2h0VCiz6y
+X51oNz/ZsfveUXLK9fA4EZum1cXjEkqg2TN64Zqxe8Q+bWwRU3BmXi8HSMbZ9+GQP8ymj37xAS7/
+vVUA6wdPBXLmjRUloNkL09P/8zRPQ9SVVyHju18dSxtfe2DzmAf3trpfhIKx+fj3ga8e58y7X73Q
++nUgHP395VaxfuzHjRhzzOC6F1bPeHBaInD2PZ33LJuk8Mj30ikHxs0drpbsntJuXvUbzwCA1e8d
+5E3/IKj6Z2tbrP7Db+3p/7DJ/Kxeule8cElxyn3F6pUzU5Uqqbjsz6n7fn/eiPbkz5/e7Bmrnvsa
+cPTez350w8VWC1n91mkbMfj4Ec1zF4x4cH8vPTwmU/X0xq4aDF6RG9l9dddxeMlYzP1GC8wP92h5
++cXdnrjsQRgv+63ho1MK94yaOy5NJT7vNia17NvLsPt3SjY+98FeoTcBAM8fac27x29Oa2f+0/tL
+84yK1NHqIgv66e1QJ07Foqek6Bc/I07O6Vzz6z/iZ9cnXwUhVku/tQK5J4yLvPle/t+P4445q4ZX
+8ncPzKz68HH86JbAdhrfW/3Mix17VTZMXxbKDuimdpM+/e7U5aluC8SuubPPfKFT325/YahZAHic
+3H0hUQYgKO681esKCOpExxpIwNDmgEkVqCIEJwDoygCIoDN9H/1oWER1PBTUHLZZNgRQYtxIHWxF
+xjfYxAleqU4oEWULCg1ISCwZsbPHO4ntfjWFFO6ddN3r++ajCWN+exorElJySutDOb8c52u1puts
+5bP4eK7XVgwCgX+39x/fvu8+ANBn/G5EP4kvlBS/dOt/Vr70EnDab8a7P/+LO/ln32FFyn5j5p+f
+W38bMOGGc8LWCKZnBR0tlGgqHaqqznsS+8xUEPba1i9OBNb+8hG0jc8KBrWXcCMHpPpapg/ddEuG
+7SeiYAKNtaFfpjg+QVKa1XFRSdomRdu4zGDQ2AQ37+bEpmUHHeW68Y6DW0aGQ0Fj417bISBRcuwD
+v13//PPF/zyNFUi0PfCDG59Ydw8w9IoLCq3ptglP7cMnBwIKEMuJlt1yqX1wYdgYgQjc1uFDhQ9/
+85aXqu++G0OvuyB4Vc176mu/mbV8ZCgYMhznlnHZ7VNzAo52XbftEIKyU9++4cF584CxN15wLBwK
+BkdNocSFd/H0vQMibDs2LmoLNJ3/QTBSUhIOGY5z84xCUcBtx97x2mOPATNPPGOEpMRXFI7447RL
+OWlFRKLstPdvfnT534HCiy4a7unI+jmPr7ryoYcAHHf2UZDtdlMVkmUTBpW1ZwJks7ICvR+kqLZw
+H3oYcuPZSc+FPhKn86QDIDeW3Tmb7LymohEt9EvfqpkA8feIVPI2wy5JKkqCBMQlIZI02nVSwgAU
+CSOVUkgCSZtPAQDNn94jfY+/JKDKZz7aqEbtc3xBkidakl4bQj51T1dyq5Gk85H3XltZT0NnHzke
+Vks/DWrECt6amkjR+EJYjYa20T63LqxG05oGNXq8gtVCzCnLDajaIxfm3/ONlGHEykufpZLFJVb8
+2RlLl6kBfZLYl/vNsoxV9TlfOzP19kJEXVpzR5cKUUisXwWxRiRZX2YjrFKnfVZ+1bGoPnf3LJ9D
+GGQ12lfX8YiJDqzq/nZ1exRWQ5B2zMrvvpa1m+3wCQGwwkYzBExd5Ykk56zMBsmiVtY4oyYQXo8V
+Z+Vnhkzs5Cf1n89NKjp403V3En0wh5MxeMQaCEhEYVN5c87Q0Qq2KwSekJ07ZXiXyT3IasRW1SaG
+TQzDKnhvz8kBVq63ReOKwdvtZW710y95UaPi4dzMgGnwBhf31n+J2VTUhzGwirQMc/tIXFEQ6iNx
+R9PwXonFNC/LHEa/oC6meEpzI4Z0NUdASTpo3ztKVJoi32OQ752QljL1cIFP75M+5RfSSQ3vxwOn
+5CnhHuzyQPoxd6lZofpJfP233m+uJSWiklUSQJKCmKxiqlLE6sz76YHv2mRQOKLGqTWhhRNEpax0
+ul4vIfTL1m/3+nba5KXHw+i8nr4066pO18/O3k8KgoBSnxxP9dWvXfFlkx/ZrkcjJGB0dhMTgUV1
+ldej7PSidGrSf+Ml9OvfM6c6E3t+jGePtiYtCwGQ/CTAUz1VSN07JPWZ9ZIqolR5LGp7VU+w+um5
+mcJQIuGgabAlBbYPkaws6C2/ojtaS/sS9qr8voQ92tI7sZiW1aFhhpBSdvs9nu4xnzZkJz0Pkh4N
+iequfAoCEDcV5juVMi2zHRAjEihmUmBRSfdEElKS1A52p51NfiMIooRZE5g1oX8mz35lSIuIECkI
+iEHa938UIhaBIp102ko9VVX1NE37hpecyUBsTl5NVmYqmGJayBkIbD9+aSAk6cOhkHA6dUlnHZO6
+kc7faT99JzMlLOT7eSZdWIQFpHTPfu32KCQVybLrBAmJ8sNF+zczumLz9ayG7ztLwkJEmqz/DsYf
+oIIf2U6vUtcphc5O5ZFcJQJQYPHv6xazRzh9f4MgpFO1SV0VYZAfPm/74Ykl2E7anD4W0ER9jevk
+F9n7dB8DnvSdMwHANkQa6wUJLZyS0u6St3DvqI1FHad/dKhdzfAfSlrX9/UzvSkEfxddbd8ewDZU
+Jr3Abr+oW6LO39URKQh4gP96eoF3yzG1tJsvaKfKol+dnQlIf1mSPp5b6Dfach7oUa9eJ9B3ln1k
+Sz1upp5pevxOS60BgFVbg2QUdiZzA1UfUeksUT07k9JHm7TSde/i0mqjAeorGua2IrGoUIgQHZy3
+w1nsHHZEfuEW5d9vPAAw3mmltv7rM98ueHP7F/+fjh0Zt3cJFyWSMfmxj9/ZXywAUTqw7uxo4Apt
++3mevIUe6PVR2RW6ZCcaxHkjNlU8fKb4ofBMoOmHNbgip19Mc/oDngUI3lYDXn9W2LGXSm0qW1tW
+VlZWtrasnGzhR/e8WT9ygOI1CcX5v5COU560xhjj6MjfD1wauPdQ+1lHlPz/CRJzKeTiu2LGMcYY
+79lDXsAVZ1m1q3SmP+X54kifdmj8hQSQGn8Drhg3ZiMqkjXAmQEAEMU/bf7DxhNmfGX8ILdqwctV
+OOSavW0/7fH+r0EUH/P3ixvPvf6oKUNQs+TV1Zh11des+sxDc25fJb+4ondMfjvrnGQHyGuZHf/k
+i2vELgYCX3n0fS8uXgwAGPGjbx0Gq/tRo/a/BALs9/a799nldwIAir/7jaODrPp5qfYlxg7Lbwqi
+g0IY+awt2T7b7/+/ICHYPfaIrK+rb80uGDvSgXA/Kpn/xyCk7bg//X5D9ebNGQUjx4YAq3bRb+Hn
+XynaefnVDXEA5KnBzq7Zq58/SKAsMqcnDy3UwOR5h+HvJQYmTvQPmfX279P+P8ZOy68tGikE0R3v
+7TugwUrCZ9plCEBEA+/bTsHfsxXxCRZJD3RmOnZYflM7mJFjTwEAeF8fiFHUhS3vmA5gu7GDVkBf
+RDU/d+yY/FICvtOTBy/idmjANG6NaWMAA/j/jS/i9d8x+eXho4wHgMgbBscYiLPTE/EBDGAA24sd
+EjunvvBbogiwIdPRsEttxQ1gAP9L2BH5pfjsSARR5uD8m0bEixMDC70BDOCLwI7tH5HojfGCGY0m
+o2ZcqXh2YNk7gAF8Mdgh/yNT9zSKDsxpjHkxjg/E1h7AAADsjB/TDmPHiiSAjvzhcJd6ONcNYAD/
+syC37fN3q9ih+bNXcooZm+MIkOSiBODtQEYDGMD/Gwi57Z/zAEw7vP87/oBDAQUUOSky45IvxR77
+5wYZ6I7/OXwR8+cdWv9SorVijZiE4mtzUzwcHfGtMbX/z0AAZgL056kZ6EYK2Z1hCCRIO0FJypz+
+U1z0KK4Hi87WONC2kqvIltyNpP9b8qXDjumfKbxiKUjJ1OrK5JMimr79TLGfgtQr8SlPRkjQnehq
+G2767CEAK62T9dkid3e/1lBIpFOEKUkJ10krl6IDTTGUpZja+qjDDtVMqFtkVyL0PN7hZtGnWE8m
+uS97MfL8T2G75Vf8LmUiYTgjuy64/Wj/LIDPWObRljzvBMTdHck6b7JEX5y7ns/euPCVdcH9v9GX
+LAiJ7fehmaS7kJB0m8oJdVNUEly3Y7NM7E1MuWM1I+mlBu1xvGPDLxSsG29pHpHXZ5VIoOAlYo2x
+Cf0RKefLCbNdeicSpST16SaA490u9h+PIkPDJhAyfbPyCgngGcSD6ZExmTRsgoMmnQL4c4aQsH7v
+qpcA3PqNfwZ7vVdCkoy53J8VFLT/vCGDjIEo2zbnEtf5y4tZpB0SxVFzXRGLevjxMBmHpb302kvn
+tVdHYlM/7i5k3Wu2Ddy/aaXTb5dlGWiA4CUS14ymG9/LNtAAyPPaLp+1I3RVZPWzt7XVbY4nnj/C
+9jXMiKhrX4pUt8YKlxb8z/rOmMECQMk2Kr5VxNexdTLEpmPb+7BzoruFq6zw8sMfrKOJB5+2B7hn
+gDMSC9HKbDqt8sOCFH2ykNV47smPyjomfvX70/gLm0ML69su9kbfuexSeezU43u9uCSgR98e9ZNA
+v1aP9cq7u46KALlleefhoFsEoNvfTx4e1HwTAGC87l45EtBTrw4+PxU7eNu570RtvjEtArlzHeK3
+b0i7/usd7ci/vQwAWWP6VgwJRW6rAoChBf+zy1+YrHYjiJtu7Gpb7A5xslr7Q8nmh3WBtX1dFGK1
++YKHUHKc+85td55/baCHABPIAGh65NqNWFeQ4g8mq8t/8iwwI+ODZXdddvkXJcBk9V0XYNaTIy+y
+Aa+pNzOSCP3oXqDiJtufLLcKYx733r2LSTLOmJO5Lwzu2Nxw3UaCfOW4/DHZQiR/XPLcS06i5JTJ
+h+Q+1fTE08ad0+ObLaJ+eR2w8h/sM6CTh22kBCbJfDTivvMXIRn9yyJv8HDo+5rswlsSJMW/Hmbz
+Zu6YlYHGL7616oZ2Lh3ZdzWInL/Vv/Y3487pdw78Lw+MF00o1OdlgZQS+AJlLAPG+voOSYu/JP3k
+IygqXk2QnKy+Zu/EaDzuPfz+okw0X33DzRse1T3H39gLjdWLX9uMLrkWYr3qa2vwzd+PUyvPe/03
+9bd8LnStvRvGasXPkfHXkfWbOVZ8uKhe1/Vb92rHvin9Wj1CwQn45ssrHG/mLf7xwUDrL7Q1N01I
+BlU46KCfHPP8jEcnAjgO458CpvbIg/XiG5TD73iOACJUeczRf+Rt+sgQQkcCB9/rGu+yMwAImUOB
+4/9R5Xhnn5dMsQNtIuy1F577CNOcvmfHJIGv4ND7BVO2dfb4/xBGxeZkq5A2ofmrRXEuiwLV5ISF
+WsIBVsKk4gHFosiS5n4ydRaVWDXBUmDlqKw+Aj4B6vz38PPLYSnvz7UPPvWbP3UnbxTadCKAcNHm
+NMJLRt0Ja9QRjyiRyf/de82tU3/UXwHMtgsEujaCr+2WKL7t7sJfDus9LghWwPG8fcnrT68PIbHW
+GbECaI1rKCVgT40BlLdpNBslAKxnos7fJyaUooReATdrfA+9sGCNDbC7l7EKIKtfXnzSNhIrCgl7
+emFCeWaax4oUhK1aXkuM3T2raQeVEUIemqqBmV3BdHoW66rlsDT1f1j/rDh08P57zZg6YVRWy5L3
+6lusSbQFK6MaC1d90oJ22/5xR6NptSrRrtAU7a9BQzeP3DfPlExqcvq4aNWLD9Hgy9gq8viqDLp5
+oeLu8+fCc8+55rF1x0n6Y1U/W2Gc65ULSuT/Uug3DeqL0GmwbnwF+KYo+fbrj+0hvezpSMnBhTFv
+799IvwaJIJDRNB6C+majFIiUMWO0JZQ7WhMRkQRfev37s11HE2m9GBg6rMcUQMnewxPutGv9/R+i
+FzFnG7X4BNJaL4dCyShjjCaQ0nqVVTZzrDZa76CFLYFM1SaNaVu+rvQySO74L8JwYheBAaJkATHx
+4Vm1uUsyJyyPTwzDVLqHLq3QdTl59dUoL88aMz88uKN+Wri/JioKH9C3169wpM9rt0K+mudpQMvo
+/V9K3H23pH/ACQV3AN0tFlh/+LDx9p3GBjD81dyWunt+bb8AVm1WH1YjNBMKVon0YQ6rZOJbzw4/
+MSj9be0ioDEQ1NWXpLZ5Xc1Aub/kESjvdxm/YkWAKFoIjA3bnvI79I0nik7KEiVETDVzQ2O3vQMF
+NB+EEUUpcx7BIig7eNR2BrTvnqnIctjQhC3SowtoATB06P+u+gqKbDzhsZBWbjxevq9Zmz9nk0pu
+v7uzcjsmj2mp21c1FM7aXJwX+zxqJGr1a8C+AiICyyzQkw2me1QssdZNpLPFi8h/PIPJsCAiGjoc
+eNTtX7dkgYhIN8OE3mcFshQYO5RACqQJlLoqwiwQCMmUX5wc5H7XrhEwClBepW+UJKCbEwpYkzSA
+sOrZj340WrQAopo3AruLULf2CMmYS76XxSQQseruphHdRui+298J7a0CMFs61Ym0EIQJoTTdSa/b
+U8d9ZSsiQoIFQPGYrmp0daYVEYG2a4CZqc9kZxW39VH2Ot5i83ZZGOJ/hUMmQE6zQ4Gi9zInLK+Z
+uFm5g2tfS8xZtShj/NJEVuZ72fkxMdyohvVX6xj7LP734MLqPuwbmN6IazsGydiVI2FqPzimm3Ug
+oKC6Ly01vQmLwakgpiOXqqXLdmjXcQsQwIpBD4OSzrMWSgASZloEDA8klCgSAdgqElHEbAgQYoaI
+KEMpVSEARULCXb93sIokI5TVKPMPrPrkP7AKG0gJQaASv82+JLm1K+WViqdDPChYPyJoqmZklADi
+BebdhFFhV6dqJIAfvngL8RJF1ZUDmN4ZylBHyiDYrYvl35IGxCrfaA5ggRARgZkInNatAghDgUnR
+EmBCJqcMyiwpYU1iDQGsRFTjGmC6vz7urCJbTYLOLvWbwMkNSyWAH6ESVnTS1DN5H0N/6VbShjO8
+9g6QiwxVVODkhAIz3Ow8ZWlWayhHjy9yZnNI54Z1lpoS2y3bdfpFgMnmrXzXUt3KUX3onwkfAcih
+ZGiZERC8d0x3RSj1CllBiWoIwilbj0xo992Z/fYpFRCTBjybbhviG0oCCXE0mAggrbEIOECnIooj
+GUPUM4o3dEw20hlTlNIX736YvM627WCnoqSggbBBfMNSutKZvATY3J7FBPLME4t+Ncxqf4xZ5arA
+RHYAQIGJBJReM6LA8m+2Yn8VSGYsIIYGXDZ6CwY1sqGePExJGUuKVG6AYJofnpSEtQESCBhYLUKE
+VPOF/ZiRndn6cZWT59o2ALtJZ2BgBUDDMwYVDeOyhFg21CmempRCgQY8q42C1UjrUkiaPRqBRSu4
+rP3A38mmWU85gJX+jKL5ecBQPJ4pgqDrBkR5WZwwAVeJALk2MsEgEST2stgqoUxYEeF+8XF0xjcS
+eFSmG+h1SdEKMApTdq1ZECylrYykgqYEOkMPiwpDYSWk354FWY23Hv1go52896mzklvLvqHku4+/
+vUaNmXP6Pgyg6WOnvgKIvOYhuFdQWGP5Cysbi+ccV9J0130bzJwnBq1Y0lzX1DDoj1rok/ZQUHsJ
+Lz6ziKl5XigUcKOYE9xhASYqLmogrCYQyKoPnz9/5M8U1zdkAgIV+13ehf7wS8BicOkI3fTEvNrw
+sK/tyyCwWj+vua5pc9Z1YSGuevL3dcaLvJ7QovfMTLZ/wX/fXGFHzvn2EdLbdkwEy6C9orFdcXVW
+x5UXmEhEEBLR7U89vagme/ZhpxVYLRDQkmUtdU2bi/6s2554a3PmkKMPlqRhn7BGzVsfVPHY4/eu
+36B4CgQCshobn19SmzP9a+Ps/XcudEY/Ns0KloEzJ5JK3rbgiXdWRIbsccw3tVXo+MgEg3DduLOX
+YbWmLCuoE5GCGcIaKx97Y0ls+G4nHQ8/fvp7j7y3sTl//x8V/fi4K7Zty2yXgVEZYQMAFlrgkxYn
+hUXBt6jTXRFZxbGh/omjFywE4PW1MUDR9ZCMrNRhSDMathq8jxwAcJNH4kCwfmtCv80QYr3iwpcx
+e+/Kd9+9/WdXM1Liu+CKZzF0//oPP7n3iiuY9Y1/AABccw2QszbkmeWXPykA7vnt9x8oOzhr6Qcv
+nHH8GgDYW7lm3d4WGsLAa4e4wVt+p9mIl7c6tONacxsqXglsEi0A0RXm0jch1Fw7ikGeeXTFbwd5
+xh8NaT4wLu+mX0ehLa792fUMiJz2HgCMv8mqxsMXAOThT38CgJUTrYbVa3/7kBTu1fb2or+ed0uf
+Yafng1A6uGucWwzFJaP9gNSsH/t5Wc7s8YueeebW245mJUKR48oA4FC6+5etMB6u/9EdCklZX3Xr
+A60gwbUX7JUgMwVEQlbXXPXPCABccc477+++3wer/3G9COYDJSOFhIT14t89jvzZesEDD9x29/RE
+4IGzQQrCKKrQ8L77iRbj8Qn/9Zzqq/8WzdzPe2fZv06+LwRRFRf/Rx10VLDi8cfD0a986da/Q/J5
+25mbRa+Pm/5rYVDCjT1zE2yOAqazQgFtUdeR9ek1JMkrqifERPwRZjMEm/stYidZPe/Ymmu/Nxh4
+6ozmP/A1VpGQWPP389vz/ny6g9e/U3fl6NMsFRwSXrMGgb3CcHcv9MxTZzTn3XBM6PnzKq8et2DW
+IYJh2L1weYf2DiahxKEt8z2AJk+cDi25ec3kYvQJRTs+ZSCRCW8DjS15rKx6++XvlxZClN24l4io
+jqsKfpJSeauO9cDE7//9lLNn0q2/tX8+/KtWaTsNK9qMe7BxdaTw4MwPGxDeV4nyxo4UJdY8f2aN
+84dzsrDwpLI7hl7aS7EgCstB2K3TTNlgPhRG5zFBwPr6X4x9/pAQor++Zf2JLx5stVBszpDl7do7
+5MJbTjh/t8B9l9i/HPptq0Ai6q7LG/VFp46XD668NU9x4RhffBeetJ6uPrXgox+vuz775SMueBfD
+CJpWANOCTCSs7/1Z6+irv56Bttsuf+8rc6dI+JC6ZRbInnhUkFVi1HyLRMa4k8X54LS1uPTiIqz5
+5pKHi271TPlXVn//T8UAVh+/Uu32ZVsAm3UNDosSpNQHWxEUr1+9BL2S3rNxak30iHKPtsTWMmI9
+Z4VCW1LZSpUQxL3+2hUUavteTSA+mCHHn3uNc/2pU6yGWPPXH6LkyX3AcsjFv6I/nBSWiy+iC9Zg
+wtwAADYvfyvhPHQUcPK8G3VggpyROOZwPCwPnUp2mmiZ/LLcfkEgceadDmD4okMObpl5097hnbBv
+E2AsBHX1uSKEK8K/lqHhqEG5gKx5cN0fC/3hF6wrKqAeijx+AoAL766g574iJPoeefFostOFZPgr
+wF4NmD031XprnjsxkfnA18E86w8nqxu+P6inXYqoxjJ4ePvIpIGPgD4C+0tXsuqtX+lYdsgi/OfX
+lsR//RaJksL/yMtHsty/4R+nA/jJXSvUs9/yh+qf3IEJ/9wLwFf2Ofwjw6OKhMjq1UfV4IaLgMN+
+/QPjjMFxi6afKaRa1gEzhLVYc+MlOPCRUohkX9b055rvvRU+/fT4ic8b728nKCEJPHrrRXLqFaMc
+fHRUs7nrh2Aef8vB6u6zJ7s/Xv2V+8EiMuGaE4OTvmTLXygbb4t5kWjcc+OJeCIR9+Kfhpg1uv9g
+TO/AXoKETfcZJQISW7X7EhwDQSUpERHUrYOgw+2nuZBY9dwyJ3FtFYnYoxV774kIsXn6bIUb90kI
+iT0yIKsWEYvIR8DogCdiqf7HCTrmqAS7dneh5a/ie+9cRvAoE6ymACSWjsly0eZ4Aghn8fAXDwmL
+7HhgWwKNglB7DYHVa2/8cCwGlwBYD7Bqv7r47JQVuciaiEbzf05wLYvKE9lMJBCPsiCYCpBYqdoA
+7CaeiIiQ1R+e4uLyryeYyB5YyJvfpp6RnkXKK8FY/9LcV1555ZVXXpk795WWlPpKgNvZVP5RoFw6
+grGsQomQWMqB0IZ/nO5ZFikANxJBWJ9/hy56ei/XiiSyrwZhtjCE4mfXqOnnetazM0GN/5HD37w9
+GySbyhWmAcTmr5fQyMdKXQFZe2EWzXsUnhc8DoSEckHE5Mhp/xqvec0JzTjnhy6T4j3Gsvsivf0S
+nWRjpLTiqVQw5stmCqKUPLfCe3JdZtQznhbRcUerT0G/Bk7ue7fN5W6TGAHidisZkZZjJyWwMEYC
+svTaZiXwtnbTNoPwPhmMyRMCZRiLNgCsGs725NDvugZQqigPWCMitHljchNU6B9lATmdlSIVAVE1
+uWSFIAthh44gAoiHDhMs6tAiAvX7tnsGJ2SnYtAQRoIVyiHEV2T+XCSvAITVRKz+vvGyvOTSVICl
+0PyD412jQZFWIAe+Rn8hvPyxpABBWb3BjFT/U/THLZhyoWcIpHIHA2t6PjcRrGCN7Adee2Xu3Llz
+5859+fU/QbGaAiKIji9Uya0lLgRsRPwd6oUwfNLpntZArBnIgYD1X2937HUTE0YBmvMBTIOA1auv
+B/jbQWjSHRDUkgsWYqwQDk4CWf3JeSSXFbsOAKUGTRH6BymSWRB8IApg1fLHQTezJzi3SpX+1ioC
+KDQcWC1zIYt1iNgTCsv4jC9bDHoDqxsXBGRDGY1fM7o63NES3vNTX6LPfn6hCODOF8QKYLb6USSb
+eetX1JrHv5tQ7Hh/BgQhZ2s3bTNkn1uj2b8LslGIJLQtJhCrq6sd9wJSCvD3GlsIQhvqSWZCAQpP
+kpuzGykBqgDJFhJFQrQQGFnABCIbnLWSNmycxMrqt/95wlHeTnqhkwzObSGUiTXPv/fz4VbM8AVA
+rWuk9Q9Dz0xZjBBoHryMS1iRCGqrFY+BEAi0EBg6xE+0DKDUXpBn7loUSJwdsgoAwQLNPe2hCFgI
+ZYec0nVqDZRXMtb/TgX3XBOfca5V5KAWCOcREQi0AOxcwiABbd5IMhoQtfFn2p1+inVAEFFLfONm
+iDwOVvsKRKQKCtlCQgTBAqBwDBHcC+MY/C3W/la1yYQsqS+2NL60Gh+Tgoi+puIfBR7pR+YG498r
+sP4+rwe0UA3pO3Dm1ICGOFNO778ti88JChIa5A13144Jl49c1B4qH5Hfb+PWDsJR6du7VoDgVjXJ
+ouwR1zJ+NT9gAvKLeaNZISvQT/aTpPCduXfNP0kbt778FRAmCLFee59yRx2c9IxriyuVIRCs8JQz
+CSCo9k0iI4oJUPQebMZepIgAlVgBTAUTICJ7wokvEwjcn2X8SXa6ulRcDMJa0t4VORcLQSZA0LiZ
+1L01l2d3+klrdxV4xmQogciqhMFkASCKlwGTHCZfGr3iMX59WDfeRG7uMcmWdnQondFL5+hbW01i
+1/qI27dAGFriaxPpLw889PEIo2JVqz4EigcJAaJkBey4OaQFgrVtBpNFmG5pNjjN940mwQJw/jhS
+ULQeXvZIUgR6H4z9yY/RSkuA8TnM6vl3HRyUl/r82RjQUS3g/CnA6noSVitu3v8Uq1T8j3CDJybT
+JdqUzpRJAtwxZ/cf3raIBs///s6Ye34hMCAZNfMDPW49jS3+qHREdTxfdWMs+ry/SISg9ufQPliA
+rMDWZu0EZX+Zc+Gm/c6Y3v6fT37J12tbYvrJhVBIvMMO8156e97CGoC8kpFETE9HDNfs59dLtbUB
+Y4iAZbCjhxEBYgyQGxZiVH2k7LFjfCMitakG2A3+iIdZYHx8orC+/6Pfjvd21nSAOLtwLbBOzOPz
+fjPYM0yjIairG9R47ejTOn2oRVVXAPuBDQAsgZs5nggQVbcR2E1ESBQWA0NL2LeTMq9WKG4/1lc0
+UnwjMKbnIkp0ezkEs0n5r78EeA2AWWAFiJKMU1A99/35SzoAxdO1VYCozWXAPo5VBJGl8JzJgG56
+hBLBI5JmYpqWA0OGCEHgAJm5AqbEq+TNPIA1AaI71gOzRQh/g8L+wtrv40g9wBawZsarumn5gUz4
+eeImbUV9tBgcP83X45G3ChhNJ99U48BduhTm0OtnWP1lC6Jp2DlMx6YjkKeD9hiiPduV3/gU9OdN
+KymFoQ7EOjXOlkkKw1utgpCy5+x+y9N3A/nX/fwsEMZK/3h1C4mYTXc9tgbY/ZgRd1djTJGQolch
+GJbjK9Yke6ydtqcooXnAqBwmgEMz1qNFxCpze7MUXCOiADCtadV2qv+BVDSpuB4fE6jh0lGX8E73
+M1ka8yFQHzNX5F8gSoBREOVtnHFnw3WZXmprR2R9o+POTBpazYcMGS4KECmr0dY3ZVKNG4EZ2iap
+kuZC8dC8pAoxeziPOLKn85RIRRk4aW0FQFRDGYAZkCSZypt3v9CCrP2mx+9QPDO5/N1YYbyZPu0e
+zYcUjibQJ1XaDp/sD4KiWtYDM5VVxHqPl9ERF1c5jywluiHpeiE16xRPhQ00vI+Es2en7VdDORDM
+JyLsDZ1YeKANPvXcj+dY7arXYLzSgpQ29GApOsUOe+a7awAKsPvyoud2t/rLJb4wICOi4YVhocGU
+C+ZQaVeC6phKET2m2d0IfVYfKqKC3EaSjtRxRLQtcbZq1UBCyu75YN3qpuJJeVIOi/12gvgwDUIi
+6r7f1GD0T08YAdwHTNAJMrwGhJuP6ZYSFFkLTBc2AORXcyOrn/66xlO3S85/xlotBAGWwRaN9itG
+PHh0PdY25dGVm/+atfO71QKMh6DWfX7Z74s8IyTDjKdRG7lx4nc45QwtgmVgPQlEgIqvBcZmWAUR
+LBfOmEBJ+2htZ4kIMWui1VC47MfdSlI9C16V0GmOQiJltWR9ZTaxavrlfYKvnH14Nl6/A5gGCyOC
+5QCmAARouwoYVciQj6Hs9CAn9eQV5dpOF4FoOfcflW0P/CKIeZeJ3HuY35lCK+OkpwCyoU5x7ogk
+z6bQKlfboUOEFGZoDwvIRC4u/D2TEK2C8X54Vfdum/Ph31+Y1xgHmdpz3v0ifMZ3CgbwNy04SRNs
+ATOio/NdopHrrPaflyibJr6fGUSN30DS7H/LBa3QdrxY4xOqbfkuYtKuKikBYO1q2Oy9+2krQFj/
+9FbgrGuKYPFhFcnuEgCaomCM6BziBaLI6g11wGyf95SiniS+9Z3SxS9ir5v39skEiGgRMKokqUli
+2vMjvWn1nh/ddfTxduenOf4GEppXXF1wnighouLiakLDvc13hjuHXwItgB062p8zV25K2hcTsCg5
+FItghXXsNACxr2U8qWwrBCMkZbMhENXj+ZNgMQiDRqVU3IJlUDZvHCkQq4rjFiDnph8ALl6Blzke
+waTGy8sbR/5Uen1y6l4JwgRJ2UEvZ4OpAIFVnMX+8v2J6x7DuOtO8OkcSLAIkj+OiOpAyC5M9qrg
+XRh7aMAq0IjxK/Gx6/x5/V+KrRaFZghGSqozBKwXlh2ff9FFjYvffvE9V32yYM9+9Hn5XGD8hiS9
+NgECbFi3dK7F3OxgJMq+vS+FOqnNxDWf1bza6t1e1lwhIgQRqQCwOwgQ9nlK+y6VRCEeBIuQ6JW1
+JIcM75/lL1n9p1sd96c3w9Vs1lrHnYrF73wnROBARiqRKN8LbXVU2ykgAqu204fc+reX/wV85Tun
+OsnBVZRdBEwwPveGCOZA2yV7XeJc1098t6MgwO8WXpPvGQFJUWG14MkNU07qHH4hipcAwwp9Ddra
+Vsed7tv300JgbKYvGovg5o0loY1zjyVLGozsbi3taf0MWgCFsdnc+RotgLKlQ4UEiJ28IKAfOsaK
+IrMUGDQKT8W+LUSLgcFDfX+oslrHnZaipy6gJG8TFsHL8o2b+Ud1zz733yeBvb71vUKbcomiBcDI
+EiEREIY5STclxXNh9XcEIJsxZSXK6vm6Pc6wyrcOFuR21ltBuT9Y1phhTcHBB//m5ksglV86Jh7l
+8xgkfTNFREACrTSYmZmMiM0+6rDDDz/8sKPyvJTfDex3RyU+m51uAh0KRrn/liiUwwsdQIoIWmm9
+xdecacmRM34RJ6U16PWYwVn9pHizas3vtDv1T9Y6StE8eNljcc15tRl5IGsBEIFYvXlCOTGwFHbI
+SCII0xObTj/msXWLVjS99H3HakkSptdWA7slhZWIZgQ8rHz+nYum9outJ0lpBoNeGHGOv5hmZzAE
+H9T+LsCdSwlRDRXATDBBBEthnYkggqiWjSlXH6IFQOlQIVmjDhZPFUPBS7WUlp80Dz13KHR8HQS7
+dTr/KloKwjSHQVbd904w8ZNjEspAd6wEJoQ2f/t3YN22AZjhcGpGT1NAJEMhSH7qfAkvGSEEVp/M
+/foxd65auqT+/YsLbWr41+4GYLYw0VAIMv3biOnDj7V31P6iiFjmwHSs+F3HTQ4IsDKYCC4IRCCR
+qm++EV0erFEabF258ADWeZ/D9mj/QkFcEhekQUJEOulBK1mFhYWFRUEm4iz97vxP5r9D2SmlMKn4
+4pb+si7uCS0HjGcsIRIRKHoffOBIJmF67JtnLKbU2sj/B/+jAxHI2S+tvv5BshBy/wH3gKOkXyoo
+Qo9HNb4XFC2M+IuQsaWYP3SYHAJjKwQkQhaRM5+E+Ju7owqYBCSvEAPFMyblgZk56dUqaxs0poH8
+N13J2FLGsz8eehmr/nhxiEqKQQoX+rYaJDIepGjv47mzK0SkrNpgZrL75oMHjwRBRDZuUpgGiEDH
+q4GRAQa9w3sScBgIG/2WsuDcx7vpIgQijKoyCKYi5Y1PTeUQzBSBKO9BcsNnsAYY89YYzJKN8cOE
+pbJcY4bvjY/5sPljQUR7QVAPIhFiii4DpgYZEJkLAHlTpxURs3DysaN2NWEqhGT8GEa9T/sjTDex
+ZF8vQhCFOWBced+p+1klRESHiqAMIBESqy5+TNYkYo0iIGWYi6lwxhdA2bJzUMp7y62aZ7yIsmTB
+UZPwCAR97Kknn3zasf7Ct6W6pqamujnpGkYca+UPGz8r+YUNXSD0RgcJEcuaBYRzFRPTk9987B9H
+biL23xFmMgAcMLMAUJE1KojFInD1I5+owE165/dT/Q6S+cTYzYOIp+9f7WCM3rRxWja+q4FHlWWI
+q/Ul624f6QHeMmAaeQwQVcl9/12zbn1FU7unHMUgCDNWC2dP4NTMgHMmQq2q+FOO9ItTJkleAbQd
+k7TVEGAsIHKZw6kQKsIWKwWYLgJhYCUwKt9C2MpaF4EpDIIgGgVKLMN9vGQ3MXJitsWjSizEg7n6
+zV/skbYwERIWi42tyjPTfQoLFovaTcSYKcys6jcIl44EwSP6IxSm2PnYnT1ZkyDMEIYwaAUwrJSh
+ZJ9JHl4lYcAjddl6B7uxBYSq8MKdq9at39jY5iqjBUTCnpS1Ek0XJpt1kqjVm8QDrOfc/5jiuyex
+FhDRlCxW7+b/kYkIouSoUg+PEyzEs869/z75kLfgzSMLwFJisXyt8EsXi14RZ1W1ZURXra4vS5S1
+rZxX7kYJ8IqKo4kYVbRqANCO4ziB5KqfbObJ+0jRZ6ep03zGbCm/S7PrQl2TkKOOtVpA/1HBQPUr
+xCCBUtqRDSCsJkdrBYJklIgbOlaAwPKfK/7z7rafYrEKBUVjmdGkAi+dD6DQvBz/Fty9znKdB14L
+KFJO/Kf3nHUeO1ov2qRQQgFNEFuKqm9MnzZt4qhxs7/++5VaBKQD9DKkuEiblK+I7AODI77TD8or
+/8moESBcksNJjn0aCS0HHJ2anBNIB+hF2GCRckhps2K1whgyinRAvQTOG6QNiCQzQ6FGa/PI6osz
+WfOoS63zwkOOJmXUNVccc3W6hywJaRWgZ6AQzlKOIiGtHHrBU4w8FdBaAqRUfa0iMvqXL2gPI8wj
++jAdVi9AqFgFSGmnYhFhlNaKOOO3YuY9YhSRUb++mQRQAQJxKSLnzZg2bfKosTOO/OWHikRIB9TL
+kECxCpCSX4zgyJXKIdLOsxeD//JdTwkBJIOmQeOKYaIEIMV5f2TnkxuNJmXM3T/a404sgP5LNEBE
+Rv1hdeFlXzbtM2Dg5cdU9uasIWtL1mZ5TcN1XsKCvAkhV4te20sIhLRn9gx+wp/dSoE46++Hbr5q
+xDcB/PVBGX23EhKgmNnDIJ9q4ZoVDq18DxZn3Z/v0PlzmFif/kt91eFQ3rMX1eK35/cfPbqc8q+4
+uX7SwarqnmtOHHqb88rV10/5Fmu+rvwF99uXf72o9dXrlvzkRk8/+5jzWlThtoV5dPVwL3jmY9aL
+A0Br7fKnrr30cqtbrojUPA8qP374sd9MqTlnE4J/VNw/VuUCmQhvwumprWSSkcricp0aVARtV7bV
+PQckTp2cd+M7/wy82abwREfo2JN+1dj0DKjhW2MO/j4rz/nqEufj5w965Yezz2ESZX+++u/44Zrv
+Dul4+6Z3vvUXk+6+L4hfVWZq5sKjthNm6sLfZ8uflpjGV2AJ39s9EP7t0MJv3qbbz7l9tJ1/1YtX
+Pz7fueGpV389/Bebm56FyFkzM25Yflfg/QbCqydlHvQDst+efx3O804Kxt689q2SzdA3L8q+YHdr
+Tr+p2SYAoK1+9UvXn3VzkLw/bog8A0qcPj37D/m26D/H1f4tccFEWvHPOzH2lmOs9nvUmikfubPO
+Tu1kK/7esuvx88rvj45/cNuLh/4rz24ku/CEP0028RW3/T33gTH95nL6uYFuWFc9KVo+cp07tOit
+mdmrdSl40Iiq0NEjXDjVT3pcurF58Ninsli1fW1TVUDIxoxbKv0ShQGwhYmMH/aMTiVk9QenrcXx
+B2Puc5jz4ARWQkwbj12KU+43RAIaVZ5+wz0/8oxI4ttPh6eM04uWYfDVZ/ZfACQR9c9Lq4BBphLn
+31yxZy0w+5EJrFh1/OauKBCMo+RPZ4g1R8ztvGfdaHrjpqcRJAjEY2iLv5yF1w9NXb/hYn8Lg9X6
+yYkLb7L9svoF4Jk7foL7zkztj7Aqn9Nw2Cudi2ur390/lTS/4YSnU79vOX5U6uel13ha0Hj8e4Dx
+Zv93NPvfzj/e0AiEYsj4/cXdw9lYvWJKWgWKNoZrRrhdx2pTqcQvvs8DRjU35992yn1nAfjRXas6
+79Ed5/419ftn13ta1B2/r0V2SblXfMcDfgXf3F8tve5fCCifuBDQ9qIbUTE8dVtmbQZYL/nZy4Bh
+RtGZFw7ufPqevvfHePmIJBW4kIi68w9VQDAOXP6bADeMiF+x+EkMya6I4PA/ztleynCrH/tzIYgk
+OmQimeb24LRYb8JvU1kQ7GW+IDrSVupRH4nzezM4iIq2DOmVWEzzmvAQuq5WKVjjuplslfLaw9rm
+jKzMCAlAbpS8IRubS2e/ksmq/fCllQHYvBHvmwDp/tnw6FN+IWR1w82PrgEw7YyfBP1eFWqdm3sY
+fC6k1xqyfbswgXXbDxjGREL29r8sBzD2G2eP6s/4ZSKq4bl3KzcXzTx1MqvV/2o96HjNSogVlj+9
+uAJjDz0+hwl4tSZLGyOwrblH6Jt+xgdcMEODxWtb9+q/PEz9OFT5WoZjjBf3EkcWdjJonbf5rxk7
+Fl6kr+7U7xxw8POBlLwKEnuufnOPTpITVtWvZDrasQkbGXngq9VZ2lEJ14t9Dc+EA9qxcS96eCkT
+CcXue6sm/NVzQ6yEhARU9tS8Te7IA08oke7Et4KmF7OCWghi2baO3F8iL5qwb14h0pZ3hICw9Nll
+lfERB38n1zPPvxI8aQ80vBB2jMNx2zH48Hc2ZGuj3YSNHjqUlYiq+M9HZXrsYSdkn7e6JCs/f9Tx
+oae+3zTpl3sFRdhGNr7790aVtWxo63Mm6Gcx/CAhWI3XXljVkDPy4EMHwaZ2GUVU5Q8O/zmnCKiF
+RFTNUx+WR4fte9JwWN10+kln4IlnVnolU4/bD3Z73+pdQn7rDPvWSyAIaQaHRlX7MVNIwZaWt2Xt
+nVAABz9qNXCHH/Cwof4yit6C/IKsRrSslkpHBcApgkSFTwlPKyQEb31tomR8qF/DD/rMSsnqJiUj
++Vqnne9R2r+/g5P/2RUz79FT3dyFI/uokSSZePqpskL23SlpFB5CS71ZW8j+0+Iqp6xS/KG2R0s/
+tbK9P8WQTmutZPdxN/N66p68q6hOk5OPD4ru83RRZ5pPvtqIVw9JEzQhAXU9Atsz5GzaUR9N6bxR
+eLsHpV1Afo3/VSKxvvmVB2JCivrckgfSrS922m/AqXowIP2k2t0SSEQzhydPBuAl7a9JFLMfiUNA
+thuHq1JCPqHNhAkAPKX60UCMBH7JzEoBbMk3CffPKyUsSiXr5O+9Cbm/Q+H1JuG/gMLqxJFrSVIJ
+pCvGrpCI9GPweII+MO1zICTT0qe7fuhhX4NA2q+Ob9VgUzXzu1KJVUpsZ9dDMSsiK7161n9xOp8E
+aXQdQ3y6VmJWBBalACsg1Uc1UmWndaqGiDDE+UM0eG1R3PcGFZE5e71A7G9BJ7MQkGix0vkw0uUV
+6R3c/WEKCVjBIw1mUp+3oX+/wPj9kIpyTgBUwuZ22U9KAuHU22YJogKffWxsgpAWERB1OoSQz8Xq
+17FXVE6ABFpEANXPJL7kswYLaRISRV29JYognR5nnXWyeuF67DHUc/wXTAGb22jwIKFujLF+51J/
+ii+EhEmlva3E6TtTycCN6FFfdIviTr5SGdIVydtvKaSPZXr3LAH0OoZ/MxQIEO1Ttm6hGtStUwVE
+SlT9Jxi2tw0kO5PZ1lLWWFIq/TYQoCXtYaRnmt7B5BO6CGn/mwFFYkRA/RJQXforvt+2o3dgZCFv
+Y5f/ApUntCX2Z7CdLuCfOWj7i9mBW7Yvc//9ovSTWyjPEapwtadJAPEcXFsn383oK2BZ58egv2pJ
+3T5etIMra+ps79Zauj25bVt7u1InVQSaqKl+aML4nanNPQvlmNFMn1JKz5PU82SPqz0au8MQbWKf
+jVHilqEA+KEkpNOYScXWrl27du3aNWvWrl0d7bRn8xOx0JcvysTnCsVTdpdllylHEREpp+2Sm+X4
+n3/pPNN2DZAt+Io0/SQSSHYm3XQhz7z5M9y93Anotur+iW+wrX0jgAJprSEQiFGitNYQ5ThOwHGC
+GY4TUEIkmkiLISGioJLP3SX4ywUS587B8uejHq33gNjSG3a/ET98IEj9yhz2PwMiuXq6PHnI/Ztc
+ILH+r/tcHDv66UHoJ+OcfgWHPt6wVaKJHtjhoVAAawkwFI8qzmYhorqscNRTnM2iIKwo1lriewHp
+ppDTnluXE3JZNgzNrA/vBMv4/3+I5lmvX/rciy/SiJJoRTPUSWd9FTvvnv+/CVFc+uoVD378MUqH
+2Ko64PAzv7PLdqbo7VwAC/na8+0visQkVmYKjIpsjA9H2CQSBXUmO1LmH3gB3RFM1A5tCWgGebWD
+1zpotCU2spk2FFH1uC+dnejnCBLFk55Y/PLiipqq3JmT9zxgHNK1SgPYHpAoLr7r5y/NL6+pyRp/
+9B77z4D0e+zVfoRszwJYSFjvGBWGkPeRlw0Yb1CwMWt1xsj1iVEh8gabpqw14ZHrE9nZtYmRGVXr
+aGaQVQQhtzSnumrz0Jb2YCQxvs7r9/CX/68gijFjBsA+yRRLf25o/Y+BRLGMOQcQX4PQua21K4KV
+FgDbLB16c9WsGG+/tYIQ4M2bDECRTSSqZutNOVNqSOC5iapZelPupETT1GxPKrOLGQA4Y3L7GpmU
+0SZFIwsmB3fZ/ts1QCRE1rWiDMTzmFT/UPn8b4KEFLtWyJBY10LvlDL8s4ToyOsJpckIbXFh2/08
+iZXAiojCdiyDBSIkFODclW0aClBO8UI7vHX5YCiQf9CxShWuaTJqqOiAgMOqqbotYKC0kkRwVX3G
+l44m6HMGEWmjICLQhmhAencGRKSSnakcvUv3JS1/vLXRrTQixrc06snnkdzu74qZDvjcCELdEksf
+H4DkGRIDVrHygHgCGNi8XJ0ZdCa4mdmK4R+Y2IhQeXZBgQlbAsQMCgyLZ1kaCoByCqK5A8vfrYN6
+/RjADuNL0YfiLLeQjRuGjGsKVhYGmEiM7RRV31pHrOm0e4NAHN+mwGohUcpNBaAnMezzQICSgixK
+eQQBTNVg4+KdPRMaPn+O4ixtTabVlDoYPKvQTJ6slc3KJSGy+SEnmxUppRRRRmFwQP08gAH0hof4
+8nkbUBU2FVEFiK5MkCQtlEkI0M3rg0IkFhCCIVMZY4huWhkUUdFqI8wEIcWmKuabshoBBQgQFa0O
+iJCBqZi7KdwQ+cTzzdoAgU2axrJAYAUZIetkEQtZKwQhy2x9diwRsbZXlK0Uh80X3X8DGMAXCVLx
+j71Qe001ImsCImIqEwqijBCxJbBAb0yQVc1rMpks1cVMXdPqgA0sawNDR6uMiS0zosTVujKuwFbH
+qgykPKYAHd/oCVAVI3m3XM9va3AYvvxSMiAN26D2iAiKWMEKGQH5s/KeEYjIF2UkhZoURCvZnmX4
+AAbw/xAUJpu5buOiJUaEIIZAuqPauLp9VcAGHWuq4pnLoqHWGse0rlwc0261NoDnLE9oIQftdSvi
+xks8vNEoEie2MthWR4FFzwYFcIPLHnBD65ZLfGUBP1MbVJIafwEAQhyaOHP6EIZQtE0nmBy3VpOQ
+VhBdF3MUCD7Bnc9fkvyriIgkAachqge2SQbwvw4RXdkeruoIQTOIxHqqozJc/tqmgHJWb8y0Aa9G
+xeu9Cm7PWLO8ItRe61WCjFGVVoSiS1a5kbcWxtoqMxytOsp12/qyFSuXS5VW7e+vp3jbm/VrMzZF
+oCpT7oSd8kuiJ2RH7OjBno4vKdsU8aS1o0EnSNrjSkx9NBJXVlmRqOaYR8qLJP9GmUXcFh2vcRH9
+kpFfD2AA/Q4xm1gjsJGWLw150lJe1mZCvHzp0vaqnPUrGrRZsz5nw7qM1W01zQ28Ka4D8ZUVVFvj
+1i9ckf/JGtKJh8sDVofXrKxVgdc8WrEq0Vbr1gX02g/ag22b1i1Qweq48kxqnOzyP/KGB9sdxIfW
+i80sqofU6EKsyw5xReOkfDa6on7y5qGVJZsaR8ebJwZiaxOjmvy/2U5JfTBeXd8hyxtLx7tfDlXh
+AAbwGYEkmFhZG96I2oxw/YLMaU2jEF9XG6gvzgyrRNUwXTXc+3jmynjO0k3aqWZiFaheVlkSrirZ
+NL69oapdW696NMWer4uMXKTXLY6HImUZqCoZYi1Eb7TiVFoVWNkZ2itt/A2zVgZBI7qpaWJic3Cv
+nE0yiDtUqF4DERVsLFod9BqHBd2xudQSnlYjY3KpJWOydcnlWNOUgqaWYcEvW/jjAQygvyGqo4ok
+1Nro1VbEaleuagi01IRZk1MZ1Q4kWNPYXNfuVLp1Me1WanhUu0EC5GZUx4xyBaajkoV10Kx9R1e1
+Kngem7IGhwhiqmLKVMUIXRrkrvWvrjMaHG6KKS6ekcGFiQ9ax1CFwxHjCDQ6HCpuz80pimc4ZG1e
+dOkgRdbmuSslb3Wz4xQsb8ovjGd+SXbqPnNI0ilzAP97IFEGHFq4gVe9LaHa6MLA6gSBM5fGQ8xg
+U5EIVyScjYkAkfdqPLg8EgoLW7haBZZFNdjYJ1wS6ng9BKMlsCKiJYAEAyQOiWimNE6Crvmzbq0c
+Dt2xgTg0NkqjdG5HqIBcN3uSBC1GmAKbWV6UI+Pa1ShhCUxwM3MUS8CJDR2U4eh8nW0CWW2hgXcW
+fqgFC0Cpz56qJFVk9x096r4P4FsB9Kij9B9JWM/9xB7Fb7s9cF+5CrAFg+dUgn5sSb+AAKiOqqAT
+UiTaRF/zNImuaWhxShd9YhFw2KjmtiBDFDFZilaGWlp5tTcXVpEAnAABrHz3JAuS4DxVblgggBNd
+GUiL5JfOZLKppSRWY5WQFmhROQwJsIQgAs1BSH6xsC5gISE2AashxINKQ26mCHGmsCrgfjPsSL0S
+9KmPrsf1rdz0+UBALFoBAPfppiok/V1DPzZpqkt8a7xOGUoF9UwFCCOhpAlxL0q0Ha5ZWnE+QU2P
+4x1tl/p0XhUh+vQEXxREd0QC1U0eQUSVoypBqlJ70VFt9cOpo9owxEtSJxF0R7thwOqNRvsi6/N6
+waegJwiU57FvhatilUhnj+ySXyHd2kQmFe3XH0KYhP3vKQMhYZKUtaaFgASZkuQSs4B4/fVeCmCh
+AXjU1xgmAPvB1tOvb+Wmz+vJgazGppeWxKecXNxHbwhgBf1MlkY9/NakB3EOdZMigk3Em1rHZXTv
+pB2umfTm6elpLrBjjSISN9HWkDe8z8cpBAVOJJqbh+fvUuMv/HCYqBGjhCAGlVqJARlRATEd1b5d
+BQEE8jq7XJLEkN0Nb/0TxAIrgKhoxElvbJf8EqAdSQaD7ZGJL9OMLkaz1F/rz8527kn1fjIMDZtA
+yIB7E7wJCWuFDs9kGDBUKrifiIZNINjnTZ/fo7O68up/dgC47cUx3PPFFgJr9CdpLACA1fUfZMEY
+EsUdWX/OxIfXB41yFACv+ZJ9LKklVxtlHHAsdteLf4/UNCX0B9O6B7vtXjM/3vI2VZKsfuyRTIcU
+AcqVljOOwet3ZAT8Y49bjz2dd2QMZlV24ebGunj0Z3/kvrxqyernb2mr25yIP3OkNdud/WcLAiTJ
+s0wQg1RMYxFPGdspYeKs4BRb9ac48ktgBYdXsAZJj+9r+vgLmyBDyUlod47e5LDexYON5MOl1OV+
+hBArvPzwB+to4sGn7dGLbUFIRDf8+6nFbfnjZp94AKz2w16yorkPv79OJhx86t5fGEWDkNVvn7LJ
+3D7xuy1rr7+7dwxiEfXuY4Efj+H+ZDoTit9c1Xk0IeCZ//636+qFAKtnH00e6btu/QQARo3o2a2s
+5j/IZ01hhZQUb1sfiuDuV9OOvwP8K6147AveEcMAVq8/BQCYIltyxfvbywCQOb6fQrX3L6hHXG0A
+gGltC6QtMv3lbe9eNt1PCVn4KXvy/6WPvzZnUKzaKiHjKuWlVUSUMFKTcn9mTtwZtYe4u75iZ0cW
+IVabL3gIJce579x25/nXBnrIIgnrh35RCQeVlW/efOyN460WCLFquvCfKDrWvnvHnedeH/6CBJis
+/vjY1qKHjvhxfYbX3NuclKz+xw8Yr70Z6t8JtPp7S8W1m0no+K/mTnIsTtuz459vKMiU04cV7A0l
+8vWiD/7FrL+916yi62o+ul3s+JzuHxey+qmTo3juo1xW/hLJM9v4KDWuOpvW/bmJJOOXUzh8CPCT
+o1XVnytJ9E/3hjkQO8Tdp3DwYw03rJXAtC04YGr87Bsrb4jw0JG72vR5CyARCHfjs+1z8BNdGe/+
+bFJDaK8s0+YddviohC5ZHlO8aXC0rViRVVYzKWbdmlObn5lQihlKMWuViGa153iaSbE1tdk5zH5a
+S2qndVjEaDzuPfz+okw0X33DzRse7e5tLGB980X47lmT4ovufkE/O/+JPVkJMZpPeBNX/iwLLdde
+e8eGxwL9OsBtKwTUfnYrrjzCq0QHzujNpsKq8VIO8sr6kf3pw0XiHAEs/avxBt2bB4jG9OmYvCcr
+e+H3AYBIJk8+a/Rv8h88CsAhOP6RGuzeI4iGqMivokFeXz6TAQjcEyOvbFsXErAvgMfqHe+Ey/xT
+u+0GPFcecA/4UyrF9kNh9GgsWYPicX2T0hCw1154Zh5mOV8SfzhxeikI++TTFVPVY5pMW0iZpmiw
+OaOiQx0zSojrOpobqaHCa6YWr606TqjaaOvqVGt1nFSkol03bmoqa3Sb0eK1V8cVWOpqbTO1eO1V
+XntldCe5AUWgzn8PP78803Len0+lp36jOX0CRaxf+pn5+4MHDx553PPn2UDV18uJSaAuehM//W2W
+5dw//oCev0x/MRuwVv17Po0/0+rfHfOVR47s/eIJbarV4k4a1K+vnJDYuDcOQFuNl2AScMLLzxZC
+tRu3AhFwXBK49ijXteJ6qxoVZqH77ECofpOGO2qMKEAYq561atvMcURgXW9TGYC9vbjnCcCu11IO
+wb427nk76NUi4IS3HpiY3fftIvC8mgpglnw5zIZEVybUtnzMyFd8bQu67K/soMSIfQ5yc8PMRY1u
+fmss3BBra49VttQpZBRQONpU3VKnINGa1raSUG44Gm1rj1W01CkQbENLojkSr2hpaKWd3gO26sWH
+aPBlbBV5fFUG3bxQpb/sotxfyT3fS1hml2+cmQhUX04iTK/+g4p+zVaR5d9l0+0fqy/ko6zwb5Jj
+w4Ldn33p233EmVE8bm+bGHZbP0+fQUrr4RDVUWu0AoGMHjQYhA1GawIRIVBx08zve9ookF6VQGBy
+j40d4iEH2XjRndnsb1u8Sodu4/SZCFqZ8nrl0RRttCFAKV2zHoJpSmuzg4Q3BASia4A5W/gQEwmZ
+slqF6bve/lGfEFOZ2LbBbdtZ/dP8j6K6oWkje55iyc/xAKBgY9gxg4utUsy5jhcYVMxoyoAlMSJc
+UBEKmEHFFuiIZceKazMdM6hYcneaW0fhVshX81gBGqP3l8TdlM4sYumVhaGW+oBS5HDgXFh6bIMW
+ottEDi9mBSgMO1i8O+mL8GUUVfGxYH8BsfghpXo9mcynbrvzw725vyPNEtEIMGFTZ7NtAoL1lOTd
+F7qu/fcOfCqu+eCho3p8XAiBh+++5eOvsBaIkH1Upm37wCkii6GkeEJyqSrAirj2glN2ijtIpKJM
+YfoWa0Eii8HZk3dJ9VVf1d1WhcK2o6vlpiYWf3FhRmUCJicvJzM73FFkijLDxa2u8vLbMymcV9iW
+IBRQXk52DWV05DmFWaHitoTirNwMJ88NhEPF7bFcxTspN6JWvwbsKyAisMwCPdlg0rOUuUhcfGQz
+mIRk/5Cl2JviqfVz026aCfVMTf9KiCRdnXtMOlNnk2BZ0YzAFH+DzY+25t8jwlZERJQU/eScIZ+F
+dk1KMoWwyd+mIKH7yxWjzlMAQFatuW+/o63PVkrzgLE5lrq1R5Tk/PiCUawAIU8/9154YrrwpVq6
+hbEQ9DEIw1LLAhIsAGHwmNQKos/u6+ybLXQrsNSTwNSuaqR1JouIgD4BBqcU6V1V/PQn3zNd2vFn
+68Der8FyfHTqr4Ts8tG53oYawybPRb4tJCtDrM0rsIyMLOFsyc23jMxs2PxCrxjCqavZCBE2FwZs
+XoGF7OS0VZjeiGs7Bkmir5EwtR8ck9arCjUQM//Vk6wiRUNyY4pXE8tbEeONTSkHRkFvfu+EftRg
+CWBFE2ChusU+9O1IrGgAJGxpKTBqCItVJBAwQwlrEmsIYMUMESFDAu60j1JCqRXcTlgCEhUVRYAy
+SQbpbLwRAjQ3lvjbA3R17CptCYDoljJgjoiFAlMqPGtXzSBuoPESlA6zYpM16mwpc5+RvkTb5QB2
+T9mRCNE8KEzI4iSfEzzSgN8thGR5REQCDwqMzkB1EACeKGJiNR9S4quvBBCGEvYjI/r2hdquQEp9
+JUAyRCQrElDXoliRUKq3fQPFZDrtWzclmyZW0S7LbbkldMoviYqvCNmEAYklsbAAeSBrQWAGBJ0/
+bY+rAFAAS9Zi57ePCB8ByPFDXRGNgOC9Y7grsJyoHDg2dRQyIDQD+BhAbjI+Fg2H4L0T+itKccqg
+BNZzdJdtiIAYSsFlo/2gtqQ1FgFTcpINSdpRanjGoKJhbLakwuYJSbcAel2xCXe4yiR5eeWEdURC
+QtbcWrnnR4SGzcUCkFVLHjzi0GQ8XynfpHimVQqA8onVktEd/ZoRBRpOXospeakaCXyLGc9qo6Qv
+0xNRdRsAzE7Z9omOrINgD0kKv9UGcDlo/LC7Qp09YbXxq5GyGwExG/8cZBEwIZup02YH0LBkUF8x
+tERIVONqYLaw7rRatZ5yFKwGuod7TFsnCnemY5VqGrsUMIDrfEm2olJI2/8VhTiZdDuNzgE/rU3d
+f6aupu9D7+zyl1aAUZjKOguCpenPAnLaP6OYcagoQKgtDsEg0bQMjILUTZnEPW7aKQixwsL/vLkh
+MmbPbx6Wsm0AWY0lj7+xLD5yt28cCwFiH7j0NhB8PaFlzxywxsYXF9VmTzt+nPe3u+ebkY9Pr/iw
+ua5pM64tZrW8JhxwbMKLjhvFFP9AhQMci+6es8PdR1YPWQTUexoA67qbDrrgJKJYzWQ/Mu9v7VV+
+JG0RLHeVM8nEnnunUg857Gh/Z7H+nea6xsbY1SNYYfPcq5caL+M1V8POLhGArNbrHn91cfvQ2cd9
+py/bMZF19cqjqUgqtUUqNkAww5/LgzU///gnlWb6fqePZZAQq7JPWmqbNqs/FdpnX64OlB709U4T
+Jc+olvferIgNO/orrq++8q1z9OaXPq50Jh67Gx6/4w2d+7djLGRdneLpvumS1Vj3xBtLGotmH35q
+jlVkP/BCQeW6Cd4tW6h6WWbQcSNmH7JaVz7xyvzmwTOP+p5hBVZ6+cNvrWkMzzltz/NKHt5hW6Qv
+Qt8i3SK/CiUj7O5I5fttbk/R9ZCMrNRhSDMabNdaljTv9+aTed/LFwURWdMMxhTSiXXgQHbnTU4C
+DW5/BYMTYtVwyT8xcXbLOwvuOe32bH+NCKs3XfkvL2ff6JtL/nHW7cY6T5wCAPj3vwHM2811aq/8
+VwcA/PZHH767+37vr7vvlgueAIDSmwTRr1ZAESxw+3lu8OlvKzHiYd5udoe/OiLjIGhsLGEQqz+3
+Xl0AUdgEAVn10eNf39sffglYAB417fHzq6AtbvzOfWHAmivuBoDM64i9bzwFKA+PPgoAzx1tNVnd
+dPV9rc5B9PbKh//99+xe22IiWAzlFY9H53J3RVx7oclEBAjrdy/8RO+x/5pXX731mnMYEJHvvwEA
+Jfc+d/4GGA83H/NAjigICZvaO/9aCWh7ywnnlpNMh2+dE/vTnXUA8LsfND827oi5DbcdS4zF4OxJ
+pITE6k1/vD8enDNlxRNP3HbPga7z3oEgBWFgVY4buPjfWoy1Y9dYHbvujjocFH7/v//95yODGar9
+8luw12GhphfmZkaO33FTwi/G9S79SewSMweRzdF0+7GAFtR1pCugFe/xh5+XCIkQ6CnPkYKDRTX2
+uAmob++vDWBiqjrknxeuX/7s2x+OVP/6gfWfladf2f9v/LvyF95YMonu/b0SmIOPmQHCXl894tBT
+J7Dz8b73xK4qa5s7uv3G5a98MocxjobsV6RDek6OVZG99s1gazHhK4dCiRnC4npDT56wXfFzetZz
+JID6zSJk1cY799s/kC2ETQIRoivU73zr+KT6avxVJ015rrHtwWz9yP3KEqHwgFIV1LNKrY6HDjxm
+DMPZ7yuHf+WwE3aDIk8vOODG1gvKX3l5+X548gLV611Nqq9Glfp0aESaFoAwaIwogFg/cfiafzW+
+/9TSW03zufcrJmiedMAgFdTH3Hjs0CcbWp8s0M/dqkSEhPXT+1xVedqbTc3vH//EN6wEphKBWG08
+6Ld15yxv/Wgvvu+xv63+hsVYiNA8YPBIIRKrX97/ruAtle+8sOYfuSuPneuIe+hssZaDM38wWoyU
+hlkSNPFc0WsPvrLue+veeGHl1/DWGQy0fP2WQ1d/8K97H1t3eETtiR3eSv5ipGdXs/sGqDXRPQY1
+0JZITyBkGVoJwBT5DyA/LHZNWzzdxYYIaE9se5mfDoH8cKluHUFW9rzqe4H/vnKU1ULWvPz1aOjv
+3wbztGtOVDf/eCh/65t0609R8PgQAELLjm7ATRcAh136o4Aej6MXzD5Tbsc7h8VllkCKHsMzJ7E9
+6OUA4MiJ+++zfvgtR4Z3zpJ8OETFayYDoGsiV0tBcRthA0BWv/nSaTNs0s1Ft2yA+vClWy4A8N2b
+P1ZP/4RE42os2a9dZopI5iPAt9Zj2MsZfusVm0VH1uGWC8A8+sYDvAd+2muSINouB6P8yBSxPzsL
+IEn1Fau1Z8YCOsdCnf/q07jipBwh0Xdh8X7t9Prffn85gON3f0U98xsCCes/Xoaivx4HYO8nv/2o
+4ZJxoojRcNRynH0nsMcN+ztqJO15ROHlAmOXA7MdJljzxHcSE/47DSLm9NiP286cX3DoofbCOwLx
+qy7REOKbDj0Oh/9pahDlX12PX18NsYNvfbP95VeOxG9enfpEDovI4Btn8fSdclz7fEWYAOxggPbP
+EIKE7SmKifR4D0SkjVEgEKu/bXDcCb9iooTt6j5fiZjotyARrD56Ucv9iwCyB+Ym6DURIas//lYU
+l347waTsfiXc/jaxsHwEGVMiLCyxHzeo2Wd71rPTYBuelK+8eXMmLLIYmA0iYRxeahE3zBDhUCz3
+6RPCIjsRJZgwPLkBbNXK+796MOflA/4GMF8RvFySnSpSvglovuECzxOPs8HNRBBYZAkwG4CwxJcD
+4zP8DS9i2nBsHX54gcukeOZ45lekd1iQug1g1L009xUfr75YC2APEUCY7m8KtF7OpDw+VqhqCTEg
+FvkCVfaby63Hrs0Bt4AgrP90mcp4+DjPsrhyVYbFhGyBiPrlcl18JXvWjslz44/IjJcfHgKixjXA
+LGGy5pVTE9n/mZZgkNjTJ9DGW8h6+kRhJLQrRAIHBz27W8CrP2Y9fe1qz0Lbkbsznpc199GxOTEo
+rXl4UXDqzmwli+038DbAsuyK4y9c7u79BMRtjyT+PJBN1VXKy3ko31LPmwDEva2WtI2PRfCeOLH8
+IQAoFG6RGAFC8bNb1ISfe4YAlZdbh9UCkF0ITDKuAZvn3w0kTg142tMREKopEbCKRBZ6KjAZAMiG
+JmzEqqqhImTNTVW3zYoHsDPfcJKSnFbCJgHod+5VYgND5wH1rrHmhbfOm2B9wxoRLHcd94iLPaVE
+czOQC3+bemm7lqkgEqGKjSR7JIVURJ1foQqutopAHCgE1qJP9RXTTTNd//Vns+Eshq++gpI3lcJs
+YgKyQZwQAYnIsojx9r7SkhatGv1qsH7lUuNddHjCAaCRoXz1FeslfzfecYOtYRWPkdSSVQLFsq5W
+8XTAqvJTO3DODNcBQBKatBqPXBpiGZfZgQ+gISD3iuA9QZfMr5dp508MBYgUA2vo7ShWIATLpJVb
+sDOeEKKzzKeZV33al/lTv9pbuEhwdkn5VYSuzVFY6c0eD/j7AHJWPTkP7O4ZC03oXLoILPd9046B
+ZHYw5lxVbA0QaQMGA2T1XfMDiXPDVgEEa4E2gqiKKmCOEAnJf8mqA4UEsgnaKxDl07wsBo8eTgQS
+YM+5TtOaoaKsXnf9nB95gZ2cgVFRUSthPdhZ8MiJe1ol4yBoahxE7m+yfyVdnBsLIOoXAiWiGqqA
+ScliF8MOGeeP0avbHHeGnxhW//e5QOKMQVYDUOQBrb3FF4uhuPiM3M5THmsb8q2vRO37Xmz0FVaR
+g3pwID+p61wI4GLtaRHVtgmYSAzVfo7YQRexISERtardcWdAIPI0GxwqIiLVMePlC0AEgW99RaBf
+1angD1mBABEJgTatmwYMnvwJlkTDQp657+PfTvSUfvt+x/32ZDYAlPKANlSTevqU83YLaUCPO0bv
+jPWC3c/rtluztb87m4ASFWoXlF9HpX9yrADB3jpZIbHm8ucReuBrnhaCUUC6GRQQ7K+mkZZD3pi/
+/wzAa+l4KaLtNCFWTdeRm3ucH3+G2mKKsgRMq5q0nQkSEC0TWzKMiIjeh6WDfCMionnA6EzrWyTM
+BGHxwSKgSyK3BOxO7pyT5OQBWE9EV6jfCkAjIWjYXKIfn3fpMM8kd2aJ5sEbux+0EMuGGuNN9zd5
+6BNgeDETSLAYnaaP/8fed8dXWWTvP+fM+96b3kkgoYfeO4iK2LtrWbG3dXXta1l37Yq9t7X33ntD
+xQKK9N57CSQQSO/3vjNzfn+894YkBEUILn5/HPGT+/ZpZ+bMKc8RCt0BEzw5wv3haqbEbb7sq6/a
+JejIyNLORBBadxIGiOWeEZXHpwChktrvIRkdfYAdmgWddbCwkJX1a5XpAxHnhVWB8Jh0o4RAInOh
+A72IILQQRnUBkWAaCAdEIGIi3ldQM95TZmDXSPMx1UDVbeotxu02kzav6m2JN93U5V+WIXcaplP9
+0cWoYEpEZwHeeqvbiP77D42fFJCdd/cUZ9PTxmFmRawa/GHy/zA3+VN/wzZXuOGT270PgfFL1R7H
+v4Sg8mVon6wACYGmIoRAjPP63Uh9+3CtAEjQafiQESA+0GLmI+gRIzBx4sy56wGYQE/AOl9vVKbm
+SF9eolAB0I0ALIBN60pEAgSAVgkCi+pvSY8a5EfFc8mqiEUTRNQrJoTpBKu++PT8kWZXXSpJO+1n
+A0V1wV++OLuvYYN2AIc29qy5JfWq+pz1oirWAENijYIIFgDUx0/EUbccGCzWgYBmQLI7CEMAq6bP
+I2PO8o1xpJcBXbbJbOl7Xw3iSJy+OGoOGF0TIp4XfBJK3vtl9vwKgG3nVEsAVGgFMCDNEgmwSDvo
+K+KEX4Kh4yTi9UGzot5X4pJJTgUJ6DPodscJEwBlfe8rwQs2aEZHEnyDdFEE7EuGvOXULeotUDcV
+vRxviJdNhIerro8UfzGQi6N7LXbIW74cap979jNqlxSIYWN91rLMyjILMwtzdGEhEbvVlZ9ARERM
+xKyiHNvcH0Wq2Ytwg7IHys+SHlODunrlsbEk6bHbNCppZ9w/pO2Hw7SCIUZaTAV5DR4C0uNaRn8l
+JOIUPff2QqDvQZ3fXI7ctkSQH0DITo2ksUhsZzseLiw0B9I5yx99Q2eg3Iom94U8xD7s+kuurN7M
+dqDv6sLSOXs1lniOrbqq1T07BTHTuKCQXAhKStvcFHOzgAhtyTLW0ltL72qloy7kImvXsx0iIkSg
+2dBZuUSAVRvWkQwEhKBCy4CuiSbirfUD2LTJiCbsGC2tTgM3Lmsz3lerIRhWj4sy88kvihAc2dd5
+wov6ZPHGlSSDRQgkmA2d2J1ACxeTyRoYeb3yVvjeV0Q04nWqDcFj97uJyjyYZhQA4aIVwAAxTs1E
+aIysL0zZGhg3DeSr4+aPsYHJL55wjGFDE0Ns0zOjis0DKPkfNuHD0+YCFJDwpCM+OszsFNJAlNgy
+E7NvRItY0nxq4BDVbMc1JUv1fyz5kXTUBKlP4OyJ+iuitOQSkprocbUok9k0QFtIOzPPrO35UQ/t
+CDkQSk7dTFITXRhqtDKtgi2y/gqJVe9evwZtLh/TifEekBvngWkhgLHnNL6TzBygh6MVQHLFO2UF
+758fwA93SuDVwX7kgGCRx8GekV6wcT1WY82mturBlc+2isq3u9ByvsC8Wf8y4dIuRglJq5RSwmZv
+bOal9fESvvrK9gMAYTsXaOc7SMvSal99BeH8dSRDBCAxCrQIylxyU6OaNlEtRLyv+tRDXcqGNbCI
+el7U3vzfMEZdfEQKFj7ieP2glSKRZdX+5hZCNBdo015IZhrX65Lud7bwpmUkQ0RIWM58bIV+7f4g
+Fl9qce8Yw77GzVdfCW1cCRPfxWd7EVldyDazK7FQ96QKzCH2roh9UEBCi+GGTnmyceF7TH71i+lb
+QiCn+pK58X8q90nZA+1HEO4KQlk0w3EFFLqKaYSILmSc1SeV7Du+h3YsCi99DxpdQSiNVqsCjC5o
+GQW0WHXrqWtw2ozrc2EWrgEGiesqrwiCjmKi86U1QkL5BcAQ8TFaqz1rLzjtur8cXNR/3MmGI5Pn
+vIj6CgBEhsEtWyJL7x95ntnlsEsAaA+QXnNbvK+tovR0EIrf2XBTcj3HETAHXkpXYoJw0TpgEPt7
+3nkwrbsQQUSWVzroD4H+6xFGYROATqK31rRphJmvvpJWXeuRarEkFFFfkaWiox4Kxz424dQUz/tW
+jNMbQYdEMAcR/yxRlauAAQEL2gCKol2JyLIqB/18EKlaI/aBY647Y8Dydq/9xzAB/jbdJvYkkk2G
+kZjlf50Ev8DBqCQDkla9gAUVznOzbu5slRA2gtChQVW0XfSejb3oi+WT7h4tHq+aTGaH27oZsmKN
+tVasiFgrYrdZV6O5uNGcVpkiIvVW4q3rOPvpt6OkWClSe6L8bNSgb5XdIOLPsRsADAYBYknAPvqW
+UZtPzDvs3RTtiFXTn4ofo9XgL5SJPATJB2HIrgAPN2hUo5653dF/exGesmp1jaP7Y+kPx2cCQGr0
+JmGgofqKhOrOinn3zS/fAUafclZ8dF9FNLNefQUA/QHMP+zq2kdcswuG3/qiIocNcO93/26rHSGy
+iakQfPdhu/O2Yi753ldt2/qi8eqNjh4ofszCjK3qq3nQwZ4kVPjRPkq7DCCt/iO8LapdVH3VNHiw
+k7AA5twJLl4+xRqGOw82qzONKzmNQTMhWbnCgMj6NcoMEAEMgCxEXxJRX5GALlv18c/vfPklBpxy
+draJhkRFva+gQchIiXAG0zgIzhQAxukxlQoL9C09rvTB2vyqSH1V2F46sbCV56bsu+/1L15ikL8r
+LntCMdqp1zApbqCJaqTKigrYDaIzo0Kzrz6HWCXMwmzZ/9/Ua7QavAi2jvc8/iXQQfdarEMkvek6
+6Jj9iQkSATeFkOWqMfOOfiMxpDQ0r3D2AdNBdxisjXAJ1kEHRlGLxNhaXn8969zHrLiwNAM20BOP
+PTMkO3Olb7Dyp5Pp997T3QILYFO7EpEYZ9ziq448srjAyUoDTBTilktWR9VXABH1iK/BignjLhq2
+y8orACBplVJCGJd5tbAQyFD7GYJ5eCGhfvfre1+hl7tVfdUXRADXrWikvsrpKCQr6RCykg2fsQhC
+hlf/55/7NnG/iqqvGgQPzoyor0g7r38ZDF10iuc44oTnAZ3TK89yT7UqtBLoHu98s5rYAACAAElE
+QVTHNi7SDvoBkNYAXP8dAEWDB61a+MEhxx9/6wbTOk1BRwMYlVnsBw9SNlv4IDtChuf/pLxRRwoT
+IENecbxVz5e8GWuUkEgOtnaaRcklZx8y1y3MVBBr1fkfjkPGrpjfTdL1m7c2zA4bkaz9nQ9EZ+KY
+Vet66z1Pflayf1eLBUQiAqYpsKM6WBJLH5x87nyyJGTFnD3xgi9SVNBxnBj+UXcUJSN6Wiwg9h+a
+DDsyd9c1QgDE0qdlDs5MMEqE9OewndvRtLRcOQAK60VIhCxCF3wMEcJcSOdMgYDkWyIgvW/PNFgr
+EsH+lVWFjIFRSxdLpxzBj+dl3Wl3CaainigjHWBcnhWxTyEXYOp3uq0XzkVk7XrGkEgg/mzozFwQ
+xGL9OoqUTJk1QE6igCbJvgAdACBPQCJkhS7/oJFfm7+tKVwDYACiGd25ajUEQ8VC2L5KOnCBZYLB
+vMUKg2RDyWHKoGAFYbBYCCzmQCd2BxMNgUURQCIkrOcB3RIFEPkeDpDUq28rZS2sH2cvKFkB9BdL
+0rYHUC6ACImlh0KIeywC1zgABnc/etIRhoWEaRQM8ohIhMTwf96za8p1iQBgx5o0Sh20C+5X4hYt
+y3CDUQpEyHVd13EcR0UoKgDXa7bqVVZRt6oIaa2153leOEKhKNVFqKz8mJo9z34EmJgrLqcJNUFh
+GFo5h+QS1o7hT04Gvp3W1rKIuujjRHW1xwDYFo5LzgGZwD8vpJ8q4oVhaO0skouVbpG6kcwgi2Ga
+RHTgpXmulxuzacnwVIx5yOLDY7Ul0Q5fM//B7h4L5gC9HU8RQPnyxtDBTG6CGwgwDBPEGl6mOaaX
+jeLq2GCv5bwCz6fvuvIKAMjGp0HptpdGA42oAwC5MTbSEkJiDS/3XDtArBIBzQM6tjIs1tDKaoW+
+VkiEQ7VAa2PJvJMyQhw5JqUSH19iDIsh54GvrjigAS6CkFgyTt4W1tzf371YMk7hGlgMFEvERSvF
+5HQGiQHd5QVMPzNb9jFaraxxvYGRYswF2razxHZg//mYIGIJmtQNi11vmBgHoHxMeOxwl5z4QCDI
+sEQQa9W6QrYDxCoT+9fbee2aztqBse5bb7B5coBRQkTUNaOIJyc8IH4wuRzUaS0+H0uGxcB9/cUT
+j30GMvsAw4AhzJOjcsyurGcyoevvR9L71Yn7V65J7NLhI6bvichByp47UNY9raznge8Oy5HHGCWg
+9zkY2DierIi69VlV+cwjTzz++OOPP/r4u6ZLCpGyZw6XgieV9Tzhe2vk4BNMC+HnkCsKixxFHPju
+HyCkO9/WncLegIu0++63ASZ2vWsfO+8a6ypnwWpGawooAkwrbD6tb58+PTrmDjxu7BIlIqQC9DVs
+q0zlRHHwZSgcjD6nZZRXICsdQbg6tZ7B2oHtiPqWICEVoC9hnNYcIFbOisWMzsphUgEeB5PURrkg
+kmAMY4tSzgcLr0q2yubcZNzvX3UVsaMe+PfhDzSUa0hIsUufgSWYzC5HjseFlEUaBxSLA+biQiZy
+nJs+VQYdnLfoMBXLX0LQhgPEyt04h9AxqJgk5lZxFrzpMJGjbr2PBEwuATYToSv79+nTs1Pnvodf
+O4VJhJTLXwNuaw4Qy5Wdbd2t5BIp9+vLrH3yXO3PYJLeAwq3dPLRxtgm3Cnu/AeVInacF88e+Dxm
+Qb1UHSAiR921MOWWXRoxElg/K+F386/sJMGrvYxB6tDq/yELS5xxB8U0mWbIxuzzfu3ULn2V4hfv
+MZ0+SAFD+OeprHFhNxH17uWuUL1EErDDzjBENjDy/ZqpHfsrxa/dqdt9mNHUSLmzRaT4142zoHcH
+yX/wgmOPmOwWV9/S4QmXMGr+Uv1VoI1b/NnfPrrkv+Cv7/ry/kKSBb98/dHAFM9NfwfWaO2Fqrcs
+n/CSGS1U+Z8PXvhIqHLqj6E+/jwvXPm2Um+1F26R0BUBzf1Zcp9zKZr1pvpFkWd7CEf1wtXXv//i
+BwKZMum7Q3657av78knWzf6itvd177z2lqXQtJ+KB1k2ztqf3ZI+bb8+s9ezAQLZEfkz8bWXE1P+
+7UUv/PXV+IbpAAXebS9+9uxrYsn7cdInP46Mwf1Pf/byM1oIP/3y2ZeDkmLzpnB46YgUb+Y/Xrqj
+PN8tmvXav8dc9/brbxpg2uSvDlh4w1f3rSIUzPqyaBBsr/BPmNCmq6r9/oJXM+uI5k77Kidbu51e
+q4PR2gvXlKya/OKGQxXZe155+0WP7NRfxu8Tb+P2+6xywfKcxPDc+/5Z1/mVM43ym8A40+aYfs8x
+RzPs9Av9hO9L28ZXTbjyodHvZ9nH1tnNM/qmUd3Cmx5JenMfq35XRwgvnhwHIujEDOIak9M6I+w0
+UhNHheVtfuwyOdWrKheE0+n+zS0GU/H7yaSH4/6e0mTxETJq6lkr8ZfR+O5LDHmzm2UhS3nHLMQZ
+Lzlk+fjPGr/lmge0K2TUrDOW4ZiD+IfPMPDNni2FECfCr19XAGS6+bjs0Y1DCoGBb3e3bLn25qdq
+gWAIre47T4xz2Pj6Z1Z2pomPfIogQSDaQhk8eyEmHBi9/sC/fInW8uqe4SsfMS3DvoB2nr4Ez10Q
+lcYt5w3dfND4+tnBqMn7Rm9NKT7pk+jvR07sEP35n3u1EpQeNxlw9MAPOls/nd09D5QCMXWIvf1f
+jTPTGLW0Z4MCpOfFFbZvELfJedkSuvoFDXQsK0t97KyXzgdwwTPL65/h6stfiP6++iGthJ8eW4jE
+zHW61RNvfQoA+HEUL3rgVQQYAjEGUObKR7ChXfSxuMJ4WLXwmm8Bx1pk/O3KNiYKI6bVCxfim8Oi
+oRskwk/fWQAEQ8ANtwZscfu6W+Z/guzEDdU4+J6hv1cOMuqDB9NBJLXZ3ckp25yma7Z6V20FXW+C
+k9/oT/ReRINympqWqNHN9VcJqKxISO+8B/IvhIwqevS9FQD6nHtZ0G9VoYrvkg+GkGDqwkaukebA
+TsIQMqrk8XeXAuh5zhWxLSSSAhDhoi9/yS/O6H9mT8vLX68Y/Re2LGQZiz+dn4/cg49LsgR8V5ig
+XCUwFcmHqoevtaMu76dgRVeu+u4NjT7TYzb8EO86jg7p8JFpUQQtXFLyYlyLGeGNmrT/QV8Eovwq
+CA9dOXFIffIhS5vGx7vKNWFT3XH/7zcmKJfDnq47Fp/FBZRrQrr2kDaWIVT3wk+b4g6/OMaykJCA
+1n4ye73Xcf8TMkUazYuC0q8TgkoIYqyp6LivVH/txKoI7mZl6iECwsIvFuWH2o8+NVk7X46PPWkI
+isbFuo5rQ6am9SE/r01UjvLCpvbgbMsivOH96WtV7sEnJF6yIjMhNbXjX2I++Vtpz38PD4pYU503
+6ZVSTlicXfGFG3RcGzLVHUYJwSj8MG5ZUVKH0QdlwURB0kV4w98O+5eNuj8JifCmT6fm1bXd56R2
+MKr07JPOxSefLdWZvY/bF7/be7Ih/zJXa01NZT4jQiC7izs5tS2LWgtHWS9zj+RfkFGoXVtIbToG
+fIwxH4IKv5Ke1n+obu0mat0pAKNaKoOokNQzQHShjAzrBuebfOvNM3Hmy1vVZ++cpdPmtKPmXu5/
+oaWmGtK/9ElvIN3SQtN/O6/f/jf9po7Ws2kL/Hpht52KIfW+I5Hma2QX2CY1Xf2n6tWPUw+s2/fT
+9Pp7ph9ehgmjGvSukIC2vtQ0zR7b4KiZqtT3ndQnAtxhasS/kBNU1M4eCePm8Fwv6MGu3CVMVqrd
+Z1jjTS6Jm5fnCNz1LaOjbWEiEWVtbM+eALTy53sStpaYBEKmyXTG7IerKGtjevQAoFWLsS9I4H85
+AjpqCMr/HthaZrHCDAGZSFZ0EQrdhswHnXBE62v5hParmaI3CKAadLO0YKpTgnNAg+lASPo0FHeF
+JGLHBUiZaDo6KJhoyZiFSFiMj9IaaXqwtUxkhHlbhjMN8i+TwtZjCIgFIGuZYIUZMALiZooR/XaD
+RlUQEQtxb6+LeSA9FDELiwwb9q3yDdLRV/izupH6zmjIr40auHFnCgksQ5OCtcS7uothVWibJF42
+lLw6K1iza6l82Lh1Gx1hscTW11eLqnEcDiva8/w3AH/LoEQERPUiTQThlACoZh5o/qGWKQyIBUKK
+hITrkfoIwgSpV5PVl8qo6WswIssL+F5CLLS5nNq0koaLdNRRiVqSfX1rDjcYrWSlQUQ5gRp0d8NW
+bIhi6CuVIfWzTKSmaE7L1viVALY5hv8w/NhcJSDZbjGoUaMKiFh440x0GG4CPreyFa+AknKJueFj
+IIiSBp3R8KWN8v35Bhsh5c8ZYBJHBKRaoBusRqwXbvga4876rMdxu7qYkBgTS7VOrOfFUEgTINZy
+vFOFPZR/m0Ra7NaHdvzV/vhqxITb+RoL5Qt7CgCsdXFniZwb05yo04KwnZHXqcbYYTu3s96anv23
+avp73rZj9d16d0RFwEKlpelhH1heK/XoIjmx7bZ22maLSM2NCWp6tUlld55UxYSOXbwGL1Km5tBQ
+aetdfjHJjOoR65dmd/s53CfNEEDkGK32yPiFPz2x7d9H5oxVLhMRKbf0kufkjMtbPOHR/x9EJutA
+KboiHPBj8lx7939kn/v2zHyh4kzPWFamGiiLxT34oKPa610uLdW2kkV56Fy9qmOSb2EmXVNbSzs7
+Qe+lXyGS2CdT7NjjPyrRQO28uwc+TVe85OwuyeD/OBHJ/bn2rYNf2+gB4eVPDb/RnPRx+h45bIW8
+2hEp5Y12d7qsrKR2l7ObkknKpZzc4PRgn+VrXQFA2gZcJ2T2VPn5z0yi7H4/3PDdp5+q9hk16ysQ
+OP3CAwS7IWHZ/w8kbDv+eOP7kyYhp024oAg4+vwTsDuyv+06kQRip5b1bhiBKIgHed6uN0Lo85wU
+r9+3tX1nbuhdB0CcDesCNGxPjB/80xMJ24HjZn2zsGDTxpTBvYaP6vCbZpe9tD0iYdvutRu/nrt+
+08aknt2GjuoJu6fOhaSHzeiRsnX/S0SQhFBo14UFDiVWF4aWjYibGDOiTgFE0mraqhMCe6z+6s9N
+woYHDwas9d2shFtSIf7/GQlbdO8OiHEAQHYRo2o3FlTqgod6NY1Mz1RndAuEloWDh9swdfH0wRFk
+KTIJJ2zp5O2B8b//B4ggDGMVMUMM/oRZKfcgIgjBGmZyINYq+n0uyn8cCce3s43xK0nXiAR4F+Vn
+EqcVGAQhsv7OX5zNBQnJoVi1l393CxFERVBwW8Kw+P83RW22ALjFvGJbnjg8tWnCPDIFAGAFAlDk
+fzTnQxjNu0ERf9WoYx4AWHeNbarC5rJyFlLlMXv5d/dQI6PnXtpV+hM0JoV/iXhZswj7Hle+owop
+EFnAzzfMtpk5iISITEBbCISVB/EdT9hAiZu/WgigBlYzUb6ZKn4v/+6lvdQiRHERNHDNrFmJKCsE
+SxAhqYu1XKtiqgJcFcPNrr91krgqPdECqqKsLVlAQLY2DpVuTE0gaMB18bbxEyC9K+kq99Je2ksN
+yPq4k2rqrC2f67An5Z7U1HJYAyp/cVGgasXaolV5dllJcwFDqnz6guVcJ1q0rc3jaqMNgdauLNu8
+1m5aG5JZFQULCrkBoCV8TKa96+9e2kstSjZYXBtftNZ2L6xuuzTQd0tcOy/s9diYAxEbLGrXqXlY
+YzGCWrtGtVtBreJnVo3Ii+kQBlOhBHhzTKAsAaGeG1tvq3nfu/7upb3UsiQpMYnF5XFbSou2tEos
+ilMCZTe5Xq0KJaY5XFrTbEZB0f27b3ErQuHS2FA4uawozgGQo2IDNevja9Zs3lxCm5xmntu7/u6l
+vdSiZNskJ6zPTLZJlJkqElvlQFTmpvYliVUBVdKJPaubwfq2sT3ivM62t07ur5PqVJfUMkfAZYF2
+tTabbOuYhETKzzHbmpL38u9e2kstSATbwUgn01GkFSwgqaLZJKd5qdIFupcxveFtq78iG9fJQw4I
+JlmEbVsvQTTrrGwvrodGD422VnrpZsI29vLvXtpLLUUCkJAn5MFa8rOpGpCQ0WRgQCGiEJpxphWy
+hvyEPwZkoMlGHpMQIUSwQKi5UPG9+9/dRPW5bvbS/zckUCwicBUIAade2iUhBYJiKBLFzQ8LjqQ+
+pPoQaRJyAIfhMIioWZyrvetvy5MAMMKWucVQfH7zk423VNR46ojkC2r8hLRcTEWTrzf9PHbyQ/Vg
+jNtpx8hnBXtKQANRpRujPKfAzfCC+W6GFQj76TjqYi3VuIE6DtSxu60cTMJSGXTY+IgCNmhNA/tv
+pRs04NrYP5H83MCh7Ncub3Nd/NTs/8vuFBLjOICCbTZuwS9ii391K4f6EEn1xz5gTCSHi58bsR4C
+aNu37GTJGggbkc9vPcbOYQQJiUQh5bb3ePSGPYJ9oeaHshML29PqVllar85sXR7ruZ6wErVuc8fM
+mnzbbkVsu+XBbs3Jz958ys4pj7cCrkPc6phUUkJrq9uHN+duKuoQM6drTX6HLP0n0V8JYKAAaGpu
+7hXAWkXbXheQ/V/H+ghZdip/mFKUfVJ/2xyHwFrQ78Y6/HVqAsQgTdJyEBo61hOsF64ozspqCkxM
+O1ky2iYLCDWdVXemTkIEz6sptj2a538CkXjhqqKk9n+YoPMbZGJKlqKs1uXitbWBRfkZOqUm4Nt/
+N2UFk0pK29du6FhenbRtllJ3Xfjg2gU18aHWBe3nBXusTimLb78j9t89kn+FLBRMGDEO7LaTt5BY
+xajRTpwDWy9dCQmgHYSC/0sGFrKsn3p0DYCHXh5jmsHas8w7OaK3T0Z9/1SsYpdB1qsY21tKrqmO
+JccByFSMvsgwqv5dHFAuW1N2Wetry7cUhWufuMg07v1GJRPf336Himl52S1ODDMBbGxVv+ux8WrE
+KmKAja1u89BOVVcQ/s/syk1Vob4zmt8xWs77Z1HJ5lDtVffbPUKPY7LXzxmSbik+5JSp+LrNiKHp
+B9c6AmU3OV6tMU4x4ot0q2aqYxPz1gVKszY5m6pCqU55ZlyAAeSsjNUV6+Mr1/DmIG9ymmnGPZF/
+hSzj27enrqLuo88aug3agpCIKnr30/mVqV0Gnrg/jBIhITEQxc6Gs9dPyfjfdaeQ5cLTfsQFl184
+s+bOvwSamXt47Sslfx3VskUUvPLR1qM7hGa9svWwD8SqRU9HDy/75CsAQO9tmpU3vVxw9BF+Gtpo
+8oAdIctfvdfgMAWY9E6D48OxU5W1av2jAIB+1HxaMcvff+JXcJfwWVuOqC7YPyElxanMqu20tqZ1
+642pCaGM9cq3/5YHQxlZNbFtVifHNZMkXGd0L2zbb11fm9c+WXFAip3ADtl/90D8diHLxVe8hcz9
+vUkl6vJ7A9KUga1669/5cOEBOObhrg1yLZS+d886TB1u/nd1sqg4bAbuvv69U4K689zYbRzMDS84
+YiPip/e0LVlGoRnrKp6aR5Ahp2dljQI2TTbjXwFJ2vl94g5IFVDx14ufL1Hhg4/qfOzSRRvuK7Jt
+5mY2ZitLaw5dDfXzCKt8S0gosIMMbHn5Aip+YjFBzj7SkX1aY90slL08hWH/MiZoB3baKWlDUPl9
+xRvfu+EnLzaquRdYXj1ny8MrJTh1wP+mwxvnX6gKk8PWuJbZM+RymJSxgZBrDYlSHosSHbA6YJvF
+sxNHaTgarjEMgRLRJEp55Gg4GsqKs63912TugesvWZQcNxl3XBWPsjsfenTNe42DPgVWPXoVTr+g
+R2jeM+PUF7M/HmZZQHXjSjbN/74Y6n8KTiiibpyBMdfbdQhhTJxuOq6EcMPGAFUv6tWiSwZh6FDE
+nKFg7jwYANDmJBw/fp2rD73bv4z0M3DgEeH7/g2gd2988SM6tGrcUCI8dnWA6+btI0Igo+54/avc
+HWM8RrduwPz5rtf1Rf9Mhw5A6STSrV5MiXx/Z+qUdALSvtOq33aSbDI6d8bsFcjstoeYQUkLIUQC
+IhsShibUsbfV/ksUImpgxvX3KAAgIO0RNEEDBgRNO2b/3fP4VwC+fDKuvQmGUh4sfPPTm+9rlOCL
+jPrmX84L5wDocNxlTwYKjp/S3rKl/BMBxGYUm53+cksU3vL85yhwg8U5i1Yfea1su25weL6iUNyg
+lo38EjJatYEQCj3rMEiMcNo6YJM2SpGAJOxYc/q/rSFlpXYTMAS2ceezzFFcp4YLEQRc+0xZKu3Y
+JCNkrWA+CMPEYzDDWqOmgdA92SM/P8bO1EnCaj5sq+7bQaARsobWAn3j9hg8WYYoAUhcYWMpErFP
+wrAkSiL/6oHxhTiaG8lPUQwCXIHv+eE/xpbYknDzuYP2jImrERn++i1qfYM1TNreHkePzuWG/SPs
+XSfPnhM21nr24f7hwMabSISQdulFd3+w6nj5H24HABJ8pGVwX1DmKz9d72BbBjDucSYU81huyw45
+gnJUVtACG1zFRCCHVHsAWxBQBCKBY6+Pv8eKqwCnYA1hSFOTsKXjTZ26Z6AwAIt5BcPTd7CQBGa3
+fCUEg8DKYYBVwCwFMMw/3sn1F44zA+jSajvFIMCtWgoM/v1Zs3cTkbbkCbMNbCxZW+USFINIhOpC
+JBzSKqRVSEenMxEyFZaIwQzl/xU3sLYgn/3HuK6OpJalloW3PtaI9rz1F4zHIYenaAUo6bTfN+Fn
+npEGKW2MM35uXPmWVkLi6sAl/zD0we2dLCP1if91wQGIwhfAfmQcC24OdZKYHhm+6Yi+tmWyEzd8
+M9LSCwjrfW28gCkEQXl5uiVASDvvzb6+vXaERGRxHas+TW1MjLF91hw8xBJBSOgdDBO7w8NDZFUB
+afSPyspWbVgJwYBd8kETVbsCGC7bW75FZNV6tgNauCV3vryBycGOk462EvRWZwW8KlfVUGyIlTgF
+Rf24bmlcu+WN7b/OnLAMIQnUUGxlDODWUOyaWFSWtK2ODZMSLt00OG9Tbl1+h9bVywLdmmPgPY9/
+hZf/AIwUECCWBnxDn9yZ0WgB/g7hq9/4PtmykOwXU8d1EztaIrGw4uw2RWS9Q0mzZ+tzeHH+GmAo
+SFiEKeozIQDEN8GSuGcBu8FKTZSaUkBYGxHNjJr4PRkUl6T5IEpcc3Pa1ZaFQMBM2Ha5FJHt6jdj
+oDF+yUBGrXgVAxqbubbjMeNfE8yD0hk9iSP3ypJa1oG+RA3MUU2fjnxfttOsJLJ+Jdv+9SlzqUlj
+kmAebHyf+rSdv1bERu9vdF8DZ6BdNCPbQHFtfNFatC6tdavdjVXR+F+drW2wpH3dho7Vje2/xjql
+K6nN8r5rdFqetFnn9FidGE8xiwtyOKaDZ9qEQ+Fe+cEeG9uVtquuSmlma7jHyc9iZUJIoXOkn9AB
+TuHUhvYBxiaIM/t7siCm7GQwlpMQwOyo3VUdEVgDIrK6gWeRCKwRIhIjEIEYzywugdvTGmsJEIg2
+YrUBDFixEIzWXihkSERMhKyfmLr+986SCaYB2CRK/JKN9UioqjiChMavrLrOt6sJ0QygS4oRbcXo
+iKuWGO1FSgZooqvLgj2stZESiYhfUxhpblNMoKkgtG9tozs7zASjTRd/my8CY4iIjIH4/Wq19rQV
+AMaImAbNKiIw2orRgoVhcf05QESgtRVjACusWIgENB1o09FHe9taROt3RpSkQQMLRESi95E06EQy
+VmhXndZTYhKLy+OLVFy4qrA+/leopkyHAyU18UU18UW1WxcZ8lL2ryuNrU5uv7GNlMRVpyaVZ6bV
+1IYLiRxXhGrKLDYGpNANuSU1bnMl2/PWX8J0AEl+qiui9hBMPrqBuCmcBLd+JopxQCjzn9t98QIR
+jxHrKQdSb4+OnNWGXYZlgJTCYqBHbygABLGKASgYclC0PjtLtmbek0YJ9LY6p+/0AkAiHSYBZVWJ
+lkBGff7jsBlgUwABYKl8bNuLIvl8VflKYJiBUgD7WX4b5REUcuSSL9BxgJ8ckCIuoQyj2XWazX4g
+Si8EMIQjllohmg5GjwR/GiNLCtAmEPXHiWSTBGCUQn0xIq1qHL9oxs6AZHUTjrS1A4BhRaFiTUoH
+AZRZBAwK+DuESBdRwPGT+jZQhDRo4Ih3a+Q+JfCfE0+CDhAO7JJYFAn91V0LqFU8B1tF4n9Btair
+S66KabO6sf3XtE/2siGJtXrwhuwBXpKHoGxu7dj4jRm1yn+s9fr2ofz2pcnV8fHNaWb3PP5lWgKL
+9KjfawIECxvFXshZr9Wi30F+r1aGIMjazeZ7IctqzYffrCjNGXrcSRRhA5BRKu/j8XMrWg849iwW
+EkwtD3wJxEwIs+mdA2FV8vWMfLf7MYPw0dM/cMrzfymdVLK5uKxkbA+r8lbEBgI2rGtb97aEabVx
+QYSqu+fs9PgRoAMEJSUJgADhG7LuPaoOyAcgZJwnNr+QaJS/lq5er0x/JT98vd5mjhjjCgmoZkLR
+luLyomuGWqaKSQ9/7+jYHz0i3a2zAGTJ2fLp1zOLW/U9/G8xzTCwcOFqCAZHM90KV66ERLeuZBQm
+vT85T3cfduYQ39mGin4p3VxSUnlTb/z0yTrVaugpsUJCEMAoJzT9x9WVmQceFzML6JVoCUKWVO33
+P+eZ3MNHY8ITX5jAnVcKuGgpyWCxyu+Mwi++nb0pqffos9oZBs0piw0qHTZ1fTMtVc4IBgOm1gyJ
+s3AqPv9yemFq74PPT7UMEZX/9veLiqnPSSfesWjSLjjvEdkO1nYyHWG6s5eC7K3xv62yPdguVne1
+umu9/ZdgOlitOomwl5KhM2AJglYikFTDotlktPGkT9jtE061neE1V7A9j3+pdjUkLiF6GKMsiszW
+pG6k7L4TP0k5J1UYIrKiDBa9WgDi/ldISDg09h506On9tOS1g17q4Ps9kFFV9zxdyqOdySvef+PN
+NO3OHAkAmHEggDfOCAfqHniyEADG/r3kg26H/FD00PGPjQUA3E6Wz/0RTLCCC57zgnP2ATN5eOMM
+s7M9QqC2EJSVdLBC2nlr4aND4+oI+QKBVYUP9jojMu8IFmqK2XfKhQvhaDzx5EeZwtp59RIAwJUw
+fM2jFqQx9yAAuP9ao8go+/Aj+div94zPPnv5vU7buFOJyLJiNqrf1ibLWwvrq6+EjFp61dcYMDx/
+ypQn/3UXADHOHY8DAB6dfeEsuB7w2McdfKWAUXUvPr0IcPQzQ+/LA4aKkJBlvHD/CgC496TMpzMP
++77mgSuUkRVFLP0BEjKq+oGntmBIt9Xjxz9+z3na2TDUQEEs8OVR4ZgnbmRxRLt5Mf6LhvWa8/XX
+L77bzxL4/tur++4XX/v9v++ozN0FBYpYQogQIg3SaLinFnhhBupA/r+t3whByFgimHAEvBIeAPL8
+J70wQxM0WYSasWWQlT2OfwXFtYBTz5ABZbC5JqGBAprt0KHRKB76VLs6bfRuhtEUqRnz1Sk39lJY
+cfqsH46fmGCJhIxacM4cXHxde+Sf/cO3l74D8UbHlk4T9M02iNlfAnknT8ell+UsvWz6c3jlnOe+
+RQ8kjFqb7+h+ncVBZ72kCED7jqeAxXZZaS0y+47aJYVEW4DtxoECy9U3tznfzSghrAUIlu8veznG
+l20JmAHp/v7VA985MHHa6VumjH3agBA4YP06ZTr0JkV1I5PWLyAZnGGI+AgQGbXuvB8xZmwPlF7y
+zsyzvttGyCTBHLDO7hmVwhXme8ok9CIikFWzj9n44BmtgU/OK7+X7jZKCCmj1q9z9T4TTu352qHJ
+C07ZMPe6d6yAxDhTL5uFYy4aHrv2iWeOMiQDfPm78rwPcfyN3Qpu/OhDjL1x6ufowlYwCza5F7GQ
+duadNwc3/KM9zPcXrvtbzaVSO7pylgG4R/ehUBKTXE4eOh2VRUX/+AiH3TMINdf9d+nJ05ItXfhC
+z1eGAai58nketdPeP8LBnVhFJOCGTKzUuW5oJ/wWyAnscfwLqgg3zkENVIYb1ZmMhWIBLFW/D8jf
+W5ndyr9k1PVfqS2dlJGujxxs575yhXaErFp8+Ebc+x9Ym/PIiNB7Vw83+/xAXx2tzAvDAEC2HLUI
+lz8ODL3nUEVdMOzgrDvkX/9aO6IQXQNa0QtYsF+l9PglDXBl8PzDJyXfd2rSrigUCW3IKOQDZNUL
+655LsKkA1hOL5dVPjzzW+GKvMGaBVl195cMEjD7wLf4hFBCF888vGrEKnZIMy5NCty2QxHe6+M2t
+rCo4cgmufARiUh/9ruSXr07UTfxSBDQdgrKTowpcUSshyO4oDFgqP3VjoLa1hRz/88Pq4XO7WlYY
+i837rqS1p573TAAy7Jgn+OfyZIEY5+3za2Me/QeA3k8n3c8S15uIBN6pX+GIjwhJj46vlXaq41/0
+fQBoBtCxrRAZZ9ZRmzPePgQidNjLR3hXjxyQ+508cUUgfOHjLuDaqw/et3rQQ8NjpfyESTj9VUds
+3ANfrV7+xmXqvy+kf9rVikjcvZ8V9pOddWulmvhgo0G7IyRu3vpuqbNj+q5f3yXL24mZw2vKv9vq
+8htd3f1+LoKwaRh/RgSETQPZgQDFfhircV5e43rdrrO7V362av2rTD98dbKwHdxmHX1/OYQs1h+z
+Eef+RxMr06vjEnwzTMSoGTA5uSIkoq5cpDJvM0LolFSGN0cO+A4QyzECDBOQAH17TUUtwyiBiQnJ
+m0dBdjbUHQBI0lNKCRsElkrv7HGmdtpOA0rrYgR0e+1dykTTA2xeA1V16SOi2XAqrK4NWpDlIIBh
+IgSxajLQrn3E4mOl7PgldOjDBqx01oDvaNwJ25RRhZZAUDm+8dn+QcOAdT5a4YYfuDhNxBz1MIem
+dzNEsBzPUBtOfwmeMpwCa6qThI3z7pmWnj5Xg8nwDW+vR5vOwmLVg185zj3wFDI6LsDr5+Z8Aggp
+bykwFFZZtejYze5Lh3iKSPSBIyeE73vHGnX0VRoh1zBBbIzOHZcJbU6bxANeUFqxF9x3FX19acXD
+dEDXkMuAJHUuHISdHErCVeGtErPZQSlc3C1FKV5RcMuWomTamTTfTeXnSN6V7dz863HYkdD5XY7E
+9GyjKUSAbWQLv5TWKbidddJbqWb3psWxPLvC9bg7CAgEIZ7vYHjpGpV8tyEGoNoswTIIfMtMmhCs
+M/1tRx+fph2jqkMkGynsCtjQ4s3KDAQJieEBU1XeqkEQMurN6VceFXZ2rRaUnlpKWAdY59GiZ2ND
+qiMEZaWttTP/9SNG1+t3ZeVGpfs8YMgRVnlATLy/LV65VplB/m6/fBXQN+A7b4uom2Y4zv0QBYjN
+hizbpphWbVgFwi0HhSPqZy69sITtUF+bJd+T8ronCkCxAMLix5CtWU2641NWXCGVBwQSCUYtuBA4
+7VzPIQETxwEDgpaEN93Per8B1hEOVQObyIKELRcsYTsAYlFx8kaceKznAGAjfSfgm4JsI5mdV2Ca
+YQjAN4eeywyzc/84x9wb6zmA2BzIMpqzFmt0ENaQUjU7r0khk5mo/exFhgPlRTu4j7adu4XN/jbU
+uVv49yk+os4IjR8SgiHeLuZFZJ3bLiQGCfz/t/NJsjsC2sIE2PrqGwGcZoRKIbFywRZy3xisnd0r
+F7B0SynDf/oYB6ioBLIhZNSHnwfC57YxCgBTDVBNANcsBgbAOkLysTAOFxKRglrXay0MIgHmw6Z3
+970aqD+UWTxIyFLpNdljrRPxrthJIklMAbCOxCl4ZPhfjKK2EJSUtgbdbO+UiI7A97QwV8VqJeDw
+GqCDa5hEsNBQbG8igtCaPGWGRXzrDU9+zvWO728dAMw1QHXTQgpkSY0ywTO61Z9aXEo26o1FI96s
+y7hHiWJshqANQBDBAu16lyVrR6DMSqBtoiXSF1eouFsskxAsr1+lzBCxyjrjywPhw8UqSMkGkiwB
+gUVkSQ2p/iBRdy1xcIlvmhIgHk7ZwjYiCV1XIL+gnWWjxr1/zkFa8bJ7Hb3foeJurUoB0Zxj/zUi
+ngHdflDGLri1VofF8ZRwalmYdjCgUSgcIlSDw6Hfh1EiAQFAYXIavw6eA8/dDtyBjQ+HSLbH3yRk
+Wdhs39uVTNAJmd90Zne5oSXXCBDcdk8iJMa56SvEvHGs3t1J6Vh6Tpw0cB/AVFZO3kIyEBCqGwvj
+nB6xcplSplSQVSsLSIb50XeLoZ3u9Z4NhxH59uyZkM5Z4ufU600Wc88ERN1S+GHSrkoRpJ02AIq1
+orsr71YGyAE4tLmX+8tnpw2OtjuBpiOccYSwkFHr15EMEX/amAFp21HYV1A7UeYTwh2eS2dFmgJF
+TGlNZ2jfW8NkZ5vIBaN+Fken+d5YSi7rVHBUDhAurfkWOrFLBOJjBnT8cb5uuWglMETEOh/+4nqH
+dTdKCAJZoB30AwiyCEBPgIyaFQ6EDyGjCCSYBUnrQeA1T7HuNIyiDVgER2+CGOrzlVOxvK0F1VyR
+dp9lofsrAzgT1jc5b2ZKQ1th+vrrjiP67T/c/SAgu7ATI2GrQF3SJ7s7qouiKFrdVtC6HSEBLw2R
+gurS2MGVhBIc0WFpnkMlJrUiw1aUN8+CQlKUlBAqSYzZHtqYTYk3aWVVv87AhKDyZWifrAAJgabT
+mUCM8/rdSH37cK2wezfmAuh+/TB14vS5qwEQBggZ55cFZHCGE8lYtQzoDYgsDCnq6y+0CrZVEkig
+P0W4+yER3ZE3B+jjaAcAUZeMLZhLrJ1pTxx74m9PbL9ZTukEQVlx5tLnDzvIsEUOLCNf5ObgbfV9
+IkrPB3pmWyKBLKl0vYG+zIzZQM9Yf/qdAZ3enRgCWLXkR/Jw9Y2RHlkM9NwGC49oOgg9EqJxuqJm
+gNA2WyK+H0ej+tOf58wrBthmdxAChDEXktsZTCKyYrPrDYCwPAvCX0X8dHs8HTq5tz8HQFMWSIQ+
+hkk4VZgAIZoJdMkQq16vCoQPiDG+k4+ijdFonkFgvfAgWOfelc9nGVKFH8HD3U/4VeGlFt0xfP+f
+HdJr175DA+84yuwSpp9T0n1pSlZwmtntWiJ3U9xfiqpTphVlNZaf9aEVK6lzzNTtbMSkTcZGyUzK
+254AnVwqdarSVdLsVRsXU2ADbXTdr6tYJT2mJpJlHACMJUmP3RZ3QDvj/iFtPxymFQztzpgjIbFO
+xcuvzwK6n5H71UzJ6koE+R5Kt0mP6hxGS+YpYMFcmC4d/Wy1Az7mahGP3fdmkzyRaBQA4bwNwAh/
+i0E2q+0WrC1PFn1l3AOCHQzW2y4RqD2A4pKsW8J3CgiSEV9NyMNXP17erX5xFy5YCz80gQSzoeN7
+ERGEN68GRogAPit3aGN92EqZEFImrR467QBOuqCpklxU1UqI/7R/bBYCGKKM8j0vFj79SQHUiP4J
+z5VhYMAwIFy8HBiiDPvGJ+32JeG10ymcONz3oRZF84B2bYUAGgSyYXjKnfuJMvfl+o2papYBw8Uo
+/Q2A0fWuI7Vr4CETROgNg4UQZ8l9+55n2MqUMpLEnKgib6SKu9Kq10+fDCAo4dnHvnVK80ABO0he
+WnVSRu7M6oTdruYlnVGwPLsqPtRQfhYyKX1WrDDpuQtqm2cxqTV285YesdXNo4lJvJQHJcWxzV9G
+WohVuCK+9teLRmnJJSQ10eNqUSazKeKmkHZmnlnb86Me2hFydif+oJBY9eW1S5B2yendFCYAXTOM
+JVoMwlXXNrqTLU0DuiQaBlj+/tTm6reuDWL6vyDPHWJYCGJpSYUy/SNSt1UD5vD69Unq6al3dm+R
+TXw2hGrCS98/eahhIUpLrwY20k3J19dvrEVkWYnrDfb1FTQd0q6jcESrZQb49diyGhisDAGeA1oE
+Zc54vHFNm7SRrPW9NeqvF64CMEREQJbt2IeqMPSyozKw8TFlBosRRSKr8x092EfFpGmQzG5CMqfS
+0TkdfSFWuDTC4aLsUUNmqtdGxWD1BbW47pKoJWzDSrYDYJ2i5QhH3KQhkPUrfKswqH3HtZhNhKu9
+/ypDgsVww0e816js3OGnNz+esjkEOPqyQ9J2BdZI2arYjuVb0v+ACHTSq/pf9u38+Eb6K/Jy0a28
+tqfpNLc5qFlwRZli16uLqWy2ksKhmmAoKdbbjgxCZSwg+1urjHDXNSRliGD7VkCZrmKcrVgFvj/g
+6pNK9n03RzuWCm8/YMxuxE8Rqx76F3DsI7kQk78A6MNQQB4EXSXa3QIhslyywvcXAgnVGMG/p3Zd
++SG6P3Csifpvz4XJzo2MNJEBcMKLehXc0OOqXZaeARDaQkjWv+aM9aO3UlLyCGVfzbutTf3sQIK5
+MIE+/ppbtRzoGTTK12qZ5B7EBJGVBY4eIiJ87opv45AHoJtEW1i2NUOIYIGnTGLPSByQiCwvYs19
+QQSLyjM/g3PbtQFofBNy0B8BQARzYSPIGspbAnRLtqANIPTw538RWb3e0YNEQBahEMyL6wZv+qA6
+67aLrB/YJbTAI7cvkRQXkaS2jeoi1BTP9Ya1swSb1HUt1ubnvPP1VQONEqE8ELrWVwViefX0k92z
+z65Y8vP4b7VTNP5UsysbYFC79UvTdttIbNjkTu68W+OTQg35l2xMx5DuZas5Z3HzG1yTWGEpNnbL
+9tTTJcoml1GMNH9ZNqtYywklv9FARg36VtkNIkIQkQ0ABkdiCQXsY6EatfnEvMPeTdGOWDX9qfgx
+LQom1YjIqLf+pcxf31GesmpVmTLDZM3XR3ayEKTVR7YxIGRlxRa2g/2QOH123VcffvoRsO+Ys1Oi
++yqi6UCXSFg8AX1gMfeUa8s+iDPcAj7ckhlTR3jy67/3NEoI1kmHYPa0Vlds9VgWoqmw7ToJA8Jr
+17EdISJEoGlA+7ZCPisL94VwybsdYrUrALYOymawMwmYCTY5HbbOEXPAOrM7kQB04WeufuoC8ZQ4
+c6DTetD3G04NCk2DzexOBAgXLCcZLgKEAbSNhPsK5sFyfxCJqH8veGf+G999h95jzu4YaUyyPB2S
+1Q0EDyTxaf6aDKLPQThPrIKhXuNV2fq0a3JusZFwNkJqA5xsln99OqKT5yQNH/6vd8+vw8ZdA8Kz
+bezyRPUHgAmIs2VgoDqhOthYElKVa1cvW7xo7rpmd7AEZPRISe9YVdU8swglm8SEtPLtqOBVSZ/E
+qtjsqtCvj1QCHQSLdf4oYayDjtmfmAiKlfKDYSxXjZl39LuJIWijZYWzz26Uny0XXUM2+xmlXQZm
+CKEvnrt0jWSD/P8IZHnBX+eSFczXiOlNILE8YcqYI19YvmBh0aQrUnQ02pdrFwMDEWkhpi5pGqun
+vn3GwS2x/IKQlgbQ1yk3CYFAIp0gWLT8htQG3cx1S4BuCRYQkUVhhQEAQZReAPR3LYFA02BadyWS
+VaHD2UpbRMxABBIpGPNtU/cEYZoNwoBApF4Cmg5CbitLZPiTd4LeaRd44pKy04F2OaHzL4coswjI
+bWUJIrK0ysEACKQVgJjIYBLMgE3rTgRRq18aespdixbPL5x7S0cdmQv9/XHvBMuUFm/hexIKWVrx
+DYcHnSSKiDAYyq55sODRFN981xZS32kiFae9h1m0mRSJ8fQpRxtk7az7BgAQy+qVcXHCRLvymh35
+km5V+/6E2d/XtdKN9FdmS3xI67BUNOuPKERr2mZySVnzY42AQLryAq22MxRt7FIdo7eEf2ukKtm/
+60os8KPLmabAjupgSYQ/eDf+6n6WhazYsyde8JwfIebgR91RaGuyDcDPPNQy2UHEOp9tCoRPTfdc
+AfARdPtc+iW+F40cx8gXIQFZ0RdOvUmEMBu2S1shAeQbcoDUVAAWEIIQxPLKfJIhEbAjkGRnl2D2
+men32RaZgPwIfjKXdNCOEATUHmDp9ne7NUjfcl4eyTDxm2sGvJTuYIjlgrUkQ0QEYFkGZKcLMEUO
+FNDIZ4ANviO+tc4/PzivYVl9e3/RymjwEUEgKrQEwFCxSkheJONcbIlhefE8toM4P/+4oFabIlsN
+geWZ8GJ6g0D9lEUR+Z9iTANyMy3B0o8mCCT09BvTRxgQoTIfO0dJZs9ZEgq7EEBM4OEqFXwiYBhC
+6AMP/511xF8NC4FoBAzyiUhAYtyb3jlu/QaUWQFYeSaFEiKqs50bKXXaFLaKrSZYyG7fAneFAORJ
+I/2VLGQ/lrvZDCQkhPUEq7bDGkLiA201e5lsQl2so+W3FxoTc8XlNKEmKAxDK+eQXMLaMfzJycC3
+09paFlEXfZyorvYYANvCcck58A33YpXP0pZ2xZDXpNbTSLCvJhEdeHuao7snFs/p20pOvEvjk1O1
+JdGOc/3U2wd4LDQT6BUTVgTQWvlwvxFMboIbCDB8Hz7DS+sU97cRVTMZp99CXonHc1rIA8UE0sE6
+60pfXCYgB4DckKB9M5eQWMPLql1vsFgREZoJdM62JNbQyhJlB1khAXvVQCtrgTcS9ocjh2cW4bNr
+xbAYcp744IIjGwZjk1gyzoYNZGiwv+WxZJzNKyEYKpZIlS0R3aa7sBjQnbWB8CA9R48yHq8qdr0h
+YlhEaAbQNteCbe/B0/GLR5agSd06x/X2gXEArKVpDxwTIJUQcGMYlghircpbx3awWGUCJ83kTSt6
+eS6sDXz0Ipv/7mOUEBF1zMnnKbGP+Mp9lv26L8e4+1grMXDf/+9Rp70GzDlCK0Azz5TDdwGVTJye
+moYYS4CoTaRaYDv0q5/zByc5tDXSCQQb+YXmV1hSgJLtqHupwX/NXZZYf6PV+IltSdlzX5qz7ulr
+tAHz3WE58hijBPQ+u7Jx/N8Mibr1WVX5zNYHuqQQSIgBhTUgLB/sRmrREkSOMBafKESBieeBkeaM
+rz5VhXtd+pD78ZdHA8T65nvPuNm6wNIlbLMRAAQmHcVnB4nIiUnPHXxyb+tH94+DyWyjoqChIgPf
+csIjL2wh/08S6fAz4+pWOuq91xbsDTkl+noSUgqfw1IOB0BQaxeQdHIB+CVLzFEKJFYF2ZYqpo9n
+3JRulMm88Z/upOcvAIjxyNUHPt5QWCAhBcYnUDqQygwIFBjjqpVFBgcAUcJUvqmVkIPb31UWHZ3X
+caSKxecQtPWLsWUW0CEWgHVvPtZZ8dr5ABzccTsJXHIBSCvR/76JiVQwpVO/E0dCQErha4CzOQC2
+F7+8PHT7uwFAqe8v8vDIxb5PD0lyt3wnfH0PvwXIxN4xxl16780AMV49t8+rmAb12mWJABzcPTtp
+rOx8IBtJrRf9zZUVuw/IqeE3TSu6b9NOq34IArbbZJv7HaQzvdgLmuC3Cxk1/6DipBdOBvDixV6n
+Ce2ExaorH3O1fHG0gXr3VNduRWZVoeM+NgzQPYtdWvYLSJJGpLl06bAWyXAgliceCCfjhUN50wtj
+j+3yiNv6wkfTZiYI1Z72OVJuOLlV5Q8Pzf7HI6769u3AhBVsE/dPl9s6h4NTDvZ0/Vti/j3WUtWt
+FVu+sET7dzjsDN+AadQ3R7n2p31aiH/FqFvupE5zEiLbL8Pzhoj9/JitquOaW0tLPjeEfn0SH571
+QmDSEpLEw+IOO+OGzeWfh4mGd9n3H5a1c/Odbtyrh0wY0/nnJBAsXfQ8Av86u23tpMcmnPB8WkMR
+SqDvXOlsHm9A0n2Am3x7Kt0/zykbXwuSDkNj3Fvb07UPKjngqS5m7l2f3/7FdPfg3g9d/dANhRWf
+h1h6DIx5cO1jgRlzSWIPSxr5DxF1011IeWRMTOin+3/ILAbiDkq8dHg4uLlvcQO7xXlPxJDcu7L2
+82qW3v0T7milnTlHb8SYK3vRsjceR6eHj4+ouES7lzxre0+Lrc+pxjfeDVx2QWdv2hNf7v9Ge3vY
+98BBD/Z2QsuefCHxjeN+Z0c0wm+nknB0wIn7B8FS6Sx6ovrXS/wrvBkm13quCpG7k58nG1uS0Ez+
+BaOmnrUSfxmN777EkDe7WRaylHfMQpzxkkOWj/+s8WuueUC7Auq8puHJpy7WLRMbafmN/xQAmW4+
+Ln20cMgmYMA73S1brrv5yVogGEKre86Hdo74pv6R5V1o4iOfIkgQiLZQBs9eiJ8OiF6//1q/bJbX
+9Axd/rjZSYDVbUg7T1+C5y6ISuOW84ZuPmi8RF9v1JSR0VuTi8fUJ1x56OT20Z//vk8rQdlxvwCO
+HvBBrmUhAd17fykQDCF27LWN4XOMWt69QQHS8uI3tw816OC8HAlf/bwGOpSXpTx+1st/A/D3Z1b2
+qL+h+qpno7+velgr4afHFiIhK8/LeOLdjwEAPxzAix54FQH2UaxAbK58BPlto4/FbUqAVYuu+QZw
+rEX6367Mrnej0urFC/DVkRG2FBLhZ+4oAIIh4Ppbg7a4Q+0t8z9Bm6QN1Tj47mG/tyMa51+o1inR
+C9syzW5w6RCurWpN//mNqWK7TED6Oz585ayhnb90D3B3cgUmg7Tzm/IvhIwqevS9FQD6nHtZ0G99
+oYrvkg+GkGDqwkb+lObATsIC+nFLooog2xhduV+7FsowJMJbvvolvzij/5k9LS9/rXL0X9iykGUs
+/nR+PnIPPi7JEvBdYYJylcBUJB+qHvq3PeDyvgpWdOWq8W8Y9JsWyP8h3nUcHdLhI9OiJhJcUvpC
+XIuBCBr10wEHf+FGR6EgPHjNT4PqbWuWNo2Pd5Vrwqa64/7fFyQql8OerjsWn8UFlGtCuu6Q1pYh
+VPfCxMK4wy+OsSwkJMJrP5m1wesw6sRW0liBISgdlxRQQhBjTGXHfVH1tROrfNOfrUo9REBY8MWi
+glD70acma+fL8TF/HYItX8e6jmtDpqbNwT+vSVKO8sKm9uBsyyK84b0Za53OhxyfeMmKzITU1I5/
+ifno76W9rh0eFLGmOm/Sy2WctLh1xRdu0HFtyFR3GCUEo/DDuGVFSR1HH5gFw/UbFF5//mH/qmdL
+IRHe9OnUvLq2+5zUDtopOeev5+Djz5fqzD7H7gujfiebNcmfolMB20T1HD2mCApoC/U0AAjXVrSh
+++tDrpu/qWj75iwPrtWO62Fn118AbnP8CzIKtWsLqU3HACz7GX0tY9fiY3eylWhrSHd0IESGdYPz
+TQr16rk458Wt+5I3zzGt5mQ3a1L3v9BCdRLSv/RNayDd0gLbf3vO7LT9t0SHWQRwp3FNf7Ww207F
+2LqnjDRfo2jtbXKo1X+qXnyadEho1MdbDdBTjyinn/ZtmDSWBLT1paZpytkGR81Upb7vxP7uzKlN
++TcFFCDj+dpxgEgoCBsWkISDAnAg5KvOW4aNubaijZNUyZ4hCAeaYWCyCa4WIvjTboOUzOJjBhJJ
+idqJ/a+wA8A0r2YnEWVtbM+eALS/pIKErSUmgVDT6Gj2hTyztaMEO5u0o5nCwP+ytcyANQTFQpHz
+zGKFfcjkiF5PhGpvpTYPqbA/AMXyCTeuUxS9QQDVAHhYdi65dfNlhXNAg+lASPo2FHeFxEQ7j5Rf
+HAGgYKIlYxYiYTHMYuqbHmwtExlh3pbhTL1XHEAKW48hIBaArGWCFWbACIibKUb02w0aVUFErEDd
+Fop9OC3krxEiGDH4B4dJY+sr/FndSH1nNOTXRg3cuDN94xU0KVhL3AK7GJJFlVntHQkFXA9sNIfn
+SFrHANuSqYfEia2b0xcKnut6O4O10ZQEAJxwmAekW1Dt7LptHSvIhqtCQdHisGczqjw2BFEIZ1SH
+iEIuC+kMt+73B60KhzYSJClBN3uZIKREBET1Ik0EcZTQCBi0/gHa9nRL6Z8BYoGQIiFhimrnCcIE
+QXT+rv+8dmaul33TvIAvy7PQxjLKyWiUcSHqqEQtyb6+NYcbjFay0qBTG4HENmquhl54EaWy1M8y
+kZpCmhngjV8JYJtj+A+DQYAoAcl2i0GNGlVAxMLrZyB3sAlE1KUGdfmU3KUefjZaZIiSBp3R8KUN
+GzgSqiek/DkDTOKIgFRLdIMEfyofaiqXx/VYvaEDlbbOoNDs476NsRu7xLQKz9HtZKJ0znO6rFnf
+rn3LWPwBhyVxXwqHYjd7bBWUGLYEsCG2xIaozgRWhhDoYLxwuFQSwghUKdcL17G1YSJlwjvBKMLh
+Zd0MBZZ2TNjO0k3YnTEJv5+iA3kHzF8AYFFApJUAsNbF2HJcEGhOnVY/GbRUKUk1fB/t5M6a6uv7
+mzX9HW/bsfpuvTuiIhBLZdXxniIBRDt093I5PXNbB6Nmi0jNDSRqerVJZXehpnrDoNzaj3LXYaOW
+Ca3WHk0csy67bFXfH0atbL9gn18OSuv4S6gudk31iBbzsWTyutCWstKaPLd6gbLldeyxga12bLUJ
+lQhATmFRTW1xgUMkfUaF23UM7defiBRJWjDgys45rKiyDiNTnMwepbuwc95jScngXEx50HGIiEi5
+m897HRdeaHe3Rf//JpHN2U8KrrYuExGxG7rlFjn4jj0m32BjEqftitUbCIC0SeQ++1qyNe0PSzIE
+sTauXW3QWKQclBNuk9Ri7kXqKD0o2aqY2vVVVVty7NJlKXkJK4OLljob8wJzKR2BapMcn5KSnmEl
+vu6sfWae3n/xZZ1/itO6rNaArGMSwjuBu6VqVKE+xS7kJIkbFLNHrbS7TmRje3wUHr84JstlVM9/
+5sJJgWsfJtq9LrH/V4msGvJp+axJgawgI7T8jYs/wFkvpUhLWdx2jYQXT44DEXRiBlHYxtoc2ZTQ
+Y1OrnjapTUIxUoGYTpIUs2VwgpsZSAtkx1X0rStPik2KbxHxmXQo0bHBIu1ZhLUHFV+oYrZkzc8M
+F3WOKeuRVOrrAGNrLSimVkCfJ+c9r9a/VSck1dnlYkOSsMuF+L9Houxh39048f33A+3SK/OqEXfu
+RcPtH684/79BomyPH6774ocfqF1W3YZS4MTzj2o2g8seQUK9SdvhEupmw7lsPAkMDVl06ebZ/l5/
+b3Cot+iB8DpLS6ivfHLIukGyoKpwoOSXYJ1D2bN6xmXVZQfI00XtXIEgxkQUzgtKAmvBn2fEkJac
+sCeJZXonpUKLfea/2zp9457ZDbtGBLb7/DB5/OKNmzam7tN7xP45v2l22UvbIxK2XT9c8PWCDZs2
+JvfrMXRUVzRU0e1hRFIHcJ1VIaIQwJBaIgmBUEd1VBtJv2BaUGfpACoIga2QmH3r4q1OWp6dLH0r
+VDey7XoENIG9Klc8EIRtICkeNeWGrRuYH0q0JUl1OyUHkElZ+ouhzUs76p14eo8nARkeORIwfniI
+QctnC/3/h4Qt+vYFrI/VZmWPbky2bi0HNIuvOqSIwntrYED9v5Yhx1J+oRWqqoGJibMImow2Rjjd
+inCq1SKitSNwxIhYreKsxFYbKyZQ6wRLE2vJ2p1Kfu52LSHYjvFe4H/d4LuBCMIwVpECxIB/t1/A
+XtpKBCFYo4gZYsC0S7rw3V5a61auodw4748SERw3vE4AcBDwjXGpIpFfUGSdICMVkLAyMTpLWQA5
+MDEGsZAEGwx6MQY7AB2xTW1iMgDo3Qh78z8lgqgICm6LGBb/v6aozRZ/gsa0wS0TB1V/fmRK6A9i
+YCc7NdyY/Ro6nwnXlCl4vlW+hmKi52sQCyAIiFuDmB34CutmVmkJqNiS/6NWlUZGz720q/QnaUxx
+SuP2LTQHU3HqH7QCO6sLcxJ/DbA2pYH73dZyRt3vacf2IgVVbVK3+YioqvWt91pF99L/HVLV0/YJ
+iI0t++mE4O5HgQYApy6lbU3gVz4Vv0uv92Mv3JSNnUPbuMEQteXaPXxC3Ut7aceJQsVdNnjJ3nIa
+tKL77s4K4pMjqaG6XQGtxm8F0BA4HEivrVVNhB8iUFL1H1DFvbSX/ihiqyyzguP9QXKlA0NKNYjL
++z1ZAESIIKSMqkdHaBydEsEtZDHkQ7PwVrAeEPEfgHS9l/bSH0USTJ89wGwwXSomHRX4g+RnAJAA
+wjHaCJGIVTucTVcCjnhW2Yq4yhgG+ak3/AATCBHEEcPCHMXT9zzYGFcApQniyq6nGt1Le2lPIhM7
+mMMOe/EHxv8mzmrLEAOQwKrVsfOLg3EBxHsLY4MB2iFCYMNPs2psWdGKzYspJkCxATeWndggArHs
+xCgRrvICxrGRbA2OqYXDNYZIKoKQYMWuQN3vpb20BxKZ2PDieHcGZfxB7Ot7iTgbl1bOq62etNZd
+PNeG5q2G7BA5+SkpM8IVi8xSkXmrzeyVG2bXbpq+xFn9c/Wm2RVKnKKnNqdWPrU+IARwaVVtOCZe
+hUgC4z6OS/z+/V3cde+lvbTnkU4YJO5+8WGWHWSinScAEfnZJAemdVELc/LrarLKZm2yqck7tDGV
+QKvO60vKWiXEJM0pEqewxwzHmtjKFUUDKqe6VfvrUPfDXjv+y+GDqx0AcMPsCpEFzKnPf5q44GL1
+x+wQ/kcke7qtci+1OBEIJjaTnRZDJPw18vE3AIBrW2WVhwgESDgmJyduh8KbhMJbqk38lmBSKN5p
+00FS0+N6ZM3vtDbMJPE9Eg1T9RD3xb/uX+4AIJtUEp9sRDuAxcXPLb/c0X8QyOYfTwJY6yOC/EE8
+LI3VjtT0uNEN0UwVLSniNdZ6NoUU3jm3qfqUGtvz9//NG/5gsgRAK+hdTQW7Y80jAjgAkclOzlwT
+bL2gdaelFR3Tl2xK26HGINN2XXio08aNyQj2XZqfm5XYKz+mPaUlFc3p2yevbZqFquw1NrZCEQBx
+N9XaoFRxLIisd54o71d9J6Pj7Vd7rsn1Zk/+8SSAVUph+3B7u2VtlgZ5uUB+Yk7/ECQNTpCPn9Y8
+wsnOlUxIpCE4GqHh8c4mAxKgHu9/e4MgWpM9gn2l/A/+ILE4AFi3sxVtRPY34V6szVCEdqgTyWvX
+STxpKzZRZIh4SeGOuR6ZeNupSzi5g9YsUCE37CNGwSkNlLdSwVgGgS3Tr66+AhgoALopmGD0srWK
+Gl9v9uT/gIRElEz7Li/hoGOkmXHlo8i1sCdv04xZ0hg5RwhoBBjlhauL3K7bAG/vZMm2zVZDTd+8
+U3UShgmHSis7xzefD0SI4Hk1xabnHrH+/i9cCZ2IHdYxoFriMEB1OzpfkvaIoEGGEAJp9sJEZEh7
+rD1iEKCEfedz9rqsbpNsI4IVgdSvcJiQhYIJI8aB3VY2EhKrGDXaiXNg4TNrsyf/ByQkwl/ePRnA
+I1c+su1GREjIAaRlB5zl/H/ZGHIVAFN+/OnGGTs/AY5DIFud/pAjwvfPiIXrWKkY9M8L15Vtrqk7
+6pNGkHrRkmErNuaOCjKC2v9sSlDEAFtTF3wo2dy6LMGBAkhMWN+7U1jcYtUzH1RtKqsLTOndbKCL
+wLtuZmVhZajX7D3DC/d/MOIcYRIfGjYqrOx4U0ciG+v/+WEiUQuwf4+QAOyQdXpLg32Bf0fznxKy
+jG/fnrqKuo8+a+g2aAtCIqro3U/nV6Z2GXji/jBKfJRxVfzup/MqU3MHnjjKP/nHNydAYvnKx7Dv
+A288J49e0GubgUdCoZcXDj2nZYtnecI7W48OhSp+qLL+cIQyRDUPbY4cdlj0BgBgaJNlkYTsa7N6
+XxBBjf0dcapWLf9vg8OOMSi4p0G8SuLjO8debJ5YBABtcmU7CePXPwwAGEjm/6wu5TfIUZXtmHen
+JZYgTnlxmkug4NazwgDc8uY2+kKWi694C5nHeZP++9Tl9waaMDCJVW/9Ox8u8vMnPnrMw12NEpBY
+9c61G+AiP/+nx45+qLv530RGCERd+DxOfr3oVatMeNsbLMpP+gGgs0zLpHfxSWHk+97HHzGkzd+7
+xR8Ein2nZvkDVSR82gGJA4iInJeWvDE/EOrz105H2/fLn56t9JAmDSRSd/onQO1VhglCQnXuDvrw
+srT7SKo++Yxh9v97ou4WROon4dB3rzGkzxVpul36zgGWEx7fNOlZ1kNjmserI8n4sOKNH9zw0F1L
+u/1nJscpQOLuzhhO+VVecqOPKBUi4aqNrUPN3G1Rctxk3HFVPMrufOjRNe81HkUCqx69Cqdf0CM0
+75lx6ovZHw+zLLDq8X/i1At7huc985X6ctbHI1ooKdjvrapR7zzPnV8Irq2GPaTnNnKjWOfFH1zW
+085q2c+iUyfs83mdo8+5BQAk7ihg8peu7vYKfLe4wNFHnzNs7anPJAP4K0pm6dSeTbBDjfPeJ44y
+0yK5Tfm7f9z3V8s7pAlB2glA6scwMU/2BiCUcCzQ82URue8w7GyGCRJ1EA5/OYyhW5MmNPls0olI
+/t5zBuzmfNl7MDnQhYVNMlq0/Lh34ooKeWvqCOuUlPUJE6g5M7MAfPlkXHsTDKU8WPjmpzff18ic
+RkZ98y/nhXMAdDjusicDBcdPaW/ZqPHXqOfPA9D+2Cv+G9h0wpQO/xNwAOGaG8n+K0kPu+W7gTcE
+t104SGawCskhLTvihKyhmPR8oEwbpYjEatUJgrrCdFEsINGiq7u+GBdmhbCaDXTK2aZw08nxzKER
+owy9sDpjB4V8ITFG/QI2bXN1JAuDUb+AdUY/LUQ7APDQ/Fs9nl/HNHD7+ueQMweS0XMX0m7/yckB
+MoOODQuiu1YF8loaYkgQRJgCNuw6YQtyA9WVKRvDCcl1zXWscb5+i7JusMLQfPvHNY+e1r/h/Cvs
+XSfPnRNWBKMenjQvsPGm162wvt48d55/8qFJcwKbbnjrf2FUEKMmrkb6cULO2NsIzWYrP+rdOlx6
+fIumsgKBiVKT8glrFBwAxEp1AlBckWUYBCFWd2x5OU4HBAh4C4HBqgmiPMkRT9XhzLOsIohw6ffp
+fXeQLwikmGeC0D/GzydECs5UEHKzdl6rQyBWs2DTem+nGAS4ahbQO2UPxYP+A8iBYOPa1E5KWc+F
+RwFsdkI5dVAtB3EJADQr2K12dkru2sIeMfBmtWZVtjlYFWz2XsbjkMNTtAKUdNrvm/AzzzRYB8Q4
+4+fGlW9pJSSuDlzyD0Mf3N7Jc7+fFVuxOVNIXO1e+ndDH63u/L/oVcKXQL/WwmKVaQYokRhnt5oz
+cnSLAXhvJRtMAbAZkXSNRJUQqi6JfNfw4hdHH2WUEIzKW0syXJpMcIxjf5gy+HAIQcg444pGpe94
+CwqXLIdgRP1OVIUXARi+Syn3hGgq0KXNdidiURWLgeHbka//fyCGqljcuTivaNYqWrJU6qavDhdO
+WVTp5TvAjoUx7EikAyhzk7M8tiSvIHmZclbEbSlWlJQa27xUxMt/AEYKiAhWBoA+KWqUzVy+Q/jq
+I8pgSUj2izFUN1GsfAfvmsNL/ZP7xhkOTdgpYL1foajbqfzaWcYUYAgsEQuz+NchImKN9VM6yZE3
+jJbfFae5Q0RW2gKoqImmqtz0NCyjEAJABHRL+C6ACCKysIqc/v7Phm4WcuANh4uQCFmqux/DpDH/
+Nlv/+ksr15NBvagrtGE5BEPqzRDNPR05IY2K0fBbqnYpMCLakbK1McVa/45VaxmDdqiIDV/e9L76
+TvztZ/cwYnFK0rp2qlifULlZlq9flda+iNtn5G0IteSMRkBqAmq6ZWxK7hmyqOmWXsUq6DQLnCVW
+JoQUOke9/DrAKZzasHsZmyDO7O/Jgpiyk8FYToSNJM7c7/yTbZLBWNaSHCIi1ggRiRESaXoWRkhE
+xGi7YS0wxFpjfcg1ra0YA1jLioVgtKdDIQ0ITJQgIpGfdueHjxDaQVBWJvCVGPcXkgAb/R6wPPnD
+k0Za9h2spsPmdBXRNjqrCMRoT4f9ksFYdds8DLD1JRIR0ZaIYCw1o+0lwRwom9ErIuqKyMIa1sF+
+ftoJERgDIrIG4veraO1pIwDM1mJEn5XoubwVjEHREsBoK0Yjki0QRII5sPH9iKlBEclvUVjToFGj
+DSwQASL3Wfg8a03kWPZsdMtmyCGTumHF6uwyUsU1mVUEaDecXpC/X7hl/UnKiuvil1VnFSwOaolb
+FooPbVzcbdEhzbEYYTqAJB8sl6g9BJOPbqAHFU6CW6/4inFAKIOlZNl6MtYBUNaCpY84hyBEAd5q
+WhYS4zCsRwHHzwmsFFaWIG4/pQAQxDgOAIZYhYo1KR2EGkyLDX6S1B/s9PAhoRwISstyLECGlz/X
+vawQ2Bj1K70pcIdEfA1pGtAjMWrA8hMsNyiZkMJj9yF+f6UiJRIS4ziQMAWcZk3rApoMQufWNppZ
+EdOhbHZXYUT9cWC0oyL+OFvzFlr4X4GNaLmExDiRc2ZemAL9iWirUyoD2kHdKrcbBKApQLuOsrWI
+CEvQgWGCNHI421o9Eu04QAjBSFX8rvVs0AHCfzY8Ywcmvd+6zO6TS7PartZZ8Yvy2yV6m4I5saGW
+3f9WJxf3nZ+Z6xT2q1J9FmTXLs9eOa1PTFUzH2FaAov0qN9rAgQLGw57yFmv1aLfQcKAUGUIgiwh
+OfOVGvQ5uNHJFiu97xzy0VcLN6cPOuKM2MhIE7LklH3y9fQtaX0PPj/JstDcgti3gVazF0N36gYh
+p/b7n/NM7mEHqon//cK4t/679ufCoqLy4nMPN6pkTkwgKGFdlzCUhOYVxQc5VJ3TbVeUbq0BDhfB
+d2O+pfq/VxWyyRcQyKgvfrysp29SE1WyAhjKPOeTNbUZ/cek+dmTJxYUF5UXnfhXw1Q974m32abO
+Xy6kc/oKQBZO7edfTSlI6jXqgta2GX2y8hYAGI5omjbCdBD6xRmO+OMseH/C6qpOQ08+FEJCQnU/
+Fm0pLi/622GY//5yk957TGshIQjIkiNzv1tekjLi+FaTIW26C/s9YCeNX1vbftQxzsLH36tS5zwD
+UnohMNQ17HdG1ddfTd8Q6D7y9P4WoOXr4wKuCZuazp0t6cmIDdq6un7pFo756vPJeXE99rmgs2WI
+qPKPvphX6HU54qK33/y8Swsl1/6DiB5c6wSUtQWZMaEAjA0YsYHaFV1buhKu8kzQhl0nRLBBtbb4
+iJLqNFXQOhz395TG5l2q7bwJcauzLAMwatq+Vvb5uaEt1/KMT1LOyRSCWJ5ygGb73smGeNZHyedk
++Sen7a/ZvnOKbjEPCQE9dVNpq36BaSXo/9Igy0IQsixPPbwa+6TN3oi+7/XQqqjrVg/2/9wbDuDF
++5cDAE7KeDZz2ISqjms+OQEA8Omx4eDVj4AJYjFiilbFvbYwqTCuu2fnC62dCQcymbdP1Q4Mzxh+
+xht9FrneYd8YBqweun5xlu/vZnj6SDI/tj9/ApQBcj/sb5RREw4EALx0bjjw/D/rtm7Pz3rNMFnG
+W/cuwKCcRavR8c2R2+qkLK/pX+noV8+KGO2Eyvvnud7d1xlFQpa3XPcSuncpnwSc8XSCMLTz4t8B
+ABNzz/8GjgbavrOvURCQUXjv8V8AR6Pj0498i798Ygkkwl/cMR0AsP/wB2MOnbY5uLSjdjb0qpLH
+LjcKZBSeeXgFencomIuY62+xFBq4FEywgvuvDQU/PR7kwMOkkVZ9cddU9M5dvhStXjzWkvCb16/v
+PDhJT1saXx1c8XtcPY364MF0EEltdnfmqvAfzvkm0xEVDgsoPVRHtSDUAFRDXVscfqtWiGpBfr6V
+WiSn5hEXN+ejLCiuBZz6CwFlsLkmoYECmu3Qob5QSKBPtavTRguxHTy4/uRn2tUpo1tsIhUIX/Ts
+vvcNc1H098/mHTWlo2UIGbXxvG9wwh29UXHZmwtO+zkWVft63pQQOnfTjBPFqTrnI/z1P90Krv/k
+Q9x+wy9foCO80RtXKps6hBSSRq/OA5DZ5XwI6nK3WJjUHiftwvaLkBEIK2zyl98bYm6RNABFlkFG
+vbrgzjbaEQJEMNei9eLjUp49Km3VmJWrrvyOBAgfuHkZScwIYiofnFQ6laRnB01szgDIcuXFb+LA
+e4YjfPNDa0+endkUYklEFlcqHTM4KhUTVuaR8TVLZGnDkQuvvKwzYfrJG96se5eECDR6yzI2HUpO
+5MePy9hwxtwNl011BSCjll/xDUZeMSqp8NXbj45jO0ysIrHq6kewz52DKx58/Oefz3uktg2yUgWy
+uJLUQF/AWH/BNzj3mt4kMy+ce2vpI1LbO31uNYCuHY8Ei2QXiIecffuRXPFfDH5gNNlH/rPltFnd
+jHPHLenjDidA7r2B+rfbEwIhfgc54sYBTSNEbGyjUw1/+UbiXa6kWECxbm7/W9EoJTgBqGzkhyhk
+LBQLYKn6fUD+3srw1pNCNe8Bcn5Wi/nEklFPPetUdXCNZDw5oarw/qcNgazafPQcXPZfiE169Jui
+uZ+eYTp9icWDSe44HQBseMw4HPs+kPTI9zXooDoer++Tv55cPXQJOmWKwm3YPGINUif0BFzJ+fnC
+V/imSzIYO683JElNLSTkC8iob76/ppt0/BmoqE60QhW3tLncRh2baTKo+tITX0kE+p5xM80vaGcV
+DjssdNBkZHcUB9f+i96eqvQTB/nNrSzVjPkaJ70ZFBu464slBS9f19T3kwTTAMglUU9HUQUgm9ab
+mCDQ5y9U1Z1h7bCbLwh8+OMhhhX+9re6w36mijNGvJsB6X7eZbRsdU/DpJ1f/roJt9zsAJ3HZl9U
+xRgIQKy6/An0+ToJyQ99vZKykunClTcmW2A6JK0nEVm17vBlMc+dBVgMfX942aOjTkj6AF8e4+jD
+Pw0Crj1++KiVHR45IlbseW/ggI/SxPA1n/1c/eTjzue3xL59qLUC5/qPZo6QlrXL73Zi+Hq6emWd
+r6Uzxth6Banl6FVLlshaUo1v3wmyANCc26ogbBrGnxEB4YZIHUSkHIdBIMsvr3G9btdZanDS8Cur
+XK/LDTsMw/ebJFz9CNG818Qqk9PH0CyjACvlJ86hgx41GmzShlgaJyJaZtaxO0CMiOa7xzkJd4ln
+bWamMa9L+48/7wVIEEA/xxDEZO4LrnWhIbBOlTx+Wybvgv4ZRKnJIKwHBOHrUq+zFNVHW34q//ak
+iDwiypsPp/K4DxI9q00CxKsREYgNAugdawli5BfoVj3FioiFiHf219znpaAGe87+Ql9vkzFHiKZB
+EPrp2+/Gjx8/fvz4775ZAKBjthBgefK3yjy/EEJmVMDQFF/fbWMUnKIh4zI8a2w8oKsFZJwpx2zC
+rWNZWzH6wqGwKX2Iyaq3n3DotqSwNaqTNW+Hkp79/iAhohlAjwxLFvlHLsMDZ3lGiMJd/mJxlyaD
+A3I0KoPWQmBjqlO+OCFW02VvqJy30zywtocIxou5H7mHhsFKGenCg/9k5iM4Wx0mZWsyBSHhcG0i
+CQmJ8vKzApqFhHRJQhXiqLa2daBFnCOafYdnG10QIGSaeU7IOgW3s056K9XXy0ROqo23s058K63l
+/J+tWraaDAaCRGwiREBCVt36i6MeZKMAsW0h64kBzILp2gEEq9Y9ynq/vsYRrq4DqsiChA2vWEcy
+UiAEsX3h1C3IhZBRP79//CWe2rUpx8YlAcgnMs6bc+/PCAXbQFBa2k6rzff3OdNEnEmEN6yGbvUs
+jAvL64D4ZCJAqGA5MFJECGxnAZ1a+8s1aeexD13v3iTPAcjmQApCTbW0osqWg+0Fp3vR1UtfvkLZ
+4X7ryAS4pm07kGXXDcPHLRQqXAKd9FJAu7CUB4lLIbK0cUwZ7X+LZkfAkHigc1sh4brbSecea12Q
+rQJCVQHLVllVtRjYR4SEL1nCwy7RDgmB7QDQvPmDtI3tko/lxWkisM49G1/qE2bnnadd79Y2ngMQ
+tQYKq0qmo6Q0FdYQUGkH/dnSrDsg1/MjCMlSFDGChMOer/kXp2p557ndU8Ms4HD34T/JcJq71Avu
+8pe3S0xAPZ40jABOMzKNkFi5YAu5bwz293XRk3xhITmvD916cpeJpG2HNfjbQcYBYx2Qrgwbnvy0
+6/1loHEAMFcBGgRF04Ee8YYh9FVlIHykCFnZWERIFmGwCBbVKET87ak3BIuPBwR1VyQ9bJllV8yP
+ZKgNgDLPtZU3tr3IMtoAbIogfE/pqzERGUZEFlUEwpe01o6AaB6QlSFEIrS0SJlBIEC4YBUwDJGE
+nWrlHcobcaR1ARBXA9YLbhO6tDqPLE4bXX+muAiCoSJCIPRHXfx9SVYxSqtdL1sEJELLCx19Tq5f
+jLlAWlshq67e4Njb2LIQLG9ZDAyDZaumLnX0oQFDwpV5QHwiGCwia1axHQSx6o3PXO8ythENdgBu
+eM5AGLfbRC5bnSZsnLkPHXSuVrzlWvZyzxSHAKIawOr8MBccdf0ByQyYNof1+HNpnwGHw8WZ1iWP
+lDs/O9XzMXyEvRpy2RKEq21maWspSzIkQtWluVwmXWpLdmORXG5oejYCBLfdFAqJcW76CjFvHKtV
+A/Y1zi1fIPj6X3Y2sXhzxJI5fny3gwBbXb5kAzBQBES3hV06J2rlymeKhyXetBIY4YcjL4KgLwiC
+WaFA+GiKbD5nwXTu7KeFpdz4aswhkHYemvtIp12dcYTQHoLy8nR+esMriYbRBpaxEc6KZ0YfE11+
+STADOniSJSGrSlYC/R2jQILZMK16EJGILN3iesN9vYcI31MWMGdzxAlqA1NMzDbsiznW0Wm5JrJ7
+NGpKKWu3PxEBjOO/X3ZwN8Arq/4cRvX1AX4wE6LG+MWoXQb0jbHCk9939LADrBKCiCzb7HqDIRBZ
+BEZfEYgsXu/oQwOGCRDMEYnrR+CyG+ClHuJ7mxNQDEIhgaQ/lLdsqAjM5eoJkNB/NwTCp8VGSpnP
+CMa3JtDUv2QP77ffyLin3D0DiOd3kEPhjVmUV5VrVmWQLnDcBEsQCheTtLaAkN2QFOvFVW4c4AhA
+BYnD1c/e4VuKd1uBCEHly9A+WQESAtu410GM8/rdSH37cK1Qr2ET47x1F1LeOlKrlkPBEpDOzcWc
+idPmLAPAdijIqoUT4eGqG/xy0iKgByzRoiJlhkaNL4bbAAJ6HzrzlMjgoilAt2TDAFg6tF6FVZ6j
+1erbh16yy/I+CbUFUFqStvne/qcZtpIWW0vYJHxL3V31WxIhmgqb240IEFmZ7+jhIkJCNAXo1MYS
+SDALvuuUAMKbPoOHe5/yNRbOYotcp0lol68SQ4e2UbuB8CxwxHtDSPRBB+mvf541txAg29r/NGgq
+TLv+fjHWrVRmmFiiJ01QjyHjAD6Ha3cARVEh2gKw6kMgcL5E+mUq0KazCH2w3vWGZfkaDwGtBPnY
+gX0gWCRknOcn3dbTMGreIYMXPzEEQJwVFu0Dnca865Ap+Phj9Lj5dLuHAOHtODmgQHBjZcoaSskq
+Wd4jXgRCpFt3/aUV+bDN7YvCrTdKj8L2GiStO+Vxe5u3cTdWUtJjalBXr3E2liR9W09p0s64f0jb
+D4dpBUNRo6N2vrnA5nwwosHJXS8PiXFCr706WdD5lK6//Ghj+hFEvg87OqN11OQ3GqkXQ1nMgU33
+1zDqCzYamt0fv2P7aKZRAISLlwPDI/5LNjZ3FfIK24L+Wf3fgGkBf8/WEKoq6nZP6VsBQ4TUtHxg
+vUx956SR0eUXosqXA/2DRvnLJrMvzXPN4ojMLERTIDm5wgKCcaYUKZPYLhLPIvuq+P80DTEVpecD
+GM4Rlb8QTQWjV6IlCIk4q575aDUw7C+tXi5Adz8qQtUtAfokWiIRzAs7GAhxSiYi7O7vz7wCmgrJ
+6iEMov4QhEmLu/YVpW8e4s8fyswHhgQNyydgHBqNYlBmBSzaCghdEqqxkIQLru9+rSWr5q4gE+yk
+I1UZ6gYut+a/FeMABOAtPaPsEvNnAyV3gOqyOl+ysuwBAAnLwZXrrBAAm5SX4GxJqlvV2wCQrI7f
+yiiaVhC72wpElJZcQlITPa4WZTLdJtoyIe3MPLO250c9tCPkRHVXxpl9Rk2Pj3o2ONkCBRKrJl49
+G/EXndXbwclAt3bWEi0G42/3NSoUC02HdMsSAlhOeXi5eu3+IBZd4uHu03z+EVm6me2wqGggg751
+StbkOB9+cflw3RLqtmwIm6rCZw46wrAQpSTlEzbwjVHPSQAQWbFemX1EhAg0BTqnOxFg1do1bH2Z
+mWsWA73iDYM8B7IQyhzzVuOaNv6s8MaVEAyTqGOpqlgOwT5ilZAQPXJXMfpcdlwbVD9NMlI0K7Iq
+bwXbEWIVCJgKndKXIAvzlcnqCd9Z1qlbAvRLsCRsRxz2rXrrxBgUXFiCC26NNCZvXkwyTKxbuRwa
+vSOjQHjLQoSDA4iIWnWbjYUhh/9T/HacUVoWQ+mRPzQqO7f66v33f9kUBhx9zRGd/mTmIzg2JnlV
+VnJ5rllNrePKyoIJIm5IvoqEnpBwtq1inZgQMCRCm9d14g22c3XR7iuRcNc1JGWIyEgVUKarGMfH
+U4vcQsZZfVLJvu/maMdS4e0HjDEKQkatOal4n/faasfS5tv3O7VFAvgFVr34D4PRT/YCTMVkoGcQ
+DKyFoKdEPyEQIuG6OUA/pR2QoLYO5oHFfde9azvcc5phEkAE8wwl9Y4oOQW9wVi0b+nl2XfsGNDF
+rxMhUxmF4rGhuwUE8QMKa37+8dKe9cK5COYZhwaCCKK8eUDXdEsQkQUhDvQjIli1Zi3bkSJW/fPn
+b1phLYBeDWq6zc5ERBaX1W93AYisXhfx3iAr5u+vA/++JR5Gvi9xvUEIAAJZUOfYQX6HYw7QKUcI
+60DomOgPPcvrl0e8N6x4tTAfj9q3+KPS5Jv+5QdviciSUqaBgJQVwMS28z9OhmaWO7pvL2GYQKfZ
+KFrT4+s3zj7UsAitA6PnVhOvCOVPPCnm5JOrlv/03Zfaqfvm4j9bUh9HuBc0tfWcfkYkW8SCqr8I
+VP3VlYg9JlhXmb02PskjASgvrr8zTY9O2LL7SmTUoG+V3SDi6zA2ABgMAsSSgH0scqM2n5h32Lsp
+2hGrpj8VP8YqIau2nLT2kPdStRKrZj4ZPLVFokLJqM//zjj841hNolZvIRkuG744uJuGIKP+LgaE
+jFqVT7Kv+F4u5238fNxHX36JIWPOzjLsq/WJpkG6ZEc0SYTujsYcvmnjh8ktYe0iSU0uEbz840nD
+DQuRoWwI1lyccqOt12sTaCp0m+4+KOiGNSQjxDogYBpsu1xhn5VdOxiiat9yk42yQNOaNkVnx3Sw
+bRN1HRbBHKNMSm9iCNSlr7veQ1fDU9aZAy++N/206pQ4y9Ogk/sQE4S3LAOGswGFQOjoL+ICzAv5
+HC6ixv78St4rv/yCrhef1SOySSXBDNj0XkTw6oCUbEQeo0/AuIC0Isv9PnSq1nW7NP1+f29sQUhv
+iJMtt7zSt1/YSRg06Movz6xE4Z/M+gs4QEgIQlJHgAUAVZKhRsTo6AJogh3Ku6gwCSCOXplP1fi4
+OqVF4iSbDz+ig+61WOerpBjroGP2JyaIr6cSCFmuGjPv6DcSQ0pD8wpnH5CQRfUpc458MymkDDSv
+cEa2jPwsXHEVKOP5WK1IY4bn6EF47aZPumYCYB+rnAyvvP6qfYzIglpFA0AEqyZ/c/wxx9yVL63T
+GDqCqSzszQT6utqfWIg6ZRYgf9bTfznRtEguBEpNLREaH+eLywK0h2CZjG3TwMKm9Gwgt5W/5i4u
+d70hvrkf04Ge8YZBoGnw0noQsKb4rECIW8PHJCUIWZRcetpxTTzbItvdnkmR8wSaDDbt2wmRUd8/
+63rHXq3ZFaZJQHZnc8myvwpjFtC+XUTPvMn1hoiQpAGIi7zT8gzopL7EZDn/8a7n4OoNocx0F5G5
+MBJG1TVLmBLSNyMY7wdKWd7wEYd7nmkVCaMfCOsfW/1SllFCJFkQqPqq1F1w8HlTuZgUibU4+sSX
+0ObP5r4BJ5JCpWF3dOiGsLf1rDitrLgAIMEuViQVJtlK9PquVLhZ/Csl+3ddiQVEAoBpCuyoDpZE
++IN346/uZ1nIij174gXP+RF4Dn7UHYXICs798fwXGp1sgfYR44xbFQif1M5zRUDvQWf1oCnBATTs
+HcZGERKQFVz44zUAMAumS0eQQORrigVSUgBY8dF5IZbXbfChCXxjks3IKcDi05MfbJlwfpKERBDk
+7764TKBsgNDhiq0AnmI5fw0wXKwjEMyAju8LIhHavAoYKT767zwgJ1uAKXKYgIZCUODDK4lxr3r3
+5IZlFRIIVyyH+E8TBGBvPoChbFmAZwG63IJhadU0toOCBasOSNSqeFn0DsEsaKc/CNQ76KHUzxdh
+iX6KcLh1fqqLB+K7A7AiNoqkVr0EGCGWbVrXLeKFXAggOvBoqcNPxBkGEXqwxvMLRp1jWAhEQ2BQ
+QBSpyu1vjt6y0pZZAViFTSIF96UW2Mb8oeSQlEt9spJoJ1NUEx85sVX70bJRhcHmXmdirricJtQE
+hWFo5RySS1g7hj85Gfh2WlvLIuqijxPV1R4DYFs4LjkHJKIu+SDRuSYcOfllYk7LrL8kU0gwSkNE
+Bz6aoEyPtKrJPbLl2JtC+Px8bUm044z98YYRmkBTgV4JmglEa2XcS/spcuMDgQBgiSDW8JIKJYOi
+TpJkpf8MXoP7u7SQs4lVmWCd/p96cbkNQPa6lAiWrpBYQ8tKXW+EWBERmgbp3MGSWOOs2qTMECsA
+lJQDqaxBr8UeCCUH5hTgq9tgWAy5L7x+9kl2q5JWSCwZZ8NaMhgqlgliyaqSFRDsIwakqhfAy+gl
+JFbU7ZWB8FA9t+4Q4/HqfEePEMMi1pkGyeluwbbL8J8wI6QsQZNz91TX24e1A8hqWnjXCQFWCQE3
+JtqYVm1YyXaoGLbOyb/wlpUDPBfWBL58gvUjB0Vc8nI6reLpwf/6+aBYBvdbgPF1rlZi4H527yF/
+/0Bj3olaAVqpaXJInz+b+goO1fUORJfBpnkOGpwQ46to/HmYt1ZzZ4BBoz/0guYuK3vuS3PWPX2N
+NmC+OyxHHmOUgN5nVzaO/5shUbc+qyqf2fpAlxQSUWOfVpXPNjiZ2kJTDbEob6kjRIFJZ4oyae7n
+pde74S5X3u1++cnxALEZe8fJd1oHWDGPbQ65gMCkoOz8IBGpmPTcQSf3tQAphS9gMtpGt+Ui6Asn
+POzyFnL1JJEOYFyZXT8dtAF7/c7Z6rpBSuEzCNpxAAS1fhZJhyAgSuEL2LgOSgFiKci2mom+/Ona
+bOOY1JsvCsx48lKAGP+9Yr+nGuaUICEFxqfa0SqDAwCgwBhXyoJMDvgCLVUV5lhSuPs1ZdHJeQXH
+qVh8DkJ7vxglk4F2iQCsuvEntfbliwA4uPdGEsSRC0DSxNw0VoFVILVjvxP2g4CUwjit0I4DUPZv
+zy3Wd34YAJSaeH4ID1ypFQggm5i7yglf2y/CzSZ4+/HumrvuAIjx5pnd38AvUG9dnQzAwQNT4++S
+P5v7FeiBvCsTfjtbqASTG4rZNRUtIO4Je4+08prG/0LIqPkHFSe9cDKAFy/2Ok1oJyxWXfmYq+WL
+ow3Uu6e6VurXABU67mMD9f6YxieP/sy0hCwklieNtk7aC4erjS/delTPh9zMfzyRMCtJED7jYyTd
+MCaz8seHZv39sSCPfyswcTnbhFHp9rbccHDaQWFd/5bAv++wVH1redEXhmi/joee6Wtztfr+cMdM
+2K+lXLW1M/Y2aj83KRL+YXjhYGM/Pn6r6rjmtpKSLzShT7+Eh+c8H5i8iCThsPhDzr6hsOLzENGw
+riMvsqydsbe5sa8cNnFM+0kpIFi+9Gm415zbtvaXx3847oVWDeH0BfquFU7Rtxok3Qa6Sben48G5
+qvzbWpC0Hxrj3tqBrr9XyX7PdDXz7v507Lip7oH9H/jnozdurPq8jqX7oOADGx4JzphDEnNY8oiL
+RdRtY5H88KkxoZ8f+C6zGIg9KOmSEeFgUZ8tDWJdznkyluT+ZaHPq1h6DYi/I1M7848swElX91LL
+3nwUHR88KbJHFu1c+YT0mB6HiDxp1a23A5f8o7M3/cnP932joxz5DTD6oT5OaPlTz8W/fsLv7Ig9
+IP6XHsj7e/xv8i952XXrQqXJKeVlySnlpWkj1+mWULfo55vhXwgZNfWslfjLaHz3JYa82c2ykKW8
+YxbijJccsnz8Z43fc80DmvmkjxufvPJh7bZIG1l+69/5QKvgBlzyWOHgQqD/Oz0sWw7d/EQtEAyh
+1T3nQztHfFP/yPIuNPHRTxAkCETb/8fedcdXUWz/75nZW9ILCaGm0XvvvQmiWLA/e0ef3adYULFj
+wYJd8SkqFuwVkd57JxB6T0jv5d7dmfP7Y+9NIUERwiP8zPfjYHbv7uzZ2Tkz58w5cw6kwru3YtEg
+/+8vPGjv0tdif+vSO6fUWLZYy3hvHN67xT/9anGwR9qQOeyvXskVffyXhmVe/q3/75cvjfX/+cCL
+lmTknrcUMKzOXzfXgolBL7yYDbg8cD/5YOV0NkruaFWBgMgDQemxFUPyH2jC5v3vWUBcXm7469d8
+fD2Am97d1bqsCxTdWyYz3fOqJbV8d2IaghvsN6PemGF/0XmDRNJLn7BT2FGsQELd/RpSGvtvCzgS
+Ai233jcLkKxR74a7G/uXuGDJj27Eb2dXsJ6J955KAVwe4OEnXDo7vuixLd+jYeihIgx9rtff/RC1
+g39vCfrrRNpmbPKi9I2t229Lat0+eVPnpw6bJ08rC/O96vgXTEpmvjZjJ4D2193h8kV9ofw5YcPA
+xFixpZI/pRqSwHT0SWtIYs3IQgwWmb8uPZwV1emqNkw7PikYfL7QgokJW3/cdBjNh54XqgmYkx4k
+HZKh8iKGy5fH68F3dJDQbBXsnv2ZQsdVjsPzghyGYXks79mRPj8H4LbcqYF/I+PUn0PJhYOH/+zw
+90KGt+u+RV3LzGiajswOckiH8qqi+AFzUkOkQ3hNyzOGfwp0SofyWCUjGmgBptIPFqUFjhrntt+T
+Wez7Ye0hM37ghdFcOaQ1I2dmqFMygZVSBfH9UDjTEeBzX9aFkcMYhC0/J6V4YgdfHmYZv84OuKg7
+Mn4PcBgO7VHFDYct3hsqDWl6Vcnwhlowi0MzVu8zEoddGHLb7vpBEZFx57u/vTmn7YM9XcxaFR1Y
+/HGuCN0Wk/+Lw2U4tEcVxQ1kgpKYN3N7Vkj84KH1oXxJRcEsDt448v4ytmRiFkd+WHmgtEnfsU1h
+GdnXXHoNvv9pu1W//Zh+UPJvru+cOfzrjd/wY4iC7UOhXHdl1gCtx+ZfkJIo2ZdGDeOdvvBqTFrg
+mAl1TyGYyqML+zuCr1tXOH8UUR/dgBs+KG+hT67XMesaUnWVoyYTXjCZyzpGVIy2sAkddfWmqWM/
+025q/3se3QJ/TmzVoRjlOqWv+Y7K9nGsxrb8ytCiEd4h30aUXbP07AK5uHfFpRnfcrX/KUdnj61w
+VM2rlH071uLvrubUAv71abXM+PMs5jJ3c48OSRvadUra0L79rtIqlNYkZxGz1DqgTRsAlvRFjWCh
+NQliMKmjlG8hGNWdrKH1Z9hP1loIQCuCFEy+80KwZiHgI8B24KOix6npK8Jrty1rccGjhxyG/wIu
+T7FrW7NrsOHgGFRhOGDijhXFXTu/r50akqRNDgOQUH7KhGAiFqyEYFXW9BBaCyLFQlRlOFVupbAz
+p5QbK0CCAdJaEDQLAVgAiWrI8D+7QqNKYmbNEI97A1+P8NjKEDP6dV5s2I3pq0LYfU+xJN/HqBQu
+pmIDV/6YTAwtYJH0RaQ9w2xHgN/4q4VLQHv1sfu8Dm0rNqMDNqMDNrvchUf9zEQ1mO2AwCTtYOdl
+Ig1B2E4EqCbEDB3jZM0QAxIMJklMbGcjt7cCsiAw/ON3GQGWsfwQBoeaTp8XPouUXGoaWclD0vdO
+TDXJvrY1R1ToraS5QqiM8qCtlehFJRcA8i0qc3kib/tNwdV08MpVAqhyDPtmCBDAhp1c9hhkUKVG
+ZRAJFntWoF0H5fIlnFUoOkSRzUFH74BiyWBUIx5UamCyA7owSXvMgCA2mEE1nE/9fwYBAOyi7StW
+bCeXPpYbAamwtnKz7iA26w5ii3YzaUuzpVkprVgr1l4oXXPB64mIhJSCakk8BDuNBFXOc0++01Wg
+gVQiyxdF3KDHC3mcUd34RqjRgOEEkpVSvUHIE2lAKnvfyidOjNIKNx/H+5Y3KhERMbSmbI8wGczQ
+ppTP7uVrIxQd6z6qcvLoB1aihqq/8YyBAMCu/R/OnT597of73MeaRFnmbVU2927W7UWpYFe40whz
+UWhoYJhwh4Xn/BwcEHCGjmE1DMG9G2LBu4ZBdliuw1d8jXuu0acnH/GZDqHjevHeR8khiIiko/DB
+5zHmsTPOzeKUQQAw0n8c7QgOMkb/lOY4VicT+Vt1B7GZ7VIKY9fHuw59lqy+/3bpZyVJn82BKvp1
+Wc0n9TkTIXTkm4Z521W/52tw4Yrxnb4MfupVXUsEiTMNxI7Xo/Xk0V9nWkDp5he6vIRbvgg8QyfL
+UwAD0IGL+3Z6TSH5wfTF/8o7htODrf+2VxtkB2x2uQuMlWZM2sHdV+zovrbVhsPR2aXh3243G8XW
+bNaGMxMs1Ng/JiybPt0VG5F3oARht9zW+cwL7FBLwFJ3nTf+j5kzRWx08aE8yMtvHgpdQ2uT/w9g
+AOTpNLtjQgo1SFs9/Fj8RyqsbcrGdt33r47rnLSpi5u9g3/9Q8XvyY9rl9F2fZBkXSLbdoyq2aSj
+ZypI6iFLFs5NPpJ6JHJgh94D6v+l2eVvg0lpCPwjitn+15WztqYcPhjZuXXPwYnwGDBPJz1GbRqK
+DYA8LXM+DLQQNLVHy5JjKBYs87aGdLR2twnftoXbi1LBB8J7WRt6NxCypaPj8pQO7fclztvapE5+
+hu0gruTgwYCyV1cVajofOsjO+vVPKb16VXh31+mmpxaxr52rvaRX4tbGCGgXXXJMwUTkb+3RIWlR
+ateADe077CoV3n6GB620J8bs4A3OaR5Z2Mm8GEX/3DzoFUFgwZoFSYAVxN/2C/hraLF0dnSvzBVR
+vauWen2ylh+rRPbNXlZdieiXs/RYJbx/7pJjlbABeYuPVUIH5i+qroQMyl8UMqhgYXUleHDBwuDB
+hQuOKvMChxYvDB5cMDdoaPGCoCFF86srgUOL5x2rBAwrnhcwrGTusYp7eOmcYxXXiNI5rhGe2XYp
+Xn1vbZLebf8rdjgZ5DWPOU94E9b+EKJBxAxo1z2ZXmjJDMHEpAO8SjBp/D0p8Zj+V/8fUB6j4lRI
+W6xlz9UI8GgEeNWpKaZ16opl/u3iVnb5y2uV95SWQMuRK/3Dca3xvxKWaVvL8ef6b6ekTe06JW3q
+4mb43FUIxLKUJAtfYIM6ALBdEcr+PBUINEQpDP6nFI+vHMe1OKWFb5a1yXrlzxdH7PcrqhYs8pND
+O3MSOnMSdTJKK15IOAUCYh3+FIzzFkqGBdSV/2kxLFWr1njKhpK/ME8amatymxSuzGtStDKvSVFJ
+LRqB6lCH/x0Ufq1Ve/wNgJn/akghlHa4IzqsWf+w8Gb9wsJaBxeyPq7q/xR/+dg6HAuEH864UGt1
+OAUwAJfrrzfjOwpjLlRKSl8pEu4aeHadR1IdzjQIdQ7VLv1X73T/9VzKDqedFcQuqqQmnk1WTUTx
++EeCccHiurarAwzSOx1/KYmxc+/yovK412gyxKiJeKfqrwMH1KEOtQkav75Zi6ZfGCCn8y95UUXM
+yBpt+cOgkfedASE1MHWSddJV/FNRp//WAYBv/eov3aaYSs97rsLxt1YN9B6u87asw5mG2qf/Hh8o
+3zRNBclOB1NRnd7652BiX9ilU9RQdfpvHQCU2X+ZmflPw2cIh8PtDgwJC3Q4HJWZnn2GID6O8BuM
+v3pOpYtP4PdaMKczQ2kSgvT/ckM0ifKo+kIQRPlOUPuvclP/KXn6sX874TjcZPv4HaNqIQ1DQBjG
+/zJnr6599l/44gGx+vNIiEQmitwq4CjupUr/+cIBHqseYmISFZetqu/gDGhmkKjeKYwBaI3KvzMq
+3HQaHcLsIIfejNKmTubqif9zZ7fjQDX6b0VruvaVCocVTjAAEKEGTPjVPv1onPBzmMEI8Bzjfg0A
+QtfkW5xMA5yexxoAwA6VZsGIMqw/Y2AGw0lQPpb3hzBmQyvfvgahCQx2KCa2A5XZlxLY3vpAYC1N
+M6g8BUe1NmAGtLBXyzSqccpmYmVICQCa/b/bJ+0LrNMYjoxJC7li2nfprmYPXa2rcimTkgQtavqD
+t40u1Wnayi81RFAr5wbdzZuV5iwptgR0t5w9xKHd13pZaWm5jQISkOhw5NDR4sGJigvETVtsZGGW
+eskh2GKFGE+RQyklXE6pWh06fGLVxrbbIkgHPDLjV1GVS0X/JqExen1Jx+D64U/v+F8JOsfUf0+T
+M4MBgB1Z+8N2oMXhuHp/qtgaLot8mQjBhmGRZWgDdKjR9iZRxS6Zvbu70toJSolwmA4DXgeZUkkt
+hVJOtpicZKmwtTEpISHlX8OsxhHEnsA2bzyAxF4JUPLoWYxJC6Ng+dbC4LiucfCFtmDSwijcsDUt
+uFGHNgafthANTFoUPPCB7nTO9K3XxA2okoOYSUvsC6l3cuQdrf8S15sXg4LOe4TQXnRfjN923YXh
+yUIoaBi/uOIK8ELXXpBaeNHks7GHNFk4WHURkt3ROYXldR4/PfRDQkMPBBgeCPe/J3P/n0xTMOuS
+Erdn3Jq35F+n6KlSJYfv+P5aiNKEa36vOgpK9eQEANf/8u1YgB8/mbasCTDU6ZH4DIBl/oFrfgmA
+ce0nzuA/s8gSLC+VutwAWB453ICjjwSklTbbdsixPatJsq5P2XsaRWz1Jm4TA4Ky9htxe6zmGWF5
+oRm50dFbAxqT2umNM9bkGPt7lc2opJcMqRpKmljLlRN/BwB52aNt1VGR35i0KJ4ydTcABA+/a4i2
+pXItCt58IxUAnN3vuoxOFwOTRvqlCzH++ceV27tkAFf9XWy4Z03IO+creSLVHxNhu1LiQsasObzP
+1SLo6l2ZP7RcFzHEm7oLSIh2HFpaIrSZdc76FKiokLazPMFhhwFX2tGkcYeeqzIGJmX52jki73hl
+Uw5ISWvsDtzkBbfMzgzfp931QgvCMgB2BeaEHpx3YiK09ce3RugR6utZVvV+RvJiV7Ngq11Dy+tY
+tfd/Jr4ew/7LrtWhcaX/IxoqQgBw7h7ZJrmoaFurUbscf+6TTER2yG+IA2Zkdkq6PhK2LyqOIvJS
+UkMl6bwthelh++ol7t22OyqjWO8+lMF5B/NDDyUf2Jbv8qTE7NkZZrijAyt8DXd1CqKWHw78Pfa1
+dSsmhX8+6BepKs0ETFrsP+vh3ec8dP9QFP4w9CHBNvvuGvKIedtHMz+9wLvs8ovycHpiCTAD1y/E
+g5MK3lJe3amqVKUpa+zCkiPP4qQE6KP1X8aegd175ry25PPW69cuW9Ou/wcP9GrTfNHCOHyYNHh9
+33ssjbsup/kDMf7xoD8eyy51OyCPTg9FHH35jM2l6hx7wch4fFzL46anZMyFae6FPYHbbsunlK9R
+Oq3QQn2Q+3JCyTPbToS9GIXnfdtkXVc+68j+qvdrTB/c+xfXp9MfgstYU2MZaE4Y7KwJj6a/DwOA
+2WRpu/gUNMxa0sT6MzGe7VD5dm67ZslbO8zp4AxpuM2pdKN9zubJLXh/RHZpeMOcADMGBUZgbl5M
+kfNITpRwGYhpFFQonAwIS7gCyoQpFv1cRw+tTEp+dxPa/RoH9Boz6uBlc/pUnqo08i5d1X9yTwCz
+bkrFCwVvKUGaMs/f+sj4UABX3fCx4zv1LfHpkGhIyQ9+E62etNx9f9W3jqqiKrE2ftnrYjOsxqOw
+aOzeFSVCWraBZ46XiLU187LoMPQKWFps50LP/+XfwQ9fMqAIpMAWojxHScjEZ20uCCgxGgOAVNdc
+0un84gPHLUR7PFS4Hbj4Ga9gYniA4EJwy9JsYZ7wKxlW14Ze9F+OatRfCO3oAKzZJxUt/9996WPo
+v8LbXuSfjkFEAGTVd74ZKkTYm876f2nYLfucuQGxnsB6MobrN8qMFNFGTlxkTFOKDYnmmEa5jtC4
+5MyYeoENmhSFN5UbHG1lmsrVnqyElpmRofUrfAzeVTXknRZpd0K8HedRytP2RRTfWkyVpAIWT6wa
+/FNPbVl65JcONt7+VCrW9P7WwMNpyqu8PCHA6/jxG3FanDNZeKeQvtXNzi9+XP6urG44dMDj5ftO
+jn8ZF1Tps5IyiQMK8tgIsxf9MtkIwn6Osad6Qd1zsh4ZWyTBEKFANV7vVihKnDfMsw8u+VhLlF0A
+AIAASURBVFy3yjv+iVNi+K4MNJLr4U9PHpNFiE89ueYclpHUOHHOMdgzrp3iWX1Jlm457VZDNg5n
+npYJWAAgb3xsaVxcaWy8+VfDLZUprvFdojMSXY5GRsOQzvGOqKiOzQMaRHRuHtjQaBjUXZgyvGNw
+i471Ajq3c7jim4mOHV0NjbZdQ92d2wc15LJeTZxcDf/SWynoO0A5hXCqsS2weXplg5PcPzXw5Qgv
+SUneftdoQc+USJb8K3mnXWkawoHEBIC+OC3uXaxp5TZ2j2TJIef15qo0kOTzbozq991orvEFaOY0
+QqA3H9Jp26hSUZyFDAr2//6fTyZ+uE8qEBoVMqLTjur1Gr+Jhh0f+XElaUAF1/82pDDv7zy/3xKg
+bW6u/1O5FQPxO0/GSmXJ/mt5CNZWy56EPi5Sa/ow7dtRo6awP8Ux7L9sHEw7bfwLMoObJyQ0Dzb/
+IosEkT/lFcj0lMY3tthiS5earJTHqy1V6tEWW7oUOqRTI+UpVbq0VCe2dyuPh01nw0KtS0u1VT6d
+MnWp6nxtFHwKDPWlqXMOAqapCn2dNX9bZF3xtpMBEvoyYWLHCmLCEWLHthzBYN0I4GzU7PrQcYJ5
+oULLBBCxpSql1/PtsiYET9275EItTsrgUJ3/MyENCCzNI3bbn/F8mroDRxBkf2g92ku9niQNAIEa
+hrPqknDBu7kFb34HBgS6btjR7uDf0CuVq+UCoP9K3y2EmFLmoIAjJ/WS9VvMwfCc5GOwZ38We9L6
+Ea87/WGLyWze+LRQ4Wtt5bUsr/qrGUsrS1n+pFYkTMvOHSOIiITw/0MkQNpj2XlmBHk9mkiA2BIg
+IahiDiFqWGXUUli+T6CzbT5mToBcvkXoilm4tkDt/Pc60sSCWoWxxGrWmrpqbSZGMIGEB0BwzY7J
+DGZlmabSFaMdMJi1ZZqWtr3KGETLgQ4uBSYpicBaK83MrC2tFdsZkYK1Iq4An1va33BNqx6pzIFF
+OUAwAKET78t9kZAG3/wr73r/2edziAFGzBE0KYSgylZLIpTszbRHdAS+hphDR9VPQh7L10mgmWsd
+0HJN2QuElADNCytMVkRCVhoPyOdqcywI9JFLMWB1ebQmP8EkhYSzJ/GSgHaalvp7sSDICu5Y5T5h
+R3mH0VFuW0QgaUgBGH/FgwLnUDUdi1Rk2N83kdUARNkb/EVqKW2aFgy3Kxhe0ypry2O5WYF8nYNs
+Zz6q/nLS844OxcPgRRCIJvtuSoTQy7hSCrkSQQZtIgYRRQaAcJAAnjQytPf7bibAux9Ae9RkezKx
+Imk4HFJUcIpkYkXCcDgMoUF2rtv8zUBfe6ZlsGIhpCDFLBxSSti92O/byFr7J2UGa338vFud/gsc
+gnaY6aAwAMDEoIkphBR7/hX6mh0toqfYC0EisBihCprBXGGKtWnRIECF7t2MyIpyKQFgrdQx1fbe
+KWmICN3gu4XR6ADQ+kCZpRBg1kpXZCUGVxqXy2FfozC0dFODhLnlJNoEE7HSSsW2UTS7kxtqgy8L
+KmuGsixlv5MAa5/CR6zJnmoASAHW0JalfHqcIGawspQmWCc4fGrXhh2u0yE/lzlD/sXAw6EOB5y+
+g/CaE/UDqzxX0BZohPmpigZj5bgKgqg2enypgY72GcUAHIDgZr/nhhEL1rQ1FQr/ohN2u63m7UkL
+A1s3H3G06BHuz7DLICUNbNuQ4o7r3gBMDAFsPwLqYyfIJCUM5B4pjI4zgL0/bHZe3wtQXk9uVngz
+rujjyVSem/PEiWakE9iVCgQBQve+esHH4W2Wp7A9/4Zc+/CM8R4JgDg+D2g4K7AVH46J3OjXcZ2y
+RWl+q7RkgMPNuFefQIgqgHB4ymp3OuvHNZOz9lX7cMKApUDzogz/4OaSJnGz73zsLDQaxZgNE3fM
+L5NenOEJO+vVP7IbbvYaUUgt71JCa0GSonFo4KbiC2hl2Q/1ggsjI9abQP0Lejg/j3Rptfw6Foe3
+QENohaad0w+dFeNNXZ+shSbt7Bi+Oc32zG8etrZs6VUhpFPA5oEti46s3WEnBEZCg+SmA6JTlyQF
+X/373j8XQo+1/5ddf70L91TgOPcfadePpuWnm7xpNZRMj0WPKvYjobdCOyL8HdlFGgcrZHslqW/a
+9G3o+K5aAIy0AmjEMzFpCocSzMr5udddem1nVXMOHExaqA/e2AoATW4Z72Synb2VVJ99sBQAom+d
+KDTEc3MDD5iQ9wbA7P48s8QXM37ScPS6q/eETwD8tlneuDsn0yr9zwumc+MEp8NFXl0c9maYki8s
+CnI6dE675/Vx6cXV7/8t8DjgTrPlZ7yQ5ejQucHyAgoBIPTdi4bmfi5smSSyBE7H3W3/WJqReef0
+byYUEQMBF87c7Ul4ef/FUl+I9cFT1kD9DnLe2ekqAMRoG7A3Jz819apt0x7Mr6aLa9H2GaDHJtiP
+IG5SwAgM3eVbLdGd223cHbU35/Wgmxr9BIC4Yce1yYV9vnznoQSV6TGzhox7/7CvWqGdfdKSlXFk
+bPcGX2K4meQbAxo292z15g375IUNPd8WwOgdLHYeHEC8OZ9YaOf1tzT94qPDxde1gvePJ9cY1vDY
+De7EfldAhM0ufc71XnCDohI2YibNGn3N4FnvpKXc2xulP9yXSqR73Lf/C6sw/bIBmJY44JK94kTk
+NvK2kkWnQ/89Pv6lon7Ll1SIv3FBUE0Jp1X0KUZOFhDgn+oRYJjILHVXlLNCP57sDGEisJbLCqVG
+PyJiwQwikHPJ20Zpx5ePjw+OD6TFvusXdH+xS8j6Zw49vuKrQJDtbr363qU495q4rZO2P3Pov6CS
+KWkAYC0EEEte16Z75mNY77wvliwJtyb2ujH9iNoyAwDQkxk//eKrvV2AFp5XbWeoGOgTXnZj5OdH
+I/QIEAzpPX/gd2f1vWsaCnQwQNzwnPtnXuy/ruEyiPPz36iv+/aZnPF5/SsBoOXXDa6dufaallBG
+xIfYC6C4GKI0thmEJg694OBiERHQZsiUnR8nnl/V0Yi4aeBaoMcXZZ0kphhoVmIRAyC+LOaPXmMW
+NzAuOXvnbTEfCM2g2QmXvP3rDRSdbQhEW7Mcr1/pBQAIPeysb5JbpRUM3ZL0R54YsCmTGCDuELja
+2/pQjzkH0nYnTvtscrtci3iJqxNjBQTUkMld1r4Y0K1+v51fBj5w7qAbvx78yzV9ty6Pea0pkDom
+ECMjIgEA3193eeqLOSO952Y+NHD05W2G5uor37hlf5jznCtLnup/LQo3/8WyyTHsv77s8v97HB//
+CjOhXcV+5S2qqbmtGn+vHG/FI0lAVomr/HlMzPWgBDEg6AtI1aeTFiAQE8GT8/1jRRj4aVQN+k8y
+I/PCDX3mBgC9ugzz/PbC05YkQBk/XVkY9P6/gJ69+hR+fNG5Sn5Vwrccwuj7vFJ3066lY9NdH14J
+/Gtkce7btx3xWjdHNv/tyPO7ENCJDFza7dBj2aRvHN7BqUn8d9IyFXF917NwfJvhqt//m5MXRaEp
+TEFQ7pf2OIPbNRbILwwFCzXh26vXzfa5QYiwLMhpzj5L8w4safife/41cadhJXy/Yto9AetSJWB9
+FljSJmIpeq6zlPvXydDETW/8OikxMin7YOTqFvNGXPtuFXdm4s65KSSSN5apv9hF3GkPhAKIx0RO
+ue/aK7bi8baP466u0EDAVP31uFULfmqUNTgtGZ6RP/5y0YA5QgNCTxhwfea7c3arlO+fmo6miZNB
+DOKuRZsDu+0tTpl6WRrSb4DhyIxlmt0sSslVkN6b33BN9z5lXVVwB3Vrt+jrkI8z3nF5rNZL06Y+
+MHFH6sVKWI883MCV9G7T+2PXTb+680f7250rx6xt1+mBh4d+NiB28vVZb9DrkcPmtd2340QXEE9T
+MNXjGzWYvDmZFZBfc8bVqnuLSsyKW0YJgKei/ZcYpFmAQZo2zCOFpwxbH2VM7JjY5PYs5+MLY60a
+NK8Sixc3uJdPMj3K22uARd+USDAp4/fLC+VH/7Is5W0zStEnYOegUZ3ygUuHnX3WqGg6dEE6br3S
+8pp9Wij6war/+2/vcczZ1/dibhHLAq1G33KhxeqeS1qzgBh9vWq2YPKV0Sej/1JhLhCcQgiCuqnF
+/MFb93EA8nLDIVX7juuvv9vfoIn5kEXOxA+2eg6t60PLuAEI4xNyZ/2QzInngeAp4ZYCRrQFlP6+
+D0C9ez9Pat99XYmgL0MvXquvrDpHEQatgFAvlLtUL8sntN4OBsBh6h3Mu3qrA5N6NgRCAIF+Z3eb
+Nt2pceTO9M0m5bsdtLEBCBD6lZsvL1l35Bslk6Z91o7602IQiHvw9sALt2TytiWXEKkYuvyCz+Nh
+LR/MMjcJ3hved33hvD6t3U/Lp6iG7//yEwee1XrGj++GdEFuzuSf13woudWKla4Z3edfG7v216c7
+T7oh62vVW0+T+qLgqe9u++z+3aL1TapD0Eyx6q8G/WPu/z1NJqzj41+CkJVAp5Ber67UGgSUVgqU
+5bdYgZke8zjV+OE++zAhuzAkLhTeH18oMWrQ+4plwdcSyHQIIXVLcG4eMSmx7dIS3HyJKQ0hdVvw
+TtPQXmthvhQdlVdZFt2XKSLGa3JIdoD3llC3swnaKt0IdHQqQHusDhBYY5lghvlf5xcdvZY+zuG/
+Wv1XIIMQlqcQRFETt8QHT1wMN7w5IWA88fE9322yp19Ck2yolu2nkgCF5HABPDCbXlH4ogxbhrbS
+7hH1tqBxKggQBOJ/f7wjdMTPmgRiuHNTiq/PVbWe9kuhYxuVfbiQKOiAqK02p4f+IfFCAinh3ZuA
+hEtAhPPUW2i2HZ5bdm6SALTmzBIAUj9078icH4snCmaay/14OJKgieNbr8fZeSWSaYWX+aKWnPRj
+O6b9+wYCOw7grLfxw+5LPDccdNN6ySPDf6DsT9d/jMCbmiKiYazEk6kipelZSTeEzo3JeGNc4IrH
+XYindOwmCrk14cXrvRtBd3cQKjePV5x+T+q/h1pIruaKu6E1+xaZjwaTMqb94vBc/KyyfSEImLJz
+y9YdrwVufGjQHqlrTERgLs5SpY7rFFsKOUBwIMCk7yqQYQ+ZrCxlaQEUlzCkXAeV2Fwakozkn6Qe
+1IgFREkGIARZignG4X3AAAaBpGwNjWRJRFpOW/JwD9NxcuMi4wgQWlCAIH643tqBm78pQiCQGghr
+eHjW8Ad97cFochBy7HSAEd5gEyJ1BnBh6Op9LfbvRvtlYIDdOgeuIrv5BZ+Ttgmj1pcQW/ygjB1A
+QSFHP5l0dMha8HXtfOQLdO4ANDMLCSDE3mOpsTHzhJSOkDx0dkMo9yD5Wz3ei06NfhEKHFzgAdLB
+Qg18/vHkmwfcSQBxLHZh4J49YOCGLQg+bxEUOCwDgT2KIQL6EC8R3cGrEfqmK236v/m3+dLLedAh
+bQ5i7rZ31qFb8wYYZMQpR8Y8nX5L+M1FL8Xg+WFR1kTTE3ud+EUIJpybsTfdNdFQiyz6b14zseKv
+xs9j2H9PG2oh/zpERW1CM+CuRktnUsb6Ow1z9DSy3fPBBJaGK+buTwzH6hEHRY1tQCKOebbd4O96
+SKfDKTYBsSGatPhijlPdEOdwGobhMrIAQxKIlgFtQhQx8wKPxGBm0rwnVVCLICUlseZNBVJ0AzFI
+UHyYhU1ErCn1gdbjlaTjXnOr1v5LSAfC8vLBUXcuaeN4nIspFEhzG5gwdcLbh3waBcuIg+hfmiWY
+EBe6CO1SDgq0x1dIXAqntQIahMQjQNghuy/roHbTENJqAWTUiNm3ZuxqyMqq+uRWJQdJRpWrvwm7
+gW67IACBW26/sm385QXKNBs23YkhWyBQr92Bzb32AKO+BkBokK8RvBvMzjdTXnNPWL8SGsBZak2D
+ZoshBHfvuR6DZD4BaL0f8WHbSDdppWh2wzhNK/FwC0zsH4GPAUIULI50YgsW5eAyTmzSh5tDUqY4
+POad5Z0v0SvWXU3bFzW5fW3C0gkqFGwFa8dnd509/6XSa0bcik+v/Kvlq1qH441f9z8DwRAVZ1yl
+AXdVcxWTlllXFuCiTwK1YLIjxhEYYHXR8N9de279UdbUBiQC33mbgeI9SdvTMpOJu5OS5J0MDccM
+JQCwXEZcL1BDHNkB9GUmJqQTowUITAtKXJ4r4bP4roZKbG47p3CT+nk44HEyy3tzfwioAYNXKlOo
+mcfuJ5F067yfkKvCgdRA6/L8kFbDfNMGcUKJRu/FAAiDzXUBXWdZhn7u5z8QsATxG4qIAURmALII
+ACB0m22lCF/eILRJp5bpX2e1BPKOHD1LEfqvBzfxpvu/jhF2iLjjb2CQirjO/dnhOBXdtmWc9YRX
+tvkGGimj8s0eaxDuWgsNIKIAAYFHINQFHR4tGB77MoSCMgZsyx+NhSDgeglcvhdC6TCxGcMWFju9
+fV3aWjaQyLsy5Ba9c+ZEzlgOLdGaGSoONw5c/0D4OUj8lxsdobjF4ezUCbgyAG+q/6ZsGdGjyR/h
+y8+n0Uze2Q+32/DGm63PfrDlii5TF/x1C9e++M+1DRziLK2g8WomjnBXXeXSKLliG256x7Cj9pBm
+qbUAILS+6HdLzpw92qqZl2MCk/ztuzn7ARAL7sOk5drNZOHFCpeNIgXanClVbxCDqR4DkZoVPB9K
+z+ALtGQCiJYCbUKVAADtStyJg+lNLcevX9086G+x7zHiPx8GQpCDVqN+78mPaeTlBQFHKPKel199
+Ik/4+bd5KozobdBgjNmT3id0PjT27YNMSYNzAwAwohYiKhuAIMVovAp08GCQlbOnw/CxTQDM9VTd
+z9f5K6DFQd9GP+K4Yg13g63QIO7fSMm1V14+IBh4ZQFiI9ZBg+cA0VuRuJ+FBtD6NzTzaMG4ln/D
+pZgDBnHDFm9iKG0AlHNkBhxDnxYCHL3UgnsKNPqz2Ld3POjgjusi+bNWMbwig1ihHSTljuBGsRsx
+NB7tQhltYLq7PT5mQrZrAGfPT1kCV8S+7hf1Gw0AWP/SuHcHennbtleffnT0dRcnn/aNTH8XtY5/
+iaID82H53X7g0YLrBRwdq400ixtmY/wk1gICIBZQEkxMTJQIZdBno2smBhaTFvTtSyshxo7s1mrS
+sxzYEWBerpzenk8o/1isQgawVFgLFdOGiEA8JKwIyb0BvLgBTae6NQFgkZ5sT9B21Z1nOXL2NaG8
+2xu8UAP2akYqIRCZNOOanDFfLZMqPyeE+LD36U1t6C0/yzESlyBB5xCTju79BS7AKkEgoZxJQGY6
+iAESOXCWgFgDDOcR8BXfamdEo+BNK7xKlC6sImSqoIgNQJsk/zfkxDQgEanEIJxLJY+3nobUj5cu
+nzxkft/cNKkAydG0A00OAgCHRuSgRwocnvqDkzY5B+7fCQ2hetNcDE7fQYyWzaJiVcPWWgO8gIN/
+3kWWsyfxEvRgrMdwpt8vYsyH0BzajhxFBT1I0QacxygOIbRweXqtmtvtv1SvDa0v+SHQc39oI/31
+J15NENbynPO+XPnY3BLwhMZXt/22z19uuDpT4z//78CBDY8QF9ojIaMQUjchq5JXAxOzvPdLvPiA
+IsG8N7yepszHVzd5uKdtCI50epl3WjXi5cmkReHtnwLXP9gawDJw66aQmnYDGDG68pWClgGt62sC
+C9223294tmmXtA8no+NXzWxztKakDKl6+eJzMrUGYXt/48kDMyKU/DujzTHiP+eXuoNh/jo9bljR
+E2ChMxs5Pdk5Ld796BaPvwHZiN6FVqkgFmpg4EyMzd6pAVaQhXDmaWgQx6YBrnQAfXt8kmPkEDfo
+8AVKUpKORY3Qzc29Qsd8V8bYzRYDPfZBKCgauOXqDRsLHvs4Dw2arMfQtVAAWDdLZTT5GRpCd/Vo
+6v4WPGgeuFrHNP/MEhrAMFpbv/mvxRDoyGFnldCVa2YGj9s9tfn4+4k4rpWSs4PbCSxAS+QX9wLt
+AIi7N7XE5vxu7Cxa4B4KTG/djWOabe32WOwUcHgItvY8Hyt3VKJ9Sbsbr7sxZeP8nROu5DbnTj+B
+QF2nFbVoKPGBuQMk0nxr0JwJQntmYrBS9t4fJlbyhdecHz1gCaFobbtJMOmud9b8MCaVNEAIdoGR
+V1wzJnWNwos/NVxT/9tamSojCejkYI9CKhhxymNZlmUpywKYmAo3At2hCaTlt38Mjdg1vF7byfUn
+LG1tC8cMrGUd3dZepyLilkJhIy199fxLasLbk5GfjwBsfG5XeNMPtktNSHU7kT978kV7v/J7BRLi
+zWJ02QyAcRWWt2q+tKSHAQBtgUZNENzdyQjOB4wiANfeG4GwEo0G+RAgIaSsdoMOoXsydBT7w0xq
+I2oXodcaAIQGm0ZuaKcHv57nNPpm5couC6l/CAB02Ay3w75j0AEkNN5m9HbG8CE0kYtAgDIGHjw8
+BHPjW2lEYf10yoz6NHPfQ7svW944H4S+LjKXDtBrPesogrJkByo5BCaMZiU+7RloYtHBTk2ZZiez
+FdQY6zYmJwnEAIebWSqJpJBSGoY0IIOu2l7/lYtvXvP4poXDDkrd/S/l59oW/7k20WJDozcIB9jX
+4Q9Aoz8JJk1SMojBYGX89yH3tOu8grVSWz0JcOTPltJIX0YaYJSaIIQE1IwHJYvHZrmsSTeaShBt
+y5TozfM6fYdAAOHCkIZhSCGMlRlgTcmphL4ghhb5dzScufrlG6984IttTwf7Q/ARLQO3jNH+LZjx
+9RS2q7tCXvm7S23H0H/z8uHE+8sePz/9RWgAaS4ndjyS8697KtzY9iCo0Q4w6UYj9qZcw3OfXTEY
+BmIjNLrl45mVZwNhBxFYCOJ6j3ZIQ7EhEALA3gppyUFNq6Gn2zKgWVrZ3t9Y0wNXoyRoMPjBFCFu
+WGdAWYPWIi5m/iNDruwEQuNkxGVrAnRgj80Yncu3L7khD6VoyslgEBq0WIxhlLL0ZwGiO7G00+3v
+ffPKba9+GfUTBNCfxYG95zzV4/MDTgbH10N+KqDDLoGR8cXNTPwSurHI27kfmhMdCzqUgFBACGwg
+ZT6zVkpblrISH9+VGNFVGpkfXeoe+PQ6otLTGDb8xFDr+JcEjQq0sMsO3i1oG1R8NyZiYS3fJIgJ
+IGX8eGvkd5fDKYRwys1oA6GE0hbCQWDmtFIitHPUSHo0LXe8Iz1d77SkJIjZGtQNs7ZHcSwIpWCA
+mSzxce/ZpJjXmxTQiUCs6fcjfZ2J90/97MXLI73KH6NaFG8EevgtW8QxDYDsp9c9lfj3pOdjgJGf
+B7cjq9V/6LVUyQBSXE4UFL3yx4IKC05tdiFRHgALjAlaZFxBRy5GFgj9ShHZLC38YjoCiFx79XlE
+IZeixE0IrGfTL7nvfx65q0pkBO2I2gy08AumhNYp4ETnDjAEzokmba0XFiC6zUbvgsxRP0dkQIUZ
+uxCTCoLAIPchXLYEV8rUvRQOg3MACAwy5mDIkdhGRzSKdi6Nb5ryzrhL7s/v5PGuB5SrB/EyxP7k
+OJxi5nBIZwtKQfCVsV55b/xIy/HpAkSBUwqSycCopvUGFJBGaiHHRgJu+0Ue+s01fFR2g0nfRigI
+ubPI2ruJaeNftvHR9l8SgoQ4fZm8ah3/gnTCuYwVJMEAShaCLw9SpHFkWL+u92pmJstYerXzue67
+9+/fv//gvpXfiThWES1JYkw/LZhAayE1rqgRnzZm/tUjMVZAsJJ5n0IlNqdFoZ1oODQ2EIMB07H7
+zqZnaTAvh27ZSIFBvJKS83zPd0rNZG/h336I0Ev5Q3Fo2QaU9GTf2/82+1a//1foTDjdeDx419t2
+JzvsdIHH9LuvvHEhG+xC6yxhAOIsa163hF0x8Ss2SS2670U3hf6NVq+FKxcoKiTuVK80UBEQSaXN
+AQCGSnzr85lfV16+IiJuyjsFGm4vEwla7QK6HoIhwHRrE9QfKjQc6tbSJRi0vLG7KCrFEPHpCrG7
+BEOKMZvRotP82E5p8w5nt8XewmKw0I7nDv0c03xtvP6NsXkOUnYBQI/pcKVtFoyoeK1nh8itnRTx
+Vo5q7OXQcGE1nmC6Zk5/23JsuVeCgCwcyhDcMeWmNYoY6Uncsx64IyCkuvr5UfHPp49J9naLJAjV
+O8CYGc5H5v5t868uLi4pLj59AUBq3/oVmMd/p5Zt6mgaMJ3fp1DYOBZg8foiqV47Z7iS2th2cYHj
+obvtSAzs1YnRpOUNS/RzD7MlSJE1HcIaNULXxJwGwj4B1CcL7MC/9zu9rcL2rRsdZfXru0zMeCzc
+BEnHgXPUt1EQwDKgWwAABvJ446DehnAEBdRr1qE+tAALgQ1e4R4g/YlYwR1mSI/rNedfRj45XlrT
+EFTa5xI8l2evwxwiF5yvfJxUNv0yt+AM9FmkNRQSjMVXmbmX0WQFYNdh9JiDu+lDCw4TSNwF3PV0
+1wMgPtDvhx0d224FYPWffGuDPasqE8sQ3Gs/OMDwh3nVjoSPiM+dCwvggMRBPwS00IDZ77ZRjE6T
+r1zZbC8sNNsDYe4DYCL8J5yVvvtD18cF+PDugE27muyXFr4KOitziFl6ufgF2PK7I++RhNSwjXsn
+BbbdXQwJh0tgcftNNHidxtfX6T55QQGj35RvNsSqCz7sjZ0X5jjUHuJIFO6pJ+5pF7xKaEjzh17N
+k5To0nMVMO4dz/0Tu14z7J1Hu6ezBdwqti6cIaZkiL/i36PsvzqgDwOOHactoV8t5F+puj72hHnX
+zADAmf0E8YtxSjJ4ryGEuResKWXsEcPKLX+DhGCW+soffvqmx3AHIPDYJqc3YWqNcC/A1FJL8fkN
+biD79q/abaes3MnWPaxdrw4tOnTt+zEAf39bzoweqmSX++c9DrVzbrhsHqTEwI+MjX5xLPyCR5tr
+ol2enDckjHkdImP9yWdaQ1h39bD+Nq3Hyv+bDhn8mLHa3ujLyNRBuDn20XKGaxHccIbQ3Yxsc5Oz
++cZ1+4Y5tkX8thnNA+qv1TQggrpu+5xQGAx0DNh9/2xXvXWkaduQdkkz/zh/s2h6SedxIc0+Omqs
+ae7aVr/hu2D+wWE2yimBU+les3IN61BAWKxzW3Fp8rWP7U9ts8059KYbY6yMiLPdk899PyEs7PIH
+JXuHZm/T7em72dSxSe9my6aAnr3sP08/33Gp1fT50BHrRZTj8Mq8wxBFM03MmUWb3ln5A/DyrMdX
+Ijs9cFufSx7h81enmXNnj4ifNTL0jS23X6DmP/b+tVj+r33Cwpy8kMTBC3b3emj20y8QAxrvjItr
+v7FbwO9D3S/1PzTvsgF3ucdkjqNzHng7+qVzDn8yqelvr/wl+x4Nb+fBRcTOpgtOV7oeenlPW+dp
+CnVOakusJ/Cm8KPfnTXGTcWQZ7vQqgdXYMLTSgBaTr8KCF3bjFmOe6/y9Vd+ahlMxVd/j9EXtA07
+8uknQPdP2tTQBkLm/AsXAIMudm/8uPR711mAu/Th5zRpOfPaDDS+oFHmH0mtpnfzOu9/peye1V0F
+fryipEItTeY1x64uRb6jB1+wXUuU3NDb02Jt0N/WYljLgYurdjap7n/hwLtPO8+18wUJ3WJT381Z
+bz3iM4oQN1sb9sr9qLczAkWN7nnyq8txS+SL9ZfMfOhgBP4YiSvbPXVB9h9Co0Ph3m6t1zXZ32s6
+MwjRd/288p5Wb+UMStszKvWHSuxLHLPqmoVOr++gvs5s6t4J+zio5PLpHbagz9x55zriDzZpt7LV
+hbvevDn01R6utfvrYV030OpuVuzFU7BmcNHIEa95R0wHcbv3H1nYuEAO1UVXPHwk4d5n01a8+ZnQ
+Q/q+XhgTujOqzWLQ8l6FY2fjtvUr7sr59NqPgdJEmtPm0Ia9B39p2n1E1sjgnCnPeYWG0Le/hUNv
+YOf3g9O3EgMQut9PkRt3pBTNMfq1bta9+JbpQV/emfl4GL/Zr5unVb/AT+/I/2sxSKpxb7F/d5yS
+n64fUijYyFnSXIpC7/9cGVX1a+H8yyTwQesX5/eNQA4SJ16tBTEJvjL/89DxzTWBw9s4K3RdYY4C
+Qeig7z6e9NtvAICImx8PqpEVIQCE8F9e/yp54ULQlY+2th5432x73xWaSKqzV7zwy+G3gJYvjwtS
+Bhd3CHY5JJM3J6aFOHTX9+jbUYC1VbB7k+k6NOErZMYFO93S8nqLR/nd/LlZTMq7ISdA6rHy/x6W
+pdc6Z/nSfTGyXSFP0ST/ggtx+JH9pQNCkUxh6/Prb2s2OvvQukYPixlR6fs8wcMLDq2MWHCENLAl
+Rq5d65QJX2gATOmvXN3us1xhLGw/cP5RHkrE4ZnZEcJremAIrQtLUSLdDq/TFC6XwWLeLtDyPo9M
+eXOHY/eejsn33Nh3GprsTW+Vvp+X9Wh4qHjrrtQG23NdY7fQ59Z/kiE0JV34L14kHTN7tX/ikR/n
+3eV6JmwpAl6+RTR9roE38tJ2ids8vazgl3t4v27bZp23/TnLKWxjmh78xDWjZ365p0nv3u6kbz7e
+B9KAprcLHmr7wsxXhi6ygwhAi6VnTTy34dtvZg0J6e9845V9sujmGxYOznhqW0bpjT0WvPXLCaVv
+E0KwOH1uW7Vy/iUGHf551QER3+f8SH9+MjuCGoEJ3ko3sBP2ZmAqXTrnYIYR1+XsJlA15f3MxARr
+x5Hi6BaRUBIZhQnQRAxSEtk7s2RCcwElmRT7xkJNdHDktvofjPE930r6zxyKWx+m2d6br1mWV76S
+e+u/v+mIlfHK/VVdDYibvvdh45F37S7riK8e6v/urPJuSZJl7+D5JUJYkMQBCV0Or2SPBUNrBCZ2
+Slnl8TmeGw6rkTe1rFo0i913pJkj9Ug1XdwhNGltJ1oUChAgaCYhhOUote+OjdjpJaMEQLN6JQfy
+CFKDOyfOLpQmpLDgatQrf5lVAABCI9qbZ8SUZuH80tWNDhs5Vsg3Z5n3fGYGId+7uL+e5hmnrZ4b
+Xa6G3dOWF7MQFogR3TkuJalDo0M7d+uyZA3Ezs6xuenW1jJBRWi06Ry64eDA8C1rSiE0AkZubpJQ
+tLh187QVGcfX8sRN95bFKlPy0/XDCgUb2YtanKb5tzbyry8BoQ1fKlAm1pK1qG5R2Z92WJUJE0rU
+XP7Q8ooVCWbhI4kB9jFiebZS37Iyjfk14OdhWgMgEMTuLgWN1jS0A3aByqNCMzHhRLzxjiE/VwOj
+Roxofq6lE5loxN/yo/E/yn8X8cv3497XAABxWx2Of7+9L1YNXlrp5amCSUeWh7Ss2kAVzlSh6vg8
+r2ob/9ZC+Rl2VEBNApqF9G3cYRIMYXNylRuYQAzJmu2bRA1mFyKGZGYmsmN+gCQxgcBEmhmCfH7X
+/hssuW4WDR5m+pMRazMgoDA83B/a2b/X0f5bVZff+GQgKiV9IKtKLxYVg8IKrnBQOaN3xWZmImY6
+wRgxugLbU/nW7opMV+HRXHaXgCYWOvp6bJ0CYhhW/0BlLkMBio+AK93DRMRMxMyq4oPt0LCVSBHQ
+LIh9ab8FE7EWR934Z81b5/98HCBf4F5R3rXLhMzqpE3f9n2WdqKfGiemwiOp4j8VT5cFgwW2WmgB
+DZDt9un8OYOHBlgVI1uR/98TjFZ3LP0X0JVSwTOqWDQrHlfqtEdxZ2UjEeMkdDyu5q9Kj6t2YPC9
+SVzApfm/XpNJAG7UcvWGIS1pzW7iyvfYfrXVVXE0KarSaTveyRm257ciatFQchTs9A1/7xb8/XtO
+Bd0JEL/lubRlKcti4fz9EY57hGt6WPlngFF849dLe53Fkq2bB4nS69v/11kw/vS5Odb5P/+/h9C9
+z9a7zt8oHYZhOMTeB8/ObjGzYc3mKzuW/ff/HRi7k1F4XlioFTDufZH+/IBl8ZmXralVIWxOK2qn
+/HxGg1h+dPXshV1HDIoNzduz4ncOuHlCdA2Gs/1nQXjv2vP0xkvvmN5s2BvOxuMa4ttHt/9tN4sa
+JKdO//3/DhYc88dnny+cNQsAqM+Yi5tD1VDCirJnHFP//f8G5senfvPNM5Y3d8I5V7fb/cnXa3Ea
+2bfWoY5/axzEpMVVV6Xsy0nniJhW9QBFNRaL6x8HxsGRbdr33LOzdbfSZ1akatBpXW6qi3/1/x/E
+gpVs1Mh3aNWoOcv3iH+K/guAeNs2AJs3A4Dkusm3Iur49xSAQBJ2alAikjXnS/KPBMOO1S9w3Fba
+U4fapv/WIlL+X4FISMMwDCnoVOSqqH7/7/9XsNYMVupvJEj+p6COf+tQh+NHnf23DjWAf5L+W4c/
+QR3/1qEOx4+6/Ed1qAH8s/TfOhwTdfxbhzocP+r03zrUAIjr9N86oM7+e6aCSBpeCFK1spD4/1rI
+OlfU2X/rcJJgHq08wq2smihU40VbOAWFa0FR7qLT7UJSCXXz76kA24HdCadokYkkLgnI6RO5LLtv
+NaVPveVZxyq9o1ZkVld6Ra/MOFbpWX9VenWlR8zqtGOV7g3WHKmudGu4NrW60rXRupRjlS6N1x+u
+rnRusuFQdaVT040HqysdYzce7Bi76UB1pUPc5v3VlfbxW/ZVLB3iDlmu0929KvaE2hj/quyCv6rg
+GKcZOJ0+iwywNlCzYbhqnMjaStgZhLr4V8cCA5oZJKqfwhiA1qj2dyY+oUCgNUc7sZZCZ2fXD6+W
+S9gXTPNkGIjBCsIOEuUrFeN7KC2oYmcyIcBG+c3201kzV65DMxEfVe/xFObKeQktlqLysT8+1d8s
+xl/c75cfzROs/wQKxKmSqk4EtZJ/GdDCjgylq4vvxsTKsLOQaD7qdyYGFQeeviZmYpYHp83YLKKu
+fdpZlYGZmAV8UXFPFAQSsKNn2YUpfadLOgzBzF5P+0CYa9hhOCSYVWHjJgxSqy2X4SDTKm4vl+Rl
+ZuVm/buHNirXYYcyJpaV6v7rwlS0yW1ISQBYFUQnwrPB4ZBCAGBVFNL6hLZPMmH1wdyM3IxWD1R/
+P1PpoqzsjLyMi89V/9DwRLWRf+3wsZs3HkBirwQoyUf1dCYtjILlWwuD47rGVeEE1vL+Gd93VycY
+Ga4GiId465kj4eN+TH0p+PFKUet8vxOlqKZcowIsa3HLj5BEBDYRlBxAP10MkkSAF3j7NkVy/ggY
+IGlZWDdjEgBg3NHNykRppXG+eLyA5uPdOqWMyU8AhgDIy8CEpzH9RsAgAlkKuGbaCS3ZarmxJwDg
+hmME2VXG+3cDAEbUTKrnMxC1kH+ZWMuVE38HAHnZo22Pjl3BpEXxlKm7ASB4+F1DdEVll0nJ71/B
+hu6n7YOypnumYNS0TdOces5jVbo/acq59xt97zM1HDYWob3S9wIAmkX0aqRlcU/PZgsA6sWFDYdg
+FLTaXwqYaNyltafbgUynSuxU2ROBmEse/NR7w+vClq9ZHreWTFA9xYEUAIhsIYwxQGlPmboPAILa
+OvjyE32r7F55O4S0Rh2TPT3djxx26JCB9A+dfmvj+hVDyw9v98beN9C74KWsqI/OrZxfhEmL/Vcu
+xTkdzPXzAIyfVGkG1sjufgAfXm+dnpGJScnnH8GwX9xn/+703v9y1fmXxWUzAPf22Jo0IzIBynP+
+HEMFfnGWIcEEC5/eIKFufy7Ibgn27rxjEY98vHMgmHcOyMCF31UWOlnL298BsKmDkgCDZqVfYRy3
+lKCpcNB6h9luViN7XGJtnTPXYcYsbHky/krKuvlTBK1recy20tmDk9B1zelRSevWr6oBk5Lf3YR2
+v8YBvcaMOnjZnD6VZWGNvEtX9Z/cE8Csm1LxQsFbqqzhGNoYv99hnj5xSom1T1HAK27d53dv/wer
+Ro3VctuPBulQd42SSAxCYM854MDeLmYQIERfhynRJUwxiInJ0f7Ghef+IMFgEaKBQUcHfJaHvzRI
+u4KYAGbKvKD+v45/ZCc7QcqljZUdcZ+E0wPCOa30yUQfYZcDiE88ZgUsQgH0P6EkFv8vUAvfW4u0
+OyHejvMo5Wn7IopvLabKsbrFE6sG/9RTW5Ye+aWDjbc/laosIYk2fp12fJkwTg0I9E4pj+5oiQmz
+Z82vX037MpmWqW6rX7NCDxEzR4KRe4Q1iMHMzjAQ9tttx9BcMiXkTWkyoHl9lhQ9qqzcw7JMdWOi
+JoA0FpReeLyJ1RisedtOUuih7eTkrHBwMzT6anXCsd8ZWnrWAn2NY+z4Yda8fZtAr3+uL2lt5F96
+KwV9ByinEE41tgU2Txeqovws908NfDnCS1KSt981WtAzJX4NmTTl3qNO52KGlpm/AmMZEMPPMnRV
+Q5bg1s83aTt5Yo3HcydQFEBmAdnJIAiRAQAy7Z9ALKeveSDOcoAIWA7VuA0qh7onbvxSfIunXmFB
+YCb6En34OJuSQIw1SurIjkL4I+hvzhOWs5t9fELvSgzanyzQ+1hUEDHWaB3Y7R+r/tZG/jUKPgWG
+QhMBcA4CpqkKsc9Z87dF1hVvOxkgoS8TJnas8G3JZNbioV2DTyPtrHn1EQT0IAFWiisFfWZfQCw8
+uH3DfafERh0NCGSCYS8mL0whxhGfaqgpd0KTu7VgAgtaCrSPOEoCIOJbt21+zAAxkxYbfg3sdPzJ
+LBi0CIRWjX2VEmMJJJq2OhntlzSv87CrexUyGMwMBoOWAPHN/rnOKLWPfxWW7xPobKt0zAmQy7eI
+CpGPCFugdv57HWliQa3CWGK1T0Ykbcx7b8z9p0YZYtaWaVqaKyfuqXDWTpW1Cmgdy2BIQQxmrTQz
+s7a0VszM0FagoXwirg1U/vsEQagHZU+4ABjFExQxMojYXvR7OW1SKAsALNKTgYHM0Er55V0wA5bb
+pZgYUIyHSpslaCqjiKt9/3LI0g0A+vnNYiywAoTuAf6RlVlZpmm3gO95zFppMHM5GX7afedAi8BN
+fGOA7wZmZlhKKyaG9K4vl6+ZWSvTtNRRTcqocGT/WX6d/9Us01LMlj7DRPFax78MXgSBaCICCJQI
+oZdVNJYSSgQZtIkYRBQZAMJB8ifuLPi3623HKYkXxwrCcDgMocvz+zFD+84yExMYRIuAzg5b4Gdo
+TUIKUqyFIaUBYiJh2M4XDNZl3ZbBrJlxUsHuwgJANv8yKfn+ZrcGCpQEQEruea3PZUowgZm3HJHo
+yYqElHa+QiZmIjLsDqGUNB6aha6ushmaGZrL37Rq+2jaswsavf1pxVikbwWjvz04MEGRNBwOSQr2
+eMIgIiEFKpLhf5ayz2my1gG9XdpHgfI3JhmGNIiJ6cA2v3xtkygdDkOSho9ntR0FlInt1vZ/Ffs6
+MNkjKoRhOAwJGKIW+VYdD2rf+rOgLdAIsw8I0WCsHFdhCVMbPb7UQEf7jGIADgD22vOTyU81WV7z
+NDExDOzdcFjHd28EXy4UBmmS2Ld+v2jUNRFaMAnIrCRgOBkAmDQkCtNywuMNIPOH1dZ552uhTU9e
+ltGeuYJWyFSeafHERUHi0NASIB1gIi2ynuoXP13oosJQ2yH80aJJhrJTsWIlVIM2wqVS02STKF/2
+U6FNb14WOhKTgazH3nGYQ+zeweR7lcMbdusGndqgulwwzOs8UoV29mmizJyULiyjOxGBQUoaesO2
+9KDWPQKYiYmYoExPXpaztRRqb7ajUYyvWgZpSKj0dDSph71bhO7L7PfpKU3LDIwPAEp+WpLf72aw
+prWl5OxGRL7b0jbuKq3fvrPURJWSV1ZobWItkb5hh1m/fSfSgolZ4uC6w/nhPbvikzY99OlOgPe3
+UAv5V2+FdkT4m9tFGgep3IBEUt+06dvQ8V3tdNhpBdCItzN8K2PJKz0e1DXveMWkBb59dSkARPzr
+sRhbiwQpiZ/f/wUAAq+YFKVBX051Z2UAUz7TuslbAUpi5pffFIM63nD5lBcsYNq6jnesyk8zS0fM
+VDLtTk+AU5jKW/JmM0t+83Gg06kLIt8IOAkGDglJI6TZ5iL5TM7kuQAKCkIBUnLZlxcPVDaHEC0G
+WjQ88OYnaUD4mGebasEsHp1TcMRb2m05k3f62h8PCQtvzbCECn87ShMpifnvfWsBcJ47Ob4qAxNo
+IYSKa2r55E/LWAphNWzLAgApmf/61AMA0PreW5gJDM9d6/LTrNJzf0h9+78pQMioZ1v4EpwribVf
+/LYNcF7y/M4icnQnIiYt5IpPv84Aml1254+PZAOfRF9ogRaDm7RmYX+MWR9+pwDQgIdHKYjZrwUZ
+LjZ1UeN3GWrCpmCnobJH3mkZcuU7XxcDMIa+3EELhpj10lwAwPnur57ocQr6zylEreNfRk4WEOD0
+HwcYJjJL3RX139CPJztDmAis5bJCqdGPCIBG8b/lO65TsJZBmvJv+7zl4z2jd72w6a35vzfRvl65
+754f0e+WVgdeX/ph8u+BzG8uBQCsBNDHZRmp98xAzyH62413P5V345V3JZnFmW8BAPpCGUu+9tUe
+EshMU5YAAPq4TtysRBwUBCCViEmJrW+N7LUIQH4BaQb0QwHP+Ty+WOYkAef+eknJRR1Lp2Z8unOu
+m5ky384FgD7C61xxg52NfjUAJAYzkZKZD36EDnd0TH//1++2LIquQiRLcx0II8o+m8QyCHQKVQJM
+Wq69NmnYA+2d8ycl37r2XQZpuet9AMSj5o/NPa+b+vDw11uXhDExsZZ7nvhcR1zTrGT29DWJ4Ibt
+WDBpUfLIm1bzqwL/WP3cu9nn3/HGTDMFbFjrgF5uTSDL2PPAdxh4eTvvojcWLZp8n1d+PNNHy3lQ
+RprtMopB2ih+bIqVcFev3M8+/2PE4uaW0P95PfL5QdFyz1vfQ/Y5wxLd1Dr+BXK8FY8kAVklrooe
+ksz1oAQxIOgLSNWnkxZgUsZzmyZ085yC3ZkM79U/JcxpCvQc0jVz6wNfaiYmJddcdADPPwT0GtFj
+z9L37rfopRz3A+vQ+QUtrTaQe85LwrOPAHf3TMu663V4zbM6qVkZb62QVj+W6PVrzjM7pTr/otYN
+2dDPvvaTdl7dZ4g4CbOwlmEA8uw9CA/rSRwJptJ8gJScsXh8C9uPjZmTDxIvGH/5y42Brpe4Viwd
+oQQFfpPx4VzD7M/ErX5z5Pw7A8MesgRZCW4mJfecvwX3PecCRg9auePZKUpUefSB7VCguab9C4vC
+TWAMYAZIia2j0/81HUDf2GuN94ddqoTgxr/mv78ArjW3j56SCAwc7kr641JLEivj+ztS8PjdkcBz
+E5/aLnS3IE2kkXvF77jx9SA8OmRN9lk/4C2z7QVMlLJJ6L6sJVnGiksP1nvzcgDDx5yTcX/Chfo/
+/9rybCkc93ftCcER05/ZaSVc03G4yBi7BNdMCQPOLvol7ZGvIe5+s/3vjQEkDBs1O7wz1boVoT9F
+reNfFiUmKmyGIwAeVWHJhBikSYBBSmyYRwpPGUowKWPVCx0eUaei+ZUx/Sf33oc/1tJqeOkUMfNw
+Yw3SctOYI5g0XmlhhV/+DM24W3Af6Bzg7LMAQBdekiTOfUQr3Xjw5zQ3P/ib7SMDcBYOLLdi2pFA
+kyZIu1+qa88DE9RA4/uor4YCfOJ5Rom5AYDC0gDWct5Pt3fmBoBQWWBNheOjx2vby5QYq1jyzGce
+hbJEG7JoLzNx4DAUzLGCO5GkmLOxPdewLhpufxDS8sDo7bhzMkxhua5bRj8+G1zF5ZU3FAmFyZMr
+nrWoB0Bgov+ku7644EItcMnTO+nTSwBC+GgUzRfqw/+8BGWJFi6T9jHAynj/VgRPGwul2Xhy5R+G
+tx9rySxu+V20fdNtWgFjVtLKXQlvXN2/PhNvKCKjOxEpY/mYrPo/9dJKwOox7mk8dFZg167n/r4Q
+YQ8FAQLOf63aNujzRkDW+ctx6TSYwnLc9CPN2h/325uO5xt7DILpHD2rQ8wZZoqqdfwLeHUlb1YC
+Sq2Kv/u3zjIzPeZxecYPV4LBKP239U6AOgXNz5I/lKAMSULqOIj83EYsNDIuOIJzxlvCwVK3AB/I
+itGmXH5A6D5KSWjHs+sMmqC1Q2kDfCArpE0bMCyxFGhTXxO0KVuBsXG0djAIb+D9oSaJk0gTzKAG
+YBQWuDW8D0Q8oUU9aIEMkDbe2vduhG8fCBMtgjBveNQiYYhcJg4GmNiUi8GJ8Uxgr5xtStlZKQkW
+QnPxpdtFlxcVOdjgZuD0fR2O2t1FTEtACO1f5ghnbNsjdEwHEoCWWxcY4DzDkpANd3IKEZjYayyD
+4R37koIwRL4lrCACKeObW4V+aawphSATw2cp2QNElvHJ107vg27TQVpC5O1v1qQJtNByMbhBewgl
+tp+XhRd6eR0OJuiRT8sdc8/zakfLhSJvc3cYzJTxTYOvYjwkr1su4t5l7WAHJYALd8a9D0crACCJ
+MNGLT9e+tRNELeRfXcnfTrNvkfloMFnGtF8cnoufVYKYLOO5Nff1s06N7yQfUgq3a0toyoUKCiJi
+lg/vNegJS0FDgYHiUoYQ6xWFdpIktJH1MVndu0AyiR2AYZAFSdrI3wT0gTYgDBEfUIokwwIp+fuX
+V11oGjgZP3wC6gPIK6ivnNPWvVzf6wxzlxKyoWXqpI7XKd/QwKJwI8yYSZokM5LBIhFEgMO7Hujt
+UBKQxhKo2LaCBMBg+fJKhznBYUkNJQFRWnL092ChVkKqsR+Vn7pkj9TtomxtILcEVvx5SmuhCoFo
+m1antR5m6GSGZGC7MtCMoUTyrVINGWfZxiGRBNWgA4iF+Ta80aNYMsQOgAwySQiWeg3QPVgT1LhM
+6nq1ctiGqTAQloyRQrSDNPf1thgsnzj8TYxlyKm/OL0PhHulBS0YxCZvQvFrLwcAsESaHlqb9uYf
+D2oh/zoEUG7M1wy4q6GSSRnr7zTM0dMIxKSMDc+2nKhPjR8dixdedI07HxLAenBiAyYt5n7kMC/q
+AQOAgWzA5SAmWgpu25gJ2liR5jAHGJahKX0PKLG+lgSw2JYqdD8QE4iaRB/AXi2hKf/2+q/ok09U
+GAVGYT5k3iOJ47Tk0NBSIB0sJuZ+5fLpIMxixwGprom2DCbQMqhGzYkALffuFrofMxNkyUagQ5iy
+V+nElhcNs9cFkAAM5ICdzqOfy+JQMjT6+2cvpoJ1AAayloDgrvf81mZifUggexdxZzABWu5PFvrS
+eCWZmJbDCm9LgumhbIMeZntHqPSsAzpFaNJyzzribtGaIM0t0PVaQwqARdpm4n6sYbyxwOm9SVrE
+BAIVgrGfCNQKwHYGKbnonYsvUoIOPyK8zW6DvUaSD4KLPURvLzhvQKfGbpzVYDjOrOm39vEvwRAV
+Z1ylAXfV7PVMWmZdWYCLPgnUgsHw3u55K8SS2u8/wFxzMbCIL79EwrN36/bD+QuI27stSfSSloj4
+2pIMsJxDHF2PIUrWAN2kZTA4BYS2DGi5NN3pvcJlGQAzr7YovKPtnKLDGh1ASnaU1sbEvZ9Hq+Pd
+LXBsRANC57B8Ke3bICUoJCSdkAHHhqnnnOWffsG8xjTEGCYmlt41QOsoTWDmdSXk7kpE0HLXHqkG
++h2l6PUiBxp9Y0oGtOMn4rDGR5lImXlTjrCcXcuN2Dv3kUIvX+u5X31ZImdn0q6s/flS9WAGmHl9
+iaHPY2ZioVcBzZoyy0U/SqvTYJZMYC33bRe6P2sJTjUdZjtm0rRjg1RjYpQAmHlzFokeYCNnEsyA
+oUy2AZkPgWAB4GaGwk4IjZJbw1/TpI0PMhy66bemYEA7FkE7GolOKQZv3TopqPOoGzt3PuPCgtU6
+/gWHOEsraLyaiSPcVSPoaJRcsQ03vWNooYmUnLz8juEwQMIO6kIO1JQoxMRMcv7Xc3YCIJZqIIPF
+rsUwMXVq+WXDXAoi+SDxQDv2ZAQY0ZoV05vC2/YmLZhAREvArRtpnwLfboVITa1nOZe9ev4V6iRU
+XxuEaDDhCO9+ddCFSoCDggGkMB6m58vMIgRaBKtpBxCg5b5dxANYGyDQEnB8CxZg5rVeAz1B0Fqy
+yJ4JC99/X/6c/kfbj4ixFFI3be1fd2Ss1oZVryMJsofR4u9/npMLAFChXUiQj4zIbiQAFqlbiftB
+M6bBUOc7LAMAMa/1SPQACBQBjSitSTnfNinsUXshTosl4PodCPglxbA6tbCfTlpshEAUmCgmdg+S
+CMp4NnlqYyWk53tSWLCgnPKeCfrZ1ZlwCLNo6dIPZ3Q/ieXD04Nax79E0YH5sDz+Y48WXC/gqPmX
+SbO4YTbGT2ItIKDEholx/8llAShHAYDCAlMGOmrkWzAxxG8vLgRGj+7e5sP7QD0BTcuKHWbbSWUT
+kQrsx0LxOq9wdyEiCO7dMA3J50vID+ch6tMwJQGwKFkL9JR2cAFGaxje3R1E6R1hr9bIhoYww5LI
+Eg8Xv2D7GYUASKfffv93h7LJnaVnPdA+XAli5g3FDrM3wMTSWgV0cykJAi2G1aAdEYSAMjYelqrB
+W2UWeO3ow0fPvwLLQegW4BeffZsZGmkCSElzytt7UO/moZ1jz52PxDgNJpZqLdC6kSZi5s1ZhtUb
+2sifD4sGMnyOWIug6nUiAcHNeqylbVLCuehjiA+bKVvqoZVAp0hN9CukNRz201nSOhBaMwsOiduD
+w1n1jA3PD79BCS13b2YOfifSP/xo2d2JLn88PM8E4MC+i9ZEn2kbiWsd/4IDGx4hLvR5zaMQUjch
+q5JawsQs7/0SLz6gSDDvDY+g90vS2vuWrjQs3PuAVI8+qmrg7ZgY5r1vA5c+0gnASqhmLWBo2gWB
+fmMqX0m0FLp1HAuwUE2GfYY32/fJ+uIJtPyiq80/Wm4/SNzfFvQI1AqMHWy8sP6tBOv4Q10cC8Sh
+odkEc8s3V/VSgok5BoC36KGIx3WZ+6CWu/cIPZBtTXEJzKgOJAgsDu4k7s/MxNK7FmgbrYHkRRdE
+8S4I1WnsUW1SidZyZ2ffeVmyEUB/ts3k225cjqBHbq0HZCYBfaVlACxSkoj7M5M9e1tBXQl0YD+p
+6HY+H0xprgPaNNDEZAWMXY3vBo7x/PZwcdT7F1q2IVtkbwb6sTLUXmh08dHCImsdvM4RRLCMhPki
+b1+Eus3xFkDg3SxVs6sqNZoSXX7ftHjD4h0mHAe/ulOdUd6TtZJ/0WG9tNJ8nsCcCUJ7tj1zfKE7
+mVgZL7zmfO86S5KSawbc+RKHBpPXt3PNtKvhGkrzyGz961uJl++BVsKzEugQwl44U6HR3LKHfGJ2
+gImFdwXQ2WlJkJJ/fDMo+dC5ACKuf6RemevEWq8I6OJjJuJ4twcbsOnpwbfUgPILIDQkG9jzYOAz
+DPLbk+iVzS/VLxsdmHldqaF7gphYqBVAi0a2+rsxX9juylru3yn0ANYwHv1uQH2kgtBS+QzrpB1V
+2Zd5S5rf2RkAa+nfzADSMvmsQ6LJjF6wlLEx3WH2ZuE1iHljvmH1AgMsaDkQl8jER7RhRdsmWGZx
+KMkeaEjJnW90z99xEwDHlU+0UJJsDXrbYaF7AshPh+lMtJ9OipYcMaye7bUgQjtI785ur6x4uaWS
+zJQKoVoq/xZH7YBe8J+pndCxI0o3vfEZ06YzTHqujfyrZe9PCAfYlqFwABr9STBpIe1YkwxWxn8f
+cn90uddgVtjqSWA18T/++cX9yJsOc/J1JTKkRtYSScnnvnV5nrzHIiFEcgpxH15x4703OwFESkh7
+xUSsatqAtdy9n3gQg8BUcmfQrznfJhU16HJWffhMr0S0BLpVrG9PLFGT6IPYx3fxG4aqAemZKCQY
+Gl9kPxpnGUwE1Adj77Otbit3WLaF45j2RAQW+3cS94M2bAOujmtlq7/rix26F9goXZXYQgk3gEg7
+vjSDHevD448ilRjLy52dAWJe45UqrDMJMAqvOuRwfdPDlBJiGayAzvT05780V2IJLFsVZpG5Bejr
+UPaw1ti3hqSxvtjQPcFgogdS5jaesT4ruu3IBPgD9DCWQkd0IkHSAILrwbephKaB8Ki9TaI1gNS0
+J3rcZe+8cgOI8L0KaUcS2n6wflcXi5Rw9/y04EcEnNqufQpQ6/iXBI0KLMEuMBND0Dao+G5MxMJa
+HdTR/nKW8eOtkZ+dDScAJzajDZHbXVZDIIDQkBDUzPqVFgdeEZ42DykhwDTba1i98ce2+twYBBMA
+GGQZX1/69m0WeF2xMLoTMZQxb8eYoCA7uqlX+mJUs/CuBLo4fdoA6YgGB1Hw/MKn2teA9AxAO4IB
+yo77j59fowEU4Nmg8hCeLM3VQOv6vjk312H2BZhY6OVAxxAlQKAVMCPbEbDj8I2Gx9kEDNMXFMAy
+lg58YFJlbQZMtAQCHcN8czSDFkGoxFgmsoyv1ro8d/XwOgDiX8GxLa3PD9RniZVAYqy9nXFrqsPs
+w0zU0NC+PU8gFkthhXUhQUpu/zmxFd0IADBJ+hqTaBnQtiELDoraBelgMDFZxtqfDfOSUVqAiJsJ
+hS13Fr/rUMQgsl/FplnJ7X0u+GSzKAHIAHuNoT+i02kN/H8iqH3qOumEcxkrSIIBlCwEXx6kSOPI
+sH5d79XMTJax9Grnc91379+/f//BfSu/E3FMrLXWWivLaykApuWpma3YrOm3AgMXOliwEoX/hdWk
+LS0K6ElDSGOjnebINA7e2vACDeYV0M3jFAPEK2hXtq8Op9RM9hb+3fsJ/ZVvqysxtwPtnND1AVUj
+205JczSI8Fi4P+hFPUBg2IW+pW17//uBXYS+ygKz0stghnRgkFacuh3orzSYCVuARg0Z9BtfxIL6
+BiqsJ4AZppF3nfvqCstX9uZ75CSB0V8pZkArTZ51APrA0iz4K7IcF2sJWHLuGomezsP7h4WaSN8K
+9IFNxnJYjs4aghNaMvYrgAHTkfI1oUVjRWBeo7OSfE90GPDt+Uf+JqCvsqBkH1BRvmYwFHkf0Fbr
+dzSIAGoQq/Hl1+O7WpIJxF0bKmy0X8US5o0Fd+zdqtPsoY7kLqp3Ns60QDy1bv4FmMd/p5Zt6mga
+MJ3fp1DYOBZg8foiqV47Z7iS2th2cYHjobt9OqRXJ0ZTxRVRAwSHcXK+TOUg3iOAhmSBHbhzh9Pb
+Jipl6aCGVvdBC+QPT9U3QdKRMrrwp4YQwCKgSzAABnJ426C+DmEEBUYmdoyBFmAhsK5YOIZIn67L
+jDaQXscU98nbjgCACQ0hzJ5XlVUXDcDxtD98GIGFwIYCp3e4lAA5sRBo1xyChcCWLKmHScnExMWA
+y+FxFr3WciBLFT/2M2NRUjsTMBz5l+6a0a6CiyGBBYCdB0lhiLSX2AEc3A7GUCkB8h6Bckex0uQ4
+coNyqj40p/QiOJGU7jCH+shYAG7WFYAVcOWjxu71PTySpSPz4oMOs6/9qFzkjR4eKGRQQFh8hzjp
+a8zde6UaKiWIb3jbKv75flNDSNwxH82+r2eb6zg0fp+juP0Eu0FIh1/9orFxwWATkIZ149LXen7A
+9MeDbBGT8/D3fGejU+I+fypRC/lXqq6PPWHeNTMAcGY/QfxinJIM3msIYe4Fa0oZe8SwcsvfIMHn
+Ts+gzAOuI78IiOmNI0WzkJphiuZaiK9udQM5d3zePplycl/y3M/aOXlQYdp1/20A8E+3H/mivyrd
+6f4t2dB75kTI5kFK9H9XbtniqyPsvAktNdHukrzXJIyFuZGxtgETaAlh3dHPqpHFKxBTDBjPusr4
+NUKwvrpPuesG7SnOf1lCLA0z2qpk97wNhs5fHFQvbl9B8QuSjGUUmsjQRtxSkZYXhvvSpgYqqfnZ
+uan6ui+aA1hwR9KUSypRy3QgU+Q+LYUWv8FwtXBRShoVv1pqkJjfyCmbBzkabA4onvGIBNZerhul
+IyP96UZj9+eVPieFWBUvWxtb3SuWSi5ZEB6aIPQdX27WD/wYBmDJNXulwvI/ouIjmfs41UG/b2bA
+8PH9NNHhLOtpKXl5tNHSrdtPeEw8334kgL0TP0GfzxJ9y4HKiAPkq8F2ADUi/dCP242bv+kEYNU9
+yx+7m5cLPfej6yWAnZcfOvvBM459a2P8drDGuKkY8mwXWvXgCkx4WglAy+lXAaFrmzHLce9Vvv7K
+Ty2DALCWd08pP/3OuJqI4c5ceOE8YMAlARunFX8XOAJwlz70vCYtf782HY0uaJz1x5aWn/XwOh98
+qeye5T0Ffr68uEItjee2xJ4uBb6j+1+2KVNyY+/S5muDa0qLsYwp96nzf/BL45r29swJXR/rr17T
+gU55vktDDr/xqP+2e5+Jz/D9ed1HSiqxaDAwZMjchROfUAKkxbpLdyP8osT8+atipo20Krp5asrp
+fLCcgPCkRqW9N5Yf04YOWHVOFnBd/8L5P7b95YX3ILT7jy7N03wXyEM/jvNffNUnmsSuizei3VWN
+Ds1a1KHBbADAV5doue78QxVe0/3jWVzSLdl3FLgtVkE+9AJwfifa+qM3/J6HXP7VfEu+NB63vGdJ
+n8asxZ6xG+G+uHXx0oWBU69QVt91TY+YFw8NTV33Ba5+K0T/PTmoLn57dWAS+KD1i/P7RiAHiROv
+1oKYBF+Z/3no+OaawOFtnBVsQ8IcVR4INa5jPUOCNFlmboOakZ8R+tPrXyUvXgy68tHW1gPvWe3u
+vUITSTVq+aRfU94GWr48LkgZXNAh2OWQDDMnpo04dPd36NtRgLVVsHuT6Tr82AykNw12uqXl9Zac
+46NMcEL9lPdCa8Z2BACIUoEVErNQmNAPxpfbjkRG41aOAKk9Kq9LSFr7EJdDmF6z6MLM+nGuAKk8
+VsH5AAse9PmEffPn1//kai0ILFTXZS99u/dDoMljd0aryl7alFUv1mUYDFbam9e1IfLC+wQYBgOa
+rbzYFuBe81/5Pe3jj9F40t3uh3askGc92nVrdFOX29Aeld+8weF2oU6nME2z8AKC0M0Xvfhp0sNA
+s5fvPg8OcrnjelLpQ2/rTj2dzFoVHdhY6Cx9YLAzJ6ib221oj8rr2JQF9KShU+b/+CPQ6cJr46H9
+CgpRd3R83u8VTyx04pJXvkz+DKh3791xlsze3Our3RO++QbAmHGj8TfZtzagVs6/xKDDP686IOL7
+nB/py47iX3QEE7yVzY9Of9QoJpTrZjW0EYyJCdaOI8XRLSKhJDIKE6CJ7IAt2TuzZGIzASVAym+u
+0kQHRiY3+OAcH5VW0n3zKH59qGY7l4pmWV75SvTSJxWzriK02Hf3Zf8qd7UC7i+eYpRVz4CySWBl
+sPYl59TaYN9prQ17b4Eo2pgR2TXIZ64jJVGwIx1xLQ2oytkzGagQb0ZJgCsca2GHHsrdlaVjWzqg
+JA44GkKTj6OOIgMM0gIF29KcCS0Ic6yokIhAt1Fw8R+u12/0TTR6/5PTELCmjbZjAIKVASYwCxzY
+nx/aOF5UzLrMZM3u1KicLZm0QMn2NKtpSzeUgLmkVxCwda+OblHvBFJC1oL5tzbyry9YmQ2fuMbE
+WrKuNvfqUd4E9v9q7JWY2OfHpUgwCx9JDLCPEcslSl8YTJzze9Avg7WGHTpd7OhaFLu6vs+gTeUE
+MzHVeOqPCt4V9qozVWkfKvutnJzyP8ta38cIDPIPOZaoJptr2TI/+QdZlJ8grthMmgjajlxfLRmM
+si/vTxylxf2v0Du3ljdmSfs97sXdtCy7zXY89U+yVpWU0BVmVUbZx7QEVRpNNf/9vL61gH9rofwM
+EENoTQKahW2sBzEJ9hneqwlf6l+fqRhDuIb2HxFDMjOTHfNDg6S9TY2JNDMESV8ERx8suXw2jRhs
+Gv752HS5iiPC/VsiuSLBUNXlNz5RMDFzeax7JmZQRXauQELFvytTRgzBmkn4EhcRmIg1g/wfo9IT
+KxzYLFzxBDExkWYA9s0aRMciw+ZgwZqJSELZy9sp/6V211u+dNBgSwRRYEN/HXYVBEBAMxNRJfGe
+iTVVEIoJDMkaTELavwrBzBp0wkkiTjNqJf+CYKu0FUOAVthAU9311f1UMx+EKtVEFf+peLp8jMdm
+za19AwiDlfO7HB7lrJSJ0L9AXOPbTakCv9pe1ly1Cf+scXxvJY86dwxCq34MquaCo1/8WGRUfrYt
+A2BXLhKdJvka03LO2cr9GlcK8kqVKan0C8mqj6sYzLQsFfoZitpLOhEdf/qOWgVKYPFTsVNblrIU
+hPOHJ7ntf05RaIHKD0blaYRwhs4qFV6JmrjEot0OtixlWSyca8epyOdrNvn5mYzay79nKkjqgQP0
+1ou2SYdhGAbtuPPCvA4/R0Gcaa55tQKkEq/RuRcvEw7DMBwi9dkB+xv90I5lXWPaqJ3y8xkNYven
+/1r2+7yR/WKDcncvm4OQ2x8JPQNNE7UCRPrlvBkb+g0aGh9RuG/VrBJxzVNxNWhwO9NRx781DhY6
+buHHXyz9+WcAMAaff2HcmWhZrB1gwaFfXfbJ/IULAQDdxlzUHqpu9i1DHf/WOIiFNm666eCBnHSK
+aNgyAlAnExb2nw1iYowdm743O92MjG4ZA2jIMyxHwqlEHf/WPIgFK6NpU/uIld8QU4cTADGxJevX
+9x1aguoaswLq+PcUgJgk+9N108mHhf1Hg0ASuq4xq0cd/54KUGXDaF2POznUNeYxUWc/qkMdzlzU
+8W8d6nDmoo5/61CHk8Xps2fV6b91qMNJQGuwPn1KeR3/1qEOJwzSAZrYmXd6duCijn/rUIeTgHND
+MAOOHafNqFXHv3WowwlDlCwHEZuxp4uB6/i3DnU4cYhAQHDxaVvAquPfUwP2RXepvd4GNRag5H9A
+6J83I5/GZmYN0qdxO3Jt5t+/apVa2/uYWEkB8P8unSwT67JuzIIYXNatmQQD/hMMIs1giJqLjlDp
+6fbzKh5DnNBIwSCtwSA6hgM5E/vfpNb2hVOMWsq/DGhmkKh+CmMAWqPi70xaSV+UFUBBnrZBmQEl
+DRSkBTUkrqZjsc1DNdvj7EgxFY5ZVD6sdEKW3VWlWflEKDv66SA+OkXSCb0UC/Fn99Mx3+Qfg1rJ
+vwxoX8AyXV18NyZWhpQAoNn3O0EIsEUEMIzT+FpMUNL7+YyZCBz2SvOq0SV94R25ZhmYqXSDMByG
+BGtdEN+AaWuuWxoGMXORuz0T044Mt+GQllncMH5JenZmbmbfGytTx8Ra0onsVWbS67VbSAEwdLHo
+wrSlKFBIAYB1qe54QqnUiWn31ryM7Cw8G3GM+ZfWHMzNyMls9tA/dUthbeRfu4dv3ngAib0SoCRX
+CXqohVGwfGthcFzXOF/YXmaRPPvcBId9hXd27hWnK/ITsZbzx6/G1buW/1wwq2peQWLIvOyEGp5/
+lTFtHIQgArzA1xfjYJ98GESApTHmJyUoa3CqUwnBJr/QcwgAIJH1UZM0ZGF6vPAH09bKOE4qtVze
+H5CCAG0B3VdjeydtH7MJNN1xQt2MUTJmGwA0fqX69SEtN/UAAFxX41F4zxTUQv5lYi1XTvwdAORl
+j7Y9OtwCkxbFU6buBoDg4XcN0bDDKE+b9NiAPm2iqWD/pkVbGl4YcHpUIiYtp9/gTfiyWTeSW7Ib
+6KoyKr34WvaQz8O4JrscwdOrMEkDQING0f1A+W2t5EIACGgRcB0IlNe0JBcKiIkds7VH9l4JcVZl
+BZjB4p0X0rp/HaOFnVP0b0REzu0lM3YqAEZXt7oBlNPdyN5hAqCOwda57hNiLxaFsY4dpsO6wH2s
+YPxZvfJ2krRG8z81IkctjN/O0PLD272x9w30LngpK+qjcyuHO2LSYv+VS3FOB3P9PADjJ2kihpb3
+TVHlV311qTpNqSCVnH+W1XBumxfHuzw9FzmqLBIp+dYdAL6+uCayM1WqWD/zlISa+IBLAkwaG4bl
+GlavrxrZyaGgsya+y81fGBEkWHtGLEP8xpDKQ4gSX/4LxO/eakkCNG1deEnUcQ8yrPRd7xk68OeB
+vmw2Sk96XLLx6UV2wOcT+RhMWn98s8P85Colq7+ftXXD5wja2Oy0zL9KfvNyPRBxSaNWoi5+uw0m
+Jb+7Ce1+jQN6jRl18LI5fSqPvhp5l67qP7kngFk3peKFgrfstHGknAzFJFgFv3bp/yJea3XUM+Xe
+bmFiG9XJ5Ymb4qqS0Y6F+ZZBMCNrXrx39AaAvoGKQQSizk1yCQlx2o4DDar/nw+i58QBTCKQgE6h
+6ij1F29ICW89wBYT7lgwIlof78OJnAUQVrfB7AuQwY5CCDP+EjpxTZ+gDTfMwB7HDCRMcAmgRcI/
+dfm5Nu4/0iLtToi34zxKedq+iOJbi6mSeMTiiVWDf+qpLUuP/NLBxtufSmXPMF7T1KwtNXL+jYpO
+Typ10vRjMppdqWnkku9X96ou0Clblmme079mZwwGMwdDA4fsxmJodgM4rDUDzMwaL1nvxnmZoXBw
+G2FIVbOlUl5vv1Hann73LOt8vNMag7UoXA3GIK2YAbAW1iIQ+sKyF9xP7J2AuUBC82NIAQwtStYC
+A8VxDzP/31Ab+ZfeSkHfAcophFONbYHN0/0JqAEALPdPDXw5wktSkrffNVrQMyXStvH3GRkfkTjg
+3vm/d1cnZnE8ebCgTwlnBWnB3S+I1lTN8pXzlbZN7/rUWbPzL4GIwgwG8sgWYIllKIAikvaPWq5/
+b+R5lr3CtzFbyF5HDXHE9GLnRjd9HWznLaIfvIOOdyWaAKade0ihjy91BkGkbIPGAOCEg8gTID3r
+gP7GMdiTmLFru0Cff6z6WxvXr4yCT4Gh0BIMOAftxLQbKvQj1vRtkfOKe27XBBL6sqkmdqwYogQg
+cNXthexwA6xPW8Q4FgfXMIYzGIpFxXxM5EuoIvjckVYAat61gxASnEvI8h0psWsTNIpLA3wpjmi8
+fNG27jIthopvy0etX0ketNoTBBYM0lTwDvrxcXsWEfMKZVhRncmXWpB5fZ60XN1PJocGa7knWeh+
+VdjT35jEWKER1INO01rH6Uftm38Vlu8T6AxiEJgTIJdvEbr8CxK2QO389zrSxIJahbHEat8HLuXA
+EDcsBYEaz7zCzFpZpqW5Ym9iZq1M31kGs+Z1eQjuCgKkz/ypNDMzLKUVE4NhGQFKE4P9QOW/T5jE
+4GAAWbaHCIMezxQaRUXM9qr4T7Nv66glE1joJUCnUE1aKd/7MBgMSwYpTQywkk/tCusMgp8i/5uq
+6ilk0AIQ2vnX24lpIQTiW9miL4NZW6bpf5zvjbVWDOZyMvyV2efAvMqr/epvxSuV3ZgMWgi09Km/
+/k+kfA3J1TWwfR2XXVd+n6mYLYUzay6vdfMvgxdB6GiypTBKhDCXdawwDRBKBBlqU1cGgSIDcggH
+ffMcQTHXPOvC9ijxpbmq4FHiOythu0rabkLLgXZNfB0Kmg0CoIilAfsywAAk+9ID+mOz2Zx9UqQT
+BQeBkM4gMCm54IuAEkJRYRQD0FR0f73H7VTDLA4lEw/RlosAsLbjKVegTLHh+PQVJMSX6Z0MaEhf
+SrFqc4jKog0ABvnTf7JQK0Do7VISPocbu/1szYaJ/fk6Wdnr49pfLQNaGwRAa2OBX/0tP6uIbd8d
+Jm2UrAMGCCXKSARgZ3S1m9vXvsRMDLa9e8C+CqCE7crnz2CmjDPNk6vW8S8EbYFGmH1AiAZj5bgK
+4rA2enypAR9LKwbgKPvN18OoBpNyAjarSaSvOVjcuGvzsvj/tp9J2vqdVkzH9qQFIGBgIdDPKP/Z
+k5YRGBcIlP68KL/PrRBsevOzve2dXFErpPJMiychVbM7EECmLSLD/E/0tS8TFxSCwaSMd3a9GaUk
+E5h5Q7ZEd+FCWopu0FhqwUws2PQWZJe0C2AY8L72CDDY4afIfpXsDcmlUe27Sl01lROz2LGbFPqU
+nRAHtkJjIDOT7XCD7RuPyOY9IsG24Cu06c3Ptto5DRxIp/pNfdXaKYAFMtK8DRo5S9YC/Q0lbAqE
+lZ4mY8MB/PFHeqt7Apl513ah+9gSBmuJ3M3J+RFturp05cSHXCGVJbGWKNiYVBjZpruhhX1fxrp9
+uQFd+sofXGefWZ5ctZB/9VZoR4S/FV2kcZAqpnzUN236NnR8Vy0ARloBNOL9nV7Kg3uKo1qEV+O0
+dTJgYoiFL/8CAO7RT7e1PQyZtJBL3/naC8Ax/NVWmsWyZ8i7Dpi1TcHxXmMl5cpPvk0DEi+745cJ
+GcAnURe/8ENhaqmn+RoHm/ccCHYYpqXyHx5sGiuedzhdKLLebHzi69JahgAoYAEmJT9d+0GDl4nM
+AgCkReqzHW9UwpdRdDFU095Fb324Awga/FRXLaDk+x8XpZR4YtYHMH2/fNYmCPwxWhH0a22VIE1y
+4ztf5AMw+r7Us6qHpU/9jeyg2V5rUnJ9nvCpv0xa8IdTNgNAo1vGu213uSdnFqZ6PPE7Pe+9txUI
+6juxr/1FSUm5+/NfVwI498kon/rLxCx3fvz1TiDm3IeT798OAI8qxnKf+sukpFz1wVcFANDx/mtY
+iR0PGE4XmarE+V6kklNmBTmcOrflSxpy53ufpQEQXScN04K1XPPSDABAv3bvjz37zPLkqnX8y8jJ
+AgKc/uMAw0Rmqbui/hv68WRnCBOBtVxWKDX6+eRO+ftziwHEXHJ/fI0yMDHzhJcj7x7QOO2Nud8t
+/bWbkradOm/8+9z6rs7ZH34/M2lJEyU//x0AkJQENArWsuSRN60WVwTNWvP8uzkXjntjlpnJrx0B
+gI5BXmfyO/7qnwHTFz8DABqFnLj2RcwxgL1gpSnvoYTr/wCEygEzWD6eO8OtiAGf+jtk/cX7z7rM
++Hz7r2vWNtJE6s3NANAm2pIHLrVArLF1K4CAYCbSwnriteLGE/oWf/nfRWfN71zFHYpBCyDQvXF5
+8t7FkDq+FQswabH3pnldX+wcuvGpwxNXzggEmLKnZAPA2UkXbR881vX1ptkr1rTQgkFK5j49NV9e
+3BaLf1l8tonAHkQghnj5+ezoW2NW/PHhN4V9n5v/npkKBi2y1V8mJXMnvM0drulirJuy6drVbyj5
+/c8+4pqFaOF5ZT8A4Aa7ovAnhuifXltz9m/DFeTLD6kHRjVxHvnsraUYeGapv7WPf4Ecb8UjSUBW
+iavCAjQx14MSxICgLyBVn05aANB4fY9xXQ/Hos/e/GH6wJpMcsUs7nk99Nv+AEYNWJ928zKn3WMO
+XrgWd04KBEYPXXxg4ofE40a73/4OTd8MYCsuTOde9gdufTUAjw5emzPqO7xutrwA07M+/9EwhzJx
+05kFbywzrF63JHaHoW/y/lerS4b2Cz1xr0oGRYNRVOhmoYxJad/JYGiBLICUWDP1vBH29AsWh5KB
+1P69fm0HnNvfSvvh30oK/Vb69587vEMYFPkr6K5ktHydiKyYWBZa5F4+C5e9GQWMKJmR99DvVcxi
+LIvWQyNyrunfMMSzAPRxKQnSyDhvy4BZAUCvDiO8M1+eqCQoYEbut18Kld+/+dquwOXdSgq+ekwR
+wTJW3rQFN02IA/DRDV9KldCcBbGm297DiE9jgH/NyGs+x7nCjLqOUab+kpK7L95gvPxvAxg0dvie
+NxPu47EdDz+RQXz98I4OTfKt51dakdd1HUHm9Z9j+IexwBBMMe9fZchXH4ie1QVAfG/9vuh1SpZP
+Th1qHf+yKDEBUUE1BDyqgiGGGKRJgEFKbJhHCk8ZSjAAY8/lL8QCNw+79dDZMwfWXJJJ1nLe6478
+R2YZwnJdu9q5fmMvJUiLw+dsxm1TYArLef0CmpUdqTt0wNNAj/MAQNF1f8h2U5xeHXDOKrFiX9P3
+VwyM5qGgH7TRkwRFjELAGKkuvBaAUB0nTKOPrj6pbUkERAEoLIpmJXe8OuICjnCYQC7AwHjXJP/y
+EPOGbEGzr/8vtEVNIw/TQSZiMQD1pmv0BnHIWSjIBUaNst+eNPIvnovzp0tTWI6bv6Alu5sf5XHL
+LHbsgYUvv6x4VmMAMxNr46kt7sVT7mOp+vScT19NkEwcMAzRX2gx7cKvHNqiBg2302EmwDJ+vyxf
+vnonlIa4fuX7UvU3lGAtx78nwz+KMS332C/knmX9H+ndsTkLv/pLWu4euTvgs7FsClhxE68ST17S
+pGVLLJ0m6N42YAGcc3hpq2/aA95rv0Tf74NNoeTNr2Pzmn5bHqUJXTwGwZLnvdO4I51R4nPt41/A
+qystAhJQalX83b8uwcz0mMflGT9cCQYD1r+mwwLTdd/+Wnztqno1qMjwx0KqXMOA1I3AyGSA2XvZ
+ZtFusoKDDcSBU1Mi2KKD64GByjKgHVN/dHonOC2n0oDMTY1rfBG08IrFUC1bMYFN0cRhYqOlnCDG
+O6UvX22xPDmvsXpgFBaCQeO9L4KCQ7IJ2SAtv5v3QBvfgEZMiyHNER9qFgYVFBKHEjOxKRbBatCR
+iNgUi444zH7KMsAkmOWNc2X9D6RysEGNXZ7i3Uf7ZRHzCiWVe4BfrmbjwGZSrh5EBJYZ30ugwGFJ
+reuDi4tDmYm9cgkMs9cXhiUNkZMHDiGQMlZcXIT77rSEEGTpUe8x+jGTkotedJh3NjYNAQ3p3T04
+dCy0UNKn/mpkjNqN+8d6HQ6GQ/d3mfnf32Uqoy2kubmFdjLI8757Rnsvu+7/UgZ+FGw5mKh+VAZv
+6zu1BO3BTCRFgOgZeNoiSZ4YaiH/6kr+dpp9i8xHg8kypv3i8Fz8rBIEFrhUTWQlQZa+4RfHvpde
+tGpMEiI6oEtxi+EVypEFoB5ASj6/1GFOdJnSgpIKUnkAiI35UvURhgCVTiFv0xEsAJEMDSdZEIIN
+XgJ0CbQkyBCNo1OwVwqQMja+NORe66TTjIYDZBZAOef9cFtn0wgOygayoGXh/dEP+33BWOglUIGT
+SRnMtDvPYbZg21y9GOgQpQkk5DJYId389iL5yTdO74NRHmlBs2KhS6tsyAYtgFA9/yg/NX6zYca3
+ZAGAClNYBV+ptMmUBwQGMQgw5BJoxysuy2Dm/UcMqyWzpowrikSbJ30JV2mj7fzMwBtQ7ou0IC22
+A3Cx0oLK1V8t798lGj+gDWICC3doBpbeKUm2BLBHgskyJq+d3NGUctabDnNcy1LDApNiwEurgSmd
+IwFYjkw90m//OlNQC/nXIVDBiK4ZcFdDJZMy1t9pmKOnEYiJiHv1AhtMLKhjcCF99nB4zS1g8aOl
+5lV3wAUHNsBs0IxIiS3PG2afsXABMJANIhdAWAaV0JqIlEzaStw93JIsStdBN01kIQAWe3YBQxgE
+ENeLSkFafpgGrH/Lt4hO2iUrChAqG8Jzf8STWlBQEAiZrB1v7psaUWb1EoeSoc/toCQTYyWswI5E
+AMuMJGAQawMssBjcPE4LAMziyH+EN/EucgEACrwOHVDFH0oWrQcwmH0LWwy9CGSrvyCOf/Lz2Efa
+QALmTqCzVAJgmb0Zalhf7SNDOToTsXxyn9P7QIBlu5nQEtv6yzJzCXRiGyIWtBqWqwsJCZRZf9n4
+9lOn96pQv8pUmg/sJxASobEHBCWTn+hzl5JUeDesyIfgBgB4Mg0riEtI/Njt/EFdm7jQeeoVkHXz
+70mBYIiKM67SgLvqWhSTlllXFuCiTwK1YGJiRZYhmUCgxuGFlLri7Bpzahc8YpiAuW9b8qGC34jb
+Rmlieq3YgYbfmJIB7fiBrPoNiIgWAZ1DlQDzEeX0dmSQJdbtMqyxEZYEWNO6fCF6EjGBlGy5iQ5n
+hEIZry59qY1lnCT7EiKgBbLZ+HDDa9GWtO3B6eQ4/Hz3q5XgcvXXYV7CNocsBDdLYAFm3pwqVR/b
+xTNlG9DfsAwApIz3Mxy6yfemYEA7FpPlbEpV1N/teypbfw9v9au/IMZjDxvI35W0Kz11j1T92N5Q
+kXTIsC5mbYCJFoIbt2OIrf+V3sYX2r6lLDI229Zf5ux0oTsIJqYji4Qe2E4LwGf97ctalj4FJUYz
+mABmPuyRSgOERvXT/6+9qwyzo8ja76nqvnd8Jplk4u6eECMuQJDgLCxLsF10cV9scXcI7u4ECSQk
+Ie4uRIm7TJLJ+My9XfV+P/rekSTsB8mFzOzO+zyQ6b4tp6rr1Kk6ilWiAF4Vfs0x1vl0lePVn2AA
+gHopDBpKl4WaG55/Pr7tsZe0aFZxc6r9Cioc/4LJgaIyO15LYbW4AzPoWBT+bQUufcWxygqEcKAj
+2h/GxUPZRSfESAHtuw7M+mzcMgBCbfrAKp35HTyMGFF62eAaFrJ5JdCfFIgkw6CupaUablnnX1QC
+iMh02OYtI45AbA2ncFPzsLv6rl7Xx0LflhIIAXu4++42lxsdsQdnU92V81QgqgIUylSEU7uJolBl
+LgN6BYyGEDNgancQEZJLdrvhfgRpNXTR5zCYMqX0LUcfZPs7u5zzM7AoR3vB7iJCCAVmxHfjdgEA
+jNtTfIPQNJjg0RAKdd4ioEeCpXxSGDAnpfg+W+TPOx2vDwmRxMRc1LFWh4NvZKvgw/Tt2JhpkdRN
+oKYu0aZ5V1/rKcQSKFMHFElrvAvrCuM955WJD3XwNO3HQiw5u/TTtjnK/nv8RjhOuHD+/Lc+ON7G
+TOn5J6HC8a9IzYQceMXR42KrmL7/go1iqf4xDv96jFbBN/u/8WOdWxr7A4uJUNgUowBCCqknPT7W
+YvAp3dqPvEjQD7BqbqY2jZ8JRtUdNnA0xciCfcr2hlAUO7ZYKyu0hvr6KyZ+UMd3fRIzFeiS6EX8
+/5pDsGaw4Orwy645bHoFScl7BJnqwd3vxxsBmQEgV+a+95cBUfELKjsVaNnAipD8ebvj9ScpVDIZ
+6FDTnwunwks+SpSIgtG/rBJbbXj1aAyY1d0CByQ0Opjzs/G3v2I0Xn9hGZIuPKZL8wu/RL12FApF
+poKNW0IJyVVrHa8fjRP6EcQQRtlzCjzf+dnW6j0WK7RGcPFzsC90N9pPAjgFaNGE4HfQZmC8ibha
+ywwodKDVxqkH7NvSXK+/vcstRlNtm0MTfK5RtClEp1Q2Hnvb6JAHuNj91/lHJg/AYaDC8S+YUGeH
+MC/iNY88aFtfvHJaBQqpb/wUT9xqRJHr09KN89HlwLyJvp1YihEzLzgKIXc+Rpx6Z08Ac+hldIRj
++Asc0/mM8lcKZsA2aS0iFJM29Dl8ePQxuV/fEW7w/kB/cUy1bjUwMJJxT9gUFr/QfWPc/Z0Pe/UM
+gEmJe4Dw5pdPOtEowrcHF+ffHv9YaXdQbVkF9NWeAyGmwyR0FRH4orj89hfcOPqUulztueGmw/br
+k/KRSyp/IQ50fu4VNJpi9YbLfoJ7yzV1gcJFQI8EoyPbX/QKGgUhZtK6PQSyYyXCSR19KU4lMyLb
+XzHOWWMw8blz7cRb9yYNv9jTFICR7a+nZQUE7SKBEdQFsxFWJ4iIVS3g5G1qhutzXgsasVyXr2yt
+K8v1mZWW36yYsmjaijDcnA/uN5XL/FsB44/IDtDYGdFBczcE7X3vc2Mi8SJCox9/LvDOrZ5SRua3
+ewyGYyTozt6sCECKckHUjdFKiJZ/f1Th/m97MuyFJwMdMiTkyTYQLU2R8TzP87ywnzBKpgCdUoxA
+jJ71Tp8Gu8+t2fTmwFUzBxon8qgFOcqJBt6K1K/mYalsuKXzbUYd/oQjkpgIYNu/+DghErEHqxcn
+3NisxJuF5MK9LvoRjGx/mzcr2f6iF4Sg2rES6OvQymNXbVayFUBLE/JbasLA/lHNpByw/V0W3f5a
+tX7ITzpj9CN1TcgsXeOgPyVk/e0v+vmeyzIZtl57CvfkKdRoENWTZy4B+jkWYvW2Rzu2D91Yp975
+O86acbGfTMff/qI3qQp3wUPbaKQC5v2ibYeeVBRpDYVV6t2Rd3b3NCnboNDM+p/Mb8r8HlOt1+aK
+V+bPuxxWlsc0J9mfgYonf60++n3BJtKPFdkEi76iKFZpP9ckQeO8fXvcO+eGHNJgeXETiGh6JqOG
+7wGfG4JFu9jMpGL0c+8FQjfdY6CU+mWt8GgsOe/iWxSADOUofyOr5mU0INXmlcAA32M/fI0ZgS9+
+zqnd4fi6MH6IT7ntLyCsk56FHfaGnFfjTCzCgRmXAGJkztXtI5vpdBA7729wa6nDslCmIZzWRVRU
+5h7tlt/+glyU6Yb7kdqblNHJSgCCWgrKd/l2l8S12G+hf8D2l1wY2f6CKL5kdUB/MjisFdUMWPco
+DH/py45eYBpK7MOR7a/AQJAeb332tEt2Ol5vEqS6c/2sTp/Nz0xvfXyLSART6fZXQRRMQgMoAATl
+XWhzl2s0BM1hsSvrtjZ3GUURBgDUEiWRpqwq7PTWgtX9aa0EOr9W/B4Sq/RXhwtRckJCIdaAFELJ
+CpjGXSlC5c1N7AgKIJ7z7RXVPzwRAQAB/Iw2IJsjvv4T1Y0CKdv2Cav3i80K2qrMh1SoyYNWFCjj
+C9xwX/y0rDbrAH6NAUI8Z9TQx2/zIAv2adMbQrF6yvxjMnA1ACCkI+FQ5be/gI1rsAa5T317S08v
+JnoTq1JByal1r43ENqUBKOCDaaXOpP72t0UDKyC5ZIcb3n/7C8pseEmdQKxfe3pCyK0DwkRybHjO
+wt5/f9nbPzn7r25/xXO+mxgsvmJw2AEg38E26IgP1tSG9re/vuhfucbx+tEqSY8vQjDyTOtOj2x/
+rd74ad1OwYsuAoCw6Eh+LchkoEUTKhusBgTiCArFOCs+dUInnWUVRdgorhgrb9ozIsHfT9T2m+J/
+Cr2xT59v56sQIBoM6YHvocsRrMR9aKh46wWxTU4mZokGARROBs9NNGKx45g+R91oSYrnTL8g8Ei3
+tRs3bty4ecPsEaoRlRyPlotPsRoUK9NCAV5Yw8SCf2ll1B4HJydYRSNFryNcs5NMDPSTftpgqZAE
+ws7OS2r+1YKcAdO4hR86PkM27ow8I6BJIWkNN64G+htGVVVsC7XlX23uMzGpZSJALYjC3TWjEX7p
+gGLf86KOz6Q13LoKflYqGjsDXnwXQqxh5jKgnzFCAovBuvUFMto7jyLd0iItJcJO/t/tJWXydpC0
+xiBvIYB+xiMBawy8WQB6up6l8EMxco4VwHNmTFfonrhj5cCMsOz9Gejp+mTMgnW6WQrrtQF2hgAS
+YTfzA6BJEyMgFxTnLI2803VgQcJaKVgI9KEHK32gCnKsn/TE3FrkNX3bTyIk6U0o3757TX9PUSBs
+39hiGQkSntjL99y0Y7HN9GdOcVZKyimVLpFHhZO/APmvEWbGko5hB+HA19sk9UoqUD0/RZvnhh5r
+tHVW/CXXvf36yBo0ZJvWFG27Hj/mjasZVrBu/suquPa/GCNNBNcoQX2EQRfXLnbD7ersHn90Q6/T
+MWP1qG11QyLa3Tl050+NoIAJwFHVoEDBHq4Z1M9VTmJCtaYda8MqUCksyNE4VkeFLdECKqxeTIzJ
+6hmg1IQKd7kk6imJaiD0I25kJhNQKSzaGwgdrzUgAYwH27aFolJYtl2b47SmEMwG4uJDTuFTDY+F
+NvXOfNuZtbBLGHDc/L8t/qBr2egjvyzL2nVicazW8NMAYPsyAEOUArTdDC9QmwZwd19QHAj1wfj8
+c+Fi+RY3fLxSETJs06Oh4QWGLXA2zelb5FC7WX9d44Z7BQEQe5B32pBEpRITUht1aKytAhWwfpU2
+x2oNxfOfLQ6N7OR5UBo3/oDG39WyigKxifVWOEUtH/KTkYpNOv8hd+XYE8KAduwVYx8f8GGx/HQv
+PaEEdn3Oq5qaiifP/jMqIP9qc9S/7w1fNzoeCOy9V/hEI6MJrneUCq8HrWw7c4fj7SttQZMkipXn
+jr4GV2tAF16yHIEPa8cqfkGaWlEjro8Hcq57r/1K2Zf1ZOG/YN0nZ+buvujdegC/v2rrR4NN0Zrg
+2J8du3Fcdd0syaheWq9YEXlEyin/bmVF1hbmPKXFmVZQrVGEv9AcyrtqcGxWzwBQA8Qj8SWmqBTX
+47B+pbYjWZ+f+5gWNStDt+XKuElzHZs7Jbla4w25hQ9rhdnBlGYEpBFU5t503Lp5RLLRlg/8uM3+
+47OWACZft+SZ88tONkLZnKlyHqZDNTbOCbSIk+07pGB4rgM1tUlQN0+UOgsTCj6/TwOLzi2stxN7
+Mu+vdc7GfaEHtVLzWurW7rK4ORM1iyZWS2mi7OUfLVC3j6wGYMZFa7TBgjE1G6WDPYLetncjr4wf
+fHtfK7J1t30YmnPquS3jTOt/36Ge7jIUwMb738HR77eIfHwjjQH1bKp/KGJvGbHcuerLowDMu2H6
+nbdxmrLTXr9cA1g7bP1xd1Uy52dUyPztoMWVb2LQw11kzm2zcPeDRgFWf3Q+kDK/GamvfK389cM+
+8BwxeuSw3AGXt7PLXpmBjLeHxkKhCwBk/hnjgT7nJPz8Xt4XaYOBYPG/HrNi9dgLdqHO6fX2jl3a
+4sMeocDtj5fcM6Onwg/nFJR5St3xrbC+S07k6MZn/NztRi85urDpguRY7WI856XrzWnfRJtuZUPP
+PSkLGkddeq1s6rwvcmnS1pfviN52w8NNdkX+vPA9o6ya1h8YcMzEif9+wCiIVYv+shapZzXNnTgn
+490TPV1G/WxlX+dNpQSkLa1X1GtR6bEs7MR5J+4BLuxXMOnr1j88/TKUDY7p2mJH5AK1+YfLoxef
+95ERte6sRWhzfv2tYya3rzMOAPDpOVYvPG1zmWbGfXM8C7tFJ8eE5Y0M9J2PAqd0Ucu/LU67/o5g
+dO729NO34pI3PR1RP1i17szFCJzdpnDa5Pg3hlmvz7wGO0NnHpO6feHHGPZS6u8s/VSVv/1goCi8
+0fqJib2rIQtN77vAKqEoDsv5OOVfza2AaW0CZVwjVfgEiFCbU8bfNHkyAATOuK+10TFSRQiSv33+
+s5XTp0OG3dXau/U1r92Nf7Mi2gyZ+dj3218BWj11ZaJxmN0hKehqIpxVq43afMMI9OmgQOvlrl3s
+Bbfd+xl21k8KxGkvFC44JTK1KDauuf311NhFOqKaSXi41NYrqbD/alJiWabKrNvSjde22GR3Sdne
+PjnoqnAonH/m7poNg/HaFHu5ZwBQ7Pfx3esnT6753oVWCahs5xlPfLXhbaD+PdfUNLqc9Uh2V28Q
+dByCxoayj6qL7NRe8Y5DwNLLbtiS7D7xmR93vv8+6j12XfytK2bp4+/ouqJG/WCcY4tNTvO6m9ul
+BAIqHA7nnQko23TyEx+suAto/vR1p8CVYFyjnlJ4x8u2U48AaU3+psV5gaLbBrtZCV3j4hxbbLI7
+NqSCfWTg85NGjgQ6n3FhY0Q7lCJd0PHxaCp/obJNpz39yS8fAek3Xt/I03uWHP3p2rtHjABwypUn
+HUrltiONCil/hZCtI+dsUo17nVbdr0+GqAYXFITKmx8D/q9Gc9zINazT9sT2UYNNTKikwPtlR0HN
+ltVglOzKbwIrQojR2LN6j9O0ucAoiEGJmJMNJ6yq8+aJEQK8pTdOkmYLkix933hbWluTMkt62phV
+WrNqw/V/O9eUbq9xU9HzTsnjCVqfBBqHlv7cba3DSHkSax3fhVjyF+2u3jUhYq4To5HzSyYatXRg
+ytdEIlAmYMdooGwAj/WTbyBrzV42aOXAaGwM1IGVCEftRwYIsQq5K3YFGrcQjDM1kqslxDk5Z/0U
+N/ziiKCxG+77AAkLWlr4gbo0Dvx8PNi4MSe1XmOFMrm/KeGfOtUtZUuKVShcudM0aBkHoxCadnQi
+uGK9zWieHimE93tQAeRvReTfaIlNAH4qQYmcoj1oRa2IOaF0JB206Oihk0nf+wJGFKkiJPlpDMuS
+iIjLiVh7wvik0X2thZ9eUi3vXtBkbnrEoC2lOeroF16LdbeW9KffMft7WyA6E5Yjp/TPkt6PMAIh
+0SnHUwfNPRn5V6KTLEpPCMt2kxWBpZJfI8NPXhe92v+W6rrh6o1/2GiuTpXfbmPC9E6RlJQ+eQQQ
+FbLeASWjy0rV0o/pRVT+0aZZHnRs/UdUAP6tgOtnQAhlrShYqoi1TyiKER+Cg5QkEQioaKn98RHD
+dZAQmiTFz/lhIVr894lYEkr8uIkSqjw9bYIM7Rt2ItOJMQFX0lOjeZMZIdj/28R4qvHz2JYeli0U
+Xmq28ptV8neZP+HnhqSlqEgSfAFFaAmJfoxybyxz4LNw2RO+p7MlAP9mC5FfI8PnYEVLEdG+zZlq
+4zvS+UKvpJC3J3GSWDdaUcd/hABQsKSIlFveU2jLRWUKoWlBUX4JZqsUSQuRQy0ScYRRIfnX91VC
+maSfJXmSy/xR/npAQO0nCo11afuyE7OU/V/Z02VylS4E2zNSbgGW7uc5PNUpV24watBBrKPFpQy/
+RtyUDuzCMiQctOuxH10HnMDBH3mQx0r5birTfQe5vvy7/TUAVuShlRMWvzPpBUb+wmMyyhWXlPKU
+lPtF9IGvK5vMFBBUspQ55VBxSReR31t7Q/ybjvREKo2ovvEC1vOMZ6Ddjx9ht+v+jMAWQfnWyyGX
+Hqo4kPpaTdju0vOM51EFpl3LOg/FyrZf+VFx+beyQrQd0tnOP3eNdh3HcWTZpcPye3yTWtXThwRl
+251ld54xV7mO47hq878Hb23yfTOqyubn+EehYq6fKzWESZ+et2DE6BN71U/IWj19EtKvuzW+Epom
+KgSEfDFv1Owexw1olJqzfvaYcODKe2PmmvNfgCr+jTmobKtpb302x0/OERxy5ql1KqNlsWKAijV/
++OSDKeN8Z45ep57VArFM7V3ZUcW/MYdQ2fhrrt64OWuXU71uyxTAHHZiyf9ZCMXK3/62bUPWLlbL
+aFUDMBIz2/5/Aar4N/YQKhqncWP/iEYdsWrE/wUQKnq6bt3IoVfVmeVQxb9/AISiI7Vl97dIVuH3
+QiAatqozD44q/v0jIOUNo1Uj7vBQ1Zm/iiqrRhWqUHlRxb9VqELlRRX/VqEKlRdV/FuFKlReVPFv
+FapQeVHFv1WoQuVFFf9WoQqVF1X8W4UqVF5U8e8fBlZ52Vfhj0aV/9UfAQLWCvCnevuVnS5kvyxD
+QpQ5IZGkOb87Yduvv3u/pEayX/bPQ3tR5Kmk+pX7GfuWVDJUVP5labnp//Tz/r//P7f9SbQDVulI
+id+DEsKYuwFSyBIWlkhSuJLEctGq2pGyh4zmajsIcTyUvqOQZThWBPsfH3KzZP8ERvu99tdb8j+B
+ism/BPx0rJ78SsJD62dCLf87AUMHiG1WuN9NvJAaS8escXv99WBxgxSamItm2S+ljJSvhElB2ROC
+cLhwt22lDpj9Do0yOTChTfmN2SGKXyjYUCh7b4NqB/2aQih44aK9hS0C/6MMXCH5l2KhYUKIcw6W
+lZdCqxUKPCfBKZsrln6e0yITdA4hmW/siCfV1EdHAxg+4kP3gIFHoTiItcQgcm/ZmyCOA4jJ6Xlj
+2H11bJJoVyC20Hky3VJ/8G28OC5tXp3Hbl+QuzOvqP3sA5NJllJG4W9exxC8f1mSAw0oa0LhRxrL
+0zOTHWhA4Hm593Q0h5CoT4z+7qXcXXtCoe+HmIMNVFI9Oi5vR3Zx9Z/TK1/pk5igIvIvxSqM/WTW
+Wmk18ILuB+SuoJB692ffLsmt1rzLmf1gdKRWsBiNRV9PWpHd6OiLjrFHSv4KrX74Htvp2UmPyJdX
+Dzxg4ArFfjCvzZWxnV+snvt66VFrqOLHNpYcNk20EPPY8sjhWdueAwD0KJ8TE0LBZ9OaXB2IVmeS
+37rMp9r8QJkNb+pwZD+eWeb3Rw9N/gLPTwCA6p0PniKSas8jeQDQ/n+VfSsi/1Ks2nPdx8g4NTxt
++MvXPhbYj4GFVn9821a42Lp18nMnP9Mikk9FjN5z99shNGu++oMPHrrLHplQM8Lq257EyR/IOdY5
+GAVkwd9GAvYaL5Z9L2j1hRn5qQIzLmkTPwjavJa74fF9Qjl7cErbOCtin1n+8QK3uNXZTU9I+DL7
+jdlOeDDLLwJI7x8fArn3GiWgUIq189sYT5j6jVfwwxcKtuflaV7jdATezw9NflOBrW5K92q3OLS5
+SuGeS2e/CHtUrYOzpzD+o32fj3JDx5St+vA/hQrIv2Kx99QZePDGROx76Onn1n9ePlsZYfVzN+K8
+y1oXL351tP5+wdc9rKJQjF523hJceGM7137x97t7HHcoS7YYUG/0l09Kk/fTZu1GaGDPA9LG0jhv
+jXS1tyS21iWFen9Bn2/yHW/YAwDAwPHAzBGu1+x9DVCB6vjjL+627uxX0gGchZxZXkrX/ardGueT
+CyCuYwAAWqFJREFUDx0nQpkYNfGyh8+xv6kgriDlVKDmpzDBlzoDoMSfAHR4jbCPD8Wh7hWEGIAT
+3yzgwF9hT2HCqUj/wdO9DkNFVrlR8ey/JNS1M3Dr3YnGpj11vnz7b23LmlLF6jG3OO9+NLB2o1NH
+XW0C207fKFYoVq89cQmefK+zxpJ7jQxHjAqY/V7yVd6t4J3VvK53977m47gDJbBwktZF3mmxHXEE
+wx6SAYS8Yo8QmmIvA4TJ8sJWSEE4lJfT9t30kGdZbKaBrRrtL9U4STkh73S/1jdk+Np6vzF9NEGv
+2BsHhcZtwp5nAJpibxyUrdndC3vm0GzhBMPenHxRvX9d/1zsTYat1bkyp2A/LFTAdhv148dS+05r
+lHj2gQR5bpEqO9CowrfztYtCxtqwfaZTKLD9biFhkX/2Zlx5i2cs31wFbCw6IlkKaTB6A+qdaZX7
+4LThdQ6aqHiwKcKtQ2Ob0F0gWiclQLBbay2AaK1qAcgvcrTybUaB23e/lOAFtDBQsADor/fjX8FA
+W2QvP88qAai2j6vfhb+NSIFoV2ZA0DuoHEcLRDnOZAg6ZijH0b83EX/kqSLiTIGt1eVXqz/AVbOA
+nin2dz76vwYVkH8VXgCPT7MK0GjSl6FXpcz0TSPjFsVlZwaUEtcGroKRL9drCtVDC1Wt+61okUSQ
+ie6RUWmIfAz0qUahEWMPVFKJwjUjHp3xhI35ik8kIQ7AnohBFKK2Aygo8EscidXTPj5noNEUEMs2
+agzgfisUhWE/PDzxNSUCipVP83ol/ma+INXmpbAYyGhlIr1vIYDBPBzWorLTge5pvzYTk2rbIoWB
+h/WSSo2Kx79Uv0wAehMiAsvOkG92O+WqYv2E0E0n7IMVCvvGGSmaTGvUL89qe26G1RT+szPq3B3r
+HN8ESXK/QR89W3JSZc8FBpMiikpRELmHtMaShAjOuL2XFYn58oCBBAA5oghAjFrwkRgU5EcJDd+S
+9DghAiFmWJN+lCiUa48IT7pzICGkGL3jKQwqu+wtbelBCbecl6u9hB4RUUty6SbxVO8yxUsPvLuk
+bw7eraDasUhK2TN6ltHOFHJeLt2jS+T7fyRxvxeXXlemaZXN57XC6a9oZVKxNk0RqV3ZCM7OWUPL
+dKvCDtBZMP4so0RJ3dQiZX8RirxY7OBcwkLQeMbKurUYU/VVicuIYZn0wyVnrdVCCK3Ri7ZD97DW
+KCEIa6FotdBoBVhlDQjSUWCJ0BBFiR6owzArWZUEoMCqiKfVnfnKKpsHABSj3539YGPPoYAiE4B2
+9QypxEL7VZVZShkQduTqbW43awV+/T4C1ioVaenBKsjJBCjTrFlkxS3EFGivTqeIM5hEPGs8JfSL
+hVoLQokAhgoRMqK9CmOVWEDm7xPH104RgAcFK/5/sAqkTADrdaDyb6NVCqBR/scoGTJCvwai/3fp
+dVoopU2jUZVODVbh+BeCOQBS/MJ1Ig1BzBhaRg1KlQLXRI/iHAj2gTr3C3hN2vvfIRzfJcYVDyiW
+WsGGHKfUw9AvjKvgGeUq0t90YrZFR3/DJrDUCoCG0Q52bmtQgyV1MKW8P5To0r8PueNQE0BhYYLP
+r1+O6TkbgmwQECtZdzS+we8U6r2LgEGe0gCU71EiEKeEMoEbvmYEWnb3953RurwKxlOuOmjXUodn
+QdDfjWj9KTIZCl2rGb9Qr1Ea8Lw4x68qTCnpCaPLkBHpVetoDSh4nAjW6xj51WoHgM/r+zbUqE9A
+e7OBPvFWSj6GDUvAgdEo06WAlC40I94//nVWRZvGMIMOEKpkjlwVj3+VrIBFerQqZBKIpWU/BXjB
++4XoOJgKoOQWg6hFy8k7HK9lgkJubkqSi7CO6fKUYhVWfDV+3b5G3c48OTLSfIeR1V+PX1JQr9OZ
+Z4OAN6PI+RpInVSsTZeasBo7fly4Pa7V6e3w8aszpObHA3ZN37drb1bu4w2NXr0pPuiasFfYsIUV
+M8MmBFlU0L7moTMwpTqIgsIECqzk3djqwSEAsgBQqB/MfD3JaAIkl2zVpo8THj1xC2r1O0sooGRP
+3pu5N2vfPW2MRtbkp6Y7Xo1JIQWvfX0CYrTe8s3Yhdm1Og69WB3o1U2r162EwYDoTsKqzCUgBpO+
+8NX46avZW2zboy9sbyEQq7bN2rcra2/xA405dtQWJ6PXOU603LjnqPzZEzfm1znuVJkB9EqwQohV
+OmfczC3S9OReGP3KGMYNv9CK2vSzsD+tJmA0Nn83fvGutI6DL6phFGRWUVxQeyEv1LkaZc/C+LiA
+V8CjXaN15sjR83bXbDfkkgQKrNLrPp68co/ufO6Q2/dOrFyu1BWPf6VwHZiQFD2M0xa7y1S8EW37
+TP4m7aJqVCC5eh8s2opgBhyvjvrhuYkmof/pF8abWFaoo1i19/Y30KJDztSf3zn7tVR/7qDR2x56
+pyixb2jSik/PfyNg3B/OAABMmgRgckYokPnwOzkA8OCVS8d37jN9+7sDb/kAAFJfIIqHroYSWOKx
+f4WDP54icOhhSsbhmK2rAygoqEGKcZ7d8n0LIZALQIz6efiQ043yKwJjKkzdvt9fuwHa4IVTP0gC
+jPPwkwCgHxXaYZ8CysPkQQDw2TlGi9HZj7+2Vw9wpq0Z8dknaQeopYWcXahNSrfS7e7iHcpzjvaX
+vlbPumW6dO+1ZurUlx6+wQIgrxwJAGlvjrt2FRwPL771WXUqUGidzDfe2ABo89Lxd6wABtBqiNGh
+Z1/cAgCPXGg+ajx4XO5rF4mVWYUS7CUCodXbnnwj3+3WauWoUS8NHxp25/WCKNACi6qHA3e8qel4
+tu46o0PPDt+Kvm1nfv/9B1/Vt1CFDzxhuw+Iz/5xWlLe4MrFvhVPf0XuKQSckk4MaGJXQVkFtLLd
+H741g0IK5FvPZfWBdGQZLFq9dfLMMy5q8eOVvRdrE8PPIFZtHvTGjatXfj9ldj31xeUEffb9sc8r
+4Qc2/zhhSQv14aOKKB44tAOAo48/bvAFR5nAzN7P5z+0IXdcw+LnF41b2MmgO5L7VHfinGNrGp3b
+sXeCNYatjj8NisW1ibBX/2+/1WJzcKQByM8HxegNj/UfGkqEYJ9vzL2NTzKyF1UyCej80Cktvt+T
++36i8937ykDg9q2lg7pfE+MU2v4nNbJw+w05dsgxZw6AEk/P7ffo3hs2jR+z7Gg19hZ1gJqHkAlQ
+aN9EtF+3WcskaDboCAWK1V8es/z9rNnf/vysU3Dj+8oKtKnbN0MH9VkvDKn1dWbO12nOhFeUJYVW
+f9Prrg0XTd6bPfPkMafmInC0CMTq9f1v33LN8pw5XfH+R++sO8OgKwiZCDZpRSU0elSf5wLPb58x
+atW7yevPGOMye3BnGmODnS9tS4cJQWtDuvXNAb1ywO1bL14z9YcVJ8ncywFknfLYMb/M+fCNz1cP
+zlPHVzJVdgWUvzmh/evd54bKXkAxFloRsJL/BcBLa3qay+Hhu5lnvpIB+9Y1i479qn8Mi0wSRcOW
+OLY5re1x6w2BL2f3Nho0zld/C6d9OBTWtr/rYvXG9dXsX8+RB39G/VHVAFBmnJSNty8Ejr36X27g
+KAxe2O9SvsQfT4LXn2CNL/HJeW749M8CgGvP6tZre6unB8cf3vSfBqKoACDktoKnGJ+UB2T5gQA/
+3tAx0iNUO5ZCzRj15iUALnhiqZp2tUDjYczq55n+JBM/A07YiJYT/MFBZZxpp2YFXv07rG388DHq
+kztaHLBI0EVzYbHhhOi0aZ35IHomGAUxatHfC4LpqQbqhq+n4pGz4yhwXsWsPiFMfOvZGwCc/uQM
+NZ0KQqvvegSN3jwWwNHfnjjW8Rq3oRKrNh23Fnc8AnS/7xTX7SidBzW+h9ChOUD/gFE0zjuX2q4f
+twSpL9p1W/ifC1KPOcb7xweB0AuXaFDs8z3Px+n3twpi+Qmb8cStoKn1xDjz46xe9obxR38bb0nW
+um+CVDZPrgrHv0TIlI0YFQFCpmzwOaAVBEIxzjvr3XDL261Ifj6oZrb9OOiJXLb2id3nzKsXMwcJ
+Guf7qa736i31CNNTPCzqRYpxRp4XxrNDQ46IOSpYvH1ZP0tiLNC5mlGwsueibDX0wrCyqjFk++TT
+Tz8doOdYWN0bIjC6d0oOJOApEdIUNBjb8NCib0uRCiibC1g98YsruzM53pe/VvJvrHmP9Z2pSC7c
+pbDv87M9KAlpWJ+rraZR6AsBrOxaCPRzPF99ZfSc07Lw77+HtYhtWzOzaF5z7hdSYvUvq2GwbVv5
+TznID0qWJ/KCWc+dAOXpvlOwfWtzK4TVyoqse+NSQwU6sBSCVt/4nKo+soMnIuHA7WMFfYNGEaHL
+1uo2dxtCGgAFo7v0mABQZM0KZfuRsM47l7Dhd3XDWsSaCx/OWf/5ZR6cQR8A8TrkCohcDvsQ5NoT
+N+OqWz1RyjZpugpTj572vlwQLAoKrK0nGV0qmSdXheNfIFw+8oBAsdnvEl/RYZ1tDygv5eNqRpgX
+Boi7gmEH1lz7au7Omz9jzEKAhaOVDneqQbHKAggIxKqtF4Vw6sVhRwAVF1eM3QRl6zJgIK0C9Qtr
+3PB1FE21DZAihF2jBJwA26INBBRWT8/BBk8DhNya/U3DkIvDC7qoDgiyQCm+qfoDVhISAOwhrPPC
+ujerRcSvUKbACd1wdtgRK3u2AU3gB3VNpKndWURo9aJdbnhAJBWClZzz90r3f3laIBJIzkTm/u8V
+cmbY8aq9UT0if6076X5lgj1FBNTZ07TFILEgCTgOAIFVE+CGLr407IhV+zYCjUGx+tnnHO+lDiEX
+gCZA9CfFc0aMDRZfluA5Rm0HUIywQygjM8JI6CnK6jlXEI/WDbsEFJIbLMWoy5VlAxArqACrdtzb
+5GVrlL1wk2rymBEFiJMCZOILcKuKgweoYvZIqmSBTBWQf5UAtkTeGgLOQeZECi0vyxT3w66eY0UA
+sdWOowYU6nWYpr/411GxC2CQ1rao7lMutcJGOrY5hcC1WVrugVKASG6+UACr52cp2w8K0PmfSLh5
+TyiILIFlQ1FUQsUpQNdET0PA5Iz1yMyqaZXRn424bqDnHh73ClJgFbJhgq8terGmpwPxAPaCetOj
+PS80EasPlZ2McMadVgvJlZmO14W+UXgS0LGmL6Unw0vuLiIASX3Pajd8p2sUACnY53+h/T6GTICg
+01mlp8ZC28atqQCxcU03m2MvMw4CWAFUr00BqGQKvOR7rRKSazc6XhfS6vn/crxjz/F7gpgEL+Fo
+ESq+K6HE4ykgfoagAQQihEwEWjUjJP+KsHT8i3EogFU0wFKjBI21wSYo0Do37xyX4in99MxA6JZk
+owFIaC+gZTXUU+r85g5gvdaXs3Kpryoi/7qqbOiBIRA8kBEpNM7doxD34SmepjDehbLdakAEtKrF
+NG0+7/LbYmf+f4jiTc33nVIDKM7KG4lw7fYiVv34tRs+pis1AGKzcUO1BSJTYZu1ERGj120B2iQb
+RVUwEaZ1F/pexWtXAccwspJtNVvtyKxBK7uuafqwORzfDR+JgRCQDWf3vztearRViQDyRdTtuU+5
+0T0I1aYVwjNqGk0hpsAkHSUCUO/6GRhM64CKU8CWja0CIEYtelmH254ADYCyc18gXPsA9ZXKmw9g
+kIlaf2HGQdAnaDQgDH76fe2TARbs27YQ6BFnFEC9ZzHsiY19MqbCBLoLxLsj7OBmfxdBhWlA82ZU
+VPtWEfWbQVHJWHhJQ0QJQKdgHjBAGTrPLgoW/zXgRZqYtwMoKk6A1Ki3CasEMM6Ij/95rKdk00Mq
+VOeciNZ271bX1GKy6NBDT3Tp2m1A0w6LgrH1+vnjUeH4VxDU/hrahyWQFDhQ30njfPAIqn1yvKcB
+SIKGoD4iMbWJAOYhRp+CEKvOwO5PZiz8OQdQtlMNK5AXQczrYAQAne0MVW9BETsZOCrZKIBFYWEb
+Swm7Yze44WsTPAeglbm5yjk6mhykOXR4U1tCX7v7iyRzuB4ngsTEkGAf9b/3fhE0QqQDKCyMn/LJ
++X1LxK+V+fvc8EkkhQqTwBZNrALJxTsUekMoVJuXCwdoz/EzcLwadrC+u7+HUVk2hE77xSOQsnyd
+GPRRVP7EpDatgMUAkkIoU/tSLJs4e+FKA2gzgBEj9DbHG0pSKDIJbNCOUNPHaa/1QGhfQu9YLBzg
+GAWEioFWimLU8hmOd1EjowGSK39Rti+tk/WyhN3jI2Z5cmOWsnFxFCY32IStuclGZV7T+FGrrPNu
+rsbuAf7gUnlFQDe5+Muwy9Ds2Ug475nkGCo9/xxUOP4F0+MKUFSicTZWmB5/YBSe54y+gvW/6uFp
+GFHUGVuAapH1pwRB7CyKj8lexnfTmPzaqGwk9eqQ9wbQn1apTdPhOS2jTNGqozon3VKtW+U7P0Ok
+QUoWlArRDT2owqdfYTQFIjIZtmWLyDCXJhCsgwl++fk1A73DHzpMTMgCdmPOq2cNNoqQdACFIffm
+lEdLwiUEMgnh9K6iAKpty4B+judAiMmwDTpAhOSCLDfcnyAEVueMg0GrOL8zmdKKQ1rsZ+QSYhod
+r3bn6Mraypz8iDM0hUaHP3p3qkWjM1tPmxjZFAsxGSYhskHetxDoHWeAj+CYk+KMBkBywR7H60dC
+mFZrO6BCotV9hez4kBWKb8e2KT0E8tN2bTp09N8uxGxo20pZMU4dIGdrK+vesn1MqlE6PApEq2R/
+k87kprbH0aGhT9wVBhztFby56auESsa+FY9/Raqn7hUWRI/zqU3G/rFEFM+Zd35hmxGtPYfigETb
+BVJqewkCKAzHxYgio7fd+glx2qWDEvH169oOgLHu0mzHaz0tUI4oy7m5SvUWX+acP1yPviMFedcv
+wIlvR3S/KjQV6B701wzCJjBYQ2f3VU0ejcliPyEBgmy5JeEJf4VeDURu4ON5j9X3opk0qLzpQNt6
+VoTkwt1ueAB9b87JwFFpRkEoExGu3lUUpNiBWr9RWGtMRtmWYv/PIRMh6FyaxUYmQJnmzakotHrS
+rfOQeMX57V2cAzRuba0SKkwFWzTzvXCWbnK8AbRO0XQYDKTvi0qZCC+lhyiB517xTzVjXVPgkS/Q
+fkSa7+ItMhlo14DABDjGF9Qlnpv9aDXZHE7+1lbut+9fOcTTVJlLYeM/b1O+024d9M6ktcUelB77
+4ZWerlwMXOH4F1Qt1gv3+VtgIgfatKBx/HRqkUvEOOvO2tvns3qeY2XnAwPO9twmUMgpTQgjSA7G
+5EtQrF581lo0Gn4K4Mnn8Bq2kyD4C7TXIuBF1+gElS9dW7ekEhJeJszifscVjN4Qf82DQd9n2OrV
+a4WR7S9E6qTtwyrq6zI/TYrByk0kPg6AN2bqvU19fq0GgMtvb35t6drc6rUrhYNoHQhlEsJpXUUJ
+qLYsF/rujj6H17eU72556ViuMW64QUYJaxIHpGP2HaoxuCRNhg7NAdDfMZq0evgNFic80wawu6YA
+fYNQANX2xcL+jlF+qIOJ6ymQXRvhpbT104JQmZlAm0YUQmQL7O6Bp6vJizDs6Vp+X1FnLwAG0Wiu
+AdCJ0WTRe6YhFDhdRERaQmHNoMyrGz5mlViuz1c2o3nJZswK+XmfBt26hTfNmDRin5IxV1Qu61FF
+5F+jjxqr7RbSj73bAqArBKAVQgECitG7ztw05LM0z6HVc15OPMeip3jIjhjvWASgRjAmy2exsumE
+HU7dH1sbKl00B+iSlv9Fg2PyQDQt8UMSAYUqPBXoHudpiNHPfTo8/NqSJWh00wWdGQkcIOcUqfge
+ke2vsHb1fdiivv3kqsExWD0DVieAWHp1vZsjIQZpIMy/tn+XUOJOSnJuvuP18/e5ZirQuoEVkFyw
+Vzm9RACr161QdhAt5L3VdQT5AJqWZrBRByS1Jrl0i/J0NFaQVq9dCYv+JMXo96/TOOcjxxOqFTsd
+rx/XjjulnpGFkcWxr4lm05ZUzM8VVq/DyB5642JlB9IqMXrMwzd1fn7RcKRf9rdBiLAvuXyjsr1B
+ZfMQlma+ulyMM2anGz6ztVUQNAGxXt26dXSq0YTkiaBRyWKOGvx02PCri7XbrNkFt52+ivmVS/ii
+AvKvQAY/ZrHRl6QKG+HF9RMl8DW9QlCsyjtn8dAPk4u1B0+tdnrBkX4ZO7Ez6rKRBaAHTSwaR8i1
+Oxz7euuQC4vFm5Xtx6l/v2VwEIIUCAQUy6IrB/7DQP+yVjiYEFi1+97mVzpXbi7MSA/AKJ+dRGQS
+bJvGjKyVmVBnHXJXXdnwsZisnsVIGix+xqfJEYfxFADZ408+pVT8CmQCvNqdRIRUG1YIB4qJiGLb
+pB2VgJyb79h+gC6c1byNUQllWkor19a7ff+8HcRkKK9eh8j2V8hZxdqkdhclVm2+QdkWb2hPi6fG
+wiR0l0ff7lbfli6OqTIXA/0CBhIIFiMxwfp8iAV5ju0LghK+I+66Ruduya6eEQeLqB0bk2HTu4mm
+CsLGVfO/FiX8nNj4+0gFYUPXw77x7192gqcpYCKBFEbKQ1h9V8EzI6UIWpPWtrr1EjRhbLOi/PGo
+eORq9mth8bMISSiZCdu/kRVa+fLsi5f4ma5oLpx82fdpOug4Tpya6DWmmJShkJV74d+0GEadLjEx
+H1m1eJT2+hzvuYBVH4UF/TAdQ6UdDHaDQgqNvv1DEdLOLpJgDwhpZXxOuoP4lp3qBKyhJUiQqnAm
+cHSpKYetIHsu2vFGMmMRbkFBTUDhuLOj/FoNECQ9wpIKDKQumgV0rGmEsHZejkY/gKTypgHdE6wQ
+kDnwarQRctG2M7WRVkEPmQIhhWH99EtFUsZFmCApmAyFrikWvmYZmAiFVv5ney/L5T9TjCNWCr8E
+m7cMT63Tka43A2jT0ApJLt7hoD8pqFkPMFZACq36Fl61rlBi1dKFSalwm3RuGEdjGelMwVSgcy0r
+hs38gjEkENafztXm2VZWE5D0+sTESxo8YZUIRJqlWmSKgBSE9UePFGAeiwiIOOIJMCT2SRX+YFQ4
++QuYuOuulUkFQSoYWbNQeJXyHKO+ORsYO7u+VaS+8utkfVNYAVB25+jUehDyxg+9zClneg6srF2h
+zCndTSzmJpITvKA5xiPoBea+o02rVviuehf2qb8V0yhG0Yj77osX/N0Tq6bAdmhqAQhXyqInTnWU
+chPj4gArAlrjrNooPNaUuv83g8qdfeWQmKyeIZRqEAYfjqxvBamwylzVwSsJzbNWr1uj7HHGKNI6
+k+DV7kKBtXrLCuFxxhc/q4Ca6aR6DX+jsq07zMf8vHhP0yAw5rZjbrelOh4KrVid9TMsjrMGCrRi
+lZkL4FgapRTHSVj190Br3cfXuOH+WLn2Ijfk7lgiPIaeS3rByfBSeliISemzTnZsrQsFw8AnH2vT
+uY6nQP4iu/99WYISNyE+3lef0VJlLwCOMcaFnPa2U7y6gxeAtYFFN2vvhiuMokCYXH+9/gUj03zt
+v63T73u1bEtd48AwMO+Ktk8tWo1VyoAwcEah0wmsZOqrCih/oe3FXbjxFW3DYahHQjzxZKMJ+UIF
+A9vHiSX1va/p3FefffGFF1544bkXPjPN00S0bX+5VY+FXWuVeqyQaY/FyntSiiDY4jiiAktPzteo
+kzpnybDUcOptDCx809GiHP3c3we9Cke7u8cJ6gS0FtAGGP5Xpw7t27Zq3OH4f81VIEUH1Nch5bTV
+rkQLRjSFYrNHbczyPlSDtpd0t1FpnqRp6t8ejbcXinbViGIXrXVAlA5kjwYa1FEa2lXf5mm08ymj
+K/CCEpj93rmdraZ7JwNbHteOKMf58ITWH8eXjS6haOXI17sU0VgFtABaOWrMGiEaK1eLoEg0Mx0l
+2n3jfk20cd62f1dB9U1eAK1VQJQOFo4EajfXjoA3umrfG1qLaOeNC8KCWnAUhAHKi107tG/Xqkmb
+gdf9JEJCO2r0DhetdEC0PaFfWD8bCopod8HZmeb2Z42/9jKqLhxcerIXCZzk7VB59ytXRDs/DEr9
+OnkcnFGbXRHR7nsj3KcTK5n3JKCHZNU8UjZr4a5U4x61f45VsXG9viic1byD1uqtR02TL9OgQDV1
+lvJweUtSf3atS3Ec7SNgewwzAtiB0zZs29w7WYWfe8a67w+wsZJpSW+FnDVNWmLXK2d1HTbJzc2/
+O/WDBGHXNYsx3msQ3DfqijeGvZskU+4b/dBaweYp475smeG56R94NJ7nhYv3rp3+Zu5xkOK7P/nw
+LQPMm7y7q++LSMl7T+xHHWJDKmDV4jGs+Vl8yc4h/50QXjjaakSWz6F7P/roDUMsmPnDgBV3jH5k
+hWDv3NE7ut/3/qcvh4GF0zb0sqDeMcbNa9R86hl1vkgQJWybOw3Tshom5E64/sljv6xbNv0GgUdf
+/fadFz0CM6Z/92O3ZHlh+DcfPlEkxLzp33/TLl0yx4ssP7qGt+TmR+9U69ysNU9dfN0D737+UphY
+MuvbnttvHv3EfEHO7DHreoF1E3/EvJS2btHUa5+pEaJaO3NUWuOw2/j9XFjP88LF2RvnfLB8SADq
+mddGPFsELJw16qhU4/b9LmvT/Aap4eXPXZZZ/6WbrK8hF6OWTDONP4+LaLTFNoofiwWbGiYXTPvX
+3R2+ac1nV9rCaR1rquJVD9/hvn367zQCUC2fkQAReMk1REKxDFn9jQQkylPr2gaOzKxDMUsbFidc
+mrZfn1GMnnXBGpw2ED/9gG4ftbSKYmXTyUsx7G1HrDr9u/IPuvlJz6VYtefvI1GrX/ycVWj82hBP
+x0j+WvX5TVuB9ITNuOK5nM7bgQ4ft7eK8O55vhAIFiP9kcsRdk8dWXLL0rYy5YWvEBQQ9Cy05fBr
+MLN39PcH7/b9xKza1Db/ny/HjFTPeetSvHh11NZr1bYeW/uPFxV5vNFze0QvTdxzyUfRvx++uF70
+z+ue9zSRc9oUQJsOn7WxikKqpx7JAoLFiLvndik3xo1e16wMAakbU/c0zitzYl1jere84gEN8/am
+Pf2Pj4cBuPj1jS1KLsj59/PRP696ySir37prJ+Lrbg5Vf+HbLwAAPx6nlj3zrg0oEDQGosxVL3FX
+7ehtwW3VQLXq+jGApkX1v1/XMOqJSuO8dzG+PbWEZFK9ee82IBACbrs3we5rmn33iq9QO3VbLgY9
+2Mf8To2J0V8+lQ4RFtZtpVRe6E9fzJqMCsi/oBi9+7nPVwNof/E1wYi5QHJ+Sj0GFGLW0nL+lGZQ
+Eyo/xc37r88g0OGMqzOMjlEiBYIq8/sZ2/bW6DSsDWXV+3mDTlV+wQcs+3rpNmk++NRkC8G4zETH
+0aTJSRuiHrvLHvvP9hqWXs7aMR8BXWY6WyckOY7jFYfDJ1WLJtDiFQWvx8dsE2P0+GNPGuFE+ZUo
+7rRjcueSMA4r28cludo1Ia+gSd+fdiRpV4XCXvGpZmRCQLumOFw0pJZVoBS+PnVX4vFXxvntJNX6
+rxdsMY37n16TLOflSez9MSWgKaAxJrdJb+T+6MZH3KdsXvVjCMHP3y3fHmo46K8pRn//U/xfuiJz
+dILruLbYFNQ5ZsrGZO3ocMgUHlvHKlJt+XTeRrfpsacnXbE+I7FatSanBT+9Kqvjzd2DpDX5G6e8
+k6uqraiZ/X0g4Li22OQ37hfJzzP6lz2pjQYNykCpI7lVGy8deoMp6RCh1TtGzNlc1KD3mfXhObsv
+Pvd8jBi50tRqf0pv/O4xU8W/B+dfiNEo3LBT6jQO+CnGfPb8j+GxFCvCVVudWk0DMCpW1Y8opabP
+6EAwmn4Zpsj5A5x2nr8B1z9Xevjy1Wg6L+1gtZAiaqUY9T+leGbX5NLnURYG2v1KIr9ff2fp/dGZ
+s2wP/GdiD5yKwRJny0j3lct8fUBpugM7ddQp9pSPS/IpYdwpxQkzO5R7BCGlDzXRksFRlHnfQZpS
+InNpf/eYqQD8WwH1zxBSWxvfpg0AT0dMp1TWihKCYvZT8quIdkLRc1q3BuApHcPYX/hvjqRPNQLt
+D2soa5WipdIgxET8w2jVlnul/ZOM+GbRqJPvyImPE+vHNbO0wq5vzY5dIUJBcGDZ6UBYLg+nX97X
+J0G0idpBoWEQ+Vsp+i7LStHoEkOrslaJGCp1IMOZ0pRXEIXSYxCiCIi1SmCpFOABooQl74uSEX13
+mU51QNJSwrfa9JeTQpFcIFYGNl0RSPbHgP8IRQgVDbXQ+PGcZcgr18ElHzPSFMIqeKJhjVIqVkPm
+z0RF5F8IKNrPdV6ypBEoBf/T6IPcAF8Xut9NsSEGogiKFgqVRKtqCqgELAmGLfWkdEZn46/ac6NJ
+Kp1lBegQb5RT7qE+xbFkX1BoywhIQoyUy1wiZUgo24vlKROKBkvrePstBQ8ywMs/EsABx/BvhoIA
+dAjhr5IhZTuVgIiyevpynFDfC0Q60+q1W6VJfe63UxVAsyzNZX4qe0r8hC5+UwhACR0S4hypctGH
+iQrJv1EG+d03/cZyW4dGzwEv+LW3MRfYrcJG+d4Mgaz7PPeGgy4ISiaDWFEpuszzBIcYQikl7f1/
+Wvq7nvbb2ltydfSyPGA34GkCsHR5Vw5ucQ9MzXAAzaUnZf8r9/v1IDdWGlRA+28lh4gMEPX+lKAW
+EVHamXfyHLza08Yyoe3/DoRdq2Hi+47jZ7V01p39Oe48r6ozo6ji35hD2Z632r1Db59fSJjdoy7o
+PqPFV/+ohKU5KgTE1nkCoYsum5RvwezJN3T4qsbzD9tDq2f434gKun6uzBDw8UZPbHz88bQGwd0b
+gLbDrkiPQW6c/02Ispem3/vzm28mNkjetyGMulf+s3lVZ5aiin9jDgrtVeeNmrVux65ARrej+vYM
+wIupRu1/CRSxZwwdM3nNzh1F6Sd06t0n5f+1Yf1PoYp/Yw6hwKSddx7g+TW6POXEzJz1vwYhxARO
+OaVMZ6qqubAUVfwbewihaKDFAaxRqkr4HgYinamUA1gjWldWTfEfgyr+/QMQsXQSgDhVo+3wUL4z
+q2bC8qji3z8Gf5gl+n8R5SzIVSiLKvtRFapQeVHFv1WoQuVFFf9WoQqVF1X8W4UqVF5U8W8VqlB5
+UcW/VahC5UUV/1ahCpUXVfz7B4F+IvMqVOGPRJX/xh8BAjQQq9Wf5vjM8qUDBOUPiQNKC5CxCwTY
+7+37vx6H9qLIUwn8Smnk6AUxbEklQ0Xl3+iAkP/44Up/p9BTMUtad5i0Qyy1AjQOHmhO4SGO6P/U
+X0SUacQvJ4Iy1dXgTyolv8rBc5wcOmVlXuenqNnv+FDbpf5zMpZfbcn/CCom/xIw0AA8OZgEI2D9
+Ih4lvwvEhSflxEAsU0v9TuI1to1ZXNRiWO2DUEDAMJJ0L2bwazOWxX4ltsudEJhQ8b7sZonl+/aQ
+KaNw/43YfseH1FaBCMOhvN3JjQ66jqFAwYZC2Vn1q/2PMnCF5F+KhYYJIc6BPZALKbRaocBzEhxY
+RPLLFr3dfMj+Dzoi7CsweuNj7xcAeHlckwMK2lFgI6UUY0geqR6fkwTHEYgtSHomTmY9FdTaVRDr
+7butpxFZ8oijHFdMUfEr33+YtzOr2JnVrlweqfKU+QWXfxuNYvRnXyS6ogQiYe675ERMeDkhIEoA
+5TH71PN/b2p0AIBV627evXdXceGtDx+0LqAYPfKl3J17QsUjT4hJscnKh4rYaopVGPvJrLXSauAF
+3bF/AmMKqXd/9u2S3GrNu5zZD0aTYvWyq5Mf7ZIUKPnODDQ8MhlBaZxRl+xIejf5srx17zx4QBU1
+IdW4H5KvyYhpqUrK3kdySo56Bj339a9Kf70XsM77n0eOquPhNQDQrkV5qSmkmvq1c3WjKGW/Obke
+xT45v8zxlcDzZYtkDMUhqfKs+uobAEDvg0dgEnhuAgBU7yr/o4rYCsi/FKv2XPcxMk4NTxv+8rWP
+BfZjYKHVH9+2FS62bp383MnPtDCaINbo3GvglN1qrWxyBBLTU4zz9V/DTb/qfMze+IN1L6nuvw9Y
+8QVjKX9Fgh8XLnm2SOgO65PURRFXnJQ9fKkC+5xds05HKPK85uO+cUOpf+vYM/2FvT9+5HgDAl45
++mj1C9cD88b6+bQhxgR+I43KPrGXC54PCzPurG9SBgG3XiCrns4RJt/RgnGDcUh1/RRObLzpyUxb
+o8evsKfGPZfOfhG2R0alKzwWI1TE+gsW+06ZgQdvTMS+h57GaZ/rcmsvwurnbsR5l7UuXvzqaG3q
+ft3DKhr98L8Dtlxm95bzE/nnz8qkrO2+L25c35yWO1FjVtP9SaDVs3szaFotjm2IIQVAl0VuuPuc
+6BFeuUobLOzsH1KAM75p+3EnAMCiLm74i7NMObYyatVRhXG21soECkjZedKAZ3/jupcCIKtRruMN
+v6b0bNP1bvi2xw+zYQMnY8gYe3AVGCHIqhO2T9xijkThzwpQf6HiLTtIqGtn4Na7E41Ne+p8+fbf
+2pa1pIrVY25x3v1oYO1Gp4662gS2nb5RLBTWIOSVyVWu1YtJR6SYOuWOffhr3+KUp/ufM7rZgTMI
+Md3GhcMnKxPbt9KETBIAmrBnhTDFXiIgKAwXG4CEKS7elfBpp7BnGPKmIpzWY78K55S5hcFw6PgE
+A0AsvlxY9zeasCk0xd6kXO0FB3khzxAwIW/GBjEY4hV7Hg9t/Ux63rblgmNoD/47JORNK6bT53BU
+3JUaFXD9bJwfP5Zad1oqeOqBrwue+1snW0bNQhW+na9fFNICo5+Ztjiw/e4PrIisREbtyO6XYpaE
+bzvOxFbF+5tA6l9GCa6wDocNAw5SfEjYI1iIU+6wh6LR+VUIRFOlAig0AQoESusagDJ5rqf9Ug/B
+12Y81CHkAtB6PNCuwX7rLmHnlBwMfMSKgFD8QB37GxO1CkTTmQhlmrfQfjVFTT2Njle7s1bym/fR
+B3SVqMWZ4vT9FfYUUDkTwLqd/2f9kCog/yq8AB6f5mlAs0nfMaFXXy2zVaRxxi1KyM6sSaHrBa66
+wsiXDzQxOveXGnPrRj6jcR+cf/QDRuQIOEBZ+aYArTuLwGjLA82/otl3wqROQ2OsfwZAkWoAiovc
+yHJZdgJARKslVu2+u/kNxoHAqqz5wDGw5b++th0mjml1qkMhxHOmzmne+rdvQKjD0yEYEIiotCky
+AQrd0u1hiEah/ATW+w/sqb2ZQL+E/9XtbwWct6h+mQD0JkQElp0h3+x2yrIBf0LophP2wQqFfeOM
+FE2m4dZ9/RsqRymlFNypD6e8EUSsxS99/MrZyHklY4Fe8QaiKFog/o8krbEkAWHvO/8A9oUQqSAK
+i6K1M/c9DAvkRqlUd+9+PhEKILF4i8KACG1lep5H3XGmY4UQC+8e9I8vxxf7tbR8L1hZuxwGg6JP
+pN61CMSx0aUvcZC7Iyd+vVu1Nx3ok8Cyz/B/spYkKRuXCAaWrq//A4kHeXzJdSVN+y33ViRUOPlL
+K5OKtWnqmx6JRnB2zhpapk8VdoDOgvFnGSVK6qYWKfuLWFnFdtZzAYDMuqL4ufbRKtYxIgugX4DQ
+6rIVwiJnabQQgLVq+2JgkGdEFEHAg4IV/z9YRQ8EqTVYMuhEEbAlfx8G1SkACgsBXw3++FohkBc5
+1HNfO/UkoygQYiJsvc6gp4TUQgGFlj5lQsCDc88k9PNMlCICtKIBmoP6dwg5o0ibtJ6RPTXJBTtV
+2O1T4vtlqAUwvrneL1xIKBHAUIEsfWykI4UUvXGJsoNotX/WWCVWFCy0gBAYmVGIuD4iZUmEp/yP
+UUKcokR72//JlDQFUvIR4SlUEBe+34wKx78QzAGQ4pe6EmkIYsbQMptFqhS4JbqfOAeCfQDQpr9o
+CAjr3LLinCs9HVP29V1GGJKAKt3URs7asAQcWEWh1liyGynHOw4AAa12AChYaOzbkN6ApaX3WM4f
+irr070NHKoDCIhAQo5c+13bX7hL5C3Nz/FO+FxMVJgBHpUWXz1ZR/NJnJa118NSDSBniOBGKKDSO
+337nYJt6EPITlGkf3VMLZTy0bdzerycoFhow4YCOOOSUFi40SpeSEelV42gNADQzCyWut4iUnlWg
+1ShYF9ccBGQ80LIlVQmJCDHowKiyXRqt7IaSxztgCEHH9x2g1QoI26ADhH6rxayCoOLxr5IVsEiP
+1ARFEoilUs5N6IL3C9FxsP/NcotB1KLGaScGoH2589nbjZ6niuXml2KV3jpizMrMjKNOOU9ZFS0N
+qvXOb8bO31Ozw4n/CFAoc3cH3wfqLhIxLZqASuf8NGOLNDupN358eQyDz1yaOy0zc0/27ut7Wb1j
+WVwgaEOmoHoXQublJAalOL9xk8OTv0RRIfxavLfIC/+AIAe++H1/6r0t/DUJ1eZlwsEKM7/fGKrR
+7W/xFFBCk3bu3p2T+Y/jrJLcucO/0abG0mUQr3FrAmLFyR45evbOam2PuTz1IAxMnTcXwDG02g8p
+UN40CPrGGR2pxz73y6kbCpt1G9aPFAold9LezL379tzQC3O/Wsf0zn9L9auZA0Y73oLxa/al9zkj
+ZRzYsiUVKFac0JTxm0KNjj1Bzxn+TZG68VHCKZwFDNJGEWK0kzV69Pyt8a37XtjSArJ0V3zQ8cKm
+oHV9K8UznPiALQx1STXiFI76ftbW5Nb9rqhjFUid+cWYnzO91qdc/Or3E2odEavFoaLC2X8phU13
+IGGd341Gz+5j2WtqWWFq1dxv0i7KoIBWzRzgKfv52Z4TNXJa2dRtzw8nmliKXwol/OhD4QZtzZQQ
+er/fzKoI++Y/89JODAzOzEGfLzOsXt6+9KZXrwgFil8YvhkAcHH4o6YtJoSPmv/0LQCAeV3Dzpnf
+QAks8ddPQ+7KziGlJIxXr/AOeUr1nPcv0rTT+hglRn97+v13NtzueP982XNgkdMq/udEP7LA6K/P
+UnrZvisXQBug88h6VJ7zwYUAgLHHhdx7HwuXhivdc7+nxWi+9Ow69K42byfaj2hxoFOoVXN6QexP
+gyPqK6vWd8x3vPfPN1ooRq++9Vt0bLR9HnDt01oA49z9MABgbd4Vs+B4QJvvmlH5S5riD15eCGiD
+Ds/dtBjXPW8UxCp88MRSAMDQZi+k95qUV31zgqcXdFP2qzOMhhhd+PzwbTiq9oblSH3sSk9ntsgR
+EVrgs3OK4l64XuAag7WNFd5/cim61Vm8CU0+624F8sJ9We3aJxVP3JqcW2d14m8fOFX23wNB7ikE
+SrOeBzSxq6CMeoPKdn/41gwKKZBvPZfVB1IhEn5DyvW7zzvRi6nuSixzT7/3L4vW/ThuWRc146xc
+WADi6YX979l59caJP67oL9NvUETOwJN6QNDp+GOPPflEBtYNuG3ztctz5nTFux+/t/a0MHqC/err
+oO7SkQ7S+1a3xrDJgMshyK8HeuHax510WBrFVECQC8JK3nX1bgon+vKXoLp/1/PJ/pJdIONh247s
+IZ/szJ1Q21n0qFgIQgMa64Bu2ota9vY8qT2Bbscfe9xxJ54FEaPXHXPtur8tn/79yrNl6cXFB+h4
+hJhMbRv0EL/Qp2iZka+9pKNFhGL13IHfPr1t8XdzR6So4fcpKxDo/g1VUA+Y1SX3/W05sxu6K+4R
+kkKjp/e7bOGp3+/KXnr5z0NXCAaQEKuy/3Lh0rPmZq88DT+88MCOW/PQOd4Sk2HTeoqCeHpBvzu2
+3bVh/g8/j2mQ/c/XHMnu3l2ssbrdGYOgGU4BQqbJNU3UzjMvWnrivLnfrbxK1g/LEWsvvb7erKWf
+vvnB6kty1YmJMTXL/+GoeOtnyQmV3QQKgNxQ2QsoxkIrAlbyvwB4aU3jezoLxeiPvk2+i7E1HRHq
+6lGqsK1jbfOHhrqLv7nAUxTjzDxljx7+T1hb96HB9qvlbU2vCfLJeRL4uC0AYNOQtbjnfqD7v093
+3S7oNLDZg7z5lmW9c9Dd9Ry8ienHFdujJiUDLrv93HtJ7SfOSDo8i0AKKMgGxDhPbvoyqSgeQBYh
+Ri164cTTIvZw6tA0qHU3//sBAIM6jlUzqalxySWbem1DlySj8SLluqWoMbK233pt9C8nrsN994Im
+7ZHRBTOmHrt//WyKjAeRc7aJfDnrrALQuhkVxMrOM7bFBetY8IyR76iXrqprlcb92HT0dlk/7Pqn
+Ndij96cyx3MoNM5r14VSXh4GoN1reF0zrYcoscg7dQrO/QRIeWwU0c6pf0Lck4CSSUCnelbEcyb+
+ZW+jj3sDFkOGny43DmrR7Cf74H2B0C0POYBrbu7Tx/Z9tFsctg9diKtfBE38w19mrv72Av3AWw3H
+1rEk4+/7NL9/JUu6UPHkL0KmbMSoCBAyZYSpiGjHURCIVe+sd8Mtby81MVrJfUAGt7GxNR1ZNf8j
+Ld8sJMW2rxaWhQTF6Hmn7MEd/wxbUbZ1DevNI2kxFrZ1c2tpTeFFa3XHOz3PM3VgC8aw98Q302Fh
+igVDCNKia20LJ5kWpGVW6vcXJB2W+UKQCAvkA0b/8sSQs7y4OAA5EAK3Ok/R71VaWf0LJPeJB6xn
+PUtYEYA0YJ5giG9BKZ4MdKptfBONVetPWIeL7/UMlG3YzGL2AeYe6l2LYZE95qdxPsaP2QBgsLIC
+Wnl5a7DoCQuh6QfJXisEaaDzoTbd8ZwKW89aUEDQOE9eGUr4dJjnWYbtv+ItOta3Qqibp+j0pxg2
+tlqK5/3ApqO/bg7ovfOAY2nFOONP35vyVe+wpcCc2JaFb4n11EAQ8Y5HAsizA37sGzSZQxfipOHW
+g7ZpnSgzufYJObtOEZTWTE5z+khM3Wr+cFQ8+YuwLaeEJVC8/5pGAFCss+0B5aV8XK1ksyvGeecX
+nBPTyACA5CgbV9SgBQB4BOMFYiXnoj3S5R5PCyCBILAbgCqcCvQKhB1Y54tJweJrgp7jqa1QJoSw
+QyhySrGkdhcFgQ3WWI/tmTVAWOfeze91DbmHSWlCIOQrnOXW8FO0TABQKMo4n/90R9uIQU3IGUWB
+0Bm3esqhLtoKNIHVBDkjR+J6iYBWrV6l7LFRSy7tpetVvWeNKEDcILBnf5cM31pkAy+2CPsCwTrL
+rwUxgKRA83sNDBGjKR6oAvTJmJnjho952FMuHbMJaORYZZwRt2lz74khVwgtHoXH0GqrZ7/uhs+v
+57lGdu9TNiyeJpTlwu0ifSFGbTw3B7f5HShw6y/HmEe1ZW0xWEOBWBTekPp+Ylic6xfqxJdgNUgG
+wd3yfT62Iw6G0OEdLZtVLvVzReRfJYAtmd8NAecgqwQKLS/LFPfDrqWWXur8l5DS//CMqAdC0AJF
+qc+mWg1s2adNGwLU9y13w/92jQIgOXmAC1i9dJNwCEWo+IaEUo+nAvAzgKYiEPHXmR3r+zJPms+V
+nXtrUBln6jNnXei5h1c3SRAfHxLkwARHfXdLB08hFUBx2FE5N9a9vdQ8I+PgJTxIUbR63Tple5IU
+QH4Cm7fy7T0zix30jRBj9HMTAqFb04wGIHnZwAHTjFAmQNvGl5WeWkvHq9lVlACU1gtM57uMFhdL
+YdMbikAI+QnWfRBQpNq2TNkepFEbL1O2w3XGEQqMnl6kVT8AxBugPt2CxDITCDUmIALKT2Cdo0Ro
+r9ktta+yDiCgIARs2VMTqFFnG9aJAq1z/7J3G3pKf/ZJIPTPxsYBBHYf4GCJ6I/TLmvnAta2uAWV
+SvtcIfnXVWVSr8AQCOoDLqLQOHePQtyHp5Raemn0qF/QsQ5j680uCuembTqhIRDalzcCjOshYtSi
+l3S400nwA963ZDtefRFyRljSuosi1Y5VRJv6ECqOgldjMJUAVFlzgAEqomRuBie0rRUs8i6rMTwG
+SZzi47OBbOj862vdbZWVagCKipLUY9s+TzE6Ik5VzlzYge2MopAzixz0EhFQF80E+gWMjnB4o05Q
+ApBq6/0qVPdvka1W5g7H1jtg+ay8KRD0YzjiPGn1NxB0rmUFEMorQxLPVEBBVtYkoG1dKwB08UyY
+nr2sphiZk+vYPqDIfXsDoevjPE0BIeNh6naFhvYWw8vooACRUTDqNN9hQ5npQO8Ua533vg8WnxFZ
+h1Hl7wBYQEhq/W3YVBRH68x4/PSLjJLc2xFOugQKACVnk2ZdphB4+bX2PY4a2DpjUZCVa/lc8fhX
+ENT+GtqHJZAUOMC7DjTOB4+g2ifHez4HAQCUfAS00p7+HS/8/0GhOQG5I6YtXJwFKNu2CZWVV0IO
+Vnf3AIDObg/oRCj5CexU14qQ+R7QFMbx9KwFjndlhlEAKQu3KzsomuGiIQQbQTr/XvVpncM3eTE+
+DoIcOo+v+SjVaOvbg/OTlj197F+iwRykLN3keKeTEmXUjhTQ6hVrlB1MUqhy5gE9k40mIMZ5d59G
+5mB/D6Nys4Fu+4U10Or1S2ExGMof/tbZuwjAsbQahDIpF2HNhFkLl4UBbQbTatDqNSu1OY3W8X0/
+vPSuAr3iYxWqdTp9+7qTPxvolWKFKlwENKhGsbL9e23O6GoVQKpNC4UDaZyip2HkFH8ZQXDHekAn
+iRgnA8jd0cii4JLqL1Os88UGZfPPiKRWK94E9JTzhnsuwosXI3D6C7VMZavVXOH4F0yPK0BRicbZ
+WGF6/AF9Kp4z+grW/6qHp31nOACg2jwRaBrr7a8YrWe/+kMm4np1kFdD6OV6WmePgkHriOmcTdrg
+xKYU2TMXGCDGgaB2chYcFaKLfxvb906jBBBiKlmvs0RCchqD2EATnPTcuX89/Ggpkbg4AHu59tEB
+5xrFiD9Wsdxqni5RKQgxxSKulwiFKncu0C3FKESWDj1ECSlLNzjecSQhoAp9DaJ1kq9DZHIze3T3
+/cIahJyVr73kMs6Ti7Yqz+nrr2aN5ufvjPdQ9+TWy76j9IvcMi2knL4QCnRoFtCltgU+CwVCx6Yb
+7T9k2RrHG0SrxcZlAEqFodSDe1D/JUIAMTIrTwJ9BDLrZ+U16OcnCRCj5xc7Xv3qFKMaQeVub2wC
+9678uI5Ril9B2Zapnt8XyQ1N2xPD3V+/IRfQjgl9vn5U9dhGhf3xqHD8K1I9da+wIHqcT20y3P08
+TCieM+/8wjYjWnsOxYkMTlqZlON4dWKbt45i9N473/Iw5PLjUjD1Be0dR2MDK7YLG45PK3shrJ6/
+U9lBEIqYxH/cp6ftykDxv8ej92dxFAqoZDzQtbqfVEdYJ64Yq6FzL814wcbA5MVgEECWujX/aT8B
+ZQqA/OC40Td3LBHuVPITbIuW9Bl1o+MNISO7YrZvYMW35dq4XiKQkBa1bTVs8lctyvdJ+ff6zpNt
+mpQ6T06EDtfvBAWh1XNungb3you7BHAtbN2jaJVQ5CfYhp2hhFavXqHNsbTajANwTGQ7TkyCCfQW
+ERh1xQS1csFRwMuvounXdazy19c/gU3bEpwIJ9Q3MTKXQiZAe4PFKEFz6PAWBqY+dfbfjKLK/hnG
+ebt3+V77R8+3xq8uNFDO3Ffv9ipZIHGF419QtVgv3IdI6t8caNOCxvHTqUUuEeOsO2tvn8/qeY6V
+nQ8MOMe3R4qMB1AnpsHcFKt/OWspaj97LuDhc5pq3SUI/mKCxS3SSuYVgkqAqbANOonPiltg1vUb
+6o1d5VzxSErE5VJt/hk4NrJAEKmVvhWb6Ny5dkTNWDiMUcUDCEz95uquvjRPAWE33ZBxty3Ri1Ft
+XwL0D3hOVBT3FgGos+YDg2Edf5KxLVoQmHL5g3/h+hzHq9+4ZHKxcuBGXRfOBjA4uq2nspMh6J1o
+NGn1B5cXof9zXQCbOxroUQ0BgDp7HtA7wRf900JK9wUlayPCgc4RO5fIJLBJWypC1HrY3BPPip8+
+G2c+3TjSV7p4FjAwYESWQtCNfvI96oIJ8NQ5gIg0BrCOef+o+aIVsdyyRVitbcn6zArV552bt3vG
+2zJz8ohMI+Puiu3O649HxdO2GR4FjS0kAZJbAHSFALS0xj8rRu86c9OQ7+t5Di3mvDwvEmqizGxY
+pMaWHotdQ5e6tX8413hWYSrYpU7o/VGSBaAho4YtUUoJtYwHulYzArH63Tcfe7XdL88Oz7lm6otR
+9rWcs085fSOiVlg9DdipJr54wRmxyDUglskgNl1R8wHr71ATAeCe5U+mlQQik5yf6WIQ/RmnVBQz
+GlJYwuGW8vGquiL7IKjnligktFL7yV9aWblaDAZEjNek2rIEFoNJitXfXliMk0Z38Ywna9Y7GMyN
+L6+j5c8bHAyOiP7xsPU7QzE/G0xv4LMvdeYCYEDQQqyefvtlnx6995VnVl48+qsI+9LKL8sVBtBq
+7INFS/EDLSwmrnbMkG5WAWgEi43qrjUvZVARkkNBndSSqUwrNfrcz1TIcxr/7dU5XQzzK5fwRQWU
+vwIZ/JjFRn+MKGyEF9dPouEkFIJiVd45i4d+mFysPXhqtdMrsn5WG7eACMaWIOpb1gRCw48KuWJk
+5Upl+2HORX8/MQ5AOgQCiqX3z87XGlEblgHHkAKrcm6vc3XSRVvyMtKDiIbcichE2FZtokpOqxst
+Q/bKK2s/G4vVMyhSHcRyvF49IqFSAXhjBg0rnR2EMgHhaj1ECah2LI6onEtCCkVAzs90w4NJHR5f
+p5uVRAA16FtmaPVN8Q/tN9UIOdVzvIyjor4PVuZmay+ulwis2n0lpO57CZ4WT8ZZBI7G8Kd/amr0
+RJi4iOY7ey7QO9GIaBdISPX50GDRTscbSIJi79Q3tjlrS1b1jHhY6Kgde4pBci9RFBdG1YwMAvAp
+wH1UrIKwdkoO9s0a/rezjaKACQCqI1IewuoHN7/2jRBKk9Y0vuMctIyx6uSPR8WTv5r9Wlj8LEIS
+SmbC9m9khVa+PPviJWKFYmkunHzZ92k66DhOnJroNY6qVjflg4iPKTlWr/xch7qd4bmgVR8UKwzE
+NPxFWikPWQLxXXbveQdCa2flKN0XQlqZsrNmEuKad64bpKElSJASmgz0jDNR+xhbQHIu/eXVdMbC
+Yu0H8Cv0vTjKrykgEPeYjkgcglThKUC7+lZIa31RTJKKE4GjqlshKLMRTukk5PI1ZwQ9aZrgYU+k
+pWH98rOFUiYbFUFS8BMUOmcYIUACGAuFFi2sgpUPdgTslTU8R6yEPoJt1MH+VK0nHUwGW7SwiiSX
+bnAwiATT6wA0BCm06mt4SUdDiVWrpyVWg9O4S6N4GD9MGaRgAtCuEZVlCz+ImiQ855tJjvdYZ6sJ
+SGoDYNYFtV+wIoBIg9oWe+HTGNYj7smRWQwTEHG0Z4ETxB5Cvx9JVDj5C5i4666VSQVBKhhZs1B4
+lfIco745Gxg7u75VpL7y62R9U1gBUHbn6NR6kalXtlEbBGMZgU1yYnHQDAZBL7D4FeU1aS9fp/Rg
+tybrMNvAKBpxP3ni7Ks9Mc4k2I6tLQBwmSx/8C8B0UkBNw6wIqC1eu0a4RATrf5CaQRVPP3vp8Us
+U1cqhM6jrhEi4k+pzaU9oo7PQmv1phXC4+i5pHUmIZzew69msWOp8HjjR//9AtTKoHVfxYVUtslR
+0/FzVoqnaRCYeG2fB21prkcKrViduwDECdZAgVaoOBPAsY6nlHCUGAz2QGvdJ5a64f7u2hWnJ4Tc
+zIXCY7VxSC84GSaht4WY+D7LZefmptQwDHz1trIdmxgBuNLm3HN1olKJQTfezzpJS5U/DzjOeq7I
+qS/q8NruXgDWusuu0d4VN0USFSTUWabX48saRlMgpnrfL9Xq9Y2NA8vAkktavrJiKVYpC8LYwEi0
+Pp1HIo3l4aAC8q+2F7+9cOMrN3sGSj0S4oknG03IF8rl9nH/MEJ972s699XSG5qnRcQvshAJIY0h
+pACCvVqJBJafmOva+jUWzbm8Rijp1isDS1+5BhCFl67p85YS6L2jgXpxAAjr0N7zkBLRwbQmnf/S
+g4Roja+KHNNRR1RVAjSGMo2eisnqGQCQAh36e9+S6SA+ELK17426hwtFa3xZEAi1UwEIdO53QMOG
+UNQa32a54QhlhNDESXD+q2f2tNrq2092dzz+GCAKnw1r9kViGWOAUDQUvtmqiKYqAAAawNhVQjQT
+F1AoEGXyHCtav3OnJjrot0OXqyC+2RsItVUKAl08AqzTVgDhNR94+W8/CkDjnSvCjq3l+8c4kDfe
+cSA6kNKww6lDQEADYza54TYqAGUHHjNeP39GENB60V+34+anTCTNhq4Dx1x4lolktOatX6nCB95V
+gMaYcwMjqr1HZ9z6JgC0/ugz/WyKqWz6Kz0kq2ZMM1X8Dgh3pRr3qLj95KXYuF5fFM5q3kFr9daj
+psmXaVCgmjpLebi8Jak/u9alOI72EbA9hpmIxnLKT9rKddVj2B6hJL1d7Kxr1FJ2vXpWh4smuTn5
+dyd9lCTssm4RJoYbBPeN+uer536Qimn3/vjQL4ItU8Z92byW59Z4P0TjeeFQwd51M97adxwkfPfH
+H71hiAVTdnb3DUiUvHdhP+pkY/QFrFo8mulfJJb44Oe9U8xn+0YfT3j3ffjxax6xeOb3/X+5ffSj
+SwVZc0Zv63H/e5+/GAYWT1/bx4J6x+hAXqMW00/P+CoRStgqfxpm7GmYmDvxxkcHflW/rKacwOOv
+fPvu8x6JWdNHju6aIi++8M2HTxSIxfwZ33/dtobsHStqec+a3pJbHrrdXetmrX3s/JsffueL4SFi
+6axve+y6efQTcwS5s8eu6Q3WSR6F+Unt3KJp1z+ZHqJaP2N0SpOw2/jDHFjP80KF+zbO/XDpkCDU
+c69+/XQhsGTmD53TjNP3u6wt8xqmhlc8f+muei/ean0NuRi1bLJp+FWcqIhuq0HiGCze0DC5YPod
+d7T+th2fW26Lp3WsqYp/eeQ2/eZfzO+r2EG1fEYCROAl1xApF2Xz54CJFS5+31cvz7pgDU4biJ9+
+QLePWlpFsbLp5KUY9rYjVp3+XfkH3fyk5wKgcT79m+Ol/1Itpmnbrfrixq1AesJmXP5cXqftQPuP
+O1hFePc8XwgEi5H+8BUIu6d/W3LLz+1k6gtfIigg6Floyxeuxaxe0d/vv8c3tFi1pU3ela94OkYr
+fs9561K8cG3UH9yqbT229huvooPS6Pndopcm7Ln8g+jfD/2jbvTPa4Z7msg5bQqgTYdP21pFIdXT
+D2cBwWIE77ldlTN0Gb2+aRkCUjam7WmSW+bE2iY0t7zsAQ3y96Y9/Y9PzgNw0eubSo3J2fc9G/3z
+ny8bZfVbd+1EfL1NoerPj/TrvYw6Xi1/5l0TUCBoDESZK1/hrrrRnWpgW3VQrb7uR0DTovrfr21k
+IgYuGufDC/DNaaXGb6q37tkGBELArfcm2uym++5e8RVqpW3LxcAH+/7eIk0VIH6/AvIvKEbvfu7z
+1QDaX3xNMGIukJyfUo8BhZi1tJw/pRnUxGdYMuf0yfqBOw+pVtavUgmqzO+nb99bo/Ow1pRV7+UP
+OlVZRSFk2ddLt0nzwacmWwjGZSY6jiZNTtrx8ujd9th/ttew9HLW/vgx0GWW3jIh2dWOVxwOn1Qt
+KhB5ReHrcTFLlGn0uCFDv3JUibqqqNPOyZ1LRq+VbT8ludo1Ia+gSd9xO5McR4XCXvGp5rvEgOOY
+4nDxcbWsAqXw9SmZiSdcGbSKQiHV+hELt5jG/U+vyfKaNmLvjykBTQGNMblNeiP3x0BcxH3K5lU/
+hoAsGbl8e6jhoL+mGD3yp8SzumLXjwkB7dpiU1B38JSNydrR4ZApPK62VaTa8um8jU6zY09PumJD
+zcRq1RufFvzk6qxON3UPktbkb5z8Tp6qtrJG9shgwHFtsVfQuB8FRuOnUav3pDYeOCgDXkmGQas2
+XHby9SVSlUKrt389Z1Nxg95n1ofn7L743PPx1chVplb7U3vhdztPVvHvwfkXYjQKN+yUOo0DsJH6
+gpGcNf+phylFs1M7x7Zktj84It0VGQi+YzBLssp7+2s9nr0JNz1dejj8OjSfl3rwhyOGmWQpxTO7
+Jpc+j7Iw2PZXYqF//Z2l90dnztKWmv8nxuLAqRgsWQ1Fuq9cQugDStMd2KkjT+NpHyWWXDPm1FDS
+rLblHkFI6UPN/uniy1SwPEhTSiZ72t+de7IC8G8F1F9BSG1tfJs2ADwdMZ1SWStKCIrZT9mjShMX
+xg34/3j89xMD/83WTx9rBFEtj7JWKVoqP0VbxD+MVm28R7o8bqOJzI0aekd+QjzpxzUTiMoH35od
+O3IFwYFlpwNhl7LJIik0URJE+/QSgEbJaaUoQqFRikZHDa1+S2F4oOuG0JS4QwCiUHoM+plxxVol
+sFQK8ABRQoPIu8uSoRSlTKc6IGkpxbcy47XEUMSzy8rAhmsCqWJtySOU/8UNtdCgXBF3CmFV2Q6J
+fMxIUwir4ImGNUodmWqVh4mKyL8QUDRJiJQsaQRKwf80+iA3AH6NEIvDj8I74NmiCIoWCpVEq2oK
+/FDZ6Pxdkp8Uzsg8nKeMG01S6SwpRJeAp51yD40QHEtnbQrLjlYC5WpQlOZsLUsvUG4USESpzJJZ
+prSlBw7w8o8EcMAxfMdS/2Y6hPBXyZCynUpARFk9YRVOqeUFIp1pnVXb0aKu3e81AmqWpbkU5caD
++AldqCLzFZTQISHOkan1ftiokPwbZZDff5foQ7rxN9Hjj6+ymXx+5U3cJ9ynwkb5GcUDO++1CTcc
+NCa5ZDKIFZWiyzxPDjbV/cbnlGn1f2jp73rab2tvydXRPfw+IAv0O5N0w3fk4zZ1QFXlA2kuPSn7
+X7nfrwe5sdKg4vlfVXqI9Kd6fV5Qi4goR88YukS/1TmSF7kKvw+K3eNl1Feu35naWXnaSDx0plVV
+nemjin9jDVF28OV215B7lxQBZue3f+0zv8PIc3+nZbEKEYht+iCL/nrN9ALCZo3/Z6fR9V6/y/7G
+soj/A6ig6+fKDAFfbfbsjgceqF7fzdwEdBl2eXKly+tQUSDK3lzrwV9eeim5QeLeDQaNz7uywf+n
+BP9fQhX/xhwU4ra//zB3/Y7M+Dq9u/btrmFUbI1a/zugwJ5/xo/T1u7YWVS9Q5fevRLLmHerUMW/
+sYdQaGpefHGJCdPTuop9DxFCgZd41lmApxQAeKpqKVMGVfwbe5RYGR3AWFU14A4HQmgaaHEAa5TS
+lVVT/Megin//AAgAhxGnhKrRdniImI0JVF4r7R+HKv79Y3BYFtMqlEc5C3IVyqLKflSFKlReVPFv
+FapQeVHFv1WoQuXFEd//EpWs4moVqhABo4m8jxwJR5x/RVX5wlWhckIJLBDNuXlEcMT5l4WBSPCp
+qmy5ww4OsZV4PVG1nfo9MFq5GlB0jli/HWn+FQ5XVggRnbPnvyFER7xAJZ6HiqoY+PeAPFqAUAD0
+Ylw14LfiSPMvUJDgGq29Qmf3Grfy86941YceoXxEhw8GFs4KVP5v8KdBbFxtMN5jMHykeu3I869y
+mmdpUzN7TTD5v4F/ixo3KKisQoyBNsuq+Pd3gC6dgnR3dfr/7PoZgN23OlBk8tR/hSZaEA6ZylaE
+Iwqq4v+Gb/CnQQhbkJlQPyOt4PAfdmg48vxL7QRdOIL/iqBsEYlpSpw/Ffzv+AZ/HkSFVedUr9Xe
+/PjYVt36zTjy/Cs0RSz2DFBpx/1+7am02V0iGTKr8JvBYHx4VdvFuanuEQqsOPL866VnGMerlhfJ
+UVbJITYcrLSpcmyQ3n+DDeBPAxUKcnbXreE6R+qLO779+Qj2gbt9d8DaLKOs93uqeP1ah/E/Xv3H
+N1Rt+DGh0u5/nTUMH2kiKhOsgoqvvjVRHzGbvwM/r/KRgPg5fW1hAQBR6Wm/YxL71XHmyEHKSCnP
+719x//hWMZQTq2qCfzaE9RpWBdj+DlBAE/CKj9wHd2CL+OfKizLVrwyAqNMPf4//lXVb7L/YjmTx
+3WpSDjC/Mq+uJgBVsO1PmKuOkCU/FhBbxb6/CwSogkdwveUwsBa/2d/gkD5upFTXgQ8hy4hDyu+x
+XLBF4kGqzQjETdqUfkB3sn7AE0BJLbXRqaSy8c9CVff8PojwMOc8v9T6IcJhMNGvaVHm0wl+lwpV
+Kfr1aEpOAGUORX7NwVu8ssU9ACC6EJFoMaGyV7OknXQScg5m6hBVnBQMHyB+VUKWAkQBqQf2Nf2F
+POU3FE6KcW2lKvw34DAHRKSG3SHe7YCWEtYodhjVRUs4lFQQVL9VHkpesTCQUEaIF1kJlEwAEg4J
+nLKuVcIIo0p5SalpqcQoRVolBoRAwSpF2shvJQ21ujz7kkpgRYOEV/IKAf1scgpKRKw6cKVD0YaR
+oj8erAgpYiFCgCKEkAIKCBHHVLFvFWIKCowcekJrB4AUd8jHqRuXrY3UfTbprX/su7RABaPcQoEt
+rTwXqSkpkb9UYWprz1mzJ4nWP2fZNg5rCqI0hTs0D6sti3R0kqEKu1aFXbufnwMlX8Uz5CUVFWk3
+WGwSjICqkElFRSro5qt4hsOJ5XRThIqKZAaCeWAiQ0oYTBFD0R4ca6Fplc0FkryQ6GQD0AqijC1C
+CrfV0FYAVZyTocSzCHo2IJ4VuipsBVROSIIhcWm9HemxKtVbhSoAAAWhAMPuoTKwPi5fURf8tKL+
+URncEPSFeWLWV3UymlfbG6nVTAHjiqWk6CUshMLIYlLndmta0CBpgZMbUBQIzOBzO+1ZluCEFQVQ
+Rb16MBC33CWFAkJnr3bS9q3WyRbCBKsj3sLUWVt3aLU8U6ltm3NTl+1mmoXO3b7T6G1bchM27lB6
++W5bLSLlVW1PVDBArRxCBMGN81qaxFm7GnrunhrVQtWS48I1UryEtCQmVNPJ2QEzSdeUwrENuSPO
+oQQcqwKOuGJdR3tragRcsXA3IGX9jkRHr3biNmxNCFJt3pLkEjp3Q7pdnhJamclqm01aZY1NqMIf
+CbqOhMzvHxoUSkKc63iHtjFjos88JhwuNE73dC8ib3fmbWjSpWPtQDS9AAOJGR6jm1Mb8ij0QtG9
+anj75q2htNrJxQoAbPyOd94Yr90gIxSG83dn54SKbQmF4Q3r14YOoNYmdK6xd3vNThtTjkqpt6Vm
+xy0GsHGNk/dV75JSI6Fzzb3b0ztuNSU7YhH78+x927I2hBSJcO11n6ZNmtzQEwB5I9foSWNWbP1x
+XH72uPlbVitSZ3y0hW+oZCtblxcULFuD3FUrdi7foTeuWCeOzluxXSGcW7OwesKK+B2ri3bm1Fwh
+zo49KSsUqApW5O9b6eWYZqsLa+49MsOjCv+lENjBbbTbuqt3iNtoBUAVtb/yqmFORka6EQDiVf/H
+iWdkT1+SkRTZLjKYaKWOZyMMLDrgWS8QrY8uxY07Ng9nZvrKZOqCHUcPOc2NOvHTXbU7zuhh5/a0
+AkDEVGutd5rmGab8BlZsYlZmy6K4oJg9ORlFcUGhC8Zl7060e3JrBPbt8n8rU5o5tKneyuQpufEW
+ELpXeA8uubqmJ0C4Xkezxztzy/JBdTcGJLS5phEpPuqcT5456sywCm1IMvE1s7dlZyevrLm5eH1K
+3jYntCxuwy7XWCSZrTWzClsxLbS5uujsmk28QgWg4bY9Da2TuzbO1VXeDVWIIQivWvt0a2p0iD9E
+G5QDAM62CyRTW/prQ+rsDQOyJZ7Gi7zFSURBXp3au/16qRQn5HhOKJJM2yQt+jkxtyg1IhnFBvsl
+FE/LrQc/rYY4a2s0yG2UmLE+HFdGh3WAbozO7iUtVfLOokDiL9Xd5J1F8cU763JvoN62VpvTEnYu
+aaGSdxUHgiUMJFABIuRYAgIxxef92CehSAMAGRcJZjJJx63NmVe3BlV2W7v7uKwEui33sWAvcqpl
+pGfW3hJKqmtzVLjApjpWKxtObrCnIL8gtSixzupQwCkqtg4hXkqhk2RsSsv5eTzy7qZV+G+ChJuz
+bY5paRovizuknZk/IFU5XbCEi6wIqSKWGDqmqNjdkRHwF8hCcbxAlH2Fkpqti1xjoixpf2gSrL43
+LrgbAAQ2qXNRos1Vvzj0979Zq1E7c62tacouGQgJVc9Go3UFrYuS0wsabMpvt9UoL7AF7YuSq3mh
+6jnS0BS0NmUzeRfvbFUwaE9hvAWg6J1REFICwM1c6Z4W93XHtEkJ/b1iNNqpBKJzW7s5GjC5eYkS
+Uo7QE090aJHXfFNC46JgsnWS96Vu9pIahtekpOzdVm3fnqZLF9R1PaFieywTnbtRx62vfqQ/eBX+
+myA2sVGR18Hm6fqrDk2BFeHfOCEEUZuPlx8WAqEI/0q4SCDOXqsj+2GKU+yWqLNoVXyKMgnR1bU3
+8GRMWroLvsZaTJ1mIcP4BVmBKIVuvTopGw7wnvJq16P1mqmwaWisNBWvjvYY3waeaWDCtevRek1V
+uGQTLQLVsUVhDZtsopv0HKUAAaw+FrZXTpoaHIgLBVs4A5K2BgFdHNIQurWrJ0maBAlp7bVhoFGC
+00o3ynUcmno5iQ2QaBPawokPJ5nUQPtwoif0MmjRUqGz10inVPeO9Cevwn8TqHLyQl7YM3n60PmX
+kr9YACDfZ2BVsNohIJ6JcKgRCgUlrxBKIGpOEkB5e4PU2Ouvjxm394PQLyqqUaNOmEOBmu+zt8Ck
+tnOKU9q4+2nrKF4YIiGIhCEMQZSF2GL/uOS3qEULgmCjPOWJV7KNdgARUOfkK+yD3gtNCwGd3RCR
+SJ5LBoMGiaQAmoq1k5TVZAqt2EAtLxEGnsALxhmljBMwAqECoYFEMbZ2lf23CrGEmMz4Ys8LMdse
+mmevA4BO1tcAAO1EbLtF/o8RCUqB0Gfh6GtZ1nZrk0OFQFFcwAKghBdAAqrU3LtyCQC4jl9Dk2K1
+hXXsfgpzgQh8fZoAIhF/KIkel/4GAKIpNqT2D5UnoMQPbfAA37saBjriWU1qWJb8IJR6xgoBA6HQ
+EwPfMmx9Vyvj/wOBf5Mcopq/ClU4KCh2iSJA+D5Cvx+OQEricnwOK8mEEWXSyMmyrFL2VQKVAAC+
+H6hAEnz3yRL5HCx9dumDSv6Vgwdv+HT9CtVi8tO8gyaOdvJCqQf6P+enWFEA3K1SnnJPpAxdJc0t
+IT16EJ02quLbq3BQRGXM771LIp7GhzSyBOJYEwPqzX84+o/3WVjvUDzmubz+wdcbstUckH5KmFdX
+A4AUbFNVG9gqxB7WAOYQ/DcOE8bKS3lHLuuF2ITd1YsP6c5fi/+lKwdOHyI+11L9F2S4rEIFBOPy
+dSD0Z/Ov2KT/A0XqgJSB1nktAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI0LTAzLTAyVDA4OjEwOjI1
+KzAwOjAw/1tyTwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0wMi0yNVQxNzoyODo1NyswMDowMN0x
+KJ8AAAAASUVORK5CYII=
+%</compare-with-the-gimp>
+% </DISABLE-SPELL-CHECK>
+% \fi
+%
+%
+% \iffalse
+%<*gauge>
+\documentclass[a4paper]{article}
+
+\usepackage{booktabs}
+\usepackage[tracking=alltext, letterspace=0, verbose]{microtype}
+\usepackage{multicol}
+\usepackage{parskip}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Setup SyntSlant and Load Font
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage[]{synthslant}% auto/disable; fontspec/l3draw/pdf/ps/tikz
+%--\usepackage[fontspec, posslant = .16, negslant = -.14]{synthslant}
+
+%%
+%% All LaTeX Variants
+%%
+\usepackage[T1]{fontenc}
+%%--\usepackage{ebgaramond}\def\synthslant{.3}\def\synthnegslant{-.27}
+%%--\usepackage{librecaslon}\def\synthslant{.38}\def\synthnegslant{-.33}
+%%--\usepackage{merriweather}\def\synthslant{.14}\def\synthnegslant{-.12}
+\usepackage{mlmodern}\def\synthslant{.23}\def\synthnegslant{-.21}
+%%--\usepackage{spectral}\def\synthslant{.18}\def\synthnegslant{-.15}
+
+%%
+%% Requires e.g. LuaLaTeX
+%%
+%%--\usepackage{CharisSIL}% say: `make LATEX=lualatex gauge'
+
+%%
+%% Preload a reasonable font (triple?) if we work with fontspec
+%% and have not already done so, e.g., by saying `\usepackage{...}'.
+%%
+\ExplSyntaxOn
+\sys_if_engine_luatex:T
+ {
+ \cs_if_exist:NTF \l_fontspec_font
+ {}
+ {
+ \setmainfont{TeX Gyre Pagella}
+ \def\synthslant{.16}
+ \def\synthnegslant{-.14}
+ }
+ }
+\ExplSyntaxOff
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% End Setup/Load Font
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\renewcommand*{\arraystretch}{1.12}
+
+\newcommand*{\code}[1]{\texttt{#1}}
+
+\newcommand*{\cs}[1]{\texttt{\char`\\#1}}
+
+\newcommand*{\doublealphabet}
+ {ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789}
+\newcommand*{\doublealphabethyp}
+ {A\-B\-C\-D\-E\-F\-G\-H\-I\-J\-K\-L\-M\-N\-O\-P\-Q\-R\-S\-T\-U\-V\-W\-X\-Y\-Z\-%
+ a\-b\-c\-d\-e\-f\-g\-h\-i\-j\-k\-l\-m\-n\-o\-p\-q\-r\-s\-t\-u\-v\-w\-x\-y\-z\-%
+ 0\-1\-2\-3\-4\-5\-6\-7\-8\-9}
+
+\newcommand*{\fontsample}{aefgiv}
+\newcommand*{\FontSample}{White Handgloves}
+\newcommand*{\FONTSAMPLE}{H\AA{}MB\"URG\'EF\O{}\~N\v{S}}
+
+\newcommand*{\generictextfraction}[2]
+ {\mbox{\raisebox{.4em}[0pt]{\scriptsize #1}%
+ \hspace*{-.1em}\textfractionsolidus\hspace*{-.1em}%
+ \raisebox{-.1em}[0pt][0pt]{\scriptsize #2}}}
+
+\newcommand*{\longfontsample}{The quick brown fox jumps over the lazy dog.}
+
+\newcommand*{\measurewidth}[1]{\setbox0=\hbox{#1}\the\wd0\space}
+
+\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
+
+\newcommand*{\showbaseline}{\space\rule{.5em}{.4pt}\space}
+
+\newcommand*{\showboundingbox}[1]{
+ {\setlength{\fboxsep}{0pt}
+ \setlength{\fboxrule}{.4pt}
+ \framebox{#1}}
+}
+
+\let\slbox=\synthslantbox
+
+\makeatletter
+\newcommand*{\thewidthdiffof}[2]
+ {\setbox0=\hbox{#2}
+ \dimen0=\dimexpr\wd0 - #1\relax
+ \strip@pt\dimen0}
+\newcommand*{\thewidthof}[1]
+ {\setbox0=\hbox{#1}
+ \dimen0=\dimexpr\numexpr\dimexpr\wd0 * 10\relax/65536\relax pt / 10\relax
+ \strip@pt\dimen0}
+\makeatother
+
+
+\addtolength{\textheight}{\headheight}
+\addtolength{\textheight}{\headsep}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+
+\setlength{\overfullrule}{3pt}
+
+
+\pagestyle{plain}
+
+
+\begin{document}
+{\huge\sf\bfseries SyntSlant Calibration Sheet\par\bigskip}
+
+Selected slant engine: \makeatletter\synthslant@engine@name\makeatother.
+Font name: \fontname\font.
+
+
+\section{Shapes of Selected Font}
+
+\begin{center}
+ \begin{tabular}{@{}lllll@{}}
+ \toprule
+ Shape & Code Seq. & L.case & Mixed Case & Uppercase \\
+ \midrule
+ Normal &
+ \cs{normalfont} & {\normalfont\fontsample} & {\normalfont\FontSample} & {\normalfont\FONTSAMPLE} \\
+ Italics &
+ \cs{itshape} & {\itshape\fontsample} & {\itshape\FontSample} & {\itshape\FONTSAMPLE} \\
+ \bottomrule
+ \end{tabular}
+\end{center}
+
+
+\section{Slanted Samples}
+
+\begin{center}
+ \begin{tabular}{@{}llll@{}}
+ \toprule
+ Slant & L.case & Mixed Case & Uppercase \\
+ \midrule
+ .10 & \slbox{.10}{\fontsample} & \slbox{.10}{\FontSample} & \slbox{.10}{\FONTSAMPLE} \\
+ .11 & \slbox{.11}{\fontsample} & \slbox{.11}{\FontSample} & \slbox{.11}{\FONTSAMPLE} \\
+ .12 & \slbox{.12}{\fontsample} & \slbox{.12}{\FontSample} & \slbox{.12}{\FONTSAMPLE} \\
+ .13 & \slbox{.13}{\fontsample} & \slbox{.13}{\FontSample} & \slbox{.13}{\FONTSAMPLE} \\
+ .14 & \slbox{.14}{\fontsample} & \slbox{.14}{\FontSample} & \slbox{.14}{\FONTSAMPLE} \\
+ .15 & \slbox{.15}{\fontsample} & \slbox{.15}{\FontSample} & \slbox{.15}{\FONTSAMPLE} \\
+ .16 & \slbox{.16}{\fontsample} & \slbox{.16}{\FontSample} & \slbox{.16}{\FONTSAMPLE} \\
+ .17 & \slbox{.17}{\fontsample} & \slbox{.17}{\FontSample} & \slbox{.17}{\FONTSAMPLE} \\
+ .18 & \slbox{.18}{\fontsample} & \slbox{.18}{\FontSample} & \slbox{.18}{\FONTSAMPLE} \\
+ .19 & \slbox{.19}{\fontsample} & \slbox{.19}{\FontSample} & \slbox{.19}{\FONTSAMPLE} \\[.25em]
+ .20 & \slbox{.20}{\fontsample} & \slbox{.20}{\FontSample} & \slbox{.20}{\FONTSAMPLE} \\
+ .21 & \slbox{.21}{\fontsample} & \slbox{.21}{\FontSample} & \slbox{.21}{\FONTSAMPLE} \\
+ .22 & \slbox{.22}{\fontsample} & \slbox{.22}{\FontSample} & \slbox{.22}{\FONTSAMPLE} \\
+ .23 & \slbox{.23}{\fontsample} & \slbox{.23}{\FontSample} & \slbox{.23}{\FONTSAMPLE} \\
+ .24 & \slbox{.24}{\fontsample} & \slbox{.24}{\FontSample} & \slbox{.24}{\FONTSAMPLE} \\
+ .25 & \slbox{.25}{\fontsample} & \slbox{.25}{\FontSample} & \slbox{.25}{\FONTSAMPLE} \\
+ .26 & \slbox{.26}{\fontsample} & \slbox{.26}{\FontSample} & \slbox{.26}{\FONTSAMPLE} \\
+ .27 & \slbox{.27}{\fontsample} & \slbox{.27}{\FontSample} & \slbox{.27}{\FONTSAMPLE} \\
+ .28 & \slbox{.28}{\fontsample} & \slbox{.28}{\FontSample} & \slbox{.28}{\FONTSAMPLE} \\
+ .29 & \slbox{.29}{\fontsample} & \slbox{.29}{\FontSample} & \slbox{.29}{\FONTSAMPLE} \\[.25em]
+ .30 & \slbox{.30}{\fontsample} & \slbox{.30}{\FontSample} & \slbox{.30}{\FONTSAMPLE} \\
+ .31 & \slbox{.31}{\fontsample} & \slbox{.31}{\FontSample} & \slbox{.31}{\FONTSAMPLE} \\
+ .32 & \slbox{.32}{\fontsample} & \slbox{.32}{\FontSample} & \slbox{.32}{\FONTSAMPLE} \\
+ .33 & \slbox{.33}{\fontsample} & \slbox{.33}{\FontSample} & \slbox{.33}{\FONTSAMPLE} \\
+ .34 & \slbox{.34}{\fontsample} & \slbox{.34}{\FontSample} & \slbox{.34}{\FONTSAMPLE} \\
+ .35 & \slbox{.35}{\fontsample} & \slbox{.35}{\FontSample} & \slbox{.35}{\FONTSAMPLE} \\
+ .36 & \slbox{.36}{\fontsample} & \slbox{.36}{\FontSample} & \slbox{.36}{\FONTSAMPLE} \\
+ .37 & \slbox{.37}{\fontsample} & \slbox{.37}{\FontSample} & \slbox{.37}{\FONTSAMPLE} \\
+ .38 & \slbox{.38}{\fontsample} & \slbox{.38}{\FontSample} & \slbox{.38}{\FONTSAMPLE} \\
+ .39 & \slbox{.39}{\fontsample} & \slbox{.39}{\FontSample} & \slbox{.39}{\FONTSAMPLE} \\
+ \bottomrule
+ \end{tabular}
+\end{center}
+
+
+\clearpage
+\section{Examples}
+
+\let\r=\textrm
+\let\i=\textit
+\let\u=\textsynthuprightitalic
+\let\y=\textsynthslant
+
+The current slant values are
+\mbox{\cs{synthslant}\:=\:\synthslant} and
+\mbox{\cs{synthnegslant}\:=\:\synthnegslant}.
+
+
+\subsection{Copy}
+
+We mix different shapes to gauge the homogeneity of slant angles and
+overall gray values. Some overfull horizontal boxes are possible even with
+package~\packagename{microtype} being active.
+
+\setlength{\columnsep}{20pt}
+\begin{multicols}{2}\fussy
+ \setlength{\overfullrule}{3pt}
+ \paragraph{Roman/Italics.}\leavevmode
+
+ \r{Grumpy} \i{wizards} \r{make} \i{toxic} \r{brew} \i{for} \r{the} \i{evil} \r{Queen} \i{and} \r{Jack.}
+ \r{One} \i{morning,} \r{when} \i{Gregor} \r{Samsa} \i{woke} \r{from} \i{troubled} \r{dreams,}
+ \r{he} \i{found} \r{himself} \i{transformed} \r{in} \i{his} \r{bed} \i{into} \r{a} \i{horrible} \r{vermin.}
+ \r{He} \i{lay} \r{on} \i{his} \r{armour-like} \i{back,}
+ \r{and} \i{if} \r{he} \i{lifted} \i{his} \r{head}
+ \r{a} \i{little} \r{he} \i{could} \r{see} \i{his} \r{brown} \i{belly,}
+ \r{slightly} \i{domed} \r{and} \i{divided} \r{by} \i{arches} \r{into} \i{stiff} \r{sections.}
+ \r{The} \i{bedding} \r{was} \i{hardly} \r{able} \i{to}
+ \r{cover} \i{it} \r{and} \i{seemed} \r{ready} \i{to} \r{slide} \i{off} \r{any} \i{moment.}
+ \r{His} \i{many} \r{legs,}
+ \r{pitifully} \i{thin} \r{compared} \i{with} \r{the} \i{size} \r{of} \i{the} \r{rest} \i{of} \r{him,}
+ \r{waved} \i{about} \r{helplessly} \i{as} \r{he} \i{looked.}
+
+
+ \paragraph{Roman/Slanted Roman.}\leavevmode
+
+ \r{Grumpy} \y{wizards} \r{make} \y{toxic} \r{brew} \y{for} \r{the} \y{evil} \r{Queen} \y{and} \r{Jack.}
+ \r{One} \y{morn\-ing,} \r{when} \y{Gregor} \r{Samsa} \y{woke} \r{from} \y{trou\-bled} \r{dreams,}
+ \r{he} \y{found} \r{himself} \y{trans\-formed} \r{in} \y{his} \r{bed} \y{into} \r{a} \y{hor\-ri\-ble} \r{vermin.}
+ \r{He} \y{lay} \r{on} \y{his} \r{armour-like} \y{back,}
+ \r{and} \y{if} \r{he} \y{lifted} \y{his} \r{head}
+ \r{a} \y{little} \r{he} \y{could} \r{see} \y{his} \r{brown} \y{belly,}
+ \r{slightly} \y{domed} \r{and} \y{divided} \r{by} \y{arches} \r{into} \y{stiff} \r{sections.}
+ \r{The} \y{bedding} \r{was} \y{hardly} \r{able} \y{to}
+ \r{cover} \y{it} \r{and} \y{seemed} \r{ready} \y{to} \r{slide} \y{off} \r{any} \y{mo\-ment.}
+ \r{His} \y{many} \r{legs,}
+ \r{pitifully} \y{thin} \r{compared} \y{with} \r{the} \y{size} \r{of} \y{the} \r{rest} \y{of} \r{him,}
+ \r{waved} \y{about} \r{helplessly} \y{as} \r{he} \y{looked.}
+
+
+ \paragraph{Italics/Slanted Roman.}\leavevmode
+
+ \i{Grumpy} \y{wizards} \i{make} \y{toxic} \i{brew} \y{for} \i{the} \y{evil} \i{Queen} \y{and} \i{Jack.}
+ \i{One} \y{morn\-ing,} \i{when} \y{Gregor} \i{Samsa} \y{woke} \i{from} \y{trou\-bled} \i{dreams,}
+ \i{he} \y{found} \i{himself} \y{trans\-formed} \i{in} \y{his} \i{bed} \y{into} \i{a} \y{hor\-ri\-ble} \i{vermin.}
+ \i{He} \y{lay} \i{on} \y{his} \i{armour-like} \y{back,}
+ \i{and} \y{if} \i{he} \y{lifted} \y{his} \i{head}
+ \i{a} \y{little} \i{he} \y{could} \i{see} \y{his} \i{brown} \y{belly,}
+ \i{slightly} \y{domed} \i{and} \y{divided} \i{by} \y{arches} \i{into} \y{stiff} \i{sections.}
+ \i{The} \y{bedding} \i{was} \y{hardly} \i{able} \y{to}
+ \i{cover} \y{it} \i{and} \y{seemed} \i{ready} \y{to} \i{slide} \y{off} \i{any} \y{mo\-ment.}
+ \i{His} \y{many} \i{legs,}
+ \i{pitifully} \y{thin} \i{compared} \y{with} \i{the} \y{size} \i{of} \y{the} \i{rest} \y{of} \i{him,}
+ \i{waved} \y{about} \i{helplessly} \y{as} \i{he} \y{looked.}
+
+
+ \paragraph{Roman/Italics/Slanted Roman.}\leavevmode
+
+ \r{Grumpy} \i{wizards} \y{make} \r{toxic} \i{brew} \y{for} \r{the} \i{evil} \y{Queen} \r{and} \i{Jack.}
+ \r{One} \i{morning,} \y{when} \r{Gregor} \i{Samsa} \y{woke} \r{from} \i{troubled} \y{dreams,}
+ \r{he} \i{found} \y{him\-self} \r{transformed} \i{in} \y{his} \r{bed} \i{into} \r{a} \i{horrible} \y{ver\-min.}
+ \r{He} \i{lay} \y{on} \r{his} \i{armour-like} \y{back,}
+ \r{and} \i{if} \y{he} \r{lifted} \i{his} \y{head}
+ \r{a} \i{little} \y{he} \r{could} \i{see} \y{his} \r{brown} \i{belly,}
+ \r{slightly} \i{domed} \y{and} \r{divided} \i{by} \y{arches} \r{into} \i{stiff} \y{sec\-tions.}
+ \r{The} \i{bedding} \y{was} \r{hardly} \i{able} \y{to}
+ \r{cover} \i{it} \y{and} \r{seemed} \i{ready} \y{to} \r{slide} \i{off} \y{any} \r{moment.}
+ \r{His} \i{many} \y{legs,}
+ \r{pitifully} \i{thin} \y{compared} \r{with} \i{the} \y{size} \r{of} \i{the} \y{rest} \r{of} \i{him,}
+ \r{waved} \i{about} \y{helplessly} \r{as} \r{he} \y{looked.}
+
+
+ \paragraph{Roman/Upright Italics.}\leavevmode
+
+ \r{Grumpy} \u{wizards} \r{make} \u{toxic} \r{brew} \u{for} \r{the} \u{evil} \r{Queen} \u{and} \r{Jack.}
+ \r{One} \u{morn\-ing,} \r{when} \u{Gregor} \r{Samsa} \u{woke} \r{from} \u{trou\-bled} \r{dreams,}
+ \r{he} \u{found} \r{himself} \u{trans\-formed} \r{in} \u{his} \r{bed} \u{into} \r{a} \u{hor\-ri\-ble} \r{vermin.}
+ \r{He} \u{lay} \r{on} \u{his} \r{armour-like} \u{back,}
+ \r{and} \u{if} \r{he} \u{lifted} \u{his} \r{head}
+ \r{a} \u{little} \r{he} \u{could} \r{see} \u{his} \r{brown} \u{belly,}
+ \r{slightly} \u{domed} \r{and} \u{divided} \r{by} \u{arches} \r{into} \u{stiff} \r{sections.}
+ \r{The} \u{bedding} \r{was} \u{hardly} \r{able} \u{to}
+ \r{cover} \u{it} \r{and} \u{seemed} \r{ready} \u{to} \r{slide} \u{off} \r{any} \u{mo\-ment.}
+ \r{His} \u{many} \r{legs,}
+ \r{pitifully} \u{thin} \r{compared} \u{with} \r{the} \u{size} \r{of} \u{the} \r{rest} \u{of} \r{him,}
+ \r{waved} \u{about} \r{helplessly} \u{as} \r{he} \u{looked.}
+\end{multicols}
+
+
+\clearpage
+\subsection{Bounding Box}
+
+Thin lines indicate the baseline. All bounding boxes should be very tight. A little piercing
+into the box in the direction of the slant operation is acceptable.
+
+\begin{center}
+ \begin{tabular}{@{}l@{\showbaseline}l@{\showbaseline}l@{\showbaseline}}
+ \cs{textrm} &
+ \showboundingbox{\textrm{\fontsample}} &
+ \showboundingbox{\textrm{\FONTSAMPLE}} \\
+ \cs{textit} &
+ \showboundingbox{\textit{\fontsample}} &
+ \showboundingbox{\textit{\FONTSAMPLE}} \\
+ \cs{synthslantbox}\code{\{\synthslant\}} &
+ \showboundingbox{\synthslantbox{\synthslant}{\fontsample}} &
+ \showboundingbox{\synthslantbox{\synthslant}{\FONTSAMPLE}} \\
+ \cs{synthslantbox}\code{\{\synthnegslant\}} &
+ \showboundingbox{\synthslantbox{\synthnegslant}{\itshape\fontsample}} &
+ \showboundingbox{\synthslantbox{\synthnegslant}{\itshape\FONTSAMPLE}} \\
+ \cs{textsynthslant} &
+ \showboundingbox{\textsynthslant{\fontsample}} &
+ \showboundingbox{\textsynthslant{\FONTSAMPLE}} \\
+ \cs{textsynthuprightitalic} &
+ \showboundingbox{\textsynthuprightitalic{\fontsample}} &
+ \showboundingbox{\textsynthuprightitalic{\FONTSAMPLE}}
+ \end{tabular}
+\end{center}
+
+
+\subsection{Width Change with \cs{synthslantbox}?}
+
+Widths of the alphabet in uppercase and lowercase letter plus the digits. The ``hyp''~version
+contains discretionary hyphens (\cs{-}) between each of the letters or digits. The absolute
+value of all deltas should be much less than 3pt.
+
+\begin{center}
+ \newlength{\abcplain}\settowidth{\abcplain}{\doublealphabet}
+ \newlength{\abchyp}\settowidth{\abchyp}{\doublealphabethyp}
+ \begin{tabular}[t]{@{}lrll@{}}
+ \toprule
+ \cs{upshape} & Slant & Width & Delta \\
+ {} & & pt & pt \\
+ \midrule
+ ABC & --- & \thewidthof{\doublealphabet} & --- \\
+ ABC hyp & --- & \thewidthof{\doublealphabethyp} & --- \\
+ %
+ ABC & 0 &
+ \thewidthof{\synthslantbox{0}{\doublealphabet}} &
+ \thewidthdiffof{\abcplain}{\synthslantbox{0}{\doublealphabet}} \\
+ ABC hyp & 0
+ & \thewidthof{\synthslantbox{0}{\doublealphabethyp}} &
+ \thewidthdiffof{\abchyp}{\synthslantbox{0}{\doublealphabethyp}} \\
+ %
+ ABC & .1 &
+ \thewidthof{\synthslantbox{.1}{\doublealphabet}} &
+ \thewidthdiffof{\abcplain}{\synthslantbox{.1}{\doublealphabet}} \\
+ ABC hyp & .1 &
+ \thewidthof{\synthslantbox{.1}{\doublealphabethyp}} &
+ \thewidthdiffof{\abchyp}{\synthslantbox{.1}{\doublealphabethyp}} \\
+ %
+ ABC & .2 &
+ \thewidthof{\synthslantbox{.2}{\doublealphabet}} &
+ \thewidthdiffof{\abcplain}{\synthslantbox{.2}{\doublealphabet}} \\
+ ABC hyp & .2 &
+ \thewidthof{\synthslantbox{.2}{\doublealphabethyp}} &
+ \thewidthdiffof{\abchyp}{\synthslantbox{.2}{\doublealphabethyp}} \\
+ %
+ ABC & .3 &
+ \thewidthof{\synthslantbox{.3}{\doublealphabet}} &
+ \thewidthdiffof{\abcplain}{\synthslantbox{.3}{\doublealphabet}} \\
+ ABC hyp & .3 &
+ \thewidthof{\synthslantbox{.3}{\doublealphabethyp}} &
+ \thewidthdiffof{\abchyp}{\synthslantbox{.3}{\doublealphabethyp}} \\
+ \bottomrule
+ \end{tabular}
+ \qquad
+ \newlength{\abcplainitalics}\settowidth{\abcplainitalics}{\itshape\doublealphabet}
+ \newlength{\abchypitalics}\settowidth{\abchypitalics}{\itshape\doublealphabethyp}
+ \begin{tabular}[t]{@{}lrll@{}}
+ \toprule
+ \cs{itshape} & Slant & Width & Delta \\
+ {} & & pt & pt \\
+ \midrule
+ ABC & --- & \thewidthof{\itshape\doublealphabet} & --- \\
+ ABC hyp & --- & \thewidthof{\itshape\doublealphabethyp} & --- \\
+ %
+ ABC & 0 &
+ \thewidthof{\synthslantbox{0}{\itshape\doublealphabet}} &
+ \thewidthdiffof{\abcplainitalics}{\synthslantbox{0}{\itshape\doublealphabet}} \\
+ ABC hyp & 0 &
+ \thewidthof{\synthslantbox{0}{\itshape\doublealphabethyp}} &
+ \thewidthdiffof{\abchypitalics}{\synthslantbox{0}{\itshape\doublealphabethyp}} \\
+ %
+ ABC & -.1 &
+ \thewidthof{\synthslantbox{-.1}{\itshape\doublealphabet}} &
+ \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.1}{\itshape\doublealphabet}} \\
+ ABC hyp & -.1 &
+ \thewidthof{\synthslantbox{-.1}{\itshape\doublealphabethyp}} &
+ \thewidthdiffof{\abchypitalics}{\synthslantbox{-.1}{\itshape\doublealphabethyp}} \\
+ %
+ ABC & -.2 &
+ \thewidthof{\synthslantbox{-.2}{\itshape\doublealphabet}} &
+ \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.2}{\itshape\doublealphabet}} \\
+ ABC hyp & -.2 &
+ \thewidthof{\synthslantbox{-.2}{\itshape\doublealphabethyp}} &
+ \thewidthdiffof{\abchypitalics}{\synthslantbox{-.2}{\itshape\doublealphabethyp}} \\
+ %
+ ABC & -.3 &
+ \thewidthof{\synthslantbox{-.3}{\itshape\doublealphabet}} &
+ \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.3}{\itshape\doublealphabet}} \\
+ ABC hyp & -.3 &
+ \thewidthof{\synthslantbox{-.3}{\itshape\doublealphabethyp}} &
+ \thewidthdiffof{\abchypitalics}{\synthslantbox{-.3}{\itshape\doublealphabethyp}} \\
+ \bottomrule
+ \end{tabular}
+\end{center}
+
+
+\subsection{Line-Breaking}
+
+Left: plain text, \\
+right: \code{\cs{textsynthslant}\{Show line-break\cs{-}ing in a sen\cs{-}tence.\}}
+
+\begin{center}
+ \setlength{\overfullrule}{0pt}
+ \begin{minipage}[t]{0pt}Show line-breaking with a sentence.\end{minipage}%
+ \hspace*{100pt}%
+ \begin{minipage}[t]{0pt}\textsynthslant{Show line-break\-ing in a sen\-tence.}\end{minipage}
+\end{center}
+
+
+\subsection{Microtype Enhancements}
+
+\ifdefined\SetTracking
+ Package \packagename{microtype} loaded.
+
+ Test different trackings in the \code{synthnegslant}~context.
+
+ \begin{center}
+ \setlength{\overfullrule}{0pt}
+ \newcommand*{\thinvrule}{\rule{.4pt}{.7em}}
+ \newcommand{\settracking}[2]
+ {\SetTracking[context=synthnegslant,
+ no ligatures={f},
+ outer kerning={0,0},
+ spacing={#2*,,}]
+ {encoding=*, shape=it}
+ {#1}}
+ \newcommand*{\smallextratracking}{20}
+ \newcommand*{\smallextraspacing}{150}
+ \newcommand*{\bigextratracking}{250}
+ \newcommand*{\bigextraspacing}{300}
+ \begin{tabular}{@{}rrll@{}}
+ \toprule
+ Tracking &
+ Spacing &
+ \raisebox{-.5\normalbaselineskip}[0pt][0pt]{Sample} &
+ \raisebox{-.5\normalbaselineskip}[0pt][0pt]{Example sentence} \\
+ {\small\generictextfraction{1}{1000}}\:em & {\small\generictextfraction{dim}{1000}} & & \\
+ \midrule
+ 0 & 0 &
+ \settracking{0}{0}\thinvrule\textsynthuprightitalic{\fontsample}\thinvrule &
+ \settracking{0}{0}\thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\
+ \smallextratracking & \smallextraspacing &
+ \settracking{\smallextratracking}{\smallextraspacing}%
+ \thinvrule\textsynthuprightitalic{\fontsample}\thinvrule &
+ \settracking{\smallextratracking}{\smallextraspacing}%
+ \thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\
+ \bigextratracking & \bigextraspacing &
+ \settracking{\bigextratracking}{\bigextraspacing}%
+ \thinvrule\textsynthuprightitalic{\fontsample}\thinvrule &
+ \settracking{\bigextratracking}{\bigextraspacing}%
+ \thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\
+ \bottomrule
+ \end{tabular}
+ \settracking{0}{0}% reset extra tracking
+ \end{center}
+
+ \noindent All samples are tightly bracketed by thin horizontal rules
+ to reveal possible outer spacing problems.
+\else
+ Package \packagename{microtype} not loaded.
+ No Microtype effects to show.
+\fi
+\end{document}
+%</gauge>
+% \fi
+%
+%
+%
+\endinput
+%
+%
+%
+%%% Local Variables:
+%%% compile-command: "latex synthslant.dtx"
+%%% fill-column: 96
+%%% End:
diff --git a/macros/latex/contrib/synthslant/synthslant.ins b/macros/latex/contrib/synthslant/synthslant.ins
new file mode 100644
index 0000000000..845b4378b1
--- /dev/null
+++ b/macros/latex/contrib/synthslant/synthslant.ins
@@ -0,0 +1,67 @@
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3 of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+
+
+\input docstrip
+
+
+\keepsilent
+\askforoverwritefalse
+
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Ch. L. Spiel
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3 of this
+license or (at your option) any later version. The latest version
+of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Ch. L. Spiel.
+
+This work consists of the files synthslant.dtx and synthslant.ins
+and the derived files synthslant.sty, synthslant-gauge.tex,
+shear-transform.mp, and title.mp.
+
+
+\endpreamble
+
+
+\edef\source{\jobname.dtx}
+
+\generate{\file{synthslant.sty}{\from{\source}{package}}
+ \file{synthslant-gauge.tex}{\from{\source}{gauge}}
+ \file{synthslant.ist}{\from{\source}{index-style}}}
+
+
+\nopostamble
+\generate{\file{title.mp}{\from{\source}{title}}}
+\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}}
+
+
+\nopreamble
+\generate{\file{compare-with-the-gimp.png.base64}{\from{\source}{compare-with-the-gimp}}}
+
+
+\endbatchfile
+
+
+%% Local Variables:
+%% compile-command: "latex synthslant.ins"
+%% mode: latex
+%% End:
diff --git a/macros/latex/contrib/tblr-extras/README.md b/macros/latex/contrib/tblr-extras/README.md
index 4c7dc3ce22..373fedb6a1 100644
--- a/macros/latex/contrib/tblr-extras/README.md
+++ b/macros/latex/contrib/tblr-extras/README.md
@@ -7,12 +7,12 @@ license or (at your option) any later version. The latest version
of this license is in
http://www.latex-project.org/lppl.txt
# Usage
-Just use \usepackage{tblr-extras} after loading tabularray.
-Activate the libraries using \UseTblrLibrary command
+Just use `\usepackage{tblr-extras}` after loading tabularray.
+Activate the libraries using `\UseTblrLibrary` command.
## Caption Library
Use caption package to typeset tabularray tall and long tabulars captions.
-Enable this library with \UseTblrLibrary{caption}
+Enable this library with `\UseTblrLibrary{caption}`
## Babel Library
-Translate contfoot and conthead to current babel language.
-Curremtle only supports ngerman, french and spanish translations.
-Enable this library with \UseTblrLibrary{babel} \ No newline at end of file
+Translate `contfoot` and `conthead` to current `babel`/`polyglossia` language.
+Currently only supports ngerman, french, spanish, russian and ukrainian translations.
+Enable this library with `\UseTblrLibrary{babel}`
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
index 5f1292e5c7..9262427895 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
+++ b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
Binary files differ
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
index f15a58f8c4..308c0e232a 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
+++ b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
@@ -1,6 +1,6 @@
% -----------------------------------------------------------------------
%%% tblr-extras-doc: Documentation for tblr-extras package.
-%%% Version : 1.0 - 2024-02-10
+%%% Version : 1.1 - 2024-05-13
%%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com>
%%% License : The LaTeX Project Public License 1.3c
% -----------------------------------------------------------------------
@@ -31,7 +31,7 @@
\usepackage{parskip}
\usepackage[hidelinks]{hyperref}
-\newcommand{\Version}{1.0}
+\newcommand{\Version}{1.1}
\NewDocumentCommand{\tblrextras}{}{\textbf{\color{udep}tblr-extras}}
@@ -40,7 +40,7 @@
\centering
\LARGE\textbf{Package \color{udep}tblr-extras}\par
\large Manuel E. Merino\par
- \texttt{v\Version{} - 10/02/2024}\par
+ \texttt{v\Version{} - 13/06/2024}\par
\normalsize Extra libraries for tabularray package.\par
\endgroup
\tableofcontents
@@ -68,7 +68,7 @@
The \tblrextras{} package redefines the \texttt{conthead-text} and \textbf{contfoot-text} for the \texttt{longtblr} environment, using the current babel language.
- Currently only spanish, ngerman and english variants are supported.
+ Currently only spanish, ngerman, russian, ukrainian and french variants are supported.
\section{Bug reports and suggestions}
@@ -78,6 +78,17 @@
The \tblrextras{} package and all its included files are licensed under the LPPL v1.3c or later.
+ \section{Changelog}
+
+ v1.1 - Thanks sgolovan.
+ \begin{itemize}
+ \item Improved the babel library using language hooks.
+ \item Added support for polyglossia package.
+ \item Added ukrainian and russian translations.
+ \end{itemize}
+
+ v1.0 - Initial release.
+
\vfill
\centering
\footnotesize \tblrextras{} -- {\copyright} 2024 Manuel E. Merino. Licensed under LPPL v1.3c.
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras.sty b/macros/latex/contrib/tblr-extras/tblr-extras.sty
index 09cd5ce16c..a6742f4a10 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras.sty
+++ b/macros/latex/contrib/tblr-extras/tblr-extras.sty
@@ -1,6 +1,6 @@
% -----------------------------------------------------------------------
%%% tblr-extras: Extra libraries for tabularray package.
-%%% Version : 1.0 - 2024-02-10
+%%% Version : 1.1 - 2024-05-13
%%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com>
%%% License : The LaTeX Project Public License 1.3c
% -----------------------------------------------------------------------
@@ -18,7 +18,7 @@
% The Current Maintainer of this work is Manuel E. Merino
% -----------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-\ProvidesPackage{tblr-extras}[2024/02/06 package tblr-extras]
+\ProvidesPackage{tblr-extras}[2024/05/13 package tblr-extras]
\RequirePackage{tabularray}
%% ----------------------------------------------------------------------
%% TblrLibrary caption - Use caption package to typeset tabularray tall
@@ -34,7 +34,7 @@
%% Check if a KomaClass is loaded and issue a warning for caption position setup
\@ifundefined{KOMAClassName}
{}
- {\PackageWarningNoLine{tblr-extras}{KOMAScript class detected. Setup caption position using 'captions=<option>'}}
+ {\PackageWarningNoLine{tblr-extras}{KOMAScript class detected. Setup caption position using 'captions=option'}}
\SetTblrOuter[talltblr,longtblr]{headsep=0pt}
\DefTblrTemplate{firsthead}{default}{%
\addtocounter{table}{-1}%
@@ -54,21 +54,72 @@
\SetTblrTemplate{caption-lot}{empty}
}
%% ----------------------------------------------------------------------
-%% TblrLibrary babel - Translate contfoot and conthead to current babel
-%% language. Supports: ngerman, french and spanish translations.
+%% TblrLibrary babel - Translate contfoot and conthead to current babel/polyglossia
+%% language. Supports: ngerman, french, spanish, russian and ukrainian translations.
+%% Check engine
+\newif\if@unicode@engine
+\ifdefined\luatexversion
+ \@unicode@enginetrue
+\else\ifdefined\XeTeXrevision
+ \@unicode@enginetrue
+\fi\fi
\NewTblrLibrary{babel}
{%
- \RequirePackage{babel,iflang}
- \IfLanguagePatterns{spanish}{%
- \DefTblrTemplate{contfoot-text}{default}{Continúa en la página siguiente}
- \DefTblrTemplate{conthead-text}{default}{(Continuación)}
- }{}
- \IfLanguagePatterns{ngerman}{%
- \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}
- \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}
- }{}
- \IfLanguagePatterns{french}{%
- \DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante}
- \DefTblrTemplate{conthead-text}{default}{(Suite)}
- }{}
+ \AddToHook{begindocument/before}{%
+ \@ifpackageloaded{babel}{}{%
+ \@ifpackageloaded{polyglossia}{}{%
+ \RequirePackage{babel}
+ }
+ }
+ \ifdefined\captionsspanish
+ \addto\captionsspanish{%
+ \DefTblrTemplate{contfoot-text}{default}{Continúa en la página siguiente}%
+ \DefTblrTemplate{conthead-text}{default}{(Continuación)}%
+ }
+ \fi
+ \ifdefined\captionsngerman
+ \addto\captionsngerman{%
+ \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
+ \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
+ }
+ \fi
+ \ifdefined\captionsgerman
+ \addto\captionsgerman{%
+ \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
+ \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
+ }
+ \fi
+ \ifdefined\captionsfrench
+ \addto\captionsfrench{%
+ \DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante}%
+ \DefTblrTemplate{conthead-text}{default}{(Suite)}%
+ }
+ \fi
+ \ifdefined\captionsrussian
+ \if@unicode@engine
+ \addto\captionsrussian{%
+ \DefTblrTemplate{contfoot-text}{default}{Продолжение на следующей странице}%
+ \DefTblrTemplate{conthead-text}{default}{(продолжение)}%
+ }
+ \else
+ \addto\captionsrussian{%
+ \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}%
+ \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}%
+ }
+ \fi
+ \fi
+ \ifdefined\captionsukrainian
+ \if@unicode@engine
+ \addto\captionsukrainian{%
+ \DefTblrTemplate{contfoot-text}{default}{Продовження на наступній сторінці}%
+ \DefTblrTemplate{conthead-text}{default}{(продовження)}%
+ }
+ \else
+ \addto\captionsukrainian{%
+ \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}%
+ }
+ \fi
+ \fi
+ }
}
diff --git a/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx b/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
index 5c97dbe0ea..b8e38e8f7d 100644
--- a/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
+++ b/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
@@ -20,7 +20,7 @@
\ProvidesFile{thesis-ekf.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<class>\ProvidesClass{thesis-ekf}[2024/04/14 v4.4 Thesis class for Eszterhazy Karoly Catholic University (Eger, Hungary)]
+%<class>\ProvidesClass{thesis-ekf}[2024/04/18 v4.5 Thesis class for Eszterhazy Karoly Catholic University (Eger, Hungary)]
%<class>
%<*driver>
\documentclass[nohyperref]{ltxdoc}
@@ -62,7 +62,7 @@
% Right brace \} Tilde \~}
%
% \GetFileInfo{thesis-ekf.cls}
-% \title{Thesis class for\\ Eszterházy Károly Catholic University\\\textsf{thesis-ekf.cls}\\[2mm]{\normalsize v4.4 (2024/04/14)}}
+% \title{Thesis class for\\ Eszterházy Károly Catholic University\\\textsf{thesis-ekf.cls}\\[2mm]{\normalsize v4.5 (2024/04/18)}}
% \author{Tibor Tómács\\{\normalsize\href{mailto:tomacs.tibor@gmail.com}{\texttt{tomacs.tibor@gmail.com}}}}
% \date{}
% \maketitle
@@ -98,7 +98,6 @@
% \item[lmodern] Latin Modern fontkészlethez. |times| opció esetén nem töltődik be.
% \item[fixcmex] Latin Modern fontkészlet esetén a nagy operátor jeleket méretezhetővé teszi. |times| opció esetén nem töltődik be.
% \item[cmupint] Latin Modern fontkészlet esetén az integráljelek álló alakúak. Csak az |upint| és |times=false| opciók esetén töltődik be.
-% \item[etoolbox] Dokumentumkapcsokhoz.
% \item[setspace] Sortávolság beállításához.
% \item[graphicx] Képek betöltéséhez.
% \item[newtxtext] Times fontkészlethez. |times| opció esetén töltődik be.
@@ -448,14 +447,16 @@
\RequirePackage{cmupint}
\fi
\fi
-\RequirePackage{etoolbox,graphicx,iftex}
+\RequirePackage{graphicx,iftex}
\onehalfspacing
-\AtEndPreamble{
+\AddToHook{begindocument/before}{
+
\ifthesisekf@times
\RequirePackage{newtxtext,newtxmath}
\fi
+
\ifx\thesisekf@fontsize\@empty
\else
\ifx\thesisekf@fontsize\thesisekf@ten
@@ -469,10 +470,12 @@
\fi
\fi
\fi
+
\RequirePackage{upquote}
+
}
-\AfterEndPreamble{
+\AddToHook{begindocument/end}{
\ifthesisekf@tocnopagenum
\hypersetup{pageanchor=false}
@@ -539,6 +542,8 @@
\if@thesisekf@nochanged@authorcaption@%
\@ifundefined{l@magyar}{}{%
\iflanguage{magyar}{\gdef\thesisekf@authorcaption{K\'{e}sz\'{\i}tette}}{}}%
+ \@ifundefined{l@hungarian}{}{%
+ \iflanguage{hungarian}{\gdef\thesisekf@authorcaption{K\'{e}sz\'{\i}tette}}{}}%
\@ifundefined{l@ngerman}{}{%
\iflanguage{ngerman}{\gdef\thesisekf@authorcaption{Autor}}{}}%
\@ifundefined{l@german}{}{%
@@ -548,6 +553,8 @@
\if@thesisekf@nochanged@supervisorcaption@%
\@ifundefined{l@magyar}{}{%
\iflanguage{magyar}{\gdef\thesisekf@supervisorcaption{T\'{e}mavezet\H{o}}}{}}%
+ \@ifundefined{l@hungarian}{}{%
+ \iflanguage{hungarian}{\gdef\thesisekf@supervisorcaption{T\'{e}mavezet\H{o}}}{}}%
\@ifundefined{l@ngerman}{}{%
\iflanguage{ngerman}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}%
\@ifundefined{l@german}{}{%
@@ -557,6 +564,8 @@
\if@thesisekf@nochanged@logo@%
\@ifundefined{l@magyar}{}{%
\iflanguage{magyar}{\if@thesisekf@exists@logo@hu@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-hu}}\fi}{}}%
+ \@ifundefined{l@hungarian}{}{%
+ \iflanguage{hungarian}{\if@thesisekf@exists@logo@hu@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-hu}}\fi}{}}%
\@ifundefined{l@ngerman}{}{%
\iflanguage{ngerman}{\if@thesisekf@exists@logo@de@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-de}}\fi}{}}%
\@ifundefined{l@german}{}{%
diff --git a/macros/latex/contrib/thesis-ekf/thesis-ekf.pdf b/macros/latex/contrib/thesis-ekf/thesis-ekf.pdf
index 1e4539c51b..9921d23d23 100644
--- a/macros/latex/contrib/thesis-ekf/thesis-ekf.pdf
+++ b/macros/latex/contrib/thesis-ekf/thesis-ekf.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/README.md b/macros/latex/contrib/tkz/tkz-elements/README.md
index 1f2043e435..a4d8d90fad 100644
--- a/macros/latex/contrib/tkz/tkz-elements/README.md
+++ b/macros/latex/contrib/tkz/tkz-elements/README.md
@@ -1,12 +1,12 @@
# tkz-elements — for euclidean geometry
-Release 2.20c 2024/03/26
+Release 2.25c 2024/04/28
## Description
-`tkz-elements v.2.20c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
+`tkz-elements v.2.25c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
- The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings.
+ The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing.
## Licence
@@ -39,7 +39,9 @@ To use the package `tkz-elements`, place the following lines in the preamble of
your LaTeX document:
```
-\usepackage{tkz-euclide,tkz-elements}
+% !TEX TS-program = lualatex
+\usepackage[mini]{tkz-euclide}
+\usepackage{tkz-elements}
\begin{document}
\begin{tkzelements}
your code
@@ -60,27 +62,32 @@ An important example `Golden Arbelos` using the package is on the site. All the
are on the site.
## History
+ - version 2.25c
+ - French documentation at my site: [http://altermundus.fr](http://altermundus.fr)
+ - Added `colinear_at` a new method for the classe `line`
+ - Added `cevian`, `pedal`, `conway_circle`, `conway_points` new methods to the class `triangle`.
+
- version 2.20c
- - Package:
- - Added class matrix; methods are mainly of order 2, sometimes of order 3.
- - Added function solve_quadratic. This function can be used to solve second-degree equations with real or complex numbers.
- - Added method print for the class point. Example z.A : print ()
- - Correction of the macro tkzDN. I deleted a spurious space
- - Modification of vector class attributes. Attributes h and t become head and tail.
- - The mtx attribute is introduced for point and vector.
- z.A.mtx represents the column matrix whose coefficients are the point's coordinates. Same for vectors.
- - Documentation:
- - Rewriting of all texts
- - Correction of example: pentagon
- - Documentation about matrices
+ - Package:
+ - Added class matrix; methods are mainly of order 2, sometimes of order 3.
+ - Added function solve_quadratic. This function can be used to solve second-degree equations with real or complex numbers.
+ - Added method print for the class point. Example z.A : print ()
+ - Correction of the macro tkzDN. I deleted a spurious space
+ - Modification of vector class attributes. Attributes h and t become head and tail.
+ - The mtx attribute is introduced for point and vector.
+ z.A.mtx represents the column matrix whose coefficients are the point's coordinates. Same for vectors.
+ - Documentation:
+ - Rewriting of all texts
+ - Correction of example: pentagon
+ - Documentation about matrices
- version 2.00c
- - class development “vector”
- - added attribute “vec”
- - added “at” and “orthogonal” methods to the class “point”
+ - class development `vector`
+ - added attribute `vec`
+ - added `at` and `orthogonal` methods to the class `point`
- rewriting the function angle\_normalize\_
- - modification of the slope attribute for the “line”, now the result is normalized.
+ - modification of the slope attribute for the `line`, now the result is normalized.
- the angles of a triangle are also normalized
- added function format\_number(number,decimal) sets the number of digits in the decimal part.
- added \tkzDN a macro pour formater les nombres dans la partie TikZ
@@ -115,7 +122,7 @@ are on the site.
- method trilinear (to use trilinear coordinates)
- method barycentric (to use barycentric coordinates)
- Added some functions
- - bisector (a,b,c) altitude (a,b,c) bisector_ext(a,b,c) equilateral (a,b) midpoint (a,b) to avoid creating unnecessary objects.
+ - `bisector (a,b,c)` `altitude (a,b,c)` `bisector_ext(a,b,c)` `equilateral (a,b)` `midpoint (a,b)` to avoid creating unnecessary objects.
- Added new examples and a cheat sheet in the documentation
@@ -133,72 +140,55 @@ are on the site.
- version 1.60c
- added Internal and external tangents common to two circles:
- - function circle : `external_tangent`(C)
- - function circle : `internal_tangent(C)
+ - function circle : `external_tangent(C)`
+ - function circle : `internal_tangent(C)`
- radical_center and radical_circle are also valid for two circles
- - function `radical_center` (C1,C2,C3)
- - function `radical_circle` (C1,C2,C3)
- - function `circles_position` (C1,C2)
- - function `midcircle` (C1,C2) powerful tool for working with inversions
+ - function `radical_center (C1,C2,C3)`
+ - function `radical_circle (C1,C2,C3)`
+ - function `circles_position (C1,C2)`
+ - function `midcircle (C1,C2)` powerful tool for working with inversions
- Bug corrected in midarc now use get_angle instead of get_angle_
- Modification of a triangle attribute `ca` replaces `ac` to designate the line passing through the third and first points
- - The center of symmetry of a parallelogram is named "center" instead of "i".
+ - The center of symmetry of a parallelogram is named "center" instead of `i`.
- Correction documentation
- Correction of examples using the circle:point (k) method, where k is now a real number rather than an angle.
- version 1.50c Correction of the documentation
- - Added "swap" option to create triangles from the "line" object.
- - "iscyclic" is a new method to know if a quadrilateral is inscribable in a circle.
- - Added function "diameter" to create a circle.
- - Added function "swap" to swap two points.
- - Correction method "gold" of object rectangle.
- - Correction method "in_circle_" of object triangle.
- - Correction method "incentral_tr_" of object triangle.
- - Added method "soddy_center" of object triangle.
- - Added option "swap" for method "square" of object line.
- - Added method "report" for object line. Transfer a defined length from a point
- - Added option "swap" to the function "square : side"
+ - Added `swap` option to create triangles from the "line" object.
+ - `iscyclic` is a new method to know if a quadrilateral is inscribable in a circle.
+ - Added function `diameter` to create a circle.
+ - Added function `swap` to swap two points.
+ - Correction method `gold` of object rectangle.
+ - Correction method `in_circle_` of object triangle.
+ - Correction method `incentral_tr_` of object triangle.
+ - Added method `soddy_center` of object triangle.
+ - Added option `swap` for method `square` of object line.
+ - Added method `report` for object line. Transfer a defined length from a point
+ - Added option `swap` to the function "square : side"
- Version 1.40c Restructuring objects
- New version for all transformations. Now, they accept all objects as parameters.
-
- Symmetry_axial has changed its name to reflection.
-
- Added scale to north south etc.. (point object).
-
- Change the "point" method of the objects circle and ellipse. now the parameter is un real t (between 0 and 1) and not an angle
-
- Added the method `check_equilateral` to know if a triangle is equilateral.
-
-
- Added option "indirect" to the method equilateral for a line object.
-
- Correction of the documentation. (Added sections).
-
-
-
-
+ - New version for all transformations. Now, they accept all objects as parameters.
+ - Symmetry_axial has changed its name to reflection.
+ - Added scale to north south etc.. (point object).
+ - Change the "point" method of the objects circle and ellipse. now the parameter is un real t (between 0 and 1) and not an angle
+ - Added the method `check_equilateral` to know if a triangle is equilateral.
+ - Added option "indirect" to the method equilateral for a line object.
+ - Correction of the documentation. (Added sections).
+
- Version 1.20 Memory management: tables are emptied when the tkzelements environment is opened.
- `set_lua_to_tex` has been replaced by `tkzUseLua` to transfer data between the `tkzelements` and `tikzpicture` environments.
-
- New version of `inversion` with respect to a circle method. It selects the correct algorithm based on the object passed as a parameter.
-
- Added an `in_out_disk` method for the `circle` object, which indicates whether or not a point is in the disk. `in_out` is for the circle.
-
- Added two methods: `radical_center (C1,C2,C3)` radical center of three circles.
- `radical_circle (C1,C2,C3)` orthogonal circle of three circles.
-
- Added function `circle : radius` to define a circle with a centre and a radius.
-
- Added methods `normalize` and `normalize_inv` for `line`.
-
- Added methods `translation` and `set_translation` to the `line` object.
-
- Added an example to illustrate combinations of methods and attributes.
+ - `set_lua_to_tex` has been replaced by `tkzUseLua` to transfer data between the `tkzelements` and `tikzpicture` environments.
+ - New version of `inversion` with respect to a circle method. It selects the correct algorithm based on the object passed as a parameter.
+ - Added an `in_out_disk` method for the `circle` object, which indicates whether or not a point is in the disk. `in_out` is for the circle.
+ - Added two methods: `radical_center (C1,C2,C3)` radical center of three circles.
+ `radical_circle (C1,C2,C3)` orthogonal circle of three circles.
+ - Added function `circle : radius` to define a circle with a centre and a radius.
+ - Added methods `normalize` and `normalize_inv` for `line`.
+ - Added methods `translation` and `set_translation` to the `line` object.
+ - Added an example to illustrate combinations of methods and attributes.
- First version 1.00b
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
index f84c58d941..7ae96c7ada 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
@@ -121,9 +121,9 @@ Three attributes are used (south, west, radius).
\midrule
\textbf{Circles}& &\\
\midrule
-\Imeth{circle}{orthogonal\_from (pt)} & |C = C.OA: orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\
-\Imeth{circle}{orthogonal\_through (pta,ptb)} & |C = C.OA: orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\
-\Imeth{circle}{inversion (...)} & | C.AC: inversion (pt, pts, L or C )|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\
+\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\
+\Imeth{circle}{orthogonal\_through (pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\
+\Imeth{circle}{inversion (...)} &|C.AC:inversion (pt, pts, L or C)|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\
\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & Refer to \ref{ssub:midcircle} \\
\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_circle}\\
\midrule
@@ -208,7 +208,7 @@ Three attributes are used (south, west, radius).
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 1.6
+ scale = 1.25
z.A = point: new (1,0)
z.B = point: new (5,2)
z.C = point: new (1.2,2)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
index 5ea44a57b7..3146f73461 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
@@ -56,23 +56,6 @@ The first attributes are the three points that define the ellipse: : the \Iattr
z.Co = E.covertex
z.Ve = E.vertex
\end{tkzelements}
-\begin{tikzpicture}
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- \tkzGetNodes
- \tkzDrawCircles[teal](C,A)
- \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},
- \tkzUseLua{slope})
- \tkzDrawPoints(C,A,B,b,W,S,F1,F2)
- \tkzLabelPoints(C,A,B)
- \tkzDrawLine[add = .5 and .5](A,W)
- \tkzLabelSegment[pos=1.5,above,sloped](A,W){%
- slope = \pgfmathprintnumber{\tkzUseLua{slope}}}
- \tkzLabelPoint[below](S){South}
- \tkzLabelPoint[below left](F1){Focus 1}
- \tkzLabelPoint[below left](F2){Focus 2}
- \tkzLabelPoint[above right](Ve){Vertex ; East}
- \tkzLabelPoint[above right](Co){Covertex ; North}
-\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
@@ -96,9 +79,8 @@ The first attributes are the three points that define the ellipse: : the \Iattr
z.Co = E.covertex
z.Ve = E.vertex
\end{tkzelements}
- \hspace*{\fill}
\begin{tikzpicture}
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+\pgfkeys{/pgf/number format/.cd,fixed,precision=2}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
@@ -113,6 +95,28 @@ The first attributes are the three points that define the ellipse: : the \Iattr
\tkzLabelPoint[above right](Co){Covertex ; North}
\end{tikzpicture}
\end{minipage}
+
+\begin{Verbatim}
+\begin{tikzpicture}
+ \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](C,A)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},
+ \tkzUseLua{slope})
+ \tkzDrawPoints(C,A,B,b,W,S,F1,F2)
+ \tkzLabelPoints(C,A,B)
+ \tkzDrawLine[add = .5 and .5](A,W)
+ \tkzLabelSegment[pos=1.5,above,sloped](A,W){%
+ slope = \pgfmathprintnumber{\tkzUseLua{slope}}}
+ \tkzLabelPoint[below](S){South}
+ \tkzLabelPoint[below left](F1){Focus 1}
+ \tkzLabelPoint[below left](F2){Focus 2}
+ \tkzLabelPoint[above right](Ve){Vertex ; East}
+ \tkzLabelPoint[above right](Co){Covertex ; North}
+\end{tikzpicture}
+\end{Verbatim}
+
+
% \caption{Class Ellipse}
% subsection attributes_of_an_ellipse (end)
@@ -202,46 +206,7 @@ The function \Igfct{package}{tkzUseLua (variable)} is used to transfer values to
The first two points are the foci of the ellipse, and the third one is the vertex. We can deduce all the other characteristics from these points.
\emph{The function launches the |new| method, defining all the characteristics of the ellipse.}
-\begin{tkzelements}
- scale =1
- z.A = point: new (0 , 0)
- z.B = point: new (5 , 1)
- L.AB = line : new (z.A,z.B)
- z.C = point: new (.8 , 3)
- T.ABC = triangle: new (z.A,z.B,z.C)
- z.N = T.ABC.eulercenter
- z.H = T.ABC.orthocenter
- z.O = T.ABC.circumcenter
- _,_,z.Mc = get_points (T.ABC: medial ())
- L.euler = line: new (z.H,z.O)
- C.circum = circle: new (z.O,z.A)
- C.euler = circle: new (z.N,z.Mc)
- z.i,z.j = intersection (L.euler,C.circum)
- z.I,z.J = intersection (L.euler,C.euler)
- E = ellipse: foci (z.H,z.O,z.I)
- L.AH = line: new (z.A,z.H)
- z.X = intersection (L.AH,C.circum)
- L.XO = line: new (z.X,z.O)
- z.R,z.S = intersection (L.XO,E)
- a,b = E.Rx,E.Ry
- ang = math.deg(E.slope)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircles[cyan](O,A N,I)
-\tkzDrawSegments(X,R A,X)
-\tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\tkzDrawLines[add=.2 and .5](I,H)
-\tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
-\tkzLabelPoints[above](C,X)
-\tkzLabelPoints[above right](N,O)
-\tkzLabelPoints[above left](R)
-\tkzLabelPoints[left](A)
-\tkzLabelPoints[right](B,I,S,H)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
z.A = point: new (0 , 0)
@@ -267,6 +232,50 @@ The first two points are the foci of the ellipse, and the third one is the verte
ang = math.deg(E.slope)
\end{tkzelements}
\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =1
+ z.A = point: new (0 , 0)
+ z.B = point: new (5 , 1)
+ L.AB = line : new (z.A,z.B)
+ z.C = point: new (.8 , 3)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.N = T.ABC.eulercenter
+ z.H = T.ABC.orthocenter
+ z.O = T.ABC.circumcenter
+ _,_,z.Mc = get_points (T.ABC: medial ())
+ L.euler = line: new (z.H,z.O)
+ C.circum = circle: new (z.O,z.A)
+ C.euler = circle: new (z.N,z.Mc)
+ z.i,z.j = intersection (L.euler,C.circum)
+ z.I,z.J = intersection (L.euler,C.euler)
+ E = ellipse: foci (z.H,z.O,z.I)
+ L.AH = line: new (z.A,z.H)
+ z.X = intersection (L.AH,C.circum)
+ L.XO = line: new (z.X,z.O)
+ z.R,z.S = intersection (L.XO,E)
+ a,b = E.Rx,E.Ry
+ ang = math.deg(E.slope)
+ \end{tkzelements}
+ \hspace*{\fill}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[cyan](O,A N,I)
+ \tkzDrawSegments(X,R A,X)
+ \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawLines[add=.2 and .5](I,H)
+ \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
+ \tkzLabelPoints[above](C,X)
+ \tkzLabelPoints[above right](N,O)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[left](A)
+ \tkzLabelPoints[right](B,I,S,H)
+ \end{tikzpicture}
+ \hspace*{\fill}
+\end{minipage}
+
\begin{Verbatim}
\begin{tikzpicture}
\tkzGetNodes
@@ -283,11 +292,7 @@ The first two points are the foci of the ellipse, and the third one is the verte
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B,I,S,H)
\end{tikzpicture}
-\end{Verbatim}
-
-
-
-
+ \end{Verbatim}
% subsubsection function_tkzname_ellipse__foci (end)
\subsubsection{Method \Imeth{ellipse}{point} and \Imeth{ellipse}{radii}} % (fold)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
index 741938eb66..435ad9bcc6 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
@@ -181,6 +181,7 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB:_north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB:_south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
\Imeth{line}{report(d,pt)} &|z.M=L.AB:report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; Refer to ex. (\ref{ssub:method_report})\\
+\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB:colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; Refer to ex. (\ref{ssub:method_imeth_line_colinear__at})\\
\midrule
\textbf{Lines} &&\\
\midrule
@@ -229,7 +230,7 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\midrule
\Imeth{line}{circle ()} & |C.AB = L.AB : circle ()| & center pa through pb \\
\Imeth{line}{circle\_swap ()} & |C.BA = L.AB : circle_swap ()|& center pb through pa \\
-\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Ensemble des points tq. |MA/MB = 2| \\
+\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2| \\
\midrule
\textbf{Transformations} &&\\
\midrule
@@ -248,7 +249,7 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\egroup
\end{minipage}
-\subsubsection{Method report} % (fold)
+\subsubsection{Method \Imeth{line}{report}} % (fold)
\label{ssub:method_report}
|report (d,pt)| If the point is absent, the transfer is made from the first point that defines the line.
@@ -289,7 +290,7 @@ z.O = L.AB : report (3)
\end{minipage}
% subsubsection method_report (end)
-\subsubsection{Triangle with two\_angles} % (fold)
+\subsubsection{Method \Imeth{line}{two\_angles} } % (fold)
\label{ssub:triangle_with_two__angles}
The angles are on either side of the given segment
@@ -332,7 +333,7 @@ The angles are on either side of the given segment
\end{minipage}
% subsubsection triangle_with_two__angles (end)
-\subsubsection{Triangle with three given sides} % (fold)
+\subsubsection{Method \Imeth{line}{sss}} % (fold)
\label{ssub:triangle_with_three_given_sides}
In the following example, a small difficulty arises. The given lengths are not affected by scaling, so it's necessary to use the \Igfct{math}{value (r) } function, which will modify the lengths according to the scale.
@@ -498,7 +499,7 @@ The side lengths are proportional to the lengths given in the table. They depend
\end{minipage}
% subsubsection about_triangles (end)
-\subsubsection{Method point }% (fold)
+\subsubsection{Method \Imeth{line}{point} }% (fold)
\label{ssub:method_point}
This method is very useful. It allows you to place a point on the line under consideration.
If |r = 0| then the point is |pa|, if |r = 1| it's |pb|.
@@ -544,9 +545,50 @@ This method exists for all objects except quadrilaterals.
\end{minipage}
% subsubsection method_point (end)
-\subsubsection{Normalize} % (fold)
-\label{ssub:normalize}
+\subsubsection{Method \Imeth{line}{colinear\_at}} % (fold)
+\label{ssub:method_imeth_line_colinear__at}
+If the coefficient is missing then it defaults to $1$ and in the following example we obtain: $CE=AB$ and $(AB)\parallel (CE)$. For point $D$: $CD = .5AB$ and $(AB)\parallel (CD)$.
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (4 , 0)
+ z.C = point: new (1 , 3)
+ L.AB = line : new (z.A,z.B)
+ z.D = L.AB : colinear_at (z.C,.5)
+ z.E = L.AB : colinear_at (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(A,B C,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (4 , 0)
+ z.C = point: new (1 , 3)
+ L.AB = line : new (z.A,z.B)
+ z.D = L.AB : colinear_at (z.C,.5)
+ z.E = L.AB : colinear_at (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(A,B C,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
+\end{tikzpicture}
+\end{minipage}
+
+% subsubsection method_imeth_line_colinear__at (end)
+
+
+\subsubsection{Method \Imeth{line}{normalize}} % (fold)
+\label{ssub:normalize}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
@@ -586,7 +628,7 @@ This method exists for all objects except quadrilaterals.
% subsubsection normalize (end)
-\subsubsection{Barycenter with a line} % (fold)
+\subsubsection{Method \Imeth{line}{barycenter}} % (fold)
\label{ssub:barycenter_with_a_line}
\begin{minipage}{.4\textwidth}
@@ -621,7 +663,7 @@ This method exists for all objects except quadrilaterals.
\end{minipage}
% subsubsection barycenter_with_a_line (end)
-\subsubsection{Example: new line from a defined line} % (fold)
+\subsubsection{method \Imeth{line}{ll\_from}} % (fold)
\label{ssub:new_line_from_a_defined_line}
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -673,7 +715,7 @@ _,z.E = get_points ( L.CD: ll_from (z.B))
% subsubsection new_line_from_a_defined_line (end)
-\subsubsection{Example: projection of several points} % (fold)
+\subsubsection{Method \Imeth{line}{projection}} % (fold)
\label{ssub:example_projection_of_several_points}
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -788,7 +830,7 @@ z.a,z.b = L.ab.pa,L.ab.pb
% subsubsection example_combination_of_methods (end)
-\subsubsection{Example: translation} % (fold)
+\subsubsection{Method \Imeth{line}{translation}} % (fold)
\label{ssub:example_translation}
\begin{minipage}{0.6\textwidth}
@@ -830,7 +872,7 @@ z.a,z.b = L.ab.pa,L.ab.pb
% subsubsection example_translation (end)
-\subsubsection{Example: distance and projection} % (fold)
+\subsubsection{Method \Imeth{line}{distance}} % (fold)
\label{ssub:example_distance_and_projection}
\begin{minipage}{0.5\textwidth}
@@ -876,7 +918,7 @@ z.a,z.b = L.ab.pa,L.ab.pb
% \caption{Method distance with line object}
% subsubsection example_distance_and_projection (end)
-\subsubsection{Reflection of object} % (fold)
+\subsubsection{Method \Imeth{line}{reflection} of an object} % (fold)
\label{ssub:reflection_of_object}
\begin{minipage}{.5\textwidth}
@@ -924,7 +966,7 @@ z.a,z.b = L.ab.pa,L.ab.pb
% subsubsection reflection_of_object (end)
-\subsection{Apollonius circle MA/MB = k} % (fold)
+\subsection{Method \Imeth{line}{apollonius} Apollonius circle MA/MB = k} % (fold)
\label{sub:apollonius_circle_ma_mb_k}
\begin{Verbatim}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
index 68c5a73e5a..e404dc763b 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
@@ -605,6 +605,7 @@ Rotate a triangle by an angle of $\pi/6$ around $O$.
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
+ scale = .75
z.O = point : new ( -1 , -1 )
z.A = point : new ( 2 , 0 )
z.B = point : new ( 5 , 0 )
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
index 2413a97d91..3ec9e777a6 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
@@ -81,7 +81,7 @@ z.H = RP.five.proj
\bgroup
\catcode`_=12
\small
-\captionof{table}{Circle methods.}\label{regular:met}
+\captionof{table}{regular\_polygon methods.}\label{regular:met}
\begin{tabular}{ll}
\toprule
\textbf{Methods} & \textbf{Comments} \\
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
index f54a53f39e..80b711e46f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
@@ -202,7 +202,9 @@ Through the Lemoine point draw lines parallel to the triangle's sides. The point
then lie on a circle known as the first Lemoine circle. } \\
\Imeth{triangle}{second\_lemoine\_circle ()} & Refer to example \ref{sub:antiparallel_through_lemoine_point}\\
\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle\\
-
+\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle Refer to (\ref{ssub:method_imeth_triangle_cevian})\\
+\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle Refer to (\ref{ssub:method_imeth_triangle_pedal})\\
+\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points Refer to (\ref{ssub:method_imeth_triangle_conway})\\
\bottomrule
\end{tabular}
\end{minipage}
@@ -234,7 +236,8 @@ Remark: If you don't need to use the triangle object several times, you can obta
\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices\\
\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles\\
\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle. \\
-\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|.\\
+\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|. refer to (\ref{ssub:method_imeth_triangle_cevian})\\
+\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| Refer to \ref{ssub:method_imeth_triangle_pedal}\\
\Imeth{triangle}{symmedian ()} & Triangle formed with the intersection points of the symmedians. \\
\Imeth{triangle}{euler ()} & Triangle formed with the euler points \\
\midrule
@@ -256,6 +259,171 @@ Remark: If you don't need to use the triangle object several times, you can obta
\egroup
% subsubsection methods_of_the_class_triangle (end)
+
+\subsubsection{Méthodes \Imeth{triangle}{cevian} et \Imeth{triangle}{cevian\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_cevian}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c ta,tb,tc)
+\tkzDrawSegments(a,ta b,tb c,tc)
+\tkzDrawPoints(a,b,c,i,ta,tb,tc)
+\tkzLabelPoints(a,b,c,i)
+\tkzDrawCircles(w,ta)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = 2
+z.a = point: new (1,2)
+z.b = point: new (5,1)
+z.c = point: new (3,5)
+T = triangle: new (z.a,z.b,z.c)
+z.i = T.orthocenter
+T.cevian = T : cevian (z.i)
+z.ta,z.tb,z.tc = get_points (T.cevian)
+C.cev = T : cevian_circle (z.i)
+z.w = C.cev.center
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c ta,tb,tc)
+\tkzDrawSegments(a,ta b,tb c,tc)
+\tkzDrawPoints(a,b,c,i,ta,tb,tc)
+\tkzLabelPoints(a,b,c,i)
+\tkzDrawCircles(w,ta)
+\end{tikzpicture}
+\end{minipage}
+% subsubsection method_imeth_triangle_cevian (end)
+
+
+\subsubsection{Méthodes \Imeth{triangle}{pedal} et \Imeth{triangle}{pedal\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_pedal}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ z.C = point: new(1.5,3)
+ z.O = point: new (2,1)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ T.pedal = T.ABC : pedal (z.O)
+ z.E,z.F,z.G = get_points(T.pedal)
+ C.pedal = T.ABC : pedal_circle (z.O)
+ z.w = C.pedal.center
+ z.T = C.pedal.through
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](E,F,G)
+ \tkzDrawCircle(w,T)
+ \tkzDrawPoints(A,B,C,E,F,G,O)
+ \tkzLabelPoints(A,B,C,E,F,G)
+ \tkzDrawSegments(O,E O,F O,G)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ z.C = point: new(1.5,3)
+ z.O = point: new (2,1)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ T.pedal = T.ABC : pedal (z.O)
+ z.E,z.F,z.G = get_points(T.pedal)
+ C.pedal = T.ABC : pedal_circle (z.O)
+ z.w = C.pedal.center
+ z.T = C.pedal.through
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](E,F,G)
+ \tkzDrawCircle(w,T)
+ \tkzDrawPoints(A,B,C,E,F,G,O)
+ \tkzLabelPoints(A,B,C,E,F,G)
+ \tkzDrawSegments(O,E O,F O,G)
+ \end{tikzpicture}
+\end{minipage}
+% subsubsection method_imeth_triangle_pedal (end)
+
+\subsubsection{Méthodes \Imeth{triangle}{conway\_points} et \Imeth{triangle}{conway\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_conway}
+
+En géométrie plane, le théorème du cercle de Conway stipule que lorsque les côtés se rencontrant à chaque sommet d'un triangle sont prolongés par la longueur du côté opposé, les six points d'extrémité des trois segments de droite résultants se trouvent sur un cercle dont le centre est le centre d'incidence du triangle.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ z.A = point:new (0,0)
+ z.C = point:new (5,0)
+ z.B = point:new (1,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ C.conway = T.ABC : conway_circle ()
+ z.w,z.t = get_points(C.conway)
+ z.t1,z.t2,z.t3,z.t4,
+ z.t5,z.t6= T.ABC : conway_points ()
+ \end{tkzelements}
+ \hspace*{5cm}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(w,t)
+ \tkzDrawPoints(t1,t2,t3,t4,t5,t6)
+ \tkzLabelPoints(t1,t2,t3,t4,t5,t6)
+ \tkzDrawSegments[dashed](t1,A t2,A t3,B)
+ \tkzDrawSegments[dashed](t4,B t5,C t6,C)
+ \tkzMarkSegments(B,C t1,A t2,A)
+ \tkzMarkSegments[mark=||](A,C t3,B t4,B)
+ \tkzMarkSegments[mark=|||](A,B t5,C t6,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .5
+ z.A = point:new (0,0)
+ z.C = point:new (5,0)
+ z.B = point:new (1,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ C.conway = T.ABC : conway_circle ()
+ z.w,z.t = get_points(C.conway)
+ z.t1,z.t2,z.t3,
+ z.t4,z.t5,z.t6= T.ABC : conway_points ()
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(w,t)
+ \tkzDrawPoints(t1,t2,t3,t4,t5,t6)
+ \tkzLabelPoints(t1,t2,t3,t4,t5,t6)
+ \tkzDrawSegments[dashed](t1,A t2,A t3,B t4,B t5,C t6,C)
+ \tkzMarkSegments(B,C t1,A t2,A)
+ \tkzMarkSegments[mark=||](A,C t3,B t4,B)
+ \tkzMarkSegments[mark=|||](A,B t5,C t6,C)
+ \end{tikzpicture}
+\end{minipage}
+
+% subsubsection methode_imeth_triangle_conway (end)
+
+
\subsubsection{Euler line} % (fold)
\label{ssub:euler_line}
@@ -549,10 +717,61 @@ z.T2 = L.T2.pb
\tkzMarkSegments(B,E B,M B,F)
\end{tikzpicture}
\end{Verbatim}
+% subsection harmonic_division_and_bisector (end)
+
+\subsubsection{Method \Imeth{triangle}{cevan}} % (fold)
+\label{ssub:method_imeth_triangle_cevan}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 2
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 2
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
+ \end{tikzpicture}
+\end{minipage}
+% subsubsection method_imeth_triangle_cevan (end)
-% subsection harmonic_division_and_bisector (end)
% subsection methods_of_the_class_triangle (end)
% section class_triangle (end)
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
index 1b35c27263..4f46d4a127 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
@@ -720,6 +720,7 @@ Same result using the function |T.ABC.ab : apollonius (k) |
\subsection{Orthogonal circle through} % (fold)
\label{sub:orthogonal_circle_through}
+\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
z.O = point: new (0,1)
@@ -738,8 +739,8 @@ Same result using the function |T.ABC.ab : apollonius (k) |
\tkzLabelPoints[right](O,A,z1,z2,c)
\end{tikzpicture}
\end{Verbatim}
-
-\begin{tkzelements}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
z.O = point: new (0,1)
z.A = point: new (1,0)
z.z1 = point: new (-1.5,-1.5)
@@ -748,7 +749,6 @@ Same result using the function |T.ABC.ab : apollonius (k) |
C = C.OA: orthogonal_through (z.z1,z.z2)
z.c = C.center
\end{tkzelements}
-
\hspace*{\fill}
\begin{tikzpicture}
\tkzGetNodes
@@ -758,6 +758,7 @@ Same result using the function |T.ABC.ab : apollonius (k) |
\tkzLabelPoints[right](O,A,z1,z2,c)
\end{tikzpicture}
\hspace*{\fill}
+\end{minipage}
% subsection orthogonal_circle_through (end)
\subsection{Divine ratio} % (fold)
@@ -1516,70 +1517,50 @@ z.O_0 = L.AB.mid
\begin{minipage}[t]{.4\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- scale=.75
- z.A = point: new (0 , 0)
- z.B = point: new (4 , 0)
- z.D = point: new (12,0)
- L.AB = line : new (z.A,z.B)
- z.X = L.AB.north_pa
- L.XB = line : new (z.X,z.B)
- z.E = L.XB.mid
- L.DE = line : new (z.D,z.E)
- L.XA = line : new (z.X,z.A)
- z.F = intersection (L.DE,L.XA)
- L.AE = line : new (z.A,z.E)
- L.BF = line : new (z.B,z.F)
- z.G = intersection (L.AE,L.BF)
- L.XG = line : new (z.X,z.G)
-z.C = intersection (L.XG,L.AB)
+ scale=.75
+ z.A = point: new (0 , 0)
+ z.B = point: new (4 , 0)
+ z.G = point: new (2,2)
+ L.AG = line : new (z.A,z.G)
+ L.AB = line : new (z.A,z.B)
+ z.E = L.AG : colinear_at (z.B,.5)
+ L.GE = line : new (z.G,z.E)
+ z.D = intersection (L.GE,L.AB)
+ z.F = z.B : symmetry (z.E)
+ L.GF = line :new (z.G,z.F)
+ z.C = intersection (L.GF,L.AB)
\end{tkzelements}
\begin{tikzpicture}
- \tkzGetNodes
- \tkzDefPoints{0/0/A,4/0/B}
- \tkzDefPoints{2/2/G}
- \tkzDefLine[parallel=through B,K=.5](A,G) \tkzGetPoint{E}
- \tkzInterLL(G,E)(A,B) \tkzGetPoint{D}
- \tkzDefPointBy[symmetry= center B](E) \tkzGetPoint{F}
- \tkzInterLL(G,F)(A,B) \tkzGetPoint{C}
- \tkzDrawLines(A,D A,G F,E G,F G,D)
- \tkzDrawPoints(A,B,G,E,F,C,D)
- \tkzLabelPoints(A,B,G,E,F,C,D)
- \tkzMarkSegments(F,B B,E)
+ \tkzGetNodes
+ \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
+ \tkzDrawPoints(A,B,G,E,F,C,D)
+ \tkzLabelPoints(A,B,G,E,F,C,D)
+ \tkzMarkSegments(F,B B,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.6\textwidth}\vspace{0pt}%
\begin{tkzelements}
-scale=.75
-z.A = point: new (0 , 0)
-z.B = point: new (4 , 0)
-z.D = point: new (12,0)
-L.AB = line : new (z.A,z.B)
-z.X = L.AB.north_pa
-L.XB = line : new (z.X,z.B)
-z.E = L.XB.mid
-L.DE = line : new (z.D,z.E)
-L.XA = line : new (z.X,z.A)
-z.F = intersection (L.DE,L.XA)
-L.AE = line : new (z.A,z.E)
-L.BF = line : new (z.B,z.F)
-z.G = intersection (L.AE,L.BF)
-L.XG = line : new (z.X,z.G)
-z.C = intersection (L.XG,L.AB)
+ scale=.75
+ z.A = point: new (0 , 0)
+ z.B = point: new (4 , 0)
+ z.G = point: new (2,2)
+ L.AG = line : new (z.A,z.G)
+ L.AB = line : new (z.A,z.B)
+ z.E = L.AG : colinear_at (z.B,.5)
+ L.GE = line : new (z.G,z.E)
+ z.D = intersection (L.GE,L.AB)
+ z.F = z.B : symmetry (z.E)
+ L.GF = line :new (z.G,z.F)
+ z.C = intersection (L.GF,L.AB)
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDefPoints{0/0/A,4/0/B}
-\tkzDefPoints{2/2/G}
-\tkzDefLine[parallel=through B,K=.5](A,G) \tkzGetPoint{E}
-\tkzInterLL(G,E)(A,B) \tkzGetPoint{D}
-\tkzDefPointBy[symmetry= center B](E) \tkzGetPoint{F}
-\tkzInterLL(G,F)(A,B) \tkzGetPoint{C}
-\tkzDrawLines(A,D A,G F,E G,F G,D)
-\tkzDrawPoints(A,B,G,E,F,C,D)
-\tkzLabelPoints(A,B,G,E,F,C,D)
-\tkzMarkSegments(F,B B,E)
+ \tkzGetNodes
+ \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
+ \tkzDrawPoints(A,B,G,E,F,C,D)
+ \tkzLabelPoints(A,B,G,E,F,C,D)
+ \tkzMarkSegments(F,B B,E)
\end{tikzpicture}
\hspace*{\fill}
\end{minipage}
@@ -1590,22 +1571,22 @@ z.C = intersection (L.XG,L.AB)
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- scale = .5
- z.A = point: new (0 , 0)
- z.B = point: new (6 , 0)
- z.D = point: new (12 , 0)
- L.AB = line: new (z.A,z.B)
- z.X = L.AB.north_pa
- L.XB = line: new (z.X,z.B)
- z.E = L.XB.mid
- L.ED = line: new (z.E,z.D)
- L.AX = line: new (z.A,z.X)
- L.AE = line: new (z.A,z.E)
- z.F = intersection (L.ED,L.AX)
- L.BF = line: new (z.B,z.F)
- z.G = intersection (L.AE,L.BF)
- L.GX = line: new (z.G,z.X)
- z.C = intersection (L.GX,L.AB)
+scale = .5
+z.A = point: new (0 , 0)
+z.B = point: new (6 , 0)
+z.D = point: new (12 , 0)
+L.AB = line: new (z.A,z.B)
+z.X = L.AB.north_pa
+L.XB = line: new (z.X,z.B)
+z.E = L.XB.mid
+L.ED = line: new (z.E,z.D)
+L.AX = line: new (z.A,z.X)
+L.AE = line: new (z.A,z.E)
+z.F = intersection (L.ED,L.AX)
+L.BF = line: new (z.B,z.F)
+z.G = intersection (L.AE,L.BF)
+L.GX = line: new (z.G,z.X)
+z.C = intersection (L.GX,L.AB)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -2015,7 +1996,7 @@ z.H = L.OOp : projection (z.X)
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- scale = .25
+ scale = .5
z.A = point: new (0,0)
z.B = point: new (6,0)
z.C = point: new (0.8,4)
@@ -2039,7 +2020,8 @@ z.H = L.OOp : projection (z.X)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+
+
\begin{tkzelements}
scale = .5
z.A = point: new (0,0)
@@ -2066,7 +2048,7 @@ z.H = L.OOp : projection (z.X)
\tkzLabelPoints(A,B,C)
\end{tikzpicture}
\hspace*{\fill}
-\end{minipage}
+
% subsection radical_circle (end)
\subsection{Euler ellipse} % (fold)
@@ -2112,44 +2094,44 @@ _,z.W = intersection (L.ZO,E)
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 1.3
- z.A = point: new (0 , 0)
- z.B = point: new (5 , 1)
- L.AB = line : new (z.A,z.B)
- z.C = point: new (.8 , 3)
- T.ABC = triangle: new (z.A,z.B,z.C)
- z.N = T.ABC.eulercenter
- z.G = T.ABC.centroid
- z.O = T.ABC.circumcenter
- z.H = T.ABC.orthocenter
+ scale = 1.3
+ z.A = point: new (0 , 0)
+ z.B = point: new (5 , 1)
+ L.AB = line : new (z.A,z.B)
+ z.C = point: new (.8 , 3)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.N = T.ABC.eulercenter
+ z.G = T.ABC.centroid
+ z.O = T.ABC.circumcenter
+ z.H = T.ABC.orthocenter
z.Ma,z.Mb,
- z.Mc = get_points (T.ABC : medial ())
+ z.Mc = get_points(T.ABC:medial ())
z.Ha,z.Hb,
- z.Hc = get_points (T.ABC : orthic ())
+ z.Hc = get_points(T.ABC:orthic ())
z.Ea,z.Eb,
- z.Ec = get_points (T.ABC: extouch())
- L.euler = T.ABC : euler_line ()
- C.circum = T.ABC : circum_circle ()
- C.euler = T.ABC : euler_circle ()
- z.I,z.J = intersection (L.euler,C.euler)
- E = ellipse: foci (z.H,z.O,z.I)
- a = E.Rx
- b = E.Ry
- ang = math.deg(E.slope)
- L.AH = line: new (z.A,z.H)
- L.BH = line: new (z.B,z.H)
- L.CH = line: new (z.C,z.H)
- z.X = intersection (L.AH,C.circum)
- _,z.Y = intersection (L.BH,C.circum)
- _,z.Z = intersection (L.CH,C.circum)
- L.BC = line: new (z.B,z.C)
- L.XO = line: new (z.X,z.O)
- L.YO = line: new (z.Y,z.O)
- L.ZO = line: new (z.Z,z.O)
- z.x = intersection (L.BC,L.XO)
- z.U = intersection (L.XO,E)
- _,z.V = intersection (L.YO,E)
- _,z.W = intersection (L.ZO,E)
+ z.Ec = get_points(T.ABC:extouch())
+ L.euler = T.ABC : euler_line ()
+ C.circum = T.ABC : circum_circle ()
+ C.euler = T.ABC : euler_circle ()
+ z.I,z.J = intersection (L.euler,C.euler)
+ E = ellipse: foci (z.H,z.O,z.I)
+ a = E.Rx
+ b = E.Ry
+ ang = math.deg(E.slope)
+ L.AH = line: new (z.A,z.H)
+ L.BH = line: new (z.B,z.H)
+ L.CH = line: new (z.C,z.H)
+ z.X = intersection (L.AH,C.circum)
+ _,z.Y = intersection (L.BH,C.circum)
+ _,z.Z = intersection (L.CH,C.circum)
+ L.BC = line: new (z.B,z.C)
+ L.XO = line: new (z.X,z.O)
+ L.YO = line: new (z.Y,z.O)
+ L.ZO = line: new (z.Z,z.O)
+ z.x = intersection (L.BC,L.XO)
+ z.U = intersection (L.XO,E)
+ _,z.V = intersection (L.YO,E)
+ _,z.W = intersection (L.ZO,E)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -2169,7 +2151,6 @@ _,z.W = intersection (L.ZO,E)
\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
-\hspace*{\fill}
\end{minipage}
\begin{Verbatim}
@@ -3539,24 +3520,24 @@ z.Cp,_ = intersection (L.GD,C.xD)
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B)
- \tkzDrawCircles[cyan](P,B)
- \tkzDrawCircles[red](w,E)
- \tkzDrawCircles[new](x,F)
- \tkzDrawSegments(A,G E,G C,G)
- \tkzDrawPolygons[new](A,E,C A',E',C')
- \tkzDrawPoints(A,...,G,A',E',C',O,P)
- \begin{scope}[font=\scriptsize]
- \tkzLabelPoints(A,...,F)
- \tkzLabelPoints[above left](G,A',E',C')
- \tkzLabelCircle[left](O,B)(30){$(\beta)$}
- \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
- \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
- \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
- \end{scope}
- \end{tikzpicture}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B)
+ \tkzDrawCircles[cyan](P,B)
+ \tkzDrawCircles[red](w,E)
+ \tkzDrawCircles[new](x,F)
+ \tkzDrawSegments(A,G E,G C,G)
+ \tkzDrawPolygons[new](A,E,C A',E',C')
+ \tkzDrawPoints(A,...,G,A',E',C',O,P)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelPoints(A,...,F)
+ \tkzLabelPoints[above left](G,A',E',C')
+ \tkzLabelCircle[left](O,B)(30){$(\beta)$}
+ \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
+ \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
+ \end{scope}
+\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
@@ -3639,7 +3620,6 @@ L.TA = C.wE : tangent_at (z.A)
L.TC = C.xE : tangent_at (z.C)
z.I = intersection (L.TA,L.TC)
\end{tkzelements}
-
\hspace*{\fill}
\begin{tikzpicture}
\tkzGetNodes
@@ -3652,6 +3632,7 @@ z.I = intersection (L.TA,L.TC)
\tkzLabelPoints[above right](E,F)
\tkzLabelPoints[below](C)
\end{tikzpicture}
+\hspace*{\fill}
\end{minipage}
% subsection three_tangents (end)
@@ -3802,7 +3783,7 @@ z.B = point: new (5,1)
z.C = point: new (2,3)
T = triangle: new (z.A,z.B,z.C)
z.O = T.circumcenter
-z.o,z.w = get_points (T : first_lemoine_circle ())
+z.o,z.w = get_points(T:first_lemoine_circle())
z.L = T : lemoine_point ()
\end{tkzelements}
\hspace*{\fill}
@@ -3813,7 +3794,6 @@ z.L = T : lemoine_point ()
\tkzLabelPoints(A,B,C,o,w,O,L)
\tkzDrawCircles(o,w O,A)
\end{tikzpicture}
-\hspace*{\fill}
\end{minipage}
% subsection first_lemoine_circle (end)
@@ -4233,61 +4213,10 @@ z.Xip,z.Yip,z.Zip = C.ins : inversion (z.xi,z.yi,z.zi)
\tkzLabelPoints(A,B,C,E,F,G)
\end{tikzpicture}
\end{Verbatim}
-
-
% subsection soddy_circle_with_function (end)
-\subsubsection{Pappus chain} % (fold)
-\label{ssub:pappus_chain}
- Soit le point $D$ appartenant à la droite $(AC)$ tel que
- \[ DB \cdot DA = AC^2\]
- alors $B$ est l'image de $D$ dans l'inversion de centre $A$ et puissance $AC^2$.
- Les demi-cercles de diamètre $[AB]$ et$[AC]$ passent par le pôle $A$. Ils ont pour images les demi-droites $\mathcal{L'}$ et $\mathcal{L}$.
-
-Les cercles de centre $J_i$ et de diamètre $S_iT_i$ ont pour images les cercles de diamètre $S'_iT'_i$.
-
- \pgfmathsetmacro{\xB}{6}%
- \pgfmathsetmacro{\xC}{9}%
- \pgfmathsetmacro{\xD}{(\xC*\xC)/\xB}%
- \pgfmathsetmacro{\xJ}{(\xC+\xD)/2}%
- \pgfmathsetmacro{\r}{\xD-\xJ}%
- \pgfmathsetmacro{\nc}{2}%
-
-\begin{tikzpicture}[scale=1,ultra thin]
- \tkzDefPoints{0/0/A,\xB/0/B,\xC/0/C,\xD/0/D}
- \tkzDefPointBy[rotation = center C angle -90](B) \tkzGetPoint{c}
- \tkzDefPointBy[rotation = center A angle 90](C) \tkzGetPoint{a}
- \tkzDefPointBy[rotation = center D angle -90](C) \tkzGetPoint{d}
- \tkzDrawLines[add=0 and 2.25](C,c)
- \tkzDrawLines[add=0 and 1.5](D,d)
- \tkzDefCircle[diameter](A,C) \tkzDrawSemiCircle(tkzPointResult,C)
- \tkzDefCircle[diameter](A,B) \tkzDrawSemiCircle(tkzPointResult,B)
- \tkzDefCircle[diameter](B,C) \tkzDrawSemiCircle(tkzPointResult,C)
- \tkzDefCircle[diameter](C,D) \tkzDrawSemiCircle(tkzPointResult,D)
- \tkzDrawArc[red](A,C)(a)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
- \tkzLabelLine[left,pos=3](C,c){$\mathcal{L}$}
- \tkzLabelLine[right,pos=2.5](D,d){$\mathcal{L'}$}
- \foreach \i in {1,...,\nc}
-{\tkzDefPoint(\xJ,2*\r*\i){J}
- \tkzDefPoint(\xJ,2*\r*\i-\r){H}
- \tkzDefCircleBy[inversion = center A through C](J,H)\tkzGetPoints{J'}{H'}
- \tkzInterLC(A,J)(J,H) \tkzGetPoints{S}{T}
- \tkzDefPointsBy[inversion = center A through C](S,T){S',T'}
- \tkzDrawCircle(J,H)
- \tkzDefCircle[diameter](S',T') \tkzGetPoint{I'}
- \tkzDrawCircle(I',T')
- \tkzDrawLines[dashed,add = 0 and .15](A,T A,S A,H)
- \tkzDrawPoints(J,H,H',S,S',T,T')
- \tkzLabelPoint(J){$J_\i$}
- \tkzLabelPoint(S){$S_\i$}
- \tkzLabelPoint(T){$T_\i$}
- \tkzLabelPoint(H){$H_\i$}
- \tkzLabelPoint(S'){$S'_\i$}
- \tkzLabelPoint(T'){$T'_\i$}
- \tkzLabelPoint(H'){$H'_\i$}}
-\end{tikzpicture}
+\subsection{Pappus chain} % (fold)
+\label{sub:pappus_chain}
\begin{tkzelements}
scale =.75
@@ -4374,7 +4303,7 @@ Les cercles de centre $J_i$ et de diamètre $S_iT_i$ ont pour images les cercles
\end{tikzpicture}
\vfill
\end{minipage}
-% subsubsection pappus_chain (end)
+% subsection pappus_chain (end)
\subsection{Three Circles} % (fold)
\label{sub:three_circles}
@@ -4449,7 +4378,7 @@ z.O_2 = L.CB.mid
C.O0B = circle: new ( z.O_0, z.B)
C.O1C = circle: new ( z.O_1, z.C)
C.O2B = circle: new ( z.O_2, z.B)
-z.M_0 = C.O1C : external_similitude (C.O2B)
+z.M_0 = C.O1C:external_similitude(C.O2B)
L.O0C = line:new(z.O_0,z.C)
T.golden = L.O0C : golden ()
z.L = T.golden.pc
@@ -4488,7 +4417,7 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
C.O0B = circle: new ( z.O_0, z.B)
C.O1C = circle: new ( z.O_1, z.C)
C.O2B = circle: new ( z.O_2, z.B)
- z.M_0 = C.O1C : external_similitude (C.O2B)
+ z.M_0 = C.O1C:external_similitude(C.O2B)
L.O0C = line:new(z.O_0,z.C)
T.golden = L.O0C : golden ()
z.L = T.golden.pc
@@ -4514,6 +4443,7 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
+ \hfill
\begin{tikzpicture}[scale=.7]
\tkzGetNodes
\tkzDrawPolygon[red](O_2,O_0,I,D,H)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
index cd967f1af0..55608bb26b 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% encoding : utf8
-% Documentation of tkz-elements v2.20c
-% Copyright 2023 Alain Matthes
+% Documentation of tkz-elements v2.25c
+% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{2.20c}
+\gdef\tkzversionofpack{2.25c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{2.20c}
+\gdef\tkzversionofdoc{2.25c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -33,11 +33,12 @@
\gdef\tkzengine{lualatex}
\gdef\tkzurlauthorcom{http://altermundus.fr}
\nameoffile{\tkznameofpack}
+
% -- Packages ---------------------------------------------------
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{calc}
\usepackage{tkz-base}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements}
\usepackage{pgfornament}
\usetikzlibrary{backgrounds}
@@ -144,6 +145,7 @@ sharp corners
\newcommand*{\IEmacro}[1]{\index{#1_1@\texttt{\textbackslash#1}}\texttt{#1}}
\newcommand*{\tkzimpbf}[1]{\texttt{\textbf{#1}}}
\newcommand*{\tkzEHand}{\textcolor{red}{\lefthand}}
+\newcommand*{\ItkzPopt}[2]{\texttt{#2}\index{#1_3@\texttt{#1: options}!\texttt{#2}}}
%<--------------------------------------------------------------------------->
% settings styles
@@ -181,8 +183,7 @@ sharp corners
This document compiles some notes about \tkzname{\tkznameofpack}, the initial version of a \code{Lua} library designed to perform all the necessary calculations for defining objects in Euclidean geometry figures. Your document must be compiled using Lua\LaTeX.\\
With \pkg{tkz-elements}, definitions and calculations are exclusively conducted using \pkg{Lua}. \\
The primary programming approach offered is oriented towards \code{object programming}, utilizing object classes such as point, line, triangle, circle, and ellipse. Currently, after the calculations are completed, \pkg{tkz-euclide} or \pkg{TikZ} is used for drawing purposes.\\
- I discovered Lua and object-oriented programming while developing this package, so it's highly likely that I've made a few mistakes. If you'd like to contribute to the development of this package or provide advice on how to proceed, please contact me via email. \\
-Please note: English is not my native language, so there may be some errors."
+ I discovered Lua and object-oriented programming while developing this package, so it's highly likely that I've made a few mistakes. If you'd like to contribute to the development of this package or provide advice on how to proceed, please contact me via email.
}
\presentation
@@ -197,8 +198,8 @@ Special thanks to \tkzimp{Wolfgang Büchel} for his invaluable contribution in c
\href{http://mathworld.wolfram.com/about/author.html}{MathWorld}.
\vspace*{12pt}
-\lefthand\ You can find some examples on my site:
-\href{http://altermundus.fr}{altermundus.fr}. \hspace{2cm} under construction!
+\lefthand\ You can find some examples on my site and a french documentation:
+\href{http://altermundus.fr}{altermundus.fr}.
\vfill
Please report typos or any other comments to this documentation to: \href{mailto:al.ma@mac.com}{\textcolor{blue}{Alain Matthes}}.
@@ -248,7 +249,6 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|r| denotes a real number, |cx| complex number, |d| a positive real number, |n| an integer, |an| an angle, |b| a boolean, |s| a character string, |pt| a point, |t| a table, |m| a matrix, |v| variable, |L| a straight line, |C| a circle, |T| a triangle, |E| an ellipse, |V| a vector,|Q| a quadrilateral, |P| a parallelogram, |R| a rectangle, |S| a square, |RP| a regular polygon, |M| a matrix, |O| an object (pt, L,C,T), . . a list of points or an object, < > optional argument.
\begin{multicols}{3}
-
\fbox{\textbf{point}}\\
\textbf{Attributes} table(\ref{point:att}) \\
|re -> r| \\
@@ -320,7 +320,9 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|_south_pa (d) -> pt| \\
|_south_pb (d) -> pt| \\
|_east (d) -> pt| \\
-|_west (d) -> pt| \\
+|_west (d) -> pt| \\
+|report (r,pt) -> pt| \\
+|colinear_at (pt,k) -> pt| \\
|translation (...) -> O| \\
|projection (...) -> O| \\
|reflection (...) -> O| \\
@@ -348,7 +350,6 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|sublime () -> T| \\
|egyptian () -> T| \\
|square (<swap>) -> T| \\
-|report (r,pt) -> T| \\
\\
\fbox{\textbf{triangle}} \\
\textbf{Attributes} table(\ref{triangle:att}) \\
@@ -387,6 +388,7 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|nine_points () -> pt| \\
|point (t) -> pt| \\
|soddy_center () -> pt| \\
+|conway_points () -> pts| \\
|euler_line () -> L| \\
|symmedian_line (n) -> L| \\
|altitude (n) -> L| \\
@@ -401,6 +403,9 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|second_lemoine_circle() -> C| \\
|spieker_circle() -> C| \\
|soddy_circle () -> C| \\
+|conway_circle () -> C| \\
+|pedal_circle () -> C| \\
+|cevian_circle () -> C| \\
|orthic() -> T| \\
|medial() -> T| \\
|incentral() -> T| \\
@@ -414,6 +419,7 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
|cevian (pt) -> T| \\
|symmedian () -> T| \\
|euler () -> T| \\
+|pedal (pt) -> T| \\
|projection (pt) -> pt,pt,pt| \\
|parallelogram () -> pt| \\
|area () -> d| \\
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-organization.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-organization.tex
index 13b17d6a5d..1778a7c8fb 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-organization.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-organization.tex
@@ -5,6 +5,7 @@ Here's a sample organization.
The line |% !TEX TS-program = lualatex| ensures that you compile with Lua\LATEX{}. The \code{standalone} class is useful, as all you need to do here is create a figure.
+You can load \tkzname{tkz-euclide} in three different ways. The simplest is |\usepackage[mini]{tkz-euclide}| and you have full access to the package. You also have the option to use the \ItkzPopt{tkz-euclide}{lua} option. This will allow you, if you want to perform calculations outside of \tkzname{\tkznameofpack}, to obtain them using \code{lua}. Finally, the recommended method is to use the \ItkzPopt{tkz-euclide}{mini} option. This allows you to load only the modules necessary for drawing. You can still optionally draw using \TIKZ.
The package \pkg{ifthen} is useful if you need to use some Boolean.
@@ -25,7 +26,7 @@ A third advantage is that the code can be reused.
% Created by Alain Matthes on 2024-01-09.
\documentclass[margin = 12pt]{standalone}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements,ifthen}
\begin{document}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-presentation.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-presentation.tex
index 2687f9debe..f0689fcc74 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-presentation.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-presentation.tex
@@ -148,7 +148,8 @@ C.QA = circle: new ( z.Q, z.A)
z.P_0 = intersection (C.PC,C.AB) -- search for intersections of two circles.
z.P_1 = intersection (C.PC,C.AC) -- idem
_,z.P_2 = intersection (C.QA,C.CB) -- idem
-z.O_3 = triangle: new ( z.P_0, z.P_1, z.P_2).circumcenter -- circumcenter attribute of “triangle”
+z.O_3 = triangle: new ( z.P_0, z.P_1, z.P_2).circumcenter
+ -- circumcenter attribute of “triangle”
\end{tkzelements}
\end{Verbatim}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex
index 15b167a793..d1958d4763 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex
@@ -1,6 +1,6 @@
\section{Structure} % (fold)
\label{sec:structure}
-\tkzNamePack{tkz-elements.sty} loads the \tkzNamePack{luacode} package to create the \tkzNameEnv{tkzelements} environment, which is based on the \tkzNameEnv{luacode} environment.
+\tkzNamePack{tkz-elements} loads the \tkzNamePack{luacode} package to create the \tkzNameEnv{tkzelements} environment, which is based on the \tkzNameEnv{luacode} environment.
Within the \tkzNameEnv{tkzelements} environment, the scale is initialized to 1, and then all values in various tables are cleared.
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transfers.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transfers.tex
index a66f493604..264097e9b8 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transfers.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transfers.tex
@@ -2,7 +2,7 @@
\newpage
\section{Transfers} % (fold)
\label{sec:transfers}
-\subsection{Fom Lua to tkz-euclide or TikZ} % (fold)
+\subsection{From Lua to tkz-euclide or TikZ} % (fold)
\label{sub:fom_lua_to_tkz_euclide_or_tikz}
In this section, we'll explore how to transfer points, Booleans, and numerical values.
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transferts.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transferts.tex
deleted file mode 100644
index 39d5940e72..0000000000
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-transferts.tex
+++ /dev/null
@@ -1,150 +0,0 @@
-
-\newpage
-\section{Transfers} % (fold)
-\label{sec:transfers}
-\subsection{Fom Lua to tkz-euclide or TikZ} % (fold)
-\label{sub:fom_lua_to_tkz_euclide_or_tikz}
-
-In this section, we'll look at how to transfer points, Booleans and numerical values.
-
-\subsubsection{Points transfer} % (fold)
-\label{ssub:points_transfer}
-We use an environment \tkzname{tkzelements} outside an environment \tkzname{tikzpicture} which allows us to carry out all the necessary calculations, then we launch the macro \Imacro{tkzGetNodes} which transforms the affixes of the table \tkzname{z} into \tkzname{Nodes}. It only remains to draw.
-
-Currently the drawing program is either \TIKZ\ or \pkg{tkz-euclide}. You have the possibility to use another package to trace but for that you have to create a macro similar to \tkzcname{tkzGetNodes}. Of course, this package must be able to store the points as does \TIKZ\ or \pkg{tkz-euclide}.
-
-\vspace*{1em}
-
-\begin{mybox}
-\begin{verbatim}
-\def\tkzGetNodes{\directlua{%
- for K,V in pairs(z) do
- local n,sd,ft
- n = string.len(K)
- if n >1 then
- _,_,ft, sd = string.find( K , "(.+)(.)" )
- if sd == "p" then K=ft.."'" end
- _,_,xft, xsd = string.find( ft , "(.+)(.)" )
- if xsd == "p" then K=xft.."'".."'" end
- end
- tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
-end}
-}
-\end{verbatim}
-\end{mybox}
-See the section In-depth Study \ref{sec:in_depth_study} for an explanation of the previous code.
-
-The environment \tkzNameEnv{tkzelements} allows to use the underscore |_| and the macro \tkzcname{tkzGetNodes} allows to obtain names of nodes containing \tkzname{prime} or \tkzname{double prime}. (see the next example)
-
-\begin{minipage}{0.5\textwidth}
-\begin{verbatim}
-\begin{tkzelements}
- scale = 1.2
- z.o = point: new (0,0)
- z.a_1 = point: new (2,1)
- z.a_2 = point: new (1,2)
- z.ap = z.a_1 + z.a_2
- z.app = z.a_1 - z.a_2
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegments(o,a_1 o,a_2 o,a' o,a'')
- \tkzDrawSegments[red](a_1,a' a_2,a')
- \tkzDrawSegments[blue](a_1,a'' a_2,a'')
- \tkzDrawPoints(a_1,a_2,a',o,a'')
- \tkzLabelPoints(o,a_1,a_2,a',a'')
-\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
-\begin{tkzelements}
- scale = 1.2
- z.o = point: new (0,0)
- z.a_1 = point: new (2,1)
- z.a_2 = point: new (1,2)
- z.ap = z.a_1 + z.a_2
- z.app = z.a_1 - z.a_2
-\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegments(o,a_1 o,a_2 o,a' o,a'')
- \tkzDrawSegments[red](a_1,a' a_2,a')
- \tkzDrawSegments[blue](a_1,a'' a_2,a'')
- \tkzDrawPoints(a_1,a_2,a',o,a'')
- \tkzLabelPoints(o,a_1,a_2,a',a'')
-\end{tikzpicture}
-\hspace{\fill}
-\end{minipage}%
-
-\newpage
-% subsection fom_lua_to_tkz_euclide_or_tikz (end)
-\subsubsection{Other transfers} % (fold)
-\label{ssub:other_transfers}
-
-Sometimes it's useful to transfer angle, length measurements or boolean. For this purpose, I have created the macro (see \ref{sub:transfer_from_lua_to_tex})
-\IEmacro{tkzUseLua(value)}
-
-\begin{verbatim}
-\begin{tkzelements}
- z.b = point: new (1,1)
- z.a = point: new (4,2)
- z.c = point: new (2,2)
- z.d = point: new (5,2)
- L.ab = line : new (z.a,z.b)
- L.cd = line : new (z.c,z.d)
- det = (z.b-z.a)^(z.d-z.c)
- if det == 0 then bool = true
- else bool = false
- end
- x = intersection (L.ab,L.cd)
-\end{tkzelements}
-
-The intersection of the two lines lies at
- a point whose affix is:\tkzUseLua{x}
-
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(a,...,d)
- \ifthenelse{\equal{\tkzUseLua{bool}}{true}}{
- \tkzDrawSegments[red](a,b c,d)}{%
- \tkzDrawSegments[blue](a,b c,d)}
- \tkzLabelPoints(a,...,d)
-\end{tikzpicture}
-\end{verbatim}
-
- \begin{tkzelements}
- z.b = point: new (1,1)
- z.a = point: new (4,2)
- z.c = point: new (2,2)
- z.d = point: new (5,1)
- L.ab = line : new (z.a,z.b)
- L.cd = line : new (z.c,z.d)
- det = (z.b-z.a)^(z.d-z.c)
- if det == 0 then bool = true
- else bool = false
- end
- x = intersection (L.ab,L.cd)
- \end{tkzelements}
-
- The intersection of the two lines lies at
- a point whose affix is: \tkzUseLua{x}
-
-\vspace{1em}
-\hspace{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzInit[xmin =-1,ymin=-1,xmax=6,ymax=3]
- \tkzGrid\tkzAxeX\tkzAxeY
- \tkzDrawPoints(a,...,d)
- \ifthenelse{\equal{\tkzUseLua{bool}}{true}}{
- \tkzDrawSegments[red](a,b c,d)}{%
- \tkzDrawSegments[blue](a,b c,d)}
- \tkzLabelPoints(a,...,d)
- \end{tikzpicture}
- \hspace{\fill}
-% subsubsection other_transfers (end)
-% subsubsection points_transfer (end)
-% section transferts (end)
-
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
index 152e50be1e..d42a3a109b 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.pdf b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.pdf
index 373dc1b0bc..6b1998eb80 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.tex b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.tex
index faa0ef52bb..15046d83a3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_1.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% Author Alain Matthes 2023
\documentclass{article}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements}
\begin{document}
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.pdf b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.pdf
index 788e9d0f39..6ff5f444c8 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.tex b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.tex
index 61a1ea5583..2ee7b4c4d9 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_2.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% Author Alain Matthes 2023
\documentclass{article}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements}
\begin{document}
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.pdf b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.pdf
index 1873fd5c85..5f1ded6e31 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.tex b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.tex
index 684475e28e..a95ae05b08 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_3.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% Author Alain Matthes 2023
\documentclass{article}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements}
\begin{document}
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdf b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdf
index 5d703157aa..1428fd1d4f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.tex b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.tex
index 3242fea11a..5dcf23e1ba 100644
--- a/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.tex
@@ -3,7 +3,7 @@
% Copyright (c) 2023 AlterMundus.
\documentclass{standalone}
-\usepackage{tkz-euclide}
+\usepackage[mini]{tkz-euclide}
\usepackage{tkz-elements}
\begin{document}
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
index f7416d8e4f..0a11787d21 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
@@ -1,5 +1,5 @@
% encoding : utf8
-% tkz-elements.sty v2.20c
+% tkz-elements.sty v2.25c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2024/03/25 v2.20c Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2024/04/27 v2.25c Graphic Object Library]
\RequirePackage{luacode}
\directlua{require "tkz_elements_main"}
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
index 708e7b7af3..1999b8a073 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
index 491d237ac2..b6a1bf7a5a 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
@@ -1,6 +1,6 @@
-- tkz_elements_class.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- from class.lua (Simple Lua Classes from Lua-users wiki)
-- Compatible with Lua 5.1 (not 5.0).
-- http://lua-users.org/wiki/SimpleLuaClasses DavidManura
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
index f20b87a44f..a98cf40a63 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
index eacd8423a4..40f2a4ebbf 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_circles.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
index dc44e2ae88..69dcd6ace3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
@@ -1,6 +1,6 @@
-- tkz_elements_intersections.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
index 2dd8d6467a..401ad46dda 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_lines.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -150,4 +150,13 @@ function report_ (za,zb,d,pt)
else
return barycenter_({za,1-t},{zb,(t)}) +pt-za
end
-end \ No newline at end of file
+end
+
+function colinear_at_ (za,zb,pt,k)
+ if k == nil
+ then
+ return pt+zb-za
+else
+ return pt+k*(zb-za)
+end
+end
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
index 9b4e51d295..a71c0f7c27 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
index 7d3f475570..4371214047 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_matrices.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
index ce04c2d091..f1c4dc5d41 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_points.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
index bd8f7cab5b..5e92b4d598 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_regular.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
index 2e917db2f1..d4523d1826 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_triangles.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
index 68a5ad843b..9304768f31 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
@@ -1,6 +1,6 @@
-- tkz_elements_lines.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -163,6 +163,15 @@ function line : report (d,pt)
return barycenter_({self.pa,1-t},{self.pb,(t)}) +pt-self.pa
end
end
+
+function line : colinear_at (pt,k)
+ if k == nil
+ then
+ return colinear_at_ (self.pa,self.pb,pt,1)
+ else
+ return colinear_at_ (self.pa,self.pb,pt,k)
+ end
+end
-------------- transformations -------------
function line: translation_pt ( pt )
return translation_ ( self.pb-self.pa,pt )
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
index 3dffb3de46..10ee219519 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
@@ -1,6 +1,6 @@
-- tkz_elements-main.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
index ed5fa5b1f3..981ac68094 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_matrices.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
index 6bf04756a6..94c9c555c0 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
index 99c4344543..fd0a3533a3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
@@ -1,6 +1,6 @@
-- tkz_elements_parallelogram.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
index 5e9d4fcd00..4eb4b549d1 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
@@ -1,6 +1,6 @@
-- tkz_elements_point.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
index f02c977e08..e77e0af561 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
@@ -1,6 +1,6 @@
-- tkz_elements_quadrilateral.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
index 7add1b244d..2c07f78399 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-rectangle.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
index cc7a24ff06..0641a858de 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_regular.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
index 7373886efc..1852c0ded4 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
@@ -1,6 +1,6 @@
-- tkz_elements-square.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
index d3a80bd777..c6dd2c3757 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements_triangles.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -140,6 +140,17 @@ end
function triangle : soddy_center ()
return soddy_center_ (self.pa,self.pb,self.pc)
end
+
+function triangle : conway_points ()
+ local a1,a2,b1,b2,c1,c2
+ a1 = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
+ a2 = report_ (self.pc,self.pa,length(self.pb,self.pc),self.pa)
+ b1 = report_ (self.pa,self.pb,length(self.pa,self.pc),self.pb)
+ b2 = report_ (self.pc,self.pb,length(self.pa,self.pc),self.pb)
+ c1 = report_ (self.pb,self.pc,length(self.pb,self.pa),self.pc)
+ c2 = report_ (self.pa,self.pc,length(self.pb,self.pa),self.pc)
+ return a1,a2,b1,b2,c1,c2
+ end
-------------------
-- Result -> line
-------------------
@@ -214,7 +225,7 @@ local a,b,c
end
end
-function triangle: antiparallel(pt,n) -- n =1 swap n=2 2 swap
+function triangle: antiparallel(pt,n) -- n = 1 swap ; n= 2 2 swap
local a,b,c,i,u,v,w
a = self.pa
b = self.pb
@@ -305,6 +316,29 @@ function triangle : soddy_circle ()
s,i = soddy_center_ (self.pa,self.pb,self.pc)
return circle : new ( s , i )
end
+
+function triangle : cevian_circle (p)
+ local pta,ptb,ptc
+ pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
+ return circle : new (circum_circle_ (pta,ptb,ptc),pta)
+ end
+
+ function triangle : conway_circle ()
+ local i,t
+ i = in_center_ (self.pa,self.pb,self.pc)
+ t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
+ return circle : new (i,t)
+ end
+
+function triangle : pedal_circle (pt)
+ local x,y,z,c
+ x = projection_ (self.pb,self.pc,pt)
+ y = projection_ (self.pa,self.pc,pt)
+ z = projection_ (self.pa,self.pb,pt)
+ c = circum_center_ (x,y,z)
+ return circle : new (c,x)
+end
+
-------------------
-- Result -> triangle
-------------------
@@ -361,6 +395,14 @@ end
function triangle: euler ()
return triangle : new (euler_points_ (self.pa,self.pb,self.pc) )
end
+
+function triangle: pedal (pt)
+ local x,y,z
+ x = projection_ (self.pb,self.pc,pt)
+ y = projection_ (self.pa,self.pc,pt)
+ z = projection_ (self.pa,self.pb,pt)
+ return triangle : new (x,y,z)
+end
-------------------
-- Result -> ellipse
-------------------
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
index f3f93a0f53..8b26fe4bd3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
@@ -1,6 +1,6 @@
-- tkz_elements_vectors.lua
--- date 2024/03/25
--- version 2.20c
+-- date 2024/04/27
+-- version 2.25c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-euclide/README.md b/macros/latex/contrib/tkz/tkz-euclide/README.md
index d0bc9ec3e8..a0b514e2b8 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/README.md
+++ b/macros/latex/contrib/tkz/tkz-euclide/README.md
@@ -1,5 +1,5 @@
# tkz-euclide — for euclidean geometry
-Release 5.06c 2024/02/04
+Release 5.10c 2024/04/27
## Description
@@ -9,7 +9,8 @@ It uses a Cartesian coordinate system orthogonormal (unit 1cm)
as well as tools to define the unique coordinates of points and to
manipulate them. The idea is to allow you to follow step by step a construction
that would be done by hand as naturally as possible.
-Now tkz-euclide introduces a "lua" option which allows to do most of the calculations using "lua".
+Now tkz-euclide introduces a `lua` option which allows to do most of the calculations using `lua`.
+A new option mini has been introduced. When one wishes to use tkz-euclide and tkz-elements together, it is recommended to load the package with this option. Thus, tkz-euclide will focus solely on the drawings.
## Licence
@@ -41,18 +42,20 @@ To use the package `tkz-euclide`, place the following lines in the preamble of
your LaTeX document:
```
-\usepackage{tkz-euclide} or \usepackage[lua]{tkz-euclide}
+\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
your code
\end{tikzpicture}
```
+
+This code can be compiled using either `pdflatex` or `lualatex`. In the latter case, the `lua` option allows most calculations to be performed with `lua`. If you do the calculations with `tkz-elements` then you can load `tkz-euclide` with the `mini` option.
If you use the `xcolor` package, load that package before `tkz-euclide` to avoid
package conflicts.
## Documentation
-Documentation for `tkz-euclide` is available on `CTAN`.
+Documentation for `tkz-euclide` is available on `CTAN`. A french version of the documentation is now available on my website [http://altermundus.fr](http://altermundus.fr)
## Examples
@@ -63,6 +66,11 @@ Other examples, in French, are on my site.
## History
+
+- 5.10c
+ - tkz-tool-eu-angles.arc.tex has been extracted from the file tkz-tool-eu-angles.tex
+ - Added `mini` option
+ - Added french documentation on my site (altermundus.fr)
- 5.06c
- Correction of a bug with the macro \tkzLabelAngle and the option “angle”
- Added \tkzSetUpCircle
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
index 97e137007e..d0844abe81 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
@@ -8,7 +8,9 @@
\item Don't forget that since version 4 the unit is obligatorily the "cm" it is thus necessary to withdraw the unit like here \tkzcname{tkzDrawCircle[R](O,3cm)} which becomes \tkzcname{tkzDrawCircle[R](O,3)}. The traditional options of \tkzname{TikZ} keep their units example\tkzname{ below right = 12pt} on the other hand one will write \tkzname{size=1.2} to position an arc in \tkzcname{tkzMarkAngle};
- \item The following error still happens to me from time to time. A point that is created has its name in brackets while a point that is used either as an option or as a parameter has its name in braces. Example \tkzcname{tkzGetPoint(A)} When defining an object, use braces and not brackets, so write: \tkzcname{tkzGetPoint\{A\}};
+ \item The following error still happens to me from time to time. A point that is created has its name in brackets while a point that is used either as an option or as a parameter has its name in braces.
+
+ Example \tkzcname{tkzGetPoint(A)} When defining an object, use braces and not brackets, so write: \tkzcname{tkzGetPoint\{A\}};
\item The changes in obtaining the points of intersection between lines and circles sometimes exchange the solutions, this leads either to a bad figure or to an error.
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
index 3ab43bd43e..6ced16c2df 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
@@ -228,7 +228,8 @@ Here is another version of the construction of a mediator
\tkzCalcLength(A,B) \tkzGetLength{dAB}
\tkzFindSlopeAngle(A,B) \tkzGetAngle{tkzangle}
\begin{scope}[rotate=\tkzangle]
- \tkzSetUpArc[color=gray,line width=0.2pt,/tkzcompass/delta=10]
+ \tkzSetUpArc[color=gray,line width=0.2pt,%
+ /tkzcompass/delta=10]
\tkzDrawArc[R,arc](B,3/4*\dAB)(120,240)
\tkzDrawArc[R,arc](A,3/4*\dAB)(-45,60)
\tkzDrawLine(I,J) \tkzDrawSegment(A,B)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
index 7af83e2aa1..fa38fb4cd1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
@@ -96,14 +96,14 @@ options & & examples \\
\subsubsection{\tkzname{Symmetry}}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
+ \tkzDefPoint(3,1){B}
\tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
\tkzDefCircleBy[symmetry=center B](C,D)
\tkzGetPoints{C'}{D'}
\tkzDrawPoints[teal](B,C,D,C',D')
\tkzDrawLines[orange](C,C' D,D')
\tkzDrawCircles(C,D C',D')
- \tkzLabelPoints[color=teal](A,C,C')
+ \tkzLabelPoints[color=teal](C,C')
\tkzLabelPoints[color=teal,above](D)
\tkzLabelPoints[color=teal,below](D')
\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
index 2a336d91af..f36f2dd2a7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
@@ -129,7 +129,8 @@ We want to define an excircle of a triangle relatively to point $C$
\tkzDrawPolygon(A,B,C)
\tkzDrawLines[add=0 and 1.5](C,A C,B)
\tkzDrawSegments(J_c,X_c I,D I,F J_c,Y_c)
- \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A J_c,Y_c,B)
+ \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A%
+ J_c,Y_c,B)
\tkzDrawPoints(B,C,A,I,D,F,X_c,J_c,Y_c)
\tkzLabelPoints(B,A,J_c,I,D)
\tkzLabelPoints[above](Y_c)
@@ -205,21 +206,22 @@ We verify that this circle passes through the middle of each side.
The incircle of the medial triangle $M_aM_bM_c$ is the Spieker circle:
\begin{tkzexample}[latex=6cm, small]
-\begin{tikzpicture}[scale=1]
+\begin{tikzpicture}[scale=1.25]
\tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
- \tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
- \tkzDefTriangleCenter[spieker](A,B,C)
- \tkzGetPoint{S_p}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[cyan](M_a,M_b,M_c)
- \tkzDrawPoints(B,C,A)
- \tkzDefCircle[spieker](A,B,C)
- \tkzDrawPoints[new](M_a,M_b,M_c,S_p)
- \tkzDrawCircle[new](tkzFirstPointResult,tkzSecondPointResult)
- \tkzLabelPoints[right](M_a)
- \tkzLabelPoints[left](M_b)
- \tkzLabelPoints[below](A,B,M_c,S_p)
- \tkzLabelPoints[above](C)
+ \tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
+ \tkzDefTriangleCenter[spieker](A,B,C)
+ \tkzGetPoint{S_p}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[cyan](M_a,M_b,M_c)
+ \tkzDrawPoints(B,C,A)
+ \tkzDefCircle[spieker](A,B,C)
+ \tkzDrawPoints[new](M_a,M_b,M_c,S_p)
+ \tkzDrawCircle[new](tkzFirstPointResult,%
+ tkzSecondPointResult)
+ \tkzLabelPoints[right](M_a)
+ \tkzLabelPoints[left](M_b)
+ \tkzLabelPoints[below](A,B,M_c,S_p)
+ \tkzLabelPoints[above](C)
\end{tikzpicture}
\end{tkzexample}
@@ -266,7 +268,8 @@ arguments & default & definition \\
Jc,Xc Jc,Yc Jc,Zc
I,Ia I,Ib I,Ic)
\tkzMarkRightAngles[size=.2,fill=gray!15](Ja,Za,B Ja,Xa,B Ja,Ya,C Jb,Yb,C)
-\tkzMarkRightAngles[size=.2,fill=gray!15](Jb,Zb,B Jb,Xb,C Jc,Yc,A Jc,Zc,B Jc,Xc,C I,Ia,B I,Ib,C I,Ic,A)
+\tkzMarkRightAngles[size=.2,fill=gray!15](Jb,Zb,B Jb,Xb,C Jc,Yc,A Jc,Zc,B)
+\tkzMarkRightAngles[size=.2,fill=gray!15](Jc,Xc,C I,Ia,B I,Ib,C I,Ic,A)
\tkzDrawSegments[blue](Jc,C Ja,A Jb,B)
\tkzDrawPoints(A,B,C,Xa,Xb,Xc,Ja,Jb,Jc,Ia,Ib,Ic,Ya,Yb,Yc,Za,Zb,Zc)
\tkzLabelPoints(A,Ya,Yb,Ja,I)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
index 430c8605cc..a0db97f729 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
@@ -1,5 +1,7 @@
\section{Controlling Bounding Box}
-From the \tkzimp{PgfManual} :"When you add the clip option, the current path is used for clipping subsequent drawings. Clipping never enlarges the clipping area. Thus, when you clip against a certain path and then clip again against another path, you clip against the intersection of both.
+From the \tkzimp{PgfManual} :
+
+"When you add the clip option, the current path is used for clipping subsequent drawings. Clipping never enlarges the clipping area. Thus, when you clip against a certain path and then clip again against another path, you clip against the intersection of both.
The only way to enlarge the clipping path is to end the {pgfscope} in which the clipping was done. At the end of a {pgfscope} the clipping path that was in force at the beginning of the scope is reinstalled."
@@ -10,7 +12,7 @@ The following command \tkzcname{pgfresetboundingbox} clears a bounding box and e
\subsection{Utility of \tkzcname{tkzInit}}
However, it is sometimes necessary to control the size of what will be displayed.
- To do this, you need to have prepared the bounding box you are going to work in, this is the role of the macro \tkzNameMacro{tkzInit}. For some drawings, it is interesting to fix the extreme values (xmin,xmax,ymin and ymax) and to "clip" the definition rectangle in order to control the size of the figure as well as possible.
+ To do this, you need to have prepared the bounding box you are going to work in, this is the role of the macro \tkzNameMacro{tkzInit}. For some drawings, it is interesting to fix the extreme values (xmin,xmax,ymin and ymax) and to \code{clip} the definition rectangle in order to control the size of the figure as well as possible.
The two macros that are useful for controlling the bounding box:
\begin{itemize}
@@ -39,7 +41,7 @@ options & default & definition \\
\medskip
The role of \tkzcname{tkzInit} is to define a \textcolor{red}{orthogonal} coordinates system and a rectangular part of the plane in which you will place your drawings using Cartesian coordinates.
-This macro allows you to define your working environment as with a calculator. With \tkzname{\tkznameofpack} 4 \tkzcname{xstep} and \tkzcname{ystep} are always 1. Logically it is no longer useful to use \tkzcname{tkzInit}, except for an action like "Clipping Out".
+This macro allows you to define your working environment as with a calculator. With \tkzname{\tkznameofpack} 4 \tkzcname{xstep} and \tkzcname{ystep} are always 1. Logically it is no longer useful to use \tkzcname{tkzInit}, except for an action like \code{Clipping Out}.
\end{NewMacroBox}
@@ -64,7 +66,7 @@ The role of the \tkzname{space} option is to enlarge the visible part of the dra
-The role of this macro is to "clip" the initial rectangle so that only the paths contained in this rectangle are drawn.
+The role of this macro is to \code{clip} the initial rectangle so that only the paths contained in this rectangle are drawn.
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
@@ -83,7 +85,7 @@ It is possible to add a bit of space
\end{tkzltxexample}
\subsection{\tkzcname{tkzClip} and the option \tkzname{space}}
-This option allows you to add some space around the "clipped" rectangle.
+This option allows you to add some space around the \code{clipped} rectangle.
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
\tkzInit[xmax=4, ymax=3]
@@ -94,7 +96,7 @@ This option allows you to add some space around the "clipped" rectangle.
\tkzDrawSegment(A,B)
\end{tikzpicture}
\end{tkzexample}
-The dimensions of the "clipped" rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
+The dimensions of the \code{clipped} rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
%<--------------------------------------------------------------------------->
% tkzShowBB
@@ -116,7 +118,8 @@ This macro displays the bounding box. A rectangular frame surrounds the bounding
\tkzClipBB
\tkzDefCircle[R](A,5) \tkzGetPoint{a}
\tkzDrawCircle(A,a)
- \tkzShowBB[line width = 4pt,fill=teal!10,opacity=.4]
+ \tkzShowBB[line width = 4pt,fill=teal!10,%
+ opacity=.4]
\end{scope}
\tkzDefCircle[R](A,4) \tkzGetPoint{b}
\tkzDrawCircle[red](A,b)
@@ -207,7 +210,7 @@ options & default & definition \\
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example: use of "Clip" for Sangaku in a square}
+\subsubsection{Example: use of \code{Clip} for Sangaku in a square}
\begin{tkzexample}[latex=7cm, small]
\begin{tikzpicture}[scale=.75]
\tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
index 088d39f8b0..3c04202262 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
@@ -64,7 +64,7 @@ options & default & definition \\
% subsubsection use_tkzcname_tkzcompasss (end)
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
+\begin{tikzpicture}[scale=.6]
\tkzDefPoint(2,2){A} \tkzDefPoint(5,-2){B}
\tkzDefPoint(3,4){C} \tkzDrawPoints(A,B)
\tkzDrawPoint[shape=cross out](C)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-documentation.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-documentation.tex
index a24b7e63b4..b3e889b817 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-documentation.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-documentation.tex
@@ -1,6 +1,6 @@
\section{About this documentation and the examples}
-It is obtained by compiling with "lualatex". I use a class \tkzname{doc.cls} based on \tkzname{scrartcl}.
+It is obtained by compiling with \code{lualatex}. I use a class \tkzname{doc.cls} based on \tkzname{scrartcl}.
Below the list of styles used in the documentation. To understand how to use the styles see the section \ref{custom}
@@ -25,5 +25,4 @@ Below the list of styles used in the documentation. To understand how to use the
Some examples use predefined styles like
-
|\tikzset{new/.style={color=orange,line width=.2pt}} | \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
index 0017d4390e..d511637968 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
@@ -85,7 +85,7 @@ options & default & definition \\
\end{tabular}
\medskip
-\tkzHandBomb\ Beware of the final "s", an oversight leads to cascading errors if you try to draw multiple points. The options are the same as for the previous macro.
+\tkzHandBomb\ Beware of the final \code{s}, an oversight leads to cascading errors if you try to draw multiple points. The options are the same as for the previous macro.
\end{NewMacroBox}
\subsubsection{Example}
@@ -283,18 +283,20 @@ I'll let you look at the examples to see what you can do with these styles.
\tkzCalcLength(B,C)\tkzGetLength{BCl}
\tkzCalcLength(A,C)\tkzGetLength{ACl}
\begin{scope}[dim style/.style={dashed,sloped,teal}]
- \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,
- text=red}](C,B)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,}](A,C)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,}](A,B)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,%
+ text=red}](C,B)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,%
+ 6pt,}](A,C)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,%
+ -6pt,}](A,B)
\end{scope}
\tkzLabelPoints(A,B) \tkzLabelPoints[above](C)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Adding dimensions with option \tkzname{dim} part II}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
\tkzDefPoints{0/0/O,-2/0/A,2/0/B,
-2/4/C,2/4/D,2/-4/E,-2/-4/F}
\tkzDrawPolygon(C,...,F)
@@ -699,7 +701,7 @@ arguments & example & explanation \\
\toprule
arguments & example & explanation \\
\midrule
-\TAline{\parg{C,a,b,An}}{\parg{C,4,2,45}} {C center 4 and 2 lengths of long axis and small axis} \\
+\TAline{\parg{C,a,b,An}}{\parg{C,4,2,45}} {C center; 4 and 2 lengths of half-axis} \\
& & 45 slope of main axis \\
\bottomrule
\end{tabular}
@@ -708,9 +710,9 @@ arguments & example & explanation \\
Of course, you have to add all the styles of \TIKZ\ for the tracings...
\end{NewMacroBox}
-\subsubsection{Option \tkzname{towards}}
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}
+\subsubsection{Example of drawing an ellipse }
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}[scale=.75]
\tkzDefPoint(0,4){C}
\tkzDrawEllipse[blue](C,4,2,45)
\tkzLabelPoints(C)
@@ -879,7 +881,7 @@ This option allows a bit like \tkzcname{tkzCompass} to place an arc and overflow
\subsubsection{Option \tkzname{angles}: example 2}
-\begin{tkzexample}[latex=6cm,small]
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
\tkzDefPoint(0,0){O}
\tkzDefPoint(5,0){I}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
index 4d01262ccb..ad4db72817 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
@@ -2,7 +2,7 @@
To work with my package, you need to have notions of \LATEX\ as well as \TIKZ.
-In this paragraph, we start looking at the "rules" and "symbols" used to create a figure with \tkzname{\tkznameofpack}.
+In this paragraph, we start looking at the \code{rules} and \code{symbols} used to create a figure with \tkzname{\tkznameofpack}.
\subsection{Objects and language}
@@ -15,7 +15,7 @@ The used points are passed as parameters between parentheses while the created p
The code of the figures is placed in an environment \tkzimp{tikzpicture}
-Contrary to \TIKZ, you should not end a macro with ";". We thus lose the important notion which is the \tkzimp{path}. However, it is possible to place some code between the macros \tkzname{\tkznameofpack}.
+Contrary to \TIKZ, you should not end a macro with “;”. We thus lose the important notion which is the \tkzimp{path}. However, it is possible to place some code between the macros \tkzname{\tkznameofpack}.
Among the first category, |\tkzDefPoint| allows you to define fixed points. It will be studied in detail later. Here we will see in detail the macro |\tkzDefTriangle|.
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
index e436c406fe..ec8982331b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
@@ -955,19 +955,18 @@ From Wikipedia {\emph{In geometry, the Pappus chain is a ring of circles betwee
\end{tikzpicture}%
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/O_1,0/1/O_2,0/3/A}
- \tkzDefPoint(15:3){F}
- \tkzInterLC(F,O_1)(O_1,A) \tkzGetSecondPoint{E}
- \tkzDefLine[parallel=through O_2](E,F)
- \tkzGetPoint{x}
- \tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C}
- \tkzDrawCircles(O_1,A O_2,A)
- \tkzDrawSegments[new](O_1,A E,F C,D)
- \tkzDrawSegments[purple](A,E A,F)
- \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
- \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
-\end{tikzpicture}
+ \begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O_1,0/1/O_2,0/3/A}
+ \tkzDefPoint(15:3){F}
+ \tkzDefPointBy[symmetry=center O_1](F) \tkzGetPoint{E}
+ \tkzDefLine[parallel=through O_2](E,F) \tkzGetPoint{x}
+ \tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C}
+ \tkzDrawCircles(O_1,A O_2,A)
+ \tkzDrawSegments[orange](O_1,A E,F C,D)
+ \tkzDrawSegments[purple](A,E A,F)
+ \tkzDrawPoints(A,O_1,O_2,E,F,x,C,D)
+ \tkzLabelPoints(A,O_1,O_2,E,F,x,C,D)
+ \end{tikzpicture}
\end{tkzexample}
$(CD) \parallel (EF)$ $(AO_1)$ is secant to these two lines so
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
index c8f1ea14f1..f7fc8883fe 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
@@ -41,7 +41,8 @@ You don't need to put \tkzname{radius} because that's the default option. Of cou
\tkzDefMidPoint(A,D) \tkzGetPoint{F}
\tkzDefMidPoint(B,C) \tkzGetPoint{E}
\tkzDefMidPoint(B,D) \tkzGetPoint{Q}
- \tkzDefLine[tangent from = B](F,A) \tkzGetPoints{H}{G}
+ \tkzDefLine[tangent from = B](F,A)
+ \tkzGetPoints{H}{G}
\tkzInterLL(F,G)(C,D) \tkzGetPoint{J}
\tkzInterLL(A,J)(F,E) \tkzGetPoint{K}
\tkzDefPointBy[projection=onto B--A](K)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersection.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersection.tex
index 1583f91e2b..64bfe6ecfa 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersection.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersection.tex
@@ -109,7 +109,7 @@ In the following example, the drawing of the circle uses two points and the inte
\subsubsection{Line passing through the center option \tkzname{common}}
This case is special. You cannot compare the angles. In this case, the option \tkzname{near} must be used. \tkzname{tkzFirstPoint} is assigned to the point closest to the first point given for the line. Here we want $A$ to be closest to $Lb$.
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
\tkzDefPoints{% x y name
0 /1 /D,
@@ -170,12 +170,14 @@ As you can see $\widehat{BCO} < \widehat{BEO} $. To tell the truth,$ \widehat{BE
\tkzDefPoint(0,1){J}
\tkzDefPoint(0,0){O}
\foreach \i in {0,-5,-10,...,-90}{
- \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P}
+ \tkzDefPoint({2.5*cos(\i*pi/180)},%
+ {1+2.5*sin(\i*pi/180)}){P}
\tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
\tkzDrawSegment[color=orange](J,N)
\tkzDrawPoints[red](N)}
\foreach \i in {-90,-95,...,-175,-180}{
- \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P}
+ \tkzDefPoint({2.5*cos(\i*pi/180)},%
+ {1+2.5*sin(\i*pi/180)}){P}
\tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
\tkzDrawSegment[color=orange](J,M)
\tkzDrawPoints[red](M)}
@@ -212,14 +214,14 @@ $D$ is the point closest to $b$.
\subsubsection{More complex example of a line-circle intersection}
Figure from \url{http://gogeometry.com/problem/p190_tangent_circle}
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=6.5cm,small]
\begin{tikzpicture}[scale=.75]
\tkzDefPoint(0,0){A}
\tkzDefPoint(8,0){B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{O}
- \tkzDefMidPoint(O,B) \tkzGetPoint{O'}
- \tkzDefLine[tangent from=A](O',B) \tkzGetFirstPoint{E}
- \tkzInterLC(A,E)(O,B) \tkzGetFirstPoint{D}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{O}
+ \tkzDefMidPoint(O,B) \tkzGetPoint{O'}
+ \tkzDefLine[tangent from=A](O',B)\tkzGetFirstPoint{E}
+ \tkzInterLC(A,E)(O,B) \tkzGetFirstPoint{D}
\tkzDefPointBy[projection=onto A--B](D)
\tkzGetPoint{F}
\tkzDrawCircles(O,B O',B)
@@ -284,7 +286,7 @@ With \tkzname{xfp} and \tkzcname{fpeval}:
\end{tkzexample}
-\subsubsection{Option "with nodes"}
+\subsubsection{Option \code{with nodes}}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E}
@@ -315,7 +317,7 @@ options & default & definition \\
\end{tabular}
\medskip
-This macro defines the intersection point(s) $I$ and $J$ of the two center circles $O$ and $O'$. If the two circles do not have a common point then the macro ends with an error that is not handled. If the centers are $O$ and $O'$ and the intersections are $A$ and $B$ then the angles $\widehat{O,A,O'}$ and $\widehat{O,B,O'}$ are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the "clockwise" angle.
+This macro defines the intersection point(s) $I$ and $J$ of the two center circles $O$ and $O'$. If the two circles do not have a common point then the macro ends with an error that is not handled. If the centers are $O$ and $O'$ and the intersections are $A$ and $B$ then the angles $\widehat{O,A,O'}$ and $\widehat{O,B,O'}$ are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the \code{clockwise} angle.
\end{NewMacroBox}
\begin{NewMacroBox}{tkzTestInterCC}{\parg{$O,A$}\parg{$O',B$}}%
@@ -346,14 +348,15 @@ So the arguments are two couples which define two circles with a center and a po
\subsubsection{circle-circle intersection with \tkzname{common} point.}
\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
- \tkzDrawPoints(O,A,B)
- \tkzDrawCircles(O,B A,B)
- \tkzInterCC[common=B](O,B)(A,B)\tkzGetFirstPoint{C}
- \tkzDrawPoint(C)
- \tkzLabelPoints[above](O,A,B,C)
- \end{tikzpicture}
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawCircles(O,B A,B)
+ \tkzInterCC[common=B](O,B)(A,B)
+ \tkzGetFirstPoint{C}
+ \tkzDrawPoint(C)
+ \tkzLabelPoints[above](O,A,B,C)
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{circle-circle intersection order of points.}
@@ -361,9 +364,10 @@ The idea is to compare the angles formed with the first center, a resultant poin
As you can see $\widehat{ODB} < \widehat{OBE} $
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.5]
- \pgfkeys{/pgf/number format/.cd,fixed relative,precision=4}
+ \pgfkeys{/pgf/number format/.cd,fixed relative,
+ precision=4}
\tkzDefPoints{0/0/O,5/-1/A,2/2/B,2/-1/C}
\tkzDrawPoints(O,A,B)
\tkzDrawCircles(O,A B,C)
@@ -382,8 +386,6 @@ As you can see $\widehat{ODB} < \widehat{OBE} $
\end{tikzpicture}
\end{tkzexample}
-
-
\subsubsection{Construction of an equilateral triangle.}
$\widehat{A,C,B}$ is a clockwise angle
\begin{tkzexample}[latex=7cm,small]
@@ -410,13 +412,13 @@ $\widehat{A,C,B}$ is a clockwise angle
\begin{tikzpicture}[scale=.6]
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,2){B}
- \tkzInterCC(A,B)(B,A) \tkzGetSecondPoint{D}
- \tkzInterCC(D,B)(B,A) \tkzGetPoints{A}{C}
- \tkzInterCC(D,B)(A,B) \tkzGetPoints{E}{B}
- \tkzInterLC[common=D](C,D)(E,D) \tkzGetFirstPoint{F}
- \tkzInterLL(A,F)(B,C) \tkzGetPoint{O}
- \tkzInterLL(O,D)(A,B) \tkzGetPoint{H}
- \tkzInterLL(O,E)(A,B) \tkzGetPoint{G}
+ \tkzInterCC(A,B)(B,A) \tkzGetSecondPoint{D}
+ \tkzInterCC(D,B)(B,A) \tkzGetPoints{A}{C}
+ \tkzInterCC(D,B)(A,B) \tkzGetPoints{E}{B}
+ \tkzInterLC[common=D](C,D)(E,D)\tkzGetFirstPoint{F}
+ \tkzInterLL(A,F)(B,C) \tkzGetPoint{O}
+ \tkzInterLL(O,D)(A,B) \tkzGetPoint{H}
+ \tkzInterLL(O,E)(A,B) \tkzGetPoint{G}
\tkzDrawCircles(D,E A,B B,A E,A)
\tkzDrawSegments[](O,F O,B O,D O,E)
\tkzDrawPoints(A,...,H)
@@ -425,7 +427,7 @@ $\widehat{A,C,B}$ is a clockwise angle
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{With the option "\tkzimp{with nodes}"}
+\subsubsection{With the option \code{with nodes}}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoints{0/0/A,0/5/B,5/0/C}
@@ -449,17 +451,17 @@ $\widehat{A,C,B}$ is a clockwise angle
\subsubsection{Mix of intersections}
\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale = .75]
+\begin{tikzpicture}[scale = .7]
\tkzDefPoint(2,2){A}
\tkzDefPoint(0,0){B}
\tkzDefPoint(-2,2){C}
\tkzDefPoint(0,4){D}
\tkzDefPoint(4,2){E}
\tkzCircumCenter(A,B,C)\tkzGetPoint{O}
- \tkzInterCC[R](O,2)(D,2) \tkzGetPoints{M1}{M2}
+ \tkzInterCC[R](O,2)(D,2)\tkzGetPoints{M1}{M2}
\tkzInterCC(O,A)(D,O) \tkzGetPoints{1}{2}
- \tkzInterLC(A,E)(B,M1) \tkzGetSecondPoint{M3}
- \tkzInterLC(O,C)(M3,D) \tkzGetSecondPoint{L}
+ \tkzInterLC(A,E)(B,M1)\tkzGetSecondPoint{M3}
+ \tkzInterLC(O,C)(M3,D)\tkzGetSecondPoint{L}
\tkzDrawSegments(C,L)
\tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L)
\tkzDrawSegments(O,E)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
index f3c8a0b3da..6fe0133db1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
@@ -330,7 +330,7 @@ options & default & definition \\
\end{tabular}
\medskip
-\emph{ We can use the styles from \TIKZ. The label is created and therefore "passed" between braces.}
+\emph{ We can use the styles from \TIKZ. The label is created and therefore \code{passed} between braces.}
\end{NewMacroBox}
\subsubsection{Example}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
index cc4177dd9f..4d42e3d571 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
@@ -25,9 +25,9 @@ arguments & example & explanation \\
\toprule
options & default & definition \\
\TOline{mediator}{}{perpendicular bisector of a line segment}
-\TOline{perpendicular=through\dots}{mediator}{perpendicular to a straight line passing through a point}
+\TOline{perpendicular=through\dots}{mediator}{perpendicular to a line passing through a point}
\TOline{orthogonal=through\dots}{mediator}{see above }
-\TOline{parallel=through\dots}{mediator}{parallel to a straight line passing through a point}
+\TOline{parallel=through\dots}{mediator}{parallel to a line passing through a point}
\TOline{bisector}{mediator}{bisector of an angle defined by three points}
\TOline{bisector out}{mediator}{exterior angle bisector}
\TOline{symmedian}{mediator}{symmedian from a vertex }
@@ -59,7 +59,7 @@ options & default & definition \\
Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.6]
+\begin{tikzpicture}[scale=.75]
% necessary
\tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6]
\tkzClip
@@ -80,7 +80,7 @@ Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
It is not necessary to name the two points that define the mediator.
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.6]
\tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6]
\tkzClip
@@ -112,11 +112,13 @@ It is not necessary to name the two points that define the mediator.
Archimedes' Book of Lemmas proposition 1
\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=.75]
+ \begin{tikzpicture}
\tkzDefPoints{0/0/O_1,0/1/O_2,0/3/A}
\tkzDefPoint(15:3){F}
- \tkzInterLC(F,O_1)(O_1,A) \tkzGetSecondPoint{E}
- \tkzDefLine[parallel=through O_2](E,F) \tkzGetPoint{x}
+ \tkzDefPointBy[symmetry=center O_1](F)
+ \tkzGetPoint{E}
+ \tkzDefLine[parallel=through O_2](E,F)
+ \tkzGetPoint{x}
\tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C}
\tkzDrawCircles(O_1,A O_2,A)
\tkzDrawSegments[new](O_1,A E,F C,D)
@@ -169,10 +171,12 @@ Archimedes' Book of Lemmas proposition 1
\subsubsection{ With option \tkzname{euler}} % (fold)
\label{sub:eulerline}
\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}
+\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
-\tkzDefLine[euler](A,B,C) \tkzGetPoints{h}{e}
-\tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{o}
+\tkzDefLine[euler](A,B,C)
+\tkzGetPoints{h}{e}
+\tkzDefTriangleCenter[circum](A,B,C)
+\tkzGetPoint{o}
\tkzDrawPolygon[teal](A,B,C)
\tkzDrawPoints[red](A,B,C,h,e,o)
\tkzDrawLine[add= 2 and 2](h,e)
@@ -205,18 +209,22 @@ The tangent is not drawn. With option \tkzname{at}, a point of the tangent is g
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1,rotate=-30]
\tkzDefPoints{0/0/Q,0/2/A,6/-1/O}
-\tkzDefLine[tangent from = O](Q,A) \tkzGetPoints{R}{S}
-\tkzInterLC[near](O,Q)(Q,A) \tkzGetPoints{M}{N}
+\tkzDefLine[tangent from = O](Q,A)
+\tkzGetPoints{R}{S}
+\tkzInterLC[near](O,Q)(Q,A)
+\tkzGetPoints{M}{N}
\tkzDrawCircle(Q,M)
\tkzDrawSegments[new,add = 0 and .2](O,R O,S)
\tkzDrawSegments[gray](N,O R,Q S,Q)
\tkzDrawPoints(O,Q,R,S,M,N)
\tkzMarkAngle[gray,-stealth,size=1](O,R,Q)
\tkzFindAngle(O,R,Q) \tkzGetAngle{an}
-\tkzLabelAngle(O,R,Q){$\pgfmathprintnumber{\an}^\circ$}
+\tkzLabelAngle(O,R,Q){%
+ $\pgfmathprintnumber{\an}^\circ$}
\tkzMarkAngle[gray,-stealth,size=1](O,S,Q)
\tkzFindAngle(O,S,Q) \tkzGetAngle{an}
-\tkzLabelAngle(O,S,Q){$\pgfmathprintnumber{\an}^\circ$}
+\tkzLabelAngle(O,S,Q){%
+ $\pgfmathprintnumber{\an}^\circ$}
\tkzLabelPoints(Q,O,M,N,R)
\tkzLabelPoints[above,text=red](S)
\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lua.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lua.tex
index 88a2c293ec..714ce64bc0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lua.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lua.tex
@@ -1,7 +1,11 @@
\newpage
-\section{Working with lua : option \tkzname{lua}} \label{calc_with_lua}
+\section{Working with lua} \label{calc_with_lua}
-You can now use the "lua" option with \tkzname{\tkznameofpack} version 5.
+\subsubsection{Option \code{lua}} % (fold)
+\label{ssub:option_code_lua}
+
+% subsubsection option_code_lua (end)
+You can now use the \ItkzPopt{tkz-euclide}{lua} option with \tkzname{\tkznameofpack} version 5.
You just have to write in your preamble
|usepackage[lua]{tkz-euclide}|.
@@ -11,12 +15,18 @@ Without the option you can use \tkzname{\tkznameofpack} with the proposed code o
This version is not yet finalized although the documentation you are currently reading has been compiled with this option.
-Some information about the method used and the results obtained. Concerning the method, I considered two possibilities. The first one was simply to replace everywhere I could the calculations made by "xfp" or sometimes by "lua". This is how I went from "fp" to "xfp" and now to "lua". The second and more ambitious possibility would have been to associate to each point a complex number and to make the calculations on the complexes with "lua". Unfortunately for that I have to use libraries for which I don't know the license.
+Some information about the method used and the results obtained. Concerning the method, I considered two possibilities. The first one was simply to replace everywhere I could the calculations made by \code{xfp} or sometimes by \code{lua}. This is how I went from \code{fp} to \code{xfp} and now to \code{lua}. The second and more ambitious possibility would have been to associate to each point a complex number and to make the calculations on the complexes with \code{lua}. Unfortunately for that I have to use libraries for which I don't know the license.
-Otherwise the results are good. This documentation with "LualaTeX" and "xfp" compiles in 47s while with "lua" it takes only 30s for 236 pages.
+Otherwise the results are good. This documentation with \code{LualaTeX} and \code{xfp} compiles in 47s while with \code{lua} it takes only 30s for 236 pages.
-Another document of 61 pages is compiled 16s with "pdflaTeX" and "xfp" and 13s with "LualaTeX" and "xfp".
+Another document of 61 pages is compiled 16s with \code{pdflaTeX} and \code{xfp} and 13s with \code{LualaTeX} and \code{xfp}.
This documentation compiles with |\usepackage{tkz-base}| and |\usepackage[lua]{tkz-euclide}| but I didn't test all the interactions thoroughly.
+\subsubsection{Option \code{mini}} % (fold)
+\label{ssub:option_code_mini}
+
+When you use \tkzNamePack{tkz-elements} solely to determine the points in your figures, it is not necessary to load all the modules of \tkzname{\tkznameofpack}. In this case, by using the \ItkzPopt{tkz-euclide}{mini} option |\usepackage[mini]{tkz-euclide}| , you will only load the modules necessary for the drawings.
+
+% subsubsection option_code_mini (end)
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
index 806d740884..42ce13693b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
@@ -18,13 +18,13 @@
index = totoc,
twoside,
cadre,
- headings = small
+ headings = small,
]{tkz-doc}
\gdef\tkznameofpack{tkz-euclide}
-\gdef\tkzversionofpack{5.06c}
+\gdef\tkzversionofpack{5.10c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{doc-tkz-euclide}
-\gdef\tkzversionofdoc{5.06c}
+\gdef\tkzversionofdoc{5.10c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -110,6 +110,9 @@
\tikzset{new/.style={color=orange,line width=.2pt}}
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
+\def\code{\texttt}
+\newcommand*{\ItkzPopt}[2]{\texttt{#2}\index{#1_3@\texttt{#1: options}!\texttt{#2}}}
+
\begin{document}
\parindent=0pt
@@ -117,9 +120,10 @@
\clearpage
\defoffile{\lefthand\
-\tkzname{\tkznameofpack} passes in version 5 with the possibility of carrying out part of the calculations using \tkzname{lua}. See the "news" and "lua" sections for more information.\\
-\tkzname{\tkznameofpack} is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} is built on top of PGF and its associated front-end \TIKZ\ and is a (La)TeX-friendly drawing package. The aim is to provide a high-level user interface to build graphics relatively simply. The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible.\\
-English is not my native language so there might be some errors.
+
+\tkzname{\tkznameofpack} is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} is built on top of PGF and its associated front-end \TIKZ\ and is a (La)TeX-friendly drawing package. The aim is to provide a high-level user interface to build graphics relatively effortlessly. The goal is to guide users through constructing diagrams step by step, mirroring the natural process of manual construction as closely as possible.\\
+Version 5 of \tkzname{\tkznameofpack} includes the option to utilize Lua for performing certain calculations, refer to the \code{news} and \code{lua} sections.\\
+Please note: English is not my native language, so there may be some errors.
}
\presentation
@@ -128,7 +132,13 @@ English is not my native language so there might be some errors.
\lefthand\ Firstly, I would like to thank \textbf{Till Tantau} for the beautiful \LaTeX{} package, namely \href{http://sourceforge.net/projects/pgf/}{\TIKZ}.
\vspace*{12pt}
-\lefthand\ Acknowledgements : I received much valuable advice, remarks, corrections and examples from \tkzimp{Jean-Côme Charpentier}, \tkzimp{Josselin Noirel}, \tkzimp{Manuel Pégourié-Gonnard}, \tkzimp{Franck Pastor}, \tkzimp{David Arnold}, \tkzimp{Ulrike Fischer}, \tkzimp{Stefan Kottwitz}, \tkzimp{Christian Tellechea}, \tkzimp{Nicolas Kisselhoff}, \tkzimp{David Arnold}, \tkzimp{Wolfgang Büchel}, \tkzimp{John Kitzmiller}, \tkzimp{Dimitri Kapetas}, \tkzimp{Gaétan Marris}, \tkzimp{Mark Wibrow}, \tkzimp{Yves Combe} for his work on a protractor, \tkzimp{Paul Gaborit}, \tkzimp{Laurent Van Deik} for all his corrections, remarks and questions and \tkzimp{Muzimuzhi Z} for the code about the option "dim". A big thank you to \tkzimp{Chetan Shirore} and \tkzimp{Dr. Ajit Kumar} because their work on complex numbers in their package \tkzimp{luamaths} helped me a lot.
+\lefthand\ Acknowledgements : I received much valuable advices, remarks, corrections and examples from
+
+\tkzimp{Jean-Côme Charpentier}, \tkzimp{Josselin Noirel}, \tkzimp{Manuel Pégourié-Gonnard}, \tkzimp{Franck Pastor}, \tkzimp{David Arnold},
+
+\tkzimp{Ulrike Fischer}, \tkzimp{Stefan Kottwitz}, \tkzimp{Christian Tellechea}, \tkzimp{Nicolas Kisselhoff}, \tkzimp{David Arnold}, \tkzimp{Wolfgang Büchel},
+
+\tkzimp{John Kitzmiller}, \tkzimp{Dimitri Kapetas}, \tkzimp{Gaétan Marris}, \tkzimp{Mark Wibrow}, \tkzimp{Yves Combe}, \tkzimp{Paul Gaborit}, \tkzimp{Laurent Van Deik} and \tkzimp{Muzimuzhi Z}.
\vspace*{12pt}
\lefthand\ I would also like to thank Eric Weisstein, creator of MathWorld:
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
index 6667d5bcda..9a21f26637 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
@@ -1,218 +1,227 @@
\section*{News and compatibility}
-\subsection{With 5.06 version}
- \begin{itemize}
- \item Correction of a bug with the macro |\tkzLabelAngle| and the option “angle”
- \item Added |\tkzSetUpCircle|
- \item Correction of some typos
- \item Remove some french texts
- \end{itemize}
-
-
-\subsection{With 5.05 version}
-
- Correction of the documentation in Complete but minimal example.
-
-\subsection{With 5.03 version}
+\subsection{With 5.10 version}
\begin{itemize}
+ \item Added french documentation
- \item Correction of a bug in the macro |\tkzDefBarycentricPointTwo| of the file tkz-obj-lua-points-spc.tex ;
-
- \item Add macro |\tkzDrawEllipse|;
-
- \item Deleting macros |\tkzDrawSectorAngles| and |\tkzDrawSectorRwithNodesAngles|.
-\end{itemize}
-
-
-\subsection{With 5.0 version} % (fold)
-
-\begin{itemize}
-
- \item Finally, I added the "lua" option for the package \tkzname{\tkznameofpack}. This allows to do the calculations for the main functions using lua; (see \ref{calc_with_lua}). The syntax is unchanged. Nothing changes for the user;
-
- \item The "xfp" option has become "veclen" see \ref{opt-veclen}.
-
-\end{itemize}
-
-\subsection{With 4.2 version} % (fold)
-\label{sub:with_4_2_version}
-
-Some changes have been made to make the syntax more homogeneous and especially to distinguish the definition and search for coordinates from the rest, i.e. drawing, marking and labelling.
-Now the definition macros are isolated, it will be easier to introduce a phase of coordinate calculations using \tkzimp{Lua}.
-
-Here are some of the changes.
-\vspace{1cm}
- \begin{itemize}\setlength{\itemsep}{10pt}
-
-
-\item I recently discovered a problem when using the "scale" option. When plotting certain figures with certain tools, extensive use of |pgfmathreciprocal| involves small computational errors but can add up and render the figures unfit. Here is how to proceed to avoid these problems:
-\begin{enumerate}
-
- \item On my side I introduced a patch proposed by Muzimuzhi that modifies
-|pgfmathreciprocal|;
-
-\item Another idea proposed by Muzimuzhi is to pass as an option for the |tikzpicture| environment this |/pgf/fpu/install only={reciprocal}| after loading of course the |fpu| library;
-
-\item I have in the methods chosen to define my macros tried to avoid as much as possible the use of |pgfmathreciprocal|;
-
-\item There is still a foolproof method which consists in avoiding the use of |scale = ...|. It's quite easy if, like me, you only work with fixed points fixed at the beginning of your code. The size of your figure depends only on these fixed points so you just have to adapt the coordinates of these.
-\end{enumerate}
-
-\item Now |\tkzDefCircle| gives two points as results: the center of the circle and a point of the circle. When a point of the circle is known, it is enough to use |\tkzGetPoint| or |\tkzGetFirstPoint|
-to get the center, otherwise |\tkzGetPoints| will give you the center and a point of the circle. You can always get the length of the radius with |\tkzGetLength|. I wanted to favor working with nodes and banish the appearance of numbers in the code.
-
-\item In order to isolate the definitions, I deleted or modified certain macros which are: |\tkzDrawLine|, |\tkzDrawTriangle|, |\tkzDrawCircle|, |\tkzDrawSemiCircle| and |\tkzDrawRectangle|;
-
-Thus |\tkzDrawSquare(A,B)| becomes |\tkzDefSquare(A,B)||\tkzGetPoints{C}{D}| then
-
- |\tkzDrawPolygon(A,B,C,D)|;
-
-If you want to draw a circle, you can't do so |\tkzDrawCircle[R](A,1)|. First you have to define the point through which the circle passes, so you have to do
-|\tkzDefCircle[R](A,1)| |\tkzGetPoint{a}| and finally |\tkzDrawCircle(A,a)|. Another possibilty is to define a point on the circle |\tkzDefShiftPoint[A](1,O){a}|;
-
-
-\item The following macros |tkzDefCircleBy[orthogonal through]| and |\tkzDefCircleBy[orthogonal from]| become |tkzDefCircle[orthogonal through]| and |\tkzDefCircle[orthogonal from]| ;
-
-
-\item |\tkzDefLine[euler](A,B,C)| is a macro that allows you to obtain the line of \tkzname{Euler} when possible. |\tkzDefLine[altitude](A,B,C)| is possible again, as well as |\tkzDefLine[tangent at=A](O)| and |\tkzDefLine[tangent from=P](O,A)| which did not works;
-
-
-\item | \tkzDefTangent| is replaced by |\tkzDefLine[tangent from = ...]| or |\tkzDefLine[tangent at = ...]|;
-
-
-\item I added the macro |\tkzPicAngle[tikz options](A,B,C)| for those who prefer to use \TIKZ ;
-
-
-\item The macro |\tkzMarkAngle| has been corrected;
-
-\item The macro linked to the \tkzname{apollonius} option of the |\tkzDefCircle| command has been rewritten;
-
-\item (4.23) The macro |\tkzDrawSemiCircle| has been corrected;
-
-\item
-The order of the arguments of the macro \tkzcname{tkzDefPointOnCircle} has changed: now it is center, angle and point or radius.
-I have added two options for working with radians which are \tkzname{through in rad} and \tkzname{R in rad}.
-
-
-\item I added the option \tkzname{reverse} to the arcs paths. This allows to reverse the path and to reverse if necessary the arrows that would be present.
-
-
-\item I have unified the styles for the labels. There is now only \tkzname{label style} left which is valid for points, segments, lines, circles and angles. I have deleted \tkzname{label seg style} \tkzname{label line style} and \tkzname{label angle style}
-
-\item I added the macro |tkzFillAngles| to use several angles.
-
-\item Correction option \tkzname{return} witk \tkzcname{tkzProtractor}
-
-As a reminder, the following changes have been made previously:
-
- \item |\tkzDrawMedian|, |\tkzDrawBisector|, |\tkzDrawAltitude|, |\tkzDrawMedians|, |\tkzDrawBisectors| and |\tkzDrawAltitudes| do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzDefSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
-
-\item |\tkzDrawTriangle| has been deleted. |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|; idem for |\tkzDrawSquare| and |\tkzDrawGoldRectangle|;
-
-
-\item The circle inversion was badly defined so I rewrote the macro. The input arguments are always the center and a point of the circle, the output arguments are the center of the image circle and a point of the image circle or two points of the image line if the antecedent circle passes through the pole of the inversion. If the circle passes the inversion center, the image is a straight line, the validity of the procedure depends on the choice of the point on the antecedent circle;
-
-\item Correct allocation for gold sublime and euclide triangles;
-
-
-\item I added the option " next to" for the intersections LC and CC;
-
-
-\item Correction option isoceles right;
-
-\item (4.22 and 4.23) Correction of the macro |\tkzMarkAngle|;
-
-
-\item |\tkzDefMidArc(O,A,B)| gives the middle of the arc center $O$ from $A$ to $B$;
-
-\item Good news : Some useful tools have been added. They are present on an experimental basis and will undoubtedly need to be improved;
-
-
-\item The options "orthogonal from and through" depend now of \tkzcname{tkzDefCircleBy}
-
-\begin{enumerate}
-
- \item |\tkzDotProduct(A,B,C)| computes the scalar product in an orthogonal reference system of the vectors $\overrightarrow{A,B}$ and $\overrightarrow{A,C}$.
-
- |\tkzDotProduct(A,B,C)=aa'+bb' if vec{AB} =(a,b) and vec{AC} =(a',b')|
-
-
- \item |\tkzPowerCircle(A)(B,C)| power of point $A$ with respect to the circle of center $B$ passing through $C$;
-
-
- \item |\tkzDefRadicalAxis(A,B)(C,D)| Radical axis of two circles of center $A$ and $C$;
-
-
-\item (4.23) The macro |tkzDefRadicalAxis| has been completed
-
- \item Some tests : |\tkzIsOrtho(A,B,C)| and |\tkzIsLinear(A,B,C)| The first indicates whether the lines $(A,B)$ and $(A,C)$ are orthogonal. The second indicates whether the points $A$, $B$ and $C$ are aligned;
-
- |\tkzIsLinear(A,B,C)| if $A$,$B$,$C$ are aligned then |\tkzLineartrue|
- you can use |\iftkzLinear| (idem for |\tkzIsOrtho|);
-
-\item A style for vectors has been added that you can of course modify
-
-|tikzset{vector style/.style={>=Latex,->}}|;
-
-
-\item Now it's possible to add an arrow on a line or a circle with the option |tkz arrow|.
-\end{enumerate}
+ \item Added the \code{mini} option. You can use this option with the \tkzNamePack{tkz-elements} package. Only the modules required for tracing will be loaded. This option is currently only available if you are using \tkzNamePack{tkz-elements}.
\end{itemize}
-% subsection with_4_2_version (end)
-\subsection{Changes with previous versions} % (fold)
-\label{sub:changes_with_previous_versions}
-
-\vspace{1cm}
- \begin{itemize}\setlength{\itemsep}{10pt}
-
-\item I remind you that an important novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}. This is to improve the calculations a little bit more and to make it easier to use;
-
-\item First of all, you don’t have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzname{\tkznameofpack} did not control the size of the bounding box, The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
-
-\item With \tkzimp{tkz-euclide} loads all objects, so there's no need to place \tkzcname{usetkzobj\{all\}};
-
-\item Added macros for the bounding box: \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB} and so on;
-
-\item Logically most macros accept \TIKZ\ options. So I removed the "duplicate" options when possible thus the "label options" option is removed;
-
-\item The unit is now the cm;
-
-\item |\tkzCalcLength| |\tkzGetLength| gives result in cm;
-
-\item |\tkzMarkArc| and |\tkzLabelArc| are new macros;
-
-\item Now |\tkzClipCircle| and |\tkzClipPolygon| have an option \tkzimp{out}. To use this option you must have a Bounding Box that contains the object on which the Clip action will be performed. This can be done by using an object that encompasses the figure or by using the macro \tkzcname{tkzInit};
-
-
-\item The options \tkzname{end} and \tkzname{start} which allowed to give a label to a straight line are removed. You now have to use the macro \tkzcname{tkzLabelLine};
-
-\item Introduction of the libraries \NameLib{quotes} and \NameLib{angles}; it allows to give a label to a point, even if I am not in favour of this practice;
-
-\item The notion of vector disappears, to draw a vector just pass "->" as an option to \tkzcname{tkzDrawSegment};
-
-
-\item |\tkzDefIntSimilitudeCenter| and |\tkzDefExtSimilitudeCenter| do not exist anymore, now you need to use |\tkzDefSimilitudeCenter[int]| or |\tkzDefSimilitudeCenter[ext]|;
-
-\item |\tkzDefRandPointOn| is replaced by |\tkzGetRandPointOn|;
-
-
-\item An option of the macro \tkzcname{tkzDefTriangle} has changed, in the previous version the option was "euclide" with an "e". Now it's "euclid";
-
-\item Random points are now in \tkzname{\tkznameofpack} and the macro \tkzcname{tkzGetRandPointOn} is replaced by
-
- \tkzcname{tkzDefRandPointOn}. For homogeneity reasons, the points must be retrieved with \tkzcname{tkzGetPoint};
-
-\item New macros have been added : \tkzcname{tkzDrawSemiCircles}, \tkzcname{tkzDrawPolygons}, \tkzcname{tkzDrawTriangles};
-
-
-\item Option "isosceles right" is a new option of the macro \tkzcname{tkzDefTriangle};
-
-\item Appearance of the macro \tkzcname{usetkztool} which allows to load new "tools";
-
-\item The styles can be modified with the help of the following macros : \tkzcname{tkzSetUpPoint}, \tkzcname{tkzSetUpLine}, \tkzcname{tkzSetUpArc}, \tkzcname{tkzSetUpCompass}, \tkzcname{tkzSetUpLabel} and \tkzcname{tkzSetUpStyle}. The last one allows you to create a new style.
-\end{itemize}
-% subsection changes_with_previous_versions (end)
+% \subsection{With 5.06 version}
+% \begin{itemize}
+% \item Correction of a bug with the macro |\tkzLabelAngle| and the option \code{angle}.
+% \item Added |\tkzSetUpCircle|.
+% \item Correction of some typos.
+% \item Remove some french texts.
+% \end{itemize}
+%
+%
+% \subsection{With 5.05 version}
+%
+% Correction of the documentation in Complete but minimal example.
+%
+% \subsection{With 5.03 version}
+%
+% \begin{itemize}
+%
+% \item Correction of a bug in the macro |\tkzDefBarycentricPointTwo| of the file tkz-obj-lua-points-spc.tex.
+%
+% \item Add macro |\tkzDrawEllipse|.
+%
+% \item Deleting macros |\tkzDrawSectorAngles| and |\tkzDrawSectorRwithNodesAngles|.
+% \end{itemize}
+%
+%
+% \subsection{With 5.0 version} % (fold)
+%
+% \begin{itemize}
+%
+% \item Finally, I added the \code{lua} option for the package \tkzname{\tkznameofpack}. This allows to do the calculations for the main functions using lua; (see \ref{calc_with_lua}). The syntax is unchanged. Nothing changes for the user.
+%
+% \item The \code{xfp} option has become \code{veclen} see \ref{opt-veclen}.
+%
+% \end{itemize}
+%
+% \subsection{With 4.2 version} % (fold)
+% \label{sub:with_4_2_version}
+%
+% Some changes have been made to make the syntax more homogeneous and especially to distinguish the definition and search for coordinates from the rest, i.e. drawing, marking and labelling.
+% Now the definition macros are isolated, it will be easier to introduce a phase of coordinate calculations using \tkzimp{Lua}.
+%
+% Here are some of the changes.
+% \vspace{1cm}
+% \begin{itemize}\setlength{\itemsep}{10pt}
+%
+%
+% \item I recently discovered a problem when using the \code{scale} option. When plotting certain figures with certain tools, extensive use of |pgfmathreciprocal| involves small computational errors but can add up and render the figures unfit. Here is how to proceed to avoid these problems:
+% \begin{enumerate}
+%
+% \item On my side I introduced a patch proposed by Muzimuzhi that modifies
+% |pgfmathreciprocal|;
+%
+% \item Another idea proposed by Muzimuzhi is to pass as an option for the |tikzpicture| environment this |/pgf/fpu/install only={reciprocal}| after loading of course the |fpu| library;
+%
+% \item I have in the methods chosen to define my macros tried to avoid as much as possible the use of |pgfmathreciprocal|;
+%
+% \item There is still a foolproof method which consists in avoiding the use of |scale = ...|. It's quite easy if, like me, you only work with fixed points fixed at the beginning of your code. The size of your figure depends only on these fixed points so you just have to adapt the coordinates of these.
+% \end{enumerate}
+%
+% \item Now |\tkzDefCircle| gives two points as results: the center of the circle and a point of the circle. When a point of the circle is known, it is enough to use |\tkzGetPoint| or |\tkzGetFirstPoint|
+% to get the center, otherwise |\tkzGetPoints| will give you the center and a point of the circle. You can always get the length of the radius with |\tkzGetLength|. I wanted to favor working with nodes and banish the appearance of numbers in the code.
+%
+% \item In order to isolate the definitions, I deleted or modified certain macros which are: |\tkzDrawLine|, |\tkzDrawTriangle|, |\tkzDrawCircle|, |\tkzDrawSemiCircle| and |\tkzDrawRectangle|;
+%
+% Thus |\tkzDrawSquare(A,B)| becomes |\tkzDefSquare(A,B)||\tkzGetPoints{C}{D}| then
+%
+% |\tkzDrawPolygon(A,B,C,D)|;
+%
+% If you want to draw a circle, you can't do so |\tkzDrawCircle[R](A,1)|. First you have to define the point through which the circle passes, so you have to do
+% |\tkzDefCircle[R](A,1)| |\tkzGetPoint{a}| and finally |\tkzDrawCircle(A,a)|. Another possibilty is to define a point on the circle |\tkzDefShiftPoint[A](1,O){a}|;
+%
+%
+% \item The following macros |tkzDefCircleBy[orthogonal through]| and |\tkzDefCircleBy[orthogonal from]| become |tkzDefCircle[orthogonal through]| and |\tkzDefCircle[orthogonal from]| ;
+%
+%
+% \item |\tkzDefLine[euler](A,B,C)| is a macro that allows you to obtain the line of \tkzname{Euler} when possible. |\tkzDefLine[altitude](A,B,C)| is possible again, as well as |\tkzDefLine[tangent at=A](O)| and |\tkzDefLine[tangent from=P](O,A)| which did not works;
+%
+%
+% \item | \tkzDefTangent| is replaced by |\tkzDefLine[tangent from = ...]| or |\tkzDefLine[tangent at = ...]|;
+%
+%
+% \item I added the macro |\tkzPicAngle[tikz options](A,B,C)| for those who prefer to use \TIKZ ;
+%
+%
+% \item The macro |\tkzMarkAngle| has been corrected;
+%
+% \item The macro linked to the \tkzname{apollonius} option of the |\tkzDefCircle| command has been rewritten;
+%
+% \item (4.23) The macro |\tkzDrawSemiCircle| has been corrected;
+%
+% \item
+% The order of the arguments of the macro \tkzcname{tkzDefPointOnCircle} has changed: now it is center, angle and point or radius.
+% I have added two options for working with radians which are \tkzname{through in rad} and \tkzname{R in rad}.
+%
+%
+% \item I added the option \tkzname{reverse} to the arcs paths. This allows to reverse the path and to reverse if necessary the arrows that would be present.
+%
+%
+% \item I have unified the styles for the labels. There is now only \tkzname{label style} left which is valid for points, segments, lines, circles and angles. I have deleted \tkzname{label seg style} \tkzname{label line style} and \tkzname{label angle style}
+%
+% \item I added the macro |tkzFillAngles| to use several angles.
+%
+% \item Correction option \tkzname{return} witk \tkzcname{tkzProtractor}
+%
+% As a reminder, the following changes have been made previously:
+%
+% \item |\tkzDrawMedian|, |\tkzDrawBisector|, |\tkzDrawAltitude|, |\tkzDrawMedians|, |\tkzDrawBisectors| and |\tkzDrawAltitudes| do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzDefSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
+%
+% \item |\tkzDrawTriangle| has been deleted. |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|; idem for |\tkzDrawSquare| and |\tkzDrawGoldRectangle|;
+%
+%
+% \item The circle inversion was badly defined so I rewrote the macro. The input arguments are always the center and a point of the circle, the output arguments are the center of the image circle and a point of the image circle or two points of the image line if the antecedent circle passes through the pole of the inversion. If the circle passes the inversion center, the image is a straight line, the validity of the procedure depends on the choice of the point on the antecedent circle;
+%
+% \item Correct allocation for gold sublime and euclide triangles;
+%
+%
+% \item I added the option \code{next to} for the intersections LC and CC;
+%
+%
+% \item Correction option isoceles right;
+%
+% \item (4.22 and 4.23) Correction of the macro |\tkzMarkAngle|;
+%
+%
+% \item |\tkzDefMidArc(O,A,B)| gives the middle of the arc center $O$ from $A$ to $B$;
+%
+% \item Good news : Some useful tools have been added. They are present on an experimental basis and will undoubtedly need to be improved;
+%
+%
+% \item The options \code{orthogonal from} and \code{through} depend now of \tkzcname{tkzDefCircleBy}
+%
+% \begin{enumerate}
+%
+% \item |\tkzDotProduct(A,B,C)| computes the scalar product in an orthogonal reference system of the vectors $\overrightarrow{A,B}$ and $\overrightarrow{A,C}$.
+%
+% |\tkzDotProduct(A,B,C)=aa'+bb' if vec{AB} =(a,b) and vec{AC} =(a',b')|
+%
+%
+% \item |\tkzPowerCircle(A)(B,C)| power of point $A$ with respect to the circle of center $B$ passing through $C$;
+%
+%
+% \item |\tkzDefRadicalAxis(A,B)(C,D)| Radical axis of two circles of center $A$ and $C$;
+%
+%
+% \item (4.23) The macro |tkzDefRadicalAxis| has been completed
+%
+% \item Some tests : |\tkzIsOrtho(A,B,C)| and |\tkzIsLinear(A,B,C)| The first indicates whether the lines $(A,B)$ and $(A,C)$ are orthogonal. The second indicates whether the points $A$, $B$ and $C$ are aligned;
+%
+% |\tkzIsLinear(A,B,C)| if $A$,$B$,$C$ are aligned then |\tkzLineartrue|
+% you can use |\iftkzLinear| (idem for |\tkzIsOrtho|);
+%
+% \item A style for vectors has been added that you can of course modify
+%
+% |tikzset{vector style/.style={>=Latex,->}}|;
+%
+%
+% \item Now it's possible to add an arrow on a line or a circle with the option |tkz arrow|.
+% \end{enumerate}
+% \end{itemize}
+%
+% % subsection with_4_2_version (end)
+% \subsection{Changes with previous versions} % (fold)
+% \label{sub:changes_with_previous_versions}
+%
+% \vspace{1cm}
+% \begin{itemize}\setlength{\itemsep}{10pt}
+%
+% \item I remind you that an important novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}. This is to improve the calculations a little bit more and to make it easier to use;
+%
+%
+% \item First of all, you don’t have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzname{\tkznameofpack} did not control the size of the bounding box, The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
+%
+% \item With \tkzimp{tkz-euclide} loads all objects, so there's no need to place \tkzcname{usetkzobj\{all\}};
+%
+% \item Added macros for the bounding box: \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB} and so on;
+%
+% \item Logically most macros accept \TIKZ\ options. So I removed the \code{duplicate} options when possible thus the \code{label options} option is removed;
+%
+% \item The unit is now the cm;
+%
+% \item |\tkzCalcLength| |\tkzGetLength| gives result in cm;
+%
+% \item |\tkzMarkArc| and |\tkzLabelArc| are new macros;
+%
+% \item Now |\tkzClipCircle| and |\tkzClipPolygon| have an option \tkzimp{out}. To use this option you must have a Bounding Box that contains the object on which the Clip action will be performed. This can be done by using an object that encompasses the figure or by using the macro \tkzcname{tkzInit};
+%
+%
+% \item The options \tkzname{end} and \tkzname{start} which allowed to give a label to a straight line are removed. You now have to use the macro \tkzcname{tkzLabelLine};
+%
+% \item Introduction of the libraries \NameLib{quotes} and \NameLib{angles}; it allows to give a label to a point, even if I am not in favour of this practice;
+%
+% \item The notion of vector disappears, to draw a vector just pass "->" as an option to \tkzcname{tkzDrawSegment};
+%
+%
+% \item |\tkzDefIntSimilitudeCenter| and |\tkzDefExtSimilitudeCenter| do not exist anymore, now you need to use |\tkzDefSimilitudeCenter[int]| or |\tkzDefSimilitudeCenter[ext]|;
+%
+% \item |\tkzDefRandPointOn| is replaced by |\tkzGetRandPointOn|;
+%
+%
+% \item An option of the macro \tkzcname{tkzDefTriangle} has changed, in the previous version the option was \code{euclide} with an \code{e}. Now it's \code{euclid};
+%
+% \item Random points are now in \tkzname{\tkznameofpack} and the macro \tkzcname{tkzGetRandPointOn} is replaced by
+%
+% \tkzcname{tkzDefRandPointOn}. For homogeneity reasons, the points must be retrieved with \tkzcname{tkzGetPoint};
+%
+% \item New macros have been added : \tkzcname{tkzDrawSemiCircles}, \tkzcname{tkzDrawPolygons}, \tkzcname{tkzDrawTriangles};
+%
+%
+% \item Option \code{isosceles right} is a new option of the macro \tkzcname{tkzDefTriangle};
+%
+% \item Appearance of the macro \tkzcname{usetkztool} which allows to load new \code{tools};
+%
+% \item The styles can be modified with the help of the following macros : \tkzcname{tkzSetUpPoint}, \tkzcname{tkzSetUpLine}, \tkzcname{tkzSetUpArc}, \tkzcname{tkzSetUpCompass}, \tkzcname{tkzSetUpLabel} and \tkzcname{tkzSetUpStyle}. The last one allows you to create a new style.
+% \end{itemize}
+% % subsection changes_with_previous_versions (end)
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
index 67e357c625..407d7a3b67 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
@@ -104,7 +104,7 @@ options & & examples \\
\subsubsection{\tkzname{projection}}
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.5]
+\begin{tikzpicture}[scale=1.25]
\tkzDefPoints{0/0/A,0/4/B}
\tkzDefTriangle[pythagore](B,A) \tkzGetPoint{C}
\tkzDefLine[bisector](B,C,A) \tkzGetPoint{c}
@@ -116,7 +116,7 @@ options & & examples \\
\tkzDrawSegment(C,D)
\tkzDrawCircle(D,A)
\tkzDrawSegment[new](D,G)
- \tkzMarkRightAngle[fill=orange!10,opacity=.4](D,G,B)
+ \tkzMarkRightAngle[fill=orange!10](D,G,B)
\tkzDrawPoints(A,C,F) \tkzLabelPoints(A,C,F)
\tkzDrawPoints(B,D,E,G)
\tkzLabelPoints[above right](B,D,E)
@@ -143,7 +143,7 @@ options & & examples \\
\subsubsection{\tkzname{rotation} }
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=0.5]
+\begin{tikzpicture}[scale=0.75]
\tkzDefPoints{0/0/A,5/0/B}
\tkzDrawSegment(A,B)
\tkzDefPointBy[rotation=center A angle 60](B)
@@ -199,6 +199,7 @@ options & & examples \\
Inversion is the process of transforming points to a corresponding set of points known as their inverse points. Two points $P$ and $P'$ are said to be inverses with respect to an inversion circle having inversion center $O$ and inversion radius $k$ if $P'$ is the perpendicular foot of the altitude of $OQP$, where $Q$ is a point on the circle such that $OQ$ is perpendicular to $PQ$.\\
The quantity $k^2$ is known as the circle power (Coxeter 1969, p. 81).
+
(\url{https://mathworld.wolfram.com/Inversion.html})
Some propositions :
@@ -273,7 +274,7 @@ Directly
\subsubsection{\tkzname{inversion of lines} ex 2}
\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
+\begin{tikzpicture}[scale=.8]
\tkzDefPoints{0/0/O,3/0/I,3/2/P,3/-2/Q}
\tkzDrawCircle(O,I)
\tkzDefPointBy[projection= onto P--Q](O) \tkzGetPoint{A}
@@ -292,7 +293,7 @@ Directly
\subsubsection{\tkzname{inversion of lines} ex 3}
\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
+\begin{tikzpicture}[scale=.8]
\tkzDefPoints{0/0/O,3/0/I,2/1/P,2/-2/Q}
\tkzDrawCircle(O,I)
\tkzDefPointBy[projection= onto P--Q](O) \tkzGetPoint{A}
@@ -311,7 +312,7 @@ Directly
\subsubsection{\tkzname{inversion} of circle and \tkzname{homothety} }
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
+\begin{tikzpicture}[scale=.7]
\tkzDefPoints{0/0/O,3/2/A,2/1/P}
\tkzDefLine[tangent from = O](A,P) \tkzGetPoints{T}{X}
\tkzDefPointsBy[homothety = center O%
@@ -319,7 +320,7 @@ Directly
\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
\tkzCalcLength(A,P)
\tkzGetLength{rAP}
-\tkzDefPointOnCircle[R= center A angle 190 radius \rAP]
+\tkzDefPointOnCircle[R=center A angle 190 radius \rAP]
\tkzGetPoint{M}
\tkzDefPointBy[inversion = center O through C](M)
\tkzGetPoint{M'}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
index 2741872f8c..c8a45d5ea4 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
@@ -6,7 +6,7 @@ The general idea is to avoid manipulating coordinates and to prefer to use the r
\tkzname{\tkznameofpack} uses macros and vocabulary specific to geometric construction. It is of course possible to use the tools of \TIKZ\ but it seems more logical to me not to mix the different syntaxes.
-A point in \tkzname{\tkznameofpack} is a particular "node" for \TIKZ. In the next section we will see how to define points using coordinates. The style of the points (color and shape) will not be discussed. You will find some indications in some examples; for more information you can read the following section \ref{custom}.
+A point in \tkzname{\tkznameofpack} is a particular \code{node} for \TIKZ. In the next section we will see how to define points using coordinates. The style of the points (color and shape) will not be discussed. You will find some indications in some examples; for more information you can read the following section \ref{custom}.
\section{Definition of a point : \tkzcname{tkzDefPoint} or \tkzcname{tkzDefPoints}}
@@ -36,7 +36,7 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\tkzNameMacro{coordinate}, a macro of \TIKZ. It can use \TIKZ-specific options such as \tkzname{shift}. If calculations are required then the \tkzNamePack{xfp} package is chosen. We can use Cartesian or polar coordinates.
-\begin{minipage}[t]{0.45\textwidth}
+\begin{minipage}[t]{0.48\textwidth}
Cartesian coordinates
\begin{tkzexample}[code only,small]
\begin{tikzpicture}[scale=1]
@@ -48,7 +48,7 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\tkzDefPoints{0/0/O,1/0/I,0/1/J}
\tkzDefPoint(3,4){A}
\tkzDrawPoints(O,A)
- \tkzLabelPoint[above](A){$A_1 (x_1,y_1)$}
+ \tkzLabelPoint[above](A){$A_1(x_1,y_1)$}
\tkzShowPointCoord[xlabel=$x_1$,
ylabel=$y_1$](A)
\tkzLabelPoints(O,I)
@@ -60,7 +60,7 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\begin{minipage}[t]{0.45\textwidth}
Polar coordinates
\begin{tkzexample}[code only,small]
-\begin{tikzpicture}[,scale=1]
+\begin{tikzpicture}[scale=1]
\tkzInit[xmax=5,ymax=5]
\tkzDrawX[>=latex]
\tkzDrawY[>=latex]
@@ -73,7 +73,7 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\tkzFillAngle[opacity=.5](I,O,P)
\tkzLabelAngle[pos=1.25](I,O,P){%
$\alpha$}
- \tkzLabelPoint[right](P){$P (\alpha : d )$}
+ \tkzLabelPoint[right](P){$P(\alpha:d)$}
\tkzDrawPoints[shape=cross](I,J)
\tkzLabelPoints(O,I)
\tkzLabelPoints[left](J)
@@ -143,7 +143,7 @@ options & default & definition \\
\subsubsection{Cartesian coordinates }
-\begin{tkzexample}[latex=5cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit[xmax=5,ymax=5] % limits the size of the axes
\tkzDrawX[>=latex]
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
index 15529b33eb..7d0b23f4c9 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
@@ -1,6 +1,6 @@
Now that the fixed points are defined, we can with their references using macros from the package or macros that you will create get new points. The calculations may not be apparent but they are usually done by the package.
You may need to use some mathematical constants, here is the list of constants defined by the package.
-You may need to use some mathematical constants, here is the list of constants defined by the package.
+
\section{Auxiliary tools}
\subsection{Constants}
@@ -34,10 +34,10 @@ arguments & default & example \\
\end{tabular}
\end{NewMacroBox}
-Sometimes you need to get two points. It's possible with
+Sometimes you need to get two points. It's possible with
\begin{NewMacroBox}{tkzGetPoints}{\marg{ref1}\marg{ref2}}%
-The result is in \tkzname{tkzPointFirstResult} and \tkzname{tkzPointSecondResult}.
+The result is in \tkzname{tkzPointFirstResult} and \tkzname{tkzPointSecondResult}.
\medskip
\begin{tabular}{lll}%
@@ -51,7 +51,7 @@ arguments & default & example \\
If you need only the first or the second point you can also use :
\begin{NewMacroBox}{tkzGetFirstPoint}{\marg{ref1}}%
-
+
\medskip
\begin{tabular}{lll}%
\toprule
@@ -75,7 +75,7 @@ arguments & default & example \\
Sometimes the results consist of a point and a dimension. You get the point with \tkzcname{tkzGetPoint} and the dimension with \tkzcname{tkzGetLength}.
\begin{NewMacroBox}{tkzGetLength}{\marg{name of a macro}}%
-
+
\medskip
\begin{tabular}{lll}%
\toprule
@@ -112,7 +112,7 @@ Review the use of \tkzcname{tkzDefPoint}.
\begin{tikzpicture}[scale=1]
\tkzDefPoint(2,3){A}
\tkzDefPoint(6,2){B}
- \tkzDefMidPoint(A,B)
+ \tkzDefMidPoint(A,B)
\tkzGetPoint{M}
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B,M)
@@ -146,7 +146,7 @@ $AB=a$, $BC=b$ and $\dfrac{AC}{AB} = \dfrac{AB}{BC} =\phi$
\begin{tikzpicture}
\tkzDefPoints{0/0/A,6/0/C}
\tkzDefMidPoint(A,C) \tkzGetPoint{I}
- %\tkzDefPointWith[linear,K=\tkzInvPhi](A,C)
+ %\tkzDefPointWith[linear,K=\tkzInvPhi](A,C)
\tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
\tkzDrawSegments(A,C)
\tkzDrawPoints(A,B,C)
@@ -242,30 +242,35 @@ The centers of the two homotheties in which two circles correspond are called ex
arguments & example & explanation \\
\midrule
\TAline{\parg{pt1,pt2}\parg{pt3,pt4}}{$(O,A)(O',B)$} {$r=OA,r'=O'B$}
-\end{tabular}
-
+\end{tabular}
+
\medskip
\begin{tabular}{lll}%
\toprule
-options & default & definition \\
+options & default & definition \\
\midrule
\TOline{ext}{ext}{external center}
\TOline{int}{ext}{internal center}
\end{tabular}
-\end{NewMacroBox}
+\end{NewMacroBox}
\subsubsection{Internal and external with \tkzname{node}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
+\begin{tkzexample}[latex=7.5cm,small]
+\begin{tikzpicture}[scale=.7]
\tkzDefPoints{0/0/O,4/-5/A,3/0/B,5/-5/C}
-\tkzDefSimilitudeCenter[int](O,B)(A,C) \tkzGetPoint{I}
- \tkzDefSimilitudeCenter[ext](O,B)(A,C) \tkzGetPoint{J}
- \tkzDefLine[tangent from = I](O,B) \tkzGetPoints{D}{E}
- \tkzDefLine[tangent from = I](A,C) \tkzGetPoints{D'}{E'}
- \tkzDefLine[tangent from = J](O,B) \tkzGetPoints{F}{G}
- \tkzDefLine[tangent from = J](A,C)
+ \tkzDefSimilitudeCenter[int](O,B)(A,C)
+ \tkzGetPoint{I}
+ \tkzDefSimilitudeCenter[ext](O,B)(A,C)
+ \tkzGetPoint{J}
+ \tkzDefLine[tangent from = I](O,B)
+ \tkzGetPoints{D}{E}
+ \tkzDefLine[tangent from = I](A,C)
+ \tkzGetPoints{D'}{E'}
+ \tkzDefLine[tangent from = J](O,B)
+ \tkzGetPoints{F}{G}
+ \tkzDefLine[tangent from = J](A,C)
\tkzGetPoints{F'}{G'}
- \tkzDrawCircles(O,B A,C)
+ \tkzDrawCircles(O,B A,C)
\tkzDrawSegments[add = .5 and .5,new](D,D' E,E')
\tkzDrawSegments[add= 0 and 0.25,new](J,F J,G)
\tkzDrawPoints(O,A,I,J,D,E,F,G,D',E',F',G')
@@ -304,10 +309,10 @@ You can use \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
\begin{tikzpicture}[rotate=60,scale=.5]
\tkzDefPoints{0/0/A,5/0/C}
\tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
- \tkzDefSimilitudeCenter(A,B)(C,B) \tkzGetPoint{J}
- \tkzDefTangent[from = J](A,B) \tkzGetPoints{F}{G}
- \tkzDefTangent[from = J](C,B) \tkzGetPoints{F'}{G'}
- \tkzDrawCircles(A,B C,B)
+ \tkzDefSimilitudeCenter(A,B)(C,B)\tkzGetPoint{J}
+ \tkzDefTangent[from = J](A,B) \tkzGetPoints{F}{G}
+ \tkzDefTangent[from = J](C,B) \tkzGetPoints{F'}{G'}
+ \tkzDrawCircles(A,B C,B)
\tkzDrawSegments[add= 0 and 0.25,cyan](J,F J,G)
\tkzDrawPoints(A,J,F,G,F',G')
\end{tikzpicture}
@@ -318,15 +323,15 @@ You can use \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
%<---------------------------------------------------------------------->
\begin{NewMacroBox}{tkzDefHarmonic}{\oarg{options}\parg{pt1,pt2,pt3} or \parg{pt1,pt2,k}}%
-
+
\begin{tabular}{lll}%
-options & default & definition \\
+options & default & definition \\
\midrule
\TOline{both}{both}{\parg{A,B,2} we look for C and D such that $(A,B;C,D) = -1$ and CA=2CB }
\TOline{ext}{both}{\parg{A,B,C} we look for D such that $(A,B;C,D) = -1$}
\TOline{int}{both}{\parg{A,B,D} we look for C such that $(A,B;C,D) = -1$}
\end{tabular}
-\end{NewMacroBox}
+\end{NewMacroBox}
\subsubsection{options \tkzname{ext} and \tkzname{int}}
\begin{tkzexample}[vbox,small]
@@ -448,7 +453,7 @@ arguments & default & definition \\
\tkzInterLL(B,Q)(A,P) \tkzGetPoint{S}
\tkzDefMidPoint(P_2',P_1') \tkzGetPoint{o}
\tkzDefPointBy[inversion = center A through D](S) \tkzGetPoint{S'}
- \tkzDrawArc[cyan,delta=0](Q,A)(P_1)
+ \tkzDrawArc[cyan,delta=0](Q,A)(P_1)
\tkzDrawArc[cyan,delta=0](P,P_1)(B)
\tkzDrawSemiCircles[teal](O_1,B O_2,C O_3,B)
\tkzDrawCircles[new](o,P O_4,P_1)
@@ -531,7 +536,7 @@ options & default & examples definition \\
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.4]
\tkzDefPoints{0/0/P,5/0/Q,3/2/I}
-\tkzDefCircle[orthogonal from=P](Q,I)
+\tkzDefCircle[orthogonal from=P](Q,I)
\tkzGetFirstPoint{E}
\tkzDrawCircles(P,E Q,E)
\tkzInterCC[common=E](P,E)(Q,E) \tkzGetFirstPoint{F}
@@ -546,18 +551,18 @@ options & default & examples definition \\
\tkzLabelPoints(P,Q,F,C,D)
\tkzLabelPoints[above](E,A)
\end{tikzpicture}
-\end{tkzexample}
-
+\end{tkzexample}
+
\subsubsection{Use of \tkzcname{tkzDefPointOnCircle}}
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
-\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
+\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
\tkzDefPointOnCircle[R = center B angle 90 radius 1]
\tkzGetPoint{I}
\tkzDefCircle[circum](A,B,C)
\tkzGetPoints{G}{g}
-\tkzDefPointOnCircle[through = center G angle 30 point g]
+\tkzDefPointOnCircle[through = center G angle 30 point g]
\tkzGetPoint{J}
\tkzDefCircle[R](B,1) \tkzGetPoint{b}
\tkzDrawCircle[teal](B,b)
@@ -620,7 +625,7 @@ options & default & definition \\
\tkzGetPoint{H}
\tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
\tkzDrawPolygon(A,B,C)
- \tkzDrawSegments[new](A,Ha B,Hb C,Hc)
+ \tkzDrawSegments[new](A,Ha B,Hb C,Hc)
\tkzDrawPoints(A,B,C,H)
\tkzLabelPoint(H){$H$}
\tkzLabelPoints[below](A,B)
@@ -659,16 +664,16 @@ options & default & definition \\
In geometry, the incircle or inscribed circle of a triangle is the largest circle contained in the triangle; it touches (is tangent to) the three sides. The center of the incircle is a triangle center called the triangle's incenter.
The center of the incircle, called the incenter, can be found as the intersection of the three internal angle bisectors. The center of an excircle is the intersection of the internal bisector of one angle (at vertex $A$, for example) and the external bisectors of the other two. The center of this excircle is called the excenter relative to the vertex $A$, or the excenter of $A$. Because the internal bisector of an angle is perpendicular to its external bisector, it follows that the center of the incircle together with the three excircle centers form an orthocentric system.\\
(Article on \href{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle}{Wikipedia})
-
+
\medskip
We get the center of the inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
-\begin{tkzexample}[latex=8cm,small]
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
-\tkzDefTriangleCenter[in](A,B,C)
+\tkzDefTriangleCenter[in](A,B,C)
\tkzGetPoint{I}
-\tkzDrawLines(A,B B,C C,A)
+\tkzDrawLines(A,B B,C C,A)
\tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{i}
\tkzDrawCircle(I,i)
\tkzDrawPoint[red](I)
@@ -702,11 +707,11 @@ An excircle or escribed circle of the triangle is a circle lying outside the tri
\subsubsection{Option \tkzname{euler}}
This macro allows to obtain the center of the circle of the nine points or euler's circle or Feuerbach's circle. The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A$, $H_B$, and $H_C$ dropped from the vertices of any reference triangle $ABC$ on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints $M_A$, $M_B$, $M_C$ of the sides of $ABC$. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A$, $E_B$, and $E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points.\\ (\url{https://mathworld.wolfram.com/Nine-PointCircle.html})
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}[scale=1,rotate=90]
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1.2,rotate=90]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
\tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
- \tkzDefTriangleCenter[euler](A,B,C)\tkzGetPoint{N}
+ \tkzDefTriangleCenter[euler](A,B,C)\tkzGetPoint{N}
% I= N nine points
\tkzDefTriangleCenter[ortho](A,B,C)\tkzGetPoint{H}
\tkzDefMidPoint(A,H) \tkzGetPoint{E_A}
@@ -721,7 +726,8 @@ This macro allows to obtain the center of the circle of the nine points or euler
\tkzDrawPoints( H_A,H_B,H_C)
\tkzDrawPoints[green](E_A,E_B,E_C)
\tkzAutoLabelPoints[center=N,
- font=\scriptsize](A,B,C,M_A,M_B,M_C,H_A,H_B,H_C,E_A,E_B,E_C)
+ font=\scriptsize](A,B,C,M_A,M_B,M_C,H_A,H_B,H_C,%
+ E_A,E_B,E_C)
\tkzLabelPoints[font=\scriptsize](H,N)
\tkzMarkSegments[mark=s|,size=3pt,
color=blue,line width=1pt](B,E_B E_B,H)
@@ -732,15 +738,17 @@ This macro allows to obtain the center of the circle of the nine points or euler
\subsubsection{Option \tkzname{symmedian}}
The point of concurrence $K$ of the symmedians, sometimes also called the Lemoine point (in England and France) or the Grebe point (in Germany).\\
-\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}
+\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}
-\begin{tkzexample}[latex=6cm,small]
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(5,0){B}
\tkzDefPoint(1,4){C}
- \tkzDefTriangleCenter[symmedian](A,B,C)\tkzGetPoint{K}
- \tkzDefTriangleCenter[median](A,B,C)\tkzGetPoint{G}
+ \tkzDefTriangleCenter[symmedian](A,B,C)
+ \tkzGetPoint{K}
+ \tkzDefTriangleCenter[median](A,B,C)
+ \tkzGetPoint{G}
\tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
\tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
\tkzDefSpcTriangle[incentral,name=I](A,B,C){a,b,c}
@@ -762,9 +770,9 @@ The Spieker center is the center $Sp$ of the Spieker circle, i.e., the incenter
\begin{tikzpicture}
\tkzDefPoints{0/0/A,6/0/B,5/5/C}
\tkzDefSpcTriangle[medial](A,B,C){Ma,Mb,Mc}
- \tkzDefTriangleCenter[centroid](A,B,C)
+ \tkzDefTriangleCenter[centroid](A,B,C)
\tkzGetPoint{G}
- \tkzDefTriangleCenter[spieker](A,B,C)
+ \tkzDefTriangleCenter[spieker](A,B,C)
\tkzGetPoint{Sp}
\tkzDrawPolygon[](A,B,C)
\tkzDrawPolygon[new](Ma,Mb,Mc)
@@ -780,13 +788,13 @@ The Spieker center is the center $Sp$ of the Spieker circle, i.e., the incenter
\subsubsection{Option \tkzname{gergonne}}
-The Gergonne Point is the point of concurrency which results from connecting the vertices of a triangle to the opposite points of tangency of the triangle's incircle.
+The Gergonne Point is the point of concurrency which results from connecting the vertices of a triangle to the opposite points of tangency of the triangle's incircle.
(Joseph Gergonne French mathematician )
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/B,3.6/0/C,2.8/4/A}
-\tkzDefTriangleCenter[gergonne](A,B,C)
+\tkzDefTriangleCenter[gergonne](A,B,C)
\tkzGetPoint{Ge}
\tkzDefSpcTriangle[intouch](A,B,C){C_1,C_2,C_3}
\tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{i}
@@ -809,7 +817,7 @@ Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$
\tkzDefPoints{0/0/A,6/0/B,4/6/C}
\tkzDefSpcTriangle[ex](A,B,C){Ja,Jb,Jc}
\tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
- \tkzDefTriangleCenter[nagel](A,B,C)
+ \tkzDefTriangleCenter[nagel](A,B,C)
\tkzGetPoint{Na}
\tkzDrawPolygon[blue](A,B,C)
\tkzDrawLines[add=0 and 1](A,Ta B,Tb C,Tc)
@@ -829,7 +837,7 @@ Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$
\end{tkzexample}
-\subsubsection{Option \tkzname{mittenpunkt}}
+\subsubsection{Option \tkzname{mittenpunkt}}
The mittenpunkt (also called the middlespoint) of a triangle $ABC$ is the symmedian point of the excentral triangle, i.e., the point of concurrence M of the lines from the excenters through the corresponding triangle side midpoints.\\
\href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}
@@ -841,12 +849,12 @@ The mittenpunkt (also called the middlespoint) of a triangle $ABC$ is the symmed
\tkzDefSpcTriangle[centroid](A,B,C){Ma,Mb,Mc}
\tkzDefSpcTriangle[ex](A,B,C){Ja,Jb,Jc}
\tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
- \tkzDefTriangleCenter[mittenpunkt](A,B,C)
+ \tkzDefTriangleCenter[mittenpunkt](A,B,C)
\tkzGetPoint{Mi}
\tkzDrawPoints[new](Ma,Mb,Mc,Ja,Jb,Jc)
\tkzClipBB
\tkzDrawPolygon[blue](A,B,C)
- \tkzDrawLines[add=0 and 1](Ja,Ma
+ \tkzDrawLines[add=0 and 1](Ja,Ma
Jb,Mb Jc,Mc)
\tkzDrawLines[add=1 and 1](A,B A,C B,C)
\tkzDrawCircles[new](Ja,Ta Jb,Tb Jc,Tc)
@@ -867,9 +875,9 @@ The Gergonne point $Ge$, triangle centroid $G$, and mittenpunkt $M$ are collinea
\begin{tikzpicture}
\tkzDefPoints{0/0/A,2/2/B,8/0/C}
\tkzDefTriangleCenter[gergonne](A,B,C) \tkzGetPoint{Ge}
-\tkzDefTriangleCenter[centroid](A,B,C)
+\tkzDefTriangleCenter[centroid](A,B,C)
\tkzGetPoint{G}
-\tkzDefTriangleCenter[mittenpunkt](A,B,C)
+\tkzDefTriangleCenter[mittenpunkt](A,B,C)
\tkzGetPoint{M}
\tkzDrawLines[add=.25 and .25,teal](A,B A,C B,C)
\tkzDrawLines[add=.25 and .25,new](Ge,M)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
index 95df8ef060..b5bbbcc91f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
@@ -191,8 +191,8 @@ From the number of sides, depending on the options, this macro determines a regu
\toprule
arguments & example & explanation \\
\midrule
-\TAline{\parg{pt1,pt2}}{\parg{O,A}}{with option "center", $O$ is the center of the polygon.}
-\TAline{\parg{pt1,pt2}}{\parg{A,B}}{with option "side", $[AB]$ is a side.}
+\TAline{\parg{pt1,pt2}}{\parg{O,A}}{with option \code{center}, $O$ is the center of the polygon.}
+\TAline{\parg{pt1,pt2}}{\parg{A,B}}{with option \code{side}, $[AB]$ is a side.}
\end{tabular}
\medskip
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
index 0073d78803..027cb7ea0d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
@@ -51,27 +51,27 @@ Here are some comparisons between \tkzname{\TIKZ } and \tkzname{\tkznameofpack}
Explanation :
-The fourth tutorial of the \emph{PgfManual} is about geometric constructions. \emph{T. Tantau} proposes to get the drawing with its beautiful tool Ti\emph{k}Z. Here I propose the same construction with \emph{tkz-elements}. The color of the Ti\emph{k}Z code is orange and that of \emph{tkz-elements} is red.
+The fourth tutorial of the \emph{PgfManual} is about geometric constructions. \emph{T. Tantau} proposes to get the drawing with its beautiful tool Ti\emph{k}Z. Here I propose the same construction with \emph{tkz-elements}. The color of the Ti\emph{k}Z code is green!50!black and that of \emph{tkz-elements} is red.
\medskip
-\hspace*{1cm}\vbox{\color{orange} |\usepackage{tikz}|\\
+\vbox{\color{green!50!black} |\usepackage{tikz}|\\
|\usetikzlibrary{calc,intersections,through,backgrounds}|}
\medskip
-\hspace*{1cm}\vbox{\color{red} |\usepackage{tkz-euclide}|}
+\vbox{\color{red} |\usepackage{tkz-euclide}|}
\medskip
How to get the line AB ? To get this line, we use two fixed points.\\
\medskip
-\hspace*{1cm}\vbox{\color{orange}
+\vbox{\color{green!50!black}
|\coordinate [label=left:$A$] (A) at (0,0);|\\
|\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
|\draw (A) -- (B);|}
\medskip
-\hspace*{1cm}\vbox{\color{red}
+\vbox{\color{red}
|\tkzDefPoint(0,0){A}|\\
|\tkzDefPoint(1.25,0.25){B}|\\
|\tkzDrawSegment(A,B)|\\
@@ -81,14 +81,14 @@ How to get the line AB ? To get this line, we use two fixed points.\\
We want to draw a circle around the points $A$ and $B$ whose radius is given by the length of the line AB.
\medskip
-\hspace*{1cm}\vbox{\color{orange}
+\vbox{\color{green!50!black}
|\draw let \p1 = ($ (B) - (A) $),|\\
|\n2 = {veclen(\x1,\y1)} in|\\
| (A) circle (\n2)|\\
| (B) circle (\n2);|}
\medskip
-\hspace*{1cm}\vbox{\color{red}
+\vbox{\color{red}
|\tkzDrawCircles(A,B B,A)|
}
@@ -96,27 +96,27 @@ The intersection of the circles $\mathcal{D}$ and $\mathcal{E}$
\medskip
-\hspace*{1cm}\vbox{\color{orange}
+\vbox{\color{green!50!black}
|draw [name path=A--B] (A) -- (B);|\\
|node (D) [name path=D,draw,circle through=(B),label=left:$D$] at (A) {}; |\\
|node (E) [name path=E,draw,circle through=(A),label=right:$E$] at (B) {};|\\
-|path [name intersections={of=D and E, by={[label=above:$C$]C, [label=below:$C'$]C'}}]; |\\
+|path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}]; |\\
|draw [name path=C--C',red] (C) -- (C');|\\
|path [name intersections={of=A--B and C--C',by=F}];|\\
|node [fill=red,inner sep=1pt,label=-45:$F$] at (F) {};|\\}
\medskip
-\hspace*{1cm}\vbox{\color{red} |\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}|\\}
+\vbox{\color{red} |\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}|\\}
How to draw points :
\medskip
-\hspace*{1cm}\vbox{\color{orange} |\foreach \point in {A,B,C}|\\
+\vbox{\color{green!50!black} |\foreach \point in {A,B,C}|\\
|\fill [black,opacity=.5] (\point) circle (2pt);|\\}
\medskip
-\hspace*{1cm}\vbox{\color{red}| \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)|\\}
+\vbox{\color{red}| \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)|\\}
\subsubsection{Complete code with \pkg{tkz-euclide}}
@@ -124,12 +124,12 @@ We need to define colors
|\colorlet{input}{red!80!black} |\\
|\colorlet{output}{red!70!black}|\\
-|\colorlet{triangle}{orange!40} |
+|\colorlet{triangle}{green!50!black!40} |
\begin{tkzexample}[vbox,small]
\colorlet{input}{red!80!black}
\colorlet{output}{red!70!black}
- \colorlet{triangle}{orange!40}
+ \colorlet{triangle}{green!50!black!40}
\begin{tikzpicture}[scale=1.25,thick,help lines/.style={thin,draw=black!50}]
\tkzDefPoint(0,0){A}
\tkzDefPoint(1.25+rand(),0.25+rand()){B}
@@ -164,7 +164,7 @@ Explanation
In the first part, we need to find the midpoint of the straight line $AB$. With \TIKZ\ we can use the calc library
\medskip
-\hspace*{1cm}\vbox{\color{orange} |\coordinate [label=left:$A$] (A) at (0,0);|\\
+\vbox{\color{green!50!black} |\coordinate [label=left:$A$] (A) at (0,0);|\\
|\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
|\draw (A) -- (B);|\\
|\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {};|\\}
@@ -173,40 +173,40 @@ With \pkg{tkz-euclide} we have a macro \tkzcname{tkzDefMidPoint}, we get the poi
\medskip
-\hspace*{1cm}\vbox{\red |\tkzDefPoints{0/0/A,0.75/0.25/B,1/1.5/C}|\\
-|\tkzDefMidPoint(A,B) \tkzGetPoint{X}|}\\
+\vbox{\red |\tkzDefPoints{0/0/A,0.75/0.25/B,1/1.5/C}|\\
+|\tkzDefMidPoint(A,B) \tkzGetPoint{X}|}
\medskip
Then we need to construct a triangle equilateral. It's easy with \pkg{tkz-euclide} . With TikZ you need some effort because you need to use the midpoint $X$ to get the point $D$ with trigonometry calculation.
\medskip
-\hspace*{1cm}\vbox{\color{orange}
+\vbox{\color{green!50!black}
|\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {}; | \\
|\node [fill=red,inner sep=1pt,label=above:$D$] (D) at | \\
|($ (X) ! {sin(60)*2} ! 90:(B) $) {}; | \\
|\draw (A) -- (D) -- (B); | \\
-} \\
+}
\medskip
-\hspace*{1cm}\vbox{\color{red} |\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}|}\\
+\vbox{\color{red} |\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}|}
We can draw the triangle at the end of the picture with
\medskip
-\hspace*{1cm}\vbox{\color{red} |\tkzDrawPolygon{A,B,C}|}
+\vbox{\color{red} |\tkzDrawPolygon{A,B,C}|}
\medskip
We know how to draw the circle $\mathcal{H}$ around $B$ through $C$ and how to place the points $E$ and $F$
\medskip
-\hspace*{1cm}\vbox{\color{orange}
+\vbox{\color{green!50!black}
|\node (H) [label=135:$H$,draw,circle through=(C)] at (B) {};| \\
|\draw (D) -- ($ (D) ! 3.5 ! (B) $) coordinate [label=below:$F$] (F);| \\
-|\draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);|} \\
+|\draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);|}
\medskip
-\hspace*{1cm}\vbox{\color{red} |\tkzDrawCircle(B,C)|\\
+\vbox{\color{red} |\tkzDrawCircle(B,C)|\\
|\tkzDrawLines[add=0 and 2](D,A D,B)|}
\medskip
@@ -216,32 +216,32 @@ Intersecting a Line and a Circle : here we search the intersection of the circle
The infinite straight line $DB$ intercepts the circle but with \TIKZ\ we need to extend the lines $DB$ and that can be done using partway calculations. We get the point $F$ and $BF$ or $DF$ intercepts the circle
\medskip
-\hspace*{1cm}\vbox{\color{orange}| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; | \\
+\vbox{\color{green!50!black}| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; | \\
|\path let \p1 = ($ (B) - (C) $) in| \\
| coordinate [label=left:$G$] (G) at ($ (B) ! veclen(\x1,\y1) ! (F) $); | \\
-|\fill[red,opacity=.5] (G) circle (2pt);|} \\
+|\fill[red,opacity=.5] (G) circle (2pt);|}
\medskip
Like the intersection of two circles, it's easy to find the intersection of a line and a circle with \pkg{tkz-euclide}. We don't need $F$
\medskip
-\hspace*{1cm}\vbox{\color{red} | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
+\vbox{\color{red} | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
\medskip
There are no more difficulties. Here the final code with some simplications.
We draw the circle $\mathcal{K}$ with center $D$ and passing through $G$. It intersects the line $AD$ at point $L$. $AL = BC$.
-\hspace*{1cm}\vbox{\color{red} | \tkzDrawCircle(D,G)|}
-\hspace*{1cm}\vbox{\color{red} | \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}|}
+\vbox{\color{red} | \tkzDrawCircle(D,G)|}
+\vbox{\color{red} | \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}|}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.5]
\tkzDefPoint(0,0){A}
\tkzDefPoint(0.75,0.25){B}
\tkzDefPoint(1,1.5){C}
-\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}
-\tkzInterLC[near](D,B)(B,C) \tkzGetSecondPoint{G}
-\tkzInterLC[near](A,D)(D,G) \tkzGetFirstPoint{L}
+\tkzDefTriangle[equilateral](A,B)\tkzGetPoint{D}
+\tkzInterLC[near](D,B)(B,C) \tkzGetSecondPoint{G}
+\tkzInterLC[near](A,D)(D,G) \tkzGetFirstPoint{L}
\tkzDrawCircles(B,C D,G)
\tkzDrawLines[add=0 and 2](D,A D,B)
\tkzDrawSegment(A,B)
@@ -399,7 +399,7 @@ Let's analyze the figure
\[\widehat{BCA}=90^\circ -\alpha/2 \]
\item Finally \[\widehat{CBD}=\alpha=36^\circ \]
- the triangle $CBD$ is a "golden" triangle.
+ the triangle $CBD$ is a \code{golden} triangle.
\end{enumerate}
\vspace*{24pt}
@@ -448,7 +448,7 @@ After building the golden triangle $BCD$, we build the point $A$ by noticing tha
\subsubsection{Part II: two others methods with golden and euclid triangle}
-\tkzname{\tkznameofpack} knows how to define a "golden" or "euclide" triangle. We can define $BCD$ and $BCA$ like gold triangles.
+\tkzname{\tkznameofpack} knows how to define a \code{golden} or \code{euclide} triangle. We can define $BCD$ and $BCA$ like gold triangles.
\begin{center}
@@ -529,7 +529,7 @@ $IB=a$, $AI=1$
\tkzDefMidPoint(A,B) \tkzGetPoint{M}
\tkzDefPointWith[orthogonal](I,M) \tkzGetPoint{H}
\tkzInterLC(I,H)(M,B) \tkzGetFirstPoint{C}
- \tkzDrawSegment[style=orange](I,C)
+ \tkzDrawSegment[style=purple](I,C)
\tkzDrawArc(M,B)(A)
\tkzDrawSegment[dim={$1$,-16pt,}](A,I)
\tkzDrawSegment[dim={$(a-1)/2$,-10pt,}](I,M)
@@ -587,7 +587,7 @@ The following code consists of several parts:
\item The third one includes the different drawings;
\begin{tkzltxexample}[]
- \tkzDrawSegment[style=orange](I,H)
+ \tkzDrawSegment[style=purple](I,H)
\tkzDrawPoints(O,I,A,B,M)
\tkzDrawArc(M,A)(O)
\tkzDrawSegment[dim={$1$,-16pt,}](A,I)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
index e1f84630c8..13f6e06ebf 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
@@ -39,12 +39,14 @@ You have to add, of course, all the styles of \TIKZ\ for tracings\dots
\end{tkzexample}
\subsubsection{Example of \tkzcname{tkzShowLine} and \tkzname{perpendicular}}
-\begin{tkzexample}[latex=5cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 3/2/B, 2/2/C}
-\tkzDefLine[perpendicular=through C,K=-.5](A,B) \tkzGetPoint{c}
+\tkzDefLine[perpendicular=through C,K=-.5](A,B)
+\tkzGetPoint{c}
\tkzShowLine[perpendicular=through C,K=-.5,gap=3](A,B)
-\tkzDefPointBy[projection=onto A--B](c)\tkzGetPoint{h}
+\tkzDefPointBy[projection=onto A--B](c)
+\tkzGetPoint{h}
\tkzMarkRightAngle[fill=lightgray](A,h,C)
\tkzDrawLines[add=.5 and .5](A,B C,c)
\tkzDrawPoints(A,B,C,h,c)
@@ -109,7 +111,7 @@ options & default & definition \\
\subsubsection{Example of the use of \tkzcname{tkzShowTransformation}}
\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.6]
+\begin{tikzpicture}[scale=.5]
\tkzDefPoint(0,0){O} \tkzDefPoint(2,-2){A}
\tkzDefPoint(70:4){B} \tkzDrawPoints(A,O,B)
\tkzLabelPoints(A,O,B)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
index b81098e5ab..5d1930584e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
@@ -381,21 +381,21 @@ This library is used to produce different styles of arrow heads. The next examp
\tkzname{Stealth}, \tkzname{Triangle}, \tkzname{To}, \tkzname{Latex} and \dots which can be combined with \tkzname{reversed}. That's easy to place an arrow at one or two endpoints.
\begin{enumerate}
-\item \tkzname{Triangle} and \tkzname{Ray}
+\item \tkzname{-Triangle} and \tkzname{Segment}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
\tkzDrawSegment[-Triangle](A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{Stealth} and \tkzname{Segment}
+\item \tkzname{Stealth-Stealth} and \tkzname{Segment}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
\tkzDrawSegment[Stealth-Stealth](A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{Latex} and \tkzname{Line}
+\item \tkzname{Latex-Latex} and \tkzname{Line}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
@@ -403,28 +403,28 @@ This library is used to produce different styles of arrow heads. The next examp
\tkzDrawPoints(A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{To} and \tkzname{Segment}
+\item \tkzname{To-To} and \tkzname{Segment}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
\tkzDrawSegment[To-To](A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{Latex} and \tkzname{Segment}
+\item \tkzname{Latex-Late} and \tkzname{Segment}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
\tkzDrawSegment[Latex-Latex](A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{Latex} and \tkzname{Ray}
+\item \tkzname{Latex-} and \tkzname{Segment}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
\tkzDrawSegment[Latex-](A,B)
\end{tikzpicture}
\end{tkzexample}
-\item \tkzname{Latex} and \tkzname{Several rays}
+\item \tkzname{-Latex} and \tkzname{Segments}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,5/-2/C}
@@ -455,7 +455,7 @@ You can redefine this style.
\subsection{Arrows on middle point of a line segment}
-Arrows on lines are used to indicate that those lines are parallel. It depends on the country, in France we prefer to indicate outside the figure that $(A,B) \parallel (D,C)$. The code is an adaptation of an answer by \tkzname{muzimuzhi Z} on the site \href{https://tex.stackexchange.com/questions/632596/how-to-manage-argument-pattern-keys-and-subways}{tex.stackexchange.com}.
+Arrows on lines are used to indicate that those lines are parallel. It depends on the country, in France we prefer to indicate outside the figure that $(A,B) \parallel (D,C)$. The code is an adaptation of an answer by \tkzname{Muzimuzhi Z} on the site \href{https://tex.stackexchange.com/questions/632596/how-to-manage-argument-pattern-keys-and-subways}{tex.stackexchange.com}.
\medskip
Syntax: \\
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
index 1123d86a2f..d51cfbb021 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
@@ -329,8 +329,8 @@ arguments & example & explanation \\
\node at (1,-3) {%
$\overrightarrow{PA}\cdot \overrightarrow{PB} =
\overrightarrow{PC}\cdot \overrightarrow{PD}$};
- \node at (1,-4)%
- {$\overrightarrow{PA}\cdot \overrightarrow{PB} =\pab$};
+ \node at (1,-4)%
+ {$\overrightarrow{PA}\cdot \overrightarrow{PB}=\pab$};
\node at (1,-5){%
$\overrightarrow{PC}\cdot \overrightarrow{PD} =\pcd$};
\end{tikzpicture}
@@ -361,9 +361,12 @@ In this example, the radical axis $(EF)$ has been drawn. A point $H$ has been ch
\tkzDrawCircles(A,B C,D)
\tkzDefRadicalAxis(A,B)(C,D) \tkzGetPoints{E}{F}
\tkzDrawLine[add=1 and 2](E,F)
- \tkzDefPointOnLine[pos=1.5](E,F) \tkzGetPoint{H}
- \tkzDefLine[tangent from = H](A,B)\tkzGetPoints{T}{T'}
- \tkzDefLine[tangent from = H](C,D)\tkzGetPoints{S}{S'}
+ \tkzDefPointOnLine[pos=1.5](E,F)
+ \tkzGetPoint{H}
+ \tkzDefLine[tangent from = H](A,B)
+ \tkzGetPoints{T}{T'}
+ \tkzDefLine[tangent from = H](C,D)
+ \tkzGetPoints{S}{S'}
\tkzDrawSegments(H,T H,T' H,S H,S')
\tkzDrawPoints(A,B,C,D,E,F,H,T,T',S,S')
\tkzPowerCircle(H)(A,B) \tkzGetResult{pw}
@@ -415,7 +418,7 @@ arguments & example & explanation \\
\tkzGetPoints{E}{F}
\tkzDrawPoints(A,B,C,D,E,F)
\tkzLabelPoints(A,B,C,D,E,F)
- \tkzDrawLine[add=.5 and 1](E,F)
+ \tkzDrawLine[add=.25 and .5](E,F)
\tkzDrawLine[add=.25 and .25](A,B)
\end{tikzpicture}
\end{tkzexample}
@@ -460,7 +463,7 @@ arguments & example & explanation \\
-\begin{tkzexample}[small,latex=8cm]
+\begin{tkzexample}[small,latex=7cm]
\begin{tikzpicture}[scale=.4]
\tkzDefPoints{0/0/A,5/0/a,7/-1/B,3/-1/b,5/-4/C,2/-4/c}
\tkzDrawCircles(A,a B,b C,c)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
index cbafb94f7a..aeb4428c81 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex
index b471338fc8..f4c6c913e2 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex
@@ -10,240 +10,10 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tool-eu-angles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tool-eu-angles.tex}
\makeatletter
-%<--------------------------------------------------------------------------–>
-% tkzSetUpArc
-%<--------------------------------------------------------------------------–>
-\pgfkeys{/tkzsetuparc/.cd,
- color/.store in = \tkz@arc@color,
- line width/.store in = \tkz@arc@lw,
- style/.store in = \tkz@arc@style,
- line width = \tkz@euc@linewidth,
- color = \tkz@euc@linecolor,
- style = \tkz@euc@linestyle,
- /tkzsetuparc/.search also = {/tikz,/tkzcompass},
- }
-\def\tkzSetUpArc{\pgfutil@ifnextchar[{\tkz@SetUpArc}{\tkz@SetUpArc[]}}
-\def\tkz@SetUpArc[#1]{%
-\pgfqkeys{/tkzsetuparc}{#1}
-\tikzset{arc style/.style={color = \tkz@arc@color,
- line width = \tkz@arc@lw,
- style = \tkz@arc@style
- }}
-}% end setup
-%<------------------------------ Arcs -------------------------------------–
-% options : delta
-% \def\tkz@delta{0}
-% \tikzset{arc style/.style={#1}}
-% \pgfkeys{/tikz/.cd,delta/.code={\def\tkz@delta{#1}}}
-\newif\iftkz@reverse
-\gdef\tkz@numa{0}
-\pgfkeys{/tkzdrawarc/.cd,
- type/.is choice,
- type/towards/.code = \def\tkz@numa{0},
- type/rotate/.code = \def\tkz@numa{1},
- type/angles/.code = \def\tkz@numa{2},
- type/R/.code = \def\tkz@numa{3},
- type/R with nodes/.code = \def\tkz@numa{4},
- towards/.style = {type=towards},
- rotate/.style = {type=rotate},
- R/.style = {type=R},
- angles/.style = {type=angles},
- R with nodes/.style = {type=R with nodes},
- diameter/.code = {},
- arc/.code = {},
- size/.code = {},
- mark/.code = {},
- mkpos/.code = {},
- mksize/.code = {},
- mkcolor/.code = {},
- type/.default = towards,
- delta/.store in = \tkz@delta,
- delta = 0,
- reverse/.is if = tkz@reverse,
- reverse/.default = true,
- reverse = false,
- /tkzdrawarc/.search also = {/tikz}
-}
-\def\tkzDrawArc{\pgfutil@ifnextchar[{\tkz@DrawArc}{\tkz@DrawArc[]}}
-\def\tkz@DrawArc[#1](#2,#3)(#4){%
-\begingroup
-\pgfqkeys{/tkzdrawarc}{#1}
-\ifcase\tkz@numa%
- \tkzDrawArcTowards[#1](#2,#3)(#4)
-\or% 1
- \tkzDrawArcRotate[#1](#2,#3)(#4)
-\or% 2
- \tkzDrawArcAngles[#1](#2,#3)(#4)
-\or% 3
- \tkzDrawArcRAngles[#1](#2,#3)(#4)
-\or% 4
- \tkzDrawArcR[#1](#2,#3)(#4)
-\fi
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% ARC nodes #2 center #3 first point last point #4
-% delta un peu plus à chaque extrémité
-% example : \tkzDrawArc(A,B)(C)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcTowards{\pgfutil@ifnextchar[{\tkz@DrawArcN}{\tkz@DrawArcN[]}}
-\def\tkz@DrawArcN[#1](#2,#3)(#4){%
-\begingroup
- \tkz@@CalcLengthcm(#2,#3){tkz@radius}
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% nodes #2 center #3 first point rotate #4 with Angle
-% delta un peu plus à chaque extrémité
-% tkzDrawArcRotate(O,A)(60)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRotate{\pgfutil@ifnextchar[{\tkz@DrawArcRotate}{%
- \tkz@DrawArcRotate[]}}
-\def\tkz@DrawArcRotate[#1](#2,#3)(#4){%
-\begingroup
- \tkz@@CalcLength(#2,#3){tkz@radius}
- \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
- \pgfmathadd{\tkz@FirstA}{#4}
- \edef\tkz@SecondA{\pgfmathresult}
- \pgfmathgreaterthan{#4}{0}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
- \else
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
- \fi
- \endgroup
-}
-%<--------------------------------------------------------------------------–>
-% deux angles
-% \tkzDrawArcAngles(O,A)(0,60)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcAngles{\pgfutil@ifnextchar[{\tkz@DrawArcAngles}{%
- \tkz@DrawArcAngles[]}}
-\def\tkz@DrawArcAngles[#1](#2,#3)(#4,#5){%
-\begingroup
- \tkz@@CalcLength(#2,#3){tkzLengthResult}
- \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult pt)(#4,#5)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
- \tkz@DrawArcRwithNodes[]}}
-\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
-\begingroup
- \tkz@@CalcLength(#3,#4){tkzLengthResult}
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
-% \tkzDrawArcR(O,2)(A,B)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
-\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
-\begingroup
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% #1 center #2 radius #4 first angle (degree) #5 second angle (degree)
-% angles 0 .. 180 or -180 .. 0
-%<--------------------------------------------------------------------------–>
-% example : \tkzDrawArc(A,2)(30,90)
-\def\tkzDrawArcRAngles{\pgfutil@ifnextchar[{\tkz@DrawArcRAngles}{%
- \tkz@DrawArcRAngles[]}}
-\def\tkz@DrawArcRAngles[#1](#2,#3)(#4,#5){%
- \begingroup
- \tkzNormalizeAngle(#4,#5)
- \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
- \edef\tkz@SecondAngle{\pgfmathresult}
- \iftkz@reverse
- \let\tkztemp\tkz@FirstAngle
- \let\tkz@FirstAngle\tkz@SecondAngle
- \let\tkz@SecondAngle\tkztemp
- \fi
- \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
- (\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3);
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\pgfkeys{
- /@tkzmarkarc/.cd,
- pos/.store in = \tkz@mkarcpos,
- color/.store in = \tkz@mkcolor,
- mark/.store in = \tkz@markarcseg,
- size/.store in = \tkz@mkarcsize,
- color = teal!20,
- size = 4pt,
- pos = .5,
- mark = none,
- /@tkzmarkarc/.search also={/tikz},
-}
-\def\tkzMarkArc{\pgfutil@ifnextchar[{\tkz@MarkArc}{\tkz@MarkArc[]}}
-\def\tkz@MarkArc[#1](#2,#3,#4){%
-\begingroup
- \pgfqkeys{/@tkzmarkarc}{#1} \def\tkz@mymarkarc{\pgfsetplotmarksize{\tkz@mkarcsize}\pgfuseplotmark{\tkz@markarcseg}}
-\tkz@@CalcLength(#2,#3){tkz@radius}
-\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
-\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
-\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
- \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
- \edef\tkz@SecondAngle{\pgfmathresult}
-\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with {\tkz@mymarkarc}}]
-\path[shift = {(#2)},\tkz@mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
-(\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
-\end{scope}
-\endgroup
-}
-
-\def\tkzLabelArc{\pgfutil@ifnextchar[{\tkz@LabelArc}{\tkz@LabelArc[]}}
-\def\tkz@LabelArc[#1](#2,#3,#4)#5{%
-\begingroup
-\pgfqkeys{/@tkzmarkarc}{#1}
-\tkz@@CalcLength(#2,#3){tkz@radius}
-\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
-\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
-\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
-\pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
-\edef\tkz@FirstAngle{\pgfmathresult}%
-\pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
-\edef\tkz@SecondAngle{\pgfmathresult}
-\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with \node{#5};}]
- \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
- (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt); \end{scope}
-\endgroup
-}
-%<--------------------------------------------------------------------------->
-% tkzDrawArcRAN >
-%<--------------------------------------------------------------------------->
-\def\tkzDrawArcRAN[#1](#2,#3)(#4,#5){%
-\begingroup
- \draw[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
-\endgroup
-}
-%<--------------- tkzPathArcRAN ----------------------------------
-\def\tkzPathArcRAN[#1](#2,#3)(#4,#5){%
-\begingroup
- \path[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
-\endgroup
-}
%<--------------------------------------------------------------------------->
% Mark an angle modi 3.03 suppression de \tkz@mksize,
%<--------------------------------------------------------------------------->
@@ -276,12 +46,12 @@
%\tikzset{lbstyle/.style = {color=\tkz@mainlinecolor}}
\pgfkeys{/tkzmkangle/.cd,
- arc/.estore in = \tkz@arc,
- size/.store in = \tkz@size,
- mark/.store in = \tkz@markang,
- mkpos/.estore in = \tkz@mkpos,
- mksize/.store in = \tkz@mksize,
- mkcolor/.store in = \tkz@mkcolor,
+ arc/.code = \def\tkz@arc{#1},
+ size/.code = \def\tkz@size{#1},
+ mark/.code = \def\tkz@markang{#1},
+ mkpos/.code = \def\tkz@mkpos{#1},
+ mksize/.code = \def\tkz@mksize{#1},
+ mkcolor/.code = \def\tkz@mkcolor{#1},
arc = l,
size = 1,
mark = none,
@@ -289,7 +59,11 @@
mkcolor = black,
mkpos = 0.5,
/tkzmkangle/.search also={/tikz}
-}
+}
+% utils
+
+%-----------------------------------------------------------------------
+
\def\tkzMarkAngle{\pgfutil@ifnextchar[{\tkz@MarkAngle}{\tkz@MarkAngle[]}}
\def\tkz@MarkAngle[#1](#2,#3,#4){%
\begingroup
@@ -301,8 +75,7 @@
\def\tkz@mymark{\pgfsetplotmarksize{\tkz@mksize}\pgfuseplotmark{\tkz@markang}}
% draw the arcs
\begin{scope}[veclen]
- \begin{scope}[decoration= {markings,
- mark=at position \tkz@mkpos with {\tkz@mymark}}]
+ \begin{scope}[decoration = {markings, mark=at position \tkz@mkpos with {\tkz@mymark}}]
\ifx\tkz@arc\tkz@arcsimple
\tkzDrawArcRAN[#1,fill=none]%
(#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)%
@@ -522,17 +295,6 @@
\endgroup
}
%<--------------------------------------------------------------------------->
-% tkzdefMidArc center and two points
-\def\tkzDefMidArc(#1,#2,#3){%
-\begingroup
-\tkz@@CalcLength(#1,#2){tkz@radius}
-\tkzFindSlopeAngle(#1,#2)\tkzGetAngle{tkz@FirstAngle}
-\tkzFindSlopeAngle(#1,#3)\tkzGetAngle{tkz@SecondAngle}
-\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
- \path[shift = {(#1)}](\tkz@FirstAngle:\tkz@radius pt) arc
- (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt) coordinate[midway] (tkzPointResult);
-\endgroup
-}
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-arcs.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-arcs.tex
new file mode 100644
index 0000000000..e93a8a2c49
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-arcs.tex
@@ -0,0 +1,262 @@
+% tkz-tool-eu-arcs.tex
+% Copyright 2024 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tool-eu-arcs.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% tkzSetUpArc
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzsetuparc/.cd,
+ color/.store in = \tkz@arc@color,
+ line width/.store in = \tkz@arc@lw,
+ style/.store in = \tkz@arc@style,
+ line width = \tkz@euc@linewidth,
+ color = \tkz@euc@linecolor,
+ style = \tkz@euc@linestyle,
+ /tkzsetuparc/.search also = {/tikz,/tkzcompass},
+ }
+\def\tkzSetUpArc{\pgfutil@ifnextchar[{\tkz@SetUpArc}{\tkz@SetUpArc[]}}
+\def\tkz@SetUpArc[#1]{%
+\pgfqkeys{/tkzsetuparc}{#1}
+\tikzset{arc style/.style={color = \tkz@arc@color,
+ line width = \tkz@arc@lw,
+ style = \tkz@arc@style
+ }}
+}% end setup
+%<------------------------------ Arcs -------------------------------------–
+% options : delta
+% \def\tkz@delta{0}
+% \tikzset{arc style/.style={#1}}
+% \pgfkeys{/tikz/.cd,delta/.code={\def\tkz@delta{#1}}}
+\newif\iftkz@reverse
+\gdef\tkz@numa{0}
+\pgfkeys{/tkzdrawarc/.cd,
+ type/.is choice,
+ type/towards/.code = \def\tkz@numa{0},
+ type/rotate/.code = \def\tkz@numa{1},
+ type/angles/.code = \def\tkz@numa{2},
+ type/R/.code = \def\tkz@numa{3},
+ type/R with nodes/.code = \def\tkz@numa{4},
+ towards/.style = {type=towards},
+ rotate/.style = {type=rotate},
+ R/.style = {type=R},
+ angles/.style = {type=angles},
+ R with nodes/.style = {type=R with nodes},
+ diameter/.code = {},
+ arc/.code = {},
+ size/.code = {},
+ mark/.code = {},
+ mkpos/.code = {},
+ mksize/.code = {},
+ mkcolor/.code = {},
+ type/.default = towards,
+ delta/.store in = \tkz@delta,
+ delta = 0,
+ reverse/.is if = tkz@reverse,
+ reverse/.default = true,
+ reverse = false,
+ /tkzdrawarc/.search also = {/tikz}
+}
+\def\tkzDrawArc{\pgfutil@ifnextchar[{\tkz@DrawArc}{\tkz@DrawArc[]}}
+\def\tkz@DrawArc[#1](#2,#3)(#4){%
+\begingroup
+\pgfqkeys{/tkzdrawarc}{#1}
+\ifcase\tkz@numa%
+ \tkzDrawArcTowards[#1](#2,#3)(#4)
+\or% 1
+ \tkzDrawArcRotate[#1](#2,#3)(#4)
+\or% 2
+ \tkzDrawArcAngles[#1](#2,#3)(#4)
+\or% 3
+ \tkzDrawArcRAngles[#1](#2,#3)(#4)
+\or% 4
+ \tkzDrawArcR[#1](#2,#3)(#4)
+\fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% ARC nodes #2 center #3 first point last point #4
+% delta un peu plus à chaque extrémité
+% example : \tkzDrawArc(A,B)(C)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcTowards{\pgfutil@ifnextchar[{\tkz@DrawArcN}{\tkz@DrawArcN[]}}
+\def\tkz@DrawArcN[#1](#2,#3)(#4){%
+\begingroup
+ \tkz@@CalcLengthcm(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% nodes #2 center #3 first point rotate #4 with Angle
+% delta un peu plus à chaque extrémité
+% tkzDrawArcRotate(O,A)(60)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcRotate{\pgfutil@ifnextchar[{\tkz@DrawArcRotate}{%
+ \tkz@DrawArcRotate[]}}
+\def\tkz@DrawArcRotate[#1](#2,#3)(#4){%
+\begingroup
+ \tkz@@CalcLength(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
+ \pgfmathadd{\tkz@FirstA}{#4}
+ \edef\tkz@SecondA{\pgfmathresult}
+ \pgfmathgreaterthan{#4}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
+ \else
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
+ \fi
+ \endgroup
+}
+%<--------------------------------------------------------------------------–>
+% deux angles
+% \tkzDrawArcAngles(O,A)(0,60)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcAngles{\pgfutil@ifnextchar[{\tkz@DrawArcAngles}{%
+ \tkz@DrawArcAngles[]}}
+\def\tkz@DrawArcAngles[#1](#2,#3)(#4,#5){%
+\begingroup
+ \tkz@@CalcLength(#2,#3){tkzLengthResult}
+ \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult pt)(#4,#5)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
+ \tkz@DrawArcRwithNodes[]}}
+\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
+\begingroup
+ \tkz@@CalcLength(#3,#4){tkzLengthResult}
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
+% \tkzDrawArcR(O,2)(A,B)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
+\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
+\begingroup
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% #1 center #2 radius #4 first angle (degree) #5 second angle (degree)
+% angles 0 .. 180 or -180 .. 0
+%<--------------------------------------------------------------------------–>
+% example : \tkzDrawArc(A,2)(30,90)
+\def\tkzDrawArcRAngles{\pgfutil@ifnextchar[{\tkz@DrawArcRAngles}{%
+ \tkz@DrawArcRAngles[]}}
+\def\tkz@DrawArcRAngles[#1](#2,#3)(#4,#5){%
+ \begingroup
+ \tkzNormalizeAngle(#4,#5)
+ \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \edef\tkz@SecondAngle{\pgfmathresult}
+ \iftkz@reverse
+ \let\tkztemp\tkz@FirstAngle
+ \let\tkz@FirstAngle\tkz@SecondAngle
+ \let\tkz@SecondAngle\tkztemp
+ \fi
+ \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
+ (\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3);
+\endgroup
+}
+
+%<--------------------------------------------------------------------------->
+% tkzDrawArcRAN >
+%<--------------------------------------------------------------------------->
+\def\tkzDrawArcRAN[#1](#2,#3)(#4,#5){%
+\begingroup
+ \draw[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
+\endgroup
+}
+%<--------------- tkzPathArcRAN ----------------------------------
+\def\tkzPathArcRAN[#1](#2,#3)(#4,#5){%
+\begingroup
+ \path[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+%% tkzdefMidArc center and two points
+\def\tkzDefMidArc(#1,#2,#3){%
+\begingroup
+\tkz@@CalcLength(#1,#2){tkz@radius}
+\tkzFindSlopeAngle(#1,#2)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#1,#3)\tkzGetAngle{tkz@SecondAngle}
+\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
+ \path[shift = {(#1)}](\tkz@FirstAngle:\tkz@radius pt) arc
+ (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt) coordinate[midway] (tkzPointResult);
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\pgfkeys{
+ /@tkzmarkarc/.cd,
+ pos/.store in = \tkz@mkarcpos,
+ color/.store in = \tkz@mkcolor,
+ mark/.store in = \tkz@markarcseg,
+ size/.store in = \tkz@mkarcsize,
+ color = teal!20,
+ size = 4pt,
+ pos = .5,
+ mark = none,
+ /@tkzmarkarc/.search also={/tikz},
+}
+\def\tkzMarkArc{\pgfutil@ifnextchar[{\tkz@MarkArc}{\tkz@MarkArc[]}}
+\def\tkz@MarkArc[#1](#2,#3,#4){%
+\begingroup
+ \pgfqkeys{/@tkzmarkarc}{#1} \def\tkz@mymarkarc{\pgfsetplotmarksize{\tkz@mkarcsize}\pgfuseplotmark{\tkz@markarcseg}}
+\tkz@@CalcLength(#2,#3){tkz@radius}
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
+ \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \edef\tkz@SecondAngle{\pgfmathresult}
+\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with {\tkz@mymarkarc}}]
+\path[shift = {(#2)},\tkz@mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+(\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
+\end{scope}
+\endgroup
+}
+
+\def\tkzLabelArc{\pgfutil@ifnextchar[{\tkz@LabelArc}{\tkz@LabelArc[]}}
+\def\tkz@LabelArc[#1](#2,#3,#4)#5{%
+\begingroup
+\pgfqkeys{/@tkzmarkarc}{#1}
+\tkz@@CalcLength(#2,#3){tkz@radius}
+\tkz@@CalcLength(#2,#3){tkz@radius}
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+\pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+\edef\tkz@FirstAngle{\pgfmathresult}%
+\pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+\edef\tkz@SecondAngle{\pgfmathresult}
+\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with \node{#5};}]
+ \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+ (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt); \end{scope}
+\endgroup
+}
+\makeatother
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex
index 50d553453f..c88219c490 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-draw-circles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-draw-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzSetUpCircle
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex
index aeb9341da2..dab6568e0a 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-compass.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-compass.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Author Alain Matthes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-ellipses.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-ellipses.tex
index cdce79b692..0707a99e1f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-ellipses.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-ellipses.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-draw-ellipses.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-draw-ellipses.tex}
\makeatletter
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-lines.tex
index 8859ca18e9..3b7fe5a547 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-draw-lines.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-draw-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
@@ -51,13 +51,10 @@
% Drawing a line
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
-% \pgfkeys{/tkzdrawl/.cd,
-% /tkzdrawl/.search also={/tikz}
-% }
+
\def\tkzDrawLine{\pgfutil@ifnextchar[{\tkz@DrawLine}{\tkz@DrawLine[]}}
\def\tkz@DrawLine[#1](#2,#3){%
\begingroup
- % \pgfqkeys{/tkzdrawl}{#1}
\draw[line style,#1] (#2) to (#3);
\endgroup
}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex
index 6ba7524f73..18b1c06c4b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-draw-eu-points.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-draw-eu-points.tex}
\makeatletter
%<--------------------------------------------------------------------------->
% tkzSetUpPoint définit la forme d'un point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex
index 4dbe368630..09f43b9e62 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-polygons.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-protractor.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-protractor.tex
index 8d7b6895ec..cfa6a8e144 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-protractor.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-protractor.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-protractor.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-protractor.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% !!! idea from Y. Combe !!!
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-sectors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-sectors.tex
index b925701206..8131adc32b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-sectors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-sectors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-sectors.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-sectors.tex}
\makeatletter
%<----------------------- Sectors ------------------------------–>
\gdef\tkz@nums{0}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-show.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-show.tex
index 12656ca974..0959a1f985 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-show.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-show.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-show.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% finding specific points in a triangle
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-marks.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-marks.tex
index 1d272eca37..51cb39590e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-marks.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-lib-eu-marks.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-lib-eu-marks.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex
index 141355abf9..5453dffef5 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-lib-eu-shape.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-lib-eu-shape.tex}
%<--------------------------------------------------------------------------–>
% Création des symboles
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles-by.tex
index 497b02eda4..5c403e4454 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles-by.tex
@@ -11,8 +11,8 @@
% The Current Maintainer of this work is Alain Matthes.
\def\fileversion{6.00}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 6.00 tkz-obj-eu-circles.tex}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 6.00 tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex
index 7a4b553e29..b356df9a86 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-lua-circles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-lua-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-by.tex
index 57c03deab3..f25621248e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-lua-points-by.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-lua-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex
index 36d3eeef02..f56b5a6dc1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
+\def\fileversion{5.10c}
\def\filedate{2024/01/23}
-\typeout{2024/01/23 5.06c tkz-obj-lua-points-spc.tex}
+\typeout{2024/01/23 5.10c tkz-obj-lua-points-spc.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex
index 87090a2922..f8e31c9afa 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-lua-points-with.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-lua-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex
index 1b646b4b8e..24a25502fb 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-lua-points.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-lua-points.tex}
\makeatletter
%<--------------------------------------------------------------------------->
% init def point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-axesmin.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-axesmin.tex
index ef3f5bc487..408b3d6770 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-axesmin.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-axesmin.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-axesmin}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-axesmin}
\makeatletter
\def\removedot#1.{#1}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles-by.tex
index 59b5da4c15..6e1f648880 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-circles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex
index cdfadca09b..bba6b717e6 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-circles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex
index 2eca974389..aac48de7d8 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-grids.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-grids.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Setup Grid
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-lines.tex
index fdbb6adeb8..12ce8d8753 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-lines.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-by.tex
index 23662ff719..73b07df71b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-points-by.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-rnd.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-rnd.tex
index 868e5d83ee..539ff1ff92 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-rnd.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-rnd.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-points-rnd.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-points-rnd.tex}
%<--------------------------------------------------------------------------–>
\makeatletter
%<-------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex
index 3b228a271e..d1baa02a9c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-el-points.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-el-points.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex
index 9c83ffbcf4..22eead6497 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-points-with.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex
index b2bb4a4dda..bf03469a50 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-points.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-points.tex}
\makeatletter
%<--------------------------------------------------------------------------->
% init def point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex
index b6c85efce8..609414132d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-polygons.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-polygons.tex}
% bug in regular polygon side 2020/03/09
\makeatletter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex
index 794a7a2576..17069c39e3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-triangles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
index a63d72561a..422a86050a 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
@@ -16,9 +16,9 @@
% and save the file in a directory part of your TEXINPUTS environment
% variable.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-euclide.cfg}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-euclide.cfg}
%<------ colors ---------------------------------------–>
\def\tkz@backgroundcolor{white}
\def\tkz@textcolor{black}
@@ -134,6 +134,24 @@ arc style/.style={%
\def\tkz@mk@size{3pt}
\def\tkz@mk@fill{\tkz@otherlinecolor}
%<--------------------------------------------------------------------------–>
+%<------------------------- mark angle -----------------------------------–>
+\def\tkz@euc@mkcolor{\tkz@otherlinecolor}
+\def\tkz@euc@mkarctype{l}
+\def\tkz@euc@mksize{4pt}
+\def\tkz@euc@mkarcsize{1}
+\def\tkz@euc@markang{none}
+\def\tkz@euc@mkstyle{solid}
+\def\tkz@euc@mkpos{.5}
+\tikzset{%
+mark style/.style = {%
+ arc = \tkz@euc@mkarctype,
+ color = \tkz@euc@mkcolor,
+ size = \tkz@euc@mkarcsize,
+ style = \tkz@euc@mkstyle,
+ mark = \tkz@euc@markang,
+ pos = \tkz@euc@mkpos}
+}
+%<--------------------------------------------------------------------------–>
%<------------------------------ styles ---------------------------------–>
\def\tkzSetUpStyle[#1]#2{\tikzset{#2/.style={#1}}}% add 2024
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
index 21ecad81ea..b88599a7a1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
@@ -10,14 +10,17 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
%-------------------------------------------------------------------------------
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-euclide.sty}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-euclide.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[ 2024/02/04 5.06c for pure Euclidean Geometry ]
+\ProvidesPackage{tkz-euclide}[ 2024/04/19 5.10c for pure Euclidean Geometry ]
\newif\if@tkzlua
\@tkzluafalse
\DeclareOption{lua}{\@tkzluatrue}
+\newif\if@tkzmini
+\@tkzminifalse
+\DeclareOption{mini}{\@tkzminitrue}
\ProcessOptions\relax
\@ifpackageloaded{tkz-base}{
@@ -162,7 +165,39 @@
\if@tkzlua
\RequirePackage{luacode}
\fi
-
+\if@tkzmini
+\@tkzluatrue
+\RequirePackage{luacode}
+\@ifpackageloaded{tkz-base}{}{%
+% from base
+\input{tkz-tools-eu-base.tex}
+\input{tkz-tools-eu-utilities.tex}
+\input{tkz-tools-eu-BB.tex}
+\input{tkz-obj-eu-grids.tex}
+\input{tkz-lib-eu-marks.tex}
+\input{tkz-tools-eu-text.tex}
+\input{tkz-lib-eu-shape.tex}
+\input{tkz-obj-eu-axesmin.tex}
+\input{tkz-tools-eu-colors.tex}
+\input{tkz-obj-eu-points.tex}
+\input{tkz-draw-eu-points.tex}
+}
+% next from euclide
+\input{tkz-obj-eu-lua-points-by.tex}
+\input{tkz-tools-eu-lua-math.tex}
+\input{tkz-tools-eu-lua-angles.tex}
+% drawings
+\input{tkz-draw-eu-lines.tex}
+\input{tkz-draw-eu-circles.tex}
+\input{tkz-draw-eu-ellipses.tex}
+\input{tkz-draw-eu-polygons.tex}
+\input{tkz-draw-eu-arcs.tex}
+\input{tkz-draw-eu-angles.tex}
+\input{tkz-draw-eu-sectors.tex}
+\input{tkz-draw-eu-compass.tex}
+\input{tkz-draw-eu-show.tex}
+\input{tkz-draw-eu-protractor.tex}
+\else
\@ifpackageloaded{tkz-base}{}{%
% from base
\input{tkz-tools-eu-base.tex}
@@ -211,9 +246,11 @@
\input{tkz-draw-eu-circles.tex}
\input{tkz-draw-eu-ellipses.tex}
\input{tkz-draw-eu-polygons.tex}
+\input{tkz-draw-eu-arcs.tex}
\input{tkz-draw-eu-angles.tex}
\input{tkz-draw-eu-sectors.tex}
\input{tkz-draw-eu-compass.tex}
\input{tkz-draw-eu-show.tex}
\input{tkz-draw-eu-protractor.tex}
+\fi
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex
index 8005ed1933..6f54bb5ca3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-lua-angles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-lua-angles.tex}
\makeatletter
\def\tkzmathrotatepointaround#1#2#3{%
\pgf@process{%
@@ -75,8 +75,20 @@ token.set_macro("tkz@SecondAngle", angleB)
%<--------------------------------------------------------------------------–>
\def\tkzFindSlopeAngle(#1,#2){%
\begingroup
- \tkzmathanglebetweenpoints{#1}{#2}
- \global\let\tkzAngleResult\pgfmathresult
+\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}%
+\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}%
+\edef\tkzax{\strip@pt\pgf@x}%
+\edef\tkzay{\strip@pt\pgf@y}%
+\pgfextractx{\pgf@x}{\pgfpointanchor{#2}{center}}%
+\pgfextracty{\pgf@y}{\pgfpointanchor{#2}{center}}%
+\edef\tkzbx{\strip@pt\pgf@x}%
+\edef\tkzby{\strip@pt\pgf@y}%
+ % \tkzmathanglebetweenpoints{#1}{#2}
+ % \global\let\tkzAngleResult\pgfmathresult
+\directlua{ local an = math.angle(\tkzax,\tkzay,\tkzbx,\tkzby)
+ token.set_macro("tkzAngleResult", an )
+ }
+ \global\let\tkzAngleResult\tkzAngleResult
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -98,5 +110,6 @@ token.set_macro("tkz@SecondAngle", angleB)
\def\tkzGetAngle#1{%
\global\expandafter\edef\csname #1\endcsname{\tkzAngleResult}
}
+
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex
index 0e68171946..7af53a74b0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-lua-base.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-lua-base.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-intersections.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-intersections.tex
index 0e700492dc..97f4563f9b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-intersections.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-intersections.tex
@@ -13,9 +13,9 @@
% The Current Maintainer of this work is Alain Matthes.
% utf8 encoding
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-lua-intersections.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-lua-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex
index 18ee85bf6e..7066ee9481 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-lua-math.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-lua-math.tex}
\makeatletter
%<-------------------------------------------------------------------------->
%<-------------------------------------------------------------------------->
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-BB.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-BB.tex
index edefa3295e..883715320e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-BB.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-BB.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-obj-eu-BB.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-obj-eu-BB.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-angles.tex
index 7fd0f81bd5..b47a54f5b8 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-angles.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
@@ -70,5 +70,10 @@
\def\tkzGetAngle#1{%
\global\expandafter\edef\csname #1\endcsname{\tkzAngleResult}
}
+\def\tkzDet(#1,#2,#3){%
+\tkzFindSlopeAngle(#2,#1)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@SecondAngle}
+\tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
+}
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex
index 28776e3fd4..fd77dc1f4b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-base.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-base.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-colors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-colors.tex
index 87a897bfcb..d3f0e0c951 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-colors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-colors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-colors}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-colors}
\makeatletter
%<------ Initialisation of the colors with tkzSetUpColors ----------------->
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex
index 4122099f44..489af8baf7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-intersections.tex
@@ -13,9 +13,9 @@
% The Current Maintainer of this work is Alain Matthes.
% utf8 encoding
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-intersections.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex
index 73ea0a041a..35821c3282 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-math.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-math.tex}
\makeatletter
%<-------------------------------------------------------------------------->
% \tkzpointnormalised#
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex
index ed90c18514..4955910f97 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-utilities.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-utilities.tex}
\makeatletter
%<------------- % chargement des modules ---------------------------------->
\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex
index 53b81f7d09..47880e5b45 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-text.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-text.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzText
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex
index 7b41fad768..2b7cf5254b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{5.06c}
-\def\filedate{2024/02/04}
-\typeout{2024/02/04 5.06c tkz-tools-eu-utilities.tex}
+\def\fileversion{5.10c}
+\def\filedate{2024/04/19}
+\typeout{2024/04/19 5.10c tkz-tools-eu-utilities.tex}
\makeatletter
\pgfkeys{/tkzClip/.cd,
space/.store in = {\tkz@CLI@space},
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index 96aefe2a35..f7aa6519a1 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2024
- tuda-ci v3.36 (2024-01-05)
+ tuda-ci v3.38 (2024-05-07)
***************************************************************************
@@ -344,14 +344,19 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- Fix bug in calculation of points using subtasks in tudaexercise
* 3.32 (2023-06-19)
- remove affidavit=print
- * 3.33 (2023-07-05)
+ * 3.33 (2023-07-05)
- disable affidavit by default, see https://github.com/tudace/tuda_latex_templates/issues/432 for more information
- rename color={} option of tudabeamer to tudacolors={} to avoid conflicts with siunitx
- * 3.34 (2023-07-12)
- - fix typo in affidavit
- * 3.35 (2023-12-11)
- - first CTAN release of the new slide layout
- - fix issues with headwidth calculation if custommargins=true is used
- * 3.36 (2024-01--05)
- - compatibility to create PDF/A via pdfmangement
- - small adjustments for \tuprints \ No newline at end of file
+ * 3.34 (2023-07-12)
+ - fix typo in affidavit
+ * 3.35 (2023-12-11)
+ - first CTAN release of the new slide layout
+ - fix issues with headwidth calculation if custommargins=true is used
+ * 3.36 (2024-01-05)
+ - compatibility to create PDF/A via pdfmangement
+ - small adjustments for \tuprints
+ * 3.37 (2024-04-21)
+ - refactoring the bundle
+ - small layout adjustments and bugfixes
+ * 3.38 (2024-05-07)
+ - update PhD affidavit
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index 4a11fad655..08f3ff90a1 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index 4029255838..90c6f7e9c4 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
index 316ed08c25..9c765b69b3 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 4d76ed4220..4de18237bc 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index 1463f7cdb2..4c91fe977d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index d02fc33ead..d3ff6b21bf 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index b3159b7d0d..3928a61062 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index e12f68841b..1f4d8165c2 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 11f5502ce6..089c10109f 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 129f77376b..b7cb7640ff 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 7769fbfe05..99ec17f31a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index b044a06332..51f92e0df3 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index 137a5842a7..f8f2e3a80e 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index f4baeae9ff..a11d19f03e 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaBeamer-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -22,7 +22,7 @@
%% The development respository can be found at
%% https://github.com/tudace/tuda_latex_templates
%% Please use the issue tracker for feedback!
-%%
+%%
%% If you need a compiled version of this document, have a look at
%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
index fcede80707..f94c402bfe 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaBeamer2023.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaBeamer2023.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -96,6 +96,8 @@
\begin{itemize}
\item The commands shown on previous slide support \code{\textbackslash{}height}/\code{\textbackslash{}width} to adjust the size to be used for graphic scaling.
\item All have a starred variant (e.\,g. \code{\textbackslash{}sublogo*\{\textbackslash{}includegraphics\{example-image\}\}}). This will automaticcaly scale/clip the logo/image to desired size.
+
+To align the sublogo together with the visible part of the TUDa logo there also exists the possibility to add a second star behind the mandatory argument. This will move the logo to the left to match. This variant is only available for the sublogo.
\end{itemize}
\end{frame}
@@ -116,6 +118,18 @@ Please be also aware of beamer's mechanism to filter the toc, e.g. by \code{\tex
An example.
\end{frame}
+\begin{frame}[fragile,uppercase=false]{Please be aware of uppercase frametitles}
+The mechanism to provide uppercase frame titles might have strange side effects.
+It's aware of macros, so those usually should work, but there are issues with arguments. e.g. using \verb+\color{dark2}+ will throw an error message.
+
+You can avoic this by either locally disabling the case change:
+
+\begin{verbatim}
+\frameztitle{Test \NoCaseChange{\textcolor{dark2}{\MakeUppercase{Test}}}}
+\end{verbatim}
+or use the frame option \verb+uppercase=false+ as for this frame or the class option \verb+uppercase-frametitle=false+
+\end{frame}
+
\textcolor{TUDa-dark1}{test}
\begin{frame}{Color Scheme}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index 3a90331cde..d293b6a339 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -74,4 +74,4 @@
date={2021-10-12},
url={http://mirrors.ctan.org/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf},
urldate={2021-10-12}
-} \ No newline at end of file
+}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index ca0a904ffb..c5aa84e832 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaExercise.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaExercise-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 1a33aced46..1d218f7a2d 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index c7662dbcdf..5d0b8aeb96 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -139,4 +139,4 @@ zur Verfügung. Es fügt die Box an der entsprechenden Position ein. Allerdings
\printbibliography
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index 85131892ef..bedce9c23f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaLetter.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaLetter-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index 78da18f4f5..d1742bebfd 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaPhD.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaPhD-de.tex' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -31,177 +31,128 @@
%%
% !TeX program = lualatex
%%
+% PDF/A über pdfmanagement und nicht über pdfx
+\DocumentMetadata{
+ pdfstandard=a-2b,
+ pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
+}
\documentclass[
- ngerman,
+ german,% Hauptsprache als globale Option, früher war ngerman notwendig
ruledheaders=chapter,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden, vgl. DEMO-TUDaPub
- class=book,% Basisdokumentenklasse. Wählt die Korrespondierende KOMA-Script Klasse
- thesis={
- % Für kleinere Abschlussarbeiten Siehe DEMO-TUDaThesis
- type=dr,
- dr=rernat
- },
+ class=book,% Basisdokumentenklasse. Wählt die korrespondierende KOMA-Script Klasse
+ thesis={% Dokumententyp PhD Thesis, für kleinere Abschlussarbeiten, siehe DEMO-TUDaThesis-de.tex
+ type=dr,
+ dr=rernat
+ },
accentcolor=9c,% Auswahl der Akzentfarbe
custommargins=true,% Ränder werden mithilfe von typearea automatisch berechnet
marginpar=false,% Kopfzeile und Fußzeile erstrecken sich nicht über die Randnotizspalte
- %BCOR=5mm,%Bindekorrektur, falls notwendig
-% parskip=half-,%Absatzkennzeichnung durch Abstand vgl. KOMA-Script
- fontsize=11pt,%Basisschriftgröße laut Corporate Design ist mit 9pt häufig zu klein
-% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
+% BCOR=5mm,% Bindekorrektur
+ parskip=half-,% Absatzkennzeichnung durch Abstand vgl. KOMA-Script
+ fontsize=11pt,% Basisschriftgröße laut Corporate Design ist mit 9pt häufig zu klein
+% logofile=example-image,% Falls die Logo Dateien nicht vorliegen
]{tudapub}
-
-% Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig
-\usepackage{iftex}
-\ifPDFTeX
- \usepackage[utf8]{inputenc}%kompatibilität mit TeX Versionen vor April 2018
-\fi
-
%%%%%%%%%%%%%%%%%%%
-%Sprachanpassung & Verbesserte Trennregeln
+% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
\usepackage[english, main=ngerman]{babel}
-\usepackage[autostyle]{csquotes}% Anführungszeichen vereinfacht
+\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
% \PassOptionsToPackage{Optionen}{microtype}
% vor \documentclass hinzugefügt werden.
\usepackage{microtype}
-
%%%%%%%%%%%%%%%%%%%
-%Literaturverzeichnis
+% Literaturverzeichnis
%%%%%%%%%%%%%%%%%%%
-\usepackage{biblatex} % Literaturverzeichnis
-\bibliography{DEMO-TUDaBibliography}
-
+\usepackage{biblatex}
+\addbibresource{DEMO-TUDaBibliography}% Dateiname der .bib-datei
%%%%%%%%%%%%%%%%%%%
-%Paketvorschläge Tabellen
+% Paketvorschläge Tabellen
%%%%%%%%%%%%%%%%%%%
-%\usepackage{array} % Basispaket für Tabellenkonfiguration, wird von den folgenden automatisch geladen
-\usepackage{tabularx} % Tabellen, die sich automatisch der Breite anpassen
-%\usepackage{longtable} % Mehrseitige Tabellen
-%\usepackage{xltabular} % Mehrseitige Tabellen mit anpassarer Breite
-\usepackage{booktabs} % Verbesserte Möglichkeiten für Tabellenlayout über horizontale Linien
+\usepackage{array}% Grundlegendes Ergänzungspaket für Tabellen. Wird von den folgenden Paketen indirekt geladen
+%\usepackage{tabularx}% Tabellen mit fester Breite und entsprechend umbrechenden Spalten
+%\usepackage{longtable}% Mehrseitige Tabellen
+%\usepackage{xltabular}% Mehrseitige Tabellen mit fester Breite
+%\usepackage{booktabs}% Verbesserte Möglichkeiten für Tabellenlayout über horizontale Linien
%%%%%%%%%%%%%%%%%%%
-%Paketvorschläge Mathematik
+% Paketvorschläge Mathematik/Formelsatz
%%%%%%%%%%%%%%%%%%%
-%\usepackage{mathtools} % erweiterte Fassung von amsmath
-%\usepackage{amssymb} % erweiterter Zeichensatz
-%\usepackage{siunitx} % Einheiten
+%\usepackage{mathtools}% Erweiterte Fassung von amsmath
+%\usepackage{amssymb}% Erweiterter Zeichensatz
+%\usepackage{siunitx}% Werte und Einheiten
-%Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
+%%%%%%%%%%%%%%%%%%%
+% Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
+%%%%%%%%%%%%%%%%%%%
\let\file\texttt
\let\code\texttt
\let\tbs\textbackslash
\let\pck\textsf
\let\cls\textsf
+\biburlsetup
+\usepackage{tabularx,booktabs}%Tabellenpakete (siehe oben)
\usepackage{pifont}% Zapf-Dingbats Symbole
\newcommand*{\FeatureTrue}{\ding{52}}
\newcommand*{\FeatureFalse}{\ding{56}}
-
+%%%%%%%%%%%%%%%%%%%
+% Ende der Demo-Formatierungseinstellungen
+%%%%%%%%%%%%%%%%%%%
\begin{document}
-\Metadata{
- title=TUDaPhD - LaTeX-Dissertationstemplate im CD der TU Darmstadt,
- author=Marei Peischl
-}
+\title{TUDaPhD -- \LaTeX-Dissertationstemplate im CD der TU Darmstadt}
+\subtitle{\LaTeX{} using TU Darmstadt's Corporate Design}
+\author{Marei Peischl}
+% \birthplace{Geburtsort}
+\reviewer{Reviewer 1 \and Reviewer 2 \and … }
+% Falls die Bezeichner entsprechend der Promotionsordnung angepasst werden sollen
+% \reviewer*[Erstreferent\_in,Korreferent\_in]{Gutachter 1 \and Gutachter 2}
+% \publishers{Darmstadt, Technische Universität Darmstadt}
+% Feld für die Ortsangabe oder einen Verlag. Dies ist nach Vorgabe der Universitätsbibiliothek mit „Darmstadt, Technische Universität Darmstadt“ vorbelegt.
-\frontmatter
+% Sofern keine passende Option verfügbar ist:
+% \drtext{}
-\title{TUDaPhD -- \LaTeX-Dissertationstemplate im CD der TU Darmstadt}
-\subtitle{\LaTeX{} using TU Darmstadt's Corporate Design}
-\author[M. Peischl]{Marei Peischl}%optionales Argument ist die Signatur,
-\birthplace{Geburtsort}%Geburtsort, bei Dissertationen zwingend notwendig
-\reviewer{Gutachter 1 \and Gutachter 2 \and noch einer \and falls das immernoch nicht reicht}%Gutachter
-%Falls die Bezeichner entsprechend der Promotionsordnung angepasst werden sollen:
-%\reviewer*[Erstreferent\_in,Koreferent\_in]{Gutachter 1 \and Gutachter 2}
-%\publishers{}% Feld für die Ortsangabe oder einen Verlag. Dies ist mit „Darmstadt, Technische Universität Darmstadt“ vorbelegt. Die Vorgabe stammt von der Universitätsbibliothek.
-
-%%Sofern keine passende Option verfügbar ist
-%\drtext{}
-
-%Diese Felder werden untereinander auf der Titelseite platziert.
-%\department ist eine notwendige Angabe, siehe auch dem Abschnitt `Abweichung von den Vorgaben für die Titelseite'
-\department{phys} %Kürzel werden entsprechend der Liste in diesem Dokument ersetzt.
+% Diese Felder werden untereinander auf der Titelseite platziert.
+% \department ist eine notwendige Angabe, siehe auch dem Abschnitt `Abweichung von den Vorgaben für die Titelseite'
+\department{phys}% Das Kürzel wird automatisch ersetzt sofern der Fachbereich vordefiniert ist.
\institute{Institut}
\group{Arbeitsgruppe}
\submissiondate{\today}
\examdate{\today}
-% Hinweis zur Lizenz:
-% TUDa-CI verwendet momentan die Lizenz CC BY-NC-ND 2.0 DE als Voreinstellung.
-% Die TU Darmstadt hat jedoch die Empfehlung von dieser auf die liberalere
-% CC BY 4.0 geändert. Diese erlaubt eine Verwendung bearbeiteter Versionen und
-% die kommerzielle Nutzung.
-% TUDa-CI wird im nächsten größeren Release ebenfalls diese Anpassung vornehmen.
-% Aus diesem Grund wird empfohlen die Lizenz manuell auszuwählen.
-\tuprints{urn=XXXXX,printid=XXXX,year=2022,license=cc-by-4.0}
-% To see further information on the license option in English, remove the license= key and pay attention to the warning & help message.
-
-\dedication{For \TeX{} \& Friends}
+%\tuprints{urn=XXXXX,printid=XXXX,year=2022,license=cc-by-4.0}% Lizenzdaten für TUprints
+\dedication{Für alle, die \TeX{} nutzen.}
\maketitle
-
-\affidavit
-
-\addchap{Vorwort -- Über diese Datei}
-Die Datei \file{DEMO-TUDaPhD.tex} beziehungsweise ihre Ausgabe \file{DEMO-TUDaPhD.pdf} ist ein Template für Abschlussarbeiten im Stil des Corporate Designs der TU Darmstadt.
-Sie ist Teil des TUDa-CI-Bundles und basiert in Teilen auf dem tuddesign-Paket von C.~v.~Loewenich und J.~Werner.
-
-Sie verwendet die Dokumentenklasse \file{tudapub.cls}, allerdings mit erweiterten Einstellungen. In diesem Dokument werden überwiegend die speziell auf Abschlussarbeiten ausgelegten Möglichkeiten beschrieben. Weitere Konfigurationsmöglichkeiten finden sich in der Datei \file{DEMO-TUDaPub.pdf} \cite{tudapub}.
-
-Es ist voreingestellt, dass eine PDF/A-Datei erzeugt wird. Die beste Kompatibilität hierfür bietet Lua\LaTeX. Bei anderen Compilern kann dies entsprechend der Angaben in DEMO-TUDaPub zu Problemen führen. In diesem Fall sollte entweder der Compiler gewechselt oder \code{pdfa=false} aktiviert werden.
-
-Für weitere Hinweise kann ein Blick in die zur Dokumentenklasse gehörigen Dokumentation (DEMO-TUDaPub.pdf) hilfreich sein. Sie wird zusammen mit den Quelldateien verteilt.
-
-\minisec{Unterschiede der Demodateien DEMO-TUDaThesis und DEMO-TUDaPhD}
-Zwar basieren alle drei DEMO-Dateien auf der Klasse \code{tudapub}, allerdings sind die Basiseinstelungen dem Dokumententyp angepasst.
-Für Erläuterungen zu den TUDaPub spezifischen Optionen, sei auf die Datei DEMO-TUDaPub verwiesen.
-Da die Basisklasse für beide identisch ist, kann jede Option abgeändert werden. Die Folgende Liste zeigt lediglich die gezeigten Features bei Standardeinstellungen.
-
-\noindent\begin{tabularx}{\linewidth}{@{}p{.25\linewidth}*3{>{\centering\arraybackslash}X}@{}}
- \toprule
- Option&DEMO-TUDaThesis&DEMO-TUDaPhD&DEMO-TUDapub\\
- \midrule
- twoside&\FeatureFalse&\FeatureTrue&\FeatureFalse\\\midrule
- parskip&\FeatureTrue&\FeatureFalse&\FeatureTrue\\\midrule
- Kolophon&\FeatureFalse&\FeatureTrue&\FeatureFalse\\\midrule
- Widmung&\FeatureFalse&\FeatureTrue&\FeatureFalse\\\midrule
- Schriftgröße&11pt&11pt&9pt\\\midrule
- ruledheaders&section&chapter&all\\\midrule
- Basisklasse&scrreprt&scrbook&scrartcl\\\midrule
- thesis&\ttfamily type=bachelor&\ttfamily type=dr, dr=rernat
- &\FeatureFalse\\\midrule
- marginpar&\FeatureFalse&\FeatureFalse&\FeatureTrue\\\midrule
- Affidavit\newline\rlap{(Selbstständigkeitserklärung)}&\FeatureTrue&\FeatureTrue&\FeatureFalse\\\midrule
- abstract&\FeatureFalse&\FeatureTrue&\FeatureTrue\\\midrule
- custommargins&\FeatureTrue&\FeatureTrue&\FeatureFalse\\
- \bottomrule
-\end{tabularx}
-
-
-
+\affidavit% Selbstständigkeitserklärung
\begin{abstract}
- Deutsche Zusammenfassung
+ Zusammenfassung in der Hauptsprache des Dokuments (hier Deutsch)
\end{abstract}
\begin{abstract}[english]
- Englische Zusammenfassung, falls benötigt
+ Abstract in another loaded language (here English), in case it's required.
\end{abstract}
\tableofcontents
-
-%Weitere Verzeichnisse wie \listoffigures oder ein Abkürzungsverzeichnis
+% Ggf. weitere Verzeichnisse wie \listoffigures oder ein Abkürzungsverzeichnis
\mainmatter
+\addchap{Über diese Datei}
+Die Datei \file{DEMO-TUDaPhD.tex} beziehungsweise ihre Ausgabe \file{DEMO-TUDaPhD.pdf} ist ein Template für Abschlussarbeiten im Stil des Corporate Designs der TU Darmstadt.
+Sie ist Teil des TUDa-CI-Bundle und wurde in Teilen durch das tuddesign-Paket von C.~v.~Loewenich und J.~Werner inspiriert.
+
+
\chapter{Verwendung}
Die Klasse kann wie für Dokumentenklassen üblich eingebunden werden
@@ -222,7 +173,7 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
- \usepackage[english, main=ngerman]{babel}
+ \usepackage[english, main=ngerman]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
@@ -231,14 +182,14 @@ Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführ
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
- \usepackage[ngerman, main=<Hauptsprache>]{babel}
+ \usepackage[ngerman, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
Die Daten werden analog zur klassischen Titeleierzeugung mit \verb+\maketitle+ übergeben. Allerdings wurden die Felder um ein paar speziellere Daten erweitert. Sofern nicht anders angegeben, verfügen alle Makros über ein notwendiges Argument für die Datenübergabe, z.\,B.
\begin{verbatim}
- \title{\LaTeX{} im Corporate Design der TU Darmstadt}
+ \title{\LaTeX{} im Corporate Design der TU Darmstadt}
\end{verbatim}
Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller Daten \verb+\maketitle+ aufgerufen werden muss.
@@ -251,80 +202,80 @@ Falls eine Layoutanpassung der Titelseite notwendig ist, gelten die in der TUDaP
\item[studentID] Matrikelnummer. Nach den Vorgaben des Templates ist diese Angabe immer optional.
\item[birthplace] Geburtsort. Angabe ist bei Dissertationen notwendig.
\item[reviewer] Gutachter. Mehrere Gutachter werden, wie Autoren durch \verb+\and+ getrennt. Die Nummerierung läuft von links nach rechts.
- \minisec{Änderung des Bezeichners}
- Die Änderung des Bezeichners ist über ein optionales Argument möglich:
- \begin{verbatim}
- \reviewer[Ersatzbezeichner]{Name1 \and Name2}
- \end{verbatim}
- Um die numerische Benennung abzuändern ist es zusätzlich möglich statt dem Ersatzbezeichner eine Kommaliste zu übergeben:
- \begin{verbatim}
- \reviewer*[Bezeichner1, Bezeichner2]{Name1 \and Name2}
- \end{verbatim}
- In diesem Fall entfällt die Nummerierung vor dem Bezeichner. Soll z.\,B. den Formulierungen der Promotionsordnung entsprochen werden, gilt:
- \begin{verbatim}
- \reviewer[Erstreferent\_in,Koreferent\_in]{Name1 \and Name2}
- \end{verbatim}
- Für die Erstellung Fachbereichsspezifischer Templates existiert hierfür auch ein Makro, dass ohne den Aufruf von \verb+\reviewer+ Änderungen zulässt.
- \begin{verbatim}
- \setupReviewName{Ersatzwort für „Gutachten“}
- \end{verbatim}
- Setzt die ersten beiden Bezeichner. Alternativ ist es auch möglich Positionen einzeln zu benennen \verb+\setupReviewName[1]{Erstferent}+, eine Übergabe als Komma-Liste ist als \verb+\setupReviewName*{Bezeicher1,Bezeicher2}+ möglich.
-
- Ab Version 3.26 werden die Gutachter nicht mehr auf der Titelrückseite genannt. Dies wird über die \verb+thesis+ Option \verb+reviewer-on-uppertitleback+ gesteuert. Voreingestellt ist der Wert \verb+false+.
+ \minisec{Änderung des Bezeichners}
+ Die Änderung des Bezeichners ist über ein optionales Argument möglich:
+\begin{verbatim}
+ \reviewer[Ersatzbezeichner]{Name1 \and Name2}
+\end{verbatim}
+ Um die numerische Benennung abzuändern ist es zusätzlich möglich statt dem Ersatzbezeichner eine Kommaliste zu übergeben:
+\begin{verbatim}
+ \reviewer*[Bezeichner1, Bezeichner2]{Name1 \and Name2}
+\end{verbatim}
+ In diesem Fall entfällt die Nummerierung vor dem Bezeichner. Soll z.\,B. den Formulierungen der Promotionsordnung entsprochen werden, gilt:
+\begin{verbatim}
+ \reviewer[Erstreferent\_in,Koreferent\_in]{Name1 \and Name2}
+\end{verbatim}
+ Für die Erstellung Fachbereichsspezifischer Templates existiert hierfür auch ein Makro, dass ohne den Aufruf von \verb+\reviewer+ Änderungen zulässt.
+\begin{verbatim}
+ \setupReviewName{Ersatzwort für „Gutachten“}
+\end{verbatim}
+ Setzt die ersten beiden Bezeichner. Alternativ ist es auch möglich Positionen einzeln zu benennen \verb+\setupReviewName[1]{Erstferent}+, eine Übergabe als Komma-Liste ist als \verb+\setupReviewName*{Bezeicher1,Bezeicher2}+ möglich.
+
+ Ab Version 3.26 werden die Gutachter nicht mehr auf der Titelrückseite genannt. Dies wird über die \verb+thesis+ Option \verb+reviewer-on-uppertitleback+ gesteuert. Voreingestellt ist der Wert \verb+false+.
\item[institution] Einrichtung. Dieser Eintrag, wie auch die beiden folgenden, werden unterhalb des Logos auf der Titelseite platziert.
\item[department] Fach-/Studienbereich, allerdings ist die oben genannte Option zu bevorzugen. Die Verarbeitung des Arguments erfolgt jedoch analog.
- Dieses Makro verfügt jedoch zusätzlich über die Möglichkeit abweichende Einträge gegenüber den Vorgaben anzugeben. Insbesondere wenn eine gesonderte Formulierung gegenüber der voreingestellten \enquote{im Fachbereich} und ihren Varianten notwendig ist. Hierfür liefert \code{\textbackslash{}department} ein optionales Argument:
+ Dieses Makro verfügt jedoch zusätzlich über die Möglichkeit abweichende Einträge gegenüber den Vorgaben anzugeben. Insbesondere wenn eine gesonderte Formulierung gegenüber der voreingestellten \enquote{im Fachbereich} und ihren Varianten notwendig ist. Hierfür liefert \code{\textbackslash{}department} ein optionales Argument:
- \begin{verbatim}
- \department[Ersatztext]{Kürzel/Bezeichnung}
- \end{verbatim}
- Zusätzlich gibt es ab Version 2.01 auch die Möglichkeit den gesamten Text \enquote{im Fachbereich <Bereichsbezeichnung>}, sowie die Angabe in der Infobox auf der Titelseite zu ersetzen. Dies geschieht über die gesternte Variante:
- \begin{verbatim}
- \department*[Text für die Box]{Text zwischen Typ und Autor}
- \end{verbatim}
+\begin{verbatim}
+ \department[Ersatztext]{Kürzel/Bezeichnung}
+\end{verbatim}
+ Zusätzlich gibt es ab Version 2.01 auch die Möglichkeit den gesamten Text \enquote{im Fachbereich <Bereichsbezeichnung>}, sowie die Angabe in der Infobox auf der Titelseite zu ersetzen. Dies geschieht über die gesternte Variante:
+\begin{verbatim}
+ \department*[Text für die Box]{Text zwischen Typ und Autor}
+\end{verbatim}
\item[group] Arbeitsgruppe.
\item[submissiondate] Datum der Einreichung
\item[examdate] Datum der Disputation
\item[date] Beliebiges Datum. Wird über \verb|datename| bezeichnet.
\item[publishers] Wird hier für die Ortsangabe verwendet und ist mit \enquote{Darmstadt}, bzw. \enquote{Darmstadt, Technische Universität Darmstadt} (bei Dissertationen) vorbelegt.
\item[tuprints] \label{page:tuprints}Übergabe der Daten, sofern das Dokument über TUprints Veröffentlicht werden soll.
- \begin{verbatim}
- \tuprints{
- urn=12345,
- printid=123456,
- year=2022
- }
- \end{verbatim}
- Falls das Argument kein Gleichheitszeichen erkennt, wird der Wert als \code{printid} gesetzt und keine URN angegeben.
-
- \minisec{Lizenzangabe}
- Ab Version 2.07 ist es zudem möglich einen eigenen Lizenztext über den Schlüssel \verb|license=<Text>| zu übergeben. Dieser ersetzt dann die voreingestellte Lizenzangabe.
-
- Es existieren (seit v3.08) vorgefertigte Werte für die Option \verb|license|, um eine einfachere Anpassung zu ermöglichen. Diese lauten:
-
- \parbox[t]{.5\linewidth}{%
- \ttfamily
- \href{https://creativecommons.org/licenses/by-nc-nd/2.0/}{cc-by-nc-nd-2.0-de} \textnormal{(noch aktuelle Voreinstellung)}\par
- \href{https://creativecommons.org/licenses/by/4.0/}{cc-by-4.0}\par
- \href{https://creativecommons.org/licenses/by-sa/4.0/}{cc-by-sa-4.0}\par
- \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{cc-by-nc-sa-4.0}\par
- }%
- \parbox[t]{.5\linewidth}{
- \ttfamily
- \href{https://creativecommons.org/licenses/by-nc-/4.0/}{cc-by-nc-4.0}\par
- \href{https://creativecommons.org/licenses/by-nd/4.0/}{cc-by-nd-4.0}\par
- \href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{cc-by-nc-nd-4.0}\par
- \href{https://rightsstatements.org/page/InC/1.0/}{inc-1.0}\textnormal{ (Ab Version 3.36)}
- }
-
- Dies ist Bestandteil der Vorbereitung zur Anpassung der Standardlizenz, welche durch die Universitätsbibliothek angepasst wurde.
- Die entsprechende Diskussion findet sich unter \url{https://github.com/tudace/tuda_latex_templates/issues/251} und eine Anpassung der Voreinstellung bei TUDa-CI ist für Version 4.0 vorgesehen.
-
- Unterstützung bei der Wahl einer passenden Creative Commons Lizenz bietet die ULB der TUDa unter https://www.ulb.tu-darmstadt.de/dpub oder das CC-Projekt sebst über seinen Lizenzfinder unter \url{http://creativecommons.org/choose/}.
- Die TU Darmstadt empfiehlt in Ihrer Publikationsrichtlinie und Open-Access-Policy die Nutzung der offenen CC BY 4.0 Lizenz.
-
- Falls ein von den oben gelisteten Schlüsseln abweichender Wert gesetzt wird, wird ebendieser direkt an der Stelle des Lizenztextes verwendet. Sofern der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
+\begin{verbatim}
+ \tuprints{
+ urn=12345,
+ printid=123456,
+ year=2022
+ }
+\end{verbatim}
+ Falls das Argument kein Gleichheitszeichen erkennt, wird der Wert als \code{printid} gesetzt und keine URN angegeben.
+
+ \minisec{Lizenzangabe}
+ Ab Version 2.07 ist es zudem möglich einen eigenen Lizenztext über den Schlüssel \verb|license=<Text>| zu übergeben. Dieser ersetzt dann die voreingestellte Lizenzangabe.
+
+ Es existieren (seit v3.08) vorgefertigte Werte für die Option \verb|license|, um eine einfachere Anpassung zu ermöglichen. Diese lauten:
+
+ \parbox[t]{.5\linewidth}{%
+ \ttfamily
+ \href{https://creativecommons.org/licenses/by-nc-nd/2.0/}{cc-by-nc-nd-2.0-de} \textnormal{(noch aktuelle Voreinstellung)}\par
+ \href{https://creativecommons.org/licenses/by/4.0/}{cc-by-4.0}\par
+ \href{https://creativecommons.org/licenses/by-sa/4.0/}{cc-by-sa-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{cc-by-nc-sa-4.0}\par
+ }%
+ \parbox[t]{.5\linewidth}{
+ \ttfamily
+ \href{https://creativecommons.org/licenses/by-nc-/4.0/}{cc-by-nc-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nd/4.0/}{cc-by-nd-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{cc-by-nc-nd-4.0}\par
+ \href{https://rightsstatements.org/page/InC/1.0/}{inc-1.0}\textnormal{ (Ab Version 3.36)}
+ }
+
+ Dies ist Bestandteil der Vorbereitung zur Anpassung der Standardlizenz, welche durch die Universitätsbibliothek angepasst wurde.
+ Die entsprechende Diskussion findet sich unter \url{https://github.com/tudace/tuda_latex_templates/issues/251} und eine Anpassung der Voreinstellung bei TUDa-CI ist für Version 4.0 vorgesehen.
+
+ Unterstützung bei der Wahl einer passenden Creative Commons Lizenz bietet die ULB der TUDa unter https://www.ulb.tu-darmstadt.de/dpub oder das CC-Projekt sebst über seinen Lizenzfinder unter \url{http://creativecommons.org/choose/}.
+ Die TU Darmstadt empfiehlt in Ihrer Publikationsrichtlinie und Open-Access-Policy die Nutzung der offenen CC BY 4.0 Lizenz.
+
+ Falls ein von den oben gelisteten Schlüsseln abweichender Wert gesetzt wird, wird ebendieser direkt an der Stelle des Lizenztextes verwendet. Sofern der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
\item[titlegraphic] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Details sind in der allgemeinen TUDaPub-Dokumentation beschrieben \cite{tudapub}
\item[titleintro] Ab Version 2.03 kann zusätzlich über diesen Hook ein beliebiger Text direkt nach dem Untertitel und vor den automatischen Daten ergänzt werden.
\item[titleaddendum] Wie \code{\tbs{}titleintro} jedoch als letztes Element des Blocks.
@@ -342,29 +293,29 @@ Version 3.20 ermöglicht zusätzlich die Übergabe weiterer Optionen für den Si
Inwieweit diese Optionen verwendet werden dürfen ist jeweils vor der Verwendung durch die Nutzer:in abzuklären.
TUDa-CI kann hierfür keine gesicherte Aussage treffen.
\begin{verbatim}
- \affidavit[signature=Signaturname,signature-image={\includegraphics[width=\width]{signaturbild}}]
+ \affidavit[signature=Signaturname,signature-image={\includegraphics[width=\width]{signaturbild}}]
\end{verbatim}
Eine vertikale Verschiebung des Signaturbildes ist nicht direkt implementiert, ist jedoch mit der Verwendung des \LaTeX-Makros \verb+\raisebox{<Verschiebung>}{<Inhalt>}+ problemlos möglich.
Es besteht zusätzlich die Möglichkeit ein anderssprachiges Affidavit als Ergänzung mit abzudrucken. Um die Struktur und die ggf. notwendige Sprachumschaltung zu erledigen, existiert hierfür ab Version 2.03 eine Umgebung:
\begin{verbatim}
- \begin{affidavit*}[Babel-Sprachoption]{Überschrift}
- Text
- \end{affidavit*}
+ \begin{affidavit*}[Babel-Sprachoption]{Überschrift}
+ Text
+ \end{affidavit*}
\end{verbatim}
Diese Variante verfügt bewusst über keine Unterschriftenzeile, da diese Version laut Verständnis der Entwickler keine rechtliche Verbindlichkeit besitzt.
Die Umgebung kann jedoch auch für besondere Formen der Erklärung genutzt werden. In diesem Fall kann eine zusätzliche Signaturzeile über
\begin{verbatim}
- \AffidavitSignature[Stadt]
+ \AffidavitSignature[Stadt]
\end{verbatim}
hinzugefügt werden. Die Vorbelegung für Stadt ist hierbei \enquote{Darmstadt}.
Ab Version 3.20 ist die Übergabe einer zusätzlichen Option für den Ort der Signatur auch als Option möglich.
\begin{verbatim}
- \affidavit[signature-location=Stadt]
+ \affidavit[signature-location=Stadt]
\end{verbatim}
\section{Layout-Optionen mit Verstoß gegen das Corporate Design}
@@ -373,29 +324,28 @@ Die Zeilenlängen sind laut Corporate Design aus typografischer Sicht zu lang.
Daher existiert die Klassenoption \code{custommargins}, die für dieses Dokument aktiviert wurde (Wert \code{true}). Sie verfügt über die Werte \code{true}, \code{false} und \code{geometry} mit folgender Bedeutung:
\begin{description}
-\item[custommargins=false] Standardeinstellung von \cls{tudapub}. Die Ränder entsprechen den Vorgaben des Corporate Design Guidelines. Die Einstellung wird durch \pck{geometry} durchgeführt. Eigene Anpassungen werden durch das Ausführen von \code{\textbackslash{}maketitle} überschrieben.
-\item[custommargins=true] Die Einstellungen des Corporate Design Guidelines werden nicht aktiviert. \pck{geometry} wird nicht geladen. Dieser Modus entspricht der Standardeinstellung von \KOMAScript{}. Dadurch werden die Ränder nicht fest definiert, sondern auf Basis des \pck{typearea}-Paketes berechnet \cite[vgl.][]{scrguide}.
-\item[custommargins=geometry] Diese Variante wurde auf Wunsch zur Verfügung gestellt, allerdings wird darauf hingewiesen, dass manuelle Randeinstellungen oft nicht zu einem harmonischen Satzspiegel führt.
-\pck{geometry} wird, wie bei \code{false} geladen und vorkonfiguriert. Es ist allerdings möglich kleinere Anpassung durch die Verwendung des Makros \code{\textbackslash{}geometry} zu setzen. Die Einstellungen, die zu Beginn des Dokuments gelten werden gespeichert und nach der Titelseite wiederhergestellt.
+ \item[custommargins=false] Standardeinstellung von \cls{tudapub}. Die Ränder entsprechen den Vorgaben des Corporate Design Guidelines. Die Einstellung wird durch \pck{geometry} durchgeführt. Eigene Anpassungen werden durch das Ausführen von \code{\textbackslash{}maketitle} überschrieben.
+ \item[custommargins=true] Die Einstellungen des Corporate Design Guidelines werden nicht aktiviert. \pck{geometry} wird nicht geladen. Dieser Modus entspricht der Standardeinstellung von \KOMAScript{}. Dadurch werden die Ränder nicht fest definiert, sondern auf Basis des \pck{typearea}-Paketes berechnet \cite[vgl.][]{scrguide}.
+ \item[custommargins=geometry] Diese Variante wurde auf Wunsch zur Verfügung gestellt, allerdings wird darauf hingewiesen, dass manuelle Randeinstellungen oft nicht zu einem harmonischen Satzspiegel führt.
+ \pck{geometry} wird, wie bei \code{false} geladen und vorkonfiguriert. Es ist allerdings möglich kleinere Anpassung durch die Verwendung des Makros \code{\textbackslash{}geometry} zu setzen. Die Einstellungen, die zu Beginn des Dokuments gelten werden gespeichert und nach der Titelseite wiederhergestellt.
-Hierbei ist zu beachten, dass die Einstellungen als Ausgangspunkt den Voreingestellten Satzspiegel nutzen (je nach Option mit Randnotizspalte oder ohne). Es ist möglich diese Optionen vor den eigenen mit zurückzusetzen:
+ Hierbei ist zu beachten, dass die Einstellungen als Ausgangspunkt den Voreingestellten Satzspiegel nutzen (je nach Option mit Randnotizspalte oder ohne). Es ist möglich diese Optionen vor den eigenen mit zurückzusetzen:
\begin{verbatim}
- \geometry{
- reset,
- <Eigene Anpassungen>
- }
+ \geometry{
+ reset,
+ <Eigene Anpassungen>
+ }
\end{verbatim}
-Die gilt insbesondere für die Optionen \code{includehead}, \code{includefoot} und \code{includemp}.
+ Die gilt insbesondere für die Optionen \code{includehead}, \code{includefoot} und \code{includemp}.
\end{description}
-
\minisec{Hinweis zu den Kopf-/Fußzeilen}
Wenn die Option \code{marginpar=true} gesetzt bleibt, ragen die Kopf- und Fußzeile über die Marginalspalte hinaus. Aus ästhetischen Gründen wird daher empfohlen in diesem Fall die Kopf- und Fußzeile mit \code{marginpar=false} auf den Textbereich zu beschränken.
Auch ist das Standard-Layout der Kolumnentitel wenig vorteilhaft, da die Kolumnentitel damit local größer sein können als die eigentliche Überschrift. (\code{headline=automark})
Deswegen kann über
\begin{verbatim}
- \pagestyle{TUDa.headings}
+ \pagestyle{TUDa.headings}
\end{verbatim}
ein einfacherer Seitenstil ausgewählt werden, der die Nutzung mit lebenden Kolumnentitel erheblich vereinfacht. Dieser Stil ist über \pck{scrlayer-scrpage} realisiert und kann entsprechend der \KOMAScript{}-Dokumentation angepasst werden.
@@ -414,48 +364,48 @@ thesis={type=dr,dr=rernat}
Im folgenden findet sich die Bedeutung der einzelnen Optionen:
\begin{description}
-\item[type=<Wert>] Auswahl des Typus. Dieser wird auf die Titelseite gesetzt und wählt zudem aus welche Daten für die Titelseite zwingend übergeben werden müssen.
- Es stehen die folgenden Werte zur Verfügung (die Werte in Klammern sind die notwendigen Titeldaten):
- \begin{itemize}
- \item \code{sta}: Studienarbeit (title, author, date)
- \item \code{diplom}: Diplomarbeit (title, author, submissiondate, reviewer, department)
- \item \code{bachelor}: Bachelorarbeit (title, author, submissiondate, department, reviewer)
- \item \code{master}: Masterarbeit (title, author, submissiondate, department, reviewer)
- \item \code{pp}: Project-Proposal (title, author, date, department)
- \item \code{dr}: vorgelegte Dissertation (title, author, submissiondate , birthplace, department, reviewer)
- \item \code{drfinal}: genehmigte Dissertation (title, author, submissiondate,examdate, birthplace, department, reviewer)
- \end{itemize}
- Wird ein Typus angegeben, der nicht erkannt wird, so wird der Text direkt übergeben. Notwendige Titelfelder über den Titel hinaus gibt es in diesem Fall nicht.
-\item[dr=<Kürzel>] Lädt einen der vordefinierten Texte für die Titelseite. Als Werte stehen bislang \code{rernat}, \code{rerpol}, \code{ing} und \code{phil} zur Verfügung. Zum Beispiel lädt der Wert \code{phil}:
- \begin{quote}
- Zur Erlangung des Grades eines Doktor der Philosophie (Dr.\,phil.)
- \end{quote}
- Sofern keiner dieser Werte dem angestrebten Titel entspricht, kann ein Text direkt übergeben werden.
- \begin{verbatim}
- \drtext{Zur Erlangung des Grades \ldots}
- \end{verbatim}
-\item[department=<Kürzel>] Die Fachbereiche sind fest als Textbausteine in Deutscher sowie Englischer Sprache hinterlegt. Diese Option ermöglicht die Auswahl als Dokumentenklassenoption. Aus Kompatibilitätsgründen kann jedoch auch das Makro \code{department}-Makro hierfür genutzt werden. Zur Verfügung stehen:\par
- \begin{tabular}{@{}l@{${}\to{}$}l@{}}
- arch & Architektur\\
- bauing& Bau- und Umweltingenieurwissenschaften\\
- bio &Biologie\\
- chem &Chemie\\
- etit &Elektrotechnik und Informationstechnik\\
- gugw &Gesellschafts- und Geschichtswissenschaften\\
- humanw&Humanwissenschaften\\
- inf &Informatik\\
- mb &Maschinenbau\\
- matgeo&Material- und Geowissenschaften\\
- math &Mathematik\\
- phys &Physik\\
- wi &Rechts- und Wirtschaftswissenschaften
- \end{tabular}
-
- Neben den Fachbereichen existieren für Abschlussarbeiten, die keine Dissertationen sind auch Studienbereiche, siehe DEMO-TUDaThesis.
- Falls etwas anderes als eines dieser Kürzel übergeben wird, wird der Text direkt verwendet und eine entsprechende Warnung ausgegeben.
-
- Die Auswahl der Fachrichtung erzeugt zusätzlich eine Box auf der Titelseite unterhalb des Logos. Falls diese automatische Erstellung nicht gewünscht ist, kann dies über die Option \code{instbox=false} deaktiviert werden.
-\item[ignore-missing-data] Diese Option ist ein Schalter, der es ermöglicht die Fehlermeldung über nicht übergebene Titeldaten auszuschalten. In diesem Fall wird lediglich eine Warnung erzeugt, falls die angegeben Daten nicht mit den Anforderungen übereinstimmen.
+ \item[type=<Wert>] Auswahl des Typus. Dieser wird auf die Titelseite gesetzt und wählt zudem aus welche Daten für die Titelseite zwingend übergeben werden müssen.
+ Es stehen die folgenden Werte zur Verfügung (die Werte in Klammern sind die notwendigen Titeldaten):
+ \begin{itemize}
+ \item \code{sta}: Studienarbeit (title, author, date)
+ \item \code{diplom}: Diplomarbeit (title, author, submissiondate, reviewer, department)
+ \item \code{bachelor}: Bachelorarbeit (title, author, submissiondate, department, reviewer)
+ \item \code{master}: Masterarbeit (title, author, submissiondate, department, reviewer)
+ \item \code{pp}: Project-Proposal (title, author, date, department)
+ \item \code{dr}: vorgelegte Dissertation (title, author, submissiondate , birthplace, department, reviewer)
+ \item \code{drfinal}: genehmigte Dissertation (title, author, submissiondate,examdate, birthplace, department, reviewer)
+ \end{itemize}
+ Wird ein Typus angegeben, der nicht erkannt wird, so wird der Text direkt übergeben. Notwendige Titelfelder über den Titel hinaus gibt es in diesem Fall nicht.
+ \item[dr=<Kürzel>] Lädt einen der vordefinierten Texte für die Titelseite. Als Werte stehen bislang \code{rernat}, \code{rerpol}, \code{ing} und \code{phil} zur Verfügung. Zum Beispiel lädt der Wert \code{phil}:
+ \begin{quote}
+ Zur Erlangung des Grades eines Doktor der Philosophie (Dr.\,phil.)
+ \end{quote}
+ Sofern keiner dieser Werte dem angestrebten Titel entspricht, kann ein Text direkt übergeben werden.
+\begin{verbatim}
+ \drtext{Zur Erlangung des Grades \ldots}
+\end{verbatim}
+ \item[department=<Kürzel>] Die Fachbereiche sind fest als Textbausteine in Deutscher sowie Englischer Sprache hinterlegt. Diese Option ermöglicht die Auswahl als Dokumentenklassenoption. Aus Kompatibilitätsgründen kann jedoch auch das Makro \code{department}-Makro hierfür genutzt werden. Zur Verfügung stehen:\par
+ \begin{tabular}{@{}l@{${}\to{}$}l@{}}
+ arch & Architektur\\
+ bauing& Bau- und Umweltingenieurwissenschaften\\
+ bio &Biologie\\
+ chem &Chemie\\
+ etit &Elektrotechnik und Informationstechnik\\
+ gugw &Gesellschafts- und Geschichtswissenschaften\\
+ humanw&Humanwissenschaften\\
+ inf &Informatik\\
+ mb &Maschinenbau\\
+ matgeo&Material- und Geowissenschaften\\
+ math &Mathematik\\
+ phys &Physik\\
+ wi &Rechts- und Wirtschaftswissenschaften
+ \end{tabular}
+
+ Neben den Fachbereichen existieren für Abschlussarbeiten, die keine Dissertationen sind auch Studienbereiche, siehe DEMO-TUDaThesis.
+ Falls etwas anderes als eines dieser Kürzel übergeben wird, wird der Text direkt verwendet und eine entsprechende Warnung ausgegeben.
+
+ Die Auswahl der Fachrichtung erzeugt zusätzlich eine Box auf der Titelseite unterhalb des Logos. Falls diese automatische Erstellung nicht gewünscht ist, kann dies über die Option \code{instbox=false} deaktiviert werden.
+ \item[ignore-missing-data] Diese Option ist ein Schalter, der es ermöglicht die Fehlermeldung über nicht übergebene Titeldaten auszuschalten. In diesem Fall wird lediglich eine Warnung erzeugt, falls die angegeben Daten nicht mit den Anforderungen übereinstimmen.
\end{description}
\minisec{Abweichung von den Vorgaben für die Titelseite}
@@ -469,3 +419,4 @@ Setspace liefert hierfür die Möglichkeit, das Paket ohne Optionen zu laden und
\printbibliography
\end{document}
+%% End of file `DEMO-TUDaPhD-de.tex'.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index 6159ff33b0..e10f84dd8b 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaPoster.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaPoster-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 67fac56d18..0bf058e1c3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaPub.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaPub-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index afa868309f..a3b0e56310 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaReport.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaReport-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index 782da3c25b..bd8082039a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index 9100c5b08d..a646b8fd8a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,9 +1,9 @@
-%% This is file `DEMO-TUDaThesis.tex' version 3.36 (2024-01-05),
+%% This is file `DEMO-TUDaThesis-de.tex' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -31,33 +31,31 @@
%%
% !TeX program = lualatex
%%
+% PDF/A über pdfmanagement und nicht über pdfx
+\DocumentMetadata{
+ pdfstandard=a-2b,
+ pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
+}
\documentclass[
- ngerman,
- ruledheaders=section,%Ebene bis zu der die Überschriften mit Linien abgetrennt werden, vgl. DEMO-TUDaPub
+ german,% Hauptsprache als globale Option, früher war ngerman notwendig
+ ruledheaders=section,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden,
class=report,% Basisdokumentenklasse. Wählt die Korrespondierende KOMA-Script Klasse
thesis={type=bachelor},% Dokumententyp Thesis, für Dissertationen siehe die Demo-Datei DEMO-TUDaPhd
accentcolor=9c,% Auswahl der Akzentfarbe
custommargins=true,% Ränder werden mithilfe von typearea automatisch berechnet
marginpar=false,% Kopfzeile und Fußzeile erstrecken sich nicht über die Randnotizspalte
- %BCOR=5mm,%Bindekorrektur, falls notwendig
- parskip=half-,%Absatzkennzeichnung durch Abstand vgl. KOMA-Script
- fontsize=11pt,%Basisschriftgröße laut Corporate Design ist mit 9pt häufig zu klein
-% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
+% BCOR=5mm,% Bindekorrektur
+ parskip=half-,% Absatzkennzeichnung durch Abstand vgl. KOMA-Script
+ fontsize=11pt,% Basisschriftgröße laut Corporate Design ist mit 9pt häufig zu klein
+% logofile=example-image,% Falls die Logo Dateien nicht vorliegen
]{tudapub}
-
-% Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig
-\usepackage{iftex}
-\ifPDFTeX
- \usepackage[utf8]{inputenc}%kompatibilität mit TeX Versionen vor April 2018
-\fi
-
%%%%%%%%%%%%%%%%%%%
-%Sprachanpassung & Verbesserte Trennregeln
+% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
\usepackage[english, main=ngerman]{babel}
-\usepackage[autostyle]{csquotes}% Anführungszeichen vereinfacht
+\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
% \PassOptionsToPackage{Optionen}{microtype}
@@ -65,29 +63,30 @@
\usepackage{microtype}
%%%%%%%%%%%%%%%%%%%
-%Literaturverzeichnis
+% Literaturverzeichnis
%%%%%%%%%%%%%%%%%%%
-\usepackage{biblatex} % Literaturverzeichnis
-\bibliography{DEMO-TUDaBibliography}
-
+\usepackage{biblatex}
+\addbibresource{DEMO-TUDaBibliography}% Dateiname der .bib-datei
%%%%%%%%%%%%%%%%%%%
-%Paketvorschläge Tabellen
+% Paketvorschläge Tabellen
%%%%%%%%%%%%%%%%%%%
-%\usepackage{array} % Basispaket für Tabellenkonfiguration, wird von den folgenden automatisch geladen
-\usepackage{tabularx} % Tabellen, die sich automatisch der Breite anpassen
-%\usepackage{longtable} % Mehrseitige Tabellen
-%\usepackage{xltabular} % Mehrseitige Tabellen mit anpassbarer Breite
-\usepackage{booktabs} % Verbesserte Möglichkeiten für Tabellenlayout über horizontale Linien
+\usepackage{array}% Grundlegendes Ergänzungspaket für Tabellen. Wird von den folgenden Paketen indirekt geladen
+%\usepackage{tabularx}% Tabellen mit fester Breite und entsprechend umbrechenden Spalten
+%\usepackage{longtable}% Mehrseitige Tabellen
+%\usepackage{xltabular}% Mehrseitige Tabellen mit fester Breite
+%\usepackage{booktabs}% Verbesserte Möglichkeiten für Tabellenlayout über horizontale Linien
%%%%%%%%%%%%%%%%%%%
-%Paketvorschläge Mathematik
+% Paketvorschläge Mathematik/Formelsatz
%%%%%%%%%%%%%%%%%%%
-%\usepackage{mathtools} % erweiterte Fassung von amsmath
-%\usepackage{amssymb} % erweiterter Zeichensatz
-%\usepackage{siunitx} % Einheiten
+%\usepackage{mathtools}% Erweiterte Fassung von amsmath
+%\usepackage{amssymb}% Erweiterter Zeichensatz
+%\usepackage{siunitx}% Werte und Einheiten
-%Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
+%%%%%%%%%%%%%%%%%%%
+% Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
+%%%%%%%%%%%%%%%%%%%
\let\file\texttt
\let\code\texttt
\let\tbs\textbackslash
@@ -95,67 +94,51 @@
\let\cls\textsf
\biburlsetup
+\usepackage{tabularx,booktabs}%Tabellenpakete (siehe oben)
\usepackage{pifont}% Zapf-Dingbats Symbole
\newcommand*{\FeatureTrue}{\ding{52}}
\newcommand*{\FeatureFalse}{\ding{56}}
-
+%%%%%%%%%%%%%%%%%%%
+% Ende der Demo-Formatierungseinstellungen
+%%%%%%%%%%%%%%%%%%%
\begin{document}
-\Metadata{
- title=TUDaThesis - Abschlussarbeiten im CD der TU Darmstadt,
- author=Marei Peischl
-}
-
-\title{TUDaThesis -- Abschlussarbeiten im CD der TU Darmstadt}
+\title{TUDaThesis -- Abschlussarbeiten im Corporate Design der TU Darmstadt}
\subtitle{\LaTeX{} using TU Darmstadt's Corporate Design}
-\author[M. Peischl]{Marei Peischl}%optionales Argument ist die Signatur,
-\birthplace{Geburtsort}%Geburtsort, bei Dissertationen zwingend notwendig
-\reviewer{Gutachter 1 \and Gutachter 2 \and noch einer \and falls das immernoch nicht reicht}%Gutachter
+\author{Marei Peischl}
+% \birthplace{}% Geburtsort. Bei Dissertationen zwingend notwendig
+\reviewer{Reviewer 1 \and Reviewer 2 \and … }
-%Diese Felder werden untereinander auf der Titelseite platziert.
-%\department ist eine notwendige Angabe, siehe auch dem Abschnitt `Abweichung von den Vorgaben für die Titelseite'
-\department{ce} % Das Kürzel wird automatisch ersetzt und als Studienfach gewählt, siehe Liste der Kürzel im Dokument.
+% Diese Felder werden untereinander auf der Titelseite platziert.
+% \department ist eine notwendige Angabe, siehe auch dem Abschnitt `Abweichung von den Vorgaben für die Titelseite'
+\department{ce}% Das Kürzel wird automatisch ersetzt und als Studienfach gewählt sofern es definiert ist.
\institute{Institut}
\group{Arbeitsgruppe}
\submissiondate{\today}
\examdate{\today}
-% Hinweis zur Lizenz:
-% TUDa-CI verwendet momentan die Lizenz CC BY-NC-ND 2.0 DE als Voreinstellung.
-% Die TU Darmstadt hat jedoch die Empfehlung von dieser auf die liberalere
-% CC BY 4.0 geändert. Diese erlaubt eine Verwendung bearbeiteter Versionen und
-% die kommerzielle Nutzung.
-% TUDa-CI wird im nächsten größeren Release ebenfalls diese Anpassung vornehmen.
-% Aus diesem Grund wird empfohlen die Lizenz manuell auszuwählen.
-%\tuprints{urn=XXXXX,printid=XXXX,year=2022,license=cc-by-4.0}
-% To see further information on the license option in English, remove the license= key and pay attention to the warning & help message.
-
-% \dedication{Für alle, die \TeX{} nutzen.}
+%\tuprints{urn=XXXXX,printid=XXXX,year=2022,license=cc-by-4.0}% Lizenzdaten für TUprints
\maketitle
-
-% Das Affidavit wurde auf Wunsch des Dezernat II per default deaktiviert.
-% Der rechtlich bindende Text findet sich nach Aukunft des Dezernats unter https://www.tu-darmstadt.de/studieren/studierende_tu/studienorganisation_und_tucan/hilfe_und_faq/artikel_details_de_en_37824.de.jsp
-% Es soll die docx Datei verwendet, ausgedruckt, unterschrieben, eingescannt und dann eingebunden werden.
-% Die einfachste Möglichkeit bitet hierüfr das pdfpages Paket.
-%
-% Aus Kompatibilitätsgründen für die anderen Templates ist die Funktion weiterhin verfügbar.
-%\affidavit
-% Es gibt mit Version 3.20 die Möglichkeit ein Bild als Signatur einzubinden.
-% TUDa-CI kann nicht garantieren, dass dies zulässig ist oder eine eigenhändige Unterschrift ersetzt.
-% Dies ist durch Studierende vor der Verwendung abzuklären.
-% Selbiges gilt für den voreingestellten Text der Erklärung. Es ist zwingend notwendig, dass Studierende dies vor der Abgabe überprüfen.
-% Die Jeweils aktuelle Fassung findest sich als docx-Datei unter https://www.tu-darmstadt.de/studieren/studierende_tu/studienorganisation_und_tucan/hilfe_und_faq/artikel_details_de_en_37824.de.jsp
-% Die Verwendung funktioniert so:
-%\affidavit[signature-image={\includegraphics[width=\width,height=1cm]{example-image}}, <hier können andere Optionen zusätzlich stehen>]
+%% Das Affidavit wurde auf Wunsch des Dezernat II per default deaktiviert.
+%% Der rechtlich bindende Text findet sich nach Aukunft des Dezernats unter https://www.tu-darmstadt.de/studieren/studierende_tu/studienorganisation_und_tucan/hilfe_und_faq/artikel_details_de_en_37824.de.jsp
+%% Es soll die docx Datei verwendet, ausgedruckt, unterschrieben, eingescannt und dann eingebunden werden.
+%% Die einfachste Möglichkeit bietet hierfür das pdfpages Paket.
+%%
+%% Aus Kompatibilitätsgründen für die anderen Templates ist die Funktion weiterhin verfügbar.
+%% \affidavit[signature-image={\includegraphics[width=\width,height=1cm]{example-image}}, <hier können andere Optionen zusätzlich stehen>]
\tableofcontents
+% Ggf. weitere Verzeichnisse wie \listoffigures oder ein Abkürzungsverzeichnis
-\chapter{Über diese Datei}
+\addchap{Über diese Datei}
Die Datei \file{DEMO-TUDaThesis.tex} ist ein Template für Abschlussarbeiten im Stil des Corporate Designs der TU Darmstadt.
-Sie ist Teil des TUDa-CI-Bundles wurde vom in Teilen tuddesign-Paket von C.~v.~Loewenich und J.~Werner inspiriert.
+Sie ist Teil des TUDa-CI-Bundle und wurde in Teilen durch das tuddesign-Paket von C.~v.~Loewenich und J.~Werner inspiriert.
+
+
+
Sie verwendet die Dokumentenklasse \file{tudapub.cls}, allerdings mit erweiterten Einstellungen. In diesem Dokument werden überwiegend die speziell auf Abschlussarbeiten ausgelegten Möglichkeiten beschrieben. Weitere Konfigurationsmöglichkeiten finden sich in der Datei \file{DEMO-TUDaPub.pdf} \cite{tudapub}.
@@ -188,7 +171,6 @@ Da die Basisklasse für beide identisch ist, kann jede Option abgeändert werden
\bottomrule
\end{tabularx}
-
\chapter{Verwendung}
Die Klasse kann wie für Dokumentenklassen üblich eingebunden werden
\begin{verbatim}
@@ -208,7 +190,7 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
- \usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=ngerman]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
@@ -217,7 +199,7 @@ Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführ
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
- \usepackage[ngerman, main=<Hauptsprache>]{babel}
+\usepackage[ngerman, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
@@ -237,78 +219,80 @@ Falls eine Layoutanpassung der Titelseite notwendig ist, gelten die in der TUDaP
\item[studentID] Matrikelnummer. Nach den Vorgaben des Templates ist diese Angabe immer optional.
\item[birthplace] Geburtsort. Angabe ist bei Dissertationen notwendig.
\item[reviewer] Gutachter. Mehrere Gutachter werden, wie Autoren durch \verb+\and+ getrennt. Die Nummerierung läuft von links nach rechts.
- \minisec{Änderung des Bezeichners}
- Die Änderung des Bezeichners ist über ein optionales Argument möglich:
- \begin{verbatim}
- \reviewer[Ersatzbezeichner]{Name1 \and Name2}
- \end{verbatim}
- Um die numerische Benennung abzuändern ist es zusätzlich möglich statt dem Ersatzbezeichner eine Kommaliste zu übergeben:
- \begin{verbatim}
- \reviewer*[Bezeichner1, Bezeichner2]{Name1 \and Name2}
- \end{verbatim}
- In diesem Fall entfällt die Nummerierung vor dem Bezeichner. Soll z.\,B. den Formulierungen der Promotionsordnung entsprochen werden, gilt:
- \begin{verbatim}
- \reviewer[Erstreferent\_in,Koreferent\_in]{Name1 \and Name2}
- \end{verbatim}
- Für die Erstellung Fachbereichsspezifischer Templates existiert hierfür auch ein Makro, dass ohne den Aufruf von \verb+\reviewer+ Änderungen zulässt.
- \begin{verbatim}
- \setupReviewName{Ersatzwort für „Gutachten“}
- \end{verbatim}
- Setzt die ersten beiden Bezeichner. Alternativ ist es auch möglich Positionen einzeln zu benennen \verb+\setupReviewName[1]{Erstferent}+, eine Übergabe als Komma-Liste ist als \verb+\setupReviewName*{Bezeicher1,Bezeicher2}+ möglich.
+ \minisec{Änderung des Bezeichners}
+ Die Änderung des Bezeichners ist über ein optionales Argument möglich:
+\begin{verbatim}
+ \reviewer[Ersatzbezeichner]{Name1 \and Name2}
+\end{verbatim}
+ Um die numerische Benennung abzuändern ist es zusätzlich möglich statt dem Ersatzbezeichner eine Kommaliste zu übergeben:
+\begin{verbatim}
+ \reviewer*[Bezeichner1, Bezeichner2]{Name1 \and Name2}
+\end{verbatim}
+ In diesem Fall entfällt die Nummerierung vor dem Bezeichner. Soll z.\,B. den Formulierungen der Promotionsordnung entsprochen werden, gilt:
+\begin{verbatim}
+ \reviewer[Erstreferent\_in,Koreferent\_in]{Name1 \and Name2}
+\end{verbatim}
+ Für die Erstellung Fachbereichsspezifischer Templates existiert hierfür auch ein Makro, dass ohne den Aufruf von \verb+\reviewer+ Änderungen zulässt.
+\begin{verbatim}
+ \setupReviewName{Ersatzwort für „Gutachten“}
+\end{verbatim}
+ Setzt die ersten beiden Bezeichner. Alternativ ist es auch möglich Positionen einzeln zu benennen \verb+\setupReviewName[1]{Erstferent}+, eine Übergabe als Komma-Liste ist als \verb+\setupReviewName*{Bezeicher1,Bezeicher2}+ möglich.
\item[institution] Einrichtung. Dieser Eintrag, wie auch die beiden folgenden, werden unterhalb des Logos auf der Titelseite platziert.
\item[department] Fach-/Studienbereich, allerdings ist die oben genannte Option zu bevorzugen. Die Verarbeitung des Arguments erfolgt jedoch analog.
- Dieses Makro verfügt jedoch zusätzlich über die Möglichkeit abweichende Einträge gegenüber den Vorgaben anzugeben. Insbesondere wenn eine gesonderte Formulierung gegenüber der voreingestellten \enquote{im Fachbereich} und ihren Varianten notwendig ist. Hierfür liefert \code{\textbackslash{}department} ein optionales Argument:
+ Dieses Makro verfügt jedoch zusätzlich über die Möglichkeit abweichende Einträge gegenüber den Vorgaben anzugeben. Insbesondere wenn eine gesonderte Formulierung gegenüber der voreingestellten \enquote{im Fachbereich} und ihren Varianten notwendig ist. Hierfür liefert \code{\textbackslash{}department} ein optionales Argument:
- \begin{verbatim}
- \department[Ersatztext]{Kürzel/Bezeichnung}
- \end{verbatim}
- Zusätzlich gibt es ab Version 2.01 auch die Möglichkeit den gesamten Text \enquote{im Fachbereich <Bereichsbezeichnung>}, sowie die Angabe in der Infobox auf der Titelseite zu ersetzen. Dies geschieht über die gesternte Variante:
- \begin{verbatim}
- \department*[Text für die Box]{Text zwischen Typ und Autor}
- \end{verbatim}
+\begin{verbatim}
+ \department[Ersatztext]{Kürzel/Bezeichnung}
+\end{verbatim}
+ Zusätzlich gibt es ab Version 2.01 auch die Möglichkeit den gesamten Text \enquote{im Fachbereich <Bereichsbezeichnung>}, sowie die Angabe in der Infobox auf der Titelseite zu ersetzen. Dies geschieht über die gesternte Variante:
+\begin{verbatim}
+ \department*[Text für die Box]{Text zwischen Typ und Autor}
+\end{verbatim}
\item[group] Arbeitsgruppe.
\item[submissiondate] Datum der Einreichung
\item[examdate] Datum der Disputation
\item[date] Beliebiges Datum. Wird über \verb|datename| bezeichnet.
\item[publishers] Wird hier für die Ortsangabe verwendet und ist mit \enquote{Darmstadt}, bzw. \enquote{Darmstadt, Technische Universität Darmstadt} (bei Dissertationen) vorbelegt.
\item[tuprints] \label{page:tuprints}Übergabe der Daten, sofern das Dokument über TUprints Veröffentlicht werden soll.
- \begin{verbatim}
- \tuprints{
- printid=12345,
- urn=123456,
- year=2022
- }
- \end{verbatim}
- Falls das Argument kein Gleichheitszeichen erkennt, wird der Wert als \code{printid} gesetzt und keine URN angegeben.
-
- \minisec{Lizenzangabe}
- Ab Version 2.07 ist es zudem möglich einen eigenen Lizenztext über den Schlüssel \verb|license=<Text>| zu übergeben. Dieser ersetzt dann die voreingestellte Lizenzangabe.
-
- Es existieren (seit v3.08) vorgefertigte Werte für die Option \verb|license|, um eine einfachere Anpassung zu ermöglichen. Diese lauten:
-
- \parbox[t]{.5\linewidth}{%
- \ttfamily
- \href{https://creativecommons.org/licenses/by-nc-nd/2.0/}{cc-by-nc-nd-2.0-de} \textnormal{(noch aktuelle Voreinstellung)}\par
- \href{https://creativecommons.org/licenses/by/4.0/}{cc-by-4.0}\par
- \href{https://creativecommons.org/licenses/by-sa/4.0/}{cc-by-sa-4.0}\par
- \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{cc-by-nc-sa-4.0}\par
- }%
- \parbox[t]{.5\linewidth}{
- \ttfamily
- \href{https://creativecommons.org/licenses/by-nc-/4.0/}{cc-by-nc-4.0}\par
- \href{https://creativecommons.org/licenses/by-nd/4.0/}{cc-by-nd-4.0}\par
- \href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{cc-by-nc-nd-4.0}\par
- \href{https://rightsstatements.org/page/InC/1.0/}{inc-1.0}\textnormal{ (Ab Version 3.36)}
- }
-
- Dies ist Bestandteil der Vorbereitung zur Anpassung der Standardlizenz, welche durch die Universitätsbibliothek angepasst wurde.
- Die entsprechende Diskussion findet sich unter \url{https://github.com/tudace/tuda_latex_templates/issues/251} und eine Anpassung der Voreinstellung bei TUDa-CI ist für Version 4.0 vorgesehen.
-
- Unterstützung bei der Wahl einer passenden Creative Commons Lizenz bietet die ULB der TUDa unter https://www.ulb.tu-darmstadt.de/dpub oder das CC-Projekt sebst über seinen Lizenzfinder unter \url{http://creativecommons.org/choose/}.
- Die TU Darmstadt empfiehlt in Ihrer Publikationsrichtlinie und Open-Access-Policy die Nutzung der offenen CC BY 4.0 Lizenz.
-
- Falls ein von den oben gelisteten Schlüsseln abweichender Wert gesetzt wird, wird ebendieser direkt an der Stelle des Lizenztextes verwendet. Sofern der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
+\begin{verbatim}
+ \tuprints{
+ printid=12345,
+ urn=123456,
+ year=2022
+ }
+\end{verbatim}
+ Falls das Argument kein Gleichheitszeichen erkennt, wird der Wert als \code{printid} gesetzt und keine URN angegeben.
+
+ Die printid is die ID-Nummer des TUprints-Eintrags. Die urn ist ein dauerhaft eindeutig zitierfähiger Bezeichner für das Dokument. Die Nummer entspricht bei TUprints der printid mit Ergänzung einer Prüfzimmer. Beide Angaben sind in den Details des TUprints-Eintrags zu finden.
+
+ \minisec{Lizenzangabe}
+ Ab Version 2.07 ist es zudem möglich einen eigenen Lizenztext über den Schlüssel \verb|license=<Text>| zu übergeben. Dieser ersetzt dann die voreingestellte Lizenzangabe.
+
+ Es existieren (seit v3.08) vorgefertigte Werte für die Option \verb|license|, um eine einfachere Anpassung zu ermöglichen. Diese lauten:
+
+ \parbox[t]{.5\linewidth}{%
+ \ttfamily
+ \href{https://creativecommons.org/licenses/by/4.0/}{cc-by-4.0} \textnormal{Voreinstellung seit Version 4.0}\par
+ \href{https://creativecommons.org/licenses/by-sa/4.0/}{cc-by-sa-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{cc-by-nc-sa-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nc-/4.0/}{cc-by-nc-4.0}\par
+ }%
+ \parbox[t]{.5\linewidth}{
+ \ttfamily
+ \href{https://creativecommons.org/licenses/by-nd/4.0/}{cc-by-nd-4.0}\par
+ \href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{cc-by-nc-nd-4.0}\par
+ \href{https://rightsstatements.org/page/InC/1.0/}{inc-1.0}\textnormal{ (Ab Version 3.36)}
+ \href{https://creativecommons.org/licenses/by-nc-nd/2.0/}{cc-by-nc-nd-2.0-de}\par
+ }
+
+ Dies ist Bestandteil der Vorbereitung zur Anpassung der Standardlizenz, welche durch die Universitätsbibliothek angepasst wurde.
+ Die entsprechende Diskussion findet sich unter \url{https://github.com/tudace/tuda_latex_templates/issues/251}. Die Anpassung der Voreinstellung bei TUDa-CI geschah mit Version 4.0.
+
+ Unterstützung bei der Wahl einer passenden Creative Commons Lizenz bietet die ULB der TUDa unter https://www.ulb.tu-darmstadt.de/dpub oder das CC-Projekt sebst über seinen Lizenzfinder unter \url{http://creativecommons.org/choose/}.
+ Die TU Darmstadt empfiehlt in Ihrer Publikationsrichtlinie und Open-Access-Policy die Nutzung der offenen CC BY 4.0 Lizenz.
+
+ Falls ein von den oben gelisteten Schlüsseln abweichender Wert gesetzt wird, wird ebendieser direkt an der Stelle des Lizenztextes verwendet. Sofern der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
\item[titlegraphic] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Details sind in der allgemeinen TUDaPub-Dokumentation beschrieben \cite{tudapub}
\item[titleintro] Ab Version 2.03 kann zusätzlich über diesen Hook ein beliebiger Text direkt nach dem Untertitel und vor den automatischen Daten ergänzt werden.
\item[titleaddendum] Wie \code{\tbs{}titleintro} jedoch als letztes Element des Blocks.
@@ -326,10 +310,10 @@ Version 3.20 ermöglicht zusätzlich die Übergabe weiterer Optionen für den Si
Inwieweit diese Optionen verwendet werden dürfen ist jeweils vor der Verwendung durch die Nutzer:in abzuklären.
TUDa-CI kann hierfür keine gesicherte Aussage treffen.
\begin{verbatim}
- \affidavit[
- signature=Signaturname,
- signature-image={\includegraphics[width=\width]{signaturbild}}
- ]
+ \affidavit[
+ signature=Signaturname,
+ signature-image={\includegraphics[width=\width]{signaturbild}}
+ ]
\end{verbatim}
Eine vertikale Verschiebung des Signaturbildes ist nicht direkt implementiert, ist jedoch mit der Verwendung des \LaTeX-Makros \verb+\raisebox{<Verschiebung>}{<Inhalt>}+ problemlos möglich.
@@ -360,37 +344,34 @@ Die Zeilenlängen sind laut Corporate Design aus typografischer Sicht zu lang.
Daher existiert die Klassenoption \code{custommargins}, die für dieses Dokument aktiviert wurde (Wert \code{true}). Sie verfügt über die Werte \code{true}, \code{false} und \code{geometry} mit folgender Bedeutung:
\begin{description}
-\item[custommargins=false] Standardeinstellung von \cls{tudapub}. Die Ränder entsprechen den Vorgaben des Corporate Design Guidelines. Die Einstellung wird durch \pck{geometry} durchgeführt. Eigene Anpassungen werden durch das Ausführen von \code{\textbackslash{}maketitle} überschrieben.
-\item[custommargins=true] Die Einstellungen des Corporate Design Guidelines werden nicht aktiviert. \pck{geometry} wird nicht geladen. Dieser Modus entspricht der Standardeinstellung von \KOMAScript{}. Dadurch werden die Ränder nicht fest definiert, sondern auf Basis des \pck{typearea}-Paketes berechnet \cite[vgl.][]{scrguide}.
-\item[custommargins=geometry] Diese Variante wurde auf Wunsch zur Verfügung gestellt, allerdings wird darauf hingewiesen, dass manuelle Randeinstellungen oft nicht zu einem harmonischen Satzspiegel führt.
-\pck{geometry} wird, wie bei \code{false} geladen und vorkonfiguriert. Es ist allerdings möglich kleinere Anpassung durch die Verwendung des Makros \code{\textbackslash{}geometry} zu setzen. Die Einstellungen, die zu Beginn des Dokuments gelten werden gespeichert und nach der Titelseite wiederhergestellt.
+ \item[custommargins=false] Standardeinstellung von \cls{tudapub}. Die Ränder entsprechen den Vorgaben des Corporate Design Guidelines. Die Einstellung wird durch \pck{geometry} durchgeführt. Eigene Anpassungen werden durch das Ausführen von \code{\textbackslash{}maketitle} überschrieben.
+ \item[custommargins=true] Die Einstellungen des Corporate Design Guidelines werden nicht aktiviert. \pck{geometry} wird nicht geladen. Dieser Modus entspricht der Standardeinstellung von \KOMAScript{}. Dadurch werden die Ränder nicht fest definiert, sondern auf Basis des \pck{typearea}-Paketes berechnet \cite[vgl.][]{scrguide}.
+ \item[custommargins=geometry] Diese Variante wurde auf Wunsch zur Verfügung gestellt, allerdings wird darauf hingewiesen, dass manuelle Randeinstellungen oft nicht zu einem harmonischen Satzspiegel führt.
+ \pck{geometry} wird, wie bei \code{false} geladen und vorkonfiguriert. Es ist allerdings möglich kleinere Anpassung durch die Verwendung des Makros \code{\textbackslash{}geometry} zu setzen. Die Einstellungen, die zu Beginn des Dokuments gelten werden gespeichert und nach der Titelseite wiederhergestellt.
-Hierbei ist zu beachten, dass die Einstellungen als Ausgangspunkt den Voreingestellten Satzspiegel nutzen (je nach Option mit Randnotizspalte oder ohne). Es ist möglich diese Optionen vor den eigenen mit zurückzusetzen:
+ Hierbei ist zu beachten, dass die Einstellungen als Ausgangspunkt den Voreingestellten Satzspiegel nutzen (je nach Option mit Randnotizspalte oder ohne). Es ist möglich diese Optionen vor den eigenen mit zurückzusetzen:
\begin{verbatim}
- \geometry{
- reset,
- <Eigene Anpassungen>
- }
+\geometry{
+ reset,
+ <Eigene Anpassungen>
+}
\end{verbatim}
-Die gilt insbesondere für die Optionen \code{includehead}, \code{includefoot}, \code{includemp}.
+ Die gilt insbesondere für die Optionen \code{includehead}, \code{includefoot}, \code{includemp}.
\end{description}
-
\minisec{Hinweis zu den Kopf-/Fußzeilen}
Wenn die Option \code{marginpar=true} gesetzt bleibt, ragen die Kopf- und Fußzeile über die Marginalspalte hinaus. Aus ästhetischen Gründen wird daher empfohlen in diesem Fall die Kopf- und Fußzeile mit \code{marginpar=false} auf den Textbereich zu beschränken.
Auch ist das Standard-Layout der Kolumnentitel wenig vorteilhaft, da die Kolumnentitel damit local größer sein können als die eigentliche Überschrift. (\code{headline=automark})
Deswegen kann über
\begin{verbatim}
- \pagestyle{TUDa.headings}
+\pagestyle{TUDa.headings}
\end{verbatim}
ein einfacherer Seitenstil ausgewählt werden, der die Nutzung mit lebenden Kolumnentitel erheblich vereinfacht. Dieser Stil ist über \pck{scrlayer-scrpage} realisiert und kann entsprechend der \KOMAScript{}-Dokumentation angepasst werden.
\minisec{Hinweis zur Bindekorrektur}
Bei Verwendung einer Bindekorrektur (\code{BCOR=<Länge>}) wird diese nicht automatisch auch auf der Titelseite eingefügt. Für diesen Fall wurde mit Version 3.0 zusätzlich die Option \code{BCORtitlepage} hinzugefügt. Falls diese aktiviert wird, nimmt die Titelseite den Wert der Typearea Option \code{BCOR} auf der ersten Seite als Zusatz zum linken Rand hinzu.
-
-
\section{Spezielle Optionen für Abschlussarbeiten}
Die Klasse unterstützt alle Optionen der \file{tudapub}-Klasse. Darüber hinaus besteht über Wertzuweisung der Option \code{thesis} die Möglichkeit spezielle Einstellungen zu wählen.
Es ist prinzipiell möglich die Optionen auch direkt als Optionen zur \file{tudapub}-Klasse zu übergeben, allerdings ist dies aufgrund der schlechteren Übersicht nicht zu empfehlen.
@@ -403,58 +384,58 @@ thesis={type=drfinal,dr=phil}
Im folgenden findet sich die Bedeutung der einzelnen Optionen:
\begin{description}
-\item[type=<Wert>] Auswahl des Typus. Dieser wird auf die Titelseite gesetzt und wählt zudem aus welche Daten für die Titelseite zwingend übergeben werden müssen.
- Es stehen die folgenden Werte zur Verfügung (die Werte in Klammern sind die notwendigen Titeldaten):
- \begin{itemize}
- \item \code{sta}: Studienarbeit (title, author, date)
- \item \code{diplom}: Diplomarbeit (title, author, submissiondate, reviewer, department)
- \item \code{bachelor}: Bachelorarbeit (title, author, submissiondate, department, reviewer)
- \item \code{master}: Masterarbeit (title, author, submissiondate, department, reviewer)
- \item \code{pp}: Project-Proposal (title, author, date, department)
- \item \code{dr}: vorgelegte Dissertation (title, author, submissiondate , birthplace, department, reviewer)
- \item \code{drfinal}: genehmigte Dissertation (title, author, submissiondate,examdate, birthplace, department, reviewer)
- \end{itemize}
- Wird ein Typus angegeben, der nicht erkannt wird, so wird der Text direkt übergeben. Notwendige Titelfelder über den Titel hinaus gibt es in diesem Fall nicht.
-\item[dr=<Kürzel>] Lädt einen der vordefinierten Texte für die Titelseite. Als Werte stehen bislang \code{rernat}, \code{ing} und \code{phil} zur Verfügung. Zum Beispiel lädt der Wert \code{phil}:
- \begin{quote}
- Zur Erlangung des Grades eines Doktor der Philosophie (Dr.\,phil.)
- \end{quote}
- Sofern keiner dieser Werte dem angestrebten Titel entspricht, kann ein Text direkt übergeben werden.
- \begin{verbatim}
- \drtext{Zur Erlangung des Grades \ldots}
- \end{verbatim}
-\item[department=<Kürzel>] Die Fachbereiche sind fest als Textbausteine in Deutscher sowie Englischer Sprache hinterlegt. Diese Option ermöglicht die Auswahl als Dokumentenklassenoption. Aus Kompatibilitätsgründen kann jedoch auch das Makro \code{department}-Makro hierfür genutzt werden. Zur Verfügung stehen:\par
- \begin{tabular}{@{}l@{${}\to{}$}l@{}}
- arch & Architektur\\
- bauing& Bau- und Umweltingenieurwissenschaften\\
- bio &Biologie\\
- chem &Chemie\\
- etit &Elektrotechnik und Informationstechnik\\
- gugw &Gesellschafts- und Geschichtswissenschaften\\
- humanw&Humanwissenschaften\\
- inf &Informatik\\
- mb &Maschinenbau\\
- matgeo&Material- und Geowissenschaften\\
- math &Mathematik\\
- phys &Physik\\
- wi &Rechts- und Wirtschaftswissenschaften
- \end{tabular}
-
- Neben den Fachbereichen existieren für Abschlussarbeiten, die keine Dissertationen sind auch Studienbereiche.
- Falls das Kürzel nicht als Fachbereich hinterlegt ist, wird automatisch auf die Studienbereiche geprüft. Die Studienbereiche haben die folgenden Kürzel:
-
- \begin{tabular}{@{}l@{${}\to{}$}l@{}}
- ce&Computational Engineering\\
- ese&Energy Science and Engineering\\
- ist&Information Systems Engineering\\
- mech&Mechanik\\
- metro&Mechatronik
- \end{tabular}
-
- Falls etwas anderes als eines dieser Kürzel übergeben wird, wird der Text direkt verwendet und eine entsprechende Warnung ausgegeben.
-
- Die Auswahl der Fachrichtung erzeugt zusätzlich eine Box auf der Titelseite unterhalb des Logos. Falls diese automatische Erstellung nicht gewünscht ist, kann dies über die Option \code{instbox=false} deaktiviert werden.
-\item[ignore-missing-data] Diese Option ist ein Schalter, der es ermöglicht die Fehlermeldung über nicht übergebene Titeldaten auszuschalten. In diesem Fall wird lediglich eine Warnung erzeugt, falls die angegeben Daten nicht mit den Anforderungen übereinstimmen.
+ \item[type=<Wert>] Auswahl des Typus. Dieser wird auf die Titelseite gesetzt und wählt zudem aus welche Daten für die Titelseite zwingend übergeben werden müssen.
+ Es stehen die folgenden Werte zur Verfügung (die Werte in Klammern sind die notwendigen Titeldaten):
+ \begin{itemize}
+ \item \code{sta}: Studienarbeit (title, author, date)
+ \item \code{diplom}: Diplomarbeit (title, author, submissiondate, reviewer, department)
+ \item \code{bachelor}: Bachelorarbeit (title, author, submissiondate, department, reviewer)
+ \item \code{master}: Masterarbeit (title, author, submissiondate, department, reviewer)
+ \item \code{pp}: Project-Proposal (title, author, date, department)
+ \item \code{dr}: vorgelegte Dissertation (title, author, submissiondate , birthplace, department, reviewer)
+ \item \code{drfinal}: genehmigte Dissertation (title, author, submissiondate,examdate, birthplace, department, reviewer)
+ \end{itemize}
+ Wird ein Typus angegeben, der nicht erkannt wird, so wird der Text direkt übergeben. Notwendige Titelfelder über den Titel hinaus gibt es in diesem Fall nicht.
+ \item[dr=<Kürzel>] Lädt einen der vordefinierten Texte für die Titelseite. Als Werte stehen bislang \code{rernat}, \code{ing} und \code{phil} zur Verfügung. Zum Beispiel lädt der Wert \code{phil}:
+ \begin{quote}
+ Zur Erlangung des Grades eines Doktor der Philosophie (Dr.\,phil.)
+ \end{quote}
+ Sofern keiner dieser Werte dem angestrebten Titel entspricht, kann ein Text direkt übergeben werden.
+\begin{verbatim}
+ \drtext{Zur Erlangung des Grades \ldots}
+\end{verbatim}
+ \item[department=<Kürzel>] Die Fachbereiche sind fest als Textbausteine in Deutscher sowie Englischer Sprache hinterlegt. Diese Option ermöglicht die Auswahl als Dokumentenklassenoption. Aus Kompatibilitätsgründen kann jedoch auch das Makro \code{department}-Makro hierfür genutzt werden. Zur Verfügung stehen:\par
+ \begin{tabular}{@{}l@{${}\to{}$}l@{}}
+ arch & Architektur\\
+ bauing& Bau- und Umweltingenieurwissenschaften\\
+ bio &Biologie\\
+ chem &Chemie\\
+ etit &Elektrotechnik und Informationstechnik\\
+ gugw &Gesellschafts- und Geschichtswissenschaften\\
+ humanw&Humanwissenschaften\\
+ inf &Informatik\\
+ mb &Maschinenbau\\
+ matgeo&Material- und Geowissenschaften\\
+ math &Mathematik\\
+ phys &Physik\\
+ wi &Rechts- und Wirtschaftswissenschaften
+ \end{tabular}
+
+ Neben den Fachbereichen existieren für Abschlussarbeiten, die keine Dissertationen sind auch Studienbereiche.
+ Falls das Kürzel nicht als Fachbereich hinterlegt ist, wird automatisch auf die Studienbereiche geprüft. Die Studienbereiche haben die folgenden Kürzel:
+
+ \begin{tabular}{@{}l@{${}\to{}$}l@{}}
+ ce&Computational Engineering\\
+ ese&Energy Science and Engineering\\
+ ist&Information Systems Engineering\\
+ mech&Mechanik\\
+ metro&Mechatronik
+ \end{tabular}
+
+ Falls etwas anderes als eines dieser Kürzel übergeben wird, wird der Text direkt verwendet und eine entsprechende Warnung ausgegeben.
+
+ Die Auswahl der Fachrichtung erzeugt zusätzlich eine Box auf der Titelseite unterhalb des Logos. Falls diese automatische Erstellung nicht gewünscht ist, kann dies über die Option \code{instbox=false} deaktiviert werden.
+ \item[ignore-missing-data] Diese Option ist ein Schalter, der es ermöglicht die Fehlermeldung über nicht übergebene Titeldaten auszuschalten. In diesem Fall wird lediglich eine Warnung erzeugt, falls die angegeben Daten nicht mit den Anforderungen übereinstimmen.
\end{description}
\minisec{Abweichung von den Vorgaben für die Titelseite}
@@ -468,3 +449,4 @@ Setspace liefert hierfür die Möglichkeit, das Paket ohne Optionen zu laden und
\printbibliography
\end{document}
+%% End of file `DEMO-TUDaThesis-de.tex'.
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index f57f5caefe..67c92a5939 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.36 (2024-01-05),
+%% This is file `beamercolorthemeTUDa.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,53 +25,50 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthemeTUDa}
-[\filedate\space\fileversion]
-\ExplSyntaxOn
-\bool_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool}
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesPackage{beamercolorthemeTUDa}[2024-01-22 v3.35]
-\keys_define:nn {ptxcd/beamer/color} {
- colortitle .bool_gset:N = \g_ptxcd_beamer_colortitle_bool,
- colortitle .default:n = true,
- colortitle .initial:n = true,
- colorbacktitle .meta:n = {colortitle=#1},
- colorframetitle .code:n = \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool \cs_if_exist_use:N \__ptxcd_setup_frametitle_color:,
- colorframetitle .default:n = true,
- colorback .meta:n = {colorframetitle=#1}
+\ExplSyntaxOn
+\clist_map_inline:nn {
+ colortitle,
+ colorbacktitle,
+ colorframetitle,
+ colorback
+} {
+ \keys_define:nn {ptxcd/beamer/color} {#1 .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {#1}}
}
-\ProcessKeyOptions[ptxcd/beamer/color]
-
-\ExplSyntaxOff
-\RequirePackage[RGB]{tudacolors}
-
-\mode<presentation>
-
-\setbeamercolor*{smallrule}{bg=black}
-\setbeamercolor*{identbar}{bg=identbarcolor}
+\keys_define:nn {ptxcd/beamer/color} {
-\ExplSyntaxOn
-\bool_if:NTF \g_ptxcd_beamer_colortitle_bool {
- \setbeamercolor*{title}{fg=textonaccentcolor,bg=accentcolor}
-}{
- \setbeamercolor*{title}{parent=normal~text}
}
+\ExplSyntaxOff
+\ProcessKeyOptions[ptxcd/beamer/color]
-\cs_new:Nn \__ptxcd_setup_frametitle_color: {
- \bool_if:NTF \g__ptxcd_colorframetitle_bool {
- \setbeamercolor*{frametitle}{fg=textonaccentcolor,bg=accentcolor}
- } {
- \setbeamercolor*{frametitle}{use=normal~text,fg=normal~text.fg,bg=}
- }
+\RequirePackage{tudacolors}
+
+\definecolorset{HTML}{TUDa-}{}{%
+ dark1,000000;%
+ dark2,44546A;%
+ light1,FFFFFF;%
+ light2,E7E6E6;%
+ accent1,E6001A;%
+ accent2,004E8A;%
+ accent3,009CDA;%
+ accent4,00689D;%
+ accent5,B5B5B5;%
+ accent5,535353;%
+ hyperlink,243572%
}
-\__ptxcd_setup_frametitle_color:
+\mode<presentation>
-\ExplSyntaxOff
+\setbeamercolor*{title}{parent=normal text}
+\setbeamercolor{subtitle}{parent=title}
+\setbeamercolor{author}{parent=title}
+\setbeamercolor{institute}{parent=title}
+\setbeamercolor{date}{parent=title}
+\setbeamercolor{titlelike}{parent=title}
\setbeamercolor*{author}{parent=title}
\setbeamercolor*{institute}{parent=title}
@@ -82,7 +79,7 @@
\setbeamercolor*{footline}{parent=normal text}
\setbeamercolor*{alerted text}{fg=textaccentcolor}
-\setbeamercolor*{structure}{fg=textaccentcolor}
+\setbeamercolor*{structure}{fg=black}
\setbeamercolor{bibliography item}{parent=item}
\setbeamercolor{bibliography entry author}{use=structure,fg=structure.fg}
@@ -90,21 +87,21 @@
\setbeamercolor{bibliography entry location}{use=structure,fg=structure.fg}
\setbeamercolor{bibliography entry note}{use=structure,fg=normal text.fg}
-\setbeamercolor{titlelike}{fg=textaccentcolor,bg=white}
+
\setbeamercolor*{block title}{fg=textonaccentcolor,bg=accentcolor}
\setbeamercolor*{block body}{fg=black,bg=black!15}
-\setbeamercolor*{block title alerted}{fg=TUDa-9b,bg=black!15}
+\setbeamercolor*{block title alerted}{fg=TUDa-accent1,bg=TUDa-light2}
\setbeamercolor*{block body alerted}{use=normal text, bg=white}
-\setbeamercolor*{block frame alerted}{bg=TUDa-9b}
+\setbeamercolor*{block frame alerted}{bg=TUDa-accent1}
-\setbeamercolor*{block title example}{fg=TUDa-4d,bg=black!15}
+\setbeamercolor*{block title example}{fg=TUDa-accent2,bg=TUDa-light2}
\setbeamercolor*{block body example}{use=normal text, bg=white}
-\setbeamercolor*{block frame example}{bg=TUDa-4d}
+\setbeamercolor*{block frame example}{bg=TUDa-accent2}
+\setbeamercolor{footline}{fg=black!50}
-\mode
-<all>
+\mode<all>
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
index f1f4835aec..46c7da19c9 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
@@ -1,9 +1,9 @@
-%% This is file `beamercolorthemeTUDa2023.sty' version 3.36 (2024-01-05),
+%% This is file `beamercolorthemeTUDa2008.sty' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,23 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthemeTUDa2023}
-[\filedate\space\fileversion]
-\ExplSyntaxOn
-
-\clist_map_inline:nn {colortitle,
- colorbacktitle,
- colorframetitle,
- colorback
-} {
- \keys_define:nn {ptxcd/beamer/color} {#1 .code:n = \msg_warning:nn {tudabeamer} {option-removed} {#1}}
-}
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesExplPackage{beamercolorthemeTUDa2008}{2024-04-21}{3.37}{Beamer color theme of tuda-ci, compatibility for design of 2008}
+\bool_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool}
\keys_define:nn {ptxcd/beamer/color} {
-
+ colortitle .bool_gset:N = \g_ptxcd_beamer_colortitle_bool,
+ colortitle .default:n = true,
+ colortitle .initial:n = true,
+ colorbacktitle .meta:n = {colortitle=#1},
+ colorframetitle .code:n = \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool \cs_if_exist_use:N \__ptxcd_setup_frametitle_color:,
+ colorframetitle .default:n = true,
+ colorback .meta:n = {colorframetitle=#1}
}
\ProcessKeyOptions[ptxcd/beamer/color]
@@ -49,29 +44,29 @@
\ExplSyntaxOff
\RequirePackage[RGB]{tudacolors}
-\definecolorset{HTML}{TUDa-}{}{%
- dark1,000000;%
- dark2,44546A;%
- light1,FFFFFF;%
- light2,E7E6E6;%
- accent1,E6001A;%
- accent2,004E8A;%
- accent3,009CDA;%
- accent4,00689D;%
- accent5,B5B5B5;%
- accent5,535353;%
- hyperlink,243572%
+\mode<presentation>
+
+\setbeamercolor*{smallrule}{bg=black}
+\setbeamercolor*{identbar}{bg=identbarcolor}
+
+\ExplSyntaxOn
+\bool_if:NTF \g_ptxcd_beamer_colortitle_bool {
+ \setbeamercolor*{title}{fg=textonaccentcolor,bg=accentcolor}
+}{
+ \setbeamercolor*{title}{parent=normal~text}
}
-\mode<presentation>
+\cs_new:Nn \__ptxcd_setup_frametitle_color: {
+ \bool_if:NTF \g__ptxcd_colorframetitle_bool {
+ \setbeamercolor*{frametitle}{fg=textonaccentcolor,bg=accentcolor}
+ } {
+ \setbeamercolor*{frametitle}{use=normal~text,fg=normal~text.fg,bg=}
+ }
+}
-\setbeamercolor*{title}{parent=normal text}
-\setbeamercolor{subtitle}{parent=title}
-\setbeamercolor{author}{parent=title}
-\setbeamercolor{institute}{parent=title}
-\setbeamercolor{date}{parent=title}
-\setbeamercolor{titlelike}{parent=title}
+\__ptxcd_setup_frametitle_color:
+\ExplSyntaxOff
\setbeamercolor*{author}{parent=title}
\setbeamercolor*{institute}{parent=title}
@@ -81,7 +76,7 @@
\setbeamercolor*{footline}{parent=normal text}
\setbeamercolor*{alerted text}{fg=textaccentcolor}
-\setbeamercolor*{structure}{fg=black}
+\setbeamercolor*{structure}{fg=textaccentcolor}
\setbeamercolor{bibliography item}{parent=item}
\setbeamercolor{bibliography entry author}{use=structure,fg=structure.fg}
@@ -89,7 +84,7 @@
\setbeamercolor{bibliography entry location}{use=structure,fg=structure.fg}
\setbeamercolor{bibliography entry note}{use=structure,fg=normal text.fg}
-
+\setbeamercolor{titlelike}{fg=textaccentcolor,bg=white}
\setbeamercolor*{block title}{fg=textonaccentcolor,bg=accentcolor}
\setbeamercolor*{block body}{fg=black,bg=black!15}
@@ -101,11 +96,10 @@
\setbeamercolor*{block title example}{fg=TUDa-4d,bg=black!15}
\setbeamercolor*{block body example}{use=normal text, bg=white}
\setbeamercolor*{block frame example}{bg=TUDa-4d}
+\ExplSyntaxOn
-\setbeamercolor{footline}{fg=black!50}
+\mode<all>
-\mode
-<all>
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index e5d474ff9a..a245163dc1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.36 (2024-01-05),
+%% This is file `beamerfontthemeTUDa.sty' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,13 +25,10 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthemeTUDa}
- [\filedate\space\fileversion]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesExplPackage{beamerfontthemeTUDa}{2024-04-21}{3.37}{Beamer font theme of tuda-ci}
+\RequirePackage{tudafonts}
-\ExplSyntaxOn
\keys_define:nn {ptxcd/beamer/fonts} {
serif .bool_gset:N = \g_ptxcd_serif_bool,
serif .default:n = true,
@@ -42,25 +39,35 @@
\ProcessKeyOptions[ptxcd/beamer/fonts]
-\ExplSyntaxOff
-
\mode<presentation>
-\RequirePackage{tudafonts}
-
-\ExplSyntaxOn
\bool_if:NTF \g_ptxcd_serif_bool
{\usefonttheme{serif}}
{\renewcommand*{\familydefault}{\sfdefault}}
+
\ExplSyntaxOff
-\setbeamerfont{title}{size=\large,series=\bfseries}
-\setbeamerfont{subtitle}{size=\normalsize,series=\bfseries}
+\setbeamerfont{title}{family=\robotoblack,size=\huge}
+\setbeamerfont*{subtitle}{family=\normalfont,size=\small}
+
\setbeamerfont{author}{size=\footnotesize, series=\bfseries}
\setbeamerfont{institute}{size=\footnotesize, series=\mdseries}
-\setbeamerfont{frametitle}{size=\large,series=\bfseries}
-\setbeamerfont{author in head/foot}{size=\tiny}
+\setbeamerfont*{frametitle}{size*={20}{20},family=\robotoblack}
+
+\setbeamerfont{footline}{size*={3.8}{5}}
+\setbeamerfont{author in head/foot}{parent=footline}
+\setbeamerfont{title in head/foot}{family=\robotoblackspaced}
+
+\setbeamerfont*{section title}{size=\huge,family=\robotoblack}
+\setbeamerfont*{section name}{size=\small}
+\setbeamerfont{section entry}{size=\footnotesize}
+\setbeamerfont{toc section number}{family=\robotoblack,size=\huge}
+
+\setbeamerfont{subsection in toc}{parent=section entry}
+\setbeamerfont{subsubsection in toc}{parent=section entry}
+
+\ExplSyntaxOn
\mode<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
index 14663a8528..737f759508 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerfontthemeTUDa2023.sty' version 3.36 (2024-01-05),
+%% This is file `beamerfontthemeTUDa2008.sty' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,13 +25,11 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthemeTUDa2023}
- [\filedate\space\fileversion]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesExplPackage{beamerfontthemeTUDa2008}{2024-04-21}{3.37}{Beamer font theme of tuda-ci, compatibility for design of 2008}
+
+\RequirePackage{tudafonts}
-\ExplSyntaxOn
\keys_define:nn {ptxcd/beamer/fonts} {
serif .bool_gset:N = \g_ptxcd_serif_bool,
serif .default:n = true,
@@ -42,37 +40,19 @@
\ProcessKeyOptions[ptxcd/beamer/fonts]
-\ExplSyntaxOff
-
\mode<presentation>
-\RequirePackage{tudafonts}
-
-\ExplSyntaxOn
\bool_if:NTF \g_ptxcd_serif_bool
{\usefonttheme{serif}}
{\renewcommand*{\familydefault}{\sfdefault}}
-\ExplSyntaxOff
-
-\setbeamerfont{title}{family=\robotoblack,size=\huge}
-\setbeamerfont*{subtitle}{family=\normalfont,size=\small}
+\setbeamerfont{title}{size=\large,series=\bfseries}
+\setbeamerfont{subtitle}{size=\normalsize,series=\bfseries}
\setbeamerfont{author}{size=\footnotesize, series=\bfseries}
\setbeamerfont{institute}{size=\footnotesize, series=\mdseries}
-\setbeamerfont{frametitle}{series=\bfseries,size*={20}{20},family=\robotoblack}
-
-\setbeamerfont{footline}{size*={3.8}{5}}
-\setbeamerfont{author in head/foot}{parent=footline}
-\setbeamerfont{title in head/foot}{family=\robotoblackspaced}
-
-\setbeamerfont*{section title}{size=\huge,family=\robotoblack}
-\setbeamerfont*{section name}{size=\small}
-\setbeamerfont{section entry}{size=\footnotesize}
-\setbeamerfont{toc section number}{family=\robotoblack,size=\huge}
-
-\setbeamerfont{subsection in toc}{parent=section entry}
-\setbeamerfont{subsubsection in toc}{parent=section entry}
+\setbeamerfont{frametitle}{size=\large,series=\bfseries}
+\setbeamerfont{author~in~head/foot}{size=\tiny}
\mode<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 832504cbf4..6a9072ed6e 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerinnerthemeTUDa2023.sty' version 3.36 (2024-01-05),
+%% This is file `beamerinnerthemeTUDa.sty' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,10 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{beamerinnerthemeTUDa2023}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci}
+\ProvidesExplPackage{beamerinnerthemeTUDa}{2024-04-21}{3.37}{Inner~beamer~theme~of~tuda-ci}
\int_new:N \g__ptxcd_beamer_toc_col_int
@@ -43,7 +41,7 @@
design / 2008 .code:n = {
\tl_gset:Nn \g__ptxcd_design_tl {2008}
},
- design .initial:n = 2008,
+ design .initial:n = 2023,
design2023 .meta:n = {design=2023},
design2008 .meta:n = {design=2008},
}
@@ -53,14 +51,14 @@
author-on-title .bool_gset:N = \g_ptxcd_authorontitle_bool,
author-on-title .initial:n = false,
author-on-title .default:n = true,
- authorontitle .meta:n = {author-on-title},
+ authorontitle .meta:n = {author-on-title=#1},
toc-columns .choices:nn = {one,two,auto} {
\int_gset_eq:NN \g__ptxcd_beamer_toc_col_int \l_keys_choice_int
- },
- toc-columns / 1 .meta:n = {toc-columns=one},
- toc-columns / 2 .meta:n = {toc-columns=two},
- toc-columns .initial:n = auto,
- design .meta:nn = {ptxcd/beamer} {design=#1}
+ },
+ toc-columns / 1 .meta:n = {toc-columns=one},
+ toc-columns / 2 .meta:n = {toc-columns=two},
+ toc-columns .initial:n = auto,
+ design .meta:nn = {ptxcd/beamer} {design=#1}
}
\ProcessKeyOptions[ptxcd/beamer/inner]
@@ -106,10 +104,7 @@
\useinnertheme{TUDa\g__ptxcd_design_tl}
% Blocks
-
-
-\defbeamertemplate*{block~begin}{TUDa}
-{
+\defbeamertemplate*{block~begin}{TUDa}{
\par\vskip\medskipamount%
\begin{beamercolorbox}[wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,sep=.5pt,
leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
@@ -128,13 +123,11 @@
\begin{beamercolorbox}[colsep*=\__ptxcd_block_colorsep:,vmode, wd=\dimexpr\linewidth-1.5ex-1pt\relax]{block~body}%
\usebeamerfont{block~body}%
\ifbeamercolorempty[bg]{block~body}{\vskip-.25ex}{\vskip-\__ptxcd_block_colorsep:}\vbox{}%
- }
-
+}
\defbeamertemplate*{block~end}{TUDa}
{\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
-\defbeamertemplate*{block~alerted~begin}{TUDa}
-{
+\defbeamertemplate*{block~alerted~begin}{TUDa}{
\par\vskip\medskipamount%
\begin{beamercolorbox}[
wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
@@ -151,14 +144,12 @@
\leavevmode
\usebeamerfont{block~body~alerted}%
\begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~alerted}%
- }
-
+}
\defbeamertemplate*{block~alerted~end}{TUDa}
{\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
-\defbeamertemplate*{block~example~begin}{TUDa}
-{
+\defbeamertemplate*{block~example~begin}{TUDa}{
\par\vskip\medskipamount%
\begin{beamercolorbox}[
wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
@@ -175,7 +166,7 @@
\leavevmode
\usebeamerfont{block~body~example}%
\begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~example}%
- }
+}
\defbeamertemplate*{block~example~end}{TUDa}
{\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
index 0e87fea683..cab08e361c 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerinnerthemeTUDa2008.sty' version 3.36 (2024-01-05),
+%% This is file `beamerinnerthemeTUDa2008.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,88 +25,91 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci, compatibility for design of 2008}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplPackage{beamerinnerthemeTUDa2008}{2024-04-21}{3.37}{Inner~beamer~theme~of~tuda-ci, compatibility for design of 2008}
\mode<presentation>
\RequirePackage{beamerinnerthemeTUDa2008}
-\defbeamertemplate*{title~ page}{TUDa}[1][]
-{
+\defbeamertemplate*{title~ page}{TUDa}[1][]{
\nointerlineskip
\vspace{\dim_eval:n {-\c_ptxcd_largerule_dim}}
\hbox_set:Nn \l__ptxcd_titlehead_box {
- \parbox{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim}{%
- \begin{beamercolorbox}[
- wd=\linewidth,
- sep=\g__ptxcd_beamer_logosep_dim,
- ]{title}
- \raggedright
- \usebeamerfont{title}
- \skip_horizontal:n {1ex}
- \strut\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{
- \inserttitle
- \par
- }
- \hspace{\fill}\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\box_use:N \g__ptxcd_logo_box}
- \ifx\insertsubtitle\@empty
- \else
- \par\vspace{\c_ptxcd_largerule_dim}
- \skip_horizontal:n {1ex}\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{
- \usebeamerfont{subtitle}\insertsubtitle
- }
- \fi
- \end{beamercolorbox}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bool_if:NT \g_ptxcd_authorontitle_bool {
-\par\nointerlineskip
-\begin{beamercolorbox}[
- wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule}
-\end{beamercolorbox}
-\par\nointerlineskip
- \begin{beamercolorbox}[
- wd=\linewidth,
- sep=\c_ptxcd_largerule_dim,
- ]{title}
- \raggedright
- \skip_horizontal:n {1ex}
- \parbox[t]{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim-2ex\relax}{
- \ifx\insertauthor\@empty
- \else
- \usebeamercolor[fg]{author}\usebeamerfont{author}\insertauthor\par
- \fi
- \ifx\insertauthor\@empty
- \else
- \usebeamercolor[fg]{institute}\usebeamerfont{institute}\insertinstitute
- \fi
- }
-\end{beamercolorbox}
-}
- }
+ \parbox{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim}{%
+ \begin{beamercolorbox}[
+ wd=\linewidth,
+ sep=\g__ptxcd_beamer_logosep_dim,
+ ]{title}
+ \raggedright
+ \usebeamerfont{title}
+ \skip_horizontal:n {1ex}
+ \strut\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{
+ \inserttitle
+ \par
+ }
+ \hspace{\fill}\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\box_use:N \g__ptxcd_logo_box}
+ \ifx\insertsubtitle\@empty
+ \else
+ \par\vspace{\c_ptxcd_largerule_dim}
+ \skip_horizontal:n {1ex}\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{
+ \usebeamerfont{subtitle}\insertsubtitle
+ }
+ \fi
+ \end{beamercolorbox}
+
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \par\nointerlineskip
+ \begin{beamercolorbox}[
+ wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule}
+ \end{beamercolorbox}
+ \par\nointerlineskip
+ \begin{beamercolorbox}[
+ wd=\linewidth,
+ sep=\c_ptxcd_largerule_dim,
+ ]{title}
+ \raggedright
+ \skip_horizontal:n {1ex}
+ \parbox[t]{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim-2ex\relax}{
+ \ifx\insertauthor\@empty
+ \else
+ \usebeamercolor[fg]{author}\usebeamerfont{author}\insertauthor\par
+ \fi
+ \ifx\insertauthor\@empty
+ \else
+ \usebeamercolor[fg]{institute}\usebeamerfont{institute}\insertinstitute
+ \fi
+ }
+ \end{beamercolorbox}
+ }
+ }
}
\box_use:N \l__ptxcd_titlehead_box
-\nointerlineskip\begin{beamercolorbox}[
- wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule}
+ \nointerlineskip\begin{beamercolorbox}[
+ wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule}
\end{beamercolorbox}
\dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {\textheight-\box_ht:N\l__ptxcd_titlehead_box-\box_dp:N \l__ptxcd_titlehead_box
- +\c_ptxcd_largerule_dim-.5\c_ptxcd_rulesep_dim-\c_ptxcd_smallrule_dim}
+ +\c_ptxcd_largerule_dim-.5\c_ptxcd_rulesep_dim-\c_ptxcd_smallrule_dim}
\let\height\l__ptxcd_titlegraphic_ht_dim
\dim_set:Nn \l__ptxcd_titlegraphic_wd_dim{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim}
\let\width\l__ptxcd_titlegraphic_wd_dim
\nointerlineskip
\begin{beamercolorbox}[wd=\width,center]{titlegraphic}
- \raisebox{-\c_ptxcd_largerule_dim}[\dim_eval:n {\height-\c_ptxcd_largerule_dim}][0pt]{\inserttitlegraphic}
+ \raisebox{-\c_ptxcd_largerule_dim}[\dim_eval:n {\height-\c_ptxcd_largerule_dim}][0pt]{\inserttitlegraphic}
\end{beamercolorbox}
-% \endgroup
}
%Itemize Items
-\defbeamertemplate*{itemize~item}{TUDa}{\usebeamerfont*{itemize~item}\raise\dimexpr.4\ht\strutbox-.4ex\hbox{\rule{.8ex}{.8ex}}}
-\defbeamertemplate*{itemize~subitem}{TUDa}{\usebeamerfont*{itemize~item}\setlength{\fboxsep}{\z@}\setlength{\fboxrule}{1pt}\raise\dimexpr.4\ht\strutbox-.2ex-\fboxrule\hbox{\fbox{\color{bg}\rule{.4ex}{.4ex}}}}
-\defbeamertemplate*{itemize~subsubitem}{TUDa}{\usebeamerfont*{itemize~subitem}\hbox{--}}
+\defbeamertemplate*{itemize~item}{TUDa}{
+ \usebeamerfont*{itemize~item}
+ \raise\dimexpr.4\ht\strutbox-.4ex\hbox{\rule{.8ex}{.8ex}}
+}
+\defbeamertemplate*{itemize~subitem}{TUDa}{
+ \usebeamerfont*{itemize~subitem}
+ \setlength{\fboxsep}{\z@}\setlength{\fboxrule}{1pt}
+ \raise\dimexpr.4\ht\strutbox-.2ex-\fboxrule\hbox{\fbox{\color{bg}\rule{.4ex}{.4ex}}}
+}
+\defbeamertemplate*{itemize~subsubitem}{TUDa}{\usebeamerfont*{itemize~subsubitem}\hbox{--}}
\mode<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
index 615e2ab5a3..22d50340c2 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerinnerthemeTUDa2023.sty' version 3.36 (2024-01-05),
+%% This is file `beamerinnerthemeTUDa2023.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,10 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{beamerinnerthemeTUDa2023}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci,~Design~of~2023}
+\NeedsTeXFormat{LaTeX2e}[2022/10/01]
+\ProvidesExplPackage{beamerinnerthemeTUDa2023}{2024-04-21}{3.37}{Inner~beamer~theme~of~tuda-ci,~Design~of~2023}
\mode<presentation>
@@ -38,75 +36,74 @@
\RequirePackage{multicol}
\ExplSyntaxOn
-
\AddToHook{begindocument}[ptxcd-titlegraphic]{
\dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {\paperheight}
\dim_set:Nn \l__ptxcd_titlegraphic_wd_dim {\paperwidth}
}
\defbeamertemplate*{titlegraphic}{TUDa2023}{{
- \def\width{\l__ptxcd_titlegraphic_wd_dim}
- \def\height{\l__ptxcd_titlegraphic_ht_dim}
- \usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par
-}}
+ \def\width{\l__ptxcd_titlegraphic_wd_dim}
+ \def\height{\l__ptxcd_titlegraphic_ht_dim}
+ \usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par
+ }}
\def\ps@titlegraphic@titlepage{%
- \setbeamertemplate{background}{\usebeamertemplate{titlegraphic}}
- \@nameuse{ps@navigation}%
+ \setbeamertemplate{background}{\usebeamertemplate{titlegraphic}}
+ \@nameuse{ps@navigation}%
}
\defbeamertemplate*{title~page}{TUDa2023}[1][]
{
- \ifbeamer@plainframe
- \skip_vertical:n {\dimexpr\paperheight/38- \beamer@frametopskip}%
- \color{red}
- \hspace*{\fill}
- \raisebox{\dimexpr-\height+.33\c_ptxcd_logoheight_dim}{\includegraphics[height=\dim_use:N \c_ptxcd_logoheight_dim]{tuda_logo}}\hspace*{\dimexpr.7pt-\beamer@rightmargin}
- \par
- \vskip1.39\baselineskip
- \fi
- \vbox{}
- \thispagestyle{titlegraphic@titlepage}
+ \ifbeamer@plainframe
+ \skip_vertical:n {\dimexpr\paperheight/38- \beamer@frametopskip}%
+ \color{red}
+ \hspace*{\fill}
+ \raisebox{\dimexpr-\height+.33\c_ptxcd_logoheight_dim}{\includegraphics[height=\dim_use:N \c_ptxcd_logoheight_dim]{tuda_logo}}\hspace*{\dimexpr.7pt-\beamer@rightmargin}
+ \par
+ \vskip1.39\baselineskip
+ \fi
+ \vbox{}
+ \thispagestyle{titlegraphic@titlepage}
\vskip.185\paperheight
- \begingroup
+ \begingroup
\centering
\usebeamertemplate{title}
-% \vskip1em\par
-\bool_if:NT \g_ptxcd_authorontitle_bool {
- \usebeamertemplate{author}
- \usebeamertemplate{institute}
- }
+ % \vskip1em\par
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \usebeamertemplate{author}
+ \usebeamertemplate{institute}
+ }
\usebeamertemplate{date}
- \endgroup
- \vfill
+ \endgroup
+ \vfill
}
\defbeamertemplate*{title}{TUDa2023}[1][]{%
- \begin{beamercolorbox}[sep=8pt,center,#1]{title}
- \usebeamerfont{title}\text_uppercase:n {\inserttitle}\par%
- \ifx\insertsubtitle\@empty%
- \else%
- \vskip.45em%
- {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
- \fi%
- \end{beamercolorbox}%
+ \begin{beamercolorbox}[sep=8pt,center,#1]{title}
+ \usebeamerfont{title}\text_uppercase:n {\inserttitle}\par%
+ \ifx\insertsubtitle\@empty%
+ \else%
+ \vskip.45em%
+ {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
+ \fi%
+ \end{beamercolorbox}%
}
\defbeamertemplate{author}{TUDa2023}[1][]{%
- \begin{beamercolorbox}[sep=8pt,center,#1]{author}
- \usebeamerfont{author}\insertauthor
- \end{beamercolorbox}
+ \begin{beamercolorbox}[sep=8pt,center,#1]{author}
+ \usebeamerfont{author}\insertauthor
+ \end{beamercolorbox}
}
\defbeamertemplate{institute}{TUDa2023}[1][]{%
- \begin{beamercolorbox}[sep=8pt,center,#1]{institute}
- \usebeamerfont{institute}\insertinstitute
- \end{beamercolorbox}
+ \begin{beamercolorbox}[sep=8pt,center,#1]{institute}
+ \usebeamerfont{institute}\insertinstitute
+ \end{beamercolorbox}
}
\defbeamertemplate{date}{TUDa2023}[1][]{%
\begin{beamercolorbox}[sep=8pt,center,#1]{date}
- \usebeamerfont{date}\insertdate
+ \usebeamerfont{date}\insertdate
\end{beamercolorbox}
}
@@ -125,16 +122,16 @@
\cs_new:Nn \__ptxcd_setup_logo_box:nnn {
\begingroup
- \def\width{\use:c {l__ptxcd_#2_wd_dim}}
- \def\height{\use:c {l__ptxcd_#2_ht_dim}}
- \IfBooleanTF{#1}{
- \hbox_gset:cn {g__ptxcd_#2_box} {#3}
- \box_gautosize_to_wd_and_ht_plus_dp:cnn {g__ptxcd_#2_box} {\width} {\height}
- } {
- \hbox_gset:cn {g__ptxcd_#2_box} {
- #3
- }
+ \def\width{\use:c {l__ptxcd_#2_wd_dim}}
+ \def\height{\use:c {l__ptxcd_#2_ht_dim}}
+ \IfBooleanTF{#1}{
+ \hbox_gset:cn {g__ptxcd_#2_box} {#3}
+ \box_gautosize_to_wd_and_ht_plus_dp:cnn {g__ptxcd_#2_box} {\width} {\height}
+ } {
+ \hbox_gset:cn {g__ptxcd_#2_box} {
+ #3
}
+ }
\endgroup
}
@@ -142,109 +139,39 @@
\__ptxcd_setup_logo_box:nnn {#1} {partnerlogo} {#2}
}
-\NewDocumentCommand{\sublogo}{sm}{
+\NewDocumentCommand{\sublogo}{sms}{
\__ptxcd_setup_logo_box:nnn {#1} {sublogo} {#2}
+ \IfBooleanT{#3}{
+ \hbox_gset:Nn \g__ptxcd_sublogo_box {
+ \hbox_unpack_drop:N \g__ptxcd_sublogo_box
+ \hskip.6\l__ptxcd_sublogo_ht_dim
+ }
+ }
}
-
-% Blocks
-
-%
-%\defbeamertemplate*{block~begin}{TUDa}
-%{
-% \par\vskip\medskipamount%
-% \begin{beamercolorbox}[wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,sep=.5pt,
-% leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
-% ]{block~title}
-% \ifx\insertblocktitle\@empty
-% \else
-% \begin{beamercolorbox}[colsep*=\__ptxcd_block_colorsep:,
-% wd=\dimexpr\linewidth-1pt-1.5ex\relax]{block~title}
-% \usebeamerfont*{block title}\insertblocktitle%
-% \end{beamercolorbox}%
-% \ifbeamercolorempty[bg]{block~title}
-% {}
-% {\ifbeamercolorempty[bg]{block~body}{}{\par\nointerlineskip\vskip-0.5pt}}%
-% \leavevmode
-% \fi
-% \begin{beamercolorbox}[colsep*=\__ptxcd_block_colorsep:,vmode, wd=\dimexpr\linewidth-1.5ex-1pt\relax]{block~body}%
-% \usebeamerfont{block~body}%
-% \ifbeamercolorempty[bg]{block~body}{\vskip-.25ex}{\vskip-\__ptxcd_block_colorsep:}\vbox{}%
-% }
-%
-%\defbeamertemplate*{block~end}{TUDa}
-% {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
-%
-%\defbeamertemplate*{block~alerted~begin}{TUDa}
-%{
-% \par\vskip\medskipamount%
-% \begin{beamercolorbox}[
-% wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
-% sep=1.5pt,
-% leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
-% ]{block~frame~alerted}
-% \ifx\insertblocktitle\@empty
-% \else
-% \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~title~alerted}
-% \usebeamerfont*{block~title~alerted}\insertblocktitle%
-% \end{beamercolorbox}%
-% \vskip1.5pt\par\nointerlineskip
-% \fi
-% \leavevmode
-% \usebeamerfont{block~body~alerted}%
-% \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~alerted}%
-% }
-%
-%\defbeamertemplate*{block~alerted~end}{TUDa}
-% {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
-%
-%
-%\defbeamertemplate*{block~example~begin}{TUDa}
-%{
-% \par\vskip\medskipamount%
-% \begin{beamercolorbox}[
-% wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
-% sep=1.5pt,
-% leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
-% ]{block~frame~example}
-% \ifx\insertblocktitle\@empty
-% \else
-% \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~title~example}
-% \usebeamerfont*{block~title~example}\insertblocktitle%
-% \end{beamercolorbox}%
-%\vskip1.5pt\par\nointerlineskip
-% \fi
-% \leavevmode
-% \usebeamerfont{block~body~example}%
-% \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~example}%
-% }
-%\defbeamertemplate*{block~example~end}{TUDa}
-% {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
-%
-
% section page
\defbeamertemplate*{section~page}{TUDa2023}[1][]
{%
-\ifbeamer@inframe
- \begingroup
- \vbox{}
- \vspace{0pt plus 1 filll}
- \begin{beamercolorbox}[#1]{section title}
- \usebeamerfont{section~title}\text_uppercase:n {\insertsection}\par
- \end{beamercolorbox}
- {\usebeamerfont{section~name}\usebeamercolor[fg]{section~name}\sectionname{}~\insertsectionnumber}
- \par
- \skip_vertical:n {\c_ptxcd_logoheight_dim+\baselineskip}
- \endgroup
- \else
- \begin{frame}[b]
- \begin{beamercolorbox}[#1]{section title}
- \usebeamerfont{section~title}\text_uppercase:n {\insertsection}\par
- \end{beamercolorbox}
- {\usebeamerfont{section~name}\usebeamercolor[fg]{section~name}\sectionname{}~\insertsectionnumber}
- \skip_vertical:n {\c_ptxcd_logoheight_dim+\baselineskip}
-\end{frame}
-\fi
+ \ifbeamer@inframe
+ \begingroup
+ \vbox{}
+ \vspace{0pt plus 1 filll}
+ \begin{beamercolorbox}[#1]{section title}
+ \usebeamerfont{section~title}\text_uppercase:n {\secname}\par
+ \end{beamercolorbox}
+ {\usebeamerfont{section~name}\usebeamercolor[fg]{section~name}\sectionname{}~\insertsectionnumber}
+ \par
+ \skip_vertical:n {\c_ptxcd_logoheight_dim+\baselineskip}
+ \endgroup
+ \else
+ \begin{frame}[b]
+ \begin{beamercolorbox}[#1]{section title}
+ \usebeamerfont{section~title}\text_uppercase:n {\secname}\par
+ \end{beamercolorbox}
+ {\usebeamerfont{section~name}\usebeamercolor[fg]{section~name}\sectionname{}~\insertsectionnumber}
+ \skip_vertical:n {\c_ptxcd_logoheight_dim+\baselineskip}
+ \end{frame}
+ \fi
}
% toc
@@ -263,66 +190,66 @@
% See the file LICENSE.md for more details.
\ExplSyntaxOn
\cs_new:Nn \__ptxcd_toc_check: {
- \int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} = {3} {
- % if all subsections/subsubsections are hidden we can have two columns
- \str_if_eq:eeTF {
- \beamer@toc@css
- \beamer@toc@oss
- \beamer@toc@ooss
- \beamer@toc@csss
- \beamer@toc@osss
- \beamer@toc@oosss
- \beamer@toc@ooosss
- }{
- \prg_replicate:nn {7} {hide}
- }{
- % if all subsections/subsubsections are hidden standard twocolumn layout will be choosen
- \int_set:Nn \g__ptxcd_beamer_toc_col_int {2}
- } {
- % check if there are subsections/subsubsections
- \int_gzero:N \g_tmpa_int
- {\makeatletter%%
- \let\babel@toc\use_none:nn
- \let\beamer@sectionintoc \use_none:nnnnn
- \def\beamer@subsectionintoc##1##2##3##4##5##6{\int_gset:Nn \g_tmpa_int {1}\endinput}
- \def\beamer@subsubsectionintoc##1##2##3##4##5##6##7{\int_gset:Nn \g_tmpa_int {1}\endinput}
- \@input{\jobname.toc}%
- }
- \int_compare:nNnT {\g_tmpa_int} = {1} {\int_set:Nn \g__ptxcd_beamer_toc_col_int {1}}
- }
- }
+\int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} = {3} {
+% if all subsections/subsubsections are hidden we can have two columns
+\str_if_eq:eeTF {
+\beamer@toc@css
+\beamer@toc@oss
+\beamer@toc@ooss
+\beamer@toc@csss
+\beamer@toc@osss
+\beamer@toc@oosss
+\beamer@toc@ooosss
+}{
+\prg_replicate:nn {7} {hide}
+}{
+% if all subsections/subsubsections are hidden standard twocolumn layout will be choosen
+\int_set:Nn \g__ptxcd_beamer_toc_col_int {2}
+} {
+% check if there are subsections/subsubsections
+\int_gzero:N \g_tmpa_int
+{\makeatletter%%
+ \let\babel@toc\use_none:nn
+ \let\beamer@sectionintoc \use_none:nnnnn
+ \def\beamer@subsectionintoc##1##2##3##4##5##6{\int_gset:Nn \g_tmpa_int {1}\endinput}
+ \def\beamer@subsubsectionintoc##1##2##3##4##5##6##7{\int_gset:Nn \g_tmpa_int {1}\endinput}
+ \@input{\jobname.toc}%
+}
+\int_compare:nNnT {\g_tmpa_int} = {1} {\int_set:Nn \g__ptxcd_beamer_toc_col_int {1}}
+}
+}
}
\def\beamer@twocoltableofcontents[#1]{%
\begin{beamercolorbox}[wd=\paperwidth]{}%
- \def\beamer@toc@cs{show}%
- \def\beamer@toc@os{show}%
- \def\beamer@toc@css{show}%
- \def\beamer@toc@oss{show}%
- \def\beamer@toc@ooss{show}%
- \def\beamer@toc@csss{show}%
- \def\beamer@toc@osss{show}%
- \def\beamer@toc@oosss{show}%
- \def\beamer@toc@ooosss{show}%
- \beamer@showpartnumber=\c@part%
- \beamer@pausesectionsfalse%
- \beamer@pausesubsectionsfalse%
- \def\beamer@tocsections{<*>}%
- \setkeys{beamertoc}{firstsection=1}%
- \setkeys{beamertoc}{#1}%
- \UseName{__ptxcd_toc_check:}
- \int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} > {1} {
- \setlength{\columnsep}{5ex}%
- \raggedcolumns
- \begin{multicols}{2}
- }
- {\makeatletter%
- \pause[0]%
- \@input{\jobname.toc}%
- }%
- \int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} > {1} {
- \end{multicols}%
- }
+ \def\beamer@toc@cs{show}%
+ \def\beamer@toc@os{show}%
+ \def\beamer@toc@css{show}%
+ \def\beamer@toc@oss{show}%
+ \def\beamer@toc@ooss{show}%
+ \def\beamer@toc@csss{show}%
+ \def\beamer@toc@osss{show}%
+ \def\beamer@toc@oosss{show}%
+ \def\beamer@toc@ooosss{show}%
+ \beamer@showpartnumber=\c@part%
+ \beamer@pausesectionsfalse%
+ \beamer@pausesubsectionsfalse%
+ \def\beamer@tocsections{<*>}%
+ \setkeys{beamertoc}{firstsection=1}%
+ \setkeys{beamertoc}{#1}%
+ \UseName{__ptxcd_toc_check:}
+ \int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} > {1} {
+ \setlength{\columnsep}{5ex}%
+ \raggedcolumns
+ \begin{multicols}{2}
+ }
+ {\makeatletter%
+ \pause[0]%
+ \@input{\jobname.toc}%
+ }%
+ \int_compare:nNnT {\g__ptxcd_beamer_toc_col_int} > {1} {
+ \end{multicols}%
+ }
\end{beamercolorbox}%
\vspace*{.68\baselineskip}%}
}
@@ -331,10 +258,10 @@
\def\beamer@tableofcontents[#1]{%
\ifbeamer@inframe
- \beamer@twocoltableofcontents[#1]
+ \beamer@twocoltableofcontents[#1]
\else
\begin{frame}[b]{\contentsname}
- \beamer@twocoltableofcontents[#1]
+ \beamer@twocoltableofcontents[#1]
\end{frame}
\fi
}
@@ -342,22 +269,22 @@
\defbeamertemplate*{section~in~toc}{TUDa}{%
- \ifvmode\nointerlineskip\fi
- \leavevmode
- \ifnum\beamer@tempcount>\beamer@toclastsection
- \else
- \ifnum\beamer@tempcount>0\relax
- \usebeamertemplate***{toc~section~number}%
- \fi\fi%
- \usebeamertemplate***{section~entry}%
-\par
+ \ifvmode\nointerlineskip\fi
+ \leavevmode
+ \ifnum\beamer@tempcount>\beamer@toclastsection
+ \else
+ \ifnum\beamer@tempcount>0\relax
+ \usebeamertemplate***{toc~section~number}%
+ \fi\fi%
+ \usebeamertemplate***{section~entry}%
+ \par
}
% (sub-)section in toc: default
\cs_new:Nn \__ptxcd_toc_sub_level_entry_numbered:n {
- \exp_args:Nc \tl_if_blank:nF {inserttoc#1subsectionnumber}
- {\hphantom{0}\llap{\use:c {inserttoc#1subsectionnumber}}\hspace{.5em}}
+ \exp_args:Nc \tl_if_blank:nF {inserttoc#1subsectionnumber}
+ {\hphantom{0}\llap{\use:c {inserttoc#1subsectionnumber}}\hspace{.5em}}
}
\cs_new:Nn \__ptxcd_toc_sub_level_entry_itemize:n {
@@ -377,18 +304,18 @@
\defbeamertemplate*{toc~section~number}{TUDa}{
- \hphantom{00}\llap{\inserttocsectionnumber}\hspace{.5em}
+ \hphantom{00}\llap{\inserttocsectionnumber}\hspace{.5em}
}
\defbeamertemplate*{section~entry}{TUDa}{
- \strut\inserttocsection\strut
+ \strut\inserttocsection\strut
}
%Itemize Items
\defbeamertemplate*{itemize~item}{TUDa}{\raise.2\baselineskip\hbox{\vrule width .5ex height .5ex}}
-\defbeamertemplate*{itemize~subitem}{TUDa}{\small\hbox{\vrule width .5ex height .5ex}}
-\defbeamertemplate*{itemize~subsubitem}{TUDa}{\small\hbox{\vrule width .5ex height 1ex}}
+\defbeamertemplate*{itemize~subitem}{TUDa}{\raise.2\baselineskip\hbox{\small\vrule width .5ex height .5ex}}
+\defbeamertemplate*{itemize~subsubitem}{TUDa}{\raise.2\baselineskip\hbox{\small\vrule width .5ex height 1ex}}
\mode<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index fc1db6be04..6081832c16 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.36 (2024-01-05),
+%% This is file `beamerouterthemeTUDa.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,12 +25,11 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
-\RequirePackage[paper=slide]{tudarules}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplPackage{beamerouterthemeTUDa}{2024-04-21}{3.37}{Outer~beamer~theme~of~tuda-ci~design~of~2023}
+\PassOptionsToPackage{paper=slide}{tudarules}
+\RequirePackage{tudarules}
\dim_new:N \l__ptxcd_beamer_extraindent_dim
\dim_new:N {\g__ptxcd_beamer_sep_dim}
@@ -47,30 +46,16 @@
logo .initial:n =true,
logofile .tl_gset:N = \g_ptxcd_logofile_tl,
logofile .initial:n = tuda_logo,
- colorframetitle .code:n = {
- \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool
- \cs_if_exist_use:N \__ptxcd_setup_frametitle_color:
- },
- colorframetitle .default:n = true,
- centerframetitle .bool_gset:N = \g_ptxcd_centerframetitle_bool,
- centerframetitle .initial:n = false,
- centerframetitle .default:n = true,
- framebgcolor .choice:,
- framebgcolor / reset .code:n =
- \__ptxcd_reset_framebgcolor:
- ,
- framebgcolor / unknown .code:n = {
- \__ptxcd_set_framebgcolor:n {#1}
- },
- singleframebgcolor .code:n = {
- \cs_gset_eq:Nc \__ptxcd_save_background_canvas: {beamer@thcbg@normal~text}
- \keys_set:nn {ptxcd/beamer/outer} {
- framebgcolor = #1
- }
- },
- headsepline .bool_gset:N = \g_ptxcd_headsepline_bool,
- headsepline .initial:n = true,
- headsepline .default:n = true,
+ colorframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorframetitle},
+ centerframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {centerframetitle},
+ framebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {framebgcolor},
+ singleframebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {singleframebgcolor},
+ headsepline .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {headsepline},
+ extendedspace .bool_gset:N = \g__ptxcd_extended_space_bool,
+ headrule .bool_gset:N = \g__ptxcd_headrule_bool,
+ uppercase-frametitle .bool_gset:N = \g__ptxcd_uppercase_frametitle_bool,
+ uppercase-frametitle .default:n = true,
+ uppercase-frametitle .initial:n = true,
}
\define@key{beamerframe}{bgcolor}{
@@ -79,20 +64,9 @@
}
}
-\cs_new:Nn \__ptxcd_reset_framebgcolor: {
- \cs_gset_eq:cN {beamer@thcbg@normal~text} \__ptxcd_save_background_canvas:
- \cs_undefine:N \__ptxcd_save_background_canvas:
-}
-
-\cs_new:Nn \__ptxcd_set_framebgcolor:n {
- \cs_if_exist:cTF {\string\color@#1}
- {\setbeamercolor{normal~text}{bg=#1}}
- {\setbeamercolor{normal~text}{bg=TUDa-#1}}
-}
-
-\BeforeBeginEnvironment{frame}{
- \cs_if_exist:NT \__ptxcd_save_background_canvas: {
- \__ptxcd_reset_framebgcolor:
+\define@key{beamerframe}{uppercase}{
+ \keys_set:nn {ptxcd/beamer/outer} {
+ uppercase-frametitle=#1
}
}
@@ -101,15 +75,14 @@
\mode<presentation>
-
\RequirePackage{graphicx}
\bool_if:NT \g__ptxcd_colorframetitle_bool
{\dim_set:Nn \l__ptxcd_beamer_extraindent_dim {\g__ptxcd_beamer_logosep_dim}}
\setbeamersize{
- text~margin~left=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax,
- text~margin~right=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax,
+ text~margin~left=\dim_eval:n {\paperwidth/34},
+ text~margin~right=\dim_eval:n {\paperwidth/38}
}
\cs_new:Nn \__ptxcd_beamer_linewidth: {\dim_eval:n {\paperwidth-\beamer@leftmargin-\beamer@rightmargin}}
@@ -118,45 +91,35 @@
\box_new:N \g__ptxcd_logo_box
\hbox_gset:Nn \g__ptxcd_logo_box {%
- \makebox[\__ptxcd_logowidth:][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
+ \raisebox{\dim_eval:n {-\height+.33\c_ptxcd_logoheight_dim}}{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
}
-\ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_headrule}
-\ptxcd_makefootrule[width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_rule}
-
-\newcommand\insertsmalllogo{\setbeamertemplate{logo}[small]\usebeamertemplate{logo}}
-
-\defbeamertemplate*{sidebar~left}{TUDa}{}
-\defbeamertemplate*{sidebar~right}{TUDa}{}
-
-
\bool_if_exist:NF \l_ptxcd_tmpa_bool {\bool_new:N \l_ptxcd_tmpa_bool}
-\defbeamertemplate*{footline}{TUDa}
-{
- \begin{beamercolorbox}[leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim,
- ht=\csname c_ptxcd_smallrule_dim\endcsname,dp=1mm]{footline}
- \ptxcd_beamer_rule
- \end{beamercolorbox}
- \begin{beamercolorbox}[
- leftskip=\g__ptxcd_beamer_sep_dim,
- rightskip=\g__ptxcd_beamer_sep_dim, ht=2.75mm,dp=2.75mm]{footline}
- \usebeamerfont{author~ in~ head/foot}%
- \bool_set_false:N \l_ptxcd_tmpa_bool
- \clist_map_variable:nNn {date, department, institute, author} \l_tmpa_tl {
- \tl_if_empty:cF {beamer@short\l_tmpa_tl} {
- \bool_if:NTF \l_ptxcd_tmpa_bool {~|~}
- {\bool_set_true:N \l_ptxcd_tmpa_bool}
- \use:c {insertshort\l_tmpa_tl}
+\defbeamertemplate*{footline}{TUDa2023}{
+ \begin{beamercolorbox}[leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin]{footline}
+ \usebeamerfont{footline}
+ \rlap{\insertshortdate}
+ \hfill
+ \makebox[0pt][c]{
+ \bool_set_false:N \l_ptxcd_separate_bool
+ \clist_map_variable:nNn {department, institute, author} \l_tmpa_tl {
+ \tl_if_empty:cF {beamer@short\l_tmpa_tl} {
+ \bool_if:NTF \l_ptxcd_separate_bool
+ {\usebeamertemplate{footline~sep}}
+ {\bool_set_true:N \l_ptxcd_separate_bool}
+ \use:c {insertshort\l_tmpa_tl}
+ }
}
}
- \bool_if:NT \l_ptxcd_tmpa_bool {~|~}
- \insertframenumber
- \hfill\raisebox{\dimexpr-.5\height+\dp\strutbox\relax}{\insertlogo}
+ \hfill
+ \llap{\insertframenumber}
+ \par\vspace{-\dp\strutbox}
\end{beamercolorbox}
+ \skip_vertical:n {\dimexpr\paperheight/32-\dp\strutbox}
}
-
+\setbeamertemplate{footline~sep}{\space\smash{\rule[-.5\dp\strutbox]{.25pt}{\ht\strutbox}}\space}
\RenewDocumentCommand{\logo}{sm}{
\IfBooleanTF{#1}{
@@ -166,142 +129,95 @@
}
}
-\defbeamertemplate{headline}{TUDa.logo} {%
- \begin{beamercolorbox}[
- leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim,
- ht=.75\g__ptxcd_beamer_sep_dim,dp=\box_dp:N \ptxcd_beamer_headrule_box]{headline}
- \ptxcd_beamer_headrule
- \end{beamercolorbox}
+\defbeamertemplate*{headline}{TUDa2023}{
+ \bool_if:NT \g__ptxcd_headrule_bool {
+ \cs_if_exist:NF \ptxcd_beamer_headrule {
+ \ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth]{ptxcd_beamer_headrule}
+ }
+ \ptxcd_beamer_headrule\par\nointerlineskip
+ }
+ \bool_if:NTF \g__ptxcd_extended_space_bool {
+ \bool_if:NTF \g__ptxcd_headrule_bool {
+ \skip_vertical:n {\dim_eval:n {+\paperheight/38}}
+ \strut
+ } {
+ \skip_vertical:n {\dim_eval:n {\paperheight/16}}
+ }
+ }{
+ \skip_vertical:n {\dimexpr\paperheight/38}
+ \hspace*{\beamer@leftmargin}\rlap{\usebeamertemplate***{title~in~head/foot}}
+ }
+ \hspace*{\fill}
+
+ \bool_if:NT \g_ptxcd_headlinelogo_bool {
+ %partnerlogo
+ \bool_if:NT \g__ptxcd_extended_space_bool \smash {
+ \raisebox{\dimexpr-\height+\ht\strutbox}{
+ \box_use:N \g__ptxcd_partnerlogo_box
+ }
+ }
+
+ \skip_horizontal:n {\dimexpr\paperheight/38}
+ %logo
+ \bool_if:NTF \g__ptxcd_headrule_bool {
+ \raisebox{2mm}[0pt][0pt]{\setlength{\fboxsep}{\z@}\colorbox{white}{\rule{\z@}{\dim_eval:n {\box_ht:N \g__ptxcd_logo_box+\box_ht:N \ptxcd_beamer_headrule_box + \box_dp:N \ptxcd_beamer_headrule_box+1pt}}\box_use:N \g__ptxcd_logo_box}}
+ \hspace*{10pt}
+ } {
+ \bool_if:NT \g__ptxcd_extended_space_bool \smash {\box_use:N \g__ptxcd_logo_box}
+ \hspace*{.7pt}
+ }
+ }
+ \par
}
-
-\box_new:N \l__ptxcd_frametitle_box
-
-\defbeamertemplate{frametitle}{TUDa.logo}{%
-\nointerlineskip%
-\begin{beamercolorbox}[
- sep=\g__ptxcd_beamer_logosep_dim,
- wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim},
- rightskip=-\g__ptxcd_beamer_logosep_dim,
- leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim},
- ]{frametitle}
- \hbox_set:Nn \l__ptxcd_frametitle_box {
- \parbox[t]
- {\dim_eval:n {\linewidth- \box_wd:N \g__ptxcd_logo_box-1em}}{%
- \usebeamerfont{frametitle}\strut\insertframetitle
- \ifx\insertframesubtitle\@empty
- \else
- \par
- \usebeamercolor[fg]{framesubtitle}
- \usebeamerfont{framesubtitle}
- \insertframesubtitle
- \fi
- }}
- \leavevmode
- \bool_if:NTF \g_ptxcd_centerframetitle_bool
- {\raisebox{\dimexpr-.5\height+.5\depth}}
- {\use:n}
- {\box_use:N \l__ptxcd_frametitle_box}
- \hfill%
- \bool_if:NTF \g_ptxcd_centerframetitle_bool
- {\raisebox{\dimexpr-.5\height+.5\depth}}
- {\raisebox{\dimexpr-\height+\ht\strutbox}}
- {\box_use:N \g__ptxcd_logo_box}
-\end{beamercolorbox}%
-\bool_if:NT \g_ptxcd_headsepline_bool {
- \nointerlineskip
- \begin{beamercolorbox}[
- wd=\dim_eval:n {\textwidth+2\l__ptxcd_beamer_extraindent_dim},
- ht=\c_ptxcd_smallrule_dim,
- dp=0pt
- ]{smallrule}
- \end{beamercolorbox}
-}
+\setbeamertemplate{title~in~head/foot}{
+ \bool_set_false:N \l_ptxcd_separate_bool
+ \tl_if_empty:NF {\beamer@shorttitle} {
+ \bool_set_true:N \l_ptxcd_separate_bool
+ \text_uppercase:n {\beamer@shorttitle}
+ }
+ \tl_if_empty:NF {\beamer@shortauthor} {
+ \bool_if:NT \l_ptxcd_separate_bool {
+ \space/\space
+ }
+ \text_uppercase:n {\beamer@shortauthor}
+ }
}
-\defbeamertemplate*{headline}{TUDa.nologo}
-{%
- \vspace{.75\g__ptxcd_beamer_sep_dim}
- \begin{beamercolorbox}[
- leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim]{headline}
- \ptxcd_beamer_headrule
- \end{beamercolorbox}
- }
-\defbeamertemplate*{headline}{TUDa.simple}
-{
- \ifbeamercolorempty[bg]{background~canvas}{
- \vspace{\dimexpr.5\c_ptxcd_logoheight_dim-\c_ptxcd_rulesep_dim}
- \skip_horizontal:n {\beamer@leftmargin}
- \color{identbarcolor}
- \vrule width\dimexpr\textwidth-\beamer@leftmargin-\beamer@rightmargin height\c_ptxcd_rulesep_dim
- }{
- \vspace{\dimexpr.5\c_ptxcd_logoheight_dim}
+\defbeamertemplate*{sidebar~right}{TUDa2023}{
+ \bool_if:NT \g_ptxcd_headlinelogo_bool {
+ \vspace{\c_ptxcd_logoheight_dim}
+ \llap{\box_use:N \g__ptxcd_sublogo_box}
}
}
-\defbeamertemplate*{frametitle}{TUDa.nologo}{%
+\defbeamertemplate*{frametitle}{TUDa2023}[1][left]{%
\nointerlineskip%
-\begin{beamercolorbox}[
- sep=\g__ptxcd_beamer_logosep_dim,
- wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim},
- leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim},
- ]{frametitle}
- \hbox_set:Nn \l__ptxcd_frametitle_box {
- \parbox[t]
- {\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-1em\relax\relax}{%
- \usebeamerfont{frametitle}\strut\insertframetitle
- \ifx\insertframesubtitle\@empty
- \else
- \par
- \usebeamercolor[fg]{framesubtitle}
- \usebeamerfont{framesubtitle}
- \insertframesubtitle
- \fi
-}}
-\leavevmode
-\bool_if:NTF \g_ptxcd_centerframetitle_bool
-{\raisebox{\dimexpr-.5\height+.5\depth}}
-{\use:n}
-{\box_use:N \l__ptxcd_frametitle_box}
-% Rule for voffset similar to logo
- \rule[\dim_eval:n {
- \bool_if:NTF \g_ptxcd_centerframetitle_bool
- {-.5\box_ht:N \g__ptxcd_logo_box+.5\box_dp:N \g__ptxcd_logo_box}
- {-\box_ht:N \g__ptxcd_logo_box+\ht\strutbox}
- }]{0pt}{\dim_eval:n {
- \box_ht:N \g__ptxcd_logo_box+\box_dp:N \g__ptxcd_logo_box
- }}
-\end{beamercolorbox}
-\bool_if:NT \g_ptxcd_headsepline_bool {
- \nointerlineskip
+ \bool_if:NF \g__ptxcd_extended_space_bool
+ {\vskip.55ex}
\begin{beamercolorbox}[
- wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim \relax,
- ht=\c_ptxcd_smallrule_dim,
- dp=0pt
- ]{smallrule}
+ wd=\dim_eval:n {\bool_if:NT \g__ptxcd_extended_space_bool {-\box_wd:N \g__ptxcd_logo_box } \box_if_empty:NF \g__ptxcd_sublogo_box {-\box_wd:N \g__ptxcd_sublogo_box - 1em}+ \textwidth},
+ ]{frametitle}
+ \usebeamerfont{frametitle}%
+ \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
+ \vphantom{Ü}
+ \bool_if:NT \g__ptxcd_uppercase_frametitle_bool \text_uppercase:n {\insertframetitle}\strut
+ \par%
+ {%
+ \ifx\insertframesubtitle\@empty%
+ \else%
+ {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\text_uppercase:n {\insertframesubtitle}\strut\par}%
+ \fi
+ }%
+ \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}
+ \vskip.5ex
}
-}
-
-\cs_new:Nn \ptxcd_setup_frame: {
- \bool_if:NTF \g_ptxcd_headlinelogo_bool {
- \setbeamertemplate{frametitle}[TUDa.logo]
- \setbeamertemplate{headline}[TUDa.logo]
- }{
- \setbeamertemplate{frametitle}[TUDa.nologo]
- \setbeamertemplate{headline}[TUDa.nologo]
- }
-}
-\ptxcd_setup_frame:
-
\newcommand*{\setupTUDaFrame}[1]{
\keys_set:nn {ptxcd/beamer/outer} {#1}
- \ptxcd_setup_frame:
}
-
-
\mode
<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
new file mode 100644
index 0000000000..70e31eecde
--- /dev/null
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
@@ -0,0 +1,306 @@
+%% This is file `beamerouterthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% it is part of
+%% TUDa-CI -- Corporate Design for TU Darmstadt
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <tuda-ci@peitex.de>
+%%
+%% The development respository can be found at
+%% https://github.com/tudace/tuda_latex_templates
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{beamerouterthemeTUDa2008}{2024-04-21}{3.37}{Outer~beamer~theme~of~tuda-ci, compatibility for design of 2008}
+
+\PassOptionsToPackage{paper=slide}{tudarules}
+\RequirePackage{tudarules}
+
+\dim_new:N \l__ptxcd_beamer_extraindent_dim
+\dim_new:N {\g__ptxcd_beamer_sep_dim}
+\dim_gset:Nn \g__ptxcd_beamer_sep_dim {.3\c_ptxcd_logoheight_dim}
+\dim_new:N \g__ptxcd_beamer_logosep_dim
+\dim_gset:Nn \g__ptxcd_beamer_logosep_dim{2mm}
+
+
+\cs_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool}
+
+\keys_define:nn {ptxcd/beamer/outer} {
+ logo .bool_gset:N = \g_ptxcd_headlinelogo_bool,
+ logo .default:n =true,
+ logo .initial:n =true,
+ logofile .tl_gset:N = \g_ptxcd_logofile_tl,
+ logofile .initial:n = tuda_logo,
+ colorframetitle .code:n = {
+ \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool
+ \cs_if_exist_use:N \__ptxcd_setup_frametitle_color:
+ },
+ colorframetitle .default:n = true,
+ centerframetitle .bool_gset:N = \g_ptxcd_centerframetitle_bool,
+ centerframetitle .initial:n = false,
+ centerframetitle .default:n = true,
+ framebgcolor .choice:,
+ framebgcolor / reset .code:n =
+ \__ptxcd_reset_framebgcolor:
+ ,
+ framebgcolor / unknown .code:n = {
+ \__ptxcd_set_framebgcolor:n {#1}
+ },
+ singleframebgcolor .code:n = {
+ \cs_gset_eq:Nc \__ptxcd_save_background_canvas: {beamer@thcbg@normal~text}
+ \keys_set:nn {ptxcd/beamer/outer} {
+ framebgcolor = #1
+ }
+ },
+ headsepline .bool_gset:N = \g_ptxcd_headsepline_bool,
+ headsepline .initial:n = true,
+ headsepline .default:n = true,
+}
+
+\define@key{beamerframe}{bgcolor}{
+ \keys_set:nn {ptxcd/beamer/outer} {
+ singleframebgcolor=#1
+ }
+}
+
+\cs_new:Nn \__ptxcd_reset_framebgcolor: {
+ \cs_gset_eq:cN {beamer@thcbg@normal~text} \__ptxcd_save_background_canvas:
+ \cs_undefine:N \__ptxcd_save_background_canvas:
+}
+
+\cs_new:Nn \__ptxcd_set_framebgcolor:n {
+ \cs_if_exist:cTF {\string\color@#1}
+ {\setbeamercolor{normal~text}{bg=#1}}
+ {\setbeamercolor{normal~text}{bg=TUDa-#1}}
+}
+
+\BeforeBeginEnvironment{frame}{
+ \cs_if_exist:NT \__ptxcd_save_background_canvas: {
+ \__ptxcd_reset_framebgcolor:
+ }
+}
+
+\ProcessKeyOptions[ptxcd/beamer/outer]
+
+
+\mode<presentation>
+
+
+\RequirePackage{graphicx}
+
+\bool_if:NT \g__ptxcd_colorframetitle_bool
+ {\dim_set:Nn \l__ptxcd_beamer_extraindent_dim {\g__ptxcd_beamer_logosep_dim}}
+
+\setbeamersize{
+ text~margin~left=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax,
+ text~margin~right=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax,
+}
+
+\cs_new:Nn \__ptxcd_beamer_linewidth: {\dim_eval:n {\paperwidth-\beamer@leftmargin-\beamer@rightmargin}}
+
+%Logo
+
+\box_new:N \g__ptxcd_logo_box
+\hbox_gset:Nn \g__ptxcd_logo_box {%
+ \makebox[\__ptxcd_logowidth:][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
+}
+
+\ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_headrule}
+\ptxcd_makefootrule[width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_rule}
+
+\newcommand\insertsmalllogo{\setbeamertemplate{logo}[small]\usebeamertemplate{logo}}
+
+\defbeamertemplate*{sidebar~left}{TUDa}{}
+\defbeamertemplate*{sidebar~right}{TUDa}{}
+
+\bool_if_exist:NF \l_ptxcd_tmpa_bool {\bool_new:N \l_ptxcd_tmpa_bool}
+
+\defbeamertemplate*{footline}{TUDa}
+{
+ \begin{beamercolorbox}[leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim,
+ ht=\csname c_ptxcd_smallrule_dim\endcsname,dp=1mm]{footline}
+ \ptxcd_beamer_rule
+ \end{beamercolorbox}
+ \begin{beamercolorbox}[
+ leftskip=\g__ptxcd_beamer_sep_dim,
+ rightskip=\g__ptxcd_beamer_sep_dim, ht=2.75mm,dp=2.75mm]{footline}
+ \usebeamerfont{author~ in~ head/foot}%
+ \bool_set_false:N \l_ptxcd_tmpa_bool
+ \clist_map_variable:nNn {date, department, institute, author} \l_tmpa_tl {
+ \tl_if_empty:cF {beamer@short\l_tmpa_tl} {
+ \bool_if:NTF \l_ptxcd_tmpa_bool {~|~}
+ {\bool_set_true:N \l_ptxcd_tmpa_bool}
+ \use:c {insertshort\l_tmpa_tl}
+ }
+ }
+ \bool_if:NT \l_ptxcd_tmpa_bool {~|~}
+ \insertframenumber
+ \hfill\raisebox{\dimexpr-.5\height+\dp\strutbox\relax}{\insertlogo}
+ \end{beamercolorbox}
+}
+
+
+
+\RenewDocumentCommand{\logo}{sm}{
+ \IfBooleanTF{#1}{
+ \setbeamertemplate{logo}{\resizebox{!}{.06\beamer@paperheight}{\mbox{#2}}}
+ }{
+ \setbeamertemplate{logo}{#2}
+ }
+}
+
+\defbeamertemplate{headline}{TUDa.logo} {%
+ \begin{beamercolorbox}[
+ leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim,
+ ht=.75\g__ptxcd_beamer_sep_dim,dp=\box_dp:N \ptxcd_beamer_headrule_box]{headline}
+ \ptxcd_beamer_headrule
+ \end{beamercolorbox}
+}
+
+
+\box_new:N \l__ptxcd_frametitle_box
+
+\defbeamertemplate{frametitle}{TUDa.logo}{%
+\nointerlineskip%
+\begin{beamercolorbox}[
+ sep=\g__ptxcd_beamer_logosep_dim,
+ wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim},
+ rightskip=-\g__ptxcd_beamer_logosep_dim,
+ leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim},
+ ]{frametitle}
+ \hbox_set:Nn \l__ptxcd_frametitle_box {
+ \parbox[t]
+ {\dim_eval:n {\linewidth- \box_wd:N \g__ptxcd_logo_box-1em}}{%
+ \usebeamerfont{frametitle}\strut\insertframetitle
+ \ifx\insertframesubtitle\@empty
+ \else
+ \par
+ \usebeamercolor[fg]{framesubtitle}
+ \usebeamerfont{framesubtitle}
+ \insertframesubtitle
+ \fi
+ }}
+ \leavevmode
+ \bool_if:NTF \g_ptxcd_centerframetitle_bool
+ {\raisebox{\dimexpr-.5\height+.5\depth}}
+ {\use:n}
+ {\box_use:N \l__ptxcd_frametitle_box}
+ \hfill%
+ \bool_if:NTF \g_ptxcd_centerframetitle_bool
+ {\raisebox{\dimexpr-.5\height+.5\depth}}
+ {\raisebox{\dimexpr-\height+\ht\strutbox}}
+ {\box_use:N \g__ptxcd_logo_box}
+\end{beamercolorbox}%
+\bool_if:NT \g_ptxcd_headsepline_bool {
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ wd=\dim_eval:n {\textwidth+2\l__ptxcd_beamer_extraindent_dim},
+ ht=\c_ptxcd_smallrule_dim,
+ dp=0pt
+ ]{smallrule}
+ \end{beamercolorbox}
+}
+}
+
+\defbeamertemplate*{headline}{TUDa.nologo}
+{%
+ \vspace{.75\g__ptxcd_beamer_sep_dim}
+ \begin{beamercolorbox}[
+ leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim]{headline}
+ \ptxcd_beamer_headrule
+ \end{beamercolorbox}
+ }
+
+\defbeamertemplate*{headline}{TUDa.simple}
+{
+ \ifbeamercolorempty[bg]{background~canvas}{
+ \vspace{\dimexpr.5\c_ptxcd_logoheight_dim-\c_ptxcd_rulesep_dim}
+ \skip_horizontal:n {\beamer@leftmargin}
+ \color{identbarcolor}
+ \vrule width\dimexpr\textwidth-\beamer@leftmargin-\beamer@rightmargin height\c_ptxcd_rulesep_dim
+ }{
+ \vspace{\dimexpr.5\c_ptxcd_logoheight_dim}
+ }
+}
+
+\defbeamertemplate*{frametitle}{TUDa.nologo}{%
+ \nointerlineskip%
+\begin{beamercolorbox}[
+ sep=\g__ptxcd_beamer_logosep_dim,
+ wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim},
+ leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim},
+ ]{frametitle}
+ \hbox_set:Nn \l__ptxcd_frametitle_box {
+ \parbox[t]
+ {\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-1em\relax\relax}{%
+ \usebeamerfont{frametitle}\strut\insertframetitle
+ \ifx\insertframesubtitle\@empty
+ \else
+ \par
+ \usebeamercolor[fg]{framesubtitle}
+ \usebeamerfont{framesubtitle}
+ \insertframesubtitle
+ \fi
+}}
+\leavevmode
+\bool_if:NTF \g_ptxcd_centerframetitle_bool
+{\raisebox{\dimexpr-.5\height+.5\depth}}
+{\use:n}
+{\box_use:N \l__ptxcd_frametitle_box}
+% Rule for voffset similar to logo
+ \rule[\dim_eval:n {
+ \bool_if:NTF \g_ptxcd_centerframetitle_bool
+ {-.5\box_ht:N \g__ptxcd_logo_box+.5\box_dp:N \g__ptxcd_logo_box}
+ {-\box_ht:N \g__ptxcd_logo_box+\ht\strutbox}
+ }]{0pt}{\dim_eval:n {
+ \box_ht:N \g__ptxcd_logo_box+\box_dp:N \g__ptxcd_logo_box
+ }}
+\end{beamercolorbox}
+\bool_if:NT \g_ptxcd_headsepline_bool {
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim \relax,
+ ht=\c_ptxcd_smallrule_dim,
+ dp=0pt
+ ]{smallrule}
+ \end{beamercolorbox}
+}
+}
+
+\cs_new:Nn \ptxcd_setup_frame: {
+ \bool_if:NTF \g_ptxcd_headlinelogo_bool {
+ \setbeamertemplate{frametitle}[TUDa.logo]
+ \setbeamertemplate{headline}[TUDa.logo]
+ }{
+ \setbeamertemplate{frametitle}[TUDa.nologo]
+ \setbeamertemplate{headline}[TUDa.nologo]
+ }
+}
+\ptxcd_setup_frame:
+
+\newcommand*{\setupTUDaFrame}[1]{
+ \keys_set:nn {ptxcd/beamer/outer} {#1}
+ \ptxcd_setup_frame:
+}
+
+
+
+\mode
+<all>
+
+\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2023.sty
deleted file mode 100644
index 980803001c..0000000000
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2023.sty
+++ /dev/null
@@ -1,216 +0,0 @@
-%% This is file `beamerouterthemeTUDa2023.sty' version 3.36 (2024-01-05),
-%% it is part of
-%% TUDa-CI -- Corporate Design for TU Darmstadt
-%% ----------------------------------------------------------------------------
-%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
-%%
-%% ============================================================================
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainers of this work are
-%% Marei Peischl <tuda-ci@peitex.de>
-%%
-%% The development respository can be found at
-%% https://github.com/tudace/tuda_latex_templates
-%% Please use the issue tracker for feedback!
-%%
-%% ============================================================================
-%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}[2022-06-01]
-\ProvidesExplPackage{beamerouterthemeTUDa2023}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci~design~of~2023}
-
-\RequirePackage[paper=slide]{tudarules}
-
-\dim_new:N \l__ptxcd_beamer_extraindent_dim
-\dim_new:N {\g__ptxcd_beamer_sep_dim}
-\dim_gset:Nn \g__ptxcd_beamer_sep_dim {.3\c_ptxcd_logoheight_dim}
-\dim_new:N \g__ptxcd_beamer_logosep_dim
-\dim_gset:Nn \g__ptxcd_beamer_logosep_dim{2mm}
-
-
-\cs_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool}
-
-\keys_define:nn {ptxcd/beamer/outer} {
- logo .bool_gset:N = \g_ptxcd_headlinelogo_bool,
- logo .default:n =true,
- logo .initial:n =true,
- logofile .tl_gset:N = \g_ptxcd_logofile_tl,
- logofile .initial:n = tuda_logo,
- colorframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorframetitle},
- centerframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {centerframetitle},
- framebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {framebgcolor},
- singleframebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {singleframebgcolor},
- headsepline .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {headsepline},
- extendedspace .bool_gset:N = \g__ptxcd_extended_space_bool,
- headrule .bool_gset:N = \g__ptxcd_headrule_bool,
-}
-
-\define@key{beamerframe}{bgcolor}{
- \keys_set:nn {ptxcd/beamer/outer} {
- singleframebgcolor=#1
- }
-}
-
-\ProcessKeyOptions[ptxcd/beamer/outer]
-
-
-\mode<presentation>
-
-\RequirePackage{graphicx}
-
-\bool_if:NT \g__ptxcd_colorframetitle_bool
- {\dim_set:Nn \l__ptxcd_beamer_extraindent_dim {\g__ptxcd_beamer_logosep_dim}}
-
-\setbeamersize{
- text~margin~left=\dimexpr\paperwidth/34,
- text~margin~right=\dimexpr\paperwidth/38
-}
-
-\cs_new:Nn \__ptxcd_beamer_linewidth: {\dim_eval:n {\paperwidth-\beamer@leftmargin-\beamer@rightmargin}}
-
-%Logo
-
-\box_new:N \g__ptxcd_logo_box
-\hbox_gset:Nn \g__ptxcd_logo_box {%
- \raisebox{\dimexpr-\height+.33\c_ptxcd_logoheight_dim}{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
-}
-
-\bool_if_exist:NF \l_ptxcd_tmpa_bool {\bool_new:N \l_ptxcd_tmpa_bool}
-
-\defbeamertemplate*{footline}{TUDa2023}{
- \begin{beamercolorbox}[leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin]{footline}
- \usebeamerfont{footline}
- \rlap{\insertshortdate}
- \hfill
- \makebox[0pt][c]{
- \bool_set_false:N \l_ptxcd_separate_bool
- \clist_map_variable:nNn {department, institute, author} \l_tmpa_tl {
- \tl_if_empty:cF {beamer@short\l_tmpa_tl} {
- \bool_if:NTF \l_ptxcd_separate_bool
- {\usebeamertemplate{footline~sep}}
- {\bool_set_true:N \l_ptxcd_separate_bool}
- \use:c {insertshort\l_tmpa_tl}
- }
- }
- }
- \hfill
- \llap{\insertframenumber}
- \par\vspace{-\dp\strutbox}
- \end{beamercolorbox}
- \skip_vertical:n {\dimexpr\paperheight/32-\dp\strutbox}
-}
-
-\setbeamertemplate{footline~sep}{\space\smash{\rule[-.5\dp\strutbox]{.25pt}{\ht\strutbox}}\space}
-
-\RenewDocumentCommand{\logo}{sm}{
- \IfBooleanTF{#1}{
- \setbeamertemplate{logo}{\resizebox{!}{.06\beamer@paperheight}{\mbox{#2}}}
- }{
- \setbeamertemplate{logo}{#2}
- }
-}
-
-\defbeamertemplate*{headline}{TUDa2023}{
- \bool_if:NT \g__ptxcd_headrule_bool {
- \cs_if_exist:NF \ptxcd_beamer_headrule {
- \ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth]{ptxcd_beamer_headrule}
- }
- \ptxcd_beamer_headrule\par\nointerlineskip
- }
- \bool_if:NTF \g__ptxcd_extended_space_bool {
- \bool_if:NTF \g__ptxcd_headrule_bool {
- \skip_vertical:n {\dim_eval:n {+\paperheight/38}}
- \strut
- } {
- \skip_vertical:n {\dim_eval:n {\paperheight/16}}
- }
- }{
- \skip_vertical:n {\dimexpr\paperheight/38}
- \hspace*{\beamer@leftmargin}\rlap{\usebeamertemplate***{title~in~head/foot}}
- }
- \hspace*{\fill}
-
- \bool_if:NT \g_ptxcd_headlinelogo_bool {
- %partnerlogo
- \bool_if:NT \g__ptxcd_extended_space_bool \smash {
- \raisebox{\dimexpr-\height+\ht\strutbox}{
- \box_use:N \g__ptxcd_partnerlogo_box
- }
- }
-
- \skip_horizontal:n {\dimexpr\paperheight/38}
- %logo
- \bool_if:NTF \g__ptxcd_headrule_bool {
- \raisebox{2mm}[0pt][0pt]{\setlength{\fboxsep}{\z@}\colorbox{white}{\rule{\z@}{\dim_eval:n {\box_ht:N \g__ptxcd_logo_box+\box_ht:N \ptxcd_beamer_headrule_box + \box_dp:N \ptxcd_beamer_headrule_box+1pt}}\box_use:N \g__ptxcd_logo_box}}
- \hspace*{10pt}
- } {
- \bool_if:NT \g__ptxcd_extended_space_bool \smash {\box_use:N \g__ptxcd_logo_box}
- \hspace*{.7pt}
- }
- }
- \par
-}
-
-\setbeamertemplate{title~in~head/foot}{
- \bool_set_false:N \l_ptxcd_separate_bool
- \tl_if_empty:NF {\beamer@shorttitle} {
- \bool_set_true:N \l_ptxcd_separate_bool
- \text_uppercase:n {\beamer@shorttitle}
- }
- \tl_if_empty:NF {\beamer@shortauthor} {
- \bool_if:NT \l_ptxcd_separate_bool {
- \space/\space
- }
- \text_uppercase:n {\beamer@shortauthor}
- }
-}
-
-
-\defbeamertemplate*{sidebar~right}{TUDa2023}{
- \bool_if:NT \g_ptxcd_headlinelogo_bool {
- \vspace{\c_ptxcd_logoheight_dim}
- \llap{\box_use:N \g__ptxcd_sublogo_box}
- }
-}
-
-\defbeamertemplate*{frametitle}{TUDa2023}[1][left]{%
- \nointerlineskip%
- \bool_if:NF \g__ptxcd_extended_space_bool
- {\vskip.55ex}
- \begin{beamercolorbox}[
- wd=\dim_eval:n {\bool_if:NT \g__ptxcd_extended_space_bool {-\box_wd:N \g__ptxcd_logo_box } \box_if_empty:NF \g__ptxcd_sublogo_box {-\box_wd:N \g__ptxcd_sublogo_box - 1em}+ \textwidth},
- ]{frametitle}
- \usebeamerfont{frametitle}%
- \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
- \vphantom{Ü}
- \text_uppercase:n {\insertframetitle}\strut
- \par%
- {%
- \ifx\insertframesubtitle\@empty%
- \else%
- {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\text_uppercase:n {\insertframesubtitle}\strut\par}%
- \fi
- }%
- \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
- \end{beamercolorbox}
- \vskip.5ex
-}
-\newcommand*{\setupTUDaFrame}[1]{
- \keys_set:nn {ptxcd/beamer/outer} {#1}
-}
-
-\mode
-<all>
-
-\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index 73aa5a5e29..04fac2c523 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.36 (2024-01-05),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
@@ -304,4 +304,4 @@
\mode<all>
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index 3ed1238fae..7287a8625e 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerthemeTUDa.sty' version 3.36 (2024-01-05),
+%% This is file `beamerthemeTUDa.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,15 +25,31 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemeTUDa}
- [\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesExplPackage{beamerthemeTUDa}{2024-04-21}{3.37}{Beamer theme using the Corporate Design of TU Darmstadt}
\mode<presentation>
-\RequirePackageWithOptions{beamerthemeTUDa2008}
+\tl_if_exist:NF \g__ptxcd_design_tl {
+ \tl_new:N \g__ptxcd_design_tl
+ \keys_define:nn {ptxcd/beamer} {
+ design .choice:,
+ design / 2023 .code:n = {
+ \tl_gset:Nn \g__ptxcd_design_tl {2023}
+ \PassOptionsToClass{aspectratio=169}{beamer}
+ },
+ design / 2008 .code:n = {
+ \tl_gset:Nn \g__ptxcd_design_tl {2008}
+ },
+ design .initial:n = 2023,
+ design .usage:n = load,
+ design2023 .meta:n = {design=2023},
+ design2008 .meta:n = {design=2008},
+ }
+ \ProcessKeyOptions[ptxcd/beamer]
+}
+
+\RequirePackageWithOptions{beamerthemeTUDa\g__ptxcd_design_tl}
\mode<all>
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
index 1d9b112bc8..684fc16de5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerthemeTUDa2008.sty' version 3.36 (2024-01-05),
+%% This is file `beamerthemeTUDa2008.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,9 +25,9 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
\ProvidesPackage{beamerthemeTUDa2008}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt Design of 2008]
@@ -48,14 +48,13 @@
\ExplSyntaxOff
-\usefonttheme{TUDa}
-\usecolortheme{TUDa}
-\useoutertheme{TUDa}
-\useinnertheme{TUDa}
+\usefonttheme{TUDa2008}
+\usecolortheme{TUDa2008}
+\useoutertheme{TUDa2008}
+\useinnertheme[design=2008]{TUDa}
\setbeamertemplate{navigation symbols}{}
-
\mode<all>
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
index 91e3125172..48e7d697b9 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerthemeTUDa2023.sty' version 3.36 (2024-01-05),
+%% This is file `beamerthemeTUDa2023.sty' version 3.38 (2024-05-07)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,36 +25,29 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemeTUDa2023}
- [\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt Design of 2023]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesExplPackage{beamerthemeTUDa2023}{2024-04-21}{3.37}{Beamer theme using the Corporate Design of TU Darmstadt Design of 2023}
\mode<presentation>
-\ExplSyntaxOn
-
\msg_new:nnn {tudabeamer} {option-removed} {
The~design~you~selected~doesn't~support~the~option~`#1`.\\
It~will~be~ignored.
}
\keys_define:nn {ptxcd/beamer} {
- colortitle .code:n = \msg_warning:nn {tudabeamer} {option-removed} {colortitle},
- colorbacktitle .code:n = \msg_warning:nn {tudabeamer} {option-removed} {colorbacktitle},
- colorframetitle .code:n = \msg_warning:nn {tudabeamer} {option-removed} {colorframetitle},
- colorback .code:n = \msg_warning:nn {tudabeamer} {option-removed} {colorback},
+ colortitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colortitle},
+ colorbacktitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorbacktitle},
+ colorframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorframetitle},
+ colorback .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorback},
logo .code:n = \PassOptionsToPackage{logo=#1}{beamerouterthemeTUDa2023}
}
\ProcessKeyOptions[ptxcd/beamer]
-\ExplSyntaxOff
-
-\usefonttheme{TUDa2023}
-\usecolortheme{TUDa2023}
-\useoutertheme{TUDa2023}
+\usefonttheme{TUDa}
+\usecolortheme{TUDa}
+\useoutertheme{TUDa}
\useinnertheme[design=2023]{TUDa}
\setbeamertemplate{navigation symbols}{}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 2a019ee5d2..1978288520 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a0paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a0paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index ecb299f814..bc63208933 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a1paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a1paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 5af8fb7ae6..cda6b6762b 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a2paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a2paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index ced810ba44..3633a54584 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a3paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a3paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 9081c79a2f..3618253919 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a4paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a4paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index 75e80d48ce..fda679c183 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,9 +1,9 @@
-%% This is file `tuda-a5paper.clo' version 3.36 (2024-01-05),
+%% This is file `tuda-a5paper.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 405025a4ea..04e7c5712d 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,9 +1,9 @@
-%% This is file `tuda-pgfplots.sty' version 3.36 (2024-01-05),
+%% This is file `tuda-pgfplots.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 0a2ab1ee48..fdf0d8e02f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,9 +1,9 @@
-%% This is file `tudabeamer.cls' version 3.36 (2024-01-05),
+%% This is file `tudabeamer.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
@@ -90,15 +90,16 @@
design / 2008 .code:n = {
\tl_gset:Nn \g__ptxcd_design_tl {2008}
},
- design .initial:n = 2008,
+ design / default .code:n = {
+ \tl_gset:Nn \g__ptxcd_design_tl {default}
+ },
+ design .initial:n = default,
design2023 .meta:n = {design=2023},
design2008 .meta:n = {design=2008},
+ design .usage:n = load,
}
-
\ExplSyntaxOff
-
-
\PassOptionsToPackage{pdfpagelabels=false,plainpages=false}{hyperref}
\PassOptionsToClass{t}{beamer}
@@ -110,6 +111,16 @@
\ProcessOptions*
\ExplSyntaxOn
+\tl_if_eq:NnT \g__ptxcd_design_tl {default} {
+ \msg_new:nnn {tudabeamer} {default-design-changed} {
+ With~version~4.0~tudabeamer~switched~to~the~new~corporate~design~layout.\\
+ In~case~this~is~not~intended,~it's~possible~switch~back~using~`design=2008`~option.\\
+ `design=2023`~will~disable~this~warning.
+ }
+ \msg_warning:nn {tudabeamer} {default-design-changed}
+ \keys_set:nn {ptxcd/beamer} {design=2023}
+}
+
\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
\bool_if:NT \g_ptxcd_pdfa_bool {
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 482049e5e6..6a8afea418 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,9 +1,9 @@
-%% This is file `tudacolors.def' version 3.36 (2024-01-05),
+%% This is file `tudacolors.def' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 12c351e281..137697f261 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,9 +1,9 @@
-%% This is file `tudacolors.sty' version 3.36 (2024-01-05),
+%% This is file `tudacolors.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index c9f99798f0..07afd270c2 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,9 +1,9 @@
-%% This is file `tudaexercise.cls' version 3.36 (2024-01-05),
+%% This is file `tudaexercise.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaexercise}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index e97c230514..6a7873942a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,9 +1,9 @@
-%% This is file `tudafonts.sty' version 3.36 (2024-01-05),
+%% This is file `tudafonts.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 108a41cc0a..de3430b507 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,9 +1,9 @@
-%% This is file `tudaleaflet.cls' version 3.36 (2024-01-05),
+%% This is file `tudaleaflet.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index d322be13dd..15baed6069 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,9 +1,9 @@
-%% This is file `tudaletter.cls' version 3.36 (2024-01-05),
+%% This is file `tudaletter.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaletter}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index b5d756dd77..54348ee206 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,9 +1,9 @@
-%% This is file `tudalettersize10pt.clo' version 3.36 (2024-01-05),
+%% This is file `tudalettersize10pt.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This file is a slightly modified version of scrsize10pt.clo
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index 6c99184ae7..83f385b172 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,9 +1,9 @@
-%% This is file `tudamecheng.cfg' version 3.36 (2024-01-05),
+%% This is file `tudamecheng.cfg' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 55bae572c7..99b2d2d07d 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,9 +1,9 @@
-%% This is file `tudaposter.cls' version 3.36 (2024-01-05),
+%% This is file `tudaposter.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index ce48e40441..a863197f83 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,9 +1,9 @@
-%% This is file `tudapub.cls' version 3.36 (2024-01-05),
+%% This is file `tudapub.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudapub}
@@ -218,14 +218,14 @@
}
\prop_if_in:NnF \g__pdfmeta_outputintents_prop {GTS_PDFA1} {
- \PassOptionsToPackage{rgb}{xcolor}
+ \PassOptionsToPackage{RGB}{xcolor}
\msg_info:nn {tudapub} {colors-to-rgb}
}
}
}
\bool_if:NT \g_ptxcd_pdfx_bool {
- \PassOptionsToPackage{rgb}{xcolor}
+ \PassOptionsToPackage{RGB}{xcolor}
\msg_info:nn {tudapub} {colors-to-rgb}
}
@@ -908,7 +908,7 @@
}
%%hyperref
- \hypersetup{hidelinks, unicode,pdfa}
+ \hypersetup{hidelinks, unicode}
\iow_new:N \ptxcd_xmpdata_stream
\tl_new:N \g_ptxcd_xmp_title_tl
\tl_new:N \g_ptxcd_xmp_author_tl
@@ -985,7 +985,7 @@
\hypersetup{pdfcreator=LaTeX~using~TUDa-CI}
\msg_new:nnnn {tudapub} {metadata-to-hypersetup} {
- You~don't~use~pdfx.\\
+ You~don't~use~pdfx.~
Here~the~\string\Metadata\~command~only~exists~for~compatibility~reasons.\\
I~will~pass~the~data~to~ḩypersetup.
}{
@@ -1041,6 +1041,8 @@
}
\fi:
+\RequirePackage{bookmark}
+
\box_new:N \g_ptxcd_sponsor_box
\seq_new:N \g_ptxcd_sponsors_seq
\def\AddSponsor{\seq_gput_right:Nn \g_ptxcd_sponsors_seq}
@@ -1071,6 +1073,14 @@
\def\and{,~ }
\cs_if_exist_use:N \ptxcd_pass_TitleData:
\if@titlepage
+ \edef\titlepage@restore{%
+ \noexpand\endgroup
+ \noexpand\global\noexpand\@colht\the\@colht
+ \noexpand\global\noexpand\@colroom\the\@colroom
+ \noexpand\global\vsize\the\vsize
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse
+ \noexpand\let\noexpand\titlepage@restore\noexpand\relax
+ }%
\ptxcd_disable_marginpar:
\begin{titlepage}
\setcounter{page}{%
@@ -1078,18 +1088,6 @@
}%
\def\thefootnote{\ptxcd_title_footnotestyle:n {\c@footnote}}
\if@titlepageiscoverpage
- \def\titlepage@restore{%
- \endgroup
- \ptxcd_restore_typearea:
- \bool_if:nT {! \g_ptxcd_geometry_bool && \g_ptxcd_marginpar_bool} {
- \dim_sub:Nn \evensidemargin {\marginparwidth+\marginparsep}
- \dim_add:Nn \textwidth {\marginparwidth+\marginparsep}
- \columnwidth=\textwidth
- \hsize=\columnwidth
- }
- \global\@titlepageiscoverpagefalse
- \let\titlepage@restore\relax
- }%
\begingroup
\topmargin=\dimexpr \coverpagetopmargin-1in\relax
\oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 22b74c478b..76dae0e2e7 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,9 +1,9 @@
-%% This is file `tudarules.sty' version 3.36 (2024-01-05),
+%% This is file `tudarules.sty' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index 3ebd638173..e3bda42e20 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,9 +1,9 @@
-%% This is file `tudasciposter.cls' version 3.36 (2024-01-05),
+%% This is file `tudasciposter.cls' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index 4977d1918e..8537d16f7c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,9 +1,9 @@
-%% This is file `tudasize9pt.clo' version 3.36 (2024-01-05),
+%% This is file `tudasize9pt.clo' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This file is a slightly modified version of scrsize10pt.clo
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index ded4b7c23b..e25ded1a68 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,9 +1,9 @@
-%% This is file `tudathesis.cfg' version 3.36 (2024-01-05),
+%% This is file `tudathesis.cfg' version 3.38 (2024-05-07),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
+\def\fileversion{3.38}
+\def\filedate{2024-05-07}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
@@ -460,6 +460,14 @@
\ptxcd_check_title_data:cn {TUDa@##1} {##1}
}
\cs_if_exist_use:N \ptxcd_pass_TitleData:
+ \edef\titlepage@restore{%
+ \noexpand\endgroup
+ \noexpand\global\noexpand\@colht\the\@colht
+ \noexpand\global\noexpand\@colroom\the\@colroom
+ \noexpand\global\vsize\the\vsize
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse
+ \noexpand\let\noexpand\titlepage@restore\noexpand\relax
+ }%
\ptxcd_disable_marginpar:
\cleardoublepage
\begin{titlepage}
@@ -468,18 +476,6 @@
}%
\def\thefootnote{\fnsymbol{footnote}}
\if@titlepageiscoverpage
- \def\titlepage@restore{%
- \endgroup
- \ptxcd_restore_typearea:
- \bool_if:nT {! \g_ptxcd_geometry_bool && \g_ptxcd_marginpar_bool} {
- \dim_sub:Nn \evensidemargin {\marginparwidth+\marginparsep}
- \dim_add:Nn \textwidth {\marginparwidth+\marginparsep}
- \columnwidth=\textwidth
- \hsize=\columnwidth
- }
- \global\@titlepageiscoverpagefalse
- \let\titlepage@restore\relax
- }%
\begingroup
\topmargin=\dimexpr \coverpagetopmargin-1in\relax
\oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax
@@ -671,7 +667,7 @@
Ich versichere hiermit, dass zu einem vorherigen Zeitpunkt noch keine Promotion versucht wurde. In diesem Fall sind nähere Angaben über Zeitpunkt, Hochschule, Dissertationsthema und Ergebnis dieses Versuchs mitzuteilen.
\subsection*{\S\,9 Abs. 1 PromO}
- Ich versichere hiermit, dass die vorliegende Dissertation selbstständig und nur unter Verwendung der angegebenen Quellen verfasst wurde.
+ Ich versichere hiermit, dass die vorliegende Dissertation – abgesehen von den in ihr ausdrücklich genannten Hilfen – selbstständig verfasst wurde und dass die „Grundsätze zur Sicherung guter wissenschaftlicher Praxis an der Technischen Universität Darmstadt“ und die „Leitlinien zum Umgang mit digitalen Forschungsdaten an der TU Darmstadt“ in den jeweils aktuellen Versionen bei der Verfassung der Dissertation beachtet wurden.
\subsection*{\S\,9 Abs. 2 PromO}
Die Arbeit hat bisher noch nicht zu Prüfungszwecken gedient.
diff --git a/macros/latex/contrib/typog/Makefile b/macros/latex/contrib/typog/Makefile
new file mode 100644
index 0000000000..bb3c83ab24
--- /dev/null
+++ b/macros/latex/contrib/typog/Makefile
@@ -0,0 +1,302 @@
+### name: Makefile
+### synopsis: Build `typog' style file, tools, and documentation
+### author: Dr. Christoph L. Spiel
+### GNU make version: 4.3
+
+
+SHELL := /bin/sh
+
+
+LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
+LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
+
+MAKEINDEX := makeindex
+MAKEINDEX_FLAGS := -q
+
+
+METAPOST := mpost
+METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
+
+
+PODCHECKER := podchecker
+PODCHECKER_FLAGS := -warnings
+
+
+POD2MAN := pod2man
+POD2MAN_FLAGS := $$(sed -ne 's,\\ProvidesPackage{typog}\[\([0-9][0-9]*/[0-9][0-9]*/[0-9][0-9]*\) *v\([^ ]*\) .*$$,--date=\1 --release=\2,p' < typog.sty)
+
+
+POD2TEXI := pod2texi
+POD2TEXI_FLAGS :=
+
+
+GROFF := groff
+## Codes of serif fonts that work for PDF output
+## BM: URW Bookman L
+## N: URW Century Schoolbook L
+## P: URW Palladio L
+## T: URW Nimbus Roman No9 L
+GROFF_FLAGS := -Tpdf -dpaper=a4 -fP -man -wall
+
+
+SPELLCHECK := aspell
+SPELLCHECK_FLAGS := \
+ --add-tex-command='citenum p' --add-tex-command='code p' \
+ --add-tex-command='Cref p' --add-tex-command='cref p' \
+ --add-tex-command='cs p' \
+ --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
+ --add-tex-command='marg p' --add-tex-command='meta p' \
+ --add-tex-command='oarg p' \
+ --lang=en_US --mode=tex
+
+
+SOURCE_FILES := LICENSE Makefile typog.dtx typog.ins
+
+
+
+.PHONY: all
+all: sty pdf man
+
+
+.PHONY: sty
+sty: typog.sty
+
+
+.PHONY: pdf
+pdf: doc ex nomt
+
+
+.PHONY: doc
+doc: typog.pdf
+
+
+.PHONY: ex
+ex: typog-example.pdf
+
+
+.PHONY: nomt
+nomt: typog-nomt.pdf
+
+
+.PHONY: man
+man: typog-grep.1
+
+
+.PHONY: cpio
+cpio:
+ cd ..; \
+ echo $(addprefix typog/,$(SOURCE_FILES)) | \
+ cpio -o | \
+ gzip > "typog-$$(date +%Y-%m-%d).cpio.gz"
+
+
+.PHONY: tar
+tar:
+ cd ..; \
+ tar czf "typog-$$(date +%Y-%m-%d).tar.gz" $(addprefix typog/,$(SOURCE_FILES))
+
+
+.PHONY: clean
+clean:
+ $(RM) ./*.1 ./*.aux ./*.brf ./*.glg ./*.glo ./*.gls
+ $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.loe ./*.lof ./*.log ./*.lot
+ $(RM) ./*.mps ./*.mpx ./*.out ./*.pdf ./*.toc
+ $(RM) mptextmp.* mpxerr.tex
+ $(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
+
+
+.PHONY: mostlyclean
+mostlyclean: clean
+
+
+.PHONY: maintainer-clean
+maintainer-clean: mostlyclean
+ $(RM) ./*.ist ./*.mp ./*.pl ./*.pod ./*.sed ./*.sty ./*.tex
+
+
+.PHONY: tool-check
+tool-check:
+ @printf '*** LATEX = "%s"\n' '$(LATEX)'
+ $(LATEX) --version
+ @printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
+ $(MAKEINDEX) < /dev/null
+ @printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
+ $(METAPOST) --version
+ @printf '\n*** POD2MAN = "%s"\n' '$(POD2MAN)'
+ $(POD2MAN) --help > /dev/null
+ @printf '\n\n*** POD2TEXI = "%s"\n' '$(POD2TEXI)'
+ $(POD2TEXI) --version
+ @printf '\n\nTool check passed.\n'
+
+
+.PHONY: spell-check
+spell-check:
+ @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
+ -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < typog.dtx | \
+ sed -e 's/^ *%%*//' | \
+ sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
+ $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
+ sort | uniq | fmt | sed -e 's/ / /g'
+
+
+.PHONY: update-docs
+update-docs: doc ex typog-grep.1.pdf
+ cp -f typog.pdf typog-example.pdf typog-grep.1 typog-grep.1.pdf docs
+
+
+define HELP_SCREEN
+Selected Phony Targets
+----------------------
+all: Make everything there is to make. This is the .DEFAULT_GOAL.
+
+clean: Remove some products.
+
+cpio: In the parent directory create a cpio(1) archive of the
+ project source files whose name is time-stamped.
+
+doc: Build "typog.pdf" the Typog documentation.
+
+ex: Build "typog-example.pdf" an example and test file for Typog.
+
+maintainer-clean: Remove every product file that can be rebuilt even
+ if uncommon tools are necessary.
+
+mostlyclean: Remove some more products than clean:.
+
+pdf: Build doc: and gauge:.
+
+sty: Only extract "typog.sty" from "typog.dtx". This
+ operation requires LaTeX (-> $(LATEX)) and nothing else.
+
+tar: In the parent directory create a tar(1) file of the project
+ source files whose name is time-stamped.
+
+tool-check: Check whether some of the required tools to build the
+ project are available.
+
+
+Selected Implicit Rules
+-----------------------
+%.pdf: %.dtx
+ Run LaTeX or pdfLaTeX (-> $(LATEX)) on dtx source until a
+ fix-point is reached.
+
+%.pdf: %.tex
+ Run LaTeX or pdfLaTeX (-> $(LATEX)) on tex file until a
+ fix-point is reached.
+
+%.1: %.pod
+ Create a manual page from plain old documentation format.
+ Requires podchecker (-> $(PODCHECKER)) and pod2man
+ (-> $(POD2MAN)).
+
+%.1.pdf: %.1
+ Convert a manual page into a pdf file. Requires groff
+ (-> $(GROFF)).
+
+
+Some Explicit Rules
+-------------------
+README.html:
+ Convert "README.md" to html. Requires markdown(1).
+
+README: Convert "README.html" to plain text. Requires w3m(1).
+
+endef
+
+.PHONY: help
+help:
+ $(info $(HELP_SCREEN))
+
+
+
+.PRECIOUS: %.mps
+
+
+
+define MAKE_INDEX_AND_GLOSSARY
+sed -e '/@/d' -e 's/{\\ttfamily /{\\ttfamily\\hskip0pt\\relax /' < $*.idx > ,$*.idx; \
+mv ,$*.idx $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s typog.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+endef
+
+define GREP_LATEX_WARNINGS
+test -e $*.log && grep -E $(LATEX_WARNING) $*.log | uniq
+endef
+
+%.pdf: %.dtx
+ $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.gls ./$*.glo ./$*.lot ./$*.toc
+ $(LATEX) $(LATEX_FLAGS) -draftmode $<
+ $(MAKE_INDEX_AND_GLOSSARY)
+ $(LATEX) $(LATEX_FLAGS) $<
+ $(MAKE_INDEX_AND_GLOSSARY)
+ while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \
+ do \
+ $(LATEX) $(LATEX_FLAGS) $<; \
+ $(MAKE_INDEX_AND_GLOSSARY); \
+ done
+ $(GREP_LATEX_WARNINGS)
+
+
+%.pdf: %.tex
+ $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.lot ./$*.toc
+ $(LATEX) $(LATEX_FLAGS) -draftmode $<
+ $(LATEX) $(LATEX_FLAGS) $<
+ while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \
+ do \
+ $(LATEX) $(LATEX_FLAGS) $<; \
+ done
+ $(GREP_LATEX_WARNINGS)
+
+
+%-1.mps %-2.mps %-3.mps %-4.mps: %.mp
+ $(METAPOST) -s 'outputtemplate="%j-%c.mps"' $(METAPOST_FLAGS) $<
+
+
+%.1: %.pod
+ $(PODCHECKER) $(PODCHECKER_FLAGS) $<
+ $(POD2MAN) $(POD2MAN_FLAGS) $< $@
+
+%.1.pdf: %.1
+ $(GROFF) $(GROFF_FLAGS) ./$< > $@
+
+%.tex: %.pod | teximan2latex.sed
+ $(POD2TEXI) $(POD2TEXI_FLAGS) ./$< | sed -f teximan2latex.sed > $@
+
+
+%.html: %.md
+ markdown $< > $@
+
+%: %.html
+ w3m -cols 79 $< > $@
+
+
+crooked-paragraphs.mp slant-angle.mp smooth-parshapes.mp title.mp \
+teximan2latex.sed \
+typog-grep.pl typog-grep typog-grep.pod \
+typog.sty typog.ist typog-example.tex typog-nomt.tex: \
+ typog.ins typog.dtx
+ $(LATEX) $(LATEX_FLAGS) $<
+ chmod 755 typog-grep.pl
+ ln -sf typog-grep.pl typog-grep
+
+
+crooked-paragraphs-1.mps crooked-paragraphs-2.mps \
+crooked-paragraphs-3.mps crooked-paragraphs-4.mps: crooked-paragraphs.mp
+
+smooth-parshapes-1.mps smooth-parshapes-2.mps smooth-parshapes-3.mps: smooth-parshapes.mp
+
+slant-angle-1.mps: slant-angle.mp
+
+title-1.mps: title.mp
+
+typog.pdf: typog.dtx \
+ crooked-paragraphs-1.mps crooked-paragraphs-2.mps \
+ crooked-paragraphs-3.mps crooked-paragraphs-4.mps \
+ slant-angle-1.mps title-1.mps \
+ smooth-parshapes-1.mps smooth-parshapes-2.mps smooth-parshapes-3.mps \
+ typog-grep.tex \
+ | typog.sty
diff --git a/macros/latex/contrib/typog/README.md b/macros/latex/contrib/typog/README.md
new file mode 100644
index 0000000000..fb55ccb1e1
--- /dev/null
+++ b/macros/latex/contrib/typog/README.md
@@ -0,0 +1,79 @@
+# TypoG &ndash; Typographic Fine-Tuning for LaTeX
+
+LaTeX package `typog` provides macros for (micro-)typographic enhancements;
+it covers a variety of topics:
+
+* Precise hyphenation control
+* Disable/break ligatures
+* Manual italic correction
+* Extra kerning for slash and hyphen
+* Raising selected characters (e.g. hyphen, en-dash, and em-dash)
+* Aligning of the last line of a paragraph
+* Filling of the last line last line of a paragraph
+* Word spacing control
+* [Microtype](https://github.com/schlcht/microtype) front-end
+* Slightly sloppy paragraphs
+* Vertically partially-tied paragraphs
+* Breakable displayed equations
+* Setspace front-end
+* Smooth ragged-right paragraphs
+
+Moreover `typog` provides an environment to flag interesting parts of
+the information deluge typically accumulating in a LaTeX *log*-file
+and an associated tool, **typog-grep**, that selectively retrieves
+these parts.
+
+
+## Installation
+
+The minimally necessary files to install typog are *typog.ins* and *typog.dtx*. Running LaTeX
+on *typog.ins* in particular produces *typog.sty*:
+
+ latex typog.ins
+
+After extraction from *typog.dtx* place *typog.sty* in a directory mentioned in your TEXINPUTS
+paths or copy it into one of the directories for your LaTeX installation's *sty*-files and run
+**mktexlsr** or equivalent.
+
+To build the documentation it is easier to use the GNU *Makefile*:
+
+ make
+
+To construct the manual *typog.pdf* or the usage example *typog-example.pdf* a working
+[MetaPost](https://tug.org/metapost.html) installation and some
+[POD](https://perldoc.perl.org/perlpod) utilities of a [Perl](https://www.perl.org/)
+distribution are required. Cautious users can run
+
+ make tool-check
+
+ahead to verify that the required utilities are installed and working.
+For an overview over the most important *Makefile* targets use
+
+ make help
+
+
+## Usage
+
+Load the package with the usual incantation
+
+ \usepackage{typog}
+
+See Section 2 of the package documentation for available options.
+
+
+## Documentation
+
+The package documentation can be found
+[online](https://cspiel.github.io/typog/).
+
+
+## Credits
+
+Typog is written by Ch. L. Spiel <cspiel@users.sourceforge.org>.
+
+
+## License
+
+Released under the
+[LaTeX Project Public License v1.3c](https://www.latex-project.org/lppl.txt)
+or later.
diff --git a/macros/latex/contrib/typog/RELEASE-HOWTO.md b/macros/latex/contrib/typog/RELEASE-HOWTO.md
new file mode 100644
index 0000000000..13435ef66d
--- /dev/null
+++ b/macros/latex/contrib/typog/RELEASE-HOWTO.md
@@ -0,0 +1,51 @@
+# How to prepare a new release
+
+... and not make too many mistakes.
+
+
+1. Check that the work-area is clean with respect to **git**-tracked
+ files.
+
+ ``` git status ```
+
+1. Update the date stamp of `\ProvidesPackage`.
+
+1. (Temporarily) Zero the `\overfullrule`s of the documentation and
+ the example files.
+
+1. Thoroughly clean the work-area:
+
+ ```make maintainer-clean```
+
+1. Rebuild:
+
+ ```make```
+
+1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
+
+1. Push the documentation files created in the previous step down into
+ the *docs* directory:
+
+ ```make update-docs```
+
+1. Undo the `\overfullrule` change.
+
+1. Commit the changes:
+
+ ```
+ git add .
+ ```
+
+ and finally
+
+ ```
+ git commit
+ ```
+
+1. Tag the commit with the version string of `\ProvidesPackage`:
+
+ ```git tag v1.23```
+
+1. Push the changes to the public repository:
+
+ ```git push origin master --tags```
diff --git a/macros/latex/contrib/typog/docs/index.md b/macros/latex/contrib/typog/docs/index.md
new file mode 100644
index 0000000000..f4dc2e8bd9
--- /dev/null
+++ b/macros/latex/contrib/typog/docs/index.md
@@ -0,0 +1,5 @@
+### Package Documentation
+
+- Comprehensive `typog` documentation: [typog.pdf](https://cspiel.github.io/typog/typog.pdf)
+- `typog` examples and tests: [typog-example.pdf](https://cspiel.github.io/typog/typog-example.pdf)
+- **typog-grep** manual page: [typog-grep.1](https://cspiel.github.io/typog/typog-grep.1) and as PDF: [typog-grep.1.pdf](https://cspiel.github.io/typog/typog-grep.1.pdf)
diff --git a/macros/latex/contrib/typog/docs/typog-example.pdf b/macros/latex/contrib/typog/docs/typog-example.pdf
new file mode 100644
index 0000000000..621ac319d2
--- /dev/null
+++ b/macros/latex/contrib/typog/docs/typog-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1 b/macros/latex/contrib/typog/docs/typog-grep.1
new file mode 100644
index 0000000000..372c87bc5f
--- /dev/null
+++ b/macros/latex/contrib/typog/docs/typog-grep.1
@@ -0,0 +1,428 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TYPOG-GREP 1"
+.TH TYPOG-GREP 1 "2024-05-07" "perl v5.36.0" "User Contributed Perl Documentation"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.\" Turn off justification.
+.na
+.SH "NAME"
+typog\-grep \- grep for typog\-inspect elements in LaTeX log files
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.IP "\fBtypog-grep\fR \-a|\-\-all|\-\-any [\fI\s-1OPTION\s0\fR...] \fILOG-FILE\fR..." 4
+.IX Item "typog-grep -a|--all|--any [OPTION...] LOG-FILE..."
+.PD 0
+.IP "\fBtypog-grep\fR [\fI\s-1OPTION\s0\fR...] \fI\s-1REGEXP\s0\fR \fILOG-FILE\fR..." 4
+.IX Item "typog-grep [OPTION...] REGEXP LOG-FILE..."
+.PD
+.PP
+The first form shows all \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements in \fILOG-FILE\fR.
+.PP
+The second form shows the contents of \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements
+whose \fI\s-1ID\s0\fRs match \fI\s-1REGEXP\s0\fR in \fILOG-FILE\fR.
+.PP
+If no \fILOG-FILE\fR is given read from \fIstdin\fR.
+The filename\ \f(CW\*(C`\-\*(C'\fR is synonymous to \fIstdin\fR.
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBtypog-grep\fR is a tailored post-processor for LaTeX log files
+and the \f(CW\*(C`typoginspect\*(C'\fR environment as provided by package\ typog.
+It shares more with the venerable
+\&\fBsgrep\fR <https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
+than with \s-1POSIX\s0\ \fBgrep\fR <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.
+.PP
+The LaTeX user brackets her text in
+.PP
+.Vb 3
+\& \ebegin{typoginspect}{ID}
+\& Text and code to investigate
+\& \eend{typoginspect}
+.Ve
+.PP
+where \fI\s-1ID\s0\fR is used to identify one or more bracketed snippets.
+\&\fI\s-1ID\s0\fR does not have to be unique.
+The \fI\s-1REGEXP\s0\fR mechanism makes it easy to select groups of related \fI\s-1ID\s0\fRs
+if they are named accordingly.
+.PP
+In \fILOG-FILE\fR the environment shows up, packed with tracing information, as
+.PP
+.Vb 3
+\& <typog\-inspect id="ID" job="JOB\-NAME" line="LINE\-NUMBER" page="PAGE\-NUMBER">
+\& Trace Data
+\& </typog\-inspect>
+.Ve
+.PP
+where all the capital-letter sequences are meta-variables
+and in particular
+\&\fIJOB-NAME\fR is the expansion of \f(CW\*(C`\ejobname\*(C'\fR,
+\&\fILINE-NUMBER\fR is the LaTeX source file line number
+of the beginning of the \f(CW\*(C`typoginspect\*(C'\fR environment,
+and \fIPAGE-NUMBER\fR is the page where
+the output of \f(CW\*(C`Text\ and\ code\ to\ investigate\*(C'\fR occurs.
+.PP
+\&\fBtypog-grep\fR reveals the contents of \fILOG-FILE\fR
+between \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR
+and \f(CW\*(C`</typog\-inspect>\*(C'\fR excluding the XML-tags.
+Access the \fIJOB-NAME\fR, \fILINE-NUMBER\fR, and \fIPAGE-NUMBER\fR
+with the commandline options
+\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, and \fB\-\-page\-number\fR, respectively.
+Use \fB\-\-id\fR to show the name of the IDs that matched \fI\s-1REGEXP\s0\fR.
+.PP
+\&\f(CW\*(C`typoginspect\*(C'\fR environments can be nested.
+\&\fBtypog-grep\fR respects the nesting,
+i.e., if the \fI\s-1ID\s0\fR of the nested environment does not match \fI\s-1REGEXP\s0\fR
+it will not be included in the program's output.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The list of options is sorted by the names of the long options.
+.IP "\fB\-a\fR, \fB\-\-all\fR, \fB\-\-any\fR" 4
+.IX Item "-a, --all, --any"
+ID-discovery mode:
+Show all \f(CW\*(C`typog\-inspect\*(C'\fR elements independent of any matching patterns.
+.IP "\fB\-\-color\fR, \fBcolour\fR \fI\s-1WHEN\s0\fR" 4
+.IX Item "--color, colour WHEN"
+Colorize specific log contents for the matching ids.
+The argument\ \fI\s-1WHEN\s0\fR determines when to apply color:
+\&\f(CW\*(C`always\*(C'\fR, \f(CW\*(C`never\*(C'\fR, or\ \f(CW\*(C`auto\*(C'\fR.
+The setting \f(CW\*(C`auto\*(C'\fR checks whether standard output has been redirected.
+This is the default.
+.IP "\fB\-C\fR, \fB\-\-config\fR \fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:\fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:...]]" 4
+.IX Item "-C, --config KEY=VALUE[:KEY=VALUE[:...]]"
+Set one or more configuration \fI\s-1KEY\s0\fR to \fI\s-1VALUE\s0\fR pairs.
+See Sec.\ \s-1CONFIGURATION\s0 below for a description of all available configuration items.
+Use option \fB\-\-show\-config\fR to display the default configuration.
+.IP "\fB\-\-debug\fR" 4
+.IX Item "--debug"
+Turn on debug output on \fIstderr\fR.
+.IP "\fB\-h\fR, \fB\-\-help\fR" 4
+.IX Item "-h, --help"
+Display brief help then exit.
+.IP "\fB\-i\fR, \fB\-\-[no\-]id\fR" 4
+.IX Item "-i, --[no-]id"
+Print the actual id name that matched \fI\s-1REGEXP\s0\fR.
+Control the appearance of the matching id with configuration item\ \f(CW\*(C`id\-heading\*(C'\fR.
+.IP "\fB\-y\fR, \fB\-\-[no\-]ignore\-case\fR" 4
+.IX Item "-y, --[no-]ignore-case"
+Match ids while ignoring case distinctions in patterns and data.
+.IP "\fB\-j\fR, \fB\-\-[no\-]job\-name\fR" 4
+.IX Item "-j, --[no-]job-name"
+Print the \f(CW\*(C`\ejobname\*(C'\fR that \fBtex\fR associated with the input file.
+.IP "\fB\-n\fR, \fB\-\-[no\-]line\-number\fR" 4
+.IX Item "-n, --[no-]line-number"
+Print the line number where the \f(CW\*(C`typoginspect\*(C'\fR\ environment
+was encountered in the LaTeX source file.
+.IP "\fB\-N\fR, \fB\-\-[no\-]log\-line\-number\fR" 4
+.IX Item "-N, --[no-]log-line-number"
+Print the line number of the \fIlog\fR\-file where the current line was encountered.
+.IP "\fB\-p\fR, \fB\-\-[no\-]page\-number\fR" 4
+.IX Item "-p, --[no-]page-number"
+Print page number where the contents of the \f(CW\*(C`typoginspect\*(C'\fR\ environment
+starts in the typeset document.
+.IP "\fB\-P\fR, \fB\-\-[no\-]pager\fR" 4
+.IX Item "-P, --[no-]pager"
+Redirect output from \fIstdout\fR to the configured pager.
+.IP "\fB\-\-show\-config\fR" 4
+.IX Item "--show-config"
+Show the default configuration and exit.
+.IP "\fB\-V\fR, \fB\-\-version\fR" 4
+.IX Item "-V, --version"
+Show version information and exit.
+.IP "\fB\-w\fR, \fB\-\-[no\-]word\-regexp\fR" 4
+.IX Item "-w, --[no-]word-regexp"
+Match only whole words.
+.SH "CONFIGURATION"
+.IX Header "CONFIGURATION"
+.ie n .IP """id\-format""=\fI\s-1FORMAT\s0\fR" 4
+.el .IP "\f(CWid\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.IX Item "id-format=FORMAT"
+Control the \fI\s-1FORMAT\s0\fR for printing matching ids in inline-mode,
+where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Default:\ \f(CW%s:\fR.
+.ie n .IP """id\-heading""=0|1" 4
+.el .IP "\f(CWid\-heading\fR=\f(CW0\fR|\f(CW1\fR" 4
+.IX Item "id-heading=0|1"
+Choose between printing the matching ids with option\ \fB\-\-id\fR:
+Inline\ (\f(CW0\fR) or heading before the matching data (\f(CW1\fR).
+Default:\ \f(CW0\fR.
+.ie n .IP """id\-heading\-format""=\fI\s-1FORMAT\s0\fR" 4
+.el .IP "\f(CWid\-heading\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.IX Item "id-heading-format=FORMAT"
+Control the \fI\s-1FORMAT\s0\fR for printing matching ids in heading-mode,
+where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Default:\ \f(CW\*(C`\-\->\ %s\ <\-\-\*(C'\fR.
+.ie n .IP """id\-indent""=\fI\s-1INDENT\s0\fR" 4
+.el .IP "\f(CWid\-indent\fR=\fI\s-1INDENT\s0\fR" 4
+.IX Item "id-indent=INDENT"
+Indentation of nested typog-inspect tags.
+Only used in ``discovery'' mode (first form), i.e., if \fB\-\-all\fR is active.
+Default:\ 8.
+.ie n .IP """id\-max\-length""=\fIMAXIMUM-LENGTH\fR" 4
+.el .IP "\f(CWid\-max\-length\fR=\fIMAXIMUM-LENGTH\fR" 4
+.IX Item "id-max-length=MAXIMUM-LENGTH"
+Set the maximum length of a matching id for printing.
+It a matching id exceeds this length it will be truncated
+and the last three characters (short of \fIMAXIMUM-LENGTH\fR) will be replaced by dots.
+Default:\ 40.
+.ie n .IP """line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
+.el .IP "\f(CWline\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.IX Item "line-number-format=FORMAT"
+Control the \fI\s-1FORMAT\s0\fR for printing TeX source line numbers,
+where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Default:\ \f(CW%5d\fR.
+.ie n .IP """log\-line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
+.el .IP "\f(CWlog\-line\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.IX Item "log-line-number-format=FORMAT"
+Control the \fI\s-1FORMAT\s0\fR for printing log line numbers,
+where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Default:\ \f(CW%6d\fR.
+.ie n .IP """page\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
+.el .IP "\f(CWpage\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.IX Item "page-number-format=FORMAT"
+Control the \fI\s-1FORMAT\s0\fR for printing page numbers,
+where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Default:\ \f(CW\*(C`[%3d]\*(C'\fR.
+.ie n .IP """pager""=\fI\s-1PAGER\s0\fR" 4
+.el .IP "\f(CWpager\fR=\fI\s-1PAGER\s0\fR" 4
+.IX Item "pager=PAGER"
+Name of pager application to pipe output into
+if run with option\ \fB\-\-pager\fR.
+Default:\ \f(CW\*(C`less\*(C'\fR.
+.ie n .IP """pager\-flags""=\fI\s-1FLAGS\s0\fR" 4
+.el .IP "\f(CWpager\-flags\fR=\fI\s-1FLAGS\s0\fR" 4
+.IX Item "pager-flags=FLAGS"
+Pass \fI\s-1FLAGS\s0\fR to \fI\s-1PAGER\s0\fR.
+Default:\ \f(CW\*(C`\-\-quit\-if\-one\-screen\*(C'\fR.
+.IP "Color Configuration" 4
+.IX Item "Color Configuration"
+For the syntax of the color specifications consult
+the manual page of Term::ANSIColor(pm).
+.RS 4
+.ie n .IP """file\-header\-color""" 4
+.el .IP "\f(CWfile\-header\-color\fR" 4
+.IX Item "file-header-color"
+Color of the filename header.
+.ie n .IP """fill\-state\-color""" 4
+.el .IP "\f(CWfill\-state\-color\fR" 4
+.IX Item "fill-state-color"
+Color of the messages that report ``Underfull hbox'' or ``Overfull hbox''.
+.ie n .IP """first\-vbox\-color""" 4
+.el .IP "\f(CWfirst\-vbox\-color\fR" 4
+.IX Item "first-vbox-color"
+Color of the first vbox on a page.
+.ie n .IP """font\-spec\-color""" 4
+.el .IP "\f(CWfont\-spec\-color\fR" 4
+.IX Item "font-spec-color"
+Color of font specifications.
+.ie n .IP """horizontal\-break\-candidate\-color""" 4
+.el .IP "\f(CWhorizontal\-break\-candidate\-color\fR" 4
+.IX Item "horizontal-break-candidate-color"
+Color of lines with horizontal-breakpoint candidates\ \f(CW\*(C`@\*(C'\fR.
+.ie n .IP """horizontal\-breakpoint\-color""" 4
+.el .IP "\f(CWhorizontal\-breakpoint\-color\fR" 4
+.IX Item "horizontal-breakpoint-color"
+Color of lines with horizontal breakpoints\ \f(CW\*(C`@@\*(C'\fR.
+.ie n .IP """id\-color""" 4
+.el .IP "\f(CWid\-color\fR" 4
+.IX Item "id-color"
+Color of matching ids when printed inline.
+.ie n .IP """id\-heading\-color""" 4
+.el .IP "\f(CWid\-heading\-color\fR" 4
+.IX Item "id-heading-color"
+Color of matching ids when printed in heading form.
+.ie n .IP """line\-break\-pass\-color""" 4
+.el .IP "\f(CWline\-break\-pass\-color\fR" 4
+.IX Item "line-break-pass-color"
+Color of the lines showing which pass (e.g., \f(CW@firstpass\fR)
+of the line-breaking algorithm is active.
+.ie n .IP """line\-number\-color""" 4
+.el .IP "\f(CWline\-number\-color\fR" 4
+.IX Item "line-number-color"
+Color of TeX-source-file line numbers.
+.ie n .IP """log\-line\-number\-color""" 4
+.el .IP "\f(CWlog\-line\-number\-color\fR" 4
+.IX Item "log-line-number-color"
+Color of log-file line numbers.
+.ie n .IP """math\-color""" 4
+.el .IP "\f(CWmath\-color\fR" 4
+.IX Item "math-color"
+Color used for math expressions including their font specs.
+.ie n .IP """page\-number\-color""" 4
+.el .IP "\f(CWpage\-number\-color\fR" 4
+.IX Item "page-number-color"
+Color of page numbers of the final output.
+.ie n .IP """tightness\-color""" 4
+.el .IP "\f(CWtightness\-color\fR" 4
+.IX Item "tightness-color"
+Color of lines with Tight/Loose hbox reports.
+.ie n .IP """vertical\-breakpoint\-color""" 4
+.el .IP "\f(CWvertical\-breakpoint\-color\fR" 4
+.IX Item "vertical-breakpoint-color"
+Color of possible vertical breakpoints.
+.RE
+.RS 4
+.RE
+.SS "Brief summary of colors and attributes"
+.IX Subsection "Brief summary of colors and attributes"
+.IP "Foreground Color" 4
+.IX Item "Foreground Color"
+\&\f(CW\*(C`black\*(C'\fR, \f(CW\*(C`red\*(C'\fR, \f(CW\*(C`green\*(C'\fR, \f(CW\*(C`yellow\*(C'\fR,
+\&\f(CW\*(C`blue\*(C'\fR, \f(CW\*(C`magenta\*(C'\fR, \f(CW\*(C`cyan\*(C'\fR, \f(CW\*(C`white\*(C'\fR,
+.Sp
+Prefix with \f(CW\*(C`bright_\*(C'\fR for high-intensity or bold foreground.
+.IP "Foreground Grey" 4
+.IX Item "Foreground Grey"
+\&\f(CW\*(C`grey0\*(C'\fR, ..., \f(CW\*(C`grey23\*(C'\fR
+.IP "Background Color" 4
+.IX Item "Background Color"
+\&\f(CW\*(C`on_black\*(C'\fR, \f(CW\*(C`on_red\*(C'\fR, \f(CW\*(C`on_green\*(C'\fR, \f(CW\*(C`on_yellow\*(C'\fR,
+\&\f(CW\*(C`on_blue\*(C'\fR, \f(CW\*(C`on_magenta\*(C'\fR, \f(CW\*(C`on_cyan\*(C'\fR, \f(CW\*(C`on_white\*(C'\fR
+.Sp
+Replace \f(CW\*(C`on_\*(C'\fR with \f(CW\*(C`on_bright_\*(C'\fR for high-intensity or bold background.
+.IP "Background Grey" 4
+.IX Item "Background Grey"
+\&\f(CW\*(C`on_grey0\*(C'\fR, ..., \f(CW\*(C`on_grey23\*(C'\fR
+.IP "Text Attribute" 4
+.IX Item "Text Attribute"
+\&\f(CW\*(C`bold\*(C'\fR, \f(CW\*(C`dark\*(C'\fR, \f(CW\*(C`italic\*(C'\fR, \f(CW\*(C`underline\*(C'\fR, \f(CW\*(C`reverse\*(C'\fR
+.SH "EXIT STATUS"
+.IX Header "EXIT STATUS"
+The exit status is 0 if at least one \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR,
+1 if no \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR, and 2 if an error occurred.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fBgrep\fR(1), \fBprintf\fR(3), \fBTerm::ANSIColor\fR(pm)
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1.pdf b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
new file mode 100644
index 0000000000..09647860d5
--- /dev/null
+++ b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog.pdf b/macros/latex/contrib/typog/docs/typog.pdf
new file mode 100644
index 0000000000..9d00685045
--- /dev/null
+++ b/macros/latex/contrib/typog/docs/typog.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/typog.dtx b/macros/latex/contrib/typog/typog.dtx
new file mode 100644
index 0000000000..0f2176206a
--- /dev/null
+++ b/macros/latex/contrib/typog/typog.dtx
@@ -0,0 +1,9974 @@
+% \iffalse
+%
+% Copyright (C) 2024 by Ch. L. Spiel
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3 of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+
+\tracingonline=0
+
+%--\OnlyDescription
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+
+\PassOptionsToClass{a4paper}{article}
+\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
+\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
+\PassOptionsToPackage{dvipsnames}{xcolor}
+
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{array}
+\usepackage{booktabs}
+\usepackage{caption}
+\usepackage{dtk-logos}
+\usepackage{enumitem}
+\usepackage{etoolbox}%--\tracingpatches
+\usepackage{fancyhdr}
+\usepackage[T1]{fontenc}
+\usepackage{fullwidth}
+\usepackage{hypdoc}
+\usepackage{hyphenat}
+\usepackage[shrink=10, stretch=10]{microtype}
+\usepackage{multirow}
+\usepackage{needspace}
+\usepackage{placeins}
+\usepackage{ragged2e}
+\usepackage{setspace}
+\usepackage{sidecap}
+\usepackage{tabularx}
+\usepackage{tcolorbox}
+\usepackage{titlesec}\renewcommand*{\bottomtitlespace}{.15\textheight}%nobottomtitles*
+\usepackage[debug, raise*=.05em]{typog}
+\usepackage{xcolor}
+
+
+\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
+\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
+\usepackage[lining, regular]{sourcecodepro}
+\usepackage[xcharter]{newtxmath}
+\setbaselineskip{12.5pt}
+
+\makeatletter
+\def\@get@fontclan#1-#2\relax{#1}
+\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
+\makeatother
+
+\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+
+\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+
+\newcommand*{\nativetextfraction}[2]
+ {\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
+
+\makeatletter
+\renewcommand*{\@makefnmark}{\hbox{\sf\textsuperior{\@thefnmark}}}
+\newenvironment*{tabfigures}
+ {\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
+ {\ignorespacesafterend}
+
+\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
+\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
+\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
+\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
+%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
+%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
+\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
+\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
+\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
+\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
+\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
+\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
+\makeatother
+
+
+\usepackage{cleveref}
+
+
+\expandafter\GetFileInfo\expandafter{\jobname.sty}
+\def\aspdfdate#1/#2/#3\relax{D:#1#2#3}
+\edef\pdffiledate{\expandafter\aspdfdate\filedate\relax}
+
+\hypersetup{
+ citecolor = blue,
+ colorlinks = true,
+ linkcolor = blue,
+ linktocpage = false,
+ pdfauthor={Dr. Christoph L. Spiel},
+ pdfcreationdate={\pdffiledate},
+ pdfkeywords={LaTeX, typography, ligature, italic-correction, paragraph justification, baselineskip, sloppy, ragged},
+ pdflang=en-US,
+ pdfsubject={Typographic fine-tuning for LaTeX},
+ pdftitle={Package typog \fileversion},
+ raiselinks = false,
+ urlcolor = [rgb]{0, 0, .5}% = navy
+}
+
+
+\makeatletter
+\renewcommand*{\@dotsep}{10000} % suppress leaders
+\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\makeatother
+
+
+\Crefname{figure}{Figure}{Figures}
+\crefname{figure}{Fig.}{Figs.}
+
+\Crefname{page}{Page}{Pages}
+\crefname{page}{p.}{p.}
+
+\Crefname{section}{Section}{Sections}
+\crefname{section}{Sec.}{Secs.}
+
+\Crefname{table}{Table}{Tables}
+\crefname{table}{Tab.}{Tabs.}
+
+
+\DeclareCaptionJustification{centerlastjustification}{\justify\fussy\lastlinecenteredpar}
+\DeclareCaptionJustification{smoothraggedjustification}%
+ {\renewcommand*{\smoothraggedrightgenerator}{quintuplet}%
+ \setlength{\smoothraggedrightragwidth}{1em}%
+ \smoothraggedrightpar\relax}
+\DeclareCaptionJustification{relaxedjustification}{\justify\slightlysloppy}
+
+\newcommand*{\floatcaptionwidth}{.79\textwidth}
+
+\captionsetup[figure]{font=small, justification=centerlastjustification,
+ labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[table]{font=small, justification=centerlastjustification,
+ labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[SCfigure]{font=small, justification=relaxedjustification,
+ labelfont=sc}
+\captionsetup[SCtable]{font=small, justification=relaxedjustification,
+ labelfont=sc}
+
+
+\newsavebox{\listlabelbox}
+
+\sbox{\listlabelbox}{---}
+\SetEnumitemKey{noindent}{
+ label={---},
+ labelwidth=\wd\listlabelbox,
+ leftmargin=!
+}
+
+
+\SetEnumitemKey{nestedinspecialsection}{
+ leftmargin=10pt
+}
+
+\SetEnumitemKey{notopsep}{
+ after=\vskip.8em plus .2em minus .4em,
+ partopsep=0pt,
+ topsep=0pt
+}
+
+
+\newlength{\marginindicatorsep}
+\setlength{\marginindicatorsep}{10pt}
+
+\newcommand*{\marginalizesectionnumber}[1]
+ {\makebox[0pt][r]{#1\hspace{\marginindicatorsep}}}
+
+
+\fancypagestyle{pagenumberonly}{
+ \fancyhead[L]{}
+ \fancyhead[R]{\thepage}
+}
+\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[L]{\rightmark}
+\fancyhead[R]{\thepage}
+\newcommand*{\resetfancyhead}
+ {\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
+
+\renewcommand*{\headrulewidth}{0pt}
+\renewcommand*{\sectionmark}[1]
+ {\def\truesectionname{#1}%
+ \markright{\textsf{\marginalizesectionnumber{\thesection}%
+ \textsc{\textls[20]{#1}}}}}
+\renewcommand*{\subsectionmark}[1]
+ {\markright{\textsf{\marginalizesectionnumber{\thesubsection}%
+ \textsc{\textls[20]{\truesectionname:\enspace}}#1}}}
+
+
+\titleformat{\section}[hang]
+ {\sffamily\Large\bfseries}{\marginalizesectionnumber{\thesection}}{0pt}{}
+\titleformat{\subsection}[hang]
+ {\sffamily\large\bfseries}{\marginalizesectionnumber{\thesubsection}}{0pt}{}
+\titleformat{\subsubsection}[hang]
+ {\sffamily\normalsize\bfseries}{\marginalizesectionnumber{\thesubsubsection}}{0pt}{}
+\titleformat{\paragraph}[runin]
+ {\sffamily\normalsize\bfseries}{\theparagraph}{1em}{}
+
+
+\let\footnoterule=\relax% suppress footnote rule
+
+\makeatletter
+\renewcommand*{\@makefntext}[1]
+ {\noindent
+ \llap{\let\@textsuperscript=\relax% use "normal" figures for the footnote numbers
+ \let\textsuperior=\relax
+ \@makefnmark
+ \hspace{\marginindicatorsep}}% separate the footnote number and the body
+ #1}
+\makeatother
+
+
+\pretocmd{\DescribeEnv}{\needspace{25pt}}{\relax}{\PrependingFailed}
+\pretocmd{\DescribeMacro}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+
+\setlength{\skip\footins}{25pt}
+\setlength{\overfullrule}{3pt}
+\renewcommand*{\sidecaptionsep}{16pt}
+
+
+
+\newrobustcmd*{\acronym}[1]{\mbox{\scshape\MakeLowercase{#1}}}
+
+\newcommand*{\application}[1]{\mbox{\sffamily #1}}
+
+\renewcommand*{\arraystretch}{1.12}
+
+\newcommand*{\bibauthor}[1]{\mbox{\textsc{#1}}}
+\newcommand*{\bibtitle}[1]{\textit{#1}}
+\newcommand*{\biburl}[1]{\url{#1}}
+
+\newcommand*{\bottomstrut}{\rule[-.5em]{0pt}{0pt}}
+
+\newenvironment*{codeexample}
+ {\vspace{.5\smallskipamount}
+ \par
+ \centering
+ \begin{minipage}{\linewidth}
+ \ttfamily
+ \begin{tabbing}}
+ {\end{tabbing}
+ \end{minipage}
+ \par
+ \vspace{.5\smallskipamount}}
+
+\makeatletter
+\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
+\makeatother
+
+\def\code#1{\texttt{#1}}
+
+\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
+
+\newcommand*{\doublequotes}[1]{\doubleguillemetright\kern-.03333em #1\doubleguillemetleft}
+
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+
+\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
+
+\newcommand*{\filledrectangle}[2]{\rule{#1}{#2}}
+\newcommand*{\filledsquare}[1]{\filledrectangle{#1}{#1}}
+
+\newcommand*{\foreignphrase}[1]{\textsl{#1}}
+
+\newcommand*{\formatskip}[3]{#1\genfrac{}{}{0pt}{}{{+}#2}{{-}#3}}
+
+\makeatletter
+\renewcommand*{\fps@figure}{htbp}
+\renewcommand*{\fps@table}{htbp}
+\makeatother
+
+\newcommand*{\hollowrectangle}[2]
+ {\setlength{\fboxrule}{.5pt}%
+ \setlength{\fboxsep}{0pt}%
+ \framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
+\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+
+
+\makeatletter
+\apptocmd{\index@prologue}
+ {\marginnote{In the Index page ranges are stuck together with
+ \hyperref[syn:figuredash]{\cs{figuredash*}}.}}
+ {\relax}
+ {\AppendingFailed}
+\makeatother
+
+\newcommand*{\logmacro}[1]
+ {\ifdef{#1}
+ {\message{^^JDump of macro \string#1 follows.^^J}
+ \message{\detokenize\expandafter{#1}}
+ \message{^^JEnd macro dump.^^J}}
+ {\message{^^JMacro \string#1 is not defined.^^J}}}
+
+\newcommand*{\marginnoteformat}
+ {\setstretch{1}%\overfullrule=0pt
+ \sffamily
+ \footnotesize
+ \nofontexpansion
+ \slightlysloppy[1]
+ \loosespacing[1]
+ \setlength{\smoothraggedrightragwidth}{1.5em}
+ \def\smoothraggedrightgenerator{quintuplet}%
+ \smoothraggedrightpar}
+\newcommand*{\marginnote}[1]{\marginpar{\marginnoteformat #1}}
+\addtolength{\marginparpush}{3pt}
+\addtolength{\marginparsep}{25pt}
+\addtolength{\marginparwidth}{-20pt}
+\newcommand*{\shiftedmarginnote}[1]
+ {\marginpar{\moveleft \leftmargin
+ \hbox{\parbox{\dimexpr\marginparwidth - \marginparsep}
+ {\marginnoteformat #1}}}}
+
+\newenvironment*{maxipage}
+ {\fullwidthsetup{leftmargin=-\marginparsep - \marginparwidth,
+ width=\textwidth + \marginparsep + \marginparwidth}%
+ \begin{fullwidth}}
+ {\end{fullwidth}}
+
+\newcommand*{\microtyperequiredmarker}
+ {\mbox{\normalfont\packagename{microtype}~req.}}
+
+\newlength{\emreference}
+\AtBeginDocument{\setlength{\emreference}{\fontdimen6\font}}
+\newrobustcmd*{\milliem}[1]
+ {\ifdim #1=0pt
+ #1%
+ \else
+ \nativetextfraction{\the\numexpr\dimexpr (#1) * 1000 / \emreference}{1000}\:em%
+ \fi}
+
+\newcommand*{\needtocspace}[1][3]
+ {\addtocontents{toc}{\protect\needspace{#1\baselineskip}}}
+
+\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
+\newcommand*{\programname}[1]{\mbox{\textbf{#1}}}
+\newcommand*{\propername}[1]{\mbox{\textsc{#1}}}
+
+\newcommand*{\quarterspace}{\hspace{.25em}}
+
+\NewDocumentCommand{\sample}{s m}
+ {\setbox0=\hbox{#2}% H: 6.19849pt, /: 7.49817
+ \mbox{\raisebox{\dimexpr -.15em - \dp0}{\tiny$\llcorner$}%
+ \kern-.15em\copy0\kern-.15em
+ \raisebox{\ifdim\ht0>.7em
+ \ifx#1\BooleanTrue
+ .4em
+ \else
+ \dimexpr\ht0 - .1em
+ \fi
+ \else
+ .4em
+ \fi}
+ {\tiny$\urcorner$}}}
+
+\newcommand*{\sectionfinish}
+ {\vfill
+ {\centering
+ \textcolor{customred4}
+ {\filledsquare{5pt}\enspace\filledsquare{5pt}}%
+ \par}%
+ \vfill}
+\let\sectionfinish=\relax
+
+\newcommand*{\sinceversion}[1]{% modeled after \NewIn of "doc.dtx"
+ \leavevmode
+ \marginpar{\hfill\textcolor{\markercolor}{\sf\scshape\proportionaloldstylefigures #1}}%
+ \ignorespaces
+}
+
+\newcommand*{\singlequotes}[1]{\mbox{\singleguillemetright #1\singleguillemetleft}}
+
+\newcommand*{\specialsectionheading}[1]{\textcolor{\markercolor}{\textit{\textbf{#1}}}}
+\definecolor{customred1}{rgb}{.890, .282, .282}%-- https://paletton.com/
+\definecolor{customred2}{rgb}{.831, .110, .110}
+\definecolor{customred3}{rgb}{.686, .043, .043}
+\definecolor{customred4}{rgb}{.569, .000, .000}
+\definecolor{customred5}{rgb}{.420, .000, .000}
+\newcommand*{\markercolor}{customred4}
+\newcommand*{\specialsectionmarker}{\color{\markercolor}\filledsquare{5pt}}
+\newcommand*{\specialsectionbegin}
+ {\llap{\raisebox{1pt}{\specialsectionmarker}%
+ \hspace{\marginindicatorsep}}}
+\newcommand*{\specialsectionend}
+ {\ifmmode
+ \specialsectionmarker
+ \else
+ \leavevmode
+ \unskip
+ \penalty9999\mbox{}\nobreak
+ \hfill
+ \quad
+ \mbox{\specialsectionmarker}%
+ \fi}
+\newtoggle{printspecialsectionmarker}
+\NewDocumentEnvironment{specialsection}{m m}
+ {\Needspace{4\baselineskip}%
+ \toggletrue{printspecialsectionmarker}%
+ \begin{list}
+ {\specialsectionheading{#1\ifblank{#2}{}{\textup{\space---\space#2}}}}
+ {\itemindent=0pt
+ \labelwidth=10pt
+ \leftmargin=15pt
+ \listparindent=15pt
+ \parsep=0pt
+ \topsep=\medskipamount}
+ \newcommand*{\specialsectionendhere}
+ {\specialsectionend
+ \global\togglefalse{printspecialsectionmarker}}
+ \item
+ \nointerlineskip
+ \leavevmode\par
+ \noindent}
+ {\iftoggle{printspecialsectionmarker}{\specialsectionend}{\relax}%
+ \end{list}}
+
+ \newenvironment*{caution}[1][]{\begin{specialsection}{Caution}{#1}}{\end{specialsection}}
+ \newenvironment*{example}[1][]{\begin{specialsection}{Example}{#1}}{\end{specialsection}}
+ \newenvironment*{futuredirection}[1][]
+ {\begin{specialsection}{Anticipated Changes \& Possible Extensions}{#1}\small}
+ {\end{specialsection}}
+ \newenvironment*{important}[1][]{\begin{specialsection}{Important}{#1}}{\end{specialsection}}
+ \newenvironment*{note}[1][]{\begin{specialsection}{Note}{#1}}{\end{specialsection}}
+ \newenvironment*{notes}[1][]{\begin{specialsection}{Notes}{#1}}{\end{specialsection}}
+ \newenvironment*{tip}[1][]{\begin{specialsection}{Tip}{#1}}{\end{specialsection}}
+ \newenvironment*{tips}[1][]{\begin{specialsection}{Tips}{#1}}{\end{specialsection}}
+ \newenvironment*{usecase}[1][]{\begin{specialsection}{Use Case}{#1}\small}{\end{specialsection}}
+ \newenvironment*{usecases}[1][]{\begin{specialsection}{Use Cases}{#1}\small}{\end{specialsection}}
+
+\newcommand*{\specialcodesectionheading}[1]{\textcolor{\markercolor}{\textbf{\textit{#1}}}}
+\newenvironment*{specialcodesection}[1]
+ {\Needspace{4\baselineskip}%
+ \begin{tcolorbox}[colback=white, colframe=\markercolor,
+ bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ \sf\typogsetupsf
+ \begin{list}
+ {\specialcodesectionheading{#1}}
+ {\itemindent=0pt
+ \labelwidth=20pt
+ \leftmargin=25pt
+ \listparindent=15pt
+ \parsep=0pt
+ \topsep=\medskipamount}
+ \item
+ \nointerlineskip
+ \leavevmode\par
+ \noindent}
+ {\end{list}
+ \end{tcolorbox}}
+ \newenvironment*{anticipatedchange}
+ {\begin{specialcodesection}{Anticipated Change}}
+ {\end{specialcodesection}}
+ \newenvironment*{implementationnote}
+ {\begin{specialcodesection}{Implementation Note}}
+ {\end{specialcodesection}}
+ \newenvironment*{knownbug}
+ {\begin{specialcodesection}{Known Bug}}
+ {\end{specialcodesection}}
+
+\newenvironment*{suspendshortverb}
+ {\DeleteShortVerb{\|}}
+ {\MakeShortVerb{\|}}
+
+\definecolor{cold-silver}{cmyk}{.08, 0, 0, .18}
+\newenvironment*{synopsis}
+ {\begin{tcolorbox}[boxrule=.25pt, colback=cold-silver]%
+ \phantomsection}
+ {\end{tcolorbox}}
+
+\newenvironment*{tablenotes}
+ {\medskip
+ \centering
+ \small
+ \begin{minipage}{\floatcaptionwidth}}
+ {\end{minipage}}
+\newcommand*{\tablenotemark}[1]{\smash{\textsuperscript{#1}}}
+
+\newcommand*{\termparbox}[1]{\parbox[t]{\linewidth}{#1\bottomstrut}}
+
+\newcommand*{\thousandsseparator}{\mbox{,}}
+
+\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
+
+\newcommand*{\typogsetuprm}
+ {\typogsetup{raise*=.025em,
+ raisecapitalguillemets=.05em,
+ raiseguillemets=.03333em,
+ raisefiguredash=.05em}}
+\newcommand*{\typogsetupsf}
+ {\typogsetup{raise*=.06667em,
+ raiseguillemets=.05em}}
+
+\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
+
+\newenvironment*{whittyquote}
+ {\begin{flushright}
+ \renewcommand*{\propername}[1]{\mbox{##1}}%
+ \sf\typogsetupsf}
+ {\end{flushright}}
+
+\newenvironment*{widecodeexample}
+ {\begin{maxipage}
+ \flushright
+ \begin{minipage}{\textwidth}
+ \ttfamily
+ \begin{tabbing}}
+ {\end{tabbing}
+ \end{minipage}
+ \end{maxipage}}
+
+
+\NewDocElement[macrolike = true,
+ idxtype = dim.,
+ idxgroup = dimensions,
+ printtype = \textit{dimen}]
+ {LaTeXDimen}{ldimen}
+\pretocmd{\DescribeLaTeXDimen}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+\NewDocElement[macrolike = false,
+ idxtype = enumitem-key,
+ idxgroup = enumitem-keys,
+ printtype = \textit{enumitem key}]
+ {EnumItemKey}{enumitemkey}
+\pretocmd{\DescribeEnumItemKey}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+
+\hyphenation{% https://hyphenateit.com/en-us
+ Double-guillemet-left
+ Double-guillemet-right
+ Double-quotes
+ Single-guillemet-left
+ Single-guillemet-right
+ Single-quotes
+ adj-demerits
+ allow-break
+ babel-hyphenation
+ base-line-skip
+ break-penalty
+ breakable-display
+ capital-hyphen
+ capital-times
+ cite-dash
+ club-penalties
+ cref-range-conjunction
+ display-break
+ display-widow-penalties
+ double-guillemet-right
+ double-hyphen-demerits
+ double-quotes
+ ex-hyphen-penalty
+ figure-dash
+ guille-met
+ guille-mets
+ inter-display-line-penalty
+ inter-text
+ kerned-hyphen
+ last-line-centered
+ last-line-centered-par
+ last-line-ragged-left
+ last-line-ragged-left-par
+ line-width
+ loose-ness
+ loose-spacing
+ make-at-letter
+ make-at-other
+ mar-gin-al
+ math-italics-correction
+ micro-type
+ narrow-space
+ narrow-space-scale
+ narrow-space-strength
+ number-dash
+ par-box
+ par-indent
+ parfillskip
+ pdf-string-def-Disable-Commands
+ post-display-penalty
+ pre-display-penalty
+ raise-capital-guillemets
+ raise-capital-hyphen
+ raise-capital-times
+ raise-number-dash
+ set-baseline-skip
+ set-baseline-skip-percentage
+ set-font-expand
+ set-font-shrink
+ set-font-stretch
+ set-leading
+ set-leading-percentage
+ short-inter-text
+ single-guillemet-left
+ single-guillemet-right
+ single-quotes
+ slash-kern
+ slightly-sloppy
+ slightly-sloppy-par
+ sloppy-par
+ smooth-ragged-right-fuzz-factor
+ smooth-ragged-right-par
+ smooth-ragged-right-shape-quintuplet
+ smooth-ragged-right-shape-septuplet
+ smooth-ragged-right-shape-triplet
+ space-skip
+ text-italics-correction
+ tight-spacing
+ tracing-boxes
+ tracing-para-graphs
+ tracking-tt-spacing
+ typog-get
+ typog-setup
+ vtie-bot
+ vtie-bot-disp
+ vtie-bot-disp-par
+ vtie-bot-disp-top-par
+ vtie-bot-par
+ vtie-top
+ vtie-top-par
+ wide-space
+ wide-space-scale
+ wide-space-strength
+ widow-penalties
+}
+
+
+\begin{document}
+ \typogsetuprm
+ \DocInput{typog.dtx}
+\end{document}
+%</driver>
+%<*index-style>
+actual '='
+delim_r "\\figuredash*"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 1
+level '>'
+quote '!'
+%</index-style>
+% \fi
+%
+%
+% \DoNotIndex{\,}
+% \DoNotIndex{\addtolength,\advance,\aftergroup,\allowdisplaybreaks,\arabic}
+% \DoNotIndex{\AtBeginDocument,\autotransfer}
+% \DoNotIndex{\baselineskip}
+% \DoNotIndex{\c,\char,\clubpenalties,\clubpenalty,\count,\cs,\csname}
+% \DoNotIndex{\DeclareRobustCommand,\def,\define@choicekey,\define@key,\detokenize}
+% \DoNotIndex{\dim,\dimen,\dimexpr,\discretionary,\displaywidowpenalties,\displaywidowpenalty}
+% \DoNotIndex{\edef,\else,\emergencystretch,\empty,\endcsname}
+% \DoNotIndex{\endlastlineflushrightpar}
+% \DoNotIndex{\endlastlineraggedleftpar}
+% \DoNotIndex{\endnofontexpand,\endnofontexpansion}
+% \DoNotIndex{\endsmoothraggedrightshapequintuplet}
+% \DoNotIndex{\endsmoothraggedrightshapeseptuplet}
+% \DoNotIndex{\endsmoothraggedrightshapetriplet}
+% \DoNotIndex{\endtypoginspect}
+% \DoNotIndex{\exhyphenpenalty,\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
+% \DoNotIndex{\fi,\finalhyphendemerits,\font,\fontdimen,\fp,\fussy,\futurelet}
+% \DoNotIndex{\gdef,\global,\glueexpr,\@gobble}
+% \DoNotIndex{\guillemotleft,\guillemotright,\guilsinglleft,\guilsinglright}
+% \DoNotIndex{\hbadness,\hfuzz,\hskip,\hspace}
+% \DoNotIndex{\ignorespaces,\ignorespacesafterend}
+% \DoNotIndex{\if,\IfBooleanT,\IfBooleanTF,\ifcase,\ifdefined,\ifdim,\iffalse,\ifmmode,\ifMT@expansion}
+% \DoNotIndex{\@ifnextchar,\IfNoValueF,\IfNoValueTF,\ifnum}
+% \DoNotIndex{\iftypog@microtype@loadedfalse}
+% \DoNotIndex{\iftypog@microtype@preloadedfalse}
+% \DoNotIndex{\ifvmode,\ifx,\ignorespaces,\inputlineno,\int,\interlinepenalty}
+% \DoNotIndex{\jobname}
+% \DoNotIndex{\kern}
+% \DoNotIndex{\l,\lastlinefit,\lastlineflushrightpar,\lastlineraggedleftpar,\leftmargin,\leftskip,\let}
+% \DoNotIndex{\linepenalty,\linewidth,\@listdepth,\looseness,\lsstyle}
+% \DoNotIndex{\@M,\m@th,\mathbin,\mathord,\maxdimen,\message,\microtypecontext,\microtypesetup}
+% \DoNotIndex{\@minus,\mkern,\m@ne,\mspace,\MT@letterspace@,\MT@MT,\muexpr}
+% \DoNotIndex{\@ne,\NeedsTeXFormat,\NewDocumentCommand,\NewDocumentEnvironment,\newcommand,\newenvironment}
+% \DoNotIndex{\newcounter,\newdimen,\newif,\newlength,\newmuskip}
+% \DoNotIndex{\nobreak,\nofontexpand,\nofontexpansion,\nr,\numexpr}
+% \DoNotIndex{\or,\optarg}
+% \DoNotIndex{\p@,\PackageError,\PackageWarning}
+% \DoNotIndex{\par,\parfillskip,\parindent,\parshape,\pdf@strcmp}
+% \DoNotIndex{\pdfstringdefDisableCommands}
+% \DoNotIndex{\penalty,\@plus,\PopPostHook,\postdisplaypenalty,\predisplaypenalty,\prg}
+% \DoNotIndex{\pretolerance,\protected,\ProvidesPackage,\PushPostHook}
+% \DoNotIndex{\raisebox,\refstepcounter,\relax,\RenewExpandableDocumentCommand,\RequirePackage,\rightskip}
+% \DoNotIndex{\setcounter,\SetEnumitemKey,\SetExpansion,\setkeys,\setlength,\setstretch}
+% \DoNotIndex{\showboxbreadth,\showboxdepth,\skip,\sloppy}
+% \DoNotIndex{\smoothraggedrightpar}
+% \DoNotIndex{\smoothraggedrightshapequintuplet}
+% \DoNotIndex{\smoothraggedrightshapeseptuplet}
+% \DoNotIndex{\smoothraggedrightshapetriplet}
+% \DoNotIndex{\space,\spaceskip,\stepcounter,\@strength,\string}
+% \DoNotIndex{\textemdash,\textendash,\textsf,\textsl,\texttimes,\textwidth,\the,\times,\tl,\tolerance}
+% \DoNotIndex{\tracingnone,\tracingpages,\tracingparagraphs}
+% \DoNotIndex{\typeout,\typoginspect,\typoglogo}
+% \DoNotIndex{\unless}
+% \DoNotIndex{\val,\value,\vbadness,\vfuzz}
+% \DoNotIndex{\widowpenalties,\widowpenalty}
+% \DoNotIndex{\z@,\z@skip}
+%
+%
+% \changes{v0.1}{2024-3-7}{Initial version.}
+%
+%
+% \pagenumbering{roman}
+%
+% \title{\typoglogo{} \capitalendash{} Typographic Fine\rightkernedhyphen*[20]{-120}Tuning}
+% \author{Ch.~L.~Spiel\footnote{\quarterspace\texttt{cspiel@users.sourceforge.org}}}
+% \date{\fileversion\qquad \filedate}
+% \maketitle
+% \thispagestyle{empty}
+%
+% \begingroup
+% \let\small=\normalsize
+% \begin{abstract}
+% \begin{lastlinecenteredpar}
+% \noindent
+% Package~\packagename{typog} provides macros and environments for
+% \mbox{(micro-)\itcorr{2}}\breakpoint typographic enhancements. It also supplies some
+% means to avoid common typographic problems as, for example, orphan or widow lines.
+% Moreover it supplies high-level front-ends for packages~\packagename{microtype} and
+% \packagename{setspace}.
+% \end{lastlinecenteredpar}
+% \end{abstract}
+% \endgroup
+%
+%
+% \iffalse
+%<*title>
+prologues := 3;
+truecorners := 1;
+linecap := butt;
+
+string roman_font;
+roman_font := "pplr8r"; % URW Palladio L - Roman
+
+string italics_font;
+italics_font := "pplri8r"; % URW Palladio L - Italic
+
+picture dash_dotted;
+dash_dotted := dashpattern(on 3 off 3 on 0 off 3);
+
+u := 280;
+
+font_scale := 20;
+
+pair loc[];
+loc[1] := .2[origin, (u, 0)];
+loc[2] := .5[origin, (u, 0)];
+loc[3] := .8[origin, (u, 0)];
+
+pair slant_vector;
+slant_vector := (63, 150);
+
+pair raise_vector[];
+raise_vector[0] := (0, 44);
+raise_vector[1] := (0, 61);
+raise_vector[2] := (0, 54);
+raise_vector[3] := (0, 71);
+
+
+picture letter_V;
+letter_V := thelabel.top("V" infont roman_font scaled font_scale, loc[1]);
+
+picture normal_hyphen;
+normal_hyphen := thelabel.top("-" infont roman_font scaled font_scale, loc[2] + raise_vector[0]);
+
+picture raised_hyphen;
+raised_hyphen := thelabel.top("-" infont roman_font scaled font_scale, loc[2] + raise_vector[1]);
+
+picture letter_A;
+letter_A := thelabel.top("A" infont roman_font scaled font_scale, loc[3]);
+
+
+beginfig(1);
+ draw letter_V;
+ draw normal_hyphen withcolor .9 white;
+ draw raised_hyphen;
+ draw letter_A;
+
+ pickup pencircle scaled .4pt;
+ draw (loc[1] -- loc[1] + slant_vector) shifted (7, 0) dashed evenly;
+ draw (loc[1] -- loc[1] + slant_vector) shifted (27, 0) dashed evenly;
+ draw (loc[1] -- loc[1] + slant_vector) shifted (80, 0) dashed evenly;
+ draw (loc[3] -- loc[3] + slant_vector) shifted (-68, 0) dashed evenly;
+
+ draw .35[origin, (u, 0)] + raise_vector[2] -- .8[origin, (u, 0)] + raise_vector[2]
+ dashed dash_dotted withcolor .6white;
+ draw .35[origin, (u, 0)] + raise_vector[3] -- .8[origin, (u, 0)] + raise_vector[3]
+ dashed dash_dotted;
+endfig;
+end
+%</title>
+% \fi
+%
+%
+% \vspace*{20pt}
+%
+% \begin{center}
+% \includegraphics{title-1.mps}
+% \end{center}
+%
+% \vfill
+%
+% \begin{lastlinecenteredpar}
+% \footnotesize
+% \noindent
+% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed
+% and\kernedslash*or modified under the conditions of the \LaTeX{} Project Public License
+% \acronym{(LPPL)}, either version~1.3c of this license or --~at your option~-- any later
+% version. This work has the \acronym{LPPL} maintenance status
+% \doublequotes{author-maintained}.
+% \end{lastlinecenteredpar}
+%
+%
+% \clearpage
+% \thispagestyle{pagenumberonly}
+% \tableofcontents
+% \vspace{\fill}
+%
+%
+% \thispagestyle{pagenumberonly}
+% \listoftables
+% \phantomsection
+% \addcontentsline{toc}{subsection}{List of Tables}
+% \vspace{\fill}
+%
+%
+% \begingroup
+% \footnotesize
+% \singlespacing
+% \noindent
+% The font sample on the title page was generated with the help of \MP{} using
+% \doublequotes{\acronym{URW} Palladio~L}\index{font>URW Palladio L=\acronym{URW} Palladio
+% L}.
+% \endgroup
+%
+%
+% \clearpage
+% \pagenumbering{arabic}
+% \section{Introduction}\label{sec:introduction}
+%
+% \begin{whittyquote}
+% \doublequotes{Good typography} is the minimum acceptable solution; \\
+% \doublequotes{fine typography} is what we aspire to. \\
+% \capitalemdash*~\propername{Ilene Strizver}
+% \end{whittyquote}
+%
+% \noindent
+% \LaTeX{} is the beginning of good typesetting -- not the end. This package provides some
+% tools for even better looking documents. When applied correctly its effects appear subtle
+% and inconspicuous.
+%
+%
+% \subsection{Overview}\label{sec:overview}
+%
+% Package~\packagename{typog} focuses on (micro-)typographic improvements.
+%
+% \Cref{sec:information} tends to the wish for more information in the typesetting process
+% whether during the draft phase or in the final printed manuscript.\marginnote{Throughout the
+% whole document we indicate actual uses of the package's features in the margin. All these
+% notes are examples themselves as they are typeset with
+% \hyperref[syn:slightlysloppy]{\code{slightlysloppy}},
+% \hyperref[syn:loosespacing]{\code{loosespacing}}, and
+% \hyperref[syn:smoothraggedrightpar]{\code{smoothraggedrightpar}}.~\visualpar The title page
+% has already demonstrated the effect of
+% \hyperref[syn:lastlinecenteredpar]{\code{lastlinecenteredpar}} in justified paragraphs for
+% the abstract and the copyright notice.}
+%
+% \Cref{sec:latex-hyphenation} expands the hyphenation facilities of \LaTeX.
+%
+% \Cref{sec:break-ligatures,sec:manual-italic-correction,sec:extra-kerning,sec:raise-characters}
+% deal with vertically positioning glyphs in a more pleasant way.
+%
+% \Cref{sec:align-last-line,sec:fill-last-line} discuss dearly missed macros for better control
+% of the last line of a paragraph.
+%
+% \Cref{sec:spacing-control} covers the manipulation of the length of a paragraph.
+%
+% \Cref{sec:microtype-frontend} expounds on the \packagename{microtype} front-end: font
+% tracking~(\ref{sec:tracking-control}), font expansion~(\ref{sec:font-expansion-control}), and
+% character protrusion~(\ref{sec:protrusion}).
+%
+% In \cref{sec:sloppy-paragraphs} we address some shortcomings of spacing control with a
+% replacement for the macro~\cs{sloppy} and the related environment~\code{sloppypar}.
+%
+% \Cref{sec:vtie-paragraph} presents several special functions to avoid club or widow lines in
+% a paragraph.
+%
+% As a simple extension of displayed mathematical equations we define a breakable variant in
+% \cref{sec:breakable-display}.
+%
+% \Cref{sec:setspace-frontend} introduces the \packagename{setspace} front-end.
+%
+% In the last part, \cref{sec:smooth-ragged}, we introduce a novel way of generating ragged
+% paragraphs, which still is experimental.
+%
+%
+% \subsection{Prerequisites}\label{sec:packageprerequisites}
+%
+% Package \packagename{typog} requires \eTeX; it relies on the \LaTeXIII{}~interface. Parts of
+% it are based on package~\packagename{microtype}. However, if the respective functionality is
+% not used, \packagename{typog} can be used without \packagename{microtype}. The same holds
+% true for the \packagename{setspace} front-end.
+%
+% The package was tested with \programname{pdfTeX}~3.141592653-2.6-1.40.24 from the
+% TeX~Live distribution of~2022 as shipped by
+% \href{https://packages.debian.org/search?keywords=texlive}{Debian}.
+%
+%
+% \sectionfinish
+% \clearpage
+% \section{Package Options}\label{sec:package-options}
+%
+% Package \packagename{typog} does not override any existing macros or environments when
+% loaded, unless explicitly told by a package option.
+%
+% \begin{synopsis}
+% \begin{tabbing}
+% |\usepackage[|\,\dots|]{microtype}|
+% \=\texttt{\%\space}\textit{Only required for macros and} \\
+% \>\texttt{\%\space}\textit{environments in \cref{sec:microtype-frontend}.} \\
+% \\[-.5em]
+% |\usepackage[|\,\dots|]{setspace}|
+% \=\texttt{\%\space}\textit{Only required for macros in \cref{sec:setspace-frontend}.} \\
+% \\[-.5em]
+% |\usepackage[|\meta{OPTION}\dots|]{typog}|
+% \end{tabbing}
+% \end{synopsis}
+%
+% \index{package options|(}
+% The package \meta{OPTIONs} serve as configuration \meta{key}s, too. This means they can be
+% set with \hyperref[syn:typogsetup]{\code{typogsetup}} and their values can be retrieved with
+% \hyperref[syn:typogget]{\cs{typogget}}. Options that rely on package~\packagename{microtype}
+% are indicated with \doublequotes{\microtyperequiredmarker}.
+%
+% \begin{typogsetup}{}
+% \newcommand*{\indexpackageoption}[1]
+% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% \begin{description}
+% [before={\let\oldmakelabel=\makelabel
+% \renewcommand{\makelabel}[1]
+% {\oldmakelabel{\termparbox{##1}}\phantomsection}},
+% font=\normalfont,
+% style=nextline,
+% vtietop]
+% \item[|breakpenalty=|\meta{penalty}]\label{item:breakpenalty}
+% \indexpackageoption{penalty}
+% \shiftedmarginnote{This sub-section is typeset with all \packagename{typog}~parameters
+% reset to their defaults by wrapping it in a
+% \hyperref[syn:typogsetup]{\code{typogsetup}}~environment with an empty argument.}
+% Penalty for a line break at various points. Default
+% value:~\the\typogget{breakpenalty}; initialized by the current
+% \cs{exhyphenpenalty}:~\the\exhyphenpenalty.
+%
+% \item[|debug|, |nodebug|]\label{item:debug}
+% \indexpackageoption{debug}
+% \indexpackageoption{nodebug}
+% Write package-specific debug information to the log file. Opposite: |nodebug|. The
+% default is not to log debug information.
+%
+% \item[|ligaturekern=|\meta{dim}]\label{item:ligaturekern}
+% \indexpackageoption{ligaturekern}
+% Set \meta{dim} of the kern that is inserted to split a ligature in
+% macro\hyperref[syn:nolig]{\cs{nolig}}. See
+% \cref{sec:break-ligatures}.\shiftedmarginnote{We access the configuration values with
+% \hyperref[syn:typogget]{\cs{typogget}}.} Default
+% value:~\milliem{\typogget{ligaturekern}}.
+%
+% \item[|mathitalicscorrection=|\meta{dim}]\label{item:mathitalicscorrection}
+% \indexpackageoption{mathitalicscorrection}
+% Italics correction in math mode. See \cref{sec:manual-italic-correction} and also the
+% complementary configuration
+% option~\hyperref[item:textitalicscorrection]{|textitalicscorrection|}. Default
+% value:~\the\typogget{mathitalicscorrection}.\footnote{Note that 1\,mu is
+% \nativetextfraction{1}{18}\,em of the mathematical font's~em.}
+%
+% \item[|raise*=|\meta{dim}]\label{item:raise}
+% \indexpackageoption{raise*}
+% Set the length by which selected characters (dash, hyphen, times, and number dash) are
+% raised. Default value:~0pt.
+%
+% Only the raise amounts for guillemets are unaffected by this option.
+%
+% \item[|raisecapitaldash=|\meta{dim}]\label{item:raisecapitaldash}
+% \indexpackageoption{raisecapitaldash}
+% Set the length that the \cs{textendash} is raised in
+% \hyperref[syn:capitaldash]{\cs{capitaldash}}. See \cref{sec:capital-dash}. Default
+% value:~\milliem{\the\typogget{raisecapitaldash}}.
+%
+% \item[|raisecapitalhyphen=|\meta{dim}]\label{item:raisecapitalhyphen}
+% \indexpackageoption{raisecapitalhyphen}
+% Set the length that the hyphen character~\sample{-} is raised in
+% \hyperref[syn:capitalhyphen]{\cs{capitalhyphen}}. See
+% \cref{sec:capital-hyphen}.\shiftedmarginnote{This description list is protected against
+% breaking items across pages within the first three lines by
+% \hyperref[syn:vtietop]{\code{vtietop}}.} Default
+% value:~\milliem{\the\typogget{raisecapitalhyphen}}.
+%
+% \item[|raisecapitaltimes=|\meta{dim}]\label{item:raisecapitaltimes}
+% \indexpackageoption{raisecapitaltimes}
+% Set the length that the multiplication symbol~\sample{\texttimes} is raised in
+% \hyperref[syn:capitaltimes]{\cs{capitaltimes}}. See \cref{sec:mult-sign}. Default
+% value:~\milliem{\the\typogget{raisecapitaltimes}}.
+%
+% \item[|raisecapitalguillemets=|\meta{dim}]\label{item:raisecapitalguillemets}
+% \indexpackageoption{raisecapitalguillemets}
+% Set the length that single and double guillemets are raised in the uppercase versions of
+% the guillemet macros. See \cref{sec:guillemets}. Default
+% value:~\milliem{\the\typogget{raisecapitalguillemets}}.
+%
+% \item[|raiseguillemets=|\meta{dim}]\label{item:raiseguillemets}
+% \indexpackageoption{raiseguillemets}
+% Set the length that single and double guillemets are raised in the lowercase versions of
+% the guillemet macros. See \cref{sec:guillemets}. Default
+% value:~\milliem{\the\typogget{raiseguillemets}}.
+%
+% \item[|raisefiguredash=|\meta{dim}]\label{item:raisefiguredash}
+% \indexpackageoption{raisefiguredash}
+% Set the length that the \cs{textendash} is raised in
+% \hyperref[syn:figuredash]{\cs{figuredash}}. See \cref{sec:number-dash}. Default
+% value:~\milliem{\the\typogget{raisefiguredash}}.
+%
+% \item[|shrinklimits=\{|\meta{limit-1}, \meta{limit-2}, \meta{limit-3}|\}|\quad\microtyperequiredmarker\label{item:shrinklimits} \\
+% |stretchlimits=\{|\meta{limit-1}, \meta{limit-2}, \meta{limit-3}|\}|\quad\microtyperequiredmarker]\label{item:stretchlimits}
+% \indexpackageoption{shrinklimits}
+% \indexpackageoption{stretchlimits}
+% Set the three limits, given in \nativetextfraction{1}{1000}\,em, of shrinkability and
+% stretchability for the respective levels. They are used in
+% \hyperref[syn:setfontshrink]{\code{setfontshrink}} (|shrinklimits| triple only),
+% \hyperref[syn:setfontstretch]{\code{setfontstretch}} (|stretchlimits| triple only), and
+% \hyperref[syn:setfontexpand]{\code{setfontexpand}} (both triples of limits). See
+% \cref{sec:font-expansion-control}.
+%
+% New \meta{limit-\#} values replace old ones. If one or more limits of the triple should
+% remain unchanged pass a \smash{\sample{*}} instead of a number.
+%
+% \makeatletter
+% Defaults for |shrinklimits| are \mbox{\typog@default@shrink@i, \typog@default@shrink@ii,
+% \typog@default@shrink@iii} and those for |stretchlimits| are
+% \mbox{\typog@default@stretch@i, \typog@default@stretch@ii, \typog@default@stretch@iii}.
+% \makeatother
+%
+% Both options can be used when loading the package and in the document preamble, but
+% \emph{not} in the document body.
+%
+% \item[|slashkern=|\meta{dim}]\label{item:slashkern}
+% \indexpackageoption{slashkern}
+% Set the size of the kerns before and after \hyperref[syn:kernedslash]{\cs{kernedslash}}.
+% See \cref{sec:slash-with-kern}. Default value:~\milliem{\typogget{slashkern}}.
+%
+% \item[|textitalicscorrection=|\meta{dim}]\label{item:textitalicscorrection}
+% \indexpackageoption{textitalicscorrection}
+% Italics correction fallback-value; used if \cs{fontdimen1} is zero. See
+% \cref{sec:manual-italic-correction} on manual italic correction and also the
+% complementary configuration
+% option~\hyperref[item:mathitalicscorrection]{|mathitalicscorrection|}. Default
+% value:~\milliem{\typogget{textitalicscorrection}}.
+%
+% \item[|trackingttspacing=|\code{\{\meta{outer-spacing}\}}\quad\microtyperequiredmarker]\label{item:trackingttspacing}
+% \indexpackageoption{trackingttspacing}
+% Set the outer spacing of all typewriter fonts if used in environment~\code{settracking}
+% as described in \cref{sec:tracking-control}.
+%
+% The argument \meta{outer-spacing} gets passed to \packagename{microtype}'s
+% \cs{SetTracking} option~\code{outer spacing}~\cite[Sec.~5.3]{package:microtype}. If it
+% contains commas, enclose the whole argument in curly braces. Default argument
+% value:~\mbox{\typogget{trackingttspacing}}.
+%
+% The option can be used when loading the package and in the document preamble, but
+% \emph{not} in the document body.
+%
+% By default this option is unset.
+% \end{description}
+% \end{typogsetup}
+% \index{package options|)}
+%
+%
+% \sectionfinish
+% \clearpage
+% \section{Macros and Environments}\label{sec:macros-and-envs}
+%
+% \begin{whittyquote}
+% Easy things should be easy, and \\
+% hard things should be possible. \\
+% \capitalemdash*~\propername{Larry Wall}
+% \end{whittyquote}
+%
+% \noindent
+% This is the \doublequotes{User Manual}~section of the documentation, where we describe all
+% user-relevant macros and environments that are defined in package~\packagename{typog}.
+%
+% We follow the naming convention that every environment whose name ends with \code{\dots par}
+% issues a \cs{par} at its end. Environments with different name suffixes never close
+% with~\cs{par}.
+%
+% \bigskip
+%
+% \noindent
+% \DescribeEnv{typogsetup}
+% Configure\index{configuration}\index{setup} the package with the given \meta{keys}. An empty
+% argument of \code{typogsetup} resets all \meta{keys} to their default values.
+%
+% \begin{synopsis}\label{syn:typogsetup}
+% \cs{begin}|{typogsetup}|\marg{keys}
+% \dots{}
+% \cs{end}|{typogsetup}|
+% \end{synopsis}
+%
+% The package can be (re-)configured\index{reconfigure} at any point with
+% \cs{typogsetup}\marg{keys}, or --~for localized changes~-- as
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{begin}|{typogsetup}|\marg{keys} \\
+% \> \dots \\
+% \cs{end}|{typogsetup}|
+% \end{codeexample}
+%
+% \noindent
+% where \meta{keys} have the same format as the package options described in
+% \cref{sec:package-options}.
+%
+% \begin{usecases}
+% \cs{typogsetup} can substitute configuring the package at load-time or serve as an
+% addition.~\visualpar Using the |typogsetup|~environment allows to fine-tune the parameters
+% for a specific use, e.\,g., display-sized text.~\visualpar It even is conceivable that a
+% well-established \packagename{typog}-configuration gets attached to font-changing macros
+% like \cs{rm}, \cs{sf},~etc.
+% \end{usecases}
+%
+%
+% \noindent
+% \DescribeMacro{\typogget}
+% Sometimes the user needs to access internal configuration values of
+% package~\packagename{typog}. This can be done in a safe way without resorting to code that
+% is bracketed by \cs{makeatletter}/\cs{makeatother} with the help of the following macro.
+%
+% \begin{synopsis}\label{syn:typogget}
+% \cs{typogget}\marg{key}
+% \end{synopsis}
+%
+% Retrieve the configuration value that is associated with~\meta{key}. For a list of available
+% \meta{key}s see~\cref{sec:package-options}.
+%
+% \begin{usecase}
+% Raise glyphs by the same amount as configured with \packagename{typog}.
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{newcommand*}\{\cs{seesubst}\} \\
+% \> \{\cs{raisebox}\= \{\cs{typogget}\{raisecapitalguillemets\}\}\% \\
+% \> \> \{\cs{rightarrowhead}\}\} \\
+% \cs{renewcommand*}\{\cs{labelitemi}\} \\
+% \> \{\cs{raisebox}\= \{\cs{typogget}\{raisecapitaldash\}\}\{\cs{cdot}\}\}
+% \end{codeexample}
+%
+% The latter only is useful inside of an \code{itemize}~environment of course.
+% \end{usecase}
+%
+%
+% \subsection{Information}\label{sec:information}\index{information}
+%
+% \begin{whittyquote}
+% Never forget: The visual output counts; \\
+% it must always be checked, [\dots]. \\
+% \marginnote{The em-dash at then end of the quote is height-adjusted with
+% \hyperref[syn:capitalemdash]{\cs{capitalemdash*}}.}%
+% \capitalemdash*~\propername{Udo Wermuth}~\cite{wermuth:2017a}
+% \end{whittyquote}
+%
+% \noindent
+% We define some functions for introspection of the typesetting process.
+%
+%
+% \subsubsection{Font Information}\label{sec:font-information}
+% \index{font>information}
+%
+% \DescribeMacro{\fontsizeinfo}
+% Capture the font~size\footnote{We use \cs{fontdimen6}, the em-height as the font
+% size.}\index{font>size} and line~spacing\footnote{The line~spacing simply is
+% \cs{baselineskip}.}\index{line spacing} at the point where \cs{fontsizeinfo} \emph{is called}
+% in macro~\meta{cs-name}. Both dimensions are measured in points~(pt) and the results are
+% rounded to tenths.
+%
+% \begin{synopsis}\label{syn:fontsizeinfo}
+% \cs{fontsizeinfo}\marg{cs-name}
+% \end{synopsis}
+%
+% The call to \cs{fontsizeinfo} introduces a pair of macros to access the stored values. The
+% unstarred version~\cs{cs-name} expands to the lengths including their units (i.\,e.,~pt), the
+% starred version~\cs{cs-name*} omits the units. The separating slash is
+% \hyperref[syn:kernedslash]{\cs{kernedslash}}, which is introduced in
+% \cref{sec:slash-with-kern}.
+%
+% \begin{note}
+% The \cs{baselineskip} can contain a rubber (stretch/shrink) component, however,
+% \cs{fontsizeinfo} will not display these parts.
+% \end{note}
+%
+% \begin{usecases}
+% Colophon.~\visualpar Font test pages.
+% \end{usecases}
+%
+%
+% \subsubsection{Paragraph- and Page-Breaking Trace}\label{sec:paragraph-and-pagebraking-trace}
+%
+% \DescribeEnv{typoginspect}
+% \DescribeEnv{typoginspectpar}
+% The environments |typoginspect| and |typoginspectpar| turn on the tracing of paragraphs and
+% pages; optionally they display the parbox' contents. These environments can assist the user
+% in identifying typographic problems in a quantitative way without getting distracted by
+% unrelated information in the trace or the \filesystem{log}-file.
+%
+% \begin{synopsis}\label{syn:typoginspect}
+% \cs{begin}|{typoginspect}|\oarg{option}\marg{id}
+% \dots{}
+% \cs{end}|{typoginspect}| \\[\smallskipamount]
+% \cs{begin}|{typoginspectpar}|\oarg{option}\marg{id} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{typoginspectpar}|
+% \end{synopsis}
+%
+% The \meta{id} is an arbitrary string that identifies the results in the
+% \filesystem{log}-file. If the mandatory argument is empty, \packagename{typog} constructs a
+% unique value.
+%
+%
+% \paragraph{Option}
+%
+% \begin{description}[style=nextline]
+% \item[|tracingboxes|{[}=\meta{size}{]}]
+% Specify the maximum box breadth and box depth reported in the log. If \meta{size} is
+% omitted the maximum values are assumed; this is similar to the \cs{tracingboxes}
+% macro~\cite[p.~312]{abrahams:2020}.
+% \end{description}
+%
+% \begin{caution}
+% The end-of-trace marker sometimes gets placed too early and the trace seems truncated.
+% \LaTeX{} reliably logs the requested the trace information, but the write operations for
+% trace data and \cs{immediate}\cs{write} which is used to print the end-tag are not
+% synchronized.
+% \end{caution}
+%
+%
+% \paragraph{\LaTeX{} \filesystem{log}-file and trace.}
+% The trace data in the \filesystem{log}-file is bracketed by \acronym{XML}-tags.
+%
+% \begin{widecodeexample}
+% <typog-inspect\textvisiblespace
+% id="\meta{id}"\textvisiblespace
+% job="\meta{jobname}"\textvisiblespace
+% line="\meta{line-number}"\textvisiblespace
+% page="\meta{page-number}"> \\
+% ~~\dots \\
+% </typog-inspect>
+% \end{widecodeexample}
+%
+% \noindent
+% where the \meta{id} is the user-supplied, unique\footnote{It has turned out advantageous to
+% use unique \meta{id}s. However, \meta{id}s are \emph{not required} to be distinct.}
+% identifier of the group, \meta{jobname} is the value of \cs{jobname}, \meta{line-number}
+% records the \cs{inputlineno} of the \cs{begin}~of the group, and \meta{page-number} gets
+% replaced with the current value of the page counter.
+%
+% \begin{itemize}[noindent]
+% \item Any text tool can be used to ferret out the tags. \propername{Emacs} users will find
+% \mbox{\code{(occur \meta{regexp})}} to be useful.
+%
+% \item As long as the tags are not nested \programname{sed} or \programname{perl}
+% extract the information gathered by~|typoginspect|, for example:
+%
+% \begin{codeexample}
+% sed \= -ne '/<typog-inspect\textvisiblespace id="\dots"/,\textbackslash\#</typog-inspect>\#p' \\
+% \> < jobname.log
+% \end{codeexample}
+%
+% or
+%
+% \begin{codeexample}
+% perl \= -ne '\= \$a=0 if /<\textbackslash/typog-inspect>/; \textbackslash \\
+% \>\> print \$\_ if \$a; \textbackslash \\
+% \>\> \$a=1 if /<typog-inspect\textvisiblespace id="\dots"/' \textbackslash \\
+% \> < jobname.log
+% \end{codeexample}
+%
+% \item The companion program~\programname{typog-grep} is tailored to extract the information
+% marked up by |typoginspect| and~|typoginspectpar| even if the environments are nested.
+%
+% We reproduce the complete manual page of \programname{typog-grep} in \Cref{app:typog-grep}.
+% \end{itemize}
+%
+% \begin{tips}
+% \begin{itemize}[nestedinspecialsection, notopsep]
+% \item It may be necessary to run whatever \LaTeX~engine with a larger log-file line length,
+% to prevent wrapped lines. With short lines the wannabe \acronym{XML} opening tags can
+% get wrapped and thus become unrecognizable to dumb postprocessors. To avoid wrapped
+% lines prepend
+%
+% \begin{codeexample}
+% /usr/bin/env max\_print\_line=2147483647
+% \end{codeexample}
+%
+% to the command-line. The value~\(2147483647 = 2^{31} - 1\) effectively disables all line
+% wrapping by \LaTeX.
+%
+% As both \command{pdflatex} and \command{lualatex} support changing their configuration on
+% a by-call basis with option~\code{-cnf-line=\meta{STRING}} an alternative to the above
+% example is to add
+%
+% \begin{codeexample}
+% -cnf-line=max\_print\_line=2147483647
+% \end{codeexample}
+%
+% to the respective command-line.
+%
+% \item If more trace information is needed just add \cs{tracing\dots} calls right after
+% \code{\string\begin\{typoginspect\}}
+% or~\code{\string\begin\{typoginspectpar\}}.\specialsectionendhere
+% \end{itemize}
+% \end{tips}
+%
+%
+% \phantomsection
+% \paragraph{Investigating the badness of a paragraph.}\label{sec:investigating-paragraph-badness}\index{paragraph>badness}
+%
+% It is generally unnecessary to determine the \emph{exact} classification of a paragraph's
+% badness~\cite[p.~97n]{knuth:1986}, though the curious user can switch on logging of
+% \TeX's~line-break information with
+% \cs{tracingparagraphs}|=1|\footnote{Reference~\citenum{wermuth:2016} provides an
+% exceptionally detailed discussion of the output of \cs{tracingparagraphs}.} or simply use
+% the \hyperref[syn:typoginspect]{typoginspect}~environment and check the suffixes
+%
+% \begingroup
+% \centering
+% |@@|\meta{breakpoint-number} |line| \meta{line-number}|.|\meta{suffix}
+% \par
+% \endgroup
+%
+% \noindent
+% of each line in the paragraph, where for \meta{suffix} the following mapping
+% holds~\cite[p.~99]{knuth:1986}:
+% \begin{equation*}
+% 0 \mapsto \text{very loose},\quad
+% 1 \mapsto \text{loose},\quad
+% 2 \mapsto \text{decent, and}\quad
+% 3 \mapsto \text{tight}.
+% \end{equation*}
+%
+% \begin{example}
+% \let\oldsample=\sample
+% \renewcommand*{\sample}[1]{\oldsample{\texttt{#1}}}
+% \par\medskip
+% \noindent
+% |@@17: line 15.1- t=142289 s=93.58414 a=2.86073 -> @@16|
+%
+% \begin{enumerate}[noitemsep]
+% \item The feasible breakpoint~\sample{@@} number~17 in the paragraph leads to
+% \item \sample{line}~15, which is the loose~\sample{.1} last~\sample{-} line of the
+% paragraph.
+% \item Up to this breakpoint the paragraph has picked up total demerits~\sample{t}
+% of~142289.
+% \item The following two values only show up if\/ \(\cs{lastlinefit} \not= 0\):
+% \begin{enumerate}[beginpenalty=10000, nosep]
+% \item The shortfall~\sample{s} and
+% \item glue~\sample{a} or~\sample{g}.\footnote{The author is unaware of any descriptions
+% of \code{s}, \code{a}, or~\code{g}. The interested reader is referred to the source
+% code, e.\,g., \filesystem{pdftex.web}; search for \code{print("\textvisiblespace s=")}.
+% In the weaved documentation the first relevant section is~\S1851.}
+% \end{enumerate}
+% \item The best\footnote{\singlequotes{Best} means the minimum-demerits path in the graph of
+% the feasible breakpoints, which has been constructed for the paragraph.} way to get
+% here, i.\,e., |@@17| is via~\sample{->} breakpoint~\sample{@@}~16.\specialsectionendhere
+% \end{enumerate}
+% \end{example}
+%
+% \begin{note}
+% When package~\packagename{microtype}'s font expansion feature jumps in the reports on
+% \doublequotes{Loose \textbackslash hbox (badness \dots)} and \doublequotes{Tight
+% \textbackslash hbox (badness \dots)} \shiftedmarginnote{All of our guillemets were raised
+% by \milliem{\the\typogget{raiseguillemets}}.} contain the amount of shrinking or expansion
+% as parenthesized values (units are thousandths of the current font's~em) like, e.\,g.,
+%
+% \begin{codeexample}
+% \textbackslash T1/erewhon-LF/m/n/9/@/@ (-13) \dots
+% \end{codeexample}
+%
+% or
+%
+% \begin{codeexample}
+% \textbackslash T1/erewhon-LF/m/n/9/@/@/10ls (+7) \dots
+% \end{codeexample}
+%
+% An \sample{ls} appended to the font name specification indicates that
+% \packagename{microtype}'s letter~spacing feature is active and changed the tracking by that
+% many thousands on an em as indicated before~\sample{ls}.
+% \end{note}
+%
+%
+% \paragraph{Investigating page-breaks.}\index{page break}
+%
+% Use \code{\cs{tracingpages}=1} or the \hyperref[syn:typoginspect]{typoginspect}~environment
+% to switch on tracing of \TeX's page-break
+% information~\cite[p.~112n]{knuth:1986}.\footnote{See also the discussion of the \TeX~output
+% routines by \propername{Solomon}~\cite{solomon:1990}.}
+%
+% The first time vertical material enters a new page, \TeX{} logs
+%
+% \begingroup\tt
+% \centering
+% \%\% goal height=\meta{text-height}, max depth=\meta{max-depth} \\
+% \par
+% \endgroup
+%
+% \noindent
+% where \meta{text-height} is the total height \TeX{} wants to achieve and~\meta{max-depth} is
+% the maximum depth of the hbox in the last line of the page is allowed to have without
+% considering \meta{text-height} to be exceeded. For example:
+%
+% \begingroup\tt
+% \centering
+% \%\% goal height=598.0, max depth=5.0 \\
+% \par
+% \endgroup
+%
+% For every vertical breakpoint \TeX{} records
+%
+% \begingroup\tt
+% \centering
+% \% t=\meta{total-height} g=\meta{goal-height} b=\meta{badness} p=\meta{penalty} c=\meta{cost}
+% \par
+% \endgroup
+%
+% Here, \meta{total-height} and \meta{goal-height} are the current total height of the page and
+% the current goal height to achieve with respect to this vertical breakpoint.
+%
+% The value of \meta{penalty} and \meta{cost} can be infinite, which would be indicated with an
+% asterisk~\sample{\texttt{*}} instead of a numerical value. The best vertical breakpoint
+% found so far on the current page is indicated by a trailing sharp-sign~\sample{\texttt{\#}}.
+%
+% \begin{example}
+% \let\oldsample=\sample
+% \renewcommand*{\sample}[1]{\oldsample{\texttt{#1}}}
+% \begin{widecodeexample}
+% \% t=351.3 plus 11.0 minus 1.0 g=553.9 b=10000 p=-300 c=100000\#
+% \end{widecodeexample}
+%
+% \begin{enumerate}[noitemsep, notopsep]
+% \item At this vertical breakpoint the total page height~\sample{t} is 351.3\,pt. We have
+% picked up glue with 11\,pt~stretchability and~1\,pt~shrinkability along the way.
+%
+% \item The current goal height~\sample{g} is 553.9\,pt. If the initial goal height was
+% 598\,pt we can deduce that some space for other vertical material was subtracted.
+%
+% \item The badness~\sample{b} of this vertical break is horrendous which is expected for the
+% first lines on a page since breaks so early are rightfully considered infinitely bad.
+%
+% \item The penalty~\sample{p} at this point actually is a bonus.
+%
+% \item As the badness is 10000 the cost for a break is calculated
+% to~100000.\specialsectionendhere
+% \end{enumerate}
+% \end{example}
+%
+%
+% \subsection{Hyphenation}\label{sec:latex-hyphenation}
+% \index{hyphenation}
+%
+% \TeX's and thus \LaTeX's hyphenation algorithm is highly sophisticated, yet the document
+% author sometimes lacks convenient macros to solve seemingly trivial typographic tasks. For
+% example, to hyphenate a compound~word connected by a hyphen.
+%
+% \DescribeMacro{\allowhyphenation}
+% \TeX{} inhibits breaks of the component words by default. The following macro rectifies the
+% problem.
+%
+% \begin{synopsis}
+% \cs{allowhyphenation}
+% \end{synopsis}
+%
+% Macro~\cs{allowhyphenation}\index{hyphenation>re-enable automatic} re-enables automatic
+% hyphenation after \TeX{} has turned it off, for example, in the innocuous case of a
+% hyphenated compound.
+%
+% The admittedly simple rules when \TeX{} auto-hyphenates and when not give rise to so many
+% different, yet interesting cases that we devote \cref{tab:hyphens-and-hyphenations} to them.
+% \begingroup
+% \let\textfrac=\nativetextfraction
+% The seemingly special cases shown there are not that uncommon, e.\,g., consider
+% \singlequotes{\mbox{spin-\textfrac{1}{2}}} which is coded as |\mbox{spin-\textfrac{1}{2}}|.
+% A line break between the text and the fraction would garble the term.
+% \endgroup
+%
+% \begin{usecases}
+% All examples from the bottom of \cref{tab:hyphens-and-hyphenations} on
+% \cpageref{tab:hyphens-and-hyphenations}.~\visualpar
+%
+% Fix line breaks of index-entries in a narrow index:
+%
+% \begin{codeexample}
+% Halbgruppe, Transformations\cs{allowhyphenation}\cs{mbox}\{-\}\cs{,}-\nolig*-\nolig*-
+% \end{codeexample}
+%
+% \noindent
+% The first part, \singlequotes{Transformations} is allowed to be hyphenated, but a break
+% after the hyphen is prohibited as it results in a prowling em-dash at the beginning of the
+% next line.~\visualpar
+%
+% Re-enable hyphenation when a macro decays into a \cs{hbox}:
+%
+% \begin{codeexample}
+% Einselement\cs{allowhyphenation}\cs{rlap}\{,\}\cs{footnote}\{\dots\}
+% \end{codeexample}
+%
+% where \cs{rlap} is equivalent to something like
+% \code{\cs{makebox}[0pt]\{\#1\cs{hss}\}}.~\visualpar
+%
+% Use \cs{allowhyphenation} to turn on hyphenation of the first word of a paragraph as,
+% e.\,g., in a narrow index or a \cs{marginpar}:
+%
+% \begin{codeexample}
+% \cs{marginpar}\{\cs{allowhyphenation} Kontakttransformationen\}
+% \end{codeexample}
+%
+% \noindent
+% A common trick to sweet-talk \TeX{} into hyphenating the first word of a paragraph is to
+% put \cs{hskip0pt} in front of it.
+% \end{usecases}
+%
+% \begin{table}\small
+% \centering
+% \caption[Hyphens and automatic hyphenation]
+% {\TeX{} offers plenty of possibilities to hyphenate a compound.~\visualpar We use
+% the sample \singlequotes{hyphenated-compound} to show various code examples and
+% the results that they produce. The parts are automatically hyphenated like this:
+% \singlequotes{hyphenated}~\(\rightarrow\) \singlequotes{hy-phen-ated} and
+% \singlequotes{compound}~\(\rightarrow\) \singlequotes{com-pound}.}
+% \label{tab:hyphens-and-hyphenations}
+%
+% \begin{nofontexpansion}
+% \newcommand*{\zbox}[1]
+% {\hfuzz=\maxdimen
+% \overfullrule=0pt
+% \raisebox{\normalbaselineskip}{\parbox[t]{0pt}{\hspace{0pt}#1}}}
+%
+% \sbox{\listlabelbox}{hyphenated-compound}
+% \begin{tabularx}{\linewidth}{@{}p{12em}l>{\fussy\RaggedRight}X@{}}
+% \toprule
+% \LaTeX-Code & \makebox[\wd\listlabelbox][l]{Result} & Note \\
+% \midrule
+% \code{hyphenated-compound} &
+% \zbox{hyphenated-compound} &
+% Most frequently used code; the hyphen~\sample{\code{-}} expands to
+% \code{\cs{discretionary}\mbox{\{-\}\{\}\{-\}}} rendering the parts un-breakable \\
+%
+% \code{hyphenated\cs{mbox}\{-\}\%}\newline
+% \code{compound} &
+% \zbox{hyphenated\mbox{-}compound} &
+% Suppress hyphenation with the \cs{mbox} in the compound \\
+%
+% \code{\cs{mbox}\{hyphenated-\%}\newline
+% \code{compound\}} &
+% \zbox{\mbox{hyphenated-compound}} &
+% Avoid line break and thus hyphenation \\
+%
+% \midrule
+%
+% \code{hyphenated\cs{hyp}}\newline
+% \code{compound} &
+% \zbox{hyphenated\hyp compound} &
+% Macro~\cs{hyp} defined in package
+% \packagename{hyphenat}~\cite{package:hyphenat} \\
+%
+% \addlinespace
+% \midrule
+%
+% \code{hyphenated\%}\newline
+% \cs{allowhyphenation}\code{-\%}\newline
+% \code{compound} &
+% \zbox{hyphenated\allowhyphenation-compound} &
+% Macro~\cs{allowhyphenation} of package~\packagename{typog}; only unblock
+% hyphenation of the first part \\
+%
+% \code{hyphenated-\%}\newline
+% \cs{allowhyphenation}\newline
+% \code{compound} &
+% \zbox{hyphenated-\allowhyphenation compound} &
+% Macro~\cs{allowhyphenation} of package~\packagename{typog}; only unblock
+% hyphenation of the second part \\
+%
+% \code{hyphenated\%}\newline
+% \cs{allowhyphenation}\newline
+% \cs{mbox}\code{\{-\}\%}\newline
+% \code{compound} &
+% \zbox{hyphenated\allowhyphenation\mbox{-}compound} &
+% Macro~\cs{allowhyphenation} of package~\packagename{typog}; hyphenate first
+% part and keep the original hyphen unbreakable \\
+%
+% \code{hyphenated\%}\newline
+% \cs{allowhyphenation}\code{-\%}\newline
+% \cs{allowhyphenation}\newline
+% \code{compound} &
+% \zbox{hyphenated\allowhyphenation-\allowhyphenation compound} &
+% Macro~\cs{allowhyphenation} of package~\packagename{typog}; hyphenate both
+% parts, similar to \cs{hyp} shown above \\
+%
+% \addlinespace
+% \bottomrule
+% \end{tabularx}
+% \end{nofontexpansion}
+% \end{table}
+%
+% \noindent
+% Whenever using \cs{-}, the short-hand form of \cs{discretionary\{-\}\{\}\{\}}, authors
+% writing in a foreign language should reconsider whether it really beats \cs{hyphenation} or
+% \cs{babelhyphenation}\footnote{\cs{babelhyphenation} is the multi-lingual extension of \TeX's
+% \cs{hyphenation} and it is defined in package~\packagename{babel}~\cite{package:babel}}. in
+% the particular situation. However, sometimes \cs{-} actually \emph{is} the way to go.
+%
+% Let us assume we mark up proper names with
+%
+% \begin{codeexample}
+% \cs{DeclareRobustCommand}*\= \{\cs{propername}\}[1] \\
+% \> \{\cs{mbox}\{\cs{textsc}\{\#1\}\}\}
+% \end{codeexample}
+%
+% \noindent
+% and we want to have hyphenatable \foreignphrase{\doublequotes{\propername{Abel}sche Gruppe}}
+% or \foreignphrase{\doublequotes{\propername{Euklid}ischer Vektorraum}} without dropping the
+% markup. To that end we define commands that insert a hyphenation point at the right place:
+%
+% \begin{codeexample}
+% \cs{newcommand*}\= \{\cs{abelsche}\} \\
+% \> \{\cs{propername}\{Abel\}\cs{-}sche\} \\
+% \cs{newcommand*}\> \{\cs{euklidischer}\} \\
+% \> \{\cs{propername}\{Euklid\}i\cs{-}scher\}
+% \end{codeexample}
+%
+% \noindent
+% which are impossible to encode with \cs{hyphenation} or~\cs{babelhyphenation} as these expect
+% only letters and dashes as their arguments with spaces separating the words.
+%
+% \begin{tip}[Typewriter Fonts]
+% Sometimes it is desired to get a hyphenatable typewriter font. \LaTeX{} suppresses any
+% hyphenation for fonts in \cs{ttfamily} by un-defining their \cs{hyphenchar}s. If these are
+% reassigned, the usual hyphenation occurs again.
+%
+% So, a fictitious macro `\cs{code}' to typeset short pieces of code could look like this:
+%
+% \begin{codeexample}
+% \cs{newcommand*}\= \{\cs{code}\}[1] \\
+% \> \{\{\= \cs{ttfamily} \\
+% \> \> \cs{hyphenchar}\cs{font}=`\cs{-}\cs{relax} \#1\}\}\specialsectionendhere
+% \end{codeexample}
+% \end{tip}
+%
+% \DescribeMacro{\breakpoint}
+% \DescribeMacro{\breakpoint*}
+% The empty discretionary construct~\cite[p.~95]{knuth:1986}, \cs{discretionary\{\}\{\}\{\}},
+% is so helpful that it deserves its own macro --~with a descriptive name.
+%
+% \begin{synopsis}
+% \cs{breakpoint} \\
+% \cs{breakpoint*}
+% \end{synopsis}
+%
+% The starred form inserts an empty discretionary,\index{hyphenation>empty discretionary} which
+% disables automatic hyphenation. The unstarred form inserts an empty discretionary and
+% immediately re-enables automatic hyphenation.
+%
+% The difference between \cs{breakpoint} and the \LaTeX{} macro~\cs{allowbreak} is not only
+% that the former has a starred form, but the penalty associated with \cs{breakpoint} is the
+% current\footnote{At this point in the document
+% \code{\string\exhyphenpenalty=\the\exhyphenpenalty} holds.} \cs{exhyphenpenalty}, whereas
+% \cs{allowbreak} statically assigns a zero~penalty.
+%
+% \begin{usecase}
+% Prefixes that end in a hyphen inside of a pair of parenthesis:
+%
+% \begin{codeexample}
+% \cs{mbox}\{(pre-)\}\cs{breakpoint*} \cs{propername}\{Hilbert\} space\specialsectionendhere
+% \end{codeexample}
+% \end{usecase}
+%
+% \DescribeEnv{hyphenmin}
+% \sinceversion{Since v0.3}
+% Set the values of \cs{lefthyphenmin} and \cs{righthyphenmin} confined to an environment.
+%
+% \begin{synopsis}\label{syn:hyphenmin}
+% \cs{begin}|{hyphenmin}|\oarg{left-hyphen-minimum}\marg{hyphen-minimum} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{hyphenmin}|
+% \end{synopsis}
+%
+% Without optional argument |hyphenmin| sets both \cs{lefthyphenmin} and \cs{righthyphenmin} to
+% \meta{hyphen-minimum}. When called with an optional argument it sets \cs{lefthyphenmin} to
+% \meta{left-hyphen-minimum} and \cs{righthyphenmin} to \meta{hyphen-minimum}.\footnote{The
+% current values for \cs{lefthyphenmin} and \cs{righthyphenmin} in this document
+% are~\the\lefthyphenmin{} and~\the\righthyphenmin, respectively.}
+%
+% \begin{usecase}
+% If the hyphen minimums were \emph{increased} e.\,g.~in the preamble: Reduce the hyphen
+% minimum in the index or other multi-column environments with narrow lines to regain
+% hyphenation possibilities.~\visualpar Use a large \meta{hyphen-minimum} to disable
+% hyphenation.
+% \end{usecase}
+%
+%
+% \subsection{Disable\kernedslash Break Ligatures}\label{sec:break-ligatures}
+% \index{ligature}
+%
+% \DescribeMacro{\nolig*}
+% Break a ligature without introducing a hyphenation opportunity.
+%
+% \begin{synopsis}\label{syn:nolig-star}
+% \cs{nolig*}\oarg{kerning}
+% \end{synopsis}
+%
+% Inserting \cs{nolig*} disables a ligature at the given point by a kern. Set the size of the
+% kern\index{kerning>ligature} with \hyperref[item:ligaturekern]{|ligaturekern|} or override
+% this value with \meta{kerning} as thousandths of the current font's~em.
+%
+% \begin{usecases}
+% \cs{nolig*} can be useful in headings, where additional hyphenation points are
+% unwelcome.~\visualpar In fonts with an overly rich set of ligatures \cs{nolig*} offers a
+% straightforward means to suppress unwanted ligatures at non-hyphenatable
+% positions.~\visualpar Rectify the appearance of a pseudo ligature, i.\,e., two adjacent
+% characters that look like a ligature, but actually are not.
+% \end{usecases}
+%
+% \noindent
+% \DescribeMacro{\nolig}
+% Break a ligature and introduce a hyphenation opportunity.
+%
+% \begin{synopsis}\label{syn:nolig}
+% \cs{nolig}\oarg{kerning}
+% \end{synopsis}
+%
+% Inserting \cs{nolig} disables a ligature at the given point as \cs{nolig*} does \emph{and}
+% introduces a hyphenation opportunity with
+% penalty~\hyperref[item:breakpenalty]{|breakpenalty|}.
+%
+% \begin{important}[\packagename{hyperref} bookmarks]\index{hyperref=\packagename{hyperref} (package)}
+% If a \cs{nolig} --~whether starred or un-starred~-- occurs in an argument that is processed
+% with package~\packagename{hyperref} for inclusion into the document's
+% \acronym{PDF}-bookmarks\index{PDF=\acronym{PDF}}\index{bookmark} an additional argument is
+% necessary to parse the macro. This argument either is \cs{relax} or~the empty
+% group~(\code{\{\}}).
+%
+% \begin{synopsis}
+% \begin{tabbing}
+% \cs{nolig*}\oarg{kerning}\cs{relax}\qquad\= \cs{nolig}\oarg{kerning}\cs{relax} \\
+% \cs{nolig*}\oarg{kerning}\code{\{\}}\> \cs{nolig}\oarg{kerning}\code{\{\}}
+% \end{tabbing}
+% \end{synopsis}
+%
+% The prototypical places where this processing-for-\acronym{PDF}-bookmarks happens are the
+% sectioning macros, e.\,g., \cs{chapter}, \cs{section}, \cs{subsection},~etc.
+%
+% \LaTeX{} will bail out with an error if the extra argument is not passed to \cs{nolig} in
+% these situations.
+%
+% Alternatively use \cs{texorpdfstring}~\cite[Sec.~4.1.2, p.~22]{package:hyperref}.
+% \end{important}
+%
+% \begin{usecases}
+% \cs{nolig} can be used with just about any ligature that needs to be split into its
+% parts.~\visualpar It also has proven beneficial in separating pairs of characters that are
+% kerned to tightly (e.\,g.~the \sample{ij}, as in bi\itcorr{2}jection, which is particularly
+% distractive here, for it occurs at the boundary of two syllables).
+% \end{usecases}
+%
+%
+% \subsection{Manual Italic Correction}\label{sec:manual-italic-correction}\label{italic correction}
+%
+% \DescribeMacro{\itcorr}
+% \DescribeMacro{\itcorr*}
+% The italic correction offered by \TeX{} or \LaTeX{} sometimes needs a helping hand.
+%
+% \begin{synopsis}\label{syn:itcorr}
+% \cs{itcorr}\marg{strength} \\
+% \cs{itcorr*}\marg{strength}
+% \end{synopsis}
+%
+% In text mode macro~\cs{itcorr} inserts a kern whose width is proportional to \cs{fontdim1},
+% which is the font's italic correction. If \cs{fontdim1} happens to be zero (e.\,g.~for an
+% upright font), \cs{itcorr} uses the value set with
+% \hyperref[item:textitalicscorrection]{\code{textitalicscorrection}} instead of \cs{fontdim1}.
+% The starred version always uses
+% \hyperref[item:textitalicscorrection]{\code{textitalicscorrection}}. In math mode
+% macro~\cs{itcorr} uses the value set with
+% \hyperref[item:mathitalicscorrection]{\code{mathitalicscorrection}}\footnote{Separate
+% adjustments may be desirable if the math font's italics have markedly different slants.} in
+% both the starred and the unstarred form.
+%
+% Typical slant angles of serif italics fonts range from 8\textdegree{} to~18\textdegree{} and
+% thus values for |textitalicscorrection| from .14 to~.32. Note: \meta{strength} can be
+% negative and fractional \meta{strength}s are allowed.
+%
+% \begin{usecases}
+% Stronger or weaker correction than |\/|.~\visualpar Correct a non-slanted or non-italicized
+% font.~\visualpar Negative correction at the left-hand side\footnote{Groff has the machinery
+% for left-italic-correction. Its font-metrics files support per glyph
+% left-italic-correction values and users can access them conveniently via~\sample*{\cs{,}}.}
+% of italics, i.\,e., compensate \doublequotes{shift-to-the-right effect} of
+% italics.~\visualpar Positive correction at the left-hand side of italics, e.\,g., an
+% opening parenthesis or square bracket followed by an
+% italic~\sample{\itshape\itcorr{8}f\itcorr{7}} (before:~8, after:~7) or
+% \sample{\itshape\itcorr{4}y\itcorr{1}} (before:~4, after:~1) reaching far to the left below
+% the baseline.
+% \end{usecases}
+%
+%
+% \paragraph{The \meta{strength} parameter explained.}
+%
+% \TeX{} records the slant angle~\(\alpha\) of a font in \cs{fontdim1} as \(\mbox{1\,pt} \times
+% \sin\alpha\). Rephrased the formula means: \emph{How much horizontal space is required for a
+% letter slanted with ~\(\alpha\) that is 1\,pt high?} So, \cs{itcorr}\marg{strength}
+% calculates
+% \begin{displaymath}
+% \meta{strength} \times \mbox{1\,pt} \times \sin\alpha.
+% \end{displaymath}
+%
+% A well-chosen \meta{strength} should be the absolute minimum value which avoids that the
+% glyphs typeset in italics collide with other --~usually non-italics~-- letters or symbols
+% unless this disturbs the consistency of the overall tracking.
+%
+% Correction of the right-hand side and \mbox{\(\alpha > 0\)}: A reasonable first guess of
+% \meta{strength} is the highest point where the rightmost part of the letter would touch a
+% rule angled at \(\alpha\) with respect to the baseline. The correction of the left-hand side
+% and \mbox{\(\alpha > 0\)} considers the lowest \singlequotes{touching} point below the
+% baseline on the left-hand side of the letter. Negative values of \(\alpha\) exchange the
+% reference points.
+%
+% \iffalse
+%<*slantangle>
+prologues := 3;
+truecorners := 1;
+linecap := butt;
+
+input TEX;
+TEXPRE("%&latex" & char(10) & "\documentclass{article}\begin{document}");
+TEXPOST("\end{document}");
+
+string roman_font;
+roman_font := "pplr8r"; % URW Palladio L - Roman
+
+string italics_font;
+italics_font := "pplri8r"; % URW Palladio L - Italic
+
+u := 360;
+
+font_scale := 10;
+
+pair loc[];
+loc[1] := .2[origin, (u, 0)];
+loc[2] := .5[origin, (u, 0)];
+loc[3] := .8[origin, (u, 0)];
+
+picture letter_H;
+letter_H := thelabel.top("H" infont italics_font scaled font_scale, loc[1]);
+
+picture letter_L;
+letter_L := thelabel.top("L" infont italics_font scaled font_scale, loc[2]);
+
+picture letter_a;
+letter_a := thelabel.top("a" infont italics_font scaled font_scale, loc[3]);
+
+path slant_angle;
+slant_angle := lrcorner letter_H + (14, 0) -- lrcorner letter_H + (-6, 0) -- urcorner letter_H + (3.5, 0);
+
+pair base_point;
+base_point := (xpart point 2 of slant_angle, ypart point 0 of slant_angle) ;
+
+pair angle_label;
+angle_label := point 2 of slant_angle + (0, -12);
+
+
+beginfig(1);
+ draw letter_H;
+ draw slant_angle;
+ draw point 2 of slant_angle -- base_point dashed evenly;
+ draw point 1 of slant_angle -- base_point withpen pencircle scaled 2pt;
+
+ label.rt(TEX("$\alpha$"), angle_label);
+
+ draw letter_L;
+ draw slant_angle shifted (xpart lrcorner letter_L - xpart lrcorner letter_H + 2, 0);
+
+ draw letter_a;
+ draw slant_angle shifted (xpart lrcorner letter_a - xpart lrcorner letter_H - 3, 0);
+endfig;
+end
+%</slantangle>
+% \fi
+%
+% \Cref{fig:slant-angle} shows how \meta{strength} and \(\alpha\) are related. Moreover, it
+% demonstrates how intricate italics correction is.
+%
+% \begin{figure}
+% \centering
+% \includegraphics{slant-angle-1.mps}
+% \caption[Some letters of an italics font.]
+% {Some letters of an italics font. We use the capital~\sample{H} to measure the
+% angle~\(\alpha\) between the plumb-line (drawn dashed) and a tangent to the
+% rightmost parts of the glyph. The length of the plumb-line is proportional to
+% \meta{strength} and the short, thick part of the baseline symbolizes the resulting
+% italics correction.~\visualpar The middle example, the capital~\sample{L}, shares
+% \(\alpha\) with \sample{H} but obviously needs a far smaller \meta{strength} or
+% even no correction at all.~\visualpar The \sample{a} at the right-hand side is an
+% example of why \TeX{} allows to assign an italic~correction to each individual
+% character of a font. Not only features the lowercase~\sample{a} a
+% larger~\(\alpha\) --~despite being a member of the same font~-- but its serif adds
+% as much to the width as the slanted stem.\label{fig:slant-angle}}
+% \vspace{-3\baselineskip}
+% \llap{\parbox{\marginparwidth}
+% {\marginnoteformat
+% We center the last lines of each figure and table caption with the help of
+% \hyperref[syn:lastlinecenteredpar]{\code{lastlinecenteredpar}}.}
+% \hspace*{\marginparsep}}
+% \end{figure}
+%
+%
+% \subsection{Apply Extra Kerning}\label{sec:extra-kerning}
+% \index{kerning>extra}
+%
+% Package \packagename{typog} supplies two sets of macros to kern some of the punctuation
+% symbols. One is for forward slashes the other, more extensive one, for hyphens.
+%
+%
+% \subsubsection{Slash}\label{sec:slash-with-kern}
+% \index{kerning>forward slash}
+%
+% \DescribeMacro{\kernedslash}
+% \DescribeMacro{\kernedslash*}
+% Macro~\cs{kernedslash} expands to a forward slash~(\sample{\itcorr{3}\char`/}) with some
+% extra space around it.
+%
+% \begin{synopsis}\label{syn:kernedslash}
+% \cs{kernedslash} \\
+% \cs{kernedslash*}
+% \end{synopsis}
+%
+% The starred form is unbreakable, the non-starred version introduces a break point with
+% penalty~\hyperref[item:breakpenalty]{|breakpenalty|} after the slash. Configure the kerning
+% around the slash with~\hyperref[item:slashkern]{|slashkern|}.
+%
+% If the word following the slash should not be hyphenated append \cs{nobreak} after
+% \cs{kernedslash*}.
+%
+% \begin{usecases}
+% \cs{kernedslash} improves the appearance of pairs of years typeset in lining numerals:
+% \meta{year\textsubscript{1}}/\meta{year\textsubscript{2}}.~\visualpar The macro has proven
+% helpful in many cases where the right hand side of the slash starts with a capital as, for
+% example, \meta{city}/\meta{state-code} (\acronym{US}-specific) or
+% \meta{anything}/\meta{noun} (any language that capitalizes \meta{noun}).
+% \end{usecases}
+%
+%
+% \subsubsection{Hyphen}\label{sec:hyphen-with-kern}
+% \index{kerning>hyphen}
+%
+% \DescribeMacro{\kernedhyphen}
+% \DescribeMacro{\kernedhyphen*}
+% Macros \cs{kernedhyphen*} and \cs{kernedhyphen} expand to a hyphen~(\sample{-}) with given
+% kerning to its left and to its right.
+%
+% \begin{synopsis}\label{syn:kernedhyphen}
+% \cs{kernedhyphen}\oarg{raise}\marg{left-kerning}\marg{right-kerning} \\
+% \cs{kernedhyphen*}\oarg{raise}\marg{left-kerning}\marg{right-kerning}
+% \end{synopsis}
+%
+% Typeset an unbreakable hyphen with \cs{kernedhyphen*} or a breakable hyphen (like \cs{hyp} of
+% package \packagename{hyphenat}~\cite{package:hyphenat}) with \cs{kernedhyphen} and apply some
+% kerning to left and to the right of it. The values \meta{left-kerning} and
+% \meta{right-kerning} are multiplied with one thousandth of the current font's~em to get the
+% size of the kern.
+%
+% The optional argument~\meta{raise}, also given in \nativetextfraction{1}{1000}\,em, allows to
+% adjust the height of the hyphen similar to the macros described in
+% \cref{sec:raise-characters}. In text mode the special argument~\sample{|*|} for \meta{raise}
+% transfers the current value of \hyperref[item:raisecapitalhyphen]{\code{raisecapitalhyphen}}.
+% The default for \meta{raise} is zero.
+%
+% \DescribeMacro{\leftkernedhyphen}
+% \DescribeMacro{\leftkernedhyphen*}
+% \DescribeMacro{\rightkernedhyphen}
+% \DescribeMacro{\rightkernedhyphen*}
+% We also define specialized versions for kerning on the left-hand side or the right-hand side
+% only. These macros work like their two-argument counterparts and set the appropriate other
+% kerning to zero.
+%
+% \begin{synopsis}\label{syn:leftkernedhyphen}\label{syn:rightkernedhyphen}
+% \cs{leftkernedhyphen}\oarg{raise}\marg{left-kerning} \\
+% \cs{leftkernedhyphen*}\oarg{raise}\marg{left-kerning} \\
+% \cs{rightkernedhyphen}\oarg{raise}\marg{right-kerning} \\
+% \cs{rightkernedhyphen*}\oarg{raise}\marg{right-kerning}
+% \end{synopsis}
+%
+% \begin{usecases}
+% Composites in the form \meta{math}-\meta{noun} in languages where nouns are
+% capitalized.~\visualpar Composites where one or both sides of the hyphen are typeset in
+% different fonts, like, \meta{small-caps}-\meta{roman}.
+% \end{usecases}
+%
+%
+% \subsection{Raise Selected Characters}\label{sec:raise-characters}
+% \index{raised character}
+%
+% Usually all hyphens and dashes of a font are designed to join lowercase letters. This holds
+% also true for most of our \cs{labelitem}\meta{N} markers, bullets, stars, and even fancy
+% dingbats. If these hyphens and dashes connect uppercase letters (or lining numerals) they
+% sometimes appear to low; they disrespect the glyphs' symmetry axis. A similar situation
+% arises if |itemize|~list markers precede an uppercase letter, a lining numeral, or a big
+% mathematical operator.
+%
+% We introduce a set of macros for the most common cases that allow typsetting these characters
+% at a user definable, adjusted height above the baseline. Users can base their own
+% definitions of raised characters on their associated dimensions.\footnote{Also compare with
+% Ex.~12 in Ref.~\citenum{wermuth:2023} for an attempt to automate vertical alignment.}
+%
+% \begin{caution}
+% The height adjustment disables a font's built-in kerning.
+% \end{caution}
+%
+% \noindent
+% General note for all raised hyphen-like macros: Prefer the starred version if applied in
+% front of any punctuation.
+%
+%
+% \subsubsection{Capital Hyphen}\label{sec:capital-hyphen}
+% \index{raised character>hyphen}
+%
+% \DescribeMacro{\capitalhyphen}
+% \DescribeMacro{\capitalhyphen*}
+% In many fonts the height of the hyphen character~\sample{-} above the baseline is optimized
+% for lowercase letters. In languages that capitalize their nouns as, e.\,g., German, this may
+% be too low for compounds involving capitals.
+%
+% \begin{synopsis}\label{syn:capitalhyphen}
+% \cs{capitalhyphen} \\
+% \cs{capitalhyphen*}
+% \end{synopsis}
+%
+% The unstarred version introduces a hyphenation opportunity right after the hyphen character
+% (with penalty~\hyperref[item:breakpenalty]{|breakpenalty|}) whereas the starred version does
+% not. The actual amount the hyphen gets raised in \cs{capitalhyphen} is determined by
+% \hyperref[item:raisecapitalhyphen]{|raisecapitalhyphen|}.
+%
+% \begin{usecases}
+% In languages that capitalize their nouns, the typical use-case is between an
+% \meta{ab\-bre\-vi\-a\-tion} and a \meta{noun} when \meta{ab\-bre\-vi\-a\-tion} is a string
+% of uppercase letters. The same holds true for a connection of an uppercase variable in
+% mathematical mode and a \meta{noun} starting with a capital letter.~\visualpar Abbreviated
+% compound first names (e.\,g., A.\capitalhyphen* M.~Legendre) can be joined with the starred
+% version.~\visualpar Also, the starred form is suited for \acronym{ISO~8601}-formatted dates
+% if they are composed with lining-style numerals.
+% \end{usecases}
+%
+%
+% \subsubsection{Capital Dash}\label{sec:capital-dash}
+% \index{raised character>en-dash}
+%
+% \DescribeMacro{\capitalendash}
+% \DescribeMacro{\capitalendash*}
+% \DescribeMacro{\capitaldash}
+% \DescribeMacro{\capitaldash*}
+% The situation of the en-dash~\sample{--} is almost identical to the one of the hyphen
+% character~\sample{-} described in the previous section or the number dash to be introduced in
+% the next section.
+%
+% \begin{synopsis}\label{syn:capitalendash}\label{syn:capitaldash}
+% \begin{tabbing}
+% \cs{capitalendash}\qquad\= \cs{capitaldash} (alias) \\
+% \cs{capitalendash*} \> \cs{capitaldash*} (alias)
+% \end{tabbing}
+% \end{synopsis}
+%
+% The unstarred version introduces a hyphenation opportunity right after the dash (with
+% penalty~\hyperref[item:breakpenalty]{|breakpenalty|}) whereas the starred version does not.
+% The actual amount the hyphen gets raised in \cs{capitaldash} is determined by
+% \hyperref[item:raisecapitalhyphen]{|raisecapitaldash|}.
+%
+% \begin{usecases}
+% Letter ranges as used in the title of an index.~\visualpar Any mixed letter-digit ranges
+% (of capital letters and lining-style numerals) as in e.\,g., Sec.~B\capitaldash* 2.
+% \end{usecases}
+%
+% \noindent
+% \DescribeMacro{\capitalemdash}
+% \DescribeMacro{\capitalemdash*}
+% For completeness we also introduce a raised em-dash~\sample{---}. It behaves just like its
+% en-dash sibling.
+%
+% \begin{synopsis}\label{syn:capitalemdash}
+% \cs{capitalemdash} \\
+% \cs{capitalemdash*}
+% \end{synopsis}
+%
+% \begin{usecases}
+% Item symbols in \code{itemized} lists if the item text starts with an uppercase
+% letter.~\visualpar Theorem headings, like, e.\,g., \mbox{Definition 6.2 \capitalemdash{}
+% \textsc{Lie} Algebra}.
+% \end{usecases}
+%
+%
+% \subsubsection{Number Dash (Figure Dash)}\label{sec:number-dash}
+% \index{raised character>number dash}
+%
+% \DescribeMacro{\figuredash}
+% \DescribeMacro{\figuredash*}
+% The en-dash often gets used as separator for numerical ranges. In most fonts it has the
+% correct height above baseline for oldstyle numerals,
+% e.\,g.~\oldstylenums{12}--\oldstylenums{34}--\oldstylenums{56}--\oldstylenums{78}, but with
+% lining numerals --~depending on the font~-- it may look like it suffers from
+% \doublequotes{broken suspenders}:
+% 12\textendash34\textendash56\textendash78.\marginnote{\cs{figuredash} yields
+% 12\figuredash34\figuredash56\figuredash78 for sans-serif and {\rm
+% 12\figuredash34\figuredash56\figuredash78} for the roman typeface.} The situation is similar
+% to \cs{capitaldash} and \cs{capitalhyphen} discussed in
+% \cref{sec:capital-hyphen,sec:capital-dash}.
+%
+% \begin{synopsis}\label{syn:figuredash}
+% \cs{figuredash} \\
+% \cs{figuredash*}
+% \end{synopsis}
+%
+% The unstarred version introduces a hyphenation opportunity right after the en-dash with
+% penalty~\hyperref[item:breakpenalty]{|breakpenalty|} whereas the starred version does not.
+% The actual amount the en-dash gets raised in \cs{figuredash} is determined by
+% \hyperref[item:raisefiguredash]{|raisefiguredash|}.
+%
+% Values of .05em to .1em are typical for fonts that need this kind of correction and~.1em is a
+% good starting point. \Cref{tab:raisefiguredash} summarizes some findings.
+%
+% \begin{table}
+% \centering
+% \caption[Suggested raise amounts for \cs{figuredash}]%
+% {Suggested values for raising the en-dash between lining numerals of some selected
+% fonts.}
+% \label{tab:raisefiguredash}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}l>{\RaggedRight}p{20em}@{}}
+% \toprule
+% Raise & Font Name \\
+% em & \\
+% \midrule
+% 0 & Alegreya\index{font>Alegreya}, Arvo\index{font>Arvo},
+% Bitter\index{font>Bitter}, Clara\index{font>Clara},
+% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
+% Gentium\index{font>Gentium},
+% Ibarra Real Nova\index{font>Ibarra Real Nova},
+% \acronym{Inria}~Serif\index{font>Inria Serif=\acronym{Inria} Serif},
+% Libertine\index{font>Libertine}, Libertinus\index{font>Libertinus},
+% Merriweather\index{font>Merriweather},
+% \acronym{PT}~Serif\index{font>PT Serif=\acronym{PT} Serif},
+% Roboto Slab\index{font>Roboto Slab}, Spectral\index{font>Spectral},
+% \acronym{STIX}\index{font>STIX=\acronym{STIX}}, and many more \\
+% .05 & fbb\index{font>fbb}, Source Serif Pro\index{font>Source Serif Pro} \\
+% .0667 & Libre Baskerville\index{font>Libre Baskerville},
+% Crimson Pro\index{font>Crimson Pro},
+% Erewhon\index{font>Erewhon}, Droid Serif\index{font>Droid Serif} \\
+% .1 & \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
+% Libre Caslon\index{font>Libre Caslon},
+% Coelacanth\index{font>Coelacanth}, Crimson Pro\index{font>Crimson Pro},
+% Crimson Text\index{font>Crimson Text},
+% \TeX{} Gyre~Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella},
+% Quattrocento\index{font>},
+% \acronym{TX}~Fonts\index{font>TX Fonts=\acronym{TX} Fonts},
+% \acronym{ADF}~Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis},
+% and many more \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{table}
+%
+% Other macros may be redefined with \cs{figuredash} for a consistent appearance of the copy,
+% like, for example, \cs{citedash} (package~\packagename{cite}~\cite{package:cite}), or
+% \cs{crefrangeconjunction} (package~\packagename{cleveref}~\cite{package:cleveref}).
+%
+% \begin{usecase}
+% The key customers of \cs{figuredash} are the |PAGES|~entries of bibliography
+% databases.~\visualpar In an index generated with \command{makeindex} the range
+% delimiter~\code{delim\_r} is a candidate for \cs{figuredash*}.
+% \end{usecase}
+%
+%
+% \subsubsection[Multiplication Sign]%
+% {Multiplication Sign -- Times~\sample{\texttimes}}\label{sec:mult-sign}
+% \index{raised character>multiplication sign}
+%
+% \DescribeMacro{\capitaltimes}
+% The \cs{capitaltimes}~macro is a variation of the
+% \hyperref[syn:capitalhyphen]{\cs{capitalhyphen}}~theme.
+%
+% \begin{synopsis}\label{syn:capitaltimes}
+% \cs{capitaltimes}
+% \end{synopsis}
+%
+% In text mode it expands to an appropriately raised \cs{texttimes}, and in math~mode to a
+% raised \cs{times} binary~operator, where
+% \hyperref[item:raisecapitaltimes]{|raisecapitaltimes|} determines the amount of
+% upward-shifting applied; it never inserts any break points.
+%
+% \begin{usecase}
+% Prime use are two- or higher-dimensional shape specifications with lining numerals or
+% uppercase letters in mathematical mode as, for example, matrix or tensor sizes.
+% \end{usecase}
+%
+%
+% \subsubsection{Guillemets}\label{sec:guillemets}
+% \index{raised character>guillemets}
+%
+% Another possible typographic problem this package addresses is that both sets --~single and
+% double quotes~-- of guillemets may suffer from a too small distance to the baseline.
+%
+% For the implementation \packagename{typog} relies on the T1\footnote{Font
+% encoding~T1\index{font>encoding} can be forced via \cs{usepackage}|[T1]\{fontenc\}| in the
+% document preamble.}~font encoding not on package~\packagename{babel}.
+%
+%
+% \paragraph{Lowercase Versions.}
+% \DescribeMacro{\singleguillemetleft}
+% \DescribeMacro{\singleguillemetright}
+% \DescribeMacro{\doubleguillemetleft}
+% \DescribeMacro{\doubleguillemetright}
+% \begin{synopsis}\label{syn:singleguillemetleft}\label{syn:doubleguillemetleft}
+% \begin{tabbing}
+% \cs{singleguillemetleft}\qquad\= \cs{singleguillemetright} \\
+% \cs{doubleguillemetleft}\> \cs{doubleguillemetright}
+% \end{tabbing}
+% \end{synopsis}
+%
+% \noindent
+% For consistency and easy accessibility we define height-adjusted left and right single
+% guillemets as \cs{singleguillemetleft} and \cs{singleguillemetright}; double guillemets are
+% available with \cs{doubleguillemetleft} and \cs{doubleguillemetright}. Their heights above
+% the baseline are collectively adjusted with
+% \hyperref[item:raiseguillemets]{|raiseguillemets|}.
+%
+%
+% \paragraph{Uppercase Versions.}
+%
+% \DescribeMacro{\Singleguillemetleft}
+% \DescribeMacro{\Singleguillemetright}
+% \DescribeMacro{\Doubleguillemetleft}
+% \DescribeMacro{\Doubleguillemetright}
+% \begin{synopsis}\label{syn:Singleguillemetleft}\label{syn:Doubleguillemetleft}
+% \begin{tabbing}
+% \cs{Singleguillemetleft}\qquad\= \cs{Singleguillemetright} \\
+% \cs{Doubleguillemetleft}\> \cs{Doubleguillemetright}
+% \end{tabbing}
+% \end{synopsis}
+%
+% \noindent
+% The companion set of single, double, left, and right quotes corrected for uppercase letters
+% or lining numerals is \cs{Singleguillemetleft} and \cs{Singleguillemetright} and
+% \cs{Doubleguillemetleft} and \cs{doubleguillemetright}. Mnemonic: These macros start with an
+% uppercase letter. Their height above the baseline is adjusted with
+% \hyperref[item:raisecapitalguillemets]{|raisecapitalguillemets|}. Values of .025em to .075em
+% are typical for fonts that need this kind of correction. \Cref{tab:raiseguillemets}
+% summarizes some findings.
+%
+% \begin{table}
+% \centering
+% \caption[Suggested raise amounts for guillemets]%
+% {Suggested values for raising guillemets of some selected fonts.}
+% \label{tab:raiseguillemets}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}cc>{\RaggedRight}p{20em}@{}}
+% \toprule
+% \multicolumn{2}{@{}c}{Raise} & Font Name \\
+% Lowercase & Uppercase & \\
+% em & em & \\
+% \midrule
+% 0 & .05\hphantom{00} &
+% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
+% Libertinus\index{font>Libertinus},
+% Merriweather\index{font>Merriweather}, and many more \\
+% .025 & .05\hphantom{00} & Gentium\index{font>Gentium} \\
+% .04\hphantom{0} & .0667 &
+% \acronym{ADF}~Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} \\
+% .05\hphantom{0} & .0625 &
+% \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
+% \acronym{GFS}~Didot\index{font>GFS Didot=\acronym{GFS} Didot} \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{table}
+%
+% \begin{tip}
+% Define shorthand macros that simplify the application of guillemets, like, e.\,g.,
+%
+% \begin{codeexample}
+% \cs{newcommand*}\= \{\= \cs{singlequotes}\}[1] \\
+% \> \{\cs{singleguillemetright} \#1\% \\
+% \> \> \cs{singleguillemetleft}\} \\
+% \cs{let}\cs{sq}=\cs{singlequotes}
+% \end{codeexample}
+%
+% and similar definitions for \cs{Singlequotes}, \cs{doublequotes}, and~\cs{Doublequotes}.
+%
+% Users working according to the French typesetting conventions will want to add extra
+% spacing between the guillemets and the macro argument already in these macros.
+% \end{tip}
+%
+% \noindent
+% Whether the guillemets must be height-adjusted for lowercase letters depends on the font.
+% Careful judgment at various magnifications with a variety of samples is necessary.
+%
+%
+% \paragraph{Interaction with package~\packagename{csquotes}.}
+% \index{csquotes=\packagename{csquotes} (package)}
+%
+% The users of package~\packagename{csquotes}
+% can hook up the guillemets as defined by \packagename{typog}
+% with \cs{DeclareQuoteStyle}:
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{DeclareQuoteStyle}\{typog-guillemets\} \\
+% \> \{\cs{doubleguillemetright}\}\%\qquad\= opening outer mark \\
+% \> \{\cs{doubleguillemetleft}\}\% \> closing outer mark \\
+% \> \{\cs{singleguillemetright}\}\% \> opening inner mark \\
+% \> \{\cs{singleguillemetleft}\}\% \> closing inner mark
+% \end{codeexample}
+%
+% \noindent
+% As always, the influence of package~\packagename{babel} on \packagename{csquotes} has to be
+% put into consideration. See Sec.~8 of the \packagename{csquotes}~manual for a description of
+% its configuration possibilities.
+%
+% \begin{usecase}
+% All-capital words as for example acronyms put in guillemets that are raised somewhat almost
+% always look better, whether using the French typographic convention (guillemets pointing
+% outward plus some extra kerning) or the other way round (guillemets pointing inward).
+% \end{usecase}
+%
+% \begin{futuredirection}
+% A correction in the other direction, i.\,e., lowering certain characters may also be
+% desirable, to visually align them to the surrounding copy. Parentheses and in particular
+% square brackets around all-lowercase text come into mind.
+% \end{futuredirection}
+%
+%
+% \subsection[Align Last Line]
+% {Align Last Line of a Paragraph}\label{sec:align-last-line}
+% \index{paragraph>align last line}
+%
+% The usual algorithms of \LaTeX{} typeset the last line of a paragraph flush with the left
+% margin unless |center|, |raggedleft| or |Centering|, |FlushRight|
+% (package~\packagename{ragged2e}~\cite{package:ragged2e}) are in effect. For an instructive
+% discussion consult Ch.~17, \doublequotes{Paragraph End}, of Ref.~\citenum{eijkhout:2007}.
+% The following environments allow to adjust the last lines of paragraphs in different ways.
+%
+% \DescribeEnv{lastlineraggedleftpar}
+% \DescribeEnv{lastlineflushrightpar}
+% The environment |lastlineraggedleftpar|\index{paragraph>align last line>flush right} adjusts
+% the various skips such that the last lines of the paragraphs gets typeset flush with the
+% right margin.
+%
+% \begin{synopsis}\label{syn:lastlineraggedleftpar}\label{syn:lastlineflushrightpar}
+% \cs{begin}|{lastlineraggedleftpar}| \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{lastlineraggedleftpar}| \\[\smallskipamount]
+% |lastlineflushrightpar|~(alias)
+% \end{synopsis}
+%
+% The name |lastlineflushrightpar| is an alias for~\code{lastlineraggedleftpar}.
+%
+% \DescribeEnv{lastlinecenteredpar}
+% Center\index{paragraph>align last line>centered} the last lines of the paragraphs enclosed by
+% this environment.\footnote{Also compare the approach taken in Ref.~\citenum{wermuth:2018}.}
+%
+% \begin{synopsis}\label{syn:lastlinecenteredpar}
+% \cs{begin}|{lastlinecenteredpar}| \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{lastlinecenteredpar}|
+% \end{synopsis}
+%
+% \begin{usecases}
+% |lastlineflushrightpar|: Narrow, justified parts of the text put flush against the right
+% margin.~\visualpar |lastlinecenteredpar|: Table or figure captions typeset justified as
+% centered boxes.
+% \end{usecases}
+%
+%
+% \needtocspace
+% \subsection[Fill Last Line]
+% {Fill Last Line of a Paragraph}\label{sec:fill-last-line}
+% \index{paragraph>fill last line}
+%
+% The problem of when and how to \singlequotes{fill} the last line of a paragraph is quite
+% intricate. We first define the problem then we proceed to general purpose functions and we
+% close the section with specific environments to control the length of the last line.
+%
+%
+% \subsubsection{Problem Definition}
+%
+% Depending on the value of \cs{parindent}, either zero or nonzero, there may be the desire to
+% control the length of the last line of a paragraph.
+%
+% \iffalse
+%<*crookedparagraphs>
+prologues := 3;
+
+def draw_filled_rectangle(expr lower_left, upper_right, color) =
+ fill lower_left -- (xpart upper_right, ypart lower_left) --
+ upper_right -- (xpart lower_left, ypart upper_right) --
+ cycle
+ withcolor color;
+enddef;
+
+
+u := 100;
+
+em := 10;
+linelength := 2u;
+baselineskip := 1.2em;
+parskip := 3;
+parindent := 2.5em;
+
+cmykcolor line_color;
+line_color := (.08, 0, 0, .18); % cold silver
+
+color customred[];
+customred[1] := (.890, .282, .282);
+customred[2] := (.831, .110, .110);
+customred[3] := (.686, .043, .043);
+customred[4] := (.569, .000, .000);
+customred[5] := (.420, .000, .000);
+
+color margin_color;
+margin_color := customred[2];
+
+
+beginfig(1); % short line -- gap
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (1.1em, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((parindent, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -3baselineskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -3baselineskip), margin_color);
+endfig;
+
+
+beginfig(2); % short line -- covered
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (2parindent, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((parindent, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -3baselineskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -3baselineskip), margin_color);
+endfig;
+
+
+beginfig(3); % completely filled line -- no clear paragraph break
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip - parskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -3baselineskip - parskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -3baselineskip - parskip),
+ margin_color);
+endfig;
+
+
+beginfig(4); % completely filled line -- opened right margin
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - parindent, y + 1em), line_color);
+ y := y - baselineskip - parskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color);
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -3baselineskip - parskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -3baselineskip - parskip),
+ margin_color);
+endfig;
+end
+%</crookedparagraphs>
+% \fi
+%
+% \begin{enumerate}
+% \item\label{item:o1}
+% \(\cs{parindent} > 0\) \cite[O1]{wermuth:2018}
+%
+% \begin{minipage}{\linewidth}
+% If the last line of a paragraph is shorter than the \cs{parindent} of the following
+% paragraph a visual gap tears open.
+%
+% \begin{center}
+% \includegraphics{crooked-paragraphs-1.mps}
+% \end{center}
+% \end{minipage}
+%
+% The same problem arises with displayed math in a flush-left\footnote{The common practice of
+% centering displayed equations does not call for the manipulations of a paragraph's last
+% line discussed here.} setting, e.\,g., \packagename{amsmath}~\cite{package:amsmath} and
+% option~|fleqn|.\footnote{For displayed equations and \packagename{amsmath} the relevant
+% parameter is~\cs{mathindent}.}
+%
+% \begin{minipage}{\linewidth}
+% A possible remedy is to reflow the paragraph in a way that its last line is clearly wider
+% than \cs{parindent}; a typical suggestion being twice the~\cs{parindent}.
+%
+% \begin{center}
+% \includegraphics{crooked-paragraphs-2.mps}
+% \end{center}
+% \end{minipage}
+%
+% \item\label{item:o2}
+% \(\cs{parindent} = 0\) \cite[O2]{wermuth:2018}
+%
+% \begin{minipage}{\linewidth}
+% If the last line of a paragraph is completely filled with text, i.\,e., flush with the
+% right margin, it may become hard to spot the start of the following paragraph unless
+% \cs{parskip} is large.\footnotemark
+%
+% \begin{center}
+% \includegraphics{crooked-paragraphs-3.mps}
+% \end{center}
+% \end{minipage}\footnotetext{Package~\packagename{parskip} defines \cs{parskip}
+% as \mbox{6pt plus 2pt} for a base size of~10pt.}
+%
+% \medskip
+% \begin{minipage}{\linewidth}
+% A possible, more legible solution is to reformat the paragraph in a way such that its
+% last line leaves a marked gap with respect to the right margin.
+%
+% \begin{center}
+% \includegraphics{crooked-paragraphs-4.mps}
+% \end{center}
+% \end{minipage}
+%
+% The suggestions for the gap-width vary from two~em to twice the width of a
+% \singlequotes{typical} \cs{parindent}\footnote{% For example, \LaTeX's class
+% \packagename{article} uses a \cs{parindent} of~25pt.} for the gap~\cite{carlisle:1996}.
+% \end{enumerate}
+%
+% \begin{tip}
+% In theory both problems, O1 and O2 can be resolved by either shortening or prolonging the
+% last line of the paragraph. For the concrete case it is up to the user to decide which
+% direction to go and to choose the method that yields the most pleasing typographic results.
+%
+% \TeX{} always considers the paragraph in its entirety. Thus any change the user demands
+% \doublequotes{just for the last line} will permeate the whole paragraph and in unfortunate
+% cases botch it.
+%
+% Prudent users check the appearance of the problematic, original paragraph against one or
+% more corrected versions of it~-- at least visually. Quantitative comparisons can be
+% performed with the help of~\cs{tracingparagraphs}.
+% \end{tip}
+%
+% \begin{important}
+% For the techniques in the following two subsections to work the paragraphs treated with
+% them should have certain advantageous properties.
+%
+% \begin{itemize}
+% \item Technically, the paragraphs need to contain enough glue (see
+% e.\,g.~\cref{sec:sloppy-paragraphs}) to achieve a low badness such that the desired
+% paragraph end is deemed feasible by \TeX.
+%
+% \item Aesthetically, the paragraphs must be long enough to absorb the change in last-line
+% fill level otherwise their gray-values visibly deviate from the
+% average.\specialsectionendhere
+% \end{itemize}
+% \end{important}
+%
+%
+% \subsubsection{Manual Changes}\label{sec:fill-last-line-other-methods}
+%
+% Most \hyperref[item:o1]{O1} or \hyperref[item:o2]{O2} situations can be navigated with
+% do-it-yourself methods. Here are some common recipes.
+%
+% \begin{enumerate}
+% \item End-of-paragraph intervention.\label{enum:end-of-paragraph-intervention}
+%
+% \begin{enumerate}[notopsep]
+% \item Tie~\sample{\texttt{\char126}}\label{enum:tie-last-words}\index{paragraph>fill last line>tie}
+%
+% Tie the last words.
+%
+% The problem with the tie may be a hyphenation of one of the words that participates in
+% the tie. The next item avoids this disadvantage.
+%
+% \item \cs{mbox}\label{enum:mbox-last-words}\index{paragraph>fill last line>mbox=\cs{mbox}}
+%
+% Join the last words or inline equation at the end of the paragraph with an~\cs{mbox}.
+%
+% \item \cs{linebreak}\label{enum:linebreak}\index{paragraph>fill last line>linebreak=\cs{linebreak}}
+%
+% Add a \cs{linebreak} to the back part of the paragraph (approximately where the
+% \cs{mbox} of item~\ref{enum:mbox-last-words} would start) in a way that the last line
+% receives the desired length~\cite{wermuth:2022-8-2}. In turn the next-to-last lines
+% may become unsightly. Counteract this degradation e.\,g.~with
+% recipes~\ref{enum:vary-spacing} to~\ref{enum:vary-font-expansion}.
+% \end{enumerate}
+%
+% Tying and \cs{mbox}ing lend themselves to generalizations. We need not only tie at end of
+% a paragraph but fuse logical units of sentences or inline equations so that the relevant
+% information literally stays in the reader's focus. Cementing together text of course finds
+% an end when overfull lines start to show up.
+%
+% \item Uniform paragraph change.\label{enum:uniform-paragraph-change}
+%
+% \begin{enumerate}[notopsep]
+% \item Vary spacing.\label{enum:vary-spacing}\index{font>spacing}
+%
+% Modify the inter-word spacing, for example, with the macros introduced in
+% \cref{sec:looser-tighter-spacing}.
+%
+% Enclose the paragraph in either \hyperref[syn:loosespacing]{|loosespacing|}
+% or~\hyperref[syn:tightspacing]{|tightspacing|}.
+% Increase the spacing~\meta{level} until the last line gets the desired length.
+%
+% \item Vary font tracking.\label{enum:vary-font-tracking}\index{font>tracking}
+%
+% Enclose the paragraph in a \hyperref[syn:setfonttracking]{\code{setfonttracking}}~group.
+% See \cref{sec:tracking-control}. Increase or decrease the tracking in steps of
+% \nativetextfraction{1}{1000}\,em until the last line looks good.
+%
+% \item Vary font expansion.\label{enum:vary-font-expansion}\index{font>expansion}
+%
+% Enclose the paragraph in a \hyperref[syn:setfontexpand]{\code{setfontexpand}}~group. See
+% \cref{sec:font-expansion-control}.
+% \end{enumerate}
+%
+% \item A combination of any of the above items.
+%
+% \item Some curveballs.\label{enum:gonzo-tips}\par
+% \begin{enumerate}[notopsep]
+% \item If the paragraph already suffers from one of the problems that \TeX{} addresses with
+% \cs{doublehyphendemerits}, \cs{finalhyphendemerits}, or~\cs{adjdemerits}, crank up one or
+% all of these values to~10000 and observe whether the length of last line changes in the
+% desired direction.
+%
+% \item If any influential \packagename{microtype} features have been enabled try with one
+% more more of them \emph{disabled}. See, e.\,g.,
+% environment~\hyperref[syn:nofontexpansion]{\code{nofontexpansion}} in
+% \cref{sec:font-expansion-control}.
+% \end{enumerate}
+% \end{enumerate}
+%
+%
+% \subsubsection{Multi\capitalhyphen Purpose Environments}\label{sec:fill-last-line-gp-environments}
+%
+% \DescribeEnv{shortenpar}
+% \DescribeEnv{prolongpar}
+% The two environments |shortenpar|\index{paragraph>fill last
+% line>shortenpar=\code{shortenpar}} and |prolongpar|\index{paragraph>fill last
+% line>prolongpar=\code{prolongpar}} can be employed in quite general situations when a
+% paragraph should be typeset one line longer or shorter, e.\,g., to avoid a
+% widow~line\footnote{The last line of a paragraph becomes a \singlequotes{widow}\index{forlorn
+% line>widow} (ger.~\foreignphrase{Hurenkind}) if it starts the following page or column.} or
+% a club~line\footnote{The first line of a paragraph is called
+% \singlequotes{club}\index{forlorn line>club} or~\singlequotes{orphan}\index{forlorn
+% line>orphan} (ger.~\foreignphrase{Schusterjunge}) if it appears at the bottom of the page or
+% column.}~[\citenum{knuth:1986}, p.~104 and~\citenum{mittelbach:2018c}]. (See also
+% \cref{sec:vtie-paragraph} for special functions to avoid clubs or widows.)
+% \singlequotes{Accidentally}, they also change the length of the last line of the paragraph.
+%
+% \begin{synopsis}\label{syn:shortenpar}
+% \cs{begin}|{shortenpar}|
+% \dots{}
+% \cs{end}|{shortenpar}|
+% \end{synopsis}
+%
+% Environment |shortenpar| decreases the \cs{looseness} of the paragraph.\footnote{Command
+% \cs{looseness} is a \TeX{}~primitive~\cite[p.~103n]{knuth:1986}. A thorough discussion of
+% the interaction of \cs{linepenalty} and \cs{looseness} can be found in
+% Ref.~\citenum{wermuth:2017c}.} It performs well if the last line of the paragraph is short
+% or the whole paragraph is loose.
+%
+% \begin{synopsis}\label{syn:prolongpar}
+% \cs{begin}|{prolongpar}|
+% \dots{}
+% \cs{end}|{prolongpar}|
+% \end{synopsis}
+%
+% This environment increases the \cs{looseness} of the paragraph, which is why it works best
+% with decent or tight last lines that are almost full.
+%
+%
+% \subsubsection{Specialized Environments}\label{sec:fill-last-line-specialized-environments}
+%
+% We introduce environments not just skips to get the correct behavior --~set up all paragraph
+% parameters \emph{before} the paragraph ends~-- and, at the same time, limit the range of this
+% parameter change.
+%
+% \DescribeEnv{covernextindentpar}
+% Environment |covernextindentpar|\index{paragraph>fill last line>covernextindentpar=\code{covernextindentpar}}
+% can be helpful for \hyperref[item:o1]{case~O1}, i.\,e., a too short last line.
+%
+% \begin{synopsis}\label{syn:covernextindentpar}
+% \cs{begin}|{covernextindentpar}|\oarg{dim} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{covernextindentpar}|
+% \end{synopsis}
+%
+% The environment asks \TeX{} to extend the last line of a paragraph such that it takes at
+% least
+% \makeatletter\dumpmacro{\typog@covernextindentpar@nonzero@parindent}\makeatother{}
+% (if \(\cs{parindent} \not= 0\)),
+% \makeatletter\typog@covernextindentpar@zero@parindent\makeatother{}
+% (if \(\cs{parindent} = 0\)), or \meta{dim} if called with an optional argument.
+%
+% \DescribeEnv{openlastlinepar}
+% The next environment, |openlastlinepar|,\index{paragraph>fill last
+% line>openlastlinepar=\code{openlastlinepar}} takes care of \hyperref[item:o2]{case~O2},
+% i.\,e., a last line in a paragraph that is almost full or completely filled.
+%
+% \begin{synopsis}\label{syn:openlastlinepar}
+% \cs{begin}|{openlastlinepar}|\oarg{dim} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{openlastlinepar}|
+% \end{synopsis}
+%
+% It may resolve \hyperref[item:o2]{case~O2} as it attempts to prevent a completely filled line
+% by introducing a partly unshrinkable \cs{parfillskip}. Without optional argument the
+% threshold of unused last-line length is either
+% \makeatletter\dumpmacro{\typog@openlastlinepar@nonzero@parindent}\makeatother{} (if
+% \(\cs{parindent} \not= 0\)) or
+% \makeatletter\typog@openlastlinepar@zero@parindent\makeatother{} (if \(\cs{parindent} = 0\)).
+% The optional argument~\meta{dim} directly sets the gap threshold.
+%
+% Note that the application of this environment can be successful, this is, a completely filled
+% last line is avoided, but the result may be of \hyperref[item:o1]{type~O1} nonetheless.
+%
+%
+% \needtocspace
+% \Needspace{150pt}
+% \subsection{Spacing}\label{sec:spacing-control}\index{font>spacing}
+%
+% \begin{whittyquote}
+% 90~\% of design is typography. \\
+% And the other 90~\% is whitespace. \\
+% \capitalemdash*~\propername{Jeffrey Zeldman}
+% \end{whittyquote}
+%
+% \noindent
+% The functions described in this section rely only on plain \LaTeX. No extra packages are
+% required. Compare to the \packagename{microtype}-based functionality of
+% \cref{sec:microtype-frontend}.
+%
+%
+% \subsubsection[Looser\kernedslash Tighter]{Looser or Tighter Spacing}\label{sec:looser-tighter-spacing}\index{font>spacing>loose}\index{font>spacing>tight}
+%
+%
+% \begin{whittyquote}
+% Never try to adjust lines by squeezing or stretching the tracking. \\
+% Go for the subtle solution: adjust word spacing instead. \\
+% \capitalemdash*~\propername{Jan Middendorp}~\cite[p.~119]{middendorp:2014}
+% \end{whittyquote}
+%
+% \noindent
+% The environments in this section directly influence the spacing, this is, they change the
+% width and stretchability of the horizontal space.
+%
+% They at the one hand act gently by adjusting the spacing only by a small amount. On the
+% other hand they operate decidedly in controlling the glue associated with the adjusted space.
+% The latter also being important to ensure the monotonicity of the different \meta{level}s.
+% However, the strictly managed stretchability\slash shrinkability may lead to many overfull
+% boxes with \cs{fussy} or when applied to short lines.
+%
+% \DescribeEnv{loosespacing}
+% \DescribeEnv{tightspacing}
+% Environments |loosespacing| and |tightspacing| introduce four \meta{level}s of
+% \singlequotes{looseness} or \singlequotes{tightness}, where \meta{level}~=~0 disables the
+% functionalities. The higher the \meta{level} the looser or tighter the text will by typeset,
+% respectively.
+%
+% \begin{synopsis}\label{syn:loosespacing}
+% \cs{begin}|{loosespacing}|\oarg{level}
+% \dots{}
+% \cs{end}|{loosespacing}|
+% \end{synopsis}
+%
+% Environment~|loosespacing| increases the width of a space by the percentages given in the
+% \cref{tab:loosespacing}.
+%
+% \begin{SCtable}[10]
+% \caption[Spacing changes made by \code{loosespacing}]%
+% {Adjustments made by environment |loosespacing| to \cs{spaceskip}.
+% The mapping of \meta{level} to the exact skip definitions are
+% \(1 \mapsto \formatskip{1.05}{.5}{.1}\),
+% \(2 \mapsto \formatskip{1.1}{.5}{.1}\),
+% \(3 \mapsto \formatskip{1.2}{.6}{.2}\), and
+% \(\ge 4 \mapsto \formatskip{1.3}{.8}{.3}\),
+% where all factors scale with \cs{dimen2},
+% the current font's space-width.}
+% \label{tab:loosespacing}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}%
+% \begin{tabular}{@{}ccl@{}}
+% \toprule
+% \meta{level} & Adjustment & Comment \\
+% {} & \% & \\
+% \midrule
+% 0 & n/a & neutral \\
+% 1 & +5~ & default \\
+% 2 & +10 & \\
+% 3 & +20 & \\
+% \(\ge\)\:4 & +30 & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% The default level of |loosespacing| is~1.
+%
+% \begin{synopsis}\label{syn:tightspacing}
+% \cs{begin}|{tightspacing}|\oarg{level}
+% \dots{}
+% \cs{end}|{tightspacing}|
+% \end{synopsis}
+%
+% Environment~|tightspacing| decreases the width of a space by the percentages given in
+% \cref{tab:tightspacing}.
+%
+% \begin{SCtable}[10]
+% \caption[Spacing changes made by \code{tightspacing}]%
+% {Adjustments made by environment |tightspacing| to \cs{spaceskip}.
+% The mapping of \meta{level} to the exact skip definitions are
+% \(1 \mapsto \formatskip{.9875}{.0125}{.5\hphantom{000}}\)\!,
+% \(2 \mapsto \formatskip{.975}{.025}{.5\hphantom{00}}\)\!,
+% \(3 \mapsto \formatskip{.95}{.05}{.5\hphantom{0}}\)\!, and
+% \(\ge 4 \mapsto \formatskip{.9}{.1}{.5}\),
+% where all factors scale with \cs{dimen2},
+% the current font's space-width.}
+% \label{tab:tightspacing}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}%
+% \begin{tabular}{@{}ccl@{}}
+% \toprule
+% \meta{level} & Adjustment & Comment \\
+% {} & \% & \\
+% \midrule
+% 0 & n/a & neutral \\
+% 1 & ~{-}1.25 & default \\
+% 2 & ~{-}2.5~ & \\
+% 3 & ~{-}5\hphantom{.00} & \\
+% \(\ge\)\:4 & -10\hphantom{.00} & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% The default level of |tightspacing| is~1.
+%
+% \begin{note}
+% At a given \meta{level} the changes of |loosespacing| are much larger than those of
+% |tightspacing|.
+% \end{note}
+%
+% \begin{usecases}
+% Nudge line breaks or hyphenation points.~\visualpar Separate clashing descenders and
+% ascenders.~\visualpar Eliminate rivers.
+% \end{usecases}
+%
+%
+% \subsubsection{Wide Space}\label{sec:wide-space}\index{wide space}
+%
+% The \cs{widespace} macro and its companion \cs{narrowspace} derive their appearances from
+% several of the current font's \cs{fontdimen}\meta{number}s. \TeX{} addresses the latter by
+% integers, which is totally non-memnonic. Therefore, we play softball by first presenting
+% \cref{tab:fontdimen} that associates the \cs{fontdimen}\meta{number}s with their meanings and
+% also reports on their current values (for this document).\footnote{The association is given
+% in Appendix~F (p.~433) of Ref.~\citenum{knuth:1986}. For a concise and understandable
+% explanation of the \TeX~\cs{fontdimen} parameters consult Ref.~\citenum{carlisle:2013}.}
+%
+% \begin{SCtable}
+% \caption[\cs{fontdimen}\meta{number} parameters]
+% {The first column~\sample{\#} states the index of the \cs{fontdimen} parameter:
+% \meta{number}. Column~2 presents short descriptions of the
+% \cs{fontdimen}\meta{number} parameters. As examples, the values for the current
+% font are shown in column~3; they are normalized to the quad-size.\bottomstrut}
+% \label{tab:fontdimen}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}%
+% \ExplSyntaxOn
+% \def\straightfontdimen#1{\fp_eval:n {\the\fontdimen#1\font}}
+% \def\roundfontdimen#1{\fp_eval:n {round (1000 * \the\fontdimen#1\font) / 1000}}
+% \def\relativefontdimen#1{\fp_eval:n {round (1000 * \the\fontdimen#1\font / \the\fontdimen6\font) / 10}}
+% \ExplSyntaxOff
+%
+% \begin{tabular}{@{}lll@{}}
+% \toprule
+% \# & Description & Value \\
+% {} & & \multicolumn{1}{c}{\%} \\
+% \midrule
+% 1 & Slant per 1\,pt height & ~~\relativefontdimen1\topstrut \\
+% 2 & Interword space width & ~\relativefontdimen2 \\
+% 3 & Interword stretch & ~\relativefontdimen3 \\
+% 4 & Interword shrink & ~~\relativefontdimen4 \\
+% 5 & \sample{\itcorr{2}x\itcorr{2}} height & ~\relativefontdimen5 \\
+% 6 & \cs{quad} height & \relativefontdimen6 \\
+% 7 & Extra space width & ~~\relativefontdimen7 \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% \DescribeMacro{\widespace}
+% \DescribeMacro{\widespace*}
+% \sinceversion{Starred form since v0.2}
+% Typeset a wide, sentence-ending space as if in \cs{nonfrenchspacing}~mode. Consult
+% \Cref{tab:space-sizes} for a comparison of the various sizes.
+%
+% \begin{synopsis}\label{syn:widespace}
+% \cs{widespace} \\
+% \cs{widespace*}
+% \end{synopsis}
+%
+% The unstarred macro~\cs{widespace} inserts a space that is as wide as the font's
+% sentence-ending space in \cs{nonfrenchspacing}~mode, this is
+% \begin{equation*}
+% |\fontdimen2| + \cs{widespacestrength} \times |\fontdimen7|.
+% \end{equation*}
+%
+% \noindent
+% Its width is independent of any \cs{frenchspacing} or \cs{nonfrenchspacing}~settings, but
+% depends on \cs{widespacestrength} which defaults
+% to~\widespacestrength\widespace\marginnote{The sentence that ends with
+% \singlequotes{\widespacestrength} uses \cs{widespace} after the period.} The latter can be
+% overridden by the user to get a more or less pronounced effect.
+%
+% If |\fontdimen7| happens to be zero \cs{widespace} uses
+% \begin{equation*}
+% \cs{widespacescale} \times |\fontdimen2|
+% \end{equation*}
+%
+% \noindent
+% as width instead, where \cs{widespacescale} defaults to \widespacescale. The stretchability
+% and shrinkability of \cs{widespace} always are scaled with \cs{widespacescale}. The
+% \cs{widespacescale} too can be redefined by the user to achieve different effects.
+%
+% The starred form, \cs{widespace*}, unconditionally uses the \(|\fontdimen7| = 0\) code-path.
+%
+% \begin{usecase}
+% Useful as a sentence-ending space if, for example, the sentence ends in an abbreviation
+% with a period or decimal number without trailing digits \emph{and} the next sentence should
+% be delimited in a clearer way.~\visualpar Open tight lines with a series
+% of~\cs{widespace}s.\footnote{\label{fn:widespace}See also \doublequotes{Investigating the
+% badness of a paragraph} on \Cpageref{sec:investigating-paragraph-badness}.}
+% \end{usecase}
+%
+%
+% \subsubsection{Narrow Space}\label{sec:narrow-space}\index{narrow space}
+%
+% \DescribeMacro{\narrowspace}
+% \DescribeMacro{\narrowspace*}
+% \sinceversion{Since v0.2}
+% Typeset a narrow space. Consult \Cref{tab:space-sizes} for a comparison of the various
+% sizes.
+%
+% \begin{synopsis}\label{syn:narrowspace}
+% \cs{narrowspace} \\
+% \cs{narrowspace*}
+% \end{synopsis}
+%
+% The unstarred macro~\cs{narrowspace} inserts a narrow space with the width
+% \begin{equation*}
+% |\fontdimen2| - \cs{narrowspacestrength} \times |\fontdimen7|
+% \end{equation*}
+%
+% \noindent
+% if |\fontdimen7| is different from zero or otherwise
+% \begin{equation*}
+% \cs{narrowspacescale} \times |\fontdimen2|.
+% \end{equation*}
+%
+% \noindent
+% The starred version, \cs{narrowspace*}, unconditionally uses the \(\cs{fontdimen7} = 0\)
+% code-path. Refer to \Cref{tab:fontdimen} for the meanings of the various
+% \cs{fontdimen}~parameters.
+%
+% The stretchability and shrinkability of \cs{narrowspace} always get scaled with
+% \cs{narrowspacescale}. Both factors, \cs{narrowspacestrength} and \cs{narrowspacescale} can
+% be redefined by the user; their defaults are \narrowspacestrength{} and \narrowspacescale,
+% respectively.
+%
+% \begin{usecase}
+% Tighten loose lines with a series of~\cs{narrowspace}s.\footnote{Footnote
+% \ref{fn:widespace} again applies.}
+% \end{usecase}
+%
+% \begin{table}
+% \centering
+% \caption[Comparison of some space sizes]
+% {Exemplary comparison of standard \cs{space} versus \cs{narrowspace} and
+% \cs{widespace}. All values are relative to the size of the current font's quad
+% size. \cs{narrowspace} and \cs{widespace} use the package's defaults.~\visualpar
+% The upper values in the Width-column for \cs{narrowspace}, and \cs{widespace}
+% refer to the \(\cs{fontdimen7} \not= 0\) case and the lower ones to the
+% \(\cs{fontdimen7} = 0\) code-path.}
+% \label{tab:space-sizes}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}%
+% \ExplSyntaxOn
+% \def\relativedimen#1{\fp_eval:n {round (1000 * (#1) / \the\fontdimen6\font) / 10}}
+% \def\relativefontdimen#1{\relativedimen{\the\fontdimen#1\font}}
+% \ExplSyntaxOff
+% \def\nrows{1.75}
+%
+% \begin{tabular}{@{}llll@{}}
+% \toprule
+% Name & Width & Stretch & Shrink \\
+% {} & \% & \% & \% \\
+% \midrule
+% \multirow{\nrows}{*}{\cs{narrowspace}} &
+% \relativedimen{\the\fontdimen2\font - \narrowspacestrength * \the\fontdimen7\font} &
+% \multirow{\nrows}{*}{\relativedimen{\narrowspacescale * \the\fontdimen3\font}} &
+% \multirow{\nrows}{*}{\relativedimen{\narrowspacescale * \the\fontdimen4\font}} \\[-.25\normalbaselineskip]
+% {} & \relativedimen{\narrowspacescale * \the\fontdimen2\font} & & \\
+% \cs{space} & \relativefontdimen2 & \relativefontdimen3 & \relativefontdimen4 \\
+% \multirow{\nrows}{*}{\cs{widespace}} &
+% \relativedimen{\the\fontdimen2\font + \widespacestrength * \the\fontdimen7\font} &
+% \multirow{\nrows}{*}{\relativedimen{\widespacescale * \the\fontdimen3\font}} &
+% \multirow{\nrows}{*}{\relativedimen{\widespacescale * \the\fontdimen4\font}} \\[-.25\normalbaselineskip]
+% {} & \relativedimen{\widespacescale * \the\fontdimen2\font} & & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{table}
+%
+%
+% \subsection{\packagename{Microtype} Front\capitalhyphen End}\label{sec:microtype-frontend}
+% \index{microtype=\packagename{microtype} (package)}
+%
+% The functionalities are just front-ends of selected macros in
+% package~\packagename{microtype} -- welcome syntactic sugar.
+%
+% \begin{important}
+% All macros and environments introduced in this section require that
+% package~\packagename{microtype}~\cite{package:microtype} has been loaded, preferably
+% \emph{before} package~\packagename{typog}
+%
+% \begin{codeexample}
+% \cs{usepackage}[\meta{microtype-options}\dots]\{microtype\} \\
+% \cs{usepackage}[\meta{typog-options}\dots]\{typog\}
+% \end{codeexample}
+%
+% \noindent
+% in the document preamble.
+% \end{important}
+%
+%
+% \subsubsection{Tracking}\label{sec:tracking-control}\index{font>tracking}
+%
+% \begin{caution}
+% The tracking changes may interfere with implicit changes of tracking declared with
+% \cs{SetTracking}. Explicit calls to \cs{textls} remain in effect.
+% \end{caution}
+%
+% \noindent
+% \DescribeEnv{setfonttracking}
+% Override the default tracking for all fonts.
+%
+% \begin{synopsis}\label{syn:setfonttracking}
+% \cs{begin}|{setfonttracking}|\marg{delta} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{setfonttracking}|
+% \end{synopsis}
+%
+% The environment~|setfonttracking| manages a group for \cs{lsstyle} of
+% package~\packagename{microtype}. The change \meta{delta} in tracking is given as multiples
+% of \nativetextfraction{1}{1000}\,em. Positive as well as negative values of \meta{delta} are
+% allowed.
+%
+% See Sec.~5.3, \singlequotes{Tracking}, and~7, \doublequotes{Letterspacing revisited}, in the
+% documentation of \packagename{microtype}~\cite{package:microtype} for a detailed explanation.
+%
+% For font combinations involving monospaced fonts (\TeX{} lingo: typewriter) an overly large
+% spacing may show up at the borders where fonts change. This is caused by the calculation of
+% the \doublequotes{outer spacing} described in Sec.~5.3 of the \packagename{microtype}~manual.
+%
+% Use configuration variable~\hyperref[item:trackingttspacing]{\code{trackingttspacing}} to
+% reduce the outer spacing to a reasonable value either directly at package-load time
+%
+% \begin{codeexample}
+% \cs{usepackage}[trackingttspacing=\{250, 75, 50\}]\{typog\}
+% \end{codeexample}
+%
+% \noindent
+% or with the help of \cs{typogsetup} in the document \emph{preamble} (after loading
+% \packagename{microtype} and \packagename{typog})
+%
+% \begin{codeexample}
+% \cs{typogsetup}\{trackingttspacing=\{250, 75, 50\}\}
+% \end{codeexample}
+%
+% If the argument of option~\code{trackingttspacing} is omitted the outer spacing defaults to
+% \makeatletter\mbox{\typog@trackingttspacing}\makeatother.
+%
+% \begin{usecases}
+% Nudge line breaks or hyphenation points.~\visualpar Avoid clashes of descenders and
+% ascenders, e.\,g., for \cs{smash}ed symbols of inline math.~-- Think of
+% integrals.~\visualpar Control the length of the last line in a paragraph.
+% \end{usecases}
+%
+%
+% \subsubsection{Font Expansion}\label{sec:font-expansion-control}\index{font>expansion}
+%
+% \DescribeEnv{setfontshrink}
+% \DescribeEnv{setfontstretch}
+% Adjust the limits of either only stretchability or only shrinkability and zero the other
+% component, i.\,e., shrinkability and stretchability, respectively.
+%
+% \begin{synopsis}\label{syn:setfontshrink}\label{syn:setfontstretch}
+% \cs{begin}|{setfontshrink}|\marg{level}
+% \dots{}
+% \cs{end}|{setfontshrink}| \\
+% \cs{begin}|{setfontstretch}|\marg{level}
+% \dots{}
+% \cs{end}|{setfontstretch}|
+% \end{synopsis}
+%
+% A \meta{level} of zero is a no-op. \Cref{tab:setfontshrink-values,tab:setfontstretch-values}
+% summarize the values for |stretch| and |shrink| in these environments.
+%
+% \begin{SCtable}
+% \caption[Shrink values of \code{setfontshrink}]%
+% {\slightlysloppy[2] Preconfigured values for |shrink| inside of
+% environment~\code{setfontshrink}. Note that all |stretch| values are zero, so the fonts
+% only can shrink.}
+% \label{tab:setfontshrink-values}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}cccl@{}}
+% \toprule
+% \meta{level} & |stretch| & |shrink| & Comment \\
+% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \midrule
+% 0 & n/a & n/a & no operation \\
+% 1 & 0 & \hphantom{0}\makeatletter\typog@shrink@i\makeatother & default \\
+% 2 & 0 & \makeatletter\typog@shrink@ii\makeatother & \\
+% 3 & 0 & \makeatletter\typog@shrink@iii\makeatother & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% \begin{SCtable}
+% \centering
+% \caption[Stretch values of \code{setfontstretch}]%
+% {\slightlysloppy[2] Preconfigured values for |stretch| inside of
+% environment~\code{setfontstretch}. Note that all |shrink| values are zero, so the fonts
+% only can stretch.}
+% \label{tab:setfontstretch-values}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}cccl@{}}
+% \toprule
+% \meta{level} & |stretch| & |shrink| \\
+% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \midrule
+% 0 & n/a & n/a & no operation \\
+% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & 0 & default \\
+% 2 & \makeatletter\typog@stretch@ii\makeatother & 0 & \\
+% 3 & \makeatletter\typog@stretch@iii\makeatother & 0 & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% The three (nonzero) shrink limits of \code{setfontshrink} can be configured with package
+% option~\hyperref[item:shrinklimits]{\code{shrinklimits}} and --~in the same way~-- the three
+% (nonzero) stretch limits of \code{setfontstretch} with package
+% option~\hyperref[item:stretchlimits]{\code{stretchlimits}}.
+%
+% \begin{usecases}
+% Nudge line breaks or hyphenation points.~\visualpar Control the length of the last line in
+% a paragraph.
+% \end{usecases}
+%
+% \noindent
+% \DescribeEnv{setfontexpand}
+% Manipulate both, |stretch| and |shrink|~values at the same time.
+%
+% \begin{synopsis}\label{syn:setfontexpand}
+% \cs{begin}|{setfontexpand}|\marg{level}
+% \dots{}
+% \cs{end}|{setfontexpand}|
+% \end{synopsis}
+%
+% \Cref{tab:setfontexpand-values} gives an overview of the values associated with \meta{level}.
+%
+% \begin{SCtable}
+% \caption[Shrink and stretch values of \code{setfontexpand}]%
+% {\slightlysloppy[2] Preconfigured values for |shrink| and |stretch| inside of
+% environment~\code{setfontexpand}. Note that both |shrink| and |stretch| values are
+% nonzero, so the fonts can shrink or expand.}
+% \label{tab:setfontexpand-values}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}cccl@{}}
+% \toprule
+% \meta{level} & |stretch| & |shrink| & Comment \\
+% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \midrule
+% 0 & n/a & n/a & no operation \\
+% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & default \\
+% 2 & \makeatletter\typog@stretch@ii\makeatother & \makeatletter\typog@stretch@ii\makeatother & \\
+% 3 & \makeatletter\typog@stretch@iii\makeatother & \makeatletter\typog@stretch@iii\makeatother & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{SCtable}
+%
+% The six shrink and stretch limits of \code{setfontexpand} can be configured with package
+% options~\hyperref[item:shrinklimits]{\code{shrinklimits}}
+% and~\hyperref[item:stretchlimits]{\code{stretchlimits}}.
+%
+% \begin{notes}
+% \begin{itemize}[notopsep]
+% \item Environment~|setfontexpand| shares its
+% \hyperref[item:shrinklimits]{\code{shrinklimits}} with \code{setfontshrink} and its
+% \hyperref[item:stretchlimits]{\code{stretchlimits}} with \code{setfontstretch}.
+%
+% \item These environments do not nail down any font's expansion but only set up its
+% available range. See Sec.~3.3, \doublequotes{Font Expansion}, in the
+% \packagename{microtype} documentation~\cite{package:microtype}.
+%
+% Moreover, a text may not \singlequotes{respond} neither to \code{setfontshrink},
+% \code{setfontstretch}, nor~\code{setfontexpand} because \TeX{} already considers it
+% optimal without expansion or within the previous expansion limits, e.\,g., those set at
+% \packagename{microtype} load~time as opposed to \packagename{typog}'s
+% load~time.\specialsectionendhere
+% \end{itemize}
+% \end{notes}\unskip
+%
+% \begin{usecases}
+% Nudge line breaks or hyphenation points.~\visualpar Control the length of a paragraph,
+% e.\,g., to avoid a widow.
+% \end{usecases}
+%
+% \noindent
+% \DescribeEnv{nofontexpansion}
+% Disable the \packagename{microtype} feature~\singlequotes{expansion} inside of the
+% environment.
+%
+% \begin{synopsis}\label{syn:nofontexpansion}\label{syn:nofontexpand}
+% \cs{begin}|{nofontexpansion}|
+% \dots{}
+% \cs{end}|{nofontexpansion}| \\[\smallskipamount]
+% |nofontexpand|~(alias)
+% \end{synopsis}
+%
+% The name |nofontexpand| is an alias for~|nofontexpansion|.
+%
+% \begin{usecases}
+% Nudge line breaks or hyphenation points.~\visualpar Prevent severe scaling effects in
+% paragraphs strongly manipulated by other means, e.\,g.,
+% \hyperref[syn:shortenpar]{\code{shortenpar}}
+% or~\hyperref[syn:prolongpar]{\code{prolongpar}}.
+% \end{usecases}
+%
+%
+% \subsubsection{Character Protrusion}\label{sec:protrusion}\index{font>protrusion}
+%
+% \DescribeEnv{nocharprotrusion}
+% Disable the \packagename{microtype} feature~\singlequotes{protrusion} inside of the
+% environment.
+%
+% \begin{synopsis}\label{syn:nocharprotrusion}
+% \cs{begin}|{nocharprotrusion}|
+% \dots{}
+% \cs{end}|{nocharprotrusion}|
+% \end{synopsis}
+%
+% \begin{usecases}
+% Table of Contents or similar tables with aligned section numbers.~\visualpar Any table with
+% left- or right-aligned numerals in particular tabular numerals.~\visualpar Index.
+% \end{usecases}
+%
+%
+% \FloatBarrier
+% \subsection{Sloppy Paragraphs}\label{sec:sloppy-paragraphs}\index{paragraph>sloppy}
+%
+% Experienced \LaTeX{} users know that \cs{sloppy} is more of a problem by itself and not
+% really a viable solution of the \doublequotes{overfull~box} syndrome.
+%
+% \DescribeMacro{\slightlysloppy}
+% \DescribeEnv{slightlysloppypar}
+% We define the macro~\cs{slightlysloppy} and the associated environment,
+% \code{slightlysloppypar}, with a user-selectable \meta{sloppiness} parameter. The
+% constructions recover the known settings \cs{fussy} (\meta{sloppiness}~=~0) and \cs{sloppy}
+% (\meta{sloppiness}~\(\ge\)~8), and introduce seven intermediate
+% \meta{sloppiness}~levels.\footnote{Also compare the findings for \cs{emergencystretch} in
+% Ref.~\citenum{wermuth:2017a}.} The default \meta{sloppiness} is 1.
+%
+% \begin{synopsis}\label{syn:slightlysloppy}\label{syn:slightlysloppypar}
+% \cs{slightlysloppy}\oarg{sloppiness} \\[\smallskipamount]
+% \cs{begin}|{slightlysloppypar}|\oarg{sloppiness} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{slightlysloppypar}|
+% \end{synopsis}
+%
+% \Cref{tab:slightlysloppy} summarizes the adjustments that \cs{slightlysloppy} makes depending
+% on the \meta{sloppiness}~level.
+%
+% \begin{table}
+% \centering
+% \caption[Parameter adjustments of \cs{slightlysloppy}]%
+% {Adjustments made by \cs{slightlysloppy} to various \TeX~parameters at different
+% levels of \meta{sloppiness}.}
+% \label{tab:slightlysloppy}
+%
+% \newcommand*{\tolerancemark}{\tablenotemark{\dag}}%
+% \newcommand*{\scaledmark}{\tablenotemark{\ddag}}%
+%
+% \begin{suspendshortverb}
+% \begin{tabfigures}
+% \begin{tabular}{@{}ccccl@{}}
+% \toprule
+% \meta{sloppiness} & \cs{toler-} & \cs{hfuzz} & \cs{emergency-} & Comment \\
+% {} & \code{ance} & \cs{vfuzz} & \code{stretch}~\(G\) & \\
+% {} & & pt & em & \\
+% \midrule
+% 0 & \hphantom{0}200\hphantom{\tolerancemark} & .1\hphantom{0} & 0\hphantom{.000\scaledmark} & \TeX: \verb+\fussy+ \\
+% 1 & \hphantom{0}330\tolerancemark & .15 & \hphantom{0}.375\scaledmark & default \\
+% 2 & \hphantom{0}530\tolerancemark & .2\hphantom{0} & \hphantom{0}.75\scaledmark\hphantom{0} & \\
+% 3 & \hphantom{0}870\tolerancemark & .25 & 1.125\scaledmark & \\
+% 4 & 1410\tolerancemark & .3\hphantom{0} & 1.5\scaledmark\hphantom{00} & \\
+% 5 & 2310\tolerancemark & .35 & 1.875\scaledmark & \\
+% 6 & 3760\tolerancemark & .4\hphantom{0} & 2.25\scaledmark\hphantom{0} & \\
+% 7 & 6130\tolerancemark & .45 & 2.625\scaledmark & \\
+% \(\ge\)\:8 & 9999\hphantom{\tolerancemark} & .5\hphantom{0} & 3\hphantom{.000\scaledmark} & \TeX: \verb+\sloppy+ \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+% \end{suspendshortverb}
+%
+% \begin{tablenotes}
+% \tolerancemark\enspace
+% All intermediate levels set \(\cs{pretolerance} = \cs{tolerance} / 2\).
+%
+% \scaledmark\enspace
+% The intermediate levels scale the amount of available glue~\(G\) (indicated in column~4
+% of the table) for \cs{emergencystretch} with the actual line length, this means, in these
+% levels
+% \begin{equation*}
+% \cs{emergencystretch} = G \times \frac{\cs{linewidth}}{\cs{textwidth}}.
+% \end{equation*}
+% to prevent excessive stretchability in narrow lines.
+% \end{tablenotes}
+% \end{table}
+%
+% Environment~|slightlysloppypar|\oarg{sloppiness} mimics \LaTeX's~\code{sloppypar}, while
+% offering the flexibility of~\cs{slightlysloppy}.
+%
+% \begin{usecases}
+% Drop-in replacement for \cs{sloppy}, whether explicit or implicit (think of
+% \cs{parbox}).~\visualpar Initial paragraphs in theorem environments (e.\,g., as defined by
+% \packagename{amsmath} or \packagename{amsthm}), where the theorem~head already takes a lot
+% of space.~\visualpar Bibliographies as environment~\code{thebibliography} sets~\cs{sloppy}.
+% \end{usecases}
+%
+%
+% \FloatBarrier
+% \subsection{Vertically Partially-Tied Paragraphs}\label{sec:vtie-paragraph}\index{paragraph>vertically tied}
+%
+% \LaTeX{} provides several macros and environments to tie material vertically~-- most
+% prominently |samepage| and |minipage|.\footnote{A valuable complement to these is
+% package~\packagename{needspace}~\cite{package:needspace} which takes a different approach and
+% reliably works in \emph{mixed} horizontal and vertical mode situations.}
+% \packagename{Typog's} macros and environments constitute more sophisticated but weaker forms
+% of these. They tie only the first or last couple of lines in a paragraph while the rest of
+% the paragraph gets broken into pages by \TeX{} in the usual way.
+%
+% The macros and environments described in this section locally set \eTeX{} penalty
+% arrays~\cite[Sec.~3.8]{package:etex}. In addition the environments~\code{vtietoppar},
+% \code{vtiebotpar}, and~\code{vtiebotdisptoppar} explicitly issue a \cs{par} at the end of the
+% group.
+%
+% \DescribeMacro{\vtietop}
+% \DescribeEnv{vtietoppar}
+% Avoid a club\index{forlorn line>club} line in each partial paragraph.
+%
+% \begin{synopsis}\label{syn:vtietop}\label{syn:vtietoppar}
+% \cs{vtietop}\oarg{number-of-lines} \\[\smallskipamount]
+% \cs{begin}|{vtietoppar}|\oarg{number-of-lines}
+% \dots{}
+% \cs{end}|{vtietoppar}|
+% \end{synopsis}
+%
+% Vertically tie the first \meta{number\hyp{}of\hyp{}lines} in a paragraph. Zero or one for
+% \meta{number\hyp{}of\hyp{}lines} are no-ops. Up to nine lines can be fused. The default is
+% to link three lines.
+%
+% \begin{usecases}
+% String together the first paragraph right after a sectioning command.~\visualpar Tie the
+% first line of an itemized, enumerated, or a description list\index{list} with the paragraph
+% following~\cs{item}.
+% \end{usecases}
+%
+% \noindent
+% \DescribeMacro{\splicevtietop}
+% Inside of a \code{list} a one-off solution simply concatenates \cs{item}[\dots]\cs{vtietop}
+% to fuse the line with the \code{item\#}, the representation of the \code{enum\#}, or the
+% description term with the first paragraph. For a systematic use prefer \cs{splicevtietop}
+% and apply it as the first thing in the \code{list}~body.
+%
+% \begin{synopsis}\label{syn:splicevtietop}
+% \cs{splicevtietop}\oarg{number-of-lines}
+% \end{synopsis}
+%
+% Use this macro \emph{inside} of a \code{list}-like environment to equip each \cs{item} with
+% \cs{vtietop}\oarg{number-of-lines}. The default \meta{number-of-lines} is three as for any
+% of the \code{vtie\dots}~functions.
+%
+% Example for a \code{description}~list and plain \LaTeX:
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{begin}\{description\} \\
+% \> \cs{splicevtietop}[2] \\
+% \> \cs{item}[...] \\
+% \cs{end}\{description\}
+% \end{codeexample}
+%
+% Alternatively with package~\packagename{enumitem}~\cite{package:enumitem}:
+%
+% \begin{codeexample}
+% 12\=\kill
+% \cs{begin}\= \{description\}[first=\cs{splicevtietop[2]}] \\
+% \> \cs{item}[...] \\
+% \cs{end}\{description\}
+% \end{codeexample}
+%
+% \noindent
+% or shorter and with the default \meta{number-of-lines},~3, using the \packagename{enumitem}
+% style\footnote{The documentation of \packagename{enumitem} prosaically calls them
+% \singlequotes{keys} (Section~3) not \singlequotes{styles}.}~\code{vtietop}:
+%
+% \DescribeEnumItemKey{vtietop}
+% \begin{codeexample}
+% \cs{usepackage}\{enumitem\} \\
+% \cs{begin}\= \{description\}[vtietop] \\
+% ~~\cs{item}[...] \\
+% \cs{end}\{description\}
+% \end{codeexample}
+%
+% \medskip
+%
+% \noindent
+% \DescribeMacro{\vtiebot}
+% \DescribeEnv{vtiebotpar}
+% Avoid a widow\index{forlorn line>widow} line in each partial paragraph.
+%
+% \begin{synopsis}\label{syn:vtiebot}\label{syn:vtiebotpar}
+% \cs{vtiebot}\oarg{number-of-lines} \\[\smallskipamount]
+% \cs{begin}|{vtiebotpar}|\oarg{number-of-lines}
+% \dots{}
+% \cs{end}|{vtiebotpar}|
+% \end{synopsis}
+%
+% Vertically tie the last \meta{number\hyp{}of\hyp{}lines} in a paragraph. Zero or one for
+% \meta{number\hyp{}of\hyp{}lines} are no-ops. Up to nine lines can be fused. The default is
+% to link three lines.
+%
+% \noindent
+% \DescribeEnv{vtiebotdisp}
+% Avoid a display widow\index{forlorn line>display widow} line in each partial paragraph.
+%
+% \begin{synopsis}\label{syn:vtiebotdisp}\label{syn:vtiebotdisppar}
+% \cs{begin}|vtiebotdisp|\oarg{before-disp-number-of-lines} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{vtiebotdisp}|
+% \end{synopsis}
+%
+% Vertically tie the last \meta{before\hyp{}disp\hyp{}number\hyp{}of\hyp{}lines} in a paragraph
+% before a display. Zero or one for \meta{before\hyp{}disp\hyp{}number\hyp{}of\hyp{}lines} are
+% no-ops. Up to nine lines can be fused. The default is to link three lines.
+%
+% To use the function bracket the paragraph before the display (the one that needs protection)
+% and the associated displayed math:
+%
+% \begin{codeexample}
+% \cs{begin}\{vtiebotdisp\} \\
+% ~~\% vertically tied paragraph before the math display \\
+% ~~\cs{begin}\{equation\} \\
+% ~~~~\% math \\
+% ~~\cs{end}\{equation\} \\
+% \cs{end}\{vtiebotdisp\}
+% \end{codeexample}
+%
+% \DescribeEnv{vtiebotdisptoppar}
+% Avoid a display widow, compound the display with its preceding \emph{and} following
+% paragraph, and avoid a club line in the paragraph right after the display.
+%
+% \begin{synopsis}\label{syn:vtiebotdisptop}\label{syn:vtiebotdisptoppar}
+% \begin{tabbing}
+% \cs{begin}|{vtiebotdisptoppar}|\= \oarg{before-disp-number-of-lines} \\
+% \> \oarg{after-disp-number-of-lines} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{vtiebotdisptoppar}|
+% \end{tabbing}
+% \end{synopsis}
+%
+% Vertically tie the last \meta{before\hyp{}disp\hyp{}number\hyp{}of\hyp{}lines} in the
+% paragraph before a display and the first
+% \meta{after\hyp{}disp\hyp{}number\hyp{}of\hyp{}lines} in the paragraph after the display.
+% Moreover, turn the paragraphs and the display into an un-breakable unit.\footnote{The
+% paragraphs and the display are concreted together by setting both \cs{predisplaypenalty}
+% and~\cs{postdisplaypenalty} to~10000.}
+%
+% Zero or one for \meta{before-disp-number\hyp{}of\hyp{}lines} as well as
+% \meta{after\hyp{}disp\hyp{}number\hyp{}of\hyp{}lines} are no-ops for the respective
+% paragraph. Up to nine lines each can be fused.
+%
+% Both optional arguments default to three. If only the first argument is given the second
+% acquires the same value.
+%
+%
+% To use the function bracket the paragraphs before and after the display:
+%
+% \begin{codeexample}
+% \cs{begin}\{vtiebotdisptoppar\} \\
+% ~~\% vertically tied paragraph before the math display \\
+% ~~\cs{begin}\{equation\} \\
+% ~~~~\% math \\
+% ~~\cs{end}\{equation\} \\
+% ~~\% vertically tied paragraph after the math display \\
+% \cs{end}\{vtiebotdisptoppar\}
+% \end{codeexample}
+%
+% \smallskip
+%
+% \noindent
+% See also \cref{sec:fill-last-line-gp-environments} for other methods to avoid club or widow
+% lines.
+%
+% \begin{typoginspectpar}{partial-paragraphs}
+% \setlength{\smoothraggedrightragwidth}{8pt}
+% \paragraph{Partial Paragraphs And Counting Lines.} The top-of-paragraph ties, \cs{vtietop}
+% and \code{vtietoppar} count \meta{number\hyp{}of\hyp{}lines} from the beginning of every
+% partial paragraph. Each displayed math in the paragraph resets the count. The
+% bottom-paragraph ties, \cs{vtiebot}, \code{vtiebotpar}, \cs{vtiebotdisp}, and
+% \code{vtiebotdisppar} count backward from the end of each partial paragraph. Again, each
+% displayed math in the paragraph resets the count. According to \TeX's rules, a displayed
+% math formula always is counted as \emph{three} lines no matter its contents.
+% \Cref{tab:partial-paragraph-line-counts} summarizes these rules with the help of an
+% example.
+% \end{typoginspectpar}
+%
+% \begin{table}
+% \centering
+% \caption[Partial paragraph line counts]
+% {Exemplary, eight-line paragraph compounded of two partial paragraphs of three and
+% two lines and a displayed math formula of arbitrary size sandwiched in between.}
+% \label{tab:partial-paragraph-line-counts}
+%
+% \newcommand*{\clubmark}{\tablenotemark{\dag}}
+% \newcommand*{\widowmark}{\tablenotemark{\ddag}}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}clcc@{}}
+% \toprule
+% Continuous & Example & \cs{vtietop}\clubmark & \cs{vtiebot}\widowmark \\
+% Line Number & Contents & Count & Count \\
+% \midrule
+% 1 & Text line\textsubscript{1} & 1 & 3 \\
+% 2 & Text line\textsubscript{2} & 2 & 2 \\
+% 3 & Text line\textsubscript{3} & 3 & 1 \\
+% 4 & & & \\
+% 5 & \(\smash{\Biggr\}}\) \parbox[c][0pt]{3.5em}{Display \\[-.12em] math} & & \\
+% 6 & & & \\
+% 7 & Text line\textsubscript{4} & 1 & 2 \\
+% 8 & Text line\textsubscript{5} & 2 & 1 \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \clubmark\enspace
+% This is \eTeX's counting scheme of \cs{clubpenalties}; it also holds for
+% \code{vtietoppar}.
+%
+% \widowmark\enspace
+% The same counting scheme also holds for \code{vtiebotpar}, \cs{vtiebotdisp},
+% and~\code{vtiebotdisppar}. It is implied by \eTeX's line counts of \cs{widowpenalties}
+% and~\cs{displaywidowpenalties} on which the functions of this package are based.
+% \end{tablenotes}
+% \end{table}
+%
+% \begin{tips}
+% \begin{itemize}[notopsep]
+% \item The environments can be combined to arrive at paragraphs that simultaneously are
+% protected against club lines and (display) widow lines.
+%
+% \item For very long derivations that are not interrupted and thus made breakable with the
+% help of \cs{intertext}\footnote{Introduced in
+% package~\packagename{amsmath}~\cite{package:amsmath}.} or
+% \cs{shortintertext}\footnote{Defined in
+% package~\packagename{mathtools}~\cite{package:mathtools}.} it is desirable to make the
+% display breakable. This is achieved with \cs{allowdisplaybreaks} or the
+% environment~\code{breakabledisplay} which will be described
+% in~\cref{sec:breakable-display}.\specialsectionendhere
+% \end{itemize}
+% \end{tips}\unskip
+%
+% \begin{usecases}
+% Fix widows and orphans, e.\,g., those turned up by
+% package~\packagename{widows-and-orphans}~\cite{package:widows-and-orphans}.~\visualpar
+% Extend the typographic convention of \doublequotes{three to four lines instead of a single
+% club or widow line} to a context-dependent number of lines that tries to keep all (well,
+% dream on) the information together the reader needs at that particular point.
+% \end{usecases}
+%
+%
+% \FloatBarrier
+% \subsection{Breakable Displayed Equations}\label{sec:breakable-display}\index{page break}
+%
+% \DescribeEnv{breakabledisplay}
+% Package~\packagename{amsmath}\index{amsmath=\packagename{amsmath} (package)} offers
+% \cs{allowdisplaybreaks} to render displayed equations breakable at each of their lines.
+% Environment~\cs{breakabledisplay} is a wrapper around it which limits the macro's influence
+% to the environment. Furthermore, the default \meta{level} of \code{breakabledisplay} is~3
+% whereas that of \cs{allowdisplaybreaks} is~4. This makes \code{breakabledisplay} less eager
+% to break a displayed equation and thus better suited to full automation of the page-breaking
+% process.
+%
+% \begin{synopsis}\label{syn:breakabledisplay}
+% \cs{begin}|{breakabledisplay}|\oarg{level} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{breakabledisplay}|
+% \end{synopsis}
+%
+% Environment~|breakabledisplay| simply passes on \meta{level} to \cs{allowdisplaybreaks}.
+% \Cref{tab:allowdisplaybreaks-penalties} shows the default penalties that
+% \packagename{amsmath} associated with each of the \meta{level}s.
+%
+% \begin{table}
+% \centering
+% \caption[Env.~\code{breakabledisplay} and \cs{interdisplaylinepenalty}]%
+% {Penalties~\cs{interdisplaylinepenalty} associated with different \meta{level}s of
+% environment~\code{breakabledisplay}. Depending on the version of
+% package~\packagename{amsmath} the actual penalties may differ.}
+% \label{tab:allowdisplaybreaks-penalties}
+%
+% \newcommand*{\clubmark}{\tablenotemark{\dag}}
+%
+% \begin{tabfigures}
+% \begin{tabular}{@{}ccl@{}}
+% \toprule
+% \meta{level} & \cs{interdisplay-} & Comment \\
+% {} & \code{linepenalty} & \\
+% \midrule
+% 0 & 10000 & no operation \\
+% 1 & \hphantom{0}9999 & \\
+% 2 & \hphantom{0}6999 & \\
+% 3 & \hphantom{0}2999 & default \\
+% 4 & \hphantom{0000}0\rlap{\clubmark} & \\
+% \bottomrule
+% \end{tabular}
+% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \clubmark\enspace
+% This is the default of \cs{allowdisplaybreaks}.
+% \end{tablenotes}
+% \end{table}
+%
+% \begin{tips}
+% \begin{itemize}[notopsep]
+% \item Terminating a line with \code{\textbackslash\textbackslash*} inhibits a break after
+% this line.
+%
+% \item A \cs{displaybreak}\oarg{level} can be set for \emph{each} line of the displayed
+% equation separately. \LaTeX{} resumes with the original value of
+% \cs{interdisplaylinepenalty} in the following lines.
+%
+% \item If a discretionary break of the displayed equation is to be accompanied with some aid
+% for the reader, team \cs{intertext} (or \cs{shortintertext}) with \cs{displaybreak} as,
+% e.\,g.,
+%
+% \begin{codeexample}
+% \cs{newcommand*}\{\cs{discretionarydisplaybreak}\} \\
+% 12\=3\=\kill
+% \> \{ \> \cs{intertext}\{\cs{hfill} Eq.\textasciitilde cont.\textasciitilde on next page.\}\% \\
+% \> \> \cs{displaybreak} \\
+% \> \> \cs{intertext}\{Eq.\textasciitilde cont.\textasciitilde
+% from prev.\textasciitilde page.\cs{hfill}\}\}\specialsectionendhere
+% \end{codeexample}
+% \end{itemize}
+% \end{tips}\unskip
+%
+% \begin{usecases}
+% Extremely long derivations without interspersed \cs{intertext} or
+% \cs{shortintertext}.~\visualpar Draft phase of a document.
+% \end{usecases}
+%
+%
+% \FloatBarrier
+% \clearpage
+% \subsection{\packagename{Setspace} Front-End}\label{sec:setspace-frontend}
+%
+% Package \packagename{setspace} \cite{package:setspace} is a base hit when it comes to
+% consistently setting the line skip for a document via the macro~\cs{setstretch}. The
+% interface of \cs{setstretch} though is unintuitive as it asks for an obscure
+% factor.\fontsizeinfo{setspacefontsizeinfo}\marginnote{In the copy of this document gets
+% typeset with~\setspacefontsizeinfo*.} The \LaTeX{} user however prefers to keep her eyes on
+% the ball and set the line skip\index{baseline skip} directly (e.\,g.~12.5pt) or the lines'
+% leading\index{leading} to a length or percentage of the font's size.\footnote{To find out
+% about the current font's size and the \cs{baselineskip} in printable form check out
+% \cref{sec:font-information} on \cpageref{sec:font-information}.} This is where the following
+% macros go to bat.
+%
+% \begin{important}
+% All macros that are introduced in this section rely on macro~\cs{setstretch}. So
+% package~\packagename{setspace} must have been loaded with
+%
+% \begin{codeexample}
+% \cs{usepackage}\{setspace\}
+% \end{codeexample}
+%
+% \noindent
+% in the document preamble.
+% \end{important}
+%
+% \DescribeMacro{\setbaselineskip}
+% \sinceversion{Since v0.3}
+% Set the line skip using an absolute length -- technically: a |dimen|.
+%
+% \begin{synopsis}\label{syn:setbaselineskip}
+% \cs{setbaselineskip}\marg{baseline-skip}
+% \end{synopsis}
+%
+% Set the \cs{baselineskip} to \meta{baseline-skip}. This is what a non-initiated user expects
+% from the assignment
+%
+% \begin{codeexample}
+% \cs{setlength}\{\cs{baselineskip}\}\{\meta{baseline-skip}\}
+% \end{codeexample}
+%
+% The \meta{baseline-skip} can contain a rubber (stretch/shrink) component, however,
+% \cs{setbaselineskip} will discard of it and issue a warning that only the fixed-length part
+% will be used in the computation.
+%
+% \begin{example}
+% Let us assume we want to lighten the gray value of the copy a tad with a \cs{baselineskip}
+% increased (from e.g.~12pt) to~12.5pt. To this end we say:
+%
+% \begin{codeexample}
+% \cs{setbaselineskip}\{12.5pt\}\specialsectionendhere
+% \end{codeexample}
+% \end{example}
+%
+% \begin{tip}
+% To set the \cs{baselineskip} relative to the current value use
+%
+% \begin{codeexample}
+% \cs{setbaselineskip}\{\meta{factor}\cs{baselineskip}\}
+% \end{codeexample}
+%
+% \noindent
+% where \meta{factor} is a floating-point number.
+% \end{tip}
+%
+% \DescribeMacro{\resetbaselineskip}
+% \sinceversion{Since v0.3}
+% Reset the \cs{baselineskip} to its original value.
+%
+% \begin{synopsis}\label{syn:resetbaselineskip}
+% \cs{resetbaselineskip}
+% \end{synopsis}
+%
+% This macro simply expands to |\setstretch{1}|. So, we rely on \packagename{setspace}'s
+% notion of what is a single-line \cs{baselineskip}.
+%
+%
+% \DescribeMacro{\setbaselineskippercentage}
+% \sinceversion{Since v0.3}
+% Set the \cs{baselineskip} with a relative value calculated as a percentage of the current
+% font's design size.
+%
+% \begin{synopsis}\label{syn:setbaselineskippercentage}
+% \cs{setbaselineskippercentage}\marg{baselineskip-percentage}
+% \end{synopsis}
+%
+% Set \cs{baselineskip} to \(\cs{typogfontsize} \times \meta{baselineskip-percentage} / 100\).
+%
+% \begin{example}
+% We modify the previous example and assume a font design size of 10pt, but now write
+%
+% \begin{codeexample}
+% \cs{setbaselineskippercentage}\{125\}
+% \end{codeexample}
+%
+% \noindent
+% which sets \cs{baselineskip} to \(10\text{pt} \times 125 / 100 = 12.5\text{pt}\).
+% \end{example}
+%
+% \DescribeMacro{\setleading}
+% \sinceversion{Since v0.3}
+% Set the \cs{baselineskip} with an absolute length that gets \emph{added to} \cs{typogfontsize}.
+%
+% \begin{synopsis}\label{syn:setleading}
+% \cs{setleading}\marg{leading}
+% \end{synopsis}
+%
+% Set the \cs{baselineskip} to \cs{typogfontsize} plus \meta{leading}. Note that
+% \meta{leading} can be negative, e.\,g.~to set solid.
+%
+% \begin{example}
+% Another solution of the previous example, given a font design size of 10pt is to write
+%
+% \begin{codeexample}
+% \cs{setleading}\{2.5pt\}
+% \end{codeexample}
+%
+% \noindent
+% which sets \cs{baselineskip} to \(10\text{pt} + 2.5\text{pt} = 12.5\text{pt}\).
+% \end{example}
+%
+% \DescribeMacro{\setleadingpercentage}
+% \sinceversion{Since v0.3}
+% Set the \cs{baselineskip} to \cs{typogfontsize} \emph{plus} a relative value calculated as a
+% percentage of \cs{typogfontsize}.
+%
+% \begin{synopsis}\label{syn:setleadingpercentage}
+% \cs{setleadingpercentage}\marg{leading-percentage}
+% \end{synopsis}
+%
+% Set \cs{baselineskip} to \(\cs{typogfontsize} \times (1 + \meta{leading-percentage} / 100)\).
+%
+% \begin{example}
+% We modify the previous example and again assume a font design size of 10pt, but now write
+%
+% \begin{codeexample}
+% \cs{setleadingpercentage}\{25\}
+% \end{codeexample}
+%
+% \noindent
+% which sets \cs{baselineskip} to \(10\text{pt} \times (1 + 25 / 100) = 12.5\text{pt}\).
+% \end{example}
+%
+% \smallskip
+%
+% \DescribeLaTeXDimen{\typogfontsize}
+% \sinceversion{Since v0.3}
+% The macros \cs{setbaselineskippercentage}, \cs{setleading}, and \cs{setleadingpercentage} all
+% depend on the font size. By changing \cs{typogfontsize} they can be configured for different
+% font sizes.
+%
+% The length \cs{typogfontsize} gets initialized at the end of the preamble to the default
+% font's quad size:\footnote{For an overview of the various
+% \cs{fontdimen}\meta{number}~parameters consult \cref{tab:fontdimen} on
+% \cpageref{tab:fontdimen}.}
+%
+% \begin{codeexample}
+% \cs{typogfontsize}=\cs{fontdimen6}\cs{font}
+% \end{codeexample}
+%
+% \noindent
+% which is also called its \doublequotes{nominal size} or its \doublequotes{design size}. This
+% assignment can be repeated at any point in the document to record a reference font's size.
+% To set just \cs{typogfontsize} without changing the current font, encapsulate the font change
+% in a group and export the new value:
+%
+% \begin{codeexample}
+% \cs{begingroup} \\
+% ~~\cs{usefont}\{T1\}\{Arvo-TLF\}\{m\}\{n\}\cs{selectfont} \\
+% ~~\cs{normalsize} \\
+% ~~\cs{global}\cs{typogfontsize}=\cs{fontdimen6}\cs{font} \\
+% \cs{endgroup}
+% \end{codeexample}
+%
+% An alternative to relying on the design size is using the actual size of an uppercase letter:
+%
+% \begin{codeexample}
+% \cs{settoheight}\{\cs{typogfontsize}\}\{CEMNORSUVWXZ\}
+% \end{codeexample}
+%
+% \noindent
+% With \cs{typogfontsize} defined this way it becomes trivial to set solid:
+%
+% \begin{codeexample}
+% \cs{setleading}\{0pt\}
+% \end{codeexample}
+%
+% \noindent
+% or
+%
+% \begin{codeexample}
+% \cs{setleadingpercentage}\{0\}
+% \end{codeexample}
+%
+% \begin{tip}
+% All macros in this section actually accept expressions of their respective argument types,
+% though the sick rules of \TeX{} \meta{dimen}- and \meta{skip}-expressions apply.
+%
+% Here are some forms that do work:
+%
+% \begin{codeexample}
+% \cs{setbaselineskip}\{12pt + 0.6667pt\} \\
+% \cs{setbaselineskip}\{12pt * 110 / 100\} \\
+% \cs{setbaselineskippercentage}\{100 + 25\} \\
+% \cs{setleading}\{1pt / -2.0\} \\
+% \cs{setleadingpercentage}\{10 - 25 / 2\}\specialsectionendhere
+% \end{codeexample}
+% \end{tip}
+%
+%
+% \FloatBarrier
+% \clearpage
+% \subsection{Smooth Ragged}\label{sec:smooth-ragged}\index{ragged right}
+%
+% \begin{whittyquote}
+% The attention someone gives \\
+% to what he or she makes \\
+% is reflected in the end result, \\
+% whether it is obvious or not. \\
+% \capitalemdash*~\propername{Erik Spiekermann}
+% \end{whittyquote}
+%
+% \noindent
+% Package \packagename{typog} implements a novel approach to typeset ragged paragraphs.
+% Instead of setting the glue inside of a paragraph to zero and letting the line-widths vary
+% accordingly~\cite{wermuth:2020} we prescribe the line-widths with the \cs{parshape}~primitive
+% and leave alone the stretchability or shrinkability of the glue.
+%
+% \begin{slightlysloppypar}
+% \hangindent=5.5em\hangafter=-5
+% \DescribeEnv{smoothraggedrightshapetriplet}
+% \DescribeEnv{smoothraggedrightshapequintuplet}
+% \DescribeEnv{smoothraggedrightshapeseptuplet}
+% We introduce three environments that allow for setting three, five, or seven different
+% line-lengths: \code{smoothraggedrightshapetriplet},
+% \code{smoothraggedrightshapequintuplet}, and \code{smoothraggedrightshapeseptuplet}; they
+% work for paragraphs up to
+% \makeatletter
+% \typog@triplet@max@lines, \typog@quintuplet@max@lines, or \typog@septuplet@max@lines~lines,
+% \makeatother
+% respectively.
+% \end{slightlysloppypar}
+%
+%
+% \begin{maxipage}
+% \begin{synopsis}\label{syn:smoothraggedrightshapetriplet}\label{syn:smoothraggedrightshapequintuplet}\label{syn:smoothraggedrightshapeseptuplet}
+% \cs{begin}|{smoothraggedrightshapetriplet}|\oarg{option\dots}\marg{width1}\marg{width2}\marg{width3} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{smoothraggedrightshapetriplet}| \\[\smallskipamount]
+% \cs{begin}|{smoothraggedrightshapequintuplet}|\oarg{option\dots}\marg{width1}\marg{width2}\dots\marg{width5} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{smoothraggedrightshapequintuplet}| \\[\smallskipamount]
+% \cs{begin}|smoothraggedrightshapeseptuplet|\oarg{option\dots}\marg{width1}\marg{width2}\dots\marg{width7}
+% \hspace*{1em}\dots \\
+% \cs{end}|{smoothraggedrightshapeseptuplet}|
+% \end{synopsis}
+% \end{maxipage}
+%
+% The environments take \(N\) = 3, 5, or~7 mandatory line-width parameters, where each
+% \meta{width\itcorr{3}I}, \(I = 1,\dots, N\) is a skip, i.\,e.,~a dimen that can include some
+% glue.
+%
+%
+% \paragraph{Options}
+%
+% \begin{description}[style=nextline]
+% \item[|leftskip=|\meta{dim}]
+% Set the left margin for the smooth ragged paragraph to \meta{dim}. Similar to the \TeX{}
+% parameter~\cs{leftskip}.
+%
+% \item[|parindent=|\meta{dim}]
+% Set the first-line indent for the smooth ragged paragraph to \meta{dim}. Similar to the
+% \TeX{} parameter~\cs{parindent}.
+% \end{description}
+%
+% \noindent
+% \DescribeEnv{smoothraggedrightpar}
+% Environment~|smoothraggedrightpar| builds upon the three generators. It typesets a single
+% paragraph with a given \meta{ragwidth} of the ragged, right margin, where the rag~width is
+% the length-difference of the longest and the shortest lines.
+%
+% \begin{synopsis}\label{syn:smoothraggedrightpar}
+% \cs{begin}|{smoothraggedrightpar}|\oarg{option\dots} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{smoothraggedrightpar}|
+% \end{synopsis}
+%
+% The line lengths equally divide the ragged margin, i.\,e., they are arithmetic means with
+% respect to the generator size.
+%
+% \iffalse
+%<*smoothparshapes>
+prologues := 3;
+
+def draw_filled_rectangle(expr lower_left, upper_right, color) =
+ fill lower_left -- (xpart upper_right, ypart lower_left) --
+ upper_right -- (xpart lower_left, ypart upper_right) --
+ cycle
+ withcolor color;
+enddef;
+
+
+u := 100;
+
+em := 10;
+linelength := 2u;
+baselineskip := 1.2em;
+parskip := 3;
+parindent := 2.5em;
+ragwidth := 2em;
+
+cmykcolor line_color;
+line_color := (.08, 0, 0, .18); % cold silver
+
+color customred[];
+customred[1] := (.890, .282, .282);
+customred[2] := (.831, .110, .110);
+customred[3] := (.686, .043, .043);
+customred[4] := (.569, .000, .000);
+customred[5] := (.420, .000, .000);
+
+color margin_color;
+margin_color := customred[2];
+
+
+beginfig(1); % triplet
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth/2, y + 1em), line_color); % (2)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth/2, y + 1em), line_color); % (2)
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -5baselineskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -5baselineskip), margin_color);
+endfig;
+
+
+beginfig(2); % quintuplet
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength - .75ragwidth, y + 1em), line_color); % (2)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (5)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .5ragwidth, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .25ragwidth, y + 1em), line_color); % (4)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .75ragwidth, y + 1em), line_color); % (2)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (5)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .5ragwidth, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .25ragwidth, y + 1em), line_color); % (4)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -9baselineskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -9baselineskip), margin_color);
+endfig;
+
+
+beginfig(3); % septuplet
+ y := 0;
+ draw_filled_rectangle((0, y), (linelength - .6667ragwidth, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .1667ragwidth, y + 1em), line_color); % (6)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .3333ragwidth, y + 1em), line_color); % (5)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .8333ragwidth, y + 1em), line_color); % (2)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (7)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .5ragwidth, y + 1em), line_color); % (4)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .6667ragwidth, y + 1em), line_color); % (3)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .1667ragwidth, y + 1em), line_color); % (6)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - ragwidth, y + 1em), line_color); % (1)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .3333ragwidth, y + 1em), line_color); % (5)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .8333ragwidth, y + 1em), line_color); % (2)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength, y + 1em), line_color); % (7)
+ y := y - baselineskip;
+ draw_filled_rectangle((0, y), (linelength - .5ragwidth, y + 1em), line_color); % (4)
+
+ draw_filled_rectangle((-.667em, 1em), (-.333em, -13baselineskip), margin_color);
+ draw_filled_rectangle((linelength + .333em, 1em), (linelength + .667em, -13baselineskip), margin_color);
+endfig;
+end
+%</smoothparshapes>
+% \fi
+%
+% \begin{itemize}[noindent]
+% \item
+% \begin{minipage}[t]{\linewidth}
+% The triplet generator repeats a \emph{short~line -- long~line -- middle-length~line}
+% sequence. Shown below are two complete cycles.
+%
+% \begin{center}
+% \includegraphics{smooth-parshapes-1.mps}
+% \end{center}
+% \end{minipage}
+%
+% \item
+% \begin{minipage}[t]{\linewidth}
+% The quintuplet generator varies the theme of the triplets and avoids the
+% \singlequotes{ladder} of lines~2\figuredash3\figuredash4 (or, if numbered by
+% cycle:~1.2\figuredash1.3\figuredash2.1) there. Shown here are two cycles.
+%
+% \begin{center}
+% \includegraphics{smooth-parshapes-2.mps}
+% \end{center}
+% \end{minipage}
+%
+% \item
+% \begin{minipage}[t]{\linewidth}
+% The septuplet generator uses a permutation that looks \singlequotes{random}. At least it
+% hides the boundaries of cycles well. Shown here are two of them.
+%
+% \begin{center}
+% \includegraphics{smooth-parshapes-3.mps}
+% \end{center}
+% \end{minipage}
+% \end{itemize}
+%
+% \noindent
+% \DescribeEnv{smoothraggedright}
+% Environment~|smoothraggedright| is the multi-paragraph version of
+% \code{smoothraggedrightpar}. It takes the same optional arguments.
+%
+% \begin{synopsis}\label{syn:smoothraggedright}
+% \cs{begin}|{smoothraggedright}|\oarg{option\dots} \\
+% \hspace*{1em}\dots \\
+% \cs{end}|{smoothraggedright}|
+% \end{synopsis}
+%
+%
+% \paragraph{Options}
+%
+% \begin{description}[style=nextline]
+% \item[|linewidth=|\meta{dim}]
+% Override the length of the longest line. The default line-width is \cs{linewidth}.
+% \end{description}
+%
+%
+% \paragraph{Global Parameters}
+%
+% \begin{description}[style=nextline]
+% \item[\cs{smoothraggedrightfuzzfactor}=\meta{factor}]
+% The environment adds glue to every line-width\footnote{The shortest line only gets
+% stretchability, the longest only receives shrinkability. All other lines are both
+% stretchable and shrinkable.} to achieve a more convincing \doublequotes{ragged appearance}
+% and to reduce the number of overfull lines. The algorithm divides the smooth margin into
+% 3, 5, or~7 parts depending on the chosen \cs{smoothraggedrightgenerator} (see below). The
+% \cs{smoothraggedrightfuzzfactor} is the amount of glue of each line expressed as a multiple
+% of the distance between the division points. The default of 1.0 means to add as much glue
+% such that the lines just do not overlap (assuming justification is feasible).
+%
+% \item[\cs{smoothraggedrightgenerator}]
+% Select a generator to use. Valid generator names:
+% \begin{itemize}[noitemsep]
+% \item |triplet|,
+% \item |quintuplet|,
+% \item |septuplet|.
+% \end{itemize}
+%
+% The default generator is |triplet|.
+%
+% \item[\cs{smoothraggedrightleftskip}=\meta{dim}]
+% Value for |leftskip| to pass to the generator. Default:~0pt.
+%
+% \item[\cs{smoothraggedrightparindent}=\meta{dim}]
+% Value for |parindent| to pass to the generator. Default:~0pt.
+%
+% \item[\cs{smoothraggedrightragwidth}=\meta{dim}]
+% Value for the width of the ragged right margin. Default:~2em.
+% \end{description}
+%
+% \begin{usecases}
+% Replacement for \cs{RaggedRight}~\cite{package:ragged2e}.~\visualpar Design alternative for
+% fully justified paragraphs if used with a small rag-width.
+% \end{usecases}
+%
+%
+% \addtocontents{toc}{\par\bigskip\hfill\textit{Table of Contents continued on next page.}}
+% \addtocontents{toc}{\clearpage}
+%
+%
+% \sectionfinish
+% \clearpage
+% \section{Other Packages for Fine \LaTeX~Typography}\label{sec:other-typography-packages}
+%
+% Many other packages help with getting better output from \LaTeX. Here is a list --~in
+% alphabetical order~-- of the ones the author considers particularly valuable.
+%
+% \sbox{\listlabelbox}{\packagename{microtype}}
+% \begin{description}[font=\normalfont, labelsep*=1em, labelwidth=\wd\listlabelbox, leftmargin=!]
+% \item[\packagename{enumitem}]
+% Flexible and consistent definition of all basic \LaTeX-list types plus inline
+% lists~\cite{package:enumitem}.
+%
+% \item[\packagename{geometry}]
+% Powerful and sophisticated setup of the page layout~\cite{package:geometry}. Best
+% accompanied by \packagename{layout}~\cite{package:layout} to visualize the page geometries.
+%
+% \item[\packagename{hyphenat}]
+% Hyphens that do not inhibit further auto-hyphenation of a compound
+% word~\cite{package:hyphenat}.
+%
+% \item[\packagename{microtype}]
+% Fine control of spacing, tracking, sidebearings, character protrusion into the margins,
+% font expansion, and much more~\cite{package:microtype}.
+%
+% See also \propername{Khirevich's} discussion~\cite{khirevich:2013}.
+%
+% \item[\packagename{ragged2e}]
+% Improved versions of environments |raggedleft|, |raggedright|, and
+% |center|~\cite{package:ragged2e}.
+%
+% \item[\packagename{setspace}]
+% Consistently set the document's line-spacing, i.\,e.,
+% \cs{baselineskip}~\cite{package:setspace}.
+% \end{description}
+%
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+% \MaybeStop{
+% \sectionfinish
+% \clearpage
+% \section{typog-grep}
+% \label{app:typog-grep}
+%
+% The companion program \programname{typog-grep} for analyzing the output of
+% \hyperref[syn:typoginspect]{\code{typoginspect}} and
+% \hyperref[syn:typoginspect]{\code{typoginspectpar}} has its own manual page. We reproduce
+% it here for completeness of the documentation.
+%
+% \begin{suspendshortverb}
+% \setlength{\parindent}{0pt}
+% \setlength{\parskip}{6.0pt plus 2.0pt minus .5pt}
+% \input typog-grep
+% \end{suspendshortverb}
+%
+% \sectionfinish
+% \clearpage
+% \phantomsection
+% \resetfancyhead
+% \addcontentsline{toc}{section}{Change History}
+% \PrintChanges
+%
+% \sectionfinish
+% \clearpage
+% \phantomsection
+% \addcontentsline{toc}{section}{References}
+% \begin{RaggedRight}
+% \begin{thebibliography}{88}
+% \bibitem{abrahams:2020}
+% \bibauthor{Abrahams, Paul~W.},
+% \bibauthor{Hargreaves, Kathryn~A.,} and
+% \bibauthor{Karl Berry}.
+% \bibtitle{\TeX{} for the Impatient}.
+% 2020,
+% \biburl{http://tug.ctan.org/info/impatient/book.pdf}.
+%
+% \bibitem{package:amsmath}
+% \bibauthor{American Mathematical Society} and the
+% \bibauthor{\LaTeXIII\ Project Team}.
+% \bibtitle{Package~\packagename{amsmath}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/amsmath}.
+%
+% \bibitem{package:cite}
+% \bibauthor{Arseneau, Donald}.
+% \bibtitle{Package~\packagename{cite}}.
+% 2015,
+% \biburl{https://ctan.org/pkg/cite}.
+%
+% \bibitem{package:enumitem}
+% \bibauthor{Bezos, Javier}.
+% \bibtitle{Package~\packagename{enumitem}}.
+% 2019,
+% \biburl{https://ctan.org/pkg/enumitem}.
+%
+% \bibitem{package:babel}
+% \bibauthor{Bezos, Javier}.
+% \bibtitle{Package~\packagename{babel}}.
+% 2021,
+% \biburl{https://ctan.org/pkg/babel}.
+% The original author of package~\packagename{babel} was \bibauthor{J. L. Braams}.
+%
+% \bibitem{package:etex}
+% \bibauthor{Breitenlohner, Peter} and
+% the \bibauthor{\(\mathcal{N\kern-.1em\raisebox{-.2em}{T}\kern-.1emS}\)~Team}.
+% \bibtitle{\eTeX}.
+% 1998,
+% \biburl{https://mirrors.ctan.org/systems/doc/etex/etex_man.pdf}.
+%
+% \bibitem{carlisle:1996}
+% \bibauthor{Carlisle, David}.
+% \bibtitle{Russian Paragraph Shapes}.
+% Baskerville, 6(1), 13\figuredash15,
+% 1996,
+% \biburl{http://uk-tug-archive.tug.org/wp-installed-content/uploads/2008/12/61.pdf}.
+%
+% \bibitem{carlisle:2013}
+% \bibauthor{Carlisle, David}.
+% \bibtitle{What do different \cs{fontdimen<num>} mean}.
+% 2013\figuredash*1\figuredash*2,
+% \biburl{https://tex.stackexchange.com/questions/88991/what-do-different-fontdimennum-mean}.
+%
+% \bibitem{package:cleveref}
+% \bibauthor{Cubitt, Toby}.
+% \bibtitle{Package~\packagename{cleveref}}.
+% 2018,
+% \biburl{https://ctan.org/pkg/cleveref}.
+%
+% \bibitem{eijkhout:2007}
+% \bibauthor{Eijkhout, Victor}.
+% \bibtitle{\TeX\ By Topic, A Texnician's Reference}.
+% 2007,
+% \biburl{https://www.eijkhout.net/tex/tex-by-topic.html}.
+%
+% \bibitem{package:mathtools}
+% \bibauthor{H{\o}gholm, Morten},
+% \bibauthor{Madsen, Lars} and
+% the \bibauthor{\LaTeXIII\ Project Team}.
+% \bibtitle{Package~\packagename{mathtools}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/mathtools}.
+%
+% \bibitem{khirevich:2013}
+% \bibauthor{Khirevich, Siarhei}.
+% \bibtitle{Tips on Writing a Thesis in \LaTeX}.
+% 2013,
+% \biburl{http://www.khirevich.com/latex/microtype}.
+%
+% \bibitem{knuth:1986}
+% \bibauthor{Knuth, Donald Ervin}.
+% \bibtitle{The \TeX{}book}.
+% Addison Wesley, Reading\kernedslash MA,
+% 1986.
+%
+% \bibitem{package:layout}
+% \bibauthor{McPherson, Kent}.
+% \bibtitle{Package~\packagename{layout}}.
+% 2014,
+% \biburl{https://ctan.org/pkg/layout}.
+% The package was converted to \LaTeXe\ by \bibauthor{J. L. Braams}
+% and modified by \bibauthor{H. Umeki}.
+%
+% \bibitem{middendorp:2014}
+% \bibauthor{Middendorp, Jan}.
+% \bibtitle{Shaping Text}.
+% \acronym{BIS}~publishers, Amsterdam,
+% 2014.
+%
+% \bibitem{mittelbach:2018c}
+% \bibauthor{Mittelbach, Frank}.
+% \bibtitle{Managing forlorn paragraph lines (a.\,k.\,a.~widows and orphans) in \LaTeX}.
+% TUGboat, 39(3), 246\figuredash251, 2018,
+% \biburl{https://tug.org/TUGboat/tb39-3/tb123mitt-widows.pdf}.
+%
+% \bibitem{package:widows-and-orphans}
+% \bibauthor{Mittelbach, Frank}.
+% \bibtitle{Package~\packagename{widows-and-orphans}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/widows-and-orphans}.
+%
+% \bibitem{package:hyperref}
+% \bibauthor{Rahtz, Sebastian,} and \bibauthor{Frank Mittelbach}.
+% \bibtitle{Package~\packagename{hyperref}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/hyperref}.
+% The package is maintained by the \LaTeXIII~Project Team.
+%
+% \bibitem{package:microtype}
+% \bibauthor{Schlicht, Robert}.
+% \bibtitle{Package~\packagename{microtype}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/microtype}.
+%
+% \bibitem{package:ragged2e}
+% \bibauthor{Schr\"oder, Martin}.
+% \bibtitle{Package~\packagename{ragged2e}}.
+% 2019,
+% \biburl{https://ctan.org/pkg/ragged2e}.
+%
+% \bibitem{solomon:1990}
+% \bibauthor{Solomon, David}.
+% \bibtitle{Output Routines: Examples and Techniques. Part~I: Introduction and Examples}.
+% TUGboat, 11(1), 69\figuredash85, 1990,
+% \biburl{http://www.tug.org/TUGboat/Articles/tb11-1/tb27salomon.pdf}.
+%
+% \bibitem{package:setspace}
+% \bibauthor{Tobin, Geoffrey,} and \bibauthor{Robin Fairbairns}.
+% \bibtitle{Package~\packagename{setspace}}.
+% 2011,
+% \biburl{https://ctan.org/pkg/setspace}.
+%
+% \bibitem{package:geometry}
+% \bibauthor{Umeki, Hideo}.
+% \bibtitle{Package~\packagename{geometry}}.
+% 2020,
+% \biburl{https://ctan.org/pkg/geometry}.
+%
+% \bibitem{wermuth:2016}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{Tracing paragraphs}.
+% TUGboat, 37(3), 358\figuredash373, 2016,
+% \biburl{https://tug.org/TUGboat/tb37-3/tb117wermuth.pdf}.
+%
+% \bibitem{wermuth:2017a}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{The optimal value for \cs{emergencystretch}}.
+% TUGboat, 38(1), 65\figuredash86, 2017,
+% \biburl{https://tug.org/TUGboat/tb38-1/tb118wermuth.pdf}.
+%
+% \bibitem{wermuth:2017c}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{A note on \cs{linepenalty}}.
+% TUGboat, 38(3), 400\figuredash414, 2017,
+% \biburl{https://tug.org/TUGboat/tb38-3/tb120wermuth.pdf}.
+%
+% \bibitem{wermuth:2018}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{Experiments with \cs{parfillskip}}.
+% TUGboat, 39(3), 276\figuredash303, 2018,
+% \biburl{https://tug.org/TUGboat/tb39-3/tb123wermuth-parfillskip.pdf}.
+%
+% \bibitem{wermuth:2020}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{An attempt at ragged-right typesetting}.
+% TUGboat, 41(1), 73\figuredash94, 2020,
+% \biburl{https://tug.org/TUGboat/tb41-1/tb127wermuth-ragged.pdf}.
+%
+% \bibitem{wermuth:2022-8-2}
+% \bibauthor{Wermuth, Udo}.
+% Personal communication.
+% August~2, 2022.
+%
+% \bibitem{wermuth:2023}
+% \bibauthor{Wermuth, Udo}.
+% \bibtitle{Vertical alignments in plain \TeX}.
+% TUGboat, 44(3), 427\figuredash440, 2023,
+% \biburl{https://tug.org/TUGboat/tb44-3/tb138wermuth-valign.pdf}.
+%
+% \bibitem{package:hyphenat}
+% \bibauthor{Wilson, Peter}.
+% \bibtitle{Package~\packagename{hyphenat}}.
+% 2004,
+% \biburl{https://ctan.org/pkg/hyphenat}.
+% The package is maintained by \bibauthor{W. Robertson}.
+%
+% \bibitem{wilson:2007}
+% \bibauthor{Wilson, Peter}.
+% \bibtitle{Glisterings}.
+% TUGboat, 28(2), 229\figuredash232, 2007,
+% \biburl{https://tug.org/TUGboat/tb28-2/tb89glister.pdf}.
+%
+% \bibitem{package:needspace}
+% \bibauthor{Wilson, Peter}.
+% \bibtitle{Package~\packagename{needspace}}.
+% 2010,
+% \biburl{https://ctan.org/pkg/needspace}.
+% The package is maintained by \bibauthor{W. Robertson}.
+% \end{thebibliography}
+% \end{RaggedRight}
+%
+% \sectionfinish
+% \clearpage
+% \begin{RaggedRight}
+% \setcounter{IndexColumns}{2}
+% \setlength{\columnsep}{30pt}
+% \label{sec:index}
+% \phantomsection
+% \addcontentsline{toc}{section}{Index}
+% \PrintIndex
+% \end{RaggedRight}
+% }
+%
+%
+% \sectionfinish
+% \clearpage
+% \appendix
+% \section{Package Code}\label{sec:package-code}
+% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{multicols}{2}}
+% \addtocontents{toc}{\protect\raggedcolumns}
+%
+% This is the \doublequotes{Reference Manual}~section of the documentation
+% where we describe the package's code
+% and explain its implementation details.
+%
+%
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{typog}
+ [2024/05/07 v0.3 TypoGraphic extensions]
+
+\RequirePackage{etoolbox}
+\RequirePackage{everyhook}
+\RequirePackage{xkeyval}
+
+% \end{macrocode}
+%
+% \bigskip
+%
+% \subsection*{Declarations of Lengths, Skips, etc.}
+%
+% \begin{macro}{\typog@TYPOG}
+% Define a macro that unequivocally identifies this very package.
+%
+% \begin{macrocode}
+\newcommand*{\typog@TYPOG}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoglogo}
+% We have our own, low-key logo.
+%
+% \begin{macrocode}
+\newcommand*{\typoglogo}{\textsf{T\itcorr*{-5}\textsl{y}poG}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\iftypog@debug}
+% Our switch for debug information.
+%
+% \begin{macrocode}
+\newif\iftypog@debug
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@typeout}
+% Our debug information printer.
+%
+% \begin{macrocode}
+\newcommand*{\typog@typeout}[1]
+ {\iftypog@debug
+ \typeout{typog: #1}%
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@trim@spaces}
+% Pull \cs{tl\_trim\_spaces} into the \singlequotes{classic} namespace.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\let\typog@trim@spaces=\tl_trim_spaces:o
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@register@pdfsubstitute}
+% We often need to register (simple) substitute commands
+% suitable for \acronym{PDF}~bookmarks.
+% This is a convenient abbreviation for that task.
+%
+% \begin{macrocode}
+\newcommand{\typog@register@pdfsubstitute}[1]{%
+ \AtBeginDocument{%
+ \ifdefined\pdfstringdefDisableCommands
+ \pdfstringdefDisableCommands{#1}%
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Some functionality depends on package~\packagename{microtype}.
+% To complicate matters for certain setup operations, e.\,g., \cs{SetExpansion},
+% \packagename{microtype} must be loaded \emph{before} package~\packagename{typog},
+% a fact that we encode in \cs{iftypog@microtype@preloaded}.
+%
+% \begin{macro}{\iftypog@microtype@preloaded}
+% \begin{macrocode}
+\newif\iftypog@microtype@preloaded
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@require@preloaded@microtype}
+% It is easy to determine whether \packagename{microtype} has been sourced.
+% We raise to the occasion and define a pair of check macros
+% which simplify the test for the correct \packagename{microtype} load~state.
+%
+% \begin{macrocode}
+\ifdefined\MT@MT
+ \typog@typeout{package microtype preloaded}%
+ \typog@microtype@preloadedtrue
+ \def\typog@require@preloaded@microtype{\relax}
+\else
+ \typog@microtype@preloadedfalse
+ \def\typog@require@preloaded@microtype
+ {\PackageError{typog}%
+ {package microtype not (pre-)loaded}%
+ {package microtype must be loaded before package typog}}
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\iftypog@microtype@loaded}
+% \begin{macrocode}
+\newif\iftypog@microtype@loaded
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@require@microtype}
+% This code duplicates \cs{typog@require@preloaded@microtype};
+% the only difference is that we call the test \emph{after} the preamble was processed.
+%
+% \begin{macrocode}
+\AtBeginDocument{
+ \ifdefined\MT@MT
+ \typog@typeout{package microtype loaded}%
+ \typog@microtype@loadedtrue
+ \def\typog@require@microtype{\relax}
+ \else
+ \typog@microtype@loadedfalse
+ \def\typog@require@microtype
+ {\PackageError{typog}%
+ {package microtype not loaded}%
+ {require package microtype before package typog}}%
+ \fi
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Our own state\dots
+%
+% \begin{macro}{\typog@mathitalicscorrection}
+% \begin{macrocode}
+\newmuskip\typog@mathitalicscorrection
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@textitalicscorrection}
+% \begin{macrocode}
+\newlength{\typog@textitalicscorrection}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@ligaturekern}
+% \begin{macrocode}
+\newlength{\typog@ligaturekern}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raisecapitaldash}
+% \begin{macrocode}
+\newlength{\typog@raisecapitaldash}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raisecapitalguillemets}
+% \begin{macrocode}
+\newlength{\typog@raisecapitalguillemets}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raisecapitalhyphen}
+% \begin{macrocode}
+\newlength{\typog@raisecapitalhyphen}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raisecapitaltimes}
+% \begin{macrocode}
+\newlength{\typog@raisecapitaltimes}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raiseguillemets}
+% \begin{macrocode}
+\newlength{\typog@raiseguillemets}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@raisefiguredash}
+% \begin{macrocode}
+\newlength{\typog@raisefiguredash}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@slashkern}
+% \begin{macrocode}
+\newlength{\typog@slashkern}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@breakpenalty}
+% \begin{macrocode}
+\newcommand*{\typog@breakpenalty}{\exhyphenpenalty}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@dim@unit}
+% We would like to express the argument values
+% for example of \cs{kernedhyphen*} and \cs{kernedhyphen}
+% as multiples of a thousandth of an~em.
+% Therefore, we define a dimen as \doublequotes{base unit} which simplifies matters greatly.
+%
+% \begin{macrocode}
+\newlength{\typog@dim@unit}
+\setlength{\typog@dim@unit}{.001em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@trackingttspacing}
+% \begin{macrocode}
+\newcommand*{\typog@trackingttspacing}{300, 90, 60}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@shrink@i}
+% The default configuration for shrink values.
+%
+% \begin{macrocode}
+\newcommand*{\typog@default@shrink@i}{5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@shrink@ii}
+% \begin{macrocode}
+\newcommand*{\typog@default@shrink@ii}{10}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@shrink@iii}
+% \begin{macrocode}
+\newcommand*{\typog@default@shrink@iii}{20}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@shrink@i}
+% Configurable shrink values.
+% Initialized from the \code{typog@default@shrink@} set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@shrink@i}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@shrink@ii}
+% \begin{macrocode}
+\newcommand*{\typog@shrink@ii}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@shrink@iii}
+% \begin{macrocode}
+\newcommand*{\typog@shrink@iii}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@stretch@i}
+% The default configuration for stretch values.
+%
+% \begin{macrocode}
+\newcommand*{\typog@default@stretch@i}{5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@stretch@ii}
+% \begin{macrocode}
+\newcommand*{\typog@default@stretch@ii}{10}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@stretch@iii}
+% \begin{macrocode}
+\newcommand*{\typog@default@stretch@iii}{20}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@stretch@i}
+% Configurable stretch values.
+% Initialized from the \code{typog@default@stretch} set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@stretch@i}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@stretch@ii}
+% \begin{macrocode}
+\newcommand*{\typog@stretch@ii}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@stretch@iii}
+% \begin{macrocode}
+\newcommand*{\typog@stretch@iii}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+
+\def\typog@one@of@three#1,#2,#3\relax{\typog@trim@spaces{#1}}
+\def\typog@two@of@three#1,#2,#3\relax{\typog@trim@spaces{#2}}
+\def\typog@three@of@three#1,#2,#3\relax{\typog@trim@spaces{#3}}
+
+\newcommand*{\typog@triple@get@i}[1]{\expandafter\typog@one@of@three #1\relax}
+\newcommand*{\typog@triple@get@ii}[1]{\expandafter\typog@two@of@three #1\relax}
+\newcommand*{\typog@triple@get@iii}[1]{\expandafter\typog@three@of@three #1\relax}
+
+\newcommand*{\typog@set@shrink@limits}
+ {\edef\typog@@star{*}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@shrinklimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@i{\number\typog@@limit}\fi
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@shrinklimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@ii{\number\typog@@limit}\fi
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@shrinklimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@iii{\number\typog@@limit}\fi}
+
+\newcommand*{\typog@set@stretch@limits}
+ {\edef\typog@@star{*}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@stretchlimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@i{\number\typog@@limit}\fi
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@stretchlimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@ii{\number\typog@@limit}\fi
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@stretchlimits}}%
+ \unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@iii{\number\typog@@limit}\fi}
+
+\DeclareOptionX<typog>{breakpenalty}%
+ {\renewcommand*{\typog@breakpenalty}{#1}}
+\DeclareOptionX<typog>{debug}{\typog@debugtrue}
+\DeclareOptionX<typog>{mathitalicscorrection}[.4mu]%
+ {\typog@mathitalicscorrection=#1\relax}%
+\DeclareOptionX<typog>{nodebug}{\typog@debugfalse}
+\DeclareOptionX<typog>{textitalicscorrection}[.02em]%
+ {\setlength{\typog@textitalicscorrection}{#1}}
+\DeclareOptionX<typog>{ligaturekern}[.033333em]%
+ {\setlength{\typog@ligaturekern}{#1}}
+\DeclareOptionX<typog>{raisecapitaldash}[\z@]%
+ {\setlength{\typog@raisecapitaldash}{#1}}
+\DeclareOptionX<typog>{raisecapitalguillemets}[\z@]%
+ {\setlength{\typog@raisecapitalguillemets}{#1}}
+\DeclareOptionX<typog>{raisecapitalhyphen}[\z@]%
+ {\setlength{\typog@raisecapitalhyphen}{#1}}
+\DeclareOptionX<typog>{raisecapitaltimes}[\z@]%
+ {\setlength{\typog@raisecapitaltimes}{#1}}
+\DeclareOptionX<typog>{raiseguillemets}[\z@]%
+ {\setlength{\typog@raiseguillemets}{#1}}
+\DeclareOptionX<typog>{raisefiguredash}[\z@]%
+ {\setlength{\typog@raisefiguredash}{#1}}
+\DeclareOptionX<typog>{raise*}[\z@]%
+ {\setlength{\typog@raisecapitaldash}{#1}%
+ \setlength{\typog@raisecapitalhyphen}{#1}%
+ \setlength{\typog@raisecapitaltimes}{#1}%
+ \setlength{\typog@raisefiguredash}{#1}}
+\DeclareOptionX<typog>{shrinklimits}%
+ [\typog@default@shrink@i, \typog@default@shrink@ii, \typog@default@shrink@iii]%
+ {\typog@require@preloaded@microtype
+ \ifx\@onlypreamble\@notprerr
+ \PackageWarning{typog}{option `shrinklimits' can only be used in the preamble}%
+ \else
+ \edef\typog@shrinklimits{#1}%
+ \typog@set@shrink@limits
+ \fi}
+\DeclareOptionX<typog>{slashkern}[.05em]%
+ {\setlength{\typog@slashkern}{#1}}
+\DeclareOptionX<typog>{stretchlimits}%
+ [\typog@default@stretch@i, \typog@default@stretch@ii, \typog@default@stretch@iii]%
+ {\typog@require@preloaded@microtype
+ \ifx\@onlypreamble\@notprerr
+ \PackageWarning{typog}{option `stretchlimits' can only be used in the preamble}%
+ \else
+ \edef\typog@stretchlimits{#1}%
+ \typog@set@stretch@limits
+ \fi}
+\DeclareOptionX<typog>{trackingttspacing}[\typog@trackingttspacing]%
+ {\typog@require@preloaded@microtype
+ \ifx\@onlypreamble\@notprerr
+ \PackageWarning{typog}{option `trackingttspacing' can only be used in the preamble}%
+ \else
+ \typog@typeout{trackingttspacing=#1}%
+ \SetTracking[outer spacing={#1}]{encoding=*, family=tt*}{0}%
+ \fi}
+
+\newcommand*{\typog@initialize@options}
+ {\ExecuteOptionsX<typog>{
+ ligaturekern,
+ mathitalicscorrection, textitalicscorrection,
+ raisecapitaldash, raisecapitalhyphen, raisecapitaltimes,
+ raiseguillemets, raisecapitalguillemets,
+ raisefiguredash,
+ slashkern}
+ \ifdefined\MT@MT
+ \unless\ifx\@onlypreamble\@notprerr
+ \ExecuteOptionsX<typog>{shrinklimits, stretchlimits}
+ \fi
+ \fi}
+
+\typog@initialize@options
+\ProcessOptionsX<typog>
+
+% \fi
+%
+%
+% \subsection*{Setup}
+%
+% \begin{environment}{typogsetup}
+% An empty argument list resets all initialized values to their defaults.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{typogsetup}{m}
+ {\def\typog@@arg{#1}%
+ \ifx\typog@@arg\empty
+ \typog@initialize@options
+ \else
+ \setkeys{typog}{#1}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\typogget}
+% \begin{macrocode}
+\NewDocumentCommand{\typogget}{m}{\csname typog@#1\endcsname}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Information}
+%
+% \begin{macro}{\typog@round@dim@to@tenths}
+% \begin{macrocode}
+\ExplSyntaxOn
+\newcommand*{\typog@round@dim@to@tenths}[1]
+ {\fp_to_decimal:n {round(10 * \dim_to_fp:n{#1} / 1\p@) / 10}}
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@formatsizeinfo}
+% Arguments 1 and~2 are the font size and the line spacing.
+% The third parameter adds (decorative) units to both numbers.
+%
+% \begin{macrocode}
+\newcommand*{\typog@formatsizeinfo}[3]
+ {#1#3\kernedslash #2#3}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fontsizeinfo}
+% All macros defined inside of \cs{fontsizeinfo} must be global
+% because the call can occur inside of a group.
+%
+% The two \cs{edef}s at the beginning capture the desired values
+% at the point where the macro \emph{is called}.
+% The user-macro is tricky for we need
+% a global macro with a constructed name
+% and an associated starred version.
+%
+% \begin{implementationnote}
+% \cs{@ifstar} caused too many problems which \cs{@ifnextchar} in combination with
+% \cs{@gobble} avoid.
+% \end{implementationnote}
+%
+% \begin{macrocode}
+\NewDocumentCommand{\fontsizeinfo}{s m}
+ {\global\expandafter\edef\csname typog@fontsize@#2\endcsname
+ {\typog@round@dim@to@tenths{\fontdimen6\font}}%
+ \global\expandafter\edef\csname typog@linespacing@#2\endcsname
+ {\typog@round@dim@to@tenths{\baselineskip}}%
+ \protected\expandafter\gdef\csname #2\endcsname
+ {\@ifnextchar*{\typog@formatsizeinfo
+ {\csname typog@fontsize@#2\endcsname}%
+ {\csname typog@linespacing@#2\endcsname}%
+ {}% no unit
+ \ignorespaces % eat spaces after star
+ \@gobble} % consume the star itself
+ {\typog@formatsizeinfo
+ {\csname typog@fontsize@#2\endcsname}%
+ {\csname typog@linespacing@#2\endcsname}%
+ {\,pt}% decorative unit `pt'
+ }}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@default@inspect@id@prefix}
+% Id-prefix for those |typoinspect|~environments
+% that were not identified by the user.
+%
+% \begin{macrocode}
+\newcommand*{\typog@default@inspect@id@prefix}{a-}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{typog@inspect@count}
+% Counter to supply unique number and in turn \meta{id}
+% for those |typoinspect|~environments
+% that were not identified by the user.
+%
+% \begin{macrocode}
+\newcounter{typog@inspect@count}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{typoginspect}
+% \begin{macrocode}
+\define@key[typog]{typoginspect}{tracingboxes}[\maxdimen]%
+ {\def\typog@@typoginspect@tracingboxes{#1}}
+\NewDocumentEnvironment{typoginspect}{O{} m}
+ {\def\typog@@typoginspect@tracingboxes{\m@ne}%
+ \setkeys[typog]{typoginspect}{#1}%
+% \end{macrocode}
+%
+% If the user does not supply an \meta{id},
+% we fall back to out own counter
+% and construct a hopefully unique \meta{id} from that.
+%
+% \begin{macrocode}
+ \edef\typog@@arg{#2}%
+ \ifx\typog@@arg\empty
+ \stepcounter{typog@inspect@count}%
+ \edef\typog@@id{\typog@default@inspect@id@prefix\arabic{typog@inspect@count}}%
+ \else
+ \edef\typog@@id{\typog@trim@spaces{\typog@@arg}}%
+ \fi
+ \typeout{<typog-inspect id="\typog@@id" job="\jobname" line="\the\inputlineno" page="\the\value{page}">}%
+% \end{macrocode}
+%
+% Set both badness thresholds to absurdly low values as to activate \TeX's reports.
+%
+% \begin{macrocode}
+ \hbadness=\m@ne
+ \vbadness=\m@ne
+% \end{macrocode}
+%
+% Carefully select the tracing functionality we want (to improve our typography).
+% Too much trace data distracts
+% and the user always can turn on more tracing at the beginning of the environment.
+%
+% \begin{macrocode}
+ \tracingnone
+ \tracingpages=\@ne
+ \tracingparagraphs=\@ne
+ \showboxbreadth=\typog@@typoginspect@tracingboxes
+ \showboxdepth=\typog@@typoginspect@tracingboxes}
+ {\typeout{</typog-inspect>}%
+ \ignorespacesafterend}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{typoginspectpar}
+% Companion environment to |typoginspect|
+% which adds a \cs{par} before the end of the group.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{typoginspectpar}{m}
+ {\typoginspect{#1}}
+ {\par\endtypoginspect}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Hyphenation}
+%
+% \begin{macro}{\typog@allowhyphenation}
+% Re-enable automatic hyphenation.
+%
+% The same or almost the same implementation can be found
+% in \packagename{babel} as macro~\cs{bbl@allowhyphens}
+% and \packagename{hyphenat} as macro~\cs{prw@zbreak}.
+%
+% \begin{macrocode}
+\newcommand*{\typog@allowhyphenation}
+ {\ifvmode
+ \relax
+ \else
+ \nobreak
+ \hskip\z@skip
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\allowhyphenation}
+% Define a user-visible alias unless the name is already used.
+%
+% \begin{macrocode}
+\unless\ifdefined\allowhyphenation
+ \let\allowhyphenation=\typog@allowhyphenation
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\breakpoint}
+% The starred form inhibits hyphenation of the right-hand component.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\breakpoint}{s}
+ {\discretionary{}{}{}%
+ \IfBooleanTF{#1}%
+ {\ignorespaces}%
+ {\typog@allowhyphenation}}
+
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \def\breakpoint#1{\if*\detokenize{#1}\ignorespaces\fi}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{hyphenmin}
+% \changes{v0.3}{2024-05-04}{New environment.}
+% No trickery here. -- We use the mandatory argument for the value of \cs{lefthyphenmin} if
+% the optional argument has been omitted.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{hyphenmin}{o m}
+ {\lefthyphenmin=\IfNoValueTF{#1}{#2}{#1}%
+ \righthyphenmin=#2}
+ {}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Disable/Break Ligatures}
+%
+% \begin{macro}{\typog@hyphen}
+% We define our own hyphen so the user can override the definition in a pinch.
+%
+% \begin{macrocode}
+\newcommand*{\typog@hyphen}{\char`-}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\nolig}
+% \begin{macrocode}
+\NewDocumentCommand{\nolig}{s o}
+ {\dimen0=\IfNoValueTF{#2}{\typog@ligaturekern}{#2\typog@dim@unit}%
+ \IfBooleanTF{#1}%
+ {\kern\dimen0\ignorespaces}%
+ {\discretionary{\typog@hyphen}{}{\kern\dimen0}%
+ \typog@allowhyphenation
+ \IfNoValueF{#2}{\ignorespaces}}}
+
+% \end{macrocode}
+%
+% The \acronym{PDF}-ready version of \cs{nolig} cannot be implemented with \cs{futurelet}.
+% Doh!
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\nolig}{s o m}{%
+ \ifx\typog@TYPOG#3\typog@TYPOG
+ \relax
+ \else
+ \ifx\relax#3\relax
+ \relax
+ \else
+ \PackageError{typog}
+ {Missing third argument of \nolig}
+ {Append empty group or \relax after macro invocation}
+ \fi
+ \fi}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Manual Italic Correction}
+%
+% \begin{macro}{\typog@itcorr@text@unconditional}
+% Fallback italics correction for text mode.
+%
+% \begin{macrocode}
+\newcommand*{\typog@itcorr@text@unconditional}[1]
+ {\kern#1\typog@textitalicscorrection}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@itcorr@text}
+% Conditional italics correction depending on
+% the current font's own italics correction,
+% i.\,e., \cs{fontdimen1}.
+%
+% \begin{macrocode}
+\newcommand*{\typog@itcorr@text}[1]
+ {\def\typog@@strength{#1}%
+ \dimen0=\fontdimen1\font
+ \ifdim\dimen0=\z@
+ \typog@itcorr@text@unconditional{\typog@@strength}%
+ \else
+ \kern\typog@@strength\dimen0
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@itcorr@math}
+% Italics correction for math mode.
+%
+% \begin{macrocode}
+\newcommand*{\typog@itcorr@math}[1]
+ {\mkern#1\typog@mathitalicscorrection}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\itcorr}
+% If the font has no italics correction we fall back to out own length.
+% In text mode the starred version always uses the fallback.
+% The star is a no-op in math mode.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\itcorr}{s m}
+ {\ifmmode
+ \typog@itcorr@math{#2}%
+ \else
+ \IfBooleanTF{#1}%
+ {\typog@itcorr@text{#2}}%
+ {\typog@itcorr@text@unconditional{#2}}%
+ \fi}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\itcorr}{s m}{}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Apply Extra Kerning}
+%
+% \subsubsection*{Slash}
+%
+% \begin{macro}{\typog@forwardslash}
+% We define our own forward-slash so the user can override the definition in a pinch.
+%
+% \begin{macrocode}
+\newcommand*{\typog@forwardslash}{\char`/}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kernedslash}
+% Macro~\cs{kernedslash} introduces a hyphenation possibility right after the dash,
+% whereas the starred version does not.
+%
+% By the way, \cs{slash} expands to `|/|\cs{penalty}\cs{exhyphenpenalty}'.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\kernedslash}{s}
+ {\hspace*{\typog@slashkern}%
+ \typog@forwardslash
+ \IfBooleanTF{#1}%
+ {\hspace*{\typog@slashkern}\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@slashkern}}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \def\kernedslash#1{\if*\detokenize{#1}/\ignorespaces\else/#1\fi}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection*{Hyphen}
+%
+% \begin{macro}{\kernedhyphen}
+% \begin{macrocode}
+\NewDocumentCommand{\kernedhyphen}{s O{0} m m}
+ {\ifmmode
+ \mspace{\muexpr(#3 mu) * 18 / 1000}%
+ \raisebox{#2\typog@dim@unit}{$\m@th\mathord{-}$}%
+ \mspace{\muexpr(#4 mu) * 18 / 1000}%
+ \else
+ \def\typog@@auto{*}%
+ \def\typog@@optarg{#2}%
+ \hspace*{#3\typog@dim@unit}%
+ \raisebox{\ifx\typog@@optarg\typog@@auto
+ \typog@raisecapitalhyphen
+ \else
+ \typog@@optarg\typog@dim@unit
+ \fi}{\typog@hyphen}%
+ \hspace{#4\typog@dim@unit}%
+ \IfBooleanT{#1}{\nobreak}%
+ \fi}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\kernedhyphen}{s o m m}{-}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% One-argument shorthands.
+%
+% \begin{macro}{\leftkernedhyphen}
+% Apply kerning on the left-hand side of the hyphen only.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\leftkernedhyphen}{s O{0} m}
+ {\IfBooleanTF{#1}%
+ {\kernedhyphen*[#2]{#3}{0}\ignorespaces}%
+ {\kernedhyphen[#2]{#3}{0}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\leftkernedhyphen}{s o m}{-}
+}
+
+% \end{macrocode}
+%
+% \begin{macro}{\rightkernedhyphen}
+% Apply kerning on the right-hand side of the hyphen only.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\rightkernedhyphen}{s O{0} m}
+ {\IfBooleanTF{#1}%
+ {\kernedhyphen*[#2]{0}{#3}\ignorespaces}%
+ {\kernedhyphen[#2]{0}{#3}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\rightkernedhyphen}{s o m}{-}
+}
+
+% \end{macrocode}
+%
+%
+% \subsection{Raise Selected Characters}
+%
+% \begin{macro}{\typog@breakpoint}
+% We want our own penalty for a line-break at a particular point.
+% The predefined \cs{allowbreak} is too eager.
+% A package-private, user-configurable penalty fits best.
+%
+% \begin{macrocode}
+\newcommand*{\typog@breakpoint}
+ {\penalty\typog@breakpenalty}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\capitalhyphen}
+% Macro~\cs{capitalhyphen} introduces a hyphenation possibility right after the dash,
+% whereas the starred version does not.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\capitalhyphen}{s}
+ {\raisebox{\typog@raisecapitalhyphen}{\typog@hyphen}%
+ \IfBooleanTF{#1}%
+ {\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation}}
+% \end{macrocode}
+%
+% The non-hyperref version's code is straightforward.
+% The \cs{pdfstringdefDisableCommands}~version must be expandable
+% and must match the other version's signature.
+% Yikes!
+% We exploit the fact that conditions are expandable.
+% However, we cannot use \cs{typog@hyphen} in the expansion as \cs{char} gets in the way.
+% So, we fall back to the least~common denominator and use a bare dash.
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \def\capitalhyphen#1{%
+ \if*\detokenize{#1}%
+ -\ignorespaces
+ \else
+ -#1%
+ \fi}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\capitalendash}
+% Macro~\cs{capitalendash} introduces a hyphenation possibility right after the dash;
+% its starred version does not.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\capitalendash}{s}
+ {\raisebox{\typog@raisecapitaldash}{\textendash}%
+ \IfBooleanTF{#1}%
+ {\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation}}
+\let\capitaldash=\capitalendash
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \def\capitalendash#1{%
+ \if*\detokenize{#1}%
+ \textendash\ignorespaces
+ \else
+ \textendash#1%
+ \fi}
+ \let\capitaldash=\capitalendash
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\capitalemdash}
+% Macro~\cs{capitalemdash} introduces a hyphenation possibility right after the dash;
+% its starred version does not.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\capitalemdash}{s}
+ {\raisebox{\typog@raisecapitaldash}{\textemdash}%
+ \IfBooleanTF{#1}%
+ {\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \def\capitalemdash#1{%
+ \if*\detokenize{#1}%
+ \textemdash\ignorespaces
+ \else
+ \textemdash#1%
+ \fi}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\figuredash}
+% Macro~\cs{figuredash} introduces a hyphenation possibility right after the dash;
+% its starred version does not.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\figuredash}{s}
+ {\raisebox{\typog@raisefiguredash}{\textendash}%
+ \IfBooleanTF{#1}%
+ {\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\figuredash=\capitaldash}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\capitaltimes}
+% \begin{macrocode}
+\NewDocumentCommand{\capitaltimes}{}
+ {\ifmmode
+ \mathbin{\raisebox{\typog@raisecapitaltimes}{$\m@th\times$}}%
+ \else
+ \raisebox{\typog@raisecapitaltimes}{\texttimes}%
+ \fi}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{
+ \RenewExpandableDocumentCommand{\capitaltimes}{}{\texttimes}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\singleguillemetleft}
+% \begin{macrocode}
+\NewDocumentCommand{\singleguillemetleft}{}
+ {\typog@allowhyphenation
+ \raisebox{\typog@raiseguillemets}{\guilsinglleft}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\singleguillemetleft\guilsinglleft}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\singleguillemetright}
+% \begin{macrocode}
+\NewDocumentCommand{\singleguillemetright}{}
+ {\raisebox{\typog@raiseguillemets}{\guilsinglright}%
+ \typog@allowhyphenation}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\singleguillemetright\guilsinglright}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doubleguillemetleft}
+% \begin{macrocode}
+\NewDocumentCommand{\doubleguillemetleft}{}
+ {\typog@allowhyphenation
+ \raisebox{\typog@raiseguillemets}{\guillemotleft}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\doubleguillemetleft\guillemotleft}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doubleguillemetright}
+% \begin{macrocode}
+\NewDocumentCommand{\doubleguillemetright}{}
+ {\raisebox{\typog@raiseguillemets}{\guillemotright}%
+ \typog@allowhyphenation}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\doubleguillemetright\guillemotright}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Singleguillemetleft}
+% \begin{macrocode}
+\NewDocumentCommand{\Singleguillemetleft}{}
+ {\typog@allowhyphenation
+ \raisebox{\typog@raisecapitalguillemets}{\guilsinglleft}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\Singleguillemetleft\guilsinglleft}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Singleguillemetright}
+% \begin{macrocode}
+\NewDocumentCommand{\Singleguillemetright}{}
+ {\raisebox{\typog@raisecapitalguillemets}{\guilsinglright}%
+ \typog@allowhyphenation}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\Singleguillemetright\guilsinglright}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Doubleguillemetleft}
+% \begin{macrocode}
+\NewDocumentCommand{\Doubleguillemetleft}{}
+ {\typog@allowhyphenation
+ \raisebox{\typog@raisecapitalguillemets}{\guillemotleft}}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\Doubleguillemetleft\guillemotleft}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Doubleguillemetright}
+% \begin{macrocode}
+\NewDocumentCommand{\Doubleguillemetright}{}
+ {\raisebox{\typog@raisecapitalguillemets}{\guillemotright}%
+ \typog@allowhyphenation}
+% \end{macrocode}
+%
+% \acronym{PDF}-substitute definition
+%
+% \begin{macrocode}
+\typog@register@pdfsubstitute{\let\Doubleguillemetright\guillemotright}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection[Align Last Line]{Align Last Line of a Paragraph}
+%
+% The code of environment |lastlineraggedleftpar|
+% has been inspired by macro~\cs{lastlineraggedleft}~\cite[Sec.~2]{wilson:2007}.
+%
+% \begin{environment}{lastlineraggedleftpar}
+% \begin{macrocode}
+\NewDocumentEnvironment{lastlineraggedleftpar}{}
+ {\lastlinefit=0%
+ \setlength{\leftskip}{\z@ \@plus 1fil}%
+ \setlength{\rightskip}{-\leftskip}%
+ \setlength{\parfillskip}{\leftskip}}
+ {\par}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{lastlineflushrightpar}
+% Define |lastlineflushrightpar| as an alias of |lastlineraggedleftpar|.
+%
+% \begin{macrocode}
+\let\lastlineflushrightpar=\lastlineraggedleftpar
+\let\endlastlineflushrightpar=\endlastlineraggedleftpar
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{lastlinecenteredpar}
+% The code of environment |lastlinecenteredpar|
+% has been inspired by \textit{Tex By Topic}~\cite[Sec.~18.3.1]{eijkhout:2007}.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{lastlinecenteredpar}{}
+ {\lastlinefit=0%
+ \setlength{\leftskip}{\z@ \@plus .5fil}%
+ \setlength{\rightskip}{-\leftskip}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection[Fill Last Line]
+% {Fill Last Line of a Paragraph}
+%
+% \begin{environment}{shortenpar}
+% \begin{macrocode}
+\NewDocumentEnvironment{shortenpar}{}
+ {\advance\looseness by -1
+ \ifnum\tracingparagraphs>0
+ \typeout{@ looseness \the\looseness}%
+ \fi}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{prolongpar}
+% We try to be prudent and inhibit hyphenation of the next-to-last line
+% just in case the longer paragraph could be cheaply achieved by hyphenation
+% --~at the worst~-- of the last word.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{prolongpar}{}
+ {\finalhyphendemerits=100000001
+ \advance\looseness by 1
+ \ifnum\tracingparagraphs>0
+ \typeout{@ looseness \the\looseness}%
+ \fi}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\typog@covernextindentpar@zero@parindent}
+% This auxiliary macro and the following one
+% are meant as an easy means to override the defaults
+% of the user-visible environment~|covernextindentpar|.
+%
+% \begin{macrocode}
+\newcommand*{\typog@covernextindentpar@zero@parindent}{2em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@covernextindentpar@nonzero@parindent}
+% \begin{macrocode}
+\newcommand*{\typog@covernextindentpar@nonzero@parindent}{2\parindent}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{covernextindentpar}
+% \begin{macrocode}
+\NewDocumentEnvironment{covernextindentpar}{o}
+ {\IfNoValueTF{#1}
+ {\ifdim\parindent=\z@
+ \dimen0=\dimexpr\linewidth - \typog@covernextindentpar@zero@parindent
+ \else
+ \dimen0=\dimexpr\linewidth - \typog@covernextindentpar@nonzero@parindent
+ \fi}
+ {\dimen0=\dimexpr\linewidth - (#1)}%
+ \parfillskip=\dimen0 \@minus \dimen0
+ \relax}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\typog@openlastlinepar@zero@parindent}
+% These auxiliary macros are meant as a means to override the defaults
+% of the user-visible environment~|openlastlinepar|.
+%
+% \begin{macrocode}
+\newcommand*{\typog@openlastlinepar@zero@parindent}{2em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@openlastlinepar@nonzero@parindent}
+% \begin{macrocode}
+\newcommand*{\typog@openlastlinepar@nonzero@parindent}{2\parindent}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{openlastlinepar}
+% Compare with the suggestion in Ref.~\citenum{wermuth:2018}.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{openlastlinepar}{o}
+ {\IfNoValueTF{#1}
+ {\ifdim\parindent=\z@
+ \skip0=\typog@openlastlinepar@zero@parindent
+ \@plus 1fil
+ \@minus \typog@openlastlinepar@zero@parindent
+ \else
+ \skip0=\typog@openlastlinepar@nonzero@parindent
+ \@plus 1fil
+ \@minus \typog@openlastlinepar@nonzero@parindent
+ \fi}
+ {\dimen0=\dimexpr#1\relax
+ \skip0=\dimen0 \@plus 1fil \@minus \dimen0}
+ \parfillskip=\skip0}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Spacing}
+%
+% \begin{macro}{\widespacestrength}
+% Weight factor (``strength'') for \cs{fontdimen7}, the extra width of a sentence-ending
+% space, we apply to construct our \cs{widespace} if \(\cs{fontdimen7} \not= 0\). Can be
+% increased to get a more pronounced effect.
+%
+% \begin{macrocode}
+\newcommand*{\widespacestrength}{1.}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\widespacescale}
+% Scale factor we apply to the glue of the normal space to setup the glue of our
+% \cs{widespacescale}. Also used in the fall-back calculation for the width if
+% \(\cs{fontdimen7} = 0\).
+%
+% \begin{macrocode}
+\newcommand*{\widespacescale}{1.125}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\widespace}
+% \changes{v0.2}{2024-3-29}{Add fallback if \cs{fontdimen7} is zero. Extend with a starred version.}
+% \begin{macrocode}
+\NewDocumentCommand{\widespace}{s}
+ {\IfBooleanTF{#1}%
+ {\dimen0=\widespacescale\fontdimen2\font}%
+ {\ifdim\fontdimen7\font=\z@
+ \dimen0=\widespacescale\fontdimen2\font
+ \else
+ \dimen0=\dimexpr\fontdimen2\font +
+ \widespacestrength\fontdimen7\font
+ \fi}%
+ \hskip \glueexpr\dimen0
+ \@plus \widespacescale\fontdimen3\font
+ \@minus \widespacescale\fontdimen4\font
+ \ignorespaces}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\narrowspacestrength}
+% Weight factor (``strength'') for \cs{fontdimen7}, the extra width of a sentence-ending
+% space, we apply to construct our \cs{narrowspace} if \(\cs{fontdimen7} \not= 0\). Can be
+% increased to get a more pronounced effect.
+%
+% \begin{macrocode}
+\newcommand*{\narrowspacestrength}{.5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\narrowspacescale}
+% Scale factor we apply to the glue of the normal space to setup the glue of our
+% \cs{narrowspacescale}. Also used in the fall-back calculation for the width if
+% \(\cs{fontdimen7} = 0\).
+%
+% \begin{macrocode}
+\newcommand*{\narrowspacescale}{.9375}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\narrowspace}
+% \changes{v0.2}{2024-3-29}{New macro.}
+% \begin{macrocode}
+\NewDocumentCommand{\narrowspace}{s}
+ {\IfBooleanTF{#1}%
+ {\dimen0=\narrowspacescale\fontdimen2\font}%
+ {\ifdim\fontdimen7\font=\z@
+ \dimen0=\narrowspacescale\fontdimen2\font
+ \else
+ \dimen0=\dimexpr\fontdimen2\font -
+ \narrowspacestrength\fontdimen7\font
+ \fi}%
+ \hskip \glueexpr\dimen0
+ \@plus \narrowspacescale\fontdimen3\font
+ \@minus \narrowspacescale\fontdimen4\font
+ \ignorespaces}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% See also: TeX by Topic \cite[ch.~20, p.~185\figuredash190]{eijkhout:2007}.
+%
+% \begin{environment}{loosespacing}
+% \begin{macrocode}
+\NewDocumentEnvironment{loosespacing}{O{1}}
+ {\dimen2=\fontdimen2\font
+ \ifcase #1
+ \spaceskip=\z@
+ \or % 1 +5%
+ \spaceskip=1.05\dimen2 \@plus .5\dimen2 \@minus .1\dimen2
+ \or % 2 +10%
+ \spaceskip=1.1\dimen2 \@plus .5\dimen2 \@minus .1\dimen2
+ \or % 3 +20%
+ \spaceskip=1.2\dimen2 \@plus .6\dimen2 \@minus .2\dimen2
+ \else % >= 4 +30%
+ \spaceskip=1.3\dimen2 \@plus .8\dimen2 \@minus .3\dimen2
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{tightspacing}
+% \begin{macrocode}
+\NewDocumentEnvironment{tightspacing}{O{1}}
+ {\dimen2=\fontdimen2\font
+ \ifcase #1
+ \spaceskip=\z@
+ \or % 1 -1.25%
+ \spaceskip=.9875\dimen2 \@plus .0125\dimen2 \@minus .5\dimen2
+ \or % 2 -2.5%
+ \spaceskip=.975\dimen2 \@plus .025\dimen2 \@minus .5\dimen2
+ \or % 3 -5%
+ \spaceskip=.95\dimen2 \@plus .05\dimen2 \@minus .5\dimen2
+ \else % >= 4 -10%
+ \spaceskip=.9\dimen2 \@plus .1\dimen2 \@minus .5\dimen2
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Microtype Front\capitalhyphen End}
+%
+% \subsubsection*{Tracking}
+%
+% \begin{environment}{setfonttracking}
+%
+% To archieve the control we want,
+% we must tinker with \packagename{microtype's} internals.
+% Doh!
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{setfonttracking}{m}
+ {\edef\MT@letterspace@{#1}%
+ \lsstyle
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsubsection*{Font Expansion}
+%
+% \begin{macro}{\typog@setup@font@expansion}
+% Note that we cannot factor the encodings into a macro;
+% a single encoding would qualify, though.
+% We need to support multiple encodings and thus go with the literal solution.
+%
+% \begin{macrocode}
+\newcommand*{\typog@setup@font@expansion}
+ {\SetExpansion
+ [context = typog@shrink1,
+ shrink = \typog@shrink@i,
+ stretch = 0]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@shrink2,
+ shrink = \typog@shrink@ii,
+ stretch = 0]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@shrink3,
+ shrink = \typog@shrink@iii,
+ stretch = 0]%
+ {encoding = {*}}%
+ {}
+
+ \SetExpansion
+ [context = typog@stretch1,
+ shrink = 0,
+ stretch = \typog@stretch@i]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@stretch2,
+ shrink = 0,
+ stretch = \typog@stretch@ii]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@stretch3,
+ shrink = 0,
+ stretch = \typog@stretch@iii]%
+ {encoding = {*}}%
+ {}
+
+ \SetExpansion
+ [context = typog@expand1,
+ shrink = \typog@shrink@i,
+ stretch = \typog@stretch@i]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@expand2,
+ shrink = \typog@shrink@ii,
+ stretch = \typog@stretch@ii]%
+ {encoding = {*}}%
+ {}
+ \SetExpansion
+ [context = typog@expand3,
+ shrink = \typog@shrink@iii,
+ stretch = \typog@stretch@iii]%
+ {encoding = {*}}%
+ {}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@test@microtype@expansion@feature}
+% We cannot even parse the \cs{iftypog@microtype@preloaded}~part further down
+% unless the \cs{ifMT@expansion}~conditional exists.
+% So we hoist this test in a macro of its own.
+% It only gets called if package~\packagename{microtype} already has been sourced.
+%
+% \begin{macrocode}
+\newcommand*{\typog@test@microtype@expansion@feature}
+ {\ifMT@expansion
+ \typog@typeout{microtype preloaded -- font expansion features available}%
+ \def\typog@require@microtype@expansion{\relax}
+ \typog@setup@font@expansion
+ \else
+ \PackageWarning{typog}{microtype preloaded,\space
+ but font expansion is disabled}%
+ \def\typog@require@microtype@expansion
+ {\PackageError{typog}
+ {microtype font expansion disabled}
+ {pass option `expansion' to package microtype}}
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@require@microtype@expansion}
+% We are all set for the initialization of the font expansion,
+% however, we must be careful in which (load-)state
+% package~\packagename{microtype} is in.
+% Compare the code for \cs{typog@require@microtype}
+% and~\cs{typog@require@preloaded@microtype}.
+%
+% Initialize our own flag and setup meaningful messages for later feature checks.
+%
+% \begin{macrocode}
+\iftypog@microtype@preloaded
+ \typog@test@microtype@expansion@feature
+\else
+ \def\typog@require@microtype@expansion
+ {\PackageError{typog}%
+ {package microtype not (pre-)loaded, %
+ which is required for typog's font expansion}%
+ {require package microtype before package typog}}
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{setfontshrink}
+% \begin{macrocode}
+\NewDocumentEnvironment{setfontshrink}{O{1}}
+ {\typog@require@microtype@expansion
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \microtypecontext{expansion=typog@shrink1}%
+ \or % 2
+ \microtypecontext{expansion=typog@shrink2}%
+ \else % >= 3
+ \microtypecontext{expansion=typog@shrink3}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{setfontstretch}
+% \begin{macrocode}
+\NewDocumentEnvironment{setfontstretch}{O{1}}
+ {\typog@require@microtype@expansion
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \microtypecontext{expansion=typog@stretch1}%
+ \or % 2
+ \microtypecontext{expansion=typog@stretch2}%
+ \else % >= 3
+ \microtypecontext{expansion=typog@stretch3}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{setfontexpand}
+% \begin{macrocode}
+\NewDocumentEnvironment{setfontexpand}{O{1}}
+ {\typog@require@microtype@expansion
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \microtypecontext{expansion=typog@expand1}%
+ \or % 2
+ \microtypecontext{expansion=typog@expand2}%
+ \else % >= 3
+ \microtypecontext{expansion=typog@expand3}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nofontexpansion}
+% Implementation: We proceed a different approach with respect to requiring package microtype.
+% The semantics of the macro is to switch something off.
+% If it is not \singlequotes{on} because the necessary package was not loaded, a no-op is ok.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{nofontexpansion}{}
+ {\ifdefined\microtypesetup
+ \microtypesetup{expansion=false}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nofontexpand}
+% Define |nofontexpand| as an alias of |nofontexpansion|.
+%
+% \begin{macrocode}
+\let\nofontexpand=\nofontexpansion
+\let\endnofontexpand=\endnofontexpansion
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsubsection*{Character Protrusion}
+%
+% \begin{environment}{nocharprotrusion}
+% See \singlequotes{Implementation} comment of |nofontexpansion|.
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{nocharprotrusion}{}
+ {\ifdefined\microtypesetup
+ \microtypesetup{protrusion=false}%
+ \fi
+ \ignorespaces}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Sloppy Paragraphs}
+%
+% \begin{macro}{\typog@scaled@emergencystretch}
+% Compute the correct scale factor for the emergency stretch
+% even if we do not have a valid \cs{linewidth}.
+%
+% \begin{macrocode}
+\newcommand*{\typog@scaled@emergencystretch}[1]
+ {\emergencystretch=\ifdim\linewidth=\z@
+ #1%
+ \else
+ \dimexpr (#1) * \linewidth / \textwidth
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\slightlysloppy}
+% Macro~\cs{slightlysloppy} takes an optional~\meta{sloppiness} index ranging from~0 to~8,
+% where~0 means the same as \cs{fussy} and~8 or more works like \cs{sloppy}.
+% The default \meta{sloppiness} is~1.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\slightlysloppy}{O{1}}
+ {\ifcase #1% 0
+ % \tolerance=200
+ % \emergencystretch=\z@
+ % \hfuzz=.1\p@
+ % \vfuzz=\hfuzz
+ \fussy
+ \or % 1
+ \pretolerance=165%
+ \tolerance=330%
+ \typog@scaled@emergencystretch{.375em}%
+ \hfuzz=.15\p@
+ \vfuzz=\hfuzz
+ \or % 2
+ \pretolerance=265%
+ \tolerance=530%
+ \typog@scaled@emergencystretch{.75em}%
+ \hfuzz=.15\p@
+ \vfuzz=\hfuzz
+ \or % 3
+ \pretolerance=435%
+ \tolerance=870%
+ \typog@scaled@emergencystretch{1.125em}%
+ \hfuzz=.2\p@
+ \vfuzz=\hfuzz
+ \or % 4
+ \pretolerance=705%
+ \tolerance=1410%
+ \typog@scaled@emergencystretch{1.5em}%
+ \hfuzz=.3\p@
+ \vfuzz=\hfuzz
+ \or % 5
+ \pretolerance=1155%
+ \tolerance=2310%
+ \typog@scaled@emergencystretch{1.875em}%
+ \hfuzz=.35\p@
+ \vfuzz=\hfuzz
+ \or % 6
+ \pretolerance=1880%
+ \tolerance=3760%
+ \typog@scaled@emergencystretch{2.25em}%
+ \hfuzz=.4\p@
+ \vfuzz=\hfuzz
+ \or % 7
+ \pretolerance=3065%
+ \tolerance=6130%
+ \typog@scaled@emergencystretch{2.625em}%
+ \hfuzz=.45\p@
+ \vfuzz=\hfuzz
+ \else % >= 8
+ % \tolerance=9999
+ % \emergencystretch=3em
+ % \hfuzz=.5\p@
+ % \vfuzz=\hfuzz
+ \sloppy
+ \fi
+ \ignorespaces}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{implementationnote}
+% \begin{itemize}
+% \item The \cs{tolerance}~values are calculated as the geometric mean of the extreme
+% values~200 and~9999. This means the factor
+% \begin{equation*}
+% f = \Big(\frac{9999}{200}\Big)^{1/8} \approx 1.63
+% \end{equation*}
+% defines additional tolerances which we generously round values in the actual
+% implementation.
+%
+% \item The \cs{emergencystretch} is scaled linearly with \meta{sloppiness} \emph{and} the
+% ratio of the actual \cs{linewidth} to the (maximum) \cs{textwidth}.
+%
+% \item The \cs{hfuzz}~values are interpolated linearly with \meta{sloppiness} between .1pt
+% and~.5pt.
+% \end{itemize}
+%
+% Maxima code to calculate the intermediate values.
+%
+% \begin{description}
+% \item[Initialize.] \code{load("list\_functions")\$}
+% \item[\cs{tolerance}:] \code{logspace(log10(200), log10(9999), 9), numer;}
+% \item[\cs{emergencystretch}:] \code{linspace(0, 3, 9), numer;}
+% \item[\cs{hfuzz}:] \code{linspace(0.1, 0.5, 9);}
+% \end{description}
+% \end{implementationnote}
+%
+% \begin{environment}{slightlysloppypar}
+% \begin{macrocode}
+\NewDocumentEnvironment{slightlysloppypar}{O{1}}
+ {\par\slightlysloppy[#1]\ignorespaces}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection[Vert.~Tie Paragraphs]{Vertically Partially-Tied Paragraphs}
+%
+% \begin{macro}{\typog@geometric@mean}
+% This is just the usual geometric mean of two values~\(x\) and~\(y\): \(\sqrt{x y}\).
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\newcommand*{\typog@geometric@mean}[2]
+ {\fp_to_int:n {sqrt((#1) * (#2))}}
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{typog@mean@penalty}
+% Reserve a private counter for the geometric-mean penalties.
+%
+% \begin{macrocode}
+\newcounter{typog@mean@penalty}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\vtietop}
+% \begin{macrocode}
+\NewDocumentCommand{\vtietop}{O{3}}
+ {\setcounter{typog@mean@penalty}
+ {\typog@geometric@mean{\@M}{\clubpenalty}}%
+ \typog@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
+ \unless\ifnum\clubpenalty<\@M
+ \PackageWarning{typog}{vtietop: clubpenalty=\the\clubpenalty\space>= 10000}%
+ \fi
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \relax
+ \or % 2
+ \clubpenalties 3
+ \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 3
+ \clubpenalties 4
+ \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 4
+ \clubpenalties 5
+ \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 5
+ \clubpenalties 6
+ \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 6
+ \clubpenalties 7
+ \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 7
+ \clubpenalties 8
+ \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \or % 8
+ \clubpenalties 9
+ \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \else % >= 9
+ \clubpenalties 10
+ \@M \@M \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \clubpenalty
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{vtietoppar}
+% \begin{macrocode}
+\NewDocumentEnvironment{vtietoppar}{O{3}}
+ {\vtietop[#1]}
+ {\par
+ \ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\splicevtietop}
+% \begin{macrocode}
+\NewDocumentCommand{\splicevtietop}{O{3}}
+ {\let\typog@old@item=\@item
+ \def\@item[##1]{\typog@old@item[##1]\vtietop[#1]}%
+ \ignorespaces}
+
+% \end{macrocode}
+%
+% We define an extra style for the users of \packagename{enumitem}.
+% Its only drawback is that it hard-codes the default number of tied lines~(3).
+%
+% \begin{macrocode}
+\ifdefined\SetEnumitemKey
+ \SetEnumitemKey{vtietop}{first=\splicevtietop}
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\vtiebot}
+% \begin{macrocode}
+\NewDocumentCommand{\vtiebot}{O{3}}
+ {\setcounter{typog@mean@penalty}
+ {\typog@geometric@mean{\@M}{\widowpenalty}}%
+ \typog@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
+ \unless\ifnum\widowpenalty<\@M
+ \PackageWarning{typog}{vtiebot: widowpenalty=\the\widowpenalty\space>= 10000}%
+ \fi
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \relax
+ \or % 2
+ \widowpenalties 3
+ \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 3
+ \widowpenalties 4
+ \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 4
+ \widowpenalties 5
+ \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 5
+ \widowpenalties 6
+ \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 6
+ \widowpenalties 7
+ \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 7
+ \widowpenalties 8
+ \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \or % 8
+ \widowpenalties 9
+ \@M \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \else % >= 9
+ \widowpenalties 10
+ \@M \@M \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \widowpenalty
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{vtiebotpar}
+% \begin{macrocode}
+\NewDocumentEnvironment{vtiebotpar}{O{3}}
+ {\vtiebot[#1]}
+ {\par
+ \ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\typog@vtiebotdisp}
+% \begin{macrocode}
+\NewDocumentCommand{\typog@vtiebotdisp}{m}
+ {\setcounter{typog@mean@penalty}
+ {\typog@geometric@mean{\@M}{\displaywidowpenalty}}%
+ \typog@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
+ \unless\ifnum\displaywidowpenalty<\@M
+ \PackageWarning{typog}{vtiebotdisp: displaywidowpenalty=\the\displaywidowpenalty\space>= 10000}%
+ \fi
+ \ifcase#1% 0
+ \relax
+ \or % 1
+ \relax
+ \or % 2
+ \displaywidowpenalties 3
+ \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 3
+ \displaywidowpenalties 4
+ \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 4
+ \displaywidowpenalties 5
+ \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 5
+ \displaywidowpenalties 6
+ \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 6
+ \displaywidowpenalties 7
+ \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 7
+ \displaywidowpenalties 8
+ \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \or % 8
+ \displaywidowpenalties 9
+ \@M \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \else % >= 9
+ \displaywidowpenalties 10
+ \@M \@M \@M \@M \@M \@M \@M \@M
+ \value{typog@mean@penalty}
+ \displaywidowpenalty
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{vtiebotdisp}
+% \begin{macrocode}
+\NewDocumentEnvironment{vtiebotdisp}{O{3}}
+ {\typog@vtiebotdisp{#1}}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{vtiebotdisptoppar}
+% \begin{macrocode}
+\NewDocumentEnvironment{vtiebotdisptoppar}{O{3}o}
+ {\postdisplaypenalty=\@M
+ \predisplaypenalty=10001% in accordance with package `widows-and-orphans'
+ \edef\typog@@top@lines{\IfNoValueTF{#2}{#1}{#2}}%
+ \edef\typog@@after@display@math{\vtietop[\typog@@top@lines]}%
+ \PushPostHook{display}{\aftergroup\typog@@after@display@math}%
+ \vtiebotdisp[#1]}
+ {\par
+ \PopPostHook{display}%
+ \ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Breakable Disp.~Eqs.}
+%
+% \begin{environment}{breakabledisplay}
+% We use a different default, 3, than \cs{allowdisplaybreaks} which utilizes~4 as its
+% default.
+%
+% \begin{macrocode}
+\newenvironment*{breakabledisplay}[1][3]
+ {\allowdisplaybreaks[#1]}
+ {\ignorespacesafterend}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Setspace Front-End}
+%
+% \begin{macro}{\typog@iter@limit}
+% The maximum number of iterations we perform before bailing out with an error. Can be
+% changed by the user if convergence is slow.
+%
+% \begin{macrocode}
+\newcommand*{\typog@setbaselineskip@iter@limit}{10}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@setbaselineskip@relative@error}
+% The maximum relative error of the ratio we tolerate for the final baselineskip over the
+% target baselineskip. Can also be changed by the user if necessary.
+%
+% \begin{macrocode}
+\newcommand*{\typog@setbaselineskip@relative@error}{.001}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@setbaselineskip}
+% Given the \meta{target-baselineskip} as argument iterate setting \cs{setstretch} until the
+% error drops below our threshold.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_new:Npn \typog@setbaselineskip #1
+{
+% \end{macrocode}
+%
+% Initialize our ``emergency-stop'' loop counter.
+%
+% \begin{macrocode}
+ \int_set:Nn \l_tmpa_int {1}
+ \int_set:Nn \l_tmpb_int {\typog@setbaselineskip@iter@limit}
+% \end{macrocode}
+%
+% Note that the call to \cs{glueexpr} is required to consume dimensions that carry
+% stretchability via |plus| or |minus|.
+%
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpa_dim {\glueexpr #1}
+
+ \typog@typeout{\string\setbaselineskip:\space
+ initial\space baselineskip:\space \the\baselineskip}
+ \typog@typeout{\string\setbaselineskip:\space
+ target\space baselineskip:\space \dim_use:N \l_tmpa_dim}
+
+ \dim_compare:nNnTF {\baselineskip} > {\c_zero_dim}
+ {}
+ {
+ \PackageError{typog}
+ {\string\setbaselineskip:\space
+ baselineskip\space not\space positive}
+ {}
+ }
+
+ \dim_compare:nNnTF {\l_tmpa_dim} > {\c_zero_dim}
+ {}
+ {
+ \PackageError{typog}
+ {\string\setbaselineskip:\space target\space
+ baselineskip\space must\space be\space
+ positive}
+ {}
+ }
+
+ \skip_if_eq:nnTF {\l_tmpa_dim} {\glueexpr #1}
+ {}
+ {
+ \PackageWarning{typog}
+ {\string\setbaselineskip:\space argument\space
+ is\space a\space skip;\space
+ will\space ignore\space glue}
+ {}
+ }
+
+ \fp_set:Nn \l_tmpa_fp {\l_tmpa_dim / \baselineskip}
+ \fp_until_do:nNnn {abs(\l_tmpa_dim / \baselineskip - 1)} <
+ {\typog@setbaselineskip@relative@error}
+ {
+ \setstretch{\fp_use:N \l_tmpa_fp}
+ \fp_set:Nn \l_tmpa_fp
+ {\l_tmpa_fp * \l_tmpa_dim / \baselineskip}
+
+ \int_incr:N \l_tmpa_int
+ \int_compare:nNnTF {\l_tmpa_int} > {\l_tmpb_int}
+ {
+ \PackageError{typog}
+ {\string\setbaselineskip:\space excessive\space
+ number\space of\space iterations:\space
+ \int_use:N \l_tmpa_int\space >\space
+ \int_use:N \l_tmpb_int}
+ {}
+ }
+ {}
+ }
+
+ \typog@typeout{\string\setbaselineskip:\space
+ final\space \string\setstretch\space argument:\space
+ \fp_use:N \l_tmpa_fp}
+ \typog@typeout{\string\setbaselineskip:\space
+ final\space baselineskip:\space \the\baselineskip}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setbaselineskip}
+% \changes{v0.3}{2024-04-04}{New macro.}
+%
+% Set the \cs{baselineskip} to an absolute length.
+%
+% \begin{implementationnote}
+% Viewed as a standalone macro \cs{setbaselineskip} does not need the decoration
+% \cs{AfterPreamble}. However, all of its siblings, \cs{setbaselineskippercentage},
+% \cs{setleading}, and \cs{setleadingpercentage} then would behave differently as they are
+% delayed to the end of the preamble, but \cs{setbaselineskip} immediately becomes
+% effective. For example, the successive calls
+%
+% \begin{codeexample}
+% \cs{setbaselineskippercentage}\{140\} \\
+% \cs{setbaselineskip}\{12.5pt\}
+% \end{codeexample}
+%
+% \noindent
+% in the preamble would set the baselineskip to 140\% in the document. Therefore,
+% \cs{setbaselineskip} is delayed too and the order of the calls thus preserved.
+% \end{implementationnote}
+%
+% \begin{macrocode}
+\cs_new:Npn \setbaselineskip #1
+{
+ \AfterPreamble{\typog@setbaselineskip{#1}}
+ \ignorespaces
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\resetbaselineskip}
+% \changes{v0.3}{2024-04-04}{New macro.}
+%
+% Set the \cs{baselineskip} to \singlequotes{neutral}.
+%
+% \begin{macrocode}
+\cs_new:Npn \resetbaselineskip
+{
+ \AfterPreamble{\setstretch{1}}
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{ldimen}{\typogfontsize}
+% \changes{v0.3}{2024-04-04}{New dimen.}
+% Define the default font-size/quad size.
+%
+% \begin{macrocode}
+\dim_new:N \typogfontsize
+% \end{macrocode}
+%
+% Initialize \cs{typogfontsize} at the end of the preamble, which is after all fonts have
+% been setup.
+%
+% \begin{macrocode}
+\AfterEndPreamble{
+ \dim_set:Nn \typogfontsize {\fontdimen6\font}
+ \typog@typeout{\string\typogfontsize =
+ \dim_use:N \typogfontsize\space
+ (at\space begin\space of\space document)}
+}
+
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{macro}{\setbaselineskippercentage}
+% \changes{v0.3}{2024-04-04}{New macro.}
+% \begin{macrocode}
+\cs_new:Npn \setbaselineskippercentage #1
+{
+ \AfterPreamble{
+ \dim_compare:nNnTF {\typogfontsize} > {\c_zero_dim}
+ {
+ \typog@setbaselineskip{
+ \fp_eval:n {(#1) / 100} \typogfontsize}
+ }
+ {
+ \PackageError{typog}
+ {\string\setbaselineskippercentage:\space
+ \string\typogfontsize <= 0}
+ {Maybe\space \string\typogfontsize\space
+ is\space uninitialized?}
+ }
+ }
+ \ignorespaces
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setleading}
+% \changes{v0.3}{2024-04-04}{New macro.}
+% \begin{macrocode}
+\cs_new:Npn \setleading #1
+{
+ \AfterPreamble{
+ \dim_compare:nNnTF {\typogfontsize} > {\c_zero_dim}
+ {
+ \typog@setbaselineskip{\typogfontsize + \dimexpr #1}
+ }
+ {
+ \PackageError{typog}
+ {\string\setleading:\space
+ \string\typogfontsize <= 0}
+ {Maybe\space \string\typogfontsize\space
+ is\space uninitialized?}
+ }
+ }
+ \ignorespaces
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setleadingpercentage}
+% \changes{v0.3}{2024-04-04}{New macro.}
+% \begin{macrocode}
+\cs_new:Npn \setleadingpercentage #1
+{
+ \AfterPreamble{
+ \dim_compare:nNnTF {\typogfontsize} > {\c_zero_dim}
+ {
+ \typog@setbaselineskip{
+ \fp_eval:n {1 + (#1) / 100} \typogfontsize}
+ }
+ {
+ \PackageError{typog}
+ {\string\setleadingpercentage:\space
+ \string\typogfontsize <= 0}
+ {Maybe\space \string\typogfontsize\space
+ is\space uninitialized?}
+ }
+ }
+ \ignorespaces
+}
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Smooth Ragged}
+%
+% \begin{macro}{\typog@repeat}
+% As we shall have to repeat the line specifications for our paragraphs so often we introduce
+% the two argument macro~\cs{typog@repeat} that takes a \meta{repeat-count} and a \meta{body}
+% that is repeated.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_new_eq:NN \typog@repeat \prg_replicate:nn
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\typog@mod}
+% For error checking we shall need the modulo operation on integers, i.\,e., the remainder of
+% an integral division.
+%
+% \begin{macrocode}
+\newcommand*{\typog@mod}[2]{\int_mod:nn{#1}{#2}}
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@triplet@max@lines}
+% Maximum number of lines a smoothraggedright paragraph can have with the triplet generator.
+% The number must be divisible by~3.
+%
+% \begin{macrocode}
+\newcommand*{\typog@triplet@max@lines}{99}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{smoothraggedrightshapetriplet}
+% Engine for 3-line repetitions.
+%
+% \begin{macrocode}
+\define@key[typog]{smoothraggedrightshapetriplet}{leftskip}%
+ {\def\typog@@triplet@leftskip{#1}}
+\define@key[typog]{smoothraggedrightshapetriplet}{parindent}%
+ {\def\typog@@triplet@parindent{#1}}
+\NewDocumentEnvironment{smoothraggedrightshapetriplet}{O{} m m m}
+ {\def\typog@@triplet@leftskip{\z@}%
+ \def\typog@@triplet@parindent{\z@}%
+ \setkeys*[typog]{smoothraggedrightshapetriplet}{#1}%
+ \skip0=\typog@@triplet@leftskip\relax
+ \skip1=#2\relax
+ \skip2=#3\relax
+ \skip3=#4\relax
+ \typog@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
+ \typog@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
+ \typog@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
+ \typog@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
+ \unless\ifnum\typog@mod{\typog@triplet@max@lines}{3}=0
+ \PackageError{typog}
+ {Line number of triplet generator %
+ (\typog@triplet@max@lines) not divisible by 3}
+ {}
+ \fi
+ \edef\typog@@triplet@linespecs{%
+ \glueexpr \skip0 + \typog@@triplet@parindent\relax
+ \glueexpr \skip1 - \typog@@triplet@parindent\relax
+ \skip0 \skip2 \skip0 \skip3
+ \typog@repeat{\numexpr\typog@triplet@max@lines / 3 - 1}
+ {\skip0 \skip1 \skip0 \skip2 \skip0 \skip3}}
+ \parshape=\typog@triplet@max@lines\typog@@triplet@linespecs\relax}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \begin{macro}{\typog@quintuplet@max@lines}
+% Maximum number of lines a smoothraggedright paragraph can have with the quintuplet
+% generator. The number must be divisible by~5.
+%
+% \begin{macrocode}
+\newcommand*{\typog@quintuplet@max@lines}{95}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{smoothraggedrightshapequintuplet}
+% Engine for 5-line repetitions.
+%
+% \begin{macrocode}
+\define@key[typog]{smoothraggedrightshapequintuplet}{leftskip}
+ {\def\typog@@quintuplet@leftskip{#1}}
+\define@key[typog]{smoothraggedrightshapequintuplet}{parindent}
+ {\def\typog@@quintuplet@parindent{#1}}
+\NewDocumentEnvironment{smoothraggedrightshapequintuplet}{O{} m m m m m}
+ {\def\typog@@quintuplet@leftskip{\z@}%
+ \def\typog@@quintuplet@parindent{\z@}%
+ \setkeys*[typog]{smoothraggedrightshapequintuplet}{#1}%
+ \skip0=\typog@@quintuplet@leftskip
+ \skip1=#2\relax
+ \skip2=#3\relax
+ \skip3=#4\relax
+ \skip4=#5\relax
+ \skip5=#6\relax
+ \typog@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
+ \typog@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
+ \typog@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
+ \typog@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
+ \typog@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
+ \typog@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
+ \unless\ifnum\typog@mod{\typog@quintuplet@max@lines}{5}=0
+ \PackageError{typog}
+ {Line number of quintuplet generator %
+ (\typog@quintuplet@max@lines) not divisible by 5}
+ {}
+ \fi
+ \edef\typog@@quintuplet@linespecs{%
+ \glueexpr \skip0 + \typog@@quintuplet@parindent\relax
+ \glueexpr \skip1 - \typog@@quintuplet@parindent\relax
+ \skip0 \skip2 \skip0 \skip3 \skip0 \skip4 \skip0 \skip5
+ \typog@repeat{\numexpr\typog@quintuplet@max@lines / 5 - 1}
+ {\skip0 \skip1 \skip0 \skip2 \skip0 \skip3 \skip0 \skip4 \skip0 \skip5}}
+ \parshape=\typog@quintuplet@max@lines\typog@@quintuplet@linespecs\relax}
+ {\par}
+% \end{macrocode}
+
+% \end{environment}
+%
+%
+% \begin{macro}{\typog@septuplet@max@lines}
+% Maximum number of lines a smoothraggedright paragraph can have with the septuplet
+% generator. The number must be divisible by~7.
+%
+% \begin{macrocode}
+\newcommand*{\typog@septuplet@max@lines}{98}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{smoothraggedrightshapeseptuplet}
+% Engine for 7-line repetitions.
+%
+% \begin{macrocode}
+\define@key[typog]{smoothraggedrightshapeseptuplet}{leftskip}%
+ {\def\typog@@septuplet@leftskip{#1}}
+\define@key[typog]{smoothraggedrightshapeseptuplet}{parindent}%
+ {\def\typog@@septuplet@parindent{#1}}
+\NewDocumentEnvironment{smoothraggedrightshapeseptuplet}{O{} m m m m m m m}
+ {\def\typog@@septuplet@leftskip{\z@}%
+ \def\typog@@septuplet@parindent{\z@}%
+ \setkeys*[typog]{smoothraggedrightshapeseptuplet}{#1}%
+ \skip0=\typog@@septuplet@leftskip
+ \skip1=#2\relax
+ \skip2=#3\relax
+ \skip3=#4\relax
+ \skip4=#5\relax
+ \skip5=#6\relax
+ \skip6=#7\relax
+ \skip7=#8\relax
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
+ \typog@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
+ \unless\ifnum\typog@mod{\typog@septuplet@max@lines}{7}=0
+ \PackageError{typog}
+ {Line number of septuplet generator %
+ (\typog@septuplet@max@lines) not divisible by 7}
+ {}
+ \fi
+ \edef\typog@@septuplet@linespecs{%
+ \glueexpr \skip0 + \typog@@septuplet@parindent\relax
+ \glueexpr \skip1 - typog@@septuplet@parindent\relax
+ \skip0 \skip2 \skip0 \skip3 \skip0 \skip4 \skip0 \skip5 \skip0 \skip6 \skip0 \skip7
+ \typog@repeat{\numexpr\typog@septuplet@max@lines / 7 - 1}
+ {\skip0 \skip1 \skip0 \skip2 \skip0 \skip3 \skip0 \skip4 \skip0 \skip5 \skip0 \skip6 \skip0 \skip7}}
+ \parshape=\typog@septuplet@max@lines\typog@@septuplet@linespecs\relax}
+ {\par}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\smoothraggedrightfuzzfactor}
+% \begin{macrocode}
+\newcommand*{\smoothraggedrightfuzzfactor}{1.0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\smoothraggedrightgenerator}
+% \begin{macrocode}
+\newcommand*{\smoothraggedrightgenerator}{triplet}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\smoothraggedrightleftskip}
+% \begin{macrocode}
+\newlength{\smoothraggedrightleftskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\smoothraggedrightparindent}
+% \begin{macrocode}
+\newlength{\smoothraggedrightparindent}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\smoothraggedrightragwidth}
+% \begin{macrocode}
+\newlength{\smoothraggedrightragwidth}
+\setlength{\smoothraggedrightragwidth}{2em}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{ldimen}{\typog@fuzzwidth}
+% \begin{macrocode}
+\newdimen{\typog@fuzzwidth}
+
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{environment}{smoothraggedrightpar}
+% The longest line will be \cs{linewidth} wide
+% unless overridden by optional argument~|linewidth|.
+%
+% \begin{macrocode}
+\define@key[typog]{smoothraggedrightpar}{linewidth}%
+ {\def\typog@@linewidth{#1}}
+
+\NewDocumentEnvironment{smoothraggedrightpar}{O{}}
+ {\edef\typog@@linewidth{\linewidth}%
+ \setkeys[typog]{smoothraggedrightpar}{#1}%
+% \end{macrocode}
+% Convert generator name to an integer suitable for \cs{ifcase}.
+% \begin{macrocode}
+ \edef\typog@@generatorchoice{%
+ \ifnum\pdf@strcmp{\smoothraggedrightgenerator}{triplet}=\z@
+ 0%
+ \else
+ \ifnum\pdf@strcmp{\smoothraggedrightgenerator}{quintuplet}=\z@
+ 1%
+ \else
+ \ifnum\pdf@strcmp{\smoothraggedrightgenerator}{septuplet}=\z@
+ 2%
+ \else
+ \PackageError{typog}
+ {smoothraggedright: unknown generator name}
+ {valid generator names are triplet, quintuplet, and septuplet}%
+ \fi
+ \fi
+ \fi}%
+% \end{macrocode}
+% Obey to the indentation prescribed by any list environment.
+% \begin{macrocode}
+ \let\typog@@smoothraggedrightleftskip=\smoothraggedrightleftskip
+ \ifnum\@listdepth>0
+ \addtolength{\typog@@smoothraggedrightleftskip}{\leftmargin}%
+ \fi
+% \end{macrocode}
+% Scale the fuzz-width by the user's factor.
+% Later we shall rescale again specifically for each generator.
+% \begin{macrocode}
+ \typog@fuzzwidth=\smoothraggedrightfuzzfactor\smoothraggedrightragwidth
+% \end{macrocode}
+%
+% Now for the generator-specific code\dots
+% \begin{macrocode}
+ \ifcase\typog@@generatorchoice
+% \end{macrocode}
+%
+% |generator=triplet| produces a \doublequotes{short line -- long line -- middle length line}~sequence.
+% \begin{macrocode}
+ \typog@fuzzwidth=.25\smoothraggedrightragwidth
+ \typog@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \smoothraggedrightshapetriplet[leftskip=\typog@@smoothraggedrightleftskip,
+ parindent=\glueexpr\smoothraggedrightparindent + \parindent,
+ #1]%
+ {\glueexpr \typog@@linewidth - \smoothraggedrightragwidth
+ + \glueexpr \z@ \@plus \typog@fuzzwidth\relax}% (1)
+ {\glueexpr \typog@@linewidth \@minus \typog@fuzzwidth}% (3)
+ {\glueexpr (\typog@@linewidth * 2 - \smoothraggedrightragwidth) / 2
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (2)
+ \or
+% \end{macrocode}
+%
+% |generator=quintuplet|.
+% \begin{macrocode}
+ \typog@fuzzwidth=.125\smoothraggedrightragwidth
+ \typog@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \smoothraggedrightshapequintuplet[leftskip=\typog@@smoothraggedrightleftskip,
+ parindent=\glueexpr\smoothraggedrightparindent + \parindent,
+ #1]%
+ {\glueexpr (\typog@@linewidth * 4 - \smoothraggedrightragwidth * 3) / 4
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (2)
+ {\glueexpr \typog@@linewidth \@minus \typog@fuzzwidth\relax}% (5)
+ {\glueexpr (\typog@@linewidth * 2 - \smoothraggedrightragwidth) / 2
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (3)
+ {\glueexpr (\typog@@linewidth * 4 - \smoothraggedrightragwidth) / 4
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (4)
+ {\glueexpr \typog@@linewidth - \smoothraggedrightragwidth
+ + \glueexpr \z@ \@plus \typog@fuzzwidth\relax}% (1)
+ \or
+% \end{macrocode}
+%
+% |generator=septuplet|.
+%
+% Permutation \mbox{3 -- 6 -- 1 -- 5 -- 2 -- 7 -- 4}
+% looks \singlequotes{random} enough for our purposes.
+%
+% \begin{macrocode}
+ \typog@fuzzwidth=.08333\smoothraggedrightragwidth
+ \typog@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \smoothraggedrightshapeseptuplet[leftskip=\typog@@smoothraggedrightleftskip,
+ parindent=\glueexpr\smoothraggedrightparindent + \parindent,
+ #1]%
+ {\glueexpr (\typog@@linewidth * 3 - \smoothraggedrightragwidth * 2) / 3
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (3)
+ {\glueexpr (\typog@@linewidth * 6 - \smoothraggedrightragwidth) / 6
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (6)
+ {\glueexpr \typog@@linewidth - \smoothraggedrightragwidth +
+ + \glueexpr \z@ \@plus \typog@fuzzwidth\relax}% (1)
+ {\glueexpr (\typog@@linewidth * 3 - \smoothraggedrightragwidth) / 3
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (5)
+ {\glueexpr (\typog@@linewidth * 6 - \smoothraggedrightragwidth * 5) / 6
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (2)
+ {\glueexpr \typog@@linewidth \@minus \typog@fuzzwidth\relax}% (7)
+ {\glueexpr (\typog@@linewidth * 2 - \smoothraggedrightragwidth) / 2
+ + \glueexpr \z@ \@plus \typog@fuzzwidth \@minus \typog@fuzzwidth\relax}% (4)
+ \fi}
+ {\ifcase\typog@@generatorchoice
+ \endsmoothraggedrightshapetriplet
+ \or
+ \endsmoothraggedrightshapequintuplet
+ \or
+ \endsmoothraggedrightshapeseptuplet
+ \fi}
+
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{smoothraggedright}
+% \begin{macrocode}
+\NewDocumentEnvironment{smoothraggedright}{O{}}
+ {\PushPostHook{par}{\hskip-\parindent\smoothraggedrightpar[#1]\relax}}
+ {\par\PopPostHook{par}}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \iffalse
+%</package>
+% \fi
+%
+%
+% \addtocontents{toc}{\protect\end{multicols}}
+% \addtocontents{toc}{\endgroup}
+%
+%
+% \Finale
+%
+%
+%
+% \iffalse
+%<*example>
+\documentclass[a4paper]{article}
+
+\tracingonline=0
+
+\PassOptionsToPackage{dvipsnames}{xcolor}
+
+\usepackage{amsmath}
+\usepackage[main=USenglish, german]{babel}
+\usepackage{float}
+\usepackage[T1]{fontenc}
+\usepackage{fullwidth}
+\usepackage{hyphenat}
+\usepackage{mathtools}
+\usepackage[activate=true, verbose=true]{microtype}
+\usepackage{ragged2e}
+\usepackage[nobottomtitles*]{titlesec}\renewcommand*{\bottomtitlespace}{.2\textheight}
+\usepackage[debug, trackingttspacing]{typog}
+\usepackage{xcolor}
+
+\usepackage[loosest, proportional, scaled=1.064]{erewhon}
+\usepackage[erewhon]{newtxmath}
+\usepackage[scaled=.95]{cabin}
+\usepackage{inconsolata}
+\usepackage{setspace}\setstretch{1.08333}
+
+
+\def\xsfdefault{\relax}
+{
+ \def\examplefont{6}
+
+ \ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
+ \gdef\examplefontname{default}
+ \global\let\xsf=\sf
+ \global\let\xsfdefault=\sfdefault
+ \or % 1 -- Nunito
+ \gdef\examplefontname{Nunito}
+ \usepackage{nunito}
+ \xdef\xsfdefault{\rmdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \or % 2 -- OpenSans
+ \gdef\examplefontname{OpenSans}
+ \usepackage[defaultsans]{opensans}
+ \xdef\xsfdefault{\sfdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \or % 3 -- Noto Sans
+ \gdef\examplefontname{OpenSans}
+ \usepackage[sfdefault]{noto}
+ \xdef\xsfdefault{\sfdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \or % 4 -- Roboto
+ \gdef\examplefontname{Roboto}
+ \usepackage[sfdefault]{roboto}
+ \xdef\xsfdefault{\sfdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \or % 5 -- Montserrat
+ \gdef\examplefontname{Montserrat Alternate}
+ \usepackage[alternates]{montserrat}
+ \xdef\xsfdefault{\sfdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \or % 6 -- Inter
+ \gdef\examplefontname{Inter}
+ \usepackage[sfdefault]{inter}
+ \xdef\xsfdefault{\sfdefault}
+ \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
+ \else
+ \SelectedUnknownExampleFont
+ \fi
+
+ \typeout{typog-example: font for examples: `\xsfdefault'}%
+}
+
+
+\usepackage{hyperref}
+\usepackage{cleveref}
+
+
+\hypersetup{
+ citecolor = CadetBlue,
+ colorlinks = true,
+ linkcolor = Blue,
+ linktocpage = true,
+ pdfauthor={Dr. Christoph L. Spiel},
+ pdfkeywords={Examples,
+ LaTeX, typography, ligature, italic-correction, paragraph justification, sloppy, ragged},
+ pdfsubject={Examples for typographic fine-tuning of LaTeX},
+ pdftitle={Examples for LaTeX package typog},
+ raiselinks = false,
+ urlcolor = Mulberry
+}
+
+
+\makeatletter
+\newcommand{\fs@myruled}{%
+ \fs@ruled
+ \def\@fs@capt##1##2{\floatc@ruled{##1\space\capitaldash*\space}{\fussy ##2}}%
+ \def\@fs@pre{\hrule height.8pt depth0pt \kern4pt}%
+ \def\@fs@mid{\kern3pt\hrule\kern3pt}%
+ \def\@fs@post{\kern4pt\hrule\relax}%
+}
+\makeatother
+
+\floatstyle{myruled}
+\newfloat{exemplary}{htbp}{loe}[section]
+\floatname{exemplary}{Example}
+\Crefname{exemplary}{Example}{Examples}
+\crefname{exemplary}{Ex.}{Ex.}
+
+
+\newcommand*{\acronym}[1]{\mbox{\letterspacecapitals{\MakeUppercase{#1}}}}
+\newcommand*{\bibauthor}[1]{\textsc{#1}}
+\newcommand*{\bibtitle}[1]{\textit{#1}}
+\newcommand*{\bottomstrut}{\rule[-.5em]{0pt}{0pt}}
+\newcommand*{\code}[1]{{\ttfamily\hyphenchar\font=`\-\relax #1}}
+\newcommand*{\doublequotes}[1]{\doubleguillemetright#1\doubleguillemetleft}
+\newcommand*{\eTeX}{\mbox{\(\epsilon\)-\TeX}}
+\newcommand*{\letterspacecapitals}[1]{\textls[30]{#1}}
+\newcommand*{\metavar}[1]{\textit{#1}}
+\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
+\newcommand*{\propername}[1]{\mbox{\textsc{\textls[25]{#1}}}}
+\newcommand*{\sample}[1]{\mbox{`\texttt{#1}'}}
+\newcommand*{\singlequotes}[1]{\singleguillemetright#1\singleguillemetleft}
+\newcommand*{\topstrut}{\rule{0pt}{1.25em}}
+\newcommand*{\visualpar}{\,\P\quad}
+
+\newlength{\emreference}
+\AtBeginDocument{\setlength{\emreference}{\fontdimen6\font}}
+\newrobustcmd*{\milliem}[1]
+ {\ifdim #1=0pt
+ #1%
+ \else
+ \generictextfraction{\the\numexpr\dimexpr (#1) * 1000 / \emreference}{1000}\:em%
+ \fi}
+
+\newcommand*{\generictextfraction}[2]
+ {\raisebox{.4em}[0pt]{\scriptsize #1}%
+ \kern-.05em\textfractionsolidus\kern-.05em
+ \raisebox{-.15em}[0pt][0pt]{\scriptsize #2}}
+
+\newcommand*{\leftmarker}{\rule{.2em}{.1pt}\rule{.1pt}{.667em}}
+\newcommand*{\rightmarker}{\rule{.1pt}{.667em}\rule{.2em}{.1pt}}
+\newcommand*{\indicatewidth}[1]{\mbox{\leftmarker #1\rightmarker}}
+
+\newcommand*{\maxipagerule}{\medskip\hrule\medskip}
+\newenvironment*{maxipage*}
+ {\par
+ \noindent
+ \fullwidthsetup{leftmargin=-\marginparsep - \marginparwidth,
+ width=\textwidth + 2\marginparsep + 2\marginparwidth}
+ \begin{fullwidth}%
+ \vspace*{1pt}% Why is some vspace necessary?
+ \parskip=.5\baselineskip}
+ {\par
+ \end{fullwidth}%
+ \par}
+\newenvironment*{maxipage}
+ {\par
+ \noindent
+ \fullwidthsetup{leftmargin=-\marginparsep - \marginparwidth,
+ width=\textwidth + 2\marginparsep + 2\marginparwidth}
+ \begin{fullwidth}%
+ \maxipagerule
+ \parskip=.5\baselineskip}
+ {\par
+ \vskip\parskip
+ \maxipagerule
+ \end{fullwidth}%
+ \par}
+
+
+\newlength{\examplewidth}
+\setlength{\examplewidth}{160pt}
+
+\newcommand*{\texbooktolerancesample}
+ {If you want to avoid overfull boxes at all costs without trying to fix them manually,
+ you might be tempt\-ed to set \texttt{tol\-er\-ance=\allowbreak10000}; this allows
+ arbitrarily bad lines to be acceptable in tough situations. But infinite tolerance
+ is a bad idea, because \TeX{} doesn't distinguish between terribly bad and
+ preposterously horrible lines. Indeed, a tolerance of 10000 encourages \TeX{} to
+ concentrate all the badness in one place, making one truly unsightly line instead of
+ two moderately bad ones, because a single ``write-off'' produces fewest total
+ demerits according to the rules.}
+ %There is a much better way to get the desired effect:~[\dots]
+\newcommand*{\texbooktolerancesamplecredits}
+ {\medskip\noindent
+ \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~107]{knuth:1986}.}}
+
+\newcommand*{\texbookparfillskipsample}
+ {We still haven't discussed the special trick that allows the final line of a paragraph
+ to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
+ it does two important things: [\dots]}
+\newcommand*{\texbooklongparfillskipsample}
+ {We still haven't discussed the special trick that allows the final line of a paragraph
+ to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
+ it does two important things: (1)~If the final item of the current horizontal list is glue,
+ that glue is discarded. (The reason is that a blank space often gets into a token list just
+ before \code{\char92par} or just before \code{\char36\char36}, and this blank space should not be
+ part of the paragraph.) (2)~Three or more items are put at the end of the
+ current horizontal list~[\dots]}
+\newcommand*{\texbookparfillskipsamplecredits}
+ {\medskip\noindent
+ \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~99n]{knuth:1986}.}}
+
+\newcommand*{\texbookparshapeskipsample}
+ {It's possible to control the length of lines in a much more general way, if simple
+ changes to \code{\string\leftskip} and \code{\string\rightskip} aren't flexible enough for your
+ purposes. For example, a semicircular hole has been cut out of the present paragraph,
+ in order to make room for a circular illustration that contains some of
+ Galileo's immortal words about circles; all of the line breaks in this
+ paragraph and in the circular quotation were found by \TeX's line-breaking algorithm.
+ You can specify a essentially arbitrary paragraph shape, by saying
+ \code{parshape}=\metavar{number}, where the \metavar{number} is a positive integer~\(n\),
+ followed by \(2n\)~\metavar{dimen} specifications.}
+\newcommand*{\texbookparshapeskipsamplecredits}
+ {\medskip\noindent
+ \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~101]{knuth:1986}.}}
+
+\newcommand*{\texbookbaselineskipsample}
+ {When you are typsetting a document that spans several pages, it's generally best to
+ define \code{\string\baselineskip} so that it cannot stretch or shrink, because
+ this will give more uniformity to the pages. A small variation in the distance
+ between the baselines---say only half a point---can make a substantial difference
+ in the appearance of the type, since it significantly affects the proportion of
+ white to black. On the other hand, if you are preparing a one-page document, you
+ might want to give the baselineskip some stretchability, so that \TeX{} will help
+ you fit the copy on the page.}
+\newcommand*{\texbookbaselineskipsamplecredits}
+ {\medskip\noindent
+ \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~78]{knuth:1986}.}}
+
+
+
+\newcommand*{\examplepreset}{\microtypesetup{activate=false}}
+\newcommand*{\examplesetup}{\frenchspacing\xsf\small\fussy}
+\newcommand*{\exampleparbox}[2][n/a]
+ {\begin{typoginspect}{#1}
+ \examplepreset
+ \parbox[t]{\examplewidth}{\examplesetup #2}%
+ \end{typoginspect}}
+\newcommand*{\examplesep}{\hspace*{20pt}}
+\def\fontnameandweightinfo#1{%
+ {\def\projectoutfontname##1-##2-##3\relax{##1~\lowercase{##2}}%
+ \global\expandafter\edef\csname#1\endcsname{\expandafter\projectoutfontname\fontname\font\relax}}}
+\newcommand*{\examplefontinformation}
+ {\smallskip
+ \examplesetup
+ \fontnameandweightinfo{exfontnameinfo}%
+ \fontsizeinfo{exfontsizeinfo}%
+ The font used in this example is \exfontnameinfo, \exfontsizeinfo*.}
+
+
+\setcounter{tocdepth}{1}
+\setlength{\overfullrule}{3pt}
+\hbadness=-1
+
+
+\input{ushyphex}
+
+\hyphenation{
+ Double-guillemet-left
+ Double-guillemet-right
+ Double-quotes
+ Single-guillemet-left
+ Single-guillemet-right
+ Single-quotes
+ adj-demerits
+ allow-display-breaks
+ babel-hyphenation
+ base-line-skip
+ break-penalty
+ breakable-display
+ capital-hyphen
+ capital-times
+ cite-dash
+ club-penalties
+ cref-range-conjunction
+ display-break
+ display-widow-penalties
+ double-guillemet-right
+ double-hyphen-demerits
+ double-quotes
+ final-hyphen-demerits
+ inter-display-line-penalty
+ inter-text
+ kerned-hyphen
+ last-line-ragged-left
+ last-line-ragged-left-par
+ line-width
+ loose-ness
+ loose-spacing
+ make-at-letter
+ make-at-other
+ mar-gin-al
+ math-italics-correction
+ micro-type
+ number-dash
+ par-box
+ par-indent
+ parfillskip
+ pdf-string-def-Disable-Commands
+ post-display-penalty
+ pre-display-penalty
+ raise-capital-guillemets
+ raise-capital-times
+ raise-number-dash
+ set-font-expand
+ set-font-shrink
+ set-font-stretch
+ short-inter-text
+ single-guillemet-left
+ single-guillemet-right
+ single-quotes
+ slash-kern
+ slightly-sloppy-par
+ sloppy-par
+ smooth-ragged-right-fuzz-factor
+ smooth-ragged-right-par
+ smooth-ragged-right-shape-quintuplet
+ smooth-ragged-right-shape-septuplet
+ smooth-ragged-right-shape-triplet
+ space-skip
+ text-italics-correction
+ tight-spacing
+ tracing-boxes
+ tracing-para-graphs
+ vtie-bot
+ vtie-bot-disp
+ vtie-bot-disp-par
+ vtie-bot-disp-top-par
+ vtie-bot-par
+ vtie-top
+ vtie-top-par
+ widow-penalties
+}
+
+
+\SetExpansion[context=sloppy, stretch=30, shrink=60, step=5]{encoding={OT1, T1, TS1}}{}% p15
+\SetTracking{encoding=*, shape=sc}{20}
+
+
+\begin{document}
+\fussy
+\lastlinefit=1000
+\nonfrenchspacing
+
+\begin{center}
+ \Huge\bf\sf
+ TypoG Examples
+\end{center}
+
+\bigskip
+
+\noindent
+The section numbers correspond to the subsections of section~3
+in the official documentation of package~\packagename{typog}.
+
+\bigskip
+
+\tableofcontents
+
+
+\clearpage
+\listof{exemplary}{Examples}
+
+
+\clearpage
+\noindent
+Unless otherwise noted the font used in the examples is \singlequotes{\examplefontname}.
+
+\bigskip
+
+\section{Information}
+
+\code{\string\fontsizeinfo} --\fontsizeinfo{docsizeinfo}
+At this point of the document, the font~size
+and the line~spacing are \docsizeinfo*~(w/o~units).
+For footnotes however, the current sizes are%
+\footnote{This is the footnote where we get the sizes from.\fontsizeinfo{footsizeinfo}}
+\footsizeinfo.
+
+Next we show a comparison of different font sizes and line spacings
+decorated with the results of \code{\string\fontsizeinfo}.
+
+\medskip
+
+\begin{maxipage}
+ \setstretch{1}
+ \newcommand*{\baselineskipdoc}%
+ {Macro \code{\string\baselineskip} is a length command which
+ specifies the minimum space between the bottom of two
+ successive lines in a paragraph. Its value may be
+ automatically reset by \LaTeX, for example, by font
+ changes in the text.}
+ \renewcommand*{\examplefontname}{Merriweather}
+ Different font sizes and line spacings exemplified with the \examplefontname~font.
+
+ \smallskip
+
+ \begingroup
+ \fontfamily{Merriwthr-TLF}\selectfont
+ \noindent
+ \parbox[t]{.31\linewidth}%
+ {\fontsize{8.5}{12}\selectfont
+ \baselineskipdoc
+ \fontsizeinfo{examplesizeinfotight}}
+ \hfill
+ \parbox[t]{.31\linewidth}%
+ {\fontsize{10}{12}\selectfont
+ \baselineskipdoc
+ \fontsizeinfo{examplesizeinfo}}
+ \hfill
+ \parbox[t]{.31\linewidth}%
+ {\fontsize{10}{13.5}\selectfont
+ \baselineskipdoc
+ \fontsizeinfo{examplesizeinfoloose}}
+ \endgroup
+
+ \medskip
+
+ \noindent
+ \parbox[t]{.31\linewidth}{\examplefontname~\examplesizeinfotight*}
+ \hfill
+ \parbox[t]{.31\linewidth}{\examplefontname~\examplesizeinfo*}
+ \hfill
+ \parbox[t]{.31\linewidth}{\examplefontname~\examplesizeinfoloose*}
+\end{maxipage}
+
+\noindent Starred form eats spaces? \examplesizeinfo* .
+
+
+\section{Hyphenation}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \parbox[t]{0pt}{%
+ \code{\string\mbox+\string\breakpoint*} \\
+ \mbox{(pre-)}\breakpoint*Hilbert space}
+ \hspace{100pt}
+ \parbox[t]{0pt}{%
+ \code{\string\breakpoint*} \\
+ (pre-)\breakpoint*Hilbert space}
+ \hspace{100pt}
+ \parbox[t]{0pt}{%
+ \code{\string\breakpoint} \\
+ (pre-)\breakpoint Hilbert space}
+\end{quote}
+
+\noindent Starred form eats spaces? a\breakpoint* b. Unstarred: a\breakpoint b.
+
+\medskip
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \parbox[t]{0pt}{%
+ \begin{hyphenmin}{6}
+ Set minimum hyphenation values for both \code{\string\lefthyphenmin} and
+ \code{\string\righthyphenmin}: \the\lefthyphenmin{} and \the\righthyphenmin.
+ \end{hyphenmin}}
+ \hspace{100pt}
+ \parbox[t]{0pt}{%
+ \begin{hyphenmin}[4]{5}
+ Set minimum hyphenation values for \code{\string\lefthyphenmin} and
+ \code{\string\righthyphenmin} separately: \the\lefthyphenmin{} and \the\righthyphenmin.
+ \end{hyphenmin}}
+ \hspace{100pt}
+ \parbox[t]{0pt}{%
+ Returned to the default values for \code{\string\lefthyphenmin} and
+ \code{\string\righthyphenmin}: \the\lefthyphenmin{} and \the\righthyphenmin.}
+\end{quote}
+
+
+\section{Disable\kernedslash*Break Ligatures}
+
+\begin{center}
+ \begin{tabular}{@{}ll@{}}
+ \hline
+ \multicolumn{1}{@{}l|}{Macro} & Result \\
+ \hline
+ n/a &
+ fine affirmation of baffling flavors \\
+ \code{\string\nolig*} &
+ f\nolig*ine af\nolig*f\nolig*irmation of baf\nolig*f\nolig*ling f\nolig*lavors \\
+ \code{\string\nolig} &
+ f\nolig{}ine af\nolig{}f\nolig{}irmation of baf\nolig{}f\nolig{}ling f\nolig{}lavors \\
+ \code{\string\nolig*[75]} & of\nolig*[75]f\nolig*[75]ice
+ \end{tabular}
+\end{center}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \parbox[t]{0pt}{%
+ \code{\string\nolig*} \\
+ bi\nolig*{}jection}
+ \hspace{60pt}
+ \parbox[t]{0pt}{%
+ \code{\string\nolig} \\
+ bi\nolig{}jection}
+\end{quote}
+
+\noindent Starred form eats spaces? f\nolig* i, f\nolig*[0] i.
+
+
+\section{Manual Italic Correction}
+
+\paragraph{Text Mode.}
+
+The italic correction of the current font is \the\fontdimen1\font/pt.
+
+We demonstrate the effect of \code{\string\itcorr} with a pair of bookends:
+uncorrected italics: \indicatewidth{\it X},
+\TeX-corrected (\code{\string\/}): \indicatewidth{\it X\/},
+and \code{\string\itcorr\{7\}}: \indicatewidth{\it X\itcorr{7}}.
+
+Correction~0: \indicatewidth{\itcorr*{0}};
+corr.~3: \indicatewidth{\itcorr{3}}, \indicatewidth{\itcorr*{3}} (starred);
+corr.~\textminus6: \indicatewidth{\itcorr{-6}}.
+
+\paragraph{Mathematical Mode.}
+
+Uncorrected: \([f]\),
+corrected: \([\itcorr{1} f\itcorr{1}]\)
+
+Correction~0: \indicatewidth{\(\itcorr{0}\)};
+corr.~3: \indicatewidth{\(\itcorr{3}\)};
+corr.~\textminus6: \indicatewidth{\(\itcorr{-6}\)}.
+
+
+\section{Apply Extra Kerning}
+
+
+\subsection{Slash}
+
+The slash with some extra space around it can be helpful for certain pairs,
+as for example years or names.
+
+\begin{center}
+ \begin{tabular}{@{}ll@{}}
+ \hline
+ \multicolumn{1}{@{}l|}{Macro} & Result \\
+ \hline
+ n/a & 1991/1992,
+ New~York/NY, Korringa/Kohn/Rostoker \\
+ \code{\string\kernedslash} &
+ 1991\kernedslash1992, New~York\kernedslash{}NY, Korringa\kernedslash{}Kohn\kernedslash{}Rostoker \\
+ \end{tabular}
+\end{center}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \parbox[t]{0pt}{%
+ \code{\string\kernedslash*} \\
+ 1991\kernedslash*1992,
+ New~York\kernedslash*NY,
+ Korringa\kernedslash*Kohn\kernedslash*Rostoker}
+ \hspace{120pt}
+ \parbox[t]{0pt}{%
+ \code{\string\kernedslash} \\
+ 1991\kernedslash{}1992,
+ New~York\kernedslash{}NY,
+ Korringa\kernedslash{}Kohn\kernedslash{}Rostoker}
+\end{quote}
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \parbox[t]{0pt}{%
+ \code{\string\kernedslash*}\code{\string\nobreak} \\
+ 1991\kernedslash*\nobreak{}1992,
+ New~York\kernedslash*\nobreak{}NY,
+ Korringa\kernedslash*Kohn\kernedslash*\nobreak{}Rostoker}
+ \hspace{140pt}
+ \parbox[t]{0pt}{%
+ \code{\string\allowhyphenation\string\kernedslash} \\
+ 1991\kernedslash{}1992,
+ New~York\kernedslash{}NY,
+ Korringa\allowhyphenation\kernedslash{}Kohn\kernedslash{}Rostoker}
+\end{quote}
+
+\noindent Starred form eats spaces? p\kernedslash* q.
+
+
+\subsection{Hyphen}
+
+Uncorrected
+
+\begin{quote}
+ \(K\)-vector space, \(g\)-factor, \(f\)-function
+\end{quote}
+
+\noindent Corrected
+
+\begin{quote}
+ \typogsetup{raisecapitalhyphen=.075em, raiseguillemets=.05em}
+ \(K\)\leftkernedhyphen{-75}vector space,
+ \(g\)\leftkernedhyphen{-25}factor,
+ \(f\)\leftkernedhyphen{-100}function
+ %% \(G\)\kernedhyphen[*]{50}{-50}Wirkung,
+ %% \(G\)\leftkernedhyphen{50}äquivalent,
+ %% \(K\)\kernedhyphen[*]{-50}{-50}Vektorraum,
+ %% \(K\)\kernedhyphen{-50}{-25}bilinear,
+ %% \propername{Young}\rightkernedhyphen{-50}Tableaux,
+ %% \singlequotes{Bra}\kernedhyphen[50]{50}{-50}Vektor,
+ %% \singlequotes{Ket}\kernedhyphen[50]{50}{-50}Vektor,
+ %% halbzahlige~\(l\)\kernedhyphen{50}{-50}Werte.
+\end{quote}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+
+ \parbox[t]{0pt}{hyphen~\mbox{`\code{-}'} \\ self-energy}
+ \hspace{80pt}
+ \parbox[t]{0pt}{\code{\string\hyp} \\ self\hyp{}energy}
+ \hspace{60pt}
+ \parbox[t]{0pt}{\code{\string\kernedhyphen*} \\ self\kernedhyphen*{5}{-5}energy}
+ \hspace{80pt}
+ \parbox[t]{0pt}{\code{\string\kernedhyphen} \\ self\kernedhyphen{5}{-5}energy}
+\end{quote}
+
+\noindent If a \code{\string\kernedhyphen} goes astray in a math environment,
+it decays to an ordinary minus with appropriate kerning:
+\(G \kernedhyphen{-30}{-50} V\)\!.
+
+
+\section{Raise Selected Characters}
+
+\subsection{Capital Hyphen}
+
+\newlength{\exemplaryraisecapitalhyphen}
+\setlength{\exemplaryraisecapitalhyphen}{.6667pt}
+With the standard hyphen we get
+
+\begin{quote}
+ \begin{otherlanguage}{german}
+ \acronym{NMR}-Spektroskopie,
+ \acronym{SI}-Einheit,
+ \(G\)-Modul, and
+ \(K\)-Vektorraum,
+ \end{otherlanguage}
+\end{quote}
+
+\noindent whereas with raising the hyphen by \the\exemplaryraisecapitalhyphen{}
+when calling \code{\string\capitalhyphen}, we arrive at
+
+\begin{quote}
+ \begin{otherlanguage}{german}
+ \typogsetup{raisecapitalhyphen=.075em}
+
+ \acronym{NMR}\capitalhyphen{}Spektroskopie,
+ \acronym{SI}\capitalhyphen{}Einheit,
+ \(G\)\capitalhyphen{}Modul, and
+ \(K\)\capitalhyphen{}Vektorraum
+ (even better with \code{\string\kernedhyphen}
+ and the star-option for the correct raise-amount:
+ \(K\)\leftkernedhyphen[*]{-100}Vektorraum).
+ \end{otherlanguage}
+\end{quote}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \begin{otherlanguage}{german}
+ \parbox[t]{0pt}{%
+ \code{\string\capitalhyphen*} \\
+ \acronym{NMR}\capitalhyphen*{}Spektroskopie
+ }
+ \hspace{120pt}
+ \parbox[t]{0pt}{%
+ \code{\string\capitalhyphen} \\
+ \acronym{NMR}\capitalhyphen{}Spektroskopie
+ }
+ \end{otherlanguage}
+\end{quote}
+
+\noindent Starred form eats spaces?
+{\typogsetup{raisecapitalhyphen=.075em}
+ V\capitalhyphen* W.}
+
+
+\subsection{Capital Dash}
+
+\newlength{\exemplaryraisecapitaldash}
+\setlength{\exemplaryraisecapitaldash}{.075em}
+
+Compare the result of plain~\code{\string\textendash}
+
+\begin{quote}
+ A\textendash M, N\textendash Z, C1\,\textendash\,C4, LEED\:\textendash\:STM
+\end{quote}
+
+\noindent with \code{\string\capitaldash}:
+
+\begin{quote}
+ \typogsetup{raisecapitaldash=\exemplaryraisecapitaldash}
+
+ A\capitaldash{}M, N\capitaldash{}Z, C1\,\capitaldash\,C4, LEED\:\capitaldash\:STM
+\end{quote}
+
+\noindent where the en-dash has been raised by \milliem{\exemplaryraisecapitaldash}.
+
+Starred form eats spaces? V\capitaldash* W.
+
+
+\subsection{Number Dash}
+
+\newlength{\exemplaryraisefiguredash}
+\setlength{\exemplaryraisefiguredash}{.6667pt}
+Compare the result of plain~\code{\string\textendash}
+
+\begin{quote}
+ 3--5, 81--82, 485--491
+\end{quote}
+
+\noindent with \code{\string\figuredash}:
+
+\begin{quote}
+ \typogsetup{raisefiguredash=\exemplaryraisefiguredash}
+ 3\figuredash 5, 81\figuredash 82, 485\figuredash 491
+\end{quote}
+
+\noindent where the en-dash has been raised by \the\exemplaryraisefiguredash.
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \typogsetup{raisefiguredash=\exemplaryraisefiguredash}
+ \parbox[t]{0pt}{%
+ \code{\string\figuredash*} \\
+ 3\figuredash*5, 81\figuredash*82, 485\figuredash*491
+ }
+ \hspace{80pt}
+ \parbox[t]{0pt}{%
+ \code{\string\figuredash} \\
+ 3\figuredash 5, 81\figuredash 82, 485\figuredash 491
+ }
+\end{quote}
+
+\noindent Starred form eats spaces? 44\figuredash* 55.
+
+
+\subsection{Multiplication Sign \capitaldash{} Times~``\texttimes''}
+
+\newlength{\exemplaryraisetimes}
+\setlength{\exemplaryraisetimes}{.6667pt}
+The problem with a too-low multiplication sign arises
+for example with matrices of a given, specific size.
+
+\noindent Uncorrected
+
+\begin{quote}
+ \acronym{LR}-mode: 2\texttimes2-matrix, \(N\)\texttimes\(M\)-matrix \\
+ Math-mode: \(2\times2\)-matrix, \(N\times M\)-matrix
+\end{quote}
+
+\noindent and corrected
+
+\begin{quote}
+ \typogsetup{raisecapitalhyphen=\exemplaryraisecapitalhyphen,
+ raisecapitaltimes=\exemplaryraisetimes}
+ \acronym{LR}-mode: 2\capitaltimes2-matrix, \(N\)\capitaltimes\(M\)-matrix \\
+ Math-mode: \(2\capitaltimes2\)-matrix, \(N\capitaltimes M\)-matrix.
+\end{quote}
+
+
+\subsection{Guillemets}
+
+\newcommand*{\tschicholdi}
+ {Use single quotes for a first quotation.}
+\newcommand*{\tschicholdii}
+ {Use double quotes for quotations within quotations.}
+
+\newcommand*{\frenchsinglequotes}[1]{\singleguillemetright #1\singleguillemetleft}
+\newcommand*{\Frenchsinglequotes}[1]{\Singleguillemetright #1\Singleguillemetleft}
+\newcommand*{\frenchdoublequotes}[1]{\doubleguillemetright #1\doubleguillemetleft}
+\newcommand*{\Frenchdoublequotes}[1]{\Doubleguillemetright #1\Doubleguillemetleft}
+
+\newcommand*{\frenchsinglequotesFR}[1]{\singleguillemetleft\,\allowhyphenation#1\,\singleguillemetright}
+\newcommand*{\FrenchsinglequotesFR}[1]{\Singleguillemetleft\,\allowhyphenation#1\,\Singleguillemetright}
+\newcommand*{\frenchdoublequotesFR}[1]{\doubleguillemetleft\,\allowhyphenation#1\,\doubleguillemetright}
+\newcommand*{\FrenchdoublequotesFR}[1]{\Doubleguillemetleft\,\allowhyphenation#1\,\Doubleguillemetright}
+
+\newlength{\exemplaryraiseguillemets}
+\setlength{\exemplaryraiseguillemets}{.05em}
+\newlength{\exemplaryraisecapitalguillemets}
+\setlength{\exemplaryraisecapitalguillemets}{.1em}
+
+We again compare the default implementation with the adjusted one.
+
+\begin{quote}
+ \frenchsinglequotes{\tschicholdi} \\
+ \frenchdoublequotes{\tschicholdii} \\
+ \Frenchsinglequotes{1}, \Frenchsinglequotes{2}, \Frenchsinglequotes{3}. \\
+ \Frenchdoublequotes{\letterspacecapitals{ABC}},
+ \Frenchdoublequotes{\letterspacecapitals{MN}},
+ \Frenchdoublequotes{\letterspacecapitals{XYZ}}.
+\end{quote}
+
+\noindent Corrected by raising the glyphs by
+\milliem{\exemplaryraiseguillemets} and
+\milliem{\exemplaryraisecapitalguillemets}, respectively:
+
+\begin{quote}
+ \typogsetup{raiseguillemets=\exemplaryraiseguillemets,
+ raisecapitalguillemets=\exemplaryraisecapitalguillemets}
+ \frenchsinglequotes{\tschicholdi} \\
+ \frenchdoublequotes{\tschicholdii} \\
+ \Frenchsinglequotes{1}, \Frenchsinglequotes{2}, \Frenchsinglequotes{3}. \\
+ \Frenchdoublequotes{\letterspacecapitals{ABC}},
+ \Frenchdoublequotes{\letterspacecapitals{MN}},
+ \Frenchdoublequotes{\letterspacecapitals{XYZ}}.
+\end{quote}
+
+\noindent And the same using French typographic conventions:
+
+\begin{quote}
+ \typogsetup{raiseguillemets=\exemplaryraiseguillemets,
+ raisecapitalguillemets=\exemplaryraisecapitalguillemets}
+ \frenchsinglequotesFR{\tschicholdi} \\
+ \frenchdoublequotesFR{\tschicholdii} \\
+ \FrenchsinglequotesFR{1}, \FrenchsinglequotesFR{2}, \FrenchsinglequotesFR{3}. \\
+ \FrenchdoublequotesFR{\letterspacecapitals{ABC}},
+ \FrenchdoublequotesFR{\letterspacecapitals{MN}},
+ \FrenchdoublequotesFR{\letterspacecapitals{XYZ}}.
+\end{quote}
+
+\noindent Line-break behavior
+
+\begin{quote}
+ \setlength{\overfullrule}{0pt}
+ \typogsetup{raiseguillemets=\exemplaryraiseguillemets,
+ raisecapitalguillemets=\exemplaryraisecapitalguillemets}
+
+ \newcommand*{\samplestring}{relation}
+
+ \parbox[t]{0pt}{\frenchsinglequotes{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\Frenchsinglequotes{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\frenchdoublequotes{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\Frenchdoublequotes{\samplestring}}
+
+ \smallskip
+
+ \parbox[t]{0pt}{\frenchsinglequotesFR{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\FrenchsinglequotesFR{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\frenchdoublequotesFR{\samplestring}}
+ \hspace{30pt}
+ \parbox[t]{0pt}{\FrenchdoublequotesFR{\samplestring}}
+\end{quote}
+
+
+\clearpage
+\section{Align Last Line}
+
+\subsection{Last Line Ragged Left/Flush Right}
+
+\Cref{ex:lastlineraggedleftpar} is a typical use of environment~\code{lastlineraggedleftpar}:
+A narrow paragraph gets typeset with full justification
+and put \code{\string\flushright} against the right margin as a whole.
+
+The layout may look more coherent if the last lines is moved to the right margin, too.
+
+\begin{exemplary}
+ \flushright
+ \caption[Justified -- flushright]
+ {\begin{typoginspectpar}{justified-flushright}Typeset a justified paragraph flushright and let
+ macro~\code{\string\lastlineraggedleft} shift the last line
+ over to the right-hand side.\label{ex:lastlineraggedleftpar}\end{typoginspectpar}}
+
+ \setlength{\examplewidth}{220pt}
+ \exampleparbox[lastlineraggedleftpar]{\lastlineraggedleftpar\texbookparfillskipsample}
+
+ \centering
+ \texbookparfillskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+
+\subsection{Last Line Centered}
+
+The situation shown in \cref{ex:lastlinecenteredpar} is
+more widespread than \cref{ex:lastlineraggedleftpar}
+because centered tables and figures are quite common.
+Their caption parboxes are centered too,
+which is where a centered last line might fortify the layout.
+
+Another possible use of environment~\code{lastlinecenteredpar} are the final lines of chapters~--
+in particular if the chapters' ends are marked with centered dingbats.
+
+\begin{exemplary}
+ \centering
+ \caption[Typeset a justified paragraph that is centered.]
+ {\lastlinecenteredpar
+ Typeset a justified paragraph that is centered.
+ This very caption uses \code{lastlinecenteredpar}
+ to have its last line centered as well.
+ Moreover, we put a nifty asterisk centered at the bottom of the sample text.
+ \label{ex:lastlinecenteredpar}}
+
+ \setlength{\examplewidth}{220pt}
+ \exampleparbox[lastlinecenteredpar]{\lastlinecenteredpar\texbookparfillskipsample}
+
+ \medskip\(\ast\)
+
+ \texbookparfillskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+
+\clearpage
+\section{Fill Last Line}
+
+\newcommand*{\abcsample}{abcd efgh ijkl mnop qrst uvwx yz12 3456}
+
+\begin{exemplary}
+ \def\sness{2}
+ \def\exparindent{25pt}
+ \setlength{\examplewidth}{235pt}
+
+ \centering
+ \caption[Plain paragraph vs.~\code{covernextindentpar}]
+ {Top example: Typeset a paragraph without correction of the last line.
+ Middle example: Paragraph corrected with \code{covernextindentpar}.
+ We set a \code{\string\parindent} of~\exparindent{} in both parboxes
+ and we \emph{must} increase the amount of glue in the paragraph
+ to reduce the penalty of stretching the last line under a \code{\string\fussy}~setting.
+ For the samples below, we have chosen \code{\string\slightlysloppy[\sness]}.
+ The \singlequotes{Alternative}, the bottom example,
+ shows the effect of \code{tightspacing};
+ no extra sloppyness is required there.}
+
+ \exampleparbox[covernextindentpar-reference]{%
+ \setlength{\parindent}{\exparindent}%
+ \slightlysloppy[\sness]
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ \exampleparbox[covernextindentpar]{%
+ \setlength{\parindent}{\exparindent}%
+ \slightlysloppy[\sness]
+ \covernextindentpar
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ Alternative\dots\hfill\smallskip
+
+ \exampleparbox[covernextindentpar-tightspacing]{%
+ \setlength{\parindent}{\exparindent}%
+ \begin{tightspacing}
+ \texbookparfillskipsample{} \abcsample
+ \end{tightspacing}}
+
+ \texbookparfillskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+\begin{exemplary}
+ \def\sness{2}
+ \def\exparindent{0pt}
+ \setlength{\examplewidth}{155pt}
+
+ \centering
+ \caption[Plain paragraph vs.~\code{covernextindentpar} (narrow)]
+ {Same comparison as the previous example,
+ but for a small linewidth and zippo~\code{\string\parindent}.
+ The left-hand side sample is uncorrected,
+ the right-hand side features \code{\string\covernextindentpar}.
+ The sloppyness level is~\sness{} for both samples.}
+
+ \exampleparbox[narrow-covernextindentpar-reference]{%
+ \setlength{\parindent}{\exparindent}%
+ \slightlysloppy[\sness]
+ \texbookparfillskipsample{} \abcsample}
+ \qquad
+ \exampleparbox[narrow-covernextindentpar]{%
+ \setlength{\parindent}{\exparindent}%
+ \slightlysloppy[\sness]
+ \covernextindentpar[30pt]
+ \texbookparfillskipsample{} \abcsample}
+
+ \texbookparfillskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+\begin{exemplary}
+ \def\exparindent{10pt}
+ \setlength{\examplewidth}{233pt}
+
+ \centering
+ \caption[Prevent full last line]
+ {Sample~1: Typeset a paragraph without correction of the last line.
+ Sample~2: Paragraph corrected with \code{\string\openlastlinepar}.~-- Disappointing!
+ Sample~3: Same using macro~\code{\string\prolongpar}.
+ Sample~4: Alternative solution that simply increases the tracking by
+ \generictextfraction{2}{1000}\,em with~\code{setfonttracking}.
+ Sample~5: Alternative solution that increases the spacing with
+ \code{loosespacing}.}
+
+ \exampleparbox[openline-reference]{%
+ \setlength{\parindent}{\exparindent}
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ \exampleparbox[openlastlinepar]{%
+ \setlength{\parindent}{\exparindent}
+ \openlastlinepar
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ \exampleparbox[prolongpar]{%
+ \setlength{\parindent}{\exparindent}
+ \prolongpar
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ Alternatives\dots\hfill\smallskip
+
+ \exampleparbox[openline-tracking]{%
+ \setlength{\parindent}{\exparindent}%
+ \setfonttracking{2}
+ \texbookparfillskipsample{} \abcsample}
+
+ \medskip
+
+ \exampleparbox[openline-spacing]{%
+ \setlength{\parindent}{\exparindent}%
+ \begin{loosespacing}
+ \texbookparfillskipsample{} \abcsample
+ \end{loosespacing}}
+
+ \texbookparfillskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+
+\clearpage
+\section{Spacing}
+
+\subsection{Narrow\kernedslash Wide Space}
+
+The current font's parameters are shown in \cref{tab:fontdim}.\footnote{For a concise and
+understandable explanation of the plethora of font parameters
+consult \propername{David Carlisle's} excellent post on \propername{StackExchange}:
+\href{https://tex.stackexchange.com/questions/88991/what-do-different-fontdimennum-mean}%
+ {What Do Different Fontdimennum Mean}.}
+
+\begin{table}[htp]
+ \centering
+ \caption{Important \code{\string\fontdimen} values of the current text font.
+ The middle column~(\#) states the number of the fontdimen.\bottomstrut}
+ \label{tab:fontdim}
+
+ \begin{tabular}{@{}lll@{}}
+ \hline
+ \multicolumn{1}{@{}l|}{Name} & \multicolumn{1}{l|}{\#} & Value \\
+ \hline
+ Interword space & 2 & \the\fontdimen2\font\topstrut \\
+ Interword stretch & 3 & \the\fontdimen3\font \\
+ Interword shrink & 4 & \the\fontdimen4\font \\
+ Extra space & 7 & \the\fontdimen7\font
+ \end{tabular}
+\end{table}
+
+\begin{center}
+ \setlength{\overfullrule}{0pt}
+ \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{0.1pt}{1em}}
+ \newsavebox{\narrowspacesample}
+ \sbox{\narrowspacesample}{\spacesampletext{\narrowspace}}
+ \newsavebox{\widespacesample}
+ \sbox{\widespacesample}{\spacesampletext{\widespace}}
+
+ \begin{tabular}{@{}ll@{\qquad}l@{}}
+ Compare & \spacesampletext{\space} & default space, natural glue \\
+ with & \usebox{\narrowspacesample} & \code{\string\narrowspace}, natural glue \\
+ {} & \makebox[\wd\narrowspacesample][l]{\hbox to 0pt{\spacesampletext{\narrowspace}}} &
+ \code{\string\narrowspace}, tight box \\
+ {} & \makebox[\wd\narrowspacesample][l]{\hbox spread 5pt{\spacesampletext{\narrowspace}}} &
+ \code{\string\narrowspace}, spread 5pt \\
+ and again & \spacesampletext{\space} & default space, natural glue \\
+ with & \usebox{\widespacesample} & \code{\string\widespace}, natural glue \\
+ {} & \makebox[\wd\widespacesample][l]{\hbox to 0pt{\spacesampletext{\widespace}}} &
+ \code{\string\widespace}, tight box \\
+ {} & \makebox[\wd\widespacesample][l]{\hbox spread 5pt{\spacesampletext{\widespace}}} &
+ \code{\string\widespace}, spread 5pt
+ \end{tabular}
+\end{center}
+
+\noindent Starred form eats spaces? Narrow\narrowspace* Space. Wide\widespace* Space.
+
+
+\subsection{Looser\kernedslash*Tighter}
+
+\Cref{ex:spacing-i,ex:spacing-ii} show \code{tightspacing} and \code{loosespacing} at work.
+
+\begin{exemplary}
+ \newcommand*{\sness}{3}
+ \newcommand*{\tlevel}{1}
+ \centering
+
+ \caption[Looser or tighter spacing -- sloppy]
+ {Both parboxes are typeset with \code{\string\slightlysloppy[\sness]},
+ the left one with default spacing,
+ the right one with \code{tightspacing[\tlevel]}.\label{ex:spacing-i}}
+
+ \exampleparbox[tightspacing-reference]{\slightlysloppy[\sness]\texbooktolerancesample}
+ \qquad
+ \exampleparbox[tightspacing]{\slightlysloppy[\sness]\tightspacing[\tlevel]\texbooktolerancesample}
+
+ \texbooktolerancesamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+\begin{exemplary}
+ \newcommand*{\sness}{3}
+ \newcommand*{\llevel}{2}
+ \centering
+
+ \caption[Looser or tighter spacing -- sloppy]
+ {Both parboxes are typeset with \code{\string\slightlysloppy[\sness]},
+ the left one with default spacing,
+ the right one with \code{loosespacing[\llevel]}.\label{ex:spacing-ii}}
+
+ \exampleparbox[loosespacing-reference]{\slightlysloppy[\sness]\texbooktolerancesample}
+ \qquad
+ \exampleparbox[loosespacing]{\slightlysloppy[\sness]\loosespacing[\llevel]\texbooktolerancesample}
+
+ \texbooktolerancesamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+
+\clearpage
+\section{Microtype Front\capitalhyphen End}
+
+\subsection{Tracking}
+
+\newcommand*{\trackingsampletext}{%
+ This sentence contains an explicit call to \code{\string\textls}
+ with an optional argument of \((+200)\) to \textls[200]{DEMONSTRATE}
+ that this macro still works inside of \code{setfonttracking}.
+ Apart from that it is just some more text to exercise the macro.
+ Well, the explicit letterspacing example is particularly ugly.}
+
+\begin{exemplary}
+ \renewcommand*{\examplepreset}{\microtypesetup{activate=true}}
+ \def\extratracking{7}
+ \centering
+
+ \caption[Microtype: tracking]
+ {Use \packagename{microtype} to change the font tracking.
+ The sample on the left-hand side shows neutral tracking.
+ The one on the right-hand side received an extra tracking of
+ \generictextfraction{\extratracking}{1000}\,em.}
+
+ \exampleparbox[microtype-tracking-reference]{%
+ \fussy
+ \noindent
+ \trackingsampletext}
+ \qquad
+ \exampleparbox[microtype-tracking-stretch]{%
+ \begin{setfonttracking}{\extratracking}
+ \fussy
+ \noindent
+ \trackingsampletext
+ \end{setfonttracking}}
+
+ \examplefontinformation
+\end{exemplary}
+
+\newcommand*{\trackingsamplefontchangetext}{%
+ {\rm RM} {\sf SF} {\rm RM} {\tt TT} {\rm RM};
+ {\rm RM} {\it IT\/} {\rm RM};
+ {\rm RM} {\sc SC} {\rm RM}.
+ {\rm Rm} {\sf Sf} {\rm Rm} {\tt Tt} {\rm Rm};
+ {\rm Rm} {\it It\/} {\rm Rm};
+ {\rm Rm} {\sc Sc} {\rm Rm}.
+ {\rm rm} {\sf sf} {\rm rm} {\tt tt} {\rm rm};
+ {\rm rm} {\it it\/} {\rm rm};
+ {\rm rm} {\sc sc} {\rm rm}.}
+
+\begin{exemplary}
+ \renewcommand*{\examplepreset}{\microtypesetup{activate=true}}
+ \def\extratracking{1}
+ \centering
+
+ \caption[Microtype: tracking -- font changes]
+ {Check how font changes (serif, serif~italics, small-caps, sans~serif, typewriter)
+ interfere with the interword spacing.
+ The left sample has no tracking changes applied and serves as a reference,
+ whereas the right sample got an extra tracking of
+ \generictextfraction{\extratracking}{1000}\,em.\visualpar
+ The switch from and to typewriter, i.\,e., constant-width fonts
+ commonly is a source of spacing problems.}
+
+ \exampleparbox[microtype-tracking-font-changes-reference]{\trackingsamplefontchangetext}
+ \qquad
+ \exampleparbox[microtype-tracking-font-changes-stretch]{%
+ \begin{setfonttracking}{\extratracking}
+ \trackingsamplefontchangetext
+ \end{setfonttracking}}
+\end{exemplary}
+
+\noindent
+No contents: \leftmarker
+\begin{setfonttracking}{0}
+\end{setfonttracking}\rightmarker.
+
+
+\subsection{Font Expansion}
+
+\newcommand*{\expansionsample}
+ {By default, all characters of a font are allowed to be stretched or
+ shrunk by the same amount. However, it is also possible to limit
+ the expansion of certain characters if they are more sensitive to
+ deformation.
+ This is the purpose of the \code{\string\SetExpansion}~command.}
+
+\begin{exemplary}
+ \setlength{\examplewidth}{250pt}
+ \renewcommand*{\examplepreset}{\microtypesetup{activate=true}}
+ \renewcommand*{\examplesetup}{\frenchspacing\small\fussy}
+
+ \centering
+
+ \caption[Microtype: font expansion]
+ {Use \packagename{microtype} to stretch or shrink a font.
+ The top sample uses \code{\string\setfontshrink} at level~3,
+ the middle sample is the unchanged reference
+ (which is allowed to shrink and expand),
+ and the bottom sample utilizes \code{\string\setfontstretch} at level~2.}
+
+ \exampleparbox[microtype-expansion-shrink]{%
+ \begin{setfontshrink}[3]
+ \noindent\expansionsample
+ \end{setfontshrink}}
+
+ \medskip
+
+ \exampleparbox[microtype-expansion-neutral]{%
+ \begin{setfontexpand}[0]
+ \noindent\expansionsample
+ \end{setfontexpand}}
+
+ \medskip
+
+ \exampleparbox[microtype-expansion-stretch]{%
+ \begin{setfontstretch}[2]
+ \noindent\expansionsample
+ \end{setfontstretch}}
+
+ \examplefontinformation
+\end{exemplary}
+
+\noindent
+No contents -- \code{setfontshrink}: \leftmarker
+\begin{setfontshrink}
+\end{setfontshrink}\rightmarker.
+
+\noindent
+No contents -- \code{setfontstretch}: \leftmarker
+\begin{setfontstretch}
+\end{setfontstretch}\rightmarker.
+
+\noindent
+No contents -- \code{setfontexpand}: \leftmarker
+\begin{setfontexpand}
+\end{setfontexpand}\rightmarker.
+
+\noindent
+No contents -- \code{nofontexpansion}: \leftmarker
+\begin{nofontexpansion}
+\end{nofontexpansion}\rightmarker.
+
+
+
+\subsection{Character Protrusion}
+
+\newcommand*{\zerodepthrule}
+ {\raisebox{0pt}[0pt][0pt]{\rule[-4.5\baselineskip]{.1pt}{4.25\baselineskip}}}
+
+\newcommand*{\protrusionsampletext}{%
+ \noindent
+ \zerodepthrule\hfill\zerodepthrule \\
+ 1\hfill 1 \\
+ .2\hfill 2. \\
+ --3\hfill 3-- \\
+ ---4\hfill 4---}
+
+\begin{exemplary}
+ \renewcommand*{\examplepreset}{\microtypesetup{activate=true}}
+ \renewcommand*{\examplesetup}{\frenchspacing\small\fussy}
+
+ \centering
+
+ \caption[Microtype: protrusion]
+ {Comparison of the \packagename{microtype} feature ``protrusion'' (left-hand side)
+ and \code{nocharprotrusion} (right-hand side).}
+
+ \exampleparbox[microtype-protrusion-reference]{%
+ \microtypesetup{protrusion=true}
+ \protrusionsampletext}
+ \qquad
+ \exampleparbox[microtype-protrusion-off]{%
+ \microtypesetup{protrusion=true}
+ \nocharprotrusion
+ \protrusionsampletext}
+
+ \medskip
+\end{exemplary}
+
+\noindent
+No contents -- \code{nocharprotrusion}: \leftmarker
+\begin{nocharprotrusion}
+\end{nocharprotrusion}\rightmarker.
+
+
+\clearpage
+\section{Sloppy Paragraphs}
+
+\Cref{ex:slightlysloppy-1,ex:slightlysloppy-2} put different amounts of ``sloppiness'' face to face.
+
+\begin{exemplary}
+ \setlength{\examplewidth}{180pt}
+ \def\sness{1}
+ \centering
+ \caption[Paragraphs typeset slightly sloppy~1]
+ {Paragraphs typeset slightly sloppy: \code{\string\slightlysloppy} vs.~\code{\string\fussy}.
+ The left parbox is typeset with \code{\string\slightlysloppy}
+ and \(\metavar{sloppiness} = \sness\), whereas the right sample
+ features the well known \code{\string\fussy} setting.
+ Both parboxes have a width of \the\examplewidth.\label{ex:slightlysloppy-1}}
+
+ \exampleparbox[fussy-vs-slightlysloppy]{\slightlysloppy[\sness]\texbooktolerancesample}
+ \qquad
+ \exampleparbox[fussy-vs-slightlysloppy-reference]{\fussy\texbooktolerancesample}
+
+ \texbooktolerancesamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+\begin{exemplary}
+ \setlength{\examplewidth}{150pt}
+ \def\sness{2}
+ \centering
+ \caption[Paragraphs typeset slightly sloppy~2]
+ {Paragraphs typeset slightly sloppy: \code{\string\slightlysloppy} vs.~\code{\string\sloppy}.
+ The left sample is features \code{\string\slightlysloppy} with \(\metavar{sloppiness} = \sness\),
+ the right sample is typeset with \code{\string\sloppy}.
+ Both parboxes have a width of \the\examplewidth.\label{ex:slightlysloppy-2}}
+
+ \exampleparbox[sloppy-vs-slightlysloppy]{\slightlysloppy[\sness]\texbooktolerancesample}
+ \qquad
+ \exampleparbox[sloppy-vs-slightlysloppy-reference]{\sloppy\texbooktolerancesample}
+
+ \texbooktolerancesamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+In conclusion all renderings of the text in
+\cref{ex:slightlysloppy-1} and \cref{ex:slightlysloppy-2}
+have their merits and their own flaws.
+
+
+\clearpage
+\section{Vertically Partially-Tied Paragraphs}
+
+\paragraph{\code{vtietoppar}}\leavevmode\par
+
+\begin{typoginspect}{vtietoppar}
+ \clubpenalty=150
+ \begin{vtietoppar}[2]
+ After breaking a paragraph into lines, \TeX{} computes the interline
+ penalties by adding the values of: \code{\string\clubpenalty} after
+ the first line of a paragraph.\footnote{Footnote of \code{vtietoppar}.}
+ \eTeX{} generalizes the concept of interline, club, widow, and display widow penalty
+ by allowing their replacement by arrays of penalty values.
+ \end{vtietoppar}
+\end{typoginspect}
+
+\paragraph{\code{vtiebotpar}}\leavevmode\par
+
+\begin{typoginspect}{vtiebotpar}
+ \widowpenalty=150
+ \begin{vtiebotpar}[2]
+ After breaking a paragraph into lines, \TeX{} computes the interline
+ penalties by adding the values of: \code{\string\widowpenalty}
+ before the last line of the paragraph.\marginpar{A float!}
+ \eTeX{} generalizes the concept of interline, club, widow, and display widow penalty
+ by allowing their replacement by arrays of penalty values.
+ \end{vtiebotpar}
+\end{typoginspect}
+
+\paragraph{\code{vtiebotdisp}}\leavevmode\par
+
+\begin{typoginspect}[tracingboxes]{vtiebotdisp}
+ \displaywidowpenalty=150
+ \begin{vtiebotdisp}[2]
+ After breaking a paragraph into lines, \TeX{} computes the interline
+ penalties by adding the values of: \code{\string\displaywidowpenalty}
+ before the line immediately preceding a displayed equation.
+ \eTeX{} generalizes the concept of interline, club, widow, and display widow penalty
+ by allowing their replacement by arrays of penalty values.
+ \[g H = H g \quad \text{for all} \enspace g \in G.\]
+ \end{vtiebotdisp}
+
+ Follow-up paragraph after and outside of the \code{vtiebotdisp}-environment.
+\end{typoginspect}
+
+\paragraph{\code{vtiebotdisptoppar}}\leavevmode\par
+
+\begin{typoginspect}{vtiebotdisptoppar}
+ \displaywidowpenalty=150
+ \begin{vtiebotdisptoppar}[2]
+ After breaking a paragraph into lines, \TeX{} computes the interline
+ penalties by adding the values of: \code{\string\displaywidowpenalty}
+ before the line immediately preceding a displayed equation.
+ \eTeX{} generalizes the concept of interline, club, widow, and display widow penalty
+ by allowing their replacement by arrays of penalty values.
+ \begin{breakabledisplay}
+ \begin{displaymath}
+ g H = H g \quad \text{for all} \enspace g \in G.
+ \end{displaymath}
+ \end{breakabledisplay}
+
+ In this example we need a paragraph that follows the displayed math.
+ So, we have to type some more text here
+ to be able to demonstrate the action of the environment.
+ \end{vtiebotdisptoppar}
+\end{typoginspect}
+
+
+\clearpage
+\section{Breakable Displayed Equations}
+
+\newcommand*{\binaryminus}{\mathbin{-}}
+\newcommand*{\diracadj}[1]{\overline{#1}}
+\newcommand*{\unaryminus}{{-}}
+
+\begin{typoginspect}{breakabledisplay}
+ \begin{breakabledisplay}
+ \begin{align*}
+ \diracadj{\psi}(x) \mathop{\partial_\mu} \psi(x)
+ \mapsto \diracadj{\psi'}(x) \mathop{\partial_\mu} \psi'(x)
+ &= e^{i \alpha(x)} \diracadj{\psi}(x) \mathop{\partial_\mu} \bigl( e^{\unaryminus i \alpha(x)} \psi(x) \bigr) \\
+ &= \underbrace{\diracadj{\psi}(x) \mathop{\partial_\mu} \psi(x)}_{\text{free particle}}
+ \mskip\medmuskip \binaryminus \mskip\medmuskip i \, \diracadj{\psi}(x)
+ \underbrace{\mathop{\partial_\mu} \bigl( \alpha(x) \bigr)}_{\mathclap{\text{vector field}}} \psi(x).
+ \end{align*}
+ \end{breakabledisplay}
+\end{typoginspect}
+
+
+\clearpage
+\section{\packagename{Setspace} Front-End}
+
+\fontsizeinfo{defaultsize}
+Current settings are \defaultsize{}
+%--\settoheight{\typogfontsize}{CEMNORSUVWXZ}
+and \code{\string\typogfontsize} is \the\typogfontsize.
+
+
+\newcommand*{\absbls}{12pt plus 1pt minus .5pt}
+\paragraph{\code{\string\setbaselineskip\{\absbls\}}}
+\resetbaselineskip
+\setbaselineskip{10pt + 2.75pt}% addition
+\setbaselineskip{10.5pt * 100 / 105}% scaling
+\setbaselineskip{11.8pt * 85 / 100}% scaling
+\setbaselineskip{\absbls}
+\fontsizeinfo{baselinesetsize}
+New settings: \baselinesetsize.
+
+\texbookbaselineskipsample
+
+
+\newcommand*{\relbls}{130}
+\paragraph{\code{\string\setbaselineskippercentage\{\relbls\}}}
+\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * 0.6667}% float expression
+\setbaselineskippercentage{\relbls}
+\fontsizeinfo{baselinesetsize}
+New settings: \baselinesetsize.
+
+\texbookbaselineskipsample
+
+
+\newcommand*{\absled}{1.5pt}
+\paragraph{\code{\string\setleading\{\absled\}}}
+\setleading{1pt / -2.0}% negative leading
+\setleading{\absled}
+\fontsizeinfo{baselinesetsize}
+New settings: \baselinesetsize.
+
+\texbookbaselineskipsample
+
+
+\newcommand*{\relled}{30}
+\paragraph{\code{\string\setleadingpercentage\{\relled\}}}
+\setleadingpercentage{10 - 25 / 2}% negative leading
+\setleadingpercentage{\relled}
+\fontsizeinfo{baselinesetsize}
+New settings: \baselinesetsize.
+
+\texbookbaselineskipsample
+
+\medskip
+
+\setstretch{1}
+\texbookbaselineskipsamplecredits
+
+
+\clearpage
+\section{Smooth Ragged}
+
+\begin{exemplary}
+ \newcommand*{\ragwidth}{10pt}
+ \centering
+ \caption[Comparison of ragged right typesetting]
+ {Comparison of ragged right typesetting.
+ The first example uses \code{RaggedRight} of \packagename{ragged2e}
+ the second \code{smoothraggedrightpar} of \packagename{typog}.
+ Both examples share a \code{\string\fussy}~setting and
+ a \ragwidth~wide ragged right margin.\label{ex:smoothraggedright}}
+
+ \setlength{\RaggedRightRightskip}{0pt plus \ragwidth}
+
+ %\def\smoothraggedrightgenerator{quintuplet}
+ %\def\smoothraggedrightgenerator{septuplet}
+ \setlength{\smoothraggedrightragwidth}{\ragwidth}
+ %\def\smoothraggedrightfuzzfactor{.667}
+
+ \iffalse
+ \begin{quote}
+ \begin{RaggedRight}\examplesetup
+ \texbookparshapeskipsample
+ \end{RaggedRight}
+ \end{quote}
+
+ \begin{quote}
+ \begin{smoothraggedrightpar}\examplesetup
+ \texbookparshapeskipsample
+ \end{smoothraggedrightpar}
+ \end{quote}
+ \else
+ \exampleparbox[RaggedRight-reference]{\RaggedRight\texbooktolerancesample}
+ \qquad
+ \exampleparbox[smoothraggedrightpar]{\smoothraggedrightpar\texbooktolerancesample}
+ \fi
+
+ \texbookparshapeskipsamplecredits
+
+ \examplefontinformation
+\end{exemplary}
+
+
+ %--\setlength{\smoothraggedrightparindent}{25pt}
+ %--\setlength{\parindent}{0pt}
+
+\noindent
+\code{\string\parindent}=\the\parindent,
+visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
+
+\noindent
+\code{\string\smoothraggedrightleftskip}=\the\smoothraggedrightleftskip.
+\code{\string\smoothraggedrightparindent}=\the\smoothraggedrightparindent.
+\smallskip
+
+{
+ %--\setlength{\smoothraggedrightragwidth}{8pt}
+ \begin{smoothraggedright}
+ \texbooktolerancesample
+
+ \texbooktolerancesample
+ \end{smoothraggedright}
+}
+
+\medskip
+
+{
+ \setlength{\smoothraggedrightragwidth}{15pt}
+
+ \newcommand*{\definitionnilpotent}{%
+ Eine Abbildung oder ein Operator~\(A\)
+ heißen nilpotent vom Grad~\(k\), falls \(k \in N\)
+ die kleinste Zahl ist, für die gilt: \(A^k = 0\).}
+
+ \begin{otherlanguage}{german}
+ \parbox[t]{60pt}{\fussy\RaggedRight\definitionnilpotent}
+ \hspace{40pt}
+ \parbox[t]{60pt}{\fussy\smoothraggedright\definitionnilpotent}
+ \end{otherlanguage}
+}
+
+\clearpage
+\begin{RaggedRight}
+ \begin{thebibliography}{0}
+ \bibitem{knuth:1986}
+ \bibauthor{Knuth, D.~E.},
+ \bibtitle{The \TeX{}book},
+ Vol.~A of Computers\&Typesetting,
+ Addison Wesley, Reading\kernedslash*MA,
+ 1986.
+ \end{thebibliography}
+\end{RaggedRight}
+\end{document}
+%</example>
+% \fi
+%
+%
+%
+% \iffalse
+%<*nomicrotype>
+\documentclass[]{article}
+
+
+\usepackage[english]{babel}
+
+\usepackage{csquotes}
+\DeclareQuoteStyle{typog-guillemets}
+ {\doubleguillemetright}
+ {\doubleguillemetleft}
+ {\singleguillemetright}
+ {\singleguillemetleft}
+
+\usepackage[]{typog}
+
+
+\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
+
+
+\begin{document}
+\begin{center}
+ \Huge\bf\sf
+ TypoG Examples \\
+ without Package~\packagename{microtype}
+\end{center}
+
+\bigskip
+
+\noindent
+This example \LaTeX-document uses package~\packagename{typog}
+\emph{without} package~\packagename{microtype}.
+
+We want \packagename{typog} to be as usable as possible even without
+the nice features that \packagename{microtype} offers.
+After all \packagename{typog} is just a front-end for it.
+
+As we are testing a special configuration here anyhow,
+we hook up our quotes with package~csquotes
+to check whether they interact ok.
+{\setquotestyle{typog-guillemets}%
+ \enquote{This is the outer part of the phrase
+ which contains the \enquote{inner part}.}}
+\end{document}
+%</nomicrotype>
+% \fi
+%
+%
+%
+% \iffalse
+%<*teximan2latex>
+## Remove all lines we neither need nor want.
+/^\\input /d
+/^@anchor/d
+/^@bye/d
+/^@documentencoding/d
+/^@node/d
+/^@setfilename/d
+/^@settitle/d
+/^@top/d
+/@menu/,/@end menu/d
+
+## Convert sectioning macros to our own hierarchy.
+s/^@chapter \(.*\)$/\\subsection*{\\textls[40]{\1}}/
+s/^@section \(.*\)$/\\subsubsection*{\1}/
+
+## Make `@asis' list resemble the Texinfo format.
+s/@table @asis/\\begin{list}{}{\\itemindent=-20pt\\leftmargin=20pt}/
+s/@end table/\\end{list}/
+
+## Indenting by four spaces generates a `verbatim' environment.
+s/@verbatim/\\begin{verbatim}/
+s/@end verbatim/\\end{verbatim}/
+
+## We substitute @display for our maxipage environment.
+s/@display/\\begin{maxipage}/
+s/@end display/\\end{maxipage}/
+
+## The argument format of the URL macro is different.
+s/@url{\([^,]*\), \([^}]*\)}/\\href{\1}{\2}/g
+
+## Use our own markup.
+s/\.\.\./\\dots{}/g
+s/LaTeX/\\LaTeX{}/g
+s/@file/\\textit/g
+s/@strong/\\textbf/g
+s/[w]{/mbox{/g
+
+## Quote some special characters.
+s/%/\\%/g
+s/_/\\_/g
+
+## Adapt to how a man-page is typeset.
+## En-dashes in front of long options really suck!
+s/--/-\\nolig*-/g
+
+## Converting the at-signs to backslashes is a bit tricky.
+s/^@item/\\item/
+s/@\([A-Za-z][A-Za-z]*\){/\\\1{/g
+s/@@/@/g
+
+## Convert selected macro names.
+s/\\jobname/\\textbackslash jobname/g
+
+## Make qualified Perl names breakable.
+s/::/::\\discretionary{}{}{}/g
+%</teximan2latex>
+% \fi
+%
+%
+%
+% \iffalse
+%<*typog-grep>
+#! /usr/bin/env perl
+
+
+use autodie qw(:all);
+use strict;
+use warnings;
+
+use Data::Dumper ();
+use English;
+use File::Basename ();
+use Getopt::Long;
+use IO::File;
+use IO::Handle;
+use Term::ANSIColor ();
+
+
+use constant COMMAND_NAME => File::Basename::basename($PROGRAM_NAME);
+
+
+my $DEBUG = 0;
+my $MATCH_COUNT = 0;
+my $OUTPUT_IS_REDIRECTED;
+
+
+sub fail_with_error {
+ print STDERR join('', COMMAND_NAME, ': ', @_, "\n");
+ exit 2;
+}
+
+
+sub issue_warning {
+ print STDERR join('', COMMAND_NAME, ': warning: ', @_, "\n");
+}
+
+
+sub debug_print {
+ return unless $DEBUG;
+ print STDERR "+ @_\n";
+}
+
+
+sub quote_filesystem {qq("$_[0]")}
+sub quote_literal {qq(`$_[0]')}
+
+
+sub limit_string_length {
+ my ($a_string, $a_maximum_length) = @_;
+
+ if (length $a_string <= $a_maximum_length) {
+ $a_string;
+ } else {
+ substr($a_string, 0, $a_maximum_length - 3) . '...';
+ }
+}
+
+
+## We set all colors to `undef' and fill them later with the values
+## of the actual configuration.
+my $highlight_patterns = {
+ PARTIAL_LINE => {
+ FONT_SPEC => [qr#
+ \\
+ (?: OMS | OMX | OT1 | T1 | TS1 | U )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ #x, undef],
+ MATH => [qr#
+ \$
+ \\
+ (?: LMS | OML )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ .*?
+ \$
+ #x, undef]
+ },
+ WHOLE_LINE => {
+ FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
+ FIRST_VBOX => [qr#^%%#, undef],
+ HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
+ HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
+ LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
+ TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
+ VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
+ }
+};
+
+
+sub colorize_line {
+ my ($configuration, $line) = @_;
+
+ foreach my $pattern_color_pair (values %{$highlight_patterns->{WHOLE_LINE}}) {
+ next unless $pattern_color_pair->[1];
+ return Term::ANSIColor::colored($line, $pattern_color_pair->[1])
+ if $line =~ $pattern_color_pair->[0];
+ }
+ return $line if $line =~ m#^\.#; # we do not paint box contents yet
+
+ $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{MATH}->[0]
+ #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{MATH}->[1])
+ #egx;
+
+ $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[0]
+ #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[1])
+ #egx;
+
+ return $line;
+}
+
+
+my $open_or_close_tag_regexp = qr#^</?typog-inspect[ >]#; # somewhat sloppy definition
+my $close_tag_regexp = qr#^</typog-inspect>#;
+my $open_tag_regexp =
+ qr#^
+ <typog-inspect \s+
+ id="(?<id_match> .*?)" \s+
+ job="(?<job_match> .*?)" \s+
+ line="(?<line_match> .*?)" \s+
+ page="(?<page_match> .*?)"
+ >#x;
+
+
+sub grep_log_file {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ my $job_name;
+ my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
+ my $match_count = 0;
+ my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
+ my $page_number;
+ my $regexp_modifier = $options->{IGNORE_CASE} ? 'i' : '';
+ my $id_value;
+ my @nesting_levels;
+
+ if ($options->{WORD_REGEXP}) {
+ $id_regexp = "\\b$id_regexp\\b";
+ }
+
+ while (my $line = readline $file) {
+ chomp $line;
+ $line_number++;
+
+ if ($line =~ $close_tag_regexp) {
+ fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
+ pop @nesting_levels;
+ }
+
+ if (@nesting_levels and $nesting_levels[-1] and $line !~ $open_or_close_tag_regexp) {
+ if ($options->{LOG_LINE_NUMBER}) {
+ my $formatted_log_line_number =
+ sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_log_line_number =
+ Term::ANSIColor::colored($formatted_log_line_number,
+ $configuration->{COLORS}->{LOG_LINE_NUMBER});
+ }
+ print $formatted_log_line_number, ' ';
+ }
+
+ print "$job_name: " if $options->{JOB_NAME};
+
+ if ($options->{LINE_NUMBER}) {
+ my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_line_number =
+ Term::ANSIColor::colored($formatted_line_number,
+ $configuration->{COLORS}->{LINE_NUMBER});
+ }
+ print $formatted_line_number, ' ';
+ }
+
+ if ($options->{PAGE_NUMBER}) {
+ my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_page_number =
+ Term::ANSIColor::colored($formatted_page_number,
+ $configuration->{COLORS}->{PAGE_NUMBER});
+ }
+ print $formatted_page_number, ' ';
+ }
+
+ if ($options->{ID} and not $configuration->{PRINT_ID_AS_HEADING}) {
+ my $formatted_id = sprintf $configuration->{ID_INLINE_FORMAT}, $id_value;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_id = Term::ANSIColor::colored($formatted_id ,
+ $configuration->{COLORS}->{ID_COLOR});
+ }
+ print $formatted_id, ' ';
+ }
+
+ if ($options->{COLORIZE_OUTPUT}) {
+ print colorize_line($configuration, $line);
+ } else {
+ print $line;
+ }
+ print "\n";
+ }
+
+ if ($line =~ $open_tag_regexp) {
+ $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH});
+ $job_name = $+{job_match};
+ $source_line_number = $+{line_match};
+ $page_number = $+{page_match};
+
+ my $found_matching_id = ($id_value =~ m/(?$regexp_modifier)$id_regexp/) ? 1 : 0;
+ push @nesting_levels, $found_matching_id;
+ if ($found_matching_id) {
+ ++$MATCH_COUNT; # global count -- needed for return code of program
+ ++$match_count; # per file count -- needed to be able to separate the hunks
+
+ print "\n" if $match_count >= 2;
+ if ($options->{ID} and $configuration->{PRINT_ID_AS_HEADING}) {
+ my $formatted_id = sprintf $configuration->{ID_HEADING_FORMAT}, $id_value;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_id =
+ Term::ANSIColor::colored($formatted_id,
+ $configuration->{COLORS}->{ID_HEADING_COLOR});
+ }
+ print $formatted_id, "\n";
+ }
+ }
+ }
+ }
+}
+
+
+sub show_ids_in_file {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ my $line_number = 0;
+ my @nesting_levels;
+
+ while (my $line = readline $file) {
+ chomp $line;
+ $line_number++;
+
+ if ($line =~ $close_tag_regexp) {
+ fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
+ pop @nesting_levels;
+ }
+
+ if ($line =~ $open_tag_regexp) {
+ my $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH});
+ my $job_name = $+{job_match};
+ my $source_line_number = $+{line_match};
+ my $page_number = $+{page_match};
+
+ ++$MATCH_COUNT;
+ push @nesting_levels, 1;
+
+ if ($options->{LOG_LINE_NUMBER}) {
+ my $formatted_log_line_number =
+ sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_log_line_number =
+ Term::ANSIColor::colored($formatted_log_line_number,
+ $configuration->{COLORS}->{LOG_LINE_NUMBER});
+ }
+ print $formatted_log_line_number, ' ';
+ }
+
+ print "$job_name: " if $options->{JOB_NAME};
+
+ if ($options->{LINE_NUMBER}) {
+ my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_line_number =
+ Term::ANSIColor::colored($formatted_line_number,
+ $configuration->{COLORS}->{LINE_NUMBER});
+ }
+ print $formatted_line_number, ' ';
+ }
+
+ if ($options->{PAGE_NUMBER}) {
+ my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_page_number =
+ Term::ANSIColor::colored($formatted_page_number,
+ $configuration->{COLORS}->{PAGE_NUMBER});
+ }
+ print $formatted_page_number, ' ';
+ }
+
+ my $indent = $configuration->{ID_INDENT} * (@nesting_levels - 1);
+ print ' ' x $indent, $id_value, "\n";
+ }
+ }
+}
+
+
+sub open_file_for_reading {
+ my $filename = shift;
+
+ my $file;
+
+ if ($filename eq 'stdin') {
+ $file = IO::Handle->new();
+ $file->fdopen(fileno(STDIN), 'r') or
+ fail_with_error("cannot open stdin: $OS_ERROR");
+ } else {
+ $file = IO::File->new($filename, 'r') or
+ fail_with_error("cannot open @{[quote_filesystem($filename)]}: $OS_ERROR");
+ }
+
+ $file;
+}
+
+
+sub close_file {
+ my ($file, $filename) = shift;
+
+ $file->close or
+ issue_warning("problems while closing @{[quote_filesystem($filename)]}: $OS_ERROR");
+}
+
+
+sub grep_or_show {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ if ($options->{SHOW_ALL_IDS}) {
+ show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
+ } else {
+ grep_log_file($options, $configuration, $file, $filename, $id_regexp);
+ }
+}
+
+
+sub scan_files {
+ my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+
+ if (@$log_filenames) {
+ foreach my $log_filename (@$log_filenames) {
+ $log_filename = 'stdin' if $log_filename eq '-';
+ if (@$log_filenames >= 2) {
+ print "\n" unless $log_filename eq $log_filenames->[0];
+ my $filename_header = "==> $log_filename <==\n";
+ $filename_header = Term::ANSIColor::colored($filename_header,
+ $configuration->{COLORS}->{FILE_HEADER})
+ if $options->{COLORIZE_OUTPUT};
+ print $filename_header;
+ }
+ my $file = open_file_for_reading($log_filename);
+ grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ close_file($file, $log_filename);
+ }
+ } else {
+ my $log_filename = 'stdin';
+ my $file = open_file_for_reading($log_filename);
+ grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ close_file($file, $log_filename);
+ }
+}
+
+
+sub redirect_and_scan_files {
+ my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+
+ my $pager;
+
+ my $pid = open($pager, '|-', $configuration->{PAGER}, $configuration->{PAGER_FLAGS});
+ fail_with_error('failed to redirect to pager ', quote_literal($configuration->{PAGER}),
+ ' with flags ', quote_literal($configuration->{PAGER_FLAGS}),
+ ": $OS_ERROR")
+ unless defined $pid;
+ my $stdout = select $pager;
+
+ $pager->autoflush;
+ scan_files($options, $configuration, $id_regexp, $log_filenames);
+
+ close $pager or issue_warning "error occurred while closing the pager (pid: $pid) pipe: $OS_ERROR";
+ select $stdout;
+}
+
+
+########################################################################
+
+
+my $configuration_key_map = {
+ 'id-format' => 'ID_INLINE_FORMAT',
+ 'id-indent' => 'ID_INDENT',
+ 'id-heading' => 'PRINT_ID_AS_HEADING',
+ 'id-heading-format' => 'ID_HEADING_FORMAT',
+ 'id-max-length' => 'ID_MAX_LENGTH',
+ 'line-number-format' => 'LINE_NUMBER_FORMAT',
+ 'log-line-number-format' => 'LOG_LINE_NUMBER_FORMAT',
+ 'page-number-format' => 'PAGE_NUMBER_FORMAT',
+
+ 'file-header-color' => 'FILE_HEADER',
+ 'fill-state-color' => 'FILL_STATE',
+ 'first-vbox-color' => 'FIRST_VBOX',
+ 'font-spec-color' => 'FONT_SPEC',
+ 'horizontal-break-candidate-color' => 'HORIZONTAL_BREAK_CANDIDATE',
+ 'horizontal-breakpoint-color' => 'HORIZONTAL_BREAKPOINT',
+ 'id-color' => 'ID_COLOR',
+ 'id-heading-color' => 'ID_HEADING_COLOR',
+ 'line-break-pass-color' => 'LINE_BREAK_PASS',
+ 'line-number-color' => 'LINE_NUMBER',
+ 'log-line-number-color' => 'LOG_LINE_NUMBER',
+ 'math-color' => 'MATH',
+ 'page-number-color' => 'PAGE_NUMBER',
+ 'pager' => 'PAGER',
+ 'pager-flags' => 'PAGER_FLAGS',
+ 'tightness-color' => 'TIGHTNESS',
+ 'vertical-breakpoint-color' => 'VERTICAL_BREAKPOINT'
+};
+
+
+my $default_configuration = {
+ COLORS => {
+ FILE_HEADER => 'bold black',
+ FILL_STATE => 'bold magenta',
+ FIRST_VBOX => 'bold red',
+ FONT_SPEC => 'grey12',
+ HORIZONTAL_BREAKPOINT => 'bold green',
+ HORIZONTAL_BREAK_CANDIDATE => 'blue',
+ ID_COLOR => 'white on_black',
+ ID_HEADING_COLOR => 'white on_black',
+ LINE_BREAK_PASS => 'bold green',
+ LINE_NUMBER => 'bold black',
+ LOG_LINE_NUMBER => 'italic black',
+ MATH => 'yellow',
+ PAGE_NUMBER => 'bold white on_red',
+ TIGHTNESS => 'bold cyan',
+ VERTICAL_BREAKPOINT => 'red'
+ },
+ ID_INLINE_FORMAT => '%s:',
+ ID_HEADING_FORMAT => '--> %s <--',
+ ID_INDENT => 8,
+ ID_MAX_LENGTH => 40,
+ LINE_NUMBER_FORMAT => '%5d',
+ LOG_LINE_NUMBER_FORMAT => '%6d',
+ PAGE_NUMBER_FORMAT => '[%3d]',
+ PAGER => 'less',
+ PAGER_FLAGS => '--quit-if-one-screen',
+ PRINT_ID_AS_HEADING => 0
+};
+
+
+sub initialize_highlighting_from_configuration {
+ my $configuration = shift;
+
+ while (my (undef, $assoc) = each %$highlight_patterns) {
+ while (my ($name, $pattern_color_pair) = each %$assoc) {
+ $pattern_color_pair->[1] = $configuration->{COLORS}->{$name};
+ }
+ }
+}
+
+
+sub modify_configuration {
+ my ($configuration, $key, $value) = @_;
+
+ fail_with_error('malformed KEY=VALUE pair -- missing key') unless $key;
+
+ if (defined $configuration_key_map->{$key}) {
+ if ($key =~ m/-color$/) {
+ $configuration->{COLORS}->{$configuration_key_map->{$key}} = $value;
+ } else {
+ $configuration->{$configuration_key_map->{$key}} = $value;
+ }
+ } else {
+ fail_with_error("@{[quote_literal($key)]} is not a valid configuration KEY");
+ }
+}
+
+
+sub setup_configuation {
+ my ($config_spec, $configuration) = @_;
+
+ foreach my $spec (split ':', $config_spec) {
+ my ($key, $value) = split '=', $spec;
+ modify_configuration($configuration, $key, $value);
+ }
+}
+
+
+my $default_options = {
+ COLORIZE_MODE => 'auto',
+ DEBUG => 0,
+ ID => 0,
+ IGNORE_CASE => 0,
+ JOB_NAME => 0,
+ LINE_NUMBER => 0,
+ LOG_LINE_NUMBER => 0,
+ PAGE_NUMBER => 0,
+ REQUEST_PAGER => 1,
+ WORD_REGEXP => 0
+};
+
+
+sub show_help {
+ print <<HELP_TEXT;
+Usage: @{[COMMAND_NAME]} [OPTION] ID-REGEXP LOG-FILE...
+Structured grep for typog-inspect elements that match ID-REGEXP in LOG-FILE.
+
+Options
+ --color [WHEN],
+ --colour [WHEN] use color to highlight specific log contents
+ WHEN is 'always', 'never', or 'auto'
+ -C, --config KEY=VALUE set configuration KEY to VALUE
+ -i, --[no-]id print matching id with output lines
+ -y, --[no-]ignore-case ignore case distinctions in patterns and data
+ -j, --[no-]job-name print \\jobname with output lines
+ -n, --[no-]line-number print TeX-source line number with output lines
+ -N, --[no-]log-line-number print log-file line number with output lines
+ -p, --[no-]page-number print page number with output lines
+ -P, --[no-]pager redirect output to pager
+ -w, --[no-]word-regexp match only whole words
+
+ -a, --all, --any show all IDs in LOG-FILE
+ --debug turn on debug output
+ -h, --help display this help and exit
+ --show-config show default configuration and exit
+ -V, --version show version information and exit
+
+HELP_TEXT
+
+ exit 0;
+}
+
+
+sub show_configuration {
+ my $format_string_value = sub {quote_literal($default_configuration->{$_[0]})};
+
+ print <<FIXED_CONFIGURATION_TEXT;
+Configuration
+Key Default Value
+------------------------------------ -------------
+id-format @{[$format_string_value->('ID_INLINE_FORMAT')]}
+id-heading $default_configuration->{PRINT_ID_AS_HEADING}
+id-heading-format @{[$format_string_value->('ID_HEADING_FORMAT')]}
+id-indent $default_configuration->{ID_INDENT}
+id-max-length $default_configuration->{ID_MAX_LENGTH}
+line-number-format @{[$format_string_value->('LINE_NUMBER_FORMAT')]}
+log-line-number-format @{[$format_string_value->('LOG_LINE_NUMBER_FORMAT')]}
+page-number-format @{[$format_string_value->('PAGE_NUMBER_FORMAT')]}
+pager @{[$format_string_value->('PAGER')]}
+pager-flags @{[$format_string_value->('PAGER_FLAGS')]}
+
+FIXED_CONFIGURATION_TEXT
+
+ foreach my $configuration_key (sort keys %$configuration_key_map) {
+ next unless $configuration_key =~ m/-color$/;
+ printf("%-36s %s\n",
+ $configuration_key,
+ quote_literal($default_configuration->
+ {COLORS}->
+ {$configuration_key_map->{$configuration_key}}));
+ }
+
+ exit 0;
+}
+
+
+sub show_version {
+ print <<VERSION_TEXT;
+typog-grep 0.1
+
+Copyright (C) 2024 by Ch. L. Spiel
+License LPPL: LaTeX Project Public License version 1.3 or later
+VERSION_TEXT
+
+ exit 0;
+}
+
+
+sub get_options {
+ my ($options, $configuration) = @_;
+
+ Getopt::Long::Configure('gnu_getopt', 'no_ignore_case');
+
+ Getopt::Long::GetOptions('a|all|any' => \$options->{SHOW_ALL_IDS},
+ 'color|colour=s' => \$options->{COLORIZE_MODE},
+ 'C|configuration=s' => sub{setup_configuation($_[1], $configuration)},
+ 'debug+' => \$DEBUG,
+ 'h|help' => \&show_help,
+ 'i|id!' => \$options->{ID},
+ 'y|ignore-case!' => \$options->{IGNORE_CASE},
+ 'j|job-name!' => \$options->{JOB_NAME},
+ 'n|line-number!' => \$options->{LINE_NUMBER},
+ 'N|log-line-number!' => \$options->{LOG_LINE_NUMBER},
+ 'p|page-number!' => \$options->{PAGE_NUMBER},
+ 'P|pager!' => \$options->{REQUEST_PAGER},
+ 'show-config' => \&show_configuration,
+ 'V|version' => \&show_version,
+ 'w|word-regexp!' => \$options->{WORD_REGEXP}) or
+ fail_with_error('problems while parsing options');
+
+ fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
+ unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i
+}
+
+
+sub do_colorize {
+ my $colorize_mode = shift;
+
+ if ($colorize_mode =~ m/never/i) {
+ 0;
+ } elsif ($colorize_mode =~ m/always/i) {
+ 1;
+ } elsif ($colorize_mode =~ m/auto/i) {
+ not $OUTPUT_IS_REDIRECTED;
+ }
+}
+
+
+## For the comparison with the POSIX spec of grep(1) consult
+## https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html
+
+
+sub main {
+ $OUTPUT_IS_REDIRECTED = -t STDOUT ? 0 : 1;
+
+ my $options = {%$default_options};
+ my $configuration = {%$default_configuration};
+
+ get_options($options, $configuration);
+ $options->{COLORIZE_OUTPUT} = do_colorize($options->{COLORIZE_MODE});
+ initialize_highlighting_from_configuration($configuration);
+ debug_print(Data::Dumper::Dumper($configuration));
+ debug_print(Data::Dumper::Dumper($options));
+
+ my $id_regexp;
+ if ($options->{SHOW_ALL_IDS}) {
+ $id_regexp = '^';
+ issue_warning("option @{[quote_literal('--id')]} ignored in @{[quote_literal('--all')]} mode")
+ if $options->{ID};
+ } else {
+ fail_with_error('missing ID-REGEXP') unless @ARGV >= 1;
+ $id_regexp = shift @ARGV;
+ }
+
+ if ($options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
+ issue_warning("option @{[quote_literal('--pager')]} ignored because output is redirected");
+ }
+ my $use_pager = $options->{REQUEST_PAGER} && !$OUTPUT_IS_REDIRECTED;
+ if ($use_pager) {
+ redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
+ } else {
+ scan_files($options, $configuration, $id_regexp, \@ARGV);
+ }
+
+ exit ($MATCH_COUNT == 0);
+}
+
+
+main();
+%</typog-grep>
+% \fi
+%
+%
+%
+% \iffalse
+%<*typog-grep-documentation>
+=begin man
+
+.\" Turn off justification.
+.na
+
+=end man
+
+=head1 NAME
+
+typog-grep - grep for typog-inspect elements in LaTeX log files
+
+
+=head1 SYNOPSIS
+
+=over
+
+=item B<typog-grep> -a|--all|--any [I<OPTION>...] F<LOG-FILE>...
+
+=item B<typog-grep> [I<OPTION>...] I<REGEXP> F<LOG-FILE>...
+
+=back
+
+The first form shows all C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements in F<LOG-FILE>.
+
+The second form shows the contents of C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements
+whose I<ID>s match I<REGEXP> in F<LOG-FILE>.
+
+If no F<LOG-FILE> is given read from F<stdin>.
+The S<filename C<->> is synonymous to F<stdin>.
+
+
+=head1 DESCRIPTION
+
+B<typog-grep> is a tailored post-processor for LaTeX log files
+and the C<typoginspect> environment as provided by S<package typog>.
+It shares more with the venerable
+L<B<sgrep>|https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
+than with S<POSIX L<B<grep>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>>.
+
+The LaTeX user brackets her text in
+
+ \begin{typoginspect}{ID}
+ Text and code to investigate
+ \end{typoginspect}
+
+where I<ID> is used to identify one or more bracketed snippets.
+I<ID> does not have to be unique.
+The I<REGEXP> mechanism makes it easy to select groups of related I<ID>s
+if they are named accordingly.
+
+In F<LOG-FILE> the environment shows up, packed with tracing information, as
+
+=begin texinfo
+
+@display
+@relax
+
+=end texinfo
+
+ <typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
+ Trace Data
+ </typog-inspect>
+
+=begin texinfo
+
+@end display
+@relax
+
+=end texinfo
+
+where all the capital-letter sequences are meta-variables
+and in particular
+I<JOB-NAME> is the expansion of C<\jobname>,
+I<LINE-NUMBER> is the LaTeX source file line number
+of the beginning of the C<typoginspect> environment,
+and I<PAGE-NUMBER> is the page where
+the output of S<C<Text and code to investigate>> occurs.
+
+B<typog-grep> reveals the contents of F<LOG-FILE>
+between C<E<lt>typog-inspect id="I<ID>" ...E<gt>>
+and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags.
+Access the I<JOB-NAME>, I<LINE-NUMBER>, and I<PAGE-NUMBER>
+with the commandline options
+B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
+Use B<--id> to show the name of the IDs that matched I<REGEXP>.
+
+C<typoginspect> environments can be nested.
+B<typog-grep> respects the nesting,
+i.e., if the I<ID> of the nested environment does not match I<REGEXP>
+it will not be included in the program's output.
+
+
+=head1 OPTIONS
+
+The list of options is sorted by the names of the long options.
+
+=over 4
+
+=item B<-a>, B<--all>, B<--any>
+
+ID-discovery mode:
+Show all C<typog-inspect> elements independent of any matching patterns.
+
+=item B<--color>, B<colour> I<WHEN>
+
+Colorize specific log contents for the matching ids.
+The S<argument I<WHEN>> determines when to apply color:
+C<always>, C<never>, S<or C<auto>>.
+The setting C<auto> checks whether standard output has been redirected.
+This is the default.
+
+=item B<-C>, B<--config> I<KEY>=I<VALUE>[:I<KEY>=I<VALUE>[:...]]
+
+Set one or more configuration I<KEY> to I<VALUE> pairs.
+See S<Sec. CONFIGURATION> below for a description of all available configuration items.
+Use option B<--show-config> to display the default configuration.
+
+=item B<--debug>
+
+Turn on debug output on F<stderr>.
+
+=item B<-h>, B<--help>
+
+Display brief help then exit.
+
+=item B<-i>, B<--[no-]id>
+
+Print the actual id name that matched I<REGEXP>.
+Control the appearance of the matching id with configuration S<item C<id-heading>>.
+
+=item B<-y>, B<--[no-]ignore-case>
+
+Match ids while ignoring case distinctions in patterns and data.
+
+=item B<-j>, B<--[no-]job-name>
+
+Print the C<\jobname> that B<tex> associated with the input file.
+
+=item B<-n>, B<--[no-]line-number>
+
+Print the line number where the S<C<typoginspect> environment>
+was encountered in the LaTeX source file.
+
+=item B<-N>, B<--[no-]log-line-number>
+
+Print the line number of the F<log>-file where the current line was encountered.
+
+=item B<-p>, B<--[no-]page-number>
+
+Print page number where the contents of the S<C<typoginspect> environment>
+starts in the typeset document.
+
+=item B<-P>, B<--[no-]pager>
+
+Redirect output from F<stdout> to the configured pager.
+
+=item B<--show-config>
+
+Show the default configuration and exit.
+
+=item B<-V>, B<--version>
+
+Show version information and exit.
+
+=item B<-w>, B<--[no-]word-regexp>
+
+Match only whole words.
+
+=back
+
+
+=head1 CONFIGURATION
+
+=over 4
+
+=item C<id-format>=I<FORMAT>
+
+Control the I<FORMAT> for printing matching ids in inline-mode,
+where I<FORMAT> is passed to Perl's C<printf>.
+S<Default: C<%s:>.>
+
+=item C<id-heading>=C<0>E<verbar>C<1>
+
+Choose between printing the matching ids with S<option B<--id>>:
+S<Inline (C<0>)> or heading before the matching data (C<1>).
+S<Default: C<0>.>
+
+=item C<id-heading-format>=I<FORMAT>
+
+Control the I<FORMAT> for printing matching ids in heading-mode,
+where I<FORMAT> is passed to Perl's C<printf>.
+S<Default: C<--E<gt> %s E<lt>-->.>
+
+=item C<id-indent>=I<INDENT>
+
+Indentation of nested typog-inspect tags.
+Only used in ``discovery'' mode (first form), i.e., if B<--all> is active.
+S<Default: 8.>
+
+=item C<id-max-length>=I<MAXIMUM-LENGTH>
+
+Set the maximum length of a matching id for printing.
+It a matching id exceeds this length it will be truncated
+and the last three characters (short of I<MAXIMUM-LENGTH>) will be replaced by dots.
+S<Default: 40.>
+
+=item C<line-number-format>=I<FORMAT>
+
+Control the I<FORMAT> for printing TeX source line numbers,
+where I<FORMAT> is passed to Perl's C<printf>.
+S<Default: C<%5d>.>
+
+=item C<log-line-number-format>=I<FORMAT>
+
+Control the I<FORMAT> for printing log line numbers,
+where I<FORMAT> is passed to Perl's C<printf>.
+S<Default: C<%6d>.>
+
+=item C<page-number-format>=I<FORMAT>
+
+Control the I<FORMAT> for printing page numbers,
+where I<FORMAT> is passed to Perl's C<printf>.
+S<Default: C<[%3d]>.>
+
+=item C<pager>=I<PAGER>
+
+Name of pager application to pipe output into
+if run with S<option B<--pager>>.
+S<Default: C<less>>.
+
+=item C<pager-flags>=I<FLAGS>
+
+Pass I<FLAGS> to I<PAGER>.
+S<Default: C<--quit-if-one-screen>>.
+
+=item Color Configuration
+
+For the syntax of the color specifications consult
+the manual page of Term::ANSIColor(pm).
+
+=over 4
+
+=item C<file-header-color>
+
+Color of the filename header.
+
+=item C<fill-state-color>
+
+Color of the messages that report ``Underfull hbox'' or ``Overfull hbox''.
+
+=item C<first-vbox-color>
+
+Color of the first vbox on a page.
+
+=item C<font-spec-color>
+
+Color of font specifications.
+
+=item C<horizontal-break-candidate-color>
+
+Color of lines with horizontal-breakpoint S<candidates C<@>>.
+
+=item C<horizontal-breakpoint-color>
+
+Color of lines with horizontal S<breakpoints C<@@>>.
+
+=item C<id-color>
+
+Color of matching ids when printed inline.
+
+=item C<id-heading-color>
+
+Color of matching ids when printed in heading form.
+
+=item C<line-break-pass-color>
+
+Color of the lines showing which pass (e.g., C<@firstpass>)
+of the line-breaking algorithm is active.
+
+=item C<line-number-color>
+
+Color of TeX-source-file line numbers.
+
+=item C<log-line-number-color>
+
+Color of log-file line numbers.
+
+=item C<math-color>
+
+Color used for math expressions including their font specs.
+
+=item C<page-number-color>
+
+Color of page numbers of the final output.
+
+=item C<tightness-color>
+
+Color of lines with Tight/Loose hbox reports.
+
+=item C<vertical-breakpoint-color>
+
+Color of possible vertical breakpoints.
+
+=back
+
+=back
+
+
+=head2 Brief summary of colors and attributes
+
+=over 4
+
+=item Foreground Color
+
+C<black>, C<red>, C<green>, C<yellow>,
+C<blue>, C<magenta>, C<cyan>, C<white>,
+
+Prefix with C<bright_> for high-intensity or bold foreground.
+
+=item Foreground Grey
+
+C<grey0>, ..., C<grey23>
+
+=item Background Color
+
+C<on_black>, C<on_red>, C<on_green>, C<on_yellow>,
+S<C<on_blue>>, S<C<on_magenta>>, S<C<on_cyan>>, S<C<on_white>>
+
+Replace C<on_> with C<on_bright_> for high-intensity or bold background.
+
+=item Background Grey
+
+C<on_grey0>, ..., C<on_grey23>
+
+=item Text Attribute
+
+C<bold>, C<dark>, C<italic>, C<underline>, C<reverse>
+
+=back
+
+
+=head1 EXIT STATUS
+
+The exit status is 0 if at least one I<ID> matched I<REGEXP>,
+1 if no I<ID> matched I<REGEXP>, and 2 if an error occurred.
+
+
+=head1 SEE ALSO
+
+B<grep>(1), B<printf>(3), B<Term::ANSIColor>(pm)
+
+
+=cut
+%</typog-grep-documentation>
+% \fi
+%
+%
+%
+\endinput
+%
+%
+%
+%%% Local Variables:
+%%% compile-command: "latex typog.dtx"
+%%% fill-column: 96
+%%% End:
diff --git a/macros/latex/contrib/typog/typog.ins b/macros/latex/contrib/typog/typog.ins
new file mode 100644
index 0000000000..06378d86bb
--- /dev/null
+++ b/macros/latex/contrib/typog/typog.ins
@@ -0,0 +1,74 @@
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3 of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+
+
+\input docstrip
+
+
+\keepsilent
+\askforoverwritefalse
+
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Ch. L. Spiel
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3 of this
+license or (at your option) any later version. The latest version
+of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Ch. L. Spiel.
+
+This work consists of the files typog.dtx and typog.ins
+and the derived files typog.sty, slant-angle.mp,
+crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
+typog-example.tex, typog-nomt.tex, typog-grep.pl,
+typog-grep.pod, and teximan2latex.sed.
+
+
+\endpreamble
+
+
+\edef\source{\jobname.dtx}
+
+\generate{\file{typog.sty}{\from{\source}{package}}
+ \file{typog-example.tex}{\from{\source}{example}}
+ \file{typog-nomt.tex}{\from{\source}{nomicrotype}}
+ \file{typog.ist}{\from{\source}{index-style}}}
+
+
+\nopostamble
+\generate{\file{title.mp}{\from{\source}{title}}
+ \file{slant-angle.mp}{\from{\source}{slantangle}}
+ \file{crooked-paragraphs.mp}{\from{\source}{crookedparagraphs}}
+ \file{smooth-parshapes.mp}{\from{\source}{smoothparshapes}}}
+
+
+\nopreamble
+\generate{\file{teximan2latex.sed}{\from{\source}{teximan2latex}}
+ \file{typog-grep.pl}{\from{\source}{typog-grep}}
+ \file{typog-grep.pod}{\from{\source}{typog-grep-documentation}}}
+
+
+\endbatchfile
+
+
+%% Local Variables:
+%% compile-command: "latex typog.ins"
+%% mode: latex
+%% End:
diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md
index 7c4834e2e7..7dd77cc156 100644
--- a/macros/latex/contrib/ufrgscca/README.md
+++ b/macros/latex/contrib/ufrgscca/README.md
@@ -107,7 +107,13 @@ The Current Maintainer of this work is Alceu Frigeri
## Changelog
-* Version 2.8 (this)
+* Version 2.10 (this)
+ - added a package option, noxtrbookmarks, to package ufrgscca-forms (see manual).
+
+* Version 2.9
+ - fixing the use of \pdfbookmark after the last hyperref/kernel update (which broke the \MakeForms command).
+
+* Version 2.8
- code speedup thanks to 'linked' property lists. Code now relies on a more recent l3kernel.
* Version 2.7
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
index b0f6dcc88a..94ed35734f 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
Binary files differ
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
index c230090a62..73c7bb0171 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -15,7 +15,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -636,13 +636,14 @@ Selects a student or reviewer based on theirs hash.
-\begin{codedescribe}[code,new=2023/11/18]{\DataFields,\eDataSet,\eDataFields}
+\begin{codedescribe}[code,new=2023/11/18,update=2024/04/18]{\DataFields,\eDataSet,\eDataFields,\DataGet}
\begin{codesyntax}%
\tsmacro{\DataFields}{starray-ref,field}
\tsmacro{\eDataSet}[act-hash]{starray-ref}
\tsmacro{\eDataFields}{field}
+ \tsmacro{\DataFields}{starray-ref,field,tl-var}
\end{codesyntax}
-These are, respectively, \tsobj{\starray_get_prop:nn, \starray_term_syntax:n,\starray_parsed_get_prop:n} from \tsobj[pack]{starray}. One can reference/get any field from the main \tsobj[pack]{starray} defined structures: \tsobj[key]{student,activity} as defined at chapter \ref{activity-def}.
+These are, respectively, \tsobj{\starray_get_prop:nn, \starray_term_syntax:n,\starray_parsed_get_prop:n} and \tsobj{\starray_get_prop:nnN} from \tsobj[pack]{starray}. One can reference/get any field from the main \tsobj[pack]{starray} defined structures: \tsobj[key]{student,activity} as defined at chapter \ref{activity-def}.
\end{codedescribe}
@@ -753,13 +754,6 @@ The commands \tsobj{\advisor,\coadvisor,\examiner,\altexaminer} are meant to be
\section{\tightul{ufrgscca-cover} Package}
This package is the one that sets the front pages, depending on the kind of 'report' being generated.
-%%%\subsection{Package Options}
-%%%\begin{describelist}{option}
-%%% \describe {report} { in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).}
-%%% \describe {internship} { in case the doc is an internship report.}
-%%% \describe {nonrequired} { in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise.}
-%%%
-%%%\end{describelist}
\subsection{Defined Commands}
\begin{codedescribe}[code,new=2023/11/18]{\MakeCoverPages}
@@ -811,39 +805,26 @@ This is the main command, which will typeset the front matter, from the informat
\describe{advisor-descpage}{Advisor's matter.}
\describe{bottom-descpage}{The bottom of the desc page.}
\describe{text-approvalpage}{The text presented in the approval page.}
-\describe{advisor-approvalpage}{Advisor´s matter in the approval page.}
+\describe{advisor-approvalpage}{Advisor's matter in the approval page.}
\describe{bottom-approvalpage}{The bottom of the approval page.}
\end{describelist}
-%%
-%%\begin{codedescribe}{\course,\courseacronym,\graduationtitle,\university,\universityacronym,%
-%% \universitydivision,\divisiongradcouncil,\department,\classcode,\classname,\subject}
-%%\begin{codesyntax}%
-%% \tsmacro{\course}{arg}
-%% \tsmacro{\courseacronym}{arg}
-%% \tsmacro{\graduationtitle}{arg}
-%% \tsmacro{\university}{arg}
-%% \tsmacro{\universityacronym}{arg}
-%% \tsmacro{\universitydivision}{arg}
-%% \tsmacro{\divisiongradcouncil}{arg}
-%% \tsmacro{\department}{arg}
-%% \tsmacro{\classcode}{arg}
-%% \tsmacro{\classname}{arg}
-%% \tsmacro{\subject}{arg}
-%%\end{codesyntax}
-%%In case some customization is needed, one can change them as needed. The default values are set for the \emph{control and automation} course at UFRGS/EE.
-%%\end{codedescribe}
\section{\tightul{ufrgscca-forms} Package}
-This package defines just two user commands to generate specific forms needed at UFRGS/EE.
+This package defines just two user commands to create forms needed at UFRGS/EE.
+\subsection{Package Options}
+\begin{describelist}{option}
+ \describe {noxtrbookmarks} {By default, each form will have an associated PDF bookmark, this option will suppress them.}
+\end{describelist}
+
\subsection{Forms Defined Commands}\label{forms.commands}
\begin{codedescribe}[code,update=2023/05/29]{\tcforms,\tcemptyforms}
\begin{codesyntax}%
\tsmacro{\tcforms}{formslist}
\tsmacro{\tcemptyforms}{formslist}
\end{codesyntax}
-The command \tsmacro{\tcforms}{} will generate the many forms (\tsobj[meta]{formslist}) using the information from \emph{local.tex}, whilst \tsmacro{\tcemptyforms}{} will generate said forms with 'blanks' (to be fulfilled by hand, for instance).
+The command \tsmacro{\tcforms}{} will generate the many forms (\tsobj[meta]{formslist}) using the information from \emph{local.tex}, whilst \tsmacro{\tcemptyforms}{} will generate said forms with 'blanks' (to be filled by hand, for instance).
\end{codedescribe}
@@ -873,7 +854,7 @@ Please note that those '-I' regards TCC-I, while '-II' regards TCC-II.
\tsmacro{\SetForm}{form-hash,field,code}
\tsmacro{\MakeForm}{form-hash}
\end{codesyntax}
-\tsobj{\SetForm} can be used to set new forms (or redefine existent ones). \tsobj[meta]{form-hash} being a free identifier. Possible \tsobj[meta]{field} values are \tsobj[key]{heading,title,opening,body,closing,footnone}. \tsobj{\MakeForm} typesets the selected form.
+\tsobj{\SetForm} can be used to set new forms (or redefine existent ones). \tsobj[meta]{form-hash} being a free identifier. Possible \tsobj[meta]{field} values are \tsobj[key]{top,heading,bookmark,title,opening,body,closing,footnone}. \tsobj{\MakeForm} typesets the selected form.
\end{codedescribe}
@@ -936,50 +917,6 @@ A new float environment, named \tsobj[env]{env-name}, will be created. Captions
\end{codedescribe}
\fi
-\iffulldoc
-%%%%\section{\tightul{ufrgscca-gen} Package (extended documentation)}
-%%%%Just two set of commands are defined, one is kind of a 'command factory' aimed at creating macros in a standard way, while the other helps create 'case like' commands.
-%%%%
-%%%%
-%%%%\subsection{Package Options}
-%%%%\begin{describelist}{option}
-%%%% \describe {family} { sets the family name, defaults to \tsobj[value]{tcdef}.}
-%%%% \describe {group} { sets the group name, defaults to \tsobj[value]{gen}.}
-%%%%\end{describelist}
-%%%%
-%%%%\subsection{Defined Commands}
-%%%%\begin{codedescribe}{\cmdfactory,\factory,\tcgen@cdef}
-%%%% \begin{codesyntax}%
-%%%% \tsobj[code]{\cmdfactory}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd-list}}
-%%%% \tsobj[code]{\factory}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd}}
-%%%% \tsobj[code]{\tcgen@cdef}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd}\tsobj[marg]{new-val}}
-%%%% \end{codesyntax}
-%%%% \tsmacro{\cmdfactory}{} is the actual command meant to be used (the other two are just auxiliary ones). \tsobj[meta]{cmd-lst} is a csv list of commands. \tsobj[meta]{fam} is the command \emph{family} (defaults to \emph{tcdef}) and \tsobj[meta]{grp} is the family group (defaults to \emph{gen}).
-%%%%
-%%%% The newly created commands will be based on \tsmacro{\tcgen@cdef}{} (the actual assigment command) having the form \tsmacro{\cmd}{new-val}, accepting a single mandatory value. Internally \tsobj[meta]{new-val} will be stored in a macro likely named \tsmacro{\fam@grp@cmd}{}.
-%%%%
-%%%% \tsmacro{\factory}{} is basically the same as \tsmacro{\cmdfactory}{}, whilst to create just one new command (it is the command called by \tsmacro{\cmdfactory}{} via \tsmacro{\forcsvlist}{}.)
-%%%%\end{codedescribe}
-%%%%
-%%%%\begin{codedescribe}{\mkswitch,\addcase}
-%%%% \begin{codesyntax}%
-%%%% \tsmacro{\mkswitch}[default]{sw-name}
-%%%% \tsmacro{\addcase}{sw-name,str-case,code}
-%%%% \end{codesyntax}
-%%%% \tsmacro{mkswitch}{} will create a command, \tsmacro{\sw-name}{case}, which will behave like a switch/case in other programming languages. \tsobj[meta]{default} is the code to be executed in case a \emph{switching value} isn't defined.
-%%%% \tsmacro{\addcase}{} adds \emph{cases}, one by one, to the switch. \tsobj[meta]{str-case} can be any \tsmacro{\csname}{} valid name. \tsobj[meta]{code} is the code to be executed.
-%%%%
-%%%% \begin{codestore}[st=d.switch]
-%%%% \mkswitch[\gr@depcut]\gr@case@angle
-%%%% \addcase\gr@case@angle{}{\def\gr@ANG{0}}
-%%%% \addcase\gr@case@angle{A}{\def\gr@ANG{\gr@A}}
-%%%% %%
-%%%% %% actual use of the switch
-%%%% \gr@case@angle{A} % this will result in \def\gr@ANG{\gr@A}
-%%%% \end{codestore}
-%%%% \tscode*{d.switch}
-%%%%\end{codedescribe}
-\fi
\iffulldoc
\section{\tightul{ufrgscca-coord} Package (extended documentation)}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
index 7be544b628..e5f9a55f54 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-abnt}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA ABNT layout}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-abnt} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ abnt~layout}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
index 281a093f06..a6d20f0349 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
index 5eea80143b..06214fc369 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index f487134fef..a0ba2b2727 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-coord}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA coord commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-coord} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ coordination~ report~ commands}
}
\cs_if_exist:NF \PkgInfo
@@ -689,8 +689,10 @@
\seq_map_inline:cn {l__ufrgscca_baselist_seq}
{
\studentselect{##1}
- \eDataSet{student}
- \__ufrgscca_tlset_rem_accents:Ne \StudentBookMarkTL {\eDataFields{name}~-~}
+ \DataGet{student}{name}{\l_tmpa_tl}
+ \tl_put_right:Nn \l_tmpa_tl {~-~}
+ \__ufrgscca_tlset_rem_accents:Ne \StudentBookMarkTL {\l_tmpa_tl}
+
\__ufrgscca_student_emptyfields_if_none:
\bool_if:NT \l__ufrgscca_cocertificate_bool
@@ -710,8 +712,8 @@
\studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
@@ -720,8 +722,8 @@
\studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~3}
@@ -740,8 +742,8 @@
\studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~1}
@@ -751,8 +753,8 @@
\studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
@@ -762,8 +764,8 @@
\studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~3}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
index 17235f5ed3..325724f4f7 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-core}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA core commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-core} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~core~commands/data}
}
\cs_if_exist:NF \PkgInfo
@@ -239,6 +239,7 @@
\prop_new_linked:N \l__ufrgscca_forms_prop
+
\starray_new:n {activity}
\starray_def_from_keyval:nn {activity}
{
@@ -404,6 +405,10 @@
\starray_get_prop:nn{#1}{#2}
}
+\NewDocumentCommand{\DataGet}{mmm}{
+ \starray_get_prop:nnN{#1}{#2}{#3}
+}
+
\NewDocumentCommand{\studentReviewerSelect}{m}{
\starray_set_iter:nn {student.reviewer}{#1}
}
@@ -565,7 +570,7 @@
{
last = {#3} ,
first = {#4} ,
- name = {#2~#4~ #3} ,
+ name = {#2~ #4~ #3} ,
}
}
\__ufrgscca_setgender:nn {student.#1}{#5}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
index 9193806500..f77c6ad666 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -24,6 +24,14 @@
%%%==============================================================================
+
+\ExplSyntaxOn
+ \tl_new:N \tmpFieldA
+ \tl_new:N \tmpFieldB
+ \tl_new:N \tmpFieldC
+\ExplSyntaxOff
+
+
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
@@ -71,8 +79,9 @@
} ,
cover.students = %
{%
- \eDataSet{student}%
- \centering{\MakeUppercase{\eDataFields{name}} - \eDataFields{ID}}
+ \DataGet{student}{name}{\tmpFieldA}
+ \DataGet{student}{ID}{\tmpFieldB}
+ \centering{\MakeUppercase{\tmpFieldA} - \tmpFieldB}
} ,
cover.topbase = %
{%
@@ -83,8 +92,8 @@
} ,
cover.title = %
{%
- \eDataSet{student}%
- \centering\textbf{\MakeUppercase{\eDataFields{worktitle}}}
+ \DataGet{student}{worktitle}{\tmpFieldA}
+ \centering\textbf{\MakeUppercase{\tmpFieldA}}
} ,
cover.bottom = {%
\centering \UseConst{publ.city}\\ \UseConst{publ.date}\par
@@ -128,8 +137,9 @@
{%
\studentiterate%
{%
- \eDataSet{student}%
- \centering{\MakeUppercase{\eDataFields{name}}~ -~ \eDataFields{ID}}\\
+ \DataGet{student}{name}{\tmpFieldA}
+ \DataGet{student}{ID}{\tmpFieldB}
+ \centering{\MakeUppercase{\tmpFieldA} - \tmpFieldB}
}
}
}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
index 8ab5c32e66..6ad4cadcf5 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-cover}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA cover commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-cover} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ cover~pages}
}
\cs_if_exist:NF \PkgInfo
@@ -93,7 +93,10 @@
\NewDocumentCommand{\MakeCoverPages}{m}
{
\__ufrgscca_student_emptyfields_if_none:
- \seq_set_from_clist:Ne \l__ufrgscca_tmp_seq {\prop_item:Nn \l__ufrgscca_coverpages_prop {#1.clist} }
+% \seq_set_from_clist:Ne \l__ufrgscca_tmp_seq {\prop_item:Nn \l__ufrgscca_coverpages_prop {#1.clist} }
+
+ \prop_get:NnN \l__ufrgscca_coverpages_prop {#1.clist} \l_tmpa_tl
+ \seq_set_from_clist:Ne \l__ufrgscca_tmp_seq {\l_tmpa_tl }
\seq_map_inline:Nn \l__ufrgscca_tmp_seq
{
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
index 1ae0a418a3..43b6ac7492 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-curr}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA curricula commands}
%%%%%%%
@@ -41,8 +41,8 @@
{
name .code:n = {ufrgscca-curr} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ curricula~ commands}
}
\cs_if_exist:NF \PkgInfo
@@ -358,7 +358,7 @@
%% Pre-reqs
\bool_gset_false:N \l__ufrgscca_tmp_second_bool
- \starray_iterate_over:nn {curricula.sem.class.prereqset}
+ \starray_iterate_over:nnTF {curricula.sem.class.prereqset}
{
\seq_gclear:N \l__ufrgscca_tmp_prereq_seq
\starray_iterate_over:nnTF {curricula.sem.class.prereqset.prereq}
@@ -380,6 +380,9 @@
}
}
}
+ {}
+ {}
+
\starray_get_prop:nnN {curricula.sem.class}{obs} \l__ufrgscca_tmp_obs_tl
\tl_if_empty:NF \l__ufrgscca_tmp_obs_tl
{
@@ -636,9 +639,9 @@
\draw
( \fp_use:N \l__ufrgscca_tmp_posX_fp , \fp_eval:n {\l__ufrgscca_tmp_pos_tl * \l__ufrgscca_graph_deltaY_fp - 1.25 * \l__ufrgscca_graph_deltaY_fp} )
node[disc,\l__ufrgscca_graph_color_tl](\l__ufrgscca_tmp_name_tl) {\l__ufrgscca_tmp_name_tl \nodepart{lower} \l__ufrgscca_tmp_cred_tl ~\ ~créd.};%
- \starray_iterate_over:nn {curricula.sem.class.prereqset}
+ \starray_iterate_over:nnTF {curricula.sem.class.prereqset}
{
- \starray_iterate_over:nn {curricula.sem.class.prereqset.prereq}
+ \starray_iterate_over:nnTF {curricula.sem.class.prereqset.prereq}
{
\starray_get_prop:nnN {curricula.sem.class.prereqset.prereq}{starred} \l__ufrgscca_tmp_starred_bool
\bool_if:NF \l__ufrgscca_tmp_starred_bool
@@ -686,8 +689,8 @@
}
\path[dep,\l__ufrgscca_graph_color_tl] (\l__ufrgscca_tmp_prereq_name_tl)edge[out=\l__ufrgscca_angOUT_tl,in=\l__ufrgscca_angIN_tl] (\l__ufrgscca_tmp_name_tl);
}
- }
- }
+ }{}{} %iterate over:TF prereq
+ }{}{} %iterate over:TF prereqset
}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
index c22bee9a44..29cca50279 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-forms}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA forms commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-forms} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ forms~commands}
}
\cs_if_exist:NF \PkgInfo
@@ -55,14 +55,21 @@
%%%%%%%
%%% End of cut-n-paste
%%%%%%%
-
-
-
+
\RequirePackage{starray}
\RequirePackage{amsfonts}
+\keys_define:nn { ufrgscca.forms }
+ {
+ noxtrbookmarks .usage:n = load ,
+ noxtrbookmarks .bool_set:N = \l__ufrgscca_noxtrbookmarks_bool ,
+ }
+
+\ProcessKeyOptions[ufrgscca.forms]\relax
+
+
\cs_generate_variant:Nn \tl_gset:Nn {Ne}
\DeclareKeys[forms]{
@@ -122,8 +129,8 @@
\studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~1}
@@ -143,8 +150,8 @@
\studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
@@ -153,8 +160,8 @@
\studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~3}
@@ -176,8 +183,8 @@
\studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~1}
@@ -188,8 +195,8 @@
\studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
@@ -200,8 +207,8 @@
\studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
- \eDataSet{student.reviewer}
- \tl_set:Ne \ReviewerBookMarkTL {~-~\eDataFields{name}}
+ \DataGet{student.reviewer}{name}{\ReviewerBookMarkTL}
+ \tl_put_left:Nn \ReviewerBookMarkTL {~-~}
}
{
\tl_set:Nn \ReviewerBookMarkTL {~-~3}
@@ -225,8 +232,9 @@
\NewDocumentCommand{\tcforms}{m}{%
\bool_set_false:N \l__ufrgscca_emptyforms_bool
\__ufrgscca_student_emptyfields_if_none:
- \eDataSet{student}
- \tl_set:Ne \StudentBookMarkTL {\eDataFields{name}~-~}
+ \DataGet{student}{name}{\StudentBookMarkTL}
+ \tl_put_right:Nn \StudentBookMarkTL {~-~}
+
\SetKeys[forms]{#1}%
}
@@ -257,6 +265,9 @@
\prop_put:Nnn \l__ufrgscca_forms_prop {#1.#2}{#3}
}
+\NewDocumentCommand{\SetFormX}{mm+m}{
+ \prop_put:Nne \l__ufrgscca_forms_prop {#1.#2}{#3}
+}
%%%
% Those variables below are used to set bookmarks at the many forms
@@ -266,6 +277,9 @@
\tl_new:N \ReviewerBookMarkTL
\bool_new:N \l__ufrgscca_emptyforms_bool
+\tl_new:N \l__ufrgscca_booktmp_a_tl
+\tl_new:N \l__ufrgscca_booktmp_b_tl
+
\NewDocumentCommand{\MakeForm}{m} {
\begin{center}
\noindent
@@ -276,6 +290,13 @@
\prop_get:NnNTF \l__ufrgscca_forms_prop {#1.top} \l_tmpa_tl
{ \l_tmpa_tl }
{ \UseTerm{cover.topbase}\\ }
+ \bool_if:NTF \l__ufrgscca_noxtrbookmarks_bool
+ {}
+ {
+ \prop_get:NnNTF \l__ufrgscca_forms_prop {#1.bookmark} \l_tmpa_tl
+ { \l_tmpa_tl }
+ {}
+ }
\prop_get:NnNTF \l__ufrgscca_forms_prop {#1.heading} \l_tmpa_tl
{ {\sc \l_tmpa_tl}\\[6mm] }
{ \par\vspace{5mm} }
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
index 141f97a4fe..d56cfae929 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -34,6 +34,7 @@
\tl_new:N \tmpTabG
\tl_new:N \tmpTabMult
\tl_new:N \tmpTabAll
+ \tl_new:N \tmpBookMark
\ExplSyntaxOff
@@ -49,9 +50,8 @@
%%%%%%%%%%%%%%%
%% req form - Internship
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{internshiprequest}{heading}{\UseTerm{title.internship}\exp_args:Nee \pdfbookmark{\UseTerm{book.internrequestform}}{\UseTerm{book.internrequestform}}}
-\ExplSyntaxOff
+\SetForm{internshiprequest}{heading}{\UseTerm{title.internship}}
+\SetForm{internshiprequest}{bookmark}{\pdfTermBookMark{book.internrequestform}}
\SetForm{internshiprequest}{title}{\UseTerm{title.requestform}}
%%%
@@ -100,9 +100,8 @@ Data de Início: {\bf \DataFields{student.internship}{start}}\hfill Previsão de
%%%%%%%%%%%%%%%
%% supervisor`s form - Internship
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{internshipsupervisorform}{heading}{\UseTerm{title.internship}\exp_args:Nee \pdfbookmark{\UseTerm{book.internsupervisorform}}{\UseTerm{book.internsupervisorform}}}
-\ExplSyntaxOff
+\SetForm{internshipsupervisorform}{heading}{\UseTerm{title.internship}}
+\SetForm{internshipsupervisorform}{bookmark}{\pdfTermBookMark{book.internsupervisorform}}
\SetForm{internshipsupervisorform}{title}{\UseTerm{title.internsupervisorform}}
\SetForm{internshipsupervisorform}{footnote}{\UseTerm{footnote.supervisorsform}}
@@ -147,9 +146,8 @@ Data de Início: {\bf \DataFields{student.internship}{start}}\hfill Previsão de
%%%%%%%%%%%%%%%
%% tutor`s form - Internship
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{internshiptutorform}{heading}{\UseTerm{title.internship}\exp_args:Nee \pdfbookmark{\UseTerm{book.interntutorform}}{\UseTerm{book.interntutorform}}}
-\ExplSyntaxOff
+\SetForm{internshiptutorform}{heading}{\UseTerm{title.internship}}
+\SetForm{internshiptutorform}{bookmark}{\pdfTermBookMark{book.interntutorform}}
\SetForm{internshiptutorform}{title}{\UseTerm{title.interntutorform}}
%%%
@@ -197,9 +195,8 @@ Data de Início: {\bf \DataFields{student.internship}{start}}\hfill Previsão de
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{attendancelist}{heading}{\UseTerm{title.tcc}\exp_args:Nee \pdfbookmark{\UseTerm{book.attendancelist}}{\UseTerm{book.attendancelist}}}
-\ExplSyntaxOff
+\SetForm{attendancelist}{heading}{\UseTerm{title.tcc}}
+\SetForm{attendancelist}{bookmark}{\pdfTermBookMark{book.attendancelist}}
\SetForm{attendancelist}{title}{\UseTerm{title.attendancelist}}
\SetForm{attendancelist}{opening}{}
@@ -224,9 +221,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{calendar-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.calendar-I}}{\UseTerm{book.calendar-I}}}
-\ExplSyntaxOff
+\SetForm{calendar-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{calendar-I}{bookmark}{\pdfTermBookMark{book.calendar-I}}
%\SetForm{calendar-I}{heading}{\UseTerm{title.tccI}}
\SetForm{calendar-I}{title}{\UseTerm{title.calendar}}
@@ -258,11 +254,9 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{calendar-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.calendar-II}}{\UseTerm{book.calendar-II}}}
-\ExplSyntaxOff
+\SetForm{calendar-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{calendar-II}{bookmark}{\pdfTermBookMark{book.calendar-II}}
-%\SetForm{calendar-II}{heading}{\UseTerm{title.tccII}}
\SetForm{calendar-II}{title}{\UseTerm{title.calendar}}
\SetForm{calendar-II}{opening}{}
@@ -306,9 +300,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%% req form - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{request-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.requestform-I}}{\UseTerm{book.requestform-I}}}
-\ExplSyntaxOff
+\SetForm{request-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{request-I}{bookmark}{\pdfTermBookMark{book.requestform-I}}
\SetForm{request-I}{title}{\UseTerm{title.requestform}}
\SetForm{request-I}{opening}{
@@ -347,9 +340,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%% coadvisor - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{coadvisor-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.coadvisorform-I}}{\UseTerm{book.coadvisorform-I}}}
-\ExplSyntaxOff
+\SetForm{coadvisor-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{coadvisor-I}{bookmark}{\pdfTermBookMark{book.coadvisorform-I}}
\SetForm{coadvisor-I}{title}{\UseTerm{title.coadvisorform}}
\SetForm{coadvisor-I}{opening}{
@@ -393,9 +385,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%% board approval - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{boardapproval-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.boardapproval-I}}{\UseTerm{book.boardapproval-I}}}
-\ExplSyntaxOff
+\SetForm{boardapproval-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{boardapproval-I}{bookmark}{\pdfTermBookMark{book.boardapproval-I}}
\SetForm{boardapproval-I}{title}{\UseTerm{title.boardapproval}}
\SetForm{boardapproval-I}{opening}{\UseTerm{desc.studentwork.full}}
@@ -423,9 +414,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%% advisor's approval - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{advisorsapproval-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.advisorapproval-I}}{\UseTerm{book.advisorapproval-I}}}
-\ExplSyntaxOff
+\SetForm{advisorsapproval-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{advisorsapproval-I}{bookmark}{\pdfTermBookMark{book.advisorapproval-I}}
\SetForm{advisorsapproval-I}{title}{\UseTerm{title.advisorsapproval-I}}
\SetForm{advisorsapproval-I}{opening}{\UseTerm{desc.studentwork.full}}
@@ -452,9 +442,8 @@ Nome do(a) Aluno(a) --- Email\\
%%%%%%%%%%%%%%%
%% examiner's form - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{examinersform-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.reviewersform-I}}{\UseTerm{book.reviewersform-I}}}
-\ExplSyntaxOff
+\SetForm{examinersform-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{examinersform-I}{bookmark}{\pdfTermBookMark{book.reviewersform-I}}
\SetForm{examinersform-I}{title}{\UseTerm{title.reviewersform}}
\SetForm{examinersform-I}{footnote}{\UseTerm{footnote.reviewersform}}
\SetForm{examinersform-I}{opening}{%
@@ -506,9 +495,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% rectify approval - I
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{rectifyapproval-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.rectifyapproval-I}}{\UseTerm{book.rectifyapproval-I}}}
-\ExplSyntaxOff
+\SetForm{rectifyapproval-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{rectifyapproval-I}{bookmark}{\pdfTermBookMark{book.rectifyapproval-I}}
\SetForm{rectifyapproval-I}{title}{\UseTerm{title.rectifyapproval}}
\SetForm{rectifyapproval-I}{opening}{\UseTerm{desc.studentwork.full}}
@@ -550,9 +538,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% req form - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{request-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.requestform-II}}{\UseTerm{book.requestform-II}}}
-\ExplSyntaxOff
+\SetForm{request-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{request-II}{bookmark}{\pdfTermBookMark{book.requestform-II}}
\SetForm{request-II}{title}{\UseTerm{title.requestform}}
\SetForm{request-II}{opening}{
@@ -603,9 +590,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% coadvisor - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{coadvisor-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.coadvisorform-II}}{\UseTerm{book.coadvisorform-II}}}
-\ExplSyntaxOff
+\SetForm{coadvisor-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{coadvisor-II}{bookmark}{\pdfTermBookMark{book.coadvisorform-II}}
\SetForm{coadvisor-II}{title}{\UseTerm{title.coadvisorform}}
\SetForm{coadvisor-II}{opening}{
@@ -650,9 +636,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% board approval - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{boardapproval-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.boardapproval-II}}{\UseTerm{book.boardapproval-II}}}
-\ExplSyntaxOff
+\SetForm{boardapproval-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{boardapproval-II}{bookmark}{\pdfTermBookMark{book.boardapproval-II}}
\SetForm{boardapproval-II}{title}{\UseTerm{title.boardapproval}}
\SetForm{boardapproval-II}{opening}{\UseTerm{desc.studentwork.full}}
@@ -686,9 +671,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% advisor's approval - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{advisorsapproval-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.advisorapproval-II}}{\UseTerm{book.advisorapproval-II}}}
-\ExplSyntaxOff
+\SetForm{advisorsapproval-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{advisorsapproval-II}{bookmark}{\pdfTermBookMark{book.advisorapproval-II}}
\SetForm{advisorsapproval-II}{title}{\UseTerm{title.advisorsapproval-II}}
\SetForm{advisorsapproval-II}{opening}{\UseTerm{desc.studentwork.full}}
@@ -715,9 +699,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% receipts - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{receipts-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.receipts-II}}{\UseTerm{book.receipts-II}}}
-\ExplSyntaxOff
+\SetForm{receipts-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{receipts-II}{bookmark}{\pdfTermBookMark{book.receipts-II}}
\SetForm{receipts-II}{title}{\UseTerm{title.receipts}}
\SetForm{receipts-II}{footnote}{\UseTerm{footnote.receipts}}
@@ -748,9 +731,8 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%%%%%%%%%%%%%
%% examiner's form - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{examinersform-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.reviewersform-II}}{\UseTerm{book.reviewersform-II}}}
-\ExplSyntaxOff
+\SetForm{examinersform-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{examinersform-II}{bookmark}{\pdfTermBookMark{book.reviewersform-II}}
\SetForm{examinersform-II}{title}{\UseTerm{title.reviewersform}}
\SetForm{examinersform-II}{footnote}{\UseTerm{footnote.reviewersform}}
@@ -791,9 +773,8 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% examiner's form - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{correctionsform-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.correctionsform-II}}{\UseTerm{book.correctionsform-II}}}
-\ExplSyntaxOff
+\SetForm{correctionsform-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{correctionsform-II}{bookmark}{\pdfTermBookMark{book.correctionsform-II}}
\SetForm{correctionsform-II}{title}{\UseTerm{title.correctionsform}}
\SetForm{correctionsform-II}{footnote}{\UseTerm{footnote.correctionsform}}
@@ -848,9 +829,8 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% rectify approval - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{rectifyapproval-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.rectifyapproval-II}}{\UseTerm{book.rectifyapproval-II}}}
-\ExplSyntaxOff
+\SetForm{rectifyapproval-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{rectifyapproval-II}{bookmark}{\pdfTermBookMark{book.rectifyapproval-II}}
\SetForm{rectifyapproval-II}{title}{\UseTerm{title.rectifyapproval}}
\SetForm{rectifyapproval-II}{opening}{\UseTerm{desc.studentwork.full}}
@@ -988,11 +968,8 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% referall letter- I
%%%%%%%%%%%%%%%
-%\SetForm{referral-I}{heading}{\UseTerm{title.tccI}}
-
-\ExplSyntaxOn
-\SetForm{referral-I}{heading}{\UseTerm{title.tccI}\exp_args:Nee \pdfbookmark{\UseTerm{book.referral-I}}{\UseTerm{book.referral-I}}}
-\ExplSyntaxOff
+\SetForm{referral-I}{heading}{\UseTerm{title.tccI}}
+\SetForm{referral-I}{bookmark}{\pdfTermBookMark{book.referral-I}}
\SetForm{referral-I}{title}{\UseTerm{semester}}
\SetForm{referral-I}{opening}{\UseTerm{desc.sacad}}
@@ -1042,11 +1019,9 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% referall letter- II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{referral-II}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.referral-II}}{\UseTerm{book.referral-II}}}
-\ExplSyntaxOff
+\SetForm{referral-II}{heading}{\UseTerm{title.tccII}}
+\SetForm{referral-II}{bookmark}{\pdfTermBookMark{book.referral-II}}
-%\SetForm{referral-II}{heading}{\UseTerm{title.tccII}}
\SetForm{referral-II}{title}{\UseTerm{semester}}
\SetForm{referral-II}{opening}{\UseTerm{desc.sacad}}
@@ -1199,10 +1174,9 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%% report TCC - I
%%%%%%%%%%%%%%%
\SetForm{report-I}{top}{}
-\ExplSyntaxOn
-\SetForm{report-I}{heading}{\vspace*{-5ex}\UseTerm{title.tccI}~ - ~\textbf{\UseTerm{semester}}\exp_args:Nee \pdfbookmark{\UseTerm{book.report-I}}{\UseTerm{book.report-I}}}
-\ExplSyntaxOff
-%\SetForm{report-I}{title}{}
+\SetForm{report-I}{heading}{\vspace*{-5ex}\UseTerm{title.tccI}~ - ~\textbf{\UseTerm{semester}}}
+\SetForm{report-I}{bookmark}{\pdfTermBookMark{book.report-I}}
+
\SetForm{report-I}{preopening}{}
%%%
@@ -1220,13 +1194,8 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%% report TCC - II
%%%%%%%%%%%%%%%
\SetForm{report-II}{top}{}
-\ExplSyntaxOn
-\SetForm{report-II}{heading}{\vspace*{-5ex}\UseTerm{title.tccII}~ - ~\textbf{\UseTerm{semester}}\exp_args:Nee \pdfbookmark{\UseTerm{book.report-II}}{\UseTerm{book.report-II}}}
-\ExplSyntaxOff
-%\SetForm{report-II}{heading}{\vspace*{-5ex}\UseTerm{title.tccII}~ - ~\textbf{\UseTerm{semester}}}
-%\SetForm{report-II}{title}{Relatório Acompanhamento - \UseTerm{semester}}
-%\SetForm{report-II}{title}{\vspace*{-2ex}\UseTerm{semester}}
-%\SetForm{report-II}{opening}{}
+\SetForm{report-II}{heading}{\vspace*{-5ex}\UseTerm{title.tccII}~ - ~\textbf{\UseTerm{semester}}}
+\SetForm{report-II}{bookmark}{\pdfTermBookMark{book.report-II}}
\SetForm{report-II}{preopening}{} %
%%%
@@ -1244,11 +1213,9 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% Boards TCC - II
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{boards}{heading}{\UseTerm{title.tccII}\exp_args:Nee \pdfbookmark{\UseTerm{book.boards}}{\UseTerm{book.boards}}}
-\ExplSyntaxOff
+\SetForm{boards}{heading}{\UseTerm{title.tccII}}
+\SetForm{boards}{bookmark}{\pdfTermBookMark{book.boards}}
-%\SetForm{boards}{heading}{\UseTerm{title.tccII}}
\SetForm{boards}{title}{\UseTerm{board.title}}
\SetForm{boards}{opening}{}
@@ -1310,11 +1277,9 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%%%%%%%%%%%%%
%% cocertificate
%%%%%%%%%%%%%%%
-\ExplSyntaxOn
-\SetForm{cocertificate}{heading}{\UseTerm{title.tcc}\exp_args:Nee \pdfbookmark{\UseTerm{book.cocertificate}}{\UseTerm{book.cocertificate}}}
-\ExplSyntaxOff
+\SetForm{cocertificate}{heading}{\UseTerm{title.tcc}}
+\SetForm{cocertificate}{bookmark}{\pdfTermBookMark{book.cocertificate}}
-%\SetForm{cocertificate}{heading}{\UseTerm{title.tcc}}
\SetForm{cocertificate}{title}{\UseTerm{semester}}
\SetForm{cocertificate}{opening}{À quem interessar possa,\\ certificamos que}
\SetForm{cocertificate}{body}{%
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
index c6c5ff88a7..16add4b385 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-lists}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA auxiliary lists commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-lists} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22} ,
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20} ,
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
index 3b46f85eaa..d136068d07 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-ppc}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA PPC commands}
%%%%%%%
@@ -41,8 +41,8 @@
{
name .code:n = {ufrgscca-ppc} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~ auxiliary~ PPC-related~ (indicators)~ commands}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
index 66bf0efaff..82985d9a95 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
index 50bc04014e..569a7f7634 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
index 245ac20f40..4515dc3b06 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.8} {2024/03/22}
+%% This is version {2.10} {2024/04/20}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplClass
{ufrgscca}
- {2024/03/22}
- {2.8}
+ {2024/04/20}
+ {2.10}
{UFRGS/CCA class}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/03/22},
- version .code:n = {2.8} ,
+ date .code:n = {2024/04/20},
+ version .code:n = {2.10} ,
description .code:n = {UFRGS/CCA~a~report~based~class~bundle}
}
\cs_if_exist:NF \PkgInfo
@@ -103,6 +103,22 @@
\prop_if_in:NnTF \l__ufrgscca_terms_prop {#1} {#2} {#3}
}
+\NewDocumentCommand{\GetTerm}{mm}
+ {
+ \prop_get:NnNTF \l__ufrgscca_terms_prop {#1} \l_tmpa_tl
+ {\tl_gset:Ne #2 \l_tmpa_tl}
+ {\tl_gset:Nn #2 {}}
+ }
+
+\NewDocumentCommand{\pdfTermBookMark}{m}
+ {
+ \prop_get:NnNTF \l__ufrgscca_terms_prop {#1} \l_tmpa_tl
+ {
+ \pdfbookmark{\l_tmpa_tl}{\l_tmpa_tl}
+ }
+ {}
+ }
+
%\prop_new:N \l__ufrgscca_labels_prop
diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README
index 57de3e566b..6d589988de 100644
--- a/macros/latex/contrib/univie-ling/README
+++ b/macros/latex/contrib/univie-ling/README
@@ -97,6 +97,12 @@ also have a look at the example files.
== CHANGES ==
+V. 2.5 (2024-05-09):
+ - univie-ling-paper: implement "short" option.
+ - univie-ling-poster: Add \restspace accessibility helper function.
+ - univie-ling-handout: implement \hoDate.
+ - univie-ling-wlg: upgrade editorial structure.
+
V. 2.4 (2023-03-31):
- univie-ling-paper: fix default ps and se text type.
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
index 9dffd636c5..60172f7ebd 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
@@ -38,7 +38,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.bbx}[2023/03/31 v.2.4 biblatex bibliography style]
+\ProvidesFile{univie-ling.bbx}[2024/05/09 v.2.5 biblatex bibliography style]
% Load base style (authoryear-comp)
\RequireBibliographyStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
index a1617d71af..837f66d53d 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
@@ -36,7 +36,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.cbx}[2023/03/31 v.2.4 biblatex citation style]
+\ProvidesFile{univie-ling.cbx}[2024/05/09 v.2.5 biblatex citation style]
\RequireCitationStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
index 16d3622e11..022d7b0ffb 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
index 0fc933eab6..bd912dfba4 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
index 51cdff71d1..bab72dbf24 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex
index 1d4a093335..da696a8fe1 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex
@@ -7,6 +7,7 @@
%\hoEventLoc{Andere Uni}
\hoTitle{Titel des Handouts/Referats}
\hoSubtitle{Untertitel}
+\hoDate{Datum der Präsentation}
% Vortragende
\hoName{Mein Name \and Zweiter Name}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
index df801a2e82..c7add82055 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex
index ed375e7a9a..0c4ac2bb6c 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex
@@ -7,6 +7,7 @@
%\hoEventLoc{Other University}
\hoTitle{Title of the Handout/Presentation}
\hoSubtitle{Subtitle}
+\hoDate{Date of the presentation}
% Presenters
\hoName{My Name \and Second Name}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
index 414979d08c..f701cadb32 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
index 029263939b..9ca6f625cc 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
index e0865ede5e..0ed4b5d7cc 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
index 2f58113d8b..ed8866e79a 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
index 374070d7af..38fe04556c 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
index 8d4b50cec6..eb482b6af2 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
index 5e7c3de1a0..ffaa154e26 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
index e71523f535..65411031cc 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
index b3fd65afb9..c4540b6210 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
index 28c602cf3f..9a9fc48809 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -340,7 +340,11 @@ Templates are provided as well:
\section{Release History}
-\begin{description}
+\begin{itemize}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/03/31 (v.\,2.4)
\begin{itemize}
\item No change to this class.
@@ -424,7 +428,7 @@ Templates are provided as well:
\item Extend documentation of bibliographic features.
\end{itemize}
\item 2016/01/29 (v.\,0.4) Initial release.
-\end{description}
+\end{itemize}
\begin{thebibliography}{1}
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
index 662260a499..4576acd967 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
index c35b731e87..f67e3f1846 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -285,6 +285,7 @@ For student handouts, it is advised to only use name and possibly e-mail.
\item{\jcsmacro{hoEventLoc[<header>]\{<event>\}}}: The location of the event you are presenting at.
Useful for conference presentations.
\item{\jcsmacro{hoEventDate[<header>]\{<event date>\}}}: The date of the event you are presenting at, or the term of your class.
+ \item{\jcsmacro{hoDate[<header>]\{<date>\}}}: The date of your presentation, which might be a subset of the event date only.
\end{description}
\section{Semantic markup}
@@ -385,6 +386,10 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item Add \jcsmacro{hoDate}.
+ \end{itemize}
\item 2023/03/31 (v.\,2.4)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
index 60aeed4510..26aaaabcd5 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
index 7b78acec1b..773dfdb47d 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -239,6 +239,14 @@ option (e.\,g., \joption{all=false,microtype=true} will switch off all packages
The option \joption{draftmark=true|false|firstpage} allows you to mark your document as a draft, which is indicated by a watermark (including the current date). This might be useful when sharing preliminary versions with your supervisor.
With \joption{draftmark=true}, this mark is printed on top of each page. With \joption{draftmark=firstpage}, the draft mark appears on the title page only.
+\subsection{Short papers}
+
+Via the option \joption{short=true|false}, \uvlt\ provides a layout setting which is more suitable for short written papers such as home exams
+or short concepts. As opposed to the default layout, this uses smaller font sizes and does not insert a title page. Rather than that, the
+title is printed on top of the first page, and the main text immediately follows.
+
+Such short papers usually do not have a table of contents or a declaration, but you can use it if you want.
+
\subsection{Further options}
The class builds on \textsf{scrartcl} (KOMA article), which provides many more options to tweak the appearance of your document. You can use
@@ -256,7 +264,7 @@ given that you have specified the following data in the preamble.
\setlength\itemsep{0pt}
\item{\jcsmacro{author\{<name>\}}}: Name(s) of the paper's author(s). Separate multiple authors by \jcsmacro{and}.
\item{\jcsmacro{studienkennzahl\{<code>\}}}: The degree programme code (\emph{Studienkennzahl}) as it appears on
- the student record sheet, e.\,g. \emph{A\,792\,327}.
+ the student record sheet, e.\,g. \emph{A\,792\,327}. Note that this is not output with \joption{short=true}.
\item{\jcsmacro{matrikelnummer\{<registration number>\}}}: Your registration number (\emph{Matrikelnummer}). In case of multiple authors, separate the codes by \jcsmacro{and}.
\end{description}
@@ -374,6 +382,10 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item Implement \joption{short} option.
+ \end{itemize}
\item 2023/03/31 (v.\,2.4)
\begin{itemize}
\item Fix default \joption{ps} and \joption{se} text type.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
index fc8b6663e6..391bec0c00 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
index 4c78545c2d..dcd04b3338 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
@@ -65,7 +65,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -110,6 +110,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{translator}: Localization machinery.
\item \textsf{url}: Support for typesetting URLs.
+ \item \textsf{tikzpagenodes}: Page measuring (for accessibility).
\end{itemize}
The following packages are required for specific features and loaded by default. However, the loading can be individually and generally omitted (see sec.~\ref{coptions}):
\begin{itemize}
@@ -481,6 +482,52 @@ Please refer to the comprehensive beamer manual \cite{beamer} for information.
Please also refer to the template files included in the package for some further usage instructions and hints.
+
+\subsection{Accessibility helpers}
+
+For visually impaired users, setting up posters is quite a challenge, as \LaTeX\ does not really give you good feedback
+on whether the poster is filled evenly, or even in the crucial case if the text overruns the poster page.
+In the latter case, you could watch out for \emph{overfull vbox} warnings, but these are quite ambiguous.
+
+To enhance accessibility in this regard, \uvlt\ provides the following helper function:
+\begin{description}
+ \item{\jcsmacro{restspace[<label>]}}
+\end{description}
+%
+If you insert this to your poster, it will tell you through a package warning in the log file how many normal lines
+there are still available (in the current column, if you are using columns) after the point where the command
+has been inserted:
+\begin{quote}
+ \enquote{Package univie-ling-poster warning: Remaining space: <n> normal lines}
+ (with <n> being the actual number of lines)
+\end{quote}
+%
+With \emph{normal lines}, the warning refers to lines in the normal font size of running text.
+In the warning, the package also provides you with its own evaluation on how to deal with the result.
+Either of these four verdicts will be given:
+\begin{enumerate}
+ \item \enquote{Good, still space left}: poster/column is not full yet, you can safely add more text
+ (more than one normal line left).
+ \item \enquote{All good, but this is full now}: poster/column is filled, and not too crowded,
+ but you should not add more text (one line more will make it look less good).
+ \item \enquote{It is still OK, but the poster is quite full}: The content already touches the footer line.
+ If you don't have space available in other columns and need all text, you can keep this, but it will
+ probably look a bit crowded. So if you can, re-arrange (take out at least one line).
+ \item \enquote{Text exceeds poster! You need to re-arrange the content}:
+ If you get this warning, text runs out of the poster page, and you definitely need to fix that.
+\end{enumerate}
+%
+The optional argument of the macro allows you to set an arbitrary label which is used in the warning.
+This might be helpful if you use multiple \verb|\restspace| macros (e.\,g., in multiple columns).
+So if you insert, for instance \verb|\restspace[1]|, the warning will read
+\enquote{Remaining space (1): <n> normal lines}.
+
+Note that \verb|\restspace| should always be the last element in the column or the text. This means that if
+you are using boxes, set the macro \emph{after} the end of the box, not within the box.
+
+Note further that the \verb|\restspace| macro does not print anything on the poster itself, so you can safely keep
+them in the published version.
+
\subsection{\LyX\ layouts and templates}
A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-poster.layout}.
@@ -498,6 +545,10 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item Add \verb|\restspace| accessibility helper function.
+ \end{itemize}
\item 2023/03/31 (v.\,2.4)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
index e91bb21ee7..199dd750a3 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
index 5680490e7e..9b99e1db6c 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -404,6 +404,10 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
index 13c4c8e24d..c9d37e2221 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
index 5dedae5b72..96cf80916f 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
@@ -165,14 +165,12 @@ Data for a particular issue can be set via:
\item{\jcsmacro{issuesubtitle\{<subtitle>\}}} Set subtitle of special issue
\end{description}
%
-If needed, the editorial board (as printed in the imprint) can be adapted for a particular issue via:
+If needed, the editorial (as printed in the imprint) can be adapted for a particular issue via:
\begin{description}
\setlength\itemsep{0pt}
- \item{\jcsmacro{edboardGL\{<name>\}}} Set editorial board member(s) for General Linguistics
- \item{\jcsmacro{edboardAL\{<name>\}}} Set editorial board member(s) for Applied Linguistics
- \item{\jcsmacro{edboardHL\{<name>\}}} Set editorial board member(s) for Historical Linguistics
- \item{\jcsmacro{techboard\{<name>\}}} Set technical board member(s)
+ \item{\jcsmacro{jeditors\{<name>\}}} Set editor(s) of the journal
+ \item{\jcsmacro{jedboard\{<name>\}}} Set editorial board member(s)
\end{description}
%
In general, the data for the editorial board should be set/changed in a local copy of the file
@@ -247,6 +245,10 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m
\raggedright
\begin{itemize}
+ \item 2024/05/09 (v.\,2.5)
+ \begin{itemize}
+ \item Update the editorial structure.
+ \end{itemize}
\item 2023/03/31 (v.\,2.4)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
index 2452df688b..057fd5d0ff 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.tex b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
index a3d9e05db9..6cc4ac25f8 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
@@ -42,7 +42,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.4, 2023/03/31}
+\date{Version 2.5, 2024/05/09}
\maketitle
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
index c372c01a38..29576a930f 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
@@ -32,8 +32,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-expose}[2023/03/31 v.2.4 Univie Linguistic Exposes (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesPackage{univie-ling-expose}[2024/05/09 v.2.5 Univie Linguistic Exposes (JSp)]
%% ============================================================
@@ -54,10 +54,8 @@
\newif\if@uve@usefontenc\@uve@usefontenctrue
\def\uve@fontenc{T1}
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { uve }
+% Define keys and values
+\DeclareKeys[uve]
{
% all=<true|false>
% Load all (most) packages
@@ -167,17 +165,9 @@
\@uve@otffontsfalse
},
}
-\ExplSyntaxOff
% Process
-
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[uve]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{uve}
-}
+\ProcessKeyOptions[uve]
%% ============================================================
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
index 7c7a8ff1da..22a451329d 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
@@ -34,8 +34,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}[1997/06/01]
-\ProvidesClass{univie-ling-handout}[2023/03/31 v.2.4 Univie Ling handout class (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesClass{univie-ling-handout}[2024/05/09 v.2.5 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -107,10 +107,8 @@
}
\uvh@cd@german
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { uvh }
+% Define keys and values
+\DeclareKeys[uvh]
{
% all=<true|false>
% Load all (most) packages
@@ -286,17 +284,9 @@
\@uvh@otffontsfalse
},
}
-\ExplSyntaxOff
% Process
-
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[uvh]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{uvh}
-}
+\ProcessKeyOptions[uvh]
%% ============================================================
@@ -386,11 +376,13 @@
\newlength\beforeevent
\newlength\beforetitle
\newlength\beforesubtitle
+\newlength\beforedate
\newlength\aftertitle
\setlength\beforetitling{18pt}
\setlength\beforeevent{6pt}
\setlength\beforesubtitle{6pt}
\setlength\beforetitle{6pt}
+\setlength\beforedate{8pt}
\setlength\aftertitle{18pt}
% Boxes
@@ -561,6 +553,15 @@
\def\uvh@eventdate{#2}
}
+% f.) Presentation date
+\def\uvh@date{}
+\def\uvh@date@header{}
+\newcommand*{\hoDate}[2][\@empty]{%
+ \ifx\@empty#1\def\uvh@date@header{#2}
+ \else\def\uvh@date@header{#1}\fi
+ \def\uvh@date{#2}
+}
+
% The maketitle routine
\renewcommand\maketitle{%
\newif\ifuvh@eventline\uvh@eventlinefalse%
@@ -592,7 +593,7 @@
\ifx\uvh@subtitle\empty%
\else
\vspace{\beforesubtitle}\noindent\bgroup\raggedright\uvh@font@subtitle\uvh@subtitle\par\egroup%
- \fi
+ \fi%
\else%
\vspace{.15\baselineskip}%
\begin{minipage}{\textwidth}
@@ -605,7 +606,7 @@
\fi
\end{tabularx}%
\end{minipage}%
- \fi
+ \fi%
\@ifundefined{hypersetup}{}{%
\hypersetup{pdftitle=\ifx\uvh@titleprefix\empty\else\uvh@titleprefix~\fi\uvh@title,
pdfauthor=\uvh@name,
@@ -616,6 +617,11 @@
\else%
\vspace{\beforesubtitle}\bgroup\noindent\raggedright\uvh@font@subtitle\uvh@widesubtitle\par\egroup%
\fi%
+ \ifx\uvh@date\empty%
+ \else%
+ \vspace{\beforedate}%
+ \bgroup\noindent\uvh@font@eventlocdate\uvh@date\egroup%
+ \fi%
\vspace{\aftertitle}%
\@afterindentfalse\@afterheading%
}
@@ -710,19 +716,20 @@
\def\ps@headings{%
\let\uvh@save@and\and%
- \def\and{$\cdot$\ }%
+ \def\uvh@header@and{$\cdot$\ }%
\if@uvh@pplogo\sbox{\uvh@box@logo}{\uvh@printsmalllogo}\fi
\def\uvh@thelogo{\parbox{90mm}{\usebox{\uvh@box@logo}}}
\headheight30mm\headsep2.5mm\footskip8mm
\def\titleline{\ifx\uvh@title@header\empty\else\uvh@font@headertitle%
\ifx\uvh@titleprefix\empty\else\uvh@titleprefix~\fi%
- \uvh@title@header\linebreak\fi}%
+ \uvh@title@header\ifx\uvh@date@header\empty\else\ (\uvh@date@header)\linebreak\fi}%
\ifx\uvh@eventlocation@header\empty\ifx\uvh@eventdate@header\empty\@uvh@noeventtrue\fi\fi%
\def\eventline{%
\uvh@font@header\uvh@event@header\ifx\uvh@eventdate@header\empty\else\if@uvh@breakevent\linebreak\else\ \fi%
\if@uvh@noevent\else(\ifx\uvh@eventlocation@header\empty\else\uvh@eventlocation@header, \fi\uvh@eventdate@header)\fi\linebreak\fi%
}
\def\@oddhead{%
+ \let\and\uvh@header@and%
\unitlength1mm
\hspace{\headeroffset}
\begin{picture}(0,0)
@@ -747,12 +754,12 @@
}%
}
\end{picture}
+ \let\and\uvh@save@and%
\hfill%
}
\def\@oddfoot{\hfill\uvh@font@footer\raggedright\uvh@pageprefix~\thepage\if@uvh@lastpage /\pageref{LastPage}\fi}
\def\@evenhead{\@oddhead}
\def\@evenfoot{\@oddfoot}
- \let\and\uvh@save@and%
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
index 289315beb8..4ee6eaf8f8 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
@@ -31,8 +31,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-paper}[2023/03/31 v.2.4 Univie Linguistic Papers (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesPackage{univie-ling-paper}[2024/05/09 v.2.5 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -51,13 +51,12 @@
\newif\if@uvp@polyglossia\@uvp@polyglossiafalse
\newif\if@uvp@psfonts\@uvp@psfontstrue
\newif\if@uvp@otffonts\@uvp@otffontsfalse
+\newif\if@uvp@short\@uvp@shortfalse
\newif\if@uvp@usefontenc\@uvp@usefontenctrue
\def\uvp@fontenc{T1}
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { uvp }
+% Define keys and values
+\DeclareKeys[uvp]
{
% all=<true|false>
% Load all (most) packages
@@ -166,18 +165,14 @@
{ \@uvp@psfontsfalse
\@uvp@otffontsfalse
},
+ % short=<true|false>
+ % short paper
+ short.legacy_if_set:n = @uvp@short,
+ short.usage:n = preamble,
}
-\ExplSyntaxOff
% Process
-
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[uvp]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{uvp}
-}
+\ProcessKeyOptions[uvp]
%% ============================================================
@@ -195,6 +190,12 @@
sectionentrydots=true
]{scrartcl}[2003/04/22]
+\if@uvp@short
+ \KOMAoptions{fontsize=11pt,
+ headings=small,
+ titlepage=false}
+\fi
+
%% ============================================================
%% LOCALIZATION:
@@ -218,6 +219,8 @@
\deftranslation[to=English]{example}{example}
\deftranslation[to=German]{matnr}{Matrikelnummer}
\deftranslation[to=English]{matnr}{Matrikelnummer}
+\deftranslation[to=German]{instructor}{Leitung}
+\deftranslation[to=English]{instructor}{Instructor}
\deftranslation[to=German]{stkz}{Studienkennzahl}
\deftranslation[to=English]{stkz}{Studienkennzahl}
\deftranslation[to=German]{erkl}{Erkl\"arung}
@@ -290,6 +293,12 @@ This includes all drawings, sketches, graphics and internet sources.}
\setkomafont{subtitle}{\normalfont\fontsize{12}{14pt}\sffamily}
\setkomafont{date}{\normalfont\fontsize{10}{12pt}\mdseries\sffamily}
\newkomafont{course}{\normalfont\mdseries\sffamily}
+% short paper settings
+\newkomafont{spauthor}{\normalfont\mdseries}
+\newkomafont{sptitle}{\Large\bfseries}
+\newkomafont{spsubtitle}{\large\bfseries}
+\newkomafont{spdate}{\normalfont\normalsize\mdseries}
+\newkomafont{spcourse}{\footnotesize\mdseries\sffamily}
%% ============================================================
@@ -436,6 +445,35 @@ This includes all drawings, sketches, graphics and internet sources.}
\begin{tabular}[t]{c}%
}%
\fi
+ \if@uvp@short
+ \bgroup
+ \let\footnote\thanks
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark
+ \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+ \parbox[b]{11.5cm}{%
+ \ifx\@course\@empty\else%
+ \usekomafont{spcourse}{\lectypeverb\ \emph{\@course} (\lecsemshort~\@semester)}%
+ \ifx\@instructor\@empty\else\newline\fi%
+ \fi%
+ \ifx\@instructor\@empty\else%
+ \usekomafont{spcourse}{\translate{instructor}:~\@instructor}\fi
+ }\hfill
+ \parbox[b]{3cm}{\includegraphics[width=3cm]{univielogo-sw}}\par
+ \vskip 3em
+ \def\and{\leavevmode\unskip\slash}%
+ {\usekomafont{spauthor}{\@author\ifx\@matrikelnr\@empty\else\ (\translate{matnr}:~\@matrikelnr)\fi\par\vskip .5em}}%
+ \ifx\@title\@empty\else
+ {\usekomafont{sptitle}{\@title%
+ \ifx\@subtitle\@empty\else\\\usekomafont{spsubtitle}{\@subtitle}\fi\par}}%
+ \fi
+ \vskip .5em
+ {\usekomafont{spdate}{\ifx\@texttype\@empty\else\@texttype, \fi\@date\par%
+ \vspace{.5\baselineskip}}\noindent}%
+ \@thanks\let\@thanks\@empty
+ \egroup
+ \else
\begin{titlepage}
\sffamily%
\setcounter{page}{%
@@ -569,6 +607,7 @@ This includes all drawings, sketches, graphics and internet sources.}
\fi
\ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi
\end{titlepage}
+ \fi% not \if@uvp@short
\setcounter{footnote}{0}%
\expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax
\let\thanks\relax
@@ -607,7 +646,7 @@ This includes all drawings, sketches, graphics and internet sources.}
\begin{tabular}[t]{c}%
\hline
}%
-\clearpage
+\if@uvp@short\else\clearpage\fi
\section*{\translate{erkl}}
\if@uvp@multiauthors
@@ -636,7 +675,7 @@ This includes all drawings, sketches, graphics and internet sources.}
\@author
\end{tabular}\par
\egroup
-\clearpage
+\if@uvp@short\else\clearpage\fi
\global\let\and\relax
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
index bb54e614ae..d2b68940af 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
@@ -33,8 +33,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}[1997/06/01]
-\ProvidesClass{univie-ling-poster}[2023/03/31 v.2.4 Univie Ling poster class (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesClass{univie-ling-poster}[2024/05/09 v.2.5 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -76,10 +76,8 @@
}
\uvpt@cd@german
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { uvpt }
+% Define keys and values
+\DeclareKeys[uvpt]
{
% all=<true|false>
% Load all (most) packages
@@ -223,17 +221,9 @@
\@uvpt@otffontsfalse
},
}
-\ExplSyntaxOff
% Process
-
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[uvpt]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{uvpt}
-}
+\ProcessKeyOptions[uvpt]
%% ============================================================
@@ -942,13 +932,61 @@
\fi
%% ============================================================
-%% Semantic markup
+%% SEMANTIC MARKUP:
%% ============================================================
\newcommand\Expression[1]{\textit{#1}}
\newcommand\Concept[1]{\textsc{#1}}
\newcommand\Meaning[1]{\enquote*{#1}}
+%% ============================================================
+%% ACCESSIBILITY:
+%% ============================================================
+
+% Helper function that reports on the remaining space on the poster
+% as of the point where the command has been entered
+\RequirePackage{tikzpagenodes}
+\usetikzlibrary{calc}
+
+\newcommand*\restspace[1][]{%
+ \begin{tikzpicture}[overlay,remember picture]
+ \node (cp) at (current page text area.south west) {};%
+ \path let \p0 = (0,0), \p1 = (cp.north) in node [inner sep=0pt,outer sep=0pt,anchor=south] at (\x1,\y1)%
+ {%
+ \pgfmathsetmacro\restheight{((\y0-\y1) / \baselineskip) + 1}%
+ \pgfkeys{/pgf/number format/precision=1}%
+ \pgfmathroundto{\restheight}%
+ \ifx#1\empty%
+ \edef\univie@space@warning{Remaining space: \pgfmathresult\space normal lines}%
+ \else%
+ \edef\univie@space@warning{Remaining space (#1): \pgfmathresult\space normal lines}%
+ \fi%
+ \let\firstpgfmathresult\pgfmathresult%
+ \pgfmathparse{\pgfmathresult > 0}%
+ \def\univie@tmpa{0}%
+ \ifx\pgfmathresult\univie@tmpa%
+ \pgfmathparse{\firstpgfmathresult > -1}%
+ \ifx\pgfmathresult\univie@tmpa%
+ \def\univie@space@expl{\univie@space@warning\MessageBreak
+ Text exceeds poster! You need to re-arrange the content.}%
+ \else%
+ \def\univie@space@expl{It is still OK, but the poster is quite full\MessageBreak
+ Better take out at least one line here.}%
+ \fi%
+ \else%
+ \pgfmathparse{\firstpgfmathresult > 1}%
+ \ifx\pgfmathresult\univie@tmpa%
+ \def\univie@space@expl{All good, but this is full now.}%
+ \else
+ \def\univie@space@expl{Good, still space left!}%
+ \fi
+ \fi%
+ \PackageWarning{univie-ling-poster}{\univie@space@warning\MessageBreak
+ \univie@space@expl}%
+ };%
+ \end{tikzpicture}%
+}
+
\endinput
%%
%% End of file `univie-ling-poster.cls'.
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
index 87bd736880..bfe9204471 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
@@ -32,16 +32,14 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-thesis}[2023/03/31 v.2.4 Univie Linguistic Theses (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesPackage{univie-ling-thesis}[2024/05/09 v.2.5 Univie Linguistic Theses (JSp)]
%% ============================================================
%% CLASS OPTIONS
%% ============================================================
-\RequirePackage{xkeyval}
-
\newif\if@uvt@apa\@uvt@apafalse
\newif\if@uvt@biblatex\@uvt@biblatextrue
\newif\if@uvt@captionp\@uvt@captionptrue
@@ -59,10 +57,8 @@
\newif\if@uvt@usefontenc\@uvt@usefontenctrue
\def\uvt@fontenc{T1}
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { uvt }
+% Define keys and values
+\DeclareKeys[uvt]
{
% all=<true|false>
% Load all (most) packages
@@ -180,17 +176,10 @@
\@uvt@otffontsfalse
},
}
-\ExplSyntaxOff
% Process
+\ProcessKeyOptions[uvt]
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[uvt]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{uvt}
-}
%% ============================================================
%% BASE CLASS:
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg
index 6698cb693e..2c00101fc9 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg
@@ -3,14 +3,12 @@
%
%
-% Editorial Board
+% Editorial
%
-% General Linguistics
-\edboardGL{Markus P\"ochtrager}
-% Applied Linguistics
-\edboardAL{Mi-Cha Flubacher, Florian Grosser \& Carina Lozo}%
-% Historical Linguistics
-\edboardHL{Stefan Schumacher}
+% Editors
+\jeditors{Florian Grosser, Jonas Hassemer \& Carina Lozo}%
+% Editorial Board
+\jedboard{Markus P\"ochtrager \& Stefan Schumacher}
%
% Technical Board
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
index d5a399fec8..0bdf4b8552 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
@@ -33,8 +33,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-wlg}[2023/03/31 v.2.4 Univie WLG journal layout (JSp)]
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\ProvidesPackage{univie-ling-wlg}[2024/05/09 v.2.5 Univie WLG journal layout (JSp)]
%% ============================================================
@@ -50,10 +50,8 @@
\newif\if@wlg@specialprint\@wlg@specialprintfalse
\newif\if@wlg@review\@wlg@reviewfalse
-% We use l3keys here since (1) LaTeX2e keys are rather
-% new and (2) do not provide for choice keys yet.
-\ExplSyntaxOn
-\keys_define:nn { wlg }
+% Define keys and values
+\DeclareKeys[wlg]
{
% biblatex=<true|false>
% Load biblatex
@@ -125,16 +123,8 @@
% no val equals to true
draftmark .default:n = {true},
}
-\ExplSyntaxOff
-
-\IfFormatAtLeastTF{2022-06-01}
-{
- \ProcessKeyOptions[wlg]
-}{
- \RequirePackage{l3keys2e}
- \ProcessKeysOptions{wlg}
-}
+\ProcessKeyOptions[wlg]
%% ============================================================
@@ -164,6 +154,10 @@
%% CONFIGURATION:
%% ============================================================
+% Current structure
+\newcommand*\jedboard[1]{\def\wlg@jedboard{#1}}
+\newcommand*\jeditors[1]{\def\wlg@jeditors{#1}}
+% Old structure
\newcommand*\edboardAL[1]{\def\wlg@edboardAL{#1}}
\newcommand*\edboardGL[1]{\def\wlg@edboardGL{#1}}
\newcommand*\edboardHL[1]{\def\wlg@edboardHL{#1}}
@@ -293,6 +287,10 @@
\deftranslation[to=English]{univie-address}{Sensengasse 3a\\1090 Vienna\\Austria}
\deftranslation[to=German]{edboard}{Redaktion}
\deftranslation[to=English]{edboard}{Editorial board}
+\deftranslation[to=German]{jeditors}{Redaktion}
+\deftranslation[to=English]{jeditors}{Editors}
+\deftranslation[to=German]{jedboard}{Redaktioneller Beirat}
+\deftranslation[to=English]{jedboard}{Editorial board}
\deftranslation[to=German]{techboard}{Technische Redaktion}
\deftranslation[to=English]{techboard}{Technical editor}
\deftranslation[to=German]{contact}{Kontakt}
@@ -341,12 +339,13 @@
\translate{univie}, \translate{lingdep}\\
\translate{univie-address}
\vspace*{-.5em}
-\begin{labeling}{\textbf{\translate{edboard}:}}
+\begin{labeling}{\textbf{\translate{jedboard}:}}
\setlength\itemsep{0pt}
\setlength\parsep{0pt}
\setlength{\parskip}{0pt}
\def\wlg@lb{}
-\item[\textbf{\translate{edboard}:}]
+\ifcsname wlg@edboardAL\endcsname
+ \item[\textbf{\translate{edboard}:}]
\ifcsname wlg@edboardGL\endcsname
\wlg@edboardGL\ (\translate{general}),%
\def\wlg@lb{\\}%
@@ -358,6 +357,16 @@
\ifcsname wlg@edboardHL\endcsname
\wlg@lb\wlg@edboardHL\ (\translate{hist})
\fi
+\else
+ \ifcsname wlg@jeditors\endcsname
+ \item[\textbf{\translate{jeditors}:}]
+ \wlg@jeditors%
+ \fi
+ \ifcsname wlg@jedboard\endcsname
+ \item[\textbf{\translate{jedboard}:}]
+ \wlg@lb\wlg@jedboard%
+ \fi
+\fi
\ifcsname wlg@techboard\endcsname
\item[\textbf{\translate{techboard}:}] \wlg@techboard
\fi
diff --git a/macros/latex/contrib/ximera/LICENSE b/macros/latex/contrib/ximera/LICENSE
new file mode 100644
index 0000000000..4db9b5af29
--- /dev/null
+++ b/macros/latex/contrib/ximera/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/ximera/Makefile b/macros/latex/contrib/ximera/Makefile
new file mode 100644
index 0000000000..dd9c367745
--- /dev/null
+++ b/macros/latex/contrib/ximera/Makefile
@@ -0,0 +1,50 @@
+NAME = ximera
+SHELL = bash
+PWD = $(shell pwd)
+VERS = $(shell ltxfileinfo -v $(NAME).dtx|sed -e 's/^v//')
+LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL)
+UTREE = $(shell kpsewhich --var-value TEXMFHOME)
+INPUTS = $(wildcard src/*.dtx) $(wildcard src/interactives/*.dtx) $(NAME).dtx
+OUTPUTS = ximera.cls xourse.cls ximera.4ht xourse.4ht ximera.cfg
+
+# based on
+#
+# https://stackoverflow.com/questions/2973445/gnu-makefile-rule-generating-a-few-targets-from-a-single-source-file
+#
+# I use a silly pattern rule to convince GNU make that multiple
+# outputs are created with a single invocation
+
+all: $(NAME).pdf $(OUTPUTS)
+ test -e README.txt && mv README.txt README || exit 0
+
+$(NAME)%pdf ximera%cls xourse%cls ximera%4ht xourse%4ht ximera%cfg: $(INPUTS)
+ pdflatex -shell-escape -recorder -interaction=batchmode $(NAME).dtx >/dev/null
+ if [ -f $(NAME).glo ]; then makeindex -q -s gglo.ist -o $(NAME).gls $(NAME).glo; fi
+ if [ -f $(NAME).idx ]; then makeindex -q -s gind.ist -o $(NAME).ind $(NAME).idx; fi
+ pdflatex --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
+ pdflatex --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
+
+clean:
+ rm -f $(NAME).{aux,fls,glo,gls,hd,idx,ilg,ind,ins,log,out}
+
+distclean: clean
+ rm -f ximera.pdf README $(OUTPUTS)
+
+# BADBAD: The code below still needs to be fixed
+
+inst: all
+ mkdir -p $(UTREE)/{tex,source,doc}/latex/$(NAME)
+ cp $(NAME).dtx $(UTREE)/source/latex/$(NAME)
+ cp $(NAME).cls $(UTREE)/tex/latex/$(NAME)
+ cp $(NAME).pdf $(UTREE)/doc/latex/$(NAME)
+
+install: all
+ sudo mkdir -p $(LOCAL)/{tex,source,doc}/latex/$(NAME)
+ sudo cp $(NAME).dtx $(LOCAL)/source/latex/$(NAME)
+ sudo cp $(NAME).cls $(LOCAL)/tex/latex/$(NAME)
+ sudo cp $(NAME).pdf $(LOCAL)/doc/latex/$(NAME)
+
+zip: all
+ ln -sf . $(NAME)
+ zip -Drq $(PWD)/$(NAME)-$(VERS).zip $(NAME)/{README,$(NAME).{pdf,dtx}}
+ rm $(NAME)
diff --git a/macros/latex/contrib/ximera/README b/macros/latex/contrib/ximera/README
new file mode 100644
index 0000000000..26b91f193f
--- /dev/null
+++ b/macros/latex/contrib/ximera/README
@@ -0,0 +1,18 @@
+|
+------------:| ------------------------------------------------------------
+ ximera:| Simultaneously write print and online interactive materials
+ Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp
+ E-mail:| bart.snapp@gmail.com
+ License:| Released under the LaTeX Project Public License v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+Short description:
+Some text about the class: probably the same as the abstract.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
diff --git a/macros/latex/contrib/ximera/README.md b/macros/latex/contrib/ximera/README.md
new file mode 100644
index 0000000000..73dddcbcfc
--- /dev/null
+++ b/macros/latex/contrib/ximera/README.md
@@ -0,0 +1,62 @@
+Greetings! [![Build Status](https://travis-ci.org/XimeraProject/ximeraLatex.svg?branch=master)](https://travis-ci.org/XimeraProject/ximeraLatex)
+==========
+
+In this repository, we hope to supply potential authors of Ximera
+activities with the LaTeX document classes they need to write Ximera
+documents.
+
+To install the XimeraLaTeX package, see:
+
+[Installing Locally](./installingLocally.md)
+
+For a list of different Ximera commands, see:
+
+[Examples of Ximera Envrionments](https://ximera.osu.edu/tester/exampleActivityCollection)
+
+
+Since Ximera is built on LaTeX source, we want to use LaTeX as a
+method of validating the code authors write. Hence, if you want to
+write a Ximera online activity, the first step is constructing LaTeX
+documents.
+
+Once you have the LaTeX documents, and you have checked them for
+typos, accuracy, etc, the fact that they compile should be reasonable
+evidence that they will display correctly in Ximera.
+
+
+
+Contents of the repository
+---------------------------
+
+* This README.md file.
+
+* The GNU license.
+
+* The Ximera document class, ximera.cls
+
+* The Xourse document class, xourse.cls
+
+* Documentation for the document classes above, ximeraLaTeX.pdf
+
+* The Ximera documented LaTeX file type, ximera.dtx. This file
+ generates ximera.cls, xourse.cls, and ximeraLaTeX.pdf, as well as a
+ few other files.
+
+
+Staying up-to-date
+------------------
+
+While we hope to solidify the ximera.cls file, at this point we are
+still in development stages.
+
+To keep your file up-to-date, you may need to periodically sync or
+pull the the ximera.cls within the ximeraLatex directory.
+
+`ximeraLatex$ git fetch --all`
+
+`ximeraLatex$ git reset --hard origin/master`
+
+will reset your ximeraLatex directory. Note it will also overwrite
+*any* modifications you have made in this directory. You should not be
+building your activities in this directory.
+
diff --git a/macros/latex/contrib/ximera/installingLocally.md b/macros/latex/contrib/ximera/installingLocally.md
new file mode 100644
index 0000000000..7c1005e108
--- /dev/null
+++ b/macros/latex/contrib/ximera/installingLocally.md
@@ -0,0 +1,91 @@
+# Installing Locally
+
+To get started as an author in Ximera, all you need is the XimeraLaTeX
+LaTeX Package. Unfortunately, at this point, this package is not part
+of CTAN. However, you can install it manually with the instructions
+below. Please feel free to contact Bart Snapp with questions
+(snapp.14@osu.edu).
+
+1. Get a GitHub account
+2. Go to: [XimeraLaTeX on GitHub](https://github.com/XimeraProject/ximeraLatex)
+3. Click on the green code button: ![Click on the green code button.](https://github.com/XimeraProject/.github/blob/main/profile/codeButton.png "Click on the green code button.") and copy the code, (or just copy: `git@github.com:XimeraProject/ximeraLatex.git`)
+4. Clone the repository.
+
+At this point the installation becomes operating-system specific.
+
+## Linux
+
+If you are running linux, create the local directory structure `~/texmf/tex/latex`
+
+├── texmf
+
+├───└── tex
+
+└───────└── latex
+
+Now move the `ximeraLatex` folder (cloned in step 4. above) into the latex folder. At this point you have installed XimeraLaTeX! You can test your installation by compiling:
+```
+\documentclass{ximera}
+\begin{document}
+\begin{problem}
+Hello $\answer[format=string]{World}$
+\end{problem}
+\end{document}
+```
+
+## MacOS
+
+If you are running MacOS, create the local directory structure `~/Library/texmf/tex/latex`. To do this, you'll need to make your Library folder visible, see [How to make your Library folder visible in the Finder](http://kb.mit.edu/confluence/display/istcontrib/How+to+make+your+Library+folder+visible+in+the+Finder+in+OS+X+10.9+%28Mavericks%29+or+later).
+
+├── Library
+
+├───└── texmf
+
+├───────└── tex
+
+└───────────└── latex
+
+Now move the `ximeraLatex` folder (cloned in step 4. above) into the latex folder. At this point you have installed XimeraLaTeX! You can test your installation by compiling:
+```
+\documentclass{ximera}
+\begin{document}
+\begin{problem}
+Hello $\answer[format=string]{World}$
+\end{problem}
+\end{document}
+```
+
+
+## Windows
+
+If you are running Windows, create the local directory structure `C:\localtexmf\tex\latex\`
+
+├── C:
+
+├───└── localtexmf
+
+├───────└── tex
+
+└───────────└── latex
+
+Now move the `ximeraLatex` folder (cloned in step 4. above) into the latex folder.
+
+For MiKteX to notice this directory, go to:
+
+* Start → All programs → MiKTeX Folder → Maintenance (Admin) Folder → Settings (Admin).
+* Now select the tab “Roots.”
+* Click “Add” because you are going to add a path.
+* Find `C:\localtexmf\` and click “OK.”
+* Click “apply” then “OK.”
+* Reopen Miktex Settings (Admin). Click **Refresh FNDB.**
+
+The steps above will vary between systems. However, the key steps are **adding the path** and **Refreshing FNDB.**
+At this point you have installed XimeraLaTeX! You can test your installation by compiling:
+```
+\documentclass{ximera}
+\begin{document}
+\begin{problem}
+Hello $\answer[format=string]{World}$
+\end{problem}
+\end{document}
+```
diff --git a/macros/latex/contrib/ximera/pgfsys-ximera.def b/macros/latex/contrib/ximera/pgfsys-ximera.def
new file mode 100644
index 0000000000..ffa3205304
--- /dev/null
+++ b/macros/latex/contrib/ximera/pgfsys-ximera.def
@@ -0,0 +1,62 @@
+%%
+%% This is file `pgfsys-ximera.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ximera.dtx (with options: `pgfsys')
+%% src/pgfsys.dtx (with options: `pgfsys')
+%% ------------:| ------------------------------------------------------------
+%% ximera:| Simultaneously writing print and online interactive materials
+%% Author:| Jim Fowler and Oscar Levin and Jason Nowell and Hans Parshall and Bart Snapp
+%% E-mail:| bart.snapp@gmail.com
+%% License:| Released under the LaTeX Project Public License v1.3c or later
+%% See:| http://www.latex-project.org/lppl.txt
+%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ProvidesFileRCS{pgfsys-ximera.def}
+
+\input pgfsys-dvisvgm.def
+
+\def\pgfsys@beginpicture{%
+ \special{color push gray 0}% make dvisvgm *not* add anything to text
+ \pgf@sys@svg@inpicturetrue% in a picture
+ \pgfsys@svg@boxmodefalse%
+ \special{dvisvgm:beginpicture}
+ \pgfsys@invoke{<g \ifx\pgf@sys@svg@last@stroke\relax\else
+ stroke="\pgf@sys@svg@last@stroke" \fi stroke-miterlimit="10" transform="scale(1,-1)">}}
+
+\def\pgfsys@endpicture{\pgfsys@invoke{</g>}\special{dvisvgm:endpicture}\special{color pop}}
+
+%%
+%% Copyright (C) 2018-2021 by Bart Snapp <bart.snapp@gmail.com> and Jim Fowler <kisonecat@gmail.com>
+%%
+%% 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
+%% Bart Snapp. The source code can be found at:
+%%
+%% https://github.com/XimeraProject/ximeraLatex
+%%
+%% This work consists of the file ximera.dtx, the associated files
+%% under src/, and a Makefile.
+%%
+%% Running "make" generates the derived files README, ximera.pdf, ximera.cls, xourse.cls.
+%%
+%% Running "make inst" installs the files in the user's TeX tree.
+%%
+%% Running "make install" installs the files in the local TeX tree.
+%%
+%%
+%% End of file `pgfsys-ximera.def'.
diff --git a/macros/latex/contrib/ximera/src/abstract.dtx b/macros/latex/contrib/ximera/src/abstract.dtx
new file mode 100644
index 0000000000..2a895568d3
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/abstract.dtx
@@ -0,0 +1,14 @@
+% \subsubsection{Abstract}
+% \DescribeEnv{abstract}{Every activity should include a short abstract.}
+% \begin{macrocode}
+%<*classXimera>
+\let\abstract\relax
+\let\endabstract\relax
+% Use of environ package, may want to find a better way.
+\NewEnviron{abstract}{\protected@xdef\theabstract{\BODY}}
+%</classXimera>
+% \end{macrocode}
+% The abstract has been stored in |\theabstract| and should be emitted
+% as a div, but confusingly I guess |<div class="abstract">| is
+% defined somewhere deeper inside tex4ht, so the code below is
+% probably unnecessary. \ No newline at end of file
diff --git a/macros/latex/contrib/ximera/src/activity.dtx b/macros/latex/contrib/ximera/src/activity.dtx
new file mode 100644
index 0000000000..647be0565d
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/activity.dtx
@@ -0,0 +1,158 @@
+% \subsection{Activities}
+% The core of the |xourse| system. It works by redefining the
+% |document| environment, thus making the |\begin| and
+% |\end{document}| of the subfile `transparent' to the
+% inclusion. The redefinition of |\documentclass| is analogous, just
+% having a required and an optional arguments which mean nothing to
+% |\subfile|.
+% \begin{macrocode}
+%<*classXourse>
+\newcommand{\skip@preamble}{%
+ \let\document\relax\let\enddocument\relax%
+ \newenvironment{document}{\let\input\otherinput}{}%
+ \renewcommand{\documentclass}[2][subfiles]{}}
+% \end{macrocode}
+% Note that the new command |\subfile| calls for |\skip@preamble| \emph{within a group}. The changes to |document| and |\documentclass| are undone after the inclusion of the subfile.
+%
+% Numbering starts a page too soon without this:
+% \begin{macrocode}
+\let\otherinput\input
+% \end{macrocode}
+% Store usual |\maketitle| as |\othermaketitle|
+% \begin{macrocode}
+\let\othermaketitle\maketitle
+% \end{macrocode}
+% \DescribeMacro{\maketitle}{In a \textsf{xourse} file, |\maketitle| is redefined to give course packet title page and toc.}
+% \begin{macrocode}
+\renewcommand{\maketitle}{ %
+\pagestyle{empty}
+\begin{center}
+~\\ %puts space at top of page to move title down.
+\vskip .25\textheight
+\hrulefill\\
+\vskip 1em
+\bfseries{\Huge \@title} \\
+\hrulefill\\
+\vskip 3em
+{\Large \@author}
+\vskip 2em
+{\large \@date}
+\end{center}
+\clearpage
+% \end{macrocode}
+% When |notoc| option is used, we do not include a table of contents.
+% Otherwise we include a table of contents in every course packet.
+% \begin{macrocode}
+\ifnotoc
+\else
+ \tableofcontents\clearpage
+ \clearpage
+\fi
+% \end{macrocode}
+% Switch to main pagestyle, just like a document with documentclass \textsf{ximera}.
+% \begin{macrocode}
+\pagestyle{main}
+% \end{macrocode}
+% Renew maketitle to usual definition.
+% \begin{macrocode}
+\let\maketitle\othermaketitle
+% \end{macrocode}
+% And we finish with our redefinition of |\maketitle|.
+% \begin{macrocode}
+}
+\relax
+%</classXourse>
+% \end{macrocode}
+
+% \subsubsection{Regular activities}
+% \DescribeMacro{\activity}{Documents included with |\activity| will
+% be included in the body of the xourse document. Any |\input|
+% commands within included \textsf{ximera} documents will be ignored.
+% Any |\usepackage| commands within included ximera documents will
+% cause an error. Overlapping |\newcommand| definitions within
+% multiple ximera documents included simultaneously will cause an
+% error.} The |\activity| command inputs the file name provided
+% without |\documentclass|, without
+% |\begin{document}|/|\end{document}| and without any inputs in the
+% preamble of the included file.
+% \begin{macrocode}
+%<*classXourse>
+\ifnonewpage
+\newcommand{\activity}[2][]{%
+ \setkeys{activity}{#1}
+ \renewcommand{\input}[1]{}
+ \begingroup\skip@preamble\otherinput{#2}\endgroup\par\vspace{\topsep}
+ \let\input\otherinput}
+\else
+\newcommand{\activity}[2][]{%
+ \setkeys{activity}{#1}
+ \renewcommand{\input}[1]{}
+ \begingroup\skip@preamble\otherinput{#2}\endgroup\clearpage
+ \let\input\otherinput}
+\fi
+\relax
+%</classXourse>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXourse>
+\renewcommand\activity[2][]{%
+\ifvmode \IgnorePar\fi \EndP\HCode{<a class="activity card \activitystyle" href="#2" data-options="#1">#2</a>}\IgnoreIndent%
+}
+%</htXourse>
+% \end{macrocode}
+
+% When running xake, we can just ignore activities
+% \begin{macrocode}
+%<*classXourse>
+\ifxake
+\renewcommand\activity[2][]{}
+\fi
+%</classXourse>
+% \end{macrocode}
+
+
+% \subsubsection{Practice activities}
+% \DescribeMacro{\practice}{Like |\activity| but not expecting a title.}
+% \begin{macrocode}
+%<*classXourse>
+\ifhandout
+\newcommand{\practice}[2][]{
+ \setkeys{practice}{#1}%!!!!!
+ \renewcommand{\input}[1]{}
+ \begingroup\skip@preamble\otherinput{#2}\endgroup
+ \let\input\otherinput}
+\else
+\newcommand{\practice}[2][]{\texttt{\detokenize{#2}}%% gives file name for practice
+ \setkeys{practice}{#1}%!!!!!
+ \renewcommand{\input}[1]{}
+ \begingroup\skip@preamble\otherinput{#2}\endgroup
+ \let\input\otherinput}
+\fi
+\relax
+%</classXourse>
+% \end{macrocode}
+
+% The practice environment does nothing, but will eventually produce
+% exercises at the end of an activity
+% \begin{macrocode}
+%<*classXourse>
+\ifxake
+\renewcommand\practice[2][]{}
+\fi
+%</classXourse>
+% \end{macrocode}
+
+% I suppose it is reasonable for practice cards to NOT have an activitystyle, since the activitystyle is basically PRACTICE.
+% \begin{macrocode}
+%<*htXourse>
+\renewcommand\practice[2][]{%
+ \ifvmode\IgnorePar\fi\EndP%
+ \HCode{<a class="activity card practice" href="#2" data-options="#1">#2</a>}%
+ \IgnoreIndent%
+}
+%</htXourse>
+% \end{macrocode}
+
+
+
diff --git a/macros/latex/contrib/ximera/src/answer.dtx b/macros/latex/contrib/ximera/src/answer.dtx
new file mode 100644
index 0000000000..c6f5460d05
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/answer.dtx
@@ -0,0 +1,111 @@
+% \subsubsection{Answers}
+% \DescribeMacro{\answer}{A math answer}
+% \begin{macrocode}
+%<*classXimera>
+
+\ifdefined\HCode
+\newcommand{\recordvariable}[1]{}
+\else
+\newwrite\idfile
+\immediate\openout\idfile=\jobname.ids
+\newcommand{\recordvariable}[1]{\ifthenelse{\equal{#1}{}}{}{\immediate\write\idfile{var #1;}}}
+\fi
+% \end{macrocode}
+% Determines if answer is shown in handout mode. when |given=true|,
+% show answer in handout mode, show answer in ``given box'' outside
+% handout mode. When |given=false|, do not show answer in handout
+% mode, show answer outside handout mode
+% \begin{macrocode}
+\define@key{answer}{given}[true]{\def\ans@given{#1}}
+% \end{macrocode}
+% Used for setting numeric answer tolerance for online student input.
+% \begin{macrocode}
+\define@key{answer}{tolerance}{\def\ans@tol{#1}}
+% \end{macrocode}
+% Used to run dynamic js code on student provided answers. Note:
+% currently pdf outputs the validator code itself.
+% \begin{macrocode}
+\define@key{answer}{validator}{}
+% \end{macrocode}
+% Used for assigning a js ID to answer for dynamic code (eg validators).
+% \begin{macrocode}
+\define@key{answer}{id}{\def\ans@id{#1}}
+% \end{macrocode}
+% Used to set anticipated input format; eg "string".
+% \begin{macrocode}
+\define@key{answer}{format}{}
+% \end{macrocode}
+% Used to hide the answer input box on the web.
+% \begin{macrocode}
+\define@key{answer}{onlinenoinput}[false]{}
+% \end{macrocode}
+% Used to add a `show answer' button to the answer blank.
+% \begin{macrocode}
+\define@key{answer}{onlineshowanswerbutton}[false]{}
+% \end{macrocode}
+% Set default values for |\answer| command |key=value| pairs.
+% Default values are |given = false|.
+% \begin{macrocode}
+\setkeys{answer}{id=,given=false,onlinenoinput=false,onlineshowanswerbutton=false}
+% \end{macrocode}
+% Basic code for |\answer|.
+% \begin{macrocode}
+
+% Options for handout
+\newcommand{\answerFormatLength}{2cm}
+
+\newcommand{\answerFormatDots}[1]{\ldots\ldots}
+\newcommand{\answerFormatLine}[1]{\protect\rule{\answerFormatLength}{0.4pt}}
+\newcommand{\answerFormatFlexibleLine}[1]{\protect\rule{\widthof{$#1$}*2}{0.4pt}}
+\newcommand{\answerFormatFlexibleBox}[1]{\fbox{\scalebox{2}{\phantom{$#1$}}}}
+
+% options for default (i.e with answers filled in)
+\newcommand{\answerFormatPlain}[1]{\ensuremath{#1}}
+\newcommand{\answerFormatBlue}[1]{\color{blue}\ensuremath{#1}}
+\newcommand{\answerFormatBoxed}[1]{\fbox{\ensuremath{#1}}}
+\newcommand{\answerFormatBoxedGiven}[1]{\underset{\scriptstyle\mathrm{given}}{\fbox{\ensuremath{#1}}}}
+
+% defaults for handout and default mode, and for \answer[given]
+\let\handoutAnswerFormat\answerFormatDots
+\let\defaultAnswerFormat\answerFormatBlue
+\let\givenAnswerFormat\answerFormatBoxedGiven
+
+\newcommand{\answer}[2][]{%
+ \ifmmode%
+ \setkeys{answer}{#1}%
+ \recordvariable{\ans@id}
+ \ifthenelse{\boolean{\ans@given}}
+ {% Start then statement
+ \ifhandout
+ #2
+ \else
+ \givenAnswerFormat{#2} %% in case the argument helps formatting
+ \fi
+ }% End then statement
+ {% Start else statement
+ \ifhandout
+ \handoutAnswerFormat{#2} %% in case the argument helps formatting
+ \else% show answer in box outside handout mode
+ \defaultAnswerFormat{#2} %% in case the argument helps formatting
+ \fi
+ }% End else statement
+ \else%
+ \GenericError{\space\space\space\space}% Throw an error based on... something? -- Jason
+ {Attempt to use \@backslashchar answer outside of math mode}
+ {See https://github.com/ximeraProject/ximeraLatex for explanation.}
+ {Need to use either inline or display math.}%
+ \fi
+}
+%</classXimera>
+% \end{macrocode}
+% On the HTML side, |\answer| emits spans---but it is usually just
+% handled directly by MathJax.
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\answer}[2][false]{\HCode{<span class="answer respondable">}#2\HCode{</span>}}
+
+\def\validator[#1]{\stepcounter{identification}\HCode{<div class="validator" id="validator\arabic{identification}"><script type="text/javascript">function validator\arabic{identification}() }\{\HCode{ return \detokenize{#1}; }\}\HCode{</script>}}
+\def\endvalidator{\HCode{</div>}}
+
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/banner.dtx b/macros/latex/contrib/ximera/src/banner.dtx
new file mode 100644
index 0000000000..ec5d62b283
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/banner.dtx
@@ -0,0 +1,21 @@
+% \begin{macrocode}
+%<*classXimera>
+\let\m\message
+\def\w{\m{::}}\def\t{\m{:::}}\def\s{\m{ }}\def\n{\m{^^J}}\def\u{::'}\def\d{'::}\def\v{:::::}
+\n
+\m{\d.}\s\m{.\u}\w\m{}\m{\v}\s\s\m{\v}\m{}\m{.\v\v\v::::.}\s\m{}\t\n
+\s\m{\d.\u}\s\w\t\t\s\t\t\w\m{}\s\s\s\s\s\s\s\t\s\m{\u::}\n
+\s\s\t\s\s\w\t\m{}\t\t\m{}\t\m{ ::::\v}\m{.\v:\u}\m{}\m{\u}\m{\d}\n
+\s\m{.\u::.}\s\w\t\m{}\t\t\m{}\t\w\s\s\s\s\w\m{}\m{\d.}\s\m{\u}\s\m{\d}\n
+\m{.\u}\s\m{\d.}\w\t\s\m{':\u}\s\t\m{\d\v::}\w\s\m{}\m{\d.\u}\s\s\m{\d}\n
+\n
+\let\w\undefined
+\let\t\undefined
+\let\s\undefined
+\let\n\undefined
+\let\u\undefined
+\let\d\undefined
+\let\v\undefined
+\let\m\undefined
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/choice.dtx b/macros/latex/contrib/ximera/src/choice.dtx
new file mode 100644
index 0000000000..70770cd24e
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/choice.dtx
@@ -0,0 +1,226 @@
+% \subsubsection{Multiple choice and the like}
+% \DescribeEnv{multipleChoice}{Multiple choice}
+% \begin{macrocode}
+%<*classXimera>
+% Jim: Originally this was \renewcommand{\theenumi}{$(\mathrm{\alph{enumi}})$}
+% but that breaks tex4ht because mathmode can only be processed by mathjax.
+% so now I made this just italicized.
+% \end{macrocode}
+% \subsubsection{Options}
+% \begin{macrocode}
+\define@key{choice}{value}[]{\def\choice@value{#1}}
+% \end{macrocode}
+% This flags the answer as the correct answer
+% \begin{macrocode}
+\define@boolkey{choice}{correct}[true]{\def\choice@correct{#1}}
+% \end{macrocode}
+% Use an ID to refer to the choice.
+% \begin{macrocode}
+\define@key{multipleChoice}{id}{\def\mc@id{#1}}
+% \end{macrocode}
+% |\otherchoice| outputs the item if correct and nothing if incorrect.
+% \begin{macrocode}
+\define@key{otherchoice}{value}[]{\def\otherchoice@value{#1}}
+\define@boolkey{otherchoice}{correct}[true]{\def\otherchoice@correct{#1}}
+% \end{macrocode}
+% Default key choices for multiple choice options.
+% Default for choice pairs.
+% Default: answers without the option "correct=true" is "incorrect".
+% \begin{macrocode}
+\setkeys{choice}{correct=false,value=}
+% \end{macrocode}
+% Defaults for multipleChoice pairs.
+% Default to no id? -- Jason
+% \begin{macrocode}
+\setkeys{multipleChoice}{id=}
+% \end{macrocode}
+% Defaults for otherchoice pairs.
+% Default "otherchoice" to behave like "choice" for error checking.
+% \begin{macrocode}
+\setkeys{otherchoice}{correct=false,value=}
+%</classXimera>
+% \end{macrocode}
+%
+% \subsubsection{Choices}
+% \DescribeMacro{\choice}{Like |\item| but for choice environments.}
+% choice command denotes a possible answer choice for the multiple choice question.
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\choice}[2][]{%
+\setkeys{choice}{#1}%
+\item{#2}
+\ifthenelse{\boolean{\choice@correct}}
+ {% Begin then result
+ \ifhandout% if it's a handout do nothing.
+ \else% otherwise place a checkmark when you select the "correct choice"... maybe? -- Jason
+ \,\checkmark\,\setkeys{choice}{correct=false}
+ \fi
+ }% End then result
+ {}% Begin/End else result.
+}
+
+%Define an expandable version of choice Not really meant to be used outside this package (used in wordChoice)
+% Is there a reason we can't just always use this as default? -- Jason
+\newcommand{\choiceEXP}[2][]{%
+ \expandafter\setkeys\expandafter{choice}{#1}%
+ \item{#2}
+ \ifthenelse{\boolean{\choice@correct}}
+ {% Begin then result
+ \ifhandout
+ \else
+ \,\checkmark\,\setkeys{choice}{correct=false}
+ \fi
+ }% End then result
+ {}% Begin/End else result.
+ } %% note all the {} are needed in case the choice has [] in it.
+
+% \otherchoice is the \choice used in wordChoice command.
+\newcommand{\otherchoice}[2][]{%
+\ignorespaces%
+\setkeys{otherchoice}{#1}%
+\ifthenelse{\boolean{\otherchoice@correct}}%
+{% Start then result
+#2\ignorespaces\setkeys{otherchoice}{correct=false}\ignorespaces%
+}% End then result
+{}% Start/End else result
+\ignorespaces%
+}%
+\newcommand{\inlinechoice}[2][]{%
+\setkeys{choice}{#1}%
+\iffirstinlinechoice
+(\hspace{-.25em}
+\firstinlinechoicefalse
+\else
+/
+\fi
+#2
+\ifthenelse{\boolean{\choice@correct}}%
+{% Start then result
+\ifhandout\else\checkmark\ignorespaces\setkeys{choice}{correct=false}\ignorespaces\fi%
+}% End then result
+{}% Start/End else result
+\hspace{-.25em}\ignorespaces%
+}
+
+%</classXimera>
+% \end{macrocode}
+% On the HTML side, |\choice| emits |<span>|s.
+% \begin{macrocode}
+%<*htXimera>
+\newcounter{choiceId}
+\renewcommand{\choice}[2][]{%
+\setkeys{choice}{correct=false}%
+\setkeys{choice}{#1}%
+\stepcounter{choiceId}\IgnorePar%
+\HCode{<span class="choice }%
+\ifthenelse{\boolean{\choice@correct}}{\HCode{correct}}{}
+\HCode{" }
+\ifthenelse{\equal{\choice@value}{}}{}{\HCode{data-value="\choice@value" }}
+\HCode{id="choice\arabic{choiceId}">}%
+#2\HCode{</span>}}
+\let\inlinechoice\choice
+%</htXimera>
+% \end{macrocode}
+
+% \subsubsection{Environment(s)}
+% The environment |multipleChoice@| is for internal use only.
+% \DescribeEnv{multipleChoice}{Wrap |\choice|s in a |multipleChoice| environment to make a multiple choice question.}
+% \begin{macrocode}
+%<*classXimera>
+\newenvironment{multipleChoice}[1][]
+ {% Environment Start Code
+ \setkeys{multipleChoice}{#1}%
+ \recordvariable{\mc@id}%
+ \begin{trivlist}
+ \item[\hskip \labelsep\small\bfseries Multiple Choice:]\hfil
+ \begin{enumerate}
+ }% Note this means that \item has to be the first line after \begin{multipleChoice}.
+ {% Environment End Code
+ \end{enumerate}
+ \end{trivlist}
+ }
+
+%multipleChoice@ is for internal use only! (used in wordChoice)
+%this is simply a wrapper for the sole showing (other)choice.
+\newenvironment{multipleChoice@}[1][]{}{)}
+%</classXimera>
+% \end{macrocode}
+
+
+
+% On the web, you might also expect these to be "problem environments"
+% but they aren't -- they're respondables. You might expect a
+% |\setcounter{choiceId}{0}| here --- that would be wrong, because then
+% the generated IDs would no longer be unique.
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{multipleChoice}[1][]
+{\setkeys{multipleChoice}{#1}%
+\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="multiple-choice" }%
+\ifthenelse{\equal{\mc@id}{}}{}{\HCode{data-id="\mc@id" }}%
+\HCode{id="problem\arabic{identification}">}%
+}{\HCode{</div>}\IgnoreIndent}
+\ConfigureEnv{multipleChoice}{}{}{}{}
+%</htXimera>
+% \end{macrocode}
+
+% \subsection{Word choice}
+% \DescribeMacro{\wordChoice}{An in-line version of multipleChoice:
+% uses enumitem package note, it is coded as a single line to avoid
+% unwanted spaces in ``given'' mode.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\wordChoice}[1]{%
+\let\choicetemp\choice% Assign a "choicetemp" command to duplicate choice.
+\ifwordchoicegiven% If wordchoice option is on, we need to juggle around some definitions.
+\let\choice\otherchoice%
+%\begin{multipleChoice@}% -unnecessary (REMOVE THIS LINE IF THE YEAR IS 2019 or Beyond)
+#1
+%\end{multipleChoice@}% -unnecessary (REMOVE THIS LINE IF THE YEAR IS 2019 or Beyond)
+\else% If it isn't the regular "choice" command should work.
+\let\choice\inlinechoice%
+\begin{multipleChoice@}%
+#1%
+\end{multipleChoice@}%
+\fi%
+\let\choice\choicetemp% Now that choicetmp has been manipulated to what we want, replace choice with it.
+}%
+
+
+%</classXimera>
+% \end{macrocode}
+% This is actually just word choice
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{multipleChoice@}{\refstepcounter{problem}}{}%
+\ConfigureEnv{multipleChoice@}{\stepcounter{identification}\IgnorePar\HCode{<span class="word-choice" id="word-choice\arabic{identification}">}}{\HCode{</span>}\IgnoreIndent}{}{}
+%</htXimera>
+% \end{macrocode}
+
+% \subsection{Select all}
+% \DescribeEnv{selectAll}{A multiple-multiple choice question}
+% \begin{macrocode}
+%<*classXimera>
+\newenvironment{selectAll}[1][]
+{\begin{trivlist}\item[\hskip \labelsep\small\bfseries Select All Correct Answers:]\hfil\begin{enumerate}}
+ {\end{enumerate}\end{trivlist}}
+%</classXimera>
+% \end{macrocode}
+
+% In the future we need this to (optionally) be displayed in the
+% problem, while the actual code lives in the solution. Here is how
+% this could be implemented: Like the title/maketitle commands, the
+% multiple-choice could be stored in |\themultiplechoice|, flip a
+% boolean, and execute |\makemultiplechoice| at the |\end| of the
+% problem. We should also make a command called |\showchoices| that
+% will show choices in the handout.
+
+% On the web, |selectAll| is handled just like |multipleChoice|.
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{selectAll}{\refstepcounter{problem}}{}%
+\ConfigureEnv{selectAll}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="select-all" id="problem\arabic{identification}">}}{\HCode{</div>}\IgnoreIndent}{}{}
+%</htXimera>
+% \end{macrocode}
+
+
diff --git a/macros/latex/contrib/ximera/src/clearEnv.dtx b/macros/latex/contrib/ximera/src/clearEnv.dtx
new file mode 100644
index 0000000000..af906995d9
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/clearEnv.dtx
@@ -0,0 +1,18 @@
+% \subsubsection{clearEnv}
+% \DescribeMacro{clearEnv}{envName}
+% This macro allows you to delete an environment by redefining it as null. This also deletes any corresponding internal counter - such as those generated by "\newtheorem" command.
+% #1 is envName is the name of the environment you want to clear. This will (re)define the
+% begin and end environments, as well as the internal counter from \newtheoremenv to \relax.
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\clearEnv}[1]{
+ %% Syntax: \clearEnv{envName}
+ % #1 is envName is the name of the environment you want to clear. This will (re)define the
+ % begin and end environments, as well as the internal counter from \newtheoremenv to \relax.
+ \expandafter\let\csname #1\endcsname\relax
+ \expandafter\let\csname end#1\endcsname\relax
+ \expandafter\let\csname c@#1\endcsname\relax
+ }
+%</classXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/dialogue.dtx b/macros/latex/contrib/ximera/src/dialogue.dtx
new file mode 100644
index 0000000000..b4b31580df
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/dialogue.dtx
@@ -0,0 +1,28 @@
+% \subsubsection{Dialogues}
+% \DescribeEnv{dialogue}{A dialogue between people.}
+% \begin{macrocode}
+%<*classXimera>
+\newenvironment{dialogue}{%
+ \renewcommand\descriptionlabel[1]{\hspace{\labelsep}\textbf{##1:}}
+ \begin{description}%
+}{%
+ \end{description}%
+}
+%</classXimera>
+% \end{macrocode}
+% On the web, the resulting |<dl>| should have an appropriate |class| set.
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{dialogue}{\begin{description}}{\end{description}}
+
+\ConfigureList{dialogue}%
+ {\EndP\HCode{<dl \a:LRdir class="dialogue">}%
+ \PushMacro\end:itm
+\global\let\end:itm=\empty}
+ {\PopMacro\end:itm \global\let\end:itm \end:itm
+\EndP\HCode{</dd></dl>}\ShowPar}
+ {\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
+ class="actor">}\bgroup \bf}
+ {\egroup\EndP\HCode{</dt><dd\Hnewline class="speech">}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/ending.dtx b/macros/latex/contrib/ximera/src/ending.dtx
new file mode 100644
index 0000000000..8f53a0fd27
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/ending.dtx
@@ -0,0 +1,20 @@
+% \subsubsection{The End}
+% It seems that some of the files need to conclude with something or another.
+% \begin{macrocode}
+%<*htXimera>
+\Hinput{ximera}
+%</htXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXourse>
+\Hinput{xourse}
+%</htXourse>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*cfgXimera>
+\begin{document}
+\EndPreamble
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/enumerate.dtx b/macros/latex/contrib/ximera/src/enumerate.dtx
new file mode 100644
index 0000000000..7c37e9743e
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/enumerate.dtx
@@ -0,0 +1,10 @@
+% \subsubsection{Enumerate fixes}
+% Make enumerate use a letter
+% \begin{macrocode}
+%<*classXimera>
+\renewcommand{\theenumi}{\textup{(\alph{enumi})}}
+\renewcommand{\labelenumi}{\theenumi}
+\renewcommand{\theenumii}{\textup{(\roman{enumii})}}
+\renewcommand{\labelenumii}{\theenumii}
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/feedback.dtx b/macros/latex/contrib/ximera/src/feedback.dtx
new file mode 100644
index 0000000000..03d09770b8
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/feedback.dtx
@@ -0,0 +1,72 @@
+% \subsubsection{Feedback}
+% \DescribeEnv{feedback}{An initially hidden environment that uncovers itself at an appropriate time.}
+% New Validator rewrite code added by Jason Nowell. Original code
+% orovided by Jim Fowler Validator is an environment designed to run a
+% custom check on answers (usually) using javascript code.
+%
+% Define a placeholder command for validator and feedback.
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\PH@Command}{}
+% \end{macrocode}
+% Validator should take an argument and detokenize it and display it
+% at the start of the environment. The original Validator environment
+% had everything framed in an mbox; presumably to make the text look
+% a bit nicer, although this seems redundant with |texttt|. It
+% shouldn't cause any harm so I have left it in for now.
+% \begin{macrocode}
+\newenvironment{validator}[1][]{
+ \def\PH@Command{#1}% Use PH@Command to hold the content and be a target for "\expandafter" to expand once.
+ \mbox{\texttt{\detokenize\expandafter{\PH@Command}}}% Now expand PH@Command once and then detokenize.
+ }{}
+% \end{macrocode}
+% First, if it's a handout, we want feedback to eat everything and
+% then disappear entirely. So we do this:
+% \begin{macrocode}
+\ifhandout%
+\newenvironment{feedback}
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%
+ \egroup
+ }
+% \end{macrocode}
+% If this isn't a handout, then we want to display the Feedback by
+% using a label, positioned and formated as a |\item| in a
+% trivlist. It is important that we also detokenize the content of
+% the optional argument, as it is likely to contain javascript or
+% other code that latex won't be able to make sense of.
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% \begin{macrocode}
+\newenvironment{feedback}[1][attempt]{
+
+ \def\PH@Command{#1}% Use PH@Command to hold the content and be a target for "\expandafter" to expand once.
+
+ \begin{trivlist}% Begin the trivlist to use formating of the "Feedback" label.
+ \item[\hskip \labelsep\small\slshape\bfseries Feedback% Format the "Feedback" label. Don't forget the space.
+ (\texttt{\detokenize\expandafter{\PH@Command}}):% Format (and detokenize) the condition for feedback to trigger
+ \hspace{2ex}]\small\slshape% Insert some space before the actual feedback given.
+ }{
+ \end{trivlist}
+ }
+
+\fi
+%</classXimera>
+% \end{macrocode}
+% Feedback environments take an optional parameter (which describes
+% when the feedback is to be provided)
+% \begin{macrocode}
+%<*htXimera>
+\def\feedback{\@ifnextchar[{\@feedbackcode}{\@feedbackattempt}}
+\def\@feedbackattempt{\@feedbackcode[attempt]}
+\def\@feedbackcode[#1]{\stepcounter{identification}%
+\ifvmode \IgnorePar\fi \EndP%
+\ifthenelse{\equal{#1}{attempt}}{\HCode{<div class="feedback" data-feedback="attempt" id="feedback\arabic{identification}">}}%
+{\ifthenelse{\equal{#1}{correct}}{\HCode{<div class="feedback" data-feedback="correct" id="feedback\arabic{identification}">}}%
+{\HCode{<div class="feedback" data-feedback="script" id="feedback\arabic{identification}"><script type="text/javascript">function feedback\arabic{identification}() }\{\HCode{ return \detokenize{#1}; }\}\HCode{</script>}}}}
+\def\endfeedback{\HCode{</div>}\IgnoreIndent}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/foldable.dtx b/macros/latex/contrib/ximera/src/foldable.dtx
new file mode 100644
index 0000000000..94c5eb36cb
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/foldable.dtx
@@ -0,0 +1,76 @@
+% \subsubsection{Foldable}
+% The package \verb|mdframed| is used to make pretty foldable, but the
+% amsthm/mdframed conflict also messes up the .jax file so we don't
+% load mdframed when performing the xake step. But even the below
+% isn't enough to fix this.
+% \begin{macrocode}
+%\iftikzexport\else\RequirePackage[framemethod=TikZ]{mdframed}\fi
+% \end{macrocode}
+% \DescribeEnv{foldable}{Does it fold?}
+% \begin{macrocode}
+%<*classXimera>
+
+\colorlet{textColor}{black} % since textColor is referenced below
+\colorlet{background}{white} % since background is referenced below
+
+% The core environments. Find results in 4ht file.
+%% pretty-foldable
+%\iftikzexport
+\newenvironment{foldable}{%
+}{%
+}
+%\else
+%\renewmdenv[
+% font=\upshape,
+% outerlinewidth=3,
+% topline=false,
+% bottomline=false,
+% leftline=true,
+% rightline=false,
+% leftmargin=0,
+% innertopmargin=0pt,
+% innerbottommargin=0pt,
+% skipbelow=\baselineskip,
+% linecolor=textColor!20!white,
+% fontcolor=textColor,
+% backgroundcolor=background
+%]{foldable}%
+%\fi
+
+%% pretty-expandable
+%\iftikzexport
+\newenvironment{expandable}{%
+}{%
+}
+%\else
+%\newmdenv[
+% font=\upshape,
+% outerlinewidth=3,
+% topline=false,
+% bottomline=false,
+% leftline=true,
+% rightline=false,
+% leftmargin=0,
+% innertopmargin=0pt,
+% innerbottommargin=0pt,
+% skipbelow=\baselineskip,
+% linecolor=black,
+%]{expandable}%
+%\fi
+
+\newcommand{\unfoldable}[1]{#1}
+
+%</classXimera>
+% \end{macrocode}
+% On the web, these foldable elements could be HTML5 details and summary.
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{foldable}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div id="foldable\arabic{identification}" class="foldable">}}{\HCode{</div>}\IgnoreIndent}
+
+\renewenvironment{expandable}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div data-original="expandable" id="foldable\arabic{identification}" class="foldable">}
+
+}{\HCode{</div>}\IgnoreIndent}
+
+\renewcommand{\unfoldable}[1]{\HCode{<span class="unfoldable">}#1\HCode{</span>}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/footnotes.dtx b/macros/latex/contrib/ximera/src/footnotes.dtx
new file mode 100644
index 0000000000..cd37a086e4
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/footnotes.dtx
@@ -0,0 +1,63 @@
+% \subsection{How to handle footnotes in this setting.}
+% \DescribeMacro{\footnote}{% Written by Jason Nowell Standard Footnotes in pdf, but expandable parenthetical online. Supports different coloring by using |\colorlet{fncolor}{COLOR}| and setting COLOR to whatever color you want (Default is blue).}%
+%
+% \begin{macrocode}
+%<*htXimera>
+\newcounter{footnoteNum}% This will track footnote numbering for the superscript and for the ID.
+\colorlet{fncolor}{red!30!blue}% This is the footnote text coloring. This will allow users to renew this coloring to their own preference if they want to. The default here is a blue coloring. NOTE: Currently; trying to use `footnotecolor' (as a more descriptive color name) breaks everything on my system pretty spectacularly for some reason. This may be just mine or a clash somewhere in the ximera package, so for now I'm leaving it as `fncolor'.
+\renewcommand{\footnote}[1]{\ifvmode\ShowPar\fi
+ \stepcounter{footnoteNum}% Step the counter to make a new footnote
+ %% The following HCode should setup the javascript function that shows or hides the footnote. If you want to change the footnote location, you may want to change the 'inline' part of x.style.display = 'inline'; to another CSS display type, like 'block' or 'inherit'. Current the `x.display.color' seems to not be working.
+ \HCode{
+ <script type="text/javascript">
+ function footnotefunction(ID) {
+ var x = document.getElementById(ID);
+ if (x.style.display === "none") {
+ x.style.color = "blue";
+ x.style.display = "inline";
+ } else {
+ x.style.display = "none";
+ }
+ }
+ </script>
+ }
+ %% The next command needs \expandafter in order to expand the counter footnoteNum into a roman character for the footnote ID. These seem to work better than arabic numerals in some cases, although why is not clear.
+ %% The next HCode controls the formatting for the actual footnote reference number (ie the superscript), but not the footnote itself.
+ \expandafter\HCode{
+ <span style=
+ "position=relative;
+ vertical-align=baseline;"
+ >
+ <button onclick="footnotefunction('footnote\roman{footnoteNum}')"
+ style=
+ "background:none!important;
+ color:inherit;
+ border:none;
+ padding:0!important;
+ font: inherit;
+ cursor: pointer;"
+ >
+ <sup>}[\arabic{footnoteNum}]\HCode{</sup></button>
+ }
+ %% The next command needs \expandafter in order to expand the counter footnoteNum into a roman character for the footnote ID. These seem to work better than arabic numerals in some cases, although why is not clear. Note that the ID counter style choice (roman vs arabic etc) needs to match the previous HCode choice.
+ %% Currently most of the formatting doesn't seem to work as intended, so that still needs to be figured out and fixed. Ideally we would have the footnote appear as a bubble above the footnote superscript when the footnote superscript is clicked.
+ \expandafter\HCode{
+ <span id="footnote\roman{footnoteNum}"
+ style=
+ "display:none;
+ min-width:20em;
+ position:relative;
+ left:2px;
+ padding:5px;
+ color:blue;
+ word-wrap:break-word;
+ z-index=9999;
+ overflow=auto;"
+ >
+ }
+ \textcolor{fncolor}{(#1)}% Display the actual footnote here with color `fncolor' and within ()'s.
+ \HCode{</span></span>}
+ }% End of footnote definition.
+%</htXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/freeresponse.dtx b/macros/latex/contrib/ximera/src/freeresponse.dtx
new file mode 100644
index 0000000000..2fe03c5287
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/freeresponse.dtx
@@ -0,0 +1,60 @@
+% \subsubsection{Free response}
+% \DescribeEnv{freeResponse}{A freeform input box.}
+% \begin{macrocode}
+%<*classXimera>
+\newboolean{given} %% required for freeResponse
+\setboolean{given}{true} %% could be replaced by a key=value pair later if needed
+
+\ifhandout
+ \newenvironment{freeResponse}[1][false]%
+ {%
+ \def\givenatend{\boolean{#1}}
+ \ifthenelse{\boolean{#1}}
+ {% Begin then result
+ \begin{trivlist}
+ \item
+ }% End then result
+ {% Begin else result
+ \setbox0\vbox\bgroup
+ }% End else result
+% {}% Don't think this is doing anything? -- Jason
+ }
+ {%
+ \ifthenelse{\givenatend}
+ {% Begin then result
+ \end{trivlist}
+ }% End then result
+ {% Begin else result
+ \egroup
+ }% End else result
+% {}% Don't think this is doing anything? -- Jason
+ }
+\else
+ \newenvironment{freeResponse}[1][false]%
+ {% Environment Beginning Code
+ \ifthenelse{\boolean{#1}}%% Could probably change this with just putting the (given) in the boolean?-- Jason
+ {% Begin then result
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Free Response (Given):\hspace{2ex}]
+ }% End then result
+ {% Begin else result
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Free Response:\hspace{2ex}]
+ }% End else result
+ }
+ {% Environment Ending Code
+ \end{trivlist}
+ }
+\fi
+
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+
+\renewenvironment{freeResponse}{\refstepcounter{problem}}{}%
+\ConfigureEnv{freeResponse}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="free-response" id="problem\arabic{identification}">}}{\HCode{</div>}\IgnoreIndent}{}{}%
+
+%</htXimera>
+% \end{macrocode} \ No newline at end of file
diff --git a/macros/latex/contrib/ximera/src/graded.dtx b/macros/latex/contrib/ximera/src/graded.dtx
new file mode 100644
index 0000000000..24ec67052d
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/graded.dtx
@@ -0,0 +1,20 @@
+% \subsection{Grading by points}
+% \DescribeEnv{graded}{The |graded| environment does nothing in latex,
+% but in html, it wraps the activities in a div in order to assign
+% some weight to them for grading.}
+% \begin{macrocode}
+%<*classXourse>
+\newenvironment{graded}[1]{}{}
+%</classXourse>
+% \end{macrocode}
+% So indeed this environment in html wraps the activities in a div in
+% order to assign some number of points to them.
+% \begin{macrocode}
+%<*htXourse>
+\renewenvironment{graded}[1]{%
+\ifvmode \IgnorePar\fi \EndP\HCode{<div class="graded" data-weight="#1">}\IgnoreIndent%
+}{
+\ifvmode \IgnorePar\fi \EndP\HCode{</div>}\IgnoreIndent%
+}
+%</htXourse>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/hideEnv.dtx b/macros/latex/contrib/ximera/src/hideEnv.dtx
new file mode 100644
index 0000000000..5abcdfb0c0
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/hideEnv.dtx
@@ -0,0 +1,36 @@
+% \subsubsection{hideEnv}
+% \DescribeMacro{hideEnv}[replacementCode]{environmentName}
+% This macro allows you to hide an environment by name, ensuring it - and all its contents - are no longer visible on the pdf output. It also allows you an optional input to replace the block of content with new (uniform) content if desired.
+% #1 is replacementCode and is optional. This will be code that is executed when the env is executed,
+% even though the content of the environment is hidden.
+% #2 is the name of the environment which gets hidden.
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\hideEnv}[2][]{
+ %% Syntax: \hideEnv[NewCode]{environmentName}
+
+ \expandafter\def\csname temp@#2\endcsname\csname #2\endcsname
+ \expandafter\def\csname temp@end#2\endcsname\csname end#2\endcsname
+ \expandafter\def\csname#2\endcsname{
+ \ifnum\value{depth@Check}<1
+ Suppress Should start here.
+ \suppress
+ \fi
+ \stepcounter{depth@Check}
+
+% Current Depth reported as: \arabic{depth@Check}
+ }
+ \expandafter\def\csname end#2\endcsname{
+ \addtocounter{depth@Check}{-1}
+ \ifnum\value{depth@Check}<1
+ Suppress Should End Here.
+ \endsuppress
+ \fi
+
+% Current Depth reported as: \arabic{depth@Check}
+ \noexpand{#1}
+ }
+ }
+%</classXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/hints.dtx b/macros/latex/contrib/ximera/src/hints.dtx
new file mode 100644
index 0000000000..b777bd8235
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/hints.dtx
@@ -0,0 +1,53 @@
+% \subsubsection{Hints}
+% \DescribeEnv{hint}{Hint environments can be embedded inside problems.}
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+% Create a counter that will track how deeply nested the current hint is
+% \begin{macrocode}
+\newcounter{hintLevel}
+\setcounter{hintLevel}{0}
+% \end{macrocode}
+% Create an empty shell to renew
+% \begin{macrocode}
+\newenvironment{hint}{}{}
+% \end{macrocode}
+% Now we renew the environment as needed, this should allow support
+% for any transition code that treats some parts as a "handout" and
+% some parts as non-handout. renewing the environment on the fly is a
+% bit hacky.
+% \begin{macrocode}
+\renewenvironment{hint}
+ {
+ \ifhandout
+ \setbox0\vbox\bgroup
+ \else
+ \begin{trivlist}\item[\hskip \labelsep\small\slshape\bfseries Hint:\hspace{2ex}]
+ \small\slshape
+ \fi
+% \end{macrocode}
+% Step up hint level to track the nested level of the hint. This will be used for problem numbering.
+% \begin{macrocode}
+ \stepcounter{hintLevel}
+ }
+ {
+ \ifhandout
+ \egroup\ignorespacesafterend
+ \else
+ \end{trivlist}
+ \fi
+% \end{macrocode}
+% Detract from hint level counter to track hint nested level
+% \begin{macrocode}
+ \addtocounter{hintLevel}{-1}
+ }
+
+\ifhints
+ \renewenvironment{hint}{
+ \begin{trivlist}\item[\hskip \labelsep\small\slshape\bfseries Hint:\hspace{2ex}]
+ \small\slshape}
+ {\end{trivlist}}
+\fi
+
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/html.dtx b/macros/latex/contrib/ximera/src/html.dtx
new file mode 100644
index 0000000000..8c0b458bf1
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/html.dtx
@@ -0,0 +1,20 @@
+% \subsubsection{Semantic HTML}
+% \DescribeMacro{\textbf}{Using \verb|\textbf| emits a \verb|<strong>| tag.}
+% \begin{macrocode}
+%<*cfgXimera>
+\Configure{textbf}{\ifvmode\ShowPar\fi\HCode{<strong>}}{\HCode{</strong>}}
+%</cfgXimera>
+% \end{macrocode}
+% \DescribeMacro{\textit}{Using \verb|\textit| or similar emits an \verb|<em>| tag.}
+% \begin{macrocode}
+%<*cfgXimera>
+\Configure{textit}{\ifvmode\ShowPar\fi\HCode{<em>}}{\HCode{</em>}}
+\Configure{emph}{\ifvmode\ShowPar\fi\HCode{<em>}}{\HCode{</em>}}
+%</cfgXimera>
+% \end{macrocode}
+% \DescribeMacro{\texttt}{Using \verb|\texttt| emits a \verb|<code>| tag.}
+% \begin{macrocode}
+%<*cfgXimera>
+\Configure{texttt}{\ifvmode\ShowPar\fi\HCode{<code>}}{\HCode{</code>}}
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/hyperref.dtx b/macros/latex/contrib/ximera/src/hyperref.dtx
new file mode 100644
index 0000000000..d035b4d976
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/hyperref.dtx
@@ -0,0 +1,12 @@
+% We put hyperref after all other packages becuase that is better.
+% \begin{macrocode}
+%<*classXimera>
+% Don't use hyperref when using Tex4ht
+\ifdefined\HCode
+\RequirePackage{hyperref}
+\else
+\RequirePackage[pdfpagelabels,colorlinks=true,allcolors=blue!30!black]{hyperref}
+\pdfstringdefDisableCommands{\def\hskip{}}%% quiets warning
+\fi
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/image.dtx b/macros/latex/contrib/ximera/src/image.dtx
new file mode 100644
index 0000000000..e8e0a96e5a
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/image.dtx
@@ -0,0 +1,60 @@
+% \subsubsection{Images}
+% \DescribeEnv{image}{Place images inside an |image| environment. On paper, this centers the image. On the web, this provides additional benefits.}
+% \begin{macrocode}
+%<*classXimera>
+%\newenvironment{image}[1][]{\begin{center}}{\end{center}}
+\NewEnviron{image}[1][3in]{%
+ \begin{center}\resizebox{#1}{!}{\BODY}\end{center}% resize and center
+}
+%</classXimera>
+% \end{macrocode}
+% \DescribeMacro{\alt}{Inside an |image| environment, |\alt| provides alt-text for assistive technology like screenreaders.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\alt}[1]{}
+%</classXimera>
+% \end{macrocode}
+% The |image| environment doesn't actually work in tex4ht as defined
+% with NewEnviron; so this renewenvironment is needed.
+% image-environment also gets formatted in a well, and when the user
+% clicks on the image, it zooms in.
+% \begin{macrocode}
+%<*htXimera>
+\newcounter{imagealt}
+\setcounter{imagealt}{0}
+\renewenvironment{image}[1][]{\stepcounter{imagealt}%
+ \ifvmode \IgnorePar\fi \EndP%
+ \HCode{<div class="image-environment" role="img" aria-labelledby="image-alt-\arabic{imagealt}">}%
+}{\HCode{</div>}}
+\renewcommand{\alt}[1]{\HCode{<div style="display: none;" id="image-alt-\arabic{imagealt}">}#1\HCode{</div>}}
+%</htXimera>
+% \end{macrocode}
+% Although we accept many formats, SVG is preferred on the web.
+% Since we have a different mechanism for producing |alt| text, we
+% want to ignore tex4ht's own method fo producing alt text.
+% \begin{macrocode}
+%<*cfgXimera>
+\DeclareGraphicsExtensions{.jpg,.png,.gif,.svg}
+\Configure{graphics*}
+{svg}{
+ {\Configure{Needs}{File: \Gin@base.svg}\Needs{}}
+ \Picture[]{\csname Gin@base\endcsname.svg \csname a:Gin-dim\endcsname}%
+}
+%</cfgXimera>
+% \end{macrocode}
+% This is a hack to kill |includegraphics| commands in
+% |\documentclass{standalone}| files
+% \begin{macrocode}
+%<*cfgXimera>
+\ifcsname ifstandalone\endcsname
+ \ifstandalone
+ \renewcommand\includegraphics[2][]{}
+ \fi
+%</cfgXimera>
+% \end{macrocode}
+% PGF sometimes causes trouble, but we simply don't care in tex4ht mode.
+% \begin{macrocode}
+%<*htXimera>
+\newcommand{\pgfsyspdfmark}[3]{}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/instructornotes.dtx b/macros/latex/contrib/ximera/src/instructornotes.dtx
new file mode 100644
index 0000000000..c175319f69
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/instructornotes.dtx
@@ -0,0 +1,101 @@
+% \subsubsection{Instructor notes}
+% \begin{macrocode}
+%<*classXimera>
+
+%% instructor intro/instructor notes
+%%
+\ifhandout % what follows is handout behavior
+ \ifinstructornotes
+ \newenvironment{instructorIntro}%
+ {%
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Instructor Introduction:\hspace{2ex}]
+ }
+ % %% line at the bottom}
+ {
+ \end{trivlist}
+ \par\addvspace{.5ex}\nobreak\noindent\hung
+ }
+ \else
+ \newenvironment{instructorIntro}%
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%If this mysteriously starts breaking
+ % remove \ignorespacesafterend
+ \egroup\ignorespacesafterend
+ }
+ \fi
+\else% for handout, so what follows is default
+\ifinstructornotes
+ \newenvironment{instructorIntro}%
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%
+ \egroup
+ }
+ \else
+ \newenvironment{instructorIntro}%
+ {%
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Instructor Introduction:\hspace{2ex}]
+ }
+ % %% line at the bottom}
+ {
+ \end{trivlist}
+ \par\addvspace{.5ex}\nobreak\noindent\hung
+ }
+ \fi
+\fi
+
+
+
+
+%% instructorNotes environment
+\ifhandout % what follows is handout behavior
+\ifinstructornotes
+\newenvironment{instructorNotes}%
+ {%
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Instructor Notes:\hspace{2ex}]
+ }
+ % %% line at the bottom}
+ {
+ \end{trivlist}
+ \par\addvspace{.5ex}\nobreak\noindent\hung
+ }
+ \else
+ \newenvironment{instructorNotes}%
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%
+ \egroup
+ }
+ \fi
+\else% for handout, so what follows is default
+\ifinstructornotes
+\newenvironment{instructorNotes}%
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%
+ \egroup
+ }
+ \else
+ \newenvironment{instructorNotes}%
+ {%
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Instructor Notes:\hspace{2ex}]
+ }
+ % %% line at the bottom}
+ {
+ \end{trivlist}
+ \par\addvspace{.5ex}\nobreak\noindent\hung
+ }
+ \fi
+ \fi
+
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/interactives/desmos.dtx b/macros/latex/contrib/ximera/src/interactives/desmos.dtx
new file mode 100644
index 0000000000..9a55db8f43
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/desmos.dtx
@@ -0,0 +1,14 @@
+% \subsubsection{Desmos}
+% \DescribeMacro{\desmos}{Desmos command. Requires id, width, and height as arguments.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\desmos}[3]{Desmos link: \url{https://www.desmos.com/calculator/#1}}
+\newcommand{\desmosThreeD}[3]{Desmos3D link: \url{https://www.desmos.com/3d/#1}}
+%</classXimera>
+% \end{macrocode}
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\desmos}[3]{\HCode{<iframe src="https://www.desmos.com/calculator/#1" width="100\%" height="#3px" style="border: 1px solid \#ccc" frameborder=0>This browser does not support embedded elements.</iframe>}}
+\renewcommand{\desmosThreeD}[3]{\HCode{<iframe src="https://www.desmos.com/3d/#1" width="#2px" height="#3px" style="border: 1px solid \#ccc" frameborder=0>This browser does not support embedded elements.</iframe>}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/interactives/geogebra.dtx b/macros/latex/contrib/ximera/src/interactives/geogebra.dtx
new file mode 100644
index 0000000000..696ac32236
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/geogebra.dtx
@@ -0,0 +1,27 @@
+% \subsubsection{Geogebra}
+% \DescribeMacro{\geogebra}{Geogebra command. Requires id, width, and
+% height as arguments.}
+% \begin{macrocode}
+%<*classXimera>
+%Geogebra link
+\newcommand{\geogebra}[3]{Geogebra link: \url{https://www.geogebra.org/m/#1}}
+%</classXimera>
+% \end{macrocode}
+% Define keys for answer geogebra key=value pairs.
+% \begin{macrocode}
+%<*htXimera>
+\define@key{geogebra}{rc}[true]{\def\geo@rc{#1}}
+\define@key{geogebra}{sdz}[true]{\def\geo@sdz{#1}}
+\define@key{geogebra}{smb}[true]{\def\geo@smb{#1}}
+\define@key{geogebra}{stb}[true]{\def\geo@stb{#1}}
+\define@key{geogebra}{stbh}[true]{\def\geo@stbh{#1}}
+\define@key{geogebra}{ld}[true]{\def\geo@ld{#1}}
+\define@key{geogebra}{sri}[true]{\def\geo@sri{#1}}
+%set default key values
+\setkeys{geogebra}{rc=false,sdz=false,smb=false,stb=false,stbh=false,ld=false,sri=false}
+%command definition
+\renewcommand{\geogebra}[4][]{%
+ \setkeys{geogebra}{#1}% Set new keys
+ \HCode{<iframe scrolling="no" src="https://www.geogebra.org/material/iframe/id/#2/width/#3/height/#4/border/888888/rc/\geo@rc/ai/false/sdz/\geo@sdz/smb/\geo@smb/stb/\geo@stb/stbh/\geo@stbh/ld/\geo@ld/sri/\geo@sri/at/auto" width="#3px" height="#4px" style="border:0px; max-width: fit-content"> </iframe>}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/interactives/google.dtx b/macros/latex/contrib/ximera/src/interactives/google.dtx
new file mode 100644
index 0000000000..cbe75498f1
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/google.dtx
@@ -0,0 +1,26 @@
+% \subsubsection{Google Sheet}
+% \DescribeMacro{\googleSheet}{googleSheet command. Requires id,
+% width, and height as arguments. optional arguments are gid for
+% sheet ID and range for cell range. command definition}
+% \begin{macrocode}
+%<*classXimera>
+% Google Spreadsheet link (read only)
+\newcommand{\googleSheet}[5]{%
+ Google Spreadsheet link: \url{https://docs.google.com/spreadsheets/d/#1}%
+}
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\googleSheet}[5]{%
+ \ifthenelse{\equal{#4}{}}%
+ {\HCode{<iframe width="#2px" height="#3px" src="https://docs.google.com/spreadsheets/d/#1/htmlembed?widget=true">This browser does not support embedded elements.</iframe>}}%
+ {\ifthenelse{\equal{#5}{}}%
+ {\HCode{<iframe width="#2px" height="#3px" src="https://docs.google.com/spreadsheets/d/#1/htmlembed?single=true&amp;gid=#4&amp;widget=false">This browser does not support embedded elements.</iframe>}}%
+ {\HCode{<iframe width="#2px" height="#3px" src="https://docs.google.com/spreadsheets/d/#1/htmlembed?single=true&amp;gid=#4&amp;range=#5&amp;widget=false">This browser does not support embedded elements.</iframe>}}%
+ }%
+ }%
+%</htXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/interactives/graph.dtx b/macros/latex/contrib/ximera/src/interactives/graph.dtx
new file mode 100644
index 0000000000..154c2803af
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/graph.dtx
@@ -0,0 +1,14 @@
+% \subsubsection{Graphs}
+% \DescribeMacro{\graph}{An embedded graph (in math mode).}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\graph}[2][]{\text{Graph of $#2$}}
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\graph}[2][]{\HCode{<div class="graph" data-options="#1">}#2\HCode{</div>}}
+%</htXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/interactives/include.dtx b/macros/latex/contrib/ximera/src/interactives/include.dtx
new file mode 100644
index 0000000000..76eaa0dd6f
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/include.dtx
@@ -0,0 +1,22 @@
+% \subsubsection{Including widgets}
+% \DescribeMacro{\includeinteractive}{Cognate to |includegraphics| but
+% instead of a graphics file, accepts a |.js| file which will be
+% loaded as an interactive widget.}
+% \begin{macrocode}
+%<*classXimera>
+\define@key{interactive}{id}{\def\interactive@id{#1}}
+\setkeys{interactive}{id=}
+\newcommand{\includeinteractive}[2][]{
+\setkeys*{interactive}{#1}%
+\ifthenelse{\equal{\interactive@id}{}}{}{\recordvariable{\interactive@id}}
+Interactive
+}
+%</classXimera>
+% \end{macrocode}
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\includeinteractive}[2][]{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div id="interactive\arabic{identification}" class="interactive"> </div>}\HCode{<script src="#2" data-argument="#1" data-target="interactive\arabic{identification}"> </script>}\IgnoreIndent}
+%</htXimera>
+% \end{macrocode}
+
+
diff --git a/macros/latex/contrib/ximera/src/interactives/javascript.dtx b/macros/latex/contrib/ximera/src/interactives/javascript.dtx
new file mode 100644
index 0000000000..c67a7e5235
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/javascript.dtx
@@ -0,0 +1,31 @@
+% \subsubsection{JavaScript}
+
+% \DescribeEnv{javascript}{Code inside a javascript environment is printed on paper, but executed on the web.}
+
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{javascript}{Verbatim}{numbers=left,frame=lines,label=JavaScript,labelposition=topline}
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+% for programming javascript
+\renewenvironment{javascript}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{javascript}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="javascript" id="javascript\arabic{identification}"><script type="text/javascript">}\HtmlParOff}{\HtmlParOn\HCode{</script></div>}}
+%</htXimera>
+% \end{macrocode}
+
+% \DescribeMacro{\js}{Code inside a |\js| macro is evaluated and replaced with its value.}
+% \begin{macrocode}
+%<*classXimera>
+\def\js#1{\mbox{\texttt{\detokenize{#1}}}}
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+\def\js#1{\stepcounter{identification}\HCode{<span class="inline-javascript" id="javascript\arabic{identification}"><script type="text/javascript"> function javascript\arabic{identification}() }\{\HCode{ return \detokenize{#1}; }\}\HCode{</script></span>}}
+%</htXimera>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/interactives/sagemath.dtx b/macros/latex/contrib/ximera/src/interactives/sagemath.dtx
new file mode 100644
index 0000000000..95d378afde
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/sagemath.dtx
@@ -0,0 +1,43 @@
+% \subsection{SageMath support}
+% Load Sage\TeX\ if it exists.
+% \begin{macrocode}
+%<*classXimera>
+\IfFileExists{sagetex.sty}{\RequirePackage{sagetex}}{}
+%</classXimera>
+% \end{macrocode}
+
+% \DescribeEnv{sageCell}{Create an interactive SageMath widget.}
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{sageCell}{Verbatim}{numbers=left,frame=lines,label=SAGE,labelposition=topline}
+%</classXimera>
+% \end{macrocode}
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{sageCell}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{sageCell}{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="sage"><script type="text/x-sage">}\HtmlParOff}{\HtmlParOn\HCode{\Hnewline</script></div>}}
+%</htXimera>
+% \end{macrocode}
+
+% \DescribeEnv{sageOutput}{Execute SageMath code and output the result.}
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{sageOutput}{Verbatim}{numbers=left,frame=lines,label=SAGE-Output,labelposition=topline}
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{sageOutput}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{sageOutput}{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="sageOutput"><script type="text/x-sage">}}{\HCode{\Hnewline</script></div>}}
+%</htXimera>
+% \end{macrocode}
+
+% \DescribeEnv{sageSilent}{Execute SageMath code without outputing the result.}
+% \begin{macrocode}
+%<*htXimera>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\renewenvironment{sagesilent}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{sagesilent}{\ifvmode \IgnorePar\fi \EndP\HCode{<script type="text/sagemath">}\HtmlParOff}{\HtmlParOn\HCode{</script></div>}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/interactives/video.dtx b/macros/latex/contrib/ximera/src/interactives/video.dtx
new file mode 100644
index 0000000000..7f7979db3f
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/interactives/video.dtx
@@ -0,0 +1,21 @@
+% \subsubsection{Video}
+% \DescribeMacro{\youtube}{Youtube command. Requires id.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\youtube}[1]{YouTube link: \url{https://www.youtube.com/watch?v=#1}}
+%</classXimera>
+% \end{macrocode}
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\youtube}[1]{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="video youtube-player" data-youtube="#1">_</div>}}
+%</htXimera>
+% \end{macrocode}
+% Video commands are also emitted, slightly differently, when placed
+% at top-level in a xourse file.
+% \begin{macrocode}
+%<*htXourse>
+\renewcommand\youtube[1]{%
+\ifvmode \IgnorePar\fi \EndP\HCode{<a class="youtube" href="https://www.youtube.com/watch?v=#1">#1</a>}\IgnoreIndent%
+}
+%</htXourse>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/jax.dtx b/macros/latex/contrib/ximera/src/jax.dtx
new file mode 100644
index 0000000000..5441a139e1
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/jax.dtx
@@ -0,0 +1,115 @@
+% \subsubsection{MathJax support}
+% When using mathjax, dump all the |\newcommand|s to a |.jax| file.
+%
+% First, create the |.jax| file.
+% \begin{macrocode}
+%<*classXimera>
+\ifdefined\HCode
+ \else
+ \newwrite\myfile
+ \immediate\openout\myfile=\jobname.jax
+\fi
+%</classXimera>
+% \end{macrocode}
+% From |only.dtx| we must also create |prompt| on the MathJax side.
+% \begin{macrocode}
+%<*classXimera>
+\ifdefined\HCode
+ \else
+ \immediate\write\myfile{\unexpanded{\newenvironment}{prompt}{}{}}
+\fi
+%</classXimera>
+% \end{macrocode}
+% Redefine newcommand appropriately.
+% \begin{macrocode}
+%<*classXimera>
+\ifdefined\HCode
+ \else
+\let\@oldargdef\@argdef
+\long\def\@argdef#1[#2]#3{%
+\immediate\write\myfile{\unexpanded{\newcommand}{\unexpanded{#1}}[\unexpanded{#2}]{\unexpanded{#3}}}%
+\@oldargdef#1[#2]{#3}%
+}
+
+\let\@OldDeclareMathOperator\DeclareMathOperator
+\renewcommand{\DeclareMathOperator}[2]{\@OldDeclareMathOperator{#1}{#2}\immediate\write\myfile{\unexpanded{\DeclareMathOperator}{\unexpanded{#1}}{\unexpanded{#2}}}}
+
+\fi
+%</classXimera>
+% \end{macrocode}
+% Include the jax'ed newcommands
+% \begin{macrocode}
+%<*cfgXimera>
+% Remove commands that use @
+\immediate\write18{sed -i "/@/d" \jobname.jax}
+% Replace ##1 with #1 and so forth
+\immediate\write18{sed -i "s/\string#\string#\string\\([0-9]\string\\)/\string#\string\\1/g" \jobname.jax}
+
+\Configure{BVerbatimInput}{}{}{}{}
+
+\Configure{verbatiminput}{}{}{}{}
+
+% Instead of a nonbreaking space, use a standard space
+\makeatletter
+\def\FV@Space{\space}
+\makeatother
+
+% Include the mathjax newcommands in a math/tex script right at the beginning of the body
+\Configure{BODY}{%
+\HCode{<body>\Hnewline}%
+\Tg<div class="preamble">%
+\Tg<script type="math/tex">%
+\BVerbatimInput{\jobname.jax}%
+\Tg</script>%
+\IfFileExists{\jobname.ids}{\HCode{<script type="text/javascript">\Hnewline}%
+\BVerbatimInput{\jobname.ids}%
+\HCode{</script>\Hnewline}%
+\Tg</div>%
+}{}
+}{%
+\HCode{</body>\Hnewline}%
+}
+% \end{macrocode}
+% Now I just need to add a newcommand command which outputs the
+% appropriate newcommands to MathJax; then this should be "good
+% enough" for our purposes.
+% \begin{macrocode}
+\newtoks\eqtoks
+\def\AltMath#1${\eqtoks{#1}%
+ \HCode{<script type="math/tex">\the\eqtoks</script>}$}
+\Configure{$}{}{}{\expandafter\AltMath}
+
+\def\AltlMathI#1\){\eqtoks{#1}%
+ \HCode{<script type="math/tex">\the\eqtoks</script>}\)}
+\Configure{()}{\AltlMathI}{}
+
+\def\AltlDisplay#1\]{\eqtoks{#1}%
+ \HCode{<script type="math/tex; mode=display">\the\eqtoks</script>}\]}
+\Configure{[]}{\AltlDisplay}{}
+
+\def\AltlDisplayI#1$${\eqtoks{#1}%
+ \HCode{<script type="math/tex; mode=display">\the\eqtoks</script>}$$}
+\Configure{$$}{}{}{\expandafter\AltlDisplayI}
+% \end{macrocode}
+% Need to turn off htmlpar too, as expained in http://tex.stackexchange.com/questions/204930/vertical-spaces-in-htlatex-scriptenv
+% \begin{macrocode}
+\newcommand\VerbMath[1]{%
+\renewenvironment{#1}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{#1}{\ifvmode \IgnorePar\fi \EndP\HCode{<script type="math/tex; mode=display"> \string\begin{#1}\Hnewline}\HtmlParOff}{\HtmlParOn\HCode{\string\end{#1}</script>}}
+}
+% \end{macrocode}
+% This is a fix for the LAODE book, which uses matlabEquation as if it were an equation
+% \begin{macrocode}
+\ScriptEnv{matlabEquation}{\ifvmode \IgnorePar\fi \EndP\HCode{<script type="math/tex; mode=display"> \string\begin{equation}\Hnewline}\HtmlParOff}{\HtmlParOn\HCode{\string\end{equation}</script>}}
+
+\VerbMath{equation}
+\VerbMath{equation*}
+\VerbMath{align}
+\VerbMath{align*}
+\VerbMath{alignat}
+\VerbMath{alignat*}
+\VerbMath{eqnarray}
+\VerbMath{eqnarray*}
+
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/labels.dtx b/macros/latex/contrib/ximera/src/labels.dtx
new file mode 100644
index 0000000000..05ecf31fc9
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/labels.dtx
@@ -0,0 +1,15 @@
+% \subsubsection{Labels and references}
+% Labels and refs both generate anchors.
+% \DescribeMacro{\label}{A |\label| can be referenced from any file in the xourse.}
+% \begin{macrocode}
+%<*htXimera>
+\let\oldlabel\label
+\renewcommand{\label}[1]{\oldlabel{#1}\HCode{<a class="ximera-label" id="#1"></a>}}
+%</htXimera>
+% \end{macrocode}
+% \DescribeMacro{\ref}{A |\ref| can connect one \TeX\ file to another if they are in the same xourse.}
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\ref}[1]{\HCode{<a class="reference" href="\##1">#1</a>}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/leash.dtx b/macros/latex/contrib/ximera/src/leash.dtx
new file mode 100644
index 0000000000..b52b5e2bf0
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/leash.dtx
@@ -0,0 +1,18 @@
+% \subsubsection{Leashes}
+% \DescribeEnv{leash}{Put content inside a scrollable box.}
+% \begin{macrocode}
+%<*classXimera>
+
+\newenvironment{leash}[1]{%
+}{%
+}
+
+
+%</classXimera>
+% \end{macrocode}
+
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{leash}[1]{\ifvmode \IgnorePar\fi \EndP\HCode{<div style="overflow: auto; height: #1px">}}{\HCode{</div>}\IgnoreIndent}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/link.dtx b/macros/latex/contrib/ximera/src/link.dtx
new file mode 100644
index 0000000000..9e76659e83
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/link.dtx
@@ -0,0 +1,31 @@
+% Hyperlinks to outside documents
+% \begin{macrocode}
+%<*classXimera>
+\newcommand*{\link}[2][]{#1%
+ \ifthenelse{\equal{#1}{}}%
+ {\footnote{Link: \url{#2}}}%
+ {\footnote{See #1 at \url{#2}}}
+ }
+%</classXimera>
+% \end{macrocode}
+
+
+% \begin{macrocode}
+%<*htXimera>
+% This is a command used in versions of documents created with
+% these classes; in Jim's opinion it should be deprecated for |\href|
+% Bart on the other hand likes |\link|
+\renewcommand*{\link}[2][]{%
+\ifthenelse{\equal{#1}{}}%
+{\url{#2}}
+{\href{#2}{#1}}}
+%\renewcommand*{\link}[2][]{%
+%\ifthenelse{\equal{#1}{}}%
+%{\url{#2}}
+%{\href{#2}{#1}}}
+
+% because hyperref redefines stuff atbegindocument, we do too.
+\AtBeginDocument{\renewcommand{\ref}[1]{\HCode{<a class="reference" href="\##1">#1</a>}}}
+
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/logo.dtx b/macros/latex/contrib/ximera/src/logo.dtx
new file mode 100644
index 0000000000..cbe808502a
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/logo.dtx
@@ -0,0 +1,30 @@
+% \subsection{Logos}
+% \DescribeMacro{\logo}{A logo for the xourse.}
+% \begin{macrocode}
+%<*classXourse>
+\newcommand*{\logo}[1]{%
+ \ifx\@onlypreamble\@notprerr
+ \ClassError{xourse}{logo can only be used in the preamble}
+ {Move your logo command to the preamble}
+ \else %
+ \IfFileExists{#1}%
+ {\gdef\xourse@logo{#1}}%
+ {\ClassError{xourse}{logo file does not exist}
+ {To use logo, make sure that the referenced image file exists}}%
+ \fi%
+}
+
+%</classXourse>
+% \end{macrocode}
+
+% The xourse logo is an |og:image| in the opengraph taxonomy.
+% \begin{macrocode}
+%<*htXourse>
+\Configure{@HEAD}{%
+ \HCode{<meta name="og:image" content="}%
+\ifdefined\xourse@logo%
+ \xourse@logo%
+\fi%
+\HCode{" />\Hnewline}}%
+%</htXourse>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/macros.dtx b/macros/latex/contrib/ximera/src/macros.dtx
new file mode 100644
index 0000000000..0968942be5
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/macros.dtx
@@ -0,0 +1,14 @@
+% \subsubsection{Macros}
+% Makes everymath display style even when inline, could be optional.
+% \begin{macrocode}
+%<*classXimera>
+\everymath{\displaystyle}
+%</classXimera>
+% \end{macrocode}
+% Ok not everything, we also need to configure ``display style'' limits.
+% \begin{macrocode}
+%<*classXimera>
+\let\prelim\lim
+\renewcommand{\lim}{\displaystyle\prelim}
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/makeCounter.dtx b/macros/latex/contrib/ximera/src/makeCounter.dtx
new file mode 100644
index 0000000000..2e898255e7
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/makeCounter.dtx
@@ -0,0 +1,37 @@
+% \subsubsection{Utility macros}
+% These are a list of new utility macros that are generally useful and are loaded after packages and the Tikz Fix.
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+% \begin{macro}{NewCounter}
+% Improved version of |\newcounter| to check for existance before creating a counter to minimize conflicts with packages. Added by Jason Nowell
+% \begin{macrocode}
+\newcommand{\Make@Counter}[1]{% This is an internal macro that should probably be depreciated for the below universal macro.
+% Code located in "Utilitymacros.dtx"
+ \@ifundefined{c@#1}% Check to see if counter exists
+ { % If not, create it and set it to 0.
+ \newcounter{#1}
+ \setcounter{#1}{0}
+ }
+ {%If so, reset to 0.
+ \setcounter{#1}{0}
+ }
+}
+
+\newcommand{\MakeCounter}[1]{%% Code located in "Utilitymacros.dtx"
+% Code located in "Utilitymacros.dtx"
+ \@ifundefined{c@#1}% Check to see if counter exists
+ { % If not, create it and set it to 0.
+ \newcounter{#1}
+ \setcounter{#1}{0}
+ }
+ {%If so, reset to 0.
+ \setcounter{#1}{0}
+ }
+}
+% \end{macrocode}
+%</classXimera>
+% \end{macro}
+
+
+
diff --git a/macros/latex/contrib/ximera/src/metadata.dtx b/macros/latex/contrib/ximera/src/metadata.dtx
new file mode 100644
index 0000000000..5f33cde072
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/metadata.dtx
@@ -0,0 +1,32 @@
+% \subsubsection{Metadata}
+% To encourage authors to include relevant parseable metadata in the
+% preamble, we define some currently ignored commands.
+
+% \DescribeMacro{\license}{In the preamble, use |\license| with an SPDX license expression.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\license}{\excludecomment}
+%</classXimera>
+% \end{macrocode}
+
+% \DescribeMacro{\acknowledgement}{In the preamble, use |\acknowledgement| to credit others who contributed to the intellectual content beside the author.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\acknowledgement}{\excludecomment}
+%</classXimera>
+% \end{macrocode}
+
+% \DescribeMacro{\tag}{In the preamble, a |\tag| provides a free-form taxonomy.}
+% \begin{macrocode}
+%<*classXimera>
+\renewcommand{\tag}{\excludecomment}
+%</classXimera>
+% \end{macrocode}
+% On the HTML side, we mark the file as the appropriate kind of
+% object---either activity or xourse.
+% \begin{macrocode}
+%<*htXourse>
+% Mark this as a xourse file
+\Configure{@HEAD}{\HCode{<meta name="description" content="xourse" />\Hnewline}}
+%</htXourse>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/only.dtx b/macros/latex/contrib/ximera/src/only.dtx
new file mode 100644
index 0000000000..cdb676c90e
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/only.dtx
@@ -0,0 +1,38 @@
+% \subsubsection{Only}
+
+% \DescribeEnv{prompt}{The prompt part for mathmode}
+% \begin{macrocode}
+%<*classXimera>
+\ifxake
+ \newenvironment{prompt}{}{}
+\else
+\ifhandout
+ \NewEnviron{prompt}{}
+% Currently breaks when put in mathmode!
+% \newenvironment{prompt}{\suppress}{\endsuppress}
+\else
+ \newenvironment{prompt}
+ {\bgroup\color{gray!50!black}}
+ {\egroup}
+\fi
+\fi
+% \end{macrocode}
+
+% \DescribeEnv{onlineOnly}{Only display it online}
+% \begin{macrocode}
+\ifhandout
+ \NewEnviron{onlineOnly}{
+ \iftikzexport
+ \BODY
+ \else
+ \fi
+ }
+\else
+ \newenvironment{onlineOnly}
+ {\bgroup\color{red!50!black}}
+ {\egroup}
+\fi
+
+\newcommand{\pdfOnly}[1]{\iftikzexport\else #1\fi}
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/options.dtx b/macros/latex/contrib/ximera/src/options.dtx
new file mode 100644
index 0000000000..7e131bb0ba
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/options.dtx
@@ -0,0 +1,123 @@
+% \subsection{Options for the class}
+% We start by listing the options for the \textsf{ximera} document class. Note, since the \textsf{xourse} class is based on the \textsf{ximera} class, all listed options are available there too.
+%
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+% \begin{macro}{handout}
+% The default behavior of the class is to display \textbf{all} content. This means that if any questions are asked, all answers are shown. Moreover, some content will only have a meaningful presentation when displayed online. When compiled without any options, this content will be shown too. This option will supress such content and generate a reasonable printiable ``handout.''
+% \begin{macrocode}
+\newif\ifhandout
+\handoutfalse
+\DeclareOption{handout}{\handouttrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{noauthor}
+% By default, authors are listed at the bottom of the first page of a document. This option will supress the listing of the authors.
+% \begin{macrocode}
+\newif\ifnoauthor
+\noauthorfalse
+\DeclareOption{noauthor}{\noauthortrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{nooutcomes}
+% By default, learning outcomes are listed at the bottom of the first page of a document. This option will supress the listing of the learning outcomes.
+% \begin{macrocode}
+\newif\ifnooutcomes
+\nooutcomesfalse
+\DeclareOption{nooutcomes}{\nooutcomestrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{instructornotes}
+% This option will turn on (and off) notes written for the instructor.
+% \begin{macrocode}
+\newif\ifinstructornotes
+\instructornotesfalse
+\DeclareOption{instructornotes}{\instructornotestrue}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{noinstructornotes}
+% This option will turn off (and on) notes written for the instructor.
+% \begin{macrocode}
+\DeclareOption{noinstructornotes}{\instructornotestrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{hints}
+% When the \texttt{handout} options is used, hints are not shown. This option will make hints visible in handout mode.
+% \begin{macrocode}
+\newif\ifhints
+\hintsfalse
+\DeclareOption{hints}{\hintstrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{newpage}
+% This option will start each problem-like environment (\texttt{exercise}, \texttt{question}, \texttt{problem}, and \texttt{exploration}) start on a new page.
+% \begin{macrocode}
+\newif\ifnewpage
+\newpagefalse
+\DeclareOption{newpage}{\newpagetrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{numbers}
+% This option will number the titles of the activity. By default the activities are unnumbered.
+% \begin{macrocode}
+\newif\ifnumbers
+\numbersfalse
+\DeclareOption{numbers}{\numberstrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{wordchoicegiven}
+% This option will replace the choices shown by \texttt{wordChoice} with the correct choice. No indication of the \texttt{wordChoice} environment will be shown.
+% \begin{macrocode}
+\newif\ifwordchoicegiven
+\wordchoicegivenfalse
+\DeclareOption{wordchoicegiven}{\wordchoicegiventrue}
+\newif\iffirstinlinechoice% Support for other wordchoice command contents.
+\firstinlinechoicetrue
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+
+\newif\ifxake
+\xakefalse
+\DeclareOption{xake}{\xaketrue}
+
+\newif\iftikzexport
+\tikzexportfalse
+\DeclareOption{tikzexport}{%
+ \tikzexporttrue%
+ \handoutfalse%
+ \numbersfalse%
+ \newpagefalse%
+ \hintsfalse%
+ \nooutcomesfalse%
+}
+
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{article}%
+}
+\ProcessOptions\relax
+\LoadClass{article}
+
+\ifdefined\HCode
+ \xaketrue%
+ \tikzexporttrue%
+ \handoutfalse%
+ \numbersfalse%
+ \newpagefalse%
+ \hintsfalse%
+ \nooutcomesfalse%
+\fi
+
+%</classXimera>
+% \end{macrocode}
+
+
+
diff --git a/macros/latex/contrib/ximera/src/optionsxourse.dtx b/macros/latex/contrib/ximera/src/optionsxourse.dtx
new file mode 100644
index 0000000000..1217fce199
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/optionsxourse.dtx
@@ -0,0 +1,27 @@
+% \begin{macrocode}
+%<*classXourse>
+% \end{macrocode}
+% \begin{macro}{notoc}
+% The default behavior of the class is to provide a table of contents listing all activities in the course. This option will supress this table of contents.
+% \begin{macrocode}
+\newif\ifnotoc
+\notocfalse
+\DeclareOption{notoc}{\notoctrue}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{nonewpage}
+% The default behavior of the class is to start each activity on a new page. This option will start activities without making a new page.
+% \begin{macrocode}
+\newif\ifnonewpage
+\nonewpagefalse
+\DeclareOption{nonewpage}{\nonewpagetrue}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ximera}}
+\ProcessOptions\relax
+\LoadClass{ximera}
+% \begin{macrocode}
+%</classXourse>
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/outcomes.dtx b/macros/latex/contrib/ximera/src/outcomes.dtx
new file mode 100644
index 0000000000..1e174b7655
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/outcomes.dtx
@@ -0,0 +1,34 @@
+% \subsubsection{Learning Outcomes}
+% \DescribeMacro{\outcome}{Specify a learning outcome, either at the level of a |problem| or an entire document in the preamble.}
+% \begin{macrocode}
+%<*classXimera>
+\def\theoutcomes{}
+
+\ifdefined\HCode%
+ \newcommand{\outcome}[1]{}
+\else%
+ \newwrite\outcomefile
+ \immediate\openout\outcomefile=\jobname.oc
+
+ \newcommand{\outcome}[1]{\edef\theoutcomes{\theoutcomes #1~}%
+ \immediate\write\outcomefile{\unexpanded{\outcome}{#1}}}
+ \fi%
+%</classXimera>
+% \end{macrocode}
+% These can appear in either the preamble or in problem environments.
+% with pdflatex, we produce the .oc file which includes ALL the
+% outcomes; in the tex4ht world, we just produce spans for the
+% specific outcomes.
+% \begin{macrocode}
+%<*cfgXimera>
+\renewcommand{\outcome}[1]{
+ \Configure{@HEAD}{\HCode{<meta name="learning-outcome" content="#1"/>\Hnewline}}
+}
+% Sometimes there are no outcomes at all
+\IfFileExists{\jobname.oc}{\input{\jobname.oc}}{}
+
+\renewcommand{\outcome}[1]{%
+ \HCode{<span class="learning-outcome">#1</span>}
+}
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/packages.dtx b/macros/latex/contrib/ximera/src/packages.dtx
new file mode 100644
index 0000000000..72fb4c6e2a
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/packages.dtx
@@ -0,0 +1,54 @@
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+% \subsection{Loading packages}
+% Since we want |\cancel| to work, we load it here to avoid polluting the |.jax| output.
+% \begin{macrocode}
+\RequirePackage[makeroom]{cancel}
+% \end{macrocode}
+% Quite a few packages are required by the document class. This is a
+% list of required packages. As packages are added to this list, we
+% should include a comment as to where they are being utilized. This
+% will help keep this list from being redundant and/or outdated.
+% \begin{macrocode}
+\RequirePackage[inline]{enumitem}
+\RequirePackage[pagestyles]{titlesec}
+\RequirePackage{titletoc}
+\RequirePackage{titling}
+\RequirePackage{url}
+\RequirePackage[table]{xcolor}
+\RequirePackage{tikz}
+\RequirePackage{pgfplots}
+\usepgfplotslibrary{groupplots}
+\usetikzlibrary{calc}
+\RequirePackage{fancyvrb}
+% \end{macrocode}
+% Load |forloop| for the problem environment dynamic naming and
+% building.
+% \begin{macrocode}
+\RequirePackage{forloop}
+% \end{macrocode}
+% Now we load even more packages.
+% \begin{macrocode}
+\RequirePackage{environ}% Included to allow saving of environment contents. This does *not* play well with various verbatem environments however and would be great to find a way around utilizing this package. One option is the "Suppress" command included below.
+\RequirePackage{amssymb}% Included to have access to math typeset.
+\RequirePackage{amsmath}% Included to have access to math typeset.
+\RequirePackage{amsthm}% Included to have access to math typeset.
+\RequirePackage{xifthen}% http://ctan.org/pkg/xifthen
+\RequirePackage{multido}% http://ctan.org/pkg/multido
+\RequirePackage{listings} %% is this required???
+
+\RequirePackage{xkeyval}
+
+\RequirePackage{comment}
+%</classXimera>
+% \end{macrocode}
+% Various packages must be loaded early to avoid polluting the |.jax|
+% file.
+% \begin{macrocode}
+%<*classXimera>
+\RequirePackage{gettitlestring}
+\RequirePackage{nameref}
+\RequirePackage{epstopdf}
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/pagesetup.dtx b/macros/latex/contrib/ximera/src/pagesetup.dtx
new file mode 100644
index 0000000000..9bf13d3cd9
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/pagesetup.dtx
@@ -0,0 +1,55 @@
+% \subsection{Page setup}
+% We want non-indented spaced-out paragraphs.
+% \begin{macrocode}
+%<*classXimera>
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{5pt}
+%</classXimera>
+% \end{macrocode}
+% To avoid weird margins in 2-sided mode, change the margins.
+% \begin{macrocode}
+%<*classXimera>
+\oddsidemargin 62pt
+\evensidemargin 62pt
+\textwidth 345pt
+\headheight 14pt
+%</classXimera>
+% \end{macrocode}
+% On the HTML side, there is more complicated page setup to perform.
+% \begin{macrocode}
+%<*cfgXimera>
+\Preamble{xhtml}
+
+% We don't want to translate font suggestions with ugly wrappers like
+% <span class="cmti-10"> for italic text
+\NoFonts
+
+% Don't output xml version tag
+\Configure{VERSION}{}
+
+% Output HTML5 doctype instead of the default for HTML4
+\Configure{DOCTYPE}{\HCode{<!doctype html>\Hnewline}}
+
+% Custom page opening
+\Configure{HTML}{\HCode{<html lang="en">\Hnewline}}{\HCode{\Hnewline</html>}}
+
+% Reset <head>, aka delete all default boilerplate; alternatively set up new content
+\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
+\Configure{@HEAD}{\HCode{<meta name="ximera" content="version 0.0.1" />\Hnewline}}
+\Configure{@HEAD}{\HCode{<link href="https://ximera.osu.edu/public/stylesheets/standalone.css" rel="stylesheet" media="screen"/>\Hnewline}}
+\Configure{@HEAD}{\HCode{<script type="text/javascript" async src="https://ximera.osu.edu/public/javascripts/standalone.min.js"></script>\Hnewline}}
+%</cfgXimera>
+% \end{macrocode}
+% Disable certain ligatures in HTML.
+% \begin{macrocode}
+%<*htXimera>
+\usepackage{microtype}
+\DisableLigatures[f]{encoding=*}
+%</htXimera>
+% \end{macrocode}
+% I am not sure what this does.
+% \begin{macrocode}
+%<*htXimera>
+\NewEnviron{html}{\HCode{\BODY}}
+%</htXimera>
+% \end{macrocode} \ No newline at end of file
diff --git a/macros/latex/contrib/ximera/src/problem.dtx b/macros/latex/contrib/ximera/src/problem.dtx
new file mode 100644
index 0000000000..4a8cfaeddb
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/problem.dtx
@@ -0,0 +1,197 @@
+% \subsubsection{Problem environments}
+
+% These are problem environment decorations (these should be user invoked, not default).
+% The decoration for these environments were inspired by
+% \url{http://tex.stackexchange.com/questions/11098/nice-formatting-for-theorems}
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+
+% \begin{macro}{latexProblemContent}
+% Added for those that want to use UF problems without using the problem filter code. This command is renewed into something meaningful in the 'ProblemSelector.sty'.
+% \begin{macrocode}
+\providecommand{\latexProblemContent}[1]{#1}
+% Iterate count for problem counts.
+\Make@Counter{Iteration@probCnt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\newcommand{\hang}{% top theorem decoration
+ \begingroup%
+ \setlength{\unitlength}{.005\linewidth}% \linewidth/200
+ \begin{picture}(0,0)(1.5,0)%
+ \linethickness{1pt} \color{black!50}%
+ \put(-3,2){\line(1,0){206}}% Top line
+ \multido{\iA=2+-1,\iB=50+-10}{5}{% Top hangs
+ \color{black!\iB}%
+ \put(-3,\iA){\line(0,-1){1}}% Top left hang
+ %\put(203,\iA){\line(0,-1){1}}% Top right hang
+ }%
+ \end{picture}%
+ \endgroup%
+}%
+\newcommand{\hung}{% bottom theorem decoration
+ \nobreak
+ \begingroup%
+ \setlength{\unitlength}{.005\linewidth}% \linewidth/200
+ \begin{picture}(0,0)(1.5,0)%
+ \linethickness{1pt} \color{black!50}%
+ \put(60,0){\line(1,0){143}}% Bottom line
+ \multido{\iA=0+1,\iB=50+-10}{5}{% Bottom hangs
+ \color{black!\iB}%
+ %\put(-3,\iA){\line(0,1){1}}% Bottom left hang
+ \put(203,\iA){\line(0,1){1}}% Bottom right hang
+ \put(\iB,0){\line(60,0){10}}% Left fade out
+ }%
+ \end{picture}%
+ \endgroup%
+}%
+% \end{macrocode}
+%
+% Configure environment configuration commands
+%
+% The command |\problemNumber| contains all the format code to determine the number (and the format of the number) for any of the problem environments.
+%
+% \begin{macrocode}
+\MakeCounter{problem}
+\newcommand{\problemNumber}{
+% First we determine if we have a counter for this question depth level.
+\ifcsname c@depth\Roman{problem@Depth}Count\endcsname% Check to see if counter exists
+ %If so, do nothing.
+ \else
+ %If not, create it.
+ \expandafter\newcounter{depth\Roman{problem@Depth}Count}
+ \expandafter\setcounter{depth\Roman{problem@Depth}Count}{0}
+ \fi
+
+\expandafter\stepcounter{depth\Roman{problem@Depth}Count}
+\arabic{depthICount}% The first problem depth, what use to be |\theproblem|.
+
+\forloop{Iteration@probCnt}{2}{\arabic{Iteration@probCnt} < \numexpr \value{problem@Depth} + 1 \relax}{%
+ .\expandafter\arabic{depth\Roman{Iteration@probCnt}Count}% Get the problem number of the next depth level and append it with a ".".
+}
+%\@ifpackageloaded{shuffle}{<true>}{<false>}% Check if Shuffle has been added. If so, add special numbering to the shuffled "groups". Currently commented out while we decide what that should look like (compared to the normal nested problems).
+%\ifhandout % Currently handout mode doesn't allow hints. Putting this code in place in case that changes.
+% \theproblem
+%\else
+% \theproblem
+%\fi
+}
+
+
+%%%%%% Configure various problem environment commands
+\Make@Counter{problem@Depth}
+
+
+
+%%%% Configure environments start content
+
+\newcommand{\problemEnvironmentStart}[2]{%
+% This takes in 2 arguments.
+% The first is optional and is the old optional argument from existing environments.
+% This is passed down to the associated problem environment name in case you want a global value.
+% The second argument is mandatory and is the name of the 'problem' environment,
+% such as problem, question, exercise, etc.
+% It then configures everything needed at the start of that environment.
+
+\stepcounter{problem@Depth}% Started a problem, so we've sunk another problem layer.
+\def\spaceatend{#1}%
+\begin{trivlist}%
+\item%
+ [%
+ \hskip\labelsep\sffamily\bfseries
+ #2 \problemNumber% Determine the correct number of the problem, and the format of that number.
+ ]%
+\slshape
+}
+
+
+
+%%%%% Configure environments end content
+
+\newcommand{\problemEnvironmentEnd}{%This configures all the end content for a problem.
+%
+% First we need to see if we've dropped fully out of a depth level,
+% so we can reset that counter back to zero for the next time we enter that depth level.
+\stepcounter{problem@Depth}
+\ifcsname c@depth\Roman{problem@Depth}Count\endcsname
+ \expandafter\ifnum\expandafter\value{depth\Roman{problem@Depth}Count}>0
+ \expandafter\setcounter{depth\Roman{problem@Depth}Count}{0}
+ \fi
+\fi
+
+\addtocounter{problem@Depth}{-2}% Exited a problem so we've exited a problem layer. Need -2 because we steppped once at the start to check for needing a depth-level count reset.
+
+\par\addvspace{.5ex}\nobreak\noindent\hung %% line at the bottom
+
+\ifhandout
+ \ifnewpage
+ \newpage
+ \fi
+\fi
+\end{trivlist}
+}
+
+
+
+%%%% Now populate the old environment names
+%
+% Old environments were "problem", "exercise", "exploration", and "question".
+% Note that you can add content to the start/end code on top of these base code pieces if you want.
+
+
+\newenvironment{problem}[1][2in]%
+{%Env start code
+\problemEnvironmentStart{#1}{Problem}
+}
+{%Env end code
+\problemEnvironmentEnd
+}
+
+\newenvironment{exercise}[1][2in]%
+{%Env start code
+\problemEnvironmentStart{#1}{Exercise}
+}
+{%Env end code
+\problemEnvironmentEnd
+}
+
+\newenvironment{exploration}[1][2in]%
+{%Env start code
+\problemEnvironmentStart{#1}{Exploration}
+}
+{%Env end code
+\problemEnvironmentEnd
+}
+
+\newenvironment{question}[1][2in]%
+{%Env start code
+\problemEnvironmentStart{#1}{Question}
+}
+{%Env end code
+\problemEnvironmentEnd
+}
+%</classXimera>
+% \end{macrocode}
+
+
+% Use an ``identification'' counter to assign IDs to the various problem-related DOM elements
+% \begin{macrocode}
+%<*htXimera>
+\newcounter{identification}
+\setcounter{identification}{0}
+
+\newcommand{\ConfigureQuestionEnv}[2]{%
+% refstepcounter ensures that labels get updated within these environments
+\renewenvironment{#1}{\refstepcounter{problem}}{}%
+\ConfigureEnv{#1}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div role="article" class="problem-environment #2" id="problem\arabic{identification}">}}{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}\IgnoreIndent}{}{}%
+}
+
+\ConfigureQuestionEnv{problem}{problem}
+\ConfigureQuestionEnv{exercise}{exercise}
+\ConfigureQuestionEnv{question}{question}
+\ConfigureQuestionEnv{exploration}{exploration}
+\ConfigureQuestionEnv{hint}{hint}
+%%%%\ConfigureQuestionEnv{shuffle}{shuffle}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/proof.dtx b/macros/latex/contrib/ximera/src/proof.dtx
new file mode 100644
index 0000000000..ab86e93f52
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/proof.dtx
@@ -0,0 +1,10 @@
+% \subsubsection{Proofs}
+% \DescribeEnv{proof}{A mathematical proof environment.}
+% \begin{macrocode}
+%<*classXimera>
+\renewcommand{\qedsymbol}{$\blacksquare$}
+\renewenvironment{proof}[1][\proofname]
+ {\begin{trivlist}\item[\hskip \labelsep \itshape \bfseries #1{}\hspace{2ex}]}
+{\qed\end{trivlist}}
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/sectioning.dtx b/macros/latex/contrib/ximera/src/sectioning.dtx
new file mode 100644
index 0000000000..3f9100294d
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/sectioning.dtx
@@ -0,0 +1,49 @@
+% \subsection{Sectioning}
+% Makes the table of contents look a bit better. This can be
+% redefined in the preamble if you do not like the appearance.
+% \DescribeMacro{\section}{The name of a section inside an activity.}
+% \begin{macrocode}
+%<*classXourse>
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{4.2em}}
+%</classXourse>
+% \end{macrocode}
+% \DescribeMacro{\subsection}{The name of a subsection inside an activity.}
+% \begin{macrocode}
+%<*classXourse>
+\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{4.2em}}
+%</classXourse>
+% \end{macrocode}
+% Xourse files can have parts.
+% \DescribeMacro{\part}{The name of a large part of a xourse.}
+% \begin{macrocode}
+%<*htXourse>
+\newcounter{ximera@part}
+\setcounter{ximera@part}{0}
+\renewcommand\part[1]{%
+\stepcounter{ximera@part}%
+\ifvmode \IgnorePar\fi \EndP%
+%\HCode{<h1 id="part\arabic{ximera@part}" class="card part">}#1\HCode{</h1>}% makes cards disappear?
+\HCode{<h1 id="part\arabic{ximera@part}" class="card part">#1</h1>}%
+\IgnoreIndent%
+}
+%</htXourse>
+% \end{macrocode}
+% Paragraph commands emit spans.
+% \DescribeMacro{\paragraph}{A small heading.}
+% \begin{macrocode}
+%<*cfgXimera>
+\renewcommand{\paragraph}[1]{%
+ \HCode{<span class="paragraphHead">}%
+ #1%
+ \HCode{</span>}\par\IgnorePar}
+%</cfgXimera>
+% \end{macrocode}
+% \DescribeMacro{\subparagraph}{An even smaller heading.}
+% \begin{macrocode}
+%<*cfgXimera>
+\renewcommand{\subparagraph}[1]{%
+ \HCode{<span class="subparagraphHead">}%
+ #1%
+ \HCode{</span>}\par\IgnorePar}
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/solution.dtx b/macros/latex/contrib/ximera/src/solution.dtx
new file mode 100644
index 0000000000..45f6301031
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/solution.dtx
@@ -0,0 +1,30 @@
+% \subsubsection{Solution}
+% \DescribeEnv{solution}{The solution to a problem.}
+% \begin{macrocode}
+%<*classXimera>
+%% solution environment
+\ifhandout % what follows is handout behavior
+\newenvironment{solution}%
+ {%
+ \setbox0\vbox\bgroup
+ }
+ {%
+ \egroup
+ }
+\else
+\newenvironment{solution}%
+ {%
+ \begin{trivlist}
+ \item[\hskip \labelsep\bfseries Solution:\hspace{2ex}]
+ }
+ % %% line at the bottom}
+ {
+ \end{trivlist}
+ \par\addvspace{.5ex}\nobreak\noindent\hung
+ }
+\fi
+
+
+
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/suppress.dtx b/macros/latex/contrib/ximera/src/suppress.dtx
new file mode 100644
index 0000000000..dcdcf924d1
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/suppress.dtx
@@ -0,0 +1,33 @@
+% \subsubsection{Suppress}
+% \DescribeEnv{suppress}{The suppress environment is a good way to suppress output without
+% commenting it. This way we can avoid many of the places we use
+% environ package and this should also avoid most of the verbatim
+% conflicts.}
+% This is code adapted from |syntonly.sty|.
+% \begin{macrocode}
+%<*classXimera>
+\font\dummyft@=dummy \relax
+\def\suppress{%
+ \begingroup\par
+ \parskip\z@
+ \offinterlineskip
+ \baselineskip=\z@skip
+ \lineskip=\z@skip
+ \lineskiplimit=\maxdimen
+ \dummyft@
+ \count@\sixt@@n
+ \loop\ifnum\count@ >\z@
+ \advance\count@\m@ne
+ \textfont\count@\dummyft@
+ \scriptfont\count@\dummyft@
+ \scriptscriptfont\count@\dummyft@
+ \repeat
+ \let\selectfont\relax
+ \let\mathversion\@gobble
+ \let\getanddefine@fonts\@gobbletwo
+ \tracinglostchars\z@
+ \frenchspacing
+ \hbadness\@M}
+\def\endsuppress{\par\endgroup}
+%</classXimera>
+% \end{macrocode} \ No newline at end of file
diff --git a/macros/latex/contrib/ximera/src/textcolor.dtx b/macros/latex/contrib/ximera/src/textcolor.dtx
new file mode 100644
index 0000000000..318d34365a
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/textcolor.dtx
@@ -0,0 +1,20 @@
+% Make \textcolor work using https://tex.stackexchange.com/questions/390127/textcolor-with-tex4ht
+% \begin{macrocode}
+%<*cfgXimera>
+\makeatletter
+\Configure{textcolor}{\HCode{<span style="color:\#\tsf@color;">}}{\HCode{</span>}}
+% redefine \textcolor command
+\let\oldtextcolor\textcolor
+
+\renewcommand\textcolor[2]{%
+ % we need to convert the current color to hexadecimal form usable in the style attribute
+ % the \tsf@color macro is used in the \Configure{textcolor} configuration to insert the
+ % CSS color
+ \extractcolorspec{#1}{\tsf@color}%
+ \expandafter\convertcolorspec\tsf@color{HTML}\tsf@color%
+ % call the original command
+ \oldtextcolor{#1}{#2}%
+}%
+\makeatother
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/theorems.dtx b/macros/latex/contrib/ximera/src/theorems.dtx
new file mode 100644
index 0000000000..292d7a89b2
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/theorems.dtx
@@ -0,0 +1,174 @@
+% \subsubsection{Theorem and theorem-like environments}
+% On the web, a theorem is emitted as a special |<div>|.
+% \begin{macrocode}
+%<*htXimera>
+\newcommand{\ConfigureTheoremEnv}[1]{%
+\renewenvironment{#1}[1][]{\refstepcounter{problem}%
+\ifthenelse{\equal{##1}{}}{}{%
+ \HCode{<span class="theorem-like-title">}##1\HCode{</span>}%
+}}{}
+\ConfigureEnv{#1}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="theorem-like problem-environment #1" id="problem\arabic{identification}">}}{\HCode{</div>}\IgnoreIndent}{}{}%
+}
+%</htXimera>
+%<classXimera>\theoremstyle{definition} % No italic (because this makes also text in TikZ italic !!!)
+% \end{macrocode}
+
+% The key is to make sure that the theorem environments are defined in
+% a corresponding fashion on the web and on paper.
+
+% \DescribeEnv{theorem}{Theorem}
+% \begin{macrocode}
+%<classXimera> \newtheorem{theorem}{Theorem}
+%<htXimera> \ConfigureTheoremEnv{theorem}
+% \end{macrocode}
+
+% \DescribeEnv{algorithm}{Algorithm}
+% \begin{macrocode}
+%<classXimera> \newtheorem{algorithm}{Algorithm}
+%<htXimera> \ConfigureTheoremEnv{algorithm}
+% \end{macrocode}
+
+% \DescribeEnv{axiom}{Axiom}
+% \begin{macrocode}
+%<classXimera> \newtheorem{axiom}{Axiom}
+%<htXimera> \ConfigureTheoremEnv{axiom}
+% \end{macrocode}
+
+% \DescribeEnv{claim}{Claim}
+% \begin{macrocode}
+%<classXimera> \newtheorem{claim}{Claim}
+%<htXimera> \ConfigureTheoremEnv{claim}
+% \end{macrocode}
+
+% \DescribeEnv{conclusion}{Conclusion}
+% \begin{macrocode}
+%<classXimera> \newtheorem{conclusion}{Conclusion}
+%<htXimera> \ConfigureTheoremEnv{conclusion}
+% \end{macrocode}
+
+% \DescribeEnv{condition}{Condition}
+% \begin{macrocode}
+%<classXimera> \newtheorem{condition}{Condition}
+%<htXimera> \ConfigureTheoremEnv{condition}
+% \end{macrocode}
+
+% \DescribeEnv{conjecture}{Conjecture}
+% \begin{macrocode}
+%<classXimera> \newtheorem{conjecture}{Conjecture}
+%<htXimera> \ConfigureTheoremEnv{conjecture}
+% \end{macrocode}
+
+% \DescribeEnv{corollary}{Corollary}
+% \begin{macrocode}
+%<classXimera> \newtheorem{corollary}{Corollary}
+%<htXimera> \ConfigureTheoremEnv{corollary}
+% \end{macrocode}
+
+% \DescribeEnv{criterion}{Criterion}
+% \begin{macrocode}
+%<classXimera> \newtheorem{criterion}{Criterion}
+%<htXimera> \ConfigureTheoremEnv{criterion}
+% \end{macrocode}
+
+% \DescribeEnv{definition}{Definition}
+% \begin{macrocode}
+%<classXimera> \newtheorem{definition}{Definition}
+%<htXimera> \ConfigureTheoremEnv{definition}
+% \end{macrocode}
+
+% \DescribeEnv{example}{Example}
+% \begin{macrocode}
+%<classXimera> \newtheorem{example}{Example}
+%<htXimera> \ConfigureTheoremEnv{example}
+% \end{macrocode}
+
+% \DescribeEnv{explanation}{Explanation}
+% \begin{macrocode}
+%<classXimera> \newtheorem*{explanation}{Explanation}
+%<htXimera> \ConfigureTheoremEnv{explanation}
+% \end{macrocode}
+
+% \DescribeEnv{fact}{Fact}
+% \begin{macrocode}
+%<classXimera> \newtheorem{fact}{Fact}
+%<htXimera> \ConfigureTheoremEnv{fact}
+% \end{macrocode}
+
+% \DescribeEnv{lemma}{Lemma}
+% \begin{macrocode}
+%<classXimera> \newtheorem{lemma}{Lemma}
+%<htXimera> \ConfigureTheoremEnv{lemma}
+% \end{macrocode}
+
+% \DescribeEnv{formula}{Formula}
+% \begin{macrocode}
+%<classXimera> \newtheorem{formula}{Formula}
+%<htXimera> \ConfigureTheoremEnv{formula}
+% \end{macrocode}
+
+% \DescribeEnv{idea}{Idea}
+% \begin{macrocode}
+%<classXimera> \newtheorem{idea}{Idea}
+%<htXimera> \ConfigureTheoremEnv{idea}
+% \end{macrocode}
+
+% \DescribeEnv{notation}{Notation}
+% \begin{macrocode}
+%<classXimera> \newtheorem{notation}{Notation}
+%<htXimera> \ConfigureTheoremEnv{notation}
+% \end{macrocode}
+
+% \DescribeEnv{model}{Model}
+% \begin{macrocode}
+%<classXimera> \newtheorem{model}{Model}
+%<htXimera> \ConfigureTheoremEnv{model}
+% \end{macrocode}
+
+% \DescribeEnv{observation}{Observation}
+% \begin{macrocode}
+%<classXimera> \newtheorem{observation}{Observation}
+%<htXimera> \ConfigureTheoremEnv{observation}
+% \end{macrocode}
+
+% \DescribeEnv{proposition}{Proposition}
+% \begin{macrocode}
+%<classXimera> \newtheorem{proposition}{Proposition}
+%<htXimera> \ConfigureTheoremEnv{proposition}
+% \end{macrocode}
+
+% \DescribeEnv{paradox}{Paradox}
+% \begin{macrocode}
+%<classXimera> \newtheorem{paradox}{Paradox}
+%<htXimera> \ConfigureTheoremEnv{paradox}
+% \end{macrocode}
+
+% \DescribeEnv{procedure}{Procedure}
+% \begin{macrocode}
+%<classXimera> \newtheorem{procedure}{Procedure}
+%<htXimera> \ConfigureTheoremEnv{procedure}
+% \end{macrocode}
+
+% \DescribeEnv{remark}{Remark}
+% \begin{macrocode}
+%<classXimera> \newtheorem{remark}{Remark}
+%<htXimera> \ConfigureTheoremEnv{remark}
+% \end{macrocode}
+
+% \DescribeEnv{summary}{Summary}
+% \begin{macrocode}
+%<classXimera> \newtheorem{summary}{Summary}
+%<htXimera> \ConfigureTheoremEnv{summary}
+% \end{macrocode}
+
+% \DescribeEnv{template}{Template}
+% \begin{macrocode}
+%<classXimera> \newtheorem{template}{Template}
+%<htXimera> \ConfigureTheoremEnv{template}
+% \end{macrocode}
+
+% \DescribeEnv{warning}{Warning}
+% \begin{macrocode}
+%<classXimera> \newtheorem{warning}{Warning}
+%<htXimera> \ConfigureTheoremEnv{warning}
+% \end{macrocode}
+
diff --git a/macros/latex/contrib/ximera/src/tikzexport.dtx b/macros/latex/contrib/ximera/src/tikzexport.dtx
new file mode 100644
index 0000000000..c89f26a49a
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/tikzexport.dtx
@@ -0,0 +1,42 @@
+% \subsubsection{TikZ export}
+% We generate SVGs and PNGs for any TikZ images, via the
+% ``externalize'' feature of TikZ.
+%
+% Currently TikZ doesn't compile natively into the website because of
+% how the xake bake compilation works. In order to make Tikz work,
+% you need to get the tool \verb|mutool| on the machine that is
+% performing \verb|xake bake|.
+% \begin{macrocode}
+%<*classXimera>
+\ifdefined\HCode
+ \tikzexporttrue
+\fi
+
+\iftikzexport
+ \usetikzlibrary{external}
+
+ \ifdefined\HCode
+ % in htlatex, just include the svg files
+ \def\pgfsys@imagesuffixlist{.svg}
+
+ \tikzexternalize[prefix=./,mode=graphics if exists]
+ \else
+ % in pdflatex, actually generate the svg files
+ \tikzset{
+ /tikz/external/system call={
+ pdflatex \tikzexternalcheckshellescape
+ -halt-on-error -interaction=batchmode
+ -jobname "\image" "\\PassOptionsToClass{tikzexport}{ximera}\texsource";
+ mutool draw -F svg \image.pdf > \image.svg ; % mutool adds "1" to filename ????
+ mutool draw -o \image.svg \image.pdf ;
+ mutool draw -r 150 -c rgbalpha -o \image.png \image.pdf ;
+ ebb -x \image.png
+ }
+ }
+ \tikzexternalize[optimize=false,prefix=./]
+ \fi
+
+ \fi
+
+%</classXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/title.dtx b/macros/latex/contrib/ximera/src/title.dtx
new file mode 100644
index 0000000000..56380af5d7
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/title.dtx
@@ -0,0 +1,122 @@
+% \subsubsection{Titles and authors}
+%
+% \subsubsection{Authors}
+% \DescribeMacro{\author}{Activities have authors. Warn the user if no author is provided.}
+% \begin{macrocode}
+%<*classXimera>
+\let\@emptyauthor\@author
+\def\author#1{\gdef\@author{#1}}
+\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+%</classXimera>
+% \end{macrocode}
+% Include author name in meta tags
+% \begin{macrocode}
+%<*htXimera>
+\Configure{@HEAD}{\HCode{<meta name="author" content="}\@author\HCode{" />\Hnewline}}
+%</htXimera>
+% \end{macrocode}
+% The |\and| command would emit tabular environments which really
+% should not appear in a meta tag.
+% \begin{macrocode}
+%<htXimera|classXimera>\def\and{and }
+% \end{macrocode}
+
+% \subsubsection{Title}
+% \DescribeMacro{\title}{Activities have titles.}
+% \begin{macrocode}
+%<*classXimera>
+\let\title\relax
+\newcommand{\title}[1][]{{\protected@xdef\@pretitle{#1}}\protected@xdef\@title}
+
+\title{}
+
+\newcounter{titlenumber}
+\renewcommand{\thetitlenumber}{\arabic{titlenumber}}
+%\renewcommand{\thesection}{\arabic{titlenumber}} %% Makes section numbers work
+\setcounter{titlenumber}{0}
+
+\newpagestyle{main}{
+\sethead[\textsl{\ifnumbers\thetitlenumber\hspace{1em}\fi\@title}][][] % even
+{}{}{\textsl{\ifnumbers\thetitlenumber\hspace{1em}\fi\@title}} % odd
+\setfoot[\thepage][][] % even
+{}{}{\thepage} % odd
+}
+\pagestyle{main}
+% \end{macrocode}
+% \DescribeMacro{\maketitle}{In a \textsf{ximera} document, redefine
+% |\maketitle| and put them in a table of contents. The
+% |\phantomsection| is to fix the hrefs.}
+% \begin{macrocode}
+\renewcommand\maketitle{%
+ \addtocounter{titlenumber}{1}%
+ {\flushleft\large\bfseries \@pretitle\par\vspace{-1em}}
+ {\flushleft\LARGE\bfseries {\ifnumbers\thetitlenumber\fi}{\ifnumbers\hspace{1em}\else\hspace{0em}\fi}\@title \par }
+ \phantomsection%
+ \ifnumbers\addcontentsline{toc}{section}{\thetitlenumber~\@title}\else\addcontentsline{toc}{section}{\@title}\fi
+ \vskip .6em\noindent\textit\theabstract\setcounter{problem}{0}\setcounter{section}{0}\setcounter{subsection}{0}\par\vspace{2em}
+ \ifnooutcomes\else\let\thefootnote\relax\footnote{Learning outcomes: \theoutcomes}\fi
+ \ifnoauthor\else\let\thefootnote\relax\footnote{Author(s):~\@author}\fi
+ \aftergroup\@afterindentfalse
+ \aftergroup\@afterheading}
+
+\ifnumbers
+\setcounter{secnumdepth}{2}
+\renewcommand{\thesection}{\arabic{titlenumber}.\arabic{section}}
+\renewcommand{\thesubsection}{\arabic{titlenumber}.\arabic{section}.\arabic{subsection}}
+\else
+\setcounter{secnumdepth}{-2}
+\fi
+
+\def\activitystyle{}
+\newcounter{sectiontitlenumber}
+\setcounter{secnumdepth}{2}
+\setcounter{tocdepth}{2}
+\newcommand\chapterstyle{%
+ \def\activitystyle{activity-chapter}
+ \def\maketitle{%
+ \addtocounter{titlenumber}{1}%
+ {\flushleft\small\sffamily\bfseries\@pretitle\par\vspace{-1.5em}}%
+ {\flushleft\LARGE\sffamily\bfseries\thetitlenumber\hspace{1em}\@title \par }%
+ {\vskip .6em\noindent\textit\theabstract\setcounter{problem}{0}\setcounter{section}{0}}%
+ \par\vspace{2em}
+ \phantomsection\addcontentsline{toc}{section}{\textbf{\thetitlenumber\hspace{1em}\@title}}%
+}}
+
+
+\newcommand\sectionstyle{%
+ \def\activitystyle{activity-section}
+ \def\maketitle{%
+ \addtocounter{section}{1}
+ \setcounter{sectiontitlenumber}{\value{section}}
+ {\flushleft\small\sffamily\bfseries\@pretitle\par\vspace{-1.5em}}%
+ {\flushleft\Large\sffamily\bfseries\thetitlenumber.\thesectiontitlenumber\hspace{1em}\@title \par}%
+ {\vskip .6em\noindent\textit\theabstract\setcounter{subsection}{0}}%
+ \par\vspace{2em}
+ \phantomsection\addcontentsline{toc}{section}{\thetitlenumber.\thesectiontitlenumber\hspace{1em}\@title}%
+ \renewcommand\section{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}
+
+ \renewcommand\subsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+
+}}
+
+
+\iftikzexport%% allows xake to handle \chapterstyle and \sectionstye
+\renewcommand\chapterstyle{\def\activitystyle{chapter}}
+\renewcommand\sectionstyle{\def\activitystyle{section}}
+\else
+\fi
+
+%</classXimera>
+% \end{macrocode}
+% Eliminate some formatting that we'll handle later with CSS
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\maketitle}{}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/ungraded.dtx b/macros/latex/contrib/ximera/src/ungraded.dtx
new file mode 100644
index 0000000000..78b3e29738
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/ungraded.dtx
@@ -0,0 +1,22 @@
+% \subsubsection{Ungraded activities}
+% \DescribeEnv{ungraded}{The |ungraded| environment is used to record
+% that certain parts of activities should not be worth points. For
+% example, if you want to use a multipleChoice as a survey question,
+% you can place it inside an |ungraded| environment.}
+% On the \LaTeX\ side, the |ungraded| environment does nothing.
+% \begin{macrocode}
+%<*classXimera>
+\newenvironment{ungraded}{}{}
+%</classXimera>
+% \end{macrocode}
+% But on the html side, |ungraded| wraps the activities in a div in
+% order to assign some weight to them for grading.
+% \begin{macrocode}
+%<*htXimera>
+\renewenvironment{ungraded}{%
+\ifvmode \IgnorePar\fi \EndP\HCode{<div class="ungraded">}\IgnoreIndent%
+}{
+\ifvmode \IgnorePar\fi \EndP\HCode{</div>}\IgnoreIndent%
+}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/utilitymacros.dtx b/macros/latex/contrib/ximera/src/utilitymacros.dtx
new file mode 100644
index 0000000000..e44b490e06
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/utilitymacros.dtx
@@ -0,0 +1,45 @@
+% \subsubsection{Utility macros}
+% These are a list of new utility macros that are generally useful and are loaded after packages and the Tikz Fix.
+% \begin{macrocode}
+%<*classXimera>
+% \end{macrocode}
+% \begin{macro}{NewCounter}
+% Improved version of |\newcounter| to check for existance before creating a counter to minimize conflicts with packages. Added by Jason Nowell
+% \begin{macrocode}
+\newcommand{\Make@Counter}[1]{% This is an internal macro that should probably be depreciated for the below universal macro.
+% Code located in "Utilitymacros.dtx"
+ \@ifundefined{c@#1}% Check to see if counter exists
+ { % If not, create it and set it to 0.
+ \newcounter{#1}
+ \setcounter{#1}{0}
+ }
+ {%If so, reset to 0.
+ \setcounter{#1}{0}
+ }
+}
+
+\newcommand{\MakeCounter}[1]{%% Code located in "Utilitymacros.dtx"
+% Code located in "Utilitymacros.dtx"
+ \@ifundefined{c@#1}% Check to see if counter exists
+ { % If not, create it and set it to 0.
+ \newcounter{#1}
+ \setcounter{#1}{0}
+ }
+ {%If so, reset to 0.
+ \setcounter{#1}{0}
+ }
+}
+% \end{macrocode}
+%</classXimera>
+% \end{macro}
+
+% \begin{macro}{latexProblemContent}
+% Added for those that want to use UF problems without using the problem filter code. This command is renewed into something meaningful in the 'ProblemSelector.sty'.
+% \begin{macrocode}
+\providecommand{\latexProblemContent}[1]{#1}
+% Iterate count for problem counts.
+\Make@Counter{Iteration@probCnt}
+% \end{macrocode}
+% \end{macro}
+
+
diff --git a/macros/latex/contrib/ximera/src/verbatim.dtx b/macros/latex/contrib/ximera/src/verbatim.dtx
new file mode 100644
index 0000000000..88da69a318
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/verbatim.dtx
@@ -0,0 +1,36 @@
+% \subsubsection{Code listing environments}
+% \DescribeEnv{code}{A code answer environment} You cannot use Environ
+% with the fancyvrb/listings package if you want nested environments.
+%
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{code}{Verbatim}{numbers=left,frame=lines,label=Code,labelposition=topline}
+%</classXimera>
+% \end{macrocode}
+% \DescribeEnv{python}{A python answer environment} You cannot use
+% Environ with the fancyvrb/listings package if you want nested
+% environments
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{python}{Verbatim}{numbers=left,frame=lines,label=Python,labelposition=topline}
+%</classXimera>
+% \end{macrocode}
+% \DescribeEnv{javascriptCode}{A JavaScript answer environment} Unfortunately the name |javascript| is already used for the actual, executed (!) JavaScript interactive.
+% environments
+% \begin{macrocode}
+%<*classXimera>
+\DefineVerbatimEnvironment{javascriptCode}{Verbatim}{numbers=left,frame=lines,label=JavaScript,labelposition=topline}
+%</classXimera>
+%<*cfgXimera>
+\renewenvironment{javascriptCode}{\NoFonts}{\EndNoFonts}
+\ScriptEnv{javascriptCode}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="javascript-code" id="javascript\arabic{identification}"><script type="text/text">}\HtmlParOff}{\HtmlParOn\HCode{\Hnewline</script></div>}}
+%</cfgXimera>
+% \end{macrocode}
+% On the web, translate verbatim and lstlisting blocks into |<pre>|
+% elements.
+% \begin{macrocode}
+%<*cfgXimera>
+\ConfigureEnv{verbatim}{\HCode{<pre>}}{\HCode{</pre>}}{}{}
+\ConfigureEnv{lstlisting}{\HCode{<pre>}}{\HCode{</pre>}}{}{}
+%</cfgXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/src/xkcd.dtx b/macros/latex/contrib/ximera/src/xkcd.dtx
new file mode 100644
index 0000000000..1d08288803
--- /dev/null
+++ b/macros/latex/contrib/ximera/src/xkcd.dtx
@@ -0,0 +1,13 @@
+% \subsubsection{XKCD}
+% \DescribeMacro{\xkcd}{Reference an XKCD cartoon.}
+% \begin{macrocode}
+%<*classXimera>
+\newcommand{\xkcd}[1]{#1}
+%</classXimera>
+% \end{macrocode}
+% On the web, this should be an image linked to the actual XKCD website.
+% \begin{macrocode}
+%<*htXimera>
+\renewcommand{\xkcd}[1]{\ifvmode \IgnorePar\fi \EndP\HCode{<img src="https://imgs.xkcd.com/comics/#1.png">}}
+%</htXimera>
+% \end{macrocode}
diff --git a/macros/latex/contrib/ximera/ximera.dtx b/macros/latex/contrib/ximera/ximera.dtx
new file mode 100644
index 0000000000..597e3b5b20
--- /dev/null
+++ b/macros/latex/contrib/ximera/ximera.dtx
@@ -0,0 +1,363 @@
+% \iffalse meta-comment
+% vim: textwidth=75
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+|
+------------:| ------------------------------------------------------------
+ ximera:| Simultaneously write print and online interactive materials
+ Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp
+ E-mail:| bart.snapp@gmail.com
+ License:| Released under the LaTeX Project Public License v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+Short description:
+Some text about the class: probably the same as the abstract.
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+------------:| ------------------------------------------------------------
+ ximera:| Simultaneously writing print and online interactive materials
+ Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp
+ E-mail:| bart.snapp@gmail.com
+ License:| Released under the LaTeX Project Public License v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+\endpreamble
+\postamble
+
+Copyright (C) 2024 by Bart Snapp <bart.snapp@gmail.com> and Jim Fowler <kisonecat@gmail.com>
+
+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
+Bart Snapp. The source code can be found at:
+
+https://github.com/XimeraProject/ximeraLatex
+
+This work consists of the file ximera.dtx, the associated files
+under src/, and a Makefile.
+
+Running "make" generates the derived files README, ximera.pdf, ximera.cls, xourse.cls.
+
+Running "make inst" installs the files in the user's TeX tree.
+
+Running "make install" installs the files in the local TeX tree.
+
+\endpostamble
+
+\usedir{tex/latex/ximera}
+\input docstrip
+\askforoverwritefalse
+\generate{
+ \file{ximera.cls}{
+ \from{ximera.dtx}{classXimera}
+ \from{src/banner.dtx}{classXimera}
+ \from{src/options.dtx}{classXimera}
+ \from{src/packages.dtx}{classXimera}
+ \from{src/tikzexport.dtx}{classXimera}
+ \from{src/hyperref.dtx}{classXimera}
+ \from{src/suppress.dtx}{classXimera}
+ \from{src/makeCounter.dtx}{classXimera}
+ \from{src/pagesetup.dtx}{classXimera}
+ \from{src/metadata.dtx}{classXimera}
+ \from{src/outcomes.dtx}{classXimera}
+ \from{src/macros.dtx}{classXimera}
+ \from{src/theorems.dtx}{classXimera}
+ \from{src/enumerate.dtx}{classXimera}
+ \from{src/proof.dtx}{classXimera}
+ \from{src/only.dtx}{classXimera}
+ \from{src/problem.dtx}{classXimera}
+ \from{src/hints.dtx}{classXimera}
+ \from{src/abstract.dtx}{classXimera}
+ \from{src/title.dtx}{classXimera}
+ \from{src/image.dtx}{classXimera}
+ \from{src/interactives/javascript.dtx}{classXimera}
+ \from{src/interactives/include.dtx}{classXimera}
+ \from{src/interactives/geogebra.dtx}{classXimera}
+ \from{src/interactives/desmos.dtx}{classXimera}
+ \from{src/interactives/google.dtx}{classXimera}
+ \from{src/interactives/graph.dtx}{classXimera}
+ \from{src/link.dtx}{classXimera}
+ \from{src/interactives/video.dtx}{classXimera}
+ \from{src/answer.dtx}{classXimera}
+ \from{src/choice.dtx}{classXimera}
+ \from{src/solution.dtx}{classXimera}
+ \from{src/feedback.dtx}{classXimera}
+ \from{src/freeresponse.dtx}{classXimera}
+ \from{src/verbatim.dtx}{classXimera}
+ \from{src/dialogue.dtx}{classXimera}
+ \from{src/instructornotes.dtx}{classXimera}
+ \from{src/xkcd.dtx}{classXimera}
+ \from{src/foldable.dtx}{classXimera}
+ \from{src/leash.dtx}{classXimera}
+ \from{src/interactives/sagemath.dtx}{classXimera}
+ \from{src/jax.dtx}{classXimera}
+ \from{src/ungraded.dtx}{classXimera}
+ \from{src/clearEnv.dtx}{classXimera}
+ \from{src/hideEnv.dtx}{classXimera}
+ }
+}
+\generate{
+ \file{xourse.cls}{
+ \from{ximera.dtx}{classXourse}
+ \from{src/optionsxourse.dtx}{classXourse}
+ \from{src/activity.dtx}{classXourse}
+ \from{src/sectioning.dtx}{classXourse}
+ \from{src/logo.dtx}{classXourse}
+ \from{src/graded.dtx}{classXourse}
+ }
+}
+\generate{
+ \file{ximera.cfg}{
+ \from{ximera.dtx}{cfgXimera}
+ \from{src/pagesetup.dtx}{cfgXimera}
+ \from{src/packages.dtx}{cfgXimera}
+ \from{src/jax.dtx}{cfgXimera}
+ \from{src/sectioning.dtx}{cfgXimera}
+ \from{src/title.dtx}{cfgXimera}
+ \from{src/abstract.dtx}{cfgXimera}
+ \from{src/image.dtx}{cfgXimera}
+ \from{src/outcomes.dtx}{cfgXimera}
+ \from{src/textcolor.dtx}{cfgXimera}
+ \from{src/verbatim.dtx}{cfgXimera}
+ \from{src/html.dtx}{cfgXimera}
+ \from{src/ending.dtx}{cfgXimera}
+ }
+}
+\generate{
+ \file{ximera.4ht}{
+ \from{ximera.dtx}{htXimera}
+ \from{src/pagesetup.dtx}{htXimera}
+ \from{src/title.dtx}{htXimera}
+ \from{src/problem.dtx}{htXimera}
+ \from{src/macros.dtx}{htXimera}
+ \from{src/theorems.dtx}{htXimera}
+ \from{src/image.dtx}{htXimera}
+ \from{src/dialogue.dtx}{htXimera}
+ \from{src/foldable.dtx}{htXimera}
+ \from{src/interactives/video.dtx}{htXimera}
+ \from{src/xkcd.dtx}{htXimera}
+ \from{src/link.dtx}{htXimera}
+ \from{src/interactives/graph.dtx}{htXimera}
+ \from{src/answer.dtx}{htXimera}
+ \from{src/choice.dtx}{htXimera}
+ \from{src/freeresponse.dtx}{htXimera}
+ \from{src/interactives/javascript.dtx}{htXimera}
+ \from{src/interactives/include.dtx}{htXimera}
+ \from{src/interactives/geogebra.dtx}{htXimera}
+ \from{src/interactives/desmos.dtx}{htXimera}
+ \from{src/interactives/google.dtx}{htXimera}
+ \from{src/feedback.dtx}{htXimera}
+ \from{src/leash.dtx}{htXimera}
+ \from{src/labels.dtx}{htXimera}
+ \from{src/interactives/sagemath.dtx}{htXimera}
+ \from{src/ungraded.dtx}{htXimera}
+ \from{src/footnotes.dtx}{htXimera}
+ \from{src/ending.dtx}{htXimera}
+ }
+}
+\generate{
+ \file{xourse.4ht}{
+ \from{ximera.dtx}{htXourse}
+ \from{src/logo.dtx}{htXourse}
+ \from{src/metadata.dtx}{htXourse}
+ \from{src/activity.dtx}{htXourse}
+ \from{src/sectioning.dtx}{htXourse}
+ \from{src/graded.dtx}{htXourse}
+ \from{src/interactives/video.dtx}{htXourse}
+ \from{src/ending.dtx}{htXourse}
+ }
+}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/ximera}
+\generate{
+ \file{ximera.ins}{\from{\jobname.dtx}{install}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/ximera}
+\generate{
+ \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{ximera.dtx}
+%</driver>
+%<classXimera|classXourse>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<classXimera>\ProvidesClass{ximera}
+%<classXourse>\ProvidesClass{xourse}
+%<classXimera|classXourse> [2024/05/12 v1.5.1
+%<classXimera> Simultaneously write print and online interactive materials]
+%<classXourse> Combining Ximera activities into Xourses]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry}
+\usepackage[numbered]{hypdoc}
+\usepackage{hyperref}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{\jobname.dtx}
+\section{ximera.cls}
+\DocInput{src/options.dtx}
+\DocInput{src/packages.dtx}
+\DocInput{src/pagesetup.dtx}
+\subsection{Structure}
+\DocInput{src/macros.dtx}
+\DocInput{src/theorems.dtx}
+\DocInput{src/enumerate.dtx}
+\DocInput{src/proof.dtx}
+\DocInput{src/problem.dtx}
+\DocInput{src/hints.dtx}
+\DocInput{src/solution.dtx}
+\DocInput{src/verbatim.dtx}
+\DocInput{src/dialogue.dtx}
+\DocInput{src/instructornotes.dtx}
+\DocInput{src/only.dtx}
+\DocInput{src/foldable.dtx}
+\DocInput{src/leash.dtx}
+\subsection{Document metadata}
+\DocInput{src/metadata.dtx}
+\DocInput{src/abstract.dtx}
+\DocInput{src/title.dtx}
+\DocInput{src/outcomes.dtx}
+\DocInput{src/labels.dtx}
+\subsection{Images}
+\DocInput{src/image.dtx}
+\DocInput{src/tikzexport.dtx}
+\DocInput{src/xkcd.dtx}
+\subsection{Links}
+\DocInput{src/hyperref.dtx}
+\subsection{Interactives}
+\DocInput{src/interactives/include.dtx}
+\DocInput{src/interactives/google.dtx}
+\DocInput{src/interactives/geogebra.dtx}
+\DocInput{src/interactives/desmos.dtx}
+\DocInput{src/interactives/graph.dtx}
+\DocInput{src/interactives/video.dtx}
+\DocInput{src/interactives/javascript.dtx}
+\DocInput{src/interactives/sagemath.dtx}
+\subsection{Answerables}
+\DocInput{src/answer.dtx}
+\DocInput{src/choice.dtx}
+\DocInput{src/freeresponse.dtx}
+\DocInput{src/feedback.dtx}
+\DocInput{src/ungraded.dtx}
+\subsection{Support for the web}
+\DocInput{src/jax.dtx}
+\DocInput{src/html.dtx}
+\subsection{Tools}
+\DocInput{src/suppress.dtx}
+\DocInput{src/ending.dtx}
+\section{xourse.cls}
+\DocInput{src/optionsxourse.dtx}
+\DocInput{src/activity.dtx}
+\DocInput{src/sectioning.dtx}
+\DocInput{src/graded.dtx}
+\DocInput{src/logo.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%\def\fileversion{v1.5.1}
+%\def\filedate{2024/05/12}
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+%\title{\textsf{ximera} --- Simultaneously write print and online interactive materials.\thanks{This file
+% describes version \fileversion, last revised \filedate.}
+%}
+%\author{Jim Fowler \and Jeramiah Hocutt \and Oscar Levin \and Jason Nowell \and Wim Obbels \and Hans Parshall \and Bart Snapp}
+%\date{Released \filedate}
+%
+%\maketitle
+%
+%\changes{v1.0.0}{2018/05/25}{First public release}
+%\changes{v1.5.0}{2024/05/08}{Submitting to CTAN}
+%\changes{v1.5.1}{2024/05/12}{Fixed date bug}
+
+% \begin{abstract}
+% ``\textsf{Ximera} begins where \TeX\ ends.'' The \textsf{ximera}
+% class aids in the creation of handouts, worksheets, exercises, and
+% sections of textbooks to be used either individually or ``glued''
+% together via a \textsf{xourse} file. All \textsf{ximera} documents
+% can be deployed in an online interactive form via \texttt{xake}
+% See: \href{https://ximera.osu.edu}{Ximera Project} and the source
+% code on \href{https://github.com/XimeraProject}{GitHub}.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% Ximera, pronounced ``chimera,'' (\textbf{X}imera:
+% \textbf{I}nteractive, \textbf{M}athematics,
+% \textbf{E}\textbf{R}esources, for \textbf{A}ll) is an open-source
+% platform that provides tools for authoring and publishing (PDF and
+% Online), open-source, interactive educational content, such as textbooks, assessments, and online courses.
+% The Ximera document class provides the following features:
+% \begin{description}
+% \item[Formatting for different domains] The Ximera document class
+% provides built-in support for formatting documents in both PDF and
+% online formats, which can be a big time-saver for
+% authors. Additionally, it allows for the simultaneous creation of
+% solution manuals and teaching editions, which can be especially
+% useful for educators.
+%\item[Compiling individually or as a whole] With the Ximera document
+% class, authors can easily compile individual documents or an entire
+% collection of documents. This flexibility can be helpful when making
+% changes to specific documents without having to re-compile the
+% entire collection. Moreover, this allows an author to share large
+% portions of a text with another, with minimal changes.
+%\item[Interactive content] The Ximera document class allows for the
+% inclusion of interactive content, such as answer boxes that are
+% validated by a client-side computer algebra system. Additionally, it
+% allows for the embedding of YouTube videos, Desmos graphs, and
+% GeoGebra interactives.
+%\item[All content displayed] By default, the Ximera document class
+% displays all content to the author. This means the author see what
+% the students see, along with answers and solutions, and links (that
+% can be checked) to various interactive elements (when deployed, the
+% interactive elements are truly embedded). This can be especially
+% helpful for catching errors or inconsistencies in the content.
+%\end{description}
+%
+%Online examples can be found at
+%\begin{center}
+%\url{https://go.osu.edu/ximera-examples}
+%\end{center}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%\Finale
diff --git a/macros/latex/contrib/ximera/ximera.ins b/macros/latex/contrib/ximera/ximera.ins
new file mode 100644
index 0000000000..54545d64cc
--- /dev/null
+++ b/macros/latex/contrib/ximera/ximera.ins
@@ -0,0 +1,211 @@
+%%
+%% This is file `ximera.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ximera.dtx (with options: `install')
+%% ------------:| ------------------------------------------------------------
+%% ximera:| Simultaneously writing print and online interactive materials
+%% Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp
+%% E-mail:| bart.snapp@gmail.com
+%% License:| Released under the LaTeX Project Public License v1.3c or later
+%% See:| http://www.latex-project.org/lppl.txt
+%%
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+------------:| ------------------------------------------------------------
+ ximera:| Simultaneously writing print and online interactive materials
+ Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp
+ E-mail:| bart.snapp@gmail.com
+ License:| Released under the LaTeX Project Public License v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+\endpreamble
+\postamble
+
+Copyright (C) 2024 by Bart Snapp <bart.snapp@gmail.com> and Jim Fowler <kisonecat@gmail.com>
+
+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
+Bart Snapp. The source code can be found at:
+
+https://github.com/XimeraProject/ximeraLatex
+
+This work consists of the file ximera.dtx, the associated files
+under src/, and a Makefile.
+
+Running "make" generates the derived files README, ximera.pdf, ximera.cls, xourse.cls.
+
+Running "make inst" installs the files in the user's TeX tree.
+
+Running "make install" installs the files in the local TeX tree.
+
+\endpostamble
+
+\usedir{tex/latex/ximera}
+\input docstrip
+\askforoverwritefalse
+\generate{
+ \file{ximera.cls}{
+ \from{ximera.dtx}{classXimera}
+ \from{src/banner.dtx}{classXimera}
+ \from{src/options.dtx}{classXimera}
+ \from{src/packages.dtx}{classXimera}
+ \from{src/tikzexport.dtx}{classXimera}
+ \from{src/hyperref.dtx}{classXimera}
+ \from{src/suppress.dtx}{classXimera}
+ \from{src/makeCounter.dtx}{classXimera}
+ \from{src/pagesetup.dtx}{classXimera}
+ \from{src/metadata.dtx}{classXimera}
+ \from{src/outcomes.dtx}{classXimera}
+ \from{src/macros.dtx}{classXimera}
+ \from{src/theorems.dtx}{classXimera}
+ \from{src/enumerate.dtx}{classXimera}
+ \from{src/proof.dtx}{classXimera}
+ \from{src/only.dtx}{classXimera}
+ \from{src/problem.dtx}{classXimera}
+ \from{src/hints.dtx}{classXimera}
+ \from{src/abstract.dtx}{classXimera}
+ \from{src/title.dtx}{classXimera}
+ \from{src/image.dtx}{classXimera}
+ \from{src/interactives/javascript.dtx}{classXimera}
+ \from{src/interactives/include.dtx}{classXimera}
+ \from{src/interactives/geogebra.dtx}{classXimera}
+ \from{src/interactives/desmos.dtx}{classXimera}
+ \from{src/interactives/google.dtx}{classXimera}
+ \from{src/interactives/graph.dtx}{classXimera}
+ \from{src/link.dtx}{classXimera}
+ \from{src/interactives/video.dtx}{classXimera}
+ \from{src/answer.dtx}{classXimera}
+ \from{src/choice.dtx}{classXimera}
+ \from{src/solution.dtx}{classXimera}
+ \from{src/feedback.dtx}{classXimera}
+ \from{src/freeresponse.dtx}{classXimera}
+ \from{src/verbatim.dtx}{classXimera}
+ \from{src/dialogue.dtx}{classXimera}
+ \from{src/instructornotes.dtx}{classXimera}
+ \from{src/xkcd.dtx}{classXimera}
+ \from{src/foldable.dtx}{classXimera}
+ \from{src/leash.dtx}{classXimera}
+ \from{src/interactives/sagemath.dtx}{classXimera}
+ \from{src/jax.dtx}{classXimera}
+ \from{src/ungraded.dtx}{classXimera}
+ \from{src/clearEnv.dtx}{classXimera}
+ \from{src/hideEnv.dtx}{classXimera}
+ }
+}
+\generate{
+ \file{xourse.cls}{
+ \from{ximera.dtx}{classXourse}
+ \from{src/optionsxourse.dtx}{classXourse}
+ \from{src/activity.dtx}{classXourse}
+ \from{src/sectioning.dtx}{classXourse}
+ \from{src/logo.dtx}{classXourse}
+ \from{src/graded.dtx}{classXourse}
+ }
+}
+\generate{
+ \file{ximera.cfg}{
+ \from{ximera.dtx}{cfgXimera}
+ \from{src/pagesetup.dtx}{cfgXimera}
+ \from{src/packages.dtx}{cfgXimera}
+ \from{src/jax.dtx}{cfgXimera}
+ \from{src/sectioning.dtx}{cfgXimera}
+ \from{src/title.dtx}{cfgXimera}
+ \from{src/abstract.dtx}{cfgXimera}
+ \from{src/image.dtx}{cfgXimera}
+ \from{src/outcomes.dtx}{cfgXimera}
+ \from{src/textcolor.dtx}{cfgXimera}
+ \from{src/verbatim.dtx}{cfgXimera}
+ \from{src/html.dtx}{cfgXimera}
+ \from{src/ending.dtx}{cfgXimera}
+ }
+}
+\generate{
+ \file{ximera.4ht}{
+ \from{ximera.dtx}{htXimera}
+ \from{src/pagesetup.dtx}{htXimera}
+ \from{src/title.dtx}{htXimera}
+ \from{src/problem.dtx}{htXimera}
+ \from{src/macros.dtx}{htXimera}
+ \from{src/theorems.dtx}{htXimera}
+ \from{src/image.dtx}{htXimera}
+ \from{src/dialogue.dtx}{htXimera}
+ \from{src/foldable.dtx}{htXimera}
+ \from{src/interactives/video.dtx}{htXimera}
+ \from{src/xkcd.dtx}{htXimera}
+ \from{src/link.dtx}{htXimera}
+ \from{src/interactives/graph.dtx}{htXimera}
+ \from{src/answer.dtx}{htXimera}
+ \from{src/choice.dtx}{htXimera}
+ \from{src/freeresponse.dtx}{htXimera}
+ \from{src/interactives/javascript.dtx}{htXimera}
+ \from{src/interactives/include.dtx}{htXimera}
+ \from{src/interactives/geogebra.dtx}{htXimera}
+ \from{src/interactives/desmos.dtx}{htXimera}
+ \from{src/interactives/google.dtx}{htXimera}
+ \from{src/feedback.dtx}{htXimera}
+ \from{src/leash.dtx}{htXimera}
+ \from{src/labels.dtx}{htXimera}
+ \from{src/interactives/sagemath.dtx}{htXimera}
+ \from{src/ungraded.dtx}{htXimera}
+ \from{src/footnotes.dtx}{htXimera}
+ \from{src/ending.dtx}{htXimera}
+ }
+}
+\generate{
+ \file{xourse.4ht}{
+ \from{ximera.dtx}{htXourse}
+ \from{src/logo.dtx}{htXourse}
+ \from{src/metadata.dtx}{htXourse}
+ \from{src/activity.dtx}{htXourse}
+ \from{src/sectioning.dtx}{htXourse}
+ \from{src/graded.dtx}{htXourse}
+ \from{src/interactives/video.dtx}{htXourse}
+ \from{src/ending.dtx}{htXourse}
+ }
+}
+\endbatchfile
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%
+%% Copyright (C) 2024 by Bart Snapp <bart.snapp@gmail.com> and Jim Fowler <kisonecat@gmail.com>
+%%
+%% 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
+%% Bart Snapp. The source code can be found at:
+%%
+%% https://github.com/XimeraProject/ximeraLatex
+%%
+%% This work consists of the file ximera.dtx, the associated files
+%% under src/, and a Makefile.
+%%
+%% Running "make" generates the derived files README, ximera.pdf, ximera.cls, xourse.cls.
+%%
+%% Running "make inst" installs the files in the user's TeX tree.
+%%
+%% Running "make install" installs the files in the local TeX tree.
+%%
+%%
+%% End of file `ximera.ins'.
diff --git a/macros/latex/contrib/ximera/ximera.pdf b/macros/latex/contrib/ximera/ximera.pdf
new file mode 100644
index 0000000000..0d2545b701
--- /dev/null
+++ b/macros/latex/contrib/ximera/ximera.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index aee528f60c..3247ec987f 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,6 +1,6 @@
-## Babel 24.3
+## Babel 24.5
-2024-03-29
+2024-05-18
`babel` is the multilingual framework for localizing documents in
LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined
@@ -10,9 +10,9 @@ languages even work with Plain formats.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 24.3 are described in:
+Changes in version 24.5 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-24.3.html
+https://latex3.github.io/babel/news/whats-new-in-babel-24.5.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -48,12 +48,14 @@ respective authors.
### Summary of latest changes
```
-24.3 2024-03-29
- * A silly mistake in the French locales: the interchar
- 'punctuation.space' was named 'puntuation.space' (xetex)
- * New setting 'interchar.disable' in \babeladjust (xetex)
- * Experimental macro '\localebox' (luatex)
- * Alphabetic counter for Bodo (lua/xe)
+24.5 2024-05-18
+ * Change the first item in `abjad` and `maghrebi.abjad` counters
+ in `ar-DZ`, `ar-MA` and `ar-TN`), from ا to أ. Suggested by
+ @seloumi.
+ * Fixed an error when a locale is loaded on the fly and there are empty
+ captions in another language (#294)
+ * Fix in transforms (lua): negative values in `space` and `spacefactor`
+ raised and error.
```
### Previous changes
diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf
index de968014b2..fc188152cf 100644
--- a/macros/latex/required/babel/base/babel-code.pdf
+++ b/macros/latex/required/babel/base/babel-code.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 11b73fef9b..6a129d2c32 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2024/03/29 v24.3 The Babel package]
+\ProvidesFile{babel.dtx}[2024/05/18 v24.5 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -1362,13 +1362,13 @@ options. See section~\ref{inifiles}, which describes also the variants
\subsection{The \texttt{base} option}
-With this package option \babel{} just loads some basic macros (those
-in |switch.def|), defines |\AfterBabelLanguage| and exits. It also
-selects the hyphenation patterns for the last language passed as
-option (by its name in |language.dat|). There are two main uses:
-classes and packages, and as a last resort in case there are, for some
-reason, incompatible languages. It can be used if you just want to
-select the hyphenation patterns of a single language, too.
+With this package option \babel{} just loads some basic macros (mainly
+the selectors), defines |\AfterBabelLanguage| and exits. It also
+selects the hyphenation patterns for the last language passed as option
+(by its name in |language.dat|). There are two main uses: classes and
+packages, and as a last resort in case there are, for some reason,
+incompatible languages. It can be used if you just want to select the
+hyphenation patterns of a single language, too.
\Describe\AfterBabelLanguage{\marg{option-name}\marg{code}}
@@ -1413,8 +1413,8 @@ be the same as the option name as set in |\usepackage|!).
An alternative approach to define a language (or, more precisely, a
\textit{locale}) is by means of an \texttt{ini} file. Currently
-\babel{} provides about 360 of these files containing the basic data
-required for a locale, covering about 270 languages, plus basic
+\babel{} provides about 380 of these files containing the basic data
+required for a locale, covering about 300 languages, plus basic
templates for about 400 locales.
|ini| files are not meant only for \babel, and they has been devised as
@@ -1428,9 +1428,9 @@ Most of them set the date, and many also the captions (Unicode and
LICR). They will be evolving with the time to add more features
(something to keep in mind if backward compatibility is important). The
following section shows how to make use of them by means of
-|\babelprovide|. In other words, |\babelprovide| is mainly meant
-for auxiliary tasks, and as alternative when the |ldf|, for some
-reason, does not exists or does not work as expected.
+|\babelprovide|. In other words, |\babelprovide| is mainly meant as
+alternative when the |ldf| does not exists or does not work as
+expected, and for secondary tasks.
\begin{example}
Although Georgian has its own \texttt{ldf} file, here is how to
@@ -1457,8 +1457,10 @@ _\babelprovide[import, main]{georgian}_
\end{example}
\begin{more}
- There is an example of how to use a template |ini| file
- \href{https://github.com/latex3/babel/issues/176#issuecomment-1080846575}{here}, for Phoenician.
+ There is an example of how to use an |ini| template file
+ \href{https://github.com/latex3/babel/issues/176#issuecomment-1080846575}{here},
+ for Phoenician (although currently this locale is bundled with
+ \babel).
\end{more}
\New{3.49} Alternatively, you can tell babel to load all or some
@@ -2565,11 +2567,11 @@ languages above. So, the previous example is best written as:
\babelprovide[_import_]{hungarian}
\end{verbatim}
-There are about 250 |ini| files, with data taken from the |ldf| files
-and the CLDR provided by Unicode. Not all languages in the latter are
-complete, and therefore neither are the |ini| files. A few languages
-may show a warning about the current lack of suitability of some
-features.
+There are 380 |ini| files for about 300 languages, with data taken from
+the |ldf| files and the CLDR provided by Unicode. Not all languages in
+the latter are complete, and therefore neither are the |ini| files. A
+few languages may show a warning about the current lack of suitability
+of some features.
Besides |\today|, this option defines an additional command for dates:
|\<language>date|, which takes three arguments, namely, year, month and
@@ -3692,9 +3694,31 @@ current language.
\Describe{interchar=}{\meta{interchar-list}}
\New{24.1} This key in |\babelprovide| activates predefined rules for
-the ‘provided’ locale. Currently there is a set of rules for French
-named |punctuation.space|, which applies proper spacing with characters
-\textit{;:!?«»}.
+the ‘provided’ locale. Currently the following |interchar|’s are defined:
+
+\begingroup
+\def\trans#1#2#3{%
+ \vspace{1.5mm}%
+ \parbox[t]{2.2cm}{\raggedright\strut#1}%
+ \hspace{2mm}%
+ \parbox[t]{4.0cm}{\strut\ttfamily#2}%
+ \hspace{2mm}%
+ \parbox[t]{6.6cm}{\strut#3}\par}
+\bigskip\hrule\nobreak\vspace{.5mm}
+
+\trans{Cantonese, Chinese, Japanese,
+Korean}{linebreak.basic}{\New{24.4} Basic settings for CJK
+defined in (plain) \xetex. See the linked news page for details.}
+
+\trans{French}{punctuation.space}{Rules for proper spacing with
+characters \textit{;:!?«»} are applied.}
+
+\vspace{2mm}\hrule\nobreak
+\endgroup
+
+\begin{warning}
+ This feature requires |import|.
+\end{warning}
\begin{note}
You can use |transforms| and |interchar| at the same time. Only the
@@ -3868,22 +3892,26 @@ There are some package options controlling bidi writing.
$\string|$ \texttt{basic-r} $\string|$ \texttt{bidi-l} $\string|$
\texttt{bidi-r}}
-\New{3.14} Selects the bidi algorithm to be used. With |default| the
-bidi mechanism is just activated (by default it is not), but every
-change must be marked up. In \xetex{} and \pdftex{} this is the only
-option.
+\New{3.14} Selects the bidi algorithm to be used.
-In \luatex, |basic-r| provides a simple and fast method for R text,
-which handles numbers and unmarked L text within an R context many in
-typical cases. \New{3.19} Finally, |basic| supports both L and R text,
-and it is the preferred method (support for |basic-r| is currently
-limited). (They are named \texttt{basic} mainly because they only
-consider the intrinsic direction of scripts and weak directionality.)
+With |default| the bidi mechanism is just activated (by default it is
+not), but every change must be marked up. In \pdftex{} this is the only
+option. If the RL text only consists of letters and punctuation, it
+will be fine in most cases, but numbers, for example, will be rendered
+in the wrong order.
-\New{3.29} In \xetex, |bidi-r| and |bidi-l| resort to the package
-\textsf{bidi} (by Vafa Khalighi). Integration is still somewhat
-tentative, but it mostly works. For RL documents use the former, and
-for LR ones use the latter.
+In \luatex, the preferred method is |basic|, which supports both L and
+R text. |basic-r| was a first attempt to create a bidi algorith and
+provides a simple and fast method for R text in some typical cases.
+(They are named \texttt{basic} mainly because they only consider the
+intrinsic direction of scripts and weak directionality.)
+
+In \xetex, |bidi-r| and |bidi-l| resort to the package \textsf{bidi}
+(by Vafa Khalighi). For RL documents use the former, and for LR ones
+use the latter. However, this package patches heavily lots of macros
+and packages even if the RL script is not the main one, which can lead
+to some surprising results, so for short and simple texts (letters and
+punctuation) the |default| method can be preferable.
There are samples on GitHub, under \texttt{/required/babel/samples}.
See particularly |lua-bidibasic.tex| and |lua-secenum.tex|.
@@ -5451,8 +5479,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=24.3>>
-%<<date=2024/03/29>>
+%<<version=24.5>>
+%<<date=2024/05/18>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -9898,7 +9926,7 @@ wouldn’t exist.
\or
\input xebabel.def
\fi
-\providecommand\babelfont{\bbl@error@{only-lua-xe}{}{}{}}
+\providecommand\babelfont{\bbl@error{only-lua-xe}{}{}{}}
\providecommand\babelprehyphenation{\bbl@error{only-lua}{}{}{}}
\ifx\babelposthyphenation\@undefined
\let\babelposthyphenation\babelprehyphenation
@@ -10305,6 +10333,8 @@ wouldn’t exist.
\fi
% == transforms ==
% > luababel.def
+ \def\CurrentOption{#2}%
+ \@nameuse{bbl@icsave@#2}%
% == main ==
\ifx\bbl@KVP@main\@nnil % Restore only if not 'main'
\let\languagename\bbl@savelangname
@@ -10328,15 +10358,15 @@ wouldn’t exist.
\@namedef{extras#1}{}%
\@namedef{noextras#1}{}%
\bbl@startcommands*{#1}{captions}%
- \ifx\bbl@KVP@captions\@nnil % and also if import, implicit
+ \ifx\bbl@KVP@captions\@nnil % and also if import, implicit
\def\bbl@tempb##1{% elt for \bbl@captionslist
- \ifx##1\@empty\else
+ \ifx##1\@nnil\else
\bbl@exp{%
\\\SetString\\##1{%
\\\bbl@nocaption{\bbl@stripslash##1}{#1\bbl@stripslash##1}}}%
\expandafter\bbl@tempb
\fi}%
- \expandafter\bbl@tempb\bbl@captionslist\@empty
+ \expandafter\bbl@tempb\bbl@captionslist\@nnil
\else
\ifx\bbl@initoload\relax
\bbl@read@ini{\bbl@KVP@captions}2% % Here letters cat = 11
@@ -13745,6 +13775,9 @@ wouldn’t exist.
\AddBabelHook{xetex}{stopcommands}{%
\xebbl@stop
\let\xebbl@stop\relax}
+\def\bbl@input@classes{% Used in CJK intraspaces
+ \input{load-unicode-xetex-classes.tex}%
+ \let\bbl@input@classes\relax}
\def\bbl@intraspace#1 #2 #3\@@{%
\bbl@csarg\gdef{xeisp@\languagename}%
{\XeTeXlinebreakskip #1em plus #2em minus #3em\relax}}
@@ -13789,7 +13822,7 @@ wouldn’t exist.
\AtBeginDocument{\bbl@patchfont{\bbl@ispacesize}}%
\fi}%
\fi}
-\ifx\DisableBabelHook\@undefined\endinput\fi
+\ifx\DisableBabelHook\@undefined\endinput\fi %%%% TODO: why
\AddBabelHook{babel-fontspec}{afterextras}{\bbl@switchfont}
\AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts}
\DisableBabelHook{babel-fontspec}
@@ -13854,7 +13887,7 @@ wouldn’t exist.
% special case, hyphens are stored as |\bbl@upto|, to deal with ranges.
%
% \begin{macrocode}
-\newcommand\IfBabelIntercharT[1]{%
+\newcommand\bbl@ifinterchar[1]{%
\let\bbl@tempa\@gobble % Assume to ignore
\edef\bbl@tempb{\zap@space#1 \@empty}%
\ifx\bbl@KVP@interchar\@nnil\else
@@ -13866,6 +13899,8 @@ wouldn’t exist.
\fi}%
\fi
\bbl@tempa}
+\newcommand\IfBabelIntercharT[2]{%
+ \bbl@carg\bbl@add{bbl@icsave@\CurrentOption}{\bbl@ifinterchar{#1}{#2}}}%
\newcommand\babelcharclass[3]{%
\EnableBabelHook{babel-interchar}%
\bbl@csarg\newXeTeXintercharclass{xeclass@#2@#1}%
@@ -14561,10 +14596,10 @@ end
}}
\begingroup
\catcode`\%=12
-\catcode`\^=14
+\catcode`\&=14
\catcode`\'=12
\catcode`\~=12
-\gdef\bbl@seaintraspace{^
+\gdef\bbl@seaintraspace{&
\let\bbl@seaintraspace\relax
\directlua{
Babel = Babel or {}
@@ -14580,7 +14615,7 @@ end
function Babel.sea_disc_to_space (head)
local sea_ranges = Babel.sea_ranges
local last_char = nil
- local quad = 655360 ^% 10 pt = 655360 = 10 * 65536
+ local quad = 655360 &% 10 pt = 655360 = 10 * 65536
for item in node.traverse(head) do
local i = item.id
if i == node.id'glyph' then
@@ -14590,16 +14625,16 @@ end
quad = font.getfont(last_char.font).size
for lg, rg in pairs(sea_ranges) do
if last_char.char > rg[1] and last_char.char < rg[2] then
- lg = lg:sub(1, 4) ^% Remove trailing number of, eg, Cyrl1
+ lg = lg:sub(1, 4) &% Remove trailing number of, eg, Cyrl1
local intraspace = Babel.intraspaces[lg]
local intrapenalty = Babel.intrapenalties[lg]
local n
if intrapenalty ~= 0 then
- n = node.new(14, 0) ^% penalty
+ n = node.new(14, 0) &% penalty
n.penalty = intrapenalty
node.insert_before(head, item, n)
end
- n = node.new(12, 13) ^% (glue, spaceskip)
+ n = node.new(12, 13) &% (glue, spaceskip)
node.setglue(n, intraspace.b * quad,
intraspace.p * quad,
intraspace.m * quad)
@@ -14610,7 +14645,7 @@ end
end
end
end
- }^^
+ }&
\bbl@luahyphenate}
% \end{macrocode}
%
@@ -15290,9 +15325,11 @@ end
rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ')
rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func)
if #1 == 0 or #1 == 2 then
- rep = rep:gsub('(space)%s*=%s*([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)',
+ rep = rep:gsub(&%
+ '(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
'space = {' .. '%2, %3, %4' .. '}')
- rep = rep:gsub('(spacefactor)%s*=%s*([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)',
+ rep = rep:gsub(&%
+ '(spacefactor)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
'spacefactor = {' .. '%2, %3, %4' .. '}')
rep = rep:gsub('(kashida)%s*=%s*([^%s,]*)', Babel.capture_kashida)
else
@@ -16033,17 +16070,15 @@ end
\fi
\ifx\tcolorbox\@undefined\else
\def\tcb@drawing@env@begin{%
- \csname tcb@before@\tcb@split@state\endcsname
- \bbl@pictsetdir\tw@
- \begin{\kvtcb@graphenv}%
- \tcb@bbdraw%
- \tcb@apply@graph@patches
- }%
- \def\tcb@drawing@env@end{%
- \end{\kvtcb@graphenv}%
- \bbl@pictresetdir
- \csname tcb@after@\tcb@split@state\endcsname
- }%
+ \csname tcb@before@\tcb@split@state\endcsname
+ \bbl@pictsetdir\tw@
+ \begin{\kvtcb@graphenv}%
+ \tcb@bbdraw
+ \tcb@apply@graph@patches}%
+ \def\tcb@drawing@env@end{%
+ \end{\kvtcb@graphenv}%
+ \bbl@pictresetdir
+ \csname tcb@after@\tcb@split@state\endcsname}%
\fi
}}
{}
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index d498b8ff4f..d70ae40c62 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2024/03/29}
+\def\filedate{2024/05/18}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index 7c263bf3ea..b541f0bf05 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index 9c1856b998..00e5a6b8b5 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2024/03/29 v24.3]
+\ProvidesFile{bbcompat.dtx}[2024/05/18 v24.5]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/required/l3backend/CHANGELOG.md
index 66a69a3bb3..ecd8593881 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/required/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-04-11]
+
+### Added
+- Support for 'raw' PDF object IDs
+
+### Changed
+- Update PDF object management code
+
## [2024-03-14]
### Removed
@@ -339,7 +347,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
[2024-01-04]: https://github.com/latex3/latex3/compare/2023-11-09...2024-01-04
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/required/l3backend/README.md
index 7be33df8b8..058fa63cc2 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/required/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2024-03-14
+Release 2024-04-11
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/required/l3backend/l3backend-basics.dtx
index 4d3b68225a..fbac503317 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/required/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-03-14}{}
+ {l3backend-dvipdfmx.def}{2024-04-11}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-03-14}{}
+ {l3backend-dvips.def}{2024-04-11}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-03-14}{}
+ {l3backend-dvisvgm.def}{2024-04-11}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-03-14}{}
+ {l3backend-luatex.def}{2024-04-11}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-03-14}{}
+ {l3backend-pdftex.def}{2024-04-11}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-03-14}{}
+ {l3backend-xetex.def}{2024-04-11}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/required/l3backend/l3backend-box.dtx
index 3fc3243c42..93d83293ef 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/required/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/required/l3backend/l3backend-code.pdf
index 9affc7d856..d298479c42 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/required/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-code.tex b/macros/latex/required/l3backend/l3backend-code.tex
index df0dd0ea8c..df0dd0ea8c 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.tex
+++ b/macros/latex/required/l3backend/l3backend-code.tex
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/required/l3backend/l3backend-color.dtx
index eaa89add8c..307432d554 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/required/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/required/l3backend/l3backend-draw.dtx
index eef86886f5..c651ab92fe 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/required/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/required/l3backend/l3backend-graphics.dtx
index 9360bffd2e..e20457368d 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/required/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/required/l3backend/l3backend-header.dtx
index 84f8ab53b7..486f564822 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/required/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/required/l3backend/l3backend-opacity.dtx
index a5828bfd90..0c29574c37 100644
--- a/macros/latex/contrib/l3backend/l3backend-opacity.dtx
+++ b/macros/latex/required/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/required/l3backend/l3backend-pdf.dtx
index 0a16a79f9e..cf09c0eec2 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/required/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -113,25 +113,13 @@
%
% \subsubsection{Objects}
%
-% \begin{variable}{\g_@@_backend_object_int}
-% For tracking objects.
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
- {
- \int_gincr:N \g_@@_backend_object_int
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
- { \g_@@_backend_object_int }
- }
-\cs_new:Npn \@@_backend_object_ref:n #1
- { { pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } } }
+\cs_new_protected:Npn \@@_backend_object_new:
+ { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { { pdf.obj #1 } }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -958,12 +946,12 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% Declaring objects means reserving at the PDF level plus starting
% tracking.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
+\cs_new_protected:Npn \@@_backend_object_new:
{
%<*luatex>
\tex_pdfextension:D obj ~
@@ -972,17 +960,16 @@
\tex_pdfobj:D
%</pdftex>
reserveobjnum ~
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
+ \int_gset:Nn \g_@@_backend_object_int
%<*luatex>
- { \tex_pdffeedback:D lastobj }
+ { \tex_pdffeedback:D lastobj }
%</luatex>
%<*pdftex>
- { \tex_pdflastobj:D }
+ { \tex_pdflastobj:D }
%</pdftex>
}
-\cs_new:Npn \@@_backend_object_ref:n #1
- { \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_ref:n #1 { #1 ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_id:n #1 {#1}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1001,28 +988,26 @@
%<*pdftex>
\tex_immediate:D \tex_pdfobj:D
%</pdftex>
- useobjnum ~
- \int_use:c
- { c_@@_object_ \tl_to_str:n {#1} _int }
- \@@_backend_object_write:nn {#2} {#3}
+ useobjnum ~ #1
+ \@@_backend_object_write:nn {#2} {#3}
}
\cs_new:Npn \@@_backend_object_write:nn #1#2
{
- \str_case:nn {#1}
- {
- { array } { { [ ~ \exp_not:n {#2} ~ ] } }
- { dict } { { << ~ \exp_not:n {#2} ~ >> } }
- { fstream }
- {
- stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
- file ~ { \@@_exp_not_ii:nn #2 }
- }
- { stream }
- {
- stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
- { \@@_exp_not_ii:nn #2 }
- }
- }
+ \str_case:nn {#1}
+ {
+ { array } { { [ ~ \exp_not:n {#2} ~ ] } }
+ { dict } { { << ~ \exp_not:n {#2} ~ >> } }
+ { fstream }
+ {
+ stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+ file ~ { \@@_exp_not_ii:nn #2 }
+ }
+ { stream }
+ {
+ stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+ { \@@_exp_not_ii:nn #2 }
+ }
+ }
}
\cs_generate_variant:Nn \@@_backend_object_write:nnn { nne }
\cs_new:Npn \@@_exp_not_i:nn #1#2 { \exp_not:n {#1} }
@@ -1235,28 +1220,22 @@
%
% \subsubsection{Objects}
%
-% \begin{variable}{\g_@@_backend_object_int, \g_@@_backend_object_prop}
+% \begin{variable}{\g_@@_backend_object_prop}
% For tracking objects to allow finalisation.
% \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
\prop_new:N \g_@@_backend_object_prop
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% Objects are tracked at the macro level, but we don't have to do anything
% at this stage.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
- {
- \int_gincr:N \g_@@_backend_object_int
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
- { \g_@@_backend_object_int }
- }
-\cs_new:Npn \@@_backend_object_ref:n #1
- { @pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } }
+\cs_new_protected:Npn \@@_backend_object_new:
+ { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { @pdf.obj #1 }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1627,16 +1606,17 @@
%
% \subsubsection{Objects}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% \begin{macro}{\@@_backend_object_write:nnn, \@@_backend_object_write:ne}
% \begin{macro}{\@@_backend_object_now:nn, , \@@_backend_object_now:ne}
% \begin{macro}{\@@_backend_object_last:}
% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
% All no-ops here.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:nn #1 { }
+\cs_new_protected:Npn \@@_backend_object_new: { }
\cs_new:Npn \@@_backend_object_ref:n #1 { }
+\cs_new:Npn \@@_backend_object_id:n #1 { }
\cs_new_protected:Npn \@@_backend_object_write:nnn #1#2#3 { }
\cs_new_protected:Npn \@@_backend_object_write:nne #1#2#3 { }
\cs_new_protected:Npn \@@_backend_object_now:nn #1#2 { }
diff --git a/macros/latex/contrib/l3backend/l3backend.ins b/macros/latex/required/l3backend/l3backend.ins
index e24c41d236..e24c41d236 100644
--- a/macros/latex/contrib/l3backend/l3backend.ins
+++ b/macros/latex/required/l3backend/l3backend.ins
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/required/l3kernel/CHANGELOG.md
index 9c8c4d506c..e770f3fe36 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,30 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-04-11]
+
+### Added
+- `\prop_(g)put_if_not_in:Nnn` (renamed from `\prop_(g)put_if_new:Nnn`)
+- `\intarray_if_exist:N(TF)`
+- `\fparray_if_exist:N(TF)`
+- Support for 'indexed' PDF objects
+
+### Changed
+- Expand object names in `\pdf_object_...` functions (issue \#1521)
+- Adapt `l3doc` for `ltcmd` change to handling of newlines
+ (see latex3/latex2e\#1304)
+- Return active spaces from `\sys_get_query:n(nn)N` (issue \#1529)
+
+### Fixed
+- False `debug` error raised by `\cctab_const:Nn` (issue \#1508)
+- Undefined `\__kernel_iwo_open:Nn` used in `\iow_shell_open:Nn`
+ (issue \#1515)
+- Naming of register functions in LuaMetaTeX 2.11+ (issue \#1518)
+- Catcode applied to letters by `\sys_get_query:n(nn)N`
+
+### Deprecated
+- `\prop_(g)put_if_new:Nnn` (renamed to `\prop_(g)put_if_not_in:Nnn`)
+
## [2024-03-14]
### Added
@@ -20,6 +44,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Typeset `TF` of internal conditionals in current color (issue \#730)
- Some functions and variables were defined locally
+
## [2024-02-20]
### Changed
@@ -1700,7 +1725,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
[2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/required/l3kernel/README.md
index 8ef94a41ac..70d106b496 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-03-14
+Release 2024-04-11
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/required/l3kernel/expl3.dtx
index 76ef8ec919..56a62010fa 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-03-14}%
+\def\ExplFileDate{2024-04-11}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/required/l3kernel/expl3.pdf
index b36343153a..56a734d6bf 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf
index 1df60adf1a..bf177baf39 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/required/l3kernel/interface3.tex
index ff8114028e..1bf31032ee 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3.ins b/macros/latex/required/l3kernel/l3.ins
index 2940230505..bf7a75381d 100644
--- a/macros/latex/contrib/l3kernel/l3.ins
+++ b/macros/latex/required/l3kernel/l3.ins
@@ -105,7 +105,7 @@ and all files in that bundle must be distributed together.
\from{l3regex.dtx} {package}
\from{l3box.dtx} {package}
\from{l3color.dtx} {package}
- \from{l3pdf.dtx} {package}
+ \from{l3pdf.dtx} {package,tex}
\from{l3coffins.dtx} {package}
\from{l3luatex.dtx} {package,tex}
\from{l3unicode.dtx} {package}
@@ -176,6 +176,7 @@ and all files in that bundle must be distributed together.
\from{l3sys.dtx}{package,lua}
\from{l3token.dtx}{package,lua}
\from{l3intarray.dtx}{package,lua}
+ \from{l3pdf.dtx}{package,lua}
}}
\endbatchfile
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/required/l3kernel/l3basics.dtx
index 66e999fe62..eabf678caa 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -1340,8 +1340,9 @@
% only locally/globally assigned;
% \item \texttt{check-expressions} that checks integer, dimension,
% skip, and muskip expressions are not terminated prematurely;
-% \item \texttt{deprecation} that makes soon-to-be-deprecated commands produce errors;
-% \item \texttt{log-functions} that logs function definitions;
+% \item \texttt{deprecation} that makes deprecated commands produce errors;
+% \item \texttt{log-functions} that logs function definitions and
+% variable declarations;
% \item \texttt{all} that does all of the above.
% \end{itemize}
% Providing these as switches rather than options allows testing code
@@ -1355,10 +1356,10 @@
% \cs{debug_suspend:} \ldots{} \cs{debug_resume:}
% \end{syntax}
% Suppress (locally) errors and logging from \texttt{debug} commands,
-% except for the \texttt{deprecation} errors or warnings. These pairs
+% except for the \texttt{deprecation} errors. These pairs
% of commands can be nested. This can be used around pieces of code
% that are known to fail checks, if such failures should be ignored.
-% See for instance \pkg{l3coffins}.
+% See for instance \pkg{l3cctab} and \pkg{l3coffins}.
% \end{function}
%
% \end{documentation}
@@ -1871,9 +1872,8 @@
%
% \begin{macro}{\__kernel_deprecation_code:nn}
% \begin{variable}{\g_@@_deprecation_on_tl, \g_@@_deprecation_off_tl}
-% Some commands were more recently deprecated and not yet removed;
-% only make these into errors if the user requests it. This relies on
-% two token lists, filled up in \pkg{l3deprecation}.
+% Make deprecated commands throw errors if the user requests it.
+% This relies on two token lists, filled up in \pkg{l3deprecation}.
% \begin{macrocode}
\cs_gset_nopar:Npn \g_@@_deprecation_on_tl { }
\cs_gset_nopar:Npn \g_@@_deprecation_off_tl { }
diff --git a/macros/latex/contrib/l3kernel/l3bitset.dtx b/macros/latex/required/l3kernel/l3bitset.dtx
index 3100c28463..b0bd996d26 100644
--- a/macros/latex/contrib/l3kernel/l3bitset.dtx
+++ b/macros/latex/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/required/l3kernel/l3bootstrap.dtx
index 5ff0c2e68d..2c51bf3bb0 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/required/l3kernel/l3box.dtx
index 08463db56d..2d4902950f 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/required/l3kernel/l3cctab.dtx
index 5cdaa3dc92..dd35fb00a3 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -286,15 +286,23 @@
% \end{macrocode}
% Now the case for other engines. Here, each table is an integer
% array. Following the \LuaTeX{} pattern, a new table starts with
-% \IniTeX{} codes. The index base is out-by-one, so we have an
+% \IniTeX{} codes. The \cs{debug_suspend:} and \cs{debug_resume:}
+% functions prevent errors and logging from \texttt{debug} commands
+% which are either duplicate or false when \cs{@@_new:N} is used
+% by \cs{cctab_new:N} or \cs{cctab_const:Nn}.
+% The index base is out-by-one, so we have an
% internal function to handle that. The \IniTeX{} \tn{endlinechar} is
% $13$.
% \begin{macrocode}
{
\cs_new_protected:Npn \@@_new:N #1
- { \intarray_new:Nn #1 { 257 } }
+ {
+ \debug_suspend:
+ \intarray_new:Nn #1 { 257 }
+ \debug_resume:
+ }
\cs_new_protected:Npn \@@_gstore:Nnn #1#2#3
- { \intarray_gset:Nnn #1 { \int_eval:n { #2 + 1 } } {#3} }
+ { \intarray_gset:Nnn #1 { #2 + 1 } {#3} }
\cs_new_protected:Npn \cctab_new:N #1
{
\__kernel_chk_if_free_cs:N #1
@@ -796,13 +804,22 @@
% \subsection{Constant category code tables}
%
% \begin{macro}{\cctab_const:Nn,\cctab_const:cn}
-% Creates a new \meta{cctab~var} then sets it with the current and
-% user-supplied codes.
+% Creates a new \meta{cctab~var} then sets it with the \IniTeX{} and
+% user-supplied codes. To avoid false \texttt{debug} errors, we write
+% out implementation of \cs{cctab_new:N} and \cs{cctab_gset:Nn}
+% instead of directly using them here. The initialization part in
+% \cs{cctab_new:N} in non-\LuaTeX{} is omitted as it's covered by
+% the \IniTeX{} settings.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_const:Nn #1#2
{
- \cctab_new:N #1
- \cctab_gset:Nn #1 {#2}
+ \__kernel_chk_if_free_cs:N #1
+ \@@_new:N #1
+ \group_begin:
+ \cctab_select:N \c_initex_cctab
+ #2 \scan_stop:
+ \@@_gset:n {#1}
+ \group_end:
}
\cs_generate_variant:Nn \cctab_const:Nn { c }
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/required/l3kernel/l3clist.dtx
index ad65a4b174..c67f70db2c 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/required/l3kernel/l3coffins.dtx
index ad41224aa0..164d10019d 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/required/l3kernel/l3color.dtx
index 514ff326a4..0edc225c52 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/required/l3kernel/l3debug.dtx
index 6654b6d4cd..6dbe13f96e 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-03-14}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -389,10 +389,9 @@
% \end{macro}
%
% \begin{macro}{\@@_deprecation_on:, \@@_deprecation_off:}
-% Some commands were more recently deprecated and not yet removed;
-% only make these into errors if the user requests it. This relies on
-% two token lists, filled up in \pkg{l3deprecation} by calls to
-% \cs{__kernel_deprecation_code:nn}.
+% Make deprecated commands throw errors if the user requests it.
+% This relies on two token lists, filled up in \pkg{l3deprecation} by
+% calls to \cs{__kernel_deprecation_code:nn}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_deprecation_on:
{ \g_@@_deprecation_on_tl }
@@ -781,7 +780,7 @@
\prop_pop:NnNF
\prop_pop:NnNTF
\prop_put:Nnn
- \prop_put_if_new:Nnn
+ \prop_put_if_not_in:Nnn
\prop_put_from_keyval:Nn
\prop_remove:Nn
\prop_set_eq:NN
@@ -862,7 +861,7 @@
\prop_gpop:NnNF
\prop_gpop:NnNTF
\prop_gput:Nnn
- \prop_gput_if_new:Nnn
+ \prop_gput_if_not_in:Nnn
\prop_gput_from_keyval:Nn
\prop_gremove:Nn
\prop_gset_eq:NN
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/required/l3kernel/l3deprecation.dtx
index 3906c6786e..7af8700df7 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -51,8 +51,10 @@
%
% \section{\pkg{l3deprecation} documentation}
%
-% A few commands have had to be deprecated over the years. This module
-% defines deprecated and deleted commands to produce an error.
+% A few commands have had to be deprecated over the years.
+% All commands deprecated before release 2022-01-12 were already
+% removed; commands deprecated since then will no longer be removed.
+% Instead, this module defines them to produce errors.
%
% \end{documentation}
%
@@ -74,31 +76,12 @@
% \cs{__kernel_patch_deprecation:nnNNpn} \Arg{date} \Arg{replacement}
% \meta{definition} \meta{function} \meta{parameters} \Arg{code}
% \end{quote}
-% defines the \meta{function} to produce a warning and run its
-% \meta{code}, or to produce an error and not run any \meta{code},
-% depending on the \pkg{expl3} date.
-% \begin{itemize}
-% \item If the \pkg{expl3} date is less than the \meta{date} (plus
-% $6$~months in case \texttt{undo-recent-deprecations} is used) then
-% we define the \meta{function} to produce a warning and run its code.
-% The warning is actually suppressed in two cases:
-% \begin{itemize}
-% \item if neither \texttt{undo-recent-deprecations} nor
-% \texttt{enable-debug} are in effect we may be in an end-user's
-% document so it is suppressed;
-% \item if the command is expandable then we cannot produce a warning.
-% \end{itemize}
-% \item Otherwise, we define the \meta{function} to produce an error.
-% \end{itemize}
-% In both cases we additionally make \cs{debug_on:n} |{deprecation}|
-% turn the \meta{function} into an \tn{outer} error, and
-% \cs{debug_off:n} |{deprecation}| restore whatever the behaviour was
-% without \cs{debug_on:n} |{deprecation}|.
-%
-% In later sections we use the \pkg{l3doc} key \texttt{deprecated} with
-% a date equal to that \meta{date} plus $6$~months, so that \pkg{l3doc}
-% will complain if we forget to remove the stale \meta{parameters} and
-% \Arg{code}.
+% defines the \meta{function} to produce an error and run its
+% \meta{code}.
+%
+% We make \cs{debug_on:n} |{deprecation}| turn the \meta{function} into
+% an \tn{outer} error, and \cs{debug_off:n} |{deprecation}| restore
+% whatever the behaviour was without \cs{debug_on:n} |{deprecation}|.
%
% In the explanations below, \meta{definition} \meta{function}
% \meta{parameters} \Arg{code} or assignments that only differ in the
@@ -183,8 +166,7 @@
%
% \begin{macro}{\__kernel_deprecation_error:Nnn}
% The \tn{outer} definition here ensures the command cannot appear
-% in an argument. Use this auxiliary on all commands that have been
-% removed since 2015.
+% in an argument.
% \begin{macrocode}
\cs_new_protected:Npn \__kernel_deprecation_error:Nnn #1#2#3
{
@@ -679,6 +661,27 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{Deprecated \pkg{l3prop} functions}
+%
+% \begin{macro}[deprecated]
+% {
+% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
+% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
+% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
+% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% }
+% \begin{macrocode}
+%\__kernel_patch_deprecation:nnNNpn { 2024-03-30 } { \prop_put_if_not_in:Nnn }
+\cs_new_protected:Npn \prop_put_if_new:Nnn { \prop_put_if_not_in:Nnn }
+%\__kernel_patch_deprecation:nnNNpn { 2024-03-30 } { \prop_gput_if_not_in:Nnn }
+\cs_new_protected:Npn \prop_gput_if_new:Nnn { \prop_gput_if_not_in:Nnn }
+\cs_generate_variant:Nn \prop_put_if_new:Nnn
+ { NnV , NV , c , cnV , cV }
+\cs_generate_variant:Nn \prop_gput_if_new:Nnn
+ { NnV , NV , c , cnV , cV }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/required/l3kernel/l3doc.dtx
index a48a24df23..9156bd385e 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-03-14}{}
+\ProvidesExplClass{l3doc}{2024-04-11}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
% \tableofcontents
%
@@ -2181,6 +2181,8 @@ and all files in that bundle must be distributed together.
{
\tl_remove_all:Ne \l_@@_tmpa_tl
{ \iow_char:N \^^M \c_percent_str }
+ \tl_remove_all:Ne \l_@@_tmpa_tl
+ { \token_to_str:N \obeyedline \c_space_tl \c_percent_str }
\tl_remove_all:Ne \l_@@_tmpa_tl { \tl_to_str:n { ^ ^ A } }
\tl_remove_all:Ne \l_@@_tmpa_tl { \iow_char:N \^^I }
\tl_remove_all:Ne \l_@@_tmpa_tl { \iow_char:N \^^M }
diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/required/l3kernel/l3doc.pdf
index 2f85329fdc..6ef4101a78 100644
--- a/macros/latex/contrib/l3kernel/l3doc.pdf
+++ b/macros/latex/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/required/l3kernel/l3docstrip.dtx
index c973d593c5..c2733e810e 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/required/l3kernel/l3docstrip.pdf
index f2e611b2c9..6ce1fc34e2 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/required/l3kernel/l3expan.dtx
index 7e507b7598..e79b5f32b9 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/required/l3kernel/l3file.dtx
index 3a4d1c06dc..6111d270ca 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -107,7 +107,7 @@
% control sequence for file access. If the \meta{stream} was already
% open it is closed before the new operation begins. The
% \meta{stream} is available for access immediately and will remain
-% allocated to \meta{file name} until a \cs{ior_close:N} instruction
+% allocated to \meta{file name} until an \cs{ior_close:N} instruction
% is given or the \TeX{} run ends.
% If the file is not found, an error is raised.
% \end{function}
@@ -167,7 +167,7 @@
% control sequence for access. If the \meta{stream} was already
% open it is closed before the new operation begins. The
% \meta{stream} is available for access immediately and will remain
-% allocated to \meta{shell command} until a \cs{iow_close:N} instruction
+% allocated to \meta{shell command} until an \cs{iow_close:N} instruction
% is given or the \TeX{} run ends.
% If piped system calls are disabled an error is raised.
%
@@ -1679,6 +1679,7 @@
% \end{variable}
%
% \begin{macro}{\iow_open:Nn, \iow_open:NV, \iow_open:cn, \iow_open:cV}
+% \begin{macro}{\__kernel_iow_open:Nn, \__kernel_iow_open:No}
% \begin{macro}{\@@_open_stream:Nn, \@@_open_stream:NV}
% The same idea as for reading, but without the path and without the need
% to allow for a conditional version.
@@ -1687,16 +1688,21 @@
{
\__kernel_tl_set:Nx \l_@@_file_name_tl
{ \__kernel_file_name_sanitize:n {#2} }
+ \__kernel_iow_open:No #1 \l_@@_file_name_tl
+ }
+\cs_generate_variant:Nn \iow_open:Nn { NV , c , cV }
+\cs_new_protected:Npn \__kernel_iow_open:Nn #1#2
+ {
\iow_close:N #1
\seq_gpop:NNTF \g_@@_streams_seq \l_@@_stream_tl
- { \@@_open_stream:NV #1 \l_@@_file_name_tl }
+ { \@@_open_stream:Nn #1 {#2} }
{
\@@_new:N #1
\__kernel_tl_set:Nx \l_@@_stream_tl { \int_eval:n {#1} }
- \@@_open_stream:NV #1 \l_@@_file_name_tl
+ \@@_open_stream:Nn #1 {#2}
}
}
-\cs_generate_variant:Nn \iow_open:Nn { NV , c , cV }
+\cs_generate_variant:Nn \__kernel_iow_open:Nn { No }
\cs_new_protected:Npn \@@_open_stream:Nn #1#2
{
\tex_global:D \tex_chardef:D #1 = \l_@@_stream_tl \scan_stop:
@@ -1708,6 +1714,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\iow_shell_open:Nn}
% \begin{macro}{\@@_shell_open:nN, \@@_shell_open:oN}
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/required/l3kernel/l3flag.dtx
index 40614c7348..c3bd4a5085 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/required/l3kernel/l3fp-assign.dtx
index 6d00047e4d..d54f092085 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/required/l3kernel/l3fp-aux.dtx
index 1f4ea5d34d..c9d0c228f5 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/required/l3kernel/l3fp-basics.dtx
index a7401407cd..d3dcb68dde 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/required/l3kernel/l3fp-convert.dtx
index 0459331326..a0536c1299 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/required/l3kernel/l3fp-expo.dtx
index 5b5f947c38..6fbc9de52c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/required/l3kernel/l3fp-extended.dtx
index bcd16a4b68..356c32b232 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-functions.dtx b/macros/latex/required/l3kernel/l3fp-functions.dtx
index b26d8e7f26..f6c9ec346f 100644
--- a/macros/latex/contrib/l3kernel/l3fp-functions.dtx
+++ b/macros/latex/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/required/l3kernel/l3fp-logic.dtx
index c95704085c..9df6a4730a 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/required/l3kernel/l3fp-parse.dtx
index 53b85a7cc8..ee2eedbc22 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/required/l3kernel/l3fp-random.dtx
index cdbdf38ee1..ce5a0c48f7 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/required/l3kernel/l3fp-round.dtx
index bddb146be7..48ae82730c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-symbolic.dtx b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
index 26a084733d..901ce7a27c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/required/l3kernel/l3fp-traps.dtx
index e1a3dd89a0..5a4a3b41f9 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/required/l3kernel/l3fp-trig.dtx
index 21cefc166c..d8585ebe66 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-types.dtx b/macros/latex/required/l3kernel/l3fp-types.dtx
index 0d589c9549..2c23c61393 100644
--- a/macros/latex/contrib/l3kernel/l3fp-types.dtx
+++ b/macros/latex/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/required/l3kernel/l3fp.dtx
index 11dbcdceef..7cef573970 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/required/l3kernel/l3fparray.dtx
index 1517840431..24f4ac85f8 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/required/l3kernel/l3fparray.dtx
@@ -44,20 +44,20 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
% \begin{documentation}
%
-% \section{\pkg{l3fparray} documentation}
-%
% For applications requiring heavy use of floating points, this module
% provides arrays which can be accessed in constant time (contrast
% \pkg{l3seq}, where access time is linear). The interface is very
% close to that of \pkg{l3intarray}. The size of the array is fixed and
% must be given at point of initialisation
%
+% \section{Creating and initialising floating point array variables}
+%
% \begin{function}[added = 2018-05-05]{\fparray_new:Nn, \fparray_new:cn}
% \begin{syntax}
% \cs{fparray_new:Nn} \meta{fparray~var} \Arg{size}
@@ -68,14 +68,16 @@
% assignments are always global.
% \end{function}
%
-% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
+% \begin{function}[added = 2018-05-05]{\fparray_gzero:N, \fparray_gzero:c}
% \begin{syntax}
-% \cs{fparray_count:N} \meta{fparray~var}
+% \cs{fparray_gzero:N} \meta{fparray~var}
% \end{syntax}
-% Expands to the number of entries in the \meta{floating point array
-% variable}. This is performed in constant time.
+% Sets all entries of the \meta{floating point array variable} to
+% $+0$. Assignments are always global.
% \end{function}
%
+% \section{Adding data to floating point arrays}
+%
% \begin{function}[added = 2018-05-05]{\fparray_gset:Nnn, \fparray_gset:cnn}
% \begin{syntax}
% \cs{fparray_gset:Nnn} \meta{fparray~var} \Arg{position} \Arg{value}
@@ -87,17 +89,21 @@
% Assignments are always global.
% \end{function}
%
-% \begin{function}[added = 2018-05-05]{\fparray_gzero:N, \fparray_gzero:c}
+% \section{Couting entries in floating point arrays}
+%
+% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
% \begin{syntax}
-% \cs{fparray_gzero:N} \meta{fparray~var}
+% \cs{fparray_count:N} \meta{fparray~var}
% \end{syntax}
-% Sets all entries of the \meta{floating point array variable} to
-% $+0$. Assignments are always global.
+% Expands to the number of entries in the \meta{floating point array
+% variable}. This is performed in constant time.
% \end{function}
%
+% \section{Using a single entry}
+%
% \begin{function}[EXP, added = 2018-05-05]
% {
-% \fparray_item:Nn, \fparray_item:cn
+% \fparray_item:Nn, \fparray_item:cn,
% \fparray_item_to_tl:Nn, \fparray_item_to_tl:cn
% }
% \begin{syntax}
@@ -106,8 +112,21 @@
% Applies \cs{fp_use:N} or \cs{fp_to_tl:N} (respectively) to the
% floating point entry stored at the (integer expression)
% \meta{position} in the \meta{floating point array variable}. If the
-% \meta{position} is not between $1$ and the \cs{fparray_count:N}, an
-% error occurs.
+% \meta{position} is not between $1$ and the
+% \cs{fparray_count:N} \meta{fparray~var}, an error occurs.
+% \end{function}
+%
+% \section{Floating point array conditional}
+%
+% \begin{function}[pTF, added = 2024-03-31]
+% {\fparray_if_exist:N, \fparray_if_exist:c}
+% \begin{syntax}
+% \cs{fparray_if_exist_p:N} \meta{fparray~var}
+% \cs{fparray_if_exist:NTF} \meta{fparray~var} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether the \meta{fparray~var} is currently defined. This
+% does not check that the \meta{fparray~var} really is a floating
+% point array variable.
% \end{function}
%
% \end{documentation}
@@ -389,6 +408,16 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}[pTF]{\fparray_if_exist:N, \fparray_if_exist:c}
+% Copies of the \texttt{cs} functions defined in \pkg{l3basics}.
+% \begin{macrocode}
+\prg_new_eq_conditional:NNn \fparray_if_exist:N \cs_if_exist:N
+ { TF , T , F , p }
+\prg_new_eq_conditional:NNn \fparray_if_exist:c \cs_if_exist:c
+ { TF , T , F , p }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/required/l3kernel/l3int.dtx
index 9fa2a547ff..a1c9458436 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/required/l3kernel/l3intarray.dtx
index 5704a2ab75..bbc41c0cdb 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/required/l3kernel/l3intarray.dtx
@@ -44,14 +44,12 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
% \begin{documentation}
%
-% \section{\pkg{l3intarray} documentation}
-%
% For applications requiring heavy use of integers, this module provides
% arrays which can be accessed in constant time (contrast \pkg{l3seq},
% where access time is linear). These arrays have several important
@@ -66,6 +64,8 @@
% The use of \texttt{intarray} data is therefore recommended for cases where
% the need for fast access is of paramount importance.
%
+% \section{Creating and initialising integer array variables}
+%
% \begin{function}[added = 2018-03-29]{\intarray_new:Nn, \intarray_new:cn}
% \begin{syntax}
% \cs{intarray_new:Nn} \meta{intarray~var} \Arg{size}
@@ -76,14 +76,27 @@
% always global.
% \end{function}
%
-% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
+% \begin{function}[added = 2018-05-04]
+% {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn}
% \begin{syntax}
-% \cs{intarray_count:N} \meta{intarray~var}
+% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist}
% \end{syntax}
-% Expands to the number of entries in the \meta{integer array variable}.
-% Contrarily to \cs{seq_count:N} this is performed in constant time.
+% Creates a new constant \meta{integer array variable} or raises an
+% error if the name is already taken. The \meta{integer array
+% variable} is set (globally) to contain as its items the results of
+% evaluating each \meta{integer expression} in the \meta{comma list}.
% \end{function}
%
+% \begin{function}[added = 2018-05-04]{\intarray_gzero:N, \intarray_gzero:c}
+% \begin{syntax}
+% \cs{intarray_gzero:N} \meta{intarray~var}
+% \end{syntax}
+% Sets all entries of the \meta{integer array variable} to zero.
+% Assignments are always global.
+% \end{function}
+%
+% \section{Adding data to integer arrays}
+%
% \begin{function}[added = 2018-03-29]{\intarray_gset:Nnn, \intarray_gset:cnn}
% \begin{syntax}
% \cs{intarray_gset:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
@@ -96,25 +109,18 @@
% global.
% \end{function}
%
-% \begin{function}[added = 2018-05-04]
-% {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn}
-% \begin{syntax}
-% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist}
-% \end{syntax}
-% Creates a new constant \meta{integer array variable} or raises an
-% error if the name is already taken. The \meta{integer array
-% variable} is set (globally) to contain as its items the results of
-% evaluating each \meta{integer expression} in the \meta{comma list}.
-% \end{function}
+% \section{Couting entries in integer arrays}
%
-% \begin{function}[added = 2018-05-04]{\intarray_gzero:N, \intarray_gzero:c}
+% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
% \begin{syntax}
-% \cs{intarray_gzero:N} \meta{intarray~var}
+% \cs{intarray_count:N} \meta{intarray~var}
% \end{syntax}
-% Sets all entries of the \meta{integer array variable} to zero.
-% Assignments are always global.
+% Expands to the number of entries in the \meta{integer array variable}.
+% Contrarily to \cs{seq_count:N} this is performed in constant time.
% \end{function}
%
+% \section{Using a single entry}
+%
% \begin{function}[EXP, added = 2018-03-29]{\intarray_item:Nn, \intarray_item:cn}
% \begin{syntax}
% \cs{intarray_item:Nn} \meta{intarray~var} \Arg{position}
@@ -134,6 +140,21 @@
% \meta{integer array} is empty, produce an error.
% \end{function}
%
+% \section{Integer array conditional}
+%
+% \begin{function}[pTF, added = 2024-03-31]
+% {\intarray_if_exist:N, \intarray_if_exist:c}
+% \begin{syntax}
+% \cs{intarray_if_exist_p:N} \meta{intarray~var}
+% \cs{intarray_if_exist:NTF} \meta{intarray~var} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether the \meta{intarray~var} is currently defined. This
+% does not check that the \meta{intarray~var} really is an integer
+% array variable.
+% \end{function}
+%
+% \section{Viewing integer arrays}
+%
% \begin{function}[added = 2018-05-04]
% {\intarray_show:N, \intarray_show:c, \intarray_log:N, \intarray_log:c}
% \begin{syntax}
@@ -144,7 +165,7 @@
% terminal or writes them in the log file.
% \end{function}
%
-% \subsection{Implementation notes}
+% \section{Implementation notes}
%
% It is a wrapper around the \tn{fontdimen} primitive, used to store
% arrays of integers (with a restricted range: absolute value at most
@@ -912,6 +933,16 @@ luacmd('@@_gset_range:w', function()
%
% \subsection{Common parts}
%
+% \begin{macro}[pTF]{\intarray_if_exist:N, \intarray_if_exist:c}
+% Copies of the \texttt{cs} functions defined in \pkg{l3basics}.
+% \begin{macrocode}
+\prg_new_eq_conditional:NNn \intarray_if_exist:N \cs_if_exist:N
+ { TF , T , F , p }
+\prg_new_eq_conditional:NNn \intarray_if_exist:c \cs_if_exist:c
+ { TF , T , F , p }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\intarray_show:N, \intarray_show:c, \intarray_log:N, \intarray_log:c}
% Convert the list to a comma list (with spaces after each comma)
% \begin{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/required/l3kernel/l3kernel-functions.dtx
index 480425d730..1706bb594a 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -333,7 +333,21 @@
% higher-level
% functions which have already fully expanded the \meta{file name} and which
% need to perform multiple open or close operations. See for example the
-% implementation of \cs{file_get_full_name:nN},
+% implementation of \cs{ior_shell_open:Nn}.
+% \end{function}
+%
+% \begin{function}{\__kernel_iow_open:Nn, \__kernel_iow_open:No}
+% \begin{syntax}
+% \cs{__kernel_iow_open:Nn} \meta{stream} \Arg{file name}
+% \end{syntax}
+% This function has identical syntax to the public version. However,
+% is does not take precautions against active characters in the
+% \meta{file name}, and it does not attempt to add a \meta{path} to
+% the \meta{file name}: it is therefore intended to be used by
+% higher-level
+% functions which have already fully expanded the \meta{file name} and which
+% need to perform multiple open or close operations. See for example the
+% implementation of \cs{iow_shell_open:Nn}.
% \end{function}
%
% \begin{function}{\__kernel_iow_with:Nnn}
@@ -367,6 +381,17 @@
% |1+2| then this logs |> 1+2=3.|
% \end{function}
%
+% \begin{function}[EXP]{\__kernel_pdf_object_id:n, \__kernel_pdf_object_id_indexed:nn}
+% \begin{syntax}
+% \cs{__kernel_pdf_object_id:n} \Arg{object}
+% \cs{__kernel_pdf_object_id_indexed:nn} \Arg{class} \Arg{number}
+% \end{syntax}
+% Expands to the ID of \meta{object} (or object of \meta{number} within
+% the \meta{class}), in for example page resource allocation. Depending on
+% the backend, the result may be the same as
+% \cs{pdf_object_id:n}/\cs{pdf_object_id_indexed:nn}.
+% \end{function}
+%
% \begin{variable}{\g__kernel_prg_map_int}
% This integer is used by non-expandable mapping functions to track
% the level of nesting in force. The functions
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/required/l3kernel/l3keys.dtx
index 5ea436176f..a1d2c01169 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/required/l3kernel/l3legacy.dtx
index bd56f1ed3a..ed7dadf222 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/required/l3kernel/l3luatex.dtx
index 3d177f6345..f0107d465b 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/required/l3kernel/l3msg.dtx
index 3acae8d111..ab4d882dcb 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/required/l3kernel/l3names.dtx
index 3e78d86acf..468481c28c 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/required/l3kernel/l3news.pdf
index 87f01af5a7..aa26629126 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news.tex b/macros/latex/required/l3kernel/l3news.tex
index b8f0de5c72..b8f0de5c72 100644
--- a/macros/latex/contrib/l3kernel/l3news.tex
+++ b/macros/latex/required/l3kernel/l3news.tex
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf
index 5a6d4af9e2..2eb7750066 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.tex b/macros/latex/required/l3kernel/l3news01.tex
index b4841ac24b..b4841ac24b 100644
--- a/macros/latex/contrib/l3kernel/l3news01.tex
+++ b/macros/latex/required/l3kernel/l3news01.tex
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf
index 8cda69f971..832e6f583d 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.tex b/macros/latex/required/l3kernel/l3news02.tex
index a3d5467c8e..a3d5467c8e 100644
--- a/macros/latex/contrib/l3kernel/l3news02.tex
+++ b/macros/latex/required/l3kernel/l3news02.tex
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf
index f16bb58750..dd6b7e7e9a 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.tex b/macros/latex/required/l3kernel/l3news03.tex
index e3e245f051..e3e245f051 100644
--- a/macros/latex/contrib/l3kernel/l3news03.tex
+++ b/macros/latex/required/l3kernel/l3news03.tex
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf
index 52c33e516a..1d20917d2b 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.tex b/macros/latex/required/l3kernel/l3news04.tex
index a0fc82f3de..a0fc82f3de 100644
--- a/macros/latex/contrib/l3kernel/l3news04.tex
+++ b/macros/latex/required/l3kernel/l3news04.tex
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf
index 1f6bda9687..36c813db4d 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.tex b/macros/latex/required/l3kernel/l3news05.tex
index 43ec2a8d19..43ec2a8d19 100644
--- a/macros/latex/contrib/l3kernel/l3news05.tex
+++ b/macros/latex/required/l3kernel/l3news05.tex
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf
index cd65bce3a6..f0e99f4727 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.tex b/macros/latex/required/l3kernel/l3news06.tex
index 63ee6c7c75..63ee6c7c75 100644
--- a/macros/latex/contrib/l3kernel/l3news06.tex
+++ b/macros/latex/required/l3kernel/l3news06.tex
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf
index 721252a9b0..b9cbba576a 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.tex b/macros/latex/required/l3kernel/l3news07.tex
index 2b433da4c4..2b433da4c4 100644
--- a/macros/latex/contrib/l3kernel/l3news07.tex
+++ b/macros/latex/required/l3kernel/l3news07.tex
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf
index 855db5bdc5..c812ae5e67 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.tex b/macros/latex/required/l3kernel/l3news08.tex
index 17107f8360..17107f8360 100644
--- a/macros/latex/contrib/l3kernel/l3news08.tex
+++ b/macros/latex/required/l3kernel/l3news08.tex
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf
index 5dc3a3b9ad..eff6e741fe 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.tex b/macros/latex/required/l3kernel/l3news09.tex
index 55ed700a2c..55ed700a2c 100644
--- a/macros/latex/contrib/l3kernel/l3news09.tex
+++ b/macros/latex/required/l3kernel/l3news09.tex
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf
index e921d2c81b..4ac02d4684 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.tex b/macros/latex/required/l3kernel/l3news10.tex
index 88291e848f..88291e848f 100644
--- a/macros/latex/contrib/l3kernel/l3news10.tex
+++ b/macros/latex/required/l3kernel/l3news10.tex
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf
index a4866d55e7..27011b2c4b 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.tex b/macros/latex/required/l3kernel/l3news11.tex
index a1fd8a129c..a1fd8a129c 100644
--- a/macros/latex/contrib/l3kernel/l3news11.tex
+++ b/macros/latex/required/l3kernel/l3news11.tex
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf
index 4b6072bca1..86b5ffa063 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.tex b/macros/latex/required/l3kernel/l3news12.tex
index f41e4b3690..f41e4b3690 100644
--- a/macros/latex/contrib/l3kernel/l3news12.tex
+++ b/macros/latex/required/l3kernel/l3news12.tex
diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/required/l3kernel/l3pdf.dtx
index 7ffd0c1c05..b0b17f2690 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -51,6 +51,11 @@
%
% \section{Objects}
%
+% \subsection{Named objects}
+%
+% An \meta{object} name should fully expand to tokens suitable for use in a
+% label-like context.
+%
% \begin{function}[added = 2022-08-23]{\pdf_object_new:n}
% \begin{syntax}
% \cs{pdf_object_new:n} \Arg{object}
@@ -62,7 +67,7 @@
% \begin{function}[added = 2022-08-23]
% {\pdf_object_write:nnn, \pdf_object_write:nne}
% \begin{syntax}
-% \cs{pdf_object_write:nn} \Arg{object} \Arg{type} \Arg{content}
+% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
% \meta{type} declared for the object, the format required for the
@@ -83,9 +88,71 @@
% \cs{pdf_object_ref:n} \Arg{object}
% \end{syntax}
% Inserts the appropriate information to reference the \meta{object}
-% in for example page resource allocation
+% in for example page resource allocation. If the \meta{object} does
+% not exist then the function expands to a reference to object zero;
+% no PDF indirect object ever has this number, so this is a marker for
+% error.
+% \end{function}
+%
+% \begin{function}[EXP, pTF, added = 2020-05-15]{\pdf_object_if_exist:n}
+% \begin{syntax}
+% \cs{pdf_object_if_exist_p:n} \Arg{object}
+% \cs{pdf_object_if_exist:nTF} \Arg{object} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether an object with name \Arg{object} has been defined.
+% \end{function}
+%
+% \subsection{Indexed objects}
+%
+% Objects can also be created using a pair of \meta{class} and \emph{index};
+% the \meta{class} argument should expand to character tokens, whilst the
+% \meta{index} is an \meta{int expr} and starts at $1$. For large
+% families of objects, this approach is more efficient than using
+% individual names.
+%
+% \begin{function}[added = 2024-04-01]{\pdf_object_new_indexed:nn}
+% \begin{syntax}
+% \cs{pdf_object_new_indexed:nn} \Arg{class} \Arg{index}
+% \end{syntax}
+% Declares a PDF object of \meta{class} and \meta{index}. The object may be
+% referenced from this point on, and written later using
+% \cs{pdf_object_write_indexed:nnnn}.
% \end{function}
%
+% \begin{function}[added = 2024-04-01]
+% {\pdf_object_write_indexed:nnnn, \pdf_object_write_indexed:nnne}
+% \begin{syntax}
+% \cs{pdf_object_write_indexed:nnnn} \Arg{class} \Arg{index} \Arg{type} \Arg{content}
+% \end{syntax}
+% Writes the \meta{content} as content of the object of \meta{class} and
+% \meta{index}. Depending on the
+% \meta{type} declared for the object, the format required for the
+% \meta{content} will vary
+% \begin{itemize}
+% \item[\texttt{array}] A space-separated list of values
+% \item[\texttt{dict}] Key--value pairs in the form
+% \texttt{/\meta{key} \meta{value}}
+% \item[\texttt{fstream}] Two brace groups: \meta{file name} and
+% \meta{file content}
+% \item[\texttt{stream}] Two brace groups: \meta{attributes (dictionary)}
+% and \meta{stream contents}
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}[EXP, added = 2024-04-01]{\pdf_object_ref_indexed:nn}
+% \begin{syntax}
+% \cs{pdf_object_ref_indexed:nn} \Arg{class} \Arg{index}
+% \end{syntax}
+% Inserts the appropriate information to reference the object of \meta{class}
+% and \meta{index} in for example page resource allocation. If the
+% \meta{class}/\meta{index} combination does
+% not exist then the function expands to a reference to object zero;
+% no PDF indirect object ever has this number, so this is a marker for
+% error.
+% \end{function}
+%
+% \subsection{General functions}
+%
% \begin{function}[added = 2021-02-10]
% {\pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne}
% \begin{syntax}
@@ -119,14 +186,6 @@
% Inserts the appropriate information to reference the \meta{pageobject}.
% \end{function}
%
-% \begin{function}[EXP, pTF, added = 2020-05-15]{\pdf_object_if_exist:n}
-% \begin{syntax}
-% \cs{pdf_object_if_exist_p:n} \Arg{object}
-% \cs{pdf_object_if_exist:nTF} \Arg{object}
-% \end{syntax}
-% Tests whether an object with name \Arg{object} has been defined.
-% \end{function}
-%
% \section{Version}
%
% \begin{function}[pTF, EXP, added = 2021-02-10]{\pdf_version_compare:Nn}
@@ -267,6 +326,10 @@
%<@@=pdf>
% \end{macrocode}
%
+% \begin{macrocode}
+%<*tex>
+% \end{macrocode}
+%
% \begin{variable}{\s_@@_stop}
% Internal scan marks.
% \begin{macrocode}
@@ -311,53 +374,286 @@
%
% \subsection{Objects}
%
+% \begin{variable}{\g_@@_backend_object_int}
+% For returning object numbers.
+% \begin{macrocode}
+\int_new:N \g_@@_backend_object_int
+% \end{macrocode}
+% \end{variable}
+%
% \begin{macro}{\pdf_object_new:n}
% \begin{macro}
% {\pdf_object_write:nnn, \pdf_object_write:nne, \pdf_object_write:nnx}
% \begin{macro}{\pdf_object_ref:n}
-% \begin{macro}
-% {
-% \pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne,
-% \pdf_object_unnamed_write:nx
-% }
-% \begin{macro}{\pdf_object_ref_last:}
-% \begin{macro}[pTF]{\pdf_object_if_exist:n}
+% \begin{macro}{\__kernel_pdf_object_id:n}
% Simple to do: all objects create a constant |int| so it is not a
% backend-specific name.
% \begin{macrocode}
\cs_new_protected:Npn \pdf_object_new:n #1
{
- \@@_backend_object_new:n {#1}
- \cs_new_eq:cc
- { c_@@_backend_object_ \tl_to_str:n {#1} _int }
- { c_@@_object_ \tl_to_str:n {#1} _int }
+ \@@_backend_object_new:
+ \@@_object_record:nN {#1} \g_@@_backend_object_int
}
\cs_new_protected:Npn \pdf_object_write:nnn #1#2#3
{
- \@@_backend_object_write:nnn {#1} {#2} {#3}
+ \exp_args:Ne \@@_backend_object_write:nnn
+ { \@@_object_retrieve:n {#1} } {#2} {#3}
\bool_gset_true:N \g_@@_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nnn { nne , nnx }
-\cs_new:Npn \pdf_object_ref:n #1 { \@@_backend_object_ref:n {#1} }
-\cs_new_protected:Npn \pdf_object_unnamed_write:nn #1#2
+\cs_new:Npn \pdf_object_ref:n #1
{
- \@@_backend_object_now:nn {#1} {#2}
- \bool_gset_true:N \g_@@_init_bool
+ \exp_args:Ne \@@_backend_object_ref:n
+ { \@@_object_retrieve:n {#1} }
}
-\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
-\cs_new:Npn \pdf_object_ref_last: { \@@_backend_object_last: }
+\cs_new:Npn \__kernel_pdf_object_id:n #1
+ {
+ \exp_args:Ne \@@_backend_object_id:n
+ { \@@_object_retrieve:n {#1} }
+ }
+%</tex>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\@@_object_record:nN}
+% \begin{macro}[EXP]{\@@_object_retrieve:n}
+% \begin{macro}{ltx.pdf.object_id}
+% Object mappings are tracked in Lua for \LuaTeX{} as this makes retrieving
+% them much easier; as a result, there is a split in approaches. In Lua we
+% store values in a table indexed by name. The Lua function here is set up
+% to deal with both named and indexed objects: fits the Lua idiom well.
+% \begin{macrocode}
+%<*lua>
+
+local scan_int = token.scan_int
+local scan_string = token.scan_string
+local cprint = tex.cprint
+
+local @@_objects_named = {}
+local @@_objects_indexed = {}
+
+luacmd('@@_object_record:nN', function()
+ local name = scan_string()
+ local n = scan_int()
+ @@_objects_named[name] = n
+end,'protected','global')
+
+local function object_id(name,index)
+ if index then
+ return @@_objects_indexed[name][index] or 0
+ else
+ return @@_objects_named[name] or 0
+ end
+end
+
+luacmd('@@_object_retrieve:n', function()
+ local name = scan_string()
+ return cprint(12,tostring(object_id(name)))
+end,'global')
+
+ltx.pdf = ltx.pdf or {}
+ltx.pdf.object_id = object_id
+
+%</lua>
+% \end{macrocode}
+% Whereas in \TeX{} we use integer constants.
+% \begin{macrocode}
+%<*tex>
+\sys_if_engine_luatex:F
+ {
+ \cs_new_protected:Npn \@@_object_record:nN #1#2
+ {
+ \int_const:cn
+ { c_@@_object_ #1 _int } {#2}
+ }
+ \cs_new:Npn \@@_object_retrieve:n #1
+ {
+ \int_if_exist:cTF { c_@@_object_ #1 _int }
+ {
+ \int_use:c
+ { c_@@_object_ #1 _int }
+ }
+ { 0 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}[pTF,EXP]{\pdf_object_if_exist:n}
+% \begin{macrocode}
\prg_new_conditional:Npnn \pdf_object_if_exist:n #1 { p , T , F , TF }
{
- \int_if_exist:cTF { c_@@_object_ \tl_to_str:n {#1} _int }
- \prg_return_true:
+ \int_compare:nNnTF { \@@_object_retrieve:n {#1} } = 0
\prg_return_false:
+ \prg_return_true:
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\pdf_object_new_indexed:nn}
+% \begin{macro}{\pdf_object_write_indexed:nnnn, \pdf_object_write_indexed:nnne}
+% \begin{macro}[EXP]{\pdf_object_ref_indexed:nn}
+% \begin{macro}[EXP]{\__kernel_pdf_object_id_indexed:nn}
+% Again we split between the common code and the macro- or Lua-based
+% implementation. To make life easier for the Lua route, all of the
+% potential expressions are expanded to braced numbers.
+% \begin{macrocode}
+\cs_new_protected:Npn \pdf_object_new_indexed:nn #1#2
+ {
+ \@@_backend_object_new:
+ \@@_object_record:neN {#1}
+ { \int_eval:n {#2} } \g_@@_backend_object_int
+ }
+\cs_new_protected:Npn \pdf_object_write_indexed:nnnn #1#2#3#4
+ {
+ \exp_args:Ne \@@_backend_object_write:nnn
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } } {#3} {#4}
+ \bool_gset_true:N \g_@@_init_bool
+ }
+\cs_generate_variant:Nn \pdf_object_write_indexed:nnnn { nnne }
+\cs_new:Npn \pdf_object_ref_indexed:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_ref:n
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } }
+ }
+\cs_new:Npn \__kernel_pdf_object_id_indexed:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_id:n
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } }
+ }
+%</tex>
+% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \begin{macro}{\@@_object_record:nnN, \@@_object_record:neN}
+% \begin{macro}[EXP]{\@@_object_retrieve:nn}
+% \begin{macro}{\@@_object_record:NnN}
+% \begin{macro}[EXP]{\@@_object_retrieve:Nn}
+% Again we split for Lua: the same idea as above but with nested tables.
+% As we've arranged above that the \TeX{} code passes a braced number,
+% we can use |tonumber(scan_string())| rather than |scan_int()|
+% for the index.
+% \begin{macrocode}
+%<*lua>
+
+luacmd('@@_object_record:nnN', function()
+ local name = scan_string()
+ local index = tonumber(scan_string())
+ local n = scan_int()
+ @@_objects_indexed[name] = @@_objects_indexed[name] or {}
+ @@_objects_indexed[name][index] = n
+end,'protected','global')
+
+luacmd('@@_object_retrieve:nn', function()
+ local name = scan_string()
+ local index = tonumber(scan_string())
+ return cprint(12,tostring(object_id(name,index)))
+end,'global')
+
+%</lua>
+% \end{macrocode}
+% The non-Lua approach is to divide the range into blocks, and store in integer
+% arrays that can simulate dynamic assignment.
+% \begin{macrocode}
+%<*tex>
+\sys_if_engine_luatex:F
+ {
+ \cs_new_protected:Npn \@@_object_record:nnN #1#2#3
+ {
+ \use:e
+ {
+ \@@_object_record:NnN
+ \@@_object_index_split:nn {#1} {#2}
+ \exp_not:N #3
+ }
+ }
+ \cs_new_protected:Npn \@@_object_record:NnN #1#2#3
+ {
+ \intarray_if_exist:NF #1
+ { \intarray_new:Nn #1 \c_@@_object_block_size_int }
+ \intarray_gset:Nnn #1 {#2} #3
+ }
+ \cs_new:Npn \@@_object_retrieve:nn #1#2
+ {
+ \use:e
+ {
+ \exp_not:N \@@_object_retrieve:Nn
+ \@@_object_index_split:nn {#1} {#2}
+ }
+ }
+ \cs_new:Npn \@@_object_retrieve:Nn #1#2
+ { \intarray_item:Nn #1 {#2} }
+% \end{macrocode}
+% As we want blocks to start from one, and within the block for the top value
+% to be \enquote{in} the block, we do a little bit of manipulation. By shifting
+% down by one, we keep the values \enquote{in} the block, then we adjust the
+% block/index number to get back on track.
+% \begin{macrocode}
+ \cs_new:Npn \@@_object_index_split:nn #1#2
+ {
+ \exp_not:c
+ {
+ g_@@_object_ #1 _
+ \int_eval:n
+ {
+ \int_div_truncate:nn { #2 - 1 }
+ \c_@@_object_block_size_int + 1
+ }
+ _intarray
+ }
+ {
+ \int_eval:n
+ { \int_mod:nn { #2 - 1 } \c_@@_object_block_size_int + 1 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{variable}{\c_@@_object_block_size_int}
+% Sets the block size used for managing indexed objects.
+% \begin{macrocode}
+ \int_const:Nn \c_@@_object_block_size_int { 10000 }
+ }
+% \end{macrocode}
+% \end{variable}
+% \begin{macro}{\@@_object_record:neN}
+% \begin{macro}[EXP]{\@@_object_retrieve:ne}
+% Common variants.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_object_record:nnN { ne }
+\cs_generate_variant:Nn \@@_object_retrieve:nn { ne }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}
+% {
+% \pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne,
+% \pdf_object_unnamed_write:nx
+% }
+% No tracking needed here.
+% \begin{macrocode}
+\cs_new_protected:Npn \pdf_object_unnamed_write:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_now:nn {#1} {#2}
+ \bool_gset_true:N \g_@@_init_bool
+ }
+\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pdf_object_ref_last:}
+% A one-step wrapper for consistency.
+% \begin{macrocode}
+\cs_new:Npn \pdf_object_ref_last: { \@@_backend_object_last: }
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pdf_pageobject_ref:n}
@@ -523,6 +819,10 @@
% \end{macrocode}
%
% \begin{macrocode}
+%</tex>
+% \end{macrocode}
+%
+% \begin{macrocode}
%</package>
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/required/l3kernel/l3prefixes.csv
index 54fb41bdeb..54fb41bdeb 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/required/l3kernel/l3prefixes.csv
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/required/l3kernel/l3prefixes.pdf
index 9b2e9b407e..0506709020 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.tex b/macros/latex/required/l3kernel/l3prefixes.tex
index 6c7cf24244..6c7cf24244 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.tex
+++ b/macros/latex/required/l3kernel/l3prefixes.tex
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/required/l3kernel/l3prg.dtx
index 8bbdd6a587..ea76955d82 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/required/l3kernel/l3prop.dtx
index 878b9eb758..6d8054e956 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -299,15 +299,15 @@
% codes are ignored.
% \end{function}
%
-% \begin{function}
+% \begin{function}[added = 2024-03-30]
% {
-% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
-% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
-% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
-% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
% }
% \begin{syntax}
-% \cs{prop_put_if_new:Nnn} \meta{property list} \Arg{key} \Arg{value}
+% \cs{prop_put_if_not_in:Nnn} \meta{property list} \Arg{key} \Arg{value}
% \end{syntax}
% If the \meta{key} is present in the \meta{property list} then no
% action is taken. Otherwise, a new entry is added as described for
@@ -1358,7 +1358,7 @@
% in the linked case. If |#5| is |#3| itself we have to be careful
% not to lose the data, and we even take the opportunity to skip the
% copying step completely. To keep the correct version of the
-% duplicate keys we use the code underlying \cs{prop_put_if_new:Nnn},
+% duplicate keys we use the code underlying \cs{prop_put_if_not_in:Nnn},
% which involves passing \cs{use_none:nnn} to the auxiliary instead of
% nothing.
% There is no need to check for the case where |#3| is equal to~|#4|
@@ -1940,10 +1940,10 @@
% }
% \begin{macro}[tested = m3prop002]
% {
-% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
-% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
-% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
-% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
% }
% \begin{macro}[tested = m3prop002]
% {
@@ -1965,17 +1965,17 @@
% auxiliary to skip this checking step and avoid getting multiple
% error messages for the same error.
% The \meta{code} (empty for |put| and \cs{use_none:nnn} for
-% |put_if_new|) is placed before the assignment in cases where the key
+% |put_if_not_in|) is placed before the assignment in cases where the key
% is already present, in order to suppress the assignment in the
-% |put_if_new| case.
+% |put_if_not_in| case.
% \begin{macrocode}
\cs_new_protected:Npn \prop_put:Nnn
{ \@@_put:nNNnn { } \cs_set_nopar:Npe }
\cs_new_protected:Npn \prop_gput:Nnn
{ \@@_put:nNNnn { } \cs_gset_nopar:Npe }
-\cs_new_protected:Npn \prop_put_if_new:Nnn
+\cs_new_protected:Npn \prop_put_if_not_in:Nnn
{ \@@_put:nNNnn \use_none:nnn \cs_set_nopar:Npe }
-\cs_new_protected:Npn \prop_gput_if_new:Nnn
+\cs_new_protected:Npn \prop_gput_if_not_in:Nnn
{ \@@_put:nNNnn \use_none:nnn \cs_gset_nopar:Npe }
\cs_generate_variant:Nn \prop_put:Nnn
{
@@ -2005,10 +2005,10 @@
}
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
-\cs_generate_variant:Nn \prop_put_if_new:Nnn
- { NnV , NV , cnV , cV }
-\cs_generate_variant:Nn \prop_gput_if_new:Nnn
- { NnV , NV , cnV , cV }
+\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
+ { NnV , NV , c , cnV , cV }
+\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
+ { NnV , NV , c , cnV , cV }
% \end{macrocode}
% Since the true branch of \cs{@@_split:NnTFn} is used as the
% replacement text of an internal macro, and since the \meta{key} and
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/required/l3kernel/l3quark.dtx
index 000063bc00..6dba950462 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/required/l3kernel/l3regex.dtx
index 395be76907..ce85b56262 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/required/l3kernel/l3seq.dtx
index 5334e8fd88..6be32f7a83 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/required/l3kernel/l3skip.dtx
index 1839c8a2e5..a3d9256223 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/required/l3kernel/l3sort.dtx
index 818f605e07..81a025b474 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/required/l3kernel/l3str-convert.dtx
index be850b3109..75dbdd095b 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/required/l3kernel/l3str.dtx
index 88ad33c74b..efc24fe8ea 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/required/l3kernel/l3styleguide.pdf
index 322b032a67..8b2f592339 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/required/l3kernel/l3styleguide.tex
index a2ffe8d770..da169cd8b1 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/required/l3kernel/l3syntax-changes.pdf
index 2a701d8ec5..1f2f4ca513 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/required/l3kernel/l3syntax-changes.tex
index 7e124576c7..85f83bf0e3 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/required/l3kernel/l3sys.dtx
index feec1232fd..085b5f2c97 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -333,7 +333,7 @@
% not directly available within the \TeX{} run. Note that if restricted
% shell escape is disabled, no results can be obtained.
%
-% \begin{function}[added = 2024-03-08]
+% \begin{function}[added = 2024-03-08, updated = 2024-04-08]
% {\sys_get_query:nN, \sys_get_query:nnN, \sys_get_query:nnnN}
% \begin{syntax}
% \cs{sys_get_query:nN} \Arg{cmd} \Arg{tl var}
@@ -357,6 +357,14 @@
% The \meta{spec} and \meta{options}, if given, are expanded fully
% before passing to the underlying script.
%
+% Spaces in the output are stored as active tokens, allowing them to be
+% replaced by for example a visible space easily. Other non-letter
+% characters in the ASCII range are set to category code~12. The category
+% codes for characters out of the ASCII range are left unchanged: typically
+% this will mean that with an 8-bit engine, accented values can be typeset
+% directly whilst in Unicode engines, standard category code setup will
+% apply.
+%
% If more than one line of text is returned by the \meta{cmd}, these will be
% separated by character~13 (|^^M|) tokens of category code~12. In most
% cases, \cs{sys_split_query:nnnN} should be preferred when multi-line
@@ -1161,7 +1169,7 @@ end
{ \sys_get_query:nnnN {#1} { } {#2} #3 }
\cs_new_protected:Npn \sys_get_query:nnnN #1#2#3#4
{
- \str_clear:N #4
+ \tl_clear:N #4
\@@_get_query_auxi:neeN {#1} {#2} {#3} #4
}
\cs_new:Npn \@@_get_query_auxi:nnnN #1#2#3#4
@@ -1187,10 +1195,13 @@ end
\sys_get_shell:nnN
{ l3sys-query~#1 #2 #3 }
{
- \int_step_inline:nnn { 0 } { `a - 1 }
+ \int_step_inline:nnn { 0 } { `A - 1 }
+ { \char_set_catcode_other:n {##1} }
+ \int_step_inline:nnn { `Z + 1 } { `a - 1 }
{ \char_set_catcode_other:n {##1} }
- \int_step_inline:nnn { `Z + 1 } { 127 }
+ \int_step_inline:nnn { `z + 1 } { 127 }
{ \char_set_catcode_other:n {##1} }
+ \char_set_catcode_active:n { `\ }
\tex_endlinechar:D 13 \scan_stop:
}
\l_@@_tmp_tl
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/required/l3kernel/l3term-glossary.pdf
index 93def3980b..721513e885 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/required/l3kernel/l3term-glossary.tex
index 5db9e83a45..d1b4b0082c 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/required/l3kernel/l3text-case.dtx
index 0547db28b1..5010114fb4 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/required/l3kernel/l3text-map.dtx
index d364c32199..213d8281a9 100644
--- a/macros/latex/contrib/l3kernel/l3text-map.dtx
+++ b/macros/latex/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/required/l3kernel/l3text-purify.dtx
index 8f92c1eae9..a713cd6e40 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/required/l3kernel/l3text.dtx
index 5feff565b9..56c9a5533c 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/required/l3kernel/l3tl-analysis.dtx
index d965050c76..a4141dcfe4 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-build.dtx b/macros/latex/required/l3kernel/l3tl-build.dtx
index 175b7bc24f..859dd5025c 100644
--- a/macros/latex/contrib/l3kernel/l3tl-build.dtx
+++ b/macros/latex/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -73,7 +73,8 @@
% \end{syntax}
% Clears the \meta{tl~var} and sets it up to support other
% \cs[no-index]{tl_build_\ldots{}} functions. Until \cs{tl_build_end:N}
-% \meta{tl~var} is called, applying any function from \pkg{l3tl} other
+% \meta{tl~var} or \cs{tl_build_gend:N} \meta{tl~var} is called,
+% applying any function from \pkg{l3tl} other
% than \cs[no-index]{tl_build_\ldots{}} will lead to incorrect
% results. The |begin| and |gbegin| functions must be used for local
% and global \meta{tl~var} respectively.
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/required/l3kernel/l3tl.dtx
index 0938e7cd5e..30e16636e5 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/required/l3kernel/l3token.dtx
index cd538ee6d0..a38860b548 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -2298,7 +2298,7 @@
% is not a primitive.
%
% For \LuaTeX{} we use a different implementation which just looks at the
-% command code for the token and compaes it to a list of non-primitives.
+% command code for the token and compares it to a list of non-primitives.
% Again, \tn{nullfont} is a special case because it is the only primitive
% with the normally non-primitive |set_font| command code.
%
@@ -2345,11 +2345,11 @@ do
[cmd'outer_call' or cmd'tolerant_call'] = true,
[cmd'long_outer_call' or cmd'tolerant_protected_call'] = true,
[cmd'assign_glue' or cmd'register_glue'] = index_not_nil,
- [cmd'assign_mu_glue' or cmd'register_mu_glue'] = index_not_nil,
+ [cmd'assign_mu_glue' or cmd'register_mu_glue' or cmd'register_muglue'] = index_not_nil,
[cmd'assign_toks' or cmd'register_toks'] = index_not_nil,
- [cmd'assign_int' or cmd'register_int'] = index_not_nil,
+ [cmd'assign_int' or cmd'register_int' or cmd'register_integer'] = index_not_nil,
[cmd'assign_attr' or cmd'register_attribute'] = true,
- [cmd'assign_dimen' or cmd'register_dimen'] = index_not_nil,
+ [cmd'assign_dimen' or cmd'register_dimen' or cmd'register_dimension'] = index_not_nil,
}
luacmd("@@_if_primitive_lua:N", function()
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/required/l3kernel/l3unicode.dtx
index cd552800b0..0ee6858f5b 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -82,7 +82,7 @@
% range, the generated character tokens will be active (category code
% $13$); for codepoints in the ASCII range, the given \meta{catcode}
% will be used. To allow the result of this function to be used
-% inside a expansion context, the result is protected by \cs{exp_not:n}.
+% inside an expansion context, the result is protected by \cs{exp_not:n}.
%
% \begin{texnote}
% Users of (u)p\TeX{} note that these engines are treated as $8$-bit in
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/required/l3kernel/source3.pdf
index c6a6396503..9dda7182f4 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/required/l3kernel/source3.tex
index c09d75767b..f0aaeb20c8 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/source3body.tex b/macros/latex/required/l3kernel/source3body.tex
index 8471296227..8471296227 100644
--- a/macros/latex/contrib/l3kernel/source3body.tex
+++ b/macros/latex/required/l3kernel/source3body.tex
diff --git a/macros/luatex/generic/luamplib/Makefile b/macros/luatex/generic/luamplib/Makefile
index a842e2c30b..f41c9a6339 100644
--- a/macros/luatex/generic/luamplib/Makefile
+++ b/macros/luatex/generic/luamplib/Makefile
@@ -36,14 +36,14 @@ world: all ctan
.PHONY: all doc unpack ctan tds check world
%.pdf: %.dtx
- latexmk -lualatex -recorder- -silent $< >/dev/null
+ @texfot --quiet --tee=/dev/null --ignore "^Overfull" --ignore "^Underfull" lualatex -recorder $<
$(UNPACKED): $(DTX)
luatex -interaction=batchmode $< >/dev/null
check: $(UNPACKED)
- luatex -interaction=batchmode test-$(NAME)-plain.tex >/dev/null
- lualatex -interaction=batchmode test-$(NAME)-latex.tex >/dev/null
+ @texfot --quiet --tee=/dev/null luatex -interaction=batchmode test-$(NAME)-plain.tex
+ @texfot --quiet --tee=/dev/null lualatex -interaction=batchmode test-$(NAME)-latex.tex
! grep "blank space" test-$(NAME)-plain.log
! grep "blank space" test-$(NAME)-latex.log
diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS
index 905444e354..fdae6fc90c 100644
--- a/macros/luatex/generic/luamplib/NEWS
+++ b/macros/luatex/generic/luamplib/NEWS
@@ -1,5 +1,77 @@
History of the luamplib package
+2024/05/10 2.30.0
+ * provide a new metapost operator 'mplibglyph', which returns a metapost
+ picture containing outline paths of a glyph in opentype, truetype or type1
+ fonts. When a type1 font is specified, metapost primitive 'glyph' will be
+ called. In the syntax as follows, subfont number is zero based.
+
+ mplibglyph 50 of \fontid\font % slot 50 of current font
+ mplibglyph 50 of "cmr10" % type1 font
+ mplibglyph "Q" of "TU/TeXGyrePagella(0)/m/n/10" % TeX fontname
+ mplibglyph "똠" of "NotoSansCJKkr-Regular.otf" % raw filename
+ mplibglyph "Q" of "Times.ttc(2)" % subfont number
+ mplibglyph "똠" of "SourceHanSansK-VF.otf[Regular]" % instance name
+
+ * provide a new metapost command 'mplibdrawglyph'. In contrast to metapost's
+ 'draw' command, this one fills paths of a picture according to the Nonzero
+ Winding Number Rule.
+
+ * in 'mplibgraphictext', option 'scale' is deprecated and now a synonym of
+ 'scaled'. In DVI mode, unicode-math package is needed for math formula
+ graphictext.
+
+2024/05/01 2.29.0
+
+ * provide new TeX macros to reduce typing toil.
+
+ \mpfig ... \endmpfig is roughly the abbreviation of
+ \begin{mplibcode}[@mpfig]
+ beginfig(0)
+ token list declared by \everymplib[@mpfig]
+ ...
+ token list declared by \everyendmplib[@mpfig]
+ endfig;
+ \end{mplibcode}
+
+ \mpfig* ... \endmpfig is roughly the abbreviation of
+ \begin{mplibcode}[@mpfig]
+ ...
+ \end{mplibcode}
+
+ These macros are protected and unexpandable.
+ In these macros \mpliblegacybehavior{false} is forcibly declared.
+ As both share the same instance name, MetaPost codes are inherited among them.
+ The instance name (default: @mpfig) can be changed by redefining `\mpfiginstancename'.
+
+ * instance names are allowed in plain TeX as well. The syntax is:
+
+ \mplibcode[name] ... \endmplibcode
+ \everymplib[name]{ ... }
+ \everyendmplib[name]{ ... }
+
+ These macros are now protected and unexpandable.
+
+ * provide new MetaPost operators `mplibtexcolor' and `mplibrgbtexcolor'
+ which convert TeX color expressions to MetaPost color expressions.
+ The latter one forces rgb model results (#112). For instance,
+
+ mplibtexcolor "olive" % => (0, 0, 1, 0.5)
+ mplibrgbtexcolor "olive" % => (0.5, 0.5, 0)
+
+ As spot colors are always forced to cmyk or rgb model, it is not
+ recommended to use these operators for them.
+
+ * write down MetaPost messages into the log file
+
+2024/04/25 2.28.2
+ * direction of figure box is explicitly declared as TLT (#129)
+ * figure box materials are emitted in one go at the end of the figure
+ (to enable tex.runtoks in spot color shading routine)
+
+2024/04/19 2.28.1
+ * fix spot color shading routine
+
2024/04/12 2.28.0
* provide a new metapost operator 'mplibgraphictext', which is similar
to ConTeXt's 'graphictext'. But the syntax is not the same:
@@ -64,11 +136,11 @@
2024/03/01 2.26.0
* when \mplibcachedir{<dir>} is not set, default cache directory will
be in the following order:
- $TEXMFVAR/luamplib_cache
- $TEXMF_OUTPUT_DIRECTORY/luamplib_cache
- ./luamplib_cache
- $TEXMFOUTPUT/luamplib_cache
- .
+ $TEXMFVAR/luamplib_cache
+ $TEXMF_OUTPUT_DIRECTORY/luamplib_cache
+ ./luamplib_cache
+ $TEXMFOUTPUT/luamplib_cache
+ .
2024/01/25 2.25.3
* protect "..." even if textextlabel is disabled (revert part of v2.25.0)
diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx
index eacb425835..e5b4adbb5e 100644
--- a/macros/luatex/generic/luamplib/luamplib.dtx
+++ b/macros/luatex/generic/luamplib/luamplib.dtx
@@ -85,7 +85,7 @@ See source file '\inFileName' for licencing and contact information.
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{luamplib.drv}%
- [2024/04/12 v2.28.0 Interface for using the mplib library]%
+ [2024/05/10 v2.30.0 Interface for using the mplib library]%
\documentclass{ltxdoc}
\usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace}
\usepackage[x11names]{xcolor}
@@ -153,7 +153,7 @@ See source file '\inFileName' for licencing and contact information.
% \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\
% Maintainer: LuaLaTeX Maintainers ---
% Support: \email{lualatex-dev@tug.org}}
-% \date{2024/04/12 v2.28.0}
+% \date{2024/05/10 v2.30.0}
%
% \maketitle
%
@@ -209,6 +209,41 @@ See source file '\inFileName' for licencing and contact information.
% setting. (Actually these commands redefine |\prependtomplibbox|. You
% can define this command with anything suitable before a box.)
%
+% \paragraph{\cs{mpfig} \ldots\ \cs{endmpfig}}
+% Since v2.29 we provide unexpandable \TeX\ macros |\mpfig ... \endmpfig| and its starred version
+% |\mpfig* ... \endmpfig| to save typing toil.
+% The first is roughly the same as follows:
+% \begin{verbatim}
+% \begin{mplibcode}[@mpfig]
+% beginfig(0)
+% token list declared by \everymplib[@mpfig]
+% ...
+% token list declared by \everyendmplib[@mpfig]
+% endfig;
+% \end{mplibcode}
+% \end{verbatim}
+% and the starred version is roughly the same as follows:
+% \begin{verbatim}
+% \begin{mplibcode}[@mpfig]
+% ...
+% \end{mplibcode}
+% \end{verbatim}
+% In these macros |\mpliblegacybehavior{disable}| (see below)
+% is forcibly declared.
+% And as both share the same instance name, metapost codes are inherited among them.
+% A simple example:
+% \begin{verbatim}
+% \mpfig* input boxes \endmpfig
+% \everymplib[@mpfig]{ drawoptions(withcolor .5[red,white]); }
+% \mpfig circleit.a(btex Box 1 etex); drawboxed(a); \endmpfig
+% \end{verbatim}
+% The instance name (default: |@mpfig|) can be changed by redefining
+% \cs{mpfiginstancename}, after which a new MPlib instance will start and
+% code inheritance too will begin anew. |\let\mpfiginstancename\empty| will
+% prevent code inheritance if |\mplibcodeinherit{true}| (see below) is not declared.\footnote{%
+% As for user setting values, |enable|, |true|, |yes| are identical, and
+% |disable|, |false|, |no| are identical.}
+%
% \paragraph{\cs{mpliblegacybehavior\{enable\}}}
% By default, |\mpliblegacybehavior{enable}| is already declared,
% in which case
@@ -326,9 +361,10 @@ See source file '\inFileName' for licencing and contact information.
% each code chunks being treated as an independent instance, and never
% affected by previous code chunks.
%
-% \paragraph{Separate instances for \LaTeX{} environment}
+% \paragraph{Separate instances for \LaTeX{} and plain \TeX}
% v2.22 has added the support for several named MetaPost instances
% in \LaTeX{} |mplibcode| environment.
+% (And since v2.29 plain \TeX\ users can use this functionality as well.)
% Syntax is like so:
% \begin{verbatim}
% \begin{mplibcode}[instanceName]
@@ -378,7 +414,8 @@ See source file '\inFileName' for licencing and contact information.
% \endmplibcode
% \end{verbatim}
% Generally speaking, it is recommended to turn |mplibglobaltextext|
-% always on, because it has the advantage of more efficient processing.
+% always on, because it has the advantage of reusing metapost pictures
+% among code chunks.
% But everything has its downside: it will waste more memory resources.
%
% \paragraph{\cs{mplibverbatim}}
@@ -423,26 +460,94 @@ See source file '\inFileName' for licencing and contact information.
% As backslashes (|\|) should be escaped by users, it would be easier to use
% slashes (|/|) instead.
%
+% \paragraph{\texttt{mplibtexcolor}, \texttt{mplibrgbtexcolor}}
+% |mplibtexcolor| is a metapost operator that converts a \TeX\ color expression
+% to a MetaPost color expression. For instance:
+% \begin{verbatim}
+% color col;
+% col := mplibtexcolor "olive!50";
+% \end{verbatim}
+% The result may vary in its color model (gray/rgb/cmyk)
+% according to the given \TeX\ color. (Spot colors are forced to
+% cmyk model, so this operator is not recommended for spot colors.)
+% Therefore the example shown above would raise a metapost error:
+% |cmykcolor col;| should have been declared.
+% By contrast, |mplibrgbtexcolor| always returns rgb model expressions.
+%
% \paragraph{\texttt{mplibgraphictext}}
% For some amusement, luamplib provides its own metapost operator
% |mplibgraphictext|, the effect of which is similar to that of
% \ConTeXt's |graphictext|. However syntax is somewhat different.
% \begin{verbatim}
-% mplibgraphictext "Funny"
-% fakebold 2.3 scale 3 % fontspec options
-% drawcolor .7blue fillcolor "red!50" % color expressions
+% mplibgraphictext "Funny"
+% fakebold 2.3 % fontspec option
+% drawcolor .7blue fillcolor "red!50" % color expressions
% \end{verbatim}
-% |fakebold|, |scale|, |drawcolor| and |fillcolor| are optional;
-% default values are |2|, |1|, |"black"| and |"white"| respectively.
+% |fakebold|, |drawcolor| and |fillcolor| are optional;
+% default values are |2|, |"black"| and |"white"| respectively.
% When color expressions are given as string, they are regarded as
% xcolor's or l3color's expressions (this is the same with shading colors).
+% From v2.30, |scale| option is deprecated and is now a synonym of |scaled|.
% All from |mplibgraphictext| to the end of sentence will compose an
% anonymous |picture|, which can be drawn or assigned to a variable.
% Incidentally, |withdrawcolor| and |withfillcolor| are synonyms of
% |drawcolor| and |fillcolor|, hopefully to be compatible with |graphictext|.
% \textsc{n.b.} Because luamplib's current implementation is quite different
% from the \ConTeXt's, there are some limitations such that you can't
-% apply shading (gradient colors) to the text.
+% apply shading (gradient colors) to the text (But see below).
+% In DVI mode, |unicode-math| package is needed for math formula graphictext,
+% as we cannot embolden type1 fonts in DVI mode.
+%
+% \paragraph{\texttt{mplibglyph}, \texttt{mplibdrawglyph}}
+% From v2.30, we provide a new metapost operator |mplibglyph|, which returns a metapost picture
+% containing outline paths of a glyph in opentype, truetype or type1 fonts.
+% When a type1 font is specified, metapost primitive |glyph| will be called.
+% \begin{verbatim}
+% mplibglyph 50 of \fontid\font % slot 50 of current font
+% mplibglyph "Q" of "TU/TeXGyrePagella(0)/m/n/10" % TeX fontname
+% mplibglyph "Q" of "texgyrepagella-regular.otf" % raw filename
+% mplibglyph "Q" of "Times.ttc(2)" % subfont number
+% mplibglyph "Q" of "SourceHanSansK-VF.otf[Regular]" % instance name
+% \end{verbatim}
+% Both arguments before and after of ``|of|'' can be either a number or a string.
+% Number arguments are regarded as a glyph slot (GID) and a font id number, repectively.
+% String argument at the left side is regarded as a glyph name in the font or a unicode character.
+% String argument at the right side is regarded as a \TeX\ fontname (without backslash) or
+% the raw filename of a font. When it is a font filename, a number within parentheses
+% after the filename denotes a
+% subfont number (starting from zero) of a TTC font; a string within brackets denotes
+% an instance name of a variable font.
+%
+% The returned picture will be quite similar to the result of |glyph| primitive in its structure.
+% So, metapost's |draw| command will fill the inner path of the picture with background color.
+% In contrast, |mplibdrawglyph| command fills the paths according to the Nonzero Winding
+% Number Rule. As a result, for instance, the area surrounded by inner path of ``O''
+% will remain transparent.
+%
+% We can adapt the method used in |mplibdrawglyph| to multiple pictures as if they were
+% components of one and the same picture. An example:
+% \begin{verbatim}
+% \mplibsetformat{metafun}
+% \mpfig
+% picture Q, u, e;
+% Q := mplibglyph "Q" of "Times.ttc(2)" scaled .15;
+% u := mplibglyph "u" of "Times.ttc(2)" scaled .15 shifted lrcorner Q;
+% e := mplibglyph "e" of "Times.ttc(2)" scaled .15 shifted lrcorner u;
+%
+% i:=0;
+% totallen := length Q + length u + length e;
+% for pic=Q, u, e:
+% for item within pic:
+% i:=i+1;
+% fill pathpart item
+% if i < totallen: withpostscript "collect"; fi
+% endfor
+% endfor
+% withshademethod "linear"
+% withshadedirection (0.5,2.5)
+% withshadecolors (.7red,.7yellow);
+% \endmpfig
+% \end{verbatim}
%
% \paragraph{About figure box metrics}
% Notice that, after each figure is processed, macro \cs{MPwidth} stores
@@ -476,8 +581,8 @@ See source file '\inFileName' for licencing and contact information.
luatexbase.provides_module {
name = "luamplib",
- version = "2.28.0",
- date = "2024/04/12",
+ version = "2.30.0",
+ date = "2024/05/10",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -520,9 +625,15 @@ local function termorlog (target, text, kind)
end
end
-local warn = function(...) termorlog("term and log", format(...)) end
-local info = function(...) termorlog("log", format(...)) end
-local err = function(...) termorlog("error", format(...)) end
+local function warn (...) -- beware '%' symbol
+ termorlog("term and log", select("#",...) > 1 and format(...) or ...)
+end
+local function info (...)
+ termorlog("log", select("#",...) > 1 and format(...) or ...)
+end
+local function err (...)
+ termorlog("error", select("#",...) > 1 and format(...) or ...)
+end
luamplib.showlog = luamplib.showlog or false
@@ -531,11 +642,9 @@ luamplib.showlog = luamplib.showlog or false
% This module is a stripped down version of libraries that are used by
% \ConTeXt. Provide a few ``shortcuts'' expected by the imported code.
% \begin{macrocode}
-local tableconcat = table.concat
-local texsprint = tex.sprint
-local textprint = tex.tprint
-
-local texget = tex.get
+local tableconcat = table.concat
+local tableinsert = table.insert
+local texsprint = tex.sprint
local texgettoks = tex.gettoks
local texgetbox = tex.getbox
local texruntoks = tex.runtoks
@@ -603,7 +712,7 @@ luamplibtime = luamplibtime and lfsattributes(luamplibtime,"modification")
local currenttime = os.time()
-local outputdir
+local outputdir, cachedir
if lfstouch then
for i,v in ipairs{'TEXMFVAR','TEXMF_OUTPUT_DIRECTORY','.','TEXMFOUTPUT'} do
local var = i == 3 and v or kpse.var_value(v)
@@ -623,7 +732,6 @@ if lfstouch then
end
end
outputdir = outputdir or '.'
-
function luamplib.getcachedir(dir)
dir = dir:gsub("##","#")
dir = dir:gsub("^~",
@@ -631,7 +739,7 @@ function luamplib.getcachedir(dir)
if lfstouch and dir then
if lfsisdir(dir) then
if is_writable(dir) then
- luamplib.cachedir = dir
+ cachedir = dir
else
warn("Directory '%s' is not writable!", dir)
end
@@ -698,9 +806,8 @@ local verbatimtex_etex = name_b.."verbatimtex"..name_e.."%s*(.-)%s*"..name_b.."e
local function replaceinputmpfile (name,file)
local ofmodify = lfsattributes(file,"modification")
if not ofmodify then return file end
- local cachedir = luamplib.cachedir or outputdir
local newfile = name:gsub("%W","_")
- newfile = cachedir .."/luamplib_input_"..newfile
+ newfile = format("%s/luamplib_input_%s", cachedir or outputdir, newfile)
if newfile and luamplibtime then
local nf = lfsattributes(newfile)
if nf and nf.mode == "file" and
@@ -764,7 +871,7 @@ local special_ftype = {
enc = "enc files",
}
-local function finder(name, mode, ftype)
+function luamplib.finder (name, mode, ftype)
if mode == "w" then
if name and name ~= "mpout.log" then
kpse.record_output_file(name) -- recorder
@@ -786,7 +893,6 @@ local function finder(name, mode, ftype)
return file
end
end
-luamplib.finder = finder
% \end{macrocode}
%
@@ -795,11 +901,6 @@ luamplib.finder = finder
% (Don't know which version of MPLib started to support
% |make_text| and |run_script|; let the users find it.)
% \begin{macrocode}
-if tonumber(mplib.version()) <= 1.50 then
- err("luamplib no longer supports mplib v1.50 or lower. "..
- "Please upgrade to the latest version of LuaTeX")
-end
-
local preamble = [[
boolean mplib ; mplib := true ;
let dump = endinput ;
@@ -813,19 +914,17 @@ local preamble = [[
% though we cannot support |metafun| format fully.
% \begin{macrocode}
local currentformat = "plain"
-local function setformat (name)
+function luamplib.setformat (name)
currentformat = name
end
-luamplib.setformat = setformat
% \end{macrocode}
%
% v2.9 has introduced the concept of ``code inherit''
% \begin{macrocode}
luamplib.codeinherit = false
-
local mplibinstances = {}
-local instancename
+local has_instancename = false
local function reporterror (result, prevlog)
if not result then
@@ -894,18 +993,17 @@ local function luamplibload (name)
%
% Append our own MetaPost preamble to the preamble above.
% \begin{macrocode}
- local preamble = preamble .. luamplib.mplibcodepreamble
- if luamplib.legacy_verbatimtex then
- preamble = preamble .. luamplib.legacyverbatimtexpreamble
- end
- if luamplib.textextlabel then
- preamble = preamble .. luamplib.textextlabelpreamble
- end
+ local preamble = tableconcat{
+ format(preamble, replacesuffix(name,"mp")),
+ luamplib.preambles.mplibcode,
+ luamplib.legacy_verbatimtex and luamplib.preambles.legacyverbatimtex or "",
+ luamplib.textextlabel and luamplib.preambles.textextlabel or "",
+ }
local result, log
if not mpx then
result = { status = 99, error = "out of memory"}
else
- result = mpx:execute(format(preamble, replacesuffix(name,"mp")))
+ result = mpx:execute(preamble)
end
log = reporterror(result)
return mpx, result, log
@@ -916,7 +1014,7 @@ end
% Here, excute each |mplibcode| data,
% ie |\begin{mplibcode} ... \end{mplibcode}|.
% \begin{macrocode}
-local function process (data)
+local function process (data, instancename)
% \end{macrocode}
%
% The workaround of issue \#70 seems to be unnecessary, as we use
@@ -930,15 +1028,18 @@ local function process (data)
local currfmt
if instancename and instancename ~= "" then
currfmt = instancename
+ has_instancename = true
else
- currfmt = currentformat..(luamplib.numbersystem or "scaled")
- ..tostring(luamplib.textextlabel)..tostring(luamplib.legacy_verbatimtex)
+ currfmt = tableconcat{
+ currentformat,
+ luamplib.numbersystem or "scaled",
+ tostring(luamplib.textextlabel),
+ tostring(luamplib.legacy_verbatimtex),
+ }
+ has_instancename = false
end
local mpx = mplibinstances[currfmt]
- local standalone = false
- if currfmt ~= instancename then
- standalone = not luamplib.codeinherit
- end
+ local standalone = not (has_instancename or luamplib.codeinherit)
if mpx and standalone then
mpx:finish()
end
@@ -966,6 +1067,11 @@ end
% \end{macrocode}
%
+% |dvipdfmx| is supported, though nobody seems to use it.
+% \begin{macrocode}
+local pdfmode = tex.outputmode > 0
+% \end{macrocode}
+%
% |make_text| and some |run_script| uses \LuaTeX's |tex.runtoks|,
% which made possible running \TeX\ code snippets inside |\directlua|.
% \begin{macrocode}
@@ -986,8 +1092,7 @@ local catat11 = luatexbase.registernumber("catcodetable@atletter")
% \end{verbatim}
% \begin{macrocode}
local function run_tex_code (str, cat)
- cat = cat or catlatex
- texruntoks(function() texsprint(cat, str) end)
+ texruntoks(function() texsprint(cat or catlatex, str) end)
end
% \end{macrocode}
@@ -1001,47 +1106,33 @@ end
% Boxes of an instance will also be global, so that
% their tex boxes can be shared among instances of the same name.
% \begin{macrocode}
-local texboxes = {
- locals = {}, localid = 4096,
- globals = {}, globalid = 0,
-}
+local texboxes = { globalid = 0, localid = 4096 }
% \end{macrocode}
% For conversion of |sp| to |bp|.
% \begin{macrocode}
local factor = 65536*(7227/7200)
-local textext_fmt = [[image(addto currentpicture doublepath unitsquare ]]..
- [[xscaled %f yscaled %f shifted (0,-%f) ]]..
- [[withprescript "mplibtexboxid=%i:%f:%f")]]
+local textext_fmt = 'image(addto currentpicture doublepath unitsquare \z
+xscaled %f yscaled %f shifted (0,-%f) \z
+withprescript "mplibtexboxid=%i:%f:%f")'
local function process_tex_text (str)
if str then
- local boxtable, global
- if instancename and instancename ~= "" then
- texboxes[instancename] = texboxes[instancename] or {}
- boxtable, global = texboxes[instancename], "\\global"
- elseif luamplib.globaltextext or luamplib.codeinherit then
- boxtable, global = texboxes.globals, "\\global"
+ local global = (has_instancename or luamplib.globaltextext or luamplib.codeinherit)
+ and "\\global" or ""
+ local tex_box_id
+ if global == "" then
+ tex_box_id = texboxes.localid + 1
+ texboxes.localid = tex_box_id
else
- boxtable, global = texboxes.locals, ""
- end
- local tex_box_id = boxtable[str]
- local box = tex_box_id and texgetbox(tex_box_id)
- if not box then
- if global == "" then
- tex_box_id = texboxes.localid + 1
- texboxes.localid = tex_box_id
- else
- local boxid = texboxes.globalid + 1
- texboxes.globalid = boxid
- run_tex_code(format(
- [[\expandafter\newbox\csname luamplib.box.%s\endcsname]], boxid))
- tex_box_id = tex.getcount'allocationnumber'
- end
- boxtable[str] = tex_box_id
- run_tex_code(format("%s\\setbox%i\\hbox{%s}", global, tex_box_id, str))
- box = texgetbox(tex_box_id)
+ local boxid = texboxes.globalid + 1
+ texboxes.globalid = boxid
+ run_tex_code(format(
+ [[\expandafter\newbox\csname luamplib.box.%s\endcsname]], boxid))
+ tex_box_id = tex.getcount'allocationnumber'
end
+ run_tex_code(format("%s\\setbox%i\\hbox{%s}", global, tex_box_id, str))
+ local box = texgetbox(tex_box_id)
local wd = box.width / factor
local ht = box.height / factor
local dp = box.depth / factor
@@ -1059,14 +1150,17 @@ end
% Attempt to support l3color as well.
% \begin{macrocode}
local mplibcolorfmt = {
- xcolor = [[\begingroup\let\XC@mcolor\relax]]..
- [[\def\set@color{\global\mplibtmptoks\expandafter{\current@color}}]]..
- [[\color%s\endgroup]],
- l3color = [[\begingroup]]..
- [[\def\__color_select:N#1{\expandafter\__color_select:nn#1}]]..
- [[\def\__color_backend_select:nn#1#2{\global\mplibtmptoks{#1 #2}}]]..
- [[\def\__kernel_backend_literal:e#1{\global\mplibtmptoks\expandafter{\expanded{#1}}}]]..
- [[\color_select:n%s\endgroup]],
+ xcolor = tableconcat{
+ [[\begingroup\let\XC@mcolor\relax]],
+ [[\def\set@color{\global\mplibtmptoks\expandafter{\current@color}}]],
+ [[\color%s\endgroup]],
+ },
+ l3color = tableconcat{
+ [[\begingroup\def\__color_select:N#1{\expandafter\__color_select:nn#1}]],
+ [[\def\__color_backend_select:nn#1#2{\global\mplibtmptoks{#1 #2}}]],
+ [[\def\__kernel_backend_literal:e#1{\global\mplibtmptoks\expandafter{\expanded{#1}}}]],
+ [[\color_select:n%s\endgroup]],
+ },
}
local colfmt = is_defined'color_select:n' and "l3color" or "xcolor"
@@ -1081,16 +1175,15 @@ if colfmt == "l3color" then
"\\endgroup",
}
end
-
local ccexplat = luatexbase.registernumber"luamplibcctabexplat"
-local function process_color (str, filldraw)
+local function process_color (str)
if str then
if not str:find("%b{}") then
str = format("{%s}",str)
end
local myfmt = mplibcolorfmt[colfmt]
- if colfmt == "l3color" and (is_defined"ver@xcolor.sty" or is_defined"ver@color.sty") then
+ if colfmt == "l3color" and is_defined"color" then
if str:find("%b[]") then
myfmt = mplibcolorfmt.xcolor
else
@@ -1105,104 +1198,16 @@ local function process_color (str, filldraw)
end
end
end
- if filldraw and filldraw ~= "shade" and myfmt == mplibcolorfmt.l3color then
- return str
- end
run_tex_code(myfmt:format(str), ccexplat or catat11)
local t = texgettoks"mplibtmptoks"
- if filldraw then return t end
- return format('1 withprescript "MPlibOverrideColor=%s"', t)
+ if not pdfmode and not t:find"^pdf" then
+ t = t:gsub("%a+ (.+)","pdf:bc [%1]")
+ end
+ return format('1 withprescript "mpliboverridecolor=%s"', t)
end
return ""
end
-luamplib.outlinecolor = function (str, filldraw)
- local nn = filldraw == "fill" and 'fn:=' or 'dn:='
- local cc = filldraw == "fill" and 'fc:=' or 'dc:='
- local res = process_color(str, filldraw)
- if res:match"{(.+)}" == str then
- return format('%s"n"; %s"%s";', nn,cc,str)
- end
- local tt, t = res:explode(), { }
- local be = tt[1]:find"^%d" and 1 or 2
- for i=be, #tt do
- if tt[i]:find"^%a" then break end
- table.insert(t, tt[i])
- end
- local md = #t == 1 and 'gray' or #t == 3 and 'rgb' or #t == 4 and 'cmyk'
- return format('%s"nn"; %s"%s}{%s";', nn, cc, md, tableconcat(t,','))
-end
-
-luamplib.shadecolor = function (str)
- local res = process_color(str, "shade")
- if res:find" cs" then -- spot color shade: l3 only
-% \end{macrocode}
-% An example of spot color shading:
-% \begin{verbatim}
-% \DocumentMetadata{ }
-% \documentclass{article}
-% \usepackage{luamplib}
-% \mplibsetformat{metafun}
-% \ExplSyntaxOn
-% \color_model_new:nnn { pantone3005 }
-% { Separation }
-% { name = PANTONE~3005~U ,
-% alternative-model = cmyk ,
-% alternative-values = {1, 0.56, 0, 0}
-% }
-% \color_set:nnn{spotA}{pantone3005}{1}
-% \color_set:nnn{spotB}{pantone3005}{0.6}
-% \color_model_new:nnn { pantone1215 }
-% { Separation }
-% { name = PANTONE~1215~U ,
-% alternative-model = cmyk ,
-% alternative-values = {0, 0.15, 0.51, 0}
-% }
-% \color_set:nnn{spotC}{pantone1215}{1}
-% \color_model_new:nnn { pantone2040 }
-% { Separation }
-% { name = PANTONE~2040~U ,
-% alternative-model = cmyk ,
-% alternative-values = {0, 0.28, 0.21, 0.04}
-% }
-% \color_set:nnn{spotD}{pantone2040}{1}
-% \ExplSyntaxOff
-% \begin{document}
-% \begin{mplibcode}
-% beginfig(1)
-% fill unitsquare xyscaled (\mpdim\textwidth,1cm)
-% withshademethod "linear"
-% withshadevector (0,1)
-% withshadestep (
-% withshadefraction .5
-% withshadecolors ("spotB","spotC")
-% )
-% withshadestep (
-% withshadefraction 1
-% withshadecolors ("spotC","spotD")
-% )
-% ;
-% endfig;
-% \end{mplibcode}
-% \end{document}
-% \end{verbatim}
-% \begin{macrocode}
- run_tex_code({
- [[\color_export:nnN{]], str, [[}{backend}\mplib_@tempa]],
- },ccexplat)
- local name = get_macro'mplib_@tempa':match'{(.-)}{.+}'
- local value = res:explode()[3]
- return format('(%s) withprescript"mplib_spotcolor=%s:%s"', value,str,name)
- end
- local tt, t = res:explode(), { }
- local be = tt[1]:find"^%d" and 1 or 2
- for i=be, #tt do
- if tt[i]:find"^%a" then break end
- table.insert(t, tt[i])
- end
- return t
-end
-
% \end{macrocode}
%
% for \cs{mpdim} or |mplibdimen|
@@ -1219,7 +1224,7 @@ end
% \end{macrocode}
%
% Newly introduced method of processing |verbatimtex ... etex|.
-% Used when |\mpliblegacybehavior{false}| is declared.
+% This function is used when |\mpliblegacybehavior{false}| is declared.
% \begin{macrocode}
local function process_verbatimtex_text (str)
if str then
@@ -1239,11 +1244,6 @@ local tex_code_pre_mplib = {}
luamplib.figid = 1
luamplib.in_the_fig = false
-local function legacy_mplibcode_reset ()
- tex_code_pre_mplib = {}
- luamplib.figid = 1
-end
-
local function process_verbatimtex_prefig (str)
if str then
tex_code_pre_mplib[luamplib.figid] = str
@@ -1277,7 +1277,6 @@ mp.mf_path_reset = mp.mf_path_reset or function() end
mp.mf_finish_saving_data = mp.mf_finish_saving_data or function() end
mp.report = mp.report or info
-
% \end{macrocode}
%
% metafun 2021-03-09 changes crashes luamplib.
@@ -1383,9 +1382,354 @@ end
% \end{macrocode}
%
+% luamplib's metapost color operators
+% \begin{macrocode}
+local function colorsplit (res)
+ local t, tt = { }, res:gsub("[%[%]]",""):explode()
+ local be = tt[1]:find"^%d" and 1 or 2
+ for i=be, #tt do
+ if tt[i]:find"^%a" then break end
+ t[#t+1] = tt[i]
+ end
+ return t
+end
+
+local min = math.min
+luamplib.gettexcolor = function (str, rgb)
+ local res = process_color(str):match'"mpliboverridecolor=(.+)"'
+ if res:find" cs " or res:find"@pdf.obj" then
+ if not rgb then
+ warn("%s is a spot color. Forced to CMYK", str)
+ end
+ run_tex_code({
+ "\\color_export:nnN{",
+ str,
+ "}{",
+ rgb and "space-sep-rgb" or "space-sep-cmyk",
+ "}\\mplib_@tempa",
+ },ccexplat)
+ return get_macro"mplib_@tempa":explode()
+ end
+ local t = colorsplit(res)
+ if #t == 3 or not rgb then return t end
+ if #t == 4 then
+ return { 1 - min(1,t[1]+t[4]), 1 - min(1,t[2]+t[4]), 1 - min(1,t[3]+t[4]) }
+ end
+ return { t[1], t[1], t[1] }
+end
+
+luamplib.shadecolor = function (str)
+ local res = process_color(str):match'"mpliboverridecolor=(.+)"'
+ if res:find" cs " or res:find"@pdf.obj" then -- spot color shade: l3 only
+% \end{macrocode}
+% An example of spot color shading:
+% \begin{verbatim}
+% \documentclass{article}
+% \usepackage{luamplib}
+% \mplibsetformat{metafun}
+% \ExplSyntaxOn
+% \color_model_new:nnn { pantone3005 }
+% { Separation }
+% { name = PANTONE~3005~U ,
+% alternative-model = cmyk ,
+% alternative-values = {1, 0.56, 0, 0}
+% }
+% \color_set:nnn{spotA}{pantone3005}{1}
+% \color_set:nnn{spotB}{pantone3005}{0.6}
+% \color_model_new:nnn { pantone1215 }
+% { Separation }
+% { name = PANTONE~1215~U ,
+% alternative-model = cmyk ,
+% alternative-values = {0, 0.15, 0.51, 0}
+% }
+% \color_set:nnn{spotC}{pantone1215}{1}
+% \color_model_new:nnn { pantone2040 }
+% { Separation }
+% { name = PANTONE~2040~U ,
+% alternative-model = cmyk ,
+% alternative-values = {0, 0.28, 0.21, 0.04}
+% }
+% \color_set:nnn{spotD}{pantone2040}{1}
+% \ExplSyntaxOff
+% \begin{document}
+% \begin{mplibcode}
+% beginfig(1)
+% fill unitsquare xyscaled (\mpdim\textwidth,1cm)
+% withshademethod "linear"
+% withshadevector (0,1)
+% withshadestep (
+% withshadefraction .5
+% withshadecolors ("spotB","spotC")
+% )
+% withshadestep (
+% withshadefraction 1
+% withshadecolors ("spotC","spotD")
+% )
+% ;
+% endfig;
+% \end{mplibcode}
+% \end{document}
+% \end{verbatim}
+% \begin{macrocode}
+ run_tex_code({
+ [[\color_export:nnN{]], str, [[}{backend}\mplib_@tempa]],
+ },ccexplat)
+ local name = get_macro'mplib_@tempa':match'{(.-)}{.+}'
+ local t, obj = res:explode()
+ if pdfmode then
+ obj = t[1]:match"^/(.+)"
+ if ltx.pdf and ltx.pdf.object_id then
+ obj = format("%s 0 R", ltx.pdf.object_id(obj))
+ else
+ run_tex_code({
+ [[\edef\mplib_@tempa{\pdf_object_ref:n{]], obj, "}}",
+ },ccexplat)
+ obj = get_macro'mplib_@tempa'
+ end
+ else
+ obj = t[2]
+ end
+ local value = t[3]:match"%[(.-)%]" or t[3]
+ return format('(%s) withprescript"mplib_spotcolor=%s:%s"', value,obj,name)
+ end
+ return colorsplit(res)
+end
+
+% \end{macrocode}
+%
+% luamplib's mplibgraphictext operator
+% \begin{macrocode}
+local emboldenfonts = { }
+local function embolden (head, fakebold)
+ local curr = head
+ while curr do
+ if curr.head then
+ embolden(curr.head, fakebold)
+ elseif curr.leader and curr.leader.head then
+ embolden(curr.leader.head, fakebold)
+ elseif curr.id == node.id"glyph" and curr.font > 0 then
+ local f = curr.font
+ local i = emboldenfonts[f]
+ if not i then
+ if pdfmode then
+ local ft = font.getcopy(f)
+ ft.mode = 2
+ ft.width = ft.size * fakebold / 6578.176
+ i = font.define(ft)
+ else
+ local ft = font.getfont(f) or font.getcopy(f)
+ if ft.format ~= "opentype" and ft.format ~= "truetype" then
+ goto skip_type1
+ end
+ local name = ft.name:gsub('"',''):gsub(';$','')
+ name = format('%s;embolden=%s',name,fakebold)
+ _, i = fonts.constructors.readanddefine(name,ft.size)
+ end
+ emboldenfonts[f] = i
+ end
+ curr.font = i
+ end
+ ::skip_type1::
+ curr = node.getnext(curr)
+ end
+end
+local function graphictextcolor (col, filldraw)
+ if col:find"^[%d%.:]+$" then
+ col = col:explode":"
+ if pdfmode then
+ local op = #col == 4 and "k" or #col == 3 and "rg" or "g"
+ col[#col+1] = filldraw == "fill" and op or op:upper()
+ return tableconcat(col," ")
+ end
+ return format("[%s]", tableconcat(col," "))
+ end
+ col = process_color(col):match'"mpliboverridecolor=(.+)"'
+ if pdfmode then
+ local t, tt = col:explode(), { }
+ local b = filldraw == "fill" and 1 or #t/2+1
+ local e = b == 1 and #t/2 or #t
+ for i=b,e do
+ tt[#tt+1] = t[i]
+ end
+ return tableconcat(tt," ")
+ end
+ return col:gsub("^.- ","")
+end
+luamplib.graphictext = function (text, fakebold, fc, dc)
+ local fmt = process_tex_text(text):sub(1,-2)
+ local id = tonumber(fmt:match"mplibtexboxid=(%d+):")
+ embolden(texgetbox(id).head, fakebold)
+ local fill = graphictextcolor(fc,"fill")
+ local draw = graphictextcolor(dc,"draw")
+ local bc = pdfmode and "" or "pdf:bc "
+ return format('%s withprescript "mpliboverridecolor=%s%s %s")', fmt, bc, fill, draw)
+end
+
+% \end{macrocode}
+%
+% luamplib's mplibglyph operator
+% \begin{macrocode}
+local function mperr (str)
+ return format("hide(errmessage %q)", str)
+end
+local function getangle (a,b,c)
+ local r = math.deg(math.atan(c.y-b.y, c.x-b.x) - math.atan(b.y-a.y, b.x-a.x))
+ if r > 180 then
+ r = r - 360
+ elseif r < -180 then
+ r = r + 360
+ end
+ return r
+end
+local function turning (t)
+ local r, n = 0, #t
+ for i=1,2 do
+ tableinsert(t, t[i])
+ end
+ for i=1,n do
+ r = r + getangle(t[i], t[i+1], t[i+2])
+ end
+ return r/360
+end
+local function glyphimage(t, fmt)
+ local q,p,r = {{},{}}
+ for i,v in ipairs(t) do
+ local cmd = v[#v]
+ if cmd == "m" then
+ p = {format('(%s,%s)',v[1],v[2])}
+ r = {{x=v[1],y=v[2]}}
+ else
+ local nt = t[i+1]
+ local last = not nt or nt[#nt] == "m"
+ if cmd == "l" then
+ local pt = t[i-1]
+ local seco = pt[#pt] == "m"
+ if (last or seco) and r[1].x == v[1] and r[1].y == v[2] then
+ else
+ tableinsert(p, format('--(%s,%s)',v[1],v[2]))
+ tableinsert(r, {x=v[1],y=v[2]})
+ end
+ if last then
+ tableinsert(p, '--cycle')
+ end
+ elseif cmd == "c" then
+ tableinsert(p, format('..controls(%s,%s)and(%s,%s)',v[1],v[2],v[3],v[4]))
+ if last and r[1].x == v[5] and r[1].y == v[6] then
+ tableinsert(p, '..cycle')
+ else
+ tableinsert(p, format('..(%s,%s)',v[5],v[6]))
+ if last then
+ tableinsert(p, '--cycle')
+ end
+ tableinsert(r, {x=v[5],y=v[6]})
+ end
+ else
+ return mperr"unknown operator"
+ end
+ if last then
+ tableinsert(q[ turning(r) > 0 and 1 or 2 ], tableconcat(p))
+ end
+ end
+ end
+ r = { }
+ if fmt == "opentype" then
+ for _,v in ipairs(q[1]) do
+ tableinsert(r, format('addto currentpicture contour %s;',v))
+ end
+ for _,v in ipairs(q[2]) do
+ tableinsert(r, format('addto currentpicture contour %s withcolor background;',v))
+ end
+ else
+ for _,v in ipairs(q[2]) do
+ tableinsert(r, format('addto currentpicture contour %s;',v))
+ end
+ for _,v in ipairs(q[1]) do
+ tableinsert(r, format('addto currentpicture contour %s withcolor background;',v))
+ end
+ end
+ return format('image(%s)', tableconcat(r))
+end
+if not table.tofile then require"lualibs-lpeg"; require"lualibs-table"; end
+function luamplib.glyph (f, c)
+ local filename, subfont, instance, kind, shapedata
+ local fid = tonumber(f) or font.id(f) -- string: fontname
+ if fid > 0 then
+ local fontdata = font.getfont(fid) or font.getcopy(fid)
+ filename, subfont, kind = fontdata.filename, fontdata.subfont, fontdata.format
+ instance = fontdata.specification and fontdata.specification.instance
+ else
+ local name
+ f = f:match"^%s*(.+)%s*$"
+ name, subfont, instance = f:match"(.+)%((%d+)%)%[(.-)%]$"
+ if not name then
+ name, instance = f:match"(.+)%[(.-)%]$" -- SourceHanSansK-VF.otf[Heavy]
+ end
+ if not name then
+ name, subfont = f:match"(.+)%((%d+)%)$" -- Times.ttc(2)
+ end
+ name = name or f
+ subfont = (subfont or 0)+1
+ instance = instance and instance:lower()
+ for _,ftype in ipairs{"opentype", "truetype"} do
+ filename = kpse.find_file(name, ftype.." fonts")
+ if filename then
+ kind = ftype; break
+ end
+ end
+ end
+ if kind ~= "opentype" and kind ~= "truetype" then
+ f = fid and fid > 0 and tex.fontname(fid) or f
+ if kpse.find_file(f, "tfm") then
+ return format("glyph %s of %q", tonumber(c) or format("%q",c), f)
+ else
+ return mperr"font not found"
+ end
+ end
+ local time = lfsattributes(filename,"modification")
+ local k = format("shapes_%s(%s)[%s]", filename, subfont or "", instance or "")
+ local h = format(string.rep('%02x', 256/8), string.byte(sha2.digest256(k), 1, -1))
+ local newname = format("%s/%s.lua", cachedir or outputdir, h)
+ local newtime = lfsattributes(newname,"modification") or 0
+ if time == newtime then
+ shapedata = require(newname)
+ end
+ if not shapedata then
+ shapedata = fonts and fonts.handlers.otf.readers.loadshapes(filename,subfont,instance)
+ if not shapedata then return mperr"loadshapes() failed. luaotfload not loaded?" end
+ table.tofile(newname, shapedata, "return")
+ lfstouch(newname, time, time)
+ end
+ local gid = tonumber(c)
+ if not gid then
+ local uni = utf8.codepoint(c)
+ for i,v in pairs(shapedata.glyphs) do
+ if c == v.name or uni == v.unicode then
+ gid = i; break
+ end
+ end
+ end
+ if not gid then return mperr"cannot get GID (glyph id)" end
+ local fac = 1000 / (shapedata.units or 1000)
+ local t = shapedata.glyphs[gid].segments
+ if not t then return mperr"glyph has no contour. Maybe blank space" end
+ for i,v in ipairs(t) do
+ if type(v) == "table" then
+ for ii,vv in ipairs(v) do
+ if type(vv) == "number" then
+ t[i][ii] = format("%.0f", vv * fac)
+ end
+ end
+ end
+ end
+ return glyphimage(t, kind)
+end
+
+% \end{macrocode}
+%
% Our MetaPost preambles
% \begin{macrocode}
-local mplibcodepreamble = [[
+luamplib.preambles = {
+ mplibcode = [[
texscriptmode := 2;
def rawtextext (expr t) = runscript("luamplibtext{"&t&"}") enddef;
def mplibcolor (expr t) = runscript("luamplibcolor{"&t&"}") enddef;
@@ -1404,82 +1748,80 @@ if known context_mlib:
(1-mfun_labxf@#-mfun_labyf@#)*llcorner p))
fi
enddef;
- def colordecimals primary c =
- if cmykcolor c:
- decimal cyanpart c & ":" & decimal magentapart c & ":" & decimal yellowpart c & ":" & decimal blackpart c
- elseif rgbcolor c:
- decimal redpart c & ":" & decimal greenpart c & ":" & decimal bluepart c
- elseif string c:
- colordecimals resolvedcolor(c)
- else:
- decimal c
- fi
- enddef;
- def resolvedcolor(expr s) =
- runscript("return luamplib.shadecolor('"& s &"')")
- enddef;
else:
vardef textext@# (text t) = rawtextext (t) enddef;
+ def message expr t =
+ if string t: runscript("mp.report[=["&t&"]=]") else: errmessage "Not a string" fi
+ enddef;
fi
+def resolvedcolor(expr s) =
+ runscript("return luamplib.shadecolor('"& s &"')")
+enddef;
+def colordecimals primary c =
+ if cmykcolor c:
+ decimal cyanpart c & ":" & decimal magentapart c & ":" &
+ decimal yellowpart c & ":" & decimal blackpart c
+ elseif rgbcolor c:
+ decimal redpart c & ":" & decimal greenpart c & ":" & decimal bluepart c
+ elseif string c:
+ if known graphictextpic: c else: colordecimals resolvedcolor(c) fi
+ else:
+ decimal c
+ fi
+enddef;
def externalfigure primary filename =
draw rawtextext("\includegraphics{"& filename &"}")
enddef;
def TEX = textext enddef;
+def mplibtexcolor primary c =
+ runscript("return luamplib.gettexcolor('"& c &"')")
+enddef;
+def mplibrgbtexcolor primary c =
+ runscript("return luamplib.gettexcolor('"& c &"','rgb')")
+enddef;
def mplibgraphictext primary t =
begingroup;
mplibgraphictext_ (t)
enddef;
def mplibgraphictext_ (expr t) text rest =
save fakebold, scale, fillcolor, drawcolor, withfillcolor, withdrawcolor,
- fb, sc, fc, dc, fn, dn, tpic;
- picture tpic; tpic := nullpicture;
- numeric fb, sc; string fc, dc, fn, dn;
- fb:=2; sc:=1; fc:="white"; dc:="black"; fn:=dn:="n";
+ fb, fc, dc, graphictextpic;
+ picture graphictextpic; graphictextpic := nullpicture;
+ numeric fb; string fc, dc; fb:=2; fc:="white"; dc:="black";
+ let scale = scaled;
def fakebold primary c = hide(fb:=c;) enddef;
- def scale primary c = hide(sc:=c;) enddef;
- def fillcolor primary c = hide(
- if string c:
- runscript("return luamplib.outlinecolor('"& c &"','fill')")
- else:
- fn:="nn"; fc:=mpliboutlinecolor_(c);
- fi
- ) enddef;
- def drawcolor primary c = hide(
- if string c:
- runscript("return luamplib.outlinecolor('"& c &"','draw')")
- else:
- dn:="nn"; dc:=mpliboutlinecolor_(c);
- fi
- ) enddef;
+ def fillcolor primary c = hide(fc:=colordecimals c;) enddef;
+ def drawcolor primary c = hide(dc:=colordecimals c;) enddef;
let withfillcolor = fillcolor; let withdrawcolor = drawcolor;
- addto tpic doublepath origin rest; tpic:=nullpicture;
+ addto graphictextpic doublepath origin rest; graphictextpic:=nullpicture;
def fakebold primary c = enddef;
- def scale primary c = enddef;
- def fillcolor primary c = enddef;
- def drawcolor primary c = enddef;
+ let fillcolor = fakebold; let drawcolor = fakebold;
let withfillcolor = fillcolor; let withdrawcolor = drawcolor;
- image(draw rawtextext(
- "{\addfontfeature{FakeBold="& decimal fb &",Scale="& decimal sc &
- "}\csname color_fill:"& fn &"\endcsname{"& fc &
- "}\csname color_stroke:"& dn &"\endcsname{"& dc &
- "}"& t &"}") rest;)
+ image(draw runscript("return luamplib.graphictext([===["&t&"]===],"
+ & decimal fb &",'"& fc &"','"& dc &"')") rest;)
endgroup;
enddef;
-def mpliboutlinecolor_ (expr c) =
- if color c:
- "rgb}{" & decimal redpart c & "," & decimal greenpart c
- & "," & decimal bluepart c
- elseif cmykcolor c:
- "cmyk}{" & decimal cyanpart c & "," & decimal magentapart c
- & "," & decimal yellowpart c & "," & decimal blackpart c
- else:
- "gray}{" & decimal c
- fi
+def mplibglyph expr c of f =
+ runscript (
+ "return luamplib.glyph('"
+ & if numeric f: decimal fi f
+ & "','"
+ & if numeric c: decimal fi c
+ & "')"
+ )
enddef;
-]]
-luamplib.mplibcodepreamble = mplibcodepreamble
-
-local legacyverbatimtexpreamble = [[
+def mplibdrawglyph expr g =
+ draw image(
+ save i; numeric i; i:=0;
+ for item within g:
+ i := i+1;
+ fill pathpart item
+ if i < length g: withpostscript "collect" fi;
+ endfor
+ )
+enddef;
+]],
+ legacyverbatimtex = [[
def specialVerbatimTeX (text t) = runscript("luamplibprefig{"&t&"}") enddef;
def normalVerbatimTeX (text t) = runscript("luamplibinfig{"&t&"}") enddef;
let VerbatimTeX = specialVerbatimTeX;
@@ -1489,10 +1831,8 @@ extra_endfig := extra_endfig & " let VerbatimTeX = specialVerbatimTeX;"&
"runscript(" &ditto&
"if luamplib.in_the_fig then luamplib.figid=luamplib.figid+1 end "&
"luamplib.in_the_fig=false" &ditto& ");";
-]]
-luamplib.legacyverbatimtexpreamble = legacyverbatimtexpreamble
-
-local textextlabelpreamble = [[
+]],
+ textextlabel = [[
primarydef s infont f = rawtextext(s) enddef;
def fontsize expr f =
begingroup
@@ -1501,8 +1841,8 @@ def fontsize expr f =
if size = 0: 10pt else: size fi
endgroup
enddef;
-]]
-luamplib.textextlabelpreamble = textextlabelpreamble
+]],
+}
% \end{macrocode}
%
@@ -1536,76 +1876,69 @@ local function unprotect_expansion (str)
end
end
-luamplib.everymplib = { [""] = "" }
-luamplib.everyendmplib = { [""] = "" }
+luamplib.everymplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
+luamplib.everyendmplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
-local function process_mplibcode (data, instance)
- instancename = instance
- texboxes.locals, texboxes.localid = {}, 4096
+function luamplib.process_mplibcode (data, instancename)
+ texboxes.localid = 4096
% \end{macrocode}
%
-% This is needed for legacy behavior regarding |verbatimtex|
+% This is needed for legacy behavior
% \begin{macrocode}
- legacy_mplibcode_reset()
+ if luamplib.legacy_verbatimtex then
+ luamplib.figid, tex_code_pre_mplib = 1, {}
+ end
- local everymplib = luamplib.everymplib[instancename] or
- luamplib.everymplib[""]
- local everyendmplib = luamplib.everyendmplib[instancename] or
- luamplib.everyendmplib[""]
+ local everymplib = luamplib.everymplib[instancename]
+ local everyendmplib = luamplib.everyendmplib[instancename]
data = format("\n%s\n%s\n%s\n",everymplib, data, everyendmplib)
- data = data:gsub("\r","\n")
+ :gsub("\r","\n")
% \end{macrocode}
-% This three lines are needed for |mplibverbatim| mode.
+% These five lines are needed for |mplibverbatim| mode.
% \begin{macrocode}
if luamplib.verbatiminput then
data = data:gsub("\\mpcolor%s+(.-%b{})","mplibcolor(\"%1\")")
- data = data:gsub("\\mpdim%s+(%b{})", "mplibdimen(\"%1\")")
- data = data:gsub("\\mpdim%s+(\\%a+)","mplibdimen(\"%1\")")
- end
-
- data = data:gsub(btex_etex, function(str)
- return format("btex %s etex ", -- space
- luamplib.verbatiminput and str or protect_expansion(str))
- end)
- data = data:gsub(verbatimtex_etex, function(str)
- return format("verbatimtex %s etex;", -- semicolon
- luamplib.verbatiminput and str or protect_expansion(str))
- end)
-
+ :gsub("\\mpdim%s+(%b{})", "mplibdimen(\"%1\")")
+ :gsub("\\mpdim%s+(\\%a+)","mplibdimen(\"%1\")")
+ :gsub(btex_etex, "btex %1 etex ")
+ :gsub(verbatimtex_etex, "verbatimtex %1 etex;")
% \end{macrocode}
%
% If not |mplibverbatim|, expand |mplibcode| data,
% so that users can use \TeX\ codes in it.
% It has turned out that no comment sign is allowed.
% \begin{macrocode}
- if not luamplib.verbatiminput then
- data = data:gsub("\".-\"", protect_expansion)
-
- data = data:gsub("\\%%", "\0PerCent\0")
- data = data:gsub("%%.-\n","")
- data = data:gsub("%zPerCent%z", "\\%%")
-
+ else
+ data = data:gsub(btex_etex, function(str)
+ return format("btex %s etex ", protect_expansion(str)) -- space
+ end)
+ :gsub(verbatimtex_etex, function(str)
+ return format("verbatimtex %s etex;", protect_expansion(str)) -- semicolon
+ end)
+ :gsub("\".-\"", protect_expansion)
+ :gsub("\\%%", "\0PerCent\0")
+ :gsub("%%.-\n","\n")
+ :gsub("%zPerCent%z", "\\%%")
run_tex_code(format("\\mplibtmptoks\\expandafter{\\expanded{%s}}",data))
data = texgettoks"mplibtmptoks"
% \end{macrocode}
%
% Next line to address issue \#55
% \begin{macrocode}
- data = data:gsub("##", "#")
- data = data:gsub("\".-\"", unprotect_expansion)
- data = data:gsub(btex_etex, function(str)
+ :gsub("##", "#")
+ :gsub("\".-\"", unprotect_expansion)
+ :gsub(btex_etex, function(str)
return format("btex %s etex", unprotect_expansion(str))
end)
- data = data:gsub(verbatimtex_etex, function(str)
+ :gsub(verbatimtex_etex, function(str)
return format("verbatimtex %s etex", unprotect_expansion(str))
end)
end
- process(data)
+ process(data, instancename)
end
-luamplib.process_mplibcode = process_mplibcode
% \end{macrocode}
%
@@ -1640,34 +1973,38 @@ local function getobjects(result,figure,f)
return figure:objects()
end
-local function convert(result, flusher)
+function luamplib.convert (result, flusher)
luamplib.flush(result, flusher)
return true -- done
end
-luamplib.convert = convert
+
+local figcontents = { post = { } }
+local function put2output(a,...)
+ figcontents[#figcontents+1] = type(a) == "string" and format(a,...) or a
+end
local function pdf_startfigure(n,llx,lly,urx,ury)
- texsprint(format("\\mplibstarttoPDF{%f}{%f}{%f}{%f}",llx,lly,urx,ury))
+ put2output("\\mplibstarttoPDF{%f}{%f}{%f}{%f}",llx,lly,urx,ury)
end
local function pdf_stopfigure()
- texsprint("\\mplibstoptoPDF")
+ put2output("\\mplibstoptoPDF")
end
% \end{macrocode}
%
-% |tex.tprint| with catcode regime -2, as sometimes |#| gets doubled
+% |tex.sprint| with catcode regime -2, as sometimes |#| gets doubled
% in the argument of pdfliteral.
% \begin{macrocode}
-local function pdf_literalcode(fmt,...) -- table
- textprint({"\\mplibtoPDF{"},{-2,format(fmt,...)},{"}"})
+local function pdf_literalcode (fmt,...)
+ put2output{-2, format(fmt,...)}
end
local function pdf_textfigure(font,size,text,width,height,depth)
text = text:gsub(".",function(c)
- return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost
+ return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost : false
end)
- texsprint(format("\\mplibtextext{%s}{%f}{%s}{%s}{%f}",font,size,text,0,0))
+ put2output("\\mplibtextext{%s}{%f}{%s}{%s}{%s}",font,size,text,0,0)
end
local bend_tolerance = 131/65536
@@ -1753,25 +2090,18 @@ local function flushconcatpath(path,open)
end
end
-% \end{macrocode}
-%
-% |dvipdfmx| is supported, though nobody seems to use it.
-% \begin{macrocode}
-local pdfoutput = tonumber(texget("outputmode")) or tonumber(texget("pdfoutput"))
-local pdfmode = pdfoutput > 0
-
local function start_pdf_code()
if pdfmode then
pdf_literalcode("q")
else
- texsprint("\\special{pdf:bcontent}") -- dvipdfmx
+ put2output"\\special{pdf:bcontent}"
end
end
local function stop_pdf_code()
if pdfmode then
pdf_literalcode("Q")
else
- texsprint("\\special{pdf:econtent}") -- dvipdfmx
+ put2output"\\special{pdf:econtent}"
end
end
@@ -1800,42 +2130,101 @@ local function put_tex_boxes (object,prescript)
end
start_pdf_code()
pdf_literalcode("%f %f %f %f %f %f cm",sx,rx,ry,sy,tx,ty)
- texsprint(format("\\mplibputtextbox{%i}",n))
+ put2output("\\mplibputtextbox{%i}",n)
stop_pdf_code()
end
end
% \end{macrocode}
%
-% Colors and Transparency
+% Colors
% \begin{macrocode}
-local pdfmanagement = is_defined'pdfmanagement_add:nnn'
-local pdf_objs = {}
-pdf_objs.pgfextgs = "pgf@sys@addpdfresource@extgs@plain"
-
-if pdfmode then
- pdf_objs.getpageres = pdf.getpageresources or function() return pdf.pageresources end
- pdf_objs.setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
-else
- texsprint("\\special{pdf:obj @MPlibTr<<>>}","\\special{pdf:obj @MPlibSh<<>>}")
+local prev_override_color
+local function do_preobj_CR(object,prescript)
+ local override = prescript and prescript.mpliboverridecolor
+ if override then
+ if pdfmode then
+ pdf_literalcode(override)
+ override = nil
+ else
+ put2output("\\special{%s}",override)
+ prev_override_color = override
+ end
+ else
+ local cs = object.color
+ if cs and #cs > 0 then
+ pdf_literalcode(luamplib.colorconverter(cs))
+ prev_override_color = nil
+ elseif not pdfmode then
+ override = prev_override_color
+ if override then
+ put2output("\\special{%s}",override)
+ end
+ end
+ end
+ return override
end
+% \end{macrocode}
+%
+% For transparency and shading
+% \begin{macrocode}
+local pdfmanagement = is_defined'pdfmanagement_add:nnn'
+local pdfobjs, pdfetcs = {}, {}
+pdfetcs.pgfextgs = "pgf@sys@addpdfresource@extgs@plain"
+
local function update_pdfobjs (os)
- local on = pdf_objs[os]
+ local on = pdfobjs[os]
if on then
return on,false
end
if pdfmode then
on = pdf.immediateobj(os)
else
- on = pdf_objs.cnt or 0
+ on = pdfetcs.cnt or 1
texsprint(format("\\special{pdf:obj @mplibpdfobj%s %s}",on,os))
- pdf_objs.cnt = on + 1
+ pdfetcs.cnt = on + 1
end
- pdf_objs[os] = on
+ pdfobjs[os] = on
return on,true
end
+if pdfmode then
+ pdfetcs.getpageres = pdf.getpageresources or function() return pdf.pageresources end
+ pdfetcs.setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
+ pdfetcs.initialize_resources = function (name)
+ local tabname = format("%s_res",name)
+ pdfetcs[tabname] = { }
+ if luatexbase.callbacktypes.finish_pdffile then -- ltluatex
+ local obj = pdf.reserveobj()
+ pdfetcs.setpageres(format("%s/%s %i 0 R", pdfetcs.getpageres() or "", name, obj))
+ luatexbase.add_to_callback("finish_pdffile", function()
+ pdf.immediateobj(obj, format("<<%s>>", tableconcat(pdfetcs[tabname])))
+ end,
+ format("luamplib.%s.finish_pdffile",name))
+ end
+ end
+ pdfetcs.fallback_update_resources = function (name, res)
+ if luatexbase.callbacktypes.finish_pdffile then
+ local t = pdfetcs[format("%s_res",name)]
+ t[#t+1] = res
+ else
+ local tpr, n = pdfetcs.getpageres() or "", 0
+ tpr, n = tpr:gsub(format("/%s<<",name), "%1"..res)
+ if n == 0 then
+ tpr = format("%s/%s<<%s>>", tpr, name, res)
+ end
+ pdfetcs.setpageres(tpr)
+ end
+ end
+else
+ texsprint("\\special{pdf:obj @MPlibTr<<>>}","\\special{pdf:obj @MPlibSh<<>>}")
+end
+
+% \end{macrocode}
+%
+% Transparency
+% \begin{macrocode}
local transparancy_modes = { [0] = "Normal",
"Normal", "Multiply", "Screen", "Overlay",
"SoftLight", "HardLight", "ColorDodge", "ColorBurn",
@@ -1844,96 +2233,67 @@ local transparancy_modes = { [0] = "Normal",
"Compatible",
}
-local function update_tr_res(res,mode,opaq)
+local function update_tr_res(mode,opaq)
+ if pdfetcs.pgfloaded == nil then
+ pdfetcs.pgfloaded = is_defined(pdfetcs.pgfextgs)
+ if pdfmode and not pdfmanagement and not pdfetcs.pgfloaded and not is_defined"TRP@list" then
+ pdfetcs.initialize_resources"ExtGState"
+ end
+ end
local os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
local on, new = update_pdfobjs(os)
- if new then
- if pdfmode then
- if pdfmanagement then
- texsprint(ccexplat,{
- [[\pdfmanagement_add:nnn{Page/Resources/ExtGState}]],
- format("{MPlibTr%s}{%s 0 R}", on, on),
+ if not new then return on end
+ local key = format("MPlibTr%s", on)
+ local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
+ if pdfmanagement then
+ texsprint(ccexplat,
+ format("\\pdfmanagement_add:nnn{Page/Resources/ExtGState}{%s}{%s}", key, val))
+ else
+ local tr = format("/%s %s", key, val)
+ if pdfetcs.pgfloaded then
+ texsprint(format("\\csname %s\\endcsname{%s}", pdfetcs.pgfextgs,tr))
+ elseif pdfmode then
+ if is_defined"TRP@list" then
+ texsprint(catat11,{
+ [[\if@filesw\immediate\write\@auxout{]],
+ [[\string\g@addto@macro\string\TRP@list{]],
+ tr,
+ [[}}\fi]],
})
- else
- local tr = format("/MPlibTr%s %s 0 R",on,on)
- if pdf_objs.pgfloaded then
- texsprint(format("\\csname %s\\endcsname{%s}", pdf_objs.pgfextgs,tr))
- elseif is_defined"TRP@list" then
- texsprint(catat11,{
- [[\if@filesw\immediate\write\@auxout{]],
- [[\string\g@addto@macro\string\TRP@list{]],
- tr,
- [[}}\fi]],
- })
- if not get_macro"TRP@list":find(tr) then
- texsprint(catat11,[[\global\TRP@reruntrue]])
- end
- else
- res = res..tr
+ if not get_macro"TRP@list":find(tr) then
+ texsprint(catat11,[[\global\TRP@reruntrue]])
end
- end
- else
- if pdfmanagement then
- texsprint(ccexplat,{
- [[\pdfmanagement_add:nnn{Page/Resources/ExtGState}]],
- format("{MPlibTr%s}{@mplibpdfobj%s}", on, on),
- })
else
- local tr = format("/MPlibTr%s @mplibpdfobj%s",on,on)
- if pdf_objs.pgfloaded then
- texsprint(format("\\csname %s\\endcsname{%s}", pdf_objs.pgfextgs,tr))
- else
- texsprint(format("\\special{pdf:put @MPlibTr<<%s>>}",tr))
- end
+ pdfetcs.fallback_update_resources("ExtGState", tr)
end
+ else
+ texsprint(format("\\special{pdf:put @MPlibTr<<%s>>}",tr))
+ texsprint"\\special{pdf:put @resources<</ExtGState @MPlibTr>>}"
end
end
- return res,on
+ return on
end
-local function tr_pdf_pageresources(mode,opaq)
- if pdf_objs.pgfloaded == nil then
- pdf_objs.pgfloaded = is_defined(pdf_objs.pgfextgs)
- end
- local res, on_on, off_on = "", nil, nil
- res, off_on = update_tr_res(res, "Normal", 1)
- res, on_on = update_tr_res(res, mode, opaq)
- if pdfmanagement or pdf_objs.pgfloaded or is_defined"TRP@list" then
- return on_on, off_on
- end
- if pdfmode then
- if res ~= "" then
- local tpr, n = pdf_objs.getpageres() or "", 0
- tpr, n = tpr:gsub("/ExtGState<<", "%1"..res)
- if n == 0 then
- tpr = format("%s/ExtGState<<%s>>", tpr, res)
- end
- pdf_objs.setpageres(tpr)
- end
- else
- texsprint"\\special{pdf:put @resources<</ExtGState @MPlibTr>>}"
+local function do_preobj_TR(prescript)
+ local opaq = prescript and prescript.tr_transparency
+ local tron_no
+ if opaq then
+ local mode = prescript.tr_alternative or 1
+ mode = transparancy_modes[tonumber(mode)]
+ tron_no = update_tr_res(mode, opaq)
+ start_pdf_code()
+ pdf_literalcode("/MPlibTr%i gs",tron_no)
end
- return on_on, off_on
+ return tron_no
end
% \end{macrocode}
%
% Shading with |metafun| format.
% \begin{macrocode}
-local function shading_initialize ()
- pdf_objs.shading_res = {}
- if pdfmode and luatexbase.callbacktypes.finish_pdffile then -- ltluatex
- local shading_obj = pdf.reserveobj()
- pdf_objs.setpageres(format("%s/Shading %i 0 R",pdf_objs.getpageres() or "",shading_obj))
- luatexbase.add_to_callback("finish_pdffile", function()
- pdf.immediateobj(shading_obj,format("<<%s>>",tableconcat(pdf_objs.shading_res)))
- end, "luamplib.finish_pdffile")
- end
-end
-
local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,steps,fractions)
- if not pdfmanagement and not pdf_objs.shading_res then
- shading_initialize()
+ if pdfmode and not pdfmanagement and not pdfetcs.Shading_res then
+ pdfetcs.initialize_resources"Shading"
end
local fun2fmt,os = "<</FunctionType 2/Domain [%s]/C0 [%s]/C1 [%s]/N 1>>"
if steps > 1 then
@@ -1965,49 +2325,19 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
format("/Coords [%s]", coordinates),
"/Extend [true true]/AntiAlias true>>",
}
- local on, new
- if colorspace == [[\pdffeedback lastobj 0 R]] then
- on, new = pdf.reserveobj(), true
- texsprint(format([[\immediate\pdfextension obj useobjnum %s{%s}]],on,os))
- else
- on, new = update_pdfobjs(os)
- end
- if pdfmode then
- if new then
- if pdfmanagement then
- texsprint(ccexplat,{
- [[\pdfmanagement_add:nnn{Page/Resources/Shading}]],
- format("{MPlibSh%s}{%s 0 R}", on, on),
- })
- else
- local res = format("/MPlibSh%s %s 0 R", on, on)
- if luatexbase.callbacktypes.finish_pdffile then
- pdf_objs.shading_res[#pdf_objs.shading_res+1] = res
- else
- local pageres = pdf_objs.getpageres() or ""
- if not pageres:find("/Shading<<.*>>") then
- pageres = pageres.."/Shading<<>>"
- end
- pageres = pageres:gsub("/Shading<<","%1"..res)
- pdf_objs.setpageres(pageres)
- end
- end
- end
+ local on, new = update_pdfobjs(os)
+ if not new then return on end
+ local key = format("MPlibSh%s", on)
+ local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
+ if pdfmanagement then
+ texsprint(ccexplat,
+ format("\\pdfmanagement_add:nnn{Page/Resources/Shading}{%s}{%s}", key, val))
else
- if pdfmanagement then
- if new then
- texsprint(ccexplat,{
- [[\pdfmanagement_add:nnn{Page/Resources/Shading}]],
- format("{MPlibSh%s}{@mplibpdfobj%s}", on, on),
- })
- end
+ local res = format("/%s %s", key, val)
+ if pdfmode then
+ pdfetcs.fallback_update_resources("Shading", res)
else
- if new then
- texsprint{
- "\\special{pdf:put @MPlibSh",
- format("<</MPlibSh%s @mplibpdfobj%s>>}",on, on),
- }
- end
+ texsprint(format("\\special{pdf:put @MPlibSh<<%s>>}", res))
texsprint"\\special{pdf:put @resources<</Shading @MPlibSh>>}"
end
end
@@ -2026,64 +2356,18 @@ local function color_normalize(ca,cb)
end
end
-% \end{macrocode}
-%
-% transparency
-% \begin{macrocode}
-local function do_preobj_TR(prescript)
- local opaq = prescript and prescript.tr_transparency
- local tron_no, troff_no
- if opaq then
- local mode = prescript.tr_alternative or 1
- mode = transparancy_modes[tonumber(mode)]
- tron_no, troff_no = tr_pdf_pageresources(mode,opaq)
- pdf_literalcode("/MPlibTr%i gs",tron_no)
- end
- return troff_no
-end
-
-% \end{macrocode}
-%
-% color
-% \begin{macrocode}
-local prev_override_color
-local function do_preobj_CR(object,prescript)
- local override = prescript and prescript.MPlibOverrideColor
- if override then
- if pdfmode then
- pdf_literalcode(override)
- override = nil
- else
- if override:find"^pdf:" then
- texsprint(format("\\special{%s}",override))
- else
- texsprint(format("\\special{color push %s}",override))
- end
- prev_override_color = override
- end
- else
- local cs = object.color
- if cs and #cs > 0 then
- pdf_literalcode(luamplib.colorconverter(cs))
- prev_override_color = nil
- elseif not pdfmode then
- override = prev_override_color
- if override then
- if override:find"^pdf:" then
- texsprint(format("\\special{%s}",override))
- else
- texsprint(format("\\special{color push %s}",override))
- end
- end
- end
- end
- return override
-end
+pdfetcs.clrspcs = setmetatable({ }, { __index = function(t,names)
+ run_tex_code({
+ [[\color_model_new:nnn]],
+ format("{mplibcolorspace_%s}", names:gsub(",","_")),
+ format("{DeviceN}{names={%s}}", names),
+ [[\edef\mplib_@tempa{\pdf_object_ref_last:}]],
+ }, ccexplat)
+ local colorspace = get_macro'mplib_@tempa'
+ t[names] = colorspace
+ return colorspace
+end })
-% \end{macrocode}
-%
-% shading
-% \begin{macrocode}
local function do_preobj_SH(object,prescript)
local shade_no
local sh_type = prescript and prescript.sh_type
@@ -2117,7 +2401,7 @@ local function do_preobj_SH(object,prescript)
end
end
end
- local model, ca, cb, colorspace, steps, fractions = 0
+ local ca, cb, colorspace, steps, fractions
ca = { prescript.sh_color_a_1 or prescript.sh_color_a or {0} }
cb = { prescript.sh_color_b_1 or prescript.sh_color_b or {1} }
steps = tonumber(prescript.sh_step) or 1
@@ -2130,29 +2414,37 @@ local function do_preobj_SH(object,prescript)
end
end
if prescript.mplib_spotcolor then
- local names, last = { }, ""
+ ca, cb = { }, { }
+ local names, pos, objref = { }, -1, ""
local script = object.prescript:explode"\13+"
for i=#script,1,-1 do
if script[i]:find"mplib_spotcolor" then
- local str, name = script[i]:match"mplib_spotcolor=(.-):(.+)"
- if str ~= last then
+ local name, value
+ objref, name = script[i]:match"=(.-):(.+)"
+ value = script[i+1]:match"=(.+)"
+ if not names[name] then
+ pos = pos+1
+ names[name] = pos
names[#names+1] = name
end
- last = str
+ local t = { }
+ for j=1,names[name] do t[#t+1] = 0 end
+ t[#t+1] = value
+ tableinsert(#ca == #cb and ca or cb, t)
end
end
- texsprint(ccexplat,{
- [[\color_model_new:nnn{]], tableconcat(names),
- [[}{DeviceN}{names={]], tableconcat(names,","), [[}}]]
- })
- colorspace = [[\pdffeedback lastobj 0 R]]
- for n,t in ipairs{ca,cb} do
- for i=1,#t do
- for j=1, i+n-2 do table.insert(t[i], j, 0) end
- for j=i+n, #t+1 do table.insert(t[i], j, 0) end
+ for _,t in ipairs{ca,cb} do
+ for _,tt in ipairs(t) do
+ for i=1,#names-#tt do tt[#tt+1] = 0 end
end
end
+ if #names == 1 then
+ colorspace = objref
+ else
+ colorspace = pdfetcs.clrspcs[ tableconcat(names,",") ]
+ end
else
+ local model = 0
for _,t in ipairs{ca,cb} do
for _,tt in ipairs(t) do
model = model > #tt and model or #tt
@@ -2191,23 +2483,11 @@ local function do_preobj_SH(object,prescript)
return shade_no
end
-local function do_postobj_color(tr,over,sh)
- if sh then
- pdf_literalcode("W n /MPlibSh%s sh Q",sh)
- end
- if over then
- texsprint("\\special{color pop}")
- end
- if tr then
- pdf_literalcode("/MPlibTr%i gs",tr)
- end
-end
-
% \end{macrocode}
%
% Finally, flush figures by inserting PDF literals.
% \begin{macrocode}
-local function flush(result,flusher)
+function luamplib.flush (result,flusher)
if result then
local figures = result.fig
if figures then
@@ -2233,14 +2513,11 @@ local function flush(result,flusher)
% \begin{macrocode}
else
% \end{macrocode}
-%
-% For legacy behavior. Insert `pre-fig' \TeX\ code here, and
-% prepare a table for `in-fig' codes.
+% For legacy behavior, insert `pre-fig' \TeX\ code here.
% \begin{macrocode}
if tex_code_pre_mplib[f] then
- texsprint(tex_code_pre_mplib[f])
+ put2output(tex_code_pre_mplib[f])
end
- local TeX_code_bot = {}
pdf_startfigure(fignum,llx,lly,urx,ury)
start_pdf_code()
if objects then
@@ -2251,14 +2528,13 @@ local function flush(result,flusher)
local objecttype = object.type
% \end{macrocode}
%
-% The following 7 lines are part of |btex...etex| patch.
+% The following 6 lines are part of |btex...etex| patch.
% Again, colors are processed at this stage.
% \begin{macrocode}
local prescript = object.prescript
prescript = prescript and script2table(prescript) -- prescript is now a table
- local tr_opaq = do_preobj_TR(prescript)
- local cr_over = do_preobj_CR(object,prescript)
- local shade_no = do_preobj_SH(object,prescript)
+ local cr_over = do_preobj_CR(object,prescript) -- color
+ local tr_opaq = do_preobj_TR(prescript) -- opacity
if prescript and prescript.mplibtexboxid then
put_tex_boxes(object,prescript)
elseif objecttype == "start_bounds" or objecttype == "stop_bounds" then --skip
@@ -2277,7 +2553,7 @@ local function flush(result,flusher)
% Legacy behavior.
% \begin{macrocode}
if prescript and prescript.postmplibverbtex then
- TeX_code_bot[#TeX_code_bot+1] = prescript.postmplibverbtex
+ figcontents.post[#figcontents.post+1] = prescript.postmplibverbtex
end
elseif objecttype == "text" then
local ot = object.transform -- 3,4,5,6,1,2
@@ -2309,6 +2585,11 @@ local function flush(result,flusher)
savedhtap[#savedhtap+1] = object.htap or false
end
else
+% \end{macrocode}
+% Removed from ConTeXt general: color stuff.
+% Added instead : shading stuff
+% \begin{macrocode}
+ local shade_no = do_preobj_SH(object,prescript) -- shading
local ml = object.miterlimit
if ml and ml ~= miterlimit then
miterlimit = ml
@@ -2371,8 +2652,7 @@ local function flush(result,flusher)
flushnormalpath(path,open)
end
% \end{macrocode}
-%
-% Change from ConTeXt general: there was color stuffs.
+% Shading seems to conflict with these ops
% \begin{macrocode}
if not shade_no then -- conflict with shading
if objecttype == "fill" then
@@ -2424,27 +2704,44 @@ local function flush(result,flusher)
stop_pdf_code()
end
end
- end
- end
% \end{macrocode}
%
-% Added to ConTeXt general: color stuff.
-% And execute legacy |verbatimtex| code.
+% Added to ConTeXt general: post-object color and shading stuff.
% \begin{macrocode}
- do_postobj_color(tr_opaq,cr_over,shade_no)
+ if shade_no then -- shading
+ pdf_literalcode("W n /MPlibSh%s sh Q",shade_no)
+ end
+ end
+ end
+ if tr_opaq then -- opacity
+ stop_pdf_code()
+ end
+ if cr_over then -- color
+ put2output"\\special{pdf:ec}"
+ end
end
end
stop_pdf_code()
pdf_stopfigure()
- if #TeX_code_bot > 0 then texsprint(TeX_code_bot) end
+% \end{macrocode}
+% output collected materials to PDF, plus legacy |verbatimtex| code.
+% \begin{macrocode}
+ for _,v in ipairs(figcontents) do
+ if type(v) == "table" then
+ texsprint"\\mplibtoPDF{"; texsprint(v[1], v[2]); texsprint"}"
+ else
+ texsprint(v)
+ end
+ end
+ if #figcontents.post > 0 then texsprint(figcontents.post) end
+ figcontents = { post = { } }
end
end
end
end
end
-luamplib.flush = flush
-local function colorconverter(cr)
+function luamplib.colorconverter (cr)
local n = #cr
if n == 4 then
local c, m, y, k = cr[1], cr[2], cr[3], cr[4]
@@ -2457,7 +2754,6 @@ local function colorconverter(cr)
return format("%.3f g %.3f G",s,s), "0 g 0 G"
end
end
-luamplib.colorconverter = colorconverter
% \end{macrocode}
%
% \iffalse
@@ -2480,7 +2776,7 @@ luamplib.colorconverter = colorconverter
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/04/12 v2.28.0 mplib package for LuaTeX]
+ [2024/05/10 v2.30.0 mplib package for LuaTeX]
\ifx\newluafunction\@undefined
\input ltluatex
\fi
@@ -2492,18 +2788,11 @@ luamplib.colorconverter = colorconverter
\directlua{require("luamplib")}
% \end{macrocode}
%
-% Support older engine. Seems we don't need it, but no harm.
+% legacy commands. Seems we don't need it, but no harm.
% \begin{macrocode}
\ifx\pdfoutput\undefined
\let\pdfoutput\outputmode
- \protected\def\pdfliteral{\pdfextension literal}
\fi
-% \end{macrocode}
-%
-% Unfortuantely there are still packages out there that think it is a good
-% idea to manually set \cs{pdfoutput} which defeats the above branch that
-% defines \cs{pdfliteral}. To cover that case we need an extra check.
-% \begin{macrocode}
\ifx\pdfliteral\undefined
\protected\def\pdfliteral{\pdfextension literal}
\fi
@@ -2523,16 +2812,14 @@ luamplib.colorconverter = colorconverter
\else
\def\mplibtoPDF#1{\special{pdf:literal direct #1}}
\ifcsname PackageInfo\endcsname
- \PackageInfo{luamplib}{take dvipdfmx path, no support for other dvi tools currently.}
+ \PackageInfo{luamplib}{only dvipdfmx is supported currently}
\else
- \write128{}
- \write128{luamplib Info: take dvipdfmx path, no support for other dvi tools currently.}
- \write128{}
+ \immediate\write-1{luamplib Info: only dvipdfmx is supported currently}
\fi
\fi
% \end{macrocode}
%
-% Make |mplibcode| typesetted always in horizontal mode.
+% To make |mplibcode| typeset always in horizontal mode.
% \begin{macrocode}
\def\mplibforcehmode{\let\prependtomplibbox\leavevmode}
\def\mplibnoforcehmode{\let\prependtomplibbox\relax}
@@ -2553,47 +2840,122 @@ luamplib.colorconverter = colorconverter
\def\mplibputtextbox#1{\vbox to 0pt{\vss\hbox to 0pt{\raise\dp#1\copy#1\hss}}}
% \end{macrocode}
%
-% The Plain-specific stuff.
+% simple way to use mplib:
+% |\mpfig draw fullcircle scaled 10; \endmpfig|
% \begin{macrocode}
-\unless\ifcsname ver@luamplib.sty\endcsname
-\def\mplibcode{%
+\def\mpfiginstancename{@mpfig}
+\protected\def\mpfig{%
\begingroup
+ \futurelet\nexttok\mplibmpfigbranch
+}
+\def\mplibmpfigbranch{%
+ \ifx *\nexttok
+ \expandafter\mplibprempfig
+ \else
+ \expandafter\mplibmainmpfig
+ \fi
+}
+\def\mplibmainmpfig{%
\begingroup
\mplibsetupcatcodes
- \mplibdocode
+ \mplibdomainmpfig
}
-\long\def\mplibdocode#1\endmplibcode{%
+\long\def\mplibdomainmpfig#1\endmpfig{%
\endgroup
- \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===],"")}%
+ \directlua{
+ local legacy = luamplib.legacy_verbatimtex
+ local everympfig = luamplib.everymplib["\mpfiginstancename"] or ""
+ local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"] or ""
+ luamplib.legacy_verbatimtex = false
+ luamplib.everymplib["\mpfiginstancename"] = ""
+ luamplib.everyendmplib["\mpfiginstancename"] = ""
+ luamplib.process_mplibcode(
+ "beginfig(0) "..everympfig.." "..[===[\unexpanded{#1}]===].." "..everyendmpfig.." endfig;",
+ "\mpfiginstancename")
+ luamplib.legacy_verbatimtex = legacy
+ luamplib.everymplib["\mpfiginstancename"] = everympfig
+ luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
+ }%
\endgroup
}
-\else
-% \end{macrocode}
-%
-% The \LaTeX-specific part: a new environment.
-% \begin{macrocode}
-\newenvironment{mplibcode}[1][]{%
- \global\def\currentmpinstancename{#1}%
- \mplibtmptoks{}\ltxdomplibcode
-}{}
-\def\ltxdomplibcode{%
+\def\mplibprempfig#1{%
\begingroup
\mplibsetupcatcodes
- \ltxdomplibcodeindeed
+ \mplibdoprempfig
}
-\def\mplib@mplibcode{mplibcode}
-\long\def\ltxdomplibcodeindeed#1\end#2{%
+\long\def\mplibdoprempfig#1\endmpfig{%
+ \endgroup
+ \directlua{
+ local legacy = luamplib.legacy_verbatimtex
+ local everympfig = luamplib.everymplib["\mpfiginstancename"]
+ local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"]
+ luamplib.legacy_verbatimtex = false
+ luamplib.everymplib["\mpfiginstancename"] = ""
+ luamplib.everyendmplib["\mpfiginstancename"] = ""
+ luamplib.process_mplibcode([===[\unexpanded{#1}]===],"\mpfiginstancename")
+ luamplib.legacy_verbatimtex = legacy
+ luamplib.everymplib["\mpfiginstancename"] = everympfig
+ luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
+ }%
\endgroup
- \mplibtmptoks\expandafter{\the\mplibtmptoks#1}%
- \def\mplibtemp@a{#2}%
- \ifx\mplib@mplibcode\mplibtemp@a
- \directlua{luamplib.process_mplibcode([===[\the\mplibtmptoks]===],"\currentmpinstancename")}%
- \end{mplibcode}%
- \else
- \mplibtmptoks\expandafter{\the\mplibtmptoks\end{#2}}%
- \expandafter\ltxdomplibcode
- \fi
}
+\protected\def\endmpfig{endmpfig}
+% \end{macrocode}
+%
+% The Plain-specific stuff.
+% \begin{macrocode}
+\unless\ifcsname ver@luamplib.sty\endcsname
+ \def\mplibcodegetinstancename[#1]{\gdef\currentmpinstancename{#1}\mplibcodeindeed}
+ \protected\def\mplibcode{%
+ \begingroup
+ \futurelet\nexttok\mplibcodebranch
+ }
+ \def\mplibcodebranch{%
+ \ifx [\nexttok
+ \expandafter\mplibcodegetinstancename
+ \else
+ \global\let\currentmpinstancename\empty
+ \expandafter\mplibcodeindeed
+ \fi
+ }
+ \def\mplibcodeindeed{%
+ \begingroup
+ \mplibsetupcatcodes
+ \mplibdocode
+ }
+ \long\def\mplibdocode#1\endmplibcode{%
+ \endgroup
+ \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===],"\currentmpinstancename")}%
+ \endgroup
+ }
+ \protected\def\endmplibcode{endmplibcode}
+\else
+% \end{macrocode}
+%
+% The \LaTeX-specific part: a new environment.
+% \begin{macrocode}
+ \newenvironment{mplibcode}[1][]{%
+ \global\def\currentmpinstancename{#1}%
+ \mplibtmptoks{}\ltxdomplibcode
+ }{}
+ \def\ltxdomplibcode{%
+ \begingroup
+ \mplibsetupcatcodes
+ \ltxdomplibcodeindeed
+ }
+ \def\mplib@mplibcode{mplibcode}
+ \long\def\ltxdomplibcodeindeed#1\end#2{%
+ \endgroup
+ \mplibtmptoks\expandafter{\the\mplibtmptoks#1}%
+ \def\mplibtemp@a{#2}%
+ \ifx\mplib@mplibcode\mplibtemp@a
+ \directlua{luamplib.process_mplibcode([===[\the\mplibtmptoks]===],"\currentmpinstancename")}%
+ \end{mplibcode}%
+ \else
+ \mplibtmptoks\expandafter{\the\mplibtmptoks\end{#2}}%
+ \expandafter\ltxdomplibcode
+ \fi
+ }
\fi
% \end{macrocode}
%
@@ -2630,17 +2992,17 @@ luamplib.colorconverter = colorconverter
% |luamplib.every(end)mplib| tables
%
% \begin{macrocode}
-\protected\def\everymplib{%
- \begingroup
- \mplibsetupcatcodes
- \mplibdoeverymplib
-}
-\protected\def\everyendmplib{%
- \begingroup
- \mplibsetupcatcodes
- \mplibdoeveryendmplib
-}
\ifcsname ver@luamplib.sty\endcsname
+ \protected\def\everymplib{%
+ \begingroup
+ \mplibsetupcatcodes
+ \mplibdoeverymplib
+ }
+ \protected\def\everyendmplib{%
+ \begingroup
+ \mplibsetupcatcodes
+ \mplibdoeveryendmplib
+ }
\newcommand\mplibdoeverymplib[2][]{%
\endgroup
\directlua{
@@ -2654,16 +3016,29 @@ luamplib.colorconverter = colorconverter
}%
}
\else
+ \def\mplibgetinstancename[#1]{\def\currentmpinstancename{#1}}
+ \protected\def\everymplib#1#{%
+ \ifx\empty#1\empty \mplibgetinstancename[]\else \mplibgetinstancename#1\fi
+ \begingroup
+ \mplibsetupcatcodes
+ \mplibdoeverymplib
+ }
\long\def\mplibdoeverymplib#1{%
\endgroup
\directlua{
- luamplib.everymplib[""] = [===[\unexpanded{#1}]===]
+ luamplib.everymplib["\currentmpinstancename"] = [===[\unexpanded{#1}]===]
}%
}
+ \protected\def\everyendmplib#1#{%
+ \ifx\empty#1\empty \mplibgetinstancename[]\else \mplibgetinstancename#1\fi
+ \begingroup
+ \mplibsetupcatcodes
+ \mplibdoeveryendmplib
+ }
\long\def\mplibdoeveryendmplib#1{%
\endgroup
\directlua{
- luamplib.everyendmplib[""] = [===[\unexpanded{#1}]===]
+ luamplib.everyendmplib["\currentmpinstancename"] = [===[\unexpanded{#1}]===]
}%
}
\fi
@@ -2752,7 +3127,7 @@ luamplib.colorconverter = colorconverter
% \begin{macrocode}
\def\mplibstarttoPDF#1#2#3#4{%
\prependtomplibbox
- \hbox\bgroup
+ \hbox dir TLT\bgroup
\xdef\MPllx{#1}\xdef\MPlly{#2}%
\xdef\MPurx{#3}\xdef\MPury{#4}%
\xdef\MPwidth{\the\dimexpr#3bp-#1bp\relax}%
diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf
index daf99fd769..b6f57158f7 100644
--- a/macros/luatex/generic/luamplib/luamplib.pdf
+++ b/macros/luatex/generic/luamplib/luamplib.pdf
Binary files differ
diff --git a/macros/luatex/generic/luamplib/test-luamplib-latex.tex b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
index 339e27d838..faa516f25f 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-latex.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
@@ -1,5 +1,9 @@
-\DocumentMetadata{ uncompress }
-\documentclass{article}
+%\DocumentMetadata{ uncompress }
+\ifnum\outputmode > 0
+ \documentclass{article}
+\else
+ \documentclass[dvipdfmx]{article}
+\fi
\usepackage{fontspec}
\setmainfont{latin modern roman}
\usepackage{luamplib}
@@ -172,14 +176,15 @@ diameter:\Dia bp.%
\begin{mplibcode}
beginfig(1)
draw mplibgraphictext "\bfseries Funny"
- fakebold 2 scale 2 % fontspec options
- drawcolor "blue" fillcolor "red!50" % l3color expressions
- scaled 2 rotated 30 ;
+ fakebold 2 % fontspec option
+ drawcolor blue fillcolor "red!50" % l3color expression
+ scaled 3 rotated 30 ;
picture p;
p:=mplibgraphictext "\bfseries\itshape xyz";
draw p scaled 3 shifted (40,0);
endfig;
\end{mplibcode}%
+\par
\mplibsetformat{metafun}%
\begin{mplibcode}
beginfig(1)
@@ -197,6 +202,29 @@ fill unitsquare xyscaled (\mpdim\textwidth,1cm)
;
endfig;
\end{mplibcode}%
+\leavevmode
+\mpfig
+picture Q, u, e;
+Q := mplibglyph "Q" of "texgyrepagella-bolditalic.otf" scaled .1;
+u := mplibglyph "u" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner Q;
+e := mplibglyph "e" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner u;
+i:=0;
+totallen := length Q + length u + length e;
+for pic=Q, u, e:
+ for item within pic:
+ i:=i+1;
+ fill pathpart item
+ if i < totallen: withpostscript "collect"; fi
+ endfor
+endfor
+ withshademethod "linear"
+ withshadedirection (0.5,2.5)
+ withshadecolors (.7red,.7yellow)
+ ;
+\endmpfig
+\everymplib[@mpfig]{ drawoptions(withcolor mplibrgbtexcolor "olive"); }%
+\mpfig* input boxes \endmpfig
+\mpfig circleit.a(btex\tracingcommands0 Box 1 etex); drawboxed(a); \endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/generic/luamplib/test-luamplib-plain.tex b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
index 20773b280f..896c7f0a95 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-plain.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
@@ -1,6 +1,7 @@
+\input luaotfload.sty
\input miniltx
\input color
-\definecolor{orange}{rgb}{1,0.5,0}
+\definecolor{orange}{cmyk}{0,.5,1,0}
\input luamplib.sty
\mpliblegacybehavior{true}%
\everymplib{ beginfig(0); }\everyendmplib{ endfig; }
@@ -163,4 +164,116 @@ diameter:\Dia bp.%
rotatedlabel.top(textext("Rotated!"), origin, 45);
endfig;
\endmplibcode
+\par
+\mplibcode
+beginfig(1) % in dvi mode, not work for type1 font
+draw mplibgraphictext "\bf Funny"
+ fakebold 2 % fontspec option
+ drawcolor blue fillcolor .5[red,white]
+ scaled 3 rotated 30 ;
+picture p;
+p:=mplibgraphictext "\it xyz"
+ fillcolor .7white;
+draw p scaled 3 shifted (40,0);
+endfig;
+\endmplibcode
+\par
+\mplibsetformat{metafun}%
+\mplibcode
+beginfig(1)
+fill unitsquare xyscaled (\mpdim\hsize, 1cm)
+ withshademethod "linear"
+ withshadevector (0,1)
+ withshadestep (
+ withshadefraction .5
+ withshadecolors (red,blue)
+ )
+ withshadestep (
+ withshadefraction 1
+ withshadecolors (blue,green)
+ )
+ ;
+endfig;
+\endmplibcode
+\leavevmode
+\mpfig
+picture Q, u, e;
+Q := mplibglyph "Q" of "texgyrepagella-bolditalic.otf" scaled .1;
+u := mplibglyph "u" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner Q;
+e := mplibglyph "e" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner u;
+i:=0;
+totallen := length Q + length u + length e;
+for pic=Q, u, e:
+ for item within pic:
+ i:=i+1;
+ fill pathpart item
+ if i < totallen: withpostscript "collect"; fi
+ endfor
+endfor
+ withshademethod "linear"
+ withshadedirection (0.5,2.5)
+ withshadecolors (.7red,.7yellow)
+ ;
+\endmpfig
+\everymplib[@mpfig]{ drawoptions(withcolor mplibrgbtexcolor"orange"); }%
+\mpfig* input boxes \endmpfig
+\mpfig circleit.a(btex\tracingcommands0 Box 1 etex); drawboxed(a); \endmpfig
+\tracingcommands0
+
+\vskip 2\baselineskip
+\mplibcodeinherit{disable}
+\everymplib[instanceOne]{beginfig(1);}
+\everyendmplib[instanceOne]{endfig;}
+
+\mplibcode[instanceOne]
+ picture TeX;
+ TeX := btex \TeX etex;
+a := 1cm;
+draw fullcircle scaled a;
+draw btex a circle with $d=a$ etex shifted (a,0);
+draw TeX;
+\endmplibcode
+Current instance name is: \currentmpinstancename \vskip 2\baselineskip
+
+\mplibcode[instanceTwo]
+beginfig(1);
+if not known a:
+ draw btex code is not inherited from an instance with a different name etex;
+else:
+ errmessage("Variable was inherited from a different instance");
+fi;
+endfig;
+\endmplibcode
+Current instance name is: \currentmpinstancename \vskip 2\baselineskip
+
+\mplibcode
+beginfig(1);
+if not known a:
+ draw btex code is not inherited if instance name is not listed etex;
+else:
+ errmessage("Variable was inherited from a different instance");
+fi;
+a := 1cm;
+endfig;
+\endmplibcode
+Current instance name is: \currentmpinstancename (should be empty) \vskip 2\baselineskip
+
+\mplibcode
+beginfig(1);
+if not known a:
+ draw btex code is not inherited if mplibcodeinherit is disabled and instance name is not explicitly set etex;
+else:
+ errmessage("Variable was inherited when code inheritance is turned off and instance name is not set");
+fi;
+endfig;
+\endmplibcode
+Current instance name is: \currentmpinstancename (should be empty) \vskip 2\baselineskip
+
+\mplibcode[instanceOne]
+draw unitsquare scaled a;
+draw btex a square with side $=a$, inherited from the same instance etex shifted (3/2a, 1/2a);
+ draw TeX;
+\endmplibcode
+Current instance name is: \currentmpinstancename \vskip 2\baselineskip
+
\bye
diff --git a/macros/luatex/generic/luatexja/COPYING b/macros/luatex/generic/luatexja/COPYING
index 610a7b62b2..b82ffc50fe 100644
--- a/macros/luatex/generic/luatexja/COPYING
+++ b/macros/luatex/generic/luatexja/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2011--2023 The LuaTeX-ja project, All rights reserved.
+Copyright (c) 2011--2024 The LuaTeX-ja project, All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index 4e48f6c82f..9224c83b0b 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,6 +1,6 @@
-The LuaTeX-ja Package 20240219.0
+The LuaTeX-ja Package 20240514.0
--------------------------------
-Copyright (c) 2011--2023 The LuaTeX-ja project
+Copyright (c) 2011--2024 The LuaTeX-ja project
License: modified BSD (see COPYING)
LuaTeX-ja is a macro package for typesetting Japanese documents with LuaTeX.
@@ -24,7 +24,8 @@ Installation
- LuaTeX 1.10.0 (or later)
- luaotfload (v3.1 or later recommended)
- adobemapping (Adobe CMap files)
- - LaTeX2e 2020-02-02 patch level 5 or later (if you want to use with LaTeX)
+ - LaTeX2e 2021-06-01 or later (if you want to use with LaTeX)
+ - l3kernel about 2023-10-10 or later
- etoolbox package
- ltxcmds package, pdftexcmds package
- filehook package, atbegshi package (for LaTeX2e 2020-02-02)
@@ -32,7 +33,7 @@ Installation
- Harano Aji fonts (https://github.com/trueroad/HaranoAjiFonts)
more specifically, HaranoAjiMincho-Regular and HaranoAjiGothic-Medium
- Using LuaTeX-ja with LuaHBTeX is not well tested.
+ Using LuaTeX-ja with Harfbuzz is not well tested.
One might be able to typeset documents without an error, but with
some unwanted results.
@@ -41,7 +42,7 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20240219.0 in the Git repository by
+ or tagged as 20240514.0 in the Git repository by
<https://github.com/luatexja/luatexja/archive/refs/tags/$VER.zip>
b. Extract the archive and process following three files by LuaLaTeX
@@ -91,4 +92,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Mon Feb 19 19:11:46 2024 +0900
+Last commit date: Tue May 14 19:12:05 2024 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 547c5f9b46..de28e1d279 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 3dc1d9a8d7..49a8a6feef 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index dace65c689..b550dc58d4 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -648,14 +648,9 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%<ja> (DVI出力(\cs{outputmode=0})は対応していない.)
\item recent \href{https://github.com/latex3/luaotfload}{\Pkg{luaotfload}} (v3.1 or later recommended)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
-\item \LaTeXe\ 2020-02-02 patch level 5 or later
-%<en> (if you want to use \LuaTeX-ja with \LaTeXe)
-%<ja> (\LaTeXe 下で\LuaTeX-jaを使う場合)
\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}}
%<en> (if you want to use \LuaTeX-ja with \LaTeXe)
%<ja> (\LaTeXe 下で\LuaTeX-jaを使う場合)
-\item \Pkg{everysel} (only for \LaTeXe\ 2020-02-02~and~2020-10-01)
-\item \Pkg{filehook}, \Pkg{atbegshi} (only for \LaTeXe\ 2020-02-02)
\item \Pkg{ltxcmds}, \Pkg{pdftexcmds}
\item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later)
%<*en>
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
new file mode 100644
index 0000000000..1415cee127
--- /dev/null
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
@@ -0,0 +1,415 @@
+%
+% luatexja-fontspec-29c.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luatexja-fontspec-29c}[2024-05-05 fontspec support of LuaTeX-ja]
+\RequirePackage{l3keys2e}
+\ExplSyntaxOn
+
+%%%%%%%% Change Japanese font family by \rmfamily or not
+\bool_if:NT \__ltj_fontspec_match_bool {
+ \renewcommand\jttdefault{\gtdefault}
+ \@ltj@match@familytrue
+}
+%%%%%%%% Messages
+\msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
+{
+ \string\addjfontfeature (s)~ ignored;\\
+ it~ cannot~ be~ used~ with~ a~ font~ that~ wasn't~ selected~ by~ luatexja-fontspec.
+}
+
+\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-norange}
+{
+ ignored~ sublist~ `#1'~ in~ AltFont~ (no~ range~ is~ specified).
+}
+
+\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly}
+{
+ ignored~ sublist~ `#1'~ in~ AltFont~ (only~ range~ is~ specified).
+}
+
+\cs_generate_variant:Nn \prg_new_conditional:Nnn {Nnx}
+
+%%%%%%%% Internal control sequences
+%% Each CS is ltj_fontspec version that corresponds to original CS of fontspec.
+\cs_new:Nn \__ltj_fontspec_define_option:nn {
+ \__fontspec_keys_define_code:nnn {fontspec} {#1} {#2}
+}
+\cs_new:Nn \__ltj_fontspec_define_preparse_external:nn {
+ \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {#1} {#2}
+}
+\cs_new:Nn \__ltj_fontspec_define_altfont_option:nn {
+ \__fontspec_keys_define_code:nnn {fontspec-ltjaltfont} {#1} {#2}
+}
+
+%% Alternate Fonts
+%% Spec: AltFont = {
+%% ...
+%% { Range = <range>, <font features> },
+%% { Range = <range>, Font = <font name>, <font features> },
+%% { Range = <range>, Font = <font name> },
+%% ...
+%% }
+\tl_new:N \l__ltj_fontspec_altname_tl
+\tl_new:N \l__ltj_fontspec_altrange_tl
+\clist_new:N \l__ltj_fontspec_altfont_clist
+\clist_new:N \l__ltj_fontspec_altfont_leftover_clist
+\int_new:N \g__ltj_fontspec_altnumber_int
+
+\__ltj_fontspec_define_altfont_option:nn {Range} {
+ \tl_set:Nn \l__ltj_fontspec_altrange_tl {#1}
+}
+\__ltj_fontspec_define_altfont_option:nn {Font} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_altname_tl {#1}
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {AltFont} {
+ \clist_put_right:Nn \l__ltj_fontspec_altfont_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {YokoFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_yoko_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_tate_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFont} {
+ \tl_if_empty:nF {#1} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_fontname_tate_tl {#1}
+ }
+}
+%%
+\clist_new:N \l__ltj_fontspec_fontfeat_yoko_clist
+\clist_new:N \l__ltj_fontspec_fontfeat_tate_clist
+\tl_new:N \l__ltj_fontspec_fontname_tate_tl
+
+\cs_new:Npn \__ltj_fontspec_DeclareFontFamily #1 #2 #3 {
+ \DeclareKanjiFamily {JY3} {#2} {#3}
+ \DeclareKanjiFamily {JT3} {#2} {#3}
+}
+
+%% save and restore global variable
+\tl_new:N \g__ltj_fontspec_kanji_nfss_family_tl
+\tl_new:N \g__ltj_fontspec_orig_nfss_family_tl
+\seq_new:N \l__ltj_fontspec_kanji_bf_series_seq
+\seq_new:N \l__ltj_fontspec_orig_bf_series_seq
+\clist_new:N \g__ltj_fontspec_kanji_default_fontopts_clist
+\clist_new:N \g__ltj_fontspec_orig_default_fontopts_clist
+
+\cs_new:Nn \__ltj_set_global_variable_for_kanji: {
+ \tl_gset_eq:NN \g__ltj_fontspec_orig_nfss_family_tl \g__fontspec_nfss_family_tl
+ \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_kanji_nfss_family_tl
+ \seq_set_eq:NN \l__ltj_fontspec_orig_bf_series_seq \l__fontspec_bf_series_seq
+ \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_kanji_bf_series_seq
+ %\seq_gclear:N \g__fontspec_bf_series_seq
+ \clist_set_eq:NN \g__ltj_fontspec_orig_default_fontopts_clist \g__fontspec_default_fontopts_clist
+ \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_kanji_default_fontopts_clist
+}
+
+\cs_new:Nn \__ltj_restore_global_variable: {
+ \tl_gset_eq:NN \g__ltj_fontspec_kanji_nfss_family_tl \g__fontspec_nfss_family_tl
+ \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_orig_nfss_family_tl
+ \seq_set_eq:NN \l__ltj_fontspec_kanji_bf_series_seq \l__fontspec_bf_series_seq
+ \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_orig_bf_series_seq
+ \clist_set_eq:NN \g__ltj_fontspec_kanji_default_fontopts_clist \g__fontspec_default_fontopts_clist
+ \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_orig_default_fontopts_clist
+}
+
+\cs_set_eq:NN \__ltj_orig_fontspec_select_font_family:nn \__fontspec_select_font_family:nn
+\cs_new_protected:Nn \__ltj_fontspec_select_font_family:nn {
+ \group_begin:
+ \__ltj_fontspec_define_option:nn {NoEmbed} {}
+ \__ltj_fontspec_define_option:nn {AltFont} {
+ \clist_put_right:Nn \l__ltj_fontspec_altfont_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {CID} {
+ \__fontspec_update_featstr:n {cid=##1}
+ }
+ \__ltj_fontspec_define_option:nn {Kanjiskip} {
+ \str_if_eq:eeTF {false} { \str_lower_case:n { ##1 } }{
+ \__fontspec_update_featstr:n {-ltjksp}
+ } {
+ \__fontspec_update_featstr:n {+ltjksp}
+ }
+ }
+ \__ltj_fontspec_define_option:nn {JFM} {
+ \__fontspec_update_featstr:n {jfm=##1}
+ }
+ % vary by shape
+ \__ltj_fontspec_define_option:nn {YokoFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_yoko_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {TateFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_tate_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {TateFont}
+ {
+ \tl_if_empty:nF {##1} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_fontname_tate_tl {##1}
+ }
+ }
+ \__ltj_fontspec_define_option:nn {JFM-var} {
+ \__fontspec_update_featstr:n {jfmvar=##1}
+ }
+ \__ltj_fontspec_define_preparse_external:nn {NoEmbed} {
+ \cs_set:Npn \__fontspec_fontname_wrap:n ##1 {psft:##1}
+ }
+
+ %% Omit the warning message
+ %% "OpenType feature 'Kerning=Off' (-kern) not available ..."
+ \keys_define:nn {fontspec-opentype} {
+ Kerning/Off.code:n=\__fontspec_update_featstr:n {-kern}
+ }
+ \clist_set:Ne \g__fontspec_default_fontopts_clist {
+ YokoFeatures = { JFM=\ltj@stdyokojfm }, TateFeatures = { JFM=\ltj@stdtatejfm },
+ Scale=\Cjascale, Kerning=Off, Script=CJK,
+ \g__ltj_fontspec_kanji_default_fontopts_clist
+ }
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
+ \cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \__ltj_fontspec_make_font_shapes:Nnnnn
+ \cs_set_eq:NN \DeclareFontFamily \__ltj_fontspec_DeclareFontFamily
+ \tl_set:Nn \g_fontspec_encoding_tl {JY3}
+ \__ltj_orig_fontspec_select_font_family:nn{#1}{#2}
+
+ \cs_gset:Npx \__ltj_fontspec_aftergroup {
+ \exp_not:N \tl_set:Nn \exp_not:N \l_fontspec_family_tl { \l_fontspec_family_tl }
+ }
+ \aftergroup \__ltj_fontspec_aftergroup
+ \group_end:
+}
+
+%% declare_shape
+
+\cs_new:Nn \__ltj_fontspec_declare_shape_yoko:nnnn {
+ \__ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JY3 } { \l__ltj_fontspec_fontfeat_yoko_clist }
+}
+\cs_new:Nn \__ltj_fontspec_declare_shape_tate:nnnn {
+ \__ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JT3 } { \l__ltj_fontspec_fontfeat_tate_clist }
+}
+\cs_new:Nn \__ltj_fontspec_declare_shape:nnnn {
+ \__ltj_fontspec_declare_shape_yoko:nnnn {#1} {#2} {#3} {#4}
+ \__ltj_fontspec_declare_shape_tate:nnnn {#1} {#2} {#3} {#4}
+}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape:nnnn {nnxx}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape_yoko:nnnn {nnxx}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape_tate:nnnn {nnxx}
+
+\cs_new:Nn \__ltj_fontspec_declare_shape_aux:nnnnnn
+{
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
+ \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
+
+ \tl_set:Nn \g_fontspec_encoding_tl {#5}
+ \tl_set:Nn \g__fontspec_nfss_enc_tl {#5}
+ \exp_args:Ne \clist_map_inline:nn {#4}
+ { \__ltj_fontspec_setup_single_size:nnn {#3} {#6} {##1} }
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
+ \bool_set_true:N \l__fontspec_nosc_bool
+ \__fontspec_declare_shapes_normal:nn {#1} {#2}
+ \__fontspec_declare_shape_slanted:nn {#1} {#2}
+}
+
+\cs_new:Nn \__ltj_fontspec_setup_single_size:nnn
+{
+ \tl_clear:N \l__fontspec_size_tl
+ \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
+
+ \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #3 }
+ \l__fontspec_sizing_leftover_clist
+ \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
+
+ \str_if_eq:eeTF { \g__fontspec_nfss_enc_tl } { JY3 } {
+ % "normal"
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl}
+ } {
+ \tl_if_empty:NTF \l__ltj_fontspec_fontname_tate_tl
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl} }
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__ltj_fontspec_fontname_tate_tl} }
+ }
+ \__fontspec_setup_nfss:Nnnn \l__fontspec_nfss_tl {#1} {#2} {}
+}
+
+\cs_new:Nn \__ltj_fontspec_set_family:Nnn {
+ \__ltj_set_global_variable_for_kanji:
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_fontspec_select_font_family:nn
+ \__ltj_orig_fontspec_set_family:Nnn #1 {#2} {#3}
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_orig_fontspec_select_font_family:nn
+ \__ltj_restore_global_variable:
+}
+\cs_set_eq:NN \__ltj_orig_fontspec_set_family:Nnn \fontspec_set_family:Nnn
+\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:Nnnnn \__fontspec_make_font_shapes:Nnnnn
+\cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape
+
+\cs_new:Nn \__ltj_fontspec_make_font_shapes:Nnnnn {
+ \group_begin:
+ %% 基底フォント
+ \cs_set_eq:NN \__fontspec_font_set:Nnn \use_none:nnn
+ \cs_set_eq:NN \__fontspec_font_if_null:NT \use_none:nn
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape:nnxx
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5}
+ %%
+ \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l__ltj_fontspec_fontfeat_yoko_clist}{#5} {JY3 }
+ \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l__ltj_fontspec_fontfeat_tate_clist}{#5} {JT3}
+ \group_end:
+ }
+
+%%% Altfont 内部処理部
+\cs_new:Nn \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {
+ \group_begin:
+ \str_if_eq:eeTF { #6 } { JY3 } {
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_yoko:nnxx
+ }{
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_tate:nnxx
+ }
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { #4 }
+ \clist_if_empty:NF \l__ltj_fontspec_altfont_clist {
+ \int_gzero:N \g__ltj_fontspec_altnumber_int
+ \clist_map_inline:Nn \l__ltj_fontspec_altfont_clist {
+ \tl_clear:N \l__ltj_fontspec_altrange_tl
+ \tl_set:Nn \l__ltj_fontspec_altname_tl { #1 }
+ \tl_set:Nn \l_tmpa_tl { #1 }
+
+ \keys_set_known:neN {fontspec-ltjaltfont} { \exp_after:wN \use:n ##1 }
+ \l__ltj_fontspec_altfont_leftover_clist
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { \exp_after:wN \use:n ##1 }
+
+ \tl_if_empty:NT \l__ltj_fontspec_altrange_tl {
+ \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-norange} { ##1 }
+ } {
+ \bool_if:nTF {
+ \tl_if_eq_p:NN \l__ltj_fontspec_altname_tl \l_tmpa_tl
+ &&
+ \tl_if_empty_p:N \l__ltj_fontspec_altfont_leftover_clist
+ } {
+ \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly} { ##1 }
+ } {
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn
+ { \l__ltj_fontspec_altname_tl } {#2}
+ {#3 _ alt \int_use:N \g__ltj_fontspec_altnumber_int }
+ {#4, \l__ltj_fontspec_altfont_leftover_clist }
+ {#5}
+ \DeclareAlternateKanjiFont
+ { #6 }{ \g__fontspec_nfss_family_tl }{#2}{#3}%
+ { #6 }{ \g__fontspec_nfss_family_tl }{#2}
+ { #3 _alt \int_use:N \g__ltj_fontspec_altnumber_int }
+ { \l__ltj_fontspec_altrange_tl }
+ \int_gincr:N \g__ltj_fontspec_altnumber_int
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+
+%%%%%%%% User commands
+\DeclareDocumentCommand \jfontspec { O{} m O{} } {
+ \__ltj_fontspec_set_family:Nnn \k@family {#1,#3}{#2}
+ \selectfont
+ \ignorespaces
+}
+
+\DeclareDocumentCommand \setmainjfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[mc]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
+ \unless\ifltj@disablejfam
+ \DeclareSymbolFont{mincho}{JY3}{\mcdefault}{\mddefault}{n}
+ \SetSymbolFont{mincho}{bold}{JY3}{\mcdefault}{\bfdefault}{n}
+ \fi
+ \normalfont
+}
+
+\DeclareDocumentCommand \setsansjfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[gt]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
+ \unless\ifltj@disablejfam
+ \DeclareMathAlphabet{\mathgt}{JY3}{\gtdefault}{\mddefault}{n}
+ \fi
+ \normalfont
+}
+
+\DeclareDocumentCommand \setmonojfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[jtt]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \jttdefault {#1,#3}{#2}
+ \normalfont
+}
+
+\DeclareDocumentCommand \newjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \newfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+\DeclareDocumentCommand \renewjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \renewfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+\DeclareDocumentCommand \setjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \setfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+
+\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
+ \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+
+\prop_new:N \l__ltj_fontspec_tmp_prop
+\prop_new:N \g__ltj_fontspec_fontopts_prop
+\DeclareDocumentCommand \defaultjfontfeatures { t+ o m }
+ {
+ \IfNoValueTF {#2}
+ { \__ltj_fontspec_set_default_features:nn {#1} {#3} }
+ { \__ltj_fontspec_set_font_default_features:nnn {#1} {#2} {#3} }
+ \ignorespaces
+ }
+\cs_new:Nn \__ltj_fontspec_set_default_features:nn
+ {
+ \__ltj_set_global_variable_for_kanji:
+ \__fontspec_set_default_features:nn {#1} {#2}
+ \__ltj_restore_global_variable:
+ }
+\cs_new:Nn \__ltj_fontspec_set_font_default_features:nnn
+ {
+ \prop_set_eq:NN \l__ltj_fontspec_tmp_prop \g__fontspec_fontopts_prop
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
+ \__fontspec_set_font_default_features:nnn {#1} {#2} {#3}
+ \prop_set_eq:NN \g__ltj_fontspec_fontopts_prop \g__fontspec_fontopts_prop
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \l__ltj_fontspec_tmp_prop
+ }
+
+\DeclareDocumentCommand \addjfontfeatures {m} {
+ \__ltj_fontspec_if_fontspec_font:TF
+ {
+ \__ltj_set_global_variable_for_kanji:
+ \group_begin:
+ \tl_set_eq:NN \f@family \k@family
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_fontspec_select_font_family:nn
+ \addfontfeatures {#1}
+ \group_end:
+ \kanjifamily\g__fontspec_nfss_family_tl\selectfont
+ \__ltj_restore_global_variable:
+ }{
+ \msg_warning:nn {luatexja-fontspec} {addjfontfeatures-ignored}
+ }
+ \ignorespaces
+}
+
+\cs_set_eq:NN \addjfontfeature \addjfontfeatures
+
+\prg_new_conditional:Nnn \__ltj_fontspec_if_fontspec_font: {TF,T,F}
+{
+ \cs_if_exist:cTF {g__fontspec_fontinfo_ \k@family _prop} \prg_return_true: \prg_return_false:
+}
+
+\endinput
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
new file mode 100644
index 0000000000..e763d91ad7
--- /dev/null
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
@@ -0,0 +1,415 @@
+%
+% luatexja-fontspec-29e.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luatexja-fontspec-29e}[2024-05-14 fontspec support of LuaTeX-ja]
+\RequirePackage{l3keys2e}
+\ExplSyntaxOn
+
+%%%%%%%% Change Japanese font family by \rmfamily or not
+\bool_if:NT \__ltj_fontspec_match_bool {
+ \renewcommand\jttdefault{\gtdefault}
+ \@ltj@match@familytrue
+}
+%%%%%%%% Messages
+\msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
+{
+ \string\addjfontfeature (s)~ ignored;\\
+ it~ cannot~ be~ used~ with~ a~ font~ that~ wasn't~ selected~ by~ luatexja-fontspec.
+}
+
+\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-norange}
+{
+ ignored~ sublist~ `#1'~ in~ AltFont~ (no~ range~ is~ specified).
+}
+
+\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly}
+{
+ ignored~ sublist~ `#1'~ in~ AltFont~ (only~ range~ is~ specified).
+}
+
+\cs_generate_variant:Nn \prg_new_conditional:Nnn {Nnx}
+
+%%%%%%%% Internal control sequences
+%% Each CS is ltj_fontspec version that corresponds to original CS of fontspec.
+\cs_new:Nn \__ltj_fontspec_define_option:nn {
+ \__fontspec_keys_define_code:nnn {fontspec} {#1} {#2}
+}
+\cs_new:Nn \__ltj_fontspec_define_preparse_external:nn {
+ \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {#1} {#2}
+}
+\cs_new:Nn \__ltj_fontspec_define_altfont_option:nn {
+ \__fontspec_keys_define_code:nnn {fontspec-ltjaltfont} {#1} {#2}
+}
+
+%% Alternate Fonts
+%% Spec: AltFont = {
+%% ...
+%% { Range = <range>, <font features> },
+%% { Range = <range>, Font = <font name>, <font features> },
+%% { Range = <range>, Font = <font name> },
+%% ...
+%% }
+\tl_new:N \l__ltj_fontspec_altname_tl
+\tl_new:N \l__ltj_fontspec_altrange_tl
+\clist_new:N \l__ltj_fontspec_altfont_clist
+\clist_new:N \l__ltj_fontspec_altfont_leftover_clist
+\int_new:N \g__ltj_fontspec_altnumber_int
+
+\__ltj_fontspec_define_altfont_option:nn {Range} {
+ \tl_set:Nn \l__ltj_fontspec_altrange_tl {#1}
+}
+\__ltj_fontspec_define_altfont_option:nn {Font} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_altname_tl {#1}
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {AltFont} {
+ \clist_put_right:Nn \l__ltj_fontspec_altfont_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {YokoFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_yoko_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_tate_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFont} {
+ \tl_if_empty:nF {#1} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_fontname_tate_tl {#1}
+ }
+}
+%%
+\clist_new:N \l__ltj_fontspec_fontfeat_yoko_clist
+\clist_new:N \l__ltj_fontspec_fontfeat_tate_clist
+\tl_new:N \l__ltj_fontspec_fontname_tate_tl
+
+\cs_new:Npn \__ltj_fontspec_DeclareFontFamily #1 #2 #3 {
+ \DeclareKanjiFamily {JY3} {#2} {#3}
+ \DeclareKanjiFamily {JT3} {#2} {#3}
+}
+
+%% save and restore global variable
+\tl_new:N \g__ltj_fontspec_kanji_nfss_family_tl
+\tl_new:N \g__ltj_fontspec_orig_nfss_family_tl
+\seq_new:N \l__ltj_fontspec_kanji_bf_series_seq
+\seq_new:N \l__ltj_fontspec_orig_bf_series_seq
+\clist_new:N \g__ltj_fontspec_kanji_default_fontopts_clist
+\clist_new:N \g__ltj_fontspec_orig_default_fontopts_clist
+
+\cs_new:Nn \__ltj_set_global_variable_for_kanji: {
+ \tl_gset_eq:NN \g__ltj_fontspec_orig_nfss_family_tl \g__fontspec_nfss_family_tl
+ \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_kanji_nfss_family_tl
+ \seq_set_eq:NN \l__ltj_fontspec_orig_bf_series_seq \l__fontspec_bf_series_seq
+ \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_kanji_bf_series_seq
+ %\seq_gclear:N \g__fontspec_bf_series_seq
+ \clist_set_eq:NN \g__ltj_fontspec_orig_default_fontopts_clist \g__fontspec_default_fontopts_clist
+ \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_kanji_default_fontopts_clist
+}
+
+\cs_new:Nn \__ltj_restore_global_variable: {
+ \tl_gset_eq:NN \g__ltj_fontspec_kanji_nfss_family_tl \g__fontspec_nfss_family_tl
+ \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_orig_nfss_family_tl
+ \seq_set_eq:NN \l__ltj_fontspec_kanji_bf_series_seq \l__fontspec_bf_series_seq
+ \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_orig_bf_series_seq
+ \clist_set_eq:NN \g__ltj_fontspec_kanji_default_fontopts_clist \g__fontspec_default_fontopts_clist
+ \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_orig_default_fontopts_clist
+}
+
+\cs_set_eq:NN \__ltj_orig_fontspec_select_font_family:nn \__fontspec_select_font_family:nn
+\cs_new_protected:Nn \__ltj_fontspec_select_font_family:nn {
+ \group_begin:
+ \__ltj_fontspec_define_option:nn {NoEmbed} {}
+ \__ltj_fontspec_define_option:nn {AltFont} {
+ \clist_put_right:Nn \l__ltj_fontspec_altfont_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {CID} {
+ \__fontspec_update_featstr:n {cid=##1}
+ }
+ \__ltj_fontspec_define_option:nn {Kanjiskip} {
+ \str_if_eq:eeTF {false} { \str_lower_case:n { ##1 } }{
+ \__fontspec_update_featstr:n {-ltjksp}
+ } {
+ \__fontspec_update_featstr:n {+ltjksp}
+ }
+ }
+ \__ltj_fontspec_define_option:nn {JFM} {
+ \__fontspec_update_featstr:n {jfm=##1}
+ }
+ % vary by shape
+ \__ltj_fontspec_define_option:nn {YokoFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_yoko_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {TateFeatures} {
+ \clist_put_right:Nn \l__ltj_fontspec_fontfeat_tate_clist { ##1 }
+ }
+ \__ltj_fontspec_define_option:nn {TateFont}
+ {
+ \tl_if_empty:nF {##1} {
+ \fontspec_complete_fontname:Nn \l__ltj_fontspec_fontname_tate_tl {##1}
+ }
+ }
+ \__ltj_fontspec_define_option:nn {JFM-var} {
+ \__fontspec_update_featstr:n {jfmvar=##1}
+ }
+ \__ltj_fontspec_define_preparse_external:nn {NoEmbed} {
+ \cs_set:Npn \__fontspec_fontname_wrap:n ##1 {psft:##1}
+ }
+
+ %% Omit the warning message
+ %% "OpenType feature 'Kerning=Off' (-kern) not available ..."
+ \keys_define:nn {fontspec-opentype} {
+ Kerning/Off.code:n=\__fontspec_update_featstr:n {-kern}
+ }
+ \clist_set:Ne \g__fontspec_default_fontopts_clist {
+ YokoFeatures = { JFM=\ltj@stdyokojfm }, TateFeatures = { JFM=\ltj@stdtatejfm },
+ Scale=\Cjascale, Kerning=Off, Script=CJK,
+ \g__ltj_fontspec_kanji_default_fontopts_clist
+ }
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
+ \cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \__ltj_fontspec_make_font_shapes:Nnnnn
+ \cs_set_eq:NN \DeclareFontFamily \__ltj_fontspec_DeclareFontFamily
+ \tl_set:Nn \g_fontspec_encoding_tl {JY3}
+ \__ltj_orig_fontspec_select_font_family:nn{#1}{#2}
+
+ \cs_gset:Npx \__ltj_fontspec_aftergroup {
+ \exp_not:N \tl_set:Nn \exp_not:N \l_fontspec_family_tl { \l_fontspec_family_tl }
+ }
+ \aftergroup \__ltj_fontspec_aftergroup
+ \group_end:
+}
+
+%% declare_shape
+
+\cs_new:Nn \__ltj_fontspec_declare_shape_yoko:nnnn {
+ \__ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JY3 } { \l__ltj_fontspec_fontfeat_yoko_clist }
+}
+\cs_new:Nn \__ltj_fontspec_declare_shape_tate:nnnn {
+ \__ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JT3 } { \l__ltj_fontspec_fontfeat_tate_clist }
+}
+\cs_new:Nn \__ltj_fontspec_declare_shape:nnnn {
+ \__ltj_fontspec_declare_shape_yoko:nnnn {#1} {#2} {#3} {#4}
+ \__ltj_fontspec_declare_shape_tate:nnnn {#1} {#2} {#3} {#4}
+}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape:nnnn {nnxx}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape_yoko:nnnn {nnxx}
+\cs_generate_variant:Nn \__ltj_fontspec_declare_shape_tate:nnnn {nnxx}
+
+\cs_new:Nn \__ltj_fontspec_declare_shape_aux:nnnnnn
+{
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
+ \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
+
+ \tl_set:Nn \g_fontspec_encoding_tl {#5}
+ \tl_set:Nn \g__fontspec_nfss_enc_tl {#5}
+ \exp_args:Ne \clist_map_inline:nn {#4}
+ { \__ltj_fontspec_setup_single_size:nn {#3, #6} {##1} }
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
+ \bool_set_true:N \l__fontspec_nosc_bool
+ \__fontspec_declare_shapes_normal:nn {#1} {#2}
+ \__fontspec_declare_shape_slanted:nn {#1} {#2}
+}
+
+\cs_new:Nn \__ltj_fontspec_setup_single_size:nn
+{
+ \tl_clear:N \l__fontspec_size_tl
+ \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
+
+ \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #2 }
+ \l__fontspec_sizing_leftover_clist
+ \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
+
+ \str_if_eq:eeTF { \g__fontspec_nfss_enc_tl } { JY3 } {
+ % "normal"
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl}
+ } {
+ \tl_if_empty:NTF \l__ltj_fontspec_fontname_tate_tl
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl} }
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__ltj_fontspec_fontname_tate_tl} }
+ }
+ \__fontspec_setup_nfss:Nn \l__fontspec_nfss_tl {#1}
+}
+
+\cs_new:Nn \__ltj_fontspec_set_family:Nnn {
+ \__ltj_set_global_variable_for_kanji:
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_fontspec_select_font_family:nn
+ \__ltj_orig_fontspec_set_family:Nnn #1 {#2} {#3}
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_orig_fontspec_select_font_family:nn
+ \__ltj_restore_global_variable:
+}
+\cs_set_eq:NN \__ltj_orig_fontspec_set_family:Nnn \fontspec_set_family:Nnn
+\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:Nnnnn \__fontspec_make_font_shapes:Nnnnn
+\cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape
+
+\cs_new:Nn \__ltj_fontspec_make_font_shapes:Nnnnn {
+ \group_begin:
+ %% 基底フォント
+ \cs_set_eq:NN \__fontspec_font_set:Nnn \use_none:nnn
+ \cs_set_eq:NN \__fontspec_font_if_null:NT \use_none:nn
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape:nnxx
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5}
+ %%
+ \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l__ltj_fontspec_fontfeat_yoko_clist}{#5} {JY3 }
+ \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l__ltj_fontspec_fontfeat_tate_clist}{#5} {JT3}
+ \group_end:
+ }
+
+%%% Altfont 内部処理部
+\cs_new:Nn \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {
+ \group_begin:
+ \str_if_eq:eeTF { #6 } { JY3 } {
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_yoko:nnxx
+ }{
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_tate:nnxx
+ }
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { #4 }
+ \clist_if_empty:NF \l__ltj_fontspec_altfont_clist {
+ \int_gzero:N \g__ltj_fontspec_altnumber_int
+ \clist_map_inline:Nn \l__ltj_fontspec_altfont_clist {
+ \tl_clear:N \l__ltj_fontspec_altrange_tl
+ \tl_set:Nn \l__ltj_fontspec_altname_tl { #1 }
+ \tl_set:Nn \l_tmpa_tl { #1 }
+
+ \keys_set_known:neN {fontspec-ltjaltfont} { \exp_after:wN \use:n ##1 }
+ \l__ltj_fontspec_altfont_leftover_clist
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { \exp_after:wN \use:n ##1 }
+
+ \tl_if_empty:NT \l__ltj_fontspec_altrange_tl {
+ \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-norange} { ##1 }
+ } {
+ \bool_if:nTF {
+ \tl_if_eq_p:NN \l__ltj_fontspec_altname_tl \l_tmpa_tl
+ &&
+ \tl_if_empty_p:N \l__ltj_fontspec_altfont_leftover_clist
+ } {
+ \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly} { ##1 }
+ } {
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn
+ { \l__ltj_fontspec_altname_tl } {#2}
+ {#3 _ alt \int_use:N \g__ltj_fontspec_altnumber_int }
+ {#4, \l__ltj_fontspec_altfont_leftover_clist }
+ {#5}
+ \DeclareAlternateKanjiFont
+ { #6 }{ \g__fontspec_nfss_family_tl }{#2}{#3}%
+ { #6 }{ \g__fontspec_nfss_family_tl }{#2}
+ { #3 _alt \int_use:N \g__ltj_fontspec_altnumber_int }
+ { \l__ltj_fontspec_altrange_tl }
+ \int_gincr:N \g__ltj_fontspec_altnumber_int
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+
+%%%%%%%% User commands
+\DeclareDocumentCommand \jfontspec { O{} m O{} } {
+ \__ltj_fontspec_set_family:Nnn \k@family {#1,#3}{#2}
+ \selectfont
+ \ignorespaces
+}
+
+\DeclareDocumentCommand \setmainjfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[mc]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
+ \unless\ifltj@disablejfam
+ \DeclareSymbolFont{mincho}{JY3}{\mcdefault}{\mddefault}{n}
+ \SetSymbolFont{mincho}{bold}{JY3}{\mcdefault}{\bfdefault}{n}
+ \fi
+ \normalfont
+}
+
+\DeclareDocumentCommand \setsansjfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[gt]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
+ \unless\ifltj@disablejfam
+ \DeclareMathAlphabet{\mathgt}{JY3}{\gtdefault}{\mddefault}{n}
+ \fi
+ \normalfont
+}
+
+\DeclareDocumentCommand \setmonojfont { O{} m O{} } {
+ \ifdefined\DeclareFontSeriesDefault
+ \DeclareFontSeriesDefault[jtt]{bf}{\bfdefault}
+ \fi
+ \__ltj_fontspec_set_family:Nnn \jttdefault {#1,#3}{#2}
+ \normalfont
+}
+
+\DeclareDocumentCommand \newjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \newfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+\DeclareDocumentCommand \renewjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \renewfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+\DeclareDocumentCommand \setjfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \setfontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
+
+\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
+ \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+
+\prop_new:N \l__ltj_fontspec_tmp_prop
+\prop_new:N \g__ltj_fontspec_fontopts_prop
+\DeclareDocumentCommand \defaultjfontfeatures { t+ o m }
+ {
+ \IfNoValueTF {#2}
+ { \__ltj_fontspec_set_default_features:nn {#1} {#3} }
+ { \__ltj_fontspec_set_font_default_features:nnn {#1} {#2} {#3} }
+ \ignorespaces
+ }
+\cs_new:Nn \__ltj_fontspec_set_default_features:nn
+ {
+ \__ltj_set_global_variable_for_kanji:
+ \__fontspec_set_default_features:nn {#1} {#2}
+ \__ltj_restore_global_variable:
+ }
+\cs_new:Nn \__ltj_fontspec_set_font_default_features:nnn
+ {
+ \prop_set_eq:NN \l__ltj_fontspec_tmp_prop \g__fontspec_fontopts_prop
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
+ \__fontspec_set_font_default_features:nnn {#1} {#2} {#3}
+ \prop_set_eq:NN \g__ltj_fontspec_fontopts_prop \g__fontspec_fontopts_prop
+ \prop_set_eq:NN \g__fontspec_fontopts_prop \l__ltj_fontspec_tmp_prop
+ }
+
+\DeclareDocumentCommand \addjfontfeatures {m} {
+ \__ltj_fontspec_if_fontspec_font:TF
+ {
+ \__ltj_set_global_variable_for_kanji:
+ \group_begin:
+ \tl_set_eq:NN \f@family \k@family
+ \cs_set_eq:NN \__fontspec_select_font_family:nn \__ltj_fontspec_select_font_family:nn
+ \addfontfeatures {#1}
+ \group_end:
+ \kanjifamily\g__fontspec_nfss_family_tl\selectfont
+ \__ltj_restore_global_variable:
+ }{
+ \msg_warning:nn {luatexja-fontspec} {addjfontfeatures-ignored}
+ }
+ \ignorespaces
+}
+
+\cs_set_eq:NN \addjfontfeature \addjfontfeatures
+
+\prg_new_conditional:Nnn \__ltj_fontspec_if_fontspec_font: {TF,T,F}
+{
+ \cs_if_exist:cTF {g__fontspec_fontinfo_ \k@family _prop} \prg_return_true: \prg_return_false:
+}
+
+\endinput
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
index 19d9952fef..abb2ca986e 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec}[2020-09-14 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec}[2024-05-14 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e,luatexja}
\ExplSyntaxOn
@@ -28,7 +28,15 @@
\ProcessKeysOptions{ luatexja-fontspec }
\RequirePackage{fontspec}[2019/03/15]% v2.7c
-\RequirePackage{luatexja-fontspec-27c} % v2.7c
+\@ifpackagelater{fontspec}{2024-05-03}{%
+ \@ifpackagelater{fontspec}{2024-05-10}{%
+ \RequirePackage{luatexja-fontspec-29e} % v2.9e
+ }{
+ \RequirePackage{luatexja-fontspec-29c} % v2.9c
+ }
+}{
+ \RequirePackage{luatexja-fontspec-27c} % v2.7c
+}
\ExplSyntaxOff
%%%%%%%% Now we completely ignore kanjifont definition file.
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
index ed2a9084e6..e83a50a615 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
@@ -1,5 +1,5 @@
% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2022-06-19 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2024-03-30 Japanese font presets]
\RequirePackage{expl3,l3keys2e}
\RequirePackage{luatexja}
@@ -57,7 +57,7 @@
}
\seq_put_right:Nn \g__ltjpreset_presets_seq { #1 }
}
-\cs_generate_variant:Nn \ltjpreset_declare_preset:nn {nx}
+\cs_generate_variant:Nn \ltjpreset_declare_preset:nn {ne}
\cs_new:Nn \__ltjpreset_declare_bool_option:nn {
\bool_new:c { g__ltjpreset_#1_bool }
\bool_set_false:c { g__ltjpreset_#1_bool }
@@ -100,6 +100,7 @@
mc .groups:n = { preset }, mc .value_required:n = true,
mc-bx .code:n =
\prop_put:Nnn \g__ltjpreset_font_prop { mc-b } {#1},
+ mc-bx .groups:n = { preset }, mc-bx .value_required:n = true,
gt .code:n =
\prop_put:Nnn \g__ltjpreset_font_prop { gt-u } {#1}
\prop_put:Nnn \g__ltjpreset_font_prop { gt-d } {#1}
@@ -112,6 +113,7 @@
\prop_put:Nnn \g__ltjpreset_font_prop { gt-d } {#1},
gt .groups:n = { preset }, gt .value_required:n = true,
gt-m .groups:n = { preset }, gt-m .value_required:n = true,
+ gt-bx .groups:n = { preset }, gt-bx .value_required:n = true,
}
\cs_set:Nn \ltjpreset_define_preset_prop:n {
\keys_define:nn { luatexja-preset } {
@@ -152,7 +154,7 @@
% 小塚 (Adobe)
%% Pro
-\ltjpreset_declare_preset:nx{kozuka-pro}{
+\ltjpreset_declare_preset:ne{kozuka-pro}{
mc-m = KozMinPro-Regular, mc-b = KozMinPro-Bold,
gt-d = KozGoPro-Regular, gt-b = KozGoPro-Bold,
gt-u = KozGoPro-Medium, gt-eb = KozGoPro-Heavy,
@@ -160,7 +162,7 @@
__custom = false, __office = false, __noembed = false,
}
%% Pr6
-\ltjpreset_declare_preset:nx{kozuka-pr6}{
+\ltjpreset_declare_preset:ne{kozuka-pr6}{
mc-m = KozMinProVI-Regular, mc-b = KozMinProVI-Bold,
gt-d = KozGoProVI-Regular, gt-b = KozGoProVI-Bold,
gt-u = KozGoProVI-Medium, gt-eb = KozGoProVI-Heavy,
@@ -168,7 +170,7 @@
__custom = false, __office = false, __noembed = false,
}
%% Pr6N
-\ltjpreset_declare_preset:nx{kozuka-pr6n}{
+\ltjpreset_declare_preset:ne{kozuka-pr6n}{
mc-m = KozMinPr6N-Regular, mc-b = KozMinPr6N-Bold,
gt-d = KozGoPr6N-Regular, gt-b = KozGoPr6N-Bold,
gt-u = KozGoPr6N-Medium, gt-eb = KozGoPr6N-Heavy,
@@ -177,14 +179,14 @@
}
% ヒラギノ (OSX)
-\ltjpreset_declare_preset:nx{hiragino-pro}{
+\ltjpreset_declare_preset:ne{hiragino-pro}{
mc-m = HiraMinPro-W3, mc-b = HiraMinPro-W6,
gt-d = HiraKakuPro-W3, gt-b = HiraKakuPro-W6,
gt-u = HiraKakuPro-W6, gt-eb = HiraKakuStd-W8,
mg-m = HiraMaruPro-W4, mc-l = HiraMinPro-W2,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{hiragino-pron}{
+\ltjpreset_declare_preset:ne{hiragino-pron}{
mc-m = HiraMinProN-W3, mc-b = HiraMinProN-W6,
gt-d = HiraKakuProN-W3, gt-b = HiraKakuProN-W6,
gt-u = HiraKakuProN-W6, gt-eb = HiraKakuStdN-W8,
@@ -193,21 +195,21 @@
}
% モリサワ
-\ltjpreset_declare_preset:nx{bizud}{
+\ltjpreset_declare_preset:ne{bizud}{
mc = BIZ-UDMinchoM.ttc,
gt-d = BIZ-UDGothicR.ttc, gt-b = BIZ-UDGothicB.ttc,
gt-u = BIZ-UDGothicR.ttc, gt-eb = BIZ-UDGothicB.ttc,
mg-m = BIZ-UDGothicB.ttc,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{morisawa-pro}{
+\ltjpreset_declare_preset:ne{morisawa-pro}{
mc = A-OTF-RyuminPro-Light.otf, mc-b = A-OTF-FutoMinA101Pro-Bold.otf,
gt-d = A-OTF-GothicBBBPro-Medium.otf , gt-b = A-OTF-FutoGoB101Pro-Bold.otf,
gt-u = A-OTF-GothicBBBPro-Medium.otf , gt-eb = A-OTF-MidashiGoPro-MB31.otf,
mg-m = A-OTF-Jun101Pro-Light.otf,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{morisawa-pr6n}{
+\ltjpreset_declare_preset:ne{morisawa-pr6n}{
mc = A-OTF-RyuminPr6N-Light.otf, mc-b = A-OTF-FutoMinA101Pr6N-Bold.otf,
gt-d = A-OTF-GothicBBBPr6N-Medium.otf , gt-b = A-OTF-FutoGoB101Pr6N-Bold.otf,
gt-u = A-OTF-GothicBBBPr6N-Medium.otf , gt-eb = A-OTF-MidashiGoPr6N-MB31.otf,
@@ -216,7 +218,7 @@
}
% 游明朝/游ゴシック (Win8.1)
-\ltjpreset_declare_preset:nx{yu-win}{
+\ltjpreset_declare_preset:ne{yu-win}{
mc-m = YuMincho-Regular, mc-b = YuMincho-Demibold,
gt-d = YuGothic-Regular, gt-b = YuGothic-Bold,
gt-u = YuGothic-Regular, gt-eb = YuGothic-Bold,
@@ -224,7 +226,7 @@
__custom = false, __office = false, __noembed = false,
}
% Win10
-\ltjpreset_declare_preset:nx{yu-win10}{
+\ltjpreset_declare_preset:ne{yu-win10}{
mc-m = YuMincho-Regular, mc-b = YuMincho-Demibold,
gt-d = YuGothic-Regular, gt-b = YuGothic-Bold,
gt-u = YuGothic-Medium, gt-eb = YuGothic-Bold,
@@ -234,7 +236,7 @@
% Yu fonts in OSX
% according to http://support.apple.com/kb/HT5944
-\ltjpreset_declare_preset:nx{yu-osx}{
+\ltjpreset_declare_preset:ne{yu-osx}{
mc = YuMincho~Medium, mc-b = YuMincho~Demibold,
gt-d = YuGothic~Medium, gt-u = YuGothic~Medium,
gt-b = YuGothic~Bold, gt-eb = YuGothic~Bold,
@@ -243,14 +245,14 @@
}
% moga-mobo
-\ltjpreset_declare_preset:nx{moga-mobo}{
+\ltjpreset_declare_preset:ne{moga-mobo}{
mc = Moga90Mincho, mc-b = Moga90Mincho~Bold,
gt-d = Moga90Gothic, gt-b = Moga90Gothic~Bold,
gt-u = Moga90Gothic, gt-eb = Moga90Gothic~Bold,
mg-m = Mobo90Gothic,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{moga-mobo-ex}{
+\ltjpreset_declare_preset:ne{moga-mobo-ex}{
mc = MogaEx90Mincho, mc-b = MogaEx90Mincho~Bold,
gt-d = MogaEx90Gothic, gt-b = MogaEx90Gothic~Bold,
gt-u = MogaEx90Gothic, gt-eb = MogaEx90Gothic~Bold,
@@ -259,7 +261,7 @@
}
% Ume fones
-\ltjpreset_declare_preset:nx{ume}{
+\ltjpreset_declare_preset:ne{ume}{
mc = Ume~Mincho,
gt-d = Ume~Gothic, gt-b = Ume~Gothic~O5,
gt-u = Ume~Gothic~O5, gt-eb = Ume~Gothic~O5,
@@ -268,7 +270,7 @@
}
% Source Han {Serif,Sans}
-\ltjpreset_declare_preset:nx{sourcehan}{
+\ltjpreset_declare_preset:ne{sourcehan}{
mc-m = Source~Han~Serif~Regular,
mc-b = Source~Han~Serif~Bold,
gt-d = Source~Han~Sans~Regular,
@@ -279,7 +281,7 @@
mc-l = Source~Han~Serif~Light,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{sourcehan-jp}{
+\ltjpreset_declare_preset:ne{sourcehan-jp}{
mc-m = Source~Han~Serif~JP~Regular,
mc-b = Source~Han~Serif~JP~Bold,
gt-d = Source~Han~Sans~JP~Regular,
@@ -290,7 +292,7 @@
mc-l = Source~Han~Serif~JP~Light,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{noto-otc}{
+\ltjpreset_declare_preset:ne{noto-otc}{
mc-m = Noto~Serif~CJK~Regular,
mc-b = Noto~Serif~CJK~Bold,
gt-d = Noto~Sans~CJK~Regular,
@@ -301,7 +303,7 @@
mc-l = Noto~Serif~CJK~Light,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{noto-otf}{
+\ltjpreset_declare_preset:ne{noto-otf}{
mc-m = Noto~Serif~CJK~JP~Regular,
mc-b = Noto~Serif~CJK~JP~Bold,
gt-d = Noto~Sans~CJK~JP~Regular,
@@ -312,10 +314,10 @@
mc-l = Noto~Serif~CJK~JP~Light,
__custom = false, __office = false, __noembed = false,
}
-\ltjpreset_declare_preset:nx{noto}{
+\ltjpreset_declare_preset:ne{noto}{
noto-otf,
}
-\ltjpreset_declare_preset:nx{noto-jp}{
+\ltjpreset_declare_preset:ne{noto-jp}{
mc-m = Noto~Serif~JP~Regular,
mc-b = Noto~Serif~JP~Bold,
gt-d = Noto~Sans~JP~Regular,
@@ -328,7 +330,7 @@
}
% HaranoAji {Mincho, Gothic}
-\ltjpreset_declare_preset:nx{haranoaji}{
+\ltjpreset_declare_preset:ne{haranoaji}{
mc-m = HaranoAjiMincho-Regular.otf,
mc-b = HaranoAjiMincho-Bold.otf,
gt-d = HaranoAjiGothic-Regular.otf,
@@ -342,30 +344,30 @@
% ipa, ipaex, ms
-\ltjpreset_declare_preset:nx{ipa}{
+\ltjpreset_declare_preset:ne{ipa}{
\__ltjpreset_set_uni:nn { IPAMincho } { IPAGothic }
}
-\ltjpreset_declare_preset:nx{ipaex}{
+\ltjpreset_declare_preset:ne{ipaex}{
\__ltjpreset_set_uni:nn { IPAExMincho } { IPAExGothic }
}
-\ltjpreset_declare_preset:nx{ms}{
+\ltjpreset_declare_preset:ne{ms}{
\__ltjpreset_set_uni:nn { MS-Mincho } { MS-Gothic }
}
% {ipa,ipaex,ms}-dx % Office 付属フォントを利用
-\ltjpreset_declare_preset:nx{ipaex-hg}{
+\ltjpreset_declare_preset:ne{ipaex-hg}{
\__ltjpreset_set_office:nn { IPAExMincho } { IPAExGothic }
}
-\ltjpreset_declare_preset:nx{ipa-hg}{
+\ltjpreset_declare_preset:ne{ipa-hg}{
\__ltjpreset_set_office:nn { IPAMincho } { IPAGothic }
}
-\ltjpreset_declare_preset:nx{ms-hg}{
+\ltjpreset_declare_preset:ne{ms-hg}{
\__ltjpreset_set_office:nn { MS-Mincho } { MS-Gothic }
}
% 非埋込
-\ltjpreset_declare_preset:nx{noembed}{
+\ltjpreset_declare_preset:ne{noembed}{
\__ltjpreset_set_uni:nn { Ryumin-Light } { GothicBBB-Medium },
__custom = false, __office = false, __noembed = true,
}
@@ -385,12 +387,12 @@
\bool_if:NF \g__ltjpreset_custom_bool {
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
\tl_if_eq:NNT \l__ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \tl_set:Nx \l_tmpb_tl { \prop_item:Nn \g__ltjpreset_font_prop { mc-m } }
+ \tl_set:Ne \l_tmpb_tl { \prop_item:Nn \g__ltjpreset_font_prop { mc-m } }
\tl_if_in:NnT \l_tmpb_tl { Moga90Mincho } {
\prop_clear:N \l_tmpa_prop
\prop_map_inline:Nn \g__ltjpreset_font_prop {
\tl_set:Nn \l_tmpb_tl { ##2 } \tl_remove_all:Nn \l_tmpb_tl {90}
- \prop_put:Nnx \l_tmpa_prop { ##1 } { \tl_use:N \l_tmpb_tl }
+ \prop_put:Nne \l_tmpa_prop { ##1 } { \tl_use:N \l_tmpb_tl }
}
\prop_set_eq:NN \g__ltjpreset_font_prop \l_tmpa_prop
}
@@ -398,44 +400,44 @@
\prop_clear:N \l_tmpa_prop
\prop_map_inline:Nn \g__ltjpreset_font_prop {
\tl_set:Nn \l_tmpb_tl { ##2 } \tl_remove_all:Nn \l_tmpb_tl {90}
- \prop_put:Nnx \l_tmpa_prop { ##1 } { \tl_use:N \l_tmpb_tl }
+ \prop_put:Nne \l_tmpa_prop { ##1 } { \tl_use:N \l_tmpb_tl }
}
\prop_set_eq:NN \g__ltjpreset_font_prop \l_tmpa_prop
}
}
}
%%%% リストからの展開
- \cs_set:Nx \__ltjpreset_font_mc_l: { \prop_item:Nn \g__ltjpreset_font_prop { mc-l } }
- \cs_set:Nx \__ltjpreset_font_mc_m: { \prop_item:Nn \g__ltjpreset_font_prop { mc-m } }
- \cs_set:Nx \__ltjpreset_font_mc_b: { \prop_item:Nn \g__ltjpreset_font_prop { mc-b } }
- \cs_set:Nx \__ltjpreset_font_gt_m: { \prop_item:Nn \g__ltjpreset_font_prop { gt-d } }
- \cs_set:Nx \__ltjpreset_font_gt_u: { \prop_item:Nn \g__ltjpreset_font_prop { gt-u } }
- \cs_set:Nx \__ltjpreset_font_gt_b: { \prop_item:Nn \g__ltjpreset_font_prop { gt-b } }
- \cs_set:Nx \__ltjpreset_font_gt_eb: { \prop_item:Nn \g__ltjpreset_font_prop { gt-eb } }
- \cs_set:Nx \__ltjpreset_font_mg_m: { \prop_item:Nn \g__ltjpreset_font_prop { mg-m } }
+ \cs_set:Ne \__ltjpreset_font_mc_l: { \prop_item:Nn \g__ltjpreset_font_prop { mc-l } }
+ \cs_set:Ne \__ltjpreset_font_mc_m: { \prop_item:Nn \g__ltjpreset_font_prop { mc-m } }
+ \cs_set:Ne \__ltjpreset_font_mc_b: { \prop_item:Nn \g__ltjpreset_font_prop { mc-b } }
+ \cs_set:Ne \__ltjpreset_font_gt_m: { \prop_item:Nn \g__ltjpreset_font_prop { gt-d } }
+ \cs_set:Ne \__ltjpreset_font_gt_u: { \prop_item:Nn \g__ltjpreset_font_prop { gt-u } }
+ \cs_set:Ne \__ltjpreset_font_gt_b: { \prop_item:Nn \g__ltjpreset_font_prop { gt-b } }
+ \cs_set:Ne \__ltjpreset_font_gt_eb: { \prop_item:Nn \g__ltjpreset_font_prop { gt-eb } }
+ \cs_set:Ne \__ltjpreset_font_mg_m: { \prop_item:Nn \g__ltjpreset_font_prop { mg-m } }
%% HG 系フォント + JIS2004/90JIS のときはフォント名を置換
\bool_if:nT { !\g__ltjpreset_custom_bool && \g__ltjpreset_office_bool } {
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
\tl_if_eq:NNT \l__ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \cs_set:Nx \__ltjpreset_font_mc_b: { hgrme04.ttc }
- \cs_set:Nx \__ltjpreset_font_gt_b: { hgrge04.ttc }
- \cs_set:Nx \__ltjpreset_font_gt_eb: { hgrsgu04.ttc }
- \cs_set:Nx \__ltjpreset_font_mg_m: { hgrsmp04.ttf }
+ \cs_set:Ne \__ltjpreset_font_mc_b: { hgrme04.ttc }
+ \cs_set:Ne \__ltjpreset_font_gt_b: { hgrge04.ttc }
+ \cs_set:Ne \__ltjpreset_font_gt_eb: { hgrsgu04.ttc }
+ \cs_set:Ne \__ltjpreset_font_mg_m: { hgrsmp04.ttf }
\cs_set_eq:NN \__ltjpreset_font_gt_m: \__ltjpreset_font_gt_u:
% HG ゴシックM のときはそうはいかないので 1 ウェイト時のゴシック体を使う
}
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
\tl_if_eq:NNT \l__ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \cs_set:Nx \__ltjpreset_font_mc_b: { hgrme.ttc }
- \cs_set:Nx \__ltjpreset_font_gt_b: { hgrge.ttc }
- \cs_set:Nx \__ltjpreset_font_gt_eb: { hgrsgu.ttc }
- \cs_set:Nx \__ltjpreset_font_mg_m: { hgrsmp.ttf }
+ \cs_set:Ne \__ltjpreset_font_mc_b: { hgrme.ttc }
+ \cs_set:Ne \__ltjpreset_font_gt_b: { hgrge.ttc }
+ \cs_set:Ne \__ltjpreset_font_gt_eb: { hgrsgu.ttc }
+ \cs_set:Ne \__ltjpreset_font_mg_m: { hgrsmp.ttf }
}
}
% mc/l
- \tl_set:Nx \l_tmpa_tl { \__ltjpreset_font_mc_l: }
+ \tl_set:Ne \l_tmpa_tl { \__ltjpreset_font_mc_l: }
\tl_if_empty:NT \l_tmpa_tl {\tl_set:Nn \l_tmpa_tl {~}}
- \cs_set:Nx \__ltjpreset_font_mc_l: {
+ \cs_set:Ne \__ltjpreset_font_mc_l: {
\tl_if_blank:nTF \l_tmpa_tl { \__ltjpreset_font_mc_m: } {\tl_use:N \l_tmpa_tl }
}
%% bold オプションの処理
@@ -479,7 +481,7 @@
\__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: }
\font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax
\ifx \g__ltjpreset_font_test: \nullfont
- \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+ \msg_warning:nneeee { luatexja-preset }{ no-font }
{ \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
{ \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
\cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: }
@@ -520,7 +522,7 @@
}
\fp_compare:nNnF \Cjascale = 1
- { \msg_warning:nnx { luatexja-preset }{ scale }{ \Cjascale } }
+ { \msg_warning:nne { luatexja-preset }{ scale }{ \Cjascale } }
% {1: encoding}{2: family}{3: series}{4: shape}{5: fontname}{6: feature}{7: scale}
\cs_new:Nn \__ltjpreset_declare_font_shape:nnnnnnn {
@@ -589,7 +591,7 @@
}
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
\tl_if_eq:NNT \l__ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \tl_set:Nx \l__ltjpreset_kanji_shape_tl { ;+jp04 }
+ \tl_set:Ne \l__ltjpreset_kanji_shape_tl { ;+jp04 }
}
\__ltjpreset_define_family:nnn {mc} {m} {\__ltjpreset_font_mc_m:}
\__ltjpreset_define_family:nnn {mc} {bx} {\__ltjpreset_font_mc_b:}
@@ -610,7 +612,7 @@
} {
\RequirePackage{luatexja-fontspec}
% scale
- \msg_warning:nnx { luatexja-preset }{ scale }{ \Cjascale }
+ \msg_warning:nne { luatexja-preset }{ scale }{ \Cjascale }
\tl_new:N \l__ltjpreset_add_features_tl
\bool_if:NT \g__ltjpreset_expert_bool {
@@ -621,7 +623,7 @@
\addjfontfeature{ Kerning=Off }
% 実際の fontspec の呼びだし
\cs_new:Nn \__ltjpreset_do_fontset: { \group_begin:
- \tl_gset:Nx \l__ltjpreset_add_features_tl {
+ \tl_gset:Ne \l__ltjpreset_add_features_tl {
\tl_use:N \l__ltjpreset_kanji_shape_tl,
YokoFeatures = { JFM = \tl_use:N \__ltjpreset_use_jfm_yoko_tl },
TateFeatures = { JFM = \tl_use:N \__ltjpreset_use_jfm_tate_tl },
diff --git a/macros/luatex/generic/luatexja/src/ltj-base.lua b/macros/luatex/generic/luatexja/src/ltj-base.lua
index 2af3908554..e112dfa374 100644
--- a/macros/luatex/generic/luatexja/src/ltj-base.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-base.lua
@@ -398,6 +398,19 @@ function ltjb.add_to_callback(name,fun,description,priority)
return
end
+--- fix \e@alloc@luafunction@count (gh:5)
+do
+ local t = lua.get_functions_table()
+ local m = 0
+ local n = tex.getcount('e@alloc@luafunction@count')
+ for i = 1,math.max(n, #t)+100 do-- I think 100 is sufficient
+ if t[i] then m = i end
+ end
+ if m>n then
+ tex.setcount('global', 'e@alloc@luafunction@count', m)
+ end
+end
+
-------------------- mock of debug logger
if not ltjb.out_debug then
local function no_op() end
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index 164c02d8d3..a54ede6758 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20240219.0}
+\def\LuaTeXjaversion{20240514.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
index 12605ff11b..202cbf5857 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
@@ -3,11 +3,10 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-atbegshi}[2022-08-12 Patching \string\shipout\space hooks for LuaTeX-ja]
+\ProvidesPackage{lltjp-atbegshi}[2024-05-14 Patching \string\shipout\space hooks for LuaTeX-ja]
% concept: execute all hooks inside yoko direction \vbox
-\ifltj@ltfilehook@avail
%<*ltshipout>-----------------------------------
%
\RequirePackage{expl3}
@@ -60,77 +59,4 @@
\fi:
%</ltshipout>-----------------------------------
\ExplSyntaxOff
-\expandafter\endinput
-\fi
-\RequirePackage{atbegshi}
-%<*atbegshi>-------------------------------------
-% patching atbegshi.sty
-%%% following codes are almost copied from
-%%% pxatbegshi.sty 2019/09/07 v0.5 (in platex-tools bundle, by H. Yamashita).
-
-\ifdefined\AtBeginShipoutOriginalShipout
- \let\AtBeginShipoutOriginalShipout\ltj@shipout
-\fi
-\AtBeginShipoutInit
-\DeclareRobustCommand \AtBeginDvi [1]{%
- \global \setbox \@begindvibox
- \vbox{\yoko\unvbox \@begindvibox #1}%
-}
-%% internal macros are locally effective
-\begingroup
-
-% helpers
-%% unique tokens
-\def\pxabgs@mark{\pxabgs@mark@}
-\def\pxabgs@fin{\pxabgs@fin@}
-
-%% \pxabgs@patch@cmd\CMD{<orig>}{<new>}
-\def\pxabgs@patch@cmd#1#2#3{%
- \ifx#1\relax\else
- \def\pxabgs@next##1#2##2\pxabgs@mark##3\pxabgs@fin{%
- \ifx\pxabgs@mark##3\pxabgs@mark\let#1\relax
- \else
- \def\pxabgs@fragment{##2}\def#1{##1#3##2}%
- \fi}%
- \expandafter\pxabgs@next#1\pxabgs@mark#2\pxabgs@mark\pxabgs@fin
- \fi
-}
-
-% prepare
-\ifdefined\AtBegShi@Output
- \let\pxabgs@AtBegShi@Output\AtBegShi@Output
-\else\let\pxabgs@AtBegShi@Output\relax\fi
-% try first patch
-\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
- {\let\AtBegShi@OrgProtect\protect}%
- {\setbox8\vbox\bgroup\yoko\let\AtBegShi@OrgProtect\protect}
-\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
- {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox}%
- {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox\egroup\setbox8\box\voidb@x}
-\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
- {%
- \begingroup
- \setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
- \endgroup
- \let\protect\AtBegShi@OrgProtect
- }{%
- \begingroup
- \setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
- \endgroup
- \let\protect\AtBegShi@OrgProtect
- \egroup
- }
-% commit the change only when successful
-\ifx\pxabgs@AtBegShi@Output\relax
- \@PackageWarningNoLine{lltjp-atbegshi}{%
- Failed in patching \string\AtBegShi@Output.\MessageBreak
- This may cause error in tate direction%
- }
-\else
- \global\let\AtBegShi@Output\pxabgs@AtBegShi@Output
-\fi
-
-\endgroup
-%% internal macros are no longer effective
-%</atbegshi>-------------------------------------
\endinput
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
index 589a3c5d6e..d688936c5f 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
@@ -35,7 +35,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
\tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \rmfamily }
{
@@ -54,7 +54,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
\tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \sffamily }
{
@@ -73,7 +73,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
\tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \ttfamily }
{
@@ -94,7 +94,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
\tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \rmfamily }
{
@@ -113,7 +113,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
\tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \sffamily }
{
@@ -132,7 +132,7 @@
{
\fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
\tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
- \use:x
+ \use:e
{
\exp_not:n { \DeclareRobustCommand \ttfamily }
{
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
index 79ba8cbcf5..bc123e6784 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
@@ -46,9 +46,9 @@
% ltjsclasses: use lua
\cs_new:Nn \lltjp_um_unmag_fsize:
{
- \cs_gset:Nx \lltjp_um_f@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}
- \cs_gset:Nx \lltjp_um_sf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\sf@size)}}
- \cs_gset:Nx \lltjp_um_ssf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\ssf@size)}}
+ \cs_gset:Ne \lltjp_um_f@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}
+ \cs_gset:Ne \lltjp_um_sf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\sf@size)}}
+ \cs_gset:Ne \lltjp_um_ssf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\ssf@size)}}
}
}{
% bxjscls: use \jsc@preadjust@extract@font
diff --git a/macros/luatex/generic/luavlna/README.md b/macros/luatex/generic/luavlna/README.md
index 1fe76754d5..aeaf7d2bd0 100644
--- a/macros/luatex/generic/luavlna/README.md
+++ b/macros/luatex/generic/luavlna/README.md
@@ -1,4 +1,4 @@
-# Luavlna, version 0.1l, 2023-06-21
+# Luavlna, version 0.1m, 2024-05-02
# Introduction
diff --git a/macros/luatex/generic/luavlna/luavlna-doc.pdf b/macros/luatex/generic/luavlna/luavlna-doc.pdf
index a75499a3c9..7f80b780a7 100644
--- a/macros/luatex/generic/luavlna/luavlna-doc.pdf
+++ b/macros/luatex/generic/luavlna/luavlna-doc.pdf
Binary files differ
diff --git a/macros/luatex/generic/luavlna/luavlna-doc.tex b/macros/luatex/generic/luavlna/luavlna-doc.tex
index 470822d4ac..698f46e52d 100644
--- a/macros/luatex/generic/luavlna/luavlna-doc.tex
+++ b/macros/luatex/generic/luavlna/luavlna-doc.tex
@@ -87,7 +87,7 @@ Podpora iniciál a titulů: M. J. Hegel, Ing. Běháková, Ph.D., Ž. Zíbrt,
Ch. Borner.
Podpora jednotek: 100,5 MN\cdot{}s, 100.5 kJ, 200 µA, $-1$ dag,
-12 MiB, 1 m$^3$/s.
+12 MiB.
Uvnitř matematiky by mělo být zpracování vypnuté: $k \in \mathbb N$.
Pokračujeme v příkladu.
@@ -113,7 +113,7 @@ Různé možnosti [v závorkách \textless i jiných znacích
Podpora iniciál a titulů: M. J. Hegel, Ing. Běháková, Ph.D., Ž. Zíbrt, Ch. Borner.
-Podpora jednotek: 100,5 MN\cdot{}s, 100.5 kJ, 200 µA, $-1$ dag, 12 MiB, 1 m$^3$/s.
+Podpora jednotek: 100,5 MN\cdot{}s, 100.5 kJ, 200 µA, $-1$ dag, 12 MiB.
Uvnitř matematiky by mělo být zpracování vypnuté: $k \in \mathbb N$. Pokračujeme v příkladu.
@@ -298,7 +298,9 @@ File \verb|language.dat| is processed to load language names, aliases and assign
local luatex = langno.load_languages(fmt)
local t = {}
for k, v in pairs(luatex.names) do
- t[#t+1]=k
+ if k and k~="" then
+ t[#t+1]=k
+ end
end
table.sort(t)
tex.print(table.concat(t,", "))
diff --git a/macros/luatex/generic/luavlna/luavlna-langno.lua b/macros/luatex/generic/luavlna/luavlna-langno.lua
index f703e4328a..7f25d84100 100644
--- a/macros/luatex/generic/luavlna/luavlna-langno.lua
+++ b/macros/luatex/generic/luavlna/luavlna-langno.lua
@@ -58,7 +58,8 @@ local load_lang_dat = function(start)
end
local load_lang_dat_lualatex = function()
- return load_lang_dat(1)
+ -- it used to be 1, but it seems that in newer LuaLaTeX versions, we should start at 0
+ return load_lang_dat(0)
end
local load_csplain= function()
diff --git a/macros/luatex/generic/luavlna/luavlna.lua b/macros/luatex/generic/luavlna/luavlna.lua
index 416ecc5841..3e5f79346f 100644
--- a/macros/luatex/generic/luavlna/luavlna.lua
+++ b/macros/luatex/generic/luavlna/luavlna.lua
@@ -260,6 +260,15 @@ local is_unit = function(word)
return false
end
+local function handle_unit(word, anchor)
+ -- insert nbsp between numbers and units
+ word = cut_off_end_chars(word, false)
+ if is_unit(word) then
+ anchor = replace_with_thin_space(anchor)
+ insert_penalty(anchor.prev)
+ end
+end
+
local predegrees = Set (require "luavlna-predegrees")
local sufdegrees = Set (require "luavlna-sufdegrees")
@@ -299,11 +308,7 @@ local function prevent_single_letter (head)
if wasnumber then
if word ~= "" then
wasnumber = false
- word = cut_off_end_chars(word, false)
- if is_unit(word) then
- anchor = replace_with_thin_space(anchor)
- insert_penalty(anchor.prev)
- end
+ handle_unit(word, anchor)
end
elseif is_number(word) then
wasnumber = true
@@ -356,6 +361,10 @@ local function prevent_single_letter (head)
end
head = head.next
end
+ -- insert spaces at the end of node list
+ if wasnumber then
+ handle_unit(word, anchor)
+ end
return true
end
diff --git a/macros/luatex/generic/luavlna/luavlna.sty b/macros/luatex/generic/luavlna/luavlna.sty
index 9f411c5f9f..b49ef89803 100644
--- a/macros/luatex/generic/luavlna/luavlna.sty
+++ b/macros/luatex/generic/luavlna/luavlna.sty
@@ -1,4 +1,4 @@
-\ProvidesPackage{luavlna}[2023-06-21 luavlna]
+\ProvidesPackage{luavlna}[2024-05-02 luavlna]
\ifdefined\directlua\else
\PackageWarning{luavlna}{Luavlna needs LuaLaTeX, aborting}
diff --git a/macros/luatex/generic/luavlna/luavlna.tex b/macros/luatex/generic/luavlna/luavlna.tex
index d678854e9a..ddddf8ab9e 100644
--- a/macros/luatex/generic/luavlna/luavlna.tex
+++ b/macros/luatex/generic/luavlna/luavlna.tex
@@ -72,10 +72,15 @@ end
% we can try to find the language ID from macros first, if it fails
% we pass the language name to Lua. it will try to find ID in luanguage.dat and other sources
\def\singlecharsgetlang#1{%
- \ifcsname lang@#1\endcsname%
- \the\csname lang@#1\endcsname%
- \else% unknown language macro, let langno library to find it
- #1%
+ \ifcsname l@#1\endcsname%
+ \the\csname l@#1\endcsname%
+ \else%
+ \ifcsname lang@#1\endcsname%
+ \the\csname lang@#1\endcsname%
+ \else%
+ % unknown language macro, let langno library to find it
+ #1%
+ \fi%
\fi%
}
diff --git a/macros/luatex/latex/lua-typo/README.md b/macros/luatex/latex/lua-typo/README.md
index 801a2603af..a58c92ab75 100644
--- a/macros/luatex/latex/lua-typo/README.md
+++ b/macros/luatex/latex/lua-typo/README.md
@@ -108,6 +108,10 @@ Changes
* v.0.86:
- corrected typo in the `signature` function;
- compatibility with package `stfloats` added.
+
+* v.0.87:
+ - improved page body detection.
+ - warning about incompability with the `reledmac` package added.
--
Copyright 2020--2024 Daniel Flipo
diff --git a/macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdf b/macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdf
index 08c3430123..29e39b362c 100644
--- a/macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdf
+++ b/macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdf
Binary files differ
diff --git a/macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf b/macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf
index 92a1ad5d4e..d32b10b314 100644
--- a/macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf
+++ b/macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf
Binary files differ
diff --git a/macros/luatex/latex/lua-typo/doc/lua-typo.pdf b/macros/luatex/latex/lua-typo/doc/lua-typo.pdf
index 234889f673..9fce36fa85 100644
--- a/macros/luatex/latex/lua-typo/doc/lua-typo.pdf
+++ b/macros/luatex/latex/lua-typo/doc/lua-typo.pdf
Binary files differ
diff --git a/macros/luatex/latex/lua-typo/source/lua-typo.dtx b/macros/luatex/latex/lua-typo/source/lua-typo.dtx
index 0fdb2395f8..e4ad16ab42 100644
--- a/macros/luatex/latex/lua-typo/source/lua-typo.dtx
+++ b/macros/luatex/latex/lua-typo/source/lua-typo.dtx
@@ -59,11 +59,13 @@
\usepackage{fontspec}
\setmainfont{erewhon}
\setsansfont{Cabin}[Scale=MatchLowercase]
-\setmonofont{VeraMono.ttf}[
+\setmonofont{iosevka}[
Scale = MatchLowercase,
- ItalicFont = VeraMoIt.ttf,
- BoldFont = VeraMoBd.ttf,
- BoldItalicFont = VeraMoBI.ttf,
+ Extension = .ttf,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ BoldFont = *-bold,
+ BoldItalicFont = *-bolditalic,
HyphenChar=None,
Color=5D1D00,
]
@@ -208,7 +210,7 @@
% \pkg{lua-typo}, il suffit d’ajouter dans le préambule la ligne %\\
% |\usepackage[All]{lua-typo}|
%
-% La version courante (0.85) nécessite un noyau LaTeX récent,
+% La version courante (\fileversion) nécessite un noyau LaTeX récent,
% 2022/06/01 ou ultérieur. Ceux qui ne disposent que d’un noyau
% antérieur à 2021/06/01 reçoivent un message d’erreur
% «\texttt{Unable to register callback}» ; une version «rollback »
@@ -311,6 +313,13 @@
% |\luatypoMinLen=4| lettres), on le signale.
% \end{description}
%
+% \section{Incompatibilités connues}
+%
+% La version actuelle de \pkg{lua-typo} est incompatible avec
+% l’extension \pkg{reledmac}. Si celle-ci est chargée, aucune
+% vérification n’est effectuée par \pkg{lua-typo}, l’utilisateur
+% en est informé par un message dans le fichier \file{.log}.
+%
% \section{Paramétrage personnalisé}
%
% Pour certaines vérifications faites par \pkg{lua-typo} un
@@ -528,9 +537,9 @@
% it can be loaded this way: |\usepackage[All]{lua-typo}[=v0.4]|.
%
% \enlargethispage*{\baselineskip}
-% Version 0.85 requires a LaTeX kernel dated 2022/06/01 or later.
-% Another ``rollback’’ version |[=v0.65]| has been added for those
-% who run an older kernel.
+% The current version (\fileversion) requires a LaTeX kernel dated
+% 2022/06/01 or later. Another ``rollback’’ version |[=v0.65]| has
+% been added for those who run an older kernel.
%
% See files \file{demo.tex} and \file{demo.pdf} for a short example
% (in French).
@@ -615,6 +624,12 @@
%
% \end{description}
%
+% \section{Known issues}
+%
+% \pkg{lua-typo} is currently incompatible with the \pkg{reledmac}
+% package. When the latter is loaded, no check is performed by
+% \pkg{lua-typo}, a warning is issued in the \file{.log} file.
+%
% \section{Customisation}
%
% Some of the checks mentionned above require tuning, for
@@ -752,7 +767,7 @@
%<+scan>\ProvidesPackage{scan-page}
%<+dtx>\ProvidesFile{lua-typo.dtx}
%<*dtx|sty|scan>
- [2024-01-12 v.0.86 Daniel Flipo]
+ [2024-04-18 v.0.87 Daniel Flipo]
%</dtx|sty|scan>
%<*sty>
% \fi
@@ -1001,8 +1016,20 @@ luatypo = { }
% Some defaut values which can be customised in the preamble
% are forwarded to Lua AtBeginDocument.
%
+% \changes{v0.87}{2024/04/18}{Add warning: lua-typo incompatible
+% with the `reledmac’ package.}
+%
% \begin{macrocode}
\AtBeginDocument{%
+ \@ifpackageloaded{reledmac}%
+ {\PackageWarning{lua-typo}{%
+ 'lua-typo' is incompatible with\MessageBreak
+ the 'reledmac' package.\MessageBreak
+ 'lua-typo' checking disabled.\MessageBreak
+ Reported}%
+ \LT@Nonetrue
+ \directlua{ luatypo.None = true }%
+ }{}%
\directlua{
luatypo.HYPHmax = tex.count.luatypoHyphMax
luatypo.PAGEmin = tex.count.luatypoPageMin
@@ -1056,10 +1083,10 @@ luatypo = { }
\ifLT@None
\directlua{
texio.write_nl(' ')
- texio.write_nl('***********************************')
- texio.write_nl('*** lua-typo loaded with NO option:')
+ texio.write_nl('************************************')
+ texio.write_nl('*** lua-typo running with NO option:')
texio.write_nl('*** NO CHECK PERFORMED! ***')
- texio.write_nl('***********************************')
+ texio.write_nl('************************************')
texio.write_nl(' ')
}%
\else
@@ -2095,6 +2122,7 @@ local check_marginnote = function (head, line, colno, vpos, bpmn)
local MarginparPos = luatypo.MarginparPos
local margintol = luatypo.MParTol
local marginpp = tex.getdimen("marginparpush")
+ local textht = tex.getdimen("textheight")
local pflag = false
local ofirst = true
local ufirst = true
@@ -2158,7 +2186,6 @@ local check_marginnote = function (head, line, colno, vpos, bpmn)
last = head
head = next
end
- local textht = tex.getdimen("textheight")
%<dbg> local tht = string.format("%.1fpt", textht/65536)
%<dbg> local bott = string.format("%.1fpt", bottom/65536)
%<dbg> texio.write_nl(' Bottom=' .. bott)
@@ -2186,6 +2213,9 @@ end
% \changes{v0.86}{2024/01/10}{Package `stfloats’ adds 1sp to the
% external \cs{vbox}. Be less picky regarding height test.}
%
+% \changes{v0.87}{2024/04/18}{\cs{get\_pagebody} improved: it
+% failed for crop + hyperref.}
+%
% \begin{macrocode}
local get_pagebody = function (head)
local textht = tex.getdimen("textheight")
@@ -2199,42 +2229,40 @@ local get_pagebody = function (head)
%<dbg> local dp = string.format("%.1fpt", fn.depth/65536)
%<dbg> texio.write_nl('get_pagebody: TOP VLIST')
%<dbg> texio.write(' ht=' .. ht .. ' dp=' .. dp)
+% \end{macrocode}
+% Enter the first \node{vlist} found, recursively scan its
+% internal \node{vlist}s high enough to include the 'body'
+% the height of which is known ('textht')…
+% \begin{macrocode}
first = fn.list
- for n in traverse_id(VLIST,first) do
+ repeat
+ for n in traverse_id(VLIST,first) do
% \end{macrocode}
% Package `stfloats’ seems to add 1sp to the external \cs{vbox}
% for each float found on the page.
% Add $\pm8$sp tolerance when comparing |n.height| to
% |\textheight|.
% \begin{macrocode}
- if n.subtype == 0 and n.height >= textht-1 and
- n.height <= textht+8 then
+ if n.subtype == 0 and n.height >= textht-1 then
+ if n.height <= textht+8 then
%<dbg> local ht = string.format("%.1fpt", n.height/65536)
%<dbg> texio.write_nl('BODY found: ht=' .. ht)
-%<dbg> texio.write_nl(', ' .. n.height .. 'sp')
+%<dbg> texio.write('=' .. n.height .. 'sp')
%<dbg> texio.write_nl(' ')
- body = n
- break
- else
+ body = n
+ break
+ else
+ first = n.list
+ end
+ else
%<dbg> texio.write_nl('Skip short VLIST:')
%<dbg> local ht = string.format("%.1fpt", n.height/65536)
%<dbg> local dp = string.format("%.1fpt", n.depth/65536)
-%<dbg> texio.write('ht=' .. ht .. ', ' .. n.height .. 'sp')
+%<dbg> texio.write('ht=' .. ht .. '=' .. n.height .. 'sp')
%<dbg> texio.write('; dp=' .. dp)
- local ff = n.list
- for nn in traverse_id(VLIST,ff) do
-%<dbg> ht = string.format("%.1fpt", nn.height/65536)
-%<dbg> texio.write_nl(' VLIST: ht=' .. ht)
-%<dbg> texio.write(', ' .. nn.height .. 'sp')
- if nn.subtype == 0 and nn.height >= textht-1 and
- nn.height <= textht+8 then
-%<dbg> texio.write(' got BODY!')
- body = nn
- break
- end
- end
- end
- end
+ end
+ end
+ until body or not first
if not body then
texio.write_nl('***lua-typo ERROR: PAGE BODY *NOT* FOUND!***')
end
@@ -2666,36 +2694,35 @@ check_vtop = function (top, colno, vpos)
color_line (head, COLOR)
backpar = false
end
- elseif head and head.id == HLIST and head.subtype == BOX and
- head.width > 0 then
- if head.height == 0 then
+ elseif head and head.id == HLIST and head.subtype == BOX then
+ if head.width > 0 then
+ if head.height == 0 then
% \end{macrocode}
% This is a possible margin note.
% \begin{macrocode}
- bpmn, pflag = check_marginnote(head, line, colno, vpos, bpmn)
- if pflag then pageflag = true end
- else
+ bpmn, pflag = check_marginnote(head, line, colno, vpos, bpmn)
+ if pflag then pageflag = true end
+ page_bottom, body_bottom = check_EOP(nextnode)
+ else
% \end{macrocode}
% Leave |check_vtop| if a two columns box starts.
% \begin{macrocode}
- local hf = head.list
- if hf and hf.id == VLIST and hf.subtype == 0 then
-%<dbg> texio.write_nl('check_vtop: BREAK => multicol')
-%<dbg> texio.write_nl(' ')
- break
- else
-% \end{macrocode}
-% \changes{v0.80}{2023/04/18}{hlist-2: added detection of page bottom
-% and increment line number and vpos.}
-% This is an |\hbox| (f.i.\ centred), let’s update |vpos|, line
-% and check for page bottom
-% \begin{macrocode}
- vpos = vpos + head.height + head.depth
- pageline = pageline + 1
- line = pageline
- page_bottom, body_bottom = check_EOP (nextnode)
+ local hf = head.list
+ if hf and hf.id == VLIST and hf.subtype == 0 then
+%<dbg> texio.write_nl('check_vtop: BREAK => multicol')
+%<dbg> texio.write_nl(' ')
+ break
+ end
end
end
+% \end{macrocode}
+% \changes{v0.80}{2023/04/18}{hlist-2: added detection of page bottom
+% and increment vpos.}
+% This is an |\hbox| (f.i.\ centred), let’s update |vpos| and
+% check for page bottom. Counter pageline is \emph{not} incremented.
+% \begin{macrocode}
+ vpos = vpos + head.height + head.depth
+ page_bottom, body_bottom = check_EOP (nextnode)
elseif head.id == HLIST and
(head.subtype == EQN or head.subtype == ALIGN) and
(head.height > 0 or head.depth > 0) then
@@ -2810,7 +2837,7 @@ check_vtop = function (top, colno, vpos)
local n = head
repeat
n = n.prev
- until n.id == HLIST
+ until n.id == HLIST and n.subtype == LINE
color_line (n, COLOR)
end
first_bot = false
@@ -3036,7 +3063,7 @@ return luatypo.check_page
% unless option |None| is selected.
%
% \begin{macrocode}
-\AtEndOfPackage{%
+\AtBeginDocument{%
\directlua{
if not luatypo.None then
luatexbase.add_to_callback
@@ -3291,37 +3318,32 @@ local get_pagebody = function (head)
repeat
fn = fn.next
until fn.id == VLIST and fn.height > 0
- first = fn.list
local ht = string.format("%.1fpt", fn.height/65536)
local dp = string.format("%.1fpt", fn.depth/65536)
texio.write_nl("SKIP vlist: ht=" .. ht .. " dp=" .. dp)
- for n in traverse_id(VLIST,first) do
- if n.subtype == 0 and n.height >= textht-1 and
- n.height <= textht+8 then
- local ht = string.format("%.1fpt", n.height/65536)
- texio.write_nl(' BODY found: ' .. ht)
- texio.write(', ' .. n.height .. 'sp')
- texio.write_nl(' ')
- body = n
- break
- else
- local ht = string.format("%.1fpt", n.height/65536)
- local dp = string.format("%.1fpt", n.depth/65536)
- texio.write_nl(' SKIP vlist: ht=' .. ht .. ' dp=' .. dp)
- local ff = n.list
- for nn in traverse_id(VLIST,ff) do
- if nn.subtype == 0 and nn.height >= textht-1 and
- nn.height <= textht+8 then
- ht = string.format("%.1fpt", nn.height/65536)
- texio.write_nl(' BODY: ' .. ht)
- texio.write(', ' .. nn.height .. 'sp')
- texio.write_nl(' ')
- body = nn
- break
- end
- end
- end
- end
+ first = fn.list
+ repeat
+ for n in traverse_id(VLIST,first) do
+ if n.subtype == 0 and n.height >= textht-1 then
+ if n.height <= textht+8 then
+ local ht = string.format("%.1fpt", n.height/65536)
+ texio.write_nl('BODY found: ht=' .. ht)
+ texio.write('=' .. n.height .. 'sp')
+ texio.write_nl(' ')
+ body = n
+ break
+ else
+ first = n.list
+ end
+ else
+ texio.write_nl('Skip short VLIST:')
+ local ht = string.format("%.1fpt", n.height/65536)
+ local dp = string.format("%.1fpt", n.depth/65536)
+ texio.write('ht=' .. ht .. '=' .. n.height .. 'sp')
+ texio.write('; dp=' .. dp)
+ end
+ end
+ until body or not first
if not body then
texio.write_nl('***lua-typo ERROR: PAGE BODY *NOT* FOUND!***')
end
diff --git a/macros/luatex/latex/novel/README.md b/macros/luatex/latex/novel/README.md
index a95f9d4034..5b9e8de4ac 100644
--- a/macros/luatex/latex/novel/README.md
+++ b/macros/luatex/latex/novel/README.md
@@ -6,9 +6,7 @@ Special attention to the needs of print-on-demand.
Author: Robert Allgeyer. (Aptos, California, USA).
-Project Page: https://github.com/rallg/novel
-
-Contact: Username `rallg` at GitHub or tex.stackexchange.com.
+Contact: Username `rallg` at tex.stackexchange.com.
Licenses: Fonts are licensed Open Font License 1.1.
TeX code is licensed Latex Project Public License 1.3c, with some code snippets
@@ -17,6 +15,5 @@ attributed under terms of Creative Commons CC-BY-SA 4.0.
Additional Information: Due to changes in print technology over the years,
much of `novel` code is now unnecessary. Also, it offers many rarely-used
features that bloat the code and its documentation.
-If you have not already used `novel`, the simpler `novelette` document class
-might be better for your purpose. Expected 2024.
-
+So although the package continues to work as of TeXlive 2024,
+it is no longer maintained.
diff --git a/macros/luatex/latex/novel/doc/novel-documentation.html b/macros/luatex/latex/novel/doc/novel-documentation.html
index 080086130a..c4bd3ae36e 100644
--- a/macros/luatex/latex/novel/doc/novel-documentation.html
+++ b/macros/luatex/latex/novel/doc/novel-documentation.html
@@ -497,9 +497,6 @@ p.overhang {margin-left:32px; text-indent:-16px;}
<p class="item">ALERT: If you have been using this document class prior to version 1.80 (February 2023),
see <a href="#hZ">Appendix Z</a>.</p>
-<p class="item">ALERT: New user? Little knowledge of LaTeX? Try the simpler "novelette" document class.
-Expected in early 2024.</p>
-
<!-- ********************************************************************** -->
<div id="page01" class="page">
@@ -3137,7 +3134,7 @@ Some text {\baskf\addfontfeature{Numbers=Monospaced} hello 123} is here.
<h4>Important Changes</h4>
<div class="d3">
-<p>Version 2.1 (2024) Added choice babel/polyglossia. Revised uuid.</p>
+<p>Version 2.1-2.2 (2024) Added choice babel/polyglossia. Revised uuid.</p>
<p>Version 1.86 (2024) docs edited.</p>
<p>Version 1.84 (2023) docs edited. Probably final update.</p>
<p>Version 1.83 (2023) corrected minor typo. Will not affect most users.</p>
diff --git a/macros/luatex/latex/novel/doc/novel.pdf b/macros/luatex/latex/novel/doc/novel.pdf
index 181ab08a5c..2711d7c979 100644
--- a/macros/luatex/latex/novel/doc/novel.pdf
+++ b/macros/luatex/latex/novel/doc/novel.pdf
@@ -8,10 +8,10 @@ stream
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/">
- <xmp:ModifyDate>2024-02-16T20:46:42-08:00</xmp:ModifyDate>
- <xmp:CreateDate>2024-02-16T20:46:42-08:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-04-24T08:06:30-07:00</xmp:ModifyDate>
+ <xmp:CreateDate>2024-04-24T08:06:30-07:00</xmp:CreateDate>
<xmp:CreatorTool>LuaLaTeX with novel and microtype</xmp:CreatorTool>
- <xmp:MetadataDate>2024-02-16T20:46:42-08:00</xmp:MetadataDate>
+ <xmp:MetadataDate>2024-04-24T08:06:30-07:00</xmp:MetadataDate>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/">
@@ -25,7 +25,7 @@ stream
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
<xmpMM:DocumentID>uuid:8be8dbc2-8185-4bd3-89d9-3e8e2e6caf20</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:07b883d2-6d54-4e3f-8435-88147e89e625</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:5f196fe3-7211-4761-88a4-cead141a24ad</xmpMM:InstanceID>
<xmpMM:RenditionClass>default</xmpMM:RenditionClass>
<xmpMM:VersionID>1</xmpMM:VersionID>
</rdf:Description>
@@ -49,7 +49,7 @@ stream
endstream
endobj
7 0 obj
-<< /Length 8460 >>
+<< /Length 7036 >>
stream
0 g 0 G
0 g 0 G
@@ -71,45 +71,33 @@ BT
/F95 11.3574 Tf
0.992 0 0 1 88.261 401.818 Tm [<00350049004A0054>-252<00450050>-7<00440056004E0046004F0055>-253<0044004D004200540054>-253<005800420054>-252<0939005300540055>-253<00510053004A0057004200550046004D005A>-253<005600540046>-7<0045>-252<004A004F>-253<09CA09C809C909CC000F>-338<003500490046004F000D>]TJ
1.02 0 0 1 54 387.024 Tm [<004A004F>-280<09CA09C809C909D0000D>-289<004A0055>-280<005800420054>-281<004A004E00510053>8<0050>7<0057>8<0046>-7<0045000D>-289<00450050>-7<00440056004E0046004F00550046>-7<0045000D>-289<0042004F0045>-280<0053>7<0046004D0046004200540046>-6<0045000F>-432<002A0055>-281<004900420054>-280<0043>-10<0046>-7<0046004F>]TJ
-1.02 0 0 1 54 372.229 Tm [<004E0042004A004F00550042004A004F0046>-7<0045>-315<005500490053>7<0050005600480049>-314<0035>62<00460039004D004A0057>8<0046>-315<09CA09C809CA09CB000F>-538<002A0055>-315<004A0054>-315<0046>6<00590051>-6<0046>-7<004400550046>-7<0045>-316<00550050>-315<0058>7<00500053004C>-315<004A004F>-315<005500490046>]TJ
-1 0 0 1 54 357.435 Tm [<00470056005500560053>8<0046>10<000D>-250<004300560055>-250<004A0054>-250<004F0050>-250<004D0050004F004800460053>-250<004E0042004A004F00550042004A004F0046>-7<0045>-250<0043005A>-250<004A00550054>-250<00500053004A0048004A004F0042004D>-250<00440053>8<00460042005500500053>59<000F>]TJ
+1.003 0 0 1 54 372.229 Tm [<004E0042004A004F00550042004A004F0046>-7<0045>-248<005500490053>7<0050005600480049>-247<0035>63<00460039004D004A0057>8<0046>-248<09CA09C809CA09CB000F>-332<002A0055>-248<00440050004F0055004A004F005600460054>-249<00550050>-248<0058>7<00500053004C>-247<004A004F>-249<0035>63<00460039004D004A0057>8<0046>]TJ
+1 0 0 1 54 357.435 Tm [<09CA09C809CA09CC000D>-250<004300560055>-250<004A0054>-250<004F0050>-250<004D0050004F004800460053>-250<004E0042004A004F00550042004A004F0046>-7<0045>-250<0043005A>-250<004A00550054>-250<00500053004A0048004A004F0042004D>-250<00440053>8<00460042005500500053>59<000F>]TJ
0.98 0 0 1 71.036 342.64 Tm [<002400490042004F004800460054>-226<004A004F>-226<00510053004A004F0055000E0050004F000E00450046004E0042004F0045>-227<00550046>-7<00440049004F0050004D00500048005A>-227<004900420057>8<0046>-226<004E004200450046>-226<004E0042004F005A>-227<00510042005300550054>]TJ
0.98 0 0 1 54 327.845 Tm [<00500047>-254<00550049004A0054>-255<00440050>-7<00450046>-254<004A00530053>7<0046004D0046>7<00570042004F0055000F>-339<0035004900460053>8<0046>-254<00420053>7<0046>-253<0042004D00540050>-255<0042>-254<00470046>6<0058>-254<00440050004E004E0042004F00450054>-254<0055004900420055>-255<0053>8<0046>-7<00520056004A0053>8<0046>]TJ
1.02 0 0 1 54 313.051 Tm [<00480053004200510049004A0044>-288<004500460054004A0048004F>-288<0046>6<00590051>-6<00460053004A0046004F00440046>-289<004700500053>-288<00510053>7<00500051>-6<00460053>-289<00560054004200480046>9<000F>-456<0022004F0045>-288<0042>-289<00470046>6<0058>-287<0054004600550055004A004F00480054000D>]TJ
1 0 0 1 53.58 298.256 Tm [<00580049004A00440049>-250<0054004900500056004D0045>-250<0043>-10<0046>-250<0054004A004E0051004D0046>-250<0042004F0045>-250<005000430057004A005000560054000D>-250<00420053>8<0046>-250<00440050004E0051004D0046>7<0059>-250<0042004F0045>-250<00420053>8<00440042004F0046>10<000F>]TJ
-1.02 0 0 1 71.036 283.462 Tm [<002A0047>]TJ
+0.98 0 0 1 71.036 283.462 Tm [<002A0047>]TJ
/F98 11.3574 Tf
-1.02 0 0 1 81.23 283.462 Tm [<004F0050>7<0057>8<0046004D>]TJ
+0.98 0 0 1 80.294 283.462 Tm [<004F0050>7<0057>8<0046004D>]TJ
/F95 11.3574 Tf
-1.02 0 0 1 109.331 283.462 Tm [<0058>8<00500053004C0054>-273<004700500053>-273<005A>8<00500056000D>-279<00480050>-7<0050>-7<0045000F>-411<002300560055>-273<004A0047>-273<005A>7<00500056>-272<00420053>7<0046>-272<0054004A004E0051004D005A>-273<00580053004A0055004A004F0048>-273<0042>]TJ
-1.02 0 0 1 54 268.667 Tm [<093900440055004A0050004F>-283<004F0050>6<0057>8<0046004D000D>-293<004F005000550049004A004F0048>-284<00470042004F0044005A>58<000D>-292<005500490046004F>-284<00540046>-7<0046>-284<004A0047>-284<00240035>48<0022002F>-282<0042004F0045>-284<0035>62<00460039004D004A0057>8<0046>-283<004900420057>7<0046>]TJ
-1.02 0 0 1 54 253.873 Tm [<0042>-273<005100420044004C004200480046>-274<004F0042004E0046>-7<0045>]TJ
-/F98 11.3574 Tf
-1.02 0 0 1 139.105 253.873 Tm [<004F0050>7<0057>7<0046004D0046005500550046>]TJ
-/F95 11.3574 Tf
-1.02 0 0 1 179.711 253.873 Tm [<000F>-411<0022>11<0054>-273<00500047>-273<004D004200550046>-274<002B0042004F005600420053>-15<005A>-273<09CA09C809CA09CC000D>-281<005500490046>-273<005100420044004C004200480046>]TJ
-1.02 0 0 1 54 239.078 Tm [<004A0054>-264<004A004F>-265<0043>-10<004600550042>-265<0055004600540055>-265<0009004F00500055>-265<0053>7<0046004D0046004200540046>-6<0045>-265<005A>7<00460055000A000F>-385<002A0047>-265<005500490046>-265<005100420044004C004200480046>-264<0046>6<0059004A005400550054>-264<0042004F0045>-265<00440042004F>-265<0043>-10<0046>]TJ
-1 0 0 1 54 224.284 Tm [<004A004F005400550042004D004D0046>-7<0045000D>-250<005500490046004F>-250<005A>8<00500056>-250<0054004900500056004D0045>-250<00510053>8<0046004700460053>]TJ
-/F98 11.3574 Tf
-1 0 0 1 207.45 224.284 Tm [<004F0050>7<0057>8<0046004D0046005500550046>]TJ
-/F95 11.3574 Tf
-1 0 0 1 247.258 224.284 Tm [<000F>]TJ
+0.98 0 0 1 106.778 283.462 Tm [<0058>8<00500053004C0054>-224<004700500053>-225<005A>8<00500056000D>-230<00480050>-7<0050>-8<0045000F>-330<002300560055>-224<004A0047>-225<004F00500055000D>-231<004F0050>-225<004400490042004F004800460054>-225<00420053>8<0046>-224<0051004D0042004F004F0046>-7<0045000F>]TJ
/F97 11.3574 Tf
-1 0 0 1 54 194.695 Tm [<00250046005400440053004A00510055004A0050004F001B>]TJ
+1 0 0 1 54 253.873 Tm [<00250046005400440053004A00510055004A0050004F001B>]TJ
/F95 11.3574 Tf
-1.02 0 0 1 121.178 194.695 Tm [<003500490046>]TJ
+1.02 0 0 1 121.178 253.873 Tm [<003500490046>]TJ
/F98 11.3574 Tf
-1.02 0 0 1 142.58 194.695 Tm [<004F0050>7<0057>8<0046004D>]TJ
+1.02 0 0 1 142.58 253.873 Tm [<004F0050>7<0057>8<0046004D>]TJ
/F95 11.3574 Tf
-1.02 0 0 1 170.594 194.695 Tm [<00450050>-7<00440056004E0046004F0055>-265<0044004D004200540054>-266<004A0054>-265<004700500053>-265<00580053004A0055004600530054>-266<00500047>-265<00500053004A0048004A004F0042004D>]TJ
-0.98 0 0 1 54 179.9 Tm [<093900440055004A0050004F000D>-244<00550050>-242<0043>-10<0046>-242<00510053004A004F00550046>-7<0045>-242<00550050>-242<005100420051>-7<00460053>61<000D>-244<0058004A00550049>-242<0042005500550046004F0055004A0050004F>-241<00550050>-242<005500490046>-242<0053>7<0046>-6<00520056004A0053>8<0046004E0046004F00550054>-241<00500047>]TJ
-0.995 0 0 1 54 165.106 Tm [<005500490046>-249<00510053004A004F0055000E0050004F000E00450046004E0042004F0045>-250<004E00420053004C00460055000F>-335<002F0050004F000E00440050004D00500053>-250<004A004F005500460053004A005000530054>-249<0042004F0045>-250<00440050004D00500053>-250<00440050>6<0057>8<004600530054>]TJ
-1.02 0 0 1 54 150.311 Tm [<00420053>8<0046>-294<0054005600510051>-7<0050005300550046>-7<0045000F>-474<002A004E0042004800460054>-295<00420053>8<0046>-294<0054005600510051>-7<0050005300550046>-7<0045000D>-307<004300560055>-294<0050004F004D005A>-294<00420054>-294<005500490046>6<005A>-294<004E004A004800490055>-294<0043>-10<0046>]TJ
-1 0 0 1 54 135.517 Tm [<005600540046>-7<0045>-250<004A004F>-250<093900440055004A0050004F000D>-250<004F00500055>-250<0051004A0044005500560053>8<0046>-250<0043>-10<0050>-7<0050004C0054000F>]TJ
-0.98 0 0 1 71.036 120.722 Tm [<002A0047>-226<005A>8<005000560053>-226<0058>8<00500053004C>-226<004A0054>-226<0042004F>-226<0026000E0043>-10<0050>-8<0050004C000D>-232<00500053>-226<0056005400460054>-226<004A004F005500460053004A00500053>-226<00440050004D00500053>-226<00500055004900460053>-227<005500490042004F>-226<004800530042005A>61<000D>]TJ
-1 0 0 1 54 105.928 Tm [<00500053>-250<004A0054>-250<00420044004200450046004E004A0044000D>-250<005500490046004F>-250<00550049004A0054>-250<00450050>-7<00440056004E0046004F0055>-250<0044004D004200540054>-250<004A0054>-250<004F00500055>-250<004700500053>-250<005A>8<00500056000F>]TJ
-1 0 0 1 71.036 91.133 Tm [<002300560055>-250<004A0047>-250<005A>7<00500056>-250<00420053>8<0046>-250<00580053004A0055004A004F0048>-250<0042>-251<0045004600550046>-7<00440055004A0057>7<0046>-249<004F0050>6<0057>8<0046004D000D>-249<00500053>-251<00540044004A0046004F00440046>-250<093900440055004A0050004F000D>-251<00500053>-250<0042>]TJ
-1 0 0 1 54 76.339 Tm [<00440050004D004D0046>-7<00440055004A0050004F>-250<00500047>-250<00540049005000530055>-250<0054005500500053004A00460054000D>-250<005500490046004F>-250<005A>8<00500056>-250<00420053>8<0046>-250<004A004F>-250<005500490046>-250<0053004A004800490055>-250<0051004D004200440046>10<000F>]TJ
+1.02 0 0 1 170.594 253.873 Tm [<00450050>-7<00440056004E0046004F0055>-265<0044004D004200540054>-266<004A0054>-265<004700500053>-265<00580053004A0055004600530054>-266<00500047>-265<00500053004A0048004A004F0042004D>]TJ
+0.98 0 0 1 54 239.078 Tm [<093900440055004A0050004F000D>-244<00550050>-242<0043>-10<0046>-242<00510053004A004F00550046>-7<0045>-242<00550050>-242<005100420051>-7<00460053>61<000D>-244<0058004A00550049>-242<0042005500550046004F0055004A0050004F>-241<00550050>-242<005500490046>-242<0053>7<0046>-6<00520056004A0053>8<0046004E0046004F00550054>-241<00500047>]TJ
+0.995 0 0 1 54 224.284 Tm [<005500490046>-249<00510053004A004F0055000E0050004F000E00450046004E0042004F0045>-250<004E00420053004C00460055000F>-335<002F0050004F000E00440050004D00500053>-250<004A004F005500460053004A005000530054>-249<0042004F0045>-250<00440050004D00500053>-250<00440050>6<0057>8<004600530054>]TJ
+1.02 0 0 1 54 209.489 Tm [<00420053>8<0046>-294<0054005600510051>-7<0050005300550046>-7<0045000F>-474<002A004E0042004800460054>-295<00420053>8<0046>-294<0054005600510051>-7<0050005300550046>-7<0045000D>-307<004300560055>-294<0050004F004D005A>-294<00420054>-294<005500490046>6<005A>-294<004E004A004800490055>-294<0043>-10<0046>]TJ
+1 0 0 1 54 194.695 Tm [<005600540046>-7<0045>-250<004A004F>-250<093900440055004A0050004F000D>-250<004F00500055>-250<0051004A0044005500560053>8<0046>-250<0043>-10<0050>-7<0050004C0054000F>]TJ
+0.98 0 0 1 71.036 179.9 Tm [<002A0047>-226<005A>8<005000560053>-226<0058>8<00500053004C>-226<004A0054>-226<0042004F>-226<0026000E0043>-10<0050>-8<0050004C000D>-232<00500053>-226<0056005400460054>-226<004A004F005500460053004A00500053>-226<00440050004D00500053>-226<00500055004900460053>-227<005500490042004F>-226<004800530042005A>61<000D>]TJ
+1 0 0 1 54 165.106 Tm [<00500053>-250<004A0054>-250<00420044004200450046004E004A0044000D>-250<005500490046004F>-250<00550049004A0054>-250<00450050>-7<00440056004E0046004F0055>-250<0044004D004200540054>-250<004A0054>-250<004F00500055>-250<004700500053>-250<005A>8<00500056000F>]TJ
+1 0 0 1 71.036 150.311 Tm [<002300560055>-250<004A0047>-250<005A>7<00500056>-250<00420053>8<0046>-250<00580053004A0055004A004F0048>-250<0042>-251<0045004600550046>-7<00440055004A0057>7<0046>-249<004F0050>6<0057>8<0046004D000D>-249<00500053>-251<00540044004A0046004F00440046>-250<093900440055004A0050004F000D>-251<00500053>-250<0042>]TJ
+1 0 0 1 54 135.517 Tm [<00440050004D004D0046>-7<00440055004A0050004F>-250<00500047>-250<00540049005000530055>-250<0054005500500053004A00460054000D>-250<005500490046004F>-250<005A>8<00500056>-250<00420053>8<0046>-250<004A004F>-250<005500490046>-250<0053004A004800490055>-250<0051004D004200440046>10<000F>]TJ
0 g 0 G
0 g 0 G
ET
@@ -134,33 +122,33 @@ endobj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
12 0 obj
-[ 70 [ 401 ] 77 [ 266 ] 79 [ 518 447 ] 85 [ 307 ] 87 [ 472 ] ]
+[ 70 [ 401 ] 77 [ 266 ] 79 [ 518 447 ] 87 [ 472 ] ]
endobj
14 0 obj
<< /Length 11 >>
stream
-
+
endstream
endobj
15 0 obj
-<< /Subtype /CIDFontType0C /Length 1211 >>
+<< /Subtype /CIDFontType0C /Length 1087 >>
stream
-
-y;<1 ޓ&{orfmc5fS`ocyen`dv$pNAVxNklxgʹɭW]y{(kg^f2v݋wI)Ci}}fjQPVhЍz__wȧ~dnz~stv{_f=eX~zg\}
+
+y;<1 ޓ&{orfmc5fS`ocyen`2v݋wI)Ci}}fjQPVhЍz__wȧ~dnz~stv{_f=eX~zg\}

endstream
endobj
13 0 obj
-<< /Type /FontDescriptor /FontName /MYLNXL+LibertinusSerif-Italic /Flags 4 /FontBBox [ -1325 -312 1389 928 ] /Ascent 894 /CapHeight 647 /Descent -246 /ItalicAngle -12 /StemV 73 /XHeight 429 /FontFile3 15 0 R /CIDSet 14 0 R >>
+<< /Type /FontDescriptor /FontName /DNHLYF+LibertinusSerif-Italic /Flags 4 /FontBBox [ -1325 -312 1389 928 ] /Ascent 894 /CapHeight 647 /Descent -246 /ItalicAngle -12 /StemV 73 /XHeight 429 /FontFile3 15 0 R /CIDSet 14 0 R >>
endobj
16 0 obj
-<< /Length 787 >>
+<< /Length 773 >>
stream
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%IncludeResource: ProcSet (CIDInit)
-%%BeginResource: CMap (TeX-MYLNXL-LibertinusSerif-Italic-0)
-%%Title: (TeX-MYLNXL-LibertinusSerif-Italic-0 TeX MYLNXL-LibertinusSerif-Italic 0)
+%%BeginResource: CMap (TeX-DNHLYF-LibertinusSerif-Italic-0)
+%%Title: (TeX-DNHLYF-LibertinusSerif-Italic-0 TeX DNHLYF-LibertinusSerif-Italic 0)
%%Version: 1.000
%%EndComments
/CIDInit /ProcSet findresource begin
@@ -168,22 +156,21 @@ stream
begincmap
/CIDSystemInfo
<< /Registry (TeX)
-/Ordering (MYLNXL-LibertinusSerif-Italic)
+/Ordering (DNHLYF-LibertinusSerif-Italic)
/Supplement 0
>> def
-/CMapName /TeX-Identity-MYLNXL-LibertinusSerif-Italic def
+/CMapName /TeX-Identity-DNHLYF-LibertinusSerif-Italic def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
0 beginbfrange
endbfrange
-6 beginbfchar
+5 beginbfchar
<0046> <0065>
<004D> <006C>
<004F> <006E>
<0050> <006F>
-<0055> <0074>
<0057> <0076>
endbfchar
endcmap
@@ -196,10 +183,10 @@ end
endstream
endobj
10 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MYLNXL+LibertinusSerif-Italic /DescendantFonts [ 17 0 R ] /ToUnicode 16 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DNHLYF+LibertinusSerif-Italic /DescendantFonts [ 17 0 R ] /ToUnicode 16 0 R >>
endobj
17 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MYLNXL+LibertinusSerif-Italic /FontDescriptor 13 0 R /W 12 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DNHLYF+LibertinusSerif-Italic /FontDescriptor 13 0 R /W 12 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
18 0 obj
[ 27 [ 256 ] 32 [ 430 ] 37 [ 734 ] 47 [ 740 ] 56 [ 1028 ] 66 [ 506 ] 68 [ 456 561 489 ] 73 [ 619 322 ] 78 [ 905 616 551 581 ] 83 [ 428 427 358 598 ] 88 [ 777 ] ]
@@ -288,43 +275,43 @@ endobj
<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TBQIGK+LibertinusSerif-Bold /FontDescriptor 19 0 R /W 18 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
24 0 obj
-[ 9 [ 298 298 ] 13 [ 220 338 220 323 ] 34 [ 695 588 646 701 557 485 ] 41 [ 730 297 322 ] 45 [ 528 839 699 702 ] 51 [ 587 ] 53 [ 597 661 652 ] 57 [ 660 ] 66 [ 457 493 428 506 447 310 500 538 271 ] 76 [ 512 264 790 542 504 519 503 372 390 316 531 497 747 490 515 ] 2361 [ 560 ] 2504 [ 465 465 465 465 465 ] 2512 [ 465 ] ]
+[ 9 [ 298 298 ] 13 [ 220 338 220 323 ] 34 [ 695 588 646 701 557 485 ] 41 [ 730 297 ] 45 [ 528 839 699 702 ] 51 [ 587 ] 53 [ 597 661 652 ] 57 [ 660 ] 66 [ 457 493 428 506 447 310 500 538 271 ] 76 [ 512 264 790 542 504 519 503 372 390 316 531 497 747 490 515 ] 2361 [ 560 ] 2504 [ 465 465 465 465 465 ] 2512 [ 465 ] ]
endobj
26 0 obj
<< /Length 315 >>
stream
-
+
endstream
endobj
27 0 obj
-<< /Subtype /CIDFontType0C /Length 8475 >>
+<< /Subtype /CIDFontType0C /Length 8374 >>
stream
-
-
-f
- 4 @/*y^:i GOOU$N>>>>z>\>`#^{dHj 
+
+
+
+ 1  GW^$s3s|(wv$)nU$N>>>>z>\>`#^{dHj 
 %.;NGw?{dHe 
-kg ;Nxluvoltvg]W~ǖŻqclsso~tyĶnssnnssn{wbU!f w)/%g=ie[vŒ $dizb|p~wqMm_v $e\
+kg ;Nxluvoltvg]W~ǖŻqclsso~tyĶnssnnssn{wbU!f w)/%g=ie[vŒ $dizb|p~wqMm_v $e\
1M+:Jv $Gm9ϏhKa%vЇ@Mc0OrRv $I%cUu%vv)xx|nGvhq52zEv $EzuM|䜑ђb\sv]_ $vxф0(I.c#GV.VY#>ġ^G5"TfvwlQ=ߞ|tB\a^rqfzg[ML\agnh\\vш8%8zEv $Ezu
Do*[yӲw˕ֺq>Јi<5>
e^W[۟eN8z;v $;z۬@ޚ؎\Zddbd $vLj8`daFxۜǒebtvZ] $vք:|=[bmZv:TՆpvU2%4+tǑϒc^gghj $v†zFY{cʒmhtt^b $v۬** ED7+-fEʮmfttac $vsjC8nÎffcdjm $vP"_(Zi]k^v $_xMDcSv $aza*bK5lplz~n'"=B98URsz5v+sFVG9qѮM~vqitoYu՞Nv^wi;L̏sr@}c{<|dy}x 314`ezollȽA*]5,lvw"_i`u`BN ƓhhpR+(!2"2ݽ[^wpshkȒKY̏r@}c{<bjI_uec``qPA1
wXmrixȒKTԋ||kgi $vIUx}kfe{rmYJԋ||kgi $vJTFHRv./i "vX:X{d{CUyjhjjmm $v{X|͞Ðwsqjir $vUv..%i
_"mhgepq $vW}}ћwummam $vևn}h7dr5oxmcmrjm $vn^{EE~j~;bxK 96)Ң:+4@Jtp_mmmq $vzb@7
-2%jj8pEv $Ez[ǎZ{a7yW2Ĥb&,NXWzoVQxp
+2%jj8pEv $Ez[ǎZ{a7yW2Ĥb&,NXWzoVQxp
ڒ 
endstream
endobj
25 0 obj
-<< /Type /FontDescriptor /FontName /DOXZRQ+LibertinusSerif-Regular /Flags 4 /FontBBox [ -1325 -256 1269 928 ] /Ascent 894 /CapHeight 647 /Descent -246 /ItalicAngle 0 /StemV 73 /XHeight 429 /FontFile3 27 0 R /CIDSet 26 0 R >>
+<< /Type /FontDescriptor /FontName /IZYYKF+LibertinusSerif-Regular /Flags 4 /FontBBox [ -1325 -256 1269 928 ] /Ascent 894 /CapHeight 647 /Descent -246 /ItalicAngle 0 /StemV 73 /XHeight 429 /FontFile3 27 0 R /CIDSet 26 0 R >>
endobj
28 0 obj
-<< /Length 1483 >>
+<< /Length 1469 >>
stream
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%IncludeResource: ProcSet (CIDInit)
-%%BeginResource: CMap (TeX-DOXZRQ-LibertinusSerif-Regular-0)
-%%Title: (TeX-DOXZRQ-LibertinusSerif-Regular-0 TeX DOXZRQ-LibertinusSerif-Regular 0)
+%%BeginResource: CMap (TeX-IZYYKF-LibertinusSerif-Regular-0)
+%%Title: (TeX-IZYYKF-LibertinusSerif-Regular-0 TeX IZYYKF-LibertinusSerif-Regular 0)
%%Version: 1.000
%%EndComments
/CIDInit /ProcSet findresource begin
@@ -332,17 +319,17 @@ stream
begincmap
/CIDSystemInfo
<< /Registry (TeX)
-/Ordering (DOXZRQ-LibertinusSerif-Regular)
+/Ordering (IZYYKF-LibertinusSerif-Regular)
/Supplement 0
>> def
-/CMapName /TeX-Identity-DOXZRQ-LibertinusSerif-Regular def
+/CMapName /TeX-Identity-IZYYKF-LibertinusSerif-Regular def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
0 beginbfrange
endbfrange
-55 beginbfchar
+54 beginbfchar
<0009> <0028>
<000A> <0029>
<000D> <002C>
@@ -357,7 +344,6 @@ endbfrange
<0027> <0046>
<0029> <0048>
<002A> <0049>
-<002B> <004A>
<002D> <004C>
<002E> <004D>
<002F> <004E>
@@ -409,10 +395,10 @@ end
endstream
endobj
8 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DOXZRQ+LibertinusSerif-Regular /DescendantFonts [ 29 0 R ] /ToUnicode 28 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IZYYKF+LibertinusSerif-Regular /DescendantFonts [ 29 0 R ] /ToUnicode 28 0 R >>
endobj
29 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DOXZRQ+LibertinusSerif-Regular /FontDescriptor 25 0 R /W 24 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IZYYKF+LibertinusSerif-Regular /FontDescriptor 25 0 R /W 24 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
11 0 obj
<< /Type /Pages /Count 1 /Kids [ 6 0 R ] >>
@@ -421,44 +407,44 @@ endobj
<< /Type /Catalog /Pages 11 0 R /Metadata 4 0 R/OutputIntents [ <</Type/OutputIntent/S/GTS_PDFX/OutputCondition (SWOP (Publication) printing in USA (Printing process definition: ANSI CGATS.6).)/OutputConditionIdentifier (CGATS TR 001)/Info (U.S. Web Coated (SWOP) v2)/RegistryName (http://www.color.org)>> ] >>
endobj
31 0 obj
-<< /Title(Novel\040Document\040Class)/Creator(LuaLaTeX\040with\040novel\040and\040microtype)/CreationDate(D:20240216204642-08'00')/ModDate(D:20240216204642-08'00')/Producer(LuaLaTeX\040with\040novel-pdfx\040and\040hyperref)/Trapped/False/GTS_PDFXVersion(PDF/X-1a:2001)/GTS_PDFXConformance(PDF/X-1a:2001) >>
+<< /Title(Novel\040Document\040Class)/Creator(LuaLaTeX\040with\040novel\040and\040microtype)/CreationDate(D:20240424080630-07'00')/ModDate(D:20240424080630-07'00')/Producer(LuaLaTeX\040with\040novel-pdfx\040and\040hyperref)/Trapped/False/GTS_PDFXVersion(PDF/X-1a:2001)/GTS_PDFXConformance(PDF/X-1a:2001) >>
endobj
xref
0 32
0000000000 65535 f
-0000011466 00000 n
-0000011486 00000 n
-0000011506 00000 n
+0000010042 00000 n
+0000010062 00000 n
+0000010082 00000 n
0000000020 00000 n
-0000011323 00000 n
-0000011171 00000 n
+0000009899 00000 n
+0000009747 00000 n
0000002652 00000 n
-0000030850 00000 n
-0000019437 00000 n
-0000014093 00000 n
-0000031215 00000 n
-0000011559 00000 n
-0000013004 00000 n
-0000011638 00000 n
-0000011709 00000 n
-0000013246 00000 n
-0000014252 00000 n
-0000014457 00000 n
-0000018164 00000 n
-0000014635 00000 n
-0000014707 00000 n
-0000018403 00000 n
-0000019593 00000 n
-0000019796 00000 n
-0000029066 00000 n
-0000020132 00000 n
-0000020507 00000 n
-0000029307 00000 n
-0000031009 00000 n
-0000031276 00000 n
-0000031603 00000 n
+0000029158 00000 n
+0000017864 00000 n
+0000012520 00000 n
+0000029523 00000 n
+0000010135 00000 n
+0000011445 00000 n
+0000010203 00000 n
+0000010274 00000 n
+0000011687 00000 n
+0000012679 00000 n
+0000012884 00000 n
+0000016591 00000 n
+0000013062 00000 n
+0000013134 00000 n
+0000016830 00000 n
+0000018020 00000 n
+0000018223 00000 n
+0000027388 00000 n
+0000018555 00000 n
+0000018930 00000 n
+0000027629 00000 n
+0000029317 00000 n
+0000029584 00000 n
+0000029911 00000 n
trailer
-<< /Size 32 /Root 30 0 R /Info 31 0 R /ID [ <D7D34C8ADBD93CEEFC0DDE591F50331E> <D7D34C8ADBD93CEEFC0DDE591F50331E> ] >>
+<< /Size 32 /Root 30 0 R /Info 31 0 R /ID [ <2F7884877695F88C545E752E31EFC599> <2F7884877695F88C545E752E31EFC599> ] >>
startxref
-31927
+30235
%%EOF
diff --git a/macros/luatex/latex/novel/doc/novel.tex b/macros/luatex/latex/novel/doc/novel.tex
index 91f2ffb290..151750189d 100644
--- a/macros/luatex/latex/novel/doc/novel.tex
+++ b/macros/luatex/latex/novel/doc/novel.tex
@@ -12,7 +12,7 @@
% novel.pdf (if present) have read/write permissions for any user.
% Otherwise, compile may fail at the point where files are written.
-\documentclass{novel} % v. 2.1.
+\documentclass{novel} % v. 2.2.
% Almost all settings are defaults.
\SetHeadFootStyle{3}
\SetTitle{Novel Document Class} % only footer, with page number
@@ -36,17 +36,13 @@
\textbf{News:} This document class was first privately used in 2014.
Then, in 2018, it was improved, documented, and released. It has been
-maintained through TeXlive 2023. It is expected to work in the future, but is
+maintained through TeXlive 2023. It continues to work in TeXlive 2024, but is
no longer maintained by its original creator.\par
Changes in print-on-demand technology have made many parts of this code
irrelevant. There are also a few commands that require graphic design
experience for proper usage. And a few settings, which should be simple and
obvious, are complex and arcane.\par
-If \emph{novel} works for you, good. But if you are simply writing a fiction
-novel, nothing fancy, then see if CTAN and TeXlive have a package named
-\emph{novelette}. As of late January 2024, the package is in beta test
-(not released yet). If the package exists and can be installed, then you
-should prefer \emph{novelette}.
+If \emph{novel} works for you, good. But if not, no changes are planned.
\scenebreak
@@ -64,10 +60,3 @@ of short stories, then you are in the right place.
\makeatletter\nocle@rtoendtrue\makeatother % For developer only.
\end{document}
-
-
-
-
-
-
-
diff --git a/macros/luatex/latex/novel/lualatex/novel-CGATSTR001.clo b/macros/luatex/latex/novel/lualatex/novel-CGATSTR001.clo
index 35ed97ea57..491ee94736 100644
--- a/macros/luatex/latex/novel/lualatex/novel-CGATSTR001.clo
+++ b/macros/luatex/latex/novel/lualatex/novel-CGATSTR001.clo
@@ -2,7 +2,7 @@
%% The values of the arguments are public industry standards.
%%
\ProvidesFile{novel-CGATSTR001.clo}%
-[2024/02/17 any version. (novel Output Intent CGATS TR 001)]
+[2024/04/26 any version. (novel Output Intent CGATS TR 001)]
%%
% Typically used in the USA.
diff --git a/macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty b/macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty
index c99872fbb3..08ac89499a 100644
--- a/macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-CalculateLayout.sty}%
-[2024/02/17 v2.1 LaTeX file (layout calculations)]
+[2024/04/26 v2.2 LaTeX file (layout calculations)]
%%
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty b/macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty
index df53dfc96e..a3d50ad32b 100644
--- a/macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-ChapterScene.sty}%
-[2024/02/17 v2.1 LaTeX file (chapter and scene macros)]
+[2024/04/26 v2.2 LaTeX file (chapter and scene macros)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-DropCap.sty b/macros/luatex/latex/novel/lualatex/novel-DropCap.sty
index 6e2359b465..1c7f9063e7 100644
--- a/macros/luatex/latex/novel/lualatex/novel-DropCap.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-DropCap.sty
@@ -9,7 +9,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-DropCap.sty}%
-[2024/02/17 v2.1 (Drop Caps)]
+[2024/04/26 v2.2 (Drop Caps)]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%
%
diff --git a/macros/luatex/latex/novel/lualatex/novel-FOGRA39.clo b/macros/luatex/latex/novel/lualatex/novel-FOGRA39.clo
index c2cd2c3314..506093f1d7 100644
--- a/macros/luatex/latex/novel/lualatex/novel-FOGRA39.clo
+++ b/macros/luatex/latex/novel/lualatex/novel-FOGRA39.clo
@@ -1,7 +1,7 @@
%% This is file `novel-FOGRA39.clo', part of `novel' document class.
%% The values of the arguments are public industry standards.
\ProvidesFile{novel-FOGRA39.clo}%
-[2024/02/17 any version. (novel Output Intent FOGRA39)]
+[2024/04/26 any version. (novel Output Intent FOGRA39)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-FileData.sty b/macros/luatex/latex/novel/lualatex/novel-FileData.sty
index 54d4c3a7f9..d712bde320 100644
--- a/macros/luatex/latex/novel/lualatex/novel-FileData.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-FileData.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-FileData.sty}%
-[2024/02/17 v2.1 LaTeX file (File Data settings)]
+[2024/04/26 v2.2 LaTeX file (File Data settings)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-Fonts.sty b/macros/luatex/latex/novel/lualatex/novel-Fonts.sty
index b5b27b3aac..4edb37a488 100644
--- a/macros/luatex/latex/novel/lualatex/novel-Fonts.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-Fonts.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-Fonts.sty}%
-[2024/02/17 v2.1 LaTeX file (font settings and defaults)]
+[2024/04/26 v2.2 LaTeX file (font settings and defaults)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-Footnotes.sty b/macros/luatex/latex/novel/lualatex/novel-Footnotes.sty
index abfa3a4042..f196165b96 100644
--- a/macros/luatex/latex/novel/lualatex/novel-Footnotes.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-Footnotes.sty
@@ -7,7 +7,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-Footnotes.sty}%
-[2024/02/17 v2.1 LaTeX file (commands for footnotes and endnotes)]
+[2024/04/26 v2.2 LaTeX file (commands for footnotes and endnotes)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty b/macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty
index 5b0f063d8f..91bc1eea14 100644
--- a/macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-HeadFootStyles.sty}%
-[2024/02/17 v2.1 LaTeX file (header and footer layouts and styles)]
+[2024/04/26 v2.2 LaTeX file (header and footer layouts and styles)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-Images.sty b/macros/luatex/latex/novel/lualatex/novel-Images.sty
index ab891595f2..054044ce1a 100644
--- a/macros/luatex/latex/novel/lualatex/novel-Images.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-Images.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-Images.sty}%
-[2024/02/17 v2.1 LaTeX file (image placement)]
+[2024/04/26 v2.2 LaTeX file (image placement)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-JC200103.clo b/macros/luatex/latex/novel/lualatex/novel-JC200103.clo
index 06ba7d98de..51ae5c7f81 100644
--- a/macros/luatex/latex/novel/lualatex/novel-JC200103.clo
+++ b/macros/luatex/latex/novel/lualatex/novel-JC200103.clo
@@ -2,7 +2,7 @@
%% The values of the arguments are public industry standards.
%%
\ProvidesFile{novel-JC200103.clo}%
-[2024/02/17 any version. (novel Output Intent JC200103)]
+[2024/04/26 any version. (novel Output Intent JC200103)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty b/macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty
index 7dba9a0dd1..83344f295b 100644
--- a/macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-LayoutSettings.sty}%
-[2024/02/17 v2.1 LaTeX file (layout settings)]
+[2024/04/26 v2.2 LaTeX file (layout settings)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-PostLayout.sty b/macros/luatex/latex/novel/lualatex/novel-PostLayout.sty
index 68b269535e..ac78914ce9 100644
--- a/macros/luatex/latex/novel/lualatex/novel-PostLayout.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-PostLayout.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-PostLayout.sty}%
-[2024/02/17 v2.1 LaTeX file (post-layout modifications)]
+[2024/04/26 v2.2 LaTeX file (post-layout modifications)]
%%
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-Sandbox.sty b/macros/luatex/latex/novel/lualatex/novel-Sandbox.sty
index 2045a31ab5..88789e40f2 100644
--- a/macros/luatex/latex/novel/lualatex/novel-Sandbox.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-Sandbox.sty
@@ -11,7 +11,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-Sandbox.sty}%
-[2024/02/17 v2.1 LaTeX file (used only with sandbox class option)]
+[2024/04/26 v2.2 LaTeX file (used only with sandbox class option)]
%%
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-TextMacros.sty b/macros/luatex/latex/novel/lualatex/novel-TextMacros.sty
index b30e2e814b..692e321c52 100644
--- a/macros/luatex/latex/novel/lualatex/novel-TextMacros.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-TextMacros.sty
@@ -6,7 +6,7 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\ProvidesFile{novel-TextMacros.sty}%
-[2024/02/17 v2.1 LaTeX file (text macros usable within document body)]
+[2024/04/26 v2.2 LaTeX file (text macros usable within document body)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel-microtype.cfg b/macros/luatex/latex/novel/lualatex/novel-microtype.cfg
index 2cbac7bf30..c57dffb146 100644
--- a/macros/luatex/latex/novel/lualatex/novel-microtype.cfg
+++ b/macros/luatex/latex/novel/lualatex/novel-microtype.cfg
@@ -10,7 +10,7 @@
%% ------------------------------------------------------------------------
%%
\ProvidesFile{novel-microtype.cfg}%
-[2024/02/17 any version. (default microtype configuration for novel class)]
+[2024/04/26 any version. (default microtype configuration for novel class)]
%%% ---------------------------------------------------------------------------
%%% FONT SETS
diff --git a/macros/luatex/latex/novel/lualatex/novel-pdfx.sty b/macros/luatex/latex/novel/lualatex/novel-pdfx.sty
index 5edcb5d212..d646b85670 100644
--- a/macros/luatex/latex/novel/lualatex/novel-pdfx.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-pdfx.sty
@@ -16,7 +16,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{novel-pdfx.sty}%
-[2024/02/17 v2.1 LaTeX file (PDF/X support for novel class)]
+[2024/04/26 v2.2 LaTeX file (PDF/X support for novel class)]
% This package supports, and is part of, class `novel'.
% No support for anything but LuaLaTeX.
diff --git a/macros/luatex/latex/novel/lualatex/novel-xmppacket.sty b/macros/luatex/latex/novel/lualatex/novel-xmppacket.sty
index 5326f25249..131ec73e1c 100644
--- a/macros/luatex/latex/novel/lualatex/novel-xmppacket.sty
+++ b/macros/luatex/latex/novel/lualatex/novel-xmppacket.sty
@@ -14,7 +14,7 @@
%% ----------------------------------------------------------------------------
%%
\ProvidesFile{novel-xmppacket.sty}%
-[2024/02/17 any version. (novel XMP packet template)]
+[2024/04/26 any version. (novel XMP packet template)]
%%
diff --git a/macros/luatex/latex/novel/lualatex/novel.cls b/macros/luatex/latex/novel/lualatex/novel.cls
index 51ba0094c6..91f0207579 100644
--- a/macros/luatex/latex/novel/lualatex/novel.cls
+++ b/macros/luatex/latex/novel/lualatex/novel.cls
@@ -7,8 +7,8 @@
%% License URL: https://www.latex-project.org/lppl/lppl-1-3c/
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-% Actually needs LuaLaTeX, at least version 0.95 from TeXLive 2016.
-\ProvidesClass{novel}[2024/02/17 v2.1 LaTeX document class]
+% Actually needs LuaLaTeX, at least version 1.x.
+\ProvidesClass{novel}[2024/04/26 v2.2 LaTeX document class]
%%
%% During the years since `novel' was introduced, there have been
diff --git a/macros/luatex/latex/piton/README.md b/macros/luatex/latex/piton/README.md
index ad0778cf7d..79d7e72fbc 100644
--- a/macros/luatex/latex/piton/README.md
+++ b/macros/luatex/latex/piton/README.md
@@ -11,7 +11,7 @@ The LaTeX extension `piton` is distributed under the LPPL 1.3 license.
## Presentation
-The LaTeX package `piton` provides a command `\piton` and an environment `{Piton}` to typeset Python, OCaml, SQL or C++ codes by using the Lua library LPEG. It requires the use of `lualatex`. It won't work with `xelatex` nor `pdflatex`.
+The package `piton` provides tools to typeset computer listings, with syntactic highlighting, by using the Lua library LPEG. It requires the use of `lualatex` and won't work with `xelatex` nor `pdflatex`.
diff --git a/macros/luatex/latex/piton/piton-french.pdf b/macros/luatex/latex/piton/piton-french.pdf
index ffb413000b..3b2b6236eb 100644
--- a/macros/luatex/latex/piton/piton-french.pdf
+++ b/macros/luatex/latex/piton/piton-french.pdf
@@ -102,1854 +102,1981 @@ endobj
<< /S /GoTo /D (section.5) >>
endobj
63 0 obj
-(\376\377\000F\000o\000n\000c\000t\000i\000o\000n\000n\000a\000l\000i\000t\000\351\000s\000\040\000a\000v\000a\000n\000c\000\351\000e\000s)
+(\376\377\000D\000\351\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000d\000e\000\040\000n\000o\000u\000v\000e\000a\000u\000x\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000a\000v\000e\000c\000\040\000l\000a\000\040\000s\000y\000n\000t\000a\000x\000e\000\040\000d\000e\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
64 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
+<< /S /GoTo /D (section.6) >>
endobj
67 0 obj
-(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000p\000a\000g\000e\000s\000\040\000e\000t\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
+(\376\377\000F\000o\000n\000c\000t\000i\000o\000n\000n\000a\000l\000i\000t\000\351\000s\000\040\000a\000v\000a\000n\000c\000\351\000e\000s)
endobj
68 0 obj
-<< /S /GoTo /D (subsubsection.5.1.1) >>
+<< /S /GoTo /D (subsection.6.1) >>
endobj
71 0 obj
-(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000p\000a\000g\000e\000s)
+(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000p\000a\000g\000e\000s\000\040\000e\000t\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
endobj
72 0 obj
-<< /S /GoTo /D (subsubsection.5.1.2) >>
+<< /S /GoTo /D (subsubsection.6.1.1) >>
endobj
75 0 obj
-(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
+(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000p\000a\000g\000e\000s)
endobj
76 0 obj
-<< /S /GoTo /D (subsection.5.2) >>
+<< /S /GoTo /D (subsubsection.6.1.2) >>
endobj
79 0 obj
-(\376\377\000I\000n\000s\000e\000r\000t\000i\000o\000n\000\040\000d\000'\000u\000n\000e\000\040\000p\000a\000r\000t\000i\000e\000\040\000d\000'\000u\000n\000\040\000f\000i\000c\000h\000i\000e\000r)
+(\376\377\000C\000o\000u\000p\000u\000r\000e\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
endobj
80 0 obj
-<< /S /GoTo /D (subsubsection.5.2.1) >>
+<< /S /GoTo /D (subsection.6.2) >>
endobj
83 0 obj
-(\376\377\000A\000v\000e\000c\000\040\000l\000e\000s\000\040\000n\000u\000m\000\351\000r\000o\000s\000\040\000d\000e\000\040\000l\000i\000g\000n\000e\000s\000\040\000a\000b\000s\000o\000l\000u\000s)
+(\376\377\000I\000n\000s\000e\000r\000t\000i\000o\000n\000\040\000d\000'\000u\000n\000e\000\040\000p\000a\000r\000t\000i\000e\000\040\000d\000'\000u\000n\000\040\000f\000i\000c\000h\000i\000e\000r)
endobj
84 0 obj
-<< /S /GoTo /D (subsubsection.5.2.2) >>
+<< /S /GoTo /D (subsubsection.6.2.1) >>
endobj
87 0 obj
-(\376\377\000A\000v\000e\000c\000\040\000d\000e\000s\000\040\000m\000a\000r\000q\000u\000e\000u\000r\000s\000\040\000t\000e\000x\000t\000u\000e\000l\000s)
+(\376\377\000A\000v\000e\000c\000\040\000l\000e\000s\000\040\000n\000u\000m\000\351\000r\000o\000s\000\040\000d\000e\000\040\000l\000i\000g\000n\000e\000s\000\040\000a\000b\000s\000o\000l\000u\000s)
endobj
88 0 obj
-<< /S /GoTo /D (subsection.5.3) >>
+<< /S /GoTo /D (subsubsection.6.2.2) >>
endobj
91 0 obj
-(\376\377\000M\000i\000s\000e\000\040\000e\000n\000\040\000\351\000v\000i\000d\000e\000n\000c\000e\000\040\000d\000'\000i\000d\000e\000n\000t\000i\000f\000i\000c\000a\000t\000e\000u\000r\000s)
+(\376\377\000A\000v\000e\000c\000\040\000d\000e\000s\000\040\000m\000a\000r\000q\000u\000e\000u\000r\000s\000\040\000t\000e\000x\000t\000u\000e\000l\000s)
endobj
92 0 obj
-<< /S /GoTo /D (subsection.5.4) >>
+<< /S /GoTo /D (subsection.6.3) >>
endobj
95 0 obj
-(\376\377\000L\000e\000s\000\040\000\351\000c\000h\000a\000p\000p\000e\000m\000e\000n\000t\000s\000\040\000v\000e\000r\000s\000\040\000L\000a\000T\000e\000X)
+(\376\377\000M\000i\000s\000e\000\040\000e\000n\000\040\000\351\000v\000i\000d\000e\000n\000c\000e\000\040\000d\000'\000i\000d\000e\000n\000t\000i\000f\000i\000c\000a\000t\000e\000u\000r\000s)
endobj
96 0 obj
-<< /S /GoTo /D (subsubsection.5.4.1) >>
+<< /S /GoTo /D (subsection.6.4) >>
endobj
99 0 obj
-(\376\377\000L\000e\000s\000\040\000\253\000c\000o\000m\000m\000e\000n\000t\000a\000i\000r\000e\000s\000\040\000L\000a\000T\000e\000X\000\273)
+(\376\377\000L\000e\000s\000\040\000\351\000c\000h\000a\000p\000p\000e\000m\000e\000n\000t\000s\000\040\000v\000e\000r\000s\000\040\000L\000a\000T\000e\000X)
endobj
100 0 obj
-<< /S /GoTo /D (subsubsection.5.4.2) >>
+<< /S /GoTo /D (subsubsection.6.4.1) >>
endobj
103 0 obj
-(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000\253\000m\000a\000t\000h\000-\000c\000o\000m\000m\000e\000n\000t\000s\000\273)
+(\376\377\000L\000e\000s\000\040\000\253\000c\000o\000m\000m\000e\000n\000t\000a\000i\000r\000e\000s\000\040\000L\000a\000T\000e\000X\000\273)
endobj
104 0 obj
-<< /S /GoTo /D (subsubsection.5.4.3) >>
+<< /S /GoTo /D (subsubsection.6.4.2) >>
endobj
107 0 obj
-(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000\253\000d\000e\000t\000e\000c\000t\000e\000d\000-\000c\000o\000m\000m\000a\000n\000d\000s\000\273)
+(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000\253\000m\000a\000t\000h\000-\000c\000o\000m\000m\000e\000n\000t\000s\000\273)
endobj
108 0 obj
-<< /S /GoTo /D (subsubsection.5.4.4) >>
+<< /S /GoTo /D (subsubsection.6.4.3) >>
endobj
111 0 obj
-(\376\377\000L\000e\000\040\000m\000\351\000c\000a\000n\000i\000s\000m\000e\000\040\000\253\000e\000s\000c\000a\000p\000e\000\273)
+(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000\253\000d\000e\000t\000e\000c\000t\000e\000d\000-\000c\000o\000m\000m\000a\000n\000d\000s\000\273)
endobj
112 0 obj
-<< /S /GoTo /D (subsubsection.5.4.5) >>
+<< /S /GoTo /D (subsubsection.6.4.4) >>
endobj
115 0 obj
-(\376\377\000L\000e\000\040\000m\000\351\000c\000a\000n\000i\000s\000m\000e\000\040\000\253\000e\000s\000c\000a\000p\000e\000-\000m\000a\000t\000h\000\273)
+(\376\377\000L\000e\000\040\000m\000\351\000c\000a\000n\000i\000s\000m\000e\000\040\000\253\000e\000s\000c\000a\000p\000e\000\273)
endobj
116 0 obj
-<< /S /GoTo /D (subsection.5.5) >>
+<< /S /GoTo /D (subsubsection.6.4.5) >>
endobj
119 0 obj
-(\376\377\000C\000o\000m\000p\000o\000r\000t\000e\000m\000e\000n\000t\000\040\000d\000a\000n\000s\000\040\000l\000a\000\040\000c\000l\000a\000s\000s\000e\000\040\000B\000e\000a\000m\000e\000r)
+(\376\377\000L\000e\000\040\000m\000\351\000c\000a\000n\000i\000s\000m\000e\000\040\000\253\000e\000s\000c\000a\000p\000e\000-\000m\000a\000t\000h\000\273)
endobj
120 0 obj
-<< /S /GoTo /D (subsubsection.5.5.1) >>
+<< /S /GoTo /D (subsection.6.5) >>
endobj
123 0 obj
-(\376\377\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e\000\040\000s\000o\000n\000t\000\040\000`\000`\000o\000v\000e\000r\000l\000a\000y\000-\000a\000w\000a\000r\000e\000'\000')
+(\376\377\000C\000o\000m\000p\000o\000r\000t\000e\000m\000e\000n\000t\000\040\000d\000a\000n\000s\000\040\000l\000a\000\040\000c\000l\000a\000s\000s\000e\000\040\000B\000e\000a\000m\000e\000r)
endobj
124 0 obj
-<< /S /GoTo /D (subsubsection.5.5.2) >>
+<< /S /GoTo /D (subsubsection.6.5.1) >>
endobj
127 0 obj
-(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000d\000e\000\040\000B\000e\000a\000m\000e\000r\000\040\000r\000e\000c\000o\000n\000n\000u\000e\000s\000\040\000d\000a\000n\000s\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
+(\376\377\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e\000\040\000s\000o\000n\000t\000\040\000`\000`\000o\000v\000e\000r\000l\000a\000y\000-\000a\000w\000a\000r\000e\000'\000')
endobj
128 0 obj
-<< /S /GoTo /D (subsubsection.5.5.3) >>
+<< /S /GoTo /D (subsubsection.6.5.2) >>
endobj
131 0 obj
-(\376\377\000E\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000B\000e\000a\000m\000e\000r\000\040\000r\000e\000c\000o\000n\000n\000u\000s\000\040\000d\000a\000n\000s\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000d\000e\000\040\000B\000e\000a\000m\000e\000r\000\040\000r\000e\000c\000o\000n\000n\000u\000e\000s\000\040\000d\000a\000n\000s\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
endobj
132 0 obj
-<< /S /GoTo /D (subsection.5.6) >>
+<< /S /GoTo /D (subsubsection.6.5.3) >>
endobj
135 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000d\000e\000\040\000p\000i\000e\000d\000\040\000d\000e\000\040\000p\000a\000g\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000p\000i\000t\000o\000n)
+(\376\377\000E\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000B\000e\000a\000m\000e\000r\000\040\000r\000e\000c\000o\000n\000n\000u\000s\000\040\000d\000a\000n\000s\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
endobj
136 0 obj
-<< /S /GoTo /D (subsection.5.7) >>
+<< /S /GoTo /D (subsection.6.6) >>
endobj
139 0 obj
-(\376\377\000T\000a\000b\000u\000l\000a\000t\000i\000o\000n\000s)
+(\376\377\000N\000o\000t\000e\000s\000\040\000d\000e\000\040\000p\000i\000e\000d\000\040\000d\000e\000\040\000p\000a\000g\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000p\000i\000t\000o\000n)
endobj
140 0 obj
-<< /S /GoTo /D (section.6) >>
+<< /S /GoTo /D (subsection.6.7) >>
endobj
143 0 obj
-(\376\377\000A\000P\000I\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000\351\000v\000e\000l\000o\000p\000p\000e\000u\000r\000s)
+(\376\377\000T\000a\000b\000u\000l\000a\000t\000i\000o\000n\000s)
endobj
144 0 obj
<< /S /GoTo /D (section.7) >>
endobj
147 0 obj
-(\376\377\000E\000x\000e\000m\000p\000l\000e\000s)
+(\376\377\000A\000P\000I\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000\351\000v\000e\000l\000o\000p\000p\000e\000u\000r\000s)
endobj
148 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
+<< /S /GoTo /D (section.8) >>
endobj
151 0 obj
-(\376\377\000N\000u\000m\000\351\000r\000o\000t\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
+(\376\377\000E\000x\000e\000m\000p\000l\000e\000s)
endobj
152 0 obj
-<< /S /GoTo /D (subsection.7.2) >>
+<< /S /GoTo /D (subsection.8.1) >>
endobj
155 0 obj
-(\376\377\000F\000o\000r\000m\000a\000t\000a\000g\000e\000\040\000d\000e\000s\000\040\000c\000o\000m\000m\000e\000n\000t\000a\000i\000r\000e\000s\000\040\000L\000a\000T\000e\000X)
+(\376\377\000N\000u\000m\000\351\000r\000o\000t\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s)
endobj
156 0 obj
-<< /S /GoTo /D (subsection.7.3) >>
+<< /S /GoTo /D (subsection.8.2) >>
endobj
159 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\000F\000o\000r\000m\000a\000t\000a\000g\000e\000\040\000d\000e\000s\000\040\000c\000o\000m\000m\000e\000n\000t\000a\000i\000r\000e\000s\000\040\000L\000a\000T\000e\000X)
endobj
160 0 obj
-<< /S /GoTo /D (subsection.7.4) >>
+<< /S /GoTo /D (subsection.8.3) >>
endobj
163 0 obj
-(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
164 0 obj
-<< /S /GoTo /D (section.8) >>
+<< /S /GoTo /D (subsection.8.4) >>
endobj
167 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
endobj
168 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
+<< /S /GoTo /D (section.9) >>
endobj
171 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.8.2) >>
+<< /S /GoTo /D (subsection.9.1) >>
endobj
175 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
176 0 obj
-<< /S /GoTo /D (section.9) >>
+<< /S /GoTo /D (subsection.9.2) >>
endobj
179 0 obj
-(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
+<< /S /GoTo /D (section.10) >>
endobj
183 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.9.2) >>
+<< /S /GoTo /D (subsection.10.1) >>
endobj
187 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.9.3) >>
+<< /S /GoTo /D (subsection.10.2) >>
endobj
191 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
192 0 obj
-<< /S /GoTo /D (subsection.9.4) >>
+<< /S /GoTo /D (subsection.10.3) >>
endobj
195 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.9.5) >>
+<< /S /GoTo /D (subsection.10.4) >>
endobj
199 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
endobj
200 0 obj
-<< /S /GoTo /D (section*.1) >>
+<< /S /GoTo /D (subsection.10.5) >>
endobj
203 0 obj
-(\376\377\000I\000n\000d\000e\000x)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
endobj
204 0 obj
-<< /S /GoTo /D [ 205 0 R /Fit ] >>
+<< /S /GoTo /D (subsection.10.6) >>
+endobj
+207 0 obj
+(\376\377\000L\000e\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000d\000\351\000f\000i\000n\000i\000s\000\040\000p\000a\000r\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
+
endobj
208 0 obj
-<< /Filter /FlateDecode /Length 3343 >>
-stream
-xڽ5P!|
-|?gUMG`wGsOO<_>}ބ]e R?>X@A,Vx|薯ߖ_/+f8U>+~Ovpg.y|E.a^V A@d0~ArL )Z/4SFu
-2łPC$rr&`/D?29rYIRKHpbaΤM%#
-YdX%;ÚD!~ ti<}3A/hhes9JOi^"YW8ؗA1D#FXm(C62GSL6@~RR-͵~ WHO:S|_sZV+[4N'Fh:vlH ((Wfi\dY$rrj
-JNSvЙ P3raCQK)f+BsЋG)aJ)@` g~w)0&%*##yrܓ3^FH{5Ʀ鼆$ktRPNEaP
-*)ᰜX`a>`J!_JX}J4pkeZ-3Tm׶PQ[7JTKK #C}zh+:Ͽئ3$T۫;}#jբ=Œ]|) 9n0Vm)PTUY
-7zUJ!VI\oVZ֞AtEZ+R~[3F2(O0'r6 1Ra;:H%' p Sgr򷟂q,0
-+:N&U.GDVD,C#s(Q{_gN1-s[cLbEyD)%D3հ<_{ `DAg3S6'ߧ\8-ʕwחu̪]< 'n}Is-#W<
-Qlv}ک]j?-_?`y|.!Wztlr6R{S~Aߗ"TU=:%zI23Ūv&4PN'~=ۈFV'r>iGoc]stPb[y
-d(VbZ:yz5F1n!6g=R?q}9I&UrǷ_ǿ[W~ttլn@`:ċ[%7bqe{ 6i륵2vZIpҼlQ<]Vltij"2qGLVݝSDZ"'[\r{ɠ
+<< /S /GoTo /D (section*.1) >>
+endobj
+211 0 obj
+(\376\377\000I\000n\000d\000e\000x)
+
+endobj
+212 0 obj
+<< /S /GoTo /D [ 213 0 R /Fit ] >>
+endobj
+216 0 obj
+<< /Filter /FlateDecode /Length 3582 >>
+stream
+xڽ\K#
+o˯εf9Ws9!WxˈYqgp/_Lן~Җō E"LX` lIc' uMNc*2%-RKaƥՋtX6lDvڞ9[XrʒT:˔;S..IGe[DzLcHkSzF1Ѥb`Wܯ^BXxBBYų`
+.0bay6iۚ^fXo0¦K-F!XrBz/2\Ȟ2 IC @ێ5Iu"U2i.MV*@QfˋNK<F_[L*# CqH-wɩUv|%qL#wy7ͪՑa{ۋ<ɜ(2_PzӀF"-Y_ )mV#$#ğ&}OB)|uЙEn<:v QReZotrBgU'aĨ}9CA  Hˀ㶁3LL*C bx6K
+
+FRvgZǤC~u)9`w^{tp{|a'bmEcA&zR2r[ e xВ*Od9!AcXK۩LiHP&O8:Ռc" 7+-~oEIkt>ڋda'A?"ʚ+df5dMжP7(;3g9 'Ͻ }93ΰxrg<䚣1f)brE|ohb/]HKU>[4wǾ. ahӕNĪ6{,Fi\Ԏ
+ni>C3N<o=kޒ`LM2WCe2ڃP]2jӓ^)N@~)&\us
+ʽ`QpرJWBhBOw>Já(v,ZS{5 U! V8Uf3~xui 4$R.PV~*ZWq1C+T9f /V.*5Wل>uUp3SڼȁЉ5WL`g.bG6q7Y⎂LöF24xSڏ*HidUZ(#(k*JU<*\ŷSkrѲ4IC(ٰ)\D!;rz>Yϴ֑ʝ-ƭ@KTVEԽMU)""⛼l,~8E95Ď(einc^nƓs滂oD}HWujbC}Lr1:c{5VHMC Hk{ŀfMnDEqvؾr!۳f}ƞr"IfG}G&*ArXiL-8Zxb)I@4nGL=fq=M>B"SNxK{<by ǘ=sJ!=Ւ HST6G)jVhϙ  x9h 5 X9?F#8 YNr(f>lFgj[is
+6mENN! l8:<1e7sُcO<?{=[iE}-i=s׹gNOt]xł#=$- D<$]HFzI=mX f4Ip0mŒKvs_+t?ʝ='{N5V+nJL gI9e}<\6눏Rxt$])i ?V|:ܯٰI)vßkWnçKB>C*kXowx%; ǍV_G!?‹-C
+ 9;iϼ;k'OzJ!@$>by+qHl[LmTU~NWN@M?$j}4tr[ea|w6l2b6-;Q#VBv<̎65{ sƹ?m(
+%;v}g2?qVjjI(9a<P>3 |kФvw瓤tҦV׳ukJ~uıvKv q_|{7x;~Q?i7
+\C'9nzI'7%YvkW6g:t#f}pZ] i CF(YyMm-yFһ%mcfՑ^t:d „az464tKnEv!/Spq:m$(n9>Iw2<B**Nmk%\)0尃DW~Inmxɐ٤gm:ď:
+<&wmHݧmDRвjEO!߰U8p鰟 Z =J\a+Ii
endstream
endobj
-205 0 obj
-<< /Type /Page /Contents 208 0 R /Resources 207 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 233 0 R >>
+213 0 obj
+<< /Type /Page /Contents 216 0 R /Resources 215 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 241 0 R >>
endobj
-233 0 obj
-[ 206 0 R ]
+241 0 obj
+[ 214 0 R ]
endobj
-206 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 222.163 132.814 393.939 144.271 ]
+214 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 222.163 76.495 393.939 87.952 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
-209 0 obj
-<< /D [ 205 0 R /XYZ 78.37 808.885 null ] >>
+217 0 obj
+<< /D [ 213 0 R /XYZ 78.37 808.885 null ] >>
endobj
-210 0 obj
-<< /D [ 205 0 R /XYZ 79.37 771.024 null ] >>
+218 0 obj
+<< /D [ 213 0 R /XYZ 79.37 771.024 null ] >>
endobj
5 0 obj
-<< /D [ 205 0 R /XYZ 79.37 539.104 null ] >>
+<< /D [ 213 0 R /XYZ 79.37 545.899 null ] >>
endobj
-207 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 211 0 R /F18 212 0 R /F19 213 0 R /F42 214 0 R /F50 215 0 R /F49 216 0 R /F51 217 0 R /F53 218 0 R /F15 219 0 R /F54 220 0 R /F55 221 0 R /F62 222 0 R /F63 223 0 R /F65 224 0 R /F31 225 0 R /F22 226 0 R /F33 227 0 R /F32 228 0 R /F48 229 0 R /F60 230 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+215 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 219 0 R /F18 220 0 R /F19 221 0 R /F42 222 0 R /F50 223 0 R /F49 224 0 R /F51 225 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F31 233 0 R /F22 234 0 R /F33 235 0 R /F32 236 0 R /F48 237 0 R /F60 238 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-241 0 obj
-<< /Filter /FlateDecode /Length 3696 >>
-stream
-xڵˎ#>_E`v{@rJ0 CB=(Q*۝C*(I"/~e6.?~BA.?~RW憏
- \+iizak4q]zo wi{A9 b["'A$ԻShmH%I<G+$~JDQD+^똤49ppn-D$r ̄{g,51ڛjys(zJ8۸]F>(UjwDl-~{ ]2>S,˜S?eUqv˫ %(q¢_ھ'1,>7c
- M2ݔTe_'~|8-ؤ܈g:Ԫ8d+qotgJU
- tW +5hNgA^JfB[1 s:|q<hٍ\%NUWp"&9+dzM)K[Q9†/bHk5&Fo vmέgWe$9;A-
-T"8E&,Pbb
-FmOeU謚~,>:bg4bJbvVfE
-νEqv_:0pJg&2 =BQ .(=yc'Tt^4澌٩oG}cn]v5wVHP:Qh>JQ&xrT6p%nL 6뫯O  mQ'(= e;(+wGӝ8TUo
-)]WSGU,7hdCpRX+ ?d|7h;u8&sJdcPVz>*&
-M;Cx#5/Ai5`Є.ڱBy
-ti(gOF\;SOr-a>Y pN#!JCc3YG*|Fq#0ƌi;*%%AaQ[ՏTd p!w 6jc GҶDCZrf _-OҶfÓ>Vep
-i3.&0,vXzh-^&rdKGV`O?3*O~{2f8=W6-o1K`fxANy<_Iܦ<guY7t#<ғ&׍sчR_4Sm n\;*DGNMND%?P۩^] g=-C\s=0xV1i:ė
-X͖¹j@V ɹ.<S!3iazf/}Ng(%oM̻:v/Ìu4Sڅ; :&Q[sJ঍jF$3%$-7Ѻ2$کyG be|P@(h&hgB+M=_I5@PV#$em<hL3lDX~ LdP?;K89I~I> xCZ×'wwI Oyr6RNclˋnGk;h>To |4[lʺ1:f!ԜwXivXs,ŵn
-?u_>`uq#̞R0+$V-̠Jwzh!j(HR߈}!woU}*ա˯듸 (5:{`=%@˕Nfy;7N[eՐv+zI;ZZc"
-(՛nbƶMONMoznVYԮN%m\gO$<P ot,sm\LI$pt \0n+]TJjJ`5 V15ZSqpR`-aSw*mn"j[/g^[V0/Mu@ۅ$?gXRI6 z]PߘL4J`}:2x67.kwx-jGRs.gyvv C:_=川݄ҸӅ2?ιNCS| wycKѣ_ФAKfw
+248 0 obj
+<< /Filter /FlateDecode /Length 3540 >>
+stream
+xڵ\K# ϯXGTF+Wdo.8! d[A><dyE^~z~{ݙX/~QB^%$a%(lPo/Jo_>ZkoHÿ$;ǽgXJKkoKi/K Rݽh[gZsCme0ԝ- " k-<Ň
+bqTkSߵ*>13p|WZݾWyn
+TQ.0`O#_tc`#Hg47T#aakIU$IZT
+w32-aq%u*^v
+܈kCèjQuL3 i^e*Cص.yOc#1М%,ˠW|gsѨ(],Қ v#1U
+L+$akg\rLh1yxB~U5x{]&:{KƃI %RUMwOR6-Fˀ2!<^_%r`Ƣ{n+:YLF>}\p=>%!Fg
+v_! 3w)q5a:Gm&D8J*Gu9DH$FX f*\}eޱe(`LXU!|mwÑ.P#5?
+"Y5_cݳA,<Ξirf1#,ru&AeݸD=G)NuUs>:h+*n Vc]7  `+ayo9*d[OY?ȻkaE<+Rƥ^(H{0"sҟ_f5Jf/F>q@!jԔBFث1 VV08 1:[S806ie\>sU^U,̏{ʊa
+#)r&RKԼ6醛?WqOudϔVHJnʰ*MS=HND^+Y5PjCmְ>YK}fC?<W'AXj^mjwrJ6ml=>o/am3Qmֈx/L EtJWx~b> 9reGk],ʰqYF];2j(M7ܽU]ٹ>V&.2ONDאaΡ cboq,Z#N񝹷VR_KFS.-UAڀv‡xF%7*xV[GpS#9F-ӗӤ9oz_D_wdur/u r;w#+~l(~xhfVJ'wQx٣<;'OǀP9SJ>cZXy=[bҴ΂Yr)= F8?
+X뇎Dm be?o#[lo7kHBvjB}f%²nɺw,İ{ e*
endstream
endobj
-240 0 obj
-<< /Type /Page /Contents 241 0 R /Resources 239 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 246 0 R >>
-endobj
-246 0 obj
-[ 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R ]
-endobj
-234 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.577 519.411 459.533 530.48 ]/A << /S /GoTo /D (subsection.9.5) >> >>
-endobj
-235 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 259.664 142.845 274.389 153.794 ]/A << /S /GoTo /D (subsection.4.3) >> >>
-endobj
-236 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 287.34 142.845 294.314 153.794 ]/A << /S /GoTo /D (subsection.4.3) >> >>
+247 0 obj
+<< /Type /Page /Contents 248 0 R /Resources 246 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 252 0 R >>
endobj
-237 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.516 113.782 399.241 124.731 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+252 0 obj
+[ 243 0 R 242 0 R ]
endobj
-238 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.962 113.782 426.917 124.731 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+243 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.557 488.192 497.531 500.147 ]/A << /S /GoTo /D (section.5) >> >>
endobj
242 0 obj
-<< /D [ 240 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.563 75.592 369.02 87.049 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+endobj
+249 0 obj
+<< /D [ 247 0 R /XYZ 78.37 808.885 null ] >>
endobj
9 0 obj
-<< /D [ 240 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 247 0 R /XYZ 79.37 771.024 null ] >>
endobj
13 0 obj
-<< /D [ 240 0 R /XYZ 79.37 650.318 null ] >>
+<< /D [ 247 0 R /XYZ 79.37 650.318 null ] >>
endobj
17 0 obj
-<< /D [ 240 0 R /XYZ 79.37 566.415 null ] >>
+<< /D [ 247 0 R /XYZ 79.37 566.415 null ] >>
endobj
21 0 obj
-<< /D [ 240 0 R /XYZ 79.37 402.455 null ] >>
+<< /D [ 247 0 R /XYZ 79.37 317.43 null ] >>
endobj
25 0 obj
-<< /D [ 240 0 R /XYZ 79.37 309.787 null ] >>
-endobj
-239 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F54 220 0 R /F62 222 0 R /F67 243 0 R /F63 223 0 R /F16 244 0 R /F68 245 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-249 0 obj
-<< /Filter /FlateDecode /Length 4158 >>
-stream
-xɒd>_Q? $kDtuu+B>IC'.]$I; _t/B_<Fu'/E\WLZ{F0no\Y. 9swu?~vsOk  K(b՗~A~NyO+>h'o{iOka]ˀ(g>P~VLA3beN}
-}cE&/~7H ykOrkfR;. FO[ ˸Ϛg5I
-"ܫ
-qMalOoC< 4OtBS(CdЉQG/MjC$!$nYF$Ԏ@'H&N5SVFzPq 4%~BHų2m˲Ga0I]dIjRe((c^h!u׭+{ILcPEדu&ĈI;W)D~q-wY[N~'+hRl3o^% Pit.xߧ; O2dG3.YجE'h5:dk&1\ 5h}q}^?k
-ߗڲwpL> @{2TΝL; |7-=#qrZS38w^dETL?$8q@|T|\HSX R'6^F-2==90%Ժ"݉dܦoy~2-4ZMGge)oE8h澱썣FaD"=,wD̒$hS}^L-)C.QTF>'!ת7yv< qx$ 0>wL4Vs+WiEFzWO
- qͺ-3n #!~D,<SmU~ o[;yRd[$)-%RR-oĨj!1l-ʣ+&y?u]Q22y;c2TD5S)oa,l~
-NfPˠ\)}Jt p$ޯ`gtIG!6mb>S@^{jT!Vx^B|<]9H4 iL (Zw_6)_۷Sֺi͖h wdKc
-?&oq{:T͜Aff2[[1L@˻MkX`QIA[3z$nXM*Q6 F
-ҩAZP笅HסI}xYa;1\(ƚBT;e1`H{ˁYC vLrE%H=t5A #袆+ CwZpaثKS$k/6$FBV%>&>33y2n?\޷oyt>O<^#Or9~Bb!io3oD/VK0rmZ^nfmG9mׁ[>ii Fٍ:Ŕ6pB
-)/T(z3h{|,晸c=rv>5ʉGm?+^G) O˥!v\8É(1 2ZحSpb;)*Iq
-@.o).EY@YƻBGֹ~@V@V;( [Ká>YOJ<^B8h !vg}B6U aЉxG8:#z@{氪Sɩ2HeJڨt&y)|V9I*W;qjɉS[18fZWVy_ߐb,K<RxMGq&-y`%4l_:񨶹PKX
-(!Q"RWe;Wٮ
-R_tSr-)Qߏ]KASQ҇vAiwm@ZЇT
-#?'  wI;rstVOtzrR?홹?G_b^`a_}=MP~b7K^c,l)#?9 +zlFVs݈7’qCYXdYX~Hv1Y؇癳t=t4plX!cnrtF=J#dzѯ★>0#laRH{uW)JLKjěBl$>%Bo'JJI\V펳He9XN20A%3.qS<AjžU\)Ljق]jkM_9Q*H
-:J y=VJoյ@"υ[ԫa85=z zU$J
--
-A wmֆ%e i+n21eEGzPXKzc+rv!"3-sʴ w & H!8/ -bF^ӏAԺX3d؜Hp4""zCTt98S-/=9KnYLkw-/Am0KF]$Ŋ`4`z
-endstream
-endobj
-248 0 obj
-<< /Type /Page /Contents 249 0 R /Resources 247 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R >>
-endobj
-250 0 obj
-<< /D [ 248 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-29 0 obj
-<< /D [ 248 0 R /XYZ 79.37 716.02 null ] >>
+<< /D [ 247 0 R /XYZ 79.37 214.75 null ] >>
endobj
-33 0 obj
-<< /D [ 248 0 R /XYZ 79.37 192.144 null ] >>
-endobj
-247 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F54 220 0 R /F62 222 0 R /F53 218 0 R /F55 221 0 R /F63 223 0 R /F65 224 0 R /F68 245 0 R /F32 228 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+246 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F67 250 0 R /F55 229 0 R /F16 251 0 R /F63 231 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
257 0 obj
-<< /Filter /FlateDecode /Length 5216 >>
-stream
-xڽɮ񮯘cr0}h4~| [SH."KgZ<bX;)~~pOF݄`n_~ Lq+n_~s87ȏ?9<K-<Ry0=}W|/>/ G|7R(ol| bt~s/?
-z@͙WF㕡[.ej1Β ̗/(?_q=i\#-b#GF~9VQVPN4"^"/~a2SL#
-S q?5NLߦ όYLYwL32˛}=Bܺ6[PB8 .
-?8%S"m{r'_ț q͛7m ;c&ȉtv۲A9&'hZ6 6f\HQYe0N ɦdUE͆LOL5sQ!:qI 8 ѢiV@)3Z&aC|g
-lqß1FEi
-mVB*;VaTJ풄3Ƹ>o|PٲuH~~T</)A3svbf^q.a]Mm&
-p?L2DSK=U5:j3Q 4[vqe,j~Εq F#971A#% K&MX67*&>#S]rkFDj6.j@չ>&|?}Y5FGk2#Y…MYTMOãQc|KO
-[ǽ=pؑ3b<SB˗ y/6`#]h!LV6a\~3NOMt R5yyZ3C^Izjj!5U_| ΌNߝǞ` Ӱ[:U עU2Z+M@}ّ#V\EߥS2-9y z*?-9i^ hYOlqow7Cu{Y~O$$Q6k8}`czeooM|*OWwh <udAFÿP:%%%< 7ӂOɺ9' T#A- ;dli?@ ȷv>
-1q3{;G_ϋ' [;;2uy0!E:ΔX5ڔ=bXaS%nq]8n9`\x l}ɨ:dD__P뜗
-'&GC:~4@pD,>(<<8y?1WbjTT] q|Fa\'˼3SF3z'QnxhkRq?M VpQdwҺI~Abe=545ƴ4 ]^m"=
-A-ƶV&<AJȩ3_\tO<Q3
-o`
-04ruK\q1˗IZnC}r&.T ND%2@eUIʫՓMZ@M&ΐ*S=-gG^,VŨQ@'BNAqȚDaAO@lϸyʭ۟}ʀ:r-9_z3ҨO5kum"q*ܵ{a")Rn:GL#_^cH*'
-%fB."]0ZdyjT[ɔ5jՋjT) QSj 2mzMSmhJlG;Xu%(y
-kzT>ޖտS;I(LڎPPﳇ98{=x)
-u+lة`Teb X6-CI%i;t&X[?DOAVZu/}K54dl7ѕ'`1>-, ML-| &
-_Q&$_tDXޛXPJ']F,VOyevi-^d۱Dݕ|tWL=.
-9xH6|L)ɴݜ\L}R@ PzS>p/xSh^r)ۺTR0ΥʤG~B]$N hn9n9Z,_g14 v"7;*}N 1ӯ3("9;2aBLO5T*W
-
-p 5N`
-
-
-B2!<HW+_Gd SgvzE4残fG*`Ԃϒ:"z*ȄzН<w[Bn8w/OۨXD8Jg쳐K]$ g~JBYRJŚ`¸IѬMp5`یTboS#-+E׆
-P'[R]Pe'COw
+<< /Filter /FlateDecode /Length 4386 >>
+stream
+xn$0Cqj
+Na❺썮T٢R˷[y2xbѴ. CEN%.ZV}FPanε秲[EIOܳ_*ҐrVґV@*Ai)O`[=Q!$/ `R3u!Xsภ24m3*pv<`H!x3Dl+
+݋Z~m3
+=bRlRJU pq `_6:2'-sz<Eҁ0c8I1d!;JH;Tx݊^*4.ƿM:iɄfq4mEG-=t4*:(<[+hKyN8h@237pWWo\$GJb
+
+I
+Dz>Au[fPg<dF̄`
+Ɖ'79+@LaNN Xy.<(3ږq/2#%"VY i6
+F;|(j/W)'\JHr !)Ղj_.O
+b6q<ÔDWjv5#xQx;(`{Gwggqk%B[ b:PBجL
+Tҵ=bLr `~Ӂi3͒^:1h8KeslrTRreI.IsL?ش3~!Px@l8^<3[=bsNK-"˴Cl: tlHu+b3{=)KUߊUoS#ax?Bt++e
+ ~u ii
+-L+$82]~P_pL:QU [hb-Wi_(krWuj>OFș#y #)Ixwô%X9寄X`qqk! QP%
+?1ΠIGQMxj+|L0":Uvsю7v 4 k'F> YY^ѷ*YtS %({ۨ`l-3t
+3v{..|띋sZìzN 'Kޭxg|6ys8ĜG7N0L맅/VgvRT,
+ r).?J)HwSH#y~:EYުHyFBbp#aG =H2<ԹHXtbS^3^= 3|T32{ ,z[$3Ow,fڙR9} `P˞7Vk7r֝9mNw8oN<|z=3ƓȷE\L6γ}0ӋVsqùP;XP|EŷuP
+[&.˄0=ʦ- )z^ |_022{_UJ5B_z|vlWiy$<ZjP5Gkznx/s"}*J=^/tJ8QZjpr6X:ۅѺ.bl>
endstream
endobj
256 0 obj
-<< /Type /Page /Contents 257 0 R /Resources 255 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 260 0 R >>
+<< /Type /Page /Contents 257 0 R /Resources 255 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 260 0 R >>
endobj
260 0 obj
-[ 253 0 R 254 0 R 251 0 R 252 0 R ]
+[ 244 0 R 245 0 R 253 0 R 254 0 R ]
endobj
-253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 267.484 451.736 279.44 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+244 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.657 708.966 276.381 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 267.484 480.104 279.44 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+245 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 289.333 708.966 296.307 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 99.554 481.861 111.011 ]/A << /S /GoTo /D (section.6) >> >>
+253 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.516 681.248 399.241 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 99.554 505.373 111.011 ]/A << /S /GoTo /D (section.6) >> >>
+254 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.962 681.248 426.917 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
258 0 obj
<< /D [ 256 0 R /XYZ 78.37 808.885 null ] >>
endobj
-37 0 obj
-<< /D [ 256 0 R /XYZ 79.37 771.024 null ] >>
+29 0 obj
+<< /D [ 256 0 R /XYZ 79.37 599.153 null ] >>
endobj
255 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F62 222 0 R /F69 259 0 R /F55 221 0 R /F22 226 0 R /F54 220 0 R /F68 245 0 R /F32 228 0 R /F61 231 0 R /F60 230 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F53 226 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-273 0 obj
-<< /Filter /FlateDecode /Length 4559 >>
-stream
-xɎd>_Q?0j LMOpNIf>$>ė~WU$t{EQIE?~~KiϿSEIwJH.").
-~<Kӯ|CU Q(T7Vʶ! Ie]PLyd^ga+װGJ_2BqiMWeǵݻׄT۴1mTBɑӶc\N B}P~(~<Yz$S#KpSvQsq:Ry V"fG)ш8h᝿w配j2x 3C:h&,3&jtr+l*"u #;x(G]6鍞u&yd8! |KD}٭IhPY2D}KGyX_)W@y;)tkFiNB!U}:dbckW
-k}عe~6\Ƚb1Fie1fəb!A_- 7.Е}┝h{}%;-= k1⏎ŜHJ:96?kc"Ps8dM'7TAgXP}!;x&meG-,wPc7'yEMT4
-[`A
-ȆDTL䅕X~<%lͺ^4Kr%Lo#ջ4e?;LfLWSc8]Y(sLiPhxyj^6/m9M"vKUysw>[{]HZ9R=H&x^D]Pjr|e4qO9&:ʦģmߌU%J|=fV)|<&pY^*Tfա
-#Ӛ tM}If#8|:P(PPXe|اTJN,!LQ7B2?Q`ޖ'ծJjЀK_:
-9Yjvc%9ԝ$Z(&|OӰuCba@A\B$ces
-;Tn x2r<g0FΖjU;ݦNHt!5;N`3Co|- =3V, b5<wMa"
-p&*dUҒsO ` Ge+H
-cW9\;pJWV@|zXjͳ8$87`\nE޴"^]# Z5ss 9t}TNZKF0(1Wv Vٱ ÜO"hγ~Z^ǹvABe?ǫmݑȴNSJۇG[0^ؚM#R(Cb@N\6kJ#InrQD&uz3^P7O^G0Kv^Nah)(\˂BƄxR0#5)s0蘮omЗty- ^so_dЉh2frmob1S=Eȶɺ@*V>?^i
- nzvOr͈=ܘލ|cZڔ
-('~H׮9W[RQw̗; U7wQϤNG)FVꇺ- 9s۽j.ĵ#\qNj ]^ i h2ap #􁯦R[۴ːwT#~ )Z<̟ZrVh陫oɋ>QO$ʧ@27-'#6S#q0COz2_NVwVWH
-8R'a3svvq/?;3 j)1gٝ:u6;Rǡ4RsUp/̈́&2v/C쭳_2_ kʭ/YCxյ dAzk?RN.c B/=]|oS}7yV{fƓ+S!n2n` 'XdƉ<%
-0SVkw9]-?: ]S77/YgF6D^Jx@~v@>ihxtd<:R<xrgKF&-۳ʜ2US4_-u/) ǀޢ?{
-ˮR)VƜ7k_ "ڞFo9@qq/ElF@ih=4kR ]:^z7;@Zp;1ݞN*Ԗ,#`Vn柙r8e5Q|w)1'©4_fd!d$ꀋqLIQ}QJV[CPIG,Z/ȡ#Ru]] </,rr7h8މ/:SCԺtj9iv46to$49{:MR9ijLxU\nVQ1}vE9zGS1Rr
-ڶ#QFŗN)0DRTW
-[c*i/(Yʰj=q\jK\{i2.ld7W$-Bvm-/,PT+2v|z٭@@7:FՈ+{SbsF_mo
-:ȍn2s?GӹbOeI*Y"<tbb1&I+7Baj[߸ hvOۀɎĎr}Mj~-\Yu@٧{Nj^o_yEIO] ACء熣i4 z~/+
-ZwE(3'^,SeAYQHTa=qcVeXWX R)o^{ =nxmz\;[irĥǕ{RR8E`FO=fO4Y\qaY
- mMc2 CI#|
+267 0 obj
+<< /Filter /FlateDecode /Length 5225 >>
+stream
+xڵ<ɮ丑<%s n^Vvm<ukd2m`2?=̬W TD7J\~_\]K؂U.Eq)`S]Mp7!UBUk޿jq"6ױj2pqFl麎2w7o\nxu7 ^o}OҨ<F#F-_<g|~ aADF84+3W.{7#4_ߜF7H<.pdZ^դFLq5L):QPMHFAT3} c8xm6qS2kէiûBW /oGGW]8][iJ,TI? ST;"mAo|zs@oiԀ ;zMhx3Y!&d ȼ8W9k7e3rr0͝ؼ܂˅XMSlBQ9^=}y{ǑY+T&NtkKe^znU*Ue- j6+2-ʢ"ͦsGhҜ7jÞgfS{/ |b}yLjfMvێ ctdmW=}>+hJ|\w+H[e g11GlDn`NT}^ &V=Uc33szj^ݧS鵮kW苄M364rH
+ +|Ejw-ߊ؋w_@˯ÇF6@ ֻ+@exÊʽexqc;VǪ겋x'mtQWBKß~f*JGEu\]ӗ604o Fm^8cP.-$Ӭi l0`MHmVdgu*5yJM ]uyTf
+:d4Q-P+oF/WշTa8:9r~s <I-Qs<zLnŞbNp<У.Q&FwʺNx5גNaU9{⎿bl |FUd.@׎Ugi#G13fQPE'<UTܕl5D=i^$tTxӸ[#nʫqR=-ݍ`T=\%]E$mY2A6c7ǵs| H7O1=
+Mb"h%=.ė6Q-c@X,r 1`Qz^_d`\3N_9!] q"^Md&\@Ni!孇!OT(*pVUzO`J^0G{6FĚ_saf -3ýs3Р@P̠NKfMPvrlVL S]rm,4DF5 '@FoV6E֜E+ma?dMU ^5ѶgGN~ M4_$x}Ն4 FUQ#WÃ
+dH GT^vl+-9ݔ~yv`(ʩ>0rb6v,0t1ˤuP埲L
+
+d>fJv9y)ߔ}WbjVgJxx,7H _I#Cr:6UK ^R> MO*8,i*SŞ_Zً pI$7b{L<!Kq^XM b4RYF(<]+
+#H}v\p`do,=,3)ϓK&\Y58Ƣ^ xKg
+ip+${SCc=1qCoLς{n`Ҫ4ϠkGTkUKLL
+c;Q3/0CIQ(
+&Bp/HN1f 0q
+
+Nm _>V{]LvzU40iq/]cw,9AHћ6R5VD+CcNuI譠DzGZrm1Ee '2+"(0+F +Ji.6j"l>%Uf4 yV)'Q5j ߱ޏCtWI@Ӓ<mSQ)J-m:BW;zL(F:䧳7&R?j\+NBE"#.#?fivquRkv('!R8qubڹvp􈶐]Tf2Kj  "!t֔`mMR/Rqa9 ?sP!o2-I;=eW Mlj[me47)ΡVWy7PL_1jOlr~3SuOAⳐc{)JifUxMIo
+Sts?&I ݛ7p>KT=kZ\Ji!=r2j dN+h]Ze1LvǓC |ȿkE4S[5kX3 5
+Z]PSh1|VO(竝앧.zڀ$)iV!EL}˴N(3] jYWng|mgm۾I>8Hjje<*gײr[{Uor)6]~gד!-j,W ݎ}d֪MJ@B.4}
++߉9ondx"=O c}+ )CYkAkoԝUO-M3wѺ@u)Z</>RT);Ӣ!0ʑh)oЖ~s+kp~>#V\V>9#T}`J2+1{<(3spFΒNl pvzH*qɚneq5zlMR
endstream
endobj
-272 0 obj
-<< /Type /Page /Contents 273 0 R /Resources 271 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 277 0 R >>
+266 0 obj
+<< /Type /Page /Contents 267 0 R /Resources 265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 270 0 R >>
endobj
-277 0 obj
-[ 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R ]
+270 0 obj
+[ 261 0 R 262 0 R ]
endobj
261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 581.622 277.238 592.501 ]/A << /S /GoTo /D (subsection.7.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 85.96 481.861 97.417 ]/A << /S /GoTo /D (section.7) >> >>
endobj
262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 581.622 302.145 592.501 ]/A << /S /GoTo /D (subsection.7.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 85.96 505.373 97.417 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 448.218 489.234 460.174 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+268 0 obj
+<< /D [ 266 0 R /XYZ 78.37 808.885 null ] >>
endobj
-264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 448.218 514.132 460.174 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+33 0 obj
+<< /D [ 266 0 R /XYZ 79.37 684.154 null ] >>
endobj
-265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 408.918 424.257 420.873 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+37 0 obj
+<< /D [ 266 0 R /XYZ 79.37 593.56 null ] >>
endobj
-266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 408.918 446.952 420.873 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+265 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F54 228 0 R /F69 269 0 R /F55 229 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 358.22 376.805 369.059 ]/A << /S /GoTo /D (subsection.7.2) >> >>
+283 0 obj
+<< /Filter /FlateDecode /Length 4917 >>
+stream
+xɲC{ԫR{4-n.ؗ_ 3$%9<FE^~}𧻲(g._~RJUN]~*>Z)R/#xO }{Oi|Wk0>~`AA
+?.~3~aX:Xbi0&,3&&NALA߻-}zH]Lm3UG ѷ=a@Fe<LjLe##rV_zoKMdއpBؚFŽ.luE$Vn%qU$C.Z{.r6MJ:je2&h51v) dV[1'y
+d}.К4A!RCkXח;N>)߄ݱO2@xޤP)t7jo#iƑ<vd`+̦a=S e|Jc<7eQ lT3p͚p_$. hEFF#
+Rso[fiðR_XΖ||j gS[݊>
+(s0T۾ "0~mW:/=~ȩi1W-^96ieRz:{Qr0hN@53C54i+Llot.l~/Q3/`Ko9
+e#$pVǍh7rGBl,=`TZL8c
+OLnK;K{I5hR
+W|RWr(Yj[\y#!~jC6aX%h6:Z+hW @(
+<D۪ nX% ʬ^:}r`w<vƢEsN#L h+a]ۜp]ﳤmVŵ>L>), >OZ\`^[ڽ[, HQ}>9Vx1w
+F<a^JX6\{֫'֦Q77
+Ž7R%{PG\Cai3}~'u)5@ߩ
+0zvRȲ=w^EM"Xݎu"D[YS_QʟY<yy[HGHqh1OZ8=gَ~ |\ӯk
+7^P**=s1p.&N_HUVgs: ?2}؇8(߉]VCkFX,
+؜nWV3<uʪ Z 3cG<[mJ
+K͞ߓ~T-z;XTẻdkw0o6s;<2:( m4 1LU6T09̬.b1gdqA, T%`Zݖ:.Ͻ^ފ*Zk@#g4^{j>T
+5Xlj-*)PPMp;B9T!dNUfwTq36@8k!dG(z-'PPJڷXvPhtC wJ& dA!.rCƸStWסH@/YkҔ\0>x%3Aow;yeQkko%c%ڪ) ~; JOXܷdl`Q}u-co9,Q; eη)Jj/OT9SD:}*W~޽HYҲΑ5rQ{Ԏ
+
+^T申! Oe6 QVu]
+;i]aVcU +';ɰ_ʰ:\jb+2 ХzO#83arVpneM -ÞT+tD_g l`5AAtN^[eY0kGFMwUM 0$^ԗ;}Nf"Fv䴨dU.\ݨiD|ʌf䊚|:9meT]`#sc,|A.8};HmnQS8.;?.h6z;dZ̈98bS/98Ksi/VU-
+<A_N+Bה픏efp=Lo,!kBCBfAbm.`{0c3]*^0!L Zs߼uۯ<>F.' C -%o`Aãyp.% +L?6ËW?,OU^;ϝ%1`&<[cxpc>P`P}M<;LvvTd)3e/ND2 tR/`t*U74@`fB7Ϟqy_"D&EzR0#qR.i31  s5N9\,j}(ێi|p+``Th׀(|Z`0XPMYe!5=J =>.3ιW GX5q~#^sVx`3l_| J>8ޅL
+NUVL庴]2 6mzz̝93}KXK}jP8Ms*T9X}䵛B0 {~YCtRҰ`C{}|}G%Sxsg:7ַq8x)2GWܰx?v,z =L1@lAQc
+94Qedqr26nx
+Ԝ!
+ Q^wZ9-7z1
+lC;Bw:P$epYʤdw;sR!I
+g(hdif %h=d `؂kgW1ZƚS,kE?-MbZT{,yB1H ;YF+7D6qhDk
+)y(WA՝mc kn^8lj=T2L}2ONJG5v:VJXTl5 eٵIJ&]w,_]$AKhtԘެ$NX'zWG6t$kRH'ChO$|TíJ*j&oxLXa[pGukR+搆v;YV a*O<,mxY MDٳ8M.NT`~AWhP, wpOtIY^Vۺ=[yQE
+endstream
endobj
-268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 358.22 477.985 369.059 ]/A << /S /GoTo /D (subsection.7.2) >> >>
+282 0 obj
+<< /Type /Page /Contents 283 0 R /Resources 281 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 286 0 R >>
endobj
-269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 73.186 130.57 84.643 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+286 0 obj
+[ 263 0 R 264 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R ]
endobj
-270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 73.186 147.499 84.643 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+263 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 733.664 451.736 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-274 0 obj
-<< /D [ 272 0 R /XYZ 78.37 808.885 null ] >>
+264 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 733.664 480.104 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
271 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 222 0 R /F15 219 0 R /F68 245 0 R /F54 220 0 R /F70 275 0 R /F55 221 0 R /F71 276 0 R /F32 228 0 R /F61 231 0 R /F60 230 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 427.854 277.238 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-281 0 obj
-<< /Filter /FlateDecode /Length 3262 >>
-stream
-xڽ\Ɏ$W"\FStxnN`].=*s,!2`/"ȬL_u뷗V\ƀ|E\8/.4s]q+FrnpU
-)w+Nd+u v5q!QI {$Z&^yM }OdZyqDUe2)zΙ Hef΋т)+7xɋQ56X
-V\Yڤ3?ΘC8ѝ5q5_;I88ٶg7=2DU-DcΟ::g5C*&X=gUb'P1ùmC'ԝkˇ"]T?0Vkg,9<1y2!j!wFn֏cԓH6)QLQD+ӯJXYI3͵#$(?g=Zf2FnXJ=n'"F{Oڕ0 2TJcjD<r5WXZ9E;R6ޝOgN0w=-=?'sBm=(SAøk+q3lܩGv}]7IÄRG3DzAv (ɑ/Nk=sܝܪц;Ǽ?8Wha斫ӯ'K^BofKrB b9+K~Oc,SB3̨qVr8ȚM8CnL1RwR3`up<3c!̱,?A3ΨQzl\l*.Sx-F]q}V_n3&rTɓ0&F棚sGiVX8}BGJS
-¨{,׸tNs/MΓTm17W>C'tYްaY=g +=~1U^3O ,
-9.W|–Oj8Y6[>ց%"޲bIwqba ҷqTo p?WG])v8~m pj;Z2):K;]a#-&h ~('&xz]őWl>wuRe
-;F熬,x#B,e Q0?߅^Mrp`\חcABmpo]'p2Sڛz^Zy.|zFܕ!do>"P~!*(k>Wo֦81Ax~]U%uau{5
-J"@1" 33p
-a= Ǧ%UZ$ +K%/qK
- UMWsKk4|duFLztv9t=)ԍb+xj< {$E恃gmG Qf4HYa-R'# h9n*N:"zS=^$cZ :\|2@Gѫ#coiWt;1-GAtޠK+bO*6;0eJߎUx .n ?a(ýɏFOZOJ-0&mY%gRlp.YYxX&+{J%q\kM(XX@ [d}1XEd#l.:}ĕ@ Nj/kF?
-!\J|WG>Ԛ%^>BqZԣLzxLn
-:
-endstream
+272 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 427.854 302.145 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-280 0 obj
-<< /Type /Page /Contents 281 0 R /Resources 279 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 283 0 R >>
+273 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 297.516 489.234 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
-283 0 obj
-[ 278 0 R ]
+274 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 297.516 514.132 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
-278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 387.611 246.633 399.566 ]/A << /S /GoTo /D (subsection.5.1) >> >>
+275 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 259.072 424.257 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-282 0 obj
-<< /D [ 280 0 R /XYZ 78.37 808.885 null ] >>
+276 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 259.072 451.933 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-41 0 obj
-<< /D [ 280 0 R /XYZ 79.37 369.285 null ] >>
+277 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 209.23 376.805 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-45 0 obj
-<< /D [ 280 0 R /XYZ 79.37 345.056 null ] >>
+278 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 209.23 477.985 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-279 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 276 0 R /F61 231 0 R /F62 222 0 R /F63 223 0 R /F15 219 0 R /F53 218 0 R /F16 244 0 R /F54 220 0 R /F55 221 0 R /F69 259 0 R /F68 245 0 R /F32 228 0 R >> /ProcSet [ /PDF /Text ] >>
+284 0 obj
+<< /D [ 282 0 R /XYZ 78.37 808.885 null ] >>
endobj
-288 0 obj
-<< /Filter /FlateDecode /Length 3886 >>
-stream
-xˎ$>_? h40=m99ٛS!%U3{lU(,~O?\.3oӗ_DxOd=Sd`܈ӗ_Ϝ\^_.}9o}ow0"gZmk y {J_g3_^.biEOJ3^^+޵{ Odnx~͐kyA^
-%[ڭDN &Bq!fydm,E]GIULi[%R ϜM*^0ںi3m+^\B.`2b,2 T@//&H H˼V} 2/IpfU/T ;+yNH$XbDuDͥ
-#4d*r KIT?maC,GHMP+޷Y=i3L
-4"=0ƍWKO'oeJ.d)@Q0KKb,a\C)h`6D& +{)_m1.za2荤EWem;F3̈rzQ
-+1lmF1Hk ycjFݸg46i/:jc(&LJP<Yr*a3Z<GQH5zt0Z͸H<wB|,-Ofd9_ɇtcB&ZpHB&dl# R n&E竃b(̍xQwaNx[m\h9z,zlv"XZk)"h66%W)Ip\DrR}XZH`sjjUjEc8sG0{CC@48
-Ä( hTBSkM!Y >1aRDP;Vz;Y']!l<bd\釕jL)DU6NRto ķl'͓"e9{; g66f}BSwgRqi]\#*c1tCyLcOqWc:{LQ^#"__R#Y)OIpo`xW|JzFe9ե[cwq;a\ \g;"=5-Ak<i)mRG$L 2vI=cUl҂Qc̼`s?.<Vݹxeoُ3]L 'ցZhһ)c+yEt>tw<[nmuV'GG'Vɡ:Jl>x
-4ƿ<m  wS"s^iIjU+L\e H,$&P0s^yܐ`,1n2 K*XIA8H}jQfFmu}Ruvpa&"agz[MDX.TwFCWXMp Qyl32?Ǜը2 I4CkZx* 3;*9_}@5uuJ2A[nXz\7Kׂ{"7Q7(A3-Pv uucdc XK `A~cWN%"G&"?Z&eZ=P_Hz~/8& v b䲸*T>-0E&2nkcFW9ҡwV2<vtX$cYiHxGRi)1DiX<zn ?F$&M̌0 9ؤ+! LpOsMS
-Ȧ;ǟPH7%t\NHBq/1u9?`]YR
-DKʡRU(A79
-Vteu<[%^9Wuj8S
-ҽ6F~ dQR˻EdG b[&@t$^ӮA޺.[^L=V$#'%,Uș~4ВF,+~NuJW3FNm|^
-}3@3ŏ2?LmuKqY]Jjba0OΌU/ {gӨD79Z$))
-8^w8P&;tb:{%'Ӫ#;T[IVG m1tLg6fRh̳!c)$[ ~}WOj ڨ_hϜV#Ļiq‹ޝ fD|_?Wd;?yŌi5 /aQW|MSWÜxf['0Hޤˆ)^44* ό1ksq[)Sۺ>h[ԝ֝yְNOepDR@&MskiiӸj5F0êRr<"wqFbԂ0b%J
-|oJ jx~{!i@wJEn-a<Pܢ@?&n
+281 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+290 0 obj
+<< /Filter /FlateDecode /Length 3196 >>
+stream
+xڽɮB?04
+ v2S_).]{_K"kHow7ϼFm~{obsf`܈/>h?rO_K|;pȏt'_ӓ_™Ж +6￿3-&8$n_4<AhDŽ p\ +ihNnIH
+Ìw#ty#O8-j$'n I>I!7:@{Ms;6ȋY2:c$¸%᯺@ew#aR r-ZIZR nHZ}P +"Db菉U@y 4"aʢMV#eܧԐ\$P1BTkiyZ5U.SgIAk-8BGcxTɬ,ƯFo,qU2 :4֪Q#M][-=>'gFN~ãYeu٬t~<2BڻqqUTƓG_Ϧx.Q$'l*jp L*9":T }+  p'K KY㝫IJ4wA4?bJ/M@VFҧ!NK3tԴcOuɟ%9[wfh2Z Yfpd}J9jQ(K2~t]1ݲ^_+~)Q vƇ<6!dB?{C2̏QZDʯ<?NpY :VIwLn&%[^Õ2̑#̼n%#I)gpMmz!31
+cQ}
+mDB5k}D2Pd P׮(Ӯv&ۊv.}KR0%KA=ZI iU)AaRj lh,m*?ڷtʇTaj3gj$4:$1 %>P=21AyWxAh%H
+1PFMFXbvhʌFFGXk̅稒J0i`EU*fÏ3
+XKÛ5ɿv<am3:'+=ӹDI-X5ȯ 1&>0"q
+/7VJ䕸tMvI;$Z!b\|Qgpōg=&g2EmHEvrM#ETffb
+Efkwx ?rRNjXH>n"F}OJT
+)I
+n(5ޚ*- [&4 Ywݩ
+_ɬ3=3+LzAk!|W6K<u)Zyr'wQfյ*ԹuJ$šSq̇ŹPCɦ&/iO~{?Z<H P#:A;w&71Au4W2h79KB;"t:ȝ;Ӱ_R6W)V+j3`%RwntAk^
++Cj\(\o4Y)ħ]ՈOUѭfe/O@IUI=a`_Y3*1Q!VOS64jPaM§j H 
+I|kSwZJ2z+ܵU=
+{IbI\]bߪ{"n~/Ϻ?u
+ v*5_v/2v
+&iF36:.=Fw1yb`aJ4>qX})y;=dۈ6lM)}|B zfV'Jn Cĕ0EX<54Ңv۱BkClR-ZXe"v:hn8@'7
endstream
endobj
-287 0 obj
-<< /Type /Page /Contents 288 0 R /Resources 286 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 291 0 R >>
+289 0 obj
+<< /Type /Page /Contents 290 0 R /Resources 288 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 293 0 R >>
endobj
-291 0 obj
-[ 284 0 R 285 0 R ]
+293 0 obj
+[ 287 0 R 279 0 R 280 0 R ]
endobj
-284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.402 704.214 505.376 715.283 ]/A << /S /GoTo /D (section.9) >> >>
+287 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 258.922 251.614 270.877 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 692.259 166.214 703.218 ]/A << /S /GoTo /D (section.9) >> >>
+279 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 92.406 130.57 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-289 0 obj
-<< /D [ 287 0 R /XYZ 78.37 808.885 null ] >>
+280 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 92.406 151.731 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-49 0 obj
-<< /D [ 287 0 R /XYZ 79.37 589.417 null ] >>
+291 0 obj
+<< /D [ 289 0 R /XYZ 78.37 808.885 null ] >>
endobj
-53 0 obj
-<< /D [ 287 0 R /XYZ 79.37 286.301 null ] >>
+41 0 obj
+<< /D [ 289 0 R /XYZ 79.37 240.596 null ] >>
endobj
-286 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F72 290 0 R /F63 223 0 R /F16 244 0 R /F55 221 0 R /F54 220 0 R /F32 228 0 R /F48 229 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+45 0 obj
+<< /D [ 289 0 R /XYZ 79.37 216.366 null ] >>
endobj
-295 0 obj
-<< /Filter /FlateDecode /Length 3624 >>
-stream
-xَ}`)0p+O"ljK4d%~$ûg$n~}Pj Ije$RR-eNJ,sgO0T8~ԇrO?`Ne/\k||R{X(qO釆wr`P7+0\9[ϼ9"M% #_z݀#sb46@PT>H4~qFZ<Hw쐮VG>xЖȫ~}F45A},lt?:
-X
- ۿq.~9[>z!mjgL|v?}ՆLX< ?2Nz6I%(Nd lƻy7瀹h].ywC
-(SHlnd
-dHʝk AK1\u(7X9,Ӏ)LϪFR2 / y}]4 _)W3JCHё{ұ|>c2 IK4"-ixu8IHFiYC
-%y>晉qW]-oA7cDׂ-q^!N. 8,^&aW;`YAN\2Hף`5R"9qnm"I幅C
-LQ<s4U*;Zѽj8=*^0@bLjjQ)UڴBY5|1_E!#4+rIK<;ɹdr% oݎ q=ئhbK
-Zk!Thف!+=Ls4Lw@ 2H)Sh\Ey@+zW4M<5'G)]t7oi
-9Aq2tUhaREQ~(qӝzfI^psw)RqIKbqzwADs*C8uVQ*
- {Gv`4d9t/,8 K{;zցL
-La*
- >(o_N{FkW|(=17L
- 7vMȴ|ŹCb0,*? pH{ęrhHYFRիU`K.޲Z&%!s'.`#&E䃠VYa|Ѩv =
-#/lE-ϻO7³Hqز=
-Cתϙ^`]4w>u?5j .>tO|LȩRGzaW{ $լ)?jE܎c$wU Z;'{]o~cǬβjwdk_<{d(
-ۯ0?8,7 u/l0v^{qS"Iha=`Lkꃿ[4_k0317Q;$:LaI]%~5MU~>V*g<!6S:5w౓.j7h/i0YZƅ?xI/i y 0lE}<x #=qp> 'WNa#3 rg Iiy!u\g׽/(y]{?XnH_B Lt"؂r "+7EwGvdRƽ6Ty|u}>{>9mzg9kt 4Ǿun-5XR?Ϯ06inAxc"(M05g~-Fp8˦ Ƣ:<|`}d6 R1:9Cej`nwq50βwuJEC`oTk-qD+=ZF2mUy{wuzM^ãsud:s\`4jk|'UzP؂Kϼ̻nj1wyP+jp~n@>Lm<GmiRxaQQN3-j$Z_'
-DLO:V),M
- JUCQ>LvITPSgހI;./{#3e^5( N]9vǶw9a6+.h-QL
+288 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R /F53 226 0 R /F16 251 0 R /F69 269 0 R /F32 236 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+298 0 obj
+<< /Filter /FlateDecode /Length 3781 >>
+stream
+x[K$ ?R 8''{ |JK~)U3b=VDQI"/?|~rC^{{'/E]!L_^oR-ׯTBvzQAJר_
+`[f1|աW_S4!i|RB[&>iV\ [m^Aξ~&ۏp^ª(=ð3dYS_z'9/A }/+/1βխpe;ivZ2icpp#i'pV*\1=Թ2+^K\$1BZ{Vq+[Lk-iHy KlliݵBf,VaK\"D3ngބWC%e@_Rzy<ı͂[Z;v!UL3o2CYh`<足܀䖽6iFKrK7qd eb2iN%7|Gw}O<l4_f츌i3NBީЮ\3Uq-
+9S+kCqEӏ(ܮE;#իJ)WuAGD_yiꫳ"gY-\ ʥ>UQfmɩH$7T.e++Q.t(
+"9h] qP-tvGf؅i98
+,. Bc`7w:L'D^bG ;c)9Q\RfP<oFuBS%i" _9);GCq8x4vqFXX"\I4GrHEM7zRq0k<$uSzSi6W[J._+NnXU/ ['GR+K=J7 D}:alRRw&UWVJσf{ONBl88rL
+WPIInx=91LCҎh3ΎS
+YZf1g| iG4kv"=^ mLc+@< )A}c/Fj F-橻+֚ngI|rT[b:2(*f2fLz9w$AYH-kq
+#&sg^ :=b ɳE*wB;Eۅ&}s[NKqK4D!s!dF|fyO 7k8!hLɗ?)5DGK704o,t[q=Z_QH5g;s An=Ҫ}2Gwg
+c٧ic CTŸX]]ƒ'aΆ2y'vylސ{iR%leeu-~ݢO׍Ͽ. kpL 2vlCrI} knJSܺ"
+=VZYҫ9/',p&
+?Lqn)fRPiLẅ́/NnlW(\ݺ z{T1+}g~'h m
+5:hɥeG2l]O
+]" l{p̴:SRY 2ib9LӖ>rkpֻSsqv~
+4sh ձN)Zo5@7սfE*1smȫ j!tlEcyDtk,Cz`BѤ>6"c\*Ķ<nǴu  , Rwbz`: mczr_!߫Ҹ]rEax>:TJ)}^+}S%;U&+\&w^Zv8VU]g'9ze2}
endstream
endobj
+297 0 obj
+<< /Type /Page /Contents 298 0 R /Resources 296 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 301 0 R >>
+endobj
+301 0 obj
+[ 294 0 R 295 0 R ]
+endobj
294 0 obj
-<< /Type /Page /Contents 295 0 R /Resources 293 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R /Annots 299 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 493.753 564.737 505.708 575.806 ]/A << /S /GoTo /D (section.10) >> >>
+endobj
+295 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 552.782 166.214 563.741 ]/A << /S /GoTo /D (section.10) >> >>
endobj
299 0 obj
-[ 292 0 R ]
+<< /D [ 297 0 R /XYZ 78.37 808.885 null ] >>
endobj
-292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 585.824 190.205 599.772 ]/A << /S /GoTo /D (piton:transpose) >> >>
+49 0 obj
+<< /D [ 297 0 R /XYZ 79.37 449.94 null ] >>
endobj
296 0 obj
-<< /D [ 294 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-297 0 obj
-<< /D [ 294 0 R /XYZ 100.292 686.049 null ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F16 251 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-298 0 obj
-<< /D [ 294 0 R /XYZ 100.292 626.273 null ] >>
+305 0 obj
+<< /Filter /FlateDecode /Length 3986 >>
+stream
+xr$XU*Ui$k|rb=ė~HjW5=
+NP8\[~{O U{*& b e%oʌOmTp?}}k'HӾ] iZB Ik]+ V$
+]M MP$"4 r
+% fh#,Dk^UյI4,d euKeuZ9ޛk7~od%Z:v3y y>0.hL?mO{ΡzdjB )<I#\yAVWd, |@D6Z74RBQtF ,c#ۤkáH~Cp= *[PhIV'֜Wix\9t)ByqH*±XMVM̡jZ eu
+ah (;,$V͑*` Et<+rˏkꤻ˪()=,auW);|N)0@Y-b}TFr@~쩞Q $QA&dVKlّ撛a3|ȷ :^;C ?q;a(R) ̧U='لFy
+d:Y2mn84(2_) (s<A2$ |ہƽڑ'ê#;T[yaA*z{k.45W#Z!e0NXHe1Rq,nį,ET sݚ݌͆[5v!DEF6v76F)dPQG9? P(LS=puBjPv|?R ؆Wk$"ՆH9w[HPM(ԹsIDO#7 rN(؟܈y`TX?i"ܷyu=O6зwkU]oQsc/DbH#-E<b4f<ݟت[fu36}dBI\,BJկt 0hFFA <[r[|vjTyYi‡.~QovS<¼ƒ:'_+|53iPV ?:p3GVy´ag JnRguڷb;sҕvtѢߦ$w4EMpľitU]4c9~'!=9HR?r+A`?IZM;yjլ.WCU&"( ast-+z3オ$i6}B^'Drn):FǙǡutM
+P ̪vnvk6)sn:y=cXrxF I+;pnuN)D5RpM{JY5xu'Z{`Zʍ%zэWqJ]gPC˥ q:u Nqt_K.Ѧ$cZ5*Eњ/oxŬA9{F add[,Jx*)όJV ů<ydK@[OzOS+z]ȓi|f6]O&.a(ʟʐ{EE
+7{¦"c});h.X9G]+*Ն)ڡKi`Y-$E1(s_{0)'i( o[15TRAo#enhīVb=;;[AO"֑Db0qKs-Əbd6IT"^lj0FϳZ^X"*x1P}?ItLԏ3{e߫\bkQԫL4;&y! 9/Xrp'巯2kܔ}~n>BnDK2039e+W97d;13v큸lH뿎W{RKNU$ cd,+}x:UF<7Bo[PAס~YPw։=C.voyMF7[5_y"o\Se6&A\nKMkd^Iv+y$턪(^rR e֡՞IompGT!Ji5֫(,p%?`OU0KkoÜ_OP)D`hcv92n.K"pvۡ28P>5n 7 !%Gg[D,emcqxĈ0r9oʨyt]\Hw2/cr *;pICX0Mr['dHi:ۗx8hTϡ= }.Vs8wFLmW9yʛ=o>6a)칶)H ˅-⍸A[X>"\chѩR:ɢ(yźvhw
+aKN+5Q%o3$\c0ptzCq΋Be
+PQ
+AN_M-(:q@]-o|7(u;e[5#&fYyǣ2ٛH):5|c(ƇyF+Zzwt_y)t+~rXU!Z
+܎Ju91Y<,;&yON61ވ62=\_#E0,J 6ϧ
+L>`_>\J|.{Ratѻ QhǴsmN[YֳY\
+t=:)o-~*1܋DBju1$1MTE9S+P)5<:7YζT]b36Y{ҐCfåPkXXJOkSc`p9.Υ3y3iU-ǂ <8t)42{OQ/};2V(YS|<J9ruݜStU`v4_Ex*SUz}GI6M{r5Hx5J>MJÜo,}\
+endstream
endobj
-57 0 obj
-<< /D [ 294 0 R /XYZ 79.37 489.074 null ] >>
+304 0 obj
+<< /Type /Page /Contents 305 0 R /Resources 303 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 309 0 R >>
endobj
-293 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 222 0 R /F63 223 0 R /F49 216 0 R /F51 217 0 R /F71 276 0 R /F33 227 0 R /F53 218 0 R /F15 219 0 R /F54 220 0 R /F55 221 0 R /F65 224 0 R /F32 228 0 R /F48 229 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+309 0 obj
+[ 302 0 R ]
endobj
302 0 obj
-<< /Filter /FlateDecode /Length 4211 >>
-stream
-xڽ\9d WTh# ښ^ O:׀㽪zOIQQ%/ˏ_?ը h_>
-p(Na TJ;7Q]kvJpʍVNh0]PVѳN u.ې2Yt#:5T\IN 46y*]EGW}x!8A*0Ss$_#l'D_D4KEt`lݤn(NˢGޓ}Uk>kBZ5SPvЩ[%Gh?=贷 }9vYʎֲ\_{#*OD+BjQl".@G#-_M,98x/|3`0؉+[@$,e!VgrZ}Rdzp
-:<.廫|&?G;͎L;΍㤕/齥Z_:a @QVA}|l1҂Y{-^,d[; MÊϙҾvίf-?,!3\2%b:_^Gx8K.L)ً5P48e2S5ɰ52Ս7fT3x
-F,R&gmYz<RxJ^0ZeLurt&)+Z&ZdsJ_vY*7Ji$i会k`
-6𑓯yٯQz‹$BrC鍰
-OHR43z'59sHg<S P\0y
-ܰ橡Xf88
-kQ)5C-eAϠ&Wh᱇cC5
--r6 1ͪN(gWỈs t QNE:mx(A ]Y&CoI3(j!
-N |n#0g1zS*"Ffy.pvf_P˰\knq3稴=
-=P}i@߿?=%5C$DAA[4X}Wn<gxaY#(
-}\FG,T'sNprx2ji00ªE^{TU|pS@e[uF"+)SG*&pYGI'J <ىVw;¬Jr6k`յuh#Q`<K
-3WN/t*hN*k]u0}-E~~R%E,qIgp,m){
-WN CA7(Wgfx
-TN'uLUR"dW6<Ƀ7>͟ í͗vf=z9*ZvhOrZHGTlG2?[eIeSʋ>-"jJRO,hV
-Eݘ,&g9uh챋t350z|+ٺ6<GcD 3;<P7ד'cŽe6&x*Ғw\!&1\qRX,6ļlSOA==ә, hC% V
-!BLrV' Jct'tt[_=R'kG屝B7 teYȃ,1Oݟ'6Yp.ݴY;g5VcCtdD0]Ma
-cz HSR/)9!Gʅ@*r[KCRIAyݯxQQH=T[sx)&*`>HhҨw/w|SV <B`p[u+[o:um{ I|{3qoޤ΃*9sϾBjYH&of tr*K7ZO`1L}=ȵ )BPӤi|3J#o(Faf භ!a5;>Q6i؀+]1o2ZU15VR
-KyqeFup_GL.Qk9Kك~T.h.:,*jos[\.q@xwR\ n,rq&4Ġ\Hw9]DZܖJ]bKf}sc
-F} uwprȅ0VӼXNiا@aF n]GiWznéb^0[Wߌ7ƫ6(N):xxWռT[mb<`Ny?6bN'MFs*(jhu ADA
-endstream
-endobj
-301 0 obj
-<< /Type /Page /Contents 302 0 R /Resources 300 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 417.517 190.205 431.465 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-303 0 obj
-<< /D [ 301 0 R /XYZ 78.37 808.885 null ] >>
+306 0 obj
+<< /D [ 304 0 R /XYZ 78.37 808.885 null ] >>
endobj
-61 0 obj
-<< /D [ 301 0 R /XYZ 79.37 771.024 null ] >>
+53 0 obj
+<< /D [ 304 0 R /XYZ 79.37 771.024 null ] >>
endobj
-65 0 obj
-<< /D [ 301 0 R /XYZ 79.37 734.627 null ] >>
+307 0 obj
+<< /D [ 304 0 R /XYZ 100.292 517.741 null ] >>
endobj
-69 0 obj
-<< /D [ 301 0 R /XYZ 79.37 711.095 null ] >>
+308 0 obj
+<< /D [ 304 0 R /XYZ 100.292 457.965 null ] >>
endobj
-73 0 obj
-<< /D [ 301 0 R /XYZ 79.37 333.945 null ] >>
+57 0 obj
+<< /D [ 304 0 R /XYZ 79.37 298.517 null ] >>
endobj
-300 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F16 244 0 R /F15 219 0 R /F62 222 0 R /F55 221 0 R /F54 220 0 R /F22 226 0 R /F68 245 0 R /F32 228 0 R /F61 231 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+303 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R /F62 230 0 R /F63 231 0 R /F54 228 0 R /F70 285 0 R /F49 224 0 R /F51 225 0 R /F71 292 0 R /F33 235 0 R /F53 226 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-306 0 obj
-<< /Filter /FlateDecode /Length 3872 >>
-stream
-xˎ_ѹ%@Fh4055@nY-)洇!%Qdb該-Qߤy??]~<tS9䵷?~}R@>瘄19x%W?~{NjTI" Ro_t p/p'JyߞHOmP"j\!ʤg%O IWH*cDTaR \|J){|FJ_Y3܁FGU62t@ȸ!t"^5"Ct̴W kI1U:[
-^,<סE ^Q%ws;3*Jsʑ6uJ:PȀZH&8a$
-YL߯HA=JR\tX_.Ok!k:eJ_WM"ܥP@/ 5+=aVJD:yt8Czr-u3d(>dBv s9Vjѭ8_:95'8%'p3މ`5R- (5TPFNخ'DU8/DR"9 ͮ53.>d@B5B&ݬYH[̙ڦf=riщ½R ~ʓ!4.5e'h˷#CX1+A{FR'$#|EULr
-^mVﰮB;BY~_e1faB簲W>:njR=mXO&JcxH贏j^TD-l3$d3ٿj`D!a61,RK8{>ٹ49slDL&iɎi㝁Р.fҟJJʌNDhdgƭ20[l
-;;^bJ c}BάFTķ'fXaEቑί1!q'HD
-t2
-n\rLv0PVL6DOY4qfN
-`&MԊsw&{A6|eN@?,c5If2֙wl[Vג7 .u@A8ֽEl8Pc / 4aT8i"`8CGk0JUi,X&༗4/092*:V3I"9IC&%\y^q稷\P;۟n(Fn%?젨
-^xsDff{DzCK~/<87ӼB({Rn(;=R)#6x[kؤVMV2?5ґޛEVa:cd ߭2:,8T0$)k0zq}]4P"o>rm-ao,k˥PW3Y7z:upn;Z&X>rmlkֺcpՕy}}N5`TJ$VTrJ ė2t;5΍gDoVAjt j7zH3m;WVIțel#o06
-i;XH^ܵI=&`KkFeQQxK'K5\v^}R0GߞQ5lOF%QU%.ˁڃvy'O`,dwW ]Z;,n\;,fKe_{I7h,c9ҢmXm:sw"{o)ZVsLסsnVQ3cډ&@(EqOW(>h.qcc5yܮ$C\.iOk2*;*93X
-3I8'nPH
-U \zd^c,;ti.wNJ㉮IUU(-$.2Gw1 y _mqiΐ0=uٸ=P}.S|h +6LL>~8VRTm ߵ:v5\
+312 0 obj
+<< /Filter /FlateDecode /Length 3183 >>
+stream
+xڽˎ_?Y|E<$C @ V;~"lvHVlc4d^R&.lQDl>=MjQhytjeˋ`4o Ǐ.o~{Y\;WpxW_ރ?7BA#y&
+%]#@,UpCN7ub eռqoZD&5ܔ=р|U)
+gKY^=%2q 4P,vc.X3 GJL+Ƶ0ZUa'O{2ύ]^.ELEonGb^ӝ=-sdwd!NpQi߿>[\juMŠ
+91kc2,kDW7wõͮ,-ɫӰXa!iVhVk (J$:r6vaBmή㗧_7"y:w`?}zXn_/jf>;uaS"JkP1
+Yt%Dc(!
+-OE aU
+Iew)GWZ"b;aAZ2'M qOkM
+EyqkX@ݵ xXS"mnn̾kM&}z_ysj ([þ8r]SrkIe-HRG{RGB@݌2 RjQHn2* P_AiXsOT3ux Pa^U`
+\׷;F¤x)wI-gcLXm9:4ZYO8owJ`%ISpey3vn~"V;^ElZ"
+e ϵwm̪Ƶ8͏{RP)۹U~3zt[srU3 g.:|އsF s''kj6LNz2X[46'7 Frs~a`
+`AX2N x k.hw$i9^Lk-e y1.
+;J/zOW^rz('*n Ar,*Uz.>}֬=NGylb<Q<fwk4h=|@WW"?@b* BS]O{""T}ENvב{+,kn ^nY0+`a_jԔ$*CHAUv)95W7
+7/3 .kރ 7n,%ZSނV!ܦO<xz5li6Bƒ{a&.ss) m ѡuA=e7 R>/jk=}5ah3-η!Z ;?+
endstream
endobj
-305 0 obj
-<< /Type /Page /Contents 306 0 R /Resources 304 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 232 0 R >>
-endobj
-307 0 obj
-<< /D [ 305 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-77 0 obj
-<< /D [ 305 0 R /XYZ 79.37 408.072 null ] >>
+311 0 obj
+<< /Type /Page /Contents 312 0 R /Resources 310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
endobj
-81 0 obj
-<< /D [ 305 0 R /XYZ 79.37 291.906 null ] >>
+313 0 obj
+<< /D [ 311 0 R /XYZ 78.37 808.885 null ] >>
endobj
-85 0 obj
-<< /D [ 305 0 R /XYZ 79.37 198.115 null ] >>
+61 0 obj
+<< /D [ 311 0 R /XYZ 79.37 535.196 null ] >>
endobj
-304 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F63 223 0 R /F65 224 0 R /F32 228 0 R /F22 226 0 R /F25 308 0 R /F53 218 0 R /F16 244 0 R >> /ProcSet [ /PDF /Text ] >>
+310 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R /F67 250 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-311 0 obj
-<< /Filter /FlateDecode /Length 2735 >>
+316 0 obj
+<< /Filter /FlateDecode /Length 3314 >>
stream
-xˎ#>_0,*@rbnANACŷZjfwmhf*pO;qo/˧'Ǽ1ҝ~{'Lړ5q#Noʹps)8
-sކ }Ku\ziF<L+9J|I>r9CT%fduHtcp3dC
-p%eKyNPLM`_[:<5fM>] 4&ƛ~#/Y[F/9-G:Y{*WbC>tCLU\vE6hw2K pKk &)_]i݈^Iw> HgJRNh!bH~kpn
-Hyt5-ɼhpB;ZV&ZIDG3,Uaϕ%%USbLɜ-,&ϑeڒŴZf1.0)AR+= rg=)RG5aigs#C+Gj-LSpp?@ˮ4H\]I改SI~ZR1݈'68SٶUADdMEg_ "ycZ<Gwt!SaZJ{ ,&=D <,>ITKdI*dUڸ:;Tׄ靾ޣMJ>x{EaPʬ<IKORv~';zCP# nK rzl8oae8-`>7OQfA`2I.QYX>!ת0hOv&Iթ& } rIԊℸXYz&4::y(Fxms.-fE׃
- bZOb<o3bR!pR Y]d\,I}DjnZaVBPPVSs@C/a PIG:yEƮ.bYd"D\! f?B)t^[fٚbKޑ-M^%).@ ~f'7󐦠ƧJ5#,)(BAgdP~[EPlM+>;IF6^~z-}Y6Y> ]fļlU('kA+6 g;*'DE1yhaGʿ 𖓨ݒ511&T o-y$ot⹸X}}{ɇ
-dN%<'J'N?K!]sF 3K
-V)e4~G}[hǟNIKAЀ~R0c'H<V×8'w:f#чcy{>IoC<oߧ!e IQWbhy hvZVm1?Iƞ1{X {2OGܪ#ռ ro|2K; ѡ{4.$#lhdz+YpEC[}6'8pŜ+~VMxy{\{mw3kݙeBh H$ɑ8Y*W?%3[CRUwp[ڞx_9KgsKș{NK>'42nnD/" >U3sB0B'b079 ʉMێ4d^62`A?pP06Gej#^(w6ǧ89] =/ĕ= {muEX홳}07##eF,p%JF5{&?A_e'/6&Hϔ_xcM)npE{Po
+x\͎# SF+Q0h`<n؜bO C2%$Wln <]*I}"eR8s"$]5|;{ɋ`o{S: ;9RJ_ tOmkE8)ZeS20%Jz@_ %p:)U"]&fmB~WK~^,3?/pYi~C7G:Yj;/$\km陬mQa3NQJ:aB.:Wji\l,JRh\Z`Aa^sv-m#kc;~me$>Svt0kbH.`*r3a"ծ;{`-ۓُVRۥj/ws WŖXmA>r2m?g ss}֐e %jWc)0${{ƈѦ-YC,t"OG1$a3a<z~zILmm FhXK-eFYflhk1x:Y3Zm1Aqiw-0zC`+pcos2麥ylʰgZ=,Y.,eb&uj֞Q]|0M&HO32ɡ )K,/PUS( ,QJXSn<Z'`ys5YTgFo`=I仱I~:zMwju,9 mmG_wa+(+sb3^S V>TG_9u8{2HH8Co]2`6-gFMMz=*2vQ.͉Ef֔}{EF0y2&*4)wsI;[r6bL]k4mHM\T%"MB7&[rPV*@ӿ#
+Otk J]9,!k=(R 4@GnLLd#_AZ#<WF~KrLyAsHkeTY?N ,<ĸX`zw,1ժ~4mz8XzVB5ЛI[^&E;:z8>SG3QHɪy +bQX55eT
+7jl92NZɀi¥X~{Pmŵvy+CnkFr%Yyri匮`ҎI#CDڗ'u5p^JZ )ᐯQ)}h} 3q+RZ8͢?e ZRMAg7\ISkiL5 2eMoogt-x#=5P0E酧mbmWPJ8coI|Bׯ΃O=W27֛ѯxl4[]'Rngl4@߹V<8Ak{L-,amDIv?R@QPh3H9u̠F
+FaHqK˛&+B[?huB߹-
+gP;
+}iQ?O~)N9I(6W[KR|"k{\H_6U6{倮L,S3/]IHL
+R '*UUHOU9_ZU͸soۧx֍3iR6Zˠ v)vSV*)"/T[ҦijoVIyfj,/
endstream
endobj
-310 0 obj
-<< /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+315 0 obj
+<< /Type /Page /Contents 316 0 R /Resources 314 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
endobj
-312 0 obj
-<< /D [ 310 0 R /XYZ 78.37 808.885 null ] >>
+317 0 obj
+<< /D [ 315 0 R /XYZ 78.37 808.885 null ] >>
endobj
-309 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 276 0 R /F15 219 0 R /F62 222 0 R /F68 245 0 R /F54 220 0 R /F72 290 0 R /F63 223 0 R /F65 224 0 R >> /ProcSet [ /PDF /Text ] >>
+314 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-318 0 obj
-<< /Filter /FlateDecode /Length 3130 >>
-stream
-xˎ>_Q?`D
-M6[a RM1"C(d>d`]
--J$o[2%iY1
-2ںǿՅ,=A#%Lk2<vu4A+Qx=Lv3i;I-jF$+17QKRJ/V}dʻh~j i2.c9 *aM#PˑZĢ(O lԥ;Aq5#ԋ5<+f?墳
-D@MQa EUZB?zTd{f+QIK&C T\f '4މrQ('$jTkUJꆚZ1D~ꦔBєQd5JN)s9
- :#쥬,CIUyPxfU #7VMb-P2J)!pQ akf僊{RW<*II\ -;5B>,*둶n|j5~%!IX\_I.VuIɫ
-5WF+p͔aD]Ր9r(z0{y3KUU\+#h4r?sΏx-c܉q &1F(qeVYϋtfy{` K9kăPM0o]v](uJ)Gm]˨Pwgf1xS8$ܭ7D+|c+ 'RRIO]1¬ʣTwG;ځVW)Feiƶ[nS6,(Sq;ePIeTh&ܭBӛVJiUmWq3U9Rl
-w_v}炋"ѥ35:m*RB4)ɓPӮ+t__eR=H`_afFΞU˜soq;-A{f|M;zV6|G3V*ٿ^FZ7+
-̴@+Nhw^CƾG01޹¬ا\
-*>GyA0ٛKu$aa8q!K(sjh^+u]K]7RM}Hixrg?ߕ.|vd%*G*"=w(gXҘ
-¦Gwl/kehPU@ .HLkɒgL/[K\':#- \H3@ _xq Be] ε2OBkW󩅟Vx0xiR&;no)n:
-?f_×x$C`f6q?_Pu ~<8#y'Y'4)D|OACƇ$u^%zМjq[IwL+qxpMG,5`.k2*>~ad IUֆ
-mHzN.FR\R/I2I:ٮM~d%+z;^ϣ)qu˾H3juV1#'Pu}t:Dke}ryS4s6U<)ǑOuت=T Yxo4=9IPr48 4<DEY# PJ>Z5(ZԺ.pae݂ƆC
-gQ3Мr6iM { PT+C`\gPg`9?Z;8 6ŸlKVH=μ{:G|x|Tow-*xr94_!|)ǔRngڻ[* h0q[&A*X_Ƞ<+]p^`Z tsG#pQob.M 6ȰuypBJR&
-.2|j} FAh RS;XNi@4mt꺻9F{Ɣ}v︸?w뉾uH?X-ohۋzhˮm'భk sB~պ BfS6_ti>xDq^zC0TNGBmP 7ֱR$]t@A:G
-6Awi2޴D9p-%H > 1ٛvxK19Gj#U=1
-lz +xr(ƭ2]TU3߬tb^
-`F6lp8jn ;Y͔}SdTImq:_g`\?nI͡-=P )(OY;PxLՈuy7Cc{;L;{:4MȊ2!ɹiUrk,n
-D!Tl6q+] ?cvN&
+320 0 obj
+<< /Filter /FlateDecode /Length 4358 >>
+stream
+xڽ\9dWthK V Pfx3Al9 ؉wzofw9b/O///kyIeE\g^vLYqW΍~$84o^_ՍscC.K߇>I_7)oFyRBl뗟3y]P
+9cHNR e*5<Q{1u|?}ϲ3[0ϼ Y9z,֓){LJUH \+qd\ql~rK "pR#8ᑁ&;WEFb6)N
+Vn6
+[{Qmm 81c Q?Y&QX[*4XyGyAstS5*bLi-jV(MtdCѲ*xT2n"䥁t$:̢=SPW~Hc֨22G[W{ %`f_3o@exH0KSVh= YآmlAj:n꽀Ǜ[/}f \҂q#G
+ʾpxӋ3PoAYX)>HƅԖYY:S^wb7Gə&S-퓎G٬w2|zHy1`/{nLq?.'
+Qޔ@D<V18E1yu`3`#*Z{WK|M{Pt'B:zq/^'5wc#d&(+onhEjӍF`g3JRIu߿pr$7UjK|>5g@ցnſ4~0NkV4ܭ UQ=-pyk^ks"a%kk)nv#[o#ffߢRnJSZ_ D6̸ũ_<&G,oڔ8KpjFhyka9͡6%`S(7ڦ3uglSܠ6!l| '=:te@HQ•
+t[z!
+S5RpEƑN3f4\(Bw𑝽_;FÌ;k -(O'!ֺS=@t-s xdC*W"a狊DftEZD;{%a Ǎ^"yO06s2|*Em}rCs vHF!9 ]lV luD-훲gKVGimB#
+p;$_a feW\PʐL=[UU QjG(/wk0K˃u*fӿ|xda;5r++h>" o7LBުiFf
+\wJWy5[*KG_J!Iserh(7 1'N1 rѵ^˂AXS;~-`ªa.YgC0MJY4Z2`Հu7TEs nw%}Tk11xD (kyưUl
+"c6,'C!JLH||[`8s0Nv Kj6%)24mյkO^TVn(9w2@-۵bf+SʑNGghk5c en+ R-so$_“-Y+e1/;6 ~T|gd=>7]
+O(,Nzhu{TQ\h
+g87. Dӣg
+DdbS 8*?dUq!X'(>b<friyu- XݠEԛvqf$G9* F n3?p2Lg~b素3'68+Ѻ`a Qf<Gn1A8mOɸRy7*g*&WW"թf{!"2Rk?J3Aߨ8z`WUA`j1+]?Ԓx̔ڼQׯ,3Lzs$]횔9&7q?)XǓ~oP 7',U xT,(U2 €X1K%Y*L)=}
+'̮~eR6',UC:j->xOh1K|U_<YwOG˜sӌቾ
+veXu}rueq zlݮD}{*]@ɉ֤rO[6Qվp\mܲaѨehB4
+ Xaډq9[2 ׭RGW/{ a^/%W [;%YE[unAH`(f'p@f^ui_}I렿^S^<_ݽzSZ?ںbZwzMOSڏ;Ӂi
+9ؤ@)}
+
+a
+֖1*g@꠿R@`B鋰$44 Qc*"*hCiߓ5>fzsFќf8{'m'Y֤+9-=~P.:)z8XV5h„7TIbd
+\۝x 8RExm9a*Ӝ# J|Db])ϕ%Rk;>sUDX-kzPROG^Ǫyb5٥ +A>v,_)>Lk^TQJ)i1~?NJ8#YW;nXJX~FM][OBu*ZT0 
+U4shnYk5ÛZ fCzֻV}:@rTG[">y57:c/ΙjDVRÞH>:I tҟҍ$`$"t4SL20鵬 '׏$:|l T^?(^BfꀃIu}eMޭ1I5p}K8yʭ
+;e8U/yd|Z֙%ƵG 5LVsI0aM8QėIWn_.g z$dڜPoy[-ց~Kl[<Kց: %Id}|Kly/"ѽnqè̴}\+yqݻKh5`TNqb`\YY>ΠHW`? ʶئo#Ha qZD4=gl絻bWoJx
+ykĸ]43ٶkɓANyZlɜ1_ɀ~ֶmb@̄bh tm=
+>?,`]
endstream
endobj
-317 0 obj
-<< /Type /Page /Contents 318 0 R /Resources 316 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R /Annots 320 0 R >>
+319 0 obj
+<< /Type /Page /Contents 320 0 R /Resources 318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-320 0 obj
-[ 314 0 R 315 0 R ]
+321 0 obj
+<< /D [ 319 0 R /XYZ 78.37 808.885 null ] >>
endobj
-314 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 547.28 338.817 559.235 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+65 0 obj
+<< /D [ 319 0 R /XYZ 79.37 771.024 null ] >>
endobj
-315 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 547.28 361.512 559.235 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+69 0 obj
+<< /D [ 319 0 R /XYZ 79.37 734.627 null ] >>
endobj
-319 0 obj
-<< /D [ 317 0 R /XYZ 78.37 808.885 null ] >>
+73 0 obj
+<< /D [ 319 0 R /XYZ 79.37 711.095 null ] >>
endobj
-89 0 obj
-<< /D [ 317 0 R /XYZ 79.37 681.674 null ] >>
+77 0 obj
+<< /D [ 319 0 R /XYZ 79.37 350.645 null ] >>
endobj
-316 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F72 290 0 R /F53 218 0 R /F55 221 0 R /F68 245 0 R /F63 223 0 R /F65 224 0 R /F54 220 0 R /F32 228 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+318 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-327 0 obj
-<< /Filter /FlateDecode /Length 3530 >>
-stream
-xɎc_KqFߒ)ArK~?Ž== hw,־9ӗ\8׷۷_F^<F|pW\g^qsy\ ΍syo# LpS`(˹`'<`+,IɴE>| )^qh8U<GdtVMxJ2swxP> Y17"Nu'+rd
-~9\
-"NmfZN{DUS
-$#dȴ[V<lϜw+qŶrazDftȡ
-PvtNk(qcސ,SIǁc\uSE{KnEEUa;X=i>G>5JE׈>Ø"1σ Wc2^)=B}ZoXE탮5<VYܩ}N+%k$\׺EPN{<(r7 z$-QSskGOރDU/B틎\Yۈ*um G3<r.`Zp9z"bH\ "]Fʑ ך>FͻLZNk^TvKkU%7m0LSՊn+w1~Ь#Ki`R d_Z>t꘽cBkwD#sjjӓUj&4~R*c?NA@2Q~C3Wys:Η ːׂ_ \|\ Xe6IKq2lۺ5U۶Ȟˤ.ւ˶\k[]c}Pf_ܺH\0BqjbY;܄v*4? 'zYYMͳ ̥JP<\;~!iUPp:;h5,$jv
-5io5̢¯A≛w&tNU+VO FA!ZSIҚd t]qvsu-LihN"i&cImN)NVːJ
-VY9!1r]tUTG oᡄꁤG;l2M4V~ J)2mjI5.D[Is: gJ:e^V2g@^آR=I} b:K-VΎ;I4STe'6LArguGB(Z/r@הlk)r^>!$ 1[[I '/=&y<e:u5GcZW^39"SEuVu9%-@vQI4_fYDB1̆0ݦV4fck7)?Ω\}AT[Tcd0DŽzd<W5)ˬ]X)zUPP eB3RVOUwӕ;Tyk/n݊$gZ]TG
-6xɀWmguRBr?T",Ħa= sOsl>?i WK4UIB^E*~'׾u OO>V:v#3 6*=gd^dh=I;:e]uqwi}IC-ܳLHO<k<^PZ5Qah gyP>Bx$ӝT:浤
-,d\<!-ZLG.Cھف=7>޸͢JKeA tK
-&3^#,Mہ19{ #]Pan:g:07[0}F,BB*]4&_o6TufNL8?Ms,0\qQM#~iJ@Yt&WRpY)sWቱ}Fg)zu:-ރG
-<ݢZ`>
-st/N,l)Sû<`wL7pgkS@X:Um?e
+325 0 obj
+<< /Filter /FlateDecode /Length 3798 >>
+stream
+xˮ$;m?_yJGGFb+X/pNT<#鮪qiyE^˯we/QDE]B
+P.LXflBnR~%=c$k;P=i#nou'ݚׯ:eȗUGUp!A֔; @Z_| 7 8{-(P 2Vd+Z6џ
+?Szrظ&_BIGtKτz"R
+nBMTruf}_eI]"v型tGRIRϻ
+tp,S fm$,HƯrE2GU"0q;pVxpΑ~i%FWM +Kjƌ{W4Ҧ" к,\ȦܾMi(6@h6G{QB8F<JEklY)XhOl<kЕA,OA,ߎ bY~ .VV[ܱ:*rEVmVALr
+\uw+;-):YA!q uoj9͍NU&SA[3zOb4'Iw$?ϒ"m%Դ8 KhEF2j<!>@AFK8;>5؈a^}2h\1`tA
+ot
+]N51@Е͏Ύ{ea(<زC nOG^%z Grc,z=WjڀxB.V3;;v龮#+VOd<մ8~9ldZ+ÿvC,$8K-{=p!}xq-Ťc?atE,@0kҏ> א'o,0 Tq?
+WeFfBMP\LLql"L ;Q&_4Ch!wKo]<r/] 1(wdOՙhY$Y Z'i#NѦ:IDa@G,c@APZȒ:K '?R08w4X
+.&s1XqOšʎ\IaS(W!ʯѿݐvJ0{'P"@<Ф_vc0FF!H.g^n.l)sYZe63V9;nCgJ> ]<9a{LF@ʰɦ(I^huLc\6+hI?3z9C4^(P|^q
+asIB{}e* >ݱ nxv) %5B>J(7no땢$oGX V(Y045ƾ7b,wc'ԡy6`+s"Y<0=LyÙu=rM
+dKo*QB:Y5vܒxԅϱ
+Z{*
+ѧ ڨ7:W܌n]jJ*6XG
+OOB*yk;"
+MQO &qgy4"q`J
+`L9sw%OR0y_0Lk}'#>xfo̔V[)/ڷij.
+ 6+[]5Ҁ.8r u8v&aDZ9,oȝ ʘRN:t7@}J- jcǠMJա>6D &eƙZGO ~ՐauZR#onzXN3n3M*;0mBC¼&{ۢQFgx77ɵ-+B]d6u>ְ^vp .˕nbVdvZB2±VGUV{ͨ8xZ)/=6#<[ mM4ZmWhgݶ%3ul'N/t6 ڠpR70}~`,F.,rN3֘vufcY6K}{Fa4̳>GFU)
+T/Nk6 <Ej]1ktX͖ʾғ4oYrE'{So0韱s'"{Ő^E3}Z.sY/nCnL`¶SLn?
+aOW(>F󦨟4İ1<nW`ád.4'BൟCe+{Ctrf+C|6jTsKr.mr&Aod=2:L([;5B|gλĤ7y+)5\9⪕q%7DzULh@-}Ln xq@B_O TƟHv(fkS{=n9<c,q ռM<\ 2yRO_xW
+|64d.> z} g$ٱbVb#FRޅPM~
+ f"hYv< .&LaR 7BGnTJG<!_;\=0`$e}=N*9G!GWxKdiڂ7{zب%y &\k#4͛Q]#7~oDB& kFpѮ_PJ=ǓAkRwe7c,8`9`f`[d:<NO*zOS&l0u:09Ӝ5ȼ?|.id=cFCTe8Z71q.FFV T±I7`(#9rl4?[xÏ"g}<*:x.nZ'@̾uػTinqld(,d$TK1Rן/f~s #7Q^1%\F!7v&1QTzyH \<ohGHt0 0fR7~~~>c]H*1|x\dCSUbjwvַ5ܦýAD~+&+S\28R~=zuyYf;rgUE4}uF(j"5^ 9U)i.u*W]pT}~? t}G= aOIFtY7ly:yP}s8j`jTr\7)7uԂ~.&7q݆B0//RpN{[ԧ>nlZwLE-uCzn뿦
endstream
endobj
+324 0 obj
+<< /Type /Page /Contents 325 0 R /Resources 323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+endobj
326 0 obj
-<< /Type /Page /Contents 327 0 R /Resources 325 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R /Annots 329 0 R >>
+<< /D [ 324 0 R /XYZ 78.37 808.885 null ] >>
endobj
-329 0 obj
-[ 321 0 R 322 0 R 323 0 R 324 0 R ]
+81 0 obj
+<< /D [ 324 0 R /XYZ 79.37 435.417 null ] >>
endobj
-321 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 461.854 424.058 472.694 ]/A << /S /GoTo /D (subsection.5.5) >> >>
+85 0 obj
+<< /D [ 324 0 R /XYZ 79.37 319.251 null ] >>
endobj
-322 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 461.854 451.734 472.694 ]/A << /S /GoTo /D (subsection.5.5) >> >>
+89 0 obj
+<< /D [ 324 0 R /XYZ 79.37 225.461 null ] >>
endobj
323 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 158.558 485.716 169.397 ]/A << /S /GoTo /D (subsection.7.2) >> >>
-endobj
-324 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 158.558 510.623 169.397 ]/A << /S /GoTo /D (subsection.7.2) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F22 234 0 R /F25 327 0 R /F53 226 0 R /F16 251 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-328 0 obj
-<< /D [ 326 0 R /XYZ 78.37 808.885 null ] >>
+330 0 obj
+<< /Filter /FlateDecode /Length 3065 >>
+stream
+x[KϯX,
+9{C[j.ڣ&bk3}ωy9t7F_ĉ$eʹp.ֿ_֚3Z[ZkX %Z O_x] ]%<^g!?|J͜v' TR>h
+hs25do%@>B<Nf4Ӿȫl9bٷjS[5I"wWl2s;.PHv[dtg $>RnΩFCS`OW+Il!zdr'q%V>CzǸ4#mʻdFF-G)Iʅj,c`H^MwV2ZvYwOl!bHArQ,&)VrzB*`p8:H$&3^jBy\.d%H
+ڶg&wZ|v $2d^\[9̸2J$> p)쥊*ʧH:9۾͚jQvh-QLe9 T,ͱtϡ$Hƽ4HK0L0{T3-:p1JՎ21i \)^@ˮ4qr;buvEJGRI~ݏZR1HLNPLy۹z-IDMMWꑦycj<GOtC+srڳx`d}KbkK
+ F}X/Ez䓗d,rﶱ}g rj2$zJt87uosq;}HWISzJon!Mo+aV׈>8}/S+
+ycMJ.A4bMƒ$xYj+)+snlu:˙0'סLb6n*AaLO0vJ<q f~~ Hr~M EvY^4 t[yþ~_&R<&ɭV^T_P~{I⧎ K@'`#>p #<YUqPT`jdio4.`vt[ڰ) ʭ1XwC)̲8R WIw_JOWY25CR֗~UHC_dl^gx@7QWa1r,ֲy?%DL\l?Uӣx#ɸB 9υτYUcn>ʜhVP0/`%[Nho kG\HJA@~`á\<45|ys;Zh.X{$iy:T`1Ӧ/Y<C
+ڏx&9l4`}{%y떎tyӱaOGO:>W=fS]Ie8&ϵ :{'\JK&y!@^S,X`9N|bO
+lw!`Hcb' 8)s !a9iP=@2@c`=HP(6 p-$?Y'>>]Ʒy]
+fJ R 鞊H #RC)h#R R#{Li1~"5PZ!􆐮 Dj}{%<Dj}LǾ."b?rx=H-$>H  R1DjtDjDjmo
+#/H V?@K&h/H ܲ,Zp/H r~H 홵?&ޏH-B-aˡvP;tXS
+qR8C
+endstream
endobj
-93 0 obj
-<< /D [ 326 0 R /XYZ 79.37 621.051 null ] >>
+329 0 obj
+<< /Type /Page /Contents 330 0 R /Resources 328 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-97 0 obj
-<< /D [ 326 0 R /XYZ 79.37 449.146 null ] >>
+331 0 obj
+<< /D [ 329 0 R /XYZ 78.37 808.885 null ] >>
endobj
-325 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 222 0 R /F63 223 0 R /F53 218 0 R /F15 219 0 R /F54 220 0 R /F16 244 0 R /F68 245 0 R /F70 275 0 R /F55 221 0 R /F32 228 0 R /F61 231 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+328 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F65 232 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-332 0 obj
-<< /Filter /FlateDecode /Length 3281 >>
+336 0 obj
+<< /Filter /FlateDecode /Length 2971 >>
stream
-xnd}, `zm >%[S).Ehhub )//OׯO?ݕD8sۓ.>
-/)!|g)uG//IWp;Z(}_ҥ7M@eyߪ,}4E4"#_O m{%M\`N;ּ|CGiz.@NW]%[$]45e6I&#-b]'tri޼^XJuwhaCeܝv% φ7 5ufb[Q]{Du1Hc|)L)^X1s+&{ө 7؄z3!O,*LV$4Z
-AU[&/Ѻ2(!m06A]ln08s&`LoLZUJ+qQU|EF1,09ÙB7fC] way$T$w2>v[B:ܹ֟\tiH)l7+b"13!k%˭0lʐ &Xk0k=Zu%ds&Eȱח*% %o{@B2V6"e<Mw0DhdZA=7,)jӴNӎ5B3rrQ]%sNs2~h3' !?3 SDhp F.S3m%`=BVfGf-
-bN;zޤ(Aim-h*B}8dfx)|8T6Owػ
-)QOi2Pt8^(hmgq6fVF!Ma}J:12‡u䛃s <K ("BvJ嫜3Ӡ\>Xiz@Ñln&iUa9+#Lé`̲B'T KT≯ uy[iY¡M͡ O29Eʘ"D%"  |fg0< ӏ3|w֘y]]+;OY;D,n !{;<d|,2?iX4|{r,<i00 6VU͹TkUR1<ꘖP΍u]E43j,% 9 Se1uUđeO  ܮ5h vtZ6-gl=:OO0c[ÖLi=$lj}@ܮ2]
-xE5%5pe>ʔwn͈,Y;{eCh3;?0MMO$9:*Z1/U8ЏVlp
-0Cy%ݲ<^p]zT+d/)c)/Zh₃ca%z #6XD<  o1}tzI&+ T"o}Rݽ GFhqyRRL{'IWjZyc&%f
-O11#dkuan
-z;z{*^&aRePؾu@z뿥md
+xɎ6^_(x\@rJnANY0Ӈe~U,Nn$(kW-!Zo"뙴5q#/o͹vxtzs|>$^o/|zw3疧qpos;߈G}zni.= c >iH闏#ϼ& I8 )`!R%R X"3Pa//-JX8ˏB)GzA!F${Urt @9jFZ^eIH"+zJU\HQʵs ?:\幃>t*+Rw̸G )>U$Fi7"'I:ެ:DZYvF1 AsEC'hV@&FkZ8 >'u([)+Ӹ$
+q>ulY?AG#ua%)II-y~@b2PU= ]1+ Df3=bs,Ld]l;=b$d`bc^%{xV"=V,Z=p@UH@gjAe5bq#w2bos;1bGY7 |_.J\Y+r$ͥZޭnY3{ZC< .=J@^939JI_ϝ&h^$E4azbJ
+O[f46tfc1rԁr UOI%^F NV032$ (wP =
+M['BӓBӛVYyɐf
+q\eS<P~w̱-XӖj%5]eY*&Cڈ04mC.#S kTJ! XH1Ahht:S*41qyegJHD]Rʮ&
+{Q
+jԚOAx_iL[ތ7H;"ܨf=V]u<ˎrtpͣ!ʒ_Sf8G/;BM%a?,-O1tK<W3jSpI eV"dhai~s2I^dZQ-{[ZRD װAkaֵnFeC& 3F@̵V]& (c0
+.;j}廱Ȇ$+noF|Fq8~r4UumI/0f#ӂ}D@HVEAwXvgKLȂN!ldy V3+U
+ϐ sЖ4{ O7 p+fjIj3s"'~ay!
+FMXΜSSKhZP N۽fFv 0;ߴp@`siB#%s?$jilP#NOaRgH1Gȩ56zUȍGBb}ٌJn?bТyPaI\>h;9I]!t$V6ILx\>q`bq&lf_o>(ϻqL
+˝0?O/?oq1j9hb:"YM5k3կD)_(
endstream
endobj
-331 0 obj
-<< /Type /Page /Contents 332 0 R /Resources 330 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+335 0 obj
+<< /Type /Page /Contents 336 0 R /Resources 334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 338 0 R >>
endobj
-333 0 obj
-<< /D [ 331 0 R /XYZ 78.37 808.885 null ] >>
+338 0 obj
+[ 332 0 R 333 0 R ]
endobj
-101 0 obj
-<< /D [ 331 0 R /XYZ 79.37 771.024 null ] >>
+332 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 644.205 338.817 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-105 0 obj
-<< /D [ 331 0 R /XYZ 79.37 548.535 null ] >>
+333 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 644.205 361.512 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-109 0 obj
-<< /D [ 331 0 R /XYZ 79.37 157.041 null ] >>
+337 0 obj
+<< /D [ 335 0 R /XYZ 78.37 808.885 null ] >>
endobj
-330 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 244 0 R /F15 219 0 R /F62 222 0 R /F68 245 0 R /F63 223 0 R /F65 224 0 R /F22 226 0 R /F59 334 0 R /F54 220 0 R >> /ProcSet [ /PDF /Text ] >>
+93 0 obj
+<< /D [ 335 0 R /XYZ 79.37 771.024 null ] >>
endobj
-337 0 obj
-<< /Filter /FlateDecode /Length 3290 >>
+334 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F63 231 0 R /F65 232 0 R /F54 228 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+345 0 obj
+<< /Filter /FlateDecode /Length 3773 >>
stream
-xڽˎ>_0,
-K2:πQ06We d6_1ʅyD3W M@+/4* drJ;j$d0w8 u i`ֺqa)HLD6b,vHyƴ
-MUgZ,PhU#ʪDs\?d7("KZK(~MRGa,+︛s\F{Fn2,,2m)48LgߕA+[m y2ʏ6E`vB U9)I}uuh*{yJOnۡZ*DaF ߷bGҹ lݩD 'w֌a$s :WZLҘP#}uЁ1\e[!#,qg,粌lt2[qY?Y)*'cxC鼢%R
-GА5ܳw,arTYĮO2<a۝ /r.FAԨKmg<=gǟfQ8$k"~;ڥWYBO]Ӻ1 Yqk+\+`Pʌ &haU}o,UoRFASYTSJXׄ`x9X /*|!Q p%x@e SOxy+\lxe5>P UMݠ6\: K4Mb!%_! EH¸KxdQq?=[oQ,W?UF EȋB*:E3 SqYVRXRt,O=Y&6*F< Jz+Pq uwg_}_pk_q)џ|Vy3wdrz-<>J>DtMW
-gȐ71e.J[!CSԿB|מ[wTPj7tG<->Q9PB^L@ 2Cy:Ae@'Vnx0V;m8aj.3uFZƢ1oze,S$7c'uab iJY&
-i~վ5kM39r~Y!W.]*\1gхY`a'eLN!m+(mٲY2nϡv/oKhW}R[Bqz(7^릝:-z3
-}]/P[S9
-v0)3k:DCϑ"Z&t3yi53TVX%_Ű4iQ"ή09s$Fkcة=,"xR>]<9~gӢo =nB
-. jLI2*r |+ڥlVq*5_̶'"dDŽ(QRrn&eNCP>nѥEÃN~gD3Be~ ,!=_$izT|%% 6%6g~'¾̌(ߑ2
-ۉ5)ʖiHk <p 9Y( V!td&y4CDCy^SQ;NC^) )O/TQu1|ǢoEm6[vCox{\eJD`3cQFfȻ;g->x<vW=✛SMʳ Pߔ|b>_Y=Z91)MlAmnN-{>n46Bwkhz#?Df*uu^a`e(2N3dֳKJ+)\_CS*o4gM>]5vvfml¬>f fm
-3Aa5@{nӷ {jGHczb?bTIWPEGDQ0rHk|@iCX j}^1ff`x?] c6>^#NMw. ֽ+=p(8Ҕ'(dvH
+xɎc_ F
+'q$´{Nnjԛ6%@%y`$i֎4PzD=[SЏ|lyEd(n(0 t
+3`EǧӛQVTf$W|Whnuq(4LBqI.68漬J&b%{˚G9^2Ϛgy5>+q >Y2 t֬H0JqDb
+1tL8+YƄJO'/yK93
+l7#c*j@XKc"ME>-5,5
+EMȰiKLe5j<:O,!5 R R2ņ&OHǤӖK!a[mw^2Ognre5jnA8z*=9
+4'pkmȞC}TF3͈Kܣ6"'7v-
+Dҍ'3usL5bBBrk+ҍtdɞwfŲT ) k/U8=%cȭHT U˩j*SR&3QS2Y:M? ؟ZvRbS/\nZx)٣.^k5F!czeaI
endstream
endobj
-336 0 obj
-<< /Type /Page /Contents 337 0 R /Resources 335 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+344 0 obj
+<< /Type /Page /Contents 345 0 R /Resources 343 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 347 0 R >>
endobj
-338 0 obj
-<< /D [ 336 0 R /XYZ 78.37 808.885 null ] >>
+347 0 obj
+[ 339 0 R 340 0 R 341 0 R 342 0 R ]
endobj
-113 0 obj
-<< /D [ 336 0 R /XYZ 79.37 419.325 null ] >>
+339 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 609.828 424.058 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
-335 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F54 220 0 R /F63 223 0 R /F68 245 0 R /F16 244 0 R >> /ProcSet [ /PDF /Text ] >>
+340 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 609.828 451.734 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
341 0 obj
-<< /Filter /FlateDecode /Length 3995 >>
-stream
-x\K$ ϯh%z 88{s|JH.~VuWn`=]U("?RL~//oN9 O"N'9'Z>v̹r!~c' ( o
-yΌ"\J Fj+ŹqwhօMHÄ04V327sc$SŒ%Dd(e @:.twTzkzC /Qnt=Ik/K .zX]SFL/?&so0>~*<hepX=DM_F$ Ϋ, @h07pRs nemͭm_ eH?o!OV<Dx,KQ2N2i0!P&5 ãaxŭ1S(HQdw?g[-
-hCqeDfAo*R7I1i&|fa((Ve cM6>nqBx3wi (Ŝݨwyw.b9R"o4bCIV{BJ1Tug}8ayVus]C
-λm>+XG}֌zg5JG 0׎4Gfb_7vYژk cc0PvbO|w /F-{~]2`ǒ-yr߱f\cyw,H
- Uݚ2JV>nk1JEQ%n̥(1w\7XAhiŤ}еMKQ/t󣗱g#U2 *8叱
-3gBx&ez2nm?׻A'!ߋ}`8p
-hؘ/!Gxl1Rm?b
-xa`,)(? o^I2s_E>9%eCfJ{!Mɝ*|{XdYsуFfȾz\&>g.Jr$PIJb;*rG(8%ΕgV2:ͪy~2bxM]d:KH\ͤ(iuiVz6儊w3ڪ*JD$EqE`|73uبpCBvÚ3H떈U:ovDLrjc"s=|v-H05#VG2 db%s JO(G& m0U栮^-IB0>BOB+Fwh&WsF5 2sZ:YN['s?8z5<o[1R~o9Y|nj^}vkz[Aå.gpRzJq[v`Ns xhe"/Uwܟ˂`<򃍟^Y벬_/[\TC(UKr?@od.g%cEݾ%Q.q2Za'Ŭ;.|b[{_BClg}%_sΉ_\P*8Ə}"Hw"NjLo['=YL"&Ykrfه-N#-kFfw _ ݫۓ |}+/6װ(
-@ krJs0. C2.!A9_/ށ2=.)jFSAEPUZxg_iJŎDu mqA*aWڛ|Y!>
-% ]&9#MZ&)itXĮgO<xܚ kDP^x'aM&hJJMVrs͊GOhs64 SgMp@&T8T/ IT57ʶ0\K'{
-SV{E(8۔$l7HNmf?m4/vu~Mb587c(n3A_UVAAcmnR<TJ~"X85hJX”NR)fzij&FWdJ';P ؄jҭ
-sJ_]@ ]Wn&1$<3NLT:Hu;.>1I<\-l`~Il!=* S.k5ːx7sZTG3R.B+
-\R۬.ASVT]]{"u0'ɱq(y85\4"k#X<ZJA^
-%q-݂di.p M254W|gʉbM,/PKp'o |87} Ŧ1Hɔh CF5Zо_Bomm[N̐i <h v!ߏH%lNHs/- G)?bvs\M1}xSژ\7 YM7^+$;Q2=ȏH8>eٟ$ʋNm}RZ }.RbRb|Q3Iu PR7PغƆniA!Lwԡ;F†40
-KBw%$ G w}],E Ί@5ܮ1m"2 BV}uV1
-oBOI1nz;A&ftH76T :wsɻCe'!
-[b\֐D.wӉ&?Q
-=D=RFQ6 G)_ÜVq*!R8o83٢H"@%nS݃ޖ<BڳջqnA
-k?OWIu^">a㭕gI{wMKFd[p@N>(kd l׾ݯGR[%laiھ|`d6#\QƲ9$ɤ.5ʱAzHCdOoUWP@0m*W\S\ZǮCj|B z౱K;h65UJ-IoE7Z/
-endstream
-endobj
-340 0 obj
-<< /Type /Page /Contents 341 0 R /Resources 339 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 301.652 485.716 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
342 0 obj
-<< /D [ 340 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 301.652 510.623 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-117 0 obj
-<< /D [ 340 0 R /XYZ 79.37 559.571 null ] >>
+346 0 obj
+<< /D [ 344 0 R /XYZ 78.37 808.885 null ] >>
endobj
-121 0 obj
-<< /D [ 340 0 R /XYZ 79.37 446.638 null ] >>
+97 0 obj
+<< /D [ 344 0 R /XYZ 79.37 771.024 null ] >>
endobj
-125 0 obj
-<< /D [ 340 0 R /XYZ 79.37 288.408 null ] >>
+101 0 obj
+<< /D [ 344 0 R /XYZ 79.37 596.869 null ] >>
endobj
-339 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 222 0 R /F61 231 0 R /F63 223 0 R /F22 226 0 R /F31 225 0 R /F25 308 0 R /F15 219 0 R /F59 334 0 R /F57 343 0 R /F44 344 0 R /F56 345 0 R /F53 218 0 R /F68 245 0 R /F55 221 0 R /F54 220 0 R /F16 244 0 R /F32 228 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+105 0 obj
+<< /D [ 344 0 R /XYZ 79.37 247.555 null ] >>
endobj
-348 0 obj
-<< /Filter /FlateDecode /Length 2692 >>
-stream
-xڽZKo$ Wр^`s
-bO$I%v<Ǯ*JH˿rx.X_/"~X\`-
-ƭX>/^8׎s%9M߈7 ~J/&}+}t6h#^6kJh #l/=݆︛ ߛ]7!r3R;kJS(o4~TMXrKX*A͔F7VSfPvt7A0T]_ݘŲ7ԸL;8#ռm/#"IizUD*g 7h +~]SX 5 lԲE{'dy\?%"3ZlHt8ΑxвZr&kSGڒ3e.2pFFIdqVa7Jk}, qܫG:8T'
-]} Ҡթk{(
-Dм+C@hױĞ-=sֿ)СTQvjk#|m_ߢd@+*ٴ {ɴt,ůTm2Ϻ@6B'K4<"y+s+/RD*~eH91&3j
-H~iHY|S˼Ss(Xq
-) ,K٠ ](oJ/6`4ʹO"6\YAd%&fb s`MTɌ?ƹܭy΍
-pe+xdsY+9[]˘: ƶ
-pu]
-÷;y9k՜CUKLrV0 ~`b90W0-hJAu5B(UךԪƣb}X8cmKr-*<f8-"77H_&nv(q/ov(%7;5u;bMK2nGj;hI'#OF$
-
-ң^$~/-twBL8#u4zKsxRM guLf'~)ł_KI1|-&
-`A40f˗6savid(H\A!?9-ձ)IFlrђ+DdG} 4e,kmcV.#U'ǔ5nB+Ϝb:Q˳7;0 1gj/ɥh\ZlmWe@ `2VL?. z A
-L,l jxh"-F0 RZCޮNh>,痸~L}Nr cK4p\95Uw?--.1jl1 nl%
-&ygHsv(ᔍ9i}km=oMLq:`w3e\ 7hxj; \W{ ^A-d EU[-tμ_B7S*~t 01{ z
-endstream
+343 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F16 251 0 R /F68 259 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-347 0 obj
-<< /Type /Page /Contents 348 0 R /Resources 346 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+350 0 obj
+<< /Filter /FlateDecode /Length 3177 >>
+stream
+x$1߯P
+" xxΎ
+ȟo^E~=hf]O
+sEOw }R BJH.$%`h)5UJxFkoU~ P6
+=6`ҝY}dt#P^\vBkZ+>VF{$Xa;x_2Qd&a߾`
+&_LB"Ə;ݠ$$'
+ee2
+@x,j"_}/f^8G%0~OJq UӨ@Q=~ӟcN%p:̸gDHڵ;gz׾$r/=/@ .&MYX5]XHW!i)Ekrn&Dž78iCɁMLg]e
+ws鸃NWZi
+Y ͼ
+\9ZZ2x $v&pe!A\KBLR aQ!ہnjSD;xU8e"kNKƇ "Qp4vG(VzK縟K:Vʞap + 0Q}ߧ<n \vy˧Φs\gx
+^~ {ҕr^YzXSt];Nug~7pC$,0@ PQUhz3Dm'ql# WDL+PN },M/\/*ԵuŒ? m} C}iƝhUq5TR6@'xJ%=v5}[ϓ5/vO\J&x=iۑ"kyͮ<K>Dz`<NseRy1Z;9nGHKyC =ؘ΂뗩Z`_Q(tyگ{l* Cq,>n>p7`
+k?@`md:^%DLzdm_s,AVO|J2"k!3^ke7,e@m%8=وdjaձ>^11mb3}C62YTPV!ߩW+!C!ԆV1?ӊš` y͊Fcw׫B$dwhɨ!ɸmy7idx3廝(je^9_fKeU e{ݏZśR~K*3mgWa
+3kS~y]1>gؙds02Uy>;aEmԁ7&q{jJʓM޲J/3.E-j2dzU2KȜ2p'lM6r푮Qb7,欜b3{䩹s
+bv!} ұ0C>7Y)׌Dal$(\zeUuEiAz^wH\qNdSO݃a."ΈelL;4dPvrsˤr`'{qm[rGٝSxE~x[JCRmklW2J(x5'(D&G["S
+oGO[0]7 ay]kFY)dZ^7' AvX2bc@n,f!qy߇-Ls{D Zx F7Z2v ^0b7-+dL
+endstream
endobj
349 0 obj
-<< /D [ 347 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 350 0 R /Resources 348 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-129 0 obj
-<< /D [ 347 0 R /XYZ 79.37 475.905 null ] >>
+351 0 obj
+<< /D [ 349 0 R /XYZ 78.37 808.885 null ] >>
endobj
-346 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F55 221 0 R /F62 222 0 R /F71 276 0 R /F16 244 0 R /F54 220 0 R /F68 245 0 R /F32 228 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+109 0 obj
+<< /D [ 349 0 R /XYZ 79.37 672.535 null ] >>
endobj
-352 0 obj
-<< /Filter /FlateDecode /Length 3938 >>
-stream
-x$-V}
-=%nFMU#6|+xM'&yoҽw"60ƕ,kn/Kaqי:8ק@q+WB1eHs *tL{L"CG<"MԖiii;t`L-U2TsB&l\U8-QbWF# * rْ8+e$n&++n)jG&>*ILF8b;2[ P6=[)&2ڐ8+F=ȭwIUUbF1a*޶e`2@ߌȣ5=W  %>Cq\[#ڞ(ѕ(HljyOU=pQtD>ygjqt(Q`;n10LU<ȍJqcq+R༚Rs×yf4;/u 3Ӟ{ JB#,4Hc%`JV$+z<y$ {Q[A3x !}aZTchqsHHY -!Ÿ${G\HAeD4q
-#i'kg%`!Elo?WA_МI)G<zJ|ĘYGPrxRh98
-%DGD'&%d5K^%f:yM<
-V&K"~^ԴUpfbt
-SlY?[Dq6
-F''c# pYhVx>.P<n[p{S A1/cڒ|uÍhl?ç7ȷH
-ǏJ2=(d/NQ9gW7q4.žj{
-qzv8;9frqj ]
-{zV9h,DM=~S#g솶.|󯋳!si:99x@O_Pp
-u";0Mx1C1x(m=$mieˆ,aw"f:ߦ%ja 1.L.5/sɚq/ۑbktub.E3r^Po## <͉|.Bwp˸&\6KʸyW_)jhwMhOm&MFŒQw/{;"*8Пl UcZ% uJG+zYa.?uu4s'OlD.IC;eT:QtvoÞ<g9omҜt8 }VVa 3;QN<u]hfV3D(7zQZۥmjU<!8}xA/ @`$[XX )3 <TG?mR1>XuoxPwa< I*["U[*9sS6ǮN<RY=akǓZ(Z6b/?Nl<F m)0:OL|jbP+~Viy=gkgtjj/T.ݢ9EZ;sP$15S?'U#NQ:uLvS_UY}f3j(o*y1BQD c?딩N/9)OYtLuF
-I
-F!+iF.܉A2gC>X=˚:ﺯ4ѼϯRI& VpUʵ> !a\ζsr
-SU`HS\# 3"@Cq7Bi@.]!>Z0--ZDNW(H֌>7ћ^-}@76jh Y~b"๤|M<koKSRKWX
-)V)Ru;w( R@M\sZn$6VZ)cՆn'hJ~ќMWeCEo18Z5M~] ^:g }N#cSր8t'I6oFwjmbzsw*^XS3hਅ*˘FƄ1VimȖtȝg%b3:5Zڢh"ѥ8ĜlB6]֢ 1Fpfk U<]=Z/8!v$7v V.kà WXF+YJUx1QADfUCD'a4#<,<6b Rrz'cSvWr*.xPd}$jXɩeo>Ng9?ztby##we)MF[qE[5X],9hV$K> ](!qgY O(e<0 )$L79qsBT)Eu~bub"ğdhtLZЁ9+%fRԢ]Ljsޒ
-T4]
-!ӲU
-E.j7ca
-aX|NݲΜjog?_|"-.-UɟuiJc}/]E)+U2V !{}CaӟR{ hHIXA)jm&/9*
-endstream
+113 0 obj
+<< /D [ 349 0 R /XYZ 79.37 281.041 null ] >>
endobj
-351 0 obj
-<< /Type /Page /Contents 352 0 R /Resources 350 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R >>
+348 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F22 234 0 R /F59 352 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-353 0 obj
-<< /D [ 351 0 R /XYZ 78.37 808.885 null ] >>
+355 0 obj
+<< /Filter /FlateDecode /Length 3179 >>
+stream
+xڽn$5Wt8
+&o@<Pf;2x#ǫXURw:}H <-Ox uyI\8/.3i/ƍv Or.+>3kkyĩ<Ͼ~ՠ_Y26iuq.VZ&tSuT5 XLxM8pHW\ӽN s:dE
+fԡ&)eR9V?R`4^
+fjaF4T4tioFʏH`za)Xk$A1cCl< @+ [COY#ØpoA6PKcߎN`Ik<d G^kfy5̧O+ _Zq9rvV2YKV9\prr+܌ G4_w/,7
+%GA Zׯa|!"@L&\YZF4@oT֨q+i5*W AB˘`.i
+Gti1bd BpH೰v;ldej`;\ w>}ɂ.OZOHK]n i2UEF4T2x% @~D]
+(|Zʦfd4,ҭʹ3J+ȑ|˄dK {zäl|6iWR0`g>־++bZ$"e%"=LN
+[BnFA"NG8)i?tK F6ʝ5i{2KS+ir|2E8/P]5>MFyVAwuu!'_w( ٍQNIIJSQi0MMCa).WMo vfd)4q-뒻t+jڤT %XRȶ/FJJ
+* e|KbGҾҾLQP>T~*rJ/ܓuϬ嵂ZX
+k^fʠ0#QjeI1 0־偺aAf
+:~i9V&zgb0c\#J(U)ߴ{".&-%&2ÆP&eИ4k
+ >{,Iw:bߩU6SՍ>{3Xxw_*lT㼟󖒰LIx67LI4L+6{ q1Swi[Wi7d)GrXq~0~U)!Ӛ;u&0.ڌ~U(5Sra
+$ZGnfA$1R hޥflB? l
+]+*Zh1/R(/fjW]
+"LIkVmF)`[Ap{鰧}go<v1AX x*T*߷`7bOGv mOqDcU^Ir͠5)F|k}*̳ʮ5"G}F%L,K:NW43I )λ;:V AN(M3&k7.#)򡱀0(hPI߮xi}ڋM:w.e΢SOm( m U%6>1o@ 5b{@k%A+SA=]<hC~9X "-6mF`\+N~TπԱv7#'`Js=sX eQyGcrm1Bqf|y{rH0G+QH[v
+endstream
endobj
-133 0 obj
-<< /D [ 351 0 R /XYZ 79.37 561.955 null ] >>
+354 0 obj
+<< /Type /Page /Contents 355 0 R /Resources 353 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-137 0 obj
-<< /D [ 351 0 R /XYZ 79.37 317.752 null ] >>
+356 0 obj
+<< /D [ 354 0 R /XYZ 78.37 808.885 null ] >>
endobj
-141 0 obj
-<< /D [ 351 0 R /XYZ 79.37 165.179 null ] >>
+117 0 obj
+<< /D [ 354 0 R /XYZ 79.37 545.032 null ] >>
endobj
-350 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F54 220 0 R /F53 218 0 R /F22 226 0 R /F16 244 0 R >> /ProcSet [ /PDF /Text ] >>
+353 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F68 259 0 R /F15 227 0 R /F16 251 0 R /F61 239 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-361 0 obj
-<< /Filter /FlateDecode /Length 3563 >>
-stream
-x\Ɏ$ WX}
-tLv6`<S %jE呔oۗ/an+}M~7R`܊?n{Bl2sJrnǟdpr'pn{OҞs+0Rm<H+ϡҽ2}WfmV.̧#kg[{ק9([<Eiq߈wSFO̫׆Y{w)x߿*Spͤs7mFn0Ds2a$L艊L)#$`Aqd.p[c
-Ũ*7`B(_*۸2]a Y#N'QHn>ɠ#d  "߅Yk@ 1g0:+!c_N4*. /uzj0> W@FiiNDߏaM
-q>U9S勭~*~iR:@AKL'DQǔxOs 04/)PYf%Iҏ2|n@LY;P; u9-r4w1LӘu&w.c Et)Fh[(tcqnz~#Ixoh'4g$WeiŌRUYaR%z0#\$n4SfHZ4xZ 竧Pvb
-1$MJM/7z\$YLPXit䕗G$E fLMn4KQL6 mW&XMvk̋l
-wE*c=G.Ɲ"n
-(U5Ė=,{
-_Uyz<DR:~4E+FtB-[4[CT|j?)X aAr7@
-YJ0^  BUbKW+ytWN|t [HX;ٽB/rsEE%rtoq.*o%!Q4zp*kkYTKTF1 {ީ.iODX  PҐ C@
-,*g|$ -TҸ:.7ۊڝ3V,C [潥#ˠYЧZ<Mo~o
-'F!?u7 &Fes\(&cکn {---1wBKcBn:Yd$ժi׵gdvT)Thx YA6oH[`ޛ= gM/55F~5U.
-(yJI[\Tn? Zgȅ 2=krx&[_+FyWRMIJ|WPռ6"Ec.bjѳ T1i#* Y c"
-)MG*h"0!Ư)%*e  3Q9h
-(l^`&*c߭F'UI qo;7
->}@^x&,n-ގyQ&nhmov:, gq!|&WW29-c^e~x}d*w
- G)-pkbQL>Y*(`CƮ=㦵o), '*w'֏(V38hXQڑI:ngE_
-}FpRT olO!ViWʸ.O52Փt86董3z8vLLROd7Huxh%o58 ]S2r!KdcƷ 8"6JHg4sSgewI{]AM2'6}-p%yc@e_V0*|8b3a<"yG`\Nc\pQs-GI@ c1~ϵ0=cR
-251mXnF۩NIµNA*ۆy FvZ)F| Ke-!$%Y(s]
-Q;Ay 5k6̴]F!O?"1 B1|F1uYeπ[G+ 3}*Ι(͌ R
-(DU27٨9Nڨ't6POLnJe~2.փL06pm+@3^*m*,*P磫nW@|N쨵1'wis?O2VTXr iJ/7
-p kY-~}rwj;mfwk0j>wf3~9K!z*S3Fi;fE:"cqiKc$JRR=m' _";jo96Jj-}nm[|V,eR=jnj=~iR:s؉Gw,iU#Uhk\O6jU+[
+359 0 obj
+<< /Filter /FlateDecode /Length 4080 >>
+stream
+x\\)jA`Y@Wkj&%Y%H`<PwrNUmF\B,"pݪI._A]$. eZ|7) ԟ:%`.֝}ʸR }qLz7%@e.I}o=E2 L+;r?J~{ieD>`}Ry&)K/婗yUf^߅OG4~H7gp ){@kRMfdH1%myEDk`;j,zߟ֪HWYP;¢{:;2-^+aBiﭭr];Uw 6C
+F`}1&9e)>7ì?p0:a.|Eevl|duh/cV++18e[ꎽ9gmрr)kATX&Ѩ| tj+a ]1o…Tio5!^K!uU8AvLn\ƓiRi}#^Ph5B{Z<Z<_~u)M?7"3D)R([ }Bz?!_0o9bpw4J 1BBd^ɂ?vyo2]~:*!$ЗW|qo
+I>5VoejL~輦H*O# S?6 [cQ<wW<-fug[ܔR?Y[[fPk,އ
+4F}\F3n*"퉋n,3';N3 |۩A AiM`3wp)¾#(yʉA]"SY1R[`珉pUyP] 
+޹&!%O*@;=`#` $Q,EʖԿB}OLkJSo"k&ObrfƗ0R`8_|E8 [ BOޯG?%q =1!vR:1bj ׬;S\e} lU
+' 98ֺE%=߲[B/
+7O
+T Ls ( I:Po++—!w}^QܫLNJn*kn.hLVM~AfCf7?anSӞ~L jULG`c:-L[,OO[G7Lt<0S8L=ێ.lKQ#oY)y[=i&|+DOcҹ_wsnCM5'%͊StIpXR#8VS}4S@l"80mNtCu`M61$z̬L> %czik=08I_I_? lYpq{< sKrffi/CAdü4C 3v+!T,Sdjjۯ5W^{[ (r=ېLSZ*\S9^b0BKZ*k?uc93Eʠ5Q Ypݍl`cE$!oiS~-{)nSa*/5s1fΙc v{pTM>f$KUO&/tk~T<2'F B/ң)8Raˎf| Y
+{y1E`u1%8uh(NqİQP7xuKZlt^[x8~ =m)z?P>lGxח { ζ[0
+xGgF ~٨e7,hM`7σVQ8Kg^_CȻn_czO]$ykySidI5UJOf,K66U&<1-2Y76;_s{NveW<^vg}u5A}!syw6mbET8}
+x ^XdLUdiƪڱ"8KġݠkIMTQ~R; yw4kZ5
+i)}+g*m|ܞ~b:ٱԁAaºV$%U']+H%ϓ+*z_liuURyiO[m% =i V<@zBO5VM&HJmώ 6]6U{h܌^zlMrW tղoD 8UrGn`{N:O
+W唙fBv6!h瑲Rt
+|~ζ/|*ԂD53k 4ǷXɶX?f
+>̣ak5t:D3=&W/<e.O)L d'4XcbS82SGCF
+@a`uk9G6#q(72\@azo ^{3ӑ-6zZ5 OUbgKjc 5-c#g u/q$nk-`Uh<Zk~3qgJ(cP^vk7RwQ9eUT+pM4eg<A
endstream
endobj
-360 0 obj
-<< /Type /Page /Contents 361 0 R /Resources 359 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R /Annots 363 0 R >>
+358 0 obj
+<< /Type /Page /Contents 359 0 R /Resources 357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-363 0 obj
-[ 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R ]
+360 0 obj
+<< /D [ 358 0 R /XYZ 78.37 808.885 null ] >>
endobj
-354 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 718.392 174.015 730.347 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+121 0 obj
+<< /D [ 358 0 R /XYZ 79.37 689.086 null ] >>
endobj
-355 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 679.21 278.098 691.165 ]/A << /S /GoTo /D (subsubsection.5.4.3) >> >>
+125 0 obj
+<< /D [ 358 0 R /XYZ 79.37 576.152 null ] >>
endobj
-356 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 667.254 172.003 679.21 ]/A << /S /GoTo /D (subsubsection.5.4.4) >> >>
+129 0 obj
+<< /D [ 358 0 R /XYZ 79.37 417.923 null ] >>
endobj
357 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 595.005 514.132 606.96 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F61 239 0 R /F62 230 0 R /F63 231 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R /F15 227 0 R /F59 352 0 R /F57 361 0 R /F44 362 0 R /F56 363 0 R /F53 226 0 R /F68 259 0 R /F55 229 0 R /F54 228 0 R /F16 251 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-358 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 583.608 101.955 594.168 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+366 0 obj
+<< /Filter /FlateDecode /Length 2801 >>
+stream
+xڽɎ>_Y,.ڭk߂\CRDv?#[jgl)IŋZ/_.[vgV]UJ@lREכv骁.>z)KօݖBIh\Vx`q]gWx x"ꎿLgH= %yVy2ë
+`S5|g$>IukqKBHfPۢa1@KwdQ
+gh.]Qh\Zm2Ӂ Ga{l .k!ar2$X ֽd~>u=u:++Tb'P#>-d'=^.r>ƹn-zC2_Tݓb@Wd1%{KJE:>-lEg>nKyasA,Hp6e. 9sUi\pdj cn92pt'}Gi\ũ$'=TSWYӮwo sqN:%;#Jfu
+. m'ߌՑ/үMk, PZ6(gP.M}l
+$G؁TCS%";:e;*!ƈ-Q^5՛f^d
+Bby6ZvcǙrHUʉx_FEfHX PR{"䣮`+lA}NȚՔ}Pip>~w{J
+G7N&!`(C=£f09>,2 ™ b%#y++ɳl{R* a_Tb=_"բ'bEOL:~JR֥^qٽr=-ȽzDc3y:Bu\hA`A;g/k@
+endstream
endobj
-362 0 obj
-<< /D [ 360 0 R /XYZ 78.37 808.885 null ] >>
+365 0 obj
+<< /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
endobj
-145 0 obj
-<< /D [ 360 0 R /XYZ 79.37 556.753 null ] >>
+367 0 obj
+<< /D [ 365 0 R /XYZ 78.37 808.885 null ] >>
endobj
-149 0 obj
-<< /D [ 360 0 R /XYZ 79.37 516.909 null ] >>
+133 0 obj
+<< /D [ 365 0 R /XYZ 79.37 564.05 null ] >>
endobj
-153 0 obj
-<< /D [ 360 0 R /XYZ 79.37 189.497 null ] >>
+364 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-359 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F54 220 0 R /F53 218 0 R /F71 276 0 R /F61 231 0 R /F63 223 0 R >> /ProcSet [ /PDF /Text ] >>
+375 0 obj
+<< /Filter /FlateDecode /Length 3829 >>
+stream
+xn$1WLhK( 4ؑ͌~gţ=3ٍhfdWy_^^tUio(|!O7a;%So*~/ƻtҪ/:ć+d|ʣW/RB1YgA
+
+z!I>7۞!⪽<h9omd*S$L<04u;chM:=zS9NGGC~3qw 6MJXƠ /eFFK i6ހJɴ<;]"wYkN\=]T4) //_R
+uA:X6mxp}/Bե*Ah)kl<5ys&nc)Ao{5u,5x7}~6t(7,p]oHÏoHrs5RP̫ U`1X-S,@wOCR$g#f[J2lD,֚mx1X|5ӜJ
+XxL=wk+TRtGoYMPk{XfH)@~|œQ_N{ՄWJǺ\X9Jtq/I/
+-bܚvfHVEpneZѕųqurK~Bx"C=8
+1TYqBcܣ?2
+jC8}6 H&J}3Z03Ґ^
+^zSکծӥM}41&S 6S etSd]ySe1莦TƷzjZڴRGKA~ SPwI%g*
+>p IUMKv-;\% 8DTI=R\c_9v#ľ3M
+_ tYroS\YFFZ6ǜ nԒ+5hVuLofM!كo]!{i)㉓Ŀ<*ѣ4HzB-:ϳ" 7Cu#v2vm%地d
+ aRgtw&ͭ!}pEЅF)`!)c9"wL65";
+hT/tU>:MZapݑ<Z^i/UT:=tzCj+ąWpo ;>4F=tGA-oj7P=[9Cc]WBէ1o%E֌ g+RV $7r&ƶ_ 1$=W rJ*R>7y]CC`(
+T'_ZP͎|lyVp&}t`믝+=۞ \Z\[)z{3r~M9wN]:| 5-x0HfXU]IT-=<0$a,2[ϐƺa nOf;`ژcUn">޺7̚]UEH1:|N 6\#~^ /ڴ7Hh=JRnx8]xw8c:Ad=+\}EPޫ6~dd,2%]O9%CxB!Y> L(p?uPɀ5+$C,neڤdWTt;ݰͱb`^P̍4M#׊m yz#ڠuYGHT;\oJNX#&k>*N* r89ܶIKek ܎қ4uAL
+endstream
+endobj
+374 0 obj
+<< /Type /Page /Contents 375 0 R /Resources 373 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 377 0 R >>
+endobj
+377 0 obj
+[ 368 0 R 369 0 R 370 0 R ]
endobj
368 0 obj
-<< /Filter /FlateDecode /Length 3335 >>
-stream
-x\n++,Àe]HV df"Glju[-o2nX,֓<_'ՊcN;'kF>8s +) ZE䅾ilos!(ejixk<]oU4LOo#s~+u!HC_葓M=yӛjcE*휓gB^\8&&@+<U0"<D<)ޛs}mݶ,_"pVD] ny](yN^ZzLړE
-`O*?]Z|}:؇)kN+i$Sʜ/7Hc _o٬<y4+05+Lr[qMC# Y1Q14K[W wnH n
-ѺV0j̥d2s?#gW-2mm?TA}m`}Z? zb:a$5q?_-}eYf܅/*Kyϥ_WǞ-js}oLf0FV0\?0L|hQ7dKژ-LW81Z(B] p9,tJg-x
-=[ gbHp5Qt^́Jk"3 voR2'9˺S9>Qw}_ 7O'8o}vc>GStP&ԍah@ʏ}s@jfs,z}+x+5x.@%WGWLfFX!( 3d{@zJJ:Ŋ %3{?),i/E%T8fq$%=޴
-$7ЙyLnY4
-B;nʩ&n/lMv䳂Cex`vYh(d$*.~>P(޺l\W=vIYRjg^`')O01eA^<$T;{2U%Xx*cώC`?uG['OXD
-吷N^8V>1UCvCO%{HA#<$F Q/cDzSE{y &9}pka\HRU(rU]nu,t9q@.ŵDԍ-+Zhf6n/"\!u3YZHk3[7װ%Paњ:ZdI`LTqɌdt20YR<7Db6 Q⩤s@1)tQIu(L))1H3y]`4_=a޻I&lTZ(#V&$L"kƝ؊x
- ^u S^@uXpuxl͇TVSTYP*׸-%ucb9ހŠހŠ`wR2͞6,F$v'[U6x 6S<~Oyktm+h2c 9oäl e+}cs6i.WA
-u;Ų)Q~C~+;6OgN"@nPB>CE Q۵>ѱ;%X_7ь(ӌ}ftWttЯ7ttsUY( |XN̸iJIvlJ%yi%M-OGn-6>!`\tp6ʑG&!"/PnY*{(ljLzr# K.\` LقlB!Q$b[*g)-=H$XPIsP .Vۀczc1-7s.n|{)^3μ]X@Xh1
-^n%XRȲ ^:!sh\ %2/Z78ғZLx|سXB{j4ّ'h]I'r>5b+mv] (7W|,ōXE(g~ӖEA'ΐ@%uCϐ "ُ|+#,$qW4ٽ*:k~(䉤 FoE)iCL}(VrXGYnjr[3ePVF1+<F؋+M}Bp\oM7(wbٱ{ė
-endstream
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 145.137 174.015 157.092 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-367 0 obj
-<< /Type /Page /Contents 368 0 R /Resources 366 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 313 0 R /Annots 370 0 R >>
+369 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 105.836 278.098 117.791 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
370 0 obj
-[ 364 0 R 365 0 R ]
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 93.881 172.003 105.836 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
endobj
-364 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.062 171.972 453.786 183.19 ]/A << /S /GoTo /D (subsection.5.6) >> >>
+376 0 obj
+<< /D [ 374 0 R /XYZ 78.37 808.885 null ] >>
endobj
-365 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.514 171.972 478.469 183.19 ]/A << /S /GoTo /D (subsection.5.6) >> >>
+137 0 obj
+<< /D [ 374 0 R /XYZ 79.37 703.382 null ] >>
endobj
-369 0 obj
-<< /D [ 367 0 R /XYZ 78.37 808.885 null ] >>
+141 0 obj
+<< /D [ 374 0 R /XYZ 79.37 454.69 null ] >>
endobj
-157 0 obj
-<< /D [ 367 0 R /XYZ 79.37 218.498 null ] >>
+145 0 obj
+<< /D [ 374 0 R /XYZ 79.37 300.244 null ] >>
endobj
-366 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 276 0 R /F63 223 0 R /F62 222 0 R /F15 219 0 R /F68 245 0 R /F53 218 0 R /F54 220 0 R >> /ProcSet [ /PDF /Text ] >>
+373 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F53 226 0 R /F54 228 0 R /F22 234 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-376 0 obj
-<< /Filter /FlateDecode /Length 3219 >>
-stream
-x\K#ϯ0M`2ɉsH\S|5jv5&kĆVR7Y]3}?|7Fӗ_ĉ$e/_Orn8뒾w4UM|NWF
-Gj[G_™ȉK} p ʉ"'HHSWX3?n2[N(TA0*(WyW%:0iNwYʪ"w NVs&8"LY̪IVH#񕹤gBc
-LPϹU)uw9bVHck8Bɴf915ɞe0| fA,3L<I&
-͹^ӾVl]0 je9yXϤ=YnS`d
-_x#\(_~ȓ F)&/rd7ϼq")R8*p?c3W3-qP@)`1:߉GƷZNeZT/k9<TVg cpK8=G`G,=U۾ [~{YF/>`
-c#舟(3t(˄X>0a4uc/,<tq6:?eWSgM=m,\ʱ% W9Wn*+0b)ٴV:
--5Rh@'g pfZe03Rv̈\.TLry
-dOuO-0 YkuEq
-$5)FF[5k݂U}>%>Gcۃ:8%ʻ|TlAc>@ʔĊI,)FxUdtu@%Ko[|(;Kf;
-&O[ߡ_K|E*raGUB6DGvA6.wcS-C)k5V򪇖IyY+Hґ80YzD7$U6)@rHޜ2ZmS9[.c/X|'K)VXOƲ6ޛZ,qzMٸnxWjv\L2axe_T=ٹC
-Mro3Th
-]W x~
-N?qW,0y0럧`uN?Y9kK1!ccA4yI &anJ'
-ZcR4ʼnHZcvlc%"zTk>nOq
--u3<&NW&mq0cROu9~͓^I#ekTy~a=eZQm>bщ% ss_52RkHySUR,?#եDMTFVhU[t .T5
-Q9]e
-Tv g!,wn/e𾐁]P\=k5<m:d UO>HO=C
-.x
+380 0 obj
+<< /Filter /FlateDecode /Length 2985 >>
+stream
+x[Ɏ W( c T*Ƀ>9d[feI<+3# .d$_so/܅x4pyE~Rb`܈or!o|+N2r5Ip`a9H΍\]_o}'枼9Nck%Ly=V>)E^lVՉxF6_ʼB7<3hIK3aBvI&<M 㽸Rxq D%kF@r8 㢤'gVD~T\N i0g PiI4V eCk(k
+HK ov\d~kʯ^dY<[&<=\T} ]*˄.^iFhb dmq1eTk&&ub y<:\Yu\1[/_g@ mZ%f•S(΃+n.lw $[2(P k <
+yETըUT9qr͔*iG*)+U8i.Rתr/܅PՆ J6LLԨ;+bfBB*[Ť;廷ZQ@0[~5㢨݄p$|*K'^夦EXКoyWOStSKiWM
+!!l(
+IAH0͡"oN)l9ea,]eҰ"e SIIVIQNܥȲsņ֏̈%. JZ{$!y'\=Ҝl"*D^o-A@b/:Vp|}}} aֈ˿~{۔h<חw:,'NXws.*i Oop(FU#9+G 2_n
+BB־4$_RHW%I64Fit w焴ag;D viaݟ<zJ_jթS&(k
+oimF:!6OL"!6a`w٨Yڨ:M^'hn {r P84 A>RAW
+kJ3P_/:V4ƯP+{JZOi!C%<I9Z0>/x^
endstream
endobj
-375 0 obj
-<< /Type /Page /Contents 376 0 R /Resources 374 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R /Annots 380 0 R >>
+379 0 obj
+<< /Type /Page /Contents 380 0 R /Resources 378 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 383 0 R >>
endobj
-380 0 obj
-[ 371 0 R 372 0 R 373 0 R ]
+383 0 obj
+[ 371 0 R 372 0 R ]
endobj
371 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 215.507 313.064 226.506 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 700.341 514.132 712.296 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
372 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 215.507 335.759 226.506 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 688.943 101.955 699.613 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
-373 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 67.03 252.62 78.488 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
- >>
+381 0 obj
+<< /D [ 379 0 R /XYZ 78.37 808.885 null ] >>
endobj
-377 0 obj
-<< /D [ 375 0 R /XYZ 78.37 808.885 null ] >>
+149 0 obj
+<< /D [ 379 0 R /XYZ 79.37 662.029 null ] >>
endobj
-161 0 obj
-<< /D [ 375 0 R /XYZ 79.37 249.858 null ] >>
+153 0 obj
+<< /D [ 379 0 R /XYZ 79.37 622.186 null ] >>
endobj
-374 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 276 0 R /F63 223 0 R /F62 222 0 R /F55 221 0 R /F15 219 0 R /F77 378 0 R /F60 230 0 R /F32 228 0 R /F53 218 0 R /F68 245 0 R /F54 220 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+157 0 obj
+<< /D [ 379 0 R /XYZ 79.37 293.752 null ] >>
endobj
-385 0 obj
-<< /Filter /FlateDecode /Length 2671 >>
-stream
-xڵn$ % 8
-{IzZ>NQDΜ>~{R')D:yto/R;uR@7Q(xy]
--|,jÿ2P BDH!e͔<*BLIPBx'q3
-8sĊyy. ' 0!=F>-F +cUK8*oˀ(5GJIһ&1ke@m
-giIO|M6j>B&M`Ǜ)ik豢jy5$S|Uv=zBauS\H_
-&fI&u)ȱ4Fگas2KQGuhpg3e#0,G0 o*v{Asg,OT*3;Z؅#H4 ݚcayVUR핁iMKӧl^+VV<0ɩk .Wvzٶ4,-e*hfFn'U )uMyGk': g:{詆_l
-a*ePQTJ4(}Ԧ%կ$da3!v# Xvք#Pkw i4R\fl:RgP£DUw!י.fi<8@o3y
-Pvвxm1Sr9JbUS\y!nvpr 㮯 ̤ANkYx#cbqC?H&XA1; _ +W fJmJӼ☲s+. pa<Dd^X@Ǧ']r-oY"׾^;Ёl鏊$y0!yoGЍVF{H}
-71x0iMm]ڦ %ZR1e2W:M7yшNNhj v¬֩#F7rk֭,&40_q!?s -7yiDv_ 0aӲjb")bxeGG= hxNuXP#G㍇DL faF[ThMD. ]!8/daȶXy)Re~iBk@[Oj,7L_=<-up%5
-^j>0㎍՘zUk176p*V.{ޥONІao&Oҝ7@\<L+f88¶£|CQNcDiu0p,+7
-mXSuϺ0reِ6k2yoAc«rtM3phi׿4]
-Q kzŔ Ş|ݖR
-,]`kFwt͔҇Ϋf|Y/K9\`P+i{u`Pot~~LRaŖj±󾺸G81q*C+s"Ro #*vj<={Y6x`i).p6hnj?h
+378 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F54 228 0 R /F53 226 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+388 0 obj
+<< /Filter /FlateDecode /Length 3376 >>
+stream
+x[n++7ـa xddf"G"mQν0lb>l1]x^ąqq SeR.keQ"4^/o`>LL|r|feaV_>/x͔`܊r.o+ ?*+
+5R0sGTw#gZNc9ґHvne+B?nZA${6&m,p״ 9G|HJ0-Mo#vҹ[6}>dJ,C7FcH쇮S
+~$Zlz5~ݠׯik>֦+OG#ao8\dPStp(%4Q!ŒdBLXI5[lkR
+r:iL/2Ȧ7ͼAIcMGعǚjaE'z%,@AIHċx9:'9eerܻZ.ʛܨKcK)qxפe%r(;^H1
+At;):׉s7S<CF@T: L4LpKc1-AQ:ɬs;{CR}2ŌuO3cToϰLGT!gz2X"s[΋
+B˫IDHRiuem+<+K"\܃KHVҨAQUv%U)e> q,J.gBB#U!?MUrJuIJQrĊqd~./ @0BR2>)sByA_ӏJډKO#rJ"ʲҋr%W{P.:>|F2rWUiE zG1q*2pO]9sU+{˪N­JTђN`9q@6o
+g_ӓuehw zQyK_+1!XlG0G<(0PʕE Ҹܒ|.Xy!`u[6:qk.rꖑ BqlM6;Xn4*uL_>`B]lSr4=mJ'\fc<ly) C8G YzرU~R+yTː"b(踇9vdLg+dFJG0`!18U91_L΄C_VL`p$,Z9e
+
+au<0:ca
+29P@ xNzY~
+ᵷ; b9Te+]i
+/b;ngs ybH}戄<ds}"<3@Hޒ1_Q/Sl4Cc4abEt1E농δ]{T&N ÒQ!@FFy9R a~@Y_7fS|oOQi OWr\
+_!­;PDs
+MVIO>HR kGS 9[jƣ}8Fd_f
+W1*p+4fer5H%2_ <W  D%6፿XO7`8<T#26OP/*|
+]+ x/,Xq CAW`d`#+ #_ALG[mkD6cGzBeA>ט\(~CFN"}(=Q2\sjMCAžTĬn= L&*1쪾w?^H
+)J;ww3CoDR߉$.6[%؞><{a
+XZQg,S}4h)13+zsT©VN1L-<Vګ+,M:}B8 x7ݣ [""څ ߃h* LǯH
+IG\2
+]śU'(.<jȲyu" D\н6btB?;(sxەdJչfr53(`|3mp%½JE_ü۱Yc/_?_}E
endstream
endobj
+387 0 obj
+<< /Type /Page /Contents 388 0 R /Resources 386 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 390 0 R >>
+endobj
+390 0 obj
+[ 384 0 R 385 0 R ]
+endobj
384 0 obj
-<< /Type /Page /Contents 385 0 R /Resources 383 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.062 237.726 453.786 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
endobj
-386 0 obj
-<< /D [ 384 0 R /XYZ 78.37 808.885 null ] >>
+385 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.514 237.726 478.469 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
endobj
-165 0 obj
-<< /D [ 384 0 R /XYZ 79.37 276.015 null ] >>
+389 0 obj
+<< /D [ 387 0 R /XYZ 78.37 808.885 null ] >>
endobj
-169 0 obj
-<< /D [ 384 0 R /XYZ 79.37 238.622 null ] >>
+161 0 obj
+<< /D [ 387 0 R /XYZ 79.37 284.251 null ] >>
endobj
-383 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 222 0 R /F15 219 0 R /F54 220 0 R /F68 245 0 R /F89 387 0 R /F88 388 0 R /F90 389 0 R /F31 225 0 R /F22 226 0 R /F53 218 0 R >> /ProcSet [ /PDF /Text ] >>
+386 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F15 227 0 R /F71 292 0 R /F68 259 0 R /F53 226 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-392 0 obj
-<< /Filter /FlateDecode /Length 2992 >>
-stream
-xڽn# ,eY$ | rZds!G$%{<1Ж_'yty)O
-_ȓ:(?ytg)\iN7w+;+OB#>^{,)gm/q?:XQ
-R nT:be
-t}ވB/=K49pKc+"N"`dAA`:Mo01NP
-Kz0dʾSZW>L#u~hO#ySB <;<~r)r+!)rN&ɠT?)2WcP`02d+VΧ?WIx.fCc
-B2Y߲8Rєdc 44;-\҅VvC:-'9sc{;:#I`bNۑ&RY'pfC%"IU"ؘAk_ z1{h}̔C(ԧJЌ 5D}C}t9 O0lN ~\^ؽCU~퟿YUW+d]wGPN.Xu_f ]rŴnۑ?+hYS5?D89 6H(%~D[O
-FhC*2îFmFPDUF৹ 㔴Z f/|#VR(v)'FI_]2p&ȒkIWima?
-n}em;i}
-ɋTHg&MC~fKg4~f]YvePʍAȂ %08AG<fGƔF^fJ=ͶwLc^q/1 M|Ɵ귌.
-+
-DKOj 6+#!˫HꙃD\1U5oH{'vkJR'F RF*n 5J'm7#+gjkzS.cgH<tlV:и*c7 OCy4b2aWB0}{IÍyXNi)iypMj +}0cF :፨V|oS~qmgw=kAĶ
-G=?M*!aSt5C@VVUO:9`Z+[UkaLss>sg͖z*oLm(8>S2Sc0*VPI^ñFx/4?J+%)u^ۘ]+l\ș u';K?O
+396 0 obj
+<< /Filter /FlateDecode /Length 3273 >>
+stream
+x\n++G,j*wY%,H6_MZNf`ؒb=ͣ˙קx˿^ĉd=SdaR_~A> `
+(DE<8*hD\ͤ8&gktL+Fk*Ak-KTDGj˴tQHʟ\#㳹}l*4n6"?5-tmIk75Oa KˆY#B' >y%H=үj' s]X&lf|(ɔC6Zq^akB0dE]M?7eiLJՍ
+J@mM
+v" S6d*ᙝed0
+Dr*ЈQڢF <fWNxqU\G
+m 4VYKU&WxԃBs F)pL`[ ȯbⳃ?}y+&w7iCy$/ya̹uav1;:KU^U]? iLڵVSk$%`TyzN 3^97Vˈ&gs.yzI@FO=JiE 9o#c|Mq$j\7nrPzj&ix|g(z2CR\8
+irVYw^f;R U.xcQjj,1q<TztPQ6%Aos:'ȱA.Sz͵TE{LAWu-4c
+RIٳ$I<WYv{!Ri0 .P\4L;-Tzx~OPS
+6d/
+pu9`xgy\7UH<Ӓ=19c'\Y>f5>>yf 2%!ߊyȕiW'rMƎslК)O`ϯI)hRd4)"i4).6MAp.)7FD4vӤ4F;hRd h0|
+M
+XPQxO̓]/@RTuL )2Cޜţ.j&Kfΐ"KaH )jʁ ^:CjCRCR
+"&zt^<
+L ;'`(a@A߾[8Np2{&"V7Fkoe[Akb4<P0£
+l#}ⵠċ3/G\刷h?V޽re7~_ksNT>)|ѓ<'
+sBݘimW0ngthdf3ST.*!KCŎ&`b=(ղܓF*.@R
+'ҹMʼn]Sk_-$t.G'ǃl)Эsy`N 7hӥhq$\nT9Ded)^)7鏁YBoh CLx5`OAIzS7Tj8& )ce$_)+oxҴ,`~ NۏE@0:K)gZIz1B o2-2TLC':N<Xg=+ЍxXlGm
+D{$_0<_z~ɥ'y 1MSKk),=aAZ9Zc4ηj!AJ@Y6/V4^|>orp1i=?>:Ͱ=9ut=~닉דVN;}onn[=Y1
+Y
endstream
endobj
-391 0 obj
-<< /Type /Page /Contents 392 0 R /Resources 390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R /Annots 394 0 R >>
+395 0 obj
+<< /Type /Page /Contents 396 0 R /Resources 394 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 399 0 R >>
endobj
-394 0 obj
-[ 381 0 R 382 0 R ]
+399 0 obj
+[ 391 0 R 392 0 R 393 0 R ]
endobj
-381 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 757.783 481.801 769.19 ]/A << /S /GoTo /D (section.6) >> >>
+391 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 289.954 313.064 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-382 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 757.783 509.477 769.19 ]/A << /S /GoTo /D (section.6) >> >>
+392 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 289.954 335.759 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
393 0 obj
-<< /D [ 391 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-173 0 obj
-<< /D [ 391 0 R /XYZ 79.37 539.277 null ] >>
-endobj
-390 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F54 220 0 R /F63 223 0 R /F65 224 0 R /F53 218 0 R /F70 275 0 R /F68 245 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 69.122 252.62 80.579 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
+ >>
endobj
397 0 obj
-<< /Filter /FlateDecode /Length 2119 >>
-stream
-xIn$7WHV0v!!RuLb]UZH(RrmǻW'e _uE-.tJHORӣGz%){DnG:/~S8Cw'N6ͳ!ASl/}L3-ڷd' +Tcmxk★`F65Gd0B7>Β™EtRe(^`Z9T^h
- ?KVjϩɳE)|q$34>D2*'
-ny/[JXZ/F
-jkݟ:cӧ;n֤͢.z-4ey9|Yx\6SDhpZ>ȠqZI#qO nq@j]
-E;設BFyYB@mmY7VV
- c]7!5ތw5~A+ViS<ϨVK Fxȹ-E3[sym1r3ׅ9&9q NHo/[W-TG+Ahw‡4~jq3@}
-, s@Y\DR l]w:m$ K0s_v:E;fQFI/K]i=,
-endstream
-endobj
-396 0 obj
-<< /Type /Page /Contents 397 0 R /Resources 395 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
+<< /D [ 395 0 R /XYZ 78.37 808.885 null ] >>
endobj
-398 0 obj
-<< /D [ 396 0 R /XYZ 78.37 808.885 null ] >>
+165 0 obj
+<< /D [ 395 0 R /XYZ 79.37 324.305 null ] >>
endobj
-395 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 219 0 R /F62 222 0 R /F63 223 0 R /F54 220 0 R /F55 221 0 R /F32 228 0 R /F61 231 0 R >> /ProcSet [ /PDF /Text ] >>
+394 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F55 229 0 R /F15 227 0 R /F71 292 0 R /F79 398 0 R /F60 238 0 R /F32 236 0 R /F53 226 0 R /F68 259 0 R /F54 228 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-401 0 obj
-<< /Filter /FlateDecode /Length 671 >>
+404 0 obj
+<< /Filter /FlateDecode /Length 2802 >>
stream
-xڽVn0 )c)$&M664;araN%HY/]@ݏ] Ag`V{}7e
-fA}2+&z*2-,sz=SݘؤLzux*?Hj~l+n+5>X<J юCLaߧF,_DAilhmiV`.wH mD8X?6 LzmʫQP:umՎL#fI1U2[Pҁ<- 0~ZȬu&-y*.D*D#^ݝ [k@m 7J[$v 0pWX +hm`^m!v,Rwfq3,W ޛEoD {x8z)S&kgձPO_ȅ*
+xڵn$ % 8
+pN =Ii^Tg6)5HigP7>ǟ(tghGlmv2kA&~ћ9<',:_gͧ-.VYw~k&\<f|&:i`m:,n;%+ EEK=oqt̋L5K$" `k{foiko{֧~H2j`m OYIObMC@ELfdfn묃BO0huqV ""ǛQ
+JD_ &fI&Bm+ı~4IFð/S1ԄGSuhp6]Wʞ2E~hH+퉏͵L]xrUY:n?ĠE__v0 l`d7ҧfPUiAxj Z+STnS`Wv}ն5l-e6GLA,ՌԠ.$'f,LSvK3}lT&巭'snXb,zGӵ`_Iݔ8
+ t$l7Vb_6K G&xAZ_LV32BT7%DV1(FrRDH'"'r0 XF1b-;dOwUz᯵%@<HY02A*NJ,@H,z
+œ@{wLuQ^oGr 'špjbd|$ȖȪ`ϊKQDz67ن'Lߋ A^^{[ ZV$W&I׺A),,%;seyg eF;FDd%dDU Ę g9
+PvвxR}3Q$ZPQ\,>O-_ӷB::]o3=dP|.Fx:9/ Ă
+5j]kLU7Pߒ|S~Yga־1>kUg%bݸ23xnV=}k'>;U&>nzK|o|~@G%Ґֈ(Wy򼛐vW0? / B 'ڪKr_CT=smګK*2Шl[k~;j]2͡Re]]V-BegPsLy}m Z2b&J/{`5EyhZWOAjՀv&ìAs 4ge ~ O X .eF#H7XO?CO`ڈc  &ݞ~jʍkn>[Oj,LYмt#D9ڷ鸹s\x*~H77nf7_U#ٟiƲ杆.}f8
+ϾmF,5yQh))b::h%@Yqz᰼h0EJ
+O(GC6dk nslu[$z)xJ2 Px۴vҽU c<mexK3fk^;=E
+( fM^"(;:fPOI\Nȣk<m^p MKF܎ cG
endstream
endobj
-400 0 obj
-<< /Type /Page /Contents 401 0 R /Resources 399 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
+403 0 obj
+<< /Type /Page /Contents 404 0 R /Resources 402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 409 0 R >>
endobj
-402 0 obj
-<< /D [ 400 0 R /XYZ 78.37 808.885 null ] >>
+409 0 obj
+[ 400 0 R 401 0 R ]
endobj
-399 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 223 0 R /F62 222 0 R /F15 219 0 R >> /ProcSet [ /PDF /Text ] >>
+400 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 124.341 481.801 135.748 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-406 0 obj
-<< /Filter /FlateDecode /Length 3639 >>
-stream
-x9$џW"#x:'hZ$Gc+xyTOjb?oO۷Oz( Pj}'AM܌chnFY&}~ s5|Fo^PwiG(IcE;h ~1?6?6vh?_|Oi~M iI0К2j|)H00 $2ME-B(ukAFzasGX94h
-"c!u~_
-2V3y9Q8}qK=h'3f>/NM{ L =2S>yn@Qy|6VQS18df֌`K/[Q2nAV
-sFe,,YFQ4_vv ˎJfЎ'xVi@a2u\,s8"d!\$ݴ&𭗯5褲7oq+](gKԎZ$Hh5wt(u3'm3+5g͊,b9r.8\9 fm.H1hy=ijö9Y?~ă-x(NT#d$E-?aG3Iqa۷OVY߾zwƙ!w5OؚeYAת@!"ڞ ?#` 0
-Kb:cC7OQ5řa'^ID
- `uLRUs,=4%0M\1:{eƳIE`;!cLX*R1I!<$_2\ֲTz.Ǡy[T(ajyp]f eBqxSkaxJHdL~R#^js!6ҺOjoɁi1a%OXӬ6(I^Ŕ6wY^xFDvR"^b~E7,N)F.S n5$dx-$y GdvI ~9ٛxq N0;e{9TgԴ>ϋg]PI ;YirJ`} il vܲHXSH='cNQ֒HRI}92_YEq`3Ng})'8ܚi$%FTmUTy+tYJ̨Z^:TNdP/(q3;:d;((z$Rwc?Ղ3&uѨthk
-
-@x 38κ䪘3N;Ϊ=2(^+g\KJo2faf)E7PRf Ctޔ5v{?X5KQ)a 5ߤU%~ł ))܍x"Q2k͸ʐ2'"jI4n:sTW#{.QMR%~b@1cd)uI vtRESgh<,"5vz"dOϳX
-Y<$g<MZoP)Sw;z/x\
-$X_gFq&|տ=t:}Nc(
-J2hہ2DŽmj0@~K ϕG|)\K<3l<^KE9@S3puh :q-GDZv{D0rֵ%cf?NXJqU,( ڬ=O'E),C,S9^
-X.Z; Cw|>LGû2e֗RjVpɾ/V
-
-BX!6U+n_G^ZJF:68^w\^Y{}ػ](s']dlT]_٫9 ]D!XSɘoZ퀑8~D3%p $Z?㵝c L$W5sgOݬp.ա~tVܐ:48z5js4b}5)(_Q]KJlrM`iWb+x,.2;tm- \Lzvw0yHNH[i
-%uy@=P=q;{\'
-_R Y^B%<KIϓ *,}4; [
-ɏ؞͐^wYZejhٶdk S@u5E.+dAЌ=
-1^[E磷vv#l rkF덂:'ދ
-!`^RQc~CM#{k%v NZ=ubs7Up3U-XŬY/3쑊bݗ. tX-*cZzO>Y )!{ۗ6t6EևL(7
-endstream
+401 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 124.341 509.477 135.748 ]/A << /S /GoTo /D (section.7) >> >>
endobj
405 0 obj
-<< /Type /Page /Contents 406 0 R /Resources 404 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R /Annots 408 0 R >>
-endobj
-408 0 obj
-[ 403 0 R ]
-endobj
-403 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 118.663 86.982 239.156 98.036 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
- >>
-endobj
-407 0 obj
-<< /D [ 405 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 403 0 R /XYZ 78.37 808.885 null ] >>
endobj
-177 0 obj
-<< /D [ 405 0 R /XYZ 79.37 771.024 null ] >>
+169 0 obj
+<< /D [ 403 0 R /XYZ 79.37 347.746 null ] >>
endobj
-181 0 obj
-<< /D [ 405 0 R /XYZ 79.37 734.627 null ] >>
+173 0 obj
+<< /D [ 403 0 R /XYZ 79.37 310.353 null ] >>
endobj
-404 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F54 220 0 R /F62 222 0 R /F55 221 0 R /F68 245 0 R /F32 228 0 R /F61 231 0 R /F48 229 0 R >> /ProcSet [ /PDF /Text ] >>
+402 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F91 406 0 R /F90 407 0 R /F92 408 0 R /F31 233 0 R /F22 234 0 R /F53 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-411 0 obj
-<< /Filter /FlateDecode /Length 3013 >>
+412 0 obj
+<< /Filter /FlateDecode /Length 2816 >>
stream
-xڽ[ˮ$W @j]oHލfe^ؽʿLH{J8&|!?x~7F|P|Bۇ%%$o_?J_4NJz-+5>w~O^ao_a:yx ;dFDFyG+|
-_2FDzA,|r|:ޖIs `Ca .WhxkJ
-$3Q ɹU,j4iNؠͪ_.U+yue ܲ8h$M;ך+0-GC;Cp
-cQR!~
-%Ѷ[x q[}fc2l
-Gz:Ffc-3y!ժ9qq jVϤ2vɪpؘ4Πm2Ӗb9̧hG{5<򹈷:~zw߹xslGUa~o-lqM:IP<ا+UoTzF>е xi+hl˖eO{K,u&ko9ޭS_NE_z|T_(J=썡[O,˽͗X9]l\7=8@981bɎQ9pǬ0nrahz1qE
-vEw[7tY`2s_ŵqP809ro^]lxr,:x%˩
-/}uL_f\G-@U0bXk%f"oi_׽p`˿e:4"d@ oHԯ nsV~r:FnI)[ӗ'Ef<ʥ
-%t pmf9v\/T+O>=U/Y6Rw~׳Ǹ&;7B5ڮb R?g*)%%GIc;@Rֆ oVhf@2=VA|-ұ㞽#cB@n#ܐ0/UHBAqWbAiI:x=4\-RrE1ʿ
-_h4{H=4H1rSfMٖ_4h{ac=8w.{ZD\K^_ kAx
-=Ի S ˔v\c
-S6j^1QLѐ FTK3 u.]%| zا/^M0^]4fUG*M`wIjF_Jh߬J{¼CD )^D
-EEp ^ A!90oW8(U)Vw/8[Sn՘ٺ=\ysi0<;W)hk5R4M2CS0qWsp3yv3_ǜ^3
+xڵZɎ S X(j $s r
+j+UuضSDQq0_$t}Y,X. BJH.^,% w7zg_')!!exk뙶љ t2]MWy<-PkSԝ;̽zY%ltMėNcH(H?$&)bJV$^0yH-Rn^ċ
+D{߿.< O-ҏ>ḶdI%NG0VXO"Wa.J Io꽀Gm>&2@4_
+>ID{  @:פ+O]!=eg vd@hts5Z8$5OB<^Xz&c}H4<Y&3_FL턗K7.No Yy^K2]9;'YNCº5A cMP Cm{"N3>u3Ucg*"A5Ʒ<8p5Y%_ (9"z]s~>*N /ZE))"m
+ݨX(kmcoܚFlqg)sD_~ej[7#$E3ӨY"KlV
+2d7{HQ¸s~b5$,xP{nW߸7w1 )bleD蹴ܙn3W~L w6qn6~,ʗ&
+ܙkzJJ
+:EnJ\޲ 27Uk7]X;rrFEğg7U"Xha^^ -~.kGRkقn|&^,21-n? [^krr e Z5F!W
+jZ;Fg $+9X}A $a-(nSP@ZT!bq2HW[pQy{m>ѐ }୽AԹ_Y&ձXq["[%2M2A/
+%@эܞPd~j+_]ZWҖ Ѣצժ\zmtU CKvW5̝aUY#;zOi:.Ĝ Kj)~Pu `)ѩ3qCDxޘo(3BVܮzԎ'k[ &Ƣ4)<*"WSL]> U+]ex&T2-ykt?ǯ}-NhDPv5׆<j9y1;Jg@o;m_<b6x @5q8TN1X;y`x戒&
+{8}(>i8>ֻè.Oz;s !XamwD^G U2AO'&JG$U(A<akΐU#ko,iw򇣡b
endstream
endobj
-410 0 obj
-<< /Type /Page /Contents 411 0 R /Resources 409 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
+411 0 obj
+<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
endobj
-412 0 obj
-<< /D [ 410 0 R /XYZ 78.37 808.885 null ] >>
+413 0 obj
+<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
endobj
-185 0 obj
-<< /D [ 410 0 R /XYZ 79.37 771.024 null ] >>
+177 0 obj
+<< /D [ 411 0 R /XYZ 79.37 578.639 null ] >>
endobj
-409 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F62 222 0 R /F68 245 0 R >> /ProcSet [ /PDF /Text ] >>
+410 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F70 285 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-415 0 obj
-<< /Filter /FlateDecode /Length 3132 >>
-stream
-xڽˎ#_0Cbhe9ٛᓃ!~lj6]4#Ywu㷟?ݿ~S˛k-?? of=f`܈o_?sp'9_Y%$~Na_'coy'$(pf$NRڇWz5 vG7ϼ&<Pi3<(K>}N<5ȃ~W~\ wr<wӕ &
-v]gՎ))Z l &隼_"=|$(1ew gyLuC<݇?k1qKqnh܏OkP)k.3_R`Q<hZ`h>a")Xx ybd)=`sx1 :̀A ߅0Or~OD5b7ITw3«#? I(JUџe˜m~.nhyH?&:Fd8\5 ,8;
- ĺM,8LlH,Z)p3u~Yʸ;8?I Zr?%3pE‚% L\EL ߅5L]^Y _=j/C&皉m15n}n\݄K&I5jFP~wˬ挕fXpuSκN&So`?Jo}ьR(;,/Lнwϧy .LBMQ>U
-f>˕JF
-SR=M=!qU~n@r59TWH-(, ,#Oh;GGI3EFCv<fhi{aXWۢbVu#QIc]5@WNBb064X'ύ4Mj<';Jr9:T.BJN[eϼә{e? +MonqRd=YCIӕkQ
-u缤7vd[Mic{R]X:bQ4qDaBqSYjvx5kq` aH\/uL
-LXeQI-繁?N+gLqtY,5-^5evp$H9pR*%uҊa
-E^B>8~ZWM  m'-:^-!$1=+-p*oQe䧀$Oeh.װLc?D#XXfƋ]V0<qŏ
-W`vGWㆧ UMQgw=Yr9Jص]qLac[ujsh5?lYw,ĤaQX1i+w0d)L+Ģ^)>CYȭaZMaQ:QQp1e10_4Y5s|6YCm`\ S'݊sh۸%.{ixWuc6 f.<'d/W!3ؖ! MXPƹ]ha{KFlM{3\#؃K9Dڪv1zQPPwա CSA*X(XҡHƃxۧb%1h c Q\i3"ȖtGFHS .R#6ALq/p"t&Ch!(wՁmʠ]<5VUz4^ ȃɊIR{ 5W1pfa<nn$}_ W;UMq}Sن~J.?R>+bbdo,څ;AY]6ܗzjEAݷj/%A^p Ǎy .p6VjuGj:} 0W ]֜nA;A/bV^ƠjOީ0ƁU(,]묮)iW@+$i˶=iliooyC_ф42_&2<
+416 0 obj
+<< /Filter /FlateDecode /Length 2183 >>
+stream
+xn6!gv
+g:)B'V}twz{,X=}SKu.tJHo烔R"$>S`Uj7rq;)LG?h
+nDQJ<TY$̧/IPrQۘƬ++eDLBҨ) cՅdɍ1OIMP WE{ǻ#-{d KEf:#\xe‚[R-
+a7R&fZmhZޠU~e+ <"Xe~Je#ceb[ qaC7Cҍ<uY&\|hؾDr;=8wL#z;eza/ẸXqKu@ҬOOuLQhԥ1)K1eJ*Jp/FXy)Mv
+8Lf!D63e/mQM&8JUY<e&
+cF!
+_|Kat,PsQ z׽)ѪyᨢNˮi0}u-F Uvw<f\q[(s5*DYɹe^t@dZ 3Tc,; 1>ͭ& </Jz+|ª%!2T ʼBS]OV{\Љ ú84x.ҍm4}h$H$HPCiԆZy.`\"ɱR܌=/oS 3/fMlK[SЖQGߏ﵂鑽BK@YRR"p~kX&=mCcwm.m5ܘΊO[rHT]nskέ?!37<*Z)iq/t?Js 'PWqZ!1# QYdu<{Gk1fA
+7^
+0#4O1#eGq7
+6)W 0ʎwG(I쌠K~:DIœч\oΥQzb T
+J" )M͘]
+fg
endstream
endobj
-414 0 obj
-<< /Type /Page /Contents 415 0 R /Resources 413 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
-endobj
-416 0 obj
-<< /D [ 414 0 R /XYZ 78.37 808.885 null ] >>
+415 0 obj
+<< /Type /Page /Contents 416 0 R /Resources 414 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
endobj
-189 0 obj
-<< /D [ 414 0 R /XYZ 79.37 771.024 null ] >>
+417 0 obj
+<< /D [ 415 0 R /XYZ 78.37 808.885 null ] >>
endobj
-413 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F67 243 0 R /F15 219 0 R /F62 222 0 R /F68 245 0 R /F54 220 0 R >> /ProcSet [ /PDF /Text ] >>
+414 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-419 0 obj
-<< /Filter /FlateDecode /Length 3056 >>
-stream
-xڵ\K ϯ?`E` v؜SS~(ު.Ia<%}$ER|H헷?= RܾM7&n1inF Ƶ}q3se9G>'iD_AOwyC8ŏ{/1A <rMi&)'|%@W hM֓-xN֟^0u
-.O?'
-"N #}wIi L{ǜRVaǙRSvGT ߺRL h{̒_|I}vbLy+zF:.jc*\)r9P߮  CQ29@Q^G#Y HqM3z?H4جy?Ûcܠ̢&kj&ۉ.P
- O 1fpl2vl(I+c>Km=$,!
-\`i)QGhɍ?ꑿ{4o>[ /кR
-R_߬gU}fü]OE*L&u!Ϟt\s= Yq#j %T?,[m%爐`KP}M&]II]$۞oY=H)" JcŶJY̰C g({ܴ3|> @u<&9a܁Z){^ P#nް|+Zaj'Zf}{5V&}N(<Z9'
-~
-1f~]vh2^ER6,,d[Ѓob(f,IFOlr[-v!fj ϲ(0+5gMzX"2'&$?Aqq ^cRmT,Wg ;Ԕ:9IoQ :A'H\4kP<*v ̎6\[vq"\w[r4W-8;2M6j 3r겛bfӥpcxjUpVmZsb[$vJɌs MDk)6=b,ӖxR>64XwHwu1 41KdřM;Ӭ[YKɝJhAfmg3!Ϻ_Ѯ+ !e"AՈx+C.^'Bb0ӏ<C iwpLPnNe(Waaһl`ṜSRe+}:kڢLE=UV&5Ώ9 9dܯg;ZcM2"[q/,)<itDa9[[TX^SYix/VvdaKC3KJ)ycmi^+iBP]>e4`
-Rժ|+"{zN+b! \nz6S1Ņ˸^(qmF
-%J->\A8XSym8sfg1JjL_5U}ws, ΀1̇]H+Uf)whb|k{Y _iIQ>u91_pRoINE}W_UB8Sb8JG\ɕ*6ۚuJ% M8qTUΕY_3d-~pliNj5*z ?E
-څ56@ݨm^]qk7q+z{[/Sf!vyYY::d32ݔi3ڂe֎j/mr>s,VG_ kn/LZIGShWRy /vqɗYpg!S,n9dx[x• Q7G?@aq7燖pUgI;a2# lB~1B̲Qd`GM%=?R?ώ&L;}nCM;lGTJZ8Yקg4-o-޹mP>ū->#G}ʲ<6|1k6 νkdӍJ .@q%7 /3:lhꕰRm|ğa*nglbjTv $$K%7&{aϰs){G3eWdV``Cp7]֌Zw^~ե['^;j7"J)HexU{tN;)naY$wn^6mWQC9,+MxE.~jDMH> w'TRKX?IJ/Kr|JQϪut(wsO:=8n,LZ̪-A ]u &`.Cl<̗]i%# ^]]=C\>aTRSld4_=_8
-Ss@j%_v%.D/Nr3M1tޥ -IꫝTE<nuxmY%VzWHj ڦ-sԗ
+420 0 obj
+<< /Filter /FlateDecode /Length 444 >>
+stream
+xڽUN0 +ql' XN{?v/®=8*B\;w1C.Qv/lsP 30xuX%_٭ː]?% PkQuޗ* w:A{؁9.\"I #$nکVF7ӊ3xyЍf[̻u A8eύ+cAq 'ёW:rd*3` Ѿ!3_A23Lo>z
+A_L -z˥LޘV\X72
endstream
endobj
-418 0 obj
-<< /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R >>
-endobj
-420 0 obj
-<< /D [ 418 0 R /XYZ 78.37 808.885 null ] >>
+419 0 obj
+<< /Type /Page /Contents 420 0 R /Resources 418 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
endobj
-193 0 obj
-<< /D [ 418 0 R /XYZ 79.37 771.024 null ] >>
+421 0 obj
+<< /D [ 419 0 R /XYZ 78.37 808.885 null ] >>
endobj
-417 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F62 222 0 R /F68 245 0 R /F54 220 0 R >> /ProcSet [ /PDF /Text ] >>
+418 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
425 0 obj
-<< /Filter /FlateDecode /Length 1379 >>
-stream
-xڭXɎ#7 +ZhLNA6!CN(W}k")Rzkӗ͙ @% LFSHʄ)xP6}Zx~5
-'? \Bo/垯mݕ/27_| +nJ*yvCE(*:I1dO?Z{Z'BS42Zf}k-#etpc<n(Ҝ
-[Hc@p-veWCQh eS(~p1yk4'c>$/<$s*?|Nxonռ6cdG,O|TY76fPɋ lpUlK@.ZŹXD
-ʽh^׼
-AZy2жRTIw~_9Rs&(Oi&6RDږk<dn,;=9zd+s+-*&6heoaSJeb`ג{KEGY>ou隶.*k`o"0ǴKZk; ڦ6̺=VB>|uf
- OEs)bj)͙;
-׼4%_x+O9˩!Ve|j{I"Rs3Ltфr7wqRO;лD1$c
+<< /Filter /FlateDecode /Length 3644 >>
+stream
+x\$+"#x:'hZ$GcW>
+2U]3"d?o˟
+oB2n"q (ˤoo?\ƽ~sWΑ~ џ{EAߍvl$} 1<W?ͷ-=N]_SjSBjahLZsŵ|)I00 B2MO(@ba$_>ziq=Bs\,#Cy9y^ɼ<99#LOT(DN@ZF}ǽI^bqvkZ{Rv l3T35P\]HQ5Kᯐ+
+џ37.SCpZ>!b5ӯ&D{ŽjH<rBQe7O"c)q$+h-يC$58N68?22„~ ˌy=<Q`A;$ x ) 0YT
+F8ܯԜ7+>dq+36iυ+ǸB6cAҏeՌ¶ׯm jFSjyַ` i'h2G'E?QG3Nq뷗_+qF,o_~~qfH
+f,Ia:4^ymD$ʀa1|pzGJ[z10S'}M>h |HSnd!~κA0UG5̺H2S{;V’Ѝ񆦥SkUqeIW+*^U%?I*FCt!hSf)qA01c&]=R1Iz.~ treS饤BfQᄩ>Mkw5T O♵- ub%"S`>P2k??Sya($zKLWQ,aMFPG j4+^" @߸dysGۻ$42&єb) ͂(ذ粴hAR\3;<0k($yuGbv 9dq֣ I0;`¥ 5"^ 4NbV;yDh4Z;iY,)$g1xh$FkqL+vd|6>eG}KC`_㔣'8iNJQ; TK*BJ7]^iUL:
+61-p!bH'.%֌ !s:\dZ-mT_Bwb9@!8a7$,A
+>Y<,g<MZoP)Sg3xOLK\
+$X_gFq$|վ=4:}cԴP8
+ rTW>ζj~w:?9֕Ts>v]v
+lT%r>LGû2E֧RjAVpɾ.f
+BCX!֟3no_FYZLF:8^7L^Yk}؛])s%c= 4?X:Wc>0ܧbN'cξk>FF8UΔ1/:|ldb>ٟ=Y/C,!u(6FqE1.kN $ b}[v0ATW:6&+>^]<&͊$Ou_^.&z=d;GI=ǺҦu7w
+u"Wo*kF%ZӺT0(=42@Ta飩gRH~l7Tn^E{WUf{6h͆֘m{If"=[)rZ$b„ba!')8|ԍIs+d(QOJPNTBsM./a0N$ },7:a_װ)MT\ Va}O-7`iww']ͽ:TI\E6OL]~ltf7Yn'ry[|ձ] [#~ nM{QP{s%>)aX1`NtNɨM$^ 㵂ӟT|T@SD {݅vV+|-tOuMbl.zBsn9}‚U̪%˩2s<}€ kjP!zՓ=} <f*/g\n_
+"ml[o2ܰf>AekxG}
+w>k _i0 ycWEj_v|z)L5;dQ
+ ˣ4ЙDЄF|ZK]TFYFC.~yz6>nh8='㛆BF-C X!^! v9[)&ڐcSQkYr
+ OQ]dIQ I_3z5M)cN26yc&fu[\RSò،a'-MSYLz o
+Do.εrϖ o5HS{¬$
endstream
endobj
424 0 obj
-<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 379 0 R /Annots 427 0 R >>
+<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 427 0 R >>
endobj
427 0 obj
-[ 421 0 R 422 0 R ]
-endobj
-421 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.728 459.129 397.453 471.085 ]/A << /S /GoTo /D (subsection.5.3) >> >>
+[ 422 0 R ]
endobj
422 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.735 459.129 423.691 471.085 ]/A << /S /GoTo /D (subsection.5.3) >> >>
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 118.663 86.982 239.156 98.036 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
+ >>
endobj
426 0 obj
<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
endobj
-197 0 obj
+181 0 obj
<< /D [ 424 0 R /XYZ 79.37 771.024 null ] >>
endobj
+185 0 obj
+<< /D [ 424 0 R /XYZ 79.37 734.627 null ] >>
+endobj
423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F62 222 0 R /F54 220 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-495 0 obj
-<< /Filter /FlateDecode /Length 1911 >>
-stream
-xڽZn$7 +FHmٷ RRn`G蠟?^n_/}Z )$#L.(tC,O_M5k Z#h?E)Ԋ0VRbn!;zh˞ <5bZhn(@Dy
-éyČJ$QLyg
->gdc=.^ $h`Pgtg}艑$kgm)0E[;m&m&:?RX9)2ZגN
-j>+-:ύ~?үQkLsJ}l뢅
-mun^U[H;٨!<#9Ң )BSHyd3XyQ͗grgj}Fh[TYMW
-tfiCzL @f]D
-k~ E} [l/)ȳT _ 9B
-n3Ys8~sgXJ]i2
-]|k3gs^imr٭cGc`3eT 9]XVv(ib!RfI2m 66&{>6[J;ve(;ю($JFL/ѧ,iARYbk&
-t<LIǐ^
-zՄw4cY $rcSAs~k
-sF2+*bx1zZ+2_WZi:]~kjLM~'`NYʙkXW0-Ko pqi2 BPVd_/#
+430 0 obj
+<< /Filter /FlateDecode /Length 3014 >>
+stream
+xڽ[ͮ)p
+_2FDzA,|r|:ޖIs `Ca .WhxkJ
+$3Q ɹU,j4iNؠͪ_.U+yue ܲ8h$M;ך+0-GC;Cp
+cQR!~
+%EѺ[xq[}fc2l
+Gz:Ffc-3y!ժ9qq jVϤ2vɪpؘ4Πm2Ӗb9̧hG{5<򹈷:~zw߹xslGUa~o-lqM:IP<ا+UoTzF>е xi+hl˖eO{K,u&ko9ޭS_NE_|T_(J=썡[O,˽͗X9]l\7=8@981bɎQ9pǬ0nrahz1qE
+vEw[7tY`2s_ŵqP809ro^]lxr,:x%˩
+{Iɑn΢{'3Ԫ!BU0D6YD/LwUqtgȘh-@847$ nPgժXPں}z5('@i\GQ&Z: { 6RLT|S/k*&55lf= ڞvX~yݪ ;E/;WZnPr<^sD.2;@wPD[hV-ȫȗ.@JC~ J~UQzNÍS @x&=<5+b[@㔩~w ip;Sk4©9$LByat f釻W>w1 Y~:i!v;흅{wZ7R0!j;0py/\d<HBЃeH8y;*:J%xzU) ֔[5fA.p`$W\-b=&S
+;k' lkhLPjT;L5w\+\{eW-v1g׿ jbP}ID
endstream
endobj
-494 0 obj
-<< /Type /Page /Contents 495 0 R /Resources 493 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 497 0 R /Annots 498 0 R >>
-endobj
-498 0 obj
-[ 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R ]
-endobj
-428 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.39 681.75 142.364 692.709 ]/A << /S /GoTo /D (page.4) >> >>
-endobj
429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.251 648.073 166.224 659.032 ]/A << /S /GoTo /D (page.5) >> >>
-endobj
-430 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.579 635.679 163.535 647.634 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Page /Contents 430 0 R /Resources 428 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
endobj
431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.14) >> >>
+<< /D [ 429 0 R /XYZ 78.37 808.885 null ] >>
endobj
-432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.15) >> >>
+189 0 obj
+<< /D [ 429 0 R /XYZ 79.37 771.024 null ] >>
endobj
-433 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.11) >> >>
+428 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
434 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 138.289 599.256 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Filter /FlateDecode /Length 3134 >>
+stream
+xڽɮ񮯘0Cw@x7)nOCCNu!4KwF_#VJo_zc7m 7ݾ~R jRBS'>{x^Ilu ^JqPD DOqŒȈ9l|E 47K%&|Hf3ԑ(s>|<"5@+pW4ݥ[yӕpog#`F Ȝx8 dGx{(s̕"|箥=Z$8="w;Bf(z.d/Y`Ș32XHO:=iY+)jD"*{I Pb\cZ/ħ}}V oEa;M"4;oNuЯiDKg5!2V
+ T{`x` Ah9%DO+(!puT.0 H+zŔ'_~o1&!>^ ۍ[ F;#9-LdߡסTQ-!s C䀰kŕըZFejqrCY9_3ҏb@J2YpJ򓎍N.L[Q%ƐTxLt4RdC| E /uǵR;>D!Zm"%fx̖hZ`hOH$py) B2Dbu2'}3`PO̓9XCxDa{Fxud.E*L)崍EUBqc0gPdYjTUf΋UCbәk
+?j˥ N\PТL *[ߏgˉWetψw5bSR+/+Ksx`{lT4;g0ƻ.㯔
+\w4[gA f]h%0Q;#5. :\@e&7k ,2/Ҩ\oif {jJaO5VLQݮ_$TS)N_e)+^, ܗ~Yz3p5H,\ԃziƢ|/sFƟx|RKZ-g
+tzLt63-:zUJ؃5҂2_O:e04 kBBrdJ=XX$ʲSК<qŏP~9n
+}
+բ1S^&R34wO֩"1F`zu;?lcNwMM؝,7BLHj FψG$0')̔WE#\>bk)tPzCӳ~[1ET>t #0DK%Nbʢakg1VS l>j؟7Zw+"՞DE<%,q0N#+ضy0s9A zLz2cYqe9h
+_j-Nz\7Iw9d*.wtu`[Ph1d* =u/X@,`\Ԟ4C DZ [0-q~Nq}S:~J"6EaE`T&~y.R
+vD9ј힪F6kmJWm#A=i7vmՅo}WpR"Z)'kz1X \H-Bzj
+endstream
+endobj
+433 0 obj
+<< /Type /Page /Contents 434 0 R /Resources 432 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
endobj
435 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 197.109 587.301 ]/A << /S /GoTo /D (page.9) >> >>
+<< /D [ 433 0 R /XYZ 78.37 808.885 null ] >>
endobj
-436 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 195.863 575.345 ]/A << /S /GoTo /D (page.9) >> >>
+193 0 obj
+<< /D [ 433 0 R /XYZ 79.37 771.024 null ] >>
endobj
-437 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.13) >> >>
+432 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F67 250 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
438 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Filter /FlateDecode /Length 3058 >>
+stream
+xڵ\ˮ +H & f5AH*JKNK:$ER|Ho/?>Moff`\ۏ߾psr.g9h+}FoFzz??Ʃ~?~%94h<!9Sff÷`iZ. ܏_=iM2nS X
+[1\W61?7emm~.Xr&{^^yLLK"puV.=` &eªƖ/|w1 .pe??;7 ?ݟ7Y_~.OkqKEUР[Aĩ`. >_<!:ITw[Ju"L8S
+sNjwA?[WJUxYr")qppPLӚ b9oe[ha_p" aB8V!/n0T% U{$CL:D3Jyi4e&7YP34NtلRTm0,~m1Gg &Qd`CI\p_jh&g i\
+
+FJ~XV/i%爐`KP}M&]II]$۞oY=H)" JcնJY̰C g({ܴ3|> @u<&9a܁Z){^ P#nް|/Zaj'Zf}{5V&}N(<Z9'
+~
+1f~]vh2^ER6,,d[Ѓob(f,IFOlr[-v!fj ϲ(0+5gMzX"2'&$?Aqq ^cRmT,Wg ;Ԕ:9IoQ :A'H\4kP<*v ̎6\[vq"\w[r4W-8;2M6j 3r겛bfӥpcxjUpVmZsb[$vJɌs MDk)6=b,ӖxR>64XwHwu1 41KdřM;Ӭ[YkɝJhAfmg3!Ϻ_Ѯ+ !e"AՈx+C.^'Bb0ӏ<C iwpLPnNe(Waaһl`ṜSRe+}:kڢ|UV&5Ώ?9 9dܯg;ZcM2"[q/,)<itDa9[[TX^SYix/VvdaKC3KJ)yc3mi^+iBP]>e4`
+Rժ|+"{zN+b! \nz6S1Ņ˸^(qmF
+%J-]A8XSym8sfg1JjL_5U}ws, ΀1̇]H+Uf)whb|k{Y _iIQ>u91_pRoINE}W_UB8Sb8JG\ɕ*6ۚuJ% M8qTUΕY_3d-~pliNj5*z ?E
+څ56@ݨm^]qk7q+z{[/Sf!vyYY::d32ݔi3ڂe֎j/mgwb9E[
+9/5T&) +)ʼiė uˬg)T72JL-C
+
+bmJ(|#J0wq8AwxCdR$ͰT}S6}Y!fY(2ъ)gGWhS >L&RGW}%Q-ӳjv 7ǖ ܶ@`(OU^#>eYVa5~52Fi8Goq6aJX)I6>Ju^0 3615R*;XxpW%a=g򹔽+f2+0g!yZkw;{/-tqHc5}~SS׎2*=cםMuvpr7mq6( án&" ?5&jWum;M*>qO ;BnR/hԳjʝܓΥ'u( =j~CW] 69%EWZcHWWWOP8%(gz@%m$;9uWul-BZvI]ɫ ˷S/̾sSf :wx,eKRj6UϮyy*/^[V@pda,38R3omӖ9K
+endstream
endobj
-439 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.19) >> >>
+437 0 obj
+<< /Type /Page /Contents 438 0 R /Resources 436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R >>
endobj
-440 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.10) >> >>
+439 0 obj
+<< /D [ 437 0 R /XYZ 78.37 808.885 null ] >>
endobj
-441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.10) >> >>
+197 0 obj
+<< /D [ 437 0 R /XYZ 79.37 771.024 null ] >>
endobj
-442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 460.728 207.978 472.683 ]/A << /S /GoTo /D (page.14) >> >>
+436 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 427.608 210.409 438.487 ]/A << /S /GoTo /D (page.13) >> >>
+445 0 obj
+<< /Filter /FlateDecode /Length 1380 >>
+stream
+xڭXɎ#7 +Zh& })ArHS~?$JUFZGty=tsfP9'=2a
+0M߿hP6Zkzm=O4WKkFwKzo::>xFzJPj 655K$ =?a
+hi!dMY^(gjy]y^e Ksv@ڃ* n!µ5ڇ] FV
+%MQ3=(~p1yk4'c>$/<$s*?|Nxonռ6cdg|'>IxҀa3 m(LCŅTB{6*6%wIQ-,
+f ] o^g/Zk^b){OZ1^8T38&(JY"ؠw5QqXZٽ3Z0-Rz
+apESA|K]h5#~; ܢ?MG[r/ZɽV-/"{a@jY|<W2жRTI4q0M&Q2
+tL~-56Ml-x*Ywzs2Ȱ+W8)V
+[UxۍMlD¦ҟ2 %Im—J|2=5m]T"Ea.i;v?@Mmuw{d}̤Rk魓J=IɆf7ゲT/u/kG+Y>C!p৹-?m(U[VC5+Kn>F5X}P%7uْn0fgfK7&> q+9f{"xj^`!@Υ9nָ|'~̡T1;Cw1Hܬj<#vf0b+?kИXst*@vmtzBwHrhVU?-gg^r˜9v8/}C^jZv-7Rc@,碶uxZ@ Q\.N"-eOu?WJT--*:iD&=*V32URsP}lURWK5MA;B N8
+_kn@peZI!ȫZ2Jҝ;pQo0$'P处dt1ߔ||gUja~[c_$&ڻw9-M֊+]#f lvÓuAꜣs~
+xW*O)
+endstream
endobj
444 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 415.653 143.231 426.492 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Page /Contents 445 0 R /Resources 443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 447 0 R >>
endobj
-445 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 403.697 169.243 414.537 ]/A << /S /GoTo /D (page.15) >> >>
+447 0 obj
+[ 441 0 R 442 0 R ]
+endobj
+441 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.728 459.129 397.453 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
+endobj
+442 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.735 459.129 423.691 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
446 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 391.752 174.772 402.691 ]/A << /S /GoTo /D (page.10) >> >>
+<< /D [ 444 0 R /XYZ 78.37 808.885 null ] >>
endobj
-447 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 379.668 139.066 390.626 ]/A << /S /GoTo /D (page.11) >> >>
+201 0 obj
+<< /D [ 444 0 R /XYZ 79.37 771.024 null ] >>
endobj
-448 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 367.712 137.931 378.671 ]/A << /S /GoTo /D (page.4) >> >>
+443 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-449 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 355.877 150.424 366.716 ]/A << /S /GoTo /D (page.15) >> >>
+451 0 obj
+<< /Filter /FlateDecode /Length 1346 >>
+stream
+xڵX#7C0LOOdOȿ}xXE:=qe|bX)>1%\OZ1B>>R*RmPQJqXhJ9N)p-.`o~v8R4R}Rn)1OYGKV-0NLNXJla:)Ȼ
+3adS.# p#
+)`mZz;JM7&8 .p?0 ڂ`iyY6"
+!MP<fiAZ5hrI  D-q b~IC:F1v3C &G㨌!PxI"JTB:y䐚]jJ|;4&jȒ~A3}#xqy[Ag(!DƈzoGfRBjϷ j_9q h'\L۲".m0X” 8wh2M,=Ң 4RynP%I\C@|.KRIK$Wb8'@IǟC}7cL6PǸ"Γqa[Of
+, '@>
+'vsj\HM9EaJL(y$^2ܔZK.} ^uASvTFrimnAu\KNg}&ԇ@-SљV
+_!AX&PȘt&uge'9!ZA(PC@(GQ.vL"Fs.eBoTr1HP.Q+l~ "mL%a\ V`o޳KpWzSns6t/q.`v9W 4w[ F`yb[] },<W;;_D!Iݺ*7aI6Qdyt!z'gFۊk7Fmf?,gIEfÎ 
+endstream
endobj
450 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 321.641 183.261 333.596 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Page /Contents 451 0 R /Resources 449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 453 0 R >>
endobj
-451 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 309.686 155.086 321.641 ]/A << /S /GoTo /D (page.18) >> >>
+453 0 obj
+[ 448 0 R ]
+endobj
+448 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.32 697.168 262.294 708.167 ]/A << /S /GoTo /D (section.5) >> >>
endobj
452 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 297.731 206.264 309.686 ]/A << /S /GoTo /D (page.18) >> >>
+<< /D [ 450 0 R /XYZ 78.37 808.885 null ] >>
endobj
-453 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 285.776 179.754 297.731 ]/A << /S /GoTo /D (page.18) >> >>
+205 0 obj
+<< /D [ 450 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+449 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+524 0 obj
+<< /Filter /FlateDecode /Length 1963 >>
+stream
+xڽZn$7 +FHmٷ RRn`G蠟?^n_/}Z )$#?Г\P&ZY]k2u>F_SPa)',CvЬ=)By]k-/QpSvI+Y 6| ?h{\ۣze_,[AnVm'F>틶%ZnSL::)0Mt^D1,s8RQeTg.#]*% ~nHF1)Ag*l0Ҟ-6My1Wmӕt +!(vQKxFzҦS@M8D͓%bTt<V{3BDOn:̏JjJQUܢ߿z\ֆøTMoڈNm<jzuq\6>ĚYиdܮn
+O#QӚ')PhfAg68xDŽ s֥;Vԇxa@j`ڟ< JKՀ`.
+# .<GgBPF/Bף"yl\-A
+Z=S\BdssP$
+6Irn72a`"KjX/< F`za}T +/_9ڌGG::84pa:/U
+sin{R?w| 5(60gl /֗Ij͒WMh02~
+b VçVPWW`|_l'av
+m,<@B4x7P?7ZoAwQzTJ6ۦ\|Ce-ޮȼ_<2Vơvs͇k 2
+[寏ĐGf,S6n2V"e;XN|Ȭ0fV:D ﵍'bC,ˆ{BX昕NˣV3+yAtGXH!͘2oM/~UZsl0վzgDt8J9!ԧ(Wsβ#f/2/ڄ5s+'4dVG=Yh7'.^6tzH&36ײ&D{OؕаE*ƤS8\6*h_8N'n4,1Ő`o2hܑiG/$C=[d5ww~"1匿M/=v*xwfGG{:-+]a|<MʟU6 T *{ꡗ!Y K%=ߖz)<#: ˕_/'+ʄm2xyeB
+ȏd&tce%!kݧ +ivv[g;v]ϱ߂?Eq?=.-Ko qi2 aB+?r{T
+endstream
+endobj
+523 0 obj
+<< /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 526 0 R >>
+endobj
+526 0 obj
+[ 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ]
endobj
454 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 252.537 119.669 263.495 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.39 681.75 142.364 692.709 ]/A << /S /GoTo /D (page.4) >> >>
endobj
455 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 240.581 162.289 251.54 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.251 648.073 166.224 659.032 ]/A << /S /GoTo /D (page.5) >> >>
endobj
456 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 228.626 157.856 239.585 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.579 635.679 163.535 647.634 ]/A << /S /GoTo /D (page.18) >> >>
endobj
457 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 195.078 174.274 205.908 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.16) >> >>
endobj
458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 160.833 152.317 172.788 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.17) >> >>
endobj
459 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 149.316 139.345 160.384 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.13) >> >>
endobj
460 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 137.49 147.146 148.32 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 143.271 599.256 ]/A << /S /GoTo /D (page.11) >> >>
endobj
461 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 103.245 174.254 115.2 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 202.09 587.301 ]/A << /S /GoTo /D (page.11) >> >>
endobj
462 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.44 91.29 147.395 103.245 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 200.845 575.345 ]/A << /S /GoTo /D (page.11) >> >>
endobj
463 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.686 79.334 185.642 91.29 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.15) >> >>
endobj
464 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.96 67.947 165.916 78.776 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.15) >> >>
endobj
465 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 693.267 453.95 705.222 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.21) >> >>
endobj
466 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 659.962 419.292 670.791 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.12) >> >>
endobj
467 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.066 647.877 414.241 658.836 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.12) >> >>
endobj
468 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 635.922 459.491 646.921 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 460.728 207.978 472.683 ]/A << /S /GoTo /D (page.16) >> >>
endobj
469 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 602.169 334.619 613.008 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 427.608 210.409 438.487 ]/A << /S /GoTo /D (page.15) >> >>
endobj
470 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 590.214 360.104 601.053 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 415.653 143.231 426.492 ]/A << /S /GoTo /D (page.16) >> >>
endobj
471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 578.268 351.297 589.098 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 403.697 169.243 414.537 ]/A << /S /GoTo /D (page.17) >> >>
endobj
472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 566.024 346.066 577.143 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 391.752 174.772 402.691 ]/A << /S /GoTo /D (page.11) >> >>
endobj
473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 553.79 485.334 565.745 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 379.668 139.066 390.626 ]/A << /S /GoTo /D (page.13) >> >>
endobj
474 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 542.114 398.121 553.232 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 367.712 137.931 378.671 ]/A << /S /GoTo /D (page.4) >> >>
endobj
475 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 530.159 382.679 541.277 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 355.877 150.424 366.716 ]/A << /S /GoTo /D (page.17) >> >>
endobj
476 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 518.144 372.218 529.322 ]/A << /S /GoTo /D (page.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 321.641 183.261 333.596 ]/A << /S /GoTo /D (page.20) >> >>
endobj
477 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 506.408 424.93 517.367 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 309.686 155.086 321.641 ]/A << /S /GoTo /D (page.20) >> >>
endobj
478 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 494.014 405.872 505.97 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 297.731 206.264 309.686 ]/A << /S /GoTo /D (page.20) >> >>
endobj
479 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 482.059 508.457 494.014 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 285.776 179.754 297.731 ]/A << /S /GoTo /D (page.20) >> >>
endobj
480 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 448.754 419.043 459.583 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 252.537 119.669 263.495 ]/A << /S /GoTo /D (page.4) >> >>
endobj
481 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 436.45 387.909 447.628 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 240.581 162.289 251.54 ]/A << /S /GoTo /D (page.4) >> >>
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 424.834 366.579 435.673 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 228.626 157.856 239.585 ]/A << /S /GoTo /D (page.4) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 412.759 410.445 423.718 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 195.078 179.256 205.908 ]/A << /S /GoTo /D (page.11) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 400.814 400.582 411.763 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 160.833 152.317 172.788 ]/A << /S /GoTo /D (page.2) >> >>
endobj
485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 388.968 381.802 399.808 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 149.316 139.345 160.384 ]/A << /S /GoTo /D (page.5) >> >>
endobj
486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 377.013 355.152 387.852 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 137.49 147.146 148.32 ]/A << /S /GoTo /D (page.4) >> >>
endobj
487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 364.5 420.716 376.455 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.77 124.967 171.744 136.922 ]/A << /S /GoTo /D (page.9) >> >>
endobj
488 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 331.195 352.92 342.024 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 91.29 174.254 103.245 ]/A << /S /GoTo /D (page.12) >> >>
endobj
489 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 319.24 368.442 330.069 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.44 79.334 147.395 91.29 ]/A << /S /GoTo /D (page.12) >> >>
endobj
490 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 284.799 403.8 296.754 ]/A << /S /GoTo /D (page.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.686 67.379 185.642 79.334 ]/A << /S /GoTo /D (page.13) >> >>
endobj
491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 251.494 339.6 262.323 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 377.209 693.835 389.165 704.664 ]/A << /S /GoTo /D (page.15) >> >>
endobj
492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 239.539 336.851 250.199 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 681.312 453.95 693.267 ]/A << /S /GoTo /D (page.32) >> >>
endobj
-496 0 obj
-<< /D [ 494 0 R /XYZ 78.37 808.885 null ] >>
+493 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 648.007 419.292 658.836 ]/A << /S /GoTo /D (page.8) >> >>
endobj
-201 0 obj
-<< /D [ 494 0 R /XYZ 79.37 706.717 null ] >>
+494 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 635.693 403.6 646.881 ]/A << /S /GoTo /D (page.9) >> >>
endobj
-493 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F16 244 0 R /F15 219 0 R /F54 220 0 R /F68 245 0 R /F62 222 0 R >> /ProcSet [ /PDF /Text ] >>
+495 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.695 635.693 419.65 646.881 ]/A << /S /GoTo /D (page.33) >> >>
endobj
-538 0 obj
-<< /Filter /FlateDecode /Length 2265 >>
-stream
-x\n6 ߯U"
-OB2No~?q (ˤO?q.g?9Oƹ.%K(\W/*!TxwEcNfBirRzېéj, IUfg'ɲI^GFKy+-7z`jd11Ќc/EWx*'#tlB'])k8aCDzJb%S4/kʤ;TӉIذҫpYYl5dғ =-kY~X}$ %@
-S,8benG^2[Ɉ2?ozJmo*D65mT(OLbTc;52Ouh<Xk$ĸ?
-З҂&Ra ەB*\ν>aՑ' IM E$F}~JU7fgQ]?%%ƖV0<JAr
-ʢtFw{P`gӽxWߟ~,&#ʼصᡤ
-{1Wun]U&LVًAa;ﲢCw嬢Sqp_$*m\ET秠Vd
-4#:ѕE7.Ңh!AKg? mvqܣ:6:KxtgܱN?ƣFKξC6\vDCcEݣSP9cR0-bnkc51^oަ3kI냴p2ś_m 8mF5 %+ce?,/z>ia{>KLn-WáǾs6 IbbFĹ 3mUl!3SeS Gw557jHWZ
-D׫G9S:~a;"w#Aq:X,9˳iB]$IXyq srhLx9-GefܓA{<Y;f-@&|ir B@n}8YJF ,Š+L/\w)_*g)&55u WOr=1R~ET̑DR;<\kmY;iIg$K]٣p{F@`K `N!%<dy ȃV^jOb 3lZN=h=40}Ӓ]Lr(~ck3߇quw- ='u8Y&Tr=:);( ONRό`^>)uȲN !l5n!'^v9ªXȽF2;63llNU͚vq
-endstream
+496 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.066 623.967 414.241 634.926 ]/A << /S /GoTo /D (page.22) >> >>
endobj
-537 0 obj
-<< /Type /Page /Contents 538 0 R /Resources 536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 497 0 R /Annots 540 0 R >>
+497 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 612.012 459.491 623.011 ]/A << /S /GoTo /D (page.21) >> >>
endobj
-540 0 obj
-[ 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R ]
+498 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 578.258 334.619 589.098 ]/A << /S /GoTo /D (page.4) >> >>
endobj
499 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 547.78 158.683 556.846 ]/A << /S /GoTo /D (section.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 566.303 360.104 577.143 ]/A << /S /GoTo /D (page.4) >> >>
endobj
500 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 525.862 152.217 534.828 ]/A << /S /GoTo /D (section.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 554.358 351.297 565.187 ]/A << /S /GoTo /D (page.2) >> >>
endobj
501 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 503.894 220.7 512.91 ]/A << /S /GoTo /D (section.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 542.114 346.066 553.232 ]/A << /S /GoTo /D (page.3) >> >>
endobj
502 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 489.996 194.339 501.065 ]/A << /S /GoTo /D (subsection.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 529.88 485.334 541.835 ]/A << /S /GoTo /D (page.20) >> >>
endobj
503 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 478.041 233.98 489.11 ]/A << /S /GoTo /D (subsection.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 518.204 398.121 529.322 ]/A << /S /GoTo /D (page.12) >> >>
endobj
504 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 466.206 405.437 477.085 ]/A << /S /GoTo /D (subsection.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 506.248 382.679 517.367 ]/A << /S /GoTo /D (page.4) >> >>
endobj
505 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 453.693 270.892 465.648 ]/A << /S /GoTo /D (subsection.3.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 494.234 372.218 505.412 ]/A << /S /GoTo /D (page.7) >> >>
endobj
506 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 434.156 177.522 443.172 ]/A << /S /GoTo /D (section.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 482.498 424.93 493.456 ]/A << /S /GoTo /D (page.5) >> >>
endobj
507 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 419.82 292.441 431.775 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 470.104 405.872 482.059 ]/A << /S /GoTo /D (page.24) >> >>
endobj
508 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 408.313 160.018 419.262 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 458.149 508.457 470.104 ]/A << /S /GoTo /D (page.25) >> >>
endobj
509 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 396.358 216.297 407.306 ]/A << /S /GoTo /D (subsubsection.4.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 424.844 419.043 435.673 ]/A << /S /GoTo /D (page.14) >> >>
endobj
510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 384.392 256.157 395.461 ]/A << /S /GoTo /D (subsubsection.4.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 412.54 387.909 423.718 ]/A << /S /GoTo /D (page.6) >> >>
endobj
511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 372.447 245.437 383.396 ]/A << /S /GoTo /D (subsubsection.4.2.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 400.923 366.579 411.763 ]/A << /S /GoTo /D (page.6) >> >>
endobj
512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 362.315 290.319 371.551 ]/A << /S /GoTo /D (subsection.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 388.849 410.445 399.808 ]/A << /S /GoTo /D (page.5) >> >>
endobj
513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 340.507 217.522 349.623 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 376.904 405.563 387.852 ]/A << /S /GoTo /D (page.11) >> >>
endobj
514 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 326.609 256.267 337.678 ]/A << /S /GoTo /D (subsection.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 365.058 386.783 375.897 ]/A << /S /GoTo /D (page.11) >> >>
endobj
515 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 314.654 231.599 325.722 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 353.103 360.133 363.942 ]/A << /S /GoTo /D (page.11) >> >>
endobj
516 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 302.699 232.157 313.767 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 340.59 420.716 352.545 ]/A << /S /GoTo /D (page.6) >> >>
endobj
517 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 290.863 265.064 301.812 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 307.285 352.92 318.114 ]/A << /S /GoTo /D (page.20) >> >>
endobj
518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 278.788 300.371 289.966 ]/A << /S /GoTo /D (subsubsection.5.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 295.329 368.442 306.159 ]/A << /S /GoTo /D (page.20) >> >>
endobj
519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 266.953 274.01 278.011 ]/A << /S /GoTo /D (subsubsection.5.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 260.889 403.8 272.844 ]/A << /S /GoTo /D (page.8) >> >>
endobj
520 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 256.711 264.755 265.947 ]/A << /S /GoTo /D (subsection.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 227.583 339.6 238.413 ]/A << /S /GoTo /D (page.5) >> >>
endobj
521 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 243.042 250.11 253.922 ]/A << /S /GoTo /D (subsection.5.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 215.628 336.851 226.288 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-522 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 232.801 276.738 241.817 ]/A << /S /GoTo /D (subsubsection.5.4.1) >> >>
+525 0 obj
+<< /D [ 523 0 R /XYZ 78.37 808.885 null ] >>
endobj
-523 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 220.846 265.45 230.011 ]/A << /S /GoTo /D (subsubsection.5.4.2) >> >>
+209 0 obj
+<< /D [ 523 0 R /XYZ 79.37 706.717 null ] >>
endobj
-524 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 208.891 281.779 218.056 ]/A << /S /GoTo /D (subsubsection.5.4.3) >> >>
+522 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F62 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 195.222 258.855 206.101 ]/A << /S /GoTo /D (subsubsection.5.4.4) >> >>
+566 0 obj
+<< /Filter /FlateDecode /Length 2344 >>
+stream
+x\n6߯%
+?u_-~jyIpz7IcҜLqz3by99$WʹWK0^1>?KC@5Y
+ ڕ(VL v>58ut2i뉴J N6]Jx8:<(䉲[iՆ]R*U^wVՁS̘;G)q9R
+Rd$M Z`paDDg"?Z?Q%S \zIsN<Š+
+>TӛԿ!FQSwjCW<ʷx'OuWf%2^ъHY[_d.jQX_iI nqkwǟzh^8OiSW5wF]b8*3nVyVSv(k9u|$9QZZ^hKIPn̂\Da2 g\fAB(0t P?
+7-g
+NI/M2Y褜Fq~*xI}]foQ}'"Ƿ
+&!HʊoWO,ӓt\_ ? 6聠24<GE(e(ͳ5eiPxl}y/
+^6LApmzSA`1rE>˓!>`)r +9S4AůA{TQKKwiR np4
+&"f>9 xvݘ1
+K_,֮&p%>cS2J+50 s y(*Xa6~
+LG\̥B*W ~l5hf`Sc#k2%<+wGx9%38t-/2sWui% >C~ !`D%m !Bz쑮aH(f`S;Ѡbgn\rn׮TJ2%
+yg6KU.UYRTbKM1GBQ^@JN
+KC͏$7̙7Ӽp1MQ/ʼn,gPk͡?.<?aA<?xC/bK [R<P2JL&hH1fW]{V}jW|c7tG,TqG΄Ƒ.SҌzsmTx)l'og54&s7OLǂ=@YY\lLt '
+}iZ31 ]WzbpI]DjfR=ziCym%UoVYΐ Iι1R[b|Uv6
+ 8Q2,Y֚D삭x|v` q!&,Q7
+v(Xm!:)in`_n_F7r[rt</5 ĥR<Gb#?ͪK;ȄvL"}{QzS=v&fٛ?
+0cOAjdÝbpft*%*QAf=^۳/WQH
+endstream
endobj
-526 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 183.267 284.868 194.146 ]/A << /S /GoTo /D (subsubsection.5.4.5) >> >>
+565 0 obj
+<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 568 0 R >>
+endobj
+568 0 obj
+[ 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R ]
endobj
527 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 171.311 282.1 182.26 ]/A << /S /GoTo /D (subsection.5.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 548.017 158.683 557.083 ]/A << /S /GoTo /D (section.1) >> >>
endobj
528 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 158.798 361.512 170.754 ]/A << /S /GoTo /D (subsubsection.5.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 526.099 152.217 535.065 ]/A << /S /GoTo /D (section.2) >> >>
endobj
529 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 146.843 443.664 158.798 ]/A << /S /GoTo /D (subsubsection.5.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 504.131 220.7 513.148 ]/A << /S /GoTo /D (section.3) >> >>
endobj
530 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 134.888 456.307 146.843 ]/A << /S /GoTo /D (subsubsection.5.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.234 194.339 501.302 ]/A << /S /GoTo /D (subsection.3.1) >> >>
endobj
531 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 123.371 362.538 134.33 ]/A << /S /GoTo /D (subsection.5.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 478.278 233.98 489.347 ]/A << /S /GoTo /D (subsection.3.2) >> >>
endobj
532 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 113.249 169.492 122.375 ]/A << /S /GoTo /D (subsection.5.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 466.443 405.437 477.322 ]/A << /S /GoTo /D (subsection.3.3) >> >>
endobj
533 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 89.618 229.457 100.557 ]/A << /S /GoTo /D (section.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 453.93 270.892 465.885 ]/A << /S /GoTo /D (subsection.3.4) >> >>
endobj
-539 0 obj
-<< /D [ 537 0 R /XYZ 78.37 808.885 null ] >>
+534 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 434.443 177.522 443.409 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-536 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 218 0 R /F15 219 0 R /F62 222 0 R /F54 220 0 R /F70 275 0 R /F71 276 0 R /F16 244 0 R >> /ProcSet [ /PDF /Text ] >>
+535 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 420.057 292.441 432.012 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-556 0 obj
-<< /Filter /FlateDecode /Length 808 >>
-stream
-x혻0E{~ gHI`!@WR &U Q6PaH=~uzo/P'$~ :녲%HI?{4NV+JG)M.'ϊdZ#y-j/@R*4vAKx|MMG2y.1=0B+Ox\O\<cן_ih 
- tYk2y baAb8h cKX(+ӕñKl,J_ ه4t!~ u;{,P!?6VΫ#=qa+<Y/¯% m`iԶ:ڽ5 POh D*ms
-6'G*s2qd7Scqt<QR*vt샿]2^q>5jod:9`$Bd0o o}fP{9{>J2` [ a 8Vyl!'@@7^"r 80j hC?[VņQ)}3p;>z<d>) ㌰v8gq
-endstream
+536 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 408.55 160.018 419.499 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-555 0 obj
-<< /Type /Page /Contents 556 0 R /Resources 554 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 497 0 R /Annots 558 0 R >>
+537 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 396.595 216.297 407.544 ]/A << /S /GoTo /D (subsubsection.4.2.1) >> >>
endobj
-558 0 obj
-[ 534 0 R 535 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R ]
+538 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 384.63 256.157 395.698 ]/A << /S /GoTo /D (subsubsection.4.2.2) >> >>
endobj
-534 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 143.002 768.971 ]/A << /S /GoTo /D (section.7) >> >>
+539 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 372.684 245.437 383.633 ]/A << /S /GoTo /D (subsubsection.4.2.3) >> >>
endobj
-535 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 223.799 757.056 ]/A << /S /GoTo /D (subsection.7.1) >> >>
+540 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 362.552 290.319 371.788 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
541 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 277.208 745.061 ]/A << /S /GoTo /D (subsection.7.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 338.851 391.211 349.86 ]/A << /S /GoTo /D (section.5) >> >>
endobj
542 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 214.513 733.106 ]/A << /S /GoTo /D (subsection.7.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 318.826 217.522 327.942 ]/A << /S /GoTo /D (section.6) >> >>
endobj
543 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 710.192 261.178 721.19 ]/A << /S /GoTo /D (subsection.7.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 304.928 256.267 315.997 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
544 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 688.334 219.843 699.233 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 292.973 231.599 304.042 ]/A << /S /GoTo /D (subsubsection.6.1.1) >> >>
endobj
545 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 259.525 687.278 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 281.018 232.157 292.087 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
546 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 364.391 675.88 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.182 265.064 280.131 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
547 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 642.496 355.794 653.504 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 257.108 300.371 268.286 ]/A << /S /GoTo /D (subsubsection.6.2.1) >> >>
endobj
548 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 200.147 641.449 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 245.272 274.01 256.331 ]/A << /S /GoTo /D (subsubsection.6.2.2) >> >>
endobj
549 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.535 199.161 629.604 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 235.031 264.755 244.266 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
550 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.142 220.74 618.097 ]/A << /S /GoTo /D (subsection.9.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 221.362 250.11 232.241 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
551 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 187.684 605.694 ]/A << /S /GoTo /D (subsection.9.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 211.12 276.738 220.136 ]/A << /S /GoTo /D (subsubsection.6.4.1) >> >>
endobj
552 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.67 219.981 593.629 ]/A << /S /GoTo /D (subsection.9.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 199.165 265.45 208.331 ]/A << /S /GoTo /D (subsubsection.6.4.2) >> >>
endobj
553 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 562.695 108.74 571.711 ]/A << /S /GoTo /D (section*.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 187.21 281.779 196.375 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
+endobj
+554 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 173.541 258.855 184.42 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
+endobj
+555 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 161.586 284.868 172.465 ]/A << /S /GoTo /D (subsubsection.6.4.5) >> >>
+endobj
+556 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 149.631 282.1 160.58 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
557 0 obj
-<< /D [ 555 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 137.118 361.512 149.073 ]/A << /S /GoTo /D (subsubsection.6.5.1) >> >>
endobj
-554 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 244 0 R /F15 219 0 R >> /ProcSet [ /PDF /Text ] >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 125.163 443.664 137.118 ]/A << /S /GoTo /D (subsubsection.6.5.2) >> >>
+endobj
+559 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 113.207 456.307 125.163 ]/A << /S /GoTo /D (subsubsection.6.5.3) >> >>
+endobj
+560 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 101.691 362.538 112.649 ]/A << /S /GoTo /D (subsection.6.6) >> >>
+endobj
+561 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 91.568 169.492 100.694 ]/A << /S /GoTo /D (subsection.6.7) >> >>
+endobj
+562 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 67.937 229.457 78.876 ]/A << /S /GoTo /D (section.7) >> >>
+endobj
+567 0 obj
+<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+564 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R /F70 285 0 R /F71 292 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+586 0 obj
+<< /Filter /FlateDecode /Length 871 >>
+stream
+xXɎ0 +QEJ$`` N&zέ=Xfv:|0hG χvt9`PvB ') ?V;J')Mx.GEЏ o/P
+v֗"t+!LUR~lkm
+u#g:ƀpz>հ]LTa>(Рv>
+endstream
+endobj
+585 0 obj
+<< /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 588 0 R >>
+endobj
+588 0 obj
+[ 563 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R ]
+endobj
+563 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 143.002 768.971 ]/A << /S /GoTo /D (section.8) >> >>
+endobj
+569 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 223.799 757.056 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+endobj
+570 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 277.208 745.061 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+endobj
+571 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 214.513 733.106 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+endobj
+572 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 710.192 261.178 721.19 ]/A << /S /GoTo /D (subsection.8.4) >> >>
+endobj
+573 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 688.334 219.843 699.233 ]/A << /S /GoTo /D (section.9) >> >>
+endobj
+574 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 259.525 687.278 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+endobj
+575 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 364.391 675.88 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+endobj
+576 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 642.496 355.794 653.504 ]/A << /S /GoTo /D (section.10) >> >>
+endobj
+577 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 200.147 641.449 ]/A << /S /GoTo /D (subsection.10.1) >> >>
+endobj
+578 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.535 199.161 629.604 ]/A << /S /GoTo /D (subsection.10.2) >> >>
+endobj
+579 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.142 220.74 618.097 ]/A << /S /GoTo /D (subsection.10.3) >> >>
+endobj
+580 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 187.684 605.694 ]/A << /S /GoTo /D (subsection.10.4) >> >>
+endobj
+581 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.67 219.981 593.629 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+endobj
+582 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 570.276 375.36 582.232 ]/A << /S /GoTo /D (subsection.10.6) >> >>
+endobj
+583 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.74 108.74 559.756 ]/A << /S /GoTo /D (section*.1) >> >>
+endobj
+587 0 obj
+<< /D [ 585 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+584 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca1.0 << /ca 1.0 >>>>
@@ -1960,16 +2087,16 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-559 0 obj
+589 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-561 0 obj
+591 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ"w
endstream
endobj
-562 0 obj
+592 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
x| |UﭺU%tv& &Av"J  IL,cC@D ""(.({TԙqGapF'>PVu6P~Ҟ>n{sJxr%*oܱ?3oԵF{1B׭+8EH4̽Pr~cC;zEBү%$ƀϯvTM(OjĄeuG6Wƿ.ŵ7| T%2Za-mO2/VZ}-Zq}W}[{mJtZBbtMD&D/A& ^U1`T1D+ɪDPeRQ_'QQC*l3,#/h? ىDF1+yJ,|^2y Fˑ+ׄC'·?E bqG|EW35NgEG;e
@@ -2005,10 +2132,10 @@ R kBX_"PSU;~@1~1nc̍1c|$a=b[0\Hx $Nchbo
iLOׯ+WkuWJ^)_^[ ]IVU[شVW
endstream
endobj
-560 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 562 0 R /CIDSet 561 0 R >>
+590 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 592 0 R /CIDSet 591 0 R >>
endobj
-563 0 obj
+593 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xڍOo0=8!h"TD
@@ -2019,22 +2146,22 @@ xڍOo0=8!h"TD
1|g:0[7K{>w_ZŻ+j7ZIjl{|6K/?'
endstream
endobj
-389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 564 0 R ] /ToUnicode 563 0 R >>
+408 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 594 0 R ] /ToUnicode 593 0 R >>
endobj
-564 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 560 0 R /W 559 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+594 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 590 0 R /W 589 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-565 0 obj
+595 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 602.1 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] 171 [ 602.1 ] ]
endobj
-567 0 obj
+597 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xڛ$
endstream
endobj
-568 0 obj
+598 0 obj
<< /Filter /FlateDecode /Length 12999 >>
stream
x| \TU9{ f.32Y"[ B
@@ -2096,10 +2223,10 @@ ffR'(y)9yĴ"%PəZis&*X_L)|4*'Hc650k.32
nϔn/blv-ˤ[Uv2nVR+IeUHeuaR}o$.k#YmXUV`U\Ϫ*JUEr [ULeUVZJUVBlRT6OesU6Z4fopq]€QlʦlZ>ҴTV"e@eQ,OeSPir)Xi()IJIٱ$MD? Yv,XV]ʊdYBzÏ2,Q HJ,UzZnet9LRZKk~j]SٕX+JQ*94JS)la*KT]We)}Y2zɱ,[Jφz{ICFAkK^̫^28A98 JT6Pe%FޙRB6*sEDH.+CeLʜS;;TmWa}UGe* wPw&ICY¼^Q,#UfLf6;鶋I,B5,YØU]8lnf݋bi%ZTf&fz3T&2)1(ǾgB
endstream
endobj
-566 0 obj
-<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 568 0 R /CIDSet 567 0 R >>
+596 0 obj
+<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 598 0 R /CIDSet 597 0 R >>
endobj
-569 0 obj
+599 0 obj
<< /Filter /FlateDecode /Length 512 >>
stream
x}[k0+|oJ0
@@ -2107,22 +2234,22 @@ x}[k0+|oJ0
3(M@)h@DIĘDI{ e)%PBYe)%{&ЙAgbTgP@Ye3j㭻l6Vfepgw}_S.p-/87D
endstream
endobj
-388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 570 0 R ] /ToUnicode 569 0 R >>
+407 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 600 0 R ] /ToUnicode 599 0 R >>
endobj
-570 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 566 0 R /W 565 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+600 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 596 0 R /W 595 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-571 0 obj
+601 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-573 0 obj
+603 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xk`
endstream
endobj
-574 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
x{ xTչ{=3I& .3gd ( $@$7pS&I2d̄-
@@ -2178,10 +2305,10 @@ L/"hB_l
_Q UzEێ4Cێ*mk]#m[`ܺK6xX㹴kZM6ARҨ_*mPo3]K3Tzi&6F^MWeӕdR+rY4Zgg˵{5iٴ&V/W~Ze*<Ch-ϠK%gʹ4C.LK3Zb VEo_ysй[c-z~4yz;/Ξ#^Fg̔gЙhF\3zF^S-O/9
endstream
endobj
-572 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 574 0 R /CIDSet 573 0 R >>
+602 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 604 0 R /CIDSet 603 0 R >>
endobj
-575 0 obj
+605 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
@@ -2189,22 +2316,22 @@ xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
wXq==mRl
endstream
endobj
-387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 576 0 R ] /ToUnicode 575 0 R >>
+406 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 606 0 R ] /ToUnicode 605 0 R >>
endobj
-576 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 572 0 R /W 571 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+606 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 602 0 R /W 601 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-577 0 obj
+607 0 obj
[ 28 [ 603 ] 35 [ 544 ] ]
endobj
-579 0 obj
+609 0 obj
<< /Filter /FlateDecode /Length 13 >>
stream
xc``
endstream
endobj
-580 0 obj
+610 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 748 >>
stream
xmRmHq^򚽰͌޶QQ1tQQ~vݭJIQ,S|XbȾEDз>xB݊D0l!GMM݁:m:$csZPY+R
@@ -2214,10 +2341,10 @@ xmRmHq^򚽰͌޶QQ1tQQ~vݭJIQ,S|XbȾEDз>
BEt|.:CࠜHQѠ19 '41rR դP p驑ahz*2Aܺ>01J]{xuEݎ̴jphx<tԫ{ty{w<eR&/<Y QeuynJ1ƓetlTA-;aiM|Sj%7ͯ4veR & j#ǃ<n>.QٛϞS# G)SK_!l͡ȰRq dd</c^&i|2O'RD/K~}.
endstream
endobj
-578 0 obj
-<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 580 0 R /CIDSet 579 0 R >>
+608 0 obj
+<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 610 0 R /CIDSet 609 0 R >>
endobj
-581 0 obj
+611 0 obj
<< /Filter /FlateDecode /Length 365 >>
stream
x}R]k0}ϯ{(haRͮ ]?f˶W\@M$Ƈ%0 sܣ.xdL!Fa s
@@ -2225,37 +2352,37 @@ x}R]k0}ϯ{(haRͮ ]?f˶W\@M$Ƈ%0 sܣ.xdL!Fa s
۸gwݜ(s(}I3ynZ*MEתv./2m!ߍ
endstream
endobj
-378 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 582 0 R ] /ToUnicode 581 0 R >>
+398 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 612 0 R ] /ToUnicode 611 0 R >>
endobj
-582 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 578 0 R /W 577 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+612 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 608 0 R /W 607 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-583 0 obj
+613 0 obj
[607.3 ]
endobj
-584 0 obj
+614 0 obj
[758.1 ]
endobj
-585 0 obj
+615 0 obj
[892.9 ]
endobj
-586 0 obj
+616 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-587 0 obj
+617 0 obj
[777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 ]
endobj
-588 0 obj
+618 0 obj
[ 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-590 0 obj
+620 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
endstream
endobj
-591 0 obj
+621 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2073 >>
stream
xڍV TẄQ2UfUʪgE]+ѵV I$d G#s0E[z\ֳǰQQizZY︷gy{}w{qL&pZ 9֯gMl1d}9.fVW`0K)/HN!LDŽ$#wd Te#yj$=?
@@ -2276,94 +2403,98 @@ _`4Ҁp A]||pdnZDr|xcnWs!EATuA{}d
R`#w_#sµ9YXbЪ!܁#j9&V_Agʺ5o%)lH ϓlyMAX
endstream
endobj
-589 0 obj
-<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 591 0 R /CIDSet 590 0 R >>
+619 0 obj
+<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 621 0 R /CIDSet 620 0 R >>
endobj
-592 0 obj
+622 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
xڍAk0C =nK0I͚me4Iddn,a<oF{>qupqKz5hz[wlQlhA7
[bh8J(yFSti -2iT{HHkq 2F*<S gɬ'LKɬ%Xa,Ezq~nd|g/?7}!>us]q8_"
endstream
endobj
-290 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 593 0 R ] /ToUnicode 592 0 R >>
+300 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 623 0 R ] /ToUnicode 622 0 R >>
endobj
-593 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 589 0 R /W 588 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+623 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 619 0 R /W 618 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-594 0 obj
-[ 28 [ 525 ] 32 [ 525 ] 35 [ 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 ] 49 [ 525 525 ] 52 [ 525 525 525 525 525 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 525 ] 66 [ 525 ] 68 [ 525 ] 70 [ 525 525 525 525 525 525 525 525 ] 79 [ 525 525 525 525 525 525 525 525 ] 88 [ 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 525 ] 102 [ 525 ] 104 [ 525 525 525 525 525 525 525 525 525 ] 114 [ 525 525 525 ] 118 [ 525 ] 121 [ 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] ]
+624 0 obj
+[ 27 [ 525 525 ] 32 [ 525 ] 34 [ 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 ] 49 [ 525 525 ] 52 [ 525 525 525 525 525 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 ] 79 [ 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 114 [ 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] ]
endobj
-596 0 obj
+626 0 obj
<< /Filter /FlateDecode /Length 34 >>
stream
-xc``?}ˁ0q
+xc``?}
+`([
+
endstream
endobj
-597 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6014 >>
-stream
-xڽYpW^!`h] ?@޻m*$+;`[
-«m';uBpnVė/߹,䶠 2&7)`矒54[R+SS&:A wCfRsdNlIhuqYq "q0*YQ]qLS)$kܕېnNאZʒ
-
-:oF}̂dXL#OϨP y`#A =RZno5 eOA ?B.Aϝs,:sعKgMN/ʵ8!绍MM}" Y_b"#tjCʢ[H˘)Ҍ­ﰁq
-ߖs;r]Ex/؜?{ho kFd4쵠#7X1SC`Xo3Mw{}z\*3`.ÇBXQ l'hBaa!Ũ~ Au? *]&6j@幀`[~EٲL2͘nd4$2 G-x2̼=G#Z~*a H,@Xt{pC"8ȷE
-vo\sk{o\O=G۠h1M Y)eOLHt%N";͜,ڂyENM
-3~%vX X3e53:nS@7r*45,;`ʼn18tlna~p*n,>mk}4{ኋ/\;֓ m4`b鰬åyV `.Br"+
-vvk
-u]dB=L];gl*Պ!; 2XӸ`~ǸoWf@(^#
-d,.?°]YY`wcW,pt4јo4
-BcF^[!}|D?EBaw
-Bami2)=<̑X. ͌
-8>:hy3@[.H7hZ֩'ry@?3~}U>:!,LY%7En:ϗC|J| 3 lt
-,gyEELXt -ƨzTlˮ235|ez68yv1G{/1ݹ; Rw
-"3F("}~"vE0^A"$ؒ,) Ӆ9ky'Viӡ[F
-gPWG8Mw8/P2>}a!.P|jr?ev 6D#{a4;S/:rO£*͌Z3Wg<m_D^47@l՟=h*@@X(T31IШcM\~Oz`^#v(Xq̟^4ĮF!hgn⬐A0GّJY<mG'KzRK^@06_n^3 RdH.lw-|nAu<$򐤊
-Mk6`ij"*`l:V@pʂ,6HEWxy ɣqf*3U]}8;>+^-<5~l[[lK,`7IL1=zs]~].M_WvdvQ}l^NץkB$ڂڽ{*kˉEa1^#oF]%KϋTs3`5Z5ȉBWzEHzoz +S(BgChŏwfVemcۍfY:4![cߐ^"Qe>8H}NVv^$?Rp`ݴ%}1;:!2
->-@|s 1<W7}|6'k yIe`dVfkK!)9A/g7|{)p\XWoiNOъhu.
-v;r"LPf̲AAF]d`?m͏cmoNe):7Vl߱zw^lmLٗ^a_^-ŴHyE9 98pP^4#֬6\5|3yۑ },EUYK=K[
-XI!:T]bDq'"?c{JDD
-]ym^yA@_KBc[
-\;E/ɦE!ՑuuUy9 ˇ|^>J6,*2}KO/Vb~W6+?k΃&SVԺBРux>Kl5MyZWNFvwjw_9;1Vݚoʐ,;Xڲuꂵ˽YC!11QgUzxfUuUYJL]}u't%S)<Τ'OC
-IXTȦnn_ ,nk oڊTJC)CI]J/㗢[nIQڧS~^ۿecȵ='e9<?[2VT#[c,#vS^ ;r{ nd j(< #)>"RإX
-cIMq&F 5wv'#w<o
-G!r%h^]<aڍuCn{)iu=қꡁ69j~dXkk_nV,
-J$f֗yFRGo_HcZf,@ ](x+r*JSG2wˎ;?Er+ɲFhbsM9Ւn~Ԃx-Vھl$09
-K^5IS@{~ի`Wz{5 ֺtMcODZ![<Bj
+627 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6614 >>
+stream
+xڽztyF1Cѐ3
+ $f0B7EdEnH'`DG@
+M 9ޑds{Zolp̜svX@88`fk'rwLY'ׄx)Sk Y!/u0: D''M F5 ſ? >p7i
+XI" b XG|L'6Mfb Il'v/›!dODLD!'Pj"$.uBlDAxX@#(0lf^[zwCr4l
+ႂҗ,h
+Pb[Mw"0 Y"` zyE
+:@Е]0b}= .Μ<{̲=EVp,vyyX߾XF+TLTNm2XKɈ"}9SQYZ:Ga#2;>p *7
+4Gϧ1 ؑ3<Ԩ[gr{5[jv0a¹<d:篰.m=
+><m{+9TQ){봝;G@Aum~}ð5"mr./8^1ܨ !c((O@7ܫgu!<MXa7?4؍j:'yz?"~G
+.1% Ohalz8w#JVU1*YȊJ` ~Ia+;0h1h9Z(H.W,0!
+(uXNh%̻K/}78-/bҍFc`fcbXUx}< -Xw?'֟Jq,A1\ B5/;B!~6>w5g4(& i|A~\R4QюdDWU3
+PPC%i}7hF<K=}1 >
+nguu\ݏ,<JUXwtyx42yp
+[_|p\߼.7
+~VOX_N淗+d!O:X4ɡßK
+ԵrZ-תjkl~?[k 2q|R_.T&l۶MpM4cxs:v3#5< v 9wM[&l[ z Ʊmܷٛ 9 Y4u(2cʆ6+@/3mwhg!p'h`wf`o**PoX$\˅.{[t2_Ykl*;aT43ffIUxCZE|n`us{
+I xUM`WNί\Vqa`1%>i2 lL*Wӊ%Y\Qv>5[Gk?離ؚRS1<PVV̀]6ou'
+NӅ|
+kيNv.ћ\8T!Ƹ:qHʪi߈wqNFLO o}y=*.?1=p %yՒzMpq\ N"7/oHHJ%*(M$U
+~ݿu?zŇRq׈Zl]K$B5hyOwr *95 zjN3kZ(T՛+nQ6Y(V]D[,Kjec?/ƌD7cĝ$DQ f$zr[AVz :ƊmNrQL]5u^q{}D.;o<v8h>7pK5JTklKY'0RDCig5~&[H
+i0d%\Xa<:˽!nyKMٺ≛Wg^_3>n^pQ!X g+ VꢗY̞N*Gp}EdDYtM[V,POǿ^fGZ4. L-,bhx( #:U+;\U2niFbfk%'o%_rWE_17[7۹^.XWX)?!S& x"t@ ~c…=ť_ϰ:! ?fEDq d'QIh 쯮=f^;~p&r/?,~we0E0w8l^6IϨmYAim,kw9L Fszζ,^<_y<g7e9z}ɍjsQpFOZss %U
+{kg~ 6ΎXd`QLcNUk]
+lx7J>yN_K`끗C>6˯P
+'މ"kW*;$_:?k5X똡*c
+c‰tL׭Rm"%{Jw苰oP~VW !LO/܁lJ*fj˛^DN^9w]+0Kl+ϋ^X帣I'\ҩ,UQakhqI5J }0kC_A<{pgKhǴK1rsdӮx)ԃeU Z"h/n 'x{V| Yz vBW3UU
+|SJrVvHښ 1bf[I)IiRf"t";)ycCq[$!aVTтBhm'+-m~݃˶̨ӖF賊}^
+yDi::Ǥ4]RR B6
+]? noap ͑
+T^[Ry#ؖp`>n{p9D76?",1pֱc ?I _! sˊ]|[ )# 'o,g-ĢDN$e
+?r^2pxO1[P51 5||ƹ,TW4~lNj2fjWKQp
+ر{q lPXp$r@Hgh$&4S(n`A!ƻ~qp^8W#H..o4@#7q)ZTS@dqve^ˁ"a]iH5%1(e8ɴ]1I \>''FEnmAգ/3NoF\&
+%F
+4sldh4<'ZSfv̘NCVG
endstream
endobj
-595 0 obj
-<< /Type /FontDescriptor /FontName /WZILKB+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 597 0 R /CIDSet 596 0 R >>
+625 0 obj
+<< /Type /FontDescriptor /FontName /XMTOPM+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 627 0 R /CIDSet 626 0 R >>
endobj
-598 0 obj
-<< /Filter /FlateDecode /Length 672 >>
+628 0 obj
+<< /Filter /FlateDecode /Length 698 >>
stream
-x}_o0)J!%cT?AB+mU6-$E'J~ϥ*69'ν e!ػs[pΛnQ6֥.u=W{xeU2K\6_߫yM=
-|0rU"]d<!"Cfy}r`H*z_%lTqʪwq9͛K`<fC۹5׶melp[]97Q;9,
-&V=4:V>l/fr]AcA4aLm/v{]pWR'oAE28J"OQK@'1IOjR+6Qm):A h~%x
-<GO)))Lm
--В{
--Qԁ!RDЙ yGOSA5Gfwn҅wG
-xH]Cu['d-S&SNE$i#IOSB"BN2NЩSP+p&"p(Od(O"zǐ玬e}1=,n} ܶv"玛8s{^_V
+x}Ko0Ev/Z!$ABJUШ[H  ( >V1SU?|{α{}Ozob՗0lky]\oƔv콭l9_ڪrK[.U/ceK|5j~_?W/9^N6Nm՟\[dY8i,}N}rV.D6>TlI'{Q*z8͵yiu4\u}{ -M[#{/ѕl.Ms2^KNvΆ eVlaYr4]+LG\ɘk[`
+ MЁLA'-s(~9 @<Ś"j\Lx <p:8#<a A颻 e/ +V@"2 $!L2"JN"+S@" }*"xHPƒ4e$$e.(C2hpMMEJ ZcMA#՚9:(wE:VN8R
+tj"$ϩTs҂%*xD AB&GDn5%t5%ODZC^h<T)ᔔn:ǘ.aA'+.mf^aVY5w-֋Y;
endstream
endobj
-276 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WZILKB+LMMono9-Regular /DescendantFonts [ 599 0 R ] /ToUnicode 598 0 R >>
+292 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMTOPM+LMMono9-Regular /DescendantFonts [ 629 0 R ] /ToUnicode 628 0 R >>
endobj
-599 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WZILKB+LMMono9-Regular /FontDescriptor 595 0 R /W 594 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+629 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMTOPM+LMMono9-Regular /FontDescriptor 625 0 R /W 624 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-600 0 obj
+630 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 72 [ 513 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-602 0 obj
+632 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````Td`h`X
endstream
endobj
-603 0 obj
+633 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1806 >>
stream
x}U}P$g;]eb/D b4aR|qw;dOLViꘙiftZH%/h;I3ywٝw~Ǽ((W3שuyj;ٙ84VF)D Ox*D%"yq*c#v)'KG6nɾHcIEҐ'gPM&蜬fDdg1b7S;cFcm iYԾ,X(PuT]VRJ~j0Ҍb ,H5ZJ2Vi ՠ e=JJ|DuF̤(#MS&{**KT*Ju2"qK3
@@ -2378,33 +2509,33 @@ $`<H2MA9,1w1@l3 '@:)[wq!F _7 ^
d\vuy>c-
endstream
endobj
-601 0 obj
-<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 603 0 R /CIDSet 602 0 R >>
+631 0 obj
+<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 633 0 R /CIDSet 632 0 R >>
endobj
-604 0 obj
+634 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
xڍj@@&5 mbeifNҁ8#.PJysպa0Fua5u#=b0E.E{mĹdǎ[!$ދuQU)n"lKPѤC F$
nPJ͇'3UمCC8~r=H=Yeũi^BY4>I_hJ8M}kY!֍hOmIܞjqGgcS u)H|ig`x5!Uj[(B$t)4s4yZxzrtyZz:J|d(cCݥ~7]ڸ~s&$OBjnwmi$I
endstream
endobj
-275 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 605 0 R ] /ToUnicode 604 0 R >>
+285 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 635 0 R ] /ToUnicode 634 0 R >>
endobj
-605 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 601 0 R /W 600 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+635 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 631 0 R /W 630 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-606 0 obj
+636 0 obj
[ 28 [ 500 ] 43 [ 444 ] 50 [ 444 ] 52 [ 778 ] 72 [ 278 ] 96 [ 392 ] 109 [ 556 ] 112 [ 528 ] 251 [ 444 ] ]
endobj
-608 0 obj
+638 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc`````h

endstream
endobj
-609 0 obj
+639 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1371 >>
stream
xڵTmLSg-ZvһEޫC"J ȢAP"G+Rʕۖ
@@ -2416,10 +2547,10 @@ xڵTmLSg-ZvһEޫC"J ȢAP"G+Rʕۖ
1)D(.cF(]GH9){mł0~k:\TWTӰgz
endstream
endobj
-607 0 obj
-<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 609 0 R /CIDSet 608 0 R >>
+637 0 obj
+<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 639 0 R /CIDSet 638 0 R >>
endobj
-610 0 obj
+640 0 obj
<< /Filter /FlateDecode /Length 412 >>
stream
xڍ]K0+yQv:?tu]r6mRb|
@@ -2427,130 +2558,123 @@ xڍ]K0+yQv:?tu]r6mRb|
\0s$e5%`Sȝ"Ķ> I{*˾mkt]%YwnY536*3?CzNBLqڊB3-W. !>+Ir$s>x]z=]ބXiJ=]B16oЖM6km=-qfܪeߌ:Z-g
endstream
endobj
-259 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 611 0 R ] /ToUnicode 610 0 R >>
+269 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 641 0 R ] /ToUnicode 640 0 R >>
endobj
-611 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 607 0 R /W 606 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+641 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 637 0 R /W 636 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-612 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 ] 107 [ 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
+642 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 ] 107 [ 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
endobj
-614 0 obj
+644 0 obj
<< /Filter /FlateDecode /Length 38 >>
stream
-xc``N\BAh 40 n
+xc``N\BAh 40 n
endstream
endobj
-615 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4997 >>
-stream
-xY XSg>1J99qbhU.T*U]d $aFCv\P[k][tNg9ܹ
-/+RYyi4Kc~2/Or ;cv^^$9|…<^K\(7/5"K(yO΢7,n+[w,|uӺȭ1\^JMdD|?ǿ5K&9+)/#G~F "9d YE#(d3يlC#1d/GDD#H"Br ȑffe4y,@b<Rz7q.vmh?'S; A<IaL,|lcC̚|bکgBW~>1ܷ4>5#M %=jc졍UR (5LDͶBРUHG/La*9`FKo5Z-T{5@c!uTk
-* g%KB;74#0$N}T,n1P
- _5g
-`*2"h6\b./4ȚSp=23#҆5*JkK+6qXIZZw*olOO'
-XoJ=v`JxFf݁N6rNߎA!Ar&0&^nPEjF1NN}3W*Ԉl5rKcCi[i'yzjM~}B=_
- N;n^vC?s*0볳lvz ,%dsH?1lD{#XWMc})Q^vц@j__d`́Hw
-ӨNl9d (VSC9fN{è&975Z`r:Ij9Myuu;q׈Pwn>
-wnm{L&:s?q%Of$VwW T5ejҙFL.U]D\zHǁW4w
-~*ib2.)xc S S7U,V썖)$O
-,gY0b'"[g"%9Z1Hϐ
-jE$7 n3]0c>a4,
-<1\udW`?gB(O޸Jv IwjrI*6MzUA0OC.'~c5:]U
-_`1N]Ą)3*ՎKk0_#D 9 AU0Z/h[d~C ^UAΕfSg6:-ՔK3BXKX%fε}Rt:ʪ4:\!܍8dcvZ$O&#bK8uYէΤKdhYCCR.0yUD(<`:FUn6:mPI Z><,Eբ-,NHI2i^b<;<ʬ}sX$zvo-maϰse߱)5mW\Kuٶt vδ~>p?R!2Ia/
-߆/:A5g]*zРB=s\* dYGq[=WIj|ټ=n1>o'TAAi<݃7W&(ѨBɪhܘ
-wI}9 q*bɁùGuTkO@!BMi`*FZ!(*&Ȇ@]i)Aٿ+r
-;A>ajZ9
-?ڑ(x"tzƘ+槻 deG5U6
+645 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4771 >>
+stream
+xY XSg>OD؂izN\VV.T*U]d $$ bkTbg.3tipg i:s<<$$'[ <aX6LXk3olٞ*xnM{j.#'j6"&QdŝLn
+IK$zAXc?|c˼B|: a!o1ʚz/|ҥ EBKlen\jzN Mdpb[b[%Q>7:_Mefr3ܢ%/,&f |Qyry n 'fv$$r_r<\n.,\(+&_$L܉, ش.vkBlL/f
+S1oOm
+sÑ'y3H yyYB^E^C"둍HقlC# H"ه HGr<$"#mʹcS|Yldk`\!MOlvÔt /yb?zy3<YDۜ̚_O E pw+a7HZNȒf2FfM Zo}j!2fy6[s؎;*@W4RgɲrFP+QI2ER؈öޮn!$94 hO-B<GJHG$ȥo]e؄+Ձ589ZL Hssp:F?K/X~4Z`Éno ih
+T
+SoPp`655J3Z|=5{LiU.H+;=ҳ~sm愈 0
+F7~2ZMq༕9}-S1s@ (1ANai6ojem0aR/M|!}U|v.6IBF]N7L?A/54_l$<C~@–ԇF1'Wu}М_Kzd3 &^lv
+ؖG~wؗ]2\1bJpzmZ;M̧0uzh%}Nwh16D M
+ci֛˘{^k%X٦b|,]
+?4e
+pN:bs.<j^`#{lpф rgm{cwۗG\$%<巧Y<)MWl,~qD
+g'p8X];%/ (}: 4{,Y1f+u]dKPLL;t5۫n
+A8" f|~x\(DGFd2ykK5r.lM<Kert;Aޮ 6smuYP_
+,f<b*5+&fpF_U$#N2Sjs[K
+Y 6hz2[ea<@6PWQ`ti+ 1e6mBPڞm:rP~UIG?O~~뗭0k EYc,5vbiǀ٣֛ͪ2"9}?cE3`d1SoN_We8!5R6zޢ,lϿZ7-6/aq2SDPl4b:X=nkTXʠ>@ F0P߽c.3X9 # f8wVצ,
+qa~I3Y{aQƷ|ΨiT
+c|qr08e۫83e[[֥ TJL9gRht _Z"M"YZB~>1vURD7pQ˴j5hɹ!ԙ!GNÆy5U<@c"Cb`*SDKys7]& :lx %&ݷw˯x@-gbI–}P{{#v@W7cjf
endstream
endobj
-613 0 obj
-<< /Type /FontDescriptor /FontName /BZJCMG+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 615 0 R /CIDSet 614 0 R >>
+643 0 obj
+<< /Type /FontDescriptor /FontName /IXSCYM+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 645 0 R /CIDSet 644 0 R >>
endobj
-616 0 obj
-<< /Filter /FlateDecode /Length 552 >>
+646 0 obj
+<< /Filter /FlateDecode /Length 541 >>
stream
-x}]@ u֍!Qn4M- ߙ94&ޯ3'2wW9
-d'ڕMEL&BoBphJ>܋L|jxRɹ,/W.Ƭ'Ź)zOw[~P\ҥP DA6?DW|%R'MO;3FݧJJ%G-aU9X2e[?:Y.l݌'gqUL4m/B!ԉcIV 3}h5Ysx }[+Y8Ke2S:*a;Pt#V(Pb(y>!3A) 1 @b"P=#bhN y
+x}]0+s1im;Rpj T˚D` &9сa]Aurxɏ^#%9K?{:o2YH5I)Fgѷ|+G2uA'B^"J1st'?s~nڦRXjSSǓ"Qr'Jl_V=H)r%1'SIfW݇ZI%{#c5_hL2)աK20B::g{4zҔyЭGoU#_h=^UtVȡ+uR@S,'UP'\o!M#Q:gR
+BP
+ eV'PZasA: !a^= \:q <1!q
endstream
endobj
-245 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BZJCMG+LMRoman10-Italic /DescendantFonts [ 617 0 R ] /ToUnicode 616 0 R >>
+259 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IXSCYM+LMRoman10-Italic /DescendantFonts [ 647 0 R ] /ToUnicode 646 0 R >>
endobj
-617 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BZJCMG+LMRoman10-Italic /FontDescriptor 613 0 R /W 612 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+647 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IXSCYM+LMRoman10-Italic /FontDescriptor 643 0 R /W 642 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-618 0 obj
-[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 46 [ 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 63 [ 639 383 436 319 ] 71 [ 692 319 ] 74 [ 1092 958 900 639 575 ] 81 [ 575 575 786 639 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 122 [ 671 ] 168 [ 559 ] 251 [ 527 ] 319 [ 639 639 ] 499 [ 571 571 ] 502 [ 319 ] ]
+648 0 obj
+[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 63 [ 639 383 436 319 ] 71 [ 692 319 ] 74 [ 1092 958 900 639 575 ] 81 [ 575 575 786 639 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 121 [ 575 671 ] 125 [ 639 ] 168 [ 559 ] 251 [ 527 ] 319 [ 639 639 ] 499 [ 571 571 ] 502 [ 319 ] 589 [ 639 ] ]
endobj
-620 0 obj
-<< /Filter /FlateDecode /Length 39 >>
+650 0 obj
+<< /Filter /FlateDecode /Length 41 >>
stream
-xc``6.p_7~)0@ @iF2
+xc``6/p_7~0@ @iF2B0Y
endstream
endobj
-621 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6436 >>
-stream
-xڵy XGv0ӣ(͠NcB\b4"*( (" 0움,"("Jݘ&&ѫ%13k@M{ϝz[=ܜH$vK-_6}%+Cw=.Ȃ)qDhk,.Z$2w{%Af,FfѦ,Pt?JBQ,ɰ2_N9yya[E&LhPMR-UZ4Idjih,U564D}*tjU*:20"R%"4:,r$ժЈ` PEW{R- R-޺)0$2PREf:;GEoy3鼽S9˖rZK=ORmPFm9on@!Q[)a){j$5M9Pxj5rޢ&SS; j&.5rRn;ZD}H-PKJʃZEyQ멍/GST DmQvjFST$EP T=%s$$nF|\)WFSHK7!3W33̱tCLyt:<e`9²wwJY`}pA `23l)* =Фχ)g+d/apЪ b%f'qATZNF lhfZ|: =?K5ڴ9l g0/h2*Qf
-{ tٞ=rrZ~Y<F8u0;?}ϰ`|J;5V"PEސQX -O(awTj $^ *66+M?H3ot(N6ps67%7˵(\ )Hi5r؈SfշsEy奆|THEx[ks؟^bpQ1Au]4L,s27lg!f%Lc[R]* /mи.\ZM&5X6#& |;}[qܘ865.R#wLQ(|s=vI
-9}?}jVz(/ԂB|
-Nˬ;b醄T@LǖK~>Y#P|}vXL5g4j:CVO*OӸKO,YX,a?`HhQ6Ѻͦl .o`G1+Jwx.)[>΋<γ@TՖ̪T(+8
-4a?MIV/dH{q8u
-Aq=nd xb6;Xs_?eR;߃;q&|I}CHlgLKB 'v$iOQЭkn#ÍG?L[W3WakVHPk 歺(lȊF4Dyѽ)ex"4=* p[67w<
-
-aiiunزdA# ;nJܫiafl>fb*ٙ8ةǬ ^zv3BAs} ygO:_4񼜟JNeTյ׳?  2VέUr{|Le
- sךWr 0?քono޸r[
-z>Tp].|+YZ~HyA^\U@t+ǭ<y橎Jϑ8lfF^O  ̺*L
-#'lH(/`jNЏ
-^Fp^ ՠpݼF~&@!@}fbȖcaK9W4-"m3/Lg@ ) .A<.Qm;XB101(@=d
-m
-hj OfECz)wAZ&Vi7b Znt@@urFB7&'FNY7K3W $kċH(я=u@2dfxLD 8V5{pX'UQ4#L^1z}cH
-e#-c92#"h+>χj(hy"ejc 3<4Xj]iQ;˨2єՋ/_[{Ż}>̫}˚>܏@v yh6v#9^'ҡ^Dڋr! ȅ!$+ M06~kzݥfFUu|֠V{FARƫX7İ8?P\sGT'e>TPË_~# 2BHp0#<Wzs&n0EPy &k)~cgb%~v&!Z M.O$nXoɪS~r%](L ϔlxZUIf'U!DJx:~e wwawOöES cd!#U]#;hzeo>5§$$@"IH(Du(=[hzW\{J1Osv=7k}vSNf݁bz
-Y蟐TAxy
-a> <ȿ<v{' ]`<3DSph඗&UzY6Gznhz|]J3nꠎ),eG_h7:S %ko(rv)e?p3H&g8MROBX O{ΒvyXFɘ#NXi['/} )61[K]< _
->>k-$~W#'le~}J.KH+JumUoN^Ls=Hz#'lRK |csS~]E^ǂ8N38,'5{)!9Pv3V\*+N_3QHi:OdG__8ooj#!ŷC;$>ω]pxLtSǡ/rVl_Ef#]a.IS܆
-?oE}uAy?\[#ߝX\`<ƥqzF"MuZQuvJ}֌K }J0Xi nF!s&N*EGlS~.>8wv|sޢ"AyG竖U9\[ffP\
-P9\ǖ0 {O72'+ij-a;[kB[[ֵ\d3Y/_G^c (ylp@sքq;
-% >-y\)HNHQ :q"TM` Y5H
-ohFMD4Q =MI5
-ŲB
-[-6w~# G0\ d gBgV]?wOyc%RỾ a-j_]i7o`?ܖCFixNu)DR
-iH6&z`Amm9M neɃI`D@*%.8#Vǔb)h9mlꇻ+bGQDZr~*<T=KbӒOV}#lno}KQ3{uAyIHtq~_-
-&}קO\_ꓱoKŒuN!g9EJt`/˴{9'xPX`巤Kz@4+af/.(y3<֞7ZvѪ?}nvrT<F#Hēf R."D#{i2Rx,F@ ÃXF?a^4ƪBf(-7+f^{(3{sC/n 6p 2n!8Rص7H9D A=~/!?$ҝ)lmvaY.n'xysSn!8,
-]M-$0m>v# &
-jV#qAYL+2/Uk)3M}YxY8KL0/g4!my<q7a4<2sKr/t#L}v83ECqIdD93נPhE&^x(7;]' ,|^L/ "5Y c},ҫtŨ[ofO:>
-M M#Wj|YnNvNxWW.ȍYYJiJ7x .+ 5LE[XWtlZNͯ.gyBua.,y8@JȱzDI x"ꛗ剟)n>g{}'+wql>Ut<SMW䗂[Pz|MkY^Y Emz~F]$./ UE2nѪ@a
+651 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6693 >>
+stream
+xڵZ XǶfzTi7h4"qWQA@A}aXfaAAQZܷFMsԀAtWW
+ enNI$ŋ[:f![}qrp kz2OTC'!%f9aav¼+,7|tEI5RF~b醍݋PvK@[/?i⬐иMNNƚST.T |6D|}U ƩS- !wU#CU|BU+UQ~M!QƩVFbBƒT3oO**/\৚ujnHpjQF?J
+ i\H&G&qKOG{s.YYs WEnko}##(Ra[pjeOP8ʑzOMޥ&SQS ʙIPj!ZL-S+(Wj%N(oʇ@R~T
+©*xj;UKa ɯz-6#DfSM fNP "נ^̜N54?#}OZ*e˞{ǡO@>
+K3w&XZ}non_nLa&2m Fqng <:h"Dv9h!VC9p5ߪ 0BH:?F8S*Q'x6$#5.dž m 6C3H{h4+*dXƶ<@߂4 VMVF=|Axv+Q"ĀD?}Z2&x58/L77ZV21/BJqނ<v<Z0P0䘑<O|
+skO%<T,OAQx;k>sxEo"oɷSQ21;H}޸><3؟ƶ0U}2si_ٴи&\2M&5[:%:t|'usܘR86ԭ&By"Q0%fIqF=u
+*;P<zRV ì3b )(LT-`Ojl*tz,P?L%k4Cf O'ʏKRI-_>ř>'dR5d4-uM"_߁b8VlGqz]b:(l];yg؁L-晕qt)QvssL7X= } S<3IrNq[7;^hRd[t\jɅy;~<gRaw Y9Vx4(ZM͒M&$歛m Ga9|{޼q=aUH` M8@6aS;^yWiCHt9Iw&xwcaGGwWki$̞ +g
+卣TM3V(c϶WVZB 6dF`
+& kr7St0?gE^+f*%Pw@/N7k9<t[~Hos[0꫘mŨo>ְ!3F#@pS
+S>Xʍp?AQtiya"<ZhE~uv6r XwCl;V`0 o؜/(0X
+}Gi<8H-`aw &i(CGpx3vAnGm<>Bǡ̬\TA+MxcEg}x\cfVI S{][&>LiKqMLl&9$Oz.;$ZOH]J=Kml)ӝ7# $z9X-*ACzM>)Z0!*cQo$ b'M>ߔ`X˭O<2`5xp̋к al *'m0MZm 3
+egiq*3C15Eq>3Y<|9vmC4 Yk[DK"ig9ؗziYu)Æy"C:n*WdЈj}CߟP+,4u^WSSs7*֣8\tt4=.K&U[mop p[VR~<0+oBz7El'̅"UcܗEqz^<8`~4Hw\:P=U\Jd剤Ι'xύ&D{;o<YQȸ𸌸PSζ?EVS Nd8a+j Xdnvh2(e^)ڈxpÀnʝypb+ȴ^Xֲ^#я\nݦMɉ@
+ot|'wZ3>N\~Qο'Njt\<P_vu\Hj$}rau>dI0*
+BnwrVkG)F]
+{{XOOїrK6J2:QLz\%
+P:>Ó{NoA{x} 9l[0 9<T:-D+).t}$!o_֡nQ4KVzڰ<Uy_)_[u!BG"&p0kx*5uȒD6#M$SshA)汃lC6t
+/29wP eqQqQ1|fH3(TȾʵGGs.ZVp
+Qf.&7~56G%$ (@5&QhYE[N}#9^~@YoJ ݪ
+in]tP<O:!|qWL4sTn[=Y? g{D
+o&B$M0\SFp1) 5jg2Dۑr%]~PghK,; ҄,nwmSa#{}\ysfH.FG3iLSeZWLDyG8'#'wO,i<K֒:i'q"сoB,=KA@a l_Ӛќg%I~ںhws|>?=NDX)M'RhmAR#7orGupH^YMEHc96bj22 ,EŨ-+0V0DiINVejyMqt'+Hv64lnM[-FM$WEZ;w9zc"6Ӑ1OS"ݖ\Vg"K۟on2댃2wURݓ<f桰a0ރBV};ƄB~^jZ~2/=C@i>>myb "e 7 2A6by8t羲,g/.M/쬼lk|S09AXa`dR9GjQ>kM˛5:-g oƢ,lnL/<%I bh} ܭuŨougO:L#LBH?#p nֽ"/_ i< GeQ;SI. ]Fd-y MJEx
+gl@v[ch<[ϐb{7}W[XkB7*}kV{~x/i<u c[Ѱ:ّ?;b,96⤤H6(d˖Jui
+cJkc[׽[f`*B"8l1w]hq Ql7 _}pzg;n 49\Lﭞ9\%Q0kN8Orr
+ypxcXjE.Kkw,<Gn԰T&Ăsf&̐s4y\,';+;{k̬,%v?'n1+%8rMh mrIMFӕe,c1WY.Hݎ%b܃H%vBk2(9QxUu3oNU*w(4|ʨxy6C}RAe_hM1 Z|o6Kjq;<L,Od-F (]?x٨ eP-XѢ7+YFe=pB9TSh,4ZXO =
endstream
endobj
-619 0 obj
-<< /Type /FontDescriptor /FontName /MJPOAG+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 621 0 R /CIDSet 620 0 R >>
+649 0 obj
+<< /Type /FontDescriptor /FontName /MMPGKS+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 651 0 R /CIDSet 650 0 R >>
endobj
-622 0 obj
-<< /Filter /FlateDecode /Length 632 >>
+652 0 obj
+<< /Filter /FlateDecode /Length 652 >>
stream
-x}K0Ydp^0BH<+2 @Ui$p$,}nB݇UtrMys*e~j~h;e-V)ۼ2ti? tX{s+GpZ^TݘC^lژ5(;^9QsaTM&Y"ojCrו9h;[lMt]OvoUu x̔>ۉm6ǫfբ?Ok^i{`6/ncl@Oc WtϱvES;i44$@qZ JP#J=e3$ &%AO-PKAK@IZA/
-uADz4 !tF(dPKX\2I"x1guI {+ZI ;&' 39  :㈐DBKBzH"Î $!AAA3KrFDI`$%ADy Ǚ-n#:#:SiyJAs
-/YUVn'{m_u
+x}]0+s1JAȮ36qii~GEVDU&mt[]BվzyU\tZ+ngҔ݋u^tQiJpquXms{pZT]̮NnS)~-+΢WιaaԬ:M4!$QTYtD8&yiU0ۮz/Q)?Uh=>i`<fJmbۛY;RYk]w֚Ş#-*z_fot0 c6ghsD@pWțo\hjqFcO3OǰŠ6S6 Or
+9h, SLYLA9<AI[2AeZRAO IDZP!Pl"eD|) "GY.@ BTP] TO0 }8D#gp 8$B 'P!Apu " e&& $)CuIʈNE?% tINo?~A'[ "Eto&]Dtoiݓ Yb>-랽^S\.q4vQϯw
endstream
endobj
-244 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MJPOAG+LMRoman10-Bold /DescendantFonts [ 623 0 R ] /ToUnicode 622 0 R >>
+251 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMPGKS+LMRoman10-Bold /DescendantFonts [ 653 0 R ] /ToUnicode 652 0 R >>
endobj
-623 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MJPOAG+LMRoman10-Bold /FontDescriptor 619 0 R /W 618 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+653 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMPGKS+LMRoman10-Bold /FontDescriptor 649 0 R /W 648 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-624 0 obj
+654 0 obj
[ 89 [ 1161 ] ]
endobj
-626 0 obj
+656 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`
endstream
endobj
-627 0 obj
+657 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧwso#A@cq1_9[8/ۊy1f721y I !M}"쎍>cg!|~r#A qT4XzUs`*: -AVY]A1UJ0/A5 KTS
@@ -2558,31 +2682,31 @@ xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧ
"4ljPXn64U/ZԠMUh*(X( 3Դ)$
endstream
endobj
-625 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 627 0 R /CIDSet 626 0 R >>
+655 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 657 0 R /CIDSet 656 0 R >>
endobj
-628 0 obj
+658 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
x}Qk0)n;"ڮCXa&gD> /d}޹:`Z쳊L&[es@^V L76s,Yr\5ބ|Z`Żg}UfrU=jSR cgԵPrRj6>$ߨ6V  5ȽYi&dO]`\0?1bΈ7é- PE17u\YۮcnTt?ҮBX8QXWCдO#wJG}5Cc>Aa?uouܾhg!Z8!1JU6-w.հqG~:T
endstream
endobj
-243 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 629 0 R ] /ToUnicode 628 0 R >>
+250 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 659 0 R ] /ToUnicode 658 0 R >>
endobj
-629 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 625 0 R /W 624 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+659 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 655 0 R /W 654 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-630 0 obj
+660 0 obj
[ 28 [ 531 ] 31 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 ] 43 [ 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 531 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 531 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] 338 [ 531 ] ]
endobj
-632 0 obj
+662 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``i}mr` 
endstream
endobj
-633 0 obj
+663 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5615 >>
stream
xڝY Xڞ2cT2LBV,.E\ZIH ; `QPܰ^k5hZxk{c!h譽O™9;9}@IVz(fo)TU T)#XF N${Qy B`}
@@ -2606,10 +2730,10 @@ AŀhY7l=
3K9V^G Uw/17o9WHmG|mŋ65$Ayar{Y
endstream
endobj
-631 0 obj
-<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 633 0 R /CIDSet 632 0 R >>
+661 0 obj
+<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 663 0 R /CIDSet 662 0 R >>
endobj
-634 0 obj
+664 0 obj
<< /Filter /FlateDecode /Length 643 >>
stream
x}n0 $zĉM+rJ[68.xuOZi.9}3vfcU}!اn-uM0-zѦ{Zi5Xgar;6^lSuycUӋ>Uۥ{+ܼm֦t=6}՝3FԶj(+o &&2';A0U)Y^ܜݭecu0\y`n9}D粻6Y8,
@@ -2622,22 +2746,22 @@ x}n0 $zĉM+rJ[68.xuOZi.9}3vfcU}!اn-u
$yryrbpCzCzz
endstream
endobj
-231 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 635 0 R ] /ToUnicode 634 0 R >>
+239 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 665 0 R ] /ToUnicode 664 0 R >>
endobj
-635 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 631 0 R /W 630 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+665 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 661 0 R /W 660 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-636 0 obj
+666 0 obj
[ 28 [ 549 ] 35 [ 494 ] 43 [ 494 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 63 [ 549 384 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-638 0 obj
+668 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T\ !
endstream
endobj
-639 0 obj
+669 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2457 >>
stream
xڭW PgԪCwm=ԶwZ@-t @BB $H@B?BLQJS=؛f:ε3zvڞsw|||1%K Ю3Sv/⊟ޔ)V
@@ -2649,10 +2773,10 @@ tqkj{lG`X6&,]JXA
m fր/*TV"ҶPhG=pslΎF{*v݄U:t* --j:&. 6%oNV
endstream
endobj
-637 0 obj
-<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 639 0 R /CIDSet 638 0 R >>
+667 0 obj
+<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 669 0 R /CIDSet 668 0 R >>
endobj
-640 0 obj
+670 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
x}j0~
@@ -2661,22 +2785,22 @@ uHe' 'b8ni#%#ˋ}%B9f~{
s~RH9ELqښ -bk")fV0C+l!Jgi( eHK ii!#esOS)[#bki4S$ ;zrtmyB3쐣<Ԝ8#?7Nw.7Z۝!|uYsCm/
endstream
endobj
-230 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 641 0 R ] /ToUnicode 640 0 R >>
+238 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 671 0 R ] /ToUnicode 670 0 R >>
endobj
-641 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 637 0 R /W 636 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+671 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 667 0 R /W 666 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-642 0 obj
+672 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 ] 55 [ 325 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] ]
endobj
-644 0 obj
+674 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``PdTa
endstream
endobj
-645 0 obj
+675 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1660 >>
stream
xmUqPWKX HpUJK bT B"k $HPԀk)6<DE:C@cB&gozS[mw~}<ň %9yt9F+51+O^ ~3aJijb@":!1_cemBϋa$Vx%y20 YtS YWS9*j2]ِ]flcqY-nbluxU ﰳŜh+e{rqN[tTUVzN++<38[e7qNm lfuDuqkv+~*S;eI+ɕK5$6-TwR5qnR粒N-(68AˆA?G hҠQB&^D
@@ -2688,10 +2812,10 @@ Y%p9.!iǁIc6J-I
^V\kȿP,a֓ gZ%:";飘l-I+yX+MBCFDrCV?<
endstream
endobj
-643 0 obj
-<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 645 0 R /CIDSet 644 0 R >>
+673 0 obj
+<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 675 0 R /CIDSet 674 0 R >>
endobj
-646 0 obj
+676 0 obj
<< /Filter /FlateDecode /Length 448 >>
stream
x}n0~
@@ -2702,22 +2826,22 @@ QWbO k{H >柙c3V>A0{d
E-XeRByHOH)REZxgi@ʑk5SE{J!Ӷ4JipF~&n\|l;3Rjt8oP
endstream
endobj
-229 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 647 0 R ] /ToUnicode 646 0 R >>
+237 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 677 0 R ] /ToUnicode 676 0 R >>
endobj
-647 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 643 0 R /W 642 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+677 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 673 0 R /W 672 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-648 0 obj
+678 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 55 [ 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 71 [ 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 826 561 ] 96 [ 414 ] 98 [ 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 ] 121 [ 531 620 885 ] 125 [ 590 ] 167 [ 796 531 ] 207 [ 472 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
endobj
-650 0 obj
+680 0 obj
<< /Filter /FlateDecode /Length 49 >>
stream
xc``0/r߿*a
endstream
endobj
-651 0 obj
+681 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7215 >>
stream
xz \WL*0})ںU^.( @@vInaw!".ZV[Zkkg Xk[/Νs}9sGJ"_ru _Z
@@ -2749,224 +2873,230 @@ Uxx*}/
qvfWED6L֗zuK>icc3C .
endstream
endobj
-649 0 obj
-<< /Type /FontDescriptor /FontName /HSGCYI+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 651 0 R /CIDSet 650 0 R >>
+679 0 obj
+<< /Type /FontDescriptor /FontName /HSGCYI+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 681 0 R /CIDSet 680 0 R >>
endobj
-652 0 obj
+682 0 obj
<< /Filter /FlateDecode /Length 698 >>
stream
x}Mo0 ڡ@wp#Cj [M1lGV2l!~^&u)%E0W7ato:o8{cwjU\]xfzԺ:޳硫7zbz6:M?6o޵aׯGu%=t܆/zwWCݭv[;2keX]cۙ{&n80M\c0#lvֽmM3T"bM[OD>V˛8l`>g3UfOC{0,[:h6skmG}xz5< F}U2;mKY49nmJΦW5@biqܓEl((-!$B8<CO%@-!$B`[D1IN"B1I (P;)#J@6&P&H $-DYR3I1P (DPR^(E}6
endstream
endobj
-228 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGCYI+LMRoman8-Regular /DescendantFonts [ 653 0 R ] /ToUnicode 652 0 R >>
+236 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGCYI+LMRoman8-Regular /DescendantFonts [ 683 0 R ] /ToUnicode 682 0 R >>
endobj
-653 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGCYI+LMRoman8-Regular /FontDescriptor 649 0 R /W 648 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+683 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGCYI+LMRoman8-Regular /FontDescriptor 679 0 R /W 678 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-654 0 obj
-[ 82 [ 611 ] 101 [ 611 ] 187 [ 611 ] ]
+684 0 obj
+[ 82 [ 611 ] 100 [ 611 ] 187 [ 611 ] ]
endobj
-656 0 obj
+686 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
-xc`8A
+xc`8A
endstream
endobj
-657 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 869 >>
+687 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 801 >>
stream
-xumhenڝ\Yrݻ:&)诚JkMrm.MfL6Jݝm&s1,uPVt J8! p^>?of qˠdB'l#0|֫$aZ+Q4ڤ1t0,C.>$ 4L+Dְ 1 ֊foŸG]]{YDpXg
-v0QDs `"/>&  G %;p8Da
+xuRKlkG(`Ɗ`6-G6k8t~י^W3ӦE(5B]Wwtg2Nĸ1,;|0EQݵPdc{}(Q"fF@),#.]m^Ԟl/
+ ]][t+j$қm4`2S*jO{vw3|$a{[ۮ;<0l><䁽8g#p+
+ AG`\@
+ob~
+sR4s=NoFJRv4(8:s[ϐΒ Gr^Qo|ⶬȣ2!+ESc%OG1
endstream
endobj
-655 0 obj
-<< /Type /FontDescriptor /FontName /KBVBIM+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 657 0 R /CIDSet 656 0 R >>
+685 0 obj
+<< /Type /FontDescriptor /FontName /BTJJIE+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 687 0 R /CIDSet 686 0 R >>
endobj
-658 0 obj
+688 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
-x}R]k0}ϯ{(hiEٮ [?hK٫M.P$:Axι/ɘkjbUd0X*֖( "G޳vZ60\Tfdĩdc[`!Cb_GrJҵޫ23oE{ɴG(Q/\Z(9`L)5%_NX>w.$׷pI!dY5ue*sE|Yԍ#o5G-d'Vm$cnJmܰ>sVA)u1ԙ,Df 4hexڹy δ3 MJ'AllڡCIbPqWyl7pLB
+x}R]k0}ϯ{(hXZ{ɵ D>/NP<s=suBo4pJ57d%5zȑwl5V5"q"٥ة,Cb@?/oTɱwssɴG+Ũa 'J(9`H)5Ua'K ~;[T8$ Vߐ{¬ʚת""Q,Z_]w 'ؔm$cnJm'ܰ>Ó^K ǪLDf 4hexںNy {u δ:آk&fa0c݇cf2]PҺN,ڭc
endstream
endobj
-227 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KBVBIM+LMRoman6-Regular /DescendantFonts [ 659 0 R ] /ToUnicode 658 0 R >>
+235 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTJJIE+LMRoman6-Regular /DescendantFonts [ 689 0 R ] /ToUnicode 688 0 R >>
endobj
-659 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KBVBIM+LMRoman6-Regular /FontDescriptor 655 0 R /W 654 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+689 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTJJIE+LMRoman6-Regular /FontDescriptor 685 0 R /W 684 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-660 0 obj
+690 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-661 0 obj
+691 0 obj
[388.9 388.9 0 777.8 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 777.8 ]
endobj
-662 0 obj
-[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 525 525 ] 109 [ 525 ] 111 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] 246 [ 525 ] ]
+692 0 obj
+[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 ] 98 [ 525 ] 102 [ 525 525 525 525 ] 109 [ 525 ] 111 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] 246 [ 525 ] ]
endobj
-664 0 obj
+694 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
-xc``(p5Ol.T
+xc``(p5Ol.T
endstream
endobj
-665 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4121 >>
-stream
-xڽXyTS׺?NDEz9XjEkjXlhf d$d"sBF  qP[UĶvx}v|{{n;}wI>~vXHj*b޸clWZ,[TPU^)KOESh2ZYW)G+}
-|2=e4=^+zHOO%}6a!w#s_XSXi,o?e֊e"+~0y6/Vs [[Rf_-Tp%\nXF@7\ȕ\]y\qu1OvnW/<e\㖉D5O,_.fK9U㓄˓mܶ5w 6lݱ!KT'bJ/./8XPl1]̫dsA!d)yYBD O#klyd A^Dr.d/C H)R#>R s
-;s-F'#ĬSSVNiNYVnԹSL&64=czt3V86}xfe<;dY`K)10h(uDICK.y
-+Wisn>"تjMj*lA"P0FW)w+:oA]D) "޻CQS] \V)CN~}Uڝn<1&R誗9cl<<P bU'_wF%%@ؤ[;Ř.X}'jsYqly(|xX6;zdFC$Xc
-_ FVCB~[ŖFAw)tNUޠ7MLZSpjg߿j >RoXM*<WA qHDg^|50Dcql!f3<L& < `(
-Lcn!Br!~QTm|
-pye'v,lԈUM |O/Bt8_2|S>8QDf|*R
-8 k<:
-i}e"n-@E XmDN/Ag"'a6fq4y;jL:#KQS)zkM'Ѿ-; z>;2̆oPIIYL4
-w g#}yu4ȍ:lOn+h槴aJ^_TyW(maO:fs3\"VsH{;ޠc(܆4ZLQeK]Ceo4|aNW]P\#H7ica Zi"$aIY=wNlgQ Ԝi`!V rfz|~*º$MJl72a**ޫy&xK8Ƥi 0dgqN@뫷Fj:<alShawj"l;*Ns݀3YC)ʢ!Ր V
-oi+
-tEil_oD$`e2xLvЇ@&rgBMo`H>QWEX*K&ex/~XVSee<΅ \llakE%YjLVt[|47GS$
-N#6-5-iuL]X}1C*,v% $1G/L`;w+ iQMJRa<6_oF6h0f@K' ,ecLg%دPw?%7[V045kvrFF|,/XD anc6
-sDaz.gKӘ}8' v^ƥR4U9'VapjSVkcJm
-rbFZM50g\
-`蓨#@XHSH
-va*Lc̼Hu&ILr?IIgܓ =±7Rw,-e1c?1AڝcuJ331Ĩ=9I8V¢B} } ܍5b,uB̪f-g'[Υ!UE,_* MU"6cI4d
-Qᮾ#pQ4:&l}nD
-- 8,l!vxK=X'&BG(/^on`=Fo[,x̾ژITi 5<^YY.#J ո*Ԑv?OQ}i)~?K<e$Q`]gupsآJGJ@͚2jwPpϸ>j' 2h%
-21r
-Y&LG
-P1Hk7
-w[N5 }Mz|6\aOp`(LN:`7w44h:,Yܛ-X92o9EmjW@FTe&:-0o*
+695 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4172 >>
+stream
+xڽXyTWEE),UF4f,=٥WznhAF(юY$f>2Iη"ϜjPaI9S}N/{u,$) aXwܲgM˟۾_pՊ Q^EiAV=J!}&h2&YRXW3%>8tCG>͂އ ;l@|_R"  J`%f8V=_%Wzc my|WYݖݞKR~%7WWQqy{b!O  *tnvI+ ʹ̧W
+B+*qޕ¯q+-U
+y+\!-_R$.N W1s++&& W׭ز#3{s7gڜ.qn!OWZ!L'o U/2
+yR a|dY,C#+ dy@E#;,y$ٍA#!H RFH"B$?k)4$DZN'NhJ\fҺ+^y*L.>4#uFgy$%%eCMT~M-#?%<{T} \@D8X7tMZ(%ť Ny
+Ve7y/o8
+U'R :DBaHy%%FLH ypP*1c
+coYj0u1l_qd*10;~H_OpF[ܺ_Cg&x<ӤU*Ū%N-
+=ʜ!;W_COz×o|=Z؎n /# Fh4(1Qsm{WG˱9GѴ_Gq@"kJ2#q<%4B.$_atO!OB^WOYkIbs3 [U"qų_SC`х/3n$ҖJ
+Tkn!4P6{^d2ߌ69nCQYc ȫŸ5QVo/v><0}w@Q'$Cp
+5*(ng;Yk Xx ޡ*#:-9֛sr42 mBe$vrW&>븈[!졣>iN' >
+^uƨi0ka>jPtRlP뿎}D7~UW;iAkf/iR ^gwPlzT${c=jzlUgXkIo'l߃h
+:.IB7č4XzhzA{(
+2iL#L=a:mxkZw[ph9v46ߝwjNfZTcbDGQ2kqF%d+HyOԡvL\&zʨ E[?)[A0dS({s&NBf )$b\orz|t9cogȊ!yQ/Ⱥ
+. p4- ^KV`4kͰo*ͯy;껔Rxiի)Ƀ3y^fK'5W+Q)KڑH8%f7j':ʼn5CRN1/{vc [UJ P^<;.B٪&0qHjډ3^?H
+28mv=ܬ {p&A2}dLs0*^ѫgAwѹ=_[X QNwl=7m7uzJKl]m䛓kZS9"Ă'@,;;&P+k1A7t/gD9V%'W+ȚrŞZn{#Z 0 9Z<^`9;a8c,~-}8@.Wlz3%c!Fk.?X_ @\pu.|fó;;7v]0#&3d+8\ Nv_ĥjB0Y`pZ wB0G:^,1#F&j5!w})v,ʥz9waLfHv%)FrJ)9gܓ =±lnTu.f-e6a?f2@
+31wv[|'\w3 >ϱ,6. uEEp/jbRր]v7Ȭ
+HhFyu|˹)A<8,pq
+ڜ`cp7jԗ[a5LVS>><w4{,n%V [ښӷU1L,o5p<E cQ6R3ի58qpa<QcuDBD!# jV(/5J\MH '/Ѽmve#NFzNn)^?OK[fLW77gTFOcϡ.لXc?IlQ=U%&uxomt9(gBV`NeTZw920^I57Шiܼ\\.qv;ȷAz}"m'W`a-rRWb:H)؏=6@jP=4:U+DzBjwqqf:n%_יCp=*ÅOHoI0dۇ+.HχI^v_N\ utq]RZ7nAl~_B):tKIsy%$ͣ?vR$|l[ j?BqLPM }K:ȲiiEJ3w5S Z6o9Q(x`4:782Yv5aZzLV
+Ŀ^Ǿ EQ0Y5ˋ~_Qgɤ Í>N*5ں$l:nt`vO*Ѫ2O>o+d-ؽ~;y)|;GYO=C
+.WFomj!vNz}DQt@߅ֻ 5Ww^)9?Tr#Q)pj|dK_`פm-?g Ɖd8 v>{}ڤU ȢŊ9K#C6X,N p꠰X'#<5y̬‹` 6 s&`iN`i(h뼵:٤%\20"YmXvmotXjxʢy<ߎ9Mt,lb[vʔT،љK[܎YBYt۝kt
endstream
endobj
-663 0 obj
-<< /Type /FontDescriptor /FontName /QIIFSO+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 665 0 R /CIDSet 664 0 R >>
+693 0 obj
+<< /Type /FontDescriptor /FontName /PFVAAD+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 695 0 R /CIDSet 694 0 R >>
endobj
-666 0 obj
-<< /Filter /FlateDecode /Length 538 >>
+696 0 obj
+<< /Filter /FlateDecode /Length 540 >>
stream
-x}[o0+CssJ"KHKl$p$<qZi.9s<}@~͵_n{xX5Bjx#$h޻&bUzxɅWIcjbɞ~?"mMPh_g<~Yu^X9?\6sޛ:l:>Jv';^2YW#Y]Lt)Աs6~n7vZE홌ƽ,cZY筼RG!|o-r
+x}[@+z!c x vfda_ct I|owց]AO*3sɏ9t˷FUS]Τw"I_٦k- l,V'\ttzcSL6/+[PЮN:yL "_u^Y9?\6g^ME6>Jv'^2YW#Y\Cfl]'oIjuduҶ'2vI:he=Llbz/C>BV-+Ju$oG36+HɿN}w`8Af(@!(,A/h
+Z[d&1G)HJ
+ZY b)v*S|
+3r4:f 9"L)\RJp^RwBL7YПDL^
+/i‹BT_tM^
+`uRKCZO3ltWto{oa۴}{{Ƚ?gE
endstream
endobj
-224 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QIIFSO+LMMono10-Italic /DescendantFonts [ 667 0 R ] /ToUnicode 666 0 R >>
+232 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PFVAAD+LMMono10-Italic /DescendantFonts [ 697 0 R ] /ToUnicode 696 0 R >>
endobj
-667 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QIIFSO+LMMono10-Italic /FontDescriptor 663 0 R /W 662 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+697 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PFVAAD+LMMono10-Italic /FontDescriptor 693 0 R /W 692 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-668 0 obj
-[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] ]
+698 0 obj
+[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] ]
endobj
-670 0 obj
-<< /Filter /FlateDecode /Length 22 >>
+700 0 obj
+<< /Filter /FlateDecode /Length 23 >>
stream
-xc``TdP
+xc``TdTe
endstream
endobj
-671 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2031 >>
-stream
-xmV{TW@2Yj!ctV*/_T+Z1@Ha&fBI T.!o Ğ"H(XI붧Zu X9={s$7~~
-B$
-Ŕ-[֭fZE/,Yduk4+$"ѡRR("M_|:俶_T BQ9AC4Ŀ)8yP
-b
-1UT)&b,Nh3GxfY
-\3gfm ff62ޒpLa l<cqV>2I3y2f!g 6n20I71kg֘3 ,o`7n]k7p6cl6c-#N|^t⫩ikV-_aeag9e>w Y\aUNi bK#ˈD"XM%iv"0yE‰pO%QDU$(B&Cn+UJ0yZ&'&_ ?맬R]
-N@;hֶ^679[<] YQ{߶hܦԞW~>qUk^6)u5{i@p;r
-UˬwҲNNqbxW X觲!~dg9
-`H}|G'-rb`
-iiM.򗁞cͭJ6FK|-ujKK+Wmʥ{n B2/ޟ_ ,xĦKN~'w/T M,4Mx ^gi>r./ǻEELJk+ʝ/1lveFcHg˘ݎ-!ow*IO6F6Pt]SR5#
-\>ukA46B8|)!lh*Zak͵,ͶN0Pj4D
-[ 5OK h 9
+701 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2256 >>
+stream
+xڕVkTSWF4E깷Q<k)Z}ֺ @Hb QPK$<H[yuVՎPӱuN:Szc (d{wB!!fں+!a-[tZf"Y&DZK6 f8Ɵ %\?$>:NCekrdW2b&1E 2ҵ:ŠVLblIbDIi,ckٍ6^MTV&(vF* 14MPlΐoBl6Ya`M*mkӚ$֨`Y֨P*I22Ҕ)52F y3>!|㷮0Ml&+LrǷɺDņd֤6YfsD$XN&1DBM${DBMzKJHyTDP-gO2+Q>@fۓd0:0}O(=W%uimNqqr{~Z]git[kq>[
+R$df5Ey`\#٤nPW[3i]f=3Q3l߸Ne7_
+<N9HFь\~ֻy:. Z[7oxf"I4 M}:΀k`RO^<Wb
+&nϰG
+jlJH4
+F=F"$
+ A
+~CG VI>6_]r7@@{| ?Cԋ01ǐ
+yNkn]P-jB"IqkԮ#F@Q<2#XQ/\vHk.y;i1Òmy:A^7eb
+$I*BPNKC'^<:O-< 0L- D+(R5'OML8^dnH TyyGCde🲾ax홥V,4:j42b]*wNM_a# W+x!o)=c'[Y`uWn&g= &~|(sZO6}; Pܽ;`lD11;w{qesq
endstream
endobj
-669 0 obj
-<< /Type /FontDescriptor /FontName /AXYAPQ+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 671 0 R /CIDSet 670 0 R >>
+699 0 obj
+<< /Type /FontDescriptor /FontName /GYSYTT+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 701 0 R /CIDSet 700 0 R >>
endobj
-672 0 obj
-<< /Filter /FlateDecode /Length 441 >>
+702 0 obj
+<< /Filter /FlateDecode /Length 453 >>
stream
-x}_k0EpF(BkW֭[ع۞@M$Ƌ~%yu3Ay&np%oЪN3MJi8AmV+CE*06q-$wC{iQR=Ku!uI{a68bEr]$;V(@;J(yj6z$LIu' fzOV9ݥ5PDoVlxϷA9h!Od|ݢ uMsg l\@"[U𝲿4@1eCT t%OhNk{HCu8"ڀ5+i;J&H iFz$H3 )4?H)@;VHf1i)R>S엡OLf6q~ndn6uZuո,7^'7'
+x}n0~
+!RzB[EHҬ*=Z
+62pۯTcoeS=[FߡӃ仺%Fտ
+ud v9{7$|5TG:nJʡmOPF
+8ʶ?/u4t{/&|Th9B\ ښʶetWF@oqYL%r[$ i@"-=-b;)A)AZ##Hz ғi2O CB k't`]cNǼ4Î)%Gɟ;'2mn]N- y
endstream
endobj
-223 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AXYAPQ+LMMonoLt10-Bold /DescendantFonts [ 673 0 R ] /ToUnicode 672 0 R >>
+231 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GYSYTT+LMMonoLt10-Bold /DescendantFonts [ 703 0 R ] /ToUnicode 702 0 R >>
endobj
-673 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AXYAPQ+LMMonoLt10-Bold /FontDescriptor 669 0 R /W 668 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+703 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GYSYTT+LMMonoLt10-Bold /FontDescriptor 699 0 R /W 698 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-674 0 obj
-[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 ] 68 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 92 [ 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] 602 [ 525 ] ]
+704 0 obj
+[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 92 [ 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] 602 [ 525 ] ]
endobj
-676 0 obj
-<< /Filter /FlateDecode /Length 38 >>
+706 0 obj
+<< /Filter /FlateDecode /Length 36 >>
stream
-xc`` P
+xc``w ~ ( l@
endstream
endobj
-677 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8162 >>
-stream
-xڽzX,qw= +J/ Rv)RgaŲIV&&1E1g%.M{e{s9w~ff@ VͫnHߚ5}gpm7Z n . ǘr6fZ ^da0v? BP873{a1ͯ,&:-&&&^''fQ2f}W.̞5k4;6+gع*}m\ͰaQ{mސظ{yH=lw؄˂m<eҐ7g8zy(2_S~&$Fnvif~`wmlm3gC<gHe3=13z47}ͦ7ؾz0Tfs]<㿯U{T{[N?41*D0 1G'&Id Mb
-1FL'f3Y[lb1G'& Eb)XN Vb-%žHl"6[Hl#Nb'C% bJ wƒ$o‡%"D!# 9Ja&Ly-?΄AfD$_&M`k,¬X8VX)|HZ}h\l~~ВAEˆX ekW-[}chvg?[m1hD̈M#GY0QA⬳X'"qDi혙cNn"sx16lmn?k\x&pvI&L
-+,Y/:nBPM\| !7:ŇJƕ UZ?: uW3
-J&31QZDVM
-֓EɪBO_͖2?%l#1&߃:GYC
-㊛č2VOtgx¾J6-jS͡?්НS%T̚v?uf5Arʳ)Jg =Og6w;x6XFqzkԁ. n
-f#LR)c&pϼQn7V%х~
-QmΓe9Tl`ⶬON1 +-_vݏ.k>܄ŠOJ)%%0.aQ|5SZ~::̲n")sÖ_=w: 兔8q`:5J~M3AE;ި;YS(7L`sKΖ;*oIS^NF[0ծUY}d%gȘx Eظ( JQMJ##B.,,BŅtn:*(=HT1E Kϔ>d-m *u~VAV$m؏w$9lڦ!L樒Y
-Whlfa&*^!Id"09(6@f}ZZؖkۣyd]*M1ŝA#&8u0䟊llD|ciLL?s؍ULjԇ^d7 wVb!c0<
-k'_\i` Dy=|qS',DAuV_A߭NqH}kaYyBƇPR\ [uHFl!)$%[pLk;M
-c3#*RMᜧ2Q>zE?YV5Y.9K
-R"B
-*n Ƣ`-6IM0EzSݽ!݋/,WJf=}$xh 9rMޓ(kD' .ymgE6=W/y":*FEjK0r<?Wb{i/4
-Ip&&`Js[yfznv>DLܻR0AHV",;m ⭹={3Q{ uy
-Ӡ!Rzs_E2p(cۀ\L2Tq̓
-ƉqyNل#7I^I7j'vVTON_<
-NEt-q;Qi5a-eMeaP{!EIwY}HT"VWVC%Icx
-s;PVk[j2.Mcla4C)Ld%驅(9~z.QQ* 恙U\*Ix63u+ɓ.߳eɓ8Y\krػty%qyY<iNҪȰhy˓MT\D^])D s2 $}TH^R{DƩj
-uDCez%yvV&vLʖgh25tAava6%d_4vgw}؏/<C cv('^5@w: E_P5&+pڷ+C yZSZu̱;UWhs/ÐWJ~|py@lx$lVkvZ @]N%aCwЫ8nO;p5xS-ׄ?
-aKޘJ=šLzFFf:<H-]fk޷.c㶭 nޣ;+e| 'lIJ"޾ n|]=oK$Y#:w\%(y:{p<I $0)!?'`+6<hQތCu{U1>4+6Tq&GlϮنbBgsd碙˒NZASC~ڱ.(Mƀ,dlx8&`w`dg/_oݺMY`Kb&oEY\ ipa }SLXydJhT"+M(*;y$^8KOuD [.~ !, `8 w<LEc!7k Qa4zS(F=oH.t+ɨW[w#HFY`m"Mzx>o_`&yq|ҋ$ Ax9xZw;Tӵ<]97_yC>:n_Lq<MF ϳL g!%+%qǻH\ :!w
-Z7Cf
-U~$,Rht
-gIi B_-EXF}8,\PYcrvkI 439ήOS6+n= e[*OMdkd:%بQLgQCq[ ~{?8 8)>Eĸ1EԦ5%Z/}q@sOPȘTE>vFj tX%V|aw՗=-WLY!eO_fPtBgN^[e`WrdY#+mf?*CW_K#7;xY]ܼ?2t=/Y\$7D\}|Aq2鏼΅b
-֖(j^pNFBMh`֮֒҅g$ށE2QHZ^|yolm̙"P۶|g._<iσ
-s%N6/Jۏ\҆ Tyw~R)ſ`qoZ/ H_DRAi(B#GD&Ua4^$sOUL{ܧQ%>8=҄ļ9)ֶ#4n$xma8$&X1&`ZwV}83< &rN6qrpsF0𛇏1 LBBB|$TQ[S^yi
-q,|' <ۭh)Pluju>nd#hQ&2EWfd"aV͖XO 0aVYatIo+xc=opXK
-/d5VN/e/0jS }uwW$rw}v˸7adצ.߯;{6CW.I|k|jTl+MJCMMwsJ7Hl5QH CI*u[6:liޙ &##+\RV.(}gg|HTx>@O%q~ĵ0)jvwO58}S XL-)u:]t2sVb QOPI )2)Idb- urnww4RF#`es}4ŋGOa("c-素sQJTMRo-]̶4#{QSw˭oC_m[JXE UO9Ϊ6@}̥ZWT+_L ZKmSԾ֊6O$g}Xwsm;Rc}, հ!4^A`\Obp_X?v5?r4 τ|NU-y<v7^vʃjsg\!K3,khD6jRo])Uj9clH,ك$؛)eKȉ(-)Գ9\H}Q9ly.u ҏktK8\l.˪ej5+MŰmepōl8"2<ߒ*i'w26t1Iy^t,11JT2:ya{Ϸ<l
-~K(OOSJ´J^ 6<(=<"-2]FxfUx%;
-Y`O49B)A.{YV1|zT^ś+_"ѸDBR}z~Ƈr)lRI1e`5pv] W'$!<JqzcVLZW:<u < '~c
-W0 J__+46ۭxCX;)ɿY;#>\gp2ulhkH6DzI%C&3YbfH5| ׃_tfrĸuv=!OzL|PW +ʵi%!lz"V "| C)IJ qCLH
-<""b>IIefe~5au^zAC 4Kc2T,ׅ1q,+Q(Fo&ef$gѵYٯ
+707 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8223 >>
+stream
+xڽz\Wqw=;PAQzYX3KwD +EM51h>g~@$`޹s?sfE1!,y;;3믭9Sď%7E<ijFTLw`?47 BT8Lx4e:^oӉA $'EƢ!ag[%{{(,̞=w=˕3-m)=-ii7rL)zZ%tqf)stpi*t˂ߞihɽ-O@׃A~]
+W˵,e~
+ \]-g̰ tuP(͚r)r8K MflYfLnyU'pFwAAW?"~bpT` Kb1@L$&)[Tb1A$fw9\b1X@K,$#2b9"VšXK#l[b=#6b+aO8ۈb'p${ '™G'\+F'Ex>/G"&BP_᢭= ?΄^D8_ 7#oƶaqJc҂'H$k$&ɅK 8 )j64phf{o\3b>L<a>1aQs*$jHǑw4kToF}Blac5h=mF<M7?x_h:Zg,ƏK?&2tҶI_OVNl(2㴿hqJQl6tABnTJT ~/QGh|pU7+
+.9r%'klRrl/bX@VM+9j,Yv؂|>kpWk~^:*/njLFZ,m_&q+}+«s4([)OE.jIvMR7mjj:>R0\ϴ >0w'.s9t6ΚEkFiu:h>H7rhs>\ k
+&?]j?^( b6)+6['{RW,?Ǜ4;17|xEq sbHd8z&_Vɭ-HIJFdܗ_.{r)[J VJ]Fo"u^d˼
+& `$ČO\\0ͶUU}ѣdo ObUqxt|B|G019lA“񗅇)X/(T^^k luTYP|/.bˋ*Kf蒨d m (E~VAV4k8UZ ˋRilR&ns"8F
+ɋ/cAQqJi"w )6~R5µ4\nwץrLyAi+X-4
+oS_w#^]/b’`b*0OlbSd^bXYt`uph3<,}q z}{xř+'Nڲ nZpҚn:bZ2tN齍dD`p5\1[O7
+YH!)ot=d߁㴋T4`I}e[Ҏ7C`@$eeJ'Z:*a؜v
+D`+iD+:ݝI*C\y ZvR=kn޿r2vىIZqnBlITƦǤųſ׊c2*R w;rI>yD/Dq\k>2[Bt#w ri&)̗$whD'jZ45&`!Ꭵe#OS[jyC`Q06%%#qTH+E+}Sr%n3$E?8q%#Y)A<(5K;P Lp~eP2%%O*wD)qxR2ү.hɷ及XM&w^Lr+:\T_ rAi=x>zxзYlCzũdB`cwo_ߣdax/0m%+Y|VtLׅC` E_2z;nQ 3{o0~[׍+{aiL+WQ+)j|CbPr")7[46Rl׃ 䫮gD+.# DtC!{|}$TԬ,(i7s+6s7C?f
++i2 {6=ApXpya*k*b+#[B` ƒaO##A܁`'>~Zs:k9Ҍs@E '>9dK>MKϦqQݹcY\3]jwZl]ݹ}V2v iAtKt%Tࠤ%|DN؄H$:\fй'G<(rr+i`&&`*SKIfznv>DvOܻ20FnpN#0+)/Hϝ;֙`YhzӞ$Gt)Cj֝Q).IW+5. -q,,C/z <I8$o'CCz p݃IjϒԠ'r7>#?nCcBΠmjbY@Vqm@CMX 8h84.#^r)c&Zث5?sAFM~`{ݪ}Vwx(6}wɢgv}+o^!bϟ~1zJD;qܧ
+~!.i `qƛӭndµxqdpM^m53_ ;K.jKv#
+
+^^FA#9]o,/;m"1,P#,#o PM )S`Y\#J9Z^U,lJPlkEOu"
+*)pXH¯dK\' )H?H.Y)ʉkB ;2<wװcv@< 3xe$'~sspJ+:Zasq+C G9,Z.0)0㳟T` K͌S NTFEl:3oEZCh*g8efaJq z,{üZn%\|&oAW4mvL܋!D^G^f xWJ=
+9Qnĭu#v~(+˶;PVw5dl$˪(]RIS sQrE;G],5gE!UWhL3rV FVgWOxĞiLYqTiNss9*1] f\ bb
+\ҜQ3!QW DŽ3q!REYTqN&c8 ,.SxKi19Q3;ap>c鎐05ch/cz#:BB!AEuN!!6 ]p璅znea
+eVq:QU x?V=%6Ѫǻd~ !^FVA&E| @;G <_QZ~wdqO,%Ɲvgj6WK%iEwZS?u=)w$Cr"H=]%`CWktoLֽ\rه0{ƹx WNEXM%"(Q?paa0;p_] J8#y̔T<Xtpv~=:L eҳy}2e`}Wdߘ C`}׃*n{=r,ѫ7 aHĭLaf巑x._{N̶ۻ#> ųz*('E:'rzSUM,x>CRXZpoDaz<XVF &Mh?Yk,2;Z
+W'
+# ̍Cv Rr*!bՎ}uXც9oGHm|}ٓ.jvvrWI!c΅L9|*f!|X*Cy+9AI[!=2[Qgffi_Bf%Mw
+@іb|RX@'m(';xIC *SQ1{b^6~zS h8\]?>OTl:VGoCsQli'at)1UPVlWuPG}i̗Bo<-<SNA0Yg3VXY=xw?e;̴`&p4/!0$>**.l,Kʎg9͖~Gݠ$HT+Vϰa?z@C/l${BطﳞAow' qRYzb0S:QFlH.t3kG[w!FJ؍6(.=4_/0:,HFyYE
+~".RhL4ʅ$h3s;1eiI9t9UfnSrV`r],y>n?vz9{W**Jr2YGzEİxbnA.Xcn!T"9[|PpQ7,YiّL_s[*MZp=SQZaBNDH0LRΦ*8\ n`4Z`.d06r/ots |SPl[;s&BQ <ʴǥ_- x=$9Y3KQreȷ>s#,?ӎN[fUIu=?ywd:0q_Rp~(]ub! IyEb
+1J-绶^h?wDAiyI! LE.lbɂugl>dA/?WΓطy1
+ 6_엾6 }P&5G*]Pqɨٙ ab{~ {~]5{}C9*MH cAbM[>ro\
+}fW
+՟B;tYlۅ`\722؄Pi`T,~R0^Q@`*6[Wl*QLuju]Zgũ".VZV^UT߭Y.[jK ?=~G.+6֋])+]1;$6h5&x}4M|.*<RÐ]XÂ(v-|Lnߛ_n{i߻dSoTצ.; ѻ{4W/K
+2 (7pX:Kі5O5id;XRAtt 2y`쬄fu-(H<JA
+qeУ*]'/ң*T=^J 8% 4L)]L%»Z;旁$ABG
+ :!ڍ`wkka^a%'_=#C|.V+ q5oM@pI)GT{*ń)R+jBKΓahu,Ysщup\<qZS>W\).(פHq!`{#X-Jm.V$I=+2#+3"i/?~zqƃC?Bj
+`h-t- `{wSPsA]0HRE墅$j&qD|tB46˻6+#5Mc ?C#])rCqRJNfafqRfFrS՜ N7ϡ(N?YR>ΟZM*ƘaS'B?I)W̅!| ;$ D6fdVp1&A5WҼ<:2̙ =RdgVgi4[rM+G߉_m
endstream
endobj
-675 0 obj
-<< /Type /FontDescriptor /FontName /UCRWPE+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 677 0 R /CIDSet 676 0 R >>
+705 0 obj
+<< /Type /FontDescriptor /FontName /KXPZZP+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 707 0 R /CIDSet 706 0 R >>
endobj
-678 0 obj
-<< /Filter /FlateDecode /Length 746 >>
+708 0 obj
+<< /Filter /FlateDecode /Length 750 >>
stream
-x}Kk0FEpc嶄@8>h:mj+CbYߏK t
--=s"]|y^webu7ǮpaF8\=<:W<ߊ)nbUWW?yUcγ=cG\_<M/nwo8WVDG'"lu}Է"J9}4abr{[eTۘxJQV@
-/ոx}wX&NG;Ft]U'99cݘHLn5zҏV:|y=N).pݦ޹hꋐtf˿z7<TtF(It: 4dI@҂@&-e `(Ş H$H!Ic9`O݃2tuq~?<x? R#πgIS )d'Q]?*Ybte `E#B#24шi8hT^QO KNzadI0R F50%H=28~=B $ItO"3?Jc.<uI`(#(#!Yt@tKZ~p,2#GȠFd4"HG$ J 39303M=<y z<K xM^_) wxKW{mڦWL̑ٽ
+x}]O0+ $v+Jڀ qW&Q^i Sǵ/]QX]%u]<}4ŬΏW8vbr-U?{+ϐ!|q*PWunwo8fG?PQŨrmWխH$̫bZ.J1:׽-e}(<J(ʼ'o0y}zwXV:g.=GpmY5inG$d"
+K=z }rjSׅMMsoB2D*O0} oy(i{PthȒf9h(wk& $5 5It@35qı;S YOk,HяD?%O]P*i쮂%OqM)f_ F
+]Q4b-4i2MH03 #KF4, FadI4"шЈiiY넟D gIS胁i5HO"D $*3 ?|<g#nYe$Ze$AdpP8Yn
endstream
endobj
-222 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UCRWPE+LMMono10-Regular /DescendantFonts [ 679 0 R ] /ToUnicode 678 0 R >>
+230 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KXPZZP+LMMono10-Regular /DescendantFonts [ 709 0 R ] /ToUnicode 708 0 R >>
endobj
-679 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UCRWPE+LMMono10-Regular /FontDescriptor 675 0 R /W 674 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+709 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KXPZZP+LMMono10-Regular /FontDescriptor 705 0 R /W 704 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-680 0 obj
+710 0 obj
[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-682 0 obj
+712 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
< 
endstream
endobj
-683 0 obj
+713 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
xuUkPTGÈ(uG^QWCZ` 00 j3GAG@^X"")E0kZ]CP*X,PѾncgVmwӧ;uXL cLqs`<&N~9*
@@ -2976,201 +3106,188 @@ GKtdžmBEx}gZ5g:\~Bc"ZOI
NbC^r`)|*+%M 1=U8⦈kQʁR y Ķ˚Jmѹpr~_9&꾩R58WCW%#B)_o-Zȫ=%-/7l|D%2]DCbTߙir8lkQ(\-:Kϗ:Y
endstream
endobj
-681 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 683 0 R /CIDSet 682 0 R >>
+711 0 obj
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 713 0 R /CIDSet 712 0 R >>
endobj
-684 0 obj
+714 0 obj
<< /Filter /FlateDecode /Length 405 >>
stream
x}]K0+wQSetPpC풳X$Q xzޓy[ͥc4ڴV`XhKQ#Y#rlv=gZ5}gZZwyvn,z]mMYic{*l]N5'R/UüяqNj S,}PZڋU;,Trn bYՍ={}oDw۪:)H<ДѺ(bLRU5rٝ+$Fb]mfOa+e:]C@tɵ$> i zݧ,<=yz4J<MFƁ&恆 <M/34܂\@Fiqe*o8hd_K}O
endstream
endobj
-221 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 685 0 R ] /ToUnicode 684 0 R >>
+229 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 715 0 R ] /ToUnicode 714 0 R >>
endobj
-685 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 681 0 R /W 680 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+715 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 711 0 R /W 710 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-686 0 obj
-[ 28 [ 481 ] 34 [ 667 517 ] 43 [ 444 ] 50 [ 444 ] 55 [ 306 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
+716 0 obj
+[ 28 [ 481 ] 34 [ 667 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 86 [ 389 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
-688 0 obj
+718 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
-xc``0Pd\0Ń 
+xc``0T\0ŋ 
endstream
endobj
-689 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1890 >>
+719 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2227 >>
stream
-xuU PSW7&#*1I ՅpW2)P£<\  AȈU BK
-Viݢ"/Xl i_vv3ϙssrpwKFŬKR|TuJc.d8CrNeS4] j=!Vb^\^KcO
-s`8掭Ğ`/Wc|օ |gGKG+iVC+ Tt/K-쨆^/sJ].ϥ4lTtAo.4K+5Fڢ7hikPJZE TjmWӑI
-zDj jLJj5o2d&sސ'ee2>-
-ب_.7*I}X~ްC UsQ*uIc*X?ak
-yBxHF* mCɰ5ĝo[K%kwP5ĻM*By{G(Ws
-^f\/w XVdE6ΣVUͶA]Uug]
-r
+xuV PWf.v!xDPA\gaF`$@B&`4XPx#@$jToahR[}_=1aq13F+r3}3:/`=bqrbid1E.Nl`"գϞ10B} {9.'aNcLJqg[?_Y!&3xe}(2bjEa}0S9Re0 &A1#iЛs|, Z{:¨V1LDb|11 59F50F2rd29GoȔeps2IFcwxlLȐ0
+70*I}O;FoXWH:Ǥ1`\yb`30abAX07la X)0%c&,Ŗk(15ևӇNY<O^:;w/_pQxW]Xs @օzQY%ԦHAէ-"4}"ƀk~.dՠYAJԥG{ͭ<4z ޷'"NA.qVG-s@<)m
+ x w$3XUH\H JF!ohIBճy [ƶ-N0 7E,VEJL(e?.47fu=)fǨw7P'"<nj'Xο2<"Y-X8x19'ɫVg[51$H4~ps{{lĶA46MT:!"%WeS?@4Ƥ_vU;O'hs(ɰ:>ޑ.P~Ϥ{jÛc@/9T֯@]TTe7Ӄė:|K"H^D[/%*v<{^#]|֭C7"Ib ;$t
+=s~!~ :
+ /zLS4 Sr0yQlvMx`_8rny5 &ՂpuWKs~6٢}}9mUǮ8Istv>pk6vl]3`BBm0wD̚65FѢ.=n=睟eK#"}3Φ o_" p%.`/D`J3mTM^Pb@zMJ ʯaERjwַ8^ӹ2I( yk2BPx]n=JomiN ,o}<()iWjɌ}m4TG'
+D!m[OQ
+<6 -X
+>ڍ[ӛ֑y#f4%œ jc嵐\NHE%daVpm_p[
+͙V8
endstream
endobj
-687 0 obj
-<< /Type /FontDescriptor /FontName /MQPAIK+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 689 0 R /CIDSet 688 0 R >>
+717 0 obj
+<< /Type /FontDescriptor /FontName /FPEUQN+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 719 0 R /CIDSet 718 0 R >>
endobj
-690 0 obj
-<< /Filter /FlateDecode /Length 460 >>
+720 0 obj
+<< /Filter /FlateDecode /Length 472 >>
stream
-x}n0~
-!Rz@SEH-i$M-jĞd- =H >柙c3+ 2]3hAZ2>Ԡ
-8fF/U 4/rm9K 4vaڊ et1WF@/qY#q4JBQn
-1D8v4f4s4Ce@J ҝ9s|)Grh!mR()LP@ K=-H!5&Nes󲣶cgVw]
->N_۴6؎ yS
+x}Mo0
+)=P !TҖ M%+'YK =f@<̼av=xvT lӲ9
endstream
endobj
-220 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MQPAIK+LMSans10-Regular /DescendantFonts [ 691 0 R ] /ToUnicode 690 0 R >>
+228 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FPEUQN+LMSans10-Regular /DescendantFonts [ 721 0 R ] /ToUnicode 720 0 R >>
endobj
-691 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MQPAIK+LMSans10-Regular /FontDescriptor 687 0 R /W 686 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+721 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FPEUQN+LMSans10-Regular /FontDescriptor 717 0 R /W 716 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-692 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 ] 68 [ 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 499 [ 472 472 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] 612 [ 500 ] ]
+722 0 obj
+[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 499 [ 472 472 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] 612 [ 500 ] ]
endobj
-694 0 obj
+724 0 obj
<< /Filter /FlateDecode /Length 59 >>
stream
-xc``~߿
+xc``߿
endstream
endobj
-695 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8662 >>
-stream
-xzt׺Ȳ4E`̘{O ;q/b[.Vq{-dc7'@HB/ $$$dؾYo$9!9w]Oajk/Y*8-h옑|$naؾl?`G}0CK۰ uElf}H!
-q6=X]?_ h7`<7Fcϰy8+ρGղF3aNpHLoӸ1cƏ|Nu=ipT[ӢQNKG9- 9 rru v
-vZI, :i_STp;+-I4yyANK<½Ftr
-rhϨ05/
-my˗dOtTDtwpW_@?)q`YpX[,`w^A~1>X??6
-臣>,,S}/+?! <3hƠ˃W;|Ρk63n}D#7'`bDn=M1:)A^23SCzΪZ+&|CRQkh@-djBچ`aIس
-! 28ހW6U|*l52L&&ߟNx3hi<7nۼ0427n:x*fJҏ]l9` MUaGńz?GN6߃S3h{z-dr=x~3OK\f]ԓn H}
-G)`Q o4U:MAv7OZT{Qfef+
-}<jc7óe=GdaC#t1q4RA
-+:Qf:7{KL&ީly$)%h?i*Q(<<ycРR&^T!Ж10 /R$f Nh"\ep3@gR#{h=aqNP$+2%=*hQ7v^8N|<ʧqWҢh09>Ev9=4W0+>\ڋk+Ã*kj**jhtOǸo.4VRߘТ=lfLRtyz[6< /uU W!
-E3ޟ6B8 p\ }6!QVg" & +G+'N'9)52\V8^lEOiJa'
-IH7V:SsHgCFf!N̄bDӦ@+S+ ݣ8lԜOv՝꛷},PƐ\:gzh9F8ܨ5NP/QaL
-~SWJO#,N 7H,# 1
-Dv`eR4epW}&MZRIL!@ZA ʞ;?E=h
-Lp,ڶ<nFﺵNZۗF[" Z@1EⳔ~& oڧ-
-8oҥ_3 !(O,wۑ/%p)%zFmֹi%Ԩy>j2F2 cy^(zy9h;rf}tڕ`
-ԩ.TK@yQ)ܴGQB=rFc\cX9!">LURy4K,),\CTĔ`jxQ^-02%inVyn086m]s7 4i‡LdQ^\qwi
-?84tI(@T\D LKCBm P3o*x%\ᒳm@+uk>W).VuO? Ģh/ \rԥzU4=|a13x%nMʇ{Bi7oѕq{N_ҾQ_!FZtt˪W*-'^9<Byzq4rp9[ƵUCx6ZA}R!zaWETq7<tj#-"7ClzoRF,NKi /.ЕW11QN¥hKK99R/Aq \
-h
-nm^CFʣ-1FN%]T;MÃ F2{ˊgJ90*$ƴóN]gC>c;9d~ -Z[eblj+oT ak{J. TCi+ѣx<rNZb`6q(/ABzzrfu\6wۮ ;9ԛ>FR_Z(5
-/
-mr!>NSC%K#anc-md AITCux[ Ӱ\־bl2\05FS/8_}/ TjO
-SU\oL1x&v̥ukJz?y&#Gi;FuX5KWfos,xa3gv"Nj&9)A,[ ;^</#4F|+,-ɩ#h+G9#y[_zH8C\P:gk< m,y_3C7~* PE%e ZKڧ&8t?杺%e N.I74%LOnT*1]% t32p|)g aWcRwV{Bsm#n39hFKQ*(àx,Hg5Lhuui?%V
-v p桥M ۷ġt?q۠x\z[g[h~ArCh>6@CJU4%HLdBTSkj* SZ-"^D\7!zLsA4PH*iZ]RBk4@S\"r۷_UFAg_0)j92W0]tZgѩ)c꿸 Edި|6KBd+3am]`j /22o<
-z9=N0Q3L.9Qd ZWpHUZFZ
-EP4 Cj&!և^%-Zx@ɛ/
-w:^[ep~3Xdֱ98 'l?{1pbOٛ@1A` qj_z,NSE'x%M|sU#e*BBRTedBhq[$Zj|di`93 /
-34iyT.;#E{[j<SWl7n_OP,5 1A (1({<WI'@)\ 0}BeB.fFODiFRAWtoDH?7A|6K'3jHuCZ#zo_y߼)_nd~jwֶZF!xlZ T)h:CgR#s E{ζ''Y ~$5kK MAi-vxҊ&-تb2[ӰP@#d$Ue\;>N&\VM(<.*1p֎]WT65)8h(C
-\Q'pNeʬ82.)!MF/>'Ard٥jtjMwUjA9o^W^i2^SiRWR?XP?1SM+ 5u翠,Ȓ!*PMTV0f( VC}bѤ* #TʴDzRq (u:S0*\kㅭ[L7"@q4ce
-ˆ(IBKϑ{N\vbQu!g:rg喇Q#": d-bht](EsFI#Pjۺ
-Fgr{BK6{xM`4]u۾_?nZF-:ʝ6crnG{GN|]>J[\L0_}U c #=%/w.%_e!%Lj0c 5o <mܛ{"s7q+zƠ!$Z0 _ _<5M3ᭇSX#SD%2uXU2H
-W&U$;rZ#g݁xlcg-ݟ|}K̮L<.)^$E Ful g`l)4)?m!찇p4)/2 5 'G9b4IY$6Jc4I4^Z^$\5p T^YT@ΎNwGGOGLBhs`oARgE5&n2MD/;J\S]*idF^}WlM U,5,㿎Ybq sAVnUp䖃"(GtZ퍒;" NF+rRb'nxHT)BШKM1I$W:J#2q:dW4FUiŗ6 |(ҩ9Z
-
+725 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8767 >>
+stream
+x{t׺Ȳ4D`̘z$L W܋\-YeʽȖ 7'@HB HBIH}HsBryܻ%φb<[<j5!AƏY+ t\d;Xچe-jcg1 PD0Wi՛5 ~nV1 c4zx_-;q煄ƆE:N?~h ǹc{DG;{9.|㊐h`Go?@u%!ЈcG8F8r{zGx{9J#:] $8qwp1ގ~);·&b\`E,`uc-t wt'% r;8?2^6
+6{޳h'sqzYW^{aC9#8)^oi~nmmOH%e^)mGe:>0eЌW3C m6s؉ˇ{ ވ#G0J?hя8z{s
+0M&v[4LȪ2(,+x,!A?nB`7\9
+vS#›{V!5ę`уCu#FOWˤ3ho;Mtצ-Ԍ[UՔUoS3 Շu^|cŲ W~8bہ=Kib U~+}xTLGwpd]8#7oLf&܅g}F73p_ ~ʥoA}J ԗ}ҏ@vϠ^kFC^uč S3xCh[UU*
+'l]سǥ:h[|j(ĈH8mkl< hT_Nt<2>`_@13]-Q v;SoeSP%$KZ_Dj>]Io d<k<H5(6h)]>ʼnHϧѣN\O))R
+׭"Li[ %l0y&~`Af=Emp&pcVnC׬J Dv7nMg W$2{WLEZsRj:e'4:p+m#ʾ&Ԭ N(o vrPA#OCbpbXD [; kQn!4jӦ'.&FyWΙ4Np2j|#ԋÅhlx\DJ>`*c%)pL:1Fa:u` ;&5j”WQIOQR 乳) :IX'4hASǨ7}8b_pD]\DyY2TRc~k=R~*mpQ߻)]GYcmÉ`XKVZnv89EBwßkQۂm;廊[]a]!q0cʼ w]ǙYA+8 {=S1|7|&. tǏ„]
+
+{aa)(cz[{s rΚ <<F\Zn"ءVQڌb5ӌ9I94\~=&7vPknf;hdLqbh@}0-y(z
+#:cNG",0um~Çf;&O]?F["Z@1EsF~& oڧ-it<61,-,n6OF݅ ݻ? 2h<jۉ>XgM {x-n~4܀rYY}Z߹]~"#!a@tJEayn*ʤj
+L`@+a)!KkT&ae
+w4&@e#uinQR\^jl(w hUT.M"rK*h4aPUp:)52ē UT
+ qI]Q dMGM#.8z}Z>SN|wuc",b+F]i*
+sd\[5tg44(U:'qudU?GC+v*1r
+E˜Eo&lRp#G%eHF
+ɪز BNqw4<*K93sn_#>~+u
+y8lbT.LIL"@5Xh=k$a`}E[sq "BJ%ufj"NDB.ר8KUD2:!"@d/`#qBx~_:)1um,'ǴZKrW 6-+~z_a !1wz<(YLE\gtY"3 Kۈ&h*;N\y|.^xXXX俥Y0McPH9ĞfIY]@C,,6V3l$fdRzm^ǡsO㚰Mr h,ՏRë@6|0GB<'B
+UtRRPb̫~lMMީK\.Y9\!~δ21 z8C^=q&Ѐd25|QmV>R%~kA-).' ~|PF/?t5:mgZ<,wvryӂgg^O>jRJi ڊǁ4}ZϢVW7]m`O gZjДKACڙGov/?C6T܇65:EQx?YNWDZ!ON+D5`+
+0ua5DuN<ri
+.fեF4%"}U|5#ϝ_O(3j@g,Qtj;1Pdi_(:gcH.DR9.܎<F(b~(3&ȧ1?>Ԟ>A*
+
+p-t%E}ƣ2V0i>zh:($Fa ?b3A-6+GR˂ʘ؃v yك`.7Ɂ9XOɑ&ȓ4DHiN@/
+28O9p"
+70f 0a7c,c/(AVpJAa=ETe.S.HKw0 Y~ϭCO|(eeDGkՠ
+)#5a .vJF%{Oy,` .Tr!Ipt
+;\9޺Ƒ!O<8!}pw\Nߩ>sygҩQCgSk*3
+vЇMmTIɄ$0W&h"\%RF(ӨTU*fbzNh`W7~LCɰl - Hph1A:\O&#>|Gd\&-
+-x.!}3
+'FH0gĵG!*/U T
+rʼn3w{??4srCR)PF,.$r\bb/vNRf?7u
+ԣ g84[Qw#\C@(BM!2zߊ-C&I+!ĉhx>y¹ф-goDgp}5j 8)2O5J[`F@OU"TL)Ҏ(d@Hsw",W_.zRȧ5 `4U~5(vg3!"Ud T2E)KQ6uYefP­x
+AZ:Y`> (HԤS\ oTmV3pL&^y߼s=IJBר22LOǣr<&ner՚LL3 \ҽz#y<: TN,M&g`ϨI Yiv_17X$}*k}M1 S|g=P2
+A|s zZ!I$TIi$D: lg(ޫo=}9Ji!\\Lh:JD'mJu2V4oSU9Z]RV $qn*X뱈 09jBsQIrF2sv}e +hF O8+t|֬)@I攩i"S5WժHu%Pn]U(NxMI]E`AD_HjF9L-͏));BU4T7;`P50&үF(.LV)ӓHA&@Ȫ&POxq?JN`)EH%1Im("b"%A.G.>]IlŪ"ΘÑB}<D.&N[~*uMzϙMІB!)H*V:I
+-`g5߅tŷo}NmF;rnX&`AI'݄{GN|Y>J[<X(]Jޱ&ȅZe1ϒ@׻a/rT}[R&w-뚷;fԶ=q߮\tSڌPj4m@$?X /&C) J+CH::V$$
+wZ/$x/ڠ姏y̋{)
+TJ%H§\٘YF{(e!Ҋg׵ΙsG,^mDߜJ`Pś6L)Ѥ$/$XvNg4lH@?'B)xR7T#:Nz]"MHm7 *Fx
+NJHxHq7ŠwcK1B57hV9!6۶xEl">2R  D_w_!.u4;4G^,e7= æX8H b4%uv=Lݯ05di4vvm&Sfdz
endstream
endobj
-693 0 obj
-<< /Type /FontDescriptor /FontName /RGABUT+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 695 0 R /CIDSet 694 0 R >>
+723 0 obj
+<< /Type /FontDescriptor /FontName /JXVJCI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 725 0 R /CIDSet 724 0 R >>
endobj
-696 0 obj
-<< /Filter /FlateDecode /Length 783 >>
+726 0 obj
+<< /Filter /FlateDecode /Length 788 >>
stream
-xڅ[o@FۇH18,a "ۭJ`"ـ
-Yivvo[hdpEskX8rєoty7̖!Yf枩˿˿Sy*~ݸQG
-E@cD‘L@ʑ^4h !"B<"3:ʰCI<<.\"
-kEuD)# Ț5HA9LA"`-P]kEk X+"xIʋ+""a-29)QyrDTyTB"":BtZGO"I&Bu%:RSS<5u"(?O.Pl<%@SSxrrA%zI֚r@<M954UT]"PO OԻx:.v^ځzy{JO)щ pHA LI7 RggFA(@ 8o+vo1okpI]G1ac$@K9"dnψ ck"aE<^ũ.wzU6rώy3
+xڅ[k0+lRSBqlH^HJk+YCbyȿ_Yg,˖-eX2lmOֻY6`ŘҔuM1MVU] wv.ҜW{dnͧfwmհi4s>LWMȂ{ιH2iޛP69KVuّZ5jU1Vkܼ99mflb3WН;oڕN]9ތsVm XvNߖ: hJӷyaoflٟgy]_[]pwSů s%( 1戤()GzҠ%(FB>E|"-3> ʰ$E TD)@)ED
+:5tF: NSA@O(
+:#NM2@ -uR&"ȧ2ME5UFSCFhd/}\Q/4^G_SM2F'&CC
+J2 S78ԩ ?}
endstream
endobj
-219 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RGABUT+LMRoman10-Regular /DescendantFonts [ 697 0 R ] /ToUnicode 696 0 R >>
+227 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JXVJCI+LMRoman10-Regular /DescendantFonts [ 727 0 R ] /ToUnicode 726 0 R >>
endobj
-697 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RGABUT+LMRoman10-Regular /FontDescriptor 693 0 R /W 692 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+727 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JXVJCI+LMRoman10-Regular /FontDescriptor 723 0 R /W 722 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-698 0 obj
-[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 63 [ 625 ] 65 [ 419 313 ] 71 [ 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 115 [ 850 594 ] 118 [ 594 ] 122 [ 656 ] 125 [ 625 ] 168 [ 547 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 502 [ 313 ] ]
+728 0 obj
+[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 63 [ 625 ] 65 [ 419 313 ] 71 [ 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 121 [ 563 656 ] 125 [ 625 ] 168 [ 547 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 502 [ 313 ] ]
endobj
-700 0 obj
+730 0 obj
<< /Filter /FlateDecode /Length 42 >>
stream
-xc``6.߆7f0@ 00hF2`
+xc``6.߆7v0@ 00hF2`
endstream
endobj
-701 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6258 >>
-stream
-xY \SgU* wY I}
- *
-B*T<H),
-
- ^[BjL_Cf+#/* o؈l\:lCmi`Gvs
-aws>W*TJmү\ U }6vQR.]Gffw
-;̓i\m'<΍b"ՙqN?a,)DKH4BZLp.t9Ei)伖.ti#RsdJqC'g"{=X7$5TȺiQE BK.c'l9ǫ%I_}*P|1[hCU̍vy^3`i wN$~HST]j8K̉ m8{vD Pk_pX+~gx`! =sb{+^t9)xO̻υ>KqOZX%zQ;Icn! Vbj7ggdxqg6wڿ| `+ J
-#|G{;{spƋӄ
-r>z`+**tO>
-|.h3Kٞo& +3KL & I„j2m7ZH
-|V ZgdG }-:-.J١TGNZ
-cjq& fho3 ź4a?k
-!oeZ!XUtm`\1OT#NAi2Bk=h.Nh_YV"T |tK˂7}U6ņsQʮ) X28ZUw
-VfhRRP2vr*nάyS.xy`eou\`\y^t&.UWJZ E1좥3+38 Oc
-4؁ 115
--
-CNcRR㕲-q 5,sx2# /c: (OuK
-vs{w+X@KFTHQuZY.*Ib
-dkڞlQ\ӥt*& s$%.i
-زGS4eR4
-s+8ȩs'j89ʸ/4(n笯
-M|*?n_jRL'.q#}ir:j!uܮzG?I6jqȋtH݅ɥĘ#\D$剐_h{RֱZkIcEfﶟFK6zxoo1v򟒵U7 h%#'b 30A?,B0m\gKRr R-oypn:)r0;]8V"e*{t:|gp (FٗŪb5qL4I_Zh:BFƟPZRTrO.5DLKہ3dn3G쾧5x3O}b;W`XQu%~"Is<Ar~z&o}WqX=TJ$3 .Sҍ:YZMg63h ?E@i= Rr=Fmauk1} ,RWtm@5>Y$O}H
-%WBTpPa3631߽A:X?rfVr*lGE6T-= ]R#<a+{۷v'`g|v.ò V]=){xdciy2R7~g\?z:hgi6u]I|Hͮ3?z\agUOzģ%W5/A̚~[:IzI/[Xe)V"R:]W\MK 8!PIgn
-'4)b:r[DZ8 Vw%rgx<D]ԇ{z&`l{Hc%REs؝|]?HfڵWO3 kMWoVgbޭyk]}BZ: icKW 5JM`T*qE_?'"04grDH/Ӑӭ+=ƿT* U€SCyxqvJ(شnG) $.2G].{0D.߬,>@ t@SoDeli*9))e`&
-aad
-іG0 AB-$4.Z)-<b/ 4Ix,=絕^]eFh5w|7Gqۖ. X?,8~/ڠ$"΍7O1vAtmJ|t1Okhh֮`on_>:IR3T(=KgD`F؍0\ݺ377ެ$}WX0}:͂ 0 a΂ U)Ri.("fd`#;b5jէM!!9r'-uٲ[P+LIE8Y<?d>̏<m}ﱳwh<jlf&G-NcW]!ФC~M,S.gB@i<酻׹,ʪ?JZzu=3/,"BO4 k>jͼ#W4d#Lp\*<o&lҰ^PYTr0,,) -|y4GgݐLe!.PRbO<|q)DH)hW.\R#35L#kL'{0\!Vl\˜er(;?i
-0aiqaL;a
- 'TU;Ps&BEͽ'|N4qĤN'ԛc27!]~bFE$N$m:g9RwfAA`_lΠ2*Cbrh5B
-Y{аgLfRbXfҰ`LVKtڦ2CTuhH2pIK?}0 ,/
-/O/wv)+t;ۺwg?V~nK{>y l&gƇ%ƁIGGTl_Ƭ8{ lǘZJ:TRcSi8S(q£eB):QlDMlH}2`ƨVVrpݟ"<9'z,4~_)asOw%JG \b! g$VF3ᡡaK94Gc?M/)֔QXijҦ  PX_[?
-:`3|aWˤ _xNąl(3Kgo]rXVd*]N^_vQq.GssIswI"^uZǮN#q:+;Igfr7,2._oq8573-d긖g\$t92oAz~'@ߔ^ :'"ǿ޿CU-NM8%)ye|X;]<c;vEQ ,O* azSmd;llmvV-/ckk9]+/ 鮓77g
+731 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6476 >>
+stream
+xy \SW܈xsVw*de BHrD@
+@PEb"6/*Z=bbM`P"."*DAFyG*b}1~kWQG(<G)ƌQ(11]]cbFD1Ѯ]]q_|,_`lD/;(4zOs|#|S䋥SA`j(5IRxj5LMRӨ,j5ZH-PK)jVRj-6R(%MPHQTJQTMP**J(#Ehh 9 5c=*[jN zͩ[ہ /$I%4H>{bvv{0zT^zi{}\t s|  }*;&fоoUw%r#;?_@אYqN4.jwFQZu|o3v!m&* ŲJaEddo!m-ocPq] Ւ/82 au<
+j'I;;LSd0hpNGIU!~6vYSG2$s}~omfH{y?R;-.@5<^ݙ1SC6N繜C%'&`oM{,,c~%YZϦÓ7m.JK?S!wP %6}#h:9&JLmL =l_b)1!><b%})4ӕUU{NK= ᱽيVEsB7 O$O:tfu}DB>`tzu)(qeT&Jry_GٲpvA"y,dDTJijPAh9Rф<![\qqϙli
+LJtQ<97D}nZ 5FZ9qzMަ'j
+j£+P|J9NލDKqpu?K[yoR|?*6rŦ۔CCB Zq%pf4TfP*t̬.|sɟj=ݹ{zz |ȰperO^owx>0܁#՜,m{Xv6B TKKQs;3"_ЪNMrb`B][`)q\aoi>5m$HLo *<`uL{$@
+q='m \<#6)yr#haS3ΐv$$,ӎDB/@- 2/obY<pD^L~ZL-zZ6~Wr
+RaXy8l㇉s;w%mHLw W+L6KLKOPɷ7i.?<`A<:2T
+ghyhQY/SPgKTz͓=8b6m{
+yB[d!lz'HYF
+s:]NT%pcX 6=iy;63I
+6DTVI+=w`^I:!o8EպuBx1+
+Hk-.P0ǯxM,eZ,^g!DX"_#w>ŬW\v -ke)GYC€a(6Nx<JeMk(g4}N>[^q]Azf#L2a[U|/ d1WRKR:]T;8< 3-c/BHD~*bsKP/N}f;, K١Ei:d!mU<)Dւra#mKI)%(Ѐ uRɭ)`y9c
+mi15.ur9fr/A`L0Cٕvc:SuuOllN㇗Z+gdgcU3Ͼj^x?1]zm ܜiPX~ 򧅿5_5_i~~;ff+/[j^=~s 'lJ5{\Ad^Y7xcq릊OnlZLĠ@<dp>r37Lf
+;cȥYkOCCsGTώϞna8Na* "]YxҦ/ٙ?cgxЕ0 @l=Oc7-Ф }~M]N3[c%`{ ̄c^fg՝d#-3j=Z}} .&B%~ȇ@Qg U;. H1 P$v/h(YhPײ<Ls
+`n7vML)xQ2=+K1 Gğɣ=ݹ9̢h<+e)TuYHFlB0 1s2j{
+qla1^5y{yR
+|OoA-.):&qB n2?"ĩ8 ጑NTHC KEE!ѥq|Tݮ
+H@ p/nװM^hrBz|;HAHk6rD ,ߡ?wh§[Tu\B<>oWY*igۭ);-bg2PY.X摅`Wt5pi;9uӁ#~>K c] _ |q?=8?=92_TÆE&f0j.j^O̹HLq`H\_[j4l9;&TPB1ww|cI չ\D!^Bj5Yr!ˠ宭83iTm䲅\=9~H@*E y,fetIZΗv;$Is\$7';7=:sE`ɖcOz"ʄ*X)&ـF\ >z[do@]@qOyAu ^z4}Uۥ{ Eʹ>cJYH%kB]#;0f볳}A~{{sɒ\Ca~0ǾpO>̃
endstream
endobj
-699 0 obj
-<< /Type /FontDescriptor /FontName /CNDAPT+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 701 0 R /CIDSet 700 0 R >>
+729 0 obj
+<< /Type /FontDescriptor /FontName /CXYYVI+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 731 0 R /CIDSet 730 0 R >>
endobj
-702 0 obj
-<< /Filter /FlateDecode /Length 635 >>
+732 0 obj
+<< /Filter /FlateDecode /Length 644 >>
stream
-x}_0)CMAmGT}Mt >7ɹa7{fc>*?~ Nu-}7uy*oJmۺܫd|$uyI5d=OZs)Vo?#Q_51cOc̕ڮ ߂ 0ZfycƃSeK&Zˆɪoy5CW׵>t;zVg3gM4eݰ͘T'SfS\D|{X8ٲkR>+ojte>3OiO< h<B埢…)I8s9(B,ň% HrUb8B  xDp9;2iD
-EH5RH
- zO[,A9bDD 4@
-/^bQI+(uSH#pRM /%qxDP1Ob SǤ? gP4 t+hDt>ѻ >%"<A~
-.ljtn <-@+dнuP\ rr7}+ﯦn*upZZyu
+x}[0+r& 
+g. 3DOdm8Vv=+?~
+Z͹+|ݵhjsT_Gה5e*t5<BT׬I uOa[/? 뺩w:Es~`kp2Kc&Ƙ[Su}>A`dZ.䏍d{k #&r remd7~Pu78Ǐ4C9IY7,f3&,lzۍDr?KX8ٲowvi@0c|fxhyr v](\ g8(@1bDt $@+ q #CRp"xAPO8T7y Rǚ O@N{Oh{B
+DnV1
endstream
endobj
-218 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CNDAPT+LMRoman12-Bold /DescendantFonts [ 703 0 R ] /ToUnicode 702 0 R >>
+226 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CXYYVI+LMRoman12-Bold /DescendantFonts [ 733 0 R ] /ToUnicode 732 0 R >>
endobj
-703 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CNDAPT+LMRoman12-Bold /FontDescriptor 699 0 R /W 698 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+733 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CXYYVI+LMRoman12-Bold /FontDescriptor 729 0 R /W 728 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-704 0 obj
+734 0 obj
[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
-706 0 obj
+736 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-707 0 obj
+737 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
xmRkHQNmZVf,ac6 !
@@ -3179,78 +3296,77 @@ JjB.Ԩ+S- %Eh/(~UvFȚLOlٹiI}̐UQu5;
KWVWv^w4ZybX4=MQ#ch3z6FE:
endstream
endobj
-705 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 707 0 R /CIDSet 706 0 R >>
+735 0 obj
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 737 0 R /CIDSet 736 0 R >>
endobj
-708 0 obj
+738 0 obj
<< /Filter /FlateDecode /Length 382 >>
stream
x}R]k0}ϯ{6u_X{ڤ~Ij[!'ܓsOy%W'^XZ3f \:GYm9ZN`K,RT=C%j-9i!{tMWqI*˱Kڣ ̐)"8OԥPrARj6Tn+~k,$7pI0
endstream
endobj
-217 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 709 0 R ] /ToUnicode 708 0 R >>
+225 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 739 0 R ] /ToUnicode 738 0 R >>
endobj
-709 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 705 0 R /W 704 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+739 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 735 0 R /W 734 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-710 0 obj
-[ 28 [ 514 ] 34 [ 728 571 ] 42 [ 742 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 80 [ 799 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 90 [ 799 542 ] 96 [ 402 571 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 118 [ 542 ] 125 [ 571 ] 168 [ 514 ] 251 [ 457 ] 277 [ 457 ] 502 [ 286 ] 575 [ 571 ] ]
+740 0 obj
+[ 28 [ 514 ] 34 [ 728 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 90 [ 799 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 118 [ 542 ] 125 [ 571 ] 168 [ 514 ] 251 [ 457 ] 277 [ 457 ] 502 [ 286 ] 575 [ 571 ] ]
endobj
-712 0 obj
+742 0 obj
<< /Filter /FlateDecode /Length 41 >>
stream
-xc``0M4\8ކGf0@ 000L0#
+xc``0M4\8%nÂ#X@Xp&
endstream
endobj
-713 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4721 >>
-stream
-xڽX \g
-/J6b^r|Q<NI%b,KL$&)4ŸI"fosD 6XN VD%̈́BD16"P"H'Z, :G~x%NÝNMNWw q@*zE+HN#d~Ȱ!!fPe>s?y4{yt؄a_:EepQ1x ʴeי[0~#> &hmTzdj;\_P.+M=}V20Wv5Jp7'lj%)m6lj?"ƣ_:^0/`pg=ʵ7^;3ԡ{<sQ+x4U dFHvQp"Jonx8\y yv(#Ez}ۄ,{ÛE vaI9 KYSn[;)xxם=?` jΑxV ?-Y>e#;>n<NPp& Llj:Lءf됩Fd*bwWeMlfXGZ]w5;υRTr yӯE 꽿ů4fBu,dQIf^˄cWj*!f/~6w&hn9soPqȐ˼YJp /8nPuIyq䦦GLX`ϕ0p
-{uB])i!1NfYYIYLq Y }ƞ XC??UW;CR 咊;*sbcJ893M2|&9Zti?d;&ɛȘGtv[z֍ZL!iP&VUYs\1AR4#S18#L`ik)!QtyDnt#̱
-ZZtEY;9yFf\a~Ksm<)BTo>y,G%
-+[a/!٫RIxRIjq/kqaڨh>>b ֨(jNe;$o[ #o]Mc9+JinTVT0ۭGo/|z[ٞw(*ul]DkIiUUZ L5wCfsFF@W PA 󎞨*:WQxg9Hy|yrDm U!`*jQelyZuѫgɲi֘ޣ߫0zY;HDO|PnBK>A3%pA4): 3SV(m +<r$Շ&-יޥ:FO?sQHd|:s䫏6{@tx/(ɴE(޸凱%E4`*85޹g#FC7w 7LK"3/:i4B ٘^^NZ~o&={ݚI;e~&
-M8m~K%
-O[4ܟ
-f<^c
-7M0/Kc*&f\avf2wװAZ;@x1b5Ĕƃ'P?
-s{_aWHD+HjiM9Ycpn&&Az;츑a;Y sG0Gj;L [="_# c[z8EG,FdBSO~M#(p0y^5Q̼^')S'j;/NOo7NIi{3pg -ކ
-E0BEW9m0'Pɂ,:崥s!p#ր3>Ϥw:ޒÞZNy_&x>/O'ћKo\
-d z]TFuy2b};0{C"
-*
- ]t[ipg4c^]0*Ne?HQ2NxBUtM 2y* Ou1h&B!N}=**]O6Jj si36r<ה'{v"̿oaOBSDEf8X$3}*+".W4 tnc'' 4灒6o
-t ;xdp`DiN5U[\Ed[cZCs]/연{>n? hQ~vu% V&?b[X3s__L(w
-JlBȜ%Ym0O?;}o'Oڊ}LM=u$&W*ҁXL=aA3#S^܂WVT/bS܇ vCMf(˟唻-Zl///(,r
+743 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4412 >>
+stream
+xڽX X纞
+NRD3&N'Fk#9I&[$x¢sO+"4ZEJVhJpfpU>Z_#ӄ1@L$%i eb1O, ^%+`b%!Mf"&bxBG$"h!D.G9#FHJ~qv/tKnnW%0ҋ\>Խxx gO=nyK^vUOPO4 5|Pu/`O v
+/;Bo'4DoVH*0*_Uץ656u!͒W5B4[: o㎝,5GYOU~9G}ܬ؍7a0S#>CO L7ϽI@صܬ9Wx8{] ;o5Dpwa&W 2J ̵orx0\\0o|Yv2^Z53&[;IK8/c;)s]A-c~ĞGXc R5qIZUt#: ZsW%1իPUcKC65RVvt)Me1=WZ2 рL<G` LɊc&mG'&75ߛw2X
+?P )r̞.~מR Tq0_X2r}ZNgOPC!_xF^·Ņ"Jf|CZ#q&&j]ټB"ӯ\C^$ k6WFWUTiv~[7ݙ8i3y켭ҰAѸgY@7[w5r͕2| ,d;/r)ko 'E!^1'p;(MԖ-_n֡WUaZp]Fu=J]U&ftɅA9Nڥ,N^p')fW ŤhSw[ P,_\I:Mx$WLw>XgyD5|~zE}C'%b
+hC:)*d\X~meƨI(ٰrEox;9څ'n.0w?WLK"BR}X  ǖnL
++UpdƼv$rQ CC['W<fG*)wi&3ߐQ-KDe@=}{cjBdǀ7P?yzMݠِd(\Bh7݁z؞ַ*0bk%D9@:n BB7c1QjZRpfxL$3΍ b_e0] uza.;TϝsP3 -|=VIܬbOԝܝ.ݍ3N'ڷ|Pt Ųgv،ZdF<Iy~䳘-)I%K~<
+pXkc<a0S@ւ"ږWl d| :ˎc{suN9c+*=r_oʂ2vS1jpo< xdϣg@r}zOIȖ{o?^uSG];|zod;b ,y *3S1+N9j1q["Ӱ OR=OF` Kv1ՕS2Fr<<쩩o%O1k#7ʓ7cO0 po
+6pa|[\tnv{gUk}뾣u
+cDLpo|h9*Uy脖TM~~yI=ԭ1XgO.2 Bt
+ bģqLJ#QX&KIm!k-mF w:3Fd;E>?q<';xBޫYIVGF.@YhQ<4yZ8~[d+Qrhw.S2@/H0sɀ5>u;s8< B(6@~ᆓ-y$a"/_Ūdi׶zٔo`EXMRcF7A5,O68T)N?T"*9AVX”q0]rd
+/մ ǤK,7%9niF-L[&mqW)]vVV|Sk)6l9Ͷv6Zgd4}jvF0wPd>mߞ͎Y *bz"ՉvbWԸ֘9KjIW%bV#GN7T[C;#|F
+/5Ux~9 jOxڵ8.$%M3̈6L(^"}mwo\ Ugұ u5/<=W*X,[GL%glp*G{'_% kx2J=&
+IS.:OZgKe&Ȯ΁>J]؂RÍ8yCrԼC+nj<;vT,?s 7]!B ?SyQQQXRZV B,zaub2
+}$8O"Upz9O' NIwA\Yq
+VO| y=.jXwXlo{z:
+;lEŞ7q
endstream
endobj
-711 0 obj
-<< /Type /FontDescriptor /FontName /QXXTJX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 713 0 R /CIDSet 712 0 R >>
+741 0 obj
+<< /Type /FontDescriptor /FontName /IUSWHX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 743 0 R /CIDSet 742 0 R >>
endobj
-714 0 obj
-<< /Filter /FlateDecode /Length 570 >>
+744 0 obj
+<< /Filter /FlateDecode /Length 558 >>
stream
-x}[0+$!r]!$DսPk DI}&T"eg }ҟ>rmB˷FU]TݻB!ھO];ٱrڨ{0U\z!'sRl6˃p??޶ug+%>ew1Od&D%u[sscIJl7!l2>JhʎָLEG~ʌ]NVuٌMLչ~&ZH]3hrv}\ø73!OF=$7Dzo_gFq
-JP=T1DЌ1]ӴMIML"N:$.Ps38_XS
-2B<۶fUܺ}P*yn)ud#
+x}[o0+H! IV"m/v!Hĉry߯PZ ė9sf}{ YȟsꛜKV{ѪTJ$I7UFݝNިKLB}>lse[ztYsS/"Qv#ʬ/jڢRO,k%Ui&ls&cd㬲1!E9yWewr7\]s[#)ԉox9d0LQKf%_h]nf+ImdDL/,կGJ~sT@0|!#,I074E3h
+BtZY-Ȍ,Mh tH PZ S\?GNRor hF= i:N֖bLRf9($/qBBbl7FwJ0v *161Gp-ATA\ÙpOfO{[3𺶱 kF)䁍8idCi} `/=|jSe6R/P
endstream
endobj
-216 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QXXTJX+LMRoman9-Regular /DescendantFonts [ 715 0 R ] /ToUnicode 714 0 R >>
+224 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IUSWHX+LMRoman9-Regular /DescendantFonts [ 745 0 R ] /ToUnicode 744 0 R >>
endobj
-715 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QXXTJX+LMRoman9-Regular /FontDescriptor 711 0 R /W 710 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+745 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IUSWHX+LMRoman9-Regular /FontDescriptor 741 0 R /W 740 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-716 0 obj
+746 0 obj
[ 75 [ 986 ] 95 [ 887 ] 98 [ 467 ] 109 [ 657 ] 251 [ 543 ] ]
endobj
-718 0 obj
+748 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc`Ft
endstream
endobj
-719 0 obj
+749 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1088 >>
stream
xڅTmLSWJ/wQ*ҋhA]@Eatc&vFRt{k%JAriP HcKh4MLlfes&\9ĬY%K&=<oL82yE_R5m{8)I@JIZJäDGIL,C)dMRAdZg_=dF$;H
@@ -3261,10 +3377,10 @@ W-`glZzPV':x`vpN;Y,<pqF5 8m&]Y
y{{`,$(׍u^FfHJU}lķZ9z__njM OH(rCm?'`UYdH&r$}._W_w.Izt#_aT
endstream
endobj
-717 0 obj
-<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 719 0 R /CIDSet 718 0 R >>
+747 0 obj
+<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 749 0 R /CIDSet 748 0 R >>
endobj
-720 0 obj
+750 0 obj
<< /Filter /FlateDecode /Length 381 >>
stream
x}R]@}_q!sa/*b7:#>wf̂EVP<s\N'WW}
@@ -3272,23 +3388,23 @@ G,TzmNgX,wyS8hNXBw-#)ʞGF.Mȗľg߇Mt6ۣb9*(S
܀ B(9ARj$_+~7GBڼd
endstream
endobj
-215 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 721 0 R ] /ToUnicode 720 0 R >>
+223 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 751 0 R ] /ToUnicode 750 0 R >>
endobj
-721 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 717 0 R /W 716 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+751 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 747 0 R /W 746 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-722 0 obj
+752 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-724 0 obj
+754 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-725 0 obj
+755 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -3303,69 +3419,70 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-723 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 725 0 R /CIDSet 724 0 R >>
+753 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 755 0 R /CIDSet 754 0 R >>
endobj
-726 0 obj
+756 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
-214 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 727 0 R ] /ToUnicode 726 0 R >>
+222 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 757 0 R ] /ToUnicode 756 0 R >>
endobj
-727 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 723 0 R /W 722 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+757 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 753 0 R /W 752 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-728 0 obj
-[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 72 [ 272 ] 77 [ 544 ] 82 [ 490 666 ] 88 [ 272 ] 96 [ 381 ] 105 [ 381 ] 107 [ 490 ] 112 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] ]
+758 0 obj
+[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 ] 82 [ 490 666 ] 88 [ 272 ] 105 [ 381 ] 107 [ 490 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] ]
endobj
-730 0 obj
+760 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc`````
-Ph1hhhr`
+P1h``r`
endstream
endobj
-731 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2282 >>
+761 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2100 >>
stream
-xuV TWf[3:3vGy "UX_ ! ayPR@D! *VQq[JV[ۮҞnwt8;=n=s̹_"`ڸ+g$IRg3gE$)zU&s9;}(`T(.<:k <DDPzp1 Q>9q[HX"@#=O*%
-vVdt8uN&SfEG~;8/b#]Yj6+JӨHjM$6T5M*2RT:JVlZFK)5j}vZ$ jMſ5
-"EHtBC2Ԋ 듩jZG%dRZAQZrFEHFhT/Q}OLHX^"uy:*]L6.j!QNQNUJSкL]> <dEV"k$d= ىd"YH#|B!EԆ"'XR2 &
-UK'?Aܿ$̇ƚX5z4Ik1*:ơ]c)Xv|A†xix<؁IBm1ȱ䳏:.: ,,v< ebwܒ~ԶI `#n8=1;nZѰnqМNRsa67o{ ds$=Aw'ݰ^/oĂV[9$)gB6.1SߣNPiB u +E4FӭtC24q%bXŽIp.hsI}0t;إ.k426e Ov>s%ImIϦ‚|:MMc/&}MQ|0 Gp^sэM\<8Is~KpA.t[-'.JX+HlRsI$7V+ Խ9mg=td-.1=St$D_5#vꤏpGP搒a0lCw@tHd(k1h|I) EFo>&OШ-p0xM7'7ֳ?ZN:Wǭ8^3-,aWgqdh 9/l'K %S2=/
-P8?R
-R@ꛚf7+g`AS '
+xڭV{PSW+kܚ^;Q,Z" $$@HBA#A<l>֊qk+q:=W/:N=s3}O!`jJUk͉ېI I+tTjv:' &` e)?.R=H~ !{piBq"@"#w*$~1Bu"SK bSd,*NbC TJKY*Jg*3(U(OtZC)*]fv(*u6jRS::]rjMҖDjRqY{FNPF.2ܥaaZ"TVe:0%Mظ]!qbVoY-R*5.צf)5ɷx:'U"]&_.YBA"d F#d d!H>RG
+||}}Q~~~0G$ѕ?$|x>+68Nҫ-hlAAϮnTN.|I\R,0=
+PL~m_%܎ʨH?o|yOZWT|;I.tv)i]}yJH*
+vP¥:aҕ?:W|}>E6cVK [ӳ ;'vMdBgFm)XR\H6wmĎ;[eGpˮo<Ixx|pRSxN(/:;wd"{/XIlǦrQf-i5ո.\.1Kw8B2Z'2>3$Dޑn6'}K]G0d  +f>5S4dPdRHiZ[{
+9ք**KJ[FA;W`i!%nz i?}YȖKGq8𖓭'|r۞
+'K2tJ*D\ +GDpQw0OڢuiV\nq9[ Wor2Թ` >kD4NM_7Ng|L`bNxXbr'E7˷o~MHW2}#Ȟa˥:Qe9ѴO\Z
+P ȭ?3n@
+Prq5X*Ssr;qeA AguSpMtgnyIiP% U^pvچ|Dx_:\bNqWҋ3HUiȂDw$i.]4]?ȢIׂ(#_>qxvl?/eO7 ׉;?~f@AO
endstream
endobj
-729 0 obj
-<< /Type /FontDescriptor /FontName /PCNKHN+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 731 0 R /CIDSet 730 0 R >>
+759 0 obj
+<< /Type /FontDescriptor /FontName /ZBWEHY+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 761 0 R /CIDSet 760 0 R >>
endobj
-732 0 obj
-<< /Filter /FlateDecode /Length 449 >>
+762 0 obj
+<< /Filter /FlateDecode /Length 444 >>
stream
-xڅn0<{(" im%Q+'YKFy=JUE1f
-(H9F\ h ^y
-Ņ-Di,Cΐdf =/ii;SOsy *3%H؝a c}2t \cK8n72[{cCM_*<Gn\GoO?
+xڅM0C {ZC no4Idd_IcBЀ;3F3 }0eVcz`2Ykר'Dbb4aU.nT UxCtVוp\V%0\ /M+1f?lX (DT nqBn k;-֥:`vmg.M=FL]4gtESU#DnQ]#ii1YZ`TMN,X+T8Ñ
+x>ʸBb, GiiyJgDKRf [6L<4gD_=%̨_N2&rrS|pFUN$q^YX_wMX*|ߕF7.?~ƝwN,
endstream
endobj
-213 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PCNKHN+LMRoman12-Regular /DescendantFonts [ 733 0 R ] /ToUnicode 732 0 R >>
+221 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZBWEHY+LMRoman12-Regular /DescendantFonts [ 763 0 R ] /ToUnicode 762 0 R >>
endobj
-733 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PCNKHN+LMRoman12-Regular /FontDescriptor 729 0 R /W 728 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+763 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZBWEHY+LMRoman12-Regular /FontDescriptor 759 0 R /W 758 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-734 0 obj
+764 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-736 0 obj
+766 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-737 0 obj
+767 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>XD܉1h%{{A
@@ -3374,10 +3491,10 @@ xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>
'5;լ{k-MW<sϞ>ҍyPs-T2LDf_LeqgF, .r
endstream
endobj
-735 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 737 0 R /CIDSet 736 0 R >>
+765 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 767 0 R /CIDSet 766 0 R >>
endobj
-738 0 obj
+768 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
x}R]k0}ϯ{6u:kMn]&%mKR0
@@ -3385,22 +3502,22 @@ x}R]k0}ϯ{6u:kMn]&%mKR0
OdPWBCJXIP"%\HoVd`\ܛ&*ۜ\X抄!dQ\g?h8IS~(6mTE}}ã'#0S2c3yFh<Aiu[h礫L[P9lʡIТuMCq;=Ćz5Z]n4;xR-wfnM~
endstream
endobj
-212 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 739 0 R ] /ToUnicode 738 0 R >>
+220 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 769 0 R ] /ToUnicode 768 0 R >>
endobj
-739 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 735 0 R /W 734 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+769 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 765 0 R /W 764 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-740 0 obj
+770 0 obj
[ 28 [ 459 ] 50 [ 406 ] 66 [ 250 ] 71 [ 576 ] 77 [ 511 ] 81 [ 459 ] 98 [ 359 ] 104 [ 668 354 ] 115 [ 693 485 ] 502 [ 250 ] ]
endobj
-742 0 obj
+772 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc````P`Pdq`P8 @`
endstream
endobj
-743 0 obj
+773 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1830 >>
stream
xuUkPEUm8(wMNmvhvk<<ıc [%@Z]-Bc&P4&'㌧vǞ>NidIj4K*G;s{~("#(n{US#/`ݵ'c18YS@M [ITZ&0r1?L*c]$Gۏ
@@ -3417,23 +3534,23 @@ jqS”M<D'N yѻ?[y~-(15+Z-NaFG.E0N]
!UcN;q]]a-H]:
endstream
endobj
-741 0 obj
-<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 743 0 R /CIDSet 742 0 R >>
+771 0 obj
+<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 773 0 R /CIDSet 772 0 R >>
endobj
-744 0 obj
+774 0 obj
<< /Filter /FlateDecode /Length 425 >>
stream
xڅKk0@p-ٔ`qpI$[Gb"~$Ѐ?sc nv/il6gE +#u(Qj
ڣ)4 sq{OIEk&A34'vu_\ZKs)'2?:Iv
endstream
endobj
-211 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 745 0 R ] /ToUnicode 744 0 R >>
+219 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 775 0 R ] /ToUnicode 774 0 R >>
endobj
-745 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 741 0 R /W 740 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+775 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 771 0 R /W 770 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-747 0 obj
+777 0 obj
<< /Length1 1524 /Length2 7052 /Length3 0 /Filter /FlateDecode /Length 8075 >>
stream
xڍwT]6ҩR# ]CI0P3 #1tt
@@ -3465,10 +3582,10 @@ lNI2*ʪ)q2DnWtx8Ӹ©tT[m9=Y2ˆrvM_]
z ˨iB|)hCߤAfhbr@tq+P皓z}ثd[wD}Kρ]~* #
endstream
endobj
-746 0 obj
-<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 747 0 R >>
+776 0 obj
+<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 777 0 R >>
endobj
-749 0 obj
+779 0 obj
<< /Length1 1407 /Length2 6115 /Length3 0 /Filter /FlateDecode /Length 7068 >>
stream
xڍtTk.ݩlr
@@ -3497,10 +3614,10 @@ q=48EKhH:aa(?$Oԝ3`Zn[wѳ=ொˉeډ{ۅ٧
-<R׿̫Oi_\|e3*3I( k`yPƸWŢ>AҸx!F߭; ̓!uD#Bx\n=x2BGg_^n33x}`K/;"U 25P&B:s/r*,RO1<'ĀZ~"EiB)8z*0S'G%:N~<+h9FN-RYId h\IbfFF&1}dO5ߴSNiBoDeEqcZ*6Ed%=Ye)1ؾXVaa翚EE~8'B|p+D|*|x@S:~Mzv]ۻO`_x}>ЊQIx{sᦟ?xTQgKݼ6+qduU6QqBݝWSY* X)Z31=AYjBn?8/zڙV~8kќ7Qk:+ ۡ.a^7/;581/! =BpXTq7*KO_3*T[$bdF*z7F7_$+޻ah$ˊ"҇YxB)URT g'U6 IJiv6yl͐zWw]q<E'*xɩ )D:AhÛٗY|CHd.զh>YzaJDr*(NvbpnOpUfBbϊ#YFw8 1R>4Z'@lМ:/wM,VtYz _-H/=4cU}m`@B%nD8_3ʈdZ 䊃ak)!<4"~I ^]z{o}cצx16bvD!dwyIFV'}mzHgLҒZɴ7 WuկZy:r'S<]3i
endstream
endobj
-748 0 obj
-<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 749 0 R >>
+778 0 obj
+<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 779 0 R >>
endobj
-751 0 obj
+781 0 obj
<< /Length1 1407 /Length2 6093 /Length3 0 /Filter /FlateDecode /Length 7053 >>
stream
xڍtTk.)85C ]Ҡt"0  1C "H#-% t4"(R"?wZYzzzh
@@ -3533,10 +3650,10 @@ hU$}'P:o~]M*Qߤ;}Xٮ9ـQpX7N@{Ijp$O ypz
}I!Enb)8~j y@_/b܋
endstream
endobj
-750 0 obj
-<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 751 0 R >>
+780 0 obj
+<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 781 0 R >>
endobj
-753 0 obj
+783 0 obj
<< /Length1 1518 /Length2 7335 /Length3 0 /Filter /FlateDecode /Length 8348 >>
stream
xڍtTo7Hw kLFAIAAB@bHH
@@ -3566,10 +3683,10 @@ U U>} ,4"&و鸳VUY :5
4NC 4J!hKɲX-GL#y AvaS,`7NTk&2xݲR0]]S(EYg:9a[Шvl&ˎEvH
endstream
endobj
-752 0 obj
-<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 753 0 R >>
+782 0 obj
+<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 783 0 R >>
endobj
-755 0 obj
+785 0 obj
<< /Length1 1457 /Length2 6431 /Length3 0 /Filter /FlateDecode /Length 7408 >>
stream
xڍvTn6%1VF).1 c
@@ -3608,10 +3725,10 @@ P)m\Ǟ/kq'}D(h.91V@;sڮ.弄
O[D&$%iާ)w{Y6{K#%w'}cnM<I \1G Gur Rh;݊~dܓsIϻ*y'expv$ǖư1H%FUO&y[X]bK(ڕ:=xi|8GZ4#;`%.Y#afcB}3h,燕qU=@>֣'6͈J,ADotn3ӧhJ aHͬ:҅b &kߤ #a7P{O<^_lh!:$gah,tK3kNsK@e8*X@^x
endstream
endobj
-754 0 obj
-<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 755 0 R >>
+784 0 obj
+<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 785 0 R >>
endobj
-757 0 obj
+787 0 obj
<< /Length1 1424 /Length2 6044 /Length3 0 /Filter /FlateDecode /Length 7012 >>
stream
xڍxT6 MW5Aj {/#(HGt
@@ -3638,10 +3755,10 @@ R^D/z<s[Y+y33NVYU
}$Y}1x`6IQࡪ]\QѢb\^)#z!?*5U}v\t?"n-g!D8΁X;[rewɏ-rgc4X
endstream
endobj
-756 0 obj
-<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 757 0 R >>
+786 0 obj
+<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 787 0 R >>
endobj
-759 0 obj
+789 0 obj
<< /Length1 1393 /Length2 5904 /Length3 0 /Filter /FlateDecode /Length 6854 >>
stream
xڍtTk.] 
@@ -3670,155 +3787,161 @@ p\g4=}M%:{(V1p]J9»$ʃ|GBHCe|/#>I<
7fTcVkY\5Ã-{e-=?+
endstream
endobj
-758 0 obj
-<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 759 0 R >>
+788 0 obj
+<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 789 0 R >>
endobj
-226 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 746 0 R /FirstChar 25 /LastChar 120 /Widths 660 0 R >>
+234 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 776 0 R /FirstChar 25 /LastChar 120 /Widths 690 0 R >>
endobj
-344 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 748 0 R /FirstChar 107 /LastChar 107 /Widths 584 0 R >>
+362 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 778 0 R /FirstChar 107 /LastChar 107 /Widths 614 0 R >>
endobj
-345 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 750 0 R /FirstChar 107 /LastChar 107 /Widths 583 0 R >>
+363 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 780 0 R /FirstChar 107 /LastChar 107 /Widths 613 0 R >>
endobj
-225 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 752 0 R /FirstChar 40 /LastChar 61 /Widths 661 0 R >>
+233 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 782 0 R /FirstChar 40 /LastChar 61 /Widths 691 0 R >>
endobj
-334 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 754 0 R /FirstChar 40 /LastChar 50 /Widths 586 0 R >>
+352 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 784 0 R /FirstChar 40 /LastChar 50 /Widths 616 0 R >>
endobj
-308 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 756 0 R /FirstChar 0 /LastChar 33 /Widths 587 0 R >>
+327 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 786 0 R /FirstChar 0 /LastChar 33 /Widths 617 0 R >>
endobj
-343 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 758 0 R /FirstChar 0 /LastChar 0 /Widths 585 0 R >>
+361 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 788 0 R /FirstChar 0 /LastChar 0 /Widths 615 0 R >>
endobj
-232 0 obj
-<< /Type /Pages /Parent 760 0 R /Count 10 /Kids [ 205 0 R 240 0 R 248 0 R 256 0 R 272 0 R 280 0 R 287 0 R 294 0 R 301 0 R 305 0 R ] >>
+240 0 obj
+<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 213 0 R 247 0 R 256 0 R 266 0 R 282 0 R 289 0 R 297 0 R 304 0 R 311 0 R 315 0 R ] >>
endobj
-313 0 obj
-<< /Type /Pages /Parent 760 0 R /Count 10 /Kids [ 310 0 R 317 0 R 326 0 R 331 0 R 336 0 R 340 0 R 347 0 R 351 0 R 360 0 R 367 0 R ] >>
+322 0 obj
+<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 319 0 R 324 0 R 329 0 R 335 0 R 344 0 R 349 0 R 354 0 R 358 0 R 365 0 R 374 0 R ] >>
endobj
-379 0 obj
-<< /Type /Pages /Parent 760 0 R /Count 10 /Kids [ 375 0 R 384 0 R 391 0 R 396 0 R 400 0 R 405 0 R 410 0 R 414 0 R 418 0 R 424 0 R ] >>
+382 0 obj
+<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 379 0 R 387 0 R 395 0 R 403 0 R 411 0 R 415 0 R 419 0 R 424 0 R 429 0 R 433 0 R ] >>
endobj
-497 0 obj
-<< /Type /Pages /Parent 760 0 R /Count 3 /Kids [ 494 0 R 537 0 R 555 0 R ] >>
+440 0 obj
+<< /Type /Pages /Parent 790 0 R /Count 6 /Kids [ 437 0 R 444 0 R 450 0 R 523 0 R 565 0 R 585 0 R ] >>
endobj
-760 0 obj
-<< /Type /Pages /Count 33 /Kids [ 232 0 R 313 0 R 379 0 R 497 0 R ] >>
+790 0 obj
+<< /Type /Pages /Count 36 /Kids [ 240 0 R 322 0 R 382 0 R 440 0 R ] >>
endobj
-761 0 obj
-<< /Type /Outlines /First 6 0 R /Last 202 0 R /Count 10 >>
+791 0 obj
+<< /Type /Outlines /First 6 0 R /Last 210 0 R /Count 11 >>
+endobj
+210 0 obj
+<< /Title 211 0 R /A 208 0 R /Parent 791 0 R /Prev 182 0 R >>
+endobj
+206 0 obj
+<< /Title 207 0 R /A 204 0 R /Parent 182 0 R /Prev 202 0 R >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 761 0 R /Prev 178 0 R >>
+<< /Title 203 0 R /A 200 0 R /Parent 182 0 R /Prev 198 0 R /Next 206 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 178 0 R /Prev 194 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 182 0 R /Prev 194 0 R /Next 202 0 R >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 178 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 182 0 R /Prev 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 178 0 R /Prev 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 182 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 178 0 R /Prev 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 178 0 R /Next 186 0 R >>
+<< /Title 183 0 R /A 180 0 R /Parent 791 0 R /Prev 170 0 R /Next 210 0 R /First 186 0 R /Last 206 0 R /Count -6 >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 761 0 R /Prev 166 0 R /Next 202 0 R /First 182 0 R /Last 198 0 R /Count -5 >>
+<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 166 0 R /Prev 170 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
+<< /Title 171 0 R /A 168 0 R /Parent 791 0 R /Prev 150 0 R /Next 182 0 R /First 174 0 R /Last 178 0 R /Count -2 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 761 0 R /Prev 146 0 R /Next 178 0 R /First 170 0 R /Last 174 0 R /Count -2 >>
+<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 146 0 R /Prev 158 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
endobj
158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 146 0 R /Prev 154 0 R /Next 162 0 R >>
+<< /Title 159 0 R /A 156 0 R /Parent 150 0 R /Prev 154 0 R /Next 162 0 R >>
endobj
154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 146 0 R /Prev 150 0 R /Next 158 0 R >>
+<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 146 0 R /Next 154 0 R >>
+<< /Title 151 0 R /A 148 0 R /Parent 791 0 R /Prev 146 0 R /Next 170 0 R /First 154 0 R /Last 166 0 R /Count -4 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 761 0 R /Prev 142 0 R /Next 166 0 R /First 150 0 R /Last 162 0 R /Count -4 >>
+<< /Title 147 0 R /A 144 0 R /Parent 791 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
-<< /Title 143 0 R /A 140 0 R /Parent 761 0 R /Prev 62 0 R /Next 146 0 R >>
+<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 62 0 R /Prev 134 0 R >>
+<< /Title 139 0 R /A 136 0 R /Parent 66 0 R /Prev 122 0 R /Next 142 0 R >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 62 0 R /Prev 118 0 R /Next 138 0 R >>
+<< /Title 135 0 R /A 132 0 R /Parent 122 0 R /Prev 130 0 R >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 122 0 R /Prev 126 0 R /Next 134 0 R >>
endobj
126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 118 0 R /Prev 122 0 R /Next 130 0 R >>
+<< /Title 127 0 R /A 124 0 R /Parent 122 0 R /Next 130 0 R >>
endobj
122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
+<< /Title 123 0 R /A 120 0 R /Parent 66 0 R /Prev 98 0 R /Next 138 0 R /First 126 0 R /Last 134 0 R /Count -3 >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 62 0 R /Prev 94 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
+<< /Title 119 0 R /A 116 0 R /Parent 98 0 R /Prev 114 0 R >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 94 0 R /Prev 110 0 R >>
+<< /Title 115 0 R /A 112 0 R /Parent 98 0 R /Prev 110 0 R /Next 118 0 R >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 98 0 R /Prev 106 0 R /Next 114 0 R >>
endobj
106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 94 0 R /Prev 102 0 R /Next 110 0 R >>
+<< /Title 107 0 R /A 104 0 R /Parent 98 0 R /Prev 102 0 R /Next 110 0 R >>
endobj
102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 94 0 R /Prev 98 0 R /Next 106 0 R >>
+<< /Title 103 0 R /A 100 0 R /Parent 98 0 R /Next 106 0 R >>
endobj
98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
+<< /Title 99 0 R /A 96 0 R /Parent 66 0 R /Prev 94 0 R /Next 122 0 R /First 102 0 R /Last 118 0 R /Count -5 >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 62 0 R /Prev 90 0 R /Next 118 0 R /First 98 0 R /Last 114 0 R /Count -5 >>
+<< /Title 95 0 R /A 92 0 R /Parent 66 0 R /Prev 82 0 R /Next 98 0 R >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 62 0 R /Prev 78 0 R /Next 94 0 R >>
+<< /Title 91 0 R /A 88 0 R /Parent 82 0 R /Prev 86 0 R >>
endobj
86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 78 0 R /Prev 82 0 R >>
+<< /Title 87 0 R /A 84 0 R /Parent 82 0 R /Next 90 0 R >>
endobj
82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 78 0 R /Next 86 0 R >>
+<< /Title 83 0 R /A 80 0 R /Parent 66 0 R /Prev 70 0 R /Next 94 0 R /First 86 0 R /Last 90 0 R /Count -2 >>
endobj
78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 62 0 R /Prev 66 0 R /Next 90 0 R /First 82 0 R /Last 86 0 R /Count -2 >>
+<< /Title 79 0 R /A 76 0 R /Parent 70 0 R /Prev 74 0 R >>
endobj
74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 66 0 R /Prev 70 0 R >>
+<< /Title 75 0 R /A 72 0 R /Parent 70 0 R /Next 78 0 R >>
endobj
70 0 obj
-<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 74 0 R >>
+<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 62 0 R /Next 78 0 R /First 70 0 R /Last 74 0 R /Count -2 >>
+<< /Title 67 0 R /A 64 0 R /Parent 791 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 761 0 R /Prev 34 0 R /Next 142 0 R /First 66 0 R /Last 138 0 R /Count -7 >>
+<< /Title 63 0 R /A 60 0 R /Parent 791 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -3839,7 +3962,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 761 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 791 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -3854,808 +3977,838 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 761 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 791 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 761 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 791 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 761 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 791 0 R /Next 10 0 R >>
endobj
-762 0 obj
-<< /Names [ (Doc-Start) 210 0 R (page.1) 209 0 R (page.10) 307 0 R (page.11) 312 0 R (page.12) 319 0 R (page.13) 328 0 R (page.14) 333 0 R (page.15) 338 0 R (page.16) 342 0 R (page.17) 349 0 R (page.18) 353 0 R (page.19) 362 0 R (page.2) 242 0 R (page.20) 369 0 R (page.21) 377 0 R (page.22) 386 0 R (page.23) 393 0 R (page.24) 398 0 R (page.25) 402 0 R (page.26) 407 0 R (page.27) 412 0 R (page.28) 416 0 R (page.29) 420 0 R (page.3) 250 0 R (page.30) 426 0 R (page.31) 496 0 R (page.32) 539 0 R (page.33) 557 0 R (page.4) 258 0 R (page.5) 274 0 R (page.6) 282 0 R (page.7) 289 0 R ] /Limits [ (Doc-Start) (page.7) ] >>
+792 0 obj
+<< /Names [ (Doc-Start) 218 0 R (page.1) 217 0 R (page.10) 317 0 R (page.11) 321 0 R (page.12) 326 0 R (page.13) 331 0 R (page.14) 337 0 R (page.15) 346 0 R (page.16) 351 0 R (page.17) 356 0 R (page.18) 360 0 R (page.19) 367 0 R (page.2) 249 0 R (page.20) 376 0 R (page.21) 381 0 R (page.22) 389 0 R (page.23) 397 0 R (page.24) 405 0 R (page.25) 413 0 R (page.26) 417 0 R (page.27) 421 0 R (page.28) 426 0 R (page.29) 431 0 R (page.3) 258 0 R (page.30) 435 0 R (page.31) 439 0 R (page.32) 446 0 R (page.33) 452 0 R (page.34) 525 0 R (page.35) 567 0 R (page.36) 587 0 R (page.4) 268 0 R ] /Limits [ (Doc-Start) (page.4) ] >>
endobj
-763 0 obj
-<< /Names [ (page.8) 296 0 R (page.9) 303 0 R (piton:passe) 298 0 R (piton:transpose) 297 0 R (section*.1) 201 0 R (section.1) 5 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 141 0 R (section.7) 145 0 R (section.8) 165 0 R (section.9) 177 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.5.1) 65 0 R (subsection.5.2) 77 0 R (subsection.5.3) 89 0 R (subsection.5.4) 93 0 R (subsection.5.5) 117 0 R (subsection.5.6) 133 0 R (subsection.5.7) 137 0 R (subsection.7.1) 149 0 R (subsection.7.2) 153 0 R (subsection.7.3) 157 0 R (subsection.7.4) 161 0 R ] /Limits [ (page.8) (subsection.7.4) ] >>
+793 0 obj
+<< /Names [ (page.5) 284 0 R (page.6) 291 0 R (page.7) 299 0 R (page.8) 306 0 R (page.9) 313 0 R (piton:passe) 308 0 R (piton:transpose) 307 0 R (section*.1) 209 0 R (section.1) 5 0 R (section.10) 181 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 65 0 R (section.7) 145 0 R (section.8) 149 0 R (section.9) 169 0 R (subsection.10.1) 185 0 R (subsection.10.2) 189 0 R (subsection.10.3) 193 0 R (subsection.10.4) 197 0 R (subsection.10.5) 201 0 R (subsection.10.6) 205 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.6.1) 69 0 R ] /Limits [ (page.5) (subsection.6.1) ] >>
endobj
-764 0 obj
-<< /Names [ (subsection.8.1) 169 0 R (subsection.8.2) 173 0 R (subsection.9.1) 181 0 R (subsection.9.2) 185 0 R (subsection.9.3) 189 0 R (subsection.9.4) 193 0 R (subsection.9.5) 197 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.5.1.1) 69 0 R (subsubsection.5.1.2) 73 0 R (subsubsection.5.2.1) 81 0 R (subsubsection.5.2.2) 85 0 R (subsubsection.5.4.1) 97 0 R (subsubsection.5.4.2) 101 0 R (subsubsection.5.4.3) 105 0 R (subsubsection.5.4.4) 109 0 R (subsubsection.5.4.5) 113 0 R (subsubsection.5.5.1) 121 0 R (subsubsection.5.5.2) 125 0 R (subsubsection.5.5.3) 129 0 R ] /Limits [ (subsection.8.1) (subsubsection.5.5.3) ] >>
+794 0 obj
+<< /Names [ (subsection.6.2) 81 0 R (subsection.6.3) 93 0 R (subsection.6.4) 97 0 R (subsection.6.5) 121 0 R (subsection.6.6) 137 0 R (subsection.6.7) 141 0 R (subsection.8.1) 153 0 R (subsection.8.2) 157 0 R (subsection.8.3) 161 0 R (subsection.8.4) 165 0 R (subsection.9.1) 173 0 R (subsection.9.2) 177 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.6.1.1) 73 0 R (subsubsection.6.1.2) 77 0 R (subsubsection.6.2.1) 85 0 R (subsubsection.6.2.2) 89 0 R (subsubsection.6.4.1) 101 0 R (subsubsection.6.4.2) 105 0 R (subsubsection.6.4.3) 109 0 R (subsubsection.6.4.4) 113 0 R (subsubsection.6.4.5) 117 0 R (subsubsection.6.5.1) 125 0 R (subsubsection.6.5.2) 129 0 R (subsubsection.6.5.3) 133 0 R ] /Limits [ (subsection.6.2) (subsubsection.6.5.3) ] >>
endobj
-765 0 obj
-<< /Kids [ 762 0 R 763 0 R 764 0 R ] /Limits [ (Doc-Start) (subsubsection.5.5.3) ] >>
+795 0 obj
+<< /Kids [ 792 0 R 793 0 R 794 0 R ] /Limits [ (Doc-Start) (subsubsection.6.5.3) ] >>
endobj
-766 0 obj
-<< /Dests 765 0 R >>
+796 0 obj
+<< /Dests 795 0 R >>
endobj
-767 0 obj
-<< /Type /Catalog /Pages 760 0 R /Outlines 761 0 R /Names 766 0 R /PageMode/UseOutlines /OpenAction 204 0 R >>
+797 0 obj
+<< /Type /Catalog /Pages 790 0 R /Outlines 791 0 R /Names 796 0 R /PageMode/UseOutlines /OpenAction 212 0 R >>
endobj
-768 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000p\000i\000t\000o\000n)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240414151949+02'00') /ModDate (D:20240414151949+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
+798 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000p\000i\000t\000o\000n)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240512112355+02'00') /ModDate (D:20240512112355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 769
+0 799
0000000000 65535 f
-0000162165 00000 n
-0000162210 00000 n
-0000162230 00000 n
+0000174381 00000 n
+0000174426 00000 n
+0000174446 00000 n
0000000020 00000 n
-0000015525 00000 n
-0000396136 00000 n
+0000016542 00000 n
+0000409762 00000 n
0000000065 00000 n
0000000155 00000 n
-0000020800 00000 n
-0000396050 00000 n
+0000021155 00000 n
+0000409676 00000 n
0000000200 00000 n
0000000288 00000 n
-0000020860 00000 n
-0000395925 00000 n
+0000021215 00000 n
+0000409551 00000 n
0000000334 00000 n
0000000498 00000 n
-0000020921 00000 n
-0000395851 00000 n
+0000021276 00000 n
+0000409477 00000 n
0000000549 00000 n
0000000663 00000 n
-0000020982 00000 n
-0000395764 00000 n
+0000021337 00000 n
+0000409390 00000 n
0000000714 00000 n
0000000873 00000 n
-0000021043 00000 n
-0000395677 00000 n
+0000021397 00000 n
+0000409303 00000 n
0000000924 00000 n
0000001304 00000 n
-0000025742 00000 n
-0000395603 00000 n
+0000027054 00000 n
+0000409229 00000 n
0000001355 00000 n
0000001561 00000 n
-0000025802 00000 n
-0000395478 00000 n
+0000033201 00000 n
+0000409104 00000 n
0000001607 00000 n
0000001715 00000 n
-0000032276 00000 n
-0000395404 00000 n
+0000033262 00000 n
+0000409030 00000 n
0000001766 00000 n
0000002000 00000 n
-0000043116 00000 n
-0000395280 00000 n
+0000044742 00000 n
+0000408906 00000 n
0000002051 00000 n
0000002132 00000 n
-0000043177 00000 n
-0000395206 00000 n
+0000044803 00000 n
+0000408832 00000 n
0000002188 00000 n
0000002297 00000 n
-0000048017 00000 n
-0000395119 00000 n
+0000049527 00000 n
+0000408745 00000 n
0000002353 00000 n
0000002510 00000 n
-0000048078 00000 n
-0000395045 00000 n
+0000054297 00000 n
+0000408671 00000 n
0000002566 00000 n
0000002705 00000 n
-0000052602 00000 n
-0000394971 00000 n
+0000054486 00000 n
+0000408597 00000 n
0000002756 00000 n
0000002981 00000 n
-0000057432 00000 n
-0000394844 00000 n
+0000058301 00000 n
+0000408509 00000 n
0000003027 00000 n
-0000003184 00000 n
-0000057493 00000 n
-0000394733 00000 n
-0000003235 00000 n
-0000003433 00000 n
-0000057554 00000 n
-0000394659 00000 n
-0000003489 00000 n
-0000003608 00000 n
-0000057615 00000 n
-0000394585 00000 n
-0000003664 00000 n
-0000003788 00000 n
-0000062067 00000 n
-0000394461 00000 n
-0000003839 00000 n
-0000004054 00000 n
-0000062128 00000 n
-0000394387 00000 n
-0000004110 00000 n
-0000004326 00000 n
-0000062189 00000 n
-0000394313 00000 n
-0000004382 00000 n
-0000004554 00000 n
-0000069457 00000 n
-0000394226 00000 n
-0000004605 00000 n
-0000004815 00000 n
-0000074272 00000 n
-0000394100 00000 n
-0000004866 00000 n
-0000005041 00000 n
-0000074333 00000 n
-0000394025 00000 n
-0000005097 00000 n
-0000005257 00000 n
-0000078207 00000 n
-0000393934 00000 n
-0000005314 00000 n
-0000005468 00000 n
-0000078269 00000 n
-0000393842 00000 n
-0000005525 00000 n
-0000005699 00000 n
-0000078331 00000 n
-0000393750 00000 n
-0000005756 00000 n
-0000005905 00000 n
-0000082176 00000 n
-0000393672 00000 n
-0000005962 00000 n
-0000006136 00000 n
-0000086687 00000 n
-0000393542 00000 n
-0000006188 00000 n
-0000006399 00000 n
-0000086749 00000 n
-0000393463 00000 n
-0000006456 00000 n
-0000006751 00000 n
-0000086811 00000 n
-0000393370 00000 n
-0000006808 00000 n
-0000007172 00000 n
-0000090175 00000 n
-0000393291 00000 n
-0000007229 00000 n
-0000007613 00000 n
-0000094668 00000 n
-0000393199 00000 n
-0000007665 00000 n
-0000007991 00000 n
-0000094730 00000 n
-0000393121 00000 n
-0000008043 00000 n
-0000008127 00000 n
-0000094792 00000 n
-0000393029 00000 n
-0000008174 00000 n
-0000008340 00000 n
-0000099745 00000 n
-0000392897 00000 n
-0000008387 00000 n
-0000008456 00000 n
-0000099807 00000 n
-0000392818 00000 n
-0000008508 00000 n
-0000008661 00000 n
-0000099869 00000 n
-0000392725 00000 n
-0000008713 00000 n
-0000008911 00000 n
-0000104102 00000 n
-0000392632 00000 n
-0000008963 00000 n
-0000009116 00000 n
-0000108407 00000 n
-0000392553 00000 n
-0000009168 00000 n
-0000009375 00000 n
-0000111672 00000 n
-0000392421 00000 n
-0000009422 00000 n
-0000009582 00000 n
-0000111734 00000 n
-0000392342 00000 n
-0000009634 00000 n
-0000009832 00000 n
-0000115653 00000 n
-0000392263 00000 n
-0000009884 00000 n
-0000010209 00000 n
-0000123729 00000 n
-0000392131 00000 n
-0000010256 00000 n
-0000010571 00000 n
-0000123791 00000 n
-0000392052 00000 n
-0000010623 00000 n
-0000010743 00000 n
-0000127359 00000 n
-0000391959 00000 n
-0000010795 00000 n
-0000010910 00000 n
-0000130981 00000 n
-0000391866 00000 n
-0000010962 00000 n
-0000011114 00000 n
-0000134553 00000 n
-0000391773 00000 n
-0000011166 00000 n
-0000011271 00000 n
-0000136806 00000 n
-0000391694 00000 n
-0000011323 00000 n
-0000011464 00000 n
-0000149577 00000 n
-0000391615 00000 n
-0000011512 00000 n
-0000011566 00000 n
-0000015043 00000 n
-0000015209 00000 n
-0000015585 00000 n
-0000011618 00000 n
-0000015401 00000 n
-0000015463 00000 n
-0000335169 00000 n
-0000331878 00000 n
-0000329774 00000 n
-0000325942 00000 n
-0000322608 00000 n
-0000320177 00000 n
-0000313573 00000 n
-0000311472 00000 n
-0000303192 00000 n
-0000292174 00000 n
-0000288707 00000 n
-0000285616 00000 n
-0000275329 00000 n
-0000271762 00000 n
-0000390334 00000 n
-0000389902 00000 n
-0000265518 00000 n
-0000263333 00000 n
-0000253963 00000 n
-0000250735 00000 n
-0000246714 00000 n
-0000390899 00000 n
-0000015180 00000 n
-0000019945 00000 n
-0000020103 00000 n
-0000020262 00000 n
-0000020420 00000 n
-0000020579 00000 n
-0000021104 00000 n
-0000019747 00000 n
-0000015969 00000 n
-0000020738 00000 n
-0000239117 00000 n
-0000237340 00000 n
-0000228915 00000 n
-0000019884 00000 n
-0000025863 00000 n
-0000025559 00000 n
-0000021319 00000 n
-0000025680 00000 n
-0000031908 00000 n
-0000032061 00000 n
-0000031592 00000 n
-0000031750 00000 n
-0000032337 00000 n
-0000031402 00000 n
-0000026104 00000 n
-0000032214 00000 n
-0000222042 00000 n
-0000031539 00000 n
-0000037470 00000 n
-0000037629 00000 n
-0000037787 00000 n
-0000037945 00000 n
-0000038104 00000 n
-0000038268 00000 n
-0000038432 00000 n
-0000038589 00000 n
-0000038746 00000 n
-0000038907 00000 n
-0000039131 00000 n
-0000037232 00000 n
-0000032591 00000 n
-0000039069 00000 n
-0000219228 00000 n
-0000215952 00000 n
-0000037369 00000 n
-0000042895 00000 n
-0000043238 00000 n
-0000042729 00000 n
-0000039385 00000 n
-0000043054 00000 n
-0000042866 00000 n
-0000047647 00000 n
-0000047801 00000 n
-0000048139 00000 n
-0000047473 00000 n
-0000043505 00000 n
-0000047955 00000 n
-0000207869 00000 n
-0000047610 00000 n
-0000052252 00000 n
-0000052663 00000 n
-0000052086 00000 n
-0000048380 00000 n
-0000052412 00000 n
-0000052474 00000 n
-0000052538 00000 n
-0000052223 00000 n
-0000057676 00000 n
-0000057249 00000 n
-0000052956 00000 n
-0000057370 00000 n
-0000062250 00000 n
-0000061884 00000 n
-0000057930 00000 n
-0000062005 00000 n
-0000390617 00000 n
-0000065478 00000 n
-0000065295 00000 n
-0000062478 00000 n
-0000065416 00000 n
-0000391051 00000 n
-0000069079 00000 n
-0000069237 00000 n
-0000069518 00000 n
-0000068905 00000 n
-0000065693 00000 n
-0000069395 00000 n
-0000069042 00000 n
-0000073574 00000 n
-0000073733 00000 n
-0000073892 00000 n
-0000074051 00000 n
-0000074394 00000 n
-0000073384 00000 n
-0000069772 00000 n
-0000074210 00000 n
-0000073521 00000 n
-0000078393 00000 n
-0000078024 00000 n
-0000074661 00000 n
-0000078145 00000 n
-0000390476 00000 n
-0000082238 00000 n
-0000081993 00000 n
-0000078621 00000 n
-0000082114 00000 n
-0000086873 00000 n
-0000086504 00000 n
-0000082427 00000 n
-0000086625 00000 n
-0000390759 00000 n
-0000390046 00000 n
-0000390190 00000 n
-0000090237 00000 n
-0000089992 00000 n
-0000087218 00000 n
-0000090113 00000 n
-0000094854 00000 n
-0000094485 00000 n
-0000090465 00000 n
-0000094606 00000 n
-0000098886 00000 n
-0000099045 00000 n
-0000099208 00000 n
-0000099371 00000 n
-0000099529 00000 n
-0000099931 00000 n
-0000098688 00000 n
-0000095043 00000 n
-0000099683 00000 n
-0000098825 00000 n
-0000103724 00000 n
-0000103882 00000 n
-0000104164 00000 n
-0000103550 00000 n
-0000100133 00000 n
-0000104040 00000 n
-0000103687 00000 n
-0000107849 00000 n
-0000108008 00000 n
-0000108167 00000 n
-0000108469 00000 n
-0000107667 00000 n
-0000104366 00000 n
-0000108345 00000 n
-0000204017 00000 n
-0000391203 00000 n
-0000107804 00000 n
-0000115285 00000 n
-0000115438 00000 n
-0000111796 00000 n
-0000111489 00000 n
-0000108736 00000 n
-0000111610 00000 n
-0000201951 00000 n
-0000189790 00000 n
-0000175063 00000 n
-0000115715 00000 n
-0000115111 00000 n
-0000112037 00000 n
-0000115591 00000 n
-0000115248 00000 n
-0000118314 00000 n
-0000118131 00000 n
-0000115930 00000 n
-0000118252 00000 n
-0000119452 00000 n
-0000119269 00000 n
-0000118516 00000 n
-0000119390 00000 n
-0000123489 00000 n
-0000123853 00000 n
-0000123323 00000 n
-0000119602 00000 n
-0000123667 00000 n
-0000123460 00000 n
-0000127421 00000 n
-0000127176 00000 n
-0000124081 00000 n
-0000127297 00000 n
-0000131043 00000 n
-0000130798 00000 n
-0000127584 00000 n
-0000130919 00000 n
-0000134615 00000 n
-0000134370 00000 n
-0000131232 00000 n
-0000134491 00000 n
-0000136426 00000 n
-0000136585 00000 n
-0000136868 00000 n
-0000136252 00000 n
-0000134791 00000 n
-0000136744 00000 n
-0000136389 00000 n
-0000139702 00000 n
-0000139851 00000 n
-0000140002 00000 n
-0000140154 00000 n
-0000140306 00000 n
-0000140458 00000 n
-0000140610 00000 n
-0000140761 00000 n
-0000140912 00000 n
-0000141063 00000 n
-0000141214 00000 n
-0000141365 00000 n
-0000141517 00000 n
-0000141668 00000 n
-0000141819 00000 n
-0000141971 00000 n
-0000142123 00000 n
-0000142275 00000 n
-0000142427 00000 n
-0000142579 00000 n
-0000142731 00000 n
-0000142882 00000 n
-0000143034 00000 n
-0000143186 00000 n
-0000143338 00000 n
-0000143490 00000 n
-0000143642 00000 n
-0000143793 00000 n
-0000143943 00000 n
-0000144094 00000 n
-0000144243 00000 n
-0000144394 00000 n
-0000144545 00000 n
-0000144694 00000 n
-0000144844 00000 n
-0000144993 00000 n
-0000145142 00000 n
-0000145291 00000 n
-0000145442 00000 n
-0000145593 00000 n
-0000145745 00000 n
-0000145897 00000 n
-0000146048 00000 n
-0000146198 00000 n
-0000146349 00000 n
-0000146500 00000 n
-0000146651 00000 n
-0000146803 00000 n
-0000146954 00000 n
-0000147105 00000 n
-0000147255 00000 n
-0000147406 00000 n
-0000147558 00000 n
-0000147710 00000 n
-0000147860 00000 n
-0000148011 00000 n
-0000148162 00000 n
-0000148313 00000 n
-0000148464 00000 n
-0000148615 00000 n
-0000148764 00000 n
-0000148915 00000 n
-0000149066 00000 n
-0000149215 00000 n
-0000149364 00000 n
-0000149639 00000 n
-0000139024 00000 n
-0000137031 00000 n
-0000149515 00000 n
-0000391355 00000 n
-0000139161 00000 n
-0000152613 00000 n
-0000152765 00000 n
-0000152918 00000 n
-0000153068 00000 n
-0000153226 00000 n
-0000153382 00000 n
-0000153540 00000 n
-0000153698 00000 n
-0000153851 00000 n
-0000154008 00000 n
-0000154166 00000 n
-0000154330 00000 n
-0000154494 00000 n
-0000154658 00000 n
-0000154816 00000 n
-0000154969 00000 n
-0000155127 00000 n
-0000155291 00000 n
-0000155455 00000 n
-0000155613 00000 n
-0000155777 00000 n
-0000155940 00000 n
-0000156098 00000 n
-0000156255 00000 n
-0000156419 00000 n
-0000156582 00000 n
-0000156746 00000 n
-0000156910 00000 n
-0000157074 00000 n
-0000157229 00000 n
-0000157393 00000 n
-0000157557 00000 n
-0000157721 00000 n
-0000157878 00000 n
-0000158036 00000 n
-0000159620 00000 n
-0000159773 00000 n
-0000158250 00000 n
-0000152175 00000 n
-0000149828 00000 n
-0000158188 00000 n
-0000152312 00000 n
-0000159931 00000 n
-0000160089 00000 n
-0000160247 00000 n
-0000160404 00000 n
-0000160557 00000 n
-0000160715 00000 n
-0000160872 00000 n
-0000161025 00000 n
-0000161183 00000 n
-0000161341 00000 n
-0000161498 00000 n
-0000161656 00000 n
-0000161813 00000 n
-0000162028 00000 n
-0000159342 00000 n
-0000158452 00000 n
-0000161966 00000 n
-0000159479 00000 n
-0000162283 00000 n
-0000174265 00000 n
-0000162510 00000 n
-0000162612 00000 n
-0000174504 00000 n
-0000175225 00000 n
-0000175456 00000 n
-0000188965 00000 n
-0000175778 00000 n
-0000175884 00000 n
-0000189196 00000 n
-0000189944 00000 n
-0000190167 00000 n
-0000201198 00000 n
-0000190313 00000 n
-0000190410 00000 n
-0000201435 00000 n
-0000202110 00000 n
-0000202338 00000 n
-0000203330 00000 n
-0000202381 00000 n
-0000202476 00000 n
-0000203570 00000 n
-0000204172 00000 n
-0000204373 00000 n
-0000204399 00000 n
-0000204425 00000 n
-0000204451 00000 n
-0000204511 00000 n
-0000204606 00000 n
-0000207093 00000 n
-0000204811 00000 n
-0000204914 00000 n
-0000207338 00000 n
-0000208030 00000 n
-0000208237 00000 n
-0000214961 00000 n
-0000208725 00000 n
-0000208841 00000 n
-0000215198 00000 n
-0000216107 00000 n
-0000216308 00000 n
-0000218480 00000 n
-0000216463 00000 n
-0000216568 00000 n
-0000218724 00000 n
-0000219389 00000 n
-0000219596 00000 n
-0000221302 00000 n
-0000219719 00000 n
-0000219825 00000 n
-0000221548 00000 n
-0000222204 00000 n
-0000222412 00000 n
-0000228040 00000 n
-0000222817 00000 n
-0000222937 00000 n
-0000228281 00000 n
-0000229071 00000 n
-0000229273 00000 n
-0000236389 00000 n
-0000229726 00000 n
-0000229847 00000 n
-0000236626 00000 n
-0000237494 00000 n
-0000237694 00000 n
-0000238441 00000 n
-0000237727 00000 n
-0000237821 00000 n
-0000238677 00000 n
-0000239270 00000 n
-0000239469 00000 n
-0000245752 00000 n
-0000239921 00000 n
-0000240031 00000 n
-0000245989 00000 n
-0000246869 00000 n
-0000247070 00000 n
-0000249964 00000 n
-0000247296 00000 n
-0000247401 00000 n
-0000250204 00000 n
-0000250890 00000 n
-0000251091 00000 n
-0000253196 00000 n
-0000251325 00000 n
-0000251430 00000 n
-0000253433 00000 n
-0000254118 00000 n
-0000254319 00000 n
-0000262315 00000 n
-0000254863 00000 n
-0000254994 00000 n
-0000262553 00000 n
-0000263489 00000 n
-0000263691 00000 n
-0000264822 00000 n
-0000263747 00000 n
-0000263847 00000 n
-0000265061 00000 n
-0000265674 00000 n
-0000265876 00000 n
-0000266114 00000 n
-0000266202 00000 n
-0000270903 00000 n
-0000266567 00000 n
-0000266676 00000 n
-0000271142 00000 n
-0000271917 00000 n
-0000272118 00000 n
-0000274569 00000 n
-0000272328 00000 n
-0000272432 00000 n
-0000274806 00000 n
-0000275484 00000 n
-0000275685 00000 n
-0000284550 00000 n
-0000276162 00000 n
-0000276282 00000 n
-0000284788 00000 n
-0000285772 00000 n
-0000285974 00000 n
-0000287981 00000 n
-0000286087 00000 n
-0000286190 00000 n
-0000288220 00000 n
-0000288863 00000 n
-0000289065 00000 n
-0000291394 00000 n
-0000289293 00000 n
-0000289398 00000 n
-0000291632 00000 n
-0000292330 00000 n
-0000292532 00000 n
-0000302088 00000 n
-0000293179 00000 n
-0000293320 00000 n
-0000302327 00000 n
-0000303349 00000 n
-0000303552 00000 n
-0000310518 00000 n
-0000304030 00000 n
-0000304154 00000 n
-0000310755 00000 n
-0000311626 00000 n
-0000311826 00000 n
-0000312872 00000 n
-0000311903 00000 n
-0000312002 00000 n
-0000313109 00000 n
-0000313728 00000 n
-0000313929 00000 n
-0000319287 00000 n
-0000314337 00000 n
-0000314460 00000 n
-0000319525 00000 n
-0000320333 00000 n
-0000320535 00000 n
-0000321909 00000 n
-0000320613 00000 n
-0000320715 00000 n
-0000322145 00000 n
-0000322761 00000 n
-0000322960 00000 n
-0000325194 00000 n
-0000323138 00000 n
-0000323243 00000 n
-0000325432 00000 n
-0000326098 00000 n
-0000326300 00000 n
-0000329004 00000 n
-0000326507 00000 n
-0000326616 00000 n
-0000329243 00000 n
-0000329931 00000 n
-0000330134 00000 n
-0000331175 00000 n
-0000330211 00000 n
-0000330310 00000 n
-0000331413 00000 n
-0000332034 00000 n
-0000332236 00000 n
-0000334423 00000 n
-0000332378 00000 n
-0000332487 00000 n
-0000334662 00000 n
-0000335326 00000 n
-0000343725 00000 n
-0000335529 00000 n
-0000351178 00000 n
-0000343989 00000 n
-0000358574 00000 n
-0000351400 00000 n
-0000367265 00000 n
-0000358796 00000 n
-0000375071 00000 n
-0000367542 00000 n
-0000382460 00000 n
-0000375327 00000 n
-0000389675 00000 n
-0000382700 00000 n
-0000391450 00000 n
-0000391539 00000 n
-0000396208 00000 n
-0000396846 00000 n
-0000397633 00000 n
-0000398335 00000 n
-0000398438 00000 n
-0000398476 00000 n
-0000398604 00000 n
+0000003377 00000 n
+0000067046 00000 n
+0000408382 00000 n
+0000003423 00000 n
+0000003580 00000 n
+0000067107 00000 n
+0000408271 00000 n
+0000003631 00000 n
+0000003829 00000 n
+0000067168 00000 n
+0000408197 00000 n
+0000003885 00000 n
+0000004004 00000 n
+0000067229 00000 n
+0000408123 00000 n
+0000004060 00000 n
+0000004184 00000 n
+0000071607 00000 n
+0000407999 00000 n
+0000004235 00000 n
+0000004450 00000 n
+0000071668 00000 n
+0000407925 00000 n
+0000004506 00000 n
+0000004722 00000 n
+0000071729 00000 n
+0000407851 00000 n
+0000004778 00000 n
+0000004950 00000 n
+0000079181 00000 n
+0000407764 00000 n
+0000005001 00000 n
+0000005211 00000 n
+0000084226 00000 n
+0000407637 00000 n
+0000005262 00000 n
+0000005437 00000 n
+0000084287 00000 n
+0000407559 00000 n
+0000005494 00000 n
+0000005655 00000 n
+0000084349 00000 n
+0000407467 00000 n
+0000005712 00000 n
+0000005866 00000 n
+0000088107 00000 n
+0000407375 00000 n
+0000005923 00000 n
+0000006097 00000 n
+0000088169 00000 n
+0000407283 00000 n
+0000006154 00000 n
+0000006303 00000 n
+0000091903 00000 n
+0000407205 00000 n
+0000006360 00000 n
+0000006534 00000 n
+0000096538 00000 n
+0000407075 00000 n
+0000006586 00000 n
+0000006797 00000 n
+0000096600 00000 n
+0000406996 00000 n
+0000006854 00000 n
+0000007149 00000 n
+0000096662 00000 n
+0000406903 00000 n
+0000007206 00000 n
+0000007570 00000 n
+0000100135 00000 n
+0000406824 00000 n
+0000007627 00000 n
+0000008011 00000 n
+0000105026 00000 n
+0000406732 00000 n
+0000008063 00000 n
+0000008389 00000 n
+0000105088 00000 n
+0000406654 00000 n
+0000008441 00000 n
+0000008525 00000 n
+0000105149 00000 n
+0000406562 00000 n
+0000008572 00000 n
+0000008738 00000 n
+0000109016 00000 n
+0000406430 00000 n
+0000008785 00000 n
+0000008854 00000 n
+0000109078 00000 n
+0000406351 00000 n
+0000008906 00000 n
+0000009059 00000 n
+0000109140 00000 n
+0000406258 00000 n
+0000009111 00000 n
+0000009309 00000 n
+0000113416 00000 n
+0000406165 00000 n
+0000009361 00000 n
+0000009514 00000 n
+0000117776 00000 n
+0000406086 00000 n
+0000009566 00000 n
+0000009773 00000 n
+0000121533 00000 n
+0000405954 00000 n
+0000009820 00000 n
+0000009980 00000 n
+0000121595 00000 n
+0000405875 00000 n
+0000010032 00000 n
+0000010230 00000 n
+0000124979 00000 n
+0000405796 00000 n
+0000010282 00000 n
+0000010607 00000 n
+0000132897 00000 n
+0000405664 00000 n
+0000010655 00000 n
+0000010970 00000 n
+0000132959 00000 n
+0000405585 00000 n
+0000011023 00000 n
+0000011143 00000 n
+0000136528 00000 n
+0000405492 00000 n
+0000011196 00000 n
+0000011311 00000 n
+0000140152 00000 n
+0000405399 00000 n
+0000011364 00000 n
+0000011516 00000 n
+0000143726 00000 n
+0000405306 00000 n
+0000011569 00000 n
+0000011674 00000 n
+0000145980 00000 n
+0000405213 00000 n
+0000011727 00000 n
+0000011868 00000 n
+0000148014 00000 n
+0000405134 00000 n
+0000011921 00000 n
+0000012244 00000 n
+0000161323 00000 n
+0000405055 00000 n
+0000012292 00000 n
+0000012346 00000 n
+0000016062 00000 n
+0000016228 00000 n
+0000016602 00000 n
+0000012398 00000 n
+0000016418 00000 n
+0000016480 00000 n
+0000348585 00000 n
+0000345294 00000 n
+0000343190 00000 n
+0000339568 00000 n
+0000336234 00000 n
+0000333803 00000 n
+0000327525 00000 n
+0000325424 00000 n
+0000316909 00000 n
+0000305784 00000 n
+0000301935 00000 n
+0000298844 00000 n
+0000288497 00000 n
+0000284657 00000 n
+0000403750 00000 n
+0000403318 00000 n
+0000278356 00000 n
+0000276239 00000 n
+0000266869 00000 n
+0000263641 00000 n
+0000259620 00000 n
+0000404315 00000 n
+0000016199 00000 n
+0000020936 00000 n
+0000020782 00000 n
+0000026356 00000 n
+0000026515 00000 n
+0000021457 00000 n
+0000020608 00000 n
+0000016986 00000 n
+0000021093 00000 n
+0000252023 00000 n
+0000250246 00000 n
+0000020745 00000 n
+0000026674 00000 n
+0000026833 00000 n
+0000027115 00000 n
+0000026166 00000 n
+0000021698 00000 n
+0000026992 00000 n
+0000241510 00000 n
+0000026303 00000 n
+0000032837 00000 n
+0000032988 00000 n
+0000038839 00000 n
+0000038998 00000 n
+0000033322 00000 n
+0000032663 00000 n
+0000027356 00000 n
+0000033139 00000 n
+0000234890 00000 n
+0000032800 00000 n
+0000039157 00000 n
+0000039316 00000 n
+0000039474 00000 n
+0000039632 00000 n
+0000039791 00000 n
+0000039955 00000 n
+0000040119 00000 n
+0000040276 00000 n
+0000044355 00000 n
+0000044517 00000 n
+0000040495 00000 n
+0000038601 00000 n
+0000033602 00000 n
+0000040433 00000 n
+0000232076 00000 n
+0000038738 00000 n
+0000044196 00000 n
+0000044864 00000 n
+0000044014 00000 n
+0000040736 00000 n
+0000044680 00000 n
+0000228800 00000 n
+0000044151 00000 n
+0000049155 00000 n
+0000049310 00000 n
+0000049587 00000 n
+0000048981 00000 n
+0000045118 00000 n
+0000049465 00000 n
+0000220085 00000 n
+0000049118 00000 n
+0000054075 00000 n
+0000054547 00000 n
+0000053909 00000 n
+0000049841 00000 n
+0000054235 00000 n
+0000054358 00000 n
+0000054422 00000 n
+0000054046 00000 n
+0000058362 00000 n
+0000058118 00000 n
+0000054853 00000 n
+0000058239 00000 n
+0000062182 00000 n
+0000061999 00000 n
+0000058603 00000 n
+0000062120 00000 n
+0000067290 00000 n
+0000066863 00000 n
+0000062423 00000 n
+0000066984 00000 n
+0000404467 00000 n
+0000071790 00000 n
+0000071424 00000 n
+0000067544 00000 n
+0000071545 00000 n
+0000404033 00000 n
+0000075361 00000 n
+0000075178 00000 n
+0000072031 00000 n
+0000075299 00000 n
+0000078803 00000 n
+0000078961 00000 n
+0000079242 00000 n
+0000078629 00000 n
+0000075576 00000 n
+0000079119 00000 n
+0000078766 00000 n
+0000083528 00000 n
+0000083687 00000 n
+0000083846 00000 n
+0000084005 00000 n
+0000084411 00000 n
+0000083338 00000 n
+0000079483 00000 n
+0000084164 00000 n
+0000083475 00000 n
+0000088231 00000 n
+0000087924 00000 n
+0000084665 00000 n
+0000088045 00000 n
+0000403892 00000 n
+0000091965 00000 n
+0000091720 00000 n
+0000088459 00000 n
+0000091841 00000 n
+0000096724 00000 n
+0000096355 00000 n
+0000092193 00000 n
+0000096476 00000 n
+0000404175 00000 n
+0000403462 00000 n
+0000403606 00000 n
+0000100196 00000 n
+0000099952 00000 n
+0000097069 00000 n
+0000100073 00000 n
+0000104478 00000 n
+0000104637 00000 n
+0000104801 00000 n
+0000108641 00000 n
+0000108800 00000 n
+0000105211 00000 n
+0000104296 00000 n
+0000100385 00000 n
+0000104964 00000 n
+0000104433 00000 n
+0000109202 00000 n
+0000108467 00000 n
+0000105400 00000 n
+0000108954 00000 n
+0000404619 00000 n
+0000108604 00000 n
+0000113036 00000 n
+0000113195 00000 n
+0000113478 00000 n
+0000112862 00000 n
+0000109404 00000 n
+0000113354 00000 n
+0000112999 00000 n
+0000117217 00000 n
+0000117376 00000 n
+0000117535 00000 n
+0000117838 00000 n
+0000117035 00000 n
+0000113680 00000 n
+0000117714 00000 n
+0000216233 00000 n
+0000117172 00000 n
+0000121163 00000 n
+0000121317 00000 n
+0000121657 00000 n
+0000120989 00000 n
+0000118105 00000 n
+0000121471 00000 n
+0000214167 00000 n
+0000202006 00000 n
+0000187279 00000 n
+0000121126 00000 n
+0000125041 00000 n
+0000124796 00000 n
+0000121898 00000 n
+0000124917 00000 n
+0000127704 00000 n
+0000127521 00000 n
+0000125256 00000 n
+0000127642 00000 n
+0000128615 00000 n
+0000128432 00000 n
+0000127906 00000 n
+0000128553 00000 n
+0000132657 00000 n
+0000133021 00000 n
+0000132491 00000 n
+0000128765 00000 n
+0000132835 00000 n
+0000132628 00000 n
+0000136590 00000 n
+0000136345 00000 n
+0000133249 00000 n
+0000136466 00000 n
+0000140214 00000 n
+0000139969 00000 n
+0000136753 00000 n
+0000140090 00000 n
+0000143788 00000 n
+0000143543 00000 n
+0000140403 00000 n
+0000143664 00000 n
+0000404771 00000 n
+0000145600 00000 n
+0000145759 00000 n
+0000146042 00000 n
+0000145426 00000 n
+0000143964 00000 n
+0000145918 00000 n
+0000145563 00000 n
+0000147799 00000 n
+0000148076 00000 n
+0000147633 00000 n
+0000146205 00000 n
+0000147952 00000 n
+0000147770 00000 n
+0000150986 00000 n
+0000151135 00000 n
+0000151286 00000 n
+0000151438 00000 n
+0000151590 00000 n
+0000151742 00000 n
+0000151894 00000 n
+0000152046 00000 n
+0000152197 00000 n
+0000152349 00000 n
+0000152500 00000 n
+0000152651 00000 n
+0000152803 00000 n
+0000152954 00000 n
+0000153105 00000 n
+0000153257 00000 n
+0000153409 00000 n
+0000153561 00000 n
+0000153713 00000 n
+0000153865 00000 n
+0000154017 00000 n
+0000154168 00000 n
+0000154320 00000 n
+0000154472 00000 n
+0000154624 00000 n
+0000154776 00000 n
+0000154928 00000 n
+0000155079 00000 n
+0000155229 00000 n
+0000155380 00000 n
+0000155530 00000 n
+0000155681 00000 n
+0000155832 00000 n
+0000155981 00000 n
+0000156131 00000 n
+0000156281 00000 n
+0000156429 00000 n
+0000156579 00000 n
+0000156731 00000 n
+0000156882 00000 n
+0000157033 00000 n
+0000157182 00000 n
+0000157333 00000 n
+0000157485 00000 n
+0000157637 00000 n
+0000157788 00000 n
+0000157938 00000 n
+0000158089 00000 n
+0000158240 00000 n
+0000158391 00000 n
+0000158543 00000 n
+0000158694 00000 n
+0000158845 00000 n
+0000158995 00000 n
+0000159147 00000 n
+0000159299 00000 n
+0000159451 00000 n
+0000159601 00000 n
+0000159752 00000 n
+0000159903 00000 n
+0000160055 00000 n
+0000160207 00000 n
+0000160359 00000 n
+0000160509 00000 n
+0000160660 00000 n
+0000160812 00000 n
+0000160961 00000 n
+0000161110 00000 n
+0000161385 00000 n
+0000150284 00000 n
+0000148239 00000 n
+0000161261 00000 n
+0000150421 00000 n
+0000164446 00000 n
+0000164599 00000 n
+0000164752 00000 n
+0000164903 00000 n
+0000165061 00000 n
+0000165218 00000 n
+0000165376 00000 n
+0000165533 00000 n
+0000165686 00000 n
+0000165844 00000 n
+0000166001 00000 n
+0000166165 00000 n
+0000166328 00000 n
+0000166492 00000 n
+0000166650 00000 n
+0000166802 00000 n
+0000166955 00000 n
+0000167113 00000 n
+0000167277 00000 n
+0000167441 00000 n
+0000167599 00000 n
+0000167763 00000 n
+0000167926 00000 n
+0000168084 00000 n
+0000168241 00000 n
+0000168404 00000 n
+0000168567 00000 n
+0000168730 00000 n
+0000168893 00000 n
+0000169057 00000 n
+0000169212 00000 n
+0000169376 00000 n
+0000169540 00000 n
+0000169704 00000 n
+0000169862 00000 n
+0000170019 00000 n
+0000171673 00000 n
+0000170232 00000 n
+0000164000 00000 n
+0000161574 00000 n
+0000170170 00000 n
+0000164137 00000 n
+0000171826 00000 n
+0000171984 00000 n
+0000172142 00000 n
+0000172300 00000 n
+0000172457 00000 n
+0000172610 00000 n
+0000172768 00000 n
+0000172925 00000 n
+0000173079 00000 n
+0000173238 00000 n
+0000173397 00000 n
+0000173555 00000 n
+0000173714 00000 n
+0000173872 00000 n
+0000174030 00000 n
+0000174244 00000 n
+0000171387 00000 n
+0000170434 00000 n
+0000174182 00000 n
+0000171524 00000 n
+0000174499 00000 n
+0000186481 00000 n
+0000174726 00000 n
+0000174828 00000 n
+0000186720 00000 n
+0000187441 00000 n
+0000187672 00000 n
+0000201181 00000 n
+0000187994 00000 n
+0000188100 00000 n
+0000201412 00000 n
+0000202160 00000 n
+0000202383 00000 n
+0000213414 00000 n
+0000202529 00000 n
+0000202626 00000 n
+0000213651 00000 n
+0000214326 00000 n
+0000214554 00000 n
+0000215546 00000 n
+0000214597 00000 n
+0000214692 00000 n
+0000215786 00000 n
+0000216388 00000 n
+0000216589 00000 n
+0000216615 00000 n
+0000216641 00000 n
+0000216667 00000 n
+0000216727 00000 n
+0000216822 00000 n
+0000219309 00000 n
+0000217027 00000 n
+0000217130 00000 n
+0000219554 00000 n
+0000220246 00000 n
+0000220453 00000 n
+0000227783 00000 n
+0000220947 00000 n
+0000221063 00000 n
+0000228020 00000 n
+0000228955 00000 n
+0000229156 00000 n
+0000231328 00000 n
+0000229311 00000 n
+0000229416 00000 n
+0000231572 00000 n
+0000232237 00000 n
+0000232444 00000 n
+0000234150 00000 n
+0000232567 00000 n
+0000232673 00000 n
+0000234396 00000 n
+0000235052 00000 n
+0000235260 00000 n
+0000240646 00000 n
+0000235649 00000 n
+0000235769 00000 n
+0000240887 00000 n
+0000241666 00000 n
+0000241868 00000 n
+0000249275 00000 n
+0000242353 00000 n
+0000242476 00000 n
+0000249512 00000 n
+0000250400 00000 n
+0000250600 00000 n
+0000251347 00000 n
+0000250633 00000 n
+0000250727 00000 n
+0000251583 00000 n
+0000252176 00000 n
+0000252375 00000 n
+0000258658 00000 n
+0000252827 00000 n
+0000252937 00000 n
+0000258895 00000 n
+0000259775 00000 n
+0000259976 00000 n
+0000262870 00000 n
+0000260202 00000 n
+0000260307 00000 n
+0000263110 00000 n
+0000263796 00000 n
+0000263997 00000 n
+0000266102 00000 n
+0000264231 00000 n
+0000264336 00000 n
+0000266339 00000 n
+0000267024 00000 n
+0000267225 00000 n
+0000275221 00000 n
+0000267769 00000 n
+0000267900 00000 n
+0000275459 00000 n
+0000276395 00000 n
+0000276597 00000 n
+0000277660 00000 n
+0000276653 00000 n
+0000276753 00000 n
+0000277899 00000 n
+0000278512 00000 n
+0000278714 00000 n
+0000278952 00000 n
+0000279040 00000 n
+0000283796 00000 n
+0000279409 00000 n
+0000279518 00000 n
+0000284035 00000 n
+0000284812 00000 n
+0000285013 00000 n
+0000287725 00000 n
+0000285258 00000 n
+0000285363 00000 n
+0000287962 00000 n
+0000288652 00000 n
+0000288853 00000 n
+0000297774 00000 n
+0000289327 00000 n
+0000289445 00000 n
+0000298012 00000 n
+0000299000 00000 n
+0000299202 00000 n
+0000301209 00000 n
+0000299315 00000 n
+0000299418 00000 n
+0000301448 00000 n
+0000302091 00000 n
+0000302293 00000 n
+0000304992 00000 n
+0000302554 00000 n
+0000302659 00000 n
+0000305230 00000 n
+0000305940 00000 n
+0000306142 00000 n
+0000315800 00000 n
+0000306786 00000 n
+0000306927 00000 n
+0000316039 00000 n
+0000317066 00000 n
+0000317269 00000 n
+0000324461 00000 n
+0000317755 00000 n
+0000317879 00000 n
+0000324698 00000 n
+0000325578 00000 n
+0000325778 00000 n
+0000326824 00000 n
+0000325855 00000 n
+0000325954 00000 n
+0000327061 00000 n
+0000327680 00000 n
+0000327881 00000 n
+0000332925 00000 n
+0000328284 00000 n
+0000328407 00000 n
+0000333163 00000 n
+0000333959 00000 n
+0000334161 00000 n
+0000335535 00000 n
+0000334239 00000 n
+0000334341 00000 n
+0000335771 00000 n
+0000336387 00000 n
+0000336586 00000 n
+0000338820 00000 n
+0000336764 00000 n
+0000336869 00000 n
+0000339058 00000 n
+0000339724 00000 n
+0000339926 00000 n
+0000342425 00000 n
+0000340110 00000 n
+0000340219 00000 n
+0000342664 00000 n
+0000343347 00000 n
+0000343550 00000 n
+0000344591 00000 n
+0000343627 00000 n
+0000343726 00000 n
+0000344829 00000 n
+0000345450 00000 n
+0000345652 00000 n
+0000347839 00000 n
+0000345794 00000 n
+0000345903 00000 n
+0000348078 00000 n
+0000348742 00000 n
+0000357141 00000 n
+0000348945 00000 n
+0000364594 00000 n
+0000357405 00000 n
+0000371990 00000 n
+0000364816 00000 n
+0000380681 00000 n
+0000372212 00000 n
+0000388487 00000 n
+0000380958 00000 n
+0000395876 00000 n
+0000388743 00000 n
+0000403091 00000 n
+0000396116 00000 n
+0000404890 00000 n
+0000404979 00000 n
+0000409834 00000 n
+0000410475 00000 n
+0000411242 00000 n
+0000412067 00000 n
+0000412170 00000 n
+0000412208 00000 n
+0000412336 00000 n
trailer
-<< /Size 769 /Root 767 0 R /Info 768 0 R /ID [ <F8F6D5173C0989FB25C367E1C4534D02> <F8F6D5173C0989FB25C367E1C4534D02> ] >>
+<< /Size 799 /Root 797 0 R /Info 798 0 R /ID [ <D8223DFA18DE70894B6AA2D488291DA6> <D8223DFA18DE70894B6AA2D488291DA6> ] >>
startxref
-399155
+412884
%%EOF
diff --git a/macros/luatex/latex/piton/piton-french.tex b/macros/luatex/latex/piton/piton-french.tex
index 5a2bcd4523..99260c2766 100644
--- a/macros/luatex/latex/piton/piton-french.tex
+++ b/macros/luatex/latex/piton/piton-french.tex
@@ -70,11 +70,17 @@
}
}
-
-
\usepackage{makeidx}
\makeindex
+\NewDocumentCommand{\Definition}{m}
+ {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily \vphantom{gl}#1}}}
+
+\NewDocumentCommand{\DefinitionCommand}{m}
+ {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily
+ \vphantom{gl}\textbackslash #1}}}
+
+
\NewDocumentCommand{\indexcommand}{m}{\index{#1@\texttt{\textbackslash #1}}}
\NewDocumentCommand{\indexenv}{m}{\index{#1@\texttt{\{#1\}}}}
@@ -101,9 +107,8 @@ version~\PitonFileVersion\space de \pkg{piton}, à la date du~\PitonFileDate.}}
\maketitle
\begin{abstract}
-L'extension \pkg{piton} propose des outils pour composer des codes informatiques en Python, OCaml, C et SQL avec
-une coloration syntaxique en utilisant la bibliothèque Lua LPEG. L'extension \pkg{piton} nécessite l'emploi de
-LuaLaTeX.
+L'extension \pkg{piton} propose des outils pour composer des codes informatiques avec coloration syntaxique. Elle
+nécessite l'emploi de la LuaLaTeX car le travail principal est fait en utilisant la bibliothèque Lua LPEG.
\end{abstract}
@@ -112,8 +117,8 @@ LuaLaTeX.
L'extension \pkg{piton} utilise la librairie Lua nommée LPEG\footnote{LPEG est une librairie de capture de motifs
(\emph{pattern-matching} en anglais) pour Lua, écrite en C, fondée sur les PEG (\emph{parsing expression
- grammars}): \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» le code Python, OCaml, C ou SQL et le
-composer avec un coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne uniquement avec |lualatex|
+ grammars}): \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» des listings informatiques avec
+coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne uniquement avec |lualatex|
(et ne va pas fonctionner avec les autres moteurs de compilation LaTeX, que ce soit |latex|, |pdflatex| ou
|xelatex|). Elle n'utilise aucun programme extérieur et la compilation ne requiert donc pas |--shell-escape|. La
compilation est très rapide puisque tout le travail du parseur est fait par la librairie LPEG, écrite en C.
@@ -143,6 +148,14 @@ def arctan(x,n=10:int):
return s
\end{Piton}
+\bigskip
+Les principaux concurrents de l'extension \pkg{piton} sont certainement les extensions bien connues \pkg{listings}
+et \pkg{minted}.
+
+\bigskip
+Le nom de cette extension (\pkg{piton}) a été choisi un peu arbitrairement en référence aux pitons d'alpinisme qui
+servent à gravir les montagnes.
+
\section{Installation}
@@ -162,8 +175,16 @@ L'extension \pkg{piton} n'est utilisable qu'avec LuaLaTeX : si un autre moteur d
\subsection{Choix du langage}
-L'extension \pkg{piton} prend en charge quatre langages informatiques : Python, OCaml, SQL et C, ou plutôt \CC. Il
-prend aussi en charge un langage minimal appelé «|minimal|» : cf.~p.~\pageref{minimal}.
+Les langages informatiques pris en charge par \pkg{piton} se classent en deux catégories :
+\begin{itemize}
+\item les langages reconnus nativement par \pkg{piton} qui sont au nombre de cinq : Python, OCaml, SQL, C (ou
+plutôt \CC) et un langage nommé |minimal|\footnote{Le langage |minimal| peut servir pour formater du pseudo-code
+ : cf.~p.~\pageref{minimal}.} ;
+\item les langages définis par l'utilisateur avec la commande |\NewPitonLanguage| décrite
+p.~\pageref{NewPitonLanguage} (les parseurs de ces langages ne pourront jamais être aussi précis que ceux proposés
+nativement par \pkg{piton)}.
+\end{itemize}
+
\smallskip
Par défaut, le langage est Python.
@@ -173,7 +194,11 @@ Par défaut, le langage est Python.
On peut changer de langage avec la clé |language| de |\PitonOptions| :
\smallskip
-|\PitonOptions{language = C}|
+|\PitonOptions{language = OCaml}|
+
+\smallskip
+En fait, le nom des langages, pour \pkg{piton}, est toujours \textbf{insensible à la casse}. Dans cet exemple, on
+aurait tout aussi bien pu écrire |Ocaml| ou |ocaml|.
\smallskip
Pour les développeurs, précisons que le nom du langage courant est stocké (en minuscules) dans la variable publique
@@ -192,7 +217,8 @@ L'extension \pkg{piton} se charge simplement avec |\usepackage{piton}|.
\smallskip
Si, à la fin du prambule, l'extension \pkg{xcolor} n'a pas été chargée (par l'utilisateur ou par une extension
chargée dans le préambule), \pkg{piton} charge l'extension \pkg{xcolor} avec |\usepackage{xcolor}|, c'est-à-dire
-sans aucune option. L'extension \pkg{piton} ne charge pas d'autre extension.
+sans aucune option. L'extension \pkg{piton} ne charge pas d'autre extension. Elle n'utilise pas de programme
+extérieur.
\subsection{Les commandes et environnements à la disposition de l'utilisateur}
@@ -214,7 +240,7 @@ La syntaxe et les particularités de la commande sont détaillées ci-après.
\item L'environnement \colorbox{gray!20}{\ttfamily \{Piton\}} doit être utilisé pour composer des codes de
plusieurs lignes. Comme cet environnement prend son argument selon un mode verbatim, il ne peut pas être utilisé
dans l'argument d'une commande LaTeX. Pour les besoins de personnalisation, il est possible de définir de nouveaux
-environnements similaires à |{Piton}| en utilisant la commande |\NewPitonEnvironment| : cf. partie
+environnements similaires à |{Piton}| en utilisant la commande \DefinitionCommand{NewPitonEnvironment} : cf. partie
\ref{NewPitonEnvironment} p.~\pageref{NewPitonEnvironment}.
\item La commande \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFile} doit être utilisée pour insérer et
@@ -223,11 +249,8 @@ composer un fichier externe.
Il est possible de n'insérer qu'une partie de ce fichier : cf. partie~\ref{part-of-a-file},
p.~\pageref{part-of-a-file}.
-
-\colorbox{yellow!50}{\textbf{Nouveau 2.8}}\par\nobreak
-
-La clé |path| de la commande |\PitonOptions| permet de spécifier une \emph{liste} de chemins où sera recherché le
-fichier à inclure (dans cette liste, les chemins sont séparés par des virgules).
+La clé \Definition{path} de la commande |\PitonOptions| permet de spécifier une \emph{liste} de chemins où sera
+recherché le fichier à inclure (dans cette liste, les chemins sont séparés par des virgules).
L'extension \pkg{piton} propose aussi des commandes \colorbox{gray!20}{\ttfamily\textbackslash PitonInputFileT},
\colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileF} et
@@ -330,8 +353,6 @@ simplement de la fonte mono-chasse courante (\pkg{piton} utilise simplement en i
\subsection{Les clés de la commande \textbackslash PitonOptions}
-\NewDocumentCommand{\Definition}{m}
- {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily \vphantom{gl}#1}}}
\indexcommand{PitonOptions}
@@ -577,8 +598,8 @@ partir de la page \pageref{Semantic}.
\bigskip
\indexcommand{PitonStyle}
-La commande |\PitonStyle| prend en argument le nom d'un style et permet de récupérer la valeur (en tant que liste
-d'instructions LaTeX) de ce style.
+La commande \DefinitionCommand{PitonStyle} prend en argument le nom d'un style et permet de récupérer la valeur (en
+tant que liste d'instructions LaTeX) de ce style.
\smallskip
Par exemple, on peut écrire, dans le texte courant, |{\PitonStyle{Keyword}{function}}| et on aura
@@ -599,7 +620,8 @@ Par exemple, avec la commande
\begin{Verbatim}
\SetPitonStyle{Comment = \color{gray}}
\end{Verbatim}
-tous les commentaires (que ce soit en Python, en C, en OCaml, etc.) seront composés en gris.
+tous les commentaires (que ce soit en Python, en C, en OCaml, etc. ou dans un langage défini avec
+|\NewPitonLanguage|) seront composés en gris.
\bigskip
Mais il est aussi possible de définir un style localement pour un certain langage informatique en passant le nom du
@@ -637,7 +659,7 @@ fait que ces noms de fonctions sont formatés comme du texte courant (en noir).
changer la valeur de ce style, comme tous les autres styles, avec la commande |\SetPitonStyle|.
\medskip
-Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à que ce, quand on clique
+Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à ce que, quand on clique
sur le nom d'une fonction Python précédemment définie par l'utilisateur, on soit renvoyé vers la définition
(informatique) de cette fonction. Cette programmation utilise les fonctions |\hypertarget| et |\hyperlink| de \pkg{hyperref}.
@@ -661,7 +683,7 @@ sur le nom d'une fonction Python précédemment définie par l'utilisateur, on s
\SetPitonStyle{Name.Function = \MyDefFunction, ~emphase#UserFunction@ = \MyUserFunction}
\end{Verbatim}
-\bigskip
+\smallskip
\begin{Piton}
def transpose(v,i,j):
@@ -675,6 +697,10 @@ def passe(v):
transpose(v,i,i+1)
\end{Piton}
+\medskip
+(Certains lecteurs de \textsc{pdf} affichent un cadre autour du mot |transpose| cliquable et d'autres non.)
+
+
\endgroup
\PitonClearUserFunctions[Python]
@@ -683,9 +709,9 @@ def passe(v):
\begin{small}
Bien sûr, la liste des noms de fonctions Python précédemment définies est gardée en mémoire de LuaLaTeX (de manière
globale, c'est-à-dire indépendamment des groupes TeX). L'extension \pkg{piton} fournit une commande qui permet de
-vider cette liste : c'est la commande |\PitonClearUserFunctions|. Quand elle est utilisée sans argument, cette
+vider cette liste : c'est la commande \DefinitionCommand{PitonClearUserFunctions}. Quand elle est utilisée sans argument, cette
commande s'applique à tous les langages informatiques utilisées par l'utilisateur mais on peut spécifier en
-argument optionnel (entre crochets) une liste de langages informatiques auquels elle s'appliquera.\footnote{On
+argument optionnel (entre crochets) une liste de langages informatiques auxquels elle s'appliquera.\footnote{On
rappelle que, dans \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse. }
\end{small}
@@ -742,6 +768,139 @@ def carré(x):
return x*x
\end{Python}
+\section{Définition de nouveaux langages avec la syntaxe de listings}
+
+\indexcommand{NewPitonLanguage}
+\label{NewPitonLanguage}
+\index{listings@\pkg{listings} (extension)}
+
+\colorbox{yellow!50}{\textbf{Nouveau 3.0}}
+
+\medskip
+L'extension \pkg{listings} est une célèbre extension LaTeX pour formater des codes informatiques.
+
+\medskip
+Elle propose une commande |\lstdefinelanguage| pour définir de nouveaux langages. Cette commande est aussi
+utilisée en interne par \pkg{listings} pour sa définition des languages (en fait, pour cela, \pkg{listings} utilise
+une commande nommée |\lst@definelanguage| mais celle-ci a la même syntaxe que |\lstdefinelanguage|).
+
+\medskip
+L'extension \pkg{piton} propose une commande \DefinitionCommand{NewPitonLanguage} pour définir de nouveaux
+langages (utilisables avec les outils de \pkg{piton}) avec quasiment la même syntaxe que |\lstdefinelanguage|.
+
+\medskip
+Précisons tout de suite que l'extension \pkg{piton} n'utilise \emph{pas} cette commande pour définir les langages
+qu'elle propose nativement (Python, C, OCaml, \CC\ et |minimal|), ce qui permet de proposer des parseurs plus puissants.
+
+\medskip
+Par exemple, dans le fichier |lstlang1.sty|, qui est un des fichiers de definition des langages proposés par défaut
+par \pkg{listings}, on trouve les instructions suivantes (dans la version 1.10a).
+
+\begin{Verbatim}[formatcom=\small\color{gray}]
+\lst~@definelanguage{Java}%
+ {morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
+ const,continue,default,do,double,else,extends,false,final,%
+ finally,float,for,goto,if,implements,import,instanceof,int,%
+ interface,label,long,native,new,null,package,private,protected,%
+ public,return,short,static,super,switch,synchronized,this,throw,%
+ throws,transient,true,try,void,volatile,while},%
+ sensitive,%
+ morecomment=[l]//,%
+ morecomment=[s]{/*}{*/},%
+ morestring=[b]",%
+ morestring=[b]',%
+ }[keywords,comments,strings]
+\end{Verbatim}
+
+\medskip
+Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le code suivant,
+{\bfseries où le dernier argument de |\lst@definelanguage|, qui est entre crochets, a été supprimé}
+(en fait, les symboles \verb+%+ pourraient être supprimés sans problème).
+
+\begin{Verbatim}[formatcom=\small\color{gray}]
+~emphase#\NewPitonLanguage@{Java}%
+ {morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
+ const,continue,default,do,double,else,extends,false,final,%
+ finally,float,for,goto,if,implements,import,instanceof,int,%
+ interface,label,long,native,new,null,package,private,protected,%
+ public,return,short,static,super,switch,synchronized,this,throw,%
+ throws,transient,true,try,void,volatile,while},%
+ sensitive,%
+ morecomment=[l]//,%
+ morecomment=[s]{/*}{*/},%
+ morestring=[b]",%
+ morestring=[b]',%
+ }
+\end{Verbatim}
+
+
+\NewPitonLanguage{Java}
+ {morekeywords={abstract,boolean,break,byte,case,catch,char,class,
+ const,continue,default,do,double,else,extends,false,final,
+ finally,float,for,goto,if,implements,import,instanceof,int,
+ interface,label,long,native,new,null,package,private,protected,
+ public,return,short,static,super,switch,synchronized,this,throw,
+ throws,transient,true,try,void,volatile,while},
+ sensitive,
+ morecomment=[l]//,
+ morecomment=[s]{/*}{*/},
+ morestring=[b]",
+ morestring=[b]',
+ }
+
+
+\medskip
+On peut alors utiliser le language Java comme n'importe quel autre langage prédéfini de \pkg{piton}.
+
+Voici un exemple de code Java formaté dans un environnement~|{Piton}| avec la clé~|language=Java|.\footnote{On
+ rappelle que, pour \pkg{piton}, les noms de langages informatiques ne sont pas sensibles à la casse, ce qui fait
+ que l'on aurait pu aussi bien utiliser : |language=java|.}
+
+\bigskip
+\begingroup
+\small
+\PitonOptions{split-on-empty-lines}
+\begin{Piton}[language = Java]
+public class Cipher { // cryptage par le chiffre de César
+ public static void main(String[] args) {
+ String str = "The quick brown fox Jumped over the lazy Dog";
+ System.out.println( Cipher.encode( str, 12 ));
+ System.out.println( Cipher.decode( Cipher.encode( str, 12), 12 ));
+ }
+
+ public static String decode(String enc, int offset) {
+ return encode(enc, 26-offset);
+ }
+
+ public static String encode(String enc, int offset) {
+ offset = offset % 26 + 26;
+ StringBuilder encoded = new StringBuilder();
+ for (char i : enc.toCharArray()) {
+ if (Character.isLetter(i)) {
+ if (Character.isUpperCase(i)) {
+ encoded.append((char) ('A' + (i - 'A' + offset) % 26 ));
+ } else {
+ encoded.append((char) ('a' + (i - 'a' + offset) % 26 ));
+ }
+ } else {
+ encoded.append(i);
+ }
+ }
+ return encoded.toString();
+ }
+}
+\end{Piton}
+\endgroup
+
+\bigskip
+Les clés de la commande |\lstdefinelanguage| de \pkg{listings} prises en charge par |\NewPitonLanguage| sont :
+|morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|, |moretexcs|, |morestring| (avec les lettres |b|,
+|d|, |s| et |m|), |morecomment| (avec les lettres |i|, |l|, |s| et |n|), |moredelim| (avec les lettres |i|,
+|l|, |s|, |*| et |**|), |moredirectives|, |tag|, |alsodigit| et |alsoletter|.
+
+Pour la description de ces clés, on renvoie à la documentation de \pkg{listings} (taper |texdoc| |listings| dans un terminal).
+
+
\section{Fonctionnalités avancées}
@@ -756,7 +915,7 @@ def carré(x):
\index{split-on-empty-lines}
\index{split-separation}
-Par défaut les listings produits par l'environnement |{Piton}| et par la commande |\PitonInputFile| sont
+Par défaut, les listings produits par l'environnement |{Piton}| et par la commande |\PitonInputFile| sont
insécables.
@@ -764,9 +923,7 @@ Néanmoins, la commande |\PitonOptions| propose les clés |split-on-empty-lines|
telles coupures.
\begin{itemize}
-\item \colorbox{yellow!50}{\textbf{Nouveau 2.7}}\par\nobreak
-
-La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes vides\footnote{Les lignes considérées
+\item La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes vides\footnote{Les lignes considérées
comme vides sont celles qui ne comportent que des espaces.} du listing. Dans les listings informatiques, les
lignes vides séparent le plus souvent les définitions des fonctions informatiques et il est donc souvent judicieux
de pouvoir couper au niveau de ces lignes.
@@ -1003,7 +1160,7 @@ structuré correctement!):
\indexcommand{SetPitonIdentifier}
\label{SetPitonIdentifier}
-La commande |\SetPitonIdentifier| permet de changer le formatage de certains identificateurs.
+La commande \DefinitionCommand{SetPitonIdentifier} permet de changer le formatage de certains identificateurs.
\smallskip
Cette commande prend trois arguments : un optionnel et deux obligatoires.
@@ -1128,7 +1285,7 @@ Il y a deux outils pour personnaliser ces commentaires.
\begin{itemize}
\item Il est possible de changer le marquage syntaxique utilisé (qui vaut initialement~|#>|). Pour ce faire, il
-existe une clé |comment-latex|, \emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
+existe une clé \Definition{comment-latex}, \emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
caractères qui (précédés par~|#|) serviront de marqueur syntaxique.
Par exemple, avec le réglage suivant (fait dans le préambule du document) :
@@ -1201,8 +1358,8 @@ def carré(x):
\index{detected-commands (key)}
\label{detected-commands}
-La clé |detected-commands| de |\PitonOptions| permet de spécifier une liste de noms de commandes LaTeX qui seront
-directement détectées par \pkg{piton}.
+La clé \Definition{detected-commands} de |\PitonOptions| permet de spécifier une liste de noms de commandes LaTeX
+qui seront directement détectées par \pkg{piton}.
\begin{itemize}
\item Cette clé |detected-commands| ne peut être utilisée que dans le préambule du document.
@@ -1211,7 +1368,7 @@ directement détectées par \pkg{piton}.
(ex. : |detected-commands = { emph , textbf }|).
\item Ces commandes doivent être des commandes LaTeX à un seul argument obligatoire entre accolades (et ces
-accolades doivent être explicites).
+accolades doivent apparaître explicitement dans le listing).
\end{itemize}
\medskip
@@ -1548,13 +1705,13 @@ Néanmoins, il est également possible d'extraire les notes de pieds de page ave
l'extension \pkg{footnotehyper}.
\smallskip
-Si \pkg{piton} est chargée avec l'option |footnote| (avec |\usepackage[footnote]{piton}|) l'extension
+Si \pkg{piton} est chargée avec l'option \Definition{footnote} (avec |\usepackage[footnote]{piton}|) l'extension
\pkg{footnote} est chargée (si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de
page.
\smallskip
-Si \pkg{piton} est chargée avec l'option |footnotehyper|, l'extension \pkg{footnotehyper} est chargée (si
-elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de page.
+Si \pkg{piton} est chargée avec l'option \Definition{footnotehyper}, l'extension \pkg{footnotehyper} est chargée
+(si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de page.
\smallskip
Attention : Les extensions \pkg{footnote} et \pkg{footnotehyper} sont incompatibles.
@@ -1575,13 +1732,13 @@ peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la p
\smallskip
Même s'il est recommandé d'indenter les listings Python avec des espaces (cf. PEP~8), \pkg{piton} accepte les
caractères de tabulations (U+0009) en début de ligne. Chaque caractère U+0009 est remplacé par $n$ espaces. La
-valeur initiale de~$n$ est~4 mais on peut la changer avec la clé |tab-size| de |\PitonOptions|.
+valeur initiale de~$n$ est~4 mais on peut la changer avec la clé \Definition{tab-size} de |\PitonOptions|.
\smallskip
-Il existe aussi une clé |tabs-auto-gobble| qui détermine le nombre minimal de caractères U+0009 débutant chaque
-ligne (non vide) de l'environnement |{Piton}| et applique |gobble| avec cette valeur (avant le remplacement des
-caractères U+0009 par des espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit sur
-des caractères U+0009 au lieu de caractères U+0020 (espaces).
+Il existe aussi une clé \Definition{tabs-auto-gobble} qui détermine le nombre minimal de caractères U+0009 débutant
+chaque ligne (non vide) de l'environnement |{Piton}| et applique |gobble| avec cette valeur (avant le remplacement
+des caractères U+0009 par des espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit
+sur des caractères U+0009 au lieu de caractères U+0020 (espaces).
\section{API pour les développeurs}
@@ -2444,6 +2601,41 @@ p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage pour pseudo-co
\newpage
+\subsection{Les langages définis par la commande \textbackslash NewPitonLanguage}
+
+\indexcommand{NewPitonLanguage}
+
+\vspace{1cm}
+La commande |\NewPitonLanguage|, qui permet de définir de nouveaux langages en utilisant la syntaxe de l'extension
+\pkg{listings}, a été présentée p.~\pageref{NewPitonLanguage}.
+
+Tous les langages définis avec la commande |\NewPitonLanguage| partagent les mêmes styles.
+
+\vspace{1cm}
+
+\begin{center}
+\begin{tabularx}{0.9\textwidth}{@{}>{\ttfamily}l>{\raggedright\arraybackslash}X@{}}
+\toprule
+\normalfont Style & Usage \\
+\midrule
+Number & les nombres \\
+String.Long & les chaînes de caractères définies dans |\NewPitonLanguage| par la clé |morestring| \\
+Comment & les commentaires définis dans |\NewPitonLanguage| par la clé |morecomment| \\
+Comment.LaTeX & les commentaires qui sont composés par \pkg{piton} comme du code LaTeX (et
+ appelés simplement «commentaires LaTeX» dans ce document) \\
+Keyword & les mots-clés, définis dans |\NewPitonLanguage| par les clés |morekeywords| et |moretexcs| (et également
+ la clé |sensitive| qui indique si les mots-clés sont sensibles à la casse) \\
+Directive & les directives définies dans |\NewPitonLanguage| par la clé |moredirectives| \\
+Tag & les «tags» définis par la clé |tag| (les lexèmes détectés à l'intérieur d'un tag seront
+ aussi composés avec leur propre style) \\
+\bottomrule
+\end{tabularx}
+\end{center}
+
+
+
+\newpage
+
\phantomsection
\addcontentsline{toc}{section}{Index}
diff --git a/macros/luatex/latex/piton/piton.dtx b/macros/luatex/latex/piton/piton.dtx
index c40a3c8631..cc6b20edbd 100644
--- a/macros/luatex/latex/piton/piton.dtx
+++ b/macros/luatex/latex/piton/piton.dtx
@@ -59,6 +59,13 @@
\NewDocumentCommand{\indexenv}{m}{\index{#1@\texttt{\{#1\}}}}
+\NewDocumentCommand{\Definition}{m}
+ {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily \vphantom{gl}#1}}}
+
+\NewDocumentCommand{\DefinitionCommand}{m}
+ {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily
+ \vphantom{gl}\textbackslash #1}}}
+
\PitonOptions{gobble=2}
@@ -72,12 +79,12 @@
% \iffalse
%<*STY>
% \fi
-\def\PitonFileVersion{2.8}
-\def\PitonFileDate{2024/04/14}
+\def\PitonFileVersion{3.0a}
+\def\PitonFileDate{2024/05/12}
% \iffalse
%</STY>
%<*LUA>
-piton_version = "2.8" -- 2024/04/14
+piton_version = "3.0a" -- 2024/05/12
%</LUA>
%\fi
%
@@ -90,9 +97,8 @@ piton_version = "2.8" -- 2024/04/14
% \maketitle
%
% \begin{abstract}
-% The package \pkg{piton} provides tools to typeset computer listings in Python,
-% OCaml, C and SQL with syntactic highlighting by using the Lua library LPEG. It
-% requires LuaLaTeX.
+% The package \pkg{piton} provides tools to typeset computer listings, with
+% syntactic highlighting, by using the Lua library LPEG. It requires LuaLaTeX.
% \end{abstract}
%
%
@@ -103,12 +109,12 @@ piton_version = "2.8" -- 2024/04/14
% The package \pkg{piton} uses the Lua library LPEG\footnote{LPEG is a
% pattern-matching library for Lua, written in C, based on \emph{parsing
% expression grammars}:
-% \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} for parsing Python, OCaml, C
-% or SQL listings and typesets them with syntactic highlighting. Since it uses
-% the Lua of LuaLaTeX, it works with |lualatex| only (and won't work with the
-% other engines: |latex|, |pdflatex| and |xelatex|). It does not use external
-% program and the compilation does not require |--shell-escape|. The compilation
-% is very fast since all the parsing is done by the library LPEG, written in C.
+% \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} for parsing informatic
+% listings and typesets them with syntactic highlighting. Since it uses the Lua
+% of LuaLaTeX, it works with |lualatex| only (and won't work with the other
+% engines: |latex|, |pdflatex| and |xelatex|). It does not use external program
+% and the compilation does not require |--shell-escape|. The compilation is very
+% fast since all the parsing is done by the library LPEG, written in C.
%
% \bigskip
% Here is an example of code typeset by \pkg{piton}, with the environment |{Piton}|.
@@ -134,6 +140,15 @@ piton_version = "2.8" -- 2024/04/14
% s += (-1)**k/(2*k+1)*x**(2*k+1)
% return s
% \end{Piton}
+%
+%
+% \bigskip
+% The main alternatives to the package \pkg{piton} are probably the packages
+% \pkg{listings} and \pkg{minted}.
+%
+% \bigskip
+% The name of this extension (\pkg{piton}) has been choosen arbitrarily by
+% reference to the pitons used by the climbers in alpinism.
%
%
% \section{Installation}
@@ -158,13 +173,22 @@ piton_version = "2.8" -- 2024/04/14
% If, at the end of the preamble, the package \pkg{xcolor} has not been loaded
% (by the final user or by another package), \pkg{piton} loads \pkg{xcolor} with
% the instruction |\usepackage{xcolor}| (that is to say without any option).
-% The package \pkg{piton} doesn't load any other package.
+% The package \pkg{piton} doesn't load any other package. It does not any
+% exterior program.
%
% \subsection{Choice of the computer language}
%
-% In current version, the package \pkg{piton} supports four computer languages:
-% Python, OCaml, SQL and C (in fact \CC). It supports also a special language
-% called ``|minimal|'': cf. p.~\pageref{minimal}.
+% The package \pkg{piton} supports two kinds of languages:
+% \begin{itemize}
+% \item the languages natively supported by \pkg{piton}, which are Python, OCaml,
+% C~(in fact \CC), SQL and a language called |minimal|\footnote{That language
+% |minimal| may be used to format pseudo-codes: cf. p.~\pageref{minimal}};
+% \item the languages defined by the final user by using the built-in command
+% |\NewPitonLanguage| described p.~\pageref{NewPitonLanguage} (the parsers of
+% those languages can't be as precise as those of the native languages supported
+% by \pkg{piton}).
+% \end{itemize}
+%
%
% \smallskip
% By default, the language used is Python.
@@ -172,7 +196,12 @@ piton_version = "2.8" -- 2024/04/14
% \smallskip
% \index{language (key)}
% It's possible to change the current language with the command |\PitonOptions|
-% and its key |language|: |\PitonOptions{language = C}|.
+% and its key |language|: |\PitonOptions{language = OCaml}|.
+%
+% \smallskip
+% In fact, for \pkg{piton}, the names of the informatic languages are always
+% \textbf{case-insensitive}. In this example, we might have written |Ocaml| or
+% |ocaml|.
%
% \smallskip
% For the developpers, let's say that the name of the current language is stored
@@ -186,7 +215,7 @@ piton_version = "2.8" -- 2024/04/14
%
% \indexenv{Piton}
%
-% The package \pkg{piton} provides several tools to typeset Python code: the
+% The package \pkg{piton} provides several tools to typeset Python codes: the
% command |\piton|, the environment |{Piton}| and the command |\PitonInputFile|.
%
% \begin{itemize}\setlength{\fboxsep}{1pt}
@@ -211,20 +240,16 @@ piton_version = "2.8" -- 2024/04/14
% It's possible to insert only a part of the file: cf.
% part~\ref{part-of-a-file}, p.~\pageref{part-of-a-file}.
%
-%
-% \colorbox{yellow!50}{\bfseries New 2.8}\par\nobreak
-%
-%
-% The key |path| of the command |\PitonOptions| specifies a \emph{list} of
-% pathes where the files included by |\PitonInputFile| will be searched. That
-% list is comma separated.
+% The key \Definition{path} of the command |\PitonOptions| specifies a
+% \emph{list} of pathes where the files included by |\PitonInputFile| will be
+% searched. That list is comma separated.
%
% The extension \pkg{piton} also provides the commands
% \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileT},
% \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileF} and
% \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileTF} with
% supplementary arguments corresponding to the letters~|T| and~|F|. Those
-% arguments will be exectued if the file to include has been found (letter~|T|)
+% arguments will be executed if the file to include has been found (letter~|T|)
% or not found (letter~|F|).
% \end{itemize}
%
@@ -323,8 +348,6 @@ piton_version = "2.8" -- 2024/04/14
% \subsection{The keys of the command \textbackslash PitonOptions}
%
%
-% \NewDocumentCommand{\Definition}{m}
-% {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily \vphantom{gl}#1}}}
%
% \indexcommand{PitonOptions}
%
@@ -554,10 +577,11 @@ piton_version = "2.8" -- 2024/04/14
%
% \subsubsection{Notion of style}
%
-% The package \pkg{piton} provides the command |\SetPitonStyle| to customize the
-% different styles used to format the syntactic elements of the Python listings.
-% The customizations done by that command are limited to the current TeX
-% group.\footnote{We remind that a LaTeX environment is, in particular, a TeX group.}
+% The package \pkg{piton} provides the command
+% \DefinitionCommand{SetPitonStyle} to customize the different styles used to
+% format the syntactic elements of the Python listings. The customizations done
+% by that command are limited to the current TeX group.\footnote{We remind that
+% a LaTeX environment is, in particular, a TeX group.}
%
% \bigskip
% \indexcommand{SetPitonStyle}
@@ -601,8 +625,9 @@ piton_version = "2.8" -- 2024/04/14
%
% \bigskip
% \indexcommand{PitonStyle}
-% The command |\PitonStyle| takes in as argument the name of a style and allows
-% to retrieve the value (as a list of LaTeX instructions) of that style.
+% The command \DefinitionCommand{PitonStyle} takes in as argument the name of a
+% style and allows to retrieve the value (as a list of LaTeX instructions) of
+% that style.
%
% \smallskip
% For example, it's possible to write |{\PitonStyle{Keyword}{function}}| and we
@@ -626,11 +651,12 @@ piton_version = "2.8" -- 2024/04/14
% \SetPitonStyle{Comment = \color{gray}}
% \end{Verbatim}
% all the comments will be composed in gray in all the listings, whatever
-% informatic language they use (Python, C, OCaml, etc.).
+% informatic language they use (Python, C, OCaml, etc. or a language defined by
+% the command |\NewPitonLanguage|).
%
% \bigskip
% But it's also possible to define a style locally for a given informatic
-% langage by providing the name of that language as optional argument (between
+% language by providing the name of that language as optional argument (between
% square brackets) to the command |\SetPitonStyle|.\footnote{We recall, that, in
% the package \pkg{piton}, the names of the informatic languages are
% case-insensitive.}
@@ -694,7 +720,7 @@ piton_version = "2.8" -- 2024/04/14
% \SetPitonStyle{Name.Function = \MyDefFunction, ~emphase#UserFunction@ = \MyUserFunction}
% \end{Verbatim}
%
-% \bigskip
+% \smallskip
%
% \begin{Piton}
% def transpose(v,i,j):
@@ -710,6 +736,10 @@ piton_version = "2.8" -- 2024/04/14
%
% \endgroup
%
+% \medskip
+% (Some \textsc{pdf} viewers display a frame around the clickable word
+% |transpose| but other do not.)
+%
% \PitonClearUserFunctions[Python]
%
% \bigskip
@@ -717,12 +747,12 @@ piton_version = "2.8" -- 2024/04/14
% Of course, the list of the names of Python functions previously défined is
% kept in the memory of LuaLaTeX (in a global way, that is to say independently
% of the TeX groups). The extension \pkg{piton} provides a command to clear that
-% list : it's the command |\PitonClearUserFunctions|. When it is used without
-% argument, that command is applied to all the informatic languages used by the
-% user but it's also possible to use it with an optional argument (between
-% square brackets) which is a list of informatic languages to which the command
-% will be applied.\footnote{We remind that, in \pkg{piton}, the name of the
-% informatic languages are case-insensitive.}
+% list : it's the command \DefinitionCommand{PitonClearUserFunctions}. When it
+% is used without argument, that command is applied to all the informatic
+% languages used by the user but it's also possible to use it with an optional
+% argument (between square brackets) which is a list of informatic languages to
+% which the command will be applied.\footnote{We remind that, in \pkg{piton},
+% the name of the informatic languages are case-insensitive.}
% \end{small}
%
% \subsection{Creation of new environments}
@@ -736,9 +766,10 @@ piton_version = "2.8" -- 2024/04/14
% |\newenvironment| (of standard LaTeX) or |\NewDocumentEnvironment| (of
% LaTeX3).
%
-% That's why \pkg{piton} provides a command |\NewPitonEnvironment|. That
-% command takes in three mandatory arguments.
-
+% That's why \pkg{piton} provides a command
+% \DefinitionCommand{NewPitonEnvironment}. That command takes in three mandatory
+% arguments.
+%
% That command has the same syntax as the classical environment
% |\NewDocumentEnvironment|.\footnote{However, the specifier of argument |b|
% (used to catch the body of the environment as a LaTeX argument) is
@@ -783,6 +814,148 @@ piton_version = "2.8" -- 2024/04/14
% return x*x
% \end{Python}
%
+% \section{Definition of new languages with the syntax of listings}
+%
+% \indexcommand{NewPitonLanguage}
+% \label{NewPitonLanguage}
+% \index{listings@\pkg{listings} (extension)}
+% \colorbox{yellow!50}{\textbf{New 3.0}}
+%
+% \medskip
+% The package \pkg{listings} is a famous LaTeX package to format informatic
+% listings.
+%
+% That package provides a command |\lstdefinelanguage| which allows the user to
+% define new languages. That command is also used by \pkg{listings} itself to
+% provide the definition of the predefined languages in \pkg{listings} (in fact,
+% for this task, \pkg{listings} uses a command called |\lst@definelanguage| but
+% that command has the same syntax as |\lstdefinelanguage|).
+%
+% \medskip
+% The package \pkg{piton} provides a command
+% \DefinitionCommand{NewPitonLanguage} to define new languages (avaiblable in
+% |\piton|, |{Piton}|, etc.) with a syntax which is almost the same as the
+% syntax of~|\lstdefinelanguage|.
+%
+% Let's precise that \pkg{piton} does \emph{not} use that command to define the
+% languages provided natively (Python, OCaml, \CC, SQL and |minimal|), which
+% allows more powerful parsers.
+%
+% \medskip
+% For example, in the file |lstlang1.sty|, which is one of the definition files
+% of \pkg{listings}, we find the following instructions (in version 1.10a).
+%
+%\begin{Verbatim}[formatcom=\small\color{gray}]
+% \lst~@definelanguage{Java}%
+% {morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
+% const,continue,default,do,double,else,extends,false,final,%
+% finally,float,for,goto,if,implements,import,instanceof,int,%
+% interface,label,long,native,new,null,package,private,protected,%
+% public,return,short,static,super,switch,synchronized,this,throw,%
+% throws,transient,true,try,void,volatile,while},%
+% sensitive,%
+% morecomment=[l]//,%
+% morecomment=[s]{/*}{*/},%
+% morestring=[b]",%
+% morestring=[b]',%
+% }[keywords,comments,strings]
+% \end{Verbatim}
+%
+% \medskip
+% In order to define a language called |Java| for \pkg{piton}, one has only to
+% write the following code {\bfseries where the last argument of
+% |\lst@definelanguage|, between square brackets, has been discarded} (in fact,
+% the symbols \verb+%+ may be deleted without any problem).
+%
+% \begin{Verbatim}[formatcom=\small\color{gray}]
+% ~emphase#\NewPitonLanguage@{Java}%
+% {morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
+% const,continue,default,do,double,else,extends,false,final,%
+% finally,float,for,goto,if,implements,import,instanceof,int,%
+% interface,label,long,native,new,null,package,private,protected,%
+% public,return,short,static,super,switch,synchronized,this,throw,%
+% throws,transient,true,try,void,volatile,while},%
+% sensitive,%
+% morecomment=[l]//,%
+% morecomment=[s]{/*}{*/},%
+% morestring=[b]",%
+% morestring=[b]',%
+% }
+% \end{Verbatim}
+%
+%
+% \NewPitonLanguage{Java}
+% {morekeywords={abstract,boolean,break,byte,case,catch,char,class,
+% const,continue,default,do,double,else,extends,false,final,
+% finally,float,for,goto,if,implements,import,instanceof,int,
+% interface,label,long,native,new,null,package,private,protected,
+% public,return,short,static,super,switch,synchronized,this,throw,
+% throws,transient,true,try,void,volatile,while},
+% sensitive,
+% morecomment=[l]//,
+% morecomment=[s]{/*}{*/},
+% morestring=[b]",
+% morestring=[b]',
+% }
+%
+% \medskip
+% It's possible to use the language Java like any other language defined by
+% \pkg{piton}.
+%
+% Here is an example of code formatted in an environment |{Piton}| with
+% the key |language=Java|.\footnote{We recall that, for \pkg{piton}, the names
+% of the informatic languages are case-insensitive. Hence, it's possible to
+% write, for instance, |language=java|.}
+%
+%
+% \bigskip
+% \begingroup
+% \small
+% \PitonOptions{split-on-empty-lines}
+% \begin{Piton}[language = java]
+% public class Cipher { // Caesar cipher
+% public static void main(String[] args) {
+% String str = "The quick brown fox Jumped over the lazy Dog";
+% System.out.println( Cipher.encode( str, 12 ));
+% System.out.println( Cipher.decode( Cipher.encode( str, 12), 12 ));
+% }
+%
+% public static String decode(String enc, int offset) {
+% return encode(enc, 26-offset);
+% }
+%
+% public static String encode(String enc, int offset) {
+% offset = offset % 26 + 26;
+% StringBuilder encoded = new StringBuilder();
+% for (char i : enc.toCharArray()) {
+% if (Character.isLetter(i)) {
+% if (Character.isUpperCase(i)) {
+% encoded.append((char) ('A' + (i - 'A' + offset) % 26 ));
+% } else {
+% encoded.append((char) ('a' + (i - 'a' + offset) % 26 ));
+% }
+% } else {
+% encoded.append(i);
+% }
+% }
+% return encoded.toString();
+% }
+% }
+% \end{Piton}
+% \endgroup
+%
+% \bigskip
+
+% The keys of the command |\lstdefinelanguage| of \pkg{listings} supported by |\NewPitonLanguage| are:
+% |morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|, |moretexcs|,
+% |morestring| (with the letters |b|,
+% |d|, |s| and |m|), |morecomment| (with the letters |i|, |l|, |s| and |n|),
+% |moredelim| (with the letters |i|,
+% |l|, |s|, |*| and |**|), |moredirectives|, |tag|, |alsodigit| and |alsoletter|.
+%
+% For the description of those keys, we redirect the reader to the documentation
+% of the package \pkg{listings} (type |texdoc| |listings| in a terminal).
+%
%
% \section{Advanced features}
%
@@ -800,8 +973,7 @@ piton_version = "2.8" -- 2024/04/14
% and |splittable| to allow such breaks.
%
% \begin{itemize}
-% \item \colorbox{yellow!50}{\textbf{New 2.7}}\par\nobreak
-% The key \Definition{split-on-empty-lines} allows breaks on the empty
+% \item The key \Definition{split-on-empty-lines} allows breaks on the empty
% lines\footnote{The ``empty lines'' are the lines which contains only spaes.} in
% the listing. In the informatic listings, the empty lines usually seperate the
% definitions of the informatic functions and it's pertinent to allow breaks
@@ -1059,16 +1231,16 @@ piton_version = "2.8" -- 2024/04/14
%
% \label{SetPitonIdentifier}
%
-% The command |\SetPitonIdentifier| allows to change the formatting of some
-% identifiers.
+% The command \DefinitionCommand{SetPitonIdentifier} allows to change the
+% formatting of some identifiers.
%
% \smallskip
% That command takes in three arguments:
%
% \begin{itemize}
% \item The optionnal argument (within square brackets) specifies the informatic
-% langage. If this argument is not present, the tunings done by
-% |\SetPitonIdentifier| will apply to all the informatic langages of
+% language. If this argument is not present, the tunings done by
+% |\SetPitonIdentifier| will apply to all the informatic languages of
% \pkg{piton}.\footnote{We recall, that, in the package \pkg{piton}, the
% names of the informatic languages are case-insensitive.}
%
@@ -1187,9 +1359,9 @@ piton_version = "2.8" -- 2024/04/14
%
% \begin{itemize}
% \item It's possible to change the syntatic mark (which, by default, is |#>|).
-% For this purpose, there is a key |comment-latex| available only in the
-% preamble of the document, allows to choice the characters which,
-% preceded by |#|, will be the syntatic marker.
+% For this purpose, there is a key \Definition{comment-latex} available only in
+% the preamble of the document, allows to choice the characters which, preceded
+% by |#|, will be the syntatic marker.
%
% For example, if the preamble contains the following instruction:
%
@@ -1260,7 +1432,7 @@ piton_version = "2.8" -- 2024/04/14
% \index{detected-commands (key)}
% \label{detected-commands}
%
-% The key |detected-commands| of |\PitonOptions| allow to specify a
+% The key \Definition{detected-commands} of |\PitonOptions| allows to specify a
% (comma-separated) list of names of LaTeX commands that will be detected
% directly by \pkg{piton}.
%
@@ -1271,7 +1443,7 @@ piton_version = "2.8" -- 2024/04/14
% backslash (eg. |detected-commands = { emph, textbf }|).
%
% \item These commands must be LaTeX commands with only one (mandatory) argument
-% between braces (and these braces must be explicit).
+% between braces (and these braces must appear explicitly in the informatic listing).
% \end{itemize}
%
% \medskip
@@ -1375,7 +1547,7 @@ piton_version = "2.8" -- 2024/04/14
% of LaTeX, they are, in particular, composed within a TeX group and therefore,
% they can't be used to change the formatting of other lexical units.
%
-% In the langages where the character \verb|$| does not play a important role,
+% In the languages where the character \verb|$| does not play a important role,
% it's possible to activate that mechanism ``|escape-math|'' with the character
% \verb|$|:
% \begin{Verbatim}
@@ -1609,15 +1781,15 @@ piton_version = "2.8" -- 2024/04/14
% package \pkg{footnote} or the package \pkg{footnotehyper}.
%
% \smallskip
-% If \pkg{piton} is loaded with the option |footnote| (with
+% If \pkg{piton} is loaded with the option \Definition{footnote} (with
% |\usepackage[footnote]{piton}| or with |\PassOptionsToPackage|), the
% package \pkg{footnote} is loaded (if it is not yet loaded) and it is used to
% extract the footnotes.
%
% \smallskip
-% If \pkg{piton} is loaded with the option |footnotehyper|, the package
-% \pkg{footnotehyper} is loaded (if it is not yet loaded) ant it is used to
-% extract footnotes.
+% If \pkg{piton} is loaded with the option \Definition{footnotehyper}, the
+% package \pkg{footnotehyper} is loaded (if it is not yet loaded) ant it is used
+% to extract footnotes.
%
% \smallskip
% Caution: The packages \pkg{footnote} and \pkg{footnotehyper} are incompatible.
@@ -1641,15 +1813,15 @@ piton_version = "2.8" -- 2024/04/14
% PEP~8), \pkg{piton} accepts the characters of tabulation (that is to say the
% characters U+0009) at the beginning of the lines. Each character U+0009 is
% replaced by $n$~spaces. The initial value of $n$ is $4$ but it's possible to
-% change it with the key |tab-size| of |\PitonOptions|.
+% change it with the key \Definition{tab-size} of |\PitonOptions|.
%
% \smallskip
-% There exists also a key |tabs-auto-gobble| which computes the minimal value
-% $n$ of the number of consecutive characters U+0009 beginning each (non empty)
-% line of the environment |{Piton}| and applies |gobble| with that value of~$n$
-% (before replacement of the tabulations by spaces, of course). Hence, that key
-% is similar to the key |auto-gobble| but acts on U+0009 instead of U+0020
-% (spaces).
+% There exists also a key \Definition{tabs-auto-gobble} which computes the
+% minimal value $n$ of the number of consecutive characters U+0009 beginning
+% each (non empty) line of the environment |{Piton}| and applies |gobble| with
+% that value of~$n$ (before replacement of the tabulations by spaces, of
+% course). Hence, that key is similar to the key |auto-gobble| but acts on
+% U+0009 instead of U+0020 (spaces).
%
%
% \bigskip
@@ -2341,6 +2513,38 @@ piton_version = "2.8" -- 2024/04/14
% for pseudo-code.
%
% \newpage
+% \subsection{The languages defined by \textbackslash NewPitonLanguage}
+%
+% \vspace{1cm}
+% The command |\NewPitonLanguage|, which defines new informatic languages with the
+% syntax of the extension \pkg{listings}, has been described p.~\pageref{NewPitonLanguage}.
+%
+% All the languages defined by the command |\NewPitonLanguage| use the same styles.
+% \vspace{1cm}
+%
+% \begin{center}
+% \begin{tabularx}{0.9\textwidth}{@{}>{\ttfamily}l>{\raggedright\arraybackslash}X@{}}
+% \toprule
+% \normalfont Style & Use \\
+% \midrule
+% Number & the numbers \\
+% String.Long & the strings defined in |\NewPitonLanguage| by the key |morestring| \\
+% Comment & the comments defined in |\NewPitonLanguage| by the key |morecomment| \\
+% Comment.LaTeX & the comments which are composed by \pkg{piton} as LaTeX code (merely named ``LaTeX comments'' in this document) \\
+% Keyword & the keywords defined in |\NewPitonLanguage| by the keys |morekeywords|
+% and |moretexcs| (and also the key |sensitive| which specifies whether
+% the keywords are case-sensitive or not) \\
+% Directive & the directives defined in |\NewPitonLanguage| by the key
+% |moredirectives| \\
+% Tag & the ``tags'' defines by the key |tag| (the lexical units detected within
+% the tag will also be formatted with their own style) \\
+% \bottomrule
+% \end{tabularx}
+% \end{center}
+%
+%
+%
+% \newpage
%
% \section{Implementation}
%
@@ -3808,8 +4012,107 @@ piton_version = "2.8" -- 2024/04/14
%
% \bigskip
% \begin{macrocode}
-\NewDocumentCommand { \NewPitonLanguage } { m m }
- { \lua_now:e { piton.new_language("#1","\lua_escape:n{#2}") } }
+\NewDocumentCommand { \NewPitonLanguage } { O { } m ! o }
+ {
+ \tl_if_novalue:nTF { #3 }
+% \end{macrocode}
+% The last argument is provided by curryfication.
+% \begin{macrocode}
+ { \@@_NewPitonLanguage:nnn { #1 } { #2 } }
+% \end{macrocode}
+% The two last arguments are provided by curryfication.
+% \begin{macrocode}
+ { \@@_NewPitonLanguage:nnnnn { #1 } { #2 } { #3 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following property list will contain the definitions of the informatic
+% languages as provided by the final user. However, if a language is defined
+% over another base language, the corresponding list will contain the \emph{whole}
+% definition of the language.
+% \begin{macrocode}
+\prop_new:N \g_@@_languages_prop
+% \end{macrocode}
+%
+% \bigskip
+% The function |\@@_NewPitonLanguage:nnn| will be used when the language is
+% \emph{not} defined above a base language (and a base dialect).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NewPitonLanguage:nnn #1 #2 #3
+ {
+% \end{macrocode}
+% We store in |\l_tmpa_tl| the name of the language with the potential dialect,
+% that is to say, for example : |[AspectJ]{Java}|. We use |\tl_if_blank:nF|
+% because the final user may have written |\NewPitonLanguage[ ]{Java}{...}|.
+% \begin{macrocode}
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \tl_if_blank:nF { #1 } { [ \str_lowercase:n { #1 } ] }
+ \str_lowercase:n { #2 }
+ }
+% \end{macrocode}
+% We store in LaTeX the definition of the language because some languages may be
+% defined with that language as base language.
+% \begin{macrocode}
+ \prop_gput:Non \g_@@_languages_prop \l_tmpa_tl { #3 }
+% \end{macrocode}
+% The Lua part of the package \pkg{piton} will be loaded in a
+% |\AtBeginDocument|. Hence, we will put also in a |\AtBeginDocument| the
+% utilisation of the Lua function |piton.new_language| (which does the main job).
+% \begin{macrocode}
+ \exp_args:NV \@@_NewPitonLanguage:nn \l_tmpa_tl { #3 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NewPitonLanguage:nn #1 #2
+ {
+ \hook_gput_code:nnn { begindocument } { . }
+ { \lua_now:e { piton.new_language("#1","\lua_escape:n{#2}") } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Now the case when the language is defined upon a base language.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NewPitonLanguage:nnnnn #1 #2 #3 #4 #5
+ {
+% \end{macrocode}
+% We store in |\l_tmpa_tl| the name of the base language with the dialect, that
+% is to say, for example : |[AspectJ]{Java}|. We use |\tl_if_blank:nF| because
+% the final user may have used |\NewPitonLanguage[Handel]{C}[ ]{C}{...}|
+% \begin{macrocode}
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \tl_if_blank:nF { #3 } { [ \str_lowercase:n { #3 } ] }
+ \str_lowercase:n { #4 }
+ }
+% \end{macrocode}
+% We retrieve in |\l_tmpb_tl| the definition (as provided by the final user) of
+% that base language. Caution: |\g_@@_languages_prop| does not contain all the
+% languages provided by \pkg{piton} but only those defined by using
+% |\NewPitonLanguage|.
+% \begin{macrocode}
+ \prop_get:NoNTF \g_@@_languages_prop \l_tmpa_tl \l_tmpb_tl
+% \end{macrocode}
+% We can now define the new language by using the previous function.
+% \begin{macrocode}
+ { \@@_NewPitonLanguage:nnno { #1 } { #2 } { #5 } \l_tmpb_tl }
+ { \@@_error:n { Language~not~defined } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NewPitonLanguage:nnnn #1 #2 #3 #4
+% \end{macrocode}
+% In the following line, we write |#4,#3| and not |#3,#4| because we want that the
+% keys which correspond to base language appear before the keys which are added
+% in the language we define.
+% \begin{macrocode}
+ { \@@_NewPitonLanguage:nnn { #1 } { #2 } { #4 , #3 } }
+\cs_generate_variant:Nn \@@_NewPitonLanguage:nnnn { n n n o }
% \end{macrocode}
%
% \bigskip
@@ -4507,14 +4810,15 @@ piton_version = "2.8" -- 2024/04/14
String.Doc ,
String.Interpol ,
String.Long ,
- String.Short ,
+ String.Short ,
+ Tag ,
TypeParameter ,
UserFunction ,
% \end{macrocode}
% Now, specific styles for the languages created with |\NewPitonLanguage| with
% the syntax of \pkg{listings}.
% \begin{macrocode}
- directive
+ Directive
}
\clist_map_inline:Nn \g_@@_styles_clist
@@ -4602,7 +4906,8 @@ piton_version = "2.8" -- 2024/04/14
TypeParameter = \color[HTML]{336666} \itshape ,
Preproc = \color[HTML]{AA6600} \slshape ,
Identifier = \@@_identifier:n ,
- directive = \color[HTML]{AA6600} ,
+ Directive = \color[HTML]{AA6600} ,
+ Tag = \colorbox{gray!10},
UserFunction = ,
Prompt = ,
ParseAgain.noCR = \@@_piton_no_cr:n ,
@@ -4787,6 +5092,18 @@ piton_version = "2.8" -- 2024/04/14
% \bigskip
% \subsubsection{The error messages of the package}
%
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Language~not~defined }
+ {
+ Language~not~defined \\
+ The~language~'\l_tmpa_tl'~has~not~been~defined~previoulsy.\\
+ If~you~go~on,~your~command~\token_to_str:N \NewPitonLanguage\
+ will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
% \begin{macrocode}
\@@_msg_new:nn { bad~version~of~piton.lua }
{
@@ -5014,7 +5331,12 @@ piton_version = "2.8" -- 2024/04/14
local my_lpeg =
P { "E" ,
E = ( V "F" * ( "," * V "F" ) ^ 0 ) / add ,
- F = space ^ 0 * ( alpha ^ 1 ) / "\\%0" * space ^ 0
+% \end{macrocode}
+% Be careful: in Lua, \verb|/| has no priority over \verb|*|. Of course, we want
+% a behaviour for this comma-seperated list equal to the behaviour of a |clist|
+% of L3.
+% \begin{macrocode}
+ F = space ^ 0 * ( ( alpha ^ 1 ) / "\\%0" ) * space ^ 0
}
function piton.addListCommands( key_value )
piton.ListCommands = piton.ListCommands + my_lpeg : match ( key_value )
@@ -5783,6 +6105,8 @@ local SingleShortString =
) ^ 0
* Q "'" )
+
+
local DoubleShortString =
WithStyle ( 'String.Short' ,
Q ( P "f\"" + "F\"" )
@@ -5813,7 +6137,15 @@ local ShortString = SingleShortString + DoubleShortString
% \paragraph{Beamer}
%
% \begin{macrocode}
-local braces = Compute_braces ( ShortString )
+local braces =
+ Compute_braces
+ (
+ Q ( P "\"" + "r\"" + "R\"" + "f\"" + "F\"" )
+ * ( "\"" * ( P "\\\"" + 1 - S "\"" ) ^ 0 * "\"" )
+ +
+ Q ( P '\'' + 'r\'' + 'R\'' + 'f\'' + 'F\'' )
+ * ( '\'' * ( P '\\\'' + 1 - S '\'' ) ^ 0 * '\'' )
+ )
if piton.beamer then Beamer = Compute_Beamer ( 'python' , braces ) end
% \end{macrocode}
%
@@ -6529,12 +6861,12 @@ local Type =
K ( 'Name.Type' ,
P "bool" + "char" + "char16_t" + "char32_t" + "double" + "float" + "int" +
"int8_t" + "int16_t" + "int32_t" + "int64_t" + "long" + "short" + "signed"
- + "unsigned" + "void" + "wchar_t" )
+ + "unsigned" + "void" + "wchar_t" ) * Q "*" ^ 0
local DefFunction =
Type
* Space
- * Q "*" ^ -1
+ * Q "*" ^ -1
* K ( 'Name.Function.Internal' , identifier )
* SkipSpace
* # P "("
@@ -7394,7 +7726,7 @@ function piton.new_language ( lang , definition )
% \end{macrocode}
%
% \bigskip
-% Of course, the \textsc{lpeg} |b_braces| is for balanced braces (without the
+% Of course, the \textsc{lpeg} |strict_braces| is for balanced braces (without the
% question of strings of an informatic language). In fact, it \emph{won't} be
% used for an informatic language (as dealt by \pkg{piton}) but for LaTeX
% instructions;
@@ -7419,7 +7751,7 @@ function piton.new_language ( lang , definition )
local def_table = cut_definition : match ( definition )
% \end{macrocode}
% The definition of the language, provided by the final user of \pkg{piton} is
-% now in the Lua table |def_table|. We will use it several times.
+% now in the Lua table |def_table|. We will use it \emph{several times}.
%
% \medskip
% The following \textsc{lpeg} will be used to extract arguments in the values of
@@ -7431,6 +7763,15 @@ function piton.new_language ( lang , definition )
% \end{macrocode}
%
% \begin{macrocode}
+ local args_for_tag
+ = tex_option_arg
+ * space ^ 0
+ * tex_arg
+ * space ^ 0
+ * tex_arg
+% \end{macrocode}
+%
+% \begin{macrocode}
local args_for_morekeywords
= "[" * C ( ( 1 - P "]" ) ^ 0 ) * "]"
* space ^ 0
@@ -7456,17 +7797,6 @@ function piton.new_language ( lang , definition )
* C ( P ( 1 ) ^ 0 * -1 )
% \end{macrocode}
%
-% \begin{macrocode}
- local args_for_tag
- = ( P "*" ^ -2 )
- * space ^ 0
- * ( "[" * ( 1 - P "]" ) ^ 0 * "]" ) ^ 0
- * space ^ 0
- * tex_arg
- * space ^ 0
- * tex_arg
-% \end{macrocode}
-%
%
% \bigskip
% We scan the definition of the language (i.e. the table |def_table|) in order
@@ -7475,7 +7805,7 @@ function piton.new_language ( lang , definition )
% the potential keys |alsodigit|, |alsoletter| and |tag|.
% \begin{macrocode}
local sensitive = true
- local left_tag , right_tag
+ local style_tag , left_tag , right_tag
for _ , x in ipairs ( def_table ) do
if x[1] == "sensitive" then
if x[2] == nil or ( P "true" ) : match ( x[2] ) then
@@ -7487,7 +7817,8 @@ function piton.new_language ( lang , definition )
if x[1] == "alsodigit" then x[2] : gsub ( "." , add_to_digit ) end
if x[1] == "alsoletter" then x[2] : gsub ( "." , add_to_letter ) end
if x[1] == "tag" then
- left_tag , right_tag = args_for_tag : match ( x[2] )
+ style_tag , left_tag , right_tag = args_for_tag : match ( x[2] )
+ style_tag = style_tag or [[\PitonStyle{Tag}]]
end
end
% \end{macrocode}
@@ -7551,18 +7882,18 @@ function piton.new_language ( lang , definition )
local keywords = P ( false )
% \end{macrocode}
% \begin{macrocode}
- local style = [[ \PitonStyle{Keyword} ]]
- if x[1] == "moredirectives" then style = [[ \PitonStyle{directive} ]] end
+ local style = [[\PitonStyle{Keyword}]]
+ if x[1] == "moredirectives" then style = [[ \PitonStyle{Directive} ]] end
style = tex_option_arg : match ( x[2] ) or style
- local n = tonumber (style )
+ local n = tonumber ( style )
if n then
- if n > 1 then style = [[ \PitonStyle{Keyword ]] .. style .. "}" end
+ if n > 1 then style = [[\PitonStyle{Keyword]] .. style .. "}" end
end
% \end{macrocode}
% \begin{macrocode}
for _ , word in ipairs ( split_clist : match ( x[2] ) ) do
if x[1] == "moretexcs" then
- keywords = Q ( [[ \ ]] .. word ) + keywords
+ keywords = Q ( [[\]] .. word ) + keywords
else
if sensitive
% \end{macrocode}
@@ -7597,44 +7928,42 @@ function piton.new_language ( lang , definition )
for _ , x in ipairs ( def_table ) do
if x[1] == "morestring" then
arg1 , arg2 , arg3 , arg4 = args_for_morekeywords : match ( x[2] )
- arg2 = arg2 or [[ \PitonStyle{String.Long} ]]
- if arg1 == "s" then
- long_string =
- Q ( arg3 )
- * ( Q ( ( 1 - P ( arg4 ) - S "$\r" ) ^ 1 ) -- $
- + EOL
- ) ^ 0
- * Q ( arg4 )
- else
- central_pattern = 1 - S ( " \r" .. arg3 )
- if arg1 : match "b" then
- central_pattern = P ( [[ \ ]] .. arg3 ) + central_pattern
- end
+ arg2 = arg2 or [[\PitonStyle{String.Long}]]
+ if arg1 ~= "s" then
+ arg4 = arg3
+ end
+ central_pattern = 1 - S ( " \r" .. arg4 )
+ if arg1 : match "b" then
+ central_pattern = P ( [[\]] .. arg3 ) + central_pattern
+ end
% \end{macrocode}
% In fact, the specifier |d| is point-less: when it is not in force, it's still
% possible to double the delimiter with a correct behaviour of \pkg{piton}
% since, in that case, \pkg{piton} will compose \emph{two} contiguous strings...
% \begin{macrocode}
- if arg1 : match "d" or arg1 == "m" then
- central_pattern = P ( arg3 .. arg3 ) + central_pattern
- end
- if arg1 == "m"
- then prefix = P ( false )
- else prefix = lpeg.B ( 1 - letter - ")" - "]" )
- end
+ if arg1 : match "d" or arg1 == "m" then
+ central_pattern = P ( arg3 .. arg3 ) + central_pattern
+ end
+ if arg1 == "m"
+ then prefix = lpeg.B ( 1 - letter - ")" - "]" )
+ else prefix = P ( true )
+ end
+% \end{macrocode}
+% We can write the pattern which matches the string.
+% \begin{macrocode}
+ local pattern =
+ prefix
+ * Q ( arg3 )
+ * ( VisualSpace + Q ( central_pattern ^ 1 ) + EOL ) ^ 0
+ * Q ( arg4 )
% \end{macrocode}
% First, we create |long_string| because we need that \textsc{lpeg} in the
% nested comments.
% \begin{macrocode}
- long_string = long_string +
- prefix
- * Q ( arg3 )
- * ( VisualSpace + Q ( central_pattern ^ 1 ) + EOL ) ^ 0
- * Q ( arg3 )
- end
+ long_string = long_string + pattern
LongString = LongString +
Ct ( Cc "Open" * Cc ( "{" .. arg2 .. "{" ) * Cc "}}" )
- * long_string
+ * pattern
* Ct ( Cc "Close" )
end
end
@@ -7655,12 +7984,12 @@ function piton.new_language ( lang , definition )
for _ , x in ipairs ( def_table ) do
if x[1] == "morecomment" then
local arg1 , arg2 , other_args = args_for_morecomment : match ( x[2] )
- arg2 = arg2 or [[ \PitonStyle{Comment} ]]
+ arg2 = arg2 or [[\PitonStyle{Comment}]]
% \end{macrocode}
% If the letter |i| is present in the first argument (eg:
% |morecomment = [si]{(*}{*)}|, then the corresponding comments are discarded.
% \begin{macrocode}
- if arg1 : match "i" then arg2 = [[ \PitonStyle{Discard} ]] end
+ if arg1 : match "i" then arg2 = [[\PitonStyle{Discard}]] end
if arg1 : match "l" then
local arg3 = ( tex_braced_arg + C ( P ( 1 ) ^ 0 * -1 ) )
: match ( other_args )
@@ -7753,11 +8082,7 @@ function piton.new_language ( lang , definition )
local Punct = Q ( S "=,:;!\\'\"" )
% \end{macrocode}
%
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-%
+%
% \begin{macrocode}
local Main =
space ^ 1 * -1
@@ -7772,8 +8097,12 @@ function piton.new_language ( lang , definition )
+ Beamer
+ DetectedCommands
+ CommentDelim
- + Delim
+% \end{macrocode}
+% We must put |LongString| before |Delim| because, in PostScript, the strings
+% are delimited by parenthesis and those parenthesis would be catched by |Delim|.
+% \begin{macrocode}
+ LongString
+ + Delim
+ Keyword * ( Space + Punct + Delim + EOL + -1 )
+ Punct
+ K ( 'Identifier' , letter * alphanum ^ 0 )
@@ -7787,14 +8116,6 @@ function piton.new_language ( lang , definition )
LPEG1[lang] = Main ^ 0
% \end{macrocode}
%
-%
-% \bigskip
-% If the key |tag| has been used, then |left_tag| (and also |right_tag|) is non nil.
-% \begin{macrocode}
- if left_tag then
- end
-% \end{macrocode}
-%
%
% The \textsc{lpeg} |LPEG2[lang]| is used to format general chunks of code.
% \begin{macrocode}
@@ -7802,21 +8123,23 @@ function piton.new_language ( lang , definition )
Ct (
( space ^ 0 * P "\r" ) ^ -1
* BeamerBeginEnvironments
- * Lc [[ \@@_begin_line: ]]
+ * Lc [[\@@_begin_line:]]
* SpaceIndentation ^ 0
* LPEG1[lang]
* -1
- * Lc [[ \@@_end_line: ]]
+ * Lc [[\@@_end_line:]]
)
% \end{macrocode}
%
-%
+% If the key |tag| has been used.
% \begin{macrocode}
if left_tag then
- local Tag = Q ( left_tag * other ^ 0 )
+ local Tag = Ct ( Cc "Open" * Cc ( "{" .. style_tag .. "{" ) * Cc "}}" )
+ * Q ( left_tag * other ^ 0 )
* ( ( ( 1 - P ( right_tag ) ) ^ 0 )
/ ( function ( x ) return LPEG0[lang] : match ( x ) end ) )
* Q ( right_tag )
+ * Ct ( Cc "Close" )
MainWithoutTag
= space ^ 1 * -1
+ space ^ 0 * EOL
@@ -7855,11 +8178,11 @@ function piton.new_language ( lang , definition )
Ct (
( space ^ 0 * P "\r" ) ^ -1
* BeamerBeginEnvironments
- * Lc [[ \@@_begin_line: ]]
+ * Lc [[\@@_begin_line:]]
* SpaceIndentation ^ 0
* LPEG1[lang]
* -1
- * Lc [[ \@@_end_line: ]]
+ * Lc [[\@@_end_line:]]
)
end
end
@@ -7886,6 +8209,13 @@ end
%
% \verb|https://github.com/fpantigny/piton|
%
+% \subsection*{Changes between versions 2.8 and 3.0}
+%
+% New command |\NewPitonLanguage|. Thanks to that command, it's now possible to
+% define new informatic languages with the syntax used by \pkg{listings}.
+% Therefore, it's possible to say that virtually all the informatic languages
+% are now supported by \pkg{piton}.
+%
% \subsection*{Changes between versions 2.7 and 2.8}
%
% The key |path| now accepts a \emph{list} of pathes where the files to include
diff --git a/macros/luatex/latex/piton/piton.pdf b/macros/luatex/latex/piton/piton.pdf
index e304fb1611..f563698cae 100644
--- a/macros/luatex/latex/piton/piton.pdf
+++ b/macros/luatex/latex/piton/piton.pdf
@@ -102,13485 +102,13540 @@ endobj
<< /S /GoTo /D (section.0.5) >>
endobj
63 0 obj
-(\376\377\0005\000\040\000A\000d\000v\000a\000n\000c\000e\000d\000\040\000f\000e\000a\000t\000u\000r\000e\000s)
+(\376\377\0005\000\040\000D\000e\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
64 0 obj
-<< /S /GoTo /D (subsection.0.5.1) >>
+<< /S /GoTo /D (section.0.6) >>
endobj
67 0 obj
-(\376\377\0005\000.\0001\000\040\000P\000a\000g\000e\000\040\000b\000r\000e\000a\000k\000s\000\040\000a\000n\000d\000\040\000l\000i\000n\000e\000\040\000b\000r\000e\000a\000k\000s)
+(\376\377\0006\000\040\000A\000d\000v\000a\000n\000c\000e\000d\000\040\000f\000e\000a\000t\000u\000r\000e\000s)
endobj
68 0 obj
-<< /S /GoTo /D (subsubsection.0.5.1.1) >>
+<< /S /GoTo /D (subsection.0.6.1) >>
endobj
71 0 obj
-(\376\377\0005\000.\0001\000.\0001\000\040\000P\000a\000g\000e\000\040\000b\000r\000e\000a\000k\000s)
+(\376\377\0006\000.\0001\000\040\000P\000a\000g\000e\000\040\000b\000r\000e\000a\000k\000s\000\040\000a\000n\000d\000\040\000l\000i\000n\000e\000\040\000b\000r\000e\000a\000k\000s)
endobj
72 0 obj
-<< /S /GoTo /D (subsubsection.0.5.1.2) >>
+<< /S /GoTo /D (subsubsection.0.6.1.1) >>
endobj
75 0 obj
-(\376\377\0005\000.\0001\000.\0002\000\040\000L\000i\000n\000e\000\040\000b\000r\000e\000a\000k\000s)
+(\376\377\0006\000.\0001\000.\0001\000\040\000P\000a\000g\000e\000\040\000b\000r\000e\000a\000k\000s)
endobj
76 0 obj
-<< /S /GoTo /D (subsection.0.5.2) >>
+<< /S /GoTo /D (subsubsection.0.6.1.2) >>
endobj
79 0 obj
-(\376\377\0005\000.\0002\000\040\000I\000n\000s\000e\000r\000t\000i\000o\000n\000\040\000o\000f\000\040\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000a\000\040\000f\000i\000l\000e)
+(\376\377\0006\000.\0001\000.\0002\000\040\000L\000i\000n\000e\000\040\000b\000r\000e\000a\000k\000s)
endobj
80 0 obj
-<< /S /GoTo /D (subsubsection.0.5.2.1) >>
+<< /S /GoTo /D (subsection.0.6.2) >>
endobj
83 0 obj
-(\376\377\0005\000.\0002\000.\0001\000\040\000W\000i\000t\000h\000\040\000l\000i\000n\000e\000\040\000n\000u\000m\000b\000e\000r\000s)
+(\376\377\0006\000.\0002\000\040\000I\000n\000s\000e\000r\000t\000i\000o\000n\000\040\000o\000f\000\040\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000a\000\040\000f\000i\000l\000e)
endobj
84 0 obj
-<< /S /GoTo /D (subsubsection.0.5.2.2) >>
+<< /S /GoTo /D (subsubsection.0.6.2.1) >>
endobj
87 0 obj
-(\376\377\0005\000.\0002\000.\0002\000\040\000W\000i\000t\000h\000\040\000t\000e\000x\000t\000u\000a\000l\000\040\000m\000a\000r\000k\000e\000r\000s)
+(\376\377\0006\000.\0002\000.\0001\000\040\000W\000i\000t\000h\000\040\000l\000i\000n\000e\000\040\000n\000u\000m\000b\000e\000r\000s)
endobj
88 0 obj
-<< /S /GoTo /D (subsection.0.5.3) >>
+<< /S /GoTo /D (subsubsection.0.6.2.2) >>
endobj
91 0 obj
-(\376\377\0005\000.\0003\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
+(\376\377\0006\000.\0002\000.\0002\000\040\000W\000i\000t\000h\000\040\000t\000e\000x\000t\000u\000a\000l\000\040\000m\000a\000r\000k\000e\000r\000s)
endobj
92 0 obj
-<< /S /GoTo /D (subsection.0.5.4) >>
+<< /S /GoTo /D (subsection.0.6.3) >>
endobj
95 0 obj
-(\376\377\0005\000.\0004\000\040\000M\000e\000c\000h\000a\000n\000i\000s\000m\000s\000\040\000t\000o\000\040\000e\000s\000c\000a\000p\000e\000\040\000t\000o\000\040\000L\000a\000T\000e\000X)
+(\376\377\0006\000.\0003\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
endobj
96 0 obj
-<< /S /GoTo /D (subsubsection.0.5.4.1) >>
+<< /S /GoTo /D (subsection.0.6.4) >>
endobj
99 0 obj
-(\376\377\0005\000.\0004\000.\0001\000\040\000T\000h\000e\000\040\000`\000`\000L\000a\000T\000e\000X\000\040\000c\000o\000m\000m\000e\000n\000t\000s\000'\000')
+(\376\377\0006\000.\0004\000\040\000M\000e\000c\000h\000a\000n\000i\000s\000m\000s\000\040\000t\000o\000\040\000e\000s\000c\000a\000p\000e\000\040\000t\000o\000\040\000L\000a\000T\000e\000X)
endobj
100 0 obj
-<< /S /GoTo /D (subsubsection.0.5.4.2) >>
+<< /S /GoTo /D (subsubsection.0.6.4.1) >>
endobj
103 0 obj
-(\376\377\0005\000.\0004\000.\0002\000\040\000T\000h\000e\000\040\000k\000e\000y\000\040\000`\000`\000m\000a\000t\000h\000-\000c\000o\000m\000m\000e\000n\000t\000s\000'\000')
+(\376\377\0006\000.\0004\000.\0001\000\040\000T\000h\000e\000\040\000`\000`\000L\000a\000T\000e\000X\000\040\000c\000o\000m\000m\000e\000n\000t\000s\000'\000')
endobj
104 0 obj
-<< /S /GoTo /D (subsubsection.0.5.4.3) >>
+<< /S /GoTo /D (subsubsection.0.6.4.2) >>
endobj
107 0 obj
-(\376\377\0005\000.\0004\000.\0003\000\040\000T\000h\000e\000\040\000k\000e\000y\000\040\000`\000`\000d\000e\000t\000e\000c\000t\000e\000d\000-\000c\000o\000m\000m\000a\000n\000d\000s\000'\000')
+(\376\377\0006\000.\0004\000.\0002\000\040\000T\000h\000e\000\040\000k\000e\000y\000\040\000`\000`\000m\000a\000t\000h\000-\000c\000o\000m\000m\000e\000n\000t\000s\000'\000')
endobj
108 0 obj
-<< /S /GoTo /D (subsubsection.0.5.4.4) >>
+<< /S /GoTo /D (subsubsection.0.6.4.3) >>
endobj
111 0 obj
-(\376\377\0005\000.\0004\000.\0004\000\040\000T\000h\000e\000\040\000m\000e\000c\000h\000a\000n\000i\000s\000m\000\040\000`\000`\000e\000s\000c\000a\000p\000e\000'\000')
+(\376\377\0006\000.\0004\000.\0003\000\040\000T\000h\000e\000\040\000k\000e\000y\000\040\000`\000`\000d\000e\000t\000e\000c\000t\000e\000d\000-\000c\000o\000m\000m\000a\000n\000d\000s\000'\000')
endobj
112 0 obj
-<< /S /GoTo /D (subsubsection.0.5.4.5) >>
+<< /S /GoTo /D (subsubsection.0.6.4.4) >>
endobj
115 0 obj
-(\376\377\0005\000.\0004\000.\0005\000\040\000T\000h\000e\000\040\000m\000e\000c\000h\000a\000n\000i\000s\000m\000\040\000`\000`\000e\000s\000c\000a\000p\000e\000-\000m\000a\000t\000h\000'\000')
+(\376\377\0006\000.\0004\000.\0004\000\040\000T\000h\000e\000\040\000m\000e\000c\000h\000a\000n\000i\000s\000m\000\040\000`\000`\000e\000s\000c\000a\000p\000e\000'\000')
endobj
116 0 obj
-<< /S /GoTo /D (subsection.0.5.5) >>
+<< /S /GoTo /D (subsubsection.0.6.4.5) >>
endobj
119 0 obj
-(\376\377\0005\000.\0005\000\040\000B\000e\000h\000a\000v\000i\000o\000u\000r\000\040\000i\000n\000\040\000t\000h\000e\000\040\000c\000l\000a\000s\000s\000\040\000B\000e\000a\000m\000e\000r)
+(\376\377\0006\000.\0004\000.\0005\000\040\000T\000h\000e\000\040\000m\000e\000c\000h\000a\000n\000i\000s\000m\000\040\000`\000`\000e\000s\000c\000a\000p\000e\000-\000m\000a\000t\000h\000'\000')
endobj
120 0 obj
-<< /S /GoTo /D (subsubsection.0.5.5.1) >>
+<< /S /GoTo /D (subsection.0.6.5) >>
endobj
123 0 obj
-(\376\377\0005\000.\0005\000.\0001\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e\000\040\000a\000r\000e\000\040\000`\000`\000o\000v\000e\000r\000l\000a\000y\000-\000a\000w\000a\000r\000e\000'\000')
+(\376\377\0006\000.\0005\000\040\000B\000e\000h\000a\000v\000i\000o\000u\000r\000\040\000i\000n\000\040\000t\000h\000e\000\040\000c\000l\000a\000s\000s\000\040\000B\000e\000a\000m\000e\000r)
endobj
124 0 obj
-<< /S /GoTo /D (subsubsection.0.5.5.2) >>
+<< /S /GoTo /D (subsubsection.0.6.5.1) >>
endobj
127 0 obj
-(\376\377\0005\000.\0005\000.\0002\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000o\000f\000\040\000B\000e\000a\000m\000e\000r\000\040\000a\000l\000l\000o\000w\000e\000d\000\040\000i\000n\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000a\000n\000d\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
+(\376\377\0006\000.\0005\000.\0001\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000e\000t\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e\000\040\000a\000r\000e\000\040\000`\000`\000o\000v\000e\000r\000l\000a\000y\000-\000a\000w\000a\000r\000e\000'\000')
endobj
128 0 obj
-<< /S /GoTo /D (subsubsection.0.5.5.3) >>
+<< /S /GoTo /D (subsubsection.0.6.5.2) >>
endobj
131 0 obj
-(\376\377\0005\000.\0005\000.\0003\000\040\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000B\000e\000a\000m\000e\000r\000\040\000a\000l\000l\000o\000w\000e\000d\000\040\000i\000n\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000a\000n\000d\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
+(\376\377\0006\000.\0005\000.\0002\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000o\000f\000\040\000B\000e\000a\000m\000e\000r\000\040\000a\000l\000l\000o\000w\000e\000d\000\040\000i\000n\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000a\000n\000d\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
endobj
132 0 obj
-<< /S /GoTo /D (subsection.0.5.6) >>
+<< /S /GoTo /D (subsubsection.0.6.5.3) >>
endobj
135 0 obj
-(\376\377\0005\000.\0006\000\040\000F\000o\000o\000t\000n\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000p\000i\000t\000o\000n)
+(\376\377\0006\000.\0005\000.\0003\000\040\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000B\000e\000a\000m\000e\000r\000\040\000a\000l\000l\000o\000w\000e\000d\000\040\000i\000n\000\040\000\173\000P\000i\000t\000o\000n\000\175\000\040\000a\000n\000d\000\040\000\134\000P\000i\000t\000o\000n\000I\000n\000p\000u\000t\000F\000i\000l\000e)
endobj
136 0 obj
-<< /S /GoTo /D (subsection.0.5.7) >>
+<< /S /GoTo /D (subsection.0.6.6) >>
endobj
139 0 obj
-(\376\377\0005\000.\0007\000\040\000T\000a\000b\000u\000l\000a\000t\000i\000o\000n\000s)
+(\376\377\0006\000.\0006\000\040\000F\000o\000o\000t\000n\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000p\000i\000t\000o\000n)
endobj
140 0 obj
-<< /S /GoTo /D (section.0.6) >>
+<< /S /GoTo /D (subsection.0.6.7) >>
endobj
143 0 obj
-(\376\377\0006\000\040\000A\000P\000I\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000e\000v\000e\000l\000o\000p\000p\000e\000r\000s)
+(\376\377\0006\000.\0007\000\040\000T\000a\000b\000u\000l\000a\000t\000i\000o\000n\000s)
endobj
144 0 obj
<< /S /GoTo /D (section.0.7) >>
endobj
147 0 obj
-(\376\377\0007\000\040\000E\000x\000a\000m\000p\000l\000e\000s)
+(\376\377\0007\000\040\000A\000P\000I\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000e\000v\000e\000l\000o\000p\000p\000e\000r\000s)
endobj
148 0 obj
-<< /S /GoTo /D (subsection.0.7.1) >>
+<< /S /GoTo /D (section.0.8) >>
endobj
151 0 obj
-(\376\377\0007\000.\0001\000\040\000L\000i\000n\000e\000\040\000n\000u\000m\000b\000e\000r\000i\000n\000g)
+(\376\377\0008\000\040\000E\000x\000a\000m\000p\000l\000e\000s)
endobj
152 0 obj
-<< /S /GoTo /D (subsection.0.7.2) >>
+<< /S /GoTo /D (subsection.0.8.1) >>
endobj
155 0 obj
-(\376\377\0007\000.\0002\000\040\000F\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000L\000a\000T\000e\000X\000\040\000c\000o\000m\000m\000e\000n\000t\000s)
+(\376\377\0008\000.\0001\000\040\000L\000i\000n\000e\000\040\000n\000u\000m\000b\000e\000r\000i\000n\000g)
endobj
156 0 obj
-<< /S /GoTo /D (subsection.0.7.3) >>
+<< /S /GoTo /D (subsection.0.8.2) >>
endobj
159 0 obj
-(\376\377\0007\000.\0003\000\040\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\0008\000.\0002\000\040\000F\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000L\000a\000T\000e\000X\000\040\000c\000o\000m\000m\000e\000n\000t\000s)
endobj
160 0 obj
-<< /S /GoTo /D (subsection.0.7.4) >>
+<< /S /GoTo /D (subsection.0.8.3) >>
endobj
163 0 obj
-(\376\377\0007\000.\0004\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0008\000.\0003\000\040\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
164 0 obj
-<< /S /GoTo /D (subsection.0.7.5) >>
+<< /S /GoTo /D (subsection.0.8.4) >>
endobj
167 0 obj
-(\376\377\0007\000.\0005\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\0008\000.\0004\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
endobj
168 0 obj
-<< /S /GoTo /D (section.0.8) >>
+<< /S /GoTo /D (subsection.0.8.5) >>
endobj
171 0 obj
-(\376\377\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
+(\376\377\0008\000.\0005\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.0.8.1) >>
+<< /S /GoTo /D (section.0.9) >>
endobj
175 0 obj
-(\376\377\0008\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\0009\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.0.8.2) >>
+<< /S /GoTo /D (subsection.0.9.1) >>
endobj
179 0 obj
-(\376\377\0008\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\0009\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.0.8.3) >>
+<< /S /GoTo /D (subsection.0.9.2) >>
endobj
183 0 obj
-(\376\377\0008\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
+(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.0.8.4) >>
+<< /S /GoTo /D (subsection.0.9.3) >>
endobj
187 0 obj
-(\376\377\0008\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.0.8.5) >>
+<< /S /GoTo /D (subsection.0.9.4) >>
endobj
191 0 obj
-(\376\377\0008\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
+(\376\377\0009\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
endobj
192 0 obj
-<< /S /GoTo /D (section.0.9) >>
+<< /S /GoTo /D (subsection.0.9.5) >>
endobj
195 0 obj
-(\376\377\0009\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0009\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
endobj
196 0 obj
-<< /S /GoTo /D (subsection.0.9.1) >>
+<< /S /GoTo /D [ 197 0 R /FitBH 771.02165 ] >>
endobj
-199 0 obj
-(\376\377\0009\000.\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
-
+202 0 obj
+<< /Filter /FlateDecode /Length 3352 >>
+stream
+xڽ[KWQB ,ǀs >$
+#@S{{Y/0~Uz|,|u۷oxMXB+}o&6IY>}~x8 ^r'Zq.>rg0xLO!0&&DR2x-H؄`^ka;23fA3et Gd.vSb eҋ 0$sGj\;^`PpMr|4̚$^0keV HȢfQj[TMH+qђqP`C5iEk~Bw'FFlycOZ>f8\A$D
+ɲ88t)EcB-\:3=g4a9#]OܑӣYQj #UF,0t.|D+D7^sSq wI$W xnET 59ioSEފ@pIj4  ,]=\Rh?̃)mzl\tQ) PxllQ$ɂ&!^JoQ\~H߈dȍGKt/$ׁ{v&!y"B+"Bn</Q 0"'lh6)ew/;_d
+OpzOKS42 еg
+&hk'k@0Ǒk>5g-^|-k6üNP*
+8fm It47Zp)ц9GBaFLZ?˨5dy>[w"aZtHn*pEQKeEh\-Q%y!U&M;H LUjBM1ɲhU+7T\0-+a+5=P
+E*`\LHP|0c;ʯH|5z [+W VC8[ Z9τ+kK_djP]a'BǾ91xEުïr XZ5v|[Rͥw,$qY!)=@piT2@CN$Pʐs]0)S˧pU==Z0Y76FN |bs>yeqZq Hw9`c%ۻw$&PSȹ%ݨߣN ƌ3o)'œ}/}12$^ӏ㴂{ftR͙Ÿ̽ބxh2ːǯG-x)[r*IE(Sq4mse)Jϰ9ާ !3v4EMN_ԋAk3KF+fiOIqeDO"+-ēegdgż"I4ZVr۟2`(~L6R_Rj`ڛT\Iiy.6I'_8n0%_)M&dZjADGfkYeoc./]utҊJ^H566ǫ'mQR5i8O\RfE;_j{SYPd_ <
+հ.,q#(S '΀4tQ%%Ư(k` ċ7[k׼<g4 L?d@[i"fC}T| ybO#6wV55319C
+Tw^q,ᚁRH~)oN]}z& DH^Rgӛ/C{?᛿;rr7x7E[Px|.w7$.s7# K=2T|g\ Z}ˏE
+) =Q]"JZAqN3>D>8Qy/[^Y?$u Em1њ=:Ŵk軳lKZ1tHR4BE[gؕ!QCh=/&7 @EkkrєM>A(GP2%{yȺ~?
+<fIց~J_Jxc
+;fv))[$1h;IoZʏ~4y?l'9$ j9a +ĉcH Fc
+(MSڑ1Qe5%/z*K%`.
+ȉ,hP~(ei]GEԃ:"` 91YMUCJ8'-wM$ԔghI@6~y.iKņBb
+)q%bF~ WV4sj(B[c?-7|a95%8
+Ѷ US*)3TeSR _ Q*n-+<9wv507@A7ABR_)6ӆA#V+mQ2;P Aۼ;JكWwO^x,cQTƾ*҅@]7N'u񎬡jmU, Y{@.QQlڞc d% _P嬠خ +JtJ1Z~?m汘<6Hq-YΛbme 6M{K<m8cWaPBܚ)±ѩCusբKP̯`OBj
+endstream
+endobj
+197 0 obj
+<< /Type /Page /Contents 202 0 R /Resources 201 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 234 0 R >>
+endobj
+234 0 obj
+[ 198 0 R 200 0 R 199 0 R 231 0 R ]
+endobj
+198 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 276.15 522.003 282.609 534.294 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
endobj
200 0 obj
-<< /S /GoTo /D (subsection.0.9.2) >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 293.321 384.065 307.269 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
+endobj
+199 0 obj
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 132.704 516.902 143.254 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
+ >>
+endobj
+231 0 obj
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 123.166 202.6 131.536 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
+ >>
endobj
203 0 obj
-(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000L\0003\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-
+<< /D [ 197 0 R /XYZ 78.37 808.885 null ] >>
endobj
204 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.1) >>
+<< /D [ 197 0 R /XYZ 79.37 771.024 null ] >>
endobj
-207 0 obj
-(\376\377\0009\000.\0002\000.\0001\000\040\000D\000e\000c\000l\000a\000r\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
-
+5 0 obj
+<< /D [ 197 0 R /XYZ 79.37 562.969 null ] >>
endobj
-208 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.2) >>
+228 0 obj
+<< /D [ 197 0 R /XYZ 93.716 144.934 null ] >>
endobj
-211 0 obj
-(\376\377\0009\000.\0002\000.\0002\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000a\000n\000d\000\040\000t\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
-
+232 0 obj
+<< /D [ 197 0 R /XYZ 93.716 125.842 null ] >>
endobj
-212 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.3) >>
+201 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F23 205 0 R /F24 206 0 R /F32 207 0 R /F41 208 0 R /F52 209 0 R /F61 210 0 R /F60 211 0 R /F62 212 0 R /F64 213 0 R /F15 214 0 R /F65 215 0 R /F16 216 0 R /F74 217 0 R /F75 218 0 R /F77 219 0 R /F27 220 0 R /F30 221 0 R /F67 222 0 R /F66 223 0 R /F47 224 0 R /F53 225 0 R /F59 226 0 R /F71 227 0 R /F72 229 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-215 0 obj
-(\376\377\0009\000.\0002\000.\0003\000\040\000T\000r\000e\000a\000t\000m\000e\000n\000t\000\040\000o\000f\000\040\000a\000\040\000l\000i\000n\000e\000\040\000o\000f\000\040\000c\000o\000d\000e)
-
+244 0 obj
+<< /Filter /FlateDecode /Length 3887 >>
+stream
+xڵ\K$ ϯ?D
+ފg58M浽5q%ҽTs0q!j QwJ^$IW¸ +תn[SPheugjb.
+(U`QLLn/H[j=T8zh6+i+wn /|AIk'.ydMތjbVu(˫5I-ɂC%}kU82=<Bi#cEnimf# O C2u4ފ.$/un<4B&+?$s`
+Wڟk"XB05im_T/&gi8y ~5-
+O5gj?N7F#ΔtE/d( u$qI тr7,;6_Ye>WIy)'dͤ;Md9lۍFv 5J?mS_6nio̘ 2~'3RĨ9Ft^
+L#<42p2cDbe;:g!-uL]F|4m-|AL 霏[ҳ֞%1E,@(<$PTt:N#)0
+
+g(I+- D% eKٱz:KE\30λűqbH3y9G{$i$a ^ZcgySJ # yqک[L%BKSNK$qtm,Nz\(Y_ͳQ0Yn /&8= ")$x*$g"aW㒇J <?hF@klZK|ÊqЪ;C*RjŰċbJR$'wA!z@_% =gYh-rz{8;rI؟<zrek)8p]8ΔGsRG1vv)@Bqr§ dJ}b)IÑRWrg$kHqT6 q|<'d
+'c7ƦN`qn&˝{ }k~,4lK gЖ6_[ΡL} ZV˜p79J/'yG@f* UdV
+X(>2vy#]N;>V5HSnygahɸ2~Ij92ySC,ݒV5'ʳ9?`5IlpUXٝ_MpR%җU㕀8;&*Lyriqq4- !o[{<V9A;h9ikMA:̳| 5B%scą}1<XҮ=S4=^7!O#>(!%ƨt$E"'%嘄;ɿ:W]*G6fJ/C5MR<-acFC-}<-:w,P@e^-Tl|Y)[,i5H&d-+?7}D
+?WY2x6O>2?+PvB{cukWzAZb΁ ISم{^֭%Աgְ|!d-w-#mÖ<Ֆ7:Z P Ш75U}wYe+bfl6&òolaKX̞9%T3P7M^9? ?$QRG4ˆZ̉RNh?<wQ!l
+E7wafABa>N=7RneާFFJHߺ
+g
+{v,NWV2+v@0R/bՒkx s5R(=!ƻFB)tmeAk5w4B *GwMfɶ8onl$=|t~ub\{]zw
+44`,0st`nZY+C22Yv
+b}3^)ysmv(-Lǵ)\ݫma)MDuSL>Hg/HqƮa[wFKX3~1`=kBnE|
+3Kۓ=bQ>Nk7eiƑI}pӘK^}4ʥJhߊaW(\fHsA2!@b[3MH+-ME`F<uWjz~̨pj,3Y^2J!JOc/VP\uu"zotj TY^ޭx|H"1P+w!C gogQV
+jF ٨6о^fWaa*t7s[P]ȓiGaTzNetytDD&8Lz
+endstream
endobj
-216 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.4) >>
+243 0 obj
+<< /Type /Page /Contents 244 0 R /Resources 242 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 249 0 R >>
endobj
-219 0 obj
-(\376\377\0009\000.\0002\000.\0004\000\040\000P\000i\000t\000o\000n\000O\000p\000t\000i\000o\000n\000s)
-
+249 0 obj
+[ 235 0 R 237 0 R 238 0 R 239 0 R 236 0 R ]
endobj
-220 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.5) >>
+235 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 237.308 470.236 243.767 482.526 ]/A << /S /GoTo /D (Hfootnote.3) >> >>
endobj
-223 0 obj
-(\376\377\0009\000.\0002\000.\0005\000\040\000T\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000l\000i\000n\000e\000s)
-
+237 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 157.533 437.917 164.506 449.872 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-224 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.6) >>
+238 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 313.871 128.166 328.596 139.115 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
endobj
-227 0 obj
-(\376\377\0009\000.\0002\000.\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000t\000o\000\040\000w\000r\000i\000t\000e\000\040\000o\000n\000\040\000t\000h\000e\000\040\000a\000u\000x\000\040\000f\000i\000l\000e)
-
+239 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 341.547 128.166 348.521 139.115 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
endobj
-228 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.7) >>
+236 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 345.405 94.628 355.861 106.248 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
endobj
-231 0 obj
-(\376\377\0009\000.\0002\000.\0007\000\040\000T\000h\000e\000\040\000m\000a\000i\000n\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000n\000d\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000f\000i\000n\000a\000l\000\040\000u\000s\000e\000r)
-
+245 0 obj
+<< /D [ 243 0 R /XYZ 78.37 808.885 null ] >>
endobj
-232 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.8) >>
+9 0 obj
+<< /D [ 243 0 R /XYZ 79.37 771.024 null ] >>
endobj
-235 0 obj
-(\376\377\0009\000.\0002\000.\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
-
+13 0 obj
+<< /D [ 243 0 R /XYZ 79.37 686.413 null ] >>
endobj
-236 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.9) >>
+17 0 obj
+<< /D [ 243 0 R /XYZ 79.37 620.171 null ] >>
endobj
-239 0 obj
-(\376\377\0009\000.\0002\000.\0009\000\040\000T\000h\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000s\000t\000y\000l\000e\000s)
-
+21 0 obj
+<< /D [ 243 0 R /XYZ 79.37 535.018 null ] >>
endobj
-240 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.10) >>
+25 0 obj
+<< /D [ 243 0 R /XYZ 79.37 294.886 null ] >>
endobj
-243 0 obj
-(\376\377\0009\000.\0002\000.\0001\0000\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
-
+248 0 obj
+<< /D [ 243 0 R /XYZ 93.716 107.928 null ] >>
endobj
-244 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.11) >>
+242 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F80 246 0 R /F16 216 0 R /F22 247 0 R /F75 218 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-247 0 obj
-(\376\377\0009\000.\0002\000.\0001\0001\000\040\000S\000e\000c\000u\000r\000i\000t\000y)
-
+255 0 obj
+<< /Filter /FlateDecode /Length 4038 >>
+stream
+x\I\ϯ? ,0fZ#9)}H|/)do鞖l`\~_<|}MgހQ= _ X#7/94q7RJ|/kzI?_ę<}ߺ y2<3E&oO?VgB$Hτ"q*ssMI) oI dO]`֊(O#寸_7INu38ך@GX&s2yl\ޕQZXǥ]d
++^(Ʈk7ӳ]
+6'*;dQOg&IY3 R*Q Y /闟TqIў" #+u^Yp9f1LpMWѰ5nfa!gÉPY;fW
+%zJO =sFͶNU>}V}?%Q:zj@G`!AfCJ;\_ t`P*~6M-"ORh{B;Q
+.mx~{i2
+z[Q< .8SREL,Wp`X>H2$]%lPՀ'Zjgi$bH.Ryrw11-9oO֐\\NQ7p»V֙i>߸st[ -> (԰39z6'0
+P篓JGΰ rZ,k@'Zo)s)1')BHTpO7y`XUs\ ܩZ~&چDEU>&EhR!)Mmeή,x5)oUQk4v
+2Bݜdxjz !螲*Y+O0JИY| V;1 |,y*+Q)qfs(zC 8MY1g܉.SXzDѬBZh#@۾İZH5Uֈavǎ>Π?qP.2I\h] eB8BV!d%"i^ZFջ,VMB\3>7N0%GگXJǢ,hSjn0&ՉtbLu\:
+wz6)RJ*- D123U{lNJF0*AfiY[rYC(b )pݳeu]KUFPzD.I/.|b>>h{, [@g5 @Rrdew00؟l-9W'Qkݘ/5ߎt,UfY՘隲Yр鳑ͭdApy>Sr[Qʩ(YG]L#Epð ݠUveD%E#\hLz{/5ogwCB/^:cj0mɴWwfik:Ƶ5C9]4L`RГOgxNYI_ף-,ǜdI#Vȸ2 Dr1-vOdֱa.X!B<hrlBXW6yփ/BXlڇ_})m;vϭ{o0Aӎ(A>t¼ӓ ח}|!ZNV15\r7qVɤ/ThuǾeJLr 0OF/mϠ&ƉirdGu,9XӉF bLK)%HP%JjQìn% JvwDp鲱ZnoTdbZݫx66k`*I`^iB]&qx130UR,|9*Ÿ:X[566KmqZk:皩mCm-˳2:hìUlOفunn'C0oe4u @6Sv?
+|Gѕ[@J'?
+23^霅_۔GeS~Z;)\h\F !GSFML в&bfO&S
+E@iƑ&>›Jҥ >tu:͟p#&$M&sKit-);YP?{*ki7.}ƍj8+hEGJ3WjfܒUdHC\׬S17];ַ5>eN
+?ẅHF'T.3'3?ghS+~BHF)x}oIh]n 7
+u
+dkL7@on s}?]m[SJ+M>@蛑m2Nd[ I--Pm]6Y&T̽&3jSޏjOrz0M%r Mi{$MVT̿7'P[}<R@q\Vq}_'c !(~~?1au_F H<軰EIl"|[݃-.<-gq<E[i¨ﴀ_s˯c+qa3"O?寻ER]xEMMˋIQ*ɬ7Lmh
+Oނ~3VB[B˨
+0 L 8@euMPn/u PI5hQQZn)510BkF(x@Q)*,;5"y#3
+endstream
endobj
-248 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.12) >>
+254 0 obj
+<< /Type /Page /Contents 255 0 R /Resources 253 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 260 0 R >>
endobj
-251 0 obj
-(\376\377\0009\000.\0002\000.\0001\0002\000\040\000T\000h\000e\000\040\000e\000r\000r\000o\000r\000\040\000m\000e\000s\000s\000a\000g\000e\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
-
+260 0 obj
+[ 240 0 R 241 0 R 250 0 R 251 0 R ]
endobj
-252 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.13) >>
+240 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.663 742.082 349.388 753.141 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
endobj
-255 0 obj
-(\376\377\0009\000.\0002\000.\0001\0003\000\040\000W\000e\000\040\000l\000o\000a\000d\000\040\000p\000i\000t\000o\000n\000.\000l\000u\000a)
-
+241 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 365.109 742.082 377.064 753.141 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+250 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 221.129 420.814 227.587 433.165 ]/A << /S /GoTo /D (Hfootnote.4) >> >>
+endobj
+251 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 459.405 270.705 465.864 283.155 ]/A << /S /GoTo /D (Hfootnote.5) >> >>
endobj
256 0 obj
-<< /S /GoTo /D (subsubsection.0.9.2.14) >>
+<< /D [ 254 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+29 0 obj
+<< /D [ 254 0 R /XYZ 79.37 660.929 null ] >>
+endobj
+258 0 obj
+<< /D [ 254 0 R /XYZ 93.716 113.357 null ] >>
endobj
259 0 obj
-(\376\377\0009\000.\0002\000.\0001\0004\000\040\000D\000e\000t\000e\000c\000t\000e\000d\000\040\000c\000o\000m\000m\000a\000n\000d\000s)
-
+<< /D [ 254 0 R /XYZ 93.716 103.729 null ] >>
endobj
-260 0 obj
-<< /S /GoTo /D (subsection.0.9.3) >>
+253 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R /F64 213 0 R /F22 247 0 R /F16 216 0 R /F75 218 0 R /F77 219 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-263 0 obj
-(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000L\000u\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-
+270 0 obj
+<< /Filter /FlateDecode /Length 5018 >>
+stream
+xڽˎ$_䰲D
+%@TO\=3cncś'’wp\m]c azwU߈e
+14T"
+?(ɜ474?o~Kl)&lk]vL< _.T`reT%nXHzϜ bRIb>z?//|H+=h qTi%0ϥ\fmgE= H%u3mWVW\h86k: j+(A+D噹L ZjI!c~ y
+#wYgv97 ~ٙaO"a}b-.pCG?Htݴ,% t>HɄK`-4 pnhTF2"bmmٷ-+ȶ
+35uه[Zz,9.KIJ6qK
+lbg*(RpU!9yW+\RD<Q}ށ%aB1 w,ꤺcж0}D^%oĪ(V~F'ٌrJ
+N[x
+dJjrH%ୋ;&%ՌG_;mtފK[PiUtEc%$HSJ#ӼzZ*.(Hd\- @(T
+2/PRiN&$GŠz%rBPQzdBY z¿63$ cW^a?0jC V6dpJk>I!O%.(`RA5J(Jj4P{ th\푐=6nÈEq"`GT.(G[kZ:7XiU@>/ F
+,5Y o<$k7ܙZ$M'Wtb~N+t6>Hܐ1֬nmdESRؽ<
+5R!и~BlmYݘ1AM'A%b/) к?^LO,njR25BrKZGa1 \Jznh
+ R앱+h3K X'(`范3^]> ,k2%?d,p.p.J#56]\j_g7;&W͠["42+g$MѧŠy:˳^%aL5BB.`+ָU\@
+lsA&F!$/&"`ڄ!j1.zv[ -lXu&PdMoJ&A?*VIC_IZ
+)ɘUʑqF5'*E՘Zs5CԆB0%Q ϴlz**t,[t~:q:Y]]r:m} { 6r0+'ftӅEOtdotn N1@ @o3g j:[g'@Qu:/;]V L.tQ:m>Xj'2$gY2tD.7E٠O-(,>Ù2NfҤMcP[S͂2׉2
+?&">%YMYoW0G\nN94|P P3:Fh]w<<9@~m1tDM9ѰO ٧5ETzRc)Re?&MG稁&T=w8?Ga2aj\ht-l<);c&YQ-0~2{U(rZhOaΰ1tZ,.b<DcOZ'jMR6uܡppM'SOU'tء5.UZI[fY̳5Xrxc"p.A>qA+bA+AGQRQ!sėJ,J@1"1`eTS#T<!FQ>Xi2)aգ=sv{3|TGfPU0E4^pq:2>h1@q>26͜BP#ȭ3ueÀ,W9{XBrFYz䓊#Ij>99<r>hQ o~y'0ELPƝ[NO8"(ђpX3bD́,z=ԴtM0wӴ>cٳCTP i)hr4N5nP'/;QIƢT;;[.l]
+?s.
+3F+:(
+=ܲԟ8uk`9d 5Rb{%0>6ϟ\SiF-rH ь0xU>DJ 'd9+7) 4v
+%W#R#^zmtձK#B6cU% >EQ >~~Bi=u
+S"t1&0ߖ2*XE1j(!{~yɬ0W .2;+w
+BLݷ8ced{Qg*B(eQ+y8o}yѺJh]rP,nNW\xەTޥrғd:W_Z ؆[mZKpZ:49P@̦g ^5˼ GF}xz}e`}~dΝ>mt"yrd*xj,aߧI]p'фL|!cd-0+g6 ^;+U4#fzṾ2JΣ[-)(8gܵ3x浞{utjž3dZ%7pӅeG4l93]âXeךZQ4V ݍK嚬tYpu=?<#2klؒ--Zܶ Z
+TS6>MQa
+endstream
+endobj
+269 0 obj
+<< /Type /Page /Contents 270 0 R /Resources 268 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 277 0 R >>
+endobj
+277 0 obj
+[ 252 0 R 261 0 R 264 0 R 265 0 R 266 0 R 267 0 R 262 0 R 263 0 R ]
+endobj
+252 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 386.12 665.921 392.579 678.212 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
+endobj
+261 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 411.645 516.902 425.244 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
endobj
264 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.1) >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 276.94 345.117 289.669 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
+endobj
+265 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 237.308 393.694 249.818 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
+endobj
+266 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 185.283 258.942 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
endobj
267 0 obj
-(\376\377\0009\000.\0003\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
-
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 185.283 287.716 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
endobj
-268 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.2) >>
+262 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.199 93.186 340.423 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
+endobj
+263 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.478 93.186 363.935 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
271 0 obj
-(\376\377\0009\000.\0003\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000c\000a\000m\000l)
-
+<< /D [ 269 0 R /XYZ 78.37 808.885 null ] >>
endobj
-272 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.3) >>
+33 0 obj
+<< /D [ 269 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+37 0 obj
+<< /D [ 269 0 R /XYZ 79.37 711.216 null ] >>
+endobj
+273 0 obj
+<< /D [ 269 0 R /XYZ 93.716 125.644 null ] >>
+endobj
+274 0 obj
+<< /D [ 269 0 R /XYZ 93.716 115.951 null ] >>
endobj
275 0 obj
-(\376\377\0009\000.\0003\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C)
-
+<< /D [ 269 0 R /XYZ 93.716 96.859 null ] >>
endobj
276 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.4) >>
+<< /D [ 269 0 R /XYZ 93.716 87.232 null ] >>
+endobj
+268 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F82 272 0 R /F16 216 0 R /F30 221 0 R /F81 257 0 R /F22 247 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+292 0 obj
+<< /Filter /FlateDecode /Length 4585 >>
+stream
+x\Ɏ$W Eh@5-@7s|-]u;̪jTw& ˋ%/]Oׯ~x,X|.J\UBZu_L+T{ID)g'( W/ i&)B$ӗզ('ח)JhG \~'zѭro8?S>SLJ :?OOϠ5<;hg*ШFnU[_jly+kI=BzF{>zXנ7>p}mĥ&na1 BI[ VpN[(ox, ?mƗ۳ (/=<:s60^O$ZQЉ{:|,ţL]v7ϖءR5v'[gƿ~6ܒM[,%%i<˖ʨF+e ;Z90kV2~v#MfƖvxwu /[,iSޱ
+Uzcˌwk&&4`YG=ԿB0R̟xGQXXlc&c}:χL@ek#7ooڸ#G X2JX%`7o Cng: +*[A7_1@]!)/͞K倸c? F=`,SZϩoz]Chh1zfQ`Eh\' ufL&ӷ tъ8kUm$:R riuosVCM0x];*Ͷ$jv,xUFBu!Z[wu; =6XIHN; eބe Ѷh1~Fڭa dlC+|V|> `
+ gJ@ Ց8  ,EM,ԲƈdMN
+IHtgFXF&%h\ؼa[*XlS=-5jt԰O z5MS2H)@Olݶ\WZ)4Vn#=_Gpf[YAZf
+GG"Y:^0{kK,X~ ct-xݰEu ZFCU.[U䟖nE9wUa1Vy!sDkוWpRl-a_%vW3Z(3>ə\z:-sL !@n\iLøb^s4hV $Sd%KoCHLmrlDJ[(;嫇|dgl٬~ z?P:cC_
+۹OLu*q߈ YǒS:h}rǭBN3[
+7q+Zhٹ|&)HcͥtT6Gf䓠+FJ1^VQ*!3pZ^vʌqjs+
+^m1fG-t%6[3P1g i}Q;lV>8aثfٲF.5+yrPrf,l_o1m*^>fKt!s@i ϰ:b$')=vqj'P^۹"0JNOG3v/n8n<
+~FAM1
+ggSFX7qw[X VU==kO qa藁/Or2~~{ߩ U_,gsLxߟgX] n|x0B% _U j; )^~{̭ޛqj)γwJ1ݓJ6fSwS3.o*3nv j0nsTӎ3 d 룻#vp0eKη9dt%|nXp+GZW%bvvr i5=%oʞ$`Pp8p,0= Gy +"._gozfPwm"$Zq56K~o蒄&7mtKhH );:2^5849,0Pކ)Q{^7u,mԳ\^)R2`MWto2iֻNu?;?P-q+|t^:ɭݍ03φ~N[oSE, UL 0ˤ"dݷHpwݷjhpka9*J0Ac|_`:@tO;~G{w`/ے9>+l4C`8=ۓ]6 :u7Xd*^8p,3W0~͑s
+7U5>\:MZl\-3tV> Vy,oԖ]8`2YmV3*h
+endstream
+endobj
+291 0 obj
+<< /Type /Page /Contents 292 0 R /Resources 290 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 298 0 R >>
+endobj
+298 0 obj
+[ 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R ]
+endobj
+278 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 465.788 210.18 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
279 0 obj
-(\376\377\0009\000.\0003\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
-
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 465.788 260.541 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
280 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.5) >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 262.09 378.817 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+endobj
+281 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 262.09 406.493 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+endobj
+282 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 223.094 341.812 235.265 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
endobj
283 0 obj
-(\376\377\0009\000.\0003\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000M\000i\000n\000i\000m\000a\000l\000'\000')
-
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 207.451 348.302 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
284 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.6) >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 207.451 375.978 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
-287 0 obj
-(\376\377\0009\000.\0003\000.\0006\000\040\000T\000w\000o\000\040\000v\000a\000r\000i\000a\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000w\000i\000t\000h\000\040\000i\000n\000t\000e\000g\000r\000a\000t\000e\000d\000\040\000p\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s)
-
-endobj
-288 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.7) >>
+285 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 186.774 516.902 200.29 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
endobj
-291 0 obj
-(\376\377\0009\000.\0003\000.\0007\000\040\000P\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000f\000o\000r\000\040\000g\000o\000b\000b\000l\000e)
-
+286 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 164.208 327.864 176.38 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
endobj
-292 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.8) >>
+293 0 obj
+<< /D [ 291 0 R /XYZ 78.37 808.885 null ] >>
endobj
295 0 obj
-(\376\377\0009\000.\0003\000.\0008\000\040\000T\000o\000\040\000c\000o\000u\000n\000t\000\040\000t\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000\040\000o\000f\000\040\000l\000i\000n\000e\000s)
-
+<< /D [ 291 0 R /XYZ 93.716 127.979 null ] >>
endobj
296 0 obj
-<< /S /GoTo /D (subsubsection.0.9.3.9) >>
+<< /D [ 291 0 R /XYZ 93.716 108.887 null ] >>
+endobj
+297 0 obj
+<< /D [ 291 0 R /XYZ 93.716 89.795 null ] >>
+endobj
+290 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R /F83 294 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R /F72 229 0 R /F59 226 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+303 0 obj
+<< /Filter /FlateDecode /Length 3283 >>
+stream
+xڽɎܸ_0M>@kǷK~? iD}#gW&7K%o<1|A71*hiUl}R(@חs' =9o>QbZ_=R5h÷r/%4B8폧⋊r-+܊rFh4<x>S
+@OJ.
+V.E(`2h?/xզ< lYx'2e )ɀ quF%  h' A$]kMl)܃ȧV5a(yq+ :ƦӷE剃B[ mrقyátŜ
+鮷'j~R
+O Y4~~ͫ mn0,!
+DL"CӤAtV#ݭ  h6jAJbN24#\E2DT|@gF=Y~] xB\oPj} cBؔD8)٥)͛9,%݁[ab䑐@@$`Ԭ0B4rv4:-E%1l
+4
+*x)TC)Hl$HI
+ RTbRh\xAL!ܡ#mM'R9L
+QSNk$4:L "P5 m͡x +OטWGjWkxAՠa#rx=-1I^izX2 .`AO!P&CB&A"L^н  /2 rc@
+twf:VcԌsN!yA5F ):bWԕsC&_EQEtSHjky"`MU֚6r!\3Ngkn5۵ٚ{v7YStR3;W9N[(-fgD^kbhq>C{
+xT7+N>7##b?"{=g|Ώ&WtϧO'|=sDyXd+ui.Sk'WyӑPb
+?zp>?'Oi?tOZBrr9=L! Qwӧ6?v{z9;b;-vu-rJ 6 KDZ;>=ҽbw=5H&pǛ>ϚOegĵ~={ BfY8W}%̐r2;?uEufrRRNh;ʆq ܂r^mƎ7] I[10Ւ~<JQ&wREj\] "J
+Zhaa-Ud;bAy([0!1LWHfJWZ`ƙx,6=/:\Tw@S,«huBA6t~9WѦ]@S詓)uemKMh/CԁB=AMu#cntЈGS+#SZgMpznĭ1rGffi篪a{7.J/Z =z\E6jƧUroh̸!Up]*C-)ܪ~X0_zzδLhU5OOj\~ "ۖRq7N i{*KM@OA
+m'˖t+}I#h7u$Y\7z{LR|Akceu(]zGT g00:Om#S fAsy9BZkV:u7tf16~fԺ
+ׯnĚ~w "({`tgt|ưfW9]=[N4F2${QJ6#.X-6
+endstream
+endobj
+302 0 obj
+<< /Type /Page /Contents 303 0 R /Resources 301 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 308 0 R >>
+endobj
+308 0 obj
+[ 287 0 R 299 0 R 300 0 R 288 0 R 289 0 R ]
+endobj
+287 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 745.619 363.319 758.348 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
endobj
299 0 obj
-(\376\377\0009\000.\0003\000.\0009\000\040\000T\000o\000\040\000c\000r\000e\000a\000t\000e\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
-
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 254.112 315.186 266.067 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
endobj
300 0 obj
-<< /S /GoTo /D (section.0.10) >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 165.945 235.839 178.306 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
endobj
-303 0 obj
-(\376\377\0001\0000\000\040\000H\000i\000s\000t\000o\000r\000y)
-
+288 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 96.542 124.577 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+endobj
+289 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 96.542 145.737 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
304 0 obj
-<< /S /GoTo /D (toc1.1) >>
+<< /D [ 302 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+41 0 obj
+<< /D [ 302 0 R /XYZ 79.37 241.153 null ] >>
+endobj
+45 0 obj
+<< /D [ 302 0 R /XYZ 79.37 220.864 null ] >>
+endobj
+306 0 obj
+<< /D [ 302 0 R /XYZ 93.716 109.842 null ] >>
endobj
307 0 obj
-(\376\377\000C\000o\000n\000t\000e\000n\000t\000s)
-
+<< /D [ 302 0 R /XYZ 93.716 100.155 null ] >>
endobj
-308 0 obj
-<< /S /GoTo /D [ 309 0 R /FitBH 771.02165 ] >>
+301 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F16 216 0 R /F65 215 0 R /F84 305 0 R /F73 230 0 R /F75 218 0 R /F64 213 0 R /F22 247 0 R /F82 272 0 R /F71 227 0 R /F53 225 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-314 0 obj
-<< /Filter /FlateDecode /Length 3603 >>
+315 0 obj
+<< /Filter /FlateDecode /Length 3737 >>
stream
-xڽˎ$_QYHlo 8{}0ćbH>?ԫ$T;=^1&E˯\y'w^ Z@~q*;|mYJ-R}N/`mק4F8š
- Vt}.`4,J`r+vq`Z<Hi:Z J*v&';F{,:,g͜FV:+[YծItK%8hc/Y43+_5,ր!T)@jlGB 8'ƺPYx%k9.J+S=67b+D9ȄɐPI*L)'!Gk;-P"F@&S(@! K}}:8sM M7^(X\%+ (9"יRTMG-|,V|X[nr FW)KddqA*)UW:2}]Ca3S9^} 4ԙnoVY%MO`N.S\%m(}MRKoT}&)H21
-u_-6tP:-HY?CV
-`}@b* qKjѪSKl, ,N
-4&8d1Ƅ)9ݠ0SY- QWjHOpisitKH]N{3o6Q{)2©09iS% zo$8
--6 ilưRu-y]QCiڽ3h@?=2IDO"Z|--1o ;LRg\(팹9όn~BE<wA&+;;z0evXZ<&&Lk
-elUJo*х*)k Q5+.`2U3FoVqy{-l:HgYXj#Ŏӡ䨭|);8'C!n- Ua#s,Y# KdE`]՘ˆ!Wzz{j[A$匭"A? n3Te \ٟ|)LcxLt]Pg{D=x8(/ ~] 0 UD.ܠO~*xd-U)Hot 06 8vt!_OI-+|AIIJq7Z5f>I5UMeUQRZBȩq[{Vӂ,;jAx@FU z2ݲ9:1VNwZH8Y6[=wW|6(.(_q)~6&&% A|e294V`[4/6|*2аNL>I(u\,5**hWu#u3niweP.*8ҏ,*5jĝҪ
- zn򒒯fҴoM[H>xGiu3qKjX6SWӖ4|s.! 2<\4#faFh3kwI 6TGDZq*aPtK
-.Rf4[9'[(W(D61gwĞj[*{jD`Ԟ#؃F\`y졺cbس/^ݒr}Qi\_ ]< Epދ4grMRG)6}=m"1ɔ? 8a?ZX ͫ^0,^VкrIvV
-"͆L7j|mjk5~F-8#N(
-$gӡ>oJ+8$ Xߐ)FQOVK^ݵ|nlq⺎McYml'Q#!r~Yy##̄04Kc3"Q(L=4.q F5+^#Jvl&J+I +ٌtBYמP}y
-HG>eNF7=@ l_؀oM)i&{ܔ^ӃjJ%&mdUys)lozOYq4sE߯|F?ώ].tkGw`Nhڍހ♝ ݉!.n9֖
-53vswPډe:1t1RVQ(
+x\ɒ +!ApɈPT1>ĜltKs$
+$ gnen3uOGv+[Tdfj
+'X:,vܘ^O>z4THW%J+|ÿEp
+
+{EbHLeݦ
+3JyM5uh% lECAؓ}ʎBBs1
+disrs`s$<N40/@ܢgor!ʢс>}av|
+܈l>l€)%يO_+s 8Z@{𘄱`XM&I<U
+9^yBjesYi~;‘&^@ԽtϜcڜcPw]
+~8 iJb)Pac^u[?e[_>bsh*\dhTKNJqR;2z yz40'4GYR}.9MtHPRbHdcN4<zͺ8b}d\A]'+)1(\M#ܘӴ˯Iq@[q'SS
+Tl[no^
+OsҀ"S2#n 9=`@
+8:yyBF UӼv?5G*u1i\\LbҬ1Qy{4۠ʌ]Ō4aZ5d-57)s׻
+OkÛ`
+=.b8;R8Vμ׏$JiGA}û) #:"T’EHGS=_/RU.Ň/r_1KzgXK#%*ޡ50<(ѮE>Z9b 59_5h$dרP u l@,t4ٸ0hoĶo R{zYZJU)kIf1ԝwHuEEh;t^]J~gv*a:*s44
+_}\ޗ8cل]+-ؙruq4Ɩ&;q^fs3c-"Nπyg}Y pCI 6;7Diƽ{T|r:VΜ&thYnR}P9.hs0Ӟ7,)ZOXd$em([^bEyk1_;g}#<12$
+@Q3C 9KE)FWW[ߚ6&={ǭ`nmX:]h{ )/u Q +5#0aA@/1[R8Fa޺jZ@Nm|"gO2͵>KX(J}JcM!HTwȉg(-ȁWbLD[3$qځ|
+8^Rl ،WJ./?^ 7N 5}]1۫;Lݰ/kq+t36TMmp~3qAg/*nwpP5F },+u-TENnEhD\:boiryMߔsOQ꬙ޮ
+VxUmI8Ű&b]H'-UM=; 4q"e^ss /0Q_֭ \E4soWއW= D`<LX`&񶰡W@=m%[ԤNoT4"؄|:éW/ !"4
+sTkZ &y԰w?2;*7%*'&Z)GUW7:)o{<?ViϹBY:սF dx],FM`31HgKQtkNA]P]=`g=fN׶w01*4ӵ'O}*^ݛyZ28B[m9)C#)'jYjMNVlS4)T5vV:w-%KWuc1fn}å^ߔJ[ ]Q޴1RB2A[F69I'fP&
+XdC?WT
endstream
endobj
-309 0 obj
-<< /Type /Page /Contents 314 0 R /Resources 313 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 346 0 R >>
+314 0 obj
+<< /Type /Page /Contents 315 0 R /Resources 313 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 320 0 R >>
endobj
-346 0 obj
-[ 310 0 R 312 0 R 311 0 R 343 0 R ]
+320 0 obj
+[ 309 0 R 310 0 R 311 0 R 312 0 R ]
+endobj
+309 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 576.254 345.014 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
310 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 282.361 521.633 288.82 533.924 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 576.254 450.807 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
+endobj
+311 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 294.837 514.823 307.566 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
endobj
312 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 292.95 384.065 306.898 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 171.3 334.22 184.029 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
endobj
-311 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 104.396 516.902 114.946 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
- >>
+316 0 obj
+<< /D [ 314 0 R /XYZ 78.37 808.885 null ] >>
endobj
-343 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 94.858 202.6 103.229 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
- >>
+49 0 obj
+<< /D [ 314 0 R /XYZ 79.37 449.94 null ] >>
endobj
-315 0 obj
-<< /D [ 309 0 R /XYZ 78.37 808.885 null ] >>
+318 0 obj
+<< /D [ 314 0 R /XYZ 93.716 115.197 null ] >>
endobj
-316 0 obj
-<< /D [ 309 0 R /XYZ 79.37 771.024 null ] >>
+319 0 obj
+<< /D [ 314 0 R /XYZ 93.716 105.57 null ] >>
endobj
-5 0 obj
-<< /D [ 309 0 R /XYZ 79.37 562.598 null ] >>
+313 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R /F75 218 0 R /F22 247 0 R /F85 317 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F59 226 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-9 0 obj
-<< /D [ 309 0 R /XYZ 79.37 217.897 null ] >>
+326 0 obj
+<< /Filter /FlateDecode /Length 3914 >>
+stream
+xˎ_1? d ,hS ؇DO==m`3|ԛ巋|y}}UKig._}RB^Gҩo( R[AI)ß}
+
+_U_RGGD[h: IR,(Ri^Ɨ [ZHDo 3m
+0eŢhIv}!"&ϱ;3m|!+Fd@~l~[<7<XIU4Êcn+:l\$:]:S*) ~dO_Hz#"X]dAhجRhJ^'esx/tEv[ƚn.<˫u͐E9XMGyc:
+?ui:;9t̛ti\kQ4f!s ZS6
+r֮:a77j;cLAO%^=I*Ԯ^VcgceKk=6QzV8z&t
+-Օ8'N5g$j<6R4F'h5%OPP"Э9QtUi_2=>:6eȪl[hsZx Hr {@1c-d{¹
+.ȣsB\}hL;oF)8,tN<!Q۝W5=/bNɣ`욠suynG۬b䏫 Slհ-Esӱ5Zr}H5>UJR0m~"!X*~m$'}7C*|ҙ0Jrc_uЯ}&1X)TQspa!j -$%7dWH3ϭJv6KY^.v1sW9l3(^o6
+zNӯ8U!H-xVQѾO .}PQP0Uj}
+ve{6U۞;^":3pÆ'YHhD9u%30@J1L)
+<\](dާBM t"c,.hoiW͔
+k8E׹[[pzUTpR-f} `ptx(>)18O2&98 q<$,! !D8uHzsԘ+0aN''ŕF~>KGx9&w@rC vW۩nC)0V$sg:U!bt~tqx`y͛6{˫ͫ}z^Ksޓ^^m?m;=n{lO*Rٓ@;<EjN +T敲nt}rJdaz<je70#'![i\{2wͅ"i[ gqj \^nVz=l&U<{g&k׎ƫAKfNbcM)*h`1^8|]KBK7܌RƢLK=vA,0+7WH%z2nŤ[\(}j枕= CșNt2ś?U,o,v7 @s|(]ũexp8Oz}9Emh5ԚDM%B̽ 52M0q -aa7FCQD΋48c?ףq,G)Kh+9:sO5L;2@(P_c9oC.6zxIǬju
+KK$p}J4]"u6Lc*P;j$bxA nQ~b6q(>V/vǚ=53;v)}p*vra7c#}]t7o26sf>md
+endstream
endobj
-340 0 obj
-<< /D [ 309 0 R /XYZ 93.716 116.627 null ] >>
+325 0 obj
+<< /Type /Page /Contents 326 0 R /Resources 324 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 332 0 R >>
endobj
-344 0 obj
-<< /D [ 309 0 R /XYZ 93.716 97.535 null ] >>
+332 0 obj
+[ 321 0 R 322 0 R 323 0 R ]
endobj
-313 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F23 317 0 R /F24 318 0 R /F32 319 0 R /F41 320 0 R /F52 321 0 R /F61 322 0 R /F60 323 0 R /F62 324 0 R /F64 325 0 R /F15 326 0 R /F65 327 0 R /F16 328 0 R /F74 329 0 R /F75 330 0 R /F77 331 0 R /F27 332 0 R /F30 333 0 R /F67 334 0 R /F66 335 0 R /F47 336 0 R /F53 337 0 R /F59 338 0 R /F71 339 0 R /F72 341 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+321 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 465.557 190.205 479.505 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-354 0 obj
-<< /Filter /FlateDecode /Length 4167 >>
+322 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 365.019 149.903 376.601 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
+endobj
+323 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 246.77 498.883 259.051 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
+endobj
+327 0 obj
+<< /D [ 325 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+53 0 obj
+<< /D [ 325 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+328 0 obj
+<< /D [ 325 0 R /XYZ 100.292 565.781 null ] >>
+endobj
+329 0 obj
+<< /D [ 325 0 R /XYZ 100.292 506.005 null ] >>
+endobj
+57 0 obj
+<< /D [ 325 0 R /XYZ 79.37 352.144 null ] >>
+endobj
+330 0 obj
+<< /D [ 325 0 R /XYZ 93.716 99.422 null ] >>
+endobj
+331 0 obj
+<< /D [ 325 0 R /XYZ 93.716 89.795 null ] >>
+endobj
+324 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F75 218 0 R /F83 294 0 R /F60 211 0 R /F62 212 0 R /F84 305 0 R /F71 227 0 R /F64 213 0 R /F16 216 0 R /F53 225 0 R /F59 226 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+336 0 obj
+<< /Filter /FlateDecode /Length 3236 >>
stream
-xڵ\ne +X0 r*Y5ҽzEHI|j(p?.۷}:sQFh'E]|_"u_/R/JJI?RD{"~)΂Wq~KH($j%FGϙ62?m7Pjڂ4y!)y!N&Y`.2_ӣĂ zhtOk|O,Ӆ
-EwΥX0Bج|u0A*Kp芦U oVv0tnTVG>A2v**'*S 2ElUt ϧklO2ȧ_e,J(
-j8[Vx:U he1?Gz'
-3LvdY2)`3=ԑB26g5K@md_" /0n%<ǢOk.^ZQ=)yy6sd٧-}o:[%N+7E6Г-ԧS%Z`AY8w մ4YT 󽜓D{`˯ۥL#\\[ZxBX**~!lK F"2q~s&j8{^=yv95m >ɟ2a%)sΝ@&隸Z3s{ᅰ
-eg!CX;ͻt4Lٖ̗qUw
-mw8|y!gAx\_S oʮwb0Z5k]Xb66tdN3?隗f[^_tذ%oU1s Yr^9YLW2%Lf!ɒ`X@W+u\n=j>Hk1||~ wF4;=S@w'}~fD_ άs,
-gm:;
-cRi`d6 #dq+xDv0ǩ5^*!K9Yj}f{\ rC[c^ ۊY N=UrRc<"z
-!U>G]>Vmo=5Õ]qS$q>`}Ы}bdԲRbiOs?r] Vٹ_FXURF]Qz0{!=x^@B4-$k
-E]yE"A&Ԭ{*/fEH-ߞץQi Jy=
-M]IGCnУDr /v\/u}@çql+Ŧ1&f׆#.[.AV:Zp&E}J֦&$x/V{86_7=: H]e:'IXuw4ffn
-49' ]j
-,!?Gh|C.qSZ2t Z+/Os+ 0<$MM m}Xe_ckWNVL-̧?MP"_3XJj>6T`nRn-p%:~$ʗFQV; n@b*LhGJ
-w)sn?C(r|dZo_[5o1Sy- \14rMT>=޼:=ܷܺ/K.jB6U"0v[YUek?֟ZSvmMi*l;4S0'qv-N;xJmpLRLT4ŸϽԨa*kGʪPGEƯc/m$Pܱ c~t!槥R ܲ9߆
-\N( D~ڝMFu"VN#_ԏ92P]Μ&>k֨٤cn5cdw+;\* 0Ny7X2Jv׵ FR i0֞1Μ'_`Γ%. 5zL[ 6GgWopqa5a|X^?4
-Ku+<JQϒ"U/gg"$D*zGP}xIgJ 6}6}Ktc!Ens}*Olz
-kdӅT6ddn`@ ̫whf` Z{m+kܸvo)`}Xz,֩#0sl hnDj
-Nz6㿾5UY<T8PyCxsUyQ^
+xˎ_?4Y|"V@|[C D
+)C~?GE6gdKHjbX/rqۛ˻ݢ}xPBnjQhytj{y )Ҁ.J/詾+B$=IiUm.~~gЛ Ah3(\V
+"z.3:1ȎY0EX6W[@ 4 4Ȓ, HD%{D L sx-BnE+C5-|HtۯiO+>F?C@%9eiދzB",XG%WFBxN;1met8?eQ(*;#BG]|һ40n)ՙM暌FuhmM~MzaFrmh⦍mw /<v6;nð'Y[g(#q,.lT˗txzD5O,*#}Jy fծ0~N*J
+4hUG$(5MC܈ ep~e
+].TUF&CqV2ݔIYH}H=`Ҁ[ԞtʗS"9
+5HɽBkiUȵQ)ɋ!ȁs <X׶vيCT+[ p:^y"d܊>t;" 3GË@ ){nW)$T"|wQj*HԼ(а&P^f| o45~Xc+=:Zoi<!/1ۤ+rh-;۝}W2ݡiycM<2_حYYLeD1ʪDosC{em$ |Zƙ?"
+VN20!PѨƭHWV?y90WB^;4 iR_cnS(jQq$X)BXGP5;gh@ibio2 2ZқEJ[.+ɣjp} vMM91`!R3S ;L+RZ7z!.hxD/zS$rJY,g0PM|nOne0).)sW۱t,}f3  b+ Ʈ*-0W^aLBonz`*^zۈ)d:hk}dX;cYJ,f>:UB1I; jV^ͳ{u
+=(Np#Q= 5JЭ [M:29S ah Ko%4*ŠgT[FHvzdyO +;L[ewt(TB*5c6:lEL Njzԃ`tD`=?.^Ӥd= fFXz['Mt;[ڕa&{ kV"뜡.ڢ('eܗB5)TTB(R!Rhr0Il^ĵ7ʵKƢX/BJeFD&,%{6V=kldDratyҧ9 +tf9YHus]s)Ys$O? #c<OmGTjB]5]"0SQ0z4yp-A]z'hit28@v P%$(%4J%jpbr8fʨdͫ׭p(ο+/;2.r$)Cܵy33z& &~'D!ȟBicPכXZ֝=F3Nۇ\ #WEmy$v^: ޢ˥vi!sz&j4}@|/LOZ<̨Mף+4ұwym]FO;|;އe=hfR[Z|6LN8F;g T R%]Mz 1!~L|`|K&-I,&j,UK̋*=N?"_i%t
+*ZD0IŔFk~@^Ǣw4gUʹ|ɵ ޭ~% w/ b%`<R?!OeOf ֹ'/NG7-:yr
endstream
endobj
-353 0 obj
-<< /Type /Page /Contents 354 0 R /Resources 352 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 359 0 R >>
+335 0 obj
+<< /Type /Page /Contents 336 0 R /Resources 334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R >>
endobj
-359 0 obj
-[ 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R ]
+337 0 obj
+<< /D [ 335 0 R /XYZ 78.37 808.885 null ] >>
endobj
-347 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 414.922 580.494 426.877 592.449 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+61 0 obj
+<< /D [ 335 0 R /XYZ 79.37 608.758 null ] >>
endobj
-348 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 313.871 318.553 328.596 329.502 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
+334 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F75 218 0 R /F77 219 0 R /F64 213 0 R /F22 247 0 R /F65 215 0 R /F81 257 0 R /F80 246 0 R /F84 305 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+341 0 obj
+<< /Filter /FlateDecode /Length 3879 >>
+stream
+x\Id ?0DQhe$s3|Jb_C|=o.jzޓHE z^__ uqixˋ".1i.F Ƶ|+(8׎EJI*|?AsJ->^_zW^czK_)W}x~P7Jsj?? v/OB?TU0%J2p{cЋ :ecȣo$ ҷ0fL^=,FkF$5ؕ9gPmE<1ϳb;%aH@{AudlFj8(=X29Y3(xۘybEф45Dz*%?~E3gUm?i~0d\>B_<ϐ>[XQK;A5P)YO)? W g Nzh{&>˟$@ߟ(Y[`q'ʎQqKt[BSoi qfJӒDhI%WFi_g|mҭ@MZ>jY}ǟ1'~F#J %yCEYj$H}&CqCY`NLMD@=+=yrހ4. Л^6S=jn^
+ 3m0$RY9IP=?GT
+=Z@p鉷MrIv/[ '"3Km^#G |߷J<h9h@Nd-]4BωMA-9v}0leql7rSbܶ
+-!4K4 ُۻL}K9ޙ90,?!d$$bJlK+vhPu9AeBjMxcL̬ Ƥ޹ y`޹y& 9?6s
+ %`y`~5&Ub+'+(gșҺۆO6bN ua0 SB^|m"^(U?<ThKs*8pG=H=J0'9)ļe*lul@8"EYǤ,*dڞ3RMEh~S.%R11 S)$<~^V==ͱGHV~l
+hôƾ,n,
+V|DQsst\mOA$GRGm&G;1*WWzZ
+䔷j|8<kyBI"-)OF7J<'c ==]?I;80y8p68z:tvq`&pd`y80N2 QÖu<<- &b I%`IF0qԤ<@кo>_hpeڛ4J˔<UD0LIl?Jm$PŒjmFff~'y/Jޭ_Xz߲6[V6+Z ieaKS vwmIA(qnݷ:q]s9~Rq&C풷{
++øfT4aqs̎T~$|GjW۵H$.F*6 :
+pJ(_}qSxO]@*G6x+wMۼKq'yʹAN2)op{2)⬬Wu~+Olq{9 <6?T]Smq~@߬pheЮ7ۓUrh3Y3C޷oȩvA3ia̶QXU܇MIZCc.έPX66IQ
+~Hm0LњIװoy o3GhĢ@I-Vr
+8%})Sn0vx'oL iPxcbZÙJ1<.7{:禳6P:Z,·c>7XzAԅ#Rۦ1
+^XO-ӊ/׮e{|>Sf^WE zU ¼{ѐ_ϋh Cr?QHƂ2T+G"Nu,!|Ei?5T |wUL@?>r
+zmA1.~ZڷV.u4gduoSC̈Qڢ3N
+ń< K(%ȺB5情fA_:߼769yȖ(o_J r68YbOL:[&;0 a^Oe5; #/9Zb?Up'RMx ]tTVuAY.Sޕxu,* S8_[D4`kG1Mu'JvsDv32%coM=N '.P w
+Tͺ6 ^>Y#D#/пLjq_^,77V ЎT2~<-s% 8 7~k /-şᯫc8q
+]]b;8k*n%dK5_-)``}!QksޔQS;7G}
+){!LKYA&y`3ڦ$b(\iY恟.HgQH]9fX.ZYpݒKVA 'PvuuSV20~SݷJMQ]rۯE@#ፌc>6ͽx8ΔW}coe9Hc9kHVǜ ;OҮ*qc@Uc5`Li`G[m9(&Tz\fRHYș(R~qQ$%OG-gH 2tB^ç[ue );U]S%osSu=UCc$3H
+9›el-|]FrQAҏ?/˪So$r[Mlf]lz/T4
+ݦcrţ>$.ՙ|Gi4{(!⋲@Zw"oʂ̂I9RӕPxsߍ Is
+endstream
+endobj
+340 0 obj
+<< /Type /Page /Contents 341 0 R /Resources 339 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 233 0 R /Annots 345 0 R >>
+endobj
+345 0 obj
+[ 333 0 R 338 0 R ]
+endobj
+333 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 496.645 745.828 507.072 758.348 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
+endobj
+338 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 188.251 415.01 201.767 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
+endobj
+342 0 obj
+<< /D [ 340 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+65 0 obj
+<< /D [ 340 0 R /XYZ 79.37 326.366 null ] >>
+endobj
+69 0 obj
+<< /D [ 340 0 R /XYZ 79.37 300.876 null ] >>
+endobj
+73 0 obj
+<< /D [ 340 0 R /XYZ 79.37 278.256 null ] >>
+endobj
+343 0 obj
+<< /D [ 340 0 R /XYZ 93.716 104.253 null ] >>
+endobj
+344 0 obj
+<< /D [ 340 0 R /XYZ 93.716 85.161 null ] >>
+endobj
+339 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F65 215 0 R /F74 217 0 R /F16 216 0 R /F75 218 0 R /F84 305 0 R /F77 219 0 R /F64 213 0 R /F22 247 0 R /F71 227 0 R /F53 225 0 R /F59 226 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
349 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 341.547 318.553 348.521 329.502 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
+<< /Filter /FlateDecode /Length 4147 >>
+stream
+x\I$ ϯl H< 7=m LfH.!RKUw]UHyw){":pސuQҩ˗/?Hi꣔Nͫw,ﵒ_/5ٮs5
+x
+"fe{*j}#2-O\>SAaB_Bg]7Sg[W$pk?RUmD" #\(c^qU'C' ^<eH- ɣ5
+DV)Elh,^1UUSNɮF:F Q!D-W&S܌N"X9]P7K#IXlnqT%MWE@*Jus܆30YXݖ+cmɁ$Rf݌H4GL^bEA B(/
+=v{jZ!m=unM`iQbAJb iT2('j-'@9a_աj1y-IJWՃxoăו;Pf%^7(k0f|X(@åd-h[0ܚmG63iIRa. kx&/)# 0|ip5R'CdY2Ed"׃~
+icb5UsTMy~efWݿM i`,~䫳N('0K NyXF7ߴ!3W)MR-U⎁۱@\/"TE=9b
+ ikd7֖qDcC4W#Axh#>i sI3r<qqBa<H{[ƂSՠxPtqq.ƗH5 }/'*:,fcH %Pn&]*<
+mU-LAWݯQK+$<>cy汤:9|WD)!gxMFV.Sn
+Ȳ]URk =bDi[j
+/-a+/AnPyЎ4'듀Qtʾ.2☓^2
+q𨸞t;ڽ.eShD Q/q;>V o(%͹eMk s-iAYhwNQcTJ-ݩ-ejDR";
+)vLQ>́':n逷oEa"`w7\~ȧ4._y.`@1O9aBy0 jTPc  Hy|Z(f
+1MT-^6OwћAY&;Ucj%uVG0A؃0m~˨07+#Z¬TEvd/Bc0--́2 nxx`>s8hc3s*i}s_|}|u)lrX6wUzs*V&>h\y! 7ƚmbޗzoY뿽4U<䇴ͼ~M6JX5l'w7 0q|A0D"mnsԐyz ^>}Ϙ~|R8͜Cip1n.8a% ןJCj껩^؍5Bν!ojoqWB:O+ a5zqƟ5?:/ 9LV_<D%b Kp"Į ͧlw/>i1EaoVUC}p>uqMTݝmK$A<W/1,FD톦ܧ&1o}f djs
+܅؋өsiɸ4{H`;=-XLSjiL,S]xG>|aF3qgb(&Oy?vUo3gNennygMj3?/:"S=c NLQ/{Np3-RWq
+ό]e(_#ȿ"<逶9'eBӹ|r\ lׁXؖvsGsIzJ44`r'+hȲ Χ(Q lk#
+0#FB4K[&22;gse8rRM-hdU4
+endstream
+endobj
+348 0 obj
+<< /Type /Page /Contents 349 0 R /Resources 347 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 353 0 R >>
+endobj
+353 0 obj
+[ 346 0 R ]
+endobj
+346 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 582.451 415.267 594.961 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
endobj
350 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.663 282.791 349.388 293.849 ]/A << /S /GoTo /D (subsection.0.5.2) >> >>
+<< /D [ 348 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+77 0 obj
+<< /D [ 348 0 R /XYZ 79.37 569.492 null ] >>
endobj
351 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 365.109 282.791 377.064 293.849 ]/A << /S /GoTo /D (subsection.0.5.2) >> >>
+<< /D [ 348 0 R /XYZ 93.716 99.406 null ] >>
endobj
-355 0 obj
-<< /D [ 353 0 R /XYZ 78.37 808.885 null ] >>
+347 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F65 215 0 R /F30 221 0 R /F16 216 0 R /F22 247 0 R /F75 218 0 R /F77 219 0 R /F53 225 0 R /F32 207 0 R /F71 227 0 R /F73 230 0 R /F59 226 0 R /F72 229 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-13 0 obj
-<< /D [ 353 0 R /XYZ 79.37 771.024 null ] >>
+356 0 obj
+<< /Filter /FlateDecode /Length 3480 >>
+stream
+xnd1W3/# cowRG}͙}??I\8i/V/)3E(__onLʇ??]_ޭx uyaI'/ƍz3
+8ZBqN hP\dǟ,}s.bB(@;EQY?Z&Ee%ýgqYǼV÷3B%k<Sfj&ÿ ,bUOGIfhv;!fPpGn
+I%TYhԢxG4N2N-d1En}
+F5Poh`8ו?+T5)N^sI><TnX} ~R<iJ&><
+xŌg5QO)P0*5j۷
+99V `&25 ^2\1u L+DTE#H[Pɜ0Q̛'cP#F+ =̃"=y֎1&?bS&8zXܧ}9 G'(][>QulH)([:vc B2P4Gya€(+ O
+v 9a)aCazRo$&&E}y*3ޠ1*UqoMUdéWZwKWXPT\BߓdB(t#;$]2XI~A/&7R^ncB ^<!g+~{\(-*qeQ]b(u h3o%\lJHJ$m!V)Ӧ[X6Y&V32<lKC Z]G%ߵnS-)?O
+),:(0FBgFǧXoC81 F$C9>`H,0>i?V<uƠe:eL4V.᝾s(Ɩ#1(
+Qka{H}Eb5t}ח/PxЩȉnb^b>Z'?W9W[b)DV꥖I k&tRVXbGJVwY6EF1߲gy`Ql"7N,4zB!޴.ZP^ݗHDn-V9QCǸ/QAhZSOek_%73NHbj$QqRM!UZJtbm2 ($yp=L}W*^)ŷeXePjkzS F΋YRv<5°{}%N9Hxz*cnЩXm!ƫr0\j;ȟ,sM^4nSFq]QXzTbn=Ijh>ގ$npZ 2AJ%c/ mpuZv;uײn(eko6-H"h‚::YzxhW{6d6e ZժQ5-TʓqLb7KLU`\+DYarz$0OUX /D Hla"-g}/-R}{M([!^`Luib\0)ˣFVF¤P|kDGN_BN5q`U0W7G"bZYOo/uſu?::.w'p]zOV-1c/K]͝ҝLm5*N,RWJ{0Wؓ*mjO1yGfoRASBQil 2(vO|"̈́OYS ݑOIoQ!9nZ8BeCBH]mc팑fmoSZauh:~4!Z&-oypd}YϹ)'}xeCD>%(B}IGI ȻQ+KH{M1]C+sPP.u⚞u-\fXSUSZڍ3Z+4ЅgkMg<gM<jU𑖠93NR,%FvD?6e֖e{(ި#+Gp9ڏHRJ0&i>t@w&!hGRpϩ2a[e7][4זҚx4F?^{[`sÙޭYr{!}OGc £$YOsWoe#uc`6 L KOˉŗ_vȻ
+1GDP Cqѿ4vpQb EpY "8Ie9*˖eF\d mA7.<念?(p
++ F;yNö,5 rlAJJ)
+L OoC& Iv0j7LSztR$
+f}wt&z{
+v$TNj fzcNQYJ_Q `D\3e bjv]e}.H7W/0µ=bOtYTnZH/&}D'ș h%`t+u8M6|80bHv]K߽ X#ro}'U!Mnj@!a/j 1nq^/6 ^a)o!s`2e|T4c a
+"d!\#vH~]TV^C~R$;v$ޅz{u'%\3vcV#Q~Zw|!m*)F L#jדƁžSRb0JFfHEq$i_KN0rqLqGTq rEs@Q9G!sxܓ|_dlӧ*|בoJ07O}N
+`Gbp k/(pIMEBZDt^Q#n)(.g`Եk2xlM1qլs8x4h?}IwZvq܃@
+sm mc*$4Nv<3ܵ3#S|du :Pz[`U kLtRҝ6p{///Da\>?~Y{+ L8Blu (
+endstream
endobj
-17 0 obj
-<< /D [ 353 0 R /XYZ 79.37 710.81 null ] >>
+355 0 obj
+<< /Type /Page /Contents 356 0 R /Resources 354 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R >>
endobj
-21 0 obj
-<< /D [ 353 0 R /XYZ 79.37 625.789 null ] >>
+357 0 obj
+<< /D [ 355 0 R /XYZ 78.37 808.885 null ] >>
endobj
-25 0 obj
-<< /D [ 353 0 R /XYZ 79.37 484.633 null ] >>
+81 0 obj
+<< /D [ 355 0 R /XYZ 79.37 624.715 null ] >>
endobj
-29 0 obj
-<< /D [ 353 0 R /XYZ 79.37 185.972 null ] >>
+85 0 obj
+<< /D [ 355 0 R /XYZ 79.37 485.315 null ] >>
endobj
-352 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F65 327 0 R /F74 329 0 R /F80 356 0 R /F75 330 0 R /F22 357 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+89 0 obj
+<< /D [ 355 0 R /XYZ 79.37 405.253 null ] >>
endobj
-365 0 obj
-<< /Filter /FlateDecode /Length 4089 >>
+354 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F75 218 0 R /F74 217 0 R /F77 219 0 R /F53 225 0 R /F30 221 0 R /F32 207 0 R /F64 213 0 R /F15 214 0 R /F81 257 0 R /F22 247 0 R /F84 305 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+363 0 obj
+<< /Filter /FlateDecode /Length 3009 >>
stream
-xɮ񮯘cr}hpNqt3|Jb/"KwOF7/^w{X_ _Eô7gV\>v?
-(MO\p1++%14wU[
-ɤ`P/Fg΃9G7S$eiUO6GnD4^6$qY+#xHGYU8vBD`R. \YH}Vh|/IWYE{6}呎i1gܾ
-8ZU4a+-ʒTIP¥
-D  S^>!8 qU(y!j8@=D㘇nn U.M9i-
-b ,ۭGi)eȾ;1Z0}*s|E~+ e9inc\űX{#MT_> jr}F@\ #6+2$e_/[?H8Ƶ(8it2ˏ} yԭL9Ii&Gz3GTi4^qV"fO5*3I?.L̙M_RֆZ1P(s b-$T`0Rp1#lϸBH! {7,NF
-{Zڂq":Z[\
-m@32ƛm0]zI5*`7 m >Ez9mQWq5G`E(UE%pL LԈ80*>؇*( le;4LN-n_`>=WL  :˦1HifCDeGb.Ա[ay*@1  z1x yvL*bxm-3'WיfOw6Uy6MJC$O%&t#rm A\HFf
-\8S% S9#mYPGIw9B
-TաF.
-8aNe^!\憓m'mQ_GB{
-'ήUI%▙}w "܎3
-`?)HYsZpIɗ˻{t4>m}v~
-o傺El^0eb*%9-2m?
-ijl,;@
-&H}%ֶs۹ӷsexFF# \B{;6h++HU{#B,ކP`+ήjNFU5(pQ@8($"GdUIbH}D2ulڷEz]Y,0N Ù1lw8}RkeF]_d:۵@'xlx蜸M)XrYr/ i
-om4׌RN7eNley5`􇾡6nF=XC"r|#7T0058N5X=/Ыu<^D`3.~q6 ]̊gd
-^L[ǘwCp
+x[n$+!; ZOn6wpYꥁjUec0H_ _~yxyM3o/"뙴5q#/oO <?*# 2>Qx O>}آUV{׷LIwұM%8dE, CkV*iɟP/'QߪVϏ*[tnP%ݲv}$]V,͎
+odV=8LpCZKҟQZS2
+PgU@`=1d/[5u3ت+Z'LߚaMծ*m6J`z䊛3NeBaw62itߎFbytF9*!0(0|_T 0Eu
+
+%4fry$ˉ})
+gqvM~k"Rd^2=: \i5B,Ŧ Q
+~- O@<%y"DCOeͥm߷Lݰ`g>d4/[|3]!
+l-ujE+[wa L-o򥊃&{)׺>yw 3L[^?їD<v1&8 cŴ_ylMwAi%ǐ
+1r)`W"+0z}S4LQ'4Sտu8S4Sty3upWK
+^ s
+IoMz/0.EoDI,aa;QZp:' b^܎hD
endstream
endobj
-364 0 obj
-<< /Type /Page /Contents 365 0 R /Resources 363 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 371 0 R >>
+362 0 obj
+<< /Type /Page /Contents 363 0 R /Resources 361 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 366 0 R >>
endobj
-371 0 obj
-[ 360 0 R 361 0 R 362 0 R ]
+366 0 obj
+[ 358 0 R ]
endobj
-360 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 221.129 656.403 227.587 668.684 ]/A << /S /GoTo /D (Hfootnote.3) >> >>
+358 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.097 130.689 194.524 142.98 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
endobj
-361 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 459.405 506.224 465.864 518.744 ]/A << /S /GoTo /D (Hfootnote.4) >> >>
+364 0 obj
+<< /D [ 362 0 R /XYZ 78.37 808.885 null ] >>
endobj
-362 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 386.12 244.061 392.579 256.351 ]/A << /S /GoTo /D (Hfootnote.5) >> >>
+93 0 obj
+<< /D [ 362 0 R /XYZ 79.37 224.572 null ] >>
endobj
-366 0 obj
-<< /D [ 364 0 R /XYZ 78.37 808.885 null ] >>
+365 0 obj
+<< /D [ 362 0 R /XYZ 93.716 90.527 null ] >>
endobj
-33 0 obj
-<< /D [ 364 0 R /XYZ 79.37 350.159 null ] >>
+361 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F85 317 0 R /F75 218 0 R /F77 219 0 R /F64 213 0 R /F65 215 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F59 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-37 0 obj
-<< /D [ 364 0 R /XYZ 79.37 289.356 null ] >>
+369 0 obj
+<< /Filter /FlateDecode /Length 2592 >>
+stream
+xˎ#7>_hE@x { aIz\$x\&Eqn~ySEtȋD%N]{竔?JO.H
+e̦I:3p 0xM!Bh!;#$YBIm|yDb%}0z u喺2U5,Xe(k+ix&
+%CQo
+IY IZ38lBr,HZEj.C*Et͇g,|/i/BR rZDYE4¢(ή16\[P+(4jPl!0u0:n ZVf.:O&<k;kWf')[*o]/j8rk̽G]Do\Gh2s!V(V ̙{۾@sPcH%tV
+ϙ \`<`xpYg0&Vs2--Hk o qp]_wo"s} ;c(V%ФVW~KIk㥎-it
+F@\C VxU,;X yYn^I n,x-= -,{g ́ iR6C! lÃ/X݇@)lO"Da('m_0/Ÿm|"ElhS}1p%Ɔ4.I.>:-r[*MӢ,b!#6OU@Nۗ,<.c1s#k"vG漥(Elhca߷ڟhdJ|\ԛLAӿ7ѳi lt3my[҅&_CeL=.Yve0[5O^
+D`gG:*2"-SZ\wDŽ7E># OCSlԈеQy?cE# 1=,Cc?arwf*%{OKv%s7_&jZx;u4D,\ӱ5^k0ET3
+X|<9WBDywq%v6,,y2 h^߲άî@M9CwgUj-b=<}@D,g: %f6U|8s
+=1hBA>eUR27niҘdtx=n3@dlư ìv}W)O=BM+Rp
+ BzM;c[kqD 5\ Zֆ;}oar1 l{iլu 54
+CbKSrxɔ >a,"^A@f1_I}<{M(;]J0Om|jUeoҼp6tnM/@jy
+6q Iz%P,;ʎ0a9{)xu8:FQ;  G^LxtɻޮS<N} Kv踶*ebAw<vqi&1^tv\[m=7
+3PapZ;<Yr!*RVVr*j,:X.0H]9hm:кW6}YDr0j:B`ݝ9BXP՟ltt3_]*P<6P:Q?DuV:;6"x2ڟZ|.l~bғ7tրfDO!x$
+7ϸ`QŊ/8Pȗ|lO$mHlun8'+l=8t<!QX下]T{-uL
+endstream
endobj
368 0 obj
-<< /D [ 364 0 R /XYZ 93.716 114.244 null ] >>
+<< /Type /Page /Contents 369 0 R /Resources 367 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 371 0 R >>
endobj
-369 0 obj
-<< /D [ 364 0 R /XYZ 93.716 104.557 null ] >>
+371 0 obj
+[ 359 0 R 360 0 R ]
+endobj
+359 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 745.619 261.617 757.574 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+endobj
+360 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 745.619 281.542 757.574 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
370 0 obj
-<< /D [ 364 0 R /XYZ 93.716 94.93 null ] >>
+<< /D [ 368 0 R /XYZ 78.37 808.885 null ] >>
endobj
-363 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R /F74 329 0 R /F16 328 0 R /F75 330 0 R /F77 331 0 R /F65 327 0 R /F81 358 0 R /F64 325 0 R /F82 367 0 R /F30 333 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+97 0 obj
+<< /D [ 368 0 R /XYZ 79.37 153.133 null ] >>
endobj
-381 0 obj
-<< /Filter /FlateDecode /Length 4505 >>
+367 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F65 215 0 R /F81 257 0 R /F74 217 0 R /F75 218 0 R /F77 219 0 R /F64 213 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+379 0 obj
+<< /Filter /FlateDecode /Length 3700 >>
stream
-x\Ko$ W19V`H-{J{^C=KT]mOgzHE_%/]o\,^膼KP 8g)?OFJ))I@WmW/sξ')Bק9 8oO €()4Q?.>ntKpZrKPLE$w}ZB$v?Pёi.biFf@$geXyDk.)hBFYcx#Va qVyG'|1^#rE#/
-eى9Q]ID؈A(iҤNL k_>5>Z)5^MrqxD\)ķ49T6bľL{nk|<@nH5"*媆nC&͑\[ɋ[GV:"}"rc^ghk .DJ5?t& Jz;Lr%r&‡=G*cEb<rR<mͺQ[w!)PchcXvdP<48<]DNÁI9`LJsYKWY&R^ѤZ2@ekJ>If L"R^tdZi,'M ',x>J=OU^qSp{ CvuCJzhgcG!KF> =$plÎj٨W2 E%\T99l\\5.f e9d+^ γ%n' ֤"B}^CQ5 職퍷ߡ~qA LzPwHt$/KG\F#"+0lmm?Vkk,"푬W|Z ^bFŝno*`$bF~\ޑ1hzcca#0P% ǵxיִtu:#ڕ
-
-,qpBe@>&`@|~L,3eu P9R\[SSbXue5Ա<3噉E$rY6ofHriBYIPq~tF,91 ]\Vs
-Ɂikb"Z·<LKn=A
-E-1mΕ5S*fiqVjy<{'9!AI ĕ׀Hv5jtMg-@J;;jFFM7R[!|9;)R|tN
-#z>q%0QCr_V2qf+IyLrƬT )'9K (XͿk<ޓepGeٜe-z*C{$7tvt(,'UhY˴9
-k@LWO<l|U=\s=/r4sɶI !$ܞT$}XgP\2 r#|'By<t>hUoD^x
- gŠapOFzWb3h= 9BEfG3CܮK^mQw0dG8oڼ8FBs 0qִ oͮ<Nngrʴﭕ U WF6k/h<?b
-="v0CXF0!Wڽ<H>Sfկ3Z-&k.orC%R3ޝ2 fffK} yf>5$݄}jq/?rӖ =jOteH[7ӄYfqY#tWLYd-1CSġe51{.<ڒ{]cU;bx;?]էtۈЃo\kyF@Q#:/ oC|nΦ\'Dq yr0”Ml:ړfx !hQ7WM/;d5zo`mԵLV6$VxHm`ZY4zZ*
-8(
-D,zψ<߻UG7Q@S
-qͩN:86YKۡm=cdW [iѸ,vwk;іZ
-h}_/۪VlBu=tE
-ӧ sRR1O"y4T!cI|\J||QX;v޶B*;5Qr lڏ;Jt{[K7]F+ϙ 31\k@@ߚ:͎ bx?OLkw[}}ɝfo[y-̰L]+tR>~&gJ5>PB#8nh^ Td\-nXʷu>T$SI}g4m%j+_3|7XqLe:iְSjXWsV#,%!Il= ut&xA<hϙzW[ނ0T'7Rk%뗓SFgje5))x
-\[-ܷL
-0RPmePqrb\wռ$ 6t(V[ts
-H,
-Jo$V^"t<|gQ K*oNHu vpUojB<kYS>@-
-嗨A76+~ˡe-D:G|Wqbkks=?Ԅyr~_**hȴJqRq"X}bOBɍM9@ [()mJMnцh< M,bms틥78wmpakMYJ;ȡtDoYv_0s!iΘc>}yw|C5Aeoh9l)Cw$VR>ҥnȼ
+x\9\WL(|X,r(LPd[JJxǐ`}Gu_Uף~OOߥ0'I_yioMy˳;-}RRㅼ /z;pCҏ@8dUX矉*Jz rHVi&}~˫n
+J(4|w8sڌ e|aG6a=xX6BUt2Qa^݋$ZJB ,IBM
+SxZLߑNNs(9qqWQwo&?]" $F#r˜p0>rD$;}87;ߤ*+#./q^,QgmDf[̢$٬, ʇ$ 7$5bL`"tX͢ +
+)pͬqpZNgY!h*vhkNx?gPjs)M)
+jZJ%L3ۦF*75o2_z6E)3M׮Ӌi"dt={D`& Ber7󖕩tFgvV B[isr?JL%kL>S3MqHFF/2ੳPLLsÙp$4e$&oM&Fv̮CPw7<и2d"T*P3$_Ш>+ B&:O=Oǃ;_"N2%^_`Pa^N3Dؐ8)i6rD IIIҎ7șh!_VTFxwsc͈22FrZiqeN==v܇iQ@Q6|zq<}}jB5ǡ)XWjr޼EPh;-`2- )%6-pLy_#+ W N|!<
+CXA3.o:kA
+TMQbcQ Lb=XD 8%U7d^" ' OnK+RJB?ګ y!9Goh~{KE%賓ԓ Z%`/9IE$~؅86B[K#*̿ſ:7f9&
+dg< #F(-\i!S! /'DގF XUyZVmjRُ\WͱjBuc\I6>s~1tɎ(Zp{ )y38$Ӱ #5oGp!t)ۉK#Ҕ|0xb}neh#
+5_>$n>Cb.7SUO>8Iиg\ .GBtm\z;u]L{kN#$(ʊQ[{I@-#GNv m5Rǝ\"mMSpNs99aIӫZ4}7LW[H^ty@v5Z17c} \X)^W] E-[#
+%_>qtVu'G~%màAu3ރyZnt(,ԋno;-iX/զKX_ێ8f
+_<d媞)OX ol! ZJv]moBlS~ZjKsSD+n~L!19-';hs7rGV.,yI°8>. ['o(#Y׊up3qpH6^ŹODfz3e?&~Hq]UźmHй%`YL ]9täE>6Wz9ٻ/7i0_VL[jipLnQyx#aǭ7KzaTN^T0c ^!րKC/X<>1]њ$>Zr80'-*x"ԥD v=kk)6C_b˲w:*Gx71ק7հ 䨸}i\6_:EW @֤^rYWS16]g-7_L)vޔ} س
+Cv_Y2-&;X==JP=ݍ0,츻JWmd6l5(Bj3GzLjXfkZ 0L&A@vpBQxxl]ZOgUUv"
endstream
endobj
-380 0 obj
-<< /Type /Page /Contents 381 0 R /Resources 379 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 386 0 R >>
+378 0 obj
+<< /Type /Page /Contents 379 0 R /Resources 377 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 382 0 R >>
endobj
-386 0 obj
-[ 372 0 R 375 0 R 376 0 R 377 0 R 378 0 R 373 0 R 374 0 R ]
+382 0 obj
+[ 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R ]
endobj
372 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 633.25 516.902 646.766 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 695.712 367.988 706.771 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+endobj
+373 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 695.712 392.894 706.771 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+endobj
+374 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 376.61 445.647 387.558 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
375 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 498.545 345.117 511.358 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 376.61 470.553 387.558 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
376 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 458.914 393.694 471.424 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 334.063 356.686 345.129 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
endobj
-377 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 406.889 258.942 418.844 ]/A << /S /GoTo /D (subsection.0.5.2) >> >>
+380 0 obj
+<< /D [ 378 0 R /XYZ 78.37 808.885 null ] >>
endobj
-378 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 406.889 287.716 418.844 ]/A << /S /GoTo /D (subsection.0.5.2) >> >>
+101 0 obj
+<< /D [ 378 0 R /XYZ 79.37 682.962 null ] >>
endobj
-373 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.199 99.379 340.423 110.188 ]/A << /S /GoTo /D (section.0.6) >> >>
+105 0 obj
+<< /D [ 378 0 R /XYZ 79.37 321.313 null ] >>
endobj
-374 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.478 99.379 363.935 110.188 ]/A << /S /GoTo /D (section.0.6) >> >>
+381 0 obj
+<< /D [ 378 0 R /XYZ 93.716 99.26 null ] >>
endobj
-382 0 obj
-<< /D [ 380 0 R /XYZ 78.37 808.885 null ] >>
+377 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F65 215 0 R /F74 217 0 R /F22 247 0 R /F83 294 0 R /F16 216 0 R /F81 257 0 R /F75 218 0 R /F77 219 0 R /F30 221 0 R /F66 223 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R /F59 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-383 0 obj
-<< /D [ 380 0 R /XYZ 93.716 122.143 null ] >>
+385 0 obj
+<< /Filter /FlateDecode /Length 2726 >>
+stream
+xn+7CVq = 9`N9$Rܚݒ%6YPs/O\NA V{RBҪ__FJĐg%>iDW8"eT]QJQwze3[G[ 8?AXk*B|1B"D/O??QA*`{wOE2Hߧߞ~^a'pfysP$-g"4te_
+Q+QiI&sŞhKBAsV +8wΊby:yEdv\ cʩ9@p6a:khG:<KA:-hm,kQ/2 |R<ڈ59i W ?a C6˲‘@%68@;3=[/$ھc?y
+kp:WK,u
+C
+%CΞ+ς2 P[: Z=ͅ ڜw:3)qvkmmA[!AWW;8v0$ܨ4gW-GH\x_OD3T-\cu֥ d<i&n'5X4S4М@AZYqa  =uU)jr2{ 8oOaep[wD9F T{$O/hVr aa!H(4}8?&E>UmpZ7IU -O"B/՘֎l(
+e);=J[B
+I4?_ׯ.5φ\Fx_JXB}Zvd<,0^kK^`/Y[%n~'an>n0GHkyS@lgATB-}koؔ3 ػEA>prmS0 B AyV9 ևVpG% J.~KKg0KtN!o:q g΃mYMB1^wԂPqkkgp1'KU٪>+c_ .2/}v0Je q([kzm;F4 6Id/uuV9-ELآйӭLI)w4)%+i.gj)>YZ0pR*y9l3BvS 9} =wG%2e.*q0Za\lA^ytiT(^x78\ VUoZ CiX- `Y
+ViRi.-go+<-T HeRlYﰏՁW18>/ө+c,F.aյԶwl>TgdԚbeb%%B]v岝;Hq]YV[+T=~mLu#UH˕F/AvDrH6fz4>N6136`?HQ3'8 Ln=oҥ18T_|hm1EYVQNӓ;=Rq~Z9mWBqNuをơŋ;_9&o[N C[nup%kewэ:$hcsҹɶT9L"0낔҉Jbη[s;K\|kAʾ³d%G7,qS)3k=]ܢ48]sݢykl^PܘW~1$:__ K)\T4 /+x:>0G-e蜾qɧѴ}}\C*JBu NAI;ж\bW<W]FN򺣛܆)P"l%m]SB% }֧:k,Lpw}BYAiǗL-
+6tqhpW̾0f]WB_᙭,#X-P
+ A|fn¹E.
+KSq(pU?.EsrC
+O;!_dI l.η\%
+endstream
endobj
384 0 obj
-<< /D [ 380 0 R /XYZ 93.716 102.986 null ] >>
+<< /Type /Page /Contents 385 0 R /Resources 383 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R >>
endobj
-385 0 obj
-<< /D [ 380 0 R /XYZ 93.716 93.359 null ] >>
+386 0 obj
+<< /D [ 384 0 R /XYZ 78.37 808.885 null ] >>
endobj
-379 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F65 327 0 R /F30 333 0 R /F81 358 0 R /F16 328 0 R /F22 357 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+109 0 obj
+<< /D [ 384 0 R /XYZ 79.37 771.024 null ] >>
endobj
-401 0 obj
-<< /Filter /FlateDecode /Length 4609 >>
+113 0 obj
+<< /D [ 384 0 R /XYZ 79.37 399.096 null ] >>
+endobj
+383 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R /F75 218 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+390 0 obj
+<< /Filter /FlateDecode /Length 3412 >>
stream
-xˎ#>_X,_`
-AHgp^_Ka0.J
-uퟗ_L7:dU ܂-vo%}R7>G
-]<z)I*Ey[CUfƑrZWD ~* eꢬ*LkY'[%b$Jn3#eF;CG3yZK `A~8CW ƲLSz4Y ڷ3'!D|ROu<[FY !3-X4@27|e)NKkV vth3c`yܑwYa-%_݁-
-^mchV<7F@XHl Hn@>aHp,cj)bDU t5^
->|V88qwf Rxe4c'آ*Bfg򲕪bROsʥe!(ޥ<K _q_ʺ>agyqiz+qCXxY!Zj):P,[AsY
-LD-JrY[.lʢࢥ=(Z*Dь\ $m$wdGg2)Kod)0Uʧ۵N51Z
-Rw}w[;ϭo9wb!cf;V̔+ h6i\۬*ekrm,FVݣQS\QG]|tUt31Qj4Š29(vjGGRƁ0mYh YQB}h# }}5C0<%{o]}Kyf\lْ]qZ5QKөL;SDn*'†
-{x):Nw!D|*z}֩}jn9$jkGEQ'iKcY.o͆٬ZM m9uiG<j5uY$eHTb ''(EZ%@yo{ E23v~t[IIv~G@aWb4z5aӫ6Cq
-ssƲ7md:'Hڷ)~vM;|ǰwl3C9#¨b1:C4깴Q MGzF}ҫB%M_MOce-1fKqZ u,clx wp}6P,|LOgz$ ۜ7ulRl~yomw1KCt|mj^HR3O<z17[];j{rvK޶OfHͥTGP!3rK=
-(PMIJKʺf@ꮢ@B0?}p"- o]W%=%ӵ6N0|M&8l/V]#(a98~ؑCMh
-E`ko]z6=AmNvqT7ˮ'm[gQٹU(P@
-3 Ώ
-u4B9iҎ$ SfJ/",.Rl)QN&Ҋdm x0ai\iڲMP
-<.pr^Q͘M[ױ(U6^Gnnh{:x+T
-poڒA;t -xrkߍϜy#O|u?x ឧrrTy#kۀEn7eKzc]smE&$;a3΃so NcHg'Y]eS6\'-P{qV
-Vh3OEF :_}T35#.0``L#R |rP7[\6aWeeXS6Ǣoi-gmj /;s7g^m#mJWԆt+Vu:L_վ)f?ٌڋ a:c\ > m4i>D8i@}wଽ8aRK_o*p&ȫ]?n!+^Mx.P`DȱO:>x;X5һ'r))W̲'[7?]}&hS^IIa+vsǥ"6XLUc==ƍt$1dSta[bB:Ɔqko{0Ӊc8%.
-8o:]/͒۳ al쳤Y80+82usJ2xVm:{BI;0.pDžKnpɠŗZX2yC};Zz<( Zx9h= 
-#p>|q%-#(UkeSl?c,!PN4W%Wcs.8g)%mlYݻGIֿ~r6C;쾲}IG6iN]%;g9>.7۹vrlnkش)TϖQnEkjmu/(@(ݭ+)7rjQQqun~#HQ ?%Zv gwp7hԨ멵-&gW;ӣΛiҞV),Qv(;]EXo b8OYAbe27Ͼ!ԗU ,u@P։\6 J~.uO8yh;݈Oow&)$+-lvI;Ҏjs#Irl𨣦j}J8<Y[K:ޣ2/</RnJq:'8UdUϖ(RDdνtnyo=-
-an!Rղtu drP44':o)d"dWdU kVMc
-ap涞<u>3ߝsw
+xڽI># a/h
+ƭ|s% N
+i GHªLpۨ?y59 r1E(gu߅~Go}Hkį4~QW`H'nE7ʲP #~
+d/"=}LK8ȩ,a"/c#nWFio'ԍtB O^P2^\~yu)-sϷA4$%;Lz1{B`Hr|+>$A ׾{b=1ZؾI*)QEmF@??:Qo*&GDB@9hOe ʪ@g%YeFܵ)AH[>g V][`qL\brnNJ X0r-qMn LB$;DnM<\!JWӥ5bƚDj&_=
+:5Y"t֓쩄"ބ
+땴[0FQ;z$^Ok(RRif2(#B/zEd%kա7D"
+;z5;KeQ)WN KIԉ:A%E*b2gvՂ}WszU-9F۸iw왌ʐr#+JˬqU
+<ĩsJ <; ޹:tS2r+Wen5zӼQ3͘VCEPՙ.4Cgß֢j>^nI]koe3^,RI҉umV*ȈiT%AW1QY1 [́<%!Xs)-K :𫙻;+ibV"sꏆMŁ:@;f'R{qÄ:A 6ITy"AY/6D=39Ki%!^1Y:)[=]밠|dRI "H
+ьpƛZk]<>,Hu:
+6ډGX,;X-Yiny6iUjf\{tUcgŒ魮h&wo/ٝ^LI7r*$jyꦴ+Ÿ
+i@Y~zDeklH=D}iuRm7 % 8Bߞrh,\P:Sl 6a|:grIC_ Rvd?Cv76ǶRG^ɞ"9?tҧkc]7:ݾvr pIHT^1NL#2cu@ OU`JSXMںOh0 :/3'<Æym^2*+ȼ?gffY[Iz[UڹIFot[[1>gLj?9h:SKփGAK0(0=gZՁx41(bNu(!E;6ZxQ|MR1>'ԫۚ5NgZ4
+Z!3H3tfAÅ
+*Ҹ \[}Q2U{vme3"ؾj
+{%W䳠.sTPo|({6s!# =Z
+.|;h9@%
+{} ꋂ*Yor-tVP P?~xSWv yVwY@8@I%{F=kOq~8cO#}k]|jAv`HU@'!vd0 .g|Ed0LF&G/^w m A(Q7_o= 2p+^
+uTM+{KԤŘ O7L AD>0򯜀|<ÏpEqoIp_OHLn/|ٱnƻ] FvAcX6P
+b@ӏ ;;,z%LZalZ {ݡDPsP8h7LbSZ#z
endstream
endobj
-400 0 obj
-<< /Type /Page /Contents 401 0 R /Resources 399 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 409 0 R >>
+389 0 obj
+<< /Type /Page /Contents 390 0 R /Resources 388 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R >>
endobj
-409 0 obj
-[ 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R ]
+391 0 obj
+<< /D [ 389 0 R /XYZ 78.37 808.885 null ] >>
endobj
-387 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 694.268 210.18 705.337 ]/A << /S /GoTo /D (subsection.0.7.1) >> >>
+117 0 obj
+<< /D [ 389 0 R /XYZ 79.37 636.122 null ] >>
endobj
388 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 694.268 260.541 705.337 ]/A << /S /GoTo /D (subsection.0.7.1) >> >>
-endobj
-389 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 487.77 378.817 499.725 ]/A << /S /GoTo /D (subsubsection.0.5.1.2) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F75 218 0 R /F74 217 0 R /F81 257 0 R /F15 214 0 R /F22 247 0 R /F73 230 0 R /F30 221 0 R /F27 220 0 R /F32 207 0 R /F66 223 0 R /F68 392 0 R /F55 393 0 R /F67 222 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-390 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 487.77 401.512 499.725 ]/A << /S /GoTo /D (subsubsection.0.5.1.2) >> >>
+399 0 obj
+<< /Filter /FlateDecode /Length 3604 >>
+stream
+x[ˎ WX7` vOY%./M~?ԃzTUc;YL")>)~//ׯ/\Z/_BwJH._]~$R 
+ 1!@VW(QZNU,X#_?䛭_
+|!N
+6ړ;!^˔PM}7:j¥_Lm5al>l iЂ 4af*RUW?_t؞$9`Ukuc§&4% ?H]x=GE"(L_wq"zL
+¨|8-ȚsÐBëKB H2$}
+9f4nPofNrZdTLM#]Kѽ'W!-l2y|•8a><|XbҮ0fkSD⑮N[0Z@m(` 
+6 g=9SDZA t x)<HeNi<`pIJ_F PX!2㜜݌ѺS06 %DcbAuPY#7Zyk3L A<%|ɴ# qKS8]G'GNS
+6TZ/y &4Beks!kn :Fw~3{k5%vh-YS3]9ʅ^w^"W% )0خ
+J\ /RC[xDaqI2TOhld i20]@7
+buX3LP5`5ʽYk@n~P({pM5QAaý++f ^(vRynnA%008t v-TO(?g2.luWTue4[yY\Z8uw:A8-љaJa؜Q-{Xq[%.jExu8W MwMz2eUOevq{O yt#szWlu^1g&lG~BGXG%"^w F
+ĭjS#W0؞kH N;Xd?)rBhBbd
+}XFӓEvChGEry^pD]E_F8_{RkK%3Tɽ0inV/P\@sLUL>_]AN oSBohd/:N%GaX8rM"{\vU:v56@qڳ~8E^{2¬x?c~[;7>0va7dA%9Pzcv m)(hccj>x@7Zv(c<bv!l%NG6`N^+_b*#wn+1Qxb|`rYd{EFI Au럶p
+SɹʷyZ%WҒʹvGh"w *bKM9TW3MVkq38ֵ޾뷗_LpOEy//*G=V"B REXxA>K( Č۷c/'iMK%xr:,GIߧ|:
+dsn\%ɥtO6 ;B1Lw!㈣1X8zq
+\C!ɵ_MRrvr jt=Pݶ9 }++Pj] V 1S~ #YX !+;"jicZ˓Z
+endstream
endobj
-391 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 448.494 337.844 460.665 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
+398 0 obj
+<< /Type /Page /Contents 399 0 R /Resources 397 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 405 0 R >>
endobj
-392 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 432.57 348.302 443.519 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
+405 0 obj
+[ 387 0 R 394 0 R 395 0 R 396 0 R ]
endobj
-393 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 432.57 375.978 443.519 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
+387 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 703.522 275.012 716.111 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
endobj
394 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 411.333 516.902 424.849 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 679.84 328.752 692.131 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
endobj
395 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 388.768 327.864 400.939 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 421.704 261.384 434.154 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
endobj
396 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 344.408 363.319 357.137 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.327 324.229 194.753 336.604 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
endobj
-397 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 67.03 124.577 78.65 ]/A << /S /GoTo /D (subsubsection.0.5.1.2) >> >>
+400 0 obj
+<< /D [ 398 0 R /XYZ 78.37 808.885 null ] >>
endobj
-398 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 67.03 141.505 78.65 ]/A << /S /GoTo /D (subsubsection.0.5.1.2) >> >>
+121 0 obj
+<< /D [ 398 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+125 0 obj
+<< /D [ 398 0 R /XYZ 79.37 656.869 null ] >>
+endobj
+129 0 obj
+<< /D [ 398 0 R /XYZ 79.37 496.827 null ] >>
+endobj
+401 0 obj
+<< /D [ 398 0 R /XYZ 93.716 158.494 null ] >>
endobj
402 0 obj
-<< /D [ 400 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 398 0 R /XYZ 93.716 139.402 null ] >>
endobj
-405 0 obj
-<< /D [ 400 0 R /XYZ 93.716 137.606 null ] >>
+403 0 obj
+<< /D [ 398 0 R /XYZ 93.716 110.846 null ] >>
endobj
-406 0 obj
-<< /D [ 400 0 R /XYZ 93.716 118.514 null ] >>
+404 0 obj
+<< /D [ 398 0 R /XYZ 93.716 91.689 null ] >>
endobj
-407 0 obj
-<< /D [ 400 0 R /XYZ 93.716 99.422 null ] >>
+397 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F81 257 0 R /F15 214 0 R /F74 217 0 R /F16 216 0 R /F65 215 0 R /F22 247 0 R /F84 305 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R /F59 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
408 0 obj
-<< /D [ 400 0 R /XYZ 93.716 80.331 null ] >>
+<< /Filter /FlateDecode /Length 2662 >>
+stream
+xڽZͮ )Q$R@p8 nE[J%F3-h(GJZw*]4~ r=KT{b+sIQ%x7`vFk{utMZtZ#=zyՁ/_펨
+?/嫼 ~yo牲<eNJ7>N+ᑸfk^+w%LXV2(k&e Ia 0pgzd"褗Jh5\ZE{kZ+Vf~
+<&*˪#}wIdh<VM259;S{.OSlƋʣ[ۥ_e)RgqMk T!oF(oVm^u|Z|\5n)zc^h毋^ʊ-:(WS6_%-į 8 ¸}
+^M<%6`PYZZ4-V=Nٴ@fևx8Y7ϟDoݩ寉LEH;)HSQ_Uc6h9 )Ol.U9xVP@zQ>`PT@bh`E@^HU+2/A+%/
+͎gjMkhM$(*l,<걄_"#BJBJ!4H~5;+? ay>Rm׊o‘+Q|YcA0e}u*DI:@`Jܐ<$O9K͇3-L*\Yr"#Zsg\++ e=݋/- 8ZG[9,z'G] $M.}b!ښ|;hu)ٞ+mR(GǴ5Zҷ+!qo|׾%Mi#]0t'j-{Ut4>{֣
+ui=cuȲ{틃UUO:kotuϬv3󶨵Fk増Up֣|$Ip-}Z)>-&J|mڳPz?ݚo}레!
+>6ϰ~\l\W,bd=O{ܡB݃Qb.7("@FNp FCTbc<*򓖧f۬W׎d[]s~Huz^M
+R=)ύ'$_ {<:l3.ü uVa.8qIm7k6ְ8Dm )DZk?
+zq0j!_!TdkXoJa|P,'{BQkZ)mLY.i Kv< Wn;UjI ma|[f@@"$[J~";,wW:_tQjpmMSZs
+
+lKȤ:VyKooc@〮s +:y0fb\XdҞZYj7q"@D &h| 1|RG8$΄e$,j@ˉnTrGH+4Vƚ|Gִi6^ 8EP]{?I:%xe:r5#ܷ_m?W+[ܙٗJnOT&
+c|Y%btE4
+&{ <+c'w*J$+k2qs :2RNAxQ`"*<߱dǐ%n[w~0nl~mD3V(nsmSe!U[Q*k7"0w'JLJ{WUzU2Svj3U8j›i燶JL9ͼ웫D(m~hgH
+ U4~'knU"*t;3vح"٣=r=4n9P
+endstream
endobj
-399 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R /F83 403 0 R /F16 328 0 R /F84 404 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R /F72 341 0 R /F59 338 0 R >> /ProcSet [ /PDF /Text ] >>
+407 0 obj
+<< /Type /Page /Contents 408 0 R /Resources 406 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R >>
endobj
-416 0 obj
-<< /Filter /FlateDecode /Length 3829 >>
+409 0 obj
+<< /D [ 407 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+133 0 obj
+<< /D [ 407 0 R /XYZ 79.37 643.992 null ] >>
+endobj
+406 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R /F65 215 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+419 0 obj
+<< /Filter /FlateDecode /Length 4111 >>
stream
-xڽˎ>_.`0߲ٛ=ė~oHmlNK"UzԔ_y}ffZOl?ۘD[lcRn^k%
-F)JF Gy
-+
->/pOƏku)B~Ufn3DqsPbqDPMeLBK#jP"|gYE/O_?-bǓ-&JI"ߞ(=#6Cd-$Jx0~@08
-b@.>DI8Ç-
-(Ob%3,w6{8N)ҷG5̖g!=q|7R+r.#U`SBS` ~OM0{xG9<bǟ`js)%ڹpO;qWfh ta=Bdcz#猫`Dv 8A˜<sE߀ѷ@| G(trڮdaYn,n\I\Ms3,
-8RM~.)A$=]*FBP4w&;a'U AA8ad =eɽ|5JPCJԸkDh㞍&k=ت"ƣɻ^O5aNz:Vk sNqCy@KygB|Z In; ;d>9 о}0ُUe0N!S8B̪AN(zp<a[Ckv' Uv[  f^D:yhF<کxȀ+*kfj$x+2(N}D;4S6ϐ$ѯ(lo sW-N?oy=RN* ~(S}8Gsz45_tՈNGu8rU4.5ʇ0ڒg6M?ByL 0?x}F\eH Np
-Sy9x7y+i Z4%UE;w
-Z̀LN3Ν!
-}2`TܑlKRu)ql@TYH|zcSatH Gs{޼>s<[:O{@Z%߷tZM}wiޛRW B+sJ& Kx
-/[JmQ`r3#_i:aU>t32Jj! 3E+J ,<{/;.Ž ƿ嗪
-E*k
-<wTIe2γ/]q!u5yz6
-
-QM-v8qT\+&%,Σ9s2e|}1Tj0 )\ʬTt9sދBqS-]ϭp0K5+o+ ]%[?q4N 8I =IDרIrqQLs$E֧Fck?31@f{1."!0)m\%ٰ.7Zl
-l^Wm[60LjT % {c<XKP;Ŋ9ۗGΉbwXrٴ2:q[r-勠;
-MlEЬdbu4q<\uݓwɤEsɝlҾȜNg`!NڶݸAkPr)zZ9ٽ;ίVo
-Wv0Zfe<V㜜3Na*arp-ׅ#N*aguKd)_埑ש(2t׼U >1}\ˬ@+:>ֶ Jv+k=:!يA]h$izx8|שm~(b <Af^fcZ;2' lj(3LοSxP^YD*l>\f (irS\S͈#oj=}*x_a _,e6;*g
-Y~q܌|!5+K@l+ g@3'J6ܟnt6WLgL캸}
-kEJoaz6e,ӭ[(wwxW&:PM  Fff<b`Տ*_mi%vbZZ$6mQ1%gO53o X?DAumeUv4 j^*J9yhEiˌ";#ybdk* *ձ5L'A
-ÿXYH'ŋo÷Ka__Ň+F* 1'@Ⱥ_[! l6^{_>OGpkt
-(-w!*6ITE S|3ߠߴ#8%7yt*CN>IM8mQ ]$ɽn Tq'hbPАR{-$>lRleeBWyHp4džh7e~46Ŀj({-(Wrn{Kb>nN넭Y!k>[lPDqV`
-sM\p-B UΑM#yoXo=Ukٳh*;" t.0zp-nIpQ»c\,fHn <z`qeN)GmdԵrM?Uck$2T5)(Y?G?=}F|vTeҔl!"~ϯ>*qvo.OwTc6Eu1AqOoj+nLoZ%qhM~JXrEnm7F 6W"AsYeW[^"LHEr?&b
+xˎ$_`E x ${ r
+bMQs钊)Ir>~ǻR"Zϟț(yt^tVJ9~Z{8q8tm=iOLм,,Tx$ze|BEFWA lDiG ϷTǼy_m޾=6nƾN wfpu\mÎ :D$NZ|Ok4Be,e'mO^+3xj:%3VRN0
+i^L][Ap2!$9(}/Еgd])T}Q=ežP?[%L3Q^Y
+bܚ_QB9ڢ
+JMg:m]O$W6F,ӽra'`C7$|*fUXW|7D0!hEB[q H#E0 a1FL󎰖H_Y:o`'g _|ҋPZ
+`Y_ N~GÆSʚI90Lٝ1yO|^'u=+l)
+Z܆lֶr5ue{g9Ø|OX? GUlAB7;Dh4m{kO<qfc(+>Ѻe!XƘ ^}Bߙ'#nJ?Sc{ϪtD
+NxcJw4wtt=#i +U8C\G||uD'1вЀܪƞ2 0QW9&?6BcPnaZ<4K3Ң90j|kDX1:APt÷
+ӌQm(\Zr)4ߚQ YėP^gDe!~kzA`-vmbM.ؘbpMT_'cDEr%8]mcI>oy*9fS6Bf{XNd(^ #wzK}&[5 Q~zQw:1ΓۘJ8 g*Cf`E7ܨTR@xfMPEfF/LN(mɠI e(]CNhJC9.1{RT飀Vؙe6[-'t9cЖhZ#49o m}kї}Hʓ/_""
+\9]fJ-&-XJl۷J~h Ii ͻ19ٞd- S?F0b󤒄AXJàaѴV!:.
+oX75fg:GZl#=ء2a^1Lr}IP.]88?RSm`@H
+==W2qTd#"81A&?5GDDžsG\exҮGCLi04 vy!Z#bՓ/%)
+U;-)u/\AWE\}Hre4vbΙ\8Z<ÄѢ@uAMd_57e:)L$[rGV+aM̔u]=k5.jl_}E;1C}#i+8+咽%F42 &6rsZjFBЅRY ;#^Tj'ȃ-Jc(0r)]'AXFT6>'c-qGMܗ}_z䠧X^48%Behqt7S0
+Fx<m<WougFmsZ牵]lbBhGG6_OaEdZ9%uy=*$FaCo|kth)#BtG~]`SS$x M־cz[,: u|g\J,zgoUMGEs'+]Fh7za*R1ؕJ"đgMڰy+,Fl#EԨ~Xzl3y{ZR7,*O9MG#~^n__BO6x5`"@kdW]VJj޳TFEu6GyWTP6]fcњw
+u@vozn,mvVќN=zsg0rkR],<<CJ
+_ZZɂGe9ei7AhI|_4,~[<J"ll
+}u7\8-Dyf\u}ж <]+s?Vʆ[X)0S[S@K/Tϫ*QXM
+#MFD̯WԹU0< j
+xk N`> ECL$__e 1gvQn 3X_~9Q
endstream
endobj
-415 0 obj
-<< /Type /Page /Contents 416 0 R /Resources 414 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 419 0 R >>
+418 0 obj
+<< /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 352 0 R /Annots 421 0 R >>
endobj
-419 0 obj
-[ 410 0 R 411 0 R 412 0 R 413 0 R ]
+421 0 obj
+[ 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R ]
endobj
410 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 464.713 310.205 476.668 ]/A << /S /GoTo /D (subsection.0.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 133.218 554.431 147.943 565.38 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
endobj
411 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 376.583 235.839 388.874 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.664 554.431 175.619 565.38 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
endobj
412 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 136.261 345.014 148.216 ]/A << /S /GoTo /D (section.0.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 226.271 331.744 238.226 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
413 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 136.261 450.807 148.216 ]/A << /S /GoTo /D (section.0.8) >> >>
-endobj
-417 0 obj
-<< /D [ 415 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 182.435 209.241 194.39 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
-41 0 obj
-<< /D [ 415 0 R /XYZ 79.37 451.791 null ] >>
+414 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 182.435 510.257 194.39 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
-45 0 obj
-<< /D [ 415 0 R /XYZ 79.37 431.502 null ] >>
+415 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 112.916 369.413 124.204 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
endobj
-418 0 obj
-<< /D [ 415 0 R /XYZ 93.716 80.331 null ] >>
+416 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 112.916 397.089 124.204 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
endobj
-414 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 404 0 R /F73 342 0 R /F74 329 0 R /F75 330 0 R /F15 326 0 R /F64 325 0 R /F22 357 0 R /F65 327 0 R /F16 328 0 R /F82 367 0 R /F81 358 0 R /F71 339 0 R /F53 337 0 R >> /ProcSet [ /PDF /Text ] >>
+420 0 obj
+<< /D [ 418 0 R /XYZ 78.37 808.885 null ] >>
endobj
-425 0 obj
-<< /Filter /FlateDecode /Length 3099 >>
-stream
-x1߯X,8G. lĿoGp0ڙnX'%/]O7e.A V_I..tgV]},%QRZ 1Bi))5ߵVJ_6Hu/ԧF|_A}R
-7UuKkeH+r"8㣉 kCJ]og9)$[‚++au`Jqfrp|qs&[$V tN_7b'tIꏿ|
-![8aZ,9a`Ј3Lmj2Exi-">.OriZX .mKk*،
-0ŏ =ژ
-+g;.V[pR|߱ټֿ/"?dzyGA=ytfY<ʙA1ePueTCʬc)&u+-Ӈ.m R-ã4¸)5
-J G煗0d+ՖWdr̻;UK.j 7cW0 WWWNc7^ '|Yt>;U^(-p-¤<2uW w"U蒕}q"U) @]s e%UӽM-bne+pjy[m֝+]Y<,vU*h26 -vy׏ֺ:c@=!mMSʳWHzRm2Vݱ}̓7vB ;"vkiXwi3.NI=
-Kk>9zҜAkddIm$ޔn ܸՃdk׆~nNhs;{Ӊr簂hXp.& Cu'?i&ٶG&f$EdfFIK }ɭ!e/VZqE<I9ivhoEL~p&2^5aݜ IXJ3†!&No1M&}:ITQFt >>11P4mcMJ]Þ-oY_wG0ó #M'.~ |J_ێԧ9z:sљtnkb<~Z+Y6q&h6!'dڳݖ7i/X F$%e]cGXDGmpxm%
-<O,C8R%*ֱl{Jke֕wAR=8WnnZvVn,\o\4 1(GP`I2Z3}үnjWYƀtN: }tr@rv5
-:ul鄜4yvETsB `77pnìzڱkm*6 \ee;[oKN aQ7(悵`7h[n+K~PlLj]F'%|{4iZON^w*/a餾ȋQ=}<I^p숶=#XQV1kDrz@քc]>L-s5xLb]5 tKNG,if |Xҩ\Oxӳe%"ٽݏYOhO_f5mhtܮG%Pmlcuzʝ gWPZί>ՠXj5!X XHi8eb4
-;ŸXڪSW^ 5 4}ٺRNذaF(f&UpR`Ro-M<|nOU> _|OyX_գ@woJxl0s-f*5$ 5eAGy SZtw% WRP4˘
-w/*AxKtݛdn'lG}J7bP2ʠ
-~"1bu
-endstream
+137 0 obj
+<< /D [ 418 0 R /XYZ 79.37 771.024 null ] >>
endobj
-424 0 obj
-<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 430 0 R >>
+141 0 obj
+<< /D [ 418 0 R /XYZ 79.37 541.472 null ] >>
endobj
-430 0 obj
-[ 420 0 R 421 0 R ]
+145 0 obj
+<< /D [ 418 0 R /XYZ 79.37 391.923 null ] >>
endobj
-420 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 526.966 514.823 539.765 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
+417 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R /F30 221 0 R /F27 220 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-421 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 403.43 334.22 416.159 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
+424 0 obj
+<< /Filter /FlateDecode /Length 3534 >>
+stream
+x\ˎcW&`4$
+,/_~TEдtE&yD~׍߾}y77L_8&h#R|s\9r=Zzkx?'҂9YЖ-PP@C/wO4?HAݏ1ބy5"1X9Y,4Ӑ)z~2ѷڳ}E]~7M
+_o_),Sg{ng
+\0y,U/p!< "*MNeO*|:JT$7HWCL&Ť]sͬYAL0Qʑu{Û] LY16y| K8rKY5b!s7DJǔLGd§ɄoSm ծ'or;4Ls;J*5h~II=R)6MI,K' sQ3Й&S)ֲ&Xq%m9JI
+Fy|s<KaA
+7R)&'A9My
+J`V*ީy&iL ADEv EnK4wrjr@<C^*;kOA3M8fSCATL88zLv`if GLʊ
+MO eY c/QEV:Т.Sq\mfмY@ OGƧaRB}@\r.1&^h gGQy\ÓPKz7[N@%;;Όq´}><Tki皜\ ڈk>_
+ o@,kEمu)$bl>
+E~>]$
+>w0 c1P+鰬J& +p,J'R:JjG*2K}'Ot5BbacX,̲8,n+Dqj' $X=/ݼgm>m܊ȫC^.Z T%`NtO߿g$9fLV CԷ뗿v!0sy>lc9ZItRq>5eH/"|dL6% *:ɆVoC7]{dMÐ̚Y4]NH6 j9Ȍ8ayi{ZmprC;HHuأw5%^i~HYM7R[llW"fh w~Wy)F)ӡqS814c##SHN hf#40+OWל>jnR2le})_at)-PMo|\]Af.cuk-]3F srFnN>ʾࢴ+]_#Cq(/51!g;_–[e?.P;p{?#G;A]9w(ҷ6+lY
+Ku}.q!zpBXÜژ\q&WQ4$}'CK*{
+
+cWyOl u
+&ρN0:lT A9jdYV
+o^‹9 HK6!'>q^Ld8DQq;!et4ȴԛpmj
+>(pgR#)9ggXÅaRh}2%f۳L 9 Q9yɆ|U&!ڒy1/bf=
+٤H-EP݁"Pe`g?$|lO{10ΰȤ<Jī]ir %!-'QKV^M_'j]CRR@\6𣬈<.-[R
+_?E6ل88"a)O۱-줾Vil+#Bh|ˢ*xbYe9J"0%*&&W|5A+ blч !.LáK A2
+s2JO#pdzJQUTK1pSTƺ ?ʵ@DP}K!A9ClABa
+qR#c1<<C $-hpDI}jΦ< 0SkAƄ=-T,Ii>fN6<FeƙMJ
+@ OlTljJHtOᄸ$ yY- Q9;H!;Β\\ ;X!.rKyl
+`_j#v ,!%6^)\p,ܯL:)OQ诉yq$V+: !(SME6E iϗեJ2wv@5q=DVAEwQţJ{~t%ZhJ ̙eZ:- a
+endstream
endobj
-426 0 obj
-<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
+423 0 obj
+<< /Type /Page /Contents 424 0 R /Resources 422 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R >>
endobj
-49 0 obj
-<< /D [ 424 0 R /XYZ 79.37 682.07 null ] >>
+425 0 obj
+<< /D [ 423 0 R /XYZ 78.37 808.885 null ] >>
endobj
-53 0 obj
-<< /D [ 424 0 R /XYZ 79.37 354.605 null ] >>
+149 0 obj
+<< /D [ 423 0 R /XYZ 79.37 771.024 null ] >>
endobj
-428 0 obj
-<< /D [ 424 0 R /XYZ 93.716 149.755 null ] >>
+153 0 obj
+<< /D [ 423 0 R /XYZ 79.37 748.402 null ] >>
endobj
-429 0 obj
-<< /D [ 424 0 R /XYZ 93.716 140.128 null ] >>
+157 0 obj
+<< /D [ 423 0 R /XYZ 79.37 403.167 null ] >>
endobj
-423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F22 357 0 R /F85 427 0 R /F16 328 0 R /F81 358 0 R /F65 327 0 R /F75 330 0 R /F71 339 0 R /F53 337 0 R /F59 338 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+422 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R /F84 305 0 R /F73 230 0 R /F75 218 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-435 0 obj
-<< /Filter /FlateDecode /Length 3466 >>
+433 0 obj
+<< /Filter /FlateDecode /Length 3275 >>
stream
-xَ}`h xV6ON؇
-EϟޝݢN;>hƦ6wJH߶NR곔F?G7@mZ<qeiT"FTI)tԻ?RJAJx
- 0Ь#4@ Q2~<tW=J
-o5uʊ
-D](E e!E{Q
-ӊQP^uרcyő^1]wu;%3%%3d̾iu1CtG&dm|q7&FqŇ;k$^͋w+݌Qv+nu0^Y6D <̲Ճko0"0-qNr_^Cg&<( }54KvV3ZjT544)G~>66jl{lOt9Zy r{`1c-VV1=0sߵ9+@ߦDK22S
-R5qW, T}o  hSm6zIC$;հ#.y]ee> /
-uE4 $"-MgY<2rc
-ޝXHNA4ihχ3qW}%
-%64h⺌Gw53})W
-`v 4lVԭW O9tGǀR6o(\\N{a|H-43?rߠyBrYmNq.$EvQTo)v2ewx6-j6wpJFwꃤd" ֤vU_x
-J;P:fU:šHZ6
-*NB+vcwr[oR{BA9Qښ,pra<^HkoeXJnw ^USc}|̻{<%]Mj\!\mv*ݱX3Rn|Sƿk3kVP..):`f9j^EQn
-
-=8~#1ǕJX/8fnϏkw۱vAdkWMgcn f5ڟP(e0ɫ]]+`wc𰸏2ݜa6 m
+x˒>_,ƳjJU+U)\>9K~? 6@I5"Ft3}?\>^\:9wE8+N3'kF>~y\*5p$~ow?oo8+~4&w=>5 pljoqM~~R#V&  \luIJO/Y|?B9\|Pȴp Gz.]Ak>BsO5ѥlzo\7#</xrvSxW{;Ati$=fiialv.0`37euuMr&I^gBAk#jQ:އߑo ·Z&x]ݲɚ6U:&
+V.M#yz@61(⨀UI f~>c_՘j˴tVx37ŝ>Uq͌&%/4Fmi g ̲?5}\SIM-P=.L
+mދ=@ PD`osy]*
+;=2l
+XZؔ ?kfDC8Ƭ%yful**lOW+ -E䂻-Wf#VJy|ij
+d#pp:zI̼p˾zTBp&]6.qor$T_ZQLeC [^g+ RTx܅H5J[ B! 3̗c"2@Ɓ,:31*H%(Λ@Ւ`":P*
+ևC!D\Ńu
+둓|UΥ0zQZ&J5M! o(H:c+HuÅW#j`%Te
+@cUqLA&`݉&*MUB7d Cvr/#
+j
+r"(|9{:NCKΝJ>.(]co " ^&7<͝DѠ5vR!ceHa˩P"fnS?y՟5*Te FvsX2{o $c[ Oj9
endstream
endobj
-434 0 obj
-<< /Type /Page /Contents 435 0 R /Resources 433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 441 0 R >>
-endobj
-441 0 obj
-[ 422 0 R 431 0 R 432 0 R ]
+432 0 obj
+<< /Type /Page /Contents 433 0 R /Resources 431 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 437 0 R >>
endobj
-422 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 660.837 190.205 674.784 ]/A << /S /GoTo /D (piton:transpose) >> >>
+437 0 obj
+[ 427 0 R 428 0 R 429 0 R 430 0 R ]
endobj
-431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 578.803 149.903 590.319 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
+427 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 111.011 392.512 125.735 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
endobj
-432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 460.471 498.883 472.835 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
+428 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 137.449 392.512 149.405 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
endobj
-436 0 obj
-<< /D [ 434 0 R /XYZ 78.37 808.885 null ] >>
+429 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 189.952 229.772 203.9 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
endobj
-437 0 obj
-<< /D [ 434 0 R /XYZ 100.292 761.061 null ] >>
+430 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 166.042 266.385 179.989 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
endobj
-438 0 obj
-<< /D [ 434 0 R /XYZ 100.292 701.285 null ] >>
+434 0 obj
+<< /D [ 432 0 R /XYZ 78.37 808.885 null ] >>
endobj
-57 0 obj
-<< /D [ 434 0 R /XYZ 79.37 565.844 null ] >>
+161 0 obj
+<< /D [ 432 0 R /XYZ 79.37 447.38 null ] >>
endobj
-439 0 obj
-<< /D [ 434 0 R /XYZ 93.716 142.304 null ] >>
+435 0 obj
+<< /D [ 432 0 R /XYZ 93.716 120.649 null ] >>
endobj
-440 0 obj
-<< /D [ 434 0 R /XYZ 93.716 132.611 null ] >>
+436 0 obj
+<< /D [ 432 0 R /XYZ 93.716 111.021 null ] >>
endobj
-433 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F75 330 0 R /F74 329 0 R /F60 323 0 R /F62 324 0 R /F84 404 0 R /F71 339 0 R /F64 325 0 R /F15 326 0 R /F65 327 0 R /F16 328 0 R /F77 331 0 R /F53 337 0 R /F59 338 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+431 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 305 0 R /F75 218 0 R /F74 217 0 R /F81 257 0 R /F64 213 0 R /F15 214 0 R /F65 215 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
446 0 obj
-<< /Filter /FlateDecode /Length 3979 >>
+<< /Filter /FlateDecode /Length 3204 >>
stream
-x\9 +&qI^0=U#ʶ6r77x3OZ9Qw@A˯~/D Ͽt_8&hΜ_.?]9Wq{+熿h}tF^x?})5 /?1"SJ%0ls?P(R2Rא:ȺZQUBuibxtH;1xI/ݑ% 0`B,9ZŁMJg[wD aݒ`S
-#Jӣ~콀fpZ?#"9Va$+Hbېfwuv0–fjӭ Y^a[4cG2\oؓ{"Cs]2-oQ%4, ӕz\@XzXhN(쫁׏%):AirV11RI,cqƂ"I[Sb.h*AL-ZlA*"@x TlF6 4W{="2ǑGAK9<BJkduVQ-*yOn
-bl"n'H@hO#ئ
-Oxm9FJ4 >۹&ה妬f^krB%ʴt#\YKA9RZ?$lzA&qtɍfy5 [nkć"!J1PCLN;e|5Z! 2+KVSe`&F@Hp8
-c83<{6nt^y|+)Z%#!kFJJ9+v6:.C"?40[k>%m*6c@x_>V7WaɼfA^w
-GWwTp/*n)JUCΦ SP1]}V~W)&=S)skAIUxKq` ^'U|~՘(ŕRd/"d =eJ[~Ѳe[Ësi)uG3^k,ǖPl+9̊B5Rk_劚T40j9:ov0X
-x};cF"uIx>bC L9O(qg+q{E夐 nwmխq7т/~ъ2+#W{SEtb$ˍLo/$EF Q +rX .'lj \F |fsjW\f H`d"钯z,C2?Ǟ0E3=yUtB(÷ηk6ItP^pjiY$~LVE到
-дe#}= 'c8dwH+ozWyTqx!$|^sRdZ%2i(fgYfZ4(Ei^xCN'g6Lk7$^ &Ʒ;asL)8 ]gNLq2f[O(E `i @
-7}$l ZO
-d+3v` uB{pϿ(iQd] D
-[ëӄHYKHFU}V.W\UWL0\Y#z+JEsyde_߯ġt$t<7Lę}X"MТ5`7-D+=ufpnq#;;$#<n!Tedk(id'l b%(XH<N(/[)z3?/<2!t[)bӌ7ҿnEǺ%(>aМ68}\{đHbZ')t,_A;,M 7/e߼&EҾcB+ѭOPj|%
-,OkApUʂQЈoo-@cߎIY
-А儬(_qi
+xڽ[K?`,
+4hЍ%eQ8H!dek ,@ن:U_2x3FTV10D BImF0_K(`FNdsxCJ것3+gMd6زw4ۙCslSn((eQh+^ O~o7T
+9rVQMSڍ+nj4?fT+`i5ޛk}}6gm޽@ qUwGv[K/dp0V 7yR53N:a j=קCāoOXI̬^bJ\|+l zV^v84Zh+1WWL#l.8g\ɑRЊJ_м; 7jh=RVDҿe _jX H1B
+'Zk
+)%Jb˲'e8ߓR䋓KZґP.BQ?E)
+r曏"ۖ![EX-G
+S{e.I4rqikڒ#S'L|ڕL+bRkfRK))2MKY&XUbkV-X6 Ҥx͐ Bet ;ckh0=S;4Q2$
+l[Va\"17a/-' 2s@SsI;kmKYյnve jVuvmZF4'f\f6'qM8Zv}^aDhgjg
+JC 2S>{
+b~f\:~iEV&g6$V RI:ȩ۱z]㺄+5yN=Mյy
+:{?
+iQТ+}!0A_%#˃
+V[C%O/+-ڹjs[nA#UFYo^VDݸW4SsQYOwŲ\jwdN$t\/ z_sʜi="F3񼢞"bv1T\S% r#R B]pHR+ܬ`*T3lOEqYtyt)'WM''LELP v
endstream
endobj
445 0 obj
-<< /Type /Page /Contents 446 0 R /Resources 444 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R /Annots 450 0 R >>
+<< /Type /Page /Contents 446 0 R /Resources 444 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 452 0 R >>
endobj
-450 0 obj
-[ 442 0 R 443 0 R ]
+452 0 obj
+[ 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R ]
+endobj
+438 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 544.571 226.041 558.518 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
+endobj
+439 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 520.567 262.242 534.608 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
+endobj
+440 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 411.45 337.153 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+endobj
+441 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 411.45 359.848 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 622.368 415.01 635.884 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 384.561 245.433 396.842 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
endobj
443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 372.316 415.267 384.826 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.636 240.514 79.256 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
+ >>
endobj
447 0 obj
<< /D [ 445 0 R /XYZ 78.37 808.885 null ] >>
endobj
-61 0 obj
-<< /D [ 445 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-65 0 obj
-<< /D [ 445 0 R /XYZ 79.37 750.933 null ] >>
-endobj
-69 0 obj
-<< /D [ 445 0 R /XYZ 79.37 728.314 null ] >>
+449 0 obj
+<< /D [ 445 0 R /XYZ 93.716 490.28 null ] >>
endobj
-73 0 obj
-<< /D [ 445 0 R /XYZ 79.37 359.357 null ] >>
+450 0 obj
+<< /D [ 445 0 R /XYZ 93.716 480.474 null ] >>
endobj
-448 0 obj
-<< /D [ 445 0 R /XYZ 93.716 124.629 null ] >>
+165 0 obj
+<< /D [ 445 0 R /XYZ 79.37 442.26 null ] >>
endobj
-449 0 obj
-<< /D [ 445 0 R /XYZ 93.716 115.001 null ] >>
+451 0 obj
+<< /D [ 445 0 R /XYZ 93.716 80.936 null ] >>
endobj
444 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F22 357 0 R /F15 326 0 R /F74 329 0 R /F16 328 0 R /F65 327 0 R /F30 333 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R /F59 338 0 R /F72 341 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F84 305 0 R /F75 218 0 R /F93 448 0 R /F53 225 0 R /F64 213 0 R /F81 257 0 R /F16 216 0 R /F65 215 0 R /F71 227 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-453 0 obj
-<< /Filter /FlateDecode /Length 3729 >>
+457 0 obj
+<< /Filter /FlateDecode /Length 2303 >>
stream
-xˎ#_ܲ@F+Qoa`=^ dԻUݞz\([,~7/yF]"L+}F0nr^?i8(spn_™+|](ɴXmu?^}o"8S .巗WV
-6fD6 8Z=A" 2ulx4#y-.ҡf6-A+
-ȷ:z&0Bđ.rW ,LpCDK
-#|g#GX~8?0>ܐ#/0rT' K.29478l]|#A\گp-veN s=oI}/_|y ]3ϋ
-.A9Dai8ݣ1Au$6gWa@o}XIAG
-m)pzJ
-Iq2afi %'Ƒ(N,WX̹g[.P9gJي-E}CcBK@`ι-FyW}h㕁U>Fr ZG'@wke27[&RAWkc=s`cn4s(ϳ65(E{%Np ?(Ö*,RbT#KmY,UZTўToϊkˊAE6񭚧-9yrjeb nEO,
-$صNmhdq'F̚{h+1V2
-:=UR`ax^N$QQA p-1L6O ֌L {#V#ꉅfo̪=7
-q`Jh{j&Vܝ9BȒe9Yit5[~\{F
-" ]V8,l^.[M.y->kTS#m|'ɷvlvz)\Q8NBˋert-g0y U|%~4XO 9OOE-")"GJr\jrNQ=R:fT2bTFT5 zݓ@3qkc8
-Rm d7NYb%1}s;eRUbĎʂbHo3-I'CA: F~[`NV̵[='Ce >?:lY<ԱM@`7HVõƥ4Lc]
-CqkѵCF~ü `k~Y<Sfaf<x;uݷ%p5C6L,
-6&̉B-HM ̖Gj2Izk=u%D(~Hx&hP"9$1խd(kvXf렭HۀMWð̖Z@w
-M}©Dژ=
-q@ 4=oDd뜞 /76 5v9)chtwޜ7U
-Rj+t#=&c6uJT"3THTZ1 Ӿ
-bF+SLN^"0۞2s񝴵>Y7'xw ٱ5tu4Mvo-{5=M_ur?S@#BmMn5n+=x Z ӫ;
-74JJJǃ:Zp,I{(XJCt9/EJʒ/|祡y 8/09yN|L9(89B&)g__)6-V/G#V4s>=)}0^}С@9/v'C(7ɦ»'wAχB fsCnkO1m% Bםݫ(t!IF똡m$ATGYqi<9lH|2YC_kJ/l4|Pa%ZWOGBDH3h!*jRGkb3THuE?愑xrH2Epre鍷ޮ5*+N B߸#59   Dl> ǟolA6e̿Kr2~U*k&c#%!woc* ?>A }Џ ȭRf($
-Ԯ񫳹r`B x]+ uAVJQdc;߰meyy:~빦6ޮ^< gx@
- }hls(hy
+xڵn,񮯘܊ 4S ݜ p<O=05/*<v.w\N;{zN yR''N^8(y>?I|
+R'r>p">bz+%Np
+k*L׿ݑmJ:6=uWqGI# 3[LP ZB*tg35J`f"bȦCk0 C24r
+JR+[o(3os5, %`ʢR]Uu.QioFK=XrtCc?f #~Y؆V]$U=)F}8 ]*#nb wNgF8=cl|q
+5:0HXυvz?Dqp-CI? hi*Dey-L@Ipؗd`hk~pQd-qlN5}I*['vʙY}H L,F;ݤ{NNx֍ _#Iv=qy Wߔ_[2)4PV7-/rX+a}`Nb ,Z(=X̲<Stsm-7~$60 AcZW*74}O=4.f3e/d/{X (ԥ 3Y_PY(/hV}܅rbsx+oɡlb h4\fhϿ??m=ۄ XEp7C黢 l74QtA!qU4q3a40 aܟsTQGyǎ:NO,&t1th ?J)sƚ O..ݙGPyU9ϔ:1#ap_߭{҄1_W՘tywB*號۫cwz 5>ţ)~zHG
endstream
endobj
-452 0 obj
-<< /Type /Page /Contents 453 0 R /Resources 451 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 345 0 R >>
-endobj
-454 0 obj
-<< /D [ 452 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-77 0 obj
-<< /D [ 452 0 R /XYZ 79.37 399.559 null ] >>
-endobj
-81 0 obj
-<< /D [ 452 0 R /XYZ 79.37 260.159 null ] >>
-endobj
-85 0 obj
-<< /D [ 452 0 R /XYZ 79.37 180.097 null ] >>
+456 0 obj
+<< /Type /Page /Contents 457 0 R /Resources 455 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 462 0 R >>
endobj
-451 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F75 330 0 R /F77 331 0 R /F53 337 0 R /F30 333 0 R /F32 319 0 R /F64 325 0 R /F81 358 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+462 0 obj
+[ 453 0 R 454 0 R ]
endobj
-457 0 obj
-<< /Filter /FlateDecode /Length 2663 >>
-stream
-xˎ_hY|>x<^ 9eз C(,Qegf[`UQ-=$^/_pE$N>
-O)!:}q盔*%)){g|~CjjW 3Z-\*ƴ"oC+@µjOش/@,&Lk1'PFO"w6cFP8bKFI8 A(T~%M .xS 7%(w!fƫΚ52.Z8EcNNs.\"prmDEBXL1x-tD@f We0~rˁ:Qt\& .]BxhrU1e(;0ZD\2q!aHCx(W9;,_'P}&O 5p]G!69rd ͢$}z3R
-\]weBgl#
-UM3cVWS {7n) kA 3A \΄.Fv)xLlL%b&3n鳬JzfYoRd*`x(J6!jAρTʍW ;cʂ2%5Y?_I2vIJx
-<U0B_nl}UB\dveŇ,F5 $xWc͍H|i|v^~NX`=W*]i3-BoMN evmos59{Z
-
-Rrd)E&DjQ%o)p2)TgK_gsv;¦:[ImkDU5ıSYs`gLYt]ݸbc
-ܤN' `a0RxopۦSkmR/uY͍ۤ~qZ`v[!rNieWIMr߷ԓ\߲jypH2f;uxIS+\48eehTr@2VHHX J[@O',b~-ӖuZCqcֈ.6ZPVYT}V|lRa)!f~SC*LRbT1Wo I5ӓҞD%v4H}
- 3_RW>eQmGx
-,ʵ=ʝ|k|AvI}@oW>-_^B2euīa_2嬤^piB;[\ఫ'Riggt&%Y)۸tD{ND!%7N `у;YOs,_zZT}FF㲖T7ӶRȾHRb-JIf
-[[$ui7bASyu^s^;E:z\\'<Rs8/-mNl}0YtWƉs /ԺfI{ymEo-b."4>^;|j)%=H Ɯ|N?(m'
-i0--X0,5}D VZ+ 5i#>Mݷ^HknS:[ٝr` rNx#,cSf6}G tP8o-\3Ö0HF52xA1"i}+PUSMh,B\ڢo\p0q? -ĮcoƼExWEȋCYh&8l11A48JFOtT=ns
-J1
-\D
-l> UfD=}/K
-endstream
+453 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 320.949 487.491 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-456 0 obj
-<< /Type /Page /Contents 457 0 R /Resources 455 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R >>
+454 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 320.949 514.132 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
458 0 obj
<< /D [ 456 0 R /XYZ 78.37 808.885 null ] >>
endobj
+169 0 obj
+<< /D [ 456 0 R /XYZ 79.37 515.126 null ] >>
+endobj
455 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 404 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R /F85 427 0 R /F75 330 0 R /F77 331 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F65 215 0 R /F81 257 0 R /F106 459 0 R /F105 460 0 R /F107 461 0 R /F27 220 0 R /F30 221 0 R /F64 213 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-465 0 obj
-<< /Filter /FlateDecode /Length 3107 >>
+467 0 obj
+<< /Filter /FlateDecode /Length 3557 >>
stream
-x[K? ,ƀs_S|ӻ;VfYW"ol|M3oOoMl3i7kFl_m<s~/KZg¹K7xNWB*Nx()jAWJ2/` Ͽ'|
-קA
-bڛQ/ ?$SW${fK*aŠQV员y[&7(c&գȇDW-\HTh\ҕpb~"NF_&
-CmTকxۥ곜4v+m͋ c׆LS4V)W?4BbQ+v-Q-F)zs$_IϤO9vIE¥FV(Okޥ#L
-ֶ@>x%Q6-GZ{\W}}̈́Y.V I o[ʓ 
-"h۹5^5Muqp9\R&I/Vz;!D1:<6 @(RTh\I"x|"!)tf
-0OP>kC.;_Y<-k AIWJcEQBygK-%wXCYMb{#P9 D3shAG6U5J_ G#U[s3^~'N"q>LV *%˲*_E[Vy[yBG^Y'h҅YBhKc=jF5[P=$$qPGZ!Xs"Nv&
-=Wق6 AU(KD -EK?򱾐+_YhumRғgU@\
-URM~&w{q@kVaZ -f+C7#͉:0Wzm<)x7YI,G
-CCgS%ScղyOQ_`OeA*돤?^%zoG13HY&>Ri"D((`.
-*3fqT;c% yhky;e|Z)"OQX+i9aH;=`sgstijm8<1tӖ9չi^bf.i!VziYIRC=Bnjx*:[qpkhhd;;[fþʅ4:i8cbƧS32"+\1\,0'Up똀&n L;i^s GO^xlܼ1g._}·<ÿq/
-^&xPru_@ǐzEԻ\(xw{[zyG<nE!:~OJG(<Ǚ L/)vF 8)<
-ޜ I+>mݶbwt<.G>9J]q7:{te*1J
-yQT<p)h0n_)
-=+t0g Tiփ]Ҭt42L1PJ-6n:kaKJ|lѱ
-cL[pB_V6ID-5LNRfk4B@{FE;m*w|
-;;f~(4Ә;mCo|bFaS~Ml+6#5/ԆѤ[*xr8#vB2+ۄ֘yB7um;*m:FbӞĽ_q#j=PVCDA$ 4ydvzz8K4ow<^!KCd|~M5uL9ē71E-˸R)
+xɮ$>_?0Di) ć}*x8~DQIQo?wyuIe7qI{3Ϸ\}z{/88?^ZMW
+㸢'ZyBZ57#_
+Gi4#BMw 3#; ? ZeBJk8)-#2%Š 'oyیpJ8YƁD:Ʌ
+<+e*PDjb?A!V'H 4 S&="H"mX@a|8zsPVb-TOͫУ )#I ym##
+p"2N?z&шp7k{/$ *DªHrH#Gp{:̵Ju| ^1Ep jLJ$4g^J¤\~V$DYU :((g: 1%݈J R10BRR4ZYZP< e1๠%^6^AJM>4j*Q>Nת0T
+tey'Q
+pY鴲
+5ZE
+֊KfʋqПL9ma&)4kR
+Vļ'f
+F0%8\̆.qԆ'v0wQJqH1Ҕɑ=r=&9I (h])@d\\3Jc̓Qgȹ0\;>@~/RI&(롓NeQuL)WxxM}Ra02Fyɸ)x H8Ad0]վ6GL VM4{(Dyz' GV lRS0L2^eq]K+HjxGq3+D#l;mYnb1+F6 7i/ LzzԒ{zє݋o(oL9J5]Ij{F+iЖt.5-'%@uc-Hmv]얘rEрA3ìx
+)}rHC#S2rSg@34V~lUe/mDjy}*kAUhH0ã56M
+j zN0*mJjG?sCEyF30`L[~qnQSl |9MHhvsagF4c7Mckqp/}`EQlj'b.L <L|l/-euAr'M+
+b4蛆_5lR4/n6) O0#wVSY;m6'ehJ+m`_þ.
+ ; b}+o<7p8BQy/AeOB6gXzn#pU4sj*v98E│<͹oZ,}_ 29?o۟%Lz}J SP
+ý5e/),>T1㸃s7t 4rLmnl{
+AZIjh"u7r_ ?5l{=JXǦ(q>Pud}WK}H Jd-Gk4>_mO1\SF`O% CCaOISBSq}L e3wp0d(= kjZЄ`AF-@j#qShuG+oa/}MՕ3='VlUY5|7J>^q/Na]e"ޖAlcv9
endstream
endobj
-464 0 obj
-<< /Type /Page /Contents 465 0 R /Resources 463 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R /Annots 468 0 R >>
+466 0 obj
+<< /Type /Page /Contents 467 0 R /Resources 465 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 470 0 R >>
endobj
-468 0 obj
-[ 460 0 R 461 0 R 462 0 R ]
+470 0 obj
+[ 463 0 R 464 0 R ]
endobj
-460 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 178.558 593.158 188.985 605.449 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
+463 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 278.812 667.892 289.239 680.183 ]/A << /S /GoTo /D (Hfootnote.33) >> >>
endobj
-461 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 540.914 261.617 552.869 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+464 0 obj
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 112.169 86.983 232.661 97.581 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
+ >>
endobj
-462 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 540.914 281.542 552.869 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+468 0 obj
+<< /D [ 466 0 R /XYZ 78.37 808.885 null ] >>
endobj
-466 0 obj
-<< /D [ 464 0 R /XYZ 78.37 808.885 null ] >>
+173 0 obj
+<< /D [ 466 0 R /XYZ 79.37 771.024 null ] >>
endobj
-89 0 obj
-<< /D [ 464 0 R /XYZ 79.37 687.041 null ] >>
+177 0 obj
+<< /D [ 466 0 R /XYZ 79.37 748.222 null ] >>
endobj
-467 0 obj
-<< /D [ 464 0 R /XYZ 93.716 85.17 null ] >>
+469 0 obj
+<< /D [ 466 0 R /XYZ 93.716 99.261 null ] >>
endobj
-463 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F85 427 0 R /F64 325 0 R /F65 327 0 R /F16 328 0 R /F81 358 0 R /F75 330 0 R /F77 331 0 R /F71 339 0 R /F53 337 0 R /F59 338 0 R >> /ProcSet [ /PDF /Text ] >>
+465 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F16 216 0 R /F81 257 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R /F59 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-476 0 obj
-<< /Filter /FlateDecode /Length 3489 >>
+473 0 obj
+<< /Filter /FlateDecode /Length 2900 >>
stream
-x[K$ ?D
-o)!}]JtRJ4/-{$DޞBŚ2>s~_LJ:Z ^Ldm:$onGC{q-J'NznB=BEyPwWYV:K TBgTv;!!vo>Ӓܑ0nN˟I`-W8R+) LRUJ>
- I8m&8a9Y9i( $Bn?q:^5Mۿ2ZU<_Pҏ6iRE%0 $ZqkE zzJhj])!(=չjԬsR㉓Q+}` /ާ&1άN!26Thp~fn> Ima@uk:C;Vn|ӊe?3TJDkD~gܣLghhWy:ftPOX}u Pb L0X]xnFDPMQBa6^ \üFM `$)gwm 1CW|Xe^ۉQg'g$ݮ:MOS>-CWt;8u
-=B,
-(|cB_3Vxtt1_TӜ۱e\+q^ݝ\S'LiY^j%Q?ydmUϫD#w
-dT|9crҰL'%E B.LRjR4+t@*_brt pVI,udXiW-y<*\pSH p{*Ԙ9
-Y+0JZҀx]Ꙋ!WxJC_I3[,Iٝ\s7s4򬦯p4V`!w.\tl85
-.}Ī\&vN@p|8sc\&>zD`e՚,#;y_fު2-xRVy|{(Ӓ|
-~r&%am18ebZ.rd햹ivsgՓ:>CD64@N
-~*Z0d! +S$1͜z ~\!Ć_C8GYEr2L\τ퐝ٍ֍٪ sO4f4we~jftH) 5P6v59sb:DaQ81yuE]H*]THj\ea#Sl՘jʋvQ(+yO$&ULyU $T_2J%Zx0*XuS伳Y۲d'ս;`,:-s}Hw%dy@5bUЏr,:lfAYpc:m̷y?W)ˬ1'19p{9jbSm@Hv•@vEMNJSu;]KkakVc~ΡR(Qo:Oou]leȴJyC>ރSG+ &Py;WVgPVzh<x֖B͛Iw̓
-&gJF OaR*O
-^ؙAF ӹ@wcn55x\6? !P'2R+ss!iYλU`D
-O.蔱
+xڵ\K ?0%؜maw9-[d=;=rᦔ*w{׋_M\*!Q~IJ.RRWH͓^q/o}зw~Un?oW%zP]%9!0HD++7 K8_J7U'm/cׇ+j jBɂI1iu*)WMN+h Ẕ
+˖d,o{ƾ2X` +Ϯ3*Lvh+nJ"+N$T6䉉Ǿ^=]<ՖWW<6kJ$Y=j*n
+r'IUFFGbh
+|)x=3n?塭0` vtZX㿎jߦxm?h"7/N^Wr폛 ZxǦ/[ evONpq';X[t :IWu@5Ь,zaQm4K3]G/8fB8=^-p͍c;٩(l0g+Dzj%d$
+nlU?^vPt"67*~ݿBW; 2AIߛ|
+twᘼ)#wغ:[T3%WV{'
+~W jhig*ݫU?mɔlnl 孾cgC{-xl{uV]@1>9 UITc6G?C_ҊȴK+6 sZşe"}</6fҶ7gcjmTcΥ7MgHYd&[)hmԁbl,EB ;*C,씪w!,ig_E~W/4k3*%X*/օ]
+&^PdaL
+s
+US2
+~$Qwsr8|}GZ<: [7:ɕ%7rB '~;VwtC;
+顆ۀBBdcU' 6:@|w qyJG$m siȕE_zSTfW
+ݝv9Sz$ŋ\9<\-u)c?V<N6Dj|Z6X0G;ػ<SGHihwpؤ 1j-u 3dbLmS3  ךI P1
+51 `}?1- !n ZSյ
+*n?H^L1:=Iibdeۓ-,]qHLPw`6Il|5Zg1(ΈirE(!"/|NC]Ungw1vqk)5Z3WDLC~SLw}v PBYָIDYTܐJc$H@8&ܛf&u `97W"+ ~Q݉$hEŀ1T|@Wk:eD ]Y+m dfIxB)Qxgb#M84,[NMzL&wg꒛Y:QJ`K2ixp6
+ANmfg&B:
+W!a+p]IL_ZDάB2#mN$>}
+|yRMXxdVUsUĥ(c;4>5x i(4 ѻxJh$ʨw)Wjcp*: i+>WKR, :lh
+(),ӳN`Ԓ%MdIN-ȓ,O᱌;
+<Veqp$)X5(,':ܮyrP:5v Д6?hC
+ xjXd V>9 z؊h7:#,*V}$l8>⩩T _(K'xO~dڗ
endstream
endobj
-475 0 obj
-<< /Type /Page /Contents 476 0 R /Resources 474 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R /Annots 479 0 R >>
-endobj
-479 0 obj
-[ 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R ]
+472 0 obj
+<< /Type /Page /Contents 473 0 R /Resources 471 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R >>
endobj
-469 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 463.247 367.988 474.306 ]/A << /S /GoTo /D (subsection.0.5.5) >> >>
+474 0 obj
+<< /D [ 472 0 R /XYZ 78.37 808.885 null ] >>
endobj
-470 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 463.247 392.894 474.306 ]/A << /S /GoTo /D (subsection.0.5.5) >> >>
+181 0 obj
+<< /D [ 472 0 R /XYZ 79.37 771.024 null ] >>
endobj
471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 156.649 445.647 167.598 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
-endobj
-472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 156.649 470.553 167.598 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
-endobj
-473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 119.497 356.686 130.563 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
477 0 obj
-<< /D [ 475 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-93 0 obj
-<< /D [ 475 0 R /XYZ 79.37 617.69 null ] >>
+<< /Filter /FlateDecode /Length 3101 >>
+stream
+x[K$ ϯ?$R/`1dnO6CC*J*yA[%Goۏ/oB00?^7q3-g r^? 9}OxG~ FN#oI2^>~DY~C
+Q+&L7SN& É)VY,GLnpDJsl\ (SzӫNzKEBs[|<{+*klo>gymccx\tSadx)I{dq<0T7G]MsU LN o$:g3xzXs)yTBCW8<f􃅩#~Uѹ4q;+G,GiBL~Q2o9+
+5NP* ܊@Vv%
+$} PiWE}+svIoD5ٺhA*~ZW">wMo?Վ_AQrJ?8NLruMk J|.8Z6Y02{
+_GV/V`PVM0U1,EPpG-O͍_x+]U#|yҧZ5#jŊ{
+#aOXnLPSH.SuT0^*A[ JK=Y[54:KL/v[Xٕ
+ȶsvaѮzʴ2iYWWPd1iHGY/uG'$\yquiײaUq10gZ=.}VgNIn+]̣{5S`{\T9+]T }Kʸ'-W"a:FD!,mb1Էn*k<R)l|hWR , C=fVW`aAUHPbPVOFxr
+ mHUҏ㥯&WLA6hTuQ8RW<x<\2'` I:TN
+pL{2\SIڟm*h2U
+sܯt56c[9!KRkq!7Wuy0M \ 5$tH9*_&ĻD9#ޞ6}iSVKg?Oޡq[dd
+endstream
endobj
-97 0 obj
-<< /D [ 475 0 R /XYZ 79.37 451.013 null ] >>
+476 0 obj
+<< /Type /Page /Contents 477 0 R /Resources 475 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R >>
endobj
478 0 obj
-<< /D [ 475 0 R /XYZ 93.716 99.26 null ] >>
+<< /D [ 476 0 R /XYZ 78.37 808.885 null ] >>
endobj
-474 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 329 0 R /F75 330 0 R /F64 325 0 R /F15 326 0 R /F65 327 0 R /F22 357 0 R /F83 403 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R /F59 338 0 R >> /ProcSet [ /PDF /Text ] >>
+185 0 obj
+<< /D [ 476 0 R /XYZ 79.37 771.024 null ] >>
endobj
-482 0 obj
-<< /Filter /FlateDecode /Length 3177 >>
-stream
-xˎ#>_}X, V;S9q)"YW[wĀ<R7Y7ϋr;eSz/6e%x7^Z;ح׷OFkM|zNxd',MuԼ[zs|=[ك3]]x+:τq'(#(&7> ,So # t }  t|3do{޿L7z +;<M;`@Iyζ?3&oQwnU` 致Bhn62"*Ln.4|p;Y?VP5P0YJ7c;Eh@oX
-ynd#=f֤P֨g^Y}JVCGhutg Nb2W`Uoz+^EX%ϲyo浨wF=5^?!ĿIMTUNm zw|e .zlX
-|[wOW)ui/>|.Q5WXeƃFf:p _4`rV~<~J$^8GHy3{)J
-ibgVs\5IWu 򨶆MPzİnZwH*%C?6 _褺n3;>tE:pwCbG]&
-VT3L\4#p8P ]b&9<@lpfS*c*$XBxhQYa5헔LkU'RLtBQ!}@~w/ NЏ4`s9xެb^⯄,yR2)'&'*$ '=J{\R6 צ.f׼@F[̳kWXR(
-J~#<^AF8'6 fCw0CES8KRU{6O7IeGۼEzSSv)e(iV M^ysGKw`υ]ƅ򛚒8IeAj ԕ
->q{p|aJQұAkZY!u0\=bˌSeZò8/T0 羭L *
-}JZ~ݜT|}-J
-VFTҨ\Yu
-J ?^`|S8JJ\7B\;?7_&'?A{ʯJ x)𨤍D'm,eY2̎Iah޻gW-
-
-rxFRH■gRFZ .ϟ|܏qzLOl[+4,)r<tg~^'65>υhGBQ*DZ"lǵJƶVv%P1T<q'l{`Rfx払5Lh??cBDG>vWC31"vP=<t:`)t
-gۺ-8
- |[vTv;q]CwFٖ}hvИN*Vn  |y_X2t[l
-5Q꧳7Gxi[%K&(?HkGأ[~Z:eq9y'64Y5P^adbCedY9#6ɋsp
-]LGRK\Zh%
-ߍtb_k%?W> !#a$skU<|ɀed
-21ٓ2t^KqQosu~)U ZwYP]%}W}>)Rij:_yzmt:c)A3va@yzܝ<vq5y\ͳuq9/.#h8_ Phg,o
-ʞBCy 61
-endstream
+475 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F80 246 0 R /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
481 0 obj
-<< /Type /Page /Contents 482 0 R /Resources 480 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R >>
-endobj
-483 0 obj
-<< /D [ 481 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 2873 >>
+stream
+xڵ[K$'?0G𒬖,'}|Þ;W&PU_
+t6i>*uIIR۔rw7-/oI;?VA2gIUk 6箐uiwhy2V(e{'ʨ׶%'4] 6ɈRҁ&8ЏߥJJ%mC¶6L{Uo! ->M}n( n(E]嗯YrLZeiIeI`Hz$ۚ$3pPK.!nzU"-(*pqi~?bp&A.P P&d%)x'o
+f%Ӿ{-: [Yaۖ,Ww`jLrY-DH4f-3Qz GyZ>VUBMbAJ,Ldj9jGfNLo9wJuT2ޚG܈|Ǚ.ĥdH"[15c ·*,8=[_Y؇O9mfH~x:qbe7ϭ?aBm⪳V\ȣ| XY9
+ܻNJG
+mg98%uOӔr0]Rbƒ>[i&9& mbeO U<w:Yފ3
+Oԇ!8>e/9*ͫ,Xr e|ՠ"yײ\Zi3z1q`Ҙa6{"_MUG _VJ0.M5&f[Ԩ=\aN`9UL Lb;S$'
+12Tz8z̗[GkL)Cv)Qx95230&ֈpNo$Ő{- z$e1`r=r2C|wXԙckd;vhN2IVd 9(i0SvK5[XfIk*rõ%t+GQŽ!5v{RH;ìнms,}9i. NQ+uqjc̆e0h$Euz#ļ "QmuIi$d
+^6
+/j4
+:$:J#YƲA if'Q<"G0Ƕ׳>0S|LQcegT 3!UgPG;:qF -q)i^kO4Lmpun4f>XIG۹lBe,~MiV^3Eq+)^9.Gf_ܝXçNE\%Ø
+endstream
endobj
-101 0 obj
-<< /D [ 481 0 R /XYZ 79.37 771.024 null ] >>
+480 0 obj
+<< /Type /Page /Contents 481 0 R /Resources 479 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R >>
endobj
-105 0 obj
-<< /D [ 481 0 R /XYZ 79.37 555.106 null ] >>
+482 0 obj
+<< /D [ 480 0 R /XYZ 78.37 808.885 null ] >>
endobj
-109 0 obj
-<< /D [ 481 0 R /XYZ 79.37 186.744 null ] >>
+189 0 obj
+<< /D [ 480 0 R /XYZ 79.37 771.024 null ] >>
endobj
-480 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R /F75 330 0 R /F77 331 0 R /F30 333 0 R /F66 335 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+479 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-486 0 obj
-<< /Filter /FlateDecode /Length 3041 >>
+487 0 obj
+<< /Filter /FlateDecode /Length 1292 >>
stream
-xڽɎ+7_hE4 LNy[` DUzmDqI_>^~xs ,XiE\\`][qRqn9 |]1mӻ, çiT<,>Q97HL酋qK<-MՃFBFe/ *L|g1^ s =f29<Fr$:I43BFT8Ln$Gс n' U)5+ n{/;7h2*M<2,LYC_]Ҧ$㲐&^"8-!7gmVMlȤdZ0![r(U.O2YVno\^ 0HQ"1{p# %AnqLP iTBkxf_ t /ןʮHfͺ:Ljҿ< zѪdL)n-(ŌK+qXZ{U"e>पRo.nYU60nL
-+HV̨ql:!
-4ͰLV7[/9A^6L肥E C
-XX0h[;4rR(aOlC6Ah
-@\zI%Omx q.#U&3+(.b"Tδ_\_iP3yDWv΀SHkTTqT$!W['K$5UHڍ t0cDR'YfFFD$հª^&DhEԚRFTMOb1vXk&ufD$Jv݀*q0RJeއ*O,Vⷡ_L ?ҩQt97HTo4W럅J1:eVՐbmާv"5'xY,\.ITd}9U2LS.rT1.dB
-`S~*W{]E,EM5L>1n!NTFE0dn "/ NngMD(Hh)
-f/:#x22TT4t511Ba Դ%'p$Ƿ܏ߨ,,S!ùNJͺ( BmTHwsj /ﮒȅ=/L֘oh" (RB{JЋug[C &<YJk
-K" +%3<`fqsq wn䤋S2q!#<d
-qy',cԜp}*\nAV4qHԂf,
-\IXBdmg>R &@tkNOS[qN#1M3\>
-<o:!c7(qȵM U:etjԃ|.H-i}䙖Z2 ˆaO
-Vzdݙ#ߣXr
-v?9M$A@u4扏L=U=cމvB=`\xܯB
-'?W}?ɯ&i}omx/&JN9XCg`]LZBSM26at̒6,"?J"p^3ԃs%<
-Z;]銶<2=b383
+xڵX7+&  G7ٰ{;x6ɾƫu;}x|upmӧФZ+;~RENj^QB5N_>HIRj'%R+| BF]o/,qKJ;!HW:N/?'/s0FW'y` j:? 73+Lb,UXf."9"H19TKk"Mvq 6`t1)r؃ZH·> , ]Hn=.
+ApL:A7PL9aŊY-xEZs -45BqhOt /ڢtJ"i)2(
+ qaC^J{ZTdr*6BF_=H8Nũ\+h,a~W1k)6[UُRdOG-nU\*Ү*bϖ酵~Mq 4X+ TBy7ioyqӯ/_o|}O}ۈ!~9u,Z$137Uxm^ۅv`ZQkjg&UnDX-4tRt[(o`?A9i(cnntw)[.w̲ahtI %by H"a|̙{i{l_-˚GPìy^Xs|Ӡ˵
+1bLt6:П~
+Ë]د?LaR:6&=xR|T yljp  k'ښ؝@mעаi%P Ե)Y٥QrrĜ1Or,56 7S9t಑USV
++bqFv C</C(
endstream
endobj
-485 0 obj
-<< /Type /Page /Contents 486 0 R /Resources 484 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R >>
+486 0 obj
+<< /Type /Page /Contents 487 0 R /Resources 485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 489 0 R >>
endobj
-487 0 obj
-<< /D [ 485 0 R /XYZ 78.37 808.885 null ] >>
+489 0 obj
+[ 483 0 R 484 0 R ]
endobj
-113 0 obj
-<< /D [ 485 0 R /XYZ 79.37 456.212 null ] >>
+483 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 263.782 468.798 278.507 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
484 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F75 330 0 R /F81 358 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 294.754 468.798 306.709 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
-494 0 obj
-<< /Filter /FlateDecode /Length 4268 >>
+488 0 obj
+<< /D [ 486 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+193 0 obj
+<< /D [ 486 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+485 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+493 0 obj
+<< /Filter /FlateDecode /Length 1309 >>
stream
-x\K$ ϯ.JXޙ6bp RU 6z$#J~pE)cx`2)qъ.?~TO{l/u]H_u+/XIխWQ_>NTlL ?8)-)
-rwFgD0R-Ғpߥ%@U8\Y+}ljb@2ڹV8`h)n3FUYѵ+s}%Z(o鼕$ջ??>-AO[rA il!!Njfc&Lvmu#0 0"X=]o/E[/}`qVz7u=Jm?jl/SQ!QT6\
-
- ՓYIj۾. trs'RKI%[#DPd`3g&i
-ɾ݄
-F g|4`h` Z n=2؈Q @l%
-UAlpo?_97J]_
-6[2S˜soݥ!JϛBnkaY)RN=6AZ\lzLS;,9T4!Q1 C/gք. P_Έ'C
-_qa [2=sIu )$q@,>q4 1/#zR)}11]q=G|8k4:6f1{+9pF#XAo'*Pq(*0ÒA'9\&+˹q\i&ŤKcz
-P$[GK(wEAɾBZ#UVpVĴ*\zP,}>sgÉReZп nT1R(m;\]â´A/Icz9uY׏&̖BuZ~%ȡYc`Mrs`pX#;Zadc /;Ђ)V׋H;kpu ~tP~`cI8zs sh9`8QDT΍fl Dה S+[ $|ApF ]B]zĀ @
-O,ɦo&gW5Y=b+ SH"{f!o?Z}^zľ-ʹtKr sîNJ1Z^V x+g
-6P+@mh ~ąD>] ~aZDQ%m se!hVV ߷Mp0N)d
-tWkĈAVa#%{qOJ8zl=[VER² ~Lx]_4SLU֚)sZ]ԓIsY
-|SG9S"KG 8,sՂ b$h h~/PK/M>]1k:,^\֡Y2t٭gM5m_C
-ޛΔAp fכ 6{ڦ"jw"7PMPDxJݞD[kp@NTgY?A;0EU+3|bjVZ'WXJIŁG=$~Zg1Hfp-|>FוV9 C(p}jtb4U0 ֊^J%mם=#꡷!$Pmw;;d2~ cನ3"3LBcK4=m +υz.[NMQǨz :3y-FjC/:b,9?.6Z+qD{#yp H0aNi+(*o$44濸N|
- tHK7=e+JxAmbk퐰F7'RL kO|#&<L}&YG}>EXv+}[SOcpwU;`ZN
- Tn`ɽ{Zonw\^:#YRWUU0!WK"TP=7 N =7W@z+{1sA_Z"9+!;Nu#\'\"GRYLWֆoQ*𿦲]ח,3l!dZ^ϋsGG @*Uuh8# Ee]QYn^ȫkN00d 8[7savj꾗lnW(F#;2aW;j0G]{>irΕpnf:dlu'!ǔ!݃#gq3Q5M(e3 Gk LU,kOO2fbyXC-Ik 
-|PԛetE  Z(2o
-
- `NdGjl6VoUΡi
->!HV3Sa#+ͬ c}CXf8amj(3n'xv<^0+j.;JLWi_Ci]͹Ե;T\c}+ 'NV0a$' rNzN{ߡ#maR^ fbZze˺^GvO[)6h^ˑ%eDI7F<~%~0O92 F fO0*@NCz,l$瞾Ķk,
+xڵXɎ7+&; 4F|s 9ؗ~{m MV{H:4OnJ +%lj:A[#T6|9S*^)R%F)!?_n _qt9{ 0q6VyDK\?Î _3%Vb!3A83 rOqgMᗴAKҙph?pA0֫Գ  VX237NzE GQԒ?YX 9m-S$$nEB:/M$P (q摊&TѮ TǁGǶoļJy!`N`H!]~Xs~,'% :̯~eF+-7H43"&Wņ9m]]Jz>|]Zk(C-'EZU{S;lb)0B+z~U2¬0"|v|ߧm6p h>=l%?XLؒu4 Kn(gXM3TMCW$GZ)%$IZHk UglqD,Ai/lV[4Dj=P'q64Ѵ&sXc)'{ka;!7kmBxƁvXpS0@@VKdggv`vk?Jy K04?""m;lR;zd)bF߰'ra6:cFcC,t3 *>,<phGrL]MÌ"vnj$JMJ7!fʖۊn(% 2B!&SwBV6S1yc,1H<m>X RPc_Luu^=4wvbSZ-y]aGN ]ֶWa$ t+ե̮Yty͇%`x_ANgdMD%
+6RKG%G)*$(~zx KՄm^.3I_^S9#đw?EBxg;.-=GEe٭ %FtJ
+fNj+xsn;]`X¡YbmD 'ySzyv=Q"4_
+ܽu!CɈ3M
endstream
endobj
-493 0 obj
-<< /Type /Page /Contents 494 0 R /Resources 492 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R /Annots 502 0 R >>
+492 0 obj
+<< /Type /Page /Contents 493 0 R /Resources 491 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 426 0 R /Annots 496 0 R >>
endobj
-502 0 obj
-[ 488 0 R 489 0 R 490 0 R 491 0 R ]
+496 0 obj
+[ 490 0 R ]
endobj
-488 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 580.298 275.012 592.818 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
+490 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 254.015 699.315 260.989 710.274 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-489 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 558.928 328.752 571.219 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
+494 0 obj
+<< /D [ 492 0 R /XYZ 78.37 808.885 null ] >>
endobj
-490 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 312.764 261.384 325.284 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
+495 0 obj
+<< /D [ 492 0 R /XYZ 79.37 771.024 null ] >>
endobj
491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.327 222.222 194.753 234.513 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-495 0 obj
-<< /D [ 493 0 R /XYZ 78.37 808.885 null ] >>
+503 0 obj
+<< /Filter /FlateDecode /Length 3327 >>
+stream
+xˎ#>_X,
+/)!|哒RO抏 ~)5qQJC6ܪ?^Z @K5~'ZVs]52FEFhOf# 7 R63'(PX#J0W:&
+|1Cџ;GƷg)X)IṔA KhE0W+cVu/0eV00wŒBh[]BG3FAh pOo獈1,C†L:T]P>=5e,B5Jy_Y\uہt" ځF;Civ-8vWpf\R4?+ޭ:qCWũ|jV «KR[1=W+c Bn+M%
+u(J[E|DC7;-x|,_Y<%l]OrG$8UC -P z-FJN\Vcf5xYZwU8c*tۥ/DYD
+ÚfkWT@Z$X Co-Upk $lBSu
+V:|UDH0qGf?`Jh
+AbټVhs!?quyPBd m"s2 OVE4c`%ƜexFf6j&`pku[le^7!'%?^hmZL&ZNcj[bQDRJ*MAK-.iG4oHF`.8A:L@<5ȝꪾj0gyHC@MyH8C[9Qu SFƩ(7U*leɖոo+ꚅڔ(q?v<O79%MUhC" EX(Y]%@8ءS<Pȫ5ʺ"X*j/cDjpt~l,Ȝ3[-(ƌY(um^{9r4ȼ$7<5-#D*⻙.nvԥe"&qG|NxȽ_krx?s'
+~׉7\`>|Rs.X̚5]|xNs!yQ(΅
+0822Gt(X*ߖ^}p'D=C_ʆAM ?2򆓵(p[BJhTIVO̵S%f1D+WEf!|u}\`]{|D6
+'݇sΪIQ[Iӿg t_|c7w*OkrfՒOR߲ $mBϷ$'AZxP^j'ZGLz
+성su@<)/D"`:aQJ;u*N%?5*qf(Z籼PCOWTT}+<9wtfURG3a:>ʓý@l<Z wD w*7qQ0}yhMișayágm֖<5Q T=̳y} ]w7oh:fx!r~o ;P.N);r: Ւ
+>/7pZ%ynZf\ Y>L婗/={fbM}fϣ"UAp͌Q/69C5 -=. !XN<')U@M\v3ý9&rLɏc0}lB*C//'V(kz9\Y偔vƒMOqG@Mkg4n#7I.WF(vDkj{Tz+m„)[ 01a,}PaôU,jfz*L${Y3:s]UkvlFuJc5)ʶj FyVDZ}~q>)9̫0@S)e]_i/]Oןh8.ttȅNŜҎnI)l3F(w&A^vu=D DІ7Azvk5oPnZv2<wľ<P*ɗ3-rNQ2F6iFdg'U_AZ͌}! J@@5MMPd ^sNkj[[J X(Z!vHomٽSޕ9-T\Yf`lc`Jzu桌m  CrmsRaYt/L^ǜXVhyv+Ճ-`ݼJJ"]mN$(ޞ;'Л2
+endstream
endobj
-117 0 obj
-<< /D [ 493 0 R /XYZ 79.37 647.13 null ] >>
+502 0 obj
+<< /Type /Page /Contents 503 0 R /Resources 501 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R /Annots 512 0 R >>
endobj
-121 0 obj
-<< /D [ 493 0 R /XYZ 79.37 536.455 null ] >>
+512 0 obj
+[ 497 0 R 498 0 R 499 0 R 500 0 R ]
endobj
-125 0 obj
-<< /D [ 493 0 R /XYZ 79.37 385.576 null ] >>
+497 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 384.187 623.97 394.614 636.42 ]/A << /S /GoTo /D (Hfootnote.34) >> >>
endobj
498 0 obj
-<< /D [ 493 0 R /XYZ 93.716 156.595 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.594 531.297 226.29 542.485 ]/A << /S /GoTo /D (Hfootnote.35) >> >>
endobj
499 0 obj
-<< /D [ 493 0 R /XYZ 93.716 137.503 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 224.825 519.352 231.109 532.078 ]/A << /S /GoTo /D (Hfootnote.36) >> >>
endobj
500 0 obj
-<< /D [ 493 0 R /XYZ 93.716 108.887 null ] >>
-endobj
-501 0 obj
-<< /D [ 493 0 R /XYZ 93.716 89.795 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 308.511 508.283 314.795 518.575 ]/A << /S /GoTo /D (Hfootnote.37) >> >>
endobj
-492 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 342 0 R /F75 330 0 R /F74 329 0 R /F30 333 0 R /F27 332 0 R /F32 319 0 R /F66 335 0 R /F68 496 0 R /F55 497 0 R /F67 334 0 R /F64 325 0 R /F81 358 0 R /F15 326 0 R /F16 328 0 R /F65 327 0 R /F22 357 0 R /F71 339 0 R /F53 337 0 R /F59 338 0 R >> /ProcSet [ /PDF /Text ] >>
+504 0 obj
+<< /D [ 502 0 R /XYZ 78.37 808.885 null ] >>
endobj
505 0 obj
-<< /Filter /FlateDecode /Length 2595 >>
-stream
-xڽ[ˎ+FVd]moSdj6%M\IzT-"r=K9.E]$.>
-/)!oRVUJw.uTiZ3xY_Z)oh!:L}$O5ɶ棣PF9=S?{IPh'kOx x>ʚ⫼
-oqŬ_?&es`R#'&/&TU\WSɱ/|Џ1J<9Y)IxoRlךvYs{ց0Z=RW8gGQ׌8cɌr uɪ!qJ{\
-k͎:h l;ZO^LvW3ǚfўmE3V1_I.ϡ|#Ҫ|4es5cHEq*;v,Sp|{26N8&3u^[X;'BP*ٝ{ c튳H/[0&U_95樊'gӗR_/Mqu5;,u5wo$ ]ՌbZKbP"jsT ''bJ6AftM8:%>ݏ_QznQixk[$TYw+Aϛ 0XDTYPV)Ts[OS~)1i216Nq5|o,5=+ npD[)X LŔm
-qg[tIVPӍ%]# ;
-fAAvsW>h]Wqޚ$y
-[y~TB7KЌZŗQZa2{i§tt9g, 2\h +`*,^
-KY25׷/ȥZzhK>ɇ;"c̡1MtB+O*`Q-^y+Vt X)ߩXԻg>pI5闹~kQңcF0/fNljf9qsNm9ZwjLl<Dir`ګ2 J`\*=ۍ2BbM>.~Nd?6Ƌhc_Q! 񁶑ԁ,mNCp1ᴲ
-8`Cˏ<
- =F~݅y`bh+߯9;%8:7]7ߏp9T u<ZEO{&*(0! CC9T??Ub~R8$̄syD6%q mikl
-Ti,,+G~g4 YH=eE8+tGӈAYX?%CՍ-#gBNdvOõ!]1SȂ~wE*ov4$>1;񃘿xVtGmI3"中xV $ú,&{|D|2>eq:
-endstream
-endobj
-504 0 obj
-<< /Type /Page /Contents 505 0 R /Resources 503 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R >>
+<< /D [ 502 0 R /XYZ 79.37 771.024 null ] >>
endobj
506 0 obj
-<< /D [ 504 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-129 0 obj
-<< /D [ 504 0 R /XYZ 79.37 559.897 null ] >>
-endobj
-503 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R /F65 327 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-516 0 obj
-<< /Filter /FlateDecode /Length 4194 >>
-stream
-x\Id ϯc|ڀ
-D9# Z>JC J*8C 93t?"谰 6PFs6ZoJh-
-FZ Z_4 5ٯ#LLLSl}&WMZTejTo߀[ԩ*R }E3d^U]^۷4s~V(OT.LH}2>H VF#5ZRvveU%sk uqb LL3YvmFUZgIwy "-36ܩأA ˰:b%<d8M/J莄IU]::MBiOg<;9.H˱4Ǔ
-ܹ>AN^LғE,[;oEDui(Y͸ 6ԛ+0<瓖3)=^$tm6+eD>O2 u{<>w'dD$~*gjod:hs#& AD,5w:r N"T>6WݿSc*v] Q-C0p ̟qpV &‚[*X[w$.WrfAfw8+c;S~5"5q DžZr-k1*A <q̴䲬 wpQ*rqsّUr~U*sU0/,Z`Z1~ / >GL'&W&u9Jϭ]$-WI=+_g[ǝ1 'G(AL-t~QVF(o{- ]\{/k#<ClvW5]RG,2ȡ4{^ z 
-ymd3)`1\=v4 v^ 4FM> ,* (^l|/4*pZ
-63 N
-,T>GXe/W9LsLDUe/[AOVK[[Q^Xi(;og=mdnSןI
-RaƥrXHI/L
-tPrF8<9r;sGM\淅 @Z;hpOPߝ1Xn57>팺Z/23tY3ZͲEK;e|@GFƳX&ߐ߃یTO5wP (!ռg6闄bZ
-%{O?ebL@6%Ri?0Xf 4ϊ9/$f[gXLkb4qze |~KQ-KmY9)Ni",ӧgށ
-ҴSZZD7գz"И~5ssVͭlI9gMs_k$(\kU&Bݝe4eag L2.L$iq%,)&\,6oO~CF7p>{ :N}
-:r! v(u14!6_ZgI(`@ Nc\6(eMP
-,wp_QL1zQu}TkP`ss9XNTjш;
-+}[W^+>/O!2nS+O´S2
-jӹm}3rF;眍u^JE֭|@RdΎֲݻÔGע2TNoIa=QA
--EҨ~מ9U?E°<
- $gf1%wNGCԯ$R%98{%%5gJ\BBe
-`rv S'XhM;]
-DyCQdC*F@ZtZʮ)DyM4N
-GXnQYyRD[{]q}pܑ-/Er}v-+
- {R(WR)0/|4@8B T j/f6Z`4SO:]ܣ?&R}^,)
-_qGҜrk29L t$6x]!?_3#L:av6nϻ­̹(tJzQ6n0S)7hO|;-/{pz:+0Y[S@K/|^(
-IQI}j:P(QFtn}<M7==0ƨPc楜c^m-*&_`{(F-~6G;-6=5Kj,XT_<[fp]:Ifpu7Kѣu[T;?GڙF:Xp/tY̨:tү,`*wWc͚xm0|;\J?(f1F:d7Zm6JNF$>Kπ{/>l|N+Rtta? g;O- hIscV;X|.u4ӡuVg1 _w7
-:k-&PzNgpfb-rLPI'YD%${}
-endstream
-endobj
-515 0 obj
-<< /Type /Page /Contents 516 0 R /Resources 514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R /Annots 518 0 R >>
-endobj
-518 0 obj
-[ 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R ]
+<< /D [ 502 0 R /XYZ 79.37 705.06 null ] >>
endobj
507 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 133.218 514.573 147.943 525.522 ]/A << /S /GoTo /D (subsection.0.7.3) >> >>
+<< /D [ 502 0 R /XYZ 93.716 227.357 null ] >>
endobj
508 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.664 514.573 175.619 525.522 ]/A << /S /GoTo /D (subsection.0.7.3) >> >>
+<< /D [ 502 0 R /XYZ 93.716 189.157 null ] >>
endobj
509 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 186.413 331.744 198.368 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
+<< /D [ 502 0 R /XYZ 93.716 151.299 null ] >>
endobj
510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 142.577 209.241 154.532 ]/A << /S /GoTo /D (subsubsection.0.5.4.3) >> >>
-endobj
-511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 142.577 510.257 154.532 ]/A << /S /GoTo /D (subsubsection.0.5.4.4) >> >>
-endobj
-512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 73.058 369.413 84.346 ]/A << /S /GoTo /D (subsection.0.7.5) >> >>
-endobj
-513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 73.058 397.089 84.346 ]/A << /S /GoTo /D (subsection.0.7.5) >> >>
-endobj
-517 0 obj
-<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-133 0 obj
-<< /D [ 515 0 R /XYZ 79.37 732.66 null ] >>
-endobj
-137 0 obj
-<< /D [ 515 0 R /XYZ 79.37 501.614 null ] >>
-endobj
-141 0 obj
-<< /D [ 515 0 R /XYZ 79.37 352.065 null ] >>
+<< /D [ 502 0 R /XYZ 93.716 108.297 null ] >>
endobj
-514 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F64 325 0 R /F65 327 0 R /F30 333 0 R /F27 332 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+501 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F81 257 0 R /F83 294 0 R /F16 216 0 R /F75 218 0 R /F93 448 0 R /F53 225 0 R /F73 230 0 R /F59 226 0 R /F85 317 0 R /F71 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-521 0 obj
-<< /Filter /FlateDecode /Length 3535 >>
+515 0 obj
+<< /Filter /FlateDecode /Length 3056 >>
stream
-x\ˎcW&Y`4$
-,/_~TEдtE&yD~׍߾}y77 P_8f`\ns/_5ȹs|\{\R3JsJ I[h"d =ݗ`z;ֿ kbEcNKbiDXf҈ ?!1RD3eFjϦv[voG߈7*7גU"H/Fe0hFBd;2z-L#$@2<\2ς)ITŵOG՞`t&jY'9kǠ D1A\3ku{UA#[x:ʮrG<F^hmGPv1g9(-#_u1T|K/y!Gi~[Kb2ӂd7)޶ծ'or;4A
-AM6t? PDsG*i]5ets6d.}:ıq6EZB
-A[
-+`~7zmOub&I^%mPjŚIqϋn%D~ ɑISRPvKrא^mkFn4g)GummU2E37P|v7ETF\|"{?EsxI!|!{U`cVz! 30J& +X&3'R:JjG*2K}'Ot5BbacX,̲8Xv7vjJǗW^@n^3RLnEU]x!/~^{KOVJTA`Nt_3Yn"/] \n<3Ԛm,g5TL- <QS"Aot)#GMhl"pbg)@%C7]{dM
-ԆzڠC!g|iji7vxqsmx'\yD}ߧ~ {RLLa 6I}-N5W9vC \;yPΧڿo/YVBG:n<yz쀗,F5dd0D֏ze"yȞ JHjۑ+o7-3'XAAoµ+8yCbJX&pΌϰLÅ'Pa 4C>b 3Y&HNq`(ܜdC nɱvȁdcK;r j?MZ*VE.N)'18`0Ĭ_\j2=t FY`[*
-,P(;@l ]gQd]ōuX,X,p-+|
-g"uoyw(""I/C
-1S`)]ӧ`,-d`433XS/T1_BTTT& :1ų^~ Lj|o]Vq]fx*@3.p-8Hef\)\R2كkiI eImC&AYO<.쵧IG慢D+.D[ RM\S{8B[ơJLJ&>p)8'^WO_^?>BLiZeh\GM%N~
-=C\^kJAm~FpM)~z;|*\e&=Oƺ z_LJ84Xn{tJg%*K4>T Id3н$HMp)&LV?(<`F%
-=dGD9*TKtSTƺ ?ʵ@DP}K!A9ClAB"նCKib5HmT*Iŏa+( yR2' mAІ&JN*lTt6i$8dLB:mx:ˌ32
-@ OR(ljp$:pBC<^,sPH樜 ;@.!j\,tqG2?(D~who=CeؿEgj$aZ z4B_
-lPqF.ʩNhl=#l+O2KTr#<9U6 q
-LRT;{;A H޸
-io"㻨Q ~t%ZhJ ۞./!-ǚn
+xn%1Wp7YP-̰cבl``x55b]E~_~yX^>߄84hyyA".14Z\^ȹ_,_>s LE^9W"5v~-qs/y<,pk0AaI.h5Ӯ,q A jʛ襧M" {8qipmS!I[b FOȥc,r4q-[(av} AߑoaD[zR",
+<ˤR~ $V؃lfn+:eƉA
+
+ ;'Ze+vc 920S/GA hE;aUF:T+)&Qly/UQՏR]=yxy}Oes̻ϋviώ@ 0 dNqClcSI }9-2][dƛa
+ٔfoiLh"3<li}gBQmJO4A-=uQv"r"T)z;Qo7A?&,UPPH Lz KBER?At|ƥ䇞t+roݭ@?0-r i盵kD7OG5ǩs4i{)!wMOϳdfc d#2aP8i[ !<FOٚn:^',~<eꚞ('KZm֜WDYO[:-|XJcnnn:XLkʼNU靦Cy J)B|~''ݰANV#vCN5DW-0'`ҘMS!,XST1"UϝUP<-6v*2\hf/xG54DΆOmvyuL,o[yJǙ|1:OqT*E"e.gо-td9"M\"9߆"eiwѶ}|4n Jɵ) 0x:;G{ #*S;CsQ
+: '5vV&6kfHFqcDCgO%hDVʮᳵ73GktKm?7I/ 9It\ee
+80nbw\2@
+xmxݭѨ9Ӕ@\ ?#KMYǞƊEvp*{[\JUNL3u%0O$1pW}:
+>HQAF.hi/5搬nݽfGb̐Lk"
+reX<=Wj(MD _"Q֚XPHZf_q\ޞmlc ^lL֖Uq[7
+{ɷt"Cai&|=Z+gQ$>z?xUd{R~+;HL6O}E]3??f(cӞ
+:z
endstream
endobj
-520 0 obj
-<< /Type /Page /Contents 521 0 R /Resources 519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R >>
-endobj
-522 0 obj
-<< /D [ 520 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-145 0 obj
-<< /D [ 520 0 R /XYZ 79.37 771.024 null ] >>
+514 0 obj
+<< /Type /Page /Contents 515 0 R /Resources 513 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
-149 0 obj
-<< /D [ 520 0 R /XYZ 79.37 748.402 null ] >>
+516 0 obj
+<< /D [ 514 0 R /XYZ 78.37 808.885 null ] >>
endobj
-153 0 obj
-<< /D [ 520 0 R /XYZ 79.37 403.167 null ] >>
+518 0 obj
+<< /D [ 514 0 R /XYZ 79.37 639.908 null ] >>
endobj
519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R /F84 404 0 R /F73 342 0 R /F75 330 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-529 0 obj
-<< /Filter /FlateDecode /Length 3278 >>
-stream
-x˒>_X,ƳjJU+*gn.8d%Ƌ EJdHn
-e~fc9ci-3`jVnw #pr>x?EfcR￝x3>G
-%c@)
-G\=BL^XSEA4F쭝}8#qFjՓXYB:k1z|mz~"}esO䘺Ker DW$_kUb4ȡXծj![_YefJ7N9[BtrXp"9/JU%9v9?fC:T ܕω 7JJZ`3t:ܥRG #ќJl%ӑ}_SfnI_8jj}*r~̱=y> Z- iZ' 4mLeJ#b1>E"y{yic1]:
-\1.N\R5iCX-|MFz_A-"RYT|a`VS-ʹ ^l}~͛}>3r>*YZUt9?8+Sƿ27p"]'GJ9JZ,!eS%L8rBpدgVedu*F
-c ,ak|ҘPܢa آ?ehJ(-귚z])@/b<q,ؔqp
-{
-5Ò6[q,zg_D6Uɺ-cVU"4CjE7P
-
-0t y7YP@VQ>,
-E<(/&*U S8^sTr.M׋Ң6oTb(l
-yCElqg.;XѬX.
-6'ϔD
-ѝhj"T%tCF21dg/+2 ),r—s4܉㲸yʊ5(r`er9ZOD <_l)e<ƋQJ)
-5,Rj
-jьlV;әWYS+(KUito9)nL>^{
-}3b<G-xsV|[eV soIS-{ۭ˩7wpǹ9/rsdn~x]HyP3<uH;/2>kU>0Ht;̦c<'% v0^BX^ZHuxIce=rV<Vr}5˩TbRE2xH`I.0K
-IM$^6OOV۞̕ĔCjKاR):+wJfT3zLr@>`-6.͕O\)6:Z*P۩ |jt D-Pժwn&Cݻh*\C$^ΰwKq`^.[1Z'EeYEfYaO=潡ށy &]Ln 1yJ^Ic*m"3yo;'_ 9.XMDSa.DV7/җ
- ݋"M*ЪѲ;p!kZNHlA+%-e)G:7
-endstream
-endobj
-528 0 obj
-<< /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 459 0 R /Annots 533 0 R >>
+<< /D [ 514 0 R /XYZ 79.37 621.783 null ] >>
endobj
-533 0 obj
-[ 523 0 R 524 0 R 525 0 R 526 0 R ]
+520 0 obj
+<< /D [ 514 0 R /XYZ 77.176 602.516 null ] >>
endobj
523 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 111.011 392.512 125.735 403.691 ]/A << /S /GoTo /D (subsection.0.5.6) >> >>
+<< /D [ 514 0 R /XYZ 77.176 591.557 null ] >>
endobj
524 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 137.449 392.512 149.405 403.691 ]/A << /S /GoTo /D (subsection.0.5.6) >> >>
+<< /D [ 514 0 R /XYZ 77.176 580.598 null ] >>
endobj
525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 189.952 229.772 203.9 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
+<< /D [ 514 0 R /XYZ 77.176 569.639 null ] >>
endobj
526 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 166.042 266.385 179.989 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
+<< /D [ 514 0 R /XYZ 77.176 558.68 null ] >>
endobj
-530 0 obj
-<< /D [ 528 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-157 0 obj
-<< /D [ 528 0 R /XYZ 79.37 447.38 null ] >>
+527 0 obj
+<< /D [ 514 0 R /XYZ 77.176 547.721 null ] >>
endobj
-531 0 obj
-<< /D [ 528 0 R /XYZ 93.716 120.649 null ] >>
+528 0 obj
+<< /D [ 514 0 R /XYZ 77.176 536.762 null ] >>
endobj
-532 0 obj
-<< /D [ 528 0 R /XYZ 93.716 110.956 null ] >>
+529 0 obj
+<< /D [ 514 0 R /XYZ 77.176 525.803 null ] >>
endobj
-527 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 404 0 R /F75 330 0 R /F74 329 0 R /F81 358 0 R /F64 325 0 R /F15 326 0 R /F65 327 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R >> /ProcSet [ /PDF /Text ] >>
+530 0 obj
+<< /D [ 514 0 R /XYZ 77.176 497.908 null ] >>
endobj
-542 0 obj
-<< /Filter /FlateDecode /Length 3204 >>
-stream
-xڽ[K ϯ?D pvO&Ƈ䒿RoT5wWD$Ju/OOʜ>}IN.t'gV~;,VR{ <ГDo. !>Nwzisk㩍 /wz52^ @ fQ f#S"Sb孆^&2>^dTJhiV23I4:y;
-^Luy&{P pFί2xa WԎiӄp4%FWhLa).k6n c.rpx
-[I 8Í^zz&VX
-J6,W?֯2QP^p֯.#~0.m<V{;Èڴ>Mx>x=d XHyu;2g2Gڔ,I^kj=CzA1t gz3l>
-|}H{\ۏz<zqɿ$`1.o>o>2[:͟J&udg+%oCd_u݆ 8/%Sc3#yf$<q{%cWi#^=iiP82A&QV>7~' kf 3m (u@@pu$w(߄QhA
-m59d" aQ?%Q2. VLfKSrHS r`i-1,t:S:me_8wzaF7J(|*)H)zx.GʣN} Jica4p%=8$uihN.N#軇Z/%\lefv%$pJnCuhRCUR<JK#4RzJ=$_MtNXL)vGBG(>̷'%T﷭eCTϩZ"˧ndukKZRLҞ2kW>
-X[ȗV3XjM-^2*VeZhPƲ0LJÐ𰳛 Bet76l0x ̭Q
-
-ie\9"[^_\TITU+=SR=VR
-H:KIvd՜GevEZvRV}l}3Zuѵ{쬸SKN$ g.5xg5ڝ噞Y)5n
-슗Y{fNöb^Nďmf S ) ۟:ʒޖ)\bl7φE|UHiQТ+}(oA_gzy%ĭBS.+̊I-޹sѯ ػ
-ktˍnVD۸Od-a=e(-eEFȹ%^^z~m{_7oI3z ٝz􋙨:b.YlUonj+7 F\Ife]Su{,r0oݣJ9:9Ie*sz:׋;G N `>Ynȼש|yYT
--&%} )ߊEY&o~6s-vw+/ZDWa>$ b
-endstream
+531 0 obj
+<< /D [ 514 0 R /XYZ 78.499 486.949 null ] >>
endobj
-541 0 obj
-<< /Type /Page /Contents 542 0 R /Resources 540 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 549 0 R >>
+532 0 obj
+<< /D [ 514 0 R /XYZ 78.499 475.99 null ] >>
endobj
-549 0 obj
-[ 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R ]
+533 0 obj
+<< /D [ 514 0 R /XYZ 78.499 465.031 null ] >>
endobj
534 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 544.571 226.041 558.518 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
+<< /D [ 514 0 R /XYZ 78.499 454.072 null ] >>
endobj
535 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 520.567 262.242 534.608 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
+<< /D [ 514 0 R /XYZ 78.499 443.113 null ] >>
endobj
536 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 411.45 337.153 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+<< /D [ 514 0 R /XYZ 78.499 432.154 null ] >>
endobj
537 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 411.45 359.848 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+<< /D [ 514 0 R /XYZ 78.499 421.195 null ] >>
endobj
538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 384.561 245.433 396.842 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
+<< /D [ 514 0 R /XYZ 78.499 410.237 null ] >>
endobj
539 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.636 240.514 79.256 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
- >>
+<< /D [ 514 0 R /XYZ 78.499 399.278 null ] >>
+endobj
+540 0 obj
+<< /D [ 514 0 R /XYZ 78.499 388.319 null ] >>
+endobj
+541 0 obj
+<< /D [ 514 0 R /XYZ 78.499 377.36 null ] >>
+endobj
+542 0 obj
+<< /D [ 514 0 R /XYZ 78.499 366.401 null ] >>
endobj
543 0 obj
-<< /D [ 541 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 514 0 R /XYZ 78.499 355.442 null ] >>
+endobj
+544 0 obj
+<< /D [ 514 0 R /XYZ 78.499 291.681 null ] >>
endobj
545 0 obj
-<< /D [ 541 0 R /XYZ 93.716 490.28 null ] >>
+<< /D [ 514 0 R /XYZ 78.499 280.722 null ] >>
endobj
546 0 obj
-<< /D [ 541 0 R /XYZ 93.716 480.474 null ] >>
-endobj
-161 0 obj
-<< /D [ 541 0 R /XYZ 79.37 442.26 null ] >>
+<< /D [ 514 0 R /XYZ 78.499 269.763 null ] >>
endobj
547 0 obj
-<< /D [ 541 0 R /XYZ 93.716 80.936 null ] >>
+<< /D [ 514 0 R /XYZ 78.499 258.804 null ] >>
endobj
-540 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F84 404 0 R /F75 330 0 R /F91 544 0 R /F53 337 0 R /F64 325 0 R /F81 358 0 R /F16 328 0 R /F65 327 0 R /F71 339 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-554 0 obj
-<< /Filter /FlateDecode /Length 2303 >>
-stream
-xڵn,񮯘܊ 4S ݜ p<O=05/*<v.w\N;{zN yR''N^8(y>?I|
-R'r>p">bz+%Np
-k*L׿ݑmJ:6=uWqGI# 3[LP ZB*tg35J`f"bȦCk0J{
-:*CP*7I  ›|#i "B9dD) l0 J;-Ȓrm){"Сqዷx +L#S)-^^;E/ҧK-|8}?qkKh.lIny, gvG4TH[JHf9'064TJ. >֒ v 䆁ȩ|i"=+HTtdرLiPyIc8,_(ELRgiY9eCѫߢ0~J&dթnab
-7R qS2=+[*:
-5$R(`OF3oJX V^H 
-ijuώ863.3%iAd6˖vMqI$g?IF_$[ހJE-4iyylFsI'ĥg*l6J4Qo[:[_QO?}ϟs? }7r opx:?$i0z?RZO+_#ꘉՉ #o0҉a+.!AV TƊ
-Å6LHj=gsɻF\8[7͆om'4"˄
-FR%`hF;V7uDžeTy+]#mb*&hر<9~ah %<V45#4
-eQf)H׮sr[:PGa({mg7fg,|`!cy r3ZflTGdkꪉDžlF71;3#}1G 8
-ل)Kt,SL,gqnz܌ĭ`)w}륖.AY&7Wj[5O){Wvs|+6%w
-Un= y|'o<VF$;xyոT<Fcoʁ/qܭqzӉ(قϛo
-W0['1-,f )b\X?1
-^\>~zjoS3p񲊗V2חM=҄
-Aܬ/,4+]>BH9<˷oP6k1nh4U@G\.v3Z~yNZA m`yc}6<Ph4bӮoA!qUf:nvp1bfA1;XSwjҲ{:(ؑW)%pݤ.X=eX3!ť;*os*R'f$ kuT0&j/nRUB=s{s.0ԶRƶݝзbٻd2yy?8F
-endstream
-endobj
-553 0 obj
-<< /Type /Page /Contents 554 0 R /Resources 552 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 559 0 R >>
+548 0 obj
+<< /D [ 514 0 R /XYZ 78.499 247.846 null ] >>
endobj
-559 0 obj
-[ 550 0 R 551 0 R ]
+549 0 obj
+<< /D [ 514 0 R /XYZ 78.499 236.887 null ] >>
endobj
550 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 320.949 487.491 332.356 ]/A << /S /GoTo /D (section.0.6) >> >>
+<< /D [ 514 0 R /XYZ 78.499 187.073 null ] >>
endobj
551 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 320.949 514.132 332.356 ]/A << /S /GoTo /D (section.0.6) >> >>
+<< /D [ 514 0 R /XYZ 78.499 176.115 null ] >>
endobj
-555 0 obj
-<< /D [ 553 0 R /XYZ 78.37 808.885 null ] >>
+552 0 obj
+<< /D [ 514 0 R /XYZ 78.499 138.257 null ] >>
endobj
-165 0 obj
-<< /D [ 553 0 R /XYZ 79.37 515.126 null ] >>
+553 0 obj
+<< /D [ 514 0 R /XYZ 78.499 127.298 null ] >>
endobj
-552 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F65 327 0 R /F81 358 0 R /F104 556 0 R /F103 557 0 R /F105 558 0 R /F27 332 0 R /F30 333 0 R /F64 325 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+554 0 obj
+<< /D [ 514 0 R /XYZ 78.499 116.339 null ] >>
endobj
-564 0 obj
-<< /Filter /FlateDecode /Length 3557 >>
-stream
-xɮ$>_?0Di) ć}*x8~DQIQo?wyuIe7qI{3Ϸ\ʷs_ßO{i5]7);㊞k i982ƏP
-d3nE
-)`tOI-FYUg2g\Q
- &^ `D{(kU
-:첼{dtZY
-[1QJn儨{ sfPg?~.,]GSF@ (搰mXkQ8X&Q+Lw3CmpBxcKGf0gHvDH { 4qflTƱ޷9
-"o~;-dS{4~u=[2
-Gqj>"Km ӵIpI;ZxLy1s1 2-l;}MQʼ
-qVƫ#Nk[ O`(ac%hmm7͂>ˍR,[Y< q7bڈqԦ1\b9eAiT;B1"PZrO={ M)g]+;Iqh% 2}F]t#= qЮZQ°70hf@z֌!G?Q}z:GiMr;nϔKLR|RM;[Lv/ Fdq;w5c>^VfDORIs"=BQM<7]5&u:C^o$t&e@0)C8Ok/_F*#:1
-#WHBGMn`PѯΩ) I@aN ;z?ڽ@\d҆ ލ-BO]v%QkzJbR
-Arܓ&fnӊc
-_א7k7& U?ce K{Wz
-ܛL:
-f;
-=1_}]nO^MU^S` 6UzG7}{|6va9qɴ-|gF(aKsV ~|՜lV Ih$_j<ٶ{UIB'5ci@z wJ
-V'jQthjtUM_AwDoPuy
-JS Tеu=\HM{ԾmApLGҷgM!s׿"Ew>Ň*fwp\&r\NmOa4H+I ~^
-endstream
+555 0 obj
+<< /D [ 514 0 R /XYZ 78.499 105.38 null ] >>
endobj
-563 0 obj
-<< /Type /Page /Contents 564 0 R /Resources 562 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 567 0 R >>
+556 0 obj
+<< /D [ 514 0 R /XYZ 78.499 94.421 null ] >>
endobj
-567 0 obj
-[ 560 0 R 561 0 R ]
+557 0 obj
+<< /D [ 514 0 R /XYZ 78.499 83.462 null ] >>
+endobj
+513 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F109 517 0 R /F64 213 0 R /F22 247 0 R /F59 226 0 R /F88 521 0 R /F111 522 0 R /F84 305 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
560 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 278.812 667.892 289.239 680.183 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
+<< /Filter /FlateDecode /Length 2239 >>
+stream
+x[˒#W!k"f]^Jgqv:B`)f+ ?A&1MxpV i~?<燌R7/&k|zO?{Oԧއ.9{[z.ߩs~_/}u|˲Ufıeh7KUb<H$p\ބ4 4BgM3P  RoxqX=B Mc*N<ej_srQ+9eR 5y)'oOp>(
+~1#H,#(GUA̯h*cp:bg>H}ƘuH9w荰(V3 :EOC<t1瓴S\Ű|P#haҁܚ>$ZPXvZn6N
+v~#U~Bc9XqPCmOu 㘉'mKF{,"z%B\U蜙]qjBƤ,>)b[ֲ}M۾ϔ9|>tq4wcwp59Go3:mo3i
+xsߋoYŊot:
+itV Ml,ΕjK'`a-CN“ddO< yI C'#7xu#%ܸ{0x"s-ooNvW{`]ޏ"<j췓*Fi))j-s/!궲U3k.<
+T7c: ;6
+}K0˰m_vɧAgXr3 0x,ra*w8|Ix2ʺwO pMh0JzO25;A%MGwYžͤ^N9n U*60t1BdvcwF(&R WvZv c?dN+c;z~l㽲j]sd1mؕ[;|}nsv݅*@a8O+il0˪E8vaN< $~a/o\g?qÿh@ QMw 4]>s
+endstream
+endobj
+559 0 obj
+<< /Type /Page /Contents 560 0 R /Resources 558 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
561 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 112.169 86.983 232.661 97.581 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
- >>
+<< /D [ 559 0 R /XYZ 78.37 808.885 null ] >>
endobj
-565 0 obj
-<< /D [ 563 0 R /XYZ 78.37 808.885 null ] >>
+562 0 obj
+<< /D [ 559 0 R /XYZ 78.499 768.829 null ] >>
endobj
-169 0 obj
-<< /D [ 563 0 R /XYZ 79.37 771.024 null ] >>
+563 0 obj
+<< /D [ 559 0 R /XYZ 78.499 757.87 null ] >>
endobj
-173 0 obj
-<< /D [ 563 0 R /XYZ 79.37 748.222 null ] >>
+564 0 obj
+<< /D [ 559 0 R /XYZ 78.499 746.912 null ] >>
+endobj
+565 0 obj
+<< /D [ 559 0 R /XYZ 78.499 735.953 null ] >>
endobj
566 0 obj
-<< /D [ 563 0 R /XYZ 93.716 99.261 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 724.994 null ] >>
endobj
-562 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F65 327 0 R /F74 329 0 R /F16 328 0 R /F81 358 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R /F59 338 0 R >> /ProcSet [ /PDF /Text ] >>
+567 0 obj
+<< /D [ 559 0 R /XYZ 78.499 714.035 null ] >>
endobj
-570 0 obj
-<< /Filter /FlateDecode /Length 2900 >>
-stream
-xڵ\K?`b3n) $ćS%ER|N_U,|!|y~C)U_"0P o?JiKϷBh^o?go;otGϫ,ݮگ|]oQD@Mt6D^HyecxexA{~?zi3ǥt3]u|k~-o:us}X߾tbPJV,.I;'Vɹ"nztv\AbUX%g!~ǿY`5+>.πZJrQR)/(І#nZMl߬8Z_&>u\[{<:ն+Q 5YO@jJ-m7\lm),6[r&`@o߼ XHI4\ؖ' ifGϖqcϓ>^ @EИd
-3MMJ¸ܪIrtӰ1(zꩂ!K
-<$q6c]c|<lޏ^ kڷk?_6NJE68J#o|wkxwl:~_brҖᱬ n|Zxd'Wܡt5XW [JˢuޣY:z1{(jđ䑷{mev7Lڢ\WHޑdU$$Z[
-ߎςpJ] pNy;m<d],^pܖn3d%E6 )+!D2ZEdEJjfՏ{2%{wCy r
-d9EH Ey.H176zt)һ3$"2TT46@1TwS6s%pm~RvJʻX4XoᢼkYBRՒW},JZ,WBJn/(2аGYs9qHYԿKqv㜞s9u~>[}\A}\;xxv%n+KnXVNw(a.vC #Y@Ʉk,NlXu(D FTM H&w-A+ ɩ
-=3mBfL PNbɤ5ɛ8G"ޯ(0Zn΀θ:TGR⌕LkoՌq&*.a@T;z.B{wJVOSj|]RajYtـ:bm;]+}f7̡X{eEeF?wsKCu ҩ`Rч/
-oV5Kd6yү<z3K`ǩie-Ԝ9S ouھOw8!A |[\||j~)q\jWoquxGv*}?0ULΙt"~!H5BVHy j&&S`^y/[w J~
-45jeNu~7S
-w]t!0]ujx$k;r><>ʩɊrȣu"[S|%x(O6Dj|Z6LCzޣd]YMs\GHilwpڤ 1*:A3.mdfL}SI3  W̤fdd _Ckg|9fvܨ>J/A|Z'eE_ 7R[xXHx9>Զ$m;p&^VLʹ +LMo )^Ur4cw=l-^dJ@ 8(gfyVv_ަHN]8a%tJi>` ]O0X1St]6ISy>>.QAY:ʙ)FXgʕ'R ):VpBvc{e\|z !@̆ 1l1%LNE>5Y10tCU.0hkCn/n-ef [k4
-hIy(oJ<@B9Kq;#;7 qA;:, YE>XMd<YCse olp@`3kT$w"5Q1!m :\mdp&ឆGȣk;kqϳm_㒌ŒԸHC(-6` G^~EbiP7xI?U]bÄN쁲V]s34K'j I}`jl7p'Z"nz{f"ih
-+L9'اP4$)ӇKʫ4:y*ޥƎTtJmuWzt05LY vQR(YgJ-KZ5n˒Z'U<^CcrҦV1yzH5KkPYNrٹ]?2t{>&m~I!8՜)V|J)n9mG`Y.U2UI& q|SS?QTMO:IC"/څ
-endstream
+568 0 obj
+<< /D [ 559 0 R /XYZ 78.499 703.076 null ] >>
endobj
569 0 obj
-<< /Type /Page /Contents 570 0 R /Resources 568 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+<< /D [ 559 0 R /XYZ 78.499 692.117 null ] >>
+endobj
+570 0 obj
+<< /D [ 559 0 R /XYZ 78.499 681.158 null ] >>
endobj
571 0 obj
-<< /D [ 569 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 653.292 null ] >>
endobj
-177 0 obj
-<< /D [ 569 0 R /XYZ 79.37 771.024 null ] >>
+572 0 obj
+<< /D [ 559 0 R /XYZ 78.499 642.333 null ] >>
endobj
-568 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+573 0 obj
+<< /D [ 559 0 R /XYZ 78.499 614.467 null ] >>
endobj
574 0 obj
-<< /Filter /FlateDecode /Length 3100 >>
-stream
-x[ˮ +H" ox7""~JJcOEu$8ßoB00 q hn|se9ן>
-9}OxG}o;o4uyן?oȜ [$jA`bfP9I3_L*~oJiBsZQ(*Av\<5W·ZGB+_4ƤubkdY>n%Z&rbJ3T?q?%;, 6
-u/J)oο{IV>%r'>fE"Ô=ʆY~ˌZGFa~@֋4*dxe=5>볮FG]#58 ,
-4 H{vu^һa~H*9Q{m$sR{FCV{Nhz58Fd HV &+l`9sʅaveO'XNb?
-qWےIWQr7 f{ۇ_~7'v'54u뇿D4s.ULwNnIW'k0z['|n:e>M|IyYmB[{٧|c_$0dR$9 (GzM5_Ib~o[.š-PYRݒ0nid!'8^uGl54n` K
-Q&$
-
-<(nd Mē{t*JFS@B%v_e1N m̕.lG-ko7,@8G +<{J[xі'ѧHN2I6RKhHBʒx},@{8!pf r<<;t(=K qQnGߌqE2*Ʉ{UOv.NR_>!ZsܜNLz|2}L`c`G1ϵ*o.m[8R~Lt=|E1^dͣykRe|:P -{\h3Rby7\A6/ӢWhNv*jw`^խ+Q fa= (LM(s]Lu(vlH䬾ݒm/?JMwǥ1r<)C=] 0I){u-<]O57G/t¦CfXh~`kOGC =uC#(=,
-FU:JY:#'f/-&ʍ9 UkC1U'B; Sg~{,{dzrW5|3ދw ~^iVMALZBHS>(9$WiHQ/蕠 5,׭|4%Py
-~f{^[TٕȾshvmaٌѡ
- eE &
-9j ]\wHҮeǪw'baG\RȜ],]̣G5K`G\T9Z+]T Ɠ|Kx$=G"aFucQ6[CmN04lEMS7eXѯS , CW<fQ7[aA5HWPcP6OFxr
-α k&lWM+46hSZivRv<z3,GWs'J
-endstream
-endobj
-573 0 obj
-<< /Type /Page /Contents 574 0 R /Resources 572 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+<< /D [ 559 0 R /XYZ 78.499 603.508 null ] >>
endobj
575 0 obj
-<< /D [ 573 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 592.55 null ] >>
endobj
-181 0 obj
-<< /D [ 573 0 R /XYZ 79.37 771.024 null ] >>
+576 0 obj
+<< /D [ 559 0 R /XYZ 78.499 581.591 null ] >>
endobj
-572 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F80 356 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+577 0 obj
+<< /D [ 559 0 R /XYZ 78.499 570.632 null ] >>
endobj
578 0 obj
-<< /Filter /FlateDecode /Length 2872 >>
-stream
-xڵ[$7+
-n+%ӷ0|Co-#T?R*QJr?ᯟ {|z}/~gɛ%Vqgd8QJ&6
-_*nN$uw鹛C/[|['+
-2gnXn]sI/&%4wٍ
-8pMӷz6Vjv䇧ai, {z{ή:/?Jq!ZoZr.+Tv.nW;IpE]R^8Mq)'9&<7$L#l'i՗*Q{? 3ˑE#cNg# upS[Pv]0!iOKN<q. 낅|I.l
-Mj"-
-^kYƇ =`dKZMjbf 0^z˽FCN1"7i}nb jbJ*0|}."G14)ɉQ $sobrT;:@|LM%rz+%#M"S@582+yGj"z3 f3"(wE5;KcǼFo8ΊaC u:X-f3MJUndÂa\Aa_B)imC-˽.'Meژa>+W z[ I&_O9&YLwQm۳ݹ:ԼWSZu(4:e
-TԬ
-2Ų]G[Pf= C;0ck%&%&
- #Al43\(v_2 J33?dQ69<홄4cΈ`+kshaR5>▏^߸l`k`l$q0BveyU{t>9^@&Ƭ,(KNVOoTƒ귔VU1^ċ!^z|.l݉=|eg@u<!}5pW0b0f:L8&*$n8 $hr鍾"װH*#=CU wz>m)`FS6uXhb`WTlgBw•NqnZN ,{DtD h3K,;
-S?g Ъ k3=d+ɰ~Ñ.n(,MSZ<_${SHI,EXs>3LTci]H^cs MuT b9WgǘՁYHTq $ʪuR\0V>,V,"D|;ł#8*ΩlHiU{t'5/p#\=<_;!E Ν6x#DLxG< ϯ R=}x)H
-endstream
-endobj
-577 0 obj
-<< /Type /Page /Contents 578 0 R /Resources 576 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+<< /D [ 559 0 R /XYZ 78.499 559.673 null ] >>
endobj
579 0 obj
-<< /D [ 577 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-185 0 obj
-<< /D [ 577 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-576 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-584 0 obj
-<< /Filter /FlateDecode /Length 1295 >>
-stream
-xڵXɎ6W!`4`u 8$s3|J98~HJ-uFjի#/>O7CRkI9zvF i2}z'%ݝ_j~CF]~3ṮR7E 9tΟ?}JO^xl<a.d<5|>C:d,֥W_ (owȮZr4Vn7p^ -MnfG CB
-|0K}#upfG {pتZ庞M4"r Mc<9QJt
-cLt6:}ןj<
-endstream
-endobj
-583 0 obj
-<< /Type /Page /Contents 584 0 R /Resources 582 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 586 0 R >>
-endobj
-586 0 obj
-[ 580 0 R 581 0 R ]
+<< /D [ 559 0 R /XYZ 78.499 548.714 null ] >>
endobj
580 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 263.782 468.798 278.507 480.753 ]/A << /S /GoTo /D (subsection.0.5.3) >> >>
+<< /D [ 559 0 R /XYZ 78.499 537.755 null ] >>
endobj
581 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 294.754 468.798 306.709 480.753 ]/A << /S /GoTo /D (subsection.0.5.3) >> >>
-endobj
-585 0 obj
-<< /D [ 583 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-189 0 obj
-<< /D [ 583 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 526.796 null ] >>
endobj
582 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 559 0 R /XYZ 78.499 515.837 null ] >>
endobj
-593 0 obj
-<< /Filter /FlateDecode /Length 3325 >>
-stream
-xˎ#>_X,
-,OcqpW3k㭿7=KOH<o J@D\B3,2鐔Ǖ2T^ Duc}/ *`}+dJDk":n q0#?@_27"ư 2P@Ԕ5fנ'}e\_ CpΖul҉ 7>j @Td]qeFIRt+ ]YY.fGm^9 sަIM2Yk4
-Asdu%:$V''KcEe8G _ާ'w
-Jəp+05#v95[0(P2)p(mŚ' 4X-k4~eӛ?+u >=NA݂"`n@*)y:q]NX厙?fQgU݌1{So~L "zP;>6uX/Yk̓|Vb73Te$^mc| M)[EV !%E6*U+ *ydZ"A 'Ӓ50ϥʀt?qZ! `s&ӗ6;٨`/]mmW;{
-)m(UYMe],I51oڊ
-'
-Zz)pŠFDQƫ" untQy͂W:EW.=\>"Ex9 gۤp)oO?R?o5Si޿.Яɇ3S%2޲ $6mڜqD|'H ʋ#VmQ˺h~OO01\폍0Wz|8E>ŚFT @' 8JC^Q7Ub\Sig0}˛%h0ظRx_q8ͧ5;N8<Y= &CZeɀ!8N(n^Tq|&n<jgL_Do0<Oڜá{m-yL;#G1]d>n8u RLV_p"rAǁy?v\*Sw2崷,̫%s1!Rǩˑȸk2YGaEWS0,©,h]*>Ghyi)b?%_asbaqulh0#1}bN
-u?IکSldRuˉo GvxRЯc~  gv}tU3ܙ unÉO(=֓Q]\^1
-}4ok6 hyie'tε`QkK3=1t<y|ϬZhHU6\.a3cԋMN*gnĢu,'Y~Ó*&.Sr9&|1>s 6Y!]
-١V(kz9\R)e+#sg;݆ 6Ѧ> bX;Ѹ0nx\ktP8أ\ #`2cY'/,­¿iŚa~0eg4 ֙cdG<.awVkTˮQrE WTk0ʳZ&cIgf^ 7"]J-4ZN|<|eFǹTu٦kC.v*vtKJaS1B3 2!%6Ln@
-U;8ga Nx m=E
-endstream
+583 0 obj
+<< /D [ 559 0 R /XYZ 78.499 504.878 null ] >>
endobj
-592 0 obj
-<< /Type /Page /Contents 593 0 R /Resources 591 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 599 0 R >>
+584 0 obj
+<< /D [ 559 0 R /XYZ 78.499 477.012 null ] >>
endobj
-599 0 obj
-[ 587 0 R 588 0 R 589 0 R 590 0 R ]
+585 0 obj
+<< /D [ 559 0 R /XYZ 78.499 466.054 null ] >>
+endobj
+586 0 obj
+<< /D [ 559 0 R /XYZ 78.499 426.232 null ] >>
endobj
587 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 384.187 623.97 394.614 636.42 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
+<< /D [ 559 0 R /XYZ 78.499 382.412 null ] >>
endobj
588 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.594 531.297 226.29 542.485 ]/A << /S /GoTo /D (Hfootnote.33) >> >>
+<< /D [ 559 0 R /XYZ 78.499 350.546 null ] >>
endobj
589 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 224.825 519.352 231.109 532.078 ]/A << /S /GoTo /D (Hfootnote.34) >> >>
+<< /D [ 559 0 R /XYZ 78.499 330.635 null ] >>
endobj
590 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 308.511 508.283 314.795 518.575 ]/A << /S /GoTo /D (Hfootnote.35) >> >>
+<< /D [ 559 0 R /XYZ 78.499 319.676 null ] >>
endobj
-594 0 obj
-<< /D [ 592 0 R /XYZ 78.37 808.885 null ] >>
+591 0 obj
+<< /D [ 559 0 R /XYZ 78.499 279.855 null ] >>
endobj
-193 0 obj
-<< /D [ 592 0 R /XYZ 79.37 771.024 null ] >>
+592 0 obj
+<< /D [ 559 0 R /XYZ 78.499 268.896 null ] >>
endobj
-197 0 obj
-<< /D [ 592 0 R /XYZ 79.37 705.06 null ] >>
+593 0 obj
+<< /D [ 559 0 R /XYZ 78.499 257.938 null ] >>
+endobj
+594 0 obj
+<< /D [ 559 0 R /XYZ 78.499 246.979 null ] >>
endobj
595 0 obj
-<< /D [ 592 0 R /XYZ 93.716 227.357 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 236.02 null ] >>
endobj
596 0 obj
-<< /D [ 592 0 R /XYZ 93.716 189.157 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 225.061 null ] >>
endobj
597 0 obj
-<< /D [ 592 0 R /XYZ 93.716 151.299 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 214.102 null ] >>
endobj
598 0 obj
-<< /D [ 592 0 R /XYZ 93.716 108.297 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 203.143 null ] >>
endobj
-591 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F65 327 0 R /F74 329 0 R /F81 358 0 R /F83 403 0 R /F16 328 0 R /F75 330 0 R /F91 544 0 R /F53 337 0 R /F73 342 0 R /F59 338 0 R /F85 427 0 R /F71 339 0 R >> /ProcSet [ /PDF /Text ] >>
+599 0 obj
+<< /D [ 559 0 R /XYZ 78.499 192.184 null ] >>
endobj
-602 0 obj
-<< /Filter /FlateDecode /Length 3061 >>
-stream
-xn$1WLx,d  5Vb92| \,5n0nXoV >| }iE\g`/ƍqs+8 |Ε/u\֖[8,/Ny\'í]*,/,oMYX]8_Ъ k_^z$Akb9‰+DOlh2}U q~Lh oE<dkB  | #*דr!g%UY&r\?fՖJrj^f涢K阗 BkT V\YY7G ٮ oGvf 7$?ڐ}QEz ˄..c?R]7@_8h!nћ\D%n*
-Z$h#1nfI G n0sA:c
-Ξ,0g̋w: 3dAQw<-^XxcG5"ip
-ᩖ"2whlKSĽ9^R=:(\m]50g8nɔۣRm7)=<~ y$3^ ޱ
-ⱆB "MMeDſZdbLKr ~ER7L|qR6 [B0P WVJt4͹ fƀ&[]7'O#ߚi>a7/MY:C\c~r0` k2&ju!ą۩6M3m]Ǜe8Oɺ'=MQO&Ǘ|$&F&˽%ʂ<oy63RSusS7bS \suO4}(p}lb7;؋;=V?h z /&ީ|K`MWWӽi2cJ `~v ^"Jm簅jYk[i}Ucѹ,WQ5\Y ۼ1ƿ!YѺzquYN7%EJ[A[&"rEśxaڹ*aEr8 cH,.
-$jTr1?@,Uk3Bx=9p:;F{{AcRg\:
-5R!Whhyzh5|:&mү=j1eԪdsP'vnV^Ǖ?Vչfސ9+ˤfvhШpb\X:Qv<y%hxܽVų7͝3jtZKA?Ů۹]Zn$sKn$,͓YYaԅ8'!9 L'3k7-aq95|Sq)ɲ ϳF\.d# 94VU gyC;?y* h;)fNIj XƭCx/? OF|ggBκΚR(%o^cF 8^^m5z:\puوRձbrf⏂J[CL[
---zS^*'%[GxF')ov[$(rA MGWs8Vö`|6k fHAlDx5
-V+Wfã;w+Je$02KR:!:Z,Ky|ɡpCǕU5u˥+T^{ֹw\mM~mn=_/tÈ-=k>Z+lϮ6 I>2𪾵3XF=pV
-endstream
+600 0 obj
+<< /D [ 559 0 R /XYZ 78.499 181.225 null ] >>
endobj
601 0 obj
-<< /Type /Page /Contents 602 0 R /Resources 600 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+<< /D [ 559 0 R /XYZ 78.499 170.266 null ] >>
endobj
-603 0 obj
-<< /D [ 601 0 R /XYZ 78.37 808.885 null ] >>
+602 0 obj
+<< /D [ 559 0 R /XYZ 78.499 159.307 null ] >>
endobj
-201 0 obj
-<< /D [ 601 0 R /XYZ 79.37 639.908 null ] >>
+603 0 obj
+<< /D [ 559 0 R /XYZ 78.499 148.348 null ] >>
endobj
-205 0 obj
-<< /D [ 601 0 R /XYZ 79.37 621.783 null ] >>
+604 0 obj
+<< /D [ 559 0 R /XYZ 78.499 122.47 null ] >>
endobj
605 0 obj
-<< /D [ 601 0 R /XYZ 77.176 602.516 null ] >>
+<< /D [ 559 0 R /XYZ 78.499 111.511 null ] >>
endobj
-608 0 obj
-<< /D [ 601 0 R /XYZ 77.176 591.557 null ] >>
+606 0 obj
+<< /D [ 559 0 R /XYZ 78.499 100.552 null ] >>
endobj
-609 0 obj
-<< /D [ 601 0 R /XYZ 77.176 580.598 null ] >>
+607 0 obj
+<< /D [ 559 0 R /XYZ 78.499 89.593 null ] >>
endobj
-610 0 obj
-<< /D [ 601 0 R /XYZ 77.176 569.639 null ] >>
+608 0 obj
+<< /D [ 559 0 R /XYZ 78.499 78.635 null ] >>
+endobj
+558 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
611 0 obj
-<< /D [ 601 0 R /XYZ 77.176 558.68 null ] >>
+<< /Filter /FlateDecode /Length 1994 >>
+stream
+xZɎ6WCF &5\Ed*IOZW+J;N1_/b?yvƍ}c9@??~%`|?;s1'F0. 9we1ɹ5 U$k/#ZpN<n9\Kt=S`
+g9{Ͽ:m7Sϙu6{Ze;C6~s
+Y2I&RSLM/{hI3͈=<.7yaYbZr{vS &c&RxHۓ1Y
+@oɔѤt\KSOtX 9*efy>^f_шq)8y_MF 'ynD- `
+:- <ngdJi^uBW;)&qsXhD {8t3QoI/WbR7Q6ǯ;޷)5A &
+cnB3/g;%ݟO d{Iwwo%Np#*م Rْi}/v.Ȫ}e'ՠpZJn>^Bs};
+endstream
+endobj
+610 0 obj
+<< /Type /Page /Contents 611 0 R /Resources 609 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
612 0 obj
-<< /D [ 601 0 R /XYZ 77.176 547.721 null ] >>
+<< /D [ 610 0 R /XYZ 78.37 808.885 null ] >>
endobj
613 0 obj
-<< /D [ 601 0 R /XYZ 77.176 536.762 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 768.829 null ] >>
endobj
614 0 obj
-<< /D [ 601 0 R /XYZ 77.176 525.803 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 757.87 null ] >>
endobj
615 0 obj
-<< /D [ 601 0 R /XYZ 77.176 497.908 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 742.255 null ] >>
endobj
616 0 obj
-<< /D [ 601 0 R /XYZ 78.499 486.949 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 731.296 null ] >>
endobj
617 0 obj
-<< /D [ 601 0 R /XYZ 78.499 475.99 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 720.337 null ] >>
endobj
618 0 obj
-<< /D [ 601 0 R /XYZ 78.499 465.031 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 709.378 null ] >>
endobj
619 0 obj
-<< /D [ 601 0 R /XYZ 78.499 454.072 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 698.419 null ] >>
endobj
620 0 obj
-<< /D [ 601 0 R /XYZ 78.499 443.113 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 687.461 null ] >>
endobj
621 0 obj
-<< /D [ 601 0 R /XYZ 78.499 432.154 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 676.502 null ] >>
endobj
622 0 obj
-<< /D [ 601 0 R /XYZ 78.499 421.195 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 665.543 null ] >>
endobj
623 0 obj
-<< /D [ 601 0 R /XYZ 78.499 410.237 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 626.667 null ] >>
endobj
624 0 obj
-<< /D [ 601 0 R /XYZ 78.499 399.278 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 601.576 null ] >>
endobj
625 0 obj
-<< /D [ 601 0 R /XYZ 78.499 388.319 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 590.617 null ] >>
endobj
626 0 obj
-<< /D [ 601 0 R /XYZ 78.499 377.36 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 579.658 null ] >>
endobj
627 0 obj
-<< /D [ 601 0 R /XYZ 78.499 366.401 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 568.699 null ] >>
endobj
628 0 obj
-<< /D [ 601 0 R /XYZ 78.499 355.442 null ] >>
+<< /D [ 610 0 R /XYZ 78.499 541.778 null ] >>
endobj
629 0 obj
-<< /D [ 601 0 R /XYZ 78.499 291.681 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 530.819 null ] >>
endobj
630 0 obj
-<< /D [ 601 0 R /XYZ 78.499 280.722 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 515.204 null ] >>
endobj
631 0 obj
-<< /D [ 601 0 R /XYZ 78.499 269.763 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 504.245 null ] >>
endobj
632 0 obj
-<< /D [ 601 0 R /XYZ 78.499 258.804 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 493.286 null ] >>
endobj
633 0 obj
-<< /D [ 601 0 R /XYZ 78.499 247.846 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 482.327 null ] >>
endobj
634 0 obj
-<< /D [ 601 0 R /XYZ 78.499 236.887 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 471.368 null ] >>
endobj
635 0 obj
-<< /D [ 601 0 R /XYZ 78.499 187.073 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 460.41 null ] >>
endobj
636 0 obj
-<< /D [ 601 0 R /XYZ 78.499 176.115 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 449.451 null ] >>
endobj
637 0 obj
-<< /D [ 601 0 R /XYZ 78.499 138.257 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 438.492 null ] >>
endobj
638 0 obj
-<< /D [ 601 0 R /XYZ 78.499 127.298 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 427.533 null ] >>
endobj
639 0 obj
-<< /D [ 601 0 R /XYZ 78.499 116.339 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 416.574 null ] >>
endobj
640 0 obj
-<< /D [ 601 0 R /XYZ 78.499 105.38 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 400.959 null ] >>
endobj
641 0 obj
-<< /D [ 601 0 R /XYZ 78.499 94.421 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 390 null ] >>
endobj
642 0 obj
-<< /D [ 601 0 R /XYZ 78.499 83.462 null ] >>
-endobj
-600 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F107 604 0 R /F64 325 0 R /F22 357 0 R /F59 338 0 R /F88 606 0 R /F109 607 0 R /F84 404 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 610 0 R /XYZ 75.854 379.041 null ] >>
endobj
-645 0 obj
-<< /Filter /FlateDecode /Length 2244 >>
-stream
-x[K( x+UTo[{=./x3=tq@!<soRxx;}}bJ7uNLҪ翇?ߥ}&7/&k|/
-t
-FW_FFhfk,
-ljZ|iͤEFk6sX2 *աW)Nm!u[rs$C
-KqªsDŽ5q5/T
-^++sNB#Gi Y=n<Yݖ6|ׄpTN>k#*T_# [5ښFGj/U!SheqYX'L-LvK]"]vdV(1Il1Fq>B)&|]'a`
-?f~S[ F5,[=y;Wr&g(sQ-/cE_y$̈́cc5xZHMB{P+aS2p-DUT8Z5fmIk_/w8I#uZ #9x<դ%V0ߡ`øvp;IuOŔb{kN?x~^KX=#[ WR׭n$o~Sf 9n0L<zIkoZ(EO- s?!ӏ6 Q5-H3Җk{Է6RlL5)FDBLDpky<)[%YFVR<n:hӏrXr*/"ٍV
-~ zSiWYe*ta Pr <Ζe隶})oyO&ͣ)i kbc(6ZdnxbmccՌhDΏAWb7*v&XXy2mMrwTwkX'
-'m7j; ˯,eiE|p'aRӴSZ^"-jj1=gm?6(PYV$XEps8cfbG ڶO6αΔV|U̅U=+o'(ڪnAX1[c(aIvl@ǵ#"_e{^I=Bi$ݝETndl0޿Bd3ێmv^+h5>7P; ɱ\p
-bnN [Y5>Y}aݠs__֥f)=g&ޢsV
-endstream
+643 0 obj
+<< /D [ 610 0 R /XYZ 75.854 368.082 null ] >>
endobj
644 0 obj
-<< /Type /Page /Contents 645 0 R /Resources 643 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+<< /D [ 610 0 R /XYZ 75.854 357.123 null ] >>
+endobj
+645 0 obj
+<< /D [ 610 0 R /XYZ 75.854 346.164 null ] >>
endobj
646 0 obj
-<< /D [ 644 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 335.205 null ] >>
endobj
647 0 obj
-<< /D [ 644 0 R /XYZ 78.499 768.829 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 324.246 null ] >>
endobj
648 0 obj
-<< /D [ 644 0 R /XYZ 78.499 757.87 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 313.287 null ] >>
endobj
649 0 obj
-<< /D [ 644 0 R /XYZ 78.499 746.912 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 292.019 null ] >>
endobj
650 0 obj
-<< /D [ 644 0 R /XYZ 78.499 735.953 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 281.06 null ] >>
endobj
651 0 obj
-<< /D [ 644 0 R /XYZ 78.499 724.994 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 241.535 null ] >>
endobj
652 0 obj
-<< /D [ 644 0 R /XYZ 78.499 714.035 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 230.576 null ] >>
endobj
653 0 obj
-<< /D [ 644 0 R /XYZ 78.499 703.076 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 219.617 null ] >>
endobj
654 0 obj
-<< /D [ 644 0 R /XYZ 78.499 692.117 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 208.658 null ] >>
endobj
655 0 obj
-<< /D [ 644 0 R /XYZ 78.499 681.158 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 197.699 null ] >>
endobj
656 0 obj
-<< /D [ 644 0 R /XYZ 78.499 653.292 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 186.74 null ] >>
endobj
657 0 obj
-<< /D [ 644 0 R /XYZ 78.499 642.333 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 175.781 null ] >>
endobj
658 0 obj
-<< /D [ 644 0 R /XYZ 78.499 614.467 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 164.822 null ] >>
endobj
659 0 obj
-<< /D [ 644 0 R /XYZ 78.499 603.508 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 151.037 null ] >>
endobj
660 0 obj
-<< /D [ 644 0 R /XYZ 78.499 592.55 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 140.078 null ] >>
endobj
661 0 obj
-<< /D [ 644 0 R /XYZ 78.499 581.591 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 100.552 null ] >>
endobj
662 0 obj
-<< /D [ 644 0 R /XYZ 78.499 570.632 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 89.593 null ] >>
endobj
663 0 obj
-<< /D [ 644 0 R /XYZ 78.499 559.673 null ] >>
-endobj
-664 0 obj
-<< /D [ 644 0 R /XYZ 78.499 548.714 null ] >>
+<< /D [ 610 0 R /XYZ 75.854 78.635 null ] >>
endobj
-665 0 obj
-<< /D [ 644 0 R /XYZ 78.499 537.755 null ] >>
+609 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
666 0 obj
-<< /D [ 644 0 R /XYZ 78.499 526.796 null ] >>
+<< /Filter /FlateDecode /Length 2720 >>
+stream
+x[K# ϯ19F"E=
+M+DfF! 9 N r.]͵3ѽH"=6Y}' /(7fxfLpm P("~GD7N}@͛RGl{&r՘uCeBrнMJAЉ `p lInwmGn3BNe
+@|DEK?;'iZΤyKhaGy_{sLJp$ {nI?U޶>p-\;$tL#تUn A%(v!thy%35#gwYƏ)]=gG;D5vP~X}o)ŃS2gg&>OV` di#Y:m #N)TbH{`XV5Ĥ궂W@isf@lJ,WpLoS!.b#2!^&a~J2 P)} Ho5 R d5Sv"(?0ii R|3Vt\ѽi)z!\6٥-sh uoߝ581BBny 6nQ+!P ;3}Bt
+N3"Ĕj29ϐe&r"|tfBktDQ!Ba,fZڷCM
+&f BGuZ0 Hv%˚G7kЬoFi%<G4Fz%d;!axb!büAsK[eb$q MsAWz;l;֗KZxawnĽ]IEjk<zۣ1;RQoE_*'sBͥxh 24-]#fVff@&R8|VJ}`a.Qرf)[}~{F$ %u0a9Ù%Tcߛ]^ɨfQc[%'D|
+KNu"؊(+ pgY2BZQx{k-,7kyM29`vEa d,`D!p@ c,
+4$VkڶJԺrGqM-*
+ˌK4t=Ck/$" n[ít;h$GWRV'A4]8TcIbJ&M~ ޝxkk|I|tv#&+ [0sΤY-gB떲ˈ V>KShlj2[:ߖ!3cw[R|XfxE#xϽכs^%4ǵ]py ^Qm^N !R%`ݤh=UMN*Qp[+!^Ql|٨ܑ[&|_wW
+`t4=z!{]@ǜJO4rS Vnls6m^\1 x3 =nt,oRxΔ\J#w1yHL1>Bp_?6M&~ksWډ8?IQ~#,i{G-- e-g&y+sqpU! x/G=FC.0D=)_6wMW
+| SMdt&12Xx /
+Ku/
+lf Άۦ YuĚ]NnySN
+endstream
+endobj
+665 0 obj
+<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
667 0 obj
-<< /D [ 644 0 R /XYZ 78.499 515.837 null ] >>
+<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
endobj
668 0 obj
-<< /D [ 644 0 R /XYZ 78.499 504.878 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 768.829 null ] >>
endobj
669 0 obj
-<< /D [ 644 0 R /XYZ 78.499 477.012 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 757.87 null ] >>
endobj
670 0 obj
-<< /D [ 644 0 R /XYZ 78.499 466.054 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 746.912 null ] >>
endobj
671 0 obj
-<< /D [ 644 0 R /XYZ 78.499 426.232 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 735.953 null ] >>
endobj
672 0 obj
-<< /D [ 644 0 R /XYZ 78.499 382.412 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 724.994 null ] >>
endobj
673 0 obj
-<< /D [ 644 0 R /XYZ 78.499 350.546 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 714.035 null ] >>
endobj
674 0 obj
-<< /D [ 644 0 R /XYZ 78.499 330.635 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 664.222 null ] >>
endobj
675 0 obj
-<< /D [ 644 0 R /XYZ 78.499 319.676 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 653.263 null ] >>
endobj
676 0 obj
-<< /D [ 644 0 R /XYZ 78.499 279.855 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 642.304 null ] >>
endobj
677 0 obj
-<< /D [ 644 0 R /XYZ 78.499 268.896 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 631.345 null ] >>
endobj
678 0 obj
-<< /D [ 644 0 R /XYZ 78.499 257.938 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 620.386 null ] >>
endobj
679 0 obj
-<< /D [ 644 0 R /XYZ 78.499 246.979 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 609.427 null ] >>
endobj
680 0 obj
-<< /D [ 644 0 R /XYZ 78.499 236.02 null ] >>
+<< /D [ 665 0 R /XYZ 79.37 583.978 null ] >>
endobj
681 0 obj
-<< /D [ 644 0 R /XYZ 78.499 225.061 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 534.244 null ] >>
endobj
682 0 obj
-<< /D [ 644 0 R /XYZ 78.499 214.102 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 523.285 null ] >>
endobj
683 0 obj
-<< /D [ 644 0 R /XYZ 78.499 203.143 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 474.468 null ] >>
endobj
684 0 obj
-<< /D [ 644 0 R /XYZ 78.499 192.184 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 427.644 null ] >>
endobj
685 0 obj
-<< /D [ 644 0 R /XYZ 78.499 181.225 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 380.819 null ] >>
endobj
686 0 obj
-<< /D [ 644 0 R /XYZ 78.499 170.266 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 345.95 null ] >>
endobj
687 0 obj
-<< /D [ 644 0 R /XYZ 78.499 159.307 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 334.991 null ] >>
endobj
688 0 obj
-<< /D [ 644 0 R /XYZ 78.499 148.348 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 288.167 null ] >>
endobj
689 0 obj
-<< /D [ 644 0 R /XYZ 78.499 122.47 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 259.275 null ] >>
endobj
690 0 obj
-<< /D [ 644 0 R /XYZ 78.499 111.511 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 218.428 null ] >>
endobj
691 0 obj
-<< /D [ 644 0 R /XYZ 78.499 100.552 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 171.604 null ] >>
endobj
692 0 obj
-<< /D [ 644 0 R /XYZ 78.499 89.593 null ] >>
-endobj
-693 0 obj
-<< /D [ 644 0 R /XYZ 78.499 78.635 null ] >>
+<< /D [ 665 0 R /XYZ 75.854 112.824 null ] >>
endobj
-643 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+664 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R /F65 215 0 R /F30 221 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-696 0 obj
-<< /Filter /FlateDecode /Length 2002 >>
+695 0 obj
+<< /Filter /FlateDecode /Length 2896 >>
stream
-xZr6+hU.WY4U959
-og'ż D'19<Lƍ| |_o<xvjr_ìp\c~ñ2ܚ߆c?.9 yL~~kpx&5:!oH9\mr@I -urћfa
-Z757
-_Z
-nj5NOZ;ӑE=^zq*QWr|O7 ;ԫ`ll Z[RZ']֯)k~
-eL#jx!um)FBkjΙ؟bZ{,q>u k]X-]j(KM}_qj= R Ez*IoA:\dw8jdF-
-eVΈRKj<Q]u!=3<ums6q}J04fyBr./ugͣug`1:.M,C}_3pf%,RFTE;yYWPZw=14p]y֬W.Y1LJUJS#
-ց&<5E"QdV/4#:i+r1 iF(_]^?q
-9l&N" S/[`K,ֽF ;Q6sڋBB. MQhǔ:ɚy7Zcz̻ ԡޓsS[ml`JM/MIa|&[H(s~>] b'{{%XjFJ1+ .c85nzB{KYO0k 76cBKZ~zc3' C(rX;R~ rXa[۰ބ2b[ Qg}١76%J FAݻ^»zЋAvNU#}v\W]7q1&
+x\ˎc7WZH=Bq Yo-+h`fQIEQO9?vӠ翿 8d`\zsyyڕ :Dw0oi<B"3ҙRIOHsr%9 N7a\!s^)(9ij;طHaĥILz^8En
+0>)T$TXڹ;7 KGipX5JtLp]ؑ gMrEx</Yt<*M&,M 9VTvtKȺq1?VFdf6.,<fKJߊ-hhPՌF#ͻV4$dgZg*;I@00d
+D <.j' d9ؖ
+# TCq޹, LYrsⴭEUXVk\TA&t*L:ʳ:&W:v{8t)]t wCZtNaۉ2 SSsjұlsK,T=4þE)k֊IK~"J$^an^wuzmA).mc]vz[ *s4MN:njaqW \Xzƻ!]<0Jx-" #F\GbF3>
+K;M,916#\okr(R^f V@hoW@5h4eOp`? 2 6Qb
+cr%[d'C>&]p[I"^;3-2SS\G4+.g8vn
+v'Kdj&tFzMP䷝D<L)+"A/aďխ@άr]h}A|s[i'˧DץLh(
endstream
endobj
-695 0 obj
-<< /Type /Page /Contents 696 0 R /Resources 694 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+694 0 obj
+<< /Type /Page /Contents 695 0 R /Resources 693 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
+endobj
+696 0 obj
+<< /D [ 694 0 R /XYZ 78.37 808.885 null ] >>
endobj
697 0 obj
-<< /D [ 695 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 730.975 null ] >>
endobj
698 0 obj
-<< /D [ 695 0 R /XYZ 78.499 768.829 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 720.016 null ] >>
endobj
699 0 obj
-<< /D [ 695 0 R /XYZ 78.499 757.87 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 673.207 null ] >>
endobj
700 0 obj
-<< /D [ 695 0 R /XYZ 78.499 742.255 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 638.352 null ] >>
endobj
701 0 obj
-<< /D [ 695 0 R /XYZ 78.499 731.296 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 567.632 null ] >>
endobj
702 0 obj
-<< /D [ 695 0 R /XYZ 78.499 720.337 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 520.823 null ] >>
endobj
703 0 obj
-<< /D [ 695 0 R /XYZ 78.499 709.378 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 509.864 null ] >>
endobj
704 0 obj
-<< /D [ 695 0 R /XYZ 78.499 698.419 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 475.01 null ] >>
endobj
705 0 obj
-<< /D [ 695 0 R /XYZ 78.499 687.461 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 428.2 null ] >>
endobj
706 0 obj
-<< /D [ 695 0 R /XYZ 78.499 676.502 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 381.391 null ] >>
endobj
707 0 obj
-<< /D [ 695 0 R /XYZ 78.499 665.543 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 370.432 null ] >>
endobj
708 0 obj
-<< /D [ 695 0 R /XYZ 78.499 626.667 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 335.578 null ] >>
endobj
709 0 obj
-<< /D [ 695 0 R /XYZ 78.499 601.576 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 300.723 null ] >>
endobj
710 0 obj
-<< /D [ 695 0 R /XYZ 78.499 590.617 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 289.764 null ] >>
endobj
711 0 obj
-<< /D [ 695 0 R /XYZ 78.499 579.658 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 254.91 null ] >>
endobj
712 0 obj
-<< /D [ 695 0 R /XYZ 78.499 568.699 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 243.951 null ] >>
endobj
713 0 obj
-<< /D [ 695 0 R /XYZ 78.499 541.778 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 197.142 null ] >>
endobj
714 0 obj
-<< /D [ 695 0 R /XYZ 79.822 530.819 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 186.183 null ] >>
endobj
715 0 obj
-<< /D [ 695 0 R /XYZ 79.822 515.204 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 151.328 null ] >>
endobj
716 0 obj
-<< /D [ 695 0 R /XYZ 79.822 504.245 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 140.369 null ] >>
endobj
717 0 obj
-<< /D [ 695 0 R /XYZ 79.822 493.286 null ] >>
+<< /D [ 694 0 R /XYZ 75.854 105.515 null ] >>
endobj
-718 0 obj
-<< /D [ 695 0 R /XYZ 79.822 482.327 null ] >>
-endobj
-719 0 obj
-<< /D [ 695 0 R /XYZ 79.822 471.368 null ] >>
+693 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
720 0 obj
-<< /D [ 695 0 R /XYZ 79.822 460.41 null ] >>
+<< /Filter /FlateDecode /Length 3204 >>
+stream
+x9$џW" h40Jn&YȨ*&"s7y|*s "Xxț% JHnw׋oR/T~@>qƑw@rs]V}9$Dn!
+J ch%>+e\@Rs &y= }D<1OcY'f D0[c{fcd;ޫ0
+cq&}u&yU\4C3llkP I+|p"$
+p0%m%l$`K~(&Fx8(}WS|(4,T?ZM h߷0HaAnX+&P1D6d'jHU]Z`SqaL&δj,g,[$+P/8ĖG@~cpFϺ)lω īMë
+O3N u3!TYVr Rڠcjnr8d)nlDyn.daw Jj5V*SZ}Q6YFVٶ~
+5-#<Dxm1$ie]RI1jʴ o-wղ
+zvӬPf%͒:R&_!|d_y岡F&ab1'n})vG%炑N .9bDfI!sHRdV$b67UheĄ427D3{LƳf6왶/s:(! l3s zmMS6hҙ5.y)ݫWgةv-eJz)qۯ~ʶE6CV~*|`RkRͫo_SRךHGL#ʲlu0 6bb6hly  2 !w)^xZG5p<Pb5k,atK@;MU`8੸c, GfP f<
+MCsE)h4F80 v @鬻U[!O؞Ē֬\0^t
+P8| k]4jKwhz1.ȟ<J
+h={U[G(Bztf
+WTGv|+0V~&]|uyH*S'<FWoʽ ^%Dοmᄓ?e?(c pc_n}N6cN]ݫ΋ zʜS87#Ey$~@{MR
+$@^
+R
+0 KA"E4?>aG'K`eB;(!,JnPF O ~殒դ< ^O+w`]0:V@f3ݔ~~߃s7pen`DSV9C}!#]1BzxZk
+X8TWy^KrbH[
+Ƃ#U  XV~S]7*tªŨdT3'EIIr3Z\ၶXxx0Aw٤\JieD3b_;z= bk-\8 NtT [9,_v+%Zt5 psݧ+_0fz"@:/GIjt&䄻IA<G9ݢlŅ('HmJL [pYbֻ;BN-Y55WGu|{NV}RGf E+W_uL͘ǧѪ疔^OX$S5H-6CqDnn[VOidFz4slZq7&{1;mZt um gK{}vӛ6vo'+;RHO&km!31j%=]ŖNf!LKaxk9Cj{j'\9a/ӄ_LѾF_{$/Z#]0Env؍(XYdR*6ۯf҄npr>^?;E}2]"۫d}O.bjJT_(s xE"ҿEY!Ϡ\L
+`X&W2)$eR+Ry8Cq$CHxSJL)VOeӔmE~Y5(
+F9ߎ:y90;0 `/c)X*=(zBHX3*qpk9Mhk]4i.jA!,+0JGuTƝګؑ$902U@J_4RyS&9
+endstream
+endobj
+719 0 obj
+<< /Type /Page /Contents 720 0 R /Resources 718 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
721 0 obj
-<< /D [ 695 0 R /XYZ 79.822 449.451 null ] >>
+<< /D [ 719 0 R /XYZ 78.37 808.885 null ] >>
endobj
722 0 obj
-<< /D [ 695 0 R /XYZ 79.822 438.492 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 650.274 null ] >>
endobj
723 0 obj
-<< /D [ 695 0 R /XYZ 79.822 427.533 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 577.547 null ] >>
endobj
724 0 obj
-<< /D [ 695 0 R /XYZ 79.822 416.574 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 542.677 null ] >>
endobj
725 0 obj
-<< /D [ 695 0 R /XYZ 79.822 400.959 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 459.987 null ] >>
endobj
726 0 obj
-<< /D [ 695 0 R /XYZ 79.822 390 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 425.118 null ] >>
endobj
727 0 obj
-<< /D [ 695 0 R /XYZ 79.822 379.041 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 390.249 null ] >>
endobj
728 0 obj
-<< /D [ 695 0 R /XYZ 79.822 368.082 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 355.38 null ] >>
endobj
729 0 obj
-<< /D [ 695 0 R /XYZ 79.822 357.123 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 344.421 null ] >>
endobj
730 0 obj
-<< /D [ 695 0 R /XYZ 79.822 346.164 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 309.552 null ] >>
endobj
731 0 obj
-<< /D [ 695 0 R /XYZ 79.822 335.205 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 238.817 null ] >>
endobj
732 0 obj
-<< /D [ 695 0 R /XYZ 79.822 324.246 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 213.91 null ] >>
endobj
733 0 obj
-<< /D [ 695 0 R /XYZ 79.822 313.287 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 202.951 null ] >>
endobj
734 0 obj
-<< /D [ 695 0 R /XYZ 79.822 292.019 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 191.992 null ] >>
endobj
735 0 obj
-<< /D [ 695 0 R /XYZ 79.822 281.06 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 181.034 null ] >>
endobj
736 0 obj
-<< /D [ 695 0 R /XYZ 79.822 241.535 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 170.075 null ] >>
endobj
737 0 obj
-<< /D [ 695 0 R /XYZ 79.822 230.576 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 159.116 null ] >>
endobj
738 0 obj
-<< /D [ 695 0 R /XYZ 79.822 219.617 null ] >>
-endobj
-739 0 obj
-<< /D [ 695 0 R /XYZ 79.822 208.658 null ] >>
+<< /D [ 719 0 R /XYZ 75.854 148.157 null ] >>
endobj
-740 0 obj
-<< /D [ 695 0 R /XYZ 79.822 197.699 null ] >>
+718 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F81 257 0 R /F59 226 0 R /F84 305 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
741 0 obj
-<< /D [ 695 0 R /XYZ 79.822 186.74 null ] >>
+<< /Filter /FlateDecode /Length 2248 >>
+stream
+xZɎ7+ ,+@s rMNkbLlMY,ZH~/}}v7`/"/b=b`܈??^8sy\ݾUS|w/=k{Ǫy2L9:,R mg:|?8kn?^p$T#Qa1Y ot C: ] ~"WZl+w q&s@% e #.F=po<0Y-XkĿѢ ݴdeelWls3 . gvd)K^Uz?yqy3?[
+-@8;g(@s][p Rܘ.a'5
+i=Xܩj.uHfל_8k>I1 ]\ M-pJ04F P=@l"T0;Y# +x@v{<JyB i7y997B3XV3]D7H$露34vс
+eETUgrí` se+DB }iO1Fzxw췍cT*}tV5LTc*KڕT*ؗJE4O/GϾjtt2 (R]Mì\mW#B(CwCf)Zkk
+ uvW
+N<Y)AL,a8- H*+iұMkŦQZg#Az#cM4Ӵ}j&Xxx=NrMKKF=Z@ƲvWQ78 LmqB<u6<jaJ]s2e<C &y]e %RP#@Jjb\K(RZ._XR2EvuʇjRȝԘ3j5]O6
+hSr
+endstream
+endobj
+740 0 obj
+<< /Type /Page /Contents 741 0 R /Resources 739 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
742 0 obj
-<< /D [ 695 0 R /XYZ 79.822 175.781 null ] >>
+<< /D [ 740 0 R /XYZ 78.37 808.885 null ] >>
endobj
743 0 obj
-<< /D [ 695 0 R /XYZ 79.822 164.822 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 742.926 null ] >>
endobj
744 0 obj
-<< /D [ 695 0 R /XYZ 79.822 151.037 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 731.968 null ] >>
endobj
745 0 obj
-<< /D [ 695 0 R /XYZ 79.822 140.078 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 721.009 null ] >>
endobj
746 0 obj
-<< /D [ 695 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 710.05 null ] >>
endobj
747 0 obj
-<< /D [ 695 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 699.091 null ] >>
endobj
748 0 obj
-<< /D [ 695 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 688.132 null ] >>
endobj
-694 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+749 0 obj
+<< /D [ 740 0 R /XYZ 75.854 677.173 null ] >>
endobj
-752 0 obj
-<< /Filter /FlateDecode /Length 2727 >>
-stream
-x[K# 1{DQ/h^`} rMN?F/Urӓ,[%OG˿. g*S 2g?_/b.F Ƶ|+
-8oK^x2!SVR
-uq~hlGǤh'&?J|Agig҄7ݛ `$r;RO5?-Ox7C X+kN`^<2j|OFSkW()\n!!ȑY򶧜!L9[ҦX:ťJwRWդi@yV_
-uA}Ho)#ȱ3M3rUfo}(`t&;Ed࡯K|H |fHT
-N3́4Φ,h,(GMmR)>!)6jSChfHu)],}oS9.bNI~U#pG$=UMb,KR) }ҭ4HfkREl'RAQ<-L ] eaZ8p%<MO[[yY/'2L2HP}k` Kpias+x $+D (yhfWPMÉL)_bn G%qw>{eb+Gc&#AYTPN3HV}֓Q4iƗ#O2 mQRGz+Y<_6xЀf@^q#$JYsl$g;ܲɝt}n,}ސv3{uyZ޸_a6T.00h V8l;֗ Xvny{?Ck"J魷x?d, CpD)Ri'+c2-]#>dwBߌ}-9@G\4l(<u,UJ}hcoH9 BYU0؜Lc-{k!w"EFҮĄ$}oa>!d*3P'"򏫌r̿TGx;iu>'.c,A y"\kv?#5i0 MPi7$|ԋC2( Ðט\`YTed-[NbЁjZ UVs#d;lwDR2 2-z|[ήgQ/1B6652bRR掰o+ē[-ڶJ9pkt3XQ-ʙu3#y@ƍAR%@p~緷*ӕw^%weEN'mw>ET$*XthJ3$&$ZsԲD4Rg,Yw>=\ڍvYٍQ5қ$2IۜIZ͜+%k.TҶ\*ch8/gcUV3S*;ⱚ^+G^^:v}τXs*߆)1y #z"5<]L@ EkgϻOj|nwVэ^q^bF2yp
-oBxDcñҔO~T")GtPsN `DR׽6=];񡒓nZ:)Aođ%ltr{MKB&)E`3X|6z\!?=Ꞽ
-*1 ^Nx
-hp'/+?h7t)3K1[ĩi'ij `=%{{ շٝLi9-pYwD㎪PX̾b9Lw}R?!1r(:i!sY1)e(8jQмv.= NF_n؍`)ۧ2&yyTX{(Whm%8.w6:5*똑c
-(~m٦H|ڗABg.QMFwrzɛ]bQƤr@Q<--{ey- %2#`M5ֽk'G׎T1&nm;Nd3ȟ+-juAsG\<̉iZWDd.W0WUUV6DS,:NPm)~؇=VܨyRϹ([VyfÓN
-}nEUɽtkWnpV Ժ]aٽo
-zrK xnȴj}ָ^˓[s>--}RLkVgAtY9fV0CtL:v\)Cm pjl7v'@O6mAl@FK.o_PZ
-endstream
+750 0 obj
+<< /D [ 740 0 R /XYZ 75.854 666.214 null ] >>
endobj
751 0 obj
-<< /Type /Page /Contents 752 0 R /Resources 750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 740 0 R /XYZ 75.854 655.255 null ] >>
+endobj
+752 0 obj
+<< /D [ 740 0 R /XYZ 75.854 644.296 null ] >>
endobj
753 0 obj
-<< /D [ 751 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 609.427 null ] >>
endobj
754 0 obj
-<< /D [ 751 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 574.558 null ] >>
endobj
755 0 obj
-<< /D [ 751 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 563.599 null ] >>
endobj
756 0 obj
-<< /D [ 751 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 528.73 null ] >>
endobj
757 0 obj
-<< /D [ 751 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 503.823 null ] >>
endobj
758 0 obj
-<< /D [ 751 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 492.864 null ] >>
endobj
759 0 obj
-<< /D [ 751 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 420.137 null ] >>
endobj
760 0 obj
-<< /D [ 751 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 409.178 null ] >>
endobj
761 0 obj
-<< /D [ 751 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 398.219 null ] >>
endobj
762 0 obj
-<< /D [ 751 0 R /XYZ 79.822 642.304 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 387.26 null ] >>
endobj
763 0 obj
-<< /D [ 751 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 376.301 null ] >>
endobj
764 0 obj
-<< /D [ 751 0 R /XYZ 79.822 620.386 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 335.454 null ] >>
endobj
765 0 obj
-<< /D [ 751 0 R /XYZ 79.822 609.427 null ] >>
-endobj
-209 0 obj
-<< /D [ 751 0 R /XYZ 79.37 583.978 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 324.496 null ] >>
endobj
766 0 obj
-<< /D [ 751 0 R /XYZ 79.822 534.244 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 313.537 null ] >>
endobj
767 0 obj
-<< /D [ 751 0 R /XYZ 79.822 523.285 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 302.578 null ] >>
endobj
768 0 obj
-<< /D [ 751 0 R /XYZ 79.822 474.468 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 291.619 null ] >>
endobj
769 0 obj
-<< /D [ 751 0 R /XYZ 79.822 427.644 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 280.66 null ] >>
endobj
770 0 obj
-<< /D [ 751 0 R /XYZ 79.822 380.819 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 269.701 null ] >>
endobj
771 0 obj
-<< /D [ 751 0 R /XYZ 79.822 345.95 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 258.742 null ] >>
endobj
772 0 obj
-<< /D [ 751 0 R /XYZ 79.822 334.991 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 247.783 null ] >>
endobj
773 0 obj
-<< /D [ 751 0 R /XYZ 79.822 288.167 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 206.936 null ] >>
endobj
774 0 obj
-<< /D [ 751 0 R /XYZ 79.822 259.275 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 195.978 null ] >>
endobj
775 0 obj
-<< /D [ 751 0 R /XYZ 79.822 218.428 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 185.019 null ] >>
endobj
776 0 obj
-<< /D [ 751 0 R /XYZ 79.822 171.604 null ] >>
+<< /D [ 740 0 R /XYZ 75.854 174.06 null ] >>
endobj
777 0 obj
-<< /D [ 751 0 R /XYZ 79.822 112.824 null ] >>
-endobj
-750 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R /F65 327 0 R /F30 333 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 740 0 R /XYZ 75.854 163.101 null ] >>
endobj
-780 0 obj
-<< /Filter /FlateDecode /Length 2898 >>
-stream
-x\ˎc7WZ7P( ndݻ`3mEז40^]Ço~
-}0DxOd=d`܈z
-5
-\<G'"ΜO\ޚ~1
-땂
-JZAV*ti3
-Xb=Y6@i8WO .&ֻ# tCnq')˽E2?w<%Ο3}-9ƺ(_"'2 PIGaү0Iژ_Y'Mw܃089S.Pt vCZuN˾u;yc9hzp}7%KR6Tsc4Sr/ ;E$D9ykgڼJ1 m]QǺ
-=2o5,6;3Z}3?ƹlpC0-yd0*<wCPI,qYj@
-:$tH(jmw18c Jff&ð`CyF"ɞilw9js!=`D3d2"ް`^M3DtR>]=TWQPݒsu^nr^V,ܐSŘHd[51)o7sW4얙GAR ^uϝ|[[:ڡQst{+mv Ue"|PJEB\iW Cj~H>YY~S,ϵܳ<p~2<j`%0 L^_']m,ȑcxvcwkEHWSelȦ0]-( &?^+JޚzZm9~#>@TLK16#\okj(P)/CH}B1U<P:M X`qMMn$GW^GU3Crj:UR Z+I1FiO:P1җ3s N G|u pP8!Z8F>姚*hp&ҜdD |C1u-BNxPJQ9JЯ%ƳSpLHM`˥\k(Jy7Sqʄ́= B($ȭ/! U
->L>@eqo&-D^#k?AN߮ ^΋jևu+2H
-t >A繅?@c4ɇU.WʑW316/NYJ%V oT* KW$+2nh",  n\ OgeRK5m ;*ș]Tjܟ{Oo\Oj@0ԤCjiX@~PXk:hصg8h30;
-X I;"! ^
-j%[d'̓|(M\QpdzI"^xYĔQ8Y1"  D݉s!"3?aJ2=g[:#[=&N"G )+"A/aխ@Ϭr,]L;+Дy+_9!3^oOK79d#r@]Yji{E/RQW \?>zo-!L,
-pK3ݩ&=C~44Wگt*]_MiVROFa=)9*޻o4HB
-״vH¤RXZ5+μ4ou5
-endstream
+778 0 obj
+<< /D [ 740 0 R /XYZ 75.854 152.142 null ] >>
endobj
779 0 obj
-<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 740 0 R /XYZ 75.854 141.183 null ] >>
endobj
-781 0 obj
-<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
+780 0 obj
+<< /D [ 740 0 R /XYZ 75.854 130.224 null ] >>
endobj
-782 0 obj
-<< /D [ 779 0 R /XYZ 79.822 730.975 null ] >>
+739 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
783 0 obj
-<< /D [ 779 0 R /XYZ 79.822 720.016 null ] >>
+<< /Filter /FlateDecode /Length 2962 >>
+stream
+xrܺx
+bz-m!o_fT 8{$3;@{I@h' Vo}W'DqOr0
+=^*0XXWk ߉$
+}ș &r -ݞ jIDr"V8BRm~&Y.*}5ʋ ;lDtޮAP2«-%HDj$~E PX
+lz\_$p\~
+XY&U^֟;DV,n
+4T#4x]3$Ss,%<C
+06܌^i LR"F$ohThG#):kF"GPZ-Bsi Ѡ$6kJʕ!?rgKn2US%@?Opz.:-];kM[I[VM!K<D5e׸,X}Ҭˎ+t& V7(Ja'qT^xc[g`ywͻ[g%'N981u6a]sEwߧ BZAzJK|h)~4tD$gG{e&
+r3%@~(2Ȑrw'<|bߝBnזGeKR6v^;qyaf&˦sҨd
+`HZckDi&:}(V[~߬#\q")1cSX$K~%4!2Yj4eFoq1UjQma:Jd]L*j"tJ]YHaz}tT!3U\-rQ׺Q}R3BQ۲D ʟPnNr֞c1ۚoJWoQr;= vD q^7"*?㊧e@ Iex%*dKJ)ʽ sb@k,hHe+gcs䏬1>;c$ss^8X -~1cHa*}&Np38K3J3fsa^!gi{=-l .g,%&-jq,2}uf񰢝!gw-
+=藺P2ݩ:g2bz(&X ,Dy;GcRa911H c)M#9dg,Ӌ{4/n3!ZHtt"F3AYO+ygd:CuD/ a{M_f(_@ÂA/h+iU>ɍRfl<!7fȑⲔCn!sokx}kxڛ3Ț>2R\!ȘxwޟXVlEt<3nQ7uo>( ]=C/\\jrOjҟ()pG<zi+CT
+g4./<mP
+WL7xTD' 8߇"惆V{φdm.)%{`{}.4.!F#_SuCAK_堐Ay2NPp(l);az,=~AL#%)K٧nEO%tB<|hRZ 7=1h꽸e#-J+˨Giˢ5QIJo}W/Ҽgj.::Y~ZnH\s^p6ء;\޺'HFD~a^FG ٜT nx)
+M!MzhJ2^!.{FFԿz:  KTJU29ݒDԂoSM;/=_)K
+P/L#oz|Jlp('hz-ͳ+9CMpOTlJD@jP} (fe q64t܂T}aP~ 8{NǀTR jL,^xz4!XYk<|֦2iz'S TGK:ۜ' Cgz;zeOD#˙9 : ?ySacdTy'$
+S"*hBadFqҨipCO16$}Tחq6Zf>~>SJ @&gV.½7f%g8۝>t>2Pt?V_CLPӪz]~_Q$:
+endstream
+endobj
+782 0 obj
+<< /Type /Page /Contents 783 0 R /Resources 781 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
784 0 obj
-<< /D [ 779 0 R /XYZ 79.822 673.207 null ] >>
+<< /D [ 782 0 R /XYZ 78.37 808.885 null ] >>
endobj
785 0 obj
-<< /D [ 779 0 R /XYZ 79.822 638.352 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 719.071 null ] >>
endobj
786 0 obj
-<< /D [ 779 0 R /XYZ 79.822 567.632 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 708.112 null ] >>
endobj
787 0 obj
-<< /D [ 779 0 R /XYZ 79.822 520.823 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 667.591 null ] >>
endobj
788 0 obj
-<< /D [ 779 0 R /XYZ 79.822 509.864 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 656.632 null ] >>
endobj
789 0 obj
-<< /D [ 779 0 R /XYZ 79.822 475.01 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 592.201 null ] >>
endobj
790 0 obj
-<< /D [ 779 0 R /XYZ 79.822 428.2 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 536.574 null ] >>
endobj
791 0 obj
-<< /D [ 779 0 R /XYZ 79.822 381.391 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 525.615 null ] >>
endobj
792 0 obj
-<< /D [ 779 0 R /XYZ 79.822 370.432 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 514.656 null ] >>
endobj
793 0 obj
-<< /D [ 779 0 R /XYZ 79.822 335.578 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 503.697 null ] >>
endobj
794 0 obj
-<< /D [ 779 0 R /XYZ 79.822 300.723 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 492.738 null ] >>
endobj
795 0 obj
-<< /D [ 779 0 R /XYZ 79.822 289.764 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 481.779 null ] >>
endobj
796 0 obj
-<< /D [ 779 0 R /XYZ 79.822 254.91 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 470.82 null ] >>
endobj
797 0 obj
-<< /D [ 779 0 R /XYZ 79.822 243.951 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 459.861 null ] >>
endobj
798 0 obj
-<< /D [ 779 0 R /XYZ 79.822 197.142 null ] >>
+<< /D [ 782 0 R /XYZ 79.37 422.769 null ] >>
endobj
799 0 obj
-<< /D [ 779 0 R /XYZ 79.822 186.183 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 387.037 null ] >>
endobj
800 0 obj
-<< /D [ 779 0 R /XYZ 79.822 151.328 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 376.078 null ] >>
endobj
801 0 obj
-<< /D [ 779 0 R /XYZ 79.822 140.369 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 365.119 null ] >>
endobj
802 0 obj
-<< /D [ 779 0 R /XYZ 79.822 105.515 null ] >>
-endobj
-778 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 782 0 R /XYZ 75.854 354.16 null ] >>
endobj
-805 0 obj
-<< /Filter /FlateDecode /Length 3203 >>
-stream
-x9$џW" h40Jn&YȨ*&"s7y|*s "Xxț% JHnw׋oR/T~@>qƑw@rs]V}9$Dn!
-J ch%>+e\@Rs &y= }D<1OcY'f D0[c{fcd;ޫ0
-cq&}u&yU\4C3llkP I+|p"$
-p0%m%l$`K~(&Fx8(}WS|(4,T?ZM h߷0HaAnX+&P1D6d'jHU]Z`SqaL&δj,g,[$+P/8ĖG@~cpFϺ)lω īMë
-w)8c<Tj(*ۗeԵf+RejC7t7L؆x sgd so]޴Q =ϯ&TmvMk# z9ŪNiu՟< x* 6fBz\Q
- 
-@eeG^Xa2*jy-2tءG3mෲa쵤F'Ű jȢn)谤N89,02܉ҥ/#\+h.IRwIxM3(bO-'~Jġ8cJoDFUn.Q*4J4_ e_]q79 l<r/~h</zx[8dv<>=X[_,͘lbF|23HoDQ"5|w~d@j^Ӄh  oHMyf*t`Im}pxJHe9 x5[k)QSǠd5)ςד&J-]7^0:V@f3ݔ~~߃s7pen`DSV9C}!#]1BzxZk
-X8TWy^KrbH[
-Ƃ#U  XV~S]7*tªŨdT3'EIIr3Z\ၶXxx0Aw٤\JieD3b_;z= bk-\8 NtT [9,_v+%Zt5 psݧ+_0fz"@:/GIjt&䄻IA<G9ݢlŅ('HmJL [pYbֻ;BN-Y55WGu|{NV}RGf E+W_uL͘ǧѪ疔^OX$S5H-6CqDnn[VOidFz4slZq7&{1;mZt um gK{}vӛ6vo'+;RHO&km!31j%=]ŖNf!LKaxk9Cj{jG^9 {&b6
-#=~/r3F\n@9b& %R9_~M`wd7&p*5 ܹ,^%KxrSS2^F[.B7}."] yu".fR@U2)I1 )]ɗz_ߎƩ/@0 wFeƳUdJz*ls(A~<T0BvˁJ:E
-hx49'J)e3Cy겞_!i,DF %J<ZfDSǷ.ZcU++Zz) '
-p(=.R%+wjbG ( _@)j^1 qk>z<@XcoNW
-endstream
+803 0 obj
+<< /D [ 782 0 R /XYZ 75.854 343.201 null ] >>
endobj
804 0 obj
-<< /Type /Page /Contents 805 0 R /Resources 803 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 782 0 R /XYZ 75.854 332.242 null ] >>
+endobj
+805 0 obj
+<< /D [ 782 0 R /XYZ 75.854 321.283 null ] >>
endobj
806 0 obj
-<< /D [ 804 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 310.324 null ] >>
endobj
807 0 obj
-<< /D [ 804 0 R /XYZ 79.822 650.274 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 299.365 null ] >>
endobj
808 0 obj
-<< /D [ 804 0 R /XYZ 79.822 577.547 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 234.717 null ] >>
endobj
809 0 obj
-<< /D [ 804 0 R /XYZ 79.822 542.677 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 223.758 null ] >>
endobj
810 0 obj
-<< /D [ 804 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 212.799 null ] >>
endobj
811 0 obj
-<< /D [ 804 0 R /XYZ 79.822 425.118 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 201.84 null ] >>
endobj
812 0 obj
-<< /D [ 804 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 190.881 null ] >>
endobj
813 0 obj
-<< /D [ 804 0 R /XYZ 79.822 355.38 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 179.923 null ] >>
endobj
814 0 obj
-<< /D [ 804 0 R /XYZ 79.822 344.421 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 168.964 null ] >>
endobj
815 0 obj
-<< /D [ 804 0 R /XYZ 79.822 309.552 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 158.005 null ] >>
endobj
816 0 obj
-<< /D [ 804 0 R /XYZ 79.822 238.817 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 147.046 null ] >>
endobj
817 0 obj
-<< /D [ 804 0 R /XYZ 79.822 213.91 null ] >>
-endobj
-818 0 obj
-<< /D [ 804 0 R /XYZ 79.822 202.951 null ] >>
+<< /D [ 782 0 R /XYZ 75.854 136.087 null ] >>
endobj
-819 0 obj
-<< /D [ 804 0 R /XYZ 79.822 191.992 null ] >>
+781 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
820 0 obj
-<< /D [ 804 0 R /XYZ 79.822 181.034 null ] >>
+<< /Filter /FlateDecode /Length 2164 >>
+stream
+x[n#7+U\Ȳ[kr_})JmO[bm|U9SNUd
+O?q2t'Z>̹>KKHʓeNk=u9AA@+
+- (JP^P|5%a(,^^l?q{b(Uc䚦.a
+<-W}7guAVe{j(iC73vpZL=MMkD٧{Z
+dK,vȄ-24A94 b2 eb'JK[[ATľ'h
+[㦦|CJFYJ9ߤﻑm "5۵DdIF{fQFIRtWB=@QFI=L:醗]ߧ}N@g7VIFd5SmBS8.ٜe?SQɫV,Ts6jɔzzGPE!SM{(ZzOyļ-PXNfZ~I`z$䀃`ڴ{`묢H1lOy}W@7@JIr@P:K3Ʀz5 xO+n@n<uJK)oFf37nNyi#}h?WIJGjcdsiT]'b/8*AL;)'J0 (M^^ O$m럔Y=*sIP2yW-vv:M砀_9aaAF~fv;_jg,U@%mt'xVqЇ KM:KXԀ۔`P#Emck<~Ӯ`=6HX|ŔrV͙@QF"
+Au>_,/$(u>w8K@/?0ywnoh}p)Jpk컄p gR JߙT4W;N7l:8QT(H"[%?#V3Ò<gKPVLO[28F1Pb<0A ڼv0Pg%稒VKc_ 풎?#xB6f񨃽=dQ*$0JM@B*@$$"=r3q2aQcgw
+HnʾeJT{d+hIg0e5URcC ǯ\>w,F3 *UB4eM|)s{pӞ>Ik* ?Z&
+endstream
+endobj
+819 0 obj
+<< /Type /Page /Contents 820 0 R /Resources 818 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 511 0 R >>
endobj
821 0 obj
-<< /D [ 804 0 R /XYZ 79.822 170.075 null ] >>
+<< /D [ 819 0 R /XYZ 78.37 808.885 null ] >>
endobj
822 0 obj
-<< /D [ 804 0 R /XYZ 79.822 159.116 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 768.829 null ] >>
endobj
823 0 obj
-<< /D [ 804 0 R /XYZ 79.822 148.157 null ] >>
-endobj
-803 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F81 358 0 R /F59 338 0 R /F84 404 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 819 0 R /XYZ 75.854 757.87 null ] >>
endobj
-826 0 obj
-<< /Filter /FlateDecode /Length 2254 >>
-stream
-xZr#W!wUhKe _lIٙ,dKM<x
-=|su{$WǫxEW/9k^z#c<B@Ä6N55 7P/c *]周i󬆷Yv"I?w?{+AʝCe\PwIBY^z{_|)&}W_s +J-ʳMKF[6Z8vř:&><" yyf/HRUWWg9_NHw+5ڡ*:N-Eݝ`5#]/[Q!-h?F{X U( ѠQrh0-1J S\Ipˤ*̶B2PT sM aՖFOd
-VP%0זe:]H8n!o7h}5JI.x/yca"06 &(
-kETUkFUc*ic"~zyu!Cu}i`Fh& _O5qJV/YJU7{PxIrVKj}6VG*esvs7c؜N=E궫ih\mW#B(GwC)Zkl
- uvW
-
-+xR^!!3Å!\^fay9S\P=gMN(l
-iW%p`
-*8|%/#LL^?(:S9ŸdṔ[jKGmg2nR/Kka<+c|=/ul֨Nʎo[/Hzx,g*z-$ ՛tjf0L
-gϝ/)L7mo[Tg ϗ>O޸r\05)rA~'Zƌg-VǟHIfB15qŞnMzQJMrǴj%+`Fփ%F=%Scܫ!9e'ƄGQ- Բq/f
-TP)Lx`Wrd\A:J
-endstream
+824 0 obj
+<< /D [ 819 0 R /XYZ 75.854 746.912 null ] >>
endobj
825 0 obj
-<< /Type /Page /Contents 826 0 R /Resources 824 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 819 0 R /XYZ 75.854 735.953 null ] >>
+endobj
+826 0 obj
+<< /D [ 819 0 R /XYZ 75.854 724.994 null ] >>
endobj
827 0 obj
-<< /D [ 825 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 664.222 null ] >>
endobj
828 0 obj
-<< /D [ 825 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 653.263 null ] >>
endobj
829 0 obj
-<< /D [ 825 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 642.304 null ] >>
endobj
830 0 obj
-<< /D [ 825 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 631.345 null ] >>
endobj
831 0 obj
-<< /D [ 825 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 620.386 null ] >>
endobj
832 0 obj
-<< /D [ 825 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 609.427 null ] >>
endobj
833 0 obj
-<< /D [ 825 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 598.468 null ] >>
endobj
834 0 obj
-<< /D [ 825 0 R /XYZ 79.822 677.173 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 587.509 null ] >>
endobj
835 0 obj
-<< /D [ 825 0 R /XYZ 79.822 666.214 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 576.55 null ] >>
endobj
836 0 obj
-<< /D [ 825 0 R /XYZ 79.822 655.255 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 565.591 null ] >>
endobj
837 0 obj
-<< /D [ 825 0 R /XYZ 79.822 644.296 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 536.7 null ] >>
endobj
838 0 obj
-<< /D [ 825 0 R /XYZ 79.822 609.427 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 525.741 null ] >>
endobj
839 0 obj
-<< /D [ 825 0 R /XYZ 79.822 574.558 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 514.782 null ] >>
endobj
840 0 obj
-<< /D [ 825 0 R /XYZ 79.822 563.599 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 503.823 null ] >>
endobj
841 0 obj
-<< /D [ 825 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 492.864 null ] >>
endobj
842 0 obj
-<< /D [ 825 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 481.905 null ] >>
endobj
843 0 obj
-<< /D [ 825 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 470.946 null ] >>
endobj
844 0 obj
-<< /D [ 825 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 459.987 null ] >>
endobj
845 0 obj
-<< /D [ 825 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 449.029 null ] >>
endobj
846 0 obj
-<< /D [ 825 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 438.07 null ] >>
endobj
847 0 obj
-<< /D [ 825 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 427.111 null ] >>
endobj
848 0 obj
-<< /D [ 825 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 416.152 null ] >>
endobj
849 0 obj
-<< /D [ 825 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 405.193 null ] >>
endobj
850 0 obj
-<< /D [ 825 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 394.234 null ] >>
endobj
851 0 obj
-<< /D [ 825 0 R /XYZ 79.822 313.537 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 383.275 null ] >>
endobj
852 0 obj
-<< /D [ 825 0 R /XYZ 79.822 302.578 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 372.316 null ] >>
endobj
853 0 obj
-<< /D [ 825 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 361.357 null ] >>
endobj
854 0 obj
-<< /D [ 825 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 350.398 null ] >>
endobj
855 0 obj
-<< /D [ 825 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 339.44 null ] >>
endobj
856 0 obj
-<< /D [ 825 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 328.481 null ] >>
endobj
857 0 obj
-<< /D [ 825 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 299.589 null ] >>
endobj
858 0 obj
-<< /D [ 825 0 R /XYZ 79.822 206.936 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 288.63 null ] >>
endobj
859 0 obj
-<< /D [ 825 0 R /XYZ 79.822 195.978 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 259.738 null ] >>
endobj
860 0 obj
-<< /D [ 825 0 R /XYZ 79.822 185.019 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 248.78 null ] >>
endobj
861 0 obj
-<< /D [ 825 0 R /XYZ 79.822 174.06 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 237.821 null ] >>
endobj
862 0 obj
-<< /D [ 825 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 226.862 null ] >>
endobj
863 0 obj
-<< /D [ 825 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 215.903 null ] >>
endobj
864 0 obj
-<< /D [ 825 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 204.944 null ] >>
endobj
865 0 obj
-<< /D [ 825 0 R /XYZ 79.822 130.224 null ] >>
-endobj
-824 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 819 0 R /XYZ 75.854 193.985 null ] >>
endobj
-868 0 obj
-<< /Filter /FlateDecode /Length 2973 >>
-stream
-xrܺ04PRIzU959Xg;9`FyMvoނhn?Mn.nn?sNjԟ1NJ4\Vzkiw^W˥(+ V,43iK1Đ@үUa~? ̎
-\lgZ%+rr~w6]uyeIf3l<o*N]8
-a7IMO2i|67P6GEr q@zrVI\EA9<r(pUn ]mIOMM4lb覐L@5BN%o9C2:Y1)Ј c͈0ފnN)[KJ4#uQENH$6B!fZn@AIvm֔ Y+C~d?u$*B eJ)ќh/QuAU=xK;wiYxoݪ~Oݲj
-Yꝶ!9(udf']^v4Xa3iu5e}}8FQ
- =:
-S\WLL\{KNt?Kyv_h '9cL_ " ,Wy'@@_vlIS[.k0./̬dpS7|Q Ckl9MYDGY^oªw}1Q3Tǐ (VS1]mVH؛㗝KhBk/eƳhˌbբ –uƕ Z'xTrE"nU^?Bf..[
-ufpJ%reC
-A?d6xS1=c5ߔ6q&亹wf'z(;D+ %YoDT~iOˀ@Ad<m񠣧KTȖ V-*~S{e"
-0Xb"V듙Yùc:}dAw(cuIh(^Gp@ZbƐTZPMl+S&fpff֟Jü,Cl5…`g{h[ r\XJJ᫡!ۓ5oXd8$aE;CzZ
-s]>Dc}]-9^õ` V,-}h\CS{c_iGy\dg 15;B+tPрtpJ: p(r {94
-g:g:bz(&(fa!9
-C8(mȀ,N-d:)4qk [rFH"(SV8AYO+gd:CuD/ aQ{Maf(_@ÂA/hK6Ai> ˍRf
-Say{biVOk[9 ̀Ve@~_@BbD)Լ(7uЮRrq'SqR7庛6J:f७ S)YW|иlA !3,`zX\? =IrV}1 i>nA@1Xx1(_IΏE_OJb^_0Q'112{6%k{iO/YdØu@x 1PBX/ ʓMwͽ0̖׿ tہХ]ާ"܍!׾t4 )~
--/E^)<)=}V-PI+eȘW}Xg#1s}a
-URZfǷҴ[Zm
-Vy #<gGX̪-WS|Ē<bo,bJ͛O=d<JS:fC͝qDaԆF
-o^w.ѰY$DwLX0(c3e'~mTkXT NfT\AF8Zq,fѠ/
-Q/M#w|ZZx$Dǯ&FB)Q=3_8? 
-e 'ܕ0C9\EIvIw/PJ9g˚_0(_@C-hKU1*,
-v ʩAK%ƌ,UeZKӧ#սZGbmM/clh2N`0?w^1ypZ>}c{<Wy`M8ᘤvXμ_4YA{'s* ASQX`(N<{Qz&YM'-(: *oHׅ}}on,ᷞ; mrտh,~mV9yӗ(i<xUpeֿ0%s
-endstream
+866 0 obj
+<< /D [ 819 0 R /XYZ 75.854 183.026 null ] >>
endobj
867 0 obj
-<< /Type /Page /Contents 868 0 R /Resources 866 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 819 0 R /XYZ 75.854 172.067 null ] >>
+endobj
+868 0 obj
+<< /D [ 819 0 R /XYZ 75.854 161.108 null ] >>
endobj
869 0 obj
-<< /D [ 867 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 150.149 null ] >>
endobj
870 0 obj
-<< /D [ 867 0 R /XYZ 79.822 719.071 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 139.19 null ] >>
endobj
871 0 obj
-<< /D [ 867 0 R /XYZ 79.822 708.112 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 128.232 null ] >>
endobj
872 0 obj
-<< /D [ 867 0 R /XYZ 79.822 667.591 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 117.273 null ] >>
endobj
873 0 obj
-<< /D [ 867 0 R /XYZ 79.822 656.632 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 106.314 null ] >>
endobj
874 0 obj
-<< /D [ 867 0 R /XYZ 79.822 592.201 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 95.355 null ] >>
endobj
875 0 obj
-<< /D [ 867 0 R /XYZ 79.822 536.574 null ] >>
-endobj
-876 0 obj
-<< /D [ 867 0 R /XYZ 79.822 525.615 null ] >>
+<< /D [ 819 0 R /XYZ 75.854 84.396 null ] >>
endobj
-877 0 obj
-<< /D [ 867 0 R /XYZ 79.822 514.656 null ] >>
+818 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-878 0 obj
-<< /D [ 867 0 R /XYZ 79.822 503.697 null ] >>
+880 0 obj
+<< /Filter /FlateDecode /Length 2844 >>
+stream
+x[Ɏ[+IGрeY2]m*"CT/ w(SUl ]b } X#7?87ʹ):N]ƀ4@sZpGpDž?w?Fy枯kN34gKʗKk漢Tx&L~n0((Dbp*BApp9 1 4,&~dVUaz$A-P]nyx=QRt5?ު7e+ApDd;YI
+';H<+5T.$a|*]Q,NWM*=fֽQ$;TyTuCE /aCJK2d~Ps$4E'6h2UY4~?j{R- Tsԓ,@bDޏ*$.fU-Ķ`FG(+o"߉{l>|'>$shP3Q'+GF)]r";Vil7aȷ\UIYG!x8FD^ݲa/^YszkҴ +!3Dc>+1s9@ɃJ/ L
+US4_rVz@zJ(B< O6 6{[yM|! C&'F"A |fh!ATz D9"7,
+h<<BpةJirO8d=!?*,&%e VipT
+(_A;-Ͱ_ )oRK vڭ´@S`
+\
+{ƍ{&U88<=$TqjсrXJ[wD|yR_LL%Kҟ(3ꄷ0I7ڟӧ$ώ}EӟJqxb\xk:`WdRaN |bMo{=
+,P!m F*%$s+g-CM-[p5LNnd+!$'3q +]Ǘ
+endstream
endobj
879 0 obj
-<< /D [ 867 0 R /XYZ 79.822 492.738 null ] >>
+<< /Type /Page /Contents 880 0 R /Resources 878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R /Annots 915 0 R >>
endobj
-880 0 obj
-<< /D [ 867 0 R /XYZ 79.822 481.779 null ] >>
+915 0 obj
+[ 876 0 R 877 0 R ]
+endobj
+876 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 348.109 144.894 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+endobj
+877 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 348.109 172.571 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
881 0 obj
-<< /D [ 867 0 R /XYZ 79.822 470.82 null ] >>
+<< /D [ 879 0 R /XYZ 78.37 808.885 null ] >>
endobj
882 0 obj
-<< /D [ 867 0 R /XYZ 79.822 459.861 null ] >>
-endobj
-213 0 obj
-<< /D [ 867 0 R /XYZ 79.37 422.769 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 768.829 null ] >>
endobj
883 0 obj
-<< /D [ 867 0 R /XYZ 79.822 387.037 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 757.87 null ] >>
endobj
884 0 obj
-<< /D [ 867 0 R /XYZ 79.822 376.078 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 746.912 null ] >>
endobj
885 0 obj
-<< /D [ 867 0 R /XYZ 79.822 365.119 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 735.953 null ] >>
endobj
886 0 obj
-<< /D [ 867 0 R /XYZ 79.822 354.16 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 724.994 null ] >>
endobj
887 0 obj
-<< /D [ 867 0 R /XYZ 79.822 343.201 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 714.035 null ] >>
endobj
888 0 obj
-<< /D [ 867 0 R /XYZ 79.822 332.242 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 703.076 null ] >>
endobj
889 0 obj
-<< /D [ 867 0 R /XYZ 79.822 321.283 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 692.117 null ] >>
endobj
890 0 obj
-<< /D [ 867 0 R /XYZ 79.822 310.324 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 681.158 null ] >>
endobj
891 0 obj
-<< /D [ 867 0 R /XYZ 79.822 299.365 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 670.199 null ] >>
endobj
892 0 obj
-<< /D [ 867 0 R /XYZ 79.822 234.717 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 581.532 null ] >>
endobj
893 0 obj
-<< /D [ 867 0 R /XYZ 79.822 223.758 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 570.573 null ] >>
endobj
894 0 obj
-<< /D [ 867 0 R /XYZ 79.822 212.799 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 529.726 null ] >>
endobj
895 0 obj
-<< /D [ 867 0 R /XYZ 79.822 201.84 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 518.767 null ] >>
endobj
896 0 obj
-<< /D [ 867 0 R /XYZ 79.822 190.881 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 477.92 null ] >>
endobj
897 0 obj
-<< /D [ 867 0 R /XYZ 79.822 179.923 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 437.073 null ] >>
endobj
898 0 obj
-<< /D [ 867 0 R /XYZ 79.822 168.964 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 426.115 null ] >>
endobj
899 0 obj
-<< /D [ 867 0 R /XYZ 79.822 158.005 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 410.174 null ] >>
endobj
900 0 obj
-<< /D [ 867 0 R /XYZ 79.822 147.046 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 399.215 null ] >>
endobj
901 0 obj
-<< /D [ 867 0 R /XYZ 79.822 136.087 null ] >>
-endobj
-866 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R /F59 338 0 R /F84 404 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 879 0 R /XYZ 75.854 388.256 null ] >>
endobj
-904 0 obj
-<< /Filter /FlateDecode /Length 2176 >>
-stream
-x[n#;+Hq|Ynp3]eJNUVQIR<$OHϗWO$SzQ<>Y4?Jiᢷ?EWG''1zoA \wu[j__.%tyAWd6Al;{EwwpZ:~J/~ 8
-m1 EŠ51V[5R<=pBzC=4?3d(<x)fc!*+
-<GdnAQe{hHBڈC{rXB[3 kD٧{F0M@-3B
-BbcHn˃l/0QdMmT_re+RiqK#[&V]:dIqVylDnV0l`Bb5Ԛ;9qº!B\G;SkIcV8@.jP"C){5pIʺe=۽ h֯)krSiΜSh*"SnPלm1{T7C>R9<TYXyV5A)Ll+VkiTh5hE%egϺ.unn<{CyZϻJ"oDH'%-%1`ED}
-Vtj@Sz3" )A&odI(LM e8Ҽ\R+n2Ev!1'A\UVfQ
-zG^_kD
-rR83y*-P
-y`6O7e :*m7>R
-:27xSd1 }8\m##66
-vPgeH\IE` v _OXF1F񤃽dV:ťf(Q{\^z{_0hCyB; Ho}r\s!M
-] e_K>n\aGn3'9`sxiN$cݑ)_u0.do!AAu_J!<͉dQ?~_^
-endstream
+902 0 obj
+<< /D [ 879 0 R /XYZ 75.854 345.417 null ] >>
endobj
903 0 obj
-<< /Type /Page /Contents 904 0 R /Resources 902 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 879 0 R /XYZ 75.854 334.458 null ] >>
+endobj
+904 0 obj
+<< /D [ 879 0 R /XYZ 75.854 323.499 null ] >>
endobj
905 0 obj
-<< /D [ 903 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 258.742 null ] >>
endobj
906 0 obj
-<< /D [ 903 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 247.783 null ] >>
endobj
907 0 obj
-<< /D [ 903 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 236.824 null ] >>
endobj
908 0 obj
-<< /D [ 903 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 225.865 null ] >>
endobj
909 0 obj
-<< /D [ 903 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 214.907 null ] >>
endobj
910 0 obj
-<< /D [ 903 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 203.948 null ] >>
endobj
911 0 obj
-<< /D [ 903 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 163.101 null ] >>
endobj
912 0 obj
-<< /D [ 903 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 152.142 null ] >>
endobj
913 0 obj
-<< /D [ 903 0 R /XYZ 79.822 642.304 null ] >>
-endobj
-914 0 obj
-<< /D [ 903 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 879 0 R /XYZ 75.854 141.183 null ] >>
endobj
-915 0 obj
-<< /D [ 903 0 R /XYZ 79.822 620.386 null ] >>
+878 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-916 0 obj
-<< /D [ 903 0 R /XYZ 79.822 609.427 null ] >>
+918 0 obj
+<< /Filter /FlateDecode /Length 1809 >>
+stream
+xZMo8 WF" hf=iuiKTҊN;؃V'|-OUSէT O@wrV iӟ?^J~~ctR%0'xAKsNM< :\RF_oD[eFāP尯/VsLAG
+t\%=Gf /mҵ49H8>~GsҩC^[jYjf:%fWy\)mE
+|+9#}I.G&8E@6>&WDtB#
+;׵y-n ׭yYfX^Xt>>hB`Xb'kC@pP(~F%#ƒ" 6;a)revv:ױzڂ{To˹.a#cjr^ƌPؠLf53 k(]~1md(KvNZ_X
+̽hgDGf\dkJ2ӹ9Ws#H41tli2&a;8/fx&I&(\\;B f\jƈ~4B+ x:!{4r
+iz;9)A;z\~^\rSŌG`oLAPrhhRڹL/=X@;)Ξ촳WCrk}VQu)x2thkڐݡ,Io%abq4+Xi c=MbU[e! {Ѧ(n<{F;w Cqb~i0hDp@X/FBAsPldԺE1ҬArbUU}Rǡ2`(.NbqrɽHքVHc&9}4QWp
+!Zx-rMcXM# ˕-1gFiBF֩iu GVNdbr5&mvٟ
+ab(S߫;mĝfH| Ծ*0*U{U\J\$0\vfX'{jƪ쨁0XVA9`6bonV~oZ): c!bؓ"=Or
+endstream
endobj
917 0 obj
-<< /D [ 903 0 R /XYZ 79.822 598.468 null ] >>
-endobj
-918 0 obj
-<< /D [ 903 0 R /XYZ 79.822 587.509 null ] >>
+<< /Type /Page /Contents 918 0 R /Resources 916 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
919 0 obj
-<< /D [ 903 0 R /XYZ 79.822 576.55 null ] >>
+<< /D [ 917 0 R /XYZ 78.37 808.885 null ] >>
endobj
920 0 obj
-<< /D [ 903 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 742.926 null ] >>
endobj
921 0 obj
-<< /D [ 903 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 731.968 null ] >>
endobj
922 0 obj
-<< /D [ 903 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 721.009 null ] >>
endobj
923 0 obj
-<< /D [ 903 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 710.05 null ] >>
endobj
924 0 obj
-<< /D [ 903 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 699.091 null ] >>
endobj
925 0 obj
-<< /D [ 903 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 688.132 null ] >>
endobj
926 0 obj
-<< /D [ 903 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 677.173 null ] >>
endobj
927 0 obj
-<< /D [ 903 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 666.214 null ] >>
endobj
928 0 obj
-<< /D [ 903 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 655.255 null ] >>
endobj
929 0 obj
-<< /D [ 903 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 644.296 null ] >>
endobj
930 0 obj
-<< /D [ 903 0 R /XYZ 79.822 438.07 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 613.412 null ] >>
endobj
931 0 obj
-<< /D [ 903 0 R /XYZ 79.822 427.111 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 602.453 null ] >>
endobj
932 0 obj
-<< /D [ 903 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 591.494 null ] >>
endobj
933 0 obj
-<< /D [ 903 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 580.535 null ] >>
endobj
934 0 obj
-<< /D [ 903 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 569.577 null ] >>
endobj
935 0 obj
-<< /D [ 903 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 558.618 null ] >>
endobj
936 0 obj
-<< /D [ 903 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 547.659 null ] >>
endobj
937 0 obj
-<< /D [ 903 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 536.7 null ] >>
endobj
938 0 obj
-<< /D [ 903 0 R /XYZ 79.822 350.398 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 525.741 null ] >>
endobj
939 0 obj
-<< /D [ 903 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 514.782 null ] >>
endobj
940 0 obj
-<< /D [ 903 0 R /XYZ 79.822 328.481 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 503.823 null ] >>
endobj
941 0 obj
-<< /D [ 903 0 R /XYZ 79.822 299.589 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 492.864 null ] >>
endobj
942 0 obj
-<< /D [ 903 0 R /XYZ 79.822 288.63 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 481.905 null ] >>
endobj
943 0 obj
-<< /D [ 903 0 R /XYZ 79.822 259.738 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 470.946 null ] >>
endobj
944 0 obj
-<< /D [ 903 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 459.987 null ] >>
endobj
945 0 obj
-<< /D [ 903 0 R /XYZ 79.822 237.821 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 449.029 null ] >>
endobj
946 0 obj
-<< /D [ 903 0 R /XYZ 79.822 226.862 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 416.152 null ] >>
endobj
947 0 obj
-<< /D [ 903 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 405.193 null ] >>
endobj
948 0 obj
-<< /D [ 903 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 394.234 null ] >>
endobj
949 0 obj
-<< /D [ 903 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 383.275 null ] >>
endobj
950 0 obj
-<< /D [ 903 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 372.316 null ] >>
endobj
951 0 obj
-<< /D [ 903 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 361.357 null ] >>
endobj
952 0 obj
-<< /D [ 903 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 350.398 null ] >>
endobj
953 0 obj
-<< /D [ 903 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 339.44 null ] >>
endobj
954 0 obj
-<< /D [ 903 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 328.481 null ] >>
endobj
955 0 obj
-<< /D [ 903 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 317.522 null ] >>
endobj
956 0 obj
-<< /D [ 903 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 306.563 null ] >>
endobj
957 0 obj
-<< /D [ 903 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 295.604 null ] >>
endobj
958 0 obj
-<< /D [ 903 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 284.645 null ] >>
endobj
959 0 obj
-<< /D [ 903 0 R /XYZ 79.822 84.396 null ] >>
-endobj
-902 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 917 0 R /XYZ 75.854 273.686 null ] >>
endobj
-964 0 obj
-<< /Filter /FlateDecode /Length 2848 >>
-stream
-x[n\;IW@v pl0hq+.Ee~ ZjݥOUQ_~p]b L:}F0n?rnϕs- /4ޝ80-b%*|=P틖:ܑ*q]O>Qc3%e\O1& 0Rv{P0m۹mhŔ0JR1Y:Z) w$V߳e}0M^?Š[BIQQ_i:嚟{IoU• 9"\{DBrr|S2,,RO s +.('^3> 6 mCfTٔ}ߤ&ʕy6N1P~R517Rnk Ѷ-۶] ݪ{(+ōGMĿf;%INߊTa5^otkc#m5|mОT1} }-iT ,A3 5s)C0זbQY,Ћc'08Wnޤ})?a*J%ʼ#1񷤃ᇌh|W5EVVdR2-IdIQ|**O98Mm*ﲬ0>`GbEA]ՀW o_+jI,Ӻ7d|
-0o=ݘ^}(%3W:lH){IrՙfDfM*Ɠ~_;R^mOU封j
-=O~b=BMds[c&>dvۊz#E>l4[ߐ{*Ak>*Ҝ OmJ_-E[],AbbT4A'|EZtXSi"lֲ+
-fXo S7 ȅQ; qal)OD8
-fHfJ R`V-K*y"` H
-L-tAwUġ#\p$(`S:6cS|x&* ޮ9ELE],Z$ 6[:3>Qx|Z: c r=ScF* DC(s~UemEVl;@OM7}4{;wT"B̤5&T rz&"qT?V<|RPwɎ&J,e$X!Rm8Δgq dس "4rJU%![#"eѯ >Zoz"sfXCO!Զޖ7 n5a:\3cz(=BJ(%<Acx_ɕXa8ũ @={s|TZˡh0 a"}αQ?;LCW1*!"}6
-P;lŪ"cF0#ġBT' 7M
-vQB波84 'eE?3"ui2z{&{AWx8qb:x{j I
-Xӿ
-i
- qPT\}-cυ}q0E>J|eǙ8ʈ327
-endstream
+960 0 obj
+<< /D [ 917 0 R /XYZ 75.854 262.727 null ] >>
endobj
-963 0 obj
-<< /Type /Page /Contents 964 0 R /Resources 962 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R /Annots 998 0 R >>
+961 0 obj
+<< /D [ 917 0 R /XYZ 75.854 251.768 null ] >>
endobj
-998 0 obj
-[ 960 0 R 961 0 R ]
+962 0 obj
+<< /D [ 917 0 R /XYZ 75.854 240.809 null ] >>
endobj
-960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 348.109 144.894 360.065 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
+963 0 obj
+<< /D [ 917 0 R /XYZ 75.854 229.851 null ] >>
endobj
-961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 348.109 172.571 360.065 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
+964 0 obj
+<< /D [ 917 0 R /XYZ 75.854 218.892 null ] >>
endobj
965 0 obj
-<< /D [ 963 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 207.933 null ] >>
endobj
966 0 obj
-<< /D [ 963 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 196.974 null ] >>
endobj
967 0 obj
-<< /D [ 963 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 186.015 null ] >>
endobj
968 0 obj
-<< /D [ 963 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 175.056 null ] >>
endobj
969 0 obj
-<< /D [ 963 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 164.097 null ] >>
endobj
970 0 obj
-<< /D [ 963 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 153.138 null ] >>
endobj
971 0 obj
-<< /D [ 963 0 R /XYZ 79.822 714.035 null ] >>
-endobj
-972 0 obj
-<< /D [ 963 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 917 0 R /XYZ 75.854 142.179 null ] >>
endobj
-973 0 obj
-<< /D [ 963 0 R /XYZ 79.822 692.117 null ] >>
+916 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
974 0 obj
-<< /D [ 963 0 R /XYZ 79.822 681.158 null ] >>
+<< /Filter /FlateDecode /Length 1615 >>
+stream
+x[r(+44P58oլj; ,Q;ܻpQPǽ1CHσN_A>EzxoQt Jn:b|RkTʦK(_tL_9;d~A˶?).bhS<ǐlq-&>!$$$ &Yfpj,;6Y1/θrG3&U<Ẏq>ȉhA#hN2B惧mÏ&wX?-)~X2;H gʁ1qւ|m<_'.q(Z0)oZm "( M#井x'y o-qrtA^3\PJu>}FOR'C;?-Ȇ#Z_ڨ8mdۑC8udv| T֓3Trg&kUUHb
+kҎlR $y+Bi,_o
+(YSCR&kP +.K!_luu eh^n!~+iP{E|
++
+C"HRo.v˚ùS!ku'IBW+(
+`M96rjW*Zrڻ.硝eyf3[3ʪcCpHV"9yTHɶs
+[R~(.F^ JA.ӱRmt(T>٣'ypD5gS}^NY޷b/CP17a>Pvt?KD[ac
+[NJ4Ԣ[xbõ4׮1H2|f9;L<1Ľ.Ksc訰FW.2·ʭ:bJH:jj2 kG{rQE ,B /hq֪S-Jvv[Nvvw'>^8=g!!p:dRy^KvktjY.ȭJ<^<6AG41 /\A6@;xx_<h
+]fC9^Hc Vʯ"k`BQj0~`;% J[%
+R:\T|-\^<N[; e e
+s=d6X(ʯ) wQ?g(J]r8IGb ,.FϵP`LD+Yld?[usk,ٚXe*y]k ^uVjA[Z!xno0_g|ǵ؂|u9!mA'8mCޮ@,V-fU$b
+S!?;&%
+9x![j
+endstream
+endobj
+973 0 obj
+<< /Type /Page /Contents 974 0 R /Resources 972 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
975 0 obj
-<< /D [ 963 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 973 0 R /XYZ 78.37 808.885 null ] >>
endobj
976 0 obj
-<< /D [ 963 0 R /XYZ 79.822 581.532 null ] >>
+<< /D [ 973 0 R /XYZ 79.37 771.024 null ] >>
endobj
977 0 obj
-<< /D [ 963 0 R /XYZ 79.822 570.573 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 745.834 null ] >>
endobj
978 0 obj
-<< /D [ 963 0 R /XYZ 79.822 529.726 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 734.875 null ] >>
endobj
979 0 obj
-<< /D [ 963 0 R /XYZ 79.822 518.767 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 723.916 null ] >>
endobj
980 0 obj
-<< /D [ 963 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 712.957 null ] >>
endobj
981 0 obj
-<< /D [ 963 0 R /XYZ 79.822 437.073 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 701.998 null ] >>
endobj
982 0 obj
-<< /D [ 963 0 R /XYZ 79.822 426.115 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 691.039 null ] >>
endobj
983 0 obj
-<< /D [ 963 0 R /XYZ 79.822 410.174 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 680.08 null ] >>
endobj
984 0 obj
-<< /D [ 963 0 R /XYZ 79.822 399.215 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 669.121 null ] >>
endobj
985 0 obj
-<< /D [ 963 0 R /XYZ 79.822 388.256 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 658.162 null ] >>
endobj
986 0 obj
-<< /D [ 963 0 R /XYZ 79.822 345.417 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 631.412 null ] >>
endobj
987 0 obj
-<< /D [ 963 0 R /XYZ 79.822 334.458 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 620.453 null ] >>
endobj
988 0 obj
-<< /D [ 963 0 R /XYZ 79.822 323.499 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 609.494 null ] >>
endobj
989 0 obj
-<< /D [ 963 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 598.536 null ] >>
endobj
990 0 obj
-<< /D [ 963 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 587.577 null ] >>
endobj
991 0 obj
-<< /D [ 963 0 R /XYZ 79.822 236.824 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 576.618 null ] >>
endobj
992 0 obj
-<< /D [ 963 0 R /XYZ 79.822 225.865 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 565.659 null ] >>
endobj
993 0 obj
-<< /D [ 963 0 R /XYZ 79.822 214.907 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 554.7 null ] >>
endobj
994 0 obj
-<< /D [ 963 0 R /XYZ 79.822 203.948 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 543.741 null ] >>
endobj
995 0 obj
-<< /D [ 963 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 532.782 null ] >>
endobj
996 0 obj
-<< /D [ 963 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 506.032 null ] >>
endobj
997 0 obj
-<< /D [ 963 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 495.073 null ] >>
endobj
-962 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+998 0 obj
+<< /D [ 973 0 R /XYZ 75.854 484.114 null ] >>
endobj
-1001 0 obj
-<< /Filter /FlateDecode /Length 1816 >>
-stream
-xZn8 +WW"Phn0ۙv$Y%*i/f&c"i?yr|yQ7`
-Ah(!:|{UJK8hΠR+)-Vo`y w<Na1,re\#b-irk¡Ü+t|Υ;d3
-8:42hqO<0\UͽHV*E
-=\sZx=Mtt
-O2\,2 }fD*7Cd(dԌr>B#48>!sk eR Cԙ1%>)1޿V|ȩ&|r= 4bRj0T
- ݎ %"s
- e&2Ts|ONCbT_&T ⚓s%E<}.r)Q K
--V![ZfJM(ElʩQ{Ӵy!IEܼQARkQRŬZѶ45hX
-M4͝Ē.Er; M(!{
-"]z*j2y=B(ߙ1G CeNSA :V ʉ\1)MYc'"
-~t0]I?COLp@Ma(KLoeݶ'/ 妏
-\ 0V6w Ʊ]v`{DtQ˃_Zmӽ6"f'ZDhHhr-@Å5bs3F~.ʵ/ך4NF*%y<3%aJm-^Q cUzJ0fVAg` ݅vڞR%9ڲ[~o,a҇{֢܊LN[hOKhg$Pkj L1;a=)12y]{;Wz0"cl'"MNfWbrA]Z>C)gmTگy" [,^Vt>lI%ɝ7z+ 2Zx8A%L(C~lt޲o{;ZާCaF)0!l,]VysxF]o.̒($9iPE
-3oN0,I)zP 6PR~mW^xk!^Vܨvo-eqۿM]*
-endstream
+999 0 obj
+<< /D [ 973 0 R /XYZ 75.854 473.155 null ] >>
endobj
1000 0 obj
-<< /Type /Page /Contents 1001 0 R /Resources 999 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 973 0 R /XYZ 75.854 462.196 null ] >>
+endobj
+1001 0 obj
+<< /D [ 973 0 R /XYZ 75.854 451.237 null ] >>
endobj
1002 0 obj
-<< /D [ 1000 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 440.278 null ] >>
endobj
1003 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 429.32 null ] >>
endobj
1004 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 418.361 null ] >>
endobj
1005 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 407.402 null ] >>
endobj
1006 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 396.443 null ] >>
endobj
1007 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 385.484 null ] >>
endobj
1008 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 374.525 null ] >>
endobj
1009 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 677.173 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 363.566 null ] >>
endobj
1010 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 666.214 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 352.607 null ] >>
endobj
1011 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 655.255 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 341.648 null ] >>
endobj
1012 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 644.296 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 330.689 null ] >>
endobj
1013 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 613.412 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 319.73 null ] >>
endobj
1014 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 602.453 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 308.772 null ] >>
endobj
1015 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 591.494 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 297.813 null ] >>
endobj
1016 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 580.535 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 286.854 null ] >>
endobj
1017 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 569.577 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 275.895 null ] >>
endobj
1018 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 558.618 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 264.936 null ] >>
endobj
1019 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 547.659 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 253.977 null ] >>
endobj
1020 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 243.018 null ] >>
endobj
1021 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 232.059 null ] >>
endobj
1022 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 221.1 null ] >>
endobj
1023 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 210.141 null ] >>
endobj
1024 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 199.183 null ] >>
endobj
1025 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 188.224 null ] >>
endobj
1026 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 177.265 null ] >>
endobj
1027 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 166.306 null ] >>
endobj
1028 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 155.347 null ] >>
endobj
1029 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 144.388 null ] >>
endobj
1030 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 133.429 null ] >>
endobj
1031 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 122.47 null ] >>
endobj
1032 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 111.511 null ] >>
endobj
1033 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 100.552 null ] >>
endobj
1034 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 89.593 null ] >>
endobj
1035 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 350.398 null ] >>
-endobj
-1036 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 973 0 R /XYZ 75.854 78.635 null ] >>
endobj
-1037 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 328.481 null ] >>
+972 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1038 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 317.522 null ] >>
+<< /Filter /FlateDecode /Length 2047 >>
+stream
+x[n6+!$N]gWtۮ)Cq8ms8<3FRtxy2w
+ד:
+`I Ig)KI&H]
+2p+k|l0РQ{]MoH庀P01_sџYlPݔ=ȵv>VX^(R2S @/? bskk_^=˵um8Gfp
+KSƳkkvmpBs9#z# D@Q@׸/כϨ W* TGD[(+
+&uNd- Օl1usl&\.Lp~INggrbH%t|D A \c11T>AOôʝN)݉ HQԺskpl\Q@<ɫ( cVDkKk <blNK4sz knCk\NNu卆1ʴ
+]r]_܃,?Sd;uâٚ 
+ oyZe0Ng(u5gNM<'w phE
+o{:I{.A^1[UWЪv3fzfGwG($މ3(;y,i
+/TMiB'42*2'ed1cx&eY {&hDt.Anw+u3271R2^ t)?CAɓG>k{d 7u2ic(ߓeH h.(7G<0RXc9eG e!tng3l4Ui=l+鶦\nNͥjܕ(+0hU=׆ag$A =(2Q^y9-% ';#9ѓ휂2^Yus;ߨ^\-F Qb.֮ΏBji"in*UJ1\VI#2u8%
+ k||ӭR$c+ֲl:_Ų(/F#02sY(CYJgJ-W X
+ۢF)-n=Pҍ46+4o-mtcF:ѫ\XnY0a湪)%QX=ěɚ 2^_euzvswR sTh~n=HuePJĮds+=qmR8޼ۃZKͣ:Yx/bK5\X EY6?q:
+endstream
+endobj
+1037 0 obj
+<< /Type /Page /Contents 1038 0 R /Resources 1036 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1039 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 306.563 null ] >>
+<< /D [ 1037 0 R /XYZ 78.37 808.885 null ] >>
endobj
1040 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 295.604 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 768.829 null ] >>
endobj
1041 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 284.645 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 757.87 null ] >>
endobj
1042 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 273.686 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 746.912 null ] >>
endobj
1043 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 262.727 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 735.953 null ] >>
endobj
1044 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 251.768 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 724.994 null ] >>
endobj
1045 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 240.809 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 714.035 null ] >>
endobj
1046 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 229.851 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 703.076 null ] >>
endobj
1047 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 218.892 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 692.117 null ] >>
endobj
1048 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 207.933 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 681.158 null ] >>
endobj
1049 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 196.974 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 670.199 null ] >>
endobj
1050 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 186.015 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 659.24 null ] >>
endobj
1051 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 175.056 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 648.281 null ] >>
endobj
1052 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 164.097 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 637.322 null ] >>
endobj
1053 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 153.138 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 626.364 null ] >>
endobj
1054 0 obj
-<< /D [ 1000 0 R /XYZ 79.822 142.179 null ] >>
-endobj
-999 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1037 0 R /XYZ 75.854 615.405 null ] >>
endobj
-1057 0 obj
-<< /Filter /FlateDecode /Length 1621 >>
-stream
-x[r(+@T$Unj3
-h5ȶߚC?yl:HVjqᅥz$#w)
-^g||'&KVXͿ|iklQpf(  uWGkQJ?j7{%"&W'/+,s!]u MYSy4֪C\,qP>J]aǮsA"HRp2kwXr)YWKQӠd
-p_x&Q -+Lmrڻ.렞uyf)" DQzphZ#1yTIs
-@eٯQ>IB^fpX$ QKJ=Qp)ua ʷ9tz?U%}䂂9X@i,Ra < w^soc\TܝGΝBQݠEq*nPWq^u9瓋WMȻptnQBI[o ]| Ý_yN!Z<Ƞ6 'r. N{aaQHVɷX2xQX-b&]N.L8ԊmECX+jy[:3VE-7)I;ӒRJ$(?pQ)΁ӶыBA:Ti|
-\fm%cS+[NkPڍuoAoܠ|GZt A{s&8w.K8Q,WKZUSFI-%i>"rIW+No.C7Cy]>cAAR%"AUR^ȋ[&
-03<e^c1R`}{
-endstream
+1055 0 obj
+<< /D [ 1037 0 R /XYZ 75.854 604.446 null ] >>
endobj
1056 0 obj
-<< /Type /Page /Contents 1057 0 R /Resources 1055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 749 0 R >>
+<< /D [ 1037 0 R /XYZ 75.854 553.16 null ] >>
endobj
-1058 0 obj
-<< /D [ 1056 0 R /XYZ 78.37 808.885 null ] >>
+1057 0 obj
+<< /D [ 1037 0 R /XYZ 75.854 542.201 null ] >>
endobj
-217 0 obj
-<< /D [ 1056 0 R /XYZ 79.37 771.024 null ] >>
+1058 0 obj
+<< /D [ 1037 0 R /XYZ 75.854 514.479 null ] >>
endobj
1059 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 745.834 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 503.52 null ] >>
endobj
1060 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 734.875 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 492.561 null ] >>
endobj
1061 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 723.916 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 481.602 null ] >>
endobj
1062 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 712.957 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 455.786 null ] >>
endobj
1063 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 701.998 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 444.827 null ] >>
endobj
1064 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 691.039 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 433.868 null ] >>
endobj
1065 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 680.08 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 422.909 null ] >>
endobj
1066 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 669.121 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 411.95 null ] >>
endobj
1067 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 658.162 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 400.991 null ] >>
endobj
1068 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 631.412 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 390.032 null ] >>
endobj
1069 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 620.453 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 379.073 null ] >>
endobj
1070 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 609.494 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 368.114 null ] >>
endobj
1071 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 598.536 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 357.155 null ] >>
endobj
1072 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 587.577 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 346.197 null ] >>
endobj
1073 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 576.618 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 335.238 null ] >>
endobj
1074 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 565.659 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 324.279 null ] >>
endobj
1075 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 554.7 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 313.32 null ] >>
endobj
1076 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 543.741 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 302.361 null ] >>
endobj
1077 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 532.782 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 291.402 null ] >>
endobj
1078 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 506.032 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 280.443 null ] >>
endobj
1079 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 495.073 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 269.484 null ] >>
endobj
1080 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 484.114 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 258.525 null ] >>
endobj
1081 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 473.155 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 247.566 null ] >>
endobj
1082 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 462.196 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 236.608 null ] >>
endobj
1083 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 451.237 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 225.649 null ] >>
endobj
1084 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 440.278 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 214.69 null ] >>
endobj
1085 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 429.32 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 203.731 null ] >>
endobj
1086 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 418.361 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 192.772 null ] >>
endobj
1087 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 407.402 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 181.813 null ] >>
endobj
1088 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 396.443 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 170.854 null ] >>
endobj
1089 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 385.484 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 133.429 null ] >>
endobj
1090 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 374.525 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 122.47 null ] >>
endobj
1091 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 363.566 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 111.511 null ] >>
endobj
1092 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 352.607 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 100.552 null ] >>
endobj
1093 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 341.648 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 89.593 null ] >>
endobj
1094 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 330.689 null ] >>
+<< /D [ 1037 0 R /XYZ 75.854 78.635 null ] >>
endobj
-1095 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 319.73 null ] >>
-endobj
-1096 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 308.772 null ] >>
+1036 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F81 257 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1097 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 297.813 null ] >>
+<< /Filter /FlateDecode /Length 2064 >>
+stream
+x[n8 )刢~Af,{=_WE93 2im3HJD˷!?/xR` 0xw! ?_DD
+8Nxc-APZ0H^rK
+-
+HP.Ƈ;kG3~NoZred :\mzԟ9a*4!ZJCT["Q)s*|dzTӹG=%|yc&`fC6܂ɫrA RNmN"GiI~{5.IVbT 4<<ƏB(*OΨ>-j@`P`\6B"I.Uuo:~*ջ:[5y{VҚ"Uk ČkKICH+Qjj֚8oJ7x6 $8ɠUI@=fP,xLDMYC-cզ^ WOy|g
+yd]aɧ5yi'd@Lɒ:tͰ;Z%=EEq1M"&b 7pק}Fߩ3qI9&3:Z ,@4q1Pd(Wb3Ae9v/8Pu
+1[*me[(>￘,-WR=FbğŽ (Aj RZ'!4%XEwD4uI 6Ik5R]諄(ɥNIIHR]eP7axo=7R9w%` @mޭТ윀KVJv^ӣ:5['K3OhyZWJ>*~9fFj0R7eu!Khg(QpT*cέj[Zd`(6gGQ V\rĔ6Tb^InjRiT,<2JBrV1g]4UHE4+&7$-w"+
+NM1
+3ǡ!@!N6
+nihVrg t$vqkkPiQ<cɉ qa1J u(l 䞶 {.`P' O[4&`EM$n9$v(zQl8X4W!GBPRrj{J :5Ϛ uTAA) vRr[- &ށVSM -=i64=z?; RӅ[kn \[ǥ`kVj{O}<lJ"h}|3
+endstream
+endobj
+1096 0 obj
+<< /Type /Page /Contents 1097 0 R /Resources 1095 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1098 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 286.854 null ] >>
+<< /D [ 1096 0 R /XYZ 78.37 808.885 null ] >>
endobj
1099 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 275.895 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 768.829 null ] >>
endobj
1100 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 264.936 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 757.87 null ] >>
endobj
1101 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 253.977 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 746.912 null ] >>
endobj
1102 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 243.018 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 735.953 null ] >>
endobj
1103 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 232.059 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 724.994 null ] >>
endobj
1104 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 221.1 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 687.136 null ] >>
endobj
1105 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 210.141 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 676.177 null ] >>
endobj
1106 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 199.183 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 665.218 null ] >>
endobj
1107 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 188.224 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 654.259 null ] >>
endobj
1108 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 177.265 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 643.3 null ] >>
endobj
1109 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 166.306 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 632.341 null ] >>
endobj
1110 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 155.347 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 621.382 null ] >>
endobj
1111 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 610.423 null ] >>
endobj
1112 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 599.464 null ] >>
endobj
1113 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 588.506 null ] >>
endobj
1114 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 577.547 null ] >>
endobj
1115 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 566.588 null ] >>
endobj
1116 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 555.629 null ] >>
endobj
1117 0 obj
-<< /D [ 1056 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 544.67 null ] >>
endobj
-1055 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F59 338 0 R /F84 404 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1120 0 obj
-<< /Filter /FlateDecode /Length 2056 >>
-stream
-x[r#)+@pȶ&bϾmu]PFv4٭GgSIд<sORx|:~<}?;pIɃ:8#%%$ǿ?D/%寏?d~r'Bׂ(48(. c_XCxc=+? [
-&sy.J G6p6J#\=
-7GWlp16Ff"p
-KSƳ4%
-rJ>J k,GĞڃI`574چ2\/,9Sū$ګ]A ;jZ@ I
-]jiF]!NMGIc̹cXXD!:ڎ-&BN Ԟa`1HAG,_dQ azzJĔW^|1j`ǔb0U9 *~-qڣԤ3SSI㘚}<MOomA9w/C9zmΥ\MVs,YJ{rx3Pwt9{[vICXhUoS\KO[ I3 MꍦN$e
-Rt{ Fg 9wQLґzΙoZHr|wjKڍ
-Q4],!<kD*d:_ͺԂtc3kazѕA
-^at@ȡ+䂼͛NHfip*읡X9iy.OZЊ
-E{i:INK1[kX]hUBP=w+̧У39(;y,Bn\ܐks΋̕~\pwtc M~y΍1_6)|X /̝3h=maOaF&MC-u 0~PGPsI'Qv[YC4w טQ
- GI=)hF٤(7!
-z3/LWуNnΑ uW6ڃd^:TۢUMO{P8
-endstream
+1118 0 obj
+<< /D [ 1096 0 R /XYZ 75.854 533.711 null ] >>
endobj
1119 0 obj
-<< /Type /Page /Contents 1120 0 R /Resources 1118 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1096 0 R /XYZ 75.854 522.752 null ] >>
+endobj
+1120 0 obj
+<< /D [ 1096 0 R /XYZ 75.854 511.793 null ] >>
endobj
1121 0 obj
-<< /D [ 1119 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 500.834 null ] >>
endobj
1122 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 489.875 null ] >>
endobj
1123 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 478.917 null ] >>
endobj
1124 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 467.958 null ] >>
endobj
1125 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 456.999 null ] >>
endobj
1126 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 446.04 null ] >>
endobj
1127 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 435.081 null ] >>
endobj
1128 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 424.122 null ] >>
endobj
1129 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 413.163 null ] >>
endobj
1130 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 402.204 null ] >>
endobj
1131 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 391.245 null ] >>
endobj
1132 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 380.286 null ] >>
endobj
1133 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 369.327 null ] >>
endobj
1134 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 358.369 null ] >>
endobj
1135 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 347.41 null ] >>
endobj
1136 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 336.451 null ] >>
endobj
1137 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 325.492 null ] >>
endobj
1138 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 553.16 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 314.533 null ] >>
endobj
1139 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 542.201 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 303.574 null ] >>
endobj
1140 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 514.479 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 292.615 null ] >>
endobj
1141 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 503.52 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 281.656 null ] >>
endobj
1142 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 492.561 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 270.697 null ] >>
endobj
1143 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 481.602 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 259.738 null ] >>
endobj
1144 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 455.786 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 248.78 null ] >>
endobj
1145 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 444.827 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 237.821 null ] >>
endobj
1146 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 433.868 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 226.862 null ] >>
endobj
1147 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 422.909 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 215.903 null ] >>
endobj
1148 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 411.95 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 204.944 null ] >>
endobj
1149 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 400.991 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 193.985 null ] >>
endobj
1150 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 390.032 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 183.026 null ] >>
endobj
1151 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 379.073 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 172.067 null ] >>
endobj
1152 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 368.114 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 161.108 null ] >>
endobj
1153 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 357.155 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 150.149 null ] >>
endobj
1154 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 346.197 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 139.19 null ] >>
endobj
1155 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 335.238 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 128.232 null ] >>
endobj
1156 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 324.279 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 117.273 null ] >>
endobj
1157 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 313.32 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 106.314 null ] >>
endobj
1158 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 302.361 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 95.355 null ] >>
endobj
1159 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 291.402 null ] >>
+<< /D [ 1096 0 R /XYZ 75.854 84.396 null ] >>
endobj
-1160 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 280.443 null ] >>
-endobj
-1161 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 269.484 null ] >>
+1095 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1162 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 258.525 null ] >>
+<< /Filter /FlateDecode /Length 1823 >>
+stream
+x[͎6S2!
+ }O&tXΟ*<o߾REiW=ˣQ)6ݦi?Mcbd]i@+n# =dzY> w͢A'|2QLUhczAv=riĩ2B_QZ& ]~Oo:7Dރ$5OH`lG9
+9i
+߾M*]B4zkEjN|F}*P6:|ION-@|7`@lzl&/e8Yf.)ζpΊ>V](.cGPfH< FLR~LJر2~lgRl nk!b oƩkF9F 5R#GQ5'@_maTìu
+nFpYϵ1Qn*Z +^8ٰ#Cvq=>xZ#& q採<9\ŕ,8JpvGak
+i+dtןZ)mV^9Ec1H˪ף~5oFvfdPf,^C2ܳ.H3-A8 U6WUC*֌W{$
+?$Y_ʔ6u_J#!s@ͤ{{¹t |Bp)**^vpM@bsz1޻4qYr6)A=0Vٴ@lkjr5AgjOH♖+/Ըk3Iz<ϛy3!|N&v>4 >mXe&Z;Z'Pǵf-)>%lrpMvd(2K
+q.|zWMgA1#w
+W^ga]9
+endstream
+endobj
+1161 0 obj
+<< /Type /Page /Contents 1162 0 R /Resources 1160 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1163 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 247.566 null ] >>
+<< /D [ 1161 0 R /XYZ 78.37 808.885 null ] >>
endobj
1164 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 236.608 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 768.829 null ] >>
endobj
1165 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 225.649 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 757.87 null ] >>
endobj
1166 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 214.69 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 746.912 null ] >>
endobj
1167 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 203.731 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 735.953 null ] >>
endobj
1168 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 192.772 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 724.994 null ] >>
endobj
1169 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 181.813 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 714.035 null ] >>
endobj
1170 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 170.854 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 703.076 null ] >>
endobj
1171 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 692.117 null ] >>
endobj
1172 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 681.158 null ] >>
endobj
1173 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 670.199 null ] >>
endobj
1174 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 659.24 null ] >>
endobj
1175 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 648.281 null ] >>
endobj
1176 0 obj
-<< /D [ 1119 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 637.322 null ] >>
endobj
-1118 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F81 358 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+1177 0 obj
+<< /D [ 1161 0 R /XYZ 75.854 626.364 null ] >>
endobj
-1180 0 obj
-<< /Filter /FlateDecode /Length 2074 >>
-stream
-x[r6+ӃnUSFVr-kr_
-$,P@B*e>eF?syI7O'TAk=oNM=;LJr -J!ϓ"Q)sʼOL/-=!>-Qo<@(m
-H[aI ^'&,>C_ZǢM<5zgyXd"ÒOK՚ui'lA'KIokK%Q+QH[$R4IgC*5pˉ>,TJ˙qYD >teQ\}u7#M\cy~(F2y;8lz$`%\SEVJ\&EKGR}7q|I-m!HP;A %>'j\AcU7ݫ_tIē]{!I sjH]+(ɥ.5?DEĤY$dYf&<[ϧfwj'Xw|PeyhQ.-+jkbi3P9O{;CG79f#xWg98lA>v %
-JEQb̹5_!vk<X  qk8umӲ
-kQS\t@;3c(NJgVå
-`:?sc`YeU q?n<errc()eY:yJw;". NʯYg)pe]Jpq}dRҵ8* 'U[*W9n5.tnO~4La.-,B\
-9 p K^ŷnZr}6#qcĴ(|Um]mKEBEV=/;{1^!TcS,2m3[~9 e_@z|.t-
-9-ʚo;7>mRbOe2͖3bA 
- ePxfRTWpl]`lCY;h"vv{+ϵDPDC٦Yk{$ȎGPxТӱy C)ӲT>k!G~@+ݩj䞒h{~="w<Q8"=79'ZlPw Җ[l_z]-yogI0UQG@
-endstream
+1178 0 obj
+<< /D [ 1161 0 R /XYZ 75.854 615.405 null ] >>
endobj
1179 0 obj
-<< /Type /Page /Contents 1180 0 R /Resources 1178 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1161 0 R /XYZ 75.854 604.446 null ] >>
+endobj
+1180 0 obj
+<< /D [ 1161 0 R /XYZ 75.854 593.487 null ] >>
endobj
1181 0 obj
-<< /D [ 1179 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 582.528 null ] >>
endobj
1182 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 571.569 null ] >>
endobj
1183 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 560.61 null ] >>
endobj
1184 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 549.651 null ] >>
endobj
1185 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 538.692 null ] >>
endobj
1186 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 527.733 null ] >>
endobj
1187 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 687.136 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 516.775 null ] >>
endobj
1188 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 676.177 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 505.816 null ] >>
endobj
1189 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 665.218 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 494.857 null ] >>
endobj
1190 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 654.259 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 483.898 null ] >>
endobj
1191 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 643.3 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 472.939 null ] >>
endobj
1192 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 632.341 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 461.98 null ] >>
endobj
1193 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 621.382 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 451.021 null ] >>
endobj
1194 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 610.423 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 440.062 null ] >>
endobj
1195 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 599.464 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 429.103 null ] >>
endobj
1196 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 588.506 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 418.144 null ] >>
endobj
1197 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 577.547 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 407.186 null ] >>
endobj
1198 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 566.588 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 396.227 null ] >>
endobj
1199 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 555.629 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 385.268 null ] >>
endobj
1200 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 544.67 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 374.309 null ] >>
endobj
1201 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 533.711 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 363.35 null ] >>
endobj
1202 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 522.752 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 352.391 null ] >>
endobj
1203 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 511.793 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 341.432 null ] >>
endobj
1204 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 500.834 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 330.473 null ] >>
endobj
1205 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 489.875 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 319.514 null ] >>
endobj
1206 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 478.917 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 308.555 null ] >>
endobj
1207 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 467.958 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 297.596 null ] >>
endobj
1208 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 456.999 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 286.638 null ] >>
endobj
1209 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 446.04 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 275.679 null ] >>
endobj
1210 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 435.081 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 264.72 null ] >>
endobj
1211 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 424.122 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 253.761 null ] >>
endobj
1212 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 413.163 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 242.802 null ] >>
endobj
1213 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 402.204 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 231.843 null ] >>
endobj
1214 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 391.245 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 220.884 null ] >>
endobj
1215 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 380.286 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 209.925 null ] >>
endobj
1216 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 369.327 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 198.966 null ] >>
endobj
1217 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 358.369 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 188.007 null ] >>
endobj
1218 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 347.41 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 177.049 null ] >>
endobj
1219 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 336.451 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 166.09 null ] >>
endobj
1220 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 325.492 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 155.131 null ] >>
endobj
1221 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 314.533 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 144.172 null ] >>
endobj
1222 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 303.574 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 133.213 null ] >>
endobj
1223 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 292.615 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 122.254 null ] >>
endobj
1224 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 281.656 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 111.295 null ] >>
endobj
1225 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 270.697 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 100.336 null ] >>
endobj
1226 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 259.738 null ] >>
-endobj
-1227 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 1161 0 R /XYZ 75.854 89.377 null ] >>
endobj
-1228 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 237.821 null ] >>
+1160 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1229 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 226.862 null ] >>
+<< /Filter /FlateDecode /Length 2116 >>
+stream
+xZn#7W!˲[kr_S\,3A0~,>NIaN$۷ǷWNZN}S'I9:UBZudzH>__}lP` iҤ߯^֢gT d\ &l,zPynP'#i0Eg^J]y[}HVGc{N<T$ L%x',f1*z71
+.] ͗iքLrLCĄ ܪ6*LA8HThUtڕjFu6zvq{ ΅flyϗن4YKG$1.ࢋrT5GP Mxt6H|v%AeLtQ @Q2 T[x&ވ 5Y RrVwC'oKV5< "Kq0rI9Exy kXm%עĦ=2XSvv^W dOʯݤ1kCD,
+em?N:%1q:-BcZ}F760^)REӬWnF}sb%qѪr[HR\KuƐN)o_TQ̢i긜] }]a>۲2^M(7Vh>ImHuݲ'.:j{wjJъ%[]-dOk -[i-JŌ*N<6F 4Y.5;Um0#,O:# K =ƙ9o,qIֱ}ejҽKSDtBe]H.4X}D\غoInnc/?T|?*ꚸ٭cz-EqT]1ՙܱ}m!9RD.$; <W1*<O:
+\I'=jJ
+)n i
+Cayh\?'"P0t
+=b< BYȯ=c^d{HC̤k=Uk ha8ϗGd]ZnՒzVj,/ȣ0^-3xu , /8a y@
+K鋝`O(ƈRF|<XdcE/)4|GlV1$%u[Je#? i;QBS-umVZq?OLpMicy@')#Hv7Cn?ŨJ՚!ai?[HZm鈲U*P2y`9b6D&ݦ'w[K)! шJ&uúV*h) ڠ1~]63yKF֓5B┬5^z8WJS 6hRQ5;
+[e~NzkZ/D8-u1uP\IH#F)/Wg]oC7hV'}/ٖW`fȯp4bV-)tIR7%Eƞ̢!Ƿz'#
+endstream
+endobj
+1228 0 obj
+<< /Type /Page /Contents 1229 0 R /Resources 1227 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1230 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 1228 0 R /XYZ 78.37 808.885 null ] >>
endobj
1231 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 768.829 null ] >>
endobj
1232 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 757.87 null ] >>
endobj
1233 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 746.912 null ] >>
endobj
1234 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 735.953 null ] >>
endobj
1235 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 724.994 null ] >>
endobj
1236 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 699.787 null ] >>
endobj
1237 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 688.828 null ] >>
endobj
1238 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 677.87 null ] >>
endobj
1239 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 666.911 null ] >>
endobj
1240 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 655.952 null ] >>
endobj
1241 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 644.993 null ] >>
endobj
1242 0 obj
-<< /D [ 1179 0 R /XYZ 79.822 84.396 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 617.933 null ] >>
endobj
-1178 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1245 0 obj
-<< /Filter /FlateDecode /Length 1834 >>
-stream
-x[&W 4PڪxU9-kr_,cmm<{Ќ-KOu H٩ݏ.J?^]YA}EjwA}wLHQ}*c
-zq3Lm oeQ
-?g F
-A;)Z-5Q(y5xkKukú8P)\f jhmnـgJ|Q[ 9Mѵ `P [p0lPFu(k;|@O ۥ$漴/whWM yH`/rit`$![c(f@%yg-^k 6 p慡֩d+ʀn2Q<WP|,PDp8GݲfEZ,h 9DyKw3uT(ٹ$BvVA\μ%?Hu^5
-endstream
+1243 0 obj
+<< /D [ 1228 0 R /XYZ 75.854 606.974 null ] >>
endobj
1244 0 obj
-<< /Type /Page /Contents 1245 0 R /Resources 1243 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1228 0 R /XYZ 75.854 596.016 null ] >>
+endobj
+1245 0 obj
+<< /D [ 1228 0 R /XYZ 75.854 585.057 null ] >>
endobj
1246 0 obj
-<< /D [ 1244 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 574.098 null ] >>
endobj
1247 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 563.139 null ] >>
endobj
1248 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 488.259 null ] >>
endobj
1249 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 477.3 null ] >>
endobj
1250 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1228 0 R /XYZ 79.37 453.248 null ] >>
endobj
1251 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 399.385 null ] >>
endobj
1252 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 383.724 null ] >>
endobj
1253 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 372.765 null ] >>
endobj
1254 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 361.806 null ] >>
endobj
1255 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 350.847 null ] >>
endobj
1256 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 339.888 null ] >>
endobj
1257 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 324.227 null ] >>
endobj
1258 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 313.268 null ] >>
endobj
1259 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 302.309 null ] >>
endobj
1260 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 291.35 null ] >>
endobj
1261 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 280.391 null ] >>
endobj
1262 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 269.432 null ] >>
endobj
1263 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 593.487 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 258.473 null ] >>
endobj
1264 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 582.528 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 247.514 null ] >>
endobj
1265 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 571.569 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 236.555 null ] >>
endobj
1266 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 560.61 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 225.596 null ] >>
endobj
1267 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 549.651 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 214.638 null ] >>
endobj
1268 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 538.692 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 203.679 null ] >>
endobj
1269 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 527.733 null ] >>
+<< /D [ 1228 0 R /XYZ 79.37 165.23 null ] >>
endobj
1270 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 516.775 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 144.388 null ] >>
endobj
1271 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 133.429 null ] >>
endobj
1272 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 494.857 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 122.47 null ] >>
endobj
1273 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 483.898 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 111.511 null ] >>
endobj
1274 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 472.939 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 100.552 null ] >>
endobj
1275 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 461.98 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 89.593 null ] >>
endobj
1276 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 451.021 null ] >>
+<< /D [ 1228 0 R /XYZ 75.854 78.635 null ] >>
endobj
-1277 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 440.062 null ] >>
-endobj
-1278 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 429.103 null ] >>
+1227 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1279 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 418.144 null ] >>
+<< /Filter /FlateDecode /Length 2691 >>
+stream
+x[Ɏc WJ-Qڮrkdh;p۾("Hg B?o?q1ItZ\wוs8ҿ_|AibZ^@R!^;/ ?n
+T{"gKEJ4A*>rZ MbFLkMRI=*[)V)fR)0-wy9~)J45+Hj4Y·-(آ񖤨 ?F7 340QH`M1)Iښ< lh(|Cbi& PTS
+iJXRQ)/LkZiip,*e ":qQXq N1ʹ߇C_O.wȎIsڃh:x=ޥdIv˃kb^ZԤ_J,OAޣ6
+ g X4 *aShq;^{sh3fZ:>ҡ<Bj? 7$0y EyD *A- <N~)>= )n-u
+%[ӓ<~m1Пm
+@~lD 0Tte."uQ{<qJlOo4 }mmO˓Z$\-Ű;sD
+1Ӽ<HB|b>"rK}v<`tr3-A~i|{J6U5m ctϫ_k^+U!I D)3AjV>B~ 9%xy33|LV2-7DaH! rnѦGk9'+Bx6Ԣ!;E(4C?
+ĭY
+gNF
+< Lk<W R;#5&]$}ˠm ^RDl([ƊݳPo/fZ9'G[z:^\\M_u3Up sĒj: m'=w HYK!X'?QZ{b%O'MOJTbRU E1er^pObRgXizC{U!alyQ
+MM'=a"={ViAaE9l!-}]d;B
+&FmrYȂ>1/BEYᬶZ͢c\09*dV+;z)Qx-#n 5BpI}/q,AkdGsMܨ7M#dpϢQx&j)PxmIW󕡬D9ޒ-iWNMo瓑?(8snLya! 9&BʹI:͸5KC"ΟѭbB
+:)QHt\ӍK2 ^ l[;GȄ)Qj.aws-DG>
+/ŚI.%5]<$eOhJ_C "[9xA
+endstream
+endobj
+1278 0 obj
+<< /Type /Page /Contents 1279 0 R /Resources 1277 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1280 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 407.186 null ] >>
+<< /D [ 1278 0 R /XYZ 78.37 808.885 null ] >>
endobj
1281 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 396.227 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 768.829 null ] >>
endobj
1282 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 385.268 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 757.87 null ] >>
endobj
1283 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 374.309 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 746.912 null ] >>
endobj
1284 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 363.35 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 735.953 null ] >>
endobj
1285 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 352.391 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 724.994 null ] >>
endobj
1286 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 341.432 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 714.035 null ] >>
endobj
1287 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 330.473 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 703.076 null ] >>
endobj
1288 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 319.514 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 663.225 null ] >>
endobj
1289 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 308.555 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 652.266 null ] >>
endobj
1290 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 297.596 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 641.308 null ] >>
endobj
1291 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 286.638 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 630.349 null ] >>
endobj
1292 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 275.679 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 619.39 null ] >>
endobj
1293 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 264.72 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 608.431 null ] >>
endobj
1294 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 253.761 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 597.472 null ] >>
endobj
1295 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 242.802 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 586.513 null ] >>
endobj
1296 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 231.843 null ] >>
+<< /D [ 1278 0 R /XYZ 79.37 563.056 null ] >>
endobj
1297 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 220.884 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 530.259 null ] >>
endobj
1298 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 209.925 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 519.3 null ] >>
endobj
1299 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 198.966 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 508.341 null ] >>
endobj
1300 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 188.007 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 480.446 null ] >>
endobj
1301 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 177.049 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 454.543 null ] >>
endobj
1302 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 166.09 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 443.584 null ] >>
endobj
1303 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 155.131 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 381.816 null ] >>
endobj
1304 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 144.172 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 332.002 null ] >>
endobj
1305 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 133.213 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 321.044 null ] >>
endobj
1306 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 122.254 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 271.23 null ] >>
endobj
1307 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 111.295 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 260.271 null ] >>
endobj
1308 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 100.336 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 249.313 null ] >>
endobj
1309 0 obj
-<< /D [ 1244 0 R /XYZ 79.822 89.377 null ] >>
-endobj
-1243 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1278 0 R /XYZ 75.854 238.354 null ] >>
endobj
-1312 0 obj
-<< /Filter /FlateDecode /Length 2119 >>
-stream
-x[n#7+U\ÀeYr-59)M[3Au؏کOۓ&^ѿ=?]M8iB8}h<799)}
-%`
-倣e*TX7IryM-jγZ6-OJuX-n?NF'"jDy@ Ea `
-S] }sɇٰK oE/IM{&ed1-l2!`>ϙf1u'hݤ3kCd,Ouw+qdO5F e}?"AglaRk\gD9O1G:eӡܷ2@/K.ıU՜#Z볶QATqlH.Z֢e:6V1\W#y}+ػF1joՋyoeHugi [v
-4z0˲6ȟi'vKu1ь>Rc3WT4նfD_=0o]u47גy]1S2U{Tr-(x:.@%^H}_cئ|orSE$
-}$U)O5~)uG[$%u?b]b쉭^].ZvbVlh "H˖xvuҠ/~1"gq̀Q.24KkUk(E}3˓7A%Cq&>gc* u\-sud_t!+&gY2 ,G Vy;w$r6A =d`-_#ϩfnvkZhujKQh$b e$Y~
-c=z⪍=( k ɇs9SMv?PIq40E(IKR}z}Gm8
- E@)Yl2p6Ѭk jwՄ*Zq/@^)qZےa(PG)FSfYFL|I O :r!DCO^-h($Dr$HZme' 4KRf74{R2Z||> f)
-endstream
+1310 0 obj
+<< /D [ 1278 0 R /XYZ 75.854 227.395 null ] >>
endobj
1311 0 obj
-<< /Type /Page /Contents 1312 0 R /Resources 1310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1278 0 R /XYZ 75.854 189.537 null ] >>
+endobj
+1312 0 obj
+<< /D [ 1278 0 R /XYZ 75.854 139.723 null ] >>
endobj
1313 0 obj
-<< /D [ 1311 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 128.765 null ] >>
endobj
1314 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 114.817 null ] >>
endobj
1315 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 103.858 null ] >>
endobj
1316 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 92.899 null ] >>
endobj
1317 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 735.953 null ] >>
-endobj
-1318 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1278 0 R /XYZ 75.854 81.94 null ] >>
endobj
-1319 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 699.787 null ] >>
+1277 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R /F81 257 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1320 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 688.828 null ] >>
+<< /Filter /FlateDecode /Length 2882 >>
+stream
+x[Ɏ)bqfFr-59Vjl y-vU6Vs.p߾]~qSY!_ąb .F Ƶ/k߿@qxi-mK9\Dć܄8hfvL@8z9Wn287)w3'X ]4S44~a:|oFA_ftG~½2{d\vz^Hxj6ɠ#a`GYJwJ֋ʉ`<p?+
++}+X{/Ӧ"B'7UOMbRjCյA5ȭi9 R3c8Kd @IQ=^8Ɍs#vg. &\qqAz6#颼qK"Ez]\Ƶkhi{SH[0# ɒ=$#~XP"$ϞacM
+uCJqZ-E%I{JN0Y;\˜ǣQ/5Ҍ~90 fi[j[A/q@%Vr!]sS lk/OȊiFܻq]#V+H6chkX'VR*=']d
+H%,`i%m¾F G~ ,p+YUq}Ԓ&T
+o~\v
+RS#?}m\ؐ!oKQ5
+tӎ5["գ\;E?k'v\@OE?1}u0{"$H34'?rBͱѷ&ݗ1%ȘgB걑I-uɦ9.%G}L+Sz˓n=y2aBԣk5T%!-3MV&z3r0F
+'eoqEׯos+l5 D~BW64<YZ>?˓0۟ٲC>+W)Y^z׺r|mMDdm
+AFdjBW=Nb
+ ځPgs:MA例-۲)p;<^|9^Qp.e{~k,ŗbP ^-&:Y(:t&9j! fhldq0d-6)OŴJʞTRFZ EfGCQtΊZ6\3g`2"{}"Pf+t :
+-hSև"Y5`{
+0v\TZrOђ]!}`"Wf<Ps`'oIe^+czuɽ~
+ 0q2 mj$R
+K1")%<E /:ÿ/2eKѭ̛&i\*&PB+dOmeN ׷ՊkD.(/)gi]HW 3M؃\iD|UKȷ{đbUoRmB)}l̠z*!f,\݌xO|(PXi*+-nM|/
+~.‡GjBm+C#wÊW9}HR{"U8goMm
+endstream
+endobj
+1319 0 obj
+<< /Type /Page /Contents 1320 0 R /Resources 1318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1321 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 677.87 null ] >>
+<< /D [ 1319 0 R /XYZ 78.37 808.885 null ] >>
endobj
1322 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 666.911 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 768.829 null ] >>
endobj
1323 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 655.952 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 729.029 null ] >>
endobj
1324 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 644.993 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 718.07 null ] >>
endobj
1325 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 617.933 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 668.265 null ] >>
endobj
1326 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 606.974 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 657.306 null ] >>
endobj
1327 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 596.016 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 646.347 null ] >>
endobj
1328 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 585.057 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 635.388 null ] >>
endobj
1329 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 574.098 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 624.429 null ] >>
endobj
1330 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 563.139 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 574.624 null ] >>
endobj
1331 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 488.259 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 548.73 null ] >>
endobj
1332 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 477.3 null ] >>
-endobj
-221 0 obj
-<< /D [ 1311 0 R /XYZ 79.37 453.248 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 537.771 null ] >>
endobj
1333 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 399.385 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 526.812 null ] >>
endobj
1334 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 383.724 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 500.951 null ] >>
endobj
1335 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 372.765 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 461.117 null ] >>
endobj
1336 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 361.806 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 450.158 null ] >>
endobj
1337 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 350.847 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 424.297 null ] >>
endobj
1338 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 339.888 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 413.338 null ] >>
endobj
1339 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 324.227 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 397.414 null ] >>
endobj
1340 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 313.268 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 386.455 null ] >>
endobj
1341 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 302.309 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 375.496 null ] >>
endobj
1342 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 291.35 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 364.537 null ] >>
endobj
1343 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 280.391 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 336.659 null ] >>
endobj
1344 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 269.432 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 325.7 null ] >>
endobj
1345 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 258.473 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 314.741 null ] >>
endobj
1346 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 247.514 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 303.782 null ] >>
endobj
1347 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 236.555 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 292.823 null ] >>
endobj
1348 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 225.596 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 281.864 null ] >>
endobj
1349 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 214.638 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 270.905 null ] >>
endobj
1350 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 203.679 null ] >>
-endobj
-225 0 obj
-<< /D [ 1311 0 R /XYZ 79.37 165.23 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 259.946 null ] >>
endobj
1351 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 248.987 null ] >>
endobj
1352 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 238.029 null ] >>
endobj
1353 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 227.07 null ] >>
endobj
1354 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 216.111 null ] >>
endobj
1355 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 205.152 null ] >>
endobj
1356 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 194.193 null ] >>
endobj
1357 0 obj
-<< /D [ 1311 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 183.234 null ] >>
endobj
-1310 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1360 0 obj
-<< /Filter /FlateDecode /Length 2338 >>
-stream
-x[n#+! l] klUŖܔ]xdOC<$OHo߿^_/z;؜B8}EI%Q*R"Oz?^d}utrb3]4 R
-@bi>Os“*{9sj6jz)]Ȓn\nmکz}Hh-l|HjY fQ
-uLw2e. k+ OE9]Zy;. 7U tkc
-8] QZ֨]3sf)`ߦ?㫱4_OG܉-&f^*KjgL
-clOTGr;9GNX ML27s="SqBK=b}h X4GZ#k.:*WSຊ*;HΔ1 eT3R ?6
-,:K(ZIy=P
-ldWR͍b Fڕ
-x
-e^2acfoѕPi~^q<RQ8MCS~:gyiV mE<G{T+041
-q
-cM0b4(J ͸YV@9yoeB
-endstream
+1358 0 obj
+<< /D [ 1319 0 R /XYZ 75.854 172.275 null ] >>
endobj
1359 0 obj
-<< /Type /Page /Contents 1360 0 R /Resources 1358 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1319 0 R /XYZ 75.854 161.316 null ] >>
+endobj
+1360 0 obj
+<< /D [ 1319 0 R /XYZ 75.854 111.511 null ] >>
endobj
1361 0 obj
-<< /D [ 1359 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 100.552 null ] >>
endobj
1362 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 89.593 null ] >>
endobj
1363 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1319 0 R /XYZ 75.854 78.635 null ] >>
endobj
-1364 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 746.912 null ] >>
-endobj
-1365 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 735.953 null ] >>
+1318 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1366 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 724.994 null ] >>
+<< /Filter /FlateDecode /Length 1965 >>
+stream
+x[Ɏ7W& 
+By=7Q^ I?6pμc_7.^x=Q 2_tD4Y(( 0Ny(7Z>?K͎+XYݝ"hznyJ-Hl
+ksТg>QL Pl Sdw((x-ddkq}JFK$8=%#B`E3f& ]EIUb~E|goIv)d%3mF%虅s֡|;faL"'DCa^IyK??0hLecڡ\pGwFdlK'X^@V&E:{
+Ӕ*-<ƔCFHj浌@Mh':g}n5VFsfǕ)Xֿdݬ1`1c3:$alߘ,loQV%řqMGܞ3P ÁS1 bVEѢcJŽʸkIm/5vbk\WfUZbkiQL5Nj$|]jwPY(C=&m~rw[˙|r5! #S0c.!P5y`CP:\cX@:w\ޅ9UjV펼rȎ3"s``OvHt}g\J~}D&6 .I
+xx7[/ltY חoMeC"90gWӅfu1d>Pүv,^aGe(\Dho_8 Y}PX}Z$94V~ٯ&fGhoY?䜾R7J.]b:+Fpyf:rso1G)*:0okHdWHB~ O`DHx5VVd݊2m
+o2텁ٴ58ơ#WF^S{saJP&&BLKm.|9RZm.jHz| J!ToAu$n-gt
+~tyܡl.
+Ķ4YCv(1 Jumݎ)̬$+ktEJj,q.&2F^"={H0+$BdJC)c]I%Μ}*Z-Vpԡj@U@$0ם̒eTu}&7lmEy!(tQL<טP波\_J9tkߡ\ª!!ٚQpRyvgI_Pz64]t,YAypV8=y[bRdX#/SnC W'c2vw(t@qȏ࿁;Yj@@1~
+.wV M[ {-^Tx6rDD6;e)<ygHh?q4wX)6ܟ C(̎ ݒߞSk
+endstream
+endobj
+1365 0 obj
+<< /Type /Page /Contents 1366 0 R /Resources 1364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 914 0 R >>
endobj
1367 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1365 0 R /XYZ 78.37 808.885 null ] >>
endobj
1368 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 768.829 null ] >>
endobj
1369 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 663.598 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 757.87 null ] >>
endobj
1370 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 652.639 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 746.912 null ] >>
endobj
1371 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 641.68 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 732.964 null ] >>
endobj
1372 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 630.721 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 722.005 null ] >>
endobj
1373 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 619.762 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 711.046 null ] >>
endobj
1374 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 608.803 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 700.087 null ] >>
endobj
1375 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 597.844 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 689.128 null ] >>
endobj
1376 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 586.885 null ] >>
-endobj
-229 0 obj
-<< /D [ 1359 0 R /XYZ 79.37 563.739 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 678.169 null ] >>
endobj
1377 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 531.19 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 667.21 null ] >>
endobj
1378 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 520.231 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 656.252 null ] >>
endobj
1379 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 492.708 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 645.293 null ] >>
endobj
1380 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 481.749 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 634.334 null ] >>
endobj
1381 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 465.933 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 623.375 null ] >>
endobj
1382 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 454.974 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 612.416 null ] >>
endobj
1383 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 444.015 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 601.457 null ] >>
endobj
1384 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 433.056 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 590.498 null ] >>
endobj
1385 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 405.285 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 579.539 null ] >>
endobj
1386 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 394.326 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 568.58 null ] >>
endobj
1387 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 383.367 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 557.621 null ] >>
endobj
1388 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 372.408 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 546.662 null ] >>
endobj
1389 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 361.449 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 470.946 null ] >>
endobj
1390 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 350.491 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 459.987 null ] >>
endobj
1391 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 339.532 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 449.029 null ] >>
endobj
1392 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 328.573 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 438.07 null ] >>
endobj
1393 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 317.614 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 427.111 null ] >>
endobj
1394 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 306.655 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 416.152 null ] >>
endobj
1395 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 295.696 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 405.193 null ] >>
endobj
1396 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 284.737 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 394.234 null ] >>
endobj
1397 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 273.778 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 383.275 null ] >>
endobj
1398 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 262.819 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 372.316 null ] >>
endobj
1399 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 251.86 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 361.357 null ] >>
endobj
1400 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 240.901 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 350.398 null ] >>
endobj
1401 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 229.943 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 339.44 null ] >>
endobj
1402 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 180.191 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 328.481 null ] >>
endobj
1403 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 169.233 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 317.522 null ] >>
endobj
1404 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 158.274 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 306.563 null ] >>
endobj
1405 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 147.315 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 295.604 null ] >>
endobj
1406 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 136.356 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 284.645 null ] >>
endobj
1407 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 125.397 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 273.686 null ] >>
endobj
1408 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 114.438 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 262.727 null ] >>
endobj
1409 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 251.768 null ] >>
endobj
1410 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 240.809 null ] >>
endobj
1411 0 obj
-<< /D [ 1359 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-1358 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1365 0 R /XYZ 75.854 229.851 null ] >>
endobj
-1414 0 obj
-<< /Filter /FlateDecode /Length 1936 >>
-stream
-x[ɒ6WU䪜59$LȖ}Ic z,w:^??ߞ>]ߑN!~RaܩY4jϽχx o D)#=
-DRW)Қ^Q%2JBO&-J$3fNT2BHrxN#6YH|aMBly%0lsB9K$D tbGDo G N PA0lZ',
-Ea$Bb-Ռ/+}qv=F1=c渍10BYQ`:0J; B;ӣ,;RfB1NH T/EGYm3Y;T4XhskgH  %^cCe#Y}-c2fBg_ƢQnN *t$_8P 櫧C YȘB:p1A2bhQ*HeܵHUdG1`S5_e
-9(U)u<[*LVϒϸ|@t\UTp)'&گr鶤1+3r< BȘ:dDоMnP")rs*5PWje\iAӓ2 o#ARBϧ;C[ ;mn Ɏ3"st`ḶT%/imALn<?W|Z䗿SDseGw5'W-Խ}3T<T_=gV]p;]nVZJ)Upر|φ#)p5"]~aR-*f%AMC@&͹dI%ŕ5 ;B{55Qsӹa:*s^Aͩ~Lj%h+,(dqFKל
-zőz Dza.{Y)X$qSj^]k\qql}%.ы͝[S(7n'õF%<zc僦u}͍/WX߮վZ򥫣ge2Le ,&a %V⿶3_
-? dw(?#
-'AU=J䔐aۦϯ5 AcF;ТjXg!>ںqʯ:;@F ckPgrHc2 w@aؚHK P~
-%ۚ#Z;+2^bx^
-ԓ5ѡ g z7'm0rU[{2@ME2Ȅg~P\ݡ_GF!M A:@3tCyLrEB)Iqt(ƞܭDBt(U XA ꛃtP =2Riq
-4/ZtVc<8r'mh0cB/pO.]-E_MeJ79N#_vkhLa#J1AjaC$L5is \(=`iccǏuQܱz"PT.Co.*A0^)Ȍtn֡|Ա^h9ĭChcI&=\EނJ~>MB>&l-GI@y4 ϻ~ųoշAmv$_7s??=:D5
-endstream
+1412 0 obj
+<< /D [ 1365 0 R /XYZ 75.854 218.892 null ] >>
endobj
1413 0 obj
-<< /Type /Page /Contents 1414 0 R /Resources 1412 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1365 0 R /XYZ 75.854 207.933 null ] >>
+endobj
+1414 0 obj
+<< /D [ 1365 0 R /XYZ 75.854 196.974 null ] >>
endobj
1415 0 obj
-<< /D [ 1413 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 186.015 null ] >>
endobj
1416 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 175.056 null ] >>
endobj
1417 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 164.097 null ] >>
endobj
1418 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 153.138 null ] >>
endobj
1419 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 142.179 null ] >>
endobj
1420 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 92.366 null ] >>
endobj
1421 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 714.035 null ] >>
-endobj
-1422 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1365 0 R /XYZ 75.854 81.407 null ] >>
endobj
-1423 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 692.117 null ] >>
+1364 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1424 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 681.158 null ] >>
+<< /Filter /FlateDecode /Length 2735 >>
+stream
+x[Ko8W-/ЎbD(ˢ;`H'f=ENKˏ'IɓB?Y#bEeѰ,/KD
+8?nONxckAQ
+Grp\S4n+b%J[ t)\4Z2voGPElKk̓ƭ*h߮
+?J=RG
+3j5M'0_]o\;V&ϵ
+7] 9q=S/y=  !_r >*,7,x*skx.?wA`
+?,897c(MǸLfbZ kњ^fV9aPsf'Gp " At~Y5=|*/Q\jPߊK?4%f4*S~;9M{UG_GJf`
+Qa1W0>YT\jDHg|iZdS%QfrԌ!W4^qfBh$5g(wu^
+܆4Ξ`(QqKza+Ճ8X"-(LUǚhMPoS)}\ ps}h-RۨoF^X~'G Ԓ DJ$p
+JGē4+*)5v3*e_%^Bl?X\עغmyC3ʰ8[%ؖmU)Y}K
+jq
+XN_b` 3]C;rۭ&Ba`)6xDJWYDøSmcO! <CQw&sP /rbwP)CBj2NUz)wi2R28XggPy_}hojJSf:dkϸ`9* `@CQ6ylUϋO3Bcn_ `(_k?0:~̶:6<s37$c(1urK/[4c0K7CytXqf
+G;3+%}aVZ P'AQg0gį _k&UkD"ݷ5MSjZNzܔEKUC{x?6a+6YQ(![~*qO.BEՒ3g;*rhVGfң R=,1EmjPyvY$U2/j$L`u1{
+jkjo$+pHZ b<wO\d@KJʊp:Vۯ0"YkTf0eJ*駓T.ҢbQ
+W. X+{jISWt&$O=E'\! ﵢnth6G#wE"W>#vc*j =2c+f?:)^;{J&+͒ os#FƥvG̍ ã;V]7RAjiUm3/|w39Y{ҵ;iVZ1~2ӕ\zG@\{ØySfFmGc\t8&Z8T4yHd>,CqGPPp9޿ V)zEch7g|ux
+endstream
+endobj
+1423 0 obj
+<< /Type /Page /Contents 1424 0 R /Resources 1422 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1425 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1423 0 R /XYZ 78.37 808.885 null ] >>
endobj
1426 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 768.829 null ] >>
endobj
1427 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 757.87 null ] >>
endobj
1428 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 746.912 null ] >>
endobj
1429 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 735.953 null ] >>
endobj
1430 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 724.994 null ] >>
endobj
1431 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 539.689 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 714.035 null ] >>
endobj
1432 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 703.076 null ] >>
endobj
1433 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 517.771 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 692.117 null ] >>
endobj
1434 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 506.812 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 681.158 null ] >>
endobj
1435 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 495.853 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 670.199 null ] >>
endobj
1436 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 484.894 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 659.24 null ] >>
endobj
1437 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 473.935 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 648.281 null ] >>
endobj
1438 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 462.976 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 637.322 null ] >>
endobj
1439 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 452.017 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 626.364 null ] >>
endobj
1440 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 441.058 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 615.405 null ] >>
endobj
1441 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 430.1 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 604.446 null ] >>
endobj
1442 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 419.141 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 593.487 null ] >>
endobj
1443 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 408.182 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 582.528 null ] >>
endobj
1444 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 397.223 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 571.569 null ] >>
endobj
1445 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 386.264 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 560.61 null ] >>
endobj
1446 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 375.305 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 549.651 null ] >>
endobj
1447 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 364.346 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 538.692 null ] >>
endobj
1448 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 353.387 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 527.733 null ] >>
endobj
1449 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 342.428 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 516.775 null ] >>
endobj
1450 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 331.469 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 505.816 null ] >>
endobj
1451 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 320.511 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 494.857 null ] >>
endobj
1452 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 309.552 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 483.898 null ] >>
endobj
1453 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 298.593 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 472.939 null ] >>
endobj
1454 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 287.634 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 461.98 null ] >>
endobj
1455 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 276.675 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 451.021 null ] >>
endobj
1456 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 265.716 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 440.062 null ] >>
endobj
1457 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 254.757 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 390.249 null ] >>
endobj
1458 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 243.798 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 379.29 null ] >>
endobj
1459 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 232.839 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 368.331 null ] >>
endobj
1460 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 221.88 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 357.372 null ] >>
endobj
1461 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 210.921 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 346.413 null ] >>
endobj
1462 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 335.454 null ] >>
endobj
1463 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 324.496 null ] >>
endobj
1464 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 274.682 null ] >>
endobj
1465 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 263.723 null ] >>
endobj
1466 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 252.765 null ] >>
endobj
1467 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 241.806 null ] >>
endobj
1468 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 230.847 null ] >>
endobj
1469 0 obj
-<< /D [ 1413 0 R /XYZ 79.822 84.396 null ] >>
-endobj
-1412 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1423 0 R /XYZ 75.854 219.888 null ] >>
endobj
-1472 0 obj
-<< /Filter /FlateDecode /Length 2763 >>
-stream
-x[Ko#9WD- x9iubIʕ`n;UHoyE
-~|~pA}ϋ7ɋx#7gV]wכO)~_/b{x߃(mrhjI5j)!}GlpR?P-}'7 0tߨ7߭*2" bz"toOU;Hw4R(((8E;ⷳZfUŒ
-&V>ִbDɺPת|o(d;diZfyҍD̾BEQ~ [WNhm&#^WBivRBs 0xQ.$iNҵl7ɦpp_tg(,\v_tmY6M9ЈHGY(
-+g{$F C0|t<A*=p2FZD2E.89Mf_d7W@ȡX\!V\ ȔVuug}+񏝖Vk֧ m>v\3/4P!L񱦙# F,'lA(TͥiRsK:l}OڰJ./$ܓD! R]Ϗ2$rmN -~6ca &U+6_Ik,jVu26rvZG?c:&GiBV9b. #Ci_m,W^&x5ȸq;RmGMQ9w(I]"xM3v#9!
-,4Z}(ʠ P}I~cJ{DY8Hu..(AM\_mR
-"v[*hGpB9
->RvDuko $[5wҙ# 0l8O -Q5X6z+r=0ێtܢoTvl y46ȩ1ooE{
-9cM1£zf;uc;,
-$[!ԸyTFXF7C6
-;S%ڇljB4UZt\,I
-g3eGyBK v"/g( mclhLj'd
-f@2CyBiD.g(Y֮ibmh9bfeTTd2r
-endstream
+1470 0 obj
+<< /D [ 1423 0 R /XYZ 75.854 208.929 null ] >>
endobj
1471 0 obj
-<< /Type /Page /Contents 1472 0 R /Resources 1470 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1423 0 R /XYZ 75.854 197.97 null ] >>
+endobj
+1472 0 obj
+<< /D [ 1423 0 R /XYZ 75.854 124.247 null ] >>
endobj
1473 0 obj
-<< /D [ 1471 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 113.288 null ] >>
endobj
1474 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 102.329 null ] >>
endobj
1475 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 91.37 null ] >>
endobj
1476 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 746.912 null ] >>
-endobj
-1477 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1423 0 R /XYZ 75.854 80.411 null ] >>
endobj
-1478 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 724.994 null ] >>
+1422 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1479 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 714.035 null ] >>
+1481 0 obj
+<< /Filter /FlateDecode /Length 2800 >>
+stream
+x\͎# SF# v;ޒm !ߒDU٥Yd].QO$3urI2g?_ĉҝkqsDεܸ/zAn25V@G+*thL ř@PO Txh^q.o=_ҿ FDŽDNi ZVL%-_:h/< "|:V2] -<M
+6Q^4F`
+9fSܰc *$޵.66B4.Wǂ!,|{[s ESέ>ՐgnfTz1wN Zv8;oF2^WW40?,5Y<!@m9 VՖ)mɗRs;,MX482̹y%5@nBO,^h<S(J-∅]G1B,JweA&N<! jNpfn1ϢڲTY_en(R^oOm' WƜha %O E}M*2õsTUvmi9052cYbbAM"shR*e xo^NJyax-yoS^=[@ ~VGM4EBׇ gr,6,`l+ds_128 ϫlUn10ZXU^qf;TTɟ>|{'xNc-QvV2$BRT%nQ@=WXvR-}غݔ
+QJ@ڝaR/*{K `VTȳT4յI^~eA$Cv
+^H1Ân,:\.f-mَ^ie&it)~_):u{WCr杴FTtXVtMh֎ &<uL7TH!-P̕߾~EQo&GLVJu\= Ʀ(K͇|T' 3^ŴwѥE0wLLqo{/e~Dm;Djg<(>qZ, qi6j2.]@+j!&19q!~\9!):4Izs^1$S&CR8MJO'nM!aYp(8btK0te{c:(Y=sUu%&NJjB
+-/Teq~j5NԒg  OB41:`&3._kl `!]{!xJX4~;7 VfΠU]9E^9!j #->^[.,6X㘟s!jG
+`\pnr18z'b\8d)Kz>*oDf6$hߙ<7ӌ{'Xm׊IUO <S,/"iC5@31Ώãc涸Xj8_bv/*v)l״Ĭqd{e߁Z7̣CXh^7:O/urw>/
+[B,5zk= "w4R)U\/+ ~ ѽ{_+ΞoýaؿNkG Ϩ3FGU9,v<?.&9ͱ=dFc.'nHPW Vd.r*Xn#\MjѮ%Vq(I"|Hj1Uv3]}2&D KSR>H}?|VuU$L!5cߢyiiZizsf,kURn1%}5pR˕`ˌ>^%~K^*oHֳ1v|||'
+endstream
endobj
1480 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 703.076 null ] >>
+<< /Type /Page /Contents 1481 0 R /Resources 1479 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R /Annots 1528 0 R >>
endobj
-1481 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 692.117 null ] >>
+1528 0 obj
+[ 1478 0 R ]
+endobj
+1478 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 331.173 446.343 343.902 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
endobj
1482 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1480 0 R /XYZ 78.37 808.885 null ] >>
endobj
1483 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 768.829 null ] >>
endobj
1484 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 757.87 null ] >>
endobj
1485 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 746.912 null ] >>
endobj
1486 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 735.953 null ] >>
endobj
1487 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 724.994 null ] >>
endobj
1488 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 714.035 null ] >>
endobj
1489 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 703.076 null ] >>
endobj
1490 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 593.487 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 692.117 null ] >>
endobj
1491 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 582.528 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 681.158 null ] >>
endobj
1492 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 571.569 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 670.199 null ] >>
endobj
1493 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 560.61 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 659.24 null ] >>
endobj
1494 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 549.651 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 648.281 null ] >>
endobj
1495 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 538.692 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 637.322 null ] >>
endobj
1496 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 527.733 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 626.364 null ] >>
endobj
1497 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 516.775 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 615.405 null ] >>
endobj
1498 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 604.446 null ] >>
endobj
1499 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 456.002 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 593.487 null ] >>
endobj
1500 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 445.044 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 582.528 null ] >>
endobj
1501 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 434.085 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 571.569 null ] >>
endobj
1502 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 423.126 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 560.61 null ] >>
endobj
1503 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 412.167 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 486.887 null ] >>
endobj
1504 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 401.208 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 475.928 null ] >>
endobj
1505 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 464.969 null ] >>
endobj
1506 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 340.436 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 454.01 null ] >>
endobj
1507 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 329.477 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 443.051 null ] >>
endobj
1508 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 318.518 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 432.092 null ] >>
endobj
1509 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 307.559 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 406.189 null ] >>
endobj
1510 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 296.6 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 380.286 null ] >>
endobj
1511 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 285.641 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 369.327 null ] >>
endobj
1512 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 274.682 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 319.514 null ] >>
endobj
1513 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 263.723 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 308.555 null ] >>
endobj
1514 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 190 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 297.596 null ] >>
endobj
1515 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 179.041 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 286.638 null ] >>
endobj
1516 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 168.082 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 275.679 null ] >>
endobj
1517 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 157.123 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 225.865 null ] >>
endobj
1518 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 146.164 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 214.907 null ] >>
endobj
1519 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 135.205 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 203.948 null ] >>
endobj
1520 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 124.247 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 192.989 null ] >>
endobj
1521 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 113.288 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 182.03 null ] >>
endobj
1522 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 102.329 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 171.071 null ] >>
endobj
1523 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 91.37 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 160.112 null ] >>
endobj
1524 0 obj
-<< /D [ 1471 0 R /XYZ 79.822 80.411 null ] >>
+<< /D [ 1480 0 R /XYZ 75.854 149.153 null ] >>
endobj
-1470 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+1525 0 obj
+<< /D [ 1480 0 R /XYZ 75.854 138.194 null ] >>
endobj
-1528 0 obj
-<< /Filter /FlateDecode /Length 2723 >>
-stream
-x[Ɏ#WM2 h 4>&A^\ P%)|Bӟ'~3<]ߟ>)wB
-hU^W^%{g
-%wJtHQ˷XYƅtY?R SM+ 
-zi"`h$%b_Ei*v M$pcDEr0_(s6`BjUeqv4vcْ+y@);GQ!S
-{cn;oNub۰aNZ
-Z; kޝnx5 Zh1)έE1lG^VcD? ur"qMq I9[pek n%E۲``mಶ.HiO< ;(MX0Sdҏ4k@zO[;Zl~>S,Ʉ,\1aQ V~E)ϣ|>,I Up(fxk97myds] VQwH˜zCI&+$Csb}M"A.%VflUײ]f./]0wD
-P:v[RV
-ѽ%BMumC}g cq>iUzзD4zOTtuD
-k[p~h}WIhJ?J0L~ئUkK5Iև)ՎHcSzq[Nz][{Zȸ\ ߨΠeu["Vo&j e e}CH 1 Kv#F+ieuﯱVqdc:mvj%(?uQ鏨:L܉$}y,9܅>69>[JfhGdZB&`*% (
-v&HM=$H1 Nnqr=*2k$n˩*[#2r}eZBO-cY_;z+Lm3+\|n ~ٶ U@i$NR)&{;˾Mhw0T
-g?' 10B"KkE$I7.Wz4),YJ~_3{wo? ˲(9^y}IG>_?/QqR>4ʒI>_x+Ġ1''W`NP傍
-6C|ic
-endstream
+1526 0 obj
+<< /D [ 1480 0 R /XYZ 75.854 127.235 null ] >>
endobj
1527 0 obj
-<< /Type /Page /Contents 1528 0 R /Resources 1526 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R /Annots 1573 0 R >>
+<< /D [ 1480 0 R /XYZ 93.716 97.489 null ] >>
endobj
-1573 0 obj
-[ 1525 0 R ]
-endobj
-1525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 396.926 446.343 409.656 ]/A << /S /GoTo /D (Hfootnote.36) >> >>
+1479 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1529 0 obj
-<< /D [ 1527 0 R /XYZ 78.37 808.885 null ] >>
+1531 0 obj
+<< /Filter /FlateDecode /Length 2758 >>
+stream
+x[ˎ# WFhvȺwA*o%w<0]U:HꈤT?/_ׯ_a.Hf._.cGsQ*_QwJP߿:$xHu ˜&E*$y&QKbC)
+93Wb]ڬ/<$ا}) Z*[U Yvɰ}MpjyiWD R;p=tO~.4DVp+\j# ;%1;T[ޡ`yrT9*9
+͆*==;GU"촠͐0:/K6k ]&Vtwz7PjZJ-Q+ʸ{>!E0{Dw(q
+PԹ!u|cO%=LQ[eqsr'8Δn?Srnm+cbm/:]ǸkͤCwLaQ1=
+E|݅!sWљB5X|.
+tEx4E`b.q)"׈NCI7U])A‘sXujKF{Gr<Qxb?yVeiioZMRk5zTE/XM0gZԨ;<'G(߬l`
+BBts7w:o/ImKfTG>74zlc_vd<+hdTW2jf Fււ)iqIՇ>
+ORQ=e~r2I_ x OVEg4}$.}Uƫ<RKjJVSڀrg[%}ЪEinrF%jm1$:ZsV
+ʋCKG)<6~6*G]j>Z gI\6[9
+U(uZ ՁoV/yAڙh4R3)}v~IB׽G;ж$&?kQQ-Ȯ<zNP a]UcG҂
+endstream
endobj
1530 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 768.829 null ] >>
-endobj
-1531 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 757.87 null ] >>
+<< /Type /Page /Contents 1531 0 R /Resources 1529 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1532 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1530 0 R /XYZ 78.37 808.885 null ] >>
endobj
1533 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 768.829 null ] >>
endobj
1534 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 757.87 null ] >>
endobj
1535 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 732.47 null ] >>
endobj
1536 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 721.511 null ] >>
endobj
1537 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 669.906 null ] >>
endobj
1538 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 658.947 null ] >>
endobj
1539 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 647.988 null ] >>
endobj
1540 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 637.029 null ] >>
endobj
1541 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 626.07 null ] >>
endobj
1542 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 615.111 null ] >>
endobj
1543 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 604.152 null ] >>
endobj
1544 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 552.64 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 593.193 null ] >>
endobj
1545 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 541.681 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 582.234 null ] >>
endobj
1546 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 530.722 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 571.276 null ] >>
endobj
1547 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 519.763 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 521.563 null ] >>
endobj
1548 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 508.804 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 483.805 null ] >>
endobj
1549 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 497.846 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 472.846 null ] >>
endobj
1550 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 471.943 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 461.887 null ] >>
endobj
1551 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 446.04 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 450.928 null ] >>
endobj
1552 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 435.081 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 425.126 null ] >>
endobj
1553 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 385.268 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 414.167 null ] >>
endobj
1554 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 374.309 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 403.208 null ] >>
endobj
1555 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 363.35 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 392.249 null ] >>
endobj
1556 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 352.391 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 381.29 null ] >>
endobj
1557 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 341.432 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 370.331 null ] >>
endobj
1558 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 359.373 null ] >>
endobj
1559 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 348.414 null ] >>
endobj
1560 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 337.455 null ] >>
endobj
1561 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 326.496 null ] >>
endobj
1562 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 315.537 null ] >>
endobj
1563 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 236.824 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 304.578 null ] >>
endobj
1564 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 225.865 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 293.619 null ] >>
endobj
1565 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 214.907 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 282.66 null ] >>
endobj
1566 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 203.948 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 271.701 null ] >>
endobj
1567 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 192.989 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 260.742 null ] >>
endobj
1568 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 182.03 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 223.386 null ] >>
endobj
1569 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 171.071 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 212.427 null ] >>
endobj
1570 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 145.168 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 201.469 null ] >>
endobj
1571 0 obj
-<< /D [ 1527 0 R /XYZ 79.822 134.209 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 190.51 null ] >>
endobj
1572 0 obj
-<< /D [ 1527 0 R /XYZ 93.716 104.463 null ] >>
+<< /D [ 1530 0 R /XYZ 75.854 152.752 null ] >>
endobj
-1526 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+1573 0 obj
+<< /D [ 1530 0 R /XYZ 75.854 126.95 null ] >>
endobj
-1576 0 obj
-<< /Filter /FlateDecode /Length 2845 >>
-stream
-x[Ɏ#9WJ-$(\gN־GXre5%(.O$E.L\ 1K|_ (C@]dJv7J{` _J`R[N&HIb){*xuQQM+<}ΕHܷS9~1^8 358q- kHy}[{%"<I'Qsdډ|ap d{}p,HEOuȉe{!9[Z W*[ J DS aTfփ\US)Oh&^(ӌ
-OJrS-@ A~P
-6Jۯ߭ք 1f;sI ~Ҹ[<Ë[TpPQݳk%{*wؠH )
-֡eڲPk~=m0]pdrK,|u˕4
-LUOm @sB{h8ew-e7tzVK%= L
-Q]es2'@'Kϔt[u޹`N{W-_עGKP-騼`vEez6)=
-`N¯&5GުU VnM뙸q䑟4+54(oCyG
-城2?iK6 "&O!QYH NBЁz[P<7#xݚ׎$ƶ%5#aEkV=m6zٰո<+jgTlW3Q8#Y:*c%![>^)FTPz?ީF+-YUf 绠
-%XQiP-/G ATu A|{unBȴc+.j6} %
-/N~0Fg8Q4
-C&SDE) _D 5t_YEuT]= 5LB0ɿMōZ.Je&Թk]
-&gcgwp%VwD~E)l[Թ$d/u l0A@02EF^ R
- 9Wߔ QVxc`a X;*`sGgM4*\ 5:(F,
-u]N\\lIR4׆h_گu\~$e?J- @k!JUz |* *VNfigݶФ" &ӵD\V3St$((@!
-p)(1|0p[JKC)r/y?G
-s+;fV+K}6#Et] KRe3a?m vW
-mO`~ljh1|y`7u3N.}~Uk"􀳫5x%Y*2ȩkCRzU:s"Gy""y%rN6+/To
-endstream
+1574 0 obj
+<< /D [ 1530 0 R /XYZ 75.854 115.991 null ] >>
endobj
1575 0 obj
-<< /Type /Page /Contents 1576 0 R /Resources 1574 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1530 0 R /XYZ 75.854 105.032 null ] >>
endobj
-1577 0 obj
-<< /D [ 1575 0 R /XYZ 78.37 808.885 null ] >>
+1529 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F85 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1578 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 733.96 null ] >>
+<< /Filter /FlateDecode /Length 2646 >>
+stream
+x[n,'ޟ8(e#e]Un$cOwCQw+z w/y#|".3kF\>Ĺ?
+Wqi|E?7\=t3 Vd(VThpkf->-x{
+oIؠu3 Z갂)Uz߮Gk7bWEQ@UpNE1 RAvِ \α!-3 F JK!{n5>ɠ굪Q\)r?Sk~&MyW2)uIԭ$!en4r'#ߨ3t[)|x̀[1DŽHL]:\ :Hж썷a}+l)B8*' Y<?smxMYpdium-zS;X.4rpBMp]Lj{RٗTml!zqFUŽn9ߚ>"n$S &#Yx\{f`ru$hS
+%ft H"u>+lTF<
+اI^9shHO !rf-P դrh]<zND zF :cŸ́tՍz7K&VG!Z)l:۝PW;q̪=S!x@A<ތehc U()VZJQ++9fU?M%Ѫkѳ\_X
+G<^`k+j39Wrɴ
+XW9W 1~`NR2c{4P6PJ:lJwnۦiD{;!rw#Ag{3#܋6v+Փ5<FI(ꊐ|gPAjVGZrf,<X&Tpmk+[cRݛ=8ax-l1RKwKa kP4npv3=(g,ʚ}1 jk+'Wz;Bp'^P"
+]ǴNACAVd/p˜QiDͣT8*ݗ\ P,HZҴ87^.m;pE%<BlbF鉍HN3M9:8W,M96
+Q:X:Y( E-go555zQ~w
+X`$nӘA(Wq
+%@B
+endstream
+endobj
+1577 0 obj
+<< /Type /Page /Contents 1578 0 R /Resources 1576 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1579 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 723.001 null ] >>
+<< /D [ 1577 0 R /XYZ 78.37 808.885 null ] >>
endobj
1580 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 712.042 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 757.87 null ] >>
endobj
1581 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 701.083 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 746.912 null ] >>
endobj
1582 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 690.124 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 735.953 null ] >>
endobj
1583 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 679.166 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 724.994 null ] >>
endobj
1584 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 668.207 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 714.035 null ] >>
endobj
1585 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 657.248 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 703.076 null ] >>
endobj
1586 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 646.289 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 692.117 null ] >>
endobj
1587 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 635.33 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 681.158 null ] >>
endobj
1588 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 585.517 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 670.199 null ] >>
endobj
1589 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 547.659 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 659.24 null ] >>
endobj
1590 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 648.281 null ] >>
endobj
1591 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 637.322 null ] >>
endobj
1592 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 626.364 null ] >>
endobj
1593 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 488.879 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 615.405 null ] >>
endobj
1594 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 536.072 null ] >>
endobj
1595 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 466.961 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 525.113 null ] >>
endobj
1596 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 456.002 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 452.003 null ] >>
endobj
1597 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 445.044 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 441.044 null ] >>
endobj
1598 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 434.085 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 430.085 null ] >>
endobj
1599 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 423.126 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 419.126 null ] >>
endobj
1600 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 412.167 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 408.167 null ] >>
endobj
1601 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 401.208 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 397.208 null ] >>
endobj
1602 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 386.249 null ] >>
endobj
1603 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 379.29 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 375.29 null ] >>
endobj
1604 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 368.331 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 364.332 null ] >>
endobj
1605 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 357.372 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 353.373 null ] >>
endobj
1606 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 346.413 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 342.414 null ] >>
endobj
1607 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 331.455 null ] >>
endobj
1608 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 270.3 null ] >>
endobj
1609 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 286.638 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 259.341 null ] >>
endobj
1610 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 275.679 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 248.382 null ] >>
endobj
1611 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 264.72 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 237.423 null ] >>
endobj
1612 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 253.761 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 226.464 null ] >>
endobj
1613 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 215.505 null ] >>
endobj
1614 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 190 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 204.547 null ] >>
endobj
1615 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 179.041 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 193.588 null ] >>
endobj
1616 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 168.082 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 182.629 null ] >>
endobj
1617 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 118.269 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 171.67 null ] >>
endobj
1618 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 107.31 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 160.711 null ] >>
endobj
1619 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 96.351 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 149.752 null ] >>
endobj
1620 0 obj
-<< /D [ 1575 0 R /XYZ 79.822 85.392 null ] >>
+<< /D [ 1577 0 R /XYZ 75.854 100.552 null ] >>
endobj
-1574 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F85 427 0 R /F59 338 0 R /F84 404 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1623 0 obj
-<< /Filter /FlateDecode /Length 2633 >>
-stream
-x[ɎSLf~ g߂\SnťH4߆s[j5"/_/)O/y'$\~EE\fʹŸz׏BSǼ1DL;C
-"@Qs.!;6<<SW,kʲ{,T"˪e|fUDP,xob{~W{A#%W(tJHo35EyQT߷)*um- %9+͂$
-Aq "ړQ6;BU޳
-,*%v*4TNli|fRՏv/TGwall=RlGWe K0,BJ>ᆁ1Ts JC ݹR!￉!G @SqO]x$޶G`”]T~yoK| g: r)&bʽH%TMdG\]]Kco>4h[ ;[,;'?&,"O0a))&g{\TƤ':)j`TOz&(k:75VZF[t Ζ}W\95$?OFG6R>'DX4h 'iXZ>yO3PQ^[gQ{lchDOʈ#c>
-<VR ՜vh]<=da'-=kMčj;EkWZ}k<C
-v ԰IOiE?_y!(w0'{ImJF
-
-Wv)1B)0÷wf~jI++Q3M&Lz? KǛ^bTK4PS5jȍVs37v詧㓧"QֺNɱq,M#OCg bd42jdC1VH4q}G92)k}+SE<=)KL=yz-O7q@c*Q., )&:2ѩp!+9
-hʜMdBGضLnbbdݤY8i'n*Na6E$q+VORy'mZuڞu mBQoϗdۀ+R9Uj
-G+XXosD[ك`\NSz4(efP~(P7LRf$\y/h0PIJ[ %P\I^,m8N#/? )li8=o&u< $Noފ7, BJ
-Sɰdԡ[ /XX)7q=VN>v3a3 DBIזW$|g[cRh{/,۲K P^{p$_ 9*'Nfzg BbO<B1'n'T+̒kz#j6n-g[G6y+y`\*G"5n̻yv%IGsJ޾8! lmTD;MO-?r %~ 4\mE춝>~0{w
-endstream
+1621 0 obj
+<< /D [ 1577 0 R /XYZ 75.854 89.593 null ] >>
endobj
1622 0 obj
-<< /Type /Page /Contents 1623 0 R /Resources 1621 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1177 0 R >>
+<< /D [ 1577 0 R /XYZ 75.854 78.635 null ] >>
endobj
-1624 0 obj
-<< /D [ 1622 0 R /XYZ 78.37 808.885 null ] >>
+1576 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1625 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 768.829 null ] >>
+<< /Filter /FlateDecode /Length 2412 >>
+stream
+x[n#9 +QKV0`3hJ*KcFI,JxX^~܄9qb4C8NDQ~R*_gJPL\~:j֏'MkBi(zJ lޚQME"RS%oiKv
+a@{>'XOP᜻Kϫ5%~w,!!Kv$Nt@q*!ek@.&9c~_ЄYFF>UJS*Stvp @^8owMсf
+ds8xVnv*Mh<M뢲:x[x'7 NzjånҪjͫM8UJ:JOэ2tttɻu9.p4o
+endstream
+endobj
+1624 0 obj
+<< /Type /Page /Contents 1625 0 R /Resources 1623 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1626 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1624 0 R /XYZ 78.37 808.885 null ] >>
endobj
1627 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 768.829 null ] >>
endobj
1628 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 757.87 null ] >>
endobj
1629 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 746.912 null ] >>
endobj
1630 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 735.953 null ] >>
endobj
1631 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 724.994 null ] >>
endobj
1632 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 714.035 null ] >>
endobj
1633 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 703.076 null ] >>
endobj
1634 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 692.117 null ] >>
endobj
1635 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 590.866 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 681.158 null ] >>
endobj
1636 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 579.907 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 670.199 null ] >>
endobj
1637 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 506.797 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 659.24 null ] >>
endobj
1638 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 495.838 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 648.281 null ] >>
endobj
1639 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 484.879 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 637.322 null ] >>
endobj
1640 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 473.921 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 575.554 null ] >>
endobj
1641 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 462.962 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 564.595 null ] >>
endobj
1642 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 452.003 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 553.636 null ] >>
endobj
1643 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 441.044 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 515.778 null ] >>
endobj
1644 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 430.085 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 504.819 null ] >>
endobj
1645 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 419.126 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 493.86 null ] >>
endobj
1646 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 408.167 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 482.902 null ] >>
endobj
1647 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 397.208 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 471.943 null ] >>
endobj
1648 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 386.249 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 460.984 null ] >>
endobj
1649 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 325.095 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 450.025 null ] >>
endobj
1650 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 314.136 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 439.066 null ] >>
endobj
1651 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 303.177 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 428.107 null ] >>
endobj
1652 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 292.218 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 417.148 null ] >>
endobj
1653 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 281.259 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 406.189 null ] >>
endobj
1654 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 270.3 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 395.23 null ] >>
endobj
1655 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 259.341 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 384.271 null ] >>
endobj
1656 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 248.382 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 373.313 null ] >>
endobj
1657 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 237.423 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 353.387 null ] >>
endobj
1658 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 226.464 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 342.428 null ] >>
endobj
1659 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 215.505 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 326.488 null ] >>
endobj
1660 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 204.547 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 315.529 null ] >>
endobj
1661 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 155.347 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 304.57 null ] >>
endobj
1662 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 293.611 null ] >>
endobj
1663 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 282.653 null ] >>
endobj
1664 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 271.694 null ] >>
endobj
1665 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 243.798 null ] >>
endobj
1666 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 232.839 null ] >>
endobj
1667 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 194.981 null ] >>
endobj
1668 0 obj
-<< /D [ 1622 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-1621 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1624 0 R /XYZ 73.209 184.022 null ] >>
endobj
-1671 0 obj
-<< /Filter /FlateDecode /Length 2476 >>
-stream
-x[nc+&3`,Y{dp5)輅;fVs('AaN~b!zb'# yҊ>S**A&oF JqaӀo7|ĆQl=P/$H^[ZKwv[gjWiyO7v7-a}](Մ T` an {lTl0M
-8񚿗+8N܂ȔS=@& CT:i2d;=߲>D%ɺ@-m '%5eܪ7/ٗ_s/r>Gqya~v~bPF̚Wę2T" 9h"u#ى y
-0O>Pj9,kTx/-~o a[:53͙j}^=I;F
-W.Cd^b9JU~&d'l^2b6g9oF#ؼ
-ƙ3l
-Dg#*Vvj~d|9#` k5`TڪzHӁ٪Psu`X v]jfR|U- ].\zgK((079Xl&UB@ɠ6iz$a !]E*
-
-q,1D8-G Nd'%WץoWt-b^\L~y$llwxpeFȶ8ޥ9p9bڶһ15wCyc!܌fuHF
-yl91+
-9O4;f
-tk]Cu!B}d>(\䰔A?׼/85`F͕ͿB9ъ3N6'178WS_0)\D_EqY}t.C^mɑ~`)j}0zä4daLe;h=+q 7=DG>c0`DH;n/C?T2柚Y&ç`wZbXV|5Ձ`7}VYKhk{Bc]OR?͹` p@iWqX ɘ:'I{BK:x)UZ5zWȤ=ť: J.nF?K
-endstream
+1669 0 obj
+<< /D [ 1624 0 R /XYZ 73.209 173.063 null ] >>
endobj
1670 0 obj
-<< /Type /Page /Contents 1671 0 R /Resources 1669 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1624 0 R /XYZ 73.209 162.105 null ] >>
+endobj
+1671 0 obj
+<< /D [ 1624 0 R /XYZ 73.209 151.146 null ] >>
endobj
1672 0 obj
-<< /D [ 1670 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 140.187 null ] >>
endobj
1673 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 129.228 null ] >>
endobj
1674 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 118.269 null ] >>
endobj
1675 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 107.31 null ] >>
endobj
1676 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 96.351 null ] >>
endobj
1677 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 724.994 null ] >>
-endobj
-1678 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1624 0 R /XYZ 73.209 85.392 null ] >>
endobj
-1679 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 703.076 null ] >>
+1623 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1680 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 692.117 null ] >>
+<< /Filter /FlateDecode /Length 2336 >>
+stream
+x[nc+f  X k&6|_dv 4jaxX8S?.Oʝ9+@>$N'Nx2Z0󿧿Μ+ɹq ~?x@XO9@BX&AH9G[pMV=|^T-]_)S0] u-fF«<{հt"řrE%Q#$nĮDQLh[))'a[ DGbJΏo麖M܂[G&K^i5C{߁x?Kc6<8f4X-{5
+kwDiD-Gsik4laji%A$pͤKT{"&$E5E;ŀ)g
+jv~}xa>fBP2õ*oߘ)Uk
+*t𜱇F)1K"tK=Tlk4gY6`I2~
+zI#0cyqτ4,'
+f-<H7Y׬*ˣ&Ԯ
+nʛpY %ayoegXcZm,g YWkHs_vr[EZ/-
+wNZY("9txڞ2l1W6Z$\Q$˳ [WZ.z89;]ߋ_%Ɋz^ˀK@pxxclWck/^A
+ⳓ8YWO^lm:Vڌ]9FYZugXU`ͣ7;ȷAU
+-XeżՎpUo PyHYǤeQ6{6gKoը׮5-RՉxuY_𐴪
+2>%N;" Iߪ[>{)oɟ|'wg
+.Fntv@ Nd,]^NHSԟަtHPLG:~P0
+[J#?s/JZ/]_8TZIۧ=k-S1Fh}UXR A=ZgK¼5Hj]C{r+=Pcp6*{H'rL旚O<
+endstream
+endobj
+1679 0 obj
+<< /Type /Page /Contents 1680 0 R /Resources 1678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1681 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 630.349 null ] >>
+<< /D [ 1679 0 R /XYZ 78.37 808.885 null ] >>
endobj
1682 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 619.39 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 768.829 null ] >>
endobj
1683 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 608.431 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 757.87 null ] >>
endobj
1684 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 570.573 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 746.912 null ] >>
endobj
1685 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 559.614 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 735.953 null ] >>
endobj
1686 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 548.655 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 724.994 null ] >>
endobj
1687 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 537.696 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 714.035 null ] >>
endobj
1688 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 526.737 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 703.076 null ] >>
endobj
1689 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 515.778 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 692.117 null ] >>
endobj
1690 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 504.819 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 681.158 null ] >>
endobj
1691 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 493.86 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 670.199 null ] >>
endobj
1692 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 482.902 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 659.24 null ] >>
endobj
1693 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 471.943 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 648.281 null ] >>
endobj
1694 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 460.984 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 637.322 null ] >>
endobj
1695 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 450.025 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 626.364 null ] >>
endobj
1696 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 439.066 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 615.405 null ] >>
endobj
1697 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 428.107 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 604.446 null ] >>
endobj
1698 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 408.182 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 593.487 null ] >>
endobj
1699 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 397.223 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 582.528 null ] >>
endobj
1700 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 381.283 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 571.569 null ] >>
endobj
1701 0 obj
-<< /D [ 1670 0 R /XYZ 79.822 370.324 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 560.61 null ] >>
endobj
1702 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 359.365 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 549.651 null ] >>
endobj
1703 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 348.406 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 538.692 null ] >>
endobj
1704 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 337.447 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 527.733 null ] >>
endobj
1705 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 326.488 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 516.775 null ] >>
endobj
1706 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 505.816 null ] >>
endobj
1707 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 494.857 null ] >>
endobj
1708 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 483.898 null ] >>
endobj
1709 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 472.939 null ] >>
endobj
1710 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 461.98 null ] >>
endobj
1711 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 216.899 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 451.021 null ] >>
endobj
1712 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 440.062 null ] >>
endobj
1713 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 429.103 null ] >>
endobj
1714 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 184.022 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 418.144 null ] >>
endobj
1715 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 173.063 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 407.186 null ] >>
endobj
1716 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 162.105 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 396.227 null ] >>
endobj
1717 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 151.146 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 385.268 null ] >>
endobj
1718 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 140.187 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 374.309 null ] >>
endobj
1719 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 129.228 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 336.451 null ] >>
endobj
1720 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 118.269 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 325.492 null ] >>
endobj
1721 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 107.31 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 314.533 null ] >>
endobj
1722 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 96.351 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 276.675 null ] >>
endobj
1723 0 obj
-<< /D [ 1670 0 R /XYZ 81.145 85.392 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 238.817 null ] >>
endobj
-1669 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+1724 0 obj
+<< /D [ 1679 0 R /XYZ 73.209 227.858 null ] >>
endobj
-1727 0 obj
-<< /Filter /FlateDecode /Length 2574 >>
-stream
-x[nk++@Q$RWZ=O/brǢXUp=p_o_WȜy``\:rs8so<y_W˜8\Tz2%3ahǜ%
-
-#r /) ~kU -|_KH5L`<+Pf3H?wiR+ERxZ'B ~.<gl~'kw #~[E~~^vQF7b:X .`XkCҫ
-S
-Gʼn"=ȳc)%-!7LK=I%~wH}V51p9>{fژaop7RL=m,
-ѽ詜'==a2;|JT=ͨz2T@c6iB/ͧU 23tYC4@YSܫ+Gʀ二WT|I4-rR
-EY2T&At3B#f%GPyhH5lgp\,YtHp5Zb_l :8L
-Lx-!"*EQ'ZøCqz9W j7.)# Ny]- ^h| nF!W Y^MT/yb$ry.$kXk[~6V/G4ȱZs[c[}GurU^yDsEZN>)9d!1ss Q9owHckFXdR Y%uHْ_WAoz8&fҕu32;
-wLѕrYQ[-:<mUjڅW݀$(j̙%)ޝ!6nu4 z؏:y]?wY>J{+91
-E$%5iϚRiʩxcg;ѓ6dwL])M+N66@wAӕ<D6ւ~* dfPřxI!Ӯ_
-`^'>
-b%BhQf:Ņ}n[oGҲ"+nbR[Ǻcqnu 2kEh:b4vnv ВS5_l޴H7Zf6ilj1G#iS~qj;#jpHHJdZ)GZV됖
-c4<Z^yi6f08 " qw a&>lhXRG[1yhor׸? krp(7M;«@WIfdɢN~HH9ޯWC+|$^OhT`+Ϋ'c=C*zYKf<0 UUԁ|Ya 2O45[ghᜐZy+o-ԋNU`^ݩtY:.A[I{իvwKһ}kT=WYUZSvUIPwHvb95[ål/(
-Ze
-v:)y,+\ߢE>:UūaWvVn+WqRm4GeWD5d;t74J<bЗU@6i[b݂9ߞ)9dj gWo9Z68N݂I uJ]^ϸ `:Xg7<,!G풋@#eQTGo{1rLIՉ
-endstream
+1725 0 obj
+<< /D [ 1679 0 R /XYZ 73.209 216.899 null ] >>
endobj
1726 0 obj
-<< /Type /Page /Contents 1727 0 R /Resources 1725 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1679 0 R /XYZ 73.209 205.94 null ] >>
+endobj
+1727 0 obj
+<< /D [ 1679 0 R /XYZ 73.209 194.981 null ] >>
endobj
1728 0 obj
-<< /D [ 1726 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 184.022 null ] >>
endobj
1729 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 173.063 null ] >>
endobj
1730 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 162.105 null ] >>
endobj
1731 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 151.146 null ] >>
endobj
1732 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 140.187 null ] >>
endobj
1733 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 129.228 null ] >>
endobj
1734 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 118.269 null ] >>
endobj
1735 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 107.31 null ] >>
endobj
1736 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 96.351 null ] >>
endobj
1737 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 681.158 null ] >>
-endobj
-1738 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1679 0 R /XYZ 73.209 85.392 null ] >>
endobj
-1739 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 659.24 null ] >>
+1678 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1740 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 648.281 null ] >>
+<< /Filter /FlateDecode /Length 2559 >>
+stream
+x[n#9WEw0`Y[=0HFrIf:)م>UR.X_,~ǯEgހQp_z&]|܊W'^sr.9Wֻ>] pGޑ3H^tK~P7 ֍k^g|@k^G-_ j 9{]
+d ׊5Ᾱe>LE~jcK xӯW!I"q3_ =].Ch7Rγ>;T\jx7saT(7
+|
+D^YaH
+E^ѧY
+ϿOl$Ip{
+k2L(Xl {1 ;<a'ez ڼlcڬfp;L.|/5Z6N)dǀsPPݪS,x@@F
+/={1,QJTLG܋ɞ7eզ_2)e+U֍Wɷf/9 -pjfJA)h E\fϸo{y.H<}^JgīTjV!WzR)Fz29jreϩ<ZʧʱO*_i1Jb*tKf-CMok3t Y&d--3XQs,ϥVCZmRIIQn"~/ZU!P#J2uG6U*ubQ^^ qª*(mr>CDt{p*IuMl+Zgb;L׶[fL9`4Xi/~!#8P͚CX[Jֵj\VS{N` pBnʕ>gMZGGn Iv`lpG95+*ژD#:YSm^
+`CӚ5}D:Ypk~Jef4RW.;qYiQ,
+k7<4Ic
+1H
+~U@R4U;ȯVdڎ{WCՌE;}p5S':sfj)kraL27,&-[u 3J<П wrs:
+hrvN
+Bj;soͿ^mZT/
+iGq:J\Xg_v6M)Lxm3]C;WLj|o 3#V>)
+1Lf6Q.`%O]ӼJm_GRY/s&sujcƥZ!('ta-nKWq4=S+K
+}~:5<8/X'@soQM?
+NZJC2@F3\(oX
+'B,osu@K'hꍤ Pܣ8aʘܜl EޚRJo
+endstream
+endobj
+1739 0 obj
+<< /Type /Page /Contents 1740 0 R /Resources 1738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1741 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 1739 0 R /XYZ 78.37 808.885 null ] >>
endobj
1742 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 745.915 null ] >>
endobj
1743 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 734.956 null ] >>
endobj
1744 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 723.997 null ] >>
endobj
1745 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 713.039 null ] >>
endobj
1746 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 663.225 null ] >>
endobj
1747 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 652.266 null ] >>
endobj
1748 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 626.364 null ] >>
endobj
1749 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 615.405 null ] >>
endobj
1750 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 577.547 null ] >>
endobj
1751 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 566.588 null ] >>
endobj
1752 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 555.629 null ] >>
endobj
1753 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 544.67 null ] >>
endobj
1754 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 533.711 null ] >>
endobj
1755 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 522.752 null ] >>
endobj
1756 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 511.793 null ] >>
endobj
1757 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 500.834 null ] >>
endobj
1758 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 1739 0 R /XYZ 79.37 477.378 null ] >>
endobj
1759 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 435.614 null ] >>
endobj
1760 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 424.655 null ] >>
endobj
1761 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 391.245 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 413.696 null ] >>
endobj
1762 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 380.286 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 402.737 null ] >>
endobj
1763 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 369.327 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 391.778 null ] >>
endobj
1764 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 366.872 null ] >>
endobj
1765 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 293.611 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 355.913 null ] >>
endobj
1766 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 344.954 null ] >>
endobj
1767 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 333.995 null ] >>
endobj
1768 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 323.036 null ] >>
endobj
1769 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 312.077 null ] >>
endobj
1770 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 301.118 null ] >>
endobj
1771 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 290.159 null ] >>
endobj
1772 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 216.899 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 263.26 null ] >>
endobj
1773 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 252.301 null ] >>
endobj
1774 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 225.402 null ] >>
endobj
1775 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 184.022 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 214.443 null ] >>
endobj
1776 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 173.063 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 203.484 null ] >>
endobj
1777 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 162.105 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 192.525 null ] >>
endobj
1778 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 151.146 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 181.567 null ] >>
endobj
1779 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 140.187 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 170.608 null ] >>
endobj
1780 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 102.329 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 159.649 null ] >>
endobj
1781 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 91.37 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 148.69 null ] >>
endobj
1782 0 obj
-<< /D [ 1726 0 R /XYZ 81.145 80.411 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 137.731 null ] >>
endobj
-1725 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1785 0 obj
-<< /Filter /FlateDecode /Length 2267 >>
-stream
-x[n6+C00[r-59*.*ɢ z[-=W"͙}ߞOnȜn=x3Z0?8Wqk/O<yśeNki[ #EOy8&HdBCyF[_MW2 Ѧ`uzpwK;` wtjFPWV9xY"Mg/U R:J̘YWt:jIREww.a `ӑ(4S`/=G
-zUCr=>4-{ ,E6>o-Zf:0zߪTTK󄪰R(JuSfeZ6CO\Bƪ z
-LǹSQfD
-:v&p)J
-w<X5͌ $0㫙Q7J=KK`FI#}U_J)t/eCXh)_ɶVZFkY{XJ9ΐQL\2-F\a9,E\p5ZOO3E)
-*M SqZ*R1154kmcI__djGtjʼnƾD0r>L{I]RS K4/tb'ɗ#l,yr$/f!M8(H\HuẸj!sy_<|ḭB+}?eRHkǕ*߳Z.e/&$m0I>
->
-KNzsRJV#)DJp^ZJZyẍ́)/K'$)II9Ig_Hۨs/~٬6d옢b^ *3L_c v&àVc6ږ,{1t )ǬФq.{EUh3 Z+ |%fg xk\'!茟H/t9[kF҇Y> bqcs5Iٔu-qԛ=S)L+(tį/$;=(ڂGr a5s^컎Tw]n C"(x@fysg4Q%,%d> m鐧ˣVm>Lݥz[SvwA`$F?skx7.tCC)-sF댼%O\x$=Ҽ$~bR,Z @?セJ|&
-6'i^;i _S٧p@Z˥)q1?j9s+o\lM\l#}= EAT&s$կb+2]5_HCrs-pԀ\ZW4gd;+8y4 +^Bv~*܆ahve-{HovX^V8@auFҼ$؏$'+\ @к134%|&D2i@Ι$ 8WH=EVs~IRmNcOlҁڽ)~᳟H`Eybn]2
- 9 Tmb ݲbZcr7@
-aGP7֫rd!)TӗbS:hɬTr.$}+L{^iD뢀YcH].=1О.+
-%cg7 :lլ_HΜr>su@:ҧYM ڠr]NG2/MH^y=e|i:^6HJƂ,LhL=С8H{R9zRbgV2vM1
-endstream
+1783 0 obj
+<< /D [ 1739 0 R /XYZ 73.209 126.772 null ] >>
endobj
1784 0 obj
-<< /Type /Page /Contents 1785 0 R /Resources 1783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1739 0 R /XYZ 73.209 115.813 null ] >>
+endobj
+1785 0 obj
+<< /D [ 1739 0 R /XYZ 73.209 104.854 null ] >>
endobj
1786 0 obj
-<< /D [ 1784 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 93.895 null ] >>
endobj
1787 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1739 0 R /XYZ 73.209 82.936 null ] >>
endobj
-1788 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 719.016 null ] >>
-endobj
-1789 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 708.057 null ] >>
+1738 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1790 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 682.154 null ] >>
+<< /Filter /FlateDecode /Length 1917 >>
+stream
+xZK6ϯI
+HvL;{$ x΄O5F":syUJۈxV"H|L;=j0|@Ɖ4.cz!0{{FvH{ot3˙9΂ ҘVvHMOYbd jh-%쭺b*K6 8gC6t
+0݌l9a8y#B=rU?'V|bu%Gu v쀞yE7΅Ѡ )?Gc P"!Rvr\Jniݍ2wdzBfwz&kmI;ˆ|ԈAY1vXlF=׆ieBC8~,H5҉lŀ7C9Cz2$*<Fe4MZ51^t T,頰BzҶפN5!RU{ݪS dc4.0d!=l2U˸e+.o>(Pq]K#qvXE4=r޺m|߾%>گ^ܚ)FETj0ڊF^f)}-k1(6QjO`SOH6YWǚEm&HlTgѭ.l/?W(} 6XCLFv`ŀܠ[},Q\VnJ~S)kӶgfȏ|ȵxdu[i:5p%,kɺAw`)Nv^
+endstream
+endobj
+1789 0 obj
+<< /Type /Page /Contents 1790 0 R /Resources 1788 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1791 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 1789 0 R /XYZ 78.37 808.885 null ] >>
endobj
1792 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 768.829 null ] >>
endobj
1793 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 757.87 null ] >>
endobj
1794 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 746.912 null ] >>
endobj
1795 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 735.953 null ] >>
endobj
1796 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 724.994 null ] >>
endobj
1797 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 714.035 null ] >>
endobj
1798 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 703.076 null ] >>
endobj
1799 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 556.625 null ] >>
-endobj
-233 0 obj
-<< /D [ 1784 0 R /XYZ 79.37 533.168 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 692.117 null ] >>
endobj
1800 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 491.405 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 681.158 null ] >>
endobj
1801 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 480.446 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 670.199 null ] >>
endobj
1802 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 469.487 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 659.24 null ] >>
endobj
1803 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 458.528 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 648.281 null ] >>
endobj
1804 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 447.569 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 637.322 null ] >>
endobj
1805 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 422.662 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 626.364 null ] >>
endobj
1806 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 411.704 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 615.405 null ] >>
endobj
1807 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 400.745 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 604.446 null ] >>
endobj
1808 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 389.786 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 593.487 null ] >>
endobj
1809 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 378.827 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 582.528 null ] >>
endobj
1810 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 367.868 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 571.569 null ] >>
endobj
1811 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 356.909 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 560.61 null ] >>
endobj
1812 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 345.95 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 549.651 null ] >>
endobj
1813 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 319.051 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 538.692 null ] >>
endobj
1814 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 308.092 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 527.733 null ] >>
endobj
1815 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 281.193 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 516.775 null ] >>
endobj
1816 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 270.234 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 505.816 null ] >>
endobj
1817 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 259.275 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 494.857 null ] >>
endobj
1818 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 248.316 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 483.898 null ] >>
endobj
1819 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 237.357 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 472.939 null ] >>
endobj
1820 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 226.398 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 461.98 null ] >>
endobj
1821 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 215.44 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 432.298 null ] >>
endobj
1822 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 204.481 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 421.339 null ] >>
endobj
1823 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 193.522 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 410.38 null ] >>
endobj
1824 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 182.563 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 399.421 null ] >>
endobj
1825 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 171.604 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 388.462 null ] >>
endobj
1826 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 160.645 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 377.503 null ] >>
endobj
1827 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 149.686 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 366.544 null ] >>
endobj
1828 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 138.727 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 355.585 null ] >>
endobj
1829 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 127.768 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 344.626 null ] >>
endobj
1830 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 116.809 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 333.668 null ] >>
endobj
1831 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 105.851 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 322.709 null ] >>
endobj
1832 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 94.892 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 311.75 null ] >>
endobj
1833 0 obj
-<< /D [ 1784 0 R /XYZ 81.145 83.933 null ] >>
-endobj
-1783 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1789 0 R /XYZ 73.209 300.791 null ] >>
endobj
-1836 0 obj
-<< /Filter /FlateDecode /Length 1947 >>
-stream
-xZɎ#7 W#4
-o:_ x^3QR]#=˟R
-Wgoe1^UqUܤk m
-mSي;)&7鞶mΖMңekh /; |*q<R ))(&7 5Ķt2!( MԎ]]tZOw';nw$*;|fHTF{Dㅋ}
-[5kэ\211+ABϱUXb,2lgj
-endstream
+1834 0 obj
+<< /D [ 1789 0 R /XYZ 73.209 289.832 null ] >>
endobj
1835 0 obj
-<< /Type /Page /Contents 1836 0 R /Resources 1834 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1789 0 R /XYZ 73.209 278.873 null ] >>
+endobj
+1836 0 obj
+<< /D [ 1789 0 R /XYZ 73.209 267.914 null ] >>
endobj
1837 0 obj
-<< /D [ 1835 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 256.955 null ] >>
endobj
1838 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 245.996 null ] >>
endobj
1839 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 235.037 null ] >>
endobj
1840 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 224.079 null ] >>
endobj
1841 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 213.12 null ] >>
endobj
1842 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 202.161 null ] >>
endobj
1843 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 191.202 null ] >>
endobj
1844 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 180.243 null ] >>
endobj
1845 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 169.284 null ] >>
endobj
1846 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 158.325 null ] >>
endobj
1847 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 147.366 null ] >>
endobj
1848 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 136.407 null ] >>
endobj
1849 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 125.448 null ] >>
endobj
1850 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 114.489 null ] >>
endobj
1851 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 626.364 null ] >>
-endobj
-1852 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 1789 0 R /XYZ 73.209 103.531 null ] >>
endobj
-1853 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 604.446 null ] >>
+1788 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1854 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 593.487 null ] >>
+<< /Filter /FlateDecode /Length 2501 >>
+stream
+x[n#W! eڻnoVm(>r{,z$sZa="?u?vӠ?~'тq-N| JpOD-syK?:}*
+ַhߒ:o5wșNr W$i>1ɊE#lx2zI+TI2gBdK* uΟIoW+O֫ѶWωQP3XXiÏ-t \44 ¬)P$12 "={\E24á;dB3
+v)nݥY.$rhj B'}
+73@? nvR 7!<f)rֳ3E,eAS'=/Q*[l?I/Pz6 UA@֙,ZքvY baczIm
+$'!^T؅ O0? v
+D+:ӴBWDG:ΜS$֘(םTv| f5kL}tEF9x1tk{t|'
+eٔ,rNbY|P܁7ڡ4L)zzt?y.^Dq#w5v-3A}aBP7M i#y1c4SbHq|6 _m b
+O{bvr69YJ$4YE4$.HRyYA^.LߘXNP yjCSlNT_~iT5Ǣb.闝ۆ7O汌?ҕ]1*,CKʩԤ. 3&tBzZwrvCކh9HL85r`)s۵d`Xf), *W%:WSeJ'2gL0 U h2̷mz8 [øZ[8;)y( )1{IٞhĴ֥8\o2u>[X .|xa]挫1Ğ)0\{b>fN8BLG^Ғs*\{1;'m}¨aTAFMFkt0ja ~?Ҕ<@[<WSex 9w6iBKW'Ih886.:"ˆuzf^:I0kW+X1ZYD$~f 3]_l$wg1{V3ԑW.urBf
+endstream
+endobj
+1853 0 obj
+<< /Type /Page /Contents 1854 0 R /Resources 1852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1855 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 1853 0 R /XYZ 78.37 808.885 null ] >>
endobj
1856 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 752.889 null ] >>
endobj
1857 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 710.05 null ] >>
endobj
1858 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 699.091 null ] >>
endobj
1859 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 688.132 null ] >>
endobj
1860 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 677.173 null ] >>
endobj
1861 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 496.849 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 666.214 null ] >>
endobj
1862 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 485.89 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 655.255 null ] >>
endobj
1863 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 474.931 null ] >>
+<< /D [ 1853 0 R /XYZ 79.37 617.843 null ] >>
endobj
1864 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 463.973 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 574.087 null ] >>
endobj
1865 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 453.014 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 563.128 null ] >>
endobj
1866 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 442.055 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 552.169 null ] >>
endobj
1867 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 431.096 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 541.21 null ] >>
endobj
1868 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 420.137 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 530.252 null ] >>
endobj
1869 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 409.178 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 519.293 null ] >>
endobj
1870 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 398.219 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 508.334 null ] >>
endobj
1871 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 387.26 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 497.375 null ] >>
endobj
1872 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 376.301 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 486.416 null ] >>
endobj
1873 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 365.342 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 475.457 null ] >>
endobj
1874 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 354.384 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 464.498 null ] >>
endobj
1875 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 343.425 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 453.539 null ] >>
endobj
1876 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 332.466 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 442.58 null ] >>
endobj
1877 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 321.507 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 431.621 null ] >>
endobj
1878 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 310.548 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 420.662 null ] >>
endobj
1879 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 299.589 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 409.704 null ] >>
endobj
1880 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 288.63 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 398.745 null ] >>
endobj
1881 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 277.671 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 387.786 null ] >>
endobj
1882 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 266.712 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 376.827 null ] >>
endobj
1883 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 255.753 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 365.868 null ] >>
endobj
1884 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 244.794 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 354.909 null ] >>
endobj
1885 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 233.836 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 343.95 null ] >>
endobj
1886 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 222.877 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 332.991 null ] >>
endobj
1887 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 211.918 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 322.032 null ] >>
endobj
1888 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 200.959 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 311.073 null ] >>
endobj
1889 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 190 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 300.115 null ] >>
endobj
1890 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 179.041 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 289.156 null ] >>
endobj
1891 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 168.082 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 278.197 null ] >>
endobj
1892 0 obj
-<< /D [ 1835 0 R /XYZ 81.145 113.288 null ] >>
-endobj
-1834 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1853 0 R /XYZ 73.209 267.238 null ] >>
endobj
-1895 0 obj
-<< /Filter /FlateDecode /Length 2450 >>
-stream
-x[Ko+WU<%+RWf;o0s4>Q(8S˯rɜ?_ā`iy0Z0+#N¼_+9Ѷra(
-g7
-lf#,`&Q8ՎWގ1ɎRTP#ΐOV:a%݆-&Js4'ʨ9gbyźE~=H"
-0̢)ȺIy.R;vrrLmjX@qA:S 9S
- &Ԫ"4C3M( k4iJjVevyՎ<G!db-$D\Jd̀S= F2)pjk\t hdRɩk\s0N
-8q3VfIFKERw P1ܬMPp:+r3sYj1rlyOC@ckl.w
-J^T_ 0O'ČsRkCCPT"OALbE`3~ArmclpRMe04@kHMcd+
- nY ơg(+K3je74Id;U50=wvlƆ`9#!ݜ8]Ʀr۵dqnJe??ʘ^.2S+{es4yBkwxslTWI}9>Y8)Y˘'Zl`lPIĸ^\HO!zniw1#W-17que7&cO)2\n=F+iV[a:JwOJ#ܭ•Xm7wЁ#jUQ5U8D?[=6~ W;1rl>B;fy%{2u94#]i{4LG(:0k X1ZYGcXyS"$|f 3X .Ӗ+Em3'1O m\LA4i)
-endstream
+1893 0 obj
+<< /D [ 1853 0 R /XYZ 73.209 256.279 null ] >>
endobj
1894 0 obj
-<< /Type /Page /Contents 1895 0 R /Resources 1893 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1853 0 R /XYZ 73.209 245.32 null ] >>
+endobj
+1895 0 obj
+<< /D [ 1853 0 R /XYZ 73.209 234.361 null ] >>
endobj
1896 0 obj
-<< /D [ 1894 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 223.402 null ] >>
endobj
1897 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 212.443 null ] >>
endobj
1898 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 201.484 null ] >>
endobj
1899 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 190.525 null ] >>
endobj
1900 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 93.888 null ] >>
endobj
1901 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1853 0 R /XYZ 73.209 82.929 null ] >>
endobj
-1902 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 714.035 null ] >>
+1852 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-237 0 obj
-<< /D [ 1894 0 R /XYZ 79.37 676.623 null ] >>
+1904 0 obj
+<< /Filter /FlateDecode /Length 2635 >>
+stream
+x[n#+U\Aے[kr_}kv)˙LG,*)/oۯ0'NfIq(?)Δ
+T.QGuuMQM4p" QO;*~R_8 X#ls=}~ϗHu hk#!if{x1Fac cO da,nJ"х63?jQu<bc*L) )۬
+wgW­sv+˔(y߱uQ(g$%w_^+=mDu-0~^@H sc+ !fkX3hցyhv|czB`1gL@SzB!-㘄R==}LNiYwr"]0
+ \hy %%Vm $(ױFY-Ꭻv'ÜD:8?+ a~Ҥ-`Aq ʮFLFxg}Gܤ<^ds3bQh%Fb6ǜ"(N #Lb׎RD(.EϤu'VH j|GWd
+r~RP~/)r_k#xRHŇSrk ̓/.)QL 5ώJp2P|_[\Əϟ< NlcQ:?(mk 1GMԺx'o)B-:[\Ů#T7hÁYM8.yLreUgFHWVpupuiZO9Zwi@)D'"y乌~%Hgs︳{GCe2;nID#o׸6l'I-}XL;,K NKdJncZA{%+SK̓R9mf@ˬne֥?H"B
+6Яg\˔DCb5[#+Y0?O b_6V]/!_]7Vy%o2ʨGW͡pAPDPj*vk_ϸ!8^q`
+s8a:ⰰl~yK8iƉ_XARKMa!Itk3k& R12KV:Jm읟'L4hM\5_:]BJ/&NIñ8(@NBK jRkBr*eTy H5ZB@rl=lGyE}C$N{NBGb;_4hgrޛoY{"s~L^l P2ҠPaw)䣱V.L)A{__}X%ɤV;po)cva٘'}dVhh٪ `huʌGrQw&/x8=wȯ;8xV$!U!̦k@
+Fesn5:J=e}b VtDsG5c> (@yPBH+z J!R=Bc=';yAɥۅ4t0]P
+'|Wgby
+o kp|FJ߷> fl5_ r#>G9fqu.<xYUQ*MZEɿ%;hk}>Wɔh~oӗB:JA^D7usmՈޣN!G!&YEG l$#4Uzٖ ~z jyjIGHQ-J(>T"`K?v,@'N)X|z7eD=
+endstream
endobj
1903 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 632.867 null ] >>
-endobj
-1904 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 621.908 null ] >>
+<< /Type /Page /Contents 1904 0 R /Resources 1902 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1477 0 R >>
endobj
1905 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 610.949 null ] >>
+<< /D [ 1903 0 R /XYZ 78.37 808.885 null ] >>
endobj
1906 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 599.99 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 768.829 null ] >>
endobj
1907 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 589.031 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 757.87 null ] >>
endobj
1908 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 578.072 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 746.912 null ] >>
endobj
1909 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 567.113 null ] >>
+<< /D [ 1903 0 R /XYZ 79.37 697.545 null ] >>
endobj
1910 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 556.154 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 670.725 null ] >>
endobj
1911 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 545.195 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 659.766 null ] >>
endobj
1912 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 534.237 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 648.807 null ] >>
endobj
1913 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 523.278 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 637.848 null ] >>
endobj
1914 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 512.319 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 626.889 null ] >>
endobj
1915 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 501.36 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 615.93 null ] >>
endobj
1916 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 490.401 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 604.971 null ] >>
endobj
1917 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 479.442 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 594.012 null ] >>
endobj
1918 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 468.483 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 583.054 null ] >>
endobj
1919 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 457.524 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 572.095 null ] >>
endobj
1920 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 446.565 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 561.136 null ] >>
endobj
1921 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 435.606 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 550.177 null ] >>
endobj
1922 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 424.648 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 539.218 null ] >>
endobj
1923 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 413.689 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 528.259 null ] >>
endobj
1924 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 402.73 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 517.3 null ] >>
endobj
1925 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 391.771 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 506.341 null ] >>
endobj
1926 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 380.812 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 490.401 null ] >>
endobj
1927 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 369.853 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 479.442 null ] >>
endobj
1928 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 358.894 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 468.483 null ] >>
endobj
1929 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 347.935 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 457.524 null ] >>
endobj
1930 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 336.976 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 446.565 null ] >>
endobj
1931 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 326.017 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 435.606 null ] >>
endobj
1932 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 315.058 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 359.89 null ] >>
endobj
1933 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 304.1 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 348.931 null ] >>
endobj
1934 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 293.141 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 311.073 null ] >>
endobj
1935 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 282.182 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 261.26 null ] >>
endobj
1936 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 271.223 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 250.301 null ] >>
endobj
1937 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 260.264 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 212.443 null ] >>
endobj
1938 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 163.626 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 201.484 null ] >>
endobj
1939 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 152.667 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 190.525 null ] >>
endobj
1940 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 141.709 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 152.667 null ] >>
endobj
1941 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 130.75 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 141.709 null ] >>
endobj
1942 0 obj
-<< /D [ 1894 0 R /XYZ 81.145 119.791 null ] >>
-endobj
-1893 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F15 326 0 R /F74 329 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1903 0 R /XYZ 73.209 130.75 null ] >>
endobj
-1945 0 obj
-<< /Filter /FlateDecode /Length 2692 >>
-stream
-x[ˎ+*>
-<x[U.k,N{^W%pCSm?EUy<%yl>+Ia@=] -c+mk jF]\%+ޗ.eO45;m)EsrSy%k(eum\Y@i XìdӬyZ !ikNoPc0`E沝"#l}(*b&TRZ\J)a/Ao0rRZ0ϊͯ
-8 űɤũMKi??/>+Kb&ϳ0liŁ);\kuN~܅o.K)\I㝈d7͕6~0CW0/nG-S__ yZ=wiD'/یwtbw'3gz m#Gj:o;FoT蝷A
-ϢH"DkcF Km.*v`xHcH0 nI *xj%%+̆F.hL |
-2r`@%Z^\qG/y _мա98;$8)fyq #Tt4G]1:"l3=yG6
->I]90Bi+|R VP@V)R+IG質Z列&p
-H
-\r ഄr
-z#Xb
-OPk)n3
-`<Ʊ/fsKs b}Lp`(L`ڲ**!`p6p@ y\1i#t%y
-c9hP}x[k+a=s/tr _J|w}]h[4HYZo)'Yz!ϊpR6s}4SN`O_>}_GDW>ū9rrR!vjrݿETgN\l^(B=yvfc|n&*y&yG1\S6Fޞ7]I ݭ$#KT8p朮/?w2"%s"],C!8rkDZgkyO37v⻒-ug/_%Hl3%s"x @-bovkP
-endstream
+1943 0 obj
+<< /D [ 1903 0 R /XYZ 73.209 104.847 null ] >>
endobj
1944 0 obj
-<< /Type /Page /Contents 1945 0 R /Resources 1943 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
-endobj
-1946 0 obj
-<< /D [ 1944 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1903 0 R /XYZ 73.209 93.888 null ] >>
endobj
-241 0 obj
-<< /D [ 1944 0 R /XYZ 79.37 771.024 null ] >>
+1945 0 obj
+<< /D [ 1903 0 R /XYZ 73.209 82.929 null ] >>
endobj
-1947 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 745.452 null ] >>
+1902 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F22 247 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1948 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 734.493 null ] >>
+<< /Filter /FlateDecode /Length 1974 >>
+stream
+x[ɒ6W c_\e$W<T) - -kbAIFw?C6x_^qk 8"f4#TWJ%To_L;v?(*F_3j{}
+gocxnblsnB
+τ6Jn)™uO<"~
+]G'IۣKF=T?rM+;qV?+L>F{_V0Uy~cm+|# qiTƷRx?SnY&g*7#,aҔ.
+̋:Dhĩ#(J8AS /}nI,
+7D4+B 9xڈcEk
+C|:#MKq]0I(PrHmbY0KXɍMcuU%W7( \Sv) gQQgBz+ 8C&M@DpTJ'W+VQHΈ`a[S._]X+eBx.d6uڄָ~Fk.%Z hI IA麫a_8^vvoc6ңa?ZHK4hem,w,EpM4ЊLzlɁL#h ĈB7 ꏆUGO@5Kq~=Kqcen޶9MںBCf](:吜KHDv$
+ZYZKuF>_Ko³,,QJA,g1? QRҪ.eG }]Ќ[K?TM\>+NA=A~2!򿉭@cY?=9_bi`9+hk!kx1;Umɳ ee7, mcy.w&>oN,Y7NHs$9b -U#=P2ūPRsU%N@KUqݫ}Uba+DU#RuiU><HgRA?{C 6t{]Q54kdns[kJS7C9-qON/ ׍G"l/)UpUOq8Mmc OS@ڊnNe{J^*9P[SztÈa" ~* "v0w:Z3ضd˳
+_
+M󝙒jΝwJ7I3uT?!
+endstream
+endobj
+1947 0 obj
+<< /Type /Page /Contents 1948 0 R /Resources 1946 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
1949 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 723.534 null ] >>
+<< /D [ 1947 0 R /XYZ 78.37 808.885 null ] >>
endobj
1950 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 712.575 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 745.915 null ] >>
endobj
1951 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 701.616 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 734.956 null ] >>
endobj
1952 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 690.657 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 723.997 null ] >>
endobj
1953 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 679.699 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 698.095 null ] >>
endobj
1954 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 668.74 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 687.136 null ] >>
endobj
1955 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 657.781 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 676.177 null ] >>
endobj
1956 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 646.822 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 665.218 null ] >>
endobj
1957 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 635.863 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 654.259 null ] >>
endobj
1958 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 624.904 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 643.3 null ] >>
endobj
1959 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 613.945 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 632.341 null ] >>
endobj
1960 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 602.986 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 604.446 null ] >>
endobj
1961 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 592.027 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 593.487 null ] >>
endobj
1962 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 581.068 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 553.636 null ] >>
endobj
1963 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 565.128 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 542.677 null ] >>
endobj
1964 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 554.169 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 531.719 null ] >>
endobj
1965 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 543.21 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 520.76 null ] >>
endobj
1966 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 532.252 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 509.801 null ] >>
endobj
1967 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 521.293 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 498.842 null ] >>
endobj
1968 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 510.334 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 487.883 null ] >>
endobj
1969 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 434.618 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 476.924 null ] >>
endobj
1970 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 423.659 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 465.965 null ] >>
endobj
1971 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 385.801 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 440.062 null ] >>
endobj
1972 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 335.987 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 429.103 null ] >>
endobj
1973 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 325.029 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 418.144 null ] >>
endobj
1974 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 287.171 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 407.186 null ] >>
endobj
1975 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 276.212 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 396.227 null ] >>
endobj
1976 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 265.253 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 356.376 null ] >>
endobj
1977 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 227.395 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 345.417 null ] >>
endobj
1978 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 216.436 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 334.458 null ] >>
endobj
1979 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 205.477 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 323.499 null ] >>
endobj
1980 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 179.574 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 312.54 null ] >>
endobj
1981 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 168.615 null ] >>
+<< /D [ 1947 0 R /XYZ 79.37 289.084 null ] >>
endobj
1982 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 157.656 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 268.242 null ] >>
endobj
1983 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 117.806 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 257.283 null ] >>
endobj
1984 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 106.847 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 246.324 null ] >>
endobj
1985 0 obj
-<< /D [ 1944 0 R /XYZ 81.145 95.888 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 235.365 null ] >>
endobj
-1943 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1988 0 obj
-<< /Filter /FlateDecode /Length 2018 >>
-stream
-x[Ɏ6W!;` jr[kr_U\Tfy<4H*VԜ?'e{vwBq89`Fqzs -|t~ԷS'Ǽ182n>(^9Weno"}y 7 "H.]-9e>6/y4&"mS{oIDt~BLpH~T-
-f$0ԑHτHHaVc9~whxWj߲~R[*+Ŝ^X>b%So^ŝ'0fVGK['De
-^$C[-j -[R.h5MHp8xl$EN**O';EW-9r ԪH*dBӶLh8 ʳ ml3%ʢT+əs}U[5wo->_mVg!Tmq>]΃mq} &>
-: $'hMy7mW_1yA*nl[udط]x 0 r'qA T}?\k~Y}V݁&r+q.۵~'23I~vss!^IN@%z=,{p?-dDV`Cu;,RĊ,Lk6dzEehBYO2!Ps#,>Z[RTbԛirBJtv
-<%xHLh+~RUi*$Z(o++{uƏ`y\z(^.$k iI86 Jd׆gzEfA][ ao _/?ϸ84E($jk-#2 :,eQ|NеO9\Ch# ÅQLt'$J\zF
- >!}E=֨Ү= ˗ߏmV IΥ%Bů<띦'i߀Oc|]O^:]KΈS:!ѣ:WL{t$Z&Yk LWE/>VZ H`D[y!= }PRaLߦ1o<xd0ɠ's䢷оܟ
-=Q r b{(iZ0OJSaes$k8틯xi\4{O&IjsRV HG,
-endstream
+1986 0 obj
+<< /D [ 1947 0 R /XYZ 73.209 224.406 null ] >>
endobj
1987 0 obj
-<< /Type /Page /Contents 1988 0 R /Resources 1986 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 1947 0 R /XYZ 73.209 213.447 null ] >>
+endobj
+1988 0 obj
+<< /D [ 1947 0 R /XYZ 73.209 202.488 null ] >>
endobj
1989 0 obj
-<< /D [ 1987 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 191.529 null ] >>
endobj
1990 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 180.57 null ] >>
endobj
1991 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 169.611 null ] >>
endobj
1992 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1947 0 R /XYZ 79.37 144.162 null ] >>
endobj
1993 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 123.32 null ] >>
endobj
1994 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 112.361 null ] >>
endobj
1995 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 101.402 null ] >>
endobj
1996 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 90.443 null ] >>
endobj
1997 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 675.181 null ] >>
+<< /D [ 1947 0 R /XYZ 73.209 79.484 null ] >>
endobj
-1998 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 664.222 null ] >>
+1946 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1999 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 624.371 null ] >>
+2001 0 obj
+<< /Filter /FlateDecode /Length 2042 >>
+stream
+x[Mo$'W  E+y<3r-59_4|4mwW+홞M}zU`)t}}bDJ'u8#4JHT.*)YJ?_ -b}{xs" j)5"dҗ_CJ{]U\ރ˝ +0]e IڅٓpI|!LRޣݢ0~[/ 6}ןbWgvg^c1]ޅo7L=ˁN\79=@oddHJSG\ȰM";ex&0>~TNHK"Π8f5dj┌X^G.y,Hnn8YXcY&ދr]ȩ=ZZ~O]-7}ܓqLZzl 3;=Ea
+5yvCnmP >=NE>""z)a^8XӂK*~M頷ŒJ$%„'aF^u<RGB*#E޻)f|^ւѦm?]y*z$2U1Z?O/Y =o=8S,3eE`вsdق,+L%\Մ$=rB@d݈&OH٫$ƽ\(Qrgǟ2m{me෵Wv3x L] 5=!_ SϙgT質)oMYy|5;izm_ On~֚=+|BbB_k$;¶pvm]QV3Jڋ } q/ ̂ڀD5k>쳗PRY%(& @_ I 0~8q;#$#bB4X Q H\ K=NHg HgTc hHXMvs6AԔ뱌Qos4l6 F3s Mutߚ"GAfz2mm`ou 85'%FfgL]bVL%)H= b:~=KJ ~<4lw>RY"p
+?l99 }e~K7*=AoKIRu
+e S}wrrMԄZ&>x-Ԗ Xrm
+endstream
endobj
2000 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 613.412 null ] >>
-endobj
-2001 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 602.453 null ] >>
+<< /Type /Page /Contents 2001 0 R /Resources 1999 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2002 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 591.494 null ] >>
+<< /D [ 2000 0 R /XYZ 78.37 808.885 null ] >>
endobj
2003 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 580.535 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 768.829 null ] >>
endobj
2004 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 569.577 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 757.87 null ] >>
endobj
2005 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 742.148 null ] >>
endobj
2006 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 731.189 null ] >>
endobj
2007 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 720.23 null ] >>
endobj
2008 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 510.797 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 709.271 null ] >>
endobj
2009 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 499.838 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 698.312 null ] >>
endobj
2010 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 488.879 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 687.353 null ] >>
endobj
2011 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 477.92 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 676.394 null ] >>
endobj
2012 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 466.961 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 660.671 null ] >>
endobj
2013 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 427.111 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 649.712 null ] >>
endobj
2014 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 416.152 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 638.754 null ] >>
endobj
2015 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 405.193 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 627.795 null ] >>
endobj
2016 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 394.234 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 616.836 null ] >>
endobj
2017 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 383.275 null ] >>
-endobj
-245 0 obj
-<< /D [ 1987 0 R /XYZ 79.37 359.819 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 605.877 null ] >>
endobj
2018 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 338.976 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 594.918 null ] >>
endobj
2019 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 328.017 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 579.195 null ] >>
endobj
2020 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 317.058 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 568.236 null ] >>
endobj
2021 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 306.1 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 557.277 null ] >>
endobj
2022 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 295.141 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 546.318 null ] >>
endobj
2023 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 284.182 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 535.36 null ] >>
endobj
2024 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 273.223 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 524.401 null ] >>
endobj
2025 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 262.264 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 508.678 null ] >>
endobj
2026 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 251.305 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 497.719 null ] >>
endobj
2027 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 240.346 null ] >>
-endobj
-249 0 obj
-<< /D [ 1987 0 R /XYZ 79.37 214.897 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 486.76 null ] >>
endobj
2028 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 194.055 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 475.801 null ] >>
endobj
2029 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 183.096 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 464.842 null ] >>
endobj
2030 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 172.137 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 453.883 null ] >>
endobj
2031 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 161.178 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 442.924 null ] >>
endobj
2032 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 150.219 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 431.965 null ] >>
endobj
2033 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 139.26 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 421.007 null ] >>
endobj
2034 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 128.301 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 410.048 null ] >>
endobj
2035 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 112.361 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 394.325 null ] >>
endobj
2036 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 101.402 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 383.366 null ] >>
endobj
2037 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 90.443 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 372.407 null ] >>
endobj
2038 0 obj
-<< /D [ 1987 0 R /XYZ 81.145 79.484 null ] >>
-endobj
-1986 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2000 0 R /XYZ 73.209 361.448 null ] >>
endobj
-2041 0 obj
-<< /Filter /FlateDecode /Length 1935 >>
-stream
-x[Mo6Wt~E8v
-[k{Hf+O䛯7#w߿?ߞt6xzITOSקOCs{?Oeoў"$Mq\H>*e^+#_
-jyg4~/wNZF>^\úlw]M,}W/XX>"a)
-Ye,Hh]Y,.// _`7P/<vw\|}Y8̜kjw=dZ$p11
-0RAC3v!5tb%gp`>!eɌ1#]W4`tJ,Pg҉klf ilqfQ+Qa0Y2$ْkM͏uI1񏻬 \?~: h:6$u1C. *cpF%ijQZ_Uo]YnKtt>YR$HJJ"9QAXB2)e%XʚVU'Vo588Uoݠ38zrBdh!àyi@'pIs[xT1-HT s x? J_n~<Ѫ p1<#5(S@RV,ǭ1rfD,]ף"mB4cZǡl~d@eyakG}Fg^xH\pG~p;FL`dY*ZDt4w[?- Ar9%׳X$jq&@LJd
-}e*vOq^OcjFY$q: JD]BzL$qO3BH}x6=r#`Wf{۾q`d۫vIâ74;
-RXb]ߞW
-endstream
+2039 0 obj
+<< /D [ 2000 0 R /XYZ 73.209 350.489 null ] >>
endobj
2040 0 obj
-<< /Type /Page /Contents 2041 0 R /Resources 2039 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 2000 0 R /XYZ 73.209 339.53 null ] >>
+endobj
+2041 0 obj
+<< /D [ 2000 0 R /XYZ 73.209 328.571 null ] >>
endobj
2042 0 obj
-<< /D [ 2040 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 317.613 null ] >>
endobj
2043 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 301.89 null ] >>
endobj
2044 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 290.931 null ] >>
endobj
2045 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 279.972 null ] >>
endobj
2046 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 269.013 null ] >>
endobj
2047 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 258.054 null ] >>
endobj
2048 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 247.095 null ] >>
endobj
2049 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 698.095 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 236.136 null ] >>
endobj
2050 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 687.136 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 220.413 null ] >>
endobj
2051 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 676.177 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 209.455 null ] >>
endobj
2052 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 198.496 null ] >>
endobj
2053 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 187.537 null ] >>
endobj
2054 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 176.578 null ] >>
endobj
2055 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 165.619 null ] >>
endobj
2056 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 149.896 null ] >>
endobj
2057 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 138.937 null ] >>
endobj
2058 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 127.978 null ] >>
endobj
2059 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 117.019 null ] >>
endobj
2060 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 106.061 null ] >>
endobj
2061 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 95.102 null ] >>
endobj
2062 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 545.666 null ] >>
-endobj
-2063 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 2000 0 R /XYZ 73.209 84.143 null ] >>
endobj
-2064 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 523.748 null ] >>
+1999 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2065 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 512.789 null ] >>
+<< /Filter /FlateDecode /Length 1845 >>
+stream
+xZ͎6 S(bdRl2 ,Z, hM}^/\)y|.sL_`/֦??~VsdS}r18wkõu~T_6}D4Ot]>z?]E{e146+;EkN٩,rV_ ^ė$q6 #3V qUVISiU$T*zHRQ7^#9)}2GSďaħFG զu
+[hiOthJ-ƫ HO1KW0$+Rth/%%C%H^>:t)f?~VW;*cӮLe-R_ue٦ؑ`ƹ"`嵨E4JS#qUQK}?>iƒ0VXP-[qHދCɚV 78DAT]5t5@DY1$NrG?d\:a =pB/k&N䥧P
+(:Cl5DUfZ:73:.҂UeV*
+ /I<eHao4Dkcbg%غ,ɑ
+Oim- *%1t!-5XYG"eQL]feH>g׳̜ I#:ߞm%/\OрGʄ
+-}l
+|%jf )}} a ~<5R?IF͚nqfvwRY3P34Fk:AtN/
+endstream
+endobj
+2064 0 obj
+<< /Type /Page /Contents 2065 0 R /Resources 2063 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2066 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 501.831 null ] >>
+<< /D [ 2064 0 R /XYZ 78.37 808.885 null ] >>
endobj
2067 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 490.872 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 768.829 null ] >>
endobj
2068 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 479.913 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 757.87 null ] >>
endobj
2069 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 468.954 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 746.912 null ] >>
endobj
2070 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 453.014 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 735.953 null ] >>
endobj
2071 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 442.055 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 724.994 null ] >>
endobj
2072 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 431.096 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 714.035 null ] >>
endobj
2073 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 420.137 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 703.076 null ] >>
endobj
2074 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 409.178 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 692.117 null ] >>
endobj
2075 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 398.219 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 676.297 null ] >>
endobj
2076 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 387.26 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 665.338 null ] >>
endobj
2077 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 654.379 null ] >>
endobj
2078 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 643.42 null ] >>
endobj
2079 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 632.461 null ] >>
endobj
2080 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 621.502 null ] >>
endobj
2081 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 605.682 null ] >>
endobj
2082 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 594.723 null ] >>
endobj
2083 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 300.585 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 583.764 null ] >>
endobj
2084 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 289.626 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 572.805 null ] >>
endobj
2085 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 278.667 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 561.847 null ] >>
endobj
2086 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 267.709 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 550.888 null ] >>
endobj
2087 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 256.75 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 539.929 null ] >>
endobj
2088 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 245.791 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 528.97 null ] >>
endobj
2089 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 234.832 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 518.011 null ] >>
endobj
2090 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 218.892 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 507.052 null ] >>
endobj
2091 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 207.933 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 496.093 null ] >>
endobj
2092 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 196.974 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 485.134 null ] >>
endobj
2093 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 186.015 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 474.175 null ] >>
endobj
2094 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 175.056 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 463.216 null ] >>
endobj
2095 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 164.097 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 452.257 null ] >>
endobj
2096 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 153.138 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 441.299 null ] >>
endobj
2097 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 142.179 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 430.34 null ] >>
endobj
2098 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 419.381 null ] >>
endobj
2099 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 408.422 null ] >>
endobj
2100 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 397.463 null ] >>
endobj
2101 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 386.504 null ] >>
endobj
2102 0 obj
-<< /D [ 2040 0 R /XYZ 81.145 82.403 null ] >>
-endobj
-2039 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2064 0 R /XYZ 73.209 375.545 null ] >>
endobj
-2105 0 obj
-<< /Filter /FlateDecode /Length 1875 >>
-stream
-xZn+7 +Օ7P\ G+mWm%p$tbN\>㈤(jOtɩ_o˟9%Pb0JsǯZ{:+
-V~ܒ;%Ci1:*"A\=$+(8$OIʐ(
-~XYWm߰3e{mLU,Fyϻ^}_lJ$˙fSgb $`J}HO[rIu0l,1L)"mc1ux2uW7\XpnnyUtm.}XuQNONəUjf+X}f#;p,hjV1r.Ȋ4#H66MYUv4噹{Qhz]-S9WltR]EnưK[BkƬ\J5U 8N Ӷ- $G ׌D#Qw~ø+FЭ"oga\njE˰F.q .`޳%ZoFj_Rf֕$zx>YrHUfe Tm_5M;!mͳUj3#Umv杷ܩ{
-2*ZJ.DvLs142YD}v>LdUi_e nZ-f=Nc%O,+eUAzfNϟC,1RΜU*3Ҟїe}sp>_F39c4=#
-npZ kD
-ۨ]8uABkCP%ұRjZ)WF{NJam@)Ǐ^qLV;$͑q2)l Q #d8 <ALpgCvGipTh2E hgyA+&$av9Q5|xM:SÑ"Yc٤ltHܽ}7V6uH'}+rYMe ]4?WNJaF%Hl6tf䲌I$?߳-U>'ELKPGufVjY%Htb<6X HǁSy>z"Na&H#pPk.cga&H|Rm%-$fp[0-)skJsZGr--+h
-e++I j1j=xpcQp߻lkMV<$$K}]yq,}T1Pu2$TL%T*3Ϋ
-V .iפl<\$\y@!xRgϻ4ݛL#?-?nƟrQW
-G'U{ iۿ"U
-endstream
+2103 0 obj
+<< /D [ 2064 0 R /XYZ 73.209 364.586 null ] >>
endobj
2104 0 obj
-<< /Type /Page /Contents 2105 0 R /Resources 2103 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 2064 0 R /XYZ 73.209 353.627 null ] >>
+endobj
+2105 0 obj
+<< /D [ 2064 0 R /XYZ 73.209 342.668 null ] >>
endobj
2106 0 obj
-<< /D [ 2104 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 331.71 null ] >>
endobj
2107 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 320.751 null ] >>
endobj
2108 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 753.01 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 309.792 null ] >>
endobj
2109 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 742.051 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 298.833 null ] >>
endobj
2110 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 731.093 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 287.874 null ] >>
endobj
2111 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 720.134 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 276.915 null ] >>
endobj
2112 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 709.175 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 265.956 null ] >>
endobj
2113 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 698.216 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 254.997 null ] >>
endobj
2114 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 687.257 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 244.038 null ] >>
endobj
2115 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 676.298 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 233.079 null ] >>
endobj
2116 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 665.339 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 222.12 null ] >>
endobj
2117 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 654.38 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 211.162 null ] >>
endobj
2118 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 643.421 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 200.203 null ] >>
endobj
2119 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 632.462 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 189.244 null ] >>
endobj
2120 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 621.504 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 178.285 null ] >>
endobj
2121 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 610.545 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 150.75 null ] >>
endobj
2122 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 599.586 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 139.791 null ] >>
endobj
2123 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 588.627 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 128.832 null ] >>
endobj
2124 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 577.668 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 117.873 null ] >>
endobj
2125 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 566.709 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 106.914 null ] >>
endobj
2126 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 555.75 null ] >>
+<< /D [ 2064 0 R /XYZ 73.209 95.955 null ] >>
endobj
-2127 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 544.791 null ] >>
-endobj
-2128 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 533.832 null ] >>
+2063 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2129 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 522.873 null ] >>
+<< /Filter /FlateDecode /Length 2318 >>
+stream
+xڵ[n#7+t&;,)@%rr_íu PFM>V*9ӧO<Mb ĉ*f:Y#75p.=FϏ_xD X7Nyc끜gދT1W9k>g-看[#"sG :f:|͙@>g(HPZV"cČVxj*ԫU3;\[3΋:8!xH=>6q\2>gYz9!UJۖU^xvP7<^+wIj /.,ФO5G(F\jQ$Y-z_57r
+7 !3"ڲ-0IhҕG[0n=.0 ދFvnn(i~,E3-Wkf[r%NH(F$
+dpۊbMղN1<%=""o"P%\M ɳpNə-e%[_I#z6J3 +e^%1,pϢE81R1-5  73ikȕm(0׳>g{ M]ʏPeU
+`F8JpBfөotzh܈r汎VJS+̽&|dNU<ZaY\0`H'
+^=HJڝj)4k
+ƷP0
+QHr%o+QkCT)<Ew++1Ac LZ92x(ɥoz z R+Y#dRma]
+;6f*
+Ü2"=92qA܄3. xz.;z^K̐1hs)5!K1hDmv\qp5/ݟ۸9:`&Ϋݙ(r$'q`ٝS JGZ!:ef :ߓ!r37z,ʬVu=J4j)O С*HJ(vʶ
+92BFjtJ<bإPB9<NH󮱠 [1c<0 !JJŞׄJhݙrm%51~y냃K)ˮIv|
+[51𶽇9mr~7Fq`E]F&$=[R5yRqGMǭ$ i# isS#K +T)O՜qe z]J˂Hbj<T>NA@zƝ<PT[mk^u,5ѻζ9Ti]*[!0#.slU9"ѯt.TX&,Σ-\
+.<3<V`:ӯ`v&D_ԗI2[m@_s7ϊt<vebNT7Z+o;P~)_[`QBKNyJ& nZu?8xjg*UmZʗ4? *&wH]])害ܣ5bw(GQ:
+, e\Iڌo- RdF8Za|YkJ*qV^6, "iӶ "2wWM %SLqG%ֻB^ŕNұh/-]BNeyW\FB0mHzC^5!흅.`:U)Vx'FXHq w߁/3gFmo^過85֧u̐KߖlTd7?^?aD~oO8zSjCjn9)c0׏ Lj
+endstream
+endobj
+2128 0 obj
+<< /Type /Page /Contents 2129 0 R /Resources 2127 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2130 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 511.914 null ] >>
+<< /D [ 2128 0 R /XYZ 78.37 808.885 null ] >>
endobj
2131 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 500.956 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 768.829 null ] >>
endobj
2132 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 489.997 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 757.87 null ] >>
endobj
2133 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 479.038 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 746.912 null ] >>
endobj
2134 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 468.079 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 735.953 null ] >>
endobj
2135 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 457.12 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 724.994 null ] >>
endobj
2136 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 446.161 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 714.035 null ] >>
endobj
2137 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 435.202 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 703.076 null ] >>
endobj
2138 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 424.243 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 692.117 null ] >>
endobj
2139 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 413.284 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 681.158 null ] >>
endobj
2140 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 402.325 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 653.263 null ] >>
endobj
2141 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 391.367 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 642.304 null ] >>
endobj
2142 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 380.408 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 631.345 null ] >>
endobj
2143 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 369.449 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 620.386 null ] >>
endobj
2144 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 358.49 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 609.427 null ] >>
endobj
2145 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 347.531 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 598.468 null ] >>
endobj
2146 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 336.572 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 587.509 null ] >>
endobj
2147 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 325.613 null ] >>
+<< /D [ 2128 0 R /XYZ 79.37 562.06 null ] >>
endobj
2148 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 298.081 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 529.263 null ] >>
endobj
2149 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 287.123 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 518.304 null ] >>
endobj
2150 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 276.164 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 507.345 null ] >>
endobj
2151 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 265.205 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 496.386 null ] >>
endobj
2152 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 254.246 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 485.427 null ] >>
endobj
2153 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 243.287 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 457.532 null ] >>
endobj
2154 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 215.755 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 446.573 null ] >>
endobj
2155 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 204.796 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 435.614 null ] >>
endobj
2156 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 193.837 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 424.655 null ] >>
endobj
2157 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 182.879 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 413.696 null ] >>
endobj
2158 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 171.92 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 402.737 null ] >>
endobj
2159 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 160.961 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 391.778 null ] >>
endobj
2160 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 150.002 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 380.819 null ] >>
endobj
2161 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 139.043 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 369.86 null ] >>
endobj
2162 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 128.084 null ] >>
+<< /D [ 2128 0 R /XYZ 79.37 344.411 null ] >>
endobj
2163 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 323.569 null ] >>
endobj
2164 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 312.61 null ] >>
endobj
2165 0 obj
-<< /D [ 2104 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 301.651 null ] >>
endobj
-2103 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2168 0 obj
-<< /Filter /FlateDecode /Length 2340 >>
-stream
-xڵ[K# qsD th
-BF
-%Ӯ=iwDUIB$. FV5Gd9t\~di6aӹ`qм"}-!W^FkiM:f$py)YrA;uM\&iEx۩`_b߾עKZ>]M[l~*3$(ngM>ɒαBLa~S}ؕwŭxɶl͇/=z\i&V,yքvU5[&-Lm%ZI\ikTFUBiC[:aei
-P'$<s[lln.VSD} (4=z?#Ҳ$&FV]JVḂUD#Iנ&G\J޼Hɭ&E6a2&b*|֌{9Ռr2.HIH&d-$]VZWmXiߗDŽ7czIr֠&"LHD #еz'loץqWrk 8])4wqB5-֟۸96d{)Gy:oQ`ٛ&Ľat$i`}1$1FZk1b
-7ᚐrɬ*^S1c\/S i/ h%BlK\[iPKi<MHd=۞7yNqGS-CIqBߎH6 jD1~Υ]?cycWyPj#P3UͲ36j+uF>90a8UHIҵVGv }uGÒU3,YW+sYH {9p+W5b&G$*2£«rZ'$;s
-iXvj4]mόU$}#Vf$8]b+6k8D-"'QpH f
-%\;j~I$JeQ5p\Uh6SoԮ_Q7+Z_0;,HkhϬ@ߜ斒(b=Wk?W5J\=˘:4hV4#)`~hovNd%'/ZxÖ\:_[Akgs=XUɋ
-7YM6i:⌺HcՆ8 rOa\q%cڪbXܒ2@Ƹ1-W2v+rԛ(xc6f ƩdM2x0R0ox2%[㤒¥W"M@|WT{~ן%<ro4~_ɱ"uBGch[ ͍Ip*e Qs(O^~>ngfq?Y9nV5Zrh/<SFF?_i[Rryz E
-ӒMv^6v;iТ|c@[74 tZ+ ʱ<c8cg>f2cDk'C9 1rfb9>KzR>ۨ֏xj
-endstream
+2166 0 obj
+<< /D [ 2128 0 R /XYZ 73.209 290.692 null ] >>
endobj
2167 0 obj
-<< /Type /Page /Contents 2168 0 R /Resources 2166 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1724 0 R >>
+<< /D [ 2128 0 R /XYZ 73.209 279.733 null ] >>
+endobj
+2168 0 obj
+<< /D [ 2128 0 R /XYZ 73.209 268.775 null ] >>
endobj
2169 0 obj
-<< /D [ 2167 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 257.816 null ] >>
endobj
2170 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 246.857 null ] >>
endobj
2171 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 235.898 null ] >>
endobj
2172 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 224.939 null ] >>
endobj
2173 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 735.953 null ] >>
-endobj
-253 0 obj
-<< /D [ 2167 0 R /XYZ 79.37 710.884 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 213.98 null ] >>
endobj
2174 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 678.341 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 203.021 null ] >>
endobj
2175 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 667.382 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 192.062 null ] >>
endobj
2176 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 656.423 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 152.212 null ] >>
endobj
2177 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 645.464 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 141.253 null ] >>
endobj
2178 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 634.505 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 130.294 null ] >>
endobj
2179 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 606.991 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 119.335 null ] >>
endobj
2180 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 596.032 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 108.376 null ] >>
endobj
2181 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 585.073 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 97.417 null ] >>
endobj
2182 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 574.114 null ] >>
+<< /D [ 2128 0 R /XYZ 73.209 86.458 null ] >>
endobj
-2183 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 563.155 null ] >>
+2127 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F22 247 0 R /F15 214 0 R /F74 217 0 R /F88 521 0 R /F87 2183 0 R /F111 522 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2184 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 552.196 null ] >>
+2186 0 obj
+<< /Filter /FlateDecode /Length 3033 >>
+stream
+x,1_1,EVhw#۩-ԼW{ޛm6Yu_s_ݾE߄/bCs1Z0/x\_˹~ι\_(?"}\B#J'?hWF=4Pjv"]`wWOPǜO8Z"`CDO6<?,<j"[eS%Rj t(O7m`Vpf|p "ML- rckN#Ǚ0:{d6Z꾔D%RG Z$,3JAv82
+BLBdxhxk h zleR Cd='L2dۙ8SgH@茺dˋߏYZ6[wk/֣ѶGω_~S&@2a_EPK~i`srFr-
+T) r>3r靑eGOC4RORگã1+oIV%=ݒL@_L~GfZr,2K*-~:ykg?v"Z>v#j"9@$崻 ZKS^𡈤%Ɂ@9@fs[C 1>^pCkKP':`Z;jIHp>zx¡[pft{@j܅ûr>fJRUʽwE\pɄR59{JgS$<n3z@;:
+Fϩ4ax@_Rgˏ% -yV|ʐ} %>RJ1S,a*yY$ᔲɀ-R:KEJ&`'jtNĴ%tѼT2K?LJ7eRb1
+jQr_BN]r#߀c~tT1Ml+H&͠'EqPz{F;L+5Υ@e6L;=d@ :iS8ITaT5 ƪ`6%VUZ-_u[VߐV^EI8fZž2FCs'"Q]j@\^[r9TCTz 犌bؙbO~CkA$ڦ¯R@Zd۞XT u.i3Dɬp3YH>0Ȓ@j~DwW uȬҴ~pC,QtO Ƨoh$bu6d:hFތ]8eI
+`(о,#5x qyk M<'ʹ.ΰ؛ٮpYB\0-tE -v?y>'h} "A~Thްz;Kxr.+5W;%9zoSϩ`/ ]:Bk5xڻ=>.y=&r*6Z&͆^A+ȴ5@R`_@-G%^X.E/;޹<B'rwMxHjއrYWr !q44j6)W7Ry1H=2B3i9<k.A=}. Pi(m꺭t# >qƩ0IωcBEm׃VS@PQ2_#YJ=L uRQ#9;B{xEcN_[J֫\HbOu#O wvޡLLpSV
+D=)%+Qt7
+/Gˑ_
+(|"5N
+gA֏=6=i 93J!'WS8{y= L}na=O}*CjUR5&9& r;u2!\ Iz91zG_:[YTFw]]~y*3?%>dwl[7Gmy&, #H1Rs6ZYnFtv{R\{w40;L)x+)%F QVOC`gP[U$d5J-){a7dO~ͧ7YkfO |h.Ni
+淩s>y6\m\!r0<
+7ŭ䭅'&3^ 8'N18cQ-9~ֻMg>1wrd4aV6 ,eQw6@:eLt skԁ _}>uB20@OW{ȳȸ)o+
+endstream
endobj
2185 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 541.237 null ] >>
-endobj
-2186 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 530.278 null ] >>
+<< /Type /Page /Contents 2186 0 R /Resources 2184 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2187 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 519.319 null ] >>
-endobj
-257 0 obj
-<< /D [ 2167 0 R /XYZ 79.37 494.251 null ] >>
+<< /D [ 2185 0 R /XYZ 78.37 808.885 null ] >>
endobj
2188 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 473.409 null ] >>
+<< /D [ 2185 0 R /XYZ 79.37 771.024 null ] >>
endobj
2189 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 462.45 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 698.628 null ] >>
endobj
2190 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 451.491 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 687.669 null ] >>
endobj
2191 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 440.532 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 676.71 null ] >>
endobj
2192 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 429.573 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 633.87 null ] >>
endobj
2193 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 418.614 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 622.912 null ] >>
endobj
2194 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 407.655 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 611.953 null ] >>
endobj
2195 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 396.696 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 600.994 null ] >>
endobj
2196 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 385.738 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 590.035 null ] >>
endobj
2197 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 374.779 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 579.076 null ] >>
endobj
2198 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 363.82 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 563.136 null ] >>
endobj
2199 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 352.861 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 552.177 null ] >>
endobj
2200 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 341.902 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 541.218 null ] >>
endobj
2201 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 330.943 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 530.259 null ] >>
endobj
2202 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 319.984 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 519.3 null ] >>
endobj
2203 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 309.025 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 508.341 null ] >>
endobj
2204 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 298.066 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 497.382 null ] >>
endobj
2205 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 287.107 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 486.423 null ] >>
endobj
2206 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 276.148 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 475.464 null ] >>
endobj
2207 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 265.19 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 464.506 null ] >>
endobj
-261 0 obj
-<< /D [ 2167 0 R /XYZ 79.37 238.624 null ] >>
+2208 0 obj
+<< /D [ 2185 0 R /XYZ 73.209 453.547 null ] >>
endobj
2209 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 164.865 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 442.588 null ] >>
endobj
2210 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 153.906 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 431.629 null ] >>
endobj
2211 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 142.947 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 420.67 null ] >>
endobj
2212 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 409.711 null ] >>
endobj
2213 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 342.961 null ] >>
endobj
2214 0 obj
-<< /D [ 2167 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 332.002 null ] >>
endobj
-2166 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F88 606 0 R /F87 2208 0 R /F109 607 0 R /F64 325 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2217 0 obj
-<< /Filter /FlateDecode /Length 3354 >>
-stream
-x\Ɏ9+,k6 Qs@}u4Rd(m40h33BAqH137Ǘ/ڿN(_7'7kF?okɹ_?#@c0oR6?yQĵ޿jtƻNt p,1?u>9yLfDx͙r&їB2)(NdB'EGqItT͟(
-s43Mە
-p0ҋ`U0cAqtbPrO98*ˡiv#w]QSجM żY>mK{@ >i_j»Ffx6{YR$
-iV1;Y2)d^OEWMAp Zݻ#CQ1ryāZ(\ï%_ [hR[Yg#FN#FFR,wMB^̔{hZ2 #9@1xx}ck^Q⌋gK]Yθu3oBd=.}{ô2p h?ɸknQ_ R zl,)_4J
-][JÖzkKсZ/-GqL~&"tD}ɥg>"S3ɕr AѶR0pP(i} Zk5j]ՅKE8,|zA?+{ExaghAxLtp>
-쭯Q<7AjĊK`7ʓrh!gN*w$*:
-NaHa
-8k|oJ|n>}[iUqu<5dꊫXX9pLX;Ԃ
-ǫʒV
-y]5ș #Zw+49sК׆ 8s,.0}
- ##ZV:rrTpߛ(u $zq؉{ _s{fE}'Ebqb g_ n
-FBH8b|#89w|NsU%{њ/5|X0vF9m/d%ZR}CKBo- OZ]<y9 -Z8ǭeKeOU7g e5P6ϣu]=|P`nr=ÉUz7ڮYa mcڐ.uvLR&?<'Z&J[,E|
-ՉH1 Tvps[4(+Sr0& %9k-z@F#!i:SjulOTGb8((\s,r0+߇O⚁w'nz++rg8KZxr\QƙI(&zy=>ŗzm)۸^#oeb0B<0a@mBMJ9ŬSa+"^M~sWӓLBh+P`곉 W9b(m\h$tcޛs9qq~:bVZ %s'`4 L%& e)XƟ$MӤ BX?p#gTg(c.|I^ SUHz%40e@frCɹ9ʂtƚ_?W}w6jkgջA*_!\K#hWk6Î<3t3\ra_5"2''fWi@Vw$%[wCQiθ{pղ)L-x؛ǖͺtb>NB-Uߝh;ISZt
-mP J!kIbS~v(܅&Q#Y՚0 6{Д^U)(kGI'm䡒nIַ_<Hǧ/{W瓇I
- >_ҪHy0M g:7qҔ\OEm%,Ra~20Ɉa""Oծ?"s C/((\*Ο,* 봚96Y[Ӏwz| *TfB)Wyqn
-
-a
-EUΔ^bSfv o{9!\0rϐ*즎R)oBG)ZbY47FVu(.T2H+>BqHiόTMЪ]}Ofum@$et@@׿Lm#a%V'Hө^xP
-yHFB{&L%=IFJ]o/r[VV(aVM~T|Ѵ}FVZ\>8/*oʱۼl9/X
-nl%;DYQ
-DHT<8a9cp.4\մp#v{8ܟo]2 }:&&g6!1K5U?x[
-endstream
+2215 0 obj
+<< /D [ 2185 0 R /XYZ 73.209 321.044 null ] >>
endobj
2216 0 obj
-<< /Type /Page /Contents 2217 0 R /Resources 2215 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2185 0 R /XYZ 73.209 232.376 null ] >>
+endobj
+2217 0 obj
+<< /D [ 2185 0 R /XYZ 73.209 221.417 null ] >>
endobj
2218 0 obj
-<< /D [ 2216 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 210.458 null ] >>
endobj
2219 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 121.791 null ] >>
endobj
2220 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 110.832 null ] >>
endobj
2221 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2185 0 R /XYZ 73.209 99.873 null ] >>
endobj
-2222 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 731.271 null ] >>
-endobj
-2223 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 720.312 null ] >>
+2184 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F59 226 0 R /F88 521 0 R /F111 522 0 R /F84 305 0 R /F83 294 0 R /F81 257 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2224 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 709.354 null ] >>
+<< /Filter /FlateDecode /Length 2513 >>
+stream
+x[Ko8?0
+kKϙ{_©:uF8XbM^9,Dy-sG_\~%Rx{fKx.F|I謖y
+VrD߽:x\X.78.{G4=zD|-H4%q %M֫FT
+RکTsC@ o.K܉FnabQrfoJMfSb1e27&4c}&4p}g6ԛ0\lF
+}Kr?7m֔B{0v!9 끂R#yƽ.KUAǂt-!mj$>ʉ֌8 748+b씮tA%q{Gf,[˰S)m N=;h782')B| ܲ3fc^g> .fG煵ֺA`4Du_{D)UQO6ь] +f PQi g )Z@qvɺ:;cShϯik28hp
+ c#=CiAOB5+&f
+2׈=lB6{A2l
+L$7-9íB1('t]2n6;TY Z|3ZH6)X`A24A JUm-u
+6^rOw1*9>;{TFŵFUEˡ{JoVo^Ͽ3Qah|=Z2eVb;K(cK)xTZc$/m.GTSyylk;Ŧ<u,փV2!AC3ք(ZR}ur5qUO Z| = :HWϬ>\ν9`de)n9kQO񋡟G#mz|SI>Y^02Mnݶ#yoc]vGu6Ykm1g-zWɍ𸹏[aBm9xž|$
+7n~w\3aJ$-U&gQz b#[-410+u =8ֿMB#g5Jb s:Ó@8R6W3}emzAr~~#-=5[j. >ʬTBlO9O
+MK&9Mکp&BK}
+RY7"(X .ڇZ77RSz%W<:} Goxp 8Z
+Ųfn{GQ *טYR'n9Y=O6e)
+K'jzEJ}Bcq @5 ';Y\WKYiz>r2BͶq^q8Jnf[wYvI77}?q37 EDlOy+5%6<Z&h) {ga{JDzU'y)b
+]{^>H3pHȞ<HZi\2m恘ߐ[LʘBB9 ,W EYFb{8(w+{Y.##fwD$a:8Or!Myfo8~5"ŗٝoNx[g"LS^Ja=OU99 :Y
+5pUc3qB_Qű6TJ L75>zBUj
+)~g\U9ɢhT52PzP0d6,UC0́htKx)>fXJ_ X~>WF N t̤8B)L]3'/(a)wY2Z3#uJ`BX7QOeէؚͅZ
+endstream
+endobj
+2223 0 obj
+<< /Type /Page /Contents 2224 0 R /Resources 2222 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2225 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 698.395 null ] >>
+<< /D [ 2223 0 R /XYZ 78.37 808.885 null ] >>
endobj
2226 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 687.436 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 719.016 null ] >>
endobj
2227 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 676.477 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 708.057 null ] >>
endobj
2228 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 665.518 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 697.098 null ] >>
endobj
2229 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 654.559 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 686.139 null ] >>
endobj
2230 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 643.6 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 675.181 null ] >>
endobj
2231 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 632.641 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 664.222 null ] >>
endobj
2232 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 621.682 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 653.263 null ] >>
endobj
2233 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 610.723 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 552.64 null ] >>
endobj
2234 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 599.765 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 541.681 null ] >>
endobj
2235 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 588.806 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 530.722 null ] >>
endobj
2236 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 577.847 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 519.763 null ] >>
endobj
2237 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 512.147 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 508.804 null ] >>
endobj
2238 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 501.188 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 497.846 null ] >>
endobj
2239 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 490.23 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 445.044 null ] >>
endobj
2240 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 402.462 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 434.085 null ] >>
endobj
2241 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 391.503 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 423.126 null ] >>
endobj
2242 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 380.545 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 412.167 null ] >>
endobj
2243 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 292.777 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 401.208 null ] >>
endobj
2244 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 281.818 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 390.249 null ] >>
endobj
2245 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 270.859 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 379.29 null ] >>
endobj
2246 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 195.047 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 368.331 null ] >>
endobj
2247 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 184.089 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 327.484 null ] >>
endobj
2248 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 173.13 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 316.525 null ] >>
endobj
2249 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 162.171 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 305.567 null ] >>
endobj
2250 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 151.212 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 294.608 null ] >>
endobj
2251 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 140.253 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 283.649 null ] >>
endobj
2252 0 obj
-<< /D [ 2216 0 R /XYZ 81.145 129.294 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 267.709 null ] >>
endobj
-2215 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F83 403 0 R /F81 358 0 R /F65 327 0 R /F85 427 0 R >> /ProcSet [ /PDF /Text ] >>
+2253 0 obj
+<< /D [ 2223 0 R /XYZ 73.209 256.75 null ] >>
endobj
-2256 0 obj
-<< /Filter /FlateDecode /Length 2297 >>
-stream
-x[Ko#7 WV"E= [k{Vc4㑳 zڞ(O$9ӯϻeV_{O-C}J0ӟ+9H jIp.M#qkp͍֣->n@vǏ#~LZsE)yΔߵ8N#ձq=@qQeYo9#5$~-FB&88]P3P9 :<
-MMjfI{-Ezl iN#7[c`K2YM^LjV pS
- %<_d
-FǗ2@r13mG. {uy&i4YT'6GX"2✲p0ZI;.WC<͛7 m8L)w
-
-N\$WQ: ouQ5HF=khFjLۖ~r3Ugz+ ǡǥ)ZBcSߣ1Ȝ+9%rKț:&o.8T>r^+(pn'E'+244f#T|A 2 jCGlO L+;#Lr]H֣h?R*@L»{~aKOx_2GrwiGz<
-[J=Zy(]-aZCӈJ4'b.; (rݦk85izqZ?=Gy-݌h/7\/Y6K1*=$ "¤=@<6hT$CD'ŷw5OJ|]?z :mx/s᫥]Z˸8zJ&a|}fN֖RkRS]׀,X4iAkBZ\º@GL0"=9'R|Oi|uLePspX|WtE`5bedu>uEE(t6B\Kh"'抡#'wOˢ۞M,$P˔ʚ
-Kv!9wk^mLJ+GM▎箧., /CMΡҦP_DM扆it3NUC LTU {8*5Wd-)4,O\krQe+fL_C5Th/ކTe(=Fh0u"RJoPɾ1gȺRF:*F_ 9n
- ֲnTˁ+T7#GM|e"ŎжCDxPU;_E.W
-Ub.H!ˠQڭZ+ Jt"'|
-OMa#oVsK>cTRhU[J}rH~LtgT?++Z]~A2v{[sgU@@ط`gzJ%0
-l c3eADˈr%ɜT'ܕeB<cGMVt
-u
-{5+~L8&*̵'6dvӱ3J6k+]|I:Ջ5)Z&*
-endstream
+2254 0 obj
+<< /D [ 2223 0 R /XYZ 73.209 245.791 null ] >>
endobj
2255 0 obj
-<< /Type /Page /Contents 2256 0 R /Resources 2254 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2223 0 R /XYZ 73.209 234.832 null ] >>
+endobj
+2256 0 obj
+<< /D [ 2223 0 R /XYZ 73.209 223.873 null ] >>
endobj
2257 0 obj
-<< /D [ 2255 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 212.914 null ] >>
endobj
2258 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 201.955 null ] >>
endobj
2259 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 190.996 null ] >>
endobj
2260 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 180.037 null ] >>
endobj
2261 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 169.078 null ] >>
endobj
2262 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 2223 0 R /XYZ 73.209 109.848 null ] >>
endobj
-2263 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 688.132 null ] >>
-endobj
-2264 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 635.33 null ] >>
+2222 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F83 294 0 R /F65 215 0 R /F59 226 0 R /F84 305 0 R /F85 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2265 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 624.371 null ] >>
+<< /Filter /FlateDecode /Length 2724 >>
+stream
+x[ɎS*@m@} rMNyk"J=9t[R_4/}D84jy0q _'OaA9|\h{迻oo- d ?3դ]$svZJf
+r鵈c`;O 5esv㩫$5Jf2>!s$2 2W/'Coĉ\#Eb&i;["tT,62q1ZrYƱka|Ӗi@f4g)#z>sk4p=FEjQjsj
+m$o}'„LLOy|^:3YZvG2g2YIπnȣ3)fJN=h˨bNm2(,Uu) >MrbH];lo_X)LPsݨ7U*?/!gvzRlQGݳ :Qx3DU!qVo;Y[Ji2xB3Wq@L[Ĕc?K<< εmM؈pZ$s08<km*Jj:'$Ņe< s>'yF׶(,vB1P+Zzssx"Ungp,.o);0E䋇 ]Xfj#q4M/̖`xgFepYü,4vPkWtQa%ZsaL:l
+$c8w22j#I>SWnW) NbsV&OIKC3Z@R> heQ[MOrnf]Be04qFj)I{khM
+Oo\<AQ[7
+ULj7T:Hr]_'a[fFAgV$(
+*iw)uX޸?tG֟T<^oRrgQ3jgKn&B]A!TLFSvjhlvPe|TRr-/֟kVѕ"pbhƎRf^![0į
+TzT c\(y, *> /k۫}lVoE_tR;ˉ6%7lҵ,fR)0=}C0rMMNg@$=~EטЦj2v 5UCWfB{AP^
+jNhTiu8A o(ŜX^P eP12[ՒF__\%$8O\ӳȉdi8 e
+?
+8dউ#P?ĸp. YO^/deU 'bg8(
+endstream
+endobj
+2264 0 obj
+<< /Type /Page /Contents 2265 0 R /Resources 2263 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2266 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 613.412 null ] >>
+<< /D [ 2264 0 R /XYZ 78.37 808.885 null ] >>
endobj
2267 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 602.453 null ] >>
+<< /D [ 2264 0 R /XYZ 79.37 773.016 null ] >>
endobj
2268 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 591.494 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 754.882 null ] >>
endobj
2269 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 580.535 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 743.923 null ] >>
endobj
2270 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 569.577 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 703.076 null ] >>
endobj
2271 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 692.117 null ] >>
endobj
2272 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 681.158 null ] >>
endobj
2273 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 670.199 null ] >>
endobj
2274 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 659.24 null ] >>
endobj
2275 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 606.438 null ] >>
endobj
2276 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 571.569 null ] >>
endobj
2277 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 457.995 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 458.991 null ] >>
endobj
2278 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 447.036 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 448.032 null ] >>
endobj
2279 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 436.077 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 437.073 null ] >>
endobj
2280 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 425.118 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 426.115 null ] >>
endobj
2281 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 414.159 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 415.156 null ] >>
endobj
2282 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 403.2 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 404.197 null ] >>
endobj
2283 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 392.242 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 393.238 null ] >>
endobj
2284 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 381.283 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 382.279 null ] >>
endobj
2285 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 370.324 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 329.477 null ] >>
endobj
2286 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 359.365 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 318.518 null ] >>
endobj
2287 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 300.134 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 307.559 null ] >>
endobj
2288 0 obj
-<< /D [ 2255 0 R /XYZ 79.37 263.467 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 296.6 null ] >>
endobj
2289 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 245.332 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 285.641 null ] >>
endobj
2290 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 234.373 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 274.682 null ] >>
endobj
2291 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 193.526 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 263.723 null ] >>
endobj
2292 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 182.568 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 232.839 null ] >>
endobj
2293 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 171.609 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 221.88 null ] >>
endobj
2294 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 160.65 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 210.921 null ] >>
endobj
2295 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 149.691 null ] >>
+<< /D [ 2264 0 R /XYZ 73.209 199.963 null ] >>
endobj
2296 0 obj
-<< /D [ 2255 0 R /XYZ 81.145 96.889 null ] >>
-endobj
-2254 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F83 403 0 R /F22 357 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2264 0 R /XYZ 73.209 189.004 null ] >>
endobj
-2299 0 obj
-<< /Filter /FlateDecode /Length 2413 >>
-stream
-x[n,+ޟ8 'EJ'#:loǀ)(^ftMg?M~C[~(BY%U?o%RO5 ~Q8R]Ìʿ?Ix=GyR#VowpF$ EFb?229T`0-J^dYz+Wpϰ%y ,[  83=ߧ@T!B7_U&94|zJ
-u&
-&P4<" |a#7i}K'8Bs]x9SLJ/-O]4aR3^)@&flߟ y^u$ύhGYe߳yN4PNk)g Y&vK4(N\
-ڒ>F _q|om+ޯ?&&&YX[7[7DdkؔHD?$}:vnϵ^~=O5Sok[|TzO_~6ؾu٢2?Y8UXO <
-m9TԱJTư AGTխK<g.+#ڬ~;sL5.Dza
-Iy2?nQWhѵsE Z mh$y[fSnu6?qEo!,ksVgsRnXv"+RbFpLMXtK#_U|&]X;T5L ďsJX;
-k!B1ui{G]Q;LhA6iy?M~b˺4mt,Ew)T,AP~y;Š9
-GfdKؘkF6B
-[P.Ym
-]%JXMfZ)?MՌy5tv 8Si/,PEPkE@!ɘwd#0w/f%JGNUbKՔݥcP>ٌM'*#V\ )kJ;^J:Jc2: |OCtL8GzJx^tsdmBYX`95ӽ=JML)
-s^
-L:Bp6\@7RiCt¦\-FIa5zt^OzV1Rݿ | P/^֕TE{eEHe}W}jGhNH]N:k+)UF6FFx`2ք
-L(c
-JGX(џ}e? .
-endstream
+2297 0 obj
+<< /D [ 2264 0 R /XYZ 73.209 178.045 null ] >>
endobj
2298 0 obj
-<< /Type /Page /Contents 2299 0 R /Resources 2297 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2264 0 R /XYZ 73.209 167.086 null ] >>
endobj
-2300 0 obj
-<< /D [ 2298 0 R /XYZ 78.37 808.885 null ] >>
+2299 0 obj
+<< /D [ 2264 0 R /XYZ 73.209 134.209 null ] >>
endobj
-2301 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 754.882 null ] >>
+2300 0 obj
+<< /D [ 2264 0 R /XYZ 73.209 101.332 null ] >>
endobj
-2302 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 642.304 null ] >>
+2263 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F59 226 0 R /F84 305 0 R /F15 214 0 R /F83 294 0 R /F74 217 0 R /F65 215 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2303 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 631.345 null ] >>
+<< /Filter /FlateDecode /Length 2252 >>
+stream
+x[nWD#zAN2!dJ҃EulYHC-/?n?~{WD`?=uqA8˟RZ/%^44NJ>zG4?h'F֎{EjPHnRuυ{|eY:H;^'S5D埽ƖYBʴSeyYG6;=uz&/Z/V;y.U^<xfVٝd-0j=h E $SR~۾&R0BI[!f&›eщx>85V6ZRgaP;45wک7jiG|Mt΢'h1Ov3 ģT6L34wFN˙T|E|ZK~L9].d
+! MT#cFmޅUW1v77CBp<J
+:#t؝ʯRv 6K푻YL
+Z8I U)WI1Hx:~Kq5JHeh>\nA+@]½9 ˕v ;.c(KVW5 lbO蠾wjqz,lQΐWTmp4 U3
+̬Y1}3e 7'-K)y7H/I:/o00$QOD
+cL"$QOhA4K
+*ᡴś Vj:H e ]6<m>8束VT\16@ ;DU72'30MK*lk[b7w=1D@W[lCc^NAزPȷQ
+Us ¦v`=1,XU2ߛBtQK4Pq5-r=̓Qw*qCꊱlH,ZM4%1mf%HX5 TŻ])ݔGjt7k=u3LkP_W}gD{ ak5XJ񌒶O(J˺qjGFͦM<N)
+e]):B k^|f ow 0
+R8)-3b3ӰRxJ)(s5ő@fp#̗cS]fb_6EPV;lO&ngrzJڧJn>6b^xAz_H֔%,ӻ=7rP!/Y괮 }D g"T׵[b][_MZ!/kY0AUnaN4l${5C]ΰzg 9?RBL鄯W $)SsLNRT֍*+:pcXs.([ ;J;<ٚ4G,披MJP~MRXfxfB,Xex0eY<PZמvdϠru9tNYVbhi^:)(>RR+e0ػNJyR)Tl%gP+N=;Kkeɗ4[ п?B i֮ ^N38,X;oQ D-6=̩m\=zDqJH {}$ a#mȂŮS\)xi,c f
+[QN3$F L24 AhiGBxvFl2Pz1= kFB u/IJ.SY
+(%FJVIa{1~^&X T
+#yo*UNL̵Ϟz:';tTd/TLWG>~GR
+endstream
+endobj
+2302 0 obj
+<< /Type /Page /Contents 2303 0 R /Resources 2301 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2304 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 620.386 null ] >>
+<< /D [ 2302 0 R /XYZ 78.37 808.885 null ] >>
endobj
2305 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 609.427 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 719.016 null ] >>
endobj
2306 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 598.468 null ] >>
+<< /D [ 2302 0 R /XYZ 79.37 682.349 null ] >>
endobj
2307 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 587.509 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 664.214 null ] >>
endobj
2308 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 576.55 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 653.255 null ] >>
endobj
2309 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 565.591 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 642.296 null ] >>
endobj
2310 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 512.789 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 631.337 null ] >>
endobj
2311 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 501.831 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 542.67 null ] >>
endobj
2312 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 490.872 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 531.711 null ] >>
endobj
2313 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 479.913 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 520.752 null ] >>
endobj
2314 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 468.954 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 509.793 null ] >>
endobj
2315 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 457.995 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 498.834 null ] >>
endobj
2316 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 447.036 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 487.875 null ] >>
endobj
2317 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 416.152 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 476.917 null ] >>
endobj
2318 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 405.193 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 465.958 null ] >>
endobj
2319 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 394.234 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 454.999 null ] >>
endobj
2320 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 383.275 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 444.04 null ] >>
endobj
2321 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 372.316 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 433.081 null ] >>
endobj
2322 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 361.357 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 422.122 null ] >>
endobj
2323 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 350.398 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 381.275 null ] >>
endobj
2324 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 317.522 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 370.316 null ] >>
endobj
2325 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 284.645 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 359.357 null ] >>
endobj
2326 0 obj
-<< /D [ 2298 0 R /XYZ 81.145 205.94 null ] >>
-endobj
-2297 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R /F59 338 0 R /F84 404 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2302 0 R /XYZ 73.209 348.398 null ] >>
endobj
-2329 0 obj
-<< /Filter /FlateDecode /Length 2185 >>
-stream
-xZIc'  ت\]SsR&kkd93O
-D*
- I#. %4/$V2Km ._+ &'ZG>&} 8(_ފw{칮 7$Gc,p70!"U ):(lͲ~ϞfWQְcLCbw
-5$SRw1Ds\9_GQ(kjUfؓ<R!OR- S*@އB Wjի_MȖ2%ZTw-G#6>< Q7vlćT:U
-څC;GTU&l
-OSBgs lC0DMH dz{}Izmi9$Y4 EDv}41r3ihqnQm?6Zb}
-'&v m3/^.O#9C9}%c@SǎBEfn>Tn2)tꈉxe;PQ@rP*;e:BA'^sfKY  Ĺc%eę;Z )
-'{*ʪen92Fm] ^$Bb!x %ʉq` qĉ9Na5/ΕrD}CߢL+M#\$SGɮrv5}-1fq<yP8(-53 91ktJ$TmSlOtQP̢ڀ\R▿dc%OJm -H.1m\IZLv6Nѵ4@(2Zصi~Gh=BqDbK M5,2C+n5K}"rOj _Am|m/VG:V#7=eaUrȹ0M"hlV1 _
-:1$h@iYgܥѡf
-1av=JcK葕 EM
-zJ㳼֯tU$zPkUN7-kN<G&H.!ƨA;Vp/ U_
-8:rSh츢9s6c>Royi_+ '.679 WݴxO18s|E˻Q-UPp%\armI6Z<…~r8t䳻G
-zWNW:
-:];"Bk4N{KUGG1+Q
-endstream
+2327 0 obj
+<< /D [ 2302 0 R /XYZ 73.209 337.44 null ] >>
endobj
2328 0 obj
-<< /Type /Page /Contents 2329 0 R /Resources 2327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2302 0 R /XYZ 73.209 326.481 null ] >>
+endobj
+2329 0 obj
+<< /D [ 2302 0 R /XYZ 73.209 315.522 null ] >>
endobj
2330 0 obj
-<< /D [ 2328 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 304.563 null ] >>
endobj
2331 0 obj
-<< /D [ 2328 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 293.604 null ] >>
endobj
2332 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 262.72 null ] >>
endobj
2333 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 251.761 null ] >>
endobj
2334 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 240.802 null ] >>
endobj
2335 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 229.843 null ] >>
endobj
2336 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 218.884 null ] >>
endobj
2337 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 207.925 null ] >>
endobj
2338 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 196.966 null ] >>
endobj
2339 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 186.007 null ] >>
endobj
2340 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 589.502 null ] >>
-endobj
-2341 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 2302 0 R /XYZ 73.209 175.049 null ] >>
endobj
-2342 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 567.584 null ] >>
+2301 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F83 294 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2343 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 556.625 null ] >>
+<< /Filter /FlateDecode /Length 1980 >>
+stream
+xZ͎6 SV+$IVڞRd2H=d&'")'y˷+)`__ݐ'urA;9RYJԋ#C~khyU+9zg/;wIN&"^*"W{\i޴J E^hG=]]9@dHh޿g|=-Z%^JYORGdMv[#GYWm%IYXY"OgHf4߯)ʿv2+Tee =Fgr@8u&:L8iBNC#@~z}$Ey/(Հ3.lw]I;9hB470hVz=fWK9-cRv6b~94GLÙpz/̗ X amhe)Y
+;Y-%EXݘ_\襮FN6
+|{ϴ.d-7mB;")Q!\\}J8:(GVpiÙB 
+g5Xt@zz2@XIRAEKU=D9p k
+U怄:h`w˾`TߵV9f ,~=R#iԁyjSPK&{1ci1wͦFjY8:XA*af<΃7BJDYV:mqͰSG`V<-{ZjnM@i+VANżc<burK5yEFb'4VHcǭu@MQ{KK*uA~.5k;m ͧ>o/_ڝ kH,$h>IZi%NF Bz+t=R[g¡ĭ4Qcv.+Y]4ZZ?Nk#A|^r#^ɾ R;6Yb9ʮ4#,-Nx Gzsϖu3*GtF(|ZBT"_S[Z뺶dZrϫ{VtЏ&JԆUR?^KAxz<2RO#(A8Lἱt-1䟫:qm8NwN噜q64-j3cZcun܆ѣ16KX`U|~dm4n# Ҍ٣5"լh {$ا>6(h5j@Jzy+u(jc`2Bt x<Ir;.(e
+2&':og_ [o)oAu@s5uT>ZLR+,e!MlCAW둭\ݙھFm#R,ضwPO%BJ˘.VuGYB)4f!1n$XEZ[)co€
+endstream
+endobj
+2342 0 obj
+<< /Type /Page /Contents 2343 0 R /Resources 2341 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2344 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 2342 0 R /XYZ 78.37 808.885 null ] >>
endobj
2345 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 2342 0 R /XYZ 79.37 773.016 null ] >>
endobj
2346 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 523.748 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 742.926 null ] >>
endobj
2347 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 512.789 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 731.968 null ] >>
endobj
2348 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 471.943 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 721.009 null ] >>
endobj
2349 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 690.124 null ] >>
endobj
2350 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 679.166 null ] >>
endobj
2351 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 668.207 null ] >>
endobj
2352 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 635.33 null ] >>
endobj
2353 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 624.371 null ] >>
endobj
2354 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 613.412 null ] >>
endobj
2355 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 602.453 null ] >>
endobj
2356 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 569.577 null ] >>
endobj
2357 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 558.618 null ] >>
endobj
2358 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 547.659 null ] >>
endobj
2359 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 536.7 null ] >>
endobj
2360 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 525.741 null ] >>
endobj
2361 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 514.782 null ] >>
endobj
2362 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 503.823 null ] >>
endobj
2363 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 492.864 null ] >>
endobj
2364 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 481.905 null ] >>
endobj
2365 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 449.029 null ] >>
endobj
2366 0 obj
-<< /D [ 2328 0 R /XYZ 79.37 215.101 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 438.07 null ] >>
endobj
2367 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 185.011 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 427.111 null ] >>
endobj
2368 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 174.052 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 416.152 null ] >>
endobj
2369 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 163.093 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 405.193 null ] >>
endobj
2370 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 362.354 null ] >>
endobj
2371 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 321.507 null ] >>
endobj
2372 0 obj
-<< /D [ 2328 0 R /XYZ 81.145 110.291 null ] >>
-endobj
-2327 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F59 338 0 R /F84 404 0 R /F15 326 0 R /F81 358 0 R /F74 329 0 R /F83 403 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2342 0 R /XYZ 73.209 310.548 null ] >>
endobj
-2375 0 obj
-<< /Filter /FlateDecode /Length 1816 >>
-stream
-xZMo$'W EQYٱ#[kr.4MCƻ6Zy=E}^HaNdӗWO(SNo< Ɂ <YRB:ww) HI&>?瓌`˫ÓH[@.R p|> 6uRx>_gr]L>^_|2zdֳXg(- )yO9oM$YL}ɮ _"6lŁ/]犳VzϺO{PsCS
-"=2~">apBqmtT Ie (R\Ðn=݊5CZ+JK/= gW`el@BYhA Pw{] 0:$3kQ-p鐶*g/PF1? W).s#UJdhCcjlN[{0Y/A%@0p E쑚\Üibss=A`:cQXָysJG-АN{p/o!G7 RVnɠα$hS0ZypmƗWeN> A0B^#AHf_Sk+ɸE{?PKtQ,vI_J2]Qy<l3'BQN QVndK*aIWuE!Ҍ4Z'-n 2E!1}ջҎz"Պ>;JJҫpǫKX` ]OLaM3L~tNHgy[j'Br/wQ,v9D](;1NՊZ^Wnճӻ8=沈"˘ [Z1x>h*
-6G>7wBʜkzOuӽQgV qy4&PT;PGnq ^ uά%#IlDs#݌{̪ I |x.uց;*,aPERoI2܈uBC-ݾX=+/n\c>R l Q㱦CbmGhD>‡kAS)UO9;qG{ ݑs
-OxT4^QiuUT+1:K+RKs&avSeyAhhg8PAL T 6QRfLdƬ&R1sh=X6H|BŦ҇X7.e?Ⱥ!0i9Te[UTSiN<wzsx8 RYz3{3s~<Z:_u>A
- 7Ncv@kxx+ue]6<}0`"Ck| *$S:2A|A7>ȵAbk֔ݢw_W(un\d8>f~i =W!Ïܸ(#}
-d43{GGXi%H c#,Avf1GlC'5ˍ/oO
-endstream
+2373 0 obj
+<< /D [ 2342 0 R /XYZ 73.209 299.589 null ] >>
endobj
2374 0 obj
-<< /Type /Page /Contents 2375 0 R /Resources 2373 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2342 0 R /XYZ 73.209 288.63 null ] >>
+endobj
+2375 0 obj
+<< /D [ 2342 0 R /XYZ 73.209 277.671 null ] >>
endobj
2376 0 obj
-<< /D [ 2374 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 266.712 null ] >>
endobj
2377 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 255.753 null ] >>
endobj
2378 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 244.794 null ] >>
endobj
2379 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 233.836 null ] >>
endobj
2380 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 222.877 null ] >>
endobj
2381 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 211.918 null ] >>
endobj
2382 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 200.959 null ] >>
endobj
2383 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 190 null ] >>
endobj
2384 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 149.153 null ] >>
endobj
2385 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 138.194 null ] >>
endobj
2386 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 127.235 null ] >>
endobj
2387 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 116.276 null ] >>
endobj
2388 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 105.318 null ] >>
endobj
2389 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2342 0 R /XYZ 73.209 94.359 null ] >>
endobj
-2390 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 582.528 null ] >>
+2341 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F65 215 0 R /F59 226 0 R /F84 305 0 R /F83 294 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2391 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 571.569 null ] >>
+2393 0 obj
+<< /Filter /FlateDecode /Length 2628 >>
+stream
+x[ˎ#+W
+}q!|M/E\c\
+Q\>sVW-8G~?xfa
+DŸI`nK-6,9+#xԽKi{ͭO:ʯ0̨z)dn%"D*% U3aLܢhg
+-vrCql&^=3BԾeme?X⌕D_7r@1Y$ i]k9TogU }ya[9&DV.ZSk uH w [a5AW_Bm׺x'1U;Rֺa 3*I*m's>tgVMIbVH}*T掓 zqbZ,%I:ʖ~WPJ͖R0P} p=@ْg&lLD`-?5@7
+꯭?T{CGZ,0R*2[FjvY9۫Kϭj% 
+۳YWQ_R iB]{
+endstream
endobj
2392 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 560.61 null ] >>
-endobj
-2393 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 549.651 null ] >>
+<< /Type /Page /Contents 2393 0 R /Resources 2391 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1998 0 R >>
endobj
2394 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2392 0 R /XYZ 78.37 808.885 null ] >>
endobj
2395 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 754.912 null ] >>
endobj
2396 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 743.953 null ] >>
endobj
2397 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 732.994 null ] >>
endobj
2398 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 722.036 null ] >>
endobj
2399 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 422.129 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 711.077 null ] >>
endobj
2400 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 411.171 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 700.118 null ] >>
endobj
2401 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 400.212 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 689.159 null ] >>
endobj
2402 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 389.253 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 678.2 null ] >>
endobj
2403 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 378.294 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 637.537 null ] >>
endobj
2404 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 367.335 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 626.578 null ] >>
endobj
2405 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 615.619 null ] >>
endobj
2406 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 604.66 null ] >>
endobj
2407 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 593.701 null ] >>
endobj
2408 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 323.499 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 582.742 null ] >>
endobj
2409 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 571.783 null ] >>
endobj
2410 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 560.824 null ] >>
endobj
2411 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 549.865 null ] >>
endobj
2412 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 538.907 null ] >>
endobj
2413 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 527.948 null ] >>
endobj
2414 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 516.989 null ] >>
endobj
2415 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 187.011 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 506.03 null ] >>
endobj
2416 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 176.052 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 495.071 null ] >>
endobj
2417 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 165.093 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 484.112 null ] >>
endobj
2418 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 473.153 null ] >>
endobj
2419 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 143.176 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 432.49 null ] >>
endobj
2420 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 132.217 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 421.531 null ] >>
endobj
2421 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 121.258 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 380.868 null ] >>
endobj
2422 0 obj
-<< /D [ 2374 0 R /XYZ 81.145 110.299 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 369.909 null ] >>
endobj
-2373 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+2423 0 obj
+<< /D [ 2392 0 R /XYZ 79.37 321.588 null ] >>
endobj
-2426 0 obj
-<< /Filter /FlateDecode /Length 2866 >>
-stream
-x[r, +LT\i\]syT]؛~7VSM#Mh
-ͼeXLPt֞'R XK< Z )$t D"lK{Oʁ;Q[ϯpZ8 4C'JۜpvUS콧$ֳ3/𺥅R!0HH#j%K)zB
-<Wk͜ZFuTދ5|+e˘i󜩸4ܕ$~gKv= DvOF'b޷7k̹"E)}=ogř_De ߼En$pق# /)+F"mv% r
-'F* Ы$34-m2mD$EkVK0
-7τEzI@ʼniJ!-ZZZ;jP]*r<NRQ!YS^Q#gfOԳ>L O3!>Ӏb?2&!X̎!Sobŋͼ>k^#{)\|iU-џx׶dߥdν=W0*q{i(!)މ6ȯ{[-Fc;CȪfRE!j%ڔBT[mjb~/ d,i
-A
-b4ZE^y2kjB
-$sM_y+Iioi룷 NIG yuO qb1㉁.X=; *Niߦq&ƏԚypj:jzMO=ߵtex.ōF
-W+dN2NRϾ9˧:r>,bXV#rlUD}R a 63)Iθ[*tc=P|Η8kˎv@ ˅]<+'0AQ4e|T|ܦd2R2ؓl/Ra%
-I?Йϒ5@,$0_.{JہX`%3'=*}}pO߿=+??#7 %τi/_VZ;f d⮌nh@s8Y7 "G+ڥ/$&
-̆G>MJKҾ~qRW=MV}D4ƾ]qJRzyf,i
-6HW/Xx.`l%T?KLSa",J]ͬtZK|5wCwkti"#-n?JA=
-endstream
+2424 0 obj
+<< /D [ 2392 0 R /XYZ 73.209 255.664 null ] >>
endobj
2425 0 obj
-<< /Type /Page /Contents 2426 0 R /Resources 2424 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R /Annots 2463 0 R >>
-endobj
-2463 0 obj
-[ 2423 0 R ]
+<< /D [ 2392 0 R /XYZ 73.209 244.705 null ] >>
endobj
-2423 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 157.029 267.381 169.548 ]/A << /S /GoTo /D (Hfootnote.37) >> >>
+2426 0 obj
+<< /D [ 2392 0 R /XYZ 73.209 174.092 null ] >>
endobj
2427 0 obj
-<< /D [ 2425 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 133.429 null ] >>
endobj
2428 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 122.47 null ] >>
endobj
2429 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 111.511 null ] >>
endobj
2430 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 100.552 null ] >>
endobj
2431 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 89.593 null ] >>
endobj
2432 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 2392 0 R /XYZ 73.209 78.635 null ] >>
endobj
-2433 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 700.087 null ] >>
+2391 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R /F65 215 0 R /F81 257 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2435 0 obj
+<< /Filter /FlateDecode /Length 2982 >>
+stream
+xڵ[K$ ?0 GDELuumlmcOvx/}7+I2!!!}$'S#Ns-|cff37J Y ~"4_;Riᓟ:hZ ~FQ[hJxtyb/f Dfc0< TdD$_[f1HLTjxnÔqDܮ{&ژĄYֈxrK 7M
+m8o6$EN@2xNJha5X/DGx,j1. jĘ_cLp")c~[yƂ
+ef \!טm)q
+[3beg['BK
+Վ1{1u;JBURhؿ{kKnx&TK+> y |9VwC3c,ccutԎHƆB5![JBb{da%R񡙊5a[JEX
+x~l=*m 6-哢HNc> 2U |5m8艰dR;܊I80mk:KFu-#,DЂ#F iC)4pNJÖ q펜
+(TQx37b7JesMP{/YvNv,(iddt$޹Re@''y5Y^͋TFd^-ҙTRy%w݆pH$`P9v{! 1|gbFk.rY2feCu1)GAsp ޏ]YQ+F0N.Io$b
+,1cA5+׺c$&zq7-'|)†@gC^lh%:
+qa)HY0qWL.k#bH-Nt/AU]& VP
+` Tt43eZZr3-W *nQ"Jt^v;sEC1p/é}猓Âr54N12Nn!р9D2ΎбqJ !rc;
+j5 }p=HI7`r=%[Ek^j:Oe"˽|/^Nv`.<
+4 'sR0]U)EPkWOQQk-N@uel1 c&wSFǜ9PO?J)l5SJytv,,*yS܉rsTNn}ݛ3*U5
+A#5.ОңQfv[]`)eַM1_ꛣnYpRj+V83lSXeNEp+yV^7~r#FɡRCG)1N %n_zp
+=4GۍckHW)ε>
+[KzJrnDn|$Svy߳>=ݥ V1
+/uUYrnHoy>tmFWɵme{CI9x#)9}7kݾZ8gw\R4+4KOǃVJCGdBûAV]=>f$ɞmY6޽N-gE
+ r#+JJw}MPVg&xVқ|T%;Cs
+endstream
endobj
2434 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 689.128 null ] >>
+<< /Type /Page /Contents 2435 0 R /Resources 2433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R /Annots 2485 0 R >>
endobj
-2435 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 678.169 null ] >>
+2485 0 obj
+[ 2390 0 R ]
+endobj
+2390 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 745.828 267.381 758.418 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
endobj
2436 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2434 0 R /XYZ 78.37 808.885 null ] >>
endobj
2437 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 742.932 null ] >>
endobj
2438 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 731.973 null ] >>
endobj
2439 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 721.015 null ] >>
endobj
2440 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 710.056 null ] >>
endobj
2441 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 699.097 null ] >>
endobj
2442 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 688.138 null ] >>
endobj
2443 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 677.179 null ] >>
endobj
2444 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 666.22 null ] >>
endobj
2445 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 655.261 null ] >>
endobj
2446 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 497.846 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 644.302 null ] >>
endobj
2447 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 486.887 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 633.343 null ] >>
endobj
2448 0 obj
-<< /D [ 2425 0 R /XYZ 79.37 438.264 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 622.384 null ] >>
endobj
2449 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 372.309 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 611.426 null ] >>
endobj
2450 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 361.35 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 600.467 null ] >>
endobj
2451 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 290.615 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 535.745 null ] >>
endobj
2452 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 249.768 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 524.786 null ] >>
endobj
2453 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 238.809 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 513.827 null ] >>
endobj
2454 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 227.851 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 502.868 null ] >>
endobj
2455 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 216.892 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 491.909 null ] >>
endobj
2456 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 205.933 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 480.95 null ] >>
endobj
2457 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 194.974 null ] >>
+<< /D [ 2434 0 R /XYZ 79.37 443.573 null ] >>
endobj
2458 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 154.127 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 383.906 null ] >>
endobj
2459 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 143.168 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 372.947 null ] >>
endobj
2460 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 361.988 null ] >>
endobj
2461 0 obj
-<< /D [ 2425 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 351.029 null ] >>
endobj
2462 0 obj
-<< /D [ 2425 0 R /XYZ 93.716 91.504 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 340.071 null ] >>
endobj
-2424 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F59 338 0 R /F84 404 0 R /F74 329 0 R /F22 357 0 R /F65 327 0 R /F81 358 0 R /F83 403 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+2463 0 obj
+<< /D [ 2434 0 R /XYZ 73.209 329.112 null ] >>
endobj
-2466 0 obj
-<< /Filter /FlateDecode /Length 2793 >>
-stream
-xڵ[Ɏ8WEw@`ykumnM%QpiA"HS">?oϧAa_cC+FbTJR*>QȎ4aUSzJBS
- 0"X|)wk ^; ~a/k|IJ!_k|"O
-9L@ #O??TPj(&XܫpU
-":PR;1paG;v)1(-Dsۍ8jN7CnZއ"8mDFZJюoH`DCi#H>_^M<:N)-{OڋC8y>Rdat Hr?cFG&${+E[ZJ.o_+P-4%#{
-Q]>M%T1BȐYR6߶=̜$"-(ԁ@'`9$먐8\VDٓy7+ %TD!xgz$DG}DzǵN[AɌ|*$“q 6,E%pO</%ɀ^Djq0rrmGo8Ƅ$HŌ%$$#2j7<B0#DG{ ްBIU|D,b뽇 yMwcn\'R#7qĕ ff0 ^Yr_@eR(q%"Bݦnq*,'arHODi1'7KsG [gֲ]*cF䐱%SԽ0֡nau,(*DK5⎯ێRr&zSRՌ\^bG9]O`Õ#j' D͚D[JDy%o?A#̾nUWf3rM-UZטP)v+vRUV$iCU)>I3=5 Jn@b6ͷzwP5$1+fu %%Cu ufOQaCka1Cm8 aaY)HQr0l|p^h+#Eb,I ?fOVŅ6 r<0a(XC\@Rh_a
-Q֥좹@BqN>M ™ ^nPd1!~n!υ [ue %ˣzكK@#t|8B Ko'1 FmᥰQyŇj7]@Pi8Pj3^Mbs`?^~X_\̟< st>/KVwy(Q2r泥]=j!^);8er9/U_xn)Z ws#V>AW3=bl(};蘞. :&SG,y!;wx/&W8) 5bF) aCÔKY97K!2TOЄ1 kDGyx)q"R)TLYAi,<a
-哭0-6{~F?sݍYH0D*wQjT  ]6l`j<ptM}|U xZĿK&H(QZ]muR"/2>)w>\r|d'yozH9T={J{̬>ll9xK57z1,͹WVaXp9S|j`ʺ=ҞN5Uz?aw"NzU\3doFe1x)`Fo:BvB(0 ͨk}ҩno4:%Pr)buZLX'πa
-,¶/K2^chmle߹j$,jѽiGZ[;Jvlˬ~g vg2jʿI;"iEL&JO#+~ 5^rUkFyqVr
-endstream
+2464 0 obj
+<< /D [ 2434 0 R /XYZ 73.209 318.153 null ] >>
endobj
2465 0 obj
-<< /Type /Page /Contents 2466 0 R /Resources 2464 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2434 0 R /XYZ 73.209 307.194 null ] >>
+endobj
+2466 0 obj
+<< /D [ 2434 0 R /XYZ 73.209 296.235 null ] >>
endobj
2467 0 obj
-<< /D [ 2465 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 285.276 null ] >>
endobj
2468 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 274.317 null ] >>
endobj
2469 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 263.358 null ] >>
endobj
2470 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 252.399 null ] >>
endobj
2471 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 241.44 null ] >>
endobj
2472 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 230.481 null ] >>
endobj
2473 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 219.523 null ] >>
endobj
2474 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 208.564 null ] >>
endobj
2475 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 197.605 null ] >>
endobj
2476 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 186.646 null ] >>
endobj
2477 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 175.687 null ] >>
endobj
2478 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 164.728 null ] >>
endobj
2479 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 153.769 null ] >>
endobj
2480 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 142.81 null ] >>
endobj
2481 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 131.851 null ] >>
endobj
2482 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 2434 0 R /XYZ 73.209 120.892 null ] >>
endobj
2483 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 550.648 null ] >>
-endobj
-265 0 obj
-<< /D [ 2465 0 R /XYZ 79.37 513.236 null ] >>
-endobj
-2484 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 453.539 null ] >>
+<< /D [ 2434 0 R /XYZ 93.716 89.795 null ] >>
endobj
-2485 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 442.58 null ] >>
+2433 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F16 216 0 R /F59 226 0 R /F84 305 0 R /F83 294 0 R /F22 247 0 R /F81 257 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2486 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 431.621 null ] >>
+2488 0 obj
+<< /Filter /FlateDecode /Length 3048 >>
+stream
+x\n$W 7@R}`n-YRihj26>F9L]sq] 2gp-?8W?x@X?/9m <\{y?C
+#\yczhɯ᳆$،ݹ1A':GwGS S,l4O=4` RP0<2dtP(c]t~K 3JVHtF^!{
+Af^V,^ʉ2 0
+ֱfWGߔ2x*7Ms~AR>
+Df劁-i>m$Fi)ZT9< ҦGFQPѷd7!3tYr6b'x@ L9ʹ13*A#RVZN%cy8{88O U)zVvO;:*f9d\5 (qc}ըXaڴMrq鹶oo]u]xrbk`
+=^W=a{JWgd5M?
+S1%ϣY)g^7PrW Kl'd0[ϙ?z&(0hàXڧn
+?\9OQ)ڟRjX^JHd}o`u@f*Y7QI9iS.<Vi1e'vқ`#5tad  v-90mLͱ|}{
+Ҷz7~GDq?쬮=I 8QwyArNrV7qN؝ݩHʇKXUuB&G<}RqTE=S *ANnv59]xj+IIZ*5x2&S1S̟jpI}[ҳ4F׈0sʳ"@tgDJ=`vBsw8]T˄&1]-ɥ1r/hnף?k'lmshȔ#;/[[x#EYF^C6`Ni1$:'fX!i&jzz2'8 9
+ypq(ƙ]ҾM2hMu:NtD7뚜ӟ+tѧoF a_;ekYj<PSBd'xQO!H4K4lC ztK'oxu=RY6 j[EsP0#IǏ''}]͆>N/AI3dyc%)Ρ5C62oS }(6W*w(jo͑xS/ZR8qoX28xN(oGRK&s$8Qxt@ؤ-l䫣G]Zrf8<f4{f@=_J`hFeؕjrۛ=Ht_
+Նg. =[m65CHH S49yw$7W6[ Bja[ B@}UZZLeXGz8zEclv$pm9#4 Q$4 3êP>{2(BwAR/i>
+endstream
endobj
2487 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 420.662 null ] >>
-endobj
-2488 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 409.704 null ] >>
+<< /Type /Page /Contents 2488 0 R /Resources 2486 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2489 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 398.745 null ] >>
+<< /D [ 2487 0 R /XYZ 78.37 808.885 null ] >>
endobj
2490 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 387.786 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 768.829 null ] >>
endobj
2491 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 376.827 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 757.87 null ] >>
endobj
2492 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 365.868 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 746.912 null ] >>
endobj
2493 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 354.909 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 735.953 null ] >>
endobj
2494 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 343.95 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 724.994 null ] >>
endobj
2495 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 332.991 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 714.035 null ] >>
endobj
2496 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 322.032 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 703.076 null ] >>
endobj
2497 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 311.073 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 692.117 null ] >>
endobj
2498 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 300.115 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 681.158 null ] >>
endobj
2499 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 289.156 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 670.199 null ] >>
endobj
2500 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 278.197 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 659.24 null ] >>
endobj
2501 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 267.238 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 648.281 null ] >>
endobj
2502 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 256.279 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 637.322 null ] >>
endobj
2503 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 245.32 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 626.364 null ] >>
endobj
2504 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 234.361 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 615.405 null ] >>
endobj
2505 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 223.402 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 604.446 null ] >>
endobj
2506 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 212.443 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 593.487 null ] >>
endobj
2507 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 201.484 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 582.528 null ] >>
endobj
2508 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 190.525 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 571.569 null ] >>
endobj
2509 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 179.567 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 560.61 null ] >>
endobj
2510 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 168.608 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 549.651 null ] >>
endobj
2511 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 157.649 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 538.692 null ] >>
endobj
2512 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 146.69 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 527.733 null ] >>
endobj
2513 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 135.731 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 516.775 null ] >>
endobj
2514 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 124.772 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 505.816 null ] >>
endobj
2515 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 113.813 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 494.857 null ] >>
endobj
2516 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 102.854 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 483.898 null ] >>
endobj
2517 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 91.895 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 472.939 null ] >>
endobj
2518 0 obj
-<< /D [ 2465 0 R /XYZ 81.145 80.936 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 461.98 null ] >>
endobj
-2464 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F22 357 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2521 0 obj
-<< /Filter /FlateDecode /Length 3228 >>
-stream
-x\n#+&/g@0` MVpU"CҍnI%NiS"/P/wi/X8\.eDVP._JJ[ϯP~ߍbaӰAp(ʡWe+u
-Qg =-woqnqnpؒ%lE w'x?GsOԱ~AJCR(>g+ܫ^<V։ǐi̲\ϥ2S >ԍY BBtfxYdʗW^#^Їs߭qyCȗ5 D{H*v}bs46u? c X!y^xag.zncsƟo,3-:S24RCOl2)V'Y'G6rZϦbКS=ғ\F:l=*Ӡ}akD}\\ZuC۷EA24|ϳ 1hE.UyηϟYKZҜ$)R=W=3HH궦2gݣ>NՌ ~h2ݩ9a
-ڏ~4\Sg?qYk2[-T;$鸕ߵKw\ٍ, sT'ezc5xdk|o5EVp7{lh{:Yu5j('J/=E/ m~MZ]=!% d wE5gqZWP(B\m~1*iy>E( ᳞̔b؋K\9JL
-8ˎBWF,Ch-bhrP*KUf
-O؋\Lޤj+!*"Z FތΝ}}PhrA Cdg@k]UW.CO3l;D;[EPA+_SgYsEB֭?S,m9T4j/!oٴfg>*I3SLDŽ$zz`xfg Ł]3hNPnʎuNco-*),ӟ1d*m;Ekǰ~ 5i>s׷}}lKf2n%ɒQYQN| 4o#=(lCG]M6|/)Zq k4tJ~?*rh볔 xGRd3TQZ>*ʥKkPRN!i:\H)\'74*rv1G}hN%m %k rc8j6]ްkE/]xt3"e%wvg;֞أ1CLs!vevk^ІezWCW4Qk>bƑ@, p&/Ĥ~'=V Oggo~Bzf?ilߺ
-R:p~.&ϯ?;4j
-endstream
+2519 0 obj
+<< /D [ 2487 0 R /XYZ 73.209 451.021 null ] >>
endobj
2520 0 obj
-<< /Type /Page /Contents 2521 0 R /Resources 2519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2487 0 R /XYZ 73.209 440.062 null ] >>
+endobj
+2521 0 obj
+<< /D [ 2487 0 R /XYZ 73.209 388.134 null ] >>
endobj
2522 0 obj
-<< /D [ 2520 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 321.408 null ] >>
endobj
2523 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 310.449 null ] >>
endobj
2524 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 166.306 null ] >>
endobj
2525 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 155.347 null ] >>
endobj
2526 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 144.388 null ] >>
endobj
2527 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 133.429 null ] >>
endobj
2528 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 122.47 null ] >>
endobj
2529 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 111.511 null ] >>
endobj
2530 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 100.552 null ] >>
endobj
2531 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 89.593 null ] >>
endobj
2532 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2487 0 R /XYZ 73.209 78.635 null ] >>
endobj
-2533 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 659.24 null ] >>
-endobj
-2534 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 648.281 null ] >>
+2486 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F83 294 0 R /F65 215 0 R /F75 218 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2535 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 637.322 null ] >>
+2537 0 obj
+<< /Filter /FlateDecode /Length 3533 >>
+stream
+x\Ko$ WF n;޲bOd/CA3djK5˟ק/w/y'@^I\8O\b5q#._]~{\Ko_xܝ8`)IOJ']?}w+i7?3J$ *VW73wU8f$
+U܍)Qs&h#%
+`Z܅x% łfB(3
+-_R/I]p'5U4B gj"K]_{If6.4f2ZQj(z08KE砵̅UD<LeTVMQO.8J&UȸCJ`D4uWBjt/5R
+|@: #ދb lĕY(]=Dzhg~_ P 5CqX1!Vc14a%YHK4>nGB~ +3( KKB @^Q9={ يFZ"iĪY; mN4SX nj#t=VRYsY;^>w[&뜋sx>|}'''e6kY=83|U[.LW0{elo%YgeCsX[X}#dv+X>ӛbwgR+VbLmPk*v7PHI1x@MD)EvY[2c.5
+Vo%sºiUdžPbclU<Z Sp<R˝EO*Z̷&z;R$w!աQiWաCl\'Υ%C**؃y=V%W!W t6qm YSVxXv.%HB$FLi U%*(N=Ox:,<]Uc5a1gPPR 4`J!AdJxԩ#/`^b]z7$
+k~ X*QQ+i델CBHAIneh`X6V.n標DŽ/R1&V4>TϮK'J%qNhWqnƹax(<{ a :ڵ@RW iuZ(xnhKa>زC4-{)B;y`eJQ X),ep[ fgprMvb7~B )DvY`vUfv|MODCVf+RsGS*Oq1'_S[`q).|{w ohnŌŏi#]6x [O┢WaCQMyX
+ut5-Ɨ{}uf)^]dtJvJ&ܨ̀D
+YwI8VISJz,S3.j?
+h#oeNhpQ
+Z]0P:HV-o\C5ڨdvxy<]П׮{Q̂SjJ˸D;+8]c"ƞc'){.l3
+!B. hRPEF#+2iu>3*InhXȑ` 4gMsryl^3L/ͯf>IV##Z L>QWȱq,H1s%loX&Oyq]ls˂nL}W Oݕ (&AZ6վjsŇ.kׯղasZMMlokFMjMMjU#PڎBS.]]A[JݽkP}½8gC.W^wf(FG B*)_Th
+r.6xT|ʎȱLO'v{‚ ^Γ7 ޏZ}Fc)}>&噒z<ә[WʹogSؒ]:o4E{QO7udZ
+krKH?ce>0tg(p7ݙ)VFj/wr?:.ww%2Qy?.Q :ƕT:kѽb;k UI"nKfBo0\a?9
+endstream
endobj
2536 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 626.364 null ] >>
+<< /Type /Page /Contents 2537 0 R /Resources 2535 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R /Annots 2566 0 R >>
endobj
-2537 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 615.405 null ] >>
+2566 0 obj
+[ 2533 0 R 2534 0 R ]
+endobj
+2533 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 441.052 255.296 453.224 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+endobj
+2534 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 241.68 116.567 253.971 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
endobj
2538 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2536 0 R /XYZ 78.37 808.885 null ] >>
endobj
2539 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 768.829 null ] >>
endobj
2540 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 757.87 null ] >>
endobj
2541 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 649.278 null ] >>
endobj
2542 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 638.319 null ] >>
endobj
2543 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 627.36 null ] >>
endobj
2544 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 496.849 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 616.401 null ] >>
endobj
2545 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2536 0 R /XYZ 79.37 577.741 null ] >>
endobj
2546 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 401.937 null ] >>
endobj
2547 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 390.978 null ] >>
endobj
2548 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 380.019 null ] >>
endobj
2549 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 369.06 null ] >>
endobj
2550 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 358.101 null ] >>
endobj
2551 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 347.142 null ] >>
endobj
2552 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 336.183 null ] >>
endobj
2553 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 325.224 null ] >>
endobj
2554 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 195.978 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 314.266 null ] >>
endobj
2555 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 185.019 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 303.307 null ] >>
endobj
2556 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 174.06 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 238.549 null ] >>
endobj
2557 0 obj
-<< /D [ 2520 0 R /XYZ 81.145 163.101 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 227.591 null ] >>
endobj
-2519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F83 403 0 R /F65 327 0 R /F75 330 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2562 0 obj
-<< /Filter /FlateDecode /Length 3157 >>
-stream
-xڵ[Ko$7WEހavms rbs9l.Իjܭ(>D?/Ow/yF]I ~뙴kF\~̹[Źx\]9Y9l<h1ןq&Ifºi.˹8seډmabclaU<Z0)ǡA νc @Τ'a-Sn*<($(CJ3z0?PwBBKCV/)8Hyp#h :Ӯ|R[H
-\r%z?$I#%']?1Pe{xO=VFom9+/pBJc
-ì#%ē:TϦvj| Znn30_k.MjxnɑC[fhk{t~Ҥs)}'M~`bt71LqWM#{s`ly zNKKLrP9Y`;fyg x\(9Lts$uɔw፸ ݐ CV*P% &\J+Zi͔%kŔ.?HU-K-H-e$YSiLh`]ű1il+^>C+?@KѮV0BkW湥1[
-BhKa>Q!%NmļhUie&Gܾ
-zqٶE`Oy-&0N\?۷w ͭ?+=ٲl٢{4VA֑`zgNh':
-uB u-[iRh .QEq(
-2HTˡ5+2ѥ3s:vSRRl͘m
-a23`@hl 쓊(Lu20
-aN=Q-mIOfkPXs*L"Bk/ʔc~R, W^
-Co)i }h)j͕lJJ<AnIE+ֆ ds@U
-aH9R KHi&Z'Pi~Mb學Zs@hT\NJ8 SJ/=W2ϼv-)W1ky7PkhHx a@N'~x.]$崏~夽)n,W0 % z#&e^-i5Sfe&,ьy44^D$o,Gqxm-4w"$]O@Nit%9RV[;E;LR#cN0PJvQEfHV+_\jCuڨ xz"x:?\ev9rsE\Qw.Aկx -/s uW|9ƂP)($A|L{\ɘo؞p`]8(՝\rzjߊ
-*={~ZOQnSo#K*Q4~8r7Q`!%wRR_;0 0qe`$9sO|G,SB:`3( xV1#pO\4Vw;OPx_c@
--Gm-q5E E9Nn|twD!|,M g-*IKp`="1S7%'#dhFןlC }x{_!$/ 8]'O\bl$3UoWoq3}xtkM k5]SG kݐ[l@`pZ:}Bx#9_P+zFuvIJŴ =ڰ0 o]`J/0!R`^Q|"vT\F<>6>AX=:AC0(üV'C0\OZǞ>Pxe0 R'Ebc煮f#ssh|{bEn݈ى?iҢ2S5rYǼxvI
-endstream
+2558 0 obj
+<< /D [ 2536 0 R /XYZ 73.209 198.699 null ] >>
endobj
-2561 0 obj
-<< /Type /Page /Contents 2562 0 R /Resources 2560 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R /Annots 2596 0 R >>
+2559 0 obj
+<< /D [ 2536 0 R /XYZ 73.209 187.74 null ] >>
endobj
-2596 0 obj
-[ 2558 0 R 2559 0 R ]
+2560 0 obj
+<< /D [ 2536 0 R /XYZ 73.209 176.781 null ] >>
endobj
-2558 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 541.675 255.296 553.846 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
+2561 0 obj
+<< /D [ 2536 0 R /XYZ 73.209 165.822 null ] >>
endobj
-2559 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 342.303 116.567 354.663 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
+2562 0 obj
+<< /D [ 2536 0 R /XYZ 73.209 154.863 null ] >>
endobj
2563 0 obj
-<< /D [ 2561 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2536 0 R /XYZ 73.209 143.904 null ] >>
endobj
2564 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 749.9 null ] >>
+<< /D [ 2536 0 R /XYZ 93.716 112.858 null ] >>
endobj
2565 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 738.941 null ] >>
+<< /D [ 2536 0 R /XYZ 93.716 93.766 null ] >>
endobj
-2566 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 727.983 null ] >>
+2535 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F83 294 0 R /F65 215 0 R /F81 257 0 R /F75 218 0 R /F22 247 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2567 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 717.024 null ] >>
+2569 0 obj
+<< /Filter /FlateDecode /Length 1623 >>
+stream
+xZˎ6 W.DR/ 8]mo+mqĹ#1ŗ(pN&ͥC=ϞC0|
+ނߌqh Q%c?LAX?oO@Y10z%#QkPN-͗cn߂j)eE:+$0f  tTH]i9Es+ky\OҦ~w'>ǩfjyZ;N?lGO*rnS9[wHAz/:'GbyYJ1}r@&Hbr&&";5Ҡ7N)Bϛ'p
+tO
+>S?Yt"]BzVePW6 ,W)u Br  i
+!qtN\ÕFzj(}UکX#ztʳ-P*gA + >.
+endstream
endobj
2568 0 obj
-<< /D [ 2561 0 R /XYZ 79.37 678.364 null ] >>
-endobj
-2569 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 502.559 null ] >>
+<< /Type /Page /Contents 2569 0 R /Resources 2567 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2570 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 491.601 null ] >>
+<< /D [ 2568 0 R /XYZ 78.37 808.885 null ] >>
endobj
2571 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 480.642 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 768.829 null ] >>
endobj
2572 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 469.683 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 757.87 null ] >>
endobj
2573 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 458.724 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 746.912 null ] >>
endobj
2574 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 447.765 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 735.953 null ] >>
endobj
2575 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 436.806 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 724.994 null ] >>
endobj
2576 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 425.847 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 714.035 null ] >>
endobj
2577 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 414.888 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 703.076 null ] >>
endobj
2578 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 403.929 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 674.184 null ] >>
endobj
2579 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 339.172 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 663.225 null ] >>
endobj
2580 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 328.213 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 652.266 null ] >>
endobj
2581 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 299.322 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 641.308 null ] >>
endobj
2582 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 288.363 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 630.349 null ] >>
endobj
2583 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 277.404 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 619.39 null ] >>
endobj
2584 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 266.445 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 608.431 null ] >>
endobj
2585 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 255.486 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 597.472 null ] >>
endobj
2586 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 244.527 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 586.513 null ] >>
endobj
2587 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 233.568 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 575.554 null ] >>
endobj
2588 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 222.609 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 564.595 null ] >>
endobj
2589 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 211.65 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 553.636 null ] >>
endobj
2590 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 200.691 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 542.677 null ] >>
endobj
2591 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 189.733 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 531.719 null ] >>
endobj
2592 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 178.774 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 520.76 null ] >>
endobj
2593 0 obj
-<< /D [ 2561 0 R /XYZ 81.145 167.815 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 509.801 null ] >>
endobj
2594 0 obj
-<< /D [ 2561 0 R /XYZ 93.716 138.708 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 498.842 null ] >>
endobj
2595 0 obj
-<< /D [ 2561 0 R /XYZ 93.716 119.556 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 487.883 null ] >>
endobj
-2560 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F75 330 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F22 357 0 R /F83 403 0 R /F16 328 0 R /F65 327 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+2596 0 obj
+<< /D [ 2568 0 R /XYZ 73.209 476.924 null ] >>
endobj
-2599 0 obj
-<< /Filter /FlateDecode /Length 1612 >>
-stream
-xZɎ6 WF- TuU s߂\S:w˴-29t;)Һ&QϛI7tc;3_hMZ[!{.=" Wϴ6
-Ӻt\Lwol״O_:|t>.W5s>&]&
-|E]JGs1)03i?ߴY7R1j+O^A56cf/:^@MH*v8F:}|`p<Jk}{[wR)pQ 49'
-F*)S{%7c;Ln6/;2 jax0e;}c׈r>,K" i2Vy6 sܦKa_=MʻU"r꒿KҤ-ir<Jv4lmѕ=|[>-_Q |k}/+\mHM39:zIK?\m3hnt/ї(NXoTHlr8Be$-өq%(H/۶XRdHbaTZVVFItǖșnq%c~yBP"+ϒ"VHJYffKLB:Sj`CBK$(Ze֥;MJSMۼ8X[rO)jA
-KgvP#h|y{<*I#t9H,D :F!:aQ"=AG{ jЕH*1eڃE%RE^fw9 XyXڰ@I
-8/Gs<]pxZʮ e N&,p{hjۼd``~'F3,ynmT;!{44yϵ=c$:/NZ@HQ5FN* N
-}Vjd){yPHtJ4r8\R]!0Y^Yj_ɈN‘Ӛ(771m@.>ji~H_Cb|v#3 "kY8IL
-rlmVr춰Khi*nೱ~S Y~bI۽;jcHyamvP`ԈʹS:>y`i4*Xb _;"(Xfi+]`T
-endstream
+2597 0 obj
+<< /D [ 2568 0 R /XYZ 73.209 465.965 null ] >>
endobj
2598 0 obj
-<< /Type /Page /Contents 2599 0 R /Resources 2597 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2253 0 R >>
+<< /D [ 2568 0 R /XYZ 73.209 455.006 null ] >>
+endobj
+2599 0 obj
+<< /D [ 2568 0 R /XYZ 73.209 444.047 null ] >>
endobj
2600 0 obj
-<< /D [ 2598 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 433.088 null ] >>
endobj
2601 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 754.995 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 422.129 null ] >>
endobj
2602 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 744.036 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 411.171 null ] >>
endobj
2603 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 733.078 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 400.212 null ] >>
endobj
2604 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 722.119 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 389.253 null ] >>
endobj
2605 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 711.16 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 378.294 null ] >>
endobj
2606 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 700.201 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 367.335 null ] >>
endobj
2607 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 689.242 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 356.376 null ] >>
endobj
2608 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 678.283 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 345.417 null ] >>
endobj
2609 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 667.324 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 334.458 null ] >>
endobj
2610 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 656.365 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 323.499 null ] >>
endobj
2611 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 645.406 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 312.54 null ] >>
endobj
2612 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 634.447 null ] >>
+<< /D [ 2568 0 R /XYZ 79.37 275.873 null ] >>
endobj
2613 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 623.489 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 257.738 null ] >>
endobj
2614 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 612.53 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 246.78 null ] >>
endobj
2615 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 601.571 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 235.821 null ] >>
endobj
2616 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 590.612 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 224.862 null ] >>
endobj
2617 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 579.653 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 213.903 null ] >>
endobj
2618 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 568.694 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 202.944 null ] >>
endobj
2619 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 557.735 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 191.985 null ] >>
endobj
2620 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 546.776 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 181.026 null ] >>
endobj
2621 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 535.817 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 170.067 null ] >>
endobj
2622 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 524.858 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 159.108 null ] >>
endobj
2623 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 513.899 null ] >>
+<< /D [ 2568 0 R /XYZ 79.37 122.441 null ] >>
endobj
2624 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 502.941 null ] >>
+<< /D [ 2568 0 R /XYZ 73.209 104.306 null ] >>
endobj
-2625 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 491.982 null ] >>
-endobj
-2626 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 481.023 null ] >>
+2567 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2627 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 470.064 null ] >>
+<< /Filter /FlateDecode /Length 1488 >>
+stream
+xZr8 +&$ʞ$]ܺ:sdIE1a;HOC*(ix)0!W<d$o rL!PԿ]zBMϟs ]될HZ+AIbe1VŒ.Bey}-i(JZZug8Tx/蔖3wy~5ڛQgr:x>$ψ;s#TzA
+,FBytG#Ē[78`wpbB(wZ2p̖ $`trK*ZpRNϚ8<;PC
+'u(:2pw>EDx,u3W&b"Y~n)@fX`1ɛ BF4}JkI%!ݔ4RKJJ%NV^zBIl& PR6MxEڝgRC*eNK*cGoSctOQtjk>7C.Y1hfԭ|v>]ܡ*q¶Ht6ÙK ~;$M|Ek3D"Ӯ"=zM/9A9|%EI0i2QY#^S
+,r7W!8a/ ɝUJoY͠oMLy@h3_(  t6@2GdJZ<> %!L`׀Er7\\ؤҙϵ
+F Ƈ6ڔn糝SُV1qG&w@tQw\Qũ=ªs>{]*+z\1gD&Wm>mVE
+6Yxf4}';
+ENͣǭL d/W8gC$A3̑2cEjdH꩹tL/oO{ؘ
+endstream
+endobj
+2626 0 obj
+<< /Type /Page /Contents 2627 0 R /Resources 2625 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2628 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 459.105 null ] >>
+<< /D [ 2626 0 R /XYZ 78.37 808.885 null ] >>
endobj
2629 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 448.146 null ] >>
+<< /D [ 2626 0 R /XYZ 79.37 773.016 null ] >>
endobj
2630 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 437.187 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 754.882 null ] >>
endobj
2631 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 426.228 null ] >>
+<< /D [ 2626 0 R /XYZ 79.37 718.214 null ] >>
endobj
2632 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 415.269 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 700.08 null ] >>
endobj
2633 0 obj
-<< /D [ 2598 0 R /XYZ 79.37 379.268 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 689.121 null ] >>
endobj
2634 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 361.248 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 678.162 null ] >>
endobj
2635 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 350.289 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 667.203 null ] >>
endobj
2636 0 obj
-<< /D [ 2598 0 R /XYZ 79.37 314.288 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 656.244 null ] >>
endobj
2637 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 296.267 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 645.285 null ] >>
endobj
2638 0 obj
-<< /D [ 2598 0 R /XYZ 79.37 260.266 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 634.326 null ] >>
endobj
2639 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 242.245 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 623.367 null ] >>
endobj
2640 0 obj
-<< /D [ 2598 0 R /XYZ 79.37 206.244 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 612.408 null ] >>
endobj
2641 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 601.45 null ] >>
endobj
2642 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 590.491 null ] >>
endobj
2643 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 579.532 null ] >>
endobj
2644 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 568.573 null ] >>
endobj
2645 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 557.614 null ] >>
endobj
2646 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 546.655 null ] >>
endobj
2647 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 535.696 null ] >>
endobj
2648 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 524.737 null ] >>
endobj
2649 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 513.778 null ] >>
endobj
2650 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 502.819 null ] >>
endobj
2651 0 obj
-<< /D [ 2598 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 491.86 null ] >>
endobj
-2597 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F59 338 0 R /F84 404 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2654 0 obj
-<< /Filter /FlateDecode /Length 1809 >>
-stream
-xZMo#7 W"> 9-5fFz<Xx(o)>i œU1_/9PΞ3J;sǛZ#++N` z TtPTGBhZk3ʊ F 2
-٨$|elEcPi e{P' nU;gk70]M_A!sZ a 1lpLiŖF9i9\ҮU|Y:lqsjkh٤F7 VoI|YKmD}]C;a
-Eǘ-аE#9hq9ȍ$nGV1&-%ATDV %ؙ(` {GY+N1iV5缗KA&N)d[
-S>&l}zow4z!t86|r9Ţ |;.U++KZΰ)Z+
-QdD~G =7T . omBf [-hށ0;@ :pF;,FYIQpYOt뎨kS$| cֶHd"?X8X+*k\dïKL,Fisk!eY⦱kA ݑ~!&Z{AqCZSC_Y1LkAW:=mUE
-2niVfr!cP+6"|2NKbf[<'EqӼl::I!r!ϲիM ;TZ$Yoʻ$ՎLeUve
-^Qb-UZmL  K&Yt6\&7m¢秦=>za6/0I2hOo{{>X2`gX}eS
-G"ex!5jwJ>ksebq Ddvy!-RQO G㬂vHQ~#=`dǓ-ТƂ$zޅʆ\̩4Sȯ<zyM5I튧SK K36»uxwQ-͉И;'OOeU,vQ=Ӷvp}b6mBskŖ=5^C'bE>PtԔ󎆉;.s.~6YRp{$Sb<:)SI]P^ս4rY˿
-endstream
+2652 0 obj
+<< /D [ 2626 0 R /XYZ 73.209 480.902 null ] >>
endobj
2653 0 obj
-<< /Type /Page /Contents 2654 0 R /Resources 2652 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2626 0 R /XYZ 73.209 469.943 null ] >>
+endobj
+2654 0 obj
+<< /D [ 2626 0 R /XYZ 73.209 458.984 null ] >>
endobj
2655 0 obj
-<< /D [ 2653 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 448.025 null ] >>
endobj
2656 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 437.066 null ] >>
endobj
2657 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 426.107 null ] >>
endobj
2658 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 415.148 null ] >>
endobj
2659 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 404.189 null ] >>
endobj
2660 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 393.23 null ] >>
endobj
2661 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 382.271 null ] >>
endobj
2662 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 371.313 null ] >>
endobj
2663 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 360.354 null ] >>
endobj
2664 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 349.395 null ] >>
endobj
2665 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 338.436 null ] >>
endobj
2666 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 327.477 null ] >>
endobj
2667 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 316.518 null ] >>
endobj
2668 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 305.559 null ] >>
endobj
2669 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 294.6 null ] >>
endobj
2670 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 283.641 null ] >>
endobj
2671 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 272.682 null ] >>
endobj
2672 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 261.723 null ] >>
endobj
2673 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 250.765 null ] >>
endobj
2674 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 239.806 null ] >>
endobj
2675 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 228.847 null ] >>
endobj
2676 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 217.888 null ] >>
endobj
2677 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 206.929 null ] >>
endobj
2678 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 195.97 null ] >>
endobj
2679 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 185.011 null ] >>
endobj
2680 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 174.052 null ] >>
endobj
2681 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 163.093 null ] >>
endobj
2682 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 152.134 null ] >>
endobj
2683 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 141.176 null ] >>
endobj
2684 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 130.217 null ] >>
endobj
2685 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 119.258 null ] >>
endobj
2686 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 108.299 null ] >>
endobj
2687 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 97.34 null ] >>
endobj
2688 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2626 0 R /XYZ 73.209 81.4 null ] >>
endobj
-2689 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 407.186 null ] >>
-endobj
-2690 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 396.227 null ] >>
+2625 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2691 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 385.268 null ] >>
+<< /Filter /FlateDecode /Length 3064 >>
+stream
+x[Ɏ9+(Pt5džoΜ2R,ҙ`IOoyoyF~&n3ioƍέxu%~BЯŷWptz'W`0E9ε":yO\
+ )3R) Ϝyizƫ{ 0C sv_4UBOu %ͤ> CG"LT {d^jn3aWh.0V-)Hθ,qF<Ôm3U)ϙ]j#"#@y&)L}DhIDC*}T[_WεwH]dc~ 4RZ_jDMiTyևʴmErSK@[
+"δI9>MpSz3MhS;
+CmSruR3 쑦-JBrck8ЋN
+''W E yA|"j[P X #%aẃ))cak)eut'xEס<g@+mU($ #+k*UGJ EDUku?VTOv,_
+yw
+.mM"YK/fEZ\H2G:y*ȥ\ /jɰ0&NHg륑-#(Uu.FT$87c
+c6sSV193edI_]vNSp7P3>>]je
+Isz}#r}yucɬۙ'=1'Z2͹8$KNY|Y3fLdpusڬB7 'x[i1X y;Jat)LABVvPPWX!"nʩq,_2 nֆAцUs&zEutl]ڒ`Dz0_iջAK k@[*~ma&#gޗ/ L޼<] ͙rxA>jрB N/7
+ҰF1y+Ϧ.kX|.eIo#8 ŗƩKJCZ樳Lc8&F 0Qeg[JFN,suJ. F21 TԜWfJ*ɞb|6k3Aj17ߛX7i!3]l?HFN/?#LTs̙WS9؇0Tey*'bMKZ$]'ɕKVj ~LWnH+j(ifȕ7s0{[ߙMucKxOr}t/bRbJ1H/ WBXTRkg2rjܥ‚Fy<XWV{2ѹW װNgՁqpq}fPh+zY2ȭaS 0]*z;W1#Ē݋x&
+$S)#YҽIG4{n<R5nVYCwU,:
+Jp1)[)X_*)T2vߤ6+1'#7X7R PiIѬ)M%v)
+{GYgW[FkKqdv% !,=`\Qo?`&$9gV[tsFAR)W\3yVܴO[6R"2;5lrPOFve-nֺstCS1ŅQR  YaH1cQc!} vHw[KT",yVR&ggiYRKf,[(E};4#/P*l,ӒN%R)O9&,)eNfpg)'0Ь<h _fƇwG&!'G,
+zJ+4eJBrPFgrKt8={nF eN6yPqVQ,ڑ+]flocP J4cQ04g
+iKz1<9qj+(>M jO%sfkMZNvi}rMi=e@sa*hsnY-]oL ROTi\ ;ROmzզVu^M>yz3g֕˱Fp|b7 m+"Ǘu!
+endstream
+endobj
+2690 0 obj
+<< /Type /Page /Contents 2691 0 R /Resources 2689 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2692 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 2690 0 R /XYZ 78.37 808.885 null ] >>
endobj
2693 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 742.958 null ] >>
endobj
2694 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 731.999 null ] >>
endobj
2695 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 721.04 null ] >>
endobj
2696 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 710.081 null ] >>
endobj
2697 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 699.123 null ] >>
endobj
2698 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 688.164 null ] >>
endobj
2699 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 2690 0 R /XYZ 79.37 651.682 null ] >>
endobj
2700 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 621.624 null ] >>
endobj
2701 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 610.665 null ] >>
endobj
2702 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 599.706 null ] >>
endobj
2703 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 204.944 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 588.747 null ] >>
endobj
2704 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 2690 0 R /XYZ 79.37 552.266 null ] >>
endobj
2705 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 498.297 null ] >>
endobj
2706 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 172.067 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 487.338 null ] >>
endobj
2707 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 161.108 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 476.379 null ] >>
endobj
2708 0 obj
-<< /D [ 2653 0 R /XYZ 79.37 124.441 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 465.421 null ] >>
endobj
2709 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 94.351 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 454.462 null ] >>
endobj
2710 0 obj
-<< /D [ 2653 0 R /XYZ 81.145 83.392 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 443.503 null ] >>
endobj
-2652 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+2711 0 obj
+<< /D [ 2690 0 R /XYZ 73.209 432.544 null ] >>
endobj
-2714 0 obj
-<< /Filter /FlateDecode /Length 3282 >>
-stream
-x\Ɏ#WCFp
-T h>?8J1g"2##3u׍ӿ_$sV ~q_,0-oF Ƶ/+\~rn爯o#R|Yyi#@0]D˿+o\{oFzNh&N$&>g*s]6k>A$˺Z!%]-JOsU]3nh8@끥gR󚥤cۑHP_3kњ@6k܌
-~A]E=SL 7R..
-{[b%1UX,Uvf[PٗrEj&\@)]ja@'ے\rW%UKy\hD %,rWe]~%g_~_$
-ƍP4:sr|> ~T|?Z_󦎁b
-qk:V %7'N;zͳN 2JE߁R_֭`T`[JR:'@g ?'OHhP[ҍzٟ{F:wf)ܓn9TZ^+^p_(֊QTm٥G=gz}4 bEXJ|~amS"@"%P +&tY aJNP0դQhf)9Cb fV9FZU%3K\F䱹6R*Y }f 1mHCI#V %GJS|hd?$׮W2 kͬR-d0UG^bq% WqG\Q `|2H{w΃eK/x petX ^Fc`r|
-8yO<z
-O)gBّtI#ðeڗw:&砖Y$>r!19aJԿ J˔"ޕ0݁1{!ς,v^;R=  ڭzt^ԢM> 깫׾Ya_ 4SZAZ8HLk: 9>mV5J{2˿<N)˽g5tKɭVRMd 2F/^vE#%jy0q1|ng)mugCgTcu+]ʹe.`Oz"2WvpIֵ6Qmo t'oebU.aNKbeu )$ɞ^
-kYdxqrgP99bCN֖.<WjXF`ɏk`/2(Fqh.LpH࠷FZ~f6JU{$U rRy3 xn;L ";>$0'bRxtvpFx XJj9m;]\{vT􆃐svC
-zJo6' XQŵ@v6/P٫viQ"6y'*<W3=URSZ!K_@3ڒGJaۘO][ZۏzMxsTSX +,iCH\*mSjJ _П+-v{BYP Q[z'j=FߖFnj ||v%yW/ׇ_3S2Yږ[GJM /J$gޜ,o"
-endstream
+2712 0 obj
+<< /D [ 2690 0 R /XYZ 73.209 421.585 null ] >>
endobj
2713 0 obj
-<< /Type /Page /Contents 2714 0 R /Resources 2712 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2690 0 R /XYZ 73.209 410.626 null ] >>
+endobj
+2714 0 obj
+<< /D [ 2690 0 R /XYZ 73.209 399.667 null ] >>
endobj
2715 0 obj
-<< /D [ 2713 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 388.708 null ] >>
endobj
2716 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 377.749 null ] >>
endobj
2717 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 366.79 null ] >>
endobj
2718 0 obj
-<< /D [ 2713 0 R /XYZ 79.37 724.086 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 266.707 null ] >>
endobj
2719 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 670.578 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 255.748 null ] >>
endobj
2720 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 659.619 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 244.789 null ] >>
endobj
2721 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 648.66 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 233.83 null ] >>
endobj
2722 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 637.701 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 222.871 null ] >>
endobj
2723 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 626.743 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 211.912 null ] >>
endobj
2724 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 615.784 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 200.953 null ] >>
endobj
2725 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 604.825 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 189.994 null ] >>
endobj
2726 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 593.866 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 179.035 null ] >>
endobj
2727 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 582.907 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 100.552 null ] >>
endobj
2728 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 571.948 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 89.593 null ] >>
endobj
2729 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 560.989 null ] >>
+<< /D [ 2690 0 R /XYZ 73.209 78.635 null ] >>
endobj
-2730 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 550.03 null ] >>
+2689 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F83 294 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R /F81 257 0 R /F75 218 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2731 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 539.071 null ] >>
+2733 0 obj
+<< /Filter /FlateDecode /Length 2533 >>
+stream
+x[n$7KU<AF1Pf8#'W{hagG?E2g'q?q1./F Ƶ|{sߟxe=߭XF
+rIGA_)PTK_s?֜??ks" ; [Q )p+upOӽt:)g̊cɊjE2-Gc^PŬʯ;_ x&5#) 4'Qܪ`LVt/:Jfu s/xKnqB=+@If<#zKAw.ΛB g yI@^F̸NG{~>U(d`c9CXZRt
+N
+F$6x,YGy;AYaMv޾&XFaita5%!p5#)G!w3s zbrMN9aol&̯}` Abr. jbt3}:Du`|V?ݣ_CD}7Zy1.RBe*KxP4xAz$3g{BS$G =FץTk:ۡit(gvKy^%\6(鹷P#;u&5 PyL sү+ ];:*lI$,l ׳1y
+~U7B
+As>s<Eu14%$9v{
+e6Ê$ h֩BK({A3ZIF4U a%c)Jxt\PlpmxYCVu!͒6mUޣMS%0Ϊ_fԉr͉ͰT9
+;Ms
+"4dz01z
+b<L4+Ig9(InMCK0SeҊ
+ZqmHd]z{ qq&G_ ԋ#p03_
+%2CLngAU38qgzwa]|k\M(ñg\U:|[+((ջZ* cJ҇u [ӝB @y^n~)Tl*|Ia7Y-m^r qHr%ۤG a
+S fzf BݨP{0::B4EV0/Ǵ3't*X>WSok`{I}]DyU1nzz;HC`*43LA
+2,TimY2``Ჶ{N1f:EOvs5/m}# zEΛ]~L5&_[{A\|ARnE[IV2p)⫥x^Kj{]\=P*pZ?H&q_qfA|X"i^, ARSȿ@2cU]X㦠׸ to(허
+w$5ũ
+\+X{ޕ| ALxj *Ё{>޽"0|3W:Ӿ{m;l(FTCBnjaęNҮ</ ـ?}3ao6
+endstream
endobj
2732 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 446.81 null ] >>
-endobj
-2733 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 435.852 null ] >>
+<< /Type /Page /Contents 2733 0 R /Resources 2731 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2734 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 424.893 null ] >>
+<< /D [ 2732 0 R /XYZ 78.37 808.885 null ] >>
endobj
2735 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 413.934 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 768.829 null ] >>
endobj
2736 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 402.975 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 757.87 null ] >>
endobj
2737 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 392.016 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 746.912 null ] >>
endobj
2738 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 381.057 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 735.953 null ] >>
endobj
2739 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 370.098 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 724.994 null ] >>
endobj
2740 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 359.139 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 672.192 null ] >>
endobj
2741 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 283.877 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 661.233 null ] >>
endobj
2742 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 272.919 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 650.274 null ] >>
endobj
2743 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 261.96 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 639.315 null ] >>
endobj
2744 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 251.001 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 628.356 null ] >>
endobj
2745 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 240.042 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 617.397 null ] >>
endobj
2746 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 229.083 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 606.438 null ] >>
endobj
2747 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 218.124 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 595.479 null ] >>
endobj
2748 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 207.165 null ] >>
+<< /D [ 2732 0 R /XYZ 79.37 519.958 null ] >>
endobj
2749 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 501.823 null ] >>
endobj
2750 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2732 0 R /XYZ 79.37 465.156 null ] >>
endobj
2751 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 447.021 null ] >>
endobj
2752 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 436.062 null ] >>
endobj
2753 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 425.103 null ] >>
endobj
2754 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 414.144 null ] >>
endobj
2755 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 403.186 null ] >>
endobj
2756 0 obj
-<< /D [ 2713 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 392.227 null ] >>
endobj
-2712 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R /F75 330 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+2757 0 obj
+<< /D [ 2732 0 R /XYZ 73.209 381.268 null ] >>
endobj
-2760 0 obj
-<< /Filter /FlateDecode /Length 2474 >>
-stream
-x[$7+"#x oW $HΎr<U5S 2n&.߽+,X}@9j(yAJ}RHi%}O_ ݵ;^;yC(WNXdz(J)է/GBL @-BQxN B&je|&yf#4G`DQ3|I:xb"34`s ]87gژr&4[/ZnwvY
-'!T*s?A==QXt^ xqLo\꓌]ֹs[Of`k8 ;1+
-!35 sWv#, j
-M+4}KeBBr(b2_W)X{6Xaֳ7)}Y
-<_fjFWxd7yAb7O-'8@UZdbn*d'.2'sf:SV't\.R(<~ۇĥ\ٯ-[.Ȗ$ǝzO|ckR*Lcs9 fi91xibl~['MDh˒vUywNɰI(]4ph73d"=uaoeU}x F!&F$ 5KkUTM2^_­0`}&Mv<#O᫖{^&n&,4
-/^_9>
-1I>[1& +;SKbe.`i?Xҝru^RrZP \9q.&9
-endstream
+2758 0 obj
+<< /D [ 2732 0 R /XYZ 73.209 370.309 null ] >>
endobj
2759 0 obj
-<< /Type /Page /Contents 2760 0 R /Resources 2758 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R /Annots 2806 0 R >>
+<< /D [ 2732 0 R /XYZ 73.209 359.35 null ] >>
endobj
-2806 0 obj
-[ 2757 0 R ]
-endobj
-2757 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 271.591 246.868 284.111 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+2760 0 obj
+<< /D [ 2732 0 R /XYZ 73.209 348.391 null ] >>
endobj
2761 0 obj
-<< /D [ 2759 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 337.432 null ] >>
endobj
2762 0 obj
-<< /D [ 2759 0 R /XYZ 79.37 708.251 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 326.473 null ] >>
endobj
2763 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 690.117 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 315.514 null ] >>
endobj
2764 0 obj
-<< /D [ 2759 0 R /XYZ 79.37 653.449 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 304.555 null ] >>
endobj
2765 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 635.315 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 293.596 null ] >>
endobj
2766 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 624.356 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 282.638 null ] >>
endobj
2767 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 613.397 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 271.679 null ] >>
endobj
2768 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 602.438 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 260.72 null ] >>
endobj
2769 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 591.479 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 249.761 null ] >>
endobj
2770 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 580.521 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 238.802 null ] >>
endobj
2771 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 569.562 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 227.843 null ] >>
endobj
2772 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 558.603 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 216.884 null ] >>
endobj
2773 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 547.644 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 205.925 null ] >>
endobj
2774 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 536.685 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 194.966 null ] >>
endobj
2775 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 525.726 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 184.007 null ] >>
endobj
2776 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 514.767 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 173.049 null ] >>
endobj
2777 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 503.808 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 162.09 null ] >>
endobj
2778 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 492.849 null ] >>
+<< /D [ 2732 0 R /XYZ 73.209 133.198 null ] >>
endobj
-2779 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 481.89 null ] >>
+2731 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F81 257 0 R /F83 294 0 R /F75 218 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2781 0 obj
+<< /Filter /FlateDecode /Length 2542 >>
+stream
+x[n+! 
+혔kH?/~E3gЪz^@äf`U
+} xҫ= fùq4S~<[$sV 4#$0T ]Ye0.b\NJ%V4ښ% Ixqm,
+ri, aQp@%*`KizM
+@o5ȱedO Oc&9ri̖G8ͨL=dT1R*jbXoXkL ͚ 62B aZ 'ȖRjWఫG`}LKsPkPLDw8
+Xk)ͪǡ)_ 9^#D2F
+Ll~y%'{ vOoO)^eNא\LH)@F))y֔nuy_/Kvֳ_h4&~q}5u|_fLi=eJ-}irKsdp:=T<;RfP9/#񺹕M O<?YL٘ rt3p&ߝM[nfd>MoPcT𴤨iSpM_VkJ], nPFPu$ Zb?Ji1ue9$gѐYC|*cKɶѳlg2U Wd_ c332}5Ryʤ;B m5 o qS~1ą;F{#
+!IRVTe3Ni-j :i-;BrT'`}~xmbk'ZyG*abJWB& mv.[J
+
+YK9ҤZ|0PzrJz-\qA>83
+
+|a`FU/_hQ11D{0 %=kCrȱ~bW1~zĢ?ٿ+,G+h;q)GKt[5de*M];~˯tPÃHOI^ZD!@&$#AbhT"K5|f<×l6+m{rLa(r='ߡC  7,p)Ȼnf8˳Cvh$4Fbkᙎ38V3rg
+endstream
endobj
2780 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 470.931 null ] >>
+<< /Type /Page /Contents 2781 0 R /Resources 2779 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R /Annots 2831 0 R >>
endobj
-2781 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 459.973 null ] >>
+2831 0 obj
+[ 2730 0 R ]
+endobj
+2730 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 745.828 246.868 758.432 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
endobj
2782 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 449.014 null ] >>
+<< /D [ 2780 0 R /XYZ 78.37 808.885 null ] >>
endobj
2783 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 438.055 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 743.056 null ] >>
endobj
2784 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 427.096 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 732.097 null ] >>
endobj
2785 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 416.137 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 721.138 null ] >>
endobj
2786 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 405.178 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 710.18 null ] >>
endobj
2787 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 394.219 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 699.221 null ] >>
endobj
2788 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 383.26 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 688.262 null ] >>
endobj
2789 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 372.301 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 677.303 null ] >>
endobj
2790 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 361.342 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 666.344 null ] >>
endobj
2791 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 350.384 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 655.385 null ] >>
endobj
2792 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 321.492 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 644.426 null ] >>
endobj
2793 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 268.69 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 633.467 null ] >>
endobj
2794 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 257.731 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 622.508 null ] >>
endobj
2795 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 246.772 null ] >>
+<< /D [ 2780 0 R /XYZ 79.37 585.858 null ] >>
endobj
2796 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 235.813 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 565.015 null ] >>
endobj
2797 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 224.854 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 549.335 null ] >>
endobj
2798 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 213.895 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 509.744 null ] >>
endobj
2799 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 202.936 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 495.926 null ] >>
endobj
2800 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 191.978 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 484.967 null ] >>
endobj
2801 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 181.019 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 457.331 null ] >>
endobj
2802 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 170.06 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 446.372 null ] >>
endobj
2803 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 159.101 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 408.644 null ] >>
endobj
2804 0 obj
-<< /D [ 2759 0 R /XYZ 81.145 148.142 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 397.685 null ] >>
endobj
2805 0 obj
-<< /D [ 2759 0 R /XYZ 93.716 103.452 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 386.726 null ] >>
endobj
-2758 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F81 358 0 R /F83 403 0 R /F75 330 0 R /F22 357 0 R /F59 338 0 R /F84 404 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+2806 0 obj
+<< /D [ 2780 0 R /XYZ 73.209 375.767 null ] >>
endobj
-2809 0 obj
-<< /Filter /FlateDecode /Length 2224 >>
-stream
-x[n8+EFp
-2 ٷ\gN.
-DnCZD>XH_w?^n/?
-nfx\Wj
-FRT
-L7YPҏ\(D]y ]M7 I I+s-PU/Eň:Vֈ_]<ur4$B c]BEJd1eʣ8^Yo2Yfՙ"¸ީ!ZύI%4>5> T-Qs3^[ì& 8s6 v jL;0v}ԃnY<QN<]qi+)M0=hGףsh>rJsLn:j ^TuJ=ж"d!ₒz/~R3CD#/s3D諫Wތ|K6^ɉJ
-B,5p*+vf٨t&֔q_ǃ_w픪{Usth;&rxkQ))a&_Ps)7 >;1@kn޸lMXy_mJ
-cVǾܚo,%.OgB9e.G7NZQFf˃%J>Uˑ[cig e5E h53 ÑY_HPkhkn:'7spyyaT@EWgՒ!*1zύH((<_eFn)ME|pP(Q}}4"u]r$0)!G&upIe(.VTz;5c6ձH)kIh.4L8R=P# sqN[)z~LyIyK#yg&KgY
-lE2ao4+oLFv+1B]C%98Sf0 }#fZij[3Iw=LSSyR&J2#iFw@3K82!v+yІdlcPKaږjy)FNr!=Hnk\jZF0C+Ra.+]:)7v"]#ʭ]ΦLZ%#<.[acX!d{4ۀp5NYק$yU EPίS| :i$c)srdKGjA(MzԸQK$i2\n%V25
-g=k[ *)Hc܂f
-Iܚ,46g$Jԋ}I'º1^beK٪ 'KVq]r2C4Fc@*hVS4M8˼SLf9]~D$W"ȥ@
-yx84i 1]ݒ8v <4b=E; _a,Zjlu
-侮j%e%%S"mOܨF 2@2xn0~Y<@VvS=~1=3s
-endstream
+2807 0 obj
+<< /D [ 2780 0 R /XYZ 73.209 364.808 null ] >>
endobj
2808 0 obj
-<< /Type /Page /Contents 2809 0 R /Resources 2807 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2780 0 R /XYZ 73.209 353.85 null ] >>
endobj
-2810 0 obj
-<< /D [ 2808 0 R /XYZ 78.37 808.885 null ] >>
+2809 0 obj
+<< /D [ 2780 0 R /XYZ 73.209 342.891 null ] >>
endobj
-269 0 obj
-<< /D [ 2808 0 R /XYZ 79.37 771.024 null ] >>
+2810 0 obj
+<< /D [ 2780 0 R /XYZ 73.209 331.932 null ] >>
endobj
2811 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 751.43 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 320.973 null ] >>
endobj
2812 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 735.489 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 310.014 null ] >>
endobj
2813 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 695.639 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 299.055 null ] >>
endobj
2814 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 681.691 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 288.096 null ] >>
endobj
2815 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 670.732 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 277.137 null ] >>
endobj
2816 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 642.837 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 263.319 null ] >>
endobj
2817 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 631.878 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 252.36 null ] >>
endobj
2818 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 594.02 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 241.402 null ] >>
endobj
2819 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 583.061 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 230.443 null ] >>
endobj
2820 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 572.102 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 219.484 null ] >>
endobj
2821 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 561.143 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 208.525 null ] >>
endobj
2822 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 550.184 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 197.566 null ] >>
endobj
2823 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 539.225 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 186.607 null ] >>
endobj
2824 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 528.266 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 175.648 null ] >>
endobj
2825 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 517.308 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 164.689 null ] >>
endobj
2826 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 506.349 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 153.73 null ] >>
endobj
2827 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 495.39 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 142.771 null ] >>
endobj
2828 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 484.431 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 131.812 null ] >>
endobj
2829 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 473.472 null ] >>
+<< /D [ 2780 0 R /XYZ 73.209 120.854 null ] >>
endobj
2830 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 462.513 null ] >>
+<< /D [ 2780 0 R /XYZ 93.716 89.795 null ] >>
endobj
-2831 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 448.565 null ] >>
+2779 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F16 216 0 R /F59 226 0 R /F84 305 0 R /F22 247 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2832 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 437.606 null ] >>
+2834 0 obj
+<< /Filter /FlateDecode /Length 2277 >>
+stream
+x[Ɏ#)W
+{ϻU'l,Rst-x\Bl=4wUVZ,&4=WNB/'4PM9P50X&>6O dD$RCn#!N5)Q",=:S2 SLl}^ͽ p*Oi=>[eG?[|PzA& /Sp^T )yNi< ̄/|dW9Z 'ܬ Τh>UjL } $i"dxw'Wy5hȳ0iN]kھ: o`ޣGIǼ&liE3_{F~CM_"BiwciDT?a@HYQ@߭ FL>|E͇h 32N"SIdK\v܂
+XlܓsK
+`vDcO ,yckD dޒ%3]/9){_̵-1zm#i#œ\cH6ZlG;bQdcw@ۜWlۦ~'s<'sh 3Rd0wH
+{S#NB
+s2F2F(9,[4GN!%e\WEwvf>TXu;N0=PE#Օ)}^ʣ<IQI_V˝Y6%Ak ^b PGg~dwH$d(s$C:hYq]^PQʹj9pI)픔-Pr&SRKK*KY !]mcw@󒨅3n )_2=ufx$ 6&yQB0OF&Hgkq,>֢& Du;$KSS5O~x竝vijմϚRI()SNnvHacKצ<X98i >6 .}&}?jS_I`(,̮C*jѫ*qJA53Ǚ5>9_6A0)TLN9ȤԀl-׀-JU`{^ZВ)?JQ3- ;8{X:QQ`]&f2{ĘLi SBKQ)fH9rlǥJ;FǭoADVPJhob5Ru14-對hlnZY6 fK,/-d;eg
+i(_Z ZNS$dP򛄝~;f\΋Ɔ* سpHY MkaCڢ<4'ĸR٬Ai?jWUk6#`s lo؂D<
+ҤESmh‘M"1zL ބ]
+ AvPHGMLӓA}-Z>Ɂ/+XC*"+&tܞy((CLAc*>?Ϻ%vO:—;}3 ;Z=N^Ҭ(}ЮƶhQU8}pܜYˬ^T;r*/P [ԁ@S}jMaL̃-wHL奏e~FQ)MK~Bj\Zv@[NvJ^a)kO <9 Wp?.ݡC^k&Tq-_B
+ev+׽|kQ?7>{Ŭ.-,W2dg@ 
+[1_*f8%.Px9Q o[J4.S[S|$慴ܻ5&LvL2Y;?Kd'&,1& Nfu[u a#DLËlʽd$L*CE
+H9u>
+s&[w.*S, 5;On6/2+
+endstream
endobj
2833 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 426.648 null ] >>
-endobj
-2834 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 415.689 null ] >>
+<< /Type /Page /Contents 2834 0 R /Resources 2832 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2835 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 404.73 null ] >>
+<< /D [ 2833 0 R /XYZ 78.37 808.885 null ] >>
endobj
2836 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 393.771 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 768.829 null ] >>
endobj
2837 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 382.812 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 757.87 null ] >>
endobj
2838 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 371.853 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 746.912 null ] >>
endobj
2839 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 360.894 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 735.953 null ] >>
endobj
2840 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 349.935 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 724.994 null ] >>
endobj
2841 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 338.976 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 714.035 null ] >>
endobj
2842 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 328.017 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 703.076 null ] >>
endobj
2843 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 317.058 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 692.117 null ] >>
endobj
2844 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 306.1 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 681.158 null ] >>
endobj
2845 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 295.141 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 670.199 null ] >>
endobj
2846 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 284.182 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 659.24 null ] >>
endobj
2847 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 273.223 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 607.435 null ] >>
endobj
2848 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 262.264 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 596.476 null ] >>
endobj
2849 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 251.305 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 585.517 null ] >>
endobj
2850 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 240.346 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 574.558 null ] >>
endobj
2851 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 229.387 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 563.599 null ] >>
endobj
2852 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 218.428 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 552.64 null ] >>
endobj
2853 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 207.469 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 541.681 null ] >>
endobj
2854 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 196.511 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 530.722 null ] >>
endobj
2855 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 185.552 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 519.763 null ] >>
endobj
2856 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 133.746 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 508.804 null ] >>
endobj
2857 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 122.787 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 497.846 null ] >>
endobj
2858 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 111.828 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 483.898 null ] >>
endobj
2859 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 100.869 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 472.939 null ] >>
endobj
2860 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 89.91 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 461.98 null ] >>
endobj
2861 0 obj
-<< /D [ 2808 0 R /XYZ 81.145 78.951 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 451.021 null ] >>
endobj
-2807 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2864 0 obj
-<< /Filter /FlateDecode /Length 1930 >>
-stream
-xZɎ6WCwр5ܷ )\D Fj|(Q"/_Cڋ 0Ͽ؅b(qъRm)֟?z0a79EI0J]Cxv i%%BKZ Hj$$Hw%ǕZ^[oI5)K$~A)s؂\% "8 n&>MZ aNݖUB5juI&
-w-oVZJˉ29~U@2vj%)(I7K"!+MjFfM5Xh{A*!ʎlbvWXŷhj#ߛz`IYӝH9KEaLz%R[Nzu-a2n=DŎ%Rc1ܠYp',1Y83^2[߶`Ƽ.@Y[,09IX 1e*y~=Z"u:2GȺ,+՘=${"GJT&h t&:|-Y .[=Ӌ-yD^}$ހi/"8Fg\~d|p?鎁X&cpqU}Z7UHfB:r؏/пX\ώS'N],*BnomB0/bRIXI\i=@$~{g|~I>s}YZ۴itBskƕ\H+~G
-?dW;R0M%Z H+z gS䑳q;!IBX~0yΚYS[EpN EZsڊ=Ul:O[JKUy~k%Dαwo8"0/*OxLJr Y)@8oV=g3kbgY!Ϥ0WKS*+qmk=qaE>CU_hÃk|{>~ܱ9n>B쫰|77<ƍ%BN<V!z]{ݖH bO~a-{3,k}S Sg&m}GaUG >*P=O M^ ~<E̳}rc7T*@~ck} $
-"w'
-[?,I3̯6F_d<㌣ksSnҀv
-DlӤU\]UŸ!ɦbk-vɅpTt8镨Oh&nV^,u|Pzk*k
-tkCJ goed䑄o{nBKZNj0k?O%M!FmHIfݴ&ÿX _ 펧uzK
-endstream
+2862 0 obj
+<< /D [ 2833 0 R /XYZ 73.209 440.062 null ] >>
endobj
2863 0 obj
-<< /Type /Page /Contents 2864 0 R /Resources 2862 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2833 0 R /XYZ 73.209 429.103 null ] >>
+endobj
+2864 0 obj
+<< /D [ 2833 0 R /XYZ 73.209 418.144 null ] >>
endobj
2865 0 obj
-<< /D [ 2863 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 407.186 null ] >>
endobj
2866 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 396.227 null ] >>
endobj
2867 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 385.268 null ] >>
endobj
2868 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 374.309 null ] >>
endobj
2869 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 363.35 null ] >>
endobj
2870 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 352.391 null ] >>
endobj
2871 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 341.432 null ] >>
endobj
2872 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 330.473 null ] >>
endobj
2873 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 319.514 null ] >>
endobj
2874 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 308.555 null ] >>
endobj
2875 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 297.596 null ] >>
endobj
2876 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 286.638 null ] >>
endobj
2877 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 275.679 null ] >>
endobj
2878 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 264.72 null ] >>
endobj
2879 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 253.761 null ] >>
endobj
2880 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 242.802 null ] >>
endobj
2881 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 202.951 null ] >>
endobj
2882 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 191.992 null ] >>
endobj
2883 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 181.034 null ] >>
endobj
2884 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 170.075 null ] >>
endobj
2885 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 159.116 null ] >>
endobj
2886 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 2833 0 R /XYZ 79.37 136.403 null ] >>
endobj
2887 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 118.269 null ] >>
endobj
2888 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 2833 0 R /XYZ 73.209 107.31 null ] >>
endobj
-2889 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 513.786 null ] >>
-endobj
-2890 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 502.827 null ] >>
+2832 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2891 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 491.868 null ] >>
+<< /Filter /FlateDecode /Length 2140 >>
+stream
+xZr6 ̎gYofRˤM_ޛ)l˒x p
+S 2g&,)HL`Y@ 2H"SS
+>"@\~RʏLսs:S-q.W\G̲7z*R3
+~.Ye3ʅNwA&UtHw2PL8YGT處9ǐhg7!NE 'dym_gO}S ) zW|sJe|JeHmE >[KX~|8%Z+@c$_Z˫^vfu+X5h
+kÈw+YWEg]KœœQVlsAr~'1OY X
+LqY!4fLTV^Sެߒ^[HJ'QZ*aY@*hzJ"CJI
+o;A>fe_R57[6^jRN3m($Jq,غ#׼ŞuYŌ쩅 匤>vªᯢ:'~i`MBi$sBI`~oFfԭEVDrMIeQP0kH~&HpL%ֻJl>1AV?@m|gNltKD9ū(#R 7!YYD:IkhvES|tKqiOh Jε5'TQgt!4S!jݣJk%4qKdc d"@v`܈b}Vk?RD\ 3lǶf{ٙb^?$-~9&2+6VҺ*>GVT.[QJ46=Z\fxsͼ9݅8G5
+RnOo Ȇs51
+{:eCW"1b$kQsN{0k}ZC ~ѷ6'ef\1ۻ_Z(`FJ؋Ԗ/Rg5f70Lv;}v@{ru[fqnpr˛&m4*2NȑtA~=eUע/r)HJ*rL]SU5:;0'WLZ&J?<p<T$R0jFY<xvttNL@~fd]'"I`&nXP9+fry;_љ$EEu.wAJd29F #*c{z걪ZflS͌@bڹ'
+FRؑ[86g}[-NDꕒEjK# KY=$54zFZ2/i)$w҉_@J4LӅnP>ǝmоznqL=f7}1iϷ@@2'TF +lBm#q/09V$cRHHNd
+](ǥP
+b'ۘ9M@ymu~ZlT3q h,I{9@?|*0`vIg3XjIHGJ̿{>crpzy# Ξ?˒@À@&8gF7^гI^8Ʉ%?\pīuFAC(wmǞHYOJfhMB.} stuh|mAmю CBnN+ ܁Kju}e ^ħ?y9lql*MsUYےZh`:]md5,:J3 Z٣l ./rOb$%mW-EI .5I^.N?NQBإ$\.aO̜iSȺ9?4
+0
+endstream
+endobj
+2890 0 obj
+<< /Type /Page /Contents 2891 0 R /Resources 2889 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2484 0 R >>
endobj
2892 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 2890 0 R /XYZ 78.37 808.885 null ] >>
endobj
2893 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 2890 0 R /XYZ 79.37 773.016 null ] >>
endobj
2894 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 754.882 null ] >>
endobj
2895 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 743.923 null ] >>
endobj
2896 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 732.964 null ] >>
endobj
2897 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 722.005 null ] >>
endobj
2898 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 706.065 null ] >>
endobj
2899 0 obj
-<< /D [ 2863 0 R /XYZ 79.37 363.552 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 673.188 null ] >>
endobj
2900 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 2890 0 R /XYZ 79.37 634.528 null ] >>
endobj
2901 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 604.438 null ] >>
endobj
2902 0 obj
-<< /D [ 2863 0 R /XYZ 79.37 285.835 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 593.479 null ] >>
endobj
2903 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 267.701 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 582.521 null ] >>
endobj
2904 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 256.742 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 571.562 null ] >>
endobj
2905 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 245.783 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 560.603 null ] >>
endobj
2906 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 234.824 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 549.644 null ] >>
endobj
2907 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 218.884 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 538.685 null ] >>
endobj
2908 0 obj
-<< /D [ 2863 0 R /XYZ 81.145 186.007 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 527.726 null ] >>
endobj
-2862 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2911 0 obj
-<< /Filter /FlateDecode /Length 2628 >>
-stream
-xڽ[K# ϯXDR/1@{^ &]U.79xV(_?~ܼ ~
-Mݬho(!R'%>~F>RJ
-x}h{)#ׯ.
-
-*tҎ&K!/4RY슊mu4G"qIfKf| m0-M
-?gЉ7)^'D9f9@+K@ct=o7J$AU1 d)Y?Sҟm'C~P,%hO dO$A`%k<1H:~TuMp]
-#!WpRR6##4 7jZ7jZi?6S O` hM#u+<kPeKv#B#qגG(q:B#]Ѻ&J?{<gp"‚8]&BWVtSWSo:ϚL9_Gmͬ:T ]paxd$851=;|6D!c\fUӞ^YKѸx]aT(FAg`V2޿gu©inJ$iG M U \=i|f 7C<
-im<+vs{|?S_>D;ϒ Nb7eTFѨ|S쥗y7eSTuGU=T/DRY DX'uc;HESG.'-`F8سmr.#;mhe
- E1۟dqIb%>F=F]o>˙ [nϱd{I3YOb;Z}gv]pv*2U$;W.&j:7*Q'h%OʊYG%
-Źqn)]8굜GOMI$šiix -i^X0HeIIlS䦐zn
-{fߡB3E&)i6QuY4zB^L9: >{)X7Dk!y$h.b$y2jhsul '"
-Ь>u6kH}CԛrepL  
-X#^桐BG
-ɭi""z뾝j$^ßi̔K~9/euZ-dW?D %J!~gNbM!'b m@s)&M7 AnΓK
-LL'/`ptkZI5|+<|^ }D2x_L2V5:0 C}5oYH.[w0R$ y3F( 3 $qr1D +8\e˜M!
-YF>}iurW?RZ׃!bQH jyKxtqWoxDd@c+h#}KW(S9L+ikmPu>CnnU\["o>SIl&sĠI I
-QǙ@4N.9epF3v6/Wjs@=}4Oںn\K~l9c-0ʲǚVD^o-!mr@i"ą|eh!9^/\$lފHϢE:Q#oW#~hX6'Yc% 6VJk} s`2%,JN~-PřAUj}ІjofWRb嫖Ңiou4P@k鳔rZ8#<'fL3Jwg ת2]?K(¢扩e`x[E Fz@jiWL^nT–GRA>ϽF#!
-[[P| e/5
-VKۅ}SԸ4iU[A(Jh3UsDkB-Z5C]Cg@bw|ŊM}/_T~MR
-gv{^ċMNe@뎚/
-endstream
+2909 0 obj
+<< /D [ 2890 0 R /XYZ 73.209 516.767 null ] >>
endobj
2910 0 obj
-<< /Type /Page /Contents 2911 0 R /Resources 2909 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2890 0 R /XYZ 73.209 505.808 null ] >>
+endobj
+2911 0 obj
+<< /D [ 2890 0 R /XYZ 73.209 489.868 null ] >>
endobj
2912 0 obj
-<< /D [ 2910 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 399.208 null ] >>
endobj
2913 0 obj
-<< /D [ 2910 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 388.249 null ] >>
endobj
2914 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 742.974 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 377.29 null ] >>
endobj
2915 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 732.015 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 366.331 null ] >>
endobj
2916 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 721.056 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 355.372 null ] >>
endobj
2917 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 710.097 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 344.413 null ] >>
endobj
2918 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 699.138 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 309.544 null ] >>
endobj
2919 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 688.179 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 298.585 null ] >>
endobj
2920 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 677.22 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 287.626 null ] >>
endobj
2921 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 666.261 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 276.667 null ] >>
endobj
2922 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 655.302 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 265.709 null ] >>
endobj
2923 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 644.344 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 254.75 null ] >>
endobj
2924 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 628.498 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 243.791 null ] >>
endobj
2925 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 538.168 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 232.832 null ] >>
endobj
2926 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 527.209 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 221.873 null ] >>
endobj
2927 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 516.25 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 175.049 null ] >>
endobj
2928 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 505.291 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 164.09 null ] >>
endobj
2929 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 494.332 null ] >>
-endobj
-2930 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 483.373 null ] >>
+<< /D [ 2890 0 R /XYZ 73.209 153.131 null ] >>
endobj
-2931 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 448.693 null ] >>
+2889 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F81 257 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2932 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 437.734 null ] >>
+<< /Filter /FlateDecode /Length 2250 >>
+stream
+x[Ko#7 WD+ xs+zmO=FKN6=xcό>MN
+p*PtI$N2'J>=¹2}uW̹9~+
+uq(y&ӽIrƹLC&VE$q! В=$"-(pgUQRyDWXh|ǧQG ) RSI1i4⛌dmϷt?Y ~e~oLp:fT)~&Ucxg$jK$՛VP0yTz`2FF xսv4$U|)Rwpy>6o> \\UހxM䫼x !yt5ॼySr +{_lB;'\t9^ /ݴELs]7nrӪM\KˏI0:Jθ~դk&|Ň$ 87Yg&tӫ{P )ƍM{]S *Xa%\+P_%_.@ wT`pq}`҃i%3'`>"+5g_=F 4 tRV3,Uy"T*X~\ *֊&F6KIGHŜx@;ŃKr_EU\8e+f"RoG<Ee>]E|)>s GXRD)bcsD!0GNb£]<q$2R4$ֈk95|s$R߫0P8GL#tg^dJ0
+&I9ˈBH+ߊ3RaQ1vxEjWc]]Y4~{!xW 1cvvڮ E]Gt(S[x\f[@T1pZ޴=Oou1[Xۼ~¤5L~yI?-ЦtGz4bH\"gC4{vbZˆB$GRۍ0JL[:YK
+Htq%JZ;]U* \K)cbxiz>i|sίcYH c,*Q MNmGi#}yWw:3-ҝ^"mB@"C}}s[&x̱d1 8 7]ծ5H#B[.Кٴ/i({@Űz~kc3®rؼQ-BC[<87UϚ7M~?\m2OW+#PRu
+U*{<#QIm[`"+\U#ľw-CS~W)^
+Ǧa!uo np!zR7ƍw\Qo |i|s7\wQ\ayA/6Pų^
+
+
+endstream
+endobj
+2931 0 obj
+<< /Type /Page /Contents 2932 0 R /Resources 2930 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
2933 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 426.775 null ] >>
+<< /D [ 2931 0 R /XYZ 78.37 808.885 null ] >>
endobj
2934 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 415.816 null ] >>
+<< /D [ 2931 0 R /XYZ 79.37 773.016 null ] >>
endobj
2935 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 404.857 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 705.068 null ] >>
endobj
2936 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 393.898 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 694.11 null ] >>
endobj
2937 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 382.939 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 683.151 null ] >>
endobj
2938 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 371.98 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 672.192 null ] >>
endobj
2939 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 361.021 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 661.233 null ] >>
endobj
2940 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 314.386 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 650.274 null ] >>
endobj
2941 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 303.427 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 639.315 null ] >>
endobj
2942 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 292.468 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 628.356 null ] >>
endobj
2943 0 obj
-<< /D [ 2910 0 R /XYZ 79.37 256.077 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 617.397 null ] >>
endobj
2944 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 606.438 null ] >>
endobj
2945 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 595.479 null ] >>
endobj
2946 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 584.52 null ] >>
endobj
2947 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 573.562 null ] >>
endobj
2948 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2931 0 R /XYZ 79.37 534.901 null ] >>
endobj
2949 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 516.767 null ] >>
endobj
2950 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 505.808 null ] >>
endobj
2951 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 489.868 null ] >>
endobj
2952 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 478.909 null ] >>
endobj
2953 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 467.95 null ] >>
endobj
2954 0 obj
-<< /D [ 2910 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-2909 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F81 358 0 R /F83 403 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2931 0 R /XYZ 73.209 456.991 null ] >>
endobj
-2957 0 obj
-<< /Filter /FlateDecode /Length 1748 >>
-stream
-xZn()*R6#ͺlgV$4Mht۟8{'=?^Nv(Uw=j3dgǫ|t `dqgcQP#i&M{X#J+Jꖤ|HI@^NZ+
-To5 y%}'5+^]x;vZװJ/@R\
-(w{@ lX@HH *&"{PomСwA[
-t͒8fi S-w.$j -O3 ?Z 2в$~YD:K #J V0!JyK.4=:Mkz~LH)xŋVٲ%ҹYȗ,'̓BM uYe]N<39goBKePlkynDŽ`}UR(2Ϋl4nMAO\jʦ
-
-24^I$r?U$ۨtz!-cx1|q})y,b'Q$V]u+%#*T0DC*嗢Nܚ$(=Kރ@#,A_,kv @Y!kPbzjmNmA n0*$r(pS1z_!-re
-<wfJeD!iئBcd% ]n#Z0ofedckd o
-{zxM  v"4*Kn=rTR}{B]ZCӲ1˖Hco%)YʰoPJTnTdoyf;h ܌EJ!I5MpMStA8m3`H
-kPJEv-){{~DA
-neſ^cтz_RPKJKw -{;f^pz vQWӁ'?L:.Ni{ҳk|M<f5d
-j WC|JkmqU 'q'2%5ךfƾ4(sye3z5 |We`S5{>'`:':y9T@8i62uO#$ԭ꛺g7O۴شBxf~EƗEӲ *$/$Z;eء^44I_]3^z$ Ԓ ʦ=phBW~j&ẻTH{UɜzYqSΩq;`٦%p}TGv$ũ*UHQYz;mν H?eP`ҧpF2A̠`mm˺ #[DZsEZvMf%mq
-[V2ҘQ z (H5xUNv"2Y'@\UGʢk^ⴐj﷮wlYdhY^'Uې﷩![6q•@^wpO1
-endstream
+2955 0 obj
+<< /D [ 2931 0 R /XYZ 73.209 446.032 null ] >>
endobj
2956 0 obj
-<< /Type /Page /Contents 2957 0 R /Resources 2955 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2931 0 R /XYZ 73.209 435.073 null ] >>
+endobj
+2957 0 obj
+<< /D [ 2931 0 R /XYZ 73.209 424.115 null ] >>
endobj
2958 0 obj
-<< /D [ 2956 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 393.23 null ] >>
endobj
2959 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 382.271 null ] >>
endobj
2960 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 371.313 null ] >>
endobj
2961 0 obj
-<< /D [ 2956 0 R /XYZ 79.37 719.21 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 360.354 null ] >>
endobj
2962 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 701.076 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 349.395 null ] >>
endobj
2963 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 690.117 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 338.436 null ] >>
endobj
2964 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 674.177 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 327.477 null ] >>
endobj
2965 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 663.218 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 316.518 null ] >>
endobj
2966 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 652.259 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 305.559 null ] >>
endobj
2967 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 641.3 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 294.6 null ] >>
endobj
2968 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 630.341 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 283.641 null ] >>
endobj
2969 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 619.382 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 272.682 null ] >>
endobj
2970 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 608.423 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 261.723 null ] >>
endobj
2971 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 577.539 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 250.765 null ] >>
endobj
2972 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 566.58 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 239.806 null ] >>
endobj
2973 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 555.621 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 228.847 null ] >>
endobj
2974 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 544.662 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 217.888 null ] >>
endobj
2975 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 206.929 null ] >>
endobj
2976 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 195.97 null ] >>
endobj
2977 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 511.786 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 185.011 null ] >>
endobj
2978 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 500.827 null ] >>
+<< /D [ 2931 0 R /XYZ 79.37 148.344 null ] >>
endobj
2979 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 489.868 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 118.254 null ] >>
endobj
2980 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 107.295 null ] >>
endobj
2981 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 96.336 null ] >>
endobj
2982 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 456.991 null ] >>
+<< /D [ 2931 0 R /XYZ 73.209 85.377 null ] >>
endobj
-2983 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 446.032 null ] >>
+2930 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F83 294 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2984 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 435.073 null ] >>
+2986 0 obj
+<< /Filter /FlateDecode /Length 1579 >>
+stream
+xZr6+ *ɶRo\S "bl[[^Ii f;_ Jwa_iH18ۃ<=<u4dWbļ
+*Hď_݋!ֿʡ{~9<t>t-~ytfxGrFDa^(ho4i]J\'DIQ9fDV@)pL H\T PPg`@!Ӕ"yrSC&<'@HUMO&M[G1jLSTH%vJ%BQu-9frHEd>e2C1C]]
+Y5]Wiyyͤ@ҙV]AeI&!iѾ~E aF˒wWrVq˥CwWF
+x4PSHV"CY[i 5xZ^_\=]fy[ňSd),OO5kYS Rd/ PT*FER )&+5&Tnd"c06*-=! :!Z2>R6[X5'>b)5F(m> G?qV SrT`7Z@Isِ.eGRN64Ka]bsӪVn6Mb58uW
+$ F<Yǟi($Ӫ>9Z, u"u싦i2BqC5VkN>~T+xNB;Y&Nt{Щ :)̫kwƣ]
+ nVz
+endstream
endobj
2985 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 424.115 null ] >>
-endobj
-2986 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 413.156 null ] >>
+<< /Type /Page /Contents 2986 0 R /Resources 2984 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
2987 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 402.197 null ] >>
+<< /D [ 2985 0 R /XYZ 78.37 808.885 null ] >>
endobj
2988 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 391.238 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 768.829 null ] >>
endobj
2989 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 380.279 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 757.87 null ] >>
endobj
2990 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 369.32 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 746.912 null ] >>
endobj
2991 0 obj
-<< /D [ 2956 0 R /XYZ 79.37 332.652 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 735.953 null ] >>
endobj
2992 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 302.563 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 724.994 null ] >>
endobj
2993 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 291.604 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 714.035 null ] >>
endobj
2994 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 280.645 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 703.076 null ] >>
endobj
2995 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 269.686 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 692.117 null ] >>
endobj
2996 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 258.727 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 681.158 null ] >>
endobj
2997 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 247.768 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 670.199 null ] >>
endobj
2998 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 236.809 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 659.24 null ] >>
endobj
2999 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 225.851 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 648.281 null ] >>
endobj
3000 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 214.892 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 637.322 null ] >>
endobj
3001 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 203.933 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 626.364 null ] >>
endobj
3002 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 192.974 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 615.405 null ] >>
endobj
3003 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 182.015 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 604.446 null ] >>
endobj
3004 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 171.056 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 593.487 null ] >>
endobj
3005 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 160.097 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 582.528 null ] >>
endobj
3006 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 149.138 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 571.569 null ] >>
endobj
3007 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 138.179 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 560.61 null ] >>
endobj
3008 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 127.22 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 549.651 null ] >>
endobj
3009 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 116.261 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 538.692 null ] >>
endobj
3010 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 105.303 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 527.733 null ] >>
endobj
3011 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 94.344 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 516.775 null ] >>
endobj
3012 0 obj
-<< /D [ 2956 0 R /XYZ 81.145 83.385 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 505.816 null ] >>
endobj
-2955 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+3013 0 obj
+<< /D [ 2985 0 R /XYZ 73.209 494.857 null ] >>
endobj
-3016 0 obj
-<< /Filter /FlateDecode /Length 1720 >>
-stream
-xZM6 ϯX$R_ @2ynE%Y.bQL8#ŏ'z'A }R?}
-Ӡ>}sU)wUʚtw9b :aB@="ub 3{3g7D?aihef,1cI#uͦ3^hB2p0clp#R򣐉 #f+jeꑬ2S&t% FQDQJ;>s:e6Jϴ?Qr`1ge=]˼iᝮt~Id'wk$kO.kˑZYqheuP{]q'J Hqd2=!~z9S֊|@"B=#2"=:29ؠ+ s{&(ݥqh[z$zҔI1~\lȳ2{ZEKZ;S);vgӸD5jÌѮxGP݂ƚ @VYVMۧ&אtԃYK*s+WZI,N^r l5̼uSVoH}e*ٮg4{ݘSL䰍>:9fsVbf;~v~^kwkfS?-th.ѼhFZ:(P4]c$z& 8SX Te3_"}'ryx i<Ο'q|3k@YqQ]%׫>{ 9.*A_#}s?㵋z}
-mgɊ,(HfëS[ט<1yf %a6EsMqХi !q4`|?:Rˆdm?why:(j
-MQ%\M66^cRS〴XA)[vTWn=RkqU-.>epWRqa]oSO){xtl?.<ʳG|8y=~5t7֥(yk:?2H} "p*Lmlsuod`ufGkU3~@L8
-sGmc0\M:̩hE8_ ӎ5dMx@DjYQhS!_3ؕHXZMY; m+~3 9o iwv爵r){o_lNSjvicZƏpb?7܅]v@sZB~YIMݛ"h7)Otu|<+(hCa>f]ٱ=;k4@MCW؄{]#y\jZebb@αCnt h2ӊ!SBRoa< 5$:jeh@h[-*c Rt:(HE`24 m"CzS "7UB4 mx,Y6
-endstream
+3014 0 obj
+<< /D [ 2985 0 R /XYZ 73.209 483.898 null ] >>
endobj
3015 0 obj
-<< /Type /Page /Contents 3016 0 R /Resources 3014 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 2985 0 R /XYZ 73.209 472.939 null ] >>
+endobj
+3016 0 obj
+<< /D [ 2985 0 R /XYZ 73.209 461.98 null ] >>
endobj
3017 0 obj
-<< /D [ 3015 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 451.021 null ] >>
endobj
3018 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 440.062 null ] >>
endobj
3019 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 429.103 null ] >>
endobj
3020 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 418.144 null ] >>
endobj
3021 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 407.186 null ] >>
endobj
3022 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 396.227 null ] >>
endobj
3023 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 385.268 null ] >>
endobj
3024 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 374.309 null ] >>
endobj
3025 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2985 0 R /XYZ 79.37 337.74 null ] >>
endobj
3026 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 319.622 null ] >>
endobj
3027 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2985 0 R /XYZ 79.37 283.054 null ] >>
endobj
3028 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 264.936 null ] >>
endobj
3029 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 253.977 null ] >>
endobj
3030 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 243.018 null ] >>
endobj
3031 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 232.059 null ] >>
endobj
3032 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 221.1 null ] >>
endobj
3033 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 210.141 null ] >>
endobj
3034 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 199.183 null ] >>
endobj
3035 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 188.224 null ] >>
endobj
3036 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 177.265 null ] >>
endobj
3037 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 166.306 null ] >>
endobj
3038 0 obj
-<< /D [ 3015 0 R /XYZ 79.37 523.943 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 155.347 null ] >>
endobj
3039 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 505.808 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 144.388 null ] >>
endobj
3040 0 obj
-<< /D [ 3015 0 R /XYZ 79.37 469.141 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 133.429 null ] >>
endobj
3041 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 451.006 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 122.47 null ] >>
endobj
3042 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 440.047 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 111.511 null ] >>
endobj
3043 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 429.088 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 100.552 null ] >>
endobj
3044 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 418.129 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 89.593 null ] >>
endobj
3045 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 407.171 null ] >>
+<< /D [ 2985 0 R /XYZ 73.209 78.635 null ] >>
endobj
-3046 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 396.212 null ] >>
+2984 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F22 247 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3047 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 385.253 null ] >>
+3049 0 obj
+<< /Filter /FlateDecode /Length 2538 >>
+stream
+x[n++.MV ,
+0$ f ]$~&ݔBג,֛gj}?\^^-9+b1.Z,_?_8R <׻eNk%!!)-%.?i*isi18zj5hM)3*Udx Ț7~("6&
+QJ%uqf"we^,$mT%Wla Al2ȁi0<~>ҟ9MM} Hx-lVcȡЎI G<R& 6%KH͜AuOA7";
+SIr8{GB=dΏm2)0k$
+y ٌUd9- ZJUyLcPy m7׶k4L<GchKkS( t شxӦ'^e(eGChpqxu20mW{ ]OW'ޕ{բPw]Ε j1[ ז ~MRlxR)U?>MR1P]
+ 'STڏp7"!blCh&jY5ٓg4}SM& 'g-rN׆eθ趃H_\p}n|7oltv:d$"Lח?E(Qu 7,Vwb<
+7Ƶ5h3iuu OhHDjӹ+O.f\; bzһ%q΢** ΢#zR{8ix0o%Y)lCԺ(`m.BS Nt(vÙͿ؎ŕ.3"SxY^%X?Ug7[ZϷyOl=i=#*.y_ 0L
+endstream
endobj
3048 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 374.294 null ] >>
+<< /Type /Page /Contents 3049 0 R /Resources 3047 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R /Annots 3101 0 R >>
endobj
-3049 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 363.335 null ] >>
+3101 0 obj
+[ 3046 0 R ]
+endobj
+3046 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 609.679 246.868 622.199 ]/A << /S /GoTo /D (Hfootnote.43) >> >>
endobj
3050 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 352.376 null ] >>
+<< /D [ 3048 0 R /XYZ 78.37 808.885 null ] >>
endobj
3051 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 341.417 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 768.829 null ] >>
endobj
3052 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 330.458 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 757.87 null ] >>
endobj
3053 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 319.499 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 746.912 null ] >>
endobj
3054 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 308.54 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 735.953 null ] >>
endobj
3055 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 297.582 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 724.994 null ] >>
endobj
3056 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 286.623 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 714.035 null ] >>
endobj
3057 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 275.664 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 703.076 null ] >>
endobj
3058 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 264.705 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 692.117 null ] >>
endobj
3059 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 253.746 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 681.158 null ] >>
endobj
3060 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 242.787 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 670.199 null ] >>
endobj
3061 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 231.828 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 659.24 null ] >>
endobj
3062 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 220.869 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 606.845 null ] >>
endobj
3063 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 209.91 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 595.887 null ] >>
endobj
3064 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 198.951 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 584.928 null ] >>
endobj
3065 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 187.992 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 573.969 null ] >>
endobj
3066 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 177.034 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 563.01 null ] >>
endobj
3067 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 166.075 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 552.051 null ] >>
endobj
3068 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 155.116 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 541.092 null ] >>
endobj
3069 0 obj
-<< /D [ 3015 0 R /XYZ 81.145 144.157 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 530.133 null ] >>
endobj
-3014 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3072 0 obj
-<< /Filter /FlateDecode /Length 2574 >>
-stream
-xڵɎ_x Yhh?[w)AwH.p+q1E䠶-K/d5q_n?0Ӡ?ބ/bCs1Z0oH9nK)龴wx߯տKѻ{jLЎI G4bSqI_KV_4s hLMRb<QlZTX ]$sV ,0HÄ[u}tXy s`{Dxbj#!/6ŧhoݒ8}po
-_r L(9b)67 ) оѥ*]pjH=Grhcd7@%4Tof
-*oqɊ:
-/eEQP'Eh_!=F3E̒(tYj 4U*:-r&<01 o1 {֠!3p.Fb*#S!*|:7DFf
-}t'5h{'2 >X D&B*r9S2dn$a_&}(T6Z[u6=#͖25hi]|lWV ;6Q7j**s9W"M%ļb KtċzLe]E~XѶLL} Qî+i9-y^p61B)\cj/D"dl
-.u&CR|ĺ_XaF-wzL
-&湜?.]5[?}}T|ek_C>W)Ŕ=B_[^.B<s$TZ~L>J8~W;eJ3# 1bqC4 **:Tůz@ɬ!k1Ŵ#yZ|
-s/r׿q=w#syg1PÀE `ɡZLD+Ha떠 _ݵ2 kWPuGzG P Zc z(Ed{/SU{0_+hWRɹ=^LWqͽcԞ~Ag^9=ԙ\YIU&6>5K֍?OU;zOc uSXDud9 #Tx[¹\AuwU6=,'?_ԕvW#]-v(&u/uDc_Ua[ymu.JYY\r]52-NÉq"W"gKZm%m6GuIK>\Cy<ȭn ">Apoau
-&x} ڎki}Z^2ҵXt ʃ*N:; J.@Nu#;im-n{tݯW -Sc|Dl"Kf5gҬQ=ZcK} >3ZwP)T=0`ijU')?9$ySGk (KZx%8ng0Fj a5bj~1 r*T%:LUGh Ghl1UcMhGj8;^QbJu'YmۺàQ]EX!Bsf t|0v*DJl1;T
-HnUz R|K' q3q@S h2^ GBi[SLE8ꡢi0?[}/Q鹞qB0_W0}x;bjzܫFvD9]<y X[CK(^voB:-/H́C<4}'h ɫ3zϊ1[EJ[?սy/oo_zGFRSy۟Ib8[d:.K>6ŗ!{|uid65) yqoRHm[3n5$ {jK@^Jfu(s4DHh4zH0 F! G7.Kmgy٣(v˙)'XHV1aRcWzͳoXJ S \ud0ji/2~ ,-
-endstream
+3070 0 obj
+<< /D [ 3048 0 R /XYZ 73.209 519.174 null ] >>
endobj
3071 0 obj
-<< /Type /Page /Contents 3072 0 R /Resources 3070 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R /Annots 3122 0 R >>
+<< /D [ 3048 0 R /XYZ 73.209 508.215 null ] >>
endobj
-3122 0 obj
-[ 3013 0 R ]
-endobj
-3013 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 757.783 246.868 770.303 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
+3072 0 obj
+<< /D [ 3048 0 R /XYZ 79.37 471.201 null ] >>
endobj
3073 0 obj
-<< /D [ 3071 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 450.359 null ] >>
endobj
3074 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 434.555 null ] >>
endobj
3075 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 383.156 null ] >>
endobj
3076 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 372.197 null ] >>
endobj
3077 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 361.238 null ] >>
endobj
3078 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 350.279 null ] >>
endobj
3079 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 339.32 null ] >>
endobj
3080 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 328.361 null ] >>
endobj
3081 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 317.403 null ] >>
endobj
3082 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 306.444 null ] >>
endobj
3083 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 656.252 null ] >>
-endobj
-273 0 obj
-<< /D [ 3071 0 R /XYZ 79.37 618.84 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 295.485 null ] >>
endobj
3084 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 597.997 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 284.526 null ] >>
endobj
3085 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 582.057 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 273.567 null ] >>
endobj
3086 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 530.252 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 262.608 null ] >>
endobj
3087 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 519.293 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 251.649 null ] >>
endobj
3088 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 508.334 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 240.69 null ] >>
endobj
3089 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 497.375 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 229.731 null ] >>
endobj
3090 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 486.416 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 218.772 null ] >>
endobj
3091 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 475.457 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 207.814 null ] >>
endobj
3092 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 464.498 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 196.855 null ] >>
endobj
3093 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 453.539 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 185.896 null ] >>
endobj
3094 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 442.58 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 174.937 null ] >>
endobj
3095 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 431.621 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 163.978 null ] >>
endobj
3096 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 420.662 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 153.019 null ] >>
endobj
3097 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 409.704 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 142.06 null ] >>
endobj
3098 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 398.745 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 131.101 null ] >>
endobj
3099 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 387.786 null ] >>
+<< /D [ 3048 0 R /XYZ 73.209 120.142 null ] >>
endobj
3100 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 376.827 null ] >>
+<< /D [ 3048 0 R /XYZ 93.716 89.795 null ] >>
endobj
-3101 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 365.868 null ] >>
+3047 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F16 216 0 R /F22 247 0 R /F81 257 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3102 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 354.909 null ] >>
+3104 0 obj
+<< /Filter /FlateDecode /Length 2390 >>
+stream
+x[Ɏ#W5HRdGnIFf%հgP#)|Ùy|;o_qY/ .sߍs#} ~>8끄pL*3"Q4~\)HHFm)0ks呃9'8iV41fh xg%i+5_Si O8ɨYx_ IW($n=xQY,XЊ`@Sʜ҄{1 Ѯ
+#)@4%ApAr ,Ґ\S\y4 Hсe80 @*G-Qjf"$ sF)n)
+Ъ|z~>|ZDQM}Cֿߓuu1Zt1G&~=뾩R*nIuqA?#N~VhSFN
+qR Y[$JP$}-Pgט~>3 zCg^@;zf+NG^(ߓF-K\3l%:'?(qP*{DKD8B0)8+طySL)A9[C>^gb
+!
+D^W҄]S>m>BK.H ^
+h?ݮ7E¨f UjfRz>o{Dvyڱv`fF̬CkL1(u_sbҳ17jJhwBNS&_RQ%.~Ι?'o![&! ֍kvL l%r4U><"
+E0Q]Dz>26.%uVj\HhAQa
+7b*&٫1JP^g] K7|sޜ-Y(QȮ?pKl}PG`VmoS(39'&< Notm  9EP.mXOb3;jC"SP+(FSJWBη?]*go2
+endstream
endobj
3103 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 343.95 null ] >>
-endobj
-3104 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 332.991 null ] >>
+<< /Type /Page /Contents 3104 0 R /Resources 3102 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
3105 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 322.032 null ] >>
+<< /D [ 3103 0 R /XYZ 78.37 808.885 null ] >>
endobj
3106 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 311.073 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 768.829 null ] >>
endobj
3107 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 300.115 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 757.87 null ] >>
endobj
3108 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 289.156 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 746.912 null ] >>
endobj
3109 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 278.197 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 735.953 null ] >>
endobj
3110 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 267.238 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 724.994 null ] >>
endobj
3111 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 256.279 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 714.035 null ] >>
endobj
3112 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 245.32 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 703.076 null ] >>
endobj
3113 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 234.361 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 692.117 null ] >>
endobj
3114 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 223.402 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 681.158 null ] >>
endobj
3115 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 212.443 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 670.199 null ] >>
endobj
3116 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 201.484 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 586.791 null ] >>
endobj
3117 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 190.525 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 575.832 null ] >>
endobj
3118 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 179.567 null ] >>
+<< /D [ 3103 0 R /XYZ 79.37 533.592 null ] >>
endobj
3119 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 168.608 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 516.334 null ] >>
endobj
3120 0 obj
-<< /D [ 3071 0 R /XYZ 81.145 157.649 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 505.375 null ] >>
endobj
3121 0 obj
-<< /D [ 3071 0 R /XYZ 93.716 99.705 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 494.416 null ] >>
endobj
-3070 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 329 0 R /F15 326 0 R /F16 328 0 R /F59 338 0 R /F84 404 0 R /F22 357 0 R /F81 358 0 R /F83 403 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+3122 0 obj
+<< /D [ 3103 0 R /XYZ 73.209 483.457 null ] >>
endobj
-3125 0 obj
-<< /Filter /FlateDecode /Length 1907 >>
-stream
-xYɎ6W!Y h
-{&<JݪijڊF"DyC]X׼<FRЦl7|fSˢB*: ߟ "Y0_={ rf
-yfE疏ԑt(o>)fYbyj E&o꫕`Sjf'hQC P~l}aaJ6Ť/E';5)Ò GPXFw0A/ά ߔ8a_^ GH2 ațܤnugCA$kX&AH&<K-6Hg ?`U&O,ǸcGi*)ِ1Vjf{^g>c8, (,nG>XGpV
-YVei
- ye`Mk1][ú`jm plϟ ul5 fV _~ ާ~( z!E+#ٔcgQg
-61;u.IP*]W<L$RNϦpȗp6]8qMJ@ӽuiRH6)y a.v[<}eZnU<q@uI6zFҚwikoc|-*;"}IT:aA!Gi |1CE
-endstream
+3123 0 obj
+<< /D [ 3103 0 R /XYZ 73.209 472.498 null ] >>
endobj
3124 0 obj
-<< /Type /Page /Contents 3125 0 R /Resources 3123 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2711 0 R >>
+<< /D [ 3103 0 R /XYZ 73.209 461.539 null ] >>
+endobj
+3125 0 obj
+<< /D [ 3103 0 R /XYZ 73.209 450.58 null ] >>
endobj
3126 0 obj
-<< /D [ 3124 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 439.622 null ] >>
endobj
3127 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 428.663 null ] >>
endobj
3128 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 417.704 null ] >>
endobj
3129 0 obj
-<< /D [ 3124 0 R /XYZ 79.37 673.39 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 406.745 null ] >>
endobj
3130 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3103 0 R /XYZ 79.37 366.766 null ] >>
endobj
3131 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 349.508 null ] >>
endobj
3132 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 338.549 null ] >>
endobj
3133 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 324.362 null ] >>
endobj
3134 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 310.175 null ] >>
endobj
3135 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3103 0 R /XYZ 79.37 277.53 null ] >>
endobj
3136 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 260.272 null ] >>
endobj
3137 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 3103 0 R /XYZ 79.37 228.742 null ] >>
endobj
3138 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 199.529 null ] >>
endobj
3139 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 188.57 null ] >>
endobj
3140 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 177.611 null ] >>
endobj
3141 0 obj
-<< /D [ 3124 0 R /XYZ 79.37 497.043 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 166.652 null ] >>
endobj
3142 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 155.694 null ] >>
endobj
3143 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 144.735 null ] >>
endobj
3144 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 452.01 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 133.776 null ] >>
endobj
3145 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 436.07 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 122.817 null ] >>
endobj
3146 0 obj
-<< /D [ 3124 0 R /XYZ 79.37 397.41 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 111.858 null ] >>
endobj
3147 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 379.275 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 100.899 null ] >>
endobj
3148 0 obj
-<< /D [ 3124 0 R /XYZ 79.37 342.608 null ] >>
+<< /D [ 3103 0 R /XYZ 73.209 89.94 null ] >>
endobj
-3149 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 312.518 null ] >>
+3102 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F83 294 0 R /F65 215 0 R /F75 218 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3150 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 301.559 null ] >>
+3152 0 obj
+<< /Filter /FlateDecode /Length 2237 >>
+stream
+x[ˎ7W&dߒ)A|%6Pڡ\|F=U|c|[`q!Z| 8&bP0by|y-տAZ[ԅs֭pN9Jj-s ]<⭾5MUp>}} =蘱أq7Y!7jq
+d )p]F^ԛejw]YQ Zn9ǯ T`9*$kKCncÙb_]*L5 T;@Q5?T&p.D>G"oN/[T)+G%F*9-p縙MJ^7m#|U2@,Q@Q父ӌE0!4C#{m:$M,v抡2CshG U,P$C?vE&<2Gf13 -ؿqMC7#an".D($**3+Ej͕޷}Ѡ%-p;85ɹf_C,^[|8=$1_M;.RQ'?@V= O2Ԩ'Iͬ*%; sR:xMu*"&[HQ2gp|u*/iɇrd\IE*@ht^-
+V3p
+5[cbmfM(`j9zTz!7LhgL3CL.P[@ek]U[kLF\s#N|Kҁ\۩MskN}9,7ƠYRd(ZW\-f5V!kSdQѢ7
+ Jdyn<].^znέ%qP(߃/ 45oM( rc,u1oq[Ϸ%~֢\ZȂO"k!,J3kvȵPL貰zawe$=±,}R 5v$r긢TټZ6Q.xQ,Mv۝RC{q4+LE*dU^L0˹\.%Xz|AϷ26Rudq&zXJ)4M܈Ѭ'l#%8[UkeBfHj˴q<xdMv$Y0b{R"C #`rrmf[Ck4}% ЛvR| YYJdڈBǣC@Ey~t\P1E3)V3&s}U] e~ZTtx9 .MRx40\GDHB% /DQA9D :,hpT:¥o=" (GLT~f:nj'dwZmrH0
+`QۑiiE+[7BѾ2+??KBFKTFw ӃCA9ꓴ}ES83`PO(~[6hGP$]fgMzgB7 - N@ݴ_%6JO@lt'}5kq_KUuO *mgU[Zb`]RH>ǁ}r롥r tpܺ^ͧxw %Mlٍh&暁ӥ.~ᄟ];NmE0!j3W
+),_Z~{%>{n<bݎoo,U Ta}qJ˒+<йrq9IT%|Ƚ VBJ^ZsC
+endstream
endobj
3151 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 290.6 null ] >>
+<< /Type /Page /Contents 3152 0 R /Resources 3150 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R /Annots 3203 0 R >>
endobj
-3152 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 279.641 null ] >>
+3203 0 obj
+[ 3149 0 R ]
+endobj
+3149 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 434.994 246.868 447.514 ]/A << /S /GoTo /D (Hfootnote.44) >> >>
endobj
3153 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 268.682 null ] >>
+<< /D [ 3151 0 R /XYZ 78.37 808.885 null ] >>
endobj
3154 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 257.724 null ] >>
+<< /D [ 3151 0 R /XYZ 79.37 773.016 null ] >>
endobj
3155 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 246.765 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 754.882 null ] >>
endobj
3156 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 235.806 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 743.923 null ] >>
endobj
3157 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 224.847 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 732.964 null ] >>
endobj
3158 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 213.888 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 722.005 null ] >>
endobj
3159 0 obj
-<< /D [ 3124 0 R /XYZ 81.145 202.929 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 711.046 null ] >>
endobj
-3123 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F83 403 0 R /F74 329 0 R /F65 327 0 R /F75 330 0 R /F59 338 0 R /F84 404 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+3160 0 obj
+<< /D [ 3151 0 R /XYZ 73.209 700.087 null ] >>
endobj
-3163 0 obj
-<< /Filter /FlateDecode /Length 2230 >>
-stream
-x[Ɏ6WL ==c$s3|J_CrE\GF.>P+(ƷO緇
-~kt~93GK,R柹2/ڂK BhdFTp0o'g&,5衖qaW8hTqZq­zY)/|*{S,~Ԃ*kKFDm_WV{?ZTnVeB7M/eXA] uP&/xMf+)p:V<2-҆1Kn.&]ZK6@dž.;v:>sSx_K>dl1??2kq/wh^Ǘy<?.GTek3(rXߠ*PR 328^ھP&&9nRmeؒmWlHB^o`U>-^Q9;!׎+kL+h&a \z.ġ-a*!2Ms`/ih▷%Keץhג$ZȰ)G˺DZ[2ey|+就<LN|e ʹkoX(dzF@2%RrN[@/ێR)5kvL/hQ\ x@iQ+ˌ
-EL[M) 3VWo:/_0i۟DS}^vo]\>kC_7xc  ]
-ϙII_%:[VHDy|6L
-,p8"vOpK*~ϸc\s^jgީ
-նd[mKMCvGamwBZD;R:~/v`΃z7Ǫg2srz5gf[30ֱ_Es>% ^;In|JZɥ.!LC,s5Vrzz_0Żť/otC/_CJzStom=>$!Vw]BE5t˜[oYaP.]j'3ċқdUo75/A;Kp?ij߫Ȏw6¥Eߗzh'Kd}l L.=X<S>B$*{A6ϨϹ_gVyb⠙9]XZL)_ OWƖ}ᙾu3m>p6>9ܕT`
-endstream
+3161 0 obj
+<< /D [ 3151 0 R /XYZ 73.209 689.128 null ] >>
endobj
3162 0 obj
-<< /Type /Page /Contents 3163 0 R /Resources 3161 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R /Annots 3214 0 R >>
+<< /D [ 3151 0 R /XYZ 73.209 678.169 null ] >>
endobj
-3214 0 obj
-[ 3160 0 R ]
-endobj
-3160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 434.994 246.868 447.597 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
+3163 0 obj
+<< /D [ 3151 0 R /XYZ 73.209 667.21 null ] >>
endobj
3164 0 obj
-<< /D [ 3162 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 656.252 null ] >>
endobj
3165 0 obj
-<< /D [ 3162 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 645.293 null ] >>
endobj
3166 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 634.334 null ] >>
endobj
3167 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 623.375 null ] >>
endobj
3168 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 612.416 null ] >>
endobj
3169 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 601.457 null ] >>
endobj
3170 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 590.498 null ] >>
endobj
3171 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 579.539 null ] >>
endobj
3172 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 568.58 null ] >>
endobj
3173 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 557.621 null ] >>
endobj
3174 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 546.662 null ] >>
endobj
3175 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 535.704 null ] >>
endobj
3176 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 524.745 null ] >>
endobj
3177 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 513.786 null ] >>
endobj
3178 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 484.894 null ] >>
endobj
3179 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 432.092 null ] >>
endobj
3180 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 421.133 null ] >>
endobj
3181 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 410.174 null ] >>
endobj
3182 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 399.215 null ] >>
endobj
3183 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 388.256 null ] >>
endobj
3184 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 377.298 null ] >>
endobj
3185 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 366.339 null ] >>
endobj
3186 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 355.38 null ] >>
endobj
3187 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 344.421 null ] >>
endobj
3188 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 333.462 null ] >>
endobj
3189 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3151 0 R /XYZ 79.37 296.05 null ] >>
endobj
3190 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 432.092 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 275.208 null ] >>
endobj
3191 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 421.133 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 264.249 null ] >>
endobj
3192 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 410.174 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 253.29 null ] >>
endobj
3193 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 399.215 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 242.331 null ] >>
endobj
3194 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 388.256 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 231.372 null ] >>
endobj
3195 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 377.298 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 220.413 null ] >>
endobj
3196 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 366.339 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 209.455 null ] >>
endobj
3197 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 355.38 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 198.496 null ] >>
endobj
3198 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 344.421 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 187.537 null ] >>
endobj
3199 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 333.462 null ] >>
-endobj
-277 0 obj
-<< /D [ 3162 0 R /XYZ 79.37 296.05 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 176.578 null ] >>
endobj
3200 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 136.727 null ] >>
endobj
3201 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3151 0 R /XYZ 73.209 125.768 null ] >>
endobj
3202 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3151 0 R /XYZ 93.716 94.776 null ] >>
endobj
-3203 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 242.331 null ] >>
+3150 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R /F59 226 0 R /F84 305 0 R /F74 217 0 R /F16 216 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3204 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 231.372 null ] >>
+3206 0 obj
+<< /Filter /FlateDecode /Length 2524 >>
+stream
+x[n8+Ew0vo-DۍW:c0iJ7Mڛ 0?_؍Tܴb*v?wsT<)P~oF JqSYKU=o$HO1}{" [+#3}Wi=89<H+`?
+# Jg20
+#O0 RpœzܦhXb-끂XkKMrW4*U˲b
+P/՚YekqhhqL A< &H)pj2l)r -*1E )Hi^xf #*Ek7RNYJJ"JUW%sW( 徯 rmޅ š޹]c:c2+\ kRpN$Ý@^WmuUv~]a/
+XfH{Fܓ2= iy/J99a#ţ1ժr;, .VY Pmo
+fbF_BƤ
+?nXoK&aYU/P\oO {*_x^˭raQ}(r.\?c*~
+r_,U-z.,#T#8фNbϪ_ls$%LZu@͑0G,6GRnyQ53,x`s}<Q}%XRAǽ Ϊ&H Pqͨg>T)ӊ+LN+<f*W]2TB*4`e4Upd劀CŮ=5
+9/jF-ń>#53ʋmΝc Jҁ'UU$?yr }LbKkh-VC.OEK
+/ tOL=Q;24'[f>J͢xt9ƴK9R>FV5"LQ?9 p^+|/YcT44fɲiC=wᐙȰJ署ېA;eYV4?sɍ&BY;y&s~"%!-Mu@p^ZD
+1ܕXU $2'RibCv.e2u
+N MO\J@Q_;5xKG4Q">֗ i}a$_:o7њաP]) Q&^]͡0^}4^ "Cٳ\ݦQК"Y B.q{DT]]<G&Q~:W\q3'Pn;?G5߽[`.sKwi@[THvWߣ׭GR*"lLD}GIi5.<**+?!0F" C,GǟF˫CV+~aJ=NEw?V91ƌsN2Œ!}a-G6bzMJر{5y5@A PƆ5WiƑr;'|7.)qyu"|M-?E%K}SX8,u^BIZ_dV別],
+endstream
endobj
3205 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 220.413 null ] >>
-endobj
-3206 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 209.455 null ] >>
+<< /Type /Page /Contents 3206 0 R /Resources 3204 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
3207 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 198.496 null ] >>
+<< /D [ 3205 0 R /XYZ 78.37 808.885 null ] >>
endobj
3208 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 187.537 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 768.829 null ] >>
endobj
3209 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 176.578 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 757.87 null ] >>
endobj
3210 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 136.727 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 746.912 null ] >>
endobj
3211 0 obj
-<< /D [ 3162 0 R /XYZ 81.145 125.768 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 735.953 null ] >>
endobj
3212 0 obj
-<< /D [ 3162 0 R /XYZ 93.716 94.71 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 724.994 null ] >>
endobj
-3161 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R /F59 338 0 R /F84 404 0 R /F74 329 0 R /F16 328 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+3213 0 obj
+<< /D [ 3205 0 R /XYZ 73.209 663.225 null ] >>
endobj
-3217 0 obj
-<< /Filter /FlateDecode /Length 2523 >>
-stream
-x[n)Cw0nٷ %z AbciJ7&Mk؍f(qӊSs[1`f7-p#$H}g~oRaxw7_x z:ps# UY>(`A.Od,)a0+zn =œr0K:X0#PPBJ)I=NQe#*bUPL
-qfa\Y"Lg!0'ex
-H(MýC OO\BxlK ZL=1k~:Z@:k]x.,)9((PēDɼ<%wC~GxhV/!#U!-EQeh,ej+Y}&GWFx>Y-X`B瀓diswajR @Ej~bߗ%juBa uWa1s.\+.ի;HnNz$XTȪ;n]Z_4&$芣܈d4ZY2JV @$j&&݄E;-cDk}_|
-4`MgAkZd2
--CPmm,4р]\Rw:@G$"~|AMT ,~n3^ H4۝.*<^|b]T"KDm]IIׅWڪi? //,ntt:^b4_W Howj=ND7?91`ҹJ>Cbg_ch</V$QH8"s^:"?IGO{2w"?YP95HW`PQk~C! S!=ҷq2 5sdT+.Ķ}@>GZQz1 ?8n*0K ?T(o ߷ r}|rX7pКa[N!>?'k^=Y׳߼c_6+`3] |z}f
-endstream
+3214 0 obj
+<< /D [ 3205 0 R /XYZ 73.209 652.266 null ] >>
+endobj
+3215 0 obj
+<< /D [ 3205 0 R /XYZ 73.209 641.308 null ] >>
endobj
3216 0 obj
-<< /Type /Page /Contents 3217 0 R /Resources 3215 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3205 0 R /XYZ 73.209 630.349 null ] >>
+endobj
+3217 0 obj
+<< /D [ 3205 0 R /XYZ 73.209 619.39 null ] >>
endobj
3218 0 obj
-<< /D [ 3216 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 608.431 null ] >>
endobj
3219 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 597.472 null ] >>
endobj
3220 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 586.513 null ] >>
endobj
3221 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 575.554 null ] >>
endobj
3222 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 564.595 null ] >>
endobj
3223 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 553.636 null ] >>
endobj
3224 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 542.677 null ] >>
endobj
3225 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 531.719 null ] >>
endobj
3226 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 520.76 null ] >>
endobj
3227 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 509.801 null ] >>
endobj
3228 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 498.842 null ] >>
endobj
3229 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 487.883 null ] >>
endobj
3230 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 476.924 null ] >>
endobj
3231 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 465.965 null ] >>
endobj
3232 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 455.006 null ] >>
endobj
3233 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 444.047 null ] >>
endobj
3234 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 433.088 null ] >>
endobj
3235 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 395.23 null ] >>
endobj
3236 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 531.719 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 384.271 null ] >>
endobj
3237 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 520.76 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 373.313 null ] >>
endobj
3238 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 509.801 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 362.354 null ] >>
endobj
3239 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 498.842 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 351.395 null ] >>
endobj
3240 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 487.883 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 325.492 null ] >>
endobj
3241 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 476.924 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 314.533 null ] >>
endobj
3242 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 465.965 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 303.574 null ] >>
endobj
3243 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 292.615 null ] >>
endobj
3244 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 281.656 null ] >>
endobj
3245 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 270.697 null ] >>
endobj
3246 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 259.738 null ] >>
endobj
3247 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 248.78 null ] >>
endobj
3248 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 237.821 null ] >>
endobj
3249 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 362.354 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 226.862 null ] >>
endobj
3250 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 351.395 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 215.903 null ] >>
endobj
3251 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 325.492 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 204.944 null ] >>
endobj
3252 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 314.533 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 193.985 null ] >>
endobj
3253 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 303.574 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 183.026 null ] >>
endobj
3254 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 292.615 null ] >>
+<< /D [ 3205 0 R /XYZ 79.37 160.314 null ] >>
endobj
3255 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 281.656 null ] >>
-endobj
-3256 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 3205 0 R /XYZ 73.209 142.179 null ] >>
endobj
-3257 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 259.738 null ] >>
+3204 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F83 294 0 R /F74 217 0 R /F81 257 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3258 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 248.78 null ] >>
+<< /Filter /FlateDecode /Length 1772 >>
+stream
+xZr9 + ʕ*9R5gߦ:sd/dCrQ*ABɞ?=}"I=y|žq<gku߬ۯd D&Epa `
+MY~wnjv-z35xE?1{Ͻ0,s\qjVOr% uf9Q\<3)vMUZ'Xb 'sU y.g/: AtG` <8Ŋ*R#lp;fSľ+Uﮋ=r-5R&Rm0>R1 {;+iwlj@j0
+endstream
+endobj
+3257 0 obj
+<< /Type /Page /Contents 3258 0 R /Resources 3256 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
3259 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 237.821 null ] >>
+<< /D [ 3257 0 R /XYZ 78.37 808.885 null ] >>
endobj
3260 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 226.862 null ] >>
+<< /D [ 3257 0 R /XYZ 79.37 773.016 null ] >>
endobj
3261 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 754.882 null ] >>
endobj
3262 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 204.944 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 743.923 null ] >>
endobj
3263 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 727.983 null ] >>
endobj
3264 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 712.042 null ] >>
endobj
3265 0 obj
-<< /D [ 3216 0 R /XYZ 79.37 160.314 null ] >>
+<< /D [ 3257 0 R /XYZ 79.37 673.382 null ] >>
endobj
3266 0 obj
-<< /D [ 3216 0 R /XYZ 81.145 142.179 null ] >>
-endobj
-3215 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3257 0 R /XYZ 73.209 643.293 null ] >>
endobj
-3269 0 obj
-<< /Filter /FlateDecode /Length 1758 >>
-stream
-xZn9+aXU,.a@
-
-y5Űkp+{`=r0?KV ṺyNwq&I Āl*ޔ7/dOT\c?ydK5Y0s[Ka
-c\2.V6,9I <a'k
-^d4bg郌rr@XZ˩]7R#]7Toz*Zv
-&Mz*MoVX|wjp@|oEĐF$rw&(56n eXcǦז
-AXBKVH{]sKk0EehvV]xC$moِDfrs}OK)lIUIT(2Yd#XۊA>STu ғJm4lI?iGbmC ;'2Y7 GO
--M.z<?
-endstream
+3267 0 obj
+<< /D [ 3257 0 R /XYZ 73.209 632.334 null ] >>
endobj
3268 0 obj
-<< /Type /Page /Contents 3269 0 R /Resources 3267 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3257 0 R /XYZ 73.209 621.375 null ] >>
+endobj
+3269 0 obj
+<< /D [ 3257 0 R /XYZ 73.209 610.416 null ] >>
endobj
3270 0 obj
-<< /D [ 3268 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 599.457 null ] >>
endobj
3271 0 obj
-<< /D [ 3268 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 588.498 null ] >>
endobj
3272 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 577.539 null ] >>
endobj
3273 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 566.58 null ] >>
endobj
3274 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 727.983 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 555.621 null ] >>
endobj
3275 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 712.042 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 544.662 null ] >>
endobj
3276 0 obj
-<< /D [ 3268 0 R /XYZ 79.37 673.382 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 533.704 null ] >>
endobj
3277 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 643.293 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 522.745 null ] >>
endobj
3278 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 632.334 null ] >>
+<< /D [ 3257 0 R /XYZ 79.37 486.077 null ] >>
endobj
3279 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 621.375 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 467.943 null ] >>
endobj
3280 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 610.416 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 456.984 null ] >>
endobj
3281 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 599.457 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 446.025 null ] >>
endobj
3282 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 588.498 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 435.066 null ] >>
endobj
3283 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 577.539 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 424.107 null ] >>
endobj
3284 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 566.58 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 413.148 null ] >>
endobj
3285 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 555.621 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 402.189 null ] >>
endobj
3286 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 544.662 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 391.23 null ] >>
endobj
3287 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 380.271 null ] >>
endobj
3288 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 369.313 null ] >>
endobj
3289 0 obj
-<< /D [ 3268 0 R /XYZ 79.37 486.077 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 358.354 null ] >>
endobj
3290 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 467.943 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 347.395 null ] >>
endobj
3291 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 456.984 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 336.436 null ] >>
endobj
3292 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 446.025 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 325.477 null ] >>
endobj
3293 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 435.066 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 314.518 null ] >>
endobj
3294 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 424.107 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 303.559 null ] >>
endobj
3295 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 413.148 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 292.6 null ] >>
endobj
3296 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 402.189 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 281.641 null ] >>
endobj
3297 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 391.23 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 270.682 null ] >>
endobj
3298 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 380.271 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 259.724 null ] >>
endobj
3299 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 369.313 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 248.765 null ] >>
endobj
3300 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 358.354 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 237.806 null ] >>
endobj
3301 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 347.395 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 226.847 null ] >>
endobj
3302 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 336.436 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 215.888 null ] >>
endobj
3303 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 325.477 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 204.929 null ] >>
endobj
3304 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 314.518 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 193.97 null ] >>
endobj
3305 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 303.559 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 183.011 null ] >>
endobj
3306 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 292.6 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 172.052 null ] >>
endobj
3307 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 281.641 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 161.093 null ] >>
endobj
3308 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 270.682 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 150.134 null ] >>
endobj
3309 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 259.724 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 139.176 null ] >>
endobj
3310 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 248.765 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 128.217 null ] >>
endobj
3311 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 237.806 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 117.258 null ] >>
endobj
3312 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 226.847 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 106.299 null ] >>
endobj
3313 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 215.888 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 95.34 null ] >>
endobj
3314 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 204.929 null ] >>
+<< /D [ 3257 0 R /XYZ 73.209 84.381 null ] >>
endobj
-3315 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 193.97 null ] >>
+3256 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F59 226 0 R /F84 305 0 R /F15 214 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3316 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 183.011 null ] >>
+3318 0 obj
+<< /Filter /FlateDecode /Length 2156 >>
+stream
+xڵZK6X.9|] { rj\C{HOۢ HOߐy3|]8wBדX8UrX#7b|~9sus'4z88捑1E&<]GEs&8H9GFA)Ό_sML vϤFQ]Dxͭ"/U  [iYB\CG8=K)_/y |u g6ޮ38
+nʀ`0u޵0 4PCMK}\qz]G{^H`ip-RV=Y TlYcRP8'TTYC95RAr3aJ9H$H[fִZ3P@7'`! 2Iae#yR)
+ [ei_##Z#DϑGRү*)3NP"SQ~w"c)J8|vVL!79k~[8Msf $5‰dI J6dshwpr9"<o5A" 4QUzDt҇6Hb$kNq+Qm, I),ؑݬ2
+iLÎ R1)KH[.#=cm;V7f`~i 4s z.i
+qasZ=l.hmrշtk*ucݮ[jmMTˬ6\ YvYlWHL/F㘅 %pٺd bhBv\1nhC]!Ӽc/w_y!6eɸFBY
+}kO|l195@TPST]fkwy8Mi(#9!Jz}Yp6L91$w#W#ʆ7kus/fqg7{@xcʊrZG-XD@$ #L
+ H~f@2PЦ
+`L6Jq{3}ke];9eOkGX
+kc#m}F3 66xGp9Q"X# 3b:~'08Cme9 ʼf'O['
+r'̇$Y t7͒C<  R?j/Iͼ#sz`EY5dF^FŸ뀞2 RrKp,7=|wʼn<<Ӥh\Qq ^>LS:j^~5|lł+e $ Ѓ*;.\,>tsYL}~cTuJqMJYOR\;I)RlL +-פ LU/No:ʘZ$TRASᘢ4 0'gU4k >kWlcR)bF+5¯ܶ.Ǖ(٥ܠcܸͧjsԉ`((*ғ6^NZ8=jZ?c`mőHn-E?
+endstream
endobj
3317 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 172.052 null ] >>
+<< /Type /Page /Contents 3318 0 R /Resources 3316 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R /Annots 3372 0 R >>
endobj
-3318 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 161.093 null ] >>
+3372 0 obj
+[ 3315 0 R ]
+endobj
+3315 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 463.885 246.868 476.475 ]/A << /S /GoTo /D (Hfootnote.45) >> >>
endobj
3319 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 150.134 null ] >>
+<< /D [ 3317 0 R /XYZ 78.37 808.885 null ] >>
endobj
3320 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 139.176 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 768.829 null ] >>
endobj
3321 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 128.217 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 757.87 null ] >>
endobj
3322 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 117.258 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 728.979 null ] >>
endobj
3323 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 106.299 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 718.02 null ] >>
endobj
3324 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 95.34 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 707.061 null ] >>
endobj
3325 0 obj
-<< /D [ 3268 0 R /XYZ 81.145 84.381 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 696.102 null ] >>
endobj
-3267 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R >> /ProcSet [ /PDF /Text ] >>
+3326 0 obj
+<< /D [ 3317 0 R /XYZ 73.209 685.143 null ] >>
endobj
-3329 0 obj
-<< /Filter /FlateDecode /Length 2168 >>
-stream
-xڵZɎ6+R܀m[ sK~?,.*[t'X ,*J}M5L[ÉE+FbǏLˁ"zX J S0E*<]yDR(21sLj$N/K$ӑb (e>cl:8R
-zQ#.PMDb_,jKc+$a$Bg*uE- Wމ:.MpFPCܵ.VMMQ8ՀYڌ.Ǽa> Jv]sR(k b+>)ܴC|<cR&c0 s2HL䨵ۜh\Lq
-Fܒ~V#ն"N-ُ{8ثY$@>uFʼ)Xp//݄zz}
-nS ~KwVpI@$A|cQ& kAWJ&/y5}ߞ %pR/U2$r
-r4mMCVjW/{dlsO\Z灙Z,k_ߦ%%-5bм;\YqLgߗp D+b0 BjOWUAߠ;LZp&VX*˪LN{g@a*I^nA\A*«'Kn\~bDaX7 JHYq"_/M鳦$Rh3un{3$jT{In ' iB~,!ЗO͢ ROBbLpf)a@ únF 2gʸ7UK2HND]"/E )H_#}!$`4ǫFznp)4r$diA)KpCTnbP|q@c`KUT4'+8M?MYȵf`M" vpy6*ohp?˨gxɩSdlܸE~<L]=u׆AC5HX
-sL) =] ؃`m[O :T{陂RI?)"4 'g+4[ >_+1QJ}p帲%b D9ﶺD0UWr%DzBm%4%G_:C ?5uN#Rϑ3+v}
-endstream
+3327 0 obj
+<< /D [ 3317 0 R /XYZ 73.209 674.184 null ] >>
endobj
3328 0 obj
-<< /Type /Page /Contents 3329 0 R /Resources 3327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R /Annots 3382 0 R >>
+<< /D [ 3317 0 R /XYZ 73.209 663.225 null ] >>
endobj
-3382 0 obj
-[ 3326 0 R ]
-endobj
-3326 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 463.885 246.868 476.405 ]/A << /S /GoTo /D (Hfootnote.43) >> >>
+3329 0 obj
+<< /D [ 3317 0 R /XYZ 73.209 652.266 null ] >>
endobj
3330 0 obj
-<< /D [ 3328 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 641.308 null ] >>
endobj
3331 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 630.349 null ] >>
endobj
3332 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 619.39 null ] >>
endobj
3333 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 728.979 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 608.431 null ] >>
endobj
3334 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 718.02 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 597.472 null ] >>
endobj
3335 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 707.061 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 586.513 null ] >>
endobj
3336 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 696.102 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 575.554 null ] >>
endobj
3337 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 685.143 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 564.595 null ] >>
endobj
3338 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 674.184 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 553.636 null ] >>
endobj
3339 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 542.677 null ] >>
endobj
3340 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 513.786 null ] >>
endobj
3341 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 460.984 null ] >>
endobj
3342 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 450.025 null ] >>
endobj
3343 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 439.066 null ] >>
endobj
3344 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 428.107 null ] >>
endobj
3345 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 417.148 null ] >>
endobj
3346 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 406.189 null ] >>
endobj
3347 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 395.23 null ] >>
endobj
3348 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 384.271 null ] >>
endobj
3349 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 373.313 null ] >>
endobj
3350 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 362.354 null ] >>
endobj
3351 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3317 0 R /XYZ 79.37 339.886 null ] >>
endobj
3352 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 319.044 null ] >>
endobj
3353 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 308.085 null ] >>
endobj
3354 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 297.126 null ] >>
endobj
3355 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 286.167 null ] >>
endobj
3356 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 275.208 null ] >>
endobj
3357 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 264.249 null ] >>
endobj
3358 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 253.29 null ] >>
endobj
3359 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 242.331 null ] >>
endobj
3360 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 231.372 null ] >>
endobj
3361 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 362.354 null ] >>
-endobj
-281 0 obj
-<< /D [ 3328 0 R /XYZ 79.37 339.886 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 220.413 null ] >>
endobj
3362 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 319.044 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 209.455 null ] >>
endobj
3363 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 308.085 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 198.496 null ] >>
endobj
3364 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 297.126 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 187.537 null ] >>
endobj
3365 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 286.167 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 176.578 null ] >>
endobj
3366 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 165.619 null ] >>
endobj
3367 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 154.66 null ] >>
endobj
3368 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 143.701 null ] >>
endobj
3369 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 242.331 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 132.742 null ] >>
endobj
3370 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 231.372 null ] >>
+<< /D [ 3317 0 R /XYZ 73.209 121.783 null ] >>
endobj
3371 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 220.413 null ] >>
+<< /D [ 3317 0 R /XYZ 93.716 90.677 null ] >>
endobj
-3372 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 209.455 null ] >>
+3316 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F16 216 0 R /F22 247 0 R /F71 227 0 R /F53 225 0 R /F73 230 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3373 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 198.496 null ] >>
+3375 0 obj
+<< /Filter /FlateDecode /Length 2052 >>
+stream
+x[Ɏ#7W& 2
+d1CH_d`I[NAV-ݻkSy"~kyUļ+nн}_s!h2VY wDS[1^D=+ӛ1"E@^٫Y n.~~z
+qdz]Ps% /p5 +x : ޼ܿx[Ѳ[VTbekD듢
+@+0 'C`S]rsq@t {1cՂ44Ov%[l|vkL`)pM2Wv,_3vbx6Fٳɪ1;# mY{6}T|9
+`A 9qs@)303]zLӒ[;juQٟZ PF3Ҭo)CւC2d Hߝc9ޚHF،_;XeWP.HiuI5ٴs"?i2Zuչ<"~: WzLcʷz{*mzr3wn@ k9flAO .r`.@$y#dmL8Z/3o9ē+ \:۠qWvoU{LYLukvNŕ_pVMioO>e@KI i" D~wD}ikw(Nr^e^zcf\&5qhvn}ώ TɤcA' !Hن՚hxZ˶F0xRz;w炭y&\Gާt:c(/kLЂFH<fZn,o')娱wUՆ7}4N(o{GԽByGcD[9?|R+Tz4TcjX,@]9n4["Bhj8rx;Imkm|f[4j1#5F9{3`5S> ՟BH)-@NG :5gX~UϠ'3Ҟas xl:|аg!/0A'Y?, =>?p|-QOS
+̊<fzeDrl;YTfOc2mk,ߚc=w)6mw8d%˪lGOr`wj0IّX?^0٫
+endstream
endobj
3374 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 187.537 null ] >>
-endobj
-3375 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 176.578 null ] >>
+<< /Type /Page /Contents 3375 0 R /Resources 3373 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
3376 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 165.619 null ] >>
+<< /D [ 3374 0 R /XYZ 78.37 808.885 null ] >>
endobj
3377 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 154.66 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 768.829 null ] >>
endobj
3378 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 143.701 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 757.87 null ] >>
endobj
3379 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 132.742 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 746.912 null ] >>
endobj
3380 0 obj
-<< /D [ 3328 0 R /XYZ 81.145 121.783 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 735.953 null ] >>
endobj
3381 0 obj
-<< /D [ 3328 0 R /XYZ 93.716 90.737 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 724.994 null ] >>
endobj
-3327 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F16 328 0 R /F22 357 0 R /F71 339 0 R /F53 337 0 R /F73 342 0 R >> /ProcSet [ /PDF /Text ] >>
+3382 0 obj
+<< /D [ 3374 0 R /XYZ 73.209 714.035 null ] >>
endobj
-3385 0 obj
-<< /Filter /FlateDecode /Length 2058 >>
-stream
-x[n+)G$Jvn}m4&:
-Y†75zr"g |Ufeh]7_LJ 9j,GXꍈ$|ޏ|Z}+fɽ]8c.iI"@"&JсQ~Z$1Ih]6uuQTuϴ (a~X yNھwm ㍴Lv*ML3CހaMd ' >Sxw{;5핣ic9wףI<B5l_VMg*mXSp0s5(/@~2aJ\t(>1@Y
-b:~5&="=Oǣ>9[&LSSsYA'}I(cpuXetx:?2Hgy 8њ{mef RjMXwp騤ڑ4ɼ7#uײ}R^/f!W3 ?K
-B0F3 '>)ZG>AόtoXq2YgD(ae2g9Joe꽓ickYerArpk#͇2*D._('xa0 .HܯE9@{NLaF^M": fe5ΰ믒{Z3V ot `5%-k8v}j:̃nOJV`ɬj|*)-C)^NjA'{Iuq?NL`]`4|-?7zkܴu~2ރl?3y>D_QmV{
-t8!icι$ߛT4mWO|7we;bDēI89;MTꟴ[;ԣ!m2TS|$1#. 8nvmcώTɠc'q"GDxeOocڹ0`xttֺM<f~@=Ouz1NΗ lO7xbw,IW޶}TC~Whƫz]hI}϶PQ\uMS>Gu{"Dm@k(/@4n᠇35Vםx?l0
-endstream
+3383 0 obj
+<< /D [ 3374 0 R /XYZ 73.209 703.076 null ] >>
endobj
3384 0 obj
-<< /Type /Page /Contents 3385 0 R /Resources 3383 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3374 0 R /XYZ 73.209 692.117 null ] >>
+endobj
+3385 0 obj
+<< /D [ 3374 0 R /XYZ 73.209 681.158 null ] >>
endobj
3386 0 obj
-<< /D [ 3384 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 670.199 null ] >>
endobj
3387 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 659.24 null ] >>
endobj
3388 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 648.281 null ] >>
endobj
3389 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 637.322 null ] >>
endobj
3390 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 626.364 null ] >>
endobj
3391 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 615.405 null ] >>
endobj
3392 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 604.446 null ] >>
endobj
3393 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 593.487 null ] >>
endobj
3394 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 582.528 null ] >>
endobj
3395 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 571.569 null ] >>
endobj
3396 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 560.61 null ] >>
endobj
3397 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 549.651 null ] >>
endobj
3398 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 538.692 null ] >>
endobj
3399 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 527.733 null ] >>
endobj
3400 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 516.775 null ] >>
endobj
3401 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 505.816 null ] >>
endobj
3402 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 494.857 null ] >>
endobj
3403 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 483.898 null ] >>
endobj
3404 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 472.939 null ] >>
endobj
3405 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 461.98 null ] >>
endobj
3406 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 451.021 null ] >>
endobj
3407 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 440.062 null ] >>
endobj
3408 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 429.103 null ] >>
endobj
3409 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 418.144 null ] >>
endobj
3410 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 407.186 null ] >>
endobj
3411 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 396.227 null ] >>
endobj
3412 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 385.268 null ] >>
endobj
3413 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 374.309 null ] >>
endobj
3414 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 363.35 null ] >>
endobj
3415 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 352.391 null ] >>
endobj
3416 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 341.432 null ] >>
endobj
3417 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 330.473 null ] >>
endobj
3418 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 319.514 null ] >>
endobj
3419 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 308.555 null ] >>
endobj
3420 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 297.596 null ] >>
endobj
3421 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 286.638 null ] >>
endobj
3422 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 275.679 null ] >>
endobj
3423 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 264.72 null ] >>
endobj
3424 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 253.761 null ] >>
endobj
3425 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 242.802 null ] >>
endobj
3426 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 231.843 null ] >>
endobj
3427 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 220.884 null ] >>
endobj
3428 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 209.925 null ] >>
endobj
3429 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 198.966 null ] >>
endobj
3430 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 188.007 null ] >>
endobj
3431 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 177.049 null ] >>
endobj
3432 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 275.679 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 166.09 null ] >>
endobj
3433 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 264.72 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 155.131 null ] >>
endobj
3434 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 253.761 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 144.172 null ] >>
endobj
3435 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 242.802 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 133.213 null ] >>
endobj
3436 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 231.843 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 122.254 null ] >>
endobj
3437 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 220.884 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 111.295 null ] >>
endobj
3438 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 209.925 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 100.336 null ] >>
endobj
3439 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 198.966 null ] >>
+<< /D [ 3374 0 R /XYZ 73.209 89.377 null ] >>
endobj
-3440 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 188.007 null ] >>
-endobj
-3441 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 177.049 null ] >>
+3373 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3442 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 166.09 null ] >>
+<< /Filter /FlateDecode /Length 2475 >>
+stream
+x[n#7+!;`"+@ξ&5,.dI<@cu76k8ӧN<Ub Ͽ_ĉd\q+>s [/ϫS'Ǽ1@3 6
+蚙j48`!#\c@^/w' Ѵg 6X0u`8ʩՙ,* (}wBP>ٚ7{ °6C&"%A+aIܴD*ϣ9rXB53EN͘h
+x5HK
+E> k[k[PN[)Ek7+c\N;k2 8zY%3TPkpV}M,§&jbJ2ktY|gӲ 9N*V㊬I$kt%$O{?=\_ e ~(:rŎ#+'Y)rjVBgtYl4$eƇS8h4Om lj6nHpS2̺ -
+Ў
+PRl Sڠ!=Z$<u]s5LamY"9Um|12zB0[,_AQ
+0[j͎:Δuz
+D(mKʘݞ*rZua5}GS5ф4{*EGx`V(JD}[g䩔O8,q {p$>{A:O.Bj*`z*Nk+mAxZUfʥE:F@Jyf^\%RUn;fn_'u$ޱD>/ʬ&6Y'u#{ {I%n]Bp@'z$,p(4R&rsXZqp>G*s$w<Cm pI7j"h&em-<h)I0/ }I>
+ '?CY$ʁM~gaUPzcRhqdW"${7?RYg^WO۴UtWlɌ*MsTc;׵f¾Cx{z_8)(n?I~_#EjKj5sl!`F.|i\
+w'91dM<n͵< = ^#E3͉l6KDQ$j}@K,ɤ\o4=W®RíVW }|oKpTe
+
+R*!#~!p>tѓ_{ ZP5Y5vklQ~G)`J ْy^{d_ )#L鮸.b͂z&\F=IP&,twr~FN^qiWϱJ4%*7 9q\PCRӀ
+endstream
+endobj
+3441 0 obj
+<< /Type /Page /Contents 3442 0 R /Resources 3440 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2983 0 R >>
endobj
3443 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 155.131 null ] >>
+<< /D [ 3441 0 R /XYZ 78.37 808.885 null ] >>
endobj
3444 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 144.172 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 768.829 null ] >>
endobj
3445 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 133.213 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 757.87 null ] >>
endobj
3446 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 122.254 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 746.912 null ] >>
endobj
3447 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 111.295 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 735.953 null ] >>
endobj
3448 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 100.336 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 724.994 null ] >>
endobj
3449 0 obj
-<< /D [ 3384 0 R /XYZ 81.145 89.377 null ] >>
-endobj
-3383 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3441 0 R /XYZ 73.209 714.035 null ] >>
endobj
-3452 0 obj
-<< /Filter /FlateDecode /Length 2469 >>
-stream
-xڽ[ˎ#+W xIf]lgVK$ iW.g&A<vz}3"x7u:yO*!:}w)EJ& ,By<yվQ Ҩ"?~0Y|x7kQtA)_yX޳oW%oddPz2zLF
-gG"E=>|1L$[FrP{`r,dA+YΗ$If|оZ eZ\6xCʶ"'HC^I^
- ؜ AlU2X[yEylX\9rYB53N͘d銌x5HKD!{WGQI PSvւm%4EWFwu LPQXY5[8+d>FSBfJ gM9ٺ|gղS %ٰWSU&\ZX_&%!ҕ<z:(ceG aё/v ͺZhuE$KENJXƑY: y$]VBK)4!Mv]pF&<"Y@֣Eb3ʄRPƲ#@{af4qqw1-HZ]YNTqQjPîfH(*a\ůٜGR7fҴw_dZչրRgSs :{:sYθFx0cn<}0"N2YcH/pg*rT"}vi(=}D4ɭ"8vWeHeY*ꪢDx$1Fx@
-BOf"3 ܓr;?'7]\K)LӄqRRs!gv/ysЕ`2FpvHGKrÖd9ǭ]4Bfld"yM޵{Zmxpϐ_!Yhe ݊nXK~jw1C:\tTMУh9ʐStx
-z
-9*Mn*J'bHqTGGԽo93ESxWČ\D}sv(+'AV|mBxW1U|UItY\[$RUe^vܵOr]\YYd54AN81 #D
-||R Dk z9-;\je>qSo=*,2>k.CO;vh/!00&@LO͐gv93rmר﬛:x5 d?~Mrΐzm&YWO
--R[H<ye8L8RG7(nr
-n>c:!t>ݺ$C:RtE}k6ފ%^,Idx]<g4ÂB:s|%*e9ڥa~kE^&ٿml)U`t>]9H%R59[iδV- WxI@FZ^qB0|hLWNs'<bK9|ldɝ!tS^"'}{ }iCC\P25) t´o zM-qz挅(!Hp+FC:NµXh2bH{ӯap?Ae6][SoU9t{*utʅG,^ vW#@O]:ڣ ~9U(Zy|Hug4Z9ՌEת牢qB'͛jDsrr7NnvkPa͈/x؅{\UUz
-endstream
+3450 0 obj
+<< /D [ 3441 0 R /XYZ 73.209 703.076 null ] >>
endobj
3451 0 obj
-<< /Type /Page /Contents 3452 0 R /Resources 3450 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3441 0 R /XYZ 73.209 692.117 null ] >>
+endobj
+3452 0 obj
+<< /D [ 3441 0 R /XYZ 73.209 681.158 null ] >>
endobj
3453 0 obj
-<< /D [ 3451 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 670.199 null ] >>
endobj
3454 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 659.24 null ] >>
endobj
3455 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 648.281 null ] >>
endobj
3456 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 560.664 null ] >>
endobj
3457 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 549.705 null ] >>
endobj
3458 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 538.746 null ] >>
endobj
3459 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 527.788 null ] >>
endobj
3460 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 516.829 null ] >>
endobj
3461 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 505.87 null ] >>
endobj
3462 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 494.911 null ] >>
endobj
3463 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 483.952 null ] >>
endobj
3464 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 472.993 null ] >>
endobj
3465 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 462.034 null ] >>
endobj
3466 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 560.664 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 451.075 null ] >>
endobj
3467 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 549.705 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 440.116 null ] >>
endobj
3468 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 538.746 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 429.157 null ] >>
endobj
3469 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 527.788 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 418.198 null ] >>
endobj
3470 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 516.829 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 407.24 null ] >>
endobj
3471 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 505.87 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 396.281 null ] >>
endobj
3472 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 494.911 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 334.647 null ] >>
endobj
3473 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 483.952 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 323.688 null ] >>
endobj
3474 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 472.993 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 312.73 null ] >>
endobj
3475 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 462.034 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 301.771 null ] >>
endobj
3476 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 451.075 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 290.812 null ] >>
endobj
3477 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 440.116 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 279.853 null ] >>
endobj
3478 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 429.157 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 268.894 null ] >>
endobj
3479 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 418.198 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 257.935 null ] >>
endobj
3480 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 407.24 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 246.976 null ] >>
endobj
3481 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 396.281 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 236.017 null ] >>
endobj
3482 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 334.647 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 210.141 null ] >>
endobj
3483 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 323.688 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 199.183 null ] >>
endobj
3484 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 312.73 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 188.224 null ] >>
endobj
3485 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 301.771 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 177.265 null ] >>
endobj
3486 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 290.812 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 166.306 null ] >>
endobj
3487 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 279.853 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 155.347 null ] >>
endobj
3488 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 268.894 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 144.388 null ] >>
endobj
3489 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 257.935 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 133.429 null ] >>
endobj
3490 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 246.976 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 122.47 null ] >>
endobj
3491 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 236.017 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 111.511 null ] >>
endobj
3492 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 100.552 null ] >>
endobj
3493 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 89.593 null ] >>
endobj
3494 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 188.224 null ] >>
-endobj
-3495 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 3441 0 R /XYZ 73.209 78.635 null ] >>
endobj
-3496 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 166.306 null ] >>
+3440 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3497 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 155.347 null ] >>
+<< /Filter /FlateDecode /Length 2419 >>
+stream
+xZɎ ),KF3nw} rMNyOKS&q`JHחow.(W.E]$SI8?|Ҿe2p篿vx"X}OHI/<A)R{E7ti)z._ 8Ô;<&ёx;hX[
+0R( +=LDeߗm6u
+͗sl*/@|N6!~-}Dd'ɶc;,
+p-3+i+_%L'I 
+WYez:.,33ZrҒF%hMz*`LaOխJMt i
+[M􈖨(OCLLˮiLkf "] 2O(*;]~Rݍ5G z,4e/j1qͲiuRnqۢ
+qYrΨ -a/b-nsTgCn{$DngP﫳b`;̯j}S*<3^:oz (dJt|D/3{٫
+]k
+vm +j/ʐgBN:-å4/[8#;H)҆Jʅ??zcA>ħ8 ѶL/Z||Y9TUFMc+CyzI!U'o()`@JX왧r*s!JZU)CTwؐ6]?tN 5TpC%L랎Ev{ !,ʜE^$. NkanBTL Gn18 q_BZ |P4i
+¹e-s`ԝݎw+
+1NI-RK+=FJf3 <=''O
+'#TτUV1Z4cMzmqB%ȗ6.FJ vhw=U}3"j=ݦTO}ewblUY)X' ?g[Y^R9)pgnN/XԂRɚW 1QZFw!OT C~e6G0 sP vSW;#0ٝ巕vhA|GXj N45}'|>bUTgryARhV(K0f\Nq3|bV bNB'6L(gy@Sc8 :FJnV`nM`:Qܬ
+~{#!0>Tt%w3?uk|v ^*ofčuח
+endstream
+endobj
+3496 0 obj
+<< /Type /Page /Contents 3497 0 R /Resources 3495 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3498 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 3496 0 R /XYZ 78.37 808.885 null ] >>
endobj
3499 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 768.829 null ] >>
endobj
3500 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 757.87 null ] >>
endobj
3501 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 746.912 null ] >>
endobj
3502 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 735.953 null ] >>
endobj
3503 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 724.994 null ] >>
endobj
3504 0 obj
-<< /D [ 3451 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-3450 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3496 0 R /XYZ 79.37 702.177 null ] >>
endobj
-3507 0 obj
-<< /Filter /FlateDecode /Length 2422 >>
-stream
-xZn$+F#zF;@ެP^Rw<tJyHI=?}p"xpzߓ:IN'gV>,}H邔?~E}OG)+q#%@ԈQt_OJ~sIG83` S1qF.woRlaN7R( 3ۚ%`D9,Q*8ri rzKB9)qd:jzT$ 8$+ItV4׾60΍O4=(}W']}\7(<űpe<Q|CxN;Qj%B'V2pJ 0RjҬr
-.͘k$TZs ߅@ !RE-;jKGz+OKLiMʌlv; U cBC ']XqDuB]vvVeVg ]l=~Zt_QWmByEٸAv:g ;d[^Znُ26G
-l㦍GPu﫳b`7;̯j}C 827 muңx3u(Yv^y/{Uk1rb
-Sm
-}~b}?Py͠jIv*gAepSw
-KLmdz@w
-A3*a]" {h[TK\N2ƪJٴ8Jk7x:%)VSJڜRW=A0m- 
-´_~![h0谖Ο
-]*v~#2I iNBm;sjm~jNb5blИ ƶEqe&mi;s_ngN|'zs7xj[oNk_$ nE%Ml2Ә`.
-R8tS_>(D\ʔ
-9?c虛&
-ҏnZ)C]V%^x5W?@mJULU7ouB@J
-;J7_Wh%YRWT'x:ZZH/'focTQfz=%WO@i}/ 8@QJn
-7uZ^m (j9ps;:NX?K}Yݫ$U\:88UQm s% M1rr(sbCj8YI _=NͼNJ0Yi'<.ÁPpT_ T<?à.kcK'x?
-0GJ]8,m)},Da|i(3A(ү/> 0gz=oJd 'rzL5E?͜
-endstream
+3505 0 obj
+<< /D [ 3496 0 R /XYZ 73.209 653.796 null ] >>
endobj
3506 0 obj
-<< /Type /Page /Contents 3507 0 R /Resources 3505 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3496 0 R /XYZ 73.209 642.837 null ] >>
+endobj
+3507 0 obj
+<< /D [ 3496 0 R /XYZ 73.209 631.878 null ] >>
endobj
3508 0 obj
-<< /D [ 3506 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 620.919 null ] >>
endobj
3509 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 544.207 null ] >>
endobj
3510 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 503.36 null ] >>
endobj
3511 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 492.401 null ] >>
endobj
3512 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 481.442 null ] >>
endobj
3513 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 724.994 null ] >>
-endobj
-285 0 obj
-<< /D [ 3506 0 R /XYZ 79.37 702.177 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 470.483 null ] >>
endobj
3514 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 653.796 null ] >>
+<< /D [ 3496 0 R /XYZ 79.37 433.711 null ] >>
endobj
3515 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 642.837 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 349.464 null ] >>
endobj
3516 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 631.878 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 338.506 null ] >>
endobj
3517 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 620.919 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 327.547 null ] >>
endobj
3518 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 544.207 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 316.588 null ] >>
endobj
3519 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 503.36 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 305.629 null ] >>
endobj
3520 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 492.401 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 294.67 null ] >>
endobj
3521 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 481.442 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 283.711 null ] >>
endobj
3522 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 470.483 null ] >>
-endobj
-289 0 obj
-<< /D [ 3506 0 R /XYZ 79.37 433.711 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 272.752 null ] >>
endobj
3523 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 349.464 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 261.793 null ] >>
endobj
3524 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 338.506 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 250.834 null ] >>
endobj
3525 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 327.547 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 209.988 null ] >>
endobj
3526 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 316.588 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 199.029 null ] >>
endobj
3527 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 305.629 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 188.07 null ] >>
endobj
3528 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 294.67 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 177.111 null ] >>
endobj
3529 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 283.711 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 166.152 null ] >>
endobj
3530 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 272.752 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 155.193 null ] >>
endobj
3531 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 261.793 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 144.234 null ] >>
endobj
3532 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 250.834 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 133.275 null ] >>
endobj
3533 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 209.988 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 122.316 null ] >>
endobj
3534 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 199.029 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 111.357 null ] >>
endobj
3535 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 188.07 null ] >>
+<< /D [ 3496 0 R /XYZ 73.209 100.398 null ] >>
endobj
-3536 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 177.111 null ] >>
+3495 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F22 247 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3537 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 166.152 null ] >>
+3539 0 obj
+<< /Filter /FlateDecode /Length 2415 >>
+stream
+x[9+7 ߯pO( RoMc\@
+gǚO/~;ӏ__~
+urixIcҜkq r.ׯ;# Jp6~xC s1_>~$P0D
+hj
+mvC-OkGKӣ [?kL][/
+%s5\y~سIq"?8 s;L|;.!3cb7CK3xd- S1eQBYb
+Z+%2q!Ր0hH!a$nhIbaV|\91$lA&mdwǂlYaRnt |VR*X%?e ی6SQɁ~D$i<#m`gs#1P2g Ǔɀ!iwK[yk<Y&
+j;[>/iE'/$ϱLq7eۚHAʶjdIfTI&hW֋2[]pL91]]tTeP_&__їi A/r(jp<SSN)VǐB$J?#
+i7DJ}0Ϝ>!r3≕1
+65]R9 ėǹFaZ*2}4 35>Z3͔,&
+TP)+T jiHf; }Rd0h}5IYP'eRNăqi{m8z/zC!(h$= Qtޗ-Gz$I* HKEIԃD#eJ7I85fy\Ur58_ ;V)Wf N@yr>,xO#ҸP~eK9, +*9(&JBCʺ6Wf=H=%65Ԍw'۱cr,M_Z恂POCS53a~}=2 Z9z@{MI&^_Ha)A3=y>M;vGzeR=pdv2@rjZ0bb[HZښzv%Ԣ֫MCK*:] uv98s.blpcZk?PUwSUB2!7Z] 3nԒяHs_%jfԾBVI4)fVJ02==Si'0Kgz.CF& #f/"*%$xډ(N(JFz4tKJE`~ ѿb2 =6Eem'`6)( F"r$:
+endstream
endobj
3538 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 155.193 null ] >>
-endobj
-3539 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 144.234 null ] >>
+<< /Type /Page /Contents 3539 0 R /Resources 3537 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3540 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 133.275 null ] >>
+<< /D [ 3538 0 R /XYZ 78.37 808.885 null ] >>
endobj
3541 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 122.316 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 730.971 null ] >>
endobj
3542 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 111.357 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 720.012 null ] >>
endobj
3543 0 obj
-<< /D [ 3506 0 R /XYZ 81.145 100.398 null ] >>
-endobj
-3505 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F22 357 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R /F83 403 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3538 0 R /XYZ 73.209 709.053 null ] >>
endobj
-3546 0 obj
-<< /Filter /FlateDecode /Length 2411 >>
-stream
-x[K ϯc0DR/`@T{[krJ1[Unv7r-IϋJ_ ]>MyQڋ5JH.퇔I(=A+VRK?^} wxLg3)Rƹ":9XmwKzL^kfi w T^Hc隮_Nj8,/6P&
--a`ZWE!p Cf0ŗgg cvK+ˣ$3KE^(i ;,
-9 U+_r\;ZY%mIh9Naɳ^y޻Of'qm] '%%Ki1eܺwHO <j¡)
-^?g"-0ύQu6.R"?s}i\P ŀ4ӿK ?byw@!
-Zмhgjy'tҼiyƵbm<gJq8S~њH NUc0E M3iD;3qMmOS~Y%"秾+ӂHH?=':8;.5U8P<]V8 M =
-!qNqXQ]@9AoHs
-~m}UQ` %n <Osةcr\v[iz>cSmX^+oyf
-rz@CLd4+#d"h$/V@0%3ܘdTz\e]h.B {î4(5RҕƮK3"ZZZ3Q|o_)ַw,umAWr庮Ƨ5`Y]LpʍiuDeW)']P(܉kq:e&H3Ժo@)Z)fT 8
-[KJ:;wki#w\6Sr6e@ǧ8hA [lkVՓ^|jqŒV9wk #R̀lD!P/ŋ v aӏȣёن:u.fM7*%FjfDsV2vjz_>%qm3}IJs&LZl
-kw'Zb q$h 's3ѵ; Zbϴ7[gz;M4[{TY0\H
-o[ڔ
-endstream
+3544 0 obj
+<< /D [ 3538 0 R /XYZ 73.209 693.113 null ] >>
endobj
3545 0 obj
-<< /Type /Page /Contents 3546 0 R /Resources 3544 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3538 0 R /XYZ 73.209 682.154 null ] >>
+endobj
+3546 0 obj
+<< /D [ 3538 0 R /XYZ 73.209 671.195 null ] >>
endobj
3547 0 obj
-<< /D [ 3545 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 660.237 null ] >>
endobj
3548 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 649.278 null ] >>
endobj
3549 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 638.319 null ] >>
endobj
3550 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 627.36 null ] >>
endobj
3551 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 693.113 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 616.401 null ] >>
endobj
3552 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 561.606 null ] >>
endobj
3553 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 550.648 null ] >>
endobj
3554 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 539.689 null ] >>
endobj
3555 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 528.73 null ] >>
endobj
3556 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 517.771 null ] >>
endobj
3557 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 506.812 null ] >>
endobj
3558 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 495.853 null ] >>
endobj
3559 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 484.894 null ] >>
endobj
3560 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 473.935 null ] >>
endobj
3561 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 462.976 null ] >>
endobj
3562 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 452.017 null ] >>
endobj
3563 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 441.058 null ] >>
endobj
3564 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 430.1 null ] >>
endobj
3565 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 419.141 null ] >>
endobj
3566 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 408.182 null ] >>
endobj
3567 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 397.223 null ] >>
endobj
3568 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 356.376 null ] >>
endobj
3569 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 345.417 null ] >>
endobj
3570 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 334.458 null ] >>
endobj
3571 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 305.567 null ] >>
endobj
3572 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 294.608 null ] >>
endobj
3573 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 283.649 null ] >>
endobj
3574 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 272.69 null ] >>
endobj
3575 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 261.731 null ] >>
endobj
3576 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 250.772 null ] >>
endobj
3577 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 239.813 null ] >>
endobj
3578 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 228.854 null ] >>
endobj
3579 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 217.895 null ] >>
endobj
3580 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 206.936 null ] >>
endobj
3581 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 154.134 null ] >>
endobj
3582 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 143.176 null ] >>
endobj
3583 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 132.217 null ] >>
endobj
3584 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 116.276 null ] >>
endobj
3585 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 105.318 null ] >>
endobj
3586 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 94.359 null ] >>
endobj
3587 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 206.936 null ] >>
-endobj
-3588 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 3538 0 R /XYZ 73.209 83.4 null ] >>
endobj
-3589 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 143.176 null ] >>
+3537 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F83 294 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F30 221 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3590 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 132.217 null ] >>
+<< /Filter /FlateDecode /Length 2458 >>
+stream
+x[9cW(Hwf8#ԼzjG ތDWE6=DO}@~0=VPN;LxT Ypƭ&77#7eݷ{~ݍqso{L(~l<i.qV QB8Z#jg:=%m 4%[T OeSr4:
+8" &TȌ'A!r0B&Εq<%XiOX8tJIsI4ENuĒ+0d7-!kp J8Y[33~(U[j abZvIkb!pKs$G"FSU24
+2՚0W9c-=OFb@mdl ~{ϕS"Lcpȗ S>=fSe
+hUrw~4* oG9팉vI8$<qqA0OorzaҩaV45.E-k9AA!>5% E'q6*p+ohȚ\=Д1MϸB F$-ĪG-.F-
+͆ /
+s#|= ћ4*+ΆM.
+<O{?#wůr={z[C`gD⅐-%y|~h'|O-4DW L`.|.'¥(7.7n|,w?n̷D*݁l\y86'cɓ'cRީFZ9ij
+4B=! yZy6e,Ư5 .GJH5ztB .ƹ۴P}RڪcBP)Jq U(Y0.㵘kq'86pqVOOvw2l:j7hx+|0mL0 ZKF#O97Fj(_v㮞 ŊTSB(}a󵎋=
+Z-*=Wj#<Цvt¾᭝GMH>ͮ@@b@=D-SjZ͸&FJXb
+MN˅xGJp펼 3P^V|+z%2z1z|q|*|
+ >@_dqZAfK:\o2+;_PՄ`N\JP.\ԶH wAi8sN7Vh:_샥@h+K$,ݾ:7ZOZKy`D2rXOYiD>aXIKI|yՅDGuavFBo`Xc<lt0l Xoz@R;YǵWvxxQ !%-o M) 8%p2k6ʮĥ!c]:[7!<.) `ҘPSBiS ?ގ7+8;\vk:/ */ix;yb t|wq\n$CiA ._^{|ZEVx
+endstream
+endobj
+3589 0 obj
+<< /Type /Page /Contents 3590 0 R /Resources 3588 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3591 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 116.276 null ] >>
+<< /D [ 3589 0 R /XYZ 78.37 808.885 null ] >>
endobj
3592 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 105.318 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 742.926 null ] >>
endobj
3593 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 731.968 null ] >>
endobj
3594 0 obj
-<< /D [ 3545 0 R /XYZ 81.145 83.4 null ] >>
-endobj
-3544 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F83 403 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F30 333 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3589 0 R /XYZ 73.209 721.009 null ] >>
endobj
-3597 0 obj
-<< /Filter /FlateDecode /Length 2447 >>
-stream
-x[;ok7P-7 ,+j|?Ȥ#_d Y97='K%N`zb'm '>{LxT Ypʭ&77#7eݷ{"^Q&?U3K`QNu}㴺o'| 1ԎI'ЇDAU#?)iy(̠b~,
-2䵚t08;AGKOӦ' 0۞:Bo.yyЃil
--Q `랚zJãI,#
-½iTbs$/VL:jWZNAEgs%R- *Ȱɹ{c\1eM@(<yvJKUP!R7`[F͈=~\"ݣ\2^țvynccvUC֎͍_΁ʰ溨ݜPU䃩onO"f^Z€7e96cܭҫeS.nknr򌔾ZCE~L+5\_hS8aF&R"f>%f:;ۧeXP6!3H X,;][?/%B9z:ŷjk|TkrOSgeDr8ͅ3r0>&7%[CAccpg|5PjWpi]?C.R-М0Ptpn9<5|:bE5SfFB7j x~ 0>ZZv:[\*$+a2=;ob
-<# | "RJ{#C&6У\\#ZQIȈӏ~BXblBoež=Z$bђ }Cj~k R7(;Uz}6@'nf4sͿg9zJOQX[U ,(5^q0%JxZ81#;9iMmERikQL{D֦K9*ٓT wwQ{Hʭn@LakzJ *__1FB=?8sV!T
-endstream
+3595 0 obj
+<< /D [ 3589 0 R /XYZ 73.209 710.05 null ] >>
endobj
3596 0 obj
-<< /Type /Page /Contents 3597 0 R /Resources 3595 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3589 0 R /XYZ 73.209 699.091 null ] >>
+endobj
+3597 0 obj
+<< /D [ 3589 0 R /XYZ 73.209 688.132 null ] >>
endobj
3598 0 obj
-<< /D [ 3596 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 623.375 null ] >>
endobj
3599 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 612.416 null ] >>
endobj
3600 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 601.457 null ] >>
endobj
3601 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 590.498 null ] >>
endobj
3602 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 579.539 null ] >>
endobj
3603 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 568.58 null ] >>
endobj
3604 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 557.621 null ] >>
endobj
3605 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 546.662 null ] >>
endobj
3606 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 535.704 null ] >>
endobj
3607 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 524.745 null ] >>
endobj
3608 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 495.853 null ] >>
endobj
3609 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 455.006 null ] >>
endobj
3610 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 426.115 null ] >>
endobj
3611 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 415.156 null ] >>
endobj
3612 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 404.197 null ] >>
endobj
3613 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 363.35 null ] >>
endobj
3614 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 352.391 null ] >>
endobj
3615 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 341.432 null ] >>
endobj
3616 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3589 0 R /XYZ 79.37 304.66 null ] >>
endobj
3617 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 277.2 null ] >>
endobj
3618 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 266.242 null ] >>
endobj
3619 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 255.283 null ] >>
endobj
3620 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 244.324 null ] >>
endobj
3621 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 233.365 null ] >>
endobj
3622 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 341.432 null ] >>
-endobj
-293 0 obj
-<< /D [ 3596 0 R /XYZ 79.37 304.66 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 217.425 null ] >>
endobj
3623 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 277.2 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 206.466 null ] >>
endobj
3624 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 266.242 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 195.507 null ] >>
endobj
3625 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 255.283 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 184.548 null ] >>
endobj
3626 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 244.324 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 173.589 null ] >>
endobj
3627 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 233.365 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 162.63 null ] >>
endobj
3628 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 217.425 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 151.671 null ] >>
endobj
3629 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 206.466 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 140.712 null ] >>
endobj
3630 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 195.507 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 129.753 null ] >>
endobj
3631 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 184.548 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 118.794 null ] >>
endobj
3632 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 173.589 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 107.836 null ] >>
endobj
3633 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 162.63 null ] >>
+<< /D [ 3589 0 R /XYZ 73.209 79.94 null ] >>
endobj
-3634 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 151.671 null ] >>
-endobj
-3635 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 140.712 null ] >>
+3588 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R /F27 220 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3636 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 129.753 null ] >>
+<< /Filter /FlateDecode /Length 2176 >>
+stream
+x[I+'ϯ FH9-59_44KW=o'?{6u8ӧNI1gO?q2N(N|8_<汞oV,s@1űRs-8(4L+R#^]3NI噶v xҶ#hIR:טWތh}LmZ1$%wSrU{:o[ jC{]|qLMۊêX }:ZYƬ2@I :XGX9EQ VlhpupuHz,bY65Mv!1͊|OJ$uf8{Fc4/l޳R@Ô
+~B z45QBnWu$ףH\+g;)絧|zG3z+h([ޙu)-)yH9:/tڳ,)͔S$Koc, 4bZjz",$){1~Gu>WwP
+4+.ӻȌ`4wH) BϘW(do6l4U`t$6 ^G] ^sتKBӬ챼OGZw>܈>1 +%^7MSh>*ZѿqpE(ppL쑵ݯ5rfw.?퀾&\cA:V/~
+=Q,~Z9f8x0;OPY̪U\F^d$p[>%@WQ+PdFnqwdeNJЁf%5>iP1nZkp,j9 d2su{W4Gƅ%d>Z}>Xv]z+{_!%y}>ժb9J2s訪7^_H& SE-:3^j({A•By"0a\@c !}
+zD
+)gՂHQ5htO)bbC3IB>5ySr2")WvHe1.',jhMC벩=μIk(#U-kJ:d
+,Eh#%f
+I\#Cq鿵8-ZD^@H(Џo$Mgj̥"ѶUԔTM
+=6P%}m+T(M~M^ k$I RzRSzjFW̳hrɩu˙h]!LS8f>HYA-5M
+I38KQ4WFZdV:(2GVs
+Y1mSu1wq3~,~7mz6UB# X+
+!%Um=֯-ro-uRO AUKmm!*nUSiFDU+kP`G6Ͽ;X}ZJy~ŀ"l9}r4YN%s[(R/ߋ2c\E.9i*|`OΕI>vf<[k%9Ԥmx,ʠW_Y& ,
+y5H9 oT>M3SqW^>c =m4gT>Ӝpx<!K4oX64ǯ.'O&E6s~Jvi0|1޵(Sa
+ZlLZ\"G9}M
+endstream
+endobj
+3635 0 obj
+<< /Type /Page /Contents 3636 0 R /Resources 3634 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3637 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 118.794 null ] >>
+<< /D [ 3635 0 R /XYZ 78.37 808.885 null ] >>
endobj
3638 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 107.836 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 768.829 null ] >>
endobj
3639 0 obj
-<< /D [ 3596 0 R /XYZ 81.145 79.94 null ] >>
-endobj
-3595 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 326 0 R /F74 329 0 R /F59 338 0 R /F84 404 0 R /F27 332 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3635 0 R /XYZ 73.209 757.87 null ] >>
endobj
-3642 0 obj
-<< /Filter /FlateDecode /Length 2161 >>
-stream
-x[Io6W!gA8 [k{Hq(yP<YpHaNd̈́+O$?u >9)9~tIi?dP7O^kѷ8J:F$#"zO_3`^3銽ijcC0!F
-%ÞytHjeY[Lüvt2~?"-\:.<%<1hyw Bi$8d M+Oq Ħ'|''`>^I2P%V9vŎgҚ^` PQ
-alvѕ(TU,}q{a B
-WBteWu57ȸj5~K0>]ݤs{\aW09ؖQGO&5k1u4D&YO=N :$. -K>;zP2s]=F+XnAwYb{U
-kޢ3B3MTtm*nFbV/Ռ
-=6T(Կ.U=3R.`bζ
-Cu@>ջݪ23Jǀtݯ޳ڡPZQT
-ӈWHjx^j_=.kQ%b OвgA($vvt7RH焝di
-)KZÓOtVK/qxգ 8'uWvޙVx$:>7uLduNw0ekҌ/դ!0ŬXP8v7
-x5q9|fM/Q>oҼrv,Yz*IzHy0g
-endstream
+3640 0 obj
+<< /D [ 3635 0 R /XYZ 73.209 746.912 null ] >>
endobj
3641 0 obj
-<< /Type /Page /Contents 3642 0 R /Resources 3640 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3213 0 R >>
+<< /D [ 3635 0 R /XYZ 73.209 735.953 null ] >>
+endobj
+3642 0 obj
+<< /D [ 3635 0 R /XYZ 73.209 708.057 null ] >>
endobj
3643 0 obj
-<< /D [ 3641 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 697.098 null ] >>
endobj
3644 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 686.139 null ] >>
endobj
3645 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 675.181 null ] >>
endobj
3646 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 664.222 null ] >>
endobj
3647 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 653.263 null ] >>
endobj
3648 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 708.057 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 642.304 null ] >>
endobj
3649 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 697.098 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 631.345 null ] >>
endobj
3650 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 686.139 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 620.386 null ] >>
endobj
3651 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 675.181 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 568.58 null ] >>
endobj
3652 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 664.222 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 557.621 null ] >>
endobj
3653 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 653.263 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 546.662 null ] >>
endobj
3654 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 642.304 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 535.704 null ] >>
endobj
3655 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 631.345 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 524.745 null ] >>
endobj
3656 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 620.386 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 513.786 null ] >>
endobj
3657 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 502.827 null ] >>
endobj
3658 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 491.868 null ] >>
endobj
3659 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 480.909 null ] >>
endobj
3660 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 469.95 null ] >>
endobj
3661 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 458.991 null ] >>
endobj
3662 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 448.032 null ] >>
endobj
3663 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 502.827 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 437.073 null ] >>
endobj
3664 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 426.115 null ] >>
endobj
3665 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 415.156 null ] >>
endobj
3666 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 404.197 null ] >>
endobj
3667 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 393.238 null ] >>
endobj
3668 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 382.279 null ] >>
endobj
3669 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 371.32 null ] >>
endobj
3670 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 360.361 null ] >>
endobj
3671 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 349.402 null ] >>
endobj
3672 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 338.443 null ] >>
endobj
3673 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 327.484 null ] >>
endobj
3674 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 382.279 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 316.525 null ] >>
endobj
3675 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 305.567 null ] >>
endobj
3676 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 294.608 null ] >>
endobj
3677 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 283.649 null ] >>
endobj
3678 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 272.69 null ] >>
endobj
3679 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 3635 0 R /XYZ 79.37 249.873 null ] >>
endobj
3680 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 228.391 null ] >>
endobj
3681 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 217.432 null ] >>
endobj
3682 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 189.537 null ] >>
endobj
3683 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 178.578 null ] >>
endobj
3684 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 272.69 null ] >>
-endobj
-297 0 obj
-<< /D [ 3641 0 R /XYZ 79.37 249.928 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 138.727 null ] >>
endobj
3685 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 228.391 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 112.824 null ] >>
endobj
3686 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 217.432 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 101.865 null ] >>
endobj
3687 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 189.537 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 90.907 null ] >>
endobj
3688 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 178.578 null ] >>
+<< /D [ 3635 0 R /XYZ 73.209 79.948 null ] >>
endobj
-3689 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 138.727 null ] >>
-endobj
-3690 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 112.824 null ] >>
+3634 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R /F22 247 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3691 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 101.865 null ] >>
+<< /Filter /FlateDecode /Length 2617 >>
+stream
+x\n,-)IQdYg7j;V\$EG:IWSÆpnq/Oϧݐ9+@>$nAf8ތkqoϜ;
+6r[c5] 75l'h1Tw%vBܤӓD4D4~)`|2ED,Nu3>S$_G=1%
+
+;U *_FZX7IUkg zW }yq4dRQ:tu>hs
+K4GkAX&lp-ku5[hYIfxM.u:/P1`f%g @'fjάz| R8f4ug[2IH s#g#CzKF ]õl4B_ Ҩ6s{e*M;d~6nHԥDzx蘀)uH3Sp,^8iIP 3iT됊y$!ȡ+\K8?j3+I'FÝe8yHԐ4
+endstream
+endobj
+3690 0 obj
+<< /Type /Page /Contents 3691 0 R /Resources 3689 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3692 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 90.907 null ] >>
+<< /D [ 3690 0 R /XYZ 78.37 808.885 null ] >>
endobj
3693 0 obj
-<< /D [ 3641 0 R /XYZ 81.145 79.948 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 768.829 null ] >>
endobj
-3640 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R /F22 357 0 R /F83 403 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3696 0 obj
-<< /Filter /FlateDecode /Length 2554 >>
-stream
-x[n,)+.%Y%fh3dخZ˙IC@3ur|/?qi-^97p}~XX[)PRRѕ|!vW~$[.?)he[[m8S .Gg0@#umIVo\ .*64=2KS:lXNuY%P2尯 -cĄ[B08DЖqHO{%hiޤf"
- L#I3!0w?']C4IBkJFL.<v"fV/j_gwnr$'iqY
-5E!ms2r2Y,k:*R[ -ढ़xR7t %0G-?|P*Sߝ8sR DS/>>[*ZҺ]vq+G+;d$+ZcU!oY%%1e^la%e!=IZ(Ù;%eNtHZȷ&c%j< u #gSGiYq&(1+{"*5<#Qjl
-CJ
-mi5dvFt5(Go"FXC}f [ ML]\9=Bc-`3BNu3d_;6e
-;nyu
-~e}@v'~n޳k0!q~ы=jp}VuPJ]Xlg @tQ,൸M\
-D~,VZ-y/uC 6h0Zʪ7*4NX7
-8#U疠-I&<?A&(+Ȩ'ea0}+Aw5 k@_>+KXʅCx:na+nXι~9:<@D\QF9o1c
-endstream
+3694 0 obj
+<< /D [ 3690 0 R /XYZ 73.209 757.87 null ] >>
endobj
3695 0 obj
-<< /Type /Page /Contents 3696 0 R /Resources 3694 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3690 0 R /XYZ 73.209 694.158 null ] >>
+endobj
+3696 0 obj
+<< /D [ 3690 0 R /XYZ 73.209 683.199 null ] >>
endobj
3697 0 obj
-<< /D [ 3695 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 672.24 null ] >>
endobj
3698 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 661.281 null ] >>
endobj
3699 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 650.322 null ] >>
endobj
3700 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 694.158 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 600.549 null ] >>
endobj
3701 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 683.199 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 589.59 null ] >>
endobj
3702 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 672.24 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 578.631 null ] >>
endobj
3703 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 661.281 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 567.672 null ] >>
endobj
3704 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 650.322 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 556.713 null ] >>
endobj
3705 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 600.549 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 545.754 null ] >>
endobj
3706 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 589.59 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 534.795 null ] >>
endobj
3707 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 578.631 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 467.073 null ] >>
endobj
3708 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 567.672 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 456.115 null ] >>
endobj
3709 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 556.713 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 445.156 null ] >>
endobj
3710 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 545.754 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 431.216 null ] >>
endobj
3711 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 534.795 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 420.257 null ] >>
endobj
3712 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 467.073 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 409.298 null ] >>
endobj
3713 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 456.115 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 398.339 null ] >>
endobj
3714 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 445.156 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 387.38 null ] >>
endobj
3715 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 431.216 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 376.421 null ] >>
endobj
3716 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 420.257 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 360.497 null ] >>
endobj
3717 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 409.298 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 349.538 null ] >>
endobj
3718 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 398.339 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 338.579 null ] >>
endobj
3719 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 387.38 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 327.621 null ] >>
endobj
3720 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 376.421 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 316.662 null ] >>
endobj
3721 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 365.463 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 305.703 null ] >>
endobj
3722 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 354.504 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 294.744 null ] >>
endobj
3723 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 338.579 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 283.785 null ] >>
endobj
3724 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 327.621 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 267.861 null ] >>
endobj
3725 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 316.662 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 256.902 null ] >>
endobj
3726 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 300.737 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 245.943 null ] >>
endobj
3727 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 289.778 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 230.019 null ] >>
endobj
3728 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 278.82 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 219.06 null ] >>
endobj
3729 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 267.861 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 208.101 null ] >>
endobj
3730 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 256.902 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 197.142 null ] >>
endobj
3731 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 245.943 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 186.183 null ] >>
endobj
3732 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 230.019 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 175.224 null ] >>
endobj
3733 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 219.06 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 111.511 null ] >>
endobj
3734 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 208.101 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 100.552 null ] >>
endobj
3735 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 197.142 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 89.593 null ] >>
endobj
3736 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 186.183 null ] >>
-endobj
-3737 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 175.224 null ] >>
+<< /D [ 3690 0 R /XYZ 73.209 78.635 null ] >>
endobj
-3738 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 164.265 null ] >>
+3689 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F83 294 0 R /F74 217 0 R /F81 257 0 R /F65 215 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3739 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 153.306 null ] >>
+<< /Filter /FlateDecode /Length 2425 >>
+stream
+x[ˎW!o h=dݻn]߆EC%=A0,KGbTL_w?>?_NH|C\x'.V1_ss\?~pD X?N]HW H#)7 :|܂>rr~\=U/Ks&)As P<M+UVfr͙@\L,rDIrؽ֤nZP )Jbc"<KÔ[6Q%MHgOVi
+΢}ìdsjι UDs9w]2 5TS GJ~ӽVb|$ѧÕMO1d/y4ӊD{ggΝuLY S{Z
+ N5D/±q%!1gMe䣣:酜i>LgC7QI{1B2 R6%:I
+AsJCz(P`KBt&(6-'PC*0>}
+*q cF,/dM?d/լ3( FK:$ sS
+і3k|=Z]I8E*SFtܬ1gNn-Ҝ1J̳*°Ֆ3zj̴@@%h::^T^ExN;|3~6ȳ ua쩦MGĬ`w1ut"$E
+MYjM;4=J6I}Y[e3//xw@"s>{1d20l`Jfsl:8i=r4בSK<Rp>*>^%Kloe+KJVr%b[V*r ;EmGDq# X-k9ԝI&{L4Cš\@/dofOl*Zt1y**W UI,#lxu.$
+i( fIM;\ۅ!]$#WWw|&RkfbtUp|~z %-]m:X"jr4)IܾR=>P7OMp۩/fN1Eъ0E
+@2n3 MlO5 P"b>ͥ+&r#h:AC.1=LAi?GĨjW,<gy.:w@t>5N=(I=z޹￞Z(ipv mMLa&b1c%ٰdMmꀎg}[ާlƞƟ=Dbz*ܘ_oށsIaGnV$=^k{=!)oe%׼xaֹWyy_]-eZgu| R-YwQiSzO1$%(L{Y[=amjy\䖸x`~jۮ½mPo3 v6eT6?OQ
+endstream
+endobj
+3738 0 obj
+<< /Type /Page /Contents 3739 0 R /Resources 3737 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3740 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3738 0 R /XYZ 78.37 808.885 null ] >>
endobj
3741 0 obj
-<< /D [ 3695 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 768.829 null ] >>
endobj
-3694 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R /F65 327 0 R >> /ProcSet [ /PDF /Text ] >>
+3742 0 obj
+<< /D [ 3738 0 R /XYZ 73.209 757.87 null ] >>
endobj
-3745 0 obj
-<< /Filter /FlateDecode /Length 2395 >>
-stream
-x[Ɏ6WCw`@s߂\S"E%$m-OXHq/_xż. 3b`܈??~pnK??,@};uq#]#eR$-Z$M77skiŹx_>Pj"Ó`yAޣŢ[cvҜ 0j;"$}G/ȭQTjrXV{_Sszf<#3$ F$\󈻧y6ʼn[mEX -;kA2MTO.1}K[ѾfqpLSbcRY\j =jVj;&2
-s$2WҬ0 J&qhu@f1SǙ7!]k R[>bE@"c/׮}N>Rp_>zH3&v$=M=sTN9}`/GWtUn瓪<UBCrkT|*tWs26TY7g>g$<ZvVHǶpL{ƶ$1i]wCxhsLmdalQ8hyXCJEyFuC XĊ0ZZ( / Ӝ.cK_fc{qė<
-aJj@>xm&V798zqŷ6֞9a0YaDsRn'Friff k--saB4~ĀHg̈+upߛѳA&3T~K=͞=9"r 0 ==C%(<#ϣjS?`|G~ByEgdbu< P5ԭvb
-B\o[Q:c稭\hri6VX+<<N29bLCr@kJ"`e>C H5B5D]
-6Gxu%^-_6PՕf %{tpQIc I{kd݋QӑD` bke“eHL'LVϕryW冷؊GR]6
-R^V+reUYd_ 1ɷ%'%eH)%P}XWZA&)5D3*bh]I/0qIg7HRl';BT1]||) f
-)c<1 Xd? `iD)B͓ĢMеnR{aD vHq̐ii u4XG6ͦ'KiiY~ˀ$ mK[Dbt!ًD߅S{ k@;A?bAm4gWJjiFN3{]PapoWHYT-^*ȳzFԈΙ*`xr%`5M{"rv2:$J(f:؏xrN^y\2k4yg@H*S<M^UI1"-_3#8vVwѪG:5K$hrr7{(kGڥ㫌Ա#~ ^?N&TPycxe0#9{@(6
-2[w癷ˡ\<
-B۩? t>4z>ޛ]0ߕ:Շ[w[22K/QdX>A/6Dw]TeGyCB) ?'$reB5 o-@s@*])}OQu㞦r4VyUy@cbV-Q:Ȼ?ĀtNsY1@Q=Ls.Mt:E5_`
-A>d Ȼ9j+jQ󤺂` nu㥘h~Z8PGf3FHK3|nK-8 +Fh}CI7*"^vM]sh+5'X(#suv7[iFiUɪ=A
-/6"]ӹ 7ZߜTbec1=О]RcߧxbۮMF@)o8Z}| FQ
-endstream
+3743 0 obj
+<< /D [ 3738 0 R /XYZ 73.209 746.912 null ] >>
endobj
3744 0 obj
-<< /Type /Page /Contents 3745 0 R /Resources 3743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3738 0 R /XYZ 73.209 735.953 null ] >>
+endobj
+3745 0 obj
+<< /D [ 3738 0 R /XYZ 73.209 724.994 null ] >>
endobj
3746 0 obj
-<< /D [ 3744 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 714.035 null ] >>
endobj
3747 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 703.076 null ] >>
endobj
3748 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 692.117 null ] >>
endobj
3749 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 681.158 null ] >>
endobj
3750 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 670.199 null ] >>
endobj
3751 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 659.24 null ] >>
endobj
3752 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 648.281 null ] >>
endobj
3753 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 637.322 null ] >>
endobj
3754 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 611.42 null ] >>
endobj
3755 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 600.461 null ] >>
endobj
3756 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 589.502 null ] >>
endobj
3757 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 578.543 null ] >>
endobj
3758 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 567.584 null ] >>
endobj
3759 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 556.625 null ] >>
endobj
3760 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 545.666 null ] >>
endobj
3761 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 534.707 null ] >>
endobj
3762 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 520.76 null ] >>
endobj
3763 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 509.801 null ] >>
endobj
3764 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 498.842 null ] >>
endobj
3765 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 447.036 null ] >>
endobj
3766 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 436.077 null ] >>
endobj
3767 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 425.118 null ] >>
endobj
3768 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 523.748 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 414.159 null ] >>
endobj
3769 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 509.801 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 403.2 null ] >>
endobj
3770 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 498.842 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 392.242 null ] >>
endobj
3771 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 487.883 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 381.283 null ] >>
endobj
3772 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 436.077 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 370.324 null ] >>
endobj
3773 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 425.118 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 344.421 null ] >>
endobj
3774 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 414.159 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 333.462 null ] >>
endobj
3775 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 403.2 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 322.503 null ] >>
endobj
3776 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 392.242 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 311.544 null ] >>
endobj
3777 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 381.283 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 300.585 null ] >>
endobj
3778 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 370.324 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 289.626 null ] >>
endobj
3779 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 359.365 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 278.667 null ] >>
endobj
3780 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 333.462 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 267.709 null ] >>
endobj
3781 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 322.503 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 256.75 null ] >>
endobj
3782 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 311.544 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 230.847 null ] >>
endobj
3783 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 300.585 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 219.888 null ] >>
endobj
3784 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 289.626 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 208.929 null ] >>
endobj
3785 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 278.667 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 197.97 null ] >>
endobj
3786 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 267.709 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 187.011 null ] >>
endobj
3787 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 256.75 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 176.052 null ] >>
endobj
3788 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 245.791 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 165.093 null ] >>
endobj
3789 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 219.888 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 151.146 null ] >>
endobj
3790 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 208.929 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 140.187 null ] >>
endobj
3791 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 197.97 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 129.228 null ] >>
endobj
3792 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 187.011 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 118.269 null ] >>
endobj
3793 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 176.052 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 107.31 null ] >>
endobj
3794 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 165.093 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 96.351 null ] >>
endobj
3795 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 154.134 null ] >>
-endobj
-3796 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 140.187 null ] >>
+<< /D [ 3738 0 R /XYZ 73.209 85.392 null ] >>
endobj
-3797 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 129.228 null ] >>
+3737 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F83 294 0 R /F74 217 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3798 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 118.269 null ] >>
+<< /Filter /FlateDecode /Length 2678 >>
+stream
+x[ɮ+9'%ڻ d>cuԕ>5XD^}vC k..pъ.T])?ߨGsX?.XiDHhJ%s wɥoiW|U@)RLZg;:~w\#Ư_;lnxj(F4!)acvMB;3.Ȇ-_aEU#8gx]>
+]օ% ʺYc3J4Zje<߶S97<sOڕ79`,̦G
+4Qb, % Ti&g<X
+/n!RM6՟sl?GvI>E/Gv$F0mv$' va,J|-s*8'fCLyvBһ%/R.^d`N^0օ|TS4DT!8q
+( /hO:xtRʆgpF{ᵾ">V-@^JzU!k!)DeU9z; ;*1pM^pP:,{Ǘ*=x^,=SXl F9"(A=T_gy/)NPC o܇CRzL%pQ7n/o,|x+_
+˕Q&*F$/4 JJ'~K씓leV`Лnހs,B7 M)I
+‘햄{I9^v)r[xO[I8#r΋=IS@_Q8PUj@ 1kKZKR_+0  Fg)Wmٗb9Lƭ_Ef}Or0.T],sqnF׭XjM4ԊI=ҋmS)O 0պ>iVu.ĺ7 ͇<2lQ@" $Su3-F,E2 (U4ԦUSlp]"asOQ\39LdS%kl<Q
+A,"[~bڤT<j?j76JVq]icv ;U~3
+#JlbH4BcIU8˄,DzE1m$,/T[2聎eM߾in/ܳMv.?b!J &RکBz%HN8kjlDzA}W!
+ȷ:"nb`x'>
+Ίff
+/tv{q|.jk=ĸ$x>at[Z+<}Ƌ`P?|!(*W SZ(=Fc,-9|DX,efsr>7xn}!b Mv&-Bh7{Gzk‘w 3ȭ9Anpf> +n81P+m9]&4#Ƣ1Xbb@BV)hC 3:nSzW++ j[>GB]uZۛXެ*=O d
+z8urv!\M r4T*m=&<L)4Ez Uoo&W HN=?80tKZ-Xr<g7 ӯy4[墁V' -<XZCOSLG/̠$3寧ĆXj{f?E/xrdmq*l.4r+Hd]'itz!b y؝q^G-Fϔ%\]gb
+endstream
+endobj
+3797 0 obj
+<< /Type /Page /Contents 3798 0 R /Resources 3796 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3799 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 107.31 null ] >>
+<< /D [ 3797 0 R /XYZ 78.37 808.885 null ] >>
endobj
3800 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 96.351 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 768.829 null ] >>
endobj
3801 0 obj
-<< /D [ 3744 0 R /XYZ 81.145 85.392 null ] >>
-endobj
-3743 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3797 0 R /XYZ 73.209 757.87 null ] >>
endobj
-3804 0 obj
-<< /Filter /FlateDecode /Length 2643 >>
-stream
-x\Ɏ#7W%*[
-K ! ƺȐ>#Ugr4< 8a&H.9c=2 -2~
-k]?E| [`55 &9)^18$eLjÎJ (a-l uJ'Z}fS ЙpZv
-+-ݨ#O%J0^Cl)P0hp#&[Q>!)=R&Dx\ɨpz_b˸o:7."6Q1%yahTRhN
- zp?wE{)EHMSI̘0|37xJ kꀆ|IA'rx,(S\ B GzTLᶔHSD{ep[)gĞŚ{@yd[?\+*_FtkfD7ѽ:발ExFCpj-OK?C?Z!KiQNVȜ#=oÊC Fl)ꑞVOW}
-x\YGJy]< 5Myv22
-y0OT<z"h(s?2{;3֮Y궭
-2EYD=c-Mbe16"b/_[UkfGPfXYRGL{*-T[e\!ډp6|gS܏r1F޻$G%+$86·1b r7.]$_FC"*,V).+F,]||<MCZ-S lG1ɓ,Fwp,Z9H/M']Z5NfvwxdXHߝ BBc\G;5Ec\s]d܋<=jl3::=':RK͗ĉ L2N\䆝!-tn5_tݩEɺj[B) NjOȚ`!$sy}8:$%
-endstream
+3802 0 obj
+<< /D [ 3797 0 R /XYZ 73.209 746.912 null ] >>
endobj
3803 0 obj
-<< /Type /Page /Contents 3804 0 R /Resources 3802 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3797 0 R /XYZ 73.209 735.953 null ] >>
+endobj
+3804 0 obj
+<< /D [ 3797 0 R /XYZ 73.209 724.994 null ] >>
endobj
3805 0 obj
-<< /D [ 3803 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 673.188 null ] >>
endobj
3806 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 662.229 null ] >>
endobj
3807 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 752.889 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 651.27 null ] >>
endobj
3808 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 741.93 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 640.311 null ] >>
endobj
3809 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 629.352 null ] >>
endobj
3810 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 618.393 null ] >>
endobj
3811 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 607.435 null ] >>
endobj
3812 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 657.248 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 596.476 null ] >>
endobj
3813 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 646.289 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 585.517 null ] >>
endobj
3814 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 635.33 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 574.558 null ] >>
endobj
3815 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 624.371 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 563.599 null ] >>
endobj
3816 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 613.412 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 552.64 null ] >>
endobj
3817 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 602.453 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 541.681 null ] >>
endobj
3818 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 591.494 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 503.823 null ] >>
endobj
3819 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 580.535 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 492.864 null ] >>
endobj
3820 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 569.577 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 481.905 null ] >>
endobj
3821 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 470.946 null ] >>
endobj
3822 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 459.987 null ] >>
endobj
3823 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 449.029 null ] >>
endobj
3824 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 525.741 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 438.07 null ] >>
endobj
3825 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 487.883 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 427.111 null ] >>
endobj
3826 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 476.924 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 416.152 null ] >>
endobj
3827 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 465.965 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 405.193 null ] >>
endobj
3828 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 394.234 null ] >>
endobj
3829 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 383.275 null ] >>
endobj
3830 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 372.316 null ] >>
endobj
3831 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 422.129 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 361.357 null ] >>
endobj
3832 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 411.171 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 323.499 null ] >>
endobj
3833 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 400.212 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 312.54 null ] >>
endobj
3834 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 389.253 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 301.582 null ] >>
endobj
3835 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 378.294 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 290.623 null ] >>
endobj
3836 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 367.335 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 279.664 null ] >>
endobj
3837 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 268.705 null ] >>
endobj
3838 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 257.746 null ] >>
endobj
3839 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 231.843 null ] >>
endobj
3840 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 323.499 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 220.884 null ] >>
endobj
3841 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 312.54 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 209.925 null ] >>
endobj
3842 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 301.582 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 198.966 null ] >>
endobj
3843 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 290.623 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 188.007 null ] >>
endobj
3844 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 252.765 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 162.105 null ] >>
endobj
3845 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 241.806 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 151.146 null ] >>
endobj
3846 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 230.847 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 140.187 null ] >>
endobj
3847 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 219.888 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 129.228 null ] >>
endobj
3848 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 208.929 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 118.269 null ] >>
endobj
3849 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 197.97 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 107.31 null ] >>
endobj
3850 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 187.011 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 96.351 null ] >>
endobj
3851 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 161.108 null ] >>
-endobj
-3852 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 150.149 null ] >>
+<< /D [ 3797 0 R /XYZ 73.209 85.392 null ] >>
endobj
-3853 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 139.19 null ] >>
+3796 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F65 215 0 R /F74 217 0 R /F81 257 0 R /F83 294 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3854 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 128.232 null ] >>
+<< /Filter /FlateDecode /Length 2101 >>
+stream
+x[ˮ6 ߯FC@2I
+t}wEdY%3RiE1$<CW+>qNo_7AH9Mg><5]F//o:EWO@!(Ҷ"5!o{ B[;Hqnj@x9|3ɚ|^:1qg>c2$,1V%-vQޒ,XV^'O'Nz5s[0 `.xtL42 FX6G 1  #+%-
+j ٽZSNE03NV Pj rHgrOe |KV8vWÇKUBwͺoɣw|-De \7^l]krN޹Mט*rwJs_HKRMZk}L!/ H6@wzQb"{YJ> \%O,cN{%(5Pr*ip 1T5--҉yKURZZ) òp-(Ȋ$"Qh ur<W1)V^J
+jhW8FɿA
+RӋrmw!];1OKM}S9xi&/Fm]05|Ge 0DҚ ]ۢV^﬛%Cn1)gQfk~w.յН_34=&PGɭOëh#I0f{@I`gN. 6H6xwMxS<"]ݜvƬX޿L~jT۹-*/ӥIC_Ae\cX景4Huk zjyVgbuMX==| Q#4u9I<~08e$Q=WAnM%GU45v+{IgK &PޭS1]8&")1hT
+ZHZg6بsMIN{k, X:TA
+_:tUr8@0ciwZ՝ 0Zey@Z!5zMOpmdBD5Ҧ`>/+ f3es.<qxM*V}24čy
+endstream
+endobj
+3853 0 obj
+<< /Type /Page /Contents 3854 0 R /Resources 3852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3855 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 117.273 null ] >>
+<< /D [ 3853 0 R /XYZ 78.37 808.885 null ] >>
endobj
3856 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 106.314 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 768.829 null ] >>
endobj
3857 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 95.355 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 757.87 null ] >>
endobj
3858 0 obj
-<< /D [ 3803 0 R /XYZ 81.145 84.396 null ] >>
-endobj
-3802 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F65 327 0 R /F74 329 0 R /F81 358 0 R /F83 403 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3853 0 R /XYZ 73.209 746.912 null ] >>
endobj
-3861 0 obj
-<< /Filter /FlateDecode /Length 2116 >>
-stream
-x[n#7+U FR} rMNk4MvI&%y2` uB:ח˗)/ ?up QBuxW)QJ:oo/2/G'18
-,F)uHQ6\DK.k5M6-Zs)Zn3a8p"ٽY` GtcQ {96@p^t[lu]cY<wWF<yO BŹ9i%{ۜZ$AgV8z[c~s$}(}VL
-5#myJajg f-,^ sC:%Yyv 5=3~99W#K$ŧ%’ Y3gEډoKihkXAlkEe?ZF W#T\ߒDvѳ=oUsswK*׷5MS8GvtzNj/HxβQJL^ Jfd{&ήTKta}WVc{B6IpS:{K|FNQs\Ujl֠)Ri]-K5>he0y0(JM'Ն-͓`qAv S(-S
-v~ubk:E%M^bJKbW% b,Ö/&>}34# +s?Eu7-R't
-{ZQ}{v~Wǃ0BW%э'-S}T{!+IC}Q L4Tg rVT6f 0`2q[䜐N~\!3; Zrt-"]ϮmkRFt@"jnn&bH>)]tB;maݜ[Gg~VHI2=^c tM&
-ʳ: !;H0}lnO*5 WNfn(
-~"1/ DE $ґj!4\;eh-sFm2h3.Hj˽Zo涼RaoJqJ^GlJɐmZ$.@,d#Msz4qzRօwH-ʓRY'h8zj,p
-0Bsf/j0
-:ߓcfܝ136mG"ͨd9J!=s$5C2l$=o-OBaI ?…վCkQ}HV*6p-RVd>Aae/ H"m׳2I%۳gT@vN`R8 NQbk|~_w-mq7sR4& + q+DHWItqҍ%;„pʳһ9[*}moUFH@w`
-`K YZ#dYUzN)ʮݎ0)[
-=Ɨ -#m|!α|% 4YEڔgGG Dr 95? i)ժp Rҋ[&[͵wVV+׾r~l)
-endstream
+3859 0 obj
+<< /D [ 3853 0 R /XYZ 73.209 735.953 null ] >>
endobj
3860 0 obj
-<< /Type /Page /Contents 3861 0 R /Resources 3859 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3853 0 R /XYZ 73.209 724.994 null ] >>
+endobj
+3861 0 obj
+<< /D [ 3853 0 R /XYZ 73.209 714.035 null ] >>
endobj
3862 0 obj
-<< /D [ 3860 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 676.177 null ] >>
endobj
3863 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 665.218 null ] >>
endobj
3864 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 654.259 null ] >>
endobj
3865 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 643.3 null ] >>
endobj
3866 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 632.341 null ] >>
endobj
3867 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 621.382 null ] >>
endobj
3868 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 583.524 null ] >>
endobj
3869 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 572.565 null ] >>
endobj
3870 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 561.606 null ] >>
endobj
3871 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 550.648 null ] >>
endobj
3872 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 539.689 null ] >>
endobj
3873 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 528.73 null ] >>
endobj
3874 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 621.382 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 517.771 null ] >>
endobj
3875 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 610.423 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 506.812 null ] >>
endobj
3876 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 599.464 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 495.853 null ] >>
endobj
3877 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 588.506 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 484.894 null ] >>
endobj
3878 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 577.547 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 473.935 null ] >>
endobj
3879 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 566.588 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 462.976 null ] >>
endobj
3880 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 452.017 null ] >>
endobj
3881 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 441.058 null ] >>
endobj
3882 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 430.1 null ] >>
endobj
3883 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 419.141 null ] >>
endobj
3884 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 408.182 null ] >>
endobj
3885 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 397.223 null ] >>
endobj
3886 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 386.264 null ] >>
endobj
3887 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 375.305 null ] >>
endobj
3888 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 364.346 null ] >>
endobj
3889 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 353.387 null ] >>
endobj
3890 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 342.428 null ] >>
endobj
3891 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 331.469 null ] >>
endobj
3892 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 320.511 null ] >>
endobj
3893 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 309.552 null ] >>
endobj
3894 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 375.305 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 298.593 null ] >>
endobj
3895 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 364.346 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 287.634 null ] >>
endobj
3896 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 276.675 null ] >>
endobj
3897 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 265.716 null ] >>
endobj
3898 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 254.757 null ] >>
endobj
3899 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 243.798 null ] >>
endobj
3900 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 232.839 null ] >>
endobj
3901 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 221.88 null ] >>
endobj
3902 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 210.921 null ] >>
endobj
3903 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 199.963 null ] >>
endobj
3904 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 189.004 null ] >>
endobj
3905 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 254.757 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 178.045 null ] >>
endobj
3906 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 243.798 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 167.086 null ] >>
endobj
3907 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 232.839 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 156.127 null ] >>
endobj
3908 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 221.88 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 145.168 null ] >>
endobj
3909 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 210.921 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 134.209 null ] >>
endobj
3910 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 199.963 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 123.25 null ] >>
endobj
3911 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 189.004 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 112.291 null ] >>
endobj
3912 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 178.045 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 101.332 null ] >>
endobj
3913 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 167.086 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 90.374 null ] >>
endobj
3914 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 156.127 null ] >>
-endobj
-3915 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 145.168 null ] >>
+<< /D [ 3853 0 R /XYZ 73.209 79.415 null ] >>
endobj
-3916 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 134.209 null ] >>
+3852 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F15 214 0 R /F74 217 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3917 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 123.25 null ] >>
+<< /Filter /FlateDecode /Length 2135 >>
+stream
+x[Ɏ6WC
+I`O(!:}`^-))|2>^y.&_x-"w/F /-KF5PT_W!^\D%kke4IjK&ރ,fPE&^oL{WI:s_/-7x㸍0Ex#7^DubGBRBy3<
+%
+`ѫ/,qsxrA @ӪG4EbP)4
+wH.J{NBsju8N.V/@8N ZiNQV=^AhNѵ>KWz -GV)>[ Y_+@a耾@%0MS,w ms?`ßҭ5d%_t@_Ǻ9XqJigsdU]bbk(ʳ- r0b̆ΡzB"Da4pe_
+(/WIۄԱd9\@oeIɵzJ>n:H:1e풆HfM8ܒx0ķpKfU9ް2pJ EW3qu]ftqn<c]uv~L`-ַg6Zxޭ;skEf '5j*NY!цclq~l*!]~:kZ[rx?U
+j#ٕ_|Ҳ*"ZvY܎y)~q
+ ?:
+HkQ O*QOtJE}+#R˨Z{O3N\A(^>-X0duO8Vmpy<_ǻu{vwB[fg.y(} y"CI #p<bZP+{9jt;j[tdd\lIjƨDٮmxE:i7u2ݶ3lrcXBP}x~еK)2C֧9SˇS>X\J[mW
+&q+.Lk  Ԟ>P;yB Rs`T
+endstream
+endobj
+3916 0 obj
+<< /Type /Page /Contents 3917 0 R /Resources 3915 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3918 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 112.291 null ] >>
+<< /D [ 3916 0 R /XYZ 78.37 808.885 null ] >>
endobj
3919 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 101.332 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 757.87 null ] >>
endobj
3920 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 90.374 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 746.912 null ] >>
endobj
3921 0 obj
-<< /D [ 3860 0 R /XYZ 81.145 79.415 null ] >>
-endobj
-3859 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3916 0 R /XYZ 73.209 735.953 null ] >>
endobj
-3924 0 obj
-<< /Filter /FlateDecode /Length 1949 >>
-stream
-x[Ɏ#7 WF#`Ѐ=nȹoA)T*YK L`vUQHVt__(P`z1C;3ڝƷq?,A}<U$/;20!,>&
-~F_DŽ7=] oZX7T6 pA'f 3ߋ ʤ8Fa#vFzZbO<ibbSk:Z Vpbp~v s1=dzݫ k_eYe)0T{*HOz+ Π\Iz[I;Yz~$SPN؅uHo,$ܹXQʓqr2=vyw_-D[:|odk 0 vOCHF6j
-Q`y7!e퀯c({lW_ ?x.7dFBɃVx_"_8!bO ~bơ3ܝ>x~Ŗb8S(MH,Ϻ"=᪍l3Y3pfJlJqQP:R)~d5"ݶ,<nu6ǮrrW<'Y#Y +v#|Hd7B{:'F=3<+1Dκ;ү(ukmm( A'S.܋BKrnM~8fgΦuQf#  @wA(l o*RhPx1dÄtt1p?M1]eDs{Bکl#8bQ0HRx )+Z40"=i 9j`Dzkhs/b&^8yf;F%"I+W>Sʟ!re֕ i Mj^׊ bXỵ>dZ!R AGKrҤ5M="5M÷sbkYkX,Ӷyⴧ{^:0Jq  X
-S K(LI!XN^dž"Q1#uxPd@Y.0!_W}gP6#W@FQt+=ڶ窑x'~FboVu1"5]|Y6*9qUH@&(o9фs#N{7ZLH3ѩ!ڛ$&vFzQ 8Fk~2QA&tٓ;p3s[N|P켟Xfh&bD=ysc}d,>9"$D'.#&^:6#3m!s@rSTqdKַa;#nijЦ2|>pˠMۧ ;S™R<;ӗ͑u9Ign54M5A^*(;!gV}jˍd2T 8ͳ4!u2LB29V#R1@-UmmmDގK'+3J*_@;VLW_U'GB:=+< 2#R󭝆NUU8ϜxΦzYx*
-endstream
+3922 0 obj
+<< /D [ 3916 0 R /XYZ 73.209 724.994 null ] >>
endobj
3923 0 obj
-<< /Type /Page /Contents 3924 0 R /Resources 3922 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3916 0 R /XYZ 73.209 714.035 null ] >>
+endobj
+3924 0 obj
+<< /D [ 3916 0 R /XYZ 73.209 703.076 null ] >>
endobj
3925 0 obj
-<< /D [ 3923 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 692.117 null ] >>
endobj
3926 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 681.158 null ] >>
endobj
3927 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 670.199 null ] >>
endobj
3928 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 659.24 null ] >>
endobj
3929 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 648.281 null ] >>
endobj
3930 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 637.322 null ] >>
endobj
3931 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 626.364 null ] >>
endobj
3932 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 615.405 null ] >>
endobj
3933 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 604.446 null ] >>
endobj
3934 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 593.487 null ] >>
endobj
3935 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 582.528 null ] >>
endobj
3936 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 571.569 null ] >>
endobj
3937 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 560.61 null ] >>
endobj
3938 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 549.651 null ] >>
endobj
3939 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 538.692 null ] >>
endobj
3940 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 527.733 null ] >>
endobj
3941 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 516.775 null ] >>
endobj
3942 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 505.816 null ] >>
endobj
3943 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 494.857 null ] >>
endobj
3944 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 483.898 null ] >>
endobj
3945 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 472.939 null ] >>
endobj
3946 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 461.98 null ] >>
endobj
3947 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 523.748 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 451.021 null ] >>
endobj
3948 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 512.789 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 440.062 null ] >>
endobj
3949 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 501.831 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 429.103 null ] >>
endobj
3950 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 490.872 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 418.144 null ] >>
endobj
3951 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 479.913 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 407.186 null ] >>
endobj
3952 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 468.954 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 396.227 null ] >>
endobj
3953 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 457.995 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 385.268 null ] >>
endobj
3954 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 447.036 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 374.309 null ] >>
endobj
3955 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 436.077 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 363.35 null ] >>
endobj
3956 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 425.118 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 352.391 null ] >>
endobj
3957 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 414.159 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 341.432 null ] >>
endobj
3958 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 403.2 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 330.473 null ] >>
endobj
3959 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 392.242 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 316.525 null ] >>
endobj
3960 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 381.283 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 305.567 null ] >>
endobj
3961 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 370.324 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 277.671 null ] >>
endobj
3962 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 359.365 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 266.712 null ] >>
endobj
3963 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 348.406 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 255.753 null ] >>
endobj
3964 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 337.447 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 244.794 null ] >>
endobj
3965 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 326.488 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 233.836 null ] >>
endobj
3966 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 315.529 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 222.877 null ] >>
endobj
3967 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 304.57 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 211.918 null ] >>
endobj
3968 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 293.611 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 200.959 null ] >>
endobj
3969 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 163.101 null ] >>
endobj
3970 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 152.142 null ] >>
endobj
3971 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 252.765 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 141.183 null ] >>
endobj
3972 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 241.806 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 130.224 null ] >>
endobj
3973 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 213.91 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 119.265 null ] >>
endobj
3974 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 202.951 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 108.306 null ] >>
endobj
3975 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 191.992 null ] >>
-endobj
-3976 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 181.034 null ] >>
+<< /D [ 3916 0 R /XYZ 73.209 97.347 null ] >>
endobj
-3977 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 170.075 null ] >>
+3915 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3978 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 159.116 null ] >>
+<< /Filter /FlateDecode /Length 2007 >>
+stream
+x[n:W\DR/ I]` j;%[$fu!`l똤87. Gϗ|\%$p ނ˿~1t><646E1̓9v\
+88{ht2ry1> qT2&cH$fij1#I3Ҏ>MyGwvXoB{C$1c厫F
+3Ws1ɥǻ}dC-cT$,HxDGir[GeX/ؙ͈ q爿Nx;'Qti'$d8! VV%\t*HcB=W4ʕ0 ි5R;ˏ9"Kol;[\X8&ƀ9ʲrD$N8K cO}=&ZId3GZ:) jBL%NUhӱSXO*GÑԲ9(8\|QK%+ϭtO^#[;@v~Q.)scjR
+"{#A??ĀыT@;+} ʉAUr@;9_?6uۓZ@>~C*}Fs~-+ ,u?g~ )`wY[\'.#|#mu!'U h'[WR%98>#̬[>knʘd_]E>VFeTU hBZyn +KK yyԺaIvؔ୓,ΒӍ9΋rx,.ҵ!OAHj&${#N7iD P:sHtI!$zqL@mb}tdn3;>Dezd>A2$ɨ'#Mtu-1}_6CDT`n)9УMDO@mu`[(i 諺M4 a9G_Wm"h:<I*J9=PV
+vh[#8pB9Jߌ0";&'GTpv};Foפs¯ި<iRUƹ| HѶ6_~|@D
+endstream
+endobj
+3977 0 obj
+<< /Type /Page /Contents 3978 0 R /Resources 3976 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3536 0 R >>
endobj
3979 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 148.157 null ] >>
+<< /D [ 3977 0 R /XYZ 78.37 808.885 null ] >>
endobj
3980 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 137.198 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 745.915 null ] >>
endobj
3981 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 720.012 null ] >>
endobj
3982 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 709.053 null ] >>
endobj
3983 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 698.095 null ] >>
endobj
3984 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 687.136 null ] >>
endobj
3985 0 obj
-<< /D [ 3923 0 R /XYZ 81.145 82.403 null ] >>
-endobj
-3922 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3977 0 R /XYZ 73.209 676.177 null ] >>
endobj
-3988 0 obj
-<< /Filter /FlateDecode /Length 1964 >>
-stream
-xZMo6W,'=Vڞ;IQ&&q"k[ D{8<|t*Epz43SFioN/:$1/? FP߯ўJc*4#́w'a]5 a}{C N+$9"u'j) VH
-)Sŕqk^6Eb/t9x
-.HTrN85[{1^V+H;$b*
-ʞsL@.g-V c ZޭFn ԤlҳV;˶35ԞX]MzV)%h`lm~;hmk?yqD Ӧ"7e~i-% gё=
-nWT`'#ҸqRn㎲6S%Iذ9}5п#UL '2!9/eB3Ue"ҧagb;OH,54yVق>KNyaӕouskTǎꑀ
-h6 FtUĹ)ble˖g7v }7[u\%%x/w}zfJ(c GU iO CEA+〳jkBozYYJLq#`2 Y?#rzdbh9{fψwwP9rM4CpMQfӈi'̥iF8r2#҆cq@)7ѱPjF-.4ʽ58zm}4Ncl|̾ηOOSZI *t}FdTT҆?{cAʓ^nq%xHϷza|%FXs7{Fcql]4iBcGHx?Gi,GY6B<G<帔7 :NHޮ=:?)wSlVȣߟì,[k}W{U#BPy>!c֥c* ih\n
-7m-nU\pG%<~jS|_ک#IYUQ'6*eJbBYH/lQ:*5ɧ6^>~+v>W##[{oTB ƄE&8la gMZiXdzeB `PLHw5DS`5Ae0!'͚&yeBb:tYD-F<}ѤiU,N'Mƣqu~mNҾ∻qp܎ڸ t)XpnSNHwvcY (|n1&)Ia4EӑEyBC
-Ć9` +?ؽ!wmq>908ѰtWۤ[_ݴl҃K症_
-endstream
+3986 0 obj
+<< /D [ 3977 0 R /XYZ 73.209 665.218 null ] >>
endobj
3987 0 obj
-<< /Type /Page /Contents 3988 0 R /Resources 3986 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 3977 0 R /XYZ 73.209 654.259 null ] >>
+endobj
+3988 0 obj
+<< /D [ 3977 0 R /XYZ 73.209 643.3 null ] >>
endobj
3989 0 obj
-<< /D [ 3987 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 632.341 null ] >>
endobj
3990 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 621.382 null ] >>
endobj
3991 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 595.479 null ] >>
endobj
3992 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 584.52 null ] >>
endobj
3993 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 573.562 null ] >>
endobj
3994 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 562.603 null ] >>
endobj
3995 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 551.644 null ] >>
endobj
3996 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 540.685 null ] >>
endobj
3997 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 529.726 null ] >>
endobj
3998 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 518.767 null ] >>
endobj
3999 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 507.808 null ] >>
endobj
4000 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 496.849 null ] >>
endobj
4001 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 485.89 null ] >>
endobj
4002 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 474.931 null ] >>
endobj
4003 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 463.973 null ] >>
endobj
4004 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 453.014 null ] >>
endobj
4005 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 532.715 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 442.055 null ] >>
endobj
4006 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 521.756 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 431.096 null ] >>
endobj
4007 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 510.797 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 420.137 null ] >>
endobj
4008 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 499.838 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 409.178 null ] >>
endobj
4009 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 488.879 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 398.219 null ] >>
endobj
4010 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 477.92 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 387.26 null ] >>
endobj
4011 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 466.961 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 376.301 null ] >>
endobj
4012 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 456.002 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 365.342 null ] >>
endobj
4013 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 445.044 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 354.384 null ] >>
endobj
4014 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 434.085 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 343.425 null ] >>
endobj
4015 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 423.126 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 332.466 null ] >>
endobj
4016 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 412.167 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 321.507 null ] >>
endobj
4017 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 401.208 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 310.548 null ] >>
endobj
4018 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 390.249 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 299.589 null ] >>
endobj
4019 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 379.29 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 288.63 null ] >>
endobj
4020 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 368.331 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 277.671 null ] >>
endobj
4021 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 357.372 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 266.712 null ] >>
endobj
4022 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 346.413 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 255.753 null ] >>
endobj
4023 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 335.454 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 244.794 null ] >>
endobj
4024 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 324.496 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 233.836 null ] >>
endobj
4025 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 313.537 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 222.877 null ] >>
endobj
4026 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 302.578 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 211.918 null ] >>
endobj
4027 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 291.619 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 200.959 null ] >>
endobj
4028 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 280.66 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 190 null ] >>
endobj
4029 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 269.701 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 179.041 null ] >>
endobj
4030 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 258.742 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 168.082 null ] >>
endobj
4031 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 247.783 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 157.123 null ] >>
endobj
4032 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 236.824 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 146.164 null ] >>
endobj
4033 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 225.865 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 135.205 null ] >>
endobj
4034 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 214.907 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 124.247 null ] >>
endobj
4035 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 203.948 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 113.288 null ] >>
endobj
4036 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 192.989 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 102.329 null ] >>
endobj
4037 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 182.03 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 91.37 null ] >>
endobj
4038 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 171.071 null ] >>
+<< /D [ 3977 0 R /XYZ 73.209 80.411 null ] >>
endobj
-4039 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 160.112 null ] >>
-endobj
-4040 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 149.153 null ] >>
+3976 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 214 0 R /F83 294 0 R /F74 217 0 R /F59 226 0 R /F84 305 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4041 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 138.194 null ] >>
+<< /Filter /FlateDecode /Length 2226 >>
+stream
+xZI, ϯcrYv`@
+%i51832UzJ c~/!~9|g-iLc"
+@&@&))iV2=fܖXqIGBUy CT3ĚaZǜ rdGG ~%0S
+WV
+
+a" 8D[:P^1^ATd؇{4awx_Se c'3=i52#oF>Ć!`\۸ad5㜙—ҕL5!ު)U;^
+utXJY#-zt,/p\9Qy4==4S4^-.<jRVB6a[m(+8LpCF66&vbh }>(ܒM6QYRDiM9PJY>)O]_GgD9U K,,цRW,@Ou`XP<TJ\"U7KZĥQډE`%Oh|!O ) HV)l 7&0,ndAD$n$^ѹ<|(u򼥐\`Ok%K@SşV'3J]h0*I3Kvf]I! 4œL+UWUړdG27RG"9J}%HG@9츘H
+i_Squ8 ` {P^DʑNY ϥ[|)>5|{]J`ED*s5g*,h$cw*I킍0=y:vNAH`gUz_W^
+tLNrVb$u<Ɠ1@r<$g)q
+*)thi!Y=$fk]1]CTVrCd.;rL5^"x '{.O`Ѭь5WDJHW7aq]w*_"Gmy!;~{n|'dQ5S
+H9~āvq-^Nw/|ޑp9f՛3ݦ&5Sط+6I3D~dFsޙDg*Ԕ^ sCyZucW7^llWCݳHrzH鍙 (֙J/aL
+endstream
+endobj
+4040 0 obj
+<< /Type /Page /Contents 4041 0 R /Resources 4039 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4058 0 R >>
endobj
4042 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 127.235 null ] >>
+<< /D [ 4040 0 R /XYZ 78.37 808.885 null ] >>
endobj
4043 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 116.276 null ] >>
+<< /D [ 4040 0 R /XYZ 73.209 768.829 null ] >>
endobj
4044 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 105.318 null ] >>
+<< /D [ 4040 0 R /XYZ 73.209 757.87 null ] >>
endobj
4045 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 4040 0 R /XYZ 73.209 746.912 null ] >>
endobj
4046 0 obj
-<< /D [ 3987 0 R /XYZ 81.145 83.4 null ] >>
+<< /D [ 4040 0 R /XYZ 73.209 735.953 null ] >>
endobj
-3986 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F15 326 0 R /F83 403 0 R /F74 329 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4049 0 obj
-<< /Filter /FlateDecode /Length 2082 >>
-stream
-xZ;#W(<#dJcp8.=ہ"Y|4j-B+M,%9$>~0E
-:IN'gV>w,Ji@Jԏ|Z=pҏ@^ !y˟lϑizwY\gY?[BF
-%a5KJMVMíJ>wwQ)zUj BiIm5Ԗ$2:[jZ\ߣٲzOe EOdd\RZZ`PdѾZɳْG9`__}I]6[KZeI碥P Jl0JJ+%c_k:LD:
-:Rg(@`II\sT6zZ3 seJ&$gq
-Wzʣrɋ"!$gXo:R.{(Τ&έX4";إ~R *0
-pVL7`%jMd+@`}UO[X-9Bz2L/lyh4Һf (z̵))~,`ܐ|`rJ~,dJsp4B55EPvV`((SPQ(F `h_CyK>k|teԭ6cH莕:;їD$y;,E 901p4JTe ( ʑ׭F/Gq<Ғ]WKM%I1f
-),pSnp;mAX{neE;,vvIiTTW.>#F׉A]QR"n֧DC@G0sm T_w+z
-ٗJ}kPK**+ y@7IB-qMv_ݧ[՜|6(!ψdlT96$U}#ή~-J7+Tz;5Ԓ|^򬑺'J ée-u;yM?eea;<jbI@2lV <F*V hxZ|>f*[Qzw"xw\zt$yǤ2oc9c蕨էqŜ(P-o5( ɣ?]F= X=2Ti;,uk&q,9~@rk,($ANTZR ™0+%%tBo1\! Ulw>1Oz=aWku]Tv')JVedK<#:<~ɕ~)=--h
-gl?)νvr]ee[2,{bV} kӾu"}l9$;j-4 Z<5> K@QS:G҇"Z.iŖr.wgM) ]08 G
-9
-W͊*I>$x7)#}PqxM3zwoZsݸq3+2+<.dBՏHJ~$zL͘6:g,kSJV뮏{Mߋ_:-RZs\4 LIƮ< kIK\G>>6
-endstream
+4047 0 obj
+<< /D [ 4040 0 R /XYZ 73.209 724.994 null ] >>
endobj
4048 0 obj
-<< /Type /Page /Contents 4049 0 R /Resources 4047 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R >>
+<< /D [ 4040 0 R /XYZ 73.209 714.035 null ] >>
+endobj
+4049 0 obj
+<< /D [ 4040 0 R /XYZ 79.37 672.69 null ] >>
endobj
4050 0 obj
-<< /D [ 4048 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 564.425 null ] >>
endobj
4051 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 494.216 null ] >>
endobj
4052 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 435.962 null ] >>
endobj
4053 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 389.663 null ] >>
endobj
4054 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 343.364 null ] >>
endobj
4055 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 297.065 null ] >>
endobj
4056 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 214.901 null ] >>
endobj
4057 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 703.076 null ] >>
-endobj
-4058 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 692.117 null ] >>
-endobj
-4059 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 681.158 null ] >>
-endobj
-4060 0 obj
-<< /D [ 4048 0 R /XYZ 81.145 670.199 null ] >>
-endobj
-301 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 626.861 null ] >>
-endobj
-4061 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 518.597 null ] >>
-endobj
-4062 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 460.343 null ] >>
-endobj
-4063 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 414.044 null ] >>
+<< /D [ 4040 0 R /XYZ 79.37 144.692 null ] >>
endobj
-4064 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 367.745 null ] >>
-endobj
-4065 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 321.446 null ] >>
-endobj
-4066 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 239.282 null ] >>
+4039 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 226 0 R /F84 305 0 R /F88 521 0 R /F87 2183 0 R /F111 522 0 R /F64 213 0 R /F15 214 0 R /F74 217 0 R /F83 294 0 R /F65 215 0 R /F81 257 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4067 0 obj
-<< /D [ 4048 0 R /XYZ 79.37 169.073 null ] >>
-endobj
-4047 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 338 0 R /F84 404 0 R /F88 606 0 R /F87 2208 0 R /F109 607 0 R /F64 325 0 R /F15 326 0 R /F74 329 0 R /F83 403 0 R /F65 327 0 R /F81 358 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4076 0 obj
-<< /Filter /FlateDecode /Length 2643 >>
+<< /Filter /FlateDecode /Length 2641 >>
stream
-x[n45O1/M"!HQn+ʻvorM\Weߖo?k R>&qLтq-n~{s.9o^kxA埐xIkk?xϏ^h ](TšX)Ko|% 3
+x[n45O1/M"!HQn+ʻvor%Km嫲ߖo?k R>&qLтq-n~{s.9o_kxA埐xIkk?xϏ^h ](TšX)Ko|% 3
^t@:!0UVMۨ
-W0I6E3B@m&}pj5ߕYXICWzQrSzzs@YfᓺGi1]oDVG>(8SR}W7)ͿW" 4x̔zBj8vǙ%JT2(0,fW-
-,܊䅏 oops713%g 1rd|t]|Ϙdщr-U6d:v3eZ$ ټCI.5$r&̽Q p[2ByX@O88s`>ge +D
-?Š,7}̄eE$ s'uO-] Cw 'vLHsL?1H%Uᬧ)͸5d"LauWZVKAl:n;n4 ݣxـswc*1-C;"/mݔg1/5nI,Rr]/}.+7O^^bɎwVy/o~*d6Hst'M?)})l5_&:=_9
-4kC@3x<߀Q׭,!iW^l 4Hm0JGÄ=-Mh'fv=Bs„۬m781=Ud)lw8o 4ӄUT"JJ7ޖ"$6uK)lhpS<^WJ͌^N43d:.2eXfDFI>݃5EEDAA,@E(^W_-+ 6SI#?c_h94^ Vkcr /(⨙~EdsU ĻlR _5DOJVX "Z؎<MsK*4#5^\5 ^Rl\C̏Sgbr
-ʆo[jGQ%y%YF#>Kn5Ƨ⨎fnSW7WP~0d1"EY W3Fhd hqN%O
-0FU;< 4C
-Ɖ!uuζ<H/=|/r1(Ќ@]eCR.3Vvd]<FP: 'D=燉>u6qI3vO/o!$KlA6y>(7XpZ7|#h=mJfV9FyJҼ̓RCGd `(-xzҡ $+=U ӍxɞXQɰNu93-Yͣ| &gˤrZw$
-Y(
-fd) 14Jr8ɌBD .I@ asbj
-~̎Dk(ff.Ok@Y#xKdR4."c/LLQt
-c{3'mhw19!뻋FEb z6ΏYjpj@
-1ۉG&uk&PԒ_O&6nrA5xw' /('
+W0I6E3B@m&I+j+8`!/R߽\v\=G-z5纁'uN
+c|'E}Pp륄n(4S`ǯDh;ə)$q숃3)K4ҕ!3eFͣ!PX{a4X=6[=C̙)(
+c8cBU gdA* zg=Miƭ'e"tZ
+bqEqiN
+"5¸nX3dډg`OνƘ= {Ԙ 1 uʂq̦ HL;jAݶz {4L(Tf({bfȑi/!4))Lvaa#ZuN| Qa!Q:V(
+zJ&i!oiU^B;Ř9ryae joO0h99
+dB<ꔢH)@HV@J9P'tȄw[P/(Orv(}6,2dKU<REA vmm$_s#! 럃zzN6:C=͐qiH]9sya!_z =24#|5FoYPˌ
+צSpLdʃ*=@䈆`.֒?]ɂC8?fÕ!
+k# @jP]AxM/
+1ۉG&uk&PԒ_O&6nrA~JW^?^)
endstream
endobj
-4075 0 obj
-<< /Type /Page /Contents 4076 0 R /Resources 4074 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R /Annots 4087 0 R >>
+4066 0 obj
+<< /Type /Page /Contents 4067 0 R /Resources 4065 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4058 0 R /Annots 4079 0 R >>
endobj
-4087 0 obj
-[ 4068 0 R 4069 0 R ]
+4079 0 obj
+[ 4059 0 R 4060 0 R ]
endobj
-4068 0 obj
+4059 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 135.489 168.645 144.376 ]/A << /S /GoTo /D (section.0.1) >> >>
endobj
-4069 0 obj
+4060 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 113.572 162.18 122.538 ]/A << /S /GoTo /D (section.0.2) >> >>
endobj
-4077 0 obj
-<< /D [ 4075 0 R /XYZ 78.37 808.885 null ] >>
+4068 0 obj
+<< /D [ 4066 0 R /XYZ 78.37 808.885 null ] >>
endobj
-4078 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 775.009 null ] >>
+4069 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 775.009 null ] >>
endobj
-4079 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 668.934 null ] >>
+4070 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 668.934 null ] >>
endobj
-4080 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 622.635 null ] >>
+4071 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 622.635 null ] >>
endobj
-4081 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 552.426 null ] >>
+4072 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 552.426 null ] >>
endobj
-4082 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 506.127 null ] >>
+4073 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 506.127 null ] >>
endobj
-4083 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 435.918 null ] >>
+4074 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 435.918 null ] >>
endobj
-4084 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 329.843 null ] >>
+4075 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 329.843 null ] >>
endobj
-4085 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 247.679 null ] >>
+4076 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 247.679 null ] >>
endobj
-305 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 191.315 null ] >>
+4077 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 191.315 null ] >>
endobj
-4086 0 obj
-<< /D [ 4075 0 R /XYZ 79.37 176.396 null ] >>
+4078 0 obj
+<< /D [ 4066 0 R /XYZ 79.37 176.396 null ] >>
endobj
-4074 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 325 0 R /F15 326 0 R /F74 329 0 R /F65 327 0 R /F81 358 0 R /F22 357 0 R >> /ProcSet [ /PDF /Text ] >>
+4065 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 213 0 R /F15 214 0 R /F74 217 0 R /F65 215 0 R /F81 257 0 R /F22 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4140 0 obj
-<< /Filter /FlateDecode /Length 6178 >>
+4131 0 obj
+<< /Filter /FlateDecode /Length 6400 >>
stream
-x͎zFṯo4v ӜQ&AHwmWLð~IQd<֬om]Oױoo5ߦ멛Mcs:ͷ?ۿ<˿neh_Mjο̿޵Xs1S3=nǪ_4._x{8V]mlQSy Λ}at=X6wopygՎVw`_?ꡝj8^Oސi8]c;uksjN˼Vwqꦟ>M{:o}t4oannn4'iӤSwOҟ^Iu:o}in4an4'uw{2o}8o's^ơzZOө쳤S׳}vn,Ybzm˘>ij[Igq cI/2w~G_i<KkrQGp
-iiҵN
-iiӴiZ4p:8pV8M+RJV8M+N
-
-iӥ
-
-iӴiZtmnVf~[b2}5e;V YżV"$BBay/}G"Nҵ/Ni4}q:}8}q8M_/R/J׾8M_/Nӥ/itˮ/Mw./]^i?ˎC҅ea꿲nȭ<m_:tTh~ouXW0Ct
-3f+ylƹLs
-3(7Nr
-3f;)0C\2e; 0\aŒoNʼ{i`᫬3ŴNb^GS-}I˛Ho4|MqqmÛH.t<gi#ZA
-.-:1:5:9SK
-R' R R' V2H4HAR)N3vN}g{ 5rh=|5S<|̏m粵Z_NMIݞy{B`uJ uJ:g%HY VG%Α@s$P0Z]fQjV
+xώX~G}?_`4_I@`neл *"$\D F?\R|;O~koնn؎?ߚo۩|<6o/ߚ[;s՞]oݵ~wwmݯfS~ߏǢ7G݈Kf|,yz< LsOu۩93mu5mcsnl獜Fkm3x 7zRhu7^ioV__trNcX}Nݵ֜:myOmMm&]wt0mC7m}tӓ4i]SwOڟ^Iu6m}˴i7ôiOOM<mEioTNyF۩?k}>K9u;gIkϒ9IS<4xNx?Jl?Vd}&^GI{3(u[Z~
+
+
+iӴiZ!uZtmӴiZ4:pV8]Z,:pV8M+JVlfnE;=ogٶ?j+vϳ~hmهZB0^ִc5EL;j%2J"_/.4KX}8q8M_N_}q8M_N_/Ni4}:}Qi4}qH8M_.}qH8M_/Nk_6}i7yn{yewJ?.;+;(/vCiҩKBGr4 c]a u3f+DWp湳
+3f+,w8:f+W1p q Wp& p
+3 {3߾+8=WYfxyi>ZNӏ2]/9 4w&-o"=4=^_McNrtmtӴ-{wK N N N.=AA$A4ɂ ե R' R/m6qAAAi
+4+~/i3὆ Cc9|y=K>}7NmZ_OMIݞi{B`uJ uJ:g%HY V/G%Α@s$P0Z]fQjV
NR:+Y)8JiV
Ng qV
NRpӬJARpӬf uV
NRpe uV
-NRpӬ+B3ڥpqpWv=]KvC4th:M4&Rh:L4&NMMk4&NMMDit)q4th:M4N4th:M4&R'NMK4%R'NMDSͭpn_Es.~-yl~]Õ4_m(R'J8M&R'NɁ@ir49pH(]s49p8MN&N8KN&NɁ5[=6]sPY{%k?O9~p
-ޚ^nއ}8Mn&7R'7J8Mn&7R'7NɍFir4qH(]s4q8MnNn&7N8KnNn&7Nɍ57[}k<Dk.ڧgy<=d~ h9Ƨkogqx9ckj7#InQR&)NkR&)NI$it"q4Iq8MRNRIq8MR&)R')NKR%)R')NI$E隔]/R8\0K=ɵ' McD^J7mx~{< wœ p<l8t^wn[~<>2WwqU޽胷^ ,q
-,u
-,u
-lu)XXR`S`S`S`K-.:::i
-,u
-,u
-,u
-lu))kM.:::vp!Sw1Ta|:XN}ۃ V3:RɯW_ɯi+utͯi+u4u:M~N~%N~&N_ɯɯ5N_ɯWitɯWi4u*]>Or^~ˣ:MzNz&N^IӤW^IӤi+uҫtMӤi+u4u:MzNz%Nz&N^II5N^IӤWitIWi4u*]ӻm?a}Lfs;O,J+ib%ubtib%ub4rX9MN$N&VN+ԉ5VN+JibtJib4rX)=;_k/'\<.cN",̚mkf-;5s9M.s9M휦vRvJ9M휦vRvNS;Nij4sI)]k4s9MN휦vN9KN휦vNS;ҵv;ڵkݑS; h5.˵B_Gw%K&JN%ԉ5JN%ԉDi4Qr:Q8Qr(9M&JR'JJ(9M&JN%%%J%%DitN(q̰!J@tgt_>e튑wgwʿz1ߏE~ I$i$utM$i$u4 r9MN$N&AN II5AN I$H$itI$H$i4 r)]'.?< ~#Ѽ%C|j`OjKdW.1h߰H]ʧݮ}4(N  k4&N  Dit!q4ph8M4N4ph8M4&R'N K4%R'N DCnus0Oiz[GW
-i~u/'k?~8{*?8::iR#uR#uRcuIIII%5HHHX]R4:::FF55&5VHHH8MjSⷯRsV6}{=vk١ ۍ=jӴAAiӴAi4mp686H68M Nk NiiӴgiiӴi4mPaؓl8/wC^ux{w8aNv`o7h+]grRg;,wY4r3˝f;,wY.ufu;,wY4\rNY,\rN3˝f+]gNjm^#^ěcKhvC9TDTDZTDTi*4q8H8ME"NSSkE"NSԩTRgԩTi*4QVd?U=" Lۭ?Jׁ4iN3Нf;@w:] tN3НfKtN3Нf;@:ie;@:i tJׁ:I˟ownv|eWk?9Y﹩F|5 )vOaG{
-N4a:aQi4a:aq8MX&,N',',N ӄEE ӄi"u4aqY"u4aq8MXaOS<ԎJo 9õ^{.\e1I.OnOlaݭwnoYu^0?i4iL#3iL#FRg94rL#gFRg94ri4H:vS輼BW,8y|~IK;
-NSөĩTi4U:UPVi4Up*H*8M.Up*H*8M
-NSkvc}CJVaOaOn)]o>o7w0T 9x|9Η|9Η|I]vfi24:Ufi24:u:Mf&N''NYɬdVdVYɬdi2+u24udY2+u24u:Mfݥmpޟz}gl.t1ZϾ}l?n䝩+/߿|[\&݇:#gX?xJNus KpJΓk1ʏԕvcVNpӬ4.+ Yi8JiVRgt]i8JiVRg4+ Yi8J4$JiVNpYi(]WNpӬ4JiVN4JiVNpuoy|9;#9<p@?nQ
-&NBI%BIӤPPBIӤPiR4)t:J:M
-&NBBk
-&NBIIӤBgIIӤiR4)Tpv\aġQ8<rkiGqa4qr8I8)]4qr8I89M&NN'''i$uti4q:qr89],q:qr89M&NJ8m'{:?iti\>c7\wpeOI}?WW׼JJJZ]4y:y:yUUUUWK^N^N^N^.yuJJJZ]*u*WiWK^N^N^N^&;l^/iM_k/m|yZٮ)L&t)Kr
-98kp
-87ɛMaplҦ0eS)LN US)L&ih
-4K%gf
-3i¤Z ^Cven-_uJTQ?&ǟF7Ɂ
+NRpӬ+Bs9s!^Y>ϲe|r-Ei4th:M4.th:M4&R'Jh:M4&R'NMDDSDi4thJh*]4th:M4N4&Nh:K4N4&NM5kwܾ沛](v9xχ+Wi'n֏(R'J8M&R'NɁ@ir49pH(]s49p8MN&N8KN&NɁ5k=6]sPY{%k?O9~r
+ޒ^Xoއ}8Mn&7R'7J8Mn&7R'7NɍFir4qH(]s4q8MnNn&7N8KnNn&7Nɍ57ltͽvnSn~>H}yCv+j|~g3ȋ?f.v3%i4I:IQ&i4I:Iq8MR&)N')')NI$E$EI$i"u4Iq$Y"u4Iq8MRI٤)mzbbwRG"Ι[,Vq5yiߧ'/Xjn46?r:u2G6Y?x|ֲe]aaZ:u #y؝gۆ8, >_9zҏ=W{nY,n$F,n겸qōYHōeq#u7Rgq#u7Rōeq#u7Rgq#u7Vō,nF,n겸:ōYX]7Rgq#u7RgqpNkk{vgq?<4OGk,ͷ=8T0cu9aF0#uN;M. v;M&R'J;M&R'N`I$$X$i4 vK+]4 v;MN&N;KN&N`I5wאk;{w0u8U*Lx
+]Ku%
+\I)5
+[ɭéVaZ0U8u6U*Lf'*Lb
+XWɫ¥WVI”Uajp{7xh/[gQϾ~p~"yGBsGzys`hGAa4Mr(I*)]4]r0I29MMN'S''i
+%utmDi*4:rP9]J,:rX9M&WJ^mtk=~ܙžzt$ly+T)vkaG^
+:)%t9ɜTD8INa0yS)9)Ll
+65kj
+5iIM4EəLab0-3l?UiRpHuʸ:ȳ4W,x ќEGRɎti#uʣtMӴi#u4q8MN$NAN!ɐҵCN")ӤHibtHi4Er$)]'.<It-'P?mZ^7x(Hz{?@Φ?'?>(L{NzNy$.q8q8q8qDGSKo&76'6588tFSI;ן~*uMMB͙~>r<LM{SFk|Wga(4a:ePi4q:up<8M&N'NTBdB ӔiR!uZ4pYr!uz4pb8M2\: h<tWv¿ҧ7`aR4qH(]S4qH8Mj&5NIӤiR#uRtMӤiR4:q8]R,:q8Mj&5Jlt| ]fOen4
+a_mXoQ R J68M R NiӴAi4mp6H6(]4mp68MN N68KN Niҵ 6^}x7,cF^~N0~4˕ifr3˝f;,wYtfęN3˝f;,:\:˝f;,wY.ufr,wY.ufrN3˕|O\S{{_ޏx;?;3~=cKhzC9TDTDZTDTi*4q8H8ME"NSSkE"NSԩTRgԩTi*4QVd?U|꺷{o*&l3h+] tRg;@w4 t3Нf;@w.uu;@w4] tN,] tN3Нf+]FntƦaA28_p\PG_aَ7}$p]zۏfOi"u¢t ӄi"u4aq8MXNX$NX&,N 5,N ӄEit Ei4aq(]òѭFxsXNaj:qnj:õ^I_{2_e1IZ( O`Mo?dm~.HL#34L#FRgIi$ueIi$24L#34:iVjM_w,n@y|}57K _HWsޫx.>_/ݗwpe,/ pӼ,et}Yl^44o#|V^.yG/
+R
+J*8M
+R
+NSTTATi4Up*H*(]4Up*8MN
+N*8KN
+NSҵ
+kT^އݞv>
+ϟ\L
+×κ=uN3ά8if:uRg)]g:uN3άsYtu2άsY4ifu֭csy6Qf:eum˭~?
endstream
endobj
-4139 0 obj
-<< /Type /Page /Contents 4140 0 R /Resources 4138 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R /Annots 4142 0 R >>
+4130 0 obj
+<< /Type /Page /Contents 4131 0 R /Resources 4129 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4058 0 R /Annots 4133 0 R >>
endobj
-4142 0 obj
-[ 4070 0 R 4071 0 R 4072 0 R 4073 0 R 4088 0 R 4089 0 R 4090 0 R 4091 0 R 4092 0 R 4093 0 R 4094 0 R 4095 0 R 4096 0 R 4097 0 R 4098 0 R 4099 0 R 4100 0 R 4101 0 R 4102 0 R 4103 0 R 4104 0 R 4105 0 R 4106 0 R 4107 0 R 4108 0 R 4109 0 R 4110 0 R 4111 0 R 4112 0 R 4113 0 R 4114 0 R 4115 0 R 4116 0 R 4117 0 R 4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R 4123 0 R 4124 0 R 4125 0 R 4126 0 R 4127 0 R 4128 0 R ]
+4133 0 obj
+[ 4061 0 R 4062 0 R 4063 0 R 4064 0 R 4080 0 R 4081 0 R 4082 0 R 4083 0 R 4084 0 R 4085 0 R 4086 0 R 4087 0 R 4088 0 R 4089 0 R 4090 0 R 4091 0 R 4092 0 R 4093 0 R 4094 0 R 4095 0 R 4096 0 R 4097 0 R 4098 0 R 4099 0 R 4100 0 R 4101 0 R 4102 0 R 4103 0 R 4104 0 R 4105 0 R 4106 0 R 4107 0 R 4108 0 R 4109 0 R 4110 0 R 4111 0 R 4112 0 R 4113 0 R 4114 0 R 4115 0 R 4116 0 R 4117 0 R 4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R ]
endobj
-4070 0 obj
+4061 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 758.062 199.908 769.031 ]/A << /S /GoTo /D (section.0.3) >> >>
endobj
-4071 0 obj
+4062 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 746.057 217.99 757.016 ]/A << /S /GoTo /D (subsection.0.3.1) >> >>
endobj
-4072 0 obj
+4063 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 734.102 271.838 745.17 ]/A << /S /GoTo /D (subsection.0.3.2) >> >>
endobj
-4073 0 obj
+4064 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 722.266 260.909 733.106 ]/A << /S /GoTo /D (subsection.0.3.3) >> >>
endobj
-4088 0 obj
+4080 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 709.753 282.11 721.708 ]/A << /S /GoTo /D (subsection.0.3.4) >> >>
endobj
-4089 0 obj
+4081 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 690.217 177.731 699.263 ]/A << /S /GoTo /D (section.0.4) >> >>
endobj
-4090 0 obj
+4082 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 675.88 307.764 687.835 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
-4091 0 obj
+4083 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 664.373 172.561 675.322 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
-4092 0 obj
+4084 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 652.418 214.364 663.477 ]/A << /S /GoTo /D (subsubsection.0.4.2.1) >> >>
endobj
-4093 0 obj
+4085 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 640.463 276.302 651.522 ]/A << /S /GoTo /D (subsubsection.0.4.2.2) >> >>
endobj
-4094 0 obj
+4086 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 628.508 251.943 639.457 ]/A << /S /GoTo /D (subsubsection.0.4.2.3) >> >>
endobj
-4095 0 obj
+4087 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 618.376 258.917 627.611 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
endobj
+4088 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 594.675 378.259 605.644 ]/A << /S /GoTo /D (section.0.5) >> >>
+endobj
+4089 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 574.65 197.477 583.726 ]/A << /S /GoTo /D (section.0.6) >> >>
+endobj
+4090 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 560.752 249.98 571.711 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
+endobj
+4091 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 548.797 202.349 559.756 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
+endobj
+4092 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 538.675 200.416 547.801 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+endobj
+4093 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 525.006 243.704 535.955 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+4094 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 514.765 231.559 523.89 ]/A << /S /GoTo /D (subsubsection.0.6.2.1) >> >>
+endobj
+4095 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 502.809 244.312 511.935 ]/A << /S /GoTo /D (subsubsection.0.6.2.2) >> >>
+endobj
4096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 596.568 197.477 605.644 ]/A << /S /GoTo /D (section.0.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 489.021 252.591 500.09 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
4097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 582.67 249.98 593.629 ]/A << /S /GoTo /D (subsection.0.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 477.185 269.318 488.025 ]/A << /S /GoTo /D (subsection.0.6.4) >> >>
endobj
4098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 570.715 202.349 581.674 ]/A << /S /GoTo /D (subsubsection.0.5.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 466.944 256.257 476.07 ]/A << /S /GoTo /D (subsubsection.0.6.4.1) >> >>
endobj
4099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 560.593 200.416 569.718 ]/A << /S /GoTo /D (subsubsection.0.5.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 453.165 267.465 464.114 ]/A << /S /GoTo /D (subsubsection.0.6.4.2) >> >>
endobj
4100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 546.924 243.704 557.873 ]/A << /S /GoTo /D (subsection.0.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 441.21 283.794 452.159 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
4101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 536.682 231.559 545.808 ]/A << /S /GoTo /D (subsubsection.0.5.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 429.365 259.216 440.204 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
4102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 524.727 244.312 533.853 ]/A << /S /GoTo /D (subsubsection.0.5.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 417.41 285.228 428.249 ]/A << /S /GoTo /D (subsubsection.0.6.4.5) >> >>
endobj
4103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 510.939 252.591 522.007 ]/A << /S /GoTo /D (subsection.0.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 407.168 260.89 416.294 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
4104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 499.103 269.318 509.943 ]/A << /S /GoTo /D (subsection.0.5.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 392.941 356.78 404.897 ]/A << /S /GoTo /D (subsubsection.0.6.5.1) >> >>
endobj
4105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 488.862 256.257 497.987 ]/A << /S /GoTo /D (subsubsection.0.5.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 380.986 423.071 392.941 ]/A << /S /GoTo /D (subsubsection.0.6.5.2) >> >>
endobj
4106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 475.083 267.465 486.032 ]/A << /S /GoTo /D (subsubsection.0.5.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 369.031 434.598 380.986 ]/A << /S /GoTo /D (subsubsection.0.6.5.3) >> >>
endobj
4107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 463.128 283.794 474.077 ]/A << /S /GoTo /D (subsubsection.0.5.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 357.634 298.12 368.583 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
endobj
4108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 451.283 259.216 462.122 ]/A << /S /GoTo /D (subsubsection.0.5.4.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 347.392 179.455 356.518 ]/A << /S /GoTo /D (subsection.0.6.7) >> >>
endobj
4109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 439.327 285.228 450.167 ]/A << /S /GoTo /D (subsubsection.0.5.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 323.761 226.618 334.66 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
4110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 429.086 260.89 438.212 ]/A << /S /GoTo /D (subsection.0.5.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 301.843 153.283 312.682 ]/A << /S /GoTo /D (section.0.8) >> >>
endobj
4111 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 414.859 356.78 426.814 ]/A << /S /GoTo /D (subsubsection.0.5.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 289.768 196.72 300.727 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
4112 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 402.904 423.071 414.859 ]/A << /S /GoTo /D (subsubsection.0.5.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 277.813 285.168 288.882 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
4113 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 390.949 434.598 402.904 ]/A << /S /GoTo /D (subsubsection.0.5.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 265.858 215.52 276.817 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
endobj
4114 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 379.552 298.12 390.5 ]/A << /S /GoTo /D (subsection.0.5.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 253.903 278.842 265.081 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
4115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 369.31 179.455 378.436 ]/A << /S /GoTo /D (subsection.0.5.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 241.958 207.39 252.906 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
endobj
4116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 345.679 226.618 356.578 ]/A << /S /GoTo /D (section.0.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 220.08 343.181 231.048 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
4117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 323.761 153.283 334.6 ]/A << /S /GoTo /D (section.0.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 208.075 222.155 219.033 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
endobj
4118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 311.686 196.72 322.645 ]/A << /S /GoTo /D (subsection.0.7.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 196.119 221.168 207.188 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
endobj
4119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 299.731 285.168 310.799 ]/A << /S /GoTo /D (subsection.0.7.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 183.726 250.508 195.681 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
endobj
4120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 287.776 215.52 298.735 ]/A << /S /GoTo /D (subsection.0.7.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 172.209 209.691 183.278 ]/A << /S /GoTo /D (subsection.0.9.4) >> >>
endobj
4121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 275.821 278.842 286.999 ]/A << /S /GoTo /D (subsection.0.7.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 160.254 235.007 171.213 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
endobj
4122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 263.875 207.39 274.824 ]/A << /S /GoTo /D (subsection.0.7.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 147.86 331.933 159.816 ]/A << /S /GoTo /D (subsection.0.9.6) >> >>
+endobj
+4132 0 obj
+<< /D [ 4130 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4129 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4158 0 obj
+<< /Filter /FlateDecode /Length 4062 >>
+stream
+xn}_o$5@wA3))Dr =~bS=Hj^,uiۗ/_ּ Soo^zkz^6ӗIߎױC^~x m2Toט~k?/{]?Gt6I߫S_{֏}=o7K;zTX5mj"MmvsTS1ڴ} ]Շ1TaOvj&IzR#աv'Uhbn4 mzJM&! iXw!m7}9>ҧI*LiX5'4i!m7}ĦKM&1= PvӧI}n_>')}`=UzϒSSM%qjvgIz6ś}4߿;|prL^WrRύ/*5=ßr8Jv$ P+ H$0$0$@$0$0$0$0$@$0$0$0$@$ ]
+9:P+L;L;L;HPlshBƣNK܉.i~/ h|(X|iEa,?Fmv8id29,ž{"ˬF,ž{"ʰ+e"ኰg+ k"pz2*ž{\&5tMՎGI<Qu\b\99rȻu2cs|\9;=Cq}(ő.L;LP+LL;LL+L;LL;PHX0Z0\0^@`0b0t V刟8Ui2#Lz0'^~qquaa]gXUq* +"22B+ʰ"ʰʰp.(9 + x"v2t2r2pBɰRMFMs3V2V1V0v/8L2=9IGׅ͕k/J:-nd^߬GWmI:v;v<V=.``Za a aaZXaa!a%Z)AiDŽiׄiji\f]KWz Ka*=NuOSx%4\jPjbrmr;|
+xvnDؓaN=7dVSaM=3dX20DaOK5,D8JD=)֠DsaI=% .Cr3׍c{=kWJz=v C}xt\jx}L{e;-kn˴[ˬ\2}iL{E[=!76UWOx헃q^kSOc3PD6>ʹOe3sLd6>'I0sP>'ց5>fڇLؚi\Ck}xʹ65ҥLLLPLL^3^C^3^3^3^#]za|x; ;<ގ'wDzq]'ededede:aiijRF]F]FUF]F]F]FUFUF]F]F]FUFKvvvVvedeZedededeDq̫ү4MlY>s]+ Q~HڶS>kɇ!=@ ]BCC
+9:P+L;L;L;Hlu- }yym9}y9_ztxw;'>ɴO}B^1^1yǰxLLPH33C3333C333C#]δδδδt::::::ҥ[=wVz7ʍ m̓ӟe V/&%ϼ;P? 2y(C 2PLqPk(C 2y(3 2Pk(S2P/CZ ePZCj e5PT<4wL̃uQz1~yre]\Z\zY@
+Z@
+yt)#.#.#*#.#.#.#*#*#.#.#.#*#ҥLLLPLL222B2222222"]ʸs= ٥> YC/wƺ |mav[t--svvvV.bb݂ZbbbbZ݂Xbbb݂ZBtiwiwiw juiw-f-----KuK74+\߉FGu2.iz=֠gڃiz=֠Xiz=Z2gڃiz5g:zf=֠gڃiz=.~AOoP٥{/P3u=˵_FA4m` `=Z=Biijiiiibiiij######suVvvv.=>>s))&h{T_^~Sfm:9eƴu....*ҥ\L\L\P\L\L\L\L\\L\L\L\P\Hr1r1r1rAr1r1ŬŴŴŴ˅t)V7ڦÕWm8~57~yn&n&n&Թ LLPHf2f2fBf2f2f2f2fBf2f2f2fBf"]ɴɴɴ ɴtn&n&j&n&n&n&ҥ[wmJQ;j)mήnom9Թo oLoLoPoH11A1111A111A!]ƴƴƴƴtҥo[= _]iإm/\Oy֩(pLk@@@PkôkjjCu Ԫ Ԫ Ԫ Թ6@@@PkôkjjjCu Ԫ KmUmεZZZaڵ6 dWSןU߂5tWAPv;޽aK^<z"7ҾTm m
+m?eUGeL݃YPk`ڻ=t=:~>qi9) `lK<U{҆ѧ8뻿C333C#]δδδӞ[LŬԚ[L{n1ŴenmssO+$ig}͹+O9w^rj-.=c=c=c]`Z]X]`]`]`]Z]@tiwiwiwjuiwfKzx:zx<{}{]\Z+d'#~/nK3.w߽k=yƦLaSjMaSiO=EaS<EZSiO=EALwzTM};X{ SOcm? jEjꫛeWGȃ{粆\Tc]S]5}zt{=ϯ
+endstream
+endobj
+4157 0 obj
+<< /Type /Page /Contents 4158 0 R /Resources 4156 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4058 0 R /Annots 4160 0 R >>
+endobj
+4160 0 obj
+[ 4123 0 R 4124 0 R 4125 0 R 4126 0 R 4127 0 R 4128 0 R 4134 0 R 4135 0 R 4136 0 R 4137 0 R 4138 0 R 4139 0 R 4140 0 R 4141 0 R 4142 0 R 4143 0 R 4144 0 R 4145 0 R 4146 0 R 4147 0 R 4148 0 R 4149 0 R 4150 0 R 4151 0 R 4152 0 R 4153 0 R 4154 0 R 4155 0 R ]
endobj
4123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 241.997 343.181 252.966 ]/A << /S /GoTo /D (section.0.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 758.132 184.546 768.971 ]/A << /S /GoTo /D (section.0.10) >> >>
endobj
4124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 229.992 222.155 240.951 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 747.89 182.752 757.016 ]/A << /S /GoTo /D (subsection.0.10.1) >> >>
endobj
4125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 218.037 221.168 229.106 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 734.222 281.114 745.17 ]/A << /S /GoTo /D (subsection.0.10.2) >> >>
endobj
4126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 205.644 250.508 217.599 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 266.498 733.215 ]/A << /S /GoTo /D (subsubsection.0.10.2.1) >> >>
endobj
4127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 194.127 209.691 205.195 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.025 308.71 721.26 ]/A << /S /GoTo /D (subsubsection.0.10.2.2) >> >>
endobj
4128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 182.172 235.007 193.131 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
-endobj
-4141 0 obj
-<< /D [ 4139 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4138 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4164 0 obj
-<< /Filter /FlateDecode /Length 4060 >>
-stream
-xn}_o$qk,άf_:ĒD`T,R6?_'o?.}4؏u/҄e_om~~XڥvǹmCdƥm1m_־ mlbo~ŰtãM꧴qivn|ڂCD~u#_o_o|#6ut}of"]h~vsT?Rƴ1힩 c멙LC394aO~.IzR3աv'Ubn4 }{zIM&!LiX!m7}91ҧI&,it4Yi)m7}nHM&1=ЦힰvӧIcn>'a4znϒSKK%qvgɐzĻwun>ae=$yBXє~ͿZ]Óv |ݔ0WkoFK҃
-
-.
-N
-n
-%*^pUơIOvÓsk]|?챞}˿ԙX.{s~ߛaS,_ïz>8Gw67DSaM53DaL=/ָ$LK=,DأaMJ=(sQI5%D3aH˄dSϷ"9^{=z)˱=\_sj^'<]뿬iL{eڻ,gNtkn [2=iH};ӝ7v.kdn%][ jf管k}if篙 l}*i`ڧ"֩˩}*iQCCj}LʹQ5:XLiY3CkkKvvvVvαfֱZfڱfڱfڱFĺ!: a8<r~x߿T(s9/Y7,L;L;L;P,2,2,2,B,"]ȴȴȴȴȴȴȴȴȴt""""""9:P+L;L;L;H,:̟Yæe9~;v 1ov^Ϳ*Wo}Y~;Rv׎F~ gZ@DiGiG
-s sLoߛ{ogy`7 o ]Zԃpx<Oчp뿑C333C#]δδδZLŬZL{h1ŴehsCkLkh 5~CX5
-endstream
-endobj
-4163 0 obj
-<< /Type /Page /Contents 4164 0 R /Resources 4162 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3742 0 R /Annots 4166 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 700.07 268.292 709.305 ]/A << /S /GoTo /D (subsubsection.0.10.2.3) >> >>
endobj
-4166 0 obj
-[ 4129 0 R 4130 0 R 4131 0 R 4132 0 R 4133 0 R 4134 0 R 4135 0 R 4136 0 R 4137 0 R 4143 0 R 4144 0 R 4145 0 R 4146 0 R 4147 0 R 4148 0 R 4149 0 R 4150 0 R 4151 0 R 4152 0 R 4153 0 R 4154 0 R 4155 0 R 4156 0 R 4157 0 R 4158 0 R 4159 0 R 4160 0 R 4161 0 R ]
-endobj
-4129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 758.132 184.546 768.971 ]/A << /S /GoTo /D (section.0.9) >> >>
+4134 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 686.401 208.436 697.35 ]/A << /S /GoTo /D (subsubsection.0.10.2.4) >> >>
endobj
-4130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 747.89 182.752 757.016 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
+4135 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 676.159 258.718 685.395 ]/A << /S /GoTo /D (subsubsection.0.10.2.5) >> >>
endobj
-4131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 734.222 281.114 745.17 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
+4136 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 664.204 316.441 673.439 ]/A << /S /GoTo /D (subsubsection.0.10.2.6) >> >>
endobj
-4132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 266.498 733.215 ]/A << /S /GoTo /D (subsubsection.0.9.2.1) >> >>
+4137 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 652.249 397.756 661.484 ]/A << /S /GoTo /D (subsubsection.0.10.2.7) >> >>
endobj
-4133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.025 308.71 721.26 ]/A << /S /GoTo /D (subsubsection.0.9.2.2) >> >>
+4138 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 638.471 194.479 649.42 ]/A << /S /GoTo /D (subsubsection.0.10.2.8) >> >>
endobj
-4134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 700.07 268.292 709.305 ]/A << /S /GoTo /D (subsubsection.0.9.2.3) >> >>
+4139 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 626.515 223.271 637.464 ]/A << /S /GoTo /D (subsubsection.0.10.2.9) >> >>
endobj
-4135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 686.401 208.436 697.35 ]/A << /S /GoTo /D (subsubsection.0.9.2.4) >> >>
+4140 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 614.55 274.508 625.619 ]/A << /S /GoTo /D (subsubsection.0.10.2.10) >> >>
endobj
-4136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 676.159 258.718 685.395 ]/A << /S /GoTo /D (subsubsection.0.9.2.5) >> >>
+4141 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 602.605 185.562 613.664 ]/A << /S /GoTo /D (subsubsection.0.10.2.11) >> >>
endobj
-4137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 664.204 316.441 673.439 ]/A << /S /GoTo /D (subsubsection.0.9.2.6) >> >>
+4142 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 590.64 300.033 601.708 ]/A << /S /GoTo /D (subsubsection.0.10.2.12) >> >>
endobj
4143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 652.249 397.756 661.484 ]/A << /S /GoTo /D (subsubsection.0.9.2.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 578.804 227.614 589.644 ]/A << /S /GoTo /D (subsubsection.0.10.2.13) >> >>
endobj
4144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 638.471 194.479 649.42 ]/A << /S /GoTo /D (subsubsection.0.9.2.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 568.563 238.005 577.689 ]/A << /S /GoTo /D (subsubsection.0.10.2.14) >> >>
endobj
4145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 626.515 223.271 637.464 ]/A << /S /GoTo /D (subsubsection.0.9.2.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 554.894 286.653 565.843 ]/A << /S /GoTo /D (subsection.0.10.3) >> >>
endobj
4146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 614.55 274.508 625.619 ]/A << /S /GoTo /D (subsubsection.0.9.2.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 542.819 244.073 553.778 ]/A << /S /GoTo /D (subsubsection.0.10.3.1) >> >>
endobj
4147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 602.605 185.562 613.664 ]/A << /S /GoTo /D (subsubsection.0.9.2.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 530.864 240.317 541.933 ]/A << /S /GoTo /D (subsubsection.0.10.3.2) >> >>
endobj
4148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 590.64 300.033 601.708 ]/A << /S /GoTo /D (subsubsection.0.9.2.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 518.909 219.285 529.977 ]/A << /S /GoTo /D (subsubsection.0.10.3.3) >> >>
endobj
4149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 578.804 227.614 589.644 ]/A << /S /GoTo /D (subsubsection.0.9.2.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 506.954 231.609 518.022 ]/A << /S /GoTo /D (subsubsection.0.10.3.4) >> >>
endobj
4150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 568.563 238.005 577.689 ]/A << /S /GoTo /D (subsubsection.0.9.2.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 494.999 257.761 505.958 ]/A << /S /GoTo /D (subsubsection.0.10.3.5) >> >>
endobj
4151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 554.894 286.653 565.843 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 483.043 432.127 494.112 ]/A << /S /GoTo /D (subsubsection.0.10.3.6) >> >>
endobj
4152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 542.819 244.073 553.778 ]/A << /S /GoTo /D (subsubsection.0.9.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 471.088 350.832 482.157 ]/A << /S /GoTo /D (subsubsection.0.10.3.7) >> >>
endobj
4153 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 530.864 240.317 541.933 ]/A << /S /GoTo /D (subsubsection.0.9.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 460.966 276.381 470.202 ]/A << /S /GoTo /D (subsubsection.0.10.3.8) >> >>
endobj
4154 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 518.909 219.285 529.977 ]/A << /S /GoTo /D (subsubsection.0.9.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 447.178 373.667 458.246 ]/A << /S /GoTo /D (subsubsection.0.10.3.9) >> >>
endobj
4155 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 506.954 231.609 518.022 ]/A << /S /GoTo /D (subsubsection.0.9.3.4) >> >>
-endobj
-4156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 494.999 257.761 505.958 ]/A << /S /GoTo /D (subsubsection.0.9.3.5) >> >>
-endobj
-4157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 483.043 432.127 494.112 ]/A << /S /GoTo /D (subsubsection.0.9.3.6) >> >>
-endobj
-4158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 471.088 350.832 482.157 ]/A << /S /GoTo /D (subsubsection.0.9.3.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 425.32 142.892 436.139 ]/A << /S /GoTo /D (section.0.11) >> >>
endobj
4159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 460.966 276.381 470.202 ]/A << /S /GoTo /D (subsubsection.0.9.3.8) >> >>
-endobj
-4160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 447.178 373.667 458.246 ]/A << /S /GoTo /D (subsubsection.0.9.3.9) >> >>
-endobj
-4161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 425.32 142.892 436.139 ]/A << /S /GoTo /D (section.0.10) >> >>
+<< /D [ 4157 0 R /XYZ 78.37 808.885 null ] >>
endobj
-4165 0 obj
-<< /D [ 4163 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4162 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 357 0 R /F15 326 0 R >> /ProcSet [ /PDF /Text ] >>
+4156 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 247 0 R /F15 214 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca1.0 << /ca 1.0 >>>>
@@ -13591,28 +13646,28 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-4168 0 obj
+4162 0 obj
[513.9 ]
endobj
-4170 0 obj
+4164 0 obj
[686.7 0 0 0 0 0 0 0 0 0 0 560.2 0 0 0 0 0 0 571 702.2 706.8 0 0 0 686.7 ]
endobj
-4172 0 obj
+4166 0 obj
[513.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 399.7 399.7 ]
endobj
-4173 0 obj
+4167 0 obj
[525 ]
endobj
-4174 0 obj
+4168 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4176 0 obj
+4170 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ"w
endstream
endobj
-4177 0 obj
+4171 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
x| |UﭺU%tv& &Av"J  IL,cC@D ""(.({TԙqGapF'>PVu6P~Ҟ>n{sJxr%*oܱ?3oԵF{1B׭+8EH4̽Pr~cC;zEBү%$ƀϯvTM(OjĄeuG6Wƿ.ŵ7| T%2Za-mO2/VZ}-Zq}W}[{mJtZBbtMD&D/A& ^U1`T1D+ɪDPeRQ_'QQC*l3,#/h? ىDF1+yJ,|^2y Fˑ+ׄC'·?E bqG|EW35NgEG;e
@@ -13648,10 +13703,10 @@ R kBX_"PSU;~@1~1nc̍1c|$a=b[0\Hx $Nchbo
iLOׯ+WkuWJ^)_^[ ]IVU[شVW
endstream
endobj
-4175 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4177 0 R /CIDSet 4176 0 R >>
+4169 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4171 0 R /CIDSet 4170 0 R >>
endobj
-4178 0 obj
+4172 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xڍOo0=8!h"TD
@@ -13662,22 +13717,22 @@ xڍOo0=8!h"TD
1|g:0[7K{>w_ZŻ+j7ZIjl{|6K/?'
endstream
endobj
-558 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4179 0 R ] /ToUnicode 4178 0 R >>
+461 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4173 0 R ] /ToUnicode 4172 0 R >>
endobj
-4179 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4175 0 R /W 4174 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4173 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4169 0 R /W 4168 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4180 0 obj
+4174 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 ] 74 [ 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4182 0 obj
+4176 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ$
endstream
endobj
-4183 0 obj
+4177 0 obj
<< /Filter /FlateDecode /Length 12930 >>
stream
x |E7^3I&3!!Lgd8$KE@Hb.cLH
@@ -13728,10 +13783,10 @@ WT.Ϭ/kKK+k0O/w)XUI܃,K+,m V<e aぜXW/
Mguv#Kݢe׳oZܬNvΖ :[E:kW"YC%~\2Z]UW+YU@Ud u ]4V#,J9R#veu6Wgst6*2f5oqqu4ʀlΦlj>4VbʥPg,_gSPe٤8e(Ʊ9qDMՄ
endstream
endobj
-4181 0 obj
-<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4183 0 R /CIDSet 4182 0 R >>
+4175 0 obj
+<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4177 0 R /CIDSet 4176 0 R >>
endobj
-4184 0 obj
+4178 0 obj
<< /Filter /FlateDecode /Length 507 >>
stream
x}Ko0]8oZH@`F}N!09ɂ?i
@@ -13743,22 +13798,22 @@ PZ0= 0/¼
- fp_ ePdt&4{vծzw;fyC*uWk^?p4
endstream
endobj
-557 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4185 0 R ] /ToUnicode 4184 0 R >>
+460 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4179 0 R ] /ToUnicode 4178 0 R >>
endobj
-4185 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4181 0 R /W 4180 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4179 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4175 0 R /W 4174 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4186 0 obj
+4180 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-4188 0 obj
+4182 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xk`
endstream
endobj
-4189 0 obj
+4183 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
x{ xTչ{=3I& .3gd ( $@$7pS&I2d̄-
@@ -13814,10 +13869,10 @@ L/"hB_l
_Q UzEێ4Cێ*mk]#m[`ܺK6xX㹴kZM6ARҨ_*mPo3]K3Tzi&6F^MWeӕdR+rY4Zgg˵{5iٴ&V/W~Ze*<Ch-ϠK%gʹ4C.LK3Zb VEo_ysй[c-z~4yz;/Ξ#^Fg̔gЙhF\3zF^S-O/9
endstream
endobj
-4187 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4189 0 R /CIDSet 4188 0 R >>
+4181 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4183 0 R /CIDSet 4182 0 R >>
endobj
-4190 0 obj
+4184 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
@@ -13825,22 +13880,22 @@ xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
wXq==mRl
endstream
endobj
-556 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4191 0 R ] /ToUnicode 4190 0 R >>
+459 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4185 0 R ] /ToUnicode 4184 0 R >>
endobj
-4191 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4187 0 R /W 4186 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4185 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4181 0 R /W 4180 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4192 0 obj
+4186 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] ]
endobj
-4194 0 obj
+4188 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-4195 0 obj
+4189 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 852 >>
stream
xmS]LYʈʦ;0sŰb[!Y0vd
@@ -13849,39 +13904,39 @@ xmS]LYʈʦ;0sŰb[!Y0vd
|M -#=ڴJj 6eF>'0TCbddt Yl2ZoV*99Ց!93Dc)|'a
endstream
endobj
-4193 0 obj
-<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4195 0 R /CIDSet 4194 0 R >>
+4187 0 obj
+<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4189 0 R /CIDSet 4188 0 R >>
endobj
-4196 0 obj
+4190 0 obj
<< /Filter /FlateDecode /Length 370 >>
stream
x}R]k0}ϯ{(E]7A-c6vM$Ƈ%0 sܣ]<su`:FaX5 JA{N+"]R-^u_4Ǔ7{ e{ޫ*OAjR:AҊՁ%> ~'F(9hL)^$_ʭא>t!$חptI4. eəscJeHCdcgp9j!O0JKtq$lBvOe9Qr8..S:gsyB
h AsZA;k7'Z9>FCi&wht#ǽvݍZ|> .$^U\߭ڮP|
endstream
endobj
-544 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4197 0 R ] /ToUnicode 4196 0 R >>
+448 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4191 0 R ] /ToUnicode 4190 0 R >>
endobj
-4197 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4193 0 R /W 4192 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4191 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4187 0 R /W 4186 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4198 0 obj
+4192 0 obj
[758.1 ]
endobj
-4199 0 obj
+4193 0 obj
[892.9 ]
endobj
-4200 0 obj
+4194 0 obj
[ 28 [ 525 ] 50 [ 525 ] 55 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 110 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-4202 0 obj
+4196 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````PdP

endstream
endobj
-4203 0 obj
+4197 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1970 >>
stream
xڍV PTroWYQ-UB<JL|:ʣa>.+^]
@@ -13899,10 +13954,10 @@ n(Ի!ss.w #ro>^Gr!^D|㳅)@/#" Ts`
P
endstream
endobj
-4201 0 obj
-<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4203 0 R /CIDSet 4202 0 R >>
+4195 0 obj
+<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4197 0 R /CIDSet 4196 0 R >>
endobj
-4204 0 obj
+4198 0 obj
<< /Filter /FlateDecode /Length 437 >>
stream
xڍj0z
@@ -13911,99 +13966,111 @@ u¢k
|Q4N.[Y4r^x4@',kmSr0:YqJ (+u<!:̆,Od.c$4 ͐H@}l!=#H@ih-&Hs1EZ"#mз}Xz@#-S5{+xgۇp œ3ƻxo,x
endstream
endobj
-427 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4205 0 R ] /ToUnicode 4204 0 R >>
+317 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4199 0 R ] /ToUnicode 4198 0 R >>
endobj
-4205 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4201 0 R /W 4200 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4199 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4195 0 R /W 4194 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4206 0 obj
-[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 104 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
+4200 0 obj
+[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
endobj
-4208 0 obj
-<< /Filter /FlateDecode /Length 47 >>
+4202 0 obj
+<< /Filter /FlateDecode /Length 44 >>
stream
-xc``?`
-
-
+xc``
endstream
endobj
-4209 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9121 >>
+4203 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9128 >>
stream
x{`
-[+ƀHɬ zKW1]nYrUMl8aRM)q{+`K[Μ9; ,ښ`X֮Zz+DcxxwJLC !wY4ASVƆGX]؀M~ XY}617Mm3Epۃ`wo1rX6ovҸ ,C%>^2I&Lc0N7?B3q8"HQNOZrD%9:(D?RwyAdke+|<c:8H=<e2erq"xOxC.v^ve x8YS$qp%v^Ivsz,sB 提һ (BG %É_(b41K#$b21JL#3,#b61K# "b1XJ,#
-‰XI8cb-XOl 6̈́ Jl#;+F'MOA2BN
-"% Hħyg^~լ5u
-Ve)=>1`!&&ǜ7X]doNdf_2<Cʙr{p3W^{;O6;lSx}}G]7/귴_{n.3A 5{`@zAWK<fp`@%I8WwI JJ;;<dȾ!zp̡WUnѿR5qo|3 s~؎qp 'TM&fN8)l2kn)>Blቁ`UVtl=!Pص1:a p"v(!~B,2
-7ȡ7FHXUWw)<d%4q{R+rrm 4`wĈF_/0# /gΟa## ꄟ]II~rg9pO+)o r``¼*׆G7~Vi@3nCڬ(=~FUJb (鲀E"<7k\ dc"=¹bwo# oڻ
-x4 h^
-3%)'лd^IQ?0<`j <,)Bыy =4,m9H劏L- |<M+И?6ю"Ox=~axaXTlJ"#!˜0*'ZJ"jgRL 07#Cy5¬B*:$QX^7i*^`!ګZ[$23.`ٟOr`A8@OLXVh ULzG ;ΈJҪ珇aˢaX $?Dq$Iv {.+*ِTeGk(/(:d@`]g--_
-z˗K"04$BNUk)ůY9BaQq~&ߴB'}/gra(GS3lle4Kl׉4jZJpяkzxtY -1% *YZ
-F彑VJ[%U⦌ F ø8 "?IdmrZn`}aDYBQ+M
-fzX <j]V]v Ь~|ބ[ݷ.ȓs>r)ӊ hvvf#ot~c&CyzBYXsq<`)B<
-??hūm(8 4,V3jRRQnj 2-~NNd~CK~ :oHJ⒃(,4[
-E{!TV:#EbgZ!xvۣgRAY*4\q4 G. FO8;t:=_%[/ D>±O+R NHLtLٙ)3v}0,$y'Q0EM'%%
-RaNDTթO7WUUR9< 7(]3vظqǁ?c|E;F?߁}SA
-)z2/̋4P)rUYڅCx;!Q"F姥i
-`+GYo~'dG̡%2T'0`
-oAϪ SXyRI
-ynQ0؝V*<Uf<y;#Q E%"_ڞ3z`2֦rsA&c1*4-5p2WSlpD.51*p
-}-:,(yM=bB}F:Qv<yƇmHh1fO20`(.ìMtڴ< yzX.*hM9[81*7ͻR\fn^?J#w"13;́)1qsf
-+ԴԴB/,,P Z
-Hȴ<Lz37߹KkLy,R`FSn!7pGMB4B6&<ԃ'M&MS&S'{]R0<dy3wؖ\VZZ;aTxZ7 0,
-`4SCv
-x^Њ*KTY!%}~&8紀59 oE˥…΂F>&Z0ǎp5~ 2ϟ| ^zi9œd`X՝hCPaZ
-u܌t] +D,z`I K\ܹBX^e&ΰP
-8ťȧ˞?j X])0*(lvUǨલ;g'*M`;"\D"kW[k_+A:q¹W?k
-0㷿gfrLĞaЊ
-}IeaBZB:> BbdL{0 Nqx}pZrN~
-Z*xZNJ7EC0:X߷_~k5ܰH/K
-[.LXSn:GJHJ
-1 aPV΀mizMf1|cq]S)QU1LJqI^x*Q e )\O'j"zW'KޮrI'Pǥ!P*X }
- 4rUT@,ػnUDYsf}3+ڷ6f71JxWsAQGa\tb:a_r1 9[ e
-
-9P\_˭
-^@&*U^PVSUR\{p,d~bDVsWS/_`/N>~ ~UrHU!1
-dE"S))%P!DȕF;`ߍsd"㼩9׬a+!--F>2 c諰c>4yu$d&΃
-Aр4^aӺ;8zWڌ}xc2n3|mS[ƉU[s.2K^Y]bv|j0tOWQ
-
- MޒuOR0ʄN
-ί=K."A>!ޕ鎓Jc*҃:,C9$Бv*R[G!>]n4-9V9--&b-*a0 ؕAnD==gN +nf=7fڲ:ъֽjRUrr'6nGf2>ݎpb0F|Pqmx]=q-qvo˺
-(t-g' UԵܓ B3jKLnBǺij Qʤ)YmTٗMWC
-\”}¢R؜AA_]:3CNwP"]N8Xfzj9,BvaUt鷔D\,p[ޅ0~ #r.Z`;i ,Z٥/ԂahޯZA-1{uDz3x'ݺ1-` 9\v~^iMcdݸIz3xk/kh(H9Cwb%vI'm":`4EPfG$L@%1nƣD(}(N]K/p+6M05%2/0
-Df:2\ȴ[fp隡HIb>ʎ*e$/I#j`V!6N+AG`v+5b?Gep'󣏜P/4 Ga8j{
-aLCߡݮOq
+[+ƀHɬIK-^ @Sݻdݲ>ܛ+`SMǡB 0nB,wJ2ع!ad3gN7&X,֐%.ֻ,I$1n<`tk=~
+߁3sA)qx:,]:% J_w øqROOL<s{H=yF:!tqKWrū>Z<^*sI<<e;}n]D=Dn=<d0#d6p ÉH/(=b41K#$b21JO|@L#3,b6!1K# "b1XJ,#
+b%D"b-XO&b3Jl!ۈb'F'Ex>/GD D1LH)!#D B0"D9QA\ >!~&~!0ZZZraUzM~fl8'35CǬ'ed
+cIXu@tH1bհQ}(6ODZ}ϿKyh$OՐZY&k`p6Q#y[F~FDP9:*
+3Ԛb~vog%c- xʹWý7Ϸ6
+k*`ij/!
+k { PJ2NfEG0L3RWLI~ Uզ8½^wRͥk6[`b=|.uzߞjko`J]r"T㻷(j<[ښym_Gט"7:pq} Sq㾬CT ->KUxl
+14qwdI#/(
+S@Td4T^N(B8&DDmJeft DQD䖆VTk#Ml-
+*XwڃkV/ʊOu3\X!(,T
+-%V `j e_alX2w1?!`cW>gp3ڏsͻQ^=^~X={rFRݶšhBbh{`D2Bs^W'UsUw!d j&:W(ymj,/ 6"[wN
+(kj ~o!!zQOv\`'5ιs_=t*u
+yQ`Z^YY)x*
+B#e4&B*S]o"-+tʗb'6{yB,z65æ\`f@!_I{&~HX{h*nGKL т\S"
+ae5ps
+TJ>m[eV jR!4d(|:|]sK' b,鲸8u3]Z]l^yn7`_hS
+m4]SؑS}_sT
+sXn1+#ѿ
+׎d.k)`ψ7ӡC.1M
+`?=FP%mիx0BoexFS{^6Qcyɣ\"w.~ATQ~J4YQq}Sc եշF-x*,m:
+G[@BC\
+}F[^↦X;['QFYgnyU235-Hyn 窒ȂN!kSrs#f,Zhh4
+{w;=bhhʄ6`-D"$`+R ϙn)yt^m5B%K.Bl5f HprhLEf[7ێoXo + |W
+W~4pwc}@[8ݸ ju 2B+'lv?(
+L `ig,l]w nཎ)u<xf:[nD3dʏfڙ+O_:קWQhݭ۷XMA7{232zz9ɜ=c`TzC/Ͻ0B  3{+t?#Mڙ2qv;P 'ܧ)ڥ\dZIAgu\$DrYMMyyz~Y`L^@FYÄCCܿ
+M"k F̭`Հl|Dr 9g `yxS=í#ɨ +̓vO63.{&oq>B/,o0[wit
+ͦkSTu6N(
+ (d!R7C44=ъAujȟ (SDy8
+KaHʢ ӵ LOfd
+^[]#`̙-Jiyd(lKFwJވ=}eNG;iX,.eKUD
+-3l hk|{y_w;/] ԟڣ-^m^,
+o:6͒M#=4D6z dzA]ow{$S48 F E=b$eo-ZZG;=bb"od >/eVTk60ig#fyT
+ICM?^3m=r+ڦ9]Kƒ_пq}K!4Z nBٙYzA</h@vQ+E*+<؟KRSiJ/m=g2BIkrN]I֐>Xj5^04W6:"WX[b
+XGu9.pblfDpҥ ]a\'˪M>Aٰfztzn#8N!;-1s~CAd=9nriɡ e~ Em ,:,)yE=f"E9Qu<yGmHh1f=o
+0(.ìMڴ< zX!.hMG81j7ͻZRfn^?J#57A")1qk$f
+`4SCBjv
+^ʲjt
+oǬϣrE΂cF&Zjo1Ǎ5~
+xWT&0醅D L4QO %z9a&dFUf|!P*>Io)-jj
+/x'? vCQdT( Iɇ'QrL3**3(8[Qr_<dms7
+^:EوJ%-"
+HfR@֯N1kzeP
+&e_Hj/*J6
+6hP $O)LAa>'tyuAyB7~henPۑX@
+I![Y&A@ϘUs
+P#6,YA~fM9~
+̊K
+%mw:7|ǓW*
+%Eƅg lCV(޲3|, *06.WF^:g&wU>[лifW!HCrBK~|-)NLTPh#"F:#zPo7<PW #
+$JkjKKO슕jޏ b}%T+.3gNnUn.%RUhl)qYIdqTJ>eJIV!d
+l r 4N' 8j.m؊v7yzL?'Ř`/+옴F3z=wCe"?&}akBє</nbnF.$߽smFЃ?~1|y~f-zpdj/.)'!T7`Z(CBlIz$+le'g<@phƕkW<7MA6<V*RY'k@4fdBV^m:
+PQ{ϚL)uzufB:uP ƭ/^GX&?"MBu>a4mW|}7_\WnpqYy|0@?[7&wx ~ƍ;6mNX[P*F|{7/0 rl[, B4H+:n7(%C]bA>1iCwwuX
+I43]
+kUepB|t¶0X؊N`tڧ"cpd`W}zk^P/,{B_ki"r$+ZKQf*ȝzܺIM˸rc0V|Rmx}򊤽-w˻, Uu֙V4 ue"J<di܎cY+.gysjYF粳Y_H+t]ӱ&S^qr+>N!#N븧" މk"(WD 7܄N?K-5Y3Sۊ/4|L9eȹEe9:bt%.3f2o|D 1pR
+,X.oX|bbF=^wP?dAXMs'q4)z`}_.Z6~cvEEWek
+a)@_1\ẍFӱ< ;?2=e\gb&R؀J5 qzuԈUMӪhXdϑ
endstream
endobj
-4207 0 obj
-<< /Type /FontDescriptor /FontName /TPIQHG+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4209 0 R /CIDSet 4208 0 R >>
+4201 0 obj
+<< /Type /FontDescriptor /FontName /FVYUVB+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4203 0 R /CIDSet 4202 0 R >>
endobj
-4210 0 obj
-<< /Filter /FlateDecode /Length 853 >>
+4204 0 obj
+<< /Filter /FlateDecode /Length 855 >>
stream
-x}QO:+r.I;0Jmnܖp"ѤJ IibCԎ>MuSW~ZlUWv=~9fiǡ󦭞O?z?5[qýwz鷛?yO<tchho t(AE"FsǦ{ԓ$:j7i|pMM0ss8/!G_i~7?1NOC}ow>zhm/)#/{V]mm'C yt~ֿ<&k[߶GJHq%@E 'ZJT%CiL0f P
-feY@1EZB9.yNmWg ?|eD~N3$3TQ]g4&~F/'QyaL~P&?rf'/~N_ƪd9~s",aD/e-~Çs" bT○~2/e,~),~)Y͇_.T2O_J[,m\ᗋ??g؃N~dqz؃\ eRQ.҉d칌D2"g.#VUɵb",kDb㗋#YK
-.+Y
-z.RB,N~=D.&r)bꂐkJ[JbM4(IBiKH/CQB"eYC-(*[-!(H«fKVo:p<ܘ]ٴw*c=,*
+x}N8F $$JmH˒6M7
+,;H NؽlYw~f>GN}gv\\ϭ/17M? 7mrǝVi߻Yχۮg?eϢ2tmph ?n A|hKhhۍz`i^91u'aTG u{=n>uM8fnu)k7sxqġic0
+OC}nw>zhmSG_>L&[u?췕nD~o_#z|譭gۏ#ūa(JDDN(qP1-r J"z.1#(0(e)r
+ʠ5tsjԶd>D唟/M!d's"!/?13]~$?֏ kddR35$?~)Ls"RV%ωKuO$?e?'('~ n>?'ϰ*?K-~HG,~ YV◐P |e"O%]%DY~H,N1~=G'?*#~?3JJLEɏ,D#u&?֏5ʴ~",+|g~H+r+%Yrz.R@9ق#y:9D Y1uNȒő&[ASDi(qLi HF^@"e)!ezB,'JtWDzC.EI~/xݍZ~Y}?ǛiS foe/ߓ-
endstream
endobj
-404 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TPIQHG+LMMono9-Regular /DescendantFonts [ 4211 0 R ] /ToUnicode 4210 0 R >>
+305 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FVYUVB+LMMono9-Regular /DescendantFonts [ 4205 0 R ] /ToUnicode 4204 0 R >>
endobj
-4211 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TPIQHG+LMMono9-Regular /FontDescriptor 4207 0 R /W 4206 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4205 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FVYUVB+LMMono9-Regular /FontDescriptor 4201 0 R /W 4200 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4212 0 obj
+4206 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 59 [ 641 ] 72 [ 513 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-4214 0 obj
+4208 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````T`h`X
endstream
endobj
-4215 0 obj
+4209 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1946 >>
stream
x}V p]YV!hŻCcuBR
@@ -14017,32 +14084,32 @@ I`K\(̭-UFmj3gP-u =SE
mE8ʈ#&Þ|}8y#NV=9RF/?p]dvU-;6qUk<T./ ؊Hr]T
endstream
endobj
-4213 0 obj
-<< /Type /FontDescriptor /FontName /APETMS+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4215 0 R /CIDSet 4214 0 R >>
+4207 0 obj
+<< /Type /FontDescriptor /FontName /APETMS+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4209 0 R /CIDSet 4208 0 R >>
endobj
-4216 0 obj
+4210 0 obj
<< /Filter /FlateDecode /Length 427 >>
stream
xڍ]k@g/u4$ lòf$;gdԋ-%x:*|a ǰm05T;@1E+a^RKůIo^>0?u9Zu,<e&d.(M5X ܓ/ M'z1f?l(thiTŒ 79\ݺRuZAd;ˮ77?C}F jжWtC m}{ D΍RبowmJ<ZsLs-kkV Vjk<@%e΄V0j
%-2=m҄(#ZeDњh)&-<eӒQ%RO~٘>~~vKTy.Zݺ,5uG/+V
endstream
endobj
-403 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /APETMS+LMRomanCaps10-Regular /DescendantFonts [ 4217 0 R ] /ToUnicode 4216 0 R >>
+294 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /APETMS+LMRomanCaps10-Regular /DescendantFonts [ 4211 0 R ] /ToUnicode 4210 0 R >>
endobj
-4217 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /APETMS+LMRomanCaps10-Regular /FontDescriptor 4213 0 R /W 4212 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4211 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /APETMS+LMRomanCaps10-Regular /FontDescriptor 4207 0 R /W 4206 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4218 0 obj
+4212 0 obj
[ 28 [ 500 ] 50 [ 444 ] 52 [ 778 ] 70 [ 528 ] 72 [ 278 ] 109 [ 556 ] 112 [ 528 ] 118 [ 528 ] ]
endobj
-4220 0 obj
+4214 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``````j````i
endstream
endobj
-4221 0 obj
+4215 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1359 >>
stream
x}Lg
@@ -14053,10 +14120,10 @@ KRm),4Yf:6ͿljYQ[u65 d#&9%uSZEF#gx*{Q
UBuxBS/sEBT!oS_<ߝrl=X^_V1 t@Xx$jZBl!<wIP ,/`<</¤ixa y050m x8`Wc>gL (/zruKձMbF14b_6m =؁6p(#Q CLi(P;:TgyIKa9 hS 7a?ñ x04^k!a1oY6m!^]8p$|澛U\mjKkk>u0|BPP-E=!9Nbh&29qJ3jW#t`|Z:Y|?ž!(cJkC 95`FX$:m~
endstream
endobj
-4219 0 obj
-<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4221 0 R /CIDSet 4220 0 R >>
+4213 0 obj
+<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4215 0 R /CIDSet 4214 0 R >>
endobj
-4222 0 obj
+4216 0 obj
<< /Filter /FlateDecode /Length 406 >>
stream
xڍ_K0)Pn
@@ -14065,22 +14132,22 @@ xڍ_K0)Pn
nN'Z$4ǮJ,l 4ţRZz=Tg:Ifסt@W.=MsOPt(4=̓oN& ](b6%^>7}j_TGGH
endstream
endobj
-367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4223 0 R ] /ToUnicode 4222 0 R >>
+272 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4217 0 R ] /ToUnicode 4216 0 R >>
endobj
-4223 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4219 0 R /W 4218 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4217 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4213 0 R /W 4212 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4224 0 obj
+4218 0 obj
[ 28 [ 511 ] 35 [ 460 ] 42 [ 716 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 54 [ 653 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 70 [ 460 627 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 ] 83 [ 678 511 ] 91 [ 460 ] 96 [ 422 562 409 ] 104 [ 716 332 ] 109 [ 537 ] 111 [ 743 460 ] 114 [ 664 743 464 ] 118 [ 486 ] 125 [ 562 ] 502 [ 307 ] ]
endobj
-4226 0 obj
+4220 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``0N\%B], $&
endstream
endobj
-4227 0 obj
+4221 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4953 >>
stream
xڭY \w'j-3:mףVS[뮷Dk+@8 !!$$ >"w@nQzEۭ֭G}۽wm޾7v%\A&ND8 {nڲo᎝{$Km͊M gs@0ADY@\Z0x `noh&w?: A8g4a߅ ~)p/?B& ddrr_ [d4W&JJdɲWϯ և ƧJr2SEXq`[`g`$=*̗qشD$Q)< 2I2I4sA 2Y)ȑRL&& B +Y(زoo`D%!3ELP%}}0,iq"i?\8o]vlݰiMaY,AD&HfŊ2þןwIdi$q­ Bq(+ao3HY@V" kFd3yنlGv"^$9 HtDHd!r ={$a"bTp>A]0qD}3iڤ:0ǧ̞OK?Avzv泎i].ŌgP!j/n-zbob
@@ -14110,91 +14177,93 @@ mf^FHaVb]|[՗kuG buZHSzrި>_j
o3Oa:$d
endstream
endobj
-4225 0 obj
-<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4227 0 R /CIDSet 4226 0 R >>
+4219 0 obj
+<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4221 0 R /CIDSet 4220 0 R >>
endobj
-4228 0 obj
+4222 0 obj
<< /Filter /FlateDecode /Length 535 >>
stream
x}Ko0]8ĥBx"MK0ن0%a禕arѷ_#g磌mKxѦ.RRA[[xnR]&8*:3al彮rp?KYܞ:D?QKK]Yg<r͋뺲vބdSeKm B&ˢ'rEe[׫*է[,݈]\dJՖwz41ٵi.ø$LIm<z+&vTo|<s54\RuM^6g- <a$qxt>HşIy$)(-ͦ4-h 4 EQ - hDTA(瓣wn@s TW TAOЈh>IՉ6;\8k?cd`:iDEDLP"  I4m<x``ܾUckۚvWRԍ=wmKFa
endstream
endobj
-358 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4229 0 R ] /ToUnicode 4228 0 R >>
+257 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4223 0 R ] /ToUnicode 4222 0 R >>
endobj
-4229 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4225 0 R /W 4224 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4223 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4219 0 R /W 4218 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4230 0 obj
-[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 46 [ 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 ] 88 [ 319 ] 90 [ 864 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 869 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 120 [ 511 575 671 ] 125 [ 639 ] 284 [ 575 ] 499 [ 571 571 ] ]
+4224 0 obj
+[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 ] 88 [ 319 ] 90 [ 864 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 869 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 120 [ 511 575 671 ] 125 [ 639 ] 284 [ 575 ] 499 [ 571 571 ] ]
endobj
-4232 0 obj
+4226 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xc``6.xߏoz€ 8p
+xc``6/xߏoz€ 8p
endstream
endobj
-4233 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6898 >>
+4227 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6950 >>
stream
-xڕzXW;ȸYPbXE
-RһKuwϲ&A"ʈXb4cb$7<c7`f<>25$ծWlpfн!o8;5^Y)*qȜm(qD8ۚ\57Kgld+mLJRY pQc><j>x|E$HS"Lb񷏜5aβа(,ӍJ޻Cc#!3kg(ׅƒAɡ!J@=Pf?7et_D2 "4:,r HelhDFUFE(+lV R 駴W*#QQa fΌ0ӟg`QLW_~;˜׹8ψRF(}DZ_HTPT<EXʆOM&R5F͠fRoPԛ<-j>zZL-ZIVSRk:jDP)7j;(oʇ@*MS{TFST$EPqT<@H~jBDSˍ3B)|3h̠&&ݦM3MtEf҇fy Y?wHՐ'CS^y0~MiG-GX[:7\7'L# HđxըFhLUq}=MXs&p̢ `+;c%ҸW*W%6@Z|:u}&fӖ12'xFP", B*Nw[[n]H8ȠQj!a+`o> dx6 %qtV7MlÍM'ƕ#Mbf%|\R$V7Op wFVUh9sl̤]ͧYgEi Qpƛf:P7U|? <[T#L2Xg<v;NjYOB0B<k4ʪu?\T
-^& 0n C0`&>H9OrA'Ӥ<=J3FZ~זG,Ly<1m|B<TŃ)<d͇4t`0gB75V"PyVY {9MZYߧisxq&MMfKˊoz-D0񵘎%:n^sL]BkO[kC
-kPCkWPq^oVG劊Tǿm>Z; 1ۯMC ZL΂
-P6M'tQVǤ?оL8y7n&  F+=OB!\J-W&j;:|x#WTtoNY~ė:؋.<WRQqTe;VRg)܇7):x fj8NSy >UIO =vUJga{<{co A
-@@gm-0R g~#`t?Jj25;X#|H7%<9~&&U[=f9\il8fG,x)CblQ`g{C
-rsz]&d vN'ǒdcle~7寜1P{фԆmtrHcX->)kQ+/J3
-nݶ5w7xtCuvq)s8>g[ v Xʟl
-Km!5Ef
-kx+(0/{]Yx-CsIR^^SPeL;̭wxA2!@k-cY2`1X`4CJ"S2421WxƜ[VS7fv7V`9pi*̅Y/預4YVd1gQ:c٪:`fhyx!|h"z9PG[S?;2;/Y'7sRaoa;A!@ wym4eӹ{.t4Wq0vTĉ$Zj3e<``;O|WnĨ0"sb@ԧxP{~R46 .ƃ sH #4{'N/)o,l?W`\Gj/́@ xX >/A<.Qj?TC>Dw`k} x3b)xȁ^v`4yHsAZ)JVk5Ë]ZYS:54jJ֋#4m'd#\ˆC ^#{ޛd<yXM#nKq[Dl%c$O|&'4FML}HݡK;oq
-?S | xi` [S!Z8g &q(7K fmNV]>ŝm{ o촬p+x&ûgBѱYaWRTr= 0'O `I!E`A1T-&4{$=9>8޻z)'n^SŇfQ$foo N1knݎ:!z4 @L3OR(>1a4u,LwK8X-*ҙi25
-fHXDy|}}y!ODfsӧG~VA7L;;~J9,k)ZKhV_ʧ80E:$E7y^SޏS( = w3n!DA+|[> FVEV@1Vin9- c)VKZ?$>8^õBd驤.mp?ŗz=7ƛvAqPF<XCFs۟NNݘ=_
-ExWziJYa|UՆ9FԠP6ҷ\B,>y3!ftY|^QgR.8?XC~G0YFa[*9=3†z@>wkuG8CL;g5<P4s;N%iv&v.IK9@X2]2J&0kI\G3*ʵ
-AF+}@)VbX?b(UI.iè?kt#zBGpnSqnr 0a&wE. 't\|)A1N'/
-,[-\4픺!1MڹȪOV:&0!tP 4o:g]uMwAU:+kXKޤ < y<] IarWpN;|ヨvSsTw~36+Q¨~y0L[bfr`omXMXrxD|f04:W~;Qy=yr_` _6Pq1CNfx2 %<TRCRaJSM'6ֽJV֭b4S/PH,zC
-޺AKy Ěc6KT-e8 C>&A)E\XźyЩ2ylyE )'<^jY>#WE c77n<vjQr2h&y%LgU.]J]'g,b踞9w.m$jUCy<R'pvk_10Sgn#6F4k6?6숯zX^Cc6%I˹gDeק>knjsUffGPу=>+һ: I~MRӥPP#S*ǂ8`a3|Y,B~cdN#dqh*amk8/]wֿU?q(.!DTF҆!׫C;$ןͧ&mBd}JOj*p9ȵ 6\d6TPN-S46Evn\]eƯ>Qwm?o51f=;WLXW4BrHՄ`VdesA*e5 g4Dɺ6$f٠w6|s.~@luWv~o Jsw{ G
-J[273d|A8E ӑ̕fflۖVs\yU0Qiƈaxg[`;ZdQ.'{?-qT~^Re[tHm6 .,p~ 9r<+Js;̄U PVb@~
-~Q~Hv~O P4B4
-yq`,gAZPx&wa{R^!GER iP6@]2p~2wSZV ŝm<Ym@K|X&/M`~c[Z
-"u:;0퍧A1J
-V BE\q-\.pz)'z;`ul2ThdB̘ {p]x
-y쁽IHtqqs` >`v$7Np9"v'vDdRHLqQiTgLl:&]kLH8,|Eݔ[FLEws.|7W꺋+iurh^<xw"~)' zxHhDh#XlP!LcRc|e}҈T– yX
-C6Q&6~ aZ T R5ر;;O'`.D@!n_ot_nvJ[]X˃
-N}>O1\ըUU;m]x),u`7a)9B^m$;͈BAVVghx\epLAz{gWmHkxY5qK+2"M{e[yh_@ \0^H%9Wc~S{O2 8B/*c|?$M #{1|\ъTͼVQxhBI_3d c|Mz hcِ~ErHFz(efa>'_&p`i@j?$5Uˑr/$GJKKr"zzbMz1 ig?z
-605D.ߦ_Ga;i\B
-'<+r4n>QU_吏
-߆pÉ l'Z&E?@n@z5Vr
+xڕzXW;4ײ3Q 5 EwgYz"(RDQ#%?&Ƙb, 1 ς1ɛ|}\8ٙ繟vgPD" [&X.dwSCv,Hdɉ8B"rDLlZ]4ǧeKwKGPِc?ArMr`1ݏPC(zB2?>rSg,
+ TN:u$qyr@wrdU!1lr\H/{e?7eT_x?<$*4bd冀eLHx 竌
+ WF)l\A8$8R"p_pQSDFΙ2%2rHdMĔ]}">x +[jH厐p_wஈG/FQoP5H9R)ԛ4j:5zM͡ޡS ('j!L-PKerjZERʍBm<)/ʛ|)?*
+vRA.j7LRaT8AERT,GS{%_$@/2s*.k0s24dh~^Df%˒=ҏ,Y|ܿ}
+ppFuax`ԁk*9,vL2s;}+'px*2YW\\`<+$FU
+nFmamo C0la0*>9 wqA;]R<e%,kaao!hC/
+b]|O!n<tk\xkvwJD!l>z9QZ^ݣQuYh_ lqIAc`י%
+£<_az%EFZեxEb־Bmq[EF*P4 sT+P6M j;-4(dI%Q\ߍkYkaHF
+L6a%'E\rڮW&
+;z|k+(8ZNYwV KArEMYw)(8HVƲf`~!o @}ѵ β@=YJ>֠V5dզrﭑ^l 3#7A
+6@@[D&`P1 z1p//ދttnEX7#Rg6F(~"{-T% 1-&dxXp/W*P'8Z]^//5T,YgNhԊ>~)CMoًC"|+P<x `3L 䱃^%IA۸%[Y70Vї.|[}e[Ha & te!2 54›͛wۍGaOq:X]o'3}6,`5йfx_^h
+䭻54
+/FLy2EL+Y< ;eO4xM6@>L10[l @m'cY-(1Ja'`LL!a-E=jnke,gxUCu;OeY<ch<+~
+laGЏS@`Ox ݓRڠmN˃>KY{֍_w޽9@z"XV
+0B0%.0wȐB' ^,T9*A)Uq$!~!@(lnqcKNi3H"f lEC򪳲6KP*ckWr}
+q25nV`G'irn6qQsʚ@7kb6?|7_h8V|Ry7"oəu`F #~3k]rM
+wU:-kX Ѭ.<Fpy<A߀ƀ7]M^9osȮq>JꭇN|}z{F{-|KQBǙ^90L[bJߞ:Ƕupxp|f0$:S;p=~|O@%_6lUqQ-\%3< HN)!B+?LEi)ܺQ4^.+c47I>D
+}4LPIr7+<{w@x y8]4O$:`i:`WF!!A-4.L!:ׂz%tG;:H ^?GLZE3Ϊɭ,L#]6-mTEH@43Ru@/.Z[fWϯvWL5{һŮx6#2^F&٩=Ui:ORFF|y
+޾@[y= G-.e8>&A|=')UWe&S'nqO>=w/S<3Mմ0s )|J
+ߝnH/<T{
+^}ѶEJϱ\X,CΕv?Hӈ#f
+ŕM>Ob}n<C&ݽFkNSPȰ;mI\qz:6Im9hhjJAgQ9[5)h 'l# 2;ɱ,;de3uy| wY
+ϊ23, Rb,&bE.QvN2[a
+,_2}Ce<5vH_E o9(V4j=ZAVі3~2g4Uz\nE`UHs+xL57᳈,O
+Q o促e{2w3lﻻK"B֢UXta˸q R_C2Q>;yN06hjxG=a D [* ~HQqCWH<pwBNV`;x"Ұ|g}ChtENLT*.qLuBFtx7w4捰MGG[9dPw@ۛVc,w BE\M\6p)%z;`MLijb|Q %\(~b7לJ8XRywIB&w>l_o˻<$QLд9J1;k&b~G^q!vV4-Dj/3UafO>DDI`;
+ " _Q7k~:%73o{Ex}n==y?^Zy?ǚ^;7OILGwo%Rhq Ϙwhmx.jR7j5iӓyl 9Am5XF._aQ4|(-̹ZۛEw䠽yH]hv >T<vY]mҧD9|"C
+a' 4Ro ]ibi 7o2KGA2`IRsI=9l+oP.I IEY79+LmgC4Ά0
+Fp&IS+ȈbJ8[}(5#U#Ӧ< /F(f闽K}&m,f^L/m,%I g4ژh] ܫHwɨS: ̆aL۽K[D6IRl&~1Dxsa+!/mPVS#}ZBP~-Hx(v;at\lV6Bdl@hoEŋ@;Я<byHO4֑$$_32rtkTВwٽZ!ˬ*nT8&\{ʅC)\" :>){VaLKs 22{Qc&K‹|x]g|~%=4E)"tmenS%' 5-TjN?N2 'C
+ wݬ;|YK6{fAXkt9SF6`D[޶ļݹF-
+5y"@-۰ked9P
endstream
endobj
-4231 0 obj
-<< /Type /FontDescriptor /FontName /JVOFPV+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4233 0 R /CIDSet 4232 0 R >>
+4225 0 obj
+<< /Type /FontDescriptor /FontName /XTBITZ+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4227 0 R /CIDSet 4226 0 R >>
endobj
-4234 0 obj
-<< /Filter /FlateDecode /Length 646 >>
+4228 0 obj
+<< /Filter /FlateDecode /Length 651 >>
stream
-x}]0+s1Jfeg[m[дISEVP|zy&9M8VA+gkݔ:k_ެ̯moV]`7eb0Eb&?_'M0ׇwsvᯯuyٛBjE{Kc6ƞƘ_b(^9Qޭ  :¨DD1SEbMrś[`8d 6m}_V.̉*kUSx01vaBhޞ;*bMu7' |ĆsڨU#&tB}&v!hiI Fzʦ IN@4JB?AX
-#J"2"hI@
- 7dR;:2 "eD:2P=xtH' BY
-R(D$-Dؕ4C:ˠ,LAY-ݔDPCeA$/΄@wIvZ$B^Me
-`#V ;-$K$I:%$y r s?NT㉯͋y,')(Fk}׺Ə8?G)O\ qGyxP
+x}]0+s1JA?Fv>PYMt ^7{
+#xyrfkTaFե)tx`0XVMҪ쫩p^M=)NIs},=aÝww}Ssp^T]ͮN6iKM[VEϜsÛQ#cPՐ$; *g;$W>͡
+&6`5Wo>^ tʔ>؅l>f#Ѳ>bw5=G-*:/t&v
+{Oa&ȅ$"Q<`@0D0Kp&h <l%bt`Q$ .=ù tD`P1 %UP?L)I LIaJ&!$yE'M .iJD`r 3z"oO\cE
endstream
endobj
-357 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JVOFPV+LMRoman10-Bold /DescendantFonts [ 4235 0 R ] /ToUnicode 4234 0 R >>
+247 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XTBITZ+LMRoman10-Bold /DescendantFonts [ 4229 0 R ] /ToUnicode 4228 0 R >>
endobj
-4235 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JVOFPV+LMRoman10-Bold /FontDescriptor 4231 0 R /W 4230 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4229 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XTBITZ+LMRoman10-Bold /FontDescriptor 4225 0 R /W 4224 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4236 0 obj
+4230 0 obj
[ 89 [ 1161 ] ]
endobj
-4238 0 obj
+4232 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`
endstream
endobj
-4239 0 obj
+4233 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧwso#A@cq1_9[8/ۊy1f721y I !M}"쎍>cg!|~r#A qT4XzUs`*: -AVY]A1UJ0/A5 KTS
@@ -14202,31 +14271,31 @@ xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧ
"4ljPXn64U/ZԠMUh*(X( 3Դ)$
endstream
endobj
-4237 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4239 0 R /CIDSet 4238 0 R >>
+4231 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4233 0 R /CIDSet 4232 0 R >>
endobj
-4240 0 obj
+4234 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
x}Qk0)n;"ڮCXa&gD> /d}޹:`Z쳊L&[es@^V L76s,Yr\5ބ|Z`Żg}UfrU=jSR cgԵPrRj6>$ߨ6V  5ȽYi&dO]`\0?1bΈ7é- PE17u\YۮcnTt?ҮBX8QXWCдO#wJG}5Cc>Aa?uouܾhg!Z8!1JU6-w.հqG~:T
endstream
endobj
-356 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4241 0 R ] /ToUnicode 4240 0 R >>
+246 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4235 0 R ] /ToUnicode 4234 0 R >>
endobj
-4241 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4237 0 R /W 4236 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4235 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4231 0 R /W 4230 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4242 0 obj
+4236 0 obj
[ 27 [ 531 531 ] 31 [ 531 ] 33 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 531 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 531 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 ] 109 [ 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] ]
endobj
-4244 0 obj
+4238 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``i}m■r
endstream
endobj
-4245 0 obj
+4239 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5721 >>
stream
xڍY \֟2J]㒩wRVۺ ԥ*Tqi]XNIH  "ִ֢Vmj_{gMj%ܙ{9s@Dў6z^SRϝV棱>Z?ϏNljx4ļ$"c;9<z>-[2DÄA0i׸&ZoqzrDs]7AT$t3PGht3X?_SOS, U
@@ -14259,10 +14328,10 @@ dWg`+ErK6(aeZZX/ =ݴ^Wٚ.=-=1Qtjtյ{
n`*3%M+aLJq 앥K*h/BC&$`
endstream
endobj
-4243 0 obj
-<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4245 0 R /CIDSet 4244 0 R >>
+4237 0 obj
+<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4239 0 R /CIDSet 4238 0 R >>
endobj
-4246 0 obj
+4240 0 obj
<< /Filter /FlateDecode /Length 645 >>
stream
x}Mo0=8ih%Czİp߯wJ+v+aƞgz?xGg>LSաzEݮƶkcrwm2ۙK^rM8if΅NuXo>s?WҖÜoCsh_<qM~)JʆϜsśyM譣a"kMkK{* \i{p~:7uaϬXѥnUu1^h2a9]ևaeE{GaI!t27MuL}g] $26+αx_%PP3phHo!29H 3nҠhL(6E"`@"I3
@@ -14273,22 +14342,22 @@ OA@TDݕ֚HbO] IX'p0Kp{$tWE#"ࢉ:Tx
r Q5yLSMo ^WϦM0ŒӡkUeW0)i)v
endstream
endobj
-342 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4247 0 R ] /ToUnicode 4246 0 R >>
+230 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4241 0 R ] /ToUnicode 4240 0 R >>
endobj
-4247 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4243 0 R /W 4242 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4241 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4237 0 R /W 4236 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4248 0 obj
+4242 0 obj
[ 28 [ 549 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-4250 0 obj
+4244 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````TPX
endstream
endobj
-4251 0 obj
+4245 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2201 >>
stream
xڭV PQ#E Y]ȏS[[C
@@ -14301,10 +14370,10 @@ bEeli2vRӣ%IH=Ҫp P"S|TRQ$OI\%Q b-N(JC
`F7fgid]{7?uꨤʱA# vvPvW2ILh> oұ1ѷS؇A 6kZ mn
endstream
endobj
-4249 0 obj
-<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4251 0 R /CIDSet 4250 0 R >>
+4243 0 obj
+<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4245 0 R /CIDSet 4244 0 R >>
endobj
-4252 0 obj
+4246 0 obj
<< /Filter /FlateDecode /Length 432 >>
stream
x}j0z
@@ -14312,23 +14381,23 @@ uHeC7Ӧ-I(:$GKFyJshFWA=DF7p!QyW
@i4 1$˰!H! !9vY׼l~,~/wƸK',|I`æ{z[/4?
endstream
endobj
-341 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4253 0 R ] /ToUnicode 4252 0 R >>
+229 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4247 0 R ] /ToUnicode 4246 0 R >>
endobj
-4253 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4249 0 R /W 4248 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4247 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4243 0 R /W 4242 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4254 0 obj
+4248 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] ]
endobj
-4256 0 obj
+4250 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
< 
endstream
endobj
-4257 0 obj
+4251 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1695 >>
stream
xuU}PSW%+4-}O{BkQP`@E ZyI
@@ -14343,33 +14412,33 @@ E0Hw/l:NhW$
{>4`YQ$4d쭗6}hб{F}p$pxse\ɦ|D;2ukwW j@FQCCsA*<O0'Niu
endstream
endobj
-4255 0 obj
-<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4257 0 R /CIDSet 4256 0 R >>
+4249 0 obj
+<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4251 0 R /CIDSet 4250 0 R >>
endobj
-4258 0 obj
+4252 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}K0w.jSH'fTT5:]'0S=799Im\0)Pf?Ӝ4 Ū eFj1Vl%4"lq"ٵX"Sbq^mNe;TTvDy5`
n/ԅPr QRj~,%̮ %ﳐ\߭'Q`ܓe&*ۼ%f<+2@hfEouQ y FPl6 !O*g#tG0S<eSyA21!&+s%Uthg(Tہ]3yĿ=<FOASSS>K.#?Vims=UnG}P-mV
endstream
endobj
-339 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4259 0 R ] /ToUnicode 4258 0 R >>
+227 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4253 0 R ] /ToUnicode 4252 0 R >>
endobj
-4259 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4255 0 R /W 4254 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4253 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4249 0 R /W 4248 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4260 0 obj
+4254 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 531 ] 55 [ 325 531 531 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 531 ] 81 [ 531 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 100 [ 531 531 ] 105 [ 384 531 531 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 121 [ 531 ] ]
endobj
-4262 0 obj
+4256 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``0<4-aM

endstream
endobj
-4263 0 obj
+4257 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2548 >>
stream
xmV TW!L&jL+1Z-*`h "Q0$PѢ
@@ -14390,10 +14459,10 @@ b`BSK)i$mE CbcTEYz,ڿѿ+8+rZnc[GL@
+_\DeշS?|f5t) MXm-92TNf#2˄~ȹS}&6߹|VT&c5|:&)O8$`?0ݼrW wk7 '&c
endstream
endobj
-4261 0 obj
-<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4263 0 R /CIDSet 4262 0 R >>
+4255 0 obj
+<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4257 0 R /CIDSet 4256 0 R >>
endobj
-4264 0 obj
+4258 0 obj
<< /Filter /FlateDecode /Length 496 >>
stream
x}O0=dqH`"-]Am!h$p"'9k9REʏy3ƞsYGGީ{U~)o4e%ٽ C}b{U9ul6-dy +)1}@!%/d;_
@@ -14403,518 +14472,511 @@ A3 94D\b
*l@ET@aR-ic(LC0%cψ<P3q8/8ĝOq_~՚XWJo]d+fK*Iԍɲ_ o/()
endstream
endobj
-338 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4265 0 R ] /ToUnicode 4264 0 R >>
+226 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4259 0 R ] /ToUnicode 4258 0 R >>
endobj
-4265 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4261 0 R /W 4260 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4259 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4255 0 R /W 4254 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4266 0 obj
-[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 101 [ 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
+4260 0 obj
+[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-4268 0 obj
+4262 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xc``0-xۿϾ
-a 8
+xc``0Mxۿ
+a 8
endstream
endobj
-4269 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6782 >>
+4263 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6724 >>
stream
-xڝz \ U4虸/\Z[պժvK
-p<"K&W*䫶n"_ V<
-\P}U3g"|a>3MAWaw۰=[&R{2,=pCKSESQcj::5fR9[<j>ZH-PKerj%ZMQ FjBmjF)JAySOPATJQᔊX*N4FXDTLrE^˨e E/JVVO3ŁGC|*JWHюOW^ҍ}sh%t.8l  1njąF.yK&i~pY(Q^jk;F[nc}ا\]cX1cٶv=JGchj -)Lpњ4ߒ$F`jfMZLC@#%VzO0A۠h^r j>q%*a(E#W[hTD{uF(rqNn=Fzc
-4w9k۷/7,y,4xY̍MФ%f
-$Cb1rɚB~!JcSU!xE"'r"f<l,験#B*C
-z/Y46MM5޸l@>Meq^fpb^s~}+qx$O2<IȮ縱;R{
-5Ф{ۄLZx,PF.ƫ9<y5<ɛPE͸`:Jx^}̖&i0~ /zG)c5Q:4(jr.ɋOЦjthեXt ~ȢiU6<>2DM!)dV+R$ϽY¡8T1oh]ِ.rvGc%ĠE~ $C7ۚ~bU.. Ys^L-%df[!#ne\wn xJpixC3{ß_=Po'[`|L_l?y6ZCfFG"KLhI7F! 9%PΛh{X̣os:`p@1Z.wį
-͂ȌRJ fe/Ȏ78-Uq/65\O&\Qrm}lx8+f|InzFφ恵/+QhM$i4"QvOcNB Y39OV:pb+F^{q~>0) rQo6,. xct4Tg3₃'nrg]>.^wVĭ]w䂊gN%3rƪ2SKpaTt@Wg!gr4hVHJ^5 aQ"ŗbA'ȈK~O?jG{kHRT$)hFbVы5- zYs(GHl4X\YWefZ] ?v/z/޿fڿӫutp
-WChr<ORE
-I&].,̫ԙ|;uQ|DXr@8QXCyxF"׺ZKiN8, ԇ`kssrAX롴QgW
-̕u隴X6042PiʈhU:Z u|u#ITuT,1eɱʒz*\r32 6ܥ{QzM([2*O)z=8_B1FMѣ)_K8^sن=}Wh :5lQ7E7\6D t_ʠ z s Ps5qnG=E.
-Pu
-s7m EeiZrPw Ԑed55}²l&q' #o[^_خ7 YlBdUk x/<ٲOrS+tI@X~5<3Zok E! ]w[)"GOq/H8DnIh͋9jՍ&=qL7ޟ.ȊOe#bS%By\uR$5}8$$ʺ(2t/Gp;9`۾Rދu jfXt7K5ˡ3ҁY<iAO3 Xﶸo3ӛSfIw!ZMt
-
-$z%At(5rXu z2#!C?gg%qus5
-Z'Vd?!]}M,legh
-H뵺>hnX!ߟGƻz܂\m92HF1SǛ%} )_'d0u4#bZ Gî='bAl
-VU|8#aIzI$S-"F< di, q ޑ^ם 4ae<FY6, )17BmM=h>lgتjgo0i
-,9c]{c%G|Ɉ
-U1Z%dW:-',=TPsXXXOr֛_=zJvQR+jF)bA2Yg_*9/ q<6V~+3A.G3G406dh4,ay];ZpPuj뎤+qXPs?G ӕ!`hh`uƯ&HEE&CNv٩7rz| O9U`vզ%A15e ?r=>D׿q [
-׺6n2Wx;mYZqʗPj3Ϝ^_Uz$Ee'v S/U,kwX'.^)E-)n5>w7,6
- fѬ9;UP z>=}۹ ˗eQ&G
-sk϶I ^EGjA ?w[PEf2Y]ܹ,;vi)V. F8[\,y'O?U^ͫ>UlKWXd.xP(^+BhjRBiZ-($>\ccʞZ
+xڝZ\׺eTd-3:-b"e KY@@X:eYzeaY `oQވDch<; x_r}-v9+ !,ڰ6)\gmy]̟-G'9!/Z [vDE_wF w
+mqpw66Qz,9C"1,C_b ~y7#֍hM]Ma.0AͪWq(/Q^:+ WG%q(( 6tlƇ՟L}PL6
+ևt@}Ce@wEּ!֠<
+IJ8ka-ʎ@al'\m<Gv `$#!f&亿5/ޕm 3>7M+QnOhf[@NU%4FԂb9yPW{-2CM]M /a6-Y1ǣKF23ѦO-W\VBn_$: rB | ΃pvcMc'uJ I)j64A1o<nZ;
+7rd( 3K+g?^L6pd#Yv
+`Gɭ) 8t>uml5`ۃq]8ϙ`} =ި1RqIb4)0t>Zɠo)<CK&`̛$%9e 3aZ(x[ ?)ވUYA]'̸*g:;:Fa'yP3ʎq~Ggu4lΝh1h @b<!uU.ҬM 웆F*ؾUؾ#&bs6qFap~GO unLo`w\^g|'0𣒵hHN L00~Q#^ťaᴭRsuU` ng@%s!p0r&g?V&4
+w~~utϪ rD]po=pS7d3e.)BZz(MWsK-\y-tMtaÝwJ4\>+)npؕ92/رګ, ]K,E(Ww'z/P8Zsڷ٧5n &2r]P~2=+# j>T<v@D}p5k*;LV'%EyEY,D*H
+ĭCP2{Cy(20߁B8(KwR_ptY{8z4܍®r/&Rsn&1Fu"rP#էOR1q"#́7PλbzZiM' QVN7MO|wd-Ж#mKW/x`Z5|\F!lH
+j\MZn0LSg0;.[ͶU#[lv%yG+3-ScayHF
+6AbfaV'r<ARhَϲ(U19&X7VV$=]wH *z<FA?ɡp9٬\QTg·,IINC"Y4Y
+{;@kmnA8^Rn$NOgzfv )K
+̿)7Z)X
+v%*X,5>gWy u$07Ǡ~#'!Hhi=QɆH,]6nXё4)SVu} Gp8a?x,vYSKY*@ |4fW՗1׮Jqe;a9FfBؕKځx)pip7;S 4f($@#i0 $ਏ<bi8h $P4t "0j"|J~}Ӳ$N-
+-`w3ե1 :>v>
+}/L!IRy,%p=Lð?dNeZ=OΈܱ=.E4*JdE#=/AH(^wN*d*hrUah !Lowb14Kt مOdeR\ ^8#o<+~s~&lI*B@`8+ kGdTP*A>U8
+TT|62T`+ƈno:9H~ڧLJS>֚y' e<p衺J-`S =y3svWsബ5$ Fm=i :[I:ȋ1 )$5(¹sאE=#ܴ&;K߶:8Іaj}Zك=Z&2_ޫ3/L \Q, jmNfՃR
+xi=m4v.yP6奘@=@~i%&+iyeTieY?< 5>upfe첐$7ud[/ZSx"
+4SgcR yLa5k̎5[Ա Z\Jr=MzV6yYfTy珞;,,>D0dD1 ~/ 6/Se-7_)f?<Q_%h< N y
+J$EɌ<ñ]W=죟He^M(l&.N
+1Ե#dr% QYPM
+[RԬZP@ qa a)7~z_p|+\![ 
+.`x(67~b e/,|rջ4esw9xTEVKk|C[b9U}3~2HOԬOܛMGe"84K=,,=aJ,WV("l^pw4 pu;j@suX^ AŐօͦa]8- d5oʴˌ8b;j?:|>ы~=٠"*C4A4ωh-#б8,$-&gl[pFrq~擛@=C%~d,=o{>'5 F~y-KN#1idDб8'=+Ey U G tX>ѻsѾ|&?# G/*65iY Btz9#V|$InW4%Tm< j\n7=UᲢ?t
+M^#i6~?_dy~%ҧ2Yyi\g¥4U!Svo7T]
+we:+A> 5&'0V5 -J
+zm= q:?{RJL4
+@j]iԖUܽ-Yע-c"sZSKB B”rӝXQu)ۄcApV`K^\r+lQb̈́m*ݸ좣7b<?5]u^J6Q>—\9$} 5 s*ZĔR.w XeSӼtuaף
+ I2,EQ  5]K[xWڷ:<!m39gkW1DbYW$~#I`!ٜrPɟu/ƍ&ܨ7( t.>%d,gkD4xyscݿU'
endstream
endobj
-4267 0 obj
-<< /Type /FontDescriptor /FontName /WHBEGB+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4269 0 R /CIDSet 4268 0 R >>
+4261 0 obj
+<< /Type /FontDescriptor /FontName /SEKAPH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4263 0 R /CIDSet 4262 0 R >>
endobj
-4270 0 obj
+4264 0 obj
<< /Filter /FlateDecode /Length 638 >>
stream
-x}M0=dɧ + Hj{ %wHU)'3<}ػ>J7|Nvͥzg4JZIտIYbv/죭xMtVk!'-TSru~UNu=3PDAi~ȶ+kg*VueV9dT%Uv4{"WUfڪSl+]ެ3yo ٖu4i|$ +IO{UM򷅎QcF.ddl3u\7K|?#UWè <B5K=E~bie
- L)2i DSȓhU 3P: DD0K"6'"\%,D.N;gzȒ "/u@zXQ OAХo YLzTkc8 ",YR=L`  ":!KD0苠w cޟ'=E[gV8hSi>ڶ!P*y5ucFٯ
+x}M0=dɧ + 
+9d;i)/J1}(LMݽܮYzfձ:LGك(e~ʶ+kg*Vuev9d\%Uv2{"?ýeUڙDw.['g-Յ8íi0IVȳ.gUMdey]Ȯrf"F%T_qNgNh忳򗺐E~bie
+'BpJ-釖6Ȍ,> D1Mс2g IfDfDkĦ rE<S@dF3,"q"rB5f!:p6 p"8X, ;bXǘ`Sqff1ΝL%9\B'%q"L00 ;&(+d] s43" LI/ t~>~=O|oMZ"P
+YԾ6wV_7J%?︦n*pQ8
endstream
endobj
-337 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WHBEGB+LMRoman8-Regular /DescendantFonts [ 4271 0 R ] /ToUnicode 4270 0 R >>
+225 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SEKAPH+LMRoman8-Regular /DescendantFonts [ 4265 0 R ] /ToUnicode 4264 0 R >>
endobj
-4271 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WHBEGB+LMRoman8-Regular /FontDescriptor 4267 0 R /W 4266 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4265 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SEKAPH+LMRoman8-Regular /FontDescriptor 4261 0 R /W 4260 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4272 0 obj
+4266 0 obj
[638.9 ]
endobj
-4273 0 obj
+4267 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-4274 0 obj
+4268 0 obj
[668 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 607.3 ]
endobj
-4275 0 obj
+4269 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 500 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-4276 0 obj
+4270 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 0 500 0 0 0 0 0 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444.5 0 0 0 0 0 0 0 0 0 0 555.5 0 0 0 391.7 0 388.9 ]
endobj
+4271 0 obj
+[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 65 [ 525 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 ] 102 [ 525 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
+endobj
+4273 0 obj
+<< /Filter /FlateDecode /Length 23 >>
+stream
+xc``(p5OK
+endstream
+endobj
+4274 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4150 >>
+stream
+xڭXyT[UnJ[Z8ܫvZZ:tigKG(!%B Co2a
+ B'V[lZKY[jե}Oϭn|o]Jɾa;޴iK7 ˅.[")+΋~a
+r
+~`_R%U EBIEC*T(*"A Jϗ D|qqtaRqJ_ϯEbqK%BQ֦ji٤Q}K6lIM_R'k/U%o}L甭
+Rb c<l0[=-V``,ۄmƶ`iX:ہe`{,lbX!V*01V^E az'bs"fyLSطV]wU\Ӵ;MϞ3䌘g0󉙊$L̊u8DYbmwwy쮝pu~ ^a8g;Q,4kAQMJJ;\zpX:oTU1%asÈZ|2Wݔޞ&yED|]Z i+Pl?3 g}"2z U%(|7-- ,KݴDRZ$揥] 6Xxl%k_K[ARX&#G6c
+RV6 :
+>jw!_J\9v}.b>%)͛•1D(•(r ?`h뉨
+Jɧ|
+
+pBM#F
+-ڌt i|.LÛ6f/'CQYc
+HH`Yhu
+CRPPIv}AQC(5
+FR+擛T4Yhڔ5LV\nĉ |5*I1?bT`km^~R.w:}]!sx$N;}hz&vAplk5FI'%v (cB"$ݡpso1ZGYUtAdP)Z/]iGA.g*o\ո+N<
+dPI(*%Qֺ
+YR6PUO)7Q> `6mG.u ,ߵDq(Xszou@uS3"S"\ @#XQiu9c6_
+k:vYP+`/@pKYvm
+endstream
+endobj
+4272 0 obj
+<< /Type /FontDescriptor /FontName /YWBYKK+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4274 0 R /CIDSet 4273 0 R >>
+endobj
+4275 0 obj
+<< /Filter /FlateDecode /Length 538 >>
+stream
+x}[o@+Ha}[Y
+7JIxj ֖mݳN \Ιјѷ$==g՗$)o4ZL!$hںRƋ|ɹ*OIC9+btxGgfS:~)UI'7 djV,VJ.&" ƵLVe~g'Sv=suٌMu۫|M^[Iml|ۢN^D^1IY8sUJv׆Xh9ݲ5EIm
+xfk<R8G
+ZZV RzNA#!ȑS 1b(!Xag rP:8K^襮z!v@Vpd"&z)Cx6R:u
+uf=i۱b</G]^V_}ݚ}>wMݘ*auC
+endstream
+endobj
+219 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YWBYKK+LMMono10-Italic /DescendantFonts [ 4276 0 R ] /ToUnicode 4275 0 R >>
+endobj
+4276 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YWBYKK+LMMono10-Italic /FontDescriptor 4272 0 R /W 4271 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+endobj
4277 0 obj
-[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 65 [ 525 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
+[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] 118 [ 525 ] ]
endobj
4279 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
-xc``(p5OK
+xc``TdTe
endstream
endobj
4280 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4096 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2337 >>
stream
-xڭXytePT_\f "q[B,%iJi4dO$Mڦ[ڴB"O\|zrx N3<y~pܳkִ/.yqaK$yS\: 0c*'X8jW|%šǓns0vG̤o)Ic '-0vv?'șW._za\TZ\"XчcOץ+(B-t]-/V%yE|a?S/ Db~H(?,)eBQ9 *ybA!_ZY(%%3Jt)/%IS˖IũBQ"FbH,vM[3~c H(
-$y⭟B|AZRR*cq?6-–`˰GJil5[ÞҰ-V,{ v`;,l/|+cUgQgEآ #圈[( x'w54iFsM?9#n3~L_v%Yg:&wdSq6YWx19;K&~-1*Hʾ7VV竕LPyD\xcvtE8sSi7VxhJ5Ww1sC0
--IiH*2aƸgь0p>&+qWMoC+pp`HR}EƁbgx4m7
->\_dzv|U-sa7L^^7\V&Dql/ᗫ-AK jSB]zu=وDTF=E'-*S
-b6['ϢӘmFP:
-Q0f ]R!4iJ6 G3PûfQ@hWZ]NiuJZ/4^Vt7škjMEpOrcWq%E7x>7襛T ."
-gpq<ICbi"K4pgwCw)IA 2Qz$Imx@8d﯏dTe(gkE(HiY @Wg$>w;/Op4MVP6XZښ>@eΈ+~cQy۽_ܦjuKv:I{2 *BR
- P?6=F!;ԡM[:=q w;m`R`qz}0~9~p<ة*jD[}TʵƮw {pˎ|mCFh 7*iTg[p0rATPQ)}AYC쉔Uxw[W̧7۩i^Ѵ)kf3Yfr!&3JN'l|̨Q6mIrO;#Vg8Ў/eZiv;GmdWS`l8hV|ܠ2dΑ73A
-?y],$5~iO(n~D. jTe=m)eLX˿7Z=rթ 
-8M4quͨ<u-*aK$kJJ*l)Umȉ5gi{skX0OZ
-ü_ƞE3 4Qc?c,H`38QšݒOo ӭ/ sl0"5*.1m7u
-zZ 6/4
-͉5f\EuaQ 0#Ih(
-M4coC/ې]( IIUE扄TMrgdz7p
-mdfF}Cߦ\rp_p_pد!ȧbOxz +47w
-~."9.C@.z eSi@~[[{nG]0}ҙ %gQюsLTfu9#J]v :BQ`&<`
-xF2&v.~j'*BW@X{7P";nvgy/D0gP{G1c<vum (7kii+v/X^1aX-VX)wag/sgYl.CnR@h\7^\Ͱ"cuG+ uUY8\"B ]F{6PR_AmFaܨ9r YAYF jֵD'M W^
-wАZ _׏ÇS1x7;R*hZo
-ovd k}'"nr.LJ$^q ^Lyy^!M/RA:%Uy+cC_Pno8ߛd/K45\dsx5&FD-RfΗDڭvz:YONHvJ!ϔ1RxN|cɐI `T0&&W{m.x>bYt:iftfK[܎3YYLov8
+xڕV{TW
+&]*!C BmhZCсNziQPmތYo뫗]ڲś-(%z$<~|'Ɇ:Gx&"y 4{<=62 G^:B
+f/j"[dV}ZlfAQm]z>ιwp6&
+vB?ٌF ʹfSrpvnO6
+4PO{cWtBjp
+y
+ _C(5H#cM~s´  < %H@i L\p7\/p~o~Q'yZ?t*
+\bjHO7t 'N~F6x7$mQdcՈn;I\qRH1M';:Y-c7>F/Iut
+Kn+B,
+{H(`&@
+,(S{7&._^|X!3 AQZcJ4=B-ƮdfT"IqȴF@Q<2#Xī`u{缷.{&P)X/qXz˦/0THG0:"gs1x $t? Q fUzGH!4ѕV
+fTKw0V&Q+<NnV-LWN]uIMa&#?/
+7$-`ٛ2/N"CUo72":10;ype E>nz.ٛ
+aA\PQRA HC qp*)9 q\_~R$r
endstream
endobj
4278 0 obj
-<< /Type /FontDescriptor /FontName /WBOIOL+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4280 0 R /CIDSet 4279 0 R >>
+<< /Type /FontDescriptor /FontName /ESZHGF+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4280 0 R /CIDSet 4279 0 R >>
endobj
4281 0 obj
-<< /Filter /FlateDecode /Length 531 >>
+<< /Filter /FlateDecode /Length 459 >>
stream
-x}]k@+f/{:"*{3G70wBqWP|<{'~gȏ9kzѪ 1D'jG=/U!A':_ YtWa=-y}mdps]t2'n 9b뼉&c-r>dwK!7ɇvYdZE홌ƽ<g[y!61BG%|o-r
-x=[pk4B՟RFR7< rCa
-Ad hzG8ڀbKQ"( %,Ek93Su)`
-)b(!BA!l)up xI:uaڔ# Pag!S̗a)2l7s=̹ >Yka<!g\]7l#{FkIOZ۴ʾ#:Wn@
+x}n0~
+!RzB[EHv*Q'YKFy=Jl@|?a
+ }`qtz0|Wd6h>4g
+8ʶ?u4t{/&|/-svе5Sm誰WF@ GD+^h
+?qb,2G)FZ#-
+Et"%HrT> %Hk{i\oAz
+yJNp]e=k:u:H3}Ȱ_nf>SΝT1{n]NM^
endstream
endobj
-331 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WBOIOL+LMMono10-Italic /DescendantFonts [ 4282 0 R ] /ToUnicode 4281 0 R >>
+218 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ESZHGF+LMMonoLt10-Bold /DescendantFonts [ 4282 0 R ] /ToUnicode 4281 0 R >>
endobj
4282 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WBOIOL+LMMono10-Italic /FontDescriptor 4278 0 R /W 4277 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ESZHGF+LMMonoLt10-Bold /FontDescriptor 4278 0 R /W 4277 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4283 0 obj
-[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 118 [ 525 ] ]
+[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 139 [ 525 ] 163 [ 525 ] 202 [ 525 ] 294 [ 525 ] 602 [ 525 ] ]
endobj
4285 0 obj
-<< /Filter /FlateDecode /Length 23 >>
+<< /Filter /FlateDecode /Length 36 >>
stream
-xc``TdP
+xc```b`P`&
endstream
endobj
4286 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2127 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8560 >>
stream
-xmV{TW@2YJK%zgZQCQZ Z1@Ha
-j (ykE(]uO]`mI붧Z+u X8=9go+bJ$MHNLXxzNɼ$2l^.<Y (~><2^)?&|UFg/~B_dQRJDͥQ?P"??N4<2r:jԪ5fvidPŮ g7*Ӳy,-ٍp6QGj`=Ǧ4J]`U;hbF}&k&6OobɷQS)Mt6KWYFmMJfcݤMSq&Ʋ&՘͆uި >݄)Bx/,M$&ń-f6CodUfVg
-]Sft>U!]řf+E<jR+T,O%P-T2JT6Kp$ P@@TLPDѢ~Y>f[)XeXrX2N&IGPX7p|0
- |]9\Ayy1DJ魭w] m8w@{gyЀramAp~\+݊27-vKf>J{"9l?ќJ$F=(ۈّ?
-L-Kiilvq=ʧM9vs⤃-nS ?@&jβču_饋ݸ
-.=h'!"Z~F8`_j*K y8̀?&Is4(ZӝgSpt"?yo!h8x}Bc'm |>=YTxݨ8R`P,g@9]/='[!Hԗ)UmnAԗb6lڕvw"^=HNѡ"VFE| :C77t<BYx4o
-HWk/])gy 3FqŎVY^|s ܽDjJ6[-6uF;kwV&"1l#aaz Tw*[&s|$(=~W\x 0$K5q/y 7"1,Qllnܢa&ch Q<K:\eV@[ $p+ H3%3q0rV[=#eڔ^kSmA]
-39ضNl53UBY_BưWd;Hk_Ak`3}=G%A,%YA 'tmgO3ةVpj^=)'; ﶾ4A| '\j2 jm؇Q Z8E8?Pc6[Iе]rjA@@,` p޿
-&EL6ڊjB휷v':\liA;ܼ,Nz_Gg4A
-j QwTac:Edb¤vڻC`iנw ϓYyރ"<\){2fʃ[m;rS A߆ޢli${I꥔0ɟtΝM*t/:agLQ>_}P-N1i)4\]Z[!}e]shRLU'mbŞC䷸΍n?;94-wjD0:!9>%wm<ә-
-GEuAЖ{Yr]5 INfxl9]QP@a d].w?hpL6\pTQQٓ|C/8y
+xzy\D$*EeLŌu[wQPu ;B , Kؙ}DVmmX]3=?Bpܙ{=|aiI[w\?e<@ie!~n
+ӹuhn kQC8ƂY "+ el]NAøVcZ3u8['aKA|Ot ,C#eYgΜJR͚9sTqvn}`_o;v휦m^oI
+1FL'f3Ylb1GM' Eb)XN VžXK#Gb=p"6wb+N vgb7K>p'2ƒ$o‡%"D %JKT78[7-H 4`߀,|-Y:ZFXꅣǤ-@>Yֈb%Q*l=8xp&{]d1D8dҐ!e;숍fM2z; _fWl#-F:|&,Aߦ?nwo(޸ o䃮2 b7.FKGyL؅cS1^5I'+Y/nJP|Xp ļLªiW.<HVek]BMI`bbl ,fT'SUc*Ͽ-e~"KjF/lK  [ p`sF*7I-63=}ٕm:ӕ!]Q!Kto5$!H?ud7ArʳJg =O6vr?xܗm0>1=n7fǵ7ڷ\pQ8IS0fjW͖0}np,WzjDLܗbTqXp^)u}3>xp
+ӟy~ჳ-r J Jd\¢"i-SZ~:̴m")]qi/$ុ K9R8q`:-JzM3QCެ;_p"YSSڒ`5?Oײ#ۋ"w, SnVuE֜#|%ѫ1 Hcr (U7(P2*u@H48RkEt^6*,=HKR5gIItn)Jֶqݶ 0L6Gx*aZi.htiA76VE
+l&at|TJE0CaJPCT- "G7qd]C3]0@#lִ[pO%r66"E^o1?\*vc,/9B<;+nWQx(`Gϯ60[ De=n7~~S']x7Pl6ڸHBaĸ2t齍¡&7VuiHFl$·[pL0FRQT# LA( qip
+c3s"*RTw,༧eˋF.E^lko
+#sE}O(ߔ=IRl/
+`=dpWߖ?*ftYzS!:6/4cTۻO},L%M`j3؁2eD`>{hW$V2? Ls,گ@d61:?q,1Z%ތ_NϜL7ƕ F(gDĦD)>{wX-; :?6!ӂ
+3
+u<Idmng.!vՓ'/^>g;c}'.?q4kr{t'ٹ5%q 24'tdX2IQ~?aL|T\TYM!x Y9e^z*^RDijs?5`.=k,5]E?7JSS/G;0'xV^\^/+wX;, ~<y6YdrHR֐/pHªN\g5<GjL{e´d4FZMxw,h5c9Ђdh
+UMmZ_N'.BY'v/ޔL)Xo%;&Fa tao`0{K=|٣7? aLaz巑x*_w̱ui@> 3+(+FH0%r&SVMʓN.*{%Ǽ~rti<ZUg؞=_E,_S&-~㳜ג|g * R)c_M0?0/X&*&/0`s}_0 ^PqQ3mk*-{&Hˬ.ўڀdP%UzycmF]o(PţɩefD( e⸬((I
+.u]AݣbVm.`g(WhA" gGjS_PSTl8m!w<C{I)``:y̱G5W/ÐWJ~|>`-O%.YNCy~\G†dW>n,H?pY5ɩS唱- ? 9?`9O@t@#T?\}HƩb|&̂/;%ZO>*V)T`o0pFK>lݶyn'*=rVK+B;0S IR <k!FF@іS5OcҾ(>':xJË"*
+Ґ?sG1 /FbF} Ixh=vN>^N#\:f:8D_`"`??6<j3{=9U#ԘTn6[Na۩0
++˟ѝLNv6+o.U[]ʙLvg2^Ɩb
+f2 t[U}E}DeQO7{]yw>cȔ3<il7#eǹs6W Qhg-ꊊļ,L#~A!a _z:ژu>m xA;@p wKr&;' qMg
+PKk2KKt uCr<]YJ`Tx0R mtz[%8 [칤9U(.#BΞtVe&_L^[e %dY#+of?*C7#_K#7;+~8;IM0L3Er%\a+:(>z#ܱ1-Gl-L}s;x JT5tem.v41cݦ8?X(y< ^R֭@zFzٻ0x_
+IO(m~pbjuVBc;Y0@!U\jtǾMu[]RqIjj/m1TMl*jEG hUC,8W&K*|3a@ڂ#o?+JGnB%iSP+FE3~xa}]3sϖ
+T-dz][<w)Y͟_զ37eAroy9M'$k#ͅ.4,;xlsO F xI݉`t71LbbbB4TU[S^xd,_X\QOA`ǜW98gP"iǍ=nq(J@?l4820 g :6GjA7>h'.·Y)]]0gEOlWLW`2Y<mI)[R7*0_]mcF`N_e N&|y Ntv ~#`.sݡzYzXє(!/955es{C Egxs NTދ ݸeK1Y9 /=7sd:Aa 0Rɜ1ImO53L^݃Go}* 5x<n-fgЏ?;{[7
+q )ET&<#)q 7=0B %UI?ڄ!vx|hʾ̀Q/H</_~ x`~1(JUi/I7I{kabA B8b wX^}*Rɇ5^d`PSlJa > \2Ka)hbkRm27ҖZѳԦ$7ۮ,O6uel[.KuI(7 ]a<I,
+\]gsaW+-s<&=2De 8\"VdײtA5ۚ|ȕ L&} =v[pxIc0 淤-cΑa*Tu:fxrC /~T;\*J6yu}? )TfGs L]Qz%/Y6<0#NQPݖ`n@Ѭ,3ԁ^ N;iLpq=!%GC)A) cYV1|&V^ś+_"
+DBRzJlR/0*CzҿpK茷%k8VJ$sI£d_ɨ*:fńe?
+k+{lGI'xp?In 0[!xPJ,\Y8̰l\ nM-=좤fwGBxʴe!޶ͿŒX6ꙢNRjyMx)y"0"<s/Om~3ݽNb:9#!O~Lr W6VKC0wG}D6>' U&GH+2 !+biOpGRa-'o d˗ Gd/%KaL yODDEgc HjFA}B[GSOWrCAֶnJJc25Y!ɌcYJVdDU00r09+3%n3cC53=_f;:)C'8 XUs
+L
+WIObe2Qo"##t?t=m;y<K%ߊQ(TGhRY\F
+e"c|*dV
+ b54IRgo&}}E.d4i1t/,3ߊ晓Hm\RB"%,VN;]0J-nؓŦ0IBMRn&Scؘ) ?}q-r: rnj)a9ItF ,vQ) e#">"F 33y6;&AB{SmbU$?#D[fX dgL?YVViٺ2]<׸%;TG
endstream
endobj
4284 0 obj
-<< /Type /FontDescriptor /FontName /KSANKC+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4286 0 R /CIDSet 4285 0 R >>
+<< /Type /FontDescriptor /FontName /VSFYBK+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4286 0 R /CIDSet 4285 0 R >>
endobj
4287 0 obj
-<< /Filter /FlateDecode /Length 444 >>
+<< /Filter /FlateDecode /Length 757 >>
stream
-x}]O0)Œy6ABKnY=MFK
-\&OHy C0aZA24kP@}3i^
-%k\(~^pա|9^6K`O"`.h'uӏZ#l>Vj@ƘDkwDR 3{D1w'm\pyn; ud59{$|5TG:,Ѻ}ӜɡdpmU 4tg/& sr6S#mbmFa|FK6cI9gH1iF{HH)Ri>%R4TX!<FHkyJL^:mYO3)LQKzaW|\&Yuq
-~6э_p&ߴm f
+x}]K@+f/MS e*Vd&nMJ^d޷
+˺89g:syTc}jrߛ,ׇjZ秽G _\F⹩od1]Te{&/|w*eֿ'>tq{[~,uUgioOuKUe ?QQŨۼXՃn4 ̪bR;cg{SVET{xIQyK}(Uxu>~6u2~\IOMᛲڊ/r sVa|D uzE_al_s!.}>"C1a70ス MQ6Ά&,iIZ,H9e3I)D i9I1ȁ;=c#S YOk,HяD?%O݁৐Du4gIS~@#H+F̅F M#dit F50$iAȒ`Q] #KF̅F$tLHϒ৘'$:m>?KB N#cD<?Idf'Q ?xs$HfoDo , ~~\,Ι[;SgaH0R
endstream
endobj
-330 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KSANKC+LMMonoLt10-Bold /DescendantFonts [ 4288 0 R ] /ToUnicode 4287 0 R >>
+217 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VSFYBK+LMMono10-Regular /DescendantFonts [ 4288 0 R ] /ToUnicode 4287 0 R >>
endobj
4288 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KSANKC+LMMonoLt10-Bold /FontDescriptor 4284 0 R /W 4283 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VSFYBK+LMMono10-Regular /FontDescriptor 4284 0 R /W 4283 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4289 0 obj
-[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 ] 68 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 139 [ 525 ] 163 [ 525 ] 202 [ 525 ] 294 [ 525 ] 602 [ 525 ] ]
+[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
4291 0 obj
-<< /Filter /FlateDecode /Length 37 >>
+<< /Filter /FlateDecode /Length 21 >>
stream
-xc``  
+xc`
+ < 
endstream
endobj
4292 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8507 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
-xzw\WTU1w{,klPA²]ҙwޛaŲ1Q&F49\.(I~ ,Νs|ϙ@ }w-kott_3s+Ma:Ǎg7^phXpv:+^leaف _%A08hxVM;&A%^%'z!a0Ys[V͝3g -UU!~>vnvgm^@;wI.4DRCB^eb+o_" )2u۶:٭*6fδ 켕ʠEg+Cf^=1!{6]7s;fn{ͦkf)ÕvrL2?Ip_!w{>V!!qxb1DL&S׈itb1E&sy|b&xXD,&ˈ
-b%XM!=@l 6&b3.J8ۈb'p&v{ J#wb?!#< /›!| ?Ÿ  9D
-"PaD8AD q]0yigϤsK"?G 7 ?'z8a!iK&E֢5"X">7x!!C lu+C3 M45p>g7mS#/I(uFkt裣9\ö)
-asү Ɩ:ՀW"[4[nvv]㖌o&'L:i$ѓoM>cjf q*A=c%6IcPFb(+\VXT
-5J65MLԱ'mjV^L/Bx R5lYZ61x)`[=%N48T8o4)X[\VF<ѝm&*jJu(WHG"6jIvMRk;ޕ|Q+Τf~Ɵ%J6#QE^.l<~pǗ0)5]24;;[ջ[R\47QF٤ZװLjAۣ+ݯ.Z-5}QĮm.Slǿ!5MWJ]]?rBV9'1QTl8_{ 6خִe][|څ\)uRWWu }%"镤]ן)(<}ɉ*-VADG4DlsG$͏2lBȚJ0ݡM]s޻t5
-f),զujBjKZubղG2rѡGmtvEv k z^$K_yj(ڕU!5iL]Rҷ"Q
-"i
-š)ŢFT{c7_py2*zJJ/uO^xR*2ko+>-atcA<1/4T{} M`j3؞M1 ώ;|\rW><30m{5'ń\ApWa5*TZ¢wz΂`o.]TDfG5mleHD$%$d65Z!n[lo
-8|,pͦJq$߽B 'lVR޼-9g/Q{陫WԷ$Dl64@]ȋAT.X_7HkZiqvg=ʉvz^CG:-aiU4383fRvO~PsW4i#PeaMfN]OV62<lquݱD̺|lG@`,q]oʔO嵴T }m{!᪤( ./AƓ
-Q<i>'M*cyba0/(\
-27^#Qp<@{˟Ͼ4b ੩7S C L<Չ"B
-jǝǗw Gou
-S5q
-VCo5o,C5W-G# c*˴x'9u:Q)3:WY$Jg&EŹŹLF]xA &M0_xZms>#R\Yj/Ij!GԦ/@P6گ+ك yY^S:}H5hsOːJ~ a|N>*O#F.E
-7]ۘɚvE$la'~7O _a$2>G*jauȀ cr X=G٪UL|Qāeemy/NI$X҄%4%5lx.%#95WGjhϱ_vA* LNv6 gUN.]${Hj rBcI303 ~΢~/Mˍlq~뭕?meȔ3<i7#eǹsqvWQq[jԕե IILCOCc<i1;wԃ>Ҕ}
-/o򧒖66NTH9{u6W[b1{冣/?C^Ko|M
-cCݤl@
-(m:@_y Y6~@RONla,.*9p熈N耈 Ei
-8bAG/`/XR闅
-3ֵ4Yq@pԥG6Je*Y*]]p/V5'#ROO9{<P^9 WDž|vUJH hy}(z,\/NL$DU]KsgPXvC;il
-mHJoߴH䘶%NI/c2` /Ko/=)xyoD;E0ĸHw\oB._[u ՚k}k5&l+NO@w<^.jP/X*ޒfS$w7m8gLVVNv&B U]S3'J}@#kIjs?~DL=y'R|[!Kzó!t9TKÏ[&6>1I#5很ʂ'$%~Moo)&@7 7M컹 þWO`gM"c]JO%^T2$Tb-ZytcݣGOWɖ}*bSM'`S1l>2^}ҋYFo_OAڒKӸ1Ծʾ6O"/<)l#]_ζ\XqC vYp)/^| ྰa@lph"A
-}
-+Jm-6Ϲ@MfO=M iYKD#)aG_X=-*Y-bC㘔=xO8J+Ovpv%56ёTjB:g2r.Btt#tbENCְmY\$mp o`M4Ȉ~Kr܅ S1G#R
-8byce/(ppP>B31tUdY;xqda/w{*&xfSx8
-%>cb뙕(/!a$UZ% Äb:M`jvl`^.JO6LH7X2|$7<C]ǦRVfQ N^41W$VFǃ"#x~l 2~$t(y+dJ7CXY(e~G:HᛸCJKTFVe%Ҿd4
-&h<[N1?'ȖA
-hmOuC.u!0&ݻ{5<E$Cmv M kvnsώ3c^i OX&UX2.)d#<06+e*Z]”.ό i&hs8~H)7
-?T@~> qLHŪZR5DjuJ*+Ǘ| vO'V\u쥋뽮oTU&V.B1:&VȒ|2=`ۜ"Sقt&JX[2-(> i.h7*[҇Z,F^[B"=:a9''&1qE@?u/iXm|\*%$hJ2-],#dk{x[9.)ɏ&d&љs[cr:Ee>4D  hw7lp*AL~h[]
+xuUkPTGÈ(uG^QWCZ` 00 j3GAG@^X"")E0kZ]CP*X,PѾncgVmwӧ;uXL cLqs`<&N~9*
+qݗ or_v(G5:@[2}5z`x%] sڤ!Y "#DrO 3
+V"r?퇒?IX01tV-m*>vH5-k*c=|w !}9PfhrWN#^X:-Hס_{% W4P!XE$m]:zb38{]PunQrLgrXPO^`P:~+ #R7~Gy{f7p܉#/b|DL=\>F/܂/6+|(NZd-ؓW `
+GKtdžmBEx}gZ5g:\~Bc"ZOI
+NbC^r`)|*+%M 1=U8⦈kQʁR y Ķ˚Jmѹpr~_9&꾩R58WCW%#B)_o-Zȫ=%-/7l|D%2]DCbTߙir8lkQ(\-:Kϗ:Y
endstream
endobj
4290 0 obj
-<< /Type /FontDescriptor /FontName /QYILRE+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4292 0 R /CIDSet 4291 0 R >>
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4292 0 R /CIDSet 4291 0 R >>
endobj
4293 0 obj
-<< /Filter /FlateDecode /Length 755 >>
+<< /Filter /FlateDecode /Length 405 >>
stream
-x}]k@+f/
-5O[DjAֲ^dt/;e>99ŷ`Z~S`nyꞼ/|q=܊W|YUݱYte9#._ˇ,qniva'0*q=uu+4M ޔU2U'dReޑ|J/^/Mb"=Ŭs[ÜձivGd"
- [=^ {eFU>׼/d u:dN>L_X oy(nQliɒ摤-">3 { $=g =Itr9huqlx
-?Kbc<i )g@$~
-)ITWO
-~?=~D?h\h4BfF7 `Q3 k8X4`It с@B44, FHFH0$)TޠGϑ#TO"DW $23𓨄a<9 3O~c~?w ?GD.F
-'-n90r$)Fb.02#`<!G#hDbǎxOGoz=oe4V)u]_[>?m3/+5uӯ ;?=='
+x}]K0+wQSetPpC풳X$Q xzޓy[ͥc4ڴV`XhKQ#Y#rlv=gZ5}gZZwyvn,z]mMYic{*l]N5'R/UüяqNj S,}PZڋU;,Trn bYՍ={}oDw۪:)H<ДѺ(bLRU5rٝ+$Fb]mfOa+e:]C@tɵ$> i zݧ,<=yz4J<MFƁ&恆 <M/34܂\@Fiqe*o8hd_K}O
endstream
endobj
-329 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QYILRE+LMMono10-Regular /DescendantFonts [ 4294 0 R ] /ToUnicode 4293 0 R >>
+216 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4294 0 R ] /ToUnicode 4293 0 R >>
endobj
4294 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QYILRE+LMMono10-Regular /FontDescriptor 4290 0 R /W 4289 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4290 0 R /W 4289 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4295 0 obj
-[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
+[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
4297 0 obj
-<< /Filter /FlateDecode /Length 21 >>
+<< /Filter /FlateDecode /Length 23 >>
stream
-xc`
- < 
+xc``T\0Ń 
endstream
endobj
4298 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2056 >>
stream
-xuUkPTGÈ(uG^QWCZ` 00 j3GAG@^X"")E0kZ]CP*X,PѾncgVmwӧ;uXL cLqs`<&N~9*
-qݗ or_v(G5:@[2}5z`x%] sڤ!Y "#DrO 3
-V"r?퇒?IX01tV-m*>vH5-k*c=|w !}9PfhrWN#^X:-Hס_{% W4P!XE$m]:zb38{]PunQrLgrXPO^`P:~+ #R7~Gy{f7p܉#/b|DL=\>F/܂/6+|(NZd-ؓW `
-GKtdžmBEx}gZ5g:\~Bc"ZOI
-NbC^r`)|*+%M 1=U8⦈kQʁR y Ķ˚Jmѹpr~_9&꾩R58WCW%#B)_o-Zȫ=%-/7l|D%2]DCbTߙir8lkQ(\-:Kϗ:Y
+xuV Pgf.qj[m`
+ a
+#, ¢8LcJ,a1+aa.ƺ k>'Sq5
+^ sclŽ0d=!P:8N ^ ȢdKjgS^snR+(OY7ˊO;)75uoi/ls7mX"y5ϒc)6J q|˷5gGAJJdiz*[3 9Ѭ'Z:t4//o'X[y$!p>㛵>q*@T
+OP3q x0ػ8?ˆUWk1Zqfz=o}ՑۭĊU/J(SKWt ze$,j0F"×;t</8֘dK7$n<N1%( ].
+Mk;6~ux2p9[kjGyGQwNyTS:)$5޿)z2E<r砞gwO]'0()rN1dI1Τ>o?zCHƫ A܍ͬJyz>xٰ|%<hL.g;&*ˆ
+րۛq0]8eoҜP ɱI 9V'BS3PX" IwoEQN,/9bVr*+-^Ul1H MBS"<_͇ } 2pM^0y|Prª^~YwE*\ Eq4|[wl6]%?z^ly^ʮ?G~^^'4AK7Տd,Oa=Jﱑx$/S$\%C`thE9k 7+s'35dq;pRi:tZseZ=wx}!lm/Y0?V٦N=]SCfk YHEo߮
+*`f7 p$Z
+;v*xKu¹l}*m |$5mQ
+L8.;1m(`.)p
endstream
endobj
4296 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4298 0 R /CIDSet 4297 0 R >>
+<< /Type /FontDescriptor /FontName /YSFAMU+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4298 0 R /CIDSet 4297 0 R >>
endobj
4299 0 obj
-<< /Filter /FlateDecode /Length 405 >>
+<< /Filter /FlateDecode /Length 464 >>
stream
-x}]K0+wQSetPpC풳X$Q xzޓy[ͥc4ڴV`XhKQ#Y#rlv=gZ5}gZZwyvn,z]mMYic{*l]N5'R/UüяqNj S,}PZڋU;,Trn bYՍ={}oDw۪:)H<ДѺ(bLRU5rٝ+$Fb]mfOa+e:]C@tɵ$> i zݧ,<=yz4J<MFƁ&恆 <M/34܂\@Fiqe*o8hd_K}O
+x}n0<)=P I" iV%jĞd-8V6(?cg:@ z5jak`6*6 g
endstream
endobj
-328 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4300 0 R ] /ToUnicode 4299 0 R >>
+215 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YSFAMU+LMSans10-Regular /DescendantFonts [ 4300 0 R ] /ToUnicode 4299 0 R >>
endobj
4300 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4296 0 R /W 4295 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YSFAMU+LMSans10-Regular /FontDescriptor 4296 0 R /W 4295 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4301 0 obj
-[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
+[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 472 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
endobj
4303 0 obj
-<< /Filter /FlateDecode /Length 23 >>
+<< /Filter /FlateDecode /Length 49 >>
stream
-xc``P\0Ń 
+xc``߿
endstream
endobj
4304 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1969 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8702 >>
stream
-xuU PSg&WתBڪX
-pL!1<@
-CLKŭOD@Td W]mW-sgF3?y~g~1qq W%i̶ E:äzYlb1v&R^,c>+ⵋKUb?L x`h6Mx.¼0fbOqOħ3@bq%jؙ`b;}j-6јLl [
-S3bft9S6cfT5æȳȨr 6b52ת346q:+c1I*&b3 tf `Ny!rݡXlN&7=Uc"""Lhuvd }zi֒v Ɩ`˱0,#
-14Xfcve#)&䗏|Rjx x=|1H#v7 ae}0aиylN _ceP;bu3Vj!ZPĚE2\J/,?հ*2*-ὝU[6 sVa`h(mܧi 4\{+8Z;rȱc CHDmJAP<uɶ.wTseu$vɖbݚ5Ҥgnד^<IE'N( 5$Cd4M}pvu鵎>>m<6,#+լZ=xA= kݭc嫆y9:w/u~QJ{ >ƒBɀԴ+ X9Zxs\:J0Ixs`灦OP>l9ꆹW!Р~"_RvLzwnx"NߔOڭsC%~j*̗
-76>F>q,#_׺ >lB>p{ZhaHDpRY<\:"U+b]apm.
-Xmo!ݳ/}qejIΦF#wɈ,}=1¹$7<Vǹ;V[|iYPZ-TOTl9ұ><85@d&) ^̇ {R*tMV aT4D=ZQ
+xڽzx׶Yƀ!{ J лŽ&WlEV*ɖ 7'@HB )'$$d}wG6 '{?ٞͬ5# @-F-_69`1k=e~! h ]8VY=V"X!A
+z]6ڬYlXm=t!Dψ HAg8vB=&?isݼvK]}#B}얎[1ne`nx`]:MvPP;ϐ@YP舱v뼼C"C|!~Ρnv
+66z6F[ -/**Iݮe*g0OMd=MT%sC6:Ҕ|Ӑ-,<WCA|޷,䨔ҎťhziCbDf[Eg{Aoc2_caxZ|Wqwp_ů\|C'dIOS Saֿ']e*<iĵ
+E4r!6
+Z$'k`ݫ.|k1rɀomJ2؄mr\F[3pP,ӗIHΓJipPE㑤?ܤK
+ƠXiLCEcoڅchH:-acuP@})B.W*a|<WT(S$]xZ>C, P`]񱐛K*QT؀̆I{4N̋:E"*J
+w~1S{&p/p$At 
+|%Jq6ЀjoZi9h+Zb"GRhWTPppaP}~^ZV6 \MPh4J:9Us"tN6Y/P aF*Ek1&O.b44fU[@P5Cy&;RقՙSf+72|Κmy[(w,)0BR+#*3۠XgÑ]5&v IAR(Gq̉q7N7 stw y͎(ڦm_ΙTh 2M6;- !a]uJO}?fM(D<E7L@ɯTTlk"[JsyFA]z$RՊ$55&0]w6`K=jF=,})%#l#a11vϴy7KʪzGJ !͔7Ҙe{$_6>B?xzsFSdMD? ,@?K׺m]pۢ;
+󗛯]q>(mJ8} w\,QUA<Ũ4vTa;z!-Gql$(,7q~1,a+~7}y,8ϲ#h]imPQppPhl*ڡ&0YB-ۈ9Il!>hF&5յVk }d߸Ҏ8sĔV_w62M50EYoVQ`
+JS#:׀4cP[|9Ma vgo09A:b#^ Ta\uv=Fb3$|
+"*KAGQgFϞVG~I[>hu[b<HRREImr z^}JMfTHKIz%4{xLaa2
+&iPp[i{T[sL{U-#x;3o,5gFd3hOWv*7HH~Q?0fNwׄ/.5㶒%0-&Qe)\Oi.뛎f8T5,*1Rq]E6m235sC:ǭ¶P"5F%r=Y^.#-u bsMJ_'3x%OMƓ+be{\LϢyd!MR֞_VP`Y|-5}rsQpia|[PX^쬗1c.n
+gvDx~*ɕ|A~9z.*Pa \Ʉ8Am2k7XVXT̓+Wn44S9Lz +Sttn|AVqz 0! IadR[obK򜌲=8,E]ڻK/<b£nاgvr fwk%?+'u7@Y 9P1чxkc\
+<K
+-it)izp\VxYWf@sN˛]ɒbFRu_=v=$/lEGF+#- Z\'yD7uE&2w? \e3]L賈;]0PkSU 65TdEȒY;I]yB>~:vU(
+%|+]҃g&*Ł?wZdMg*2nl9oW=jd0<XrZ)(.551gdxvCm&~/x9T5H}Gu >" ť
+X(^.ŋ<c,h<).N7
+ߣ<~qhδp!>v޵0-)3{>_B]QlZ9cfɱ@}@=̾2
+ q;`SԾf_r*ΐP}?,8ƶ=Z?Z󠣏uٶ%_RYq
+~gEf߾`y͇T֩Zh 3mcMT׃ϱ,gGYh!Ѐk
+GB#m&IƤ6|/Թ%MA jKhJR}V>\?? x%=?#DpTuх
+g'f[ȮK,BnǿC}(OF}.->֣@^ΊdGV3\r#jv} i} P)0gx0nFz*e̦ե'k,#55c^TpEȕ 7 t/s %F⾸ӡHrioŋYd -
+8ߠm̼Dݯv ૟G[}a=ՖWk{ݥ$sx&V,Z
+sb,|\73H
+3(򀛶4ăφhYPoB(g@\n42CCH,ESk(R%|zA2`ظ`. /yEˮ Yڕ܄>@If<+!&Dwt:rb 3Ȍ?!btJj1$ZյKk\t$@cC݇-GN噫;N:{lcdX}d[r뙦 5VoUFI
+U'3IdM-O`Nâx
+ry|Ѡe`Di\&א+̲½-6b7Jm]Ot'V
+G\HcP;
+*E<r45t)aa}.E&]cmHaѶ6Q^syshF{g{tެFOf'9,(j+lDJ1c-hTā8s82GK+a oG*@'N ,6U9JD)|29GrT7Ql>T "cۢ#:7Bmͧ9jg'}kvմZ&4Xnz׎QF'rx">%@ j-Hzͳ ٗ<Yw،QDL d k+L!=AMI"RTh'MǴiM]%hᴔ7z}:4sM-Su&ߠSvꌸ:&!.EV̚(1 -ry_ (|V~UYu}VAl]U1B͑sicu/7D#H(U4QQEs4ߣ9̚:ANCOF2Km0 P1vAj:Ye u#% EfC,;4{tt9@ ٢G<kUVYuK ww#3g-̶,$uOi b\C׾:6[Qxe ]Nqgfռ.”Ys f{GfN|S>J[H ޱ߁q[m1җ` Q3MLmKb6^η۝sT
+hO bFcFLX?o H<#Ҍ! z<UD\ ІT&UL1|zHތ(xՂ<-?}l I7ՠ$F|\H ;JZCT<y;@]sff o"y =΅e6FN e91E)S>W/4-K |;eBTk!|<7xmE1Fscqw!zoMRe&yPO1蠟BhuJ6ʙAX`ȇ#`!z=WrˬUl2&!Q
++ <] sPbHO*w[WTYІ,
+\!0RY10{~L* J ^c=C XZo+3r Q@vQ gZw7wݨYH筭MM4]^OM3Xo?
endstream
endobj
4302 0 obj
-<< /Type /FontDescriptor /FontName /IMUMJO+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4304 0 R /CIDSet 4303 0 R >>
+<< /Type /FontDescriptor /FontName /GHZSST+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4304 0 R /CIDSet 4303 0 R >>
endobj
4305 0 obj
-<< /Filter /FlateDecode /Length 458 >>
+<< /Filter /FlateDecode /Length 759 >>
stream
-x}n0~
-!Rz@SEH[HT*٪WbO =JUH >柙c3R>@0eZA25kP3
+xڅ_o0)J%V lH4M{a A!<94ZV׾\7^qټٞū=6q}nnMqۺ{y ^ڦXN颮.xQSiQmU_C|q?z_\.Wo~]'qnOuۋU\"Mw~]n`Vy&QBE,}SeKkTUёb/ߏ/M 2WǮ}?G綴mUoG"]t8$h4ݸ]{+V.ZH'\4=օmFCWx$s3l]5c__oLFqQ<)RIrd& IcO BvMBv9M0:cH&@PIP- "3d[ JAX=H2;٩bdE z B]<h<(T^&B<hU3;Upj9hI(AAI Q ܂@`H<%:E O/KԂg] ՆzPC!{O{p%:DCgiH)'tJf Qk2ԉ :P'E Kⷉz4N91{fȥ:ʑu5Fv}'B4Ǯ6IP
endstream
endobj
-327 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IMUMJO+LMSans10-Regular /DescendantFonts [ 4306 0 R ] /ToUnicode 4305 0 R >>
+214 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GHZSST+LMRoman10-Regular /DescendantFonts [ 4306 0 R ] /ToUnicode 4305 0 R >>
endobj
4306 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IMUMJO+LMSans10-Regular /FontDescriptor 4302 0 R /W 4301 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GHZSST+LMRoman10-Regular /FontDescriptor 4302 0 R /W 4301 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4307 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 ] 68 [ 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 472 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
+[ 27 [ 850 547 ] 34 [ 800 625 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 62 [ 880 625 ] 65 [ 419 313 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 120 [ 500 563 656 ] 125 [ 625 ] 499 [ 551 551 ] ]
endobj
4309 0 obj
-<< /Filter /FlateDecode /Length 49 >>
+<< /Filter /FlateDecode /Length 29 >>
stream
-xc``~߿
+xc``0.߂7v=a H
endstream
endobj
4310 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8597 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6187 >>
stream
-xڽz\D9w%{HXXʲlDH1%nbIL<,ͽ.ff66@ nYN/]:85h옑=ea֓\?h >8V9A=6m>"+, ZmH`=v !D n{϶7j̘ sCa>ƌ?9q(ŮQAG9.<8?8$851qGYgXwX,$|(ǵ>Qa0
-t91'""d2QaޣkGt\>W,_;r9󖯙7*":+837 ||{`ypXk,`7EAr1Dџ@ "Capb1E&b"11LL!3,b61G' b)XN$V5Z‰XGl 6bBn;Ax>/GD BaD8ADфNDQM#@*%#!)ENBkj"wsj'N+;F m:x|-- Tl&ddv^ej!]O~bҶup{X=<{~}oaCai鹞z0ûzӻNc07sU
-(_+ٶr[p}T_Yݑ.4 Z}AO>^ǖҹ
-[GXiLS@eISY7BG1~y$?*acP@C)BP`|8KTpxx,Z&=E,FZ0G fh#!7uf%@uFԀQA㽘uhw3/jX720-()Oqјݱó!HdxeKRpAAAA
-g2S|1kFEa≊a`,J~]b4r-f X8DmwM`)mTF-&IQ&i
-^}v9Sk0hBsyv_OV*50H~QV=x7NwW?" 6%0-&Qm-\(
-/v m0okokp,\?;c<bW4Gݪ8qf2aF>fV5[Z}fYAeehא;ia|G6+ cF͟69!r=-Q`vwzγu荺أ@պUp9uɬ1RCaYa nlR3\VO-b0@JQs
-u0Sˢ5=h ~%IVxǰZz.,|""
-EK_t1i5\#CЊ3lT$Dh .ZEڡ} ѽPr 7AUiկ o^VLVn5l׍/Ќ/62#kHrB:*\TmVNQ]Fz~VFT8,t箒*3-bWS_mQ ($a]z,s%)07K*
-yIp<*t__PlEkhv4 dq zYǏ~m!ա0^ l
-37 mE>~R0%{ >_ GQ@ir:ɶgٶ˶!l>xn'K0\*
-ʓnV\BrzZɱ;CC}Xl<gȒLuXo=̞J;Y].Z^{h VN)}:/#_!&$Eķ=@.
-/Dn~ԣҗ^~sIpϤgܯ㡘X`1--k~9n9 \R.1r,#v橘2'f:?ZWę%4vl{#d&>б</֐H`v&&k\<ٔtq,wK~iSOoAw`?{'ש^_7ٞHֱaBz1toQ煉ʝ̍X,KOC
-mMz\iM@l.
-+elMhX uͤ.f}$wAZkLx-ivISubC}Qu~m)}ɾQtjWNofl}F$N_2 $'Y+u-$6Rm$wz _P>r^Rc;Mn a7Yl(ȼ#IKs.Y8Xav
-*"h>c}al?n 0^OP~0o"#gWb JaFD$ Ze˕03+tu[K
-ZdA-Mk:UId$eW^]]ր2 fo7 wKo/U&SX1]m)1UwÖzllfU66p:L+&k$m6VBO]Âm.3 u)n>$(?vۘNj
-qy|Ѩ e
-֠M7_SrXUh0$2y\^)\*ږ?y wGthoV#'3o'%"(j%l]a)YVƌ]5Ƀh%Ԥā18so(UVJW6^jQ`P
-4qYl2;0=z"N5Re|s-o5yioTCoP}Z^*7CvwF6~CD[W [zZH{/GhfW} ">1"&YOR$R2tpjIVK%+&O't)8Eu1Hh8-ȭEt P?$^ePxvmڛiM]htZ$WGFv})uJ Ԇ28^xʱTC$ĥ(%fA}YT.+EnC˿iWdaPeuUWj"y]󃕌P3e|T]{K`Q"7FI'&J1ͩljvcTWShYPFm0:AIO&*Kc4 P16AJZY% u=%Ec.:7{tt9@sGu1WB3sUVXuI܆% "FVm $(X']ԉAb1i&Jk_
-Kn}$h2x삮Io
-uJ+bv(7~OƱM3Խע3')a[s%Mzrt&\XFXx4(gࣳ%7rԵL3S"Rf3V/$@ȿ*i@Zkm&5%1ba#4 :7sH $Cfƨi.2`b<ID/
-QjM-`׺(NHz% Dg\YQ4گ"`ٵͳƯv!u%,zɹq87;[&1<
-wJ
-V$E.w Nz+E*Nbݠkq3V[9<2+abI;
-GnGQo Ww
-UƵroNsІ1>~PI
-ϿdKZڱwOz.|\tzB}Ot˞oXwϿSynBFKw想_s(räh|y#ReT77Y71>"b
-{SLbxmhж˕&*D^o8okkn2 CjѶQD
+xڝY XSWھr Bw:u+u [NINadY%(jjZZgZ֎u*aOn3I|y=Q֔H$r^x5=V E~+8a%
+?iE IȃFPj5FPөש,j65GEͧR(wjZI<۔'ZKyQw7RR>/GSTLPTIEQT GS T""dECn%ETR ?a@
+Kz,h6Jc]$sʋElRw5M7ӱ47 88B2vO%ںaGiUȑ cb)Vg#Ff_1Džu yPUBG.ag/l3˧-pMVub)g0619glV`L{y{'R;%-Fu<
+vax02I
+(=IM"t0] FR>kwt})4 `SI@fd 0K·2S`zJ By<B'7n.IBL|}#h!ٷfrilIS
+Iqr0ӫ^h4mtMfw7+'o~,xa4 챎F^ Uf{#1$ļY2  /b+.H~(ϛG g2 U*aTJ,MpHDKR\^Ѿ3zI%9LFIڼlnqY<V 9>0?Ɩ[;yWc=V<s0= 8pDLwݦ`}avu4]y.ޱJC?tzwg.X̟n;qX1}OH
+q5տ؂g$v/H_ M3ovpL0ҞE`B}mZiWh{zoO!Ι+js7ץ+(M|;5Ukb~xG
+.$M`sF k/W#zܖe!I܃eVo0@t`{U5=}P]붿uˎNI6kp)7FW&t5͹:m w-.MT,2{l*煻tNWUjïvՁ |iGn 0
++/JPLI٬A!ܪ؊xe|o&bi
+oa8kz!]Ԕx;$ {+,a
+oʎC1㤗zp>l2
+/aȀ U&jՙZ7{]fKD]1sip tX?Z`%8ܹkY[9<CᏦo?yg֪MK#>-C;z{ RE0g`CT|ڰA>z`%!}eoWv%L0r)1Ѹ N|3l8
+GEoMZ o#[nVO/tu}򑶆E<x5(9+O)7k6c-) cƖilS#ʸ7 ̷LZUlʋ'aYE:+-576l=/II=6F|":| Y eTUs
+-YUNIQ-X.sb"l HrY9y6U; 0< aQ045i2fG3FrEqU]l.tzTW#<fkeK qAm#eצGdቻi|TTSb# Hl~cOMKT
+ /ԤPOOl1}|)TXQ^TĕW9L
+i4 Za O~ɛozƣǭxq.sK4v|NVtbaoئOKLYѫCk1bq̛mg9~_^M3tJDWT "0OГ;rx .28 >khbH6| ╗iXk/7s٪b^soʢˬS뾩}6R(\i8,LI&CV@gN-Ȱ.Αk05}bQ!>'ajk™: -ıR^uE<iM/{γe `LBxnWR^7;+@>H^Cg"}E6Zx<{'\J4#ye Q
+ފk34Q96‹LQY8qxză$KiJ'qyK\4p%G{jjIj3'Nb?n߀Oipk /NIʚ*f'f.BH_T?-0+!4|B,m9cB,[fQUe2I*q4vaWH=J
+ {椥9m q_榡B5׵kBザt\g{9|WHշvaa+6=YW 1IP^9w/ }a]XJpk/-P#M\e " Hӌ dc5NG8kd@ j$?!lL)aaJ͆DתƤ*H@WOsO*nձmgUo4m3<EsWhr6qvA,Aqx?C,/uֆOsTa¤
+5i2~Ҭ<} ƚX1 h0Gx161ؖ-mG.4=5z)
+ 4mcG
endstream
endobj
4308 0 obj
-<< /Type /FontDescriptor /FontName /VBEAUW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4310 0 R /CIDSet 4309 0 R >>
+<< /Type /FontDescriptor /FontName /XVCDCQ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4310 0 R /CIDSet 4309 0 R >>
endobj
4311 0 obj
-<< /Filter /FlateDecode /Length 755 >>
+<< /Filter /FlateDecode /Length 619 >>
stream
-xڅOo@|!Rr Y0ƒ64E>wwخF(?vfcؽ Ӫ0!ثc_0VtͲ-ӌOT:oˍm^z+sw73|_oh(|5ȥކ'e2~QySe59&gۺzR> NXU#[[.ysFsX76V?yw乯L_7;vH9v8A,
-sVT 8֕]ӧV\Na˶2CW/ fֆhf+3LS!c Wѻ(D<yR$ZX#dRAK"RAP*@<ƚA"j>A5.Qr =()hOtĩ:uA$"TA=<"VE@T x&ZNG:Ap^-
-Պ9p&xB=$TT:A=H4MiӪZA)D4/h^6Ts̄N)PЩӞɩ:tJ̒I'*h҉tpPD5O ӣivtJS~te'ur윹ILh]s1TS읋IۈYVH a0sǦ.ty{{FŸsKsY_B;* m
+x}]0+sѱ mGv>VeDii~GAVP|zN&_k&ǀTߜJ[zQTûRRKa]SXzx0K]NR]'վַEj#5z81cwc̕R]_7AZ{&ǻZˎLu5hdKkMV&9~&T]l|סXxYƤڙf6Qm|)M'p[9ECTWf
+z]}Čެ%>\XG pɲ-:u9rܞZ6]r\>?r{
endstream
endobj
-326 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VBEAUW+LMRoman10-Regular /DescendantFonts [ 4312 0 R ] /ToUnicode 4311 0 R >>
+213 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVCDCQ+LMRoman12-Bold /DescendantFonts [ 4312 0 R ] /ToUnicode 4311 0 R >>
endobj
4312 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VBEAUW+LMRoman10-Regular /FontDescriptor 4308 0 R /W 4307 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVCDCQ+LMRoman12-Bold /FontDescriptor 4308 0 R /W 4307 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4313 0 obj
-[ 27 [ 850 547 ] 34 [ 800 625 575 ] 42 [ 813 500 ] 47 [ 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 62 [ 880 625 ] 65 [ 419 313 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 120 [ 500 563 656 ] 125 [ 625 ] 499 [ 551 551 ] ]
+[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
4315 0 obj
-<< /Filter /FlateDecode /Length 29 >>
+<< /Filter /FlateDecode /Length 17 >>
stream
-xc``0,߂7v=a H
+xc`
endstream
endobj
4316 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6116 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
-xڝY \SWhy%O {Nժu [ vNr EvuiδjbNKu*2nvڙ佻{ι'lm)HqfU+{ߨʌe
- EΔ)C&WCSr`}r>@_y*0Z%VFΔo
-Q09
- FFc6l{*#c^!{#U3rU`<8&&5wؠ }=|oolf7|VΌSFcBU3y4@& 02&$&"/K&Pn4j:N͢^fSRsy|j:ZJ-<Ujj-SoPj#Cm6S[(_j;(*
-*
-©*TT GS T""dCB^
-GU2.]}}\ M-͵'kK9հ;{i
-x2w}H[R[xJgMo:'Z89$~L%鋅Í5%{8x|%0y<> Xrx*ɓE#+5Ls ކd1wįdPlvRp`砒¸qs{g|?gi4S/
-vE@L,=Ed$ZKg > @3_kb4{xX'<z\.t՘4-ojG"`vN[/ֳ {Lntf TY |3L3k-P/qe,
-<$L0J,tqO$5*f#nfxJ3!zQ%LFIln5q;X<QEޑ0?ƖۻxO2?0Ӄ;HqСom;Zs>3bmz1Mu޿c#D=½}OeO;X<msӛpX-s ӏ}|u츉?A1ReIv癡pu O9٭g6q--*_bfh 7o-p΃AH A'Xъ-/Y6e{s&H`v2<w_G~nI`g#&Ud^m1ySAo#l]m-s9H,xjԠrqG׵Uvr_K^`ѩP_@<ԫv (a  K
- Sp0flcMelwQ5zTơ<1W'ڮa7(=7d4N:i%\EY[C4cr4Unȩx<նi_Dh9ͅa#_3{HޑC2P"@ml4a)ݨ+NТ4)V ,"G=ixwJ1
-<}*9=-QYp6$S%q`e1%>1>!8HW1?hTc6ʼ?\ ^wn9kرf }(J;Y#+Ws^$?lK+᛫
-rrSeqWr8pt1tt㫯.lGH71B]<yTɃDrԭci T;0ƦUyjrɑ!W<T沵=#k{ͼN|W !+\a`7g'TLھ""B&#eBhrVMO!C5IlB&#?o22
-lK=FfiHPb@ܜH vL#u̻uY@io&bl~v ?qN{wH {{R&A$5k|M^
-5s&
-y.]. ՇnǬOz%!܀s?S `ksafaj~Oz A9Nx_+?>E+AUq\samQY[T}=+/>!J9<)s?|ѕ-09^N;7meWzV
-I8Ȝq9v(#Wktf6O.$zb֫@~ǭ?ߒ>~uΛػ+v7'6,s$RfYyQ8J),<wG?`W%yF)vF0r5mܩݶ(APںCF
-oBb
-m5q$Zƭ[mXWH/,?a8 vL!< 0.ʷR^_ɯ@%NÂoxcW5h.v0灗]6"-HĆEK2HR
-Bmǯb[,t\YZ:`4D}2+Ă>@MiGhk@@h)9^[-c9] 5lc5}R#LNi2uL%%]DY]2s9؁Jx,>\Oq'QIu=ن."XsIUBۇm7>Y35ޔa|5Cֆ"Io#s@Kٱ0Jl$5]K3SLEdCMVbߔh:aUSD3.SyJtp?9<U<.ft竝xt-t5l-ʯAEYy N]\}',EvVy[+OmVq l̷LZlʋ7aYEz+-576z^*IgOzmY kEt:$]/=ߤn.[WfYهP-6pb"frl-Hr4Y9yvU}Alxۚ4 Sd{8_%w([O|a(=hU׈O R88%c1R$SmO,!vQ k$\S½]Ƭݨ+Be2Q`K$#
-ہ <i3_'dձeP1L\%5/.Iiz.>X_k=
-5ARvRfRFBvvO:q"+
- oCm0^6/l'{53;h$bZC&so ^B0ºNa~ZA,HpE&qL3 LN†SlnJG58iN h2)$DDpjuT SתƤ*H}U,c^N[}ko1S^8G yq)7b;wlD~>TY*_gm]Q'F
-*4qc*o+s-phceGPz)̤1㕋H71ؗ*mC.<=U_ƌפ:1MGO^$,/a+B]0oZdnQÜOai[tȄLvb+s6dL]֘6]l2s_%s ` _K+|$zgOTh@PcPWsueq1]g]F=gVx\sm2G
-äqG]')L6žC%enpwaDÚzL(`,p.?A?<
+xmRkHQNmZVf,ac6 !
+Vw363V?*,"s݊4$dDA(B0 pgh,~Eǹ}{" r*unQS :f=B./:(ZE2BSdFZ%ܢ6e,7nX2s TLS2U \@?Ԫ$AߴlT-? bu횤߀+̸#b(=Wq6Wndևyv1 8,2n 8 !20e,]v#p"M&EIjhHa-hIL.c{fH H +ߴ=lod{N
+JjB.Ԩ+S- %Eh/(~UvFȚLOlٹiI}̐UQu5;#o{6K-pz񹣊As8|%ʉ@rVBS2 ,Q[en2VWeɡJy+wD<j6@9@/?6̊q20p?<ly S"[eY3z&T2N1"חz8o ++Wtkk*]ٝtFRʙZ
+KWVWv^w4ZybX4=MQ#ch3z6FE:
endstream
endobj
4314 0 obj
-<< /Type /FontDescriptor /FontName /RJULGE+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4316 0 R /CIDSet 4315 0 R >>
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4316 0 R /CIDSet 4315 0 R >>
endobj
4317 0 obj
-<< /Filter /FlateDecode /Length 618 >>
+<< /Filter /FlateDecode /Length 382 >>
stream
-x}[0+$!KBH@ڛV}Hĉ3BEesΌc}mʏQmuir/7dU~)>J}5UU.ZݓI^|z4WBSoʽ#^5;1cc̕+ 0Z.z#FceC&Zˆ"o^!k۩r7ۮ:O賑) :4K]uo:eRMa3}6&Zt]k"!TmU'M
-8Cd (p"(/ L$zA&Hh*T2"9 MΉ DDgeY 4@
-gbJ)(u=D
+x}R]k0}ϯ{6u_X{ڤ~Ij[!'ܓsOy%W'^XZ3f \:GYm9ZN`K,RT=C%j-9i!{tMWqI*˱Kڣ ̐)"8OԥPrARj6Tn+~k,$7pI0
endstream
endobj
-325 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RJULGE+LMRoman12-Bold /DescendantFonts [ 4318 0 R ] /ToUnicode 4317 0 R >>
+212 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4318 0 R ] /ToUnicode 4317 0 R >>
endobj
4318 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RJULGE+LMRoman12-Bold /FontDescriptor 4314 0 R /W 4313 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4314 0 R /W 4313 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4319 0 obj
-[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
+[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 ] 65 [ 371 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 80 [ 799 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 91 [ 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 1056 742 771 542 ] 118 [ 542 ] 125 [ 571 ] 251 [ 457 ] 502 [ 286 ] ]
endobj
4321 0 obj
-<< /Filter /FlateDecode /Length 17 >>
+<< /Filter /FlateDecode /Length 32 >>
stream
-xc`
+xc``M4Lro‚#XP
endstream
endobj
4322 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4535 >>
stream
-xmRkHQNmZVf,ac6 !
-Vw363V?*,"s݊4$dDA(B0 pgh,~Eǹ}{" r*unQS :f=B./:(ZE2BSdFZ%ܢ6e,7nX2s TLS2U \@?Ԫ$AߴlT-? bu횤߀+̸#b(=Wq6Wndևyv1 8,2n 8 !20e,]v#p"M&EIjhHa-hIL.c{fH H +ߴ=lod{N
-JjB.Ԩ+S- %Eh/(~UvFȚLOlٹiI}̐UQu5;#o{6K-pz񹣊As8|%ʉ@rVBS2 ,Q[en2VWeɡJy+wD<j6@9@/?6̊q20p?<ly S"[eY3z&T2N1"חz8o ++Wtkk*]ٝtFRʙZ
-KWVWv^w4ZybX4=MQ#ch3z6FE:
+xڵXy\׾PQ;Τ.Tq^.*miqU
+R}}XoZV۪ =y'wo{2|83[1j!&\iźVSZLTՎ^&7Vx^ 9 QhAQCkQ}_ Q`
+߆TqZ٪0EF!5K&((6~61rJm4>#cެ֮ 7׬s6E+Pe
+<Z{|:V\
+UFkw<1A$f>\bXB,%^'+?mb% %b#Dl!BP"&bx"PBK$=toۑQDS+j}v̨I IkI&LkѾFp[&<!w744 LT.l` γy ^hoTlGYKNvoĖ7+-ukn9Z+s; eyoǸF%n
+):x^R+݌lUPJټnߺO *d݅ :v#D*p{okTI4M'VJrnN0p4t'p LҭؘPF&Xt@åS- TVv>tțs@ .l[vQu:--Rsٷ?GT0pIqtB]rss?<8!Ccr1݀3 ibc5ظ&u[[Ej:.IǚѲ$O6gf~p <*%>>6~
+sʾ ]GBR 6m8@80'q$)7AEda^W!hO^pg=5JF v$+1!aM] \Bt;}xa?tNRpiB<<_Bn޾Yg3Nnp.,$G^gLP֨$ 2p\t%$L]T6J.uP-aнj5 EF_ZCfgsy]̖Ж-L J
+@ߣqmd4M%ݏ=l -E8f9yFƙ8wx [i]zP7>~uqK"_Q^AtVIWH|2B_v FC1Iu&KL5PRS̺Ma/LE΃0_ʓzȄ/
+ \M)KMn&2C'g~?LJ@UrM%uV\j]W:CUɞ{8Fگ@.WFF n԰ NTJEFMֻIoPR{;7S] 0 xI4i$m^( ~e!o{Μ̇ϴrE\I/j)2c[UJY)VÞ] tѐc'$b}njY4hۙ8`GjADKb">W$ &
+Oj̯2`U
+qn0[CAF"xG+ 3 ,YUL݇{,U,x wZ~/$]Tr'q(^`\US=]
+3B9$.sN8S1zgj^.GIptWW9h]j3I%ttf97~'v͖`[z} knMqz w} WV a>n
endstream
endobj
4320 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4322 0 R /CIDSet 4321 0 R >>
+<< /Type /FontDescriptor /FontName /KLWBRP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4322 0 R /CIDSet 4321 0 R >>
endobj
4323 0 obj
-<< /Filter /FlateDecode /Length 382 >>
+<< /Filter /FlateDecode /Length 548 >>
stream
-x}R]k0}ϯ{6u_X{ڤ~Ij[!'ܓsOy%W'^XZ3f \:GYm9ZN`K,RT=C%j-9i!{tMWqI*˱Kڣ ̐)"8OԥPrARj6Tn+~k,$7pI0
+x}[0 炱 qbH<QHK"o۷8f]޴'O)ًU!{xѺ.JC.m_NAtdڮtVמ!IKq)WCGsoߋK͕OMձ:DGɃ(m~Ֆ|%3T?H+aMJ2tKɕJNFEnm'<|N&zrvfU?yOŅ*兌h9i!KSY} hUs5.j.&/ExsmM<ӟ::aC+(XF&Aj(B4!s
endstream
endobj
-324 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4324 0 R ] /ToUnicode 4323 0 R >>
+211 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KLWBRP+LMRoman9-Regular /DescendantFonts [ 4324 0 R ] /ToUnicode 4323 0 R >>
endobj
4324 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4320 0 R /W 4319 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KLWBRP+LMRoman9-Regular /FontDescriptor 4320 0 R /W 4319 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
4325 0 obj
-[ 28 [ 514 ] 35 [ 571 ] 42 [ 742 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 ] 65 [ 371 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 80 [ 799 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 90 [ 799 542 ] 96 [ 402 571 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 1056 742 771 542 ] 118 [ 542 ] 125 [ 571 ] 251 [ 457 ] 502 [ 286 ] ]
-endobj
-4327 0 obj
-<< /Filter /FlateDecode /Length 32 >>
-stream
-xc``M4LroÃ#XP
-endstream
-endobj
-4328 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4953 >>
-stream
-xڵX{\Wڞ
-EI $ 7ovu]]wvVVjz}o? Ns}}`..@ vH@Hp5k7* er[܋4Nsc vgN₦;vwYv8"|;7p <p:al*v <S~~,x9@QK,X4q' F)RUqiB$hd<:E*?+Hb("J"*IVɔ*IR=O*qR&IUHIrBL)Q$B$o)Ԓ5L+d2IZt|ur<2z~o/3Rw}k5\y4$JDXj?)RHElu,ANt|B[-Ŗac+U[X 6 6`,یmŶc;= bX,KĒ0%X
-!cg>ud+x uKp]].;DD9Jw6k4~-̭{sKX7ύMhމ '[lj\֖ mu.\v
-UZ-:a
-];~Cn=i
-A{p
-$Y9)Kod-TLV#0Փp7^L@׉TQic#=3a_V0ӵ9,+i47A>Nto6tUT-(nd`6iz
-!76WbRC p;vA-3:tWj^ [MI[wOYpcNԬ2!q?7/BHD$~4L'|G
-yJf#17tc_cNtߗB=a]iԞ$&A'yTQ=EM1gt=`9 ^Pr;kv⿴ aX!BIu
-ID; .ſ/fN!ZϦ<Qz{(2v& GțE(f2hj9wSD`ڱƴ6A-4^$7G_hgQ;ۺs$<,j*oMB4/Aqq3I1*yekԙsR4x,,d6/( ,9 {ć Uug|Ti^Ȧx
-qbҝ}41PXfjdR}>l1Z) aAZ\ ,1kD1kpl|y֯<ag)*@Y-WG/ȫ@mpm0ͫZY$+^g a)1ZJ |ukGt>`P"ckivkfDNo7I燐Bwo
-DZUtv0/'ƿuB@i)?f
-w_\qR`o
-kc;-W6|m~{ٽl̷i6B@ev~aHXIU3Zy,XvZ[Yu5/ߥ5BrԈoK GGRUa M&6a ~/ޗ[Dmh8rQRG sm j\yvV XCH0MAYp\`͙>1BCtFc(AMq:(ܗHQJ6S+|g>x%C+6u_8n3#lTVMh/1ƿ)E735*21ћ.%,h|.p] `\9\+JyWA9VTq겆 O_+]MYLJXy7RMѨɧ˫nqm/EiѸ% fvlG]nO b]A, ܾbr#(ɦ@^*CjQ(
-*&S>pu眠ǧ=C5ߦlI59$OmKncD[WV&";{@LkLt=soT @M :&$BSWԜt7ed"o53i ]7h3hr+KL:5w@ogߕ<+gJ
->k5 R+o/hgh&\Kbf]8Q|>EN/\v
-zhK=A9`&흀Wt}i'\z?A@:CNh>Θ^Vg\7xN
-3KJeTYyO+MǘµỴ1ac r뼱9^M |-Fp!!1E$;h" Q!`!)n$_6x6*Zgꪀd<sȪ(fTRƕ#aF9,..ffFM53Ƣ6,>
-\*/f>͟/-ٮM# %PJfju;-?` $cAfC
-endstream
-endobj
-4326 0 obj
-<< /Type /FontDescriptor /FontName /HTCTPP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4328 0 R /CIDSet 4327 0 R >>
-endobj
-4329 0 obj
-<< /Filter /FlateDecode /Length 560 >>
-stream
-x}O0=dqB/+QhAU!64q$&T"e3oFv{!Ϝ}WoyF뺸VJJI%hvm]Uƫz$ouqJ5d;iΥJ}~nx\Ou^ԡ/&Dك(se~+kʂgιyrUWvΛJ6tJ-[ʎVLEO>Xeo]>|&sͩ~&Tml@_梬ƽ4eRLi{^)6o_gFq
-IDaAa"y0Q:{aYn/pS7{,}d:U
-endstream
-endobj
-323 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HTCTPP+LMRoman9-Regular /DescendantFonts [ 4330 0 R ] /ToUnicode 4329 0 R >>
-endobj
-4330 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HTCTPP+LMRoman9-Regular /FontDescriptor 4326 0 R /W 4325 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
-endobj
-4331 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-4333 0 obj
+4327 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc```
endstream
endobj
-4334 0 obj
+4328 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xmTmLSW~"]^Gd-DeNNM)R*]mXAQc`lR>TmM [21 ?̖,f{em̖,9=9xiJ*hen(Hγdmo[M ˰)q)-rQ"/J"dZ)}qLKeK)nSO 21w+(&) POh  kګ=҅Vy-4W* 2L(Ӏ (ZJ FkW8jTPiq"Q«C
@@ -14922,32 +14984,32 @@ F`B56@Jm{7
jг{qU 9L*6bӈ<|Hn;`}]{Xn_M3&b-|,#c|)̺nЬ!0d*veX?`=D~M_Ͻ}Z[b# eɶ
endstream
endobj
-4332 0 obj
-<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 4334 0 R /CIDSet 4333 0 R >>
+4326 0 obj
+<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 4328 0 R /CIDSet 4327 0 R >>
endobj
-4335 0 obj
+4329 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
x}RMk@ﯘ=lTEVT+^.ݰIQ(@B^ޛf{WNXV3 Vۼ"ZD9׊*]R4#N%;sQg!;~WɂAڒL4#Ggk!|x|J&BHodh\ܓfCx,SY(\Bx0d; 樅<CA#8UuAk(cXf/DmV4קٵB9yLqħ1,7 JTxhcOm(1}(DC+<ء)uh9#q=~e]U7Z:y6x?JU͢ 
endstream
endobj
-322 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4336 0 R ] /ToUnicode 4335 0 R >>
+210 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4330 0 R ] /ToUnicode 4329 0 R >>
endobj
-4336 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4332 0 R /W 4331 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4330 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4326 0 R /W 4325 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4337 0 obj
+4331 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-4339 0 obj
+4333 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-4340 0 obj
+4334 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -14962,82 +15024,86 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-4338 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 4340 0 R /CIDSet 4339 0 R >>
+4332 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 4334 0 R /CIDSet 4333 0 R >>
endobj
-4341 0 obj
+4335 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
-321 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4342 0 R ] /ToUnicode 4341 0 R >>
+209 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4336 0 R ] /ToUnicode 4335 0 R >>
endobj
-4342 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4338 0 R /W 4337 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4336 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4332 0 R /W 4331 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4343 0 obj
-[ 27 [ 734 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 72 [ 272 ] 77 [ 544 ] 82 [ 490 666 544 ] 88 [ 272 ] 96 [ 381 ] 105 [ 381 ] 107 [ 490 ] 118 [ 517 ] 121 [ 490 ] ]
+4337 0 obj
+[ 28 [ 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 74 [ 897 ] 77 [ 544 ] 82 [ 490 666 ] 88 [ 272 ] 105 [ 381 ] 107 [ 490 ] 118 [ 517 ] 121 [ 490 ] ]
endobj
-4345 0 obj
+4339 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
-xc````a
-Phhh`r
+xc````a
+PP1h``r
+X
endstream
endobj
-4346 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2280 >>
+4340 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2054 >>
stream
-x}V PWai81inS'(x"d9PFp#r34J@ (oh`JZlVvuz]O"`LuWO^HN +tDv'@+` //<;8k_s"~^}J?߆uvA@^ 
-JN#Wk(ZL
-R4^NZ'jɔN)mZvMDEk购rZ#(J#SZm朐NR+BR1A@%b₢G.Y8XRTj*YMLSjko;bTDdU|y֦is‘@$F"2d%Axd #YH0 т>#}~&|&m]B/pInaxUh$G,xżHrrTW"i`i$4XJVAcD&M,ˈjF>=wEr
-9؈ [MxS`aH&a9JBS|[:qa[1=1|ʍ$%|5a5z<Ms/r *D4ES,rotxՁѣ3t9#LbhbG$\Z]`-iTtb*v6ד.9}W.HS-ےR~ەC'VˌdKcpOz
-:L4Ư3B`! {YMiMy%<߸]p,v
-ѐ/-ϫ.9 n>#I;2 :;ÐO/]M2ru?$Dߑ9|CȔKeֶcD
-Aﰝ
-gK2xt"\M.pD[xڸORL3nX݋dmP)X N0}CL@y]Zx@յqR2|47|J®']uLSW|Fh{ |5 v@;nCMꌆlgF{W_L}GQ,&mlEd%P1\3e+ԋA1h
-Jν2ڕ_]WW48Y?w0Љ
-H%]I'&/k 18cXN\jӣؽ'a1'=|.!w~(b:<[cl4'Չ;
- ;Ƃ [)v^o^Ï uO2>8gUG<v (27OvO.
-0vmDVJ
-N<XLc2vd7Z@Y}vEU2).vtv5p!;_t}؎K@֫
-8xOxLW/?N!Uц"?uvKs c}qY~H qɎNӣj ޖ=7jz eL;Y -IG,??X!sY6
-b"*N? gn/ڊKKUNwԶj-)-O gng
+xuV PYf4fb1cyqx2
+"zLܸ"D0^RA9HhQQq,)wٕ]fʚZjvի]W`MIMX1aNTu7?<Uԫ*fLL1xC2ϋGmaV0AxG>bG_HhzpQ1)&Byv~DTxu^&[#GE-8qd|Wڨ&TA SFΚMTSd"K$ՙdb3*4ZRQ"ȴl-iTkrHQr"S
+ R7ԔLޥ
+2<$
+-j22F9i#q֥'4eç:Tk NF1CZ+WP+Vg((].V,F ː8$ Y"H6|>G&&"#6˫ *#1'
+pKl`3cɯaz[r^o@S
+݀x*فQ[1rx޳JspS1؅bcduKN\ҲFWv5%!9|ʎGQvnc|TzБA{ֆCՎ*
+qR@Qh6)hZh|YijZʖ
+a)3A f.ڟ\
+w}ܥLZҦM9
+pOn6Ę̺E vM߾rlP*|oK)|\w5V5㪋OgrNt
+
+498IA<2 6 Z$w^:"㤿9'FwׂA(
+\4vXO70ZVmq}Nj@8-^fccȫiAOW=ďlP_^n*&XjK1Βr1<mn ;нn`4:\9
+c;X:"Fc*<ʥ߶]<M}
+^Wi oрr&@Amf+>1? %xPS#w+5K?]}~s
+/GNL'}DLU2N-lF<O%s:FwmBe p? ڰ{8_xa/ԧ^W|2,ߏ9z-(|O_8KwmHV[ ._PF&]-m0 ?0->7ih<%Hq4cI^XUbD%^Dž,N퇸| A5d 0pT/,[f}ȁTk~ϭ>o W~A4 †$\<pNVP^?p^Ћx55 Ùf
++=4qC,3[1Ȕlr D |%{osؙ"'q$,O#DdY`h8jp1 P]WIiH{@4;i;lJA$rU
+R4?iWc~
endstream
endobj
-4344 0 obj
-<< /Type /FontDescriptor /FontName /NIWREQ+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4346 0 R /CIDSet 4345 0 R >>
+4338 0 obj
+<< /Type /FontDescriptor /FontName /RDAGUD+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4340 0 R /CIDSet 4339 0 R >>
endobj
-4347 0 obj
-<< /Filter /FlateDecode /Length 454 >>
+4341 0 obj
+<< /Filter /FlateDecode /Length 442 >>
stream
-xڅMo0C@1ZJH۴D{Z
-62pȿVZmxw/3.x
-O )^yKOI S"a,HHwHX%Ś H<-R) Ę1H%G/zI0kV`W|\6| iq
-խ_pL>.
+xڅMo0C@1RhWH%iWbO VZmxwf^gmc2`G1,.*(PLތ[`^UpcŵQR}I\W?ޫFpԘNV%0\ /􁦗ZC|(u(DT\yÅ?o\ꠃ
+"Y9{7Aj0fҊcם<vN/M Fp:ݹCH<dk}p4:bc`P⌲B+^
+ť-XSRzJ3OS z"!#ZS^ED5GOKRozZ2ԝ˩_FSNr_h~nRtsYK6ק]
endstream
endobj
-320 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /NIWREQ+LMRoman12-Regular /DescendantFonts [ 4348 0 R ] /ToUnicode 4347 0 R >>
+208 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RDAGUD+LMRoman12-Regular /DescendantFonts [ 4342 0 R ] /ToUnicode 4341 0 R >>
endobj
-4348 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /NIWREQ+LMRoman12-Regular /FontDescriptor 4344 0 R /W 4343 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4342 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RDAGUD+LMRoman12-Regular /FontDescriptor 4338 0 R /W 4337 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4349 0 obj
+4343 0 obj
[777.8 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 ]
endobj
-4350 0 obj
+4344 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-4352 0 obj
+4346 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-4353 0 obj
+4347 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>XD܉1h%{{A
@@ -15046,10 +15112,10 @@ xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>
'5;լ{k-MW<sϞ>ҍyPs-T2LDf_LeqgF, .r
endstream
endobj
-4351 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4353 0 R /CIDSet 4352 0 R >>
+4345 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4347 0 R /CIDSet 4346 0 R >>
endobj
-4354 0 obj
+4348 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
x}R]k0}ϯ{6u:kMn]&%mKR0
@@ -15057,22 +15123,22 @@ x}R]k0}ϯ{6u:kMn]&%mKR0
OdPWBCJXIP"%\HoVd`\ܛ&*ۜ\X抄!dQ\g?h8IS~(6mTE}}ã'#0S2c3yFh<Aiu[h礫L[P9lʡIТuMCq;=Ćz5Z]n4;xR-wfnM~
endstream
endobj
-318 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4355 0 R ] /ToUnicode 4354 0 R >>
+206 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4349 0 R ] /ToUnicode 4348 0 R >>
endobj
-4355 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4351 0 R /W 4350 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4349 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4345 0 R /W 4344 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4356 0 obj
+4350 0 obj
[ 28 [ 459 ] 43 [ 406 ] 50 [ 406 ] 59 [ 459 ] 63 [ 511 ] 70 [ 485 ] 84 [ 511 ] 104 [ 668 ] ]
endobj
-4358 0 obj
+4352 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc```PdR
endstream
endobj
-4359 0 obj
+4353 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1482 >>
stream
x}UkPW@Eh{uHרԱTBЊm!%$,y`
@@ -15084,10 +15150,10 @@ x}UkPW@Eh{uHרԱTBЊm!%$,y`
6aV<4QB;@U]axs.H~,.?2-®it]SXGH&1))UUU5UGmznv8Ngd{0
endstream
endobj
-4357 0 obj
-<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4359 0 R /CIDSet 4358 0 R >>
+4351 0 obj
+<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4353 0 R /CIDSet 4352 0 R >>
endobj
-4360 0 obj
+4354 0 obj
<< /Filter /FlateDecode /Length 401 >>
stream
xڅ_O0)$0ց
@@ -15095,13 +15161,13 @@ xڅ_O0)$0ց
ag=[[$9Ҥec`\ B}tI/4ZC@ImrzJ&pSb?Mc0tyLqddfb1̖ JN}>h狼Lyһ(4{9 =z:ƞ&n<8SGF~q+[
endstream
endobj
-317 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4361 0 R ] /ToUnicode 4360 0 R >>
+205 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4355 0 R ] /ToUnicode 4354 0 R >>
endobj
-4361 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4357 0 R /W 4356 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4355 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4351 0 R /W 4350 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4363 0 obj
+4357 0 obj
<< /Length1 1401 /Length2 5895 /Length3 0 /Filter /FlateDecode /Length 6849 >>
stream
xڍtTS6EABtHMzB^ҀPH""UDti M:~~Zߙgfgfcf!:4N ,RjC `$ AaЊ"8M #
@@ -15127,10 +15193,10 @@ l/:diAxmiQgwm*ΓC7ˋH<K !O ^v1|k?Ncpvt.:>jsMg}fh
A>Egi(  oJ*h!cVBԔL4i3$?hA2
endstream
endobj
-4362 0 obj
-<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4363 0 R >>
+4356 0 obj
+<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4357 0 R >>
endobj
-4365 0 obj
+4359 0 obj
<< /Length1 1808 /Length2 2831 /Length3 0 /Filter /FlateDecode /Length 3963 >>
stream
xڵUy<T-\65kdoHZ)c挙f3f2JQJQ,7eRٿ(Dpz}׼Μy>܉(
@@ -15146,10 +15212,10 @@ Z,?cj^Ϝ8Sc)5FQަ)u FUg%wR(^Mc[7WΜ
]|pVq{9/>X]#Xa> k28PCཙ+# ޹~90/t*̩CUGo IX^
endstream
endobj
-4364 0 obj
-<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4365 0 R >>
+4358 0 obj
+<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4359 0 R >>
endobj
-4367 0 obj
+4361 0 obj
<< /Length1 1670 /Length2 1620 /Length3 0 /Filter /FlateDecode /Length 2652 >>
stream
xڵT{<Ti_6ɴ#lۓVL;a afD1aiLHzf+E.>[(]-V[Q[P*zw?9|
@@ -15173,10 +15239,10 @@ qov&a!)P~(p$/t
ϸ>=ޢۗ<c2zRb)mЭ;$.h]xs𹴲;
endstream
endobj
-4366 0 obj
-<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4367 0 R >>
+4360 0 obj
+<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4361 0 R >>
endobj
-4369 0 obj
+4363 0 obj
<< /Length1 1689 /Length2 1813 /Length3 0 /Filter /FlateDecode /Length 2856 >>
stream
xڵTy\Lk-uK%(0[ӢBiZGTʵit4s-HD I(Z墕("D{fs|̈́ 2SE^pI y.,RH Sh4= pC3.A#a B\l
@@ -15192,10 +15258,10 @@ ywm>9.!"U3CP-
[]/ &@2qf9>sj۔+W58P2^7*|K֟^LMICi[ΡmaW%JֺvK= ,\&X9kHT5.~qϲnZJ|5'҇iѭ{?SWt pl_4W/{fSY9 3s3͜HTHsl_7zHUN%5 vHL_edS(O$#u 4"햯RKu^4yoWws{$n - *ܽ>ao|pWAգk{+|YvcG\cP*׺oXZAXòu;҈f=3un`̂w†u[:
endstream
endobj
-4368 0 obj
-<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4369 0 R >>
+4362 0 obj
+<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4363 0 R >>
endobj
-4371 0 obj
+4365 0 obj
<< /Length1 1677 /Length2 1235 /Length3 0 /Filter /FlateDecode /Length 2254 >>
stream
xڵTy\WW`"^x!'-9PH$U!y!C830֊*UEQUz (^x`ԅoVa?3NR$2 "2cta f0l( ⋅Bk01' )
@@ -15211,10 +15277,10 @@ VLfh3Uuvz˩.LElL%yaʗz, u߯!6^sn]q\=S[Xlʲ]XIC
/>(m-d|!q^kAʫu^IO__~g඄e#9\gݒ@H2·rM8eCFybmɖns0Rg7HaSOge6x;͖
endstream
endobj
-4370 0 obj
-<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4371 0 R >>
+4364 0 obj
+<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4365 0 R >>
endobj
-4373 0 obj
+4367 0 obj
<< /Length1 1846 /Length2 22110 /Length3 0 /Filter /FlateDecode /Length 23294 >>
stream
xڴsx>7j۶m8ƶƶ7Nac7~=X9:g%'VR67J؃\x
@@ -15310,10 +15376,10 @@ cdw$w(<c|‹Z_rRIo}[GeAXPzѠμ~m,E&kd&W
VhԸh7Sg5T%dԁxtP2{zv5%| wԵn.;Z] Yߓ%gw;d6BtK4B7n3۳Ao-N3K=Q7OJt& @G,m܂7i'5)>`ט]îqp# Ezh!EKmI%Z9~`G5[VҎI蹖u}Ibl/YAdK>@uT%s +ߐR+u 5kEM
endstream
endobj
-4372 0 obj
-<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4373 0 R >>
+4366 0 obj
+<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4367 0 R >>
endobj
-4375 0 obj
+4369 0 obj
<< /Length1 1715 /Length2 17571 /Length3 0 /Filter /FlateDecode /Length 18712 >>
stream
xڴst=Ƕ۶vNlI5vhN۶G~qKs=CA b`twe`adɫ8s1
@@ -15381,10 +15447,10 @@ L
^EuG|Dg#-pAꩇs&eyRq}CI@ͧGG@>;B/ͯtj
endstream
endobj
-4374 0 obj
-<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4375 0 R >>
+4368 0 obj
+<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4369 0 R >>
endobj
-4377 0 obj
+4371 0 obj
<< /Length1 1699 /Length2 10474 /Length3 0 /Filter /FlateDecode /Length 11567 >>
stream
xڵxeTڶ5Nqw VݵH)N$/)V)^=s;FFd^s=NFh)5Y% YC tp`
@@ -15426,10 +15492,10 @@ lP9'󔦃&hfL[mԓ莉y9a\>9Iե_EK1E9
j3zݳQ&-?>kn~Yswź$mt KFP)*5^*=֢eD><WNR]I:T˩W$2x |̷ecb‹ϑՑp$HLឩD`0àtp 1J^"F)áwөЩ)rF
endstream
endobj
-4376 0 obj
-<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4377 0 R >>
+4370 0 obj
+<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4371 0 R >>
endobj
-4379 0 obj
+4373 0 obj
<< /Length1 1740 /Length2 1925 /Length3 0 /Filter /FlateDecode /Length 2996 >>
stream
xڵTy<TkJefuk'3Vsp9g">nQ V*Y)"K劫ŽJugFݖ۟g>gy~}~hk0Yd 0'(CXQ
@@ -15444,10 +15510,10 @@ Z8i+w7ċzquߺgw9j.Tq
NQPv-.;e>V8Z&/2і?h fx6"PKKku9]_X|wZ_$Ey7$'8X'}b}m"cZrӟڰȺlQy0.jFCGhq6仦{Z{RW!4YT ggf GzCB[oQOoXyV~,"(Y|%-يsg[:
endstream
endobj
-4378 0 obj
-<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4379 0 R >>
+4372 0 obj
+<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4373 0 R >>
endobj
-4381 0 obj
+4375 0 obj
<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
stream
xڵTyTv5R
@@ -15464,10 +15530,10 @@ ckG<<[$[nt`1@Y(u/=_z;+ªqPî.ͼ
zFyrݮ,Б9vBG/Nr
endstream
endobj
-4380 0 obj
-<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 4381 0 R >>
+4374 0 obj
+<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 4375 0 R >>
endobj
-4383 0 obj
+4377 0 obj
<< /Length1 1684 /Length2 1529 /Length3 0 /Filter /FlateDecode /Length 2571 >>
stream
xڵTiX.\
@@ -15485,10 +15551,10 @@ f|ewkǥǫKggYf(lW$n:4׌/T~V6y(m]
2]lQ1z]dVfg?ù:=\d{76mjfioL䆬 8m_ڵ)'7|޷ndyk%\v9/y`O~}kyW+D(ӂS^rΠрjý3vN<
endstream
endobj
-4382 0 obj
-<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4383 0 R >>
+4376 0 obj
+<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4377 0 R >>
endobj
-4385 0 obj
+4379 0 obj
<< /Length1 1748 /Length2 1585 /Length3 0 /Filter /FlateDecode /Length 2661 >>
stream
xڵTiXWp *\@dѬ
@@ -15508,275 +15574,200 @@ g]qb)@Xű,wlu.9ѲgvuQk|Lb(J+&Ļ!gnbWUVI!%
{'eF1؊m\Ȫm 3Z6\m<Iu3.QW}M1)ZfVٹ6{j~YF]w͆=,v,D8U8714"Pbhni|"MQ"&T{E>~lfÌ[N7 ?>-`;WG!Q}V9669ğ4*V3m~PTQa7U,/jJݾ}u5[3 %}o)CƢ2N'ٷ*75TNCIڃ` Nsoܻ -(44zűS<*Xx3SVhzD2!-7g+^oR/66u4sSVAM ۲Z8
endstream
endobj
-4384 0 obj
-<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4385 0 R >>
+4378 0 obj
+<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4379 0 R >>
endobj
-4167 0 obj
+4161 0 obj
<< /Type /Encoding /Differences [ 25 /pi 44 /arrowhookleft 60 /less /slash /greater 107 /k 110 /n 120 /x ] >>
endobj
-4171 0 obj
+4165 0 obj
<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath 33 /arrowright 104 /angbracketleft /angbracketright ] >>
endobj
-4169 0 obj
+4163 0 obj
<< /Type /Encoding /Differences [ 40 /parenleft /parenright 43 /plus 48 /zero /one /two 52 /four 61 /equal 65 /A 76 /L 83 /S /T /U 89 /Y 97 /a 99 /c 110 /n 114 /r 116 /t ] >>
endobj
-604 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4362 0 R /FirstChar 32 /LastChar 32 /Widths 4173 0 R >>
-endobj
-333 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4364 0 R /FirstChar 25 /LastChar 120 /Widths 4275 0 R /Encoding 4167 0 R >>
-endobj
-497 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4366 0 R /FirstChar 107 /LastChar 107 /Widths 4198 0 R /Encoding 4167 0 R >>
-endobj
-334 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4368 0 R /FirstChar 25 /LastChar 107 /Widths 4274 0 R /Encoding 4167 0 R >>
-endobj
-2208 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4370 0 R /FirstChar 61 /LastChar 61 /Widths 4168 0 R /Encoding 4167 0 R >>
-endobj
-319 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4378 0 R /FirstChar 0 /LastChar 33 /Widths 4349 0 R /Encoding 4171 0 R >>
-endobj
-336 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4380 0 R /FirstChar 3 /LastChar 3 /Widths 4272 0 R /Encoding 4171 0 R >>
-endobj
-496 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4382 0 R /FirstChar 0 /LastChar 0 /Widths 4199 0 R /Encoding 4171 0 R >>
-endobj
-606 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4384 0 R /FirstChar 3 /LastChar 105 /Widths 4172 0 R /Encoding 4171 0 R >>
-endobj
-332 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4372 0 R /FirstChar 40 /LastChar 116 /Widths 4276 0 R /Encoding 4169 0 R >>
-endobj
-335 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4374 0 R /FirstChar 40 /LastChar 50 /Widths 4273 0 R /Encoding 4169 0 R >>
-endobj
-607 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4376 0 R /FirstChar 65 /LastChar 89 /Widths 4170 0 R /Encoding 4169 0 R >>
-endobj
-345 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 309 0 R 353 0 R 364 0 R 380 0 R 400 0 R 415 0 R 424 0 R 434 0 R 445 0 R 452 0 R ] >>
-endobj
-459 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 456 0 R 464 0 R 475 0 R 481 0 R 485 0 R 493 0 R 504 0 R 515 0 R 520 0 R 528 0 R ] >>
-endobj
-548 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 541 0 R 553 0 R 563 0 R 569 0 R 573 0 R 577 0 R 583 0 R 592 0 R 601 0 R 644 0 R ] >>
-endobj
-749 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 695 0 R 751 0 R 779 0 R 804 0 R 825 0 R 867 0 R 903 0 R 963 0 R 1000 0 R 1056 0 R ] >>
-endobj
-1177 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 1119 0 R 1179 0 R 1244 0 R 1311 0 R 1359 0 R 1413 0 R 1471 0 R 1527 0 R 1575 0 R 1622 0 R ] >>
-endobj
-1724 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 1670 0 R 1726 0 R 1784 0 R 1835 0 R 1894 0 R 1944 0 R 1987 0 R 2040 0 R 2104 0 R 2167 0 R ] >>
-endobj
-2253 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 2216 0 R 2255 0 R 2298 0 R 2328 0 R 2374 0 R 2425 0 R 2465 0 R 2520 0 R 2561 0 R 2598 0 R ] >>
-endobj
-2711 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 2653 0 R 2713 0 R 2759 0 R 2808 0 R 2863 0 R 2910 0 R 2956 0 R 3015 0 R 3071 0 R 3124 0 R ] >>
-endobj
-3213 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 3162 0 R 3216 0 R 3268 0 R 3328 0 R 3384 0 R 3451 0 R 3506 0 R 3545 0 R 3596 0 R 3641 0 R ] >>
-endobj
-3742 0 obj
-<< /Type /Pages /Parent 4386 0 R /Count 10 /Kids [ 3695 0 R 3744 0 R 3803 0 R 3860 0 R 3923 0 R 3987 0 R 4048 0 R 4075 0 R 4139 0 R 4163 0 R ] >>
-endobj
-4386 0 obj
-<< /Type /Pages /Count 100 /Kids [ 345 0 R 459 0 R 548 0 R 749 0 R 1177 0 R 1724 0 R 2253 0 R 2711 0 R 3213 0 R 3742 0 R ] >>
-endobj
-4387 0 obj
-<< /Type /Outlines /First 6 0 R /Last 306 0 R /Count 11 >>
-endobj
-306 0 obj
-<< /Title 307 0 R /A 304 0 R /Parent 4387 0 R /Prev 302 0 R >>
-endobj
-302 0 obj
-<< /Title 303 0 R /A 300 0 R /Parent 4387 0 R /Prev 194 0 R /Next 306 0 R >>
+517 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4356 0 R /FirstChar 32 /LastChar 32 /Widths 4167 0 R >>
endobj
-298 0 obj
-<< /Title 299 0 R /A 296 0 R /Parent 262 0 R /Prev 294 0 R >>
+221 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4358 0 R /FirstChar 25 /LastChar 120 /Widths 4269 0 R /Encoding 4161 0 R >>
endobj
-294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 262 0 R /Prev 290 0 R /Next 298 0 R >>
+393 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4360 0 R /FirstChar 107 /LastChar 107 /Widths 4192 0 R /Encoding 4161 0 R >>
endobj
-290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 262 0 R /Prev 286 0 R /Next 294 0 R >>
+222 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4362 0 R /FirstChar 25 /LastChar 107 /Widths 4268 0 R /Encoding 4161 0 R >>
endobj
-286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 262 0 R /Prev 282 0 R /Next 290 0 R >>
+2183 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4364 0 R /FirstChar 61 /LastChar 61 /Widths 4162 0 R /Encoding 4161 0 R >>
endobj
-282 0 obj
-<< /Title 283 0 R /A 280 0 R /Parent 262 0 R /Prev 278 0 R /Next 286 0 R >>
+207 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4372 0 R /FirstChar 0 /LastChar 33 /Widths 4343 0 R /Encoding 4165 0 R >>
endobj
-278 0 obj
-<< /Title 279 0 R /A 276 0 R /Parent 262 0 R /Prev 274 0 R /Next 282 0 R >>
+224 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4374 0 R /FirstChar 3 /LastChar 3 /Widths 4266 0 R /Encoding 4165 0 R >>
endobj
-274 0 obj
-<< /Title 275 0 R /A 272 0 R /Parent 262 0 R /Prev 270 0 R /Next 278 0 R >>
+392 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4376 0 R /FirstChar 0 /LastChar 0 /Widths 4193 0 R /Encoding 4165 0 R >>
endobj
-270 0 obj
-<< /Title 271 0 R /A 268 0 R /Parent 262 0 R /Prev 266 0 R /Next 274 0 R >>
+521 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4378 0 R /FirstChar 3 /LastChar 105 /Widths 4166 0 R /Encoding 4165 0 R >>
endobj
-266 0 obj
-<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 270 0 R >>
+220 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4366 0 R /FirstChar 40 /LastChar 116 /Widths 4270 0 R /Encoding 4163 0 R >>
endobj
-262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 194 0 R /Prev 202 0 R /First 266 0 R /Last 298 0 R /Count -9 >>
+223 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4368 0 R /FirstChar 40 /LastChar 50 /Widths 4267 0 R /Encoding 4163 0 R >>
endobj
-258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 202 0 R /Prev 254 0 R >>
+522 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4370 0 R /FirstChar 65 /LastChar 89 /Widths 4164 0 R /Encoding 4163 0 R >>
endobj
-254 0 obj
-<< /Title 255 0 R /A 252 0 R /Parent 202 0 R /Prev 250 0 R /Next 258 0 R >>
+233 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 197 0 R 243 0 R 254 0 R 269 0 R 291 0 R 302 0 R 314 0 R 325 0 R 335 0 R 340 0 R ] >>
endobj
-250 0 obj
-<< /Title 251 0 R /A 248 0 R /Parent 202 0 R /Prev 246 0 R /Next 254 0 R >>
+352 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 348 0 R 355 0 R 362 0 R 368 0 R 378 0 R 384 0 R 389 0 R 398 0 R 407 0 R 418 0 R ] >>
endobj
-246 0 obj
-<< /Title 247 0 R /A 244 0 R /Parent 202 0 R /Prev 242 0 R /Next 250 0 R >>
+426 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 423 0 R 432 0 R 445 0 R 456 0 R 466 0 R 472 0 R 476 0 R 480 0 R 486 0 R 492 0 R ] >>
endobj
-242 0 obj
-<< /Title 243 0 R /A 240 0 R /Parent 202 0 R /Prev 238 0 R /Next 246 0 R >>
+511 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 502 0 R 514 0 R 559 0 R 610 0 R 665 0 R 694 0 R 719 0 R 740 0 R 782 0 R 819 0 R ] >>
endobj
-238 0 obj
-<< /Title 239 0 R /A 236 0 R /Parent 202 0 R /Prev 234 0 R /Next 242 0 R >>
+914 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 879 0 R 917 0 R 973 0 R 1037 0 R 1096 0 R 1161 0 R 1228 0 R 1278 0 R 1319 0 R 1365 0 R ] >>
endobj
-234 0 obj
-<< /Title 235 0 R /A 232 0 R /Parent 202 0 R /Prev 230 0 R /Next 238 0 R >>
+1477 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 1423 0 R 1480 0 R 1530 0 R 1577 0 R 1624 0 R 1679 0 R 1739 0 R 1789 0 R 1853 0 R 1903 0 R ] >>
endobj
-230 0 obj
-<< /Title 231 0 R /A 228 0 R /Parent 202 0 R /Prev 226 0 R /Next 234 0 R >>
+1998 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 1947 0 R 2000 0 R 2064 0 R 2128 0 R 2185 0 R 2223 0 R 2264 0 R 2302 0 R 2342 0 R 2392 0 R ] >>
endobj
-226 0 obj
-<< /Title 227 0 R /A 224 0 R /Parent 202 0 R /Prev 222 0 R /Next 230 0 R >>
+2484 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 2434 0 R 2487 0 R 2536 0 R 2568 0 R 2626 0 R 2690 0 R 2732 0 R 2780 0 R 2833 0 R 2890 0 R ] >>
endobj
-222 0 obj
-<< /Title 223 0 R /A 220 0 R /Parent 202 0 R /Prev 218 0 R /Next 226 0 R >>
+2983 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 2931 0 R 2985 0 R 3048 0 R 3103 0 R 3151 0 R 3205 0 R 3257 0 R 3317 0 R 3374 0 R 3441 0 R ] >>
endobj
-218 0 obj
-<< /Title 219 0 R /A 216 0 R /Parent 202 0 R /Prev 214 0 R /Next 222 0 R >>
+3536 0 obj
+<< /Type /Pages /Parent 4380 0 R /Count 10 /Kids [ 3496 0 R 3538 0 R 3589 0 R 3635 0 R 3690 0 R 3738 0 R 3797 0 R 3853 0 R 3916 0 R 3977 0 R ] >>
endobj
-214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 202 0 R /Prev 210 0 R /Next 218 0 R >>
+4058 0 obj
+<< /Type /Pages /Parent 4381 0 R /Count 4 /Kids [ 4040 0 R 4066 0 R 4130 0 R 4157 0 R ] >>
endobj
-210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 202 0 R /Prev 206 0 R /Next 214 0 R >>
+4380 0 obj
+<< /Type /Pages /Parent 4382 0 R /Count 100 /Kids [ 233 0 R 352 0 R 426 0 R 511 0 R 914 0 R 1477 0 R 1998 0 R 2484 0 R 2983 0 R 3536 0 R ] >>
endobj
-206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 202 0 R /Next 210 0 R >>
+4381 0 obj
+<< /Type /Pages /Parent 4382 0 R /Count 4 /Kids [ 4058 0 R ] >>
endobj
-202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 194 0 R /Prev 198 0 R /Next 262 0 R /First 206 0 R /Last 258 0 R /Count -14 >>
+4382 0 obj
+<< /Type /Pages /Count 104 /Kids [ 4380 0 R 4381 0 R ] >>
endobj
-198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 194 0 R /Next 202 0 R >>
+4383 0 obj
+<< /Type /Outlines /First 6 0 R /Last 174 0 R /Count 9 >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 4387 0 R /Prev 170 0 R /Next 302 0 R /First 198 0 R /Last 262 0 R /Count -3 >>
+<< /Title 195 0 R /A 192 0 R /Parent 174 0 R /Prev 190 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 170 0 R /Prev 186 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 174 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 174 0 R /Prev 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 170 0 R /Prev 178 0 R /Next 186 0 R >>
+<< /Title 183 0 R /A 180 0 R /Parent 174 0 R /Prev 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R /Next 182 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 174 0 R /Next 182 0 R >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 4383 0 R /Prev 150 0 R /First 178 0 R /Last 194 0 R /Count -5 >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 4387 0 R /Prev 146 0 R /Next 194 0 R /First 174 0 R /Last 190 0 R /Count -5 >>
+<< /Title 171 0 R /A 168 0 R /Parent 150 0 R /Prev 166 0 R >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 146 0 R /Prev 162 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R /Next 170 0 R >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 146 0 R /Prev 158 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
endobj
158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 146 0 R /Prev 154 0 R /Next 162 0 R >>
+<< /Title 159 0 R /A 156 0 R /Parent 150 0 R /Prev 154 0 R /Next 162 0 R >>
endobj
154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 146 0 R /Prev 150 0 R /Next 158 0 R >>
+<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 146 0 R /Next 154 0 R >>
+<< /Title 151 0 R /A 148 0 R /Parent 4383 0 R /Prev 146 0 R /Next 174 0 R /First 154 0 R /Last 170 0 R /Count -5 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 4387 0 R /Prev 142 0 R /Next 170 0 R /First 150 0 R /Last 166 0 R /Count -5 >>
+<< /Title 147 0 R /A 144 0 R /Parent 4383 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
-<< /Title 143 0 R /A 140 0 R /Parent 4387 0 R /Prev 62 0 R /Next 146 0 R >>
+<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 62 0 R /Prev 134 0 R >>
+<< /Title 139 0 R /A 136 0 R /Parent 66 0 R /Prev 122 0 R /Next 142 0 R >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 62 0 R /Prev 118 0 R /Next 138 0 R >>
+<< /Title 135 0 R /A 132 0 R /Parent 122 0 R /Prev 130 0 R >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 122 0 R /Prev 126 0 R /Next 134 0 R >>
endobj
126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 118 0 R /Prev 122 0 R /Next 130 0 R >>
+<< /Title 127 0 R /A 124 0 R /Parent 122 0 R /Next 130 0 R >>
endobj
122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
+<< /Title 123 0 R /A 120 0 R /Parent 66 0 R /Prev 98 0 R /Next 138 0 R /First 126 0 R /Last 134 0 R /Count -3 >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 62 0 R /Prev 94 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
+<< /Title 119 0 R /A 116 0 R /Parent 98 0 R /Prev 114 0 R >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 94 0 R /Prev 110 0 R >>
+<< /Title 115 0 R /A 112 0 R /Parent 98 0 R /Prev 110 0 R /Next 118 0 R >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 98 0 R /Prev 106 0 R /Next 114 0 R >>
endobj
106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 94 0 R /Prev 102 0 R /Next 110 0 R >>
+<< /Title 107 0 R /A 104 0 R /Parent 98 0 R /Prev 102 0 R /Next 110 0 R >>
endobj
102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 94 0 R /Prev 98 0 R /Next 106 0 R >>
+<< /Title 103 0 R /A 100 0 R /Parent 98 0 R /Next 106 0 R >>
endobj
98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
+<< /Title 99 0 R /A 96 0 R /Parent 66 0 R /Prev 94 0 R /Next 122 0 R /First 102 0 R /Last 118 0 R /Count -5 >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 62 0 R /Prev 90 0 R /Next 118 0 R /First 98 0 R /Last 114 0 R /Count -5 >>
+<< /Title 95 0 R /A 92 0 R /Parent 66 0 R /Prev 82 0 R /Next 98 0 R >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 62 0 R /Prev 78 0 R /Next 94 0 R >>
+<< /Title 91 0 R /A 88 0 R /Parent 82 0 R /Prev 86 0 R >>
endobj
86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 78 0 R /Prev 82 0 R >>
+<< /Title 87 0 R /A 84 0 R /Parent 82 0 R /Next 90 0 R >>
endobj
82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 78 0 R /Next 86 0 R >>
+<< /Title 83 0 R /A 80 0 R /Parent 66 0 R /Prev 70 0 R /Next 94 0 R /First 86 0 R /Last 90 0 R /Count -2 >>
endobj
78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 62 0 R /Prev 66 0 R /Next 90 0 R /First 82 0 R /Last 86 0 R /Count -2 >>
+<< /Title 79 0 R /A 76 0 R /Parent 70 0 R /Prev 74 0 R >>
endobj
74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 66 0 R /Prev 70 0 R >>
+<< /Title 75 0 R /A 72 0 R /Parent 70 0 R /Next 78 0 R >>
endobj
70 0 obj
-<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 74 0 R >>
+<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 62 0 R /Next 78 0 R /First 70 0 R /Last 74 0 R /Count -2 >>
+<< /Title 67 0 R /A 64 0 R /Parent 4383 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 4387 0 R /Prev 34 0 R /Next 142 0 R /First 66 0 R /Last 138 0 R /Count -7 >>
+<< /Title 63 0 R /A 60 0 R /Parent 4383 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -15797,7 +15788,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 4387 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 4383 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -15812,3380 +15803,3265 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 4387 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 4383 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 4387 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 4383 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 4387 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 4383 0 R /Next 10 0 R >>
+endobj
+4384 0 obj
+<< /Names [ (Doc-Start) 204 0 R (HD.1) 520 0 R (HD.10) 531 0 R (HD.100) 629 0 R (HD.1000) 1627 0 R (HD.1001) 1628 0 R (HD.1002) 1629 0 R (HD.1003) 1630 0 R (HD.1004) 1631 0 R (HD.1005) 1632 0 R (HD.1006) 1633 0 R (HD.1007) 1634 0 R (HD.1008) 1635 0 R (HD.1009) 1636 0 R (HD.101) 630 0 R (HD.1010) 1637 0 R (HD.1011) 1638 0 R (HD.1012) 1639 0 R (HD.1013) 1640 0 R (HD.1014) 1641 0 R (HD.1015) 1642 0 R (HD.1016) 1643 0 R (HD.1017) 1644 0 R (HD.1018) 1645 0 R (HD.1019) 1646 0 R (HD.102) 631 0 R (HD.1020) 1647 0 R (HD.1021) 1648 0 R (HD.1022) 1649 0 R (HD.1023) 1650 0 R (HD.1024) 1651 0 R (HD.1025) 1652 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
+endobj
+4385 0 obj
+<< /Names [ (HD.1026) 1653 0 R (HD.1027) 1654 0 R (HD.1028) 1655 0 R (HD.1029) 1656 0 R (HD.103) 632 0 R (HD.1030) 1657 0 R (HD.1031) 1658 0 R (HD.1032) 1659 0 R (HD.1033) 1660 0 R (HD.1034) 1661 0 R (HD.1035) 1662 0 R (HD.1036) 1663 0 R (HD.1037) 1664 0 R (HD.1038) 1665 0 R (HD.1039) 1666 0 R (HD.104) 633 0 R (HD.1040) 1667 0 R (HD.1041) 1668 0 R (HD.1042) 1669 0 R (HD.1043) 1670 0 R (HD.1044) 1671 0 R (HD.1045) 1672 0 R (HD.1046) 1673 0 R (HD.1047) 1674 0 R (HD.1048) 1675 0 R (HD.1049) 1676 0 R (HD.105) 634 0 R (HD.1050) 1677 0 R (HD.1051) 1682 0 R (HD.1052) 1683 0 R (HD.1053) 1684 0 R (HD.1054) 1685 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
+endobj
+4386 0 obj
+<< /Names [ (HD.1055) 1686 0 R (HD.1056) 1687 0 R (HD.1057) 1688 0 R (HD.1058) 1689 0 R (HD.1059) 1690 0 R (HD.106) 635 0 R (HD.1060) 1691 0 R (HD.1061) 1692 0 R (HD.1062) 1693 0 R (HD.1063) 1694 0 R (HD.1064) 1695 0 R (HD.1065) 1696 0 R (HD.1066) 1697 0 R (HD.1067) 1698 0 R (HD.1068) 1699 0 R (HD.1069) 1700 0 R (HD.107) 636 0 R (HD.1070) 1701 0 R (HD.1071) 1702 0 R (HD.1072) 1703 0 R (HD.1073) 1704 0 R (HD.1074) 1705 0 R (HD.1075) 1706 0 R (HD.1076) 1707 0 R (HD.1077) 1708 0 R (HD.1078) 1709 0 R (HD.1079) 1710 0 R (HD.108) 637 0 R (HD.1080) 1711 0 R (HD.1081) 1712 0 R (HD.1082) 1713 0 R (HD.1083) 1714 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
+endobj
+4387 0 obj
+<< /Names [ (HD.1084) 1715 0 R (HD.1085) 1716 0 R (HD.1086) 1717 0 R (HD.1087) 1718 0 R (HD.1088) 1719 0 R (HD.1089) 1720 0 R (HD.109) 638 0 R (HD.1090) 1721 0 R (HD.1091) 1722 0 R (HD.1092) 1723 0 R (HD.1093) 1724 0 R (HD.1094) 1725 0 R (HD.1095) 1726 0 R (HD.1096) 1727 0 R (HD.1097) 1728 0 R (HD.1098) 1729 0 R (HD.1099) 1730 0 R (HD.11) 532 0 R (HD.110) 639 0 R (HD.1100) 1731 0 R (HD.1101) 1732 0 R (HD.1102) 1733 0 R (HD.1103) 1734 0 R (HD.1104) 1735 0 R (HD.1105) 1736 0 R (HD.1106) 1737 0 R (HD.1107) 1742 0 R (HD.1108) 1743 0 R (HD.1109) 1744 0 R (HD.111) 640 0 R (HD.1110) 1745 0 R (HD.1111) 1746 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
endobj
4388 0 obj
-<< /Names [ (Doc-Start) 316 0 R (HD.1) 605 0 R (HD.10) 616 0 R (HD.100) 714 0 R (HD.1000) 1702 0 R (HD.1001) 1703 0 R (HD.1002) 1704 0 R (HD.1003) 1705 0 R (HD.1004) 1706 0 R (HD.1005) 1707 0 R (HD.1006) 1708 0 R (HD.1007) 1709 0 R (HD.1008) 1710 0 R (HD.1009) 1711 0 R (HD.101) 715 0 R (HD.1010) 1712 0 R (HD.1011) 1713 0 R (HD.1012) 1714 0 R (HD.1013) 1715 0 R (HD.1014) 1716 0 R (HD.1015) 1717 0 R (HD.1016) 1718 0 R (HD.1017) 1719 0 R (HD.1018) 1720 0 R (HD.1019) 1721 0 R (HD.102) 716 0 R (HD.1020) 1722 0 R (HD.1021) 1723 0 R (HD.1022) 1729 0 R (HD.1023) 1730 0 R (HD.1024) 1731 0 R (HD.1025) 1732 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
+<< /Names [ (HD.1112) 1747 0 R (HD.1113) 1748 0 R (HD.1114) 1749 0 R (HD.1115) 1750 0 R (HD.1116) 1751 0 R (HD.1117) 1752 0 R (HD.1118) 1753 0 R (HD.1119) 1754 0 R (HD.112) 641 0 R (HD.1120) 1755 0 R (HD.1121) 1756 0 R (HD.1122) 1757 0 R (HD.1123) 1759 0 R (HD.1124) 1760 0 R (HD.1125) 1761 0 R (HD.1126) 1762 0 R (HD.1127) 1763 0 R (HD.1128) 1764 0 R (HD.1129) 1765 0 R (HD.113) 642 0 R (HD.1130) 1766 0 R (HD.1131) 1767 0 R (HD.1132) 1768 0 R (HD.1133) 1769 0 R (HD.1134) 1770 0 R (HD.1135) 1771 0 R (HD.1136) 1772 0 R (HD.1137) 1773 0 R (HD.1138) 1774 0 R (HD.1139) 1775 0 R (HD.114) 643 0 R (HD.1140) 1776 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
endobj
4389 0 obj
-<< /Names [ (HD.1026) 1733 0 R (HD.1027) 1734 0 R (HD.1028) 1735 0 R (HD.1029) 1736 0 R (HD.103) 717 0 R (HD.1030) 1737 0 R (HD.1031) 1738 0 R (HD.1032) 1739 0 R (HD.1033) 1740 0 R (HD.1034) 1741 0 R (HD.1035) 1742 0 R (HD.1036) 1743 0 R (HD.1037) 1744 0 R (HD.1038) 1745 0 R (HD.1039) 1746 0 R (HD.104) 718 0 R (HD.1040) 1747 0 R (HD.1041) 1748 0 R (HD.1042) 1749 0 R (HD.1043) 1750 0 R (HD.1044) 1751 0 R (HD.1045) 1752 0 R (HD.1046) 1753 0 R (HD.1047) 1754 0 R (HD.1048) 1755 0 R (HD.1049) 1756 0 R (HD.105) 719 0 R (HD.1050) 1757 0 R (HD.1051) 1758 0 R (HD.1052) 1759 0 R (HD.1053) 1760 0 R (HD.1054) 1761 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
+<< /Names [ (HD.1141) 1777 0 R (HD.1142) 1778 0 R (HD.1143) 1779 0 R (HD.1144) 1780 0 R (HD.1145) 1781 0 R (HD.1146) 1782 0 R (HD.1147) 1783 0 R (HD.1148) 1784 0 R (HD.1149) 1785 0 R (HD.115) 644 0 R (HD.1150) 1786 0 R (HD.1151) 1787 0 R (HD.1152) 1792 0 R (HD.1153) 1793 0 R (HD.1154) 1794 0 R (HD.1155) 1795 0 R (HD.1156) 1796 0 R (HD.1157) 1797 0 R (HD.1158) 1798 0 R (HD.1159) 1799 0 R (HD.116) 645 0 R (HD.1160) 1800 0 R (HD.1161) 1801 0 R (HD.1162) 1802 0 R (HD.1163) 1803 0 R (HD.1164) 1804 0 R (HD.1165) 1805 0 R (HD.1166) 1806 0 R (HD.1167) 1807 0 R (HD.1168) 1808 0 R (HD.1169) 1809 0 R (HD.117) 646 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
endobj
4390 0 obj
-<< /Names [ (HD.1055) 1762 0 R (HD.1056) 1763 0 R (HD.1057) 1764 0 R (HD.1058) 1765 0 R (HD.1059) 1766 0 R (HD.106) 720 0 R (HD.1060) 1767 0 R (HD.1061) 1768 0 R (HD.1062) 1769 0 R (HD.1063) 1770 0 R (HD.1064) 1771 0 R (HD.1065) 1772 0 R (HD.1066) 1773 0 R (HD.1067) 1774 0 R (HD.1068) 1775 0 R (HD.1069) 1776 0 R (HD.107) 721 0 R (HD.1070) 1777 0 R (HD.1071) 1778 0 R (HD.1072) 1779 0 R (HD.1073) 1780 0 R (HD.1074) 1781 0 R (HD.1075) 1782 0 R (HD.1076) 1787 0 R (HD.1077) 1788 0 R (HD.1078) 1789 0 R (HD.1079) 1790 0 R (HD.108) 722 0 R (HD.1080) 1791 0 R (HD.1081) 1792 0 R (HD.1082) 1793 0 R (HD.1083) 1794 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
+<< /Names [ (HD.1170) 1810 0 R (HD.1171) 1811 0 R (HD.1172) 1812 0 R (HD.1173) 1813 0 R (HD.1174) 1814 0 R (HD.1175) 1815 0 R (HD.1176) 1816 0 R (HD.1177) 1817 0 R (HD.1178) 1818 0 R (HD.1179) 1819 0 R (HD.118) 647 0 R (HD.1180) 1820 0 R (HD.1181) 1821 0 R (HD.1182) 1822 0 R (HD.1183) 1823 0 R (HD.1184) 1824 0 R (HD.1185) 1825 0 R (HD.1186) 1826 0 R (HD.1187) 1827 0 R (HD.1188) 1828 0 R (HD.1189) 1829 0 R (HD.119) 648 0 R (HD.1190) 1830 0 R (HD.1191) 1831 0 R (HD.1192) 1832 0 R (HD.1193) 1833 0 R (HD.1194) 1834 0 R (HD.1195) 1835 0 R (HD.1196) 1836 0 R (HD.1197) 1837 0 R (HD.1198) 1838 0 R (HD.1199) 1839 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
endobj
4391 0 obj
-<< /Names [ (HD.1084) 1795 0 R (HD.1085) 1796 0 R (HD.1086) 1797 0 R (HD.1087) 1798 0 R (HD.1088) 1799 0 R (HD.1089) 1800 0 R (HD.109) 723 0 R (HD.1090) 1801 0 R (HD.1091) 1802 0 R (HD.1092) 1803 0 R (HD.1093) 1804 0 R (HD.1094) 1805 0 R (HD.1095) 1806 0 R (HD.1096) 1807 0 R (HD.1097) 1808 0 R (HD.1098) 1809 0 R (HD.1099) 1810 0 R (HD.11) 617 0 R (HD.110) 724 0 R (HD.1100) 1811 0 R (HD.1101) 1812 0 R (HD.1102) 1813 0 R (HD.1103) 1814 0 R (HD.1104) 1815 0 R (HD.1105) 1816 0 R (HD.1106) 1817 0 R (HD.1107) 1818 0 R (HD.1108) 1819 0 R (HD.1109) 1820 0 R (HD.111) 725 0 R (HD.1110) 1821 0 R (HD.1111) 1822 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
+<< /Names [ (HD.12) 533 0 R (HD.120) 649 0 R (HD.1200) 1840 0 R (HD.1201) 1841 0 R (HD.1202) 1842 0 R (HD.1203) 1843 0 R (HD.1204) 1844 0 R (HD.1205) 1845 0 R (HD.1206) 1846 0 R (HD.1207) 1847 0 R (HD.1208) 1848 0 R (HD.1209) 1849 0 R (HD.121) 650 0 R (HD.1210) 1850 0 R (HD.1211) 1851 0 R (HD.1212) 1856 0 R (HD.1213) 1857 0 R (HD.1214) 1858 0 R (HD.1215) 1859 0 R (HD.1216) 1860 0 R (HD.1217) 1861 0 R (HD.1218) 1862 0 R (HD.1219) 1864 0 R (HD.122) 651 0 R (HD.1220) 1865 0 R (HD.1221) 1866 0 R (HD.1222) 1867 0 R (HD.1223) 1868 0 R (HD.1224) 1869 0 R (HD.1225) 1870 0 R (HD.1226) 1871 0 R (HD.1227) 1872 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
endobj
4392 0 obj
-<< /Names [ (HD.1112) 1823 0 R (HD.1113) 1824 0 R (HD.1114) 1825 0 R (HD.1115) 1826 0 R (HD.1116) 1827 0 R (HD.1117) 1828 0 R (HD.1118) 1829 0 R (HD.1119) 1830 0 R (HD.112) 726 0 R (HD.1120) 1831 0 R (HD.1121) 1832 0 R (HD.1122) 1833 0 R (HD.1123) 1838 0 R (HD.1124) 1839 0 R (HD.1125) 1840 0 R (HD.1126) 1841 0 R (HD.1127) 1842 0 R (HD.1128) 1843 0 R (HD.1129) 1844 0 R (HD.113) 727 0 R (HD.1130) 1845 0 R (HD.1131) 1846 0 R (HD.1132) 1847 0 R (HD.1133) 1848 0 R (HD.1134) 1849 0 R (HD.1135) 1850 0 R (HD.1136) 1851 0 R (HD.1137) 1852 0 R (HD.1138) 1853 0 R (HD.1139) 1854 0 R (HD.114) 728 0 R (HD.1140) 1855 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
+<< /Names [ (HD.1228) 1873 0 R (HD.1229) 1874 0 R (HD.123) 652 0 R (HD.1230) 1875 0 R (HD.1231) 1876 0 R (HD.1232) 1877 0 R (HD.1233) 1878 0 R (HD.1234) 1879 0 R (HD.1235) 1880 0 R (HD.1236) 1881 0 R (HD.1237) 1882 0 R (HD.1238) 1883 0 R (HD.1239) 1884 0 R (HD.124) 653 0 R (HD.1240) 1885 0 R (HD.1241) 1886 0 R (HD.1242) 1887 0 R (HD.1243) 1888 0 R (HD.1244) 1889 0 R (HD.1245) 1890 0 R (HD.1246) 1891 0 R (HD.1247) 1892 0 R (HD.1248) 1893 0 R (HD.1249) 1894 0 R (HD.125) 654 0 R (HD.1250) 1895 0 R (HD.1251) 1896 0 R (HD.1252) 1897 0 R (HD.1253) 1898 0 R (HD.1254) 1899 0 R (HD.1255) 1900 0 R (HD.1256) 1901 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
endobj
4393 0 obj
-<< /Names [ (HD.1141) 1856 0 R (HD.1142) 1857 0 R (HD.1143) 1858 0 R (HD.1144) 1859 0 R (HD.1145) 1860 0 R (HD.1146) 1861 0 R (HD.1147) 1862 0 R (HD.1148) 1863 0 R (HD.1149) 1864 0 R (HD.115) 729 0 R (HD.1150) 1865 0 R (HD.1151) 1866 0 R (HD.1152) 1867 0 R (HD.1153) 1868 0 R (HD.1154) 1869 0 R (HD.1155) 1870 0 R (HD.1156) 1871 0 R (HD.1157) 1872 0 R (HD.1158) 1873 0 R (HD.1159) 1874 0 R (HD.116) 730 0 R (HD.1160) 1875 0 R (HD.1161) 1876 0 R (HD.1162) 1877 0 R (HD.1163) 1878 0 R (HD.1164) 1879 0 R (HD.1165) 1880 0 R (HD.1166) 1881 0 R (HD.1167) 1882 0 R (HD.1168) 1883 0 R (HD.1169) 1884 0 R (HD.117) 731 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
+<< /Names [ (HD.1257) 1906 0 R (HD.1258) 1907 0 R (HD.1259) 1908 0 R (HD.126) 655 0 R (HD.1260) 1910 0 R (HD.1261) 1911 0 R (HD.1262) 1912 0 R (HD.1263) 1913 0 R (HD.1264) 1914 0 R (HD.1265) 1915 0 R (HD.1266) 1916 0 R (HD.1267) 1917 0 R (HD.1268) 1918 0 R (HD.1269) 1919 0 R (HD.127) 656 0 R (HD.1270) 1920 0 R (HD.1271) 1921 0 R (HD.1272) 1922 0 R (HD.1273) 1923 0 R (HD.1274) 1924 0 R (HD.1275) 1925 0 R (HD.1276) 1926 0 R (HD.1277) 1927 0 R (HD.1278) 1928 0 R (HD.1279) 1929 0 R (HD.128) 657 0 R (HD.1280) 1930 0 R (HD.1281) 1931 0 R (HD.1282) 1932 0 R (HD.1283) 1933 0 R (HD.1284) 1934 0 R (HD.1285) 1935 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
endobj
4394 0 obj
-<< /Names [ (HD.1170) 1885 0 R (HD.1171) 1886 0 R (HD.1172) 1887 0 R (HD.1173) 1888 0 R (HD.1174) 1889 0 R (HD.1175) 1890 0 R (HD.1176) 1891 0 R (HD.1177) 1892 0 R (HD.1178) 1897 0 R (HD.1179) 1898 0 R (HD.118) 732 0 R (HD.1180) 1899 0 R (HD.1181) 1900 0 R (HD.1182) 1901 0 R (HD.1183) 1902 0 R (HD.1184) 1903 0 R (HD.1185) 1904 0 R (HD.1186) 1905 0 R (HD.1187) 1906 0 R (HD.1188) 1907 0 R (HD.1189) 1908 0 R (HD.119) 733 0 R (HD.1190) 1909 0 R (HD.1191) 1910 0 R (HD.1192) 1911 0 R (HD.1193) 1912 0 R (HD.1194) 1913 0 R (HD.1195) 1914 0 R (HD.1196) 1915 0 R (HD.1197) 1916 0 R (HD.1198) 1917 0 R (HD.1199) 1918 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
+<< /Names [ (HD.1286) 1936 0 R (HD.1287) 1937 0 R (HD.1288) 1938 0 R (HD.1289) 1939 0 R (HD.129) 658 0 R (HD.1290) 1940 0 R (HD.1291) 1941 0 R (HD.1292) 1942 0 R (HD.1293) 1943 0 R (HD.1294) 1944 0 R (HD.1295) 1945 0 R (HD.1296) 1950 0 R (HD.1297) 1951 0 R (HD.1298) 1952 0 R (HD.1299) 1953 0 R (HD.13) 534 0 R (HD.130) 659 0 R (HD.1300) 1954 0 R (HD.1301) 1955 0 R (HD.1302) 1956 0 R (HD.1303) 1957 0 R (HD.1304) 1958 0 R (HD.1305) 1959 0 R (HD.1306) 1960 0 R (HD.1307) 1961 0 R (HD.1308) 1962 0 R (HD.1309) 1963 0 R (HD.131) 660 0 R (HD.1310) 1964 0 R (HD.1311) 1965 0 R (HD.1312) 1966 0 R (HD.1313) 1967 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
endobj
4395 0 obj
-<< /Names [ (HD.12) 618 0 R (HD.120) 734 0 R (HD.1200) 1919 0 R (HD.1201) 1920 0 R (HD.1202) 1921 0 R (HD.1203) 1922 0 R (HD.1204) 1923 0 R (HD.1205) 1924 0 R (HD.1206) 1925 0 R (HD.1207) 1926 0 R (HD.1208) 1927 0 R (HD.1209) 1928 0 R (HD.121) 735 0 R (HD.1210) 1929 0 R (HD.1211) 1930 0 R (HD.1212) 1931 0 R (HD.1213) 1932 0 R (HD.1214) 1933 0 R (HD.1215) 1934 0 R (HD.1216) 1935 0 R (HD.1217) 1936 0 R (HD.1218) 1937 0 R (HD.1219) 1938 0 R (HD.122) 736 0 R (HD.1220) 1939 0 R (HD.1221) 1940 0 R (HD.1222) 1941 0 R (HD.1223) 1942 0 R (HD.1224) 1947 0 R (HD.1225) 1948 0 R (HD.1226) 1949 0 R (HD.1227) 1950 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
+<< /Names [ (HD.1314) 1968 0 R (HD.1315) 1969 0 R (HD.1316) 1970 0 R (HD.1317) 1971 0 R (HD.1318) 1972 0 R (HD.1319) 1973 0 R (HD.132) 661 0 R (HD.1320) 1974 0 R (HD.1321) 1975 0 R (HD.1322) 1976 0 R (HD.1323) 1977 0 R (HD.1324) 1978 0 R (HD.1325) 1979 0 R (HD.1326) 1980 0 R (HD.1327) 1982 0 R (HD.1328) 1983 0 R (HD.1329) 1984 0 R (HD.133) 662 0 R (HD.1330) 1985 0 R (HD.1331) 1986 0 R (HD.1332) 1987 0 R (HD.1333) 1988 0 R (HD.1334) 1989 0 R (HD.1335) 1990 0 R (HD.1336) 1991 0 R (HD.1337) 1993 0 R (HD.1338) 1994 0 R (HD.1339) 1995 0 R (HD.134) 663 0 R (HD.1340) 1996 0 R (HD.1341) 1997 0 R (HD.1342) 2003 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
endobj
4396 0 obj
-<< /Names [ (HD.1228) 1951 0 R (HD.1229) 1952 0 R (HD.123) 737 0 R (HD.1230) 1953 0 R (HD.1231) 1954 0 R (HD.1232) 1955 0 R (HD.1233) 1956 0 R (HD.1234) 1957 0 R (HD.1235) 1958 0 R (HD.1236) 1959 0 R (HD.1237) 1960 0 R (HD.1238) 1961 0 R (HD.1239) 1962 0 R (HD.124) 738 0 R (HD.1240) 1963 0 R (HD.1241) 1964 0 R (HD.1242) 1965 0 R (HD.1243) 1966 0 R (HD.1244) 1967 0 R (HD.1245) 1968 0 R (HD.1246) 1969 0 R (HD.1247) 1970 0 R (HD.1248) 1971 0 R (HD.1249) 1972 0 R (HD.125) 739 0 R (HD.1250) 1973 0 R (HD.1251) 1974 0 R (HD.1252) 1975 0 R (HD.1253) 1976 0 R (HD.1254) 1977 0 R (HD.1255) 1978 0 R (HD.1256) 1979 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
+<< /Names [ (HD.1343) 2004 0 R (HD.1344) 2005 0 R (HD.1345) 2006 0 R (HD.1346) 2007 0 R (HD.1347) 2008 0 R (HD.1348) 2009 0 R (HD.1349) 2010 0 R (HD.135) 668 0 R (HD.1350) 2011 0 R (HD.1351) 2012 0 R (HD.1352) 2013 0 R (HD.1353) 2014 0 R (HD.1354) 2015 0 R (HD.1355) 2016 0 R (HD.1356) 2017 0 R (HD.1357) 2018 0 R (HD.1358) 2019 0 R (HD.1359) 2020 0 R (HD.136) 669 0 R (HD.1360) 2021 0 R (HD.1361) 2022 0 R (HD.1362) 2023 0 R (HD.1363) 2024 0 R (HD.1364) 2025 0 R (HD.1365) 2026 0 R (HD.1366) 2027 0 R (HD.1367) 2028 0 R (HD.1368) 2029 0 R (HD.1369) 2030 0 R (HD.137) 670 0 R (HD.1370) 2031 0 R (HD.1371) 2032 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
endobj
4397 0 obj
-<< /Names [ (HD.1257) 1980 0 R (HD.1258) 1981 0 R (HD.1259) 1982 0 R (HD.126) 740 0 R (HD.1260) 1983 0 R (HD.1261) 1984 0 R (HD.1262) 1985 0 R (HD.1263) 1990 0 R (HD.1264) 1991 0 R (HD.1265) 1992 0 R (HD.1266) 1993 0 R (HD.1267) 1994 0 R (HD.1268) 1995 0 R (HD.1269) 1996 0 R (HD.127) 741 0 R (HD.1270) 1997 0 R (HD.1271) 1998 0 R (HD.1272) 1999 0 R (HD.1273) 2000 0 R (HD.1274) 2001 0 R (HD.1275) 2002 0 R (HD.1276) 2003 0 R (HD.1277) 2004 0 R (HD.1278) 2005 0 R (HD.1279) 2006 0 R (HD.128) 742 0 R (HD.1280) 2007 0 R (HD.1281) 2008 0 R (HD.1282) 2009 0 R (HD.1283) 2010 0 R (HD.1284) 2011 0 R (HD.1285) 2012 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
+<< /Names [ (HD.1372) 2033 0 R (HD.1373) 2034 0 R (HD.1374) 2035 0 R (HD.1375) 2036 0 R (HD.1376) 2037 0 R (HD.1377) 2038 0 R (HD.1378) 2039 0 R (HD.1379) 2040 0 R (HD.138) 671 0 R (HD.1380) 2041 0 R (HD.1381) 2042 0 R (HD.1382) 2043 0 R (HD.1383) 2044 0 R (HD.1384) 2045 0 R (HD.1385) 2046 0 R (HD.1386) 2047 0 R (HD.1387) 2048 0 R (HD.1388) 2049 0 R (HD.1389) 2050 0 R (HD.139) 672 0 R (HD.1390) 2051 0 R (HD.1391) 2052 0 R (HD.1392) 2053 0 R (HD.1393) 2054 0 R (HD.1394) 2055 0 R (HD.1395) 2056 0 R (HD.1396) 2057 0 R (HD.1397) 2058 0 R (HD.1398) 2059 0 R (HD.1399) 2060 0 R (HD.14) 535 0 R (HD.140) 673 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
endobj
4398 0 obj
-<< /Names [ (HD.1286) 2013 0 R (HD.1287) 2014 0 R (HD.1288) 2015 0 R (HD.1289) 2016 0 R (HD.129) 743 0 R (HD.1290) 2017 0 R (HD.1291) 2018 0 R (HD.1292) 2019 0 R (HD.1293) 2020 0 R (HD.1294) 2021 0 R (HD.1295) 2022 0 R (HD.1296) 2023 0 R (HD.1297) 2024 0 R (HD.1298) 2025 0 R (HD.1299) 2026 0 R (HD.13) 619 0 R (HD.130) 744 0 R (HD.1300) 2027 0 R (HD.1301) 2028 0 R (HD.1302) 2029 0 R (HD.1303) 2030 0 R (HD.1304) 2031 0 R (HD.1305) 2032 0 R (HD.1306) 2033 0 R (HD.1307) 2034 0 R (HD.1308) 2035 0 R (HD.1309) 2036 0 R (HD.131) 745 0 R (HD.1310) 2037 0 R (HD.1311) 2038 0 R (HD.1312) 2043 0 R (HD.1313) 2044 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
+<< /Names [ (HD.1400) 2061 0 R (HD.1401) 2062 0 R (HD.1402) 2067 0 R (HD.1403) 2068 0 R (HD.1404) 2069 0 R (HD.1405) 2070 0 R (HD.1406) 2071 0 R (HD.1407) 2072 0 R (HD.1408) 2073 0 R (HD.1409) 2074 0 R (HD.141) 674 0 R (HD.1410) 2075 0 R (HD.1411) 2076 0 R (HD.1412) 2077 0 R (HD.1413) 2078 0 R (HD.1414) 2079 0 R (HD.1415) 2080 0 R (HD.1416) 2081 0 R (HD.1417) 2082 0 R (HD.1418) 2083 0 R (HD.1419) 2084 0 R (HD.142) 675 0 R (HD.1420) 2085 0 R (HD.1421) 2086 0 R (HD.1422) 2087 0 R (HD.1423) 2088 0 R (HD.1424) 2089 0 R (HD.1425) 2090 0 R (HD.1426) 2091 0 R (HD.1427) 2092 0 R (HD.1428) 2093 0 R (HD.1429) 2094 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
endobj
4399 0 obj
-<< /Names [ (HD.1314) 2045 0 R (HD.1315) 2046 0 R (HD.1316) 2047 0 R (HD.1317) 2048 0 R (HD.1318) 2049 0 R (HD.1319) 2050 0 R (HD.132) 746 0 R (HD.1320) 2051 0 R (HD.1321) 2052 0 R (HD.1322) 2053 0 R (HD.1323) 2054 0 R (HD.1324) 2055 0 R (HD.1325) 2056 0 R (HD.1326) 2057 0 R (HD.1327) 2058 0 R (HD.1328) 2059 0 R (HD.1329) 2060 0 R (HD.133) 747 0 R (HD.1330) 2061 0 R (HD.1331) 2062 0 R (HD.1332) 2063 0 R (HD.1333) 2064 0 R (HD.1334) 2065 0 R (HD.1335) 2066 0 R (HD.1336) 2067 0 R (HD.1337) 2068 0 R (HD.1338) 2069 0 R (HD.1339) 2070 0 R (HD.134) 748 0 R (HD.1340) 2071 0 R (HD.1341) 2072 0 R (HD.1342) 2073 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
+<< /Names [ (HD.143) 676 0 R (HD.1430) 2095 0 R (HD.1431) 2096 0 R (HD.1432) 2097 0 R (HD.1433) 2098 0 R (HD.1434) 2099 0 R (HD.1435) 2100 0 R (HD.1436) 2101 0 R (HD.1437) 2102 0 R (HD.1438) 2103 0 R (HD.1439) 2104 0 R (HD.144) 677 0 R (HD.1440) 2105 0 R (HD.1441) 2106 0 R (HD.1442) 2107 0 R (HD.1443) 2108 0 R (HD.1444) 2109 0 R (HD.1445) 2110 0 R (HD.1446) 2111 0 R (HD.1447) 2112 0 R (HD.1448) 2113 0 R (HD.1449) 2114 0 R (HD.145) 678 0 R (HD.1450) 2115 0 R (HD.1451) 2116 0 R (HD.1452) 2117 0 R (HD.1453) 2118 0 R (HD.1454) 2119 0 R (HD.1455) 2120 0 R (HD.1456) 2121 0 R (HD.1457) 2122 0 R (HD.1458) 2123 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
endobj
4400 0 obj
-<< /Names [ (HD.1343) 2074 0 R (HD.1344) 2075 0 R (HD.1345) 2076 0 R (HD.1346) 2077 0 R (HD.1347) 2078 0 R (HD.1348) 2079 0 R (HD.1349) 2080 0 R (HD.135) 754 0 R (HD.1350) 2081 0 R (HD.1351) 2082 0 R (HD.1352) 2083 0 R (HD.1353) 2084 0 R (HD.1354) 2085 0 R (HD.1355) 2086 0 R (HD.1356) 2087 0 R (HD.1357) 2088 0 R (HD.1358) 2089 0 R (HD.1359) 2090 0 R (HD.136) 755 0 R (HD.1360) 2091 0 R (HD.1361) 2092 0 R (HD.1362) 2093 0 R (HD.1363) 2094 0 R (HD.1364) 2095 0 R (HD.1365) 2096 0 R (HD.1366) 2097 0 R (HD.1367) 2098 0 R (HD.1368) 2099 0 R (HD.1369) 2100 0 R (HD.137) 756 0 R (HD.1370) 2101 0 R (HD.1371) 2102 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
+<< /Names [ (HD.1459) 2124 0 R (HD.146) 679 0 R (HD.1460) 2125 0 R (HD.1461) 2126 0 R (HD.1462) 2131 0 R (HD.1463) 2132 0 R (HD.1464) 2133 0 R (HD.1465) 2134 0 R (HD.1466) 2135 0 R (HD.1467) 2136 0 R (HD.1468) 2137 0 R (HD.1469) 2138 0 R (HD.147) 681 0 R (HD.1470) 2139 0 R (HD.1471) 2140 0 R (HD.1472) 2141 0 R (HD.1473) 2142 0 R (HD.1474) 2143 0 R (HD.1475) 2144 0 R (HD.1476) 2145 0 R (HD.1477) 2146 0 R (HD.1478) 2148 0 R (HD.1479) 2149 0 R (HD.148) 682 0 R (HD.1480) 2150 0 R (HD.1481) 2151 0 R (HD.1482) 2152 0 R (HD.1483) 2153 0 R (HD.1484) 2154 0 R (HD.1485) 2155 0 R (HD.1486) 2156 0 R (HD.1487) 2157 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
endobj
4401 0 obj
-<< /Names [ (HD.1372) 2107 0 R (HD.1373) 2108 0 R (HD.1374) 2109 0 R (HD.1375) 2110 0 R (HD.1376) 2111 0 R (HD.1377) 2112 0 R (HD.1378) 2113 0 R (HD.1379) 2114 0 R (HD.138) 757 0 R (HD.1380) 2115 0 R (HD.1381) 2116 0 R (HD.1382) 2117 0 R (HD.1383) 2118 0 R (HD.1384) 2119 0 R (HD.1385) 2120 0 R (HD.1386) 2121 0 R (HD.1387) 2122 0 R (HD.1388) 2123 0 R (HD.1389) 2124 0 R (HD.139) 758 0 R (HD.1390) 2125 0 R (HD.1391) 2126 0 R (HD.1392) 2127 0 R (HD.1393) 2128 0 R (HD.1394) 2129 0 R (HD.1395) 2130 0 R (HD.1396) 2131 0 R (HD.1397) 2132 0 R (HD.1398) 2133 0 R (HD.1399) 2134 0 R (HD.14) 620 0 R (HD.140) 759 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
+<< /Names [ (HD.1488) 2158 0 R (HD.1489) 2159 0 R (HD.149) 683 0 R (HD.1490) 2160 0 R (HD.1491) 2161 0 R (HD.1492) 2163 0 R (HD.1493) 2164 0 R (HD.1494) 2165 0 R (HD.1495) 2166 0 R (HD.1496) 2167 0 R (HD.1497) 2168 0 R (HD.1498) 2169 0 R (HD.1499) 2170 0 R (HD.15) 536 0 R (HD.150) 684 0 R (HD.1500) 2171 0 R (HD.1501) 2172 0 R (HD.1502) 2173 0 R (HD.1503) 2174 0 R (HD.1504) 2175 0 R (HD.1505) 2176 0 R (HD.1506) 2177 0 R (HD.1507) 2178 0 R (HD.1508) 2179 0 R (HD.1509) 2180 0 R (HD.151) 685 0 R (HD.1510) 2181 0 R (HD.1511) 2182 0 R (HD.1512) 2189 0 R (HD.1513) 2190 0 R (HD.1514) 2191 0 R (HD.1515) 2192 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
endobj
4402 0 obj
-<< /Names [ (HD.1400) 2135 0 R (HD.1401) 2136 0 R (HD.1402) 2137 0 R (HD.1403) 2138 0 R (HD.1404) 2139 0 R (HD.1405) 2140 0 R (HD.1406) 2141 0 R (HD.1407) 2142 0 R (HD.1408) 2143 0 R (HD.1409) 2144 0 R (HD.141) 760 0 R (HD.1410) 2145 0 R (HD.1411) 2146 0 R (HD.1412) 2147 0 R (HD.1413) 2148 0 R (HD.1414) 2149 0 R (HD.1415) 2150 0 R (HD.1416) 2151 0 R (HD.1417) 2152 0 R (HD.1418) 2153 0 R (HD.1419) 2154 0 R (HD.142) 761 0 R (HD.1420) 2155 0 R (HD.1421) 2156 0 R (HD.1422) 2157 0 R (HD.1423) 2158 0 R (HD.1424) 2159 0 R (HD.1425) 2160 0 R (HD.1426) 2161 0 R (HD.1427) 2162 0 R (HD.1428) 2163 0 R (HD.1429) 2164 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
+<< /Names [ (HD.1516) 2193 0 R (HD.1517) 2194 0 R (HD.1518) 2195 0 R (HD.1519) 2196 0 R (HD.152) 686 0 R (HD.1520) 2197 0 R (HD.1521) 2198 0 R (HD.1522) 2199 0 R (HD.1523) 2200 0 R (HD.1524) 2201 0 R (HD.1525) 2202 0 R (HD.1526) 2203 0 R (HD.1527) 2204 0 R (HD.1528) 2205 0 R (HD.1529) 2206 0 R (HD.153) 687 0 R (HD.1530) 2207 0 R (HD.1531) 2208 0 R (HD.1532) 2209 0 R (HD.1533) 2210 0 R (HD.1534) 2211 0 R (HD.1535) 2212 0 R (HD.1536) 2213 0 R (HD.1537) 2214 0 R (HD.1538) 2215 0 R (HD.1539) 2216 0 R (HD.154) 688 0 R (HD.1540) 2217 0 R (HD.1541) 2218 0 R (HD.1542) 2219 0 R (HD.1543) 2220 0 R (HD.1544) 2221 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
endobj
4403 0 obj
-<< /Names [ (HD.143) 762 0 R (HD.1430) 2165 0 R (HD.1431) 2170 0 R (HD.1432) 2171 0 R (HD.1433) 2172 0 R (HD.1434) 2173 0 R (HD.1435) 2174 0 R (HD.1436) 2175 0 R (HD.1437) 2176 0 R (HD.1438) 2177 0 R (HD.1439) 2178 0 R (HD.144) 763 0 R (HD.1440) 2179 0 R (HD.1441) 2180 0 R (HD.1442) 2181 0 R (HD.1443) 2182 0 R (HD.1444) 2183 0 R (HD.1445) 2184 0 R (HD.1446) 2185 0 R (HD.1447) 2186 0 R (HD.1448) 2187 0 R (HD.1449) 2188 0 R (HD.145) 764 0 R (HD.1450) 2189 0 R (HD.1451) 2190 0 R (HD.1452) 2191 0 R (HD.1453) 2192 0 R (HD.1454) 2193 0 R (HD.1455) 2194 0 R (HD.1456) 2195 0 R (HD.1457) 2196 0 R (HD.1458) 2197 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
+<< /Names [ (HD.1545) 2226 0 R (HD.1546) 2227 0 R (HD.1547) 2228 0 R (HD.1548) 2229 0 R (HD.1549) 2230 0 R (HD.155) 689 0 R (HD.1550) 2231 0 R (HD.1551) 2232 0 R (HD.1552) 2233 0 R (HD.1553) 2234 0 R (HD.1554) 2235 0 R (HD.1555) 2236 0 R (HD.1556) 2237 0 R (HD.1557) 2238 0 R (HD.1558) 2239 0 R (HD.1559) 2240 0 R (HD.156) 690 0 R (HD.1560) 2241 0 R (HD.1561) 2242 0 R (HD.1562) 2243 0 R (HD.1563) 2244 0 R (HD.1564) 2245 0 R (HD.1565) 2246 0 R (HD.1566) 2247 0 R (HD.1567) 2248 0 R (HD.1568) 2249 0 R (HD.1569) 2250 0 R (HD.157) 691 0 R (HD.1570) 2251 0 R (HD.1571) 2252 0 R (HD.1572) 2253 0 R (HD.1573) 2254 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
endobj
4404 0 obj
-<< /Names [ (HD.1459) 2198 0 R (HD.146) 765 0 R (HD.1460) 2199 0 R (HD.1461) 2200 0 R (HD.1462) 2201 0 R (HD.1463) 2202 0 R (HD.1464) 2203 0 R (HD.1465) 2204 0 R (HD.1466) 2205 0 R (HD.1467) 2206 0 R (HD.1468) 2207 0 R (HD.1469) 2209 0 R (HD.147) 766 0 R (HD.1470) 2210 0 R (HD.1471) 2211 0 R (HD.1472) 2212 0 R (HD.1473) 2213 0 R (HD.1474) 2214 0 R (HD.1475) 2219 0 R (HD.1476) 2220 0 R (HD.1477) 2221 0 R (HD.1478) 2222 0 R (HD.1479) 2223 0 R (HD.148) 767 0 R (HD.1480) 2224 0 R (HD.1481) 2225 0 R (HD.1482) 2226 0 R (HD.1483) 2227 0 R (HD.1484) 2228 0 R (HD.1485) 2229 0 R (HD.1486) 2230 0 R (HD.1487) 2231 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
+<< /Names [ (HD.1574) 2255 0 R (HD.1575) 2256 0 R (HD.1576) 2257 0 R (HD.1577) 2258 0 R (HD.1578) 2259 0 R (HD.1579) 2260 0 R (HD.158) 692 0 R (HD.1580) 2261 0 R (HD.1581) 2262 0 R (HD.1582) 2268 0 R (HD.1583) 2269 0 R (HD.1584) 2270 0 R (HD.1585) 2271 0 R (HD.1586) 2272 0 R (HD.1587) 2273 0 R (HD.1588) 2274 0 R (HD.1589) 2275 0 R (HD.159) 697 0 R (HD.1590) 2276 0 R (HD.1591) 2277 0 R (HD.1592) 2278 0 R (HD.1593) 2279 0 R (HD.1594) 2280 0 R (HD.1595) 2281 0 R (HD.1596) 2282 0 R (HD.1597) 2283 0 R (HD.1598) 2284 0 R (HD.1599) 2285 0 R (HD.16) 537 0 R (HD.160) 698 0 R (HD.1600) 2286 0 R (HD.1601) 2287 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
endobj
4405 0 obj
-<< /Names [ (HD.1488) 2232 0 R (HD.1489) 2233 0 R (HD.149) 768 0 R (HD.1490) 2234 0 R (HD.1491) 2235 0 R (HD.1492) 2236 0 R (HD.1493) 2237 0 R (HD.1494) 2238 0 R (HD.1495) 2239 0 R (HD.1496) 2240 0 R (HD.1497) 2241 0 R (HD.1498) 2242 0 R (HD.1499) 2243 0 R (HD.15) 621 0 R (HD.150) 769 0 R (HD.1500) 2244 0 R (HD.1501) 2245 0 R (HD.1502) 2246 0 R (HD.1503) 2247 0 R (HD.1504) 2248 0 R (HD.1505) 2249 0 R (HD.1506) 2250 0 R (HD.1507) 2251 0 R (HD.1508) 2252 0 R (HD.1509) 2258 0 R (HD.151) 770 0 R (HD.1510) 2259 0 R (HD.1511) 2260 0 R (HD.1512) 2261 0 R (HD.1513) 2262 0 R (HD.1514) 2263 0 R (HD.1515) 2264 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
+<< /Names [ (HD.1602) 2288 0 R (HD.1603) 2289 0 R (HD.1604) 2290 0 R (HD.1605) 2291 0 R (HD.1606) 2292 0 R (HD.1607) 2293 0 R (HD.1608) 2294 0 R (HD.1609) 2295 0 R (HD.161) 699 0 R (HD.1610) 2296 0 R (HD.1611) 2297 0 R (HD.1612) 2298 0 R (HD.1613) 2299 0 R (HD.1614) 2300 0 R (HD.1615) 2305 0 R (HD.1616) 2307 0 R (HD.1617) 2308 0 R (HD.1618) 2309 0 R (HD.1619) 2310 0 R (HD.162) 700 0 R (HD.1620) 2311 0 R (HD.1621) 2312 0 R (HD.1622) 2313 0 R (HD.1623) 2314 0 R (HD.1624) 2315 0 R (HD.1625) 2316 0 R (HD.1626) 2317 0 R (HD.1627) 2318 0 R (HD.1628) 2319 0 R (HD.1629) 2320 0 R (HD.163) 701 0 R (HD.1630) 2321 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
endobj
4406 0 obj
-<< /Names [ (HD.1516) 2265 0 R (HD.1517) 2266 0 R (HD.1518) 2267 0 R (HD.1519) 2268 0 R (HD.152) 771 0 R (HD.1520) 2269 0 R (HD.1521) 2270 0 R (HD.1522) 2271 0 R (HD.1523) 2272 0 R (HD.1524) 2273 0 R (HD.1525) 2274 0 R (HD.1526) 2275 0 R (HD.1527) 2276 0 R (HD.1528) 2277 0 R (HD.1529) 2278 0 R (HD.153) 772 0 R (HD.1530) 2279 0 R (HD.1531) 2280 0 R (HD.1532) 2281 0 R (HD.1533) 2282 0 R (HD.1534) 2283 0 R (HD.1535) 2284 0 R (HD.1536) 2285 0 R (HD.1537) 2286 0 R (HD.1538) 2287 0 R (HD.1539) 2289 0 R (HD.154) 773 0 R (HD.1540) 2290 0 R (HD.1541) 2291 0 R (HD.1542) 2292 0 R (HD.1543) 2293 0 R (HD.1544) 2294 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
+<< /Names [ (HD.1631) 2322 0 R (HD.1632) 2323 0 R (HD.1633) 2324 0 R (HD.1634) 2325 0 R (HD.1635) 2326 0 R (HD.1636) 2327 0 R (HD.1637) 2328 0 R (HD.1638) 2329 0 R (HD.1639) 2330 0 R (HD.164) 702 0 R (HD.1640) 2331 0 R (HD.1641) 2332 0 R (HD.1642) 2333 0 R (HD.1643) 2334 0 R (HD.1644) 2335 0 R (HD.1645) 2336 0 R (HD.1646) 2337 0 R (HD.1647) 2338 0 R (HD.1648) 2339 0 R (HD.1649) 2340 0 R (HD.165) 703 0 R (HD.1650) 2346 0 R (HD.1651) 2347 0 R (HD.1652) 2348 0 R (HD.1653) 2349 0 R (HD.1654) 2350 0 R (HD.1655) 2351 0 R (HD.1656) 2352 0 R (HD.1657) 2353 0 R (HD.1658) 2354 0 R (HD.1659) 2355 0 R (HD.166) 704 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
endobj
4407 0 obj
-<< /Names [ (HD.1545) 2295 0 R (HD.1546) 2296 0 R (HD.1547) 2301 0 R (HD.1548) 2302 0 R (HD.1549) 2303 0 R (HD.155) 774 0 R (HD.1550) 2304 0 R (HD.1551) 2305 0 R (HD.1552) 2306 0 R (HD.1553) 2307 0 R (HD.1554) 2308 0 R (HD.1555) 2309 0 R (HD.1556) 2310 0 R (HD.1557) 2311 0 R (HD.1558) 2312 0 R (HD.1559) 2313 0 R (HD.156) 775 0 R (HD.1560) 2314 0 R (HD.1561) 2315 0 R (HD.1562) 2316 0 R (HD.1563) 2317 0 R (HD.1564) 2318 0 R (HD.1565) 2319 0 R (HD.1566) 2320 0 R (HD.1567) 2321 0 R (HD.1568) 2322 0 R (HD.1569) 2323 0 R (HD.157) 776 0 R (HD.1570) 2324 0 R (HD.1571) 2325 0 R (HD.1572) 2326 0 R (HD.1573) 2332 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
+<< /Names [ (HD.1660) 2356 0 R (HD.1661) 2357 0 R (HD.1662) 2358 0 R (HD.1663) 2359 0 R (HD.1664) 2360 0 R (HD.1665) 2361 0 R (HD.1666) 2362 0 R (HD.1667) 2363 0 R (HD.1668) 2364 0 R (HD.1669) 2365 0 R (HD.167) 705 0 R (HD.1670) 2366 0 R (HD.1671) 2367 0 R (HD.1672) 2368 0 R (HD.1673) 2369 0 R (HD.1674) 2370 0 R (HD.1675) 2371 0 R (HD.1676) 2372 0 R (HD.1677) 2373 0 R (HD.1678) 2374 0 R (HD.1679) 2375 0 R (HD.168) 706 0 R (HD.1680) 2376 0 R (HD.1681) 2377 0 R (HD.1682) 2378 0 R (HD.1683) 2379 0 R (HD.1684) 2380 0 R (HD.1685) 2381 0 R (HD.1686) 2382 0 R (HD.1687) 2383 0 R (HD.1688) 2384 0 R (HD.1689) 2385 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
endobj
4408 0 obj
-<< /Names [ (HD.1574) 2333 0 R (HD.1575) 2334 0 R (HD.1576) 2335 0 R (HD.1577) 2336 0 R (HD.1578) 2337 0 R (HD.1579) 2338 0 R (HD.158) 777 0 R (HD.1580) 2339 0 R (HD.1581) 2340 0 R (HD.1582) 2341 0 R (HD.1583) 2342 0 R (HD.1584) 2343 0 R (HD.1585) 2344 0 R (HD.1586) 2345 0 R (HD.1587) 2346 0 R (HD.1588) 2347 0 R (HD.1589) 2348 0 R (HD.159) 782 0 R (HD.1590) 2349 0 R (HD.1591) 2350 0 R (HD.1592) 2351 0 R (HD.1593) 2352 0 R (HD.1594) 2353 0 R (HD.1595) 2354 0 R (HD.1596) 2355 0 R (HD.1597) 2356 0 R (HD.1598) 2357 0 R (HD.1599) 2358 0 R (HD.16) 622 0 R (HD.160) 783 0 R (HD.1600) 2359 0 R (HD.1601) 2360 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
+<< /Names [ (HD.169) 707 0 R (HD.1690) 2386 0 R (HD.1691) 2387 0 R (HD.1692) 2388 0 R (HD.1693) 2389 0 R (HD.1694) 2395 0 R (HD.1695) 2396 0 R (HD.1696) 2397 0 R (HD.1697) 2398 0 R (HD.1698) 2399 0 R (HD.1699) 2400 0 R (HD.17) 538 0 R (HD.170) 708 0 R (HD.1700) 2401 0 R (HD.1701) 2402 0 R (HD.1702) 2403 0 R (HD.1703) 2404 0 R (HD.1704) 2405 0 R (HD.1705) 2406 0 R (HD.1706) 2407 0 R (HD.1707) 2408 0 R (HD.1708) 2409 0 R (HD.1709) 2410 0 R (HD.171) 709 0 R (HD.1710) 2411 0 R (HD.1711) 2412 0 R (HD.1712) 2413 0 R (HD.1713) 2414 0 R (HD.1714) 2415 0 R (HD.1715) 2416 0 R (HD.1716) 2417 0 R (HD.1717) 2418 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
endobj
4409 0 obj
-<< /Names [ (HD.1602) 2361 0 R (HD.1603) 2362 0 R (HD.1604) 2363 0 R (HD.1605) 2364 0 R (HD.1606) 2365 0 R (HD.1607) 2367 0 R (HD.1608) 2368 0 R (HD.1609) 2369 0 R (HD.161) 784 0 R (HD.1610) 2370 0 R (HD.1611) 2371 0 R (HD.1612) 2372 0 R (HD.1613) 2377 0 R (HD.1614) 2378 0 R (HD.1615) 2379 0 R (HD.1616) 2380 0 R (HD.1617) 2381 0 R (HD.1618) 2382 0 R (HD.1619) 2383 0 R (HD.162) 785 0 R (HD.1620) 2384 0 R (HD.1621) 2385 0 R (HD.1622) 2386 0 R (HD.1623) 2387 0 R (HD.1624) 2388 0 R (HD.1625) 2389 0 R (HD.1626) 2390 0 R (HD.1627) 2391 0 R (HD.1628) 2392 0 R (HD.1629) 2393 0 R (HD.163) 786 0 R (HD.1630) 2394 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
+<< /Names [ (HD.1718) 2419 0 R (HD.1719) 2420 0 R (HD.172) 710 0 R (HD.1720) 2421 0 R (HD.1721) 2422 0 R (HD.1722) 2424 0 R (HD.1723) 2425 0 R (HD.1724) 2426 0 R (HD.1725) 2427 0 R (HD.1726) 2428 0 R (HD.1727) 2429 0 R (HD.1728) 2430 0 R (HD.1729) 2431 0 R (HD.173) 711 0 R (HD.1730) 2432 0 R (HD.1731) 2437 0 R (HD.1732) 2438 0 R (HD.1733) 2439 0 R (HD.1734) 2440 0 R (HD.1735) 2441 0 R (HD.1736) 2442 0 R (HD.1737) 2443 0 R (HD.1738) 2444 0 R (HD.1739) 2445 0 R (HD.174) 712 0 R (HD.1740) 2446 0 R (HD.1741) 2447 0 R (HD.1742) 2448 0 R (HD.1743) 2449 0 R (HD.1744) 2450 0 R (HD.1745) 2451 0 R (HD.1746) 2452 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
endobj
4410 0 obj
-<< /Names [ (HD.1631) 2395 0 R (HD.1632) 2396 0 R (HD.1633) 2397 0 R (HD.1634) 2398 0 R (HD.1635) 2399 0 R (HD.1636) 2400 0 R (HD.1637) 2401 0 R (HD.1638) 2402 0 R (HD.1639) 2403 0 R (HD.164) 787 0 R (HD.1640) 2404 0 R (HD.1641) 2405 0 R (HD.1642) 2406 0 R (HD.1643) 2407 0 R (HD.1644) 2408 0 R (HD.1645) 2409 0 R (HD.1646) 2410 0 R (HD.1647) 2411 0 R (HD.1648) 2412 0 R (HD.1649) 2413 0 R (HD.165) 788 0 R (HD.1650) 2414 0 R (HD.1651) 2415 0 R (HD.1652) 2416 0 R (HD.1653) 2417 0 R (HD.1654) 2418 0 R (HD.1655) 2419 0 R (HD.1656) 2420 0 R (HD.1657) 2421 0 R (HD.1658) 2422 0 R (HD.1659) 2428 0 R (HD.166) 789 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
+<< /Names [ (HD.1747) 2453 0 R (HD.1748) 2454 0 R (HD.1749) 2455 0 R (HD.175) 713 0 R (HD.1750) 2456 0 R (HD.1751) 2458 0 R (HD.1752) 2459 0 R (HD.1753) 2460 0 R (HD.1754) 2461 0 R (HD.1755) 2462 0 R (HD.1756) 2463 0 R (HD.1757) 2464 0 R (HD.1758) 2465 0 R (HD.1759) 2466 0 R (HD.176) 714 0 R (HD.1760) 2467 0 R (HD.1761) 2468 0 R (HD.1762) 2469 0 R (HD.1763) 2470 0 R (HD.1764) 2471 0 R (HD.1765) 2472 0 R (HD.1766) 2473 0 R (HD.1767) 2474 0 R (HD.1768) 2475 0 R (HD.1769) 2476 0 R (HD.177) 715 0 R (HD.1770) 2477 0 R (HD.1771) 2478 0 R (HD.1772) 2479 0 R (HD.1773) 2480 0 R (HD.1774) 2481 0 R (HD.1775) 2482 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
endobj
4411 0 obj
-<< /Names [ (HD.1660) 2429 0 R (HD.1661) 2430 0 R (HD.1662) 2431 0 R (HD.1663) 2432 0 R (HD.1664) 2433 0 R (HD.1665) 2434 0 R (HD.1666) 2435 0 R (HD.1667) 2436 0 R (HD.1668) 2437 0 R (HD.1669) 2438 0 R (HD.167) 790 0 R (HD.1670) 2439 0 R (HD.1671) 2440 0 R (HD.1672) 2441 0 R (HD.1673) 2442 0 R (HD.1674) 2443 0 R (HD.1675) 2444 0 R (HD.1676) 2445 0 R (HD.1677) 2446 0 R (HD.1678) 2447 0 R (HD.1679) 2449 0 R (HD.168) 791 0 R (HD.1680) 2450 0 R (HD.1681) 2451 0 R (HD.1682) 2452 0 R (HD.1683) 2453 0 R (HD.1684) 2454 0 R (HD.1685) 2455 0 R (HD.1686) 2456 0 R (HD.1687) 2457 0 R (HD.1688) 2458 0 R (HD.1689) 2459 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
+<< /Names [ (HD.1776) 2490 0 R (HD.1777) 2491 0 R (HD.1778) 2492 0 R (HD.1779) 2493 0 R (HD.178) 716 0 R (HD.1780) 2494 0 R (HD.1781) 2495 0 R (HD.1782) 2496 0 R (HD.1783) 2497 0 R (HD.1784) 2498 0 R (HD.1785) 2499 0 R (HD.1786) 2500 0 R (HD.1787) 2501 0 R (HD.1788) 2502 0 R (HD.1789) 2503 0 R (HD.179) 717 0 R (HD.1790) 2504 0 R (HD.1791) 2505 0 R (HD.1792) 2506 0 R (HD.1793) 2507 0 R (HD.1794) 2508 0 R (HD.1795) 2509 0 R (HD.1796) 2510 0 R (HD.1797) 2511 0 R (HD.1798) 2512 0 R (HD.1799) 2513 0 R (HD.18) 539 0 R (HD.180) 722 0 R (HD.1800) 2514 0 R (HD.1801) 2515 0 R (HD.1802) 2516 0 R (HD.1803) 2517 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
endobj
4412 0 obj
-<< /Names [ (HD.169) 792 0 R (HD.1690) 2460 0 R (HD.1691) 2461 0 R (HD.1692) 2468 0 R (HD.1693) 2469 0 R (HD.1694) 2470 0 R (HD.1695) 2471 0 R (HD.1696) 2472 0 R (HD.1697) 2473 0 R (HD.1698) 2474 0 R (HD.1699) 2475 0 R (HD.17) 623 0 R (HD.170) 793 0 R (HD.1700) 2476 0 R (HD.1701) 2477 0 R (HD.1702) 2478 0 R (HD.1703) 2479 0 R (HD.1704) 2480 0 R (HD.1705) 2481 0 R (HD.1706) 2482 0 R (HD.1707) 2483 0 R (HD.1708) 2484 0 R (HD.1709) 2485 0 R (HD.171) 794 0 R (HD.1710) 2486 0 R (HD.1711) 2487 0 R (HD.1712) 2488 0 R (HD.1713) 2489 0 R (HD.1714) 2490 0 R (HD.1715) 2491 0 R (HD.1716) 2492 0 R (HD.1717) 2493 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
+<< /Names [ (HD.1804) 2518 0 R (HD.1805) 2519 0 R (HD.1806) 2520 0 R (HD.1807) 2521 0 R (HD.1808) 2522 0 R (HD.1809) 2523 0 R (HD.181) 723 0 R (HD.1810) 2524 0 R (HD.1811) 2525 0 R (HD.1812) 2526 0 R (HD.1813) 2527 0 R (HD.1814) 2528 0 R (HD.1815) 2529 0 R (HD.1816) 2530 0 R (HD.1817) 2531 0 R (HD.1818) 2532 0 R (HD.1819) 2539 0 R (HD.182) 724 0 R (HD.1820) 2540 0 R (HD.1821) 2541 0 R (HD.1822) 2542 0 R (HD.1823) 2543 0 R (HD.1824) 2544 0 R (HD.1825) 2546 0 R (HD.1826) 2547 0 R (HD.1827) 2548 0 R (HD.1828) 2549 0 R (HD.1829) 2550 0 R (HD.183) 725 0 R (HD.1830) 2551 0 R (HD.1831) 2552 0 R (HD.1832) 2553 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
endobj
4413 0 obj
-<< /Names [ (HD.1718) 2494 0 R (HD.1719) 2495 0 R (HD.172) 795 0 R (HD.1720) 2496 0 R (HD.1721) 2497 0 R (HD.1722) 2498 0 R (HD.1723) 2499 0 R (HD.1724) 2500 0 R (HD.1725) 2501 0 R (HD.1726) 2502 0 R (HD.1727) 2503 0 R (HD.1728) 2504 0 R (HD.1729) 2505 0 R (HD.173) 796 0 R (HD.1730) 2506 0 R (HD.1731) 2507 0 R (HD.1732) 2508 0 R (HD.1733) 2509 0 R (HD.1734) 2510 0 R (HD.1735) 2511 0 R (HD.1736) 2512 0 R (HD.1737) 2513 0 R (HD.1738) 2514 0 R (HD.1739) 2515 0 R (HD.174) 797 0 R (HD.1740) 2516 0 R (HD.1741) 2517 0 R (HD.1742) 2518 0 R (HD.1743) 2523 0 R (HD.1744) 2524 0 R (HD.1745) 2525 0 R (HD.1746) 2526 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
+<< /Names [ (HD.1833) 2554 0 R (HD.1834) 2555 0 R (HD.1835) 2556 0 R (HD.1836) 2557 0 R (HD.1837) 2558 0 R (HD.1838) 2559 0 R (HD.1839) 2560 0 R (HD.184) 726 0 R (HD.1840) 2561 0 R (HD.1841) 2562 0 R (HD.1842) 2563 0 R (HD.1843) 2571 0 R (HD.1844) 2572 0 R (HD.1845) 2573 0 R (HD.1846) 2574 0 R (HD.1847) 2575 0 R (HD.1848) 2576 0 R (HD.1849) 2577 0 R (HD.185) 727 0 R (HD.1850) 2578 0 R (HD.1851) 2579 0 R (HD.1852) 2580 0 R (HD.1853) 2581 0 R (HD.1854) 2582 0 R (HD.1855) 2583 0 R (HD.1856) 2584 0 R (HD.1857) 2585 0 R (HD.1858) 2586 0 R (HD.1859) 2587 0 R (HD.186) 728 0 R (HD.1860) 2588 0 R (HD.1861) 2589 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
endobj
4414 0 obj
-<< /Names [ (HD.1747) 2527 0 R (HD.1748) 2528 0 R (HD.1749) 2529 0 R (HD.175) 798 0 R (HD.1750) 2530 0 R (HD.1751) 2531 0 R (HD.1752) 2532 0 R (HD.1753) 2533 0 R (HD.1754) 2534 0 R (HD.1755) 2535 0 R (HD.1756) 2536 0 R (HD.1757) 2537 0 R (HD.1758) 2538 0 R (HD.1759) 2539 0 R (HD.176) 799 0 R (HD.1760) 2540 0 R (HD.1761) 2541 0 R (HD.1762) 2542 0 R (HD.1763) 2543 0 R (HD.1764) 2544 0 R (HD.1765) 2545 0 R (HD.1766) 2546 0 R (HD.1767) 2547 0 R (HD.1768) 2548 0 R (HD.1769) 2549 0 R (HD.177) 800 0 R (HD.1770) 2550 0 R (HD.1771) 2551 0 R (HD.1772) 2552 0 R (HD.1773) 2553 0 R (HD.1774) 2554 0 R (HD.1775) 2555 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
+<< /Names [ (HD.1862) 2590 0 R (HD.1863) 2591 0 R (HD.1864) 2592 0 R (HD.1865) 2593 0 R (HD.1866) 2594 0 R (HD.1867) 2595 0 R (HD.1868) 2596 0 R (HD.1869) 2597 0 R (HD.187) 729 0 R (HD.1870) 2598 0 R (HD.1871) 2599 0 R (HD.1872) 2600 0 R (HD.1873) 2601 0 R (HD.1874) 2602 0 R (HD.1875) 2603 0 R (HD.1876) 2604 0 R (HD.1877) 2605 0 R (HD.1878) 2606 0 R (HD.1879) 2607 0 R (HD.188) 730 0 R (HD.1880) 2608 0 R (HD.1881) 2609 0 R (HD.1882) 2610 0 R (HD.1883) 2611 0 R (HD.1884) 2613 0 R (HD.1885) 2614 0 R (HD.1886) 2615 0 R (HD.1887) 2616 0 R (HD.1888) 2617 0 R (HD.1889) 2618 0 R (HD.189) 731 0 R (HD.1890) 2619 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
endobj
4415 0 obj
-<< /Names [ (HD.1776) 2556 0 R (HD.1777) 2557 0 R (HD.1778) 2564 0 R (HD.1779) 2565 0 R (HD.178) 801 0 R (HD.1780) 2566 0 R (HD.1781) 2567 0 R (HD.1782) 2569 0 R (HD.1783) 2570 0 R (HD.1784) 2571 0 R (HD.1785) 2572 0 R (HD.1786) 2573 0 R (HD.1787) 2574 0 R (HD.1788) 2575 0 R (HD.1789) 2576 0 R (HD.179) 802 0 R (HD.1790) 2577 0 R (HD.1791) 2578 0 R (HD.1792) 2579 0 R (HD.1793) 2580 0 R (HD.1794) 2581 0 R (HD.1795) 2582 0 R (HD.1796) 2583 0 R (HD.1797) 2584 0 R (HD.1798) 2585 0 R (HD.1799) 2586 0 R (HD.18) 624 0 R (HD.180) 807 0 R (HD.1800) 2587 0 R (HD.1801) 2588 0 R (HD.1802) 2589 0 R (HD.1803) 2590 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
+<< /Names [ (HD.1891) 2620 0 R (HD.1892) 2621 0 R (HD.1893) 2622 0 R (HD.1894) 2624 0 R (HD.1895) 2630 0 R (HD.1896) 2632 0 R (HD.1897) 2633 0 R (HD.1898) 2634 0 R (HD.1899) 2635 0 R (HD.19) 540 0 R (HD.190) 732 0 R (HD.1900) 2636 0 R (HD.1901) 2637 0 R (HD.1902) 2638 0 R (HD.1903) 2639 0 R (HD.1904) 2640 0 R (HD.1905) 2641 0 R (HD.1906) 2642 0 R (HD.1907) 2643 0 R (HD.1908) 2644 0 R (HD.1909) 2645 0 R (HD.191) 733 0 R (HD.1910) 2646 0 R (HD.1911) 2647 0 R (HD.1912) 2648 0 R (HD.1913) 2649 0 R (HD.1914) 2650 0 R (HD.1915) 2651 0 R (HD.1916) 2652 0 R (HD.1917) 2653 0 R (HD.1918) 2654 0 R (HD.1919) 2655 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
endobj
4416 0 obj
-<< /Names [ (HD.1804) 2591 0 R (HD.1805) 2592 0 R (HD.1806) 2593 0 R (HD.1807) 2601 0 R (HD.1808) 2602 0 R (HD.1809) 2603 0 R (HD.181) 808 0 R (HD.1810) 2604 0 R (HD.1811) 2605 0 R (HD.1812) 2606 0 R (HD.1813) 2607 0 R (HD.1814) 2608 0 R (HD.1815) 2609 0 R (HD.1816) 2610 0 R (HD.1817) 2611 0 R (HD.1818) 2612 0 R (HD.1819) 2613 0 R (HD.182) 809 0 R (HD.1820) 2614 0 R (HD.1821) 2615 0 R (HD.1822) 2616 0 R (HD.1823) 2617 0 R (HD.1824) 2618 0 R (HD.1825) 2619 0 R (HD.1826) 2620 0 R (HD.1827) 2621 0 R (HD.1828) 2622 0 R (HD.1829) 2623 0 R (HD.183) 810 0 R (HD.1830) 2624 0 R (HD.1831) 2625 0 R (HD.1832) 2626 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
+<< /Names [ (HD.192) 734 0 R (HD.1920) 2656 0 R (HD.1921) 2657 0 R (HD.1922) 2658 0 R (HD.1923) 2659 0 R (HD.1924) 2660 0 R (HD.1925) 2661 0 R (HD.1926) 2662 0 R (HD.1927) 2663 0 R (HD.1928) 2664 0 R (HD.1929) 2665 0 R (HD.193) 735 0 R (HD.1930) 2666 0 R (HD.1931) 2667 0 R (HD.1932) 2668 0 R (HD.1933) 2669 0 R (HD.1934) 2670 0 R (HD.1935) 2671 0 R (HD.1936) 2672 0 R (HD.1937) 2673 0 R (HD.1938) 2674 0 R (HD.1939) 2675 0 R (HD.194) 736 0 R (HD.1940) 2676 0 R (HD.1941) 2677 0 R (HD.1942) 2678 0 R (HD.1943) 2679 0 R (HD.1944) 2680 0 R (HD.1945) 2681 0 R (HD.1946) 2682 0 R (HD.1947) 2683 0 R (HD.1948) 2684 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
endobj
4417 0 obj
-<< /Names [ (HD.1833) 2627 0 R (HD.1834) 2628 0 R (HD.1835) 2629 0 R (HD.1836) 2630 0 R (HD.1837) 2631 0 R (HD.1838) 2632 0 R (HD.1839) 2634 0 R (HD.184) 811 0 R (HD.1840) 2635 0 R (HD.1841) 2637 0 R (HD.1842) 2639 0 R (HD.1843) 2641 0 R (HD.1844) 2642 0 R (HD.1845) 2643 0 R (HD.1846) 2644 0 R (HD.1847) 2645 0 R (HD.1848) 2646 0 R (HD.1849) 2647 0 R (HD.185) 812 0 R (HD.1850) 2648 0 R (HD.1851) 2649 0 R (HD.1852) 2650 0 R (HD.1853) 2651 0 R (HD.1854) 2656 0 R (HD.1855) 2657 0 R (HD.1856) 2658 0 R (HD.1857) 2659 0 R (HD.1858) 2660 0 R (HD.1859) 2661 0 R (HD.186) 813 0 R (HD.1860) 2662 0 R (HD.1861) 2663 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
+<< /Names [ (HD.1949) 2685 0 R (HD.195) 737 0 R (HD.1950) 2686 0 R (HD.1951) 2687 0 R (HD.1952) 2688 0 R (HD.1953) 2693 0 R (HD.1954) 2694 0 R (HD.1955) 2695 0 R (HD.1956) 2696 0 R (HD.1957) 2697 0 R (HD.1958) 2698 0 R (HD.1959) 2700 0 R (HD.196) 738 0 R (HD.1960) 2701 0 R (HD.1961) 2702 0 R (HD.1962) 2703 0 R (HD.1963) 2705 0 R (HD.1964) 2706 0 R (HD.1965) 2707 0 R (HD.1966) 2708 0 R (HD.1967) 2709 0 R (HD.1968) 2710 0 R (HD.1969) 2711 0 R (HD.197) 743 0 R (HD.1970) 2712 0 R (HD.1971) 2713 0 R (HD.1972) 2714 0 R (HD.1973) 2715 0 R (HD.1974) 2716 0 R (HD.1975) 2717 0 R (HD.1976) 2718 0 R (HD.1977) 2719 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
endobj
4418 0 obj
-<< /Names [ (HD.1862) 2664 0 R (HD.1863) 2665 0 R (HD.1864) 2666 0 R (HD.1865) 2667 0 R (HD.1866) 2668 0 R (HD.1867) 2669 0 R (HD.1868) 2670 0 R (HD.1869) 2671 0 R (HD.187) 814 0 R (HD.1870) 2672 0 R (HD.1871) 2673 0 R (HD.1872) 2674 0 R (HD.1873) 2675 0 R (HD.1874) 2676 0 R (HD.1875) 2677 0 R (HD.1876) 2678 0 R (HD.1877) 2679 0 R (HD.1878) 2680 0 R (HD.1879) 2681 0 R (HD.188) 815 0 R (HD.1880) 2682 0 R (HD.1881) 2683 0 R (HD.1882) 2684 0 R (HD.1883) 2685 0 R (HD.1884) 2686 0 R (HD.1885) 2687 0 R (HD.1886) 2688 0 R (HD.1887) 2689 0 R (HD.1888) 2690 0 R (HD.1889) 2691 0 R (HD.189) 816 0 R (HD.1890) 2692 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
+<< /Names [ (HD.1978) 2720 0 R (HD.1979) 2721 0 R (HD.198) 744 0 R (HD.1980) 2722 0 R (HD.1981) 2723 0 R (HD.1982) 2724 0 R (HD.1983) 2725 0 R (HD.1984) 2726 0 R (HD.1985) 2727 0 R (HD.1986) 2728 0 R (HD.1987) 2729 0 R (HD.1988) 2735 0 R (HD.1989) 2736 0 R (HD.199) 745 0 R (HD.1990) 2737 0 R (HD.1991) 2738 0 R (HD.1992) 2739 0 R (HD.1993) 2740 0 R (HD.1994) 2741 0 R (HD.1995) 2742 0 R (HD.1996) 2743 0 R (HD.1997) 2744 0 R (HD.1998) 2745 0 R (HD.1999) 2746 0 R (HD.2) 523 0 R (HD.20) 541 0 R (HD.200) 746 0 R (HD.2000) 2747 0 R (HD.2001) 2749 0 R (HD.2002) 2751 0 R (HD.2003) 2752 0 R (HD.2004) 2753 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
endobj
4419 0 obj
-<< /Names [ (HD.1891) 2693 0 R (HD.1892) 2694 0 R (HD.1893) 2695 0 R (HD.1894) 2696 0 R (HD.1895) 2697 0 R (HD.1896) 2698 0 R (HD.1897) 2699 0 R (HD.1898) 2700 0 R (HD.1899) 2701 0 R (HD.19) 625 0 R (HD.190) 817 0 R (HD.1900) 2702 0 R (HD.1901) 2703 0 R (HD.1902) 2704 0 R (HD.1903) 2705 0 R (HD.1904) 2706 0 R (HD.1905) 2707 0 R (HD.1906) 2709 0 R (HD.1907) 2710 0 R (HD.1908) 2716 0 R (HD.1909) 2717 0 R (HD.191) 818 0 R (HD.1910) 2719 0 R (HD.1911) 2720 0 R (HD.1912) 2721 0 R (HD.1913) 2722 0 R (HD.1914) 2723 0 R (HD.1915) 2724 0 R (HD.1916) 2725 0 R (HD.1917) 2726 0 R (HD.1918) 2727 0 R (HD.1919) 2728 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
+<< /Names [ (HD.2005) 2754 0 R (HD.2006) 2755 0 R (HD.2007) 2756 0 R (HD.2008) 2757 0 R (HD.2009) 2758 0 R (HD.201) 747 0 R (HD.2010) 2759 0 R (HD.2011) 2760 0 R (HD.2012) 2761 0 R (HD.2013) 2762 0 R (HD.2014) 2763 0 R (HD.2015) 2764 0 R (HD.2016) 2765 0 R (HD.2017) 2766 0 R (HD.2018) 2767 0 R (HD.2019) 2768 0 R (HD.202) 748 0 R (HD.2020) 2769 0 R (HD.2021) 2770 0 R (HD.2022) 2771 0 R (HD.2023) 2772 0 R (HD.2024) 2773 0 R (HD.2025) 2774 0 R (HD.2026) 2775 0 R (HD.2027) 2776 0 R (HD.2028) 2777 0 R (HD.2029) 2778 0 R (HD.203) 749 0 R (HD.2030) 2783 0 R (HD.2031) 2784 0 R (HD.2032) 2785 0 R (HD.2033) 2786 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
endobj
4420 0 obj
-<< /Names [ (HD.192) 819 0 R (HD.1920) 2729 0 R (HD.1921) 2730 0 R (HD.1922) 2731 0 R (HD.1923) 2732 0 R (HD.1924) 2733 0 R (HD.1925) 2734 0 R (HD.1926) 2735 0 R (HD.1927) 2736 0 R (HD.1928) 2737 0 R (HD.1929) 2738 0 R (HD.193) 820 0 R (HD.1930) 2739 0 R (HD.1931) 2740 0 R (HD.1932) 2741 0 R (HD.1933) 2742 0 R (HD.1934) 2743 0 R (HD.1935) 2744 0 R (HD.1936) 2745 0 R (HD.1937) 2746 0 R (HD.1938) 2747 0 R (HD.1939) 2748 0 R (HD.194) 821 0 R (HD.1940) 2749 0 R (HD.1941) 2750 0 R (HD.1942) 2751 0 R (HD.1943) 2752 0 R (HD.1944) 2753 0 R (HD.1945) 2754 0 R (HD.1946) 2755 0 R (HD.1947) 2756 0 R (HD.1948) 2763 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
+<< /Names [ (HD.2034) 2787 0 R (HD.2035) 2788 0 R (HD.2036) 2789 0 R (HD.2037) 2790 0 R (HD.2038) 2791 0 R (HD.2039) 2792 0 R (HD.204) 750 0 R (HD.2040) 2793 0 R (HD.2041) 2794 0 R (HD.2042) 2796 0 R (HD.2043) 2797 0 R (HD.2044) 2798 0 R (HD.2045) 2799 0 R (HD.2046) 2800 0 R (HD.2047) 2801 0 R (HD.2048) 2802 0 R (HD.2049) 2803 0 R (HD.205) 751 0 R (HD.2050) 2804 0 R (HD.2051) 2805 0 R (HD.2052) 2806 0 R (HD.2053) 2807 0 R (HD.2054) 2808 0 R (HD.2055) 2809 0 R (HD.2056) 2810 0 R (HD.2057) 2811 0 R (HD.2058) 2812 0 R (HD.2059) 2813 0 R (HD.206) 752 0 R (HD.2060) 2814 0 R (HD.2061) 2815 0 R (HD.2062) 2816 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
endobj
4421 0 obj
-<< /Names [ (HD.1949) 2765 0 R (HD.195) 822 0 R (HD.1950) 2766 0 R (HD.1951) 2767 0 R (HD.1952) 2768 0 R (HD.1953) 2769 0 R (HD.1954) 2770 0 R (HD.1955) 2771 0 R (HD.1956) 2772 0 R (HD.1957) 2773 0 R (HD.1958) 2774 0 R (HD.1959) 2775 0 R (HD.196) 823 0 R (HD.1960) 2776 0 R (HD.1961) 2777 0 R (HD.1962) 2778 0 R (HD.1963) 2779 0 R (HD.1964) 2780 0 R (HD.1965) 2781 0 R (HD.1966) 2782 0 R (HD.1967) 2783 0 R (HD.1968) 2784 0 R (HD.1969) 2785 0 R (HD.197) 828 0 R (HD.1970) 2786 0 R (HD.1971) 2787 0 R (HD.1972) 2788 0 R (HD.1973) 2789 0 R (HD.1974) 2790 0 R (HD.1975) 2791 0 R (HD.1976) 2792 0 R (HD.1977) 2793 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
+<< /Names [ (HD.2063) 2817 0 R (HD.2064) 2818 0 R (HD.2065) 2819 0 R (HD.2066) 2820 0 R (HD.2067) 2821 0 R (HD.2068) 2822 0 R (HD.2069) 2823 0 R (HD.207) 753 0 R (HD.2070) 2824 0 R (HD.2071) 2825 0 R (HD.2072) 2826 0 R (HD.2073) 2827 0 R (HD.2074) 2828 0 R (HD.2075) 2829 0 R (HD.2076) 2836 0 R (HD.2077) 2837 0 R (HD.2078) 2838 0 R (HD.2079) 2839 0 R (HD.208) 754 0 R (HD.2080) 2840 0 R (HD.2081) 2841 0 R (HD.2082) 2842 0 R (HD.2083) 2843 0 R (HD.2084) 2844 0 R (HD.2085) 2845 0 R (HD.2086) 2846 0 R (HD.2087) 2847 0 R (HD.2088) 2848 0 R (HD.2089) 2849 0 R (HD.209) 755 0 R (HD.2090) 2850 0 R (HD.2091) 2851 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
endobj
4422 0 obj
-<< /Names [ (HD.1978) 2794 0 R (HD.1979) 2795 0 R (HD.198) 829 0 R (HD.1980) 2796 0 R (HD.1981) 2797 0 R (HD.1982) 2798 0 R (HD.1983) 2799 0 R (HD.1984) 2800 0 R (HD.1985) 2801 0 R (HD.1986) 2802 0 R (HD.1987) 2803 0 R (HD.1988) 2804 0 R (HD.1989) 2811 0 R (HD.199) 830 0 R (HD.1990) 2812 0 R (HD.1991) 2813 0 R (HD.1992) 2814 0 R (HD.1993) 2815 0 R (HD.1994) 2816 0 R (HD.1995) 2817 0 R (HD.1996) 2818 0 R (HD.1997) 2819 0 R (HD.1998) 2820 0 R (HD.1999) 2821 0 R (HD.2) 608 0 R (HD.20) 626 0 R (HD.200) 831 0 R (HD.2000) 2822 0 R (HD.2001) 2823 0 R (HD.2002) 2824 0 R (HD.2003) 2825 0 R (HD.2004) 2826 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
+<< /Names [ (HD.2092) 2852 0 R (HD.2093) 2853 0 R (HD.2094) 2854 0 R (HD.2095) 2855 0 R (HD.2096) 2856 0 R (HD.2097) 2857 0 R (HD.2098) 2858 0 R (HD.2099) 2859 0 R (HD.21) 542 0 R (HD.210) 756 0 R (HD.2100) 2860 0 R (HD.2101) 2861 0 R (HD.2102) 2862 0 R (HD.2103) 2863 0 R (HD.2104) 2864 0 R (HD.2105) 2865 0 R (HD.2106) 2866 0 R (HD.2107) 2867 0 R (HD.2108) 2868 0 R (HD.2109) 2869 0 R (HD.211) 757 0 R (HD.2110) 2870 0 R (HD.2111) 2871 0 R (HD.2112) 2872 0 R (HD.2113) 2873 0 R (HD.2114) 2874 0 R (HD.2115) 2875 0 R (HD.2116) 2876 0 R (HD.2117) 2877 0 R (HD.2118) 2878 0 R (HD.2119) 2879 0 R (HD.212) 758 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
endobj
4423 0 obj
-<< /Names [ (HD.2005) 2827 0 R (HD.2006) 2828 0 R (HD.2007) 2829 0 R (HD.2008) 2830 0 R (HD.2009) 2831 0 R (HD.201) 832 0 R (HD.2010) 2832 0 R (HD.2011) 2833 0 R (HD.2012) 2834 0 R (HD.2013) 2835 0 R (HD.2014) 2836 0 R (HD.2015) 2837 0 R (HD.2016) 2838 0 R (HD.2017) 2839 0 R (HD.2018) 2840 0 R (HD.2019) 2841 0 R (HD.202) 833 0 R (HD.2020) 2842 0 R (HD.2021) 2843 0 R (HD.2022) 2844 0 R (HD.2023) 2845 0 R (HD.2024) 2846 0 R (HD.2025) 2847 0 R (HD.2026) 2848 0 R (HD.2027) 2849 0 R (HD.2028) 2850 0 R (HD.2029) 2851 0 R (HD.203) 834 0 R (HD.2030) 2852 0 R (HD.2031) 2853 0 R (HD.2032) 2854 0 R (HD.2033) 2855 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
+<< /Names [ (HD.2120) 2880 0 R (HD.2121) 2881 0 R (HD.2122) 2882 0 R (HD.2123) 2883 0 R (HD.2124) 2884 0 R (HD.2125) 2885 0 R (HD.2126) 2887 0 R (HD.2127) 2888 0 R (HD.2128) 2894 0 R (HD.2129) 2895 0 R (HD.213) 759 0 R (HD.2130) 2896 0 R (HD.2131) 2897 0 R (HD.2132) 2898 0 R (HD.2133) 2899 0 R (HD.2134) 2901 0 R (HD.2135) 2902 0 R (HD.2136) 2903 0 R (HD.2137) 2904 0 R (HD.2138) 2905 0 R (HD.2139) 2906 0 R (HD.214) 760 0 R (HD.2140) 2907 0 R (HD.2141) 2908 0 R (HD.2142) 2909 0 R (HD.2143) 2910 0 R (HD.2144) 2911 0 R (HD.2145) 2912 0 R (HD.2146) 2913 0 R (HD.2147) 2914 0 R (HD.2148) 2915 0 R (HD.2149) 2916 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
endobj
4424 0 obj
-<< /Names [ (HD.2034) 2856 0 R (HD.2035) 2857 0 R (HD.2036) 2858 0 R (HD.2037) 2859 0 R (HD.2038) 2860 0 R (HD.2039) 2861 0 R (HD.204) 835 0 R (HD.2040) 2866 0 R (HD.2041) 2867 0 R (HD.2042) 2868 0 R (HD.2043) 2869 0 R (HD.2044) 2870 0 R (HD.2045) 2871 0 R (HD.2046) 2872 0 R (HD.2047) 2873 0 R (HD.2048) 2874 0 R (HD.2049) 2875 0 R (HD.205) 836 0 R (HD.2050) 2876 0 R (HD.2051) 2877 0 R (HD.2052) 2878 0 R (HD.2053) 2879 0 R (HD.2054) 2880 0 R (HD.2055) 2881 0 R (HD.2056) 2882 0 R (HD.2057) 2883 0 R (HD.2058) 2884 0 R (HD.2059) 2885 0 R (HD.206) 837 0 R (HD.2060) 2886 0 R (HD.2061) 2887 0 R (HD.2062) 2888 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
+<< /Names [ (HD.215) 761 0 R (HD.2150) 2917 0 R (HD.2151) 2918 0 R (HD.2152) 2919 0 R (HD.2153) 2920 0 R (HD.2154) 2921 0 R (HD.2155) 2922 0 R (HD.2156) 2923 0 R (HD.2157) 2924 0 R (HD.2158) 2925 0 R (HD.2159) 2926 0 R (HD.216) 762 0 R (HD.2160) 2927 0 R (HD.2161) 2928 0 R (HD.2162) 2929 0 R (HD.2163) 2935 0 R (HD.2164) 2936 0 R (HD.2165) 2937 0 R (HD.2166) 2938 0 R (HD.2167) 2939 0 R (HD.2168) 2940 0 R (HD.2169) 2941 0 R (HD.217) 763 0 R (HD.2170) 2942 0 R (HD.2171) 2943 0 R (HD.2172) 2944 0 R (HD.2173) 2945 0 R (HD.2174) 2946 0 R (HD.2175) 2947 0 R (HD.2176) 2949 0 R (HD.2177) 2950 0 R (HD.2178) 2951 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
endobj
4425 0 obj
-<< /Names [ (HD.2063) 2889 0 R (HD.2064) 2890 0 R (HD.2065) 2891 0 R (HD.2066) 2892 0 R (HD.2067) 2893 0 R (HD.2068) 2894 0 R (HD.2069) 2895 0 R (HD.207) 838 0 R (HD.2070) 2896 0 R (HD.2071) 2897 0 R (HD.2072) 2898 0 R (HD.2073) 2900 0 R (HD.2074) 2901 0 R (HD.2075) 2903 0 R (HD.2076) 2904 0 R (HD.2077) 2905 0 R (HD.2078) 2906 0 R (HD.2079) 2907 0 R (HD.208) 839 0 R (HD.2080) 2908 0 R (HD.2081) 2914 0 R (HD.2082) 2915 0 R (HD.2083) 2916 0 R (HD.2084) 2917 0 R (HD.2085) 2918 0 R (HD.2086) 2919 0 R (HD.2087) 2920 0 R (HD.2088) 2921 0 R (HD.2089) 2922 0 R (HD.209) 840 0 R (HD.2090) 2923 0 R (HD.2091) 2924 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
+<< /Names [ (HD.2179) 2952 0 R (HD.218) 764 0 R (HD.2180) 2953 0 R (HD.2181) 2954 0 R (HD.2182) 2955 0 R (HD.2183) 2956 0 R (HD.2184) 2957 0 R (HD.2185) 2958 0 R (HD.2186) 2959 0 R (HD.2187) 2960 0 R (HD.2188) 2961 0 R (HD.2189) 2962 0 R (HD.219) 765 0 R (HD.2190) 2963 0 R (HD.2191) 2964 0 R (HD.2192) 2965 0 R (HD.2193) 2966 0 R (HD.2194) 2967 0 R (HD.2195) 2968 0 R (HD.2196) 2969 0 R (HD.2197) 2970 0 R (HD.2198) 2971 0 R (HD.2199) 2972 0 R (HD.22) 543 0 R (HD.220) 766 0 R (HD.2200) 2973 0 R (HD.2201) 2974 0 R (HD.2202) 2975 0 R (HD.2203) 2976 0 R (HD.2204) 2977 0 R (HD.2205) 2979 0 R (HD.2206) 2980 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
endobj
4426 0 obj
-<< /Names [ (HD.2092) 2925 0 R (HD.2093) 2926 0 R (HD.2094) 2927 0 R (HD.2095) 2928 0 R (HD.2096) 2929 0 R (HD.2097) 2930 0 R (HD.2098) 2931 0 R (HD.2099) 2932 0 R (HD.21) 627 0 R (HD.210) 841 0 R (HD.2100) 2933 0 R (HD.2101) 2934 0 R (HD.2102) 2935 0 R (HD.2103) 2936 0 R (HD.2104) 2937 0 R (HD.2105) 2938 0 R (HD.2106) 2939 0 R (HD.2107) 2940 0 R (HD.2108) 2941 0 R (HD.2109) 2942 0 R (HD.211) 842 0 R (HD.2110) 2944 0 R (HD.2111) 2945 0 R (HD.2112) 2946 0 R (HD.2113) 2947 0 R (HD.2114) 2948 0 R (HD.2115) 2949 0 R (HD.2116) 2950 0 R (HD.2117) 2951 0 R (HD.2118) 2952 0 R (HD.2119) 2953 0 R (HD.212) 843 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
+<< /Names [ (HD.2207) 2981 0 R (HD.2208) 2982 0 R (HD.2209) 2988 0 R (HD.221) 767 0 R (HD.2210) 2989 0 R (HD.2211) 2990 0 R (HD.2212) 2991 0 R (HD.2213) 2992 0 R (HD.2214) 2993 0 R (HD.2215) 2994 0 R (HD.2216) 2995 0 R (HD.2217) 2996 0 R (HD.2218) 2997 0 R (HD.2219) 2998 0 R (HD.222) 768 0 R (HD.2220) 2999 0 R (HD.2221) 3000 0 R (HD.2222) 3001 0 R (HD.2223) 3002 0 R (HD.2224) 3003 0 R (HD.2225) 3004 0 R (HD.2226) 3005 0 R (HD.2227) 3006 0 R (HD.2228) 3007 0 R (HD.2229) 3008 0 R (HD.223) 769 0 R (HD.2230) 3009 0 R (HD.2231) 3010 0 R (HD.2232) 3011 0 R (HD.2233) 3012 0 R (HD.2234) 3013 0 R (HD.2235) 3014 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
endobj
4427 0 obj
-<< /Names [ (HD.2120) 2954 0 R (HD.2121) 2959 0 R (HD.2122) 2960 0 R (HD.2123) 2962 0 R (HD.2124) 2963 0 R (HD.2125) 2964 0 R (HD.2126) 2965 0 R (HD.2127) 2966 0 R (HD.2128) 2967 0 R (HD.2129) 2968 0 R (HD.213) 844 0 R (HD.2130) 2969 0 R (HD.2131) 2970 0 R (HD.2132) 2971 0 R (HD.2133) 2972 0 R (HD.2134) 2973 0 R (HD.2135) 2974 0 R (HD.2136) 2975 0 R (HD.2137) 2976 0 R (HD.2138) 2977 0 R (HD.2139) 2978 0 R (HD.214) 845 0 R (HD.2140) 2979 0 R (HD.2141) 2980 0 R (HD.2142) 2981 0 R (HD.2143) 2982 0 R (HD.2144) 2983 0 R (HD.2145) 2984 0 R (HD.2146) 2985 0 R (HD.2147) 2986 0 R (HD.2148) 2987 0 R (HD.2149) 2988 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
+<< /Names [ (HD.2236) 3015 0 R (HD.2237) 3016 0 R (HD.2238) 3017 0 R (HD.2239) 3018 0 R (HD.224) 770 0 R (HD.2240) 3019 0 R (HD.2241) 3020 0 R (HD.2242) 3021 0 R (HD.2243) 3022 0 R (HD.2244) 3023 0 R (HD.2245) 3024 0 R (HD.2246) 3026 0 R (HD.2247) 3028 0 R (HD.2248) 3029 0 R (HD.2249) 3030 0 R (HD.225) 771 0 R (HD.2250) 3031 0 R (HD.2251) 3032 0 R (HD.2252) 3033 0 R (HD.2253) 3034 0 R (HD.2254) 3035 0 R (HD.2255) 3036 0 R (HD.2256) 3037 0 R (HD.2257) 3038 0 R (HD.2258) 3039 0 R (HD.2259) 3040 0 R (HD.226) 772 0 R (HD.2260) 3041 0 R (HD.2261) 3042 0 R (HD.2262) 3043 0 R (HD.2263) 3044 0 R (HD.2264) 3045 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
endobj
4428 0 obj
-<< /Names [ (HD.215) 846 0 R (HD.2150) 2989 0 R (HD.2151) 2990 0 R (HD.2152) 2992 0 R (HD.2153) 2993 0 R (HD.2154) 2994 0 R (HD.2155) 2995 0 R (HD.2156) 2996 0 R (HD.2157) 2997 0 R (HD.2158) 2998 0 R (HD.2159) 2999 0 R (HD.216) 847 0 R (HD.2160) 3000 0 R (HD.2161) 3001 0 R (HD.2162) 3002 0 R (HD.2163) 3003 0 R (HD.2164) 3004 0 R (HD.2165) 3005 0 R (HD.2166) 3006 0 R (HD.2167) 3007 0 R (HD.2168) 3008 0 R (HD.2169) 3009 0 R (HD.217) 848 0 R (HD.2170) 3010 0 R (HD.2171) 3011 0 R (HD.2172) 3012 0 R (HD.2173) 3018 0 R (HD.2174) 3019 0 R (HD.2175) 3020 0 R (HD.2176) 3021 0 R (HD.2177) 3022 0 R (HD.2178) 3023 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
+<< /Names [ (HD.2265) 3051 0 R (HD.2266) 3052 0 R (HD.2267) 3053 0 R (HD.2268) 3054 0 R (HD.2269) 3055 0 R (HD.227) 773 0 R (HD.2270) 3056 0 R (HD.2271) 3057 0 R (HD.2272) 3058 0 R (HD.2273) 3059 0 R (HD.2274) 3060 0 R (HD.2275) 3061 0 R (HD.2276) 3062 0 R (HD.2277) 3063 0 R (HD.2278) 3064 0 R (HD.2279) 3065 0 R (HD.228) 774 0 R (HD.2280) 3066 0 R (HD.2281) 3067 0 R (HD.2282) 3068 0 R (HD.2283) 3069 0 R (HD.2284) 3070 0 R (HD.2285) 3071 0 R (HD.2286) 3073 0 R (HD.2287) 3074 0 R (HD.2288) 3075 0 R (HD.2289) 3076 0 R (HD.229) 775 0 R (HD.2290) 3077 0 R (HD.2291) 3078 0 R (HD.2292) 3079 0 R (HD.2293) 3080 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
endobj
4429 0 obj
-<< /Names [ (HD.2179) 3024 0 R (HD.218) 849 0 R (HD.2180) 3025 0 R (HD.2181) 3026 0 R (HD.2182) 3027 0 R (HD.2183) 3028 0 R (HD.2184) 3029 0 R (HD.2185) 3030 0 R (HD.2186) 3031 0 R (HD.2187) 3032 0 R (HD.2188) 3033 0 R (HD.2189) 3034 0 R (HD.219) 850 0 R (HD.2190) 3035 0 R (HD.2191) 3036 0 R (HD.2192) 3037 0 R (HD.2193) 3039 0 R (HD.2194) 3041 0 R (HD.2195) 3042 0 R (HD.2196) 3043 0 R (HD.2197) 3044 0 R (HD.2198) 3045 0 R (HD.2199) 3046 0 R (HD.22) 628 0 R (HD.220) 851 0 R (HD.2200) 3047 0 R (HD.2201) 3048 0 R (HD.2202) 3049 0 R (HD.2203) 3050 0 R (HD.2204) 3051 0 R (HD.2205) 3052 0 R (HD.2206) 3053 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
+<< /Names [ (HD.2294) 3081 0 R (HD.2295) 3082 0 R (HD.2296) 3083 0 R (HD.2297) 3084 0 R (HD.2298) 3085 0 R (HD.2299) 3086 0 R (HD.23) 544 0 R (HD.230) 776 0 R (HD.2300) 3087 0 R (HD.2301) 3088 0 R (HD.2302) 3089 0 R (HD.2303) 3090 0 R (HD.2304) 3091 0 R (HD.2305) 3092 0 R (HD.2306) 3093 0 R (HD.2307) 3094 0 R (HD.2308) 3095 0 R (HD.2309) 3096 0 R (HD.231) 777 0 R (HD.2310) 3097 0 R (HD.2311) 3098 0 R (HD.2312) 3099 0 R (HD.2313) 3106 0 R (HD.2314) 3107 0 R (HD.2315) 3108 0 R (HD.2316) 3109 0 R (HD.2317) 3110 0 R (HD.2318) 3111 0 R (HD.2319) 3112 0 R (HD.232) 778 0 R (HD.2320) 3113 0 R (HD.2321) 3114 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
endobj
4430 0 obj
-<< /Names [ (HD.2207) 3054 0 R (HD.2208) 3055 0 R (HD.2209) 3056 0 R (HD.221) 852 0 R (HD.2210) 3057 0 R (HD.2211) 3058 0 R (HD.2212) 3059 0 R (HD.2213) 3060 0 R (HD.2214) 3061 0 R (HD.2215) 3062 0 R (HD.2216) 3063 0 R (HD.2217) 3064 0 R (HD.2218) 3065 0 R (HD.2219) 3066 0 R (HD.222) 853 0 R (HD.2220) 3067 0 R (HD.2221) 3068 0 R (HD.2222) 3069 0 R (HD.2223) 3074 0 R (HD.2224) 3075 0 R (HD.2225) 3076 0 R (HD.2226) 3077 0 R (HD.2227) 3078 0 R (HD.2228) 3079 0 R (HD.2229) 3080 0 R (HD.223) 854 0 R (HD.2230) 3081 0 R (HD.2231) 3082 0 R (HD.2232) 3083 0 R (HD.2233) 3084 0 R (HD.2234) 3085 0 R (HD.2235) 3086 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
+<< /Names [ (HD.2322) 3115 0 R (HD.2323) 3116 0 R (HD.2324) 3117 0 R (HD.2325) 3119 0 R (HD.2326) 3120 0 R (HD.2327) 3121 0 R (HD.2328) 3122 0 R (HD.2329) 3123 0 R (HD.233) 779 0 R (HD.2330) 3124 0 R (HD.2331) 3125 0 R (HD.2332) 3126 0 R (HD.2333) 3127 0 R (HD.2334) 3128 0 R (HD.2335) 3129 0 R (HD.2336) 3131 0 R (HD.2337) 3132 0 R (HD.2338) 3133 0 R (HD.2339) 3134 0 R (HD.234) 780 0 R (HD.2340) 3136 0 R (HD.2341) 3138 0 R (HD.2342) 3139 0 R (HD.2343) 3140 0 R (HD.2344) 3141 0 R (HD.2345) 3142 0 R (HD.2346) 3143 0 R (HD.2347) 3144 0 R (HD.2348) 3145 0 R (HD.2349) 3146 0 R (HD.235) 785 0 R (HD.2350) 3147 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
endobj
4431 0 obj
-<< /Names [ (HD.2236) 3087 0 R (HD.2237) 3088 0 R (HD.2238) 3089 0 R (HD.2239) 3090 0 R (HD.224) 855 0 R (HD.2240) 3091 0 R (HD.2241) 3092 0 R (HD.2242) 3093 0 R (HD.2243) 3094 0 R (HD.2244) 3095 0 R (HD.2245) 3096 0 R (HD.2246) 3097 0 R (HD.2247) 3098 0 R (HD.2248) 3099 0 R (HD.2249) 3100 0 R (HD.225) 856 0 R (HD.2250) 3101 0 R (HD.2251) 3102 0 R (HD.2252) 3103 0 R (HD.2253) 3104 0 R (HD.2254) 3105 0 R (HD.2255) 3106 0 R (HD.2256) 3107 0 R (HD.2257) 3108 0 R (HD.2258) 3109 0 R (HD.2259) 3110 0 R (HD.226) 857 0 R (HD.2260) 3111 0 R (HD.2261) 3112 0 R (HD.2262) 3113 0 R (HD.2263) 3114 0 R (HD.2264) 3115 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
+<< /Names [ (HD.2351) 3148 0 R (HD.2352) 3155 0 R (HD.2353) 3156 0 R (HD.2354) 3157 0 R (HD.2355) 3158 0 R (HD.2356) 3159 0 R (HD.2357) 3160 0 R (HD.2358) 3161 0 R (HD.2359) 3162 0 R (HD.236) 786 0 R (HD.2360) 3163 0 R (HD.2361) 3164 0 R (HD.2362) 3165 0 R (HD.2363) 3166 0 R (HD.2364) 3167 0 R (HD.2365) 3168 0 R (HD.2366) 3169 0 R (HD.2367) 3170 0 R (HD.2368) 3171 0 R (HD.2369) 3172 0 R (HD.237) 787 0 R (HD.2370) 3173 0 R (HD.2371) 3174 0 R (HD.2372) 3175 0 R (HD.2373) 3176 0 R (HD.2374) 3177 0 R (HD.2375) 3178 0 R (HD.2376) 3179 0 R (HD.2377) 3180 0 R (HD.2378) 3181 0 R (HD.2379) 3182 0 R (HD.238) 788 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
endobj
4432 0 obj
-<< /Names [ (HD.2265) 3116 0 R (HD.2266) 3117 0 R (HD.2267) 3118 0 R (HD.2268) 3119 0 R (HD.2269) 3120 0 R (HD.227) 858 0 R (HD.2270) 3127 0 R (HD.2271) 3128 0 R (HD.2272) 3130 0 R (HD.2273) 3131 0 R (HD.2274) 3132 0 R (HD.2275) 3133 0 R (HD.2276) 3134 0 R (HD.2277) 3135 0 R (HD.2278) 3136 0 R (HD.2279) 3137 0 R (HD.228) 859 0 R (HD.2280) 3138 0 R (HD.2281) 3139 0 R (HD.2282) 3140 0 R (HD.2283) 3142 0 R (HD.2284) 3143 0 R (HD.2285) 3144 0 R (HD.2286) 3145 0 R (HD.2287) 3147 0 R (HD.2288) 3149 0 R (HD.2289) 3150 0 R (HD.229) 860 0 R (HD.2290) 3151 0 R (HD.2291) 3152 0 R (HD.2292) 3153 0 R (HD.2293) 3154 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
+<< /Names [ (HD.2380) 3183 0 R (HD.2381) 3184 0 R (HD.2382) 3185 0 R (HD.2383) 3186 0 R (HD.2384) 3187 0 R (HD.2385) 3188 0 R (HD.2386) 3190 0 R (HD.2387) 3191 0 R (HD.2388) 3192 0 R (HD.2389) 3193 0 R (HD.239) 789 0 R (HD.2390) 3194 0 R (HD.2391) 3195 0 R (HD.2392) 3196 0 R (HD.2393) 3197 0 R (HD.2394) 3198 0 R (HD.2395) 3199 0 R (HD.2396) 3200 0 R (HD.2397) 3201 0 R (HD.2398) 3208 0 R (HD.2399) 3209 0 R (HD.24) 545 0 R (HD.240) 790 0 R (HD.2400) 3210 0 R (HD.2401) 3211 0 R (HD.2402) 3212 0 R (HD.2403) 3213 0 R (HD.2404) 3214 0 R (HD.2405) 3215 0 R (HD.2406) 3216 0 R (HD.2407) 3217 0 R (HD.2408) 3218 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
endobj
4433 0 obj
-<< /Names [ (HD.2294) 3155 0 R (HD.2295) 3156 0 R (HD.2296) 3157 0 R (HD.2297) 3158 0 R (HD.2298) 3159 0 R (HD.2299) 3166 0 R (HD.23) 629 0 R (HD.230) 861 0 R (HD.2300) 3167 0 R (HD.2301) 3168 0 R (HD.2302) 3169 0 R (HD.2303) 3170 0 R (HD.2304) 3171 0 R (HD.2305) 3172 0 R (HD.2306) 3173 0 R (HD.2307) 3174 0 R (HD.2308) 3175 0 R (HD.2309) 3176 0 R (HD.231) 862 0 R (HD.2310) 3177 0 R (HD.2311) 3178 0 R (HD.2312) 3179 0 R (HD.2313) 3180 0 R (HD.2314) 3181 0 R (HD.2315) 3182 0 R (HD.2316) 3183 0 R (HD.2317) 3184 0 R (HD.2318) 3185 0 R (HD.2319) 3186 0 R (HD.232) 863 0 R (HD.2320) 3187 0 R (HD.2321) 3188 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
+<< /Names [ (HD.2409) 3219 0 R (HD.241) 791 0 R (HD.2410) 3220 0 R (HD.2411) 3221 0 R (HD.2412) 3222 0 R (HD.2413) 3223 0 R (HD.2414) 3224 0 R (HD.2415) 3225 0 R (HD.2416) 3226 0 R (HD.2417) 3227 0 R (HD.2418) 3228 0 R (HD.2419) 3229 0 R (HD.242) 792 0 R (HD.2420) 3230 0 R (HD.2421) 3231 0 R (HD.2422) 3232 0 R (HD.2423) 3233 0 R (HD.2424) 3234 0 R (HD.2425) 3235 0 R (HD.2426) 3236 0 R (HD.2427) 3237 0 R (HD.2428) 3238 0 R (HD.2429) 3239 0 R (HD.243) 793 0 R (HD.2430) 3240 0 R (HD.2431) 3241 0 R (HD.2432) 3242 0 R (HD.2433) 3243 0 R (HD.2434) 3244 0 R (HD.2435) 3245 0 R (HD.2436) 3246 0 R (HD.2437) 3247 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
endobj
4434 0 obj
-<< /Names [ (HD.2322) 3189 0 R (HD.2323) 3190 0 R (HD.2324) 3191 0 R (HD.2325) 3192 0 R (HD.2326) 3193 0 R (HD.2327) 3194 0 R (HD.2328) 3195 0 R (HD.2329) 3196 0 R (HD.233) 864 0 R (HD.2330) 3197 0 R (HD.2331) 3198 0 R (HD.2332) 3199 0 R (HD.2333) 3200 0 R (HD.2334) 3201 0 R (HD.2335) 3202 0 R (HD.2336) 3203 0 R (HD.2337) 3204 0 R (HD.2338) 3205 0 R (HD.2339) 3206 0 R (HD.234) 865 0 R (HD.2340) 3207 0 R (HD.2341) 3208 0 R (HD.2342) 3209 0 R (HD.2343) 3210 0 R (HD.2344) 3211 0 R (HD.2345) 3219 0 R (HD.2346) 3220 0 R (HD.2347) 3221 0 R (HD.2348) 3222 0 R (HD.2349) 3223 0 R (HD.235) 870 0 R (HD.2350) 3224 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
+<< /Names [ (HD.2438) 3248 0 R (HD.2439) 3249 0 R (HD.244) 794 0 R (HD.2440) 3250 0 R (HD.2441) 3251 0 R (HD.2442) 3252 0 R (HD.2443) 3253 0 R (HD.2444) 3255 0 R (HD.2445) 3261 0 R (HD.2446) 3262 0 R (HD.2447) 3263 0 R (HD.2448) 3264 0 R (HD.2449) 3266 0 R (HD.245) 795 0 R (HD.2450) 3267 0 R (HD.2451) 3268 0 R (HD.2452) 3269 0 R (HD.2453) 3270 0 R (HD.2454) 3271 0 R (HD.2455) 3272 0 R (HD.2456) 3273 0 R (HD.2457) 3274 0 R (HD.2458) 3275 0 R (HD.2459) 3276 0 R (HD.246) 796 0 R (HD.2460) 3277 0 R (HD.2461) 3279 0 R (HD.2462) 3280 0 R (HD.2463) 3281 0 R (HD.2464) 3282 0 R (HD.2465) 3283 0 R (HD.2466) 3284 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
endobj
4435 0 obj
-<< /Names [ (HD.2351) 3225 0 R (HD.2352) 3226 0 R (HD.2353) 3227 0 R (HD.2354) 3228 0 R (HD.2355) 3229 0 R (HD.2356) 3230 0 R (HD.2357) 3231 0 R (HD.2358) 3232 0 R (HD.2359) 3233 0 R (HD.236) 871 0 R (HD.2360) 3234 0 R (HD.2361) 3235 0 R (HD.2362) 3236 0 R (HD.2363) 3237 0 R (HD.2364) 3238 0 R (HD.2365) 3239 0 R (HD.2366) 3240 0 R (HD.2367) 3241 0 R (HD.2368) 3242 0 R (HD.2369) 3243 0 R (HD.237) 872 0 R (HD.2370) 3244 0 R (HD.2371) 3245 0 R (HD.2372) 3246 0 R (HD.2373) 3247 0 R (HD.2374) 3248 0 R (HD.2375) 3249 0 R (HD.2376) 3250 0 R (HD.2377) 3251 0 R (HD.2378) 3252 0 R (HD.2379) 3253 0 R (HD.238) 873 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
+<< /Names [ (HD.2467) 3285 0 R (HD.2468) 3286 0 R (HD.2469) 3287 0 R (HD.247) 797 0 R (HD.2470) 3288 0 R (HD.2471) 3289 0 R (HD.2472) 3290 0 R (HD.2473) 3291 0 R (HD.2474) 3292 0 R (HD.2475) 3293 0 R (HD.2476) 3294 0 R (HD.2477) 3295 0 R (HD.2478) 3296 0 R (HD.2479) 3297 0 R (HD.248) 799 0 R (HD.2480) 3298 0 R (HD.2481) 3299 0 R (HD.2482) 3300 0 R (HD.2483) 3301 0 R (HD.2484) 3302 0 R (HD.2485) 3303 0 R (HD.2486) 3304 0 R (HD.2487) 3305 0 R (HD.2488) 3306 0 R (HD.2489) 3307 0 R (HD.249) 800 0 R (HD.2490) 3308 0 R (HD.2491) 3309 0 R (HD.2492) 3310 0 R (HD.2493) 3311 0 R (HD.2494) 3312 0 R (HD.2495) 3313 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
endobj
4436 0 obj
-<< /Names [ (HD.2380) 3254 0 R (HD.2381) 3255 0 R (HD.2382) 3256 0 R (HD.2383) 3257 0 R (HD.2384) 3258 0 R (HD.2385) 3259 0 R (HD.2386) 3260 0 R (HD.2387) 3261 0 R (HD.2388) 3262 0 R (HD.2389) 3263 0 R (HD.239) 874 0 R (HD.2390) 3264 0 R (HD.2391) 3266 0 R (HD.2392) 3272 0 R (HD.2393) 3273 0 R (HD.2394) 3274 0 R (HD.2395) 3275 0 R (HD.2396) 3277 0 R (HD.2397) 3278 0 R (HD.2398) 3279 0 R (HD.2399) 3280 0 R (HD.24) 630 0 R (HD.240) 875 0 R (HD.2400) 3281 0 R (HD.2401) 3282 0 R (HD.2402) 3283 0 R (HD.2403) 3284 0 R (HD.2404) 3285 0 R (HD.2405) 3286 0 R (HD.2406) 3287 0 R (HD.2407) 3288 0 R (HD.2408) 3290 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
+<< /Names [ (HD.2496) 3314 0 R (HD.2497) 3320 0 R (HD.2498) 3321 0 R (HD.2499) 3322 0 R (HD.25) 546 0 R (HD.250) 801 0 R (HD.2500) 3323 0 R (HD.2501) 3324 0 R (HD.2502) 3325 0 R (HD.2503) 3326 0 R (HD.2504) 3327 0 R (HD.2505) 3328 0 R (HD.2506) 3329 0 R (HD.2507) 3330 0 R (HD.2508) 3331 0 R (HD.2509) 3332 0 R (HD.251) 802 0 R (HD.2510) 3333 0 R (HD.2511) 3334 0 R (HD.2512) 3335 0 R (HD.2513) 3336 0 R (HD.2514) 3337 0 R (HD.2515) 3338 0 R (HD.2516) 3339 0 R (HD.2517) 3340 0 R (HD.2518) 3341 0 R (HD.2519) 3342 0 R (HD.252) 803 0 R (HD.2520) 3343 0 R (HD.2521) 3344 0 R (HD.2522) 3345 0 R (HD.2523) 3346 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
endobj
4437 0 obj
-<< /Names [ (HD.2409) 3291 0 R (HD.241) 876 0 R (HD.2410) 3292 0 R (HD.2411) 3293 0 R (HD.2412) 3294 0 R (HD.2413) 3295 0 R (HD.2414) 3296 0 R (HD.2415) 3297 0 R (HD.2416) 3298 0 R (HD.2417) 3299 0 R (HD.2418) 3300 0 R (HD.2419) 3301 0 R (HD.242) 877 0 R (HD.2420) 3302 0 R (HD.2421) 3303 0 R (HD.2422) 3304 0 R (HD.2423) 3305 0 R (HD.2424) 3306 0 R (HD.2425) 3307 0 R (HD.2426) 3308 0 R (HD.2427) 3309 0 R (HD.2428) 3310 0 R (HD.2429) 3311 0 R (HD.243) 878 0 R (HD.2430) 3312 0 R (HD.2431) 3313 0 R (HD.2432) 3314 0 R (HD.2433) 3315 0 R (HD.2434) 3316 0 R (HD.2435) 3317 0 R (HD.2436) 3318 0 R (HD.2437) 3319 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
+<< /Names [ (HD.2524) 3347 0 R (HD.2525) 3348 0 R (HD.2526) 3349 0 R (HD.2527) 3350 0 R (HD.2528) 3352 0 R (HD.2529) 3353 0 R (HD.253) 804 0 R (HD.2530) 3354 0 R (HD.2531) 3355 0 R (HD.2532) 3356 0 R (HD.2533) 3357 0 R (HD.2534) 3358 0 R (HD.2535) 3359 0 R (HD.2536) 3360 0 R (HD.2537) 3361 0 R (HD.2538) 3362 0 R (HD.2539) 3363 0 R (HD.254) 805 0 R (HD.2540) 3364 0 R (HD.2541) 3365 0 R (HD.2542) 3366 0 R (HD.2543) 3367 0 R (HD.2544) 3368 0 R (HD.2545) 3369 0 R (HD.2546) 3370 0 R (HD.2547) 3377 0 R (HD.2548) 3378 0 R (HD.2549) 3379 0 R (HD.255) 806 0 R (HD.2550) 3380 0 R (HD.2551) 3381 0 R (HD.2552) 3382 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
endobj
4438 0 obj
-<< /Names [ (HD.2438) 3320 0 R (HD.2439) 3321 0 R (HD.244) 879 0 R (HD.2440) 3322 0 R (HD.2441) 3323 0 R (HD.2442) 3324 0 R (HD.2443) 3325 0 R (HD.2444) 3331 0 R (HD.2445) 3332 0 R (HD.2446) 3333 0 R (HD.2447) 3334 0 R (HD.2448) 3335 0 R (HD.2449) 3336 0 R (HD.245) 880 0 R (HD.2450) 3337 0 R (HD.2451) 3338 0 R (HD.2452) 3339 0 R (HD.2453) 3340 0 R (HD.2454) 3341 0 R (HD.2455) 3342 0 R (HD.2456) 3343 0 R (HD.2457) 3344 0 R (HD.2458) 3345 0 R (HD.2459) 3346 0 R (HD.246) 881 0 R (HD.2460) 3347 0 R (HD.2461) 3348 0 R (HD.2462) 3349 0 R (HD.2463) 3350 0 R (HD.2464) 3351 0 R (HD.2465) 3352 0 R (HD.2466) 3353 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
+<< /Names [ (HD.2553) 3383 0 R (HD.2554) 3384 0 R (HD.2555) 3385 0 R (HD.2556) 3386 0 R (HD.2557) 3387 0 R (HD.2558) 3388 0 R (HD.2559) 3389 0 R (HD.256) 807 0 R (HD.2560) 3390 0 R (HD.2561) 3391 0 R (HD.2562) 3392 0 R (HD.2563) 3393 0 R (HD.2564) 3394 0 R (HD.2565) 3395 0 R (HD.2566) 3396 0 R (HD.2567) 3397 0 R (HD.2568) 3398 0 R (HD.2569) 3399 0 R (HD.257) 808 0 R (HD.2570) 3400 0 R (HD.2571) 3401 0 R (HD.2572) 3402 0 R (HD.2573) 3403 0 R (HD.2574) 3404 0 R (HD.2575) 3405 0 R (HD.2576) 3406 0 R (HD.2577) 3407 0 R (HD.2578) 3408 0 R (HD.2579) 3409 0 R (HD.258) 809 0 R (HD.2580) 3410 0 R (HD.2581) 3411 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
endobj
4439 0 obj
-<< /Names [ (HD.2467) 3354 0 R (HD.2468) 3355 0 R (HD.2469) 3356 0 R (HD.247) 882 0 R (HD.2470) 3357 0 R (HD.2471) 3358 0 R (HD.2472) 3359 0 R (HD.2473) 3360 0 R (HD.2474) 3361 0 R (HD.2475) 3362 0 R (HD.2476) 3363 0 R (HD.2477) 3364 0 R (HD.2478) 3365 0 R (HD.2479) 3366 0 R (HD.248) 883 0 R (HD.2480) 3367 0 R (HD.2481) 3368 0 R (HD.2482) 3369 0 R (HD.2483) 3370 0 R (HD.2484) 3371 0 R (HD.2485) 3372 0 R (HD.2486) 3373 0 R (HD.2487) 3374 0 R (HD.2488) 3375 0 R (HD.2489) 3376 0 R (HD.249) 884 0 R (HD.2490) 3377 0 R (HD.2491) 3378 0 R (HD.2492) 3379 0 R (HD.2493) 3380 0 R (HD.2494) 3387 0 R (HD.2495) 3388 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
+<< /Names [ (HD.2582) 3412 0 R (HD.2583) 3413 0 R (HD.2584) 3414 0 R (HD.2585) 3415 0 R (HD.2586) 3416 0 R (HD.2587) 3417 0 R (HD.2588) 3418 0 R (HD.2589) 3419 0 R (HD.259) 810 0 R (HD.2590) 3420 0 R (HD.2591) 3421 0 R (HD.2592) 3422 0 R (HD.2593) 3423 0 R (HD.2594) 3424 0 R (HD.2595) 3425 0 R (HD.2596) 3426 0 R (HD.2597) 3427 0 R (HD.2598) 3428 0 R (HD.2599) 3429 0 R (HD.26) 547 0 R (HD.260) 811 0 R (HD.2600) 3430 0 R (HD.2601) 3431 0 R (HD.2602) 3432 0 R (HD.2603) 3433 0 R (HD.2604) 3434 0 R (HD.2605) 3435 0 R (HD.2606) 3436 0 R (HD.2607) 3437 0 R (HD.2608) 3438 0 R (HD.2609) 3439 0 R (HD.261) 812 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
endobj
4440 0 obj
-<< /Names [ (HD.2496) 3389 0 R (HD.2497) 3390 0 R (HD.2498) 3391 0 R (HD.2499) 3392 0 R (HD.25) 631 0 R (HD.250) 885 0 R (HD.2500) 3393 0 R (HD.2501) 3394 0 R (HD.2502) 3395 0 R (HD.2503) 3396 0 R (HD.2504) 3397 0 R (HD.2505) 3398 0 R (HD.2506) 3399 0 R (HD.2507) 3400 0 R (HD.2508) 3401 0 R (HD.2509) 3402 0 R (HD.251) 886 0 R (HD.2510) 3403 0 R (HD.2511) 3404 0 R (HD.2512) 3405 0 R (HD.2513) 3406 0 R (HD.2514) 3407 0 R (HD.2515) 3408 0 R (HD.2516) 3409 0 R (HD.2517) 3410 0 R (HD.2518) 3411 0 R (HD.2519) 3412 0 R (HD.252) 887 0 R (HD.2520) 3413 0 R (HD.2521) 3414 0 R (HD.2522) 3415 0 R (HD.2523) 3416 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
+<< /Names [ (HD.2610) 3444 0 R (HD.2611) 3445 0 R (HD.2612) 3446 0 R (HD.2613) 3447 0 R (HD.2614) 3448 0 R (HD.2615) 3449 0 R (HD.2616) 3450 0 R (HD.2617) 3451 0 R (HD.2618) 3452 0 R (HD.2619) 3453 0 R (HD.262) 813 0 R (HD.2620) 3454 0 R (HD.2621) 3455 0 R (HD.2622) 3456 0 R (HD.2623) 3457 0 R (HD.2624) 3458 0 R (HD.2625) 3459 0 R (HD.2626) 3460 0 R (HD.2627) 3461 0 R (HD.2628) 3462 0 R (HD.2629) 3463 0 R (HD.263) 814 0 R (HD.2630) 3464 0 R (HD.2631) 3465 0 R (HD.2632) 3466 0 R (HD.2633) 3467 0 R (HD.2634) 3468 0 R (HD.2635) 3469 0 R (HD.2636) 3470 0 R (HD.2637) 3471 0 R (HD.2638) 3472 0 R (HD.2639) 3473 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
endobj
4441 0 obj
-<< /Names [ (HD.2524) 3417 0 R (HD.2525) 3418 0 R (HD.2526) 3419 0 R (HD.2527) 3420 0 R (HD.2528) 3421 0 R (HD.2529) 3422 0 R (HD.253) 888 0 R (HD.2530) 3423 0 R (HD.2531) 3424 0 R (HD.2532) 3425 0 R (HD.2533) 3426 0 R (HD.2534) 3427 0 R (HD.2535) 3428 0 R (HD.2536) 3429 0 R (HD.2537) 3430 0 R (HD.2538) 3431 0 R (HD.2539) 3432 0 R (HD.254) 889 0 R (HD.2540) 3433 0 R (HD.2541) 3434 0 R (HD.2542) 3435 0 R (HD.2543) 3436 0 R (HD.2544) 3437 0 R (HD.2545) 3438 0 R (HD.2546) 3439 0 R (HD.2547) 3440 0 R (HD.2548) 3441 0 R (HD.2549) 3442 0 R (HD.255) 890 0 R (HD.2550) 3443 0 R (HD.2551) 3444 0 R (HD.2552) 3445 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
+<< /Names [ (HD.264) 815 0 R (HD.2640) 3474 0 R (HD.2641) 3475 0 R (HD.2642) 3476 0 R (HD.2643) 3477 0 R (HD.2644) 3478 0 R (HD.2645) 3479 0 R (HD.2646) 3480 0 R (HD.2647) 3481 0 R (HD.2648) 3482 0 R (HD.2649) 3483 0 R (HD.265) 816 0 R (HD.2650) 3484 0 R (HD.2651) 3485 0 R (HD.2652) 3486 0 R (HD.2653) 3487 0 R (HD.2654) 3488 0 R (HD.2655) 3489 0 R (HD.2656) 3490 0 R (HD.2657) 3491 0 R (HD.2658) 3492 0 R (HD.2659) 3493 0 R (HD.266) 817 0 R (HD.2660) 3494 0 R (HD.2661) 3499 0 R (HD.2662) 3500 0 R (HD.2663) 3501 0 R (HD.2664) 3502 0 R (HD.2665) 3503 0 R (HD.2666) 3505 0 R (HD.2667) 3506 0 R (HD.2668) 3507 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
endobj
4442 0 obj
-<< /Names [ (HD.2553) 3446 0 R (HD.2554) 3447 0 R (HD.2555) 3448 0 R (HD.2556) 3449 0 R (HD.2557) 3454 0 R (HD.2558) 3455 0 R (HD.2559) 3456 0 R (HD.256) 891 0 R (HD.2560) 3457 0 R (HD.2561) 3458 0 R (HD.2562) 3459 0 R (HD.2563) 3460 0 R (HD.2564) 3461 0 R (HD.2565) 3462 0 R (HD.2566) 3463 0 R (HD.2567) 3464 0 R (HD.2568) 3465 0 R (HD.2569) 3466 0 R (HD.257) 892 0 R (HD.2570) 3467 0 R (HD.2571) 3468 0 R (HD.2572) 3469 0 R (HD.2573) 3470 0 R (HD.2574) 3471 0 R (HD.2575) 3472 0 R (HD.2576) 3473 0 R (HD.2577) 3474 0 R (HD.2578) 3475 0 R (HD.2579) 3476 0 R (HD.258) 893 0 R (HD.2580) 3477 0 R (HD.2581) 3478 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
+<< /Names [ (HD.2669) 3508 0 R (HD.267) 822 0 R (HD.2670) 3509 0 R (HD.2671) 3510 0 R (HD.2672) 3511 0 R (HD.2673) 3512 0 R (HD.2674) 3513 0 R (HD.2675) 3515 0 R (HD.2676) 3516 0 R (HD.2677) 3517 0 R (HD.2678) 3518 0 R (HD.2679) 3519 0 R (HD.268) 823 0 R (HD.2680) 3520 0 R (HD.2681) 3521 0 R (HD.2682) 3522 0 R (HD.2683) 3523 0 R (HD.2684) 3524 0 R (HD.2685) 3525 0 R (HD.2686) 3526 0 R (HD.2687) 3527 0 R (HD.2688) 3528 0 R (HD.2689) 3529 0 R (HD.269) 824 0 R (HD.2690) 3530 0 R (HD.2691) 3531 0 R (HD.2692) 3532 0 R (HD.2693) 3533 0 R (HD.2694) 3534 0 R (HD.2695) 3535 0 R (HD.2696) 3541 0 R (HD.2697) 3542 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
endobj
4443 0 obj
-<< /Names [ (HD.2582) 3479 0 R (HD.2583) 3480 0 R (HD.2584) 3481 0 R (HD.2585) 3482 0 R (HD.2586) 3483 0 R (HD.2587) 3484 0 R (HD.2588) 3485 0 R (HD.2589) 3486 0 R (HD.259) 894 0 R (HD.2590) 3487 0 R (HD.2591) 3488 0 R (HD.2592) 3489 0 R (HD.2593) 3490 0 R (HD.2594) 3491 0 R (HD.2595) 3492 0 R (HD.2596) 3493 0 R (HD.2597) 3494 0 R (HD.2598) 3495 0 R (HD.2599) 3496 0 R (HD.26) 632 0 R (HD.260) 895 0 R (HD.2600) 3497 0 R (HD.2601) 3498 0 R (HD.2602) 3499 0 R (HD.2603) 3500 0 R (HD.2604) 3501 0 R (HD.2605) 3502 0 R (HD.2606) 3503 0 R (HD.2607) 3504 0 R (HD.2608) 3509 0 R (HD.2609) 3510 0 R (HD.261) 896 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
+<< /Names [ (HD.2698) 3543 0 R (HD.2699) 3544 0 R (HD.27) 548 0 R (HD.270) 825 0 R (HD.2700) 3545 0 R (HD.2701) 3546 0 R (HD.2702) 3547 0 R (HD.2703) 3548 0 R (HD.2704) 3549 0 R (HD.2705) 3550 0 R (HD.2706) 3551 0 R (HD.2707) 3552 0 R (HD.2708) 3553 0 R (HD.2709) 3554 0 R (HD.271) 826 0 R (HD.2710) 3555 0 R (HD.2711) 3556 0 R (HD.2712) 3557 0 R (HD.2713) 3558 0 R (HD.2714) 3559 0 R (HD.2715) 3560 0 R (HD.2716) 3561 0 R (HD.2717) 3562 0 R (HD.2718) 3563 0 R (HD.2719) 3564 0 R (HD.272) 827 0 R (HD.2720) 3565 0 R (HD.2721) 3566 0 R (HD.2722) 3567 0 R (HD.2723) 3568 0 R (HD.2724) 3569 0 R (HD.2725) 3570 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
endobj
4444 0 obj
-<< /Names [ (HD.2610) 3511 0 R (HD.2611) 3512 0 R (HD.2612) 3513 0 R (HD.2613) 3514 0 R (HD.2614) 3515 0 R (HD.2615) 3516 0 R (HD.2616) 3517 0 R (HD.2617) 3518 0 R (HD.2618) 3519 0 R (HD.2619) 3520 0 R (HD.262) 897 0 R (HD.2620) 3521 0 R (HD.2621) 3522 0 R (HD.2622) 3523 0 R (HD.2623) 3524 0 R (HD.2624) 3525 0 R (HD.2625) 3526 0 R (HD.2626) 3527 0 R (HD.2627) 3528 0 R (HD.2628) 3529 0 R (HD.2629) 3530 0 R (HD.263) 898 0 R (HD.2630) 3531 0 R (HD.2631) 3532 0 R (HD.2632) 3533 0 R (HD.2633) 3534 0 R (HD.2634) 3535 0 R (HD.2635) 3536 0 R (HD.2636) 3537 0 R (HD.2637) 3538 0 R (HD.2638) 3539 0 R (HD.2639) 3540 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
+<< /Names [ (HD.2726) 3571 0 R (HD.2727) 3572 0 R (HD.2728) 3573 0 R (HD.2729) 3574 0 R (HD.273) 828 0 R (HD.2730) 3575 0 R (HD.2731) 3576 0 R (HD.2732) 3577 0 R (HD.2733) 3578 0 R (HD.2734) 3579 0 R (HD.2735) 3580 0 R (HD.2736) 3581 0 R (HD.2737) 3582 0 R (HD.2738) 3583 0 R (HD.2739) 3584 0 R (HD.274) 829 0 R (HD.2740) 3585 0 R (HD.2741) 3586 0 R (HD.2742) 3587 0 R (HD.2743) 3592 0 R (HD.2744) 3593 0 R (HD.2745) 3594 0 R (HD.2746) 3595 0 R (HD.2747) 3596 0 R (HD.2748) 3597 0 R (HD.2749) 3598 0 R (HD.275) 830 0 R (HD.2750) 3599 0 R (HD.2751) 3600 0 R (HD.2752) 3601 0 R (HD.2753) 3602 0 R (HD.2754) 3603 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
endobj
4445 0 obj
-<< /Names [ (HD.264) 899 0 R (HD.2640) 3541 0 R (HD.2641) 3542 0 R (HD.2642) 3543 0 R (HD.2643) 3548 0 R (HD.2644) 3549 0 R (HD.2645) 3550 0 R (HD.2646) 3551 0 R (HD.2647) 3552 0 R (HD.2648) 3553 0 R (HD.2649) 3554 0 R (HD.265) 900 0 R (HD.2650) 3555 0 R (HD.2651) 3556 0 R (HD.2652) 3557 0 R (HD.2653) 3558 0 R (HD.2654) 3559 0 R (HD.2655) 3560 0 R (HD.2656) 3561 0 R (HD.2657) 3562 0 R (HD.2658) 3563 0 R (HD.2659) 3564 0 R (HD.266) 901 0 R (HD.2660) 3565 0 R (HD.2661) 3566 0 R (HD.2662) 3567 0 R (HD.2663) 3568 0 R (HD.2664) 3569 0 R (HD.2665) 3570 0 R (HD.2666) 3571 0 R (HD.2667) 3572 0 R (HD.2668) 3573 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
+<< /Names [ (HD.2755) 3604 0 R (HD.2756) 3605 0 R (HD.2757) 3606 0 R (HD.2758) 3607 0 R (HD.2759) 3608 0 R (HD.276) 831 0 R (HD.2760) 3609 0 R (HD.2761) 3610 0 R (HD.2762) 3611 0 R (HD.2763) 3612 0 R (HD.2764) 3613 0 R (HD.2765) 3614 0 R (HD.2766) 3615 0 R (HD.2767) 3617 0 R (HD.2768) 3618 0 R (HD.2769) 3619 0 R (HD.277) 832 0 R (HD.2770) 3620 0 R (HD.2771) 3621 0 R (HD.2772) 3622 0 R (HD.2773) 3623 0 R (HD.2774) 3624 0 R (HD.2775) 3625 0 R (HD.2776) 3626 0 R (HD.2777) 3627 0 R (HD.2778) 3628 0 R (HD.2779) 3629 0 R (HD.278) 833 0 R (HD.2780) 3630 0 R (HD.2781) 3631 0 R (HD.2782) 3632 0 R (HD.2783) 3633 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
endobj
4446 0 obj
-<< /Names [ (HD.2669) 3574 0 R (HD.267) 906 0 R (HD.2670) 3575 0 R (HD.2671) 3576 0 R (HD.2672) 3577 0 R (HD.2673) 3578 0 R (HD.2674) 3579 0 R (HD.2675) 3580 0 R (HD.2676) 3581 0 R (HD.2677) 3582 0 R (HD.2678) 3583 0 R (HD.2679) 3584 0 R (HD.268) 907 0 R (HD.2680) 3585 0 R (HD.2681) 3586 0 R (HD.2682) 3587 0 R (HD.2683) 3588 0 R (HD.2684) 3589 0 R (HD.2685) 3590 0 R (HD.2686) 3591 0 R (HD.2687) 3592 0 R (HD.2688) 3593 0 R (HD.2689) 3594 0 R (HD.269) 908 0 R (HD.2690) 3599 0 R (HD.2691) 3600 0 R (HD.2692) 3601 0 R (HD.2693) 3602 0 R (HD.2694) 3603 0 R (HD.2695) 3604 0 R (HD.2696) 3605 0 R (HD.2697) 3606 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
+<< /Names [ (HD.2784) 3638 0 R (HD.2785) 3639 0 R (HD.2786) 3640 0 R (HD.2787) 3641 0 R (HD.2788) 3642 0 R (HD.2789) 3643 0 R (HD.279) 834 0 R (HD.2790) 3644 0 R (HD.2791) 3645 0 R (HD.2792) 3646 0 R (HD.2793) 3647 0 R (HD.2794) 3648 0 R (HD.2795) 3649 0 R (HD.2796) 3650 0 R (HD.2797) 3651 0 R (HD.2798) 3652 0 R (HD.2799) 3653 0 R (HD.28) 549 0 R (HD.280) 835 0 R (HD.2800) 3654 0 R (HD.2801) 3655 0 R (HD.2802) 3656 0 R (HD.2803) 3657 0 R (HD.2804) 3658 0 R (HD.2805) 3659 0 R (HD.2806) 3660 0 R (HD.2807) 3661 0 R (HD.2808) 3662 0 R (HD.2809) 3663 0 R (HD.281) 836 0 R (HD.2810) 3664 0 R (HD.2811) 3665 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
endobj
4447 0 obj
-<< /Names [ (HD.2698) 3607 0 R (HD.2699) 3608 0 R (HD.27) 633 0 R (HD.270) 909 0 R (HD.2700) 3609 0 R (HD.2701) 3610 0 R (HD.2702) 3611 0 R (HD.2703) 3612 0 R (HD.2704) 3613 0 R (HD.2705) 3614 0 R (HD.2706) 3615 0 R (HD.2707) 3616 0 R (HD.2708) 3617 0 R (HD.2709) 3618 0 R (HD.271) 910 0 R (HD.2710) 3619 0 R (HD.2711) 3620 0 R (HD.2712) 3621 0 R (HD.2713) 3622 0 R (HD.2714) 3623 0 R (HD.2715) 3624 0 R (HD.2716) 3625 0 R (HD.2717) 3626 0 R (HD.2718) 3627 0 R (HD.2719) 3628 0 R (HD.272) 911 0 R (HD.2720) 3629 0 R (HD.2721) 3630 0 R (HD.2722) 3631 0 R (HD.2723) 3632 0 R (HD.2724) 3633 0 R (HD.2725) 3634 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
+<< /Names [ (HD.2812) 3666 0 R (HD.2813) 3667 0 R (HD.2814) 3668 0 R (HD.2815) 3669 0 R (HD.2816) 3670 0 R (HD.2817) 3671 0 R (HD.2818) 3672 0 R (HD.2819) 3673 0 R (HD.282) 837 0 R (HD.2820) 3674 0 R (HD.2821) 3675 0 R (HD.2822) 3676 0 R (HD.2823) 3677 0 R (HD.2824) 3678 0 R (HD.2825) 3680 0 R (HD.2826) 3681 0 R (HD.2827) 3682 0 R (HD.2828) 3683 0 R (HD.2829) 3684 0 R (HD.283) 838 0 R (HD.2830) 3685 0 R (HD.2831) 3686 0 R (HD.2832) 3687 0 R (HD.2833) 3688 0 R (HD.2834) 3693 0 R (HD.2835) 3694 0 R (HD.2836) 3695 0 R (HD.2837) 3696 0 R (HD.2838) 3697 0 R (HD.2839) 3698 0 R (HD.284) 839 0 R (HD.2840) 3699 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
endobj
4448 0 obj
-<< /Names [ (HD.2726) 3635 0 R (HD.2727) 3636 0 R (HD.2728) 3637 0 R (HD.2729) 3638 0 R (HD.273) 912 0 R (HD.2730) 3639 0 R (HD.2731) 3644 0 R (HD.2732) 3645 0 R (HD.2733) 3646 0 R (HD.2734) 3647 0 R (HD.2735) 3648 0 R (HD.2736) 3649 0 R (HD.2737) 3650 0 R (HD.2738) 3651 0 R (HD.2739) 3652 0 R (HD.274) 913 0 R (HD.2740) 3653 0 R (HD.2741) 3654 0 R (HD.2742) 3655 0 R (HD.2743) 3656 0 R (HD.2744) 3657 0 R (HD.2745) 3658 0 R (HD.2746) 3659 0 R (HD.2747) 3660 0 R (HD.2748) 3661 0 R (HD.2749) 3662 0 R (HD.275) 914 0 R (HD.2750) 3663 0 R (HD.2751) 3664 0 R (HD.2752) 3665 0 R (HD.2753) 3666 0 R (HD.2754) 3667 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
+<< /Names [ (HD.2841) 3700 0 R (HD.2842) 3701 0 R (HD.2843) 3702 0 R (HD.2844) 3703 0 R (HD.2845) 3704 0 R (HD.2846) 3705 0 R (HD.2847) 3706 0 R (HD.2848) 3707 0 R (HD.2849) 3708 0 R (HD.285) 840 0 R (HD.2850) 3709 0 R (HD.2851) 3710 0 R (HD.2852) 3711 0 R (HD.2853) 3712 0 R (HD.2854) 3713 0 R (HD.2855) 3714 0 R (HD.2856) 3715 0 R (HD.2857) 3716 0 R (HD.2858) 3717 0 R (HD.2859) 3718 0 R (HD.286) 841 0 R (HD.2860) 3719 0 R (HD.2861) 3720 0 R (HD.2862) 3721 0 R (HD.2863) 3722 0 R (HD.2864) 3723 0 R (HD.2865) 3724 0 R (HD.2866) 3725 0 R (HD.2867) 3726 0 R (HD.2868) 3727 0 R (HD.2869) 3728 0 R (HD.287) 842 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
endobj
4449 0 obj
-<< /Names [ (HD.2755) 3668 0 R (HD.2756) 3669 0 R (HD.2757) 3670 0 R (HD.2758) 3671 0 R (HD.2759) 3672 0 R (HD.276) 915 0 R (HD.2760) 3673 0 R (HD.2761) 3674 0 R (HD.2762) 3675 0 R (HD.2763) 3676 0 R (HD.2764) 3677 0 R (HD.2765) 3678 0 R (HD.2766) 3679 0 R (HD.2767) 3680 0 R (HD.2768) 3681 0 R (HD.2769) 3682 0 R (HD.277) 916 0 R (HD.2770) 3683 0 R (HD.2771) 3684 0 R (HD.2772) 3685 0 R (HD.2773) 3686 0 R (HD.2774) 3687 0 R (HD.2775) 3688 0 R (HD.2776) 3689 0 R (HD.2777) 3690 0 R (HD.2778) 3691 0 R (HD.2779) 3692 0 R (HD.278) 917 0 R (HD.2780) 3693 0 R (HD.2781) 3698 0 R (HD.2782) 3699 0 R (HD.2783) 3700 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
+<< /Names [ (HD.2870) 3729 0 R (HD.2871) 3730 0 R (HD.2872) 3731 0 R (HD.2873) 3732 0 R (HD.2874) 3733 0 R (HD.2875) 3734 0 R (HD.2876) 3735 0 R (HD.2877) 3736 0 R (HD.2878) 3741 0 R (HD.2879) 3742 0 R (HD.288) 843 0 R (HD.2880) 3743 0 R (HD.2881) 3744 0 R (HD.2882) 3745 0 R (HD.2883) 3746 0 R (HD.2884) 3747 0 R (HD.2885) 3748 0 R (HD.2886) 3749 0 R (HD.2887) 3750 0 R (HD.2888) 3751 0 R (HD.2889) 3752 0 R (HD.289) 844 0 R (HD.2890) 3753 0 R (HD.2891) 3754 0 R (HD.2892) 3755 0 R (HD.2893) 3756 0 R (HD.2894) 3757 0 R (HD.2895) 3758 0 R (HD.2896) 3759 0 R (HD.2897) 3760 0 R (HD.2898) 3761 0 R (HD.2899) 3762 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
endobj
4450 0 obj
-<< /Names [ (HD.2784) 3701 0 R (HD.2785) 3702 0 R (HD.2786) 3703 0 R (HD.2787) 3704 0 R (HD.2788) 3705 0 R (HD.2789) 3706 0 R (HD.279) 918 0 R (HD.2790) 3707 0 R (HD.2791) 3708 0 R (HD.2792) 3709 0 R (HD.2793) 3710 0 R (HD.2794) 3711 0 R (HD.2795) 3712 0 R (HD.2796) 3713 0 R (HD.2797) 3714 0 R (HD.2798) 3715 0 R (HD.2799) 3716 0 R (HD.28) 634 0 R (HD.280) 919 0 R (HD.2800) 3717 0 R (HD.2801) 3718 0 R (HD.2802) 3719 0 R (HD.2803) 3720 0 R (HD.2804) 3721 0 R (HD.2805) 3722 0 R (HD.2806) 3723 0 R (HD.2807) 3724 0 R (HD.2808) 3725 0 R (HD.2809) 3726 0 R (HD.281) 920 0 R (HD.2810) 3727 0 R (HD.2811) 3728 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
+<< /Names [ (HD.29) 550 0 R (HD.290) 845 0 R (HD.2900) 3763 0 R (HD.2901) 3764 0 R (HD.2902) 3765 0 R (HD.2903) 3766 0 R (HD.2904) 3767 0 R (HD.2905) 3768 0 R (HD.2906) 3769 0 R (HD.2907) 3770 0 R (HD.2908) 3771 0 R (HD.2909) 3772 0 R (HD.291) 846 0 R (HD.2910) 3773 0 R (HD.2911) 3774 0 R (HD.2912) 3775 0 R (HD.2913) 3776 0 R (HD.2914) 3777 0 R (HD.2915) 3778 0 R (HD.2916) 3779 0 R (HD.2917) 3780 0 R (HD.2918) 3781 0 R (HD.2919) 3782 0 R (HD.292) 847 0 R (HD.2920) 3783 0 R (HD.2921) 3784 0 R (HD.2922) 3785 0 R (HD.2923) 3786 0 R (HD.2924) 3787 0 R (HD.2925) 3788 0 R (HD.2926) 3789 0 R (HD.2927) 3790 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
endobj
4451 0 obj
-<< /Names [ (HD.2812) 3729 0 R (HD.2813) 3730 0 R (HD.2814) 3731 0 R (HD.2815) 3732 0 R (HD.2816) 3733 0 R (HD.2817) 3734 0 R (HD.2818) 3735 0 R (HD.2819) 3736 0 R (HD.282) 921 0 R (HD.2820) 3737 0 R (HD.2821) 3738 0 R (HD.2822) 3739 0 R (HD.2823) 3740 0 R (HD.2824) 3741 0 R (HD.2825) 3747 0 R (HD.2826) 3748 0 R (HD.2827) 3749 0 R (HD.2828) 3750 0 R (HD.2829) 3751 0 R (HD.283) 922 0 R (HD.2830) 3752 0 R (HD.2831) 3753 0 R (HD.2832) 3754 0 R (HD.2833) 3755 0 R (HD.2834) 3756 0 R (HD.2835) 3757 0 R (HD.2836) 3758 0 R (HD.2837) 3759 0 R (HD.2838) 3760 0 R (HD.2839) 3761 0 R (HD.284) 923 0 R (HD.2840) 3762 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
+<< /Names [ (HD.2928) 3791 0 R (HD.2929) 3792 0 R (HD.293) 848 0 R (HD.2930) 3793 0 R (HD.2931) 3794 0 R (HD.2932) 3795 0 R (HD.2933) 3800 0 R (HD.2934) 3801 0 R (HD.2935) 3802 0 R (HD.2936) 3803 0 R (HD.2937) 3804 0 R (HD.2938) 3805 0 R (HD.2939) 3806 0 R (HD.294) 849 0 R (HD.2940) 3807 0 R (HD.2941) 3808 0 R (HD.2942) 3809 0 R (HD.2943) 3810 0 R (HD.2944) 3811 0 R (HD.2945) 3812 0 R (HD.2946) 3813 0 R (HD.2947) 3814 0 R (HD.2948) 3815 0 R (HD.2949) 3816 0 R (HD.295) 850 0 R (HD.2950) 3817 0 R (HD.2951) 3818 0 R (HD.2952) 3819 0 R (HD.2953) 3820 0 R (HD.2954) 3821 0 R (HD.2955) 3822 0 R (HD.2956) 3823 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
endobj
4452 0 obj
-<< /Names [ (HD.2841) 3763 0 R (HD.2842) 3764 0 R (HD.2843) 3765 0 R (HD.2844) 3766 0 R (HD.2845) 3767 0 R (HD.2846) 3768 0 R (HD.2847) 3769 0 R (HD.2848) 3770 0 R (HD.2849) 3771 0 R (HD.285) 924 0 R (HD.2850) 3772 0 R (HD.2851) 3773 0 R (HD.2852) 3774 0 R (HD.2853) 3775 0 R (HD.2854) 3776 0 R (HD.2855) 3777 0 R (HD.2856) 3778 0 R (HD.2857) 3779 0 R (HD.2858) 3780 0 R (HD.2859) 3781 0 R (HD.286) 925 0 R (HD.2860) 3782 0 R (HD.2861) 3783 0 R (HD.2862) 3784 0 R (HD.2863) 3785 0 R (HD.2864) 3786 0 R (HD.2865) 3787 0 R (HD.2866) 3788 0 R (HD.2867) 3789 0 R (HD.2868) 3790 0 R (HD.2869) 3791 0 R (HD.287) 926 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
+<< /Names [ (HD.2957) 3824 0 R (HD.2958) 3825 0 R (HD.2959) 3826 0 R (HD.296) 851 0 R (HD.2960) 3827 0 R (HD.2961) 3828 0 R (HD.2962) 3829 0 R (HD.2963) 3830 0 R (HD.2964) 3831 0 R (HD.2965) 3832 0 R (HD.2966) 3833 0 R (HD.2967) 3834 0 R (HD.2968) 3835 0 R (HD.2969) 3836 0 R (HD.297) 852 0 R (HD.2970) 3837 0 R (HD.2971) 3838 0 R (HD.2972) 3839 0 R (HD.2973) 3840 0 R (HD.2974) 3841 0 R (HD.2975) 3842 0 R (HD.2976) 3843 0 R (HD.2977) 3844 0 R (HD.2978) 3845 0 R (HD.2979) 3846 0 R (HD.298) 853 0 R (HD.2980) 3847 0 R (HD.2981) 3848 0 R (HD.2982) 3849 0 R (HD.2983) 3850 0 R (HD.2984) 3851 0 R (HD.2985) 3856 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
endobj
4453 0 obj
-<< /Names [ (HD.2870) 3792 0 R (HD.2871) 3793 0 R (HD.2872) 3794 0 R (HD.2873) 3795 0 R (HD.2874) 3796 0 R (HD.2875) 3797 0 R (HD.2876) 3798 0 R (HD.2877) 3799 0 R (HD.2878) 3800 0 R (HD.2879) 3801 0 R (HD.288) 927 0 R (HD.2880) 3806 0 R (HD.2881) 3807 0 R (HD.2882) 3808 0 R (HD.2883) 3809 0 R (HD.2884) 3810 0 R (HD.2885) 3811 0 R (HD.2886) 3812 0 R (HD.2887) 3813 0 R (HD.2888) 3814 0 R (HD.2889) 3815 0 R (HD.289) 928 0 R (HD.2890) 3816 0 R (HD.2891) 3817 0 R (HD.2892) 3818 0 R (HD.2893) 3819 0 R (HD.2894) 3820 0 R (HD.2895) 3821 0 R (HD.2896) 3822 0 R (HD.2897) 3823 0 R (HD.2898) 3824 0 R (HD.2899) 3825 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
+<< /Names [ (HD.2986) 3857 0 R (HD.2987) 3858 0 R (HD.2988) 3859 0 R (HD.2989) 3860 0 R (HD.299) 854 0 R (HD.2990) 3861 0 R (HD.2991) 3862 0 R (HD.2992) 3863 0 R (HD.2993) 3864 0 R (HD.2994) 3865 0 R (HD.2995) 3866 0 R (HD.2996) 3867 0 R (HD.2997) 3868 0 R (HD.2998) 3869 0 R (HD.2999) 3870 0 R (HD.3) 524 0 R (HD.30) 551 0 R (HD.300) 855 0 R (HD.3000) 3871 0 R (HD.3001) 3872 0 R (HD.3002) 3873 0 R (HD.3003) 3874 0 R (HD.3004) 3875 0 R (HD.3005) 3876 0 R (HD.3006) 3877 0 R (HD.3007) 3878 0 R (HD.3008) 3879 0 R (HD.3009) 3880 0 R (HD.301) 856 0 R (HD.3010) 3881 0 R (HD.3011) 3882 0 R (HD.3012) 3883 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
endobj
4454 0 obj
-<< /Names [ (HD.29) 635 0 R (HD.290) 929 0 R (HD.2900) 3826 0 R (HD.2901) 3827 0 R (HD.2902) 3828 0 R (HD.2903) 3829 0 R (HD.2904) 3830 0 R (HD.2905) 3831 0 R (HD.2906) 3832 0 R (HD.2907) 3833 0 R (HD.2908) 3834 0 R (HD.2909) 3835 0 R (HD.291) 930 0 R (HD.2910) 3836 0 R (HD.2911) 3837 0 R (HD.2912) 3838 0 R (HD.2913) 3839 0 R (HD.2914) 3840 0 R (HD.2915) 3841 0 R (HD.2916) 3842 0 R (HD.2917) 3843 0 R (HD.2918) 3844 0 R (HD.2919) 3845 0 R (HD.292) 931 0 R (HD.2920) 3846 0 R (HD.2921) 3847 0 R (HD.2922) 3848 0 R (HD.2923) 3849 0 R (HD.2924) 3850 0 R (HD.2925) 3851 0 R (HD.2926) 3852 0 R (HD.2927) 3853 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
+<< /Names [ (HD.3013) 3884 0 R (HD.3014) 3885 0 R (HD.3015) 3886 0 R (HD.3016) 3887 0 R (HD.3017) 3888 0 R (HD.3018) 3889 0 R (HD.3019) 3890 0 R (HD.302) 857 0 R (HD.3020) 3891 0 R (HD.3021) 3892 0 R (HD.3022) 3893 0 R (HD.3023) 3894 0 R (HD.3024) 3895 0 R (HD.3025) 3896 0 R (HD.3026) 3897 0 R (HD.3027) 3898 0 R (HD.3028) 3899 0 R (HD.3029) 3900 0 R (HD.303) 858 0 R (HD.3030) 3901 0 R (HD.3031) 3902 0 R (HD.3032) 3903 0 R (HD.3033) 3904 0 R (HD.3034) 3905 0 R (HD.3035) 3906 0 R (HD.3036) 3907 0 R (HD.3037) 3908 0 R (HD.3038) 3909 0 R (HD.3039) 3910 0 R (HD.304) 859 0 R (HD.3040) 3911 0 R (HD.3041) 3912 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
endobj
4455 0 obj
-<< /Names [ (HD.2928) 3854 0 R (HD.2929) 3855 0 R (HD.293) 932 0 R (HD.2930) 3856 0 R (HD.2931) 3857 0 R (HD.2932) 3858 0 R (HD.2933) 3863 0 R (HD.2934) 3864 0 R (HD.2935) 3865 0 R (HD.2936) 3866 0 R (HD.2937) 3867 0 R (HD.2938) 3868 0 R (HD.2939) 3869 0 R (HD.294) 933 0 R (HD.2940) 3870 0 R (HD.2941) 3871 0 R (HD.2942) 3872 0 R (HD.2943) 3873 0 R (HD.2944) 3874 0 R (HD.2945) 3875 0 R (HD.2946) 3876 0 R (HD.2947) 3877 0 R (HD.2948) 3878 0 R (HD.2949) 3879 0 R (HD.295) 934 0 R (HD.2950) 3880 0 R (HD.2951) 3881 0 R (HD.2952) 3882 0 R (HD.2953) 3883 0 R (HD.2954) 3884 0 R (HD.2955) 3885 0 R (HD.2956) 3886 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
+<< /Names [ (HD.3042) 3913 0 R (HD.3043) 3914 0 R (HD.3044) 3919 0 R (HD.3045) 3920 0 R (HD.3046) 3921 0 R (HD.3047) 3922 0 R (HD.3048) 3923 0 R (HD.3049) 3924 0 R (HD.305) 860 0 R (HD.3050) 3925 0 R (HD.3051) 3926 0 R (HD.3052) 3927 0 R (HD.3053) 3928 0 R (HD.3054) 3929 0 R (HD.3055) 3930 0 R (HD.3056) 3931 0 R (HD.3057) 3932 0 R (HD.3058) 3933 0 R (HD.3059) 3934 0 R (HD.306) 861 0 R (HD.3060) 3935 0 R (HD.3061) 3936 0 R (HD.3062) 3937 0 R (HD.3063) 3938 0 R (HD.3064) 3939 0 R (HD.3065) 3940 0 R (HD.3066) 3941 0 R (HD.3067) 3942 0 R (HD.3068) 3943 0 R (HD.3069) 3944 0 R (HD.307) 862 0 R (HD.3070) 3945 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
endobj
4456 0 obj
-<< /Names [ (HD.2957) 3887 0 R (HD.2958) 3888 0 R (HD.2959) 3889 0 R (HD.296) 935 0 R (HD.2960) 3890 0 R (HD.2961) 3891 0 R (HD.2962) 3892 0 R (HD.2963) 3893 0 R (HD.2964) 3894 0 R (HD.2965) 3895 0 R (HD.2966) 3896 0 R (HD.2967) 3897 0 R (HD.2968) 3898 0 R (HD.2969) 3899 0 R (HD.297) 936 0 R (HD.2970) 3900 0 R (HD.2971) 3901 0 R (HD.2972) 3902 0 R (HD.2973) 3903 0 R (HD.2974) 3904 0 R (HD.2975) 3905 0 R (HD.2976) 3906 0 R (HD.2977) 3907 0 R (HD.2978) 3908 0 R (HD.2979) 3909 0 R (HD.298) 937 0 R (HD.2980) 3910 0 R (HD.2981) 3911 0 R (HD.2982) 3912 0 R (HD.2983) 3913 0 R (HD.2984) 3914 0 R (HD.2985) 3915 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
+<< /Names [ (HD.3071) 3946 0 R (HD.3072) 3947 0 R (HD.3073) 3948 0 R (HD.3074) 3949 0 R (HD.3075) 3950 0 R (HD.3076) 3951 0 R (HD.3077) 3952 0 R (HD.3078) 3953 0 R (HD.3079) 3954 0 R (HD.308) 863 0 R (HD.3080) 3955 0 R (HD.3081) 3956 0 R (HD.3082) 3957 0 R (HD.3083) 3958 0 R (HD.3084) 3959 0 R (HD.3085) 3960 0 R (HD.3086) 3961 0 R (HD.3087) 3962 0 R (HD.3088) 3963 0 R (HD.3089) 3964 0 R (HD.309) 864 0 R (HD.3090) 3965 0 R (HD.3091) 3966 0 R (HD.3092) 3967 0 R (HD.3093) 3968 0 R (HD.3094) 3969 0 R (HD.3095) 3970 0 R (HD.3096) 3971 0 R (HD.3097) 3972 0 R (HD.3098) 3973 0 R (HD.3099) 3974 0 R (HD.31) 552 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
endobj
4457 0 obj
-<< /Names [ (HD.2986) 3916 0 R (HD.2987) 3917 0 R (HD.2988) 3918 0 R (HD.2989) 3919 0 R (HD.299) 938 0 R (HD.2990) 3920 0 R (HD.2991) 3921 0 R (HD.2992) 3926 0 R (HD.2993) 3927 0 R (HD.2994) 3928 0 R (HD.2995) 3929 0 R (HD.2996) 3930 0 R (HD.2997) 3931 0 R (HD.2998) 3932 0 R (HD.2999) 3933 0 R (HD.3) 609 0 R (HD.30) 636 0 R (HD.300) 939 0 R (HD.3000) 3934 0 R (HD.3001) 3935 0 R (HD.3002) 3936 0 R (HD.3003) 3937 0 R (HD.3004) 3938 0 R (HD.3005) 3939 0 R (HD.3006) 3940 0 R (HD.3007) 3941 0 R (HD.3008) 3942 0 R (HD.3009) 3943 0 R (HD.301) 940 0 R (HD.3010) 3944 0 R (HD.3011) 3945 0 R (HD.3012) 3946 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
+<< /Names [ (HD.310) 865 0 R (HD.3100) 3975 0 R (HD.3101) 3980 0 R (HD.3102) 3981 0 R (HD.3103) 3982 0 R (HD.3104) 3983 0 R (HD.3105) 3984 0 R (HD.3106) 3985 0 R (HD.3107) 3986 0 R (HD.3108) 3987 0 R (HD.3109) 3988 0 R (HD.311) 866 0 R (HD.3110) 3989 0 R (HD.3111) 3990 0 R (HD.3112) 3991 0 R (HD.3113) 3992 0 R (HD.3114) 3993 0 R (HD.3115) 3994 0 R (HD.3116) 3995 0 R (HD.3117) 3996 0 R (HD.3118) 3997 0 R (HD.3119) 3998 0 R (HD.312) 867 0 R (HD.3120) 3999 0 R (HD.3121) 4000 0 R (HD.3122) 4001 0 R (HD.3123) 4002 0 R (HD.3124) 4003 0 R (HD.3125) 4004 0 R (HD.3126) 4005 0 R (HD.3127) 4006 0 R (HD.3128) 4007 0 R ] /Limits [ (HD.310) (HD.3128) ] >>
endobj
4458 0 obj
-<< /Names [ (HD.3013) 3947 0 R (HD.3014) 3948 0 R (HD.3015) 3949 0 R (HD.3016) 3950 0 R (HD.3017) 3951 0 R (HD.3018) 3952 0 R (HD.3019) 3953 0 R (HD.302) 941 0 R (HD.3020) 3954 0 R (HD.3021) 3955 0 R (HD.3022) 3956 0 R (HD.3023) 3957 0 R (HD.3024) 3958 0 R (HD.3025) 3959 0 R (HD.3026) 3960 0 R (HD.3027) 3961 0 R (HD.3028) 3962 0 R (HD.3029) 3963 0 R (HD.303) 942 0 R (HD.3030) 3964 0 R (HD.3031) 3965 0 R (HD.3032) 3966 0 R (HD.3033) 3967 0 R (HD.3034) 3968 0 R (HD.3035) 3969 0 R (HD.3036) 3970 0 R (HD.3037) 3971 0 R (HD.3038) 3972 0 R (HD.3039) 3973 0 R (HD.304) 943 0 R (HD.3040) 3974 0 R (HD.3041) 3975 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
+<< /Names [ (HD.3129) 4008 0 R (HD.313) 868 0 R (HD.3130) 4009 0 R (HD.3131) 4010 0 R (HD.3132) 4011 0 R (HD.3133) 4012 0 R (HD.3134) 4013 0 R (HD.3135) 4014 0 R (HD.3136) 4015 0 R (HD.3137) 4016 0 R (HD.3138) 4017 0 R (HD.3139) 4018 0 R (HD.314) 869 0 R (HD.3140) 4019 0 R (HD.3141) 4020 0 R (HD.3142) 4021 0 R (HD.3143) 4022 0 R (HD.3144) 4023 0 R (HD.3145) 4024 0 R (HD.3146) 4025 0 R (HD.3147) 4026 0 R (HD.3148) 4027 0 R (HD.3149) 4028 0 R (HD.315) 870 0 R (HD.3150) 4029 0 R (HD.3151) 4030 0 R (HD.3152) 4031 0 R (HD.3153) 4032 0 R (HD.3154) 4033 0 R (HD.3155) 4034 0 R (HD.3156) 4035 0 R (HD.3157) 4036 0 R ] /Limits [ (HD.3129) (HD.3157) ] >>
endobj
4459 0 obj
-<< /Names [ (HD.3042) 3976 0 R (HD.3043) 3977 0 R (HD.3044) 3978 0 R (HD.3045) 3979 0 R (HD.3046) 3980 0 R (HD.3047) 3981 0 R (HD.3048) 3982 0 R (HD.3049) 3983 0 R (HD.305) 944 0 R (HD.3050) 3984 0 R (HD.3051) 3985 0 R (HD.3052) 3990 0 R (HD.3053) 3991 0 R (HD.3054) 3992 0 R (HD.3055) 3993 0 R (HD.3056) 3994 0 R (HD.3057) 3995 0 R (HD.3058) 3996 0 R (HD.3059) 3997 0 R (HD.306) 945 0 R (HD.3060) 3998 0 R (HD.3061) 3999 0 R (HD.3062) 4000 0 R (HD.3063) 4001 0 R (HD.3064) 4002 0 R (HD.3065) 4003 0 R (HD.3066) 4004 0 R (HD.3067) 4005 0 R (HD.3068) 4006 0 R (HD.3069) 4007 0 R (HD.307) 946 0 R (HD.3070) 4008 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
+<< /Names [ (HD.3158) 4037 0 R (HD.3159) 4038 0 R (HD.316) 871 0 R (HD.3160) 4043 0 R (HD.3161) 4044 0 R (HD.3162) 4045 0 R (HD.3163) 4046 0 R (HD.3164) 4047 0 R (HD.3165) 4048 0 R (HD.317) 872 0 R (HD.318) 873 0 R (HD.319) 874 0 R (HD.32) 553 0 R (HD.320) 875 0 R (HD.321) 882 0 R (HD.322) 883 0 R (HD.323) 884 0 R (HD.324) 885 0 R (HD.325) 886 0 R (HD.326) 887 0 R (HD.327) 888 0 R (HD.328) 889 0 R (HD.329) 890 0 R (HD.33) 554 0 R (HD.330) 891 0 R (HD.331) 892 0 R (HD.332) 893 0 R (HD.333) 894 0 R (HD.334) 895 0 R (HD.335) 896 0 R (HD.336) 897 0 R (HD.337) 898 0 R ] /Limits [ (HD.3158) (HD.337) ] >>
endobj
4460 0 obj
-<< /Names [ (HD.3071) 4009 0 R (HD.3072) 4010 0 R (HD.3073) 4011 0 R (HD.3074) 4012 0 R (HD.3075) 4013 0 R (HD.3076) 4014 0 R (HD.3077) 4015 0 R (HD.3078) 4016 0 R (HD.3079) 4017 0 R (HD.308) 947 0 R (HD.3080) 4018 0 R (HD.3081) 4019 0 R (HD.3082) 4020 0 R (HD.3083) 4021 0 R (HD.3084) 4022 0 R (HD.3085) 4023 0 R (HD.3086) 4024 0 R (HD.3087) 4025 0 R (HD.3088) 4026 0 R (HD.3089) 4027 0 R (HD.309) 948 0 R (HD.3090) 4028 0 R (HD.3091) 4029 0 R (HD.3092) 4030 0 R (HD.3093) 4031 0 R (HD.3094) 4032 0 R (HD.3095) 4033 0 R (HD.3096) 4034 0 R (HD.3097) 4035 0 R (HD.3098) 4036 0 R (HD.3099) 4037 0 R (HD.31) 637 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
+<< /Names [ (HD.338) 899 0 R (HD.339) 900 0 R (HD.34) 555 0 R (HD.340) 901 0 R (HD.341) 902 0 R (HD.342) 903 0 R (HD.343) 904 0 R (HD.344) 905 0 R (HD.345) 906 0 R (HD.346) 907 0 R (HD.347) 908 0 R (HD.348) 909 0 R (HD.349) 910 0 R (HD.35) 556 0 R (HD.350) 911 0 R (HD.351) 912 0 R (HD.352) 913 0 R (HD.353) 920 0 R (HD.354) 921 0 R (HD.355) 922 0 R (HD.356) 923 0 R (HD.357) 924 0 R (HD.358) 925 0 R (HD.359) 926 0 R (HD.36) 557 0 R (HD.360) 927 0 R (HD.361) 928 0 R (HD.362) 929 0 R (HD.363) 930 0 R (HD.364) 931 0 R (HD.365) 932 0 R (HD.366) 933 0 R ] /Limits [ (HD.338) (HD.366) ] >>
endobj
4461 0 obj
-<< /Names [ (HD.310) 949 0 R (HD.3100) 4038 0 R (HD.3101) 4039 0 R (HD.3102) 4040 0 R (HD.3103) 4041 0 R (HD.3104) 4042 0 R (HD.3105) 4043 0 R (HD.3106) 4044 0 R (HD.3107) 4045 0 R (HD.3108) 4046 0 R (HD.3109) 4051 0 R (HD.311) 950 0 R (HD.3110) 4052 0 R (HD.3111) 4053 0 R (HD.3112) 4054 0 R (HD.3113) 4055 0 R (HD.3114) 4056 0 R (HD.3115) 4057 0 R (HD.3116) 4058 0 R (HD.3117) 4059 0 R (HD.3118) 4060 0 R (HD.312) 951 0 R (HD.313) 952 0 R (HD.314) 953 0 R (HD.315) 954 0 R (HD.316) 955 0 R (HD.317) 956 0 R (HD.318) 957 0 R (HD.319) 958 0 R (HD.32) 638 0 R (HD.320) 959 0 R (HD.321) 966 0 R ] /Limits [ (HD.310) (HD.321) ] >>
+<< /Names [ (HD.367) 934 0 R (HD.368) 935 0 R (HD.369) 936 0 R (HD.37) 562 0 R (HD.370) 937 0 R (HD.371) 938 0 R (HD.372) 939 0 R (HD.373) 940 0 R (HD.374) 941 0 R (HD.375) 942 0 R (HD.376) 943 0 R (HD.377) 944 0 R (HD.378) 945 0 R (HD.379) 946 0 R (HD.38) 563 0 R (HD.380) 947 0 R (HD.381) 948 0 R (HD.382) 949 0 R (HD.383) 950 0 R (HD.384) 951 0 R (HD.385) 952 0 R (HD.386) 953 0 R (HD.387) 954 0 R (HD.388) 955 0 R (HD.389) 956 0 R (HD.39) 564 0 R (HD.390) 957 0 R (HD.391) 958 0 R (HD.392) 959 0 R (HD.393) 960 0 R (HD.394) 961 0 R (HD.395) 962 0 R ] /Limits [ (HD.367) (HD.395) ] >>
endobj
4462 0 obj
-<< /Names [ (HD.322) 967 0 R (HD.323) 968 0 R (HD.324) 969 0 R (HD.325) 970 0 R (HD.326) 971 0 R (HD.327) 972 0 R (HD.328) 973 0 R (HD.329) 974 0 R (HD.33) 639 0 R (HD.330) 975 0 R (HD.331) 976 0 R (HD.332) 977 0 R (HD.333) 978 0 R (HD.334) 979 0 R (HD.335) 980 0 R (HD.336) 981 0 R (HD.337) 982 0 R (HD.338) 983 0 R (HD.339) 984 0 R (HD.34) 640 0 R (HD.340) 985 0 R (HD.341) 986 0 R (HD.342) 987 0 R (HD.343) 988 0 R (HD.344) 989 0 R (HD.345) 990 0 R (HD.346) 991 0 R (HD.347) 992 0 R (HD.348) 993 0 R (HD.349) 994 0 R (HD.35) 641 0 R (HD.350) 995 0 R ] /Limits [ (HD.322) (HD.350) ] >>
+<< /Names [ (HD.396) 963 0 R (HD.397) 964 0 R (HD.398) 965 0 R (HD.399) 966 0 R (HD.4) 525 0 R (HD.40) 565 0 R (HD.400) 967 0 R (HD.401) 968 0 R (HD.402) 969 0 R (HD.403) 970 0 R (HD.404) 971 0 R (HD.405) 977 0 R (HD.406) 978 0 R (HD.407) 979 0 R (HD.408) 980 0 R (HD.409) 981 0 R (HD.41) 566 0 R (HD.410) 982 0 R (HD.411) 983 0 R (HD.412) 984 0 R (HD.413) 985 0 R (HD.414) 986 0 R (HD.415) 987 0 R (HD.416) 988 0 R (HD.417) 989 0 R (HD.418) 990 0 R (HD.419) 991 0 R (HD.42) 567 0 R (HD.420) 992 0 R (HD.421) 993 0 R (HD.422) 994 0 R (HD.423) 995 0 R ] /Limits [ (HD.396) (HD.423) ] >>
endobj
4463 0 obj
-<< /Names [ (HD.351) 996 0 R (HD.352) 997 0 R (HD.353) 1003 0 R (HD.354) 1004 0 R (HD.355) 1005 0 R (HD.356) 1006 0 R (HD.357) 1007 0 R (HD.358) 1008 0 R (HD.359) 1009 0 R (HD.36) 642 0 R (HD.360) 1010 0 R (HD.361) 1011 0 R (HD.362) 1012 0 R (HD.363) 1013 0 R (HD.364) 1014 0 R (HD.365) 1015 0 R (HD.366) 1016 0 R (HD.367) 1017 0 R (HD.368) 1018 0 R (HD.369) 1019 0 R (HD.37) 647 0 R (HD.370) 1020 0 R (HD.371) 1021 0 R (HD.372) 1022 0 R (HD.373) 1023 0 R (HD.374) 1024 0 R (HD.375) 1025 0 R (HD.376) 1026 0 R (HD.377) 1027 0 R (HD.378) 1028 0 R (HD.379) 1029 0 R (HD.38) 648 0 R ] /Limits [ (HD.351) (HD.38) ] >>
+<< /Names [ (HD.424) 996 0 R (HD.425) 997 0 R (HD.426) 998 0 R (HD.427) 999 0 R (HD.428) 1000 0 R (HD.429) 1001 0 R (HD.43) 568 0 R (HD.430) 1002 0 R (HD.431) 1003 0 R (HD.432) 1004 0 R (HD.433) 1005 0 R (HD.434) 1006 0 R (HD.435) 1007 0 R (HD.436) 1008 0 R (HD.437) 1009 0 R (HD.438) 1010 0 R (HD.439) 1011 0 R (HD.44) 569 0 R (HD.440) 1012 0 R (HD.441) 1013 0 R (HD.442) 1014 0 R (HD.443) 1015 0 R (HD.444) 1016 0 R (HD.445) 1017 0 R (HD.446) 1018 0 R (HD.447) 1019 0 R (HD.448) 1020 0 R (HD.449) 1021 0 R (HD.45) 570 0 R (HD.450) 1022 0 R (HD.451) 1023 0 R (HD.452) 1024 0 R ] /Limits [ (HD.424) (HD.452) ] >>
endobj
4464 0 obj
-<< /Names [ (HD.380) 1030 0 R (HD.381) 1031 0 R (HD.382) 1032 0 R (HD.383) 1033 0 R (HD.384) 1034 0 R (HD.385) 1035 0 R (HD.386) 1036 0 R (HD.387) 1037 0 R (HD.388) 1038 0 R (HD.389) 1039 0 R (HD.39) 649 0 R (HD.390) 1040 0 R (HD.391) 1041 0 R (HD.392) 1042 0 R (HD.393) 1043 0 R (HD.394) 1044 0 R (HD.395) 1045 0 R (HD.396) 1046 0 R (HD.397) 1047 0 R (HD.398) 1048 0 R (HD.399) 1049 0 R (HD.4) 610 0 R (HD.40) 650 0 R (HD.400) 1050 0 R (HD.401) 1051 0 R (HD.402) 1052 0 R (HD.403) 1053 0 R (HD.404) 1054 0 R (HD.405) 1059 0 R (HD.406) 1060 0 R (HD.407) 1061 0 R (HD.408) 1062 0 R ] /Limits [ (HD.380) (HD.408) ] >>
+<< /Names [ (HD.453) 1025 0 R (HD.454) 1026 0 R (HD.455) 1027 0 R (HD.456) 1028 0 R (HD.457) 1029 0 R (HD.458) 1030 0 R (HD.459) 1031 0 R (HD.46) 571 0 R (HD.460) 1032 0 R (HD.461) 1033 0 R (HD.462) 1034 0 R (HD.463) 1035 0 R (HD.464) 1040 0 R (HD.465) 1041 0 R (HD.466) 1042 0 R (HD.467) 1043 0 R (HD.468) 1044 0 R (HD.469) 1045 0 R (HD.47) 572 0 R (HD.470) 1046 0 R (HD.471) 1047 0 R (HD.472) 1048 0 R (HD.473) 1049 0 R (HD.474) 1050 0 R (HD.475) 1051 0 R (HD.476) 1052 0 R (HD.477) 1053 0 R (HD.478) 1054 0 R (HD.479) 1055 0 R (HD.48) 573 0 R (HD.480) 1056 0 R (HD.481) 1057 0 R ] /Limits [ (HD.453) (HD.481) ] >>
endobj
4465 0 obj
-<< /Names [ (HD.409) 1063 0 R (HD.41) 651 0 R (HD.410) 1064 0 R (HD.411) 1065 0 R (HD.412) 1066 0 R (HD.413) 1067 0 R (HD.414) 1068 0 R (HD.415) 1069 0 R (HD.416) 1070 0 R (HD.417) 1071 0 R (HD.418) 1072 0 R (HD.419) 1073 0 R (HD.42) 652 0 R (HD.420) 1074 0 R (HD.421) 1075 0 R (HD.422) 1076 0 R (HD.423) 1077 0 R (HD.424) 1078 0 R (HD.425) 1079 0 R (HD.426) 1080 0 R (HD.427) 1081 0 R (HD.428) 1082 0 R (HD.429) 1083 0 R (HD.43) 653 0 R (HD.430) 1084 0 R (HD.431) 1085 0 R (HD.432) 1086 0 R (HD.433) 1087 0 R (HD.434) 1088 0 R (HD.435) 1089 0 R (HD.436) 1090 0 R (HD.437) 1091 0 R ] /Limits [ (HD.409) (HD.437) ] >>
+<< /Names [ (HD.482) 1058 0 R (HD.483) 1059 0 R (HD.484) 1060 0 R (HD.485) 1061 0 R (HD.486) 1062 0 R (HD.487) 1063 0 R (HD.488) 1064 0 R (HD.489) 1065 0 R (HD.49) 574 0 R (HD.490) 1066 0 R (HD.491) 1067 0 R (HD.492) 1068 0 R (HD.493) 1069 0 R (HD.494) 1070 0 R (HD.495) 1071 0 R (HD.496) 1072 0 R (HD.497) 1073 0 R (HD.498) 1074 0 R (HD.499) 1075 0 R (HD.5) 526 0 R (HD.50) 575 0 R (HD.500) 1076 0 R (HD.501) 1077 0 R (HD.502) 1078 0 R (HD.503) 1079 0 R (HD.504) 1080 0 R (HD.505) 1081 0 R (HD.506) 1082 0 R (HD.507) 1083 0 R (HD.508) 1084 0 R (HD.509) 1085 0 R (HD.51) 576 0 R ] /Limits [ (HD.482) (HD.51) ] >>
endobj
4466 0 obj
-<< /Names [ (HD.438) 1092 0 R (HD.439) 1093 0 R (HD.44) 654 0 R (HD.440) 1094 0 R (HD.441) 1095 0 R (HD.442) 1096 0 R (HD.443) 1097 0 R (HD.444) 1098 0 R (HD.445) 1099 0 R (HD.446) 1100 0 R (HD.447) 1101 0 R (HD.448) 1102 0 R (HD.449) 1103 0 R (HD.45) 655 0 R (HD.450) 1104 0 R (HD.451) 1105 0 R (HD.452) 1106 0 R (HD.453) 1107 0 R (HD.454) 1108 0 R (HD.455) 1109 0 R (HD.456) 1110 0 R (HD.457) 1111 0 R (HD.458) 1112 0 R (HD.459) 1113 0 R (HD.46) 656 0 R (HD.460) 1114 0 R (HD.461) 1115 0 R (HD.462) 1116 0 R (HD.463) 1117 0 R (HD.464) 1122 0 R (HD.465) 1123 0 R (HD.466) 1124 0 R ] /Limits [ (HD.438) (HD.466) ] >>
+<< /Names [ (HD.510) 1086 0 R (HD.511) 1087 0 R (HD.512) 1088 0 R (HD.513) 1089 0 R (HD.514) 1090 0 R (HD.515) 1091 0 R (HD.516) 1092 0 R (HD.517) 1093 0 R (HD.518) 1094 0 R (HD.519) 1099 0 R (HD.52) 577 0 R (HD.520) 1100 0 R (HD.521) 1101 0 R (HD.522) 1102 0 R (HD.523) 1103 0 R (HD.524) 1104 0 R (HD.525) 1105 0 R (HD.526) 1106 0 R (HD.527) 1107 0 R (HD.528) 1108 0 R (HD.529) 1109 0 R (HD.53) 578 0 R (HD.530) 1110 0 R (HD.531) 1111 0 R (HD.532) 1112 0 R (HD.533) 1113 0 R (HD.534) 1114 0 R (HD.535) 1115 0 R (HD.536) 1116 0 R (HD.537) 1117 0 R (HD.538) 1118 0 R (HD.539) 1119 0 R ] /Limits [ (HD.510) (HD.539) ] >>
endobj
4467 0 obj
-<< /Names [ (HD.467) 1125 0 R (HD.468) 1126 0 R (HD.469) 1127 0 R (HD.47) 657 0 R (HD.470) 1128 0 R (HD.471) 1129 0 R (HD.472) 1130 0 R (HD.473) 1131 0 R (HD.474) 1132 0 R (HD.475) 1133 0 R (HD.476) 1134 0 R (HD.477) 1135 0 R (HD.478) 1136 0 R (HD.479) 1137 0 R (HD.48) 658 0 R (HD.480) 1138 0 R (HD.481) 1139 0 R (HD.482) 1140 0 R (HD.483) 1141 0 R (HD.484) 1142 0 R (HD.485) 1143 0 R (HD.486) 1144 0 R (HD.487) 1145 0 R (HD.488) 1146 0 R (HD.489) 1147 0 R (HD.49) 659 0 R (HD.490) 1148 0 R (HD.491) 1149 0 R (HD.492) 1150 0 R (HD.493) 1151 0 R (HD.494) 1152 0 R (HD.495) 1153 0 R ] /Limits [ (HD.467) (HD.495) ] >>
+<< /Names [ (HD.54) 579 0 R (HD.540) 1120 0 R (HD.541) 1121 0 R (HD.542) 1122 0 R (HD.543) 1123 0 R (HD.544) 1124 0 R (HD.545) 1125 0 R (HD.546) 1126 0 R (HD.547) 1127 0 R (HD.548) 1128 0 R (HD.549) 1129 0 R (HD.55) 580 0 R (HD.550) 1130 0 R (HD.551) 1131 0 R (HD.552) 1132 0 R (HD.553) 1133 0 R (HD.554) 1134 0 R (HD.555) 1135 0 R (HD.556) 1136 0 R (HD.557) 1137 0 R (HD.558) 1138 0 R (HD.559) 1139 0 R (HD.56) 581 0 R (HD.560) 1140 0 R (HD.561) 1141 0 R (HD.562) 1142 0 R (HD.563) 1143 0 R (HD.564) 1144 0 R (HD.565) 1145 0 R (HD.566) 1146 0 R (HD.567) 1147 0 R (HD.568) 1148 0 R ] /Limits [ (HD.54) (HD.568) ] >>
endobj
4468 0 obj
-<< /Names [ (HD.496) 1154 0 R (HD.497) 1155 0 R (HD.498) 1156 0 R (HD.499) 1157 0 R (HD.5) 611 0 R (HD.50) 660 0 R (HD.500) 1158 0 R (HD.501) 1159 0 R (HD.502) 1160 0 R (HD.503) 1161 0 R (HD.504) 1162 0 R (HD.505) 1163 0 R (HD.506) 1164 0 R (HD.507) 1165 0 R (HD.508) 1166 0 R (HD.509) 1167 0 R (HD.51) 661 0 R (HD.510) 1168 0 R (HD.511) 1169 0 R (HD.512) 1170 0 R (HD.513) 1171 0 R (HD.514) 1172 0 R (HD.515) 1173 0 R (HD.516) 1174 0 R (HD.517) 1175 0 R (HD.518) 1176 0 R (HD.519) 1182 0 R (HD.52) 662 0 R (HD.520) 1183 0 R (HD.521) 1184 0 R (HD.522) 1185 0 R (HD.523) 1186 0 R ] /Limits [ (HD.496) (HD.523) ] >>
+<< /Names [ (HD.569) 1149 0 R (HD.57) 582 0 R (HD.570) 1150 0 R (HD.571) 1151 0 R (HD.572) 1152 0 R (HD.573) 1153 0 R (HD.574) 1154 0 R (HD.575) 1155 0 R (HD.576) 1156 0 R (HD.577) 1157 0 R (HD.578) 1158 0 R (HD.579) 1159 0 R (HD.58) 583 0 R (HD.580) 1164 0 R (HD.581) 1165 0 R (HD.582) 1166 0 R (HD.583) 1167 0 R (HD.584) 1168 0 R (HD.585) 1169 0 R (HD.586) 1170 0 R (HD.587) 1171 0 R (HD.588) 1172 0 R (HD.589) 1173 0 R (HD.59) 584 0 R (HD.590) 1174 0 R (HD.591) 1175 0 R (HD.592) 1176 0 R (HD.593) 1177 0 R (HD.594) 1178 0 R (HD.595) 1179 0 R (HD.596) 1180 0 R (HD.597) 1181 0 R ] /Limits [ (HD.569) (HD.597) ] >>
endobj
4469 0 obj
-<< /Names [ (HD.524) 1187 0 R (HD.525) 1188 0 R (HD.526) 1189 0 R (HD.527) 1190 0 R (HD.528) 1191 0 R (HD.529) 1192 0 R (HD.53) 663 0 R (HD.530) 1193 0 R (HD.531) 1194 0 R (HD.532) 1195 0 R (HD.533) 1196 0 R (HD.534) 1197 0 R (HD.535) 1198 0 R (HD.536) 1199 0 R (HD.537) 1200 0 R (HD.538) 1201 0 R (HD.539) 1202 0 R (HD.54) 664 0 R (HD.540) 1203 0 R (HD.541) 1204 0 R (HD.542) 1205 0 R (HD.543) 1206 0 R (HD.544) 1207 0 R (HD.545) 1208 0 R (HD.546) 1209 0 R (HD.547) 1210 0 R (HD.548) 1211 0 R (HD.549) 1212 0 R (HD.55) 665 0 R (HD.550) 1213 0 R (HD.551) 1214 0 R (HD.552) 1215 0 R ] /Limits [ (HD.524) (HD.552) ] >>
+<< /Names [ (HD.598) 1182 0 R (HD.599) 1183 0 R (HD.6) 527 0 R (HD.60) 585 0 R (HD.600) 1184 0 R (HD.601) 1185 0 R (HD.602) 1186 0 R (HD.603) 1187 0 R (HD.604) 1188 0 R (HD.605) 1189 0 R (HD.606) 1190 0 R (HD.607) 1191 0 R (HD.608) 1192 0 R (HD.609) 1193 0 R (HD.61) 586 0 R (HD.610) 1194 0 R (HD.611) 1195 0 R (HD.612) 1196 0 R (HD.613) 1197 0 R (HD.614) 1198 0 R (HD.615) 1199 0 R (HD.616) 1200 0 R (HD.617) 1201 0 R (HD.618) 1202 0 R (HD.619) 1203 0 R (HD.62) 587 0 R (HD.620) 1204 0 R (HD.621) 1205 0 R (HD.622) 1206 0 R (HD.623) 1207 0 R (HD.624) 1208 0 R (HD.625) 1209 0 R ] /Limits [ (HD.598) (HD.625) ] >>
endobj
4470 0 obj
-<< /Names [ (HD.553) 1216 0 R (HD.554) 1217 0 R (HD.555) 1218 0 R (HD.556) 1219 0 R (HD.557) 1220 0 R (HD.558) 1221 0 R (HD.559) 1222 0 R (HD.56) 666 0 R (HD.560) 1223 0 R (HD.561) 1224 0 R (HD.562) 1225 0 R (HD.563) 1226 0 R (HD.564) 1227 0 R (HD.565) 1228 0 R (HD.566) 1229 0 R (HD.567) 1230 0 R (HD.568) 1231 0 R (HD.569) 1232 0 R (HD.57) 667 0 R (HD.570) 1233 0 R (HD.571) 1234 0 R (HD.572) 1235 0 R (HD.573) 1236 0 R (HD.574) 1237 0 R (HD.575) 1238 0 R (HD.576) 1239 0 R (HD.577) 1240 0 R (HD.578) 1241 0 R (HD.579) 1242 0 R (HD.58) 668 0 R (HD.580) 1247 0 R (HD.581) 1248 0 R ] /Limits [ (HD.553) (HD.581) ] >>
+<< /Names [ (HD.626) 1210 0 R (HD.627) 1211 0 R (HD.628) 1212 0 R (HD.629) 1213 0 R (HD.63) 588 0 R (HD.630) 1214 0 R (HD.631) 1215 0 R (HD.632) 1216 0 R (HD.633) 1217 0 R (HD.634) 1218 0 R (HD.635) 1219 0 R (HD.636) 1220 0 R (HD.637) 1221 0 R (HD.638) 1222 0 R (HD.639) 1223 0 R (HD.64) 589 0 R (HD.640) 1224 0 R (HD.641) 1225 0 R (HD.642) 1226 0 R (HD.643) 1231 0 R (HD.644) 1232 0 R (HD.645) 1233 0 R (HD.646) 1234 0 R (HD.647) 1235 0 R (HD.648) 1236 0 R (HD.649) 1237 0 R (HD.65) 590 0 R (HD.650) 1238 0 R (HD.651) 1239 0 R (HD.652) 1240 0 R (HD.653) 1241 0 R (HD.654) 1242 0 R ] /Limits [ (HD.626) (HD.654) ] >>
endobj
4471 0 obj
-<< /Names [ (HD.582) 1249 0 R (HD.583) 1250 0 R (HD.584) 1251 0 R (HD.585) 1252 0 R (HD.586) 1253 0 R (HD.587) 1254 0 R (HD.588) 1255 0 R (HD.589) 1256 0 R (HD.59) 669 0 R (HD.590) 1257 0 R (HD.591) 1258 0 R (HD.592) 1259 0 R (HD.593) 1260 0 R (HD.594) 1261 0 R (HD.595) 1262 0 R (HD.596) 1263 0 R (HD.597) 1264 0 R (HD.598) 1265 0 R (HD.599) 1266 0 R (HD.6) 612 0 R (HD.60) 670 0 R (HD.600) 1267 0 R (HD.601) 1268 0 R (HD.602) 1269 0 R (HD.603) 1270 0 R (HD.604) 1271 0 R (HD.605) 1272 0 R (HD.606) 1273 0 R (HD.607) 1274 0 R (HD.608) 1275 0 R (HD.609) 1276 0 R (HD.61) 671 0 R ] /Limits [ (HD.582) (HD.61) ] >>
+<< /Names [ (HD.655) 1243 0 R (HD.656) 1244 0 R (HD.657) 1245 0 R (HD.658) 1246 0 R (HD.659) 1247 0 R (HD.66) 591 0 R (HD.660) 1248 0 R (HD.661) 1249 0 R (HD.662) 1251 0 R (HD.663) 1252 0 R (HD.664) 1253 0 R (HD.665) 1254 0 R (HD.666) 1255 0 R (HD.667) 1256 0 R (HD.668) 1257 0 R (HD.669) 1258 0 R (HD.67) 592 0 R (HD.670) 1259 0 R (HD.671) 1260 0 R (HD.672) 1261 0 R (HD.673) 1262 0 R (HD.674) 1263 0 R (HD.675) 1264 0 R (HD.676) 1265 0 R (HD.677) 1266 0 R (HD.678) 1267 0 R (HD.679) 1268 0 R (HD.68) 593 0 R (HD.680) 1270 0 R (HD.681) 1271 0 R (HD.682) 1272 0 R (HD.683) 1273 0 R ] /Limits [ (HD.655) (HD.683) ] >>
endobj
4472 0 obj
-<< /Names [ (HD.610) 1277 0 R (HD.611) 1278 0 R (HD.612) 1279 0 R (HD.613) 1280 0 R (HD.614) 1281 0 R (HD.615) 1282 0 R (HD.616) 1283 0 R (HD.617) 1284 0 R (HD.618) 1285 0 R (HD.619) 1286 0 R (HD.62) 672 0 R (HD.620) 1287 0 R (HD.621) 1288 0 R (HD.622) 1289 0 R (HD.623) 1290 0 R (HD.624) 1291 0 R (HD.625) 1292 0 R (HD.626) 1293 0 R (HD.627) 1294 0 R (HD.628) 1295 0 R (HD.629) 1296 0 R (HD.63) 673 0 R (HD.630) 1297 0 R (HD.631) 1298 0 R (HD.632) 1299 0 R (HD.633) 1300 0 R (HD.634) 1301 0 R (HD.635) 1302 0 R (HD.636) 1303 0 R (HD.637) 1304 0 R (HD.638) 1305 0 R (HD.639) 1306 0 R ] /Limits [ (HD.610) (HD.639) ] >>
+<< /Names [ (HD.684) 1274 0 R (HD.685) 1275 0 R (HD.686) 1276 0 R (HD.687) 1281 0 R (HD.688) 1282 0 R (HD.689) 1283 0 R (HD.69) 594 0 R (HD.690) 1284 0 R (HD.691) 1285 0 R (HD.692) 1286 0 R (HD.693) 1287 0 R (HD.694) 1288 0 R (HD.695) 1289 0 R (HD.696) 1290 0 R (HD.697) 1291 0 R (HD.698) 1292 0 R (HD.699) 1293 0 R (HD.7) 528 0 R (HD.70) 595 0 R (HD.700) 1294 0 R (HD.701) 1295 0 R (HD.702) 1297 0 R (HD.703) 1298 0 R (HD.704) 1299 0 R (HD.705) 1300 0 R (HD.706) 1301 0 R (HD.707) 1302 0 R (HD.708) 1303 0 R (HD.709) 1304 0 R (HD.71) 596 0 R (HD.710) 1305 0 R (HD.711) 1306 0 R ] /Limits [ (HD.684) (HD.711) ] >>
endobj
4473 0 obj
-<< /Names [ (HD.64) 674 0 R (HD.640) 1307 0 R (HD.641) 1308 0 R (HD.642) 1309 0 R (HD.643) 1314 0 R (HD.644) 1315 0 R (HD.645) 1316 0 R (HD.646) 1317 0 R (HD.647) 1318 0 R (HD.648) 1319 0 R (HD.649) 1320 0 R (HD.65) 675 0 R (HD.650) 1321 0 R (HD.651) 1322 0 R (HD.652) 1323 0 R (HD.653) 1324 0 R (HD.654) 1325 0 R (HD.655) 1326 0 R (HD.656) 1327 0 R (HD.657) 1328 0 R (HD.658) 1329 0 R (HD.659) 1330 0 R (HD.66) 676 0 R (HD.660) 1331 0 R (HD.661) 1332 0 R (HD.662) 1333 0 R (HD.663) 1334 0 R (HD.664) 1335 0 R (HD.665) 1336 0 R (HD.666) 1337 0 R (HD.667) 1338 0 R (HD.668) 1339 0 R ] /Limits [ (HD.64) (HD.668) ] >>
+<< /Names [ (HD.712) 1307 0 R (HD.713) 1308 0 R (HD.714) 1309 0 R (HD.715) 1310 0 R (HD.716) 1311 0 R (HD.717) 1312 0 R (HD.718) 1313 0 R (HD.719) 1314 0 R (HD.72) 597 0 R (HD.720) 1315 0 R (HD.721) 1316 0 R (HD.722) 1317 0 R (HD.723) 1322 0 R (HD.724) 1323 0 R (HD.725) 1324 0 R (HD.726) 1325 0 R (HD.727) 1326 0 R (HD.728) 1327 0 R (HD.729) 1328 0 R (HD.73) 598 0 R (HD.730) 1329 0 R (HD.731) 1330 0 R (HD.732) 1331 0 R (HD.733) 1332 0 R (HD.734) 1333 0 R (HD.735) 1334 0 R (HD.736) 1335 0 R (HD.737) 1336 0 R (HD.738) 1337 0 R (HD.739) 1338 0 R (HD.74) 599 0 R (HD.740) 1339 0 R ] /Limits [ (HD.712) (HD.740) ] >>
endobj
4474 0 obj
-<< /Names [ (HD.669) 1340 0 R (HD.67) 677 0 R (HD.670) 1341 0 R (HD.671) 1342 0 R (HD.672) 1343 0 R (HD.673) 1344 0 R (HD.674) 1345 0 R (HD.675) 1346 0 R (HD.676) 1347 0 R (HD.677) 1348 0 R (HD.678) 1349 0 R (HD.679) 1350 0 R (HD.68) 678 0 R (HD.680) 1351 0 R (HD.681) 1352 0 R (HD.682) 1353 0 R (HD.683) 1354 0 R (HD.684) 1355 0 R (HD.685) 1356 0 R (HD.686) 1357 0 R (HD.687) 1362 0 R (HD.688) 1363 0 R (HD.689) 1364 0 R (HD.69) 679 0 R (HD.690) 1365 0 R (HD.691) 1366 0 R (HD.692) 1367 0 R (HD.693) 1368 0 R (HD.694) 1369 0 R (HD.695) 1370 0 R (HD.696) 1371 0 R (HD.697) 1372 0 R ] /Limits [ (HD.669) (HD.697) ] >>
+<< /Names [ (HD.741) 1340 0 R (HD.742) 1341 0 R (HD.743) 1342 0 R (HD.744) 1343 0 R (HD.745) 1344 0 R (HD.746) 1345 0 R (HD.747) 1346 0 R (HD.748) 1347 0 R (HD.749) 1348 0 R (HD.75) 600 0 R (HD.750) 1349 0 R (HD.751) 1350 0 R (HD.752) 1351 0 R (HD.753) 1352 0 R (HD.754) 1353 0 R (HD.755) 1354 0 R (HD.756) 1355 0 R (HD.757) 1356 0 R (HD.758) 1357 0 R (HD.759) 1358 0 R (HD.76) 601 0 R (HD.760) 1359 0 R (HD.761) 1360 0 R (HD.762) 1361 0 R (HD.763) 1362 0 R (HD.764) 1363 0 R (HD.765) 1368 0 R (HD.766) 1369 0 R (HD.767) 1370 0 R (HD.768) 1371 0 R (HD.769) 1372 0 R (HD.77) 602 0 R ] /Limits [ (HD.741) (HD.77) ] >>
endobj
4475 0 obj
-<< /Names [ (HD.698) 1373 0 R (HD.699) 1374 0 R (HD.7) 613 0 R (HD.70) 680 0 R (HD.700) 1375 0 R (HD.701) 1376 0 R (HD.702) 1377 0 R (HD.703) 1378 0 R (HD.704) 1379 0 R (HD.705) 1380 0 R (HD.706) 1381 0 R (HD.707) 1382 0 R (HD.708) 1383 0 R (HD.709) 1384 0 R (HD.71) 681 0 R (HD.710) 1385 0 R (HD.711) 1386 0 R (HD.712) 1387 0 R (HD.713) 1388 0 R (HD.714) 1389 0 R (HD.715) 1390 0 R (HD.716) 1391 0 R (HD.717) 1392 0 R (HD.718) 1393 0 R (HD.719) 1394 0 R (HD.72) 682 0 R (HD.720) 1395 0 R (HD.721) 1396 0 R (HD.722) 1397 0 R (HD.723) 1398 0 R (HD.724) 1399 0 R (HD.725) 1400 0 R ] /Limits [ (HD.698) (HD.725) ] >>
+<< /Names [ (HD.770) 1373 0 R (HD.771) 1374 0 R (HD.772) 1375 0 R (HD.773) 1376 0 R (HD.774) 1377 0 R (HD.775) 1378 0 R (HD.776) 1379 0 R (HD.777) 1380 0 R (HD.778) 1381 0 R (HD.779) 1382 0 R (HD.78) 603 0 R (HD.780) 1383 0 R (HD.781) 1384 0 R (HD.782) 1385 0 R (HD.783) 1386 0 R (HD.784) 1387 0 R (HD.785) 1388 0 R (HD.786) 1389 0 R (HD.787) 1390 0 R (HD.788) 1391 0 R (HD.789) 1392 0 R (HD.79) 604 0 R (HD.790) 1393 0 R (HD.791) 1394 0 R (HD.792) 1395 0 R (HD.793) 1396 0 R (HD.794) 1397 0 R (HD.795) 1398 0 R (HD.796) 1399 0 R (HD.797) 1400 0 R (HD.798) 1401 0 R (HD.799) 1402 0 R ] /Limits [ (HD.770) (HD.799) ] >>
endobj
4476 0 obj
-<< /Names [ (HD.726) 1401 0 R (HD.727) 1402 0 R (HD.728) 1403 0 R (HD.729) 1404 0 R (HD.73) 683 0 R (HD.730) 1405 0 R (HD.731) 1406 0 R (HD.732) 1407 0 R (HD.733) 1408 0 R (HD.734) 1409 0 R (HD.735) 1410 0 R (HD.736) 1411 0 R (HD.737) 1416 0 R (HD.738) 1417 0 R (HD.739) 1418 0 R (HD.74) 684 0 R (HD.740) 1419 0 R (HD.741) 1420 0 R (HD.742) 1421 0 R (HD.743) 1422 0 R (HD.744) 1423 0 R (HD.745) 1424 0 R (HD.746) 1425 0 R (HD.747) 1426 0 R (HD.748) 1427 0 R (HD.749) 1428 0 R (HD.75) 685 0 R (HD.750) 1429 0 R (HD.751) 1430 0 R (HD.752) 1431 0 R (HD.753) 1432 0 R (HD.754) 1433 0 R ] /Limits [ (HD.726) (HD.754) ] >>
+<< /Names [ (HD.8) 529 0 R (HD.80) 605 0 R (HD.800) 1403 0 R (HD.801) 1404 0 R (HD.802) 1405 0 R (HD.803) 1406 0 R (HD.804) 1407 0 R (HD.805) 1408 0 R (HD.806) 1409 0 R (HD.807) 1410 0 R (HD.808) 1411 0 R (HD.809) 1412 0 R (HD.81) 606 0 R (HD.810) 1413 0 R (HD.811) 1414 0 R (HD.812) 1415 0 R (HD.813) 1416 0 R (HD.814) 1417 0 R (HD.815) 1418 0 R (HD.816) 1419 0 R (HD.817) 1420 0 R (HD.818) 1421 0 R (HD.819) 1426 0 R (HD.82) 607 0 R (HD.820) 1427 0 R (HD.821) 1428 0 R (HD.822) 1429 0 R (HD.823) 1430 0 R (HD.824) 1431 0 R (HD.825) 1432 0 R (HD.826) 1433 0 R (HD.827) 1434 0 R ] /Limits [ (HD.8) (HD.827) ] >>
endobj
4477 0 obj
-<< /Names [ (HD.755) 1434 0 R (HD.756) 1435 0 R (HD.757) 1436 0 R (HD.758) 1437 0 R (HD.759) 1438 0 R (HD.76) 686 0 R (HD.760) 1439 0 R (HD.761) 1440 0 R (HD.762) 1441 0 R (HD.763) 1442 0 R (HD.764) 1443 0 R (HD.765) 1444 0 R (HD.766) 1445 0 R (HD.767) 1446 0 R (HD.768) 1447 0 R (HD.769) 1448 0 R (HD.77) 687 0 R (HD.770) 1449 0 R (HD.771) 1450 0 R (HD.772) 1451 0 R (HD.773) 1452 0 R (HD.774) 1453 0 R (HD.775) 1454 0 R (HD.776) 1455 0 R (HD.777) 1456 0 R (HD.778) 1457 0 R (HD.779) 1458 0 R (HD.78) 688 0 R (HD.780) 1459 0 R (HD.781) 1460 0 R (HD.782) 1461 0 R (HD.783) 1462 0 R ] /Limits [ (HD.755) (HD.783) ] >>
+<< /Names [ (HD.828) 1435 0 R (HD.829) 1436 0 R (HD.83) 608 0 R (HD.830) 1437 0 R (HD.831) 1438 0 R (HD.832) 1439 0 R (HD.833) 1440 0 R (HD.834) 1441 0 R (HD.835) 1442 0 R (HD.836) 1443 0 R (HD.837) 1444 0 R (HD.838) 1445 0 R (HD.839) 1446 0 R (HD.84) 613 0 R (HD.840) 1447 0 R (HD.841) 1448 0 R (HD.842) 1449 0 R (HD.843) 1450 0 R (HD.844) 1451 0 R (HD.845) 1452 0 R (HD.846) 1453 0 R (HD.847) 1454 0 R (HD.848) 1455 0 R (HD.849) 1456 0 R (HD.85) 614 0 R (HD.850) 1457 0 R (HD.851) 1458 0 R (HD.852) 1459 0 R (HD.853) 1460 0 R (HD.854) 1461 0 R (HD.855) 1462 0 R (HD.856) 1463 0 R ] /Limits [ (HD.828) (HD.856) ] >>
endobj
4478 0 obj
-<< /Names [ (HD.784) 1463 0 R (HD.785) 1464 0 R (HD.786) 1465 0 R (HD.787) 1466 0 R (HD.788) 1467 0 R (HD.789) 1468 0 R (HD.79) 689 0 R (HD.790) 1469 0 R (HD.791) 1474 0 R (HD.792) 1475 0 R (HD.793) 1476 0 R (HD.794) 1477 0 R (HD.795) 1478 0 R (HD.796) 1479 0 R (HD.797) 1480 0 R (HD.798) 1481 0 R (HD.799) 1482 0 R (HD.8) 614 0 R (HD.80) 690 0 R (HD.800) 1483 0 R (HD.801) 1484 0 R (HD.802) 1485 0 R (HD.803) 1486 0 R (HD.804) 1487 0 R (HD.805) 1488 0 R (HD.806) 1489 0 R (HD.807) 1490 0 R (HD.808) 1491 0 R (HD.809) 1492 0 R (HD.81) 691 0 R (HD.810) 1493 0 R (HD.811) 1494 0 R ] /Limits [ (HD.784) (HD.811) ] >>
+<< /Names [ (HD.857) 1464 0 R (HD.858) 1465 0 R (HD.859) 1466 0 R (HD.86) 615 0 R (HD.860) 1467 0 R (HD.861) 1468 0 R (HD.862) 1469 0 R (HD.863) 1470 0 R (HD.864) 1471 0 R (HD.865) 1472 0 R (HD.866) 1473 0 R (HD.867) 1474 0 R (HD.868) 1475 0 R (HD.869) 1476 0 R (HD.87) 616 0 R (HD.870) 1483 0 R (HD.871) 1484 0 R (HD.872) 1485 0 R (HD.873) 1486 0 R (HD.874) 1487 0 R (HD.875) 1488 0 R (HD.876) 1489 0 R (HD.877) 1490 0 R (HD.878) 1491 0 R (HD.879) 1492 0 R (HD.88) 617 0 R (HD.880) 1493 0 R (HD.881) 1494 0 R (HD.882) 1495 0 R (HD.883) 1496 0 R (HD.884) 1497 0 R (HD.885) 1498 0 R ] /Limits [ (HD.857) (HD.885) ] >>
endobj
4479 0 obj
-<< /Names [ (HD.812) 1495 0 R (HD.813) 1496 0 R (HD.814) 1497 0 R (HD.815) 1498 0 R (HD.816) 1499 0 R (HD.817) 1500 0 R (HD.818) 1501 0 R (HD.819) 1502 0 R (HD.82) 692 0 R (HD.820) 1503 0 R (HD.821) 1504 0 R (HD.822) 1505 0 R (HD.823) 1506 0 R (HD.824) 1507 0 R (HD.825) 1508 0 R (HD.826) 1509 0 R (HD.827) 1510 0 R (HD.828) 1511 0 R (HD.829) 1512 0 R (HD.83) 693 0 R (HD.830) 1513 0 R (HD.831) 1514 0 R (HD.832) 1515 0 R (HD.833) 1516 0 R (HD.834) 1517 0 R (HD.835) 1518 0 R (HD.836) 1519 0 R (HD.837) 1520 0 R (HD.838) 1521 0 R (HD.839) 1522 0 R (HD.84) 698 0 R (HD.840) 1523 0 R ] /Limits [ (HD.812) (HD.840) ] >>
+<< /Names [ (HD.886) 1499 0 R (HD.887) 1500 0 R (HD.888) 1501 0 R (HD.889) 1502 0 R (HD.89) 618 0 R (HD.890) 1503 0 R (HD.891) 1504 0 R (HD.892) 1505 0 R (HD.893) 1506 0 R (HD.894) 1507 0 R (HD.895) 1508 0 R (HD.896) 1509 0 R (HD.897) 1510 0 R (HD.898) 1511 0 R (HD.899) 1512 0 R (HD.9) 530 0 R (HD.90) 619 0 R (HD.900) 1513 0 R (HD.901) 1514 0 R (HD.902) 1515 0 R (HD.903) 1516 0 R (HD.904) 1517 0 R (HD.905) 1518 0 R (HD.906) 1519 0 R (HD.907) 1520 0 R (HD.908) 1521 0 R (HD.909) 1522 0 R (HD.91) 620 0 R (HD.910) 1523 0 R (HD.911) 1524 0 R (HD.912) 1525 0 R (HD.913) 1526 0 R ] /Limits [ (HD.886) (HD.913) ] >>
endobj
4480 0 obj
-<< /Names [ (HD.841) 1524 0 R (HD.842) 1530 0 R (HD.843) 1531 0 R (HD.844) 1532 0 R (HD.845) 1533 0 R (HD.846) 1534 0 R (HD.847) 1535 0 R (HD.848) 1536 0 R (HD.849) 1537 0 R (HD.85) 699 0 R (HD.850) 1538 0 R (HD.851) 1539 0 R (HD.852) 1540 0 R (HD.853) 1541 0 R (HD.854) 1542 0 R (HD.855) 1543 0 R (HD.856) 1544 0 R (HD.857) 1545 0 R (HD.858) 1546 0 R (HD.859) 1547 0 R (HD.86) 700 0 R (HD.860) 1548 0 R (HD.861) 1549 0 R (HD.862) 1550 0 R (HD.863) 1551 0 R (HD.864) 1552 0 R (HD.865) 1553 0 R (HD.866) 1554 0 R (HD.867) 1555 0 R (HD.868) 1556 0 R (HD.869) 1557 0 R (HD.87) 701 0 R ] /Limits [ (HD.841) (HD.87) ] >>
+<< /Names [ (HD.914) 1533 0 R (HD.915) 1534 0 R (HD.916) 1535 0 R (HD.917) 1536 0 R (HD.918) 1537 0 R (HD.919) 1538 0 R (HD.92) 621 0 R (HD.920) 1539 0 R (HD.921) 1540 0 R (HD.922) 1541 0 R (HD.923) 1542 0 R (HD.924) 1543 0 R (HD.925) 1544 0 R (HD.926) 1545 0 R (HD.927) 1546 0 R (HD.928) 1547 0 R (HD.929) 1548 0 R (HD.93) 622 0 R (HD.930) 1549 0 R (HD.931) 1550 0 R (HD.932) 1551 0 R (HD.933) 1552 0 R (HD.934) 1553 0 R (HD.935) 1554 0 R (HD.936) 1555 0 R (HD.937) 1556 0 R (HD.938) 1557 0 R (HD.939) 1558 0 R (HD.94) 623 0 R (HD.940) 1559 0 R (HD.941) 1560 0 R (HD.942) 1561 0 R ] /Limits [ (HD.914) (HD.942) ] >>
endobj
4481 0 obj
-<< /Names [ (HD.870) 1558 0 R (HD.871) 1559 0 R (HD.872) 1560 0 R (HD.873) 1561 0 R (HD.874) 1562 0 R (HD.875) 1563 0 R (HD.876) 1564 0 R (HD.877) 1565 0 R (HD.878) 1566 0 R (HD.879) 1567 0 R (HD.88) 702 0 R (HD.880) 1568 0 R (HD.881) 1569 0 R (HD.882) 1570 0 R (HD.883) 1571 0 R (HD.884) 1578 0 R (HD.885) 1579 0 R (HD.886) 1580 0 R (HD.887) 1581 0 R (HD.888) 1582 0 R (HD.889) 1583 0 R (HD.89) 703 0 R (HD.890) 1584 0 R (HD.891) 1585 0 R (HD.892) 1586 0 R (HD.893) 1587 0 R (HD.894) 1588 0 R (HD.895) 1589 0 R (HD.896) 1590 0 R (HD.897) 1591 0 R (HD.898) 1592 0 R (HD.899) 1593 0 R ] /Limits [ (HD.870) (HD.899) ] >>
+<< /Names [ (HD.943) 1562 0 R (HD.944) 1563 0 R (HD.945) 1564 0 R (HD.946) 1565 0 R (HD.947) 1566 0 R (HD.948) 1567 0 R (HD.949) 1568 0 R (HD.95) 624 0 R (HD.950) 1569 0 R (HD.951) 1570 0 R (HD.952) 1571 0 R (HD.953) 1572 0 R (HD.954) 1573 0 R (HD.955) 1574 0 R (HD.956) 1575 0 R (HD.957) 1580 0 R (HD.958) 1581 0 R (HD.959) 1582 0 R (HD.96) 625 0 R (HD.960) 1583 0 R (HD.961) 1584 0 R (HD.962) 1585 0 R (HD.963) 1586 0 R (HD.964) 1587 0 R (HD.965) 1588 0 R (HD.966) 1589 0 R (HD.967) 1590 0 R (HD.968) 1591 0 R (HD.969) 1592 0 R (HD.97) 626 0 R (HD.970) 1593 0 R (HD.971) 1594 0 R ] /Limits [ (HD.943) (HD.971) ] >>
endobj
4482 0 obj
-<< /Names [ (HD.9) 615 0 R (HD.90) 704 0 R (HD.900) 1594 0 R (HD.901) 1595 0 R (HD.902) 1596 0 R (HD.903) 1597 0 R (HD.904) 1598 0 R (HD.905) 1599 0 R (HD.906) 1600 0 R (HD.907) 1601 0 R (HD.908) 1602 0 R (HD.909) 1603 0 R (HD.91) 705 0 R (HD.910) 1604 0 R (HD.911) 1605 0 R (HD.912) 1606 0 R (HD.913) 1607 0 R (HD.914) 1608 0 R (HD.915) 1609 0 R (HD.916) 1610 0 R (HD.917) 1611 0 R (HD.918) 1612 0 R (HD.919) 1613 0 R (HD.92) 706 0 R (HD.920) 1614 0 R (HD.921) 1615 0 R (HD.922) 1616 0 R (HD.923) 1617 0 R (HD.924) 1618 0 R (HD.925) 1619 0 R (HD.926) 1620 0 R (HD.927) 1625 0 R ] /Limits [ (HD.9) (HD.927) ] >>
+<< /Names [ (HD.972) 1595 0 R (HD.973) 1596 0 R (HD.974) 1597 0 R (HD.975) 1598 0 R (HD.976) 1599 0 R (HD.977) 1600 0 R (HD.978) 1601 0 R (HD.979) 1602 0 R (HD.98) 627 0 R (HD.980) 1603 0 R (HD.981) 1604 0 R (HD.982) 1605 0 R (HD.983) 1606 0 R (HD.984) 1607 0 R (HD.985) 1608 0 R (HD.986) 1609 0 R (HD.987) 1610 0 R (HD.988) 1611 0 R (HD.989) 1612 0 R (HD.99) 628 0 R (HD.990) 1613 0 R (HD.991) 1614 0 R (HD.992) 1615 0 R (HD.993) 1616 0 R (HD.994) 1617 0 R (HD.995) 1618 0 R (HD.996) 1619 0 R (HD.997) 1620 0 R (HD.998) 1621 0 R (HD.999) 1622 0 R (Hfootnote.1) 228 0 R (Hfootnote.10) 295 0 R ] /Limits [ (HD.972) (Hfootnote.10) ] >>
endobj
4483 0 obj
-<< /Names [ (HD.928) 1626 0 R (HD.929) 1627 0 R (HD.93) 707 0 R (HD.930) 1628 0 R (HD.931) 1629 0 R (HD.932) 1630 0 R (HD.933) 1631 0 R (HD.934) 1632 0 R (HD.935) 1633 0 R (HD.936) 1634 0 R (HD.937) 1635 0 R (HD.938) 1636 0 R (HD.939) 1637 0 R (HD.94) 708 0 R (HD.940) 1638 0 R (HD.941) 1639 0 R (HD.942) 1640 0 R (HD.943) 1641 0 R (HD.944) 1642 0 R (HD.945) 1643 0 R (HD.946) 1644 0 R (HD.947) 1645 0 R (HD.948) 1646 0 R (HD.949) 1647 0 R (HD.95) 709 0 R (HD.950) 1648 0 R (HD.951) 1649 0 R (HD.952) 1650 0 R (HD.953) 1651 0 R (HD.954) 1652 0 R (HD.955) 1653 0 R (HD.956) 1654 0 R ] /Limits [ (HD.928) (HD.956) ] >>
+<< /Names [ (Hfootnote.11) 296 0 R (Hfootnote.12) 297 0 R (Hfootnote.13) 306 0 R (Hfootnote.14) 307 0 R (Hfootnote.15) 318 0 R (Hfootnote.16) 319 0 R (Hfootnote.17) 330 0 R (Hfootnote.18) 331 0 R (Hfootnote.19) 343 0 R (Hfootnote.2) 232 0 R (Hfootnote.20) 344 0 R (Hfootnote.21) 351 0 R (Hfootnote.22) 365 0 R (Hfootnote.23) 381 0 R (Hfootnote.24) 401 0 R (Hfootnote.25) 402 0 R (Hfootnote.26) 403 0 R (Hfootnote.27) 404 0 R (Hfootnote.28) 435 0 R (Hfootnote.29) 436 0 R (Hfootnote.3) 248 0 R (Hfootnote.30) 449 0 R (Hfootnote.31) 450 0 R (Hfootnote.32) 451 0 R (Hfootnote.33) 469 0 R (Hfootnote.34) 510 0 R (Hfootnote.35) 507 0 R (Hfootnote.36) 508 0 R (Hfootnote.37) 509 0 R (Hfootnote.38) 1527 0 R (Hfootnote.39) 2483 0 R (Hfootnote.4) 258 0 R ] /Limits [ (Hfootnote.11) (Hfootnote.4) ] >>
endobj
4484 0 obj
-<< /Names [ (HD.957) 1655 0 R (HD.958) 1656 0 R (HD.959) 1657 0 R (HD.96) 710 0 R (HD.960) 1658 0 R (HD.961) 1659 0 R (HD.962) 1660 0 R (HD.963) 1661 0 R (HD.964) 1662 0 R (HD.965) 1663 0 R (HD.966) 1664 0 R (HD.967) 1665 0 R (HD.968) 1666 0 R (HD.969) 1667 0 R (HD.97) 711 0 R (HD.970) 1668 0 R (HD.971) 1673 0 R (HD.972) 1674 0 R (HD.973) 1675 0 R (HD.974) 1676 0 R (HD.975) 1677 0 R (HD.976) 1678 0 R (HD.977) 1679 0 R (HD.978) 1680 0 R (HD.979) 1681 0 R (HD.98) 712 0 R (HD.980) 1682 0 R (HD.981) 1683 0 R (HD.982) 1684 0 R (HD.983) 1685 0 R (HD.984) 1686 0 R (HD.985) 1687 0 R ] /Limits [ (HD.957) (HD.985) ] >>
+<< /Names [ (Hfootnote.40) 2564 0 R (Hfootnote.41) 2565 0 R (Hfootnote.42) 2830 0 R (Hfootnote.43) 3100 0 R (Hfootnote.44) 3202 0 R (Hfootnote.45) 3371 0 R (Hfootnote.5) 259 0 R (Hfootnote.6) 273 0 R (Hfootnote.7) 274 0 R (Hfootnote.8) 275 0 R (Hfootnote.9) 276 0 R (page.1) 203 0 R (page.10) 342 0 R (page.100) 3979 0 R (page.101) 4042 0 R (page.102) 4068 0 R (page.103) 4132 0 R (page.104) 4159 0 R (page.11) 350 0 R (page.12) 357 0 R (page.13) 364 0 R (page.14) 370 0 R (page.15) 380 0 R (page.16) 386 0 R (page.17) 391 0 R (page.18) 400 0 R (page.19) 409 0 R (page.2) 245 0 R (page.20) 420 0 R (page.21) 425 0 R (page.22) 434 0 R (page.23) 447 0 R ] /Limits [ (Hfootnote.40) (page.23) ] >>
endobj
4485 0 obj
-<< /Names [ (HD.986) 1688 0 R (HD.987) 1689 0 R (HD.988) 1690 0 R (HD.989) 1691 0 R (HD.99) 713 0 R (HD.990) 1692 0 R (HD.991) 1693 0 R (HD.992) 1694 0 R (HD.993) 1695 0 R (HD.994) 1696 0 R (HD.995) 1697 0 R (HD.996) 1698 0 R (HD.997) 1699 0 R (HD.998) 1700 0 R (HD.999) 1701 0 R (Hfootnote.1) 340 0 R (Hfootnote.10) 406 0 R (Hfootnote.11) 407 0 R (Hfootnote.12) 408 0 R (Hfootnote.13) 418 0 R (Hfootnote.14) 428 0 R (Hfootnote.15) 429 0 R (Hfootnote.16) 439 0 R (Hfootnote.17) 440 0 R (Hfootnote.18) 448 0 R (Hfootnote.19) 449 0 R (Hfootnote.2) 344 0 R (Hfootnote.20) 467 0 R (Hfootnote.21) 478 0 R (Hfootnote.22) 498 0 R (Hfootnote.23) 499 0 R (Hfootnote.24) 500 0 R ] /Limits [ (HD.986) (Hfootnote.24) ] >>
+<< /Names [ (page.24) 458 0 R (page.25) 468 0 R (page.26) 474 0 R (page.27) 478 0 R (page.28) 482 0 R (page.29) 488 0 R (page.3) 256 0 R (page.30) 494 0 R (page.31) 504 0 R (page.32) 516 0 R (page.33) 561 0 R (page.34) 612 0 R (page.35) 667 0 R (page.36) 696 0 R (page.37) 721 0 R (page.38) 742 0 R (page.39) 784 0 R (page.4) 271 0 R (page.40) 821 0 R (page.41) 881 0 R (page.42) 919 0 R (page.43) 975 0 R (page.44) 1039 0 R (page.45) 1098 0 R (page.46) 1163 0 R (page.47) 1230 0 R (page.48) 1280 0 R (page.49) 1321 0 R (page.5) 293 0 R (page.50) 1367 0 R (page.51) 1425 0 R (page.52) 1482 0 R ] /Limits [ (page.24) (page.52) ] >>
endobj
4486 0 obj
-<< /Names [ (Hfootnote.25) 501 0 R (Hfootnote.26) 531 0 R (Hfootnote.27) 532 0 R (Hfootnote.28) 545 0 R (Hfootnote.29) 546 0 R (Hfootnote.3) 368 0 R (Hfootnote.30) 547 0 R (Hfootnote.31) 566 0 R (Hfootnote.32) 598 0 R (Hfootnote.33) 595 0 R (Hfootnote.34) 596 0 R (Hfootnote.35) 597 0 R (Hfootnote.36) 1572 0 R (Hfootnote.37) 2462 0 R (Hfootnote.38) 2594 0 R (Hfootnote.39) 2595 0 R (Hfootnote.4) 369 0 R (Hfootnote.40) 2805 0 R (Hfootnote.41) 3121 0 R (Hfootnote.42) 3212 0 R (Hfootnote.43) 3381 0 R (Hfootnote.5) 370 0 R (Hfootnote.6) 383 0 R (Hfootnote.7) 384 0 R (Hfootnote.8) 385 0 R (Hfootnote.9) 405 0 R (page.1) 315 0 R (page.10) 454 0 R (page.100) 4165 0 R (page.11) 458 0 R (page.12) 466 0 R (page.13) 477 0 R ] /Limits [ (Hfootnote.25) (page.13) ] >>
+<< /Names [ (page.53) 1532 0 R (page.54) 1579 0 R (page.55) 1626 0 R (page.56) 1681 0 R (page.57) 1741 0 R (page.58) 1791 0 R (page.59) 1855 0 R (page.6) 304 0 R (page.60) 1905 0 R (page.61) 1949 0 R (page.62) 2002 0 R (page.63) 2066 0 R (page.64) 2130 0 R (page.65) 2187 0 R (page.66) 2225 0 R (page.67) 2266 0 R (page.68) 2304 0 R (page.69) 2344 0 R (page.7) 316 0 R (page.70) 2394 0 R (page.71) 2436 0 R (page.72) 2489 0 R (page.73) 2538 0 R (page.74) 2570 0 R (page.75) 2628 0 R (page.76) 2692 0 R (page.77) 2734 0 R (page.78) 2782 0 R (page.79) 2835 0 R (page.8) 327 0 R (page.80) 2892 0 R (page.81) 2933 0 R ] /Limits [ (page.53) (page.81) ] >>
endobj
4487 0 obj
-<< /Names [ (page.14) 483 0 R (page.15) 487 0 R (page.16) 495 0 R (page.17) 506 0 R (page.18) 517 0 R (page.19) 522 0 R (page.2) 355 0 R (page.20) 530 0 R (page.21) 543 0 R (page.22) 555 0 R (page.23) 565 0 R (page.24) 571 0 R (page.25) 575 0 R (page.26) 579 0 R (page.27) 585 0 R (page.28) 594 0 R (page.29) 603 0 R (page.3) 366 0 R (page.30) 646 0 R (page.31) 697 0 R (page.32) 753 0 R (page.33) 781 0 R (page.34) 806 0 R (page.35) 827 0 R (page.36) 869 0 R (page.37) 905 0 R (page.38) 965 0 R (page.39) 1002 0 R (page.4) 382 0 R (page.40) 1058 0 R (page.41) 1121 0 R (page.42) 1181 0 R ] /Limits [ (page.14) (page.42) ] >>
+<< /Names [ (page.82) 2987 0 R (page.83) 3050 0 R (page.84) 3105 0 R (page.85) 3153 0 R (page.86) 3207 0 R (page.87) 3259 0 R (page.88) 3319 0 R (page.89) 3376 0 R (page.9) 337 0 R (page.90) 3443 0 R (page.91) 3498 0 R (page.92) 3540 0 R (page.93) 3591 0 R (page.94) 3637 0 R (page.95) 3692 0 R (page.96) 3740 0 R (page.97) 3799 0 R (page.98) 3855 0 R (page.99) 3918 0 R (piton:passe) 329 0 R (piton:transpose) 328 0 R (section*.1) 2267 0 R (section*.10) 2699 0 R (section*.11) 2704 0 R (section*.12) 2748 0 R (section*.13) 2750 0 R (section*.14) 2886 0 R (section*.15) 2893 0 R (section*.16) 2900 0 R (section*.17) 2934 0 R (section*.18) 2948 0 R (section*.19) 2978 0 R ] /Limits [ (page.82) (section*.19) ] >>
endobj
4488 0 obj
-<< /Names [ (page.43) 1246 0 R (page.44) 1313 0 R (page.45) 1361 0 R (page.46) 1415 0 R (page.47) 1473 0 R (page.48) 1529 0 R (page.49) 1577 0 R (page.5) 402 0 R (page.50) 1624 0 R (page.51) 1672 0 R (page.52) 1728 0 R (page.53) 1786 0 R (page.54) 1837 0 R (page.55) 1896 0 R (page.56) 1946 0 R (page.57) 1989 0 R (page.58) 2042 0 R (page.59) 2106 0 R (page.6) 417 0 R (page.60) 2169 0 R (page.61) 2218 0 R (page.62) 2257 0 R (page.63) 2300 0 R (page.64) 2330 0 R (page.65) 2376 0 R (page.66) 2427 0 R (page.67) 2467 0 R (page.68) 2522 0 R (page.69) 2563 0 R (page.7) 426 0 R (page.70) 2600 0 R (page.71) 2655 0 R ] /Limits [ (page.43) (page.71) ] >>
+<< /Names [ (section*.2) 2306 0 R (section*.20) 3025 0 R (section*.21) 3027 0 R (section*.22) 3118 0 R (section*.23) 3130 0 R (section*.24) 3135 0 R (section*.25) 3137 0 R (section*.26) 3154 0 R (section*.27) 3254 0 R (section*.28) 3260 0 R (section*.29) 3265 0 R (section*.3) 2345 0 R (section*.30) 3278 0 R (section*.31) 4050 0 R (section*.32) 4051 0 R (section*.33) 4052 0 R (section*.34) 4053 0 R (section*.35) 4054 0 R (section*.36) 4055 0 R (section*.37) 4056 0 R (section*.38) 4057 0 R (section*.39) 4069 0 R (section*.4) 2423 0 R (section*.40) 4070 0 R (section*.41) 4071 0 R (section*.42) 4072 0 R (section*.43) 4073 0 R (section*.44) 4074 0 R (section*.45) 4075 0 R (section*.46) 4076 0 R (section*.47) 4078 0 R (section*.5) 2545 0 R ] /Limits [ (section*.2) (section*.5) ] >>
endobj
4489 0 obj
-<< /Names [ (page.72) 2715 0 R (page.73) 2761 0 R (page.74) 2810 0 R (page.75) 2865 0 R (page.76) 2912 0 R (page.77) 2958 0 R (page.78) 3017 0 R (page.79) 3073 0 R (page.8) 436 0 R (page.80) 3126 0 R (page.81) 3164 0 R (page.82) 3218 0 R (page.83) 3270 0 R (page.84) 3330 0 R (page.85) 3386 0 R (page.86) 3453 0 R (page.87) 3508 0 R (page.88) 3547 0 R (page.89) 3598 0 R (page.9) 447 0 R (page.90) 3643 0 R (page.91) 3697 0 R (page.92) 3746 0 R (page.93) 3805 0 R (page.94) 3862 0 R (page.95) 3925 0 R (page.96) 3989 0 R (page.97) 4050 0 R (page.98) 4077 0 R (page.99) 4141 0 R (piton:passe) 438 0 R (piton:transpose) 437 0 R ] /Limits [ (page.72) (piton:transpose) ] >>
+<< /Names [ (section*.6) 2612 0 R (section*.7) 2623 0 R (section*.8) 2629 0 R (section*.9) 2631 0 R (section.0.1) 5 0 R (section.0.10) 505 0 R (section.0.11) 4049 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R (section.0.6) 65 0 R (section.0.7) 145 0 R (section.0.8) 149 0 R (section.0.9) 173 0 R (subsection.0.10.1) 506 0 R (subsection.0.10.2) 518 0 R (subsection.0.10.3) 2188 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.6.1) 69 0 R (subsection.0.6.2) 81 0 R (subsection.0.6.3) 93 0 R (subsection.0.6.4) 97 0 R (subsection.0.6.5) 121 0 R (subsection.0.6.6) 137 0 R (subsection.0.6.7) 141 0 R ] /Limits [ (section*.6) (subsection.0.6.7) ] >>
endobj
4490 0 obj
-<< /Names [ (section*.1) 2288 0 R (section*.10) 2708 0 R (section*.11) 2718 0 R (section*.12) 2762 0 R (section*.13) 2764 0 R (section*.14) 2899 0 R (section*.15) 2902 0 R (section*.16) 2913 0 R (section*.17) 2943 0 R (section*.18) 2961 0 R (section*.19) 2991 0 R (section*.2) 2331 0 R (section*.20) 3038 0 R (section*.21) 3040 0 R (section*.22) 3129 0 R (section*.23) 3141 0 R (section*.24) 3146 0 R (section*.25) 3148 0 R (section*.26) 3165 0 R (section*.27) 3265 0 R (section*.28) 3271 0 R (section*.29) 3276 0 R (section*.3) 2366 0 R (section*.30) 3289 0 R (section*.31) 4061 0 R (section*.32) 4062 0 R (section*.33) 4063 0 R (section*.34) 4064 0 R (section*.35) 4065 0 R (section*.36) 4066 0 R (section*.37) 4067 0 R (section*.38) 4078 0 R ] /Limits [ (section*.1) (section*.38) ] >>
+<< /Names [ (subsection.0.8.1) 153 0 R (subsection.0.8.2) 157 0 R (subsection.0.8.3) 161 0 R (subsection.0.8.4) 165 0 R (subsection.0.8.5) 169 0 R (subsection.0.9.1) 177 0 R (subsection.0.9.2) 181 0 R (subsection.0.9.3) 185 0 R (subsection.0.9.4) 189 0 R (subsection.0.9.5) 193 0 R (subsection.0.9.6) 495 0 R (subsubsection.0.10.2.1) 519 0 R (subsubsection.0.10.2.10) 1909 0 R (subsubsection.0.10.2.11) 1981 0 R (subsubsection.0.10.2.12) 1992 0 R (subsubsection.0.10.2.13) 2147 0 R (subsubsection.0.10.2.14) 2162 0 R (subsubsection.0.10.2.2) 680 0 R (subsubsection.0.10.2.3) 798 0 R (subsubsection.0.10.2.4) 976 0 R (subsubsection.0.10.2.5) 1250 0 R (subsubsection.0.10.2.6) 1269 0 R (subsubsection.0.10.2.7) 1296 0 R (subsubsection.0.10.2.8) 1758 0 R (subsubsection.0.10.2.9) 1863 0 R (subsubsection.0.10.3.1) 2457 0 R (subsubsection.0.10.3.2) 2795 0 R (subsubsection.0.10.3.3) 3072 0 R (subsubsection.0.10.3.4) 3189 0 R (subsubsection.0.10.3.5) 3351 0 R (subsubsection.0.10.3.6) 3504 0 R (subsubsection.0.10.3.7) 3514 0 R ] /Limits [ (subsection.0.8.1) (subsubsection.0.10.3.7) ] >>
endobj
4491 0 obj
-<< /Names [ (section*.39) 4079 0 R (section*.4) 2448 0 R (section*.40) 4080 0 R (section*.41) 4081 0 R (section*.42) 4082 0 R (section*.43) 4083 0 R (section*.44) 4084 0 R (section*.45) 4085 0 R (section*.46) 4086 0 R (section*.5) 2568 0 R (section*.6) 2633 0 R (section*.7) 2636 0 R (section*.8) 2638 0 R (section*.9) 2640 0 R (section.0.1) 5 0 R (section.0.10) 301 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R (section.0.6) 141 0 R (section.0.7) 145 0 R (section.0.8) 169 0 R (section.0.9) 193 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.5.1) 65 0 R ] /Limits [ (section*.39) (subsection.0.5.1) ] >>
+<< /Names [ (subsubsection.0.10.3.8) 3616 0 R (subsubsection.0.10.3.9) 3679 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.6.1.1) 73 0 R (subsubsection.0.6.1.2) 77 0 R (subsubsection.0.6.2.1) 85 0 R (subsubsection.0.6.2.2) 89 0 R (subsubsection.0.6.4.1) 101 0 R (subsubsection.0.6.4.2) 105 0 R (subsubsection.0.6.4.3) 109 0 R (subsubsection.0.6.4.4) 113 0 R (subsubsection.0.6.4.5) 117 0 R (subsubsection.0.6.5.1) 125 0 R (subsubsection.0.6.5.2) 129 0 R (subsubsection.0.6.5.3) 133 0 R (toc1.1) 4077 0 R ] /Limits [ (subsubsection.0.10.3.8) (toc1.1) ] >>
endobj
4492 0 obj
-<< /Names [ (subsection.0.5.2) 77 0 R (subsection.0.5.3) 89 0 R (subsection.0.5.4) 93 0 R (subsection.0.5.5) 117 0 R (subsection.0.5.6) 133 0 R (subsection.0.5.7) 137 0 R (subsection.0.7.1) 149 0 R (subsection.0.7.2) 153 0 R (subsection.0.7.3) 157 0 R (subsection.0.7.4) 161 0 R (subsection.0.7.5) 165 0 R (subsection.0.8.1) 173 0 R (subsection.0.8.2) 177 0 R (subsection.0.8.3) 181 0 R (subsection.0.8.4) 185 0 R (subsection.0.8.5) 189 0 R (subsection.0.9.1) 197 0 R (subsection.0.9.2) 201 0 R (subsection.0.9.3) 261 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.5.1.1) 69 0 R (subsubsection.0.5.1.2) 73 0 R (subsubsection.0.5.2.1) 81 0 R (subsubsection.0.5.2.2) 85 0 R (subsubsection.0.5.4.1) 97 0 R (subsubsection.0.5.4.2) 101 0 R (subsubsection.0.5.4.3) 105 0 R (subsubsection.0.5.4.4) 109 0 R (subsubsection.0.5.4.5) 113 0 R (subsubsection.0.5.5.1) 121 0 R ] /Limits [ (subsection.0.5.2) (subsubsection.0.5.5.1) ] >>
+<< /Kids [ 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
endobj
4493 0 obj
-<< /Names [ (subsubsection.0.5.5.2) 125 0 R (subsubsection.0.5.5.3) 129 0 R (subsubsection.0.9.2.1) 205 0 R (subsubsection.0.9.2.10) 241 0 R (subsubsection.0.9.2.11) 245 0 R (subsubsection.0.9.2.12) 249 0 R (subsubsection.0.9.2.13) 253 0 R (subsubsection.0.9.2.14) 257 0 R (subsubsection.0.9.2.2) 209 0 R (subsubsection.0.9.2.3) 213 0 R (subsubsection.0.9.2.4) 217 0 R (subsubsection.0.9.2.5) 221 0 R (subsubsection.0.9.2.6) 225 0 R (subsubsection.0.9.2.7) 229 0 R (subsubsection.0.9.2.8) 233 0 R (subsubsection.0.9.2.9) 237 0 R (subsubsection.0.9.3.1) 265 0 R (subsubsection.0.9.3.2) 269 0 R (subsubsection.0.9.3.3) 273 0 R (subsubsection.0.9.3.4) 277 0 R (subsubsection.0.9.3.5) 281 0 R (subsubsection.0.9.3.6) 285 0 R (subsubsection.0.9.3.7) 289 0 R (subsubsection.0.9.3.8) 293 0 R (subsubsection.0.9.3.9) 297 0 R (toc1.1) 305 0 R ] /Limits [ (subsubsection.0.5.5.2) (toc1.1) ] >>
+<< /Kids [ 4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R 4422 0 R 4423 0 R 4424 0 R 4425 0 R 4426 0 R 4427 0 R 4428 0 R 4429 0 R 4430 0 R 4431 0 R 4432 0 R 4433 0 R 4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R 4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R 4446 0 R 4447 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
endobj
4494 0 obj
-<< /Kids [ 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R 4416 0 R 4417 0 R 4418 0 R 4419 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
+<< /Kids [ 4448 0 R 4449 0 R 4450 0 R 4451 0 R 4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4458 0 R 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R 4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4469 0 R 4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R 4476 0 R 4477 0 R 4478 0 R 4479 0 R ] /Limits [ (HD.2841) (HD.913) ] >>
endobj
4495 0 obj
-<< /Kids [ 4420 0 R 4421 0 R 4422 0 R 4423 0 R 4424 0 R 4425 0 R 4426 0 R 4427 0 R 4428 0 R 4429 0 R 4430 0 R 4431 0 R 4432 0 R 4433 0 R 4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R 4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R 4446 0 R 4447 0 R 4448 0 R 4449 0 R 4450 0 R 4451 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
+<< /Kids [ 4480 0 R 4481 0 R 4482 0 R 4483 0 R 4484 0 R 4485 0 R 4486 0 R 4487 0 R 4488 0 R 4489 0 R 4490 0 R 4491 0 R ] /Limits [ (HD.914) (toc1.1) ] >>
endobj
4496 0 obj
-<< /Kids [ 4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4458 0 R 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R 4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4469 0 R 4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R 4476 0 R 4477 0 R 4478 0 R 4479 0 R 4480 0 R 4481 0 R 4482 0 R 4483 0 R ] /Limits [ (HD.2841) (HD.956) ] >>
+<< /Kids [ 4492 0 R 4493 0 R 4494 0 R 4495 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
endobj
4497 0 obj
-<< /Kids [ 4484 0 R 4485 0 R 4486 0 R 4487 0 R 4488 0 R 4489 0 R 4490 0 R 4491 0 R 4492 0 R 4493 0 R ] /Limits [ (HD.957) (toc1.1) ] >>
+<< /Dests 4496 0 R >>
endobj
4498 0 obj
-<< /Kids [ 4494 0 R 4495 0 R 4496 0 R 4497 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+<< /Type /Catalog /Pages 4382 0 R /Outlines 4383 0 R /Names 4497 0 R /PageMode/UseOutlines /OpenAction 196 0 R >>
endobj
4499 0 obj
-<< /Dests 4498 0 R >>
-endobj
-4500 0 obj
-<< /Type /Catalog /Pages 4386 0 R /Outlines 4387 0 R /Names 4499 0 R /PageMode/UseOutlines /OpenAction 308 0 R >>
-endobj
-4501 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240414152508+02'00') /ModDate (D:20240414152508+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240512112224+02'00') /ModDate (D:20240512112224+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 4502
+0 4500
0000000000 65535 f
-0000577436 00000 n
-0000577481 00000 n
-0000577501 00000 n
+0000589850 00000 n
+0000589895 00000 n
+0000589915 00000 n
0000000020 00000 n
-0000023423 00000 n
-0000855575 00000 n
+0000016232 00000 n
+0000865600 00000 n
0000000067 00000 n
0000000167 00000 n
-0000023483 00000 n
-0000855488 00000 n
+0000021877 00000 n
+0000865513 00000 n
0000000214 00000 n
0000000315 00000 n
-0000029418 00000 n
-0000855362 00000 n
+0000021937 00000 n
+0000865387 00000 n
0000000363 00000 n
0000000503 00000 n
-0000029479 00000 n
-0000855288 00000 n
+0000021998 00000 n
+0000865313 00000 n
0000000556 00000 n
0000000708 00000 n
-0000029539 00000 n
-0000855201 00000 n
+0000022059 00000 n
+0000865226 00000 n
0000000761 00000 n
0000000979 00000 n
-0000029600 00000 n
-0000855114 00000 n
+0000022120 00000 n
+0000865139 00000 n
0000001032 00000 n
0000001248 00000 n
-0000029661 00000 n
-0000855040 00000 n
+0000027504 00000 n
+0000865065 00000 n
0000001301 00000 n
0000001530 00000 n
-0000034819 00000 n
-0000854914 00000 n
+0000034596 00000 n
+0000864939 00000 n
0000001578 00000 n
0000001684 00000 n
-0000034880 00000 n
-0000854840 00000 n
+0000034657 00000 n
+0000864865 00000 n
0000001737 00000 n
0000001991 00000 n
-0000054050 00000 n
-0000854716 00000 n
+0000046517 00000 n
+0000864741 00000 n
0000002044 00000 n
0000002148 00000 n
-0000054111 00000 n
-0000854642 00000 n
+0000046578 00000 n
+0000864667 00000 n
0000002206 00000 n
0000002348 00000 n
-0000058243 00000 n
-0000854555 00000 n
+0000051725 00000 n
+0000864580 00000 n
0000002406 00000 n
0000002629 00000 n
-0000058303 00000 n
-0000854481 00000 n
+0000056890 00000 n
+0000864506 00000 n
0000002687 00000 n
0000002864 00000 n
-0000063151 00000 n
-0000854407 00000 n
+0000057079 00000 n
+0000864432 00000 n
0000002917 00000 n
0000003117 00000 n
-0000068240 00000 n
-0000854279 00000 n
+0000061071 00000 n
+0000864343 00000 n
0000003165 00000 n
-0000003294 00000 n
-0000068301 00000 n
-0000854168 00000 n
-0000003347 00000 n
-0000003545 00000 n
-0000068362 00000 n
-0000854094 00000 n
-0000003603 00000 n
-0000003722 00000 n
-0000068423 00000 n
-0000854020 00000 n
-0000003780 00000 n
-0000003899 00000 n
-0000072871 00000 n
-0000853896 00000 n
-0000003952 00000 n
-0000004166 00000 n
-0000072932 00000 n
-0000853822 00000 n
-0000004224 00000 n
-0000004376 00000 n
-0000072993 00000 n
-0000853748 00000 n
-0000004434 00000 n
-0000004601 00000 n
-0000080350 00000 n
-0000853661 00000 n
-0000004654 00000 n
-0000004856 00000 n
-0000085371 00000 n
-0000853535 00000 n
-0000004909 00000 n
-0000005117 00000 n
-0000085431 00000 n
-0000853460 00000 n
-0000005175 00000 n
-0000005352 00000 n
-0000089262 00000 n
-0000853369 00000 n
-0000005411 00000 n
-0000005604 00000 n
-0000089324 00000 n
-0000853277 00000 n
-0000005663 00000 n
-0000005876 00000 n
-0000089386 00000 n
-0000853185 00000 n
-0000005935 00000 n
-0000006123 00000 n
-0000092982 00000 n
-0000853107 00000 n
-0000006182 00000 n
-0000006395 00000 n
-0000098450 00000 n
-0000852977 00000 n
-0000006449 00000 n
-0000006658 00000 n
-0000098511 00000 n
-0000852898 00000 n
-0000006717 00000 n
-0000007040 00000 n
-0000098573 00000 n
-0000852805 00000 n
-0000007099 00000 n
-0000007476 00000 n
-0000102104 00000 n
-0000852726 00000 n
-0000007535 00000 n
-0000007932 00000 n
-0000108039 00000 n
-0000852634 00000 n
-0000007986 00000 n
-0000008243 00000 n
-0000108100 00000 n
-0000852556 00000 n
-0000008297 00000 n
-0000008404 00000 n
-0000108162 00000 n
-0000852463 00000 n
-0000008453 00000 n
-0000008619 00000 n
-0000112226 00000 n
-0000852330 00000 n
-0000008668 00000 n
-0000008750 00000 n
-0000112288 00000 n
-0000852251 00000 n
-0000008804 00000 n
-0000008929 00000 n
-0000112350 00000 n
-0000852158 00000 n
-0000008983 00000 n
-0000009207 00000 n
-0000116860 00000 n
-0000852065 00000 n
-0000009261 00000 n
-0000009427 00000 n
-0000121938 00000 n
-0000851972 00000 n
-0000009481 00000 n
-0000009721 00000 n
-0000125261 00000 n
-0000851893 00000 n
-0000009775 00000 n
-0000009918 00000 n
-0000129777 00000 n
-0000851760 00000 n
-0000009967 00000 n
-0000010262 00000 n
-0000129839 00000 n
-0000851681 00000 n
-0000010316 00000 n
-0000010469 00000 n
-0000133369 00000 n
-0000851588 00000 n
-0000010523 00000 n
-0000010671 00000 n
-0000136959 00000 n
-0000851495 00000 n
-0000010725 00000 n
-0000010915 00000 n
-0000140347 00000 n
-0000851402 00000 n
-0000010969 00000 n
-0000011107 00000 n
-0000142520 00000 n
-0000851323 00000 n
-0000011161 00000 n
-0000011339 00000 n
-0000147029 00000 n
-0000851190 00000 n
-0000011388 00000 n
-0000011500 00000 n
-0000147091 00000 n
-0000851111 00000 n
-0000011554 00000 n
-0000011666 00000 n
-0000151023 00000 n
-0000850978 00000 n
-0000011720 00000 n
-0000011952 00000 n
-0000151085 00000 n
-0000850899 00000 n
-0000012011 00000 n
-0000012212 00000 n
-0000168646 00000 n
-0000850806 00000 n
-0000012271 00000 n
-0000012522 00000 n
-0000188189 00000 n
-0000850713 00000 n
-0000012581 00000 n
-0000012793 00000 n
-0000208824 00000 n
-0000850620 00000 n
-0000012852 00000 n
-0000012974 00000 n
-0000235377 00000 n
-0000850527 00000 n
-0000013033 00000 n
-0000013227 00000 n
-0000236609 00000 n
-0000850434 00000 n
-0000013286 00000 n
-0000013549 00000 n
-0000240883 00000 n
-0000850341 00000 n
-0000013608 00000 n
-0000013959 00000 n
-0000290100 00000 n
-0000850248 00000 n
-0000014018 00000 n
-0000014133 00000 n
-0000301618 00000 n
-0000850155 00000 n
-0000014192 00000 n
-0000014350 00000 n
-0000307429 00000 n
-0000850062 00000 n
-0000014410 00000 n
-0000014628 00000 n
-0000314307 00000 n
-0000849969 00000 n
-0000014688 00000 n
-0000014795 00000 n
-0000315018 00000 n
-0000849876 00000 n
-0000014855 00000 n
-0000015102 00000 n
-0000331203 00000 n
-0000849783 00000 n
-0000015162 00000 n
-0000015320 00000 n
-0000332176 00000 n
-0000849704 00000 n
-0000015380 00000 n
-0000015535 00000 n
-0000333536 00000 n
-0000849586 00000 n
-0000015589 00000 n
-0000015826 00000 n
-0000370777 00000 n
-0000849507 00000 n
-0000015885 00000 n
-0000016048 00000 n
-0000411643 00000 n
-0000849414 00000 n
-0000016107 00000 n
-0000016265 00000 n
-0000441118 00000 n
-0000849321 00000 n
-0000016324 00000 n
-0000016462 00000 n
-0000453408 00000 n
-0000849228 00000 n
-0000016521 00000 n
-0000016669 00000 n
-0000471081 00000 n
-0000849135 00000 n
-0000016728 00000 n
-0000016916 00000 n
-0000488468 00000 n
-0000849042 00000 n
-0000016975 00000 n
-0000017381 00000 n
-0000489115 00000 n
-0000848949 00000 n
-0000017440 00000 n
-0000017750 00000 n
-0000500939 00000 n
-0000848856 00000 n
-0000017809 00000 n
-0000018026 00000 n
-0000507384 00000 n
-0000848777 00000 n
-0000018085 00000 n
-0000018426 00000 n
-0000548843 00000 n
-0000848683 00000 n
-0000018476 00000 n
-0000018558 00000 n
-0000553406 00000 n
-0000848603 00000 n
-0000018602 00000 n
-0000018671 00000 n
-0000022420 00000 n
-0000022610 00000 n
-0000022920 00000 n
-0000022765 00000 n
-0000023668 00000 n
-0000018735 00000 n
-0000023299 00000 n
-0000023361 00000 n
-0000756501 00000 n
-0000753609 00000 n
-0000845544 00000 n
-0000751395 00000 n
-0000747556 00000 n
-0000744210 00000 n
-0000741578 00000 n
-0000734784 00000 n
-0000732671 00000 n
-0000724602 00000 n
-0000713747 00000 n
-0000710184 00000 n
-0000707081 00000 n
-0000696420 00000 n
-0000692729 00000 n
-0000846260 00000 n
-0000844822 00000 n
-0000845184 00000 n
-0000846436 00000 n
-0000845724 00000 n
-0000686107 00000 n
-0000677315 00000 n
-0000673080 00000 n
-0000023543 00000 n
-0000669970 00000 n
-0000666247 00000 n
-0000023112 00000 n
-0000023606 00000 n
-0000846783 00000 n
-0000022557 00000 n
-0000028551 00000 n
-0000028712 00000 n
-0000028873 00000 n
-0000029034 00000 n
-0000029195 00000 n
-0000029722 00000 n
-0000028353 00000 n
-0000024104 00000 n
-0000029356 00000 n
-0000658529 00000 n
-0000656740 00000 n
-0000647834 00000 n
-0000028490 00000 n
-0000034290 00000 n
-0000034446 00000 n
-0000034602 00000 n
-0000035128 00000 n
-0000034108 00000 n
-0000029937 00000 n
-0000034757 00000 n
-0000641073 00000 n
-0000034941 00000 n
-0000035004 00000 n
-0000035067 00000 n
-0000034245 00000 n
-0000040222 00000 n
-0000041011 00000 n
-0000041166 00000 n
-0000040377 00000 n
-0000040533 00000 n
-0000040689 00000 n
-0000040850 00000 n
-0000041571 00000 n
-0000040008 00000 n
-0000035421 00000 n
-0000041321 00000 n
-0000041383 00000 n
-0000041446 00000 n
-0000041509 00000 n
-0000040145 00000 n
-0000046757 00000 n
-0000046917 00000 n
-0000047078 00000 n
-0000047243 00000 n
-0000047408 00000 n
-0000047564 00000 n
-0000047724 00000 n
-0000047884 00000 n
-0000048041 00000 n
-0000048198 00000 n
-0000048355 00000 n
-0000048517 00000 n
-0000048991 00000 n
-0000046503 00000 n
-0000041812 00000 n
-0000048679 00000 n
-0000638277 00000 n
-0000634833 00000 n
-0000048741 00000 n
-0000048804 00000 n
-0000048867 00000 n
-0000048929 00000 n
-0000046640 00000 n
-0000053359 00000 n
-0000053520 00000 n
-0000053677 00000 n
-0000053832 00000 n
-0000054234 00000 n
-0000053169 00000 n
-0000049258 00000 n
-0000053988 00000 n
-0000054172 00000 n
-0000053306 00000 n
-0000057869 00000 n
-0000058026 00000 n
-0000062487 00000 n
-0000058490 00000 n
-0000057695 00000 n
-0000054514 00000 n
-0000058181 00000 n
-0000623309 00000 n
-0000058364 00000 n
-0000058427 00000 n
-0000057832 00000 n
-0000062647 00000 n
-0000062804 00000 n
-0000063338 00000 n
-0000062305 00000 n
-0000058757 00000 n
-0000062961 00000 n
-0000063023 00000 n
-0000063087 00000 n
-0000063212 00000 n
-0000063275 00000 n
-0000062442 00000 n
-0000067866 00000 n
-0000068022 00000 n
-0000068610 00000 n
-0000067692 00000 n
-0000063631 00000 n
-0000068178 00000 n
-0000068484 00000 n
-0000068547 00000 n
-0000067829 00000 n
-0000073054 00000 n
-0000072688 00000 n
-0000068877 00000 n
-0000072809 00000 n
-0000076223 00000 n
-0000076040 00000 n
-0000073295 00000 n
-0000076161 00000 n
-0000846936 00000 n
-0000079809 00000 n
-0000079966 00000 n
-0000080127 00000 n
-0000080472 00000 n
-0000079627 00000 n
-0000076438 00000 n
-0000080288 00000 n
-0000080411 00000 n
-0000079764 00000 n
-0000084508 00000 n
-0000084669 00000 n
-0000084830 00000 n
-0000084991 00000 n
-0000085152 00000 n
-0000085553 00000 n
-0000084310 00000 n
-0000080739 00000 n
-0000085309 00000 n
-0000085492 00000 n
-0000084447 00000 n
-0000089448 00000 n
-0000089079 00000 n
-0000085820 00000 n
-0000089200 00000 n
-0000093044 00000 n
-0000092799 00000 n
-0000089676 00000 n
-0000092920 00000 n
-0000097760 00000 n
-0000097917 00000 n
-0000098074 00000 n
-0000098231 00000 n
-0000098886 00000 n
-0000097570 00000 n
-0000093220 00000 n
-0000098388 00000 n
-0000845902 00000 n
-0000845003 00000 n
-0000098635 00000 n
-0000098698 00000 n
-0000098761 00000 n
-0000098824 00000 n
-0000097707 00000 n
-0000102166 00000 n
-0000101921 00000 n
-0000099244 00000 n
-0000102042 00000 n
-0000106845 00000 n
-0000107006 00000 n
-0000107167 00000 n
-0000107327 00000 n
-0000107493 00000 n
-0000107659 00000 n
-0000107818 00000 n
-0000108224 00000 n
-0000106631 00000 n
-0000102355 00000 n
-0000107977 00000 n
-0000106768 00000 n
-0000112412 00000 n
-0000112043 00000 n
-0000108426 00000 n
-0000112164 00000 n
-0000116164 00000 n
-0000116325 00000 n
-0000116486 00000 n
-0000116641 00000 n
-0000117047 00000 n
-0000115974 00000 n
-0000112614 00000 n
-0000116798 00000 n
-0000116921 00000 n
-0000116984 00000 n
-0000116111 00000 n
-0000120780 00000 n
-0000120937 00000 n
-0000121094 00000 n
-0000121254 00000 n
-0000121414 00000 n
-0000121571 00000 n
-0000122061 00000 n
-0000120574 00000 n
-0000117288 00000 n
-0000121751 00000 n
-0000619751 00000 n
-0000121813 00000 n
-0000121875 00000 n
-0000121999 00000 n
-0000847089 00000 n
-0000120711 00000 n
-0000124887 00000 n
-0000125043 00000 n
-0000125323 00000 n
-0000124713 00000 n
-0000122328 00000 n
-0000125199 00000 n
-0000617552 00000 n
-0000605379 00000 n
-0000590725 00000 n
-0000124850 00000 n
-0000129380 00000 n
-0000129537 00000 n
-0000129963 00000 n
-0000129206 00000 n
-0000125567 00000 n
-0000129715 00000 n
-0000129901 00000 n
-0000129343 00000 n
-0000133431 00000 n
-0000133186 00000 n
-0000130204 00000 n
-0000133307 00000 n
-0000137021 00000 n
-0000136776 00000 n
-0000133594 00000 n
-0000136897 00000 n
-0000140409 00000 n
-0000140164 00000 n
-0000137210 00000 n
-0000140285 00000 n
-0000142136 00000 n
-0000142297 00000 n
-0000142582 00000 n
-0000141962 00000 n
-0000140585 00000 n
-0000142458 00000 n
-0000142099 00000 n
-0000146342 00000 n
-0000146497 00000 n
-0000146653 00000 n
-0000146810 00000 n
-0000147404 00000 n
-0000146152 00000 n
-0000142745 00000 n
-0000146967 00000 n
-0000147152 00000 n
-0000147215 00000 n
-0000147278 00000 n
-0000147341 00000 n
-0000146289 00000 n
-0000153409 00000 n
-0000150840 00000 n
-0000147697 00000 n
-0000150961 00000 n
-0000844677 00000 n
-0000151147 00000 n
-0000846080 00000 n
-0000846610 00000 n
-0000151210 00000 n
-0000151273 00000 n
-0000151336 00000 n
-0000151399 00000 n
-0000151461 00000 n
-0000151524 00000 n
-0000151587 00000 n
-0000151650 00000 n
-0000151713 00000 n
-0000151776 00000 n
-0000151838 00000 n
-0000151901 00000 n
-0000151964 00000 n
-0000152027 00000 n
-0000152090 00000 n
-0000152153 00000 n
-0000152216 00000 n
-0000152279 00000 n
-0000152342 00000 n
-0000152404 00000 n
-0000152467 00000 n
-0000152530 00000 n
-0000152593 00000 n
-0000152656 00000 n
-0000152719 00000 n
-0000152782 00000 n
-0000152845 00000 n
-0000152908 00000 n
-0000152971 00000 n
-0000153034 00000 n
-0000153097 00000 n
-0000153160 00000 n
-0000153223 00000 n
-0000153285 00000 n
-0000153347 00000 n
-0000159103 00000 n
-0000155965 00000 n
-0000153639 00000 n
-0000156086 00000 n
-0000156148 00000 n
-0000156211 00000 n
-0000156273 00000 n
-0000156336 00000 n
-0000156399 00000 n
-0000156462 00000 n
-0000156525 00000 n
-0000156588 00000 n
-0000156651 00000 n
-0000156714 00000 n
-0000156777 00000 n
-0000156840 00000 n
-0000156903 00000 n
-0000156966 00000 n
-0000157028 00000 n
-0000157091 00000 n
-0000157154 00000 n
-0000157217 00000 n
-0000157280 00000 n
-0000157343 00000 n
-0000157406 00000 n
-0000157469 00000 n
-0000157532 00000 n
-0000157595 00000 n
-0000157658 00000 n
-0000157721 00000 n
-0000157784 00000 n
-0000157847 00000 n
-0000157910 00000 n
-0000157973 00000 n
-0000158036 00000 n
-0000158099 00000 n
-0000158162 00000 n
-0000158225 00000 n
-0000158287 00000 n
-0000158350 00000 n
-0000158413 00000 n
-0000158476 00000 n
-0000158539 00000 n
-0000158602 00000 n
-0000158665 00000 n
-0000158728 00000 n
-0000158791 00000 n
-0000158853 00000 n
-0000158916 00000 n
-0000158979 00000 n
-0000159041 00000 n
-0000164736 00000 n
-0000161350 00000 n
-0000159266 00000 n
-0000161471 00000 n
-0000161533 00000 n
-0000161596 00000 n
-0000161658 00000 n
-0000161721 00000 n
-0000161784 00000 n
-0000161847 00000 n
-0000161910 00000 n
-0000161973 00000 n
-0000162036 00000 n
-0000162099 00000 n
-0000162162 00000 n
-0000162225 00000 n
-0000162288 00000 n
-0000162351 00000 n
-0000162414 00000 n
-0000162477 00000 n
-0000162540 00000 n
-0000162603 00000 n
-0000162666 00000 n
-0000162729 00000 n
-0000162792 00000 n
-0000162855 00000 n
-0000162918 00000 n
-0000162980 00000 n
-0000163043 00000 n
-0000163106 00000 n
-0000163169 00000 n
-0000163232 00000 n
-0000163295 00000 n
-0000163354 00000 n
-0000163417 00000 n
-0000163480 00000 n
-0000163543 00000 n
-0000163606 00000 n
-0000163669 00000 n
-0000163732 00000 n
-0000163795 00000 n
-0000163858 00000 n
-0000163920 00000 n
-0000163983 00000 n
-0000164046 00000 n
-0000164109 00000 n
-0000164172 00000 n
-0000164235 00000 n
-0000164297 00000 n
-0000164360 00000 n
-0000164423 00000 n
-0000164486 00000 n
-0000164549 00000 n
-0000164612 00000 n
-0000164674 00000 n
-0000847242 00000 n
-0000169463 00000 n
-0000167708 00000 n
-0000164899 00000 n
-0000167829 00000 n
-0000167891 00000 n
-0000167954 00000 n
-0000168016 00000 n
-0000168079 00000 n
-0000168142 00000 n
-0000168205 00000 n
-0000168268 00000 n
-0000168331 00000 n
-0000168394 00000 n
-0000168457 00000 n
-0000168520 00000 n
-0000168583 00000 n
-0000168708 00000 n
-0000168771 00000 n
-0000168834 00000 n
-0000168897 00000 n
-0000168960 00000 n
-0000169023 00000 n
-0000169085 00000 n
-0000169148 00000 n
-0000169211 00000 n
-0000169274 00000 n
-0000169337 00000 n
-0000169400 00000 n
-0000174147 00000 n
-0000172645 00000 n
-0000169665 00000 n
-0000172766 00000 n
-0000172828 00000 n
-0000172891 00000 n
-0000172954 00000 n
-0000173017 00000 n
-0000173080 00000 n
-0000173143 00000 n
-0000173206 00000 n
-0000173269 00000 n
-0000173331 00000 n
-0000173392 00000 n
-0000173455 00000 n
-0000173518 00000 n
-0000173581 00000 n
-0000173644 00000 n
-0000173707 00000 n
-0000173769 00000 n
-0000173832 00000 n
-0000173895 00000 n
-0000173958 00000 n
-0000174021 00000 n
-0000174084 00000 n
-0000178860 00000 n
-0000177608 00000 n
-0000174323 00000 n
-0000177729 00000 n
-0000177791 00000 n
-0000177854 00000 n
-0000177917 00000 n
-0000177980 00000 n
-0000178043 00000 n
-0000178106 00000 n
-0000178169 00000 n
-0000178231 00000 n
-0000178294 00000 n
-0000178357 00000 n
-0000178420 00000 n
-0000178482 00000 n
-0000178545 00000 n
-0000178608 00000 n
-0000178671 00000 n
-0000178734 00000 n
-0000178797 00000 n
-0000183957 00000 n
-0000181385 00000 n
-0000179049 00000 n
-0000181506 00000 n
-0000181568 00000 n
-0000181631 00000 n
-0000181694 00000 n
-0000181757 00000 n
-0000181819 00000 n
-0000181882 00000 n
-0000181945 00000 n
-0000182008 00000 n
-0000182071 00000 n
-0000182134 00000 n
-0000182197 00000 n
-0000182260 00000 n
-0000182323 00000 n
-0000182386 00000 n
-0000182448 00000 n
-0000182511 00000 n
-0000182574 00000 n
-0000182637 00000 n
-0000182700 00000 n
-0000182763 00000 n
-0000182825 00000 n
-0000182888 00000 n
-0000182951 00000 n
-0000183014 00000 n
-0000183077 00000 n
-0000183140 00000 n
-0000183203 00000 n
-0000183265 00000 n
-0000183328 00000 n
-0000183391 00000 n
-0000183454 00000 n
-0000183517 00000 n
-0000183580 00000 n
-0000183643 00000 n
-0000183705 00000 n
-0000183768 00000 n
-0000183831 00000 n
-0000183894 00000 n
-0000189446 00000 n
-0000187188 00000 n
-0000184133 00000 n
-0000187309 00000 n
-0000187371 00000 n
-0000187434 00000 n
-0000187497 00000 n
-0000187560 00000 n
-0000187623 00000 n
-0000187686 00000 n
-0000187749 00000 n
-0000187812 00000 n
-0000187875 00000 n
-0000187938 00000 n
-0000188001 00000 n
-0000188064 00000 n
-0000188126 00000 n
-0000188251 00000 n
-0000188314 00000 n
-0000188377 00000 n
-0000188440 00000 n
-0000188502 00000 n
-0000188565 00000 n
-0000188628 00000 n
-0000188691 00000 n
-0000188754 00000 n
-0000188817 00000 n
-0000188880 00000 n
-0000188943 00000 n
-0000189006 00000 n
-0000189068 00000 n
-0000189131 00000 n
-0000189194 00000 n
-0000189257 00000 n
-0000189320 00000 n
-0000189383 00000 n
-0000195480 00000 n
-0000191906 00000 n
-0000189648 00000 n
-0000192027 00000 n
-0000192089 00000 n
-0000192152 00000 n
-0000192214 00000 n
-0000192277 00000 n
-0000192340 00000 n
-0000192403 00000 n
-0000192466 00000 n
-0000192529 00000 n
-0000192592 00000 n
-0000192655 00000 n
-0000192718 00000 n
-0000192781 00000 n
-0000192844 00000 n
-0000192907 00000 n
-0000192969 00000 n
-0000193032 00000 n
-0000193093 00000 n
-0000193156 00000 n
-0000193219 00000 n
-0000193282 00000 n
-0000193345 00000 n
-0000193408 00000 n
-0000193471 00000 n
-0000193534 00000 n
-0000193597 00000 n
-0000193659 00000 n
-0000193722 00000 n
-0000193785 00000 n
-0000193848 00000 n
-0000193911 00000 n
-0000193974 00000 n
-0000194037 00000 n
-0000194100 00000 n
-0000194163 00000 n
-0000194225 00000 n
-0000194288 00000 n
-0000194351 00000 n
-0000194413 00000 n
-0000194476 00000 n
-0000194538 00000 n
-0000194601 00000 n
-0000194664 00000 n
-0000194727 00000 n
-0000194790 00000 n
-0000194853 00000 n
-0000194916 00000 n
-0000194979 00000 n
-0000195042 00000 n
-0000195105 00000 n
-0000195167 00000 n
-0000195230 00000 n
-0000195293 00000 n
-0000195356 00000 n
-0000195418 00000 n
-0000198747 00000 n
-0000198907 00000 n
-0000201144 00000 n
-0000198573 00000 n
-0000195643 00000 n
-0000199068 00000 n
-0000199130 00000 n
-0000199193 00000 n
-0000199255 00000 n
-0000199318 00000 n
-0000199381 00000 n
-0000199444 00000 n
-0000199507 00000 n
-0000199570 00000 n
-0000199633 00000 n
-0000199696 00000 n
-0000199759 00000 n
-0000199822 00000 n
-0000199885 00000 n
-0000199948 00000 n
-0000200011 00000 n
-0000200073 00000 n
-0000200136 00000 n
-0000200199 00000 n
-0000200262 00000 n
-0000200325 00000 n
-0000200388 00000 n
-0000200451 00000 n
-0000200514 00000 n
-0000200577 00000 n
-0000200640 00000 n
-0000200703 00000 n
-0000200766 00000 n
-0000200829 00000 n
-0000200892 00000 n
-0000200955 00000 n
-0000201018 00000 n
-0000201081 00000 n
-0000198710 00000 n
-0000206769 00000 n
-0000203206 00000 n
-0000201307 00000 n
-0000203329 00000 n
-0000203393 00000 n
-0000203458 00000 n
-0000203523 00000 n
-0000203588 00000 n
-0000203652 00000 n
-0000203717 00000 n
-0000203782 00000 n
-0000203847 00000 n
-0000203912 00000 n
-0000203977 00000 n
-0000204042 00000 n
-0000204107 00000 n
-0000204172 00000 n
-0000204237 00000 n
-0000204302 00000 n
-0000204367 00000 n
-0000204432 00000 n
-0000204497 00000 n
-0000204560 00000 n
-0000204625 00000 n
-0000204690 00000 n
-0000204755 00000 n
-0000204820 00000 n
-0000204885 00000 n
-0000204950 00000 n
-0000205015 00000 n
-0000205080 00000 n
-0000205145 00000 n
-0000205210 00000 n
-0000205275 00000 n
-0000205340 00000 n
-0000205405 00000 n
-0000205470 00000 n
-0000205535 00000 n
-0000205599 00000 n
-0000205664 00000 n
-0000205729 00000 n
-0000205794 00000 n
-0000205859 00000 n
-0000205924 00000 n
-0000205989 00000 n
-0000206054 00000 n
-0000206119 00000 n
-0000206184 00000 n
-0000206249 00000 n
-0000206314 00000 n
-0000206379 00000 n
-0000206444 00000 n
-0000206509 00000 n
-0000206574 00000 n
-0000206639 00000 n
-0000206704 00000 n
-0000212712 00000 n
-0000208636 00000 n
-0000206932 00000 n
-0000208760 00000 n
-0000208887 00000 n
-0000208952 00000 n
-0000209017 00000 n
-0000209082 00000 n
-0000209147 00000 n
-0000209212 00000 n
-0000209277 00000 n
-0000209341 00000 n
-0000209406 00000 n
-0000209471 00000 n
-0000209536 00000 n
-0000209601 00000 n
-0000209666 00000 n
+0000003505 00000 n
+0000065883 00000 n
+0000864215 00000 n
+0000003553 00000 n
+0000003682 00000 n
+0000065944 00000 n
+0000864104 00000 n
+0000003735 00000 n
+0000003933 00000 n
+0000066005 00000 n
+0000864030 00000 n
+0000003991 00000 n
+0000004110 00000 n
+0000071084 00000 n
+0000863956 00000 n
+0000004168 00000 n
+0000004287 00000 n
+0000075245 00000 n
+0000863832 00000 n
+0000004340 00000 n
+0000004554 00000 n
+0000075306 00000 n
+0000863758 00000 n
+0000004612 00000 n
+0000004764 00000 n
+0000075367 00000 n
+0000863684 00000 n
+0000004822 00000 n
+0000004989 00000 n
+0000079170 00000 n
+0000863597 00000 n
+0000005042 00000 n
+0000005244 00000 n
+0000082779 00000 n
+0000863470 00000 n
+0000005297 00000 n
+0000005505 00000 n
+0000087883 00000 n
+0000863392 00000 n
+0000005564 00000 n
+0000005742 00000 n
+0000087945 00000 n
+0000863300 00000 n
+0000005801 00000 n
+0000005994 00000 n
+0000091365 00000 n
+0000863208 00000 n
+0000006053 00000 n
+0000006266 00000 n
+0000091427 00000 n
+0000863116 00000 n
+0000006325 00000 n
+0000006513 00000 n
+0000095355 00000 n
+0000863038 00000 n
+0000006572 00000 n
+0000006785 00000 n
+0000100262 00000 n
+0000862908 00000 n
+0000006839 00000 n
+0000007048 00000 n
+0000100324 00000 n
+0000862829 00000 n
+0000007107 00000 n
+0000007430 00000 n
+0000100386 00000 n
+0000862736 00000 n
+0000007489 00000 n
+0000007866 00000 n
+0000103893 00000 n
+0000862657 00000 n
+0000007925 00000 n
+0000008322 00000 n
+0000109745 00000 n
+0000862565 00000 n
+0000008376 00000 n
+0000008633 00000 n
+0000109807 00000 n
+0000862487 00000 n
+0000008687 00000 n
+0000008794 00000 n
+0000109869 00000 n
+0000862394 00000 n
+0000008843 00000 n
+0000009009 00000 n
+0000113932 00000 n
+0000862261 00000 n
+0000009058 00000 n
+0000009140 00000 n
+0000113994 00000 n
+0000862182 00000 n
+0000009194 00000 n
+0000009319 00000 n
+0000114056 00000 n
+0000862089 00000 n
+0000009373 00000 n
+0000009597 00000 n
+0000118563 00000 n
+0000861996 00000 n
+0000009651 00000 n
+0000009817 00000 n
+0000123641 00000 n
+0000861903 00000 n
+0000009871 00000 n
+0000010111 00000 n
+0000126964 00000 n
+0000861824 00000 n
+0000010165 00000 n
+0000010308 00000 n
+0000131480 00000 n
+0000861705 00000 n
+0000010357 00000 n
+0000010652 00000 n
+0000131542 00000 n
+0000861626 00000 n
+0000010706 00000 n
+0000010859 00000 n
+0000135072 00000 n
+0000861533 00000 n
+0000010913 00000 n
+0000011061 00000 n
+0000138663 00000 n
+0000861440 00000 n
+0000011115 00000 n
+0000011305 00000 n
+0000142052 00000 n
+0000861347 00000 n
+0000011359 00000 n
+0000011497 00000 n
+0000144222 00000 n
+0000861268 00000 n
+0000011551 00000 n
+0000011729 00000 n
+0000015227 00000 n
+0000015417 00000 n
+0000015728 00000 n
+0000015572 00000 n
+0000016418 00000 n
+0000011793 00000 n
+0000016108 00000 n
+0000016170 00000 n
+0000768890 00000 n
+0000765998 00000 n
+0000857933 00000 n
+0000763784 00000 n
+0000760202 00000 n
+0000756856 00000 n
+0000754224 00000 n
+0000747865 00000 n
+0000745752 00000 n
+0000737607 00000 n
+0000726646 00000 n
+0000722979 00000 n
+0000719876 00000 n
+0000709164 00000 n
+0000705213 00000 n
+0000858649 00000 n
+0000857211 00000 n
+0000857573 00000 n
+0000858825 00000 n
+0000858113 00000 n
+0000698526 00000 n
+0000689792 00000 n
+0000685557 00000 n
+0000016292 00000 n
+0000682447 00000 n
+0000678724 00000 n
+0000015920 00000 n
+0000016355 00000 n
+0000859172 00000 n
+0000015364 00000 n
+0000021021 00000 n
+0000021655 00000 n
+0000021177 00000 n
+0000021333 00000 n
+0000021494 00000 n
+0000026808 00000 n
+0000026969 00000 n
+0000022244 00000 n
+0000020823 00000 n
+0000016854 00000 n
+0000021815 00000 n
+0000671006 00000 n
+0000669217 00000 n
+0000022181 00000 n
+0000020960 00000 n
+0000027130 00000 n
+0000027286 00000 n
+0000033280 00000 n
+0000027691 00000 n
+0000026618 00000 n
+0000022498 00000 n
+0000027442 00000 n
+0000660250 00000 n
+0000027565 00000 n
+0000027628 00000 n
+0000026755 00000 n
+0000033435 00000 n
+0000034224 00000 n
+0000034379 00000 n
+0000033591 00000 n
+0000033746 00000 n
+0000033902 00000 n
+0000034063 00000 n
+0000034968 00000 n
+0000033058 00000 n
+0000027958 00000 n
+0000034534 00000 n
+0000653489 00000 n
+0000034718 00000 n
+0000034781 00000 n
+0000034844 00000 n
+0000034906 00000 n
+0000033195 00000 n
+0000040132 00000 n
+0000040292 00000 n
+0000040453 00000 n
+0000040618 00000 n
+0000040783 00000 n
+0000040940 00000 n
+0000041099 00000 n
+0000041258 00000 n
+0000041414 00000 n
+0000045650 00000 n
+0000046125 00000 n
+0000046290 00000 n
+0000041820 00000 n
+0000039902 00000 n
+0000035235 00000 n
+0000041570 00000 n
+0000650693 00000 n
+0000041632 00000 n
+0000041695 00000 n
+0000041758 00000 n
+0000040039 00000 n
+0000045807 00000 n
+0000045968 00000 n
+0000046765 00000 n
+0000045452 00000 n
+0000042087 00000 n
+0000046455 00000 n
+0000647249 00000 n
+0000046639 00000 n
+0000046702 00000 n
+0000045589 00000 n
+0000051041 00000 n
+0000051196 00000 n
+0000051352 00000 n
+0000051509 00000 n
+0000051910 00000 n
+0000050851 00000 n
+0000047032 00000 n
+0000051663 00000 n
+0000635723 00000 n
+0000051785 00000 n
+0000051848 00000 n
+0000050988 00000 n
+0000056355 00000 n
+0000056515 00000 n
+0000056672 00000 n
+0000057264 00000 n
+0000056173 00000 n
+0000052177 00000 n
+0000056828 00000 n
+0000056951 00000 n
+0000057015 00000 n
+0000057140 00000 n
+0000057202 00000 n
+0000056310 00000 n
+0000065508 00000 n
+0000061132 00000 n
+0000060888 00000 n
+0000057570 00000 n
+0000061009 00000 n
+0000065665 00000 n
+0000066191 00000 n
+0000065334 00000 n
+0000061373 00000 n
+0000065821 00000 n
+0000066066 00000 n
+0000066129 00000 n
+0000065471 00000 n
+0000070866 00000 n
+0000071207 00000 n
+0000070700 00000 n
+0000066471 00000 n
+0000071022 00000 n
+0000071145 00000 n
+0000859325 00000 n
+0000070837 00000 n
+0000075428 00000 n
+0000075062 00000 n
+0000071500 00000 n
+0000075183 00000 n
+0000078952 00000 n
+0000082395 00000 n
+0000082556 00000 n
+0000079293 00000 n
+0000078786 00000 n
+0000075695 00000 n
+0000079108 00000 n
+0000079231 00000 n
+0000078923 00000 n
+0000082840 00000 n
+0000082221 00000 n
+0000079547 00000 n
+0000082717 00000 n
+0000082358 00000 n
+0000087022 00000 n
+0000087183 00000 n
+0000087344 00000 n
+0000087504 00000 n
+0000087664 00000 n
+0000088068 00000 n
+0000086824 00000 n
+0000083042 00000 n
+0000087821 00000 n
+0000088007 00000 n
+0000086961 00000 n
+0000091489 00000 n
+0000091182 00000 n
+0000088374 00000 n
+0000091303 00000 n
+0000099573 00000 n
+0000095417 00000 n
+0000095172 00000 n
+0000091678 00000 n
+0000095293 00000 n
+0000858291 00000 n
+0000857392 00000 n
+0000099730 00000 n
+0000099886 00000 n
+0000100043 00000 n
+0000100699 00000 n
+0000099383 00000 n
+0000095697 00000 n
+0000100200 00000 n
+0000100448 00000 n
+0000100511 00000 n
+0000100574 00000 n
+0000100637 00000 n
+0000099520 00000 n
+0000103955 00000 n
+0000103710 00000 n
+0000100966 00000 n
+0000103831 00000 n
+0000108551 00000 n
+0000108711 00000 n
+0000108871 00000 n
+0000109031 00000 n
+0000109196 00000 n
+0000109361 00000 n
+0000109522 00000 n
+0000109931 00000 n
+0000108337 00000 n
+0000104144 00000 n
+0000109683 00000 n
+0000108474 00000 n
+0000114118 00000 n
+0000113749 00000 n
+0000110133 00000 n
+0000113870 00000 n
+0000859478 00000 n
+0000117867 00000 n
+0000118028 00000 n
+0000118189 00000 n
+0000118344 00000 n
+0000118750 00000 n
+0000117677 00000 n
+0000114320 00000 n
+0000118501 00000 n
+0000118624 00000 n
+0000118687 00000 n
+0000117814 00000 n
+0000122483 00000 n
+0000122640 00000 n
+0000122797 00000 n
+0000122957 00000 n
+0000123117 00000 n
+0000123274 00000 n
+0000123764 00000 n
+0000122277 00000 n
+0000118991 00000 n
+0000123454 00000 n
+0000632165 00000 n
+0000123516 00000 n
+0000123578 00000 n
+0000123702 00000 n
+0000122414 00000 n
+0000126590 00000 n
+0000126746 00000 n
+0000127026 00000 n
+0000126416 00000 n
+0000124031 00000 n
+0000126902 00000 n
+0000629966 00000 n
+0000617793 00000 n
+0000603139 00000 n
+0000126553 00000 n
+0000131083 00000 n
+0000131240 00000 n
+0000131666 00000 n
+0000130909 00000 n
+0000127270 00000 n
+0000131418 00000 n
+0000131604 00000 n
+0000131046 00000 n
+0000135134 00000 n
+0000134889 00000 n
+0000131907 00000 n
+0000135010 00000 n
+0000138725 00000 n
+0000138480 00000 n
+0000135297 00000 n
+0000138601 00000 n
+0000142114 00000 n
+0000141869 00000 n
+0000138914 00000 n
+0000141990 00000 n
+0000143838 00000 n
+0000143999 00000 n
+0000144284 00000 n
+0000143664 00000 n
+0000142290 00000 n
+0000144160 00000 n
+0000143801 00000 n
+0000146004 00000 n
+0000146284 00000 n
+0000145838 00000 n
+0000144447 00000 n
+0000146160 00000 n
+0000146222 00000 n
+0000145975 00000 n
+0000150046 00000 n
+0000150201 00000 n
+0000150357 00000 n
+0000150514 00000 n
+0000151108 00000 n
+0000149856 00000 n
+0000146447 00000 n
+0000150671 00000 n
+0000150733 00000 n
+0000150795 00000 n
+0000150856 00000 n
+0000150919 00000 n
+0000150982 00000 n
+0000151045 00000 n
+0000859631 00000 n
+0000149993 00000 n
+0000157108 00000 n
+0000154539 00000 n
+0000151401 00000 n
+0000154660 00000 n
+0000857066 00000 n
+0000154722 00000 n
+0000154784 00000 n
+0000154846 00000 n
+0000858469 00000 n
+0000858999 00000 n
+0000154909 00000 n
+0000154972 00000 n
+0000155035 00000 n
+0000155098 00000 n
+0000155160 00000 n
+0000155223 00000 n
+0000155286 00000 n
+0000155349 00000 n
+0000155412 00000 n
+0000155475 00000 n
+0000155537 00000 n
+0000155600 00000 n
+0000155663 00000 n
+0000155726 00000 n
+0000155789 00000 n
+0000155852 00000 n
+0000155915 00000 n
+0000155978 00000 n
+0000156041 00000 n
+0000156103 00000 n
+0000156166 00000 n
+0000156229 00000 n
+0000156292 00000 n
+0000156355 00000 n
+0000156418 00000 n
+0000156481 00000 n
+0000156544 00000 n
+0000156607 00000 n
+0000156670 00000 n
+0000156733 00000 n
+0000156796 00000 n
+0000156859 00000 n
+0000156922 00000 n
+0000156984 00000 n
+0000157046 00000 n
+0000162797 00000 n
+0000159659 00000 n
+0000157338 00000 n
+0000159780 00000 n
+0000159842 00000 n
+0000159905 00000 n
+0000159967 00000 n
+0000160030 00000 n
+0000160093 00000 n
+0000160156 00000 n
+0000160219 00000 n
+0000160282 00000 n
+0000160345 00000 n
+0000160408 00000 n
+0000160471 00000 n
+0000160534 00000 n
+0000160597 00000 n
+0000160660 00000 n
+0000160722 00000 n
+0000160785 00000 n
+0000160848 00000 n
+0000160911 00000 n
+0000160974 00000 n
+0000161037 00000 n
+0000161100 00000 n
+0000161163 00000 n
+0000161226 00000 n
+0000161289 00000 n
+0000161352 00000 n
+0000161415 00000 n
+0000161478 00000 n
+0000161541 00000 n
+0000161604 00000 n
+0000161667 00000 n
+0000161730 00000 n
+0000161793 00000 n
+0000161856 00000 n
+0000161919 00000 n
+0000161981 00000 n
+0000162044 00000 n
+0000162107 00000 n
+0000162170 00000 n
+0000162233 00000 n
+0000162296 00000 n
+0000162359 00000 n
+0000162422 00000 n
+0000162485 00000 n
+0000162547 00000 n
+0000162610 00000 n
+0000162673 00000 n
+0000162735 00000 n
+0000168422 00000 n
+0000165036 00000 n
+0000162960 00000 n
+0000165157 00000 n
+0000165219 00000 n
+0000165282 00000 n
+0000165344 00000 n
+0000165407 00000 n
+0000165470 00000 n
+0000165533 00000 n
+0000165596 00000 n
+0000165659 00000 n
+0000165722 00000 n
+0000165785 00000 n
+0000165848 00000 n
+0000165911 00000 n
+0000165974 00000 n
+0000166037 00000 n
+0000166100 00000 n
+0000166163 00000 n
+0000166226 00000 n
+0000166289 00000 n
+0000166352 00000 n
+0000166415 00000 n
+0000166478 00000 n
+0000166541 00000 n
+0000166604 00000 n
+0000166666 00000 n
+0000166729 00000 n
+0000166792 00000 n
+0000166855 00000 n
+0000166918 00000 n
+0000166981 00000 n
+0000167040 00000 n
+0000167103 00000 n
+0000167166 00000 n
+0000167229 00000 n
+0000167292 00000 n
+0000167355 00000 n
+0000167418 00000 n
+0000167481 00000 n
+0000167544 00000 n
+0000167606 00000 n
+0000167669 00000 n
+0000167732 00000 n
+0000167795 00000 n
+0000167858 00000 n
+0000167921 00000 n
+0000167983 00000 n
+0000168046 00000 n
+0000168109 00000 n
+0000168172 00000 n
+0000168235 00000 n
+0000168298 00000 n
+0000168360 00000 n
+0000173142 00000 n
+0000171387 00000 n
+0000168585 00000 n
+0000171508 00000 n
+0000171570 00000 n
+0000171633 00000 n
+0000171695 00000 n
+0000171758 00000 n
+0000171821 00000 n
+0000171884 00000 n
+0000171947 00000 n
+0000172010 00000 n
+0000172073 00000 n
+0000172136 00000 n
+0000172199 00000 n
+0000172262 00000 n
+0000172325 00000 n
+0000172387 00000 n
+0000172450 00000 n
+0000172513 00000 n
+0000172576 00000 n
+0000172639 00000 n
+0000172702 00000 n
+0000172764 00000 n
+0000172827 00000 n
+0000172890 00000 n
+0000172953 00000 n
+0000173016 00000 n
+0000173079 00000 n
+0000177824 00000 n
+0000176322 00000 n
+0000173344 00000 n
+0000176443 00000 n
+0000176505 00000 n
+0000176568 00000 n
+0000176631 00000 n
+0000176694 00000 n
+0000176757 00000 n
+0000176820 00000 n
+0000176883 00000 n
+0000176946 00000 n
+0000177008 00000 n
+0000177069 00000 n
+0000177132 00000 n
+0000177195 00000 n
+0000177258 00000 n
+0000177321 00000 n
+0000177384 00000 n
+0000177446 00000 n
+0000177509 00000 n
+0000177572 00000 n
+0000177635 00000 n
+0000177698 00000 n
+0000177761 00000 n
+0000182538 00000 n
+0000181286 00000 n
+0000178000 00000 n
+0000181407 00000 n
+0000181469 00000 n
+0000181532 00000 n
+0000181595 00000 n
+0000181658 00000 n
+0000181721 00000 n
+0000181784 00000 n
+0000181847 00000 n
+0000181909 00000 n
+0000181972 00000 n
+0000182035 00000 n
+0000182098 00000 n
+0000182160 00000 n
+0000182223 00000 n
+0000182286 00000 n
+0000182349 00000 n
+0000182412 00000 n
+0000182475 00000 n
+0000187629 00000 n
+0000185057 00000 n
+0000182727 00000 n
+0000185178 00000 n
+0000185240 00000 n
+0000185303 00000 n
+0000185366 00000 n
+0000185429 00000 n
+0000185491 00000 n
+0000185554 00000 n
+0000185617 00000 n
+0000185680 00000 n
+0000185743 00000 n
+0000185806 00000 n
+0000185869 00000 n
+0000185932 00000 n
+0000185995 00000 n
+0000186058 00000 n
+0000186120 00000 n
+0000186183 00000 n
+0000186246 00000 n
+0000186309 00000 n
+0000186372 00000 n
+0000186435 00000 n
+0000186497 00000 n
+0000186560 00000 n
+0000186623 00000 n
+0000186686 00000 n
+0000186749 00000 n
+0000186812 00000 n
+0000186875 00000 n
+0000186937 00000 n
+0000187000 00000 n
+0000187063 00000 n
+0000187126 00000 n
+0000187189 00000 n
+0000187252 00000 n
+0000187315 00000 n
+0000187377 00000 n
+0000187440 00000 n
+0000187503 00000 n
+0000187566 00000 n
+0000193107 00000 n
+0000190849 00000 n
+0000187805 00000 n
+0000190970 00000 n
+0000191032 00000 n
+0000191095 00000 n
+0000191158 00000 n
+0000191221 00000 n
+0000191284 00000 n
+0000191347 00000 n
+0000191410 00000 n
+0000191473 00000 n
+0000191536 00000 n
+0000191599 00000 n
+0000191662 00000 n
+0000191725 00000 n
+0000191787 00000 n
+0000191850 00000 n
+0000191912 00000 n
+0000191975 00000 n
+0000192038 00000 n
+0000192101 00000 n
+0000192163 00000 n
+0000192226 00000 n
+0000192289 00000 n
+0000192352 00000 n
+0000192415 00000 n
+0000192478 00000 n
+0000192541 00000 n
+0000192604 00000 n
+0000192667 00000 n
+0000192729 00000 n
+0000192792 00000 n
+0000192855 00000 n
+0000192918 00000 n
+0000192981 00000 n
+0000193044 00000 n
+0000199129 00000 n
+0000195555 00000 n
+0000193309 00000 n
+0000195676 00000 n
+0000195738 00000 n
+0000195801 00000 n
+0000195863 00000 n
+0000195926 00000 n
+0000195989 00000 n
+0000196052 00000 n
+0000196115 00000 n
+0000196178 00000 n
+0000196241 00000 n
+0000196304 00000 n
+0000196367 00000 n
+0000196430 00000 n
+0000196493 00000 n
+0000196556 00000 n
+0000196618 00000 n
+0000196681 00000 n
+0000196742 00000 n
+0000196805 00000 n
+0000196868 00000 n
+0000196931 00000 n
+0000196994 00000 n
+0000197057 00000 n
+0000197120 00000 n
+0000197183 00000 n
+0000197246 00000 n
+0000197308 00000 n
+0000197371 00000 n
+0000197434 00000 n
+0000197497 00000 n
+0000197560 00000 n
+0000197623 00000 n
+0000197686 00000 n
+0000197749 00000 n
+0000197812 00000 n
+0000197874 00000 n
+0000197937 00000 n
+0000198000 00000 n
+0000198062 00000 n
+0000198125 00000 n
+0000198187 00000 n
+0000198250 00000 n
+0000198313 00000 n
+0000198376 00000 n
+0000198439 00000 n
+0000198502 00000 n
+0000198565 00000 n
+0000198628 00000 n
+0000198691 00000 n
+0000198754 00000 n
+0000198816 00000 n
+0000198879 00000 n
+0000198942 00000 n
+0000199005 00000 n
+0000199067 00000 n
+0000202392 00000 n
+0000202552 00000 n
+0000204789 00000 n
+0000202218 00000 n
+0000199292 00000 n
+0000202713 00000 n
+0000202775 00000 n
+0000202838 00000 n
+0000202900 00000 n
+0000202963 00000 n
+0000203026 00000 n
+0000203089 00000 n
+0000203152 00000 n
+0000203215 00000 n
+0000203278 00000 n
+0000203341 00000 n
+0000203404 00000 n
+0000203467 00000 n
+0000203530 00000 n
+0000203593 00000 n
+0000203656 00000 n
+0000203718 00000 n
+0000203781 00000 n
+0000203844 00000 n
+0000203907 00000 n
+0000203970 00000 n
+0000204033 00000 n
+0000204096 00000 n
+0000204159 00000 n
+0000204222 00000 n
+0000204285 00000 n
+0000204348 00000 n
+0000204411 00000 n
+0000204474 00000 n
+0000204537 00000 n
+0000204600 00000 n
+0000204663 00000 n
+0000204726 00000 n
+0000859784 00000 n
+0000202355 00000 n
+0000210298 00000 n
+0000206843 00000 n
+0000204952 00000 n
+0000206964 00000 n
+0000207026 00000 n
+0000207089 00000 n
+0000207152 00000 n
+0000207215 00000 n
+0000207277 00000 n
+0000207340 00000 n
+0000207403 00000 n
+0000207466 00000 n
+0000207529 00000 n
+0000207592 00000 n
+0000207655 00000 n
+0000207718 00000 n
+0000207781 00000 n
+0000207844 00000 n
+0000207907 00000 n
+0000207970 00000 n
+0000208033 00000 n
+0000208096 00000 n
+0000208157 00000 n
+0000208220 00000 n
+0000208283 00000 n
+0000208346 00000 n
+0000208409 00000 n
+0000208472 00000 n
+0000208535 00000 n
+0000208598 00000 n
+0000208661 00000 n
+0000208724 00000 n
+0000208787 00000 n
+0000208850 00000 n
+0000208913 00000 n
+0000208976 00000 n
+0000209039 00000 n
+0000209102 00000 n
+0000209164 00000 n
+0000209227 00000 n
+0000209290 00000 n
+0000209353 00000 n
+0000209416 00000 n
+0000209479 00000 n
+0000209542 00000 n
+0000209605 00000 n
+0000209668 00000 n
0000209731 00000 n
-0000209796 00000 n
-0000209861 00000 n
-0000209926 00000 n
-0000209989 00000 n
-0000210054 00000 n
-0000210119 00000 n
-0000210184 00000 n
-0000210249 00000 n
-0000210314 00000 n
-0000210379 00000 n
-0000210444 00000 n
-0000210509 00000 n
-0000210574 00000 n
-0000210638 00000 n
-0000210703 00000 n
-0000210768 00000 n
-0000210833 00000 n
-0000210898 00000 n
-0000210963 00000 n
-0000211028 00000 n
-0000211093 00000 n
-0000211158 00000 n
-0000211223 00000 n
-0000211287 00000 n
-0000211352 00000 n
-0000211417 00000 n
-0000211482 00000 n
-0000211547 00000 n
-0000211612 00000 n
-0000211677 00000 n
-0000211742 00000 n
-0000211807 00000 n
-0000211870 00000 n
-0000211935 00000 n
-0000212000 00000 n
-0000212065 00000 n
-0000212130 00000 n
-0000212195 00000 n
-0000212260 00000 n
-0000212325 00000 n
-0000212390 00000 n
-0000212454 00000 n
-0000212519 00000 n
-0000212584 00000 n
-0000212648 00000 n
-0000218769 00000 n
-0000215015 00000 n
-0000212876 00000 n
-0000215140 00000 n
-0000215204 00000 n
-0000215269 00000 n
-0000215333 00000 n
-0000215398 00000 n
-0000215463 00000 n
-0000215528 00000 n
-0000215593 00000 n
-0000215658 00000 n
-0000215723 00000 n
-0000215788 00000 n
-0000215853 00000 n
-0000215917 00000 n
-0000215982 00000 n
-0000216047 00000 n
-0000216112 00000 n
-0000216177 00000 n
-0000216242 00000 n
-0000216306 00000 n
-0000216371 00000 n
-0000216436 00000 n
-0000216500 00000 n
-0000216565 00000 n
-0000216630 00000 n
-0000216695 00000 n
-0000216760 00000 n
-0000216825 00000 n
-0000216890 00000 n
-0000216954 00000 n
-0000217019 00000 n
-0000217084 00000 n
-0000217149 00000 n
-0000217214 00000 n
-0000217279 00000 n
-0000217344 00000 n
-0000217409 00000 n
-0000217474 00000 n
-0000217538 00000 n
-0000217603 00000 n
-0000217668 00000 n
-0000217733 00000 n
-0000217798 00000 n
-0000217863 00000 n
-0000217928 00000 n
-0000217993 00000 n
-0000218058 00000 n
-0000218122 00000 n
-0000218187 00000 n
-0000218252 00000 n
-0000218317 00000 n
-0000218382 00000 n
-0000218447 00000 n
-0000218511 00000 n
-0000218576 00000 n
-0000218641 00000 n
-0000218705 00000 n
-0000847397 00000 n
-0000225247 00000 n
-0000221103 00000 n
-0000218946 00000 n
-0000221228 00000 n
-0000221292 00000 n
-0000221357 00000 n
-0000221421 00000 n
-0000221486 00000 n
-0000221551 00000 n
-0000221616 00000 n
-0000221681 00000 n
-0000221746 00000 n
-0000221811 00000 n
-0000221876 00000 n
-0000221939 00000 n
-0000222004 00000 n
-0000222069 00000 n
-0000222134 00000 n
-0000222199 00000 n
-0000222264 00000 n
-0000222329 00000 n
-0000222394 00000 n
-0000222459 00000 n
-0000222523 00000 n
-0000222588 00000 n
-0000222653 00000 n
-0000222718 00000 n
-0000222783 00000 n
-0000222848 00000 n
-0000222913 00000 n
-0000222978 00000 n
-0000223043 00000 n
-0000223107 00000 n
-0000223172 00000 n
-0000223237 00000 n
-0000223302 00000 n
-0000223367 00000 n
-0000223432 00000 n
-0000223497 00000 n
-0000223562 00000 n
-0000223627 00000 n
-0000223691 00000 n
-0000223756 00000 n
-0000223821 00000 n
-0000223886 00000 n
-0000223951 00000 n
-0000224016 00000 n
-0000224081 00000 n
-0000224146 00000 n
-0000224211 00000 n
-0000224275 00000 n
-0000224340 00000 n
-0000224405 00000 n
-0000224470 00000 n
-0000224535 00000 n
-0000224600 00000 n
-0000224665 00000 n
-0000224730 00000 n
-0000224795 00000 n
-0000224860 00000 n
-0000224924 00000 n
-0000224989 00000 n
-0000225054 00000 n
-0000225119 00000 n
-0000225183 00000 n
-0000231604 00000 n
-0000227328 00000 n
-0000225411 00000 n
-0000227453 00000 n
-0000227517 00000 n
-0000227582 00000 n
-0000227646 00000 n
-0000227711 00000 n
-0000227776 00000 n
-0000227841 00000 n
-0000227906 00000 n
-0000227971 00000 n
-0000228036 00000 n
-0000228101 00000 n
-0000228166 00000 n
-0000228230 00000 n
-0000228295 00000 n
-0000228360 00000 n
-0000228425 00000 n
-0000228490 00000 n
-0000228555 00000 n
-0000228620 00000 n
-0000228685 00000 n
-0000228750 00000 n
-0000228814 00000 n
-0000228879 00000 n
-0000228944 00000 n
-0000229009 00000 n
-0000229074 00000 n
-0000229139 00000 n
-0000229204 00000 n
-0000229269 00000 n
-0000229334 00000 n
-0000229398 00000 n
-0000229463 00000 n
-0000229528 00000 n
-0000229593 00000 n
-0000229658 00000 n
-0000229723 00000 n
-0000229788 00000 n
-0000229853 00000 n
-0000229918 00000 n
-0000229982 00000 n
-0000230047 00000 n
-0000230112 00000 n
-0000230177 00000 n
-0000230242 00000 n
-0000230307 00000 n
-0000230372 00000 n
-0000230437 00000 n
-0000230502 00000 n
-0000230566 00000 n
-0000230631 00000 n
-0000230696 00000 n
-0000230761 00000 n
-0000230826 00000 n
-0000230891 00000 n
-0000230956 00000 n
-0000231021 00000 n
-0000231086 00000 n
-0000231150 00000 n
-0000231215 00000 n
-0000231280 00000 n
-0000231345 00000 n
-0000231410 00000 n
-0000231475 00000 n
-0000231540 00000 n
-0000237123 00000 n
-0000233957 00000 n
-0000231755 00000 n
-0000234082 00000 n
-0000234146 00000 n
-0000234211 00000 n
-0000234275 00000 n
-0000234340 00000 n
-0000234405 00000 n
-0000234470 00000 n
-0000234535 00000 n
-0000234600 00000 n
-0000234664 00000 n
-0000234729 00000 n
-0000234794 00000 n
-0000234859 00000 n
-0000234924 00000 n
-0000234989 00000 n
-0000235054 00000 n
-0000235119 00000 n
-0000235184 00000 n
-0000235249 00000 n
-0000235314 00000 n
-0000235440 00000 n
-0000235505 00000 n
-0000235570 00000 n
-0000235635 00000 n
-0000235700 00000 n
-0000235765 00000 n
-0000235830 00000 n
-0000235895 00000 n
-0000235960 00000 n
-0000236025 00000 n
-0000236089 00000 n
-0000236154 00000 n
-0000236219 00000 n
-0000236284 00000 n
-0000236349 00000 n
-0000236414 00000 n
-0000236479 00000 n
-0000236544 00000 n
-0000236671 00000 n
-0000236736 00000 n
-0000236801 00000 n
-0000236865 00000 n
-0000236930 00000 n
-0000236995 00000 n
-0000237059 00000 n
-0000243217 00000 n
-0000239721 00000 n
-0000237300 00000 n
-0000239846 00000 n
-0000239910 00000 n
-0000239975 00000 n
-0000240039 00000 n
-0000240104 00000 n
-0000240169 00000 n
-0000240234 00000 n
-0000240299 00000 n
-0000240364 00000 n
-0000240429 00000 n
-0000240494 00000 n
-0000240558 00000 n
-0000240623 00000 n
-0000240688 00000 n
-0000240753 00000 n
-0000240818 00000 n
-0000240946 00000 n
-0000241010 00000 n
-0000241075 00000 n
-0000241140 00000 n
-0000241205 00000 n
-0000241270 00000 n
-0000241335 00000 n
-0000241400 00000 n
-0000241465 00000 n
-0000241530 00000 n
-0000241595 00000 n
-0000241660 00000 n
-0000241725 00000 n
-0000241790 00000 n
-0000241855 00000 n
-0000241920 00000 n
-0000241985 00000 n
-0000242050 00000 n
-0000242115 00000 n
-0000242180 00000 n
-0000242245 00000 n
-0000242310 00000 n
-0000242375 00000 n
-0000242439 00000 n
-0000242504 00000 n
-0000242569 00000 n
-0000242634 00000 n
-0000242699 00000 n
-0000242764 00000 n
-0000242829 00000 n
-0000242894 00000 n
-0000242959 00000 n
-0000243024 00000 n
-0000243089 00000 n
-0000243153 00000 n
-0000249103 00000 n
-0000245413 00000 n
-0000243394 00000 n
-0000245538 00000 n
-0000245602 00000 n
-0000245667 00000 n
-0000245731 00000 n
-0000245796 00000 n
-0000245861 00000 n
-0000245926 00000 n
-0000245991 00000 n
+0000209794 00000 n
+0000209857 00000 n
+0000209920 00000 n
+0000209983 00000 n
+0000210046 00000 n
+0000210109 00000 n
+0000210172 00000 n
+0000210235 00000 n
+0000216146 00000 n
+0000212158 00000 n
+0000210461 00000 n
+0000212279 00000 n
+0000212341 00000 n
+0000212403 00000 n
+0000212466 00000 n
+0000212529 00000 n
+0000212592 00000 n
+0000212655 00000 n
+0000212718 00000 n
+0000212781 00000 n
+0000212843 00000 n
+0000212906 00000 n
+0000212969 00000 n
+0000213032 00000 n
+0000213095 00000 n
+0000213158 00000 n
+0000213221 00000 n
+0000213284 00000 n
+0000213347 00000 n
+0000213410 00000 n
+0000213471 00000 n
+0000213534 00000 n
+0000213597 00000 n
+0000213660 00000 n
+0000213723 00000 n
+0000213786 00000 n
+0000213849 00000 n
+0000213913 00000 n
+0000213977 00000 n
+0000214041 00000 n
+0000214104 00000 n
+0000214168 00000 n
+0000214232 00000 n
+0000214296 00000 n
+0000214360 00000 n
+0000214424 00000 n
+0000214488 00000 n
+0000214552 00000 n
+0000214616 00000 n
+0000214680 00000 n
+0000214743 00000 n
+0000214807 00000 n
+0000214871 00000 n
+0000214935 00000 n
+0000214999 00000 n
+0000215063 00000 n
+0000215127 00000 n
+0000215191 00000 n
+0000215255 00000 n
+0000215317 00000 n
+0000215381 00000 n
+0000215445 00000 n
+0000215509 00000 n
+0000215573 00000 n
+0000215637 00000 n
+0000215701 00000 n
+0000215765 00000 n
+0000215829 00000 n
+0000215892 00000 n
+0000215956 00000 n
+0000216020 00000 n
+0000216083 00000 n
+0000222192 00000 n
+0000218439 00000 n
+0000216309 00000 n
+0000218563 00000 n
+0000218627 00000 n
+0000218692 00000 n
+0000218756 00000 n
+0000218821 00000 n
+0000218886 00000 n
+0000218951 00000 n
+0000219016 00000 n
+0000219081 00000 n
+0000219146 00000 n
+0000219211 00000 n
+0000219276 00000 n
+0000219340 00000 n
+0000219405 00000 n
+0000219470 00000 n
+0000219535 00000 n
+0000219600 00000 n
+0000219665 00000 n
+0000219729 00000 n
+0000219794 00000 n
+0000219859 00000 n
+0000219923 00000 n
+0000219988 00000 n
+0000220053 00000 n
+0000220118 00000 n
+0000220183 00000 n
+0000220248 00000 n
+0000220313 00000 n
+0000220377 00000 n
+0000220442 00000 n
+0000220507 00000 n
+0000220572 00000 n
+0000220637 00000 n
+0000220702 00000 n
+0000220767 00000 n
+0000220832 00000 n
+0000220897 00000 n
+0000220961 00000 n
+0000221026 00000 n
+0000221091 00000 n
+0000221156 00000 n
+0000221221 00000 n
+0000221286 00000 n
+0000221351 00000 n
+0000221416 00000 n
+0000221481 00000 n
+0000221545 00000 n
+0000221610 00000 n
+0000221675 00000 n
+0000221740 00000 n
+0000221805 00000 n
+0000221870 00000 n
+0000221934 00000 n
+0000221999 00000 n
+0000222064 00000 n
+0000222128 00000 n
+0000228659 00000 n
+0000224516 00000 n
+0000222369 00000 n
+0000224640 00000 n
+0000224704 00000 n
+0000224769 00000 n
+0000224833 00000 n
+0000224898 00000 n
+0000224963 00000 n
+0000225028 00000 n
+0000225093 00000 n
+0000225158 00000 n
+0000225223 00000 n
+0000225288 00000 n
+0000225351 00000 n
+0000225416 00000 n
+0000225481 00000 n
+0000225546 00000 n
+0000225611 00000 n
+0000225676 00000 n
+0000225741 00000 n
+0000225806 00000 n
+0000225871 00000 n
+0000225935 00000 n
+0000226000 00000 n
+0000226065 00000 n
+0000226130 00000 n
+0000226195 00000 n
+0000226260 00000 n
+0000226325 00000 n
+0000226390 00000 n
+0000226455 00000 n
+0000226519 00000 n
+0000226584 00000 n
+0000226649 00000 n
+0000226714 00000 n
+0000226779 00000 n
+0000226844 00000 n
+0000226909 00000 n
+0000226974 00000 n
+0000227039 00000 n
+0000227103 00000 n
+0000227168 00000 n
+0000227233 00000 n
+0000227298 00000 n
+0000227363 00000 n
+0000227428 00000 n
+0000227493 00000 n
+0000227558 00000 n
+0000227623 00000 n
+0000227687 00000 n
+0000227752 00000 n
+0000227817 00000 n
+0000227882 00000 n
+0000227947 00000 n
+0000228012 00000 n
+0000228077 00000 n
+0000228142 00000 n
+0000228207 00000 n
+0000228272 00000 n
+0000228336 00000 n
+0000228401 00000 n
+0000228466 00000 n
+0000228531 00000 n
+0000228595 00000 n
+0000235004 00000 n
+0000230729 00000 n
+0000228823 00000 n
+0000230853 00000 n
+0000230917 00000 n
+0000230982 00000 n
+0000231046 00000 n
+0000231111 00000 n
+0000231176 00000 n
+0000231241 00000 n
+0000231306 00000 n
+0000231371 00000 n
+0000231436 00000 n
+0000231501 00000 n
+0000231566 00000 n
+0000231630 00000 n
+0000231695 00000 n
+0000231760 00000 n
+0000231825 00000 n
+0000231890 00000 n
+0000231955 00000 n
+0000232020 00000 n
+0000232085 00000 n
+0000232150 00000 n
+0000232214 00000 n
+0000232279 00000 n
+0000232344 00000 n
+0000232409 00000 n
+0000232474 00000 n
+0000232539 00000 n
+0000232604 00000 n
+0000232669 00000 n
+0000232734 00000 n
+0000232798 00000 n
+0000232863 00000 n
+0000232928 00000 n
+0000232993 00000 n
+0000233058 00000 n
+0000233123 00000 n
+0000233188 00000 n
+0000233253 00000 n
+0000233318 00000 n
+0000233382 00000 n
+0000233447 00000 n
+0000233512 00000 n
+0000233577 00000 n
+0000233642 00000 n
+0000233707 00000 n
+0000233772 00000 n
+0000233837 00000 n
+0000233902 00000 n
+0000233966 00000 n
+0000234031 00000 n
+0000234096 00000 n
+0000234161 00000 n
+0000234226 00000 n
+0000234291 00000 n
+0000234356 00000 n
+0000234421 00000 n
+0000234486 00000 n
+0000234550 00000 n
+0000234615 00000 n
+0000234680 00000 n
+0000234745 00000 n
+0000234810 00000 n
+0000234875 00000 n
+0000234940 00000 n
+0000240521 00000 n
+0000237354 00000 n
+0000235155 00000 n
+0000237478 00000 n
+0000237542 00000 n
+0000237607 00000 n
+0000237671 00000 n
+0000237736 00000 n
+0000237801 00000 n
+0000237866 00000 n
+0000237931 00000 n
+0000237996 00000 n
+0000238060 00000 n
+0000238125 00000 n
+0000238190 00000 n
+0000238255 00000 n
+0000238320 00000 n
+0000238385 00000 n
+0000238450 00000 n
+0000238515 00000 n
+0000238580 00000 n
+0000238645 00000 n
+0000238710 00000 n
+0000238773 00000 n
+0000238837 00000 n
+0000238902 00000 n
+0000238967 00000 n
+0000239032 00000 n
+0000239097 00000 n
+0000239162 00000 n
+0000239227 00000 n
+0000239292 00000 n
+0000239357 00000 n
+0000239422 00000 n
+0000239486 00000 n
+0000239551 00000 n
+0000239616 00000 n
+0000239681 00000 n
+0000239746 00000 n
+0000239811 00000 n
+0000239876 00000 n
+0000239941 00000 n
+0000240006 00000 n
+0000240069 00000 n
+0000240134 00000 n
+0000240199 00000 n
+0000240263 00000 n
+0000240328 00000 n
+0000240393 00000 n
+0000240457 00000 n
0000246056 00000 n
-0000246121 00000 n
-0000246186 00000 n
-0000246251 00000 n
-0000246315 00000 n
-0000246380 00000 n
-0000246445 00000 n
-0000246510 00000 n
-0000246575 00000 n
-0000246640 00000 n
-0000246704 00000 n
-0000246769 00000 n
-0000246834 00000 n
-0000246899 00000 n
-0000246964 00000 n
-0000247029 00000 n
-0000247094 00000 n
-0000247159 00000 n
-0000247224 00000 n
-0000247287 00000 n
-0000247352 00000 n
-0000247417 00000 n
-0000247482 00000 n
-0000247547 00000 n
-0000247612 00000 n
-0000247677 00000 n
-0000247742 00000 n
-0000247807 00000 n
-0000247872 00000 n
-0000247937 00000 n
-0000248002 00000 n
-0000248067 00000 n
-0000248132 00000 n
-0000248197 00000 n
-0000248262 00000 n
-0000248327 00000 n
-0000248392 00000 n
-0000248457 00000 n
-0000248521 00000 n
-0000248586 00000 n
-0000248651 00000 n
-0000248716 00000 n
-0000248780 00000 n
-0000248845 00000 n
-0000248910 00000 n
-0000248975 00000 n
-0000249039 00000 n
-0000255605 00000 n
-0000252113 00000 n
-0000249267 00000 n
-0000252238 00000 n
-0000252302 00000 n
-0000252367 00000 n
-0000252431 00000 n
-0000252496 00000 n
-0000252561 00000 n
-0000252626 00000 n
-0000252691 00000 n
-0000252756 00000 n
-0000252821 00000 n
-0000252886 00000 n
-0000252951 00000 n
-0000253015 00000 n
-0000253080 00000 n
-0000253145 00000 n
-0000253210 00000 n
-0000253275 00000 n
-0000253340 00000 n
-0000253405 00000 n
-0000253470 00000 n
-0000253535 00000 n
-0000253599 00000 n
-0000253664 00000 n
-0000253729 00000 n
-0000253794 00000 n
-0000253859 00000 n
-0000253924 00000 n
-0000253989 00000 n
-0000254054 00000 n
-0000254119 00000 n
-0000254184 00000 n
-0000254249 00000 n
-0000254314 00000 n
-0000254379 00000 n
-0000254444 00000 n
-0000254509 00000 n
-0000254574 00000 n
-0000254639 00000 n
-0000254702 00000 n
-0000254767 00000 n
-0000254832 00000 n
-0000254897 00000 n
-0000254958 00000 n
-0000255023 00000 n
-0000255088 00000 n
-0000255153 00000 n
-0000255218 00000 n
-0000255283 00000 n
-0000255348 00000 n
-0000255413 00000 n
-0000255478 00000 n
-0000255541 00000 n
-0000258748 00000 n
-0000261758 00000 n
-0000258575 00000 n
-0000255769 00000 n
-0000258906 00000 n
-0000258970 00000 n
-0000259035 00000 n
-0000259099 00000 n
-0000259164 00000 n
-0000259229 00000 n
-0000259294 00000 n
-0000259359 00000 n
-0000259424 00000 n
-0000259489 00000 n
-0000259554 00000 n
-0000259619 00000 n
-0000259683 00000 n
-0000259748 00000 n
-0000259813 00000 n
-0000259878 00000 n
-0000259942 00000 n
-0000260007 00000 n
-0000260072 00000 n
-0000260137 00000 n
-0000260202 00000 n
-0000260267 00000 n
-0000260332 00000 n
-0000260396 00000 n
-0000260461 00000 n
-0000260526 00000 n
-0000260591 00000 n
-0000260655 00000 n
-0000260720 00000 n
-0000260785 00000 n
-0000260850 00000 n
-0000260914 00000 n
-0000260979 00000 n
-0000261044 00000 n
-0000261109 00000 n
-0000261174 00000 n
-0000261239 00000 n
-0000261304 00000 n
-0000261369 00000 n
-0000261434 00000 n
-0000261498 00000 n
-0000261563 00000 n
-0000261628 00000 n
-0000261693 00000 n
-0000258717 00000 n
-0000267872 00000 n
-0000264902 00000 n
-0000261974 00000 n
-0000265027 00000 n
-0000265091 00000 n
-0000265155 00000 n
-0000265220 00000 n
-0000265285 00000 n
-0000265350 00000 n
-0000265415 00000 n
-0000265480 00000 n
-0000265545 00000 n
-0000265610 00000 n
-0000265675 00000 n
-0000265739 00000 n
-0000265804 00000 n
-0000265869 00000 n
-0000265932 00000 n
-0000265997 00000 n
-0000266062 00000 n
-0000266127 00000 n
-0000266191 00000 n
-0000266256 00000 n
-0000266321 00000 n
-0000266386 00000 n
-0000266451 00000 n
-0000266516 00000 n
-0000266581 00000 n
-0000266646 00000 n
-0000266711 00000 n
-0000266775 00000 n
-0000266840 00000 n
-0000266905 00000 n
-0000266970 00000 n
-0000267035 00000 n
-0000267100 00000 n
-0000267165 00000 n
-0000267230 00000 n
-0000267294 00000 n
-0000267359 00000 n
-0000267424 00000 n
-0000267485 00000 n
-0000267550 00000 n
-0000267615 00000 n
-0000267680 00000 n
-0000267744 00000 n
-0000267808 00000 n
-0000273808 00000 n
-0000270765 00000 n
-0000268049 00000 n
-0000270890 00000 n
-0000270954 00000 n
-0000271019 00000 n
-0000271083 00000 n
-0000271148 00000 n
-0000271213 00000 n
-0000271278 00000 n
-0000271343 00000 n
-0000271408 00000 n
-0000271473 00000 n
-0000271538 00000 n
-0000271603 00000 n
-0000271668 00000 n
-0000271733 00000 n
-0000271798 00000 n
-0000271863 00000 n
-0000271928 00000 n
-0000271993 00000 n
-0000272058 00000 n
-0000272123 00000 n
-0000272188 00000 n
-0000272253 00000 n
-0000272318 00000 n
-0000272383 00000 n
-0000272448 00000 n
-0000272513 00000 n
-0000272578 00000 n
-0000272643 00000 n
-0000272708 00000 n
-0000272773 00000 n
-0000272838 00000 n
-0000272901 00000 n
-0000272966 00000 n
-0000273031 00000 n
-0000273096 00000 n
-0000273161 00000 n
-0000273226 00000 n
-0000273291 00000 n
-0000273356 00000 n
-0000273421 00000 n
-0000273486 00000 n
-0000273550 00000 n
-0000273615 00000 n
-0000273680 00000 n
-0000273744 00000 n
-0000280041 00000 n
-0000276544 00000 n
-0000273985 00000 n
-0000276669 00000 n
-0000276733 00000 n
-0000276798 00000 n
-0000276862 00000 n
-0000276927 00000 n
-0000276992 00000 n
-0000277057 00000 n
-0000277122 00000 n
-0000277187 00000 n
-0000277252 00000 n
-0000277317 00000 n
-0000277381 00000 n
-0000277446 00000 n
-0000277511 00000 n
-0000277576 00000 n
-0000277641 00000 n
-0000277706 00000 n
-0000277771 00000 n
-0000277836 00000 n
-0000277901 00000 n
-0000277965 00000 n
-0000278030 00000 n
-0000278095 00000 n
-0000278160 00000 n
-0000278225 00000 n
-0000278290 00000 n
-0000278355 00000 n
-0000278420 00000 n
-0000278485 00000 n
-0000278550 00000 n
-0000278615 00000 n
-0000278680 00000 n
-0000278745 00000 n
-0000278810 00000 n
-0000278875 00000 n
-0000278940 00000 n
-0000279005 00000 n
-0000279070 00000 n
-0000279135 00000 n
-0000279200 00000 n
-0000279265 00000 n
-0000279329 00000 n
-0000279394 00000 n
-0000279459 00000 n
-0000279524 00000 n
-0000279589 00000 n
-0000279654 00000 n
-0000279719 00000 n
-0000279784 00000 n
-0000279849 00000 n
-0000279913 00000 n
-0000279977 00000 n
-0000847561 00000 n
-0000286553 00000 n
-0000282862 00000 n
-0000280205 00000 n
-0000282987 00000 n
-0000283051 00000 n
-0000283116 00000 n
-0000283180 00000 n
-0000283245 00000 n
-0000283310 00000 n
-0000283375 00000 n
-0000283440 00000 n
-0000283505 00000 n
-0000283570 00000 n
-0000283635 00000 n
-0000283700 00000 n
-0000283764 00000 n
-0000283829 00000 n
-0000283894 00000 n
-0000283959 00000 n
-0000284024 00000 n
-0000284089 00000 n
-0000284154 00000 n
-0000284219 00000 n
-0000284284 00000 n
-0000284348 00000 n
-0000284413 00000 n
-0000284478 00000 n
-0000284543 00000 n
-0000284608 00000 n
-0000284673 00000 n
-0000284738 00000 n
-0000284803 00000 n
-0000284868 00000 n
-0000284932 00000 n
-0000284997 00000 n
-0000285062 00000 n
-0000285127 00000 n
-0000285192 00000 n
-0000285257 00000 n
-0000285322 00000 n
-0000285387 00000 n
-0000285452 00000 n
-0000285517 00000 n
-0000285582 00000 n
-0000285647 00000 n
-0000285712 00000 n
-0000285777 00000 n
-0000285842 00000 n
-0000285907 00000 n
-0000285971 00000 n
-0000286036 00000 n
-0000286101 00000 n
-0000286166 00000 n
-0000286231 00000 n
-0000286296 00000 n
-0000286361 00000 n
-0000286426 00000 n
-0000286489 00000 n
-0000292369 00000 n
-0000289067 00000 n
-0000286717 00000 n
-0000289192 00000 n
-0000289256 00000 n
-0000289321 00000 n
-0000289386 00000 n
-0000289451 00000 n
-0000289516 00000 n
-0000289581 00000 n
-0000289646 00000 n
-0000289711 00000 n
-0000289775 00000 n
-0000289840 00000 n
-0000289905 00000 n
-0000289970 00000 n
-0000290035 00000 n
-0000290163 00000 n
-0000290228 00000 n
-0000290293 00000 n
-0000290358 00000 n
-0000290423 00000 n
-0000290488 00000 n
-0000290553 00000 n
-0000290618 00000 n
-0000290683 00000 n
-0000290748 00000 n
-0000290813 00000 n
-0000290878 00000 n
-0000290943 00000 n
-0000291007 00000 n
-0000291072 00000 n
-0000291137 00000 n
-0000291202 00000 n
-0000291267 00000 n
-0000291332 00000 n
-0000291397 00000 n
-0000291462 00000 n
-0000291527 00000 n
-0000291591 00000 n
-0000291656 00000 n
-0000291721 00000 n
-0000291786 00000 n
-0000291851 00000 n
-0000291916 00000 n
-0000291981 00000 n
-0000292046 00000 n
-0000292111 00000 n
-0000292176 00000 n
-0000292241 00000 n
-0000292305 00000 n
-0000298330 00000 n
-0000294576 00000 n
-0000292546 00000 n
-0000294701 00000 n
-0000294765 00000 n
-0000294830 00000 n
-0000294894 00000 n
-0000294959 00000 n
-0000295024 00000 n
-0000295089 00000 n
-0000295154 00000 n
-0000295219 00000 n
-0000295284 00000 n
-0000295349 00000 n
-0000295414 00000 n
-0000295478 00000 n
-0000295543 00000 n
-0000295608 00000 n
-0000295673 00000 n
-0000295738 00000 n
-0000295803 00000 n
-0000295868 00000 n
-0000295933 00000 n
-0000295998 00000 n
-0000296062 00000 n
-0000296127 00000 n
-0000296192 00000 n
-0000296257 00000 n
-0000296322 00000 n
-0000296386 00000 n
-0000296451 00000 n
-0000296516 00000 n
-0000296581 00000 n
-0000296646 00000 n
-0000296711 00000 n
-0000296776 00000 n
-0000296841 00000 n
-0000296906 00000 n
-0000296970 00000 n
-0000297035 00000 n
-0000297100 00000 n
-0000297165 00000 n
-0000297230 00000 n
-0000297295 00000 n
-0000297360 00000 n
-0000297425 00000 n
-0000297490 00000 n
-0000297554 00000 n
-0000297619 00000 n
-0000297684 00000 n
-0000297749 00000 n
-0000297814 00000 n
-0000297879 00000 n
-0000297944 00000 n
-0000298009 00000 n
-0000298074 00000 n
-0000298135 00000 n
-0000298200 00000 n
-0000298265 00000 n
-0000304275 00000 n
-0000301040 00000 n
-0000298507 00000 n
-0000301165 00000 n
-0000301229 00000 n
-0000301294 00000 n
-0000301358 00000 n
-0000301423 00000 n
-0000301488 00000 n
-0000301553 00000 n
-0000301681 00000 n
-0000301746 00000 n
-0000301811 00000 n
-0000301876 00000 n
-0000301940 00000 n
-0000302005 00000 n
-0000302070 00000 n
-0000302135 00000 n
-0000302200 00000 n
-0000302265 00000 n
-0000302330 00000 n
-0000302395 00000 n
-0000302460 00000 n
-0000302524 00000 n
-0000302589 00000 n
-0000302654 00000 n
-0000302719 00000 n
-0000302784 00000 n
-0000302849 00000 n
-0000302914 00000 n
-0000302979 00000 n
-0000303044 00000 n
-0000303108 00000 n
-0000303173 00000 n
-0000303238 00000 n
-0000303303 00000 n
-0000303368 00000 n
-0000303433 00000 n
-0000303498 00000 n
-0000303563 00000 n
-0000303628 00000 n
-0000303691 00000 n
-0000303756 00000 n
-0000303821 00000 n
-0000303886 00000 n
-0000303951 00000 n
-0000304016 00000 n
-0000304081 00000 n
-0000304146 00000 n
-0000304210 00000 n
-0000310024 00000 n
-0000307240 00000 n
-0000304465 00000 n
-0000307365 00000 n
-0000307492 00000 n
-0000307557 00000 n
-0000307622 00000 n
-0000307687 00000 n
-0000307752 00000 n
-0000307817 00000 n
-0000307882 00000 n
-0000307947 00000 n
-0000308011 00000 n
-0000308076 00000 n
-0000308141 00000 n
-0000308206 00000 n
-0000308271 00000 n
-0000308336 00000 n
-0000308401 00000 n
-0000308466 00000 n
-0000308531 00000 n
-0000308596 00000 n
-0000308661 00000 n
-0000308725 00000 n
-0000308790 00000 n
-0000308855 00000 n
-0000308920 00000 n
-0000308985 00000 n
-0000309050 00000 n
-0000309115 00000 n
-0000309180 00000 n
-0000309245 00000 n
-0000309310 00000 n
-0000309375 00000 n
-0000309440 00000 n
-0000309505 00000 n
-0000309570 00000 n
-0000309635 00000 n
-0000309700 00000 n
-0000309765 00000 n
-0000309830 00000 n
-0000309895 00000 n
-0000309960 00000 n
-0000315793 00000 n
-0000312302 00000 n
-0000310201 00000 n
-0000312427 00000 n
-0000312491 00000 n
-0000312556 00000 n
-0000312620 00000 n
-0000312685 00000 n
-0000312750 00000 n
-0000312815 00000 n
-0000312880 00000 n
-0000312945 00000 n
-0000313010 00000 n
-0000313075 00000 n
-0000313140 00000 n
-0000313205 00000 n
-0000313270 00000 n
-0000313335 00000 n
-0000313400 00000 n
-0000313465 00000 n
-0000313530 00000 n
-0000313595 00000 n
-0000313658 00000 n
-0000313723 00000 n
-0000313788 00000 n
-0000313853 00000 n
-0000313917 00000 n
-0000313982 00000 n
-0000314047 00000 n
-0000314112 00000 n
-0000314177 00000 n
-0000314242 00000 n
-0000314370 00000 n
-0000314435 00000 n
-0000314500 00000 n
-0000314565 00000 n
-0000314628 00000 n
-0000314693 00000 n
-0000314758 00000 n
-0000314823 00000 n
-0000314888 00000 n
-0000314953 00000 n
-0000315081 00000 n
-0000315146 00000 n
-0000315211 00000 n
-0000315276 00000 n
-0000315341 00000 n
-0000315406 00000 n
-0000315470 00000 n
-0000315535 00000 n
-0000315600 00000 n
-0000315665 00000 n
-0000315729 00000 n
-0000322056 00000 n
-0000317975 00000 n
-0000315957 00000 n
-0000318100 00000 n
-0000318164 00000 n
-0000318229 00000 n
-0000318293 00000 n
-0000318358 00000 n
-0000318423 00000 n
-0000318488 00000 n
-0000318553 00000 n
-0000318618 00000 n
-0000318683 00000 n
-0000318748 00000 n
-0000318813 00000 n
-0000318878 00000 n
-0000318943 00000 n
-0000319007 00000 n
-0000319072 00000 n
-0000319137 00000 n
-0000319202 00000 n
-0000319267 00000 n
-0000319332 00000 n
-0000319397 00000 n
-0000319462 00000 n
-0000319527 00000 n
-0000319592 00000 n
-0000319657 00000 n
-0000319722 00000 n
-0000319787 00000 n
-0000319852 00000 n
-0000319917 00000 n
-0000319982 00000 n
-0000320047 00000 n
-0000320112 00000 n
-0000320177 00000 n
-0000320242 00000 n
-0000320307 00000 n
-0000320371 00000 n
-0000320435 00000 n
-0000320500 00000 n
-0000320565 00000 n
-0000320630 00000 n
-0000320695 00000 n
-0000320760 00000 n
-0000320825 00000 n
-0000320890 00000 n
-0000320955 00000 n
-0000321020 00000 n
-0000321084 00000 n
-0000321149 00000 n
-0000321214 00000 n
-0000321279 00000 n
-0000321344 00000 n
-0000321409 00000 n
-0000321474 00000 n
-0000321539 00000 n
-0000321604 00000 n
-0000321669 00000 n
-0000321734 00000 n
-0000321799 00000 n
-0000321863 00000 n
-0000321928 00000 n
-0000321992 00000 n
-0000328181 00000 n
-0000324165 00000 n
-0000322207 00000 n
-0000324290 00000 n
-0000324354 00000 n
-0000324419 00000 n
-0000324483 00000 n
-0000324548 00000 n
-0000324613 00000 n
-0000324678 00000 n
-0000324743 00000 n
-0000324808 00000 n
-0000324873 00000 n
-0000324938 00000 n
-0000325003 00000 n
-0000325067 00000 n
-0000325132 00000 n
-0000325197 00000 n
-0000325262 00000 n
-0000325327 00000 n
-0000325392 00000 n
-0000325457 00000 n
-0000325522 00000 n
-0000325587 00000 n
-0000325651 00000 n
-0000325716 00000 n
-0000325781 00000 n
-0000325846 00000 n
-0000325911 00000 n
-0000325976 00000 n
-0000326041 00000 n
-0000326106 00000 n
-0000326171 00000 n
-0000326235 00000 n
-0000326300 00000 n
-0000326365 00000 n
-0000326430 00000 n
-0000326495 00000 n
-0000326560 00000 n
-0000326625 00000 n
-0000326690 00000 n
-0000326755 00000 n
-0000326819 00000 n
-0000326884 00000 n
-0000326949 00000 n
-0000327014 00000 n
-0000327079 00000 n
-0000327144 00000 n
-0000327209 00000 n
-0000327274 00000 n
-0000327339 00000 n
-0000327404 00000 n
-0000327469 00000 n
-0000327534 00000 n
-0000327599 00000 n
-0000327664 00000 n
-0000327728 00000 n
-0000327793 00000 n
-0000327858 00000 n
-0000327923 00000 n
-0000327988 00000 n
-0000328053 00000 n
-0000328117 00000 n
-0000333987 00000 n
-0000330755 00000 n
-0000328332 00000 n
-0000330880 00000 n
+0000243472 00000 n
+0000240698 00000 n
+0000243596 00000 n
+0000243660 00000 n
+0000243725 00000 n
+0000243789 00000 n
+0000243854 00000 n
+0000243919 00000 n
+0000243984 00000 n
+0000244049 00000 n
+0000244114 00000 n
+0000244179 00000 n
+0000244244 00000 n
+0000244309 00000 n
+0000244374 00000 n
+0000244438 00000 n
+0000244503 00000 n
+0000244568 00000 n
+0000244633 00000 n
+0000244697 00000 n
+0000244762 00000 n
+0000244825 00000 n
+0000244890 00000 n
+0000244955 00000 n
+0000245020 00000 n
+0000245085 00000 n
+0000245150 00000 n
+0000245215 00000 n
+0000245280 00000 n
+0000245344 00000 n
+0000245409 00000 n
+0000245474 00000 n
+0000245539 00000 n
+0000245604 00000 n
+0000245669 00000 n
+0000245734 00000 n
+0000245799 00000 n
+0000245864 00000 n
+0000245929 00000 n
+0000245993 00000 n
+0000252135 00000 n
+0000249224 00000 n
+0000246259 00000 n
+0000249348 00000 n
+0000249412 00000 n
+0000249477 00000 n
+0000249542 00000 n
+0000249606 00000 n
+0000249671 00000 n
+0000249736 00000 n
+0000249801 00000 n
+0000249866 00000 n
+0000249931 00000 n
+0000249996 00000 n
+0000250060 00000 n
+0000250125 00000 n
+0000250190 00000 n
+0000250255 00000 n
+0000250320 00000 n
+0000250385 00000 n
+0000250450 00000 n
+0000250515 00000 n
+0000250580 00000 n
+0000250645 00000 n
+0000250710 00000 n
+0000250775 00000 n
+0000250840 00000 n
+0000250903 00000 n
+0000250968 00000 n
+0000251033 00000 n
+0000251098 00000 n
+0000251163 00000 n
+0000251228 00000 n
+0000251293 00000 n
+0000251358 00000 n
+0000251423 00000 n
+0000251487 00000 n
+0000251552 00000 n
+0000251617 00000 n
+0000251682 00000 n
+0000251747 00000 n
+0000251812 00000 n
+0000251877 00000 n
+0000251942 00000 n
+0000252007 00000 n
+0000252071 00000 n
+0000258051 00000 n
+0000254360 00000 n
+0000252312 00000 n
+0000254484 00000 n
+0000254548 00000 n
+0000254613 00000 n
+0000254677 00000 n
+0000254742 00000 n
+0000254807 00000 n
+0000254872 00000 n
+0000254937 00000 n
+0000255002 00000 n
+0000255067 00000 n
+0000255132 00000 n
+0000255196 00000 n
+0000255261 00000 n
+0000255326 00000 n
+0000255391 00000 n
+0000255456 00000 n
+0000255521 00000 n
+0000255586 00000 n
+0000255651 00000 n
+0000255716 00000 n
+0000255780 00000 n
+0000255845 00000 n
+0000255910 00000 n
+0000255975 00000 n
+0000256040 00000 n
+0000256105 00000 n
+0000256169 00000 n
+0000256234 00000 n
+0000256299 00000 n
+0000256364 00000 n
+0000256429 00000 n
+0000256494 00000 n
+0000256559 00000 n
+0000256624 00000 n
+0000256689 00000 n
+0000256753 00000 n
+0000256818 00000 n
+0000256883 00000 n
+0000256948 00000 n
+0000257013 00000 n
+0000257078 00000 n
+0000257143 00000 n
+0000257208 00000 n
+0000257273 00000 n
+0000257338 00000 n
+0000257403 00000 n
+0000257468 00000 n
+0000257533 00000 n
+0000257598 00000 n
+0000257663 00000 n
+0000257728 00000 n
+0000257793 00000 n
+0000257858 00000 n
+0000257923 00000 n
+0000257987 00000 n
+0000264528 00000 n
+0000261033 00000 n
+0000258215 00000 n
+0000261158 00000 n
+0000261222 00000 n
+0000261287 00000 n
+0000261351 00000 n
+0000261416 00000 n
+0000261481 00000 n
+0000261546 00000 n
+0000261611 00000 n
+0000261676 00000 n
+0000261741 00000 n
+0000261806 00000 n
+0000261871 00000 n
+0000261935 00000 n
+0000262000 00000 n
+0000262065 00000 n
+0000262130 00000 n
+0000262195 00000 n
+0000262260 00000 n
+0000262325 00000 n
+0000262390 00000 n
+0000262455 00000 n
+0000262519 00000 n
+0000262584 00000 n
+0000262649 00000 n
+0000262714 00000 n
+0000262779 00000 n
+0000262844 00000 n
+0000262909 00000 n
+0000262974 00000 n
+0000263039 00000 n
+0000263103 00000 n
+0000263168 00000 n
+0000263233 00000 n
+0000263298 00000 n
+0000263362 00000 n
+0000263427 00000 n
+0000263492 00000 n
+0000263557 00000 n
+0000263622 00000 n
+0000263687 00000 n
+0000263752 00000 n
+0000263817 00000 n
+0000263882 00000 n
+0000263947 00000 n
+0000264012 00000 n
+0000264077 00000 n
+0000264142 00000 n
+0000264206 00000 n
+0000264271 00000 n
+0000264336 00000 n
+0000264401 00000 n
+0000264464 00000 n
+0000859944 00000 n
+0000267748 00000 n
+0000270889 00000 n
+0000267575 00000 n
+0000264692 00000 n
+0000267906 00000 n
+0000267970 00000 n
+0000268035 00000 n
+0000268099 00000 n
+0000268164 00000 n
+0000268229 00000 n
+0000268294 00000 n
+0000268359 00000 n
+0000268424 00000 n
+0000268489 00000 n
+0000268554 00000 n
+0000268619 00000 n
+0000268683 00000 n
+0000268748 00000 n
+0000268813 00000 n
+0000268878 00000 n
+0000268943 00000 n
+0000269008 00000 n
+0000269073 00000 n
+0000269138 00000 n
+0000269203 00000 n
+0000269267 00000 n
+0000269332 00000 n
+0000269397 00000 n
+0000269462 00000 n
+0000269526 00000 n
+0000269591 00000 n
+0000269656 00000 n
+0000269721 00000 n
+0000269786 00000 n
+0000269851 00000 n
+0000269916 00000 n
+0000269981 00000 n
+0000270046 00000 n
+0000270111 00000 n
+0000270176 00000 n
+0000270241 00000 n
+0000270306 00000 n
+0000270371 00000 n
+0000270436 00000 n
+0000270500 00000 n
+0000270565 00000 n
+0000270630 00000 n
+0000270695 00000 n
+0000270760 00000 n
+0000270825 00000 n
+0000267717 00000 n
+0000276923 00000 n
+0000273946 00000 n
+0000271105 00000 n
+0000274071 00000 n
+0000274135 00000 n
+0000274200 00000 n
+0000274264 00000 n
+0000274328 00000 n
+0000274393 00000 n
+0000274458 00000 n
+0000274523 00000 n
+0000274588 00000 n
+0000274653 00000 n
+0000274717 00000 n
+0000274782 00000 n
+0000274847 00000 n
+0000274912 00000 n
+0000274977 00000 n
+0000275042 00000 n
+0000275107 00000 n
+0000275172 00000 n
+0000275237 00000 n
+0000275302 00000 n
+0000275367 00000 n
+0000275432 00000 n
+0000275497 00000 n
+0000275562 00000 n
+0000275627 00000 n
+0000275691 00000 n
+0000275756 00000 n
+0000275821 00000 n
+0000275886 00000 n
+0000275951 00000 n
+0000276016 00000 n
+0000276081 00000 n
+0000276146 00000 n
+0000276211 00000 n
+0000276275 00000 n
+0000276340 00000 n
+0000276405 00000 n
+0000276470 00000 n
+0000276535 00000 n
+0000276600 00000 n
+0000276664 00000 n
+0000276729 00000 n
+0000276793 00000 n
+0000276858 00000 n
+0000282805 00000 n
+0000279829 00000 n
+0000277100 00000 n
+0000279954 00000 n
+0000280018 00000 n
+0000280082 00000 n
+0000280147 00000 n
+0000280212 00000 n
+0000280277 00000 n
+0000280342 00000 n
+0000280407 00000 n
+0000280472 00000 n
+0000280537 00000 n
+0000280602 00000 n
+0000280666 00000 n
+0000280731 00000 n
+0000280796 00000 n
+0000280861 00000 n
+0000280926 00000 n
+0000280991 00000 n
+0000281056 00000 n
+0000281121 00000 n
+0000281186 00000 n
+0000281251 00000 n
+0000281316 00000 n
+0000281381 00000 n
+0000281446 00000 n
+0000281511 00000 n
+0000281575 00000 n
+0000281640 00000 n
+0000281705 00000 n
+0000281770 00000 n
+0000281835 00000 n
+0000281898 00000 n
+0000281963 00000 n
+0000282028 00000 n
+0000282093 00000 n
+0000282158 00000 n
+0000282223 00000 n
+0000282288 00000 n
+0000282353 00000 n
+0000282418 00000 n
+0000282482 00000 n
+0000282547 00000 n
+0000282612 00000 n
+0000282677 00000 n
+0000282741 00000 n
+0000288973 00000 n
+0000285477 00000 n
+0000282982 00000 n
+0000285602 00000 n
+0000285666 00000 n
+0000285731 00000 n
+0000285795 00000 n
+0000285860 00000 n
+0000285925 00000 n
+0000285990 00000 n
+0000286055 00000 n
+0000286120 00000 n
+0000286185 00000 n
+0000286250 00000 n
+0000286315 00000 n
+0000286379 00000 n
+0000286444 00000 n
+0000286509 00000 n
+0000286574 00000 n
+0000286639 00000 n
+0000286704 00000 n
+0000286769 00000 n
+0000286834 00000 n
+0000286898 00000 n
+0000286963 00000 n
+0000287028 00000 n
+0000287093 00000 n
+0000287158 00000 n
+0000287223 00000 n
+0000287288 00000 n
+0000287353 00000 n
+0000287418 00000 n
+0000287482 00000 n
+0000287547 00000 n
+0000287612 00000 n
+0000287677 00000 n
+0000287742 00000 n
+0000287807 00000 n
+0000287872 00000 n
+0000287936 00000 n
+0000288001 00000 n
+0000288066 00000 n
+0000288131 00000 n
+0000288196 00000 n
+0000288261 00000 n
+0000288326 00000 n
+0000288391 00000 n
+0000288456 00000 n
+0000288521 00000 n
+0000288586 00000 n
+0000288651 00000 n
+0000288716 00000 n
+0000288781 00000 n
+0000288845 00000 n
+0000288909 00000 n
+0000295377 00000 n
+0000291556 00000 n
+0000289137 00000 n
+0000291681 00000 n
+0000291745 00000 n
+0000291810 00000 n
+0000291874 00000 n
+0000291939 00000 n
+0000292004 00000 n
+0000292069 00000 n
+0000292134 00000 n
+0000292199 00000 n
+0000292264 00000 n
+0000292329 00000 n
+0000292394 00000 n
+0000292458 00000 n
+0000292523 00000 n
+0000292588 00000 n
+0000292653 00000 n
+0000292718 00000 n
+0000292783 00000 n
+0000292848 00000 n
+0000292913 00000 n
+0000292978 00000 n
+0000293042 00000 n
+0000293107 00000 n
+0000293172 00000 n
+0000293237 00000 n
+0000293302 00000 n
+0000293367 00000 n
+0000293432 00000 n
+0000293497 00000 n
+0000293562 00000 n
+0000293626 00000 n
+0000293691 00000 n
+0000293756 00000 n
+0000293821 00000 n
+0000293886 00000 n
+0000293951 00000 n
+0000294016 00000 n
+0000294081 00000 n
+0000294146 00000 n
+0000294211 00000 n
+0000294276 00000 n
+0000294341 00000 n
+0000294406 00000 n
+0000294471 00000 n
+0000294536 00000 n
+0000294601 00000 n
+0000294665 00000 n
+0000294730 00000 n
+0000294795 00000 n
+0000294860 00000 n
+0000294925 00000 n
+0000294990 00000 n
+0000295055 00000 n
+0000295120 00000 n
+0000295185 00000 n
+0000295249 00000 n
+0000295313 00000 n
+0000301356 00000 n
+0000298183 00000 n
+0000295541 00000 n
+0000298308 00000 n
+0000298372 00000 n
+0000298437 00000 n
+0000298502 00000 n
+0000298567 00000 n
+0000298632 00000 n
+0000298697 00000 n
+0000298762 00000 n
+0000298827 00000 n
+0000298892 00000 n
+0000298957 00000 n
+0000299022 00000 n
+0000299087 00000 n
+0000299151 00000 n
+0000299216 00000 n
+0000299281 00000 n
+0000299346 00000 n
+0000299411 00000 n
+0000299475 00000 n
+0000299540 00000 n
+0000299605 00000 n
+0000299670 00000 n
+0000299735 00000 n
+0000299800 00000 n
+0000299865 00000 n
+0000299930 00000 n
+0000299995 00000 n
+0000300060 00000 n
+0000300125 00000 n
+0000300190 00000 n
+0000300255 00000 n
+0000300320 00000 n
+0000300384 00000 n
+0000300449 00000 n
+0000300514 00000 n
+0000300579 00000 n
+0000300644 00000 n
+0000300709 00000 n
+0000300774 00000 n
+0000300839 00000 n
+0000300904 00000 n
+0000300968 00000 n
+0000301033 00000 n
+0000301098 00000 n
+0000301163 00000 n
+0000301228 00000 n
+0000301292 00000 n
+0000307615 00000 n
+0000303533 00000 n
+0000301533 00000 n
+0000303658 00000 n
+0000303722 00000 n
+0000303787 00000 n
+0000303851 00000 n
+0000303916 00000 n
+0000303981 00000 n
+0000304046 00000 n
+0000304111 00000 n
+0000304176 00000 n
+0000304241 00000 n
+0000304306 00000 n
+0000304371 00000 n
+0000304435 00000 n
+0000304500 00000 n
+0000304565 00000 n
+0000304630 00000 n
+0000304695 00000 n
+0000304760 00000 n
+0000304825 00000 n
+0000304890 00000 n
+0000304955 00000 n
+0000305019 00000 n
+0000305084 00000 n
+0000305149 00000 n
+0000305214 00000 n
+0000305279 00000 n
+0000305344 00000 n
+0000305409 00000 n
+0000305474 00000 n
+0000305539 00000 n
+0000305603 00000 n
+0000305668 00000 n
+0000305733 00000 n
+0000305797 00000 n
+0000305862 00000 n
+0000305927 00000 n
+0000305992 00000 n
+0000306057 00000 n
+0000306122 00000 n
+0000306187 00000 n
+0000306252 00000 n
+0000306317 00000 n
+0000306381 00000 n
+0000306446 00000 n
+0000306511 00000 n
+0000306576 00000 n
+0000306641 00000 n
+0000306706 00000 n
+0000306771 00000 n
+0000306836 00000 n
+0000306901 00000 n
+0000306965 00000 n
+0000307030 00000 n
+0000307095 00000 n
+0000307160 00000 n
+0000307225 00000 n
+0000307290 00000 n
+0000307355 00000 n
+0000307420 00000 n
+0000307485 00000 n
+0000307550 00000 n
+0000313547 00000 n
+0000310376 00000 n
+0000307792 00000 n
+0000310501 00000 n
+0000310565 00000 n
+0000310630 00000 n
+0000310694 00000 n
+0000310759 00000 n
+0000310824 00000 n
+0000310889 00000 n
+0000310954 00000 n
+0000311019 00000 n
+0000311083 00000 n
+0000311148 00000 n
+0000311213 00000 n
+0000311278 00000 n
+0000311342 00000 n
+0000311407 00000 n
+0000311472 00000 n
+0000311537 00000 n
+0000311602 00000 n
+0000311667 00000 n
+0000311732 00000 n
+0000311797 00000 n
+0000311862 00000 n
+0000311926 00000 n
+0000311991 00000 n
+0000312056 00000 n
+0000312121 00000 n
+0000312186 00000 n
+0000312251 00000 n
+0000312316 00000 n
+0000312381 00000 n
+0000312446 00000 n
+0000312510 00000 n
+0000312575 00000 n
+0000312640 00000 n
+0000312705 00000 n
+0000312770 00000 n
+0000312835 00000 n
+0000312900 00000 n
+0000312965 00000 n
+0000313030 00000 n
+0000313094 00000 n
+0000313159 00000 n
+0000313224 00000 n
+0000313289 00000 n
+0000313354 00000 n
+0000313419 00000 n
+0000313483 00000 n
+0000319234 00000 n
+0000316455 00000 n
+0000313737 00000 n
+0000316580 00000 n
+0000316644 00000 n
+0000316709 00000 n
+0000316773 00000 n
+0000316838 00000 n
+0000316902 00000 n
+0000316967 00000 n
+0000317032 00000 n
+0000317097 00000 n
+0000317162 00000 n
+0000317227 00000 n
+0000317291 00000 n
+0000317356 00000 n
+0000317421 00000 n
+0000317486 00000 n
+0000317551 00000 n
+0000317616 00000 n
+0000317681 00000 n
+0000317746 00000 n
+0000317811 00000 n
+0000317874 00000 n
+0000317939 00000 n
+0000318004 00000 n
+0000318069 00000 n
+0000318134 00000 n
+0000318199 00000 n
+0000318264 00000 n
+0000318329 00000 n
+0000318393 00000 n
+0000318458 00000 n
+0000318523 00000 n
+0000318587 00000 n
+0000318652 00000 n
+0000318717 00000 n
+0000318782 00000 n
+0000318847 00000 n
+0000318912 00000 n
+0000318977 00000 n
+0000319041 00000 n
+0000319106 00000 n
+0000319170 00000 n
+0000324767 00000 n
+0000321468 00000 n
+0000319411 00000 n
+0000321593 00000 n
+0000321657 00000 n
+0000321722 00000 n
+0000321787 00000 n
+0000321852 00000 n
+0000321917 00000 n
+0000321982 00000 n
+0000322047 00000 n
+0000322112 00000 n
+0000322177 00000 n
+0000322240 00000 n
+0000322305 00000 n
+0000322370 00000 n
+0000322435 00000 n
+0000322500 00000 n
+0000322565 00000 n
+0000322630 00000 n
+0000322694 00000 n
+0000322759 00000 n
+0000322824 00000 n
+0000322889 00000 n
+0000322954 00000 n
+0000323019 00000 n
+0000323084 00000 n
+0000323149 00000 n
+0000323214 00000 n
+0000323279 00000 n
+0000323344 00000 n
+0000323409 00000 n
+0000323474 00000 n
+0000323539 00000 n
+0000323604 00000 n
+0000323668 00000 n
+0000323732 00000 n
+0000323797 00000 n
+0000323862 00000 n
+0000323927 00000 n
+0000323992 00000 n
+0000324057 00000 n
+0000324122 00000 n
+0000324187 00000 n
+0000324252 00000 n
+0000324316 00000 n
+0000324381 00000 n
+0000324445 00000 n
+0000324509 00000 n
+0000324574 00000 n
+0000324639 00000 n
+0000324703 00000 n
+0000860108 00000 n
+0000331137 00000 n
+0000327056 00000 n
+0000324931 00000 n
+0000327181 00000 n
+0000327245 00000 n
+0000327310 00000 n
+0000327374 00000 n
+0000327439 00000 n
+0000327504 00000 n
+0000327568 00000 n
+0000327633 00000 n
+0000327698 00000 n
+0000327763 00000 n
+0000327828 00000 n
+0000327893 00000 n
+0000327958 00000 n
+0000328023 00000 n
+0000328088 00000 n
+0000328153 00000 n
+0000328218 00000 n
+0000328283 00000 n
+0000328348 00000 n
+0000328413 00000 n
+0000328478 00000 n
+0000328543 00000 n
+0000328607 00000 n
+0000328672 00000 n
+0000328737 00000 n
+0000328802 00000 n
+0000328866 00000 n
+0000328931 00000 n
+0000328996 00000 n
+0000329061 00000 n
+0000329126 00000 n
+0000329191 00000 n
+0000329256 00000 n
+0000329321 00000 n
+0000329386 00000 n
+0000329451 00000 n
+0000329516 00000 n
+0000329581 00000 n
+0000329646 00000 n
+0000329710 00000 n
+0000329775 00000 n
+0000329840 00000 n
+0000329904 00000 n
+0000329969 00000 n
+0000330034 00000 n
+0000330099 00000 n
+0000330164 00000 n
+0000330229 00000 n
+0000330294 00000 n
+0000330359 00000 n
+0000330424 00000 n
+0000330489 00000 n
+0000330554 00000 n
+0000330619 00000 n
+0000330684 00000 n
+0000330749 00000 n
+0000330814 00000 n
+0000330879 00000 n
0000330944 00000 n
0000331009 00000 n
0000331073 00000 n
-0000331138 00000 n
-0000331266 00000 n
-0000331331 00000 n
-0000331396 00000 n
-0000331461 00000 n
-0000331526 00000 n
-0000331591 00000 n
-0000331656 00000 n
-0000331721 00000 n
-0000331786 00000 n
-0000331851 00000 n
-0000331916 00000 n
-0000331981 00000 n
-0000332046 00000 n
-0000332111 00000 n
-0000332239 00000 n
-0000332304 00000 n
-0000332368 00000 n
-0000332433 00000 n
-0000332498 00000 n
-0000332563 00000 n
-0000332628 00000 n
-0000332693 00000 n
-0000332758 00000 n
-0000332823 00000 n
-0000332888 00000 n
-0000332952 00000 n
-0000333017 00000 n
-0000333082 00000 n
-0000333147 00000 n
-0000333212 00000 n
-0000333277 00000 n
-0000333342 00000 n
-0000333407 00000 n
-0000333472 00000 n
-0000845364 00000 n
+0000337297 00000 n
+0000333216 00000 n
+0000331288 00000 n
+0000333341 00000 n
+0000333405 00000 n
+0000333470 00000 n
+0000333534 00000 n
0000333599 00000 n
0000333664 00000 n
0000333729 00000 n
0000333794 00000 n
0000333859 00000 n
-0000333923 00000 n
-0000340049 00000 n
-0000337655 00000 n
-0000334218 00000 n
-0000337780 00000 n
-0000337844 00000 n
-0000337909 00000 n
-0000337973 00000 n
-0000338038 00000 n
-0000338103 00000 n
-0000338168 00000 n
-0000338233 00000 n
-0000338298 00000 n
-0000338363 00000 n
-0000338428 00000 n
-0000338493 00000 n
-0000338558 00000 n
-0000338621 00000 n
-0000338686 00000 n
-0000338751 00000 n
-0000338816 00000 n
-0000338881 00000 n
-0000338946 00000 n
-0000339011 00000 n
-0000339076 00000 n
-0000339141 00000 n
-0000339205 00000 n
-0000339270 00000 n
-0000339335 00000 n
-0000339400 00000 n
-0000339465 00000 n
-0000339530 00000 n
-0000339595 00000 n
-0000339660 00000 n
-0000339725 00000 n
-0000339789 00000 n
-0000339854 00000 n
-0000339919 00000 n
-0000339984 00000 n
-0000847725 00000 n
-0000345362 00000 n
-0000342645 00000 n
-0000340265 00000 n
-0000342770 00000 n
-0000342834 00000 n
-0000342899 00000 n
-0000342964 00000 n
-0000343029 00000 n
-0000343093 00000 n
-0000343158 00000 n
-0000343223 00000 n
-0000343287 00000 n
-0000343352 00000 n
-0000343417 00000 n
-0000343482 00000 n
-0000343547 00000 n
-0000343612 00000 n
-0000343677 00000 n
-0000343742 00000 n
-0000343807 00000 n
-0000343872 00000 n
-0000343937 00000 n
-0000344002 00000 n
-0000344067 00000 n
-0000344132 00000 n
-0000344197 00000 n
-0000344262 00000 n
-0000344327 00000 n
-0000344392 00000 n
-0000344455 00000 n
-0000344520 00000 n
-0000344585 00000 n
-0000344650 00000 n
-0000344715 00000 n
-0000344780 00000 n
-0000344844 00000 n
-0000344909 00000 n
-0000344974 00000 n
-0000345039 00000 n
-0000345104 00000 n
-0000345169 00000 n
-0000345233 00000 n
-0000345298 00000 n
-0000349938 00000 n
-0000348061 00000 n
-0000345565 00000 n
-0000348186 00000 n
-0000348250 00000 n
-0000348315 00000 n
-0000348380 00000 n
-0000348445 00000 n
-0000348510 00000 n
-0000348575 00000 n
-0000348640 00000 n
-0000348705 00000 n
-0000348769 00000 n
-0000348834 00000 n
-0000348899 00000 n
-0000348964 00000 n
-0000349029 00000 n
-0000349094 00000 n
-0000349159 00000 n
-0000349224 00000 n
-0000349289 00000 n
-0000349354 00000 n
-0000349419 00000 n
-0000349484 00000 n
-0000349549 00000 n
-0000349614 00000 n
-0000349679 00000 n
-0000349744 00000 n
-0000349809 00000 n
-0000349874 00000 n
-0000355323 00000 n
-0000352409 00000 n
-0000350141 00000 n
-0000352534 00000 n
-0000352598 00000 n
-0000352662 00000 n
-0000352727 00000 n
-0000352792 00000 n
-0000352857 00000 n
-0000352922 00000 n
-0000352987 00000 n
-0000353052 00000 n
-0000353116 00000 n
-0000353181 00000 n
-0000353246 00000 n
-0000353311 00000 n
-0000353376 00000 n
-0000353441 00000 n
-0000353506 00000 n
-0000353571 00000 n
-0000353636 00000 n
-0000353701 00000 n
-0000353766 00000 n
-0000353831 00000 n
-0000353896 00000 n
-0000353961 00000 n
-0000354026 00000 n
-0000354091 00000 n
-0000354156 00000 n
-0000354220 00000 n
-0000354285 00000 n
-0000354350 00000 n
-0000354415 00000 n
-0000354480 00000 n
-0000354545 00000 n
-0000354610 00000 n
-0000354675 00000 n
-0000354740 00000 n
-0000354805 00000 n
-0000354870 00000 n
-0000354934 00000 n
-0000354999 00000 n
-0000355064 00000 n
-0000355129 00000 n
-0000355194 00000 n
-0000355258 00000 n
-0000360614 00000 n
-0000357438 00000 n
-0000355539 00000 n
-0000357563 00000 n
-0000357627 00000 n
-0000357692 00000 n
-0000357756 00000 n
-0000357821 00000 n
-0000357886 00000 n
-0000357951 00000 n
-0000358016 00000 n
-0000358081 00000 n
-0000358146 00000 n
-0000358210 00000 n
-0000358275 00000 n
-0000358340 00000 n
-0000358405 00000 n
-0000358470 00000 n
-0000358535 00000 n
-0000358600 00000 n
-0000358664 00000 n
-0000358729 00000 n
-0000358794 00000 n
-0000358859 00000 n
-0000358924 00000 n
-0000358989 00000 n
-0000359054 00000 n
-0000359119 00000 n
-0000359184 00000 n
-0000359249 00000 n
-0000359314 00000 n
-0000359379 00000 n
-0000359444 00000 n
-0000359509 00000 n
-0000359574 00000 n
-0000359639 00000 n
-0000359704 00000 n
-0000359769 00000 n
-0000359834 00000 n
-0000359899 00000 n
-0000359964 00000 n
-0000360029 00000 n
-0000360094 00000 n
-0000360159 00000 n
-0000360224 00000 n
-0000360289 00000 n
-0000360354 00000 n
-0000360419 00000 n
-0000360484 00000 n
-0000360549 00000 n
-0000363913 00000 n
-0000366405 00000 n
-0000363740 00000 n
-0000360791 00000 n
+0000333924 00000 n
+0000333989 00000 n
+0000334054 00000 n
+0000334119 00000 n
+0000334183 00000 n
+0000334248 00000 n
+0000334313 00000 n
+0000334378 00000 n
+0000334443 00000 n
+0000334508 00000 n
+0000334573 00000 n
+0000334638 00000 n
+0000334703 00000 n
+0000334768 00000 n
+0000334832 00000 n
+0000334897 00000 n
+0000334962 00000 n
+0000335027 00000 n
+0000335092 00000 n
+0000335157 00000 n
+0000335222 00000 n
+0000335287 00000 n
+0000335352 00000 n
+0000335416 00000 n
+0000335481 00000 n
+0000335546 00000 n
+0000335611 00000 n
+0000335676 00000 n
+0000335741 00000 n
+0000335806 00000 n
+0000335871 00000 n
+0000335936 00000 n
+0000336000 00000 n
+0000336065 00000 n
+0000336130 00000 n
+0000336195 00000 n
+0000336260 00000 n
+0000336325 00000 n
+0000336390 00000 n
+0000336455 00000 n
+0000336520 00000 n
+0000336585 00000 n
+0000336649 00000 n
+0000336714 00000 n
+0000336779 00000 n
+0000336844 00000 n
+0000336909 00000 n
+0000336973 00000 n
+0000337038 00000 n
+0000337103 00000 n
+0000337168 00000 n
+0000337233 00000 n
+0000343409 00000 n
+0000339849 00000 n
+0000337448 00000 n
+0000339974 00000 n
+0000340038 00000 n
+0000340103 00000 n
+0000340167 00000 n
+0000340232 00000 n
+0000340297 00000 n
+0000340362 00000 n
+0000340427 00000 n
+0000340492 00000 n
+0000340557 00000 n
+0000340622 00000 n
+0000340687 00000 n
+0000340752 00000 n
+0000340817 00000 n
+0000340882 00000 n
+0000340947 00000 n
+0000341012 00000 n
+0000341077 00000 n
+0000341140 00000 n
+0000341205 00000 n
+0000341270 00000 n
+0000341335 00000 n
+0000341400 00000 n
+0000341465 00000 n
+0000341530 00000 n
+0000341595 00000 n
+0000341660 00000 n
+0000341725 00000 n
+0000341790 00000 n
+0000341855 00000 n
+0000341920 00000 n
+0000341985 00000 n
+0000342049 00000 n
+0000342113 00000 n
+0000342178 00000 n
+0000342242 00000 n
+0000342307 00000 n
+0000342372 00000 n
+0000342437 00000 n
+0000342502 00000 n
+0000342567 00000 n
+0000342632 00000 n
+0000342697 00000 n
+0000342762 00000 n
+0000342826 00000 n
+0000342891 00000 n
+0000342956 00000 n
+0000343021 00000 n
+0000343086 00000 n
+0000343151 00000 n
+0000343216 00000 n
+0000343281 00000 n
+0000343345 00000 n
+0000857753 00000 n
+0000349135 00000 n
+0000346743 00000 n
+0000343627 00000 n
+0000346868 00000 n
+0000346932 00000 n
+0000346996 00000 n
+0000347061 00000 n
+0000347126 00000 n
+0000347190 00000 n
+0000347254 00000 n
+0000347319 00000 n
+0000347384 00000 n
+0000347449 00000 n
+0000347514 00000 n
+0000347579 00000 n
+0000347644 00000 n
+0000347709 00000 n
+0000347774 00000 n
+0000347839 00000 n
+0000347902 00000 n
+0000347967 00000 n
+0000348032 00000 n
+0000348097 00000 n
+0000348162 00000 n
+0000348227 00000 n
+0000348292 00000 n
+0000348357 00000 n
+0000348422 00000 n
+0000348486 00000 n
+0000348551 00000 n
+0000348616 00000 n
+0000348681 00000 n
+0000348746 00000 n
+0000348811 00000 n
+0000348876 00000 n
+0000348941 00000 n
+0000349006 00000 n
+0000349071 00000 n
+0000354565 00000 n
+0000351974 00000 n
+0000349378 00000 n
+0000352099 00000 n
+0000352163 00000 n
+0000352228 00000 n
+0000352293 00000 n
+0000352358 00000 n
+0000352423 00000 n
+0000352488 00000 n
+0000352553 00000 n
+0000352618 00000 n
+0000352682 00000 n
+0000352747 00000 n
+0000352812 00000 n
+0000352877 00000 n
+0000352942 00000 n
+0000353007 00000 n
+0000353072 00000 n
+0000353137 00000 n
+0000353202 00000 n
+0000353267 00000 n
+0000353332 00000 n
+0000353397 00000 n
+0000353461 00000 n
+0000353526 00000 n
+0000353591 00000 n
+0000353656 00000 n
+0000353721 00000 n
+0000353786 00000 n
+0000353851 00000 n
+0000353916 00000 n
+0000353980 00000 n
+0000354045 00000 n
+0000354110 00000 n
+0000354175 00000 n
+0000354240 00000 n
+0000354305 00000 n
+0000354370 00000 n
+0000354435 00000 n
+0000354500 00000 n
+0000359969 00000 n
+0000357575 00000 n
+0000354768 00000 n
+0000357700 00000 n
+0000357764 00000 n
+0000357828 00000 n
+0000357893 00000 n
+0000357958 00000 n
+0000358023 00000 n
+0000358088 00000 n
+0000358153 00000 n
+0000358218 00000 n
+0000358282 00000 n
+0000358347 00000 n
+0000358412 00000 n
+0000358477 00000 n
+0000358542 00000 n
+0000358607 00000 n
+0000358672 00000 n
+0000358737 00000 n
+0000358802 00000 n
+0000358867 00000 n
+0000358932 00000 n
+0000358997 00000 n
+0000359062 00000 n
+0000359127 00000 n
+0000359190 00000 n
+0000359255 00000 n
+0000359320 00000 n
+0000359385 00000 n
+0000359450 00000 n
+0000359514 00000 n
+0000359579 00000 n
+0000359644 00000 n
+0000359709 00000 n
+0000359774 00000 n
+0000359839 00000 n
+0000359904 00000 n
+0000365044 00000 n
+0000362520 00000 n
+0000360185 00000 n
+0000362645 00000 n
+0000362709 00000 n
+0000362774 00000 n
+0000362838 00000 n
+0000362903 00000 n
+0000362968 00000 n
+0000363033 00000 n
+0000363098 00000 n
+0000363162 00000 n
+0000363227 00000 n
+0000363292 00000 n
+0000363357 00000 n
+0000363422 00000 n
+0000363487 00000 n
+0000363552 00000 n
+0000363617 00000 n
+0000363682 00000 n
+0000363746 00000 n
+0000363811 00000 n
+0000363876 00000 n
+0000363941 00000 n
+0000364006 00000 n
0000364071 00000 n
-0000364135 00000 n
+0000364136 00000 n
0000364200 00000 n
0000364265 00000 n
0000364330 00000 n
0000364395 00000 n
0000364460 00000 n
-0000364525 00000 n
-0000364590 00000 n
-0000364655 00000 n
+0000364524 00000 n
+0000364589 00000 n
+0000364654 00000 n
0000364719 00000 n
0000364784 00000 n
0000364849 00000 n
0000364914 00000 n
0000364979 00000 n
-0000365044 00000 n
-0000365109 00000 n
-0000365174 00000 n
-0000365239 00000 n
-0000365304 00000 n
-0000365369 00000 n
-0000365434 00000 n
-0000365498 00000 n
-0000365563 00000 n
-0000365627 00000 n
-0000365692 00000 n
-0000365757 00000 n
-0000365822 00000 n
-0000365887 00000 n
-0000365952 00000 n
-0000366017 00000 n
-0000366082 00000 n
-0000366147 00000 n
-0000366212 00000 n
-0000366277 00000 n
-0000366341 00000 n
-0000363882 00000 n
-0000373109 00000 n
-0000369549 00000 n
-0000366673 00000 n
-0000369674 00000 n
-0000369738 00000 n
-0000369803 00000 n
-0000369867 00000 n
-0000369932 00000 n
-0000369997 00000 n
-0000370062 00000 n
-0000370127 00000 n
-0000370192 00000 n
-0000370257 00000 n
-0000370322 00000 n
-0000370387 00000 n
-0000370452 00000 n
-0000370517 00000 n
-0000370582 00000 n
-0000370647 00000 n
-0000370712 00000 n
-0000370840 00000 n
-0000370905 00000 n
-0000370969 00000 n
-0000371034 00000 n
-0000371099 00000 n
-0000371164 00000 n
-0000371229 00000 n
-0000371294 00000 n
-0000371359 00000 n
-0000371424 00000 n
-0000371489 00000 n
-0000371553 00000 n
-0000371618 00000 n
-0000371683 00000 n
-0000371748 00000 n
-0000371813 00000 n
-0000371878 00000 n
-0000371943 00000 n
-0000372008 00000 n
-0000372073 00000 n
-0000372137 00000 n
-0000372202 00000 n
-0000372267 00000 n
-0000372332 00000 n
-0000372397 00000 n
-0000372462 00000 n
-0000372527 00000 n
-0000372592 00000 n
-0000372657 00000 n
-0000372721 00000 n
-0000372786 00000 n
-0000372851 00000 n
-0000372916 00000 n
-0000372981 00000 n
-0000373045 00000 n
-0000379082 00000 n
-0000376623 00000 n
-0000373312 00000 n
-0000376748 00000 n
-0000376812 00000 n
-0000376877 00000 n
-0000376941 00000 n
-0000377006 00000 n
-0000377071 00000 n
-0000377136 00000 n
-0000377201 00000 n
-0000377266 00000 n
-0000377331 00000 n
-0000377396 00000 n
-0000377461 00000 n
-0000377525 00000 n
-0000377590 00000 n
-0000377655 00000 n
-0000377720 00000 n
-0000377785 00000 n
-0000377850 00000 n
-0000377915 00000 n
-0000377980 00000 n
-0000378045 00000 n
-0000378109 00000 n
-0000378174 00000 n
-0000378239 00000 n
-0000378304 00000 n
-0000378369 00000 n
-0000378433 00000 n
-0000378498 00000 n
-0000378563 00000 n
-0000378628 00000 n
-0000378693 00000 n
-0000378758 00000 n
-0000378823 00000 n
-0000378888 00000 n
-0000378953 00000 n
-0000379017 00000 n
-0000382720 00000 n
-0000382877 00000 n
-0000385174 00000 n
-0000382538 00000 n
-0000379298 00000 n
-0000383034 00000 n
-0000383098 00000 n
-0000383161 00000 n
-0000383226 00000 n
-0000383291 00000 n
-0000383356 00000 n
-0000383420 00000 n
-0000383485 00000 n
-0000383550 00000 n
-0000383615 00000 n
-0000383680 00000 n
-0000383745 00000 n
-0000383810 00000 n
-0000383875 00000 n
-0000383940 00000 n
-0000384005 00000 n
-0000384070 00000 n
-0000384135 00000 n
-0000384200 00000 n
-0000384265 00000 n
-0000384330 00000 n
-0000384395 00000 n
-0000384460 00000 n
-0000384525 00000 n
-0000384590 00000 n
-0000384655 00000 n
-0000384720 00000 n
-0000384784 00000 n
-0000384849 00000 n
-0000384914 00000 n
-0000384979 00000 n
-0000385044 00000 n
-0000385109 00000 n
-0000382680 00000 n
-0000390632 00000 n
-0000387137 00000 n
-0000385442 00000 n
-0000387262 00000 n
-0000387326 00000 n
-0000387391 00000 n
-0000387456 00000 n
-0000387521 00000 n
-0000387586 00000 n
-0000387650 00000 n
-0000387715 00000 n
-0000387780 00000 n
-0000387845 00000 n
-0000387910 00000 n
-0000387975 00000 n
-0000388040 00000 n
-0000388105 00000 n
-0000388170 00000 n
-0000388234 00000 n
-0000388299 00000 n
-0000388364 00000 n
-0000388429 00000 n
-0000388494 00000 n
-0000388559 00000 n
-0000388624 00000 n
-0000388689 00000 n
-0000388754 00000 n
-0000388819 00000 n
-0000388884 00000 n
-0000388949 00000 n
-0000389014 00000 n
-0000389079 00000 n
-0000389144 00000 n
-0000389209 00000 n
-0000389274 00000 n
-0000389339 00000 n
-0000389404 00000 n
-0000389468 00000 n
-0000389533 00000 n
-0000389598 00000 n
-0000389662 00000 n
-0000389727 00000 n
-0000389791 00000 n
-0000389856 00000 n
-0000389920 00000 n
-0000389985 00000 n
-0000390050 00000 n
-0000390115 00000 n
-0000390180 00000 n
-0000390245 00000 n
-0000390310 00000 n
-0000390374 00000 n
-0000390439 00000 n
-0000390504 00000 n
-0000390568 00000 n
-0000396444 00000 n
-0000392688 00000 n
-0000390796 00000 n
-0000392813 00000 n
-0000392877 00000 n
-0000392942 00000 n
-0000393006 00000 n
-0000393071 00000 n
-0000393136 00000 n
-0000393201 00000 n
-0000393266 00000 n
-0000393331 00000 n
-0000393396 00000 n
-0000393461 00000 n
-0000393526 00000 n
-0000393590 00000 n
-0000393655 00000 n
-0000393720 00000 n
-0000393785 00000 n
-0000393850 00000 n
-0000393915 00000 n
-0000393980 00000 n
-0000394045 00000 n
-0000394110 00000 n
-0000394174 00000 n
-0000394239 00000 n
-0000394304 00000 n
-0000394369 00000 n
-0000394434 00000 n
-0000394499 00000 n
-0000394564 00000 n
-0000394629 00000 n
-0000394694 00000 n
-0000394758 00000 n
-0000394823 00000 n
-0000394888 00000 n
-0000394953 00000 n
-0000395018 00000 n
-0000395083 00000 n
-0000395148 00000 n
-0000395213 00000 n
-0000395278 00000 n
-0000395342 00000 n
-0000395407 00000 n
-0000395472 00000 n
-0000395537 00000 n
-0000395602 00000 n
-0000395667 00000 n
-0000395732 00000 n
-0000395797 00000 n
-0000395862 00000 n
-0000395927 00000 n
-0000395992 00000 n
-0000396057 00000 n
-0000396122 00000 n
-0000396187 00000 n
-0000396252 00000 n
-0000396316 00000 n
-0000396380 00000 n
-0000847889 00000 n
-0000402844 00000 n
-0000399999 00000 n
-0000396634 00000 n
-0000400124 00000 n
-0000400188 00000 n
-0000400253 00000 n
-0000400317 00000 n
-0000400381 00000 n
-0000400446 00000 n
-0000400511 00000 n
-0000400575 00000 n
-0000400640 00000 n
-0000400705 00000 n
-0000400770 00000 n
-0000400835 00000 n
-0000400900 00000 n
-0000400965 00000 n
-0000401030 00000 n
-0000401095 00000 n
-0000401159 00000 n
-0000401224 00000 n
-0000401288 00000 n
-0000401353 00000 n
-0000401418 00000 n
-0000401483 00000 n
-0000401548 00000 n
-0000401613 00000 n
-0000401678 00000 n
-0000401743 00000 n
-0000401808 00000 n
-0000401873 00000 n
-0000401938 00000 n
-0000402002 00000 n
-0000402067 00000 n
-0000402132 00000 n
-0000402197 00000 n
-0000402262 00000 n
-0000402327 00000 n
-0000402392 00000 n
-0000402457 00000 n
-0000402522 00000 n
-0000402586 00000 n
-0000402651 00000 n
-0000402716 00000 n
-0000402780 00000 n
-0000405803 00000 n
-0000408879 00000 n
-0000405630 00000 n
-0000403073 00000 n
-0000405961 00000 n
-0000406025 00000 n
-0000406089 00000 n
-0000406154 00000 n
-0000406218 00000 n
-0000406283 00000 n
-0000406348 00000 n
-0000406413 00000 n
-0000406478 00000 n
-0000406543 00000 n
-0000406608 00000 n
-0000406673 00000 n
-0000406738 00000 n
-0000406803 00000 n
-0000406868 00000 n
-0000406933 00000 n
-0000406998 00000 n
-0000407063 00000 n
-0000407128 00000 n
-0000407192 00000 n
-0000407257 00000 n
-0000407322 00000 n
-0000407387 00000 n
-0000407452 00000 n
-0000407517 00000 n
-0000407582 00000 n
-0000407647 00000 n
-0000407712 00000 n
-0000407776 00000 n
-0000407841 00000 n
-0000407906 00000 n
-0000407971 00000 n
-0000408036 00000 n
-0000408100 00000 n
-0000408165 00000 n
-0000408230 00000 n
-0000408295 00000 n
-0000408360 00000 n
-0000408425 00000 n
-0000408490 00000 n
-0000408555 00000 n
-0000408620 00000 n
-0000408684 00000 n
-0000408749 00000 n
-0000408814 00000 n
-0000405772 00000 n
-0000415012 00000 n
-0000411454 00000 n
-0000409147 00000 n
-0000411579 00000 n
-0000411706 00000 n
-0000411770 00000 n
-0000411835 00000 n
-0000411900 00000 n
-0000411965 00000 n
-0000412030 00000 n
-0000412095 00000 n
-0000412160 00000 n
-0000412224 00000 n
-0000412289 00000 n
-0000412354 00000 n
-0000412419 00000 n
-0000412484 00000 n
-0000412549 00000 n
-0000412614 00000 n
-0000412679 00000 n
-0000412744 00000 n
-0000412808 00000 n
-0000412873 00000 n
-0000412938 00000 n
-0000413003 00000 n
-0000413068 00000 n
-0000413133 00000 n
-0000413198 00000 n
-0000413263 00000 n
-0000413327 00000 n
-0000413392 00000 n
-0000413457 00000 n
-0000413522 00000 n
-0000413587 00000 n
-0000413652 00000 n
-0000413717 00000 n
-0000413782 00000 n
-0000413847 00000 n
-0000413910 00000 n
-0000413975 00000 n
-0000414040 00000 n
-0000414105 00000 n
-0000414170 00000 n
-0000414235 00000 n
-0000414300 00000 n
-0000414365 00000 n
-0000414430 00000 n
-0000414495 00000 n
-0000414560 00000 n
-0000414625 00000 n
-0000414690 00000 n
-0000414755 00000 n
-0000414820 00000 n
-0000414885 00000 n
-0000414948 00000 n
-0000420178 00000 n
-0000417202 00000 n
-0000415189 00000 n
-0000417327 00000 n
-0000417391 00000 n
-0000417456 00000 n
-0000417520 00000 n
-0000417585 00000 n
-0000417650 00000 n
-0000417715 00000 n
-0000417780 00000 n
-0000417845 00000 n
-0000417910 00000 n
-0000417975 00000 n
-0000418039 00000 n
-0000418104 00000 n
-0000418169 00000 n
-0000418234 00000 n
-0000418299 00000 n
-0000418364 00000 n
-0000418429 00000 n
-0000418494 00000 n
-0000418559 00000 n
-0000418623 00000 n
-0000418688 00000 n
-0000418753 00000 n
-0000418818 00000 n
-0000418883 00000 n
-0000418948 00000 n
-0000419013 00000 n
-0000419078 00000 n
-0000419143 00000 n
-0000419207 00000 n
-0000419270 00000 n
-0000419335 00000 n
-0000419400 00000 n
-0000419465 00000 n
-0000419530 00000 n
-0000419594 00000 n
-0000419659 00000 n
-0000419724 00000 n
-0000419788 00000 n
-0000419853 00000 n
-0000419918 00000 n
-0000419983 00000 n
-0000420048 00000 n
-0000420113 00000 n
-0000425964 00000 n
-0000423053 00000 n
-0000420342 00000 n
-0000423178 00000 n
-0000423242 00000 n
-0000423306 00000 n
-0000423371 00000 n
-0000423436 00000 n
-0000423501 00000 n
-0000423566 00000 n
-0000423631 00000 n
-0000423696 00000 n
-0000423760 00000 n
-0000423825 00000 n
-0000423890 00000 n
-0000423955 00000 n
-0000424020 00000 n
-0000424085 00000 n
-0000424150 00000 n
-0000424214 00000 n
-0000424279 00000 n
-0000424344 00000 n
-0000424409 00000 n
-0000424474 00000 n
-0000424539 00000 n
-0000424604 00000 n
-0000424669 00000 n
-0000424734 00000 n
-0000424799 00000 n
-0000424864 00000 n
-0000424928 00000 n
-0000424993 00000 n
-0000425058 00000 n
-0000425123 00000 n
-0000425188 00000 n
-0000425252 00000 n
-0000425317 00000 n
-0000425382 00000 n
-0000425447 00000 n
-0000425512 00000 n
-0000425577 00000 n
-0000425642 00000 n
-0000425706 00000 n
-0000425771 00000 n
-0000425836 00000 n
-0000425900 00000 n
-0000431685 00000 n
-0000427998 00000 n
-0000426167 00000 n
-0000428123 00000 n
-0000428187 00000 n
-0000428252 00000 n
-0000428316 00000 n
-0000428379 00000 n
-0000428444 00000 n
-0000428509 00000 n
-0000428574 00000 n
-0000428639 00000 n
-0000428704 00000 n
-0000428767 00000 n
-0000428832 00000 n
-0000428897 00000 n
-0000428962 00000 n
-0000429027 00000 n
-0000429091 00000 n
-0000429156 00000 n
-0000429221 00000 n
-0000429286 00000 n
-0000429351 00000 n
-0000429416 00000 n
-0000429481 00000 n
-0000429546 00000 n
-0000429611 00000 n
-0000429675 00000 n
-0000429740 00000 n
-0000429805 00000 n
-0000429870 00000 n
-0000429935 00000 n
-0000430000 00000 n
-0000430065 00000 n
-0000430130 00000 n
-0000430195 00000 n
-0000430259 00000 n
-0000430323 00000 n
-0000430388 00000 n
-0000430453 00000 n
-0000430518 00000 n
-0000430583 00000 n
-0000430648 00000 n
-0000430713 00000 n
-0000430778 00000 n
-0000430843 00000 n
-0000430908 00000 n
-0000430973 00000 n
-0000431038 00000 n
-0000431103 00000 n
-0000431168 00000 n
-0000431233 00000 n
-0000431298 00000 n
-0000431363 00000 n
-0000431427 00000 n
-0000431492 00000 n
-0000431557 00000 n
-0000431621 00000 n
-0000440247 00000 n
-0000437253 00000 n
-0000433691 00000 n
-0000431888 00000 n
-0000433816 00000 n
+0000370413 00000 n
+0000367310 00000 n
+0000365247 00000 n
+0000367435 00000 n
+0000367499 00000 n
+0000367563 00000 n
+0000367628 00000 n
+0000367693 00000 n
+0000367758 00000 n
+0000367823 00000 n
+0000367888 00000 n
+0000367953 00000 n
+0000368017 00000 n
+0000368082 00000 n
+0000368147 00000 n
+0000368212 00000 n
+0000368277 00000 n
+0000368342 00000 n
+0000368407 00000 n
+0000368470 00000 n
+0000368535 00000 n
+0000368600 00000 n
+0000368665 00000 n
+0000368730 00000 n
+0000368795 00000 n
+0000368860 00000 n
+0000368924 00000 n
+0000368989 00000 n
+0000369054 00000 n
+0000369119 00000 n
+0000369184 00000 n
+0000369249 00000 n
+0000369314 00000 n
+0000369379 00000 n
+0000369443 00000 n
+0000369508 00000 n
+0000369573 00000 n
+0000369638 00000 n
+0000369703 00000 n
+0000369768 00000 n
+0000369833 00000 n
+0000369898 00000 n
+0000369963 00000 n
+0000370024 00000 n
+0000370089 00000 n
+0000370154 00000 n
+0000370219 00000 n
+0000370284 00000 n
+0000370349 00000 n
+0000379431 00000 n
+0000375977 00000 n
+0000373327 00000 n
+0000370616 00000 n
+0000373452 00000 n
+0000373516 00000 n
+0000373581 00000 n
+0000373646 00000 n
+0000373711 00000 n
+0000373776 00000 n
+0000373841 00000 n
+0000373906 00000 n
+0000373971 00000 n
+0000374034 00000 n
+0000374099 00000 n
+0000374164 00000 n
+0000374229 00000 n
+0000374293 00000 n
+0000374358 00000 n
+0000374423 00000 n
+0000374488 00000 n
+0000374553 00000 n
+0000374618 00000 n
+0000374683 00000 n
+0000374748 00000 n
+0000374813 00000 n
+0000374877 00000 n
+0000374942 00000 n
+0000375007 00000 n
+0000375072 00000 n
+0000375136 00000 n
+0000375201 00000 n
+0000375266 00000 n
+0000375331 00000 n
+0000375395 00000 n
+0000375460 00000 n
+0000375525 00000 n
+0000375590 00000 n
+0000375655 00000 n
+0000375719 00000 n
+0000375784 00000 n
+0000375849 00000 n
+0000375913 00000 n
+0000382702 00000 n
+0000379258 00000 n
+0000376193 00000 n
+0000379589 00000 n
+0000379653 00000 n
+0000379718 00000 n
+0000379783 00000 n
+0000379848 00000 n
+0000379913 00000 n
+0000379978 00000 n
+0000380043 00000 n
+0000380108 00000 n
+0000380172 00000 n
+0000380237 00000 n
+0000380302 00000 n
+0000380367 00000 n
+0000380432 00000 n
+0000380497 00000 n
+0000380562 00000 n
+0000380627 00000 n
+0000380692 00000 n
+0000380757 00000 n
+0000380822 00000 n
+0000380887 00000 n
+0000380951 00000 n
+0000381015 00000 n
+0000381080 00000 n
+0000381145 00000 n
+0000381210 00000 n
+0000381275 00000 n
+0000381340 00000 n
+0000381405 00000 n
+0000381470 00000 n
+0000381535 00000 n
+0000381600 00000 n
+0000381665 00000 n
+0000381730 00000 n
+0000381795 00000 n
+0000381860 00000 n
+0000381924 00000 n
+0000381989 00000 n
+0000382054 00000 n
+0000382119 00000 n
+0000382184 00000 n
+0000382249 00000 n
+0000382314 00000 n
+0000382379 00000 n
+0000382444 00000 n
+0000382508 00000 n
+0000382573 00000 n
+0000382638 00000 n
+0000860272 00000 n
+0000379400 00000 n
+0000389065 00000 n
+0000386088 00000 n
+0000382957 00000 n
+0000386213 00000 n
+0000386277 00000 n
+0000386342 00000 n
+0000386406 00000 n
+0000386471 00000 n
+0000386536 00000 n
+0000386601 00000 n
+0000386666 00000 n
+0000386731 00000 n
+0000386796 00000 n
+0000386861 00000 n
+0000386926 00000 n
+0000386990 00000 n
+0000387055 00000 n
+0000387120 00000 n
+0000387185 00000 n
+0000387250 00000 n
+0000387315 00000 n
+0000387380 00000 n
+0000387445 00000 n
+0000387510 00000 n
+0000387574 00000 n
+0000387639 00000 n
+0000387704 00000 n
+0000387769 00000 n
+0000387834 00000 n
+0000387899 00000 n
+0000387964 00000 n
+0000388029 00000 n
+0000388094 00000 n
+0000388158 00000 n
+0000388223 00000 n
+0000388288 00000 n
+0000388353 00000 n
+0000388418 00000 n
+0000388483 00000 n
+0000388548 00000 n
+0000388613 00000 n
+0000388678 00000 n
+0000388743 00000 n
+0000388807 00000 n
+0000388872 00000 n
+0000388937 00000 n
+0000389001 00000 n
+0000393066 00000 n
+0000393223 00000 n
+0000395192 00000 n
+0000392884 00000 n
+0000389268 00000 n
+0000393379 00000 n
+0000393443 00000 n
+0000393508 00000 n
+0000393572 00000 n
+0000393637 00000 n
+0000393702 00000 n
+0000393766 00000 n
+0000393831 00000 n
+0000393895 00000 n
+0000393960 00000 n
+0000394025 00000 n
+0000394090 00000 n
+0000394154 00000 n
+0000394219 00000 n
+0000394284 00000 n
+0000394349 00000 n
+0000394414 00000 n
+0000394479 00000 n
+0000394544 00000 n
+0000394609 00000 n
+0000394674 00000 n
+0000394739 00000 n
+0000394803 00000 n
+0000394868 00000 n
+0000394933 00000 n
+0000394998 00000 n
+0000395063 00000 n
+0000395128 00000 n
+0000393026 00000 n
+0000400871 00000 n
+0000397179 00000 n
+0000395473 00000 n
+0000397304 00000 n
+0000397368 00000 n
+0000397433 00000 n
+0000397497 00000 n
+0000397562 00000 n
+0000397627 00000 n
+0000397692 00000 n
+0000397757 00000 n
+0000397822 00000 n
+0000397887 00000 n
+0000397952 00000 n
+0000398017 00000 n
+0000398082 00000 n
+0000398147 00000 n
+0000398211 00000 n
+0000398276 00000 n
+0000398341 00000 n
+0000398406 00000 n
+0000398471 00000 n
+0000398536 00000 n
+0000398601 00000 n
+0000398666 00000 n
+0000398731 00000 n
+0000398795 00000 n
+0000398860 00000 n
+0000398925 00000 n
+0000398990 00000 n
+0000399055 00000 n
+0000399120 00000 n
+0000399185 00000 n
+0000399250 00000 n
+0000399315 00000 n
+0000399380 00000 n
+0000399445 00000 n
+0000399510 00000 n
+0000399575 00000 n
+0000399640 00000 n
+0000399705 00000 n
+0000399770 00000 n
+0000399835 00000 n
+0000399900 00000 n
+0000399965 00000 n
+0000400029 00000 n
+0000400093 00000 n
+0000400158 00000 n
+0000400222 00000 n
+0000400287 00000 n
+0000400352 00000 n
+0000400417 00000 n
+0000400482 00000 n
+0000400547 00000 n
+0000400612 00000 n
+0000400677 00000 n
+0000400742 00000 n
+0000400806 00000 n
+0000406681 00000 n
+0000402606 00000 n
+0000401035 00000 n
+0000402731 00000 n
+0000402795 00000 n
+0000402859 00000 n
+0000402924 00000 n
+0000402988 00000 n
+0000403052 00000 n
+0000403117 00000 n
+0000403182 00000 n
+0000403247 00000 n
+0000403312 00000 n
+0000403377 00000 n
+0000403442 00000 n
+0000403507 00000 n
+0000403572 00000 n
+0000403636 00000 n
+0000403701 00000 n
+0000403766 00000 n
+0000403831 00000 n
+0000403896 00000 n
+0000403961 00000 n
+0000404026 00000 n
+0000404091 00000 n
+0000404156 00000 n
+0000404221 00000 n
+0000404285 00000 n
+0000404350 00000 n
+0000404415 00000 n
+0000404480 00000 n
+0000404545 00000 n
+0000404610 00000 n
+0000404675 00000 n
+0000404740 00000 n
+0000404805 00000 n
+0000404869 00000 n
+0000404934 00000 n
+0000404999 00000 n
+0000405064 00000 n
+0000405129 00000 n
+0000405194 00000 n
+0000405259 00000 n
+0000405324 00000 n
+0000405389 00000 n
+0000405452 00000 n
+0000405517 00000 n
+0000405582 00000 n
+0000405647 00000 n
+0000405712 00000 n
+0000405777 00000 n
+0000405842 00000 n
+0000405907 00000 n
+0000405972 00000 n
+0000406036 00000 n
+0000406101 00000 n
+0000406166 00000 n
+0000406231 00000 n
+0000406296 00000 n
+0000406361 00000 n
+0000406426 00000 n
+0000406491 00000 n
+0000406556 00000 n
+0000406619 00000 n
+0000412579 00000 n
+0000409992 00000 n
+0000406845 00000 n
+0000410117 00000 n
+0000410181 00000 n
+0000410246 00000 n
+0000410311 00000 n
+0000410375 00000 n
+0000410440 00000 n
+0000410505 00000 n
+0000410570 00000 n
+0000410634 00000 n
+0000410699 00000 n
+0000410764 00000 n
+0000410829 00000 n
+0000410894 00000 n
+0000410958 00000 n
+0000411023 00000 n
+0000411088 00000 n
+0000411153 00000 n
+0000411218 00000 n
+0000411283 00000 n
+0000411348 00000 n
+0000411413 00000 n
+0000411478 00000 n
+0000411543 00000 n
+0000411608 00000 n
+0000411673 00000 n
+0000411738 00000 n
+0000411802 00000 n
+0000411867 00000 n
+0000411932 00000 n
+0000411997 00000 n
+0000412061 00000 n
+0000412126 00000 n
+0000412191 00000 n
+0000412256 00000 n
+0000412321 00000 n
+0000412386 00000 n
+0000412451 00000 n
+0000412515 00000 n
+0000421481 00000 n
+0000418454 00000 n
+0000415411 00000 n
+0000412795 00000 n
+0000415536 00000 n
+0000415600 00000 n
+0000415665 00000 n
+0000415729 00000 n
+0000415794 00000 n
+0000415859 00000 n
+0000415924 00000 n
+0000415989 00000 n
+0000416054 00000 n
+0000416119 00000 n
+0000416184 00000 n
+0000416249 00000 n
+0000416314 00000 n
+0000416379 00000 n
+0000416444 00000 n
+0000416508 00000 n
+0000416573 00000 n
+0000416637 00000 n
+0000416702 00000 n
+0000416767 00000 n
+0000416832 00000 n
+0000416897 00000 n
+0000416962 00000 n
+0000417027 00000 n
+0000417092 00000 n
+0000417157 00000 n
+0000417221 00000 n
+0000417286 00000 n
+0000417351 00000 n
+0000417416 00000 n
+0000417481 00000 n
+0000417546 00000 n
+0000417611 00000 n
+0000417676 00000 n
+0000417741 00000 n
+0000417805 00000 n
+0000417870 00000 n
+0000417935 00000 n
+0000418000 00000 n
+0000418065 00000 n
+0000418130 00000 n
+0000418195 00000 n
+0000418260 00000 n
+0000418325 00000 n
+0000418389 00000 n
+0000424817 00000 n
+0000421308 00000 n
+0000418683 00000 n
+0000421639 00000 n
+0000421703 00000 n
+0000421768 00000 n
+0000421833 00000 n
+0000421898 00000 n
+0000421962 00000 n
+0000422027 00000 n
+0000422092 00000 n
+0000422157 00000 n
+0000422222 00000 n
+0000422287 00000 n
+0000422352 00000 n
+0000422417 00000 n
+0000422482 00000 n
+0000422546 00000 n
+0000422611 00000 n
+0000422676 00000 n
+0000422741 00000 n
+0000422806 00000 n
+0000422871 00000 n
+0000422936 00000 n
+0000423001 00000 n
+0000423066 00000 n
+0000423131 00000 n
+0000423196 00000 n
+0000423261 00000 n
+0000423326 00000 n
+0000423390 00000 n
+0000423455 00000 n
+0000423520 00000 n
+0000423585 00000 n
+0000423650 00000 n
+0000423715 00000 n
+0000423780 00000 n
+0000423845 00000 n
+0000423910 00000 n
+0000423974 00000 n
+0000424039 00000 n
+0000424104 00000 n
+0000424169 00000 n
+0000424234 00000 n
+0000424299 00000 n
+0000424364 00000 n
+0000424429 00000 n
+0000424494 00000 n
+0000424558 00000 n
+0000424623 00000 n
+0000424688 00000 n
+0000424753 00000 n
+0000421450 00000 n
+0000431032 00000 n
+0000427406 00000 n
+0000425046 00000 n
+0000427531 00000 n
+0000427595 00000 n
+0000427660 00000 n
+0000427724 00000 n
+0000427789 00000 n
+0000427854 00000 n
+0000427919 00000 n
+0000427984 00000 n
+0000428049 00000 n
+0000428114 00000 n
+0000428179 00000 n
+0000428244 00000 n
+0000428308 00000 n
+0000428373 00000 n
+0000428438 00000 n
+0000428503 00000 n
+0000428568 00000 n
+0000428633 00000 n
+0000428697 00000 n
+0000428762 00000 n
+0000428827 00000 n
+0000428892 00000 n
+0000428957 00000 n
+0000429022 00000 n
+0000429087 00000 n
+0000429152 00000 n
+0000429216 00000 n
+0000429281 00000 n
+0000429346 00000 n
+0000429411 00000 n
+0000429476 00000 n
+0000429541 00000 n
+0000429606 00000 n
+0000429671 00000 n
+0000429736 00000 n
+0000429800 00000 n
+0000429865 00000 n
+0000429930 00000 n
+0000429995 00000 n
+0000430060 00000 n
+0000430125 00000 n
+0000430190 00000 n
+0000430255 00000 n
+0000430320 00000 n
+0000430384 00000 n
+0000430449 00000 n
+0000430514 00000 n
+0000430579 00000 n
+0000430644 00000 n
+0000430709 00000 n
+0000430774 00000 n
+0000430839 00000 n
+0000430903 00000 n
+0000430968 00000 n
+0000436021 00000 n
+0000433432 00000 n
+0000431209 00000 n
+0000433557 00000 n
+0000433621 00000 n
+0000433685 00000 n
+0000433750 00000 n
+0000433815 00000 n
0000433880 00000 n
0000433945 00000 n
-0000434009 00000 n
-0000434074 00000 n
+0000434010 00000 n
+0000434075 00000 n
0000434139 00000 n
0000434204 00000 n
0000434269 00000 n
@@ -19193,1481 +19069,1600 @@ xref
0000434399 00000 n
0000434464 00000 n
0000434529 00000 n
-0000434593 00000 n
-0000434658 00000 n
-0000434723 00000 n
-0000434788 00000 n
-0000434853 00000 n
-0000434918 00000 n
-0000434983 00000 n
+0000434594 00000 n
+0000434659 00000 n
+0000434724 00000 n
+0000434789 00000 n
+0000434854 00000 n
+0000434919 00000 n
+0000434984 00000 n
0000435048 00000 n
0000435113 00000 n
-0000435177 00000 n
-0000435241 00000 n
-0000435306 00000 n
-0000435370 00000 n
-0000435435 00000 n
-0000435500 00000 n
-0000435565 00000 n
-0000435630 00000 n
-0000435695 00000 n
-0000435760 00000 n
-0000435825 00000 n
-0000435890 00000 n
-0000435955 00000 n
-0000436020 00000 n
-0000436085 00000 n
-0000436150 00000 n
-0000436215 00000 n
-0000436279 00000 n
-0000436344 00000 n
-0000436409 00000 n
-0000436474 00000 n
-0000436539 00000 n
-0000436604 00000 n
-0000436669 00000 n
-0000436734 00000 n
-0000436799 00000 n
-0000436863 00000 n
-0000436928 00000 n
-0000436993 00000 n
-0000437058 00000 n
-0000437123 00000 n
-0000437188 00000 n
-0000443646 00000 n
-0000440074 00000 n
-0000437417 00000 n
-0000440405 00000 n
-0000440469 00000 n
-0000440534 00000 n
-0000440599 00000 n
-0000440664 00000 n
-0000440729 00000 n
-0000440794 00000 n
-0000440859 00000 n
-0000440924 00000 n
-0000440989 00000 n
-0000441053 00000 n
-0000441180 00000 n
-0000441245 00000 n
-0000441310 00000 n
-0000441375 00000 n
-0000441440 00000 n
-0000441505 00000 n
-0000441570 00000 n
-0000441635 00000 n
-0000441700 00000 n
-0000441765 00000 n
-0000441830 00000 n
-0000441894 00000 n
-0000441959 00000 n
-0000442024 00000 n
-0000442089 00000 n
-0000442154 00000 n
-0000442219 00000 n
-0000442284 00000 n
-0000442349 00000 n
-0000442414 00000 n
-0000442478 00000 n
-0000442543 00000 n
-0000442608 00000 n
-0000442673 00000 n
-0000442738 00000 n
-0000442803 00000 n
-0000442868 00000 n
-0000442933 00000 n
-0000442998 00000 n
-0000443062 00000 n
-0000443127 00000 n
-0000443192 00000 n
-0000443257 00000 n
-0000443322 00000 n
-0000443387 00000 n
-0000443452 00000 n
-0000443517 00000 n
-0000443582 00000 n
-0000440216 00000 n
-0000448213 00000 n
-0000445891 00000 n
-0000443901 00000 n
-0000446016 00000 n
-0000446080 00000 n
-0000446145 00000 n
-0000446210 00000 n
-0000446273 00000 n
-0000446338 00000 n
-0000446403 00000 n
-0000446468 00000 n
-0000446533 00000 n
-0000446597 00000 n
-0000446662 00000 n
-0000446727 00000 n
-0000446792 00000 n
-0000446857 00000 n
-0000446922 00000 n
-0000446987 00000 n
-0000447051 00000 n
-0000447116 00000 n
-0000447180 00000 n
-0000447244 00000 n
-0000447308 00000 n
-0000447371 00000 n
-0000447436 00000 n
-0000447500 00000 n
-0000447565 00000 n
-0000447630 00000 n
-0000447693 00000 n
-0000447758 00000 n
-0000447823 00000 n
-0000447888 00000 n
-0000447953 00000 n
-0000448018 00000 n
-0000448083 00000 n
-0000448148 00000 n
-0000450915 00000 n
-0000454312 00000 n
-0000450742 00000 n
-0000448429 00000 n
-0000451073 00000 n
-0000451137 00000 n
-0000451201 00000 n
-0000451266 00000 n
-0000451331 00000 n
-0000451396 00000 n
-0000451461 00000 n
-0000451526 00000 n
-0000451591 00000 n
-0000451656 00000 n
-0000451721 00000 n
-0000451785 00000 n
-0000451850 00000 n
-0000451915 00000 n
-0000451980 00000 n
-0000452045 00000 n
-0000452110 00000 n
-0000452175 00000 n
-0000452240 00000 n
-0000452305 00000 n
-0000452369 00000 n
-0000452434 00000 n
-0000452499 00000 n
-0000452564 00000 n
-0000452629 00000 n
-0000452694 00000 n
-0000452759 00000 n
-0000452824 00000 n
-0000452889 00000 n
-0000452954 00000 n
-0000453019 00000 n
-0000453084 00000 n
-0000453149 00000 n
-0000453214 00000 n
-0000453278 00000 n
-0000453343 00000 n
-0000453470 00000 n
-0000453535 00000 n
-0000453600 00000 n
-0000453664 00000 n
-0000453729 00000 n
-0000453794 00000 n
-0000453859 00000 n
-0000453924 00000 n
-0000453989 00000 n
-0000454054 00000 n
-0000454119 00000 n
-0000454184 00000 n
-0000454249 00000 n
-0000848053 00000 n
-0000450884 00000 n
-0000460450 00000 n
-0000457147 00000 n
-0000454541 00000 n
-0000457272 00000 n
-0000457336 00000 n
-0000457401 00000 n
-0000457465 00000 n
-0000457530 00000 n
-0000457595 00000 n
-0000457660 00000 n
-0000457725 00000 n
-0000457790 00000 n
-0000457855 00000 n
-0000457920 00000 n
-0000457984 00000 n
-0000458049 00000 n
-0000458114 00000 n
-0000458179 00000 n
-0000458244 00000 n
-0000458309 00000 n
-0000458374 00000 n
-0000458439 00000 n
-0000458504 00000 n
-0000458568 00000 n
-0000458633 00000 n
-0000458698 00000 n
-0000458763 00000 n
-0000458828 00000 n
-0000458893 00000 n
-0000458958 00000 n
-0000459023 00000 n
-0000459088 00000 n
-0000459152 00000 n
-0000459217 00000 n
-0000459282 00000 n
-0000459347 00000 n
-0000459412 00000 n
-0000459477 00000 n
-0000459542 00000 n
-0000459607 00000 n
-0000459672 00000 n
-0000459737 00000 n
-0000459802 00000 n
-0000459867 00000 n
-0000459931 00000 n
-0000459996 00000 n
-0000460061 00000 n
-0000460126 00000 n
-0000460191 00000 n
-0000460256 00000 n
-0000460321 00000 n
-0000460385 00000 n
-0000466247 00000 n
-0000462494 00000 n
-0000460653 00000 n
-0000462619 00000 n
-0000462683 00000 n
-0000462747 00000 n
-0000462812 00000 n
-0000462877 00000 n
-0000462942 00000 n
-0000463007 00000 n
-0000463071 00000 n
-0000463136 00000 n
-0000463201 00000 n
-0000463266 00000 n
-0000463331 00000 n
-0000463396 00000 n
-0000463461 00000 n
-0000463526 00000 n
-0000463590 00000 n
-0000463655 00000 n
-0000463720 00000 n
-0000463785 00000 n
-0000463850 00000 n
-0000463914 00000 n
-0000463979 00000 n
-0000464044 00000 n
-0000464109 00000 n
-0000464174 00000 n
-0000464239 00000 n
-0000464304 00000 n
-0000464369 00000 n
-0000464433 00000 n
-0000464498 00000 n
-0000464563 00000 n
-0000464628 00000 n
-0000464693 00000 n
-0000464758 00000 n
-0000464823 00000 n
-0000464888 00000 n
-0000464953 00000 n
-0000465016 00000 n
-0000465081 00000 n
-0000465146 00000 n
-0000465211 00000 n
-0000465276 00000 n
-0000465341 00000 n
-0000465406 00000 n
-0000465471 00000 n
-0000465536 00000 n
-0000465600 00000 n
-0000465665 00000 n
-0000465730 00000 n
-0000465795 00000 n
-0000465860 00000 n
-0000465925 00000 n
-0000465990 00000 n
-0000466055 00000 n
-0000466120 00000 n
-0000466183 00000 n
-0000468848 00000 n
-0000472441 00000 n
-0000468675 00000 n
-0000466424 00000 n
-0000469006 00000 n
-0000469070 00000 n
-0000469135 00000 n
-0000469199 00000 n
-0000469264 00000 n
-0000469328 00000 n
-0000469393 00000 n
-0000469458 00000 n
-0000469523 00000 n
-0000469588 00000 n
-0000469653 00000 n
-0000469718 00000 n
-0000469783 00000 n
-0000469848 00000 n
-0000469912 00000 n
-0000469977 00000 n
-0000470042 00000 n
-0000470107 00000 n
-0000470172 00000 n
-0000470237 00000 n
-0000470302 00000 n
-0000470367 00000 n
-0000470432 00000 n
-0000470497 00000 n
-0000470562 00000 n
-0000470627 00000 n
-0000470692 00000 n
-0000470757 00000 n
-0000470822 00000 n
-0000470886 00000 n
-0000470951 00000 n
-0000471016 00000 n
-0000471144 00000 n
-0000471209 00000 n
-0000471274 00000 n
-0000471339 00000 n
-0000471404 00000 n
-0000471469 00000 n
-0000471534 00000 n
-0000471598 00000 n
-0000471663 00000 n
-0000471728 00000 n
-0000471793 00000 n
-0000471858 00000 n
-0000471923 00000 n
-0000471988 00000 n
-0000472053 00000 n
-0000472118 00000 n
-0000472182 00000 n
-0000472247 00000 n
-0000472312 00000 n
-0000472377 00000 n
-0000468817 00000 n
-0000479087 00000 n
-0000474811 00000 n
-0000472670 00000 n
-0000474936 00000 n
-0000475000 00000 n
-0000475065 00000 n
-0000475129 00000 n
-0000475194 00000 n
-0000475259 00000 n
-0000475324 00000 n
-0000475389 00000 n
-0000475454 00000 n
-0000475519 00000 n
-0000475584 00000 n
-0000475649 00000 n
-0000475713 00000 n
-0000475778 00000 n
-0000475843 00000 n
-0000475908 00000 n
-0000475973 00000 n
-0000476038 00000 n
-0000476103 00000 n
-0000476168 00000 n
-0000476233 00000 n
-0000476297 00000 n
-0000476362 00000 n
-0000476427 00000 n
-0000476492 00000 n
-0000476557 00000 n
-0000476622 00000 n
-0000476687 00000 n
-0000476752 00000 n
-0000476817 00000 n
-0000476881 00000 n
-0000476946 00000 n
-0000477011 00000 n
-0000477076 00000 n
-0000477141 00000 n
-0000477206 00000 n
-0000477271 00000 n
-0000477336 00000 n
-0000477401 00000 n
-0000477465 00000 n
-0000477530 00000 n
-0000477595 00000 n
-0000477660 00000 n
-0000477725 00000 n
-0000477790 00000 n
-0000477855 00000 n
-0000477920 00000 n
-0000477985 00000 n
-0000478049 00000 n
-0000478114 00000 n
-0000478179 00000 n
-0000478244 00000 n
-0000478309 00000 n
-0000478374 00000 n
-0000478439 00000 n
-0000478504 00000 n
-0000478569 00000 n
-0000478633 00000 n
-0000478698 00000 n
-0000478763 00000 n
-0000478828 00000 n
-0000478893 00000 n
-0000478958 00000 n
-0000479023 00000 n
-0000485286 00000 n
-0000481790 00000 n
-0000479238 00000 n
-0000481915 00000 n
-0000481979 00000 n
-0000482044 00000 n
-0000482108 00000 n
-0000482173 00000 n
-0000482238 00000 n
-0000482303 00000 n
-0000482368 00000 n
-0000482433 00000 n
-0000482498 00000 n
-0000482563 00000 n
-0000482628 00000 n
-0000482692 00000 n
-0000482757 00000 n
-0000482822 00000 n
-0000482887 00000 n
-0000482952 00000 n
-0000483017 00000 n
-0000483082 00000 n
-0000483146 00000 n
-0000483211 00000 n
-0000483276 00000 n
-0000483341 00000 n
-0000483406 00000 n
-0000483471 00000 n
-0000483536 00000 n
-0000483601 00000 n
-0000483666 00000 n
-0000483730 00000 n
-0000483795 00000 n
-0000483860 00000 n
-0000483925 00000 n
-0000483989 00000 n
-0000484054 00000 n
-0000484119 00000 n
-0000484184 00000 n
-0000484249 00000 n
-0000484314 00000 n
-0000484379 00000 n
-0000484444 00000 n
-0000484509 00000 n
-0000484574 00000 n
-0000484639 00000 n
-0000484704 00000 n
-0000484769 00000 n
-0000484834 00000 n
-0000484899 00000 n
-0000484964 00000 n
-0000485028 00000 n
-0000485093 00000 n
-0000485158 00000 n
-0000485222 00000 n
-0000490541 00000 n
-0000487955 00000 n
-0000485450 00000 n
-0000488080 00000 n
-0000488144 00000 n
-0000488209 00000 n
-0000488273 00000 n
-0000488338 00000 n
-0000488403 00000 n
-0000488531 00000 n
-0000488596 00000 n
-0000488661 00000 n
-0000488726 00000 n
-0000488791 00000 n
-0000488856 00000 n
-0000488920 00000 n
-0000488985 00000 n
-0000489050 00000 n
-0000489178 00000 n
-0000489243 00000 n
-0000489308 00000 n
-0000489373 00000 n
-0000489438 00000 n
-0000489503 00000 n
-0000489567 00000 n
-0000489632 00000 n
-0000489697 00000 n
-0000489762 00000 n
-0000489827 00000 n
-0000489892 00000 n
-0000489957 00000 n
-0000490021 00000 n
-0000490086 00000 n
-0000490151 00000 n
-0000490216 00000 n
-0000490281 00000 n
-0000490346 00000 n
-0000490411 00000 n
-0000490476 00000 n
-0000496473 00000 n
-0000493238 00000 n
-0000490744 00000 n
-0000493363 00000 n
-0000493427 00000 n
-0000493492 00000 n
+0000435178 00000 n
+0000435243 00000 n
+0000435308 00000 n
+0000435373 00000 n
+0000435438 00000 n
+0000435503 00000 n
+0000435568 00000 n
+0000435632 00000 n
+0000435697 00000 n
+0000435762 00000 n
+0000435827 00000 n
+0000435892 00000 n
+0000435956 00000 n
+0000441919 00000 n
+0000438557 00000 n
+0000436224 00000 n
+0000438682 00000 n
+0000438746 00000 n
+0000438810 00000 n
+0000438875 00000 n
+0000438939 00000 n
+0000439004 00000 n
+0000439069 00000 n
+0000439134 00000 n
+0000439199 00000 n
+0000439264 00000 n
+0000439329 00000 n
+0000439394 00000 n
+0000439459 00000 n
+0000439524 00000 n
+0000439588 00000 n
+0000439653 00000 n
+0000439717 00000 n
+0000439782 00000 n
+0000439847 00000 n
+0000439912 00000 n
+0000439977 00000 n
+0000440041 00000 n
+0000440106 00000 n
+0000440171 00000 n
+0000440236 00000 n
+0000440301 00000 n
+0000440365 00000 n
+0000440430 00000 n
+0000440495 00000 n
+0000440560 00000 n
+0000440625 00000 n
+0000440690 00000 n
+0000440755 00000 n
+0000440820 00000 n
+0000440885 00000 n
+0000440948 00000 n
+0000441013 00000 n
+0000441078 00000 n
+0000441143 00000 n
+0000441208 00000 n
+0000441273 00000 n
+0000441338 00000 n
+0000441403 00000 n
+0000441468 00000 n
+0000441532 00000 n
+0000441597 00000 n
+0000441661 00000 n
+0000441726 00000 n
+0000441791 00000 n
+0000441855 00000 n
+0000860436 00000 n
+0000447731 00000 n
+0000443784 00000 n
+0000442122 00000 n
+0000443909 00000 n
+0000443973 00000 n
+0000444038 00000 n
+0000444102 00000 n
+0000444167 00000 n
+0000444232 00000 n
+0000444297 00000 n
+0000444362 00000 n
+0000444427 00000 n
+0000444492 00000 n
+0000444557 00000 n
+0000444622 00000 n
+0000444686 00000 n
+0000444751 00000 n
+0000444816 00000 n
+0000444881 00000 n
+0000444946 00000 n
+0000445011 00000 n
+0000445076 00000 n
+0000445141 00000 n
+0000445206 00000 n
+0000445270 00000 n
+0000445335 00000 n
+0000445400 00000 n
+0000445465 00000 n
+0000445530 00000 n
+0000445595 00000 n
+0000445660 00000 n
+0000445725 00000 n
+0000445790 00000 n
+0000445854 00000 n
+0000445919 00000 n
+0000445984 00000 n
+0000446049 00000 n
+0000446114 00000 n
+0000446179 00000 n
+0000446244 00000 n
+0000446309 00000 n
+0000446374 00000 n
+0000446437 00000 n
+0000446502 00000 n
+0000446566 00000 n
+0000446631 00000 n
+0000446696 00000 n
+0000446761 00000 n
+0000446826 00000 n
+0000446889 00000 n
+0000446954 00000 n
+0000447019 00000 n
+0000447084 00000 n
+0000447149 00000 n
+0000447214 00000 n
+0000447279 00000 n
+0000447344 00000 n
+0000447409 00000 n
+0000447473 00000 n
+0000447538 00000 n
+0000447603 00000 n
+0000447667 00000 n
+0000450689 00000 n
+0000454153 00000 n
+0000450516 00000 n
+0000447895 00000 n
+0000450847 00000 n
+0000450911 00000 n
+0000450976 00000 n
+0000451040 00000 n
+0000451105 00000 n
+0000451170 00000 n
+0000451235 00000 n
+0000451300 00000 n
+0000451365 00000 n
+0000451430 00000 n
+0000451495 00000 n
+0000451560 00000 n
+0000451624 00000 n
+0000451689 00000 n
+0000451754 00000 n
+0000451819 00000 n
+0000451884 00000 n
+0000451948 00000 n
+0000452013 00000 n
+0000452078 00000 n
+0000452143 00000 n
+0000452208 00000 n
+0000452273 00000 n
+0000452337 00000 n
+0000452402 00000 n
+0000452467 00000 n
+0000452532 00000 n
+0000452597 00000 n
+0000452662 00000 n
+0000452727 00000 n
+0000452791 00000 n
+0000452856 00000 n
+0000452921 00000 n
+0000452986 00000 n
+0000453051 00000 n
+0000453116 00000 n
+0000453181 00000 n
+0000453246 00000 n
+0000453311 00000 n
+0000453375 00000 n
+0000453440 00000 n
+0000453505 00000 n
+0000453570 00000 n
+0000453635 00000 n
+0000453700 00000 n
+0000453765 00000 n
+0000453830 00000 n
+0000453895 00000 n
+0000453959 00000 n
+0000454024 00000 n
+0000454089 00000 n
+0000450658 00000 n
+0000459842 00000 n
+0000456868 00000 n
+0000454395 00000 n
+0000456993 00000 n
+0000457057 00000 n
+0000457122 00000 n
+0000457186 00000 n
+0000457251 00000 n
+0000457316 00000 n
+0000457381 00000 n
+0000457446 00000 n
+0000457511 00000 n
+0000457576 00000 n
+0000457641 00000 n
+0000457706 00000 n
+0000457771 00000 n
+0000457836 00000 n
+0000457900 00000 n
+0000457965 00000 n
+0000458030 00000 n
+0000458095 00000 n
+0000458160 00000 n
+0000458225 00000 n
+0000458290 00000 n
+0000458354 00000 n
+0000458419 00000 n
+0000458484 00000 n
+0000458549 00000 n
+0000458614 00000 n
+0000458678 00000 n
+0000458743 00000 n
+0000458808 00000 n
+0000458873 00000 n
+0000458938 00000 n
+0000459001 00000 n
+0000459066 00000 n
+0000459130 00000 n
+0000459195 00000 n
+0000459259 00000 n
+0000459324 00000 n
+0000459389 00000 n
+0000459454 00000 n
+0000459519 00000 n
+0000459584 00000 n
+0000459649 00000 n
+0000459714 00000 n
+0000459779 00000 n
+0000462551 00000 n
+0000465950 00000 n
+0000462378 00000 n
+0000460058 00000 n
+0000462709 00000 n
+0000462773 00000 n
+0000462837 00000 n
+0000462902 00000 n
+0000462967 00000 n
+0000463032 00000 n
+0000463097 00000 n
+0000463162 00000 n
+0000463227 00000 n
+0000463292 00000 n
+0000463357 00000 n
+0000463421 00000 n
+0000463486 00000 n
+0000463551 00000 n
+0000463616 00000 n
+0000463681 00000 n
+0000463746 00000 n
+0000463811 00000 n
+0000463876 00000 n
+0000463941 00000 n
+0000464005 00000 n
+0000464070 00000 n
+0000464135 00000 n
+0000464200 00000 n
+0000464265 00000 n
+0000464330 00000 n
+0000464395 00000 n
+0000464460 00000 n
+0000464525 00000 n
+0000464590 00000 n
+0000464655 00000 n
+0000464720 00000 n
+0000464785 00000 n
+0000464850 00000 n
+0000464914 00000 n
+0000464979 00000 n
+0000465044 00000 n
+0000465107 00000 n
+0000465172 00000 n
+0000465237 00000 n
+0000465301 00000 n
+0000465366 00000 n
+0000465431 00000 n
+0000465496 00000 n
+0000465561 00000 n
+0000465626 00000 n
+0000465691 00000 n
+0000465756 00000 n
+0000465821 00000 n
+0000465886 00000 n
+0000462520 00000 n
+0000472089 00000 n
+0000468786 00000 n
+0000466179 00000 n
+0000468911 00000 n
+0000468975 00000 n
+0000469040 00000 n
+0000469104 00000 n
+0000469169 00000 n
+0000469234 00000 n
+0000469299 00000 n
+0000469364 00000 n
+0000469429 00000 n
+0000469494 00000 n
+0000469559 00000 n
+0000469623 00000 n
+0000469688 00000 n
+0000469753 00000 n
+0000469818 00000 n
+0000469883 00000 n
+0000469948 00000 n
+0000470013 00000 n
+0000470078 00000 n
+0000470143 00000 n
+0000470207 00000 n
+0000470272 00000 n
+0000470337 00000 n
+0000470402 00000 n
+0000470467 00000 n
+0000470532 00000 n
+0000470597 00000 n
+0000470662 00000 n
+0000470727 00000 n
+0000470791 00000 n
+0000470856 00000 n
+0000470921 00000 n
+0000470986 00000 n
+0000471051 00000 n
+0000471116 00000 n
+0000471181 00000 n
+0000471246 00000 n
+0000471311 00000 n
+0000471376 00000 n
+0000471441 00000 n
+0000471506 00000 n
+0000471570 00000 n
+0000471635 00000 n
+0000471700 00000 n
+0000471765 00000 n
+0000471830 00000 n
+0000471895 00000 n
+0000471960 00000 n
+0000472024 00000 n
+0000477900 00000 n
+0000474147 00000 n
+0000472292 00000 n
+0000474272 00000 n
+0000474336 00000 n
+0000474400 00000 n
+0000474465 00000 n
+0000474530 00000 n
+0000474595 00000 n
+0000474660 00000 n
+0000474724 00000 n
+0000474789 00000 n
+0000474854 00000 n
+0000474919 00000 n
+0000474984 00000 n
+0000475049 00000 n
+0000475114 00000 n
+0000475179 00000 n
+0000475243 00000 n
+0000475308 00000 n
+0000475373 00000 n
+0000475438 00000 n
+0000475503 00000 n
+0000475567 00000 n
+0000475632 00000 n
+0000475697 00000 n
+0000475762 00000 n
+0000475827 00000 n
+0000475892 00000 n
+0000475957 00000 n
+0000476022 00000 n
+0000476086 00000 n
+0000476151 00000 n
+0000476216 00000 n
+0000476281 00000 n
+0000476346 00000 n
+0000476411 00000 n
+0000476476 00000 n
+0000476541 00000 n
+0000476606 00000 n
+0000476669 00000 n
+0000476734 00000 n
+0000476799 00000 n
+0000476864 00000 n
+0000476929 00000 n
+0000476994 00000 n
+0000477059 00000 n
+0000477124 00000 n
+0000477189 00000 n
+0000477253 00000 n
+0000477318 00000 n
+0000477383 00000 n
+0000477448 00000 n
+0000477513 00000 n
+0000477578 00000 n
+0000477643 00000 n
+0000477708 00000 n
+0000477773 00000 n
+0000477836 00000 n
+0000480489 00000 n
+0000484083 00000 n
+0000480316 00000 n
+0000478077 00000 n
+0000480647 00000 n
+0000480711 00000 n
+0000480776 00000 n
+0000480840 00000 n
+0000480905 00000 n
+0000480969 00000 n
+0000481034 00000 n
+0000481099 00000 n
+0000481164 00000 n
+0000481229 00000 n
+0000481294 00000 n
+0000481359 00000 n
+0000481424 00000 n
+0000481489 00000 n
+0000481553 00000 n
+0000481618 00000 n
+0000481683 00000 n
+0000481748 00000 n
+0000481813 00000 n
+0000481878 00000 n
+0000481943 00000 n
+0000482008 00000 n
+0000482073 00000 n
+0000482138 00000 n
+0000482203 00000 n
+0000482268 00000 n
+0000482333 00000 n
+0000482398 00000 n
+0000482463 00000 n
+0000482527 00000 n
+0000482592 00000 n
+0000482657 00000 n
+0000482722 00000 n
+0000482786 00000 n
+0000482851 00000 n
+0000482916 00000 n
+0000482981 00000 n
+0000483046 00000 n
+0000483111 00000 n
+0000483176 00000 n
+0000483240 00000 n
+0000483305 00000 n
+0000483370 00000 n
+0000483435 00000 n
+0000483500 00000 n
+0000483565 00000 n
+0000483630 00000 n
+0000483695 00000 n
+0000483760 00000 n
+0000483824 00000 n
+0000483889 00000 n
+0000483954 00000 n
+0000484019 00000 n
+0000480458 00000 n
+0000490723 00000 n
+0000486447 00000 n
+0000484312 00000 n
+0000486572 00000 n
+0000486636 00000 n
+0000486701 00000 n
+0000486765 00000 n
+0000486830 00000 n
+0000486895 00000 n
+0000486960 00000 n
+0000487025 00000 n
+0000487090 00000 n
+0000487155 00000 n
+0000487220 00000 n
+0000487285 00000 n
+0000487349 00000 n
+0000487414 00000 n
+0000487479 00000 n
+0000487544 00000 n
+0000487609 00000 n
+0000487674 00000 n
+0000487739 00000 n
+0000487804 00000 n
+0000487869 00000 n
+0000487933 00000 n
+0000487998 00000 n
+0000488063 00000 n
+0000488128 00000 n
+0000488193 00000 n
+0000488258 00000 n
+0000488323 00000 n
+0000488388 00000 n
+0000488453 00000 n
+0000488517 00000 n
+0000488582 00000 n
+0000488647 00000 n
+0000488712 00000 n
+0000488777 00000 n
+0000488842 00000 n
+0000488907 00000 n
+0000488972 00000 n
+0000489037 00000 n
+0000489101 00000 n
+0000489166 00000 n
+0000489231 00000 n
+0000489296 00000 n
+0000489361 00000 n
+0000489426 00000 n
+0000489491 00000 n
+0000489556 00000 n
+0000489621 00000 n
+0000489685 00000 n
+0000489750 00000 n
+0000489815 00000 n
+0000489880 00000 n
+0000489945 00000 n
+0000490010 00000 n
+0000490075 00000 n
+0000490140 00000 n
+0000490205 00000 n
+0000490269 00000 n
+0000490334 00000 n
+0000490399 00000 n
+0000490464 00000 n
+0000490529 00000 n
+0000490594 00000 n
+0000490659 00000 n
+0000496928 00000 n
+0000493432 00000 n
+0000490874 00000 n
0000493557 00000 n
-0000493622 00000 n
-0000493687 00000 n
-0000493752 00000 n
-0000493817 00000 n
-0000493882 00000 n
-0000493947 00000 n
-0000494012 00000 n
-0000494076 00000 n
-0000494141 00000 n
-0000494206 00000 n
-0000494271 00000 n
-0000494336 00000 n
-0000494400 00000 n
-0000494465 00000 n
-0000494530 00000 n
-0000494595 00000 n
-0000494660 00000 n
-0000494725 00000 n
-0000494790 00000 n
-0000494855 00000 n
-0000494920 00000 n
+0000493621 00000 n
+0000493686 00000 n
+0000493750 00000 n
+0000493815 00000 n
+0000493880 00000 n
+0000493945 00000 n
+0000494010 00000 n
+0000494075 00000 n
+0000494140 00000 n
+0000494205 00000 n
+0000494270 00000 n
+0000494334 00000 n
+0000494399 00000 n
+0000494464 00000 n
+0000494529 00000 n
+0000494594 00000 n
+0000494659 00000 n
+0000494724 00000 n
+0000494788 00000 n
+0000494853 00000 n
+0000494918 00000 n
0000494983 00000 n
0000495048 00000 n
0000495113 00000 n
0000495178 00000 n
0000495243 00000 n
0000495308 00000 n
-0000495373 00000 n
-0000495438 00000 n
-0000495503 00000 n
-0000495568 00000 n
-0000495632 00000 n
-0000495697 00000 n
-0000495762 00000 n
-0000495827 00000 n
-0000495892 00000 n
-0000495957 00000 n
-0000496022 00000 n
-0000496087 00000 n
-0000496152 00000 n
-0000496217 00000 n
-0000496282 00000 n
-0000496347 00000 n
+0000495372 00000 n
+0000495437 00000 n
+0000495502 00000 n
+0000495567 00000 n
+0000495631 00000 n
+0000495696 00000 n
+0000495761 00000 n
+0000495826 00000 n
+0000495891 00000 n
+0000495956 00000 n
+0000496021 00000 n
+0000496086 00000 n
+0000496151 00000 n
+0000496216 00000 n
+0000496281 00000 n
+0000496346 00000 n
0000496411 00000 n
-0000502101 00000 n
-0000499193 00000 n
-0000496663 00000 n
-0000499318 00000 n
-0000499382 00000 n
-0000499447 00000 n
-0000499512 00000 n
-0000499577 00000 n
-0000499641 00000 n
-0000499706 00000 n
-0000499771 00000 n
-0000499836 00000 n
-0000499901 00000 n
-0000499966 00000 n
-0000500031 00000 n
-0000500096 00000 n
-0000500160 00000 n
-0000500225 00000 n
-0000500290 00000 n
-0000500355 00000 n
-0000500420 00000 n
-0000500485 00000 n
-0000500550 00000 n
-0000500615 00000 n
-0000500680 00000 n
-0000500745 00000 n
-0000500809 00000 n
-0000500874 00000 n
-0000501001 00000 n
-0000501064 00000 n
-0000501129 00000 n
-0000501194 00000 n
-0000501259 00000 n
-0000501324 00000 n
-0000501389 00000 n
-0000501454 00000 n
-0000501519 00000 n
-0000501584 00000 n
-0000501649 00000 n
-0000501713 00000 n
-0000501778 00000 n
-0000501843 00000 n
-0000501908 00000 n
-0000501973 00000 n
-0000502038 00000 n
-0000508030 00000 n
-0000504535 00000 n
-0000502291 00000 n
-0000504660 00000 n
-0000504724 00000 n
-0000504789 00000 n
-0000504853 00000 n
-0000504918 00000 n
-0000504983 00000 n
-0000505048 00000 n
-0000505113 00000 n
-0000505178 00000 n
-0000505243 00000 n
-0000505308 00000 n
-0000505373 00000 n
-0000505438 00000 n
-0000505503 00000 n
-0000505568 00000 n
-0000505632 00000 n
-0000505697 00000 n
-0000505762 00000 n
-0000505827 00000 n
-0000505892 00000 n
-0000505957 00000 n
-0000506022 00000 n
-0000506087 00000 n
-0000506152 00000 n
-0000506216 00000 n
-0000506281 00000 n
-0000506346 00000 n
-0000506411 00000 n
-0000506476 00000 n
-0000506541 00000 n
-0000506606 00000 n
-0000506671 00000 n
-0000506736 00000 n
-0000506800 00000 n
-0000506865 00000 n
-0000506930 00000 n
-0000506995 00000 n
-0000507060 00000 n
-0000507125 00000 n
-0000507190 00000 n
-0000507255 00000 n
-0000507320 00000 n
-0000507447 00000 n
-0000507512 00000 n
-0000507577 00000 n
-0000507642 00000 n
-0000507707 00000 n
-0000507772 00000 n
-0000507837 00000 n
-0000507902 00000 n
-0000507966 00000 n
-0000513898 00000 n
-0000510857 00000 n
-0000508220 00000 n
-0000510982 00000 n
-0000511046 00000 n
-0000511111 00000 n
-0000511175 00000 n
-0000511240 00000 n
-0000511305 00000 n
-0000511369 00000 n
-0000511434 00000 n
-0000511499 00000 n
-0000511564 00000 n
-0000511628 00000 n
-0000511693 00000 n
-0000511758 00000 n
-0000511823 00000 n
-0000511888 00000 n
-0000511953 00000 n
-0000512018 00000 n
-0000512083 00000 n
-0000512148 00000 n
-0000512213 00000 n
-0000512278 00000 n
-0000512343 00000 n
-0000512408 00000 n
-0000512472 00000 n
-0000512537 00000 n
-0000512602 00000 n
-0000512667 00000 n
-0000512732 00000 n
-0000512797 00000 n
-0000512862 00000 n
-0000512927 00000 n
-0000512992 00000 n
-0000513056 00000 n
-0000513121 00000 n
-0000513186 00000 n
-0000513251 00000 n
-0000513316 00000 n
-0000513380 00000 n
-0000513445 00000 n
-0000513510 00000 n
-0000513575 00000 n
-0000513640 00000 n
-0000513705 00000 n
-0000513770 00000 n
-0000513834 00000 n
-0000848217 00000 n
-0000520334 00000 n
-0000516579 00000 n
-0000514101 00000 n
-0000516704 00000 n
-0000516768 00000 n
-0000516833 00000 n
-0000516897 00000 n
-0000516962 00000 n
-0000517027 00000 n
-0000517092 00000 n
-0000517157 00000 n
-0000517222 00000 n
-0000517287 00000 n
-0000517352 00000 n
-0000517417 00000 n
-0000517481 00000 n
-0000517546 00000 n
-0000517611 00000 n
-0000517676 00000 n
-0000517741 00000 n
-0000517806 00000 n
-0000517871 00000 n
-0000517936 00000 n
-0000518001 00000 n
-0000518066 00000 n
-0000518131 00000 n
-0000518196 00000 n
-0000518261 00000 n
-0000518326 00000 n
-0000518391 00000 n
-0000518456 00000 n
-0000518521 00000 n
-0000518586 00000 n
-0000518649 00000 n
-0000518714 00000 n
-0000518779 00000 n
-0000518844 00000 n
-0000518909 00000 n
-0000518974 00000 n
-0000519039 00000 n
-0000519104 00000 n
-0000519169 00000 n
-0000519234 00000 n
-0000519299 00000 n
-0000519364 00000 n
-0000519428 00000 n
-0000519493 00000 n
-0000519558 00000 n
-0000519623 00000 n
-0000519687 00000 n
-0000519752 00000 n
-0000519817 00000 n
-0000519882 00000 n
-0000519947 00000 n
-0000520012 00000 n
-0000520077 00000 n
-0000520142 00000 n
-0000520206 00000 n
-0000520270 00000 n
-0000526875 00000 n
-0000523250 00000 n
-0000520524 00000 n
-0000523375 00000 n
-0000523439 00000 n
-0000523504 00000 n
-0000523569 00000 n
-0000523633 00000 n
-0000523698 00000 n
-0000523763 00000 n
-0000523828 00000 n
-0000523893 00000 n
-0000523958 00000 n
-0000524022 00000 n
-0000524087 00000 n
-0000524152 00000 n
-0000524217 00000 n
-0000524282 00000 n
-0000524347 00000 n
-0000524412 00000 n
-0000524477 00000 n
-0000524542 00000 n
-0000524605 00000 n
-0000524670 00000 n
-0000524735 00000 n
-0000524800 00000 n
-0000524865 00000 n
-0000524930 00000 n
-0000524995 00000 n
-0000525060 00000 n
-0000525125 00000 n
-0000525190 00000 n
-0000525255 00000 n
-0000525320 00000 n
-0000525385 00000 n
-0000525450 00000 n
-0000525515 00000 n
-0000525580 00000 n
-0000525645 00000 n
-0000525710 00000 n
-0000525774 00000 n
-0000525839 00000 n
-0000525904 00000 n
-0000525969 00000 n
-0000526034 00000 n
-0000526099 00000 n
-0000526164 00000 n
-0000526229 00000 n
-0000526293 00000 n
-0000526358 00000 n
-0000526423 00000 n
-0000526488 00000 n
-0000526552 00000 n
-0000526617 00000 n
-0000526682 00000 n
-0000526747 00000 n
-0000526811 00000 n
-0000533292 00000 n
-0000529277 00000 n
-0000527078 00000 n
-0000529402 00000 n
-0000529466 00000 n
-0000529531 00000 n
-0000529595 00000 n
-0000529660 00000 n
-0000529725 00000 n
-0000529790 00000 n
-0000529855 00000 n
-0000529920 00000 n
-0000529985 00000 n
-0000530050 00000 n
-0000530115 00000 n
-0000530179 00000 n
-0000530244 00000 n
-0000530309 00000 n
-0000530374 00000 n
-0000530439 00000 n
-0000530504 00000 n
-0000530569 00000 n
-0000530633 00000 n
-0000530698 00000 n
-0000530763 00000 n
-0000530828 00000 n
-0000530893 00000 n
-0000530958 00000 n
-0000531023 00000 n
-0000531088 00000 n
-0000531153 00000 n
-0000531216 00000 n
-0000531281 00000 n
-0000531346 00000 n
-0000531411 00000 n
-0000531476 00000 n
-0000531541 00000 n
-0000531606 00000 n
-0000531671 00000 n
-0000531736 00000 n
-0000531801 00000 n
-0000531866 00000 n
-0000531931 00000 n
-0000531996 00000 n
-0000532061 00000 n
-0000532126 00000 n
-0000532191 00000 n
-0000532256 00000 n
-0000532321 00000 n
-0000532386 00000 n
-0000532450 00000 n
-0000532515 00000 n
-0000532580 00000 n
-0000532645 00000 n
-0000532710 00000 n
-0000532775 00000 n
-0000532840 00000 n
-0000532905 00000 n
-0000532970 00000 n
-0000533034 00000 n
-0000533099 00000 n
-0000533164 00000 n
-0000533228 00000 n
-0000539568 00000 n
-0000535488 00000 n
-0000533456 00000 n
-0000535613 00000 n
-0000535677 00000 n
-0000535742 00000 n
-0000535806 00000 n
-0000535871 00000 n
-0000535936 00000 n
-0000536001 00000 n
-0000536066 00000 n
-0000536131 00000 n
-0000536196 00000 n
-0000536261 00000 n
-0000536326 00000 n
-0000536391 00000 n
-0000536456 00000 n
-0000536521 00000 n
-0000536585 00000 n
-0000536650 00000 n
-0000536715 00000 n
-0000536780 00000 n
-0000536845 00000 n
-0000536910 00000 n
-0000536975 00000 n
-0000537040 00000 n
-0000537105 00000 n
-0000537170 00000 n
-0000537235 00000 n
-0000537300 00000 n
-0000537365 00000 n
-0000537430 00000 n
-0000537495 00000 n
-0000537560 00000 n
-0000537625 00000 n
-0000537690 00000 n
-0000537755 00000 n
-0000537818 00000 n
-0000537883 00000 n
-0000537948 00000 n
-0000538013 00000 n
-0000538078 00000 n
-0000538143 00000 n
-0000538208 00000 n
-0000538273 00000 n
-0000538338 00000 n
-0000538402 00000 n
-0000538467 00000 n
-0000538532 00000 n
-0000538597 00000 n
-0000538662 00000 n
-0000538727 00000 n
-0000538791 00000 n
-0000538856 00000 n
-0000538921 00000 n
-0000538986 00000 n
-0000539051 00000 n
-0000539116 00000 n
-0000539181 00000 n
-0000539246 00000 n
-0000539311 00000 n
-0000539375 00000 n
-0000539440 00000 n
-0000539504 00000 n
-0000545663 00000 n
-0000541779 00000 n
-0000539732 00000 n
-0000541904 00000 n
-0000541968 00000 n
-0000542033 00000 n
-0000542097 00000 n
-0000542162 00000 n
-0000542227 00000 n
-0000542292 00000 n
-0000542357 00000 n
-0000542422 00000 n
-0000542487 00000 n
-0000542552 00000 n
-0000542617 00000 n
-0000542682 00000 n
-0000542747 00000 n
-0000542811 00000 n
-0000542876 00000 n
-0000542941 00000 n
-0000543006 00000 n
-0000543071 00000 n
-0000543136 00000 n
-0000543201 00000 n
-0000543266 00000 n
-0000543330 00000 n
-0000543395 00000 n
-0000543460 00000 n
-0000543525 00000 n
-0000543590 00000 n
-0000543655 00000 n
-0000543720 00000 n
-0000543785 00000 n
-0000543850 00000 n
-0000543914 00000 n
-0000543979 00000 n
-0000544044 00000 n
-0000544109 00000 n
-0000544174 00000 n
-0000544239 00000 n
-0000544304 00000 n
-0000544369 00000 n
-0000544434 00000 n
-0000544498 00000 n
-0000544563 00000 n
-0000544628 00000 n
-0000544693 00000 n
-0000544758 00000 n
-0000544823 00000 n
-0000544888 00000 n
-0000544953 00000 n
-0000545018 00000 n
-0000545082 00000 n
-0000545147 00000 n
-0000545212 00000 n
-0000545277 00000 n
-0000545342 00000 n
-0000545407 00000 n
-0000545472 00000 n
-0000545537 00000 n
-0000545601 00000 n
-0000549354 00000 n
-0000548005 00000 n
-0000545840 00000 n
-0000548130 00000 n
-0000548194 00000 n
-0000548259 00000 n
-0000548323 00000 n
-0000548388 00000 n
-0000548453 00000 n
-0000548518 00000 n
-0000548583 00000 n
-0000548648 00000 n
-0000548713 00000 n
-0000548778 00000 n
-0000548906 00000 n
-0000548970 00000 n
-0000549034 00000 n
-0000549098 00000 n
-0000549162 00000 n
-0000549226 00000 n
-0000549290 00000 n
-0000552519 00000 n
-0000552675 00000 n
-0000560553 00000 n
-0000560709 00000 n
-0000560869 00000 n
-0000561029 00000 n
-0000553533 00000 n
-0000552337 00000 n
-0000549611 00000 n
-0000552830 00000 n
-0000552894 00000 n
-0000552958 00000 n
-0000553022 00000 n
-0000553086 00000 n
-0000553150 00000 n
-0000553214 00000 n
-0000553278 00000 n
-0000553342 00000 n
-0000553469 00000 n
-0000552479 00000 n
-0000561190 00000 n
-0000561350 00000 n
-0000561506 00000 n
-0000561666 00000 n
-0000561827 00000 n
-0000561994 00000 n
-0000562161 00000 n
-0000562328 00000 n
-0000562489 00000 n
-0000562645 00000 n
-0000562804 00000 n
-0000562971 00000 n
-0000563138 00000 n
-0000563299 00000 n
-0000563466 00000 n
-0000563633 00000 n
-0000563794 00000 n
-0000563955 00000 n
-0000564122 00000 n
-0000564289 00000 n
-0000564456 00000 n
-0000564623 00000 n
-0000564790 00000 n
-0000564950 00000 n
-0000565116 00000 n
-0000565283 00000 n
-0000565450 00000 n
-0000565608 00000 n
-0000565768 00000 n
-0000565924 00000 n
-0000566078 00000 n
-0000566238 00000 n
-0000566399 00000 n
-0000566559 00000 n
-0000566720 00000 n
-0000566880 00000 n
-0000567036 00000 n
-0000567197 00000 n
-0000567358 00000 n
-0000567519 00000 n
-0000567680 00000 n
-0000572602 00000 n
-0000572758 00000 n
-0000572918 00000 n
-0000573078 00000 n
-0000573245 00000 n
-0000573410 00000 n
-0000573576 00000 n
-0000573742 00000 n
-0000573909 00000 n
-0000567905 00000 n
-0000559984 00000 n
-0000553723 00000 n
-0000567841 00000 n
-0000560126 00000 n
-0000574076 00000 n
-0000574243 00000 n
-0000574409 00000 n
-0000574576 00000 n
-0000574743 00000 n
-0000574911 00000 n
-0000575078 00000 n
-0000575246 00000 n
-0000575414 00000 n
-0000575575 00000 n
-0000575742 00000 n
-0000575909 00000 n
-0000576076 00000 n
-0000576243 00000 n
-0000576410 00000 n
-0000576577 00000 n
-0000576744 00000 n
-0000576911 00000 n
-0000577078 00000 n
-0000577298 00000 n
-0000572186 00000 n
-0000568043 00000 n
-0000577234 00000 n
-0000572328 00000 n
-0000844222 00000 n
-0000577554 00000 n
-0000844484 00000 n
-0000577581 00000 n
-0000844350 00000 n
-0000577674 00000 n
-0000577913 00000 n
-0000577938 00000 n
-0000589923 00000 n
-0000578166 00000 n
-0000578269 00000 n
-0000590165 00000 n
-0000590889 00000 n
-0000591123 00000 n
-0000604555 00000 n
-0000591439 00000 n
-0000591542 00000 n
-0000604789 00000 n
-0000605535 00000 n
-0000605761 00000 n
-0000616795 00000 n
-0000605908 00000 n
-0000606006 00000 n
-0000617035 00000 n
-0000617713 00000 n
-0000617944 00000 n
-0000619055 00000 n
-0000617999 00000 n
-0000618096 00000 n
-0000619298 00000 n
-0000619908 00000 n
-0000620112 00000 n
-0000620139 00000 n
-0000620166 00000 n
-0000622541 00000 n
-0000620358 00000 n
-0000620464 00000 n
-0000622789 00000 n
-0000623472 00000 n
-0000623682 00000 n
-0000633657 00000 n
-0000624299 00000 n
-0000624429 00000 n
-0000633897 00000 n
-0000634990 00000 n
-0000635194 00000 n
-0000637520 00000 n
-0000635361 00000 n
-0000635467 00000 n
-0000637767 00000 n
-0000638440 00000 n
-0000638650 00000 n
-0000640335 00000 n
-0000638763 00000 n
-0000638869 00000 n
-0000640584 00000 n
-0000641237 00000 n
-0000641448 00000 n
-0000646972 00000 n
-0000641801 00000 n
-0000641912 00000 n
-0000647216 00000 n
-0000647992 00000 n
-0000648197 00000 n
-0000655771 00000 n
-0000648651 00000 n
-0000648766 00000 n
-0000656011 00000 n
-0000656896 00000 n
-0000657099 00000 n
-0000657849 00000 n
-0000657133 00000 n
-0000657228 00000 n
-0000658088 00000 n
-0000658684 00000 n
-0000658886 00000 n
-0000665279 00000 n
-0000659343 00000 n
-0000659451 00000 n
-0000665519 00000 n
-0000666404 00000 n
-0000666608 00000 n
-0000669212 00000 n
-0000666798 00000 n
-0000666904 00000 n
-0000669455 00000 n
-0000670127 00000 n
-0000670331 00000 n
-0000672351 00000 n
-0000670445 00000 n
-0000670549 00000 n
-0000672593 00000 n
-0000673238 00000 n
-0000673443 00000 n
-0000676496 00000 n
-0000673734 00000 n
-0000673841 00000 n
-0000676736 00000 n
-0000677472 00000 n
-0000677676 00000 n
-0000685145 00000 n
-0000678141 00000 n
-0000678256 00000 n
-0000685386 00000 n
-0000686265 00000 n
-0000686470 00000 n
-0000686497 00000 n
-0000686558 00000 n
-0000686751 00000 n
-0000686992 00000 n
-0000687209 00000 n
-0000691873 00000 n
-0000687564 00000 n
-0000687670 00000 n
-0000692115 00000 n
-0000692886 00000 n
-0000693090 00000 n
-0000695653 00000 n
-0000693313 00000 n
-0000693419 00000 n
-0000695893 00000 n
-0000696577 00000 n
-0000696781 00000 n
-0000706002 00000 n
-0000697268 00000 n
-0000697388 00000 n
-0000706243 00000 n
-0000707239 00000 n
-0000707444 00000 n
-0000709454 00000 n
-0000707558 00000 n
-0000707662 00000 n
-0000709696 00000 n
-0000710342 00000 n
-0000710547 00000 n
-0000712965 00000 n
-0000710783 00000 n
-0000710889 00000 n
-0000713206 00000 n
-0000713905 00000 n
-0000714110 00000 n
-0000723522 00000 n
-0000714686 00000 n
-0000714818 00000 n
-0000723764 00000 n
-0000724761 00000 n
-0000724967 00000 n
-0000731730 00000 n
-0000725395 00000 n
-0000725507 00000 n
-0000731970 00000 n
-0000732827 00000 n
-0000733030 00000 n
-0000734079 00000 n
-0000733108 00000 n
-0000733208 00000 n
-0000734319 00000 n
-0000734941 00000 n
-0000735145 00000 n
-0000740694 00000 n
-0000735519 00000 n
-0000735634 00000 n
-0000740935 00000 n
-0000741736 00000 n
-0000741941 00000 n
-0000743500 00000 n
-0000742034 00000 n
-0000742135 00000 n
-0000743739 00000 n
-0000744365 00000 n
-0000744567 00000 n
-0000746804 00000 n
-0000744746 00000 n
-0000744852 00000 n
-0000747045 00000 n
-0000747714 00000 n
-0000747919 00000 n
-0000750616 00000 n
-0000748122 00000 n
-0000748229 00000 n
-0000750858 00000 n
-0000751554 00000 n
-0000751760 00000 n
-0000751858 00000 n
-0000752902 00000 n
-0000751936 00000 n
-0000752036 00000 n
-0000753143 00000 n
-0000753767 00000 n
-0000753972 00000 n
-0000755775 00000 n
-0000754083 00000 n
-0000754186 00000 n
-0000756017 00000 n
-0000756660 00000 n
-0000763837 00000 n
-0000756866 00000 n
-0000768155 00000 n
-0000764070 00000 n
-0000771218 00000 n
-0000768444 00000 n
-0000774435 00000 n
-0000771457 00000 n
-0000777055 00000 n
-0000774679 00000 n
-0000800717 00000 n
-0000777300 00000 n
-0000819859 00000 n
-0000801024 00000 n
-0000831821 00000 n
-0000820131 00000 n
-0000835189 00000 n
-0000832071 00000 n
-0000837962 00000 n
-0000835462 00000 n
-0000840907 00000 n
-0000838214 00000 n
-0000843936 00000 n
-0000841153 00000 n
-0000848381 00000 n
-0000848526 00000 n
-0000855648 00000 n
-0000856313 00000 n
-0000856982 00000 n
-0000857651 00000 n
-0000858317 00000 n
-0000858986 00000 n
-0000859654 00000 n
-0000860325 00000 n
-0000860989 00000 n
-0000861658 00000 n
-0000862327 00000 n
-0000862993 00000 n
-0000863662 00000 n
-0000864331 00000 n
-0000864996 00000 n
-0000865667 00000 n
-0000866335 00000 n
-0000867004 00000 n
-0000867670 00000 n
-0000868339 00000 n
-0000869008 00000 n
-0000869674 00000 n
-0000870343 00000 n
-0000871011 00000 n
-0000871682 00000 n
-0000872347 00000 n
-0000873016 00000 n
-0000873685 00000 n
-0000874351 00000 n
-0000875020 00000 n
-0000875689 00000 n
-0000876358 00000 n
-0000877026 00000 n
-0000877694 00000 n
-0000878363 00000 n
-0000879025 00000 n
-0000879694 00000 n
-0000880363 00000 n
-0000881032 00000 n
-0000881697 00000 n
-0000882368 00000 n
-0000883036 00000 n
-0000883702 00000 n
-0000884371 00000 n
-0000885040 00000 n
-0000885709 00000 n
-0000886375 00000 n
-0000887044 00000 n
-0000887712 00000 n
-0000888380 00000 n
-0000889049 00000 n
-0000889718 00000 n
-0000890387 00000 n
-0000891053 00000 n
+0000496476 00000 n
+0000496541 00000 n
+0000496606 00000 n
+0000496670 00000 n
+0000496735 00000 n
+0000496800 00000 n
+0000496864 00000 n
+0000502182 00000 n
+0000499594 00000 n
+0000497092 00000 n
+0000499719 00000 n
+0000499783 00000 n
+0000499848 00000 n
+0000499912 00000 n
+0000499977 00000 n
+0000500042 00000 n
+0000500107 00000 n
+0000500171 00000 n
+0000500236 00000 n
+0000500301 00000 n
+0000500366 00000 n
+0000500431 00000 n
+0000500496 00000 n
+0000500560 00000 n
+0000500625 00000 n
+0000500690 00000 n
+0000500755 00000 n
+0000500819 00000 n
+0000500884 00000 n
+0000500949 00000 n
+0000501014 00000 n
+0000501079 00000 n
+0000501144 00000 n
+0000501208 00000 n
+0000501273 00000 n
+0000501338 00000 n
+0000501403 00000 n
+0000501468 00000 n
+0000501533 00000 n
+0000501598 00000 n
+0000501662 00000 n
+0000501727 00000 n
+0000501792 00000 n
+0000501857 00000 n
+0000501922 00000 n
+0000501987 00000 n
+0000502052 00000 n
+0000502117 00000 n
+0000860600 00000 n
+0000508118 00000 n
+0000504883 00000 n
+0000502385 00000 n
+0000505008 00000 n
+0000505072 00000 n
+0000505137 00000 n
+0000505202 00000 n
+0000505267 00000 n
+0000505332 00000 n
+0000505397 00000 n
+0000505462 00000 n
+0000505527 00000 n
+0000505592 00000 n
+0000505657 00000 n
+0000505721 00000 n
+0000505786 00000 n
+0000505851 00000 n
+0000505916 00000 n
+0000505981 00000 n
+0000506045 00000 n
+0000506110 00000 n
+0000506175 00000 n
+0000506240 00000 n
+0000506305 00000 n
+0000506370 00000 n
+0000506435 00000 n
+0000506500 00000 n
+0000506565 00000 n
+0000506628 00000 n
+0000506693 00000 n
+0000506758 00000 n
+0000506823 00000 n
+0000506888 00000 n
+0000506953 00000 n
+0000507018 00000 n
+0000507083 00000 n
+0000507148 00000 n
+0000507213 00000 n
+0000507277 00000 n
+0000507342 00000 n
+0000507407 00000 n
+0000507472 00000 n
+0000507537 00000 n
+0000507602 00000 n
+0000507667 00000 n
+0000507732 00000 n
+0000507797 00000 n
+0000507862 00000 n
+0000507927 00000 n
+0000507992 00000 n
+0000508056 00000 n
+0000513758 00000 n
+0000510849 00000 n
+0000508308 00000 n
+0000510974 00000 n
+0000511038 00000 n
+0000511103 00000 n
+0000511168 00000 n
+0000511233 00000 n
+0000511297 00000 n
+0000511362 00000 n
+0000511427 00000 n
+0000511492 00000 n
+0000511557 00000 n
+0000511622 00000 n
+0000511687 00000 n
+0000511752 00000 n
+0000511816 00000 n
+0000511881 00000 n
+0000511946 00000 n
+0000512011 00000 n
+0000512076 00000 n
+0000512141 00000 n
+0000512206 00000 n
+0000512271 00000 n
+0000512336 00000 n
+0000512401 00000 n
+0000512465 00000 n
+0000512530 00000 n
+0000512595 00000 n
+0000512658 00000 n
+0000512721 00000 n
+0000512786 00000 n
+0000512851 00000 n
+0000512916 00000 n
+0000512981 00000 n
+0000513046 00000 n
+0000513111 00000 n
+0000513176 00000 n
+0000513241 00000 n
+0000513306 00000 n
+0000513370 00000 n
+0000513435 00000 n
+0000513500 00000 n
+0000513565 00000 n
+0000513630 00000 n
+0000513695 00000 n
+0000519703 00000 n
+0000516207 00000 n
+0000513948 00000 n
+0000516332 00000 n
+0000516396 00000 n
+0000516461 00000 n
+0000516525 00000 n
+0000516590 00000 n
+0000516655 00000 n
+0000516720 00000 n
+0000516785 00000 n
+0000516850 00000 n
+0000516915 00000 n
+0000516980 00000 n
+0000517045 00000 n
+0000517110 00000 n
+0000517175 00000 n
+0000517240 00000 n
+0000517304 00000 n
+0000517369 00000 n
+0000517434 00000 n
+0000517499 00000 n
+0000517564 00000 n
+0000517629 00000 n
+0000517694 00000 n
+0000517759 00000 n
+0000517824 00000 n
+0000517888 00000 n
+0000517953 00000 n
+0000518018 00000 n
+0000518083 00000 n
+0000518148 00000 n
+0000518213 00000 n
+0000518278 00000 n
+0000518343 00000 n
+0000518408 00000 n
+0000518472 00000 n
+0000518537 00000 n
+0000518602 00000 n
+0000518667 00000 n
+0000518732 00000 n
+0000518797 00000 n
+0000518862 00000 n
+0000518927 00000 n
+0000518992 00000 n
+0000519056 00000 n
+0000519120 00000 n
+0000519185 00000 n
+0000519250 00000 n
+0000519315 00000 n
+0000519380 00000 n
+0000519445 00000 n
+0000519510 00000 n
+0000519575 00000 n
+0000519639 00000 n
+0000525635 00000 n
+0000522593 00000 n
+0000519893 00000 n
+0000522718 00000 n
+0000522782 00000 n
+0000522847 00000 n
+0000522911 00000 n
+0000522976 00000 n
+0000523041 00000 n
+0000523105 00000 n
+0000523170 00000 n
+0000523235 00000 n
+0000523300 00000 n
+0000523364 00000 n
+0000523429 00000 n
+0000523494 00000 n
+0000523559 00000 n
+0000523624 00000 n
+0000523689 00000 n
+0000523754 00000 n
+0000523819 00000 n
+0000523884 00000 n
+0000523949 00000 n
+0000524014 00000 n
+0000524079 00000 n
+0000524144 00000 n
+0000524208 00000 n
+0000524273 00000 n
+0000524338 00000 n
+0000524403 00000 n
+0000524468 00000 n
+0000524533 00000 n
+0000524598 00000 n
+0000524663 00000 n
+0000524728 00000 n
+0000524793 00000 n
+0000524858 00000 n
+0000524923 00000 n
+0000524988 00000 n
+0000525053 00000 n
+0000525117 00000 n
+0000525182 00000 n
+0000525247 00000 n
+0000525312 00000 n
+0000525377 00000 n
+0000525442 00000 n
+0000525507 00000 n
+0000525571 00000 n
+0000532099 00000 n
+0000528346 00000 n
+0000525838 00000 n
+0000528471 00000 n
+0000528535 00000 n
+0000528600 00000 n
+0000528664 00000 n
+0000528729 00000 n
+0000528794 00000 n
+0000528859 00000 n
+0000528924 00000 n
+0000528989 00000 n
+0000529054 00000 n
+0000529119 00000 n
+0000529184 00000 n
+0000529248 00000 n
+0000529313 00000 n
+0000529378 00000 n
+0000529442 00000 n
+0000529507 00000 n
+0000529572 00000 n
+0000529637 00000 n
+0000529702 00000 n
+0000529767 00000 n
+0000529832 00000 n
+0000529897 00000 n
+0000529961 00000 n
+0000530026 00000 n
+0000530091 00000 n
+0000530156 00000 n
+0000530221 00000 n
+0000530286 00000 n
+0000530351 00000 n
+0000530414 00000 n
+0000530479 00000 n
+0000530544 00000 n
+0000530609 00000 n
+0000530674 00000 n
+0000530739 00000 n
+0000530804 00000 n
+0000530869 00000 n
+0000530934 00000 n
+0000530999 00000 n
+0000531064 00000 n
+0000531129 00000 n
+0000531193 00000 n
+0000531258 00000 n
+0000531323 00000 n
+0000531388 00000 n
+0000531452 00000 n
+0000531517 00000 n
+0000531582 00000 n
+0000531647 00000 n
+0000531712 00000 n
+0000531777 00000 n
+0000531842 00000 n
+0000531907 00000 n
+0000531971 00000 n
+0000532035 00000 n
+0000538611 00000 n
+0000535050 00000 n
+0000532289 00000 n
+0000535175 00000 n
+0000535239 00000 n
+0000535304 00000 n
+0000535368 00000 n
+0000535433 00000 n
+0000535498 00000 n
+0000535563 00000 n
+0000535628 00000 n
+0000535693 00000 n
+0000535757 00000 n
+0000535822 00000 n
+0000535887 00000 n
+0000535952 00000 n
+0000536017 00000 n
+0000536082 00000 n
+0000536147 00000 n
+0000536212 00000 n
+0000536277 00000 n
+0000536341 00000 n
+0000536406 00000 n
+0000536471 00000 n
+0000536536 00000 n
+0000536601 00000 n
+0000536666 00000 n
+0000536731 00000 n
+0000536796 00000 n
+0000536860 00000 n
+0000536925 00000 n
+0000536990 00000 n
+0000537055 00000 n
+0000537120 00000 n
+0000537185 00000 n
+0000537250 00000 n
+0000537315 00000 n
+0000537380 00000 n
+0000537444 00000 n
+0000537509 00000 n
+0000537574 00000 n
+0000537639 00000 n
+0000537704 00000 n
+0000537769 00000 n
+0000537834 00000 n
+0000537899 00000 n
+0000537964 00000 n
+0000538029 00000 n
+0000538094 00000 n
+0000538159 00000 n
+0000538224 00000 n
+0000538289 00000 n
+0000538354 00000 n
+0000538419 00000 n
+0000538483 00000 n
+0000538547 00000 n
+0000545012 00000 n
+0000540998 00000 n
+0000538814 00000 n
+0000541123 00000 n
+0000541187 00000 n
+0000541252 00000 n
+0000541316 00000 n
+0000541381 00000 n
+0000541446 00000 n
+0000541511 00000 n
+0000541576 00000 n
+0000541641 00000 n
+0000541706 00000 n
+0000541771 00000 n
+0000541834 00000 n
+0000541899 00000 n
+0000541964 00000 n
+0000542029 00000 n
+0000542094 00000 n
+0000542159 00000 n
+0000542224 00000 n
+0000542289 00000 n
+0000542353 00000 n
+0000542418 00000 n
+0000542483 00000 n
+0000542548 00000 n
+0000542613 00000 n
+0000542678 00000 n
+0000542743 00000 n
+0000542808 00000 n
+0000542873 00000 n
+0000542936 00000 n
+0000543001 00000 n
+0000543066 00000 n
+0000543131 00000 n
+0000543196 00000 n
+0000543261 00000 n
+0000543326 00000 n
+0000543391 00000 n
+0000543456 00000 n
+0000543521 00000 n
+0000543586 00000 n
+0000543651 00000 n
+0000543716 00000 n
+0000543781 00000 n
+0000543846 00000 n
+0000543911 00000 n
+0000543976 00000 n
+0000544041 00000 n
+0000544106 00000 n
+0000544170 00000 n
+0000544235 00000 n
+0000544300 00000 n
+0000544365 00000 n
+0000544430 00000 n
+0000544495 00000 n
+0000544560 00000 n
+0000544625 00000 n
+0000544690 00000 n
+0000544754 00000 n
+0000544819 00000 n
+0000544884 00000 n
+0000544948 00000 n
+0000551282 00000 n
+0000547394 00000 n
+0000545176 00000 n
+0000547519 00000 n
+0000547583 00000 n
+0000547647 00000 n
+0000547712 00000 n
+0000547777 00000 n
+0000547842 00000 n
+0000547907 00000 n
+0000547972 00000 n
+0000548037 00000 n
+0000548102 00000 n
+0000548167 00000 n
+0000548231 00000 n
+0000548296 00000 n
+0000548361 00000 n
+0000548426 00000 n
+0000548491 00000 n
+0000548556 00000 n
+0000548621 00000 n
+0000548686 00000 n
+0000548751 00000 n
+0000548815 00000 n
+0000548880 00000 n
+0000548945 00000 n
+0000549010 00000 n
+0000549075 00000 n
+0000549140 00000 n
+0000549205 00000 n
+0000549270 00000 n
+0000549335 00000 n
+0000549399 00000 n
+0000549464 00000 n
+0000549529 00000 n
+0000549594 00000 n
+0000549659 00000 n
+0000549724 00000 n
+0000549789 00000 n
+0000549854 00000 n
+0000549919 00000 n
+0000549983 00000 n
+0000550048 00000 n
+0000550113 00000 n
+0000550178 00000 n
+0000550243 00000 n
+0000550308 00000 n
+0000550373 00000 n
+0000550438 00000 n
+0000550503 00000 n
+0000550568 00000 n
+0000550633 00000 n
+0000550698 00000 n
+0000550763 00000 n
+0000550828 00000 n
+0000550893 00000 n
+0000550958 00000 n
+0000551023 00000 n
+0000551088 00000 n
+0000551153 00000 n
+0000551218 00000 n
+0000557547 00000 n
+0000553536 00000 n
+0000551446 00000 n
+0000553661 00000 n
+0000553725 00000 n
+0000553790 00000 n
+0000553855 00000 n
+0000553920 00000 n
+0000553985 00000 n
+0000554050 00000 n
+0000554115 00000 n
+0000554180 00000 n
+0000554245 00000 n
+0000554308 00000 n
+0000554373 00000 n
+0000554438 00000 n
+0000554503 00000 n
+0000554567 00000 n
+0000554632 00000 n
+0000554697 00000 n
+0000554762 00000 n
+0000554827 00000 n
+0000554892 00000 n
+0000554957 00000 n
+0000555022 00000 n
+0000555087 00000 n
+0000555151 00000 n
+0000555216 00000 n
+0000555281 00000 n
+0000555346 00000 n
+0000555411 00000 n
+0000555476 00000 n
+0000555541 00000 n
+0000555606 00000 n
+0000555671 00000 n
+0000555735 00000 n
+0000555800 00000 n
+0000555865 00000 n
+0000555930 00000 n
+0000555995 00000 n
+0000556060 00000 n
+0000556125 00000 n
+0000556190 00000 n
+0000556255 00000 n
+0000556319 00000 n
+0000556384 00000 n
+0000556449 00000 n
+0000556514 00000 n
+0000556579 00000 n
+0000556644 00000 n
+0000556709 00000 n
+0000556774 00000 n
+0000556839 00000 n
+0000556900 00000 n
+0000556965 00000 n
+0000557030 00000 n
+0000557095 00000 n
+0000557160 00000 n
+0000557225 00000 n
+0000557290 00000 n
+0000557355 00000 n
+0000557420 00000 n
+0000557483 00000 n
+0000561186 00000 n
+0000560033 00000 n
+0000557724 00000 n
+0000560158 00000 n
+0000560222 00000 n
+0000560287 00000 n
+0000560351 00000 n
+0000560416 00000 n
+0000560481 00000 n
+0000560546 00000 n
+0000560611 00000 n
+0000560674 00000 n
+0000560738 00000 n
+0000560802 00000 n
+0000560866 00000 n
+0000560930 00000 n
+0000560994 00000 n
+0000561058 00000 n
+0000561122 00000 n
+0000860764 00000 n
+0000564349 00000 n
+0000564505 00000 n
+0000572624 00000 n
+0000572780 00000 n
+0000572940 00000 n
+0000573100 00000 n
+0000565364 00000 n
+0000564167 00000 n
+0000561443 00000 n
+0000564660 00000 n
+0000564724 00000 n
+0000564788 00000 n
+0000564852 00000 n
+0000564916 00000 n
+0000564980 00000 n
+0000565044 00000 n
+0000565108 00000 n
+0000565172 00000 n
+0000565236 00000 n
+0000565300 00000 n
+0000564309 00000 n
+0000573261 00000 n
+0000573421 00000 n
+0000573577 00000 n
+0000573737 00000 n
+0000573898 00000 n
+0000574065 00000 n
+0000574232 00000 n
+0000574399 00000 n
+0000574560 00000 n
+0000574716 00000 n
+0000574871 00000 n
+0000575031 00000 n
+0000575198 00000 n
+0000575365 00000 n
+0000575526 00000 n
+0000575692 00000 n
+0000575859 00000 n
+0000576019 00000 n
+0000576180 00000 n
+0000576346 00000 n
+0000576513 00000 n
+0000576679 00000 n
+0000576846 00000 n
+0000577012 00000 n
+0000577172 00000 n
+0000577338 00000 n
+0000577505 00000 n
+0000577672 00000 n
+0000577832 00000 n
+0000577993 00000 n
+0000578148 00000 n
+0000578304 00000 n
+0000578464 00000 n
+0000578625 00000 n
+0000578785 00000 n
+0000578946 00000 n
+0000579106 00000 n
+0000579261 00000 n
+0000579422 00000 n
+0000579583 00000 n
+0000579744 00000 n
+0000579905 00000 n
+0000580066 00000 n
+0000584989 00000 n
+0000585146 00000 n
+0000585307 00000 n
+0000585468 00000 n
+0000585636 00000 n
+0000585802 00000 n
+0000580290 00000 n
+0000572037 00000 n
+0000565554 00000 n
+0000580226 00000 n
+0000572179 00000 n
+0000585969 00000 n
+0000586136 00000 n
+0000586304 00000 n
+0000586472 00000 n
+0000586640 00000 n
+0000586807 00000 n
+0000586975 00000 n
+0000587143 00000 n
+0000587312 00000 n
+0000587480 00000 n
+0000587649 00000 n
+0000587818 00000 n
+0000587980 00000 n
+0000588148 00000 n
+0000588316 00000 n
+0000588484 00000 n
+0000588652 00000 n
+0000588820 00000 n
+0000588988 00000 n
+0000589156 00000 n
+0000589324 00000 n
+0000589492 00000 n
+0000589712 00000 n
+0000584573 00000 n
+0000580428 00000 n
+0000589648 00000 n
+0000584715 00000 n
+0000856611 00000 n
+0000589968 00000 n
+0000856873 00000 n
+0000589995 00000 n
+0000856739 00000 n
+0000590088 00000 n
+0000590327 00000 n
+0000590352 00000 n
+0000602337 00000 n
+0000590580 00000 n
+0000590683 00000 n
+0000602579 00000 n
+0000603303 00000 n
+0000603537 00000 n
+0000616969 00000 n
+0000603853 00000 n
+0000603956 00000 n
+0000617203 00000 n
+0000617949 00000 n
+0000618175 00000 n
+0000629209 00000 n
+0000618322 00000 n
+0000618420 00000 n
+0000629449 00000 n
+0000630127 00000 n
+0000630358 00000 n
+0000631469 00000 n
+0000630413 00000 n
+0000630510 00000 n
+0000631712 00000 n
+0000632322 00000 n
+0000632526 00000 n
+0000632553 00000 n
+0000632580 00000 n
+0000634955 00000 n
+0000632772 00000 n
+0000632878 00000 n
+0000635203 00000 n
+0000635886 00000 n
+0000636096 00000 n
+0000646071 00000 n
+0000636709 00000 n
+0000636836 00000 n
+0000646311 00000 n
+0000647406 00000 n
+0000647610 00000 n
+0000649936 00000 n
+0000647777 00000 n
+0000647883 00000 n
+0000650183 00000 n
+0000650856 00000 n
+0000651066 00000 n
+0000652751 00000 n
+0000651179 00000 n
+0000651285 00000 n
+0000653000 00000 n
+0000653653 00000 n
+0000653864 00000 n
+0000659388 00000 n
+0000654217 00000 n
+0000654328 00000 n
+0000659632 00000 n
+0000660408 00000 n
+0000660613 00000 n
+0000668243 00000 n
+0000661071 00000 n
+0000661186 00000 n
+0000668483 00000 n
+0000669373 00000 n
+0000669576 00000 n
+0000670326 00000 n
+0000669610 00000 n
+0000669705 00000 n
+0000670565 00000 n
+0000671161 00000 n
+0000671363 00000 n
+0000677756 00000 n
+0000671820 00000 n
+0000671928 00000 n
+0000677996 00000 n
+0000678881 00000 n
+0000679085 00000 n
+0000681689 00000 n
+0000679275 00000 n
+0000679381 00000 n
+0000681932 00000 n
+0000682604 00000 n
+0000682808 00000 n
+0000684828 00000 n
+0000682922 00000 n
+0000683026 00000 n
+0000685070 00000 n
+0000685715 00000 n
+0000685920 00000 n
+0000688973 00000 n
+0000686211 00000 n
+0000686318 00000 n
+0000689213 00000 n
+0000689949 00000 n
+0000690153 00000 n
+0000697564 00000 n
+0000690618 00000 n
+0000690733 00000 n
+0000697805 00000 n
+0000698684 00000 n
+0000698889 00000 n
+0000698916 00000 n
+0000698977 00000 n
+0000699170 00000 n
+0000699411 00000 n
+0000699628 00000 n
+0000704350 00000 n
+0000699987 00000 n
+0000700093 00000 n
+0000704592 00000 n
+0000705370 00000 n
+0000705574 00000 n
+0000708382 00000 n
+0000705832 00000 n
+0000705938 00000 n
+0000708622 00000 n
+0000709321 00000 n
+0000709525 00000 n
+0000718795 00000 n
+0000710009 00000 n
+0000710128 00000 n
+0000719036 00000 n
+0000720034 00000 n
+0000720239 00000 n
+0000722249 00000 n
+0000720353 00000 n
+0000720457 00000 n
+0000722491 00000 n
+0000723137 00000 n
+0000723342 00000 n
+0000725858 00000 n
+0000723589 00000 n
+0000723695 00000 n
+0000726099 00000 n
+0000726804 00000 n
+0000727009 00000 n
+0000736523 00000 n
+0000727582 00000 n
+0000727714 00000 n
+0000736765 00000 n
+0000737766 00000 n
+0000737972 00000 n
+0000744810 00000 n
+0000738404 00000 n
+0000738516 00000 n
+0000745050 00000 n
+0000745908 00000 n
+0000746111 00000 n
+0000747160 00000 n
+0000746189 00000 n
+0000746289 00000 n
+0000747400 00000 n
+0000748022 00000 n
+0000748226 00000 n
+0000753352 00000 n
+0000748595 00000 n
+0000748710 00000 n
+0000753593 00000 n
+0000754382 00000 n
+0000754587 00000 n
+0000756146 00000 n
+0000754680 00000 n
+0000754781 00000 n
+0000756385 00000 n
+0000757011 00000 n
+0000757213 00000 n
+0000759450 00000 n
+0000757392 00000 n
+0000757498 00000 n
+0000759691 00000 n
+0000760360 00000 n
+0000760565 00000 n
+0000763017 00000 n
+0000760749 00000 n
+0000760856 00000 n
+0000763259 00000 n
+0000763943 00000 n
+0000764149 00000 n
+0000764247 00000 n
+0000765291 00000 n
+0000764325 00000 n
+0000764425 00000 n
+0000765532 00000 n
+0000766156 00000 n
+0000766361 00000 n
+0000768164 00000 n
+0000766472 00000 n
+0000766575 00000 n
+0000768406 00000 n
+0000769049 00000 n
+0000776226 00000 n
+0000769255 00000 n
+0000780544 00000 n
+0000776459 00000 n
+0000783607 00000 n
+0000780833 00000 n
+0000786824 00000 n
+0000783846 00000 n
+0000789444 00000 n
+0000787068 00000 n
+0000813106 00000 n
+0000789689 00000 n
+0000832248 00000 n
+0000813413 00000 n
+0000844210 00000 n
+0000832520 00000 n
+0000847578 00000 n
+0000844460 00000 n
+0000850351 00000 n
+0000847851 00000 n
+0000853296 00000 n
+0000850603 00000 n
+0000856325 00000 n
+0000853542 00000 n
+0000860873 00000 n
+0000861033 00000 n
+0000861115 00000 n
+0000861192 00000 n
+0000865673 00000 n
+0000866338 00000 n
+0000867007 00000 n
+0000867676 00000 n
+0000868342 00000 n
+0000869011 00000 n
+0000869679 00000 n
+0000870350 00000 n
+0000871014 00000 n
+0000871683 00000 n
+0000872352 00000 n
+0000873018 00000 n
+0000873687 00000 n
+0000874356 00000 n
+0000875021 00000 n
+0000875692 00000 n
+0000876360 00000 n
+0000877029 00000 n
+0000877695 00000 n
+0000878364 00000 n
+0000879033 00000 n
+0000879699 00000 n
+0000880368 00000 n
+0000881036 00000 n
+0000881707 00000 n
+0000882372 00000 n
+0000883041 00000 n
+0000883710 00000 n
+0000884376 00000 n
+0000885045 00000 n
+0000885714 00000 n
+0000886383 00000 n
+0000887051 00000 n
+0000887719 00000 n
+0000888388 00000 n
+0000889050 00000 n
+0000889719 00000 n
+0000890388 00000 n
+0000891057 00000 n
0000891722 00000 n
-0000892391 00000 n
-0000893056 00000 n
+0000892393 00000 n
+0000893061 00000 n
0000893727 00000 n
-0000894395 00000 n
-0000895064 00000 n
-0000895730 00000 n
-0000896399 00000 n
-0000897068 00000 n
-0000897734 00000 n
-0000898403 00000 n
-0000899071 00000 n
-0000899742 00000 n
-0000900406 00000 n
-0000901075 00000 n
-0000901744 00000 n
-0000902406 00000 n
-0000903075 00000 n
-0000903744 00000 n
-0000904410 00000 n
-0000905056 00000 n
-0000905662 00000 n
-0000906294 00000 n
-0000906928 00000 n
-0000907563 00000 n
-0000908198 00000 n
-0000908833 00000 n
-0000909465 00000 n
-0000910100 00000 n
-0000910735 00000 n
-0000911366 00000 n
-0000912003 00000 n
-0000912637 00000 n
-0000913272 00000 n
-0000913904 00000 n
-0000914539 00000 n
-0000915174 00000 n
-0000915806 00000 n
-0000916441 00000 n
-0000917075 00000 n
-0000917712 00000 n
-0000918342 00000 n
-0000918977 00000 n
-0000919612 00000 n
-0000920340 00000 n
-0000921120 00000 n
-0000921764 00000 n
-0000922433 00000 n
-0000923122 00000 n
-0000923929 00000 n
-0000924747 00000 n
-0000925755 00000 n
-0000926657 00000 n
-0000927013 00000 n
-0000927366 00000 n
-0000927719 00000 n
-0000927873 00000 n
-0000927976 00000 n
-0000928016 00000 n
-0000928148 00000 n
+0000894396 00000 n
+0000895065 00000 n
+0000895734 00000 n
+0000896400 00000 n
+0000897069 00000 n
+0000897737 00000 n
+0000898405 00000 n
+0000899074 00000 n
+0000899743 00000 n
+0000900412 00000 n
+0000901078 00000 n
+0000901747 00000 n
+0000902416 00000 n
+0000903081 00000 n
+0000903752 00000 n
+0000904420 00000 n
+0000905089 00000 n
+0000905755 00000 n
+0000906424 00000 n
+0000907093 00000 n
+0000907759 00000 n
+0000908428 00000 n
+0000909096 00000 n
+0000909767 00000 n
+0000910431 00000 n
+0000911100 00000 n
+0000911769 00000 n
+0000912431 00000 n
+0000913100 00000 n
+0000913769 00000 n
+0000914435 00000 n
+0000915103 00000 n
+0000915772 00000 n
+0000916396 00000 n
+0000917002 00000 n
+0000917608 00000 n
+0000918212 00000 n
+0000918843 00000 n
+0000919478 00000 n
+0000920109 00000 n
+0000920746 00000 n
+0000921380 00000 n
+0000922015 00000 n
+0000922647 00000 n
+0000923282 00000 n
+0000923917 00000 n
+0000924549 00000 n
+0000925184 00000 n
+0000925818 00000 n
+0000926455 00000 n
+0000927085 00000 n
+0000927720 00000 n
+0000928355 00000 n
+0000928987 00000 n
+0000929622 00000 n
+0000930257 00000 n
+0000930909 00000 n
+0000931720 00000 n
+0000932432 00000 n
+0000933081 00000 n
+0000933750 00000 n
+0000934480 00000 n
+0000935285 00000 n
+0000936141 00000 n
+0000937244 00000 n
+0000937884 00000 n
+0000938240 00000 n
+0000938593 00000 n
+0000938946 00000 n
+0000939118 00000 n
+0000939221 00000 n
+0000939261 00000 n
+0000939393 00000 n
trailer
-<< /Size 4502 /Root 4500 0 R /Info 4501 0 R /ID [ <72B0ADAD148795187FD4FF4E06FB6E37> <72B0ADAD148795187FD4FF4E06FB6E37> ] >>
+<< /Size 4500 /Root 4498 0 R /Info 4499 0 R /ID [ <96129D95D432CB09C5E61BD1A9817226> <96129D95D432CB09C5E61BD1A9817226> ] >>
startxref
-928712
+939954
%%EOF
diff --git a/macros/plain/contrib/ifis-macros/README b/macros/plain/contrib/ifis-macros/README
new file mode 100644
index 0000000000..69dd99e9fb
--- /dev/null
+++ b/macros/plain/contrib/ifis-macros/README
@@ -0,0 +1,21 @@
+
+
+This package contains two files with macros. The first contains a
+macro to test an input string if it represents a valid number for
+TeX. The second checks if an input string is a valid dimension for
+TeX.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 3 of the License.
+
+The package consists of the following files:
+
+ifisinteger.tex -- 1st macro file
+ifisdimension.tex -- 2nd macro file
+ifis-macros-doc.pdf -- instructions
+ifis-macros-doc.tex -- the source of ifis-macros-doc.pdf
+README -- this file
+
+Copyright (C) 2024 Udo Wermuth (author)
+ u dot wermuth (at) icloud dot com
diff --git a/macros/plain/contrib/ifis-macros/ifis-macros-doc.pdf b/macros/plain/contrib/ifis-macros/ifis-macros-doc.pdf
new file mode 100644
index 0000000000..e79469e555
--- /dev/null
+++ b/macros/plain/contrib/ifis-macros/ifis-macros-doc.pdf
Binary files differ
diff --git a/macros/plain/contrib/ifis-macros/ifis-macros-doc.tex b/macros/plain/contrib/ifis-macros/ifis-macros-doc.tex
new file mode 100644
index 0000000000..a5b3c21942
--- /dev/null
+++ b/macros/plain/contrib/ifis-macros/ifis-macros-doc.tex
@@ -0,0 +1,138 @@
+% This file is part of the CTAN package named isIntDim.
+%
+% info.tex: instructions for two macro packages: ifisinteger.tex
+% and ifisdimension.tex
+%
+% Copyright (C) 2024 Udo Wermuth (author)
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+% %%%
+% %%% verbatim macros (from manmac.tex)
+% %%%
+\newskip\ttglue {\tt\global\ttglue=0.5em plus 0.25em minus 0.15em }
+\def\ttverbatim{\begingroup \frenchspacing
+ \catcode`\\=12 \catcode`\{=12 \catcode`\}=12 \catcode`\$=12 \catcode`\&=12
+ \catcode`\#=12 \catcode`\%=12 \catcode`\~=12 \catcode`\_=12 \catcode`\^=12
+ \obeyspaces \obeylines \tt}
+\def\verbatimspace{\ifvmode\indent\fi\space}
+{\obeyspaces \gdef\makespaceverbspace{\def {\verbatimspace}}}
+\outer\def\verbatim{$$\ifdim\parskip>0pt
+ \abovedisplayskip=\parskip \abovedisplayshortskip=\parskip
+ \belowdisplayskip=\parskip \belowdisplayshortskip=\parskip
+ \else
+ \abovedisplayskip=3pt \abovedisplayshortskip=3pt
+ \belowdisplayskip=3pt \belowdisplayshortskip=3pt
+ \fi
+ \let\par=\endgraf \ttverbatim \makespaceverbspace \parskip=0pt
+ \catcode`\=0 \advance\leftskip by 10pt \ttfinish}
+{\catcode`\=0 catcode`\=12 % is temporary escape character
+ obeylines % end of line is active
+ gdefttfinish#1^^M#2\endverbatim{vbox{#2}endgroup$$}}
+\catcode`\|=\active
+{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}}
+
+\def\noitem{\item{\phantom{0.}}}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\font\titlefont=cmssdc10 at 36pt
+\font\subtitlefont=cmssdc10 at 17pt
+%
+\centerline{\titlefont ifis-macros}
+\bigskip
+\centerline{\subtitlefont Version 1.0, 7.04.2024}
+\bigskip
+\centerline{Macros for plain \TeX}
+\medskip
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\noindent
+There are two main macros in the files {\tt ifisinteger.tex} and {\tt
+ifisdimension.tex}. The macro |\ifisint| tests if a given input string
+represents a number for \TeX. The macro |\ifisdim| does this for
+dimensions.
+
+Both macros generate errors but hide them from the terminal as they
+work in |\batchmode|. There is one configuration parameter:
+|\IIcurrentmode|. The default is |\errorstopmode|. Change this if you
+call the macros in a different interaction mode so that they can
+return to this mode.
+
+\bigskip
+
+\beginsection 0.\ Installation
+
+To use the macro |\ifisint| load via |\input ifisinteger.tex| the file
+that contains the code. For |\ifisdim| use |\input ifisdimension.tex|.
+
+\bigskip
+
+\beginsection 1.\ File {\tt ifisinteger.tex}
+
+The main macro is called |\ifisint| and must be used like an
+|\if|-conditional except that its argument is delimited by |\Boolend|:
+|\ifisint <argument>\Boolend <true branch>\else <false branch>\fi|.
+
+\medskip
+
+The implemented algorithm has four steps:
+\smallskip
+\item{1.}1)~Remove signs with or without braces; add sentinel |W|.
+\noitem 2)~Test that the input isn't now |"W|, etc.; otherwise
+ return false.
+\item{2.}Create a canonical form with a leading zero.
+\item{3.}1)~Assign the input to a |\count| register inside an
+ |\hbox|.
+\noitem 2)~Test that the box width is the width of the sentinel.
+\noitem 3)~Otherwise return false.
+\item{4.}1)~Return true if the number isn't \TeX's maximum.
+\noitem 2)~Otherwise test if the canonical form is \TeX's maximum.
+ If yes, return true.
+\noitem 3)~Otherwise return false.
+\medskip
+
+For more details see my article in TUGboat {\bf45}:1 (2024), 106--109.
+
+\bigskip
+
+\beginsection 2.\ File {\tt ifisdimension.tex}
+
+The main macro is called |\ifisdim| and must be used like an
+|\if|-conditional except that its argument is delimited by |\Boolend|:
+|\ifisdim <argument>\Boolend <true branch>\else <false branch>\fi|.
+
+\medskip
+
+The implemented algorithm has four steps:
+\smallskip
+\item{1.}1)~Remove signs with or without braces; add sentinel |mm|.
+\noitem 2)~Exclude trivial non-numerics as done in |\ifisint|.
+\noitem 3)~Otherwise return false.
+\item{2.}1)~Get the integer part.
+\noitem 2)~Get fraction and the unit.
+\noitem 3)~Get the width of the unit.
+\item{3.}1)~Assign the input to a |\dimen| register inside an
+ |\hbox|.
+\noitem 2)~Test that the box width is the width of the sentinel.
+\noitem 3)~Otherwise return false.
+\item{4.}1)~Return true if the dimension isn't \TeX's |\maxdimen|.
+\noitem 2)~Otherwise test if the coerced sum of the integer part
+ and the fraction expressed in the unit |sp| is |\maxdimen|.
+\noitem 3)~If no, return false.
+\noitem 4)~Otherwise return true.
+\medskip
+
+For more details see my article in TUGboat {\bf45}:1 (2024), 109--112.
+
+\bye
diff --git a/macros/plain/contrib/ifis-macros/ifisdimension.tex b/macros/plain/contrib/ifis-macros/ifisdimension.tex
new file mode 100644
index 0000000000..35ba85b134
--- /dev/null
+++ b/macros/plain/contrib/ifis-macros/ifisdimension.tex
@@ -0,0 +1,93 @@
+\catcode`\@=11
+\newif\ifII@itis %% reused from \ifisint %%
+\def\II@rmsign #1{\ifx#1+\else\ifx#1-\else %%
+ \II@endrm#1\fi\fi\II@rmsign}% remove signs: %%
+\def\II@endrm #1\fi\fi#2{\fi\fi#1}% `+' & `-' %%
+\let\Boolend=\iffalse \font\II@font=cmr10 % %%
+\let\IIcurrentmode=\errorstopmode % CONFIGURE %%
+\def\II@W{W}\def\II@octW{'W}\def\II@hexW{"W}% %%
+%% declarations
+\newdimen\II@frac
+\countdef\II@cnt=255 \dimendef\II@dim=255
+%% helper macros; some use \ifisint's sentinel W
+\def\II@bad #1#2#3#4#5#6\II@end{% numeric part
+ \def\II@id{#1W}% is missing but maybe with unit
+ \edef\II@X{#6}\ifx\II@X\empty
+ \edef\II@X{#5}\ifx\II@X\empty\else\II@Bad\fi
+ \else \edef\II@X{\II@mklc#2#3#4W}%
+ \ifx\II@X\II@rueW
+ \else\ifx\II@X\II@truW\II@Bad
+ \else \II@itistrue
+ \fi\fi\fi}
+\def\II@rueW{rueW}\def\II@truW{truW}
+\def\II@Bad{\ifx\II@id\II@W
+ \else\ifx\II@id\II@octW
+ \else\ifx\II@id\II@hexW
+ \else \II@itistrue
+ \fi\fi\fi}
+\def\II@mklc #1{\if#1pp\else\if#1Pp\else
+ \if#1tt\else\if#1Tt\else
+ \if#1bb\else\if#1Bb\else
+ \if#1ss\else\if#1Ss\else
+ \if#1rr\else\if#1Rr\else
+ \if#1uu\else\if#1Uu\else
+ \if#1ee\else\if#1Ee\else
+ \II@endlc#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi \II@mklc}% `W' and `m' stop \II@mklc
+\def\II@endlc #1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi#2{\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi#1}
+\def\II@getfrac #1mm\II@end{\global\II@frac=0#1}
+\def\II@getcalc{%\II@calc=coerced\II@int\II@frac
+ \ifdim\II@unit=26.11119pt % \II@unit is ``pt''
+ \II@dim=\ifnum\II@int<16384
+ \II@int\else 0\fi pt
+ \else\ifdim\II@unit=27.77786pt % it is ``bp''
+ \II@dim=\ifnum\II@int<16323
+ \II@int\else 0\fi bp
+ \else\ifdim\II@unit=26.16673pt % it is ``sp''
+ \II@dim=\ifnum\II@int<1073741824
+ \II@int\else 0\fi sp
+ \else \II@dim=0pt \fi\fi\fi
+ \II@cnt=\II@dim \advance\II@cnt by \II@frac
+ \edef\II@calc{\number\II@cnt}}
+\def\II@point #1#2\II@end{% assign digits of the
+ \afterassignment\II@mklc % fraction to \II@cnt
+ \ifx#1.\II@cnt=0#2%
+ \else\ifx#1,\II@cnt=0#2%
+ \else \II@cnt=0#1#2%
+ \fi\fi}
+\def\II@getunit #1{\afterassignment\II@hdlfrac
+ \II@cnt=#1\relax}
+\def\II@rmtrue{\ifdim\wd0>40pt \the\II@dim
+ \else \the\wd0 \fi}
+%% main macro
+\def\ifisdim #1\Boolend{\II@itisfalse % S1.3
+ \edef\II@dist{\II@rmsign#1mm}% S1.1
+ \edef\II@dist{\expandafter\II@rmsign\II@dist}%
+ \expandafter\II@bad
+ \II@dist\empty\empty\empty\empty\II@end % S1.2
+ \ifII@itis % S4.1, S4.4
+ \wlog{=== start ignore}\batchmode\begingroup
+ \setbox0=\hbox{\II@font
+ \afterassignment\II@getfrac
+ \II@cnt=\II@dist\II@end % S2.2
+ \xdef\II@int{\the\II@cnt}}% S2.1
+ \setbox0=\hbox{\II@font
+ \afterassignment\II@point
+ \II@cnt=\II@dist\II@end}\II@dim=\wd0
+ \advance\II@dim by -17.80559pt % width `true'
+ \xdef\II@unit{\II@rmtrue}% S2.3
+ \setbox0=\hbox{\II@font\II@dim=#1mm% S3.1
+ \xdef\II@val{\ifdim\II@dim<0pt-\fi
+ \the\II@dim}}%
+ \xdef\II@wd{\the\wd0}%
+ \endgroup\IIcurrentmode\wlog{=== stop ignore}%
+ \ifdim\II@wd=16.66672pt % width ``mm'' S3.2
+ \ifdim\II@val=\maxdimen \II@getcalc
+ \ifnum\II@calc=1073741823 % S4.2
+ \else \II@itisfalse % S4.3
+ \fi\fi
+ \else \II@itisfalse % S3.3
+ \fi\fi \ifII@itis}
+\catcode`\@=12
diff --git a/macros/plain/contrib/ifis-macros/ifisinteger.tex b/macros/plain/contrib/ifis-macros/ifisinteger.tex
new file mode 100644
index 0000000000..5249c2fa6c
--- /dev/null
+++ b/macros/plain/contrib/ifis-macros/ifisinteger.tex
@@ -0,0 +1,44 @@
+\catcode`\@=11 % use the private prefix ``II@''
+\newif\ifII@itis % main result of the macro
+%% helper macros
+\def\II@rmsign #1{\ifx#1+\else\ifx#1-\else
+ \II@endrm#1\fi\fi\II@rmsign}
+\def\II@endrm #1\fi\fi#2{\fi\fi#1}
+\def\II@zeros #1{\ifx#1''\else\ifx#1""\else
+ \II@cont#1\fi\fi\II@zeros}
+\def\II@cont #1\fi\fi#2{\fi\fi\II@hdlzero#1}
+\def\II@hdlzero #1{\ifx#10 \else
+ \II@xchgfi #1\fi\II@hdlzero}
+\def\II@xchgfi #1\fi#2{\fi\ifx#1`\else0\fi#1}
+%% constants with the sentinel `W'
+\def\II@cfd{02147483647W}% canonical forms with
+\def\II@cfh{"07FFFFFFFW}% W of TeX's max integer
+\def\II@cfo{'017777777777W}% in dec, hex, oct
+\def\II@W{W}\def\II@hexW{"W}% all unsigned input
+\def\II@octW{'W}% with W for which TeX inserts 0
+%% assignments
+\let\Boolend=\iffalse \font\II@font=cmr10
+\let\IIcurrentmode=\errorstopmode % CONFIGURE
+%% main macro
+\def\ifisint #1\Boolend{\II@itisfalse % see S1.2
+ \edef\II@digs{\II@rmsign#1W}% S1.1 with 2 \edef
+ \edef\II@digs{\expandafter\II@rmsign\II@digs}%
+ \ifx\II@digs\II@W\else\ifx\II@digs\II@octW
+ \else\ifx\II@digs\II@hexW\else % S1.2 finished
+ \edef\II@cf{\expandafter\II@zeros\II@digs}% S2
+ \wlog{=== start ignore}\batchmode\begingroup
+ \setbox0=\hbox{\count255=\II@cf
+ \xdef\II@val{\the\count255}}%
+ \setbox0=\hbox{\II@font\count255=#1W}% S3.1
+ \xdef\II@wd{\the\wd0}%
+ \endgroup\IIcurrentmode\wlog{=== stop ignore}%
+ \ifdim\II@wd=10.2778pt % \wd of hbox `W'; S3.2
+ \II@itistrue \ifnum\II@val=2147483647 % S4.1
+ \ifx\II@cf\II@cfd
+ \else\ifx\II@cf\II@cfh
+ \else\ifx\II@cf\II@cfo % S4.2
+ \else \II@itisfalse % S4.3
+ \fi\fi\fi\fi
+ \else \II@itisfalse % S3.3
+ \fi\fi\fi\fi \ifII@itis}
+\catcode`\@=12
diff --git a/macros/unicodetex/latex/bithesis/bithesis.dtx b/macros/unicodetex/latex/bithesis/bithesis.dtx
index 200c748f26..17114c06dd 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.dtx
+++ b/macros/unicodetex/latex/bithesis/bithesis.dtx
@@ -21,10 +21,10 @@
%<thesis>\ProvidesExplClass{bithesis}
%<report>\ProvidesExplClass{bitreport}
%<beamer>\ProvidesExplClass{bitbeamer}
-%<cls>{2024-04-16}{3.7.4}{BIT Thesis Templates}
+%<cls>{2024-05-04}{3.7.7}{BIT Thesis Templates}
%
%<*driver>
-\ProvidesFile{bithesis.dtx}[2024/04/16 3.7.4 BIT Thesis Templates]
+\ProvidesFile{bithesis.dtx}[2024/05/04 3.7.7 BIT Thesis Templates]
\documentclass[letterpaper]{l3doc}
\usepackage{dtx-style}
@@ -733,9 +733,11 @@
autoref / table .initial:n = {\g_@@_const_autoref_tab_tl},
autoref / equ .tl_set:N = \equationautorefname,
autoref / equ .initial:n = {\g_@@_const_autoref_equ_tl},
- % 浮动体与正文之间的距离
+ % 浮动体相关的各种间距
floatSeparation .tl_set:N = \l_@@_misc_float_separation_tl,
floatSeparation .initial:n = {0},
+ tabularRowSeparation .tl_set:N = \l_@@_misc_tabular_row_separation_tl,
+ tabularRowSeparation .initial:n = {1},
}
% \end{macrocode}
%
@@ -837,9 +839,9 @@
hyphen .initial:n = {true},
% 控制公式和上下文的距离
mathAboveDisplaySkip .dim_set:N = \l_@@_style_math_above_display_skip_dim,
- mathAboveDisplaySkip .initial:n = {3pt},
+ mathAboveDisplaySkip .initial:n = {10pt},
mathBelowDisplaySkip .dim_set:N = \l_@@_style_math_below_display_skip_dim,
- mathBelowDisplaySkip .initial:n = {3pt},
+ mathBelowDisplaySkip .initial:n = {10pt},
betterTimesNewRoman .bool_set:N = \l_@@_style_better_new_roman_bool,
betterTimesNewRoman .initial:n = {false},
}
@@ -886,9 +888,9 @@
omit .bool_set:N = \l_@@_publications_omit_bool,
omit .initial:n = {false},
maxbibnames .int_set:N = \l_@@_publications_maxbibnames_int,
- maxbibnames .initial:n = {3},
+ maxbibnames .initial:n = {10},
minbibnames .int_set:N = \l_@@_publications_minbibnames_int,
- minbibnames .initial:n = {1},
+ minbibnames .initial:n = {10},
}
% \end{macrocode}
% 在宏加载时,处理 |bithesis/option| 中的值。使得 |bithesis|
@@ -1489,6 +1491,7 @@
% preamble 中也不会有影响。
\AtBeginEnvironment{tabular}{\zihao{\l_@@_misc_tabular_font_size_tl}}
\AtBeginEnvironment{tabular*}{\zihao{\l_@@_misc_tabular_font_size_tl}}
+ \AtBeginEnvironment{tabularx}{\zihao{\l_@@_misc_tabular_font_size_tl}}
}
% \end{macrocode}
% \end{macro}
@@ -1547,14 +1550,21 @@
\@@_if_thesis_english:TF {
\setlength{\belowcaptionskip}{9pt}
} {
- % 为了满足 “前后一行空白的问题”,需要删除 Caption 下方的间距。
+ % 为了满足 “前后一行空白的问题”,需要删除 caption 下方的间距。
% 详见 `caption` 宏包手册和
% https://github.com/CTeX-org/forum/issues/86
%
% 这里实际的 skip 在 15pt 左右,但是全部移除会导致当图片置于页面顶部时,
% 图片与上方的间距过小,因此这里只移除 5pt。
- % 当然,这样会导致文本间的图片的 Caption 下方的间距微微大于一行。
+ % 当然,这样会导致文本间的图片的 caption 下方的间距微微大于一行。
+ %
+ % 至于表格,虽然其caption位置在上方(而图片是在下方),
+ % 但 `caption` 宏包已考虑这种区别,统一设置 `belowskip` 即可。
\captionsetup{belowskip=-5pt}
+
+ % 此外在浮动体内部,调整表格 caption 和表格本体间的距离。
+ % 本来默认有一定空隙,现改为紧贴,这样更接近Word模板实作。
+ \captionsetup[table]{skip=5pt}
}
} {
% 而研究生模板不存在这个问题。
@@ -1601,11 +1611,13 @@
\cs_gset:Npn \lstlistingname {\c_@@_label_code_tl}
% 算法变成「章节号-序号」
+ % 为了减少修改,我们只适配按章编号的情况。
% 针对 algorithm 宏包
- \cs_gset:Npn \thealgorithm
- {\thechapter\g__bithesis_label_divide_char_tl\arabic{algorithm}}
+ \@ifpackagewith{algorithm}{chapter}{
+ \cs_gset:Npn \thealgorithm
+ {\thechapter\g__bithesis_label_divide_char_tl\arabic{algorithm}}
+ }{}
% 针对 algorithm2e 宏包
- % 为了减少修改,我们只适配按章编号(algochapter)的情况。
\@ifpackagewith{algorithm2e}{algochapter}{
% 名字中的“cf”是指其作者 Christophe Fiorio。
\cs_gset:Npn \thealgocf
@@ -1620,6 +1632,8 @@
% 调整浮动体与文字之间的距离
\addtolength{\intextsep}{\l_@@_misc_float_separation_tl\baselineskip}
\addtolength{\textfloatsep}{\l_@@_misc_float_separation_tl\baselineskip}
+ % 调整表格各行之间的距离
+ \cs_set:Npn \arraystretch {\l_@@_misc_tabular_row_separation_tl}
}
% \end{macrocode}
% \end{macro}
@@ -1665,8 +1679,8 @@
%
% 调整插图目录与表格目录的标题。
% \begin{macrocode}
-\cs_set:Npn \listfigurename {\@@_get_const:N {figure}}
-\cs_set:Npn \listtablename {\@@_get_const:N {table}}
+\cs_set:Npn \listfigurename {\currentpdfbookmark{\c__bithesis_label_figure_tl}{ch:figures}\@@_get_const:N {figure}}
+\cs_set:Npn \listtablename {\currentpdfbookmark{\c__bithesis_label_table_tl}{ch:tables}\@@_get_const:N {table}}
% \end{macrocode}
%
% 预定义用户常用的证明环境。
@@ -1857,6 +1871,7 @@
% \begin{macrocode}
\cs_new:Npn \make_graduate_cover: {
\cleardoublepage
+ \currentpdfbookmark{封面}{frontmatter:cover1}
\begin{titlepage}
{
\heiti\zihao{5}
@@ -1885,6 +1900,7 @@
% \begin{macrocode}
\cs_new:Npn \make_paper_back: {
\cleardoublepage
+ \currentpdfbookmark{书脊}{frontmatter:paperback}
\begin{titlepage}
\vskip 5cm
\begin{center}
@@ -1914,6 +1930,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_make_chinese_title_page: {
\cleardoublepage
+ \currentpdfbookmark{中文题名页}{frontmatter:titlepage}
\begin{titlepage}
\begin{minipage}[t]{0.48\textwidth}
% 密级、分类号
@@ -2011,6 +2028,7 @@
% 制作英文封面页。
% \begin{macrocode}
\cs_new:Npn \@@_make_english_title_page: {
+ \currentpdfbookmark{英文题名页}{frontmatter:titlepageen}
\begin{titlepage}
\begin{center}
@@ -2094,8 +2112,13 @@
% 原创性声明部分
\begin{center}
\@@_same_page:
+ \ctexset{
+ chapter = {
+ titleformat = {\heiti\zihao{-2}},
+ }
+ }
+ \currentpdfbookmark{\c_@@_graduate_label_originality_tl}{frontmatter:originality}
\chapter*{
- \heiti\zihao{-2}
\c_@@_graduate_label_originality_tl
}
\end{center}
@@ -2114,8 +2137,13 @@
% 使用授权声明部分。
\begin{center}
\@@_same_page:
+ \ctexset{
+ chapter = {
+ titleformat = {\heiti\zihao{-2}},
+ }
+ }
+ \currentpdfbookmark{\c_@@_graduate_label_authorization_tl}{frontmatter:originality1}
\chapter*{
- \heiti\zihao{-2}
\c_@@_graduate_label_authorization_tl
}
\end{center}
@@ -2217,6 +2245,7 @@
{
{1}
{
+ \currentpdfbookmark{封面}{frontmatter:cover}
\begin{titlepage}
\vspace*{16mm}
@@ -2465,6 +2494,7 @@
{
{1}
{
+ \currentpdfbookmark{声明}{frontmatter:originality}
\pagestyle{BIThesis}
\pagenumbering{gobble}
@@ -2615,6 +2645,8 @@
\vspace{-8pt}
}
+ % 添加目录书签
+ \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc}
% 制作目录
\tableofcontents
@@ -2678,8 +2710,8 @@
\bool_if:NTF \l_@@_add_abstract_to_toc_bool {
\chapter{\c_@@_label_abstract_tl}
} {
- \chapter*{\c_@@_label_abstract_tl}
\currentpdfbookmark{\c_@@_label_abstract_tl}{ch:abstract}
+ \chapter*{\c_@@_label_abstract_tl}
}
}
\vspace*{1mm}
@@ -2755,8 +2787,8 @@
\bool_if:nTF {\l_@@_add_abstract_en_to_toc_bool} {
\chapter{\c_@@_label_abstract_en_tl}
} {
- \chapter*{\c_@@_label_abstract_en_tl}
\currentpdfbookmark{\c_@@_label_abstract_en_tl}{ch:abstract:en}
+ \chapter*{\c_@@_label_abstract_en_tl}
}
}
}
diff --git a/macros/unicodetex/latex/bithesis/bithesis.pdf b/macros/unicodetex/latex/bithesis/bithesis.pdf
index 8056d149eb..42618f69db 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.pdf
+++ b/macros/unicodetex/latex/bithesis/bithesis.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/fontspec/CHANGES.md b/macros/unicodetex/latex/fontspec/CHANGES.md
index dd938d5d51..638e456356 100644
--- a/macros/unicodetex/latex/fontspec/CHANGES.md
+++ b/macros/unicodetex/latex/fontspec/CHANGES.md
@@ -1,6 +1,64 @@
Change history
==============
+## v2.9e (2024/05/11)
+
+ * Fix regression with automatic detection and selection of small caps when the font
+ script or language was requested but not found. (#517)
+
+ * Add additional tests to check against regressions. (#516, #518)
+
+ * Improve message in log file when defining a font without small caps.
+
+ * Demote warnings when Script or Language are requested but not found to the log file
+ instead of the console. (#421)
+
+
+## v2.9d (2024/05/07)
+
+ * Now that `Script` and `Language` are retained even if the font doesn't support them,
+ we can no longer check for font feature existence before applying the OpenType tags.
+ This release removes checking. (#515)
+
+ * Fix bug/regression in loading font families constructed from fonts with different file
+ extensions; e.g.: (#514)
+
+ \setmainfont{MyLato}
+ [
+ UprightFont = Lato-Regular.ttf ,
+ BoldFont = FiraSans-Bold.otf ,
+ ]
+
+
+## v2.9c (2024/05/03)
+
+ * Fix copy/paste regression bug with the `Language` feature (primarily exposed through `babel` package). (#513)
+ * Re-sync with `expl3` for deprecated commands.
+
+
+## v2.9b (2024/04/27)
+
+ * Add new `Letters=Uppercase` (LuaLaTeX only) as an interface to `luaotfload`
+ feature which automatically performs case-changing at the font level
+ (i.e., not using macros to process the text tokens). (#461)
+ * Fix long-standing bug when loading fonts which only have extensions specified internally to the font
+ shape (#504). E.g.:
+
+ \setmainfont{pagella}[ UprightFont = texgyrepagella-regular.otf ]
+
+ * If a font is loaded with a specific script (e.g. `Script=CJK`) and it is not
+ available within the font, `fontspec` previously would fall back on a default script.
+ This is now changed to always pass through the requested script so the renderer can
+ make use of that information regardless of whether the font itself supports the script.
+ (#507)
+ * Remove LuaTeX code that resets various `hypenchar` settings seemingly erroneously. (#344)
+ * Rework documentation to remove reference to local and non-free fonts. This allows
+ compilation via Github Actions, which will aid streamlining/automating releases in the future. (#157, #465)
+ * Adjust approach to removing spaces from font names internally. This may have unintended
+ consequences, please write if so. (#484)
+ * Work around clash if a class defines an option of (say) `math=foo`, where `fontspec`
+ is expecting `math=true`. Now, the global option will be ignored. (#501)
+
## v2.9a (2024/02/13)
diff --git a/macros/unicodetex/latex/fontspec/README.md b/macros/unicodetex/latex/fontspec/README.md
index 349b2c39f2..0f66c46901 100644
--- a/macros/unicodetex/latex/fontspec/README.md
+++ b/macros/unicodetex/latex/fontspec/README.md
@@ -11,7 +11,27 @@ available with OpenType (and other) fonts, including upper and lower case number
proportional and monospaced numbers, swash letters, ligature control, and many
many others.
-See the documentation `fontspec.pdf` for full information.
+
+Documentation
+-------------
+
+See the PDF documentation for complete user information (including examples):
+
+ texdoc fontspec
+
+Additional online documentation is provided at:
+ <http://latex3.github.io/fontspec/>
+
+The package code is documented in typeset PDF form via
+
+ texdoc fontspec-code
+
+Licence
+-------
+
+This package is distributed under the terms and conditions of the LaTeX Project Public License (LPPL), version 1.3a or higher.
+
+The maintainer of the package is Will Robertson and the LaTeX3 project.
Summary of user commands
@@ -59,19 +79,26 @@ Development and historical versions are available from Github:
Please offer suggestions and file bug reports in the issue tracker:
<http://github.com/latex3/fontspec/issues>
-If you are running TeX Live, you can update to the latest version of this package by running
+If you are running TeX Live, you can update to the latest version of this
+package by running
tlmgr install fontspec
-If you wish to manually download the latest release version from CTAN, get the pre-built TDS package and extract it into your local texmf tree:
+If you wish to manually download the latest release version from CTAN,
+get the pre-built TDS package and extract it into your local texmf tree:
+
+ http://mirror.ctan.org/install/macros/unicodetex/latex/fontspec.tds.zip
- http://mirror.ctan.org/install/macros/latex/contrib/fontspec.tds.zip
+Historical releases are available via GitHub:
+ <https://github.com/latex3/fontspec/releases>
+ <https://github.com/latex3/fontspec/tags>
-If you wish to use the latest development version from Github, use git to obtain the latest repository code with
+If you wish to use the latest development version from Github,
+use git to obtain the latest repository code with
git clone git://github.com/latex3/fontspec.git
-See the `working` branch for changes that have not been released to CTAN yet (no guarantees the code in that branch will always be fully functional). Having obtained the package from Github, install the package code by running
+Having obtained the package from Github, install the package code by running
l3build install
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-api.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-api.dtx
index e8a8878e66..3ce9edc230 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-api.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-api.dtx
@@ -1,14 +1,12 @@
-%%^^A%% fontspec-code-api.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-api.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
-% \section{Programmer's interface}
-%
% \iffalse
% \begin{macrocode}
%<*fontspec>
% \end{macrocode}
% \fi
%
-%
+% \section{Programmer's interface}
%
% These functions are not used directly by fontspec when defining fonts;
% they are designed to be used by other packages who wish to do font-related
@@ -23,8 +21,143 @@
% currently selected as a fontspec font. (I.e., via \verb|\fontspec| or
% from a \verb|\newfontfamily| macro or from \verb|\setmainfont| and so on.)
%
-% \begin{macro}{\fontspec_if_fontspec_font:TF}
-% Test whether the currently selected font has been loaded by fontspec.
+% \section{Overview}
+%
+% \subsection{Commands}
+%
+% \begin{function}{\fontspec_gset_family:Nnn,\fontspec_set_family:Nnn}
+% \begin{syntax}
+% \verb|\fontspec_set_family:Nnn| \meta{family} \Arg{features} \Arg{font name}
+% \end{syntax}
+% Defines a new NFSS font family from given \meta{features} and \meta{font},
+% and stores the name in the token list variable \meta{family}.
+% See the standard \pkg{fontspec} user commands for applications of this
+% function.
+% \end{function}
+%
+% \begin{function}{\fontspec_gset_fontface:NNnn,\fontspec_set_fontface:NNnn}
+% \begin{syntax}
+% \verb|\fontspec_set_fontface:NNnn| \meta{face} \meta{family} \Arg{features} \Arg{font name}
+% \end{syntax}
+% As for |\fontspec_set_family:Nnn| but with a single font face only.
+% (E.g., no bold, italic shapes, etc.)
+% The control sequence \meta{face} is a primitive \TeX\ font command.
+% \end{function}
+%
+% \subsection{Conditionals}
+%
+% \begin{function}[TF]{\fontspec_font_if_exist:n}
+% \begin{syntax}
+% \verb|\fontspec_font_if_exist:nTF| \Arg{font name} Arg{true code} \Arg{false code}
+% \end{syntax}
+% Does this font exist? The font name can refer to the `logical' name or to a filename with known font extension.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_fontspec_font:}
+% \begin{syntax}
+% \verb|\fontspec_if_fontspec_font:TF| \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_aat_feature:nn}
+% \begin{syntax}
+% \verb|\fontspec_if_aat_feature:nnTF| \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_opentype:}
+% \begin{syntax}
+% \verb|\fontspec_if_opentype:TF| \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_feature:n}
+% \begin{syntax}
+% \verb|\fontspec_if_feature:nTF| \Arg{feat tag} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Check if the raw OpenType \meta{feature tag} is available in the current font with
+% script and language settings as set up when the font was loaded.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_feature:nnn}
+% \begin{syntax}
+% \verb|\fontspec_if_feature:nnnTF| \Arg{script tag} \Arg{lang tag} \Arg{feat tag} \Arg{true code} \Arg{false code}\\
+% |\fontspec_if_feature:nTF {latn} {ROM} {pnum} {True} {False}|
+% \end{syntax}
+% Test whether the currently selected font with raw OpenType \meta{script tag} and
+% raw OpenType \meta{language tag} contains the raw OpenType \meta{feature tag}.
+% Returns false if the font is not loaded by fontspec or is not an OpenType
+% font.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_script:n}
+% \begin{syntax}
+% \verb|\fontspec_if_script:nTF| \Arg{script tag} \Arg{true code} \Arg{false code}\\
+% |\fontspec_if_script:nTF {latn} {True} {False}|
+% \end{syntax}
+% Test whether the currently selected font contains the raw OpenType
+% \meta{script tag}.
+%
+% Returns false if the font is not loaded by fontspec or is not an OpenType
+% font.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_language:n}
+% \begin{syntax}
+% \verb|\fontspec_if_language:nTF| \Arg{lang tag} \Arg{true code} \Arg{false code}\\
+% |\fontspec_if_language:nTF {ROM} {True} {False}|
+% \end{syntax}
+% Check if the raw OpenType \meta{language tag} is available in the current font with
+% script settings as set up when the font was loaded.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_language:nn}
+% \begin{syntax}
+% \verb|\fontspec_if_language:nnTF| \Arg{script tag} \Arg{lang tag} \Arg{true code} \Arg{false code}\\
+% |\fontspec_if_language:nnTF {cyrl} {SRB} {True} {False}|
+% \end{syntax}
+% Test whether the currently selected font contains the raw OpenType \meta{language
+% tag} in \meta{script tag}.
+%
+% Returns false if the font is not loaded by fontspec or is not an OpenType font.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_current_script:n}
+% Test whether the currently loaded font has been loaded with the specified raw
+% OpenType \meta{script tag}.
+% \begin{syntax}
+% \verb|\fontspec_if_current_script:nTF| \Arg{script tag} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_current_language:n}
+% Test whether the currently loaded font has been loaded with the specified raw
+% OpenType \meta{language tag}.
+% \begin{syntax}
+% \verb|\fontspec_if_current_language:nTF| \Arg{lang tag} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_current_feature:n}
+% \begin{syntax}
+% \verb|\fontspec_if_current_feature:nTF| \Arg{feat tag} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Test whether the currently loaded font is using the specified raw
+% OpenType \meta{feature tag}.
+% \end{function}
+%
+% \begin{function}[TF]{\fontspec_if_small_caps:}
+% Test whether the current font has small caps available.
+% \begin{syntax}
+% \verb|\fontspec_if_small_caps:TF| \Arg{true code} \Arg{false code}
+% \end{syntax}
+% \end{function}
+%
+%
+%
+% \section{Implementation}
+%
+% \begin{macro}[TF]{\fontspec_if_fontspec_font:}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_fontspec_font: {TF,T,F}
{
@@ -34,7 +167,7 @@
% \end{macro}
%
%
-% \begin{macro}{\fontspec_if_aat_feature:nnTF}
+% \begin{macro}[TF]{\fontspec_if_aat_feature:nn}
% Conditional to test if the currently selected font contains the \AAT\
% feature (|#1|,|#2|).
% \begin{macrocode}
@@ -60,7 +193,7 @@
% \end{macro}
%
%
-% \begin{macro}{\fontspec_if_opentype:TF}
+% \begin{macro}[TF]{\fontspec_if_opentype:}
% Test whether the currently selected font is an OpenType font.
% Always true for LuaTeX fonts.
% \begin{macrocode}
@@ -78,7 +211,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_feature:nTF}
+% \begin{macro}[TF]{\fontspec_if_feature:n}
% Test whether the currently selected font contains the raw OpenType
% feature |#1|. E.g.: |\fontspec_if_feature:nTF {pnum} {True} {False}|
% Returns false if the font is not loaded by fontspec or is not an OpenType
@@ -100,7 +233,7 @@
\prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-tag} \l_@@_script_tl
\prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {lang-tag} \l_@@_lang_tl
- \@@_check_ot_feat:NnTF \font {#1} {\prg_return_true:} {\prg_return_false:}
+ \@@_check_ot_feat:NnnnTF \font {#1} {\l_@@_lang_tl} {\l_@@_script_tl} {\prg_return_true:} {\prg_return_false:}
}
{
\prg_return_false:
@@ -113,12 +246,10 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_feature:nnnTF}
-% Test whether the currently selected font with raw OpenType script tag |#1| and
-% raw OpenType language tag |#2| contains the raw OpenType feature tag |#3|.
-% E.g.:\\ | \fontspec_if_feature:nTF {latn} {ROM} {pnum} {True} {False}|
-% Returns false if the font is not loaded by fontspec or is not an OpenType
-% font.
+% \begin{macro}[TF]{\fontspec_if_feature:nnn}
+% \darg{script tag}
+% \darg{language tag}
+% \darg{feature tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_feature:nnn {TF,T,F}
{
@@ -136,11 +267,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_script:nTF}
-% Test whether the currently selected font contains the raw OpenType
-% script |#1|. E.g.: |\fontspec_if_script:nTF {latn} {True} {False}|
-% Returns false if the font is not loaded by fontspec or is not an OpenType
-% font.
+% \begin{macro}[TF]{\fontspec_if_script:n}
+% \darg{script tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_script:n {TF,T,F}
{
@@ -158,11 +286,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_language:nTF}
-% Test whether the currently selected font contains the raw OpenType language
-% tag |#1|. E.g.: |\fontspec_if_language:nTF {ROM} {True} {False}|.
-% Returns false if the font is not loaded by fontspec or is not an OpenType
-% font.
+% \begin{macro}[TF]{\fontspec_if_language:n}
+% \darg{lang tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_language:n {TF,T,F}
{
@@ -184,11 +309,9 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_language:nnTF}
-% Test whether the currently selected font contains the raw OpenType language
-% tag |#2| in script |#1|. E.g.: |\fontspec_if_language:nnTF {cyrl} {SRB} {True} {False}|.
-% Returns false if the font is not loaded by fontspec or is not an OpenType
-% font.
+% \begin{macro}[TF]{\fontspec_if_language:nn}
+% \darg{script tag}
+% \darg{lang tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_language:nn {TF,T,F}
{
@@ -207,9 +330,8 @@
% \end{macro}
%
%
-% \begin{macro}{\fontspec_if_current_script:nTF}
-% Test whether the currently loaded font is using the specified raw
-% OpenType script tag |#1|.
+% \begin{macro}[TF]{\fontspec_if_current_script:n}
+% \darg{script tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_current_script:n {TF,T,F}
{
@@ -229,9 +351,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_current_language:nTF}
-% Test whether the currently loaded font is using the specified raw
-% OpenType language tag |#1|.
+% \begin{macro}[TF]{\fontspec_if_current_language:n}
+% \darg{lang tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_current_language:n {TF,T,F}
{
@@ -252,28 +373,22 @@
% \end{macro}
%
%
-% \begin{macro}{\fontspec_set_family:Nnn}
+% \begin{macro}{\fontspec_gset_family:Nnn,\fontspec_set_family:Nnn}
% \darg{family}
% \darg{fontspec features}
-% \darg{font name}
-% Defines a new font family from given \meta{features} and \meta{font},
-% and stores the name in the variable \meta{family}.
-% See the standard \pkg{fontspec} user commands for applications of this
-% function.
-%
-% We want to store the actual name of the font family within the \meta{family}
-% variable because the actual \LaTeX\ family name is automatically generated
-% by fontspec and it's easier to keep it that way.
+% \darg{font}
% \begin{macrocode}
\cs_new:Nn \@@_tl_new_if_free:N { \tl_if_exist:NF #1 { \tl_new:N #1 } }
\cs_new:Nn \@@_set_family:NnnN
{
+%<debug>\typeout{::::::~fontspec_set_family:Nnn}
\tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} % reset
\tl_set:Nn \l_@@_family_label_tl {#1}
\@@_select_font_family:nn {#2} {#3}
\@@_tl_new_if_free:N #1
#4 #1 \l_fontspec_family_tl
\tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} % reset
+%<debug>\typeout{::::::~END~fontspec_set_family:Nnn}
}
\cs_new:Nn \fontspec_gset_family:Nnn { \@@_set_family:NnnN #1 {#2} {#3} \tl_gset_eq:NN }
\cs_new:Nn \fontspec_set_family:Nnn { \@@_set_family:NnnN #1 {#2} {#3} \tl_set_eq:NN }
@@ -285,7 +400,7 @@
% \end{macro}
%
%
-% \begin{macro}{\fontspec_set_fontface:NNnn}
+% \begin{macro}{\fontspec_gset_fontface:NNnn,\fontspec_set_fontface:NNnn}
% TODO: the round-about approach of using \cs{fontname}
% means that settings such as fontdimens will be lost.
% (Discovered in unicode-math.) Investigate!
@@ -307,7 +422,7 @@
%
%
%
-% \begin{macro}{\fontspec_font_if_exist:n}
+% \begin{macro}[TF]{\fontspec_font_if_exist:n}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_font_if_exist:n {TF,T,F}
{
@@ -325,9 +440,8 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\fontspec_if_current_feature:nTF}
-% Test whether the currently loaded font is using the specified raw
-% OpenType feature tag |#1|.
+% \begin{macro}[TF]{\fontspec_if_current_feature:n}
+% \darg{feat tag}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_current_feature:n {TF,T,F}
{
@@ -340,7 +454,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\fontspec_if_small_caps:TF}
+% \begin{macro}[TF]{\fontspec_if_small_caps:}
% \begin{macrocode}
\prg_new_conditional:Nnn \fontspec_if_small_caps: {TF,T,F}
{
@@ -376,10 +490,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-closing.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-closing.dtx
index 91b5ebb7ee..e03d8a6ff6 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-closing.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-closing.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-closing.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-closing.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Closing code}
%
@@ -30,10 +30,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
index 17434643e0..02df7a7f09 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-enc.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-enc.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Extended font encodings}
%
@@ -144,10 +144,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-feat-aat.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-feat-aat.dtx
index fdffc058e5..b7fd11cc69 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-feat-aat.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-feat-aat.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-feat-aat.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-feat-aat.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{AAT feature definitions}
%
@@ -229,10 +229,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-feat-opentype.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-feat-opentype.dtx
index c48e40deb0..b4d5db73f3 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-feat-opentype.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-feat-opentype.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-feat-opentype.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-feat-opentype.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{OpenType feature definitions}
%
@@ -56,13 +56,26 @@
\@@_define_opentype_feature_group:n {Letters}
\@@_define_opentype_feature:nnnnn {Letters} {ResetAll} {} {}
{
- +case,+smcp,+pcap,+c2sc,+c2pc,+unic,+rand,
- -case,-smcp,-pcap,-c2sc,-c2pc,-unic,-rand
+%<LU> +lower,-lower,+upper,-upper,+case,+cpsp,
+ +smcp,+pcap,+c2sc,+c2pc,+unic,+rand,
+ -smcp,-pcap,-c2sc,-c2pc,-unic,-rand
}
% \end{macrocode}
%
% \begin{macrocode}
-\@@_define_opentype_onoffreset:nnnnn {Letters} {Uppercase} {case} {case} {}
+%<*LU>
+\keys_define:nn {fontspec-opentype}
+ {
+ Letters / Uppercase .code:n = {
+ \@@_make_OT_feature:nnn {} {+upper} {+lower}
+ \@@_make_OT_feature:nnn {} {+case} {}
+ \@@_make_OT_feature:nnn {} {+cpsp} {}
+ },
+ }
+\@@_define_opentype_feature:nnnnn {Letters} {UppercaseOff} {} {-upper} {+case,+cpsp}
+\@@_define_opentype_feature:nnnnn {Letters} {UppercaseReset} {} {} {+upper,-upper}
+\@@_define_opentype_onoffreset:nnnnn {Letters} {Lowercase} {} {lower} {+upper,+case,+cpsp}
+%</LU>
\@@_define_opentype_onoffreset:nnnnn {Letters} {SmallCaps} {smcp} {smcp} {+pcap,+unic}
\@@_define_opentype_onoffreset:nnnnn {Letters} {PetiteCaps} {pcap} {pcap} {+smcp,+unic}
\@@_define_opentype_onoffreset:nnnnn {Letters} {UppercaseSmallCaps} {c2sc} {c2sc} {+c2pc,+unic}
@@ -457,30 +470,62 @@
\clist_map_break:
}
}
-
+% \end{macrocode}
+% If not found give a warning but load it anyway:
+% \begin{macrocode}
\bool_if:NF \l_@@_scriptlang_exist_bool
{
%<debug>\typeout{Script~not~found!}
- \bool_if:nF { \str_if_eq_p:ee {#1} {CustomDefault} }
+ \@@_info:nxx {script-not-exist} {\l_fontspec_fontname_tl} {#1}
+ \clist_set:Nn \l_tmpa_clist {#2}
+ \clist_get:NN \l_tmpa_clist \l_@@_script_tl
+ \exp_args:Noo \@@_check_script:NnF \l_@@_fontface_cs_tl \l_@@_script_tl
{
- \tl_clear:N \l_@@_script_name_tl
- \@@_warning:nxx {no-script} {\l_fontspec_fontname_tl} {#1}
- }
-
- \bool_if:nF
- {
- \str_if_eq_p:ee {#1} {Default} ||
- \str_if_eq_p:ee {#1} {Latin} ||
- \str_if_eq_p:ee {#1} {CustomDefault}
- }
- {
- \keys_set:nn {fontspec-opentype} { Script = CustomDefault }
+ \tl_set:Nn \l_@@_script_name_tl {#1}
+ \int_set:Nn \l_@@_script_int {\l_@@_strnum_int}
+ \tl_gset:Nx \g_@@_single_feat_tl { script=\l_@@_script_tl }
}
}
}
}
}
% \end{macrocode}
+% When script is not explicitly requested, use this list:
+% \begin{macrocode}
+\clist_new:N \g_@@_default_scripts_clist
+\cs_new:Nn \fontspec_default_script:n
+ {
+ \clist_gset:Nn \g_@@_default_scripts_clist {#1}
+ }
+\fontspec_default_script:n {latn,DFLT}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_define:nn {fontspec-opentype} { Script / CustomDefault .code:n =
+ {
+%<debug>\typeout{Trying~CustomDefault~Script}
+ \bool_set_false:N \l_@@_scriptlang_exist_bool
+ \clist_map_inline:Nn \g_@@_default_scripts_clist
+ {
+ \exp_args:No \@@_check_script:NnT \l_@@_fontface_cs_tl {##1}
+ {
+%<debug>\typeout{Script~tag~found:~##1}
+ \tl_set:Nn \l_@@_script_name_tl {Default (##1)}
+ \tl_set:Nn \l_@@_script_tl {##1}
+ \int_set:Nn \l_@@_script_int {\l_@@_strnum_int}
+ \bool_set_true:N \l_@@_scriptlang_exist_bool
+ \tl_gset:Nx \g_@@_single_feat_tl { script=##1 }
+ \clist_map_break:
+ }
+ }
+ \bool_if:NF \l_@@_scriptlang_exist_bool
+ {
+%<debug>\typeout{Script~not~found!}
+ \tl_clear:N \l_@@_script_name_tl
+ }
+ }
+}
+% \end{macrocode}
%
%
% \subsection{Language}
@@ -507,10 +552,21 @@
\clist_map_break:
}
}
+% \end{macrocode}
+% If not found give a warning but load it anyway:
+% \begin{macrocode}
\bool_if:NF \l_@@_scriptlang_exist_bool
{
- \@@_warning:nx {language-not-exist} {#1}
- \keys_set:nn {fontspec-opentype} { Language = Default }
+%<debug>\typeout{Lang~not~found!}
+ \@@_info:nx {language-not-exist} {#1}
+ \clist_set:Nn \l_tmpa_clist {#2}
+ \clist_get:NN \l_tmpa_clist \l_@@_lang_tl
+ \exp_args:Noo \@@_check_lang:NnF \l_@@_fontface_cs_tl \l_@@_lang_tl
+ {
+ \tl_set:Nn \l_@@_lang_name_tl {#1}
+ \int_set:Nn \l_@@_language_int {\l_@@_strnum_int}
+ \tl_gset:Nx \g_@@_single_feat_tl { language=\l_@@_lang_tl }
+ }
}
}
}
@@ -523,6 +579,12 @@
% language is hardcoded to have a zero value,
% although this might be some \XeTeX-specific thing.
% \begin{macrocode}
+\clist_new:N \g_@@_default_langs_clist
+\cs_new:Nn \fontspec_default_lang:n
+ {
+ \clist_gset:Nn \g_@@_default_langs_clist {#1}
+ }
+\fontspec_default_lang:n {dflt}
\@@_keys_define_code:nnn {fontspec-opentype} { Language / Default }
{
\tl_set:Nn \l_@@_lang_tl {dflt}
@@ -569,10 +631,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx
index 12dc8472df..4b365150a2 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-fontload.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-fontload.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{expl3 interface for primitive font loading}
%
@@ -122,10 +122,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx
index f794f469e1..1aed91f4bb 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-graphite.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-graphite.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Graphite/AAT code}
%
@@ -114,10 +114,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-interfaces.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-interfaces.dtx
index 09c855905d..ef521b63fc 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-interfaces.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-interfaces.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-interfaces.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-interfaces.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{User commands}\label{sec:codeuser}
%
@@ -282,10 +282,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx
index b45a7d3c6c..b454143ef5 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-internal.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-internal.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Internals}
%
@@ -37,9 +37,11 @@
\@@_font_suppress_not_found_error:
\@@_init:
- \@@_sanitise_fontname:Nn \l_fontspec_fontname_tl {#2}
- \@@_sanitise_fontname:Nn \l_@@_fontname_up_tl {#2}
- \@@_sanitise_fontname:Nn \l_@@_basename_tl {#2}
+ \@@_sanitise_fontname:Nn \l_fontspec_fontname_tl {#2}
+ \tl_set_eq:NN \l_@@_fontname_up_tl \l_fontspec_fontname_tl
+ \tl_set_eq:NN \l_@@_basename_tl \l_fontspec_fontname_tl
+
+%<debug>\typeout{^^J::::::::::::::: l_fontspec_fontname_tl~ =~ \l_fontspec_fontname_tl }
\@@_if_detect_external:nT {#2}
{ \keys_set:nn {fontspec-preparse-external} {Path} }
@@ -55,6 +57,11 @@
%<debug>\typeout{fontid: \l_@@_fontid_tl}
\@@_preparse_features:
+
+%<debug>\typeout{^^J::::::::::::::: l_fontspec_fontname_tl~ =~ \l_fontspec_fontname_tl }
+%<debug>\typeout{::::::::::::::: _fontname_up_tl~ =~ \l_@@_fontname_up_tl }
+%<debug>\typeout{::::::::::::::: l_@@_extension_tl~ =~ \l_@@_extension_tl }
+
\@@_load_font:
\@@_set_scriptlang:
\@@_get_features:n {}
@@ -71,6 +78,7 @@
\group_end:
\tl_set_eq:NN \l_fontspec_family_tl \g_@@_nfss_family_tl
+%<debug>\typeout{::::::::::::::::::::::::::::::}
}
% \end{macrocode}
% \end{macro}
@@ -84,19 +92,24 @@
%
% \begin{macro}{\@@_sanitise_fontname:Nn}
% Assigns font name |#2| to token list variable |#1| and strips extension(s) from it in the case of an external font.
-% We strip spaces for luatex for consistency with luaotfload, although I'm not sure this is necessary any more.
-% At one stage this also lowercased the name, but this step has been removed unless someone can remind me why it was necessary.
% \begin{macrocode}
\cs_new:Nn \@@_sanitise_fontname:Nn
{
\tl_set:Nx #1 {#2}
-%<LU> \tl_remove_all:Nn #1 {~}
+ \tl_trim_spaces:N #1
+ \@@_process_ext:N #1
+ }
+
+\cs_new:Nn \@@_process_ext:N
+ {
\clist_map_inline:Nn \l_@@_extensions_clist
{
\tl_if_in:NnT #1 {##1}
{
+%<debug> \typeout{::@@_process_ext:N~ --~ Removing~ EXT:~ ##1}
\tl_remove_once:Nn #1 {##1}
\tl_set:Nn \l_@@_extension_tl {##1}
+ \@@_font_is_file:
\clist_map_break:
}
}
@@ -130,9 +143,9 @@
{
\str_if_eq:eeT { \str_lowercase:f {\l_@@_extension_tl} } {.ttc}
{
- \@@_sanitise_fontname:Nn \l_@@_fontname_it_tl {#1}
- \@@_sanitise_fontname:Nn \l_@@_fontname_bf_tl {#1}
- \@@_sanitise_fontname:Nn \l_@@_fontname_bfit_tl {#1}
+ \tl_set_eq:NN \l_@@_fontname_it_tl \l_fontspec_fontname_tl
+ \tl_set_eq:NN \l_@@_fontname_bf_tl \l_fontspec_fontname_tl
+ \tl_set_eq:NN \l_@@_fontname_bfit_tl \l_fontspec_fontname_tl
}
}
% \end{macrocode}
@@ -141,7 +154,9 @@
% \begin{macro}{\@@_load_external_fontoptions:N}
% Load a possible \texttt{.fontspec} font configuration file.
% This file could set font-specific options for the font about to be loaded.
-% The parameter should be a tokenlist containing a sanitised fontname.
+% The parameter should be a token list containing a sanitised fontname.
+% In the past this used a space-stripped version of the name, so we check for the file
+% both with and without spaces to load it.
% \begin{macrocode}
\cs_new:Nn \@@_load_external_fontoptions:N
{
@@ -152,8 +167,15 @@
\tl_remove_all:Nn \l_@@_ext_filename_tl {~}
\prop_if_in:NVF \g_@@_fontopts_prop #1
{
- \exp_args:No \file_if_exist:nT { \l_@@_ext_filename_tl }
- { \file_input:n { \l_@@_ext_filename_tl } }
+ \exp_args:No \file_if_exist:nTF { \l_@@_ext_filename_tl }
+ {
+ \file_input:n { \l_@@_ext_filename_tl }
+ }
+ {
+ \tl_remove_all:Nn \l_@@_ext_filename_tl {~}
+ \exp_args:No \file_if_exist:nT { \l_@@_ext_filename_tl }
+ { \file_input:n { \l_@@_ext_filename_tl } }
+ }
}
}
}
@@ -231,7 +253,8 @@
{
%<debug>\typeout{:: @@_load_font}
-%<debug>\typeout{Set~ base~ font~ for~ preliminary~ analysis: \@@_construct_font_call:nn { \l_@@_fontname_up_tl } {} }
+ \@@_sanitise_fontname:Nn \l_@@_fontname_up_tl { \l_@@_fontname_up_tl }
+%<debug>\typeout{Set~ base~ font~ for~ preliminary~ analysis:~ "\l_@@_fontname_up_tl"~ with~ features~ "\l_@@_pre_feat_sclist" }
\@@_primitive_font_set:NnnF \l_@@_test_font
{ \@@_construct_font_call:nn { \l_@@_fontname_up_tl } { \l_@@_pre_feat_sclist } }
{ \f@size pt - 2sp }
@@ -282,7 +305,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_font_is_file:,\@@_font_is_name:,\@@_font_is_kpse:}
+% \begin{macro}{\@@_font_is_file:,\@@_font_is_name:}
% The \cs{@@_fontname_wrap:n} command takes the font name and either passes it through unchanged or wraps it in the syntax for loading a font `by filename'.
% For Lua\TeX\ there are two kinds kinds of filename based loading supported: Regular filename lookups which include system fonts and lookups restricted to kpse.
% \begin{macrocode}
@@ -296,18 +319,16 @@
% \begin{macrocode}
\cs_new:Nn \@@_font_is_file:
{
- \cs_set:Npn \@@_fontname_wrap:n ##1 { [ \l_@@_font_path_tl ##1 ] }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*LU>
-\cs_new:Nn \@@_font_is_kpse:
- {
- \cs_set:Npn \@@_fontname_wrap:n ##1 { kpse: ##1 }
+%<debug> \typeout{:: _font_is_file:}
+ \bool_set_true:N \l_@@_external_bool
+ \bool_lazy_and:nnTF { \l_@@_external_kpse_bool } { \tl_if_empty_p:N \l_@@_font_path_tl }
+ {
+ \cs_set:Npn \@@_fontname_wrap:n ##1 { kpse: ##1 }
+ }
+ {
+ \cs_set:Npn \@@_fontname_wrap:n ##1 { [ \l_@@_font_path_tl ##1 ] }
+ }
}
-%</LU>
-%<XE>\cs_new_eq:NN \@@_font_is_kpse: \@@_font_is_file:
% \end{macrocode}
% \end{macro}
%
@@ -324,8 +345,8 @@
\tl_if_empty:NF \l_@@_script_name_tl
{
%<debug> \typeout{:::: Script=\l_@@_script_name_tl, Language=\l_@@_lang_name_tl}
- \keys_set:nx {fontspec-opentype} {Script=\l_@@_script_name_tl}
- \keys_set:nx {fontspec-opentype} {Language=\l_@@_lang_name_tl}
+ \keys_set:ne {fontspec-opentype} {Script=\l_@@_script_name_tl}
+ \keys_set:ne {fontspec-opentype} {Language=\l_@@_lang_name_tl}
}
}
}
@@ -353,17 +374,17 @@
\bool_if:NTF \l_@@_ot_bool
{
%<debug> \typeout{::: Setting~ keys~ for~ OpenType~ font~ features:~"\l_@@_keys_leftover_clist"}
- \keys_set:nV {fontspec-opentype} \l_@@_keys_leftover_clist
+ \keys_set_known:nV {fontspec-opentype} \l_@@_keys_leftover_clist
}
{
%<debug> \typeout{::: Setting~ keys~ for~ AAT/Graphite~ font~ features:~"\l_@@_keys_leftover_clist"}
\bool_if:nT { \l_@@_atsui_bool || \l_@@_graphite_bool }
- { \keys_set:nV {fontspec-aat} \l_@@_keys_leftover_clist }
+ { \keys_set_known:nV {fontspec-aat} \l_@@_keys_leftover_clist }
}
%</XE>
%<*LU>
%<debug> \typeout{::: Setting~ keys~ for~ OpenType~ font~ features:~"\l_@@_keys_leftover_clist"}
- \keys_set:nV {fontspec-opentype} \l_@@_keys_leftover_clist
+ \keys_set_known:nV {fontspec-opentype} \l_@@_keys_leftover_clist
%</LU>
\tl_if_empty:NF \l_@@_mapping_tl
@@ -523,6 +544,7 @@
% \begin{macrocode}
\cs_new:Nn \@@_set_faces_aux:nnnnn
{
+%<debug> \typeout{:: @@_set_faces_aux:nnnnn \exp_not:n { {#1} {#2} {#3} {#4} {#5} } }
\fontspec_complete_fontname:Nn \l_@@_curr_fontname_tl {#3}
\@@_make_font_shapes:Nnnnn \l_@@_curr_fontname_tl {#1} {#2} {#4} {#5}
}
@@ -537,8 +559,10 @@
\cs_new:Nn \fontspec_complete_fontname:Nn
{
\tl_set:Nx #1 {#2}
- \tl_replace_all:Nnx #1 {*} {\l_@@_basename_tl}
-%<LU> \tl_remove_all:Nn #1 {~}
+ \tl_if_in:NnF \l_fontspec_fontname_tl {*}
+ {
+ \tl_replace_all:Nne #1 {*} {\l_@@_basename_tl}
+ }
}
% \end{macrocode}
% \end{macro}
@@ -553,13 +577,13 @@
{
\tl_set:Nx \l_@@_this_font_tl {#3}
- \tl_if_empty:xTF {#4}
+ \tl_if_empty:eTF {#4}
{ \clist_set:Nn \l_@@_sizefeat_clist {Size={-}} }
{ \@@_keys_set_known:nxN {fontspec-preparse-nested} {#4} \l_@@_tmp_tl }
\tl_if_empty:NF \l_@@_this_font_tl
{
- \prop_put:Nxx \l_@@_nfssfont_prop {#1/#2}
+ \prop_put:Nee \l_@@_nfssfont_prop {#1/#2}
{ {#1}{#2}{\l_@@_this_font_tl}{#4}{\l_@@_sizefeat_clist} }
}
}
@@ -642,7 +666,7 @@
{
\bool_if:NF \l_@@_external_bool
{
- \tl_if_empty:xF {#2}
+ \tl_if_empty:eF {#2}
{
\tl_if_empty:NT #1
{
@@ -756,14 +780,14 @@
\tl_clear:N \l_@@_size_tl
\tl_set_eq:NN \l_@@_sizedfont_tl \l_@@_saved_fontname_tl % in case not spec'ed
- \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 }
+ \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #2 }
\l_@@_sizing_leftover_clist
\tl_if_empty:NT \l_@@_size_tl { \@@_error:n {no-size-info} }
%<debug>\typeout{==~ size:~\l_@@_size_tl}
% "normal"
\@@_load_fontname:Nn \l_fontspec_fontname_tl {\l_@@_sizedfont_tl}
- \@@_setup_nfss:Nnnn \l_@@_nfss_tl {#1} {\l_@@_sizing_leftover_clist} {}
+ \@@_setup_nfss:Nn \l_@@_nfss_tl { #1 , \l_@@_sizing_leftover_clist }
%<debug> \typeout{===~ sized~ font:~ \l_@@_sizedfont_tl}
% small caps
@@ -788,20 +812,22 @@
\bool_if:NF \l_@@_nosc_bool
{
- \@@_setup_nfss:Nnnn \l_@@_nfss_sc_tl
- {#1} {\l_@@_sizing_leftover_clist} {\l_@@_fontfeat_curr_clist}
+ \@@_setup_nfss:Nn \l_@@_nfss_sc_tl
+ {#1 , \l_@@_sizing_leftover_clist , \l_@@_fontfeat_curr_clist}
}
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_setup_nfss:Nnnn}
+% \begin{macro}{\@@_setup_nfss:Nn}
% \begin{macrocode}
-\cs_new:Nn \@@_setup_nfss:Nnnn
+\cs_new:Nn \@@_setup_nfss:Nn
{
%<debug>\typeout{====~Setup~NFSS~shape:~<\l_@@_size_tl>~\l_fontspec_fontname_tl}
+%<debug>\typeout{====~Requested~features:~#2}
+
+ \@@_get_features:n { #2 }
- \@@_get_features:n { #2 , #3 , #4 }
%<debug>\typeout{====~Gathered~features:~\g_@@_rawfeatures_sclist \@@_get_variations:}
\tl_if_empty:NF \l_@@_scale_tl
@@ -952,22 +978,25 @@
} (#1/#2)~
with~ NFSS~ spec.:~
\l_@@_nfss_tl
- \exp_not:n { \\ }
- -~ \exp_not:N \str_case:nn { #1 / \@@_combo_sc_shape:n {#2} }
- {
- {\mddefault/\scdefault} {'small~ caps'~}
- {\bfdefault/\scdefault} {'bold~ small~ caps'~}
- {\mddefault/\scitdefault} {'italic~ small~ caps'~}
- {\bfdefault/\scitdefault} {'bold~ italic~ small~ caps'~}
- {\mddefault/\scsldefault} {'slanted~ small~ caps'~}
- {\bfdefault/\scsldefault} {'bold~ slanted~ small~ caps'~}
- }~( #1 / \@@_combo_sc_shape:n {#2} )~
- with~ NFSS~ spec.:~
- \l_@@_nfss_sc_tl
- \tl_if_empty:fF {\l_@@_postadjust_tl}
+ \tl_if_empty:NF \l_@@_nfss_sc_tl
{
- \exp_not:N \\ and~ font~ adjustment~ code:
- \exp_not:N \\ \l_@@_postadjust_tl
+ \exp_not:n { \\ }
+ -~ \exp_not:N \str_case:nn { #1 / \@@_combo_sc_shape:n {#2} }
+ {
+ {\mddefault/\scdefault} {'small~ caps'~}
+ {\bfdefault/\scdefault} {'bold~ small~ caps'~}
+ {\mddefault/\scitdefault} {'italic~ small~ caps'~}
+ {\bfdefault/\scitdefault} {'bold~ italic~ small~ caps'~}
+ {\mddefault/\scsldefault} {'slanted~ small~ caps'~}
+ {\bfdefault/\scsldefault} {'bold~ slanted~ small~ caps'~}
+ }~( #1 / \@@_combo_sc_shape:n {#2} )~
+ with~ NFSS~ spec.:~
+ \l_@@_nfss_sc_tl
+ \tl_if_empty:fF {\l_@@_postadjust_tl}
+ {
+ \exp_not:N \\ and~ font~ adjustment~ code:
+ \exp_not:N \\ \l_@@_postadjust_tl
+ }
}
}
}
@@ -1004,16 +1033,30 @@
% \end{macro}
%
%
+% \begin{macro}{\@@_make_smallcaps:TF}
% \begin{macro}{\@@_make_ot_smallcaps:TF}
% \label{mac:makesmallcaps}
% This macro checks if the font contains small caps.
% \begin{macrocode}
-%<LU>\cs_new:Nn \@@_make_smallcaps:TF
-%<XE>\cs_new:Nn \@@_make_ot_smallcaps:TF
+\cs_new:Nn \@@_make_ot_smallcaps:TF
{
- \exp_args:No \@@_check_ot_feat:NnTF \l_@@_fontface_cs_tl {smcp} {#1} {#2}
+ \bool_set_false:N \l_@@_tmpa_bool
+ \exp_args:Ne \clist_map_inline:nn { \l_@@_lang_tl , \g_@@_default_langs_clist }
+ {
+ \exp_args:Ne \clist_map_inline:nn { \l_@@_script_tl , \g_@@_default_scripts_clist }
+ {
+ \exp_args:No \@@_check_ot_feat:NnnnT \l_@@_fontface_cs_tl {smcp} {##1} {####1}
+ {
+%<debug>\typeout{SMCP~found~for~script/lang: ####1/##1~-~assuming~okay}
+ \bool_set_true:N \l_@@_tmpa_bool
+ \clist_map_break:
+ }
+ }
+ }
+ \bool_if:NTF \l_@@_tmpa_bool {#1} {#2}
}
-%<*XE>
+% \end{macrocode}
+% \begin{macrocode}
\cs_new:Nn \@@_make_smallcaps:TF
{
\bool_if:NTF \l_@@_ot_bool
@@ -1026,9 +1069,9 @@
}
}
}
-%</XE>
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_update_featstr:n}
% \cmd{\g_@@_rawfeatures_sclist} is the string used to define the list of specific
@@ -1113,10 +1156,6 @@
\tl_gset_eq:NN \g_@@_nfss_enc_tl \g_fontspec_encoding_tl
%<*LU>
\tl_set:Nn \l_@@_mode_tl {node}
- \int_set:Nn \prehyphenchar { `\- } % fixme
- \int_zero:N \posthyphenchar % fixme
- \int_zero:N \preexhyphenchar % fixme
- \int_zero:N \postexhyphenchar % fixme
%</LU>
}
% \end{macrocode}
@@ -1249,10 +1288,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-keyval.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-keyval.dtx
index 57ff738183..bd83f8556c 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-keyval.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-keyval.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-keyval.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-keyval.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Font loading (\pkg{keyval}) definitions}
%
@@ -61,15 +61,8 @@
{
\bool_set_true:N \l_@@_nobf_bool
\bool_set_true:N \l_@@_noit_bool
- \bool_set_true:N \l_@@_external_bool
\tl_set:Nn \l_@@_font_path_tl {#1}
- \bool_lazy_and:nnTF { \l_@@_external_kpse_bool } { \tl_if_empty_p:N \l_@@_font_path_tl }
- {
- \@@_font_is_kpse:
- }
- {
- \@@_font_is_file:
- }
+ \@@_font_is_file:
%<*XE>
\keys_set:nn {fontspec-renderer} {Renderer=OpenType}
%</XE>
@@ -103,10 +96,7 @@
\@@_keys_define_code:nnn {fontspec-preparse-external} {KpseOnly}
{
\bool_set_true:N \l_@@_external_kpse_bool
- \bool_if:NT \l_@@_external_bool
- {
- \@@_font_is_kpse:
- }
+ \bool_if:NT \l_@@_external_bool \@@_font_is_file:
}
\@@_keys_define_code:nnn {fontspec} {KpseOnly} {}
% \end{macrocode}
@@ -183,7 +173,7 @@
% \begin{macrocode}
\@@_keys_define_code:nnn {fontspec-preparse} {Script}
{
-%<XE> \keys_set:nn {fontspec-renderer} {Renderer=OpenType}
+%<XE> \tl_if_empty:NT \l_@@_renderer_tl { \keys_set:nn {fontspec-renderer} {Renderer=OpenType} }
\tl_set:Nn \l_@@_script_name_tl {#1}
}
% \end{macrocode}
@@ -191,7 +181,7 @@
% \begin{macrocode}
\@@_keys_define_code:nnn {fontspec-preparse} {Language}
{
-%<XE> \keys_set:nn {fontspec-renderer} {Renderer=OpenType}
+%<XE> \tl_if_empty:NT \l_@@_renderer_tl { \keys_set:nn {fontspec-renderer} {Renderer=OpenType} }
\tl_set:Nn \l_@@_lang_name_tl {#1}
}
% \end{macrocode}
@@ -283,12 +273,12 @@
\seq_put_right:Nx \l_@@_bf_series_seq {\bfdefault}
}
- \tl_if_eq:oxT \g_@@_curr_series_tl {\bfdefault}
+ \tl_if_eq:oeT \g_@@_curr_series_tl {\bfdefault}
{
\tl_set_eq:NN \l_@@_fontname_bf_tl \l_@@_curr_bfname_tl
}
- \prop_put:NxV \l_@@_nfss_prop {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl
+ \prop_put:NeV \l_@@_nfss_prop {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl
%<debug>\typeout{Setting~bold~font~"\l_@@_curr_bfname_tl"~with~series~"\g_@@_curr_series_tl"}
@@ -345,7 +335,7 @@
\@@_keys_define_code:nnn {fontspec-preparse} {BoldFeatures}
{
\clist_put_right:Nn \l_@@_fontfeat_bf_clist {#1}
-% \prop_put:NxV \l_@@_nfss_prop
+% \prop_put:NeV \l_@@_nfss_prop
% {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl
}
\@@_keys_define_code:nnn {fontspec-preparse} {ItalicFeatures}
@@ -1015,10 +1005,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-lang.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-lang.dtx
index 1e52fc9d26..fa65a034f8 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-lang.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-lang.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-lang.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-lang.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Font language definitions}
%
@@ -405,10 +405,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-load.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-load.dtx
index db7f370031..3cd40e4f71 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-load.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-load.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{The \texttt{fontspec.sty} loading file}
%
@@ -58,10 +58,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-math.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-math.dtx
index 01d99c8641..7adc65d92f 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-math.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-math.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-math.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-math.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Selecting maths fonts}
% Here, the fonts used in math mode are redefined to correspond to the
@@ -246,10 +246,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx
index 1785437fa0..9def7adde6 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-msg.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-msg.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Error/warning/info messages}
%
@@ -13,7 +13,7 @@
\cs_new:Npn \@@_error:n { \msg_error:nn {fontspec} }
\cs_new:Npn \@@_error:nn { \msg_error:nnn {fontspec} }
\cs_new:Npn \@@_error:nx { \msg_error:nnx {fontspec} }
-\cs_new:Npn \@@_error:nxx { \msg_error:nnxx {fontspec} }
+\cs_new:Npn \@@_error:nxx { \msg_error:nnxx {fontspec} }
\cs_new:Npn \@@_warning:n { \msg_warning:nn {fontspec} }
\cs_new:Npn \@@_warning:nx { \msg_warning:nnx {fontspec} }
\cs_new:Npn \@@_warning:nxx { \msg_warning:nnxx {fontspec} }
@@ -28,9 +28,9 @@
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
\cs_new:Nn \@@_msg_new:nn
- { \msg_new:nnx {fontspec} {#1} { \tl_trim_spaces:n {#2} } }
+ { \msg_new:nnx {fontspec} {#1} { ^^J \tl_trim_spaces:n {#2} } }
\cs_new:Nn \@@_msg_new:nnn
- { \msg_new:nnxx {fontspec} {#1} { \tl_trim_spaces:n {#2} } { \tl_trim_spaces:n {#3} } }
+ { \msg_new:nnxx {fontspec} {#1} { ^^J \tl_trim_spaces:n {#2} } { \tl_trim_spaces:n {#3} } }
\char_set_catcode_space:n {32}
% \end{macrocode}
%
@@ -49,7 +49,10 @@
}
\@@_msg_new:nnn {font-not-found}
{
- The font "#1" cannot be found.
+ The font "#1" cannot be found; this may be but usually is not
+ a fontspec bug. Either there is a typo in the font name/file,
+ the font is not installed (correctly), or there is a bug
+ in the underlying font loading engine (XeTeX/luaotfload).
}
{
A font might not be found for many reasons.\\
@@ -146,26 +149,23 @@
AAT feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
in font '\l_fontspec_fontname_tl'.
}
-\@@_msg_new:nn {icu-feature-not-exist}
- {
- '\l_keys_key_tl=\l_keys_value_tl' feature not supported
- for OpenType font '\l_fontspec_fontname_tl'
- }
-\@@_msg_new:nn {icu-feature-not-exist-in-font}
- {
- OpenType feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
- for font '\l_fontspec_fontname_tl'
- with script '\l_@@_script_name_tl' and language '\l_@@_lang_name_tl'.
- }
\@@_msg_new:nn {no-opticals}
{
'#1' doesn't appear to have an Optical Size axis.
}
+\@@_msg_new:nn {script-not-exist}
+ {
+ Script '#2' not explicitly supported within font '#1'.
+ Check the typeset output, and if it is okay then ignore this warning.
+ Otherwise a different font should be chosen.
+ }
\@@_msg_new:nn {language-not-exist}
{
- Language '#1' not available
- for font '\l_fontspec_fontname_tl'
+ Language '#1' not explicitly supported
+ within font '\l_fontspec_fontname_tl'
with script '\l_@@_script_name_tl'.
+ Check the typeset output, and if it is okay then ignore this warning.
+ Otherwise a different font should be chosen.
}
\@@_msg_new:nn {only-xetex-feature}
{
@@ -203,7 +203,7 @@
The~"#1"~package~option~is~obsolete.~TU~is~the~default~encoding.
}
%</options>
-%<*fontspec>
+%<*fontspec>
\@@_msg_new:nn {font-index-needs-ttc}
{
The "FontIndex" feature is only supported by TTC (TrueType Collection) fonts.\\
@@ -238,10 +238,6 @@
{
Adjusting the maths setup (use [no-math] to avoid this).
}
-\@@_msg_new:nn {no-script}
- {
- Font "#1" does not contain requested Script "#2".
- }
\@@_msg_new:nn {opa-twice}
{
Opacity set twice, in both Colour and Opacity.\\
@@ -278,10 +274,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-opening.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-opening.dtx
index 103fe2addf..7c19c341b3 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-opening.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-opening.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-opening.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-opening.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Opening code}
%
@@ -19,6 +19,7 @@
% \begin{macrocode}
,math .bool_gset:N = \g_@@_math_bool
,math .usage:n = preamble
+ ,math / unknown .code:n = { } % \msg_warning:nnn {fontspec} {math-opt-unknown} {#1}
,no-math .bool_gset_inverse:N = \g_@@_math_bool
,no-math .usage:n = preamble
,config .bool_gset:N = \g_@@_cfg_bool
@@ -45,7 +46,12 @@
\msg_redirect_module:nnn { fontspec } { warning } { warning }
\msg_redirect_module:nnn { fontspec } { info } { info }
}
- }
+ }
+\msg_new:nnn {fontspec} {math-opt-unknown}
+ {
+ The~ global~ option~ 'math=#1'~ is~ not~ recognised.~ It~ will~ be~ ignored.
+ }
+
% \end{macrocode}
%
% \begin{macrocode}
@@ -157,21 +163,10 @@
%
% \begin{macrocode}
\cs_generate_variant:Nn \int_set:Nn {Nv}
-\cs_generate_variant:Nn \keys_set:nn {nx}
-\cs_generate_variant:Nn \keys_set_known:nnN {nx}
-\cs_generate_variant:Nn \prop_put:Nnn {Nxx}
-\cs_generate_variant:Nn \prop_put:Nnn {NxV}
-\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV}
-\cs_generate_variant:Nn \prop_gput:Nnn {Nxn}
-\cs_generate_variant:Nn \prop_get:NnNT {NxN}
-\cs_generate_variant:Nn \prop_get:NnNTF {NxN}
-\cs_generate_variant:Nn \str_if_eq:nnTF {nv}
-\cs_generate_variant:Nn \tl_if_empty_p:n {e}
-\cs_generate_variant:Nn \tl_if_empty:nTF {x}
-\cs_generate_variant:Nn \tl_if_empty:nF {x}
+\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn {NeV}
+\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} % needed by unicode-math
\cs_generate_variant:Nn \tl_if_empty:nF {f}
-\cs_generate_variant:Nn \tl_if_eq:nnT {ox}
-\cs_generate_variant:Nn \tl_replace_all:Nnn {Nnx}
+\cs_generate_variant:Nn \tl_if_eq:nnT {oe}
% \end{macrocode}
%
%
@@ -188,10 +183,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-opentype.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-opentype.dtx
index 1ea0a4eccf..81c1d2b041 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-opentype.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-opentype.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-opentype.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-opentype.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{OpenType definitions code}
%
@@ -127,21 +127,8 @@
\cs_new:Nn \@@_make_OT_feature:nnn
{
%<debug> \typeout{:: @@_make_OT_feature:nnn \exp_not:n { {#1}{#2}{#3} } }
-
- \bool_set_true:N \l_@@_proceed_bool
-
- \tl_if_empty:nF {#1}
- {
- \exp_args:No \@@_check_ot_feat:NnF \l_@@_fontface_cs_tl {#1}
- {
- \@@_warning:nx {icu-feature-not-exist-in-font} {#1}
- \bool_set_false:N \l_@@_proceed_bool
- }
- }
-
\@@_remove_clashing_featstr:x { #2 , \@@_swap_plus_minus:n {#2} , #3 }
-
- \bool_if:NT \l_@@_proceed_bool { \@@_update_featstr:n {#2} }
+ \@@_update_featstr:n {#2}
}
\cs_generate_variant:Nn \@@_make_OT_feature:nnn {xxx}
% \end{macrocode}
@@ -159,7 +146,7 @@
% font. \cmd\l_@@_script_int\ is used to store
% the number corresponding to the script tag string.
% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_check_script:Nn {TF,T}
+\prg_new_conditional:Nnn \@@_check_script:Nn {TF,T,F}
{
%<debug>\typeout{:: _check_script:Nn~#1~/~#2}
\bool_if:NTF \l_@@_never_check_bool
@@ -216,7 +203,7 @@
% The script used is whatever's held in \cmd\l_@@_script_int. By default, that's the
% number corresponding to `|latn|'.
% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_check_lang:Nn {TF}
+\prg_new_conditional:Nnn \@@_check_lang:Nn {TF,F}
{
\@@_check_lang:NnnTF #1 {#2} {\l_@@_script_tl} {\prg_return_true:} {\prg_return_false:}
}
@@ -271,7 +258,6 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_check_ot_feat:NnTF}
% \begin{macro}{\@@_check_ot_feat:NnnnTF}
% This macro takes an OpenType feature tag and checks if it exists in the current
% font/script/language.
@@ -280,15 +266,7 @@
% number corresponding to `|latn|'. The language used is \cmd\l_@@_language_int,
% by default |0|, the `default language'.
% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_check_ot_feat:Nn {TF,F}
- {
- \@@_check_ot_feat:NnnnTF #1 {#2} {\l_@@_lang_tl} {\l_@@_script_tl}
- {\prg_return_true:} {\prg_return_false:}
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\prg_new_conditional:Nnn \@@_check_ot_feat:Nnnn {TF,F}
+\prg_new_conditional:Nnn \@@_check_ot_feat:Nnnn {TF,T,F}
{
\bool_if:NTF \l_@@_never_check_bool
{ \prg_return_true: }
@@ -338,7 +316,6 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \subsection{OpenType feature information}
%
@@ -480,10 +457,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx
index d56a066e7e..1850f25759 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-scripts.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-scripts.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{Font script definitions}
%
@@ -40,7 +40,6 @@
\newfontscript{Cypro-Minoan}{cpmn}
\newfontscript{Cyrillic}{cyrl}
\newfontscript{Default}{DFLT}
-\newfontscript{CustomDefault}{latn,DFLT}
\newfontscript{Deseret}{dsrt}
\newfontscript{Devanagari}{dev2,deva}
\newfontscript{Dives~Akuru}{diak}
@@ -195,10 +194,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-user.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-user.dtx
index d28eda0c2f..6be00dc140 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-user.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-user.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-user.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-user.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
% \section{User command internals}
% \label{sec:codeinternal}
@@ -64,6 +64,7 @@
% \begin{macrocode}
\cs_new:Nn \@@_main_setmainfont:nn
{
+%<debug>\typeout{::~_main_setmainfont:nn}
\ifdefined\DeclareFontSeriesDefault
\DeclareFontSeriesDefault[rm]{bf}{\bfdefault}
\fi
@@ -538,10 +539,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-vars.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-vars.dtx
index bb6d3b4eee..e063936404 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-vars.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-vars.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Declaration of variables}
%
@@ -68,7 +68,6 @@
\bool_new:N \l_@@_scriptlang_exist_bool
\bool_new:N \g_@@_em_normalise_slant_bool
\bool_new:N \l_@@_external_kpse_bool
-\bool_new:N \l_@@_proceed_bool
% \end{macrocode}
%
% \begin{macro}{\l_@@_never_check_bool}
@@ -334,10 +333,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-xfss.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-xfss.dtx
index bac0e57d94..6fdb9f4ad5 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code-xfss.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-xfss.dtx
@@ -1,6 +1,33 @@
-%%^^A%% fontspec-code-xfss.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code-xfss.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
-% \section{Changes to the NFSS}
+% \section{Changes/additions to the NFSS}
+%
+% \begin{function}{\strong, \strongenv}
+% \begin{syntax}
+% "\strong" \marg{text}
+% "\begin{strongenv}" \meta{text} "\end{strongenv}"
+% \end{syntax}
+% Typesets text in the `strong' font. NFSS series equivalent to \cs{emph}. Can be nested.
+% \end{function}
+%
+% \begin{function}{\strongfontdeclare}
+% \begin{syntax}
+% "\strongfontdeclare" \marg{comma-separated font switch declarations}
+% \end{syntax}
+% Define the behaviour of nested \cs{strong} commands.
+% \end{function}
+%
+% \begin{function}{\strongreset}
+% \begin{syntax}
+% "\renewcommand \strongreset" \marg{font switch declarations}
+% \end{syntax}
+% Define the behaviour when a \cs{strong} command is nested deeper than the definitions provided by \cs{strongfontdeclare}.
+% By default this is \meta{empty} --- i.e., bold on top of bold remains bold.
+% In certain circumstances it may be appropriate to reset to a default state.
+% \end{function}
+%
+%
+% \section{Implementation}
%
% \begin{macrocode}
%<*fontspec>
@@ -75,8 +102,8 @@
\clist_map_inline:nn {\strongreset,#1}
{
##1
- \prop_gput_if_new:NxV \g_@@_strong_prop { \f@series } { \l_@@_strongdef_int }
- \prop_gput:Nxn \g_@@_strong_prop { switch-\int_use:N \l_@@_strongdef_int } { ##1 }
+ \prop_gput_if_not_in:NeV \g_@@_strong_prop { \f@series } { \l_@@_strongdef_int }
+ \prop_gput:Nen \g_@@_strong_prop { switch-\int_use:N \l_@@_strongdef_int } { ##1 }
\int_incr:N \l_@@_strongdef_int
}
\group_end:
@@ -91,7 +118,7 @@
\@nomath\strongenv
%<debug> \typeout{Strong~ level:~\int_use:N \l_@@_strong_int}
- \prop_get:NxNT \g_@@_strong_prop { \f@series } \l_@@_strong_tmp_tl
+ \prop_get:NeNT \g_@@_strong_prop { \f@series } \l_@@_strong_tmp_tl
{
\int_set:Nn \l_@@_strong_int { \l_@@_strong_tmp_tl }
%<debug> \typeout{Series~ (\f@series)~ detected;~ new~ level:~\int_use:N \l_@@_strong_int}
@@ -99,7 +126,7 @@
\int_incr:N \l_@@_strong_int
- \prop_get:NxNTF \g_@@_strong_prop { switch-\int_use:N \l_@@_strong_int } \l_@@_strong_switch_tl
+ \prop_get:NeNTF \g_@@_strong_prop { switch-\int_use:N \l_@@_strong_int } \l_@@_strong_switch_tl
{ \l_@@_strong_switch_tl }
{
\int_zero:N \l_@@_strong_int
@@ -111,18 +138,21 @@
% \end{macro}
%
% \begin{macro}{\strong}
-% \begin{macro}{\strongreset}
% \begin{macrocode}
\DeclareTextFontCommand{\strong}{\strongenv}
-\cs_set:Npn \strongreset {}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\strongreset}
+% \begin{macrocode}
+\cs_set:Npn \strongreset {}
+% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\reset@font}
+% \begin{macro}[int]{\reset@font}
% Ensure nesting resets when necessary:
% \begin{macrocode}
-\cs_set:Npn \reset@font
+\cs_set_protected:Npn \reset@font
{
\normalfont
\int_zero:N \l_@@_strong_int
@@ -130,14 +160,10 @@
% \end{macrocode}
% \end{macro}
%
-% Programmer's interface for setting nesting levels:
-% \begin{macrocode}
-\cs_new:Nn \fontspec_set_strong_level:n { \int_set:Nn \l_@@_strong_int {#1} }
-% \end{macrocode}
+% \subsection{Defaults}
%
-% Defaults:
% \begin{macrocode}
-\strongfontdeclare{ \bfseries }
+\strongfontdeclare{\bfseries}
% \end{macrocode}
%
% \begin{macrocode}
@@ -149,10 +175,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code.ltx b/macros/unicodetex/latex/fontspec/fontspec-code.ltx
index 1ec8fe6cd7..64d963af8e 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code.ltx
+++ b/macros/unicodetex/latex/fontspec/fontspec-code.ltx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-code.ltx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-code.ltx -- part of FONTSPEC <latex3.github.io/fontspec>
\ifdefined \XeTeXOTcountscripts \else \makeatletter
\@latex@error{^^J*** The fontspec documentation can only be typeset with `xelatex` ***\@gobble}\@ehc
@@ -28,10 +28,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code.pdf b/macros/unicodetex/latex/fontspec/fontspec-code.pdf
index c11119f627..8c60948f4c 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-code.pdf
+++ b/macros/unicodetex/latex/fontspec/fontspec-code.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-api.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-api.tex
index bdcb1935b3..5f3ff21d54 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-api.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-api.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-api.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-api.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -22,13 +22,11 @@ know.
New \AAT\ features may be created with this command:\par
{\centering\cmd\newAATfeature\marg{feature}\marg{option}\marg{feature code}\marg{selector code}\par}\noindent
Use the \XeTeX\ file \path{AAT-info.tex} to obtain the code numbers.
-See \exref{newAATfeat}.
-
-\begin{Xexample}{newAATfeat}{Assigning new \AAT\ features.}
+\begin{Verbatim}
\newAATfeature{Alternate}{HoeflerSwash}{17}{1}
\fontspec{Hoefler Text Italic}[Alternate=HoeflerSwash]
This is XeTeX by Jonathan Kew.
-\end{Xexample}
+\end{Verbatim}
\DescribeMacro{\newopentypefeature}
@@ -38,7 +36,7 @@ The synonym \cs{newICUfeature} is deprecated.
Here's what it would look like in practise:
\begin{Verbatim}
-\newopentypefeature{Style}{NoLocalForms}{-locl}
+ \newopentypefeature{Style}{NoLocalForms}{-locl}
\end{Verbatim}
\DescribeMacro{\newfontfeature}
@@ -132,9 +130,13 @@ it may be aliased to another with the
such as shown in \exref{alias}.
\begin{Xexample}{alias}{Renaming font features.}
- \aliasfontfeature{ItalicFeatures}{IF}
- \fontspec{Hoefler Text}[IF = {Alternate=1}]
- Roman Letters \itshape And Swash
+ \aliasfontfeature{ItalicFont}{IF}
+ \aliasfontfeature{ItalicFeatures}{IFF}
+ \setmainfont{ EBGaramond-Regular.otf }[
+ IF = EBGaramond-Italic.otf ,
+ IFF = {Style=Swash} ,
+ ]
+ Roman Letters \itshape And Swash
\end{Xexample}
Spaces in feature (and option names, see below) \emph{are} allowed. (You may have
@@ -180,8 +182,8 @@ implemented. But you get the idea.
\DescribeMacro{\l_fontspec_font}
In some cases, it is useful to know what the \LaTeX\ font family
of a specific \pkg{fontspec} font is. After a \cmd\fontspec-like
-command, this is stored inside the \cmd\l_fontspec_family_tl\ macro.
-Otherwise, \LaTeX's own \cmd\f@family\ macro can be useful here,
+command, this is stored inside the \cmd{\l_fontspec_family_tl}\ macro.
+Otherwise, \LaTeX's own \cmd{\f@family} macro can be useful here,
too.
The raw \TeX\ font that is defined from the `base' font in the family is stored in \cmd{\l_fontspec_font}.
@@ -337,10 +339,10 @@ OpenType language tag |#1|.
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-enc.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-enc.tex
index 60da8dbb3a..76cf35fb83 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-enc.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-enc.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-enc.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-enc.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -202,10 +202,10 @@ the process of defining Unicode font range encodings:
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-featset.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-featset.tex
index b95931c52e..076a3c3140 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-featset.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-featset.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-featset.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-featset.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -100,8 +100,8 @@ tabular material to use monospaced numbers, as shown in \exref{aff}.
If you attempt to \emph{change} an already-selected feature, \pkg{fontspec} will try to de-activate any features that clash with the new ones.
\Eg, the following two invocations are mutually exclusive:
\begin{Verbatim}
-\addfontfeature{Numbers=OldStyle}...
-\addfontfeature{Numbers=Lining}...
+\addfontfeatures{Numbers=OldStyle}...
+\addfontfeatures{Numbers=Lining}...
123
\end{Verbatim}
Since |Numbers=Lining| comes last, it takes precedence and deactivates the call |Numbers=OldStyle|.
@@ -109,7 +109,7 @@ Since |Numbers=Lining| comes last, it takes precedence and deactivates the call
If you wish to apply the change to only one of the fonts of a family (say, italics only)
you can write
\begin{Verbatim}
-\addfontfeature{ItalicFeatures={Numbers=Lowercase}}
+\addfontfeatures{ItalicFeatures={Numbers=Lowercase}}
\end{Verbatim}
@@ -157,8 +157,8 @@ features requested.
}
It is entirely possible that separate fonts in a family will require
-separate options; \eg, Hoefler Text Italic contains various swash
-feature options that are completely unavailable in the upright shapes.
+separate options; \eg, certain italic fonts contains various swash
+feature options that are usually unavailable in the upright (`roman') shapes.
The font features defined at the top level of the optional \cmd\fontspec\
argument are applied to \emph{all} shapes of the family.
@@ -240,7 +240,7 @@ Support for TrueType Collections has only been tested in \XeTeX, but should also
\null\quad... \\
\char`\}}
-The \feat{SizeFeature} feature is a little more complicated
+The \feat{SizeFeatures} feature is a little more complicated
than the previous features discussed. It allows different fonts
and different font features to be selected for a given font
family as the point size varies.
@@ -347,9 +347,9 @@ of writing the colours in hexadecimal.
\begin{Verbatim}
\usepackage{xcolor}
...
- \fontspec[Color=red]{Verdana} ...
+ \fontspec[Color=red]{Montserrat-Medium.otf} ...
\definecolor{Foo}{rgb}{0.3,0.4,0.5}
- \fontspec[Color=Foo]{Verdana} ...
+ \fontspec[Color=Foo]{Montserrat-Medium.otf} ...
\end{Verbatim}
You may also use named colours defined with the color commands of the L3
@@ -359,20 +359,20 @@ programming layer:
\color_set:nnn{Foo}{rgb}{0.3,0.4,0.5}
\ExplSyntaxOff
...
- \fontspec[Color=Foo]{Verdana} ...
+ \fontspec[Color=Foo]{Montserrat-Medium.otf} ...
\end{Verbatim}
-Color expressions (\verb+red!50!blue+) are not supported. The \pkg{color}
+Color expressions (like \verb+red!50!blue+) are not supported. The \pkg{color}
package is \emph{not} supported neither.
The code will at first test for color names of the L3 layer, then for xcolor
-names and at last try to use the argument as a hexadecimal value.
+names, and at last try to use the argument as a hexadecimal value.
You may specify the transparency with a named colour using the \feat{Opacity}
-feature which takes an decimal from zero to one corresponding to transparent
+feature, which takes an decimal from zero to one corresponding to transparent
to opaque respectively:
\begin{Verbatim}
- \fontspec[Color=red,Opacity=0.7]{Verdana} ...
+ \fontspec[Color=red,Opacity=0.7]{Montserrat-Medium.otf} ...
\end{Verbatim}
It is still possible to specify a colour in six-char hexadecimal form
while defining opacity in this way, if you like.
@@ -613,14 +613,14 @@ of font size. For example, something like:
In rare situations users may want to mechanically distort the shapes of the glyphs in the current font such as shown in \exref{fake}. Please don't overuse these features; they are \emph{not} a good alternative to having the real shapes.
\begin{Xexample}{fake}{Articifial font transformations.}
- \fontspec{Quattrocento-Regular.otf} \emph{ABCxyz} \quad
- \fontspec{Quattrocento-Regular.otf}[FakeSlant=0.2] ABCxyz
+ \fontspec{Quattrocento-Regular.ttf} \emph{ABCxyz} \quad
+ \fontspec{Quattrocento-Regular.ttf}[FakeSlant=0.2] ABCxyz
- \fontspec{Quattrocento-Regular.otf} ABCxyz \quad
- \fontspec{Quattrocento-Regular.otf}[FakeStretch=1.2] ABCxyz
+ \fontspec{Quattrocento-Regular.ttf} ABCxyz \quad
+ \fontspec{Quattrocento-Regular.ttf}[FakeStretch=1.2] ABCxyz
- \fontspec{Quattrocento-Regular.otf} \textbf{ABCxyz} \quad
- \fontspec{Quattrocento-Regular.otf}[FakeBold=1.5] ABCxyz
+ \fontspec{Quattrocento-Regular.ttf} \textbf{ABCxyz} \quad
+ \fontspec{Quattrocento-Regular.ttf}[FakeBold=1.5] ABCxyz
\end{Xexample}
If values are omitted, their defaults are as shown above.
@@ -644,10 +644,10 @@ shown in \exref{tracking}.
The letter spacing parameter is a normalised additive factor (not a scaling factor); it is defined as a percentage of the font size. That is, for a 10\,pt font, a letter spacing parameter of `|1.0|' will add 0.1\,pt between each letter.
\begin{Xexample}{tracking}{The \feat{LetterSpace} feature.}
- \fontspec{Didot}
+ \setmainfont{Ysabeau-Light.otf}
\addfontfeature{LetterSpace=0.0}
USE TRACKING FOR DISPLAY CAPS TEXT \\
- \addfontfeature{LetterSpace=2.0}
+ \addfontfeature{LetterSpace=3.0}
USE TRACKING FOR DISPLAY CAPS TEXT
\end{Xexample}
@@ -743,10 +743,10 @@ To select such an instance, the \feat{Instance} feature can be used:
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-fontsel.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-fontsel.tex
index aecd47e176..2f9e37d907 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-fontsel.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-fontsel.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-fontsel.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-fontsel.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -129,7 +129,7 @@ wish to have them all installed in your system's font directories.
In this case, it is more convenient to load them from a different location on your disk.
This technique is also necessary in \XeTeX\ when loading OpenType fonts that are present within your \TeX\ distribution, such as \path{/usr/local/texlive/2013/texmf-dist/fonts/opentype/public}.
Fonts in such locations are visible to \XeTeX\ but cannot be loaded by font name, only file name; \LuaTeX\ does not have this restriction.
-(If you for some reason want to restrict the fonts to the ones provided by your \TeX\ distribution even though you are using \LuaTeX\ you can use the \texttt{KpseOnly} option)
+(If you for some reason want to restrict the fonts to the ones provided by your \TeX\ distribution even though you are using \LuaTeX\ you can use the \DescribeOption{KpseOnly}\texttt{KpseOnly} option)
When selecting fonts by file name, any font that can be found in the default
search paths may be used directly (including in the current directory)
@@ -231,7 +231,7 @@ To continue the example above, here we colour the different faces:
\defaultfontfeatures[CharisSILR]{Color=blue}
\defaultfontfeatures[CharisSILB]{Color=red}
\end{Verbatim}
-Such configuration lines could be stored either inline inside \texttt{My Charis.fontspec}
+Such configuration lines could be stored either inline inside \texttt{MyCharis.fontspec}
or within their own \texttt{.fontspec} files; in this way, \pkg{fontspec} is designed to
handle `nested' configuration options.
@@ -336,14 +336,13 @@ A legacy \TeX\ font. {\unicodefont A unicode font.}
Sometimes only a specific font face is desired, without accompanying italic or bold variants
being automatically selected.
-This is common when selecting a fancy italic font, say, that has swash features unavailable
-in the upright forms. \cmd\newfontface\ is used for this purpose, shown
-in \exref{nfface}, which is repeated in \vref{sec:contextuals}.
+This is common when selecting a font for a very particular context within the document.
+For instance, say that a particular swash font is desired that isn't part of the document
+font setup. \cmd\newfontface\ could be used for this purpose, shown in \exref{nfface}.
\begin{Xexample}{nfface}{Defining a single font face.}
- \newfontface\fancy{Hoefler Text Italic}%
- [Contextuals={WordInitial,WordFinal}]
- \fancy where is all the vegemite
+ \newfontface\qedfont{EBGaramond-Regular.otf}[Style=Swash]
+ \qedfont QED
% \emph, \textbf, etc., all don't work
\end{Xexample}
@@ -366,21 +365,21 @@ in \exref{nfface}, which is repeated in \vref{sec:contextuals}.
The automatic bold, italic, and bold italic font selections will not be
adequate for the needs of every font: while some fonts mayn't even
have bold or italic shapes, in which case a skilled (or lucky)
-designer may be able to chose well-matching accompanying shapes from
+designer may be able to choose well-matching accompanying shapes from
a different font altogether, others can have a range of bold and
-italic fonts to chose among. The \feat{BoldFont} and
+italic fonts to choose among. The \feat{BoldFont} and
\feat{ItalicFont} features are provided for these situations. If only
one of these is used, the bold italic font is requested as the
default from the \emph{new} font. See \exref{bff}.
-\begin{Xexample}{bff}{Explicit selection of the bold font.}
- \fontspec{Helvetica Neue UltraLight}%
- [BoldFont={Helvetica Neue}]
- Helvetica Neue UltraLight \\
- {\itshape Helvetica Neue UltraLight Italic} \\
- {\bfseries Helvetica Neue } \\
- {\bfseries\itshape Helvetica Neue Italic} \\
-\end{Xexample}
+\begin{Lexample}{bff}{Explicit selection of the bold font.}
+ \setmainfont{Ysabeau-Hairline.otf}%
+ [BoldFont={Ysabeau-Thin.otf}]
+ Hairline \\
+ {\itshape Hairline Italic} \\
+ {\bfseries Thin } \\
+ {\bfseries\itshape Thin Italic} \\
+\end{Lexample}
If a bold italic shape is not defined, or you want to specify
\emph{both} custom bold and italic shapes, the \feat{BoldItalicFont}
@@ -429,7 +428,7 @@ Without these, however, the \LaTeX\ font switches for slanted (\cs{textsl}, \cs{
Swash font shapes in a family is supported by \LaTeX's commands \cs{textsw} and \cs{swshape}. These commands assume that swash shapes are in a sense `parallel' to italic shapes --- for instance, writing both \cs{swshape} and \cs{itshape} would not result in an italic swash shape (you would get whichever was declared last).
The \pkg{fontspec} package adopts this approach, while recognising that OpenType fonts in theory could have any crazy combination of shapes such as `italic swash small caps'.
-Attempting to support arbitrarily complex situations makes setup (and the code) more difficult with let's say infrequent benefit --- \pkg{fontspec}'s alternate feature selection mechanisms (such as verb|\addfontfeature{Style=Swash}|) can be used in such situations.
+Attempting to support arbitrarily complex situations makes setup (and the code) more difficult with let's say infrequent benefit --- \pkg{fontspec}'s alternate feature selection mechanisms (such as |\addfontfeature{Style=Swash}|) can be used in such situations.
Therefore, setup is quite simple:
\begin{Verbatim}
@@ -512,14 +511,14 @@ Conversely, a font face defined in terms of a non-standard font shape will not.
There are some standards for choosing shape and series codes; the \LaTeXe\ font selection guide\footnote{\texttt{texdoc fntguide}} has a comprehensive listing.
-The \feat{FontFace} command also interacts properly with the \feat{SizeFeatures} command as follows: (nonsense set of font selection choices)
+The \feat{FontFace} command also interacts properly with the \feat{SizeFeatures} command as follows:
\begin{Verbatim}
FontFace = {c}{n}{
- Font = Times ,
+ Font = lmsans10-oblique.otf ,
SizeFeatures = {
- { Size = -10 , Font = Georgia } ,
- { Size = 10-15} , % default "Font = Times"
- { Size = 15- , Font = Cochin } ,
+ { Size = -10 , Font = lmsans8-oblique.otf } ,
+ { Size = 10-15 } ,
+ { Size = 15- , Font = lmsans17-oblique.otf } ,
},
},
\end{Verbatim}
@@ -640,10 +639,10 @@ if it were a `naked' control sequence; \eg, `|M. \fontspec{...} N|' and
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-intro.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-intro.tex
index 07345d19d7..850b00b3e2 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-intro.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-intro.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-intro.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-intro.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -77,7 +77,10 @@ For basic use, no package options are required:
Package options will be introduced below; some preliminary details are discussed first.
Package options are setup with the in-built \LaTeX{} keyval options handler. This means
that the package can be loaded more than once with different options without triggering
-an option clash error. The \texttt{config} and \texttt{no-config} option must be used in
+an option clash error.
+\DescribeOption{config}
+\DescribeOption{no-config}
+The \texttt{config} and \texttt{no-config} option must be used in
the first loading and are ignored later.
\subsection{Font encodings}
@@ -86,6 +89,8 @@ The package switches the \textsc{nfss} font encoding to \texttt{TU}.
\texttt{TU} is a new Unicode font encoding, intended for both \XeTeX\ and \LuaTeX\ engines, and automatically contains support for symbols covered by \LaTeX's traditional \texttt{T1} and \texttt{TS1} font encodings (for example, |\%|, |\textbullet|, |\"u|, and so on).
Some additional features are provided by \pkg{fontspec} to customise some encoding details; see Part~\vref{part:enc} for further details.
+\DescribeOption{euenc}
+\DescribeOption{tuenc}
Pre-2017 behaviour is now obsolete. The \texttt{euenc} and \texttt{tuenc} package options are
ignored. Package authors and users who have referred explicitly to the encoding names \texttt{EU1} or \texttt{EU2} should update their code or documents.
(See internal variable names described in \vref{sec:api} for how to do this properly.)
@@ -95,7 +100,7 @@ ignored. Package authors and users who have referred explicitly to the encoding
By default, \pkg{fontspec} adjusts \LaTeX's default maths setup in order to maintain the correct Computer Modern symbols when the roman font changes.
However, it will attempt to avoid doing this if another maths font package is loaded (such as \pkg{mathpazo} or the \pkg{unicode-math} package).
-If you find that \pkg{fontspec} is incorrectly changing the maths font when it shouldn't be, apply the |no-math| package option to manually suppress its behaviour here.
+If you find that \pkg{fontspec} is incorrectly changing the maths font when it shouldn't be, apply the \DescribeOption{no-math} |no-math| package option to manually suppress its behaviour here.
\subsection{Configuration}
@@ -110,6 +115,7 @@ A |fontspec.cfg| file is distributed with \pkg{fontspec} with a small number of
To customise \pkg{fontspec} to your liking, use the standard |.cfg| file as a starting point or write your own from scratch, then either place it in the same folder as the main document for isolated cases, or in a location
that \XeTeX\ or \LuaTeX\ searches by default; \eg\ in Mac\TeX: \path{~/Library/texmf/tex/latex/}.
+\DescribeOption{no-config}
The package option |no-config| will suppress the loading of the |fontspec.cfg| file under all circumstances. Both options must be used the first time \pkg{fontspec} is loaded and are ignored in later calls.
@@ -117,13 +123,14 @@ The package option |no-config| will suppress the loading of the |fontspec.cfg| f
\label{sec:quiet-warnings}
This package can give some warnings that can be harmless if you know what
-you're doing. Use the |quiet| package option to write these warnings to the
+you're doing. Use the \DescribeOption{quiet} |quiet| package option to write these warnings to the
transcript (\texttt{.log}) file instead.
+\DescribeOption{silent}
Use the |silent| package option to completely suppress these warnings if you
don't even want the |.log| file cluttered up.
-Both options can also be used with \cs{Setkeys} in the document. Use the |verbose| option to get activate the warnings again.
+Both options can also be used with \cs{Setkeys} in the document. Use the \DescribeOption{verbose} |verbose| option to get activate the warnings again.
\section{Interaction with \LaTeXe\ and other packages}
@@ -184,10 +191,10 @@ An example for setting up a font family for use with \cs{strong} is discussed in
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-luatex.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-luatex.tex
index b08a89230e..314515a1f4 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-luatex.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-luatex.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-luatex.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-luatex.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -79,10 +79,10 @@ Please refer to the \LuaTeX/\pkg{luaotfload} documentation for more details.
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-opentype.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-opentype.tex
index 10bc9f0284..03deac27cb 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-opentype.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-opentype.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-opentype.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-opentype.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
@@ -213,7 +213,6 @@ Thanks to \name{Jonathan Kew}, \name{Yves Codet} and
\begin{Xexample}[firstline=14,lastline=23]{script-lang}{An example of various Scripts and Languages.}
\def\testfeature#1#2{%^^A
\fontspec{\examplefont}#2 & \fontspec[#1]{\examplefont}#2\\[1ex]}
-\def \examplefont{CODE2000.TTF}
\def \arabictext{العربي}
\def \devanagaritext{हिन्दी}
\def \bengalitext{লেখ}
@@ -224,6 +223,7 @@ Thanks to \name{Jonathan Kew}, \name{Yves Codet} and
\def \hebrewtext{רִדְתָּֽהּ}
\def \vietnamesetext{cấp số mỗi}
\begin{tabular}{r@{\quad}l}
+ \gdef\examplefont{CODE2000.TTF}
\testfeature{Script=Arabic}{\arabictext}
\testfeature{Script=Devanagari}{\devanagaritext}
\testfeature{Script=Bengali}{\bengalitext}
@@ -985,8 +985,8 @@ Coverage will vary by font; see \exref{ot-frac}.
Some (Asian fonts predominantly) also provide for the \opt{Alternate} option.
\begin{Lexample}{ot-frac}{The \feat{Fractions} feature.}
-\setsansfont{Lato}[Fractions=On]
-\setmonofont{IBM Plex Mono}[Fractions=On]
+\setsansfont{IBMPlexSans-Regular.otf}[Fractions=On]
+\setmonofont{IBMPlexMono-Regular.otf}[Fractions=On]
\sffamily 1/2 47/11 1/1000 \par
\ttfamily 1/2 47/11
@@ -1036,6 +1036,15 @@ will look. OpenType fonts may contain the following options:
\opt{SmallCaps}, \opt{PetiteCaps},
\opt{UppercaseSmallCaps}, \opt{UppercasePetiteCaps}, and
\opt{Unicase}.
+Additionally \opt{Uppercase} and \opt{Lowercase} are supported for all fonts
+in \LuaTeX.
+In contrast to earlier version, the \opt{Uppercase} and \opt{Lowercase} options
+turn the text into uppercase or lowercase and do not require the text to already
+have the right casing. The old behavior of \opt{Uppercase} is available with
+\verb|Style=Uppercase|. When the \opt{Uppercase} option is selected,
+\verb|Style=Uppercase| and \verb|Kerning=Uppercase| are automatically applied if
+supported by the font.
+
\begin{features}{Letters}
\otf*{SmallCaps}{smcp}
@@ -1043,6 +1052,8 @@ will look. OpenType fonts may contain the following options:
\otf*{UppercaseSmallCaps}{c2sc}
\otf*{UppercasePetiteCaps}{c2pc}
\otf*{Unicase}{unic}
+\otf*{Uppercase}{}
+\otf*{Lowercase}{}
\cmidrule{2-4}
\otf{ResetAll}{}
\end{features}
@@ -1058,9 +1069,11 @@ This difference is shown in \exref{caps}.
`Unicase' is a weird hybrid of upper and lower case letters.
\begin{Lexample}{caps}{Small caps from lowercase or uppercase letters.}
- \fontspec{texgyreadventor-regular.otf}[Letters=SmallCaps]
+ \fontspec{Coelac.otf}[Letters=SmallCaps]
+ THIS SENTENCE no verb \\
+ \fontspec{Coelac.otf}[Letters=UppercaseSmallCaps]
THIS SENTENCE no verb \\
- \fontspec{texgyreadventor-regular.otf}[Letters=UppercaseSmallCaps]
+ \fontspec{Coelac.otf}[Letters=PetiteCaps]
THIS SENTENCE no verb
\end{Lexample}
@@ -1196,7 +1209,7 @@ particular substitutions are organised with which feature largely up to the font
\begin{Xexample}[firstline=2]{style-alt}{Example of the \opt{Alternate} option of the \feat{Style} feature.}
\Large
- \fontspec{Quattrocento-Regular.otf}
+ \fontspec{Quattrocento-Regular.ttf}
M Q W \\
\addfontfeature{Style=Alternate}
M Q W
@@ -1208,7 +1221,7 @@ in \exref{style-uppercase}; note the raised position of the hyphen
to better match the surrounding letters.
It will (probably) not actually map letters to uppercase.
\note{If you want automatic uppercase letters, look to \LaTeX's
- \cmd\MakeUppercase\ command.}
+ \cmd\MakeUppercase\ command or, when using \LuaTeX, to the \feat{Letters} feature.}
This option used to be selected under the \feat{Letters} feature, but moved here
as it generally does not actually affect the letters themselves.
The \feat{Kerning} feature also contains an \opt{Uppercase} option,
@@ -1224,29 +1237,15 @@ which adds a small amount of spacing in between letters (see \vref{sec:kerning})
In other features, larger breadths of changes can be seen, covering
the style of an entire alphabet.
-See \exref{style-itrub}; here, the \opt{Italic} option affects the Latin text
-and the \opt{Ruby} option the Japanese.
-
-\begin{Xexample}[firstline=2]{style-itrub}{Example of the \opt{Italic} and \opt{Ruby} options of the \feat{Style} feature.}
+For instance, in some Japanese fonts features such as |Style=Italic| or |Style=Ruby|
+respectively change the style of all Latin characters to italic or all Hiragana characters to a darker optical shape:
+\begin{Verbatim}[firstline=2]
\Large \def\kana{ようこそ ワカヨタレソ}
\fontspec{Hiragino Mincho Pro}
Latin \kana \\
\addfontfeature{Style={Italic, Ruby}}
Latin \kana
-\end{Xexample}
-
-Note the difference here between the default and the horizontal style kana
-in \exref{style-hvkana}: the horizontal style is slightly wider.
-
-\begin{Xexample}[firstline=2]{style-hvkana}{Example of the \opt{HorizontalKana} and \opt{VerticalKana} options of the \feat{Style} feature.}
- \Large \def\kana{ようこそ ワカヨタレソ}
- \fontspec{Hiragino Mincho Pro}
- \kana \\
- {\addfontfeature{Style=HorizontalKana}
- \kana } \\
- {\addfontfeature{Style=VerticalKana}
- \kana }
-\end{Xexample}
+\end{Verbatim}
\subsubsection{Stylistic Set variations --- \texttt{ssNN}}
@@ -1340,16 +1339,15 @@ and Japanese typesetting.
Some fonts are equipped with an extensive range of
numbers and numerals in different forms. These are accessed with the
-\feat{Annotation} feature (OpenType feature |nalt|), selected numerically as shown in
-\exref{ot-annot}. Note that the indexing starts from zero.
-
-\begin{Xexample}{ot-annot}{Annotation forms for OpenType fonts.}
+\feat{Annotation} feature (OpenType feature |nalt|), selected numerically.
+Note that the indexing starts from zero.
+\begin{Verbatim}
\fontspec{Hiragino Maru Gothic Pro}
1 2 3 4 5 6 7 8 9
\def\x#1{\\{\addfontfeature{Annotation=#1}
1 2 3 4 5 6 7 8 9 }}
\x0\x1\x2\x3\x4\x5\x6\x7\x7\x8\x9
-\end{Xexample}
+\end{Verbatim}
\subsubsection{Character width}\label{sec:CharacterWidth}
@@ -1378,34 +1376,20 @@ latter case, there are also half-width forms for squeezing more kana
glyphs (which are less complex than the kanji they are amongst) into
a given block of space. The same features are given to roman letters
in Japanese fonts, for typesetting foreign words in the same style
-as the surrounding text.
+as the surrounding text. Example omitted until I find an open source
+font which supports these features.
+%\begin{Verbatim}
+% \def\texta{ようこそ}\def\textb{ワカヨタレソ}
+% \def\test{\makebox[2cm][l]{\texta}%
+% \makebox[2.5cm][l]{\textb}%
+% \makebox[2.5cm][l]{abcdef}}
+% \fontspec{Hiragino Mincho Pro}
+% {\addfontfeature{CharacterWidth=Proportional}\test}\\
+% {\addfontfeature{CharacterWidth=Full}\test}\\
+% {\addfontfeature{CharacterWidth=Half}\test}
+%\end{Verbatim}
-\begin{Xexample}[firstline=2]{charwdprop}{Proportional or fixed width forms.}
- \def\texta{ようこそ}\def\textb{ワカヨタレソ}
- \def\test{\makebox[2cm][l]{\texta}%
- \makebox[2.5cm][l]{\textb}%
- \makebox[2.5cm][l]{abcdef}}
- \fontspec{Hiragino Mincho Pro}
- {\addfontfeature{CharacterWidth=Proportional}\test}\\
- {\addfontfeature{CharacterWidth=Full}\test}\\
- {\addfontfeature{CharacterWidth=Half}\test}
-\end{Xexample}
-The same situation occurs with numbers, which are provided in
-increasingly illegible compressed forms seen in \exref{charwd}.
-
-\begin{Xexample}[firstline=2]{charwd}{Numbers can be compressed significantly.}
- \centering
- \fontspec[Renderer=AAT]{Hiragino Mincho Pro}
- {\addfontfeature{CharacterWidth=Full}
- ---12321---}\\
- {\addfontfeature{CharacterWidth=Half}
- ---1234554321---}\\
- {\addfontfeature{CharacterWidth=Third}
- ---123456787654321---}\\
- {\addfontfeature{CharacterWidth=Quarter}
- ---12345678900987654321---}
-\end{Xexample}
\subsubsection{CJK shape}
@@ -1429,14 +1413,12 @@ fonts support the following \feat{CJKShape} options:
\opt{JIS1990}, and \opt{Expert}. OpenType also supports the \opt{NLC} option.
\begin{Xexample}[firstline=2]{ot-cjk-shape}{Different standards for CJK ideograph presentation.}
- \LARGE\def\text{ 唖噛躯 妍并訝}
- \fontspec{Hiragino Mincho Pro}
+ \LARGE\def\text{\noindent 唖噛躯 妍并訝}
+ \fontspec{NotoSansJP-Regular.ttf}
{\addfontfeature{CJKShape=Traditional}
\text } \\
{\addfontfeature{CJKShape=NLC}
- \text } \\
- {\addfontfeature{CJKShape=Expert}
- \text }
+ \text }
\end{Xexample}
@@ -1465,10 +1447,10 @@ however; please get in touch if there are improvements that could be made.
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty b/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
index 751e7a150d..5bf5877bb7 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
@@ -5,8 +5,10 @@
\input{fontspec.dtx}
\ExplSyntaxOff
-\usepackage{fontspec,booktabs,caption,xcolor,flafter,fancyvrb,hologo,graphicx,
- url,varioref,varwidth,microtype,tocloft,framed,xparse,docmute}
+\usepackage{fontspec,booktabs,caption,
+xcolor,flafter,fancyvrb,hologo,
+graphicx,url,varioref,varwidth,
+microtype,framed,tocloft,xparse,docmute}
\let\FancyVerbSpace\verbvisiblespace
@@ -32,7 +34,7 @@
\newcommand\XeLaTeX{\hologo{XeLaTeX}}
\newcommand\LuaLaTeX{\hologo{LuaLaTeX}}
-% ToC formatting:
+% tocloft formatting:
\setlength\cftsubsecnumwidth{1.4\cftsubsecnumwidth}
%\def\@cfttocstart{\small\begin{multicols}{2}}
%\def\@cfttocfinish{\end{multicols}}
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-xetex.tex b/macros/unicodetex/latex/fontspec/fontspec-doc-xetex.tex
index 0033156971..6940f0c32b 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-doc-xetex.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-xetex.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-doc-xetex.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-doc-xetex.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass[a4paper]{l3doc}
\usepackage{fontspec-doc-style}
@@ -61,17 +61,15 @@ select the \opt{OpenType} renderer.}
\subsection{Vertical typesetting}
\XeTeX\ provides for vertical typesetting simply with the ability to rotate
-the individual glyphs as a font is used for typesetting, as shown in
-\exref{vert}.
-
-\begin{Xexample}[firstline=2]{vert}{Vertical typesetting.}
+the individual glyphs as a font is used for typesetting:
+\begin{Verbatim}
\def\verttext{共産主義者は}
\fontspec{Hiragino Mincho Pro}
\verttext
\fontspec{Hiragino Mincho Pro}[Renderer=AAT,Vertical=RotatedGlyphs]
\rotatebox{-90}{\verttext}% requires the graphicx package
-\end{Xexample}
+\end{Verbatim}
No actual provision is made for typesetting top-to-bottom
languages; for an example of how to do this, see the vertical Chinese
@@ -259,10 +257,10 @@ options: \opt{Off},
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec-example.tex b/macros/unicodetex/latex/fontspec/fontspec-example.tex
index bf2831b134..2da077d1d9 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-example.tex
+++ b/macros/unicodetex/latex/fontspec/fontspec-example.tex
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-example.tex -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-example.tex -- part of FONTSPEC <latex3.github.io/fontspec>
\documentclass{article}
diff --git a/macros/unicodetex/latex/fontspec/fontspec-lua.dtx b/macros/unicodetex/latex/fontspec/fontspec-lua.dtx
index 09e123a053..a49ea3fd4f 100644
--- a/macros/unicodetex/latex/fontspec/fontspec-lua.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec-lua.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec-lua.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec-lua.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%
% \section{Lua module}
%
@@ -87,10 +87,10 @@ end
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec.dtx b/macros/unicodetex/latex/fontspec/fontspec.dtx
index f73bb4edcb..4a9e99b18f 100644
--- a/macros/unicodetex/latex/fontspec/fontspec.dtx
+++ b/macros/unicodetex/latex/fontspec/fontspec.dtx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec.dtx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec.dtx -- part of FONTSPEC <latex3.github.io/fontspec>
%%^^A%% Metadata for the package, including files and versioning
% \section{Package declaration}
@@ -53,7 +53,7 @@
\textsc{Will Robertson}\\
With contributions by Khaled Hosny,\\
Philipp Gesang, Joseph Wright, and others.\\
- \url{http://wspr.io/fontspec/}
+ \url{http://latex3.github.io/fontspec/}
}
%</dtx>
% \end{macrocode}
@@ -70,7 +70,7 @@
\ProvidesExplFile{fontspec.dtx}
%</dtx>
%<*fontspec>
- {2024/02/13}{2.9a}{Font selection for XeLaTeX and LuaLaTeX}
+ {2024/05/11}{2.9e}{Font selection for XeLaTeX and LuaLaTeX}
%</fontspec>
% \end{macrocode}
%
@@ -89,8 +89,8 @@
%<lua>local fontspec = fontspec
%<lua>fontspec.module = {
%<lua> name = "fontspec",
-%<lua> version = "2.9a",
-%<lua> date = "2024/02/13",
+%<lua> version = "2.9e",
+%<lua> date = "2024/05/11",
%<lua> description = "Font selection for XeLaTeX and LuaLaTeX",
%<lua> author = "Khaled Hosny, Philipp Gesang, Will Robertson",
%<lua> copyright = "Khaled Hosny, Philipp Gesang, Will Robertson",
@@ -102,10 +102,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec.ins b/macros/unicodetex/latex/fontspec/fontspec.ins
index 00b43f9ee2..4793ff3d00 100644
--- a/macros/unicodetex/latex/fontspec/fontspec.ins
+++ b/macros/unicodetex/latex/fontspec/fontspec.ins
@@ -1,4 +1,4 @@
-%%^^A%% fontspec.ins -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec.ins -- part of FONTSPEC <latex3.github.io/fontspec>
\input fontspec.dtx\relax
\input l3docstrip.tex\relax
@@ -8,7 +8,7 @@
\let\MetaPrefix\relax
\preamble
------------------------------------------------
-The FONTSPEC package <wspr.io/fontspec>
+The FONTSPEC package <latex3.github.io/fontspec>
------------------------------------------------
Copyright 2004-2017 Will Robertson, LPPL "maintainer"
Copyright 2009-2013 Khaled Hosny
@@ -49,10 +49,10 @@ the conditions of the LaTeX Project Public License, version 1.3c or higher
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec.ltx b/macros/unicodetex/latex/fontspec/fontspec.ltx
index d6d2a2d642..edb6786c92 100644
--- a/macros/unicodetex/latex/fontspec/fontspec.ltx
+++ b/macros/unicodetex/latex/fontspec/fontspec.ltx
@@ -1,4 +1,4 @@
-%%^^A%% fontspec.ltx -- part of FONTSPEC <wspr.io/fontspec>
+%%^^A%% fontspec.ltx -- part of FONTSPEC <latex3.github.io/fontspec>
\ifdefined \XeTeXOTcountscripts \else \makeatletter
\@latex@error{^^J*** The fontspec documentation can only be typeset with `xelatex` ***\@gobble}\@ehc
@@ -26,10 +26,10 @@
% /©
% ------------------------------------------------
-% The FONTSPEC package <wspr.io/fontspec>
+% The FONTSPEC package <latex3.github.io/fontspec>
% ------------------------------------------------
-% Copyright 2022-2023 The LaTeX project
-% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
+% Copyright 2022-2024 The LaTeX project, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/macros/unicodetex/latex/fontspec/fontspec.pdf b/macros/unicodetex/latex/fontspec/fontspec.pdf
index 6fb58328d1..1f883d80f1 100644
--- a/macros/unicodetex/latex/fontspec/fontspec.pdf
+++ b/macros/unicodetex/latex/fontspec/fontspec.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.dtx b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
index 5a0f172040..90b0e949b1 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.dtx
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
@@ -112,7 +112,7 @@ To produce the documentation run the original source files ending with
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<*!(driver|install)>
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.4.0 2024-03-19 20:30:00
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.4.1 2024-04-22 00:30:00
%<+!driver> +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
%<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{njuthesis}
@@ -148,7 +148,7 @@ To produce the documentation run the original source files ending with
% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
%
-% \date{v1.4.0 \quad 2024-03-19}
+% \date{v1.4.1 \quad 2024-04-22}
%
% \changes{v0.1}{2021/09/04}{开始开发。}
% \changes{v0.2}{2021/09/07}{初步搭建了可用的模板。}
@@ -823,21 +823,31 @@ To produce the documentation run the original source files ending with
% 宏包的代码环境不会显示内容,具体效果需要参照各个宏包的说明文档。
% 如需抵消草稿模式的影响,请使用 \opt{final} 选项载入相关宏包。
%
-% \begin{function}[added=2022-04-19,updated=2022-09-26]{anonymous}
+% \begin{function}[added=2022-04-19,updated=2024-04-19]{anonymous}
% \begin{syntax}
-% \OPT{anonymous} = <\TFF>
+% <\OPT{anonymous}>
% \end{syntax}
% 是否开启盲审模式。
% \end{function}
%
% 盲审模式会抹除论文中的学校和个人信息,效果包括:
% \begin{itemize}
-% \item 不显示校名校徽图片
-% \item 不显示“南京大学”字样
-% \item 不显示作者、导师等基本信息
-% \item 不显示声明页、致谢页
+% \item 作者、导师姓名用 $\times\times\times$ 代替
+% \item 不显示学号,但保留年级
+% \item 不显示声明页
+% \item 致谢页仅显示书签
+% \item 成果列表仅显示刊名和年份
% \end{itemize}
%
+% 如果你想使用更严格的模式,可以参考 \ref{subsec:njusetup}~节的语法填写下面的选项。
+%
+% \begin{function}[added=2024-04-19]{anonymous-mode/no-nju}
+% \begin{syntax}
+% \OPT{no-nju} = <\TFF>
+% \end{syntax}
+% 是否隐藏学校信息。默认关闭。开启后会隐藏校名、校徽和学校代码。
+% \end{function}
+%
%
% \subsubsection{可选宏包}
% \label{subsubsec:optional-pkg}
@@ -1082,6 +1092,7 @@ To produce the documentation run the original source files ending with
%
%
% \subsection{设置接口}
+% \label{subsec:njusetup}
%
% \begin{function}[added=2021-09-10,updated=2022-08-01]{\njusetup}
% \begin{syntax}
@@ -2825,7 +2836,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\clist_const:Nn \c_@@_name_anon_clist
{
- author, chairman, email, grade, student-id, reviewer,
+ author, chairman, email, student-id, reviewer,
supervisor-contact, supervisor, supervisor-ii
}
\clist_const:Nn \c_@@_name_anon_en_clist
@@ -3928,9 +3939,11 @@ To produce the documentation run the original source files ending with
% \begin{macro}{anonymous}
% \changes{v0.18}{2022/04/19}{新增盲审模式选项。}
% \changes{v1.0}{2022/07/05}{重命名盲审模式选项。}
+% \changes{v1.4}{2024/04/19}{盲审模式选项不接受传入值。}
% \begin{macro}{\g_@@_opt_anon_bool}
% 盲审模式。
% \begin{macrocode}
+ anonymous .value_forbidden:n = true,
anonymous .bool_gset:N = \g_@@_opt_anon_bool,
anonymous .initial:n = false,
% \end{macrocode}
@@ -4112,25 +4125,18 @@ To produce the documentation run the original source files ending with
\ProcessKeysOptions { nju }
% \end{macrocode}
%
-% \changes{v1.1}{2022/09/26}{盲审模式下不显示声明页。}
-% 盲审模式下不显示声明页。
-% \begin{macrocode}
-\bool_if:NT \g_@@_opt_anon_bool
- { \bool_gset_false:N \g_@@_opt_decl_bool }
-% \end{macrocode}
-%
%
% \subsection{用户接口}
%
-% \begin{macro}{abstract, bib, image, footer, footnote, header,
-% info, label-sep, listoffigures, listoftables,
+% \begin{macro}{abstract, anonymous-mode, bib, image, footer,
+% footnote, header, info, label-sep, listoffigures, listoftables,
% math, style, theorem, tableofcontents}
% 定义模块名的元(meta)键值对。
% \begin{macrocode}
\clist_map_inline:nn
{
- abstract, bib, image, footer, footnote, header,
- info, label-sep, listoffigures, listoftables,
+ abstract, anonymous-mode, bib, image, footer, footnote,
+ header, info, label-sep, listoffigures, listoftables,
math, style, theorem, tableofcontents
}
{ \keys_define:nn { nju } { #1 .meta:nn = { nju / #1 } {##1} } }
@@ -4138,15 +4144,18 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{\@@_keys_set:nn}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@@_keys_set:nn \keys_set:nn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_keys_set_anon:nn}
% \changes{v1.1}{2022/09/26}{使用 \cs{keys_set_filter:nnn} 重构盲审模式。}
% 在开启盲审模式时,屏蔽被编入 \opt{anonymous} 分组的键值对输入。
% \begin{macrocode}
-\bool_if:NTF \g_@@_opt_anon_bool
- {
- \cs_new:Npn \@@_keys_set:nn #1#2
- { \keys_set_filter:nnn {#1} { anonymous } {#2} }
- }
- { \cs_new_eq:NN \@@_keys_set:nn \keys_set:nn }
+\cs_new:Npn \@@_keys_set_anon:nn #1#2
+ { \keys_set_filter:nnn {#1} { anonymous } {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -4357,7 +4366,7 @@ To produce the documentation run the original source files ending with
\sys_if_engine_xetex:T
{
\RequirePackage { xeCJKfntef }
- \NewDocumentCommand \njuline { m } { \CJKunderline{#1} }
+ \cs_new_eq:NN \njuline \CJKunderline
}
% \end{macrocode}
% \pkg{lua-ul} 中需要在结尾使用 \tn{null} 保护尾部空白。
@@ -4365,7 +4374,7 @@ To produce the documentation run the original source files ending with
\sys_if_engine_luatex:T
{
\RequirePackage { lua-ul }
- \NewDocumentCommand \njuline { m } { \underLine{#1} \@@_null: }
+ \NewDocumentCommand \njuline { m } { \underLine {#1} \@@_null: }
}
%</class>
% \end{macrocode}
@@ -4731,16 +4740,6 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% 盲审模式下抹去学校名称。
-% \begin{macrocode}
-%<*class>
-\bool_if:NT \g_@@_opt_anon_bool
- {
- \tl_clear:N \l_@@_name_nju_tl
- \tl_clear:N \l_@@_name_nju_en_tl
- }
-% \end{macrocode}
-%
%
% \subsection{字体设置}
%
@@ -4751,6 +4750,7 @@ To produce the documentation run the original source files ending with
% \begin{variable}{\c_@@_path_macoffice_tl}
% mac Office 字体路径。
% \begin{macrocode}
+%<*class>
\tl_const:Nn \c_@@_path_macoffice_tl
{ /Applications/Microsoft~ Word.app/Contents/Resources/DFonts/ }
% \end{macrocode}
@@ -4910,7 +4910,7 @@ To produce the documentation run the original source files ending with
\setCJKfamilyfont { zhhei } { SimHei } [#1]
\setCJKfamilyfont { zhfs } { FangSong } [#1]
\setCJKfamilyfont { zhkai } { KaiTi } [#1]
- \@@_stzhongs:n {#1}
+ \@@_define_stzhongs:nn { STZhongsong } {#1}
}
\cs_new:Npn \@@_loadfont_cjk_win:
{ \@@_loadfont_cjk_win:N \c_@@_name_fakebold_tl }
@@ -4953,7 +4953,7 @@ To produce the documentation run the original source files ending with
\setCJKfamilyfont { zhhei } { SimHei.ttf } [#1]
\setCJKfamilyfont { zhfs } { Fangsong.ttf } [#1]
\setCJKfamilyfont { zhkai } { Kaiti.ttf } [#1]
- \@@_stzhongs:nn { STZHONGS.ttf } {#1}
+ \@@_define_stzhongs:nn { STZHONGS.ttf } {#1}
}
\cs_new:Npn \@@_loadfont_cjk_macoffice:
{
@@ -5091,25 +5091,48 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_loadfont_stzhongs:,\@@_stzhongs:nn,\@@_stzhongs:n,\@@_stzhongs:}
+% \begin{variable}{\l_@@_name_stzhongsopts_tl}
+% 华文中宋的字体特性列表,默认为仅使用伪粗体。
+% \begin{macrocode}
+\tl_new:N \l_@@_name_stzhongsopts_tl
+\tl_set_eq:NN \l_@@_name_stzhongsopts_tl \c_@@_name_fakebold_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_define_stzhongs:nn}
% \changes{v1.2}{2023/04/30}{在研究生模板载入华文中宋。}
% \changes{v1.3}{2023/10/09}{可以手动指定华文中宋文件位置。}
% 研究生封面额外需要的华文中宋。
% \begin{macrocode}
-\cs_new:Npn \@@_stzhongs:nn #1#2
- { \newCJKfontfamily \@@_stzhongs: {#1} [#2] }
-\cs_new:Npn \@@_stzhongs:n { \@@_stzhongs:nn { 华文中宋 } }
-\cs_new_protected:Npn \@@_loadfont_stzhongs:
+\cs_new:Npn \@@_define_stzhongs:nn #1#2
{
- \cs_if_exist_use:NF \@@_stzhongs:
+ \tl_set:Nn \l_@@_name_stzhongsfile_tl {#1}
+ \tl_set:Nn \l_@@_name_stzhongsopts_tl {#2}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_loadfont_stzhongs:n}
+% \changes{v1.2}{2023/04/30}{在研究生模板载入华文中宋。}
+% \changes{v1.3}{2023/10/09}{可以手动指定华文中宋文件位置。}
+% \changes{v1.4}{2024/04/03}{调整载入华文中宋文件的逻辑。}
+% \begin{macro}{\@@_loadfont_stzhongs:V,\@@_loadfont_stzhongs:,\@@_stzhongs:}
+% 研究生封面额外需要的华文中宋。
+% \begin{macrocode}
+\cs_new:Npn \@@_loadfont_stzhongs:
+ { \@@_loadfont_stzhongs:V \l_@@_name_stzhongsfile_tl }
+\cs_new_protected:Npn \@@_loadfont_stzhongs:n #1
+ {
+ \fontspec_font_if_exist:nTF {#1}
{
- \fontspec_font_if_exist:nTF { 华文中宋 }
- { \@@_stzhongs:n { \c_@@_name_fakebold_tl } }
+ \newCJKfontfamily \@@_stzhongs: {#1}
+ [ \l_@@_name_stzhongsopts_tl ]
+ }
{
\bool_if:NTF \g_@@_font_path_bool
{
- \@@_stzhongs:nn { \l_@@_name_stzhongsfile_tl }
- { Path = \g_@@_font_path_tl, \c_@@_name_fakebold_tl }
+ \newCJKfontfamily \@@_stzhongs: {#1}
+ [ Path = \g_@@_font_path_tl, \c_@@_name_fakebold_tl ]
}
{
\cs_set_eq:NN \@@_stzhongs: \rmfamily
@@ -5117,9 +5140,10 @@ To produce the documentation run the original source files ending with
}
}
}
- }
+\cs_generate_variant:Nn \@@_loadfont_stzhongs:n { V }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
%
% \subsubsection{定义数学字库}
@@ -7728,11 +7752,6 @@ To produce the documentation run the original source files ending with
\msg_warning:nn { njuthesis } { missing-image }
\RequirePackage { njuvisual }
}
- \bool_if:NT \g_@@_opt_anon_bool
- {
- \RenewDocumentCommand \njuemblem { o m m } { }
- \RenewDocumentCommand \njuname { o m m } { }
- }
}
% \end{macrocode}
%
@@ -8168,44 +8187,92 @@ To produce the documentation run the original source files ending with
%
% \begin{environment}{preface}
% \begin{environment}{acknowledgement}
-% 单独制作的前言致谢页。
+% 单独制作的前言、致谢页。
% \begin{macrocode}
\NewDocumentEnvironment { preface } { +b }
{ \@@_chapter:V \l_@@_name_preface_tl #1 }
{ \cleardoublepage }
\NewDocumentEnvironment { acknowledgement } { +b }
- {
- \bool_if:NTF \g_@@_opt_anon_bool
- { \@@_bookmark_toc:V \l_@@_name_acknowledgementa_tl }
- { \@@_chapter:V \l_@@_name_acknowledgement_tl #1 }
- }
+ { \@@_acknowledgement:n {#1} }
{ \cleardoublepage }
% \end{macrocode}
% \end{environment}
% \end{environment}
%
+% \begin{macro}{\@@_acknowledgement:n}
+% 正常模式的致谢标题。
+% \begin{macrocode}
+\cs_new:Npn \@@_acknowledgement:n
+ { \@@_chapter:V \l_@@_name_acknowledgement_tl \use:n }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_acknowledgement_anon:n}
+% 盲审模式下仅显示致谢书签。
+% \begin{macrocode}
+\cs_new:Npn \@@_acknowledgement_anon:n
+ { \@@_bookmark_toc:V \l_@@_name_acknowledgementa_tl \use_none:n }
+% \end{macrocode}
+% \end{macro}
+%
%
% \subsection{成果列表}
%
-% \begin{macro}{\njupaperlist}
-% \changes{v0.10}{2021/09/29}{新增了成果列表页面。}
-% \changes{v0.14}{2021/12/20}{成果列表中可突出指定作者姓名及年份。}
-% \changes{v1.2}{2023/04/07}{修复成果列表与章末参考文献表的冲突。}
-% 成果列表。
+% \begin{macro}{\@@_anon_paperlist_setup:}
+% 创建一个仅包含刊名和年份的文献列表格式。
% \begin{macrocode}
-\NewDocumentCommand \njupaperlist
- { O { \l_@@_name_paperlist_tl } m }
+\cs_new:Npn \@@_anon_paperlist_setup:
+ {
+ \ctex_at_end_package:nn { biblatex }
+ {
+ \DeclareBibliographyDriver { anonymous }
+ {
+ \usebibmacro { begentry }
+ \usebibmacro { journal },~
+ \usebibmacro { date }
+ \usebibmacro { finentry }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_paperlist_anon:nn}
+% 生成盲审模式下的成果列表。
+% \begin{macrocode}
+\cs_new:Npn \@@_paperlist_anon:nn #1#2
+ {
+ \group_begin:
+ \newrefsection
+ \nocite {#2}
+ \printbiblist
+ [ title = #1, driver = anonymous, env = bibliography,
+ heading = subbibliography ] { anonymous }
+ \endrefsection
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\@@_paperlist:nn}
+% 生成普通模式下的成果列表。
+% \begin{macrocode}
+\cs_new:Npn \@@_paperlist:nn #1#2
{
\group_begin:
% \end{macrocode}
% 修改姓名的显示方式,使被注解的姓名可被加粗下划线表示。
+% 由于 \pkg{biblatex} 提供的 \tn{MakeCapital} 是一个 robust 命令,
+% 在绘制下划线过程中无法被完全展开,我们将其替换为
+% 可被展开的 \cs{str_uppercase:f} 以避免造成错误。
% \begin{macrocode}
+ \cs_set_eq:NN \MakeCapital \str_uppercase:f
\RenewDocumentCommand \mkbibnamegiven { m }
{ \ifitemannotation { thesisauthor }
- { \njuline { \bf ##1 } } {##1} }
+ { \bfseries \njuline {##1} } {##1} }
\RenewDocumentCommand \mkbibnamefamily { m }
{ \ifitemannotation { thesisauthor }
- { \njuline { \bf ##1 } } {##1} }
+ { \bfseries \njuline {##1} } {##1} }
% \end{macrocode}
% 修改年份的显示方式,默认进行加粗。
% \begin{macrocode}
@@ -8225,6 +8292,83 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\njupaperlist}
+% \changes{v0.10}{2021/09/29}{新增了成果列表页面。}
+% \changes{v0.14}{2021/12/20}{成果列表中可突出指定作者姓名及年份。}
+% \changes{v1.2}{2023/04/07}{修复成果列表与章末参考文献表的冲突。}
+% \changes{v1.4}{2024/03/21}{修复成果列表中文姓名加粗的问题。}
+% \changes{v1.4}{2024/04/15}{盲审模式下成果列表只显示期刊和年份。}
+% 成果列表。
+% \begin{macrocode}
+\NewDocumentCommand \njupaperlist
+ { O { \l_@@_name_paperlist_tl } m } { \@@_paperlist:nn {#1} {#2} }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{盲审模式}
+% \changes{v1.4}{2024/04/19}{合并盲审模式设置。}
+%
+% \begin{macro}{anonymous-mode/no-nju}
+% \changes{v1.4}{2024/04/19}{盲审模式下可选择是否隐藏学校信息。}
+% \begin{macrocode}
+\keys_define:nn { nju / anonymous-mode }
+ {
+ no-nju .bool_gset:N = \g_@@_opt_nonju_bool,
+ no-nju .initial:n = false
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\bool_if:NT \g_@@_opt_anon_bool
+ {
+% \end{macrocode}
+% \changes{v1.1}{2022/09/26}{盲审模式下不显示声明页。}
+% 盲审模式下不显示声明页。
+% \begin{macrocode}
+ \bool_gset_false:N \g_@@_opt_decl_bool
+% \end{macrocode}
+% \changes{v1.4}{2024/04/15}{盲审模式下姓名使用占位符。}
+% 盲审模式下作者和导师姓名用 $\times\times\times$ 代替。
+% \begin{macrocode}
+ \keys_set:nn { nju / info }
+ {
+ author = \@@_name:n { anonymous a },
+ author* = \@@_name:n { anonymous a },
+ supervisor =
+ { \@@_name:n { anonymous a }, \@@_name:n { anonymous b } },
+ supervisor* =
+ { \@@_name:n { anonymous c } \@@_quad: \@@_name:n { anonymous a } },
+ supervisor-ii = ,
+ supervisor-ii* =
+ }
+% \end{macrocode}
+% 替换为匿名版本的命令。
+% \begin{macrocode}
+ \@@_anon_paperlist_setup:
+ \cs_gset_eq:NN \@@_paperlist:nn \@@_paperlist_anon:nn
+ \cs_gset_eq:NN \@@_keys_set:nn \@@_keys_set_anon:nn
+ \cs_gset_eq:NN \@@_acknowledgement:n \@@_acknowledgement_anon:n
+ }
+% \end{macrocode}
+%
+% 开启 \opt{no-nju} 模式时,清除校名、校徽以及学校代码。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \bool_lazy_and:nnT
+ { \g_@@_opt_anon_bool } { \g_@@_opt_nonju_bool }
+ {
+ \tl_clear:N \l_@@_name_nju_tl
+ \tl_clear:N \l_@@_name_nju_en_tl
+ \tl_gclear:N \g_@@_info_code_tl
+ \RenewDocumentCommand \njuemblem { o m m } { }
+ \RenewDocumentCommand \njuname { o m m } { }
+ }
+ }
+% \end{macrocode}
+%
%
% \subsection{符号表}
%
@@ -8323,6 +8467,9 @@ To produce the documentation run the original source files ending with
{
{ acknowledgement } { 致 \qquad{} 谢 },
{ acknowledgement a } { 致谢(盲审阶段,暂时隐去) },
+ { anonymous a } { \ensuremath { \times\times\times } },
+ { anonymous b } { \ensuremath { \times\times\times } },
+ { anonymous c } { \ensuremath { \times\times\times } },
%<def-g> { auth decl } { 学位论文出版授权书 },
%<def-p> { auth decl } { 研究报告使用授权书 },
%<def-p> { author } { 作者 },
@@ -8397,7 +8544,7 @@ To produce the documentation run the original source files ending with
%<def-g> { sign } { (签字) },
%<def-g> { sign a } { 研究生签名 },
%<def-g> { sign b } { 导师签名 },
-%<def-g> { stzhongs file } { STZHONGS.TTF },
+%<def-g> { stzhongs file } { STZhongsong },
%<def-u> { submit date } { 提交日期 },
%<def-g> { submit date } { 论文提交日期 },
%<def-p> { submit date } { 完成日期 },
@@ -8461,7 +8608,11 @@ To produce the documentation run the original source files ending with
{ blankdate } { \qquad{}年 \quad{}月 \quad{}日 } { },
{ blankdate a } { \njuline{\qquad\qquad} 年
\njuline{\qquad} 月 \njuline{\qquad} 日 } { },
- { colon } { : } { : \c_space_tl },
+% \end{macrocode}
+% \changes{v1.4}{2024/04/03}{修复 \hologo{LuaLaTeX} 下的摘要页多余换行。}
+% 这里加入伸缩量,是因为 \hologo{LuaLaTeX} 下全角冒号的宽度并不能被正确识别。
+% \begin{macrocode}
+ { colon } { :\hskip 0pt minus .4em } { : \c_space_tl },
%<def-u|def-g> { dept } { 院系 } { DEPARTMENT },
{ figure } { 图 } { figure },
{ keywords } { 关键词 } { KEYWORDS },
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.pdf b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
index f7bec4075f..d6a658a1d7 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.pdf
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
Binary files differ